handsontable 0.0.0-next-06a64be-20230621 → 0.0.0-next-d1c8e0e-20230621
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 +13658 -10651
- package/dist/handsontable.full.min.css +3 -3
- package/dist/handsontable.full.min.js +112 -112
- package/dist/handsontable.js +16566 -13559
- 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/filters/filters.js +62 -42
- package/plugins/filters/filters.mjs +61 -41
- 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 +247 -0
- package/shortcutContexts/grid.mjs +243 -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/translations/indexMapper.js +8 -9
- package/translations/indexMapper.mjs +8 -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
|
}
|
@@ -76,6 +76,8 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
|
|
76
76
|
var PLUGIN_KEY = 'filters';
|
77
77
|
exports.PLUGIN_KEY = PLUGIN_KEY;
|
78
78
|
var PLUGIN_PRIORITY = 250;
|
79
|
+
exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
|
80
|
+
var SHORTCUTS_GROUP = PLUGIN_KEY;
|
79
81
|
|
80
82
|
/**
|
81
83
|
* @plugin Filters
|
@@ -112,7 +114,6 @@ var PLUGIN_PRIORITY = 250;
|
|
112
114
|
* ```
|
113
115
|
* :::
|
114
116
|
*/
|
115
|
-
exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
|
116
117
|
var Filters = /*#__PURE__*/function (_BasePlugin) {
|
117
118
|
_inherits(Filters, _BasePlugin);
|
118
119
|
var _super = _createSuper(Filters);
|
@@ -292,6 +293,7 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
292
293
|
this.dropdownMenuPlugin.disablePlugin();
|
293
294
|
this.dropdownMenuPlugin.enablePlugin();
|
294
295
|
}
|
296
|
+
this.registerShortcuts();
|
295
297
|
_get(_getPrototypeOf(Filters.prototype), "enablePlugin", this).call(this);
|
296
298
|
}
|
297
299
|
|
@@ -315,9 +317,41 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
315
317
|
this.conditionCollection = null;
|
316
318
|
this.hot.rowIndexMapper.unregisterMap(this.pluginName);
|
317
319
|
}
|
320
|
+
this.unregisterShortcuts();
|
318
321
|
_get(_getPrototypeOf(Filters.prototype), "disablePlugin", this).call(this);
|
319
322
|
}
|
320
323
|
|
324
|
+
/**
|
325
|
+
* Register shortcuts responsible for clearing the filters.
|
326
|
+
*
|
327
|
+
* @private
|
328
|
+
*/
|
329
|
+
}, {
|
330
|
+
key: "registerShortcuts",
|
331
|
+
value: function registerShortcuts() {
|
332
|
+
var _this4 = this;
|
333
|
+
this.hot.getShortcutManager().getContext('grid').addShortcut({
|
334
|
+
keys: [['Alt', 'A']],
|
335
|
+
stopPropagation: true,
|
336
|
+
callback: function callback() {
|
337
|
+
_this4.clearConditions();
|
338
|
+
_this4.filter();
|
339
|
+
},
|
340
|
+
group: SHORTCUTS_GROUP
|
341
|
+
});
|
342
|
+
}
|
343
|
+
|
344
|
+
/**
|
345
|
+
* Unregister shortcuts responsible for clearing the filters.
|
346
|
+
*
|
347
|
+
* @private
|
348
|
+
*/
|
349
|
+
}, {
|
350
|
+
key: "unregisterShortcuts",
|
351
|
+
value: function unregisterShortcuts() {
|
352
|
+
this.hot.getShortcutManager().getContext('grid').removeShortcutsByGroup(SHORTCUTS_GROUP);
|
353
|
+
}
|
354
|
+
|
321
355
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
322
356
|
/**
|
323
357
|
* @memberof Filters#
|
@@ -484,7 +518,7 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
484
518
|
}, {
|
485
519
|
key: "filter",
|
486
520
|
value: function filter() {
|
487
|
-
var
|
521
|
+
var _this5 = this;
|
488
522
|
var dataFilter = this._createDataFilter();
|
489
523
|
var needToFilter = !this.conditionCollection.isEmpty();
|
490
524
|
var visibleVisualRows = [];
|
@@ -494,18 +528,18 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
494
528
|
if (needToFilter) {
|
495
529
|
var trimmedRows = [];
|
496
530
|
this.hot.batchExecution(function () {
|
497
|
-
|
531
|
+
_this5.filtersRowsMap.clear();
|
498
532
|
visibleVisualRows = (0, _array.arrayMap)(dataFilter.filter(), function (rowData) {
|
499
533
|
return rowData.meta.visualRow;
|
500
534
|
});
|
501
535
|
var visibleVisualRowsAssertion = (0, _utils.createArrayAssertion)(visibleVisualRows);
|
502
|
-
(0, _number.rangeEach)(
|
536
|
+
(0, _number.rangeEach)(_this5.hot.countSourceRows() - 1, function (row) {
|
503
537
|
if (!visibleVisualRowsAssertion(row)) {
|
504
538
|
trimmedRows.push(row);
|
505
539
|
}
|
506
540
|
});
|
507
541
|
(0, _array.arrayEach)(trimmedRows, function (physicalRow) {
|
508
|
-
|
542
|
+
_this5.filtersRowsMap.setValueAtIndex(physicalRow, true);
|
509
543
|
});
|
510
544
|
}, true);
|
511
545
|
if (!visibleVisualRows.length) {
|
@@ -518,7 +552,6 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
518
552
|
this.hot.runHooks('afterFilter', conditions);
|
519
553
|
this.hot.view.adjustElementsSize(true);
|
520
554
|
this.hot.render();
|
521
|
-
this.clearColumnSelection();
|
522
555
|
}
|
523
556
|
|
524
557
|
/**
|
@@ -542,20 +575,6 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
542
575
|
};
|
543
576
|
}
|
544
577
|
|
545
|
-
/**
|
546
|
-
* Clears column selection.
|
547
|
-
*
|
548
|
-
* @private
|
549
|
-
*/
|
550
|
-
}, {
|
551
|
-
key: "clearColumnSelection",
|
552
|
-
value: function clearColumnSelection() {
|
553
|
-
var selectedColumn = this.getSelectedColumn();
|
554
|
-
if (selectedColumn !== null) {
|
555
|
-
this.hot.selectCell(0, selectedColumn.visualIndex);
|
556
|
-
}
|
557
|
-
}
|
558
|
-
|
559
578
|
/**
|
560
579
|
* Returns handsontable source data with cell meta based on current selection.
|
561
580
|
*
|
@@ -565,21 +584,21 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
565
584
|
}, {
|
566
585
|
key: "getDataMapAtColumn",
|
567
586
|
value: function getDataMapAtColumn(column) {
|
568
|
-
var
|
587
|
+
var _this6 = this;
|
569
588
|
var visualColumn = this.hot.toVisualColumn(column);
|
570
589
|
var data = [];
|
571
590
|
(0, _array.arrayEach)(this.hot.getSourceDataAtCol(visualColumn), function (value, rowIndex) {
|
572
|
-
var
|
573
|
-
var
|
574
|
-
row =
|
575
|
-
col =
|
576
|
-
visualCol =
|
577
|
-
visualRow =
|
578
|
-
type =
|
579
|
-
instance =
|
580
|
-
dateFormat =
|
581
|
-
locale =
|
582
|
-
var dataValue = (
|
591
|
+
var _this6$hot$getDataAtC;
|
592
|
+
var _this6$hot$getCellMet = _this6.hot.getCellMeta(rowIndex, visualColumn),
|
593
|
+
row = _this6$hot$getCellMet.row,
|
594
|
+
col = _this6$hot$getCellMet.col,
|
595
|
+
visualCol = _this6$hot$getCellMet.visualCol,
|
596
|
+
visualRow = _this6$hot$getCellMet.visualRow,
|
597
|
+
type = _this6$hot$getCellMet.type,
|
598
|
+
instance = _this6$hot$getCellMet.instance,
|
599
|
+
dateFormat = _this6$hot$getCellMet.dateFormat,
|
600
|
+
locale = _this6$hot$getCellMet.locale;
|
601
|
+
var dataValue = (_this6$hot$getDataAtC = _this6.hot.getDataAtCell(_this6.hot.toVisualRow(rowIndex), visualColumn)) !== null && _this6$hot$getDataAtC !== void 0 ? _this6$hot$getDataAtC : value;
|
583
602
|
data.push({
|
584
603
|
meta: {
|
585
604
|
row: row,
|
@@ -606,14 +625,14 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
606
625
|
}, {
|
607
626
|
key: "onAfterChange",
|
608
627
|
value: function onAfterChange(changes) {
|
609
|
-
var
|
628
|
+
var _this7 = this;
|
610
629
|
if (changes) {
|
611
630
|
(0, _array.arrayEach)(changes, function (change) {
|
612
631
|
var _change = _slicedToArray(change, 2),
|
613
632
|
prop = _change[1];
|
614
|
-
var columnIndex =
|
615
|
-
if (
|
616
|
-
|
633
|
+
var columnIndex = _this7.hot.propToCol(prop);
|
634
|
+
if (_this7.conditionCollection.hasConditions(columnIndex)) {
|
635
|
+
_this7.updateValueComponentCondition(columnIndex);
|
617
636
|
}
|
618
637
|
});
|
619
638
|
}
|
@@ -684,10 +703,10 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
684
703
|
}, {
|
685
704
|
key: "onBeforeDropdownMenuSetItems",
|
686
705
|
value: function onBeforeDropdownMenuSetItems() {
|
687
|
-
var
|
706
|
+
var _this8 = this;
|
688
707
|
if (this.dropdownMenuPlugin) {
|
689
708
|
this.dropdownMenuPlugin.menu.addLocalHook('afterOpen', function () {
|
690
|
-
|
709
|
+
_this8.dropdownMenuPlugin.menu.hotMenu.updateSettings({
|
691
710
|
hiddenRows: true
|
692
711
|
});
|
693
712
|
});
|
@@ -778,6 +797,7 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
778
797
|
});
|
779
798
|
this.filtersRowsMap.clear();
|
780
799
|
this.filter();
|
800
|
+
this.hot.selectCell(0, selectedColumn.visualIndex);
|
781
801
|
}
|
782
802
|
(_this$dropdownMenuPlu3 = this.dropdownMenuPlugin) === null || _this$dropdownMenuPlu3 === void 0 ? void 0 : _this$dropdownMenuPlu3.close();
|
783
803
|
}
|
@@ -870,10 +890,10 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
870
890
|
}, {
|
871
891
|
key: "_createDataFilter",
|
872
892
|
value: function _createDataFilter() {
|
873
|
-
var
|
893
|
+
var _this9 = this;
|
874
894
|
var conditionCollection = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.conditionCollection;
|
875
895
|
return new _dataFilter.default(conditionCollection, function (physicalColumn) {
|
876
|
-
return
|
896
|
+
return _this9.getDataMapAtColumn(physicalColumn);
|
877
897
|
});
|
878
898
|
}
|
879
899
|
|
@@ -1005,12 +1025,12 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
1005
1025
|
}, {
|
1006
1026
|
key: "destroy",
|
1007
1027
|
value: function destroy() {
|
1008
|
-
var
|
1028
|
+
var _this10 = this;
|
1009
1029
|
if (this.enabled) {
|
1010
1030
|
this.components.forEach(function (component, key) {
|
1011
1031
|
if (component !== null) {
|
1012
1032
|
component.destroy();
|
1013
|
-
|
1033
|
+
_this10.components.set(key, null);
|
1014
1034
|
}
|
1015
1035
|
});
|
1016
1036
|
this.conditionCollection.destroy();
|