handsontable 14.0.0-next-c080457-20231107 → 14.0.0-next-bfad250-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 +7337 -6389
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +154 -154
- package/dist/handsontable.js +7336 -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.d.ts +0 -1
- 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 +335 -279
- package/plugins/nestedRows/nestedRows.mjs +334 -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,20 +2,31 @@
|
|
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 _pluginHooks = _interopRequireDefault(require("../../pluginHooks"));
|
7
8
|
var _array = require("../../helpers/array");
|
8
9
|
var _element = require("../../helpers/dom/element");
|
9
10
|
var _number = require("../../helpers/number");
|
10
|
-
var _eventManager = _interopRequireDefault(require("../../eventManager"));
|
11
11
|
var _backlight = _interopRequireDefault(require("./ui/backlight"));
|
12
12
|
var _guideline = _interopRequireDefault(require("./ui/guideline"));
|
13
13
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
14
|
+
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
15
|
+
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
16
|
+
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
17
|
+
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; }
|
18
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
19
|
+
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); }
|
20
|
+
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
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 _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
|
23
|
+
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
24
|
+
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
25
|
+
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
|
14
26
|
_pluginHooks.default.getSingleton().register('beforeRowMove');
|
15
27
|
_pluginHooks.default.getSingleton().register('afterRowMove');
|
16
28
|
const PLUGIN_KEY = exports.PLUGIN_KEY = 'manualRowMove';
|
17
29
|
const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 140;
|
18
|
-
const privatePool = new WeakMap();
|
19
30
|
const CSS_PLUGIN = 'ht__manualRowMove';
|
20
31
|
const CSS_SHOW_UI = 'show-ui';
|
21
32
|
const CSS_ON_MOVING = 'on-moving--rows';
|
@@ -47,54 +58,106 @@ const CSS_AFTER_SELECTION = 'after-selection--rows';
|
|
47
58
|
* @class ManualRowMove
|
48
59
|
* @plugin ManualRowMove
|
49
60
|
*/
|
61
|
+
var _rowsToMove = /*#__PURE__*/new WeakMap();
|
62
|
+
var _pressed = /*#__PURE__*/new WeakMap();
|
63
|
+
var _target = /*#__PURE__*/new WeakMap();
|
64
|
+
var _cachedDropIndex = /*#__PURE__*/new WeakMap();
|
65
|
+
var _onBeforeOnCellMouseDown = /*#__PURE__*/new WeakSet();
|
66
|
+
var _onMouseMove = /*#__PURE__*/new WeakSet();
|
67
|
+
var _onBeforeOnCellMouseOver = /*#__PURE__*/new WeakSet();
|
68
|
+
var _onMouseUp = /*#__PURE__*/new WeakSet();
|
69
|
+
var _onAfterScrollHorizontally = /*#__PURE__*/new WeakSet();
|
70
|
+
var _onAfterLoadData = /*#__PURE__*/new WeakSet();
|
50
71
|
class ManualRowMove extends _base.BasePlugin {
|
51
|
-
|
52
|
-
|
53
|
-
}
|
54
|
-
static get PLUGIN_PRIORITY() {
|
55
|
-
return PLUGIN_PRIORITY;
|
56
|
-
}
|
57
|
-
constructor(hotInstance) {
|
58
|
-
super(hotInstance);
|
59
|
-
|
72
|
+
constructor() {
|
73
|
+
super(...arguments);
|
60
74
|
/**
|
61
|
-
*
|
75
|
+
* Callback for the `afterLoadData` hook.
|
62
76
|
*/
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
coords: void 0,
|
69
|
-
TD: void 0,
|
70
|
-
row: void 0
|
71
|
-
},
|
72
|
-
cachedDropIndex: void 0
|
73
|
-
});
|
74
|
-
|
77
|
+
_classPrivateMethodInitSpec(this, _onAfterLoadData);
|
78
|
+
/**
|
79
|
+
* `afterScrollHorizontally` hook callback. Fired the table was scrolled horizontally.
|
80
|
+
*/
|
81
|
+
_classPrivateMethodInitSpec(this, _onAfterScrollHorizontally);
|
75
82
|
/**
|
76
|
-
*
|
83
|
+
* `onMouseUp` hook callback.
|
84
|
+
*/
|
85
|
+
_classPrivateMethodInitSpec(this, _onMouseUp);
|
86
|
+
/**
|
87
|
+
* 'beforeOnCellMouseOver' hook callback. Fired when pointer was over cell.
|
77
88
|
*
|
78
|
-
* @
|
79
|
-
* @
|
89
|
+
* @param {MouseEvent} event `mouseover` event properties.
|
90
|
+
* @param {CellCoords} coords Visual cell coordinates where was fired event.
|
91
|
+
* @param {HTMLElement} TD Cell represented as HTMLElement.
|
92
|
+
* @param {object} controller An object with properties `row`, `column` and `cell`. Each property contains
|
93
|
+
* a boolean value that allows or disallows changing the selection for that particular area.
|
80
94
|
*/
|
81
|
-
this
|
95
|
+
_classPrivateMethodInitSpec(this, _onBeforeOnCellMouseOver);
|
96
|
+
/**
|
97
|
+
* 'mouseMove' event callback. Fired when pointer move on document.documentElement.
|
98
|
+
*
|
99
|
+
* @param {MouseEvent} event `mousemove` event properties.
|
100
|
+
*/
|
101
|
+
_classPrivateMethodInitSpec(this, _onMouseMove);
|
102
|
+
/**
|
103
|
+
* Change the behavior of selection / dragging.
|
104
|
+
*
|
105
|
+
* @param {MouseEvent} event `mousedown` event properties.
|
106
|
+
* @param {CellCoords} coords Visual cell coordinates where was fired event.
|
107
|
+
* @param {HTMLElement} TD Cell represented as HTMLElement.
|
108
|
+
* @param {object} controller An object with properties `row`, `column` and `cell`. Each property contains
|
109
|
+
* a boolean value that allows or disallows changing the selection for that particular area.
|
110
|
+
*/
|
111
|
+
_classPrivateMethodInitSpec(this, _onBeforeOnCellMouseDown);
|
82
112
|
/**
|
83
113
|
* Backlight UI object.
|
84
114
|
*
|
85
115
|
* @private
|
86
116
|
* @type {object}
|
87
117
|
*/
|
88
|
-
this
|
118
|
+
_defineProperty(this, "backlight", new _backlight.default(this.hot));
|
89
119
|
/**
|
90
120
|
* Guideline UI object.
|
91
121
|
*
|
92
122
|
* @private
|
93
123
|
* @type {object}
|
94
124
|
*/
|
95
|
-
this
|
125
|
+
_defineProperty(this, "guideline", new _guideline.default(this.hot));
|
126
|
+
/**
|
127
|
+
* @type {number[]}
|
128
|
+
*/
|
129
|
+
_classPrivateFieldInitSpec(this, _rowsToMove, {
|
130
|
+
writable: true,
|
131
|
+
value: []
|
132
|
+
});
|
133
|
+
/**
|
134
|
+
* @type {boolean}
|
135
|
+
*/
|
136
|
+
_classPrivateFieldInitSpec(this, _pressed, {
|
137
|
+
writable: true,
|
138
|
+
value: void 0
|
139
|
+
});
|
140
|
+
/**
|
141
|
+
* @type {object}
|
142
|
+
*/
|
143
|
+
_classPrivateFieldInitSpec(this, _target, {
|
144
|
+
writable: true,
|
145
|
+
value: {}
|
146
|
+
});
|
147
|
+
/**
|
148
|
+
* @type {number}
|
149
|
+
*/
|
150
|
+
_classPrivateFieldInitSpec(this, _cachedDropIndex, {
|
151
|
+
writable: true,
|
152
|
+
value: void 0
|
153
|
+
});
|
154
|
+
}
|
155
|
+
static get PLUGIN_KEY() {
|
156
|
+
return PLUGIN_KEY;
|
157
|
+
}
|
158
|
+
static get PLUGIN_PRIORITY() {
|
159
|
+
return PLUGIN_PRIORITY;
|
96
160
|
}
|
97
|
-
|
98
161
|
/**
|
99
162
|
* Checks if the plugin is enabled in the handsontable settings. This method is executed in {@link Hooks#beforeInit}
|
100
163
|
* hook and if it returns `true` then the {@link ManualRowMove#enablePlugin} method is called.
|
@@ -114,14 +177,23 @@ class ManualRowMove extends _base.BasePlugin {
|
|
114
177
|
return;
|
115
178
|
}
|
116
179
|
this.addHook('beforeOnCellMouseDown', function () {
|
117
|
-
|
180
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
181
|
+
args[_key] = arguments[_key];
|
182
|
+
}
|
183
|
+
return _classPrivateMethodGet(_this, _onBeforeOnCellMouseDown, _onBeforeOnCellMouseDown2).call(_this, ...args);
|
118
184
|
});
|
119
185
|
this.addHook('beforeOnCellMouseOver', function () {
|
120
|
-
|
186
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
187
|
+
args[_key2] = arguments[_key2];
|
188
|
+
}
|
189
|
+
return _classPrivateMethodGet(_this, _onBeforeOnCellMouseOver, _onBeforeOnCellMouseOver2).call(_this, ...args);
|
121
190
|
});
|
122
|
-
this.addHook('afterScrollHorizontally', () => this.
|
191
|
+
this.addHook('afterScrollHorizontally', () => _classPrivateMethodGet(this, _onAfterScrollHorizontally, _onAfterScrollHorizontally2).call(this));
|
123
192
|
this.addHook('afterLoadData', function () {
|
124
|
-
|
193
|
+
for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
194
|
+
args[_key3] = arguments[_key3];
|
195
|
+
}
|
196
|
+
return _classPrivateMethodGet(_this, _onAfterLoadData, _onAfterLoadData2).call(_this, ...args);
|
125
197
|
});
|
126
198
|
this.buildPluginUI();
|
127
199
|
this.registerEvents();
|
@@ -184,11 +256,10 @@ class ManualRowMove extends _base.BasePlugin {
|
|
184
256
|
* @returns {boolean}
|
185
257
|
*/
|
186
258
|
moveRows(rows, finalIndex) {
|
187
|
-
const
|
188
|
-
const dropIndex = priv.cachedDropIndex;
|
259
|
+
const dropIndex = _classPrivateFieldGet(this, _cachedDropIndex);
|
189
260
|
const movePossible = this.isMovePossible(rows, finalIndex);
|
190
261
|
const beforeMoveHook = this.hot.runHooks('beforeRowMove', rows, finalIndex, dropIndex, movePossible);
|
191
|
-
|
262
|
+
_classPrivateFieldSet(this, _cachedDropIndex, undefined);
|
192
263
|
if (beforeMoveHook === false) {
|
193
264
|
return;
|
194
265
|
}
|
@@ -226,8 +297,7 @@ class ManualRowMove extends _base.BasePlugin {
|
|
226
297
|
*/
|
227
298
|
dragRows(rows, dropIndex) {
|
228
299
|
const finalIndex = this.countFinalIndex(rows, dropIndex);
|
229
|
-
|
230
|
-
priv.cachedDropIndex = dropIndex;
|
300
|
+
_classPrivateFieldSet(this, _cachedDropIndex, dropIndex);
|
231
301
|
return this.moveRows(rows, finalIndex);
|
232
302
|
}
|
233
303
|
|
@@ -313,7 +383,7 @@ class ManualRowMove extends _base.BasePlugin {
|
|
313
383
|
const pluginSettings = this.hot.getSettings()[PLUGIN_KEY];
|
314
384
|
if (Array.isArray(pluginSettings)) {
|
315
385
|
this.moveRows(pluginSettings, 0);
|
316
|
-
} else if (pluginSettings !==
|
386
|
+
} else if (pluginSettings !== undefined) {
|
317
387
|
const persistentState = this.persistentStateLoad();
|
318
388
|
if (persistentState.length) {
|
319
389
|
this.moveRows(persistentState, 0);
|
@@ -397,8 +467,7 @@ class ManualRowMove extends _base.BasePlugin {
|
|
397
467
|
* @private
|
398
468
|
*/
|
399
469
|
refreshPositions() {
|
400
|
-
const
|
401
|
-
const coords = priv.target.coords;
|
470
|
+
const coords = _classPrivateFieldGet(this, _target).coords;
|
402
471
|
const firstVisible = this.hot.view.getFirstFullyVisibleRow();
|
403
472
|
const lastVisible = this.hot.view.getLastFullyVisibleRow();
|
404
473
|
const countRows = this.hot.countRows();
|
@@ -409,14 +478,14 @@ class ManualRowMove extends _base.BasePlugin {
|
|
409
478
|
this.hot.scrollViewportTo(this.hot.rowIndexMapper.getNearestNotHiddenIndex(lastVisible + 1, 1), undefined, true);
|
410
479
|
}
|
411
480
|
const wtTable = this.hot.view._wt.wtTable;
|
412
|
-
const TD =
|
481
|
+
const TD = _classPrivateFieldGet(this, _target).TD;
|
413
482
|
const rootElement = this.hot.rootElement;
|
414
483
|
const rootElementOffset = (0, _element.offset)(rootElement);
|
415
484
|
const trimmingContainer = (0, _element.getTrimmingContainer)(rootElement);
|
416
485
|
const tableScroll = wtTable.holder.scrollTop;
|
417
486
|
const trimmingContainerScroll = this.hot.rootWindow !== trimmingContainer ? trimmingContainer.scrollTop : 0;
|
418
487
|
const pixelsAbove = rootElementOffset.top - trimmingContainerScroll;
|
419
|
-
const pixelsRelToTableStart =
|
488
|
+
const pixelsRelToTableStart = _classPrivateFieldGet(this, _target).eventPageY - pixelsAbove + tableScroll;
|
420
489
|
const hiderHeight = wtTable.hider.offsetHeight;
|
421
490
|
const tbodyOffsetTop = wtTable.TBODY.offsetTop;
|
422
491
|
const backlightElemMarginTop = this.backlight.getOffset().top;
|
@@ -430,15 +499,15 @@ class ManualRowMove extends _base.BasePlugin {
|
|
430
499
|
}
|
431
500
|
if (coords.row < 0) {
|
432
501
|
// if hover on colHeader
|
433
|
-
|
502
|
+
_classPrivateFieldGet(this, _target).row = firstVisible > 0 ? firstVisible - 1 : firstVisible;
|
434
503
|
} else if (isBelowTable) {
|
435
504
|
// if hover on lower part of TD
|
436
|
-
|
505
|
+
_classPrivateFieldGet(this, _target).row = coords.row + 1;
|
437
506
|
// unfortunately first row is bigger than rest
|
438
507
|
tdStartPixel += coords.row === 0 ? tdHeight - 1 : tdHeight;
|
439
508
|
} else {
|
440
509
|
// elsewhere on table
|
441
|
-
|
510
|
+
_classPrivateFieldGet(this, _target).row = coords.row;
|
442
511
|
}
|
443
512
|
let backlightTop = pixelsRelToTableStart;
|
444
513
|
let guidelineTop = tdStartPixel;
|
@@ -466,8 +535,8 @@ class ManualRowMove extends _base.BasePlugin {
|
|
466
535
|
const {
|
467
536
|
documentElement
|
468
537
|
} = this.hot.rootDocument;
|
469
|
-
this.eventManager.addEventListener(documentElement, 'mousemove', event => this.
|
470
|
-
this.eventManager.addEventListener(documentElement, 'mouseup', () => this.
|
538
|
+
this.eventManager.addEventListener(documentElement, 'mousemove', event => _classPrivateMethodGet(this, _onMouseMove, _onMouseMove2).call(this, event));
|
539
|
+
this.eventManager.addEventListener(documentElement, 'mouseup', () => _classPrivateMethodGet(this, _onMouseUp, _onMouseUp2).call(this));
|
471
540
|
}
|
472
541
|
|
473
542
|
/**
|
@@ -478,153 +547,6 @@ class ManualRowMove extends _base.BasePlugin {
|
|
478
547
|
unregisterEvents() {
|
479
548
|
this.eventManager.clear();
|
480
549
|
}
|
481
|
-
|
482
|
-
/**
|
483
|
-
* Change the behavior of selection / dragging.
|
484
|
-
*
|
485
|
-
* @private
|
486
|
-
* @param {MouseEvent} event `mousedown` event properties.
|
487
|
-
* @param {CellCoords} coords Visual cell coordinates where was fired event.
|
488
|
-
* @param {HTMLElement} TD Cell represented as HTMLElement.
|
489
|
-
* @param {object} controller An object with properties `row`, `column` and `cell`. Each property contains
|
490
|
-
* a boolean value that allows or disallows changing the selection for that particular area.
|
491
|
-
*/
|
492
|
-
onBeforeOnCellMouseDown(event, coords, TD, controller) {
|
493
|
-
const {
|
494
|
-
wtTable,
|
495
|
-
wtViewport
|
496
|
-
} = this.hot.view._wt;
|
497
|
-
const isHeaderSelection = this.hot.selection.isSelectedByRowHeader();
|
498
|
-
const selection = this.hot.getSelectedRangeLast();
|
499
|
-
const priv = privatePool.get(this);
|
500
|
-
if (!selection || !isHeaderSelection || priv.pressed || event.button !== 0) {
|
501
|
-
priv.pressed = false;
|
502
|
-
priv.rowsToMove.length = 0;
|
503
|
-
(0, _element.removeClass)(this.hot.rootElement, [CSS_ON_MOVING, CSS_SHOW_UI]);
|
504
|
-
return;
|
505
|
-
}
|
506
|
-
const guidelineIsNotReady = this.guideline.isBuilt() && !this.guideline.isAppended();
|
507
|
-
const backlightIsNotReady = this.backlight.isBuilt() && !this.backlight.isAppended();
|
508
|
-
if (guidelineIsNotReady && backlightIsNotReady) {
|
509
|
-
this.guideline.appendTo(wtTable.hider);
|
510
|
-
this.backlight.appendTo(wtTable.hider);
|
511
|
-
}
|
512
|
-
const {
|
513
|
-
from,
|
514
|
-
to
|
515
|
-
} = selection;
|
516
|
-
const start = Math.min(from.row, to.row);
|
517
|
-
const end = Math.max(from.row, to.row);
|
518
|
-
if (coords.col < 0 && coords.row >= start && coords.row <= end) {
|
519
|
-
controller.row = true;
|
520
|
-
priv.pressed = true;
|
521
|
-
priv.target.eventPageY = event.pageY;
|
522
|
-
priv.target.coords = coords;
|
523
|
-
priv.target.TD = TD;
|
524
|
-
priv.rowsToMove = this.prepareRowsToMoving();
|
525
|
-
const leftPos = wtTable.holder.scrollLeft + wtViewport.getRowHeaderWidth();
|
526
|
-
const topOffset = this.getRowsHeight(start, coords.row - 1) + event.offsetY;
|
527
|
-
this.backlight.setPosition(null, leftPos);
|
528
|
-
this.backlight.setSize(wtTable.hider.offsetWidth - leftPos, this.getRowsHeight(start, end));
|
529
|
-
this.backlight.setOffset(-topOffset, null);
|
530
|
-
(0, _element.addClass)(this.hot.rootElement, CSS_ON_MOVING);
|
531
|
-
this.refreshPositions();
|
532
|
-
} else {
|
533
|
-
(0, _element.removeClass)(this.hot.rootElement, CSS_AFTER_SELECTION);
|
534
|
-
priv.pressed = false;
|
535
|
-
priv.rowsToMove.length = 0;
|
536
|
-
}
|
537
|
-
}
|
538
|
-
|
539
|
-
/**
|
540
|
-
* 'mouseMove' event callback. Fired when pointer move on document.documentElement.
|
541
|
-
*
|
542
|
-
* @private
|
543
|
-
* @param {MouseEvent} event `mousemove` event properties.
|
544
|
-
*/
|
545
|
-
onMouseMove(event) {
|
546
|
-
const priv = privatePool.get(this);
|
547
|
-
if (!priv.pressed) {
|
548
|
-
return;
|
549
|
-
}
|
550
|
-
priv.target.eventPageY = event.pageY;
|
551
|
-
this.refreshPositions();
|
552
|
-
}
|
553
|
-
|
554
|
-
/**
|
555
|
-
* 'beforeOnCellMouseOver' hook callback. Fired when pointer was over cell.
|
556
|
-
*
|
557
|
-
* @private
|
558
|
-
* @param {MouseEvent} event `mouseover` event properties.
|
559
|
-
* @param {CellCoords} coords Visual cell coordinates where was fired event.
|
560
|
-
* @param {HTMLElement} TD Cell represented as HTMLElement.
|
561
|
-
* @param {object} controller An object with properties `row`, `column` and `cell`. Each property contains
|
562
|
-
* a boolean value that allows or disallows changing the selection for that particular area.
|
563
|
-
*/
|
564
|
-
onBeforeOnCellMouseOver(event, coords, TD, controller) {
|
565
|
-
const selectedRange = this.hot.getSelectedRangeLast();
|
566
|
-
const priv = privatePool.get(this);
|
567
|
-
if (!selectedRange || !priv.pressed) {
|
568
|
-
return;
|
569
|
-
}
|
570
|
-
if (priv.rowsToMove.indexOf(coords.row) > -1) {
|
571
|
-
(0, _element.removeClass)(this.hot.rootElement, CSS_SHOW_UI);
|
572
|
-
} else {
|
573
|
-
(0, _element.addClass)(this.hot.rootElement, CSS_SHOW_UI);
|
574
|
-
}
|
575
|
-
controller.row = true;
|
576
|
-
controller.column = true;
|
577
|
-
controller.cell = true;
|
578
|
-
priv.target.coords = coords;
|
579
|
-
priv.target.TD = TD;
|
580
|
-
}
|
581
|
-
|
582
|
-
/**
|
583
|
-
* `onMouseUp` hook callback.
|
584
|
-
*
|
585
|
-
* @private
|
586
|
-
*/
|
587
|
-
onMouseUp() {
|
588
|
-
const priv = privatePool.get(this);
|
589
|
-
const target = priv.target.row;
|
590
|
-
const rowsLen = priv.rowsToMove.length;
|
591
|
-
priv.pressed = false;
|
592
|
-
priv.backlightHeight = 0;
|
593
|
-
(0, _element.removeClass)(this.hot.rootElement, [CSS_ON_MOVING, CSS_SHOW_UI, CSS_AFTER_SELECTION]);
|
594
|
-
if (this.hot.selection.isSelectedByRowHeader()) {
|
595
|
-
(0, _element.addClass)(this.hot.rootElement, CSS_AFTER_SELECTION);
|
596
|
-
}
|
597
|
-
if (rowsLen < 1 || target === void 0) {
|
598
|
-
return;
|
599
|
-
}
|
600
|
-
const firstMovedVisualRow = priv.rowsToMove[0];
|
601
|
-
const firstMovedPhysicalRow = this.hot.toPhysicalRow(firstMovedVisualRow);
|
602
|
-
const movePerformed = this.dragRows(priv.rowsToMove, target);
|
603
|
-
priv.rowsToMove.length = 0;
|
604
|
-
if (movePerformed === true) {
|
605
|
-
this.persistentStateSave();
|
606
|
-
this.hot.render();
|
607
|
-
this.hot.view.adjustElementsSize(true);
|
608
|
-
const selectionStart = this.hot.toVisualRow(firstMovedPhysicalRow);
|
609
|
-
const selectionEnd = selectionStart + rowsLen - 1;
|
610
|
-
this.hot.selectRows(selectionStart, selectionEnd);
|
611
|
-
}
|
612
|
-
}
|
613
|
-
|
614
|
-
/**
|
615
|
-
* `afterScrollHorizontally` hook callback. Fired the table was scrolled horizontally.
|
616
|
-
*
|
617
|
-
* @private
|
618
|
-
*/
|
619
|
-
onAfterScrollHorizontally() {
|
620
|
-
const wtTable = this.hot.view._wt.wtTable;
|
621
|
-
const headerWidth = this.hot.view._wt.wtViewport.getRowHeaderWidth();
|
622
|
-
const scrollLeft = wtTable.holder.scrollLeft;
|
623
|
-
const posLeft = headerWidth + scrollLeft;
|
624
|
-
this.backlight.setPosition(null, posLeft);
|
625
|
-
this.backlight.setSize(wtTable.hider.offsetWidth - posLeft);
|
626
|
-
}
|
627
|
-
|
628
550
|
/**
|
629
551
|
* Builds the plugin's UI.
|
630
552
|
*
|
@@ -634,16 +556,6 @@ class ManualRowMove extends _base.BasePlugin {
|
|
634
556
|
this.backlight.build();
|
635
557
|
this.guideline.build();
|
636
558
|
}
|
637
|
-
|
638
|
-
/**
|
639
|
-
* Callback for the `afterLoadData` hook.
|
640
|
-
*
|
641
|
-
* @private
|
642
|
-
*/
|
643
|
-
onAfterLoadData() {
|
644
|
-
this.moveBySettingsOrLoad();
|
645
|
-
}
|
646
|
-
|
647
559
|
/**
|
648
560
|
* Destroys the plugin instance.
|
649
561
|
*/
|
@@ -653,4 +565,107 @@ class ManualRowMove extends _base.BasePlugin {
|
|
653
565
|
super.destroy();
|
654
566
|
}
|
655
567
|
}
|
656
|
-
exports.ManualRowMove = ManualRowMove;
|
568
|
+
exports.ManualRowMove = ManualRowMove;
|
569
|
+
function _onBeforeOnCellMouseDown2(event, coords, TD, controller) {
|
570
|
+
const {
|
571
|
+
wtTable,
|
572
|
+
wtViewport
|
573
|
+
} = this.hot.view._wt;
|
574
|
+
const isHeaderSelection = this.hot.selection.isSelectedByRowHeader();
|
575
|
+
const selection = this.hot.getSelectedRangeLast();
|
576
|
+
if (!selection || !isHeaderSelection || _classPrivateFieldGet(this, _pressed) || event.button !== 0) {
|
577
|
+
_classPrivateFieldSet(this, _pressed, false);
|
578
|
+
_classPrivateFieldGet(this, _rowsToMove).length = 0;
|
579
|
+
(0, _element.removeClass)(this.hot.rootElement, [CSS_ON_MOVING, CSS_SHOW_UI]);
|
580
|
+
return;
|
581
|
+
}
|
582
|
+
const guidelineIsNotReady = this.guideline.isBuilt() && !this.guideline.isAppended();
|
583
|
+
const backlightIsNotReady = this.backlight.isBuilt() && !this.backlight.isAppended();
|
584
|
+
if (guidelineIsNotReady && backlightIsNotReady) {
|
585
|
+
this.guideline.appendTo(wtTable.hider);
|
586
|
+
this.backlight.appendTo(wtTable.hider);
|
587
|
+
}
|
588
|
+
const {
|
589
|
+
from,
|
590
|
+
to
|
591
|
+
} = selection;
|
592
|
+
const start = Math.min(from.row, to.row);
|
593
|
+
const end = Math.max(from.row, to.row);
|
594
|
+
if (coords.col < 0 && coords.row >= start && coords.row <= end) {
|
595
|
+
controller.row = true;
|
596
|
+
_classPrivateFieldSet(this, _pressed, true);
|
597
|
+
_classPrivateFieldGet(this, _target).eventPageY = event.pageY;
|
598
|
+
_classPrivateFieldGet(this, _target).coords = coords;
|
599
|
+
_classPrivateFieldGet(this, _target).TD = TD;
|
600
|
+
_classPrivateFieldSet(this, _rowsToMove, this.prepareRowsToMoving());
|
601
|
+
const leftPos = wtTable.holder.scrollLeft + wtViewport.getRowHeaderWidth();
|
602
|
+
const topOffset = this.getRowsHeight(start, coords.row - 1) + event.offsetY;
|
603
|
+
this.backlight.setPosition(null, leftPos);
|
604
|
+
this.backlight.setSize(wtTable.hider.offsetWidth - leftPos, this.getRowsHeight(start, end));
|
605
|
+
this.backlight.setOffset(-topOffset, null);
|
606
|
+
(0, _element.addClass)(this.hot.rootElement, CSS_ON_MOVING);
|
607
|
+
this.refreshPositions();
|
608
|
+
} else {
|
609
|
+
(0, _element.removeClass)(this.hot.rootElement, CSS_AFTER_SELECTION);
|
610
|
+
_classPrivateFieldSet(this, _pressed, false);
|
611
|
+
_classPrivateFieldGet(this, _rowsToMove).length = 0;
|
612
|
+
}
|
613
|
+
}
|
614
|
+
function _onMouseMove2(event) {
|
615
|
+
if (!_classPrivateFieldGet(this, _pressed)) {
|
616
|
+
return;
|
617
|
+
}
|
618
|
+
_classPrivateFieldGet(this, _target).eventPageY = event.pageY;
|
619
|
+
this.refreshPositions();
|
620
|
+
}
|
621
|
+
function _onBeforeOnCellMouseOver2(event, coords, TD, controller) {
|
622
|
+
const selectedRange = this.hot.getSelectedRangeLast();
|
623
|
+
if (!selectedRange || !_classPrivateFieldGet(this, _pressed)) {
|
624
|
+
return;
|
625
|
+
}
|
626
|
+
if (_classPrivateFieldGet(this, _rowsToMove).indexOf(coords.row) > -1) {
|
627
|
+
(0, _element.removeClass)(this.hot.rootElement, CSS_SHOW_UI);
|
628
|
+
} else {
|
629
|
+
(0, _element.addClass)(this.hot.rootElement, CSS_SHOW_UI);
|
630
|
+
}
|
631
|
+
controller.row = true;
|
632
|
+
controller.column = true;
|
633
|
+
controller.cell = true;
|
634
|
+
_classPrivateFieldGet(this, _target).coords = coords;
|
635
|
+
_classPrivateFieldGet(this, _target).TD = TD;
|
636
|
+
}
|
637
|
+
function _onMouseUp2() {
|
638
|
+
const target = _classPrivateFieldGet(this, _target).row;
|
639
|
+
const rowsLen = _classPrivateFieldGet(this, _rowsToMove).length;
|
640
|
+
_classPrivateFieldSet(this, _pressed, false);
|
641
|
+
(0, _element.removeClass)(this.hot.rootElement, [CSS_ON_MOVING, CSS_SHOW_UI, CSS_AFTER_SELECTION]);
|
642
|
+
if (this.hot.selection.isSelectedByRowHeader()) {
|
643
|
+
(0, _element.addClass)(this.hot.rootElement, CSS_AFTER_SELECTION);
|
644
|
+
}
|
645
|
+
if (rowsLen < 1 || target === undefined) {
|
646
|
+
return;
|
647
|
+
}
|
648
|
+
const firstMovedVisualRow = _classPrivateFieldGet(this, _rowsToMove)[0];
|
649
|
+
const firstMovedPhysicalRow = this.hot.toPhysicalRow(firstMovedVisualRow);
|
650
|
+
const movePerformed = this.dragRows(_classPrivateFieldGet(this, _rowsToMove), target);
|
651
|
+
_classPrivateFieldGet(this, _rowsToMove).length = 0;
|
652
|
+
if (movePerformed === true) {
|
653
|
+
this.persistentStateSave();
|
654
|
+
this.hot.render();
|
655
|
+
this.hot.view.adjustElementsSize(true);
|
656
|
+
const selectionStart = this.hot.toVisualRow(firstMovedPhysicalRow);
|
657
|
+
const selectionEnd = selectionStart + rowsLen - 1;
|
658
|
+
this.hot.selectRows(selectionStart, selectionEnd);
|
659
|
+
}
|
660
|
+
}
|
661
|
+
function _onAfterScrollHorizontally2() {
|
662
|
+
const wtTable = this.hot.view._wt.wtTable;
|
663
|
+
const headerWidth = this.hot.view._wt.wtViewport.getRowHeaderWidth();
|
664
|
+
const scrollLeft = wtTable.holder.scrollLeft;
|
665
|
+
const posLeft = headerWidth + scrollLeft;
|
666
|
+
this.backlight.setPosition(null, posLeft);
|
667
|
+
this.backlight.setSize(wtTable.hider.offsetWidth - posLeft);
|
668
|
+
}
|
669
|
+
function _onAfterLoadData2() {
|
670
|
+
this.moveBySettingsOrLoad();
|
671
|
+
}
|