handsontable 0.0.0-next-5a535ed-20240403 → 0.0.0-next-c2810a1-20240403
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 +2 -1
- package/3rdparty/walkontable/src/cell/range.js +40 -28
- package/3rdparty/walkontable/src/cell/range.mjs +40 -28
- 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/overlay/inlineStart.js +15 -1
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +16 -2
- package/3rdparty/walkontable/src/overlay/top.js +11 -0
- package/3rdparty/walkontable/src/overlay/top.mjs +12 -1
- package/3rdparty/walkontable/src/overlays.js +46 -4
- package/3rdparty/walkontable/src/overlays.mjs +46 -4
- 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 +4 -1
- package/core/viewportScroll/index.mjs +4 -1
- package/core/viewportScroll/scrollStrategies/focusScroll.js +15 -0
- package/core/viewportScroll/scrollStrategies/focusScroll.mjs +11 -0
- package/core.d.ts +4 -3
- package/core.js +77 -22
- package/core.mjs +77 -22
- 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/metaManager/metaSchema.js +1 -1
- package/dataMap/metaManager/metaSchema.mjs +1 -1
- package/dataMap/replaceData.js +1 -1
- package/dataMap/replaceData.mjs +1 -1
- package/dist/handsontable.css +4 -4
- package/dist/handsontable.full.css +4 -4
- package/dist/handsontable.full.js +9063 -9122
- package/dist/handsontable.full.min.css +3 -3
- package/dist/handsontable.full.min.js +292 -292
- package/dist/handsontable.js +6968 -6574
- package/dist/handsontable.min.css +3 -3
- package/dist/handsontable.min.js +25 -25
- 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 +25 -23
- package/editorManager.mjs +25 -23
- package/editors/autocompleteEditor/autocompleteEditor.js +6 -10
- package/editors/autocompleteEditor/autocompleteEditor.mjs +6 -10
- package/editors/selectEditor/selectEditor.js +20 -19
- package/editors/selectEditor/selectEditor.mjs +20 -19
- package/eventManager.js +1 -1
- package/eventManager.mjs +1 -1
- package/focusManager.js +64 -82
- package/focusManager.mjs +64 -82
- package/helpers/dom/element.js +23 -1
- package/helpers/dom/element.mjs +21 -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/i18n/languages/ar-AR.d.ts +5 -0
- package/i18n/languages/cs-CZ.d.ts +5 -0
- package/i18n/languages/hr-HR.d.ts +5 -0
- package/i18n/languages/sr-SP.d.ts +5 -0
- package/index.d.ts +10 -0
- package/package.json +7 -2
- package/pluginHooks.d.ts +4 -3
- package/pluginHooks.js +99 -38
- package/pluginHooks.mjs +99 -38
- 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 +59 -50
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +59 -50
- package/plugins/columnSorting/columnSorting.js +49 -45
- package/plugins/columnSorting/columnSorting.mjs +49 -45
- 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 +26 -10
- package/plugins/contextMenu/menu/defaultShortcutsList.mjs +26 -10
- 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 +116 -157
- package/plugins/copyPaste/copyPaste.mjs +116 -157
- 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 +81 -107
- package/plugins/dropdownMenu/dropdownMenu.mjs +81 -107
- 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 +2 -71
- package/plugins/mergeCells/calculations/selection.mjs +2 -71
- package/plugins/mergeCells/cellsCollection.js +117 -1
- package/plugins/mergeCells/cellsCollection.mjs +117 -1
- package/plugins/mergeCells/contextMenuItem/toggleMerge.js +11 -1
- package/plugins/mergeCells/contextMenuItem/toggleMerge.mjs +11 -1
- package/plugins/mergeCells/focusOrder.js +305 -0
- package/plugins/mergeCells/focusOrder.mjs +300 -0
- package/plugins/mergeCells/mergeCells.js +499 -397
- package/plugins/mergeCells/mergeCells.mjs +499 -397
- package/plugins/multiColumnSorting/multiColumnSorting.js +8 -2
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +8 -2
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +1 -1
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +1 -1
- package/plugins/nestedHeaders/nestedHeaders.js +205 -253
- package/plugins/nestedHeaders/nestedHeaders.mjs +206 -254
- 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 +151 -182
- package/plugins/nestedRows/nestedRows.mjs +152 -183
- 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 +8 -5
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +8 -5
- package/selection/highlight/highlight.js +14 -14
- package/selection/highlight/highlight.mjs +13 -13
- package/selection/highlight/visualSelection.js +2 -0
- package/selection/highlight/visualSelection.mjs +2 -0
- package/selection/selection.js +225 -67
- package/selection/selection.mjs +224 -66
- package/selection/transformation.js +149 -118
- package/selection/transformation.mjs +149 -118
- package/shortcutContexts/commands/editor/closeAndSave.js +2 -2
- package/shortcutContexts/commands/editor/closeAndSave.mjs +2 -2
- package/shortcutContexts/commands/editor/open.js +18 -3
- package/shortcutContexts/commands/editor/open.mjs +18 -3
- 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 +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +9 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +9 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +10 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +10 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +3 -1
- 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 +6 -1
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +6 -1
- package/shortcutContexts/commands/moveCellSelection/inlineStart.js +6 -1
- package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +6 -1
- package/shortcutContexts/grid.js +9 -3
- package/shortcutContexts/grid.mjs +9 -3
- package/shortcuts/context.js +2 -1
- package/shortcuts/context.mjs +2 -1
- package/tableView.js +52 -78
- package/tableView.mjs +52 -78
- 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 +6 -1
- package/utils/dataStructures/linkedList.mjs +6 -1
- 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
@@ -1,11 +1,11 @@
|
|
1
|
-
import "core-js/modules/es.array.push.js";
|
2
1
|
import "core-js/modules/es.error.cause.js";
|
2
|
+
import "core-js/modules/es.array.push.js";
|
3
3
|
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
4
4
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
5
5
|
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; }
|
6
6
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
7
7
|
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); }
|
8
|
-
function
|
8
|
+
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"); }
|
9
9
|
import { BasePlugin } from "../base/index.mjs";
|
10
10
|
import Hooks from "../../pluginHooks.mjs";
|
11
11
|
import { offset, outerHeight, outerWidth } from "../../helpers/dom/element.mjs";
|
@@ -35,40 +35,16 @@ const INTERVAL_FOR_ADDING_ROW = 200;
|
|
35
35
|
* @class Autofill
|
36
36
|
* @plugin Autofill
|
37
37
|
*/
|
38
|
-
var
|
39
|
-
var _onAfterCellCornerMouseDown = /*#__PURE__*/new WeakSet();
|
40
|
-
var _onBeforeCellMouseOver = /*#__PURE__*/new WeakSet();
|
41
|
-
var _onMouseUp = /*#__PURE__*/new WeakSet();
|
42
|
-
var _onMouseMove = /*#__PURE__*/new WeakSet();
|
38
|
+
var _Autofill_brand = /*#__PURE__*/new WeakSet();
|
43
39
|
export class Autofill extends BasePlugin {
|
44
40
|
constructor() {
|
45
41
|
super(...arguments);
|
46
|
-
/**
|
47
|
-
* On mouse move listener.
|
48
|
-
*
|
49
|
-
* @param {MouseEvent} event `mousemove` event properties.
|
50
|
-
*/
|
51
|
-
_classPrivateMethodInitSpec(this, _onMouseMove);
|
52
|
-
/**
|
53
|
-
* On mouse up listener.
|
54
|
-
*/
|
55
|
-
_classPrivateMethodInitSpec(this, _onMouseUp);
|
56
|
-
/**
|
57
|
-
* On before cell mouse over listener.
|
58
|
-
*
|
59
|
-
* @param {CellCoords} coords `CellCoords` coord object.
|
60
|
-
*/
|
61
|
-
_classPrivateMethodInitSpec(this, _onBeforeCellMouseOver);
|
62
|
-
/**
|
63
|
-
* On after cell corner mouse down listener.
|
64
|
-
*/
|
65
|
-
_classPrivateMethodInitSpec(this, _onAfterCellCornerMouseDown);
|
66
42
|
/**
|
67
43
|
* On cell corner double click callback.
|
68
44
|
*
|
69
45
|
* @private
|
70
46
|
*/
|
71
|
-
_classPrivateMethodInitSpec(this,
|
47
|
+
_classPrivateMethodInitSpec(this, _Autofill_brand);
|
72
48
|
/**
|
73
49
|
* Specifies if adding new row started.
|
74
50
|
*
|
@@ -139,9 +115,9 @@ export class Autofill extends BasePlugin {
|
|
139
115
|
}
|
140
116
|
this.mapSettings();
|
141
117
|
this.registerEvents();
|
142
|
-
this.addHook('afterOnCellCornerMouseDown', event =>
|
143
|
-
this.addHook('afterOnCellCornerDblClick', event =>
|
144
|
-
this.addHook('beforeOnCellMouseOver', (_, coords) =>
|
118
|
+
this.addHook('afterOnCellCornerMouseDown', event => _assertClassBrand(_Autofill_brand, this, _onAfterCellCornerMouseDown).call(this, event));
|
119
|
+
this.addHook('afterOnCellCornerDblClick', event => _assertClassBrand(_Autofill_brand, this, _onCellCornerDblClick).call(this, event));
|
120
|
+
this.addHook('beforeOnCellMouseOver', (_, coords) => _assertClassBrand(_Autofill_brand, this, _onBeforeCellMouseOver).call(this, coords));
|
145
121
|
super.enablePlugin();
|
146
122
|
}
|
147
123
|
|
@@ -485,8 +461,8 @@ export class Autofill extends BasePlugin {
|
|
485
461
|
const {
|
486
462
|
documentElement
|
487
463
|
} = this.hot.rootDocument;
|
488
|
-
this.eventManager.addEventListener(documentElement, 'mouseup', () =>
|
489
|
-
this.eventManager.addEventListener(documentElement, 'mousemove', event =>
|
464
|
+
this.eventManager.addEventListener(documentElement, 'mouseup', () => _assertClassBrand(_Autofill_brand, this, _onMouseUp).call(this));
|
465
|
+
this.eventManager.addEventListener(documentElement, 'mousemove', event => _assertClassBrand(_Autofill_brand, this, _onMouseMove).call(this, event));
|
490
466
|
}
|
491
467
|
/**
|
492
468
|
* Clears mapped settings.
|
@@ -516,24 +492,35 @@ export class Autofill extends BasePlugin {
|
|
516
492
|
super.destroy();
|
517
493
|
}
|
518
494
|
}
|
519
|
-
function
|
495
|
+
function _onCellCornerDblClick() {
|
520
496
|
const selectionApplied = this.selectAdjacent();
|
521
497
|
if (selectionApplied) {
|
522
498
|
this.fillIn();
|
523
499
|
}
|
524
500
|
}
|
525
|
-
|
501
|
+
/**
|
502
|
+
* On after cell corner mouse down listener.
|
503
|
+
*/
|
504
|
+
function _onAfterCellCornerMouseDown() {
|
526
505
|
this.handleDraggedCells = 1;
|
527
506
|
this.mouseDownOnCellCorner = true;
|
528
507
|
}
|
529
|
-
|
508
|
+
/**
|
509
|
+
* On before cell mouse over listener.
|
510
|
+
*
|
511
|
+
* @param {CellCoords} coords `CellCoords` coord object.
|
512
|
+
*/
|
513
|
+
function _onBeforeCellMouseOver(coords) {
|
530
514
|
if (this.mouseDownOnCellCorner && !this.hot.view.isMouseDown() && this.handleDraggedCells) {
|
531
515
|
this.handleDraggedCells += 1;
|
532
516
|
this.showBorder(coords);
|
533
517
|
this.addNewRowIfNeeded();
|
534
518
|
}
|
535
519
|
}
|
536
|
-
|
520
|
+
/**
|
521
|
+
* On mouse up listener.
|
522
|
+
*/
|
523
|
+
function _onMouseUp() {
|
537
524
|
if (this.handleDraggedCells) {
|
538
525
|
if (this.handleDraggedCells > 1) {
|
539
526
|
this.fillIn();
|
@@ -542,7 +529,12 @@ function _onMouseUp2() {
|
|
542
529
|
this.mouseDownOnCellCorner = false;
|
543
530
|
}
|
544
531
|
}
|
545
|
-
|
532
|
+
/**
|
533
|
+
* On mouse move listener.
|
534
|
+
*
|
535
|
+
* @param {MouseEvent} event `mousemove` event properties.
|
536
|
+
*/
|
537
|
+
function _onMouseMove(event) {
|
546
538
|
const mouseWasDraggedOutside = this.getIfMouseWasDraggedOutside(event);
|
547
539
|
if (this.addingStarted === false && this.handleDraggedCells > 0 && mouseWasDraggedOutside) {
|
548
540
|
this.mouseDragOutside = true;
|
package/plugins/base/base.js
CHANGED
@@ -18,10 +18,8 @@ function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollect
|
|
18
18
|
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; }
|
19
19
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
20
20
|
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); }
|
21
|
-
function
|
22
|
-
function
|
23
|
-
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
24
|
-
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
21
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
22
|
+
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"); }
|
25
23
|
const DEPS_TYPE_CHECKERS = new Map([['plugin', _registry.hasPlugin], ['cell-type', _registry2.hasCellType], ['editor', _registry3.hasEditor], ['renderer', _registry4.hasRenderer], ['validator', _registry5.hasValidator]]);
|
26
24
|
const PLUGIN_KEY = exports.PLUGIN_KEY = 'base';
|
27
25
|
const missingDepsMsgs = [];
|
@@ -32,7 +30,7 @@ let initializedPlugins = null;
|
|
32
30
|
* @property {Core} hot Handsontable instance.
|
33
31
|
*/
|
34
32
|
var _hooks = /*#__PURE__*/new WeakMap();
|
35
|
-
var
|
33
|
+
var _BasePlugin_brand = /*#__PURE__*/new WeakSet();
|
36
34
|
class BasePlugin {
|
37
35
|
static get PLUGIN_KEY() {
|
38
36
|
return PLUGIN_KEY;
|
@@ -70,7 +68,7 @@ class BasePlugin {
|
|
70
68
|
* @param {Handsontable.DefaultSettings} settings The config object passed to `updateSettings`.
|
71
69
|
* @returns {boolean}
|
72
70
|
*/
|
73
|
-
_classPrivateMethodInitSpec(this,
|
71
|
+
_classPrivateMethodInitSpec(this, _BasePlugin_brand);
|
74
72
|
_defineProperty(this, "eventManager", new _eventManager.default(this));
|
75
73
|
/**
|
76
74
|
* @type {string}
|
@@ -95,10 +93,7 @@ class BasePlugin {
|
|
95
93
|
/**
|
96
94
|
* Collection of the reference to the plugins hooks.
|
97
95
|
*/
|
98
|
-
_classPrivateFieldInitSpec(this, _hooks, {
|
99
|
-
writable: true,
|
100
|
-
value: {}
|
101
|
-
});
|
96
|
+
_classPrivateFieldInitSpec(this, _hooks, {});
|
102
97
|
/**
|
103
98
|
* Handsontable instance.
|
104
99
|
*
|
@@ -185,11 +180,11 @@ class BasePlugin {
|
|
185
180
|
* @param {Function} callback The listener function to add.
|
186
181
|
*/
|
187
182
|
addHook(name, callback) {
|
188
|
-
_classPrivateFieldGet(
|
189
|
-
const hooks = _classPrivateFieldGet(
|
183
|
+
_classPrivateFieldGet(_hooks, this)[name] = _classPrivateFieldGet(_hooks, this)[name] || [];
|
184
|
+
const hooks = _classPrivateFieldGet(_hooks, this)[name];
|
190
185
|
this.hot.addHook(name, callback);
|
191
186
|
hooks.push(callback);
|
192
|
-
_classPrivateFieldGet(
|
187
|
+
_classPrivateFieldGet(_hooks, this)[name] = hooks;
|
193
188
|
}
|
194
189
|
|
195
190
|
/**
|
@@ -198,7 +193,7 @@ class BasePlugin {
|
|
198
193
|
* @param {string} name The hook name.
|
199
194
|
*/
|
200
195
|
removeHooks(name) {
|
201
|
-
(0, _array.arrayEach)(_classPrivateFieldGet(
|
196
|
+
(0, _array.arrayEach)(_classPrivateFieldGet(_hooks, this)[name] || [], callback => {
|
202
197
|
this.hot.removeHook(name, callback);
|
203
198
|
});
|
204
199
|
}
|
@@ -207,7 +202,7 @@ class BasePlugin {
|
|
207
202
|
* Clear all hooks.
|
208
203
|
*/
|
209
204
|
clearHooks() {
|
210
|
-
const hooks = _classPrivateFieldGet(
|
205
|
+
const hooks = _classPrivateFieldGet(_hooks, this);
|
211
206
|
(0, _object.objectEach)(hooks, (callbacks, name) => this.removeHooks(name));
|
212
207
|
hooks.length = 0;
|
213
208
|
}
|
@@ -242,7 +237,7 @@ class BasePlugin {
|
|
242
237
|
* @param {object} newSettings New set of settings passed to the `updateSettings` method.
|
243
238
|
*/
|
244
239
|
onUpdateSettings(newSettings) {
|
245
|
-
const relevantToSettings =
|
240
|
+
const relevantToSettings = _assertClassBrand(_BasePlugin_brand, this, _isRelevantToSettings).call(this, newSettings);
|
246
241
|
if (this.isEnabled) {
|
247
242
|
if (this.enabled && !this.isEnabled()) {
|
248
243
|
this.disablePlugin();
|
@@ -280,7 +275,7 @@ class BasePlugin {
|
|
280
275
|
}
|
281
276
|
}
|
282
277
|
exports.BasePlugin = BasePlugin;
|
283
|
-
function
|
278
|
+
function _isRelevantToSettings(settings) {
|
284
279
|
if (!settings) {
|
285
280
|
return false;
|
286
281
|
}
|
package/plugins/base/base.mjs
CHANGED
@@ -6,10 +6,8 @@ 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
|
10
|
-
function
|
11
|
-
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
12
|
-
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
9
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
10
|
+
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"); }
|
13
11
|
import { defineGetter, objectEach } from "../../helpers/object.mjs";
|
14
12
|
import { arrayEach } from "../../helpers/array.mjs";
|
15
13
|
import { getPluginsNames, hasPlugin } from "../registry.mjs";
|
@@ -28,7 +26,7 @@ let initializedPlugins = null;
|
|
28
26
|
* @property {Core} hot Handsontable instance.
|
29
27
|
*/
|
30
28
|
var _hooks = /*#__PURE__*/new WeakMap();
|
31
|
-
var
|
29
|
+
var _BasePlugin_brand = /*#__PURE__*/new WeakSet();
|
32
30
|
export class BasePlugin {
|
33
31
|
static get PLUGIN_KEY() {
|
34
32
|
return PLUGIN_KEY;
|
@@ -66,7 +64,7 @@ export class BasePlugin {
|
|
66
64
|
* @param {Handsontable.DefaultSettings} settings The config object passed to `updateSettings`.
|
67
65
|
* @returns {boolean}
|
68
66
|
*/
|
69
|
-
_classPrivateMethodInitSpec(this,
|
67
|
+
_classPrivateMethodInitSpec(this, _BasePlugin_brand);
|
70
68
|
_defineProperty(this, "eventManager", new EventManager(this));
|
71
69
|
/**
|
72
70
|
* @type {string}
|
@@ -91,10 +89,7 @@ export class BasePlugin {
|
|
91
89
|
/**
|
92
90
|
* Collection of the reference to the plugins hooks.
|
93
91
|
*/
|
94
|
-
_classPrivateFieldInitSpec(this, _hooks, {
|
95
|
-
writable: true,
|
96
|
-
value: {}
|
97
|
-
});
|
92
|
+
_classPrivateFieldInitSpec(this, _hooks, {});
|
98
93
|
/**
|
99
94
|
* Handsontable instance.
|
100
95
|
*
|
@@ -181,11 +176,11 @@ export class BasePlugin {
|
|
181
176
|
* @param {Function} callback The listener function to add.
|
182
177
|
*/
|
183
178
|
addHook(name, callback) {
|
184
|
-
_classPrivateFieldGet(
|
185
|
-
const hooks = _classPrivateFieldGet(
|
179
|
+
_classPrivateFieldGet(_hooks, this)[name] = _classPrivateFieldGet(_hooks, this)[name] || [];
|
180
|
+
const hooks = _classPrivateFieldGet(_hooks, this)[name];
|
186
181
|
this.hot.addHook(name, callback);
|
187
182
|
hooks.push(callback);
|
188
|
-
_classPrivateFieldGet(
|
183
|
+
_classPrivateFieldGet(_hooks, this)[name] = hooks;
|
189
184
|
}
|
190
185
|
|
191
186
|
/**
|
@@ -194,7 +189,7 @@ export class BasePlugin {
|
|
194
189
|
* @param {string} name The hook name.
|
195
190
|
*/
|
196
191
|
removeHooks(name) {
|
197
|
-
arrayEach(_classPrivateFieldGet(
|
192
|
+
arrayEach(_classPrivateFieldGet(_hooks, this)[name] || [], callback => {
|
198
193
|
this.hot.removeHook(name, callback);
|
199
194
|
});
|
200
195
|
}
|
@@ -203,7 +198,7 @@ export class BasePlugin {
|
|
203
198
|
* Clear all hooks.
|
204
199
|
*/
|
205
200
|
clearHooks() {
|
206
|
-
const hooks = _classPrivateFieldGet(
|
201
|
+
const hooks = _classPrivateFieldGet(_hooks, this);
|
207
202
|
objectEach(hooks, (callbacks, name) => this.removeHooks(name));
|
208
203
|
hooks.length = 0;
|
209
204
|
}
|
@@ -238,7 +233,7 @@ export class BasePlugin {
|
|
238
233
|
* @param {object} newSettings New set of settings passed to the `updateSettings` method.
|
239
234
|
*/
|
240
235
|
onUpdateSettings(newSettings) {
|
241
|
-
const relevantToSettings =
|
236
|
+
const relevantToSettings = _assertClassBrand(_BasePlugin_brand, this, _isRelevantToSettings).call(this, newSettings);
|
242
237
|
if (this.isEnabled) {
|
243
238
|
if (this.enabled && !this.isEnabled()) {
|
244
239
|
this.disablePlugin();
|
@@ -275,7 +270,7 @@ export class BasePlugin {
|
|
275
270
|
delete this.hot;
|
276
271
|
}
|
277
272
|
}
|
278
|
-
function
|
273
|
+
function _isRelevantToSettings(settings) {
|
279
274
|
if (!settings) {
|
280
275
|
return false;
|
281
276
|
}
|
@@ -11,7 +11,7 @@ function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollect
|
|
11
11
|
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; }
|
12
12
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
13
13
|
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); }
|
14
|
-
function
|
14
|
+
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"); }
|
15
15
|
const PLUGIN_KEY = exports.PLUGIN_KEY = 'bindRowsWithHeaders';
|
16
16
|
const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 210;
|
17
17
|
const DEFAULT_BIND = 'loose';
|
@@ -49,7 +49,7 @@ const bindTypeToMapStrategy = new Map([['loose', _looseBindsMap.default], ['stri
|
|
49
49
|
* ```
|
50
50
|
* :::
|
51
51
|
*/
|
52
|
-
var
|
52
|
+
var _BindRowsWithHeaders_brand = /*#__PURE__*/new WeakSet();
|
53
53
|
class BindRowsWithHeaders extends _base.BasePlugin {
|
54
54
|
constructor() {
|
55
55
|
super(...arguments);
|
@@ -59,7 +59,7 @@ class BindRowsWithHeaders extends _base.BasePlugin {
|
|
59
59
|
* @param {number} row Row index.
|
60
60
|
* @returns {number}
|
61
61
|
*/
|
62
|
-
_classPrivateMethodInitSpec(this,
|
62
|
+
_classPrivateMethodInitSpec(this, _BindRowsWithHeaders_brand);
|
63
63
|
/**
|
64
64
|
* Plugin indexes cache.
|
65
65
|
*
|
@@ -97,7 +97,7 @@ class BindRowsWithHeaders extends _base.BasePlugin {
|
|
97
97
|
}
|
98
98
|
const MapStrategy = bindTypeToMapStrategy.get(bindType);
|
99
99
|
this.headerIndexes = this.hot.rowIndexMapper.registerMap('bindRowsWithHeaders', new MapStrategy());
|
100
|
-
this.addHook('modifyRowHeader', row =>
|
100
|
+
this.addHook('modifyRowHeader', row => _assertClassBrand(_BindRowsWithHeaders_brand, this, _onModifyRowHeader).call(this, row));
|
101
101
|
super.enablePlugin();
|
102
102
|
}
|
103
103
|
|
@@ -116,6 +116,6 @@ class BindRowsWithHeaders extends _base.BasePlugin {
|
|
116
116
|
}
|
117
117
|
}
|
118
118
|
exports.BindRowsWithHeaders = BindRowsWithHeaders;
|
119
|
-
function
|
119
|
+
function _onModifyRowHeader(row) {
|
120
120
|
return this.headerIndexes.getValueAtIndex(this.hot.toPhysicalRow(row));
|
121
121
|
}
|
@@ -4,7 +4,7 @@ function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollect
|
|
4
4
|
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; }
|
5
5
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
6
6
|
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); }
|
7
|
-
function
|
7
|
+
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"); }
|
8
8
|
import { BasePlugin } from "../base/index.mjs";
|
9
9
|
import LooseBindsMap from "./maps/looseBindsMap.mjs";
|
10
10
|
import StrictBindsMap from "./maps/strictBindsMap.mjs";
|
@@ -45,7 +45,7 @@ const bindTypeToMapStrategy = new Map([['loose', LooseBindsMap], ['strict', Stri
|
|
45
45
|
* ```
|
46
46
|
* :::
|
47
47
|
*/
|
48
|
-
var
|
48
|
+
var _BindRowsWithHeaders_brand = /*#__PURE__*/new WeakSet();
|
49
49
|
export class BindRowsWithHeaders extends BasePlugin {
|
50
50
|
constructor() {
|
51
51
|
super(...arguments);
|
@@ -55,7 +55,7 @@ export class BindRowsWithHeaders extends BasePlugin {
|
|
55
55
|
* @param {number} row Row index.
|
56
56
|
* @returns {number}
|
57
57
|
*/
|
58
|
-
_classPrivateMethodInitSpec(this,
|
58
|
+
_classPrivateMethodInitSpec(this, _BindRowsWithHeaders_brand);
|
59
59
|
/**
|
60
60
|
* Plugin indexes cache.
|
61
61
|
*
|
@@ -93,7 +93,7 @@ export class BindRowsWithHeaders extends BasePlugin {
|
|
93
93
|
}
|
94
94
|
const MapStrategy = bindTypeToMapStrategy.get(bindType);
|
95
95
|
this.headerIndexes = this.hot.rowIndexMapper.registerMap('bindRowsWithHeaders', new MapStrategy());
|
96
|
-
this.addHook('modifyRowHeader', row =>
|
96
|
+
this.addHook('modifyRowHeader', row => _assertClassBrand(_BindRowsWithHeaders_brand, this, _onModifyRowHeader).call(this, row));
|
97
97
|
super.enablePlugin();
|
98
98
|
}
|
99
99
|
|
@@ -111,6 +111,6 @@ export class BindRowsWithHeaders extends BasePlugin {
|
|
111
111
|
super.destroy();
|
112
112
|
}
|
113
113
|
}
|
114
|
-
function
|
114
|
+
function _onModifyRowHeader(row) {
|
115
115
|
return this.headerIndexes.getValueAtIndex(this.hot.toPhysicalRow(row));
|
116
116
|
}
|
@@ -9,6 +9,7 @@ var _number = require("../../helpers/number");
|
|
9
9
|
var _console = require("../../helpers/console");
|
10
10
|
var _element = require("../../helpers/dom/element");
|
11
11
|
var _event = require("../../helpers/dom/event");
|
12
|
+
var _shortcutContexts = require("../../shortcutContexts");
|
12
13
|
var _a11y = require("../../helpers/a11y");
|
13
14
|
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
14
15
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
@@ -16,12 +17,9 @@ function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollect
|
|
16
17
|
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; }
|
17
18
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
18
19
|
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); }
|
19
|
-
function _classPrivateFieldGet(
|
20
|
-
function
|
21
|
-
function
|
22
|
-
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
23
|
-
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
24
|
-
function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
|
20
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
21
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
22
|
+
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"); }
|
25
23
|
const PLUGIN_KEY = exports.PLUGIN_KEY = 'collapsibleColumns';
|
26
24
|
const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 290;
|
27
25
|
const SETTING_KEYS = ['nestedHeaders'];
|
@@ -109,32 +107,10 @@ const actionDictionary = new Map([['collapse', {
|
|
109
107
|
* :::
|
110
108
|
*/
|
111
109
|
var _collapsedColumnsMap = /*#__PURE__*/new WeakMap();
|
112
|
-
var
|
113
|
-
var _onBeforeOnCellMouseDown = /*#__PURE__*/new WeakSet();
|
114
|
-
var _onInit = /*#__PURE__*/new WeakSet();
|
115
|
-
var _onAfterLoadData = /*#__PURE__*/new WeakSet();
|
110
|
+
var _CollapsibleColumns_brand = /*#__PURE__*/new WeakSet();
|
116
111
|
class CollapsibleColumns extends _base.BasePlugin {
|
117
112
|
constructor() {
|
118
113
|
super(...arguments);
|
119
|
-
/**
|
120
|
-
* Updates the plugin state after new dataset load.
|
121
|
-
*
|
122
|
-
* @param {Array[]} sourceData Array of arrays or array of objects containing data.
|
123
|
-
* @param {boolean} initialLoad Flag that determines whether the data has been loaded
|
124
|
-
* during the initialization.
|
125
|
-
*/
|
126
|
-
_classPrivateMethodInitSpec(this, _onAfterLoadData);
|
127
|
-
/**
|
128
|
-
* Updates the plugin state after HoT initialization.
|
129
|
-
*/
|
130
|
-
_classPrivateMethodInitSpec(this, _onInit);
|
131
|
-
/**
|
132
|
-
* Indicator mouse event callback.
|
133
|
-
*
|
134
|
-
* @param {object} event Mouse event.
|
135
|
-
* @param {object} coords Event coordinates.
|
136
|
-
*/
|
137
|
-
_classPrivateMethodInitSpec(this, _onBeforeOnCellMouseDown);
|
138
114
|
/**
|
139
115
|
* Adds the indicator to the headers.
|
140
116
|
*
|
@@ -143,7 +119,7 @@ class CollapsibleColumns extends _base.BasePlugin {
|
|
143
119
|
* @param {number} headerLevel The index of header level counting from the top (positive
|
144
120
|
* values counting from 0 to N).
|
145
121
|
*/
|
146
|
-
_classPrivateMethodInitSpec(this,
|
122
|
+
_classPrivateMethodInitSpec(this, _CollapsibleColumns_brand);
|
147
123
|
/**
|
148
124
|
* Cached reference to the NestedHeaders plugin.
|
149
125
|
*
|
@@ -164,10 +140,7 @@ class CollapsibleColumns extends _base.BasePlugin {
|
|
164
140
|
* @private
|
165
141
|
* @type {HidingMap|null}
|
166
142
|
*/
|
167
|
-
_classPrivateFieldInitSpec(this, _collapsedColumnsMap,
|
168
|
-
writable: true,
|
169
|
-
value: null
|
170
|
-
});
|
143
|
+
_classPrivateFieldInitSpec(this, _collapsedColumnsMap, null);
|
171
144
|
}
|
172
145
|
static get PLUGIN_KEY() {
|
173
146
|
return PLUGIN_KEY;
|
@@ -205,23 +178,23 @@ class CollapsibleColumns extends _base.BasePlugin {
|
|
205
178
|
if (!nestedHeaders) {
|
206
179
|
(0, _console.warn)('You need to configure the Nested Headers plugin in order to use collapsible headers.');
|
207
180
|
}
|
208
|
-
_classPrivateFieldSet(
|
181
|
+
_classPrivateFieldSet(_collapsedColumnsMap, this, this.hot.columnIndexMapper.createAndRegisterIndexMap(this.pluginName, 'hiding'));
|
209
182
|
this.nestedHeadersPlugin = this.hot.getPlugin('nestedHeaders');
|
210
183
|
this.headerStateManager = this.nestedHeadersPlugin.getStateManager();
|
211
|
-
this.addHook('init', () =>
|
184
|
+
this.addHook('init', () => _assertClassBrand(_CollapsibleColumns_brand, this, _onInit).call(this));
|
212
185
|
this.addHook('afterLoadData', function () {
|
213
186
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
214
187
|
args[_key] = arguments[_key];
|
215
188
|
}
|
216
|
-
return
|
189
|
+
return _assertClassBrand(_CollapsibleColumns_brand, _this, _onAfterLoadData).call(_this, ...args);
|
217
190
|
});
|
218
191
|
this.addHook('afterGetColHeader', function () {
|
219
192
|
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
220
193
|
args[_key2] = arguments[_key2];
|
221
194
|
}
|
222
|
-
return
|
195
|
+
return _assertClassBrand(_CollapsibleColumns_brand, _this, _onAfterGetColHeader).call(_this, ...args);
|
223
196
|
});
|
224
|
-
this.addHook('beforeOnCellMouseDown', (event, coords, TD) =>
|
197
|
+
this.addHook('beforeOnCellMouseDown', (event, coords, TD) => _assertClassBrand(_CollapsibleColumns_brand, this, _onBeforeOnCellMouseDown).call(this, event, coords, TD));
|
225
198
|
this.registerShortcuts();
|
226
199
|
super.enablePlugin();
|
227
200
|
// @TODO: Workaround for broken plugin initialization abstraction (#6806).
|
@@ -268,7 +241,7 @@ class CollapsibleColumns extends _base.BasePlugin {
|
|
268
241
|
*/
|
269
242
|
disablePlugin() {
|
270
243
|
this.hot.columnIndexMapper.unregisterMap(this.pluginName);
|
271
|
-
_classPrivateFieldSet(
|
244
|
+
_classPrivateFieldSet(_collapsedColumnsMap, this, null);
|
272
245
|
this.nestedHeadersPlugin = null;
|
273
246
|
this.unregisterShortcuts();
|
274
247
|
this.clearButtons();
|
@@ -308,12 +281,17 @@ class CollapsibleColumns extends _base.BasePlugin {
|
|
308
281
|
col: columnIndex
|
309
282
|
});
|
310
283
|
}
|
284
|
+
|
285
|
+
// prevent default Enter behavior (move to the next row within a selection range)
|
286
|
+
return false;
|
311
287
|
},
|
312
288
|
runOnlyIf: () => {
|
313
|
-
var _this$hot$getSelected;
|
314
|
-
return (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight.isHeader();
|
289
|
+
var _this$hot$getSelected, _this$hot$getSelected2;
|
290
|
+
return ((_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.isSingle()) && ((_this$hot$getSelected2 = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected2 === void 0 ? void 0 : _this$hot$getSelected2.highlight.isHeader());
|
315
291
|
},
|
316
|
-
group: SHORTCUTS_GROUP
|
292
|
+
group: SHORTCUTS_GROUP,
|
293
|
+
relativeToGroup: _shortcutContexts.EDITOR_EDIT_GROUP,
|
294
|
+
position: 'before'
|
317
295
|
});
|
318
296
|
}
|
319
297
|
|
@@ -497,10 +475,25 @@ class CollapsibleColumns extends _base.BasePlugin {
|
|
497
475
|
}
|
498
476
|
this.hot.batchExecution(() => {
|
499
477
|
(0, _array.arrayEach)(affectedColumnsIndexes, visualColumn => {
|
500
|
-
_classPrivateFieldGet(
|
478
|
+
_classPrivateFieldGet(_collapsedColumnsMap, this).setValueAtIndex(this.hot.toPhysicalColumn(visualColumn), actionTranslator.hideColumn);
|
501
479
|
});
|
502
480
|
}, true);
|
503
481
|
const isActionPerformed = this.getCollapsedColumns().length !== currentCollapsedColumns.length;
|
482
|
+
const selectionRange = this.hot.getSelectedRangeLast();
|
483
|
+
if (action === 'collapse' && isActionPerformed && selectionRange) {
|
484
|
+
const {
|
485
|
+
row,
|
486
|
+
col
|
487
|
+
} = selectionRange.highlight;
|
488
|
+
const isHidden = this.hot.rowIndexMapper.isHidden(row) || this.hot.columnIndexMapper.isHidden(col);
|
489
|
+
if (isHidden && affectedColumnsIndexes.includes(col)) {
|
490
|
+
const nextRow = row >= 0 ? this.hot.rowIndexMapper.getNearestNotHiddenIndex(row, 1, true) : row;
|
491
|
+
const nextColumn = col >= 0 ? this.hot.columnIndexMapper.getNearestNotHiddenIndex(col, 1, true) : col;
|
492
|
+
if (nextRow !== null && nextColumn !== null) {
|
493
|
+
this.hot.selectCell(nextRow, nextColumn);
|
494
|
+
}
|
495
|
+
}
|
496
|
+
}
|
504
497
|
this.hot.runHooks(actionTranslator.afterHook, currentCollapsedColumns, destinationCollapsedColumns, isActionPossible, isActionPerformed);
|
505
498
|
this.hot.render();
|
506
499
|
this.hot.view.adjustElementsSize(true);
|
@@ -513,18 +506,18 @@ class CollapsibleColumns extends _base.BasePlugin {
|
|
513
506
|
* @returns {number[]}
|
514
507
|
*/
|
515
508
|
getCollapsedColumns() {
|
516
|
-
return _classPrivateFieldGet(
|
509
|
+
return _classPrivateFieldGet(_collapsedColumnsMap, this).getHiddenIndexes();
|
517
510
|
}
|
518
511
|
/**
|
519
512
|
* Destroys the plugin instance.
|
520
513
|
*/
|
521
514
|
destroy() {
|
522
|
-
_classPrivateFieldSet(
|
515
|
+
_classPrivateFieldSet(_collapsedColumnsMap, this, null);
|
523
516
|
super.destroy();
|
524
517
|
}
|
525
518
|
}
|
526
519
|
exports.CollapsibleColumns = CollapsibleColumns;
|
527
|
-
function
|
520
|
+
function _onAfterGetColHeader(column, TH, headerLevel) {
|
528
521
|
var _this$headerStateMana3;
|
529
522
|
const {
|
530
523
|
collapsible,
|
@@ -567,7 +560,13 @@ function _onAfterGetColHeader2(column, TH, headerLevel) {
|
|
567
560
|
(_collapsibleElement = collapsibleElement) === null || _collapsibleElement === void 0 || _collapsibleElement.remove();
|
568
561
|
}
|
569
562
|
}
|
570
|
-
|
563
|
+
/**
|
564
|
+
* Indicator mouse event callback.
|
565
|
+
*
|
566
|
+
* @param {object} event Mouse event.
|
567
|
+
* @param {object} coords Event coordinates.
|
568
|
+
*/
|
569
|
+
function _onBeforeOnCellMouseDown(event, coords) {
|
571
570
|
if ((0, _element.hasClass)(event.target, COLLAPSIBLE_ELEMENT_CLASS)) {
|
572
571
|
if ((0, _element.hasClass)(event.target, 'expanded')) {
|
573
572
|
this.eventManager.fireEvent(event.target, 'mouseup');
|
@@ -579,11 +578,21 @@ function _onBeforeOnCellMouseDown2(event, coords) {
|
|
579
578
|
(0, _event.stopImmediatePropagation)(event);
|
580
579
|
}
|
581
580
|
}
|
582
|
-
|
581
|
+
/**
|
582
|
+
* Updates the plugin state after HoT initialization.
|
583
|
+
*/
|
584
|
+
function _onInit() {
|
583
585
|
// @TODO: Workaround for broken plugin initialization abstraction (#6806).
|
584
586
|
this.updatePlugin();
|
585
587
|
}
|
586
|
-
|
588
|
+
/**
|
589
|
+
* Updates the plugin state after new dataset load.
|
590
|
+
*
|
591
|
+
* @param {Array[]} sourceData Array of arrays or array of objects containing data.
|
592
|
+
* @param {boolean} initialLoad Flag that determines whether the data has been loaded
|
593
|
+
* during the initialization.
|
594
|
+
*/
|
595
|
+
function _onAfterLoadData(sourceData, initialLoad) {
|
587
596
|
if (!initialLoad) {
|
588
597
|
this.updatePlugin();
|
589
598
|
}
|