handsontable 0.0.0-next-bfb0e3a-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/overlays.js +1 -1
- package/3rdparty/walkontable/src/overlays.mjs +1 -1
- 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 +9117 -8969
- package/dist/handsontable.full.min.css +3 -3
- package/dist/handsontable.full.min.js +292 -292
- package/dist/handsontable.js +6569 -6874
- 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 -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 +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,8 +1,8 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
exports.__esModule = true;
|
4
|
-
require("core-js/modules/es.error.cause.js");
|
5
4
|
require("core-js/modules/es.array.push.js");
|
5
|
+
require("core-js/modules/es.error.cause.js");
|
6
6
|
var _element = require("../../../helpers/dom/element");
|
7
7
|
var _object = require("../../../helpers/object");
|
8
8
|
var _array = require("../../../helpers/array");
|
@@ -20,9 +20,12 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
20
20
|
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
21
21
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
22
22
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
23
|
-
function
|
24
|
-
function
|
25
|
-
function
|
23
|
+
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
|
24
|
+
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
|
25
|
+
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
26
|
+
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
27
|
+
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
28
|
+
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; } }
|
26
29
|
const SHORTCUTS_GROUP = 'multipleSelect.itemBox';
|
27
30
|
|
28
31
|
/**
|
@@ -35,7 +38,10 @@ var _locale = /*#__PURE__*/new WeakMap();
|
|
35
38
|
var _searchInput = /*#__PURE__*/new WeakMap();
|
36
39
|
var _selectAllUI = /*#__PURE__*/new WeakMap();
|
37
40
|
var _clearAllUI = /*#__PURE__*/new WeakMap();
|
38
|
-
var
|
41
|
+
var _onInput = /*#__PURE__*/new WeakSet();
|
42
|
+
var _onInputKeyDown = /*#__PURE__*/new WeakSet();
|
43
|
+
var _onSelectAllClick = /*#__PURE__*/new WeakSet();
|
44
|
+
var _onClearAllClick = /*#__PURE__*/new WeakSet();
|
39
45
|
class MultipleSelectUI extends _base.BaseUI {
|
40
46
|
static get DEFAULTS() {
|
41
47
|
return (0, _object.clone)({
|
@@ -52,52 +58,88 @@ class MultipleSelectUI extends _base.BaseUI {
|
|
52
58
|
|
53
59
|
constructor(hotInstance, options) {
|
54
60
|
super(hotInstance, (0, _object.extend)(MultipleSelectUI.DEFAULTS, options));
|
61
|
+
/**
|
62
|
+
* On click listener for "Clear" link.
|
63
|
+
*
|
64
|
+
* @param {DOMEvent} event The mouse event object.
|
65
|
+
*/
|
66
|
+
_classPrivateMethodInitSpec(this, _onClearAllClick);
|
67
|
+
/**
|
68
|
+
* On click listener for "Select all" link.
|
69
|
+
*
|
70
|
+
* @param {DOMEvent} event The mouse event object.
|
71
|
+
*/
|
72
|
+
_classPrivateMethodInitSpec(this, _onSelectAllClick);
|
73
|
+
/**
|
74
|
+
* 'keydown' event listener for input element.
|
75
|
+
*
|
76
|
+
* @param {Event} event DOM event.
|
77
|
+
*/
|
78
|
+
_classPrivateMethodInitSpec(this, _onInputKeyDown);
|
55
79
|
/**
|
56
80
|
* 'input' event listener for input element.
|
57
81
|
*
|
58
82
|
* @param {Event} event DOM event.
|
59
83
|
*/
|
60
|
-
_classPrivateMethodInitSpec(this,
|
61
|
-
_classPrivateFieldInitSpec(this, _items,
|
84
|
+
_classPrivateMethodInitSpec(this, _onInput);
|
85
|
+
_classPrivateFieldInitSpec(this, _items, {
|
86
|
+
writable: true,
|
87
|
+
value: []
|
88
|
+
});
|
62
89
|
/**
|
63
90
|
* Handsontable instance used as items list element.
|
64
91
|
*
|
65
92
|
* @type {Handsontable}
|
66
93
|
*/
|
67
|
-
_classPrivateFieldInitSpec(this, _itemsBox,
|
94
|
+
_classPrivateFieldInitSpec(this, _itemsBox, {
|
95
|
+
writable: true,
|
96
|
+
value: void 0
|
97
|
+
});
|
68
98
|
/**
|
69
99
|
* A locale for the component used to compare filtered values.
|
70
100
|
*
|
71
101
|
* @type {string}
|
72
102
|
*/
|
73
|
-
_classPrivateFieldInitSpec(this, _locale,
|
103
|
+
_classPrivateFieldInitSpec(this, _locale, {
|
104
|
+
writable: true,
|
105
|
+
value: void 0
|
106
|
+
});
|
74
107
|
/**
|
75
108
|
* Input element.
|
76
109
|
*
|
77
110
|
* @type {InputUI}
|
78
111
|
*/
|
79
|
-
_classPrivateFieldInitSpec(this, _searchInput,
|
112
|
+
_classPrivateFieldInitSpec(this, _searchInput, {
|
113
|
+
writable: true,
|
114
|
+
value: void 0
|
115
|
+
});
|
80
116
|
/**
|
81
117
|
* "Select all" UI element.
|
82
118
|
*
|
83
119
|
* @type {LinkUI}
|
84
120
|
*/
|
85
|
-
_classPrivateFieldInitSpec(this, _selectAllUI,
|
121
|
+
_classPrivateFieldInitSpec(this, _selectAllUI, {
|
122
|
+
writable: true,
|
123
|
+
value: void 0
|
124
|
+
});
|
86
125
|
/**
|
87
126
|
* "Clear" UI element.
|
88
127
|
*
|
89
128
|
* @type {LinkUI}
|
90
129
|
*/
|
91
|
-
_classPrivateFieldInitSpec(this, _clearAllUI,
|
92
|
-
|
130
|
+
_classPrivateFieldInitSpec(this, _clearAllUI, {
|
131
|
+
writable: true,
|
132
|
+
value: void 0
|
133
|
+
});
|
134
|
+
_classPrivateFieldSet(this, _searchInput, new _input.InputUI(this.hot, {
|
93
135
|
placeholder: C.FILTERS_BUTTONS_PLACEHOLDER_SEARCH,
|
94
136
|
className: 'htUIMultipleSelectSearch'
|
95
137
|
}));
|
96
|
-
_classPrivateFieldSet(
|
138
|
+
_classPrivateFieldSet(this, _selectAllUI, new _link.LinkUI(this.hot, {
|
97
139
|
textContent: C.FILTERS_BUTTONS_SELECT_ALL,
|
98
140
|
className: 'htUISelectAll'
|
99
141
|
}));
|
100
|
-
_classPrivateFieldSet(
|
142
|
+
_classPrivateFieldSet(this, _clearAllUI, new _link.LinkUI(this.hot, {
|
101
143
|
textContent: C.FILTERS_BUTTONS_CLEAR,
|
102
144
|
className: 'htUIClearAll'
|
103
145
|
}));
|
@@ -110,17 +152,17 @@ class MultipleSelectUI extends _base.BaseUI {
|
|
110
152
|
* @returns {Handsontable}
|
111
153
|
*/
|
112
154
|
getItemsBox() {
|
113
|
-
return _classPrivateFieldGet(
|
155
|
+
return _classPrivateFieldGet(this, _itemsBox);
|
114
156
|
}
|
115
157
|
|
116
158
|
/**
|
117
159
|
* Register all necessary hooks.
|
118
160
|
*/
|
119
161
|
registerHooks() {
|
120
|
-
_classPrivateFieldGet(
|
121
|
-
_classPrivateFieldGet(
|
122
|
-
_classPrivateFieldGet(
|
123
|
-
_classPrivateFieldGet(
|
162
|
+
_classPrivateFieldGet(this, _searchInput).addLocalHook('keydown', event => _classPrivateMethodGet(this, _onInputKeyDown, _onInputKeyDown2).call(this, event));
|
163
|
+
_classPrivateFieldGet(this, _searchInput).addLocalHook('input', event => _classPrivateMethodGet(this, _onInput, _onInput2).call(this, event));
|
164
|
+
_classPrivateFieldGet(this, _selectAllUI).addLocalHook('click', event => _classPrivateMethodGet(this, _onSelectAllClick, _onSelectAllClick2).call(this, event));
|
165
|
+
_classPrivateFieldGet(this, _clearAllUI).addLocalHook('click', event => _classPrivateMethodGet(this, _onClearAllClick, _onClearAllClick2).call(this, event));
|
124
166
|
}
|
125
167
|
|
126
168
|
/**
|
@@ -129,9 +171,9 @@ class MultipleSelectUI extends _base.BaseUI {
|
|
129
171
|
* @param {Array} items Array of objects with `checked` and `label` property.
|
130
172
|
*/
|
131
173
|
setItems(items) {
|
132
|
-
_classPrivateFieldSet(
|
133
|
-
if (_classPrivateFieldGet(
|
134
|
-
_classPrivateFieldGet(
|
174
|
+
_classPrivateFieldSet(this, _items, items);
|
175
|
+
if (_classPrivateFieldGet(this, _itemsBox)) {
|
176
|
+
_classPrivateFieldGet(this, _itemsBox).loadData(_classPrivateFieldGet(this, _items));
|
135
177
|
}
|
136
178
|
}
|
137
179
|
|
@@ -141,7 +183,7 @@ class MultipleSelectUI extends _base.BaseUI {
|
|
141
183
|
* @param {string} locale Locale used for filter actions performed on data, ie. `en-US`.
|
142
184
|
*/
|
143
185
|
setLocale(locale) {
|
144
|
-
_classPrivateFieldSet(
|
186
|
+
_classPrivateFieldSet(this, _locale, locale);
|
145
187
|
}
|
146
188
|
|
147
189
|
/**
|
@@ -150,7 +192,7 @@ class MultipleSelectUI extends _base.BaseUI {
|
|
150
192
|
* @returns {string}
|
151
193
|
*/
|
152
194
|
getLocale() {
|
153
|
-
return _classPrivateFieldGet(
|
195
|
+
return _classPrivateFieldGet(this, _locale);
|
154
196
|
}
|
155
197
|
|
156
198
|
/**
|
@@ -159,7 +201,7 @@ class MultipleSelectUI extends _base.BaseUI {
|
|
159
201
|
* @returns {Array}
|
160
202
|
*/
|
161
203
|
getItems() {
|
162
|
-
return [..._classPrivateFieldGet(
|
204
|
+
return [..._classPrivateFieldGet(this, _items)];
|
163
205
|
}
|
164
206
|
|
165
207
|
/**
|
@@ -168,7 +210,7 @@ class MultipleSelectUI extends _base.BaseUI {
|
|
168
210
|
* @returns {Array} Array of selected values.
|
169
211
|
*/
|
170
212
|
getValue() {
|
171
|
-
return itemsToValue(_classPrivateFieldGet(
|
213
|
+
return itemsToValue(_classPrivateFieldGet(this, _items));
|
172
214
|
}
|
173
215
|
|
174
216
|
/**
|
@@ -177,7 +219,7 @@ class MultipleSelectUI extends _base.BaseUI {
|
|
177
219
|
* @returns {InputUI}
|
178
220
|
*/
|
179
221
|
getSearchInputElement() {
|
180
|
-
return _classPrivateFieldGet(
|
222
|
+
return _classPrivateFieldGet(this, _searchInput);
|
181
223
|
}
|
182
224
|
|
183
225
|
/**
|
@@ -186,7 +228,7 @@ class MultipleSelectUI extends _base.BaseUI {
|
|
186
228
|
* @returns {LinkUI}
|
187
229
|
*/
|
188
230
|
getSelectAllElement() {
|
189
|
-
return _classPrivateFieldGet(
|
231
|
+
return _classPrivateFieldGet(this, _selectAllUI);
|
190
232
|
}
|
191
233
|
|
192
234
|
/**
|
@@ -195,7 +237,7 @@ class MultipleSelectUI extends _base.BaseUI {
|
|
195
237
|
* @returns {LinkUI}
|
196
238
|
*/
|
197
239
|
getClearAllElement() {
|
198
|
-
return _classPrivateFieldGet(
|
240
|
+
return _classPrivateFieldGet(this, _clearAllUI);
|
199
241
|
}
|
200
242
|
|
201
243
|
/**
|
@@ -204,7 +246,7 @@ class MultipleSelectUI extends _base.BaseUI {
|
|
204
246
|
* @returns {boolean}
|
205
247
|
*/
|
206
248
|
isSelectedAllValues() {
|
207
|
-
return _classPrivateFieldGet(
|
249
|
+
return _classPrivateFieldGet(this, _items).length === this.getValue().length;
|
208
250
|
}
|
209
251
|
|
210
252
|
/**
|
@@ -218,22 +260,22 @@ class MultipleSelectUI extends _base.BaseUI {
|
|
218
260
|
const itemsBoxWrapper = rootDocument.createElement('div');
|
219
261
|
const selectionControl = new _base.BaseUI(this.hot, {
|
220
262
|
className: 'htUISelectionControls',
|
221
|
-
children: [_classPrivateFieldGet(
|
263
|
+
children: [_classPrivateFieldGet(this, _selectAllUI), _classPrivateFieldGet(this, _clearAllUI)]
|
222
264
|
});
|
223
|
-
this._element.appendChild(_classPrivateFieldGet(
|
265
|
+
this._element.appendChild(_classPrivateFieldGet(this, _searchInput).element);
|
224
266
|
this._element.appendChild(selectionControl.element);
|
225
267
|
this._element.appendChild(itemsBoxWrapper);
|
226
268
|
const hotInitializer = wrapper => {
|
227
269
|
if (!this._element) {
|
228
270
|
return;
|
229
271
|
}
|
230
|
-
if (_classPrivateFieldGet(
|
231
|
-
_classPrivateFieldGet(
|
272
|
+
if (_classPrivateFieldGet(this, _itemsBox)) {
|
273
|
+
_classPrivateFieldGet(this, _itemsBox).destroy();
|
232
274
|
}
|
233
275
|
(0, _element.addClass)(wrapper, 'htUIMultipleSelectHot');
|
234
276
|
// Constructs and initializes a new Handsontable instance
|
235
|
-
_classPrivateFieldSet(
|
236
|
-
data: _classPrivateFieldGet(
|
277
|
+
_classPrivateFieldSet(this, _itemsBox, new this.hot.constructor(wrapper, {
|
278
|
+
data: _classPrivateFieldGet(this, _items),
|
237
279
|
columns: [{
|
238
280
|
data: 'checked',
|
239
281
|
type: 'checkbox',
|
@@ -249,13 +291,13 @@ class MultipleSelectUI extends _base.BaseUI {
|
|
249
291
|
this.runLocalHooks('focus', this);
|
250
292
|
},
|
251
293
|
beforeOnCellMouseUp: () => {
|
252
|
-
_classPrivateFieldGet(
|
294
|
+
_classPrivateFieldGet(this, _itemsBox).listen();
|
253
295
|
},
|
254
296
|
maxCols: 1,
|
255
297
|
autoWrapCol: true,
|
256
298
|
height: 110,
|
257
299
|
// Workaround for #151.
|
258
|
-
colWidths: () => _classPrivateFieldGet(
|
300
|
+
colWidths: () => _classPrivateFieldGet(this, _itemsBox).container.scrollWidth - (0, _element.getScrollbarWidth)(rootDocument),
|
259
301
|
copyPaste: false,
|
260
302
|
disableVisualSelection: 'area',
|
261
303
|
fillHandle: false,
|
@@ -266,8 +308,8 @@ class MultipleSelectUI extends _base.BaseUI {
|
|
266
308
|
},
|
267
309
|
layoutDirection: this.hot.isRtl() ? 'rtl' : 'ltr'
|
268
310
|
}));
|
269
|
-
_classPrivateFieldGet(
|
270
|
-
const shortcutManager = _classPrivateFieldGet(
|
311
|
+
_classPrivateFieldGet(this, _itemsBox).init();
|
312
|
+
const shortcutManager = _classPrivateFieldGet(this, _itemsBox).getShortcutManager();
|
271
313
|
const gridContext = shortcutManager.getContext('grid');
|
272
314
|
gridContext.removeShortcutsByKeys(['Tab']);
|
273
315
|
gridContext.removeShortcutsByKeys(['Shift', 'Tab']);
|
@@ -281,7 +323,7 @@ class MultipleSelectUI extends _base.BaseUI {
|
|
281
323
|
gridContext.addShortcut({
|
282
324
|
keys: [['Tab'], ['Shift', 'Tab']],
|
283
325
|
callback: event => {
|
284
|
-
_classPrivateFieldGet(
|
326
|
+
_classPrivateFieldGet(this, _itemsBox).deselectCell();
|
285
327
|
this.runLocalHooks('keydown', event, this);
|
286
328
|
this.runLocalHooks('listTabKeydown', event, this);
|
287
329
|
},
|
@@ -297,7 +339,7 @@ class MultipleSelectUI extends _base.BaseUI {
|
|
297
339
|
*/
|
298
340
|
focus() {
|
299
341
|
if (this.isBuilt()) {
|
300
|
-
_classPrivateFieldGet(
|
342
|
+
_classPrivateFieldGet(this, _itemsBox).listen();
|
301
343
|
}
|
302
344
|
}
|
303
345
|
|
@@ -305,9 +347,9 @@ class MultipleSelectUI extends _base.BaseUI {
|
|
305
347
|
* Reset DOM structure.
|
306
348
|
*/
|
307
349
|
reset() {
|
308
|
-
_classPrivateFieldGet(
|
309
|
-
_classPrivateFieldGet(
|
310
|
-
_classPrivateFieldGet(
|
350
|
+
_classPrivateFieldGet(this, _searchInput).reset();
|
351
|
+
_classPrivateFieldGet(this, _selectAllUI).reset();
|
352
|
+
_classPrivateFieldGet(this, _clearAllUI).reset();
|
311
353
|
}
|
312
354
|
|
313
355
|
/**
|
@@ -317,7 +359,7 @@ class MultipleSelectUI extends _base.BaseUI {
|
|
317
359
|
if (!this.isBuilt()) {
|
318
360
|
return;
|
319
361
|
}
|
320
|
-
_classPrivateFieldGet(
|
362
|
+
_classPrivateFieldGet(this, _itemsBox).loadData(valueToItems(_classPrivateFieldGet(this, _items), this.options.value));
|
321
363
|
super.update();
|
322
364
|
}
|
323
365
|
|
@@ -325,73 +367,58 @@ class MultipleSelectUI extends _base.BaseUI {
|
|
325
367
|
* Destroy instance.
|
326
368
|
*/
|
327
369
|
destroy() {
|
328
|
-
if (_classPrivateFieldGet(
|
329
|
-
_classPrivateFieldGet(
|
370
|
+
if (_classPrivateFieldGet(this, _itemsBox)) {
|
371
|
+
_classPrivateFieldGet(this, _itemsBox).destroy();
|
330
372
|
}
|
331
|
-
_classPrivateFieldGet(
|
332
|
-
_classPrivateFieldGet(
|
333
|
-
_classPrivateFieldGet(
|
334
|
-
_classPrivateFieldSet(
|
335
|
-
_classPrivateFieldSet(
|
336
|
-
_classPrivateFieldSet(
|
337
|
-
_classPrivateFieldSet(
|
338
|
-
_classPrivateFieldSet(
|
373
|
+
_classPrivateFieldGet(this, _searchInput).destroy();
|
374
|
+
_classPrivateFieldGet(this, _clearAllUI).destroy();
|
375
|
+
_classPrivateFieldGet(this, _selectAllUI).destroy();
|
376
|
+
_classPrivateFieldSet(this, _searchInput, null);
|
377
|
+
_classPrivateFieldSet(this, _clearAllUI, null);
|
378
|
+
_classPrivateFieldSet(this, _selectAllUI, null);
|
379
|
+
_classPrivateFieldSet(this, _itemsBox, null);
|
380
|
+
_classPrivateFieldSet(this, _items, null);
|
339
381
|
super.destroy();
|
340
382
|
}
|
341
383
|
}
|
342
384
|
exports.MultipleSelectUI = MultipleSelectUI;
|
343
|
-
function
|
385
|
+
function _onInput2(event) {
|
344
386
|
const value = event.target.value.toLocaleLowerCase(this.getLocale());
|
345
387
|
let filteredItems;
|
346
388
|
if (value === '') {
|
347
|
-
filteredItems = [..._classPrivateFieldGet(
|
389
|
+
filteredItems = [..._classPrivateFieldGet(this, _items)];
|
348
390
|
} else {
|
349
|
-
filteredItems = (0, _array.arrayFilter)(_classPrivateFieldGet(
|
391
|
+
filteredItems = (0, _array.arrayFilter)(_classPrivateFieldGet(this, _items), item => `${item.value}`.toLocaleLowerCase(this.getLocale()).indexOf(value) >= 0);
|
350
392
|
}
|
351
|
-
_classPrivateFieldGet(
|
393
|
+
_classPrivateFieldGet(this, _itemsBox).loadData(filteredItems);
|
352
394
|
}
|
353
|
-
|
354
|
-
* 'keydown' event listener for input element.
|
355
|
-
*
|
356
|
-
* @param {Event} event DOM event.
|
357
|
-
*/
|
358
|
-
function _onInputKeyDown(event) {
|
395
|
+
function _onInputKeyDown2(event) {
|
359
396
|
this.runLocalHooks('keydown', event, this);
|
360
397
|
const isKeyCode = (0, _function.partial)(_unicode.isKey, event.keyCode);
|
361
398
|
if (isKeyCode('ARROW_DOWN')) {
|
362
399
|
event.preventDefault();
|
363
400
|
(0, _event.stopImmediatePropagation)(event);
|
364
|
-
_classPrivateFieldGet(
|
365
|
-
_classPrivateFieldGet(
|
401
|
+
_classPrivateFieldGet(this, _itemsBox).listen();
|
402
|
+
_classPrivateFieldGet(this, _itemsBox).selectCell(0, 0);
|
366
403
|
}
|
367
404
|
}
|
368
|
-
|
369
|
-
* On click listener for "Select all" link.
|
370
|
-
*
|
371
|
-
* @param {DOMEvent} event The mouse event object.
|
372
|
-
*/
|
373
|
-
function _onSelectAllClick(event) {
|
405
|
+
function _onSelectAllClick2(event) {
|
374
406
|
const changes = [];
|
375
407
|
event.preventDefault();
|
376
|
-
(0, _array.arrayEach)(_classPrivateFieldGet(
|
408
|
+
(0, _array.arrayEach)(_classPrivateFieldGet(this, _itemsBox).getSourceData(), (row, rowIndex) => {
|
377
409
|
row.checked = true;
|
378
410
|
changes.push((0, _data.dataRowToChangesArray)(row, rowIndex)[0]);
|
379
411
|
});
|
380
|
-
_classPrivateFieldGet(
|
412
|
+
_classPrivateFieldGet(this, _itemsBox).setSourceDataAtCell(changes);
|
381
413
|
}
|
382
|
-
|
383
|
-
* On click listener for "Clear" link.
|
384
|
-
*
|
385
|
-
* @param {DOMEvent} event The mouse event object.
|
386
|
-
*/
|
387
|
-
function _onClearAllClick(event) {
|
414
|
+
function _onClearAllClick2(event) {
|
388
415
|
const changes = [];
|
389
416
|
event.preventDefault();
|
390
|
-
(0, _array.arrayEach)(_classPrivateFieldGet(
|
417
|
+
(0, _array.arrayEach)(_classPrivateFieldGet(this, _itemsBox).getSourceData(), (row, rowIndex) => {
|
391
418
|
row.checked = false;
|
392
419
|
changes.push((0, _data.dataRowToChangesArray)(row, rowIndex)[0]);
|
393
420
|
});
|
394
|
-
_classPrivateFieldGet(
|
421
|
+
_classPrivateFieldGet(this, _itemsBox).setSourceDataAtCell(changes);
|
395
422
|
}
|
396
423
|
var _default = exports.default = MultipleSelectUI;
|
397
424
|
/**
|