handsontable 14.6.1-next-689aaa6-20241016 → 15.0.0-next-4472a60-20241203
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/3rdparty/walkontable/src/calculator/calculationType/renderedColumns.js +23 -0
- package/3rdparty/walkontable/src/calculator/calculationType/renderedColumns.mjs +23 -0
- package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.js +23 -0
- package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.mjs +23 -0
- package/3rdparty/walkontable/src/calculator/index.js +1 -2
- package/3rdparty/walkontable/src/calculator/index.mjs +2 -2
- package/3rdparty/walkontable/src/calculator/viewportBase.js +2 -0
- package/3rdparty/walkontable/src/calculator/viewportBase.mjs +2 -0
- package/3rdparty/walkontable/src/calculator/viewportRows.js +3 -3
- package/3rdparty/walkontable/src/calculator/viewportRows.mjs +3 -3
- package/3rdparty/walkontable/src/core/_base.js +29 -23
- package/3rdparty/walkontable/src/core/_base.mjs +29 -23
- package/3rdparty/walkontable/src/core/clone.js +1 -0
- package/3rdparty/walkontable/src/core/clone.mjs +1 -0
- package/3rdparty/walkontable/src/core/core.js +2 -0
- package/3rdparty/walkontable/src/core/core.mjs +2 -0
- package/3rdparty/walkontable/src/facade/core.js +12 -6
- package/3rdparty/walkontable/src/facade/core.mjs +12 -6
- package/3rdparty/walkontable/src/index.js +0 -1
- package/3rdparty/walkontable/src/index.mjs +2 -2
- package/3rdparty/walkontable/src/overlay/_base.js +8 -1
- package/3rdparty/walkontable/src/overlay/_base.mjs +8 -1
- package/3rdparty/walkontable/src/overlay/bottom.js +5 -6
- package/3rdparty/walkontable/src/overlay/bottom.mjs +5 -6
- package/3rdparty/walkontable/src/overlay/index.js +2 -0
- package/3rdparty/walkontable/src/overlay/inlineStart.js +8 -7
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +9 -8
- package/3rdparty/walkontable/src/overlay/top.js +9 -8
- package/3rdparty/walkontable/src/overlay/top.mjs +10 -9
- package/3rdparty/walkontable/src/overlays.js +10 -26
- package/3rdparty/walkontable/src/overlays.mjs +10 -26
- package/3rdparty/walkontable/src/renderer/colGroup.js +1 -1
- package/3rdparty/walkontable/src/renderer/colGroup.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/index.js +4 -2
- package/3rdparty/walkontable/src/renderer/index.mjs +4 -2
- package/3rdparty/walkontable/src/renderer/table.js +13 -4
- package/3rdparty/walkontable/src/renderer/table.mjs +13 -4
- package/3rdparty/walkontable/src/scroll.js +46 -37
- package/3rdparty/walkontable/src/scroll.mjs +46 -37
- package/3rdparty/walkontable/src/selection/border/border.js +52 -58
- package/3rdparty/walkontable/src/selection/border/border.mjs +53 -59
- package/3rdparty/walkontable/src/selection/border/utils.js +26 -0
- package/3rdparty/walkontable/src/selection/border/utils.mjs +22 -0
- package/3rdparty/walkontable/src/selection/index.js +6 -4
- package/3rdparty/walkontable/src/selection/index.mjs +1 -1
- package/3rdparty/walkontable/src/selection/manager.js +3 -0
- package/3rdparty/walkontable/src/selection/manager.mjs +3 -0
- package/3rdparty/walkontable/src/selection/scanner.js +46 -11
- package/3rdparty/walkontable/src/selection/scanner.mjs +46 -11
- package/3rdparty/walkontable/src/settings.js +8 -9
- package/3rdparty/walkontable/src/settings.mjs +8 -9
- package/3rdparty/walkontable/src/table/master.js +1 -1
- package/3rdparty/walkontable/src/table/master.mjs +2 -2
- package/3rdparty/walkontable/src/table.js +25 -36
- package/3rdparty/walkontable/src/table.mjs +25 -36
- package/3rdparty/walkontable/src/types.js +1 -0
- package/3rdparty/walkontable/src/types.mjs +1 -0
- package/3rdparty/walkontable/src/utils/column.js +1 -43
- package/3rdparty/walkontable/src/utils/column.mjs +1 -43
- package/3rdparty/walkontable/src/utils/stylesHandler.js +295 -0
- package/3rdparty/walkontable/src/utils/stylesHandler.mjs +291 -0
- package/3rdparty/walkontable/src/viewport.js +94 -91
- package/3rdparty/walkontable/src/viewport.mjs +95 -92
- package/CHANGELOG.md +36 -0
- package/README.md +1 -1
- package/base.js +4 -4
- package/base.mjs +3 -3
- package/core/focusCatcher/focusDetector.js +1 -0
- package/core/focusCatcher/focusDetector.mjs +1 -0
- package/core/hooks/bucket.js +184 -0
- package/core/hooks/bucket.mjs +180 -0
- package/{pluginHooks.mjs → core/hooks/constants.js} +38 -486
- package/{pluginHooks.js → core/hooks/constants.mjs} +34 -489
- package/{pluginHooks.d.ts → core/hooks/index.d.ts} +22 -25
- package/core/hooks/index.js +385 -0
- package/core/hooks/index.mjs +381 -0
- package/core/index.js +2 -0
- package/core.d.ts +5 -3
- package/core.js +77 -35
- package/core.mjs +69 -27
- package/dataMap/dataMap.js +3 -0
- package/dataMap/dataMap.mjs +3 -0
- package/dataMap/dataSource.js +2 -0
- package/dataMap/dataSource.mjs +2 -0
- package/dataMap/metaManager/index.js +2 -0
- package/dataMap/metaManager/index.mjs +2 -0
- package/dataMap/metaManager/metaSchema.js +91 -5
- package/dataMap/metaManager/metaSchema.mjs +91 -5
- package/dataMap/metaManager/mods/dynamicCellMeta.js +2 -3
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +1 -1
- package/dataMap/metaManager/mods/extendMetaProperties.js +2 -0
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +2 -0
- package/dist/handsontable.css +84 -72
- package/dist/handsontable.full.css +317 -304
- package/dist/handsontable.full.js +14826 -7294
- package/dist/handsontable.full.min.css +15 -10
- package/dist/handsontable.full.min.js +262 -69
- package/dist/handsontable.js +7826 -5552
- package/dist/handsontable.min.css +10 -6
- package/dist/handsontable.min.js +33 -33
- package/dist/languages/all.js +1 -1
- package/dist/languages/ar-AR.js +1 -1
- package/dist/languages/cs-CZ.js +1 -1
- package/dist/languages/de-CH.js +1 -1
- package/dist/languages/de-DE.js +1 -1
- package/dist/languages/en-US.js +1 -1
- package/dist/languages/es-MX.js +1 -1
- package/dist/languages/fr-FR.js +1 -1
- package/dist/languages/hr-HR.js +1 -1
- package/dist/languages/it-IT.js +1 -1
- package/dist/languages/ja-JP.js +1 -1
- package/dist/languages/ko-KR.js +1 -1
- package/dist/languages/lv-LV.js +1 -1
- package/dist/languages/nb-NO.js +1 -1
- package/dist/languages/nl-NL.js +1 -1
- package/dist/languages/pl-PL.js +1 -1
- package/dist/languages/pt-BR.js +1 -1
- package/dist/languages/ru-RU.js +1 -1
- package/dist/languages/sr-SP.js +1 -1
- package/dist/languages/zh-CN.js +1 -1
- package/dist/languages/zh-TW.js +1 -1
- package/editorManager.js +2 -2
- package/editorManager.mjs +2 -2
- package/editors/autocompleteEditor/autocompleteEditor.js +34 -16
- package/editors/autocompleteEditor/autocompleteEditor.mjs +34 -16
- package/editors/baseEditor/baseEditor.js +25 -18
- package/editors/baseEditor/baseEditor.mjs +26 -19
- package/editors/dateEditor/dateEditor.js +9 -0
- package/editors/dateEditor/dateEditor.mjs +10 -1
- package/editors/dropdownEditor/dropdownEditor.js +4 -3
- package/editors/dropdownEditor/dropdownEditor.mjs +3 -1
- package/editors/handsontableEditor/handsontableEditor.js +36 -2
- package/editors/handsontableEditor/handsontableEditor.mjs +36 -2
- package/editors/passwordEditor/passwordEditor.js +18 -0
- package/editors/passwordEditor/passwordEditor.mjs +18 -0
- package/editors/registry.js +2 -2
- package/editors/registry.mjs +1 -1
- package/editors/selectEditor/selectEditor.js +20 -9
- package/editors/selectEditor/selectEditor.mjs +20 -9
- package/editors/textEditor/textEditor.js +5 -12
- package/editors/textEditor/textEditor.mjs +6 -13
- package/focusManager.js +5 -7
- package/focusManager.mjs +5 -7
- package/helpers/array.js +2 -0
- package/helpers/array.mjs +2 -0
- package/helpers/data.js +3 -0
- package/helpers/data.mjs +3 -0
- package/helpers/dom/element.js +39 -18
- package/helpers/dom/element.mjs +38 -17
- package/helpers/mixed.js +3 -3
- package/helpers/mixed.mjs +3 -3
- package/helpers/moves.js +3 -0
- package/helpers/moves.mjs +3 -0
- package/helpers/number.js +1 -0
- package/helpers/number.mjs +1 -0
- package/helpers/object.js +2 -0
- package/helpers/object.mjs +2 -0
- package/helpers/themes.js +17 -0
- package/helpers/themes.mjs +13 -0
- package/i18n/index.js +2 -0
- package/i18n/languages/index.d.ts +8 -0
- package/i18n/languages/ja-JP.d.ts +1 -1
- package/i18n/phraseFormatters/substituteVariables.js +1 -0
- package/i18n/phraseFormatters/substituteVariables.mjs +1 -0
- package/index.d.ts +9 -1
- package/languages/all.js +1 -1
- package/languages/ar-AR.js +1 -1
- package/languages/cs-CZ.js +1 -1
- package/languages/de-CH.js +1 -1
- package/languages/de-DE.js +1 -1
- package/languages/en-US.js +1 -1
- package/languages/es-MX.js +1 -1
- package/languages/fr-FR.js +1 -1
- package/languages/hr-HR.js +1 -1
- package/languages/index.js +1 -1
- package/languages/it-IT.js +1 -1
- package/languages/ja-JP.js +1 -1
- package/languages/ko-KR.js +1 -1
- package/languages/lv-LV.js +1 -1
- package/languages/nb-NO.js +1 -1
- package/languages/nl-NL.js +1 -1
- package/languages/pl-PL.js +1 -1
- package/languages/pt-BR.js +1 -1
- package/languages/ru-RU.js +1 -1
- package/languages/sr-SP.js +1 -1
- package/languages/zh-CN.js +1 -1
- package/languages/zh-TW.js +1 -1
- package/package.json +22 -7
- package/plugins/autoColumnSize/autoColumnSize.js +22 -27
- package/plugins/autoColumnSize/autoColumnSize.mjs +22 -27
- package/plugins/autoRowSize/autoRowSize.js +20 -22
- package/plugins/autoRowSize/autoRowSize.mjs +21 -23
- package/plugins/autofill/autofill.js +4 -5
- package/plugins/autofill/autofill.mjs +1 -1
- package/plugins/base/base.d.ts +1 -1
- package/plugins/base/base.js +41 -0
- package/plugins/base/base.mjs +42 -1
- package/plugins/base/index.js +2 -1
- package/plugins/base/index.mjs +1 -1
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +2 -5
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +2 -5
- package/plugins/columnSorting/columnSorting.js +5 -4
- package/plugins/columnSorting/columnSorting.mjs +3 -1
- package/plugins/columnSorting/columnStatesManager.js +1 -0
- package/plugins/columnSorting/columnStatesManager.mjs +1 -0
- package/plugins/columnSorting/utils.js +3 -0
- package/plugins/columnSorting/utils.mjs +3 -0
- package/plugins/columnSummary/endpoints.js +3 -0
- package/plugins/columnSummary/endpoints.mjs +3 -0
- package/plugins/comments/commentEditor.js +9 -0
- package/plugins/comments/commentEditor.mjs +9 -0
- package/plugins/comments/comments.js +24 -18
- package/plugins/comments/comments.mjs +26 -20
- package/plugins/comments/editorResizeObserver.js +2 -0
- package/plugins/comments/editorResizeObserver.mjs +2 -0
- package/plugins/contextMenu/contextMenu.d.ts +2 -1
- package/plugins/contextMenu/contextMenu.js +6 -7
- package/plugins/contextMenu/contextMenu.mjs +1 -1
- package/plugins/contextMenu/menu/index.js +2 -0
- package/plugins/contextMenu/menu/menu.js +10 -5
- package/plugins/contextMenu/menu/menu.mjs +11 -6
- package/plugins/contextMenu/menu/positioner.js +4 -2
- package/plugins/contextMenu/menu/positioner.mjs +4 -2
- package/plugins/contextMenu/menu/shortcuts.js +3 -1
- package/plugins/contextMenu/menu/shortcuts.mjs +3 -1
- package/plugins/contextMenu/predefinedItems/alignment.js +7 -84
- package/plugins/contextMenu/predefinedItems/alignment.mjs +8 -85
- package/plugins/contextMenu/utils.js +0 -10
- package/plugins/contextMenu/utils.mjs +0 -9
- package/plugins/copyPaste/copyPaste.d.ts +1 -0
- package/plugins/copyPaste/copyPaste.js +32 -23
- package/plugins/copyPaste/copyPaste.mjs +24 -15
- package/plugins/customBorders/utils.js +2 -0
- package/plugins/customBorders/utils.mjs +2 -0
- package/plugins/dropdownMenu/dropdownMenu.d.ts +2 -1
- package/plugins/dropdownMenu/dropdownMenu.js +6 -7
- package/plugins/dropdownMenu/dropdownMenu.mjs +1 -1
- package/plugins/exportFile/types/csv.js +1 -0
- package/plugins/exportFile/types/csv.mjs +1 -0
- package/plugins/filters/component/condition.js +2 -0
- package/plugins/filters/component/condition.mjs +2 -0
- package/plugins/filters/component/operators.js +2 -0
- package/plugins/filters/component/operators.mjs +2 -0
- package/plugins/filters/component/value.js +3 -0
- package/plugins/filters/component/value.mjs +3 -0
- package/plugins/filters/conditionCollection.js +3 -0
- package/plugins/filters/conditionCollection.mjs +3 -0
- package/plugins/filters/conditionUpdateObserver.js +2 -0
- package/plugins/filters/conditionUpdateObserver.mjs +2 -0
- package/plugins/filters/filters.js +43 -13
- package/plugins/filters/filters.mjs +43 -13
- package/plugins/filters/logicalOperations/conjunction.js +2 -0
- package/plugins/filters/logicalOperations/conjunction.mjs +2 -0
- package/plugins/filters/logicalOperations/disjunction.js +2 -0
- package/plugins/filters/logicalOperations/disjunction.mjs +2 -0
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +2 -0
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.mjs +2 -0
- package/plugins/filters/menu/focusController.js +38 -14
- package/plugins/filters/menu/focusController.mjs +38 -14
- package/plugins/filters/ui/multipleSelect.js +10 -0
- package/plugins/filters/ui/multipleSelect.mjs +10 -0
- package/plugins/formulas/engine/register.js +3 -0
- package/plugins/formulas/engine/register.mjs +3 -0
- package/plugins/formulas/engine/settings.js +3 -0
- package/plugins/formulas/engine/settings.mjs +3 -0
- package/plugins/formulas/formulas.js +12 -7
- package/plugins/formulas/formulas.mjs +6 -1
- package/plugins/formulas/indexSyncer/axisSyncer.js +3 -0
- package/plugins/formulas/indexSyncer/axisSyncer.mjs +3 -0
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +2 -0
- package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +2 -0
- package/plugins/hiddenColumns/hiddenColumns.js +22 -30
- package/plugins/hiddenColumns/hiddenColumns.mjs +18 -26
- package/plugins/hiddenRows/contextMenuItem/showRow.js +2 -0
- package/plugins/hiddenRows/contextMenuItem/showRow.mjs +2 -0
- package/plugins/hiddenRows/hiddenRows.js +21 -29
- package/plugins/hiddenRows/hiddenRows.mjs +17 -25
- package/plugins/index.d.ts +3 -0
- package/plugins/index.js +3 -0
- package/plugins/index.mjs +3 -1
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +7 -5
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +3 -1
- package/plugins/manualColumnMove/manualColumnMove.js +6 -6
- package/plugins/manualColumnMove/manualColumnMove.mjs +4 -4
- package/plugins/manualColumnResize/manualColumnResize.js +26 -12
- package/plugins/manualColumnResize/manualColumnResize.mjs +26 -12
- package/plugins/manualRowMove/manualRowMove.js +8 -6
- package/plugins/manualRowMove/manualRowMove.mjs +6 -4
- package/plugins/manualRowResize/manualRowResize.js +3 -2
- package/plugins/manualRowResize/manualRowResize.mjs +4 -3
- package/plugins/mergeCells/cellsCollection.js +19 -3
- package/plugins/mergeCells/cellsCollection.mjs +20 -4
- package/plugins/mergeCells/mergeCells.d.ts +6 -2
- package/plugins/mergeCells/mergeCells.js +84 -56
- package/plugins/mergeCells/mergeCells.mjs +82 -54
- package/plugins/mergeCells/renderer.js +13 -3
- package/plugins/mergeCells/renderer.mjs +13 -3
- package/plugins/multiColumnSorting/domHelpers.js +2 -0
- package/plugins/multiColumnSorting/domHelpers.mjs +2 -0
- package/plugins/nestedHeaders/nestedHeaders.js +63 -16
- package/plugins/nestedHeaders/nestedHeaders.mjs +63 -16
- package/plugins/nestedHeaders/stateManager/index.js +1 -0
- package/plugins/nestedHeaders/stateManager/index.mjs +1 -0
- package/plugins/nestedRows/nestedRows.js +3 -0
- package/plugins/nestedRows/nestedRows.mjs +3 -0
- package/plugins/nestedRows/ui/headers.js +7 -1
- package/plugins/nestedRows/ui/headers.mjs +7 -1
- package/plugins/nestedRows/utils/rowMoveController.js +4 -0
- package/plugins/nestedRows/utils/rowMoveController.mjs +4 -0
- package/plugins/persistentState/persistentState.js +4 -4
- package/plugins/persistentState/persistentState.mjs +1 -1
- package/plugins/stretchColumns/calculator.js +162 -0
- package/plugins/stretchColumns/calculator.mjs +158 -0
- package/plugins/stretchColumns/index.d.ts +1 -0
- package/plugins/stretchColumns/index.js +7 -0
- package/plugins/stretchColumns/index.mjs +1 -0
- package/plugins/stretchColumns/strategies/_base.js +85 -0
- package/plugins/stretchColumns/strategies/_base.mjs +81 -0
- package/plugins/stretchColumns/strategies/all.js +71 -0
- package/plugins/stretchColumns/strategies/all.mjs +67 -0
- package/plugins/stretchColumns/strategies/last.js +79 -0
- package/plugins/stretchColumns/strategies/last.mjs +75 -0
- package/plugins/stretchColumns/stretchColumns.d.ts +11 -0
- package/plugins/stretchColumns/stretchColumns.js +222 -0
- package/plugins/stretchColumns/stretchColumns.mjs +218 -0
- package/plugins/trimRows/trimRows.js +2 -0
- package/plugins/trimRows/trimRows.mjs +2 -0
- package/plugins/undoRedo/undoRedo.js +9 -5
- package/plugins/undoRedo/undoRedo.mjs +8 -3
- package/renderers/checkboxRenderer/checkboxRenderer.js +19 -8
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +18 -7
- package/selection/index.js +2 -0
- package/selection/range.js +2 -0
- package/selection/range.mjs +2 -0
- package/selection/selection.js +7 -2
- package/selection/selection.mjs +7 -2
- package/selection/utils.js +2 -0
- package/selection/utils.mjs +2 -0
- package/settings.d.ts +4 -1
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +1 -1
- package/shortcutContexts/commands/index.js +2 -0
- package/shortcutContexts/commands/index.mjs +2 -0
- package/shortcutContexts/commands/scrollToFocusedCell.js +4 -4
- package/shortcutContexts/commands/scrollToFocusedCell.mjs +4 -4
- package/shortcutContexts/index.js +2 -0
- package/shortcutContexts/index.mjs +2 -0
- package/shortcuts/context.js +3 -0
- package/shortcuts/context.mjs +3 -0
- package/shortcuts/recorder.js +3 -3
- package/shortcuts/recorder.mjs +3 -3
- package/shortcuts/utils.js +1 -0
- package/shortcuts/utils.mjs +1 -0
- package/styles/handsontable.css +2307 -0
- package/styles/handsontable.min.css +30 -0
- package/styles/ht-theme-horizon.css +607 -0
- package/styles/ht-theme-horizon.min.css +30 -0
- package/styles/ht-theme-main.css +613 -0
- package/styles/ht-theme-main.min.css +30 -0
- package/tableView.js +205 -33
- package/tableView.mjs +206 -34
- package/translations/changesObservable/observable.js +2 -0
- package/translations/changesObservable/observable.mjs +2 -0
- package/translations/index.js +2 -0
- package/translations/indexMapper.js +4 -0
- package/translations/indexMapper.mjs +4 -0
- package/translations/mapCollections/index.js +2 -0
- package/translations/mapCollections/mapCollection.js +2 -0
- package/translations/mapCollections/mapCollection.mjs +2 -0
- package/translations/maps/index.js +2 -0
- package/translations/maps/linkedPhysicalIndexToValueMap.js +1 -0
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +1 -0
- package/translations/maps/utils/actionsOnIndexes.js +2 -0
- package/translations/maps/utils/actionsOnIndexes.mjs +2 -0
- package/translations/maps/utils/physicallyIndexed.js +1 -0
- package/translations/maps/utils/physicallyIndexed.mjs +1 -0
- package/utils/autoResize.js +11 -3
- package/utils/autoResize.mjs +11 -3
- package/utils/dataStructures/priorityMap.js +1 -0
- package/utils/dataStructures/priorityMap.mjs +1 -0
- package/utils/dataStructures/uniqueMap.js +2 -0
- package/utils/dataStructures/uniqueMap.mjs +2 -0
- package/utils/ghostTable.js +7 -3
- package/utils/ghostTable.mjs +7 -3
- package/utils/parseTable.js +4 -0
- package/utils/parseTable.mjs +4 -0
- package/3rdparty/walkontable/src/selection/border/constants.js +0 -15
- package/3rdparty/walkontable/src/selection/border/constants.mjs +0 -12
- package/3rdparty/walkontable/src/utils/columnStretching.js +0 -197
- package/3rdparty/walkontable/src/utils/columnStretching.mjs +0 -193
@@ -1,3 +1,5 @@
|
|
1
|
+
import "core-js/modules/esnext.iterator.constructor.js";
|
2
|
+
import "core-js/modules/esnext.iterator.for-each.js";
|
1
3
|
import { createFocusNavigator } from "./focusNavigator.mjs";
|
2
4
|
import { SelectUI } from "../ui/select.mjs";
|
3
5
|
import { BaseUI } from "../ui/_base.mjs";
|
@@ -28,10 +30,11 @@ export function createMenuFocusController(mainMenu, menuItems) {
|
|
28
30
|
* into the focus mode triggered by the TAB or SHIFT+TAB keys).
|
29
31
|
*/
|
30
32
|
let lastSelectedMenuItem = -1;
|
33
|
+
let menuInstance;
|
31
34
|
const focusNavigator = createFocusNavigator(menuItems);
|
32
35
|
const updateNavigatorPosition = element => () => {
|
33
|
-
if (
|
34
|
-
|
36
|
+
if (menuInstance.isOpened()) {
|
37
|
+
menuInstance.getKeyboardShortcutsCtrl().listen(SHORTCUTS_MENU_CONTEXT);
|
35
38
|
}
|
36
39
|
focusNavigator.setCurrentPage(menuItems.indexOf(element));
|
37
40
|
};
|
@@ -44,11 +47,7 @@ export function createMenuFocusController(mainMenu, menuItems) {
|
|
44
47
|
element.addLocalHook('afterClose', updateNavigatorPosition(element));
|
45
48
|
}
|
46
49
|
});
|
47
|
-
mainMenu
|
48
|
-
if (!selectedItem.key.startsWith('filter_')) {
|
49
|
-
focusNavigator.clear();
|
50
|
-
}
|
51
|
-
});
|
50
|
+
setMenu(mainMenu);
|
52
51
|
|
53
52
|
/**
|
54
53
|
* Extends the menu and submenus with new keyboard shortcuts.
|
@@ -56,7 +55,7 @@ export function createMenuFocusController(mainMenu, menuItems) {
|
|
56
55
|
* @param {*} menu The menu (as main menu or submenu) instance.
|
57
56
|
*/
|
58
57
|
function addKeyboardShortcuts(menu) {
|
59
|
-
const mainMenuShortcutsCtrl =
|
58
|
+
const mainMenuShortcutsCtrl = menuInstance.getKeyboardShortcutsCtrl();
|
60
59
|
const currentMenuShortcutsCtrl = menu.getKeyboardShortcutsCtrl();
|
61
60
|
focusNavigator.clear();
|
62
61
|
currentMenuShortcutsCtrl.addCustomShortcuts([{
|
@@ -75,7 +74,7 @@ export function createMenuFocusController(mainMenu, menuItems) {
|
|
75
74
|
mainMenuShortcutsCtrl.addCustomShortcuts([{
|
76
75
|
keys: [['Tab'], ['Shift', 'Tab']],
|
77
76
|
callback: event => {
|
78
|
-
const menuNavigator =
|
77
|
+
const menuNavigator = menuInstance.getNavigator();
|
79
78
|
if (menuNavigator.getCurrentPage() > -1) {
|
80
79
|
lastSelectedMenuItem = menuNavigator.getCurrentPage();
|
81
80
|
}
|
@@ -89,7 +88,7 @@ export function createMenuFocusController(mainMenu, menuItems) {
|
|
89
88
|
}, {
|
90
89
|
keys: [['Escape']],
|
91
90
|
callback: () => {
|
92
|
-
|
91
|
+
menuInstance.close();
|
93
92
|
}
|
94
93
|
}, {
|
95
94
|
keys: [['Enter'], ['Space']],
|
@@ -110,16 +109,39 @@ export function createMenuFocusController(mainMenu, menuItems) {
|
|
110
109
|
}
|
111
110
|
}], SHORTCUTS_MENU_CONTEXT);
|
112
111
|
}
|
113
|
-
mainMenu.addLocalHook('afterSubmenuOpen', addKeyboardShortcuts);
|
114
|
-
mainMenu.addLocalHook('afterOpen', addKeyboardShortcuts);
|
115
112
|
|
116
113
|
/**
|
117
114
|
* Focuses the menu and switches its shortcut context to that one which controls
|
118
115
|
* the focus navigation.
|
119
116
|
*/
|
120
117
|
function listen() {
|
121
|
-
|
122
|
-
|
118
|
+
menuInstance.focus();
|
119
|
+
menuInstance.getKeyboardShortcutsCtrl().listen(SHORTCUTS_MENU_CONTEXT);
|
120
|
+
}
|
121
|
+
|
122
|
+
/**
|
123
|
+
* Applies the focus controller to the new menu instance.
|
124
|
+
*
|
125
|
+
* @param {Menu} menu The new menu instance.
|
126
|
+
*/
|
127
|
+
function setMenu(menu) {
|
128
|
+
menu.addLocalHook('afterSelectionChange', selectedItem => {
|
129
|
+
if (!selectedItem.key.startsWith('filter_')) {
|
130
|
+
focusNavigator.clear();
|
131
|
+
}
|
132
|
+
});
|
133
|
+
menu.addLocalHook('afterSubmenuOpen', addKeyboardShortcuts);
|
134
|
+
menu.addLocalHook('afterOpen', addKeyboardShortcuts);
|
135
|
+
menuInstance = menu;
|
136
|
+
}
|
137
|
+
|
138
|
+
/**
|
139
|
+
* Retrieves the current menu instance.
|
140
|
+
*
|
141
|
+
* @returns {Menu} The current menu instance.
|
142
|
+
*/
|
143
|
+
function getMenu() {
|
144
|
+
return menuInstance;
|
123
145
|
}
|
124
146
|
|
125
147
|
/**
|
@@ -133,6 +155,8 @@ export function createMenuFocusController(mainMenu, menuItems) {
|
|
133
155
|
return {
|
134
156
|
...focusNavigator,
|
135
157
|
listen,
|
158
|
+
setMenu,
|
159
|
+
getMenu,
|
136
160
|
getLastMenuPage
|
137
161
|
};
|
138
162
|
}
|
@@ -3,6 +3,10 @@
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
require("core-js/modules/es.error.cause.js");
|
5
5
|
require("core-js/modules/es.array.push.js");
|
6
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
7
|
+
require("core-js/modules/esnext.iterator.filter.js");
|
8
|
+
require("core-js/modules/esnext.iterator.for-each.js");
|
9
|
+
require("core-js/modules/esnext.iterator.map.js");
|
6
10
|
var _element = require("../../../helpers/dom/element");
|
7
11
|
var _object = require("../../../helpers/object");
|
8
12
|
var _unicode = require("../../../helpers/unicode");
|
@@ -261,9 +265,15 @@ class MultipleSelectUI extends _base.BaseUI {
|
|
261
265
|
row: 1,
|
262
266
|
col: 0
|
263
267
|
},
|
268
|
+
themeName: this.hot.getCurrentThemeName(),
|
264
269
|
layoutDirection: this.hot.isRtl() ? 'rtl' : 'ltr'
|
265
270
|
}));
|
266
271
|
_classPrivateFieldGet(_itemsBox, this).init();
|
272
|
+
this.hot.addHook('afterSetTheme', (themeName, firstRun) => {
|
273
|
+
if (!firstRun) {
|
274
|
+
_classPrivateFieldGet(_itemsBox, this).useTheme(themeName);
|
275
|
+
}
|
276
|
+
});
|
267
277
|
const shortcutManager = _classPrivateFieldGet(_itemsBox, this).getShortcutManager();
|
268
278
|
const gridContext = shortcutManager.getContext('grid');
|
269
279
|
gridContext.removeShortcutsByKeys(['Tab']);
|
@@ -1,5 +1,9 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
2
|
import "core-js/modules/es.array.push.js";
|
3
|
+
import "core-js/modules/esnext.iterator.constructor.js";
|
4
|
+
import "core-js/modules/esnext.iterator.filter.js";
|
5
|
+
import "core-js/modules/esnext.iterator.for-each.js";
|
6
|
+
import "core-js/modules/esnext.iterator.map.js";
|
3
7
|
function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
|
4
8
|
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
5
9
|
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
@@ -256,9 +260,15 @@ export class MultipleSelectUI extends BaseUI {
|
|
256
260
|
row: 1,
|
257
261
|
col: 0
|
258
262
|
},
|
263
|
+
themeName: this.hot.getCurrentThemeName(),
|
259
264
|
layoutDirection: this.hot.isRtl() ? 'rtl' : 'ltr'
|
260
265
|
}));
|
261
266
|
_classPrivateFieldGet(_itemsBox, this).init();
|
267
|
+
this.hot.addHook('afterSetTheme', (themeName, firstRun) => {
|
268
|
+
if (!firstRun) {
|
269
|
+
_classPrivateFieldGet(_itemsBox, this).useTheme(themeName);
|
270
|
+
}
|
271
|
+
});
|
262
272
|
const shortcutManager = _classPrivateFieldGet(_itemsBox, this).getShortcutManager();
|
263
273
|
const gridContext = shortcutManager.getContext('grid');
|
264
274
|
gridContext.removeShortcutsByKeys(['Tab']);
|
@@ -10,6 +10,9 @@ exports.setupEngine = setupEngine;
|
|
10
10
|
exports.setupSheet = setupSheet;
|
11
11
|
exports.unregisterEngine = unregisterEngine;
|
12
12
|
require("core-js/modules/es.array.push.js");
|
13
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
14
|
+
require("core-js/modules/esnext.iterator.for-each.js");
|
15
|
+
require("core-js/modules/esnext.iterator.map.js");
|
13
16
|
var _staticRegister = _interopRequireDefault(require("../../../utils/staticRegister"));
|
14
17
|
var _mixed = require("../../../helpers/mixed");
|
15
18
|
var _templateLiteralTag = require("../../../helpers/templateLiteralTag");
|
@@ -1,4 +1,7 @@
|
|
1
1
|
import "core-js/modules/es.array.push.js";
|
2
|
+
import "core-js/modules/esnext.iterator.constructor.js";
|
3
|
+
import "core-js/modules/esnext.iterator.for-each.js";
|
4
|
+
import "core-js/modules/esnext.iterator.map.js";
|
2
5
|
import staticRegister from "../../../utils/staticRegister.mjs";
|
3
6
|
import { isUndefined } from "../../../helpers/mixed.mjs";
|
4
7
|
import { toSingleLine } from "../../../helpers/templateLiteralTag.mjs";
|
@@ -5,6 +5,9 @@ exports.getEngineSettingsOverrides = getEngineSettingsOverrides;
|
|
5
5
|
exports.getEngineSettingsWithDefaultsAndOverrides = getEngineSettingsWithDefaultsAndOverrides;
|
6
6
|
exports.getEngineSettingsWithOverrides = getEngineSettingsWithOverrides;
|
7
7
|
exports.haveEngineSettingsChanged = haveEngineSettingsChanged;
|
8
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
9
|
+
require("core-js/modules/esnext.iterator.reduce.js");
|
10
|
+
require("core-js/modules/esnext.iterator.some.js");
|
8
11
|
var _formulas = require("../formulas");
|
9
12
|
const DEFAULT_LICENSE_KEY = exports.DEFAULT_LICENSE_KEY = 'internal-use-in-handsontable';
|
10
13
|
const DEFAULT_SETTINGS = exports.DEFAULT_SETTINGS = {
|
@@ -1,3 +1,6 @@
|
|
1
|
+
import "core-js/modules/esnext.iterator.constructor.js";
|
2
|
+
import "core-js/modules/esnext.iterator.reduce.js";
|
3
|
+
import "core-js/modules/esnext.iterator.some.js";
|
1
4
|
import { PLUGIN_KEY } from "../formulas.mjs";
|
2
5
|
export const DEFAULT_LICENSE_KEY = 'internal-use-in-handsontable';
|
3
6
|
export const DEFAULT_SETTINGS = {
|
@@ -11,6 +11,11 @@ require("core-js/modules/es.set.is-subset-of.v2.js");
|
|
11
11
|
require("core-js/modules/es.set.is-superset-of.v2.js");
|
12
12
|
require("core-js/modules/es.set.symmetric-difference.v2.js");
|
13
13
|
require("core-js/modules/es.set.union.v2.js");
|
14
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
15
|
+
require("core-js/modules/esnext.iterator.every.js");
|
16
|
+
require("core-js/modules/esnext.iterator.find.js");
|
17
|
+
require("core-js/modules/esnext.iterator.for-each.js");
|
18
|
+
require("core-js/modules/esnext.iterator.map.js");
|
14
19
|
var _base = require("../base");
|
15
20
|
var _staticRegister = _interopRequireDefault(require("../../utils/staticRegister"));
|
16
21
|
var _console = require("../../helpers/console");
|
@@ -21,7 +26,7 @@ var _utils = require("./utils");
|
|
21
26
|
var _settings = require("./engine/settings");
|
22
27
|
var _data = require("../../helpers/data");
|
23
28
|
var _string = require("../../helpers/string");
|
24
|
-
var
|
29
|
+
var _hooks = require("../../core/hooks");
|
25
30
|
var _indexSyncer = _interopRequireDefault(require("./indexSyncer"));
|
26
31
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
27
32
|
function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
|
@@ -36,12 +41,12 @@ function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.h
|
|
36
41
|
const PLUGIN_KEY = exports.PLUGIN_KEY = 'formulas';
|
37
42
|
const SETTING_KEYS = exports.SETTING_KEYS = ['maxRows', 'maxColumns', 'language'];
|
38
43
|
const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 260;
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
44
|
+
_hooks.Hooks.getSingleton().register('afterNamedExpressionAdded');
|
45
|
+
_hooks.Hooks.getSingleton().register('afterNamedExpressionRemoved');
|
46
|
+
_hooks.Hooks.getSingleton().register('afterSheetAdded');
|
47
|
+
_hooks.Hooks.getSingleton().register('afterSheetRemoved');
|
48
|
+
_hooks.Hooks.getSingleton().register('afterSheetRenamed');
|
49
|
+
_hooks.Hooks.getSingleton().register('afterFormulasValuesUpdate');
|
45
50
|
|
46
51
|
// This function will be used for detecting changes coming from the `UndoRedo` plugin. This kind of change won't be
|
47
52
|
// handled by whole body of listeners and therefore won't change undo/redo stack inside engine provided by HyperFormula.
|
@@ -8,6 +8,11 @@ import "core-js/modules/es.set.is-subset-of.v2.js";
|
|
8
8
|
import "core-js/modules/es.set.is-superset-of.v2.js";
|
9
9
|
import "core-js/modules/es.set.symmetric-difference.v2.js";
|
10
10
|
import "core-js/modules/es.set.union.v2.js";
|
11
|
+
import "core-js/modules/esnext.iterator.constructor.js";
|
12
|
+
import "core-js/modules/esnext.iterator.every.js";
|
13
|
+
import "core-js/modules/esnext.iterator.find.js";
|
14
|
+
import "core-js/modules/esnext.iterator.for-each.js";
|
15
|
+
import "core-js/modules/esnext.iterator.map.js";
|
11
16
|
function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
|
12
17
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
13
18
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
@@ -27,7 +32,7 @@ import { isEscapedFormulaExpression, unescapeFormulaExpression, isDate, isDateVa
|
|
27
32
|
import { getEngineSettingsWithOverrides, haveEngineSettingsChanged } from "./engine/settings.mjs";
|
28
33
|
import { isArrayOfArrays } from "../../helpers/data.mjs";
|
29
34
|
import { toUpperCaseFirst } from "../../helpers/string.mjs";
|
30
|
-
import Hooks from "../../
|
35
|
+
import { Hooks } from "../../core/hooks/index.mjs";
|
31
36
|
import IndexSyncer from "./indexSyncer/index.mjs";
|
32
37
|
export const PLUGIN_KEY = 'formulas';
|
33
38
|
export const SETTING_KEYS = ['maxRows', 'maxColumns', 'language'];
|
@@ -3,6 +3,9 @@
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
require("core-js/modules/es.error.cause.js");
|
5
5
|
require("core-js/modules/es.array.push.js");
|
6
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
7
|
+
require("core-js/modules/esnext.iterator.for-each.js");
|
8
|
+
require("core-js/modules/esnext.iterator.map.js");
|
6
9
|
var _string = require("../../../helpers/string");
|
7
10
|
var _moves = require("../../../helpers/moves");
|
8
11
|
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
@@ -1,5 +1,8 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
2
|
import "core-js/modules/es.array.push.js";
|
3
|
+
import "core-js/modules/esnext.iterator.constructor.js";
|
4
|
+
import "core-js/modules/esnext.iterator.for-each.js";
|
5
|
+
import "core-js/modules/esnext.iterator.map.js";
|
3
6
|
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
4
7
|
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
5
8
|
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
@@ -3,6 +3,8 @@
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
exports.default = showColumnItem;
|
5
5
|
require("core-js/modules/es.array.push.js");
|
6
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
7
|
+
require("core-js/modules/esnext.iterator.filter.js");
|
6
8
|
var _array = require("../../../helpers/array");
|
7
9
|
var C = _interopRequireWildcard(require("../../../i18n/constants"));
|
8
10
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
@@ -1,4 +1,6 @@
|
|
1
1
|
import "core-js/modules/es.array.push.js";
|
2
|
+
import "core-js/modules/esnext.iterator.constructor.js";
|
3
|
+
import "core-js/modules/esnext.iterator.filter.js";
|
2
4
|
import { arrayEach, arrayMap } from "../../../helpers/array.mjs";
|
3
5
|
import * as C from "../../../i18n/constants.mjs";
|
4
6
|
/**
|
@@ -10,14 +10,15 @@ require("core-js/modules/es.set.is-subset-of.v2.js");
|
|
10
10
|
require("core-js/modules/es.set.is-superset-of.v2.js");
|
11
11
|
require("core-js/modules/es.set.symmetric-difference.v2.js");
|
12
12
|
require("core-js/modules/es.set.union.v2.js");
|
13
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
14
|
+
require("core-js/modules/esnext.iterator.every.js");
|
15
|
+
require("core-js/modules/esnext.iterator.map.js");
|
13
16
|
var _base = require("../base");
|
14
17
|
var _element = require("../../helpers/dom/element");
|
15
18
|
var _number = require("../../helpers/number");
|
16
19
|
var _array = require("../../helpers/array");
|
17
|
-
var _object = require("../../helpers/object");
|
18
|
-
var _mixed = require("../../helpers/mixed");
|
19
20
|
var _predefinedItems = require("../contextMenu/predefinedItems");
|
20
|
-
var
|
21
|
+
var _hooks = require("../../core/hooks");
|
21
22
|
var _hideColumn = _interopRequireDefault(require("./contextMenuItem/hideColumn"));
|
22
23
|
var _showColumn = _interopRequireDefault(require("./contextMenuItem/showColumn"));
|
23
24
|
var _translations = require("../../translations");
|
@@ -28,10 +29,10 @@ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("C
|
|
28
29
|
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
29
30
|
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
30
31
|
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
32
|
+
_hooks.Hooks.getSingleton().register('beforeHideColumns');
|
33
|
+
_hooks.Hooks.getSingleton().register('afterHideColumns');
|
34
|
+
_hooks.Hooks.getSingleton().register('beforeUnhideColumns');
|
35
|
+
_hooks.Hooks.getSingleton().register('afterUnhideColumns');
|
35
36
|
const PLUGIN_KEY = exports.PLUGIN_KEY = 'hiddenColumns';
|
36
37
|
const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 310;
|
37
38
|
|
@@ -141,7 +142,6 @@ const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 310;
|
|
141
142
|
* ```
|
142
143
|
* :::
|
143
144
|
*/
|
144
|
-
var _settings = /*#__PURE__*/new WeakMap();
|
145
145
|
var _hiddenColumnsMap = /*#__PURE__*/new WeakMap();
|
146
146
|
var _HiddenColumns_brand = /*#__PURE__*/new WeakSet();
|
147
147
|
class HiddenColumns extends _base.BasePlugin {
|
@@ -155,13 +155,6 @@ class HiddenColumns extends _base.BasePlugin {
|
|
155
155
|
* @returns {number}
|
156
156
|
*/
|
157
157
|
_classPrivateMethodInitSpec(this, _HiddenColumns_brand);
|
158
|
-
/**
|
159
|
-
* Cached plugin settings.
|
160
|
-
*
|
161
|
-
* @private
|
162
|
-
* @type {object}
|
163
|
-
*/
|
164
|
-
_classPrivateFieldInitSpec(this, _settings, {});
|
165
158
|
/**
|
166
159
|
* Map of hidden columns by the plugin.
|
167
160
|
*
|
@@ -176,6 +169,13 @@ class HiddenColumns extends _base.BasePlugin {
|
|
176
169
|
static get PLUGIN_PRIORITY() {
|
177
170
|
return PLUGIN_PRIORITY;
|
178
171
|
}
|
172
|
+
static get DEFAULT_SETTINGS() {
|
173
|
+
return {
|
174
|
+
copyPasteEnabled: true,
|
175
|
+
indicators: false,
|
176
|
+
columns: []
|
177
|
+
};
|
178
|
+
}
|
179
179
|
/**
|
180
180
|
* Checks if the plugin is enabled in the handsontable settings. This method is executed in {@link Hooks#beforeInit}
|
181
181
|
* hook and if it returns `true` then the {@link HiddenColumns#enablePlugin} method is called.
|
@@ -194,13 +194,6 @@ class HiddenColumns extends _base.BasePlugin {
|
|
194
194
|
if (this.enabled) {
|
195
195
|
return;
|
196
196
|
}
|
197
|
-
const pluginSettings = this.hot.getSettings()[PLUGIN_KEY];
|
198
|
-
if ((0, _object.isObject)(pluginSettings)) {
|
199
|
-
_classPrivateFieldSet(_settings, this, pluginSettings);
|
200
|
-
if ((0, _mixed.isUndefined)(pluginSettings.copyPasteEnabled)) {
|
201
|
-
pluginSettings.copyPasteEnabled = true;
|
202
|
-
}
|
203
|
-
}
|
204
197
|
_classPrivateFieldSet(_hiddenColumnsMap, this, new _translations.HidingMap());
|
205
198
|
_classPrivateFieldGet(_hiddenColumnsMap, this).addLocalHook('init', () => _assertClassBrand(_HiddenColumns_brand, this, _onMapInit).call(this));
|
206
199
|
this.hot.columnIndexMapper.registerMap(this.pluginName, _classPrivateFieldGet(_hiddenColumnsMap, this));
|
@@ -239,7 +232,6 @@ class HiddenColumns extends _base.BasePlugin {
|
|
239
232
|
*/
|
240
233
|
disablePlugin() {
|
241
234
|
this.hot.columnIndexMapper.unregisterMap(this.pluginName);
|
242
|
-
_classPrivateFieldSet(_settings, this, {});
|
243
235
|
super.disablePlugin();
|
244
236
|
this.resetCellsMeta();
|
245
237
|
}
|
@@ -385,7 +377,6 @@ class HiddenColumns extends _base.BasePlugin {
|
|
385
377
|
* Destroys the plugin instance.
|
386
378
|
*/
|
387
379
|
destroy() {
|
388
|
-
_classPrivateFieldSet(_settings, this, null);
|
389
380
|
_classPrivateFieldSet(_hiddenColumnsMap, this, null);
|
390
381
|
super.destroy();
|
391
382
|
}
|
@@ -397,7 +388,7 @@ function _onModifyColWidth(width, column) {
|
|
397
388
|
if (this.isHidden(column)) {
|
398
389
|
return 0;
|
399
390
|
}
|
400
|
-
if (
|
391
|
+
if (this.getSetting('indicators') && (this.isHidden(column + 1) || this.isHidden(column - 1))) {
|
401
392
|
// Add additional space for hidden column indicator.
|
402
393
|
if (typeof width === 'number' && this.hot.hasColHeaders()) {
|
403
394
|
return width + 15;
|
@@ -412,7 +403,7 @@ function _onModifyColWidth(width, column) {
|
|
412
403
|
* @param {object} cellProperties Object containing the cell properties.
|
413
404
|
*/
|
414
405
|
function _onAfterGetCellMeta(row, column, cellProperties) {
|
415
|
-
if (
|
406
|
+
if (this.getSetting('copyPasteEnabled') === false && this.isHidden(column)) {
|
416
407
|
// Cell property handled by the `Autofill` and the `CopyPaste` plugins.
|
417
408
|
cellProperties.skipColumnOnPaste = true;
|
418
409
|
}
|
@@ -440,7 +431,7 @@ function _onAfterGetCellMeta(row, column, cellProperties) {
|
|
440
431
|
*/
|
441
432
|
function _onModifyCopyableRange(ranges) {
|
442
433
|
// Ranges shouldn't be modified when `copyPasteEnabled` option is set to `true` (by default).
|
443
|
-
if (
|
434
|
+
if (this.getSetting('copyPasteEnabled')) {
|
444
435
|
return ranges;
|
445
436
|
}
|
446
437
|
const newRanges = [];
|
@@ -481,7 +472,7 @@ function _onModifyCopyableRange(ranges) {
|
|
481
472
|
* @param {HTMLElement} TH Header's TH element.
|
482
473
|
*/
|
483
474
|
function _onAfterGetColHeader(column, TH) {
|
484
|
-
if (!
|
475
|
+
if (!this.getSetting('indicators') || column < 0) {
|
485
476
|
return;
|
486
477
|
}
|
487
478
|
const classList = [];
|
@@ -507,7 +498,8 @@ function _onAfterContextMenuDefaultOptions(options) {
|
|
507
498
|
* On map initialized hook callback.
|
508
499
|
*/
|
509
500
|
function _onMapInit() {
|
510
|
-
|
511
|
-
|
501
|
+
const columns = this.getSetting('columns');
|
502
|
+
if (Array.isArray(columns)) {
|
503
|
+
this.hideColumns(columns);
|
512
504
|
}
|
513
505
|
}
|
@@ -7,6 +7,9 @@ import "core-js/modules/es.set.is-subset-of.v2.js";
|
|
7
7
|
import "core-js/modules/es.set.is-superset-of.v2.js";
|
8
8
|
import "core-js/modules/es.set.symmetric-difference.v2.js";
|
9
9
|
import "core-js/modules/es.set.union.v2.js";
|
10
|
+
import "core-js/modules/esnext.iterator.constructor.js";
|
11
|
+
import "core-js/modules/esnext.iterator.every.js";
|
12
|
+
import "core-js/modules/esnext.iterator.map.js";
|
10
13
|
function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
|
11
14
|
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
12
15
|
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
@@ -17,10 +20,8 @@ import { BasePlugin } from "../base/index.mjs";
|
|
17
20
|
import { addClass } from "../../helpers/dom/element.mjs";
|
18
21
|
import { rangeEach } from "../../helpers/number.mjs";
|
19
22
|
import { arrayEach, arrayMap, arrayReduce } from "../../helpers/array.mjs";
|
20
|
-
import { isObject } from "../../helpers/object.mjs";
|
21
|
-
import { isUndefined } from "../../helpers/mixed.mjs";
|
22
23
|
import { SEPARATOR } from "../contextMenu/predefinedItems/index.mjs";
|
23
|
-
import Hooks from "../../
|
24
|
+
import { Hooks } from "../../core/hooks/index.mjs";
|
24
25
|
import hideColumnItem from "./contextMenuItem/hideColumn.mjs";
|
25
26
|
import showColumnItem from "./contextMenuItem/showColumn.mjs";
|
26
27
|
import { HidingMap } from "../../translations/index.mjs";
|
@@ -137,7 +138,6 @@ export const PLUGIN_PRIORITY = 310;
|
|
137
138
|
* ```
|
138
139
|
* :::
|
139
140
|
*/
|
140
|
-
var _settings = /*#__PURE__*/new WeakMap();
|
141
141
|
var _hiddenColumnsMap = /*#__PURE__*/new WeakMap();
|
142
142
|
var _HiddenColumns_brand = /*#__PURE__*/new WeakSet();
|
143
143
|
export class HiddenColumns extends BasePlugin {
|
@@ -151,13 +151,6 @@ export class HiddenColumns extends BasePlugin {
|
|
151
151
|
* @returns {number}
|
152
152
|
*/
|
153
153
|
_classPrivateMethodInitSpec(this, _HiddenColumns_brand);
|
154
|
-
/**
|
155
|
-
* Cached plugin settings.
|
156
|
-
*
|
157
|
-
* @private
|
158
|
-
* @type {object}
|
159
|
-
*/
|
160
|
-
_classPrivateFieldInitSpec(this, _settings, {});
|
161
154
|
/**
|
162
155
|
* Map of hidden columns by the plugin.
|
163
156
|
*
|
@@ -172,6 +165,13 @@ export class HiddenColumns extends BasePlugin {
|
|
172
165
|
static get PLUGIN_PRIORITY() {
|
173
166
|
return PLUGIN_PRIORITY;
|
174
167
|
}
|
168
|
+
static get DEFAULT_SETTINGS() {
|
169
|
+
return {
|
170
|
+
copyPasteEnabled: true,
|
171
|
+
indicators: false,
|
172
|
+
columns: []
|
173
|
+
};
|
174
|
+
}
|
175
175
|
/**
|
176
176
|
* Checks if the plugin is enabled in the handsontable settings. This method is executed in {@link Hooks#beforeInit}
|
177
177
|
* hook and if it returns `true` then the {@link HiddenColumns#enablePlugin} method is called.
|
@@ -190,13 +190,6 @@ export class HiddenColumns extends BasePlugin {
|
|
190
190
|
if (this.enabled) {
|
191
191
|
return;
|
192
192
|
}
|
193
|
-
const pluginSettings = this.hot.getSettings()[PLUGIN_KEY];
|
194
|
-
if (isObject(pluginSettings)) {
|
195
|
-
_classPrivateFieldSet(_settings, this, pluginSettings);
|
196
|
-
if (isUndefined(pluginSettings.copyPasteEnabled)) {
|
197
|
-
pluginSettings.copyPasteEnabled = true;
|
198
|
-
}
|
199
|
-
}
|
200
193
|
_classPrivateFieldSet(_hiddenColumnsMap, this, new HidingMap());
|
201
194
|
_classPrivateFieldGet(_hiddenColumnsMap, this).addLocalHook('init', () => _assertClassBrand(_HiddenColumns_brand, this, _onMapInit).call(this));
|
202
195
|
this.hot.columnIndexMapper.registerMap(this.pluginName, _classPrivateFieldGet(_hiddenColumnsMap, this));
|
@@ -235,7 +228,6 @@ export class HiddenColumns extends BasePlugin {
|
|
235
228
|
*/
|
236
229
|
disablePlugin() {
|
237
230
|
this.hot.columnIndexMapper.unregisterMap(this.pluginName);
|
238
|
-
_classPrivateFieldSet(_settings, this, {});
|
239
231
|
super.disablePlugin();
|
240
232
|
this.resetCellsMeta();
|
241
233
|
}
|
@@ -381,7 +373,6 @@ export class HiddenColumns extends BasePlugin {
|
|
381
373
|
* Destroys the plugin instance.
|
382
374
|
*/
|
383
375
|
destroy() {
|
384
|
-
_classPrivateFieldSet(_settings, this, null);
|
385
376
|
_classPrivateFieldSet(_hiddenColumnsMap, this, null);
|
386
377
|
super.destroy();
|
387
378
|
}
|
@@ -392,7 +383,7 @@ function _onModifyColWidth(width, column) {
|
|
392
383
|
if (this.isHidden(column)) {
|
393
384
|
return 0;
|
394
385
|
}
|
395
|
-
if (
|
386
|
+
if (this.getSetting('indicators') && (this.isHidden(column + 1) || this.isHidden(column - 1))) {
|
396
387
|
// Add additional space for hidden column indicator.
|
397
388
|
if (typeof width === 'number' && this.hot.hasColHeaders()) {
|
398
389
|
return width + 15;
|
@@ -407,7 +398,7 @@ function _onModifyColWidth(width, column) {
|
|
407
398
|
* @param {object} cellProperties Object containing the cell properties.
|
408
399
|
*/
|
409
400
|
function _onAfterGetCellMeta(row, column, cellProperties) {
|
410
|
-
if (
|
401
|
+
if (this.getSetting('copyPasteEnabled') === false && this.isHidden(column)) {
|
411
402
|
// Cell property handled by the `Autofill` and the `CopyPaste` plugins.
|
412
403
|
cellProperties.skipColumnOnPaste = true;
|
413
404
|
}
|
@@ -435,7 +426,7 @@ function _onAfterGetCellMeta(row, column, cellProperties) {
|
|
435
426
|
*/
|
436
427
|
function _onModifyCopyableRange(ranges) {
|
437
428
|
// Ranges shouldn't be modified when `copyPasteEnabled` option is set to `true` (by default).
|
438
|
-
if (
|
429
|
+
if (this.getSetting('copyPasteEnabled')) {
|
439
430
|
return ranges;
|
440
431
|
}
|
441
432
|
const newRanges = [];
|
@@ -476,7 +467,7 @@ function _onModifyCopyableRange(ranges) {
|
|
476
467
|
* @param {HTMLElement} TH Header's TH element.
|
477
468
|
*/
|
478
469
|
function _onAfterGetColHeader(column, TH) {
|
479
|
-
if (!
|
470
|
+
if (!this.getSetting('indicators') || column < 0) {
|
480
471
|
return;
|
481
472
|
}
|
482
473
|
const classList = [];
|
@@ -502,7 +493,8 @@ function _onAfterContextMenuDefaultOptions(options) {
|
|
502
493
|
* On map initialized hook callback.
|
503
494
|
*/
|
504
495
|
function _onMapInit() {
|
505
|
-
|
506
|
-
|
496
|
+
const columns = this.getSetting('columns');
|
497
|
+
if (Array.isArray(columns)) {
|
498
|
+
this.hideColumns(columns);
|
507
499
|
}
|
508
500
|
}
|
@@ -3,6 +3,8 @@
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
exports.default = showRowItem;
|
5
5
|
require("core-js/modules/es.array.push.js");
|
6
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
7
|
+
require("core-js/modules/esnext.iterator.filter.js");
|
6
8
|
var _array = require("../../../helpers/array");
|
7
9
|
var C = _interopRequireWildcard(require("../../../i18n/constants"));
|
8
10
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
@@ -1,4 +1,6 @@
|
|
1
1
|
import "core-js/modules/es.array.push.js";
|
2
|
+
import "core-js/modules/esnext.iterator.constructor.js";
|
3
|
+
import "core-js/modules/esnext.iterator.filter.js";
|
2
4
|
import { arrayEach, arrayMap } from "../../../helpers/array.mjs";
|
3
5
|
import * as C from "../../../i18n/constants.mjs";
|
4
6
|
/**
|