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,45 +1,123 @@
|
|
1
|
-
import
|
1
|
+
import "core-js/modules/es.error.cause.js";
|
2
|
+
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
3
|
+
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
4
|
+
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
5
|
+
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
6
|
+
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; } }
|
7
|
+
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
|
8
|
+
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
|
9
|
+
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
10
|
+
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
11
|
+
import { Menu } from "../../../plugins/contextMenu/menu/index.mjs";
|
2
12
|
import { clone, extend } from "../../../helpers/object.mjs";
|
3
13
|
import { arrayEach } from "../../../helpers/array.mjs";
|
14
|
+
import { setAttribute } from "../../../helpers/dom/element.mjs";
|
4
15
|
import * as C from "../../../i18n/constants.mjs";
|
5
|
-
import { SEPARATOR } from "../../../plugins/contextMenu/predefinedItems.mjs";
|
6
|
-
import BaseUI from "./_base.mjs";
|
7
|
-
|
8
|
-
|
16
|
+
import { SEPARATOR } from "../../../plugins/contextMenu/predefinedItems/index.mjs";
|
17
|
+
import { BaseUI } from "./_base.mjs";
|
18
|
+
import { A11Y_HIDDEN, A11Y_LISTBOX } from "../../../helpers/a11y.mjs";
|
9
19
|
/**
|
10
20
|
* @private
|
11
21
|
* @class SelectUI
|
12
22
|
*/
|
13
|
-
|
23
|
+
var _menu = /*#__PURE__*/new WeakMap();
|
24
|
+
var _items = /*#__PURE__*/new WeakMap();
|
25
|
+
var _caption = /*#__PURE__*/new WeakMap();
|
26
|
+
var _captionElement = /*#__PURE__*/new WeakMap();
|
27
|
+
var _dropdown = /*#__PURE__*/new WeakMap();
|
28
|
+
var _onMenuSelect = /*#__PURE__*/new WeakSet();
|
29
|
+
var _onMenuClosed = /*#__PURE__*/new WeakSet();
|
30
|
+
var _onClick = /*#__PURE__*/new WeakSet();
|
31
|
+
export class SelectUI extends BaseUI {
|
14
32
|
static get DEFAULTS() {
|
15
33
|
return clone({
|
16
34
|
className: 'htUISelect',
|
17
|
-
wrapIt: false
|
35
|
+
wrapIt: false,
|
36
|
+
tabIndex: -1
|
18
37
|
});
|
19
38
|
}
|
39
|
+
|
40
|
+
/**
|
41
|
+
* Instance of {@link Menu}.
|
42
|
+
*
|
43
|
+
* @type {Menu}
|
44
|
+
*/
|
45
|
+
|
20
46
|
constructor(hotInstance, options) {
|
21
47
|
super(hotInstance, extend(SelectUI.DEFAULTS, options));
|
22
|
-
privatePool.set(this, {});
|
23
48
|
/**
|
24
|
-
*
|
49
|
+
* On element click listener.
|
25
50
|
*
|
26
|
-
* @
|
51
|
+
* @private
|
27
52
|
*/
|
28
|
-
this
|
53
|
+
_classPrivateMethodInitSpec(this, _onClick);
|
54
|
+
/**
|
55
|
+
* On menu closed listener.
|
56
|
+
*/
|
57
|
+
_classPrivateMethodInitSpec(this, _onMenuClosed);
|
58
|
+
/**
|
59
|
+
* On menu selected listener.
|
60
|
+
*
|
61
|
+
* @param {object} command Selected item.
|
62
|
+
*/
|
63
|
+
_classPrivateMethodInitSpec(this, _onMenuSelect);
|
64
|
+
_classPrivateFieldInitSpec(this, _menu, {
|
65
|
+
writable: true,
|
66
|
+
value: null
|
67
|
+
});
|
29
68
|
/**
|
30
69
|
* List of available select options.
|
31
70
|
*
|
32
71
|
* @type {Array}
|
33
72
|
*/
|
34
|
-
this
|
73
|
+
_classPrivateFieldInitSpec(this, _items, {
|
74
|
+
writable: true,
|
75
|
+
value: []
|
76
|
+
});
|
77
|
+
/**
|
78
|
+
* The reference to the BaseUI instance of the caption.
|
79
|
+
*
|
80
|
+
* @type {BaseUI}
|
81
|
+
*/
|
82
|
+
_classPrivateFieldInitSpec(this, _caption, {
|
83
|
+
writable: true,
|
84
|
+
value: void 0
|
85
|
+
});
|
86
|
+
/**
|
87
|
+
* The reference to the table caption element.
|
88
|
+
*
|
89
|
+
* @type {HTMLTableCaptionElement}
|
90
|
+
*/
|
91
|
+
_classPrivateFieldInitSpec(this, _captionElement, {
|
92
|
+
writable: true,
|
93
|
+
value: void 0
|
94
|
+
});
|
95
|
+
/**
|
96
|
+
* The reference to the BaseUI instance of the dropdown.
|
97
|
+
*
|
98
|
+
* @type {BaseUI}
|
99
|
+
*/
|
100
|
+
_classPrivateFieldInitSpec(this, _dropdown, {
|
101
|
+
writable: true,
|
102
|
+
value: void 0
|
103
|
+
});
|
35
104
|
this.registerHooks();
|
36
105
|
}
|
37
106
|
|
107
|
+
/**
|
108
|
+
* Gets the instance of the Menu.
|
109
|
+
*
|
110
|
+
* @returns {Menu}
|
111
|
+
*/
|
112
|
+
getMenu() {
|
113
|
+
return _classPrivateFieldGet(this, _menu);
|
114
|
+
}
|
115
|
+
|
38
116
|
/**
|
39
117
|
* Register all necessary hooks.
|
40
118
|
*/
|
41
119
|
registerHooks() {
|
42
|
-
this.addLocalHook('click', () => this.
|
120
|
+
this.addLocalHook('click', () => _classPrivateMethodGet(this, _onClick, _onClick2).call(this));
|
43
121
|
}
|
44
122
|
|
45
123
|
/**
|
@@ -48,9 +126,9 @@ class SelectUI extends BaseUI {
|
|
48
126
|
* @param {Array} items Array of objects with required keys `key` and `name`.
|
49
127
|
*/
|
50
128
|
setItems(items) {
|
51
|
-
this
|
52
|
-
if (this
|
53
|
-
this.
|
129
|
+
_classPrivateFieldSet(this, _items, this.translateNames(items));
|
130
|
+
if (_classPrivateFieldGet(this, _menu)) {
|
131
|
+
_classPrivateFieldGet(this, _menu).setMenuItems(_classPrivateFieldGet(this, _items));
|
54
132
|
}
|
55
133
|
}
|
56
134
|
|
@@ -72,26 +150,29 @@ class SelectUI extends BaseUI {
|
|
72
150
|
*/
|
73
151
|
build() {
|
74
152
|
super.build();
|
75
|
-
this
|
153
|
+
_classPrivateFieldSet(this, _menu, new Menu(this.hot, {
|
76
154
|
className: 'htSelectUI htFiltersConditionsMenu',
|
77
155
|
keepInViewport: false,
|
78
156
|
standalone: true,
|
79
157
|
container: this.options.menuContainer
|
80
|
-
});
|
81
|
-
this.
|
158
|
+
}));
|
159
|
+
_classPrivateFieldGet(this, _menu).setMenuItems(_classPrivateFieldGet(this, _items));
|
82
160
|
const caption = new BaseUI(this.hot, {
|
83
161
|
className: 'htUISelectCaption'
|
84
162
|
});
|
85
163
|
const dropdown = new BaseUI(this.hot, {
|
86
164
|
className: 'htUISelectDropdown'
|
87
165
|
});
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
166
|
+
_classPrivateFieldSet(this, _caption, caption);
|
167
|
+
_classPrivateFieldSet(this, _captionElement, caption.element);
|
168
|
+
_classPrivateFieldSet(this, _dropdown, dropdown);
|
169
|
+
if (this.hot.getSettings().ariaTags) {
|
170
|
+
setAttribute(dropdown.element, [A11Y_HIDDEN()]);
|
171
|
+
setAttribute(this._element, [A11Y_LISTBOX()]);
|
172
|
+
}
|
92
173
|
arrayEach([caption, dropdown], element => this._element.appendChild(element.element));
|
93
|
-
this.
|
94
|
-
this.
|
174
|
+
_classPrivateFieldGet(this, _menu).addLocalHook('select', command => _classPrivateMethodGet(this, _onMenuSelect, _onMenuSelect2).call(this, command));
|
175
|
+
_classPrivateFieldGet(this, _menu).addLocalHook('afterClose', () => _classPrivateMethodGet(this, _onMenuClosed, _onMenuClosed2).call(this));
|
95
176
|
this.update();
|
96
177
|
}
|
97
178
|
|
@@ -106,9 +187,9 @@ class SelectUI extends BaseUI {
|
|
106
187
|
if (this.options.value) {
|
107
188
|
conditionName = this.options.value.name;
|
108
189
|
} else {
|
109
|
-
conditionName = this.
|
190
|
+
conditionName = _classPrivateFieldGet(this, _menu).hot.getTranslatedPhrase(C.FILTERS_CONDITIONS_NONE);
|
110
191
|
}
|
111
|
-
|
192
|
+
_classPrivateFieldGet(this, _captionElement).textContent = conditionName;
|
112
193
|
super.update();
|
113
194
|
}
|
114
195
|
|
@@ -117,14 +198,25 @@ class SelectUI extends BaseUI {
|
|
117
198
|
*/
|
118
199
|
openOptions() {
|
119
200
|
const rect = this.element.getBoundingClientRect();
|
120
|
-
if (this
|
121
|
-
this.
|
122
|
-
this.
|
201
|
+
if (_classPrivateFieldGet(this, _menu)) {
|
202
|
+
_classPrivateFieldGet(this, _menu).open();
|
203
|
+
_classPrivateFieldGet(this, _menu).setPosition({
|
123
204
|
left: this.hot.isLtr() ? rect.left - 5 : rect.left - 31,
|
124
205
|
top: rect.top - 1,
|
125
206
|
width: rect.width,
|
126
207
|
height: rect.height
|
127
208
|
});
|
209
|
+
_classPrivateFieldGet(this, _menu).getNavigator().toFirstItem();
|
210
|
+
_classPrivateFieldGet(this, _menu).getKeyboardShortcutsCtrl().addCustomShortcuts([{
|
211
|
+
keys: [['Tab'], ['Shift', 'Tab']],
|
212
|
+
callback: event => {
|
213
|
+
this.closeOptions();
|
214
|
+
this.runLocalHooks('tabKeydown', event);
|
215
|
+
}
|
216
|
+
}, {
|
217
|
+
keys: [['Control/Meta', 'A']],
|
218
|
+
callback: () => false
|
219
|
+
}]);
|
128
220
|
}
|
129
221
|
}
|
130
222
|
|
@@ -132,62 +224,46 @@ class SelectUI extends BaseUI {
|
|
132
224
|
* Close select dropdown menu.
|
133
225
|
*/
|
134
226
|
closeOptions() {
|
135
|
-
if (this
|
136
|
-
this.
|
227
|
+
if (_classPrivateFieldGet(this, _menu)) {
|
228
|
+
_classPrivateFieldGet(this, _menu).close();
|
137
229
|
}
|
138
230
|
}
|
139
231
|
|
140
232
|
/**
|
141
|
-
*
|
142
|
-
*
|
143
|
-
* @private
|
144
|
-
* @param {object} command Selected item.
|
233
|
+
* Focus element.
|
145
234
|
*/
|
146
|
-
|
147
|
-
if (
|
148
|
-
this.
|
149
|
-
this.update();
|
150
|
-
this.runLocalHooks('select', this.options.value);
|
235
|
+
focus() {
|
236
|
+
if (this.isBuilt()) {
|
237
|
+
this.element.focus();
|
151
238
|
}
|
152
239
|
}
|
153
|
-
|
154
|
-
/**
|
155
|
-
* On menu closed listener.
|
156
|
-
*
|
157
|
-
* @private
|
158
|
-
*/
|
159
|
-
onMenuClosed() {
|
160
|
-
this.runLocalHooks('afterClose');
|
161
|
-
}
|
162
|
-
|
163
|
-
/**
|
164
|
-
* On element click listener.
|
165
|
-
*
|
166
|
-
* @private
|
167
|
-
*/
|
168
|
-
onClick() {
|
169
|
-
this.openOptions();
|
170
|
-
}
|
171
|
-
|
172
240
|
/**
|
173
241
|
* Destroy instance.
|
174
242
|
*/
|
175
243
|
destroy() {
|
176
|
-
if (this
|
177
|
-
this.
|
178
|
-
this
|
244
|
+
if (_classPrivateFieldGet(this, _menu)) {
|
245
|
+
_classPrivateFieldGet(this, _menu).destroy();
|
246
|
+
_classPrivateFieldSet(this, _menu, null);
|
179
247
|
}
|
180
|
-
|
181
|
-
|
182
|
-
dropdown
|
183
|
-
} = privatePool.get(this);
|
184
|
-
if (caption) {
|
185
|
-
caption.destroy();
|
248
|
+
if (_classPrivateFieldGet(this, _caption)) {
|
249
|
+
_classPrivateFieldGet(this, _caption).destroy();
|
186
250
|
}
|
187
|
-
if (
|
188
|
-
|
251
|
+
if (_classPrivateFieldGet(this, _dropdown)) {
|
252
|
+
_classPrivateFieldGet(this, _dropdown).destroy();
|
189
253
|
}
|
190
254
|
super.destroy();
|
191
255
|
}
|
192
256
|
}
|
193
|
-
|
257
|
+
function _onMenuSelect2(command) {
|
258
|
+
if (command.name !== SEPARATOR) {
|
259
|
+
this.options.value = command;
|
260
|
+
this.update();
|
261
|
+
this.runLocalHooks('select', this.options.value);
|
262
|
+
}
|
263
|
+
}
|
264
|
+
function _onMenuClosed2() {
|
265
|
+
this.runLocalHooks('afterClose');
|
266
|
+
}
|
267
|
+
function _onClick2() {
|
268
|
+
this.openOptions();
|
269
|
+
}
|
@@ -6,9 +6,8 @@ exports.getEngineSettingsWithDefaultsAndOverrides = getEngineSettingsWithDefault
|
|
6
6
|
exports.getEngineSettingsWithOverrides = getEngineSettingsWithOverrides;
|
7
7
|
exports.haveEngineSettingsChanged = haveEngineSettingsChanged;
|
8
8
|
var _formulas = require("../formulas");
|
9
|
-
const DEFAULT_LICENSE_KEY = 'internal-use-in-handsontable';
|
10
|
-
exports.
|
11
|
-
const DEFAULT_SETTINGS = {
|
9
|
+
const DEFAULT_LICENSE_KEY = exports.DEFAULT_LICENSE_KEY = 'internal-use-in-handsontable';
|
10
|
+
const DEFAULT_SETTINGS = exports.DEFAULT_SETTINGS = {
|
12
11
|
licenseKey: DEFAULT_LICENSE_KEY,
|
13
12
|
useArrayArithmetic: true,
|
14
13
|
useColumnIndex: false,
|
@@ -41,7 +40,6 @@ const DEFAULT_SETTINGS = {
|
|
41
40
|
* @param {object} hotSettings Handsontable settings object.
|
42
41
|
* @returns {object} Object containing the overriding options.
|
43
42
|
*/
|
44
|
-
exports.DEFAULT_SETTINGS = DEFAULT_SETTINGS;
|
45
43
|
function getEngineSettingsOverrides(hotSettings) {
|
46
44
|
var _hotSettings$PLUGIN_K;
|
47
45
|
return {
|
@@ -27,12 +27,9 @@ function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.
|
|
27
27
|
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
|
28
28
|
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
29
29
|
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
30
|
-
const PLUGIN_KEY = 'formulas';
|
31
|
-
exports.
|
32
|
-
const
|
33
|
-
exports.SETTING_KEYS = SETTING_KEYS;
|
34
|
-
const PLUGIN_PRIORITY = 260;
|
35
|
-
exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
|
30
|
+
const PLUGIN_KEY = exports.PLUGIN_KEY = 'formulas';
|
31
|
+
const SETTING_KEYS = exports.SETTING_KEYS = ['maxRows', 'maxColumns', 'language'];
|
32
|
+
const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 260;
|
36
33
|
_pluginHooks.default.getSingleton().register('afterNamedExpressionAdded');
|
37
34
|
_pluginHooks.default.getSingleton().register('afterNamedExpressionRemoved');
|
38
35
|
_pluginHooks.default.getSingleton().register('afterSheetAdded');
|
@@ -4,8 +4,8 @@ exports.__esModule = true;
|
|
4
4
|
exports.default = hideColumnItem;
|
5
5
|
require("core-js/modules/es.array.push.js");
|
6
6
|
var C = _interopRequireWildcard(require("../../../i18n/constants"));
|
7
|
-
function _getRequireWildcardCache(
|
8
|
-
function _interopRequireWildcard(
|
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
9
|
/**
|
10
10
|
* @param {HiddenColumns} hiddenColumnsPlugin The plugin instance.
|
11
11
|
* @returns {object}
|
@@ -5,8 +5,8 @@ exports.default = showColumnItem;
|
|
5
5
|
require("core-js/modules/es.array.push.js");
|
6
6
|
var _array = require("../../../helpers/array");
|
7
7
|
var C = _interopRequireWildcard(require("../../../i18n/constants"));
|
8
|
-
function _getRequireWildcardCache(
|
9
|
-
function _interopRequireWildcard(
|
8
|
+
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); }
|
9
|
+
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; }
|
10
10
|
/**
|
11
11
|
* @param {HiddenColumns} hiddenColumnsPlugin The plugin instance.
|
12
12
|
* @returns {object}
|
@@ -14,9 +14,13 @@ var _pluginHooks = _interopRequireDefault(require("../../pluginHooks"));
|
|
14
14
|
var _hideColumn = _interopRequireDefault(require("./contextMenuItem/hideColumn"));
|
15
15
|
var _showColumn = _interopRequireDefault(require("./contextMenuItem/showColumn"));
|
16
16
|
var _translations = require("../../translations");
|
17
|
+
var _a11y = require("../../helpers/a11y");
|
18
|
+
var _constants = require("../../i18n/constants");
|
17
19
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
20
|
+
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
18
21
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
19
22
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
23
|
+
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
|
20
24
|
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
|
21
25
|
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
22
26
|
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
@@ -26,9 +30,10 @@ _pluginHooks.default.getSingleton().register('beforeHideColumns');
|
|
26
30
|
_pluginHooks.default.getSingleton().register('afterHideColumns');
|
27
31
|
_pluginHooks.default.getSingleton().register('beforeUnhideColumns');
|
28
32
|
_pluginHooks.default.getSingleton().register('afterUnhideColumns');
|
29
|
-
const PLUGIN_KEY = 'hiddenColumns';
|
30
|
-
exports.
|
31
|
-
const
|
33
|
+
const PLUGIN_KEY = exports.PLUGIN_KEY = 'hiddenColumns';
|
34
|
+
const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 310;
|
35
|
+
const BEFORE_INDICATOR_CLASSNAME = 'beforeHiddenColumnIndicator';
|
36
|
+
const AFTER_INDICATOR_CLASSNAME = 'afterHiddenColumnIndicator';
|
32
37
|
|
33
38
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
34
39
|
|
@@ -136,12 +141,18 @@ const PLUGIN_PRIORITY = 310;
|
|
136
141
|
* ```
|
137
142
|
* :::
|
138
143
|
*/
|
139
|
-
exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
|
140
144
|
var _settings = /*#__PURE__*/new WeakMap();
|
141
145
|
var _hiddenColumnsMap = /*#__PURE__*/new WeakMap();
|
146
|
+
var _clearIndicatorElements = /*#__PURE__*/new WeakSet();
|
142
147
|
class HiddenColumns extends _base.BasePlugin {
|
143
148
|
constructor() {
|
144
149
|
super(...arguments);
|
150
|
+
/**
|
151
|
+
* Remove the indicator elements from the provided column header element.
|
152
|
+
*
|
153
|
+
* @param {HTMLElement} TH Column header element.
|
154
|
+
*/
|
155
|
+
_classPrivateMethodInitSpec(this, _clearIndicatorElements);
|
145
156
|
/**
|
146
157
|
* Cached plugin settings.
|
147
158
|
*
|
@@ -225,8 +236,15 @@ class HiddenColumns extends _base.BasePlugin {
|
|
225
236
|
* Disables the plugin functionality for this Handsontable instance.
|
226
237
|
*/
|
227
238
|
disablePlugin() {
|
239
|
+
const clearColHeader = (columnIndex, TH) => {
|
240
|
+
_classPrivateMethodGet(this, _clearIndicatorElements, _clearIndicatorElements2).call(this, TH);
|
241
|
+
};
|
228
242
|
this.hot.columnIndexMapper.unregisterMap(this.pluginName);
|
229
243
|
_classPrivateFieldSet(this, _settings, {});
|
244
|
+
this.hot.addHook('afterGetColHeader', clearColHeader);
|
245
|
+
this.hot.addHookOnce('afterViewRender', () => {
|
246
|
+
this.hot.removeHook('afterGetColHeader', clearColHeader);
|
247
|
+
});
|
230
248
|
super.disablePlugin();
|
231
249
|
this.resetCellsMeta();
|
232
250
|
}
|
@@ -368,7 +386,6 @@ class HiddenColumns extends _base.BasePlugin {
|
|
368
386
|
}
|
369
387
|
});
|
370
388
|
}
|
371
|
-
|
372
389
|
/**
|
373
390
|
* Adds the additional column width for the hidden column indicators.
|
374
391
|
*
|
@@ -473,14 +490,35 @@ class HiddenColumns extends _base.BasePlugin {
|
|
473
490
|
* @param {HTMLElement} TH Header's TH element.
|
474
491
|
*/
|
475
492
|
onAfterGetColHeader(column, TH) {
|
493
|
+
const areAriaTagsEnabled = this.hot.getSettings().ariaTags;
|
494
|
+
const beforeHiddenColumnIndicatorElement = TH.querySelector('.beforeHiddenColumnIndicator');
|
495
|
+
const afterHiddenColumnIndicatorElement = TH.querySelector('.afterHiddenColumnIndicator');
|
476
496
|
if (!_classPrivateFieldGet(this, _settings).indicators || column < 0) {
|
497
|
+
beforeHiddenColumnIndicatorElement === null || beforeHiddenColumnIndicatorElement === void 0 || beforeHiddenColumnIndicatorElement.remove();
|
498
|
+
afterHiddenColumnIndicatorElement === null || afterHiddenColumnIndicatorElement === void 0 || afterHiddenColumnIndicatorElement.remove();
|
477
499
|
return;
|
478
500
|
}
|
479
501
|
const classList = [];
|
480
502
|
if (column >= 1 && this.isHidden(column - 1)) {
|
503
|
+
if (!afterHiddenColumnIndicatorElement) {
|
504
|
+
const attributesToAdd = areAriaTagsEnabled ? [(0, _a11y.A11Y_LABEL)(this.hot.getTranslatedPhrase(_constants.COLUMN_HEADER_LABEL_AFTER_HIDDEN_COLUMN))] : [];
|
505
|
+
(0, _element.appendElement)(TH, {
|
506
|
+
tagName: 'div',
|
507
|
+
attributes: attributesToAdd,
|
508
|
+
className: AFTER_INDICATOR_CLASSNAME
|
509
|
+
});
|
510
|
+
}
|
481
511
|
classList.push('afterHiddenColumn');
|
482
512
|
}
|
483
513
|
if (column < this.hot.countCols() - 1 && this.isHidden(column + 1)) {
|
514
|
+
if (!beforeHiddenColumnIndicatorElement) {
|
515
|
+
const attributesToAdd = areAriaTagsEnabled ? [(0, _a11y.A11Y_LABEL)(this.hot.getTranslatedPhrase(_constants.COLUMN_HEADER_LABEL_BEFORE_HIDDEN_COLUMN))] : [];
|
516
|
+
(0, _element.appendElement)(TH, {
|
517
|
+
tagName: 'div',
|
518
|
+
attributes: attributesToAdd,
|
519
|
+
className: BEFORE_INDICATOR_CLASSNAME
|
520
|
+
});
|
521
|
+
}
|
484
522
|
classList.push('beforeHiddenColumn');
|
485
523
|
}
|
486
524
|
(0, _element.addClass)(TH, classList);
|
@@ -518,4 +556,9 @@ class HiddenColumns extends _base.BasePlugin {
|
|
518
556
|
super.destroy();
|
519
557
|
}
|
520
558
|
}
|
521
|
-
exports.HiddenColumns = HiddenColumns;
|
559
|
+
exports.HiddenColumns = HiddenColumns;
|
560
|
+
function _clearIndicatorElements2(TH) {
|
561
|
+
Array.from(TH.querySelectorAll(`.${AFTER_INDICATOR_CLASSNAME}, .${BEFORE_INDICATOR_CLASSNAME}`)).forEach(element => {
|
562
|
+
element.remove();
|
563
|
+
});
|
564
|
+
}
|
@@ -1,29 +1,35 @@
|
|
1
1
|
import "core-js/modules/es.array.push.js";
|
2
2
|
import "core-js/modules/es.error.cause.js";
|
3
|
+
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
3
4
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
4
5
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
6
|
+
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
|
5
7
|
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
|
6
8
|
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
7
9
|
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
8
10
|
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
9
11
|
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; } }
|
10
12
|
import { BasePlugin } from "../base/index.mjs";
|
11
|
-
import { addClass } from "../../helpers/dom/element.mjs";
|
13
|
+
import { addClass, appendElement } from "../../helpers/dom/element.mjs";
|
12
14
|
import { rangeEach } from "../../helpers/number.mjs";
|
13
15
|
import { arrayEach, arrayMap, arrayReduce } from "../../helpers/array.mjs";
|
14
16
|
import { isObject } from "../../helpers/object.mjs";
|
15
17
|
import { isUndefined } from "../../helpers/mixed.mjs";
|
16
|
-
import { SEPARATOR } from "../contextMenu/predefinedItems.mjs";
|
18
|
+
import { SEPARATOR } from "../contextMenu/predefinedItems/index.mjs";
|
17
19
|
import Hooks from "../../pluginHooks.mjs";
|
18
20
|
import hideColumnItem from "./contextMenuItem/hideColumn.mjs";
|
19
21
|
import showColumnItem from "./contextMenuItem/showColumn.mjs";
|
20
22
|
import { HidingMap } from "../../translations/index.mjs";
|
23
|
+
import { A11Y_LABEL } from "../../helpers/a11y.mjs";
|
24
|
+
import { COLUMN_HEADER_LABEL_AFTER_HIDDEN_COLUMN, COLUMN_HEADER_LABEL_BEFORE_HIDDEN_COLUMN } from "../../i18n/constants.mjs";
|
21
25
|
Hooks.getSingleton().register('beforeHideColumns');
|
22
26
|
Hooks.getSingleton().register('afterHideColumns');
|
23
27
|
Hooks.getSingleton().register('beforeUnhideColumns');
|
24
28
|
Hooks.getSingleton().register('afterUnhideColumns');
|
25
29
|
export const PLUGIN_KEY = 'hiddenColumns';
|
26
30
|
export const PLUGIN_PRIORITY = 310;
|
31
|
+
const BEFORE_INDICATOR_CLASSNAME = 'beforeHiddenColumnIndicator';
|
32
|
+
const AFTER_INDICATOR_CLASSNAME = 'afterHiddenColumnIndicator';
|
27
33
|
|
28
34
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
29
35
|
|
@@ -133,9 +139,16 @@ export const PLUGIN_PRIORITY = 310;
|
|
133
139
|
*/
|
134
140
|
var _settings = /*#__PURE__*/new WeakMap();
|
135
141
|
var _hiddenColumnsMap = /*#__PURE__*/new WeakMap();
|
142
|
+
var _clearIndicatorElements = /*#__PURE__*/new WeakSet();
|
136
143
|
export class HiddenColumns extends BasePlugin {
|
137
144
|
constructor() {
|
138
145
|
super(...arguments);
|
146
|
+
/**
|
147
|
+
* Remove the indicator elements from the provided column header element.
|
148
|
+
*
|
149
|
+
* @param {HTMLElement} TH Column header element.
|
150
|
+
*/
|
151
|
+
_classPrivateMethodInitSpec(this, _clearIndicatorElements);
|
139
152
|
/**
|
140
153
|
* Cached plugin settings.
|
141
154
|
*
|
@@ -219,8 +232,15 @@ export class HiddenColumns extends BasePlugin {
|
|
219
232
|
* Disables the plugin functionality for this Handsontable instance.
|
220
233
|
*/
|
221
234
|
disablePlugin() {
|
235
|
+
const clearColHeader = (columnIndex, TH) => {
|
236
|
+
_classPrivateMethodGet(this, _clearIndicatorElements, _clearIndicatorElements2).call(this, TH);
|
237
|
+
};
|
222
238
|
this.hot.columnIndexMapper.unregisterMap(this.pluginName);
|
223
239
|
_classPrivateFieldSet(this, _settings, {});
|
240
|
+
this.hot.addHook('afterGetColHeader', clearColHeader);
|
241
|
+
this.hot.addHookOnce('afterViewRender', () => {
|
242
|
+
this.hot.removeHook('afterGetColHeader', clearColHeader);
|
243
|
+
});
|
224
244
|
super.disablePlugin();
|
225
245
|
this.resetCellsMeta();
|
226
246
|
}
|
@@ -362,7 +382,6 @@ export class HiddenColumns extends BasePlugin {
|
|
362
382
|
}
|
363
383
|
});
|
364
384
|
}
|
365
|
-
|
366
385
|
/**
|
367
386
|
* Adds the additional column width for the hidden column indicators.
|
368
387
|
*
|
@@ -467,14 +486,35 @@ export class HiddenColumns extends BasePlugin {
|
|
467
486
|
* @param {HTMLElement} TH Header's TH element.
|
468
487
|
*/
|
469
488
|
onAfterGetColHeader(column, TH) {
|
489
|
+
const areAriaTagsEnabled = this.hot.getSettings().ariaTags;
|
490
|
+
const beforeHiddenColumnIndicatorElement = TH.querySelector('.beforeHiddenColumnIndicator');
|
491
|
+
const afterHiddenColumnIndicatorElement = TH.querySelector('.afterHiddenColumnIndicator');
|
470
492
|
if (!_classPrivateFieldGet(this, _settings).indicators || column < 0) {
|
493
|
+
beforeHiddenColumnIndicatorElement === null || beforeHiddenColumnIndicatorElement === void 0 || beforeHiddenColumnIndicatorElement.remove();
|
494
|
+
afterHiddenColumnIndicatorElement === null || afterHiddenColumnIndicatorElement === void 0 || afterHiddenColumnIndicatorElement.remove();
|
471
495
|
return;
|
472
496
|
}
|
473
497
|
const classList = [];
|
474
498
|
if (column >= 1 && this.isHidden(column - 1)) {
|
499
|
+
if (!afterHiddenColumnIndicatorElement) {
|
500
|
+
const attributesToAdd = areAriaTagsEnabled ? [A11Y_LABEL(this.hot.getTranslatedPhrase(COLUMN_HEADER_LABEL_AFTER_HIDDEN_COLUMN))] : [];
|
501
|
+
appendElement(TH, {
|
502
|
+
tagName: 'div',
|
503
|
+
attributes: attributesToAdd,
|
504
|
+
className: AFTER_INDICATOR_CLASSNAME
|
505
|
+
});
|
506
|
+
}
|
475
507
|
classList.push('afterHiddenColumn');
|
476
508
|
}
|
477
509
|
if (column < this.hot.countCols() - 1 && this.isHidden(column + 1)) {
|
510
|
+
if (!beforeHiddenColumnIndicatorElement) {
|
511
|
+
const attributesToAdd = areAriaTagsEnabled ? [A11Y_LABEL(this.hot.getTranslatedPhrase(COLUMN_HEADER_LABEL_BEFORE_HIDDEN_COLUMN))] : [];
|
512
|
+
appendElement(TH, {
|
513
|
+
tagName: 'div',
|
514
|
+
attributes: attributesToAdd,
|
515
|
+
className: BEFORE_INDICATOR_CLASSNAME
|
516
|
+
});
|
517
|
+
}
|
478
518
|
classList.push('beforeHiddenColumn');
|
479
519
|
}
|
480
520
|
addClass(TH, classList);
|
@@ -511,4 +551,9 @@ export class HiddenColumns extends BasePlugin {
|
|
511
551
|
_classPrivateFieldSet(this, _hiddenColumnsMap, null);
|
512
552
|
super.destroy();
|
513
553
|
}
|
554
|
+
}
|
555
|
+
function _clearIndicatorElements2(TH) {
|
556
|
+
Array.from(TH.querySelectorAll(`.${AFTER_INDICATOR_CLASSNAME}, .${BEFORE_INDICATOR_CLASSNAME}`)).forEach(element => {
|
557
|
+
element.remove();
|
558
|
+
});
|
514
559
|
}
|