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,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 = 'trimRows';
|
9
16
|
exports.PLUGIN_KEY = PLUGIN_KEY;
|
10
17
|
const PLUGIN_PRIORITY = 330;
|
@@ -97,22 +104,27 @@ const PLUGIN_PRIORITY = 330;
|
|
97
104
|
* :::
|
98
105
|
*/
|
99
106
|
exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
|
107
|
+
var _onMapInit = /*#__PURE__*/new WeakSet();
|
100
108
|
class TrimRows extends _base.BasePlugin {
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
constructor(hotInstance) {
|
108
|
-
super(hotInstance);
|
109
|
+
constructor() {
|
110
|
+
super(...arguments);
|
111
|
+
/**
|
112
|
+
* On map initialized hook callback.
|
113
|
+
*/
|
114
|
+
_classPrivateMethodInitSpec(this, _onMapInit);
|
109
115
|
/**
|
110
116
|
* Map of skipped rows by the plugin.
|
111
117
|
*
|
112
118
|
* @private
|
113
119
|
* @type {null|TrimmingMap}
|
114
120
|
*/
|
115
|
-
this
|
121
|
+
_defineProperty(this, "trimmedRowsMap", null);
|
122
|
+
}
|
123
|
+
static get PLUGIN_KEY() {
|
124
|
+
return PLUGIN_KEY;
|
125
|
+
}
|
126
|
+
static get PLUGIN_PRIORITY() {
|
127
|
+
return PLUGIN_PRIORITY;
|
116
128
|
}
|
117
129
|
/**
|
118
130
|
* Checks if the plugin is enabled in the handsontable settings. This method is executed in {@link Hooks#beforeInit}
|
@@ -132,7 +144,7 @@ class TrimRows extends _base.BasePlugin {
|
|
132
144
|
return;
|
133
145
|
}
|
134
146
|
this.trimmedRowsMap = this.hot.rowIndexMapper.registerMap('trimRows', new _translations.TrimmingMap());
|
135
|
-
this.trimmedRowsMap.addLocalHook('init', () => this.
|
147
|
+
this.trimmedRowsMap.addLocalHook('init', () => _classPrivateMethodGet(this, _onMapInit, _onMapInit2).call(this));
|
136
148
|
super.enablePlugin();
|
137
149
|
}
|
138
150
|
|
@@ -288,23 +300,6 @@ class TrimRows extends _base.BasePlugin {
|
|
288
300
|
const sourceRows = this.hot.countSourceRows();
|
289
301
|
return trimmedRows.every(trimmedRow => Number.isInteger(trimmedRow) && trimmedRow >= 0 && trimmedRow < sourceRows);
|
290
302
|
}
|
291
|
-
|
292
|
-
/**
|
293
|
-
* On map initialized hook callback.
|
294
|
-
*
|
295
|
-
* @private
|
296
|
-
*/
|
297
|
-
onMapInit() {
|
298
|
-
const trimmedRows = this.hot.getSettings()[PLUGIN_KEY];
|
299
|
-
if (Array.isArray(trimmedRows)) {
|
300
|
-
this.hot.batchExecution(() => {
|
301
|
-
(0, _array.arrayEach)(trimmedRows, physicalRow => {
|
302
|
-
this.trimmedRowsMap.setValueAtIndex(physicalRow, true);
|
303
|
-
});
|
304
|
-
}, true);
|
305
|
-
}
|
306
|
-
}
|
307
|
-
|
308
303
|
/**
|
309
304
|
* Destroys the plugin instance.
|
310
305
|
*/
|
@@ -312,4 +307,14 @@ class TrimRows extends _base.BasePlugin {
|
|
312
307
|
super.destroy();
|
313
308
|
}
|
314
309
|
}
|
315
|
-
exports.TrimRows = TrimRows;
|
310
|
+
exports.TrimRows = TrimRows;
|
311
|
+
function _onMapInit2() {
|
312
|
+
const trimmedRows = this.hot.getSettings()[PLUGIN_KEY];
|
313
|
+
if (Array.isArray(trimmedRows)) {
|
314
|
+
this.hot.batchExecution(() => {
|
315
|
+
(0, _array.arrayEach)(trimmedRows, physicalRow => {
|
316
|
+
this.trimmedRowsMap.setValueAtIndex(physicalRow, true);
|
317
|
+
});
|
318
|
+
}, true);
|
319
|
+
}
|
320
|
+
}
|
@@ -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
|
}
|
@@ -518,7 +518,7 @@ UndoRedo.RemoveColumnAction.prototype.undo = function (instance, undoneCallback)
|
|
518
518
|
changes.push([rowIndex, changedIndex, rowData[changedIndex]]);
|
519
519
|
});
|
520
520
|
});
|
521
|
-
instance.setSourceDataAtCell(changes,
|
521
|
+
instance.setSourceDataAtCell(changes, undefined, undefined, 'UndoRedo.undo');
|
522
522
|
if (typeof this.headers !== 'undefined') {
|
523
523
|
(0, _array.arrayEach)(sortedHeaders, (headerData, columnIndex) => {
|
524
524
|
instance.getSettings().colHeaders[ascendingIndexes[columnIndex]] = headerData;
|
@@ -613,7 +613,7 @@ class MergeCellsAction extends UndoRedo.Action {
|
|
613
613
|
instance.addHookOnce('afterViewRender', undoneCallback);
|
614
614
|
mergeCellsPlugin.unmergeRange(this.cellRange, true);
|
615
615
|
const topStartCorner = this.cellRange.getTopStartCorner();
|
616
|
-
instance.populateFromArray(topStartCorner.row, topStartCorner.col, this.rangeData,
|
616
|
+
instance.populateFromArray(topStartCorner.row, topStartCorner.col, this.rangeData, undefined, undefined, 'MergeCells');
|
617
617
|
}
|
618
618
|
redo(instance, redoneCallback) {
|
619
619
|
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 = '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.
|
@@ -23,19 +23,19 @@ const RENDERER_TYPE = 'autocomplete';
|
|
23
23
|
* @param {object} cellProperties The cell meta object ({@see Core#getCellMeta}).
|
24
24
|
*/
|
25
25
|
exports.RENDERER_TYPE = RENDERER_TYPE;
|
26
|
-
function autocompleteRenderer(
|
26
|
+
function autocompleteRenderer(hotInstance, TD, row, col, prop, value, cellProperties) {
|
27
27
|
const {
|
28
28
|
rootDocument
|
29
|
-
} =
|
29
|
+
} = hotInstance;
|
30
30
|
const rendererFunc = cellProperties.allowHtml ? _htmlRenderer.htmlRenderer : _textRenderer.textRenderer;
|
31
31
|
const ARROW = rootDocument.createElement('DIV');
|
32
|
-
const isAriaEnabled =
|
32
|
+
const isAriaEnabled = hotInstance.getSettings().ariaTags;
|
33
33
|
ARROW.className = 'htAutocompleteArrow';
|
34
34
|
if (isAriaEnabled) {
|
35
35
|
ARROW.setAttribute(...(0, _a11y.A11Y_HIDDEN)());
|
36
36
|
}
|
37
37
|
ARROW.appendChild(rootDocument.createTextNode(String.fromCharCode(9660)));
|
38
|
-
rendererFunc.apply(this, [
|
38
|
+
rendererFunc.apply(this, [hotInstance, TD, row, col, prop, value, cellProperties]);
|
39
39
|
if (!TD.firstChild) {
|
40
40
|
// http://jsperf.com/empty-node-if-needed
|
41
41
|
// otherwise empty fields appear borderless in demo/renderers.html (IE)
|
@@ -48,19 +48,19 @@ function autocompleteRenderer(instance, TD, row, col, prop, value, cellPropertie
|
|
48
48
|
if (isAriaEnabled) {
|
49
49
|
TD.setAttribute(...(0, _a11y.A11Y_HASPOPUP)('listbox'));
|
50
50
|
}
|
51
|
-
if (!
|
52
|
-
const eventManager = new _eventManager.default(
|
51
|
+
if (!hotInstance.acArrowListener) {
|
52
|
+
const eventManager = new _eventManager.default(hotInstance);
|
53
53
|
|
54
54
|
// not very elegant but easy and fast
|
55
|
-
|
55
|
+
hotInstance.acArrowListener = function (event) {
|
56
56
|
if ((0, _element.hasClass)(event.target, 'htAutocompleteArrow')) {
|
57
|
-
|
57
|
+
hotInstance.view._wt.getSetting('onCellDblClick', null, hotInstance._createCellCoords(row, col), TD);
|
58
58
|
}
|
59
59
|
};
|
60
|
-
eventManager.addEventListener(
|
60
|
+
eventManager.addEventListener(hotInstance.rootElement, 'mousedown', hotInstance.acArrowListener);
|
61
61
|
|
62
62
|
// We need to unbind the listener after the table has been destroyed
|
63
|
-
|
63
|
+
hotInstance.addHookOnce('afterDestroy', () => {
|
64
64
|
eventManager.destroy();
|
65
65
|
});
|
66
66
|
}
|
@@ -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 = '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.
|
@@ -21,7 +21,7 @@ const RENDERER_TYPE = 'base';
|
|
21
21
|
* @param {object} cellProperties The cell meta object ({@see Core#getCellMeta}).
|
22
22
|
*/
|
23
23
|
exports.RENDERER_TYPE = RENDERER_TYPE;
|
24
|
-
function baseRenderer(
|
24
|
+
function baseRenderer(hotInstance, TD, row, col, prop, value, cellProperties) {
|
25
25
|
const ariaEnabled = cellProperties.ariaTags;
|
26
26
|
const classesToAdd = [];
|
27
27
|
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 = [];
|