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