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