handsontable 0.0.0-next-53a190b-20240403 → 0.0.0-next-5a535ed-20240403
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.
Potentially problematic release.
This version of handsontable might be problematic. Click here for more details.
- package/3rdparty/walkontable/src/calculator/viewportColumns.js +17 -12
- package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +17 -12
- package/3rdparty/walkontable/src/calculator/viewportRows.js +15 -10
- package/3rdparty/walkontable/src/calculator/viewportRows.mjs +15 -10
- package/3rdparty/walkontable/src/cell/coords.js +17 -12
- package/3rdparty/walkontable/src/cell/coords.mjs +17 -12
- package/3rdparty/walkontable/src/cell/range.d.ts +1 -2
- package/3rdparty/walkontable/src/cell/range.js +28 -40
- package/3rdparty/walkontable/src/cell/range.mjs +28 -40
- package/3rdparty/walkontable/src/core/_base.js +1 -1
- package/3rdparty/walkontable/src/core/_base.mjs +1 -1
- package/3rdparty/walkontable/src/event.js +104 -72
- package/3rdparty/walkontable/src/event.mjs +104 -72
- package/3rdparty/walkontable/src/overlay/inlineStart.js +1 -15
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +2 -16
- package/3rdparty/walkontable/src/overlay/top.js +0 -11
- package/3rdparty/walkontable/src/overlay/top.mjs +1 -12
- package/3rdparty/walkontable/src/overlays.js +4 -46
- package/3rdparty/walkontable/src/overlays.mjs +4 -46
- package/3rdparty/walkontable/src/scroll.js +17 -15
- package/3rdparty/walkontable/src/scroll.mjs +17 -15
- package/3rdparty/walkontable/src/selection/manager.js +69 -48
- package/3rdparty/walkontable/src/selection/manager.mjs +69 -48
- package/3rdparty/walkontable/src/selection/scanner.js +42 -33
- package/3rdparty/walkontable/src/selection/scanner.mjs +42 -33
- package/3rdparty/walkontable/src/utils/columnStretching.js +44 -27
- package/3rdparty/walkontable/src/utils/columnStretching.mjs +44 -27
- package/3rdparty/walkontable/src/utils/orderView/view.js +1 -1
- package/3rdparty/walkontable/src/utils/orderView/view.mjs +1 -1
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/core/viewportScroll/index.js +1 -4
- package/core/viewportScroll/index.mjs +1 -4
- package/core.d.ts +3 -4
- package/core.js +22 -77
- package/core.mjs +22 -77
- package/dataMap/dataSource.js +1 -1
- package/dataMap/dataSource.mjs +1 -1
- package/dataMap/metaManager/metaLayers/cellMeta.js +1 -1
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +1 -1
- package/dataMap/metaManager/metaSchema.js +1 -1
- package/dataMap/metaManager/metaSchema.mjs +1 -1
- package/dataMap/replaceData.js +1 -1
- package/dataMap/replaceData.mjs +1 -1
- package/dist/handsontable.css +4 -4
- package/dist/handsontable.full.css +4 -4
- package/dist/handsontable.full.js +9121 -9062
- package/dist/handsontable.full.min.css +3 -3
- package/dist/handsontable.full.min.js +292 -292
- package/dist/handsontable.js +6573 -6967
- package/dist/handsontable.min.css +3 -3
- package/dist/handsontable.min.js +25 -25
- package/dist/languages/all.min.js +1 -1
- package/dist/languages/ar-AR.min.js +1 -1
- package/dist/languages/cs-CZ.min.js +1 -1
- package/dist/languages/de-CH.min.js +1 -1
- package/dist/languages/de-DE.min.js +1 -1
- package/dist/languages/en-US.min.js +1 -1
- package/dist/languages/es-MX.min.js +1 -1
- package/dist/languages/fr-FR.min.js +1 -1
- package/dist/languages/hr-HR.min.js +1 -1
- package/dist/languages/it-IT.min.js +1 -1
- package/dist/languages/ja-JP.min.js +1 -1
- package/dist/languages/ko-KR.min.js +1 -1
- package/dist/languages/lv-LV.min.js +1 -1
- package/dist/languages/nb-NO.min.js +1 -1
- package/dist/languages/nl-NL.min.js +1 -1
- package/dist/languages/pl-PL.min.js +1 -1
- package/dist/languages/pt-BR.min.js +1 -1
- package/dist/languages/ru-RU.min.js +1 -1
- package/dist/languages/sr-SP.min.js +1 -1
- package/dist/languages/zh-CN.min.js +1 -1
- package/dist/languages/zh-TW.min.js +1 -1
- package/editorManager.js +23 -25
- package/editorManager.mjs +23 -25
- package/editors/autocompleteEditor/autocompleteEditor.js +10 -6
- package/editors/autocompleteEditor/autocompleteEditor.mjs +10 -6
- package/editors/selectEditor/selectEditor.js +19 -20
- package/editors/selectEditor/selectEditor.mjs +19 -20
- package/eventManager.js +1 -1
- package/eventManager.mjs +1 -1
- package/focusManager.js +82 -64
- package/focusManager.mjs +82 -64
- package/helpers/dom/element.js +1 -23
- package/helpers/dom/element.mjs +1 -21
- package/helpers/mixed.js +1 -1
- package/helpers/mixed.mjs +1 -1
- package/helpers/object.js +2 -2
- package/helpers/object.mjs +2 -2
- package/index.d.ts +0 -10
- package/package.json +2 -7
- package/pluginHooks.d.ts +3 -4
- package/pluginHooks.js +38 -99
- package/pluginHooks.mjs +38 -99
- package/plugins/autoColumnSize/autoColumnSize.js +65 -49
- package/plugins/autoColumnSize/autoColumnSize.mjs +65 -49
- package/plugins/autoRowSize/autoRowSize.js +34 -28
- package/plugins/autoRowSize/autoRowSize.mjs +34 -28
- package/plugins/autofill/autofill.js +38 -30
- package/plugins/autofill/autofill.mjs +38 -30
- package/plugins/base/base.js +17 -12
- package/plugins/base/base.mjs +17 -12
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +5 -5
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +5 -5
- package/plugins/collapsibleColumns/collapsibleColumns.js +50 -59
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +50 -59
- package/plugins/columnSorting/columnSorting.js +45 -49
- package/plugins/columnSorting/columnSorting.mjs +45 -49
- package/plugins/columnSummary/columnSummary.js +26 -22
- package/plugins/columnSummary/columnSummary.mjs +26 -22
- package/plugins/comments/comments.js +158 -116
- package/plugins/comments/comments.mjs +158 -116
- package/plugins/contextMenu/contextMenu.js +26 -20
- package/plugins/contextMenu/contextMenu.mjs +26 -20
- package/plugins/contextMenu/itemsFactory.js +1 -1
- package/plugins/contextMenu/itemsFactory.mjs +1 -1
- package/plugins/contextMenu/menu/defaultShortcutsList.js +10 -26
- package/plugins/contextMenu/menu/defaultShortcutsList.mjs +10 -26
- package/plugins/contextMenu/menu/menu.js +21 -13
- package/plugins/contextMenu/menu/menu.mjs +21 -13
- package/plugins/contextMenu/menu/positioner.js +58 -41
- package/plugins/contextMenu/menu/positioner.mjs +58 -41
- package/plugins/copyPaste/copyPaste.js +157 -116
- package/plugins/copyPaste/copyPaste.mjs +157 -116
- package/plugins/copyPaste/copyableRanges.js +66 -43
- package/plugins/copyPaste/copyableRanges.mjs +66 -43
- package/plugins/customBorders/customBorders.js +13 -11
- package/plugins/customBorders/customBorders.mjs +13 -11
- package/plugins/dragToScroll/dragToScroll.js +6 -6
- package/plugins/dragToScroll/dragToScroll.mjs +6 -6
- package/plugins/dropdownMenu/dropdownMenu.js +106 -80
- package/plugins/dropdownMenu/dropdownMenu.mjs +106 -80
- package/plugins/exportFile/dataProvider.js +1 -1
- package/plugins/exportFile/dataProvider.mjs +1 -1
- package/plugins/filters/component/actionBar.js +9 -9
- package/plugins/filters/component/actionBar.mjs +8 -8
- package/plugins/filters/component/condition.js +15 -13
- package/plugins/filters/component/condition.mjs +15 -13
- package/plugins/filters/component/operators.js +6 -6
- package/plugins/filters/component/operators.mjs +6 -6
- package/plugins/filters/component/value.js +28 -24
- package/plugins/filters/component/value.mjs +28 -24
- package/plugins/filters/conditionUpdateObserver.js +24 -22
- package/plugins/filters/conditionUpdateObserver.mjs +24 -22
- package/plugins/filters/dataFilter.js +1 -1
- package/plugins/filters/dataFilter.mjs +1 -1
- package/plugins/filters/filters.js +95 -81
- package/plugins/filters/filters.mjs +95 -81
- package/plugins/filters/ui/input.js +19 -13
- package/plugins/filters/ui/input.mjs +19 -13
- package/plugins/filters/ui/link.js +13 -8
- package/plugins/filters/ui/link.mjs +13 -8
- package/plugins/filters/ui/multipleSelect.js +112 -85
- package/plugins/filters/ui/multipleSelect.mjs +112 -85
- package/plugins/filters/ui/radioInput.js +20 -12
- package/plugins/filters/ui/radioInput.mjs +20 -12
- package/plugins/filters/ui/select.js +72 -50
- package/plugins/filters/ui/select.mjs +71 -49
- package/plugins/formulas/formulas.js +326 -268
- package/plugins/formulas/formulas.mjs +327 -269
- package/plugins/formulas/indexSyncer/axisSyncer.js +61 -38
- package/plugins/formulas/indexSyncer/axisSyncer.mjs +61 -38
- package/plugins/formulas/indexSyncer/index.js +48 -25
- package/plugins/formulas/indexSyncer/index.mjs +48 -25
- package/plugins/hiddenColumns/hiddenColumns.js +83 -64
- package/plugins/hiddenColumns/hiddenColumns.mjs +83 -64
- package/plugins/hiddenRows/hiddenRows.js +82 -63
- package/plugins/hiddenRows/hiddenRows.mjs +82 -63
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +32 -24
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +33 -25
- package/plugins/manualColumnMove/manualColumnMove.js +170 -126
- package/plugins/manualColumnMove/manualColumnMove.mjs +170 -126
- package/plugins/manualColumnResize/manualColumnResize.js +230 -169
- package/plugins/manualColumnResize/manualColumnResize.mjs +230 -169
- package/plugins/manualRowMove/manualRowMove.js +128 -99
- package/plugins/manualRowMove/manualRowMove.mjs +128 -99
- package/plugins/manualRowResize/manualRowResize.js +209 -150
- package/plugins/manualRowResize/manualRowResize.mjs +209 -150
- package/plugins/mergeCells/calculations/selection.js +71 -2
- package/plugins/mergeCells/calculations/selection.mjs +71 -2
- package/plugins/mergeCells/cellsCollection.js +1 -117
- package/plugins/mergeCells/cellsCollection.mjs +1 -117
- package/plugins/mergeCells/contextMenuItem/toggleMerge.js +1 -11
- package/plugins/mergeCells/contextMenuItem/toggleMerge.mjs +1 -11
- package/plugins/mergeCells/mergeCells.js +397 -499
- package/plugins/mergeCells/mergeCells.mjs +397 -499
- package/plugins/multiColumnSorting/multiColumnSorting.js +2 -8
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +2 -8
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +1 -1
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +1 -1
- package/plugins/nestedHeaders/nestedHeaders.js +253 -205
- package/plugins/nestedHeaders/nestedHeaders.mjs +254 -206
- package/plugins/nestedHeaders/stateManager/headersTree.js +32 -21
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +32 -21
- package/plugins/nestedHeaders/stateManager/index.js +41 -30
- package/plugins/nestedHeaders/stateManager/index.mjs +41 -30
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +30 -19
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +30 -19
- package/plugins/nestedRows/data/dataManager.js +1 -1
- package/plugins/nestedRows/data/dataManager.mjs +1 -1
- package/plugins/nestedRows/nestedRows.js +182 -151
- package/plugins/nestedRows/nestedRows.mjs +183 -152
- package/plugins/nestedRows/ui/contextMenu.js +15 -11
- package/plugins/nestedRows/ui/contextMenu.mjs +14 -10
- package/plugins/nestedRows/utils/rowMoveController.js +1 -1
- package/plugins/nestedRows/utils/rowMoveController.mjs +1 -1
- package/plugins/persistentState/storage.js +2 -2
- package/plugins/persistentState/storage.mjs +2 -2
- package/plugins/search/search.js +7 -7
- package/plugins/search/search.mjs +7 -7
- package/plugins/touchScroll/touchScroll.js +19 -15
- package/plugins/touchScroll/touchScroll.mjs +20 -16
- package/plugins/trimRows/trimRows.js +6 -6
- package/plugins/trimRows/trimRows.mjs +6 -6
- package/renderers/checkboxRenderer/checkboxRenderer.js +5 -8
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +5 -8
- package/selection/highlight/highlight.js +14 -14
- package/selection/highlight/highlight.mjs +13 -13
- package/selection/highlight/visualSelection.js +0 -2
- package/selection/highlight/visualSelection.mjs +0 -2
- package/selection/selection.js +67 -225
- package/selection/selection.mjs +66 -224
- package/selection/transformation.js +118 -149
- package/selection/transformation.mjs +118 -149
- package/shortcutContexts/commands/editor/closeAndSave.js +2 -2
- package/shortcutContexts/commands/editor/closeAndSave.mjs +2 -2
- package/shortcutContexts/commands/editor/open.js +3 -18
- package/shortcutContexts/commands/editor/open.mjs +3 -18
- package/shortcutContexts/commands/extendCellsSelection/down.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/down.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/left.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/left.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/right.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/right.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toColumns.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +1 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +1 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +3 -9
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +3 -9
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +3 -10
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +3 -10
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +1 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +1 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +1 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +1 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +1 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +1 -3
- package/shortcutContexts/commands/extendCellsSelection/toRows.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/up.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/up.mjs +1 -1
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +1 -6
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +1 -6
- package/shortcutContexts/commands/moveCellSelection/inlineStart.js +1 -6
- package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +1 -6
- package/shortcutContexts/grid.js +3 -9
- package/shortcutContexts/grid.mjs +3 -9
- package/shortcuts/context.js +1 -2
- package/shortcuts/context.mjs +1 -2
- package/tableView.js +78 -52
- package/tableView.mjs +78 -52
- package/translations/changesObservable/observable.js +38 -21
- package/translations/changesObservable/observable.mjs +38 -21
- package/translations/changesObservable/observer.js +12 -7
- package/translations/changesObservable/observer.mjs +11 -6
- package/translations/mapCollections/aggregatedCollection.js +1 -1
- package/translations/mapCollections/aggregatedCollection.mjs +1 -1
- package/translations/maps/indexMap.js +1 -1
- package/translations/maps/indexMap.mjs +1 -1
- package/utils/dataStructures/linkedList.js +1 -6
- package/utils/dataStructures/linkedList.mjs +1 -6
- package/utils/dataStructures/tree.js +1 -1
- package/utils/dataStructures/tree.mjs +1 -1
- package/utils/interval.js +44 -26
- package/utils/interval.mjs +44 -26
- package/core/viewportScroll/scrollStrategies/focusScroll.js +0 -15
- package/core/viewportScroll/scrollStrategies/focusScroll.mjs +0 -11
- package/i18n/languages/ar-AR.d.ts +0 -5
- package/i18n/languages/cs-CZ.d.ts +0 -5
- package/i18n/languages/hr-HR.d.ts +0 -5
- package/i18n/languages/sr-SP.d.ts +0 -5
- package/plugins/mergeCells/focusOrder.js +0 -305
- package/plugins/mergeCells/focusOrder.mjs +0 -300
@@ -1,9 +1,11 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
2
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
3
3
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
4
|
-
function _classPrivateFieldGet(
|
5
|
-
function
|
6
|
-
function
|
4
|
+
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
|
5
|
+
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
6
|
+
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
7
|
+
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
8
|
+
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; } }
|
7
9
|
import { closestDown, hasClass, isChildOf, getParent } from "../../../helpers/dom/element.mjs";
|
8
10
|
import { partial } from "../../../helpers/function.mjs";
|
9
11
|
import { isTouchSupported } from "../../../helpers/feature.mjs";
|
@@ -34,17 +36,35 @@ class Event {
|
|
34
36
|
*/
|
35
37
|
constructor(facadeGetter, domBindings, wtSettings, eventManager, wtTable, selectionManager) {
|
36
38
|
let parent = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : null;
|
37
|
-
_classPrivateFieldInitSpec(this, _wtSettings,
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
_classPrivateFieldInitSpec(this,
|
39
|
+
_classPrivateFieldInitSpec(this, _wtSettings, {
|
40
|
+
writable: true,
|
41
|
+
value: void 0
|
42
|
+
});
|
43
|
+
_classPrivateFieldInitSpec(this, _domBindings, {
|
44
|
+
writable: true,
|
45
|
+
value: void 0
|
46
|
+
});
|
47
|
+
_classPrivateFieldInitSpec(this, _wtTable, {
|
48
|
+
writable: true,
|
49
|
+
value: void 0
|
50
|
+
});
|
51
|
+
_classPrivateFieldInitSpec(this, _selectionManager, {
|
52
|
+
writable: true,
|
53
|
+
value: void 0
|
54
|
+
});
|
55
|
+
_classPrivateFieldInitSpec(this, _parent, {
|
56
|
+
writable: true,
|
57
|
+
value: void 0
|
58
|
+
});
|
42
59
|
/**
|
43
60
|
* Instance of {@link EventManager}.
|
44
61
|
*
|
45
62
|
* @type {EventManager}
|
46
63
|
*/
|
47
|
-
_classPrivateFieldInitSpec(this, _eventManager,
|
64
|
+
_classPrivateFieldInitSpec(this, _eventManager, {
|
65
|
+
writable: true,
|
66
|
+
value: void 0
|
67
|
+
});
|
48
68
|
/**
|
49
69
|
* Should be use only for passing face called external origin methods, like registered event listeners.
|
50
70
|
* It provides backward compatibility by getting instance facade.
|
@@ -55,26 +75,38 @@ class Event {
|
|
55
75
|
*
|
56
76
|
* @type {FacadeGetter}
|
57
77
|
*/
|
58
|
-
_classPrivateFieldInitSpec(this, _facadeGetter,
|
78
|
+
_classPrivateFieldInitSpec(this, _facadeGetter, {
|
79
|
+
writable: true,
|
80
|
+
value: void 0
|
81
|
+
});
|
59
82
|
/**
|
60
83
|
* @type {boolean}
|
61
84
|
*/
|
62
|
-
_classPrivateFieldInitSpec(this, _selectedCellBeforeTouchEnd,
|
85
|
+
_classPrivateFieldInitSpec(this, _selectedCellBeforeTouchEnd, {
|
86
|
+
writable: true,
|
87
|
+
value: void 0
|
88
|
+
});
|
63
89
|
/**
|
64
90
|
* @type {number[]}
|
65
91
|
*/
|
66
|
-
_classPrivateFieldInitSpec(this, _dblClickTimeout,
|
92
|
+
_classPrivateFieldInitSpec(this, _dblClickTimeout, {
|
93
|
+
writable: true,
|
94
|
+
value: [null, null]
|
95
|
+
});
|
67
96
|
/**
|
68
97
|
* @type {number[]}
|
69
98
|
*/
|
70
|
-
_classPrivateFieldInitSpec(this, _dblClickOrigin,
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
_classPrivateFieldSet(
|
75
|
-
_classPrivateFieldSet(
|
76
|
-
_classPrivateFieldSet(
|
77
|
-
_classPrivateFieldSet(
|
99
|
+
_classPrivateFieldInitSpec(this, _dblClickOrigin, {
|
100
|
+
writable: true,
|
101
|
+
value: [null, null]
|
102
|
+
});
|
103
|
+
_classPrivateFieldSet(this, _wtSettings, wtSettings);
|
104
|
+
_classPrivateFieldSet(this, _domBindings, domBindings);
|
105
|
+
_classPrivateFieldSet(this, _wtTable, wtTable);
|
106
|
+
_classPrivateFieldSet(this, _selectionManager, selectionManager);
|
107
|
+
_classPrivateFieldSet(this, _parent, parent);
|
108
|
+
_classPrivateFieldSet(this, _eventManager, eventManager);
|
109
|
+
_classPrivateFieldSet(this, _facadeGetter, facadeGetter);
|
78
110
|
this.registerEvents();
|
79
111
|
}
|
80
112
|
|
@@ -84,32 +116,32 @@ class Event {
|
|
84
116
|
* @private
|
85
117
|
*/
|
86
118
|
registerEvents() {
|
87
|
-
_classPrivateFieldGet(
|
88
|
-
_classPrivateFieldGet(
|
89
|
-
_classPrivateFieldGet(
|
119
|
+
_classPrivateFieldGet(this, _eventManager).addEventListener(_classPrivateFieldGet(this, _wtTable).holder, 'contextmenu', event => this.onContextMenu(event));
|
120
|
+
_classPrivateFieldGet(this, _eventManager).addEventListener(_classPrivateFieldGet(this, _wtTable).TABLE, 'mouseover', event => this.onMouseOver(event));
|
121
|
+
_classPrivateFieldGet(this, _eventManager).addEventListener(_classPrivateFieldGet(this, _wtTable).TABLE, 'mouseout', event => this.onMouseOut(event));
|
90
122
|
const initTouchEvents = () => {
|
91
|
-
_classPrivateFieldGet(
|
92
|
-
_classPrivateFieldGet(
|
123
|
+
_classPrivateFieldGet(this, _eventManager).addEventListener(_classPrivateFieldGet(this, _wtTable).holder, 'touchstart', event => this.onTouchStart(event));
|
124
|
+
_classPrivateFieldGet(this, _eventManager).addEventListener(_classPrivateFieldGet(this, _wtTable).holder, 'touchend', event => this.onTouchEnd(event));
|
93
125
|
if (!this.momentumScrolling) {
|
94
126
|
this.momentumScrolling = {};
|
95
127
|
}
|
96
|
-
_classPrivateFieldGet(
|
128
|
+
_classPrivateFieldGet(this, _eventManager).addEventListener(_classPrivateFieldGet(this, _wtTable).holder, 'scroll', () => {
|
97
129
|
clearTimeout(this.momentumScrolling._timeout);
|
98
130
|
if (!this.momentumScrolling.ongoing) {
|
99
|
-
_classPrivateFieldGet(
|
131
|
+
_classPrivateFieldGet(this, _wtSettings).getSetting('onBeforeTouchScroll');
|
100
132
|
}
|
101
133
|
this.momentumScrolling.ongoing = true;
|
102
134
|
this.momentumScrolling._timeout = setTimeout(() => {
|
103
135
|
if (!this.touchApplied) {
|
104
136
|
this.momentumScrolling.ongoing = false;
|
105
|
-
_classPrivateFieldGet(
|
137
|
+
_classPrivateFieldGet(this, _wtSettings).getSetting('onAfterMomentumScroll');
|
106
138
|
}
|
107
139
|
}, 200);
|
108
140
|
});
|
109
141
|
};
|
110
142
|
const initMouseEvents = () => {
|
111
|
-
_classPrivateFieldGet(
|
112
|
-
_classPrivateFieldGet(
|
143
|
+
_classPrivateFieldGet(this, _eventManager).addEventListener(_classPrivateFieldGet(this, _wtTable).holder, 'mouseup', event => this.onMouseUp(event));
|
144
|
+
_classPrivateFieldGet(this, _eventManager).addEventListener(_classPrivateFieldGet(this, _wtTable).holder, 'mousedown', event => this.onMouseDown(event));
|
113
145
|
};
|
114
146
|
if (isMobileBrowser()) {
|
115
147
|
initTouchEvents();
|
@@ -132,9 +164,9 @@ class Event {
|
|
132
164
|
selectedCellWasTouched(touchTarget) {
|
133
165
|
const cellUnderFinger = this.parentCell(touchTarget);
|
134
166
|
const coordsOfCellUnderFinger = cellUnderFinger.coords;
|
135
|
-
if (_classPrivateFieldGet(
|
136
|
-
const [rowTouched, rowSelected] = [coordsOfCellUnderFinger.row, _classPrivateFieldGet(
|
137
|
-
const [colTouched, colSelected] = [coordsOfCellUnderFinger.col, _classPrivateFieldGet(
|
167
|
+
if (_classPrivateFieldGet(this, _selectedCellBeforeTouchEnd) && coordsOfCellUnderFinger) {
|
168
|
+
const [rowTouched, rowSelected] = [coordsOfCellUnderFinger.row, _classPrivateFieldGet(this, _selectedCellBeforeTouchEnd).from.row];
|
169
|
+
const [colTouched, colSelected] = [coordsOfCellUnderFinger.col, _classPrivateFieldGet(this, _selectedCellBeforeTouchEnd).from.col];
|
138
170
|
return rowTouched === rowSelected && colTouched === colSelected;
|
139
171
|
}
|
140
172
|
return false;
|
@@ -149,18 +181,18 @@ class Event {
|
|
149
181
|
*/
|
150
182
|
parentCell(elem) {
|
151
183
|
const cell = {};
|
152
|
-
const TABLE = _classPrivateFieldGet(
|
184
|
+
const TABLE = _classPrivateFieldGet(this, _wtTable).TABLE;
|
153
185
|
const TD = closestDown(elem, ['TD', 'TH'], TABLE);
|
154
186
|
if (TD) {
|
155
|
-
cell.coords = _classPrivateFieldGet(
|
187
|
+
cell.coords = _classPrivateFieldGet(this, _wtTable).getCoords(TD);
|
156
188
|
cell.TD = TD;
|
157
189
|
} else if (hasClass(elem, 'wtBorder') && hasClass(elem, 'current')) {
|
158
|
-
cell.coords = _classPrivateFieldGet(
|
159
|
-
cell.TD = _classPrivateFieldGet(
|
190
|
+
cell.coords = _classPrivateFieldGet(this, _selectionManager).getFocusSelection().cellRange.highlight;
|
191
|
+
cell.TD = _classPrivateFieldGet(this, _wtTable).getCell(cell.coords);
|
160
192
|
} else if (hasClass(elem, 'wtBorder') && hasClass(elem, 'area')) {
|
161
|
-
if (_classPrivateFieldGet(
|
162
|
-
cell.coords = _classPrivateFieldGet(
|
163
|
-
cell.TD = _classPrivateFieldGet(
|
193
|
+
if (_classPrivateFieldGet(this, _selectionManager).getAreaSelection().cellRange) {
|
194
|
+
cell.coords = _classPrivateFieldGet(this, _selectionManager).getAreaSelection().cellRange.to;
|
195
|
+
cell.TD = _classPrivateFieldGet(this, _wtTable).getCell(cell.coords);
|
164
196
|
}
|
165
197
|
}
|
166
198
|
return cell;
|
@@ -173,7 +205,7 @@ class Event {
|
|
173
205
|
* @param {MouseEvent} event The mouse event object.
|
174
206
|
*/
|
175
207
|
onMouseDown(event) {
|
176
|
-
const activeElement = _classPrivateFieldGet(
|
208
|
+
const activeElement = _classPrivateFieldGet(this, _domBindings).rootDocument.activeElement;
|
177
209
|
const getParentNode = partial(getParent, event.target);
|
178
210
|
const realTarget = event.target;
|
179
211
|
|
@@ -184,17 +216,17 @@ class Event {
|
|
184
216
|
}
|
185
217
|
const cell = this.parentCell(realTarget);
|
186
218
|
if (hasClass(realTarget, 'corner')) {
|
187
|
-
_classPrivateFieldGet(
|
188
|
-
} else if (cell.TD && _classPrivateFieldGet(
|
219
|
+
_classPrivateFieldGet(this, _wtSettings).getSetting('onCellCornerMouseDown', event, realTarget);
|
220
|
+
} else if (cell.TD && _classPrivateFieldGet(this, _wtSettings).has('onCellMouseDown')) {
|
189
221
|
this.callListener('onCellMouseDown', event, cell.coords, cell.TD);
|
190
222
|
}
|
191
223
|
|
192
224
|
// doubleclick reacts only for left mouse button or from touch events
|
193
225
|
if ((event.button === 0 || this.touchApplied) && cell.TD) {
|
194
|
-
_classPrivateFieldGet(
|
195
|
-
clearTimeout(_classPrivateFieldGet(
|
196
|
-
_classPrivateFieldGet(
|
197
|
-
_classPrivateFieldGet(
|
226
|
+
_classPrivateFieldGet(this, _dblClickOrigin)[0] = cell.TD;
|
227
|
+
clearTimeout(_classPrivateFieldGet(this, _dblClickTimeout)[0]);
|
228
|
+
_classPrivateFieldGet(this, _dblClickTimeout)[0] = setTimeout(() => {
|
229
|
+
_classPrivateFieldGet(this, _dblClickOrigin)[0] = null;
|
198
230
|
}, 1000);
|
199
231
|
}
|
200
232
|
}
|
@@ -206,7 +238,7 @@ class Event {
|
|
206
238
|
* @param {MouseEvent} event The mouse event object.
|
207
239
|
*/
|
208
240
|
onContextMenu(event) {
|
209
|
-
if (_classPrivateFieldGet(
|
241
|
+
if (_classPrivateFieldGet(this, _wtSettings).has('onCellContextMenu')) {
|
210
242
|
const cell = this.parentCell(event.target);
|
211
243
|
if (cell.TD) {
|
212
244
|
this.callListener('onCellContextMenu', event, cell.coords, cell.TD);
|
@@ -221,15 +253,15 @@ class Event {
|
|
221
253
|
* @param {MouseEvent} event The mouse event object.
|
222
254
|
*/
|
223
255
|
onMouseOver(event) {
|
224
|
-
if (!_classPrivateFieldGet(
|
256
|
+
if (!_classPrivateFieldGet(this, _wtSettings).has('onCellMouseOver')) {
|
225
257
|
return;
|
226
258
|
}
|
227
|
-
const table = _classPrivateFieldGet(
|
259
|
+
const table = _classPrivateFieldGet(this, _wtTable).TABLE;
|
228
260
|
const td = closestDown(event.target, ['TD', 'TH'], table);
|
229
|
-
const parent = _classPrivateFieldGet(
|
261
|
+
const parent = _classPrivateFieldGet(this, _parent) || this;
|
230
262
|
if (td && td !== parent.lastMouseOver && isChildOf(td, table)) {
|
231
263
|
parent.lastMouseOver = td;
|
232
|
-
this.callListener('onCellMouseOver', event, _classPrivateFieldGet(
|
264
|
+
this.callListener('onCellMouseOver', event, _classPrivateFieldGet(this, _wtTable).getCoords(td), td);
|
233
265
|
}
|
234
266
|
}
|
235
267
|
|
@@ -240,15 +272,15 @@ class Event {
|
|
240
272
|
* @param {MouseEvent} event The mouse event object.
|
241
273
|
*/
|
242
274
|
onMouseOut(event) {
|
243
|
-
if (!_classPrivateFieldGet(
|
275
|
+
if (!_classPrivateFieldGet(this, _wtSettings).has('onCellMouseOut')) {
|
244
276
|
return;
|
245
277
|
}
|
246
|
-
const table = _classPrivateFieldGet(
|
278
|
+
const table = _classPrivateFieldGet(this, _wtTable).TABLE;
|
247
279
|
const lastTD = closestDown(event.target, ['TD', 'TH'], table);
|
248
280
|
const nextTD = closestDown(event.relatedTarget, ['TD', 'TH'], table);
|
249
|
-
const parent = _classPrivateFieldGet(
|
281
|
+
const parent = _classPrivateFieldGet(this, _parent) || this;
|
250
282
|
if (lastTD && lastTD !== nextTD && isChildOf(lastTD, table)) {
|
251
|
-
this.callListener('onCellMouseOut', event, _classPrivateFieldGet(
|
283
|
+
this.callListener('onCellMouseOut', event, _classPrivateFieldGet(this, _wtTable).getCoords(lastTD), lastTD);
|
252
284
|
if (nextTD === null) {
|
253
285
|
parent.lastMouseOver = null;
|
254
286
|
}
|
@@ -263,7 +295,7 @@ class Event {
|
|
263
295
|
*/
|
264
296
|
onMouseUp(event) {
|
265
297
|
const cell = this.parentCell(event.target);
|
266
|
-
if (cell.TD && _classPrivateFieldGet(
|
298
|
+
if (cell.TD && _classPrivateFieldGet(this, _wtSettings).has('onCellMouseUp')) {
|
267
299
|
this.callListener('onCellMouseUp', event, cell.coords, cell.TD);
|
268
300
|
}
|
269
301
|
|
@@ -271,19 +303,19 @@ class Event {
|
|
271
303
|
if (event.button !== 0 && !this.touchApplied) {
|
272
304
|
return;
|
273
305
|
}
|
274
|
-
if (cell.TD === _classPrivateFieldGet(
|
306
|
+
if (cell.TD === _classPrivateFieldGet(this, _dblClickOrigin)[0] && cell.TD === _classPrivateFieldGet(this, _dblClickOrigin)[1]) {
|
275
307
|
if (hasClass(event.target, 'corner')) {
|
276
308
|
this.callListener('onCellCornerDblClick', event, cell.coords, cell.TD);
|
277
309
|
} else {
|
278
310
|
this.callListener('onCellDblClick', event, cell.coords, cell.TD);
|
279
311
|
}
|
280
|
-
_classPrivateFieldGet(
|
281
|
-
_classPrivateFieldGet(
|
282
|
-
} else if (cell.TD === _classPrivateFieldGet(
|
283
|
-
_classPrivateFieldGet(
|
284
|
-
clearTimeout(_classPrivateFieldGet(
|
285
|
-
_classPrivateFieldGet(
|
286
|
-
_classPrivateFieldGet(
|
312
|
+
_classPrivateFieldGet(this, _dblClickOrigin)[0] = null;
|
313
|
+
_classPrivateFieldGet(this, _dblClickOrigin)[1] = null;
|
314
|
+
} else if (cell.TD === _classPrivateFieldGet(this, _dblClickOrigin)[0]) {
|
315
|
+
_classPrivateFieldGet(this, _dblClickOrigin)[1] = cell.TD;
|
316
|
+
clearTimeout(_classPrivateFieldGet(this, _dblClickTimeout)[1]);
|
317
|
+
_classPrivateFieldGet(this, _dblClickTimeout)[1] = setTimeout(() => {
|
318
|
+
_classPrivateFieldGet(this, _dblClickOrigin)[1] = null;
|
287
319
|
}, 500);
|
288
320
|
}
|
289
321
|
}
|
@@ -295,7 +327,7 @@ class Event {
|
|
295
327
|
* @param {MouseEvent} event The mouse event object.
|
296
328
|
*/
|
297
329
|
onTouchStart(event) {
|
298
|
-
_classPrivateFieldSet(
|
330
|
+
_classPrivateFieldSet(this, _selectedCellBeforeTouchEnd, _classPrivateFieldGet(this, _selectionManager).getFocusSelection().cellRange);
|
299
331
|
this.touchApplied = true;
|
300
332
|
this.onMouseDown(event);
|
301
333
|
}
|
@@ -311,7 +343,7 @@ class Event {
|
|
311
343
|
const target = event.target;
|
312
344
|
const parentCellCoords = (_this$parentCell = this.parentCell(target)) === null || _this$parentCell === void 0 ? void 0 : _this$parentCell.coords;
|
313
345
|
const isCellsRange = isDefined(parentCellCoords) && parentCellCoords.row >= 0 && parentCellCoords.col >= 0;
|
314
|
-
const isEventCancelable = event.cancelable && isCellsRange && _classPrivateFieldGet(
|
346
|
+
const isEventCancelable = event.cancelable && isCellsRange && _classPrivateFieldGet(this, _wtSettings).getSetting('isDataViewInstance');
|
315
347
|
|
316
348
|
// To prevent accidental redirects or other actions that the interactive elements (e.q "A" link) do
|
317
349
|
// while the cell is highlighted, all touch events that are triggered on different cells are
|
@@ -347,9 +379,9 @@ class Event {
|
|
347
379
|
* @param {HTMLElement} target Event target.
|
348
380
|
*/
|
349
381
|
callListener(name, event, coords, target) {
|
350
|
-
const listener = _classPrivateFieldGet(
|
382
|
+
const listener = _classPrivateFieldGet(this, _wtSettings).getSettingPure(name);
|
351
383
|
if (listener) {
|
352
|
-
listener(event, coords, target, _classPrivateFieldGet(
|
384
|
+
listener(event, coords, target, _classPrivateFieldGet(this, _facadeGetter).call(this));
|
353
385
|
}
|
354
386
|
}
|
355
387
|
|
@@ -357,9 +389,9 @@ class Event {
|
|
357
389
|
* Clears double-click timeouts and destroys the internal eventManager instance.
|
358
390
|
*/
|
359
391
|
destroy() {
|
360
|
-
clearTimeout(_classPrivateFieldGet(
|
361
|
-
clearTimeout(_classPrivateFieldGet(
|
362
|
-
_classPrivateFieldGet(
|
392
|
+
clearTimeout(_classPrivateFieldGet(this, _dblClickTimeout)[0]);
|
393
|
+
clearTimeout(_classPrivateFieldGet(this, _dblClickTimeout)[1]);
|
394
|
+
_classPrivateFieldGet(this, _eventManager).destroy();
|
363
395
|
}
|
364
396
|
}
|
365
397
|
export default Event;
|
@@ -227,15 +227,9 @@ class InlineStartOverlay extends _base.Overlay {
|
|
227
227
|
* @returns {boolean}
|
228
228
|
*/
|
229
229
|
scrollTo(sourceCol, beyondRendered) {
|
230
|
-
|
231
|
-
wtSettings
|
232
|
-
} = this;
|
233
|
-
const rowHeaders = wtSettings.getSetting('rowHeaders');
|
234
|
-
const fixedColumnsStart = wtSettings.getSetting('fixedColumnsStart');
|
230
|
+
let newX = this.getTableParentOffset();
|
235
231
|
const sourceInstance = this.wot.cloneSource ? this.wot.cloneSource : this.wot;
|
236
232
|
const mainHolder = sourceInstance.wtTable.holder;
|
237
|
-
const rowHeaderBorderCompensation = fixedColumnsStart === 0 && rowHeaders.length > 0 && !(0, _element.hasClass)(mainHolder.parentNode, 'innerBorderInlineStart') ? 1 : 0;
|
238
|
-
let newX = this.getTableParentOffset();
|
239
233
|
let scrollbarCompensation = 0;
|
240
234
|
if (beyondRendered) {
|
241
235
|
const columnWidth = this.wot.wtTable.getColumnWidth(sourceCol);
|
@@ -250,18 +244,10 @@ class InlineStartOverlay extends _base.Overlay {
|
|
250
244
|
if (beyondRendered) {
|
251
245
|
newX += this.sumCellSizes(0, sourceCol + 1);
|
252
246
|
newX -= this.wot.wtViewport.getViewportWidth();
|
253
|
-
// Compensate for the right header border if scrolled from the absolute left.
|
254
|
-
newX += rowHeaderBorderCompensation;
|
255
247
|
} else {
|
256
248
|
newX += this.sumCellSizes(this.wtSettings.getSetting('fixedColumnsStart'), sourceCol);
|
257
249
|
}
|
258
250
|
newX += scrollbarCompensation;
|
259
|
-
|
260
|
-
// If the table is scrolled all the way left when starting the scroll and going to be scrolled to the far right,
|
261
|
-
// we need to compensate for the potential header border width.
|
262
|
-
if ((0, _element.getMaximumScrollLeft)(this.mainTableScrollableElement) === newX - rowHeaderBorderCompensation && rowHeaderBorderCompensation > 0) {
|
263
|
-
this.wot.wtOverlays.expandHiderHorizontallyBy(rowHeaderBorderCompensation);
|
264
|
-
}
|
265
251
|
return this.setScrollPosition(newX);
|
266
252
|
}
|
267
253
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
|
-
import { addClass, getScrollbarWidth, getScrollLeft,
|
2
|
+
import { addClass, getScrollbarWidth, getScrollLeft, getWindowScrollTop, hasClass, outerWidth, removeClass, setOverlayPosition, resetCssTransform } from "../../../../helpers/dom/element.mjs";
|
3
3
|
import InlineStartOverlayTable from "../table/inlineStart.mjs";
|
4
4
|
import { Overlay } from "./_base.mjs";
|
5
5
|
import { CORNER_DEFAULT_STYLE } from "../selection/index.mjs";
|
@@ -223,15 +223,9 @@ export class InlineStartOverlay extends Overlay {
|
|
223
223
|
* @returns {boolean}
|
224
224
|
*/
|
225
225
|
scrollTo(sourceCol, beyondRendered) {
|
226
|
-
|
227
|
-
wtSettings
|
228
|
-
} = this;
|
229
|
-
const rowHeaders = wtSettings.getSetting('rowHeaders');
|
230
|
-
const fixedColumnsStart = wtSettings.getSetting('fixedColumnsStart');
|
226
|
+
let newX = this.getTableParentOffset();
|
231
227
|
const sourceInstance = this.wot.cloneSource ? this.wot.cloneSource : this.wot;
|
232
228
|
const mainHolder = sourceInstance.wtTable.holder;
|
233
|
-
const rowHeaderBorderCompensation = fixedColumnsStart === 0 && rowHeaders.length > 0 && !hasClass(mainHolder.parentNode, 'innerBorderInlineStart') ? 1 : 0;
|
234
|
-
let newX = this.getTableParentOffset();
|
235
229
|
let scrollbarCompensation = 0;
|
236
230
|
if (beyondRendered) {
|
237
231
|
const columnWidth = this.wot.wtTable.getColumnWidth(sourceCol);
|
@@ -246,18 +240,10 @@ export class InlineStartOverlay extends Overlay {
|
|
246
240
|
if (beyondRendered) {
|
247
241
|
newX += this.sumCellSizes(0, sourceCol + 1);
|
248
242
|
newX -= this.wot.wtViewport.getViewportWidth();
|
249
|
-
// Compensate for the right header border if scrolled from the absolute left.
|
250
|
-
newX += rowHeaderBorderCompensation;
|
251
243
|
} else {
|
252
244
|
newX += this.sumCellSizes(this.wtSettings.getSetting('fixedColumnsStart'), sourceCol);
|
253
245
|
}
|
254
246
|
newX += scrollbarCompensation;
|
255
|
-
|
256
|
-
// If the table is scrolled all the way left when starting the scroll and going to be scrolled to the far right,
|
257
|
-
// we need to compensate for the potential header border width.
|
258
|
-
if (getMaximumScrollLeft(this.mainTableScrollableElement) === newX - rowHeaderBorderCompensation && rowHeaderBorderCompensation > 0) {
|
259
|
-
this.wot.wtOverlays.expandHiderHorizontallyBy(rowHeaderBorderCompensation);
|
260
|
-
}
|
261
247
|
return this.setScrollPosition(newX);
|
262
248
|
}
|
263
249
|
|
@@ -259,9 +259,6 @@ class TopOverlay extends _base.Overlay {
|
|
259
259
|
} = this;
|
260
260
|
const sourceInstance = wot.cloneSource ? wot.cloneSource : wot;
|
261
261
|
const mainHolder = sourceInstance.wtTable.holder;
|
262
|
-
const columnHeaders = wtSettings.getSetting('columnHeaders');
|
263
|
-
const fixedRowsTop = wtSettings.getSetting('fixedRowsTop');
|
264
|
-
const columnHeaderBorderCompensation = fixedRowsTop === 0 && columnHeaders.length > 0 && !(0, _element.hasClass)(mainHolder.parentNode, 'innerBorderTop') ? 1 : 0;
|
265
262
|
let newY = this.getTableParentOffset();
|
266
263
|
let scrollbarCompensation = 0;
|
267
264
|
if (bottomEdge) {
|
@@ -281,18 +278,10 @@ class TopOverlay extends _base.Overlay {
|
|
281
278
|
newY -= wot.wtViewport.getViewportHeight() - this.sumCellSizes(totalRows - fixedRowsBottom, totalRows);
|
282
279
|
// Fix 1 pixel offset when cell is selected
|
283
280
|
newY += 1;
|
284
|
-
// Compensate for the bottom header border if scrolled from the absolute top.
|
285
|
-
newY += columnHeaderBorderCompensation;
|
286
281
|
} else {
|
287
282
|
newY += this.sumCellSizes(wtSettings.getSetting('fixedRowsTop'), sourceRow);
|
288
283
|
}
|
289
284
|
newY += scrollbarCompensation;
|
290
|
-
|
291
|
-
// If the table is scrolled all the way up when starting the scroll and going to be scrolled to the bottom,
|
292
|
-
// we need to compensate for the potential header bottom border height.
|
293
|
-
if ((0, _element.getMaximumScrollTop)(this.mainTableScrollableElement) === newY - columnHeaderBorderCompensation && columnHeaderBorderCompensation > 0) {
|
294
|
-
this.wot.wtOverlays.expandHiderVerticallyBy(columnHeaderBorderCompensation);
|
295
|
-
}
|
296
285
|
return this.setScrollPosition(newY);
|
297
286
|
}
|
298
287
|
|
@@ -2,7 +2,7 @@ import "core-js/modules/es.error.cause.js";
|
|
2
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
3
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
4
4
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
5
|
-
import { addClass,
|
5
|
+
import { addClass, getScrollbarWidth, getScrollTop, getWindowScrollLeft, hasClass, outerHeight, removeClass, setOverlayPosition, resetCssTransform } from "../../../../helpers/dom/element.mjs";
|
6
6
|
import TopOverlayTable from "./../table/top.mjs";
|
7
7
|
import { Overlay } from "./_base.mjs";
|
8
8
|
import { CORNER_DEFAULT_STYLE } from "../selection/index.mjs";
|
@@ -255,9 +255,6 @@ export class TopOverlay extends Overlay {
|
|
255
255
|
} = this;
|
256
256
|
const sourceInstance = wot.cloneSource ? wot.cloneSource : wot;
|
257
257
|
const mainHolder = sourceInstance.wtTable.holder;
|
258
|
-
const columnHeaders = wtSettings.getSetting('columnHeaders');
|
259
|
-
const fixedRowsTop = wtSettings.getSetting('fixedRowsTop');
|
260
|
-
const columnHeaderBorderCompensation = fixedRowsTop === 0 && columnHeaders.length > 0 && !hasClass(mainHolder.parentNode, 'innerBorderTop') ? 1 : 0;
|
261
258
|
let newY = this.getTableParentOffset();
|
262
259
|
let scrollbarCompensation = 0;
|
263
260
|
if (bottomEdge) {
|
@@ -277,18 +274,10 @@ export class TopOverlay extends Overlay {
|
|
277
274
|
newY -= wot.wtViewport.getViewportHeight() - this.sumCellSizes(totalRows - fixedRowsBottom, totalRows);
|
278
275
|
// Fix 1 pixel offset when cell is selected
|
279
276
|
newY += 1;
|
280
|
-
// Compensate for the bottom header border if scrolled from the absolute top.
|
281
|
-
newY += columnHeaderBorderCompensation;
|
282
277
|
} else {
|
283
278
|
newY += this.sumCellSizes(wtSettings.getSetting('fixedRowsTop'), sourceRow);
|
284
279
|
}
|
285
280
|
newY += scrollbarCompensation;
|
286
|
-
|
287
|
-
// If the table is scrolled all the way up when starting the scroll and going to be scrolled to the bottom,
|
288
|
-
// we need to compensate for the potential header bottom border height.
|
289
|
-
if (getMaximumScrollTop(this.mainTableScrollableElement) === newY - columnHeaderBorderCompensation && columnHeaderBorderCompensation > 0) {
|
290
|
-
this.wot.wtOverlays.expandHiderVerticallyBy(columnHeaderBorderCompensation);
|
291
|
-
}
|
292
281
|
return this.setScrollPosition(newY);
|
293
282
|
}
|
294
283
|
|
@@ -1,8 +1,8 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
exports.__esModule = true;
|
4
|
-
require("core-js/modules/es.error.cause.js");
|
5
4
|
require("core-js/modules/es.array.push.js");
|
5
|
+
require("core-js/modules/es.error.cause.js");
|
6
6
|
var _element = require("../../../helpers/dom/element");
|
7
7
|
var _feature = require("../../../helpers/feature");
|
8
8
|
var _array = require("../../../helpers/array");
|
@@ -562,31 +562,13 @@ class Overlays {
|
|
562
562
|
const {
|
563
563
|
wtTable
|
564
564
|
} = this;
|
565
|
-
const {
|
566
|
-
rootWindow
|
567
|
-
} = this.domBindings;
|
568
|
-
const isWindowScrolled = this.scrollableElement === rootWindow;
|
569
565
|
const totalColumns = this.wtSettings.getSetting('totalColumns');
|
570
566
|
const totalRows = this.wtSettings.getSetting('totalRows');
|
571
567
|
const headerRowSize = wtViewport.getRowHeaderWidth();
|
572
568
|
const headerColumnSize = wtViewport.getColumnHeaderHeight();
|
573
|
-
const
|
574
|
-
|
575
|
-
|
576
|
-
const hiderStyle = hiderElement.style;
|
577
|
-
const isScrolledBeyondHiderHeight = () => {
|
578
|
-
return isWindowScrolled ? false : this.scrollableElement.scrollTop > Math.max(0, proposedHiderHeight - wtTable.holder.clientHeight);
|
579
|
-
};
|
580
|
-
const isScrolledBeyondHiderWidth = () => {
|
581
|
-
return isWindowScrolled ? false : this.scrollableElement.scrollLeft > Math.max(0, proposedHiderWidth - wtTable.holder.clientWidth);
|
582
|
-
};
|
583
|
-
const columnHeaderBorderCompensation = isScrolledBeyondHiderHeight() ? 1 : 0;
|
584
|
-
const rowHeaderBorderCompensation = isScrolledBeyondHiderWidth() ? 1 : 0;
|
585
|
-
|
586
|
-
// If the elements are being adjusted after scrolling the table from the very beginning to the very end,
|
587
|
-
// we need to adjust the hider dimensions by the header border size. (https://github.com/handsontable/dev-handsontable/issues/1772)
|
588
|
-
hiderStyle.width = `${proposedHiderWidth + rowHeaderBorderCompensation}px`;
|
589
|
-
hiderStyle.height = `${proposedHiderHeight + columnHeaderBorderCompensation}px`;
|
569
|
+
const hiderStyle = wtTable.hider.style;
|
570
|
+
hiderStyle.width = `${headerRowSize + this.inlineStartOverlay.sumCellSizes(0, totalColumns)}px`;
|
571
|
+
hiderStyle.height = `${headerColumnSize + this.topOverlay.sumCellSizes(0, totalRows) + 1}px`;
|
590
572
|
if (this.scrollbarSize > 0) {
|
591
573
|
// todo refactoring, looking as a part of logic which should be moved outside the class
|
592
574
|
const {
|
@@ -610,30 +592,6 @@ class Overlays {
|
|
610
592
|
this.bottomOverlay.adjustElementsSize(force);
|
611
593
|
}
|
612
594
|
|
613
|
-
/**
|
614
|
-
* Expand the hider vertically element by the provided delta value.
|
615
|
-
*
|
616
|
-
* @param {number} heightDelta The delta value to expand the hider element by.
|
617
|
-
*/
|
618
|
-
expandHiderVerticallyBy(heightDelta) {
|
619
|
-
const {
|
620
|
-
wtTable
|
621
|
-
} = this;
|
622
|
-
wtTable.hider.style.height = `${parseInt(wtTable.hider.style.height, 10) + heightDelta}px`;
|
623
|
-
}
|
624
|
-
|
625
|
-
/**
|
626
|
-
* Expand the hider horizontally element by the provided delta value.
|
627
|
-
*
|
628
|
-
* @param {number} widthDelta The delta value to expand the hider element by.
|
629
|
-
*/
|
630
|
-
expandHiderHorizontallyBy(widthDelta) {
|
631
|
-
const {
|
632
|
-
wtTable
|
633
|
-
} = this;
|
634
|
-
wtTable.hider.style.width = `${parseInt(wtTable.hider.style.width, 10) + widthDelta}px`;
|
635
|
-
}
|
636
|
-
|
637
595
|
/**
|
638
596
|
*
|
639
597
|
*/
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import "core-js/modules/es.error.cause.js";
|
2
1
|
import "core-js/modules/es.array.push.js";
|
2
|
+
import "core-js/modules/es.error.cause.js";
|
3
3
|
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; }
|
4
4
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
5
5
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
@@ -559,31 +559,13 @@ class Overlays {
|
|
559
559
|
const {
|
560
560
|
wtTable
|
561
561
|
} = this;
|
562
|
-
const {
|
563
|
-
rootWindow
|
564
|
-
} = this.domBindings;
|
565
|
-
const isWindowScrolled = this.scrollableElement === rootWindow;
|
566
562
|
const totalColumns = this.wtSettings.getSetting('totalColumns');
|
567
563
|
const totalRows = this.wtSettings.getSetting('totalRows');
|
568
564
|
const headerRowSize = wtViewport.getRowHeaderWidth();
|
569
565
|
const headerColumnSize = wtViewport.getColumnHeaderHeight();
|
570
|
-
const
|
571
|
-
|
572
|
-
|
573
|
-
const hiderStyle = hiderElement.style;
|
574
|
-
const isScrolledBeyondHiderHeight = () => {
|
575
|
-
return isWindowScrolled ? false : this.scrollableElement.scrollTop > Math.max(0, proposedHiderHeight - wtTable.holder.clientHeight);
|
576
|
-
};
|
577
|
-
const isScrolledBeyondHiderWidth = () => {
|
578
|
-
return isWindowScrolled ? false : this.scrollableElement.scrollLeft > Math.max(0, proposedHiderWidth - wtTable.holder.clientWidth);
|
579
|
-
};
|
580
|
-
const columnHeaderBorderCompensation = isScrolledBeyondHiderHeight() ? 1 : 0;
|
581
|
-
const rowHeaderBorderCompensation = isScrolledBeyondHiderWidth() ? 1 : 0;
|
582
|
-
|
583
|
-
// If the elements are being adjusted after scrolling the table from the very beginning to the very end,
|
584
|
-
// we need to adjust the hider dimensions by the header border size. (https://github.com/handsontable/dev-handsontable/issues/1772)
|
585
|
-
hiderStyle.width = `${proposedHiderWidth + rowHeaderBorderCompensation}px`;
|
586
|
-
hiderStyle.height = `${proposedHiderHeight + columnHeaderBorderCompensation}px`;
|
566
|
+
const hiderStyle = wtTable.hider.style;
|
567
|
+
hiderStyle.width = `${headerRowSize + this.inlineStartOverlay.sumCellSizes(0, totalColumns)}px`;
|
568
|
+
hiderStyle.height = `${headerColumnSize + this.topOverlay.sumCellSizes(0, totalRows) + 1}px`;
|
587
569
|
if (this.scrollbarSize > 0) {
|
588
570
|
// todo refactoring, looking as a part of logic which should be moved outside the class
|
589
571
|
const {
|
@@ -607,30 +589,6 @@ class Overlays {
|
|
607
589
|
this.bottomOverlay.adjustElementsSize(force);
|
608
590
|
}
|
609
591
|
|
610
|
-
/**
|
611
|
-
* Expand the hider vertically element by the provided delta value.
|
612
|
-
*
|
613
|
-
* @param {number} heightDelta The delta value to expand the hider element by.
|
614
|
-
*/
|
615
|
-
expandHiderVerticallyBy(heightDelta) {
|
616
|
-
const {
|
617
|
-
wtTable
|
618
|
-
} = this;
|
619
|
-
wtTable.hider.style.height = `${parseInt(wtTable.hider.style.height, 10) + heightDelta}px`;
|
620
|
-
}
|
621
|
-
|
622
|
-
/**
|
623
|
-
* Expand the hider horizontally element by the provided delta value.
|
624
|
-
*
|
625
|
-
* @param {number} widthDelta The delta value to expand the hider element by.
|
626
|
-
*/
|
627
|
-
expandHiderHorizontallyBy(widthDelta) {
|
628
|
-
const {
|
629
|
-
wtTable
|
630
|
-
} = this;
|
631
|
-
wtTable.hider.style.width = `${parseInt(wtTable.hider.style.width, 10) + widthDelta}px`;
|
632
|
-
}
|
633
|
-
|
634
592
|
/**
|
635
593
|
*
|
636
594
|
*/
|