handsontable 0.0.0-next-200799f-20240311 → 0.0.0-next-bff5041-20240315
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of handsontable might be problematic. Click here for more details.
- package/3rdparty/walkontable/src/calculator/viewportColumns.js +12 -17
- package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +12 -17
- package/3rdparty/walkontable/src/calculator/viewportRows.js +10 -15
- package/3rdparty/walkontable/src/calculator/viewportRows.mjs +10 -15
- package/3rdparty/walkontable/src/cell/coords.js +12 -17
- package/3rdparty/walkontable/src/cell/coords.mjs +12 -17
- package/3rdparty/walkontable/src/cell/range.d.ts +0 -1
- package/3rdparty/walkontable/src/cell/range.js +23 -45
- package/3rdparty/walkontable/src/cell/range.mjs +23 -45
- package/3rdparty/walkontable/src/core/_base.js +1 -1
- package/3rdparty/walkontable/src/core/_base.mjs +1 -1
- package/3rdparty/walkontable/src/event.js +72 -104
- package/3rdparty/walkontable/src/event.mjs +72 -104
- package/3rdparty/walkontable/src/overlays.js +1 -1
- package/3rdparty/walkontable/src/overlays.mjs +1 -1
- package/3rdparty/walkontable/src/scroll.js +15 -17
- package/3rdparty/walkontable/src/scroll.mjs +15 -17
- package/3rdparty/walkontable/src/selection/manager.js +48 -69
- package/3rdparty/walkontable/src/selection/manager.mjs +48 -69
- package/3rdparty/walkontable/src/selection/scanner.js +33 -42
- package/3rdparty/walkontable/src/selection/scanner.mjs +33 -42
- package/3rdparty/walkontable/src/utils/columnStretching.js +27 -44
- package/3rdparty/walkontable/src/utils/columnStretching.mjs +27 -44
- package/3rdparty/walkontable/src/utils/orderView/view.js +1 -1
- package/3rdparty/walkontable/src/utils/orderView/view.mjs +1 -1
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/core/viewportScroll/index.js +1 -4
- package/core/viewportScroll/index.mjs +1 -4
- package/core.d.ts +3 -4
- package/core.js +22 -79
- package/core.mjs +22 -79
- package/dataMap/dataSource.js +1 -1
- package/dataMap/dataSource.mjs +1 -1
- package/dataMap/metaManager/metaLayers/cellMeta.js +1 -1
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +1 -1
- package/dataMap/replaceData.js +1 -1
- package/dataMap/replaceData.mjs +1 -1
- package/dist/handsontable.css +2 -2
- package/dist/handsontable.full.css +2 -2
- package/dist/handsontable.full.js +7620 -10327
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +277 -277
- package/dist/handsontable.js +5525 -7779
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +33 -33
- package/dist/languages/all.min.js +1 -1
- package/dist/languages/ar-AR.min.js +1 -1
- package/dist/languages/cs-CZ.min.js +1 -1
- package/dist/languages/de-CH.min.js +1 -1
- package/dist/languages/de-DE.min.js +1 -1
- package/dist/languages/en-US.min.js +1 -1
- package/dist/languages/es-MX.min.js +1 -1
- package/dist/languages/fr-FR.min.js +1 -1
- package/dist/languages/hr-HR.min.js +1 -1
- package/dist/languages/it-IT.min.js +1 -1
- package/dist/languages/ja-JP.min.js +1 -1
- package/dist/languages/ko-KR.min.js +1 -1
- package/dist/languages/lv-LV.min.js +1 -1
- package/dist/languages/nb-NO.min.js +1 -1
- package/dist/languages/nl-NL.min.js +1 -1
- package/dist/languages/pl-PL.min.js +1 -1
- package/dist/languages/pt-BR.min.js +1 -1
- package/dist/languages/ru-RU.min.js +1 -1
- package/dist/languages/sr-SP.min.js +1 -1
- package/dist/languages/zh-CN.min.js +1 -1
- package/dist/languages/zh-TW.min.js +1 -1
- package/editorManager.js +21 -27
- package/editorManager.mjs +21 -27
- package/editors/autocompleteEditor/autocompleteEditor.js +6 -10
- package/editors/autocompleteEditor/autocompleteEditor.mjs +6 -10
- package/eventManager.js +1 -1
- package/eventManager.mjs +1 -1
- package/focusManager.js +58 -82
- package/focusManager.mjs +58 -82
- package/helpers/dom/element.js +1 -1
- package/helpers/dom/element.mjs +1 -1
- package/helpers/mixed.js +1 -1
- package/helpers/mixed.mjs +1 -1
- package/helpers/object.js +2 -2
- package/helpers/object.mjs +2 -2
- package/index.d.ts +10 -0
- package/package.json +2 -1
- package/pluginHooks.d.ts +0 -4
- package/pluginHooks.js +2 -44
- package/pluginHooks.mjs +2 -44
- package/plugins/autoColumnSize/autoColumnSize.js +49 -65
- package/plugins/autoColumnSize/autoColumnSize.mjs +49 -65
- package/plugins/autoRowSize/autoRowSize.js +28 -34
- package/plugins/autoRowSize/autoRowSize.mjs +28 -34
- package/plugins/autofill/autofill.js +30 -38
- package/plugins/autofill/autofill.mjs +30 -38
- package/plugins/base/base.js +12 -17
- package/plugins/base/base.mjs +12 -17
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +5 -5
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +5 -5
- package/plugins/collapsibleColumns/collapsibleColumns.js +36 -54
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +36 -54
- package/plugins/columnSorting/columnSorting.js +40 -46
- package/plugins/columnSorting/columnSorting.mjs +40 -46
- package/plugins/columnSummary/columnSummary.js +22 -26
- package/plugins/columnSummary/columnSummary.mjs +22 -26
- package/plugins/comments/comments.js +116 -158
- package/plugins/comments/comments.mjs +116 -158
- package/plugins/contextMenu/contextMenu.js +20 -26
- package/plugins/contextMenu/contextMenu.mjs +20 -26
- package/plugins/contextMenu/itemsFactory.js +1 -1
- package/plugins/contextMenu/itemsFactory.mjs +1 -1
- package/plugins/contextMenu/menu/defaultShortcutsList.js +10 -26
- package/plugins/contextMenu/menu/defaultShortcutsList.mjs +10 -26
- package/plugins/contextMenu/menu/menu.js +13 -21
- package/plugins/contextMenu/menu/menu.mjs +13 -21
- package/plugins/contextMenu/menu/positioner.js +41 -58
- package/plugins/contextMenu/menu/positioner.mjs +41 -58
- package/plugins/copyPaste/copyPaste.js +113 -154
- package/plugins/copyPaste/copyPaste.mjs +113 -154
- package/plugins/copyPaste/copyableRanges.js +43 -66
- package/plugins/copyPaste/copyableRanges.mjs +43 -66
- package/plugins/customBorders/customBorders.js +11 -13
- package/plugins/customBorders/customBorders.mjs +11 -13
- package/plugins/dragToScroll/dragToScroll.js +6 -6
- package/plugins/dragToScroll/dragToScroll.mjs +6 -6
- package/plugins/dropdownMenu/dropdownMenu.js +78 -100
- package/plugins/dropdownMenu/dropdownMenu.mjs +78 -100
- package/plugins/exportFile/dataProvider.js +1 -1
- package/plugins/exportFile/dataProvider.mjs +1 -1
- package/plugins/filters/component/actionBar.js +9 -9
- package/plugins/filters/component/actionBar.mjs +8 -8
- package/plugins/filters/component/condition.js +13 -15
- package/plugins/filters/component/condition.mjs +13 -15
- package/plugins/filters/component/operators.js +6 -6
- package/plugins/filters/component/operators.mjs +6 -6
- package/plugins/filters/component/value.js +24 -28
- package/plugins/filters/component/value.mjs +24 -28
- package/plugins/filters/conditionUpdateObserver.js +22 -24
- package/plugins/filters/conditionUpdateObserver.mjs +22 -24
- package/plugins/filters/dataFilter.js +1 -1
- package/plugins/filters/dataFilter.mjs +1 -1
- package/plugins/filters/filters.js +81 -95
- package/plugins/filters/filters.mjs +81 -95
- package/plugins/filters/ui/input.js +13 -19
- package/plugins/filters/ui/input.mjs +13 -19
- package/plugins/filters/ui/link.js +8 -13
- package/plugins/filters/ui/link.mjs +8 -13
- package/plugins/filters/ui/multipleSelect.js +85 -112
- package/plugins/filters/ui/multipleSelect.mjs +85 -112
- package/plugins/filters/ui/radioInput.js +12 -20
- package/plugins/filters/ui/radioInput.mjs +12 -20
- package/plugins/filters/ui/select.js +50 -72
- package/plugins/filters/ui/select.mjs +49 -71
- package/plugins/formulas/formulas.js +268 -326
- package/plugins/formulas/formulas.mjs +269 -327
- package/plugins/formulas/indexSyncer/axisSyncer.js +38 -61
- package/plugins/formulas/indexSyncer/axisSyncer.mjs +38 -61
- package/plugins/formulas/indexSyncer/index.js +25 -48
- package/plugins/formulas/indexSyncer/index.mjs +25 -48
- package/plugins/hiddenColumns/hiddenColumns.js +64 -83
- package/plugins/hiddenColumns/hiddenColumns.mjs +64 -83
- package/plugins/hiddenRows/hiddenRows.js +63 -82
- package/plugins/hiddenRows/hiddenRows.mjs +63 -82
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +24 -32
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +25 -33
- package/plugins/manualColumnMove/manualColumnMove.js +126 -170
- package/plugins/manualColumnMove/manualColumnMove.mjs +126 -170
- package/plugins/manualColumnResize/manualColumnResize.js +169 -230
- package/plugins/manualColumnResize/manualColumnResize.mjs +169 -230
- package/plugins/manualRowMove/manualRowMove.js +99 -128
- package/plugins/manualRowMove/manualRowMove.mjs +99 -128
- package/plugins/manualRowResize/manualRowResize.js +150 -209
- package/plugins/manualRowResize/manualRowResize.mjs +150 -209
- package/plugins/mergeCells/calculations/selection.js +71 -2
- package/plugins/mergeCells/calculations/selection.mjs +71 -2
- package/plugins/mergeCells/cellsCollection.js +1 -117
- package/plugins/mergeCells/cellsCollection.mjs +1 -117
- package/plugins/mergeCells/contextMenuItem/toggleMerge.js +1 -11
- package/plugins/mergeCells/contextMenuItem/toggleMerge.mjs +1 -11
- package/plugins/mergeCells/mergeCells.js +355 -595
- package/plugins/mergeCells/mergeCells.mjs +355 -595
- package/plugins/multiColumnSorting/multiColumnSorting.js +0 -6
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +0 -6
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +1 -1
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +1 -1
- package/plugins/nestedHeaders/nestedHeaders.js +204 -254
- package/plugins/nestedHeaders/nestedHeaders.mjs +205 -255
- package/plugins/nestedHeaders/stateManager/headersTree.js +21 -32
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +21 -32
- package/plugins/nestedHeaders/stateManager/index.js +30 -41
- package/plugins/nestedHeaders/stateManager/index.mjs +30 -41
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +19 -30
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +19 -30
- package/plugins/nestedRows/data/dataManager.js +1 -1
- package/plugins/nestedRows/data/dataManager.mjs +1 -1
- package/plugins/nestedRows/nestedRows.js +138 -179
- package/plugins/nestedRows/nestedRows.mjs +139 -180
- package/plugins/nestedRows/ui/contextMenu.js +11 -15
- package/plugins/nestedRows/ui/contextMenu.mjs +10 -14
- package/plugins/nestedRows/utils/rowMoveController.js +1 -1
- package/plugins/nestedRows/utils/rowMoveController.mjs +1 -1
- package/plugins/persistentState/storage.js +2 -2
- package/plugins/persistentState/storage.mjs +2 -2
- package/plugins/search/search.js +7 -7
- package/plugins/search/search.mjs +7 -7
- package/plugins/touchScroll/touchScroll.js +15 -19
- package/plugins/touchScroll/touchScroll.mjs +16 -20
- package/plugins/trimRows/trimRows.js +6 -6
- package/plugins/trimRows/trimRows.mjs +6 -6
- package/renderers/checkboxRenderer/checkboxRenderer.js +4 -4
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +4 -4
- package/selection/highlight/highlight.js +14 -14
- package/selection/highlight/highlight.mjs +13 -13
- package/selection/highlight/visualSelection.js +2 -16
- package/selection/highlight/visualSelection.mjs +2 -16
- package/selection/selection.js +60 -252
- package/selection/selection.mjs +59 -251
- package/selection/transformation.js +101 -175
- package/selection/transformation.mjs +101 -175
- package/shortcutContexts/commands/editor/closeAndSave.js +2 -2
- package/shortcutContexts/commands/editor/closeAndSave.mjs +2 -2
- package/shortcutContexts/commands/editor/open.js +3 -18
- package/shortcutContexts/commands/editor/open.mjs +3 -18
- package/shortcutContexts/commands/extendCellsSelection/down.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/down.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/left.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/left.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/right.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/right.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toColumns.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +1 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +1 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +3 -9
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +3 -9
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +3 -10
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +3 -10
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +1 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +1 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +1 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +1 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +1 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +1 -3
- package/shortcutContexts/commands/extendCellsSelection/toRows.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/up.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/up.mjs +1 -1
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +1 -6
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +1 -6
- package/shortcutContexts/commands/moveCellSelection/inlineStart.js +1 -6
- package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +1 -6
- package/shortcutContexts/grid.js +2 -2
- package/shortcutContexts/grid.mjs +2 -2
- package/shortcuts/context.js +1 -2
- package/shortcuts/context.mjs +1 -2
- package/tableView.js +52 -98
- package/tableView.mjs +52 -98
- package/translations/changesObservable/observable.js +21 -38
- package/translations/changesObservable/observable.mjs +21 -38
- package/translations/changesObservable/observer.js +7 -12
- package/translations/changesObservable/observer.mjs +6 -11
- package/translations/mapCollections/aggregatedCollection.js +1 -1
- package/translations/mapCollections/aggregatedCollection.mjs +1 -1
- package/translations/maps/indexMap.js +1 -1
- package/translations/maps/indexMap.mjs +1 -1
- package/utils/dataStructures/linkedList.js +1 -6
- package/utils/dataStructures/linkedList.mjs +1 -6
- package/utils/dataStructures/tree.js +1 -1
- package/utils/dataStructures/tree.mjs +1 -1
- package/utils/interval.js +26 -44
- package/utils/interval.mjs +26 -44
- package/core/viewportScroll/scrollStrategies/focusScroll.js +0 -15
- package/core/viewportScroll/scrollStrategies/focusScroll.mjs +0 -11
- package/plugins/mergeCells/focusOrder.js +0 -258
- package/plugins/mergeCells/focusOrder.mjs +0 -253
@@ -6,7 +6,7 @@ function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollect
|
|
6
6
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
7
7
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
8
8
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
9
|
-
function
|
9
|
+
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
10
10
|
import { createHighlight as createActiveHighlight } from "./types/activeHeader.mjs";
|
11
11
|
import { createHighlight as createAreaLayeredHighlight } from "./types/areaLayered.mjs";
|
12
12
|
import { createHighlight as createAreaHighlight } from "./types/area.mjs";
|
@@ -35,7 +35,7 @@ export { HIGHLIGHT_ACTIVE_HEADER_TYPE as ACTIVE_HEADER_TYPE, HIGHLIGHT_AREA_TYPE
|
|
35
35
|
* @class Highlight
|
36
36
|
* @util
|
37
37
|
*/
|
38
|
-
var
|
38
|
+
var _Highlight_brand = /*#__PURE__*/new WeakSet();
|
39
39
|
_Symbol$iterator = Symbol.iterator;
|
40
40
|
class Highlight {
|
41
41
|
constructor(options) {
|
@@ -46,7 +46,7 @@ class Highlight {
|
|
46
46
|
* @param {Function} highlightFactory The function factory.
|
47
47
|
* @returns {VisualSelection}
|
48
48
|
*/
|
49
|
-
_classPrivateMethodInitSpec(this,
|
49
|
+
_classPrivateMethodInitSpec(this, _Highlight_brand);
|
50
50
|
/**
|
51
51
|
* Options consumed by Highlight class and Walkontable Selection classes.
|
52
52
|
*
|
@@ -214,7 +214,7 @@ class Highlight {
|
|
214
214
|
* @returns {Selection}
|
215
215
|
*/
|
216
216
|
createLayeredArea() {
|
217
|
-
return
|
217
|
+
return _assertClassBrand(_Highlight_brand, this, _createHighlight).call(this, this.layeredAreas, createAreaLayeredHighlight);
|
218
218
|
}
|
219
219
|
|
220
220
|
/**
|
@@ -233,7 +233,7 @@ class Highlight {
|
|
233
233
|
* @returns {Selection}
|
234
234
|
*/
|
235
235
|
createArea() {
|
236
|
-
return
|
236
|
+
return _assertClassBrand(_Highlight_brand, this, _createHighlight).call(this, this.areas, createAreaHighlight);
|
237
237
|
}
|
238
238
|
|
239
239
|
/**
|
@@ -252,7 +252,7 @@ class Highlight {
|
|
252
252
|
* @returns {Selection}
|
253
253
|
*/
|
254
254
|
createRowHeader() {
|
255
|
-
return
|
255
|
+
return _assertClassBrand(_Highlight_brand, this, _createHighlight).call(this, this.rowHeaders, createHeaderHighlight);
|
256
256
|
}
|
257
257
|
|
258
258
|
/**
|
@@ -271,7 +271,7 @@ class Highlight {
|
|
271
271
|
* @returns {Selection}
|
272
272
|
*/
|
273
273
|
createColumnHeader() {
|
274
|
-
return
|
274
|
+
return _assertClassBrand(_Highlight_brand, this, _createHighlight).call(this, this.columnHeaders, createHeaderHighlight);
|
275
275
|
}
|
276
276
|
|
277
277
|
/**
|
@@ -290,7 +290,7 @@ class Highlight {
|
|
290
290
|
* @returns {Selection}
|
291
291
|
*/
|
292
292
|
createActiveRowHeader() {
|
293
|
-
return
|
293
|
+
return _assertClassBrand(_Highlight_brand, this, _createHighlight).call(this, this.activeRowHeaders, createActiveHighlight);
|
294
294
|
}
|
295
295
|
|
296
296
|
/**
|
@@ -309,7 +309,7 @@ class Highlight {
|
|
309
309
|
* @returns {Selection}
|
310
310
|
*/
|
311
311
|
createActiveColumnHeader() {
|
312
|
-
return
|
312
|
+
return _assertClassBrand(_Highlight_brand, this, _createHighlight).call(this, this.activeColumnHeaders, createActiveHighlight);
|
313
313
|
}
|
314
314
|
|
315
315
|
/**
|
@@ -328,7 +328,7 @@ class Highlight {
|
|
328
328
|
* @returns {Selection}
|
329
329
|
*/
|
330
330
|
createActiveCornerHeader() {
|
331
|
-
return
|
331
|
+
return _assertClassBrand(_Highlight_brand, this, _createHighlight).call(this, this.activeCornerHeaders, createActiveHighlight);
|
332
332
|
}
|
333
333
|
|
334
334
|
/**
|
@@ -347,7 +347,7 @@ class Highlight {
|
|
347
347
|
* @returns {Selection}
|
348
348
|
*/
|
349
349
|
createRowHighlight() {
|
350
|
-
return
|
350
|
+
return _assertClassBrand(_Highlight_brand, this, _createHighlight).call(this, this.rowHighlights, createRowHighlight);
|
351
351
|
}
|
352
352
|
|
353
353
|
/**
|
@@ -366,7 +366,7 @@ class Highlight {
|
|
366
366
|
* @returns {Selection}
|
367
367
|
*/
|
368
368
|
createColumnHighlight() {
|
369
|
-
return
|
369
|
+
return _assertClassBrand(_Highlight_brand, this, _createHighlight).call(this, this.columnHighlights, createColumnHighlight);
|
370
370
|
}
|
371
371
|
|
372
372
|
/**
|
@@ -424,7 +424,7 @@ class Highlight {
|
|
424
424
|
return [this.focus, this.fill, ...this.areas.values(), ...this.layeredAreas.values(), ...this.rowHeaders.values(), ...this.columnHeaders.values(), ...this.activeRowHeaders.values(), ...this.activeColumnHeaders.values(), ...this.activeCornerHeaders.values(), ...this.rowHighlights.values(), ...this.columnHighlights.values(), ...this.customSelections][Symbol.iterator]();
|
425
425
|
}
|
426
426
|
}
|
427
|
-
function
|
427
|
+
function _createHighlight(cacheMap, highlightFactory) {
|
428
428
|
const layerLevel = this.layerLevel;
|
429
429
|
if (cacheMap.has(layerLevel)) {
|
430
430
|
return cacheMap.get(layerLevel);
|
@@ -147,25 +147,13 @@ class VisualSelection extends _src.Selection {
|
|
147
147
|
* @returns {VisualSelection}
|
148
148
|
*/
|
149
149
|
syncWith(broaderCellRange) {
|
150
|
-
const
|
150
|
+
const coordsFrom = broaderCellRange.from.clone().normalize();
|
151
151
|
const rowDirection = broaderCellRange.getVerticalDirection() === 'N-S' ? 1 : -1;
|
152
152
|
const columnDirection = broaderCellRange.getHorizontalDirection() === 'W-E' ? 1 : -1;
|
153
153
|
const renderableHighlight = this.settings.visualToRenderableCoords(this.visualCellRange.highlight);
|
154
154
|
let cellCoordsVisual = null;
|
155
155
|
if (renderableHighlight === null || renderableHighlight.col === null || renderableHighlight.row === null) {
|
156
|
-
|
157
|
-
const bottomEndCorner = broaderCellRange.getBottomEndCorner();
|
158
|
-
let nextVisibleRow = this.settings.rowIndexMapper.getNearestNotHiddenIndex(highlight.row, rowDirection);
|
159
|
-
if (nextVisibleRow === null || rowDirection === 1 && nextVisibleRow > bottomEndCorner.row || rowDirection === -1 && nextVisibleRow < topStartCorder.row) {
|
160
|
-
nextVisibleRow = this.settings.rowIndexMapper.getNearestNotHiddenIndex(highlight.row, -rowDirection);
|
161
|
-
}
|
162
|
-
let nextVisibleColumn = this.settings.columnIndexMapper.getNearestNotHiddenIndex(highlight.col, columnDirection);
|
163
|
-
if (nextVisibleColumn === null || columnDirection === 1 && nextVisibleColumn > bottomEndCorner.col || columnDirection === -1 && nextVisibleColumn < topStartCorder.col) {
|
164
|
-
nextVisibleColumn = this.settings.columnIndexMapper.getNearestNotHiddenIndex(highlight.col, -columnDirection);
|
165
|
-
}
|
166
|
-
if (nextVisibleRow !== null && nextVisibleColumn !== null) {
|
167
|
-
cellCoordsVisual = this.settings.createCellCoords(nextVisibleRow, nextVisibleColumn);
|
168
|
-
}
|
156
|
+
cellCoordsVisual = this.getNearestNotHiddenCoords(coordsFrom, rowDirection, columnDirection);
|
169
157
|
}
|
170
158
|
if (cellCoordsVisual !== null && broaderCellRange.overlaps(cellCoordsVisual)) {
|
171
159
|
const currentHighlight = broaderCellRange.highlight.clone();
|
@@ -182,13 +170,11 @@ class VisualSelection extends _src.Selection {
|
|
182
170
|
this.cellRange = this.settings.createCellRange(cellCoordsRenderable);
|
183
171
|
}
|
184
172
|
|
185
|
-
// TODO
|
186
173
|
// We set new highlight as it might change (for example, when showing/hiding some cells from the broader selection range)
|
187
174
|
// TODO: It is also handled by the `MergeCells` plugin while adjusting already modified coordinates. Should it?
|
188
175
|
broaderCellRange.setHighlight(currentHighlight);
|
189
176
|
}
|
190
177
|
|
191
|
-
// TODO
|
192
178
|
// Sync the highlight coords from the visual selection layer with logical coords.
|
193
179
|
if (this.settings.selectionType === 'focus' && renderableHighlight !== null && cellCoordsVisual === null) {
|
194
180
|
broaderCellRange.setHighlight(this.visualCellRange.highlight);
|
@@ -144,25 +144,13 @@ class VisualSelection extends Selection {
|
|
144
144
|
* @returns {VisualSelection}
|
145
145
|
*/
|
146
146
|
syncWith(broaderCellRange) {
|
147
|
-
const
|
147
|
+
const coordsFrom = broaderCellRange.from.clone().normalize();
|
148
148
|
const rowDirection = broaderCellRange.getVerticalDirection() === 'N-S' ? 1 : -1;
|
149
149
|
const columnDirection = broaderCellRange.getHorizontalDirection() === 'W-E' ? 1 : -1;
|
150
150
|
const renderableHighlight = this.settings.visualToRenderableCoords(this.visualCellRange.highlight);
|
151
151
|
let cellCoordsVisual = null;
|
152
152
|
if (renderableHighlight === null || renderableHighlight.col === null || renderableHighlight.row === null) {
|
153
|
-
|
154
|
-
const bottomEndCorner = broaderCellRange.getBottomEndCorner();
|
155
|
-
let nextVisibleRow = this.settings.rowIndexMapper.getNearestNotHiddenIndex(highlight.row, rowDirection);
|
156
|
-
if (nextVisibleRow === null || rowDirection === 1 && nextVisibleRow > bottomEndCorner.row || rowDirection === -1 && nextVisibleRow < topStartCorder.row) {
|
157
|
-
nextVisibleRow = this.settings.rowIndexMapper.getNearestNotHiddenIndex(highlight.row, -rowDirection);
|
158
|
-
}
|
159
|
-
let nextVisibleColumn = this.settings.columnIndexMapper.getNearestNotHiddenIndex(highlight.col, columnDirection);
|
160
|
-
if (nextVisibleColumn === null || columnDirection === 1 && nextVisibleColumn > bottomEndCorner.col || columnDirection === -1 && nextVisibleColumn < topStartCorder.col) {
|
161
|
-
nextVisibleColumn = this.settings.columnIndexMapper.getNearestNotHiddenIndex(highlight.col, -columnDirection);
|
162
|
-
}
|
163
|
-
if (nextVisibleRow !== null && nextVisibleColumn !== null) {
|
164
|
-
cellCoordsVisual = this.settings.createCellCoords(nextVisibleRow, nextVisibleColumn);
|
165
|
-
}
|
153
|
+
cellCoordsVisual = this.getNearestNotHiddenCoords(coordsFrom, rowDirection, columnDirection);
|
166
154
|
}
|
167
155
|
if (cellCoordsVisual !== null && broaderCellRange.overlaps(cellCoordsVisual)) {
|
168
156
|
const currentHighlight = broaderCellRange.highlight.clone();
|
@@ -179,13 +167,11 @@ class VisualSelection extends Selection {
|
|
179
167
|
this.cellRange = this.settings.createCellRange(cellCoordsRenderable);
|
180
168
|
}
|
181
169
|
|
182
|
-
// TODO
|
183
170
|
// We set new highlight as it might change (for example, when showing/hiding some cells from the broader selection range)
|
184
171
|
// TODO: It is also handled by the `MergeCells` plugin while adjusting already modified coordinates. Should it?
|
185
172
|
broaderCellRange.setHighlight(currentHighlight);
|
186
173
|
}
|
187
174
|
|
188
|
-
// TODO
|
189
175
|
// Sync the highlight coords from the visual selection layer with logical coords.
|
190
176
|
if (this.settings.selectionType === 'focus' && renderableHighlight !== null && cellCoordsVisual === null) {
|
191
177
|
broaderCellRange.setHighlight(this.visualCellRange.highlight);
|