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,11 +1,9 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
2
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
3
3
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
4
|
-
function _classPrivateFieldGet(
|
5
|
-
function
|
6
|
-
function
|
7
|
-
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
8
|
-
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; } }
|
4
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
5
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
6
|
+
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"); }
|
9
7
|
import { clone, extend } from "../../../helpers/object.mjs";
|
10
8
|
import { BaseUI } from "./_base.mjs";
|
11
9
|
/**
|
@@ -31,10 +29,7 @@ export class LinkUI extends BaseUI {
|
|
31
29
|
|
32
30
|
constructor(hotInstance, options) {
|
33
31
|
super(hotInstance, extend(LinkUI.DEFAULTS, options));
|
34
|
-
_classPrivateFieldInitSpec(this, _link,
|
35
|
-
writable: true,
|
36
|
-
value: void 0
|
37
|
-
});
|
32
|
+
_classPrivateFieldInitSpec(this, _link, void 0);
|
38
33
|
}
|
39
34
|
|
40
35
|
/**
|
@@ -42,7 +37,7 @@ export class LinkUI extends BaseUI {
|
|
42
37
|
*/
|
43
38
|
build() {
|
44
39
|
super.build();
|
45
|
-
_classPrivateFieldSet(
|
40
|
+
_classPrivateFieldSet(_link, this, this._element.firstChild);
|
46
41
|
}
|
47
42
|
|
48
43
|
/**
|
@@ -52,7 +47,7 @@ export class LinkUI extends BaseUI {
|
|
52
47
|
if (!this.isBuilt()) {
|
53
48
|
return;
|
54
49
|
}
|
55
|
-
_classPrivateFieldGet(
|
50
|
+
_classPrivateFieldGet(_link, this).textContent = this.translateIfPossible(this.options.textContent);
|
56
51
|
}
|
57
52
|
|
58
53
|
/**
|
@@ -60,7 +55,7 @@ export class LinkUI extends BaseUI {
|
|
60
55
|
*/
|
61
56
|
focus() {
|
62
57
|
if (this.isBuilt()) {
|
63
|
-
_classPrivateFieldGet(
|
58
|
+
_classPrivateFieldGet(_link, this).focus();
|
64
59
|
}
|
65
60
|
}
|
66
61
|
|
@@ -68,6 +63,6 @@ export class LinkUI extends BaseUI {
|
|
68
63
|
* Activate the element.
|
69
64
|
*/
|
70
65
|
activate() {
|
71
|
-
_classPrivateFieldGet(
|
66
|
+
_classPrivateFieldGet(_link, this).click();
|
72
67
|
}
|
73
68
|
}
|
@@ -1,8 +1,8 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
exports.__esModule = true;
|
4
|
-
require("core-js/modules/es.array.push.js");
|
5
4
|
require("core-js/modules/es.error.cause.js");
|
5
|
+
require("core-js/modules/es.array.push.js");
|
6
6
|
var _element = require("../../../helpers/dom/element");
|
7
7
|
var _object = require("../../../helpers/object");
|
8
8
|
var _array = require("../../../helpers/array");
|
@@ -16,16 +16,13 @@ var _input = require("./input");
|
|
16
16
|
var _link = require("./link");
|
17
17
|
var _utils = require("../utils");
|
18
18
|
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); }
|
19
|
-
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 &&
|
19
|
+
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; }
|
20
20
|
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
21
21
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
22
22
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
23
|
-
function
|
24
|
-
function
|
25
|
-
function
|
26
|
-
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
27
|
-
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
28
|
-
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; } }
|
23
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
24
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
25
|
+
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"); }
|
29
26
|
const SHORTCUTS_GROUP = 'multipleSelect.itemBox';
|
30
27
|
|
31
28
|
/**
|
@@ -38,10 +35,7 @@ var _locale = /*#__PURE__*/new WeakMap();
|
|
38
35
|
var _searchInput = /*#__PURE__*/new WeakMap();
|
39
36
|
var _selectAllUI = /*#__PURE__*/new WeakMap();
|
40
37
|
var _clearAllUI = /*#__PURE__*/new WeakMap();
|
41
|
-
var
|
42
|
-
var _onInputKeyDown = /*#__PURE__*/new WeakSet();
|
43
|
-
var _onSelectAllClick = /*#__PURE__*/new WeakSet();
|
44
|
-
var _onClearAllClick = /*#__PURE__*/new WeakSet();
|
38
|
+
var _MultipleSelectUI_brand = /*#__PURE__*/new WeakSet();
|
45
39
|
class MultipleSelectUI extends _base.BaseUI {
|
46
40
|
static get DEFAULTS() {
|
47
41
|
return (0, _object.clone)({
|
@@ -58,88 +52,52 @@ class MultipleSelectUI extends _base.BaseUI {
|
|
58
52
|
|
59
53
|
constructor(hotInstance, options) {
|
60
54
|
super(hotInstance, (0, _object.extend)(MultipleSelectUI.DEFAULTS, options));
|
61
|
-
/**
|
62
|
-
* On click listener for "Clear" link.
|
63
|
-
*
|
64
|
-
* @param {DOMEvent} event The mouse event object.
|
65
|
-
*/
|
66
|
-
_classPrivateMethodInitSpec(this, _onClearAllClick);
|
67
|
-
/**
|
68
|
-
* On click listener for "Select all" link.
|
69
|
-
*
|
70
|
-
* @param {DOMEvent} event The mouse event object.
|
71
|
-
*/
|
72
|
-
_classPrivateMethodInitSpec(this, _onSelectAllClick);
|
73
|
-
/**
|
74
|
-
* 'keydown' event listener for input element.
|
75
|
-
*
|
76
|
-
* @param {Event} event DOM event.
|
77
|
-
*/
|
78
|
-
_classPrivateMethodInitSpec(this, _onInputKeyDown);
|
79
55
|
/**
|
80
56
|
* 'input' event listener for input element.
|
81
57
|
*
|
82
58
|
* @param {Event} event DOM event.
|
83
59
|
*/
|
84
|
-
_classPrivateMethodInitSpec(this,
|
85
|
-
_classPrivateFieldInitSpec(this, _items,
|
86
|
-
writable: true,
|
87
|
-
value: []
|
88
|
-
});
|
60
|
+
_classPrivateMethodInitSpec(this, _MultipleSelectUI_brand);
|
61
|
+
_classPrivateFieldInitSpec(this, _items, []);
|
89
62
|
/**
|
90
63
|
* Handsontable instance used as items list element.
|
91
64
|
*
|
92
65
|
* @type {Handsontable}
|
93
66
|
*/
|
94
|
-
_classPrivateFieldInitSpec(this, _itemsBox,
|
95
|
-
writable: true,
|
96
|
-
value: void 0
|
97
|
-
});
|
67
|
+
_classPrivateFieldInitSpec(this, _itemsBox, void 0);
|
98
68
|
/**
|
99
69
|
* A locale for the component used to compare filtered values.
|
100
70
|
*
|
101
71
|
* @type {string}
|
102
72
|
*/
|
103
|
-
_classPrivateFieldInitSpec(this, _locale,
|
104
|
-
writable: true,
|
105
|
-
value: void 0
|
106
|
-
});
|
73
|
+
_classPrivateFieldInitSpec(this, _locale, void 0);
|
107
74
|
/**
|
108
75
|
* Input element.
|
109
76
|
*
|
110
77
|
* @type {InputUI}
|
111
78
|
*/
|
112
|
-
_classPrivateFieldInitSpec(this, _searchInput,
|
113
|
-
writable: true,
|
114
|
-
value: void 0
|
115
|
-
});
|
79
|
+
_classPrivateFieldInitSpec(this, _searchInput, void 0);
|
116
80
|
/**
|
117
81
|
* "Select all" UI element.
|
118
82
|
*
|
119
83
|
* @type {LinkUI}
|
120
84
|
*/
|
121
|
-
_classPrivateFieldInitSpec(this, _selectAllUI,
|
122
|
-
writable: true,
|
123
|
-
value: void 0
|
124
|
-
});
|
85
|
+
_classPrivateFieldInitSpec(this, _selectAllUI, void 0);
|
125
86
|
/**
|
126
87
|
* "Clear" UI element.
|
127
88
|
*
|
128
89
|
* @type {LinkUI}
|
129
90
|
*/
|
130
|
-
_classPrivateFieldInitSpec(this, _clearAllUI,
|
131
|
-
|
132
|
-
value: void 0
|
133
|
-
});
|
134
|
-
_classPrivateFieldSet(this, _searchInput, new _input.InputUI(this.hot, {
|
91
|
+
_classPrivateFieldInitSpec(this, _clearAllUI, void 0);
|
92
|
+
_classPrivateFieldSet(_searchInput, this, new _input.InputUI(this.hot, {
|
135
93
|
placeholder: C.FILTERS_BUTTONS_PLACEHOLDER_SEARCH,
|
136
94
|
className: 'htUIMultipleSelectSearch'
|
137
95
|
}));
|
138
|
-
_classPrivateFieldSet(
|
96
|
+
_classPrivateFieldSet(_selectAllUI, this, new _link.LinkUI(this.hot, {
|
139
97
|
textContent: C.FILTERS_BUTTONS_SELECT_ALL,
|
140
98
|
className: 'htUISelectAll'
|
141
99
|
}));
|
142
|
-
_classPrivateFieldSet(
|
100
|
+
_classPrivateFieldSet(_clearAllUI, this, new _link.LinkUI(this.hot, {
|
143
101
|
textContent: C.FILTERS_BUTTONS_CLEAR,
|
144
102
|
className: 'htUIClearAll'
|
145
103
|
}));
|
@@ -152,17 +110,17 @@ class MultipleSelectUI extends _base.BaseUI {
|
|
152
110
|
* @returns {Handsontable}
|
153
111
|
*/
|
154
112
|
getItemsBox() {
|
155
|
-
return _classPrivateFieldGet(
|
113
|
+
return _classPrivateFieldGet(_itemsBox, this);
|
156
114
|
}
|
157
115
|
|
158
116
|
/**
|
159
117
|
* Register all necessary hooks.
|
160
118
|
*/
|
161
119
|
registerHooks() {
|
162
|
-
_classPrivateFieldGet(
|
163
|
-
_classPrivateFieldGet(
|
164
|
-
_classPrivateFieldGet(
|
165
|
-
_classPrivateFieldGet(
|
120
|
+
_classPrivateFieldGet(_searchInput, this).addLocalHook('keydown', event => _assertClassBrand(_MultipleSelectUI_brand, this, _onInputKeyDown).call(this, event));
|
121
|
+
_classPrivateFieldGet(_searchInput, this).addLocalHook('input', event => _assertClassBrand(_MultipleSelectUI_brand, this, _onInput).call(this, event));
|
122
|
+
_classPrivateFieldGet(_selectAllUI, this).addLocalHook('click', event => _assertClassBrand(_MultipleSelectUI_brand, this, _onSelectAllClick).call(this, event));
|
123
|
+
_classPrivateFieldGet(_clearAllUI, this).addLocalHook('click', event => _assertClassBrand(_MultipleSelectUI_brand, this, _onClearAllClick).call(this, event));
|
166
124
|
}
|
167
125
|
|
168
126
|
/**
|
@@ -171,9 +129,9 @@ class MultipleSelectUI extends _base.BaseUI {
|
|
171
129
|
* @param {Array} items Array of objects with `checked` and `label` property.
|
172
130
|
*/
|
173
131
|
setItems(items) {
|
174
|
-
_classPrivateFieldSet(
|
175
|
-
if (_classPrivateFieldGet(
|
176
|
-
_classPrivateFieldGet(
|
132
|
+
_classPrivateFieldSet(_items, this, items);
|
133
|
+
if (_classPrivateFieldGet(_itemsBox, this)) {
|
134
|
+
_classPrivateFieldGet(_itemsBox, this).loadData(_classPrivateFieldGet(_items, this));
|
177
135
|
}
|
178
136
|
}
|
179
137
|
|
@@ -183,7 +141,7 @@ class MultipleSelectUI extends _base.BaseUI {
|
|
183
141
|
* @param {string} locale Locale used for filter actions performed on data, ie. `en-US`.
|
184
142
|
*/
|
185
143
|
setLocale(locale) {
|
186
|
-
_classPrivateFieldSet(
|
144
|
+
_classPrivateFieldSet(_locale, this, locale);
|
187
145
|
}
|
188
146
|
|
189
147
|
/**
|
@@ -192,7 +150,7 @@ class MultipleSelectUI extends _base.BaseUI {
|
|
192
150
|
* @returns {string}
|
193
151
|
*/
|
194
152
|
getLocale() {
|
195
|
-
return _classPrivateFieldGet(
|
153
|
+
return _classPrivateFieldGet(_locale, this);
|
196
154
|
}
|
197
155
|
|
198
156
|
/**
|
@@ -201,7 +159,7 @@ class MultipleSelectUI extends _base.BaseUI {
|
|
201
159
|
* @returns {Array}
|
202
160
|
*/
|
203
161
|
getItems() {
|
204
|
-
return [..._classPrivateFieldGet(
|
162
|
+
return [..._classPrivateFieldGet(_items, this)];
|
205
163
|
}
|
206
164
|
|
207
165
|
/**
|
@@ -210,7 +168,7 @@ class MultipleSelectUI extends _base.BaseUI {
|
|
210
168
|
* @returns {Array} Array of selected values.
|
211
169
|
*/
|
212
170
|
getValue() {
|
213
|
-
return itemsToValue(_classPrivateFieldGet(
|
171
|
+
return itemsToValue(_classPrivateFieldGet(_items, this));
|
214
172
|
}
|
215
173
|
|
216
174
|
/**
|
@@ -219,7 +177,7 @@ class MultipleSelectUI extends _base.BaseUI {
|
|
219
177
|
* @returns {InputUI}
|
220
178
|
*/
|
221
179
|
getSearchInputElement() {
|
222
|
-
return _classPrivateFieldGet(
|
180
|
+
return _classPrivateFieldGet(_searchInput, this);
|
223
181
|
}
|
224
182
|
|
225
183
|
/**
|
@@ -228,7 +186,7 @@ class MultipleSelectUI extends _base.BaseUI {
|
|
228
186
|
* @returns {LinkUI}
|
229
187
|
*/
|
230
188
|
getSelectAllElement() {
|
231
|
-
return _classPrivateFieldGet(
|
189
|
+
return _classPrivateFieldGet(_selectAllUI, this);
|
232
190
|
}
|
233
191
|
|
234
192
|
/**
|
@@ -237,7 +195,7 @@ class MultipleSelectUI extends _base.BaseUI {
|
|
237
195
|
* @returns {LinkUI}
|
238
196
|
*/
|
239
197
|
getClearAllElement() {
|
240
|
-
return _classPrivateFieldGet(
|
198
|
+
return _classPrivateFieldGet(_clearAllUI, this);
|
241
199
|
}
|
242
200
|
|
243
201
|
/**
|
@@ -246,7 +204,7 @@ class MultipleSelectUI extends _base.BaseUI {
|
|
246
204
|
* @returns {boolean}
|
247
205
|
*/
|
248
206
|
isSelectedAllValues() {
|
249
|
-
return _classPrivateFieldGet(
|
207
|
+
return _classPrivateFieldGet(_items, this).length === this.getValue().length;
|
250
208
|
}
|
251
209
|
|
252
210
|
/**
|
@@ -260,22 +218,22 @@ class MultipleSelectUI extends _base.BaseUI {
|
|
260
218
|
const itemsBoxWrapper = rootDocument.createElement('div');
|
261
219
|
const selectionControl = new _base.BaseUI(this.hot, {
|
262
220
|
className: 'htUISelectionControls',
|
263
|
-
children: [_classPrivateFieldGet(
|
221
|
+
children: [_classPrivateFieldGet(_selectAllUI, this), _classPrivateFieldGet(_clearAllUI, this)]
|
264
222
|
});
|
265
|
-
this._element.appendChild(_classPrivateFieldGet(
|
223
|
+
this._element.appendChild(_classPrivateFieldGet(_searchInput, this).element);
|
266
224
|
this._element.appendChild(selectionControl.element);
|
267
225
|
this._element.appendChild(itemsBoxWrapper);
|
268
226
|
const hotInitializer = wrapper => {
|
269
227
|
if (!this._element) {
|
270
228
|
return;
|
271
229
|
}
|
272
|
-
if (_classPrivateFieldGet(
|
273
|
-
_classPrivateFieldGet(
|
230
|
+
if (_classPrivateFieldGet(_itemsBox, this)) {
|
231
|
+
_classPrivateFieldGet(_itemsBox, this).destroy();
|
274
232
|
}
|
275
233
|
(0, _element.addClass)(wrapper, 'htUIMultipleSelectHot');
|
276
234
|
// Constructs and initializes a new Handsontable instance
|
277
|
-
_classPrivateFieldSet(
|
278
|
-
data: _classPrivateFieldGet(
|
235
|
+
_classPrivateFieldSet(_itemsBox, this, new this.hot.constructor(wrapper, {
|
236
|
+
data: _classPrivateFieldGet(_items, this),
|
279
237
|
columns: [{
|
280
238
|
data: 'checked',
|
281
239
|
type: 'checkbox',
|
@@ -291,13 +249,13 @@ class MultipleSelectUI extends _base.BaseUI {
|
|
291
249
|
this.runLocalHooks('focus', this);
|
292
250
|
},
|
293
251
|
beforeOnCellMouseUp: () => {
|
294
|
-
_classPrivateFieldGet(
|
252
|
+
_classPrivateFieldGet(_itemsBox, this).listen();
|
295
253
|
},
|
296
254
|
maxCols: 1,
|
297
255
|
autoWrapCol: true,
|
298
256
|
height: 110,
|
299
257
|
// Workaround for #151.
|
300
|
-
colWidths: () => _classPrivateFieldGet(
|
258
|
+
colWidths: () => _classPrivateFieldGet(_itemsBox, this).container.scrollWidth - (0, _element.getScrollbarWidth)(rootDocument),
|
301
259
|
copyPaste: false,
|
302
260
|
disableVisualSelection: 'area',
|
303
261
|
fillHandle: false,
|
@@ -308,8 +266,8 @@ class MultipleSelectUI extends _base.BaseUI {
|
|
308
266
|
},
|
309
267
|
layoutDirection: this.hot.isRtl() ? 'rtl' : 'ltr'
|
310
268
|
}));
|
311
|
-
_classPrivateFieldGet(
|
312
|
-
const shortcutManager = _classPrivateFieldGet(
|
269
|
+
_classPrivateFieldGet(_itemsBox, this).init();
|
270
|
+
const shortcutManager = _classPrivateFieldGet(_itemsBox, this).getShortcutManager();
|
313
271
|
const gridContext = shortcutManager.getContext('grid');
|
314
272
|
gridContext.removeShortcutsByKeys(['Tab']);
|
315
273
|
gridContext.removeShortcutsByKeys(['Shift', 'Tab']);
|
@@ -323,7 +281,7 @@ class MultipleSelectUI extends _base.BaseUI {
|
|
323
281
|
gridContext.addShortcut({
|
324
282
|
keys: [['Tab'], ['Shift', 'Tab']],
|
325
283
|
callback: event => {
|
326
|
-
_classPrivateFieldGet(
|
284
|
+
_classPrivateFieldGet(_itemsBox, this).deselectCell();
|
327
285
|
this.runLocalHooks('keydown', event, this);
|
328
286
|
this.runLocalHooks('listTabKeydown', event, this);
|
329
287
|
},
|
@@ -339,7 +297,7 @@ class MultipleSelectUI extends _base.BaseUI {
|
|
339
297
|
*/
|
340
298
|
focus() {
|
341
299
|
if (this.isBuilt()) {
|
342
|
-
_classPrivateFieldGet(
|
300
|
+
_classPrivateFieldGet(_itemsBox, this).listen();
|
343
301
|
}
|
344
302
|
}
|
345
303
|
|
@@ -347,9 +305,9 @@ class MultipleSelectUI extends _base.BaseUI {
|
|
347
305
|
* Reset DOM structure.
|
348
306
|
*/
|
349
307
|
reset() {
|
350
|
-
_classPrivateFieldGet(
|
351
|
-
_classPrivateFieldGet(
|
352
|
-
_classPrivateFieldGet(
|
308
|
+
_classPrivateFieldGet(_searchInput, this).reset();
|
309
|
+
_classPrivateFieldGet(_selectAllUI, this).reset();
|
310
|
+
_classPrivateFieldGet(_clearAllUI, this).reset();
|
353
311
|
}
|
354
312
|
|
355
313
|
/**
|
@@ -359,7 +317,7 @@ class MultipleSelectUI extends _base.BaseUI {
|
|
359
317
|
if (!this.isBuilt()) {
|
360
318
|
return;
|
361
319
|
}
|
362
|
-
_classPrivateFieldGet(
|
320
|
+
_classPrivateFieldGet(_itemsBox, this).loadData(valueToItems(_classPrivateFieldGet(_items, this), this.options.value));
|
363
321
|
super.update();
|
364
322
|
}
|
365
323
|
|
@@ -367,58 +325,73 @@ class MultipleSelectUI extends _base.BaseUI {
|
|
367
325
|
* Destroy instance.
|
368
326
|
*/
|
369
327
|
destroy() {
|
370
|
-
if (_classPrivateFieldGet(
|
371
|
-
_classPrivateFieldGet(
|
328
|
+
if (_classPrivateFieldGet(_itemsBox, this)) {
|
329
|
+
_classPrivateFieldGet(_itemsBox, this).destroy();
|
372
330
|
}
|
373
|
-
_classPrivateFieldGet(
|
374
|
-
_classPrivateFieldGet(
|
375
|
-
_classPrivateFieldGet(
|
376
|
-
_classPrivateFieldSet(
|
377
|
-
_classPrivateFieldSet(
|
378
|
-
_classPrivateFieldSet(
|
379
|
-
_classPrivateFieldSet(
|
380
|
-
_classPrivateFieldSet(
|
331
|
+
_classPrivateFieldGet(_searchInput, this).destroy();
|
332
|
+
_classPrivateFieldGet(_clearAllUI, this).destroy();
|
333
|
+
_classPrivateFieldGet(_selectAllUI, this).destroy();
|
334
|
+
_classPrivateFieldSet(_searchInput, this, null);
|
335
|
+
_classPrivateFieldSet(_clearAllUI, this, null);
|
336
|
+
_classPrivateFieldSet(_selectAllUI, this, null);
|
337
|
+
_classPrivateFieldSet(_itemsBox, this, null);
|
338
|
+
_classPrivateFieldSet(_items, this, null);
|
381
339
|
super.destroy();
|
382
340
|
}
|
383
341
|
}
|
384
342
|
exports.MultipleSelectUI = MultipleSelectUI;
|
385
|
-
function
|
343
|
+
function _onInput(event) {
|
386
344
|
const value = event.target.value.toLocaleLowerCase(this.getLocale());
|
387
345
|
let filteredItems;
|
388
346
|
if (value === '') {
|
389
|
-
filteredItems = [..._classPrivateFieldGet(
|
347
|
+
filteredItems = [..._classPrivateFieldGet(_items, this)];
|
390
348
|
} else {
|
391
|
-
filteredItems = (0, _array.arrayFilter)(_classPrivateFieldGet(
|
349
|
+
filteredItems = (0, _array.arrayFilter)(_classPrivateFieldGet(_items, this), item => `${item.value}`.toLocaleLowerCase(this.getLocale()).indexOf(value) >= 0);
|
392
350
|
}
|
393
|
-
_classPrivateFieldGet(
|
351
|
+
_classPrivateFieldGet(_itemsBox, this).loadData(filteredItems);
|
394
352
|
}
|
395
|
-
|
353
|
+
/**
|
354
|
+
* 'keydown' event listener for input element.
|
355
|
+
*
|
356
|
+
* @param {Event} event DOM event.
|
357
|
+
*/
|
358
|
+
function _onInputKeyDown(event) {
|
396
359
|
this.runLocalHooks('keydown', event, this);
|
397
360
|
const isKeyCode = (0, _function.partial)(_unicode.isKey, event.keyCode);
|
398
361
|
if (isKeyCode('ARROW_DOWN')) {
|
399
362
|
event.preventDefault();
|
400
363
|
(0, _event.stopImmediatePropagation)(event);
|
401
|
-
_classPrivateFieldGet(
|
402
|
-
_classPrivateFieldGet(
|
364
|
+
_classPrivateFieldGet(_itemsBox, this).listen();
|
365
|
+
_classPrivateFieldGet(_itemsBox, this).selectCell(0, 0);
|
403
366
|
}
|
404
367
|
}
|
405
|
-
|
368
|
+
/**
|
369
|
+
* On click listener for "Select all" link.
|
370
|
+
*
|
371
|
+
* @param {DOMEvent} event The mouse event object.
|
372
|
+
*/
|
373
|
+
function _onSelectAllClick(event) {
|
406
374
|
const changes = [];
|
407
375
|
event.preventDefault();
|
408
|
-
(0, _array.arrayEach)(_classPrivateFieldGet(
|
376
|
+
(0, _array.arrayEach)(_classPrivateFieldGet(_itemsBox, this).getSourceData(), (row, rowIndex) => {
|
409
377
|
row.checked = true;
|
410
378
|
changes.push((0, _data.dataRowToChangesArray)(row, rowIndex)[0]);
|
411
379
|
});
|
412
|
-
_classPrivateFieldGet(
|
380
|
+
_classPrivateFieldGet(_itemsBox, this).setSourceDataAtCell(changes);
|
413
381
|
}
|
414
|
-
|
382
|
+
/**
|
383
|
+
* On click listener for "Clear" link.
|
384
|
+
*
|
385
|
+
* @param {DOMEvent} event The mouse event object.
|
386
|
+
*/
|
387
|
+
function _onClearAllClick(event) {
|
415
388
|
const changes = [];
|
416
389
|
event.preventDefault();
|
417
|
-
(0, _array.arrayEach)(_classPrivateFieldGet(
|
390
|
+
(0, _array.arrayEach)(_classPrivateFieldGet(_itemsBox, this).getSourceData(), (row, rowIndex) => {
|
418
391
|
row.checked = false;
|
419
392
|
changes.push((0, _data.dataRowToChangesArray)(row, rowIndex)[0]);
|
420
393
|
});
|
421
|
-
_classPrivateFieldGet(
|
394
|
+
_classPrivateFieldGet(_itemsBox, this).setSourceDataAtCell(changes);
|
422
395
|
}
|
423
396
|
var _default = exports.default = MultipleSelectUI;
|
424
397
|
/**
|