handsontable 14.6.1-next-689aaa6-20241016 → 15.0.0-next-4472a60-20241203
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
}
|