handsontable 0.0.0-next-53a190b-20240403 → 0.0.0-next-5a535ed-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 +17 -12
- package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +17 -12
- package/3rdparty/walkontable/src/calculator/viewportRows.js +15 -10
- package/3rdparty/walkontable/src/calculator/viewportRows.mjs +15 -10
- package/3rdparty/walkontable/src/cell/coords.js +17 -12
- package/3rdparty/walkontable/src/cell/coords.mjs +17 -12
- package/3rdparty/walkontable/src/cell/range.d.ts +1 -2
- package/3rdparty/walkontable/src/cell/range.js +28 -40
- package/3rdparty/walkontable/src/cell/range.mjs +28 -40
- package/3rdparty/walkontable/src/core/_base.js +1 -1
- package/3rdparty/walkontable/src/core/_base.mjs +1 -1
- package/3rdparty/walkontable/src/event.js +104 -72
- package/3rdparty/walkontable/src/event.mjs +104 -72
- package/3rdparty/walkontable/src/overlay/inlineStart.js +1 -15
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +2 -16
- package/3rdparty/walkontable/src/overlay/top.js +0 -11
- package/3rdparty/walkontable/src/overlay/top.mjs +1 -12
- package/3rdparty/walkontable/src/overlays.js +4 -46
- package/3rdparty/walkontable/src/overlays.mjs +4 -46
- package/3rdparty/walkontable/src/scroll.js +17 -15
- package/3rdparty/walkontable/src/scroll.mjs +17 -15
- package/3rdparty/walkontable/src/selection/manager.js +69 -48
- package/3rdparty/walkontable/src/selection/manager.mjs +69 -48
- package/3rdparty/walkontable/src/selection/scanner.js +42 -33
- package/3rdparty/walkontable/src/selection/scanner.mjs +42 -33
- package/3rdparty/walkontable/src/utils/columnStretching.js +44 -27
- package/3rdparty/walkontable/src/utils/columnStretching.mjs +44 -27
- 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 -77
- package/core.mjs +22 -77
- 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 +9121 -9062
- package/dist/handsontable.full.min.css +3 -3
- package/dist/handsontable.full.min.js +292 -292
- package/dist/handsontable.js +6573 -6967
- 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 +23 -25
- package/editorManager.mjs +23 -25
- package/editors/autocompleteEditor/autocompleteEditor.js +10 -6
- package/editors/autocompleteEditor/autocompleteEditor.mjs +10 -6
- package/editors/selectEditor/selectEditor.js +19 -20
- package/editors/selectEditor/selectEditor.mjs +19 -20
- package/eventManager.js +1 -1
- package/eventManager.mjs +1 -1
- package/focusManager.js +82 -64
- package/focusManager.mjs +82 -64
- package/helpers/dom/element.js +1 -23
- package/helpers/dom/element.mjs +1 -21
- 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 +0 -10
- package/package.json +2 -7
- package/pluginHooks.d.ts +3 -4
- package/pluginHooks.js +38 -99
- package/pluginHooks.mjs +38 -99
- package/plugins/autoColumnSize/autoColumnSize.js +65 -49
- package/plugins/autoColumnSize/autoColumnSize.mjs +65 -49
- package/plugins/autoRowSize/autoRowSize.js +34 -28
- package/plugins/autoRowSize/autoRowSize.mjs +34 -28
- package/plugins/autofill/autofill.js +38 -30
- package/plugins/autofill/autofill.mjs +38 -30
- package/plugins/base/base.js +17 -12
- package/plugins/base/base.mjs +17 -12
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +5 -5
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +5 -5
- package/plugins/collapsibleColumns/collapsibleColumns.js +50 -59
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +50 -59
- package/plugins/columnSorting/columnSorting.js +45 -49
- package/plugins/columnSorting/columnSorting.mjs +45 -49
- package/plugins/columnSummary/columnSummary.js +26 -22
- package/plugins/columnSummary/columnSummary.mjs +26 -22
- package/plugins/comments/comments.js +158 -116
- package/plugins/comments/comments.mjs +158 -116
- package/plugins/contextMenu/contextMenu.js +26 -20
- package/plugins/contextMenu/contextMenu.mjs +26 -20
- 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 +21 -13
- package/plugins/contextMenu/menu/menu.mjs +21 -13
- package/plugins/contextMenu/menu/positioner.js +58 -41
- package/plugins/contextMenu/menu/positioner.mjs +58 -41
- package/plugins/copyPaste/copyPaste.js +157 -116
- package/plugins/copyPaste/copyPaste.mjs +157 -116
- package/plugins/copyPaste/copyableRanges.js +66 -43
- package/plugins/copyPaste/copyableRanges.mjs +66 -43
- package/plugins/customBorders/customBorders.js +13 -11
- package/plugins/customBorders/customBorders.mjs +13 -11
- package/plugins/dragToScroll/dragToScroll.js +6 -6
- package/plugins/dragToScroll/dragToScroll.mjs +6 -6
- package/plugins/dropdownMenu/dropdownMenu.js +106 -80
- package/plugins/dropdownMenu/dropdownMenu.mjs +106 -80
- 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 +15 -13
- package/plugins/filters/component/condition.mjs +15 -13
- package/plugins/filters/component/operators.js +6 -6
- package/plugins/filters/component/operators.mjs +6 -6
- package/plugins/filters/component/value.js +28 -24
- package/plugins/filters/component/value.mjs +28 -24
- package/plugins/filters/conditionUpdateObserver.js +24 -22
- package/plugins/filters/conditionUpdateObserver.mjs +24 -22
- package/plugins/filters/dataFilter.js +1 -1
- package/plugins/filters/dataFilter.mjs +1 -1
- package/plugins/filters/filters.js +95 -81
- package/plugins/filters/filters.mjs +95 -81
- package/plugins/filters/ui/input.js +19 -13
- package/plugins/filters/ui/input.mjs +19 -13
- package/plugins/filters/ui/link.js +13 -8
- package/plugins/filters/ui/link.mjs +13 -8
- package/plugins/filters/ui/multipleSelect.js +112 -85
- package/plugins/filters/ui/multipleSelect.mjs +112 -85
- package/plugins/filters/ui/radioInput.js +20 -12
- package/plugins/filters/ui/radioInput.mjs +20 -12
- package/plugins/filters/ui/select.js +72 -50
- package/plugins/filters/ui/select.mjs +71 -49
- package/plugins/formulas/formulas.js +326 -268
- package/plugins/formulas/formulas.mjs +327 -269
- package/plugins/formulas/indexSyncer/axisSyncer.js +61 -38
- package/plugins/formulas/indexSyncer/axisSyncer.mjs +61 -38
- package/plugins/formulas/indexSyncer/index.js +48 -25
- package/plugins/formulas/indexSyncer/index.mjs +48 -25
- package/plugins/hiddenColumns/hiddenColumns.js +83 -64
- package/plugins/hiddenColumns/hiddenColumns.mjs +83 -64
- package/plugins/hiddenRows/hiddenRows.js +82 -63
- package/plugins/hiddenRows/hiddenRows.mjs +82 -63
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +32 -24
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +33 -25
- package/plugins/manualColumnMove/manualColumnMove.js +170 -126
- package/plugins/manualColumnMove/manualColumnMove.mjs +170 -126
- package/plugins/manualColumnResize/manualColumnResize.js +230 -169
- package/plugins/manualColumnResize/manualColumnResize.mjs +230 -169
- package/plugins/manualRowMove/manualRowMove.js +128 -99
- package/plugins/manualRowMove/manualRowMove.mjs +128 -99
- package/plugins/manualRowResize/manualRowResize.js +209 -150
- package/plugins/manualRowResize/manualRowResize.mjs +209 -150
- 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 +397 -499
- package/plugins/mergeCells/mergeCells.mjs +397 -499
- package/plugins/multiColumnSorting/multiColumnSorting.js +2 -8
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +2 -8
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +1 -1
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +1 -1
- package/plugins/nestedHeaders/nestedHeaders.js +253 -205
- package/plugins/nestedHeaders/nestedHeaders.mjs +254 -206
- package/plugins/nestedHeaders/stateManager/headersTree.js +32 -21
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +32 -21
- package/plugins/nestedHeaders/stateManager/index.js +41 -30
- package/plugins/nestedHeaders/stateManager/index.mjs +41 -30
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +30 -19
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +30 -19
- package/plugins/nestedRows/data/dataManager.js +1 -1
- package/plugins/nestedRows/data/dataManager.mjs +1 -1
- package/plugins/nestedRows/nestedRows.js +182 -151
- package/plugins/nestedRows/nestedRows.mjs +183 -152
- package/plugins/nestedRows/ui/contextMenu.js +15 -11
- package/plugins/nestedRows/ui/contextMenu.mjs +14 -10
- 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 +19 -15
- package/plugins/touchScroll/touchScroll.mjs +20 -16
- package/plugins/trimRows/trimRows.js +6 -6
- package/plugins/trimRows/trimRows.mjs +6 -6
- package/renderers/checkboxRenderer/checkboxRenderer.js +5 -8
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +5 -8
- package/selection/highlight/highlight.js +14 -14
- package/selection/highlight/highlight.mjs +13 -13
- package/selection/highlight/visualSelection.js +0 -2
- package/selection/highlight/visualSelection.mjs +0 -2
- package/selection/selection.js +67 -225
- package/selection/selection.mjs +66 -224
- package/selection/transformation.js +118 -149
- package/selection/transformation.mjs +118 -149
- 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 +3 -9
- package/shortcutContexts/grid.mjs +3 -9
- package/shortcuts/context.js +1 -2
- package/shortcuts/context.mjs +1 -2
- package/tableView.js +78 -52
- package/tableView.mjs +78 -52
- package/translations/changesObservable/observable.js +38 -21
- package/translations/changesObservable/observable.mjs +38 -21
- package/translations/changesObservable/observer.js +12 -7
- package/translations/changesObservable/observer.mjs +11 -6
- 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 +44 -26
- package/utils/interval.mjs +44 -26
- package/core/viewportScroll/scrollStrategies/focusScroll.js +0 -15
- package/core/viewportScroll/scrollStrategies/focusScroll.mjs +0 -11
- package/i18n/languages/ar-AR.d.ts +0 -5
- package/i18n/languages/cs-CZ.d.ts +0 -5
- package/i18n/languages/hr-HR.d.ts +0 -5
- package/i18n/languages/sr-SP.d.ts +0 -5
- package/plugins/mergeCells/focusOrder.js +0 -305
- package/plugins/mergeCells/focusOrder.mjs +0 -300
@@ -1,7 +1,7 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
exports.__esModule = true;
|
4
3
|
require("core-js/modules/es.error.cause.js");
|
4
|
+
exports.__esModule = true;
|
5
5
|
var _menu2 = require("../../../plugins/contextMenu/menu");
|
6
6
|
var _object = require("../../../helpers/object");
|
7
7
|
var _array = require("../../../helpers/array");
|
@@ -15,9 +15,12 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
15
15
|
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
16
16
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
17
17
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
18
|
-
function _classPrivateFieldSet(
|
19
|
-
function
|
20
|
-
function
|
18
|
+
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
19
|
+
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 _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
|
21
|
+
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
|
22
|
+
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
23
|
+
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
21
24
|
/**
|
22
25
|
* @private
|
23
26
|
* @class SelectUI
|
@@ -27,7 +30,9 @@ var _items = /*#__PURE__*/new WeakMap();
|
|
27
30
|
var _caption = /*#__PURE__*/new WeakMap();
|
28
31
|
var _captionElement = /*#__PURE__*/new WeakMap();
|
29
32
|
var _dropdown = /*#__PURE__*/new WeakMap();
|
30
|
-
var
|
33
|
+
var _onMenuSelect = /*#__PURE__*/new WeakSet();
|
34
|
+
var _onMenuClosed = /*#__PURE__*/new WeakSet();
|
35
|
+
var _onClick = /*#__PURE__*/new WeakSet();
|
31
36
|
class SelectUI extends _base.BaseUI {
|
32
37
|
static get DEFAULTS() {
|
33
38
|
return (0, _object.clone)({
|
@@ -45,37 +50,62 @@ class SelectUI extends _base.BaseUI {
|
|
45
50
|
|
46
51
|
constructor(hotInstance, options) {
|
47
52
|
super(hotInstance, (0, _object.extend)(SelectUI.DEFAULTS, options));
|
53
|
+
/**
|
54
|
+
* On element click listener.
|
55
|
+
*
|
56
|
+
* @private
|
57
|
+
*/
|
58
|
+
_classPrivateMethodInitSpec(this, _onClick);
|
59
|
+
/**
|
60
|
+
* On menu closed listener.
|
61
|
+
*/
|
62
|
+
_classPrivateMethodInitSpec(this, _onMenuClosed);
|
48
63
|
/**
|
49
64
|
* On menu selected listener.
|
50
65
|
*
|
51
66
|
* @param {object} command Selected item.
|
52
67
|
*/
|
53
|
-
_classPrivateMethodInitSpec(this,
|
54
|
-
_classPrivateFieldInitSpec(this, _menu,
|
68
|
+
_classPrivateMethodInitSpec(this, _onMenuSelect);
|
69
|
+
_classPrivateFieldInitSpec(this, _menu, {
|
70
|
+
writable: true,
|
71
|
+
value: null
|
72
|
+
});
|
55
73
|
/**
|
56
74
|
* List of available select options.
|
57
75
|
*
|
58
76
|
* @type {Array}
|
59
77
|
*/
|
60
|
-
_classPrivateFieldInitSpec(this, _items,
|
78
|
+
_classPrivateFieldInitSpec(this, _items, {
|
79
|
+
writable: true,
|
80
|
+
value: []
|
81
|
+
});
|
61
82
|
/**
|
62
83
|
* The reference to the BaseUI instance of the caption.
|
63
84
|
*
|
64
85
|
* @type {BaseUI}
|
65
86
|
*/
|
66
|
-
_classPrivateFieldInitSpec(this, _caption,
|
87
|
+
_classPrivateFieldInitSpec(this, _caption, {
|
88
|
+
writable: true,
|
89
|
+
value: void 0
|
90
|
+
});
|
67
91
|
/**
|
68
92
|
* The reference to the table caption element.
|
69
93
|
*
|
70
94
|
* @type {HTMLTableCaptionElement}
|
71
95
|
*/
|
72
|
-
_classPrivateFieldInitSpec(this, _captionElement,
|
96
|
+
_classPrivateFieldInitSpec(this, _captionElement, {
|
97
|
+
writable: true,
|
98
|
+
value: void 0
|
99
|
+
});
|
73
100
|
/**
|
74
101
|
* The reference to the BaseUI instance of the dropdown.
|
75
102
|
*
|
76
103
|
* @type {BaseUI}
|
77
104
|
*/
|
78
|
-
_classPrivateFieldInitSpec(this, _dropdown,
|
105
|
+
_classPrivateFieldInitSpec(this, _dropdown, {
|
106
|
+
writable: true,
|
107
|
+
value: void 0
|
108
|
+
});
|
79
109
|
this.registerHooks();
|
80
110
|
}
|
81
111
|
|
@@ -85,14 +115,14 @@ class SelectUI extends _base.BaseUI {
|
|
85
115
|
* @returns {Menu}
|
86
116
|
*/
|
87
117
|
getMenu() {
|
88
|
-
return _classPrivateFieldGet(
|
118
|
+
return _classPrivateFieldGet(this, _menu);
|
89
119
|
}
|
90
120
|
|
91
121
|
/**
|
92
122
|
* Register all necessary hooks.
|
93
123
|
*/
|
94
124
|
registerHooks() {
|
95
|
-
this.addLocalHook('click', () =>
|
125
|
+
this.addLocalHook('click', () => _classPrivateMethodGet(this, _onClick, _onClick2).call(this));
|
96
126
|
}
|
97
127
|
|
98
128
|
/**
|
@@ -101,9 +131,9 @@ class SelectUI extends _base.BaseUI {
|
|
101
131
|
* @param {Array} items Array of objects with required keys `key` and `name`.
|
102
132
|
*/
|
103
133
|
setItems(items) {
|
104
|
-
_classPrivateFieldSet(
|
105
|
-
if (_classPrivateFieldGet(
|
106
|
-
_classPrivateFieldGet(
|
134
|
+
_classPrivateFieldSet(this, _items, this.translateNames(items));
|
135
|
+
if (_classPrivateFieldGet(this, _menu)) {
|
136
|
+
_classPrivateFieldGet(this, _menu).setMenuItems(_classPrivateFieldGet(this, _items));
|
107
137
|
}
|
108
138
|
}
|
109
139
|
|
@@ -125,29 +155,29 @@ class SelectUI extends _base.BaseUI {
|
|
125
155
|
*/
|
126
156
|
build() {
|
127
157
|
super.build();
|
128
|
-
_classPrivateFieldSet(
|
158
|
+
_classPrivateFieldSet(this, _menu, new _menu2.Menu(this.hot, {
|
129
159
|
className: 'htSelectUI htFiltersConditionsMenu',
|
130
160
|
keepInViewport: false,
|
131
161
|
standalone: true,
|
132
162
|
container: this.options.menuContainer
|
133
163
|
}));
|
134
|
-
_classPrivateFieldGet(
|
164
|
+
_classPrivateFieldGet(this, _menu).setMenuItems(_classPrivateFieldGet(this, _items));
|
135
165
|
const caption = new _base.BaseUI(this.hot, {
|
136
166
|
className: 'htUISelectCaption'
|
137
167
|
});
|
138
168
|
const dropdown = new _base.BaseUI(this.hot, {
|
139
169
|
className: 'htUISelectDropdown'
|
140
170
|
});
|
141
|
-
_classPrivateFieldSet(
|
142
|
-
_classPrivateFieldSet(
|
143
|
-
_classPrivateFieldSet(
|
171
|
+
_classPrivateFieldSet(this, _caption, caption);
|
172
|
+
_classPrivateFieldSet(this, _captionElement, caption.element);
|
173
|
+
_classPrivateFieldSet(this, _dropdown, dropdown);
|
144
174
|
if (this.hot.getSettings().ariaTags) {
|
145
175
|
(0, _element.setAttribute)(dropdown.element, [(0, _a11y.A11Y_HIDDEN)()]);
|
146
176
|
(0, _element.setAttribute)(this._element, [(0, _a11y.A11Y_LISTBOX)()]);
|
147
177
|
}
|
148
178
|
(0, _array.arrayEach)([caption, dropdown], element => this._element.appendChild(element.element));
|
149
|
-
_classPrivateFieldGet(
|
150
|
-
_classPrivateFieldGet(
|
179
|
+
_classPrivateFieldGet(this, _menu).addLocalHook('select', command => _classPrivateMethodGet(this, _onMenuSelect, _onMenuSelect2).call(this, command));
|
180
|
+
_classPrivateFieldGet(this, _menu).addLocalHook('afterClose', () => _classPrivateMethodGet(this, _onMenuClosed, _onMenuClosed2).call(this));
|
151
181
|
this.update();
|
152
182
|
}
|
153
183
|
|
@@ -162,9 +192,9 @@ class SelectUI extends _base.BaseUI {
|
|
162
192
|
if (this.options.value) {
|
163
193
|
conditionName = this.options.value.name;
|
164
194
|
} else {
|
165
|
-
conditionName = _classPrivateFieldGet(
|
195
|
+
conditionName = _classPrivateFieldGet(this, _menu).hot.getTranslatedPhrase(C.FILTERS_CONDITIONS_NONE);
|
166
196
|
}
|
167
|
-
_classPrivateFieldGet(
|
197
|
+
_classPrivateFieldGet(this, _captionElement).textContent = conditionName;
|
168
198
|
super.update();
|
169
199
|
}
|
170
200
|
|
@@ -173,16 +203,16 @@ class SelectUI extends _base.BaseUI {
|
|
173
203
|
*/
|
174
204
|
openOptions() {
|
175
205
|
const rect = this.element.getBoundingClientRect();
|
176
|
-
if (_classPrivateFieldGet(
|
177
|
-
_classPrivateFieldGet(
|
178
|
-
_classPrivateFieldGet(
|
206
|
+
if (_classPrivateFieldGet(this, _menu)) {
|
207
|
+
_classPrivateFieldGet(this, _menu).open();
|
208
|
+
_classPrivateFieldGet(this, _menu).setPosition({
|
179
209
|
left: this.hot.isLtr() ? rect.left - 5 : rect.left - 31,
|
180
210
|
top: rect.top - 1,
|
181
211
|
width: rect.width,
|
182
212
|
height: rect.height
|
183
213
|
});
|
184
|
-
_classPrivateFieldGet(
|
185
|
-
_classPrivateFieldGet(
|
214
|
+
_classPrivateFieldGet(this, _menu).getNavigator().toFirstItem();
|
215
|
+
_classPrivateFieldGet(this, _menu).getKeyboardShortcutsCtrl().addCustomShortcuts([{
|
186
216
|
keys: [['Tab'], ['Shift', 'Tab']],
|
187
217
|
callback: event => {
|
188
218
|
this.closeOptions();
|
@@ -199,8 +229,8 @@ class SelectUI extends _base.BaseUI {
|
|
199
229
|
* Close select dropdown menu.
|
200
230
|
*/
|
201
231
|
closeOptions() {
|
202
|
-
if (_classPrivateFieldGet(
|
203
|
-
_classPrivateFieldGet(
|
232
|
+
if (_classPrivateFieldGet(this, _menu)) {
|
233
|
+
_classPrivateFieldGet(this, _menu).close();
|
204
234
|
}
|
205
235
|
}
|
206
236
|
|
@@ -216,38 +246,30 @@ class SelectUI extends _base.BaseUI {
|
|
216
246
|
* Destroy instance.
|
217
247
|
*/
|
218
248
|
destroy() {
|
219
|
-
if (_classPrivateFieldGet(
|
220
|
-
_classPrivateFieldGet(
|
221
|
-
_classPrivateFieldSet(
|
249
|
+
if (_classPrivateFieldGet(this, _menu)) {
|
250
|
+
_classPrivateFieldGet(this, _menu).destroy();
|
251
|
+
_classPrivateFieldSet(this, _menu, null);
|
222
252
|
}
|
223
|
-
if (_classPrivateFieldGet(
|
224
|
-
_classPrivateFieldGet(
|
253
|
+
if (_classPrivateFieldGet(this, _caption)) {
|
254
|
+
_classPrivateFieldGet(this, _caption).destroy();
|
225
255
|
}
|
226
|
-
if (_classPrivateFieldGet(
|
227
|
-
_classPrivateFieldGet(
|
256
|
+
if (_classPrivateFieldGet(this, _dropdown)) {
|
257
|
+
_classPrivateFieldGet(this, _dropdown).destroy();
|
228
258
|
}
|
229
259
|
super.destroy();
|
230
260
|
}
|
231
261
|
}
|
232
262
|
exports.SelectUI = SelectUI;
|
233
|
-
function
|
263
|
+
function _onMenuSelect2(command) {
|
234
264
|
if (command.name !== _predefinedItems.SEPARATOR) {
|
235
265
|
this.options.value = command;
|
236
266
|
this.update();
|
237
267
|
this.runLocalHooks('select', this.options.value);
|
238
268
|
}
|
239
269
|
}
|
240
|
-
|
241
|
-
* On menu closed listener.
|
242
|
-
*/
|
243
|
-
function _onMenuClosed() {
|
270
|
+
function _onMenuClosed2() {
|
244
271
|
this.runLocalHooks('afterClose');
|
245
272
|
}
|
246
|
-
|
247
|
-
* On element click listener.
|
248
|
-
*
|
249
|
-
* @private
|
250
|
-
*/
|
251
|
-
function _onClick() {
|
273
|
+
function _onClick2() {
|
252
274
|
this.openOptions();
|
253
275
|
}
|
@@ -2,9 +2,12 @@ import "core-js/modules/es.error.cause.js";
|
|
2
2
|
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
3
3
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
4
4
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
5
|
-
function _classPrivateFieldSet(
|
6
|
-
function
|
7
|
-
function
|
5
|
+
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
6
|
+
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; } }
|
7
|
+
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
|
8
|
+
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
|
9
|
+
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
10
|
+
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
8
11
|
import { Menu } from "../../../plugins/contextMenu/menu/index.mjs";
|
9
12
|
import { clone, extend } from "../../../helpers/object.mjs";
|
10
13
|
import { arrayEach } from "../../../helpers/array.mjs";
|
@@ -22,7 +25,9 @@ var _items = /*#__PURE__*/new WeakMap();
|
|
22
25
|
var _caption = /*#__PURE__*/new WeakMap();
|
23
26
|
var _captionElement = /*#__PURE__*/new WeakMap();
|
24
27
|
var _dropdown = /*#__PURE__*/new WeakMap();
|
25
|
-
var
|
28
|
+
var _onMenuSelect = /*#__PURE__*/new WeakSet();
|
29
|
+
var _onMenuClosed = /*#__PURE__*/new WeakSet();
|
30
|
+
var _onClick = /*#__PURE__*/new WeakSet();
|
26
31
|
export class SelectUI extends BaseUI {
|
27
32
|
static get DEFAULTS() {
|
28
33
|
return clone({
|
@@ -40,37 +45,62 @@ export class SelectUI extends BaseUI {
|
|
40
45
|
|
41
46
|
constructor(hotInstance, options) {
|
42
47
|
super(hotInstance, extend(SelectUI.DEFAULTS, options));
|
48
|
+
/**
|
49
|
+
* On element click listener.
|
50
|
+
*
|
51
|
+
* @private
|
52
|
+
*/
|
53
|
+
_classPrivateMethodInitSpec(this, _onClick);
|
54
|
+
/**
|
55
|
+
* On menu closed listener.
|
56
|
+
*/
|
57
|
+
_classPrivateMethodInitSpec(this, _onMenuClosed);
|
43
58
|
/**
|
44
59
|
* On menu selected listener.
|
45
60
|
*
|
46
61
|
* @param {object} command Selected item.
|
47
62
|
*/
|
48
|
-
_classPrivateMethodInitSpec(this,
|
49
|
-
_classPrivateFieldInitSpec(this, _menu,
|
63
|
+
_classPrivateMethodInitSpec(this, _onMenuSelect);
|
64
|
+
_classPrivateFieldInitSpec(this, _menu, {
|
65
|
+
writable: true,
|
66
|
+
value: null
|
67
|
+
});
|
50
68
|
/**
|
51
69
|
* List of available select options.
|
52
70
|
*
|
53
71
|
* @type {Array}
|
54
72
|
*/
|
55
|
-
_classPrivateFieldInitSpec(this, _items,
|
73
|
+
_classPrivateFieldInitSpec(this, _items, {
|
74
|
+
writable: true,
|
75
|
+
value: []
|
76
|
+
});
|
56
77
|
/**
|
57
78
|
* The reference to the BaseUI instance of the caption.
|
58
79
|
*
|
59
80
|
* @type {BaseUI}
|
60
81
|
*/
|
61
|
-
_classPrivateFieldInitSpec(this, _caption,
|
82
|
+
_classPrivateFieldInitSpec(this, _caption, {
|
83
|
+
writable: true,
|
84
|
+
value: void 0
|
85
|
+
});
|
62
86
|
/**
|
63
87
|
* The reference to the table caption element.
|
64
88
|
*
|
65
89
|
* @type {HTMLTableCaptionElement}
|
66
90
|
*/
|
67
|
-
_classPrivateFieldInitSpec(this, _captionElement,
|
91
|
+
_classPrivateFieldInitSpec(this, _captionElement, {
|
92
|
+
writable: true,
|
93
|
+
value: void 0
|
94
|
+
});
|
68
95
|
/**
|
69
96
|
* The reference to the BaseUI instance of the dropdown.
|
70
97
|
*
|
71
98
|
* @type {BaseUI}
|
72
99
|
*/
|
73
|
-
_classPrivateFieldInitSpec(this, _dropdown,
|
100
|
+
_classPrivateFieldInitSpec(this, _dropdown, {
|
101
|
+
writable: true,
|
102
|
+
value: void 0
|
103
|
+
});
|
74
104
|
this.registerHooks();
|
75
105
|
}
|
76
106
|
|
@@ -80,14 +110,14 @@ export class SelectUI extends BaseUI {
|
|
80
110
|
* @returns {Menu}
|
81
111
|
*/
|
82
112
|
getMenu() {
|
83
|
-
return _classPrivateFieldGet(
|
113
|
+
return _classPrivateFieldGet(this, _menu);
|
84
114
|
}
|
85
115
|
|
86
116
|
/**
|
87
117
|
* Register all necessary hooks.
|
88
118
|
*/
|
89
119
|
registerHooks() {
|
90
|
-
this.addLocalHook('click', () =>
|
120
|
+
this.addLocalHook('click', () => _classPrivateMethodGet(this, _onClick, _onClick2).call(this));
|
91
121
|
}
|
92
122
|
|
93
123
|
/**
|
@@ -96,9 +126,9 @@ export class SelectUI extends BaseUI {
|
|
96
126
|
* @param {Array} items Array of objects with required keys `key` and `name`.
|
97
127
|
*/
|
98
128
|
setItems(items) {
|
99
|
-
_classPrivateFieldSet(
|
100
|
-
if (_classPrivateFieldGet(
|
101
|
-
_classPrivateFieldGet(
|
129
|
+
_classPrivateFieldSet(this, _items, this.translateNames(items));
|
130
|
+
if (_classPrivateFieldGet(this, _menu)) {
|
131
|
+
_classPrivateFieldGet(this, _menu).setMenuItems(_classPrivateFieldGet(this, _items));
|
102
132
|
}
|
103
133
|
}
|
104
134
|
|
@@ -120,29 +150,29 @@ export class SelectUI extends BaseUI {
|
|
120
150
|
*/
|
121
151
|
build() {
|
122
152
|
super.build();
|
123
|
-
_classPrivateFieldSet(
|
153
|
+
_classPrivateFieldSet(this, _menu, new Menu(this.hot, {
|
124
154
|
className: 'htSelectUI htFiltersConditionsMenu',
|
125
155
|
keepInViewport: false,
|
126
156
|
standalone: true,
|
127
157
|
container: this.options.menuContainer
|
128
158
|
}));
|
129
|
-
_classPrivateFieldGet(
|
159
|
+
_classPrivateFieldGet(this, _menu).setMenuItems(_classPrivateFieldGet(this, _items));
|
130
160
|
const caption = new BaseUI(this.hot, {
|
131
161
|
className: 'htUISelectCaption'
|
132
162
|
});
|
133
163
|
const dropdown = new BaseUI(this.hot, {
|
134
164
|
className: 'htUISelectDropdown'
|
135
165
|
});
|
136
|
-
_classPrivateFieldSet(
|
137
|
-
_classPrivateFieldSet(
|
138
|
-
_classPrivateFieldSet(
|
166
|
+
_classPrivateFieldSet(this, _caption, caption);
|
167
|
+
_classPrivateFieldSet(this, _captionElement, caption.element);
|
168
|
+
_classPrivateFieldSet(this, _dropdown, dropdown);
|
139
169
|
if (this.hot.getSettings().ariaTags) {
|
140
170
|
setAttribute(dropdown.element, [A11Y_HIDDEN()]);
|
141
171
|
setAttribute(this._element, [A11Y_LISTBOX()]);
|
142
172
|
}
|
143
173
|
arrayEach([caption, dropdown], element => this._element.appendChild(element.element));
|
144
|
-
_classPrivateFieldGet(
|
145
|
-
_classPrivateFieldGet(
|
174
|
+
_classPrivateFieldGet(this, _menu).addLocalHook('select', command => _classPrivateMethodGet(this, _onMenuSelect, _onMenuSelect2).call(this, command));
|
175
|
+
_classPrivateFieldGet(this, _menu).addLocalHook('afterClose', () => _classPrivateMethodGet(this, _onMenuClosed, _onMenuClosed2).call(this));
|
146
176
|
this.update();
|
147
177
|
}
|
148
178
|
|
@@ -157,9 +187,9 @@ export class SelectUI extends BaseUI {
|
|
157
187
|
if (this.options.value) {
|
158
188
|
conditionName = this.options.value.name;
|
159
189
|
} else {
|
160
|
-
conditionName = _classPrivateFieldGet(
|
190
|
+
conditionName = _classPrivateFieldGet(this, _menu).hot.getTranslatedPhrase(C.FILTERS_CONDITIONS_NONE);
|
161
191
|
}
|
162
|
-
_classPrivateFieldGet(
|
192
|
+
_classPrivateFieldGet(this, _captionElement).textContent = conditionName;
|
163
193
|
super.update();
|
164
194
|
}
|
165
195
|
|
@@ -168,16 +198,16 @@ export class SelectUI extends BaseUI {
|
|
168
198
|
*/
|
169
199
|
openOptions() {
|
170
200
|
const rect = this.element.getBoundingClientRect();
|
171
|
-
if (_classPrivateFieldGet(
|
172
|
-
_classPrivateFieldGet(
|
173
|
-
_classPrivateFieldGet(
|
201
|
+
if (_classPrivateFieldGet(this, _menu)) {
|
202
|
+
_classPrivateFieldGet(this, _menu).open();
|
203
|
+
_classPrivateFieldGet(this, _menu).setPosition({
|
174
204
|
left: this.hot.isLtr() ? rect.left - 5 : rect.left - 31,
|
175
205
|
top: rect.top - 1,
|
176
206
|
width: rect.width,
|
177
207
|
height: rect.height
|
178
208
|
});
|
179
|
-
_classPrivateFieldGet(
|
180
|
-
_classPrivateFieldGet(
|
209
|
+
_classPrivateFieldGet(this, _menu).getNavigator().toFirstItem();
|
210
|
+
_classPrivateFieldGet(this, _menu).getKeyboardShortcutsCtrl().addCustomShortcuts([{
|
181
211
|
keys: [['Tab'], ['Shift', 'Tab']],
|
182
212
|
callback: event => {
|
183
213
|
this.closeOptions();
|
@@ -194,8 +224,8 @@ export class SelectUI extends BaseUI {
|
|
194
224
|
* Close select dropdown menu.
|
195
225
|
*/
|
196
226
|
closeOptions() {
|
197
|
-
if (_classPrivateFieldGet(
|
198
|
-
_classPrivateFieldGet(
|
227
|
+
if (_classPrivateFieldGet(this, _menu)) {
|
228
|
+
_classPrivateFieldGet(this, _menu).close();
|
199
229
|
}
|
200
230
|
}
|
201
231
|
|
@@ -211,37 +241,29 @@ export class SelectUI extends BaseUI {
|
|
211
241
|
* Destroy instance.
|
212
242
|
*/
|
213
243
|
destroy() {
|
214
|
-
if (_classPrivateFieldGet(
|
215
|
-
_classPrivateFieldGet(
|
216
|
-
_classPrivateFieldSet(
|
244
|
+
if (_classPrivateFieldGet(this, _menu)) {
|
245
|
+
_classPrivateFieldGet(this, _menu).destroy();
|
246
|
+
_classPrivateFieldSet(this, _menu, null);
|
217
247
|
}
|
218
|
-
if (_classPrivateFieldGet(
|
219
|
-
_classPrivateFieldGet(
|
248
|
+
if (_classPrivateFieldGet(this, _caption)) {
|
249
|
+
_classPrivateFieldGet(this, _caption).destroy();
|
220
250
|
}
|
221
|
-
if (_classPrivateFieldGet(
|
222
|
-
_classPrivateFieldGet(
|
251
|
+
if (_classPrivateFieldGet(this, _dropdown)) {
|
252
|
+
_classPrivateFieldGet(this, _dropdown).destroy();
|
223
253
|
}
|
224
254
|
super.destroy();
|
225
255
|
}
|
226
256
|
}
|
227
|
-
function
|
257
|
+
function _onMenuSelect2(command) {
|
228
258
|
if (command.name !== SEPARATOR) {
|
229
259
|
this.options.value = command;
|
230
260
|
this.update();
|
231
261
|
this.runLocalHooks('select', this.options.value);
|
232
262
|
}
|
233
263
|
}
|
234
|
-
|
235
|
-
* On menu closed listener.
|
236
|
-
*/
|
237
|
-
function _onMenuClosed() {
|
264
|
+
function _onMenuClosed2() {
|
238
265
|
this.runLocalHooks('afterClose');
|
239
266
|
}
|
240
|
-
|
241
|
-
* On element click listener.
|
242
|
-
*
|
243
|
-
* @private
|
244
|
-
*/
|
245
|
-
function _onClick() {
|
267
|
+
function _onClick2() {
|
246
268
|
this.openOptions();
|
247
269
|
}
|