handsontable 14.2.0 → 14.3.0-next-3fa6b18-20240410
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/3rdparty/walkontable/src/calculator/renderAllColumns.js +1 -1
- package/3rdparty/walkontable/src/calculator/renderAllColumns.mjs +1 -1
- package/3rdparty/walkontable/src/calculator/renderAllRows.js +1 -1
- package/3rdparty/walkontable/src/calculator/renderAllRows.mjs +1 -1
- package/3rdparty/walkontable/src/calculator/viewportColumns.js +13 -18
- package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +13 -18
- package/3rdparty/walkontable/src/calculator/viewportRows.js +11 -16
- package/3rdparty/walkontable/src/calculator/viewportRows.mjs +11 -16
- package/3rdparty/walkontable/src/cell/coords.js +13 -18
- package/3rdparty/walkontable/src/cell/coords.mjs +13 -18
- package/3rdparty/walkontable/src/cell/range.d.ts +2 -1
- package/3rdparty/walkontable/src/cell/range.js +42 -30
- package/3rdparty/walkontable/src/cell/range.mjs +42 -30
- package/3rdparty/walkontable/src/core/_base.js +2 -2
- package/3rdparty/walkontable/src/core/_base.mjs +2 -2
- package/3rdparty/walkontable/src/core/clone.js +1 -1
- package/3rdparty/walkontable/src/core/clone.mjs +1 -1
- package/3rdparty/walkontable/src/event.js +72 -104
- package/3rdparty/walkontable/src/event.mjs +72 -104
- package/3rdparty/walkontable/src/filter/column.js +1 -1
- package/3rdparty/walkontable/src/filter/column.mjs +1 -1
- package/3rdparty/walkontable/src/filter/row.js +1 -1
- package/3rdparty/walkontable/src/filter/row.mjs +1 -1
- package/3rdparty/walkontable/src/index.js +1 -1
- package/3rdparty/walkontable/src/overlay/_base.js +1 -1
- package/3rdparty/walkontable/src/overlay/_base.mjs +1 -1
- package/3rdparty/walkontable/src/overlay/bottom.js +1 -1
- package/3rdparty/walkontable/src/overlay/bottom.mjs +1 -1
- package/3rdparty/walkontable/src/overlay/inlineStart.js +15 -1
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +16 -2
- package/3rdparty/walkontable/src/overlay/top.js +12 -1
- package/3rdparty/walkontable/src/overlay/top.mjs +13 -2
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +1 -1
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +1 -1
- package/3rdparty/walkontable/src/overlays.js +47 -5
- package/3rdparty/walkontable/src/overlays.mjs +47 -5
- package/3rdparty/walkontable/src/renderer/_base.js +1 -1
- package/3rdparty/walkontable/src/renderer/_base.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/cells.js +1 -1
- package/3rdparty/walkontable/src/renderer/cells.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +1 -1
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/rows.js +1 -1
- package/3rdparty/walkontable/src/renderer/rows.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/table.js +1 -1
- package/3rdparty/walkontable/src/renderer/table.mjs +1 -1
- package/3rdparty/walkontable/src/scroll.js +16 -18
- package/3rdparty/walkontable/src/scroll.mjs +16 -18
- package/3rdparty/walkontable/src/selection/manager.js +48 -69
- package/3rdparty/walkontable/src/selection/manager.mjs +48 -69
- package/3rdparty/walkontable/src/selection/scanner.js +33 -42
- package/3rdparty/walkontable/src/selection/scanner.mjs +33 -42
- package/3rdparty/walkontable/src/settings.js +1 -1
- package/3rdparty/walkontable/src/settings.mjs +1 -1
- package/3rdparty/walkontable/src/table.js +1 -1
- package/3rdparty/walkontable/src/table.mjs +1 -1
- package/3rdparty/walkontable/src/utils/column.js +1 -1
- package/3rdparty/walkontable/src/utils/column.mjs +1 -1
- package/3rdparty/walkontable/src/utils/columnStretching.js +28 -45
- package/3rdparty/walkontable/src/utils/columnStretching.mjs +28 -45
- package/3rdparty/walkontable/src/utils/nodesPool.js +1 -1
- package/3rdparty/walkontable/src/utils/nodesPool.mjs +1 -1
- package/3rdparty/walkontable/src/utils/orderView/view.js +2 -2
- package/3rdparty/walkontable/src/utils/orderView/view.mjs +2 -2
- package/3rdparty/walkontable/src/utils/orderView/viewSize.js +1 -1
- package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +1 -1
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +1 -1
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +1 -1
- package/3rdparty/walkontable/src/utils/row.js +1 -1
- package/3rdparty/walkontable/src/utils/row.mjs +1 -1
- package/CHANGELOG.md +20 -0
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/core/viewportScroll/index.js +4 -1
- package/core/viewportScroll/index.mjs +4 -1
- package/core/viewportScroll/scrollStrategies/focusScroll.js +15 -0
- package/core/viewportScroll/scrollStrategies/focusScroll.mjs +11 -0
- package/core.d.ts +4 -3
- package/core.js +98 -43
- package/core.mjs +98 -43
- package/dataMap/dataMap.js +1 -1
- package/dataMap/dataMap.mjs +1 -1
- package/dataMap/dataSource.js +2 -2
- package/dataMap/dataSource.mjs +2 -2
- package/dataMap/metaManager/lazyFactoryMap.js +3 -5
- package/dataMap/metaManager/lazyFactoryMap.mjs +2 -4
- package/dataMap/metaManager/metaLayers/cellMeta.js +2 -2
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +2 -2
- package/dataMap/metaManager/metaLayers/columnMeta.js +1 -1
- package/dataMap/metaManager/metaLayers/columnMeta.mjs +1 -1
- package/dataMap/metaManager/metaLayers/globalMeta.js +1 -1
- package/dataMap/metaManager/metaLayers/globalMeta.mjs +1 -1
- package/dataMap/metaManager/metaLayers/tableMeta.js +1 -1
- package/dataMap/metaManager/metaLayers/tableMeta.mjs +1 -1
- package/dataMap/metaManager/metaSchema.js +272 -272
- package/dataMap/metaManager/metaSchema.mjs +272 -272
- package/dataMap/metaManager/mods/dynamicCellMeta.js +1 -1
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +1 -1
- package/dataMap/metaManager/mods/extendMetaProperties.js +1 -1
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +1 -1
- package/dataMap/replaceData.js +1 -1
- package/dataMap/replaceData.mjs +1 -1
- package/dist/handsontable.css +4 -4
- package/dist/handsontable.full.css +4 -4
- package/dist/handsontable.full.js +9814 -10020
- package/dist/handsontable.full.min.css +3 -3
- package/dist/handsontable.full.min.js +292 -292
- package/dist/handsontable.js +7484 -7056
- package/dist/handsontable.min.css +3 -3
- package/dist/handsontable.min.js +25 -25
- package/dist/languages/all.min.js +1 -1
- package/dist/languages/ar-AR.min.js +1 -1
- package/dist/languages/cs-CZ.min.js +1 -1
- package/dist/languages/de-CH.min.js +1 -1
- package/dist/languages/de-DE.min.js +1 -1
- package/dist/languages/en-US.min.js +1 -1
- package/dist/languages/es-MX.min.js +1 -1
- package/dist/languages/fr-FR.min.js +1 -1
- package/dist/languages/hr-HR.min.js +1 -1
- package/dist/languages/it-IT.min.js +1 -1
- package/dist/languages/ja-JP.min.js +1 -1
- package/dist/languages/ko-KR.min.js +1 -1
- package/dist/languages/lv-LV.min.js +1 -1
- package/dist/languages/nb-NO.min.js +1 -1
- package/dist/languages/nl-NL.min.js +1 -1
- package/dist/languages/pl-PL.min.js +1 -1
- package/dist/languages/pt-BR.min.js +1 -1
- package/dist/languages/ru-RU.min.js +1 -1
- package/dist/languages/sr-SP.min.js +1 -1
- package/dist/languages/zh-CN.min.js +1 -1
- package/dist/languages/zh-TW.min.js +1 -1
- package/editorManager.js +26 -24
- package/editorManager.mjs +26 -24
- package/editors/autocompleteEditor/autocompleteEditor.js +7 -11
- package/editors/autocompleteEditor/autocompleteEditor.mjs +7 -11
- package/editors/baseEditor/baseEditor.js +1 -1
- package/editors/baseEditor/baseEditor.mjs +1 -1
- package/editors/dateEditor/dateEditor.js +49 -11
- package/editors/dateEditor/dateEditor.mjs +49 -11
- package/editors/selectEditor/selectEditor.js +20 -19
- package/editors/selectEditor/selectEditor.mjs +20 -19
- package/editors/textEditor/textEditor.js +1 -1
- package/editors/textEditor/textEditor.mjs +1 -1
- package/eventManager.js +2 -2
- package/eventManager.mjs +2 -2
- package/focusManager.js +64 -82
- package/focusManager.mjs +64 -82
- package/helpers/dom/element.js +23 -1
- package/helpers/dom/element.mjs +21 -1
- package/helpers/mixed.js +2 -2
- package/helpers/mixed.mjs +2 -2
- package/helpers/object.js +2 -2
- package/helpers/object.mjs +2 -2
- package/i18n/languages/ar-AR.d.ts +5 -0
- package/i18n/languages/ar-AR.js +1 -1
- package/i18n/languages/cs-CZ.d.ts +5 -0
- package/i18n/languages/cs-CZ.js +1 -1
- package/i18n/languages/de-CH.js +1 -1
- package/i18n/languages/de-DE.js +1 -1
- package/i18n/languages/en-US.js +1 -1
- package/i18n/languages/es-MX.js +1 -1
- package/i18n/languages/fr-FR.js +1 -1
- package/i18n/languages/hr-HR.d.ts +5 -0
- package/i18n/languages/hr-HR.js +1 -1
- package/i18n/languages/it-IT.js +1 -1
- package/i18n/languages/ja-JP.js +1 -1
- package/i18n/languages/ko-KR.js +1 -1
- package/i18n/languages/lv-LV.js +1 -1
- package/i18n/languages/nb-NO.js +1 -1
- package/i18n/languages/nl-NL.js +1 -1
- package/i18n/languages/pl-PL.js +1 -1
- package/i18n/languages/pt-BR.js +1 -1
- package/i18n/languages/ru-RU.js +1 -1
- package/i18n/languages/sr-SP.d.ts +5 -0
- package/i18n/languages/sr-SP.js +1 -1
- package/i18n/languages/zh-CN.js +1 -1
- package/i18n/languages/zh-TW.js +1 -1
- package/i18n/registry.js +1 -1
- package/index.d.ts +10 -0
- package/index.js +1 -1
- package/package.json +14 -10
- package/pluginHooks.d.ts +4 -3
- package/pluginHooks.js +143 -82
- package/pluginHooks.mjs +143 -82
- package/plugins/autoColumnSize/autoColumnSize.js +50 -66
- package/plugins/autoColumnSize/autoColumnSize.mjs +50 -66
- package/plugins/autoRowSize/autoRowSize.js +29 -35
- package/plugins/autoRowSize/autoRowSize.mjs +29 -35
- package/plugins/autofill/autofill.js +31 -39
- package/plugins/autofill/autofill.mjs +31 -39
- package/plugins/base/base.js +13 -18
- package/plugins/base/base.mjs +13 -18
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +6 -6
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +6 -6
- package/plugins/collapsibleColumns/collapsibleColumns.js +60 -51
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +60 -51
- package/plugins/columnSorting/columnSorting.js +50 -46
- package/plugins/columnSorting/columnSorting.mjs +50 -46
- package/plugins/columnSorting/columnStatesManager.js +1 -1
- package/plugins/columnSorting/columnStatesManager.mjs +1 -1
- package/plugins/columnSummary/columnSummary.js +36 -40
- package/plugins/columnSummary/columnSummary.mjs +36 -40
- package/plugins/columnSummary/endpoints.js +1 -1
- package/plugins/columnSummary/endpoints.mjs +1 -1
- package/plugins/comments/commentEditor.js +1 -1
- package/plugins/comments/commentEditor.mjs +1 -1
- package/plugins/comments/comments.js +117 -159
- package/plugins/comments/comments.mjs +117 -159
- package/plugins/comments/contextMenuItem/addEditComment.js +1 -1
- package/plugins/comments/contextMenuItem/readOnlyComment.js +1 -1
- package/plugins/comments/contextMenuItem/removeComment.js +1 -1
- package/plugins/comments/displaySwitch.js +1 -1
- package/plugins/comments/displaySwitch.mjs +1 -1
- package/plugins/contextMenu/commandExecutor.js +1 -1
- package/plugins/contextMenu/commandExecutor.mjs +1 -1
- package/plugins/contextMenu/contextMenu.js +24 -30
- package/plugins/contextMenu/contextMenu.mjs +24 -30
- package/plugins/contextMenu/itemsFactory.js +2 -2
- package/plugins/contextMenu/itemsFactory.mjs +2 -2
- package/plugins/contextMenu/menu/cursor.js +1 -1
- package/plugins/contextMenu/menu/cursor.mjs +1 -1
- package/plugins/contextMenu/menu/defaultShortcutsList.js +26 -10
- package/plugins/contextMenu/menu/defaultShortcutsList.mjs +26 -10
- package/plugins/contextMenu/menu/menu.js +14 -22
- package/plugins/contextMenu/menu/menu.mjs +14 -22
- package/plugins/contextMenu/menu/positioner.js +41 -58
- package/plugins/contextMenu/menu/positioner.mjs +41 -58
- package/plugins/contextMenu/predefinedItems/alignment.js +1 -1
- package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -1
- package/plugins/contextMenu/predefinedItems/columnLeft.js +1 -1
- package/plugins/contextMenu/predefinedItems/columnRight.js +1 -1
- package/plugins/contextMenu/predefinedItems/index.js +1 -1
- package/plugins/contextMenu/predefinedItems/readOnly.js +1 -1
- package/plugins/contextMenu/predefinedItems/redo.js +1 -1
- package/plugins/contextMenu/predefinedItems/removeColumn.js +1 -1
- package/plugins/contextMenu/predefinedItems/removeRow.js +1 -1
- package/plugins/contextMenu/predefinedItems/rowAbove.js +1 -1
- package/plugins/contextMenu/predefinedItems/rowBelow.js +1 -1
- package/plugins/contextMenu/predefinedItems/undo.js +1 -1
- package/plugins/copyPaste/contextMenuItem/cut.js +1 -1
- package/plugins/copyPaste/copyPaste.js +120 -161
- package/plugins/copyPaste/copyPaste.mjs +120 -161
- package/plugins/copyPaste/copyableRanges.js +43 -66
- package/plugins/copyPaste/copyableRanges.mjs +43 -66
- package/plugins/customBorders/contextMenuItem/bottom.js +1 -1
- package/plugins/customBorders/contextMenuItem/left.js +1 -1
- package/plugins/customBorders/contextMenuItem/noBorders.js +1 -1
- package/plugins/customBorders/contextMenuItem/right.js +1 -1
- package/plugins/customBorders/contextMenuItem/top.js +1 -1
- package/plugins/customBorders/customBorders.js +14 -16
- package/plugins/customBorders/customBorders.mjs +13 -15
- package/plugins/dragToScroll/dragToScroll.js +7 -7
- package/plugins/dragToScroll/dragToScroll.mjs +7 -7
- package/plugins/dropdownMenu/dropdownMenu.js +84 -110
- package/plugins/dropdownMenu/dropdownMenu.mjs +84 -110
- package/plugins/exportFile/dataProvider.js +2 -2
- package/plugins/exportFile/dataProvider.mjs +2 -2
- package/plugins/exportFile/exportFile.js +2 -2
- package/plugins/exportFile/exportFile.mjs +1 -1
- package/plugins/exportFile/types/_base.js +1 -1
- package/plugins/exportFile/types/_base.mjs +1 -1
- package/plugins/filters/component/_base.js +1 -1
- package/plugins/filters/component/_base.mjs +1 -1
- package/plugins/filters/component/actionBar.js +11 -11
- package/plugins/filters/component/actionBar.mjs +9 -9
- package/plugins/filters/component/condition.js +15 -17
- package/plugins/filters/component/condition.mjs +14 -16
- package/plugins/filters/component/operators.js +7 -7
- package/plugins/filters/component/operators.mjs +7 -7
- package/plugins/filters/component/value.js +26 -30
- package/plugins/filters/component/value.mjs +25 -29
- package/plugins/filters/condition/beginsWith.js +1 -1
- package/plugins/filters/condition/between.js +1 -1
- package/plugins/filters/condition/contains.js +1 -1
- package/plugins/filters/condition/date/after.js +1 -1
- package/plugins/filters/condition/date/before.js +1 -1
- package/plugins/filters/condition/date/today.js +1 -1
- package/plugins/filters/condition/date/tomorrow.js +1 -1
- package/plugins/filters/condition/date/yesterday.js +1 -1
- package/plugins/filters/condition/empty.js +1 -1
- package/plugins/filters/condition/endsWith.js +1 -1
- package/plugins/filters/condition/equal.js +1 -1
- package/plugins/filters/condition/greaterThan.js +1 -1
- package/plugins/filters/condition/greaterThanOrEqual.js +1 -1
- package/plugins/filters/condition/lessThan.js +1 -1
- package/plugins/filters/condition/lessThanOrEqual.js +1 -1
- package/plugins/filters/condition/none.js +1 -1
- package/plugins/filters/condition/notBetween.js +1 -1
- package/plugins/filters/condition/notContains.js +1 -1
- package/plugins/filters/condition/notEmpty.js +1 -1
- package/plugins/filters/condition/notEqual.js +1 -1
- package/plugins/filters/conditionCollection.js +1 -1
- package/plugins/filters/conditionCollection.mjs +1 -1
- package/plugins/filters/conditionUpdateObserver.js +23 -25
- package/plugins/filters/conditionUpdateObserver.mjs +23 -25
- package/plugins/filters/dataFilter.js +2 -2
- package/plugins/filters/dataFilter.mjs +2 -2
- package/plugins/filters/filters.js +84 -98
- package/plugins/filters/filters.mjs +83 -97
- package/plugins/filters/logicalOperations/conjunction.js +1 -1
- package/plugins/filters/logicalOperations/disjunction.js +1 -1
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +1 -1
- package/plugins/filters/ui/_base.js +2 -2
- package/plugins/filters/ui/_base.mjs +1 -1
- package/plugins/filters/ui/input.js +13 -19
- package/plugins/filters/ui/input.mjs +13 -19
- package/plugins/filters/ui/link.js +8 -13
- package/plugins/filters/ui/link.mjs +8 -13
- package/plugins/filters/ui/multipleSelect.js +86 -113
- package/plugins/filters/ui/multipleSelect.mjs +85 -112
- package/plugins/filters/ui/radioInput.js +12 -20
- package/plugins/filters/ui/radioInput.mjs +12 -20
- package/plugins/filters/ui/select.js +51 -73
- package/plugins/filters/ui/select.mjs +49 -71
- package/plugins/formulas/formulas.js +270 -328
- package/plugins/formulas/formulas.mjs +271 -329
- package/plugins/formulas/indexSyncer/axisSyncer.js +38 -61
- package/plugins/formulas/indexSyncer/axisSyncer.mjs +38 -61
- package/plugins/formulas/indexSyncer/index.js +25 -48
- package/plugins/formulas/indexSyncer/index.mjs +25 -48
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +1 -1
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +1 -1
- package/plugins/hiddenColumns/hiddenColumns.js +68 -87
- package/plugins/hiddenColumns/hiddenColumns.mjs +68 -87
- package/plugins/hiddenRows/contextMenuItem/hideRow.js +1 -1
- package/plugins/hiddenRows/contextMenuItem/showRow.js +1 -1
- package/plugins/hiddenRows/hiddenRows.js +67 -86
- package/plugins/hiddenRows/hiddenRows.mjs +67 -86
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -1
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -1
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +24 -32
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +25 -33
- package/plugins/manualColumnMove/manualColumnMove.js +133 -177
- package/plugins/manualColumnMove/manualColumnMove.mjs +133 -177
- package/plugins/manualColumnMove/ui/_base.js +1 -1
- package/plugins/manualColumnMove/ui/_base.mjs +1 -1
- package/plugins/manualColumnResize/manualColumnResize.js +169 -230
- package/plugins/manualColumnResize/manualColumnResize.mjs +169 -230
- package/plugins/manualRowMove/manualRowMove.js +106 -135
- package/plugins/manualRowMove/manualRowMove.mjs +106 -135
- package/plugins/manualRowMove/ui/_base.js +1 -1
- package/plugins/manualRowMove/ui/_base.mjs +1 -1
- package/plugins/manualRowResize/manualRowResize.js +150 -209
- package/plugins/manualRowResize/manualRowResize.mjs +150 -209
- package/plugins/mergeCells/calculations/autofill.js +1 -1
- package/plugins/mergeCells/calculations/autofill.mjs +1 -1
- package/plugins/mergeCells/calculations/selection.js +3 -72
- package/plugins/mergeCells/calculations/selection.mjs +3 -72
- package/plugins/mergeCells/cellCoords.js +1 -1
- package/plugins/mergeCells/cellCoords.mjs +1 -1
- package/plugins/mergeCells/cellsCollection.js +118 -2
- package/plugins/mergeCells/cellsCollection.mjs +118 -2
- package/plugins/mergeCells/contextMenuItem/toggleMerge.js +12 -2
- package/plugins/mergeCells/contextMenuItem/toggleMerge.mjs +11 -1
- package/plugins/mergeCells/focusOrder.js +305 -0
- package/plugins/mergeCells/focusOrder.mjs +300 -0
- package/plugins/mergeCells/mergeCells.js +500 -398
- package/plugins/mergeCells/mergeCells.mjs +500 -398
- package/plugins/multiColumnSorting/multiColumnSorting.js +9 -3
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +9 -3
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +2 -2
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +2 -2
- package/plugins/nestedHeaders/nestedHeaders.js +206 -254
- package/plugins/nestedHeaders/nestedHeaders.mjs +207 -255
- package/plugins/nestedHeaders/stateManager/headersTree.js +21 -32
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +21 -32
- package/plugins/nestedHeaders/stateManager/index.js +30 -41
- package/plugins/nestedHeaders/stateManager/index.mjs +30 -41
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +19 -30
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +19 -30
- package/plugins/nestedHeaders/utils/ghostTable.js +1 -1
- package/plugins/nestedHeaders/utils/ghostTable.mjs +1 -1
- package/plugins/nestedRows/data/dataManager.js +2 -2
- package/plugins/nestedRows/data/dataManager.mjs +2 -2
- package/plugins/nestedRows/nestedRows.js +154 -185
- package/plugins/nestedRows/nestedRows.mjs +155 -186
- package/plugins/nestedRows/ui/_base.js +1 -1
- package/plugins/nestedRows/ui/_base.mjs +1 -1
- package/plugins/nestedRows/ui/contextMenu.js +13 -17
- package/plugins/nestedRows/ui/contextMenu.mjs +11 -15
- package/plugins/nestedRows/utils/rowMoveController.js +6 -6
- package/plugins/nestedRows/utils/rowMoveController.mjs +6 -6
- package/plugins/persistentState/persistentState.js +1 -1
- package/plugins/persistentState/persistentState.mjs +1 -1
- package/plugins/persistentState/storage.js +3 -3
- package/plugins/persistentState/storage.mjs +3 -3
- package/plugins/search/search.js +8 -8
- package/plugins/search/search.mjs +8 -8
- package/plugins/touchScroll/touchScroll.js +16 -20
- package/plugins/touchScroll/touchScroll.mjs +17 -21
- package/plugins/trimRows/trimRows.js +7 -7
- package/plugins/trimRows/trimRows.mjs +7 -7
- package/plugins/undoRedo/index.js +1 -1
- package/renderers/checkboxRenderer/checkboxRenderer.js +8 -5
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +8 -5
- package/selection/highlight/highlight.js +16 -18
- package/selection/highlight/highlight.mjs +15 -17
- package/selection/highlight/visualSelection.js +3 -1
- package/selection/highlight/visualSelection.mjs +3 -1
- package/selection/range.js +3 -5
- package/selection/range.mjs +2 -4
- package/selection/selection.js +227 -69
- package/selection/selection.mjs +225 -67
- package/selection/transformation.js +149 -118
- package/selection/transformation.mjs +149 -118
- package/shortcutContexts/commands/editor/closeAndSave.js +2 -2
- package/shortcutContexts/commands/editor/closeAndSave.mjs +2 -2
- package/shortcutContexts/commands/editor/open.js +18 -3
- package/shortcutContexts/commands/editor/open.mjs +18 -3
- package/shortcutContexts/commands/extendCellsSelection/down.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/down.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/left.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/left.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/right.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/right.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toColumns.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +9 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +9 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +10 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +10 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toRows.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/up.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/up.mjs +1 -1
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +6 -1
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +6 -1
- package/shortcutContexts/commands/moveCellSelection/inlineStart.js +6 -1
- package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +6 -1
- package/shortcutContexts/grid.js +9 -3
- package/shortcutContexts/grid.mjs +9 -3
- package/shortcuts/context.js +3 -2
- package/shortcuts/context.mjs +3 -2
- package/shortcuts/manager.js +2 -2
- package/shortcuts/manager.mjs +2 -2
- package/tableView.js +53 -79
- package/tableView.mjs +53 -79
- package/translations/changesObservable/observable.js +21 -38
- package/translations/changesObservable/observable.mjs +21 -38
- package/translations/changesObservable/observer.js +7 -12
- package/translations/changesObservable/observer.mjs +6 -11
- package/translations/indexMapper.js +1 -1
- package/translations/indexMapper.mjs +1 -1
- package/translations/mapCollections/aggregatedCollection.js +2 -2
- package/translations/mapCollections/aggregatedCollection.mjs +2 -2
- package/translations/mapCollections/mapCollection.js +1 -1
- package/translations/mapCollections/mapCollection.mjs +1 -1
- package/translations/maps/indexMap.js +2 -2
- package/translations/maps/indexMap.mjs +2 -2
- package/translations/maps/linkedPhysicalIndexToValueMap.js +1 -1
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +1 -1
- package/utils/dataStructures/linkedList.js +7 -2
- package/utils/dataStructures/linkedList.mjs +7 -2
- package/utils/dataStructures/tree.js +2 -2
- package/utils/dataStructures/tree.mjs +2 -2
- package/utils/ghostTable.js +1 -1
- package/utils/ghostTable.mjs +1 -1
- package/utils/interval.js +27 -45
- package/utils/interval.mjs +27 -45
- package/utils/samplesGenerator.js +1 -1
- package/utils/samplesGenerator.mjs +1 -1
@@ -1,14 +1,11 @@
|
|
1
|
-
import "core-js/modules/es.array.push.js";
|
2
1
|
import "core-js/modules/es.error.cause.js";
|
2
|
+
import "core-js/modules/es.array.push.js";
|
3
3
|
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
4
4
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
5
5
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
6
|
-
function
|
7
|
-
function
|
8
|
-
function
|
9
|
-
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
10
|
-
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
11
|
-
function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
|
6
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
7
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
8
|
+
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
12
9
|
import { BasePlugin } from "../base/index.mjs";
|
13
10
|
import { addClass } from "../../helpers/dom/element.mjs";
|
14
11
|
import { rangeEach } from "../../helpers/number.mjs";
|
@@ -34,7 +31,7 @@ export const PLUGIN_PRIORITY = 320;
|
|
34
31
|
* @class HiddenRows
|
35
32
|
*
|
36
33
|
* @description
|
37
|
-
* The `HiddenRows` plugin lets you [hide specified rows](@/guides/rows/row-hiding.md).
|
34
|
+
* The `HiddenRows` plugin lets you [hide specified rows](@/guides/rows/row-hiding/row-hiding.md).
|
38
35
|
*
|
39
36
|
* "Hiding a row" means that the hidden row doesn't get rendered as a DOM element.
|
40
37
|
*
|
@@ -46,9 +43,9 @@ export const PLUGIN_PRIORITY = 320;
|
|
46
43
|
*
|
47
44
|
* | Option | Required | Type | Default | Description |
|
48
45
|
* |---|---|---|---|---|
|
49
|
-
* | `rows` | No | Array | - | [Hides specified rows by default](@/guides/rows/row-hiding.md#step-1-specify-rows-hidden-by-default) |
|
50
|
-
* | `indicators` | No | Boolean | `false` | [Shows UI indicators](@/guides/rows/row-hiding.md#step-2-show-ui-indicators) |
|
51
|
-
* | `copyPasteEnabled` | No | Boolean | `true` | [Sets up copy/paste behavior](@/guides/rows/row-hiding.md#step-4-set-up-copy-and-paste-behavior) |
|
46
|
+
* | `rows` | No | Array | - | [Hides specified rows by default](@/guides/rows/row-hiding/row-hiding.md#step-1-specify-rows-hidden-by-default) |
|
47
|
+
* | `indicators` | No | Boolean | `false` | [Shows UI indicators](@/guides/rows/row-hiding/row-hiding.md#step-2-show-ui-indicators) |
|
48
|
+
* | `copyPasteEnabled` | No | Boolean | `true` | [Sets up copy/paste behavior](@/guides/rows/row-hiding/row-hiding.md#step-4-set-up-copy-and-paste-behavior) |
|
52
49
|
*
|
53
50
|
* @example
|
54
51
|
*
|
@@ -135,47 +132,10 @@ export const PLUGIN_PRIORITY = 320;
|
|
135
132
|
*/
|
136
133
|
var _settings = /*#__PURE__*/new WeakMap();
|
137
134
|
var _hiddenRowsMap = /*#__PURE__*/new WeakMap();
|
138
|
-
var
|
139
|
-
var _onAfterGetCellMeta = /*#__PURE__*/new WeakSet();
|
140
|
-
var _onModifyCopyableRange = /*#__PURE__*/new WeakSet();
|
141
|
-
var _onAfterGetRowHeader = /*#__PURE__*/new WeakSet();
|
142
|
-
var _onAfterContextMenuDefaultOptions = /*#__PURE__*/new WeakSet();
|
143
|
-
var _onMapInit = /*#__PURE__*/new WeakSet();
|
135
|
+
var _HiddenRows_brand = /*#__PURE__*/new WeakSet();
|
144
136
|
export class HiddenRows extends BasePlugin {
|
145
137
|
constructor() {
|
146
138
|
super(...arguments);
|
147
|
-
/**
|
148
|
-
* On map initialized hook callback.
|
149
|
-
*/
|
150
|
-
_classPrivateMethodInitSpec(this, _onMapInit);
|
151
|
-
/**
|
152
|
-
* Add Show-hide rows to context menu.
|
153
|
-
*
|
154
|
-
* @param {object} options An array of objects containing information about the pre-defined Context Menu items.
|
155
|
-
*/
|
156
|
-
_classPrivateMethodInitSpec(this, _onAfterContextMenuDefaultOptions);
|
157
|
-
/**
|
158
|
-
* Adds the needed classes to the headers.
|
159
|
-
*
|
160
|
-
* @param {number} row Visual row index.
|
161
|
-
* @param {HTMLElement} TH Header's TH element.
|
162
|
-
*/
|
163
|
-
_classPrivateMethodInitSpec(this, _onAfterGetRowHeader);
|
164
|
-
/**
|
165
|
-
* Modifies the copyable range, accordingly to the provided config.
|
166
|
-
*
|
167
|
-
* @param {Array} ranges An array of objects defining copyable cells.
|
168
|
-
* @returns {Array}
|
169
|
-
*/
|
170
|
-
_classPrivateMethodInitSpec(this, _onModifyCopyableRange);
|
171
|
-
/**
|
172
|
-
* Sets the copy-related cell meta.
|
173
|
-
*
|
174
|
-
* @param {number} row Visual row index.
|
175
|
-
* @param {number} column Visual column index.
|
176
|
-
* @param {object} cellProperties Object containing the cell properties.
|
177
|
-
*/
|
178
|
-
_classPrivateMethodInitSpec(this, _onAfterGetCellMeta);
|
179
139
|
/**
|
180
140
|
* Adds the additional row height for the hidden row indicators.
|
181
141
|
*
|
@@ -183,27 +143,21 @@ export class HiddenRows extends BasePlugin {
|
|
183
143
|
* @param {number} row Visual row index.
|
184
144
|
* @returns {number}
|
185
145
|
*/
|
186
|
-
_classPrivateMethodInitSpec(this,
|
146
|
+
_classPrivateMethodInitSpec(this, _HiddenRows_brand);
|
187
147
|
/**
|
188
148
|
* Cached settings from Handsontable settings.
|
189
149
|
*
|
190
150
|
* @private
|
191
151
|
* @type {object}
|
192
152
|
*/
|
193
|
-
_classPrivateFieldInitSpec(this, _settings, {
|
194
|
-
writable: true,
|
195
|
-
value: {}
|
196
|
-
});
|
153
|
+
_classPrivateFieldInitSpec(this, _settings, {});
|
197
154
|
/**
|
198
155
|
* Map of hidden rows by the plugin.
|
199
156
|
*
|
200
157
|
* @private
|
201
158
|
* @type {HidingMap|null}
|
202
159
|
*/
|
203
|
-
_classPrivateFieldInitSpec(this, _hiddenRowsMap,
|
204
|
-
writable: true,
|
205
|
-
value: null
|
206
|
-
});
|
160
|
+
_classPrivateFieldInitSpec(this, _hiddenRowsMap, null);
|
207
161
|
}
|
208
162
|
static get PLUGIN_KEY() {
|
209
163
|
return PLUGIN_KEY;
|
@@ -231,29 +185,29 @@ export class HiddenRows extends BasePlugin {
|
|
231
185
|
}
|
232
186
|
const pluginSettings = this.hot.getSettings()[PLUGIN_KEY];
|
233
187
|
if (isObject(pluginSettings)) {
|
234
|
-
_classPrivateFieldSet(
|
188
|
+
_classPrivateFieldSet(_settings, this, pluginSettings);
|
235
189
|
if (isUndefined(pluginSettings.copyPasteEnabled)) {
|
236
190
|
pluginSettings.copyPasteEnabled = true;
|
237
191
|
}
|
238
192
|
}
|
239
|
-
_classPrivateFieldSet(
|
240
|
-
_classPrivateFieldGet(
|
241
|
-
this.hot.rowIndexMapper.registerMap(this.pluginName, _classPrivateFieldGet(
|
193
|
+
_classPrivateFieldSet(_hiddenRowsMap, this, new HidingMap());
|
194
|
+
_classPrivateFieldGet(_hiddenRowsMap, this).addLocalHook('init', () => _assertClassBrand(_HiddenRows_brand, this, _onMapInit).call(this));
|
195
|
+
this.hot.rowIndexMapper.registerMap(this.pluginName, _classPrivateFieldGet(_hiddenRowsMap, this));
|
242
196
|
this.addHook('afterContextMenuDefaultOptions', function () {
|
243
197
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
244
198
|
args[_key] = arguments[_key];
|
245
199
|
}
|
246
|
-
return
|
200
|
+
return _assertClassBrand(_HiddenRows_brand, _this, _onAfterContextMenuDefaultOptions).call(_this, ...args);
|
247
201
|
});
|
248
|
-
this.addHook('afterGetCellMeta', (row, col, cellProperties) =>
|
249
|
-
this.addHook('modifyRowHeight', (height, row) =>
|
202
|
+
this.addHook('afterGetCellMeta', (row, col, cellProperties) => _assertClassBrand(_HiddenRows_brand, this, _onAfterGetCellMeta).call(this, row, col, cellProperties));
|
203
|
+
this.addHook('modifyRowHeight', (height, row) => _assertClassBrand(_HiddenRows_brand, this, _onModifyRowHeight).call(this, height, row));
|
250
204
|
this.addHook('afterGetRowHeader', function () {
|
251
205
|
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
252
206
|
args[_key2] = arguments[_key2];
|
253
207
|
}
|
254
|
-
return
|
208
|
+
return _assertClassBrand(_HiddenRows_brand, _this, _onAfterGetRowHeader).call(_this, ...args);
|
255
209
|
});
|
256
|
-
this.addHook('modifyCopyableRange', ranges =>
|
210
|
+
this.addHook('modifyCopyableRange', ranges => _assertClassBrand(_HiddenRows_brand, this, _onModifyCopyableRange).call(this, ranges));
|
257
211
|
super.enablePlugin();
|
258
212
|
}
|
259
213
|
|
@@ -274,7 +228,7 @@ export class HiddenRows extends BasePlugin {
|
|
274
228
|
*/
|
275
229
|
disablePlugin() {
|
276
230
|
this.hot.rowIndexMapper.unregisterMap(this.pluginName);
|
277
|
-
_classPrivateFieldSet(
|
231
|
+
_classPrivateFieldSet(_settings, this, {});
|
278
232
|
super.disablePlugin();
|
279
233
|
this.resetCellsMeta();
|
280
234
|
}
|
@@ -288,7 +242,7 @@ export class HiddenRows extends BasePlugin {
|
|
288
242
|
const currentHideConfig = this.getHiddenRows();
|
289
243
|
const isValidConfig = this.isValidConfig(rows);
|
290
244
|
let destinationHideConfig = currentHideConfig;
|
291
|
-
const hidingMapValues = _classPrivateFieldGet(
|
245
|
+
const hidingMapValues = _classPrivateFieldGet(_hiddenRowsMap, this).getValues().slice();
|
292
246
|
const isAnyRowShowed = rows.length > 0;
|
293
247
|
if (isValidConfig && isAnyRowShowed) {
|
294
248
|
const physicalRows = rows.map(visualRow => this.hot.toPhysicalRow(visualRow));
|
@@ -311,7 +265,7 @@ export class HiddenRows extends BasePlugin {
|
|
311
265
|
return;
|
312
266
|
}
|
313
267
|
if (isValidConfig && isAnyRowShowed) {
|
314
|
-
_classPrivateFieldGet(
|
268
|
+
_classPrivateFieldGet(_hiddenRowsMap, this).setValues(hidingMapValues);
|
315
269
|
}
|
316
270
|
this.hot.runHooks('afterUnhideRows', currentHideConfig, destinationHideConfig, isValidConfig && isAnyRowShowed, isValidConfig && destinationHideConfig.length < currentHideConfig.length);
|
317
271
|
}
|
@@ -347,7 +301,7 @@ export class HiddenRows extends BasePlugin {
|
|
347
301
|
if (isConfigValid) {
|
348
302
|
this.hot.batchExecution(() => {
|
349
303
|
arrayEach(rows, visualRow => {
|
350
|
-
_classPrivateFieldGet(
|
304
|
+
_classPrivateFieldGet(_hiddenRowsMap, this).setValueAtIndex(this.hot.toPhysicalRow(visualRow), true);
|
351
305
|
});
|
352
306
|
}, true);
|
353
307
|
}
|
@@ -372,7 +326,7 @@ export class HiddenRows extends BasePlugin {
|
|
372
326
|
* @returns {number[]}
|
373
327
|
*/
|
374
328
|
getHiddenRows() {
|
375
|
-
return arrayMap(_classPrivateFieldGet(
|
329
|
+
return arrayMap(_classPrivateFieldGet(_hiddenRowsMap, this).getHiddenIndexes(), physicalRowIndex => {
|
376
330
|
return this.hot.toVisualRow(physicalRowIndex);
|
377
331
|
});
|
378
332
|
}
|
@@ -384,7 +338,7 @@ export class HiddenRows extends BasePlugin {
|
|
384
338
|
* @returns {boolean}
|
385
339
|
*/
|
386
340
|
isHidden(row) {
|
387
|
-
return _classPrivateFieldGet(
|
341
|
+
return _classPrivateFieldGet(_hiddenRowsMap, this).getValueAtIndex(this.hot.toPhysicalRow(row)) || false;
|
388
342
|
}
|
389
343
|
|
390
344
|
/**
|
@@ -417,12 +371,12 @@ export class HiddenRows extends BasePlugin {
|
|
417
371
|
* Destroys the plugin instance.
|
418
372
|
*/
|
419
373
|
destroy() {
|
420
|
-
_classPrivateFieldSet(
|
421
|
-
_classPrivateFieldSet(
|
374
|
+
_classPrivateFieldSet(_settings, this, null);
|
375
|
+
_classPrivateFieldSet(_hiddenRowsMap, this, null);
|
422
376
|
super.destroy();
|
423
377
|
}
|
424
378
|
}
|
425
|
-
function
|
379
|
+
function _onModifyRowHeight(height, row) {
|
426
380
|
// Hook is triggered internally only for the visible rows. Conditional will be handled for the API
|
427
381
|
// calls of the `getRowHeight` function on not visible indexes.
|
428
382
|
if (this.isHidden(row)) {
|
@@ -430,8 +384,15 @@ function _onModifyRowHeight2(height, row) {
|
|
430
384
|
}
|
431
385
|
return height;
|
432
386
|
}
|
433
|
-
|
434
|
-
|
387
|
+
/**
|
388
|
+
* Sets the copy-related cell meta.
|
389
|
+
*
|
390
|
+
* @param {number} row Visual row index.
|
391
|
+
* @param {number} column Visual column index.
|
392
|
+
* @param {object} cellProperties Object containing the cell properties.
|
393
|
+
*/
|
394
|
+
function _onAfterGetCellMeta(row, column, cellProperties) {
|
395
|
+
if (_classPrivateFieldGet(_settings, this).copyPasteEnabled === false && this.isHidden(row)) {
|
435
396
|
// Cell property handled by the `Autofill` and the `CopyPaste` plugins.
|
436
397
|
cellProperties.skipRowOnPaste = true;
|
437
398
|
}
|
@@ -451,9 +412,15 @@ function _onAfterGetCellMeta2(row, column, cellProperties) {
|
|
451
412
|
}
|
452
413
|
}
|
453
414
|
}
|
454
|
-
|
415
|
+
/**
|
416
|
+
* Modifies the copyable range, accordingly to the provided config.
|
417
|
+
*
|
418
|
+
* @param {Array} ranges An array of objects defining copyable cells.
|
419
|
+
* @returns {Array}
|
420
|
+
*/
|
421
|
+
function _onModifyCopyableRange(ranges) {
|
455
422
|
// Ranges shouldn't be modified when `copyPasteEnabled` option is set to `true` (by default).
|
456
|
-
if (_classPrivateFieldGet(
|
423
|
+
if (_classPrivateFieldGet(_settings, this).copyPasteEnabled) {
|
457
424
|
return ranges;
|
458
425
|
}
|
459
426
|
const newRanges = [];
|
@@ -487,8 +454,14 @@ function _onModifyCopyableRange2(ranges) {
|
|
487
454
|
});
|
488
455
|
return newRanges;
|
489
456
|
}
|
490
|
-
|
491
|
-
|
457
|
+
/**
|
458
|
+
* Adds the needed classes to the headers.
|
459
|
+
*
|
460
|
+
* @param {number} row Visual row index.
|
461
|
+
* @param {HTMLElement} TH Header's TH element.
|
462
|
+
*/
|
463
|
+
function _onAfterGetRowHeader(row, TH) {
|
464
|
+
if (!_classPrivateFieldGet(_settings, this).indicators || row < 0) {
|
492
465
|
return;
|
493
466
|
}
|
494
467
|
const classList = [];
|
@@ -500,13 +473,21 @@ function _onAfterGetRowHeader2(row, TH) {
|
|
500
473
|
}
|
501
474
|
addClass(TH, classList);
|
502
475
|
}
|
503
|
-
|
476
|
+
/**
|
477
|
+
* Add Show-hide rows to context menu.
|
478
|
+
*
|
479
|
+
* @param {object} options An array of objects containing information about the pre-defined Context Menu items.
|
480
|
+
*/
|
481
|
+
function _onAfterContextMenuDefaultOptions(options) {
|
504
482
|
options.items.push({
|
505
483
|
name: SEPARATOR
|
506
484
|
}, hideRowItem(this), showRowItem(this));
|
507
485
|
}
|
508
|
-
|
509
|
-
|
510
|
-
|
486
|
+
/**
|
487
|
+
* On map initialized hook callback.
|
488
|
+
*/
|
489
|
+
function _onMapInit() {
|
490
|
+
if (Array.isArray(_classPrivateFieldGet(_settings, this).rows)) {
|
491
|
+
this.hideRows(_classPrivateFieldGet(_settings, this).rows);
|
511
492
|
}
|
512
493
|
}
|
@@ -4,7 +4,7 @@ exports.__esModule = true;
|
|
4
4
|
exports.default = freezeColumnItem;
|
5
5
|
var C = _interopRequireWildcard(require("../../../i18n/constants"));
|
6
6
|
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); }
|
7
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u &&
|
7
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
8
8
|
/**
|
9
9
|
* @param {ManualColumnFreeze} manualColumnFreezePlugin The plugin instance.
|
10
10
|
* @returns {object}
|
@@ -4,7 +4,7 @@ exports.__esModule = true;
|
|
4
4
|
exports.default = unfreezeColumnItem;
|
5
5
|
var C = _interopRequireWildcard(require("../../../i18n/constants"));
|
6
6
|
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); }
|
7
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u &&
|
7
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
8
8
|
/**
|
9
9
|
* @param {ManualColumnFreeze} manualColumnFreezePlugin The plugin instance.
|
10
10
|
* @returns {object}
|
@@ -11,12 +11,9 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
11
11
|
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
12
12
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
13
13
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
14
|
-
function _classPrivateFieldGet(
|
15
|
-
function
|
16
|
-
function
|
17
|
-
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
18
|
-
function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
|
19
|
-
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
|
14
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
15
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
16
|
+
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
17
|
_pluginHooks.default.getSingleton().register('beforeColumnFreeze');
|
21
18
|
_pluginHooks.default.getSingleton().register('afterColumnFreeze');
|
22
19
|
_pluginHooks.default.getSingleton().register('beforeColumnUnfreeze');
|
@@ -41,36 +38,23 @@ const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 110;
|
|
41
38
|
* ```
|
42
39
|
*/
|
43
40
|
var _afterFirstUse = /*#__PURE__*/new WeakMap();
|
44
|
-
var
|
45
|
-
var _onBeforeColumnMove = /*#__PURE__*/new WeakSet();
|
41
|
+
var _ManualColumnFreeze_brand = /*#__PURE__*/new WeakSet();
|
46
42
|
class ManualColumnFreeze extends _base.BasePlugin {
|
47
43
|
constructor() {
|
48
44
|
super(...arguments);
|
49
|
-
/**
|
50
|
-
* Prevents moving the columns from/to fixed area.
|
51
|
-
*
|
52
|
-
* @private
|
53
|
-
* @param {Array} columns Array of visual column indexes to be moved.
|
54
|
-
* @param {number} finalIndex Visual column index, being a start index for the moved columns. Points to where the elements will be placed after the moving action.
|
55
|
-
* @returns {boolean|undefined}
|
56
|
-
*/
|
57
|
-
_classPrivateMethodInitSpec(this, _onBeforeColumnMove);
|
58
45
|
/**
|
59
46
|
* Adds the manualColumnFreeze context menu entries.
|
60
47
|
*
|
61
48
|
* @private
|
62
49
|
* @param {object} options Context menu options.
|
63
50
|
*/
|
64
|
-
_classPrivateMethodInitSpec(this,
|
51
|
+
_classPrivateMethodInitSpec(this, _ManualColumnFreeze_brand);
|
65
52
|
/**
|
66
53
|
* Determines when the moving operation is allowed.
|
67
54
|
*
|
68
55
|
* @type {boolean}
|
69
56
|
*/
|
70
|
-
_classPrivateFieldInitSpec(this, _afterFirstUse,
|
71
|
-
writable: true,
|
72
|
-
value: false
|
73
|
-
});
|
57
|
+
_classPrivateFieldInitSpec(this, _afterFirstUse, false);
|
74
58
|
}
|
75
59
|
static get PLUGIN_KEY() {
|
76
60
|
return PLUGIN_KEY;
|
@@ -95,8 +79,8 @@ class ManualColumnFreeze extends _base.BasePlugin {
|
|
95
79
|
if (this.enabled) {
|
96
80
|
return;
|
97
81
|
}
|
98
|
-
this.addHook('afterContextMenuDefaultOptions', options =>
|
99
|
-
this.addHook('beforeColumnMove', (columns, finalIndex) =>
|
82
|
+
this.addHook('afterContextMenuDefaultOptions', options => _assertClassBrand(_ManualColumnFreeze_brand, this, _addContextMenuEntry).call(this, options));
|
83
|
+
this.addHook('beforeColumnMove', (columns, finalIndex) => _assertClassBrand(_ManualColumnFreeze_brand, this, _onBeforeColumnMove).call(this, columns, finalIndex));
|
100
84
|
super.enablePlugin();
|
101
85
|
}
|
102
86
|
|
@@ -104,7 +88,7 @@ class ManualColumnFreeze extends _base.BasePlugin {
|
|
104
88
|
* Disables the plugin functionality for this Handsontable instance.
|
105
89
|
*/
|
106
90
|
disablePlugin() {
|
107
|
-
_classPrivateFieldSet(
|
91
|
+
_classPrivateFieldSet(_afterFirstUse, this, false);
|
108
92
|
super.disablePlugin();
|
109
93
|
}
|
110
94
|
|
@@ -132,8 +116,8 @@ class ManualColumnFreeze extends _base.BasePlugin {
|
|
132
116
|
const settings = this.hot.getSettings();
|
133
117
|
// columns are already fixed (frozen)
|
134
118
|
const freezePerformed = settings.fixedColumnsStart < this.hot.countCols() && column > settings.fixedColumnsStart - 1;
|
135
|
-
if (!_classPrivateFieldGet(
|
136
|
-
_classPrivateFieldSet(
|
119
|
+
if (!_classPrivateFieldGet(_afterFirstUse, this)) {
|
120
|
+
_classPrivateFieldSet(_afterFirstUse, this, true);
|
137
121
|
}
|
138
122
|
const beforeColumnFreezeHook = this.hot.runHooks('beforeColumnFreeze', column, freezePerformed);
|
139
123
|
if (beforeColumnFreezeHook === false) {
|
@@ -160,8 +144,8 @@ class ManualColumnFreeze extends _base.BasePlugin {
|
|
160
144
|
const settings = this.hot.getSettings();
|
161
145
|
// columns are not fixed (not frozen)
|
162
146
|
const unfreezePerformed = settings.fixedColumnsStart > 0 && column <= settings.fixedColumnsStart - 1;
|
163
|
-
if (!_classPrivateFieldGet(
|
164
|
-
_classPrivateFieldSet(
|
147
|
+
if (!_classPrivateFieldGet(_afterFirstUse, this)) {
|
148
|
+
_classPrivateFieldSet(_afterFirstUse, this, true);
|
165
149
|
}
|
166
150
|
const beforeColumnUnfreezeHook = this.hot.runHooks('beforeColumnUnfreeze', column, unfreezePerformed);
|
167
151
|
if (beforeColumnUnfreezeHook === false) {
|
@@ -179,13 +163,21 @@ class ManualColumnFreeze extends _base.BasePlugin {
|
|
179
163
|
}
|
180
164
|
}
|
181
165
|
exports.ManualColumnFreeze = ManualColumnFreeze;
|
182
|
-
function
|
166
|
+
function _addContextMenuEntry(options) {
|
183
167
|
options.items.push({
|
184
168
|
name: '---------'
|
185
169
|
}, (0, _freezeColumn.default)(this), (0, _unfreezeColumn.default)(this));
|
186
170
|
}
|
187
|
-
|
188
|
-
|
171
|
+
/**
|
172
|
+
* Prevents moving the columns from/to fixed area.
|
173
|
+
*
|
174
|
+
* @private
|
175
|
+
* @param {Array} columns Array of visual column indexes to be moved.
|
176
|
+
* @param {number} finalIndex Visual column index, being a start index for the moved columns. Points to where the elements will be placed after the moving action.
|
177
|
+
* @returns {boolean|undefined}
|
178
|
+
*/
|
179
|
+
function _onBeforeColumnMove(columns, finalIndex) {
|
180
|
+
if (_classPrivateFieldGet(_afterFirstUse, this)) {
|
189
181
|
const freezeLine = this.hot.getSettings().fixedColumnsStart;
|
190
182
|
|
191
183
|
// Moving any column before the "freeze line" isn't possible.
|
@@ -1,14 +1,11 @@
|
|
1
|
-
import "core-js/modules/es.array.push.js";
|
2
1
|
import "core-js/modules/es.error.cause.js";
|
2
|
+
import "core-js/modules/es.array.push.js";
|
3
3
|
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
4
4
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
5
5
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
6
|
-
function _classPrivateFieldGet(
|
7
|
-
function
|
8
|
-
function
|
9
|
-
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
10
|
-
function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
|
11
|
-
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
|
6
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
7
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
8
|
+
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
12
9
|
import { BasePlugin } from "../base/index.mjs";
|
13
10
|
import Hooks from "../../pluginHooks.mjs";
|
14
11
|
import freezeColumnItem from "./contextMenuItem/freezeColumn.mjs";
|
@@ -37,36 +34,23 @@ export const PLUGIN_PRIORITY = 110;
|
|
37
34
|
* ```
|
38
35
|
*/
|
39
36
|
var _afterFirstUse = /*#__PURE__*/new WeakMap();
|
40
|
-
var
|
41
|
-
var _onBeforeColumnMove = /*#__PURE__*/new WeakSet();
|
37
|
+
var _ManualColumnFreeze_brand = /*#__PURE__*/new WeakSet();
|
42
38
|
export class ManualColumnFreeze extends BasePlugin {
|
43
39
|
constructor() {
|
44
40
|
super(...arguments);
|
45
|
-
/**
|
46
|
-
* Prevents moving the columns from/to fixed area.
|
47
|
-
*
|
48
|
-
* @private
|
49
|
-
* @param {Array} columns Array of visual column indexes to be moved.
|
50
|
-
* @param {number} finalIndex Visual column index, being a start index for the moved columns. Points to where the elements will be placed after the moving action.
|
51
|
-
* @returns {boolean|undefined}
|
52
|
-
*/
|
53
|
-
_classPrivateMethodInitSpec(this, _onBeforeColumnMove);
|
54
41
|
/**
|
55
42
|
* Adds the manualColumnFreeze context menu entries.
|
56
43
|
*
|
57
44
|
* @private
|
58
45
|
* @param {object} options Context menu options.
|
59
46
|
*/
|
60
|
-
_classPrivateMethodInitSpec(this,
|
47
|
+
_classPrivateMethodInitSpec(this, _ManualColumnFreeze_brand);
|
61
48
|
/**
|
62
49
|
* Determines when the moving operation is allowed.
|
63
50
|
*
|
64
51
|
* @type {boolean}
|
65
52
|
*/
|
66
|
-
_classPrivateFieldInitSpec(this, _afterFirstUse,
|
67
|
-
writable: true,
|
68
|
-
value: false
|
69
|
-
});
|
53
|
+
_classPrivateFieldInitSpec(this, _afterFirstUse, false);
|
70
54
|
}
|
71
55
|
static get PLUGIN_KEY() {
|
72
56
|
return PLUGIN_KEY;
|
@@ -91,8 +75,8 @@ export class ManualColumnFreeze extends BasePlugin {
|
|
91
75
|
if (this.enabled) {
|
92
76
|
return;
|
93
77
|
}
|
94
|
-
this.addHook('afterContextMenuDefaultOptions', options =>
|
95
|
-
this.addHook('beforeColumnMove', (columns, finalIndex) =>
|
78
|
+
this.addHook('afterContextMenuDefaultOptions', options => _assertClassBrand(_ManualColumnFreeze_brand, this, _addContextMenuEntry).call(this, options));
|
79
|
+
this.addHook('beforeColumnMove', (columns, finalIndex) => _assertClassBrand(_ManualColumnFreeze_brand, this, _onBeforeColumnMove).call(this, columns, finalIndex));
|
96
80
|
super.enablePlugin();
|
97
81
|
}
|
98
82
|
|
@@ -100,7 +84,7 @@ export class ManualColumnFreeze extends BasePlugin {
|
|
100
84
|
* Disables the plugin functionality for this Handsontable instance.
|
101
85
|
*/
|
102
86
|
disablePlugin() {
|
103
|
-
_classPrivateFieldSet(
|
87
|
+
_classPrivateFieldSet(_afterFirstUse, this, false);
|
104
88
|
super.disablePlugin();
|
105
89
|
}
|
106
90
|
|
@@ -128,8 +112,8 @@ export class ManualColumnFreeze extends BasePlugin {
|
|
128
112
|
const settings = this.hot.getSettings();
|
129
113
|
// columns are already fixed (frozen)
|
130
114
|
const freezePerformed = settings.fixedColumnsStart < this.hot.countCols() && column > settings.fixedColumnsStart - 1;
|
131
|
-
if (!_classPrivateFieldGet(
|
132
|
-
_classPrivateFieldSet(
|
115
|
+
if (!_classPrivateFieldGet(_afterFirstUse, this)) {
|
116
|
+
_classPrivateFieldSet(_afterFirstUse, this, true);
|
133
117
|
}
|
134
118
|
const beforeColumnFreezeHook = this.hot.runHooks('beforeColumnFreeze', column, freezePerformed);
|
135
119
|
if (beforeColumnFreezeHook === false) {
|
@@ -156,8 +140,8 @@ export class ManualColumnFreeze extends BasePlugin {
|
|
156
140
|
const settings = this.hot.getSettings();
|
157
141
|
// columns are not fixed (not frozen)
|
158
142
|
const unfreezePerformed = settings.fixedColumnsStart > 0 && column <= settings.fixedColumnsStart - 1;
|
159
|
-
if (!_classPrivateFieldGet(
|
160
|
-
_classPrivateFieldSet(
|
143
|
+
if (!_classPrivateFieldGet(_afterFirstUse, this)) {
|
144
|
+
_classPrivateFieldSet(_afterFirstUse, this, true);
|
161
145
|
}
|
162
146
|
const beforeColumnUnfreezeHook = this.hot.runHooks('beforeColumnUnfreeze', column, unfreezePerformed);
|
163
147
|
if (beforeColumnUnfreezeHook === false) {
|
@@ -174,13 +158,21 @@ export class ManualColumnFreeze extends BasePlugin {
|
|
174
158
|
this.hot.runHooks('afterColumnUnfreeze', column, unfreezePerformed);
|
175
159
|
}
|
176
160
|
}
|
177
|
-
function
|
161
|
+
function _addContextMenuEntry(options) {
|
178
162
|
options.items.push({
|
179
163
|
name: '---------'
|
180
164
|
}, freezeColumnItem(this), unfreezeColumnItem(this));
|
181
165
|
}
|
182
|
-
|
183
|
-
|
166
|
+
/**
|
167
|
+
* Prevents moving the columns from/to fixed area.
|
168
|
+
*
|
169
|
+
* @private
|
170
|
+
* @param {Array} columns Array of visual column indexes to be moved.
|
171
|
+
* @param {number} finalIndex Visual column index, being a start index for the moved columns. Points to where the elements will be placed after the moving action.
|
172
|
+
* @returns {boolean|undefined}
|
173
|
+
*/
|
174
|
+
function _onBeforeColumnMove(columns, finalIndex) {
|
175
|
+
if (_classPrivateFieldGet(_afterFirstUse, this)) {
|
184
176
|
const freezeLine = this.hot.getSettings().fixedColumnsStart;
|
185
177
|
|
186
178
|
// Moving any column before the "freeze line" isn't possible.
|