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,4 +1,17 @@
|
|
1
1
|
import "core-js/modules/es.array.push.js";
|
2
|
+
import "core-js/modules/es.error.cause.js";
|
3
|
+
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
4
|
+
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
5
|
+
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
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
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
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); }
|
9
|
+
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
10
|
+
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; } }
|
11
|
+
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
|
12
|
+
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
13
|
+
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
14
|
+
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
|
2
15
|
import { BasePlugin } from "../base/index.mjs";
|
3
16
|
import { arrayEach, arrayFilter, arrayReduce, arrayMap } from "../../helpers/array.mjs";
|
4
17
|
import { cancelAnimationFrame, requestAnimationFrame } from "../../helpers/feature.mjs";
|
@@ -14,7 +27,6 @@ import { isDefined } from "../../helpers/mixed.mjs";
|
|
14
27
|
Hooks.getSingleton().register('modifyAutoColumnSizeSeed');
|
15
28
|
export const PLUGIN_KEY = 'autoColumnSize';
|
16
29
|
export const PLUGIN_PRIORITY = 10;
|
17
|
-
const privatePool = new WeakMap();
|
18
30
|
const COLUMN_SIZE_MAP_NAME = 'autoColumnSize';
|
19
31
|
|
20
32
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
@@ -114,6 +126,13 @@ const COLUMN_SIZE_MAP_NAME = 'autoColumnSize';
|
|
114
126
|
* :::
|
115
127
|
*/
|
116
128
|
/* eslint-enable jsdoc/require-description-complete-sentence */
|
129
|
+
var _cachedColumnHeaders = /*#__PURE__*/new WeakMap();
|
130
|
+
var _onBeforeViewRender = /*#__PURE__*/new WeakSet();
|
131
|
+
var _onAfterLoadData = /*#__PURE__*/new WeakSet();
|
132
|
+
var _onBeforeChange = /*#__PURE__*/new WeakSet();
|
133
|
+
var _onBeforeColumnResize = /*#__PURE__*/new WeakSet();
|
134
|
+
var _onAfterInit = /*#__PURE__*/new WeakSet();
|
135
|
+
var _onAfterFormulasValuesUpdate = /*#__PURE__*/new WeakSet();
|
117
136
|
export class AutoColumnSize extends BasePlugin {
|
118
137
|
static get PLUGIN_KEY() {
|
119
138
|
return PLUGIN_KEY;
|
@@ -130,25 +149,50 @@ export class AutoColumnSize extends BasePlugin {
|
|
130
149
|
static get SYNC_CALCULATION_LIMIT() {
|
131
150
|
return 50;
|
132
151
|
}
|
152
|
+
|
153
|
+
/**
|
154
|
+
* Instance of {@link GhostTable} for rows and columns size calculations.
|
155
|
+
*
|
156
|
+
* @private
|
157
|
+
* @type {GhostTable}
|
158
|
+
*/
|
159
|
+
|
133
160
|
constructor(hotInstance) {
|
134
161
|
super(hotInstance);
|
135
|
-
privatePool.set(this, {
|
136
|
-
/**
|
137
|
-
* Cached column header names. It is used to diff current column headers with previous state and detect which
|
138
|
-
* columns width should be updated.
|
139
|
-
*
|
140
|
-
* @private
|
141
|
-
* @type {Array}
|
142
|
-
*/
|
143
|
-
cachedColumnHeaders: []
|
144
|
-
});
|
145
162
|
/**
|
146
|
-
*
|
163
|
+
* After formulas values updated listener.
|
147
164
|
*
|
148
|
-
* @
|
149
|
-
|
165
|
+
* @param {Array} changes An array of modified data.
|
166
|
+
*/
|
167
|
+
_classPrivateMethodInitSpec(this, _onAfterFormulasValuesUpdate);
|
168
|
+
/**
|
169
|
+
* On after Handsontable init fill plugin with all necessary values.
|
170
|
+
*/
|
171
|
+
_classPrivateMethodInitSpec(this, _onAfterInit);
|
172
|
+
/**
|
173
|
+
* On before column resize listener.
|
174
|
+
*
|
175
|
+
* @param {number} size Calculated new column width.
|
176
|
+
* @param {number} column Visual index of the resized column.
|
177
|
+
* @param {boolean} isDblClick Flag that determines whether there was a double-click.
|
178
|
+
* @returns {number}
|
179
|
+
*/
|
180
|
+
_classPrivateMethodInitSpec(this, _onBeforeColumnResize);
|
181
|
+
/**
|
182
|
+
* On before change listener.
|
183
|
+
*
|
184
|
+
* @param {Array} changes An array of modified data.
|
185
|
+
*/
|
186
|
+
_classPrivateMethodInitSpec(this, _onBeforeChange);
|
187
|
+
/**
|
188
|
+
* On after load data listener.
|
189
|
+
*/
|
190
|
+
_classPrivateMethodInitSpec(this, _onAfterLoadData);
|
191
|
+
/**
|
192
|
+
* On before view render listener.
|
150
193
|
*/
|
151
|
-
this
|
194
|
+
_classPrivateMethodInitSpec(this, _onBeforeViewRender);
|
195
|
+
_defineProperty(this, "ghostTable", new GhostTable(this.hot));
|
152
196
|
/**
|
153
197
|
* Instance of {@link SamplesGenerator} for generating samples necessary for columns width calculations.
|
154
198
|
*
|
@@ -156,7 +200,7 @@ export class AutoColumnSize extends BasePlugin {
|
|
156
200
|
* @type {SamplesGenerator}
|
157
201
|
* @fires Hooks#modifyAutoColumnSizeSeed
|
158
202
|
*/
|
159
|
-
this
|
203
|
+
_defineProperty(this, "samplesGenerator", new SamplesGenerator((row, column) => {
|
160
204
|
const cellMeta = this.hot.getCellMeta(row, column);
|
161
205
|
let cellValue = '';
|
162
206
|
if (!cellMeta.spanned) {
|
@@ -170,38 +214,48 @@ export class AutoColumnSize extends BasePlugin {
|
|
170
214
|
value: cellValue,
|
171
215
|
bundleSeed
|
172
216
|
};
|
173
|
-
});
|
217
|
+
}));
|
174
218
|
/**
|
175
219
|
* `true` only if the first calculation was performed.
|
176
220
|
*
|
177
221
|
* @private
|
178
222
|
* @type {boolean}
|
179
223
|
*/
|
180
|
-
this
|
224
|
+
_defineProperty(this, "firstCalculation", true);
|
181
225
|
/**
|
182
226
|
* `true` if the size calculation is in progress.
|
183
227
|
*
|
184
228
|
* @type {boolean}
|
185
229
|
*/
|
186
|
-
this
|
230
|
+
_defineProperty(this, "inProgress", false);
|
187
231
|
/**
|
188
232
|
* Number of already measured columns (we already know their sizes).
|
189
233
|
*
|
190
234
|
* @type {number}
|
191
235
|
*/
|
192
|
-
this
|
236
|
+
_defineProperty(this, "measuredColumns", 0);
|
193
237
|
/**
|
194
238
|
* PhysicalIndexToValueMap to keep and track widths for physical column indexes.
|
195
239
|
*
|
196
240
|
* @private
|
197
241
|
* @type {PhysicalIndexToValueMap}
|
198
242
|
*/
|
199
|
-
this
|
243
|
+
_defineProperty(this, "columnWidthsMap", new IndexToValueMap());
|
244
|
+
/**
|
245
|
+
* Cached column header names. It is used to diff current column headers with previous state and detect which
|
246
|
+
* columns width should be updated.
|
247
|
+
*
|
248
|
+
* @type {Array}
|
249
|
+
*/
|
250
|
+
_classPrivateFieldInitSpec(this, _cachedColumnHeaders, {
|
251
|
+
writable: true,
|
252
|
+
value: []
|
253
|
+
});
|
200
254
|
this.hot.columnIndexMapper.registerMap(COLUMN_SIZE_MAP_NAME, this.columnWidthsMap);
|
201
255
|
|
202
256
|
// Leave the listener active to allow auto-sizing the columns when the plugin is disabled.
|
203
257
|
// This is necessary for width recalculation for resize handler doubleclick (ManualColumnResize).
|
204
|
-
this.addHook('beforeColumnResize', (size, column, isDblClick) => this.
|
258
|
+
this.addHook('beforeColumnResize', (size, column, isDblClick) => _classPrivateMethodGet(this, _onBeforeColumnResize, _onBeforeColumnResize2).call(this, size, column, isDblClick));
|
205
259
|
}
|
206
260
|
|
207
261
|
/**
|
@@ -223,18 +277,21 @@ export class AutoColumnSize extends BasePlugin {
|
|
223
277
|
return;
|
224
278
|
}
|
225
279
|
const setting = this.hot.getSettings()[PLUGIN_KEY];
|
226
|
-
if (setting && setting.useHeaders !== null && setting.useHeaders !==
|
280
|
+
if (setting && setting.useHeaders !== null && setting.useHeaders !== undefined) {
|
227
281
|
this.ghostTable.setSetting('useHeaders', setting.useHeaders);
|
228
282
|
}
|
229
283
|
this.setSamplingOptions();
|
230
284
|
this.addHook('afterLoadData', function () {
|
231
|
-
|
285
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
286
|
+
args[_key] = arguments[_key];
|
287
|
+
}
|
288
|
+
return _classPrivateMethodGet(_this, _onAfterLoadData, _onAfterLoadData2).call(_this, ...args);
|
232
289
|
});
|
233
|
-
this.addHook('beforeChangeRender', changes => this.
|
234
|
-
this.addHook('afterFormulasValuesUpdate', changes => this.
|
235
|
-
this.addHook('beforeViewRender', force => this.
|
290
|
+
this.addHook('beforeChangeRender', changes => _classPrivateMethodGet(this, _onBeforeChange, _onBeforeChange2).call(this, changes));
|
291
|
+
this.addHook('afterFormulasValuesUpdate', changes => _classPrivateMethodGet(this, _onAfterFormulasValuesUpdate, _onAfterFormulasValuesUpdate2).call(this, changes));
|
292
|
+
this.addHook('beforeViewRender', force => _classPrivateMethodGet(this, _onBeforeViewRender, _onBeforeViewRender2).call(this, force));
|
236
293
|
this.addHook('modifyColWidth', (width, col) => this.getColumnWidth(col, width));
|
237
|
-
this.addHook('afterInit', () => this.
|
294
|
+
this.addHook('afterInit', () => _classPrivateMethodGet(this, _onAfterInit, _onAfterInit2).call(this));
|
238
295
|
super.enablePlugin();
|
239
296
|
}
|
240
297
|
|
@@ -258,7 +315,7 @@ export class AutoColumnSize extends BasePlugin {
|
|
258
315
|
|
259
316
|
// Leave the listener active to allow auto-sizing the columns when the plugin is disabled.
|
260
317
|
// This is necessary for width recalculation for resize handler doubleclick (ManualColumnResize).
|
261
|
-
this.addHook('beforeColumnResize', (size, column, isDblClick) => this.
|
318
|
+
this.addHook('beforeColumnResize', (size, column, isDblClick) => _classPrivateMethodGet(this, _onBeforeColumnResize, _onBeforeColumnResize2).call(this, size, column, isDblClick));
|
262
319
|
}
|
263
320
|
|
264
321
|
/**
|
@@ -280,7 +337,7 @@ export class AutoColumnSize extends BasePlugin {
|
|
280
337
|
this.calculateColumnsWidth({
|
281
338
|
from: firstVisibleColumn,
|
282
339
|
to: lastVisibleColumn
|
283
|
-
},
|
340
|
+
}, undefined, force);
|
284
341
|
}
|
285
342
|
|
286
343
|
/**
|
@@ -336,7 +393,7 @@ export class AutoColumnSize extends BasePlugin {
|
|
336
393
|
|
337
394
|
/**
|
338
395
|
* Calculates all columns width. The calculated column will be cached in the {@link AutoColumnSize#widths} property.
|
339
|
-
* To retrieve width for specified column use {@link AutoColumnSize
|
396
|
+
* To retrieve width for specified column use {@link AutoColumnSize##getColumnWidth} method.
|
340
397
|
*
|
341
398
|
* @param {object|number} rowRange Row index or an object with `from` and `to` properties which define row range.
|
342
399
|
*/
|
@@ -397,8 +454,8 @@ export class AutoColumnSize extends BasePlugin {
|
|
397
454
|
*/
|
398
455
|
setSamplingOptions() {
|
399
456
|
const setting = this.hot.getSettings()[PLUGIN_KEY];
|
400
|
-
const samplingRatio = setting && hasOwnProperty(setting, 'samplingRatio') ? setting.samplingRatio :
|
401
|
-
const allowSampleDuplicates = setting && hasOwnProperty(setting, 'allowSampleDuplicates') ? setting.allowSampleDuplicates :
|
457
|
+
const samplingRatio = setting && hasOwnProperty(setting, 'samplingRatio') ? setting.samplingRatio : undefined;
|
458
|
+
const allowSampleDuplicates = setting && hasOwnProperty(setting, 'allowSampleDuplicates') ? setting.allowSampleDuplicates : undefined;
|
402
459
|
if (samplingRatio && !isNaN(samplingRatio)) {
|
403
460
|
this.samplesGenerator.setSampleCount(parseInt(samplingRatio, 10));
|
404
461
|
}
|
@@ -449,10 +506,10 @@ export class AutoColumnSize extends BasePlugin {
|
|
449
506
|
* @returns {number}
|
450
507
|
*/
|
451
508
|
getColumnWidth(column) {
|
452
|
-
let defaultWidth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] :
|
509
|
+
let defaultWidth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
|
453
510
|
let keepMinimum = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
454
511
|
let width = defaultWidth;
|
455
|
-
if (width ===
|
512
|
+
if (width === undefined) {
|
456
513
|
width = this.columnWidthsMap.getValueAtIndex(this.hot.toPhysicalColumn(column));
|
457
514
|
if (keepMinimum && typeof width === 'number') {
|
458
515
|
width = Math.max(width, ViewportColumnsCalculator.DEFAULT_WIDTH);
|
@@ -520,18 +577,15 @@ export class AutoColumnSize extends BasePlugin {
|
|
520
577
|
*/
|
521
578
|
findColumnsWhereHeaderWasChanged() {
|
522
579
|
const columnHeaders = this.hot.getColHeader();
|
523
|
-
const {
|
524
|
-
cachedColumnHeaders
|
525
|
-
} = privatePool.get(this);
|
526
580
|
const changedColumns = arrayReduce(columnHeaders, (acc, columnTitle, physicalColumn) => {
|
527
|
-
const cachedColumnsLength =
|
528
|
-
if (cachedColumnsLength - 1 < physicalColumn ||
|
581
|
+
const cachedColumnsLength = _classPrivateFieldGet(this, _cachedColumnHeaders).length;
|
582
|
+
if (cachedColumnsLength - 1 < physicalColumn || _classPrivateFieldGet(this, _cachedColumnHeaders)[physicalColumn] !== columnTitle) {
|
529
583
|
acc.push(physicalColumn);
|
530
584
|
}
|
531
585
|
if (cachedColumnsLength - 1 < physicalColumn) {
|
532
|
-
|
586
|
+
_classPrivateFieldGet(this, _cachedColumnHeaders).push(columnTitle);
|
533
587
|
} else {
|
534
|
-
|
588
|
+
_classPrivateFieldGet(this, _cachedColumnHeaders)[physicalColumn] = columnTitle;
|
535
589
|
}
|
536
590
|
return acc;
|
537
591
|
}, []);
|
@@ -565,93 +619,6 @@ export class AutoColumnSize extends BasePlugin {
|
|
565
619
|
isNeedRecalculate() {
|
566
620
|
return !!arrayFilter(this.columnWidthsMap.getValues().slice(0, this.measuredColumns), item => item === null).length;
|
567
621
|
}
|
568
|
-
|
569
|
-
/**
|
570
|
-
* On before view render listener.
|
571
|
-
*
|
572
|
-
* @private
|
573
|
-
*/
|
574
|
-
onBeforeViewRender() {
|
575
|
-
this.calculateVisibleColumnsWidth();
|
576
|
-
if (this.isNeedRecalculate() && !this.inProgress) {
|
577
|
-
this.calculateAllColumnsWidth();
|
578
|
-
}
|
579
|
-
}
|
580
|
-
|
581
|
-
/**
|
582
|
-
* On after load data listener.
|
583
|
-
*
|
584
|
-
* @private
|
585
|
-
*/
|
586
|
-
onAfterLoadData() {
|
587
|
-
if (this.hot.view) {
|
588
|
-
this.recalculateAllColumnsWidth();
|
589
|
-
} else {
|
590
|
-
// first load - initialization
|
591
|
-
setTimeout(() => {
|
592
|
-
if (this.hot) {
|
593
|
-
this.recalculateAllColumnsWidth();
|
594
|
-
}
|
595
|
-
}, 0);
|
596
|
-
}
|
597
|
-
}
|
598
|
-
|
599
|
-
/**
|
600
|
-
* On before change listener.
|
601
|
-
*
|
602
|
-
* @private
|
603
|
-
* @param {Array} changes An array of modified data.
|
604
|
-
*/
|
605
|
-
onBeforeChange(changes) {
|
606
|
-
const changedColumns = arrayMap(changes, _ref2 => {
|
607
|
-
let [, columnProperty] = _ref2;
|
608
|
-
return this.hot.toPhysicalColumn(this.hot.propToCol(columnProperty));
|
609
|
-
});
|
610
|
-
this.clearCache(Array.from(new Set(changedColumns)));
|
611
|
-
}
|
612
|
-
|
613
|
-
/**
|
614
|
-
* On before column resize listener.
|
615
|
-
*
|
616
|
-
* @private
|
617
|
-
* @param {number} size Calculated new column width.
|
618
|
-
* @param {number} column Visual index of the resized column.
|
619
|
-
* @param {boolean} isDblClick Flag that determines whether there was a double-click.
|
620
|
-
* @returns {number}
|
621
|
-
*/
|
622
|
-
onBeforeColumnResize(size, column, isDblClick) {
|
623
|
-
let newSize = size;
|
624
|
-
if (isDblClick) {
|
625
|
-
this.calculateColumnsWidth(column, void 0, true);
|
626
|
-
newSize = this.getColumnWidth(column, void 0, false);
|
627
|
-
}
|
628
|
-
return newSize;
|
629
|
-
}
|
630
|
-
|
631
|
-
/**
|
632
|
-
* On after Handsontable init fill plugin with all necessary values.
|
633
|
-
*
|
634
|
-
* @private
|
635
|
-
*/
|
636
|
-
onAfterInit() {
|
637
|
-
privatePool.get(this).cachedColumnHeaders = this.hot.getColHeader();
|
638
|
-
}
|
639
|
-
|
640
|
-
/**
|
641
|
-
* After formulas values updated listener.
|
642
|
-
*
|
643
|
-
* @private
|
644
|
-
* @param {Array} changes An array of modified data.
|
645
|
-
*/
|
646
|
-
onAfterFormulasValuesUpdate(changes) {
|
647
|
-
const filteredChanges = arrayFilter(changes, change => {
|
648
|
-
var _change$address;
|
649
|
-
return isDefined((_change$address = change.address) === null || _change$address === void 0 ? void 0 : _change$address.col);
|
650
|
-
});
|
651
|
-
const changedColumns = arrayMap(filteredChanges, change => change.address.col);
|
652
|
-
this.clearCache(Array.from(new Set(changedColumns)));
|
653
|
-
}
|
654
|
-
|
655
622
|
/**
|
656
623
|
* Destroys the plugin instance.
|
657
624
|
*/
|
@@ -659,4 +626,48 @@ export class AutoColumnSize extends BasePlugin {
|
|
659
626
|
this.ghostTable.clean();
|
660
627
|
super.destroy();
|
661
628
|
}
|
629
|
+
}
|
630
|
+
function _onBeforeViewRender2() {
|
631
|
+
this.calculateVisibleColumnsWidth();
|
632
|
+
if (this.isNeedRecalculate() && !this.inProgress) {
|
633
|
+
this.calculateAllColumnsWidth();
|
634
|
+
}
|
635
|
+
}
|
636
|
+
function _onAfterLoadData2() {
|
637
|
+
if (this.hot.view) {
|
638
|
+
this.recalculateAllColumnsWidth();
|
639
|
+
} else {
|
640
|
+
// first load - initialization
|
641
|
+
setTimeout(() => {
|
642
|
+
if (this.hot) {
|
643
|
+
this.recalculateAllColumnsWidth();
|
644
|
+
}
|
645
|
+
}, 0);
|
646
|
+
}
|
647
|
+
}
|
648
|
+
function _onBeforeChange2(changes) {
|
649
|
+
const changedColumns = arrayMap(changes, _ref2 => {
|
650
|
+
let [, columnProperty] = _ref2;
|
651
|
+
return this.hot.toPhysicalColumn(this.hot.propToCol(columnProperty));
|
652
|
+
});
|
653
|
+
this.clearCache(Array.from(new Set(changedColumns)));
|
654
|
+
}
|
655
|
+
function _onBeforeColumnResize2(size, column, isDblClick) {
|
656
|
+
let newSize = size;
|
657
|
+
if (isDblClick) {
|
658
|
+
this.calculateColumnsWidth(column, undefined, true);
|
659
|
+
newSize = this.getColumnWidth(column, undefined, false);
|
660
|
+
}
|
661
|
+
return newSize;
|
662
|
+
}
|
663
|
+
function _onAfterInit2() {
|
664
|
+
_classPrivateFieldSet(this, _cachedColumnHeaders, this.hot.getColHeader());
|
665
|
+
}
|
666
|
+
function _onAfterFormulasValuesUpdate2(changes) {
|
667
|
+
const filteredChanges = arrayFilter(changes, change => {
|
668
|
+
var _change$address;
|
669
|
+
return isDefined((_change$address = change.address) === null || _change$address === void 0 ? void 0 : _change$address.col);
|
670
|
+
});
|
671
|
+
const changedColumns = arrayMap(filteredChanges, change => change.address.col);
|
672
|
+
this.clearCache(Array.from(new Set(changedColumns)));
|
662
673
|
}
|