handsontable 14.6.1 → 15.0.0-next-4472a60-20241203
Sign up to get free protection for your applications and to get access to all the features.
- package/3rdparty/walkontable/src/calculator/calculationType/renderedColumns.js +23 -0
- package/3rdparty/walkontable/src/calculator/calculationType/renderedColumns.mjs +23 -0
- package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.js +23 -0
- package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.mjs +23 -0
- package/3rdparty/walkontable/src/calculator/index.js +1 -2
- package/3rdparty/walkontable/src/calculator/index.mjs +2 -2
- package/3rdparty/walkontable/src/calculator/viewportBase.js +2 -0
- package/3rdparty/walkontable/src/calculator/viewportBase.mjs +2 -0
- package/3rdparty/walkontable/src/calculator/viewportRows.js +3 -3
- package/3rdparty/walkontable/src/calculator/viewportRows.mjs +3 -3
- package/3rdparty/walkontable/src/core/_base.js +29 -23
- package/3rdparty/walkontable/src/core/_base.mjs +29 -23
- package/3rdparty/walkontable/src/core/clone.js +1 -0
- package/3rdparty/walkontable/src/core/clone.mjs +1 -0
- package/3rdparty/walkontable/src/core/core.js +2 -0
- package/3rdparty/walkontable/src/core/core.mjs +2 -0
- package/3rdparty/walkontable/src/facade/core.js +12 -6
- package/3rdparty/walkontable/src/facade/core.mjs +12 -6
- package/3rdparty/walkontable/src/index.js +0 -1
- package/3rdparty/walkontable/src/index.mjs +2 -2
- package/3rdparty/walkontable/src/overlay/_base.js +8 -1
- package/3rdparty/walkontable/src/overlay/_base.mjs +8 -1
- package/3rdparty/walkontable/src/overlay/bottom.js +5 -6
- package/3rdparty/walkontable/src/overlay/bottom.mjs +5 -6
- package/3rdparty/walkontable/src/overlay/index.js +2 -0
- package/3rdparty/walkontable/src/overlay/inlineStart.js +8 -7
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +9 -8
- package/3rdparty/walkontable/src/overlay/top.js +9 -8
- package/3rdparty/walkontable/src/overlay/top.mjs +10 -9
- package/3rdparty/walkontable/src/overlays.js +10 -26
- package/3rdparty/walkontable/src/overlays.mjs +10 -26
- package/3rdparty/walkontable/src/renderer/colGroup.js +1 -1
- package/3rdparty/walkontable/src/renderer/colGroup.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/index.js +4 -2
- package/3rdparty/walkontable/src/renderer/index.mjs +4 -2
- package/3rdparty/walkontable/src/renderer/table.js +13 -4
- package/3rdparty/walkontable/src/renderer/table.mjs +13 -4
- package/3rdparty/walkontable/src/scroll.js +46 -37
- package/3rdparty/walkontable/src/scroll.mjs +46 -37
- package/3rdparty/walkontable/src/selection/border/border.js +52 -58
- package/3rdparty/walkontable/src/selection/border/border.mjs +53 -59
- package/3rdparty/walkontable/src/selection/border/utils.js +26 -0
- package/3rdparty/walkontable/src/selection/border/utils.mjs +22 -0
- package/3rdparty/walkontable/src/selection/index.js +6 -4
- package/3rdparty/walkontable/src/selection/index.mjs +1 -1
- package/3rdparty/walkontable/src/selection/manager.js +3 -0
- package/3rdparty/walkontable/src/selection/manager.mjs +3 -0
- package/3rdparty/walkontable/src/selection/scanner.js +46 -11
- package/3rdparty/walkontable/src/selection/scanner.mjs +46 -11
- package/3rdparty/walkontable/src/settings.js +8 -9
- package/3rdparty/walkontable/src/settings.mjs +8 -9
- package/3rdparty/walkontable/src/table/master.js +1 -1
- package/3rdparty/walkontable/src/table/master.mjs +2 -2
- package/3rdparty/walkontable/src/table.js +25 -36
- package/3rdparty/walkontable/src/table.mjs +25 -36
- package/3rdparty/walkontable/src/types.js +1 -0
- package/3rdparty/walkontable/src/types.mjs +1 -0
- package/3rdparty/walkontable/src/utils/column.js +1 -43
- package/3rdparty/walkontable/src/utils/column.mjs +1 -43
- package/3rdparty/walkontable/src/utils/stylesHandler.js +295 -0
- package/3rdparty/walkontable/src/utils/stylesHandler.mjs +291 -0
- package/3rdparty/walkontable/src/viewport.js +94 -91
- package/3rdparty/walkontable/src/viewport.mjs +95 -92
- package/CHANGELOG.md +36 -0
- package/README.md +1 -1
- package/base.js +4 -4
- package/base.mjs +3 -3
- package/core/focusCatcher/focusDetector.js +1 -0
- package/core/focusCatcher/focusDetector.mjs +1 -0
- package/core/hooks/bucket.js +184 -0
- package/core/hooks/bucket.mjs +180 -0
- package/{pluginHooks.mjs → core/hooks/constants.js} +38 -486
- package/{pluginHooks.js → core/hooks/constants.mjs} +34 -489
- package/{pluginHooks.d.ts → core/hooks/index.d.ts} +22 -25
- package/core/hooks/index.js +385 -0
- package/core/hooks/index.mjs +381 -0
- package/core/index.js +2 -0
- package/core.d.ts +5 -3
- package/core.js +77 -35
- package/core.mjs +69 -27
- package/dataMap/dataMap.js +3 -0
- package/dataMap/dataMap.mjs +3 -0
- package/dataMap/dataSource.js +2 -0
- package/dataMap/dataSource.mjs +2 -0
- package/dataMap/metaManager/index.js +2 -0
- package/dataMap/metaManager/index.mjs +2 -0
- package/dataMap/metaManager/metaSchema.js +91 -5
- package/dataMap/metaManager/metaSchema.mjs +91 -5
- package/dataMap/metaManager/mods/dynamicCellMeta.js +2 -3
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +1 -1
- package/dataMap/metaManager/mods/extendMetaProperties.js +2 -0
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +2 -0
- package/dist/handsontable.css +84 -72
- package/dist/handsontable.full.css +317 -304
- package/dist/handsontable.full.js +14826 -7294
- package/dist/handsontable.full.min.css +15 -10
- package/dist/handsontable.full.min.js +262 -69
- package/dist/handsontable.js +7826 -5552
- package/dist/handsontable.min.css +10 -6
- package/dist/handsontable.min.js +33 -33
- package/dist/languages/all.js +1 -1
- package/dist/languages/ar-AR.js +1 -1
- package/dist/languages/cs-CZ.js +1 -1
- package/dist/languages/de-CH.js +1 -1
- package/dist/languages/de-DE.js +1 -1
- package/dist/languages/en-US.js +1 -1
- package/dist/languages/es-MX.js +1 -1
- package/dist/languages/fr-FR.js +1 -1
- package/dist/languages/hr-HR.js +1 -1
- package/dist/languages/it-IT.js +1 -1
- package/dist/languages/ja-JP.js +1 -1
- package/dist/languages/ko-KR.js +1 -1
- package/dist/languages/lv-LV.js +1 -1
- package/dist/languages/nb-NO.js +1 -1
- package/dist/languages/nl-NL.js +1 -1
- package/dist/languages/pl-PL.js +1 -1
- package/dist/languages/pt-BR.js +1 -1
- package/dist/languages/ru-RU.js +1 -1
- package/dist/languages/sr-SP.js +1 -1
- package/dist/languages/zh-CN.js +1 -1
- package/dist/languages/zh-TW.js +1 -1
- package/editorManager.js +2 -2
- package/editorManager.mjs +2 -2
- package/editors/autocompleteEditor/autocompleteEditor.js +34 -16
- package/editors/autocompleteEditor/autocompleteEditor.mjs +34 -16
- package/editors/baseEditor/baseEditor.js +25 -18
- package/editors/baseEditor/baseEditor.mjs +26 -19
- package/editors/dateEditor/dateEditor.js +9 -0
- package/editors/dateEditor/dateEditor.mjs +10 -1
- package/editors/dropdownEditor/dropdownEditor.js +4 -3
- package/editors/dropdownEditor/dropdownEditor.mjs +3 -1
- package/editors/handsontableEditor/handsontableEditor.js +36 -2
- package/editors/handsontableEditor/handsontableEditor.mjs +36 -2
- package/editors/passwordEditor/passwordEditor.js +18 -0
- package/editors/passwordEditor/passwordEditor.mjs +18 -0
- package/editors/registry.js +2 -2
- package/editors/registry.mjs +1 -1
- package/editors/selectEditor/selectEditor.js +20 -9
- package/editors/selectEditor/selectEditor.mjs +20 -9
- package/editors/textEditor/textEditor.js +5 -12
- package/editors/textEditor/textEditor.mjs +6 -13
- package/focusManager.js +5 -7
- package/focusManager.mjs +5 -7
- package/helpers/array.js +2 -0
- package/helpers/array.mjs +2 -0
- package/helpers/data.js +3 -0
- package/helpers/data.mjs +3 -0
- package/helpers/dom/element.js +39 -18
- package/helpers/dom/element.mjs +38 -17
- package/helpers/mixed.js +3 -3
- package/helpers/mixed.mjs +3 -3
- package/helpers/moves.js +3 -0
- package/helpers/moves.mjs +3 -0
- package/helpers/number.js +1 -0
- package/helpers/number.mjs +1 -0
- package/helpers/object.js +2 -0
- package/helpers/object.mjs +2 -0
- package/helpers/themes.js +17 -0
- package/helpers/themes.mjs +13 -0
- package/i18n/index.js +2 -0
- package/i18n/languages/index.d.ts +8 -0
- package/i18n/languages/ja-JP.d.ts +1 -1
- package/i18n/phraseFormatters/substituteVariables.js +1 -0
- package/i18n/phraseFormatters/substituteVariables.mjs +1 -0
- package/index.d.ts +9 -1
- package/languages/all.js +1 -1
- package/languages/ar-AR.js +1 -1
- package/languages/cs-CZ.js +1 -1
- package/languages/de-CH.js +1 -1
- package/languages/de-DE.js +1 -1
- package/languages/en-US.js +1 -1
- package/languages/es-MX.js +1 -1
- package/languages/fr-FR.js +1 -1
- package/languages/hr-HR.js +1 -1
- package/languages/index.js +1 -1
- package/languages/it-IT.js +1 -1
- package/languages/ja-JP.js +1 -1
- package/languages/ko-KR.js +1 -1
- package/languages/lv-LV.js +1 -1
- package/languages/nb-NO.js +1 -1
- package/languages/nl-NL.js +1 -1
- package/languages/pl-PL.js +1 -1
- package/languages/pt-BR.js +1 -1
- package/languages/ru-RU.js +1 -1
- package/languages/sr-SP.js +1 -1
- package/languages/zh-CN.js +1 -1
- package/languages/zh-TW.js +1 -1
- package/package.json +22 -7
- package/plugins/autoColumnSize/autoColumnSize.js +22 -27
- package/plugins/autoColumnSize/autoColumnSize.mjs +22 -27
- package/plugins/autoRowSize/autoRowSize.js +20 -22
- package/plugins/autoRowSize/autoRowSize.mjs +21 -23
- package/plugins/autofill/autofill.js +4 -5
- package/plugins/autofill/autofill.mjs +1 -1
- package/plugins/base/base.d.ts +1 -1
- package/plugins/base/base.js +41 -0
- package/plugins/base/base.mjs +42 -1
- package/plugins/base/index.js +2 -1
- package/plugins/base/index.mjs +1 -1
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +2 -5
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +2 -5
- package/plugins/columnSorting/columnSorting.js +5 -4
- package/plugins/columnSorting/columnSorting.mjs +3 -1
- package/plugins/columnSorting/columnStatesManager.js +1 -0
- package/plugins/columnSorting/columnStatesManager.mjs +1 -0
- package/plugins/columnSorting/utils.js +3 -0
- package/plugins/columnSorting/utils.mjs +3 -0
- package/plugins/columnSummary/endpoints.js +3 -0
- package/plugins/columnSummary/endpoints.mjs +3 -0
- package/plugins/comments/commentEditor.js +9 -0
- package/plugins/comments/commentEditor.mjs +9 -0
- package/plugins/comments/comments.js +24 -18
- package/plugins/comments/comments.mjs +26 -20
- package/plugins/comments/editorResizeObserver.js +2 -0
- package/plugins/comments/editorResizeObserver.mjs +2 -0
- package/plugins/contextMenu/contextMenu.d.ts +2 -1
- package/plugins/contextMenu/contextMenu.js +6 -7
- package/plugins/contextMenu/contextMenu.mjs +1 -1
- package/plugins/contextMenu/menu/index.js +2 -0
- package/plugins/contextMenu/menu/menu.js +10 -5
- package/plugins/contextMenu/menu/menu.mjs +11 -6
- package/plugins/contextMenu/menu/positioner.js +4 -2
- package/plugins/contextMenu/menu/positioner.mjs +4 -2
- package/plugins/contextMenu/menu/shortcuts.js +3 -1
- package/plugins/contextMenu/menu/shortcuts.mjs +3 -1
- package/plugins/contextMenu/predefinedItems/alignment.js +7 -84
- package/plugins/contextMenu/predefinedItems/alignment.mjs +8 -85
- package/plugins/contextMenu/utils.js +0 -10
- package/plugins/contextMenu/utils.mjs +0 -9
- package/plugins/copyPaste/copyPaste.d.ts +1 -0
- package/plugins/copyPaste/copyPaste.js +32 -23
- package/plugins/copyPaste/copyPaste.mjs +24 -15
- package/plugins/customBorders/utils.js +2 -0
- package/plugins/customBorders/utils.mjs +2 -0
- package/plugins/dropdownMenu/dropdownMenu.d.ts +2 -1
- package/plugins/dropdownMenu/dropdownMenu.js +6 -7
- package/plugins/dropdownMenu/dropdownMenu.mjs +1 -1
- package/plugins/exportFile/types/csv.js +1 -0
- package/plugins/exportFile/types/csv.mjs +1 -0
- package/plugins/filters/component/condition.js +2 -0
- package/plugins/filters/component/condition.mjs +2 -0
- package/plugins/filters/component/operators.js +2 -0
- package/plugins/filters/component/operators.mjs +2 -0
- package/plugins/filters/component/value.js +3 -0
- package/plugins/filters/component/value.mjs +3 -0
- package/plugins/filters/conditionCollection.js +3 -0
- package/plugins/filters/conditionCollection.mjs +3 -0
- package/plugins/filters/conditionUpdateObserver.js +2 -0
- package/plugins/filters/conditionUpdateObserver.mjs +2 -0
- package/plugins/filters/filters.js +43 -13
- package/plugins/filters/filters.mjs +43 -13
- package/plugins/filters/logicalOperations/conjunction.js +2 -0
- package/plugins/filters/logicalOperations/conjunction.mjs +2 -0
- package/plugins/filters/logicalOperations/disjunction.js +2 -0
- package/plugins/filters/logicalOperations/disjunction.mjs +2 -0
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +2 -0
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.mjs +2 -0
- package/plugins/filters/menu/focusController.js +38 -14
- package/plugins/filters/menu/focusController.mjs +38 -14
- package/plugins/filters/ui/multipleSelect.js +10 -0
- package/plugins/filters/ui/multipleSelect.mjs +10 -0
- package/plugins/formulas/engine/register.js +3 -0
- package/plugins/formulas/engine/register.mjs +3 -0
- package/plugins/formulas/engine/settings.js +3 -0
- package/plugins/formulas/engine/settings.mjs +3 -0
- package/plugins/formulas/formulas.js +12 -7
- package/plugins/formulas/formulas.mjs +6 -1
- package/plugins/formulas/indexSyncer/axisSyncer.js +3 -0
- package/plugins/formulas/indexSyncer/axisSyncer.mjs +3 -0
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +2 -0
- package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +2 -0
- package/plugins/hiddenColumns/hiddenColumns.js +22 -30
- package/plugins/hiddenColumns/hiddenColumns.mjs +18 -26
- package/plugins/hiddenRows/contextMenuItem/showRow.js +2 -0
- package/plugins/hiddenRows/contextMenuItem/showRow.mjs +2 -0
- package/plugins/hiddenRows/hiddenRows.js +21 -29
- package/plugins/hiddenRows/hiddenRows.mjs +17 -25
- package/plugins/index.d.ts +3 -0
- package/plugins/index.js +3 -0
- package/plugins/index.mjs +3 -1
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +7 -5
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +3 -1
- package/plugins/manualColumnMove/manualColumnMove.js +6 -6
- package/plugins/manualColumnMove/manualColumnMove.mjs +4 -4
- package/plugins/manualColumnResize/manualColumnResize.js +26 -12
- package/plugins/manualColumnResize/manualColumnResize.mjs +26 -12
- package/plugins/manualRowMove/manualRowMove.js +8 -6
- package/plugins/manualRowMove/manualRowMove.mjs +6 -4
- package/plugins/manualRowResize/manualRowResize.js +3 -2
- package/plugins/manualRowResize/manualRowResize.mjs +4 -3
- package/plugins/mergeCells/cellsCollection.js +19 -3
- package/plugins/mergeCells/cellsCollection.mjs +20 -4
- package/plugins/mergeCells/mergeCells.d.ts +6 -2
- package/plugins/mergeCells/mergeCells.js +84 -56
- package/plugins/mergeCells/mergeCells.mjs +82 -54
- package/plugins/mergeCells/renderer.js +13 -3
- package/plugins/mergeCells/renderer.mjs +13 -3
- package/plugins/multiColumnSorting/domHelpers.js +2 -0
- package/plugins/multiColumnSorting/domHelpers.mjs +2 -0
- package/plugins/nestedHeaders/nestedHeaders.js +63 -16
- package/plugins/nestedHeaders/nestedHeaders.mjs +63 -16
- package/plugins/nestedHeaders/stateManager/index.js +1 -0
- package/plugins/nestedHeaders/stateManager/index.mjs +1 -0
- package/plugins/nestedRows/nestedRows.js +3 -0
- package/plugins/nestedRows/nestedRows.mjs +3 -0
- package/plugins/nestedRows/ui/headers.js +7 -1
- package/plugins/nestedRows/ui/headers.mjs +7 -1
- package/plugins/nestedRows/utils/rowMoveController.js +4 -0
- package/plugins/nestedRows/utils/rowMoveController.mjs +4 -0
- package/plugins/persistentState/persistentState.js +4 -4
- package/plugins/persistentState/persistentState.mjs +1 -1
- package/plugins/stretchColumns/calculator.js +162 -0
- package/plugins/stretchColumns/calculator.mjs +158 -0
- package/plugins/stretchColumns/index.d.ts +1 -0
- package/plugins/stretchColumns/index.js +7 -0
- package/plugins/stretchColumns/index.mjs +1 -0
- package/plugins/stretchColumns/strategies/_base.js +85 -0
- package/plugins/stretchColumns/strategies/_base.mjs +81 -0
- package/plugins/stretchColumns/strategies/all.js +71 -0
- package/plugins/stretchColumns/strategies/all.mjs +67 -0
- package/plugins/stretchColumns/strategies/last.js +79 -0
- package/plugins/stretchColumns/strategies/last.mjs +75 -0
- package/plugins/stretchColumns/stretchColumns.d.ts +11 -0
- package/plugins/stretchColumns/stretchColumns.js +222 -0
- package/plugins/stretchColumns/stretchColumns.mjs +218 -0
- package/plugins/trimRows/trimRows.js +2 -0
- package/plugins/trimRows/trimRows.mjs +2 -0
- package/plugins/undoRedo/undoRedo.js +9 -5
- package/plugins/undoRedo/undoRedo.mjs +8 -3
- package/renderers/checkboxRenderer/checkboxRenderer.js +19 -8
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +18 -7
- package/selection/index.js +2 -0
- package/selection/range.js +2 -0
- package/selection/range.mjs +2 -0
- package/selection/selection.js +7 -2
- package/selection/selection.mjs +7 -2
- package/selection/utils.js +2 -0
- package/selection/utils.mjs +2 -0
- package/settings.d.ts +4 -1
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +1 -1
- package/shortcutContexts/commands/index.js +2 -0
- package/shortcutContexts/commands/index.mjs +2 -0
- package/shortcutContexts/commands/scrollToFocusedCell.js +4 -4
- package/shortcutContexts/commands/scrollToFocusedCell.mjs +4 -4
- package/shortcutContexts/index.js +2 -0
- package/shortcutContexts/index.mjs +2 -0
- package/shortcuts/context.js +3 -0
- package/shortcuts/context.mjs +3 -0
- package/shortcuts/recorder.js +3 -3
- package/shortcuts/recorder.mjs +3 -3
- package/shortcuts/utils.js +1 -0
- package/shortcuts/utils.mjs +1 -0
- package/styles/handsontable.css +2307 -0
- package/styles/handsontable.min.css +30 -0
- package/styles/ht-theme-horizon.css +607 -0
- package/styles/ht-theme-horizon.min.css +30 -0
- package/styles/ht-theme-main.css +613 -0
- package/styles/ht-theme-main.min.css +30 -0
- package/tableView.js +205 -33
- package/tableView.mjs +206 -34
- package/translations/changesObservable/observable.js +2 -0
- package/translations/changesObservable/observable.mjs +2 -0
- package/translations/index.js +2 -0
- package/translations/indexMapper.js +4 -0
- package/translations/indexMapper.mjs +4 -0
- package/translations/mapCollections/index.js +2 -0
- package/translations/mapCollections/mapCollection.js +2 -0
- package/translations/mapCollections/mapCollection.mjs +2 -0
- package/translations/maps/index.js +2 -0
- package/translations/maps/linkedPhysicalIndexToValueMap.js +1 -0
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +1 -0
- package/translations/maps/utils/actionsOnIndexes.js +2 -0
- package/translations/maps/utils/actionsOnIndexes.mjs +2 -0
- package/translations/maps/utils/physicallyIndexed.js +1 -0
- package/translations/maps/utils/physicallyIndexed.mjs +1 -0
- package/utils/autoResize.js +11 -3
- package/utils/autoResize.mjs +11 -3
- package/utils/dataStructures/priorityMap.js +1 -0
- package/utils/dataStructures/priorityMap.mjs +1 -0
- package/utils/dataStructures/uniqueMap.js +2 -0
- package/utils/dataStructures/uniqueMap.mjs +2 -0
- package/utils/ghostTable.js +7 -3
- package/utils/ghostTable.mjs +7 -3
- package/utils/parseTable.js +4 -0
- package/utils/parseTable.mjs +4 -0
- package/3rdparty/walkontable/src/selection/border/constants.js +0 -15
- package/3rdparty/walkontable/src/selection/border/constants.mjs +0 -12
- package/3rdparty/walkontable/src/utils/columnStretching.js +0 -197
- package/3rdparty/walkontable/src/utils/columnStretching.mjs +0 -193
@@ -10,10 +10,9 @@ var _utils = require("../contextMenu/utils");
|
|
10
10
|
var _element = require("../../helpers/dom/element");
|
11
11
|
var _itemsFactory = require("../contextMenu/itemsFactory");
|
12
12
|
var _menu = require("../contextMenu/menu");
|
13
|
-
var
|
13
|
+
var _hooks = require("../../core/hooks");
|
14
14
|
var _predefinedItems = require("../contextMenu/predefinedItems");
|
15
15
|
var _a11y = require("../../helpers/a11y");
|
16
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
17
16
|
function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
|
18
17
|
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
19
18
|
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
@@ -23,11 +22,11 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
|
|
23
22
|
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
24
23
|
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
25
24
|
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
25
|
+
_hooks.Hooks.getSingleton().register('afterDropdownMenuDefaultOptions');
|
26
|
+
_hooks.Hooks.getSingleton().register('beforeDropdownMenuShow');
|
27
|
+
_hooks.Hooks.getSingleton().register('afterDropdownMenuShow');
|
28
|
+
_hooks.Hooks.getSingleton().register('afterDropdownMenuHide');
|
29
|
+
_hooks.Hooks.getSingleton().register('afterDropdownMenuExecute');
|
31
30
|
const PLUGIN_KEY = exports.PLUGIN_KEY = 'dropdownMenu';
|
32
31
|
const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 230;
|
33
32
|
const BUTTON_CLASS_NAME = 'changeType';
|
@@ -16,7 +16,7 @@ import { getDocumentOffsetByElement } from "../contextMenu/utils.mjs";
|
|
16
16
|
import { hasClass, setAttribute } from "../../helpers/dom/element.mjs";
|
17
17
|
import { ItemsFactory } from "../contextMenu/itemsFactory.mjs";
|
18
18
|
import { Menu } from "../contextMenu/menu/index.mjs";
|
19
|
-
import Hooks from "../../
|
19
|
+
import { Hooks } from "../../core/hooks/index.mjs";
|
20
20
|
import { COLUMN_LEFT, COLUMN_RIGHT, REMOVE_COLUMN, CLEAR_COLUMN, READ_ONLY, ALIGNMENT, SEPARATOR } from "../contextMenu/predefinedItems/index.mjs";
|
21
21
|
import { A11Y_HASPOPUP, A11Y_HIDDEN, A11Y_LABEL } from "../../helpers/a11y.mjs";
|
22
22
|
Hooks.getSingleton().register('afterDropdownMenuDefaultOptions');
|
@@ -3,6 +3,8 @@
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
require("core-js/modules/es.error.cause.js");
|
5
5
|
require("core-js/modules/es.array.push.js");
|
6
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
7
|
+
require("core-js/modules/esnext.iterator.filter.js");
|
6
8
|
var _element = require("../../../helpers/dom/element");
|
7
9
|
var _event = require("../../../helpers/dom/event");
|
8
10
|
var _array = require("../../../helpers/array");
|
@@ -1,5 +1,7 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
2
|
import "core-js/modules/es.array.push.js";
|
3
|
+
import "core-js/modules/esnext.iterator.constructor.js";
|
4
|
+
import "core-js/modules/esnext.iterator.filter.js";
|
3
5
|
function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
|
4
6
|
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
5
7
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
@@ -3,6 +3,8 @@
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
require("core-js/modules/es.error.cause.js");
|
5
5
|
require("core-js/modules/es.array.push.js");
|
6
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
7
|
+
require("core-js/modules/esnext.iterator.find.js");
|
6
8
|
var _element = require("../../../helpers/dom/element");
|
7
9
|
var _array = require("../../../helpers/array");
|
8
10
|
var _templateLiteralTag = require("../../../helpers/templateLiteralTag");
|
@@ -1,5 +1,7 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
2
|
import "core-js/modules/es.array.push.js";
|
3
|
+
import "core-js/modules/esnext.iterator.constructor.js";
|
4
|
+
import "core-js/modules/esnext.iterator.find.js";
|
3
5
|
function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
|
4
6
|
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
5
7
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
@@ -3,6 +3,9 @@
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
require("core-js/modules/es.error.cause.js");
|
5
5
|
require("core-js/modules/es.array.push.js");
|
6
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
7
|
+
require("core-js/modules/esnext.iterator.filter.js");
|
8
|
+
require("core-js/modules/esnext.iterator.map.js");
|
6
9
|
var _element = require("../../../helpers/dom/element");
|
7
10
|
var _event = require("../../../helpers/dom/event");
|
8
11
|
var _array = require("../../../helpers/array");
|
@@ -1,5 +1,8 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
2
|
import "core-js/modules/es.array.push.js";
|
3
|
+
import "core-js/modules/esnext.iterator.constructor.js";
|
4
|
+
import "core-js/modules/esnext.iterator.filter.js";
|
5
|
+
import "core-js/modules/esnext.iterator.map.js";
|
3
6
|
function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
|
4
7
|
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
5
8
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
@@ -3,6 +3,9 @@
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
require("core-js/modules/es.error.cause.js");
|
5
5
|
require("core-js/modules/es.array.push.js");
|
6
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
7
|
+
require("core-js/modules/esnext.iterator.map.js");
|
8
|
+
require("core-js/modules/esnext.iterator.some.js");
|
6
9
|
var _array = require("../../helpers/array");
|
7
10
|
var _object = require("../../helpers/object");
|
8
11
|
var _templateLiteralTag = require("../../helpers/templateLiteralTag");
|
@@ -1,5 +1,8 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
2
|
import "core-js/modules/es.array.push.js";
|
3
|
+
import "core-js/modules/esnext.iterator.constructor.js";
|
4
|
+
import "core-js/modules/esnext.iterator.map.js";
|
5
|
+
import "core-js/modules/esnext.iterator.some.js";
|
3
6
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
4
7
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
5
8
|
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); }
|
@@ -3,6 +3,8 @@
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
require("core-js/modules/es.error.cause.js");
|
5
5
|
require("core-js/modules/es.array.push.js");
|
6
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
7
|
+
require("core-js/modules/esnext.iterator.filter.js");
|
6
8
|
var _array = require("../../helpers/array");
|
7
9
|
var _object = require("../../helpers/object");
|
8
10
|
var _function = require("../../helpers/function");
|
@@ -1,5 +1,7 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
2
|
import "core-js/modules/es.array.push.js";
|
3
|
+
import "core-js/modules/esnext.iterator.constructor.js";
|
4
|
+
import "core-js/modules/esnext.iterator.filter.js";
|
3
5
|
function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
|
4
6
|
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
5
7
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
@@ -4,6 +4,10 @@ exports.__esModule = true;
|
|
4
4
|
require("core-js/modules/es.error.cause.js");
|
5
5
|
require("core-js/modules/es.array.push.js");
|
6
6
|
require("core-js/modules/es.array.unscopables.flat.js");
|
7
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
8
|
+
require("core-js/modules/esnext.iterator.filter.js");
|
9
|
+
require("core-js/modules/esnext.iterator.for-each.js");
|
10
|
+
require("core-js/modules/esnext.iterator.map.js");
|
7
11
|
var _base = require("../base");
|
8
12
|
var _array = require("../../helpers/array");
|
9
13
|
var _templateLiteralTag = require("../../helpers/templateLiteralTag");
|
@@ -76,6 +80,7 @@ const SHORTCUTS_GROUP = PLUGIN_KEY;
|
|
76
80
|
* :::
|
77
81
|
*/
|
78
82
|
var _menuFocusNavigator = /*#__PURE__*/new WeakMap();
|
83
|
+
var _dropdownMenuTraces = /*#__PURE__*/new WeakMap();
|
79
84
|
var _Filters_brand = /*#__PURE__*/new WeakSet();
|
80
85
|
class Filters extends _base.BasePlugin {
|
81
86
|
static get PLUGIN_KEY() {
|
@@ -139,6 +144,12 @@ class Filters extends _base.BasePlugin {
|
|
139
144
|
* @type {MenuFocusNavigator|undefined}
|
140
145
|
*/
|
141
146
|
_classPrivateFieldInitSpec(this, _menuFocusNavigator, void 0);
|
147
|
+
/**
|
148
|
+
* Traces the new menu instances to apply the focus navigation to the latest one.
|
149
|
+
*
|
150
|
+
* @type {WeakSet<Menu>}
|
151
|
+
*/
|
152
|
+
_classPrivateFieldInitSpec(this, _dropdownMenuTraces, new WeakSet());
|
142
153
|
this.hot.addHook('afterGetColHeader', (col, TH) => _assertClassBrand(_Filters_brand, this, _onAfterGetColHeader).call(this, col, TH));
|
143
154
|
}
|
144
155
|
|
@@ -157,6 +168,7 @@ class Filters extends _base.BasePlugin {
|
|
157
168
|
* Enables the plugin functionality for this Handsontable instance.
|
158
169
|
*/
|
159
170
|
enablePlugin() {
|
171
|
+
var _this = this;
|
160
172
|
if (this.enabled) {
|
161
173
|
return;
|
162
174
|
}
|
@@ -218,7 +230,13 @@ class Filters extends _base.BasePlugin {
|
|
218
230
|
this.conditionUpdateObserver.addLocalHook('update', conditionState => _assertClassBrand(_Filters_brand, this, _updateComponents).call(this, conditionState));
|
219
231
|
}
|
220
232
|
this.components.forEach(component => component.show());
|
221
|
-
this.addHook('afterDropdownMenuDefaultOptions',
|
233
|
+
this.addHook('afterDropdownMenuDefaultOptions', function () {
|
234
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
235
|
+
args[_key] = arguments[_key];
|
236
|
+
}
|
237
|
+
return _assertClassBrand(_Filters_brand, _this, _onAfterDropdownMenuDefaultOptions).call(_this, ...args);
|
238
|
+
});
|
239
|
+
this.addHook('beforeDropdownMenuShow', () => _assertClassBrand(_Filters_brand, this, _onBeforeDropdownMenuShow).call(this));
|
222
240
|
this.addHook('afterDropdownMenuShow', () => _assertClassBrand(_Filters_brand, this, _onAfterDropdownMenuShow).call(this));
|
223
241
|
this.addHook('afterDropdownMenuHide', () => _assertClassBrand(_Filters_brand, this, _onAfterDropdownMenuHide).call(this));
|
224
242
|
this.addHook('afterChange', changes => _assertClassBrand(_Filters_brand, this, _onAfterChange).call(this, changes));
|
@@ -229,15 +247,15 @@ class Filters extends _base.BasePlugin {
|
|
229
247
|
this.dropdownMenuPlugin.enablePlugin();
|
230
248
|
}
|
231
249
|
if (!_classPrivateFieldGet(_menuFocusNavigator, this) && this.dropdownMenuPlugin.enabled) {
|
232
|
-
const mainMenu = this.dropdownMenuPlugin.menu;
|
233
250
|
const focusableItems = [
|
234
251
|
// A fake menu item that once focused allows escaping from the focus navigation (using Tab keys)
|
235
252
|
// to the menu navigation using arrow keys.
|
236
253
|
{
|
237
254
|
focus: () => {
|
238
|
-
const
|
255
|
+
const menu = _classPrivateFieldGet(_menuFocusNavigator, this).getMenu();
|
256
|
+
const menuNavigator = menu.getNavigator();
|
239
257
|
const lastSelectedMenuItem = _classPrivateFieldGet(_menuFocusNavigator, this).getLastMenuPage();
|
240
|
-
|
258
|
+
menu.focus();
|
241
259
|
if (lastSelectedMenuItem > 0) {
|
242
260
|
menuNavigator.setCurrentPage(lastSelectedMenuItem);
|
243
261
|
} else {
|
@@ -248,7 +266,7 @@ class Filters extends _base.BasePlugin {
|
|
248
266
|
let [, component] = _ref;
|
249
267
|
return component.getElements();
|
250
268
|
}).flat()];
|
251
|
-
_classPrivateFieldSet(_menuFocusNavigator, this, (0, _focusController.createMenuFocusController)(
|
269
|
+
_classPrivateFieldSet(_menuFocusNavigator, this, (0, _focusController.createMenuFocusController)(this.dropdownMenuPlugin.menu, focusableItems));
|
252
270
|
const forwardToFocusNavigation = event => {
|
253
271
|
_classPrivateFieldGet(_menuFocusNavigator, this).listen();
|
254
272
|
event.preventDefault();
|
@@ -706,8 +724,8 @@ class Filters extends _base.BasePlugin {
|
|
706
724
|
return indexes;
|
707
725
|
}
|
708
726
|
const menu = this.dropdownMenuPlugin.menu;
|
709
|
-
for (var
|
710
|
-
components[
|
727
|
+
for (var _len2 = arguments.length, components = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
728
|
+
components[_key2] = arguments[_key2];
|
711
729
|
}
|
712
730
|
(0, _array.arrayEach)(components, component => {
|
713
731
|
(0, _array.arrayEach)(menu.menuItems, (item, index) => {
|
@@ -734,8 +752,8 @@ class Filters extends _base.BasePlugin {
|
|
734
752
|
const menu = this.dropdownMenuPlugin.menu;
|
735
753
|
const hotMenu = menu.hotMenu;
|
736
754
|
const hiddenRows = hotMenu.getPlugin('hiddenRows');
|
737
|
-
for (var
|
738
|
-
components[
|
755
|
+
for (var _len3 = arguments.length, components = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
|
756
|
+
components[_key3 - 1] = arguments[_key3];
|
739
757
|
}
|
740
758
|
const indexes = this.getIndexesOfComponents(...components);
|
741
759
|
if (visible) {
|
@@ -753,8 +771,8 @@ class Filters extends _base.BasePlugin {
|
|
753
771
|
* @param {...BaseComponent} components List of components.
|
754
772
|
*/
|
755
773
|
hideComponents() {
|
756
|
-
for (var
|
757
|
-
components[
|
774
|
+
for (var _len4 = arguments.length, components = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
|
775
|
+
components[_key4] = arguments[_key4];
|
758
776
|
}
|
759
777
|
this.changeComponentsVisibility(false, ...components);
|
760
778
|
}
|
@@ -766,8 +784,8 @@ class Filters extends _base.BasePlugin {
|
|
766
784
|
* @param {...BaseComponent} components List of components.
|
767
785
|
*/
|
768
786
|
showComponents() {
|
769
|
-
for (var
|
770
|
-
components[
|
787
|
+
for (var _len5 = arguments.length, components = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
|
788
|
+
components[_key5] = arguments[_key5];
|
771
789
|
}
|
772
790
|
this.changeComponentsVisibility(true, ...components);
|
773
791
|
}
|
@@ -814,6 +832,16 @@ function _onAfterDropdownMenuHide() {
|
|
814
832
|
this.components.get('filter_by_condition').getSelectElement().closeOptions();
|
815
833
|
this.components.get('filter_by_condition2').getSelectElement().closeOptions();
|
816
834
|
}
|
835
|
+
/**
|
836
|
+
* Hooks applies the new dropdown menu instance to the focus navigator.
|
837
|
+
*/
|
838
|
+
function _onBeforeDropdownMenuShow() {
|
839
|
+
const mainMenu = this.dropdownMenuPlugin.menu;
|
840
|
+
if (!_classPrivateFieldGet(_dropdownMenuTraces, this).has(mainMenu)) {
|
841
|
+
_classPrivateFieldGet(_menuFocusNavigator, this).setMenu(mainMenu);
|
842
|
+
}
|
843
|
+
_classPrivateFieldGet(_dropdownMenuTraces, this).add(mainMenu);
|
844
|
+
}
|
817
845
|
/**
|
818
846
|
* After dropdown menu default options listener.
|
819
847
|
*
|
@@ -872,10 +900,12 @@ function _onActionBarSubmit(submitType) {
|
|
872
900
|
* @param {object} command Menu item object (command).
|
873
901
|
*/
|
874
902
|
function _onComponentChange(component, command) {
|
903
|
+
const menu = this.dropdownMenuPlugin.menu;
|
875
904
|
this.updateDependentComponentsVisibility();
|
876
905
|
if (component.constructor === _condition.ConditionComponent && !command.inputsCount) {
|
877
906
|
this.setListeningDropdownMenu();
|
878
907
|
}
|
908
|
+
menu.updateMenuDimensions();
|
879
909
|
}
|
880
910
|
/**
|
881
911
|
* On component SelectUI closed listener.
|
@@ -1,6 +1,10 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
2
|
import "core-js/modules/es.array.push.js";
|
3
3
|
import "core-js/modules/es.array.unscopables.flat.js";
|
4
|
+
import "core-js/modules/esnext.iterator.constructor.js";
|
5
|
+
import "core-js/modules/esnext.iterator.filter.js";
|
6
|
+
import "core-js/modules/esnext.iterator.for-each.js";
|
7
|
+
import "core-js/modules/esnext.iterator.map.js";
|
4
8
|
function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
|
5
9
|
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
6
10
|
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
@@ -70,6 +74,7 @@ const SHORTCUTS_GROUP = PLUGIN_KEY;
|
|
70
74
|
* :::
|
71
75
|
*/
|
72
76
|
var _menuFocusNavigator = /*#__PURE__*/new WeakMap();
|
77
|
+
var _dropdownMenuTraces = /*#__PURE__*/new WeakMap();
|
73
78
|
var _Filters_brand = /*#__PURE__*/new WeakSet();
|
74
79
|
export class Filters extends BasePlugin {
|
75
80
|
static get PLUGIN_KEY() {
|
@@ -133,6 +138,12 @@ export class Filters extends BasePlugin {
|
|
133
138
|
* @type {MenuFocusNavigator|undefined}
|
134
139
|
*/
|
135
140
|
_classPrivateFieldInitSpec(this, _menuFocusNavigator, void 0);
|
141
|
+
/**
|
142
|
+
* Traces the new menu instances to apply the focus navigation to the latest one.
|
143
|
+
*
|
144
|
+
* @type {WeakSet<Menu>}
|
145
|
+
*/
|
146
|
+
_classPrivateFieldInitSpec(this, _dropdownMenuTraces, new WeakSet());
|
136
147
|
this.hot.addHook('afterGetColHeader', (col, TH) => _assertClassBrand(_Filters_brand, this, _onAfterGetColHeader).call(this, col, TH));
|
137
148
|
}
|
138
149
|
|
@@ -151,6 +162,7 @@ export class Filters extends BasePlugin {
|
|
151
162
|
* Enables the plugin functionality for this Handsontable instance.
|
152
163
|
*/
|
153
164
|
enablePlugin() {
|
165
|
+
var _this = this;
|
154
166
|
if (this.enabled) {
|
155
167
|
return;
|
156
168
|
}
|
@@ -212,7 +224,13 @@ export class Filters extends BasePlugin {
|
|
212
224
|
this.conditionUpdateObserver.addLocalHook('update', conditionState => _assertClassBrand(_Filters_brand, this, _updateComponents).call(this, conditionState));
|
213
225
|
}
|
214
226
|
this.components.forEach(component => component.show());
|
215
|
-
this.addHook('afterDropdownMenuDefaultOptions',
|
227
|
+
this.addHook('afterDropdownMenuDefaultOptions', function () {
|
228
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
229
|
+
args[_key] = arguments[_key];
|
230
|
+
}
|
231
|
+
return _assertClassBrand(_Filters_brand, _this, _onAfterDropdownMenuDefaultOptions).call(_this, ...args);
|
232
|
+
});
|
233
|
+
this.addHook('beforeDropdownMenuShow', () => _assertClassBrand(_Filters_brand, this, _onBeforeDropdownMenuShow).call(this));
|
216
234
|
this.addHook('afterDropdownMenuShow', () => _assertClassBrand(_Filters_brand, this, _onAfterDropdownMenuShow).call(this));
|
217
235
|
this.addHook('afterDropdownMenuHide', () => _assertClassBrand(_Filters_brand, this, _onAfterDropdownMenuHide).call(this));
|
218
236
|
this.addHook('afterChange', changes => _assertClassBrand(_Filters_brand, this, _onAfterChange).call(this, changes));
|
@@ -223,15 +241,15 @@ export class Filters extends BasePlugin {
|
|
223
241
|
this.dropdownMenuPlugin.enablePlugin();
|
224
242
|
}
|
225
243
|
if (!_classPrivateFieldGet(_menuFocusNavigator, this) && this.dropdownMenuPlugin.enabled) {
|
226
|
-
const mainMenu = this.dropdownMenuPlugin.menu;
|
227
244
|
const focusableItems = [
|
228
245
|
// A fake menu item that once focused allows escaping from the focus navigation (using Tab keys)
|
229
246
|
// to the menu navigation using arrow keys.
|
230
247
|
{
|
231
248
|
focus: () => {
|
232
|
-
const
|
249
|
+
const menu = _classPrivateFieldGet(_menuFocusNavigator, this).getMenu();
|
250
|
+
const menuNavigator = menu.getNavigator();
|
233
251
|
const lastSelectedMenuItem = _classPrivateFieldGet(_menuFocusNavigator, this).getLastMenuPage();
|
234
|
-
|
252
|
+
menu.focus();
|
235
253
|
if (lastSelectedMenuItem > 0) {
|
236
254
|
menuNavigator.setCurrentPage(lastSelectedMenuItem);
|
237
255
|
} else {
|
@@ -242,7 +260,7 @@ export class Filters extends BasePlugin {
|
|
242
260
|
let [, component] = _ref;
|
243
261
|
return component.getElements();
|
244
262
|
}).flat()];
|
245
|
-
_classPrivateFieldSet(_menuFocusNavigator, this, createMenuFocusController(
|
263
|
+
_classPrivateFieldSet(_menuFocusNavigator, this, createMenuFocusController(this.dropdownMenuPlugin.menu, focusableItems));
|
246
264
|
const forwardToFocusNavigation = event => {
|
247
265
|
_classPrivateFieldGet(_menuFocusNavigator, this).listen();
|
248
266
|
event.preventDefault();
|
@@ -700,8 +718,8 @@ export class Filters extends BasePlugin {
|
|
700
718
|
return indexes;
|
701
719
|
}
|
702
720
|
const menu = this.dropdownMenuPlugin.menu;
|
703
|
-
for (var
|
704
|
-
components[
|
721
|
+
for (var _len2 = arguments.length, components = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
722
|
+
components[_key2] = arguments[_key2];
|
705
723
|
}
|
706
724
|
arrayEach(components, component => {
|
707
725
|
arrayEach(menu.menuItems, (item, index) => {
|
@@ -728,8 +746,8 @@ export class Filters extends BasePlugin {
|
|
728
746
|
const menu = this.dropdownMenuPlugin.menu;
|
729
747
|
const hotMenu = menu.hotMenu;
|
730
748
|
const hiddenRows = hotMenu.getPlugin('hiddenRows');
|
731
|
-
for (var
|
732
|
-
components[
|
749
|
+
for (var _len3 = arguments.length, components = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
|
750
|
+
components[_key3 - 1] = arguments[_key3];
|
733
751
|
}
|
734
752
|
const indexes = this.getIndexesOfComponents(...components);
|
735
753
|
if (visible) {
|
@@ -747,8 +765,8 @@ export class Filters extends BasePlugin {
|
|
747
765
|
* @param {...BaseComponent} components List of components.
|
748
766
|
*/
|
749
767
|
hideComponents() {
|
750
|
-
for (var
|
751
|
-
components[
|
768
|
+
for (var _len4 = arguments.length, components = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
|
769
|
+
components[_key4] = arguments[_key4];
|
752
770
|
}
|
753
771
|
this.changeComponentsVisibility(false, ...components);
|
754
772
|
}
|
@@ -760,8 +778,8 @@ export class Filters extends BasePlugin {
|
|
760
778
|
* @param {...BaseComponent} components List of components.
|
761
779
|
*/
|
762
780
|
showComponents() {
|
763
|
-
for (var
|
764
|
-
components[
|
781
|
+
for (var _len5 = arguments.length, components = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
|
782
|
+
components[_key5] = arguments[_key5];
|
765
783
|
}
|
766
784
|
this.changeComponentsVisibility(true, ...components);
|
767
785
|
}
|
@@ -807,6 +825,16 @@ function _onAfterDropdownMenuHide() {
|
|
807
825
|
this.components.get('filter_by_condition').getSelectElement().closeOptions();
|
808
826
|
this.components.get('filter_by_condition2').getSelectElement().closeOptions();
|
809
827
|
}
|
828
|
+
/**
|
829
|
+
* Hooks applies the new dropdown menu instance to the focus navigator.
|
830
|
+
*/
|
831
|
+
function _onBeforeDropdownMenuShow() {
|
832
|
+
const mainMenu = this.dropdownMenuPlugin.menu;
|
833
|
+
if (!_classPrivateFieldGet(_dropdownMenuTraces, this).has(mainMenu)) {
|
834
|
+
_classPrivateFieldGet(_menuFocusNavigator, this).setMenu(mainMenu);
|
835
|
+
}
|
836
|
+
_classPrivateFieldGet(_dropdownMenuTraces, this).add(mainMenu);
|
837
|
+
}
|
810
838
|
/**
|
811
839
|
* After dropdown menu default options listener.
|
812
840
|
*
|
@@ -865,10 +893,12 @@ function _onActionBarSubmit(submitType) {
|
|
865
893
|
* @param {object} command Menu item object (command).
|
866
894
|
*/
|
867
895
|
function _onComponentChange(component, command) {
|
896
|
+
const menu = this.dropdownMenuPlugin.menu;
|
868
897
|
this.updateDependentComponentsVisibility();
|
869
898
|
if (component.constructor === ConditionComponent && !command.inputsCount) {
|
870
899
|
this.setListeningDropdownMenu();
|
871
900
|
}
|
901
|
+
menu.updateMenuDimensions();
|
872
902
|
}
|
873
903
|
/**
|
874
904
|
* On component SelectUI closed listener.
|
@@ -2,6 +2,8 @@
|
|
2
2
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
exports.operationResult = operationResult;
|
5
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
6
|
+
require("core-js/modules/esnext.iterator.every.js");
|
5
7
|
var C = _interopRequireWildcard(require("../../../i18n/constants"));
|
6
8
|
var _logicalOperationRegisterer = require("../logicalOperationRegisterer");
|
7
9
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
@@ -1,3 +1,5 @@
|
|
1
|
+
import "core-js/modules/esnext.iterator.constructor.js";
|
2
|
+
import "core-js/modules/esnext.iterator.every.js";
|
1
3
|
import * as C from "../../../i18n/constants.mjs";
|
2
4
|
import { registerOperation } from "../logicalOperationRegisterer.mjs";
|
3
5
|
export const OPERATION_ID = 'conjunction';
|
@@ -2,6 +2,8 @@
|
|
2
2
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
exports.operationResult = operationResult;
|
5
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
6
|
+
require("core-js/modules/esnext.iterator.some.js");
|
5
7
|
var C = _interopRequireWildcard(require("../../../i18n/constants"));
|
6
8
|
var _logicalOperationRegisterer = require("../logicalOperationRegisterer");
|
7
9
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
@@ -1,3 +1,5 @@
|
|
1
|
+
import "core-js/modules/esnext.iterator.constructor.js";
|
2
|
+
import "core-js/modules/esnext.iterator.some.js";
|
1
3
|
import * as C from "../../../i18n/constants.mjs";
|
2
4
|
import { registerOperation } from "../logicalOperationRegisterer.mjs";
|
3
5
|
export const OPERATION_ID = 'disjunction';
|
@@ -3,6 +3,8 @@
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
exports.operationResult = operationResult;
|
5
5
|
require("core-js/modules/es.error.cause.js");
|
6
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
7
|
+
require("core-js/modules/esnext.iterator.some.js");
|
6
8
|
var C = _interopRequireWildcard(require("../../../i18n/constants"));
|
7
9
|
var _logicalOperationRegisterer = require("../logicalOperationRegisterer");
|
8
10
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
@@ -1,4 +1,6 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
|
+
import "core-js/modules/esnext.iterator.constructor.js";
|
3
|
+
import "core-js/modules/esnext.iterator.some.js";
|
2
4
|
import * as C from "../../../i18n/constants.mjs";
|
3
5
|
import { registerOperation } from "../logicalOperationRegisterer.mjs";
|
4
6
|
export const OPERATION_ID = 'disjunctionWithExtraCondition';
|
@@ -2,6 +2,8 @@
|
|
2
2
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
exports.createMenuFocusController = createMenuFocusController;
|
5
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
6
|
+
require("core-js/modules/esnext.iterator.for-each.js");
|
5
7
|
var _focusNavigator = require("./focusNavigator");
|
6
8
|
var _select = require("../ui/select");
|
7
9
|
var _base = require("../ui/_base");
|
@@ -32,10 +34,11 @@ function createMenuFocusController(mainMenu, menuItems) {
|
|
32
34
|
* into the focus mode triggered by the TAB or SHIFT+TAB keys).
|
33
35
|
*/
|
34
36
|
let lastSelectedMenuItem = -1;
|
37
|
+
let menuInstance;
|
35
38
|
const focusNavigator = (0, _focusNavigator.createFocusNavigator)(menuItems);
|
36
39
|
const updateNavigatorPosition = element => () => {
|
37
|
-
if (
|
38
|
-
|
40
|
+
if (menuInstance.isOpened()) {
|
41
|
+
menuInstance.getKeyboardShortcutsCtrl().listen(SHORTCUTS_MENU_CONTEXT);
|
39
42
|
}
|
40
43
|
focusNavigator.setCurrentPage(menuItems.indexOf(element));
|
41
44
|
};
|
@@ -48,11 +51,7 @@ function createMenuFocusController(mainMenu, menuItems) {
|
|
48
51
|
element.addLocalHook('afterClose', updateNavigatorPosition(element));
|
49
52
|
}
|
50
53
|
});
|
51
|
-
mainMenu
|
52
|
-
if (!selectedItem.key.startsWith('filter_')) {
|
53
|
-
focusNavigator.clear();
|
54
|
-
}
|
55
|
-
});
|
54
|
+
setMenu(mainMenu);
|
56
55
|
|
57
56
|
/**
|
58
57
|
* Extends the menu and submenus with new keyboard shortcuts.
|
@@ -60,7 +59,7 @@ function createMenuFocusController(mainMenu, menuItems) {
|
|
60
59
|
* @param {*} menu The menu (as main menu or submenu) instance.
|
61
60
|
*/
|
62
61
|
function addKeyboardShortcuts(menu) {
|
63
|
-
const mainMenuShortcutsCtrl =
|
62
|
+
const mainMenuShortcutsCtrl = menuInstance.getKeyboardShortcutsCtrl();
|
64
63
|
const currentMenuShortcutsCtrl = menu.getKeyboardShortcutsCtrl();
|
65
64
|
focusNavigator.clear();
|
66
65
|
currentMenuShortcutsCtrl.addCustomShortcuts([{
|
@@ -79,7 +78,7 @@ function createMenuFocusController(mainMenu, menuItems) {
|
|
79
78
|
mainMenuShortcutsCtrl.addCustomShortcuts([{
|
80
79
|
keys: [['Tab'], ['Shift', 'Tab']],
|
81
80
|
callback: event => {
|
82
|
-
const menuNavigator =
|
81
|
+
const menuNavigator = menuInstance.getNavigator();
|
83
82
|
if (menuNavigator.getCurrentPage() > -1) {
|
84
83
|
lastSelectedMenuItem = menuNavigator.getCurrentPage();
|
85
84
|
}
|
@@ -93,7 +92,7 @@ function createMenuFocusController(mainMenu, menuItems) {
|
|
93
92
|
}, {
|
94
93
|
keys: [['Escape']],
|
95
94
|
callback: () => {
|
96
|
-
|
95
|
+
menuInstance.close();
|
97
96
|
}
|
98
97
|
}, {
|
99
98
|
keys: [['Enter'], ['Space']],
|
@@ -114,16 +113,39 @@ function createMenuFocusController(mainMenu, menuItems) {
|
|
114
113
|
}
|
115
114
|
}], SHORTCUTS_MENU_CONTEXT);
|
116
115
|
}
|
117
|
-
mainMenu.addLocalHook('afterSubmenuOpen', addKeyboardShortcuts);
|
118
|
-
mainMenu.addLocalHook('afterOpen', addKeyboardShortcuts);
|
119
116
|
|
120
117
|
/**
|
121
118
|
* Focuses the menu and switches its shortcut context to that one which controls
|
122
119
|
* the focus navigation.
|
123
120
|
*/
|
124
121
|
function listen() {
|
125
|
-
|
126
|
-
|
122
|
+
menuInstance.focus();
|
123
|
+
menuInstance.getKeyboardShortcutsCtrl().listen(SHORTCUTS_MENU_CONTEXT);
|
124
|
+
}
|
125
|
+
|
126
|
+
/**
|
127
|
+
* Applies the focus controller to the new menu instance.
|
128
|
+
*
|
129
|
+
* @param {Menu} menu The new menu instance.
|
130
|
+
*/
|
131
|
+
function setMenu(menu) {
|
132
|
+
menu.addLocalHook('afterSelectionChange', selectedItem => {
|
133
|
+
if (!selectedItem.key.startsWith('filter_')) {
|
134
|
+
focusNavigator.clear();
|
135
|
+
}
|
136
|
+
});
|
137
|
+
menu.addLocalHook('afterSubmenuOpen', addKeyboardShortcuts);
|
138
|
+
menu.addLocalHook('afterOpen', addKeyboardShortcuts);
|
139
|
+
menuInstance = menu;
|
140
|
+
}
|
141
|
+
|
142
|
+
/**
|
143
|
+
* Retrieves the current menu instance.
|
144
|
+
*
|
145
|
+
* @returns {Menu} The current menu instance.
|
146
|
+
*/
|
147
|
+
function getMenu() {
|
148
|
+
return menuInstance;
|
127
149
|
}
|
128
150
|
|
129
151
|
/**
|
@@ -137,6 +159,8 @@ function createMenuFocusController(mainMenu, menuItems) {
|
|
137
159
|
return {
|
138
160
|
...focusNavigator,
|
139
161
|
listen,
|
162
|
+
setMenu,
|
163
|
+
getMenu,
|
140
164
|
getLastMenuPage
|
141
165
|
};
|
142
166
|
}
|