handsontable 0.0.0-next-b0a4ea2-20231024 → 0.0.0-next-9059914-20231025
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of handsontable might be problematic. Click here for more details.
- package/3rdparty/walkontable/src/{selection/border/border.js → border.js} +12 -7
- package/3rdparty/walkontable/src/{selection/border/border.mjs → border.mjs} +12 -7
- package/3rdparty/walkontable/src/cell/coords.d.ts +1 -6
- package/3rdparty/walkontable/src/cell/coords.js +11 -50
- package/3rdparty/walkontable/src/cell/coords.mjs +11 -50
- package/3rdparty/walkontable/src/cell/range.d.ts +2 -9
- package/3rdparty/walkontable/src/cell/range.js +7 -38
- package/3rdparty/walkontable/src/cell/range.mjs +7 -38
- package/3rdparty/walkontable/src/core/_base.js +3 -9
- package/3rdparty/walkontable/src/core/_base.mjs +3 -9
- package/3rdparty/walkontable/src/core/clone.js +2 -2
- package/3rdparty/walkontable/src/core/clone.mjs +2 -2
- package/3rdparty/walkontable/src/core/core.js +2 -3
- package/3rdparty/walkontable/src/core/core.mjs +2 -3
- package/3rdparty/walkontable/src/event.js +10 -12
- package/3rdparty/walkontable/src/event.mjs +10 -12
- package/3rdparty/walkontable/src/facade/core.js +2 -2
- package/3rdparty/walkontable/src/facade/core.mjs +2 -2
- package/3rdparty/walkontable/src/index.js +2 -10
- package/3rdparty/walkontable/src/index.mjs +2 -2
- package/3rdparty/walkontable/src/overlay/_base.js +2 -13
- package/3rdparty/walkontable/src/overlay/_base.mjs +3 -14
- package/3rdparty/walkontable/src/overlay/inlineStart.js +6 -2
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +6 -2
- package/3rdparty/walkontable/src/overlay/top.js +6 -2
- package/3rdparty/walkontable/src/overlay/top.mjs +6 -2
- package/3rdparty/walkontable/src/renderer/cells.js +0 -10
- package/3rdparty/walkontable/src/renderer/cells.mjs +1 -11
- package/3rdparty/walkontable/src/renderer/columnHeaders.js +0 -10
- package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +1 -11
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +0 -5
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +0 -5
- package/3rdparty/walkontable/src/renderer/rows.js +0 -13
- package/3rdparty/walkontable/src/renderer/rows.mjs +0 -13
- package/3rdparty/walkontable/src/renderer/table.js +0 -9
- package/3rdparty/walkontable/src/renderer/table.mjs +0 -9
- package/3rdparty/walkontable/src/scroll.js +0 -2
- package/3rdparty/walkontable/src/scroll.mjs +0 -2
- package/3rdparty/walkontable/src/selection.js +295 -0
- package/3rdparty/walkontable/src/selection.mjs +290 -0
- package/3rdparty/walkontable/src/settings.js +4 -13
- package/3rdparty/walkontable/src/settings.mjs +4 -13
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +0 -9
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +0 -9
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +0 -9
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +0 -9
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +0 -9
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +0 -9
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +0 -9
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +0 -9
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +0 -9
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +0 -9
- package/3rdparty/walkontable/src/table.js +78 -19
- package/3rdparty/walkontable/src/table.mjs +79 -20
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/cellTypes/dateType/dateType.d.ts +3 -3
- package/cellTypes/dateType/dateType.js +2 -2
- package/cellTypes/dateType/dateType.mjs +2 -2
- package/cellTypes/handsontableType/handsontableType.d.ts +3 -3
- package/cellTypes/handsontableType/handsontableType.js +2 -2
- package/cellTypes/handsontableType/handsontableType.mjs +2 -2
- package/cellTypes/index.d.ts +0 -3
- package/cellTypes/index.js +0 -4
- package/cellTypes/index.mjs +1 -3
- package/core.d.ts +4 -9
- package/core.js +327 -285
- package/core.mjs +327 -285
- package/dataMap/metaManager/metaSchema.js +0 -65
- package/dataMap/metaManager/metaSchema.mjs +0 -65
- package/dataMap/metaManager/mods/extendMetaProperties.js +1 -7
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +1 -7
- package/dataMap/replaceData.js +0 -5
- package/dataMap/replaceData.mjs +0 -5
- package/dist/handsontable.css +15 -51
- package/dist/handsontable.full.css +15 -51
- package/dist/handsontable.full.js +8668 -14188
- package/dist/handsontable.full.min.css +7 -7
- package/dist/handsontable.full.min.js +136 -136
- package/dist/handsontable.js +22829 -28349
- package/dist/handsontable.min.css +6 -6
- package/dist/handsontable.min.js +24 -24
- package/dist/languages/all.js +2 -6
- package/dist/languages/all.min.js +1 -1
- package/dist/languages/en-US.js +1 -3
- package/dist/languages/en-US.min.js +1 -1
- package/dist/languages/pl-PL.js +1 -3
- package/dist/languages/pl-PL.min.js +1 -1
- package/editorManager.js +87 -15
- package/editorManager.mjs +87 -16
- package/editors/autocompleteEditor/autocompleteEditor.js +2 -53
- package/editors/autocompleteEditor/autocompleteEditor.mjs +3 -54
- package/editors/dateEditor/dateEditor.js +7 -26
- package/editors/dateEditor/dateEditor.mjs +8 -27
- package/editors/handsontableEditor/handsontableEditor.js +1 -9
- package/editors/handsontableEditor/handsontableEditor.mjs +2 -10
- package/editors/textEditor/textEditor.js +27 -19
- package/editors/textEditor/textEditor.mjs +30 -22
- package/helpers/dom/element.js +9 -188
- package/helpers/dom/element.mjs +9 -182
- package/helpers/mixed.js +1 -1
- package/helpers/mixed.mjs +1 -1
- package/helpers/number.d.ts +0 -1
- package/helpers/number.js +0 -18
- package/helpers/number.mjs +0 -17
- package/i18n/constants.js +1 -7
- package/i18n/constants.mjs +1 -4
- package/i18n/languages/en-US.js +1 -3
- package/i18n/languages/en-US.mjs +1 -3
- package/i18n/languages/pl-PL.js +1 -3
- package/i18n/languages/pl-PL.mjs +1 -3
- package/languages/all.js +2 -6
- package/languages/en-US.js +1 -3
- package/languages/en-US.mjs +1 -3
- package/languages/index.js +2 -6
- package/languages/pl-PL.js +1 -3
- package/languages/pl-PL.mjs +1 -3
- package/package.json +99 -116
- package/pluginHooks.d.ts +1 -12
- package/pluginHooks.js +1 -152
- package/pluginHooks.mjs +1 -152
- package/plugins/collapsibleColumns/collapsibleColumns.js +4 -74
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +5 -75
- package/plugins/columnSorting/columnSorting.js +0 -43
- package/plugins/columnSorting/columnSorting.mjs +3 -44
- package/plugins/columnSorting/index.js +1 -3
- package/plugins/columnSorting/index.mjs +1 -1
- package/plugins/comments/commentEditor.js +0 -1
- package/plugins/comments/commentEditor.mjs +0 -1
- package/plugins/comments/comments.js +189 -252
- package/plugins/comments/comments.mjs +190 -251
- package/plugins/contextMenu/commandExecutor.js +3 -2
- package/plugins/contextMenu/commandExecutor.mjs +3 -2
- package/plugins/contextMenu/contextMenu.d.ts +1 -1
- package/plugins/contextMenu/contextMenu.js +36 -75
- package/plugins/contextMenu/contextMenu.mjs +35 -74
- package/plugins/contextMenu/{menu/cursor.mjs → cursor.js} +10 -4
- package/plugins/contextMenu/{menu/cursor.js → cursor.mjs} +4 -6
- package/plugins/contextMenu/itemsFactory.js +3 -2
- package/plugins/contextMenu/itemsFactory.mjs +4 -3
- package/plugins/contextMenu/{menu/menu.js → menu.js} +421 -145
- package/plugins/contextMenu/{menu/menu.mjs → menu.mjs} +422 -146
- package/plugins/contextMenu/predefinedItems/alignment.js +0 -7
- package/plugins/contextMenu/predefinedItems/alignment.mjs +0 -7
- package/plugins/contextMenu/predefinedItems/clearColumn.js +3 -5
- package/plugins/contextMenu/predefinedItems/clearColumn.mjs +3 -5
- package/plugins/contextMenu/predefinedItems/columnLeft.js +3 -5
- package/plugins/contextMenu/predefinedItems/columnLeft.mjs +3 -5
- package/plugins/contextMenu/predefinedItems/columnRight.js +3 -5
- package/plugins/contextMenu/predefinedItems/columnRight.mjs +3 -5
- package/plugins/contextMenu/predefinedItems/readOnly.js +0 -7
- package/plugins/contextMenu/predefinedItems/readOnly.mjs +0 -7
- package/plugins/contextMenu/predefinedItems/removeColumn.js +5 -7
- package/plugins/contextMenu/predefinedItems/removeColumn.mjs +3 -5
- package/plugins/contextMenu/predefinedItems/removeRow.js +5 -7
- package/plugins/contextMenu/predefinedItems/removeRow.mjs +3 -5
- package/plugins/contextMenu/predefinedItems/rowAbove.js +3 -5
- package/plugins/contextMenu/predefinedItems/rowAbove.mjs +3 -5
- package/plugins/contextMenu/predefinedItems/rowBelow.js +3 -5
- package/plugins/contextMenu/predefinedItems/rowBelow.mjs +3 -5
- package/plugins/contextMenu/{predefinedItems/index.js → predefinedItems.js} +14 -14
- package/plugins/contextMenu/predefinedItems.mjs +68 -0
- package/plugins/contextMenu/utils.js +151 -35
- package/plugins/contextMenu/utils.mjs +144 -35
- package/plugins/copyPaste/contextMenuItem/copy.js +0 -7
- package/plugins/copyPaste/contextMenuItem/copy.mjs +0 -7
- package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.js +1 -9
- package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.mjs +1 -9
- package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.js +1 -9
- package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.mjs +1 -9
- package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.js +1 -9
- package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.mjs +1 -9
- package/plugins/copyPaste/contextMenuItem/cut.js +0 -7
- package/plugins/copyPaste/contextMenuItem/cut.mjs +0 -7
- package/plugins/copyPaste/copyPaste.js +78 -127
- package/plugins/copyPaste/copyPaste.mjs +79 -128
- package/plugins/copyPaste/focusableElement.js +186 -0
- package/plugins/copyPaste/focusableElement.mjs +180 -0
- package/plugins/customBorders/customBorders.js +20 -23
- package/plugins/customBorders/customBorders.mjs +21 -24
- package/plugins/dropdownMenu/dropdownMenu.d.ts +1 -1
- package/plugins/dropdownMenu/dropdownMenu.js +40 -127
- package/plugins/dropdownMenu/dropdownMenu.mjs +39 -126
- package/plugins/filters/component/_base.js +8 -23
- package/plugins/filters/component/_base.mjs +8 -23
- package/plugins/filters/component/actionBar.js +27 -29
- package/plugins/filters/component/actionBar.mjs +23 -26
- package/plugins/filters/component/condition.js +59 -46
- package/plugins/filters/component/condition.mjs +52 -40
- package/plugins/filters/component/operators.js +22 -21
- package/plugins/filters/component/operators.mjs +18 -18
- package/plugins/filters/component/value.js +26 -35
- package/plugins/filters/component/value.mjs +22 -32
- package/plugins/filters/constants.mjs +1 -1
- package/plugins/filters/filters.js +62 -106
- package/plugins/filters/filters.mjs +55 -99
- package/plugins/filters/ui/_base.js +13 -35
- package/plugins/filters/ui/_base.mjs +13 -35
- package/plugins/filters/ui/input.js +32 -43
- package/plugins/filters/ui/input.mjs +30 -42
- package/plugins/filters/ui/link.js +12 -44
- package/plugins/filters/ui/link.mjs +11 -44
- package/plugins/filters/ui/multipleSelect.js +129 -234
- package/plugins/filters/ui/multipleSelect.mjs +127 -232
- package/plugins/filters/ui/radioInput.js +18 -42
- package/plugins/filters/ui/radioInput.mjs +17 -42
- package/plugins/filters/ui/select.js +75 -144
- package/plugins/filters/ui/select.mjs +72 -142
- package/plugins/hiddenColumns/hiddenColumns.mjs +1 -1
- package/plugins/hiddenRows/hiddenRows.mjs +1 -1
- package/plugins/manualColumnMove/manualColumnMove.js +1 -3
- package/plugins/manualColumnMove/manualColumnMove.mjs +1 -3
- package/plugins/mergeCells/mergeCells.js +16 -5
- package/plugins/mergeCells/mergeCells.mjs +16 -5
- package/plugins/multiColumnSorting/multiColumnSorting.js +2 -37
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +2 -37
- package/plugins/nestedHeaders/nestedHeaders.js +10 -240
- package/plugins/nestedHeaders/nestedHeaders.mjs +11 -241
- package/plugins/nestedHeaders/stateManager/index.js +3 -102
- package/plugins/nestedHeaders/stateManager/index.mjs +3 -102
- package/plugins/nestedRows/nestedRows.js +0 -41
- package/plugins/nestedRows/nestedRows.mjs +0 -41
- package/plugins/nestedRows/ui/headers.js +0 -11
- package/plugins/nestedRows/ui/headers.mjs +1 -12
- package/renderers/autocompleteRenderer/autocompleteRenderer.js +0 -8
- package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +0 -8
- package/renderers/baseRenderer/baseRenderer.js +0 -17
- package/renderers/baseRenderer/baseRenderer.mjs +1 -18
- package/renderers/checkboxRenderer/checkboxRenderer.js +4 -9
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +4 -9
- package/renderers/index.d.ts +0 -9
- package/selection/highlight/constants.js +15 -0
- package/selection/highlight/constants.mjs +6 -0
- package/selection/highlight/highlight.js +71 -256
- package/selection/highlight/highlight.mjs +71 -250
- package/selection/highlight/types/activeHeader.js +8 -10
- package/selection/highlight/types/activeHeader.mjs +8 -10
- package/selection/highlight/types/area.js +18 -6
- package/selection/highlight/types/area.mjs +18 -6
- package/selection/highlight/types/{focus.js → cell.js} +7 -5
- package/selection/highlight/types/{focus.mjs → cell.mjs} +7 -5
- package/selection/highlight/types/customSelection.js +9 -7
- package/selection/highlight/types/customSelection.mjs +9 -7
- package/selection/highlight/types/fill.js +7 -5
- package/selection/highlight/types/fill.mjs +7 -5
- package/selection/highlight/types/header.js +18 -9
- package/selection/highlight/types/header.mjs +18 -9
- package/selection/highlight/types/index.js +35 -0
- package/selection/highlight/types/index.mjs +31 -0
- package/selection/highlight/visualSelection.js +27 -31
- package/selection/highlight/visualSelection.mjs +27 -31
- package/selection/index.js +7 -4
- package/selection/index.mjs +3 -2
- package/selection/mouseEventHandler.js +1 -7
- package/selection/mouseEventHandler.mjs +1 -7
- package/selection/range.js +8 -8
- package/selection/range.mjs +8 -8
- package/selection/selection.js +152 -321
- package/selection/selection.mjs +151 -318
- package/selection/transformation.js +90 -232
- package/selection/transformation.mjs +90 -232
- package/selection/utils.js +21 -15
- package/selection/utils.mjs +21 -16
- package/settings.d.ts +0 -4
- package/shortcuts/context.js +4 -23
- package/shortcuts/context.mjs +5 -23
- package/shortcuts/manager.js +7 -25
- package/shortcuts/manager.mjs +7 -26
- package/shortcuts/recorder.js +3 -3
- package/shortcuts/recorder.mjs +3 -3
- package/shortcuts/utils.js +5 -19
- package/shortcuts/utils.mjs +4 -18
- package/tableView.js +13 -111
- package/tableView.mjs +14 -112
- package/3rdparty/walkontable/src/selection/border/constants.js +0 -16
- package/3rdparty/walkontable/src/selection/border/constants.mjs +0 -12
- package/3rdparty/walkontable/src/selection/constants.js +0 -62
- package/3rdparty/walkontable/src/selection/constants.mjs +0 -51
- package/3rdparty/walkontable/src/selection/index.js +0 -26
- package/3rdparty/walkontable/src/selection/index.mjs +0 -5
- package/3rdparty/walkontable/src/selection/manager.js +0 -274
- package/3rdparty/walkontable/src/selection/manager.mjs +0 -269
- package/3rdparty/walkontable/src/selection/scanner.js +0 -270
- package/3rdparty/walkontable/src/selection/scanner.mjs +0 -267
- package/3rdparty/walkontable/src/selection/selection.js +0 -101
- package/3rdparty/walkontable/src/selection/selection.mjs +0 -96
- package/cellTypes/selectType/index.d.ts +0 -1
- package/cellTypes/selectType/index.js +0 -6
- package/cellTypes/selectType/index.mjs +0 -1
- package/cellTypes/selectType/selectType.d.ts +0 -14
- package/cellTypes/selectType/selectType.js +0 -13
- package/cellTypes/selectType/selectType.mjs +0 -8
- package/core/focusCatcher/focusDetector.js +0 -63
- package/core/focusCatcher/focusDetector.mjs +0 -59
- package/core/focusCatcher/index.js +0 -142
- package/core/focusCatcher/index.mjs +0 -138
- package/core/index.js +0 -9
- package/core/index.mjs +0 -1
- package/focusManager.d.ts +0 -12
- package/focusManager.js +0 -265
- package/focusManager.mjs +0 -261
- package/helpers/a11y.js +0 -79
- package/helpers/a11y.mjs +0 -38
- package/plugins/comments/contextMenuItem/addEditComment.js +0 -41
- package/plugins/comments/contextMenuItem/addEditComment.mjs +0 -35
- package/plugins/comments/contextMenuItem/readOnlyComment.js +0 -49
- package/plugins/comments/contextMenuItem/readOnlyComment.mjs +0 -43
- package/plugins/comments/contextMenuItem/removeComment.js +0 -38
- package/plugins/comments/contextMenuItem/removeComment.mjs +0 -32
- package/plugins/contextMenu/menu/defaultShortcutsList.js +0 -88
- package/plugins/contextMenu/menu/defaultShortcutsList.mjs +0 -84
- package/plugins/contextMenu/menu/index.js +0 -9
- package/plugins/contextMenu/menu/index.mjs +0 -1
- package/plugins/contextMenu/menu/menuItemRenderer.js +0 -58
- package/plugins/contextMenu/menu/menuItemRenderer.mjs +0 -54
- package/plugins/contextMenu/menu/navigator.js +0 -27
- package/plugins/contextMenu/menu/navigator.mjs +0 -23
- package/plugins/contextMenu/menu/positioner.js +0 -213
- package/plugins/contextMenu/menu/positioner.mjs +0 -209
- package/plugins/contextMenu/menu/shortcuts.js +0 -114
- package/plugins/contextMenu/menu/shortcuts.mjs +0 -110
- package/plugins/contextMenu/menu/utils.js +0 -177
- package/plugins/contextMenu/menu/utils.mjs +0 -163
- package/plugins/contextMenu/predefinedItems/index.mjs +0 -68
- package/plugins/filters/menu/focusController.js +0 -123
- package/plugins/filters/menu/focusController.mjs +0 -119
- package/plugins/filters/menu/focusNavigator.js +0 -30
- package/plugins/filters/menu/focusNavigator.mjs +0 -26
- package/renderers/dateRenderer/dateRenderer.d.ts +0 -5
- package/renderers/dateRenderer/dateRenderer.js +0 -29
- package/renderers/dateRenderer/dateRenderer.mjs +0 -24
- package/renderers/dateRenderer/index.d.ts +0 -1
- package/renderers/dateRenderer/index.js +0 -6
- package/renderers/dateRenderer/index.mjs +0 -1
- package/renderers/handsontableRenderer/handsontableRenderer.d.ts +0 -5
- package/renderers/handsontableRenderer/handsontableRenderer.js +0 -29
- package/renderers/handsontableRenderer/handsontableRenderer.mjs +0 -24
- package/renderers/handsontableRenderer/index.d.ts +0 -1
- package/renderers/handsontableRenderer/index.js +0 -6
- package/renderers/handsontableRenderer/index.mjs +0 -1
- package/renderers/selectRenderer/index.d.ts +0 -1
- package/renderers/selectRenderer/index.js +0 -6
- package/renderers/selectRenderer/index.mjs +0 -1
- package/renderers/selectRenderer/selectRenderer.d.ts +0 -5
- package/renderers/selectRenderer/selectRenderer.js +0 -27
- package/renderers/selectRenderer/selectRenderer.mjs +0 -22
- package/selection/highlight/types/areaLayered.js +0 -31
- package/selection/highlight/types/areaLayered.mjs +0 -26
- package/selection/highlight/types/column.js +0 -27
- package/selection/highlight/types/column.mjs +0 -22
- package/selection/highlight/types/row.js +0 -27
- package/selection/highlight/types/row.mjs +0 -22
- package/shortcutContexts/commands/editor/closeAndSave.js +0 -12
- package/shortcutContexts/commands/editor/closeAndSave.mjs +0 -8
- package/shortcutContexts/commands/editor/closeWithoutSaving.js +0 -12
- package/shortcutContexts/commands/editor/closeWithoutSaving.mjs +0 -8
- package/shortcutContexts/commands/editor/fastOpen.js +0 -16
- package/shortcutContexts/commands/editor/fastOpen.mjs +0 -12
- package/shortcutContexts/commands/editor/index.js +0 -16
- package/shortcutContexts/commands/editor/index.mjs +0 -12
- package/shortcutContexts/commands/editor/open.js +0 -27
- package/shortcutContexts/commands/editor/open.mjs +0 -23
- package/shortcutContexts/commands/emptySelectedCells.js +0 -11
- package/shortcutContexts/commands/emptySelectedCells.mjs +0 -7
- package/shortcutContexts/commands/extendCellsSelection/down.js +0 -15
- package/shortcutContexts/commands/extendCellsSelection/down.mjs +0 -11
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +0 -25
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +0 -21
- package/shortcutContexts/commands/extendCellsSelection/index.js +0 -26
- package/shortcutContexts/commands/extendCellsSelection/index.mjs +0 -22
- package/shortcutContexts/commands/extendCellsSelection/left.js +0 -15
- package/shortcutContexts/commands/extendCellsSelection/left.mjs +0 -11
- package/shortcutContexts/commands/extendCellsSelection/right.js +0 -15
- package/shortcutContexts/commands/extendCellsSelection/right.mjs +0 -11
- package/shortcutContexts/commands/extendCellsSelection/toColumns.js +0 -19
- package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +0 -15
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +0 -29
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +0 -25
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +0 -19
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +0 -15
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +0 -19
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +0 -15
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +0 -29
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +0 -25
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +0 -29
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +0 -25
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +0 -29
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +0 -25
- package/shortcutContexts/commands/extendCellsSelection/toRows.js +0 -19
- package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +0 -15
- package/shortcutContexts/commands/extendCellsSelection/up.js +0 -15
- package/shortcutContexts/commands/extendCellsSelection/up.mjs +0 -11
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +0 -25
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +0 -21
- package/shortcutContexts/commands/index.js +0 -35
- package/shortcutContexts/commands/index.mjs +0 -31
- package/shortcutContexts/commands/moveCellSelection/down.js +0 -13
- package/shortcutContexts/commands/moveCellSelection/down.mjs +0 -9
- package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +0 -33
- package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +0 -29
- package/shortcutContexts/commands/moveCellSelection/index.js +0 -28
- package/shortcutContexts/commands/moveCellSelection/index.mjs +0 -24
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +0 -12
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +0 -8
- package/shortcutContexts/commands/moveCellSelection/inlineStart.js +0 -12
- package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +0 -8
- package/shortcutContexts/commands/moveCellSelection/left.js +0 -10
- package/shortcutContexts/commands/moveCellSelection/left.mjs +0 -6
- package/shortcutContexts/commands/moveCellSelection/right.js +0 -10
- package/shortcutContexts/commands/moveCellSelection/right.mjs +0 -6
- package/shortcutContexts/commands/moveCellSelection/toMostBottom.js +0 -17
- package/shortcutContexts/commands/moveCellSelection/toMostBottom.mjs +0 -13
- package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.js +0 -18
- package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.mjs +0 -14
- package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.js +0 -14
- package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.mjs +0 -10
- package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.js +0 -17
- package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.mjs +0 -13
- package/shortcutContexts/commands/moveCellSelection/toMostLeft.js +0 -19
- package/shortcutContexts/commands/moveCellSelection/toMostLeft.mjs +0 -15
- package/shortcutContexts/commands/moveCellSelection/toMostRight.js +0 -21
- package/shortcutContexts/commands/moveCellSelection/toMostRight.mjs +0 -17
- package/shortcutContexts/commands/moveCellSelection/toMostTop.js +0 -17
- package/shortcutContexts/commands/moveCellSelection/toMostTop.mjs +0 -13
- package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.js +0 -19
- package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.mjs +0 -15
- package/shortcutContexts/commands/moveCellSelection/up.js +0 -13
- package/shortcutContexts/commands/moveCellSelection/up.mjs +0 -9
- package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +0 -33
- package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +0 -29
- package/shortcutContexts/commands/populateSelectedCellsData.js +0 -29
- package/shortcutContexts/commands/populateSelectedCellsData.mjs +0 -25
- package/shortcutContexts/commands/scrollToFocusedCell.js +0 -35
- package/shortcutContexts/commands/scrollToFocusedCell.mjs +0 -31
- package/shortcutContexts/commands/selectAll.js +0 -12
- package/shortcutContexts/commands/selectAll.mjs +0 -8
- package/shortcutContexts/constants.js +0 -13
- package/shortcutContexts/constants.mjs +0 -8
- package/shortcutContexts/editor.js +0 -25
- package/shortcutContexts/editor.mjs +0 -21
- package/shortcutContexts/grid.js +0 -163
- package/shortcutContexts/grid.mjs +0 -159
- package/shortcutContexts/index.js +0 -24
- package/shortcutContexts/index.mjs +0 -11
- package/utils/paginator.js +0 -151
- package/utils/paginator.mjs +0 -147
@@ -1,14 +1,4 @@
|
|
1
1
|
import "core-js/modules/es.array.push.js";
|
2
|
-
import "core-js/modules/es.error.cause.js";
|
3
|
-
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
4
|
-
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
5
|
-
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
6
|
-
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
|
7
|
-
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
|
8
|
-
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
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; } }
|
12
2
|
import { addClass, getScrollbarWidth } from "../../../helpers/dom/element.mjs";
|
13
3
|
import { clone, extend } from "../../../helpers/object.mjs";
|
14
4
|
import { arrayFilter, arrayMap, arrayEach } from "../../../helpers/array.mjs";
|
@@ -17,147 +7,77 @@ import { partial } from "../../../helpers/function.mjs";
|
|
17
7
|
import { dataRowToChangesArray } from "../../../helpers/data.mjs";
|
18
8
|
import * as C from "../../../i18n/constants.mjs";
|
19
9
|
import { stopImmediatePropagation } from "../../../helpers/dom/event.mjs";
|
20
|
-
import
|
21
|
-
import
|
22
|
-
import
|
10
|
+
import BaseUI from "./_base.mjs";
|
11
|
+
import InputUI from "./input.mjs";
|
12
|
+
import LinkUI from "./link.mjs";
|
23
13
|
import { createArrayAssertion } from "../utils.mjs";
|
14
|
+
const privatePool = new WeakMap();
|
24
15
|
const SHORTCUTS_GROUP = 'multipleSelect.itemBox';
|
25
16
|
|
26
17
|
/**
|
27
18
|
* @private
|
28
19
|
* @class MultipleSelectUI
|
29
20
|
*/
|
30
|
-
|
31
|
-
var _itemsBox = /*#__PURE__*/new WeakMap();
|
32
|
-
var _locale = /*#__PURE__*/new WeakMap();
|
33
|
-
var _searchInput = /*#__PURE__*/new WeakMap();
|
34
|
-
var _selectAllUI = /*#__PURE__*/new WeakMap();
|
35
|
-
var _clearAllUI = /*#__PURE__*/new WeakMap();
|
36
|
-
var _onInput = /*#__PURE__*/new WeakSet();
|
37
|
-
var _onInputKeyDown = /*#__PURE__*/new WeakSet();
|
38
|
-
var _onSelectAllClick = /*#__PURE__*/new WeakSet();
|
39
|
-
var _onClearAllClick = /*#__PURE__*/new WeakSet();
|
40
|
-
export class MultipleSelectUI extends BaseUI {
|
21
|
+
class MultipleSelectUI extends BaseUI {
|
41
22
|
static get DEFAULTS() {
|
42
23
|
return clone({
|
43
24
|
className: 'htUIMultipleSelect',
|
44
25
|
value: []
|
45
26
|
});
|
46
27
|
}
|
47
|
-
|
48
|
-
/**
|
49
|
-
* List of available select options.
|
50
|
-
*
|
51
|
-
* @type {Array}
|
52
|
-
*/
|
53
|
-
|
54
28
|
constructor(hotInstance, options) {
|
55
29
|
super(hotInstance, extend(MultipleSelectUI.DEFAULTS, options));
|
30
|
+
privatePool.set(this, {});
|
56
31
|
/**
|
57
|
-
*
|
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
|
-
/**
|
75
|
-
* 'input' event listener for input element.
|
76
|
-
*
|
77
|
-
* @param {Event} event DOM event.
|
78
|
-
*/
|
79
|
-
_classPrivateMethodInitSpec(this, _onInput);
|
80
|
-
_classPrivateFieldInitSpec(this, _items, {
|
81
|
-
writable: true,
|
82
|
-
value: []
|
83
|
-
});
|
84
|
-
/**
|
85
|
-
* Handsontable instance used as items list element.
|
32
|
+
* Input element.
|
86
33
|
*
|
87
|
-
* @type {
|
34
|
+
* @type {InputUI}
|
88
35
|
*/
|
89
|
-
|
90
|
-
|
91
|
-
|
36
|
+
this.searchInput = new InputUI(this.hot, {
|
37
|
+
placeholder: C.FILTERS_BUTTONS_PLACEHOLDER_SEARCH,
|
38
|
+
className: 'htUIMultipleSelectSearch'
|
92
39
|
});
|
93
40
|
/**
|
94
|
-
*
|
41
|
+
* "Select all" UI element.
|
95
42
|
*
|
96
|
-
* @type {
|
43
|
+
* @type {BaseUI}
|
97
44
|
*/
|
98
|
-
|
99
|
-
|
100
|
-
|
45
|
+
this.selectAllUI = new LinkUI(this.hot, {
|
46
|
+
textContent: C.FILTERS_BUTTONS_SELECT_ALL,
|
47
|
+
className: 'htUISelectAll'
|
101
48
|
});
|
102
49
|
/**
|
103
|
-
*
|
50
|
+
* "Clear" UI element.
|
104
51
|
*
|
105
|
-
* @type {
|
52
|
+
* @type {BaseUI}
|
106
53
|
*/
|
107
|
-
|
108
|
-
|
109
|
-
|
54
|
+
this.clearAllUI = new LinkUI(this.hot, {
|
55
|
+
textContent: C.FILTERS_BUTTONS_CLEAR,
|
56
|
+
className: 'htUIClearAll'
|
110
57
|
});
|
111
58
|
/**
|
112
|
-
*
|
59
|
+
* List of available select options.
|
113
60
|
*
|
114
|
-
* @type {
|
61
|
+
* @type {Array}
|
115
62
|
*/
|
116
|
-
|
117
|
-
writable: true,
|
118
|
-
value: void 0
|
119
|
-
});
|
63
|
+
this.items = [];
|
120
64
|
/**
|
121
|
-
*
|
65
|
+
* Handsontable instance used as items list element.
|
122
66
|
*
|
123
|
-
* @type {
|
67
|
+
* @type {Handsontable}
|
124
68
|
*/
|
125
|
-
|
126
|
-
writable: true,
|
127
|
-
value: void 0
|
128
|
-
});
|
129
|
-
_classPrivateFieldSet(this, _searchInput, new InputUI(this.hot, {
|
130
|
-
placeholder: C.FILTERS_BUTTONS_PLACEHOLDER_SEARCH,
|
131
|
-
className: 'htUIMultipleSelectSearch'
|
132
|
-
}));
|
133
|
-
_classPrivateFieldSet(this, _selectAllUI, new LinkUI(this.hot, {
|
134
|
-
textContent: C.FILTERS_BUTTONS_SELECT_ALL,
|
135
|
-
className: 'htUISelectAll'
|
136
|
-
}));
|
137
|
-
_classPrivateFieldSet(this, _clearAllUI, new LinkUI(this.hot, {
|
138
|
-
textContent: C.FILTERS_BUTTONS_CLEAR,
|
139
|
-
className: 'htUIClearAll'
|
140
|
-
}));
|
69
|
+
this.itemsBox = null;
|
141
70
|
this.registerHooks();
|
142
71
|
}
|
143
72
|
|
144
|
-
/**
|
145
|
-
* Gets the instance of the internal Handsontable that acts here as a listbox component.
|
146
|
-
*
|
147
|
-
* @returns {Handsontable}
|
148
|
-
*/
|
149
|
-
getItemsBox() {
|
150
|
-
return _classPrivateFieldGet(this, _itemsBox);
|
151
|
-
}
|
152
|
-
|
153
73
|
/**
|
154
74
|
* Register all necessary hooks.
|
155
75
|
*/
|
156
76
|
registerHooks() {
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
77
|
+
this.searchInput.addLocalHook('keydown', event => this.onInputKeyDown(event));
|
78
|
+
this.searchInput.addLocalHook('input', event => this.onInput(event));
|
79
|
+
this.selectAllUI.addLocalHook('click', event => this.onSelectAllClick(event));
|
80
|
+
this.clearAllUI.addLocalHook('click', event => this.onClearAllClick(event));
|
161
81
|
}
|
162
82
|
|
163
83
|
/**
|
@@ -166,9 +86,9 @@ export class MultipleSelectUI extends BaseUI {
|
|
166
86
|
* @param {Array} items Array of objects with `checked` and `label` property.
|
167
87
|
*/
|
168
88
|
setItems(items) {
|
169
|
-
|
170
|
-
if (
|
171
|
-
|
89
|
+
this.items = items;
|
90
|
+
if (this.itemsBox) {
|
91
|
+
this.itemsBox.loadData(this.items);
|
172
92
|
}
|
173
93
|
}
|
174
94
|
|
@@ -178,7 +98,7 @@ export class MultipleSelectUI extends BaseUI {
|
|
178
98
|
* @param {string} locale Locale used for filter actions performed on data, ie. `en-US`.
|
179
99
|
*/
|
180
100
|
setLocale(locale) {
|
181
|
-
|
101
|
+
this.locale = locale;
|
182
102
|
}
|
183
103
|
|
184
104
|
/**
|
@@ -187,7 +107,7 @@ export class MultipleSelectUI extends BaseUI {
|
|
187
107
|
* @returns {string}
|
188
108
|
*/
|
189
109
|
getLocale() {
|
190
|
-
return
|
110
|
+
return this.locale;
|
191
111
|
}
|
192
112
|
|
193
113
|
/**
|
@@ -196,7 +116,7 @@ export class MultipleSelectUI extends BaseUI {
|
|
196
116
|
* @returns {Array}
|
197
117
|
*/
|
198
118
|
getItems() {
|
199
|
-
return [...
|
119
|
+
return [...this.items];
|
200
120
|
}
|
201
121
|
|
202
122
|
/**
|
@@ -205,34 +125,7 @@ export class MultipleSelectUI extends BaseUI {
|
|
205
125
|
* @returns {Array} Array of selected values.
|
206
126
|
*/
|
207
127
|
getValue() {
|
208
|
-
return itemsToValue(
|
209
|
-
}
|
210
|
-
|
211
|
-
/**
|
212
|
-
* Gets the instance of the search input element.
|
213
|
-
*
|
214
|
-
* @returns {InputUI}
|
215
|
-
*/
|
216
|
-
getSearchInputElement() {
|
217
|
-
return _classPrivateFieldGet(this, _searchInput);
|
218
|
-
}
|
219
|
-
|
220
|
-
/**
|
221
|
-
* Gets the instance of the "select all" link element.
|
222
|
-
*
|
223
|
-
* @returns {LinkUI}
|
224
|
-
*/
|
225
|
-
getSelectAllElement() {
|
226
|
-
return _classPrivateFieldGet(this, _selectAllUI);
|
227
|
-
}
|
228
|
-
|
229
|
-
/**
|
230
|
-
* Gets the instance of the "clear" link element.
|
231
|
-
*
|
232
|
-
* @returns {LinkUI}
|
233
|
-
*/
|
234
|
-
getClearAllElement() {
|
235
|
-
return _classPrivateFieldGet(this, _clearAllUI);
|
128
|
+
return itemsToValue(this.items);
|
236
129
|
}
|
237
130
|
|
238
131
|
/**
|
@@ -241,7 +134,7 @@ export class MultipleSelectUI extends BaseUI {
|
|
241
134
|
* @returns {boolean}
|
242
135
|
*/
|
243
136
|
isSelectedAllValues() {
|
244
|
-
return
|
137
|
+
return this.items.length === this.getValue().length;
|
245
138
|
}
|
246
139
|
|
247
140
|
/**
|
@@ -255,22 +148,22 @@ export class MultipleSelectUI extends BaseUI {
|
|
255
148
|
const itemsBoxWrapper = rootDocument.createElement('div');
|
256
149
|
const selectionControl = new BaseUI(this.hot, {
|
257
150
|
className: 'htUISelectionControls',
|
258
|
-
children: [
|
151
|
+
children: [this.selectAllUI, this.clearAllUI]
|
259
152
|
});
|
260
|
-
this._element.appendChild(
|
153
|
+
this._element.appendChild(this.searchInput.element);
|
261
154
|
this._element.appendChild(selectionControl.element);
|
262
155
|
this._element.appendChild(itemsBoxWrapper);
|
263
156
|
const hotInitializer = wrapper => {
|
264
157
|
if (!this._element) {
|
265
158
|
return;
|
266
159
|
}
|
267
|
-
if (
|
268
|
-
|
160
|
+
if (this.itemsBox) {
|
161
|
+
this.itemsBox.destroy();
|
269
162
|
}
|
270
163
|
addClass(wrapper, 'htUIMultipleSelectHot');
|
271
164
|
// Constructs and initializes a new Handsontable instance
|
272
|
-
|
273
|
-
data:
|
165
|
+
this.itemsBox = new this.hot.constructor(wrapper, {
|
166
|
+
data: this.items,
|
274
167
|
columns: [{
|
275
168
|
data: 'checked',
|
276
169
|
type: 'checkbox',
|
@@ -282,17 +175,11 @@ export class MultipleSelectUI extends BaseUI {
|
|
282
175
|
beforeRenderer: (TD, row, col, prop, value, cellProperties) => {
|
283
176
|
TD.title = cellProperties.instance.getDataAtRowProp(row, cellProperties.label.property);
|
284
177
|
},
|
285
|
-
afterListen: () => {
|
286
|
-
this.runLocalHooks('focus', this);
|
287
|
-
},
|
288
|
-
beforeOnCellMouseUp: () => {
|
289
|
-
_classPrivateFieldGet(this, _itemsBox).listen();
|
290
|
-
},
|
291
178
|
maxCols: 1,
|
292
179
|
autoWrapCol: true,
|
293
180
|
height: 110,
|
294
181
|
// Workaround for #151.
|
295
|
-
colWidths: () =>
|
182
|
+
colWidths: () => this.itemsBox.container.scrollWidth - getScrollbarWidth(rootDocument),
|
296
183
|
copyPaste: false,
|
297
184
|
disableVisualSelection: 'area',
|
298
185
|
fillHandle: false,
|
@@ -302,49 +189,30 @@ export class MultipleSelectUI extends BaseUI {
|
|
302
189
|
col: 0
|
303
190
|
},
|
304
191
|
layoutDirection: this.hot.isRtl() ? 'rtl' : 'ltr'
|
305
|
-
})
|
306
|
-
|
307
|
-
const shortcutManager =
|
192
|
+
});
|
193
|
+
this.itemsBox.init();
|
194
|
+
const shortcutManager = this.itemsBox.getShortcutManager();
|
308
195
|
const gridContext = shortcutManager.getContext('grid');
|
309
|
-
gridContext.removeShortcutsByKeys(['Tab']);
|
310
|
-
gridContext.removeShortcutsByKeys(['Shift', 'Tab']);
|
311
196
|
gridContext.addShortcut({
|
197
|
+
// TODO: Is this shortcut really needed? We have one test for that case, but focus is performed programmatically.
|
312
198
|
keys: [['Escape']],
|
313
199
|
callback: event => {
|
314
200
|
this.runLocalHooks('keydown', event, this);
|
315
201
|
},
|
316
202
|
group: SHORTCUTS_GROUP
|
317
203
|
});
|
318
|
-
gridContext.addShortcut({
|
319
|
-
keys: [['Tab'], ['Shift', 'Tab']],
|
320
|
-
callback: event => {
|
321
|
-
_classPrivateFieldGet(this, _itemsBox).deselectCell();
|
322
|
-
this.runLocalHooks('keydown', event, this);
|
323
|
-
this.runLocalHooks('listTabKeydown', event, this);
|
324
|
-
},
|
325
|
-
group: SHORTCUTS_GROUP
|
326
|
-
});
|
327
204
|
};
|
328
205
|
hotInitializer(itemsBoxWrapper);
|
329
|
-
|
330
|
-
}
|
331
|
-
|
332
|
-
/**
|
333
|
-
* Focus element.
|
334
|
-
*/
|
335
|
-
focus() {
|
336
|
-
if (this.isBuilt()) {
|
337
|
-
_classPrivateFieldGet(this, _itemsBox).listen();
|
338
|
-
}
|
206
|
+
setTimeout(() => hotInitializer(itemsBoxWrapper), 100);
|
339
207
|
}
|
340
208
|
|
341
209
|
/**
|
342
210
|
* Reset DOM structure.
|
343
211
|
*/
|
344
212
|
reset() {
|
345
|
-
|
346
|
-
|
347
|
-
|
213
|
+
this.searchInput.reset();
|
214
|
+
this.selectAllUI.reset();
|
215
|
+
this.clearAllUI.reset();
|
348
216
|
}
|
349
217
|
|
350
218
|
/**
|
@@ -354,7 +222,7 @@ export class MultipleSelectUI extends BaseUI {
|
|
354
222
|
if (!this.isBuilt()) {
|
355
223
|
return;
|
356
224
|
}
|
357
|
-
|
225
|
+
this.itemsBox.loadData(valueToItems(this.items, this.options.value));
|
358
226
|
super.update();
|
359
227
|
}
|
360
228
|
|
@@ -362,57 +230,84 @@ export class MultipleSelectUI extends BaseUI {
|
|
362
230
|
* Destroy instance.
|
363
231
|
*/
|
364
232
|
destroy() {
|
365
|
-
if (
|
366
|
-
|
233
|
+
if (this.itemsBox) {
|
234
|
+
this.itemsBox.destroy();
|
367
235
|
}
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
236
|
+
this.searchInput.destroy();
|
237
|
+
this.clearAllUI.destroy();
|
238
|
+
this.selectAllUI.destroy();
|
239
|
+
this.searchInput = null;
|
240
|
+
this.clearAllUI = null;
|
241
|
+
this.selectAllUI = null;
|
242
|
+
this.itemsBox = null;
|
243
|
+
this.items = null;
|
376
244
|
super.destroy();
|
377
245
|
}
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
|
246
|
+
|
247
|
+
/**
|
248
|
+
* 'input' event listener for input element.
|
249
|
+
*
|
250
|
+
* @private
|
251
|
+
* @param {Event} event DOM event.
|
252
|
+
*/
|
253
|
+
onInput(event) {
|
254
|
+
const value = event.target.value.toLocaleLowerCase(this.getLocale());
|
255
|
+
let filteredItems;
|
256
|
+
if (value === '') {
|
257
|
+
filteredItems = [...this.items];
|
258
|
+
} else {
|
259
|
+
filteredItems = arrayFilter(this.items, item => `${item.value}`.toLocaleLowerCase(this.getLocale()).indexOf(value) >= 0);
|
260
|
+
}
|
261
|
+
this.itemsBox.loadData(filteredItems);
|
386
262
|
}
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
263
|
+
|
264
|
+
/**
|
265
|
+
* 'keydown' event listener for input element.
|
266
|
+
*
|
267
|
+
* @private
|
268
|
+
* @param {Event} event DOM event.
|
269
|
+
*/
|
270
|
+
onInputKeyDown(event) {
|
271
|
+
this.runLocalHooks('keydown', event, this);
|
272
|
+
const isKeyCode = partial(isKey, event.keyCode);
|
273
|
+
if (isKeyCode('ARROW_DOWN|TAB') && !this.itemsBox.isListening()) {
|
274
|
+
stopImmediatePropagation(event);
|
275
|
+
this.itemsBox.listen();
|
276
|
+
this.itemsBox.selectCell(0, 0);
|
277
|
+
}
|
278
|
+
}
|
279
|
+
|
280
|
+
/**
|
281
|
+
* On click listener for "Select all" link.
|
282
|
+
*
|
283
|
+
* @private
|
284
|
+
* @param {DOMEvent} event The mouse event object.
|
285
|
+
*/
|
286
|
+
onSelectAllClick(event) {
|
287
|
+
const changes = [];
|
393
288
|
event.preventDefault();
|
394
|
-
|
395
|
-
|
396
|
-
|
289
|
+
arrayEach(this.itemsBox.getSourceData(), (row, rowIndex) => {
|
290
|
+
row.checked = true;
|
291
|
+
changes.push(dataRowToChangesArray(row, rowIndex)[0]);
|
292
|
+
});
|
293
|
+
this.itemsBox.setSourceDataAtCell(changes);
|
294
|
+
}
|
295
|
+
|
296
|
+
/**
|
297
|
+
* On click listener for "Clear" link.
|
298
|
+
*
|
299
|
+
* @private
|
300
|
+
* @param {DOMEvent} event The mouse event object.
|
301
|
+
*/
|
302
|
+
onClearAllClick(event) {
|
303
|
+
const changes = [];
|
304
|
+
event.preventDefault();
|
305
|
+
arrayEach(this.itemsBox.getSourceData(), (row, rowIndex) => {
|
306
|
+
row.checked = false;
|
307
|
+
changes.push(dataRowToChangesArray(row, rowIndex)[0]);
|
308
|
+
});
|
309
|
+
this.itemsBox.setSourceDataAtCell(changes);
|
397
310
|
}
|
398
|
-
}
|
399
|
-
function _onSelectAllClick2(event) {
|
400
|
-
const changes = [];
|
401
|
-
event.preventDefault();
|
402
|
-
arrayEach(_classPrivateFieldGet(this, _itemsBox).getSourceData(), (row, rowIndex) => {
|
403
|
-
row.checked = true;
|
404
|
-
changes.push(dataRowToChangesArray(row, rowIndex)[0]);
|
405
|
-
});
|
406
|
-
_classPrivateFieldGet(this, _itemsBox).setSourceDataAtCell(changes);
|
407
|
-
}
|
408
|
-
function _onClearAllClick2(event) {
|
409
|
-
const changes = [];
|
410
|
-
event.preventDefault();
|
411
|
-
arrayEach(_classPrivateFieldGet(this, _itemsBox).getSourceData(), (row, rowIndex) => {
|
412
|
-
row.checked = false;
|
413
|
-
changes.push(dataRowToChangesArray(row, rowIndex)[0]);
|
414
|
-
});
|
415
|
-
_classPrivateFieldGet(this, _itemsBox).setSourceDataAtCell(changes);
|
416
311
|
}
|
417
312
|
export default MultipleSelectUI;
|
418
313
|
|
@@ -1,23 +1,16 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
exports.__esModule = true;
|
4
|
-
require("core-js/modules/es.error.cause.js");
|
5
4
|
var _object = require("../../../helpers/object");
|
6
|
-
var _base = require("./_base");
|
7
|
-
function
|
8
|
-
|
9
|
-
|
10
|
-
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
11
|
-
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
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; } }
|
5
|
+
var _base = _interopRequireDefault(require("./_base"));
|
6
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
7
|
+
const privatePool = new WeakMap();
|
8
|
+
|
14
9
|
/**
|
15
10
|
* @private
|
16
11
|
* @class RadioInputUI
|
17
12
|
*/
|
18
|
-
|
19
|
-
var _label = /*#__PURE__*/new WeakMap();
|
20
|
-
class RadioInputUI extends _base.BaseUI {
|
13
|
+
class RadioInputUI extends _base.default {
|
21
14
|
static get DEFAULTS() {
|
22
15
|
return (0, _object.clone)({
|
23
16
|
type: 'radio',
|
@@ -26,28 +19,9 @@ class RadioInputUI extends _base.BaseUI {
|
|
26
19
|
label: {}
|
27
20
|
});
|
28
21
|
}
|
29
|
-
|
30
|
-
/**
|
31
|
-
* The reference to the input element.
|
32
|
-
*
|
33
|
-
* @type {HTMLInputElement}
|
34
|
-
*/
|
35
|
-
|
36
22
|
constructor(hotInstance, options) {
|
37
23
|
super(hotInstance, (0, _object.extend)(RadioInputUI.DEFAULTS, options));
|
38
|
-
|
39
|
-
writable: true,
|
40
|
-
value: void 0
|
41
|
-
});
|
42
|
-
/**
|
43
|
-
* The reference to the label element.
|
44
|
-
*
|
45
|
-
* @type {HTMLLabelElement}
|
46
|
-
*/
|
47
|
-
_classPrivateFieldInitSpec(this, _label, {
|
48
|
-
writable: true,
|
49
|
-
value: void 0
|
50
|
-
});
|
24
|
+
privatePool.set(this, {});
|
51
25
|
}
|
52
26
|
|
53
27
|
/**
|
@@ -55,12 +29,12 @@ class RadioInputUI extends _base.BaseUI {
|
|
55
29
|
*/
|
56
30
|
build() {
|
57
31
|
super.build();
|
32
|
+
const priv = privatePool.get(this);
|
33
|
+
priv.input = this._element.firstChild;
|
58
34
|
const label = this.hot.rootDocument.createElement('label');
|
59
35
|
label.textContent = this.translateIfPossible(this.options.label.textContent);
|
60
36
|
label.htmlFor = this.translateIfPossible(this.options.label.htmlFor);
|
61
|
-
|
62
|
-
_classPrivateFieldSet(this, _input, this._element.firstChild);
|
63
|
-
_classPrivateFieldGet(this, _input).checked = this.options.checked;
|
37
|
+
priv.label = label;
|
64
38
|
this._element.appendChild(label);
|
65
39
|
this.update();
|
66
40
|
}
|
@@ -72,7 +46,9 @@ class RadioInputUI extends _base.BaseUI {
|
|
72
46
|
if (!this.isBuilt()) {
|
73
47
|
return;
|
74
48
|
}
|
75
|
-
|
49
|
+
const priv = privatePool.get(this);
|
50
|
+
priv.input.checked = this.options.checked;
|
51
|
+
priv.label.textContent = this.translateIfPossible(this.options.label.textContent);
|
76
52
|
}
|
77
53
|
|
78
54
|
/**
|
@@ -81,7 +57,7 @@ class RadioInputUI extends _base.BaseUI {
|
|
81
57
|
* @returns {boolean}
|
82
58
|
*/
|
83
59
|
isChecked() {
|
84
|
-
return
|
60
|
+
return this.options.checked;
|
85
61
|
}
|
86
62
|
|
87
63
|
/**
|
@@ -91,9 +67,8 @@ class RadioInputUI extends _base.BaseUI {
|
|
91
67
|
*/
|
92
68
|
setChecked() {
|
93
69
|
let value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
94
|
-
|
95
|
-
|
96
|
-
}
|
70
|
+
this.options.checked = value;
|
71
|
+
this.update();
|
97
72
|
}
|
98
73
|
|
99
74
|
/**
|
@@ -101,8 +76,9 @@ class RadioInputUI extends _base.BaseUI {
|
|
101
76
|
*/
|
102
77
|
focus() {
|
103
78
|
if (this.isBuilt()) {
|
104
|
-
|
79
|
+
privatePool.get(this).input.focus();
|
105
80
|
}
|
106
81
|
}
|
107
82
|
}
|
108
|
-
|
83
|
+
var _default = RadioInputUI;
|
84
|
+
exports.default = _default;
|