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
@@ -11,20 +11,18 @@ var _contextMenu = _interopRequireDefault(require("./ui/contextMenu"));
|
|
11
11
|
var _console = require("../../helpers/console");
|
12
12
|
var _data = require("../../helpers/data");
|
13
13
|
var _translations = require("../../translations");
|
14
|
+
var _shortcutContexts = require("../../shortcutContexts");
|
14
15
|
var _rowMoveController = _interopRequireDefault(require("./utils/rowMoveController"));
|
15
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
16
17
|
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
17
18
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
18
19
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
19
20
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
20
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
21
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
21
22
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
22
|
-
function _classPrivateFieldGet(
|
23
|
-
function
|
24
|
-
function
|
25
|
-
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
26
|
-
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; } }
|
27
|
-
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
|
23
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
24
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
25
|
+
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"); }
|
28
26
|
const PLUGIN_KEY = exports.PLUGIN_KEY = 'nestedRows';
|
29
27
|
const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 300;
|
30
28
|
const SHORTCUTS_GROUP = PLUGIN_KEY;
|
@@ -44,140 +42,25 @@ const WRONG_DATA_TYPE_ERROR = 'The Nested Rows plugin requires an Array of Objec
|
|
44
42
|
*/
|
45
43
|
var _skipRender = /*#__PURE__*/new WeakMap();
|
46
44
|
var _skipCoreAPIModifiers = /*#__PURE__*/new WeakMap();
|
47
|
-
var
|
48
|
-
var _onBeforeOnCellMouseDown = /*#__PURE__*/new WeakSet();
|
49
|
-
var _onFilterData = /*#__PURE__*/new WeakSet();
|
50
|
-
var _onAfterContextMenuDefaultOptions = /*#__PURE__*/new WeakSet();
|
51
|
-
var _onAfterGetRowHeader = /*#__PURE__*/new WeakSet();
|
52
|
-
var _onModifyRowHeaderWidth = /*#__PURE__*/new WeakSet();
|
53
|
-
var _onAfterRemoveRow = /*#__PURE__*/new WeakSet();
|
54
|
-
var _onBeforeRemoveRow = /*#__PURE__*/new WeakSet();
|
55
|
-
var _onBeforeAddChild = /*#__PURE__*/new WeakSet();
|
56
|
-
var _onAfterAddChild = /*#__PURE__*/new WeakSet();
|
57
|
-
var _onBeforeDetachChild = /*#__PURE__*/new WeakSet();
|
58
|
-
var _onAfterDetachChild = /*#__PURE__*/new WeakSet();
|
59
|
-
var _onAfterCreateRow = /*#__PURE__*/new WeakSet();
|
60
|
-
var _onAfterInit = /*#__PURE__*/new WeakSet();
|
61
|
-
var _onBeforeViewRender = /*#__PURE__*/new WeakSet();
|
62
|
-
var _onBeforeLoadData = /*#__PURE__*/new WeakSet();
|
45
|
+
var _NestedRows_brand = /*#__PURE__*/new WeakSet();
|
63
46
|
class NestedRows extends _base.BasePlugin {
|
64
47
|
constructor() {
|
65
48
|
super(...arguments);
|
66
|
-
/**
|
67
|
-
* `beforeLoadData` hook callback.
|
68
|
-
*
|
69
|
-
* @param {Array} data The source data.
|
70
|
-
*/
|
71
|
-
_classPrivateMethodInitSpec(this, _onBeforeLoadData);
|
72
|
-
/**
|
73
|
-
* `beforeViewRender` hook callback.
|
74
|
-
*
|
75
|
-
* @param {boolean} force Indicates if the render call was triggered by a change of settings or data.
|
76
|
-
* @param {object} skipRender An object, holder for skipRender functionality.
|
77
|
-
*/
|
78
|
-
_classPrivateMethodInitSpec(this, _onBeforeViewRender);
|
79
|
-
/**
|
80
|
-
* `afterInit` hook callback.
|
81
|
-
*/
|
82
|
-
_classPrivateMethodInitSpec(this, _onAfterInit);
|
83
|
-
/**
|
84
|
-
* `afterCreateRow` hook callback.
|
85
|
-
*/
|
86
|
-
_classPrivateMethodInitSpec(this, _onAfterCreateRow);
|
87
|
-
/**
|
88
|
-
* `afterDetachChild` hook callback.
|
89
|
-
*
|
90
|
-
* @param {object} parent Parent element.
|
91
|
-
* @param {object} element New child element.
|
92
|
-
* @param {number} finalElementRowIndex The final row index of the detached element.
|
93
|
-
*/
|
94
|
-
_classPrivateMethodInitSpec(this, _onAfterDetachChild);
|
95
|
-
/**
|
96
|
-
* `beforeDetachChild` hook callback.
|
97
|
-
*/
|
98
|
-
_classPrivateMethodInitSpec(this, _onBeforeDetachChild);
|
99
|
-
/**
|
100
|
-
* `afterAddChild` hook callback.
|
101
|
-
*
|
102
|
-
* @param {object} parent Parent element.
|
103
|
-
* @param {object} element New child element.
|
104
|
-
*/
|
105
|
-
_classPrivateMethodInitSpec(this, _onAfterAddChild);
|
106
|
-
/**
|
107
|
-
* `beforeAddChild` hook callback.
|
108
|
-
*/
|
109
|
-
_classPrivateMethodInitSpec(this, _onBeforeAddChild);
|
110
|
-
/**
|
111
|
-
* Callback for the `beforeRemoveRow` change list of removed physical indexes by reference. Removing parent node
|
112
|
-
* has effect in removing children nodes.
|
113
|
-
*
|
114
|
-
* @param {number} index Visual index of starter row.
|
115
|
-
* @param {number} amount Amount of rows to be removed.
|
116
|
-
* @param {Array} physicalRows List of physical indexes.
|
117
|
-
*/
|
118
|
-
_classPrivateMethodInitSpec(this, _onBeforeRemoveRow);
|
119
|
-
/**
|
120
|
-
* `onAfterRemoveRow` hook callback.
|
121
|
-
*
|
122
|
-
* @param {number} index Removed row.
|
123
|
-
* @param {number} amount Amount of removed rows.
|
124
|
-
* @param {Array} logicRows An array of the removed physical rows.
|
125
|
-
* @param {string} source Source of action.
|
126
|
-
*/
|
127
|
-
_classPrivateMethodInitSpec(this, _onAfterRemoveRow);
|
128
|
-
/**
|
129
|
-
* `modifyRowHeaderWidth` hook callback.
|
130
|
-
*
|
131
|
-
* @param {number} rowHeaderWidth The initial row header width(s).
|
132
|
-
* @returns {number}
|
133
|
-
*/
|
134
|
-
_classPrivateMethodInitSpec(this, _onModifyRowHeaderWidth);
|
135
|
-
/**
|
136
|
-
* `afterGetRowHeader` hook callback.
|
137
|
-
*
|
138
|
-
* @param {number} row Row index.
|
139
|
-
* @param {HTMLElement} TH Row header element.
|
140
|
-
*/
|
141
|
-
_classPrivateMethodInitSpec(this, _onAfterGetRowHeader);
|
142
|
-
/**
|
143
|
-
* `afterContextMenuDefaultOptions` hook callback.
|
144
|
-
*
|
145
|
-
* @param {object} defaultOptions The default context menu items order.
|
146
|
-
* @returns {boolean}
|
147
|
-
*/
|
148
|
-
_classPrivateMethodInitSpec(this, _onAfterContextMenuDefaultOptions);
|
149
|
-
/**
|
150
|
-
* Provide custom source data filtering. It's handled by core method and replaces the native filtering.
|
151
|
-
*
|
152
|
-
* @param {number} index The index where the data filtering starts.
|
153
|
-
* @param {number} amount An amount of rows which filtering applies to.
|
154
|
-
* @param {number} physicalRows Physical row indexes.
|
155
|
-
* @returns {Array}
|
156
|
-
*/
|
157
|
-
_classPrivateMethodInitSpec(this, _onFilterData);
|
158
|
-
/**
|
159
|
-
* `beforeOnCellMousedown` hook callback.
|
160
|
-
*
|
161
|
-
* @param {MouseEvent} event Mousedown event.
|
162
|
-
* @param {object} coords Cell coords.
|
163
|
-
* @param {HTMLElement} TD Clicked cell.
|
164
|
-
*/
|
165
|
-
_classPrivateMethodInitSpec(this, _onBeforeOnCellMouseDown);
|
166
49
|
/**
|
167
50
|
* `beforeRowMove` hook callback.
|
168
51
|
*
|
169
52
|
* @param {Array} rows Array of visual row indexes to be moved.
|
170
53
|
* @param {number} finalIndex Visual row index, being a start index for the moved rows. Points to where the elements
|
171
54
|
* will be placed after the moving action. To check the visualization of the final index, please take a look at
|
172
|
-
* [documentation](@/guides/rows/row-summary.md).
|
55
|
+
* [documentation](@/guides/rows/row-summary/row-summary.md).
|
173
56
|
* @param {undefined|number} dropIndex Visual row index, being a drop index for the moved rows. Points to where we
|
174
57
|
* are going to drop the moved elements. To check visualization of drop index please take a look at
|
175
|
-
* [documentation](@/guides/rows/row-summary.md).
|
58
|
+
* [documentation](@/guides/rows/row-summary/row-summary.md).
|
176
59
|
* @param {boolean} movePossible Indicates if it's possible to move rows to the desired position.
|
177
60
|
* @fires Hooks#afterRowMove
|
178
61
|
* @returns {boolean}
|
179
62
|
*/
|
180
|
-
_classPrivateMethodInitSpec(this,
|
63
|
+
_classPrivateMethodInitSpec(this, _NestedRows_brand);
|
181
64
|
/**
|
182
65
|
* Reference to the DataManager instance.
|
183
66
|
*
|
@@ -204,19 +87,13 @@ class NestedRows extends _base.BasePlugin {
|
|
204
87
|
*
|
205
88
|
* @type {boolean}
|
206
89
|
*/
|
207
|
-
_classPrivateFieldInitSpec(this, _skipRender,
|
208
|
-
writable: true,
|
209
|
-
value: false
|
210
|
-
});
|
90
|
+
_classPrivateFieldInitSpec(this, _skipRender, false);
|
211
91
|
/**
|
212
92
|
* Allows skipping the internal Core methods call if set as `true`.
|
213
93
|
*
|
214
94
|
* @type {boolean}
|
215
95
|
*/
|
216
|
-
_classPrivateFieldInitSpec(this, _skipCoreAPIModifiers,
|
217
|
-
writable: true,
|
218
|
-
value: false
|
219
|
-
});
|
96
|
+
_classPrivateFieldInitSpec(this, _skipCoreAPIModifiers, false);
|
220
97
|
}
|
221
98
|
static get PLUGIN_KEY() {
|
222
99
|
return PLUGIN_KEY;
|
@@ -252,13 +129,13 @@ class NestedRows extends _base.BasePlugin {
|
|
252
129
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
253
130
|
args[_key] = arguments[_key];
|
254
131
|
}
|
255
|
-
return
|
132
|
+
return _assertClassBrand(_NestedRows_brand, _this, _onAfterInit).call(_this, ...args);
|
256
133
|
});
|
257
134
|
this.addHook('beforeViewRender', function () {
|
258
135
|
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
259
136
|
args[_key2] = arguments[_key2];
|
260
137
|
}
|
261
|
-
return
|
138
|
+
return _assertClassBrand(_NestedRows_brand, _this, _onBeforeViewRender).call(_this, ...args);
|
262
139
|
});
|
263
140
|
this.addHook('modifyRowData', function () {
|
264
141
|
return _this.onModifyRowData(...arguments);
|
@@ -273,82 +150,82 @@ class NestedRows extends _base.BasePlugin {
|
|
273
150
|
for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
274
151
|
args[_key3] = arguments[_key3];
|
275
152
|
}
|
276
|
-
return
|
153
|
+
return _assertClassBrand(_NestedRows_brand, _this, _onFilterData).call(_this, ...args);
|
277
154
|
});
|
278
155
|
this.addHook('afterContextMenuDefaultOptions', function () {
|
279
156
|
for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
|
280
157
|
args[_key4] = arguments[_key4];
|
281
158
|
}
|
282
|
-
return
|
159
|
+
return _assertClassBrand(_NestedRows_brand, _this, _onAfterContextMenuDefaultOptions).call(_this, ...args);
|
283
160
|
});
|
284
161
|
this.addHook('afterGetRowHeader', function () {
|
285
162
|
for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
|
286
163
|
args[_key5] = arguments[_key5];
|
287
164
|
}
|
288
|
-
return
|
165
|
+
return _assertClassBrand(_NestedRows_brand, _this, _onAfterGetRowHeader).call(_this, ...args);
|
289
166
|
});
|
290
167
|
this.addHook('beforeOnCellMouseDown', function () {
|
291
168
|
for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {
|
292
169
|
args[_key6] = arguments[_key6];
|
293
170
|
}
|
294
|
-
return
|
171
|
+
return _assertClassBrand(_NestedRows_brand, _this, _onBeforeOnCellMouseDown).call(_this, ...args);
|
295
172
|
});
|
296
173
|
this.addHook('beforeRemoveRow', function () {
|
297
174
|
for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {
|
298
175
|
args[_key7] = arguments[_key7];
|
299
176
|
}
|
300
|
-
return
|
177
|
+
return _assertClassBrand(_NestedRows_brand, _this, _onBeforeRemoveRow).call(_this, ...args);
|
301
178
|
});
|
302
179
|
this.addHook('afterRemoveRow', function () {
|
303
180
|
for (var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {
|
304
181
|
args[_key8] = arguments[_key8];
|
305
182
|
}
|
306
|
-
return
|
183
|
+
return _assertClassBrand(_NestedRows_brand, _this, _onAfterRemoveRow).call(_this, ...args);
|
307
184
|
});
|
308
185
|
this.addHook('beforeAddChild', function () {
|
309
186
|
for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {
|
310
187
|
args[_key9] = arguments[_key9];
|
311
188
|
}
|
312
|
-
return
|
189
|
+
return _assertClassBrand(_NestedRows_brand, _this, _onBeforeAddChild).call(_this, ...args);
|
313
190
|
});
|
314
191
|
this.addHook('afterAddChild', function () {
|
315
192
|
for (var _len10 = arguments.length, args = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {
|
316
193
|
args[_key10] = arguments[_key10];
|
317
194
|
}
|
318
|
-
return
|
195
|
+
return _assertClassBrand(_NestedRows_brand, _this, _onAfterAddChild).call(_this, ...args);
|
319
196
|
});
|
320
197
|
this.addHook('beforeDetachChild', function () {
|
321
198
|
for (var _len11 = arguments.length, args = new Array(_len11), _key11 = 0; _key11 < _len11; _key11++) {
|
322
199
|
args[_key11] = arguments[_key11];
|
323
200
|
}
|
324
|
-
return
|
201
|
+
return _assertClassBrand(_NestedRows_brand, _this, _onBeforeDetachChild).call(_this, ...args);
|
325
202
|
});
|
326
203
|
this.addHook('afterDetachChild', function () {
|
327
204
|
for (var _len12 = arguments.length, args = new Array(_len12), _key12 = 0; _key12 < _len12; _key12++) {
|
328
205
|
args[_key12] = arguments[_key12];
|
329
206
|
}
|
330
|
-
return
|
207
|
+
return _assertClassBrand(_NestedRows_brand, _this, _onAfterDetachChild).call(_this, ...args);
|
331
208
|
});
|
332
209
|
this.addHook('modifyRowHeaderWidth', function () {
|
333
210
|
for (var _len13 = arguments.length, args = new Array(_len13), _key13 = 0; _key13 < _len13; _key13++) {
|
334
211
|
args[_key13] = arguments[_key13];
|
335
212
|
}
|
336
|
-
return
|
213
|
+
return _assertClassBrand(_NestedRows_brand, _this, _onModifyRowHeaderWidth).call(_this, ...args);
|
337
214
|
});
|
338
215
|
this.addHook('afterCreateRow', function () {
|
339
216
|
for (var _len14 = arguments.length, args = new Array(_len14), _key14 = 0; _key14 < _len14; _key14++) {
|
340
217
|
args[_key14] = arguments[_key14];
|
341
218
|
}
|
342
|
-
return
|
219
|
+
return _assertClassBrand(_NestedRows_brand, _this, _onAfterCreateRow).call(_this, ...args);
|
343
220
|
});
|
344
221
|
this.addHook('beforeRowMove', function () {
|
345
222
|
for (var _len15 = arguments.length, args = new Array(_len15), _key15 = 0; _key15 < _len15; _key15++) {
|
346
223
|
args[_key15] = arguments[_key15];
|
347
224
|
}
|
348
|
-
return
|
225
|
+
return _assertClassBrand(_NestedRows_brand, _this, _onBeforeRowMove).call(_this, ...args);
|
349
226
|
});
|
350
|
-
this.addHook('beforeLoadData', data =>
|
351
|
-
this.addHook('beforeUpdateData', data =>
|
227
|
+
this.addHook('beforeLoadData', data => _assertClassBrand(_NestedRows_brand, this, _onBeforeLoadData).call(this, data));
|
228
|
+
this.addHook('beforeUpdateData', data => _assertClassBrand(_NestedRows_brand, this, _onBeforeLoadData).call(this, data));
|
352
229
|
this.registerShortcuts();
|
353
230
|
super.enablePlugin();
|
354
231
|
}
|
@@ -392,21 +269,24 @@ class NestedRows extends _base.BasePlugin {
|
|
392
269
|
const {
|
393
270
|
highlight
|
394
271
|
} = this.hot.getSelectedRangeLast();
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
this.collapsingUI.collapseChildren(row);
|
401
|
-
}
|
272
|
+
const row = this.collapsingUI.translateTrimmedRow(highlight.row);
|
273
|
+
if (this.collapsingUI.areChildrenCollapsed(row)) {
|
274
|
+
this.collapsingUI.expandChildren(row);
|
275
|
+
} else {
|
276
|
+
this.collapsingUI.collapseChildren(row);
|
402
277
|
}
|
278
|
+
|
279
|
+
// prevent default Enter behavior (move to the next row within a selection range)
|
280
|
+
return false;
|
403
281
|
},
|
404
282
|
runOnlyIf: () => {
|
405
|
-
var _this$hot$getSelected;
|
283
|
+
var _this$hot$getSelected, _this$hot$getSelected2;
|
406
284
|
const highlight = (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight;
|
407
|
-
return highlight && this.hot.selection.isCellVisible(highlight) && highlight.
|
285
|
+
return highlight && ((_this$hot$getSelected2 = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected2 === void 0 ? void 0 : _this$hot$getSelected2.isSingle()) && this.hot.selection.isCellVisible(highlight) && highlight.col === -1 && highlight.row >= 0;
|
408
286
|
},
|
409
|
-
group: SHORTCUTS_GROUP
|
287
|
+
group: SHORTCUTS_GROUP,
|
288
|
+
relativeToGroup: _shortcutContexts.EDITOR_EDIT_GROUP,
|
289
|
+
position: 'before'
|
410
290
|
});
|
411
291
|
}
|
412
292
|
|
@@ -425,7 +305,7 @@ class NestedRows extends _base.BasePlugin {
|
|
425
305
|
* @private
|
426
306
|
*/
|
427
307
|
disableCoreAPIModifiers() {
|
428
|
-
_classPrivateFieldSet(
|
308
|
+
_classPrivateFieldSet(_skipCoreAPIModifiers, this, true);
|
429
309
|
}
|
430
310
|
|
431
311
|
/**
|
@@ -434,8 +314,17 @@ class NestedRows extends _base.BasePlugin {
|
|
434
314
|
* @private
|
435
315
|
*/
|
436
316
|
enableCoreAPIModifiers() {
|
437
|
-
_classPrivateFieldSet(
|
317
|
+
_classPrivateFieldSet(_skipCoreAPIModifiers, this, false);
|
438
318
|
}
|
319
|
+
|
320
|
+
/**
|
321
|
+
* `beforeOnCellMousedown` hook callback.
|
322
|
+
*
|
323
|
+
* @param {MouseEvent} event Mousedown event.
|
324
|
+
* @param {object} coords Cell coords.
|
325
|
+
* @param {HTMLElement} TD Clicked cell.
|
326
|
+
*/
|
327
|
+
|
439
328
|
/**
|
440
329
|
* The modifyRowData hook callback.
|
441
330
|
*
|
@@ -444,7 +333,7 @@ class NestedRows extends _base.BasePlugin {
|
|
444
333
|
* @returns {boolean}
|
445
334
|
*/
|
446
335
|
onModifyRowData(row) {
|
447
|
-
if (_classPrivateFieldGet(
|
336
|
+
if (_classPrivateFieldGet(_skipCoreAPIModifiers, this)) {
|
448
337
|
return;
|
449
338
|
}
|
450
339
|
return this.dataManager.getDataObject(row);
|
@@ -457,7 +346,7 @@ class NestedRows extends _base.BasePlugin {
|
|
457
346
|
* @returns {number}
|
458
347
|
*/
|
459
348
|
onModifySourceLength() {
|
460
|
-
if (_classPrivateFieldGet(
|
349
|
+
if (_classPrivateFieldGet(_skipCoreAPIModifiers, this)) {
|
461
350
|
return;
|
462
351
|
}
|
463
352
|
return this.dataManager.countAllRows();
|
@@ -471,12 +360,22 @@ class NestedRows extends _base.BasePlugin {
|
|
471
360
|
* @returns {boolean}
|
472
361
|
*/
|
473
362
|
onBeforeDataSplice(index, amount, element) {
|
474
|
-
if (_classPrivateFieldGet(
|
363
|
+
if (_classPrivateFieldGet(_skipCoreAPIModifiers, this) || this.dataManager.isRowHighestLevel(index)) {
|
475
364
|
return true;
|
476
365
|
}
|
477
366
|
this.dataManager.spliceData(index, amount, element);
|
478
367
|
return false;
|
479
368
|
}
|
369
|
+
|
370
|
+
/**
|
371
|
+
* Provide custom source data filtering. It's handled by core method and replaces the native filtering.
|
372
|
+
*
|
373
|
+
* @param {number} index The index where the data filtering starts.
|
374
|
+
* @param {number} amount An amount of rows which filtering applies to.
|
375
|
+
* @param {number} physicalRows Physical row indexes.
|
376
|
+
* @returns {Array}
|
377
|
+
*/
|
378
|
+
|
480
379
|
/**
|
481
380
|
* Destroys the plugin instance.
|
482
381
|
*/
|
@@ -485,40 +384,74 @@ class NestedRows extends _base.BasePlugin {
|
|
485
384
|
}
|
486
385
|
}
|
487
386
|
exports.NestedRows = NestedRows;
|
488
|
-
function
|
387
|
+
function _onBeforeRowMove(rows, finalIndex, dropIndex, movePossible) {
|
489
388
|
return this.rowMoveController.onBeforeRowMove(rows, finalIndex, dropIndex, movePossible);
|
490
389
|
}
|
491
|
-
function
|
390
|
+
function _onBeforeOnCellMouseDown(event, coords, TD) {
|
492
391
|
this.collapsingUI.toggleState(event, coords, TD);
|
493
392
|
}
|
494
|
-
function
|
393
|
+
function _onFilterData(index, amount, physicalRows) {
|
495
394
|
this.collapsingUI.collapsedRowsStash.stash();
|
496
395
|
this.collapsingUI.collapsedRowsStash.trimStash(physicalRows[0], amount);
|
497
396
|
this.collapsingUI.collapsedRowsStash.shiftStash(physicalRows[0], null, -1 * amount);
|
498
397
|
this.dataManager.filterData(index, amount, physicalRows);
|
499
|
-
_classPrivateFieldSet(
|
398
|
+
_classPrivateFieldSet(_skipRender, this, true);
|
500
399
|
return this.dataManager.getData().slice(); // Data contains reference sometimes.
|
501
400
|
}
|
502
|
-
|
401
|
+
/**
|
402
|
+
* `afterContextMenuDefaultOptions` hook callback.
|
403
|
+
*
|
404
|
+
* @param {object} defaultOptions The default context menu items order.
|
405
|
+
* @returns {boolean}
|
406
|
+
*/
|
407
|
+
function _onAfterContextMenuDefaultOptions(defaultOptions) {
|
503
408
|
return this.contextMenuUI.appendOptions(defaultOptions);
|
504
409
|
}
|
505
|
-
|
410
|
+
/**
|
411
|
+
* `afterGetRowHeader` hook callback.
|
412
|
+
*
|
413
|
+
* @param {number} row Row index.
|
414
|
+
* @param {HTMLElement} TH Row header element.
|
415
|
+
*/
|
416
|
+
function _onAfterGetRowHeader(row, TH) {
|
506
417
|
this.headersUI.appendLevelIndicators(row, TH);
|
507
418
|
}
|
508
|
-
|
419
|
+
/**
|
420
|
+
* `modifyRowHeaderWidth` hook callback.
|
421
|
+
*
|
422
|
+
* @param {number} rowHeaderWidth The initial row header width(s).
|
423
|
+
* @returns {number}
|
424
|
+
*/
|
425
|
+
function _onModifyRowHeaderWidth(rowHeaderWidth) {
|
509
426
|
return Math.max(this.headersUI.rowHeaderWidthCache, rowHeaderWidth);
|
510
427
|
}
|
511
|
-
|
428
|
+
/**
|
429
|
+
* `onAfterRemoveRow` hook callback.
|
430
|
+
*
|
431
|
+
* @param {number} index Removed row.
|
432
|
+
* @param {number} amount Amount of removed rows.
|
433
|
+
* @param {Array} logicRows An array of the removed physical rows.
|
434
|
+
* @param {string} source Source of action.
|
435
|
+
*/
|
436
|
+
function _onAfterRemoveRow(index, amount, logicRows, source) {
|
512
437
|
if (source === this.pluginName) {
|
513
438
|
return;
|
514
439
|
}
|
515
440
|
this.hot._registerTimeout(() => {
|
516
|
-
_classPrivateFieldSet(
|
441
|
+
_classPrivateFieldSet(_skipRender, this, false);
|
517
442
|
this.headersUI.updateRowHeaderWidth();
|
518
443
|
this.collapsingUI.collapsedRowsStash.applyStash();
|
519
444
|
});
|
520
445
|
}
|
521
|
-
|
446
|
+
/**
|
447
|
+
* Callback for the `beforeRemoveRow` change list of removed physical indexes by reference. Removing parent node
|
448
|
+
* has effect in removing children nodes.
|
449
|
+
*
|
450
|
+
* @param {number} index Visual index of starter row.
|
451
|
+
* @param {number} amount Amount of rows to be removed.
|
452
|
+
* @param {Array} physicalRows List of physical indexes.
|
453
|
+
*/
|
454
|
+
function _onBeforeRemoveRow(index, amount, physicalRows) {
|
522
455
|
const modifiedPhysicalRows = Array.from(physicalRows.reduce((removedRows, physicalIndex) => {
|
523
456
|
if (this.dataManager.isParent(physicalIndex)) {
|
524
457
|
const children = this.dataManager.getDataObject(physicalIndex).__children;
|
@@ -540,34 +473,70 @@ function _onBeforeRemoveRow2(index, amount, physicalRows) {
|
|
540
473
|
physicalRows.length = 0;
|
541
474
|
physicalRows.push(...modifiedPhysicalRows);
|
542
475
|
}
|
543
|
-
|
476
|
+
/**
|
477
|
+
* `beforeAddChild` hook callback.
|
478
|
+
*/
|
479
|
+
function _onBeforeAddChild() {
|
544
480
|
this.collapsingUI.collapsedRowsStash.stash();
|
545
481
|
}
|
546
|
-
|
482
|
+
/**
|
483
|
+
* `afterAddChild` hook callback.
|
484
|
+
*
|
485
|
+
* @param {object} parent Parent element.
|
486
|
+
* @param {object} element New child element.
|
487
|
+
*/
|
488
|
+
function _onAfterAddChild(parent, element) {
|
547
489
|
this.collapsingUI.collapsedRowsStash.shiftStash(this.dataManager.getRowIndex(element));
|
548
490
|
this.collapsingUI.collapsedRowsStash.applyStash();
|
549
491
|
this.headersUI.updateRowHeaderWidth();
|
550
492
|
}
|
551
|
-
|
493
|
+
/**
|
494
|
+
* `beforeDetachChild` hook callback.
|
495
|
+
*/
|
496
|
+
function _onBeforeDetachChild() {
|
552
497
|
this.collapsingUI.collapsedRowsStash.stash();
|
553
498
|
}
|
554
|
-
|
499
|
+
/**
|
500
|
+
* `afterDetachChild` hook callback.
|
501
|
+
*
|
502
|
+
* @param {object} parent Parent element.
|
503
|
+
* @param {object} element New child element.
|
504
|
+
* @param {number} finalElementRowIndex The final row index of the detached element.
|
505
|
+
*/
|
506
|
+
function _onAfterDetachChild(parent, element, finalElementRowIndex) {
|
555
507
|
this.collapsingUI.collapsedRowsStash.shiftStash(finalElementRowIndex, null, -1);
|
556
508
|
this.collapsingUI.collapsedRowsStash.applyStash();
|
557
509
|
this.headersUI.updateRowHeaderWidth();
|
558
510
|
}
|
559
|
-
|
511
|
+
/**
|
512
|
+
* `afterCreateRow` hook callback.
|
513
|
+
*/
|
514
|
+
function _onAfterCreateRow() {
|
560
515
|
this.dataManager.rewriteCache();
|
561
516
|
}
|
562
|
-
|
517
|
+
/**
|
518
|
+
* `afterInit` hook callback.
|
519
|
+
*/
|
520
|
+
function _onAfterInit() {
|
563
521
|
this.headersUI.updateRowHeaderWidth();
|
564
522
|
}
|
565
|
-
|
566
|
-
|
523
|
+
/**
|
524
|
+
* `beforeViewRender` hook callback.
|
525
|
+
*
|
526
|
+
* @param {boolean} force Indicates if the render call was triggered by a change of settings or data.
|
527
|
+
* @param {object} skipRender An object, holder for skipRender functionality.
|
528
|
+
*/
|
529
|
+
function _onBeforeViewRender(force, skipRender) {
|
530
|
+
if (_classPrivateFieldGet(_skipRender, this)) {
|
567
531
|
skipRender.skipRender = true;
|
568
532
|
}
|
569
533
|
}
|
570
|
-
|
534
|
+
/**
|
535
|
+
* `beforeLoadData` hook callback.
|
536
|
+
*
|
537
|
+
* @param {Array} data The source data.
|
538
|
+
*/
|
539
|
+
function _onBeforeLoadData(data) {
|
571
540
|
if (!(0, _data.isArrayOfObjects)(data)) {
|
572
541
|
(0, _console.error)(WRONG_DATA_TYPE_ERROR);
|
573
542
|
this.hot.getSettings()[PLUGIN_KEY] = false;
|