handsontable 14.0.0-next-07c0a60-20231107 → 14.0.0-next-7ee54cb-20231108
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/3rdparty/SheetClip/SheetClip.js +2 -2
- package/3rdparty/SheetClip/SheetClip.mjs +2 -2
- package/3rdparty/autoResize/autoResize.js +2 -2
- package/3rdparty/autoResize/autoResize.mjs +2 -2
- package/3rdparty/walkontable/src/calculator/viewportColumns.js +108 -85
- package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +108 -85
- package/3rdparty/walkontable/src/calculator/viewportRows.js +60 -52
- package/3rdparty/walkontable/src/calculator/viewportRows.mjs +60 -52
- package/3rdparty/walkontable/src/cell/coords.js +7 -5
- package/3rdparty/walkontable/src/cell/coords.mjs +7 -5
- package/3rdparty/walkontable/src/core/clone.js +6 -0
- package/3rdparty/walkontable/src/core/clone.mjs +6 -0
- package/3rdparty/walkontable/src/event.js +125 -74
- package/3rdparty/walkontable/src/event.mjs +125 -74
- package/3rdparty/walkontable/src/filter/column.js +16 -0
- package/3rdparty/walkontable/src/filter/column.mjs +16 -0
- package/3rdparty/walkontable/src/filter/row.js +16 -0
- package/3rdparty/walkontable/src/filter/row.mjs +16 -0
- package/3rdparty/walkontable/src/overlay/bottom.js +1 -1
- package/3rdparty/walkontable/src/overlay/bottom.mjs +1 -1
- package/3rdparty/walkontable/src/overlay/top.js +1 -1
- package/3rdparty/walkontable/src/overlay/top.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/_base.js +12 -5
- package/3rdparty/walkontable/src/renderer/_base.mjs +12 -5
- package/3rdparty/walkontable/src/renderer/cells.js +6 -2
- package/3rdparty/walkontable/src/renderer/cells.mjs +6 -2
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +6 -2
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +6 -2
- package/3rdparty/walkontable/src/renderer/rows.js +5 -0
- package/3rdparty/walkontable/src/renderer/rows.mjs +5 -0
- package/3rdparty/walkontable/src/renderer/table.js +24 -17
- package/3rdparty/walkontable/src/renderer/table.mjs +24 -17
- package/3rdparty/walkontable/src/scroll.js +2 -2
- package/3rdparty/walkontable/src/scroll.mjs +2 -2
- package/3rdparty/walkontable/src/selection/border/border.js +1 -1
- package/3rdparty/walkontable/src/selection/border/border.mjs +1 -1
- package/3rdparty/walkontable/src/settings.js +10 -10
- package/3rdparty/walkontable/src/settings.mjs +10 -10
- package/3rdparty/walkontable/src/table.js +3 -3
- package/3rdparty/walkontable/src/table.mjs +3 -3
- package/3rdparty/walkontable/src/utils/column.js +19 -4
- package/3rdparty/walkontable/src/utils/column.mjs +19 -4
- package/3rdparty/walkontable/src/utils/nodesPool.js +5 -0
- package/3rdparty/walkontable/src/utils/nodesPool.mjs +5 -0
- package/3rdparty/walkontable/src/utils/orderView/view.js +13 -6
- package/3rdparty/walkontable/src/utils/orderView/view.mjs +13 -6
- package/3rdparty/walkontable/src/utils/orderView/viewSize.js +9 -6
- package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +9 -6
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +7 -4
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +7 -4
- package/3rdparty/walkontable/src/utils/row.js +14 -2
- package/3rdparty/walkontable/src/utils/row.mjs +14 -2
- package/3rdparty/walkontable/src/viewport.js +9 -9
- package/3rdparty/walkontable/src/viewport.mjs +9 -9
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/core.js +31 -26
- package/core.mjs +31 -26
- 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 -6394
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +154 -154
- package/dist/handsontable.js +7336 -6393
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +28 -28
- package/editorManager.js +105 -95
- package/editorManager.mjs +105 -95
- package/editors/autocompleteEditor/autocompleteEditor.js +47 -46
- package/editors/autocompleteEditor/autocompleteEditor.mjs +46 -45
- package/editors/baseEditor/baseEditor.js +23 -26
- package/editors/baseEditor/baseEditor.mjs +23 -26
- package/editors/dateEditor/dateEditor.js +24 -15
- package/editors/dateEditor/dateEditor.mjs +24 -15
- package/editors/dropdownEditor/dropdownEditor.js +1 -1
- package/editors/dropdownEditor/dropdownEditor.mjs +1 -1
- package/editors/handsontableEditor/handsontableEditor.js +4 -4
- package/editors/handsontableEditor/handsontableEditor.mjs +4 -4
- package/editors/textEditor/textEditor.js +23 -17
- package/editors/textEditor/textEditor.mjs +24 -18
- package/eventManager.js +8 -0
- package/eventManager.mjs +8 -0
- package/helpers/array.js +2 -2
- package/helpers/array.mjs +2 -2
- package/helpers/dom/element.js +7 -7
- package/helpers/dom/element.mjs +7 -7
- package/helpers/function.js +1 -1
- package/helpers/function.mjs +1 -1
- package/helpers/mixed.js +1 -1
- package/helpers/mixed.mjs +1 -1
- package/helpers/object.js +4 -4
- package/helpers/object.mjs +4 -4
- package/helpers/string.js +1 -1
- package/helpers/string.mjs +1 -1
- package/package.json +1 -1
- package/pluginHooks.d.ts +0 -2
- package/pluginHooks.js +12 -3
- package/pluginHooks.mjs +12 -3
- package/plugins/autoColumnSize/autoColumnSize.js +141 -130
- package/plugins/autoColumnSize/autoColumnSize.mjs +140 -129
- package/plugins/autoRowSize/autoRowSize.js +112 -125
- package/plugins/autoRowSize/autoRowSize.mjs +110 -123
- package/plugins/autofill/autofill.js +98 -102
- package/plugins/autofill/autofill.mjs +97 -101
- package/plugins/base/base.js +61 -28
- package/plugins/base/base.mjs +60 -28
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +29 -24
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +28 -23
- package/plugins/collapsibleColumns/collapsibleColumns.js +104 -107
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +102 -104
- package/plugins/columnSorting/columnSorting.js +107 -99
- package/plugins/columnSorting/columnSorting.mjs +106 -98
- package/plugins/columnSorting/columnStatesManager.js +12 -6
- package/plugins/columnSorting/columnStatesManager.mjs +12 -6
- package/plugins/columnSummary/columnSummary.js +71 -58
- package/plugins/columnSummary/columnSummary.mjs +70 -57
- package/plugins/columnSummary/endpoints.js +20 -14
- package/plugins/columnSummary/endpoints.mjs +20 -14
- package/plugins/comments/commentEditor.js +30 -2
- package/plugins/comments/commentEditor.mjs +30 -2
- package/plugins/comments/comments.js +158 -169
- package/plugins/comments/comments.mjs +157 -168
- package/plugins/comments/displaySwitch.js +7 -3
- package/plugins/comments/displaySwitch.mjs +7 -3
- package/plugins/contextMenu/commandExecutor.js +15 -2
- package/plugins/contextMenu/commandExecutor.mjs +15 -2
- package/plugins/contextMenu/contextMenu.js +96 -102
- package/plugins/contextMenu/contextMenu.mjs +95 -101
- package/plugins/contextMenu/itemsFactory.js +19 -4
- package/plugins/contextMenu/itemsFactory.mjs +19 -4
- package/plugins/contextMenu/menu/cursor.js +36 -0
- package/plugins/contextMenu/menu/cursor.mjs +36 -0
- package/plugins/contextMenu/menu/menu.js +57 -5
- package/plugins/contextMenu/menu/menu.mjs +57 -5
- package/plugins/contextMenu/predefinedItems/removeColumn.js +1 -1
- package/plugins/contextMenu/predefinedItems/removeColumn.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/removeRow.js +1 -1
- package/plugins/contextMenu/predefinedItems/removeRow.mjs +1 -1
- package/plugins/copyPaste/copyPaste.js +74 -75
- package/plugins/copyPaste/copyPaste.mjs +74 -75
- package/plugins/customBorders/customBorders.js +57 -50
- package/plugins/customBorders/customBorders.mjs +56 -49
- package/plugins/dragToScroll/dragToScroll.js +50 -54
- package/plugins/dragToScroll/dragToScroll.mjs +49 -52
- package/plugins/dropdownMenu/dropdownMenu.js +136 -131
- package/plugins/dropdownMenu/dropdownMenu.mjs +136 -131
- package/plugins/exportFile/dataProvider.js +7 -2
- package/plugins/exportFile/dataProvider.mjs +7 -2
- package/plugins/exportFile/exportFile.js +1 -1
- package/plugins/exportFile/exportFile.mjs +1 -1
- package/plugins/exportFile/types/_base.js +14 -6
- package/plugins/exportFile/types/_base.mjs +14 -6
- package/plugins/filters/component/actionBar.js +9 -0
- package/plugins/filters/component/actionBar.mjs +9 -0
- package/plugins/filters/component/condition.js +13 -0
- package/plugins/filters/component/condition.mjs +13 -0
- package/plugins/filters/component/operators.js +9 -0
- package/plugins/filters/component/operators.mjs +9 -0
- package/plugins/filters/component/value.js +9 -0
- package/plugins/filters/component/value.mjs +9 -0
- package/plugins/filters/conditionCollection.js +9 -4
- package/plugins/filters/conditionCollection.mjs +9 -4
- package/plugins/filters/conditionUpdateObserver.js +53 -42
- package/plugins/filters/conditionUpdateObserver.mjs +53 -42
- package/plugins/filters/dataFilter.js +9 -3
- package/plugins/filters/dataFilter.mjs +9 -3
- package/plugins/filters/filters.js +184 -189
- package/plugins/filters/filters.mjs +182 -187
- package/plugins/filters/ui/_base.js +1 -1
- package/plugins/filters/ui/_base.mjs +1 -1
- package/plugins/filters/utils.js +1 -1
- package/plugins/filters/utils.mjs +1 -1
- package/plugins/formulas/engine/settings.js +1 -1
- package/plugins/formulas/engine/settings.mjs +1 -1
- package/plugins/formulas/formulas.js +684 -602
- package/plugins/formulas/formulas.mjs +682 -600
- package/plugins/hiddenColumns/hiddenColumns.js +174 -169
- package/plugins/hiddenColumns/hiddenColumns.mjs +173 -168
- package/plugins/hiddenRows/hiddenRows.js +170 -165
- package/plugins/hiddenRows/hiddenRows.mjs +169 -164
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -1
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +1 -1
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -1
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +1 -1
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +66 -53
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +64 -51
- package/plugins/manualColumnMove/manualColumnMove.js +287 -232
- package/plugins/manualColumnMove/manualColumnMove.mjs +286 -231
- package/plugins/manualColumnMove/ui/_base.js +9 -3
- package/plugins/manualColumnMove/ui/_base.mjs +9 -3
- package/plugins/manualColumnResize/manualColumnResize.js +291 -246
- package/plugins/manualColumnResize/manualColumnResize.mjs +290 -244
- package/plugins/manualRowMove/manualRowMove.js +223 -208
- package/plugins/manualRowMove/manualRowMove.mjs +222 -207
- package/plugins/manualRowMove/ui/_base.js +10 -5
- package/plugins/manualRowMove/ui/_base.mjs +10 -5
- package/plugins/manualRowResize/manualRowResize.js +254 -209
- package/plugins/manualRowResize/manualRowResize.mjs +253 -207
- package/plugins/mergeCells/calculations/autofill.js +9 -3
- package/plugins/mergeCells/calculations/autofill.mjs +9 -3
- package/plugins/mergeCells/calculations/selection.js +10 -4
- package/plugins/mergeCells/calculations/selection.mjs +10 -4
- package/plugins/mergeCells/cellCoords.js +16 -6
- package/plugins/mergeCells/cellCoords.mjs +16 -6
- package/plugins/mergeCells/cellsCollection.js +10 -4
- package/plugins/mergeCells/cellsCollection.mjs +10 -4
- package/plugins/mergeCells/mergeCells.js +582 -502
- package/plugins/mergeCells/mergeCells.mjs +580 -500
- package/plugins/multiColumnSorting/multiColumnSorting.js +15 -11
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +15 -11
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +16 -28
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +16 -27
- package/plugins/nestedHeaders/nestedHeaders.js +542 -499
- package/plugins/nestedHeaders/nestedHeaders.mjs +554 -511
- package/plugins/nestedHeaders/stateManager/index.js +1 -1
- package/plugins/nestedHeaders/stateManager/index.mjs +1 -1
- package/plugins/nestedRows/data/dataManager.js +21 -15
- package/plugins/nestedRows/data/dataManager.mjs +21 -15
- package/plugins/nestedRows/nestedRows.js +328 -279
- package/plugins/nestedRows/nestedRows.mjs +327 -278
- package/plugins/nestedRows/ui/_base.js +7 -1
- package/plugins/nestedRows/ui/_base.mjs +7 -1
- package/plugins/nestedRows/ui/collapsing.js +2 -2
- package/plugins/nestedRows/ui/collapsing.mjs +2 -2
- package/plugins/nestedRows/ui/contextMenu.js +28 -18
- package/plugins/nestedRows/ui/contextMenu.mjs +28 -18
- package/plugins/nestedRows/utils/rowMoveController.js +12 -4
- package/plugins/nestedRows/utils/rowMoveController.mjs +12 -4
- package/plugins/persistentState/persistentState.js +14 -11
- package/plugins/persistentState/persistentState.mjs +14 -11
- package/plugins/persistentState/storage.js +11 -6
- package/plugins/persistentState/storage.mjs +11 -6
- package/plugins/registry.js +2 -2
- package/plugins/registry.mjs +2 -2
- package/plugins/search/search.js +57 -46
- package/plugins/search/search.mjs +56 -45
- package/plugins/touchScroll/touchScroll.js +102 -100
- package/plugins/touchScroll/touchScroll.mjs +100 -98
- package/plugins/trimRows/trimRows.js +33 -28
- package/plugins/trimRows/trimRows.mjs +32 -27
- package/plugins/undoRedo/undoRedo.js +2 -2
- package/plugins/undoRedo/undoRedo.mjs +2 -2
- package/renderers/autocompleteRenderer/autocompleteRenderer.js +11 -11
- package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +11 -11
- package/renderers/baseRenderer/baseRenderer.js +2 -2
- package/renderers/baseRenderer/baseRenderer.mjs +2 -2
- package/renderers/checkboxRenderer/checkboxRenderer.js +23 -23
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +23 -23
- package/renderers/dateRenderer/dateRenderer.js +4 -4
- package/renderers/dateRenderer/dateRenderer.mjs +4 -4
- package/renderers/handsontableRenderer/handsontableRenderer.js +4 -4
- package/renderers/handsontableRenderer/handsontableRenderer.mjs +4 -4
- package/renderers/htmlRenderer/htmlRenderer.js +4 -4
- package/renderers/htmlRenderer/htmlRenderer.mjs +4 -4
- package/renderers/numericRenderer/numericRenderer.js +3 -3
- package/renderers/numericRenderer/numericRenderer.mjs +3 -3
- package/renderers/passwordRenderer/passwordRenderer.js +3 -3
- package/renderers/passwordRenderer/passwordRenderer.mjs +3 -3
- package/renderers/selectRenderer/selectRenderer.js +4 -4
- package/renderers/selectRenderer/selectRenderer.mjs +4 -4
- package/renderers/textRenderer/textRenderer.js +5 -5
- package/renderers/textRenderer/textRenderer.mjs +5 -5
- package/renderers/timeRenderer/timeRenderer.js +3 -3
- package/renderers/timeRenderer/timeRenderer.mjs +3 -3
- package/selection/highlight/highlight.js +1 -4
- package/selection/highlight/highlight.mjs +1 -4
- 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
@@ -1,4 +1,11 @@
|
|
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 _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
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); }
|
8
|
+
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
|
2
9
|
import { addClass, removeClass } from "../../helpers/dom/element.mjs";
|
3
10
|
import { arrayEach } from "../../helpers/array.mjs";
|
4
11
|
import { BasePlugin } from "../base/index.mjs";
|
@@ -11,47 +18,60 @@ export const PLUGIN_PRIORITY = 200;
|
|
11
18
|
* @plugin TouchScroll
|
12
19
|
* @class TouchScroll
|
13
20
|
*/
|
21
|
+
var _onAfterViewRender = /*#__PURE__*/new WeakSet();
|
22
|
+
var _onBeforeTouchScroll = /*#__PURE__*/new WeakSet();
|
23
|
+
var _onAfterMomentumScroll = /*#__PURE__*/new WeakSet();
|
14
24
|
export class TouchScroll extends BasePlugin {
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
25
|
+
constructor() {
|
26
|
+
super(...arguments);
|
27
|
+
/**
|
28
|
+
* After momentum scroll listener.
|
29
|
+
*/
|
30
|
+
_classPrivateMethodInitSpec(this, _onAfterMomentumScroll);
|
31
|
+
/**
|
32
|
+
* Touch scroll listener.
|
33
|
+
*/
|
34
|
+
_classPrivateMethodInitSpec(this, _onBeforeTouchScroll);
|
35
|
+
/**
|
36
|
+
* After view render listener.
|
37
|
+
*/
|
38
|
+
_classPrivateMethodInitSpec(this, _onAfterViewRender);
|
27
39
|
/**
|
28
40
|
* Collection of scrollbars to update.
|
29
41
|
*
|
30
42
|
* @type {Array}
|
31
43
|
*/
|
32
|
-
this
|
44
|
+
_defineProperty(this, "scrollbars", []);
|
33
45
|
/**
|
34
46
|
* Collection of overlays to update.
|
35
47
|
*
|
36
48
|
* @type {Array}
|
37
49
|
*/
|
38
|
-
this
|
50
|
+
_defineProperty(this, "clones", []);
|
39
51
|
/**
|
40
52
|
* Flag which determines if collection of overlays should be refilled on every table render.
|
41
53
|
*
|
42
54
|
* @type {boolean}
|
43
55
|
* @default false
|
44
56
|
*/
|
45
|
-
this
|
57
|
+
_defineProperty(this, "lockedCollection", false);
|
46
58
|
/**
|
47
59
|
* Flag which determines if walkontable should freeze overlays while scrolling.
|
48
60
|
*
|
49
61
|
* @type {boolean}
|
50
62
|
* @default false
|
51
63
|
*/
|
52
|
-
this
|
64
|
+
_defineProperty(this, "freezeOverlays", false);
|
65
|
+
}
|
66
|
+
static get PLUGIN_KEY() {
|
67
|
+
return PLUGIN_KEY;
|
68
|
+
}
|
69
|
+
static get PLUGIN_PRIORITY() {
|
70
|
+
return PLUGIN_PRIORITY;
|
71
|
+
}
|
72
|
+
static get SETTING_KEYS() {
|
73
|
+
return true;
|
53
74
|
}
|
54
|
-
|
55
75
|
/**
|
56
76
|
* Check if plugin is enabled.
|
57
77
|
*
|
@@ -68,7 +88,7 @@ export class TouchScroll extends BasePlugin {
|
|
68
88
|
if (this.enabled) {
|
69
89
|
return;
|
70
90
|
}
|
71
|
-
this.addHook('afterViewRender', () => this.
|
91
|
+
this.addHook('afterViewRender', () => _classPrivateMethodGet(this, _onAfterViewRender, _onAfterViewRender2).call(this));
|
72
92
|
this.registerEvents();
|
73
93
|
super.enablePlugin();
|
74
94
|
}
|
@@ -94,89 +114,71 @@ export class TouchScroll extends BasePlugin {
|
|
94
114
|
* @private
|
95
115
|
*/
|
96
116
|
registerEvents() {
|
97
|
-
this.addHook('beforeTouchScroll', () => this.
|
98
|
-
this.addHook('afterMomentumScroll', () => this.
|
117
|
+
this.addHook('beforeTouchScroll', () => _classPrivateMethodGet(this, _onBeforeTouchScroll, _onBeforeTouchScroll2).call(this));
|
118
|
+
this.addHook('afterMomentumScroll', () => _classPrivateMethodGet(this, _onAfterMomentumScroll, _onAfterMomentumScroll2).call(this));
|
99
119
|
}
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
* @private
|
105
|
-
*/
|
106
|
-
onAfterViewRender() {
|
107
|
-
if (this.lockedCollection) {
|
108
|
-
return;
|
109
|
-
}
|
110
|
-
const {
|
111
|
-
topOverlay,
|
112
|
-
bottomOverlay,
|
113
|
-
inlineStartOverlay,
|
114
|
-
topInlineStartCornerOverlay,
|
115
|
-
bottomInlineStartCornerOverlay
|
116
|
-
} = this.hot.view._wt.wtOverlays;
|
117
|
-
this.lockedCollection = true;
|
118
|
-
this.scrollbars.length = 0;
|
119
|
-
this.scrollbars.push(topOverlay);
|
120
|
-
if (bottomOverlay.clone) {
|
121
|
-
this.scrollbars.push(bottomOverlay);
|
122
|
-
}
|
123
|
-
this.scrollbars.push(inlineStartOverlay);
|
124
|
-
if (topInlineStartCornerOverlay) {
|
125
|
-
this.scrollbars.push(topInlineStartCornerOverlay);
|
126
|
-
}
|
127
|
-
if (bottomInlineStartCornerOverlay && bottomInlineStartCornerOverlay.clone) {
|
128
|
-
this.scrollbars.push(bottomInlineStartCornerOverlay);
|
129
|
-
}
|
130
|
-
this.clones = [];
|
131
|
-
if (topOverlay.needFullRender) {
|
132
|
-
this.clones.push(topOverlay.clone.wtTable.holder.parentNode);
|
133
|
-
}
|
134
|
-
if (bottomOverlay.needFullRender) {
|
135
|
-
this.clones.push(bottomOverlay.clone.wtTable.holder.parentNode);
|
136
|
-
}
|
137
|
-
if (inlineStartOverlay.needFullRender) {
|
138
|
-
this.clones.push(inlineStartOverlay.clone.wtTable.holder.parentNode);
|
139
|
-
}
|
140
|
-
if (topInlineStartCornerOverlay) {
|
141
|
-
this.clones.push(topInlineStartCornerOverlay.clone.wtTable.holder.parentNode);
|
142
|
-
}
|
143
|
-
if (bottomInlineStartCornerOverlay && bottomInlineStartCornerOverlay.clone) {
|
144
|
-
this.clones.push(bottomInlineStartCornerOverlay.clone.wtTable.holder.parentNode);
|
145
|
-
}
|
120
|
+
}
|
121
|
+
function _onAfterViewRender2() {
|
122
|
+
if (this.lockedCollection) {
|
123
|
+
return;
|
146
124
|
}
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
125
|
+
const {
|
126
|
+
topOverlay,
|
127
|
+
bottomOverlay,
|
128
|
+
inlineStartOverlay,
|
129
|
+
topInlineStartCornerOverlay,
|
130
|
+
bottomInlineStartCornerOverlay
|
131
|
+
} = this.hot.view._wt.wtOverlays;
|
132
|
+
this.lockedCollection = true;
|
133
|
+
this.scrollbars.length = 0;
|
134
|
+
this.scrollbars.push(topOverlay);
|
135
|
+
if (bottomOverlay.clone) {
|
136
|
+
this.scrollbars.push(bottomOverlay);
|
158
137
|
}
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
138
|
+
this.scrollbars.push(inlineStartOverlay);
|
139
|
+
if (topInlineStartCornerOverlay) {
|
140
|
+
this.scrollbars.push(topInlineStartCornerOverlay);
|
141
|
+
}
|
142
|
+
if (bottomInlineStartCornerOverlay && bottomInlineStartCornerOverlay.clone) {
|
143
|
+
this.scrollbars.push(bottomInlineStartCornerOverlay);
|
144
|
+
}
|
145
|
+
this.clones = [];
|
146
|
+
if (topOverlay.needFullRender) {
|
147
|
+
this.clones.push(topOverlay.clone.wtTable.holder.parentNode);
|
148
|
+
}
|
149
|
+
if (bottomOverlay.needFullRender) {
|
150
|
+
this.clones.push(bottomOverlay.clone.wtTable.holder.parentNode);
|
151
|
+
}
|
152
|
+
if (inlineStartOverlay.needFullRender) {
|
153
|
+
this.clones.push(inlineStartOverlay.clone.wtTable.holder.parentNode);
|
154
|
+
}
|
155
|
+
if (topInlineStartCornerOverlay) {
|
156
|
+
this.clones.push(topInlineStartCornerOverlay.clone.wtTable.holder.parentNode);
|
157
|
+
}
|
158
|
+
if (bottomInlineStartCornerOverlay && bottomInlineStartCornerOverlay.clone) {
|
159
|
+
this.clones.push(bottomInlineStartCornerOverlay.clone.wtTable.holder.parentNode);
|
160
|
+
}
|
161
|
+
}
|
162
|
+
function _onBeforeTouchScroll2() {
|
163
|
+
this.freezeOverlays = true;
|
164
|
+
arrayEach(this.clones, clone => {
|
165
|
+
addClass(clone, 'hide-tween');
|
166
|
+
});
|
167
|
+
}
|
168
|
+
function _onAfterMomentumScroll2() {
|
169
|
+
this.freezeOverlays = false;
|
170
|
+
arrayEach(this.clones, clone => {
|
171
|
+
removeClass(clone, 'hide-tween');
|
172
|
+
addClass(clone, 'show-tween');
|
173
|
+
});
|
174
|
+
this.hot._registerTimeout(() => {
|
167
175
|
arrayEach(this.clones, clone => {
|
168
|
-
removeClass(clone, '
|
169
|
-
addClass(clone, 'show-tween');
|
170
|
-
});
|
171
|
-
this.hot._registerTimeout(() => {
|
172
|
-
arrayEach(this.clones, clone => {
|
173
|
-
removeClass(clone, 'show-tween');
|
174
|
-
});
|
175
|
-
}, 400);
|
176
|
-
arrayEach(this.scrollbars, scrollbar => {
|
177
|
-
scrollbar.refresh();
|
178
|
-
scrollbar.resetFixedPosition();
|
176
|
+
removeClass(clone, 'show-tween');
|
179
177
|
});
|
180
|
-
|
181
|
-
|
178
|
+
}, 400);
|
179
|
+
arrayEach(this.scrollbars, scrollbar => {
|
180
|
+
scrollbar.refresh();
|
181
|
+
scrollbar.resetFixedPosition();
|
182
|
+
});
|
183
|
+
this.hot.view._wt.wtOverlays.syncScrollWithMaster();
|
182
184
|
}
|
@@ -2,9 +2,16 @@
|
|
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 _translations = require("../../translations");
|
7
8
|
var _array = require("../../helpers/array");
|
9
|
+
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
10
|
+
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
11
|
+
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; }
|
12
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
13
|
+
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); }
|
14
|
+
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
|
8
15
|
const PLUGIN_KEY = exports.PLUGIN_KEY = 'trimRows';
|
9
16
|
const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 330;
|
10
17
|
|
@@ -95,22 +102,27 @@ const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 330;
|
|
95
102
|
* ```
|
96
103
|
* :::
|
97
104
|
*/
|
105
|
+
var _onMapInit = /*#__PURE__*/new WeakSet();
|
98
106
|
class TrimRows extends _base.BasePlugin {
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
constructor(hotInstance) {
|
106
|
-
super(hotInstance);
|
107
|
+
constructor() {
|
108
|
+
super(...arguments);
|
109
|
+
/**
|
110
|
+
* On map initialized hook callback.
|
111
|
+
*/
|
112
|
+
_classPrivateMethodInitSpec(this, _onMapInit);
|
107
113
|
/**
|
108
114
|
* Map of skipped rows by the plugin.
|
109
115
|
*
|
110
116
|
* @private
|
111
117
|
* @type {null|TrimmingMap}
|
112
118
|
*/
|
113
|
-
this
|
119
|
+
_defineProperty(this, "trimmedRowsMap", null);
|
120
|
+
}
|
121
|
+
static get PLUGIN_KEY() {
|
122
|
+
return PLUGIN_KEY;
|
123
|
+
}
|
124
|
+
static get PLUGIN_PRIORITY() {
|
125
|
+
return PLUGIN_PRIORITY;
|
114
126
|
}
|
115
127
|
/**
|
116
128
|
* Checks if the plugin is enabled in the handsontable settings. This method is executed in {@link Hooks#beforeInit}
|
@@ -130,7 +142,7 @@ class TrimRows extends _base.BasePlugin {
|
|
130
142
|
return;
|
131
143
|
}
|
132
144
|
this.trimmedRowsMap = this.hot.rowIndexMapper.registerMap('trimRows', new _translations.TrimmingMap());
|
133
|
-
this.trimmedRowsMap.addLocalHook('init', () => this.
|
145
|
+
this.trimmedRowsMap.addLocalHook('init', () => _classPrivateMethodGet(this, _onMapInit, _onMapInit2).call(this));
|
134
146
|
super.enablePlugin();
|
135
147
|
}
|
136
148
|
|
@@ -286,23 +298,6 @@ class TrimRows extends _base.BasePlugin {
|
|
286
298
|
const sourceRows = this.hot.countSourceRows();
|
287
299
|
return trimmedRows.every(trimmedRow => Number.isInteger(trimmedRow) && trimmedRow >= 0 && trimmedRow < sourceRows);
|
288
300
|
}
|
289
|
-
|
290
|
-
/**
|
291
|
-
* On map initialized hook callback.
|
292
|
-
*
|
293
|
-
* @private
|
294
|
-
*/
|
295
|
-
onMapInit() {
|
296
|
-
const trimmedRows = this.hot.getSettings()[PLUGIN_KEY];
|
297
|
-
if (Array.isArray(trimmedRows)) {
|
298
|
-
this.hot.batchExecution(() => {
|
299
|
-
(0, _array.arrayEach)(trimmedRows, physicalRow => {
|
300
|
-
this.trimmedRowsMap.setValueAtIndex(physicalRow, true);
|
301
|
-
});
|
302
|
-
}, true);
|
303
|
-
}
|
304
|
-
}
|
305
|
-
|
306
301
|
/**
|
307
302
|
* Destroys the plugin instance.
|
308
303
|
*/
|
@@ -310,4 +305,14 @@ class TrimRows extends _base.BasePlugin {
|
|
310
305
|
super.destroy();
|
311
306
|
}
|
312
307
|
}
|
313
|
-
exports.TrimRows = TrimRows;
|
308
|
+
exports.TrimRows = TrimRows;
|
309
|
+
function _onMapInit2() {
|
310
|
+
const trimmedRows = this.hot.getSettings()[PLUGIN_KEY];
|
311
|
+
if (Array.isArray(trimmedRows)) {
|
312
|
+
this.hot.batchExecution(() => {
|
313
|
+
(0, _array.arrayEach)(trimmedRows, physicalRow => {
|
314
|
+
this.trimmedRowsMap.setValueAtIndex(physicalRow, true);
|
315
|
+
});
|
316
|
+
}, true);
|
317
|
+
}
|
318
|
+
}
|
@@ -1,4 +1,11 @@
|
|
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 _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
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); }
|
8
|
+
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
|
2
9
|
import { BasePlugin } from "../base/index.mjs";
|
3
10
|
import { TrimmingMap } from "../../translations/index.mjs";
|
4
11
|
import { arrayEach, arrayReduce } from "../../helpers/array.mjs";
|
@@ -92,22 +99,27 @@ export const PLUGIN_PRIORITY = 330;
|
|
92
99
|
* ```
|
93
100
|
* :::
|
94
101
|
*/
|
102
|
+
var _onMapInit = /*#__PURE__*/new WeakSet();
|
95
103
|
export class TrimRows extends BasePlugin {
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
constructor(hotInstance) {
|
103
|
-
super(hotInstance);
|
104
|
+
constructor() {
|
105
|
+
super(...arguments);
|
106
|
+
/**
|
107
|
+
* On map initialized hook callback.
|
108
|
+
*/
|
109
|
+
_classPrivateMethodInitSpec(this, _onMapInit);
|
104
110
|
/**
|
105
111
|
* Map of skipped rows by the plugin.
|
106
112
|
*
|
107
113
|
* @private
|
108
114
|
* @type {null|TrimmingMap}
|
109
115
|
*/
|
110
|
-
this
|
116
|
+
_defineProperty(this, "trimmedRowsMap", null);
|
117
|
+
}
|
118
|
+
static get PLUGIN_KEY() {
|
119
|
+
return PLUGIN_KEY;
|
120
|
+
}
|
121
|
+
static get PLUGIN_PRIORITY() {
|
122
|
+
return PLUGIN_PRIORITY;
|
111
123
|
}
|
112
124
|
/**
|
113
125
|
* Checks if the plugin is enabled in the handsontable settings. This method is executed in {@link Hooks#beforeInit}
|
@@ -127,7 +139,7 @@ export class TrimRows extends BasePlugin {
|
|
127
139
|
return;
|
128
140
|
}
|
129
141
|
this.trimmedRowsMap = this.hot.rowIndexMapper.registerMap('trimRows', new TrimmingMap());
|
130
|
-
this.trimmedRowsMap.addLocalHook('init', () => this.
|
142
|
+
this.trimmedRowsMap.addLocalHook('init', () => _classPrivateMethodGet(this, _onMapInit, _onMapInit2).call(this));
|
131
143
|
super.enablePlugin();
|
132
144
|
}
|
133
145
|
|
@@ -283,27 +295,20 @@ export class TrimRows extends BasePlugin {
|
|
283
295
|
const sourceRows = this.hot.countSourceRows();
|
284
296
|
return trimmedRows.every(trimmedRow => Number.isInteger(trimmedRow) && trimmedRow >= 0 && trimmedRow < sourceRows);
|
285
297
|
}
|
286
|
-
|
287
|
-
/**
|
288
|
-
* On map initialized hook callback.
|
289
|
-
*
|
290
|
-
* @private
|
291
|
-
*/
|
292
|
-
onMapInit() {
|
293
|
-
const trimmedRows = this.hot.getSettings()[PLUGIN_KEY];
|
294
|
-
if (Array.isArray(trimmedRows)) {
|
295
|
-
this.hot.batchExecution(() => {
|
296
|
-
arrayEach(trimmedRows, physicalRow => {
|
297
|
-
this.trimmedRowsMap.setValueAtIndex(physicalRow, true);
|
298
|
-
});
|
299
|
-
}, true);
|
300
|
-
}
|
301
|
-
}
|
302
|
-
|
303
298
|
/**
|
304
299
|
* Destroys the plugin instance.
|
305
300
|
*/
|
306
301
|
destroy() {
|
307
302
|
super.destroy();
|
308
303
|
}
|
304
|
+
}
|
305
|
+
function _onMapInit2() {
|
306
|
+
const trimmedRows = this.hot.getSettings()[PLUGIN_KEY];
|
307
|
+
if (Array.isArray(trimmedRows)) {
|
308
|
+
this.hot.batchExecution(() => {
|
309
|
+
arrayEach(trimmedRows, physicalRow => {
|
310
|
+
this.trimmedRowsMap.setValueAtIndex(physicalRow, true);
|
311
|
+
});
|
312
|
+
}, true);
|
313
|
+
}
|
309
314
|
}
|
@@ -517,7 +517,7 @@ UndoRedo.RemoveColumnAction.prototype.undo = function (instance, undoneCallback)
|
|
517
517
|
changes.push([rowIndex, changedIndex, rowData[changedIndex]]);
|
518
518
|
});
|
519
519
|
});
|
520
|
-
instance.setSourceDataAtCell(changes,
|
520
|
+
instance.setSourceDataAtCell(changes, undefined, undefined, 'UndoRedo.undo');
|
521
521
|
if (typeof this.headers !== 'undefined') {
|
522
522
|
(0, _array.arrayEach)(sortedHeaders, (headerData, columnIndex) => {
|
523
523
|
instance.getSettings().colHeaders[ascendingIndexes[columnIndex]] = headerData;
|
@@ -612,7 +612,7 @@ class MergeCellsAction extends UndoRedo.Action {
|
|
612
612
|
instance.addHookOnce('afterViewRender', undoneCallback);
|
613
613
|
mergeCellsPlugin.unmergeRange(this.cellRange, true);
|
614
614
|
const topStartCorner = this.cellRange.getTopStartCorner();
|
615
|
-
instance.populateFromArray(topStartCorner.row, topStartCorner.col, this.rangeData,
|
615
|
+
instance.populateFromArray(topStartCorner.row, topStartCorner.col, this.rangeData, undefined, undefined, 'MergeCells');
|
616
616
|
}
|
617
617
|
redo(instance, redoneCallback) {
|
618
618
|
const mergeCellsPlugin = instance.getPlugin('mergeCells');
|
@@ -513,7 +513,7 @@ UndoRedo.RemoveColumnAction.prototype.undo = function (instance, undoneCallback)
|
|
513
513
|
changes.push([rowIndex, changedIndex, rowData[changedIndex]]);
|
514
514
|
});
|
515
515
|
});
|
516
|
-
instance.setSourceDataAtCell(changes,
|
516
|
+
instance.setSourceDataAtCell(changes, undefined, undefined, 'UndoRedo.undo');
|
517
517
|
if (typeof this.headers !== 'undefined') {
|
518
518
|
arrayEach(sortedHeaders, (headerData, columnIndex) => {
|
519
519
|
instance.getSettings().colHeaders[ascendingIndexes[columnIndex]] = headerData;
|
@@ -608,7 +608,7 @@ class MergeCellsAction extends UndoRedo.Action {
|
|
608
608
|
instance.addHookOnce('afterViewRender', undoneCallback);
|
609
609
|
mergeCellsPlugin.unmergeRange(this.cellRange, true);
|
610
610
|
const topStartCorner = this.cellRange.getTopStartCorner();
|
611
|
-
instance.populateFromArray(topStartCorner.row, topStartCorner.col, this.rangeData,
|
611
|
+
instance.populateFromArray(topStartCorner.row, topStartCorner.col, this.rangeData, undefined, undefined, 'MergeCells');
|
612
612
|
}
|
613
613
|
redo(instance, redoneCallback) {
|
614
614
|
const mergeCellsPlugin = instance.getPlugin('mergeCells');
|
@@ -14,7 +14,7 @@ const RENDERER_TYPE = exports.RENDERER_TYPE = 'autocomplete';
|
|
14
14
|
* Autocomplete renderer.
|
15
15
|
*
|
16
16
|
* @private
|
17
|
-
* @param {Core}
|
17
|
+
* @param {Core} hotInstance The Handsontable instance.
|
18
18
|
* @param {HTMLTableCellElement} TD The rendered cell element.
|
19
19
|
* @param {number} row The visual row index.
|
20
20
|
* @param {number} col The visual column index.
|
@@ -22,19 +22,19 @@ const RENDERER_TYPE = exports.RENDERER_TYPE = 'autocomplete';
|
|
22
22
|
* @param {*} value The rendered value.
|
23
23
|
* @param {object} cellProperties The cell meta object ({@see Core#getCellMeta}).
|
24
24
|
*/
|
25
|
-
function autocompleteRenderer(
|
25
|
+
function autocompleteRenderer(hotInstance, TD, row, col, prop, value, cellProperties) {
|
26
26
|
const {
|
27
27
|
rootDocument
|
28
|
-
} =
|
28
|
+
} = hotInstance;
|
29
29
|
const rendererFunc = cellProperties.allowHtml ? _htmlRenderer.htmlRenderer : _textRenderer.textRenderer;
|
30
30
|
const ARROW = rootDocument.createElement('DIV');
|
31
|
-
const isAriaEnabled =
|
31
|
+
const isAriaEnabled = hotInstance.getSettings().ariaTags;
|
32
32
|
ARROW.className = 'htAutocompleteArrow';
|
33
33
|
if (isAriaEnabled) {
|
34
34
|
ARROW.setAttribute(...(0, _a11y.A11Y_HIDDEN)());
|
35
35
|
}
|
36
36
|
ARROW.appendChild(rootDocument.createTextNode(String.fromCharCode(9660)));
|
37
|
-
rendererFunc.apply(this, [
|
37
|
+
rendererFunc.apply(this, [hotInstance, TD, row, col, prop, value, cellProperties]);
|
38
38
|
if (!TD.firstChild) {
|
39
39
|
// http://jsperf.com/empty-node-if-needed
|
40
40
|
// otherwise empty fields appear borderless in demo/renderers.html (IE)
|
@@ -47,19 +47,19 @@ function autocompleteRenderer(instance, TD, row, col, prop, value, cellPropertie
|
|
47
47
|
if (isAriaEnabled) {
|
48
48
|
TD.setAttribute(...(0, _a11y.A11Y_HASPOPUP)('listbox'));
|
49
49
|
}
|
50
|
-
if (!
|
51
|
-
const eventManager = new _eventManager.default(
|
50
|
+
if (!hotInstance.acArrowListener) {
|
51
|
+
const eventManager = new _eventManager.default(hotInstance);
|
52
52
|
|
53
53
|
// not very elegant but easy and fast
|
54
|
-
|
54
|
+
hotInstance.acArrowListener = function (event) {
|
55
55
|
if ((0, _element.hasClass)(event.target, 'htAutocompleteArrow')) {
|
56
|
-
|
56
|
+
hotInstance.view._wt.getSetting('onCellDblClick', null, hotInstance._createCellCoords(row, col), TD);
|
57
57
|
}
|
58
58
|
};
|
59
|
-
eventManager.addEventListener(
|
59
|
+
eventManager.addEventListener(hotInstance.rootElement, 'mousedown', hotInstance.acArrowListener);
|
60
60
|
|
61
61
|
// We need to unbind the listener after the table has been destroyed
|
62
|
-
|
62
|
+
hotInstance.addHookOnce('afterDestroy', () => {
|
63
63
|
eventManager.destroy();
|
64
64
|
});
|
65
65
|
}
|
@@ -9,7 +9,7 @@ export const RENDERER_TYPE = 'autocomplete';
|
|
9
9
|
* Autocomplete renderer.
|
10
10
|
*
|
11
11
|
* @private
|
12
|
-
* @param {Core}
|
12
|
+
* @param {Core} hotInstance The Handsontable instance.
|
13
13
|
* @param {HTMLTableCellElement} TD The rendered cell element.
|
14
14
|
* @param {number} row The visual row index.
|
15
15
|
* @param {number} col The visual column index.
|
@@ -17,19 +17,19 @@ export const RENDERER_TYPE = 'autocomplete';
|
|
17
17
|
* @param {*} value The rendered value.
|
18
18
|
* @param {object} cellProperties The cell meta object ({@see Core#getCellMeta}).
|
19
19
|
*/
|
20
|
-
export function autocompleteRenderer(
|
20
|
+
export function autocompleteRenderer(hotInstance, TD, row, col, prop, value, cellProperties) {
|
21
21
|
const {
|
22
22
|
rootDocument
|
23
|
-
} =
|
23
|
+
} = hotInstance;
|
24
24
|
const rendererFunc = cellProperties.allowHtml ? htmlRenderer : textRenderer;
|
25
25
|
const ARROW = rootDocument.createElement('DIV');
|
26
|
-
const isAriaEnabled =
|
26
|
+
const isAriaEnabled = hotInstance.getSettings().ariaTags;
|
27
27
|
ARROW.className = 'htAutocompleteArrow';
|
28
28
|
if (isAriaEnabled) {
|
29
29
|
ARROW.setAttribute(...A11Y_HIDDEN());
|
30
30
|
}
|
31
31
|
ARROW.appendChild(rootDocument.createTextNode(String.fromCharCode(9660)));
|
32
|
-
rendererFunc.apply(this, [
|
32
|
+
rendererFunc.apply(this, [hotInstance, TD, row, col, prop, value, cellProperties]);
|
33
33
|
if (!TD.firstChild) {
|
34
34
|
// http://jsperf.com/empty-node-if-needed
|
35
35
|
// otherwise empty fields appear borderless in demo/renderers.html (IE)
|
@@ -42,19 +42,19 @@ export function autocompleteRenderer(instance, TD, row, col, prop, value, cellPr
|
|
42
42
|
if (isAriaEnabled) {
|
43
43
|
TD.setAttribute(...A11Y_HASPOPUP('listbox'));
|
44
44
|
}
|
45
|
-
if (!
|
46
|
-
const eventManager = new EventManager(
|
45
|
+
if (!hotInstance.acArrowListener) {
|
46
|
+
const eventManager = new EventManager(hotInstance);
|
47
47
|
|
48
48
|
// not very elegant but easy and fast
|
49
|
-
|
49
|
+
hotInstance.acArrowListener = function (event) {
|
50
50
|
if (hasClass(event.target, 'htAutocompleteArrow')) {
|
51
|
-
|
51
|
+
hotInstance.view._wt.getSetting('onCellDblClick', null, hotInstance._createCellCoords(row, col), TD);
|
52
52
|
}
|
53
53
|
};
|
54
|
-
eventManager.addEventListener(
|
54
|
+
eventManager.addEventListener(hotInstance.rootElement, 'mousedown', hotInstance.acArrowListener);
|
55
55
|
|
56
56
|
// We need to unbind the listener after the table has been destroyed
|
57
|
-
|
57
|
+
hotInstance.addHookOnce('afterDestroy', () => {
|
58
58
|
eventManager.destroy();
|
59
59
|
});
|
60
60
|
}
|
@@ -12,7 +12,7 @@ var _a11y = require("../../helpers/a11y");
|
|
12
12
|
const RENDERER_TYPE = exports.RENDERER_TYPE = 'base';
|
13
13
|
|
14
14
|
/**
|
15
|
-
* @param {Core}
|
15
|
+
* @param {Core} hotInstance The Handsontable instance.
|
16
16
|
* @param {HTMLTableCellElement} TD The rendered cell element.
|
17
17
|
* @param {number} row The visual row index.
|
18
18
|
* @param {number} col The visual column index.
|
@@ -20,7 +20,7 @@ const RENDERER_TYPE = exports.RENDERER_TYPE = 'base';
|
|
20
20
|
* @param {*} value The rendered value.
|
21
21
|
* @param {object} cellProperties The cell meta object ({@see Core#getCellMeta}).
|
22
22
|
*/
|
23
|
-
function baseRenderer(
|
23
|
+
function baseRenderer(hotInstance, TD, row, col, prop, value, cellProperties) {
|
24
24
|
const ariaEnabled = cellProperties.ariaTags;
|
25
25
|
const classesToAdd = [];
|
26
26
|
const classesToRemove = [];
|
@@ -7,7 +7,7 @@ import { A11Y_INVALID, A11Y_READONLY } from "../../helpers/a11y.mjs";
|
|
7
7
|
export const RENDERER_TYPE = 'base';
|
8
8
|
|
9
9
|
/**
|
10
|
-
* @param {Core}
|
10
|
+
* @param {Core} hotInstance The Handsontable instance.
|
11
11
|
* @param {HTMLTableCellElement} TD The rendered cell element.
|
12
12
|
* @param {number} row The visual row index.
|
13
13
|
* @param {number} col The visual column index.
|
@@ -15,7 +15,7 @@ export const RENDERER_TYPE = 'base';
|
|
15
15
|
* @param {*} value The rendered value.
|
16
16
|
* @param {object} cellProperties The cell meta object ({@see Core#getCellMeta}).
|
17
17
|
*/
|
18
|
-
export function baseRenderer(
|
18
|
+
export function baseRenderer(hotInstance, TD, row, col, prop, value, cellProperties) {
|
19
19
|
const ariaEnabled = cellProperties.ariaTags;
|
20
20
|
const classesToAdd = [];
|
21
21
|
const classesToRemove = [];
|