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