handsontable 14.0.0-next-c080457-20231107 → 14.0.0-next-7ee54cb-20231108
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/cell/coords.js +7 -5
- package/3rdparty/walkontable/src/cell/coords.mjs +7 -5
- 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 +7330 -6389
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +154 -154
- package/dist/handsontable.js +7329 -6388
- 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 +98 -102
- package/plugins/autofill/autofill.mjs +97 -101
- package/plugins/base/base.js +61 -28
- package/plugins/base/base.mjs +60 -28
- 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 +107 -99
- package/plugins/columnSorting/columnSorting.mjs +106 -98
- 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 +96 -102
- package/plugins/contextMenu/contextMenu.mjs +95 -101
- 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/contextMenu/predefinedItems/removeColumn.js +1 -1
- package/plugins/contextMenu/predefinedItems/removeColumn.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/removeRow.js +1 -1
- package/plugins/contextMenu/predefinedItems/removeRow.mjs +1 -1
- package/plugins/copyPaste/copyPaste.js +74 -75
- package/plugins/copyPaste/copyPaste.mjs +74 -75
- package/plugins/customBorders/customBorders.js +57 -50
- package/plugins/customBorders/customBorders.mjs +56 -49
- package/plugins/dragToScroll/dragToScroll.js +50 -54
- package/plugins/dragToScroll/dragToScroll.mjs +49 -52
- package/plugins/dropdownMenu/dropdownMenu.js +136 -131
- package/plugins/dropdownMenu/dropdownMenu.mjs +136 -131
- 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 +66 -53
- 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 +15 -11
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +15 -11
- 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 +328 -279
- package/plugins/nestedRows/nestedRows.mjs +327 -278
- 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 +28 -10
- package/selection/selection.mjs +28 -10
- package/selection/utils.js +24 -14
- package/selection/utils.mjs +25 -15
- package/shortcuts/manager.js +1 -1
- package/shortcuts/manager.mjs +1 -1
- 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
@@ -2,19 +2,29 @@
|
|
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 _element = require("../../helpers/dom/element");
|
7
|
-
var _eventManager = _interopRequireDefault(require("../../eventManager"));
|
8
8
|
var _array = require("../../helpers/array");
|
9
9
|
var _number = require("../../helpers/number");
|
10
10
|
var _translations = require("../../translations");
|
11
|
-
function
|
11
|
+
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
12
|
+
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
13
|
+
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
14
|
+
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; }
|
15
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
16
|
+
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); }
|
17
|
+
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
|
18
|
+
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
19
|
+
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
20
|
+
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
21
|
+
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; } }
|
22
|
+
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
|
12
23
|
// Developer note! Whenever you make a change in this file, make an analogous change in manualRowResize.js
|
13
24
|
|
14
25
|
const PLUGIN_KEY = exports.PLUGIN_KEY = 'manualColumnResize';
|
15
26
|
const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 130;
|
16
27
|
const PERSISTENT_STATE_KEY = 'manualColumnWidths';
|
17
|
-
const privatePool = new WeakMap();
|
18
28
|
|
19
29
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
20
30
|
|
@@ -30,6 +40,16 @@ const privatePool = new WeakMap();
|
|
30
40
|
* - handle - the draggable element that sets the desired width of the column.
|
31
41
|
* - guide - the helper guide that shows the desired width as a vertical guide.
|
32
42
|
*/
|
43
|
+
var _config = /*#__PURE__*/new WeakMap();
|
44
|
+
var _onMapInit = /*#__PURE__*/new WeakSet();
|
45
|
+
var _onMouseOver = /*#__PURE__*/new WeakSet();
|
46
|
+
var _onMouseDown = /*#__PURE__*/new WeakSet();
|
47
|
+
var _onMouseMove = /*#__PURE__*/new WeakSet();
|
48
|
+
var _onMouseUp = /*#__PURE__*/new WeakSet();
|
49
|
+
var _onContextMenu = /*#__PURE__*/new WeakSet();
|
50
|
+
var _onModifyColWidth = /*#__PURE__*/new WeakSet();
|
51
|
+
var _onBeforeStretchingColumnWidth = /*#__PURE__*/new WeakSet();
|
52
|
+
var _onBeforeColumnResize = /*#__PURE__*/new WeakSet();
|
33
53
|
class ManualColumnResize extends _base.BasePlugin {
|
34
54
|
static get PLUGIN_KEY() {
|
35
55
|
return PLUGIN_KEY;
|
@@ -37,39 +57,136 @@ class ManualColumnResize extends _base.BasePlugin {
|
|
37
57
|
static get PLUGIN_PRIORITY() {
|
38
58
|
return PLUGIN_PRIORITY;
|
39
59
|
}
|
60
|
+
|
61
|
+
/**
|
62
|
+
* @type {HTMLTableHeaderCellElement}
|
63
|
+
*/
|
64
|
+
|
40
65
|
constructor(hotInstance) {
|
41
66
|
super(hotInstance);
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
this
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
this
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
67
|
+
/**
|
68
|
+
* `beforeColumnResize` hook callback.
|
69
|
+
*/
|
70
|
+
_classPrivateMethodInitSpec(this, _onBeforeColumnResize);
|
71
|
+
/**
|
72
|
+
* Modifies the provided column stretched width. This hook decides if specified column should be stretched or not.
|
73
|
+
*
|
74
|
+
* @param {number} stretchedWidth Stretched width.
|
75
|
+
* @param {number} column Visual column index.
|
76
|
+
* @returns {number}
|
77
|
+
*/
|
78
|
+
_classPrivateMethodInitSpec(this, _onBeforeStretchingColumnWidth);
|
79
|
+
/**
|
80
|
+
* Modifies the provided column width, based on the plugin settings.
|
81
|
+
*
|
82
|
+
* @param {number} width Column width.
|
83
|
+
* @param {number} column Visual column index.
|
84
|
+
* @returns {number}
|
85
|
+
*/
|
86
|
+
_classPrivateMethodInitSpec(this, _onModifyColWidth);
|
87
|
+
/**
|
88
|
+
* Callback for "contextmenu" event triggered on element showing move handle. It removes handle and guide elements.
|
89
|
+
*/
|
90
|
+
_classPrivateMethodInitSpec(this, _onContextMenu);
|
91
|
+
/**
|
92
|
+
* 'mouseup' event callback - apply the column resizing.
|
93
|
+
*
|
94
|
+
* @fires Hooks#beforeColumnResize
|
95
|
+
* @fires Hooks#afterColumnResize
|
96
|
+
*/
|
97
|
+
_classPrivateMethodInitSpec(this, _onMouseUp);
|
98
|
+
/**
|
99
|
+
* 'mousemove' event callback - refresh the handle and guide positions, cache the new column width.
|
100
|
+
*
|
101
|
+
* @param {MouseEvent} event The mouse event.
|
102
|
+
*/
|
103
|
+
_classPrivateMethodInitSpec(this, _onMouseMove);
|
104
|
+
/**
|
105
|
+
* 'mousedown' event callback.
|
106
|
+
*
|
107
|
+
* @param {MouseEvent} event The mouse event.
|
108
|
+
*/
|
109
|
+
_classPrivateMethodInitSpec(this, _onMouseDown);
|
110
|
+
/**
|
111
|
+
* 'mouseover' event callback - set the handle position.
|
112
|
+
*
|
113
|
+
* @param {MouseEvent} event The mouse event.
|
114
|
+
*/
|
115
|
+
_classPrivateMethodInitSpec(this, _onMouseOver);
|
116
|
+
/**
|
117
|
+
* Callback to call on map's `init` local hook.
|
118
|
+
*
|
119
|
+
* @private
|
120
|
+
*/
|
121
|
+
_classPrivateMethodInitSpec(this, _onMapInit);
|
122
|
+
_defineProperty(this, "currentTH", null);
|
123
|
+
/**
|
124
|
+
* @type {number}
|
125
|
+
*/
|
126
|
+
_defineProperty(this, "currentCol", null);
|
127
|
+
/**
|
128
|
+
* @type {number[]}
|
129
|
+
*/
|
130
|
+
_defineProperty(this, "selectedCols", []);
|
131
|
+
/**
|
132
|
+
* @type {number}
|
133
|
+
*/
|
134
|
+
_defineProperty(this, "currentWidth", null);
|
135
|
+
/**
|
136
|
+
* @type {number}
|
137
|
+
*/
|
138
|
+
_defineProperty(this, "newSize", null);
|
139
|
+
/**
|
140
|
+
* @type {number}
|
141
|
+
*/
|
142
|
+
_defineProperty(this, "startY", null);
|
143
|
+
/**
|
144
|
+
* @type {number}
|
145
|
+
*/
|
146
|
+
_defineProperty(this, "startWidth", null);
|
147
|
+
/**
|
148
|
+
* @type {number}
|
149
|
+
*/
|
150
|
+
_defineProperty(this, "startOffset", null);
|
151
|
+
/**
|
152
|
+
* @type {HTMLElement}
|
153
|
+
*/
|
154
|
+
_defineProperty(this, "handle", this.hot.rootDocument.createElement('DIV'));
|
155
|
+
/**
|
156
|
+
* @type {HTMLElement}
|
157
|
+
*/
|
158
|
+
_defineProperty(this, "guide", this.hot.rootDocument.createElement('DIV'));
|
159
|
+
/**
|
160
|
+
* @type {boolean}
|
161
|
+
*/
|
162
|
+
_defineProperty(this, "pressed", null);
|
163
|
+
/**
|
164
|
+
* @type {boolean}
|
165
|
+
*/
|
166
|
+
_defineProperty(this, "isTriggeredByRMB", false);
|
167
|
+
/**
|
168
|
+
* @type {number}
|
169
|
+
*/
|
170
|
+
_defineProperty(this, "dblclick", 0);
|
171
|
+
/**
|
172
|
+
* @type {number}
|
173
|
+
*/
|
174
|
+
_defineProperty(this, "autoresizeTimeout", null);
|
61
175
|
/**
|
62
176
|
* PhysicalIndexToValueMap to keep and track widths for physical column indexes.
|
63
177
|
*
|
64
178
|
* @private
|
65
179
|
* @type {PhysicalIndexToValueMap}
|
66
180
|
*/
|
67
|
-
this
|
181
|
+
_defineProperty(this, "columnWidthsMap", void 0);
|
68
182
|
/**
|
69
183
|
* Private pool to save configuration from updateSettings.
|
184
|
+
*
|
185
|
+
* @type {object}
|
70
186
|
*/
|
71
|
-
|
72
|
-
|
187
|
+
_classPrivateFieldInitSpec(this, _config, {
|
188
|
+
writable: true,
|
189
|
+
value: void 0
|
73
190
|
});
|
74
191
|
(0, _element.addClass)(this.handle, 'manualColumnResizer');
|
75
192
|
(0, _element.addClass)(this.guide, 'manualColumnResizerGuide');
|
@@ -101,11 +218,11 @@ class ManualColumnResize extends _base.BasePlugin {
|
|
101
218
|
return;
|
102
219
|
}
|
103
220
|
this.columnWidthsMap = new _translations.PhysicalIndexToValueMap();
|
104
|
-
this.columnWidthsMap.addLocalHook('init', () => this.
|
221
|
+
this.columnWidthsMap.addLocalHook('init', () => _classPrivateMethodGet(this, _onMapInit, _onMapInit2).call(this));
|
105
222
|
this.hot.columnIndexMapper.registerMap(this.pluginName, this.columnWidthsMap);
|
106
|
-
this.addHook('modifyColWidth', (width, col) => this.
|
107
|
-
this.addHook('beforeStretchingColumnWidth', (stretchedWidth, column) => this.
|
108
|
-
this.addHook('beforeColumnResize', (newSize, column, isDoubleClick) => this.
|
223
|
+
this.addHook('modifyColWidth', (width, col) => _classPrivateMethodGet(this, _onModifyColWidth, _onModifyColWidth2).call(this, width, col));
|
224
|
+
this.addHook('beforeStretchingColumnWidth', (stretchedWidth, column) => _classPrivateMethodGet(this, _onBeforeStretchingColumnWidth, _onBeforeStretchingColumnWidth2).call(this, stretchedWidth, column));
|
225
|
+
this.addHook('beforeColumnResize', (newSize, column, isDoubleClick) => _classPrivateMethodGet(this, _onBeforeColumnResize, _onBeforeColumnResize2).call(this, newSize, column, isDoubleClick));
|
109
226
|
this.bindEvents();
|
110
227
|
super.enablePlugin();
|
111
228
|
}
|
@@ -126,8 +243,7 @@ class ManualColumnResize extends _base.BasePlugin {
|
|
126
243
|
* Disables the plugin functionality for this Handsontable instance.
|
127
244
|
*/
|
128
245
|
disablePlugin() {
|
129
|
-
|
130
|
-
priv.config = this.columnWidthsMap.getValues();
|
246
|
+
_classPrivateFieldSet(this, _config, this.columnWidthsMap.getValues());
|
131
247
|
this.hot.columnIndexMapper.unregisterMap(this.pluginName);
|
132
248
|
super.disablePlugin();
|
133
249
|
}
|
@@ -176,38 +292,6 @@ class ManualColumnResize extends _base.BasePlugin {
|
|
176
292
|
const physicalColumn = this.hot.toPhysicalColumn(column);
|
177
293
|
this.columnWidthsMap.setValueAtIndex(physicalColumn, null);
|
178
294
|
}
|
179
|
-
|
180
|
-
/**
|
181
|
-
* Callback to call on map's `init` local hook.
|
182
|
-
*
|
183
|
-
* @private
|
184
|
-
*/
|
185
|
-
onMapInit() {
|
186
|
-
const priv = privatePool.get(this);
|
187
|
-
const initialSetting = this.hot.getSettings()[PLUGIN_KEY];
|
188
|
-
const loadedManualColumnWidths = this.loadManualColumnWidths();
|
189
|
-
if (typeof loadedManualColumnWidths !== 'undefined') {
|
190
|
-
this.hot.batchExecution(() => {
|
191
|
-
loadedManualColumnWidths.forEach((width, physicalIndex) => {
|
192
|
-
this.columnWidthsMap.setValueAtIndex(physicalIndex, width);
|
193
|
-
});
|
194
|
-
}, true);
|
195
|
-
} else if (Array.isArray(initialSetting)) {
|
196
|
-
this.hot.batchExecution(() => {
|
197
|
-
initialSetting.forEach((width, physicalIndex) => {
|
198
|
-
this.columnWidthsMap.setValueAtIndex(physicalIndex, width);
|
199
|
-
});
|
200
|
-
}, true);
|
201
|
-
priv.config = initialSetting;
|
202
|
-
} else if (initialSetting === true && Array.isArray(priv.config)) {
|
203
|
-
this.hot.batchExecution(() => {
|
204
|
-
priv.config.forEach((width, physicalIndex) => {
|
205
|
-
this.columnWidthsMap.setValueAtIndex(physicalIndex, width);
|
206
|
-
});
|
207
|
-
}, true);
|
208
|
-
}
|
209
|
-
}
|
210
|
-
|
211
295
|
/**
|
212
296
|
* Set the resize handle position.
|
213
297
|
*
|
@@ -346,38 +430,6 @@ class ManualColumnResize extends _base.BasePlugin {
|
|
346
430
|
}
|
347
431
|
return null;
|
348
432
|
}
|
349
|
-
|
350
|
-
/**
|
351
|
-
* 'mouseover' event callback - set the handle position.
|
352
|
-
*
|
353
|
-
* @private
|
354
|
-
* @param {MouseEvent} event The mouse event.
|
355
|
-
*/
|
356
|
-
onMouseOver(event) {
|
357
|
-
// Workaround for #6926 - if the `event.target` is temporarily detached, we can skip this callback and wait for
|
358
|
-
// the next `onmouseover`.
|
359
|
-
if ((0, _element.isDetached)(event.target)) {
|
360
|
-
return;
|
361
|
-
}
|
362
|
-
|
363
|
-
// A "mouseover" action is triggered right after executing "contextmenu" event. It should be ignored.
|
364
|
-
if (this.isTriggeredByRMB === true) {
|
365
|
-
return;
|
366
|
-
}
|
367
|
-
if (this.checkIfColumnHeader(event.target)) {
|
368
|
-
const th = this.getClosestTHParent(event.target);
|
369
|
-
if (!th) {
|
370
|
-
return;
|
371
|
-
}
|
372
|
-
const colspan = th.getAttribute('colspan');
|
373
|
-
if (th && (colspan === null || colspan === '1')) {
|
374
|
-
if (!this.pressed) {
|
375
|
-
this.setupHandlePosition(th);
|
376
|
-
}
|
377
|
-
}
|
378
|
-
}
|
379
|
-
}
|
380
|
-
|
381
433
|
/**
|
382
434
|
* Auto-size row after doubleclick - callback.
|
383
435
|
*
|
@@ -393,7 +445,7 @@ class ManualColumnResize extends _base.BasePlugin {
|
|
393
445
|
};
|
394
446
|
const resize = (column, forceRender) => {
|
395
447
|
const hookNewSize = this.hot.runHooks('beforeColumnResize', this.newSize, column, true);
|
396
|
-
if (hookNewSize !==
|
448
|
+
if (hookNewSize !== undefined) {
|
397
449
|
this.newSize = hookNewSize;
|
398
450
|
}
|
399
451
|
if (this.hot.getSettings().stretchH === 'all') {
|
@@ -424,175 +476,168 @@ class ManualColumnResize extends _base.BasePlugin {
|
|
424
476
|
this.dblclick = 0;
|
425
477
|
this.autoresizeTimeout = null;
|
426
478
|
}
|
427
|
-
|
428
479
|
/**
|
429
|
-
*
|
480
|
+
* Binds the mouse events.
|
430
481
|
*
|
431
482
|
* @private
|
432
|
-
* @param {MouseEvent} event The mouse event.
|
433
483
|
*/
|
434
|
-
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
this.startX = event.pageX;
|
445
|
-
this.newSize = this.startWidth;
|
446
|
-
}
|
484
|
+
bindEvents() {
|
485
|
+
const {
|
486
|
+
rootWindow,
|
487
|
+
rootElement
|
488
|
+
} = this.hot;
|
489
|
+
this.eventManager.addEventListener(rootElement, 'mouseover', e => _classPrivateMethodGet(this, _onMouseOver, _onMouseOver2).call(this, e));
|
490
|
+
this.eventManager.addEventListener(rootElement, 'mousedown', e => _classPrivateMethodGet(this, _onMouseDown, _onMouseDown2).call(this, e));
|
491
|
+
this.eventManager.addEventListener(rootWindow, 'mousemove', e => _classPrivateMethodGet(this, _onMouseMove, _onMouseMove2).call(this, e));
|
492
|
+
this.eventManager.addEventListener(rootWindow, 'mouseup', () => _classPrivateMethodGet(this, _onMouseUp, _onMouseUp2).call(this));
|
493
|
+
this.eventManager.addEventListener(this.handle, 'contextmenu', () => _classPrivateMethodGet(this, _onContextMenu, _onContextMenu2).call(this));
|
447
494
|
}
|
448
|
-
|
449
495
|
/**
|
450
|
-
*
|
451
|
-
*
|
452
|
-
* @private
|
453
|
-
* @param {MouseEvent} event The mouse event.
|
496
|
+
* Destroys the plugin instance.
|
454
497
|
*/
|
455
|
-
|
456
|
-
|
457
|
-
|
458
|
-
|
459
|
-
|
460
|
-
|
498
|
+
destroy() {
|
499
|
+
super.destroy();
|
500
|
+
}
|
501
|
+
}
|
502
|
+
exports.ManualColumnResize = ManualColumnResize;
|
503
|
+
function _onMapInit2() {
|
504
|
+
const initialSetting = this.hot.getSettings()[PLUGIN_KEY];
|
505
|
+
const loadedManualColumnWidths = this.loadManualColumnWidths();
|
506
|
+
if (typeof loadedManualColumnWidths !== 'undefined') {
|
507
|
+
this.hot.batchExecution(() => {
|
508
|
+
loadedManualColumnWidths.forEach((width, physicalIndex) => {
|
509
|
+
this.columnWidthsMap.setValueAtIndex(physicalIndex, width);
|
461
510
|
});
|
462
|
-
|
463
|
-
|
464
|
-
|
511
|
+
}, true);
|
512
|
+
} else if (Array.isArray(initialSetting)) {
|
513
|
+
this.hot.batchExecution(() => {
|
514
|
+
initialSetting.forEach((width, physicalIndex) => {
|
515
|
+
this.columnWidthsMap.setValueAtIndex(physicalIndex, width);
|
516
|
+
});
|
517
|
+
}, true);
|
518
|
+
_classPrivateFieldSet(this, _config, initialSetting);
|
519
|
+
} else if (initialSetting === true && Array.isArray(_classPrivateFieldGet(this, _config))) {
|
520
|
+
this.hot.batchExecution(() => {
|
521
|
+
_classPrivateFieldGet(this, _config).forEach((width, physicalIndex) => {
|
522
|
+
this.columnWidthsMap.setValueAtIndex(physicalIndex, width);
|
523
|
+
});
|
524
|
+
}, true);
|
525
|
+
}
|
526
|
+
}
|
527
|
+
function _onMouseOver2(event) {
|
528
|
+
// Workaround for #6926 - if the `event.target` is temporarily detached, we can skip this callback and wait for
|
529
|
+
// the next `onmouseover`.
|
530
|
+
if ((0, _element.isDetached)(event.target)) {
|
531
|
+
return;
|
465
532
|
}
|
466
533
|
|
467
|
-
|
468
|
-
|
469
|
-
|
470
|
-
|
471
|
-
|
472
|
-
|
473
|
-
|
474
|
-
|
475
|
-
|
476
|
-
const
|
477
|
-
|
478
|
-
this.
|
479
|
-
|
480
|
-
};
|
481
|
-
const resize = (column, forceRender) => {
|
482
|
-
this.hot.runHooks('beforeColumnResize', this.newSize, column, false);
|
483
|
-
if (forceRender) {
|
484
|
-
render();
|
485
|
-
}
|
486
|
-
this.saveManualColumnWidths();
|
487
|
-
this.hot.runHooks('afterColumnResize', this.newSize, column, false);
|
488
|
-
};
|
489
|
-
if (this.pressed) {
|
490
|
-
this.hideHandleAndGuide();
|
491
|
-
this.pressed = false;
|
492
|
-
if (this.newSize !== this.startWidth) {
|
493
|
-
const selectedColsLength = this.selectedCols.length;
|
494
|
-
if (selectedColsLength > 1) {
|
495
|
-
(0, _array.arrayEach)(this.selectedCols, selectedCol => {
|
496
|
-
resize(selectedCol);
|
497
|
-
});
|
498
|
-
render();
|
499
|
-
} else {
|
500
|
-
(0, _array.arrayEach)(this.selectedCols, selectedCol => {
|
501
|
-
resize(selectedCol, true);
|
502
|
-
});
|
503
|
-
}
|
534
|
+
// A "mouseover" action is triggered right after executing "contextmenu" event. It should be ignored.
|
535
|
+
if (this.isTriggeredByRMB === true) {
|
536
|
+
return;
|
537
|
+
}
|
538
|
+
if (this.checkIfColumnHeader(event.target)) {
|
539
|
+
const th = this.getClosestTHParent(event.target);
|
540
|
+
if (!th) {
|
541
|
+
return;
|
542
|
+
}
|
543
|
+
const colspan = th.getAttribute('colspan');
|
544
|
+
if (th && (colspan === null || colspan === '1')) {
|
545
|
+
if (!this.pressed) {
|
546
|
+
this.setupHandlePosition(th);
|
504
547
|
}
|
505
|
-
this.setupHandlePosition(this.currentTH);
|
506
548
|
}
|
507
549
|
}
|
508
|
-
|
509
|
-
|
510
|
-
|
511
|
-
|
512
|
-
|
513
|
-
|
514
|
-
|
515
|
-
|
516
|
-
|
517
|
-
|
518
|
-
this.
|
519
|
-
this.
|
520
|
-
|
521
|
-
// There is thrown "mouseover" event right after opening a context menu. This flag inform that handle
|
522
|
-
// shouldn't be drawn just after removing it.
|
523
|
-
this.hot._registerImmediate(() => {
|
524
|
-
this.isTriggeredByRMB = false;
|
525
|
-
});
|
550
|
+
}
|
551
|
+
function _onMouseDown2(event) {
|
552
|
+
if ((0, _element.hasClass)(event.target, 'manualColumnResizer')) {
|
553
|
+
this.setupHandlePosition(this.currentTH);
|
554
|
+
this.setupGuidePosition();
|
555
|
+
this.pressed = true;
|
556
|
+
if (this.autoresizeTimeout === null) {
|
557
|
+
this.autoresizeTimeout = setTimeout(() => this.afterMouseDownTimeout(), 500);
|
558
|
+
this.hot._registerTimeout(this.autoresizeTimeout);
|
559
|
+
}
|
560
|
+
this.dblclick += 1;
|
561
|
+
this.startX = event.pageX;
|
562
|
+
this.newSize = this.startWidth;
|
526
563
|
}
|
527
|
-
|
528
|
-
|
529
|
-
|
530
|
-
|
531
|
-
|
532
|
-
|
533
|
-
|
534
|
-
|
535
|
-
|
536
|
-
|
537
|
-
} = this.hot;
|
538
|
-
this.eventManager.addEventListener(rootElement, 'mouseover', e => this.onMouseOver(e));
|
539
|
-
this.eventManager.addEventListener(rootElement, 'mousedown', e => this.onMouseDown(e));
|
540
|
-
this.eventManager.addEventListener(rootWindow, 'mousemove', e => this.onMouseMove(e));
|
541
|
-
this.eventManager.addEventListener(rootWindow, 'mouseup', () => this.onMouseUp());
|
542
|
-
this.eventManager.addEventListener(this.handle, 'contextmenu', () => this.onContextMenu());
|
564
|
+
}
|
565
|
+
function _onMouseMove2(event) {
|
566
|
+
if (this.pressed) {
|
567
|
+
const change = (event.pageX - this.startX) * this.hot.getDirectionFactor();
|
568
|
+
this.currentWidth = this.startWidth + change;
|
569
|
+
(0, _array.arrayEach)(this.selectedCols, selectedCol => {
|
570
|
+
this.newSize = this.setManualSize(selectedCol, this.currentWidth);
|
571
|
+
});
|
572
|
+
this.refreshHandlePosition();
|
573
|
+
this.refreshGuidePosition();
|
543
574
|
}
|
544
|
-
|
545
|
-
|
546
|
-
|
547
|
-
|
548
|
-
|
549
|
-
|
550
|
-
|
551
|
-
|
552
|
-
|
553
|
-
|
554
|
-
|
555
|
-
|
556
|
-
|
557
|
-
|
558
|
-
|
559
|
-
|
575
|
+
}
|
576
|
+
function _onMouseUp2() {
|
577
|
+
const render = () => {
|
578
|
+
this.hot.forceFullRender = true;
|
579
|
+
this.hot.view.render(); // updates all
|
580
|
+
this.hot.view.adjustElementsSize(true);
|
581
|
+
};
|
582
|
+
const resize = (column, forceRender) => {
|
583
|
+
this.hot.runHooks('beforeColumnResize', this.newSize, column, false);
|
584
|
+
if (forceRender) {
|
585
|
+
render();
|
586
|
+
}
|
587
|
+
this.saveManualColumnWidths();
|
588
|
+
this.hot.runHooks('afterColumnResize', this.newSize, column, false);
|
589
|
+
};
|
590
|
+
if (this.pressed) {
|
591
|
+
this.hideHandleAndGuide();
|
592
|
+
this.pressed = false;
|
593
|
+
if (this.newSize !== this.startWidth) {
|
594
|
+
const selectedColsLength = this.selectedCols.length;
|
595
|
+
if (selectedColsLength > 1) {
|
596
|
+
(0, _array.arrayEach)(this.selectedCols, selectedCol => {
|
597
|
+
resize(selectedCol);
|
598
|
+
});
|
599
|
+
render();
|
600
|
+
} else {
|
601
|
+
(0, _array.arrayEach)(this.selectedCols, selectedCol => {
|
602
|
+
resize(selectedCol, true);
|
603
|
+
});
|
560
604
|
}
|
561
605
|
}
|
562
|
-
|
606
|
+
this.setupHandlePosition(this.currentTH);
|
563
607
|
}
|
564
|
-
|
565
|
-
|
566
|
-
|
567
|
-
|
568
|
-
|
569
|
-
|
570
|
-
|
571
|
-
|
572
|
-
|
573
|
-
|
574
|
-
|
575
|
-
|
576
|
-
|
608
|
+
}
|
609
|
+
function _onContextMenu2() {
|
610
|
+
this.hideHandleAndGuide();
|
611
|
+
this.hot.rootElement.removeChild(this.handle);
|
612
|
+
this.hot.rootElement.removeChild(this.guide);
|
613
|
+
this.pressed = false;
|
614
|
+
this.isTriggeredByRMB = true;
|
615
|
+
|
616
|
+
// There is thrown "mouseover" event right after opening a context menu. This flag inform that handle
|
617
|
+
// shouldn't be drawn just after removing it.
|
618
|
+
this.hot._registerImmediate(() => {
|
619
|
+
this.isTriggeredByRMB = false;
|
620
|
+
});
|
621
|
+
}
|
622
|
+
function _onModifyColWidth2(width, column) {
|
623
|
+
let newWidth = width;
|
624
|
+
if (this.enabled) {
|
625
|
+
const physicalColumn = this.hot.toPhysicalColumn(column);
|
626
|
+
const columnWidth = this.columnWidthsMap.getValueAtIndex(physicalColumn);
|
627
|
+
if (this.hot.getSettings()[PLUGIN_KEY] && columnWidth) {
|
628
|
+
newWidth = columnWidth;
|
577
629
|
}
|
578
|
-
return width;
|
579
630
|
}
|
580
|
-
|
581
|
-
|
582
|
-
|
583
|
-
|
584
|
-
|
585
|
-
|
586
|
-
onBeforeColumnResize() {
|
587
|
-
// clear the header height cache information
|
588
|
-
this.hot.view._wt.wtViewport.resetHasOversizedColumnHeadersMarked();
|
589
|
-
}
|
590
|
-
|
591
|
-
/**
|
592
|
-
* Destroys the plugin instance.
|
593
|
-
*/
|
594
|
-
destroy() {
|
595
|
-
super.destroy();
|
631
|
+
return newWidth;
|
632
|
+
}
|
633
|
+
function _onBeforeStretchingColumnWidth2(stretchedWidth, column) {
|
634
|
+
let width = this.columnWidthsMap.getValueAtIndex(column);
|
635
|
+
if (width === null) {
|
636
|
+
width = stretchedWidth;
|
596
637
|
}
|
638
|
+
return width;
|
597
639
|
}
|
598
|
-
|
640
|
+
function _onBeforeColumnResize2() {
|
641
|
+
// clear the header height cache information
|
642
|
+
this.hot.view._wt.wtViewport.resetHasOversizedColumnHeadersMarked();
|
643
|
+
}
|