handsontable 14.6.1 → 15.0.0-next-fdd4480-20241205
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
@@ -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 _hideRow = _interopRequireDefault(require("./contextMenuItem/hideRow"));
|
22
23
|
var _showRow = _interopRequireDefault(require("./contextMenuItem/showRow"));
|
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('beforeHideRows');
|
33
|
+
_hooks.Hooks.getSingleton().register('afterHideRows');
|
34
|
+
_hooks.Hooks.getSingleton().register('beforeUnhideRows');
|
35
|
+
_hooks.Hooks.getSingleton().register('afterUnhideRows');
|
35
36
|
const PLUGIN_KEY = exports.PLUGIN_KEY = 'hiddenRows';
|
36
37
|
const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 320;
|
37
38
|
|
@@ -141,7 +142,6 @@ const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 320;
|
|
141
142
|
* ```
|
142
143
|
* :::
|
143
144
|
*/
|
144
|
-
var _settings = /*#__PURE__*/new WeakMap();
|
145
145
|
var _hiddenRowsMap = /*#__PURE__*/new WeakMap();
|
146
146
|
var _HiddenRows_brand = /*#__PURE__*/new WeakSet();
|
147
147
|
class HiddenRows extends _base.BasePlugin {
|
@@ -155,13 +155,6 @@ class HiddenRows extends _base.BasePlugin {
|
|
155
155
|
* @returns {number}
|
156
156
|
*/
|
157
157
|
_classPrivateMethodInitSpec(this, _HiddenRows_brand);
|
158
|
-
/**
|
159
|
-
* Cached settings from Handsontable settings.
|
160
|
-
*
|
161
|
-
* @private
|
162
|
-
* @type {object}
|
163
|
-
*/
|
164
|
-
_classPrivateFieldInitSpec(this, _settings, {});
|
165
158
|
/**
|
166
159
|
* Map of hidden rows by the plugin.
|
167
160
|
*
|
@@ -176,6 +169,13 @@ class HiddenRows 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
|
+
rows: []
|
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 HiddenRows#enablePlugin} method is called.
|
@@ -194,13 +194,6 @@ class HiddenRows 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(_hiddenRowsMap, this, new _translations.HidingMap());
|
205
198
|
_classPrivateFieldGet(_hiddenRowsMap, this).addLocalHook('init', () => _assertClassBrand(_HiddenRows_brand, this, _onMapInit).call(this));
|
206
199
|
this.hot.rowIndexMapper.registerMap(this.pluginName, _classPrivateFieldGet(_hiddenRowsMap, this));
|
@@ -239,7 +232,6 @@ class HiddenRows extends _base.BasePlugin {
|
|
239
232
|
*/
|
240
233
|
disablePlugin() {
|
241
234
|
this.hot.rowIndexMapper.unregisterMap(this.pluginName);
|
242
|
-
_classPrivateFieldSet(_settings, this, {});
|
243
235
|
super.disablePlugin();
|
244
236
|
this.resetCellsMeta();
|
245
237
|
}
|
@@ -382,7 +374,6 @@ class HiddenRows extends _base.BasePlugin {
|
|
382
374
|
* Destroys the plugin instance.
|
383
375
|
*/
|
384
376
|
destroy() {
|
385
|
-
_classPrivateFieldSet(_settings, this, null);
|
386
377
|
_classPrivateFieldSet(_hiddenRowsMap, this, null);
|
387
378
|
super.destroy();
|
388
379
|
}
|
@@ -404,7 +395,7 @@ function _onModifyRowHeight(height, row) {
|
|
404
395
|
* @param {object} cellProperties Object containing the cell properties.
|
405
396
|
*/
|
406
397
|
function _onAfterGetCellMeta(row, column, cellProperties) {
|
407
|
-
if (
|
398
|
+
if (this.getSetting('copyPasteEnabled') === false && this.isHidden(row)) {
|
408
399
|
// Cell property handled by the `Autofill` and the `CopyPaste` plugins.
|
409
400
|
cellProperties.skipRowOnPaste = true;
|
410
401
|
}
|
@@ -432,7 +423,7 @@ function _onAfterGetCellMeta(row, column, cellProperties) {
|
|
432
423
|
*/
|
433
424
|
function _onModifyCopyableRange(ranges) {
|
434
425
|
// Ranges shouldn't be modified when `copyPasteEnabled` option is set to `true` (by default).
|
435
|
-
if (
|
426
|
+
if (this.getSetting('copyPasteEnabled')) {
|
436
427
|
return ranges;
|
437
428
|
}
|
438
429
|
const newRanges = [];
|
@@ -473,7 +464,7 @@ function _onModifyCopyableRange(ranges) {
|
|
473
464
|
* @param {HTMLElement} TH Header's TH element.
|
474
465
|
*/
|
475
466
|
function _onAfterGetRowHeader(row, TH) {
|
476
|
-
if (!
|
467
|
+
if (!this.getSetting('indicators') || row < 0) {
|
477
468
|
return;
|
478
469
|
}
|
479
470
|
const classList = [];
|
@@ -499,7 +490,8 @@ function _onAfterContextMenuDefaultOptions(options) {
|
|
499
490
|
* On map initialized hook callback.
|
500
491
|
*/
|
501
492
|
function _onMapInit() {
|
502
|
-
|
503
|
-
|
493
|
+
const rows = this.getSetting('rows');
|
494
|
+
if (Array.isArray(rows)) {
|
495
|
+
this.hideRows(rows);
|
504
496
|
}
|
505
497
|
}
|
@@ -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 hideRowItem from "./contextMenuItem/hideRow.mjs";
|
25
26
|
import showRowItem from "./contextMenuItem/showRow.mjs";
|
26
27
|
import { HidingMap } from "../../translations/index.mjs";
|
@@ -137,7 +138,6 @@ export const PLUGIN_PRIORITY = 320;
|
|
137
138
|
* ```
|
138
139
|
* :::
|
139
140
|
*/
|
140
|
-
var _settings = /*#__PURE__*/new WeakMap();
|
141
141
|
var _hiddenRowsMap = /*#__PURE__*/new WeakMap();
|
142
142
|
var _HiddenRows_brand = /*#__PURE__*/new WeakSet();
|
143
143
|
export class HiddenRows extends BasePlugin {
|
@@ -151,13 +151,6 @@ export class HiddenRows extends BasePlugin {
|
|
151
151
|
* @returns {number}
|
152
152
|
*/
|
153
153
|
_classPrivateMethodInitSpec(this, _HiddenRows_brand);
|
154
|
-
/**
|
155
|
-
* Cached settings from Handsontable settings.
|
156
|
-
*
|
157
|
-
* @private
|
158
|
-
* @type {object}
|
159
|
-
*/
|
160
|
-
_classPrivateFieldInitSpec(this, _settings, {});
|
161
154
|
/**
|
162
155
|
* Map of hidden rows by the plugin.
|
163
156
|
*
|
@@ -172,6 +165,13 @@ export class HiddenRows 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
|
+
rows: []
|
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 HiddenRows#enablePlugin} method is called.
|
@@ -190,13 +190,6 @@ export class HiddenRows 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(_hiddenRowsMap, this, new HidingMap());
|
201
194
|
_classPrivateFieldGet(_hiddenRowsMap, this).addLocalHook('init', () => _assertClassBrand(_HiddenRows_brand, this, _onMapInit).call(this));
|
202
195
|
this.hot.rowIndexMapper.registerMap(this.pluginName, _classPrivateFieldGet(_hiddenRowsMap, this));
|
@@ -235,7 +228,6 @@ export class HiddenRows extends BasePlugin {
|
|
235
228
|
*/
|
236
229
|
disablePlugin() {
|
237
230
|
this.hot.rowIndexMapper.unregisterMap(this.pluginName);
|
238
|
-
_classPrivateFieldSet(_settings, this, {});
|
239
231
|
super.disablePlugin();
|
240
232
|
this.resetCellsMeta();
|
241
233
|
}
|
@@ -378,7 +370,6 @@ export class HiddenRows extends BasePlugin {
|
|
378
370
|
* Destroys the plugin instance.
|
379
371
|
*/
|
380
372
|
destroy() {
|
381
|
-
_classPrivateFieldSet(_settings, this, null);
|
382
373
|
_classPrivateFieldSet(_hiddenRowsMap, this, null);
|
383
374
|
super.destroy();
|
384
375
|
}
|
@@ -399,7 +390,7 @@ function _onModifyRowHeight(height, row) {
|
|
399
390
|
* @param {object} cellProperties Object containing the cell properties.
|
400
391
|
*/
|
401
392
|
function _onAfterGetCellMeta(row, column, cellProperties) {
|
402
|
-
if (
|
393
|
+
if (this.getSetting('copyPasteEnabled') === false && this.isHidden(row)) {
|
403
394
|
// Cell property handled by the `Autofill` and the `CopyPaste` plugins.
|
404
395
|
cellProperties.skipRowOnPaste = true;
|
405
396
|
}
|
@@ -427,7 +418,7 @@ function _onAfterGetCellMeta(row, column, cellProperties) {
|
|
427
418
|
*/
|
428
419
|
function _onModifyCopyableRange(ranges) {
|
429
420
|
// Ranges shouldn't be modified when `copyPasteEnabled` option is set to `true` (by default).
|
430
|
-
if (
|
421
|
+
if (this.getSetting('copyPasteEnabled')) {
|
431
422
|
return ranges;
|
432
423
|
}
|
433
424
|
const newRanges = [];
|
@@ -468,7 +459,7 @@ function _onModifyCopyableRange(ranges) {
|
|
468
459
|
* @param {HTMLElement} TH Header's TH element.
|
469
460
|
*/
|
470
461
|
function _onAfterGetRowHeader(row, TH) {
|
471
|
-
if (!
|
462
|
+
if (!this.getSetting('indicators') || row < 0) {
|
472
463
|
return;
|
473
464
|
}
|
474
465
|
const classList = [];
|
@@ -494,7 +485,8 @@ function _onAfterContextMenuDefaultOptions(options) {
|
|
494
485
|
* On map initialized hook callback.
|
495
486
|
*/
|
496
487
|
function _onMapInit() {
|
497
|
-
|
498
|
-
|
488
|
+
const rows = this.getSetting('rows');
|
489
|
+
if (Array.isArray(rows)) {
|
490
|
+
this.hideRows(rows);
|
499
491
|
}
|
500
492
|
}
|
package/plugins/index.d.ts
CHANGED
@@ -29,6 +29,7 @@ import { NestedHeaders } from './nestedHeaders';
|
|
29
29
|
import { NestedRows } from './nestedRows';
|
30
30
|
import { PersistentState } from './persistentState';
|
31
31
|
import { Search } from './search';
|
32
|
+
import { StretchColumns } from './stretchColumns';
|
32
33
|
import { TouchScroll } from './touchScroll';
|
33
34
|
import { TrimRows } from './trimRows';
|
34
35
|
import { UndoRedo } from './undoRedo';
|
@@ -65,6 +66,7 @@ export interface Plugins {
|
|
65
66
|
nestedRows: NestedRows;
|
66
67
|
persistentState: PersistentState;
|
67
68
|
search: Search;
|
69
|
+
stretchColumns: StretchColumns;
|
68
70
|
touchScroll: TouchScroll;
|
69
71
|
trimRows: TrimRows;
|
70
72
|
undoRedo: UndoRedo;
|
@@ -105,6 +107,7 @@ export {
|
|
105
107
|
NestedRows,
|
106
108
|
PersistentState,
|
107
109
|
Search,
|
110
|
+
StretchColumns,
|
108
111
|
TouchScroll,
|
109
112
|
TrimRows,
|
110
113
|
UndoRedo
|
package/plugins/index.js
CHANGED
@@ -64,6 +64,8 @@ var _persistentState = require("./persistentState");
|
|
64
64
|
exports.PersistentState = _persistentState.PersistentState;
|
65
65
|
var _search = require("./search");
|
66
66
|
exports.Search = _search.Search;
|
67
|
+
var _stretchColumns = require("./stretchColumns");
|
68
|
+
exports.StretchColumns = _stretchColumns.StretchColumns;
|
67
69
|
var _touchScroll = require("./touchScroll");
|
68
70
|
exports.TouchScroll = _touchScroll.TouchScroll;
|
69
71
|
var _trimRows = require("./trimRows");
|
@@ -108,6 +110,7 @@ function registerAllPlugins() {
|
|
108
110
|
(0, _registry.registerPlugin)(_nestedRows.NestedRows);
|
109
111
|
(0, _registry.registerPlugin)(_persistentState.PersistentState);
|
110
112
|
(0, _registry.registerPlugin)(_search.Search);
|
113
|
+
(0, _registry.registerPlugin)(_stretchColumns.StretchColumns);
|
111
114
|
(0, _registry.registerPlugin)(_touchScroll.TouchScroll);
|
112
115
|
(0, _registry.registerPlugin)(_trimRows.TrimRows);
|
113
116
|
(0, _registry.registerPlugin)(_undoRedo.UndoRedo);
|
package/plugins/index.mjs
CHANGED
@@ -29,6 +29,7 @@ import { NestedHeaders } from "./nestedHeaders/index.mjs";
|
|
29
29
|
import { NestedRows } from "./nestedRows/index.mjs";
|
30
30
|
import { PersistentState } from "./persistentState/index.mjs";
|
31
31
|
import { Search } from "./search/index.mjs";
|
32
|
+
import { StretchColumns } from "./stretchColumns/index.mjs";
|
32
33
|
import { TouchScroll } from "./touchScroll/index.mjs";
|
33
34
|
import { TrimRows } from "./trimRows/index.mjs";
|
34
35
|
import { UndoRedo } from "./undoRedo/index.mjs";
|
@@ -67,9 +68,10 @@ export function registerAllPlugins() {
|
|
67
68
|
registerPlugin(NestedRows);
|
68
69
|
registerPlugin(PersistentState);
|
69
70
|
registerPlugin(Search);
|
71
|
+
registerPlugin(StretchColumns);
|
70
72
|
registerPlugin(TouchScroll);
|
71
73
|
registerPlugin(TrimRows);
|
72
74
|
registerPlugin(UndoRedo);
|
73
75
|
}
|
74
|
-
export { AutoColumnSize, Autofill, AutoRowSize, BasePlugin, BindRowsWithHeaders, CollapsibleColumns, ColumnSorting, ColumnSummary, Comments, ContextMenu, CopyPaste, CustomBorders, DragToScroll, DropdownMenu, ExportFile, Filters, Formulas, HiddenColumns, HiddenRows, ManualColumnFreeze, ManualColumnMove, ManualColumnResize, ManualRowMove, ManualRowResize, MergeCells, MultiColumnSorting, MultipleSelectionHandles, NestedHeaders, NestedRows, PersistentState, Search, TouchScroll, TrimRows, UndoRedo };
|
76
|
+
export { AutoColumnSize, Autofill, AutoRowSize, BasePlugin, BindRowsWithHeaders, CollapsibleColumns, ColumnSorting, ColumnSummary, Comments, ContextMenu, CopyPaste, CustomBorders, DragToScroll, DropdownMenu, ExportFile, Filters, Formulas, HiddenColumns, HiddenRows, ManualColumnFreeze, ManualColumnMove, ManualColumnResize, ManualRowMove, ManualRowResize, MergeCells, MultiColumnSorting, MultipleSelectionHandles, NestedHeaders, NestedRows, PersistentState, Search, StretchColumns, TouchScroll, TrimRows, UndoRedo };
|
75
77
|
export { getPlugin, getPluginsNames, registerPlugin } from "./registry.mjs";
|
@@ -3,8 +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.some.js");
|
6
8
|
var _base = require("../base");
|
7
|
-
var
|
9
|
+
var _hooks = require("../../core/hooks");
|
8
10
|
var _freezeColumn = _interopRequireDefault(require("./contextMenuItem/freezeColumn"));
|
9
11
|
var _unfreezeColumn = _interopRequireDefault(require("./contextMenuItem/unfreezeColumn"));
|
10
12
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
@@ -14,10 +16,10 @@ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("C
|
|
14
16
|
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
15
17
|
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
16
18
|
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"); }
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
19
|
+
_hooks.Hooks.getSingleton().register('beforeColumnFreeze');
|
20
|
+
_hooks.Hooks.getSingleton().register('afterColumnFreeze');
|
21
|
+
_hooks.Hooks.getSingleton().register('beforeColumnUnfreeze');
|
22
|
+
_hooks.Hooks.getSingleton().register('afterColumnUnfreeze');
|
21
23
|
const PLUGIN_KEY = exports.PLUGIN_KEY = 'manualColumnFreeze';
|
22
24
|
const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 110;
|
23
25
|
|
@@ -1,5 +1,7 @@
|
|
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.some.js";
|
3
5
|
function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
|
4
6
|
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
5
7
|
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
@@ -7,7 +9,7 @@ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
|
7
9
|
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
8
10
|
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
9
11
|
import { BasePlugin } from "../base/index.mjs";
|
10
|
-
import Hooks from "../../
|
12
|
+
import { Hooks } from "../../core/hooks/index.mjs";
|
11
13
|
import freezeColumnItem from "./contextMenuItem/freezeColumn.mjs";
|
12
14
|
import unfreezeColumnItem from "./contextMenuItem/unfreezeColumn.mjs";
|
13
15
|
Hooks.getSingleton().register('beforeColumnFreeze');
|
@@ -3,8 +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.some.js");
|
6
8
|
var _base = require("../base");
|
7
|
-
var
|
9
|
+
var _hooks = require("../../core/hooks");
|
8
10
|
var _array = require("../../helpers/array");
|
9
11
|
var _element = require("../../helpers/dom/element");
|
10
12
|
var _event = require("../../helpers/dom/event");
|
@@ -18,8 +20,8 @@ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("C
|
|
18
20
|
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
19
21
|
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
20
22
|
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"); }
|
21
|
-
|
22
|
-
|
23
|
+
_hooks.Hooks.getSingleton().register('beforeColumnMove');
|
24
|
+
_hooks.Hooks.getSingleton().register('afterColumnMove');
|
23
25
|
const PLUGIN_KEY = exports.PLUGIN_KEY = 'manualColumnMove';
|
24
26
|
const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 120;
|
25
27
|
const CSS_PLUGIN = 'ht__manualColumnMove';
|
@@ -339,13 +341,11 @@ class ManualColumnMove extends _base.BasePlugin {
|
|
339
341
|
const columnMapper = this.hot.columnIndexMapper;
|
340
342
|
let columnsWidth = 0;
|
341
343
|
for (let visualColumnIndex = fromColumn; visualColumnIndex <= toColumn; visualColumnIndex += 1) {
|
342
|
-
// We can't use just `getColWidth` (even without indexes translation) as it doesn't return proper values
|
343
|
-
// when column is stretched.
|
344
344
|
const renderableIndex = columnMapper.getRenderableFromVisualIndex(visualColumnIndex);
|
345
345
|
if (visualColumnIndex < 0) {
|
346
346
|
columnsWidth += this.hot.view._wt.wtViewport.getRowHeaderWidth() || 0;
|
347
347
|
} else if (renderableIndex !== null) {
|
348
|
-
columnsWidth += this.hot.view._wt.wtTable.
|
348
|
+
columnsWidth += this.hot.view._wt.wtTable.getColumnWidth(renderableIndex) || 0;
|
349
349
|
}
|
350
350
|
}
|
351
351
|
return columnsWidth;
|
@@ -1,5 +1,7 @@
|
|
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.some.js";
|
3
5
|
function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
|
4
6
|
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
5
7
|
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
@@ -7,7 +9,7 @@ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a),
|
|
7
9
|
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
8
10
|
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
9
11
|
import { BasePlugin } from "../base/index.mjs";
|
10
|
-
import Hooks from "../../
|
12
|
+
import { Hooks } from "../../core/hooks/index.mjs";
|
11
13
|
import { arrayReduce } from "../../helpers/array.mjs";
|
12
14
|
import { addClass, removeClass, offset, hasClass, outerWidth } from "../../helpers/dom/element.mjs";
|
13
15
|
import { offsetRelativeTo } from "../../helpers/dom/event.mjs";
|
@@ -335,13 +337,11 @@ export class ManualColumnMove extends BasePlugin {
|
|
335
337
|
const columnMapper = this.hot.columnIndexMapper;
|
336
338
|
let columnsWidth = 0;
|
337
339
|
for (let visualColumnIndex = fromColumn; visualColumnIndex <= toColumn; visualColumnIndex += 1) {
|
338
|
-
// We can't use just `getColWidth` (even without indexes translation) as it doesn't return proper values
|
339
|
-
// when column is stretched.
|
340
340
|
const renderableIndex = columnMapper.getRenderableFromVisualIndex(visualColumnIndex);
|
341
341
|
if (visualColumnIndex < 0) {
|
342
342
|
columnsWidth += this.hot.view._wt.wtViewport.getRowHeaderWidth() || 0;
|
343
343
|
} else if (renderableIndex !== null) {
|
344
|
-
columnsWidth += this.hot.view._wt.wtTable.
|
344
|
+
columnsWidth += this.hot.view._wt.wtTable.getColumnWidth(renderableIndex) || 0;
|
345
345
|
}
|
346
346
|
}
|
347
347
|
return columnsWidth;
|
@@ -3,6 +3,8 @@
|
|
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");
|
6
8
|
var _base = require("../base");
|
7
9
|
var _element = require("../../helpers/dom/element");
|
8
10
|
var _array = require("../../helpers/array");
|
@@ -162,15 +164,31 @@ class ManualColumnResize extends _base.BasePlugin {
|
|
162
164
|
* Enables the plugin functionality for this Handsontable instance.
|
163
165
|
*/
|
164
166
|
enablePlugin() {
|
167
|
+
var _this = this;
|
165
168
|
if (this.enabled) {
|
166
169
|
return;
|
167
170
|
}
|
168
171
|
_classPrivateFieldSet(_columnWidthsMap, this, new _translations.PhysicalIndexToValueMap());
|
169
172
|
_classPrivateFieldGet(_columnWidthsMap, this).addLocalHook('init', () => _assertClassBrand(_ManualColumnResize_brand, this, _onMapInit).call(this));
|
170
173
|
this.hot.columnIndexMapper.registerMap(this.pluginName, _classPrivateFieldGet(_columnWidthsMap, this));
|
171
|
-
this.addHook('modifyColWidth',
|
172
|
-
|
173
|
-
|
174
|
+
this.addHook('modifyColWidth', function () {
|
175
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
176
|
+
args[_key] = arguments[_key];
|
177
|
+
}
|
178
|
+
return _assertClassBrand(_ManualColumnResize_brand, _this, _onModifyColWidth).call(_this, ...args);
|
179
|
+
}, 1);
|
180
|
+
this.addHook('beforeStretchingColumnWidth', function () {
|
181
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
182
|
+
args[_key2] = arguments[_key2];
|
183
|
+
}
|
184
|
+
return _assertClassBrand(_ManualColumnResize_brand, _this, _onBeforeStretchingColumnWidth).call(_this, ...args);
|
185
|
+
}, 1);
|
186
|
+
this.addHook('beforeColumnResize', function () {
|
187
|
+
for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
188
|
+
args[_key3] = arguments[_key3];
|
189
|
+
}
|
190
|
+
return _assertClassBrand(_ManualColumnResize_brand, _this, _onBeforeColumnResize).call(_this, ...args);
|
191
|
+
});
|
174
192
|
this.bindEvents();
|
175
193
|
super.enablePlugin();
|
176
194
|
}
|
@@ -408,11 +426,7 @@ class ManualColumnResize extends _base.BasePlugin {
|
|
408
426
|
if (hookNewSize !== undefined) {
|
409
427
|
_classPrivateFieldSet(_newSize, this, hookNewSize);
|
410
428
|
}
|
411
|
-
|
412
|
-
this.clearManualSize(column);
|
413
|
-
} else {
|
414
|
-
this.setManualSize(column, _classPrivateFieldGet(_newSize, this)); // double click sets by auto row size plugin
|
415
|
-
}
|
429
|
+
this.setManualSize(column, _classPrivateFieldGet(_newSize, this)); // double click sets by auto row size plugin
|
416
430
|
this.saveManualColumnWidths();
|
417
431
|
this.hot.runHooks('afterColumnResize', _classPrivateFieldGet(_newSize, this), column, true);
|
418
432
|
if (forceRender) {
|
@@ -630,11 +644,11 @@ function _onModifyColWidth(width, column) {
|
|
630
644
|
* @returns {number}
|
631
645
|
*/
|
632
646
|
function _onBeforeStretchingColumnWidth(stretchedWidth, column) {
|
633
|
-
|
634
|
-
if (width ===
|
635
|
-
width
|
647
|
+
const width = _classPrivateFieldGet(_columnWidthsMap, this).getValueAtIndex(this.hot.toPhysicalColumn(column));
|
648
|
+
if (typeof width === 'number') {
|
649
|
+
return width;
|
636
650
|
}
|
637
|
-
return
|
651
|
+
return stretchedWidth;
|
638
652
|
}
|
639
653
|
/**
|
640
654
|
* `beforeColumnResize` hook callback.
|
@@ -1,5 +1,7 @@
|
|
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";
|
3
5
|
function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
|
4
6
|
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
5
7
|
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
@@ -157,15 +159,31 @@ export class ManualColumnResize extends BasePlugin {
|
|
157
159
|
* Enables the plugin functionality for this Handsontable instance.
|
158
160
|
*/
|
159
161
|
enablePlugin() {
|
162
|
+
var _this = this;
|
160
163
|
if (this.enabled) {
|
161
164
|
return;
|
162
165
|
}
|
163
166
|
_classPrivateFieldSet(_columnWidthsMap, this, new IndexToValueMap());
|
164
167
|
_classPrivateFieldGet(_columnWidthsMap, this).addLocalHook('init', () => _assertClassBrand(_ManualColumnResize_brand, this, _onMapInit).call(this));
|
165
168
|
this.hot.columnIndexMapper.registerMap(this.pluginName, _classPrivateFieldGet(_columnWidthsMap, this));
|
166
|
-
this.addHook('modifyColWidth',
|
167
|
-
|
168
|
-
|
169
|
+
this.addHook('modifyColWidth', function () {
|
170
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
171
|
+
args[_key] = arguments[_key];
|
172
|
+
}
|
173
|
+
return _assertClassBrand(_ManualColumnResize_brand, _this, _onModifyColWidth).call(_this, ...args);
|
174
|
+
}, 1);
|
175
|
+
this.addHook('beforeStretchingColumnWidth', function () {
|
176
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
177
|
+
args[_key2] = arguments[_key2];
|
178
|
+
}
|
179
|
+
return _assertClassBrand(_ManualColumnResize_brand, _this, _onBeforeStretchingColumnWidth).call(_this, ...args);
|
180
|
+
}, 1);
|
181
|
+
this.addHook('beforeColumnResize', function () {
|
182
|
+
for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
183
|
+
args[_key3] = arguments[_key3];
|
184
|
+
}
|
185
|
+
return _assertClassBrand(_ManualColumnResize_brand, _this, _onBeforeColumnResize).call(_this, ...args);
|
186
|
+
});
|
169
187
|
this.bindEvents();
|
170
188
|
super.enablePlugin();
|
171
189
|
}
|
@@ -403,11 +421,7 @@ export class ManualColumnResize extends BasePlugin {
|
|
403
421
|
if (hookNewSize !== undefined) {
|
404
422
|
_classPrivateFieldSet(_newSize, this, hookNewSize);
|
405
423
|
}
|
406
|
-
|
407
|
-
this.clearManualSize(column);
|
408
|
-
} else {
|
409
|
-
this.setManualSize(column, _classPrivateFieldGet(_newSize, this)); // double click sets by auto row size plugin
|
410
|
-
}
|
424
|
+
this.setManualSize(column, _classPrivateFieldGet(_newSize, this)); // double click sets by auto row size plugin
|
411
425
|
this.saveManualColumnWidths();
|
412
426
|
this.hot.runHooks('afterColumnResize', _classPrivateFieldGet(_newSize, this), column, true);
|
413
427
|
if (forceRender) {
|
@@ -624,11 +638,11 @@ function _onModifyColWidth(width, column) {
|
|
624
638
|
* @returns {number}
|
625
639
|
*/
|
626
640
|
function _onBeforeStretchingColumnWidth(stretchedWidth, column) {
|
627
|
-
|
628
|
-
if (width ===
|
629
|
-
width
|
641
|
+
const width = _classPrivateFieldGet(_columnWidthsMap, this).getValueAtIndex(this.hot.toPhysicalColumn(column));
|
642
|
+
if (typeof width === 'number') {
|
643
|
+
return width;
|
630
644
|
}
|
631
|
-
return
|
645
|
+
return stretchedWidth;
|
632
646
|
}
|
633
647
|
/**
|
634
648
|
* `beforeColumnResize` hook callback.
|
@@ -3,8 +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.some.js");
|
6
8
|
var _base = require("../base");
|
7
|
-
var
|
9
|
+
var _hooks = require("../../core/hooks");
|
8
10
|
var _array = require("../../helpers/array");
|
9
11
|
var _element = require("../../helpers/dom/element");
|
10
12
|
var _number = require("../../helpers/number");
|
@@ -17,8 +19,8 @@ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("C
|
|
17
19
|
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
18
20
|
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
19
21
|
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"); }
|
20
|
-
|
21
|
-
|
22
|
+
_hooks.Hooks.getSingleton().register('beforeRowMove');
|
23
|
+
_hooks.Hooks.getSingleton().register('afterRowMove');
|
22
24
|
const PLUGIN_KEY = exports.PLUGIN_KEY = 'manualRowMove';
|
23
25
|
const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 140;
|
24
26
|
const CSS_PLUGIN = 'ht__manualRowMove';
|
@@ -317,7 +319,7 @@ class ManualRowMove extends _base.BasePlugin {
|
|
317
319
|
for (let visualRowIndex = fromRow; visualRowIndex <= toRow; visualRowIndex++) {
|
318
320
|
const renderableIndex = rowMapper.getRenderableFromVisualIndex(visualRowIndex);
|
319
321
|
if (renderableIndex !== null) {
|
320
|
-
rowsHeight += this.hot.view._wt.wtTable.getRowHeight(renderableIndex) ||
|
322
|
+
rowsHeight += this.hot.view._wt.wtTable.getRowHeight(renderableIndex) || this.hot.view.getDefaultRowHeight();
|
321
323
|
}
|
322
324
|
}
|
323
325
|
return rowsHeight;
|
@@ -417,8 +419,8 @@ class ManualRowMove extends _base.BasePlugin {
|
|
417
419
|
*/
|
418
420
|
refreshPositions() {
|
419
421
|
const coords = _classPrivateFieldGet(_target, this).coords;
|
420
|
-
const firstVisible = this.hot.
|
421
|
-
const lastVisible = this.hot.
|
422
|
+
const firstVisible = this.hot.getFirstFullyVisibleRow();
|
423
|
+
const lastVisible = this.hot.getLastFullyVisibleRow();
|
422
424
|
const countRows = this.hot.countRows();
|
423
425
|
if (this.isFixedRowTop(coords.row) && firstVisible > 0) {
|
424
426
|
this.hot.scrollViewportTo(this.hot.rowIndexMapper.getNearestNotHiddenIndex(firstVisible - 1, -1));
|