handsontable 13.1.0 → 14.0.0-next-d97b156-20231027
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/constants.js +3 -6
- package/3rdparty/walkontable/src/calculator/viewportColumns.js +1 -2
- package/3rdparty/walkontable/src/calculator/viewportRows.js +1 -2
- package/3rdparty/walkontable/src/cell/coords.d.ts +8 -1
- package/3rdparty/walkontable/src/cell/coords.js +81 -13
- package/3rdparty/walkontable/src/cell/coords.mjs +80 -11
- package/3rdparty/walkontable/src/cell/range.d.ts +9 -2
- package/3rdparty/walkontable/src/cell/range.js +39 -9
- package/3rdparty/walkontable/src/cell/range.mjs +38 -7
- package/3rdparty/walkontable/src/core/_base.js +9 -3
- package/3rdparty/walkontable/src/core/_base.mjs +9 -3
- package/3rdparty/walkontable/src/core/clone.js +2 -2
- package/3rdparty/walkontable/src/core/clone.mjs +2 -2
- package/3rdparty/walkontable/src/core/core.js +3 -2
- package/3rdparty/walkontable/src/core/core.mjs +3 -2
- package/3rdparty/walkontable/src/event.js +13 -12
- package/3rdparty/walkontable/src/event.mjs +12 -10
- package/3rdparty/walkontable/src/facade/core.js +2 -2
- package/3rdparty/walkontable/src/facade/core.mjs +2 -2
- package/3rdparty/walkontable/src/filter/column.js +1 -2
- package/3rdparty/walkontable/src/filter/row.js +1 -2
- package/3rdparty/walkontable/src/index.js +12 -4
- package/3rdparty/walkontable/src/index.mjs +2 -2
- package/3rdparty/walkontable/src/overlay/_base.js +13 -2
- package/3rdparty/walkontable/src/overlay/_base.mjs +14 -3
- package/3rdparty/walkontable/src/overlay/constants.js +7 -14
- package/3rdparty/walkontable/src/overlay/inlineStart.js +2 -6
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +2 -6
- package/3rdparty/walkontable/src/overlay/top.js +2 -6
- package/3rdparty/walkontable/src/overlay/top.mjs +2 -6
- package/3rdparty/walkontable/src/overlays.js +1 -2
- package/3rdparty/walkontable/src/renderer/cells.js +10 -0
- package/3rdparty/walkontable/src/renderer/cells.mjs +11 -1
- package/3rdparty/walkontable/src/renderer/columnHeaders.js +13 -0
- package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +14 -1
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +8 -0
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +8 -0
- package/3rdparty/walkontable/src/renderer/rows.js +13 -0
- package/3rdparty/walkontable/src/renderer/rows.mjs +13 -0
- package/3rdparty/walkontable/src/renderer/table.js +9 -0
- package/3rdparty/walkontable/src/renderer/table.mjs +9 -0
- package/3rdparty/walkontable/src/scroll.js +3 -2
- package/3rdparty/walkontable/src/scroll.mjs +2 -0
- package/3rdparty/walkontable/src/{border.js → selection/border/border.js} +8 -14
- package/3rdparty/walkontable/src/{border.mjs → selection/border/border.mjs} +7 -12
- package/3rdparty/walkontable/src/selection/border/constants.js +15 -0
- package/3rdparty/walkontable/src/selection/border/constants.mjs +12 -0
- package/3rdparty/walkontable/src/selection/constants.js +54 -0
- package/3rdparty/walkontable/src/selection/constants.mjs +51 -0
- package/3rdparty/walkontable/src/selection/index.js +26 -0
- package/3rdparty/walkontable/src/selection/index.mjs +5 -0
- package/3rdparty/walkontable/src/selection/manager.js +274 -0
- package/3rdparty/walkontable/src/selection/manager.mjs +269 -0
- package/3rdparty/walkontable/src/selection/scanner.js +270 -0
- package/3rdparty/walkontable/src/selection/scanner.mjs +267 -0
- package/3rdparty/walkontable/src/selection/selection.js +100 -0
- package/3rdparty/walkontable/src/selection/selection.mjs +96 -0
- package/3rdparty/walkontable/src/settings.js +13 -4
- package/3rdparty/walkontable/src/settings.mjs +13 -4
- package/3rdparty/walkontable/src/table/bottom.js +1 -2
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.js +1 -2
- package/3rdparty/walkontable/src/table/inlineStart.js +1 -2
- package/3rdparty/walkontable/src/table/master.js +3 -6
- package/3rdparty/walkontable/src/table/master.mjs +2 -4
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +10 -2
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +9 -0
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +10 -2
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +9 -0
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +10 -2
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +9 -0
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +10 -2
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +9 -0
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +10 -2
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +9 -0
- package/3rdparty/walkontable/src/table/top.js +1 -2
- package/3rdparty/walkontable/src/table/topInlineStartCorner.js +1 -2
- package/3rdparty/walkontable/src/table.js +20 -80
- package/3rdparty/walkontable/src/table.mjs +20 -79
- package/3rdparty/walkontable/src/utils/orderView/constants.js +3 -6
- package/3rdparty/walkontable/src/viewport.js +1 -2
- package/CHANGELOG.md +51 -0
- package/base.js +3 -4
- package/base.mjs +2 -2
- package/cellTypes/autocompleteType/autocompleteType.js +3 -5
- package/cellTypes/checkboxType/checkboxType.js +3 -5
- package/cellTypes/dateType/dateType.d.ts +3 -3
- package/cellTypes/dateType/dateType.js +5 -7
- package/cellTypes/dateType/dateType.mjs +2 -2
- package/cellTypes/dropdownType/dropdownType.js +3 -5
- package/cellTypes/handsontableType/handsontableType.d.ts +3 -3
- package/cellTypes/handsontableType/handsontableType.js +5 -7
- package/cellTypes/handsontableType/handsontableType.mjs +2 -2
- package/cellTypes/index.d.ts +3 -0
- package/cellTypes/index.js +4 -0
- package/cellTypes/index.mjs +3 -1
- package/cellTypes/numericType/numericType.js +3 -5
- package/cellTypes/passwordType/passwordType.js +3 -5
- package/cellTypes/selectType/index.d.ts +1 -0
- package/cellTypes/selectType/index.js +6 -0
- package/cellTypes/selectType/index.mjs +1 -0
- package/cellTypes/selectType/selectType.d.ts +14 -0
- package/cellTypes/selectType/selectType.js +11 -0
- package/cellTypes/selectType/selectType.mjs +8 -0
- package/cellTypes/textType/textType.js +3 -5
- package/cellTypes/timeType/timeType.js +3 -5
- package/common.d.ts +1 -1
- package/core/focusCatcher/focusDetector.js +63 -0
- package/core/focusCatcher/focusDetector.mjs +59 -0
- package/core/focusCatcher/index.js +148 -0
- package/core/focusCatcher/index.mjs +144 -0
- package/core/index.js +9 -0
- package/core/index.mjs +1 -0
- package/core.d.ts +10 -5
- package/core.js +327 -359
- package/core.mjs +327 -359
- package/dataMap/dataMap.js +1 -2
- package/dataMap/dataSource.js +1 -2
- package/dataMap/metaManager/metaSchema.js +65 -0
- package/dataMap/metaManager/metaSchema.mjs +65 -0
- package/dataMap/metaManager/mods/extendMetaProperties.js +7 -1
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +7 -1
- package/dataMap/replaceData.js +5 -0
- package/dataMap/replaceData.mjs +5 -0
- package/dist/handsontable.css +94 -76
- package/dist/handsontable.full.css +94 -76
- package/dist/handsontable.full.js +21236 -14104
- package/dist/handsontable.full.min.css +8 -8
- package/dist/handsontable.full.min.js +170 -152
- package/dist/handsontable.js +22016 -15254
- package/dist/handsontable.min.css +7 -7
- package/dist/handsontable.min.js +31 -23
- package/dist/languages/all.js +47 -40
- package/dist/languages/all.min.js +1 -1
- package/dist/languages/ar-AR.js +1 -2
- package/dist/languages/cs-CZ.js +1 -2
- package/dist/languages/de-CH.js +1 -2
- package/dist/languages/de-DE.js +1 -2
- package/dist/languages/en-US.js +15 -3
- package/dist/languages/en-US.min.js +1 -1
- package/dist/languages/es-MX.js +1 -2
- package/dist/languages/fr-FR.js +1 -2
- package/dist/languages/it-IT.js +1 -2
- package/dist/languages/ja-JP.js +1 -2
- package/dist/languages/ko-KR.js +1 -2
- package/dist/languages/lv-LV.js +1 -2
- package/dist/languages/nb-NO.js +1 -2
- package/dist/languages/nl-NL.js +1 -2
- package/dist/languages/pl-PL.js +15 -3
- package/dist/languages/pl-PL.min.js +1 -1
- package/dist/languages/pt-BR.js +1 -2
- package/dist/languages/ru-RU.js +1 -2
- package/dist/languages/sr-SP.js +1 -2
- package/dist/languages/zh-CN.js +1 -2
- package/dist/languages/zh-TW.js +1 -2
- package/editorManager.js +17 -91
- package/editorManager.mjs +16 -87
- package/editors/autocompleteEditor/autocompleteEditor.js +65 -11
- package/editors/autocompleteEditor/autocompleteEditor.mjs +65 -10
- package/editors/baseEditor/baseEditor.js +19 -13
- package/editors/baseEditor/baseEditor.mjs +16 -7
- package/editors/checkboxEditor/checkboxEditor.js +1 -2
- package/editors/dateEditor/dateEditor.js +27 -9
- package/editors/dateEditor/dateEditor.mjs +27 -8
- package/editors/dropdownEditor/dropdownEditor.js +1 -2
- package/editors/handsontableEditor/handsontableEditor.js +14 -7
- package/editors/handsontableEditor/handsontableEditor.mjs +14 -6
- package/editors/numericEditor/numericEditor.js +1 -2
- package/editors/passwordEditor/passwordEditor.js +1 -2
- package/editors/selectEditor/selectEditor.js +1 -2
- package/editors/textEditor/textEditor.js +20 -29
- package/editors/textEditor/textEditor.mjs +22 -30
- package/editors/timeEditor/timeEditor.js +1 -2
- package/eventManager.js +1 -2
- package/focusManager.d.ts +12 -0
- package/focusManager.js +265 -0
- package/focusManager.mjs +261 -0
- package/helpers/a11y.js +81 -0
- package/helpers/a11y.mjs +39 -0
- package/helpers/dom/element.js +224 -12
- package/helpers/dom/element.mjs +216 -10
- package/helpers/dom/event.d.ts +1 -0
- package/helpers/dom/event.js +25 -0
- package/helpers/dom/event.mjs +24 -0
- package/helpers/mixed.js +2 -2
- package/helpers/mixed.mjs +2 -2
- package/helpers/number.d.ts +1 -0
- package/helpers/number.js +18 -0
- package/helpers/number.mjs +17 -0
- package/helpers/unicode.js +1 -2
- package/i18n/constants.js +97 -160
- package/i18n/constants.mjs +17 -1
- package/i18n/languages/ar-AR.js +3 -4
- package/i18n/languages/cs-CZ.js +3 -4
- package/i18n/languages/de-CH.js +3 -4
- package/i18n/languages/de-DE.js +3 -4
- package/i18n/languages/en-US.js +17 -5
- package/i18n/languages/en-US.mjs +14 -1
- package/i18n/languages/es-MX.js +3 -4
- package/i18n/languages/fr-FR.js +3 -4
- package/i18n/languages/it-IT.js +3 -4
- package/i18n/languages/ja-JP.js +3 -4
- package/i18n/languages/ko-KR.js +3 -4
- package/i18n/languages/lv-LV.js +3 -4
- package/i18n/languages/nb-NO.js +3 -4
- package/i18n/languages/nl-NL.js +3 -4
- package/i18n/languages/pl-PL.js +17 -5
- package/i18n/languages/pl-PL.mjs +14 -1
- package/i18n/languages/pt-BR.js +3 -4
- package/i18n/languages/ru-RU.js +3 -4
- package/i18n/languages/sr-SP.js +3 -4
- package/i18n/languages/zh-CN.js +3 -4
- package/i18n/languages/zh-TW.js +3 -4
- package/i18n/registry.js +4 -6
- package/index.js +3 -4
- package/languages/all.js +47 -40
- package/languages/ar-AR.js +1 -2
- package/languages/cs-CZ.js +1 -2
- package/languages/de-CH.js +1 -2
- package/languages/de-DE.js +1 -2
- package/languages/en-US.js +15 -3
- package/languages/en-US.mjs +14 -1
- package/languages/es-MX.js +1 -2
- package/languages/fr-FR.js +1 -2
- package/languages/index.js +47 -40
- package/languages/it-IT.js +1 -2
- package/languages/ja-JP.js +1 -2
- package/languages/ko-KR.js +1 -2
- package/languages/lv-LV.js +1 -2
- package/languages/nb-NO.js +1 -2
- package/languages/nl-NL.js +1 -2
- package/languages/pl-PL.js +15 -3
- package/languages/pl-PL.mjs +14 -1
- package/languages/pt-BR.js +1 -2
- package/languages/ru-RU.js +1 -2
- package/languages/sr-SP.js +1 -2
- package/languages/zh-CN.js +1 -2
- package/languages/zh-TW.js +1 -2
- package/mixins/hooksRefRegisterer.js +1 -2
- package/mixins/localHooks.js +1 -2
- package/package.json +119 -96
- package/pluginHooks.d.ts +42 -7
- package/pluginHooks.js +301 -65
- package/pluginHooks.mjs +300 -63
- package/plugins/autoColumnSize/autoColumnSize.d.ts +2 -0
- package/plugins/autoColumnSize/autoColumnSize.js +2 -4
- package/plugins/autoRowSize/autoRowSize.d.ts +2 -0
- package/plugins/autoRowSize/autoRowSize.js +15 -10
- package/plugins/autoRowSize/autoRowSize.mjs +13 -6
- package/plugins/autofill/autofill.js +2 -4
- package/plugins/autofill/utils.js +1 -2
- package/plugins/base/base.js +1 -2
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +2 -4
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +1 -2
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +1 -2
- package/plugins/collapsibleColumns/collapsibleColumns.js +77 -8
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +76 -5
- package/plugins/columnSorting/columnSorting.js +71 -6
- package/plugins/columnSorting/columnSorting.mjs +70 -3
- package/plugins/columnSorting/index.js +3 -1
- package/plugins/columnSorting/index.mjs +1 -1
- package/plugins/columnSorting/sortFunction/checkbox.js +1 -2
- package/plugins/columnSorting/sortFunction/date.js +1 -2
- package/plugins/columnSorting/sortFunction/default.js +1 -2
- package/plugins/columnSorting/sortFunction/numeric.js +1 -2
- package/plugins/columnSorting/sortService/engine.js +3 -6
- package/plugins/columnSorting/utils.js +3 -6
- package/plugins/columnSummary/columnSummary.js +2 -4
- package/plugins/columnSummary/endpoints.js +1 -2
- package/plugins/comments/commentEditor.js +2 -2
- package/plugins/comments/commentEditor.mjs +1 -0
- package/plugins/comments/comments.js +254 -197
- package/plugins/comments/comments.mjs +251 -190
- package/plugins/comments/contextMenuItem/addEditComment.js +41 -0
- package/plugins/comments/contextMenuItem/addEditComment.mjs +35 -0
- package/plugins/comments/contextMenuItem/readOnlyComment.js +49 -0
- package/plugins/comments/contextMenuItem/readOnlyComment.mjs +43 -0
- package/plugins/comments/contextMenuItem/removeComment.js +38 -0
- package/plugins/comments/contextMenuItem/removeComment.mjs +32 -0
- package/plugins/comments/displaySwitch.js +1 -2
- package/plugins/contextMenu/commandExecutor.js +2 -3
- package/plugins/contextMenu/commandExecutor.mjs +2 -3
- package/plugins/contextMenu/contextMenu.d.ts +1 -1
- package/plugins/contextMenu/contextMenu.js +77 -40
- package/plugins/contextMenu/contextMenu.mjs +74 -35
- package/plugins/contextMenu/itemsFactory.js +2 -3
- package/plugins/contextMenu/itemsFactory.mjs +3 -4
- package/plugins/contextMenu/{cursor.mjs → menu/cursor.js} +6 -4
- package/plugins/contextMenu/{cursor.js → menu/cursor.mjs} +4 -10
- package/plugins/contextMenu/menu/defaultShortcutsList.js +88 -0
- package/plugins/contextMenu/menu/defaultShortcutsList.mjs +84 -0
- package/plugins/contextMenu/menu/index.js +9 -0
- package/plugins/contextMenu/menu/index.mjs +1 -0
- package/plugins/contextMenu/{menu.js → menu/menu.js} +145 -421
- package/plugins/contextMenu/{menu.mjs → menu/menu.mjs} +146 -422
- package/plugins/contextMenu/menu/menuItemRenderer.js +70 -0
- package/plugins/contextMenu/menu/menuItemRenderer.mjs +66 -0
- package/plugins/contextMenu/menu/navigator.js +27 -0
- package/plugins/contextMenu/menu/navigator.mjs +23 -0
- package/plugins/contextMenu/menu/positioner.js +213 -0
- package/plugins/contextMenu/menu/positioner.mjs +209 -0
- package/plugins/contextMenu/menu/shortcuts.js +114 -0
- package/plugins/contextMenu/menu/shortcuts.mjs +110 -0
- package/plugins/contextMenu/menu/utils.js +177 -0
- package/plugins/contextMenu/menu/utils.mjs +163 -0
- package/plugins/contextMenu/predefinedItems/alignment.js +10 -4
- package/plugins/contextMenu/predefinedItems/alignment.mjs +7 -0
- package/plugins/contextMenu/predefinedItems/clearColumn.js +8 -7
- package/plugins/contextMenu/predefinedItems/clearColumn.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/columnLeft.js +8 -7
- package/plugins/contextMenu/predefinedItems/columnLeft.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/columnRight.js +8 -7
- package/plugins/contextMenu/predefinedItems/columnRight.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/index.js +75 -0
- package/plugins/contextMenu/predefinedItems/index.mjs +68 -0
- package/plugins/contextMenu/predefinedItems/noItems.js +1 -2
- package/plugins/contextMenu/predefinedItems/readOnly.js +10 -4
- package/plugins/contextMenu/predefinedItems/readOnly.mjs +7 -0
- package/plugins/contextMenu/predefinedItems/redo.js +3 -4
- package/plugins/contextMenu/predefinedItems/removeColumn.js +10 -9
- package/plugins/contextMenu/predefinedItems/removeColumn.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/removeRow.js +10 -9
- package/plugins/contextMenu/predefinedItems/removeRow.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/rowAbove.js +8 -7
- package/plugins/contextMenu/predefinedItems/rowAbove.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/rowBelow.js +8 -7
- package/plugins/contextMenu/predefinedItems/rowBelow.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/separator.js +1 -2
- package/plugins/contextMenu/predefinedItems/undo.js +3 -4
- package/plugins/contextMenu/utils.js +35 -151
- package/plugins/contextMenu/utils.mjs +35 -144
- package/plugins/copyPaste/clipboardData/clipboardData.js +516 -0
- package/plugins/copyPaste/clipboardData/clipboardData.mjs +512 -0
- package/plugins/copyPaste/clipboardData/copyClipboardData.js +69 -0
- package/plugins/copyPaste/clipboardData/copyClipboardData.mjs +65 -0
- package/plugins/copyPaste/clipboardData/index.js +9 -0
- package/plugins/copyPaste/clipboardData/index.mjs +4 -0
- package/plugins/copyPaste/clipboardData/pasteClipboardData.js +81 -0
- package/plugins/copyPaste/clipboardData/pasteClipboardData.mjs +77 -0
- package/plugins/copyPaste/contextMenuItem/copy.js +7 -0
- package/plugins/copyPaste/contextMenuItem/copy.mjs +7 -0
- package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.js +9 -1
- package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.mjs +9 -1
- package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.js +9 -1
- package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.mjs +9 -1
- package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.js +9 -1
- package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.mjs +9 -1
- package/plugins/copyPaste/contextMenuItem/cut.js +9 -2
- package/plugins/copyPaste/contextMenuItem/cut.mjs +7 -0
- package/plugins/copyPaste/copyPaste.js +160 -167
- package/plugins/copyPaste/copyPaste.mjs +161 -166
- package/plugins/customBorders/contextMenuItem/bottom.js +2 -2
- package/plugins/customBorders/contextMenuItem/left.js +2 -2
- package/plugins/customBorders/contextMenuItem/noBorders.js +2 -2
- package/plugins/customBorders/contextMenuItem/right.js +2 -2
- package/plugins/customBorders/contextMenuItem/top.js +2 -2
- package/plugins/customBorders/customBorders.js +27 -26
- package/plugins/customBorders/customBorders.mjs +24 -21
- package/plugins/dragToScroll/dragToScroll.js +2 -4
- package/plugins/dropdownMenu/dropdownMenu.d.ts +1 -1
- package/plugins/dropdownMenu/dropdownMenu.js +130 -44
- package/plugins/dropdownMenu/dropdownMenu.mjs +127 -39
- package/plugins/exportFile/dataProvider.js +1 -2
- package/plugins/exportFile/exportFile.js +4 -6
- package/plugins/exportFile/typeFactory.js +5 -8
- package/plugins/exportFile/types/_base.js +1 -2
- package/plugins/exportFile/types/csv.js +1 -2
- package/plugins/filters/component/_base.js +23 -8
- package/plugins/filters/component/_base.mjs +23 -8
- package/plugins/filters/component/actionBar.js +31 -29
- package/plugins/filters/component/actionBar.mjs +26 -23
- package/plugins/filters/component/condition.js +48 -61
- package/plugins/filters/component/condition.mjs +40 -52
- package/plugins/filters/component/operators.js +21 -22
- package/plugins/filters/component/operators.mjs +18 -18
- package/plugins/filters/component/value.js +37 -28
- package/plugins/filters/component/value.mjs +32 -22
- package/plugins/filters/condition/beginsWith.js +3 -4
- package/plugins/filters/condition/between.js +3 -4
- package/plugins/filters/condition/byValue.js +1 -2
- package/plugins/filters/condition/contains.js +3 -4
- package/plugins/filters/condition/date/after.js +3 -4
- package/plugins/filters/condition/date/before.js +3 -4
- package/plugins/filters/condition/date/today.js +3 -4
- package/plugins/filters/condition/date/tomorrow.js +3 -4
- package/plugins/filters/condition/date/yesterday.js +3 -4
- package/plugins/filters/condition/empty.js +3 -4
- package/plugins/filters/condition/endsWith.js +3 -4
- package/plugins/filters/condition/equal.js +3 -4
- package/plugins/filters/condition/false.js +1 -2
- package/plugins/filters/condition/greaterThan.js +3 -4
- package/plugins/filters/condition/greaterThanOrEqual.js +3 -4
- package/plugins/filters/condition/lessThan.js +3 -4
- package/plugins/filters/condition/lessThanOrEqual.js +3 -4
- package/plugins/filters/condition/none.js +3 -4
- package/plugins/filters/condition/notBetween.js +3 -4
- package/plugins/filters/condition/notContains.js +3 -4
- package/plugins/filters/condition/notEmpty.js +3 -4
- package/plugins/filters/condition/notEqual.js +3 -4
- package/plugins/filters/condition/true.js +1 -2
- package/plugins/filters/conditionCollection.d.ts +3 -2
- package/plugins/filters/conditionCollection.js +1 -2
- package/plugins/filters/conditionRegisterer.js +1 -2
- package/plugins/filters/conditionUpdateObserver.js +1 -2
- package/plugins/filters/constants.js +4 -8
- package/plugins/filters/constants.mjs +1 -1
- package/plugins/filters/dataFilter.js +1 -2
- package/plugins/filters/filters.d.ts +3 -5
- package/plugins/filters/filters.js +108 -66
- package/plugins/filters/filters.mjs +99 -55
- package/plugins/filters/logicalOperationRegisterer.js +1 -2
- package/plugins/filters/logicalOperations/conjunction.js +4 -6
- package/plugins/filters/logicalOperations/disjunction.js +4 -6
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +4 -6
- package/plugins/filters/menu/focusController.js +123 -0
- package/plugins/filters/menu/focusController.mjs +119 -0
- package/plugins/filters/menu/focusNavigator.js +30 -0
- package/plugins/filters/menu/focusNavigator.mjs +26 -0
- package/plugins/filters/ui/_base.js +37 -15
- package/plugins/filters/ui/_base.mjs +35 -13
- package/plugins/filters/ui/input.js +43 -35
- package/plugins/filters/ui/input.mjs +42 -33
- package/plugins/filters/ui/link.js +44 -12
- package/plugins/filters/ui/link.mjs +44 -11
- package/plugins/filters/ui/multipleSelect.js +237 -133
- package/plugins/filters/ui/multipleSelect.mjs +232 -127
- package/plugins/filters/ui/radioInput.js +42 -18
- package/plugins/filters/ui/radioInput.mjs +42 -17
- package/plugins/filters/ui/select.js +152 -77
- package/plugins/filters/ui/select.mjs +148 -72
- package/plugins/formulas/engine/settings.js +2 -4
- package/plugins/formulas/formulas.js +3 -6
- package/plugins/formulas/indexSyncer/axisSyncer.js +1 -2
- package/plugins/formulas/indexSyncer/index.js +1 -2
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +2 -2
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +2 -2
- package/plugins/hiddenColumns/hiddenColumns.d.ts +1 -0
- package/plugins/hiddenColumns/hiddenColumns.js +49 -6
- package/plugins/hiddenColumns/hiddenColumns.mjs +48 -3
- package/plugins/hiddenRows/contextMenuItem/hideRow.js +2 -2
- package/plugins/hiddenRows/contextMenuItem/showRow.js +2 -2
- package/plugins/hiddenRows/hiddenRows.d.ts +1 -0
- package/plugins/hiddenRows/hiddenRows.js +49 -6
- package/plugins/hiddenRows/hiddenRows.mjs +48 -3
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +2 -2
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +2 -2
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +2 -4
- package/plugins/manualColumnMove/manualColumnMove.js +9 -17
- package/plugins/manualColumnMove/manualColumnMove.mjs +7 -13
- package/plugins/manualColumnMove/ui/_base.js +1 -2
- package/plugins/manualColumnMove/ui/backlight.js +1 -2
- package/plugins/manualColumnMove/ui/guideline.js +1 -2
- package/plugins/manualColumnResize/manualColumnResize.js +2 -4
- package/plugins/manualRowMove/manualRowMove.js +6 -23
- package/plugins/manualRowMove/manualRowMove.mjs +4 -19
- package/plugins/manualRowMove/ui/_base.js +1 -2
- package/plugins/manualRowMove/ui/backlight.js +1 -2
- package/plugins/manualRowMove/ui/guideline.js +1 -2
- package/plugins/manualRowResize/manualRowResize.js +2 -4
- package/plugins/mergeCells/calculations/autofill.js +1 -2
- package/plugins/mergeCells/calculations/selection.js +1 -2
- package/plugins/mergeCells/cellCoords.js +1 -2
- package/plugins/mergeCells/cellsCollection.js +1 -2
- package/plugins/mergeCells/contextMenuItem/toggleMerge.js +2 -2
- package/plugins/mergeCells/mergeCells.js +7 -20
- package/plugins/mergeCells/mergeCells.mjs +5 -16
- package/plugins/multiColumnSorting/multiColumnSorting.js +60 -6
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +59 -3
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +2 -4
- package/plugins/nestedHeaders/nestedHeaders.js +263 -36
- package/plugins/nestedHeaders/nestedHeaders.mjs +262 -33
- package/plugins/nestedHeaders/stateManager/index.js +102 -3
- package/plugins/nestedHeaders/stateManager/index.mjs +102 -3
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +1 -2
- package/plugins/nestedHeaders/utils/ghostTable.js +1 -2
- package/plugins/nestedRows/data/dataManager.js +1 -2
- package/plugins/nestedRows/nestedRows.js +47 -10
- package/plugins/nestedRows/nestedRows.mjs +45 -6
- package/plugins/nestedRows/ui/_base.js +1 -2
- package/plugins/nestedRows/ui/collapsing.js +1 -2
- package/plugins/nestedRows/ui/contextMenu.js +3 -4
- package/plugins/nestedRows/ui/headers.js +13 -3
- package/plugins/nestedRows/ui/headers.mjs +13 -2
- package/plugins/persistentState/persistentState.js +2 -4
- package/plugins/persistentState/storage.js +1 -2
- package/plugins/search/search.js +2 -4
- package/plugins/touchScroll/touchScroll.js +2 -4
- package/plugins/trimRows/trimRows.js +2 -4
- package/plugins/undoRedo/index.js +2 -2
- package/plugins/undoRedo/undoRedo.js +2 -4
- package/renderers/autocompleteRenderer/autocompleteRenderer.js +9 -2
- package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +8 -0
- package/renderers/baseRenderer/baseRenderer.js +18 -2
- package/renderers/baseRenderer/baseRenderer.mjs +18 -1
- package/renderers/checkboxRenderer/checkboxRenderer.js +10 -6
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +9 -4
- package/renderers/dateRenderer/dateRenderer.d.ts +5 -0
- package/renderers/dateRenderer/dateRenderer.js +28 -0
- package/renderers/dateRenderer/dateRenderer.mjs +24 -0
- package/renderers/dateRenderer/index.d.ts +1 -0
- package/renderers/dateRenderer/index.js +6 -0
- package/renderers/dateRenderer/index.mjs +1 -0
- package/renderers/handsontableRenderer/handsontableRenderer.d.ts +5 -0
- package/renderers/handsontableRenderer/handsontableRenderer.js +28 -0
- package/renderers/handsontableRenderer/handsontableRenderer.mjs +24 -0
- package/renderers/handsontableRenderer/index.d.ts +1 -0
- package/renderers/handsontableRenderer/index.js +6 -0
- package/renderers/handsontableRenderer/index.mjs +1 -0
- package/renderers/htmlRenderer/htmlRenderer.js +1 -2
- package/renderers/index.d.ts +9 -0
- package/renderers/numericRenderer/numericRenderer.js +1 -2
- package/renderers/passwordRenderer/passwordRenderer.js +1 -2
- package/renderers/selectRenderer/index.d.ts +1 -0
- package/renderers/selectRenderer/index.js +6 -0
- package/renderers/selectRenderer/index.mjs +1 -0
- package/renderers/selectRenderer/selectRenderer.d.ts +5 -0
- package/renderers/selectRenderer/selectRenderer.js +26 -0
- package/renderers/selectRenderer/selectRenderer.mjs +22 -0
- package/renderers/textRenderer/textRenderer.js +1 -2
- package/renderers/timeRenderer/timeRenderer.js +1 -2
- package/selection/highlight/highlight.js +257 -73
- package/selection/highlight/highlight.mjs +250 -71
- package/selection/highlight/types/activeHeader.js +10 -8
- package/selection/highlight/types/activeHeader.mjs +10 -8
- package/selection/highlight/types/area.js +6 -18
- package/selection/highlight/types/area.mjs +6 -18
- package/selection/highlight/types/areaLayered.js +31 -0
- package/selection/highlight/types/areaLayered.mjs +26 -0
- package/selection/highlight/types/column.js +27 -0
- package/selection/highlight/types/column.mjs +22 -0
- package/selection/highlight/types/customSelection.js +7 -9
- package/selection/highlight/types/customSelection.mjs +7 -9
- package/selection/highlight/types/fill.js +5 -7
- package/selection/highlight/types/fill.mjs +5 -7
- package/selection/highlight/types/{cell.js → focus.js} +5 -7
- package/selection/highlight/types/{cell.mjs → focus.mjs} +5 -7
- package/selection/highlight/types/header.js +9 -18
- package/selection/highlight/types/header.mjs +9 -18
- package/selection/highlight/types/row.js +27 -0
- package/selection/highlight/types/row.mjs +22 -0
- package/selection/highlight/visualSelection.js +32 -29
- package/selection/highlight/visualSelection.mjs +31 -27
- package/selection/index.js +4 -7
- package/selection/index.mjs +2 -3
- package/selection/mouseEventHandler.js +7 -1
- package/selection/mouseEventHandler.mjs +7 -1
- package/selection/range.js +9 -10
- package/selection/range.mjs +8 -8
- package/selection/selection.js +334 -154
- package/selection/selection.mjs +330 -151
- package/selection/transformation.js +233 -94
- package/selection/transformation.mjs +232 -92
- package/selection/utils.js +20 -31
- package/selection/utils.mjs +16 -21
- package/settings.d.ts +4 -0
- package/shortcutContexts/commands/editor/closeAndSave.js +11 -0
- package/shortcutContexts/commands/editor/closeAndSave.mjs +8 -0
- package/shortcutContexts/commands/editor/closeWithoutSaving.js +11 -0
- package/shortcutContexts/commands/editor/closeWithoutSaving.mjs +8 -0
- package/shortcutContexts/commands/editor/fastOpen.js +15 -0
- package/shortcutContexts/commands/editor/fastOpen.mjs +12 -0
- package/shortcutContexts/commands/editor/index.js +16 -0
- package/shortcutContexts/commands/editor/index.mjs +12 -0
- package/shortcutContexts/commands/editor/open.js +26 -0
- package/shortcutContexts/commands/editor/open.mjs +23 -0
- package/shortcutContexts/commands/emptySelectedCells.js +10 -0
- package/shortcutContexts/commands/emptySelectedCells.mjs +7 -0
- package/shortcutContexts/commands/extendCellsSelection/down.js +14 -0
- package/shortcutContexts/commands/extendCellsSelection/down.mjs +11 -0
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +24 -0
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +21 -0
- package/shortcutContexts/commands/extendCellsSelection/index.js +26 -0
- package/shortcutContexts/commands/extendCellsSelection/index.mjs +22 -0
- package/shortcutContexts/commands/extendCellsSelection/left.js +14 -0
- package/shortcutContexts/commands/extendCellsSelection/left.mjs +11 -0
- package/shortcutContexts/commands/extendCellsSelection/right.js +14 -0
- package/shortcutContexts/commands/extendCellsSelection/right.mjs +11 -0
- package/shortcutContexts/commands/extendCellsSelection/toColumns.js +18 -0
- package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +15 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +28 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +25 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +18 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +15 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +18 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +15 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +28 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +25 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +28 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +25 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +28 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +25 -0
- package/shortcutContexts/commands/extendCellsSelection/toRows.js +18 -0
- package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +15 -0
- package/shortcutContexts/commands/extendCellsSelection/up.js +14 -0
- package/shortcutContexts/commands/extendCellsSelection/up.mjs +11 -0
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +24 -0
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +21 -0
- package/shortcutContexts/commands/index.js +35 -0
- package/shortcutContexts/commands/index.mjs +31 -0
- package/shortcutContexts/commands/moveCellSelection/down.js +12 -0
- package/shortcutContexts/commands/moveCellSelection/down.mjs +9 -0
- package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +32 -0
- package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +29 -0
- package/shortcutContexts/commands/moveCellSelection/index.js +28 -0
- package/shortcutContexts/commands/moveCellSelection/index.mjs +24 -0
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +11 -0
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +8 -0
- package/shortcutContexts/commands/moveCellSelection/inlineStart.js +11 -0
- package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +8 -0
- package/shortcutContexts/commands/moveCellSelection/left.js +9 -0
- package/shortcutContexts/commands/moveCellSelection/left.mjs +6 -0
- package/shortcutContexts/commands/moveCellSelection/right.js +9 -0
- package/shortcutContexts/commands/moveCellSelection/right.mjs +6 -0
- package/shortcutContexts/commands/moveCellSelection/toMostBottom.js +16 -0
- package/shortcutContexts/commands/moveCellSelection/toMostBottom.mjs +13 -0
- package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.js +17 -0
- package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.mjs +14 -0
- package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.js +13 -0
- package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.mjs +10 -0
- package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.js +16 -0
- package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.mjs +13 -0
- package/shortcutContexts/commands/moveCellSelection/toMostLeft.js +18 -0
- package/shortcutContexts/commands/moveCellSelection/toMostLeft.mjs +15 -0
- package/shortcutContexts/commands/moveCellSelection/toMostRight.js +20 -0
- package/shortcutContexts/commands/moveCellSelection/toMostRight.mjs +17 -0
- package/shortcutContexts/commands/moveCellSelection/toMostTop.js +16 -0
- package/shortcutContexts/commands/moveCellSelection/toMostTop.mjs +13 -0
- package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.js +18 -0
- package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.mjs +15 -0
- package/shortcutContexts/commands/moveCellSelection/up.js +12 -0
- package/shortcutContexts/commands/moveCellSelection/up.mjs +9 -0
- package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +32 -0
- package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +29 -0
- package/shortcutContexts/commands/populateSelectedCellsData.js +28 -0
- package/shortcutContexts/commands/populateSelectedCellsData.mjs +25 -0
- package/shortcutContexts/commands/scrollToFocusedCell.js +34 -0
- package/shortcutContexts/commands/scrollToFocusedCell.mjs +31 -0
- package/shortcutContexts/commands/selectAll.js +11 -0
- package/shortcutContexts/commands/selectAll.mjs +8 -0
- package/shortcutContexts/constants.js +11 -0
- package/shortcutContexts/constants.mjs +8 -0
- package/shortcutContexts/editor.js +25 -0
- package/shortcutContexts/editor.mjs +21 -0
- package/shortcutContexts/grid.js +167 -0
- package/shortcutContexts/grid.mjs +163 -0
- package/shortcutContexts/index.js +24 -0
- package/shortcutContexts/index.mjs +11 -0
- package/shortcuts/context.d.ts +1 -0
- package/shortcuts/context.js +23 -4
- package/shortcuts/context.mjs +23 -5
- package/shortcuts/manager.js +31 -7
- package/shortcuts/manager.mjs +32 -7
- package/shortcuts/recorder.js +30 -14
- package/shortcuts/recorder.mjs +30 -14
- package/shortcuts/utils.js +19 -5
- package/shortcuts/utils.mjs +18 -4
- package/tableView.js +113 -16
- package/tableView.mjs +113 -15
- package/utils/dataStructures/linkedList.js +1 -2
- package/utils/dataStructures/priorityMap.js +2 -4
- package/utils/dataStructures/queue.js +1 -2
- package/utils/dataStructures/stack.js +1 -2
- package/utils/dataStructures/tree.js +3 -6
- package/utils/ghostTable.js +32 -17
- package/utils/ghostTable.mjs +31 -15
- package/utils/interval.js +1 -2
- package/utils/paginator.js +151 -0
- package/utils/paginator.mjs +147 -0
- package/utils/parseTable.js +527 -83
- package/utils/parseTable.mjs +523 -82
- package/utils/rootInstance.js +2 -4
- package/utils/samplesGenerator.js +21 -13
- package/utils/samplesGenerator.mjs +20 -11
- package/utils/staticRegister.js +1 -2
- package/validators/autocompleteValidator/autocompleteValidator.js +1 -2
- package/validators/dateValidator/dateValidator.js +1 -2
- package/validators/numericValidator/numericValidator.js +1 -2
- package/validators/timeValidator/timeValidator.js +1 -2
- package/3rdparty/walkontable/src/selection.js +0 -295
- package/3rdparty/walkontable/src/selection.mjs +0 -290
- package/plugins/contextMenu/predefinedItems.js +0 -76
- package/plugins/contextMenu/predefinedItems.mjs +0 -68
- package/plugins/copyPaste/clipboardData.js +0 -18
- package/plugins/copyPaste/clipboardData.mjs +0 -14
- package/plugins/copyPaste/focusableElement.js +0 -186
- package/plugins/copyPaste/focusableElement.mjs +0 -180
- package/plugins/copyPaste/pasteEvent.js +0 -14
- package/plugins/copyPaste/pasteEvent.mjs +0 -9
- package/selection/highlight/constants.js +0 -15
- package/selection/highlight/constants.mjs +0 -6
- package/selection/highlight/types/index.js +0 -35
- package/selection/highlight/types/index.mjs +0 -31
@@ -1,32 +1,45 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
+
require("core-js/modules/es.error.cause.js");
|
3
4
|
exports.__esModule = true;
|
5
|
+
require("core-js/modules/es.array.unscopables.flat.js");
|
4
6
|
require("core-js/modules/es.array.push.js");
|
5
7
|
var _base = require("../base");
|
6
8
|
var _array = require("../../helpers/array");
|
7
9
|
var _templateLiteralTag = require("../../helpers/templateLiteralTag");
|
8
10
|
var _console = require("../../helpers/console");
|
9
11
|
var _number = require("../../helpers/number");
|
10
|
-
var _eventManager = _interopRequireDefault(require("../../eventManager"));
|
11
12
|
var _element = require("../../helpers/dom/element");
|
13
|
+
var _unicode = require("../../helpers/unicode");
|
12
14
|
var _predefinedItems = require("../contextMenu/predefinedItems");
|
13
15
|
var constants = _interopRequireWildcard(require("../../i18n/constants"));
|
14
|
-
var _condition =
|
15
|
-
var _operators =
|
16
|
-
var _value =
|
17
|
-
var _actionBar =
|
16
|
+
var _condition = require("./component/condition");
|
17
|
+
var _operators = require("./component/operators");
|
18
|
+
var _value = require("./component/value");
|
19
|
+
var _actionBar = require("./component/actionBar");
|
18
20
|
var _conditionCollection = _interopRequireDefault(require("./conditionCollection"));
|
19
21
|
var _dataFilter = _interopRequireDefault(require("./dataFilter"));
|
20
22
|
var _conditionUpdateObserver = _interopRequireDefault(require("./conditionUpdateObserver"));
|
21
23
|
var _utils = require("./utils");
|
24
|
+
var _focusController = require("./menu/focusController");
|
22
25
|
var _constants2 = require("./constants");
|
23
26
|
var _translations = require("../../translations");
|
24
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
25
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
26
27
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
27
|
-
|
28
|
-
|
29
|
-
|
28
|
+
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); }
|
29
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
30
|
+
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
31
|
+
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
32
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
33
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
34
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
35
|
+
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
36
|
+
function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
|
37
|
+
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
|
38
|
+
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
39
|
+
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
40
|
+
const PLUGIN_KEY = exports.PLUGIN_KEY = 'filters';
|
41
|
+
const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 250;
|
42
|
+
const SHORTCUTS_GROUP = PLUGIN_KEY;
|
30
43
|
|
31
44
|
/**
|
32
45
|
* @plugin Filters
|
@@ -63,7 +76,7 @@ const PLUGIN_PRIORITY = 250;
|
|
63
76
|
* ```
|
64
77
|
* :::
|
65
78
|
*/
|
66
|
-
|
79
|
+
var _menuFocusNavigator = /*#__PURE__*/new WeakMap();
|
67
80
|
class Filters extends _base.BasePlugin {
|
68
81
|
static get PLUGIN_KEY() {
|
69
82
|
return PLUGIN_KEY;
|
@@ -74,52 +87,55 @@ class Filters extends _base.BasePlugin {
|
|
74
87
|
static get PLUGIN_DEPS() {
|
75
88
|
return ['plugin:DropdownMenu', 'plugin:HiddenRows', 'cell-type:checkbox'];
|
76
89
|
}
|
90
|
+
|
91
|
+
/**
|
92
|
+
* Instance of {@link DropdownMenu}.
|
93
|
+
*
|
94
|
+
* @private
|
95
|
+
* @type {DropdownMenu}
|
96
|
+
*/
|
97
|
+
|
77
98
|
constructor(hotInstance) {
|
78
99
|
super(hotInstance);
|
79
|
-
|
80
|
-
|
81
|
-
*
|
82
|
-
* @private
|
83
|
-
* @type {EventManager}
|
84
|
-
*/
|
85
|
-
this.eventManager = new _eventManager.default(this);
|
86
|
-
/**
|
87
|
-
* Instance of {@link DropdownMenu}.
|
88
|
-
*
|
89
|
-
* @private
|
90
|
-
* @type {DropdownMenu}
|
91
|
-
*/
|
92
|
-
this.dropdownMenuPlugin = null;
|
100
|
+
// One listener for the enable/disable functionality
|
101
|
+
_defineProperty(this, "dropdownMenuPlugin", null);
|
93
102
|
/**
|
94
103
|
* Instance of {@link ConditionCollection}.
|
95
104
|
*
|
96
105
|
* @private
|
97
106
|
* @type {ConditionCollection}
|
98
107
|
*/
|
99
|
-
this
|
108
|
+
_defineProperty(this, "conditionCollection", null);
|
100
109
|
/**
|
101
110
|
* Instance of {@link ConditionUpdateObserver}.
|
102
111
|
*
|
103
112
|
* @private
|
104
113
|
* @type {ConditionUpdateObserver}
|
105
114
|
*/
|
106
|
-
this
|
115
|
+
_defineProperty(this, "conditionUpdateObserver", null);
|
107
116
|
/**
|
108
117
|
* Map, where key is component identifier and value represent `BaseComponent` element or it derivatives.
|
109
118
|
*
|
110
119
|
* @private
|
111
120
|
* @type {Map}
|
112
121
|
*/
|
113
|
-
this
|
122
|
+
_defineProperty(this, "components", new Map([['filter_by_condition', null], ['filter_operators', null], ['filter_by_condition2', null], ['filter_by_value', null], ['filter_action_bar', null]]));
|
114
123
|
/**
|
115
124
|
* Map of skipped rows by plugin.
|
116
125
|
*
|
117
126
|
* @private
|
118
127
|
* @type {null|TrimmingMap}
|
119
128
|
*/
|
120
|
-
this
|
121
|
-
|
122
|
-
|
129
|
+
_defineProperty(this, "filtersRowsMap", null);
|
130
|
+
/**
|
131
|
+
* Menu focus navigator allows switching the focus position through Tab and Shift Tab keys.
|
132
|
+
*
|
133
|
+
* @type {MenuFocusNavigator|undefined}
|
134
|
+
*/
|
135
|
+
_classPrivateFieldInitSpec(this, _menuFocusNavigator, {
|
136
|
+
writable: true,
|
137
|
+
value: void 0
|
138
|
+
});
|
123
139
|
this.hot.addHook('afterGetColHeader', (col, TH) => this.onAfterGetColHeader(col, TH));
|
124
140
|
}
|
125
141
|
|
@@ -154,7 +170,7 @@ class Filters extends _base.BasePlugin {
|
|
154
170
|
const filterByConditionLabel = () => `${this.hot.getTranslatedPhrase(constants.FILTERS_DIVS_FILTER_BY_CONDITION)}:`;
|
155
171
|
const filterValueLabel = () => `${this.hot.getTranslatedPhrase(constants.FILTERS_DIVS_FILTER_BY_VALUE)}:`;
|
156
172
|
if (!this.components.get('filter_by_condition')) {
|
157
|
-
const conditionComponent = new _condition.
|
173
|
+
const conditionComponent = new _condition.ConditionComponent(this.hot, {
|
158
174
|
id: 'filter_by_condition',
|
159
175
|
name: filterByConditionLabel,
|
160
176
|
addSeparator: false,
|
@@ -164,13 +180,13 @@ class Filters extends _base.BasePlugin {
|
|
164
180
|
this.components.set('filter_by_condition', addConfirmationHooks(conditionComponent));
|
165
181
|
}
|
166
182
|
if (!this.components.get('filter_operators')) {
|
167
|
-
this.components.set('filter_operators', new _operators.
|
183
|
+
this.components.set('filter_operators', new _operators.OperatorsComponent(this.hot, {
|
168
184
|
id: 'filter_operators',
|
169
185
|
name: 'Operators'
|
170
186
|
}));
|
171
187
|
}
|
172
188
|
if (!this.components.get('filter_by_condition2')) {
|
173
|
-
const conditionComponent = new _condition.
|
189
|
+
const conditionComponent = new _condition.ConditionComponent(this.hot, {
|
174
190
|
id: 'filter_by_condition2',
|
175
191
|
name: '',
|
176
192
|
addSeparator: true,
|
@@ -180,13 +196,13 @@ class Filters extends _base.BasePlugin {
|
|
180
196
|
this.components.set('filter_by_condition2', addConfirmationHooks(conditionComponent));
|
181
197
|
}
|
182
198
|
if (!this.components.get('filter_by_value')) {
|
183
|
-
this.components.set('filter_by_value', addConfirmationHooks(new _value.
|
199
|
+
this.components.set('filter_by_value', addConfirmationHooks(new _value.ValueComponent(this.hot, {
|
184
200
|
id: 'filter_by_value',
|
185
201
|
name: filterValueLabel
|
186
202
|
})));
|
187
203
|
}
|
188
204
|
if (!this.components.get('filter_action_bar')) {
|
189
|
-
this.components.set('filter_action_bar', addConfirmationHooks(new _actionBar.
|
205
|
+
this.components.set('filter_action_bar', addConfirmationHooks(new _actionBar.ActionBarComponent(this.hot, {
|
190
206
|
id: 'filter_action_bar',
|
191
207
|
name: 'Action bar'
|
192
208
|
})));
|
@@ -199,7 +215,6 @@ class Filters extends _base.BasePlugin {
|
|
199
215
|
this.conditionUpdateObserver.addLocalHook('update', conditionState => this.updateComponents(conditionState));
|
200
216
|
}
|
201
217
|
this.components.forEach(component => component.show());
|
202
|
-
this.addHook('beforeDropdownMenuSetItems', items => this.onBeforeDropdownMenuSetItems(items));
|
203
218
|
this.addHook('afterDropdownMenuDefaultOptions', defaultOptions => this.onAfterDropdownMenuDefaultOptions(defaultOptions));
|
204
219
|
this.addHook('afterDropdownMenuShow', () => this.onAfterDropdownMenuShow());
|
205
220
|
this.addHook('afterDropdownMenuHide', () => this.onAfterDropdownMenuHide());
|
@@ -210,6 +225,33 @@ class Filters extends _base.BasePlugin {
|
|
210
225
|
this.dropdownMenuPlugin.disablePlugin();
|
211
226
|
this.dropdownMenuPlugin.enablePlugin();
|
212
227
|
}
|
228
|
+
if (!_classPrivateFieldGet(this, _menuFocusNavigator) && this.dropdownMenuPlugin.enabled) {
|
229
|
+
const mainMenu = this.dropdownMenuPlugin.menu;
|
230
|
+
const focusableItems = [
|
231
|
+
// A fake menu item that once focused allows escaping from the focus navigation (using Tab keys)
|
232
|
+
// to the menu navigation using arrow keys.
|
233
|
+
{
|
234
|
+
focus: () => mainMenu.focus()
|
235
|
+
}, ...Array.from(this.components).map(_ref => {
|
236
|
+
let [, component] = _ref;
|
237
|
+
return component.getElements();
|
238
|
+
}).flat()];
|
239
|
+
_classPrivateFieldSet(this, _menuFocusNavigator, (0, _focusController.createMenuFocusController)(mainMenu, focusableItems));
|
240
|
+
const forwardToFocusNavigation = event => {
|
241
|
+
_classPrivateFieldGet(this, _menuFocusNavigator).listen();
|
242
|
+
event.preventDefault();
|
243
|
+
if ((0, _unicode.isKey)(event.keyCode, 'TAB')) {
|
244
|
+
if (event.shiftKey) {
|
245
|
+
_classPrivateFieldGet(this, _menuFocusNavigator).toPreviousItem();
|
246
|
+
} else {
|
247
|
+
_classPrivateFieldGet(this, _menuFocusNavigator).toNextItem();
|
248
|
+
}
|
249
|
+
}
|
250
|
+
};
|
251
|
+
this.components.get('filter_by_value').addLocalHook('listTabKeydown', forwardToFocusNavigation);
|
252
|
+
this.components.get('filter_by_condition').addLocalHook('selectTabKeydown', forwardToFocusNavigation);
|
253
|
+
}
|
254
|
+
this.registerShortcuts();
|
213
255
|
super.enablePlugin();
|
214
256
|
}
|
215
257
|
|
@@ -230,9 +272,36 @@ class Filters extends _base.BasePlugin {
|
|
230
272
|
this.conditionCollection = null;
|
231
273
|
this.hot.rowIndexMapper.unregisterMap(this.pluginName);
|
232
274
|
}
|
275
|
+
this.unregisterShortcuts();
|
233
276
|
super.disablePlugin();
|
234
277
|
}
|
235
278
|
|
279
|
+
/**
|
280
|
+
* Register shortcuts responsible for clearing the filters.
|
281
|
+
*
|
282
|
+
* @private
|
283
|
+
*/
|
284
|
+
registerShortcuts() {
|
285
|
+
this.hot.getShortcutManager().getContext('grid').addShortcut({
|
286
|
+
keys: [['Alt', 'A']],
|
287
|
+
stopPropagation: true,
|
288
|
+
callback: () => {
|
289
|
+
this.clearConditions();
|
290
|
+
this.filter();
|
291
|
+
},
|
292
|
+
group: SHORTCUTS_GROUP
|
293
|
+
});
|
294
|
+
}
|
295
|
+
|
296
|
+
/**
|
297
|
+
* Unregister shortcuts responsible for clearing the filters.
|
298
|
+
*
|
299
|
+
* @private
|
300
|
+
*/
|
301
|
+
unregisterShortcuts() {
|
302
|
+
this.hot.getShortcutManager().getContext('grid').removeShortcutsByGroup(SHORTCUTS_GROUP);
|
303
|
+
}
|
304
|
+
|
236
305
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
237
306
|
/**
|
238
307
|
* @memberof Filters#
|
@@ -422,7 +491,6 @@ class Filters extends _base.BasePlugin {
|
|
422
491
|
this.hot.runHooks('afterFilter', conditions);
|
423
492
|
this.hot.view.adjustElementsSize(true);
|
424
493
|
this.hot.render();
|
425
|
-
this.clearColumnSelection();
|
426
494
|
}
|
427
495
|
|
428
496
|
/**
|
@@ -444,18 +512,6 @@ class Filters extends _base.BasePlugin {
|
|
444
512
|
};
|
445
513
|
}
|
446
514
|
|
447
|
-
/**
|
448
|
-
* Clears column selection.
|
449
|
-
*
|
450
|
-
* @private
|
451
|
-
*/
|
452
|
-
clearColumnSelection() {
|
453
|
-
const selectedColumn = this.getSelectedColumn();
|
454
|
-
if (selectedColumn !== null) {
|
455
|
-
this.hot.selectCell(0, selectedColumn.visualIndex);
|
456
|
-
}
|
457
|
-
}
|
458
|
-
|
459
515
|
/**
|
460
516
|
* Returns handsontable source data with cell meta based on current selection.
|
461
517
|
*
|
@@ -562,21 +618,6 @@ class Filters extends _base.BasePlugin {
|
|
562
618
|
this.components.get('filter_by_condition2').getSelectElement().closeOptions();
|
563
619
|
}
|
564
620
|
|
565
|
-
/**
|
566
|
-
* Before dropdown menu set menu items listener.
|
567
|
-
*
|
568
|
-
* @private
|
569
|
-
*/
|
570
|
-
onBeforeDropdownMenuSetItems() {
|
571
|
-
if (this.dropdownMenuPlugin) {
|
572
|
-
this.dropdownMenuPlugin.menu.addLocalHook('afterOpen', () => {
|
573
|
-
this.dropdownMenuPlugin.menu.hotMenu.updateSettings({
|
574
|
-
hiddenRows: true
|
575
|
-
});
|
576
|
-
});
|
577
|
-
}
|
578
|
-
}
|
579
|
-
|
580
621
|
/**
|
581
622
|
* After dropdown menu default options listener.
|
582
623
|
*
|
@@ -655,6 +696,7 @@ class Filters extends _base.BasePlugin {
|
|
655
696
|
this.components.forEach(component => component.saveState(physicalIndex));
|
656
697
|
this.filtersRowsMap.clear();
|
657
698
|
this.filter();
|
699
|
+
this.hot.selectCell(0, selectedColumn.visualIndex);
|
658
700
|
}
|
659
701
|
(_this$dropdownMenuPlu3 = this.dropdownMenuPlugin) === null || _this$dropdownMenuPlu3 === void 0 || _this$dropdownMenuPlu3.close();
|
660
702
|
}
|
@@ -668,7 +710,7 @@ class Filters extends _base.BasePlugin {
|
|
668
710
|
*/
|
669
711
|
onComponentChange(component, command) {
|
670
712
|
this.updateDependentComponentsVisibility();
|
671
|
-
if (component.constructor === _condition.
|
713
|
+
if (component.constructor === _condition.ConditionComponent && !command.inputsCount) {
|
672
714
|
this.setListeningDropdownMenu();
|
673
715
|
}
|
674
716
|
}
|
@@ -1,25 +1,39 @@
|
|
1
|
+
import "core-js/modules/es.array.unscopables.flat.js";
|
1
2
|
import "core-js/modules/es.array.push.js";
|
3
|
+
import "core-js/modules/es.error.cause.js";
|
4
|
+
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
5
|
+
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
6
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
7
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
8
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
9
|
+
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
10
|
+
function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
|
11
|
+
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
|
12
|
+
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
13
|
+
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
2
14
|
import { BasePlugin } from "../base/index.mjs";
|
3
15
|
import { arrayEach, arrayMap } from "../../helpers/array.mjs";
|
4
16
|
import { toSingleLine } from "../../helpers/templateLiteralTag.mjs";
|
5
17
|
import { warn } from "../../helpers/console.mjs";
|
6
18
|
import { rangeEach } from "../../helpers/number.mjs";
|
7
|
-
import EventManager from "../../eventManager.mjs";
|
8
19
|
import { addClass, removeClass } from "../../helpers/dom/element.mjs";
|
9
|
-
import {
|
20
|
+
import { isKey } from "../../helpers/unicode.mjs";
|
21
|
+
import { SEPARATOR } from "../contextMenu/predefinedItems/index.mjs";
|
10
22
|
import * as constants from "../../i18n/constants.mjs";
|
11
|
-
import ConditionComponent from "./component/condition.mjs";
|
12
|
-
import OperatorsComponent from "./component/operators.mjs";
|
13
|
-
import ValueComponent from "./component/value.mjs";
|
14
|
-
import ActionBarComponent from "./component/actionBar.mjs";
|
23
|
+
import { ConditionComponent } from "./component/condition.mjs";
|
24
|
+
import { OperatorsComponent } from "./component/operators.mjs";
|
25
|
+
import { ValueComponent } from "./component/value.mjs";
|
26
|
+
import { ActionBarComponent } from "./component/actionBar.mjs";
|
15
27
|
import ConditionCollection from "./conditionCollection.mjs";
|
16
28
|
import DataFilter from "./dataFilter.mjs";
|
17
29
|
import ConditionUpdateObserver from "./conditionUpdateObserver.mjs";
|
18
30
|
import { createArrayAssertion, toEmptyString, unifyColumnValues } from "./utils.mjs";
|
31
|
+
import { createMenuFocusController } from "./menu/focusController.mjs";
|
19
32
|
import { CONDITION_NONE, CONDITION_BY_VALUE, OPERATION_AND, OPERATION_OR, OPERATION_OR_THEN_VARIABLE } from "./constants.mjs";
|
20
33
|
import { TrimmingMap } from "../../translations/index.mjs";
|
21
34
|
export const PLUGIN_KEY = 'filters';
|
22
35
|
export const PLUGIN_PRIORITY = 250;
|
36
|
+
const SHORTCUTS_GROUP = PLUGIN_KEY;
|
23
37
|
|
24
38
|
/**
|
25
39
|
* @plugin Filters
|
@@ -56,6 +70,7 @@ export const PLUGIN_PRIORITY = 250;
|
|
56
70
|
* ```
|
57
71
|
* :::
|
58
72
|
*/
|
73
|
+
var _menuFocusNavigator = /*#__PURE__*/new WeakMap();
|
59
74
|
export class Filters extends BasePlugin {
|
60
75
|
static get PLUGIN_KEY() {
|
61
76
|
return PLUGIN_KEY;
|
@@ -66,52 +81,55 @@ export class Filters extends BasePlugin {
|
|
66
81
|
static get PLUGIN_DEPS() {
|
67
82
|
return ['plugin:DropdownMenu', 'plugin:HiddenRows', 'cell-type:checkbox'];
|
68
83
|
}
|
84
|
+
|
85
|
+
/**
|
86
|
+
* Instance of {@link DropdownMenu}.
|
87
|
+
*
|
88
|
+
* @private
|
89
|
+
* @type {DropdownMenu}
|
90
|
+
*/
|
91
|
+
|
69
92
|
constructor(hotInstance) {
|
70
93
|
super(hotInstance);
|
71
|
-
|
72
|
-
|
73
|
-
*
|
74
|
-
* @private
|
75
|
-
* @type {EventManager}
|
76
|
-
*/
|
77
|
-
this.eventManager = new EventManager(this);
|
78
|
-
/**
|
79
|
-
* Instance of {@link DropdownMenu}.
|
80
|
-
*
|
81
|
-
* @private
|
82
|
-
* @type {DropdownMenu}
|
83
|
-
*/
|
84
|
-
this.dropdownMenuPlugin = null;
|
94
|
+
// One listener for the enable/disable functionality
|
95
|
+
_defineProperty(this, "dropdownMenuPlugin", null);
|
85
96
|
/**
|
86
97
|
* Instance of {@link ConditionCollection}.
|
87
98
|
*
|
88
99
|
* @private
|
89
100
|
* @type {ConditionCollection}
|
90
101
|
*/
|
91
|
-
this
|
102
|
+
_defineProperty(this, "conditionCollection", null);
|
92
103
|
/**
|
93
104
|
* Instance of {@link ConditionUpdateObserver}.
|
94
105
|
*
|
95
106
|
* @private
|
96
107
|
* @type {ConditionUpdateObserver}
|
97
108
|
*/
|
98
|
-
this
|
109
|
+
_defineProperty(this, "conditionUpdateObserver", null);
|
99
110
|
/**
|
100
111
|
* Map, where key is component identifier and value represent `BaseComponent` element or it derivatives.
|
101
112
|
*
|
102
113
|
* @private
|
103
114
|
* @type {Map}
|
104
115
|
*/
|
105
|
-
this
|
116
|
+
_defineProperty(this, "components", new Map([['filter_by_condition', null], ['filter_operators', null], ['filter_by_condition2', null], ['filter_by_value', null], ['filter_action_bar', null]]));
|
106
117
|
/**
|
107
118
|
* Map of skipped rows by plugin.
|
108
119
|
*
|
109
120
|
* @private
|
110
121
|
* @type {null|TrimmingMap}
|
111
122
|
*/
|
112
|
-
this
|
113
|
-
|
114
|
-
|
123
|
+
_defineProperty(this, "filtersRowsMap", null);
|
124
|
+
/**
|
125
|
+
* Menu focus navigator allows switching the focus position through Tab and Shift Tab keys.
|
126
|
+
*
|
127
|
+
* @type {MenuFocusNavigator|undefined}
|
128
|
+
*/
|
129
|
+
_classPrivateFieldInitSpec(this, _menuFocusNavigator, {
|
130
|
+
writable: true,
|
131
|
+
value: void 0
|
132
|
+
});
|
115
133
|
this.hot.addHook('afterGetColHeader', (col, TH) => this.onAfterGetColHeader(col, TH));
|
116
134
|
}
|
117
135
|
|
@@ -191,7 +209,6 @@ export class Filters extends BasePlugin {
|
|
191
209
|
this.conditionUpdateObserver.addLocalHook('update', conditionState => this.updateComponents(conditionState));
|
192
210
|
}
|
193
211
|
this.components.forEach(component => component.show());
|
194
|
-
this.addHook('beforeDropdownMenuSetItems', items => this.onBeforeDropdownMenuSetItems(items));
|
195
212
|
this.addHook('afterDropdownMenuDefaultOptions', defaultOptions => this.onAfterDropdownMenuDefaultOptions(defaultOptions));
|
196
213
|
this.addHook('afterDropdownMenuShow', () => this.onAfterDropdownMenuShow());
|
197
214
|
this.addHook('afterDropdownMenuHide', () => this.onAfterDropdownMenuHide());
|
@@ -202,6 +219,33 @@ export class Filters extends BasePlugin {
|
|
202
219
|
this.dropdownMenuPlugin.disablePlugin();
|
203
220
|
this.dropdownMenuPlugin.enablePlugin();
|
204
221
|
}
|
222
|
+
if (!_classPrivateFieldGet(this, _menuFocusNavigator) && this.dropdownMenuPlugin.enabled) {
|
223
|
+
const mainMenu = this.dropdownMenuPlugin.menu;
|
224
|
+
const focusableItems = [
|
225
|
+
// A fake menu item that once focused allows escaping from the focus navigation (using Tab keys)
|
226
|
+
// to the menu navigation using arrow keys.
|
227
|
+
{
|
228
|
+
focus: () => mainMenu.focus()
|
229
|
+
}, ...Array.from(this.components).map(_ref => {
|
230
|
+
let [, component] = _ref;
|
231
|
+
return component.getElements();
|
232
|
+
}).flat()];
|
233
|
+
_classPrivateFieldSet(this, _menuFocusNavigator, createMenuFocusController(mainMenu, focusableItems));
|
234
|
+
const forwardToFocusNavigation = event => {
|
235
|
+
_classPrivateFieldGet(this, _menuFocusNavigator).listen();
|
236
|
+
event.preventDefault();
|
237
|
+
if (isKey(event.keyCode, 'TAB')) {
|
238
|
+
if (event.shiftKey) {
|
239
|
+
_classPrivateFieldGet(this, _menuFocusNavigator).toPreviousItem();
|
240
|
+
} else {
|
241
|
+
_classPrivateFieldGet(this, _menuFocusNavigator).toNextItem();
|
242
|
+
}
|
243
|
+
}
|
244
|
+
};
|
245
|
+
this.components.get('filter_by_value').addLocalHook('listTabKeydown', forwardToFocusNavigation);
|
246
|
+
this.components.get('filter_by_condition').addLocalHook('selectTabKeydown', forwardToFocusNavigation);
|
247
|
+
}
|
248
|
+
this.registerShortcuts();
|
205
249
|
super.enablePlugin();
|
206
250
|
}
|
207
251
|
|
@@ -222,9 +266,36 @@ export class Filters extends BasePlugin {
|
|
222
266
|
this.conditionCollection = null;
|
223
267
|
this.hot.rowIndexMapper.unregisterMap(this.pluginName);
|
224
268
|
}
|
269
|
+
this.unregisterShortcuts();
|
225
270
|
super.disablePlugin();
|
226
271
|
}
|
227
272
|
|
273
|
+
/**
|
274
|
+
* Register shortcuts responsible for clearing the filters.
|
275
|
+
*
|
276
|
+
* @private
|
277
|
+
*/
|
278
|
+
registerShortcuts() {
|
279
|
+
this.hot.getShortcutManager().getContext('grid').addShortcut({
|
280
|
+
keys: [['Alt', 'A']],
|
281
|
+
stopPropagation: true,
|
282
|
+
callback: () => {
|
283
|
+
this.clearConditions();
|
284
|
+
this.filter();
|
285
|
+
},
|
286
|
+
group: SHORTCUTS_GROUP
|
287
|
+
});
|
288
|
+
}
|
289
|
+
|
290
|
+
/**
|
291
|
+
* Unregister shortcuts responsible for clearing the filters.
|
292
|
+
*
|
293
|
+
* @private
|
294
|
+
*/
|
295
|
+
unregisterShortcuts() {
|
296
|
+
this.hot.getShortcutManager().getContext('grid').removeShortcutsByGroup(SHORTCUTS_GROUP);
|
297
|
+
}
|
298
|
+
|
228
299
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
229
300
|
/**
|
230
301
|
* @memberof Filters#
|
@@ -414,7 +485,6 @@ export class Filters extends BasePlugin {
|
|
414
485
|
this.hot.runHooks('afterFilter', conditions);
|
415
486
|
this.hot.view.adjustElementsSize(true);
|
416
487
|
this.hot.render();
|
417
|
-
this.clearColumnSelection();
|
418
488
|
}
|
419
489
|
|
420
490
|
/**
|
@@ -436,18 +506,6 @@ export class Filters extends BasePlugin {
|
|
436
506
|
};
|
437
507
|
}
|
438
508
|
|
439
|
-
/**
|
440
|
-
* Clears column selection.
|
441
|
-
*
|
442
|
-
* @private
|
443
|
-
*/
|
444
|
-
clearColumnSelection() {
|
445
|
-
const selectedColumn = this.getSelectedColumn();
|
446
|
-
if (selectedColumn !== null) {
|
447
|
-
this.hot.selectCell(0, selectedColumn.visualIndex);
|
448
|
-
}
|
449
|
-
}
|
450
|
-
|
451
509
|
/**
|
452
510
|
* Returns handsontable source data with cell meta based on current selection.
|
453
511
|
*
|
@@ -554,21 +612,6 @@ export class Filters extends BasePlugin {
|
|
554
612
|
this.components.get('filter_by_condition2').getSelectElement().closeOptions();
|
555
613
|
}
|
556
614
|
|
557
|
-
/**
|
558
|
-
* Before dropdown menu set menu items listener.
|
559
|
-
*
|
560
|
-
* @private
|
561
|
-
*/
|
562
|
-
onBeforeDropdownMenuSetItems() {
|
563
|
-
if (this.dropdownMenuPlugin) {
|
564
|
-
this.dropdownMenuPlugin.menu.addLocalHook('afterOpen', () => {
|
565
|
-
this.dropdownMenuPlugin.menu.hotMenu.updateSettings({
|
566
|
-
hiddenRows: true
|
567
|
-
});
|
568
|
-
});
|
569
|
-
}
|
570
|
-
}
|
571
|
-
|
572
615
|
/**
|
573
616
|
* After dropdown menu default options listener.
|
574
617
|
*
|
@@ -647,6 +690,7 @@ export class Filters extends BasePlugin {
|
|
647
690
|
this.components.forEach(component => component.saveState(physicalIndex));
|
648
691
|
this.filtersRowsMap.clear();
|
649
692
|
this.filter();
|
693
|
+
this.hot.selectCell(0, selectedColumn.visualIndex);
|
650
694
|
}
|
651
695
|
(_this$dropdownMenuPlu3 = this.dropdownMenuPlugin) === null || _this$dropdownMenuPlu3 === void 0 || _this$dropdownMenuPlu3.close();
|
652
696
|
}
|
@@ -5,7 +5,7 @@ exports.getOperationFunc = getOperationFunc;
|
|
5
5
|
exports.getOperationName = getOperationName;
|
6
6
|
exports.registerOperation = registerOperation;
|
7
7
|
require("core-js/modules/es.error.cause.js");
|
8
|
-
const operations = {};
|
8
|
+
const operations = exports.operations = {};
|
9
9
|
|
10
10
|
/**
|
11
11
|
* Get operation closure with pre-bound arguments.
|
@@ -13,7 +13,6 @@ const operations = {};
|
|
13
13
|
* @param {string} id Operator `id`.
|
14
14
|
* @returns {Function}
|
15
15
|
*/
|
16
|
-
exports.operations = operations;
|
17
16
|
function getOperationFunc(id) {
|
18
17
|
if (!operations[id]) {
|
19
18
|
throw Error(`Operation with id "${id}" does not exist.`);
|
@@ -4,11 +4,10 @@ exports.__esModule = true;
|
|
4
4
|
exports.operationResult = operationResult;
|
5
5
|
var C = _interopRequireWildcard(require("../../../i18n/constants"));
|
6
6
|
var _logicalOperationRegisterer = require("../logicalOperationRegisterer");
|
7
|
-
function _getRequireWildcardCache(
|
8
|
-
function _interopRequireWildcard(
|
9
|
-
const OPERATION_ID = 'conjunction';
|
10
|
-
exports.
|
11
|
-
const SHORT_NAME_FOR_COMPONENT = C.FILTERS_LABELS_CONJUNCTION;
|
7
|
+
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); }
|
8
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
9
|
+
const OPERATION_ID = exports.OPERATION_ID = 'conjunction';
|
10
|
+
const SHORT_NAME_FOR_COMPONENT = exports.SHORT_NAME_FOR_COMPONENT = C.FILTERS_LABELS_CONJUNCTION;
|
12
11
|
// p AND q AND w AND x AND... === TRUE?
|
13
12
|
|
14
13
|
/**
|
@@ -16,7 +15,6 @@ const SHORT_NAME_FOR_COMPONENT = C.FILTERS_LABELS_CONJUNCTION;
|
|
16
15
|
* @param {*} value The comparable value.
|
17
16
|
* @returns {boolean}
|
18
17
|
*/
|
19
|
-
exports.SHORT_NAME_FOR_COMPONENT = SHORT_NAME_FOR_COMPONENT;
|
20
18
|
function operationResult(conditions, value) {
|
21
19
|
return conditions.every(condition => condition.func(value));
|
22
20
|
}
|
@@ -4,11 +4,10 @@ exports.__esModule = true;
|
|
4
4
|
exports.operationResult = operationResult;
|
5
5
|
var C = _interopRequireWildcard(require("../../../i18n/constants"));
|
6
6
|
var _logicalOperationRegisterer = require("../logicalOperationRegisterer");
|
7
|
-
function _getRequireWildcardCache(
|
8
|
-
function _interopRequireWildcard(
|
9
|
-
const OPERATION_ID = 'disjunction';
|
10
|
-
exports.
|
11
|
-
const SHORT_NAME_FOR_COMPONENT = C.FILTERS_LABELS_DISJUNCTION;
|
7
|
+
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); }
|
8
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
9
|
+
const OPERATION_ID = exports.OPERATION_ID = 'disjunction';
|
10
|
+
const SHORT_NAME_FOR_COMPONENT = exports.SHORT_NAME_FOR_COMPONENT = C.FILTERS_LABELS_DISJUNCTION;
|
12
11
|
// (p OR q OR w OR x OR...) === TRUE?
|
13
12
|
|
14
13
|
/**
|
@@ -16,7 +15,6 @@ const SHORT_NAME_FOR_COMPONENT = C.FILTERS_LABELS_DISJUNCTION;
|
|
16
15
|
* @param {*} value The comparable value.
|
17
16
|
* @returns {boolean}
|
18
17
|
*/
|
19
|
-
exports.SHORT_NAME_FOR_COMPONENT = SHORT_NAME_FOR_COMPONENT;
|
20
18
|
function operationResult(conditions, value) {
|
21
19
|
return conditions.some(condition => condition.func(value));
|
22
20
|
}
|