handsontable 0.0.0-next-7026906-20231107 → 0.0.0-next-7b93b7d-20231107
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of handsontable might be problematic. Click here for more details.
- package/3rdparty/SheetClip/SheetClip.js +2 -2
- package/3rdparty/SheetClip/SheetClip.mjs +2 -2
- package/3rdparty/autoResize/autoResize.js +2 -2
- package/3rdparty/autoResize/autoResize.mjs +2 -2
- package/3rdparty/walkontable/src/calculator/viewportColumns.js +108 -85
- package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +108 -85
- package/3rdparty/walkontable/src/calculator/viewportRows.js +60 -52
- package/3rdparty/walkontable/src/calculator/viewportRows.mjs +60 -52
- package/3rdparty/walkontable/src/core/clone.js +6 -0
- package/3rdparty/walkontable/src/core/clone.mjs +6 -0
- package/3rdparty/walkontable/src/event.js +125 -74
- package/3rdparty/walkontable/src/event.mjs +125 -74
- package/3rdparty/walkontable/src/filter/column.js +16 -0
- package/3rdparty/walkontable/src/filter/column.mjs +16 -0
- package/3rdparty/walkontable/src/filter/row.js +16 -0
- package/3rdparty/walkontable/src/filter/row.mjs +16 -0
- package/3rdparty/walkontable/src/overlay/bottom.js +1 -1
- package/3rdparty/walkontable/src/overlay/bottom.mjs +1 -1
- package/3rdparty/walkontable/src/overlay/top.js +1 -1
- package/3rdparty/walkontable/src/overlay/top.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/_base.js +12 -5
- package/3rdparty/walkontable/src/renderer/_base.mjs +12 -5
- package/3rdparty/walkontable/src/renderer/cells.js +6 -2
- package/3rdparty/walkontable/src/renderer/cells.mjs +6 -2
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +6 -2
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +6 -2
- package/3rdparty/walkontable/src/renderer/rows.js +5 -0
- package/3rdparty/walkontable/src/renderer/rows.mjs +5 -0
- package/3rdparty/walkontable/src/renderer/table.js +24 -17
- package/3rdparty/walkontable/src/renderer/table.mjs +24 -17
- package/3rdparty/walkontable/src/scroll.js +2 -2
- package/3rdparty/walkontable/src/scroll.mjs +2 -2
- package/3rdparty/walkontable/src/selection/border/border.js +1 -1
- package/3rdparty/walkontable/src/selection/border/border.mjs +1 -1
- package/3rdparty/walkontable/src/settings.js +10 -10
- package/3rdparty/walkontable/src/settings.mjs +10 -10
- package/3rdparty/walkontable/src/table.js +3 -3
- package/3rdparty/walkontable/src/table.mjs +3 -3
- package/3rdparty/walkontable/src/utils/column.js +19 -4
- package/3rdparty/walkontable/src/utils/column.mjs +19 -4
- package/3rdparty/walkontable/src/utils/nodesPool.js +5 -0
- package/3rdparty/walkontable/src/utils/nodesPool.mjs +5 -0
- package/3rdparty/walkontable/src/utils/orderView/view.js +13 -6
- package/3rdparty/walkontable/src/utils/orderView/view.mjs +13 -6
- package/3rdparty/walkontable/src/utils/orderView/viewSize.js +9 -6
- package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +9 -6
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +7 -4
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +7 -4
- package/3rdparty/walkontable/src/utils/row.js +14 -2
- package/3rdparty/walkontable/src/utils/row.mjs +14 -2
- package/3rdparty/walkontable/src/viewport.js +9 -9
- package/3rdparty/walkontable/src/viewport.mjs +9 -9
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/core.js +25 -25
- package/core.mjs +25 -25
- package/dataMap/dataMap.js +99 -90
- package/dataMap/dataMap.mjs +99 -90
- package/dataMap/dataSource.js +14 -8
- package/dataMap/dataSource.mjs +14 -8
- package/dataMap/metaManager/lazyFactoryMap.js +19 -7
- package/dataMap/metaManager/lazyFactoryMap.mjs +19 -7
- package/dataMap/metaManager/metaLayers/cellMeta.js +8 -3
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +8 -3
- package/dataMap/metaManager/metaLayers/columnMeta.js +7 -1
- package/dataMap/metaManager/metaLayers/columnMeta.mjs +7 -1
- package/dataMap/metaManager/metaLayers/globalMeta.js +6 -1
- package/dataMap/metaManager/metaLayers/globalMeta.mjs +6 -1
- package/dataMap/metaManager/metaLayers/tableMeta.js +6 -2
- package/dataMap/metaManager/metaLayers/tableMeta.mjs +6 -2
- package/dataMap/metaManager/metaSchema.js +55 -55
- package/dataMap/metaManager/metaSchema.mjs +55 -55
- package/dataMap/metaManager/mods/dynamicCellMeta.js +7 -2
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +7 -2
- package/dataMap/metaManager/mods/extendMetaProperties.js +8 -4
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +8 -4
- package/dataMap/metaManager/utils.js +2 -2
- package/dataMap/metaManager/utils.mjs +2 -2
- package/dist/handsontable.css +2 -2
- package/dist/handsontable.full.css +2 -2
- package/dist/handsontable.full.js +7244 -6347
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +120 -120
- package/dist/handsontable.js +7243 -6346
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +28 -28
- package/editorManager.js +105 -95
- package/editorManager.mjs +105 -95
- package/editors/autocompleteEditor/autocompleteEditor.js +47 -46
- package/editors/autocompleteEditor/autocompleteEditor.mjs +46 -45
- package/editors/baseEditor/baseEditor.js +23 -26
- package/editors/baseEditor/baseEditor.mjs +23 -26
- package/editors/dateEditor/dateEditor.js +24 -15
- package/editors/dateEditor/dateEditor.mjs +24 -15
- package/editors/dropdownEditor/dropdownEditor.js +1 -1
- package/editors/dropdownEditor/dropdownEditor.mjs +1 -1
- package/editors/handsontableEditor/handsontableEditor.js +4 -4
- package/editors/handsontableEditor/handsontableEditor.mjs +4 -4
- package/editors/textEditor/textEditor.js +23 -17
- package/editors/textEditor/textEditor.mjs +24 -18
- package/eventManager.js +8 -0
- package/eventManager.mjs +8 -0
- package/helpers/array.js +2 -2
- package/helpers/array.mjs +2 -2
- package/helpers/dom/element.js +7 -7
- package/helpers/dom/element.mjs +7 -7
- package/helpers/function.js +1 -1
- package/helpers/function.mjs +1 -1
- package/helpers/mixed.js +1 -1
- package/helpers/mixed.mjs +1 -1
- package/helpers/object.js +4 -4
- package/helpers/object.mjs +4 -4
- package/helpers/string.js +1 -1
- package/helpers/string.mjs +1 -1
- package/package.json +1 -1
- package/pluginHooks.d.ts +0 -2
- package/pluginHooks.js +12 -3
- package/pluginHooks.mjs +12 -3
- package/plugins/autoColumnSize/autoColumnSize.js +141 -130
- package/plugins/autoColumnSize/autoColumnSize.mjs +140 -129
- package/plugins/autoRowSize/autoRowSize.js +112 -125
- package/plugins/autoRowSize/autoRowSize.mjs +110 -123
- package/plugins/autofill/autofill.js +97 -102
- package/plugins/autofill/autofill.mjs +96 -101
- package/plugins/base/base.js +57 -22
- package/plugins/base/base.mjs +56 -22
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +29 -24
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +28 -23
- package/plugins/collapsibleColumns/collapsibleColumns.js +104 -107
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +102 -104
- package/plugins/columnSorting/columnSorting.js +105 -98
- package/plugins/columnSorting/columnSorting.mjs +104 -97
- package/plugins/columnSorting/columnStatesManager.js +12 -6
- package/plugins/columnSorting/columnStatesManager.mjs +12 -6
- package/plugins/columnSummary/columnSummary.js +71 -58
- package/plugins/columnSummary/columnSummary.mjs +70 -57
- package/plugins/columnSummary/endpoints.js +20 -14
- package/plugins/columnSummary/endpoints.mjs +20 -14
- package/plugins/comments/commentEditor.js +30 -2
- package/plugins/comments/commentEditor.mjs +30 -2
- package/plugins/comments/comments.js +158 -169
- package/plugins/comments/comments.mjs +157 -168
- package/plugins/comments/displaySwitch.js +7 -3
- package/plugins/comments/displaySwitch.mjs +7 -3
- package/plugins/contextMenu/commandExecutor.js +15 -2
- package/plugins/contextMenu/commandExecutor.mjs +15 -2
- package/plugins/contextMenu/contextMenu.js +91 -101
- package/plugins/contextMenu/contextMenu.mjs +90 -100
- package/plugins/contextMenu/itemsFactory.js +19 -4
- package/plugins/contextMenu/itemsFactory.mjs +19 -4
- package/plugins/contextMenu/menu/cursor.js +36 -0
- package/plugins/contextMenu/menu/cursor.mjs +36 -0
- package/plugins/contextMenu/menu/menu.js +57 -5
- package/plugins/contextMenu/menu/menu.mjs +57 -5
- package/plugins/copyPaste/copyPaste.js +74 -75
- package/plugins/copyPaste/copyPaste.mjs +74 -75
- package/plugins/customBorders/customBorders.js +49 -48
- package/plugins/customBorders/customBorders.mjs +48 -47
- package/plugins/dragToScroll/dragToScroll.js +50 -54
- package/plugins/dragToScroll/dragToScroll.mjs +49 -52
- package/plugins/dropdownMenu/dropdownMenu.js +132 -129
- package/plugins/dropdownMenu/dropdownMenu.mjs +132 -129
- package/plugins/exportFile/dataProvider.js +7 -2
- package/plugins/exportFile/dataProvider.mjs +7 -2
- package/plugins/exportFile/exportFile.js +1 -1
- package/plugins/exportFile/exportFile.mjs +1 -1
- package/plugins/exportFile/types/_base.js +14 -6
- package/plugins/exportFile/types/_base.mjs +14 -6
- package/plugins/filters/component/actionBar.js +9 -0
- package/plugins/filters/component/actionBar.mjs +9 -0
- package/plugins/filters/component/condition.js +13 -0
- package/plugins/filters/component/condition.mjs +13 -0
- package/plugins/filters/component/operators.js +9 -0
- package/plugins/filters/component/operators.mjs +9 -0
- package/plugins/filters/component/value.js +9 -0
- package/plugins/filters/component/value.mjs +9 -0
- package/plugins/filters/conditionCollection.js +9 -4
- package/plugins/filters/conditionCollection.mjs +9 -4
- package/plugins/filters/conditionUpdateObserver.js +53 -42
- package/plugins/filters/conditionUpdateObserver.mjs +53 -42
- package/plugins/filters/dataFilter.js +9 -3
- package/plugins/filters/dataFilter.mjs +9 -3
- package/plugins/filters/filters.js +184 -189
- package/plugins/filters/filters.mjs +182 -187
- package/plugins/filters/ui/_base.js +1 -1
- package/plugins/filters/ui/_base.mjs +1 -1
- package/plugins/filters/utils.js +1 -1
- package/plugins/filters/utils.mjs +1 -1
- package/plugins/formulas/engine/settings.js +1 -1
- package/plugins/formulas/engine/settings.mjs +1 -1
- package/plugins/formulas/formulas.js +684 -602
- package/plugins/formulas/formulas.mjs +682 -600
- package/plugins/hiddenColumns/hiddenColumns.js +174 -169
- package/plugins/hiddenColumns/hiddenColumns.mjs +173 -168
- package/plugins/hiddenRows/hiddenRows.js +170 -165
- package/plugins/hiddenRows/hiddenRows.mjs +169 -164
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -1
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +1 -1
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -1
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +1 -1
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +67 -54
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +64 -51
- package/plugins/manualColumnMove/manualColumnMove.js +287 -232
- package/plugins/manualColumnMove/manualColumnMove.mjs +286 -231
- package/plugins/manualColumnMove/ui/_base.js +9 -3
- package/plugins/manualColumnMove/ui/_base.mjs +9 -3
- package/plugins/manualColumnResize/manualColumnResize.js +291 -246
- package/plugins/manualColumnResize/manualColumnResize.mjs +290 -244
- package/plugins/manualRowMove/manualRowMove.js +223 -208
- package/plugins/manualRowMove/manualRowMove.mjs +222 -207
- package/plugins/manualRowMove/ui/_base.js +10 -5
- package/plugins/manualRowMove/ui/_base.mjs +10 -5
- package/plugins/manualRowResize/manualRowResize.js +254 -209
- package/plugins/manualRowResize/manualRowResize.mjs +253 -207
- package/plugins/mergeCells/calculations/autofill.js +9 -3
- package/plugins/mergeCells/calculations/autofill.mjs +9 -3
- package/plugins/mergeCells/calculations/selection.js +10 -4
- package/plugins/mergeCells/calculations/selection.mjs +10 -4
- package/plugins/mergeCells/cellCoords.js +16 -6
- package/plugins/mergeCells/cellCoords.mjs +16 -6
- package/plugins/mergeCells/cellsCollection.js +10 -4
- package/plugins/mergeCells/cellsCollection.mjs +10 -4
- package/plugins/mergeCells/mergeCells.js +582 -502
- package/plugins/mergeCells/mergeCells.mjs +580 -500
- package/plugins/multiColumnSorting/multiColumnSorting.js +13 -10
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +13 -10
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +16 -28
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +16 -27
- package/plugins/nestedHeaders/nestedHeaders.js +542 -499
- package/plugins/nestedHeaders/nestedHeaders.mjs +554 -511
- package/plugins/nestedHeaders/stateManager/index.js +1 -1
- package/plugins/nestedHeaders/stateManager/index.mjs +1 -1
- package/plugins/nestedRows/data/dataManager.js +21 -15
- package/plugins/nestedRows/data/dataManager.mjs +21 -15
- package/plugins/nestedRows/nestedRows.js +326 -278
- package/plugins/nestedRows/nestedRows.mjs +325 -277
- package/plugins/nestedRows/ui/_base.js +7 -1
- package/plugins/nestedRows/ui/_base.mjs +7 -1
- package/plugins/nestedRows/ui/collapsing.js +2 -2
- package/plugins/nestedRows/ui/collapsing.mjs +2 -2
- package/plugins/nestedRows/ui/contextMenu.js +28 -18
- package/plugins/nestedRows/ui/contextMenu.mjs +28 -18
- package/plugins/nestedRows/utils/rowMoveController.js +12 -4
- package/plugins/nestedRows/utils/rowMoveController.mjs +12 -4
- package/plugins/persistentState/persistentState.js +14 -11
- package/plugins/persistentState/persistentState.mjs +14 -11
- package/plugins/persistentState/storage.js +11 -6
- package/plugins/persistentState/storage.mjs +11 -6
- package/plugins/registry.js +2 -2
- package/plugins/registry.mjs +2 -2
- package/plugins/search/search.js +57 -46
- package/plugins/search/search.mjs +56 -45
- package/plugins/touchScroll/touchScroll.js +102 -100
- package/plugins/touchScroll/touchScroll.mjs +100 -98
- package/plugins/trimRows/trimRows.js +33 -28
- package/plugins/trimRows/trimRows.mjs +32 -27
- package/plugins/undoRedo/undoRedo.js +2 -2
- package/plugins/undoRedo/undoRedo.mjs +2 -2
- package/renderers/autocompleteRenderer/autocompleteRenderer.js +11 -11
- package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +11 -11
- package/renderers/baseRenderer/baseRenderer.js +2 -2
- package/renderers/baseRenderer/baseRenderer.mjs +2 -2
- package/renderers/checkboxRenderer/checkboxRenderer.js +23 -23
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +23 -23
- package/renderers/dateRenderer/dateRenderer.js +4 -4
- package/renderers/dateRenderer/dateRenderer.mjs +4 -4
- package/renderers/handsontableRenderer/handsontableRenderer.js +4 -4
- package/renderers/handsontableRenderer/handsontableRenderer.mjs +4 -4
- package/renderers/htmlRenderer/htmlRenderer.js +4 -4
- package/renderers/htmlRenderer/htmlRenderer.mjs +4 -4
- package/renderers/numericRenderer/numericRenderer.js +3 -3
- package/renderers/numericRenderer/numericRenderer.mjs +3 -3
- package/renderers/passwordRenderer/passwordRenderer.js +3 -3
- package/renderers/passwordRenderer/passwordRenderer.mjs +3 -3
- package/renderers/selectRenderer/selectRenderer.js +4 -4
- package/renderers/selectRenderer/selectRenderer.mjs +4 -4
- package/renderers/textRenderer/textRenderer.js +5 -5
- package/renderers/textRenderer/textRenderer.mjs +5 -5
- package/renderers/timeRenderer/timeRenderer.js +3 -3
- package/renderers/timeRenderer/timeRenderer.mjs +3 -3
- package/selection/range.js +12 -2
- package/selection/range.mjs +12 -2
- package/selection/selection.js +3 -3
- package/selection/selection.mjs +3 -3
- package/tableView.js +208 -200
- package/tableView.mjs +208 -200
- package/translations/changesObservable/utils.js +2 -2
- package/translations/changesObservable/utils.mjs +2 -2
- package/translations/indexMapper.js +25 -22
- package/translations/indexMapper.mjs +25 -22
- package/translations/mapCollections/aggregatedCollection.js +8 -2
- package/translations/mapCollections/aggregatedCollection.mjs +8 -2
- package/translations/mapCollections/mapCollection.js +5 -2
- package/translations/mapCollections/mapCollection.mjs +5 -2
- package/translations/maps/indexMap.js +6 -1
- package/translations/maps/indexMap.mjs +6 -1
- package/translations/maps/utils/physicallyIndexed.js +2 -2
- package/translations/maps/utils/physicallyIndexed.mjs +2 -2
- package/utils/dataStructures/linkedList.js +10 -6
- package/utils/dataStructures/linkedList.mjs +10 -6
- package/utils/dataStructures/queue.js +1 -1
- package/utils/dataStructures/queue.mjs +1 -1
- package/utils/dataStructures/stack.js +1 -1
- package/utils/dataStructures/stack.mjs +1 -1
- package/utils/ghostTable.js +2 -2
- package/utils/ghostTable.mjs +2 -2
- package/utils/interval.js +73 -36
- package/utils/interval.mjs +73 -36
- package/utils/parseTable.js +1 -1
- package/utils/parseTable.mjs +1 -1
- package/validators/autocompleteValidator/autocompleteValidator.js +1 -1
- package/validators/autocompleteValidator/autocompleteValidator.mjs +1 -1
- package/validators/dateValidator/dateValidator.js +1 -1
- package/validators/dateValidator/dateValidator.mjs +1 -1
- package/validators/numericValidator/numericValidator.js +1 -1
- package/validators/numericValidator/numericValidator.mjs +1 -1
@@ -1,5 +1,6 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
2
|
import "core-js/modules/es.array.push.js";
|
3
|
+
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
3
4
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
4
5
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
5
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,6 +8,7 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typ
|
|
7
8
|
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
8
9
|
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
|
9
10
|
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
11
|
+
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
|
10
12
|
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
11
13
|
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
14
|
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; } }
|
@@ -15,7 +17,6 @@ import { arrayEach, arrayFilter, arrayUnique } from "../../helpers/array.mjs";
|
|
15
17
|
import { rangeEach } from "../../helpers/number.mjs";
|
16
18
|
import { warn } from "../../helpers/console.mjs";
|
17
19
|
import { addClass, hasClass, removeClass, fastInnerText, removeAttribute, setAttribute } from "../../helpers/dom/element.mjs";
|
18
|
-
import EventManager from "../../eventManager.mjs";
|
19
20
|
import { stopImmediatePropagation } from "../../helpers/dom/event.mjs";
|
20
21
|
import { A11Y_DESCRIPTION, A11Y_EXPANDED, A11Y_HIDDEN } from "../../helpers/a11y.mjs";
|
21
22
|
import { COLUMN_HEADER_DESCRIPTION_COLLAPSE_COLUMN, COLUMN_HEADER_DESCRIPTION_EXPAND_COLUMN } from "../../i18n/constants.mjs";
|
@@ -106,23 +107,48 @@ const actionDictionary = new Map([['collapse', {
|
|
106
107
|
* :::
|
107
108
|
*/
|
108
109
|
var _collapsedColumnsMap = /*#__PURE__*/new WeakMap();
|
110
|
+
var _onAfterGetColHeader = /*#__PURE__*/new WeakSet();
|
111
|
+
var _onBeforeOnCellMouseDown = /*#__PURE__*/new WeakSet();
|
112
|
+
var _onInit = /*#__PURE__*/new WeakSet();
|
113
|
+
var _onAfterLoadData = /*#__PURE__*/new WeakSet();
|
109
114
|
export class CollapsibleColumns extends BasePlugin {
|
110
115
|
constructor() {
|
111
116
|
super(...arguments);
|
112
117
|
/**
|
113
|
-
*
|
118
|
+
* Updates the plugin state after new dataset load.
|
114
119
|
*
|
115
|
-
* @
|
116
|
-
* @
|
120
|
+
* @param {Array[]} sourceData Array of arrays or array of objects containing data.
|
121
|
+
* @param {boolean} initialLoad Flag that determines whether the data has been loaded
|
122
|
+
* during the initialization.
|
117
123
|
*/
|
118
|
-
|
124
|
+
_classPrivateMethodInitSpec(this, _onAfterLoadData);
|
125
|
+
/**
|
126
|
+
* Updates the plugin state after HoT initialization.
|
127
|
+
*/
|
128
|
+
_classPrivateMethodInitSpec(this, _onInit);
|
129
|
+
/**
|
130
|
+
* Indicator mouse event callback.
|
131
|
+
*
|
132
|
+
* @param {object} event Mouse event.
|
133
|
+
* @param {object} coords Event coordinates.
|
134
|
+
*/
|
135
|
+
_classPrivateMethodInitSpec(this, _onBeforeOnCellMouseDown);
|
136
|
+
/**
|
137
|
+
* Adds the indicator to the headers.
|
138
|
+
*
|
139
|
+
* @param {number} column Column index.
|
140
|
+
* @param {HTMLElement} TH TH element.
|
141
|
+
* @param {number} headerLevel The index of header level counting from the top (positive
|
142
|
+
* values counting from 0 to N).
|
143
|
+
*/
|
144
|
+
_classPrivateMethodInitSpec(this, _onAfterGetColHeader);
|
119
145
|
/**
|
120
|
-
*
|
146
|
+
* Cached reference to the NestedHeaders plugin.
|
121
147
|
*
|
122
148
|
* @private
|
123
|
-
* @type {
|
149
|
+
* @type {NestedHeaders}
|
124
150
|
*/
|
125
|
-
_defineProperty(this, "
|
151
|
+
_defineProperty(this, "nestedHeadersPlugin", null);
|
126
152
|
/**
|
127
153
|
* The NestedHeaders plugin StateManager instance.
|
128
154
|
*
|
@@ -180,14 +206,20 @@ export class CollapsibleColumns extends BasePlugin {
|
|
180
206
|
_classPrivateFieldSet(this, _collapsedColumnsMap, this.hot.columnIndexMapper.createAndRegisterIndexMap(this.pluginName, 'hiding'));
|
181
207
|
this.nestedHeadersPlugin = this.hot.getPlugin('nestedHeaders');
|
182
208
|
this.headerStateManager = this.nestedHeadersPlugin.getStateManager();
|
183
|
-
this.addHook('init', () => this.
|
209
|
+
this.addHook('init', () => _classPrivateMethodGet(this, _onInit, _onInit2).call(this));
|
184
210
|
this.addHook('afterLoadData', function () {
|
185
|
-
|
211
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
212
|
+
args[_key] = arguments[_key];
|
213
|
+
}
|
214
|
+
return _classPrivateMethodGet(_this, _onAfterLoadData, _onAfterLoadData2).call(_this, ...args);
|
186
215
|
});
|
187
216
|
this.addHook('afterGetColHeader', function () {
|
188
|
-
|
217
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
218
|
+
args[_key2] = arguments[_key2];
|
219
|
+
}
|
220
|
+
return _classPrivateMethodGet(_this, _onAfterGetColHeader, _onAfterGetColHeader2).call(_this, ...args);
|
189
221
|
});
|
190
|
-
this.addHook('beforeOnCellMouseDown', (event, coords, TD) => this.
|
222
|
+
this.addHook('beforeOnCellMouseDown', (event, coords, TD) => _classPrivateMethodGet(this, _onBeforeOnCellMouseDown, _onBeforeOnCellMouseDown2).call(this, event, coords, TD));
|
191
223
|
this.registerShortcuts();
|
192
224
|
super.enablePlugin();
|
193
225
|
// @TODO: Workaround for broken plugin initialization abstraction (#6806).
|
@@ -481,109 +513,75 @@ export class CollapsibleColumns extends BasePlugin {
|
|
481
513
|
getCollapsedColumns() {
|
482
514
|
return _classPrivateFieldGet(this, _collapsedColumnsMap).getHiddenIndexes();
|
483
515
|
}
|
484
|
-
|
485
516
|
/**
|
486
|
-
*
|
487
|
-
*
|
488
|
-
* @private
|
489
|
-
* @param {number} column Column index.
|
490
|
-
* @param {HTMLElement} TH TH element.
|
491
|
-
* @param {number} headerLevel The index of header level counting from the top (positive
|
492
|
-
* values counting from 0 to N).
|
517
|
+
* Destroys the plugin instance.
|
493
518
|
*/
|
494
|
-
|
495
|
-
|
496
|
-
|
497
|
-
|
498
|
-
|
499
|
-
|
500
|
-
|
501
|
-
|
502
|
-
|
503
|
-
|
504
|
-
|
505
|
-
|
506
|
-
|
507
|
-
|
508
|
-
|
509
|
-
|
510
|
-
|
511
|
-
|
512
|
-
|
513
|
-
|
514
|
-
|
515
|
-
|
516
|
-
|
517
|
-
|
518
|
-
|
519
|
-
|
520
|
-
} else {
|
521
|
-
addClass(collapsibleElement, 'expanded');
|
522
|
-
fastInnerText(collapsibleElement, '-');
|
519
|
+
destroy() {
|
520
|
+
_classPrivateFieldSet(this, _collapsedColumnsMap, null);
|
521
|
+
super.destroy();
|
522
|
+
}
|
523
|
+
}
|
524
|
+
function _onAfterGetColHeader2(column, TH, headerLevel) {
|
525
|
+
var _this$headerStateMana3;
|
526
|
+
const {
|
527
|
+
collapsible,
|
528
|
+
origColspan,
|
529
|
+
isCollapsed
|
530
|
+
} = (_this$headerStateMana3 = this.headerStateManager.getHeaderSettings(headerLevel, column)) !== null && _this$headerStateMana3 !== void 0 ? _this$headerStateMana3 : {};
|
531
|
+
const isNodeCollapsible = collapsible && origColspan > 1 && column >= this.hot.getSettings().fixedColumnsStart;
|
532
|
+
const isAriaTagsEnabled = this.hot.getSettings().ariaTags;
|
533
|
+
let collapsibleElement = TH.querySelector(`.${COLLAPSIBLE_ELEMENT_CLASS}`);
|
534
|
+
removeAttribute(TH, [A11Y_EXPANDED('')[0]]);
|
535
|
+
if (isNodeCollapsible) {
|
536
|
+
if (!collapsibleElement) {
|
537
|
+
collapsibleElement = this.hot.rootDocument.createElement('div');
|
538
|
+
addClass(collapsibleElement, COLLAPSIBLE_ELEMENT_CLASS);
|
539
|
+
TH.querySelector('div:first-child').appendChild(collapsibleElement);
|
540
|
+
}
|
541
|
+
removeClass(collapsibleElement, ['collapsed', 'expanded']);
|
542
|
+
if (isCollapsed) {
|
543
|
+
addClass(collapsibleElement, 'collapsed');
|
544
|
+
fastInnerText(collapsibleElement, '+');
|
523
545
|
|
524
|
-
|
525
|
-
if (isAriaTagsEnabled) {
|
526
|
-
setAttribute(TH, [A11Y_EXPANDED(true), A11Y_DESCRIPTION(this.hot.getTranslatedPhrase(COLUMN_HEADER_DESCRIPTION_COLLAPSE_COLUMN))]);
|
527
|
-
}
|
528
|
-
}
|
546
|
+
// Add ARIA tags
|
529
547
|
if (isAriaTagsEnabled) {
|
530
|
-
setAttribute(
|
548
|
+
setAttribute(TH, [A11Y_EXPANDED(false), A11Y_DESCRIPTION(this.hot.getTranslatedPhrase(COLUMN_HEADER_DESCRIPTION_EXPAND_COLUMN))]);
|
531
549
|
}
|
532
550
|
} else {
|
533
|
-
|
534
|
-
(
|
535
|
-
}
|
536
|
-
}
|
551
|
+
addClass(collapsibleElement, 'expanded');
|
552
|
+
fastInnerText(collapsibleElement, '-');
|
537
553
|
|
538
|
-
|
539
|
-
|
540
|
-
|
541
|
-
* @private
|
542
|
-
* @param {object} event Mouse event.
|
543
|
-
* @param {object} coords Event coordinates.
|
544
|
-
*/
|
545
|
-
onBeforeOnCellMouseDown(event, coords) {
|
546
|
-
if (hasClass(event.target, COLLAPSIBLE_ELEMENT_CLASS)) {
|
547
|
-
if (hasClass(event.target, 'expanded')) {
|
548
|
-
this.eventManager.fireEvent(event.target, 'mouseup');
|
549
|
-
this.toggleCollapsibleSection([coords], 'collapse');
|
550
|
-
} else if (hasClass(event.target, 'collapsed')) {
|
551
|
-
this.eventManager.fireEvent(event.target, 'mouseup');
|
552
|
-
this.toggleCollapsibleSection([coords], 'expand');
|
554
|
+
// Add ARIA tags
|
555
|
+
if (isAriaTagsEnabled) {
|
556
|
+
setAttribute(TH, [A11Y_EXPANDED(true), A11Y_DESCRIPTION(this.hot.getTranslatedPhrase(COLUMN_HEADER_DESCRIPTION_COLLAPSE_COLUMN))]);
|
553
557
|
}
|
554
|
-
stopImmediatePropagation(event);
|
555
558
|
}
|
559
|
+
if (isAriaTagsEnabled) {
|
560
|
+
setAttribute(collapsibleElement, ...A11Y_HIDDEN());
|
561
|
+
}
|
562
|
+
} else {
|
563
|
+
var _collapsibleElement;
|
564
|
+
(_collapsibleElement = collapsibleElement) === null || _collapsibleElement === void 0 || _collapsibleElement.remove();
|
556
565
|
}
|
557
|
-
|
558
|
-
|
559
|
-
|
560
|
-
|
561
|
-
|
562
|
-
|
563
|
-
|
564
|
-
|
565
|
-
|
566
|
-
}
|
567
|
-
|
568
|
-
/**
|
569
|
-
* Updates the plugin state after new dataset load.
|
570
|
-
*
|
571
|
-
* @private
|
572
|
-
* @param {Array[]} sourceData Array of arrays or array of objects containing data.
|
573
|
-
* @param {boolean} initialLoad Flag that determines whether the data has been loaded
|
574
|
-
* during the initialization.
|
575
|
-
*/
|
576
|
-
onAfterLoadData(sourceData, initialLoad) {
|
577
|
-
if (!initialLoad) {
|
578
|
-
this.updatePlugin();
|
566
|
+
}
|
567
|
+
function _onBeforeOnCellMouseDown2(event, coords) {
|
568
|
+
if (hasClass(event.target, COLLAPSIBLE_ELEMENT_CLASS)) {
|
569
|
+
if (hasClass(event.target, 'expanded')) {
|
570
|
+
this.eventManager.fireEvent(event.target, 'mouseup');
|
571
|
+
this.toggleCollapsibleSection([coords], 'collapse');
|
572
|
+
} else if (hasClass(event.target, 'collapsed')) {
|
573
|
+
this.eventManager.fireEvent(event.target, 'mouseup');
|
574
|
+
this.toggleCollapsibleSection([coords], 'expand');
|
579
575
|
}
|
576
|
+
stopImmediatePropagation(event);
|
580
577
|
}
|
581
|
-
|
582
|
-
|
583
|
-
|
584
|
-
|
585
|
-
|
586
|
-
|
587
|
-
|
578
|
+
}
|
579
|
+
function _onInit2() {
|
580
|
+
// @TODO: Workaround for broken plugin initialization abstraction (#6806).
|
581
|
+
this.updatePlugin();
|
582
|
+
}
|
583
|
+
function _onAfterLoadData2(sourceData, initialLoad) {
|
584
|
+
if (!initialLoad) {
|
585
|
+
this.updatePlugin();
|
588
586
|
}
|
589
587
|
}
|
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
require("core-js/modules/es.array.push.js");
|
5
|
+
require("core-js/modules/es.error.cause.js");
|
5
6
|
var _element = require("../../helpers/dom/element");
|
6
7
|
var _mixed = require("../../helpers/mixed");
|
7
8
|
var _object = require("../../helpers/object");
|
@@ -18,6 +19,12 @@ var _sortService = require("./sortService");
|
|
18
19
|
var _a11y = require("../../helpers/a11y");
|
19
20
|
var _constants = require("../../i18n/constants");
|
20
21
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
22
|
+
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
23
|
+
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
24
|
+
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; }
|
25
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
26
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
27
|
+
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
|
21
28
|
const PLUGIN_KEY = 'columnSorting';
|
22
29
|
exports.PLUGIN_KEY = PLUGIN_KEY;
|
23
30
|
const PLUGIN_PRIORITY = 50;
|
@@ -82,45 +89,75 @@ _pluginHooks.default.getSingleton().register('afterColumnSort');
|
|
82
89
|
* }]
|
83
90
|
* ```
|
84
91
|
*/
|
92
|
+
var _loadOrSortBySettings = /*#__PURE__*/new WeakSet();
|
93
|
+
var _onAfterGetColHeader = /*#__PURE__*/new WeakSet();
|
94
|
+
var _onAfterLoadData = /*#__PURE__*/new WeakSet();
|
95
|
+
var _onBeforeOnCellMouseDown = /*#__PURE__*/new WeakSet();
|
85
96
|
class ColumnSorting extends _base.BasePlugin {
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
97
|
+
constructor() {
|
98
|
+
super(...arguments);
|
99
|
+
/**
|
100
|
+
* Changes the behavior of selection / dragging.
|
101
|
+
*
|
102
|
+
* @param {MouseEvent} event The `mousedown` event.
|
103
|
+
* @param {CellCoords} coords Visual coordinates.
|
104
|
+
* @param {HTMLElement} TD The cell element.
|
105
|
+
* @param {object} controller An object with properties `row`, `column` and `cell`. Each property contains
|
106
|
+
* a boolean value that allows or disallows changing the selection for that particular area.
|
107
|
+
*/
|
108
|
+
_classPrivateMethodInitSpec(this, _onBeforeOnCellMouseDown);
|
109
|
+
/**
|
110
|
+
* Callback for the `afterLoadData` hook.
|
111
|
+
*
|
112
|
+
* @param {boolean} initialLoad Flag that determines whether the data has been loaded during the initialization.
|
113
|
+
*/
|
114
|
+
_classPrivateMethodInitSpec(this, _onAfterLoadData);
|
115
|
+
/**
|
116
|
+
* Callback for the `onAfterGetColHeader` hook. Adds column sorting CSS classes.
|
117
|
+
*
|
118
|
+
* @param {number} column Visual column index.
|
119
|
+
* @param {Element} TH TH HTML element.
|
120
|
+
*/
|
121
|
+
_classPrivateMethodInitSpec(this, _onAfterGetColHeader);
|
122
|
+
/**
|
123
|
+
* Load saved settings or sort by predefined plugin configuration.
|
124
|
+
*/
|
125
|
+
_classPrivateMethodInitSpec(this, _loadOrSortBySettings);
|
94
126
|
/**
|
95
127
|
* Instance of column state manager.
|
96
128
|
*
|
97
129
|
* @private
|
98
130
|
* @type {null|ColumnStatesManager}
|
99
131
|
*/
|
100
|
-
this
|
132
|
+
_defineProperty(this, "columnStatesManager", null);
|
101
133
|
/**
|
102
134
|
* Cached column properties from plugin like i.e. `indicator`, `headerAction`.
|
103
135
|
*
|
104
136
|
* @private
|
105
137
|
* @type {null|PhysicalIndexToValueMap}
|
106
138
|
*/
|
107
|
-
this
|
139
|
+
_defineProperty(this, "columnMetaCache", null);
|
108
140
|
/**
|
109
141
|
* Main settings key designed for the plugin.
|
110
142
|
*
|
111
143
|
* @private
|
112
144
|
* @type {string}
|
113
145
|
*/
|
114
|
-
this
|
146
|
+
_defineProperty(this, "pluginKey", PLUGIN_KEY);
|
115
147
|
/**
|
116
148
|
* Plugin indexes cache.
|
117
149
|
*
|
118
150
|
* @private
|
119
151
|
* @type {null|IndexesSequence}
|
120
152
|
*/
|
121
|
-
this
|
153
|
+
_defineProperty(this, "indexesSequenceCache", null);
|
154
|
+
}
|
155
|
+
static get PLUGIN_KEY() {
|
156
|
+
return PLUGIN_KEY;
|
157
|
+
}
|
158
|
+
static get PLUGIN_PRIORITY() {
|
159
|
+
return PLUGIN_PRIORITY;
|
122
160
|
}
|
123
|
-
|
124
161
|
/**
|
125
162
|
* Checks if the plugin is enabled in the Handsontable settings. This method is executed in {@link Hooks#beforeInit}
|
126
163
|
* hook and if it returns `true` then the {@link ColumnSorting#enablePlugin} method is called.
|
@@ -148,19 +185,25 @@ class ColumnSorting extends _base.BasePlugin {
|
|
148
185
|
return this.getMergedPluginSettings(visualIndex);
|
149
186
|
});
|
150
187
|
this.hot.columnIndexMapper.registerMap(`${this.pluginKey}.columnMeta`, this.columnMetaCache);
|
151
|
-
this.addHook('afterGetColHeader', (column, TH) => this.
|
188
|
+
this.addHook('afterGetColHeader', (column, TH) => _classPrivateMethodGet(this, _onAfterGetColHeader, _onAfterGetColHeader2).call(this, column, TH));
|
152
189
|
this.addHook('beforeOnCellMouseDown', function () {
|
153
|
-
|
190
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
191
|
+
args[_key] = arguments[_key];
|
192
|
+
}
|
193
|
+
return _classPrivateMethodGet(_this, _onBeforeOnCellMouseDown, _onBeforeOnCellMouseDown2).call(_this, ...args);
|
154
194
|
});
|
155
195
|
this.addHook('afterOnCellMouseDown', (event, target) => this.onAfterOnCellMouseDown(event, target));
|
156
|
-
this.addHook('afterInit', () => this.
|
196
|
+
this.addHook('afterInit', () => _classPrivateMethodGet(this, _loadOrSortBySettings, _loadOrSortBySettings2).call(this));
|
157
197
|
this.addHook('afterLoadData', function () {
|
158
|
-
|
198
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
199
|
+
args[_key2] = arguments[_key2];
|
200
|
+
}
|
201
|
+
return _classPrivateMethodGet(_this, _onAfterLoadData, _onAfterLoadData2).call(_this, ...args);
|
159
202
|
});
|
160
203
|
|
161
204
|
// TODO: Workaround? It should be refactored / described.
|
162
205
|
if (this.hot.view) {
|
163
|
-
this.
|
206
|
+
_classPrivateMethodGet(this, _loadOrSortBySettings, _loadOrSortBySettings2).call(this);
|
164
207
|
}
|
165
208
|
this.registerShortcuts();
|
166
209
|
super.enablePlugin();
|
@@ -597,22 +640,6 @@ class ColumnSorting extends _base.BasePlugin {
|
|
597
640
|
});
|
598
641
|
this.hot.rowIndexMapper.setIndexesSequence(newIndexesSequence);
|
599
642
|
}
|
600
|
-
|
601
|
-
/**
|
602
|
-
* Load saved settings or sort by predefined plugin configuration.
|
603
|
-
*
|
604
|
-
* @private
|
605
|
-
*/
|
606
|
-
loadOrSortBySettings() {
|
607
|
-
const storedAllSortSettings = this.getAllSavedSortSettings();
|
608
|
-
if ((0, _object.isObject)(storedAllSortSettings)) {
|
609
|
-
this.sortBySettings(storedAllSortSettings);
|
610
|
-
} else {
|
611
|
-
const allSortSettings = this.hot.getSettings()[this.pluginKey];
|
612
|
-
this.sortBySettings(allSortSettings);
|
613
|
-
}
|
614
|
-
}
|
615
|
-
|
616
643
|
/**
|
617
644
|
* Sort the table by provided configuration.
|
618
645
|
*
|
@@ -632,31 +659,6 @@ class ColumnSorting extends _base.BasePlugin {
|
|
632
659
|
this.hot.render();
|
633
660
|
}
|
634
661
|
}
|
635
|
-
|
636
|
-
/**
|
637
|
-
* Callback for the `onAfterGetColHeader` hook. Adds column sorting CSS classes.
|
638
|
-
*
|
639
|
-
* @private
|
640
|
-
* @param {number} column Visual column index.
|
641
|
-
* @param {Element} TH TH HTML element.
|
642
|
-
*/
|
643
|
-
onAfterGetColHeader(column, TH) {
|
644
|
-
const headerSpanElement = (0, _utils.getHeaderSpanElement)(TH);
|
645
|
-
if ((0, _utils.isFirstLevelColumnHeader)(column, TH) === false || headerSpanElement === null) {
|
646
|
-
return;
|
647
|
-
}
|
648
|
-
const pluginSettingsForColumn = this.getFirstCellSettings(column)[this.pluginKey];
|
649
|
-
const ariaTags = this.hot.getSettings().ariaTags;
|
650
|
-
const showSortIndicator = pluginSettingsForColumn.indicator;
|
651
|
-
const headerActionEnabled = pluginSettingsForColumn.headerAction;
|
652
|
-
const currentSortState = this.columnStatesManager.getSortOrderOfColumn(column);
|
653
|
-
this.updateHeaderClasses(headerSpanElement, this.columnStatesManager, column, showSortIndicator, headerActionEnabled);
|
654
|
-
this.updateSortingIndicator(column, headerSpanElement);
|
655
|
-
if (ariaTags) {
|
656
|
-
(0, _element.setAttribute)(TH, [(0, _a11y.A11Y_SORT)(currentSortState ? `${currentSortState}ending` : 'none'), (0, _a11y.A11Y_DESCRIPTION)(this.hot.getTranslatedPhrase(_constants.COLUMN_HEADER_DESCRIPTION_SORT_ROWS))]);
|
657
|
-
}
|
658
|
-
}
|
659
|
-
|
660
662
|
/**
|
661
663
|
* Update header classes.
|
662
664
|
*
|
@@ -667,8 +669,8 @@ class ColumnSorting extends _base.BasePlugin {
|
|
667
669
|
updateHeaderClasses(headerSpanElement) {
|
668
670
|
(0, _element.removeClass)(headerSpanElement, (0, _domHelpers.getClassesToRemove)(headerSpanElement));
|
669
671
|
if (this.enabled !== false) {
|
670
|
-
for (var
|
671
|
-
args[
|
672
|
+
for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
|
673
|
+
args[_key3 - 1] = arguments[_key3];
|
672
674
|
}
|
673
675
|
(0, _element.addClass)(headerSpanElement, (0, _domHelpers.getClassesToAdd)(...args));
|
674
676
|
}
|
@@ -713,22 +715,6 @@ class ColumnSorting extends _base.BasePlugin {
|
|
713
715
|
this.sortBySettings(newSettings[this.pluginKey]);
|
714
716
|
}
|
715
717
|
}
|
716
|
-
|
717
|
-
/**
|
718
|
-
* Callback for the `afterLoadData` hook.
|
719
|
-
*
|
720
|
-
* @private
|
721
|
-
* @param {boolean} initialLoad Flag that determines whether the data has been loaded during the initialization.
|
722
|
-
*/
|
723
|
-
onAfterLoadData(initialLoad) {
|
724
|
-
if (initialLoad === true) {
|
725
|
-
// TODO: Workaround? It should be refactored / described.
|
726
|
-
if (this.hot.view) {
|
727
|
-
this.loadOrSortBySettings();
|
728
|
-
}
|
729
|
-
}
|
730
|
-
}
|
731
|
-
|
732
718
|
/**
|
733
719
|
* Indicates if clickable header was clicked.
|
734
720
|
*
|
@@ -742,26 +728,6 @@ class ColumnSorting extends _base.BasePlugin {
|
|
742
728
|
const headerActionEnabled = pluginSettingsForColumn.headerAction;
|
743
729
|
return headerActionEnabled && event.target.nodeName === 'SPAN';
|
744
730
|
}
|
745
|
-
|
746
|
-
/**
|
747
|
-
* Changes the behavior of selection / dragging.
|
748
|
-
*
|
749
|
-
* @private
|
750
|
-
* @param {MouseEvent} event The `mousedown` event.
|
751
|
-
* @param {CellCoords} coords Visual coordinates.
|
752
|
-
* @param {HTMLElement} TD The cell element.
|
753
|
-
* @param {object} controller An object with properties `row`, `column` and `cell`. Each property contains
|
754
|
-
* a boolean value that allows or disallows changing the selection for that particular area.
|
755
|
-
*/
|
756
|
-
onBeforeOnCellMouseDown(event, coords, TD, controller) {
|
757
|
-
if ((0, _utils.wasHeaderClickedProperly)(coords.row, coords.col, event) === false) {
|
758
|
-
return;
|
759
|
-
}
|
760
|
-
if (this.wasClickableHeaderClicked(event, coords.col) && this.hot.getShortcutManager().isCtrlPressed()) {
|
761
|
-
controller.column = true;
|
762
|
-
}
|
763
|
-
}
|
764
|
-
|
765
731
|
/**
|
766
732
|
* Callback for the `onAfterOnCellMouseDown` hook.
|
767
733
|
*
|
@@ -793,4 +759,45 @@ class ColumnSorting extends _base.BasePlugin {
|
|
793
759
|
super.destroy();
|
794
760
|
}
|
795
761
|
}
|
796
|
-
exports.ColumnSorting = ColumnSorting;
|
762
|
+
exports.ColumnSorting = ColumnSorting;
|
763
|
+
function _loadOrSortBySettings2() {
|
764
|
+
const storedAllSortSettings = this.getAllSavedSortSettings();
|
765
|
+
if ((0, _object.isObject)(storedAllSortSettings)) {
|
766
|
+
this.sortBySettings(storedAllSortSettings);
|
767
|
+
} else {
|
768
|
+
const allSortSettings = this.hot.getSettings()[this.pluginKey];
|
769
|
+
this.sortBySettings(allSortSettings);
|
770
|
+
}
|
771
|
+
}
|
772
|
+
function _onAfterGetColHeader2(column, TH) {
|
773
|
+
const headerSpanElement = (0, _utils.getHeaderSpanElement)(TH);
|
774
|
+
if ((0, _utils.isFirstLevelColumnHeader)(column, TH) === false || headerSpanElement === null) {
|
775
|
+
return;
|
776
|
+
}
|
777
|
+
const pluginSettingsForColumn = this.getFirstCellSettings(column)[this.pluginKey];
|
778
|
+
const ariaTags = this.hot.getSettings().ariaTags;
|
779
|
+
const showSortIndicator = pluginSettingsForColumn.indicator;
|
780
|
+
const headerActionEnabled = pluginSettingsForColumn.headerAction;
|
781
|
+
const currentSortState = this.columnStatesManager.getSortOrderOfColumn(column);
|
782
|
+
this.updateHeaderClasses(headerSpanElement, this.columnStatesManager, column, showSortIndicator, headerActionEnabled);
|
783
|
+
this.updateSortingIndicator(column, headerSpanElement);
|
784
|
+
if (ariaTags) {
|
785
|
+
(0, _element.setAttribute)(TH, [(0, _a11y.A11Y_SORT)(currentSortState ? `${currentSortState}ending` : 'none'), (0, _a11y.A11Y_DESCRIPTION)(this.hot.getTranslatedPhrase(_constants.COLUMN_HEADER_DESCRIPTION_SORT_ROWS))]);
|
786
|
+
}
|
787
|
+
}
|
788
|
+
function _onAfterLoadData2(initialLoad) {
|
789
|
+
if (initialLoad === true) {
|
790
|
+
// TODO: Workaround? It should be refactored / described.
|
791
|
+
if (this.hot.view) {
|
792
|
+
_classPrivateMethodGet(this, _loadOrSortBySettings, _loadOrSortBySettings2).call(this);
|
793
|
+
}
|
794
|
+
}
|
795
|
+
}
|
796
|
+
function _onBeforeOnCellMouseDown2(event, coords, TD, controller) {
|
797
|
+
if ((0, _utils.wasHeaderClickedProperly)(coords.row, coords.col, event) === false) {
|
798
|
+
return;
|
799
|
+
}
|
800
|
+
if (this.wasClickableHeaderClicked(event, coords.col) && this.hot.getShortcutManager().isCtrlPressed()) {
|
801
|
+
controller.column = true;
|
802
|
+
}
|
803
|
+
}
|