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
package/helpers/object.js
CHANGED
@@ -157,7 +157,7 @@ function mixin(Base) {
|
|
157
157
|
(0, _array.arrayEach)(mixins, mixinItem => {
|
158
158
|
Base.MIXINS.push(mixinItem.MIXIN_NAME);
|
159
159
|
objectEach(mixinItem, (value, key) => {
|
160
|
-
if (Base.prototype[key] !==
|
160
|
+
if (Base.prototype[key] !== undefined) {
|
161
161
|
throw new Error(`Mixin conflict. Property '${key}' already exist and cannot be overwritten.`);
|
162
162
|
}
|
163
163
|
if (typeof value === 'function') {
|
@@ -173,7 +173,7 @@ function mixin(Base) {
|
|
173
173
|
return result;
|
174
174
|
};
|
175
175
|
return function () {
|
176
|
-
if (this[propertyName] ===
|
176
|
+
if (this[propertyName] === undefined) {
|
177
177
|
this[propertyName] = initValue(initialValue);
|
178
178
|
}
|
179
179
|
return this[propertyName];
|
@@ -263,8 +263,8 @@ function getProperty(object, name) {
|
|
263
263
|
let result = object;
|
264
264
|
objectEach(names, nameItem => {
|
265
265
|
result = result[nameItem];
|
266
|
-
if (result ===
|
267
|
-
result =
|
266
|
+
if (result === undefined) {
|
267
|
+
result = undefined;
|
268
268
|
return false;
|
269
269
|
}
|
270
270
|
});
|
package/helpers/object.mjs
CHANGED
@@ -138,7 +138,7 @@ export function mixin(Base) {
|
|
138
138
|
arrayEach(mixins, mixinItem => {
|
139
139
|
Base.MIXINS.push(mixinItem.MIXIN_NAME);
|
140
140
|
objectEach(mixinItem, (value, key) => {
|
141
|
-
if (Base.prototype[key] !==
|
141
|
+
if (Base.prototype[key] !== undefined) {
|
142
142
|
throw new Error(`Mixin conflict. Property '${key}' already exist and cannot be overwritten.`);
|
143
143
|
}
|
144
144
|
if (typeof value === 'function') {
|
@@ -154,7 +154,7 @@ export function mixin(Base) {
|
|
154
154
|
return result;
|
155
155
|
};
|
156
156
|
return function () {
|
157
|
-
if (this[propertyName] ===
|
157
|
+
if (this[propertyName] === undefined) {
|
158
158
|
this[propertyName] = initValue(initialValue);
|
159
159
|
}
|
160
160
|
return this[propertyName];
|
@@ -244,8 +244,8 @@ export function getProperty(object, name) {
|
|
244
244
|
let result = object;
|
245
245
|
objectEach(names, nameItem => {
|
246
246
|
result = result[nameItem];
|
247
|
-
if (result ===
|
248
|
-
result =
|
247
|
+
if (result === undefined) {
|
248
|
+
result = undefined;
|
249
249
|
return false;
|
250
250
|
}
|
251
251
|
});
|
package/helpers/string.js
CHANGED
package/helpers/string.mjs
CHANGED
@@ -72,7 +72,7 @@ export function substitute(template) {
|
|
72
72
|
if (match.charAt(0) === '\\') {
|
73
73
|
return match.substr(1, match.length - 1);
|
74
74
|
}
|
75
|
-
return variables[name] ===
|
75
|
+
return variables[name] === undefined ? '' : variables[name];
|
76
76
|
});
|
77
77
|
}
|
78
78
|
|
package/package.json
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
"url": "https://github.com/handsontable/handsontable/issues"
|
11
11
|
},
|
12
12
|
"author": "Handsoncode <hello@handsontable.com>",
|
13
|
-
"version": "0.0.0-next-
|
13
|
+
"version": "0.0.0-next-7b93b7d-20231107",
|
14
14
|
"main": "index",
|
15
15
|
"module": "index.mjs",
|
16
16
|
"jsnext:main": "index.mjs",
|
package/pluginHooks.d.ts
CHANGED
@@ -47,13 +47,11 @@ interface HookHighlightRowHeaderMeta {
|
|
47
47
|
selectionType: string;
|
48
48
|
rowCursor: number;
|
49
49
|
selectionHeight: number;
|
50
|
-
classNames: string[];
|
51
50
|
}
|
52
51
|
interface HookHighlightColumnHeaderMeta {
|
53
52
|
selectionType: string;
|
54
53
|
columnCursor: number;
|
55
54
|
selectionWidth: number;
|
56
|
-
classNames: string[];
|
57
55
|
}
|
58
56
|
|
59
57
|
export interface Events {
|
package/pluginHooks.js
CHANGED
@@ -2,12 +2,16 @@
|
|
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 _array = require("./helpers/array");
|
6
7
|
var _object = require("./helpers/object");
|
7
8
|
var _string = require("./helpers/string");
|
8
9
|
var _console = require("./helpers/console");
|
9
10
|
var _templateLiteralTag = require("./helpers/templateLiteralTag");
|
10
11
|
var _function = require("./helpers/function");
|
12
|
+
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; }
|
13
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
14
|
+
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); }
|
11
15
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
12
16
|
/**
|
13
17
|
* @description
|
@@ -2571,10 +2575,15 @@ class Hooks {
|
|
2571
2575
|
return getGlobalSingleton();
|
2572
2576
|
}
|
2573
2577
|
|
2578
|
+
/**
|
2579
|
+
* @type {object}
|
2580
|
+
*/
|
2581
|
+
|
2574
2582
|
/**
|
2575
2583
|
*
|
2576
2584
|
*/
|
2577
2585
|
constructor() {
|
2586
|
+
_defineProperty(this, "globalBucket", void 0);
|
2578
2587
|
this.globalBucket = this.createEmptyBucket();
|
2579
2588
|
}
|
2580
2589
|
|
@@ -2749,7 +2758,7 @@ class Hooks {
|
|
2749
2758
|
has(key) {
|
2750
2759
|
let context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
2751
2760
|
const bucket = this.getBucket(context);
|
2752
|
-
return !!(bucket[key] !==
|
2761
|
+
return !!(bucket[key] !== undefined && bucket[key].length);
|
2753
2762
|
}
|
2754
2763
|
|
2755
2764
|
/**
|
@@ -2786,7 +2795,7 @@ class Hooks {
|
|
2786
2795
|
continue;
|
2787
2796
|
}
|
2788
2797
|
const res = (0, _function.fastCall)(globalHandlers[index], context, p1, p2, p3, p4, p5, p6);
|
2789
|
-
if (res !==
|
2798
|
+
if (res !== undefined) {
|
2790
2799
|
// eslint-disable-next-line no-param-reassign
|
2791
2800
|
p1 = res;
|
2792
2801
|
}
|
@@ -2810,7 +2819,7 @@ class Hooks {
|
|
2810
2819
|
continue;
|
2811
2820
|
}
|
2812
2821
|
const res = (0, _function.fastCall)(localHandlers[index], context, p1, p2, p3, p4, p5, p6);
|
2813
|
-
if (res !==
|
2822
|
+
if (res !== undefined) {
|
2814
2823
|
// eslint-disable-next-line no-param-reassign
|
2815
2824
|
p1 = res;
|
2816
2825
|
}
|
package/pluginHooks.mjs
CHANGED
@@ -1,4 +1,8 @@
|
|
1
1
|
import "core-js/modules/es.array.push.js";
|
2
|
+
import "core-js/modules/es.error.cause.js";
|
3
|
+
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; }
|
4
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
5
|
+
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); }
|
2
6
|
import { arrayEach } from "./helpers/array.mjs";
|
3
7
|
import { objectEach } from "./helpers/object.mjs";
|
4
8
|
import { substitute } from "./helpers/string.mjs";
|
@@ -2569,10 +2573,15 @@ class Hooks {
|
|
2569
2573
|
return getGlobalSingleton();
|
2570
2574
|
}
|
2571
2575
|
|
2576
|
+
/**
|
2577
|
+
* @type {object}
|
2578
|
+
*/
|
2579
|
+
|
2572
2580
|
/**
|
2573
2581
|
*
|
2574
2582
|
*/
|
2575
2583
|
constructor() {
|
2584
|
+
_defineProperty(this, "globalBucket", void 0);
|
2576
2585
|
this.globalBucket = this.createEmptyBucket();
|
2577
2586
|
}
|
2578
2587
|
|
@@ -2747,7 +2756,7 @@ class Hooks {
|
|
2747
2756
|
has(key) {
|
2748
2757
|
let context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
2749
2758
|
const bucket = this.getBucket(context);
|
2750
|
-
return !!(bucket[key] !==
|
2759
|
+
return !!(bucket[key] !== undefined && bucket[key].length);
|
2751
2760
|
}
|
2752
2761
|
|
2753
2762
|
/**
|
@@ -2784,7 +2793,7 @@ class Hooks {
|
|
2784
2793
|
continue;
|
2785
2794
|
}
|
2786
2795
|
const res = fastCall(globalHandlers[index], context, p1, p2, p3, p4, p5, p6);
|
2787
|
-
if (res !==
|
2796
|
+
if (res !== undefined) {
|
2788
2797
|
// eslint-disable-next-line no-param-reassign
|
2789
2798
|
p1 = res;
|
2790
2799
|
}
|
@@ -2808,7 +2817,7 @@ class Hooks {
|
|
2808
2817
|
continue;
|
2809
2818
|
}
|
2810
2819
|
const res = fastCall(localHandlers[index], context, p1, p2, p3, p4, p5, p6);
|
2811
|
-
if (res !==
|
2820
|
+
if (res !== undefined) {
|
2812
2821
|
// eslint-disable-next-line no-param-reassign
|
2813
2822
|
p1 = res;
|
2814
2823
|
}
|
@@ -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 _base = require("../base");
|
6
7
|
var _array = require("../../helpers/array");
|
7
8
|
var _feature = require("../../helpers/feature");
|
@@ -15,12 +16,23 @@ var _src = require("../../3rdparty/walkontable/src");
|
|
15
16
|
var _translations = require("../../translations");
|
16
17
|
var _mixed = require("../../helpers/mixed");
|
17
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
19
|
+
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
20
|
+
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
21
|
+
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
22
|
+
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; }
|
23
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
24
|
+
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); }
|
25
|
+
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
26
|
+
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; } }
|
27
|
+
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
|
28
|
+
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
29
|
+
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
30
|
+
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
|
18
31
|
_pluginHooks.default.getSingleton().register('modifyAutoColumnSizeSeed');
|
19
32
|
const PLUGIN_KEY = 'autoColumnSize';
|
20
33
|
exports.PLUGIN_KEY = PLUGIN_KEY;
|
21
34
|
const PLUGIN_PRIORITY = 10;
|
22
35
|
exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
|
23
|
-
const privatePool = new WeakMap();
|
24
36
|
const COLUMN_SIZE_MAP_NAME = 'autoColumnSize';
|
25
37
|
|
26
38
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
@@ -120,6 +132,13 @@ const COLUMN_SIZE_MAP_NAME = 'autoColumnSize';
|
|
120
132
|
* :::
|
121
133
|
*/
|
122
134
|
/* eslint-enable jsdoc/require-description-complete-sentence */
|
135
|
+
var _cachedColumnHeaders = /*#__PURE__*/new WeakMap();
|
136
|
+
var _onBeforeViewRender = /*#__PURE__*/new WeakSet();
|
137
|
+
var _onAfterLoadData = /*#__PURE__*/new WeakSet();
|
138
|
+
var _onBeforeChange = /*#__PURE__*/new WeakSet();
|
139
|
+
var _onBeforeColumnResize = /*#__PURE__*/new WeakSet();
|
140
|
+
var _onAfterInit = /*#__PURE__*/new WeakSet();
|
141
|
+
var _onAfterFormulasValuesUpdate = /*#__PURE__*/new WeakSet();
|
123
142
|
class AutoColumnSize extends _base.BasePlugin {
|
124
143
|
static get PLUGIN_KEY() {
|
125
144
|
return PLUGIN_KEY;
|
@@ -136,25 +155,50 @@ class AutoColumnSize extends _base.BasePlugin {
|
|
136
155
|
static get SYNC_CALCULATION_LIMIT() {
|
137
156
|
return 50;
|
138
157
|
}
|
158
|
+
|
159
|
+
/**
|
160
|
+
* Instance of {@link GhostTable} for rows and columns size calculations.
|
161
|
+
*
|
162
|
+
* @private
|
163
|
+
* @type {GhostTable}
|
164
|
+
*/
|
165
|
+
|
139
166
|
constructor(hotInstance) {
|
140
167
|
super(hotInstance);
|
141
|
-
privatePool.set(this, {
|
142
|
-
/**
|
143
|
-
* Cached column header names. It is used to diff current column headers with previous state and detect which
|
144
|
-
* columns width should be updated.
|
145
|
-
*
|
146
|
-
* @private
|
147
|
-
* @type {Array}
|
148
|
-
*/
|
149
|
-
cachedColumnHeaders: []
|
150
|
-
});
|
151
168
|
/**
|
152
|
-
*
|
169
|
+
* After formulas values updated listener.
|
153
170
|
*
|
154
|
-
* @
|
155
|
-
|
171
|
+
* @param {Array} changes An array of modified data.
|
172
|
+
*/
|
173
|
+
_classPrivateMethodInitSpec(this, _onAfterFormulasValuesUpdate);
|
174
|
+
/**
|
175
|
+
* On after Handsontable init fill plugin with all necessary values.
|
176
|
+
*/
|
177
|
+
_classPrivateMethodInitSpec(this, _onAfterInit);
|
178
|
+
/**
|
179
|
+
* On before column resize listener.
|
180
|
+
*
|
181
|
+
* @param {number} size Calculated new column width.
|
182
|
+
* @param {number} column Visual index of the resized column.
|
183
|
+
* @param {boolean} isDblClick Flag that determines whether there was a double-click.
|
184
|
+
* @returns {number}
|
185
|
+
*/
|
186
|
+
_classPrivateMethodInitSpec(this, _onBeforeColumnResize);
|
187
|
+
/**
|
188
|
+
* On before change listener.
|
189
|
+
*
|
190
|
+
* @param {Array} changes An array of modified data.
|
191
|
+
*/
|
192
|
+
_classPrivateMethodInitSpec(this, _onBeforeChange);
|
193
|
+
/**
|
194
|
+
* On after load data listener.
|
195
|
+
*/
|
196
|
+
_classPrivateMethodInitSpec(this, _onAfterLoadData);
|
197
|
+
/**
|
198
|
+
* On before view render listener.
|
156
199
|
*/
|
157
|
-
this
|
200
|
+
_classPrivateMethodInitSpec(this, _onBeforeViewRender);
|
201
|
+
_defineProperty(this, "ghostTable", new _ghostTable.default(this.hot));
|
158
202
|
/**
|
159
203
|
* Instance of {@link SamplesGenerator} for generating samples necessary for columns width calculations.
|
160
204
|
*
|
@@ -162,7 +206,7 @@ class AutoColumnSize extends _base.BasePlugin {
|
|
162
206
|
* @type {SamplesGenerator}
|
163
207
|
* @fires Hooks#modifyAutoColumnSizeSeed
|
164
208
|
*/
|
165
|
-
this
|
209
|
+
_defineProperty(this, "samplesGenerator", new _samplesGenerator.default((row, column) => {
|
166
210
|
const cellMeta = this.hot.getCellMeta(row, column);
|
167
211
|
let cellValue = '';
|
168
212
|
if (!cellMeta.spanned) {
|
@@ -176,38 +220,48 @@ class AutoColumnSize extends _base.BasePlugin {
|
|
176
220
|
value: cellValue,
|
177
221
|
bundleSeed
|
178
222
|
};
|
179
|
-
});
|
223
|
+
}));
|
180
224
|
/**
|
181
225
|
* `true` only if the first calculation was performed.
|
182
226
|
*
|
183
227
|
* @private
|
184
228
|
* @type {boolean}
|
185
229
|
*/
|
186
|
-
this
|
230
|
+
_defineProperty(this, "firstCalculation", true);
|
187
231
|
/**
|
188
232
|
* `true` if the size calculation is in progress.
|
189
233
|
*
|
190
234
|
* @type {boolean}
|
191
235
|
*/
|
192
|
-
this
|
236
|
+
_defineProperty(this, "inProgress", false);
|
193
237
|
/**
|
194
238
|
* Number of already measured columns (we already know their sizes).
|
195
239
|
*
|
196
240
|
* @type {number}
|
197
241
|
*/
|
198
|
-
this
|
242
|
+
_defineProperty(this, "measuredColumns", 0);
|
199
243
|
/**
|
200
244
|
* PhysicalIndexToValueMap to keep and track widths for physical column indexes.
|
201
245
|
*
|
202
246
|
* @private
|
203
247
|
* @type {PhysicalIndexToValueMap}
|
204
248
|
*/
|
205
|
-
this
|
249
|
+
_defineProperty(this, "columnWidthsMap", new _translations.PhysicalIndexToValueMap());
|
250
|
+
/**
|
251
|
+
* Cached column header names. It is used to diff current column headers with previous state and detect which
|
252
|
+
* columns width should be updated.
|
253
|
+
*
|
254
|
+
* @type {Array}
|
255
|
+
*/
|
256
|
+
_classPrivateFieldInitSpec(this, _cachedColumnHeaders, {
|
257
|
+
writable: true,
|
258
|
+
value: []
|
259
|
+
});
|
206
260
|
this.hot.columnIndexMapper.registerMap(COLUMN_SIZE_MAP_NAME, this.columnWidthsMap);
|
207
261
|
|
208
262
|
// Leave the listener active to allow auto-sizing the columns when the plugin is disabled.
|
209
263
|
// This is necessary for width recalculation for resize handler doubleclick (ManualColumnResize).
|
210
|
-
this.addHook('beforeColumnResize', (size, column, isDblClick) => this.
|
264
|
+
this.addHook('beforeColumnResize', (size, column, isDblClick) => _classPrivateMethodGet(this, _onBeforeColumnResize, _onBeforeColumnResize2).call(this, size, column, isDblClick));
|
211
265
|
}
|
212
266
|
|
213
267
|
/**
|
@@ -229,18 +283,21 @@ class AutoColumnSize extends _base.BasePlugin {
|
|
229
283
|
return;
|
230
284
|
}
|
231
285
|
const setting = this.hot.getSettings()[PLUGIN_KEY];
|
232
|
-
if (setting && setting.useHeaders !== null && setting.useHeaders !==
|
286
|
+
if (setting && setting.useHeaders !== null && setting.useHeaders !== undefined) {
|
233
287
|
this.ghostTable.setSetting('useHeaders', setting.useHeaders);
|
234
288
|
}
|
235
289
|
this.setSamplingOptions();
|
236
290
|
this.addHook('afterLoadData', function () {
|
237
|
-
|
291
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
292
|
+
args[_key] = arguments[_key];
|
293
|
+
}
|
294
|
+
return _classPrivateMethodGet(_this, _onAfterLoadData, _onAfterLoadData2).call(_this, ...args);
|
238
295
|
});
|
239
|
-
this.addHook('beforeChangeRender', changes => this.
|
240
|
-
this.addHook('afterFormulasValuesUpdate', changes => this.
|
241
|
-
this.addHook('beforeViewRender', force => this.
|
296
|
+
this.addHook('beforeChangeRender', changes => _classPrivateMethodGet(this, _onBeforeChange, _onBeforeChange2).call(this, changes));
|
297
|
+
this.addHook('afterFormulasValuesUpdate', changes => _classPrivateMethodGet(this, _onAfterFormulasValuesUpdate, _onAfterFormulasValuesUpdate2).call(this, changes));
|
298
|
+
this.addHook('beforeViewRender', force => _classPrivateMethodGet(this, _onBeforeViewRender, _onBeforeViewRender2).call(this, force));
|
242
299
|
this.addHook('modifyColWidth', (width, col) => this.getColumnWidth(col, width));
|
243
|
-
this.addHook('afterInit', () => this.
|
300
|
+
this.addHook('afterInit', () => _classPrivateMethodGet(this, _onAfterInit, _onAfterInit2).call(this));
|
244
301
|
super.enablePlugin();
|
245
302
|
}
|
246
303
|
|
@@ -264,7 +321,7 @@ class AutoColumnSize extends _base.BasePlugin {
|
|
264
321
|
|
265
322
|
// Leave the listener active to allow auto-sizing the columns when the plugin is disabled.
|
266
323
|
// This is necessary for width recalculation for resize handler doubleclick (ManualColumnResize).
|
267
|
-
this.addHook('beforeColumnResize', (size, column, isDblClick) => this.
|
324
|
+
this.addHook('beforeColumnResize', (size, column, isDblClick) => _classPrivateMethodGet(this, _onBeforeColumnResize, _onBeforeColumnResize2).call(this, size, column, isDblClick));
|
268
325
|
}
|
269
326
|
|
270
327
|
/**
|
@@ -286,7 +343,7 @@ class AutoColumnSize extends _base.BasePlugin {
|
|
286
343
|
this.calculateColumnsWidth({
|
287
344
|
from: firstVisibleColumn,
|
288
345
|
to: lastVisibleColumn
|
289
|
-
},
|
346
|
+
}, undefined, force);
|
290
347
|
}
|
291
348
|
|
292
349
|
/**
|
@@ -342,7 +399,7 @@ class AutoColumnSize extends _base.BasePlugin {
|
|
342
399
|
|
343
400
|
/**
|
344
401
|
* Calculates all columns width. The calculated column will be cached in the {@link AutoColumnSize#widths} property.
|
345
|
-
* To retrieve width for specified column use {@link AutoColumnSize
|
402
|
+
* To retrieve width for specified column use {@link AutoColumnSize##getColumnWidth} method.
|
346
403
|
*
|
347
404
|
* @param {object|number} rowRange Row index or an object with `from` and `to` properties which define row range.
|
348
405
|
*/
|
@@ -403,8 +460,8 @@ class AutoColumnSize extends _base.BasePlugin {
|
|
403
460
|
*/
|
404
461
|
setSamplingOptions() {
|
405
462
|
const setting = this.hot.getSettings()[PLUGIN_KEY];
|
406
|
-
const samplingRatio = setting && (0, _object.hasOwnProperty)(setting, 'samplingRatio') ? setting.samplingRatio :
|
407
|
-
const allowSampleDuplicates = setting && (0, _object.hasOwnProperty)(setting, 'allowSampleDuplicates') ? setting.allowSampleDuplicates :
|
463
|
+
const samplingRatio = setting && (0, _object.hasOwnProperty)(setting, 'samplingRatio') ? setting.samplingRatio : undefined;
|
464
|
+
const allowSampleDuplicates = setting && (0, _object.hasOwnProperty)(setting, 'allowSampleDuplicates') ? setting.allowSampleDuplicates : undefined;
|
408
465
|
if (samplingRatio && !isNaN(samplingRatio)) {
|
409
466
|
this.samplesGenerator.setSampleCount(parseInt(samplingRatio, 10));
|
410
467
|
}
|
@@ -455,10 +512,10 @@ class AutoColumnSize extends _base.BasePlugin {
|
|
455
512
|
* @returns {number}
|
456
513
|
*/
|
457
514
|
getColumnWidth(column) {
|
458
|
-
let defaultWidth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] :
|
515
|
+
let defaultWidth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
|
459
516
|
let keepMinimum = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
460
517
|
let width = defaultWidth;
|
461
|
-
if (width ===
|
518
|
+
if (width === undefined) {
|
462
519
|
width = this.columnWidthsMap.getValueAtIndex(this.hot.toPhysicalColumn(column));
|
463
520
|
if (keepMinimum && typeof width === 'number') {
|
464
521
|
width = Math.max(width, _src.ViewportColumnsCalculator.DEFAULT_WIDTH);
|
@@ -526,18 +583,15 @@ class AutoColumnSize extends _base.BasePlugin {
|
|
526
583
|
*/
|
527
584
|
findColumnsWhereHeaderWasChanged() {
|
528
585
|
const columnHeaders = this.hot.getColHeader();
|
529
|
-
const {
|
530
|
-
cachedColumnHeaders
|
531
|
-
} = privatePool.get(this);
|
532
586
|
const changedColumns = (0, _array.arrayReduce)(columnHeaders, (acc, columnTitle, physicalColumn) => {
|
533
|
-
const cachedColumnsLength =
|
534
|
-
if (cachedColumnsLength - 1 < physicalColumn ||
|
587
|
+
const cachedColumnsLength = _classPrivateFieldGet(this, _cachedColumnHeaders).length;
|
588
|
+
if (cachedColumnsLength - 1 < physicalColumn || _classPrivateFieldGet(this, _cachedColumnHeaders)[physicalColumn] !== columnTitle) {
|
535
589
|
acc.push(physicalColumn);
|
536
590
|
}
|
537
591
|
if (cachedColumnsLength - 1 < physicalColumn) {
|
538
|
-
|
592
|
+
_classPrivateFieldGet(this, _cachedColumnHeaders).push(columnTitle);
|
539
593
|
} else {
|
540
|
-
|
594
|
+
_classPrivateFieldGet(this, _cachedColumnHeaders)[physicalColumn] = columnTitle;
|
541
595
|
}
|
542
596
|
return acc;
|
543
597
|
}, []);
|
@@ -571,93 +625,6 @@ class AutoColumnSize extends _base.BasePlugin {
|
|
571
625
|
isNeedRecalculate() {
|
572
626
|
return !!(0, _array.arrayFilter)(this.columnWidthsMap.getValues().slice(0, this.measuredColumns), item => item === null).length;
|
573
627
|
}
|
574
|
-
|
575
|
-
/**
|
576
|
-
* On before view render listener.
|
577
|
-
*
|
578
|
-
* @private
|
579
|
-
*/
|
580
|
-
onBeforeViewRender() {
|
581
|
-
this.calculateVisibleColumnsWidth();
|
582
|
-
if (this.isNeedRecalculate() && !this.inProgress) {
|
583
|
-
this.calculateAllColumnsWidth();
|
584
|
-
}
|
585
|
-
}
|
586
|
-
|
587
|
-
/**
|
588
|
-
* On after load data listener.
|
589
|
-
*
|
590
|
-
* @private
|
591
|
-
*/
|
592
|
-
onAfterLoadData() {
|
593
|
-
if (this.hot.view) {
|
594
|
-
this.recalculateAllColumnsWidth();
|
595
|
-
} else {
|
596
|
-
// first load - initialization
|
597
|
-
setTimeout(() => {
|
598
|
-
if (this.hot) {
|
599
|
-
this.recalculateAllColumnsWidth();
|
600
|
-
}
|
601
|
-
}, 0);
|
602
|
-
}
|
603
|
-
}
|
604
|
-
|
605
|
-
/**
|
606
|
-
* On before change listener.
|
607
|
-
*
|
608
|
-
* @private
|
609
|
-
* @param {Array} changes An array of modified data.
|
610
|
-
*/
|
611
|
-
onBeforeChange(changes) {
|
612
|
-
const changedColumns = (0, _array.arrayMap)(changes, _ref2 => {
|
613
|
-
let [, columnProperty] = _ref2;
|
614
|
-
return this.hot.toPhysicalColumn(this.hot.propToCol(columnProperty));
|
615
|
-
});
|
616
|
-
this.clearCache(Array.from(new Set(changedColumns)));
|
617
|
-
}
|
618
|
-
|
619
|
-
/**
|
620
|
-
* On before column resize listener.
|
621
|
-
*
|
622
|
-
* @private
|
623
|
-
* @param {number} size Calculated new column width.
|
624
|
-
* @param {number} column Visual index of the resized column.
|
625
|
-
* @param {boolean} isDblClick Flag that determines whether there was a double-click.
|
626
|
-
* @returns {number}
|
627
|
-
*/
|
628
|
-
onBeforeColumnResize(size, column, isDblClick) {
|
629
|
-
let newSize = size;
|
630
|
-
if (isDblClick) {
|
631
|
-
this.calculateColumnsWidth(column, void 0, true);
|
632
|
-
newSize = this.getColumnWidth(column, void 0, false);
|
633
|
-
}
|
634
|
-
return newSize;
|
635
|
-
}
|
636
|
-
|
637
|
-
/**
|
638
|
-
* On after Handsontable init fill plugin with all necessary values.
|
639
|
-
*
|
640
|
-
* @private
|
641
|
-
*/
|
642
|
-
onAfterInit() {
|
643
|
-
privatePool.get(this).cachedColumnHeaders = this.hot.getColHeader();
|
644
|
-
}
|
645
|
-
|
646
|
-
/**
|
647
|
-
* After formulas values updated listener.
|
648
|
-
*
|
649
|
-
* @private
|
650
|
-
* @param {Array} changes An array of modified data.
|
651
|
-
*/
|
652
|
-
onAfterFormulasValuesUpdate(changes) {
|
653
|
-
const filteredChanges = (0, _array.arrayFilter)(changes, change => {
|
654
|
-
var _change$address;
|
655
|
-
return (0, _mixed.isDefined)((_change$address = change.address) === null || _change$address === void 0 ? void 0 : _change$address.col);
|
656
|
-
});
|
657
|
-
const changedColumns = (0, _array.arrayMap)(filteredChanges, change => change.address.col);
|
658
|
-
this.clearCache(Array.from(new Set(changedColumns)));
|
659
|
-
}
|
660
|
-
|
661
628
|
/**
|
662
629
|
* Destroys the plugin instance.
|
663
630
|
*/
|
@@ -666,4 +633,48 @@ class AutoColumnSize extends _base.BasePlugin {
|
|
666
633
|
super.destroy();
|
667
634
|
}
|
668
635
|
}
|
669
|
-
exports.AutoColumnSize = AutoColumnSize;
|
636
|
+
exports.AutoColumnSize = AutoColumnSize;
|
637
|
+
function _onBeforeViewRender2() {
|
638
|
+
this.calculateVisibleColumnsWidth();
|
639
|
+
if (this.isNeedRecalculate() && !this.inProgress) {
|
640
|
+
this.calculateAllColumnsWidth();
|
641
|
+
}
|
642
|
+
}
|
643
|
+
function _onAfterLoadData2() {
|
644
|
+
if (this.hot.view) {
|
645
|
+
this.recalculateAllColumnsWidth();
|
646
|
+
} else {
|
647
|
+
// first load - initialization
|
648
|
+
setTimeout(() => {
|
649
|
+
if (this.hot) {
|
650
|
+
this.recalculateAllColumnsWidth();
|
651
|
+
}
|
652
|
+
}, 0);
|
653
|
+
}
|
654
|
+
}
|
655
|
+
function _onBeforeChange2(changes) {
|
656
|
+
const changedColumns = (0, _array.arrayMap)(changes, _ref2 => {
|
657
|
+
let [, columnProperty] = _ref2;
|
658
|
+
return this.hot.toPhysicalColumn(this.hot.propToCol(columnProperty));
|
659
|
+
});
|
660
|
+
this.clearCache(Array.from(new Set(changedColumns)));
|
661
|
+
}
|
662
|
+
function _onBeforeColumnResize2(size, column, isDblClick) {
|
663
|
+
let newSize = size;
|
664
|
+
if (isDblClick) {
|
665
|
+
this.calculateColumnsWidth(column, undefined, true);
|
666
|
+
newSize = this.getColumnWidth(column, undefined, false);
|
667
|
+
}
|
668
|
+
return newSize;
|
669
|
+
}
|
670
|
+
function _onAfterInit2() {
|
671
|
+
_classPrivateFieldSet(this, _cachedColumnHeaders, this.hot.getColHeader());
|
672
|
+
}
|
673
|
+
function _onAfterFormulasValuesUpdate2(changes) {
|
674
|
+
const filteredChanges = (0, _array.arrayFilter)(changes, change => {
|
675
|
+
var _change$address;
|
676
|
+
return (0, _mixed.isDefined)((_change$address = change.address) === null || _change$address === void 0 ? void 0 : _change$address.col);
|
677
|
+
});
|
678
|
+
const changedColumns = (0, _array.arrayMap)(filteredChanges, change => change.address.col);
|
679
|
+
this.clearCache(Array.from(new Set(changedColumns)));
|
680
|
+
}
|