handsontable 14.2.0 → 14.3.0-next-3fa6b18-20240410
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/renderAllColumns.js +1 -1
- package/3rdparty/walkontable/src/calculator/renderAllColumns.mjs +1 -1
- package/3rdparty/walkontable/src/calculator/renderAllRows.js +1 -1
- package/3rdparty/walkontable/src/calculator/renderAllRows.mjs +1 -1
- package/3rdparty/walkontable/src/calculator/viewportColumns.js +13 -18
- package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +13 -18
- package/3rdparty/walkontable/src/calculator/viewportRows.js +11 -16
- package/3rdparty/walkontable/src/calculator/viewportRows.mjs +11 -16
- package/3rdparty/walkontable/src/cell/coords.js +13 -18
- package/3rdparty/walkontable/src/cell/coords.mjs +13 -18
- package/3rdparty/walkontable/src/cell/range.d.ts +2 -1
- package/3rdparty/walkontable/src/cell/range.js +42 -30
- package/3rdparty/walkontable/src/cell/range.mjs +42 -30
- package/3rdparty/walkontable/src/core/_base.js +2 -2
- package/3rdparty/walkontable/src/core/_base.mjs +2 -2
- package/3rdparty/walkontable/src/core/clone.js +1 -1
- package/3rdparty/walkontable/src/core/clone.mjs +1 -1
- package/3rdparty/walkontable/src/event.js +72 -104
- package/3rdparty/walkontable/src/event.mjs +72 -104
- package/3rdparty/walkontable/src/filter/column.js +1 -1
- package/3rdparty/walkontable/src/filter/column.mjs +1 -1
- package/3rdparty/walkontable/src/filter/row.js +1 -1
- package/3rdparty/walkontable/src/filter/row.mjs +1 -1
- package/3rdparty/walkontable/src/index.js +1 -1
- package/3rdparty/walkontable/src/overlay/_base.js +1 -1
- package/3rdparty/walkontable/src/overlay/_base.mjs +1 -1
- package/3rdparty/walkontable/src/overlay/bottom.js +1 -1
- package/3rdparty/walkontable/src/overlay/bottom.mjs +1 -1
- package/3rdparty/walkontable/src/overlay/inlineStart.js +15 -1
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +16 -2
- package/3rdparty/walkontable/src/overlay/top.js +12 -1
- package/3rdparty/walkontable/src/overlay/top.mjs +13 -2
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +1 -1
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +1 -1
- package/3rdparty/walkontable/src/overlays.js +47 -5
- package/3rdparty/walkontable/src/overlays.mjs +47 -5
- package/3rdparty/walkontable/src/renderer/_base.js +1 -1
- package/3rdparty/walkontable/src/renderer/_base.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/cells.js +1 -1
- package/3rdparty/walkontable/src/renderer/cells.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +1 -1
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/rows.js +1 -1
- package/3rdparty/walkontable/src/renderer/rows.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/table.js +1 -1
- package/3rdparty/walkontable/src/renderer/table.mjs +1 -1
- package/3rdparty/walkontable/src/scroll.js +16 -18
- package/3rdparty/walkontable/src/scroll.mjs +16 -18
- package/3rdparty/walkontable/src/selection/manager.js +48 -69
- package/3rdparty/walkontable/src/selection/manager.mjs +48 -69
- package/3rdparty/walkontable/src/selection/scanner.js +33 -42
- package/3rdparty/walkontable/src/selection/scanner.mjs +33 -42
- package/3rdparty/walkontable/src/settings.js +1 -1
- package/3rdparty/walkontable/src/settings.mjs +1 -1
- package/3rdparty/walkontable/src/table.js +1 -1
- package/3rdparty/walkontable/src/table.mjs +1 -1
- package/3rdparty/walkontable/src/utils/column.js +1 -1
- package/3rdparty/walkontable/src/utils/column.mjs +1 -1
- package/3rdparty/walkontable/src/utils/columnStretching.js +28 -45
- package/3rdparty/walkontable/src/utils/columnStretching.mjs +28 -45
- package/3rdparty/walkontable/src/utils/nodesPool.js +1 -1
- package/3rdparty/walkontable/src/utils/nodesPool.mjs +1 -1
- package/3rdparty/walkontable/src/utils/orderView/view.js +2 -2
- package/3rdparty/walkontable/src/utils/orderView/view.mjs +2 -2
- package/3rdparty/walkontable/src/utils/orderView/viewSize.js +1 -1
- package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +1 -1
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +1 -1
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +1 -1
- package/3rdparty/walkontable/src/utils/row.js +1 -1
- package/3rdparty/walkontable/src/utils/row.mjs +1 -1
- package/CHANGELOG.md +20 -0
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/core/viewportScroll/index.js +4 -1
- package/core/viewportScroll/index.mjs +4 -1
- package/core/viewportScroll/scrollStrategies/focusScroll.js +15 -0
- package/core/viewportScroll/scrollStrategies/focusScroll.mjs +11 -0
- package/core.d.ts +4 -3
- package/core.js +98 -43
- package/core.mjs +98 -43
- package/dataMap/dataMap.js +1 -1
- package/dataMap/dataMap.mjs +1 -1
- package/dataMap/dataSource.js +2 -2
- package/dataMap/dataSource.mjs +2 -2
- package/dataMap/metaManager/lazyFactoryMap.js +3 -5
- package/dataMap/metaManager/lazyFactoryMap.mjs +2 -4
- package/dataMap/metaManager/metaLayers/cellMeta.js +2 -2
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +2 -2
- package/dataMap/metaManager/metaLayers/columnMeta.js +1 -1
- package/dataMap/metaManager/metaLayers/columnMeta.mjs +1 -1
- package/dataMap/metaManager/metaLayers/globalMeta.js +1 -1
- package/dataMap/metaManager/metaLayers/globalMeta.mjs +1 -1
- package/dataMap/metaManager/metaLayers/tableMeta.js +1 -1
- package/dataMap/metaManager/metaLayers/tableMeta.mjs +1 -1
- package/dataMap/metaManager/metaSchema.js +272 -272
- package/dataMap/metaManager/metaSchema.mjs +272 -272
- package/dataMap/metaManager/mods/dynamicCellMeta.js +1 -1
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +1 -1
- package/dataMap/metaManager/mods/extendMetaProperties.js +1 -1
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +1 -1
- package/dataMap/replaceData.js +1 -1
- package/dataMap/replaceData.mjs +1 -1
- package/dist/handsontable.css +4 -4
- package/dist/handsontable.full.css +4 -4
- package/dist/handsontable.full.js +9814 -10020
- package/dist/handsontable.full.min.css +3 -3
- package/dist/handsontable.full.min.js +292 -292
- package/dist/handsontable.js +7484 -7056
- package/dist/handsontable.min.css +3 -3
- package/dist/handsontable.min.js +25 -25
- package/dist/languages/all.min.js +1 -1
- package/dist/languages/ar-AR.min.js +1 -1
- package/dist/languages/cs-CZ.min.js +1 -1
- package/dist/languages/de-CH.min.js +1 -1
- package/dist/languages/de-DE.min.js +1 -1
- package/dist/languages/en-US.min.js +1 -1
- package/dist/languages/es-MX.min.js +1 -1
- package/dist/languages/fr-FR.min.js +1 -1
- package/dist/languages/hr-HR.min.js +1 -1
- package/dist/languages/it-IT.min.js +1 -1
- package/dist/languages/ja-JP.min.js +1 -1
- package/dist/languages/ko-KR.min.js +1 -1
- package/dist/languages/lv-LV.min.js +1 -1
- package/dist/languages/nb-NO.min.js +1 -1
- package/dist/languages/nl-NL.min.js +1 -1
- package/dist/languages/pl-PL.min.js +1 -1
- package/dist/languages/pt-BR.min.js +1 -1
- package/dist/languages/ru-RU.min.js +1 -1
- package/dist/languages/sr-SP.min.js +1 -1
- package/dist/languages/zh-CN.min.js +1 -1
- package/dist/languages/zh-TW.min.js +1 -1
- package/editorManager.js +26 -24
- package/editorManager.mjs +26 -24
- package/editors/autocompleteEditor/autocompleteEditor.js +7 -11
- package/editors/autocompleteEditor/autocompleteEditor.mjs +7 -11
- package/editors/baseEditor/baseEditor.js +1 -1
- package/editors/baseEditor/baseEditor.mjs +1 -1
- package/editors/dateEditor/dateEditor.js +49 -11
- package/editors/dateEditor/dateEditor.mjs +49 -11
- package/editors/selectEditor/selectEditor.js +20 -19
- package/editors/selectEditor/selectEditor.mjs +20 -19
- package/editors/textEditor/textEditor.js +1 -1
- package/editors/textEditor/textEditor.mjs +1 -1
- package/eventManager.js +2 -2
- package/eventManager.mjs +2 -2
- package/focusManager.js +64 -82
- package/focusManager.mjs +64 -82
- package/helpers/dom/element.js +23 -1
- package/helpers/dom/element.mjs +21 -1
- package/helpers/mixed.js +2 -2
- package/helpers/mixed.mjs +2 -2
- package/helpers/object.js +2 -2
- package/helpers/object.mjs +2 -2
- package/i18n/languages/ar-AR.d.ts +5 -0
- package/i18n/languages/ar-AR.js +1 -1
- package/i18n/languages/cs-CZ.d.ts +5 -0
- package/i18n/languages/cs-CZ.js +1 -1
- package/i18n/languages/de-CH.js +1 -1
- package/i18n/languages/de-DE.js +1 -1
- package/i18n/languages/en-US.js +1 -1
- package/i18n/languages/es-MX.js +1 -1
- package/i18n/languages/fr-FR.js +1 -1
- package/i18n/languages/hr-HR.d.ts +5 -0
- package/i18n/languages/hr-HR.js +1 -1
- package/i18n/languages/it-IT.js +1 -1
- package/i18n/languages/ja-JP.js +1 -1
- package/i18n/languages/ko-KR.js +1 -1
- package/i18n/languages/lv-LV.js +1 -1
- package/i18n/languages/nb-NO.js +1 -1
- package/i18n/languages/nl-NL.js +1 -1
- package/i18n/languages/pl-PL.js +1 -1
- package/i18n/languages/pt-BR.js +1 -1
- package/i18n/languages/ru-RU.js +1 -1
- package/i18n/languages/sr-SP.d.ts +5 -0
- package/i18n/languages/sr-SP.js +1 -1
- package/i18n/languages/zh-CN.js +1 -1
- package/i18n/languages/zh-TW.js +1 -1
- package/i18n/registry.js +1 -1
- package/index.d.ts +10 -0
- package/index.js +1 -1
- package/package.json +14 -10
- package/pluginHooks.d.ts +4 -3
- package/pluginHooks.js +143 -82
- package/pluginHooks.mjs +143 -82
- package/plugins/autoColumnSize/autoColumnSize.js +50 -66
- package/plugins/autoColumnSize/autoColumnSize.mjs +50 -66
- package/plugins/autoRowSize/autoRowSize.js +29 -35
- package/plugins/autoRowSize/autoRowSize.mjs +29 -35
- package/plugins/autofill/autofill.js +31 -39
- package/plugins/autofill/autofill.mjs +31 -39
- package/plugins/base/base.js +13 -18
- package/plugins/base/base.mjs +13 -18
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +6 -6
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +6 -6
- package/plugins/collapsibleColumns/collapsibleColumns.js +60 -51
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +60 -51
- package/plugins/columnSorting/columnSorting.js +50 -46
- package/plugins/columnSorting/columnSorting.mjs +50 -46
- package/plugins/columnSorting/columnStatesManager.js +1 -1
- package/plugins/columnSorting/columnStatesManager.mjs +1 -1
- package/plugins/columnSummary/columnSummary.js +36 -40
- package/plugins/columnSummary/columnSummary.mjs +36 -40
- package/plugins/columnSummary/endpoints.js +1 -1
- package/plugins/columnSummary/endpoints.mjs +1 -1
- package/plugins/comments/commentEditor.js +1 -1
- package/plugins/comments/commentEditor.mjs +1 -1
- package/plugins/comments/comments.js +117 -159
- package/plugins/comments/comments.mjs +117 -159
- package/plugins/comments/contextMenuItem/addEditComment.js +1 -1
- package/plugins/comments/contextMenuItem/readOnlyComment.js +1 -1
- package/plugins/comments/contextMenuItem/removeComment.js +1 -1
- package/plugins/comments/displaySwitch.js +1 -1
- package/plugins/comments/displaySwitch.mjs +1 -1
- package/plugins/contextMenu/commandExecutor.js +1 -1
- package/plugins/contextMenu/commandExecutor.mjs +1 -1
- package/plugins/contextMenu/contextMenu.js +24 -30
- package/plugins/contextMenu/contextMenu.mjs +24 -30
- package/plugins/contextMenu/itemsFactory.js +2 -2
- package/plugins/contextMenu/itemsFactory.mjs +2 -2
- package/plugins/contextMenu/menu/cursor.js +1 -1
- package/plugins/contextMenu/menu/cursor.mjs +1 -1
- package/plugins/contextMenu/menu/defaultShortcutsList.js +26 -10
- package/plugins/contextMenu/menu/defaultShortcutsList.mjs +26 -10
- package/plugins/contextMenu/menu/menu.js +14 -22
- package/plugins/contextMenu/menu/menu.mjs +14 -22
- package/plugins/contextMenu/menu/positioner.js +41 -58
- package/plugins/contextMenu/menu/positioner.mjs +41 -58
- package/plugins/contextMenu/predefinedItems/alignment.js +1 -1
- package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -1
- package/plugins/contextMenu/predefinedItems/columnLeft.js +1 -1
- package/plugins/contextMenu/predefinedItems/columnRight.js +1 -1
- package/plugins/contextMenu/predefinedItems/index.js +1 -1
- package/plugins/contextMenu/predefinedItems/readOnly.js +1 -1
- package/plugins/contextMenu/predefinedItems/redo.js +1 -1
- package/plugins/contextMenu/predefinedItems/removeColumn.js +1 -1
- package/plugins/contextMenu/predefinedItems/removeRow.js +1 -1
- package/plugins/contextMenu/predefinedItems/rowAbove.js +1 -1
- package/plugins/contextMenu/predefinedItems/rowBelow.js +1 -1
- package/plugins/contextMenu/predefinedItems/undo.js +1 -1
- package/plugins/copyPaste/contextMenuItem/cut.js +1 -1
- package/plugins/copyPaste/copyPaste.js +120 -161
- package/plugins/copyPaste/copyPaste.mjs +120 -161
- package/plugins/copyPaste/copyableRanges.js +43 -66
- package/plugins/copyPaste/copyableRanges.mjs +43 -66
- package/plugins/customBorders/contextMenuItem/bottom.js +1 -1
- package/plugins/customBorders/contextMenuItem/left.js +1 -1
- package/plugins/customBorders/contextMenuItem/noBorders.js +1 -1
- package/plugins/customBorders/contextMenuItem/right.js +1 -1
- package/plugins/customBorders/contextMenuItem/top.js +1 -1
- package/plugins/customBorders/customBorders.js +14 -16
- package/plugins/customBorders/customBorders.mjs +13 -15
- package/plugins/dragToScroll/dragToScroll.js +7 -7
- package/plugins/dragToScroll/dragToScroll.mjs +7 -7
- package/plugins/dropdownMenu/dropdownMenu.js +84 -110
- package/plugins/dropdownMenu/dropdownMenu.mjs +84 -110
- package/plugins/exportFile/dataProvider.js +2 -2
- package/plugins/exportFile/dataProvider.mjs +2 -2
- package/plugins/exportFile/exportFile.js +2 -2
- package/plugins/exportFile/exportFile.mjs +1 -1
- package/plugins/exportFile/types/_base.js +1 -1
- package/plugins/exportFile/types/_base.mjs +1 -1
- package/plugins/filters/component/_base.js +1 -1
- package/plugins/filters/component/_base.mjs +1 -1
- package/plugins/filters/component/actionBar.js +11 -11
- package/plugins/filters/component/actionBar.mjs +9 -9
- package/plugins/filters/component/condition.js +15 -17
- package/plugins/filters/component/condition.mjs +14 -16
- package/plugins/filters/component/operators.js +7 -7
- package/plugins/filters/component/operators.mjs +7 -7
- package/plugins/filters/component/value.js +26 -30
- package/plugins/filters/component/value.mjs +25 -29
- package/plugins/filters/condition/beginsWith.js +1 -1
- package/plugins/filters/condition/between.js +1 -1
- package/plugins/filters/condition/contains.js +1 -1
- package/plugins/filters/condition/date/after.js +1 -1
- package/plugins/filters/condition/date/before.js +1 -1
- package/plugins/filters/condition/date/today.js +1 -1
- package/plugins/filters/condition/date/tomorrow.js +1 -1
- package/plugins/filters/condition/date/yesterday.js +1 -1
- package/plugins/filters/condition/empty.js +1 -1
- package/plugins/filters/condition/endsWith.js +1 -1
- package/plugins/filters/condition/equal.js +1 -1
- package/plugins/filters/condition/greaterThan.js +1 -1
- package/plugins/filters/condition/greaterThanOrEqual.js +1 -1
- package/plugins/filters/condition/lessThan.js +1 -1
- package/plugins/filters/condition/lessThanOrEqual.js +1 -1
- package/plugins/filters/condition/none.js +1 -1
- package/plugins/filters/condition/notBetween.js +1 -1
- package/plugins/filters/condition/notContains.js +1 -1
- package/plugins/filters/condition/notEmpty.js +1 -1
- package/plugins/filters/condition/notEqual.js +1 -1
- package/plugins/filters/conditionCollection.js +1 -1
- package/plugins/filters/conditionCollection.mjs +1 -1
- package/plugins/filters/conditionUpdateObserver.js +23 -25
- package/plugins/filters/conditionUpdateObserver.mjs +23 -25
- package/plugins/filters/dataFilter.js +2 -2
- package/plugins/filters/dataFilter.mjs +2 -2
- package/plugins/filters/filters.js +84 -98
- package/plugins/filters/filters.mjs +83 -97
- package/plugins/filters/logicalOperations/conjunction.js +1 -1
- package/plugins/filters/logicalOperations/disjunction.js +1 -1
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +1 -1
- package/plugins/filters/ui/_base.js +2 -2
- package/plugins/filters/ui/_base.mjs +1 -1
- package/plugins/filters/ui/input.js +13 -19
- package/plugins/filters/ui/input.mjs +13 -19
- package/plugins/filters/ui/link.js +8 -13
- package/plugins/filters/ui/link.mjs +8 -13
- package/plugins/filters/ui/multipleSelect.js +86 -113
- package/plugins/filters/ui/multipleSelect.mjs +85 -112
- package/plugins/filters/ui/radioInput.js +12 -20
- package/plugins/filters/ui/radioInput.mjs +12 -20
- package/plugins/filters/ui/select.js +51 -73
- package/plugins/filters/ui/select.mjs +49 -71
- package/plugins/formulas/formulas.js +270 -328
- package/plugins/formulas/formulas.mjs +271 -329
- package/plugins/formulas/indexSyncer/axisSyncer.js +38 -61
- package/plugins/formulas/indexSyncer/axisSyncer.mjs +38 -61
- package/plugins/formulas/indexSyncer/index.js +25 -48
- package/plugins/formulas/indexSyncer/index.mjs +25 -48
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +1 -1
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +1 -1
- package/plugins/hiddenColumns/hiddenColumns.js +68 -87
- package/plugins/hiddenColumns/hiddenColumns.mjs +68 -87
- package/plugins/hiddenRows/contextMenuItem/hideRow.js +1 -1
- package/plugins/hiddenRows/contextMenuItem/showRow.js +1 -1
- package/plugins/hiddenRows/hiddenRows.js +67 -86
- package/plugins/hiddenRows/hiddenRows.mjs +67 -86
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -1
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -1
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +24 -32
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +25 -33
- package/plugins/manualColumnMove/manualColumnMove.js +133 -177
- package/plugins/manualColumnMove/manualColumnMove.mjs +133 -177
- package/plugins/manualColumnMove/ui/_base.js +1 -1
- package/plugins/manualColumnMove/ui/_base.mjs +1 -1
- package/plugins/manualColumnResize/manualColumnResize.js +169 -230
- package/plugins/manualColumnResize/manualColumnResize.mjs +169 -230
- package/plugins/manualRowMove/manualRowMove.js +106 -135
- package/plugins/manualRowMove/manualRowMove.mjs +106 -135
- package/plugins/manualRowMove/ui/_base.js +1 -1
- package/plugins/manualRowMove/ui/_base.mjs +1 -1
- package/plugins/manualRowResize/manualRowResize.js +150 -209
- package/plugins/manualRowResize/manualRowResize.mjs +150 -209
- package/plugins/mergeCells/calculations/autofill.js +1 -1
- package/plugins/mergeCells/calculations/autofill.mjs +1 -1
- package/plugins/mergeCells/calculations/selection.js +3 -72
- package/plugins/mergeCells/calculations/selection.mjs +3 -72
- package/plugins/mergeCells/cellCoords.js +1 -1
- package/plugins/mergeCells/cellCoords.mjs +1 -1
- package/plugins/mergeCells/cellsCollection.js +118 -2
- package/plugins/mergeCells/cellsCollection.mjs +118 -2
- package/plugins/mergeCells/contextMenuItem/toggleMerge.js +12 -2
- package/plugins/mergeCells/contextMenuItem/toggleMerge.mjs +11 -1
- package/plugins/mergeCells/focusOrder.js +305 -0
- package/plugins/mergeCells/focusOrder.mjs +300 -0
- package/plugins/mergeCells/mergeCells.js +500 -398
- package/plugins/mergeCells/mergeCells.mjs +500 -398
- package/plugins/multiColumnSorting/multiColumnSorting.js +9 -3
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +9 -3
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +2 -2
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +2 -2
- package/plugins/nestedHeaders/nestedHeaders.js +206 -254
- package/plugins/nestedHeaders/nestedHeaders.mjs +207 -255
- package/plugins/nestedHeaders/stateManager/headersTree.js +21 -32
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +21 -32
- package/plugins/nestedHeaders/stateManager/index.js +30 -41
- package/plugins/nestedHeaders/stateManager/index.mjs +30 -41
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +19 -30
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +19 -30
- package/plugins/nestedHeaders/utils/ghostTable.js +1 -1
- package/plugins/nestedHeaders/utils/ghostTable.mjs +1 -1
- package/plugins/nestedRows/data/dataManager.js +2 -2
- package/plugins/nestedRows/data/dataManager.mjs +2 -2
- package/plugins/nestedRows/nestedRows.js +154 -185
- package/plugins/nestedRows/nestedRows.mjs +155 -186
- package/plugins/nestedRows/ui/_base.js +1 -1
- package/plugins/nestedRows/ui/_base.mjs +1 -1
- package/plugins/nestedRows/ui/contextMenu.js +13 -17
- package/plugins/nestedRows/ui/contextMenu.mjs +11 -15
- package/plugins/nestedRows/utils/rowMoveController.js +6 -6
- package/plugins/nestedRows/utils/rowMoveController.mjs +6 -6
- package/plugins/persistentState/persistentState.js +1 -1
- package/plugins/persistentState/persistentState.mjs +1 -1
- package/plugins/persistentState/storage.js +3 -3
- package/plugins/persistentState/storage.mjs +3 -3
- package/plugins/search/search.js +8 -8
- package/plugins/search/search.mjs +8 -8
- package/plugins/touchScroll/touchScroll.js +16 -20
- package/plugins/touchScroll/touchScroll.mjs +17 -21
- package/plugins/trimRows/trimRows.js +7 -7
- package/plugins/trimRows/trimRows.mjs +7 -7
- package/plugins/undoRedo/index.js +1 -1
- package/renderers/checkboxRenderer/checkboxRenderer.js +8 -5
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +8 -5
- package/selection/highlight/highlight.js +16 -18
- package/selection/highlight/highlight.mjs +15 -17
- package/selection/highlight/visualSelection.js +3 -1
- package/selection/highlight/visualSelection.mjs +3 -1
- package/selection/range.js +3 -5
- package/selection/range.mjs +2 -4
- package/selection/selection.js +227 -69
- package/selection/selection.mjs +225 -67
- package/selection/transformation.js +149 -118
- package/selection/transformation.mjs +149 -118
- package/shortcutContexts/commands/editor/closeAndSave.js +2 -2
- package/shortcutContexts/commands/editor/closeAndSave.mjs +2 -2
- package/shortcutContexts/commands/editor/open.js +18 -3
- package/shortcutContexts/commands/editor/open.mjs +18 -3
- package/shortcutContexts/commands/extendCellsSelection/down.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/down.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/left.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/left.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/right.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/right.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toColumns.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +9 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +9 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +10 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +10 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toRows.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/up.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/up.mjs +1 -1
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +6 -1
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +6 -1
- package/shortcutContexts/commands/moveCellSelection/inlineStart.js +6 -1
- package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +6 -1
- package/shortcutContexts/grid.js +9 -3
- package/shortcutContexts/grid.mjs +9 -3
- package/shortcuts/context.js +3 -2
- package/shortcuts/context.mjs +3 -2
- package/shortcuts/manager.js +2 -2
- package/shortcuts/manager.mjs +2 -2
- package/tableView.js +53 -79
- package/tableView.mjs +53 -79
- package/translations/changesObservable/observable.js +21 -38
- package/translations/changesObservable/observable.mjs +21 -38
- package/translations/changesObservable/observer.js +7 -12
- package/translations/changesObservable/observer.mjs +6 -11
- package/translations/indexMapper.js +1 -1
- package/translations/indexMapper.mjs +1 -1
- package/translations/mapCollections/aggregatedCollection.js +2 -2
- package/translations/mapCollections/aggregatedCollection.mjs +2 -2
- package/translations/mapCollections/mapCollection.js +1 -1
- package/translations/mapCollections/mapCollection.mjs +1 -1
- package/translations/maps/indexMap.js +2 -2
- package/translations/maps/indexMap.mjs +2 -2
- package/translations/maps/linkedPhysicalIndexToValueMap.js +1 -1
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +1 -1
- package/utils/dataStructures/linkedList.js +7 -2
- package/utils/dataStructures/linkedList.mjs +7 -2
- package/utils/dataStructures/tree.js +2 -2
- package/utils/dataStructures/tree.mjs +2 -2
- package/utils/ghostTable.js +1 -1
- package/utils/ghostTable.mjs +1 -1
- package/utils/interval.js +27 -45
- package/utils/interval.mjs +27 -45
- package/utils/samplesGenerator.js +1 -1
- package/utils/samplesGenerator.mjs +1 -1
@@ -1,7 +1,7 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
require("core-js/modules/es.error.cause.js");
|
4
3
|
exports.__esModule = true;
|
4
|
+
require("core-js/modules/es.error.cause.js");
|
5
5
|
var _menu2 = require("../../../plugins/contextMenu/menu");
|
6
6
|
var _object = require("../../../helpers/object");
|
7
7
|
var _array = require("../../../helpers/array");
|
@@ -11,16 +11,13 @@ var _predefinedItems = require("../../../plugins/contextMenu/predefinedItems");
|
|
11
11
|
var _base = require("./_base");
|
12
12
|
var _a11y = require("../../../helpers/a11y");
|
13
13
|
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); }
|
14
|
-
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 &&
|
14
|
+
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 && {}.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; }
|
15
15
|
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
16
16
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
17
17
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
18
|
-
function _classPrivateFieldSet(
|
19
|
-
function
|
20
|
-
function
|
21
|
-
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
|
22
|
-
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
23
|
-
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
18
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
19
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
20
|
+
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
24
21
|
/**
|
25
22
|
* @private
|
26
23
|
* @class SelectUI
|
@@ -30,9 +27,7 @@ var _items = /*#__PURE__*/new WeakMap();
|
|
30
27
|
var _caption = /*#__PURE__*/new WeakMap();
|
31
28
|
var _captionElement = /*#__PURE__*/new WeakMap();
|
32
29
|
var _dropdown = /*#__PURE__*/new WeakMap();
|
33
|
-
var
|
34
|
-
var _onMenuClosed = /*#__PURE__*/new WeakSet();
|
35
|
-
var _onClick = /*#__PURE__*/new WeakSet();
|
30
|
+
var _SelectUI_brand = /*#__PURE__*/new WeakSet();
|
36
31
|
class SelectUI extends _base.BaseUI {
|
37
32
|
static get DEFAULTS() {
|
38
33
|
return (0, _object.clone)({
|
@@ -50,62 +45,37 @@ class SelectUI extends _base.BaseUI {
|
|
50
45
|
|
51
46
|
constructor(hotInstance, options) {
|
52
47
|
super(hotInstance, (0, _object.extend)(SelectUI.DEFAULTS, options));
|
53
|
-
/**
|
54
|
-
* On element click listener.
|
55
|
-
*
|
56
|
-
* @private
|
57
|
-
*/
|
58
|
-
_classPrivateMethodInitSpec(this, _onClick);
|
59
|
-
/**
|
60
|
-
* On menu closed listener.
|
61
|
-
*/
|
62
|
-
_classPrivateMethodInitSpec(this, _onMenuClosed);
|
63
48
|
/**
|
64
49
|
* On menu selected listener.
|
65
50
|
*
|
66
51
|
* @param {object} command Selected item.
|
67
52
|
*/
|
68
|
-
_classPrivateMethodInitSpec(this,
|
69
|
-
_classPrivateFieldInitSpec(this, _menu,
|
70
|
-
writable: true,
|
71
|
-
value: null
|
72
|
-
});
|
53
|
+
_classPrivateMethodInitSpec(this, _SelectUI_brand);
|
54
|
+
_classPrivateFieldInitSpec(this, _menu, null);
|
73
55
|
/**
|
74
56
|
* List of available select options.
|
75
57
|
*
|
76
58
|
* @type {Array}
|
77
59
|
*/
|
78
|
-
_classPrivateFieldInitSpec(this, _items,
|
79
|
-
writable: true,
|
80
|
-
value: []
|
81
|
-
});
|
60
|
+
_classPrivateFieldInitSpec(this, _items, []);
|
82
61
|
/**
|
83
62
|
* The reference to the BaseUI instance of the caption.
|
84
63
|
*
|
85
64
|
* @type {BaseUI}
|
86
65
|
*/
|
87
|
-
_classPrivateFieldInitSpec(this, _caption,
|
88
|
-
writable: true,
|
89
|
-
value: void 0
|
90
|
-
});
|
66
|
+
_classPrivateFieldInitSpec(this, _caption, void 0);
|
91
67
|
/**
|
92
68
|
* The reference to the table caption element.
|
93
69
|
*
|
94
70
|
* @type {HTMLTableCaptionElement}
|
95
71
|
*/
|
96
|
-
_classPrivateFieldInitSpec(this, _captionElement,
|
97
|
-
writable: true,
|
98
|
-
value: void 0
|
99
|
-
});
|
72
|
+
_classPrivateFieldInitSpec(this, _captionElement, void 0);
|
100
73
|
/**
|
101
74
|
* The reference to the BaseUI instance of the dropdown.
|
102
75
|
*
|
103
76
|
* @type {BaseUI}
|
104
77
|
*/
|
105
|
-
_classPrivateFieldInitSpec(this, _dropdown,
|
106
|
-
writable: true,
|
107
|
-
value: void 0
|
108
|
-
});
|
78
|
+
_classPrivateFieldInitSpec(this, _dropdown, void 0);
|
109
79
|
this.registerHooks();
|
110
80
|
}
|
111
81
|
|
@@ -115,14 +85,14 @@ class SelectUI extends _base.BaseUI {
|
|
115
85
|
* @returns {Menu}
|
116
86
|
*/
|
117
87
|
getMenu() {
|
118
|
-
return _classPrivateFieldGet(
|
88
|
+
return _classPrivateFieldGet(_menu, this);
|
119
89
|
}
|
120
90
|
|
121
91
|
/**
|
122
92
|
* Register all necessary hooks.
|
123
93
|
*/
|
124
94
|
registerHooks() {
|
125
|
-
this.addLocalHook('click', () =>
|
95
|
+
this.addLocalHook('click', () => _assertClassBrand(_SelectUI_brand, this, _onClick).call(this));
|
126
96
|
}
|
127
97
|
|
128
98
|
/**
|
@@ -131,9 +101,9 @@ class SelectUI extends _base.BaseUI {
|
|
131
101
|
* @param {Array} items Array of objects with required keys `key` and `name`.
|
132
102
|
*/
|
133
103
|
setItems(items) {
|
134
|
-
_classPrivateFieldSet(
|
135
|
-
if (_classPrivateFieldGet(
|
136
|
-
_classPrivateFieldGet(
|
104
|
+
_classPrivateFieldSet(_items, this, this.translateNames(items));
|
105
|
+
if (_classPrivateFieldGet(_menu, this)) {
|
106
|
+
_classPrivateFieldGet(_menu, this).setMenuItems(_classPrivateFieldGet(_items, this));
|
137
107
|
}
|
138
108
|
}
|
139
109
|
|
@@ -155,29 +125,29 @@ class SelectUI extends _base.BaseUI {
|
|
155
125
|
*/
|
156
126
|
build() {
|
157
127
|
super.build();
|
158
|
-
_classPrivateFieldSet(
|
128
|
+
_classPrivateFieldSet(_menu, this, new _menu2.Menu(this.hot, {
|
159
129
|
className: 'htSelectUI htFiltersConditionsMenu',
|
160
130
|
keepInViewport: false,
|
161
131
|
standalone: true,
|
162
132
|
container: this.options.menuContainer
|
163
133
|
}));
|
164
|
-
_classPrivateFieldGet(
|
134
|
+
_classPrivateFieldGet(_menu, this).setMenuItems(_classPrivateFieldGet(_items, this));
|
165
135
|
const caption = new _base.BaseUI(this.hot, {
|
166
136
|
className: 'htUISelectCaption'
|
167
137
|
});
|
168
138
|
const dropdown = new _base.BaseUI(this.hot, {
|
169
139
|
className: 'htUISelectDropdown'
|
170
140
|
});
|
171
|
-
_classPrivateFieldSet(
|
172
|
-
_classPrivateFieldSet(
|
173
|
-
_classPrivateFieldSet(
|
141
|
+
_classPrivateFieldSet(_caption, this, caption);
|
142
|
+
_classPrivateFieldSet(_captionElement, this, caption.element);
|
143
|
+
_classPrivateFieldSet(_dropdown, this, dropdown);
|
174
144
|
if (this.hot.getSettings().ariaTags) {
|
175
145
|
(0, _element.setAttribute)(dropdown.element, [(0, _a11y.A11Y_HIDDEN)()]);
|
176
146
|
(0, _element.setAttribute)(this._element, [(0, _a11y.A11Y_LISTBOX)()]);
|
177
147
|
}
|
178
148
|
(0, _array.arrayEach)([caption, dropdown], element => this._element.appendChild(element.element));
|
179
|
-
_classPrivateFieldGet(
|
180
|
-
_classPrivateFieldGet(
|
149
|
+
_classPrivateFieldGet(_menu, this).addLocalHook('select', command => _assertClassBrand(_SelectUI_brand, this, _onMenuSelect).call(this, command));
|
150
|
+
_classPrivateFieldGet(_menu, this).addLocalHook('afterClose', () => _assertClassBrand(_SelectUI_brand, this, _onMenuClosed).call(this));
|
181
151
|
this.update();
|
182
152
|
}
|
183
153
|
|
@@ -192,9 +162,9 @@ class SelectUI extends _base.BaseUI {
|
|
192
162
|
if (this.options.value) {
|
193
163
|
conditionName = this.options.value.name;
|
194
164
|
} else {
|
195
|
-
conditionName = _classPrivateFieldGet(
|
165
|
+
conditionName = _classPrivateFieldGet(_menu, this).hot.getTranslatedPhrase(C.FILTERS_CONDITIONS_NONE);
|
196
166
|
}
|
197
|
-
_classPrivateFieldGet(
|
167
|
+
_classPrivateFieldGet(_captionElement, this).textContent = conditionName;
|
198
168
|
super.update();
|
199
169
|
}
|
200
170
|
|
@@ -203,16 +173,16 @@ class SelectUI extends _base.BaseUI {
|
|
203
173
|
*/
|
204
174
|
openOptions() {
|
205
175
|
const rect = this.element.getBoundingClientRect();
|
206
|
-
if (_classPrivateFieldGet(
|
207
|
-
_classPrivateFieldGet(
|
208
|
-
_classPrivateFieldGet(
|
176
|
+
if (_classPrivateFieldGet(_menu, this)) {
|
177
|
+
_classPrivateFieldGet(_menu, this).open();
|
178
|
+
_classPrivateFieldGet(_menu, this).setPosition({
|
209
179
|
left: this.hot.isLtr() ? rect.left - 5 : rect.left - 31,
|
210
180
|
top: rect.top - 1,
|
211
181
|
width: rect.width,
|
212
182
|
height: rect.height
|
213
183
|
});
|
214
|
-
_classPrivateFieldGet(
|
215
|
-
_classPrivateFieldGet(
|
184
|
+
_classPrivateFieldGet(_menu, this).getNavigator().toFirstItem();
|
185
|
+
_classPrivateFieldGet(_menu, this).getKeyboardShortcutsCtrl().addCustomShortcuts([{
|
216
186
|
keys: [['Tab'], ['Shift', 'Tab']],
|
217
187
|
callback: event => {
|
218
188
|
this.closeOptions();
|
@@ -229,8 +199,8 @@ class SelectUI extends _base.BaseUI {
|
|
229
199
|
* Close select dropdown menu.
|
230
200
|
*/
|
231
201
|
closeOptions() {
|
232
|
-
if (_classPrivateFieldGet(
|
233
|
-
_classPrivateFieldGet(
|
202
|
+
if (_classPrivateFieldGet(_menu, this)) {
|
203
|
+
_classPrivateFieldGet(_menu, this).close();
|
234
204
|
}
|
235
205
|
}
|
236
206
|
|
@@ -246,30 +216,38 @@ class SelectUI extends _base.BaseUI {
|
|
246
216
|
* Destroy instance.
|
247
217
|
*/
|
248
218
|
destroy() {
|
249
|
-
if (_classPrivateFieldGet(
|
250
|
-
_classPrivateFieldGet(
|
251
|
-
_classPrivateFieldSet(
|
219
|
+
if (_classPrivateFieldGet(_menu, this)) {
|
220
|
+
_classPrivateFieldGet(_menu, this).destroy();
|
221
|
+
_classPrivateFieldSet(_menu, this, null);
|
252
222
|
}
|
253
|
-
if (_classPrivateFieldGet(
|
254
|
-
_classPrivateFieldGet(
|
223
|
+
if (_classPrivateFieldGet(_caption, this)) {
|
224
|
+
_classPrivateFieldGet(_caption, this).destroy();
|
255
225
|
}
|
256
|
-
if (_classPrivateFieldGet(
|
257
|
-
_classPrivateFieldGet(
|
226
|
+
if (_classPrivateFieldGet(_dropdown, this)) {
|
227
|
+
_classPrivateFieldGet(_dropdown, this).destroy();
|
258
228
|
}
|
259
229
|
super.destroy();
|
260
230
|
}
|
261
231
|
}
|
262
232
|
exports.SelectUI = SelectUI;
|
263
|
-
function
|
233
|
+
function _onMenuSelect(command) {
|
264
234
|
if (command.name !== _predefinedItems.SEPARATOR) {
|
265
235
|
this.options.value = command;
|
266
236
|
this.update();
|
267
237
|
this.runLocalHooks('select', this.options.value);
|
268
238
|
}
|
269
239
|
}
|
270
|
-
|
240
|
+
/**
|
241
|
+
* On menu closed listener.
|
242
|
+
*/
|
243
|
+
function _onMenuClosed() {
|
271
244
|
this.runLocalHooks('afterClose');
|
272
245
|
}
|
273
|
-
|
246
|
+
/**
|
247
|
+
* On element click listener.
|
248
|
+
*
|
249
|
+
* @private
|
250
|
+
*/
|
251
|
+
function _onClick() {
|
274
252
|
this.openOptions();
|
275
253
|
}
|
@@ -2,12 +2,9 @@ import "core-js/modules/es.error.cause.js";
|
|
2
2
|
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
3
3
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
4
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(
|
6
|
-
function
|
7
|
-
function
|
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; }
|
5
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
6
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
7
|
+
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
11
8
|
import { Menu } from "../../../plugins/contextMenu/menu/index.mjs";
|
12
9
|
import { clone, extend } from "../../../helpers/object.mjs";
|
13
10
|
import { arrayEach } from "../../../helpers/array.mjs";
|
@@ -25,9 +22,7 @@ var _items = /*#__PURE__*/new WeakMap();
|
|
25
22
|
var _caption = /*#__PURE__*/new WeakMap();
|
26
23
|
var _captionElement = /*#__PURE__*/new WeakMap();
|
27
24
|
var _dropdown = /*#__PURE__*/new WeakMap();
|
28
|
-
var
|
29
|
-
var _onMenuClosed = /*#__PURE__*/new WeakSet();
|
30
|
-
var _onClick = /*#__PURE__*/new WeakSet();
|
25
|
+
var _SelectUI_brand = /*#__PURE__*/new WeakSet();
|
31
26
|
export class SelectUI extends BaseUI {
|
32
27
|
static get DEFAULTS() {
|
33
28
|
return clone({
|
@@ -45,62 +40,37 @@ export class SelectUI extends BaseUI {
|
|
45
40
|
|
46
41
|
constructor(hotInstance, options) {
|
47
42
|
super(hotInstance, extend(SelectUI.DEFAULTS, options));
|
48
|
-
/**
|
49
|
-
* On element click listener.
|
50
|
-
*
|
51
|
-
* @private
|
52
|
-
*/
|
53
|
-
_classPrivateMethodInitSpec(this, _onClick);
|
54
|
-
/**
|
55
|
-
* On menu closed listener.
|
56
|
-
*/
|
57
|
-
_classPrivateMethodInitSpec(this, _onMenuClosed);
|
58
43
|
/**
|
59
44
|
* On menu selected listener.
|
60
45
|
*
|
61
46
|
* @param {object} command Selected item.
|
62
47
|
*/
|
63
|
-
_classPrivateMethodInitSpec(this,
|
64
|
-
_classPrivateFieldInitSpec(this, _menu,
|
65
|
-
writable: true,
|
66
|
-
value: null
|
67
|
-
});
|
48
|
+
_classPrivateMethodInitSpec(this, _SelectUI_brand);
|
49
|
+
_classPrivateFieldInitSpec(this, _menu, null);
|
68
50
|
/**
|
69
51
|
* List of available select options.
|
70
52
|
*
|
71
53
|
* @type {Array}
|
72
54
|
*/
|
73
|
-
_classPrivateFieldInitSpec(this, _items,
|
74
|
-
writable: true,
|
75
|
-
value: []
|
76
|
-
});
|
55
|
+
_classPrivateFieldInitSpec(this, _items, []);
|
77
56
|
/**
|
78
57
|
* The reference to the BaseUI instance of the caption.
|
79
58
|
*
|
80
59
|
* @type {BaseUI}
|
81
60
|
*/
|
82
|
-
_classPrivateFieldInitSpec(this, _caption,
|
83
|
-
writable: true,
|
84
|
-
value: void 0
|
85
|
-
});
|
61
|
+
_classPrivateFieldInitSpec(this, _caption, void 0);
|
86
62
|
/**
|
87
63
|
* The reference to the table caption element.
|
88
64
|
*
|
89
65
|
* @type {HTMLTableCaptionElement}
|
90
66
|
*/
|
91
|
-
_classPrivateFieldInitSpec(this, _captionElement,
|
92
|
-
writable: true,
|
93
|
-
value: void 0
|
94
|
-
});
|
67
|
+
_classPrivateFieldInitSpec(this, _captionElement, void 0);
|
95
68
|
/**
|
96
69
|
* The reference to the BaseUI instance of the dropdown.
|
97
70
|
*
|
98
71
|
* @type {BaseUI}
|
99
72
|
*/
|
100
|
-
_classPrivateFieldInitSpec(this, _dropdown,
|
101
|
-
writable: true,
|
102
|
-
value: void 0
|
103
|
-
});
|
73
|
+
_classPrivateFieldInitSpec(this, _dropdown, void 0);
|
104
74
|
this.registerHooks();
|
105
75
|
}
|
106
76
|
|
@@ -110,14 +80,14 @@ export class SelectUI extends BaseUI {
|
|
110
80
|
* @returns {Menu}
|
111
81
|
*/
|
112
82
|
getMenu() {
|
113
|
-
return _classPrivateFieldGet(
|
83
|
+
return _classPrivateFieldGet(_menu, this);
|
114
84
|
}
|
115
85
|
|
116
86
|
/**
|
117
87
|
* Register all necessary hooks.
|
118
88
|
*/
|
119
89
|
registerHooks() {
|
120
|
-
this.addLocalHook('click', () =>
|
90
|
+
this.addLocalHook('click', () => _assertClassBrand(_SelectUI_brand, this, _onClick).call(this));
|
121
91
|
}
|
122
92
|
|
123
93
|
/**
|
@@ -126,9 +96,9 @@ export class SelectUI extends BaseUI {
|
|
126
96
|
* @param {Array} items Array of objects with required keys `key` and `name`.
|
127
97
|
*/
|
128
98
|
setItems(items) {
|
129
|
-
_classPrivateFieldSet(
|
130
|
-
if (_classPrivateFieldGet(
|
131
|
-
_classPrivateFieldGet(
|
99
|
+
_classPrivateFieldSet(_items, this, this.translateNames(items));
|
100
|
+
if (_classPrivateFieldGet(_menu, this)) {
|
101
|
+
_classPrivateFieldGet(_menu, this).setMenuItems(_classPrivateFieldGet(_items, this));
|
132
102
|
}
|
133
103
|
}
|
134
104
|
|
@@ -150,29 +120,29 @@ export class SelectUI extends BaseUI {
|
|
150
120
|
*/
|
151
121
|
build() {
|
152
122
|
super.build();
|
153
|
-
_classPrivateFieldSet(
|
123
|
+
_classPrivateFieldSet(_menu, this, new Menu(this.hot, {
|
154
124
|
className: 'htSelectUI htFiltersConditionsMenu',
|
155
125
|
keepInViewport: false,
|
156
126
|
standalone: true,
|
157
127
|
container: this.options.menuContainer
|
158
128
|
}));
|
159
|
-
_classPrivateFieldGet(
|
129
|
+
_classPrivateFieldGet(_menu, this).setMenuItems(_classPrivateFieldGet(_items, this));
|
160
130
|
const caption = new BaseUI(this.hot, {
|
161
131
|
className: 'htUISelectCaption'
|
162
132
|
});
|
163
133
|
const dropdown = new BaseUI(this.hot, {
|
164
134
|
className: 'htUISelectDropdown'
|
165
135
|
});
|
166
|
-
_classPrivateFieldSet(
|
167
|
-
_classPrivateFieldSet(
|
168
|
-
_classPrivateFieldSet(
|
136
|
+
_classPrivateFieldSet(_caption, this, caption);
|
137
|
+
_classPrivateFieldSet(_captionElement, this, caption.element);
|
138
|
+
_classPrivateFieldSet(_dropdown, this, dropdown);
|
169
139
|
if (this.hot.getSettings().ariaTags) {
|
170
140
|
setAttribute(dropdown.element, [A11Y_HIDDEN()]);
|
171
141
|
setAttribute(this._element, [A11Y_LISTBOX()]);
|
172
142
|
}
|
173
143
|
arrayEach([caption, dropdown], element => this._element.appendChild(element.element));
|
174
|
-
_classPrivateFieldGet(
|
175
|
-
_classPrivateFieldGet(
|
144
|
+
_classPrivateFieldGet(_menu, this).addLocalHook('select', command => _assertClassBrand(_SelectUI_brand, this, _onMenuSelect).call(this, command));
|
145
|
+
_classPrivateFieldGet(_menu, this).addLocalHook('afterClose', () => _assertClassBrand(_SelectUI_brand, this, _onMenuClosed).call(this));
|
176
146
|
this.update();
|
177
147
|
}
|
178
148
|
|
@@ -187,9 +157,9 @@ export class SelectUI extends BaseUI {
|
|
187
157
|
if (this.options.value) {
|
188
158
|
conditionName = this.options.value.name;
|
189
159
|
} else {
|
190
|
-
conditionName = _classPrivateFieldGet(
|
160
|
+
conditionName = _classPrivateFieldGet(_menu, this).hot.getTranslatedPhrase(C.FILTERS_CONDITIONS_NONE);
|
191
161
|
}
|
192
|
-
_classPrivateFieldGet(
|
162
|
+
_classPrivateFieldGet(_captionElement, this).textContent = conditionName;
|
193
163
|
super.update();
|
194
164
|
}
|
195
165
|
|
@@ -198,16 +168,16 @@ export class SelectUI extends BaseUI {
|
|
198
168
|
*/
|
199
169
|
openOptions() {
|
200
170
|
const rect = this.element.getBoundingClientRect();
|
201
|
-
if (_classPrivateFieldGet(
|
202
|
-
_classPrivateFieldGet(
|
203
|
-
_classPrivateFieldGet(
|
171
|
+
if (_classPrivateFieldGet(_menu, this)) {
|
172
|
+
_classPrivateFieldGet(_menu, this).open();
|
173
|
+
_classPrivateFieldGet(_menu, this).setPosition({
|
204
174
|
left: this.hot.isLtr() ? rect.left - 5 : rect.left - 31,
|
205
175
|
top: rect.top - 1,
|
206
176
|
width: rect.width,
|
207
177
|
height: rect.height
|
208
178
|
});
|
209
|
-
_classPrivateFieldGet(
|
210
|
-
_classPrivateFieldGet(
|
179
|
+
_classPrivateFieldGet(_menu, this).getNavigator().toFirstItem();
|
180
|
+
_classPrivateFieldGet(_menu, this).getKeyboardShortcutsCtrl().addCustomShortcuts([{
|
211
181
|
keys: [['Tab'], ['Shift', 'Tab']],
|
212
182
|
callback: event => {
|
213
183
|
this.closeOptions();
|
@@ -224,8 +194,8 @@ export class SelectUI extends BaseUI {
|
|
224
194
|
* Close select dropdown menu.
|
225
195
|
*/
|
226
196
|
closeOptions() {
|
227
|
-
if (_classPrivateFieldGet(
|
228
|
-
_classPrivateFieldGet(
|
197
|
+
if (_classPrivateFieldGet(_menu, this)) {
|
198
|
+
_classPrivateFieldGet(_menu, this).close();
|
229
199
|
}
|
230
200
|
}
|
231
201
|
|
@@ -241,29 +211,37 @@ export class SelectUI extends BaseUI {
|
|
241
211
|
* Destroy instance.
|
242
212
|
*/
|
243
213
|
destroy() {
|
244
|
-
if (_classPrivateFieldGet(
|
245
|
-
_classPrivateFieldGet(
|
246
|
-
_classPrivateFieldSet(
|
214
|
+
if (_classPrivateFieldGet(_menu, this)) {
|
215
|
+
_classPrivateFieldGet(_menu, this).destroy();
|
216
|
+
_classPrivateFieldSet(_menu, this, null);
|
247
217
|
}
|
248
|
-
if (_classPrivateFieldGet(
|
249
|
-
_classPrivateFieldGet(
|
218
|
+
if (_classPrivateFieldGet(_caption, this)) {
|
219
|
+
_classPrivateFieldGet(_caption, this).destroy();
|
250
220
|
}
|
251
|
-
if (_classPrivateFieldGet(
|
252
|
-
_classPrivateFieldGet(
|
221
|
+
if (_classPrivateFieldGet(_dropdown, this)) {
|
222
|
+
_classPrivateFieldGet(_dropdown, this).destroy();
|
253
223
|
}
|
254
224
|
super.destroy();
|
255
225
|
}
|
256
226
|
}
|
257
|
-
function
|
227
|
+
function _onMenuSelect(command) {
|
258
228
|
if (command.name !== SEPARATOR) {
|
259
229
|
this.options.value = command;
|
260
230
|
this.update();
|
261
231
|
this.runLocalHooks('select', this.options.value);
|
262
232
|
}
|
263
233
|
}
|
264
|
-
|
234
|
+
/**
|
235
|
+
* On menu closed listener.
|
236
|
+
*/
|
237
|
+
function _onMenuClosed() {
|
265
238
|
this.runLocalHooks('afterClose');
|
266
239
|
}
|
267
|
-
|
240
|
+
/**
|
241
|
+
* On element click listener.
|
242
|
+
*
|
243
|
+
* @private
|
244
|
+
*/
|
245
|
+
function _onClick() {
|
268
246
|
this.openOptions();
|
269
247
|
}
|