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