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,8 +1,8 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
exports.__esModule = true;
|
4
|
-
require("core-js/modules/es.array.push.js");
|
5
4
|
require("core-js/modules/es.error.cause.js");
|
5
|
+
require("core-js/modules/es.array.push.js");
|
6
6
|
var _element = require("../../helpers/dom/element");
|
7
7
|
var _mixed = require("../../helpers/mixed");
|
8
8
|
var _object = require("../../helpers/object");
|
@@ -12,6 +12,7 @@ var _base = require("../base");
|
|
12
12
|
var _translations = require("../../translations");
|
13
13
|
var _pluginHooks = _interopRequireDefault(require("../../pluginHooks"));
|
14
14
|
var _columnStatesManager = require("./columnStatesManager");
|
15
|
+
var _shortcutContexts = require("../../shortcutContexts");
|
15
16
|
var _utils = require("./utils");
|
16
17
|
var _domHelpers = require("./domHelpers");
|
17
18
|
var _rootComparator = require("./rootComparator");
|
@@ -21,9 +22,9 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
21
22
|
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
22
23
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
23
24
|
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; }
|
24
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
25
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
25
26
|
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); }
|
26
|
-
function
|
27
|
+
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"); }
|
27
28
|
const PLUGIN_KEY = exports.PLUGIN_KEY = 'columnSorting';
|
28
29
|
const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 50;
|
29
30
|
const APPEND_COLUMN_CONFIG_STRATEGY = exports.APPEND_COLUMN_CONFIG_STRATEGY = 'append';
|
@@ -83,40 +84,14 @@ _pluginHooks.default.getSingleton().register('afterColumnSort');
|
|
83
84
|
* }]
|
84
85
|
* ```
|
85
86
|
*/
|
86
|
-
var
|
87
|
-
var _onAfterGetColHeader = /*#__PURE__*/new WeakSet();
|
88
|
-
var _onAfterLoadData = /*#__PURE__*/new WeakSet();
|
89
|
-
var _onBeforeOnCellMouseDown = /*#__PURE__*/new WeakSet();
|
87
|
+
var _ColumnSorting_brand = /*#__PURE__*/new WeakSet();
|
90
88
|
class ColumnSorting extends _base.BasePlugin {
|
91
89
|
constructor() {
|
92
90
|
super(...arguments);
|
93
|
-
/**
|
94
|
-
* Changes the behavior of selection / dragging.
|
95
|
-
*
|
96
|
-
* @param {MouseEvent} event The `mousedown` event.
|
97
|
-
* @param {CellCoords} coords Visual coordinates.
|
98
|
-
* @param {HTMLElement} TD The cell element.
|
99
|
-
* @param {object} controller An object with properties `row`, `column` and `cell`. Each property contains
|
100
|
-
* a boolean value that allows or disallows changing the selection for that particular area.
|
101
|
-
*/
|
102
|
-
_classPrivateMethodInitSpec(this, _onBeforeOnCellMouseDown);
|
103
|
-
/**
|
104
|
-
* Callback for the `afterLoadData` hook.
|
105
|
-
*
|
106
|
-
* @param {boolean} initialLoad Flag that determines whether the data has been loaded during the initialization.
|
107
|
-
*/
|
108
|
-
_classPrivateMethodInitSpec(this, _onAfterLoadData);
|
109
|
-
/**
|
110
|
-
* Callback for the `onAfterGetColHeader` hook. Adds column sorting CSS classes.
|
111
|
-
*
|
112
|
-
* @param {number} column Visual column index.
|
113
|
-
* @param {Element} TH TH HTML element.
|
114
|
-
*/
|
115
|
-
_classPrivateMethodInitSpec(this, _onAfterGetColHeader);
|
116
91
|
/**
|
117
92
|
* Load saved settings or sort by predefined plugin configuration.
|
118
93
|
*/
|
119
|
-
_classPrivateMethodInitSpec(this,
|
94
|
+
_classPrivateMethodInitSpec(this, _ColumnSorting_brand);
|
120
95
|
/**
|
121
96
|
* Instance of column state manager.
|
122
97
|
*
|
@@ -179,25 +154,25 @@ class ColumnSorting extends _base.BasePlugin {
|
|
179
154
|
return this.getMergedPluginSettings(visualIndex);
|
180
155
|
});
|
181
156
|
this.hot.columnIndexMapper.registerMap(`${this.pluginKey}.columnMeta`, this.columnMetaCache);
|
182
|
-
this.addHook('afterGetColHeader', (column, TH) =>
|
157
|
+
this.addHook('afterGetColHeader', (column, TH) => _assertClassBrand(_ColumnSorting_brand, this, _onAfterGetColHeader).call(this, column, TH));
|
183
158
|
this.addHook('beforeOnCellMouseDown', function () {
|
184
159
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
185
160
|
args[_key] = arguments[_key];
|
186
161
|
}
|
187
|
-
return
|
162
|
+
return _assertClassBrand(_ColumnSorting_brand, _this, _onBeforeOnCellMouseDown).call(_this, ...args);
|
188
163
|
});
|
189
164
|
this.addHook('afterOnCellMouseDown', (event, target) => this.onAfterOnCellMouseDown(event, target));
|
190
|
-
this.addHook('afterInit', () =>
|
165
|
+
this.addHook('afterInit', () => _assertClassBrand(_ColumnSorting_brand, this, _loadOrSortBySettings).call(this));
|
191
166
|
this.addHook('afterLoadData', function () {
|
192
167
|
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
193
168
|
args[_key2] = arguments[_key2];
|
194
169
|
}
|
195
|
-
return
|
170
|
+
return _assertClassBrand(_ColumnSorting_brand, _this, _onAfterLoadData).call(_this, ...args);
|
196
171
|
});
|
197
172
|
|
198
173
|
// TODO: Workaround? It should be refactored / described.
|
199
174
|
if (this.hot.view) {
|
200
|
-
|
175
|
+
_assertClassBrand(_ColumnSorting_brand, this, _loadOrSortBySettings).call(this);
|
201
176
|
}
|
202
177
|
this.registerShortcuts();
|
203
178
|
super.enablePlugin();
|
@@ -246,15 +221,18 @@ class ColumnSorting extends _base.BasePlugin {
|
|
246
221
|
const {
|
247
222
|
highlight
|
248
223
|
} = this.hot.getSelectedRangeLast();
|
249
|
-
|
250
|
-
|
251
|
-
|
224
|
+
this.sort(this.getColumnNextConfig(highlight.col));
|
225
|
+
|
226
|
+
// prevent default Enter behavior (move to the next row within a selection range)
|
227
|
+
return false;
|
252
228
|
},
|
253
229
|
runOnlyIf: () => {
|
254
|
-
var _this$hot$getSelected;
|
230
|
+
var _this$hot$getSelected, _this$hot$getSelected2;
|
255
231
|
const highlight = (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight;
|
256
|
-
return highlight && this.hot.selection.isCellVisible(highlight) && highlight.
|
232
|
+
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.row === -1 && highlight.col >= 0;
|
257
233
|
},
|
234
|
+
relativeToGroup: _shortcutContexts.EDITOR_EDIT_GROUP,
|
235
|
+
position: 'before',
|
258
236
|
group: SHORTCUTS_GROUP
|
259
237
|
});
|
260
238
|
}
|
@@ -654,6 +632,14 @@ class ColumnSorting extends _base.BasePlugin {
|
|
654
632
|
this.hot.render();
|
655
633
|
}
|
656
634
|
}
|
635
|
+
|
636
|
+
/**
|
637
|
+
* Callback for the `onAfterGetColHeader` hook. Adds column sorting CSS classes.
|
638
|
+
*
|
639
|
+
* @param {number} column Visual column index.
|
640
|
+
* @param {Element} TH TH HTML element.
|
641
|
+
*/
|
642
|
+
|
657
643
|
/**
|
658
644
|
* Update header classes.
|
659
645
|
*
|
@@ -688,6 +674,13 @@ class ColumnSorting extends _base.BasePlugin {
|
|
688
674
|
this.sortBySettings(newSettings[this.pluginKey]);
|
689
675
|
}
|
690
676
|
}
|
677
|
+
|
678
|
+
/**
|
679
|
+
* Callback for the `afterLoadData` hook.
|
680
|
+
*
|
681
|
+
* @param {boolean} initialLoad Flag that determines whether the data has been loaded during the initialization.
|
682
|
+
*/
|
683
|
+
|
691
684
|
/**
|
692
685
|
* Indicates if clickable header was clicked.
|
693
686
|
*
|
@@ -701,6 +694,17 @@ class ColumnSorting extends _base.BasePlugin {
|
|
701
694
|
const headerActionEnabled = pluginSettingsForColumn.headerAction;
|
702
695
|
return headerActionEnabled && (0, _element.hasClass)(event.target, _utils.HEADER_SPAN_CLASS);
|
703
696
|
}
|
697
|
+
|
698
|
+
/**
|
699
|
+
* Changes the behavior of selection / dragging.
|
700
|
+
*
|
701
|
+
* @param {MouseEvent} event The `mousedown` event.
|
702
|
+
* @param {CellCoords} coords Visual coordinates.
|
703
|
+
* @param {HTMLElement} TD The cell element.
|
704
|
+
* @param {object} controller An object with properties `row`, `column` and `cell`. Each property contains
|
705
|
+
* a boolean value that allows or disallows changing the selection for that particular area.
|
706
|
+
*/
|
707
|
+
|
704
708
|
/**
|
705
709
|
* Callback for the `onAfterOnCellMouseDown` hook.
|
706
710
|
*
|
@@ -733,7 +737,7 @@ class ColumnSorting extends _base.BasePlugin {
|
|
733
737
|
}
|
734
738
|
}
|
735
739
|
exports.ColumnSorting = ColumnSorting;
|
736
|
-
function
|
740
|
+
function _loadOrSortBySettings() {
|
737
741
|
const storedAllSortSettings = this.getAllSavedSortSettings();
|
738
742
|
if ((0, _object.isObject)(storedAllSortSettings)) {
|
739
743
|
this.sortBySettings(storedAllSortSettings);
|
@@ -742,7 +746,7 @@ function _loadOrSortBySettings2() {
|
|
742
746
|
this.sortBySettings(allSortSettings);
|
743
747
|
}
|
744
748
|
}
|
745
|
-
function
|
749
|
+
function _onAfterGetColHeader(column, TH) {
|
746
750
|
const headerSpanElement = (0, _utils.getHeaderSpanElement)(TH);
|
747
751
|
if ((0, _utils.isFirstLevelColumnHeader)(column, TH) === false || headerSpanElement === null) {
|
748
752
|
return;
|
@@ -756,15 +760,15 @@ function _onAfterGetColHeader2(column, TH) {
|
|
756
760
|
(0, _element.setAttribute)(TH, ...(0, _a11y.A11Y_SORT)(currentSortState ? `${currentSortState}ending` : 'none'));
|
757
761
|
}
|
758
762
|
}
|
759
|
-
function
|
763
|
+
function _onAfterLoadData(initialLoad) {
|
760
764
|
if (initialLoad === true) {
|
761
765
|
// TODO: Workaround? It should be refactored / described.
|
762
766
|
if (this.hot.view) {
|
763
|
-
|
767
|
+
_assertClassBrand(_ColumnSorting_brand, this, _loadOrSortBySettings).call(this);
|
764
768
|
}
|
765
769
|
}
|
766
770
|
}
|
767
|
-
function
|
771
|
+
function _onBeforeOnCellMouseDown(event, coords, TD, controller) {
|
768
772
|
if ((0, _utils.wasHeaderClickedProperly)(coords.row, coords.col, event) === false) {
|
769
773
|
return;
|
770
774
|
}
|
@@ -1,11 +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 _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
5
5
|
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; }
|
6
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
6
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
7
7
|
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); }
|
8
|
-
function
|
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"); }
|
9
9
|
import { addClass, hasClass, removeClass, setAttribute } from "../../helpers/dom/element.mjs";
|
10
10
|
import { isUndefined, isDefined } from "../../helpers/mixed.mjs";
|
11
11
|
import { isObject } from "../../helpers/object.mjs";
|
@@ -15,6 +15,7 @@ import { BasePlugin } from "../base/index.mjs";
|
|
15
15
|
import { IndexesSequence, PhysicalIndexToValueMap as IndexToValueMap } from "../../translations/index.mjs";
|
16
16
|
import Hooks from "../../pluginHooks.mjs";
|
17
17
|
import { ColumnStatesManager } from "./columnStatesManager.mjs";
|
18
|
+
import { EDITOR_EDIT_GROUP as SHORTCUTS_GROUP_EDITOR } from "../../shortcutContexts/index.mjs";
|
18
19
|
import { HEADER_SPAN_CLASS, getNextSortOrder, areValidSortStates, getHeaderSpanElement, isFirstLevelColumnHeader, wasHeaderClickedProperly } from "./utils.mjs";
|
19
20
|
import { getClassesToRemove, getClassesToAdd } from "./domHelpers.mjs";
|
20
21
|
import { rootComparator } from "./rootComparator.mjs";
|
@@ -79,40 +80,14 @@ Hooks.getSingleton().register('afterColumnSort');
|
|
79
80
|
* }]
|
80
81
|
* ```
|
81
82
|
*/
|
82
|
-
var
|
83
|
-
var _onAfterGetColHeader = /*#__PURE__*/new WeakSet();
|
84
|
-
var _onAfterLoadData = /*#__PURE__*/new WeakSet();
|
85
|
-
var _onBeforeOnCellMouseDown = /*#__PURE__*/new WeakSet();
|
83
|
+
var _ColumnSorting_brand = /*#__PURE__*/new WeakSet();
|
86
84
|
export class ColumnSorting extends BasePlugin {
|
87
85
|
constructor() {
|
88
86
|
super(...arguments);
|
89
|
-
/**
|
90
|
-
* Changes the behavior of selection / dragging.
|
91
|
-
*
|
92
|
-
* @param {MouseEvent} event The `mousedown` event.
|
93
|
-
* @param {CellCoords} coords Visual coordinates.
|
94
|
-
* @param {HTMLElement} TD The cell element.
|
95
|
-
* @param {object} controller An object with properties `row`, `column` and `cell`. Each property contains
|
96
|
-
* a boolean value that allows or disallows changing the selection for that particular area.
|
97
|
-
*/
|
98
|
-
_classPrivateMethodInitSpec(this, _onBeforeOnCellMouseDown);
|
99
|
-
/**
|
100
|
-
* Callback for the `afterLoadData` hook.
|
101
|
-
*
|
102
|
-
* @param {boolean} initialLoad Flag that determines whether the data has been loaded during the initialization.
|
103
|
-
*/
|
104
|
-
_classPrivateMethodInitSpec(this, _onAfterLoadData);
|
105
|
-
/**
|
106
|
-
* Callback for the `onAfterGetColHeader` hook. Adds column sorting CSS classes.
|
107
|
-
*
|
108
|
-
* @param {number} column Visual column index.
|
109
|
-
* @param {Element} TH TH HTML element.
|
110
|
-
*/
|
111
|
-
_classPrivateMethodInitSpec(this, _onAfterGetColHeader);
|
112
87
|
/**
|
113
88
|
* Load saved settings or sort by predefined plugin configuration.
|
114
89
|
*/
|
115
|
-
_classPrivateMethodInitSpec(this,
|
90
|
+
_classPrivateMethodInitSpec(this, _ColumnSorting_brand);
|
116
91
|
/**
|
117
92
|
* Instance of column state manager.
|
118
93
|
*
|
@@ -175,25 +150,25 @@ export class ColumnSorting extends BasePlugin {
|
|
175
150
|
return this.getMergedPluginSettings(visualIndex);
|
176
151
|
});
|
177
152
|
this.hot.columnIndexMapper.registerMap(`${this.pluginKey}.columnMeta`, this.columnMetaCache);
|
178
|
-
this.addHook('afterGetColHeader', (column, TH) =>
|
153
|
+
this.addHook('afterGetColHeader', (column, TH) => _assertClassBrand(_ColumnSorting_brand, this, _onAfterGetColHeader).call(this, column, TH));
|
179
154
|
this.addHook('beforeOnCellMouseDown', function () {
|
180
155
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
181
156
|
args[_key] = arguments[_key];
|
182
157
|
}
|
183
|
-
return
|
158
|
+
return _assertClassBrand(_ColumnSorting_brand, _this, _onBeforeOnCellMouseDown).call(_this, ...args);
|
184
159
|
});
|
185
160
|
this.addHook('afterOnCellMouseDown', (event, target) => this.onAfterOnCellMouseDown(event, target));
|
186
|
-
this.addHook('afterInit', () =>
|
161
|
+
this.addHook('afterInit', () => _assertClassBrand(_ColumnSorting_brand, this, _loadOrSortBySettings).call(this));
|
187
162
|
this.addHook('afterLoadData', function () {
|
188
163
|
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
189
164
|
args[_key2] = arguments[_key2];
|
190
165
|
}
|
191
|
-
return
|
166
|
+
return _assertClassBrand(_ColumnSorting_brand, _this, _onAfterLoadData).call(_this, ...args);
|
192
167
|
});
|
193
168
|
|
194
169
|
// TODO: Workaround? It should be refactored / described.
|
195
170
|
if (this.hot.view) {
|
196
|
-
|
171
|
+
_assertClassBrand(_ColumnSorting_brand, this, _loadOrSortBySettings).call(this);
|
197
172
|
}
|
198
173
|
this.registerShortcuts();
|
199
174
|
super.enablePlugin();
|
@@ -242,15 +217,18 @@ export class ColumnSorting extends BasePlugin {
|
|
242
217
|
const {
|
243
218
|
highlight
|
244
219
|
} = this.hot.getSelectedRangeLast();
|
245
|
-
|
246
|
-
|
247
|
-
|
220
|
+
this.sort(this.getColumnNextConfig(highlight.col));
|
221
|
+
|
222
|
+
// prevent default Enter behavior (move to the next row within a selection range)
|
223
|
+
return false;
|
248
224
|
},
|
249
225
|
runOnlyIf: () => {
|
250
|
-
var _this$hot$getSelected;
|
226
|
+
var _this$hot$getSelected, _this$hot$getSelected2;
|
251
227
|
const highlight = (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight;
|
252
|
-
return highlight && this.hot.selection.isCellVisible(highlight) && highlight.
|
228
|
+
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.row === -1 && highlight.col >= 0;
|
253
229
|
},
|
230
|
+
relativeToGroup: SHORTCUTS_GROUP_EDITOR,
|
231
|
+
position: 'before',
|
254
232
|
group: SHORTCUTS_GROUP
|
255
233
|
});
|
256
234
|
}
|
@@ -650,6 +628,14 @@ export class ColumnSorting extends BasePlugin {
|
|
650
628
|
this.hot.render();
|
651
629
|
}
|
652
630
|
}
|
631
|
+
|
632
|
+
/**
|
633
|
+
* Callback for the `onAfterGetColHeader` hook. Adds column sorting CSS classes.
|
634
|
+
*
|
635
|
+
* @param {number} column Visual column index.
|
636
|
+
* @param {Element} TH TH HTML element.
|
637
|
+
*/
|
638
|
+
|
653
639
|
/**
|
654
640
|
* Update header classes.
|
655
641
|
*
|
@@ -684,6 +670,13 @@ export class ColumnSorting extends BasePlugin {
|
|
684
670
|
this.sortBySettings(newSettings[this.pluginKey]);
|
685
671
|
}
|
686
672
|
}
|
673
|
+
|
674
|
+
/**
|
675
|
+
* Callback for the `afterLoadData` hook.
|
676
|
+
*
|
677
|
+
* @param {boolean} initialLoad Flag that determines whether the data has been loaded during the initialization.
|
678
|
+
*/
|
679
|
+
|
687
680
|
/**
|
688
681
|
* Indicates if clickable header was clicked.
|
689
682
|
*
|
@@ -697,6 +690,17 @@ export class ColumnSorting extends BasePlugin {
|
|
697
690
|
const headerActionEnabled = pluginSettingsForColumn.headerAction;
|
698
691
|
return headerActionEnabled && hasClass(event.target, HEADER_SPAN_CLASS);
|
699
692
|
}
|
693
|
+
|
694
|
+
/**
|
695
|
+
* Changes the behavior of selection / dragging.
|
696
|
+
*
|
697
|
+
* @param {MouseEvent} event The `mousedown` event.
|
698
|
+
* @param {CellCoords} coords Visual coordinates.
|
699
|
+
* @param {HTMLElement} TD The cell element.
|
700
|
+
* @param {object} controller An object with properties `row`, `column` and `cell`. Each property contains
|
701
|
+
* a boolean value that allows or disallows changing the selection for that particular area.
|
702
|
+
*/
|
703
|
+
|
700
704
|
/**
|
701
705
|
* Callback for the `onAfterOnCellMouseDown` hook.
|
702
706
|
*
|
@@ -728,7 +732,7 @@ export class ColumnSorting extends BasePlugin {
|
|
728
732
|
super.destroy();
|
729
733
|
}
|
730
734
|
}
|
731
|
-
function
|
735
|
+
function _loadOrSortBySettings() {
|
732
736
|
const storedAllSortSettings = this.getAllSavedSortSettings();
|
733
737
|
if (isObject(storedAllSortSettings)) {
|
734
738
|
this.sortBySettings(storedAllSortSettings);
|
@@ -737,7 +741,7 @@ function _loadOrSortBySettings2() {
|
|
737
741
|
this.sortBySettings(allSortSettings);
|
738
742
|
}
|
739
743
|
}
|
740
|
-
function
|
744
|
+
function _onAfterGetColHeader(column, TH) {
|
741
745
|
const headerSpanElement = getHeaderSpanElement(TH);
|
742
746
|
if (isFirstLevelColumnHeader(column, TH) === false || headerSpanElement === null) {
|
743
747
|
return;
|
@@ -751,15 +755,15 @@ function _onAfterGetColHeader2(column, TH) {
|
|
751
755
|
setAttribute(TH, ...A11Y_SORT(currentSortState ? `${currentSortState}ending` : 'none'));
|
752
756
|
}
|
753
757
|
}
|
754
|
-
function
|
758
|
+
function _onAfterLoadData(initialLoad) {
|
755
759
|
if (initialLoad === true) {
|
756
760
|
// TODO: Workaround? It should be refactored / described.
|
757
761
|
if (this.hot.view) {
|
758
|
-
|
762
|
+
_assertClassBrand(_ColumnSorting_brand, this, _loadOrSortBySettings).call(this);
|
759
763
|
}
|
760
764
|
}
|
761
765
|
}
|
762
|
-
function
|
766
|
+
function _onBeforeOnCellMouseDown(event, coords, TD, controller) {
|
763
767
|
if (wasHeaderClickedProperly(coords.row, coords.col, event) === false) {
|
764
768
|
return;
|
765
769
|
}
|
@@ -6,7 +6,7 @@ var _object = require("../../helpers/object");
|
|
6
6
|
var _translations = require("../../translations");
|
7
7
|
var _mixed = require("../../helpers/mixed");
|
8
8
|
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; }
|
9
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
9
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
10
10
|
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); }
|
11
11
|
const inheritedColumnProperties = ['sortEmptyCells', 'indicator', 'headerAction', 'compareFunctionFactory'];
|
12
12
|
const SORT_EMPTY_CELLS_DEFAULT = false;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
2
|
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; }
|
3
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
3
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
4
4
|
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); }
|
5
5
|
import { isObject, objectEach } from "../../helpers/object.mjs";
|
6
6
|
import { LinkedPhysicalIndexToValueMap as IndexToValueMap } from "../../translations/index.mjs";
|
@@ -11,9 +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 _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
13
13
|
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; }
|
14
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
14
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
15
15
|
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); }
|
16
|
-
function
|
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"); }
|
17
17
|
const PLUGIN_KEY = exports.PLUGIN_KEY = 'columnSummary';
|
18
18
|
const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 220;
|
19
19
|
|
@@ -24,26 +24,26 @@ const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 220;
|
|
24
24
|
* @class ColumnSummary
|
25
25
|
*
|
26
26
|
* @description
|
27
|
-
* The `ColumnSummary` plugin lets you [easily summarize your columns](@/guides/columns/column-summary.md).
|
27
|
+
* The `ColumnSummary` plugin lets you [easily summarize your columns](@/guides/columns/column-summary/column-summary.md).
|
28
28
|
*
|
29
|
-
* You can use the [built-in summary functions](@/guides/columns/column-summary.md#built-in-summary-functions),
|
30
|
-
* or implement a [custom summary function](@/guides/columns/column-summary.md#implement-a-custom-summary-function).
|
29
|
+
* You can use the [built-in summary functions](@/guides/columns/column-summary/column-summary.md#built-in-summary-functions),
|
30
|
+
* or implement a [custom summary function](@/guides/columns/column-summary/column-summary.md#implement-a-custom-summary-function).
|
31
31
|
*
|
32
32
|
* For each column summary, you can set the following configuration options:
|
33
33
|
*
|
34
34
|
* | Option | Required | Type | Default | Description |
|
35
35
|
* |---|---|---|---|---|
|
36
|
-
* | `sourceColumn` | No | Number | Same as `destinationColumn` | [Selects a column to summarize](@/guides/columns/column-summary.md#step-2-select-cells-that-you-want-to-summarize) |
|
37
|
-
* | `ranges` | No | Array | - | [Selects ranges of rows to summarize](@/guides/columns/column-summary.md#step-2-select-cells-that-you-want-to-summarize) |
|
38
|
-
* | `type` | Yes | String | - | [Sets a summary function](@/guides/columns/column-summary.md#step-3-calculate-your-summary) |
|
39
|
-
* | `destinationRow` | Yes | Number | - | [Sets the destination cell's row coordinate](@/guides/columns/column-summary.md#step-4-provide-the-destination-cell-s-coordinates) |
|
40
|
-
* | `destinationColumn` | Yes | Number | - | [Sets the destination cell's column coordinate](@/guides/columns/column-summary.md#step-4-provide-the-destination-cell-s-coordinates) |
|
41
|
-
* | `forceNumeric` | No | Boolean | `false` | [Forces the summary to treat non-numerics as numerics](@/guides/columns/column-summary.md#force-numeric-values) |
|
42
|
-
* | `reversedRowCoords` | No | Boolean | `false` | [Reverses row coordinates](@/guides/columns/column-summary.md#step-5-make-room-for-the-destination-cell) |
|
43
|
-
* | `suppressDataTypeErrors` | No | Boolean | `true` | [Suppresses data type errors](@/guides/columns/column-summary.md#throw-data-type-errors) |
|
36
|
+
* | `sourceColumn` | No | Number | Same as `destinationColumn` | [Selects a column to summarize](@/guides/columns/column-summary/column-summary.md#step-2-select-cells-that-you-want-to-summarize) |
|
37
|
+
* | `ranges` | No | Array | - | [Selects ranges of rows to summarize](@/guides/columns/column-summary/column-summary.md#step-2-select-cells-that-you-want-to-summarize) |
|
38
|
+
* | `type` | Yes | String | - | [Sets a summary function](@/guides/columns/column-summary/column-summary.md#step-3-calculate-your-summary) |
|
39
|
+
* | `destinationRow` | Yes | Number | - | [Sets the destination cell's row coordinate](@/guides/columns/column-summary/column-summary.md#step-4-provide-the-destination-cell-s-coordinates) |
|
40
|
+
* | `destinationColumn` | Yes | Number | - | [Sets the destination cell's column coordinate](@/guides/columns/column-summary/column-summary.md#step-4-provide-the-destination-cell-s-coordinates) |
|
41
|
+
* | `forceNumeric` | No | Boolean | `false` | [Forces the summary to treat non-numerics as numerics](@/guides/columns/column-summary/column-summary.md#force-numeric-values) |
|
42
|
+
* | `reversedRowCoords` | No | Boolean | `false` | [Reverses row coordinates](@/guides/columns/column-summary/column-summary.md#step-5-make-room-for-the-destination-cell) |
|
43
|
+
* | `suppressDataTypeErrors` | No | Boolean | `true` | [Suppresses data type errors](@/guides/columns/column-summary/column-summary.md#throw-data-type-errors) |
|
44
44
|
* | `readOnly` | No | Boolean | `true` | Makes summary cell read-only |
|
45
|
-
* | `roundFloat` | No | Number/<br>Boolean | - | [Rounds summary result](@/guides/columns/column-summary.md#round-a-column-summary-result) |
|
46
|
-
* | `customFunction` | No | Function | - | [Lets you add a custom summary function](@/guides/columns/column-summary.md#implement-a-custom-summary-function) |
|
45
|
+
* | `roundFloat` | No | Number/<br>Boolean | - | [Rounds summary result](@/guides/columns/column-summary/column-summary.md#round-a-column-summary-result) |
|
46
|
+
* | `customFunction` | No | Function | - | [Lets you add a custom summary function](@/guides/columns/column-summary/column-summary.md#implement-a-custom-summary-function) |
|
47
47
|
*
|
48
48
|
* @example
|
49
49
|
* ::: only-for javascript
|
@@ -105,31 +105,14 @@ const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 220;
|
|
105
105
|
* ```
|
106
106
|
* :::
|
107
107
|
*/
|
108
|
-
var
|
109
|
-
var _onAfterChange = /*#__PURE__*/new WeakSet();
|
110
|
-
var _onAfterRowMove = /*#__PURE__*/new WeakSet();
|
108
|
+
var _ColumnSummary_brand = /*#__PURE__*/new WeakSet();
|
111
109
|
class ColumnSummary extends _base.BasePlugin {
|
112
110
|
constructor() {
|
113
111
|
super(...arguments);
|
114
|
-
/**
|
115
|
-
* `beforeRowMove` hook callback.
|
116
|
-
*
|
117
|
-
* @param {Array} rows Array of visual row indexes to be moved.
|
118
|
-
* @param {number} finalIndex Visual row index, being a start index for the moved rows. Points to where the elements will be placed after the moving action.
|
119
|
-
* To check the visualization of the final index, please take a look at [documentation](@/guides/rows/row-moving.md).
|
120
|
-
*/
|
121
|
-
_classPrivateMethodInitSpec(this, _onAfterRowMove);
|
122
|
-
/**
|
123
|
-
* `afterChange` hook callback.
|
124
|
-
*
|
125
|
-
* @param {Array} changes 2D array containing information about each of the edited cells.
|
126
|
-
* @param {string} source The string that identifies source of changes.
|
127
|
-
*/
|
128
|
-
_classPrivateMethodInitSpec(this, _onAfterChange);
|
129
112
|
/**
|
130
113
|
* `afterInit` hook callback.
|
131
114
|
*/
|
132
|
-
_classPrivateMethodInitSpec(this,
|
115
|
+
_classPrivateMethodInitSpec(this, _ColumnSummary_brand);
|
133
116
|
/**
|
134
117
|
* The Endpoints class instance. Used to make all endpoint-related operations.
|
135
118
|
*
|
@@ -168,13 +151,13 @@ class ColumnSummary extends _base.BasePlugin {
|
|
168
151
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
169
152
|
args[_key] = arguments[_key];
|
170
153
|
}
|
171
|
-
return
|
154
|
+
return _assertClassBrand(_ColumnSummary_brand, _this, _onAfterInit).call(_this, ...args);
|
172
155
|
});
|
173
156
|
this.addHook('afterChange', function () {
|
174
157
|
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
175
158
|
args[_key2] = arguments[_key2];
|
176
159
|
}
|
177
|
-
return
|
160
|
+
return _assertClassBrand(_ColumnSummary_brand, _this, _onAfterChange).call(_this, ...args);
|
178
161
|
});
|
179
162
|
this.addHook('beforeCreateRow', (index, amount, source) => this.endpoints.resetSetupBeforeStructureAlteration('insert_row', index, amount, null, source)); // eslint-disable-line max-len
|
180
163
|
this.addHook('beforeCreateCol', (index, amount, source) => this.endpoints.resetSetupBeforeStructureAlteration('insert_col', index, amount, null, source)); // eslint-disable-line max-len
|
@@ -208,7 +191,7 @@ class ColumnSummary extends _base.BasePlugin {
|
|
208
191
|
for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {
|
209
192
|
args[_key7] = arguments[_key7];
|
210
193
|
}
|
211
|
-
return
|
194
|
+
return _assertClassBrand(_ColumnSummary_brand, _this, _onAfterRowMove).call(_this, ...args);
|
212
195
|
});
|
213
196
|
super.enablePlugin();
|
214
197
|
}
|
@@ -468,15 +451,28 @@ class ColumnSummary extends _base.BasePlugin {
|
|
468
451
|
}
|
469
452
|
}
|
470
453
|
exports.ColumnSummary = ColumnSummary;
|
471
|
-
function
|
454
|
+
function _onAfterInit() {
|
472
455
|
this.endpoints.initEndpoints();
|
473
456
|
}
|
474
|
-
|
457
|
+
/**
|
458
|
+
* `afterChange` hook callback.
|
459
|
+
*
|
460
|
+
* @param {Array} changes 2D array containing information about each of the edited cells.
|
461
|
+
* @param {string} source The string that identifies source of changes.
|
462
|
+
*/
|
463
|
+
function _onAfterChange(changes, source) {
|
475
464
|
if (changes && source !== 'ColumnSummary.reset' && source !== 'ColumnSummary.set' && source !== 'loadData') {
|
476
465
|
this.endpoints.refreshChangedEndpoints(changes);
|
477
466
|
}
|
478
467
|
}
|
479
|
-
|
468
|
+
/**
|
469
|
+
* `beforeRowMove` hook callback.
|
470
|
+
*
|
471
|
+
* @param {Array} rows Array of visual row indexes to be moved.
|
472
|
+
* @param {number} finalIndex Visual row index, being a start index for the moved rows. Points to where the elements will be placed after the moving action.
|
473
|
+
* To check the visualization of the final index, please take a look at [documentation](@/guides/rows/row-moving/row-moving.md).
|
474
|
+
*/
|
475
|
+
function _onAfterRowMove(rows, finalIndex) {
|
480
476
|
this.endpoints.resetSetupBeforeStructureAlteration('move_row', rows[0], rows.length, rows, this.pluginName);
|
481
477
|
this.endpoints.resetSetupAfterStructureAlteration('move_row', finalIndex, rows.length, rows, this.pluginName);
|
482
478
|
}
|