handsontable 14.2.0 → 14.3.0-next-3fa6b18-20240410
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/3rdparty/walkontable/src/calculator/renderAllColumns.js +1 -1
- package/3rdparty/walkontable/src/calculator/renderAllColumns.mjs +1 -1
- package/3rdparty/walkontable/src/calculator/renderAllRows.js +1 -1
- package/3rdparty/walkontable/src/calculator/renderAllRows.mjs +1 -1
- package/3rdparty/walkontable/src/calculator/viewportColumns.js +13 -18
- package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +13 -18
- package/3rdparty/walkontable/src/calculator/viewportRows.js +11 -16
- package/3rdparty/walkontable/src/calculator/viewportRows.mjs +11 -16
- package/3rdparty/walkontable/src/cell/coords.js +13 -18
- package/3rdparty/walkontable/src/cell/coords.mjs +13 -18
- package/3rdparty/walkontable/src/cell/range.d.ts +2 -1
- package/3rdparty/walkontable/src/cell/range.js +42 -30
- package/3rdparty/walkontable/src/cell/range.mjs +42 -30
- package/3rdparty/walkontable/src/core/_base.js +2 -2
- package/3rdparty/walkontable/src/core/_base.mjs +2 -2
- package/3rdparty/walkontable/src/core/clone.js +1 -1
- package/3rdparty/walkontable/src/core/clone.mjs +1 -1
- package/3rdparty/walkontable/src/event.js +72 -104
- package/3rdparty/walkontable/src/event.mjs +72 -104
- package/3rdparty/walkontable/src/filter/column.js +1 -1
- package/3rdparty/walkontable/src/filter/column.mjs +1 -1
- package/3rdparty/walkontable/src/filter/row.js +1 -1
- package/3rdparty/walkontable/src/filter/row.mjs +1 -1
- package/3rdparty/walkontable/src/index.js +1 -1
- package/3rdparty/walkontable/src/overlay/_base.js +1 -1
- package/3rdparty/walkontable/src/overlay/_base.mjs +1 -1
- package/3rdparty/walkontable/src/overlay/bottom.js +1 -1
- package/3rdparty/walkontable/src/overlay/bottom.mjs +1 -1
- package/3rdparty/walkontable/src/overlay/inlineStart.js +15 -1
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +16 -2
- package/3rdparty/walkontable/src/overlay/top.js +12 -1
- package/3rdparty/walkontable/src/overlay/top.mjs +13 -2
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +1 -1
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +1 -1
- package/3rdparty/walkontable/src/overlays.js +47 -5
- package/3rdparty/walkontable/src/overlays.mjs +47 -5
- package/3rdparty/walkontable/src/renderer/_base.js +1 -1
- package/3rdparty/walkontable/src/renderer/_base.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/cells.js +1 -1
- package/3rdparty/walkontable/src/renderer/cells.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +1 -1
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/rows.js +1 -1
- package/3rdparty/walkontable/src/renderer/rows.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/table.js +1 -1
- package/3rdparty/walkontable/src/renderer/table.mjs +1 -1
- package/3rdparty/walkontable/src/scroll.js +16 -18
- package/3rdparty/walkontable/src/scroll.mjs +16 -18
- package/3rdparty/walkontable/src/selection/manager.js +48 -69
- package/3rdparty/walkontable/src/selection/manager.mjs +48 -69
- package/3rdparty/walkontable/src/selection/scanner.js +33 -42
- package/3rdparty/walkontable/src/selection/scanner.mjs +33 -42
- package/3rdparty/walkontable/src/settings.js +1 -1
- package/3rdparty/walkontable/src/settings.mjs +1 -1
- package/3rdparty/walkontable/src/table.js +1 -1
- package/3rdparty/walkontable/src/table.mjs +1 -1
- package/3rdparty/walkontable/src/utils/column.js +1 -1
- package/3rdparty/walkontable/src/utils/column.mjs +1 -1
- package/3rdparty/walkontable/src/utils/columnStretching.js +28 -45
- package/3rdparty/walkontable/src/utils/columnStretching.mjs +28 -45
- package/3rdparty/walkontable/src/utils/nodesPool.js +1 -1
- package/3rdparty/walkontable/src/utils/nodesPool.mjs +1 -1
- package/3rdparty/walkontable/src/utils/orderView/view.js +2 -2
- package/3rdparty/walkontable/src/utils/orderView/view.mjs +2 -2
- package/3rdparty/walkontable/src/utils/orderView/viewSize.js +1 -1
- package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +1 -1
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +1 -1
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +1 -1
- package/3rdparty/walkontable/src/utils/row.js +1 -1
- package/3rdparty/walkontable/src/utils/row.mjs +1 -1
- package/CHANGELOG.md +20 -0
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/core/viewportScroll/index.js +4 -1
- package/core/viewportScroll/index.mjs +4 -1
- package/core/viewportScroll/scrollStrategies/focusScroll.js +15 -0
- package/core/viewportScroll/scrollStrategies/focusScroll.mjs +11 -0
- package/core.d.ts +4 -3
- package/core.js +98 -43
- package/core.mjs +98 -43
- package/dataMap/dataMap.js +1 -1
- package/dataMap/dataMap.mjs +1 -1
- package/dataMap/dataSource.js +2 -2
- package/dataMap/dataSource.mjs +2 -2
- package/dataMap/metaManager/lazyFactoryMap.js +3 -5
- package/dataMap/metaManager/lazyFactoryMap.mjs +2 -4
- package/dataMap/metaManager/metaLayers/cellMeta.js +2 -2
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +2 -2
- package/dataMap/metaManager/metaLayers/columnMeta.js +1 -1
- package/dataMap/metaManager/metaLayers/columnMeta.mjs +1 -1
- package/dataMap/metaManager/metaLayers/globalMeta.js +1 -1
- package/dataMap/metaManager/metaLayers/globalMeta.mjs +1 -1
- package/dataMap/metaManager/metaLayers/tableMeta.js +1 -1
- package/dataMap/metaManager/metaLayers/tableMeta.mjs +1 -1
- package/dataMap/metaManager/metaSchema.js +272 -272
- package/dataMap/metaManager/metaSchema.mjs +272 -272
- package/dataMap/metaManager/mods/dynamicCellMeta.js +1 -1
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +1 -1
- package/dataMap/metaManager/mods/extendMetaProperties.js +1 -1
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +1 -1
- package/dataMap/replaceData.js +1 -1
- package/dataMap/replaceData.mjs +1 -1
- package/dist/handsontable.css +4 -4
- package/dist/handsontable.full.css +4 -4
- package/dist/handsontable.full.js +9814 -10020
- package/dist/handsontable.full.min.css +3 -3
- package/dist/handsontable.full.min.js +292 -292
- package/dist/handsontable.js +7484 -7056
- package/dist/handsontable.min.css +3 -3
- package/dist/handsontable.min.js +25 -25
- package/dist/languages/all.min.js +1 -1
- package/dist/languages/ar-AR.min.js +1 -1
- package/dist/languages/cs-CZ.min.js +1 -1
- package/dist/languages/de-CH.min.js +1 -1
- package/dist/languages/de-DE.min.js +1 -1
- package/dist/languages/en-US.min.js +1 -1
- package/dist/languages/es-MX.min.js +1 -1
- package/dist/languages/fr-FR.min.js +1 -1
- package/dist/languages/hr-HR.min.js +1 -1
- package/dist/languages/it-IT.min.js +1 -1
- package/dist/languages/ja-JP.min.js +1 -1
- package/dist/languages/ko-KR.min.js +1 -1
- package/dist/languages/lv-LV.min.js +1 -1
- package/dist/languages/nb-NO.min.js +1 -1
- package/dist/languages/nl-NL.min.js +1 -1
- package/dist/languages/pl-PL.min.js +1 -1
- package/dist/languages/pt-BR.min.js +1 -1
- package/dist/languages/ru-RU.min.js +1 -1
- package/dist/languages/sr-SP.min.js +1 -1
- package/dist/languages/zh-CN.min.js +1 -1
- package/dist/languages/zh-TW.min.js +1 -1
- package/editorManager.js +26 -24
- package/editorManager.mjs +26 -24
- package/editors/autocompleteEditor/autocompleteEditor.js +7 -11
- package/editors/autocompleteEditor/autocompleteEditor.mjs +7 -11
- package/editors/baseEditor/baseEditor.js +1 -1
- package/editors/baseEditor/baseEditor.mjs +1 -1
- package/editors/dateEditor/dateEditor.js +49 -11
- package/editors/dateEditor/dateEditor.mjs +49 -11
- package/editors/selectEditor/selectEditor.js +20 -19
- package/editors/selectEditor/selectEditor.mjs +20 -19
- package/editors/textEditor/textEditor.js +1 -1
- package/editors/textEditor/textEditor.mjs +1 -1
- package/eventManager.js +2 -2
- package/eventManager.mjs +2 -2
- package/focusManager.js +64 -82
- package/focusManager.mjs +64 -82
- package/helpers/dom/element.js +23 -1
- package/helpers/dom/element.mjs +21 -1
- package/helpers/mixed.js +2 -2
- package/helpers/mixed.mjs +2 -2
- package/helpers/object.js +2 -2
- package/helpers/object.mjs +2 -2
- package/i18n/languages/ar-AR.d.ts +5 -0
- package/i18n/languages/ar-AR.js +1 -1
- package/i18n/languages/cs-CZ.d.ts +5 -0
- package/i18n/languages/cs-CZ.js +1 -1
- package/i18n/languages/de-CH.js +1 -1
- package/i18n/languages/de-DE.js +1 -1
- package/i18n/languages/en-US.js +1 -1
- package/i18n/languages/es-MX.js +1 -1
- package/i18n/languages/fr-FR.js +1 -1
- package/i18n/languages/hr-HR.d.ts +5 -0
- package/i18n/languages/hr-HR.js +1 -1
- package/i18n/languages/it-IT.js +1 -1
- package/i18n/languages/ja-JP.js +1 -1
- package/i18n/languages/ko-KR.js +1 -1
- package/i18n/languages/lv-LV.js +1 -1
- package/i18n/languages/nb-NO.js +1 -1
- package/i18n/languages/nl-NL.js +1 -1
- package/i18n/languages/pl-PL.js +1 -1
- package/i18n/languages/pt-BR.js +1 -1
- package/i18n/languages/ru-RU.js +1 -1
- package/i18n/languages/sr-SP.d.ts +5 -0
- package/i18n/languages/sr-SP.js +1 -1
- package/i18n/languages/zh-CN.js +1 -1
- package/i18n/languages/zh-TW.js +1 -1
- package/i18n/registry.js +1 -1
- package/index.d.ts +10 -0
- package/index.js +1 -1
- package/package.json +14 -10
- package/pluginHooks.d.ts +4 -3
- package/pluginHooks.js +143 -82
- package/pluginHooks.mjs +143 -82
- package/plugins/autoColumnSize/autoColumnSize.js +50 -66
- package/plugins/autoColumnSize/autoColumnSize.mjs +50 -66
- package/plugins/autoRowSize/autoRowSize.js +29 -35
- package/plugins/autoRowSize/autoRowSize.mjs +29 -35
- package/plugins/autofill/autofill.js +31 -39
- package/plugins/autofill/autofill.mjs +31 -39
- package/plugins/base/base.js +13 -18
- package/plugins/base/base.mjs +13 -18
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +6 -6
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +6 -6
- package/plugins/collapsibleColumns/collapsibleColumns.js +60 -51
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +60 -51
- package/plugins/columnSorting/columnSorting.js +50 -46
- package/plugins/columnSorting/columnSorting.mjs +50 -46
- package/plugins/columnSorting/columnStatesManager.js +1 -1
- package/plugins/columnSorting/columnStatesManager.mjs +1 -1
- package/plugins/columnSummary/columnSummary.js +36 -40
- package/plugins/columnSummary/columnSummary.mjs +36 -40
- package/plugins/columnSummary/endpoints.js +1 -1
- package/plugins/columnSummary/endpoints.mjs +1 -1
- package/plugins/comments/commentEditor.js +1 -1
- package/plugins/comments/commentEditor.mjs +1 -1
- package/plugins/comments/comments.js +117 -159
- package/plugins/comments/comments.mjs +117 -159
- package/plugins/comments/contextMenuItem/addEditComment.js +1 -1
- package/plugins/comments/contextMenuItem/readOnlyComment.js +1 -1
- package/plugins/comments/contextMenuItem/removeComment.js +1 -1
- package/plugins/comments/displaySwitch.js +1 -1
- package/plugins/comments/displaySwitch.mjs +1 -1
- package/plugins/contextMenu/commandExecutor.js +1 -1
- package/plugins/contextMenu/commandExecutor.mjs +1 -1
- package/plugins/contextMenu/contextMenu.js +24 -30
- package/plugins/contextMenu/contextMenu.mjs +24 -30
- package/plugins/contextMenu/itemsFactory.js +2 -2
- package/plugins/contextMenu/itemsFactory.mjs +2 -2
- package/plugins/contextMenu/menu/cursor.js +1 -1
- package/plugins/contextMenu/menu/cursor.mjs +1 -1
- package/plugins/contextMenu/menu/defaultShortcutsList.js +26 -10
- package/plugins/contextMenu/menu/defaultShortcutsList.mjs +26 -10
- package/plugins/contextMenu/menu/menu.js +14 -22
- package/plugins/contextMenu/menu/menu.mjs +14 -22
- package/plugins/contextMenu/menu/positioner.js +41 -58
- package/plugins/contextMenu/menu/positioner.mjs +41 -58
- package/plugins/contextMenu/predefinedItems/alignment.js +1 -1
- package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -1
- package/plugins/contextMenu/predefinedItems/columnLeft.js +1 -1
- package/plugins/contextMenu/predefinedItems/columnRight.js +1 -1
- package/plugins/contextMenu/predefinedItems/index.js +1 -1
- package/plugins/contextMenu/predefinedItems/readOnly.js +1 -1
- package/plugins/contextMenu/predefinedItems/redo.js +1 -1
- package/plugins/contextMenu/predefinedItems/removeColumn.js +1 -1
- package/plugins/contextMenu/predefinedItems/removeRow.js +1 -1
- package/plugins/contextMenu/predefinedItems/rowAbove.js +1 -1
- package/plugins/contextMenu/predefinedItems/rowBelow.js +1 -1
- package/plugins/contextMenu/predefinedItems/undo.js +1 -1
- package/plugins/copyPaste/contextMenuItem/cut.js +1 -1
- package/plugins/copyPaste/copyPaste.js +120 -161
- package/plugins/copyPaste/copyPaste.mjs +120 -161
- package/plugins/copyPaste/copyableRanges.js +43 -66
- package/plugins/copyPaste/copyableRanges.mjs +43 -66
- package/plugins/customBorders/contextMenuItem/bottom.js +1 -1
- package/plugins/customBorders/contextMenuItem/left.js +1 -1
- package/plugins/customBorders/contextMenuItem/noBorders.js +1 -1
- package/plugins/customBorders/contextMenuItem/right.js +1 -1
- package/plugins/customBorders/contextMenuItem/top.js +1 -1
- package/plugins/customBorders/customBorders.js +14 -16
- package/plugins/customBorders/customBorders.mjs +13 -15
- package/plugins/dragToScroll/dragToScroll.js +7 -7
- package/plugins/dragToScroll/dragToScroll.mjs +7 -7
- package/plugins/dropdownMenu/dropdownMenu.js +84 -110
- package/plugins/dropdownMenu/dropdownMenu.mjs +84 -110
- package/plugins/exportFile/dataProvider.js +2 -2
- package/plugins/exportFile/dataProvider.mjs +2 -2
- package/plugins/exportFile/exportFile.js +2 -2
- package/plugins/exportFile/exportFile.mjs +1 -1
- package/plugins/exportFile/types/_base.js +1 -1
- package/plugins/exportFile/types/_base.mjs +1 -1
- package/plugins/filters/component/_base.js +1 -1
- package/plugins/filters/component/_base.mjs +1 -1
- package/plugins/filters/component/actionBar.js +11 -11
- package/plugins/filters/component/actionBar.mjs +9 -9
- package/plugins/filters/component/condition.js +15 -17
- package/plugins/filters/component/condition.mjs +14 -16
- package/plugins/filters/component/operators.js +7 -7
- package/plugins/filters/component/operators.mjs +7 -7
- package/plugins/filters/component/value.js +26 -30
- package/plugins/filters/component/value.mjs +25 -29
- package/plugins/filters/condition/beginsWith.js +1 -1
- package/plugins/filters/condition/between.js +1 -1
- package/plugins/filters/condition/contains.js +1 -1
- package/plugins/filters/condition/date/after.js +1 -1
- package/plugins/filters/condition/date/before.js +1 -1
- package/plugins/filters/condition/date/today.js +1 -1
- package/plugins/filters/condition/date/tomorrow.js +1 -1
- package/plugins/filters/condition/date/yesterday.js +1 -1
- package/plugins/filters/condition/empty.js +1 -1
- package/plugins/filters/condition/endsWith.js +1 -1
- package/plugins/filters/condition/equal.js +1 -1
- package/plugins/filters/condition/greaterThan.js +1 -1
- package/plugins/filters/condition/greaterThanOrEqual.js +1 -1
- package/plugins/filters/condition/lessThan.js +1 -1
- package/plugins/filters/condition/lessThanOrEqual.js +1 -1
- package/plugins/filters/condition/none.js +1 -1
- package/plugins/filters/condition/notBetween.js +1 -1
- package/plugins/filters/condition/notContains.js +1 -1
- package/plugins/filters/condition/notEmpty.js +1 -1
- package/plugins/filters/condition/notEqual.js +1 -1
- package/plugins/filters/conditionCollection.js +1 -1
- package/plugins/filters/conditionCollection.mjs +1 -1
- package/plugins/filters/conditionUpdateObserver.js +23 -25
- package/plugins/filters/conditionUpdateObserver.mjs +23 -25
- package/plugins/filters/dataFilter.js +2 -2
- package/plugins/filters/dataFilter.mjs +2 -2
- package/plugins/filters/filters.js +84 -98
- package/plugins/filters/filters.mjs +83 -97
- package/plugins/filters/logicalOperations/conjunction.js +1 -1
- package/plugins/filters/logicalOperations/disjunction.js +1 -1
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +1 -1
- package/plugins/filters/ui/_base.js +2 -2
- package/plugins/filters/ui/_base.mjs +1 -1
- package/plugins/filters/ui/input.js +13 -19
- package/plugins/filters/ui/input.mjs +13 -19
- package/plugins/filters/ui/link.js +8 -13
- package/plugins/filters/ui/link.mjs +8 -13
- package/plugins/filters/ui/multipleSelect.js +86 -113
- package/plugins/filters/ui/multipleSelect.mjs +85 -112
- package/plugins/filters/ui/radioInput.js +12 -20
- package/plugins/filters/ui/radioInput.mjs +12 -20
- package/plugins/filters/ui/select.js +51 -73
- package/plugins/filters/ui/select.mjs +49 -71
- package/plugins/formulas/formulas.js +270 -328
- package/plugins/formulas/formulas.mjs +271 -329
- package/plugins/formulas/indexSyncer/axisSyncer.js +38 -61
- package/plugins/formulas/indexSyncer/axisSyncer.mjs +38 -61
- package/plugins/formulas/indexSyncer/index.js +25 -48
- package/plugins/formulas/indexSyncer/index.mjs +25 -48
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +1 -1
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +1 -1
- package/plugins/hiddenColumns/hiddenColumns.js +68 -87
- package/plugins/hiddenColumns/hiddenColumns.mjs +68 -87
- package/plugins/hiddenRows/contextMenuItem/hideRow.js +1 -1
- package/plugins/hiddenRows/contextMenuItem/showRow.js +1 -1
- package/plugins/hiddenRows/hiddenRows.js +67 -86
- package/plugins/hiddenRows/hiddenRows.mjs +67 -86
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -1
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -1
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +24 -32
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +25 -33
- package/plugins/manualColumnMove/manualColumnMove.js +133 -177
- package/plugins/manualColumnMove/manualColumnMove.mjs +133 -177
- package/plugins/manualColumnMove/ui/_base.js +1 -1
- package/plugins/manualColumnMove/ui/_base.mjs +1 -1
- package/plugins/manualColumnResize/manualColumnResize.js +169 -230
- package/plugins/manualColumnResize/manualColumnResize.mjs +169 -230
- package/plugins/manualRowMove/manualRowMove.js +106 -135
- package/plugins/manualRowMove/manualRowMove.mjs +106 -135
- package/plugins/manualRowMove/ui/_base.js +1 -1
- package/plugins/manualRowMove/ui/_base.mjs +1 -1
- package/plugins/manualRowResize/manualRowResize.js +150 -209
- package/plugins/manualRowResize/manualRowResize.mjs +150 -209
- package/plugins/mergeCells/calculations/autofill.js +1 -1
- package/plugins/mergeCells/calculations/autofill.mjs +1 -1
- package/plugins/mergeCells/calculations/selection.js +3 -72
- package/plugins/mergeCells/calculations/selection.mjs +3 -72
- package/plugins/mergeCells/cellCoords.js +1 -1
- package/plugins/mergeCells/cellCoords.mjs +1 -1
- package/plugins/mergeCells/cellsCollection.js +118 -2
- package/plugins/mergeCells/cellsCollection.mjs +118 -2
- package/plugins/mergeCells/contextMenuItem/toggleMerge.js +12 -2
- package/plugins/mergeCells/contextMenuItem/toggleMerge.mjs +11 -1
- package/plugins/mergeCells/focusOrder.js +305 -0
- package/plugins/mergeCells/focusOrder.mjs +300 -0
- package/plugins/mergeCells/mergeCells.js +500 -398
- package/plugins/mergeCells/mergeCells.mjs +500 -398
- package/plugins/multiColumnSorting/multiColumnSorting.js +9 -3
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +9 -3
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +2 -2
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +2 -2
- package/plugins/nestedHeaders/nestedHeaders.js +206 -254
- package/plugins/nestedHeaders/nestedHeaders.mjs +207 -255
- package/plugins/nestedHeaders/stateManager/headersTree.js +21 -32
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +21 -32
- package/plugins/nestedHeaders/stateManager/index.js +30 -41
- package/plugins/nestedHeaders/stateManager/index.mjs +30 -41
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +19 -30
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +19 -30
- package/plugins/nestedHeaders/utils/ghostTable.js +1 -1
- package/plugins/nestedHeaders/utils/ghostTable.mjs +1 -1
- package/plugins/nestedRows/data/dataManager.js +2 -2
- package/plugins/nestedRows/data/dataManager.mjs +2 -2
- package/plugins/nestedRows/nestedRows.js +154 -185
- package/plugins/nestedRows/nestedRows.mjs +155 -186
- package/plugins/nestedRows/ui/_base.js +1 -1
- package/plugins/nestedRows/ui/_base.mjs +1 -1
- package/plugins/nestedRows/ui/contextMenu.js +13 -17
- package/plugins/nestedRows/ui/contextMenu.mjs +11 -15
- package/plugins/nestedRows/utils/rowMoveController.js +6 -6
- package/plugins/nestedRows/utils/rowMoveController.mjs +6 -6
- package/plugins/persistentState/persistentState.js +1 -1
- package/plugins/persistentState/persistentState.mjs +1 -1
- package/plugins/persistentState/storage.js +3 -3
- package/plugins/persistentState/storage.mjs +3 -3
- package/plugins/search/search.js +8 -8
- package/plugins/search/search.mjs +8 -8
- package/plugins/touchScroll/touchScroll.js +16 -20
- package/plugins/touchScroll/touchScroll.mjs +17 -21
- package/plugins/trimRows/trimRows.js +7 -7
- package/plugins/trimRows/trimRows.mjs +7 -7
- package/plugins/undoRedo/index.js +1 -1
- package/renderers/checkboxRenderer/checkboxRenderer.js +8 -5
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +8 -5
- package/selection/highlight/highlight.js +16 -18
- package/selection/highlight/highlight.mjs +15 -17
- package/selection/highlight/visualSelection.js +3 -1
- package/selection/highlight/visualSelection.mjs +3 -1
- package/selection/range.js +3 -5
- package/selection/range.mjs +2 -4
- package/selection/selection.js +227 -69
- package/selection/selection.mjs +225 -67
- package/selection/transformation.js +149 -118
- package/selection/transformation.mjs +149 -118
- package/shortcutContexts/commands/editor/closeAndSave.js +2 -2
- package/shortcutContexts/commands/editor/closeAndSave.mjs +2 -2
- package/shortcutContexts/commands/editor/open.js +18 -3
- package/shortcutContexts/commands/editor/open.mjs +18 -3
- package/shortcutContexts/commands/extendCellsSelection/down.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/down.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/left.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/left.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/right.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/right.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toColumns.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +9 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +9 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +10 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +10 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toRows.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/up.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/up.mjs +1 -1
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +6 -1
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +6 -1
- package/shortcutContexts/commands/moveCellSelection/inlineStart.js +6 -1
- package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +6 -1
- package/shortcutContexts/grid.js +9 -3
- package/shortcutContexts/grid.mjs +9 -3
- package/shortcuts/context.js +3 -2
- package/shortcuts/context.mjs +3 -2
- package/shortcuts/manager.js +2 -2
- package/shortcuts/manager.mjs +2 -2
- package/tableView.js +53 -79
- package/tableView.mjs +53 -79
- package/translations/changesObservable/observable.js +21 -38
- package/translations/changesObservable/observable.mjs +21 -38
- package/translations/changesObservable/observer.js +7 -12
- package/translations/changesObservable/observer.mjs +6 -11
- package/translations/indexMapper.js +1 -1
- package/translations/indexMapper.mjs +1 -1
- package/translations/mapCollections/aggregatedCollection.js +2 -2
- package/translations/mapCollections/aggregatedCollection.mjs +2 -2
- package/translations/mapCollections/mapCollection.js +1 -1
- package/translations/mapCollections/mapCollection.mjs +1 -1
- package/translations/maps/indexMap.js +2 -2
- package/translations/maps/indexMap.mjs +2 -2
- package/translations/maps/linkedPhysicalIndexToValueMap.js +1 -1
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +1 -1
- package/utils/dataStructures/linkedList.js +7 -2
- package/utils/dataStructures/linkedList.mjs +7 -2
- package/utils/dataStructures/tree.js +2 -2
- package/utils/dataStructures/tree.mjs +2 -2
- package/utils/ghostTable.js +1 -1
- package/utils/ghostTable.mjs +1 -1
- package/utils/interval.js +27 -45
- package/utils/interval.mjs +27 -45
- package/utils/samplesGenerator.js +1 -1
- package/utils/samplesGenerator.mjs +1 -1
@@ -1,14 +1,11 @@
|
|
1
|
-
import "core-js/modules/es.array.push.js";
|
2
1
|
import "core-js/modules/es.error.cause.js";
|
2
|
+
import "core-js/modules/es.array.push.js";
|
3
3
|
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
4
4
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
5
5
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
6
|
-
function _classPrivateFieldSet(
|
7
|
-
function
|
8
|
-
function
|
9
|
-
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
10
|
-
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
11
|
-
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
|
6
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
7
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
8
|
+
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
12
9
|
import { BasePlugin } from "../base/index.mjs";
|
13
10
|
import Hooks from "../../pluginHooks.mjs";
|
14
11
|
import { arrayReduce } from "../../helpers/array.mjs";
|
@@ -42,7 +39,7 @@ const CSS_AFTER_SELECTION = 'after-selection--columns';
|
|
42
39
|
* - `dragColumn` - drag single column to the new position.
|
43
40
|
* - `dragColumns` - drag many columns (as an array of indexes) to the new position.
|
44
41
|
*
|
45
|
-
* [Documentation](@/guides/columns/column-moving.md) explain differences between drag and move actions.
|
42
|
+
* [Documentation](@/guides/columns/column-moving/column-moving.md) explain differences between drag and move actions.
|
46
43
|
* Please keep in mind that if you want apply visual changes,
|
47
44
|
* you have to call manually the `render` method on the instance of Handsontable.
|
48
45
|
*
|
@@ -64,45 +61,10 @@ var _hoveredColumn = /*#__PURE__*/new WeakMap();
|
|
64
61
|
var _rootElementOffset = /*#__PURE__*/new WeakMap();
|
65
62
|
var _hasRowHeaders = /*#__PURE__*/new WeakMap();
|
66
63
|
var _fixedColumnsStart = /*#__PURE__*/new WeakMap();
|
67
|
-
var
|
68
|
-
var _onMouseMove = /*#__PURE__*/new WeakSet();
|
69
|
-
var _onBeforeOnCellMouseOver = /*#__PURE__*/new WeakSet();
|
70
|
-
var _onMouseUp = /*#__PURE__*/new WeakSet();
|
71
|
-
var _onAfterScrollVertically = /*#__PURE__*/new WeakSet();
|
72
|
-
var _onAfterLoadData = /*#__PURE__*/new WeakSet();
|
64
|
+
var _ManualColumnMove_brand = /*#__PURE__*/new WeakSet();
|
73
65
|
export class ManualColumnMove extends BasePlugin {
|
74
66
|
constructor() {
|
75
67
|
super(...arguments);
|
76
|
-
/**
|
77
|
-
* Callback for the `afterLoadData` hook.
|
78
|
-
*
|
79
|
-
* @private
|
80
|
-
*/
|
81
|
-
_classPrivateMethodInitSpec(this, _onAfterLoadData);
|
82
|
-
/**
|
83
|
-
* `afterScrollHorizontally` hook callback. Fired the table was scrolled horizontally.
|
84
|
-
*/
|
85
|
-
_classPrivateMethodInitSpec(this, _onAfterScrollVertically);
|
86
|
-
/**
|
87
|
-
* `onMouseUp` hook callback.
|
88
|
-
*/
|
89
|
-
_classPrivateMethodInitSpec(this, _onMouseUp);
|
90
|
-
/**
|
91
|
-
* 'beforeOnCellMouseOver' hook callback. Fired when pointer was over cell.
|
92
|
-
*
|
93
|
-
* @param {MouseEvent} event `mouseover` event properties.
|
94
|
-
* @param {CellCoords} coords Visual cell coordinates where was fired event.
|
95
|
-
* @param {HTMLElement} TD Cell represented as HTMLElement.
|
96
|
-
* @param {object} controller An object with properties `row`, `column` and `cell`. Each property contains
|
97
|
-
* a boolean value that allows or disallows changing the selection for that particular area.
|
98
|
-
*/
|
99
|
-
_classPrivateMethodInitSpec(this, _onBeforeOnCellMouseOver);
|
100
|
-
/**
|
101
|
-
* 'mouseMove' event callback. Fired when pointer move on document.documentElement.
|
102
|
-
*
|
103
|
-
* @param {MouseEvent} event `mousemove` event properties.
|
104
|
-
*/
|
105
|
-
_classPrivateMethodInitSpec(this, _onMouseMove);
|
106
68
|
/**
|
107
69
|
* Change the behavior of selection / dragging.
|
108
70
|
*
|
@@ -112,88 +74,55 @@ export class ManualColumnMove extends BasePlugin {
|
|
112
74
|
* @param {object} controller An object with properties `row`, `column` and `cell`. Each property contains
|
113
75
|
* a boolean value that allows or disallows changing the selection for that particular area.
|
114
76
|
*/
|
115
|
-
_classPrivateMethodInitSpec(this,
|
77
|
+
_classPrivateMethodInitSpec(this, _ManualColumnMove_brand);
|
116
78
|
/**
|
117
79
|
* Backlight UI object.
|
118
80
|
*
|
119
81
|
* @type {object}
|
120
82
|
*/
|
121
|
-
_classPrivateFieldInitSpec(this, _backlight,
|
122
|
-
writable: true,
|
123
|
-
value: new BacklightUI(this.hot)
|
124
|
-
});
|
83
|
+
_classPrivateFieldInitSpec(this, _backlight, new BacklightUI(this.hot));
|
125
84
|
/**
|
126
85
|
* Guideline UI object.
|
127
86
|
*
|
128
87
|
* @type {object}
|
129
88
|
*/
|
130
|
-
_classPrivateFieldInitSpec(this, _guideline,
|
131
|
-
writable: true,
|
132
|
-
value: new GuidelineUI(this.hot)
|
133
|
-
});
|
89
|
+
_classPrivateFieldInitSpec(this, _guideline, new GuidelineUI(this.hot));
|
134
90
|
/**
|
135
91
|
* @type {number[]}
|
136
92
|
*/
|
137
|
-
_classPrivateFieldInitSpec(this, _columnsToMove,
|
138
|
-
writable: true,
|
139
|
-
value: []
|
140
|
-
});
|
93
|
+
_classPrivateFieldInitSpec(this, _columnsToMove, []);
|
141
94
|
/**
|
142
95
|
* @type {number}
|
143
96
|
*/
|
144
|
-
_classPrivateFieldInitSpec(this, _countCols,
|
145
|
-
writable: true,
|
146
|
-
value: 0
|
147
|
-
});
|
97
|
+
_classPrivateFieldInitSpec(this, _countCols, 0);
|
148
98
|
/**
|
149
99
|
* @type {boolean}
|
150
100
|
*/
|
151
|
-
_classPrivateFieldInitSpec(this, _pressed,
|
152
|
-
writable: true,
|
153
|
-
value: false
|
154
|
-
});
|
101
|
+
_classPrivateFieldInitSpec(this, _pressed, false);
|
155
102
|
/**
|
156
103
|
* @type {object}
|
157
104
|
*/
|
158
|
-
_classPrivateFieldInitSpec(this, _target, {
|
159
|
-
writable: true,
|
160
|
-
value: {}
|
161
|
-
});
|
105
|
+
_classPrivateFieldInitSpec(this, _target, {});
|
162
106
|
/**
|
163
107
|
* @type {number}
|
164
108
|
*/
|
165
|
-
_classPrivateFieldInitSpec(this, _cachedDropIndex,
|
166
|
-
writable: true,
|
167
|
-
value: void 0
|
168
|
-
});
|
109
|
+
_classPrivateFieldInitSpec(this, _cachedDropIndex, void 0);
|
169
110
|
/**
|
170
111
|
* @type {number}
|
171
112
|
*/
|
172
|
-
_classPrivateFieldInitSpec(this, _hoveredColumn,
|
173
|
-
writable: true,
|
174
|
-
value: void 0
|
175
|
-
});
|
113
|
+
_classPrivateFieldInitSpec(this, _hoveredColumn, void 0);
|
176
114
|
/**
|
177
115
|
* @type {number}
|
178
116
|
*/
|
179
|
-
_classPrivateFieldInitSpec(this, _rootElementOffset,
|
180
|
-
writable: true,
|
181
|
-
value: void 0
|
182
|
-
});
|
117
|
+
_classPrivateFieldInitSpec(this, _rootElementOffset, void 0);
|
183
118
|
/**
|
184
119
|
* @type {boolean}
|
185
120
|
*/
|
186
|
-
_classPrivateFieldInitSpec(this, _hasRowHeaders,
|
187
|
-
writable: true,
|
188
|
-
value: void 0
|
189
|
-
});
|
121
|
+
_classPrivateFieldInitSpec(this, _hasRowHeaders, void 0);
|
190
122
|
/**
|
191
123
|
* @type {number}
|
192
124
|
*/
|
193
|
-
_classPrivateFieldInitSpec(this, _fixedColumnsStart,
|
194
|
-
writable: true,
|
195
|
-
value: void 0
|
196
|
-
});
|
125
|
+
_classPrivateFieldInitSpec(this, _fixedColumnsStart, void 0);
|
197
126
|
}
|
198
127
|
static get PLUGIN_KEY() {
|
199
128
|
return PLUGIN_KEY;
|
@@ -223,20 +152,20 @@ export class ManualColumnMove extends BasePlugin {
|
|
223
152
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
224
153
|
args[_key] = arguments[_key];
|
225
154
|
}
|
226
|
-
return
|
155
|
+
return _assertClassBrand(_ManualColumnMove_brand, _this, _onBeforeOnCellMouseDown).call(_this, ...args);
|
227
156
|
});
|
228
157
|
this.addHook('beforeOnCellMouseOver', function () {
|
229
158
|
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
230
159
|
args[_key2] = arguments[_key2];
|
231
160
|
}
|
232
|
-
return
|
161
|
+
return _assertClassBrand(_ManualColumnMove_brand, _this, _onBeforeOnCellMouseOver).call(_this, ...args);
|
233
162
|
});
|
234
|
-
this.addHook('afterScrollVertically', () =>
|
163
|
+
this.addHook('afterScrollVertically', () => _assertClassBrand(_ManualColumnMove_brand, this, _onAfterScrollVertically).call(this));
|
235
164
|
this.addHook('afterLoadData', function () {
|
236
165
|
for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
237
166
|
args[_key3] = arguments[_key3];
|
238
167
|
}
|
239
|
-
return
|
168
|
+
return _assertClassBrand(_ManualColumnMove_brand, _this, _onAfterLoadData).call(_this, ...args);
|
240
169
|
});
|
241
170
|
this.buildPluginUI();
|
242
171
|
this.registerEvents();
|
@@ -265,8 +194,8 @@ export class ManualColumnMove extends BasePlugin {
|
|
265
194
|
disablePlugin() {
|
266
195
|
removeClass(this.hot.rootElement, CSS_PLUGIN);
|
267
196
|
this.unregisterEvents();
|
268
|
-
_classPrivateFieldGet(
|
269
|
-
_classPrivateFieldGet(
|
197
|
+
_classPrivateFieldGet(_backlight, this).destroy();
|
198
|
+
_classPrivateFieldGet(_guideline, this).destroy();
|
270
199
|
super.disablePlugin();
|
271
200
|
}
|
272
201
|
|
@@ -275,7 +204,7 @@ export class ManualColumnMove extends BasePlugin {
|
|
275
204
|
*
|
276
205
|
* @param {number} column Visual column index to be moved.
|
277
206
|
* @param {number} finalIndex Visual column index, being a start index for the moved columns. Points to where the elements will be placed after the moving action.
|
278
|
-
* To check the visualization of the final index, please take a look at [documentation](@/guides/columns/column-moving.md#drag-and-move-actions-of-manualcolumnmove-plugin).
|
207
|
+
* To check the visualization of the final index, please take a look at [documentation](@/guides/columns/column-moving/column-moving.md#drag-and-move-actions-of-manualcolumnmove-plugin).
|
279
208
|
* @fires Hooks#beforeColumnMove
|
280
209
|
* @fires Hooks#afterColumnMove
|
281
210
|
* @returns {boolean}
|
@@ -289,16 +218,16 @@ export class ManualColumnMove extends BasePlugin {
|
|
289
218
|
*
|
290
219
|
* @param {Array} columns Array of visual column indexes to be moved.
|
291
220
|
* @param {number} finalIndex Visual column index, being a start index for the moved columns. Points to where the elements will be placed after the moving action.
|
292
|
-
* To check the visualization of the final index, please take a look at [documentation](@/guides/columns/column-moving.md#drag-and-move-actions-of-manualcolumnmove-plugin).
|
221
|
+
* To check the visualization of the final index, please take a look at [documentation](@/guides/columns/column-moving/column-moving.md#drag-and-move-actions-of-manualcolumnmove-plugin).
|
293
222
|
* @fires Hooks#beforeColumnMove
|
294
223
|
* @fires Hooks#afterColumnMove
|
295
224
|
* @returns {boolean}
|
296
225
|
*/
|
297
226
|
moveColumns(columns, finalIndex) {
|
298
|
-
const dropIndex = _classPrivateFieldGet(
|
227
|
+
const dropIndex = _classPrivateFieldGet(_cachedDropIndex, this);
|
299
228
|
const movePossible = this.isMovePossible(columns, finalIndex);
|
300
229
|
const beforeMoveHook = this.hot.runHooks('beforeColumnMove', columns, finalIndex, dropIndex, movePossible);
|
301
|
-
_classPrivateFieldSet(
|
230
|
+
_classPrivateFieldSet(_cachedDropIndex, this, undefined);
|
302
231
|
if (beforeMoveHook === false) {
|
303
232
|
return;
|
304
233
|
}
|
@@ -315,7 +244,7 @@ export class ManualColumnMove extends BasePlugin {
|
|
315
244
|
*
|
316
245
|
* @param {number} column Visual column index to be dragged.
|
317
246
|
* @param {number} dropIndex Visual column index, being a drop index for the moved columns. Points to where we are going to drop the moved elements.
|
318
|
-
* To check visualization of drop index please take a look at [documentation](@/guides/columns/column-moving.md#drag-and-move-actions-of-manualcolumnmove-plugin).
|
247
|
+
* To check visualization of drop index please take a look at [documentation](@/guides/columns/column-moving/column-moving.md#drag-and-move-actions-of-manualcolumnmove-plugin).
|
319
248
|
* @fires Hooks#beforeColumnMove
|
320
249
|
* @fires Hooks#afterColumnMove
|
321
250
|
* @returns {boolean}
|
@@ -329,14 +258,14 @@ export class ManualColumnMove extends BasePlugin {
|
|
329
258
|
*
|
330
259
|
* @param {Array} columns Array of visual column indexes to be dragged.
|
331
260
|
* @param {number} dropIndex Visual column index, being a drop index for the moved columns. Points to where we are going to drop the moved elements.
|
332
|
-
* To check visualization of drop index please take a look at [documentation](@/guides/columns/column-moving.md#drag-and-move-actions-of-manualcolumnmove-plugin).
|
261
|
+
* To check visualization of drop index please take a look at [documentation](@/guides/columns/column-moving/column-moving.md#drag-and-move-actions-of-manualcolumnmove-plugin).
|
333
262
|
* @fires Hooks#beforeColumnMove
|
334
263
|
* @fires Hooks#afterColumnMove
|
335
264
|
* @returns {boolean}
|
336
265
|
*/
|
337
266
|
dragColumns(columns, dropIndex) {
|
338
267
|
const finalIndex = this.countFinalIndex(columns, dropIndex);
|
339
|
-
_classPrivateFieldSet(
|
268
|
+
_classPrivateFieldSet(_cachedDropIndex, this, dropIndex);
|
340
269
|
return this.moveColumns(columns, finalIndex);
|
341
270
|
}
|
342
271
|
|
@@ -346,7 +275,7 @@ export class ManualColumnMove extends BasePlugin {
|
|
346
275
|
*
|
347
276
|
* @param {Array} movedColumns Array of visual column indexes to be moved.
|
348
277
|
* @param {number} finalIndex Visual column index, being a start index for the moved columns. Points to where the elements will be placed after the moving action.
|
349
|
-
* To check the visualization of the final index, please take a look at [documentation](@/guides/columns/column-moving.md#drag-and-move-actions-of-manualcolumnmove-plugin).
|
278
|
+
* To check the visualization of the final index, please take a look at [documentation](@/guides/columns/column-moving/column-moving.md#drag-and-move-actions-of-manualcolumnmove-plugin).
|
350
279
|
* @returns {boolean}
|
351
280
|
*/
|
352
281
|
isMovePossible(movedColumns, finalIndex) {
|
@@ -369,7 +298,7 @@ export class ManualColumnMove extends BasePlugin {
|
|
369
298
|
* @private
|
370
299
|
* @param {Array} movedColumns Array of visual column indexes to be moved.
|
371
300
|
* @param {number} finalIndex Visual column index, being a start index for the moved columns. Points to where the elements will be placed after the moving action.
|
372
|
-
* To check the visualization of the final index, please take a look at [documentation](@/guides/columns/column-moving.md#drag-and-move-actions-of-manualcolumnmove-plugin).
|
301
|
+
* To check the visualization of the final index, please take a look at [documentation](@/guides/columns/column-moving/column-moving.md#drag-and-move-actions-of-manualcolumnmove-plugin).
|
373
302
|
* @returns {boolean}
|
374
303
|
*/
|
375
304
|
isColumnOrderChanged(movedColumns, finalIndex) {
|
@@ -492,7 +421,7 @@ export class ManualColumnMove extends BasePlugin {
|
|
492
421
|
*/
|
493
422
|
refreshPositions() {
|
494
423
|
const firstVisible = this.hot.view.getFirstFullyVisibleColumn();
|
495
|
-
if (this.isFixedColumnsStart(_classPrivateFieldGet(
|
424
|
+
if (this.isFixedColumnsStart(_classPrivateFieldGet(_hoveredColumn, this)) && firstVisible > 0) {
|
496
425
|
this.hot.scrollViewportTo({
|
497
426
|
col: this.hot.columnIndexMapper.getNearestNotHiddenIndex(firstVisible - 1, -1)
|
498
427
|
});
|
@@ -500,45 +429,45 @@ export class ManualColumnMove extends BasePlugin {
|
|
500
429
|
const wtTable = this.hot.view._wt.wtTable;
|
501
430
|
const scrollableElement = this.hot.view._wt.wtOverlays.scrollableElement;
|
502
431
|
const scrollStart = typeof scrollableElement.scrollX === 'number' ? scrollableElement.scrollX : scrollableElement.scrollLeft;
|
503
|
-
let tdOffsetStart = this.hot.view.THEAD.offsetLeft + this.getColumnsWidth(0, _classPrivateFieldGet(
|
432
|
+
let tdOffsetStart = this.hot.view.THEAD.offsetLeft + this.getColumnsWidth(0, _classPrivateFieldGet(_hoveredColumn, this) - 1);
|
504
433
|
const hiderWidth = wtTable.hider.offsetWidth;
|
505
434
|
const tbodyOffsetLeft = wtTable.TBODY.offsetLeft;
|
506
|
-
const backlightElemMarginStart = _classPrivateFieldGet(
|
507
|
-
const backlightElemWidth = _classPrivateFieldGet(
|
435
|
+
const backlightElemMarginStart = _classPrivateFieldGet(_backlight, this).getOffset().start;
|
436
|
+
const backlightElemWidth = _classPrivateFieldGet(_backlight, this).getSize().width;
|
508
437
|
let rowHeaderWidth = 0;
|
509
438
|
let mouseOffsetStart = 0;
|
510
439
|
if (this.hot.isRtl()) {
|
511
440
|
const rootWindow = this.hot.rootWindow;
|
512
441
|
const containerWidth = outerWidth(this.hot.rootElement);
|
513
|
-
const gridMostRightPos = rootWindow.innerWidth - _classPrivateFieldGet(
|
514
|
-
mouseOffsetStart = rootWindow.innerWidth - _classPrivateFieldGet(
|
442
|
+
const gridMostRightPos = rootWindow.innerWidth - _classPrivateFieldGet(_rootElementOffset, this) - containerWidth;
|
443
|
+
mouseOffsetStart = rootWindow.innerWidth - _classPrivateFieldGet(_target, this).eventPageX - gridMostRightPos - (scrollableElement.scrollX === undefined ? scrollStart : 0);
|
515
444
|
} else {
|
516
|
-
mouseOffsetStart = _classPrivateFieldGet(
|
445
|
+
mouseOffsetStart = _classPrivateFieldGet(_target, this).eventPageX - (_classPrivateFieldGet(_rootElementOffset, this) - (scrollableElement.scrollX === undefined ? scrollStart : 0));
|
517
446
|
}
|
518
|
-
if (_classPrivateFieldGet(
|
447
|
+
if (_classPrivateFieldGet(_hasRowHeaders, this)) {
|
519
448
|
rowHeaderWidth = this.hot.view._wt.wtOverlays.inlineStartOverlay.clone.wtTable.getColumnHeader(-1).offsetWidth;
|
520
449
|
}
|
521
|
-
if (this.isFixedColumnsStart(_classPrivateFieldGet(
|
450
|
+
if (this.isFixedColumnsStart(_classPrivateFieldGet(_hoveredColumn, this))) {
|
522
451
|
tdOffsetStart += scrollStart;
|
523
452
|
}
|
524
453
|
tdOffsetStart += rowHeaderWidth;
|
525
|
-
if (_classPrivateFieldGet(
|
454
|
+
if (_classPrivateFieldGet(_hoveredColumn, this) < 0) {
|
526
455
|
// if hover on rowHeader
|
527
|
-
if (_classPrivateFieldGet(
|
528
|
-
_classPrivateFieldGet(
|
456
|
+
if (_classPrivateFieldGet(_fixedColumnsStart, this) > 0) {
|
457
|
+
_classPrivateFieldGet(_target, this).col = 0;
|
529
458
|
} else {
|
530
|
-
_classPrivateFieldGet(
|
459
|
+
_classPrivateFieldGet(_target, this).col = firstVisible > 0 ? firstVisible - 1 : firstVisible;
|
531
460
|
}
|
532
|
-
} else if (_classPrivateFieldGet(
|
533
|
-
const newCoordsCol = _classPrivateFieldGet(
|
461
|
+
} else if (_classPrivateFieldGet(_target, this).TD.offsetWidth / 2 + tdOffsetStart <= mouseOffsetStart) {
|
462
|
+
const newCoordsCol = _classPrivateFieldGet(_hoveredColumn, this) >= _classPrivateFieldGet(_countCols, this) ? _classPrivateFieldGet(_countCols, this) - 1 : _classPrivateFieldGet(_hoveredColumn, this);
|
534
463
|
|
535
464
|
// if hover on right part of TD
|
536
|
-
_classPrivateFieldGet(
|
465
|
+
_classPrivateFieldGet(_target, this).col = newCoordsCol + 1;
|
537
466
|
// unfortunately first column is bigger than rest
|
538
|
-
tdOffsetStart += _classPrivateFieldGet(
|
467
|
+
tdOffsetStart += _classPrivateFieldGet(_target, this).TD.offsetWidth;
|
539
468
|
} else {
|
540
469
|
// elsewhere on table
|
541
|
-
_classPrivateFieldGet(
|
470
|
+
_classPrivateFieldGet(_target, this).col = _classPrivateFieldGet(_hoveredColumn, this);
|
542
471
|
}
|
543
472
|
let backlightStart = mouseOffsetStart;
|
544
473
|
let guidelineStart = tdOffsetStart;
|
@@ -555,11 +484,11 @@ export class ManualColumnMove extends BasePlugin {
|
|
555
484
|
} else if (guidelineStart === 0) {
|
556
485
|
// guideline has got `margin-left: -1px` as default
|
557
486
|
guidelineStart = 1;
|
558
|
-
} else if (scrollableElement.scrollX !== undefined && _classPrivateFieldGet(
|
559
|
-
guidelineStart -= _classPrivateFieldGet(
|
487
|
+
} else if (scrollableElement.scrollX !== undefined && _classPrivateFieldGet(_hoveredColumn, this) < _classPrivateFieldGet(_fixedColumnsStart, this)) {
|
488
|
+
guidelineStart -= _classPrivateFieldGet(_rootElementOffset, this) <= scrollableElement.scrollX ? _classPrivateFieldGet(_rootElementOffset, this) : 0;
|
560
489
|
}
|
561
|
-
_classPrivateFieldGet(
|
562
|
-
_classPrivateFieldGet(
|
490
|
+
_classPrivateFieldGet(_backlight, this).setPosition(null, backlightStart);
|
491
|
+
_classPrivateFieldGet(_guideline, this).setPosition(null, guidelineStart);
|
563
492
|
}
|
564
493
|
|
565
494
|
/**
|
@@ -571,8 +500,8 @@ export class ManualColumnMove extends BasePlugin {
|
|
571
500
|
const {
|
572
501
|
documentElement
|
573
502
|
} = this.hot.rootDocument;
|
574
|
-
this.eventManager.addEventListener(documentElement, 'mousemove', event =>
|
575
|
-
this.eventManager.addEventListener(documentElement, 'mouseup', () =>
|
503
|
+
this.eventManager.addEventListener(documentElement, 'mousemove', event => _assertClassBrand(_ManualColumnMove_brand, this, _onMouseMove).call(this, event));
|
504
|
+
this.eventManager.addEventListener(documentElement, 'mouseup', () => _assertClassBrand(_ManualColumnMove_brand, this, _onMouseUp).call(this));
|
576
505
|
}
|
577
506
|
|
578
507
|
/**
|
@@ -589,35 +518,42 @@ export class ManualColumnMove extends BasePlugin {
|
|
589
518
|
* @private
|
590
519
|
*/
|
591
520
|
buildPluginUI() {
|
592
|
-
_classPrivateFieldGet(
|
593
|
-
_classPrivateFieldGet(
|
521
|
+
_classPrivateFieldGet(_backlight, this).build();
|
522
|
+
_classPrivateFieldGet(_guideline, this).build();
|
594
523
|
}
|
524
|
+
|
525
|
+
/**
|
526
|
+
* Callback for the `afterLoadData` hook.
|
527
|
+
*
|
528
|
+
* @private
|
529
|
+
*/
|
530
|
+
|
595
531
|
/**
|
596
532
|
* Destroys the plugin instance.
|
597
533
|
*/
|
598
534
|
destroy() {
|
599
|
-
_classPrivateFieldGet(
|
600
|
-
_classPrivateFieldGet(
|
535
|
+
_classPrivateFieldGet(_backlight, this).destroy();
|
536
|
+
_classPrivateFieldGet(_guideline, this).destroy();
|
601
537
|
super.destroy();
|
602
538
|
}
|
603
539
|
}
|
604
|
-
function
|
540
|
+
function _onBeforeOnCellMouseDown(event, coords, TD, controller) {
|
605
541
|
const wtTable = this.hot.view._wt.wtTable;
|
606
542
|
const isHeaderSelection = this.hot.selection.isSelectedByColumnHeader();
|
607
543
|
const selection = this.hot.getSelectedRangeLast();
|
608
544
|
// This block action shouldn't be handled below.
|
609
545
|
const isSortingElement = hasClass(event.target, 'sortAction');
|
610
|
-
if (!selection || !isHeaderSelection || _classPrivateFieldGet(
|
611
|
-
_classPrivateFieldSet(
|
612
|
-
_classPrivateFieldGet(
|
546
|
+
if (!selection || !isHeaderSelection || _classPrivateFieldGet(_pressed, this) || event.button !== 0 || isSortingElement) {
|
547
|
+
_classPrivateFieldSet(_pressed, this, false);
|
548
|
+
_classPrivateFieldGet(_columnsToMove, this).length = 0;
|
613
549
|
removeClass(this.hot.rootElement, [CSS_ON_MOVING, CSS_SHOW_UI]);
|
614
550
|
return;
|
615
551
|
}
|
616
|
-
const guidelineIsNotReady = _classPrivateFieldGet(
|
617
|
-
const backlightIsNotReady = _classPrivateFieldGet(
|
552
|
+
const guidelineIsNotReady = _classPrivateFieldGet(_guideline, this).isBuilt() && !_classPrivateFieldGet(_guideline, this).isAppended();
|
553
|
+
const backlightIsNotReady = _classPrivateFieldGet(_backlight, this).isBuilt() && !_classPrivateFieldGet(_backlight, this).isAppended();
|
618
554
|
if (guidelineIsNotReady && backlightIsNotReady) {
|
619
|
-
_classPrivateFieldGet(
|
620
|
-
_classPrivateFieldGet(
|
555
|
+
_classPrivateFieldGet(_guideline, this).appendTo(wtTable.hider);
|
556
|
+
_classPrivateFieldGet(_backlight, this).appendTo(wtTable.hider);
|
621
557
|
}
|
622
558
|
const {
|
623
559
|
from,
|
@@ -627,47 +563,61 @@ function _onBeforeOnCellMouseDown2(event, coords, TD, controller) {
|
|
627
563
|
const end = Math.max(from.col, to.col);
|
628
564
|
if (coords.row < 0 && coords.col >= start && coords.col <= end) {
|
629
565
|
controller.column = true;
|
630
|
-
_classPrivateFieldSet(
|
566
|
+
_classPrivateFieldSet(_pressed, this, true);
|
631
567
|
const eventOffsetX = TD.firstChild ? offsetRelativeTo(event, TD.firstChild).x : event.offsetX;
|
632
|
-
_classPrivateFieldGet(
|
633
|
-
_classPrivateFieldSet(
|
634
|
-
_classPrivateFieldGet(
|
635
|
-
_classPrivateFieldGet(
|
636
|
-
_classPrivateFieldSet(
|
637
|
-
_classPrivateFieldSet(
|
638
|
-
_classPrivateFieldSet(
|
639
|
-
_classPrivateFieldSet(
|
640
|
-
_classPrivateFieldSet(
|
641
|
-
const countColumnsFrom = _classPrivateFieldGet(
|
568
|
+
_classPrivateFieldGet(_target, this).eventPageX = event.pageX;
|
569
|
+
_classPrivateFieldSet(_hoveredColumn, this, coords.col);
|
570
|
+
_classPrivateFieldGet(_target, this).TD = TD;
|
571
|
+
_classPrivateFieldGet(_target, this).col = coords.col;
|
572
|
+
_classPrivateFieldSet(_columnsToMove, this, this.prepareColumnsToMoving(start, end));
|
573
|
+
_classPrivateFieldSet(_hasRowHeaders, this, !!this.hot.getSettings().rowHeaders);
|
574
|
+
_classPrivateFieldSet(_countCols, this, this.hot.countCols());
|
575
|
+
_classPrivateFieldSet(_fixedColumnsStart, this, this.hot.getSettings().fixedColumnsStart);
|
576
|
+
_classPrivateFieldSet(_rootElementOffset, this, offset(this.hot.rootElement).left);
|
577
|
+
const countColumnsFrom = _classPrivateFieldGet(_hasRowHeaders, this) ? -1 : 0;
|
642
578
|
const topPos = wtTable.holder.scrollTop + wtTable.getColumnHeaderHeight(0) + 1;
|
643
|
-
const fixedColumnsStart = coords.col < _classPrivateFieldGet(
|
579
|
+
const fixedColumnsStart = coords.col < _classPrivateFieldGet(_fixedColumnsStart, this);
|
644
580
|
const horizontalScrollPosition = this.hot.view._wt.wtOverlays.inlineStartOverlay.getOverlayOffset();
|
645
581
|
const offsetX = Math.abs(eventOffsetX - (this.hot.isRtl() ? TD.offsetWidth : 0));
|
646
582
|
const inlineOffset = this.getColumnsWidth(start, coords.col - 1) + offsetX;
|
647
583
|
const inlinePos = this.getColumnsWidth(countColumnsFrom, start - 1) + (fixedColumnsStart ? horizontalScrollPosition : 0) + inlineOffset;
|
648
|
-
_classPrivateFieldGet(
|
649
|
-
_classPrivateFieldGet(
|
650
|
-
_classPrivateFieldGet(
|
584
|
+
_classPrivateFieldGet(_backlight, this).setPosition(topPos, inlinePos);
|
585
|
+
_classPrivateFieldGet(_backlight, this).setSize(this.getColumnsWidth(start, end), wtTable.hider.offsetHeight - topPos);
|
586
|
+
_classPrivateFieldGet(_backlight, this).setOffset(null, -inlineOffset);
|
651
587
|
addClass(this.hot.rootElement, CSS_ON_MOVING);
|
652
588
|
} else {
|
653
589
|
removeClass(this.hot.rootElement, CSS_AFTER_SELECTION);
|
654
|
-
_classPrivateFieldSet(
|
655
|
-
_classPrivateFieldGet(
|
590
|
+
_classPrivateFieldSet(_pressed, this, false);
|
591
|
+
_classPrivateFieldGet(_columnsToMove, this).length = 0;
|
656
592
|
}
|
657
593
|
}
|
658
|
-
|
659
|
-
|
594
|
+
/**
|
595
|
+
* 'mouseMove' event callback. Fired when pointer move on document.documentElement.
|
596
|
+
*
|
597
|
+
* @param {MouseEvent} event `mousemove` event properties.
|
598
|
+
*/
|
599
|
+
function _onMouseMove(event) {
|
600
|
+
if (!_classPrivateFieldGet(_pressed, this)) {
|
660
601
|
return;
|
661
602
|
}
|
662
|
-
_classPrivateFieldGet(
|
603
|
+
_classPrivateFieldGet(_target, this).eventPageX = event.pageX;
|
663
604
|
this.refreshPositions();
|
664
605
|
}
|
665
|
-
|
606
|
+
/**
|
607
|
+
* 'beforeOnCellMouseOver' hook callback. Fired when pointer was over cell.
|
608
|
+
*
|
609
|
+
* @param {MouseEvent} event `mouseover` event properties.
|
610
|
+
* @param {CellCoords} coords Visual cell coordinates where was fired event.
|
611
|
+
* @param {HTMLElement} TD Cell represented as HTMLElement.
|
612
|
+
* @param {object} controller An object with properties `row`, `column` and `cell`. Each property contains
|
613
|
+
* a boolean value that allows or disallows changing the selection for that particular area.
|
614
|
+
*/
|
615
|
+
function _onBeforeOnCellMouseOver(event, coords, TD, controller) {
|
666
616
|
const selectedRange = this.hot.getSelectedRangeLast();
|
667
|
-
if (!selectedRange || !_classPrivateFieldGet(
|
617
|
+
if (!selectedRange || !_classPrivateFieldGet(_pressed, this)) {
|
668
618
|
return;
|
669
619
|
}
|
670
|
-
if (_classPrivateFieldGet(
|
620
|
+
if (_classPrivateFieldGet(_columnsToMove, this).indexOf(coords.col) > -1) {
|
671
621
|
removeClass(this.hot.rootElement, CSS_SHOW_UI);
|
672
622
|
} else {
|
673
623
|
addClass(this.hot.rootElement, CSS_SHOW_UI);
|
@@ -675,14 +625,17 @@ function _onBeforeOnCellMouseOver2(event, coords, TD, controller) {
|
|
675
625
|
controller.row = true;
|
676
626
|
controller.column = true;
|
677
627
|
controller.cell = true;
|
678
|
-
_classPrivateFieldSet(
|
679
|
-
_classPrivateFieldGet(
|
628
|
+
_classPrivateFieldSet(_hoveredColumn, this, coords.col);
|
629
|
+
_classPrivateFieldGet(_target, this).TD = TD;
|
680
630
|
}
|
681
|
-
|
682
|
-
|
683
|
-
|
684
|
-
|
685
|
-
|
631
|
+
/**
|
632
|
+
* `onMouseUp` hook callback.
|
633
|
+
*/
|
634
|
+
function _onMouseUp() {
|
635
|
+
const target = _classPrivateFieldGet(_target, this).col;
|
636
|
+
const columnsLen = _classPrivateFieldGet(_columnsToMove, this).length;
|
637
|
+
_classPrivateFieldSet(_hoveredColumn, this, undefined);
|
638
|
+
_classPrivateFieldSet(_pressed, this, false);
|
686
639
|
removeClass(this.hot.rootElement, [CSS_ON_MOVING, CSS_SHOW_UI, CSS_AFTER_SELECTION]);
|
687
640
|
if (this.hot.selection.isSelectedByColumnHeader()) {
|
688
641
|
addClass(this.hot.rootElement, CSS_AFTER_SELECTION);
|
@@ -690,10 +643,10 @@ function _onMouseUp2() {
|
|
690
643
|
if (columnsLen < 1 || target === undefined) {
|
691
644
|
return;
|
692
645
|
}
|
693
|
-
const firstMovedVisualColumn = _classPrivateFieldGet(
|
646
|
+
const firstMovedVisualColumn = _classPrivateFieldGet(_columnsToMove, this)[0];
|
694
647
|
const firstMovedPhysicalColumn = this.hot.toPhysicalColumn(firstMovedVisualColumn);
|
695
|
-
const movePerformed = this.dragColumns(_classPrivateFieldGet(
|
696
|
-
_classPrivateFieldGet(
|
648
|
+
const movePerformed = this.dragColumns(_classPrivateFieldGet(_columnsToMove, this), target);
|
649
|
+
_classPrivateFieldGet(_columnsToMove, this).length = 0;
|
697
650
|
if (movePerformed === true) {
|
698
651
|
this.persistentStateSave();
|
699
652
|
this.hot.render();
|
@@ -703,14 +656,17 @@ function _onMouseUp2() {
|
|
703
656
|
this.hot.selectColumns(selectionStart, selectionEnd);
|
704
657
|
}
|
705
658
|
}
|
706
|
-
|
659
|
+
/**
|
660
|
+
* `afterScrollHorizontally` hook callback. Fired the table was scrolled horizontally.
|
661
|
+
*/
|
662
|
+
function _onAfterScrollVertically() {
|
707
663
|
const wtTable = this.hot.view._wt.wtTable;
|
708
664
|
const headerHeight = wtTable.getColumnHeaderHeight(0) + 1;
|
709
665
|
const scrollTop = wtTable.holder.scrollTop;
|
710
666
|
const posTop = headerHeight + scrollTop;
|
711
|
-
_classPrivateFieldGet(
|
712
|
-
_classPrivateFieldGet(
|
667
|
+
_classPrivateFieldGet(_backlight, this).setPosition(posTop);
|
668
|
+
_classPrivateFieldGet(_backlight, this).setSize(null, wtTable.hider.offsetHeight - posTop);
|
713
669
|
}
|
714
|
-
function
|
670
|
+
function _onAfterLoadData() {
|
715
671
|
this.moveBySettingsOrLoad();
|
716
672
|
}
|
@@ -5,7 +5,7 @@ require("core-js/modules/es.error.cause.js");
|
|
5
5
|
var _number = require("../../../helpers/number");
|
6
6
|
var _string = require("../../../helpers/string");
|
7
7
|
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; }
|
8
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
8
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
9
9
|
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); }
|
10
10
|
const STATE_INITIALIZED = 0;
|
11
11
|
const STATE_BUILT = 1;
|
@@ -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 { isNumeric } from "../../../helpers/number.mjs";
|
6
6
|
import { toUpperCaseFirst } from "../../../helpers/string.mjs";
|