diff --git a/src/Actions.ts b/src/Actions.ts index 84c2546..0b9a495 100644 --- a/src/Actions.ts +++ b/src/Actions.ts @@ -197,7 +197,7 @@ namespace Actions { } column.setWidth(newWidth, true); - desktop.scrollCenterVisible(column, false); + desktop.scrollCenterVisible(column); desktop.onLayoutChanged(); desktop.autoAdjustScroll(); }); @@ -246,7 +246,7 @@ namespace Actions { } column.setWidth(newWidth, true); - desktop.scrollCenterVisible(column, true); + desktop.scrollCenterVisible(column); desktop.onLayoutChanged(); desktop.autoAdjustScroll(); }); diff --git a/src/layout/Desktop.ts b/src/layout/Desktop.ts index 2307bcf..0a00b35 100644 --- a/src/layout/Desktop.ts +++ b/src/layout/Desktop.ts @@ -78,13 +78,10 @@ class Desktop { this.adjustScroll(Math.round(windowCenter - screenCenter), false); } - public scrollCenterVisible(focusedColumn: Column, prioritiseVisible: boolean) { + public scrollCenterVisible(focusedColumn: Column) { const columnRange = new Desktop.ColumnRange(focusedColumn); const visibleRange = this.getCurrentVisibleRange(); - if (prioritiseVisible) { - columnRange.addNeighbors(visibleRange, this.grid.config.gapsInnerHorizontal, column => column.isVisible(visibleRange, true)); - } - columnRange.addNeighbors(visibleRange, this.grid.config.gapsInnerHorizontal, () => true); + columnRange.addNeighbors(visibleRange, this.grid.config.gapsInnerHorizontal); this.scrollCenterRange(columnRange); } @@ -242,17 +239,15 @@ namespace Desktop { this.width = initialColumn.getWidth(); } - public addNeighbors(visibleRange: Desktop.Range, gap: number, condition: (column: Column) => boolean) { + public addNeighbors(visibleRange: Desktop.Range, gap: number) { const grid = this.left.grid; const columnRange = this; function canFit(column: Column) { - return columnRange.width + gap + column.getWidth() <= visibleRange.getWidth() + return columnRange.width + gap + column.getWidth() <= visibleRange.getWidth(); } function isUsable(column: Column|null) { - return column !== null && - canFit(column) && - condition(column) + return column !== null && canFit(column); } let leftColumn = grid.getPrevColumn(this.left); diff --git a/src/layout/ScrollerGrouped.ts b/src/layout/ScrollerGrouped.ts index f43bb2d..41bac03 100644 --- a/src/layout/ScrollerGrouped.ts +++ b/src/layout/ScrollerGrouped.ts @@ -1,6 +1,6 @@ class ScrollerGrouped { public scrollToColumn(desktop: Desktop, column: Column) { - desktop.scrollCenterVisible(column, true); + desktop.scrollCenterVisible(column); } public clampScrollX(desktop: Desktop, x: number) {