Skip to content

Commit d1a6c06

Browse files
authored
Fix(Regions): region can't be dragged when setting minLength (#4202)
* Fix(Regions): region can't be dragged when setting minLength * chore: comment grammar
1 parent dfc6833 commit d1a6c06

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

src/plugins/regions.ts

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -295,12 +295,14 @@ class SingleRegion extends EventEmitter<RegionEvents> implements Region {
295295
const deltaSeconds = (dx / width) * this.totalDuration
296296
let newStart = !side || side === 'start' ? this.start + deltaSeconds : this.start
297297
let newEnd = !side || side === 'end' ? this.end + deltaSeconds : this.end
298-
299-
if (this.updatingSide && this.updatingSide !== side && startTime !== undefined) {
300-
if (this.updatingSide === 'start') {
301-
newStart = startTime
302-
} else {
303-
newEnd = startTime
298+
const isRegionCreating = startTime !== undefined // startTime is passed when the region is being created.
299+
if (isRegionCreating) {
300+
if (this.updatingSide && this.updatingSide !== side) {
301+
if (this.updatingSide === 'start') {
302+
newStart = startTime
303+
} else {
304+
newEnd = startTime
305+
}
304306
}
305307
}
306308

@@ -309,8 +311,8 @@ class SingleRegion extends EventEmitter<RegionEvents> implements Region {
309311
const length = newEnd - newStart
310312

311313
this.updatingSide = side
312-
313-
if (newStart <= newEnd && length >= this.minLength && length <= this.maxLength) {
314+
const resizeValid = length >= this.minLength && length <= this.maxLength
315+
if (newStart <= newEnd && (resizeValid || isRegionCreating)) {
314316
this.start = newStart
315317
this.end = newEnd
316318

0 commit comments

Comments
 (0)