Skip to content

Commit b36e64d

Browse files
authored
Fix EQMS-1630: Separator resize logic (#9662)
Signed-off-by: Alexander Platov <[email protected]>
1 parent 8d9c84b commit b36e64d

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

packages/ui/src/components/Separator.svelte

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -570,17 +570,18 @@
570570
.filter((separ) => separ.float !== undefined && !hasSep.includes(separ.float))
571571
.map((separ) => separ.float)
572572
const reverseSep = [...separators].reverse()
573-
let ind: number = 0
574573
reverseSep.forEach((separ, i) => {
575574
const pass = excluded.includes(separ.float)
576575
if (diff > 0 && !pass && separators != null) {
577-
const box = rects.get(reverseSep.length - ind - 1)
576+
const originalIndex = separators.length - 1 - i
577+
const box = rects.get(originalIndex - excluded.filter((_, idx) => idx <= originalIndex).length)
578578
if (box != null) {
579579
const minSize: number = remToPx(separ.minSize === 'auto' ? 20 : separ.minSize)
580-
const forCrop = box.size - minSize
581-
if (forCrop > 0) {
582-
const newSize = forCrop - diff < 0 ? minSize : box.size - diff
583-
diff -= forCrop
580+
const availableForCrop = box.size - minSize
581+
if (availableForCrop > 0) {
582+
const actualCrop = Math.min(diff, availableForCrop)
583+
const newSize = box.size - actualCrop
584+
diff -= actualCrop
584585
if (separ.maxSize !== 'auto') {
585586
if (direction === 'horizontal') {
586587
box.element.style.width = `${newSize}px`
@@ -592,10 +593,9 @@
592593
box.element.style.maxHeight = `${newSize}px`
593594
}
594595
}
595-
separators[separators.length - i - 1].size = newSize
596+
separators[originalIndex].size = pxToRem(newSize)
596597
}
597598
}
598-
ind++
599599
}
600600
})
601601
}

0 commit comments

Comments
 (0)