handsontable 0.0.0-next-ea1e0b3-20230620 → 0.0.0-next-6d7bdba-20230620
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/walkontable/src/cell/coords.d.ts +6 -1
- package/3rdparty/walkontable/src/cell/coords.js +61 -12
- package/3rdparty/walkontable/src/cell/coords.mjs +61 -12
- package/3rdparty/walkontable/src/cell/range.d.ts +9 -2
- package/3rdparty/walkontable/src/cell/range.js +44 -7
- package/3rdparty/walkontable/src/cell/range.mjs +44 -7
- package/3rdparty/walkontable/src/core/_base.js +9 -3
- package/3rdparty/walkontable/src/core/_base.mjs +9 -3
- package/3rdparty/walkontable/src/core/clone.js +2 -2
- package/3rdparty/walkontable/src/core/clone.mjs +2 -2
- package/3rdparty/walkontable/src/core/core.js +3 -2
- package/3rdparty/walkontable/src/core/core.mjs +3 -2
- package/3rdparty/walkontable/src/event.js +7 -7
- package/3rdparty/walkontable/src/event.mjs +7 -7
- package/3rdparty/walkontable/src/facade/core.js +2 -2
- package/3rdparty/walkontable/src/facade/core.mjs +2 -2
- package/3rdparty/walkontable/src/index.js +10 -2
- package/3rdparty/walkontable/src/index.mjs +2 -2
- package/3rdparty/walkontable/src/overlay/_base.js +1 -1
- package/3rdparty/walkontable/src/overlay/_base.mjs +1 -1
- package/3rdparty/walkontable/src/overlay/inlineStart.js +2 -4
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +2 -4
- package/3rdparty/walkontable/src/overlay/top.js +2 -4
- package/3rdparty/walkontable/src/overlay/top.mjs +2 -4
- package/3rdparty/walkontable/src/{border.js → selection/border/border.js} +7 -12
- package/3rdparty/walkontable/src/{border.mjs → selection/border/border.mjs} +7 -12
- package/3rdparty/walkontable/src/selection/border/constants.js +18 -0
- package/3rdparty/walkontable/src/selection/border/constants.mjs +13 -0
- package/3rdparty/walkontable/src/selection/constants.js +63 -0
- package/3rdparty/walkontable/src/selection/constants.mjs +51 -0
- package/3rdparty/walkontable/src/selection/index.js +30 -0
- package/3rdparty/walkontable/src/selection/index.mjs +5 -0
- package/3rdparty/walkontable/src/selection/manager.js +329 -0
- package/3rdparty/walkontable/src/selection/manager.mjs +323 -0
- package/3rdparty/walkontable/src/selection/scanner.js +364 -0
- package/3rdparty/walkontable/src/selection/scanner.mjs +360 -0
- package/3rdparty/walkontable/src/selection/selection.js +133 -0
- package/3rdparty/walkontable/src/selection/selection.mjs +127 -0
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +9 -0
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +9 -0
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +9 -0
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +9 -0
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +9 -0
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +9 -0
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +9 -0
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +9 -0
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +9 -0
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +9 -0
- package/3rdparty/walkontable/src/table.js +7 -79
- package/3rdparty/walkontable/src/table.mjs +8 -80
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/core.d.ts +5 -3
- package/core.js +127 -309
- package/core.mjs +127 -309
- package/dataMap/metaManager/metaSchema.js +19 -0
- package/dataMap/metaManager/metaSchema.mjs +19 -0
- package/dist/handsontable.css +8 -3
- package/dist/handsontable.full.css +8 -3
- package/dist/handsontable.full.js +13599 -10676
- package/dist/handsontable.full.min.css +3 -3
- package/dist/handsontable.full.min.js +112 -112
- package/dist/handsontable.js +16302 -13379
- package/dist/handsontable.min.css +3 -3
- package/dist/handsontable.min.js +4 -4
- package/editorManager.js +21 -94
- package/editorManager.mjs +26 -98
- package/editors/textEditor/textEditor.js +3 -11
- package/editors/textEditor/textEditor.mjs +4 -12
- package/helpers/mixed.js +1 -1
- package/helpers/mixed.mjs +1 -1
- package/helpers/number.d.ts +1 -0
- package/helpers/number.js +18 -0
- package/helpers/number.mjs +17 -0
- package/package.json +1 -1
- package/pluginHooks.d.ts +5 -1
- package/pluginHooks.js +89 -1
- package/pluginHooks.mjs +89 -1
- package/plugins/collapsibleColumns/collapsibleColumns.js +81 -24
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +81 -24
- package/plugins/columnSorting/columnSorting.js +50 -8
- package/plugins/columnSorting/columnSorting.mjs +49 -9
- package/plugins/columnSorting/index.js +4 -2
- package/plugins/columnSorting/index.mjs +1 -1
- package/plugins/comments/comments.js +11 -4
- package/plugins/comments/comments.mjs +11 -4
- package/plugins/contextMenu/contextMenu.d.ts +1 -1
- package/plugins/contextMenu/contextMenu.js +80 -29
- package/plugins/contextMenu/contextMenu.mjs +81 -30
- package/plugins/contextMenu/predefinedItems/alignment.js +7 -0
- package/plugins/contextMenu/predefinedItems/alignment.mjs +7 -0
- package/plugins/contextMenu/predefinedItems/clearColumn.js +5 -3
- package/plugins/contextMenu/predefinedItems/clearColumn.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/columnLeft.js +5 -3
- package/plugins/contextMenu/predefinedItems/columnLeft.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/columnRight.js +5 -3
- package/plugins/contextMenu/predefinedItems/columnRight.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/readOnly.js +7 -0
- package/plugins/contextMenu/predefinedItems/readOnly.mjs +7 -0
- package/plugins/contextMenu/predefinedItems/removeColumn.js +7 -5
- package/plugins/contextMenu/predefinedItems/removeColumn.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/removeRow.js +7 -5
- package/plugins/contextMenu/predefinedItems/removeRow.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/rowAbove.js +5 -3
- package/plugins/contextMenu/predefinedItems/rowAbove.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/rowBelow.js +5 -3
- package/plugins/contextMenu/predefinedItems/rowBelow.mjs +5 -3
- package/plugins/contextMenu/utils.js +25 -16
- package/plugins/contextMenu/utils.mjs +24 -15
- package/plugins/copyPaste/contextMenuItem/copy.js +7 -0
- package/plugins/copyPaste/contextMenuItem/copy.mjs +7 -0
- package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.js +9 -1
- package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.mjs +9 -1
- package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.js +9 -1
- package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.mjs +9 -1
- package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.js +9 -1
- package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.mjs +9 -1
- package/plugins/copyPaste/contextMenuItem/cut.js +7 -0
- package/plugins/copyPaste/contextMenuItem/cut.mjs +7 -0
- package/plugins/copyPaste/copyPaste.js +5 -1
- package/plugins/copyPaste/copyPaste.mjs +5 -1
- package/plugins/customBorders/customBorders.js +25 -53
- package/plugins/customBorders/customBorders.mjs +26 -54
- package/plugins/dropdownMenu/dropdownMenu.d.ts +1 -1
- package/plugins/dropdownMenu/dropdownMenu.js +94 -30
- package/plugins/dropdownMenu/dropdownMenu.mjs +94 -30
- package/plugins/manualColumnResize/manualColumnResize.js +5 -36
- package/plugins/manualColumnResize/manualColumnResize.mjs +5 -36
- package/plugins/manualRowResize/manualRowResize.js +9 -40
- package/plugins/manualRowResize/manualRowResize.mjs +9 -40
- package/plugins/mergeCells/mergeCells.js +5 -18
- package/plugins/mergeCells/mergeCells.mjs +5 -18
- package/plugins/multiColumnSorting/multiColumnSorting.js +42 -3
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +42 -3
- package/plugins/nestedHeaders/nestedHeaders.js +132 -10
- package/plugins/nestedHeaders/nestedHeaders.mjs +132 -10
- package/plugins/nestedHeaders/stateManager/index.js +37 -0
- package/plugins/nestedHeaders/stateManager/index.mjs +37 -0
- package/plugins/nestedRows/nestedRows.js +52 -7
- package/plugins/nestedRows/nestedRows.mjs +52 -7
- package/renderers/checkboxRenderer/checkboxRenderer.js +2 -2
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +1 -1
- package/selection/highlight/highlight.js +312 -89
- package/selection/highlight/highlight.mjs +302 -85
- package/selection/highlight/types/activeHeader.js +10 -9
- package/selection/highlight/types/activeHeader.mjs +10 -8
- package/selection/highlight/types/area.js +12 -27
- package/selection/highlight/types/area.mjs +16 -30
- package/selection/highlight/types/areaLayered.js +54 -0
- package/selection/highlight/types/areaLayered.mjs +49 -0
- package/selection/highlight/types/column.js +50 -0
- package/selection/highlight/types/column.mjs +45 -0
- package/selection/highlight/types/customSelection.js +7 -10
- package/selection/highlight/types/customSelection.mjs +7 -9
- package/selection/highlight/types/fill.js +5 -8
- package/selection/highlight/types/fill.mjs +5 -7
- package/selection/highlight/types/{cell.js → focus.js} +5 -8
- package/selection/highlight/types/{cell.mjs → focus.mjs} +5 -7
- package/selection/highlight/types/header.js +10 -20
- package/selection/highlight/types/header.mjs +10 -19
- package/selection/highlight/types/{index.js → row.js} +27 -31
- package/selection/highlight/types/{index.mjs → row.mjs} +24 -29
- package/selection/highlight/visualSelection.js +31 -27
- package/selection/highlight/visualSelection.mjs +31 -27
- package/selection/index.js +4 -7
- package/selection/index.mjs +2 -3
- package/selection/mouseEventHandler.js +1 -1
- package/selection/mouseEventHandler.mjs +1 -1
- package/selection/range.js +8 -8
- package/selection/range.mjs +8 -8
- package/selection/selection.js +315 -181
- package/selection/selection.mjs +310 -180
- package/selection/transformation.js +233 -96
- package/selection/transformation.mjs +230 -93
- package/selection/utils.js +12 -36
- package/selection/utils.mjs +13 -36
- package/settings.d.ts +1 -0
- package/shortcutContexts/commands/editor/closeAndSave.js +15 -0
- package/shortcutContexts/commands/editor/closeAndSave.mjs +10 -0
- package/shortcutContexts/commands/editor/closeWithoutSaving.js +13 -0
- package/shortcutContexts/commands/editor/closeWithoutSaving.mjs +8 -0
- package/shortcutContexts/commands/editor/fastOpen.js +16 -0
- package/shortcutContexts/commands/editor/fastOpen.mjs +11 -0
- package/shortcutContexts/commands/editor/index.js +16 -0
- package/shortcutContexts/commands/editor/index.mjs +12 -0
- package/shortcutContexts/commands/editor/open.js +29 -0
- package/shortcutContexts/commands/editor/open.mjs +24 -0
- package/shortcutContexts/commands/emptySelectedCells.js +12 -0
- package/shortcutContexts/commands/emptySelectedCells.mjs +7 -0
- package/shortcutContexts/commands/extendCellsSelection/down.js +15 -0
- package/shortcutContexts/commands/extendCellsSelection/down.mjs +10 -0
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +21 -0
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +16 -0
- package/shortcutContexts/commands/extendCellsSelection/index.js +26 -0
- package/shortcutContexts/commands/extendCellsSelection/index.mjs +22 -0
- package/shortcutContexts/commands/extendCellsSelection/left.js +15 -0
- package/shortcutContexts/commands/extendCellsSelection/left.mjs +10 -0
- package/shortcutContexts/commands/extendCellsSelection/right.js +15 -0
- package/shortcutContexts/commands/extendCellsSelection/right.mjs +10 -0
- package/shortcutContexts/commands/extendCellsSelection/toColumns.js +19 -0
- package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +14 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +22 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +17 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +17 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +12 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +17 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +12 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +40 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +35 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +40 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +35 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +22 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +17 -0
- package/shortcutContexts/commands/extendCellsSelection/toRows.js +19 -0
- package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +14 -0
- package/shortcutContexts/commands/extendCellsSelection/up.js +15 -0
- package/shortcutContexts/commands/extendCellsSelection/up.mjs +10 -0
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +21 -0
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +16 -0
- package/shortcutContexts/commands/index.js +52 -0
- package/shortcutContexts/commands/index.mjs +48 -0
- package/shortcutContexts/commands/moveCellSelection/down.js +12 -0
- package/shortcutContexts/commands/moveCellSelection/down.mjs +7 -0
- package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +29 -0
- package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +24 -0
- package/shortcutContexts/commands/moveCellSelection/index.js +28 -0
- package/shortcutContexts/commands/moveCellSelection/index.mjs +24 -0
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +13 -0
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +8 -0
- package/shortcutContexts/commands/moveCellSelection/inlineStart.js +13 -0
- package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +8 -0
- package/shortcutContexts/commands/moveCellSelection/left.js +11 -0
- package/shortcutContexts/commands/moveCellSelection/left.mjs +6 -0
- package/shortcutContexts/commands/moveCellSelection/right.js +11 -0
- package/shortcutContexts/commands/moveCellSelection/right.mjs +6 -0
- package/shortcutContexts/commands/moveCellSelection/toMostBottom.js +16 -0
- package/shortcutContexts/commands/moveCellSelection/toMostBottom.mjs +11 -0
- package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.js +17 -0
- package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.mjs +12 -0
- package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.js +13 -0
- package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.mjs +8 -0
- package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.js +16 -0
- package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.mjs +11 -0
- package/shortcutContexts/commands/moveCellSelection/toMostLeft.js +36 -0
- package/shortcutContexts/commands/moveCellSelection/toMostLeft.mjs +31 -0
- package/shortcutContexts/commands/moveCellSelection/toMostRight.js +36 -0
- package/shortcutContexts/commands/moveCellSelection/toMostRight.mjs +31 -0
- package/shortcutContexts/commands/moveCellSelection/toMostTop.js +16 -0
- package/shortcutContexts/commands/moveCellSelection/toMostTop.mjs +11 -0
- package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.js +18 -0
- package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.mjs +13 -0
- package/shortcutContexts/commands/moveCellSelection/up.js +12 -0
- package/shortcutContexts/commands/moveCellSelection/up.mjs +7 -0
- package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +29 -0
- package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +24 -0
- package/shortcutContexts/commands/populateSelectedCellsData.js +35 -0
- package/shortcutContexts/commands/populateSelectedCellsData.mjs +30 -0
- package/shortcutContexts/commands/selectAll.js +11 -0
- package/shortcutContexts/commands/selectAll.mjs +6 -0
- package/shortcutContexts/constants.js +19 -0
- package/shortcutContexts/constants.mjs +12 -0
- package/shortcutContexts/editor.js +29 -0
- package/shortcutContexts/editor.mjs +25 -0
- package/shortcutContexts/grid.js +244 -0
- package/shortcutContexts/grid.mjs +240 -0
- package/shortcutContexts/index.js +29 -0
- package/shortcutContexts/index.mjs +15 -0
- package/shortcuts/manager.js +2 -0
- package/shortcuts/manager.mjs +2 -0
- package/shortcuts/recorder.js +2 -2
- package/shortcuts/recorder.mjs +2 -2
- package/shortcuts/utils.js +21 -5
- package/shortcuts/utils.mjs +20 -4
- package/tableView.js +58 -9
- package/tableView.mjs +58 -9
- package/3rdparty/walkontable/src/selection.js +0 -355
- package/3rdparty/walkontable/src/selection.mjs +0 -349
- package/selection/highlight/constants.js +0 -16
- package/selection/highlight/constants.mjs +0 -6
@@ -22,7 +22,9 @@ require("core-js/modules/es.object.set-prototype-of.js");
|
|
22
22
|
require("core-js/modules/es.object.get-prototype-of.js");
|
23
23
|
var _base = require("../base");
|
24
24
|
var _array = require("../../helpers/array");
|
25
|
+
var _object = require("../../helpers/object");
|
25
26
|
var _commandExecutor = _interopRequireDefault(require("../contextMenu/commandExecutor"));
|
27
|
+
var _utils = require("../contextMenu/utils");
|
26
28
|
var _eventManager = _interopRequireDefault(require("../../eventManager"));
|
27
29
|
var _element = require("../../helpers/dom/element");
|
28
30
|
var _itemsFactory = _interopRequireDefault(require("../contextMenu/itemsFactory"));
|
@@ -54,6 +56,7 @@ exports.PLUGIN_KEY = PLUGIN_KEY;
|
|
54
56
|
var PLUGIN_PRIORITY = 230;
|
55
57
|
exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
|
56
58
|
var BUTTON_CLASS_NAME = 'changeType';
|
59
|
+
var SHORTCUTS_GROUP = PLUGIN_KEY;
|
57
60
|
|
58
61
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
59
62
|
/**
|
@@ -182,6 +185,7 @@ var DropdownMenu = /*#__PURE__*/function (_BasePlugin) {
|
|
182
185
|
if (typeof settings.callback === 'function') {
|
183
186
|
this.commandExecutor.setCommonCallback(settings.callback);
|
184
187
|
}
|
188
|
+
this.registerShortcuts();
|
185
189
|
_get(_getPrototypeOf(DropdownMenu.prototype), "enablePlugin", this).call(this);
|
186
190
|
this.callOnPluginsReady(function () {
|
187
191
|
_this2.hot.runHooks('afterDropdownMenuDefaultOptions', predefinedItems);
|
@@ -245,9 +249,71 @@ var DropdownMenu = /*#__PURE__*/function (_BasePlugin) {
|
|
245
249
|
if (this.menu) {
|
246
250
|
this.menu.destroy();
|
247
251
|
}
|
252
|
+
this.unregisterShortcuts();
|
248
253
|
_get(_getPrototypeOf(DropdownMenu.prototype), "disablePlugin", this).call(this);
|
249
254
|
}
|
250
255
|
|
256
|
+
/**
|
257
|
+
* Register shortcuts responsible for toggling dropdown menu.
|
258
|
+
*
|
259
|
+
* @private
|
260
|
+
*/
|
261
|
+
}, {
|
262
|
+
key: "registerShortcuts",
|
263
|
+
value: function registerShortcuts() {
|
264
|
+
var _this3 = this;
|
265
|
+
var context = this.hot.getShortcutManager().getContext('grid');
|
266
|
+
var callback = function callback() {
|
267
|
+
var _this3$hot$getSelecte = _this3.hot.getSelectedRangeLast(),
|
268
|
+
highlight = _this3$hot$getSelecte.highlight;
|
269
|
+
if ((highlight.isHeader() && highlight.row === -1 || highlight.isCell()) && highlight.col >= 0) {
|
270
|
+
_this3.hot.selectColumns(highlight.col, highlight.col, -1);
|
271
|
+
var _this3$hot$getSelecte2 = _this3.hot.getSelectedRangeLast(),
|
272
|
+
from = _this3$hot$getSelecte2.from;
|
273
|
+
var offset = (0, _utils.getDocumentOffsetByElement)(_this3.menu.container, _this3.hot.rootDocument);
|
274
|
+
var target = _this3.hot.getCell(-1, from.col, true);
|
275
|
+
var rect = target.getBoundingClientRect();
|
276
|
+
_this3.open({
|
277
|
+
left: rect.left + offset.left,
|
278
|
+
top: rect.top + target.offsetHeight + offset.top
|
279
|
+
}, {
|
280
|
+
left: rect.width
|
281
|
+
});
|
282
|
+
_this3.hot._registerTimeout(function () {
|
283
|
+
_this3.menu.selectFirstCell();
|
284
|
+
});
|
285
|
+
}
|
286
|
+
};
|
287
|
+
context.addShortcuts([{
|
288
|
+
keys: [['Shift', 'Alt', 'ArrowDown'], ['Shift', 'Enter']],
|
289
|
+
callback: callback,
|
290
|
+
runOnlyIf: function runOnlyIf() {
|
291
|
+
var _this3$hot$getSelecte3;
|
292
|
+
return ((_this3$hot$getSelecte3 = _this3.hot.getSelectedRangeLast()) === null || _this3$hot$getSelecte3 === void 0 ? void 0 : _this3$hot$getSelecte3.highlight.isHeader()) && !_this3.menu.isOpened();
|
293
|
+
},
|
294
|
+
group: SHORTCUTS_GROUP
|
295
|
+
}, {
|
296
|
+
keys: [['Shift', 'Alt', 'ArrowDown']],
|
297
|
+
callback: callback,
|
298
|
+
runOnlyIf: function runOnlyIf() {
|
299
|
+
var _this3$hot$getSelecte4;
|
300
|
+
return ((_this3$hot$getSelecte4 = _this3.hot.getSelectedRangeLast()) === null || _this3$hot$getSelecte4 === void 0 ? void 0 : _this3$hot$getSelecte4.highlight.isCell()) && !_this3.menu.isOpened();
|
301
|
+
},
|
302
|
+
group: SHORTCUTS_GROUP
|
303
|
+
}]);
|
304
|
+
}
|
305
|
+
|
306
|
+
/**
|
307
|
+
* Unregister shortcuts responsible for toggling dropdown menu.
|
308
|
+
*
|
309
|
+
* @private
|
310
|
+
*/
|
311
|
+
}, {
|
312
|
+
key: "unregisterShortcuts",
|
313
|
+
value: function unregisterShortcuts() {
|
314
|
+
this.hot.getShortcutManager().getContext('grid').removeShortcutsByGroup(SHORTCUTS_GROUP);
|
315
|
+
}
|
316
|
+
|
251
317
|
/**
|
252
318
|
* Registers the DOM listeners.
|
253
319
|
*
|
@@ -256,33 +322,42 @@ var DropdownMenu = /*#__PURE__*/function (_BasePlugin) {
|
|
256
322
|
}, {
|
257
323
|
key: "registerEvents",
|
258
324
|
value: function registerEvents() {
|
259
|
-
var
|
325
|
+
var _this4 = this;
|
260
326
|
this.eventManager.addEventListener(this.hot.rootElement, 'click', function (event) {
|
261
|
-
return
|
327
|
+
return _this4.onTableClick(event);
|
262
328
|
});
|
263
329
|
}
|
264
330
|
|
265
331
|
/**
|
266
332
|
* Opens menu and re-position it based on the passed coordinates.
|
267
333
|
*
|
268
|
-
* @param {
|
269
|
-
*
|
270
|
-
*
|
271
|
-
*
|
272
|
-
*
|
334
|
+
* @param {{ top: number, left: number }|Event} position An object with `top` and `left` properties
|
335
|
+
* which contains coordinates relative to the browsers viewport (without included scroll offsets).
|
336
|
+
* Or if the native event is passed the menu will be positioned based on the `pageX` and `pageY`
|
337
|
+
* coordinates.
|
338
|
+
* @param {{ above?: number, below?: number, left?: number, right?: number }} offset An object allows applying
|
339
|
+
* the offset to the menu position.
|
273
340
|
* @fires Hooks#beforeDropdownMenuShow
|
274
341
|
* @fires Hooks#afterDropdownMenuShow
|
275
342
|
*/
|
276
343
|
}, {
|
277
344
|
key: "open",
|
278
345
|
value: function open(position) {
|
279
|
-
|
346
|
+
var _this$menu,
|
347
|
+
_this5 = this;
|
348
|
+
var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
|
349
|
+
above: 0,
|
350
|
+
below: 0,
|
351
|
+
left: 0,
|
352
|
+
right: 0
|
353
|
+
};
|
354
|
+
if ((_this$menu = this.menu) !== null && _this$menu !== void 0 && _this$menu.isOpened()) {
|
280
355
|
return;
|
281
356
|
}
|
282
357
|
this.menu.open();
|
283
|
-
|
284
|
-
|
285
|
-
}
|
358
|
+
(0, _object.objectEach)(offset, function (value, key) {
|
359
|
+
_this5.menu.setOffset(key, value);
|
360
|
+
});
|
286
361
|
this.menu.setPosition(position);
|
287
362
|
}
|
288
363
|
|
@@ -292,10 +367,8 @@ var DropdownMenu = /*#__PURE__*/function (_BasePlugin) {
|
|
292
367
|
}, {
|
293
368
|
key: "close",
|
294
369
|
value: function close() {
|
295
|
-
|
296
|
-
|
297
|
-
}
|
298
|
-
this.menu.close();
|
370
|
+
var _this$menu2;
|
371
|
+
(_this$menu2 = this.menu) === null || _this$menu2 === void 0 ? void 0 : _this$menu2.close();
|
299
372
|
}
|
300
373
|
|
301
374
|
/**
|
@@ -367,23 +440,14 @@ var DropdownMenu = /*#__PURE__*/function (_BasePlugin) {
|
|
367
440
|
key: "onTableClick",
|
368
441
|
value: function onTableClick(event) {
|
369
442
|
event.stopPropagation();
|
370
|
-
if ((0, _element.hasClass)(event.target, BUTTON_CLASS_NAME)
|
371
|
-
var
|
372
|
-
var offsetLeft = 0;
|
373
|
-
if (this.hot.rootDocument !== this.menu.container.ownerDocument) {
|
374
|
-
var frameElement = this.hot.rootWindow.frameElement;
|
375
|
-
var _frameElement$getBoun = frameElement.getBoundingClientRect(),
|
376
|
-
top = _frameElement$getBoun.top,
|
377
|
-
left = _frameElement$getBoun.left;
|
378
|
-
offsetTop = top;
|
379
|
-
offsetLeft = left;
|
380
|
-
}
|
443
|
+
if ((0, _element.hasClass)(event.target, BUTTON_CLASS_NAME)) {
|
444
|
+
var offset = (0, _utils.getDocumentOffsetByElement)(this.menu.container, this.hot.rootDocument);
|
381
445
|
var rect = event.target.getBoundingClientRect();
|
382
446
|
this.open({
|
383
|
-
left: rect.left +
|
384
|
-
top: rect.top + event.target.offsetHeight + 3 +
|
385
|
-
|
386
|
-
|
447
|
+
left: rect.left + offset.left,
|
448
|
+
top: rect.top + event.target.offsetHeight + 3 + offset.top
|
449
|
+
}, {
|
450
|
+
left: rect.width
|
387
451
|
});
|
388
452
|
}
|
389
453
|
}
|
@@ -32,7 +32,9 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
|
|
32
32
|
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
33
33
|
import { BasePlugin } from "../base/index.mjs";
|
34
34
|
import { arrayEach } from "../../helpers/array.mjs";
|
35
|
+
import { objectEach } from "../../helpers/object.mjs";
|
35
36
|
import CommandExecutor from "../contextMenu/commandExecutor.mjs";
|
37
|
+
import { getDocumentOffsetByElement } from "../contextMenu/utils.mjs";
|
36
38
|
import EventManager from "../../eventManager.mjs";
|
37
39
|
import { hasClass } from "../../helpers/dom/element.mjs";
|
38
40
|
import ItemsFactory from "../contextMenu/itemsFactory.mjs";
|
@@ -47,6 +49,7 @@ Hooks.getSingleton().register('afterDropdownMenuExecute');
|
|
47
49
|
export var PLUGIN_KEY = 'dropdownMenu';
|
48
50
|
export var PLUGIN_PRIORITY = 230;
|
49
51
|
var BUTTON_CLASS_NAME = 'changeType';
|
52
|
+
var SHORTCUTS_GROUP = PLUGIN_KEY;
|
50
53
|
|
51
54
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
52
55
|
/**
|
@@ -176,6 +179,7 @@ export var DropdownMenu = /*#__PURE__*/function (_BasePlugin) {
|
|
176
179
|
if (typeof settings.callback === 'function') {
|
177
180
|
this.commandExecutor.setCommonCallback(settings.callback);
|
178
181
|
}
|
182
|
+
this.registerShortcuts();
|
179
183
|
_get(_getPrototypeOf(DropdownMenu.prototype), "enablePlugin", this).call(this);
|
180
184
|
this.callOnPluginsReady(function () {
|
181
185
|
_this2.hot.runHooks('afterDropdownMenuDefaultOptions', predefinedItems);
|
@@ -239,9 +243,71 @@ export var DropdownMenu = /*#__PURE__*/function (_BasePlugin) {
|
|
239
243
|
if (this.menu) {
|
240
244
|
this.menu.destroy();
|
241
245
|
}
|
246
|
+
this.unregisterShortcuts();
|
242
247
|
_get(_getPrototypeOf(DropdownMenu.prototype), "disablePlugin", this).call(this);
|
243
248
|
}
|
244
249
|
|
250
|
+
/**
|
251
|
+
* Register shortcuts responsible for toggling dropdown menu.
|
252
|
+
*
|
253
|
+
* @private
|
254
|
+
*/
|
255
|
+
}, {
|
256
|
+
key: "registerShortcuts",
|
257
|
+
value: function registerShortcuts() {
|
258
|
+
var _this3 = this;
|
259
|
+
var context = this.hot.getShortcutManager().getContext('grid');
|
260
|
+
var callback = function callback() {
|
261
|
+
var _this3$hot$getSelecte = _this3.hot.getSelectedRangeLast(),
|
262
|
+
highlight = _this3$hot$getSelecte.highlight;
|
263
|
+
if ((highlight.isHeader() && highlight.row === -1 || highlight.isCell()) && highlight.col >= 0) {
|
264
|
+
_this3.hot.selectColumns(highlight.col, highlight.col, -1);
|
265
|
+
var _this3$hot$getSelecte2 = _this3.hot.getSelectedRangeLast(),
|
266
|
+
from = _this3$hot$getSelecte2.from;
|
267
|
+
var offset = getDocumentOffsetByElement(_this3.menu.container, _this3.hot.rootDocument);
|
268
|
+
var target = _this3.hot.getCell(-1, from.col, true);
|
269
|
+
var rect = target.getBoundingClientRect();
|
270
|
+
_this3.open({
|
271
|
+
left: rect.left + offset.left,
|
272
|
+
top: rect.top + target.offsetHeight + offset.top
|
273
|
+
}, {
|
274
|
+
left: rect.width
|
275
|
+
});
|
276
|
+
_this3.hot._registerTimeout(function () {
|
277
|
+
_this3.menu.selectFirstCell();
|
278
|
+
});
|
279
|
+
}
|
280
|
+
};
|
281
|
+
context.addShortcuts([{
|
282
|
+
keys: [['Shift', 'Alt', 'ArrowDown'], ['Shift', 'Enter']],
|
283
|
+
callback: callback,
|
284
|
+
runOnlyIf: function runOnlyIf() {
|
285
|
+
var _this3$hot$getSelecte3;
|
286
|
+
return ((_this3$hot$getSelecte3 = _this3.hot.getSelectedRangeLast()) === null || _this3$hot$getSelecte3 === void 0 ? void 0 : _this3$hot$getSelecte3.highlight.isHeader()) && !_this3.menu.isOpened();
|
287
|
+
},
|
288
|
+
group: SHORTCUTS_GROUP
|
289
|
+
}, {
|
290
|
+
keys: [['Shift', 'Alt', 'ArrowDown']],
|
291
|
+
callback: callback,
|
292
|
+
runOnlyIf: function runOnlyIf() {
|
293
|
+
var _this3$hot$getSelecte4;
|
294
|
+
return ((_this3$hot$getSelecte4 = _this3.hot.getSelectedRangeLast()) === null || _this3$hot$getSelecte4 === void 0 ? void 0 : _this3$hot$getSelecte4.highlight.isCell()) && !_this3.menu.isOpened();
|
295
|
+
},
|
296
|
+
group: SHORTCUTS_GROUP
|
297
|
+
}]);
|
298
|
+
}
|
299
|
+
|
300
|
+
/**
|
301
|
+
* Unregister shortcuts responsible for toggling dropdown menu.
|
302
|
+
*
|
303
|
+
* @private
|
304
|
+
*/
|
305
|
+
}, {
|
306
|
+
key: "unregisterShortcuts",
|
307
|
+
value: function unregisterShortcuts() {
|
308
|
+
this.hot.getShortcutManager().getContext('grid').removeShortcutsByGroup(SHORTCUTS_GROUP);
|
309
|
+
}
|
310
|
+
|
245
311
|
/**
|
246
312
|
* Registers the DOM listeners.
|
247
313
|
*
|
@@ -250,33 +316,42 @@ export var DropdownMenu = /*#__PURE__*/function (_BasePlugin) {
|
|
250
316
|
}, {
|
251
317
|
key: "registerEvents",
|
252
318
|
value: function registerEvents() {
|
253
|
-
var
|
319
|
+
var _this4 = this;
|
254
320
|
this.eventManager.addEventListener(this.hot.rootElement, 'click', function (event) {
|
255
|
-
return
|
321
|
+
return _this4.onTableClick(event);
|
256
322
|
});
|
257
323
|
}
|
258
324
|
|
259
325
|
/**
|
260
326
|
* Opens menu and re-position it based on the passed coordinates.
|
261
327
|
*
|
262
|
-
* @param {
|
263
|
-
*
|
264
|
-
*
|
265
|
-
*
|
266
|
-
*
|
328
|
+
* @param {{ top: number, left: number }|Event} position An object with `top` and `left` properties
|
329
|
+
* which contains coordinates relative to the browsers viewport (without included scroll offsets).
|
330
|
+
* Or if the native event is passed the menu will be positioned based on the `pageX` and `pageY`
|
331
|
+
* coordinates.
|
332
|
+
* @param {{ above?: number, below?: number, left?: number, right?: number }} offset An object allows applying
|
333
|
+
* the offset to the menu position.
|
267
334
|
* @fires Hooks#beforeDropdownMenuShow
|
268
335
|
* @fires Hooks#afterDropdownMenuShow
|
269
336
|
*/
|
270
337
|
}, {
|
271
338
|
key: "open",
|
272
339
|
value: function open(position) {
|
273
|
-
|
340
|
+
var _this$menu,
|
341
|
+
_this5 = this;
|
342
|
+
var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
|
343
|
+
above: 0,
|
344
|
+
below: 0,
|
345
|
+
left: 0,
|
346
|
+
right: 0
|
347
|
+
};
|
348
|
+
if ((_this$menu = this.menu) !== null && _this$menu !== void 0 && _this$menu.isOpened()) {
|
274
349
|
return;
|
275
350
|
}
|
276
351
|
this.menu.open();
|
277
|
-
|
278
|
-
|
279
|
-
}
|
352
|
+
objectEach(offset, function (value, key) {
|
353
|
+
_this5.menu.setOffset(key, value);
|
354
|
+
});
|
280
355
|
this.menu.setPosition(position);
|
281
356
|
}
|
282
357
|
|
@@ -286,10 +361,8 @@ export var DropdownMenu = /*#__PURE__*/function (_BasePlugin) {
|
|
286
361
|
}, {
|
287
362
|
key: "close",
|
288
363
|
value: function close() {
|
289
|
-
|
290
|
-
|
291
|
-
}
|
292
|
-
this.menu.close();
|
364
|
+
var _this$menu2;
|
365
|
+
(_this$menu2 = this.menu) === null || _this$menu2 === void 0 ? void 0 : _this$menu2.close();
|
293
366
|
}
|
294
367
|
|
295
368
|
/**
|
@@ -361,23 +434,14 @@ export var DropdownMenu = /*#__PURE__*/function (_BasePlugin) {
|
|
361
434
|
key: "onTableClick",
|
362
435
|
value: function onTableClick(event) {
|
363
436
|
event.stopPropagation();
|
364
|
-
if (hasClass(event.target, BUTTON_CLASS_NAME)
|
365
|
-
var
|
366
|
-
var offsetLeft = 0;
|
367
|
-
if (this.hot.rootDocument !== this.menu.container.ownerDocument) {
|
368
|
-
var frameElement = this.hot.rootWindow.frameElement;
|
369
|
-
var _frameElement$getBoun = frameElement.getBoundingClientRect(),
|
370
|
-
top = _frameElement$getBoun.top,
|
371
|
-
left = _frameElement$getBoun.left;
|
372
|
-
offsetTop = top;
|
373
|
-
offsetLeft = left;
|
374
|
-
}
|
437
|
+
if (hasClass(event.target, BUTTON_CLASS_NAME)) {
|
438
|
+
var offset = getDocumentOffsetByElement(this.menu.container, this.hot.rootDocument);
|
375
439
|
var rect = event.target.getBoundingClientRect();
|
376
440
|
this.open({
|
377
|
-
left: rect.left +
|
378
|
-
top: rect.top + event.target.offsetHeight + 3 +
|
379
|
-
|
380
|
-
|
441
|
+
left: rect.left + offset.left,
|
442
|
+
top: rect.top + event.target.offsetHeight + 3 + offset.top
|
443
|
+
}, {
|
444
|
+
left: rect.width
|
381
445
|
});
|
382
446
|
}
|
383
447
|
}
|
@@ -87,7 +87,6 @@ var ManualColumnResize = /*#__PURE__*/function (_BasePlugin) {
|
|
87
87
|
_this.guide = rootDocument.createElement('DIV');
|
88
88
|
_this.eventManager = new _eventManager.default(_assertThisInitialized(_this));
|
89
89
|
_this.pressed = null;
|
90
|
-
_this.isTriggeredByRMB = false;
|
91
90
|
_this.dblclick = 0;
|
92
91
|
_this.autoresizeTimeout = null;
|
93
92
|
|
@@ -438,11 +437,6 @@ var ManualColumnResize = /*#__PURE__*/function (_BasePlugin) {
|
|
438
437
|
if ((0, _element.isDetached)(event.target)) {
|
439
438
|
return;
|
440
439
|
}
|
441
|
-
|
442
|
-
// A "mouseover" action is triggered right after executing "contextmenu" event. It should be ignored.
|
443
|
-
if (this.isTriggeredByRMB === true) {
|
444
|
-
return;
|
445
|
-
}
|
446
440
|
if (this.checkIfColumnHeader(event.target)) {
|
447
441
|
var th = this.getClosestTHParent(event.target);
|
448
442
|
if (!th) {
|
@@ -599,28 +593,6 @@ var ManualColumnResize = /*#__PURE__*/function (_BasePlugin) {
|
|
599
593
|
}
|
600
594
|
}
|
601
595
|
|
602
|
-
/**
|
603
|
-
* Callback for "contextmenu" event triggered on element showing move handle. It removes handle and guide elements.
|
604
|
-
*
|
605
|
-
* @private
|
606
|
-
*/
|
607
|
-
}, {
|
608
|
-
key: "onContextMenu",
|
609
|
-
value: function onContextMenu() {
|
610
|
-
var _this9 = this;
|
611
|
-
this.hideHandleAndGuide();
|
612
|
-
this.hot.rootElement.removeChild(this.handle);
|
613
|
-
this.hot.rootElement.removeChild(this.guide);
|
614
|
-
this.pressed = false;
|
615
|
-
this.isTriggeredByRMB = true;
|
616
|
-
|
617
|
-
// There is thrown "mouseover" event right after opening a context menu. This flag inform that handle
|
618
|
-
// shouldn't be drawn just after removing it.
|
619
|
-
this.hot._registerImmediate(function () {
|
620
|
-
_this9.isTriggeredByRMB = false;
|
621
|
-
});
|
622
|
-
}
|
623
|
-
|
624
596
|
/**
|
625
597
|
* Binds the mouse events.
|
626
598
|
*
|
@@ -629,24 +601,21 @@ var ManualColumnResize = /*#__PURE__*/function (_BasePlugin) {
|
|
629
601
|
}, {
|
630
602
|
key: "bindEvents",
|
631
603
|
value: function bindEvents() {
|
632
|
-
var
|
604
|
+
var _this9 = this;
|
633
605
|
var _this$hot = this.hot,
|
634
606
|
rootWindow = _this$hot.rootWindow,
|
635
607
|
rootElement = _this$hot.rootElement;
|
636
608
|
this.eventManager.addEventListener(rootElement, 'mouseover', function (e) {
|
637
|
-
return
|
609
|
+
return _this9.onMouseOver(e);
|
638
610
|
});
|
639
611
|
this.eventManager.addEventListener(rootElement, 'mousedown', function (e) {
|
640
|
-
return
|
612
|
+
return _this9.onMouseDown(e);
|
641
613
|
});
|
642
614
|
this.eventManager.addEventListener(rootWindow, 'mousemove', function (e) {
|
643
|
-
return
|
615
|
+
return _this9.onMouseMove(e);
|
644
616
|
});
|
645
617
|
this.eventManager.addEventListener(rootWindow, 'mouseup', function () {
|
646
|
-
return
|
647
|
-
});
|
648
|
-
this.eventManager.addEventListener(this.handle, 'contextmenu', function () {
|
649
|
-
return _this10.onContextMenu();
|
618
|
+
return _this9.onMouseUp();
|
650
619
|
});
|
651
620
|
}
|
652
621
|
|
@@ -78,7 +78,6 @@ export var ManualColumnResize = /*#__PURE__*/function (_BasePlugin) {
|
|
78
78
|
_this.guide = rootDocument.createElement('DIV');
|
79
79
|
_this.eventManager = new EventManager(_assertThisInitialized(_this));
|
80
80
|
_this.pressed = null;
|
81
|
-
_this.isTriggeredByRMB = false;
|
82
81
|
_this.dblclick = 0;
|
83
82
|
_this.autoresizeTimeout = null;
|
84
83
|
|
@@ -429,11 +428,6 @@ export var ManualColumnResize = /*#__PURE__*/function (_BasePlugin) {
|
|
429
428
|
if (isDetached(event.target)) {
|
430
429
|
return;
|
431
430
|
}
|
432
|
-
|
433
|
-
// A "mouseover" action is triggered right after executing "contextmenu" event. It should be ignored.
|
434
|
-
if (this.isTriggeredByRMB === true) {
|
435
|
-
return;
|
436
|
-
}
|
437
431
|
if (this.checkIfColumnHeader(event.target)) {
|
438
432
|
var th = this.getClosestTHParent(event.target);
|
439
433
|
if (!th) {
|
@@ -590,28 +584,6 @@ export var ManualColumnResize = /*#__PURE__*/function (_BasePlugin) {
|
|
590
584
|
}
|
591
585
|
}
|
592
586
|
|
593
|
-
/**
|
594
|
-
* Callback for "contextmenu" event triggered on element showing move handle. It removes handle and guide elements.
|
595
|
-
*
|
596
|
-
* @private
|
597
|
-
*/
|
598
|
-
}, {
|
599
|
-
key: "onContextMenu",
|
600
|
-
value: function onContextMenu() {
|
601
|
-
var _this9 = this;
|
602
|
-
this.hideHandleAndGuide();
|
603
|
-
this.hot.rootElement.removeChild(this.handle);
|
604
|
-
this.hot.rootElement.removeChild(this.guide);
|
605
|
-
this.pressed = false;
|
606
|
-
this.isTriggeredByRMB = true;
|
607
|
-
|
608
|
-
// There is thrown "mouseover" event right after opening a context menu. This flag inform that handle
|
609
|
-
// shouldn't be drawn just after removing it.
|
610
|
-
this.hot._registerImmediate(function () {
|
611
|
-
_this9.isTriggeredByRMB = false;
|
612
|
-
});
|
613
|
-
}
|
614
|
-
|
615
587
|
/**
|
616
588
|
* Binds the mouse events.
|
617
589
|
*
|
@@ -620,24 +592,21 @@ export var ManualColumnResize = /*#__PURE__*/function (_BasePlugin) {
|
|
620
592
|
}, {
|
621
593
|
key: "bindEvents",
|
622
594
|
value: function bindEvents() {
|
623
|
-
var
|
595
|
+
var _this9 = this;
|
624
596
|
var _this$hot = this.hot,
|
625
597
|
rootWindow = _this$hot.rootWindow,
|
626
598
|
rootElement = _this$hot.rootElement;
|
627
599
|
this.eventManager.addEventListener(rootElement, 'mouseover', function (e) {
|
628
|
-
return
|
600
|
+
return _this9.onMouseOver(e);
|
629
601
|
});
|
630
602
|
this.eventManager.addEventListener(rootElement, 'mousedown', function (e) {
|
631
|
-
return
|
603
|
+
return _this9.onMouseDown(e);
|
632
604
|
});
|
633
605
|
this.eventManager.addEventListener(rootWindow, 'mousemove', function (e) {
|
634
|
-
return
|
606
|
+
return _this9.onMouseMove(e);
|
635
607
|
});
|
636
608
|
this.eventManager.addEventListener(rootWindow, 'mouseup', function () {
|
637
|
-
return
|
638
|
-
});
|
639
|
-
this.eventManager.addEventListener(this.handle, 'contextmenu', function () {
|
640
|
-
return _this10.onContextMenu();
|
609
|
+
return _this9.onMouseUp();
|
641
610
|
});
|
642
611
|
}
|
643
612
|
|
@@ -88,7 +88,6 @@ var ManualRowResize = /*#__PURE__*/function (_BasePlugin) {
|
|
88
88
|
_this.guide = rootDocument.createElement('DIV');
|
89
89
|
_this.eventManager = new _eventManager.default(_assertThisInitialized(_this));
|
90
90
|
_this.pressed = null;
|
91
|
-
_this.isTriggeredByRMB = false;
|
92
91
|
_this.dblclick = 0;
|
93
92
|
_this.autoresizeTimeout = null;
|
94
93
|
|
@@ -410,11 +409,6 @@ var ManualRowResize = /*#__PURE__*/function (_BasePlugin) {
|
|
410
409
|
if ((0, _element.isDetached)(event.target)) {
|
411
410
|
return;
|
412
411
|
}
|
413
|
-
|
414
|
-
// A "mouseover" action is triggered right after executing "contextmenu" event. It should be ignored.
|
415
|
-
if (this.isTriggeredByRMB === true) {
|
416
|
-
return;
|
417
|
-
}
|
418
412
|
if (this.checkIfRowHeader(event.target)) {
|
419
413
|
var th = this.getClosestTHParent(event.target);
|
420
414
|
if (th) {
|
@@ -561,28 +555,6 @@ var ManualRowResize = /*#__PURE__*/function (_BasePlugin) {
|
|
561
555
|
}
|
562
556
|
}
|
563
557
|
|
564
|
-
/**
|
565
|
-
* Callback for "contextmenu" event triggered on element showing move handle. It removes handle and guide elements.
|
566
|
-
*
|
567
|
-
* @private
|
568
|
-
*/
|
569
|
-
}, {
|
570
|
-
key: "onContextMenu",
|
571
|
-
value: function onContextMenu() {
|
572
|
-
var _this8 = this;
|
573
|
-
this.hideHandleAndGuide();
|
574
|
-
this.hot.rootElement.removeChild(this.handle);
|
575
|
-
this.hot.rootElement.removeChild(this.guide);
|
576
|
-
this.pressed = false;
|
577
|
-
this.isTriggeredByRMB = true;
|
578
|
-
|
579
|
-
// There is thrown "mouseover" event right after opening a context menu. This flag inform that handle
|
580
|
-
// shouldn't be drawn just after removing it.
|
581
|
-
this.hot._registerImmediate(function () {
|
582
|
-
_this8.isTriggeredByRMB = false;
|
583
|
-
});
|
584
|
-
}
|
585
|
-
|
586
558
|
/**
|
587
559
|
* Binds the mouse events.
|
588
560
|
*
|
@@ -591,24 +563,21 @@ var ManualRowResize = /*#__PURE__*/function (_BasePlugin) {
|
|
591
563
|
}, {
|
592
564
|
key: "bindEvents",
|
593
565
|
value: function bindEvents() {
|
594
|
-
var
|
566
|
+
var _this8 = this;
|
595
567
|
var _this$hot = this.hot,
|
596
568
|
rootElement = _this$hot.rootElement,
|
597
569
|
rootWindow = _this$hot.rootWindow;
|
598
570
|
this.eventManager.addEventListener(rootElement, 'mouseover', function (e) {
|
599
|
-
return
|
571
|
+
return _this8.onMouseOver(e);
|
600
572
|
});
|
601
573
|
this.eventManager.addEventListener(rootElement, 'mousedown', function (e) {
|
602
|
-
return
|
574
|
+
return _this8.onMouseDown(e);
|
603
575
|
});
|
604
576
|
this.eventManager.addEventListener(rootWindow, 'mousemove', function (e) {
|
605
|
-
return
|
577
|
+
return _this8.onMouseMove(e);
|
606
578
|
});
|
607
579
|
this.eventManager.addEventListener(rootWindow, 'mouseup', function () {
|
608
|
-
return
|
609
|
-
});
|
610
|
-
this.eventManager.addEventListener(this.handle, 'contextmenu', function () {
|
611
|
-
return _this9.onContextMenu();
|
580
|
+
return _this8.onMouseUp();
|
612
581
|
});
|
613
582
|
}
|
614
583
|
|
@@ -642,23 +611,23 @@ var ManualRowResize = /*#__PURE__*/function (_BasePlugin) {
|
|
642
611
|
}, {
|
643
612
|
key: "onMapInit",
|
644
613
|
value: function onMapInit() {
|
645
|
-
var
|
614
|
+
var _this9 = this;
|
646
615
|
var priv = privatePool.get(this);
|
647
616
|
var initialSetting = this.hot.getSettings()[PLUGIN_KEY];
|
648
617
|
var loadedManualRowHeights = this.loadManualRowHeights();
|
649
618
|
this.hot.batchExecution(function () {
|
650
619
|
if (typeof loadedManualRowHeights !== 'undefined') {
|
651
620
|
loadedManualRowHeights.forEach(function (height, index) {
|
652
|
-
|
621
|
+
_this9.rowHeightsMap.setValueAtIndex(index, height);
|
653
622
|
});
|
654
623
|
} else if (Array.isArray(initialSetting)) {
|
655
624
|
initialSetting.forEach(function (height, index) {
|
656
|
-
|
625
|
+
_this9.rowHeightsMap.setValueAtIndex(index, height);
|
657
626
|
});
|
658
627
|
priv.config = initialSetting;
|
659
628
|
} else if (initialSetting === true && Array.isArray(priv.config)) {
|
660
629
|
priv.config.forEach(function (height, index) {
|
661
|
-
|
630
|
+
_this9.rowHeightsMap.setValueAtIndex(index, height);
|
662
631
|
});
|
663
632
|
}
|
664
633
|
}, true);
|