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 _base = require("../base");
|
7
7
|
var _pluginHooks = _interopRequireDefault(require("../../pluginHooks"));
|
8
8
|
var _array = require("../../helpers/array");
|
@@ -15,12 +15,9 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
15
15
|
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
16
16
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
17
17
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
18
|
-
function _classPrivateFieldSet(
|
19
|
-
function
|
20
|
-
function
|
21
|
-
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
22
|
-
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
23
|
-
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
|
18
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
19
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
20
|
+
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"); }
|
24
21
|
_pluginHooks.default.getSingleton().register('beforeColumnMove');
|
25
22
|
_pluginHooks.default.getSingleton().register('afterColumnMove');
|
26
23
|
const PLUGIN_KEY = exports.PLUGIN_KEY = 'manualColumnMove';
|
@@ -46,7 +43,7 @@ const CSS_AFTER_SELECTION = 'after-selection--columns';
|
|
46
43
|
* - `dragColumn` - drag single column to the new position.
|
47
44
|
* - `dragColumns` - drag many columns (as an array of indexes) to the new position.
|
48
45
|
*
|
49
|
-
* [Documentation](@/guides/columns/column-moving.md) explain differences between drag and move actions.
|
46
|
+
* [Documentation](@/guides/columns/column-moving/column-moving.md) explain differences between drag and move actions.
|
50
47
|
* Please keep in mind that if you want apply visual changes,
|
51
48
|
* you have to call manually the `render` method on the instance of Handsontable.
|
52
49
|
*
|
@@ -68,45 +65,10 @@ var _hoveredColumn = /*#__PURE__*/new WeakMap();
|
|
68
65
|
var _rootElementOffset = /*#__PURE__*/new WeakMap();
|
69
66
|
var _hasRowHeaders = /*#__PURE__*/new WeakMap();
|
70
67
|
var _fixedColumnsStart = /*#__PURE__*/new WeakMap();
|
71
|
-
var
|
72
|
-
var _onMouseMove = /*#__PURE__*/new WeakSet();
|
73
|
-
var _onBeforeOnCellMouseOver = /*#__PURE__*/new WeakSet();
|
74
|
-
var _onMouseUp = /*#__PURE__*/new WeakSet();
|
75
|
-
var _onAfterScrollVertically = /*#__PURE__*/new WeakSet();
|
76
|
-
var _onAfterLoadData = /*#__PURE__*/new WeakSet();
|
68
|
+
var _ManualColumnMove_brand = /*#__PURE__*/new WeakSet();
|
77
69
|
class ManualColumnMove extends _base.BasePlugin {
|
78
70
|
constructor() {
|
79
71
|
super(...arguments);
|
80
|
-
/**
|
81
|
-
* Callback for the `afterLoadData` hook.
|
82
|
-
*
|
83
|
-
* @private
|
84
|
-
*/
|
85
|
-
_classPrivateMethodInitSpec(this, _onAfterLoadData);
|
86
|
-
/**
|
87
|
-
* `afterScrollHorizontally` hook callback. Fired the table was scrolled horizontally.
|
88
|
-
*/
|
89
|
-
_classPrivateMethodInitSpec(this, _onAfterScrollVertically);
|
90
|
-
/**
|
91
|
-
* `onMouseUp` hook callback.
|
92
|
-
*/
|
93
|
-
_classPrivateMethodInitSpec(this, _onMouseUp);
|
94
|
-
/**
|
95
|
-
* 'beforeOnCellMouseOver' hook callback. Fired when pointer was over cell.
|
96
|
-
*
|
97
|
-
* @param {MouseEvent} event `mouseover` event properties.
|
98
|
-
* @param {CellCoords} coords Visual cell coordinates where was fired event.
|
99
|
-
* @param {HTMLElement} TD Cell represented as HTMLElement.
|
100
|
-
* @param {object} controller An object with properties `row`, `column` and `cell`. Each property contains
|
101
|
-
* a boolean value that allows or disallows changing the selection for that particular area.
|
102
|
-
*/
|
103
|
-
_classPrivateMethodInitSpec(this, _onBeforeOnCellMouseOver);
|
104
|
-
/**
|
105
|
-
* 'mouseMove' event callback. Fired when pointer move on document.documentElement.
|
106
|
-
*
|
107
|
-
* @param {MouseEvent} event `mousemove` event properties.
|
108
|
-
*/
|
109
|
-
_classPrivateMethodInitSpec(this, _onMouseMove);
|
110
72
|
/**
|
111
73
|
* Change the behavior of selection / dragging.
|
112
74
|
*
|
@@ -116,88 +78,55 @@ class ManualColumnMove extends _base.BasePlugin {
|
|
116
78
|
* @param {object} controller An object with properties `row`, `column` and `cell`. Each property contains
|
117
79
|
* a boolean value that allows or disallows changing the selection for that particular area.
|
118
80
|
*/
|
119
|
-
_classPrivateMethodInitSpec(this,
|
81
|
+
_classPrivateMethodInitSpec(this, _ManualColumnMove_brand);
|
120
82
|
/**
|
121
83
|
* Backlight UI object.
|
122
84
|
*
|
123
85
|
* @type {object}
|
124
86
|
*/
|
125
|
-
_classPrivateFieldInitSpec(this, _backlight,
|
126
|
-
writable: true,
|
127
|
-
value: new _backlight2.default(this.hot)
|
128
|
-
});
|
87
|
+
_classPrivateFieldInitSpec(this, _backlight, new _backlight2.default(this.hot));
|
129
88
|
/**
|
130
89
|
* Guideline UI object.
|
131
90
|
*
|
132
91
|
* @type {object}
|
133
92
|
*/
|
134
|
-
_classPrivateFieldInitSpec(this, _guideline,
|
135
|
-
writable: true,
|
136
|
-
value: new _guideline2.default(this.hot)
|
137
|
-
});
|
93
|
+
_classPrivateFieldInitSpec(this, _guideline, new _guideline2.default(this.hot));
|
138
94
|
/**
|
139
95
|
* @type {number[]}
|
140
96
|
*/
|
141
|
-
_classPrivateFieldInitSpec(this, _columnsToMove,
|
142
|
-
writable: true,
|
143
|
-
value: []
|
144
|
-
});
|
97
|
+
_classPrivateFieldInitSpec(this, _columnsToMove, []);
|
145
98
|
/**
|
146
99
|
* @type {number}
|
147
100
|
*/
|
148
|
-
_classPrivateFieldInitSpec(this, _countCols,
|
149
|
-
writable: true,
|
150
|
-
value: 0
|
151
|
-
});
|
101
|
+
_classPrivateFieldInitSpec(this, _countCols, 0);
|
152
102
|
/**
|
153
103
|
* @type {boolean}
|
154
104
|
*/
|
155
|
-
_classPrivateFieldInitSpec(this, _pressed,
|
156
|
-
writable: true,
|
157
|
-
value: false
|
158
|
-
});
|
105
|
+
_classPrivateFieldInitSpec(this, _pressed, false);
|
159
106
|
/**
|
160
107
|
* @type {object}
|
161
108
|
*/
|
162
|
-
_classPrivateFieldInitSpec(this, _target, {
|
163
|
-
writable: true,
|
164
|
-
value: {}
|
165
|
-
});
|
109
|
+
_classPrivateFieldInitSpec(this, _target, {});
|
166
110
|
/**
|
167
111
|
* @type {number}
|
168
112
|
*/
|
169
|
-
_classPrivateFieldInitSpec(this, _cachedDropIndex,
|
170
|
-
writable: true,
|
171
|
-
value: void 0
|
172
|
-
});
|
113
|
+
_classPrivateFieldInitSpec(this, _cachedDropIndex, void 0);
|
173
114
|
/**
|
174
115
|
* @type {number}
|
175
116
|
*/
|
176
|
-
_classPrivateFieldInitSpec(this, _hoveredColumn,
|
177
|
-
writable: true,
|
178
|
-
value: void 0
|
179
|
-
});
|
117
|
+
_classPrivateFieldInitSpec(this, _hoveredColumn, void 0);
|
180
118
|
/**
|
181
119
|
* @type {number}
|
182
120
|
*/
|
183
|
-
_classPrivateFieldInitSpec(this, _rootElementOffset,
|
184
|
-
writable: true,
|
185
|
-
value: void 0
|
186
|
-
});
|
121
|
+
_classPrivateFieldInitSpec(this, _rootElementOffset, void 0);
|
187
122
|
/**
|
188
123
|
* @type {boolean}
|
189
124
|
*/
|
190
|
-
_classPrivateFieldInitSpec(this, _hasRowHeaders,
|
191
|
-
writable: true,
|
192
|
-
value: void 0
|
193
|
-
});
|
125
|
+
_classPrivateFieldInitSpec(this, _hasRowHeaders, void 0);
|
194
126
|
/**
|
195
127
|
* @type {number}
|
196
128
|
*/
|
197
|
-
_classPrivateFieldInitSpec(this, _fixedColumnsStart,
|
198
|
-
writable: true,
|
199
|
-
value: void 0
|
200
|
-
});
|
129
|
+
_classPrivateFieldInitSpec(this, _fixedColumnsStart, void 0);
|
201
130
|
}
|
202
131
|
static get PLUGIN_KEY() {
|
203
132
|
return PLUGIN_KEY;
|
@@ -227,20 +156,20 @@ class ManualColumnMove extends _base.BasePlugin {
|
|
227
156
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
228
157
|
args[_key] = arguments[_key];
|
229
158
|
}
|
230
|
-
return
|
159
|
+
return _assertClassBrand(_ManualColumnMove_brand, _this, _onBeforeOnCellMouseDown).call(_this, ...args);
|
231
160
|
});
|
232
161
|
this.addHook('beforeOnCellMouseOver', function () {
|
233
162
|
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
234
163
|
args[_key2] = arguments[_key2];
|
235
164
|
}
|
236
|
-
return
|
165
|
+
return _assertClassBrand(_ManualColumnMove_brand, _this, _onBeforeOnCellMouseOver).call(_this, ...args);
|
237
166
|
});
|
238
|
-
this.addHook('afterScrollVertically', () =>
|
167
|
+
this.addHook('afterScrollVertically', () => _assertClassBrand(_ManualColumnMove_brand, this, _onAfterScrollVertically).call(this));
|
239
168
|
this.addHook('afterLoadData', function () {
|
240
169
|
for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
241
170
|
args[_key3] = arguments[_key3];
|
242
171
|
}
|
243
|
-
return
|
172
|
+
return _assertClassBrand(_ManualColumnMove_brand, _this, _onAfterLoadData).call(_this, ...args);
|
244
173
|
});
|
245
174
|
this.buildPluginUI();
|
246
175
|
this.registerEvents();
|
@@ -269,8 +198,8 @@ class ManualColumnMove extends _base.BasePlugin {
|
|
269
198
|
disablePlugin() {
|
270
199
|
(0, _element.removeClass)(this.hot.rootElement, CSS_PLUGIN);
|
271
200
|
this.unregisterEvents();
|
272
|
-
_classPrivateFieldGet(
|
273
|
-
_classPrivateFieldGet(
|
201
|
+
_classPrivateFieldGet(_backlight, this).destroy();
|
202
|
+
_classPrivateFieldGet(_guideline, this).destroy();
|
274
203
|
super.disablePlugin();
|
275
204
|
}
|
276
205
|
|
@@ -279,7 +208,7 @@ class ManualColumnMove extends _base.BasePlugin {
|
|
279
208
|
*
|
280
209
|
* @param {number} column Visual column index to be moved.
|
281
210
|
* @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.
|
282
|
-
* 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).
|
211
|
+
* 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).
|
283
212
|
* @fires Hooks#beforeColumnMove
|
284
213
|
* @fires Hooks#afterColumnMove
|
285
214
|
* @returns {boolean}
|
@@ -293,16 +222,16 @@ class ManualColumnMove extends _base.BasePlugin {
|
|
293
222
|
*
|
294
223
|
* @param {Array} columns Array of visual column indexes to be moved.
|
295
224
|
* @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.
|
296
|
-
* 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).
|
225
|
+
* 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).
|
297
226
|
* @fires Hooks#beforeColumnMove
|
298
227
|
* @fires Hooks#afterColumnMove
|
299
228
|
* @returns {boolean}
|
300
229
|
*/
|
301
230
|
moveColumns(columns, finalIndex) {
|
302
|
-
const dropIndex = _classPrivateFieldGet(
|
231
|
+
const dropIndex = _classPrivateFieldGet(_cachedDropIndex, this);
|
303
232
|
const movePossible = this.isMovePossible(columns, finalIndex);
|
304
233
|
const beforeMoveHook = this.hot.runHooks('beforeColumnMove', columns, finalIndex, dropIndex, movePossible);
|
305
|
-
_classPrivateFieldSet(
|
234
|
+
_classPrivateFieldSet(_cachedDropIndex, this, undefined);
|
306
235
|
if (beforeMoveHook === false) {
|
307
236
|
return;
|
308
237
|
}
|
@@ -319,7 +248,7 @@ class ManualColumnMove extends _base.BasePlugin {
|
|
319
248
|
*
|
320
249
|
* @param {number} column Visual column index to be dragged.
|
321
250
|
* @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.
|
322
|
-
* To check visualization of drop index please take a look at [documentation](@/guides/columns/column-moving.md#drag-and-move-actions-of-manualcolumnmove-plugin).
|
251
|
+
* 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).
|
323
252
|
* @fires Hooks#beforeColumnMove
|
324
253
|
* @fires Hooks#afterColumnMove
|
325
254
|
* @returns {boolean}
|
@@ -333,14 +262,14 @@ class ManualColumnMove extends _base.BasePlugin {
|
|
333
262
|
*
|
334
263
|
* @param {Array} columns Array of visual column indexes to be dragged.
|
335
264
|
* @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.
|
336
|
-
* To check visualization of drop index please take a look at [documentation](@/guides/columns/column-moving.md#drag-and-move-actions-of-manualcolumnmove-plugin).
|
265
|
+
* 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).
|
337
266
|
* @fires Hooks#beforeColumnMove
|
338
267
|
* @fires Hooks#afterColumnMove
|
339
268
|
* @returns {boolean}
|
340
269
|
*/
|
341
270
|
dragColumns(columns, dropIndex) {
|
342
271
|
const finalIndex = this.countFinalIndex(columns, dropIndex);
|
343
|
-
_classPrivateFieldSet(
|
272
|
+
_classPrivateFieldSet(_cachedDropIndex, this, dropIndex);
|
344
273
|
return this.moveColumns(columns, finalIndex);
|
345
274
|
}
|
346
275
|
|
@@ -350,7 +279,7 @@ class ManualColumnMove extends _base.BasePlugin {
|
|
350
279
|
*
|
351
280
|
* @param {Array} movedColumns Array of visual column indexes to be moved.
|
352
281
|
* @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.
|
353
|
-
* 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).
|
282
|
+
* 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).
|
354
283
|
* @returns {boolean}
|
355
284
|
*/
|
356
285
|
isMovePossible(movedColumns, finalIndex) {
|
@@ -373,7 +302,7 @@ class ManualColumnMove extends _base.BasePlugin {
|
|
373
302
|
* @private
|
374
303
|
* @param {Array} movedColumns Array of visual column indexes to be moved.
|
375
304
|
* @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.
|
376
|
-
* 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).
|
305
|
+
* 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).
|
377
306
|
* @returns {boolean}
|
378
307
|
*/
|
379
308
|
isColumnOrderChanged(movedColumns, finalIndex) {
|
@@ -496,7 +425,7 @@ class ManualColumnMove extends _base.BasePlugin {
|
|
496
425
|
*/
|
497
426
|
refreshPositions() {
|
498
427
|
const firstVisible = this.hot.view.getFirstFullyVisibleColumn();
|
499
|
-
if (this.isFixedColumnsStart(_classPrivateFieldGet(
|
428
|
+
if (this.isFixedColumnsStart(_classPrivateFieldGet(_hoveredColumn, this)) && firstVisible > 0) {
|
500
429
|
this.hot.scrollViewportTo({
|
501
430
|
col: this.hot.columnIndexMapper.getNearestNotHiddenIndex(firstVisible - 1, -1)
|
502
431
|
});
|
@@ -504,45 +433,45 @@ class ManualColumnMove extends _base.BasePlugin {
|
|
504
433
|
const wtTable = this.hot.view._wt.wtTable;
|
505
434
|
const scrollableElement = this.hot.view._wt.wtOverlays.scrollableElement;
|
506
435
|
const scrollStart = typeof scrollableElement.scrollX === 'number' ? scrollableElement.scrollX : scrollableElement.scrollLeft;
|
507
|
-
let tdOffsetStart = this.hot.view.THEAD.offsetLeft + this.getColumnsWidth(0, _classPrivateFieldGet(
|
436
|
+
let tdOffsetStart = this.hot.view.THEAD.offsetLeft + this.getColumnsWidth(0, _classPrivateFieldGet(_hoveredColumn, this) - 1);
|
508
437
|
const hiderWidth = wtTable.hider.offsetWidth;
|
509
438
|
const tbodyOffsetLeft = wtTable.TBODY.offsetLeft;
|
510
|
-
const backlightElemMarginStart = _classPrivateFieldGet(
|
511
|
-
const backlightElemWidth = _classPrivateFieldGet(
|
439
|
+
const backlightElemMarginStart = _classPrivateFieldGet(_backlight, this).getOffset().start;
|
440
|
+
const backlightElemWidth = _classPrivateFieldGet(_backlight, this).getSize().width;
|
512
441
|
let rowHeaderWidth = 0;
|
513
442
|
let mouseOffsetStart = 0;
|
514
443
|
if (this.hot.isRtl()) {
|
515
444
|
const rootWindow = this.hot.rootWindow;
|
516
445
|
const containerWidth = (0, _element.outerWidth)(this.hot.rootElement);
|
517
|
-
const gridMostRightPos = rootWindow.innerWidth - _classPrivateFieldGet(
|
518
|
-
mouseOffsetStart = rootWindow.innerWidth - _classPrivateFieldGet(
|
446
|
+
const gridMostRightPos = rootWindow.innerWidth - _classPrivateFieldGet(_rootElementOffset, this) - containerWidth;
|
447
|
+
mouseOffsetStart = rootWindow.innerWidth - _classPrivateFieldGet(_target, this).eventPageX - gridMostRightPos - (scrollableElement.scrollX === undefined ? scrollStart : 0);
|
519
448
|
} else {
|
520
|
-
mouseOffsetStart = _classPrivateFieldGet(
|
449
|
+
mouseOffsetStart = _classPrivateFieldGet(_target, this).eventPageX - (_classPrivateFieldGet(_rootElementOffset, this) - (scrollableElement.scrollX === undefined ? scrollStart : 0));
|
521
450
|
}
|
522
|
-
if (_classPrivateFieldGet(
|
451
|
+
if (_classPrivateFieldGet(_hasRowHeaders, this)) {
|
523
452
|
rowHeaderWidth = this.hot.view._wt.wtOverlays.inlineStartOverlay.clone.wtTable.getColumnHeader(-1).offsetWidth;
|
524
453
|
}
|
525
|
-
if (this.isFixedColumnsStart(_classPrivateFieldGet(
|
454
|
+
if (this.isFixedColumnsStart(_classPrivateFieldGet(_hoveredColumn, this))) {
|
526
455
|
tdOffsetStart += scrollStart;
|
527
456
|
}
|
528
457
|
tdOffsetStart += rowHeaderWidth;
|
529
|
-
if (_classPrivateFieldGet(
|
458
|
+
if (_classPrivateFieldGet(_hoveredColumn, this) < 0) {
|
530
459
|
// if hover on rowHeader
|
531
|
-
if (_classPrivateFieldGet(
|
532
|
-
_classPrivateFieldGet(
|
460
|
+
if (_classPrivateFieldGet(_fixedColumnsStart, this) > 0) {
|
461
|
+
_classPrivateFieldGet(_target, this).col = 0;
|
533
462
|
} else {
|
534
|
-
_classPrivateFieldGet(
|
463
|
+
_classPrivateFieldGet(_target, this).col = firstVisible > 0 ? firstVisible - 1 : firstVisible;
|
535
464
|
}
|
536
|
-
} else if (_classPrivateFieldGet(
|
537
|
-
const newCoordsCol = _classPrivateFieldGet(
|
465
|
+
} else if (_classPrivateFieldGet(_target, this).TD.offsetWidth / 2 + tdOffsetStart <= mouseOffsetStart) {
|
466
|
+
const newCoordsCol = _classPrivateFieldGet(_hoveredColumn, this) >= _classPrivateFieldGet(_countCols, this) ? _classPrivateFieldGet(_countCols, this) - 1 : _classPrivateFieldGet(_hoveredColumn, this);
|
538
467
|
|
539
468
|
// if hover on right part of TD
|
540
|
-
_classPrivateFieldGet(
|
469
|
+
_classPrivateFieldGet(_target, this).col = newCoordsCol + 1;
|
541
470
|
// unfortunately first column is bigger than rest
|
542
|
-
tdOffsetStart += _classPrivateFieldGet(
|
471
|
+
tdOffsetStart += _classPrivateFieldGet(_target, this).TD.offsetWidth;
|
543
472
|
} else {
|
544
473
|
// elsewhere on table
|
545
|
-
_classPrivateFieldGet(
|
474
|
+
_classPrivateFieldGet(_target, this).col = _classPrivateFieldGet(_hoveredColumn, this);
|
546
475
|
}
|
547
476
|
let backlightStart = mouseOffsetStart;
|
548
477
|
let guidelineStart = tdOffsetStart;
|
@@ -559,11 +488,11 @@ class ManualColumnMove extends _base.BasePlugin {
|
|
559
488
|
} else if (guidelineStart === 0) {
|
560
489
|
// guideline has got `margin-left: -1px` as default
|
561
490
|
guidelineStart = 1;
|
562
|
-
} else if (scrollableElement.scrollX !== undefined && _classPrivateFieldGet(
|
563
|
-
guidelineStart -= _classPrivateFieldGet(
|
491
|
+
} else if (scrollableElement.scrollX !== undefined && _classPrivateFieldGet(_hoveredColumn, this) < _classPrivateFieldGet(_fixedColumnsStart, this)) {
|
492
|
+
guidelineStart -= _classPrivateFieldGet(_rootElementOffset, this) <= scrollableElement.scrollX ? _classPrivateFieldGet(_rootElementOffset, this) : 0;
|
564
493
|
}
|
565
|
-
_classPrivateFieldGet(
|
566
|
-
_classPrivateFieldGet(
|
494
|
+
_classPrivateFieldGet(_backlight, this).setPosition(null, backlightStart);
|
495
|
+
_classPrivateFieldGet(_guideline, this).setPosition(null, guidelineStart);
|
567
496
|
}
|
568
497
|
|
569
498
|
/**
|
@@ -575,8 +504,8 @@ class ManualColumnMove extends _base.BasePlugin {
|
|
575
504
|
const {
|
576
505
|
documentElement
|
577
506
|
} = this.hot.rootDocument;
|
578
|
-
this.eventManager.addEventListener(documentElement, 'mousemove', event =>
|
579
|
-
this.eventManager.addEventListener(documentElement, 'mouseup', () =>
|
507
|
+
this.eventManager.addEventListener(documentElement, 'mousemove', event => _assertClassBrand(_ManualColumnMove_brand, this, _onMouseMove).call(this, event));
|
508
|
+
this.eventManager.addEventListener(documentElement, 'mouseup', () => _assertClassBrand(_ManualColumnMove_brand, this, _onMouseUp).call(this));
|
580
509
|
}
|
581
510
|
|
582
511
|
/**
|
@@ -593,36 +522,43 @@ class ManualColumnMove extends _base.BasePlugin {
|
|
593
522
|
* @private
|
594
523
|
*/
|
595
524
|
buildPluginUI() {
|
596
|
-
_classPrivateFieldGet(
|
597
|
-
_classPrivateFieldGet(
|
525
|
+
_classPrivateFieldGet(_backlight, this).build();
|
526
|
+
_classPrivateFieldGet(_guideline, this).build();
|
598
527
|
}
|
528
|
+
|
529
|
+
/**
|
530
|
+
* Callback for the `afterLoadData` hook.
|
531
|
+
*
|
532
|
+
* @private
|
533
|
+
*/
|
534
|
+
|
599
535
|
/**
|
600
536
|
* Destroys the plugin instance.
|
601
537
|
*/
|
602
538
|
destroy() {
|
603
|
-
_classPrivateFieldGet(
|
604
|
-
_classPrivateFieldGet(
|
539
|
+
_classPrivateFieldGet(_backlight, this).destroy();
|
540
|
+
_classPrivateFieldGet(_guideline, this).destroy();
|
605
541
|
super.destroy();
|
606
542
|
}
|
607
543
|
}
|
608
544
|
exports.ManualColumnMove = ManualColumnMove;
|
609
|
-
function
|
545
|
+
function _onBeforeOnCellMouseDown(event, coords, TD, controller) {
|
610
546
|
const wtTable = this.hot.view._wt.wtTable;
|
611
547
|
const isHeaderSelection = this.hot.selection.isSelectedByColumnHeader();
|
612
548
|
const selection = this.hot.getSelectedRangeLast();
|
613
549
|
// This block action shouldn't be handled below.
|
614
550
|
const isSortingElement = (0, _element.hasClass)(event.target, 'sortAction');
|
615
|
-
if (!selection || !isHeaderSelection || _classPrivateFieldGet(
|
616
|
-
_classPrivateFieldSet(
|
617
|
-
_classPrivateFieldGet(
|
551
|
+
if (!selection || !isHeaderSelection || _classPrivateFieldGet(_pressed, this) || event.button !== 0 || isSortingElement) {
|
552
|
+
_classPrivateFieldSet(_pressed, this, false);
|
553
|
+
_classPrivateFieldGet(_columnsToMove, this).length = 0;
|
618
554
|
(0, _element.removeClass)(this.hot.rootElement, [CSS_ON_MOVING, CSS_SHOW_UI]);
|
619
555
|
return;
|
620
556
|
}
|
621
|
-
const guidelineIsNotReady = _classPrivateFieldGet(
|
622
|
-
const backlightIsNotReady = _classPrivateFieldGet(
|
557
|
+
const guidelineIsNotReady = _classPrivateFieldGet(_guideline, this).isBuilt() && !_classPrivateFieldGet(_guideline, this).isAppended();
|
558
|
+
const backlightIsNotReady = _classPrivateFieldGet(_backlight, this).isBuilt() && !_classPrivateFieldGet(_backlight, this).isAppended();
|
623
559
|
if (guidelineIsNotReady && backlightIsNotReady) {
|
624
|
-
_classPrivateFieldGet(
|
625
|
-
_classPrivateFieldGet(
|
560
|
+
_classPrivateFieldGet(_guideline, this).appendTo(wtTable.hider);
|
561
|
+
_classPrivateFieldGet(_backlight, this).appendTo(wtTable.hider);
|
626
562
|
}
|
627
563
|
const {
|
628
564
|
from,
|
@@ -632,47 +568,61 @@ function _onBeforeOnCellMouseDown2(event, coords, TD, controller) {
|
|
632
568
|
const end = Math.max(from.col, to.col);
|
633
569
|
if (coords.row < 0 && coords.col >= start && coords.col <= end) {
|
634
570
|
controller.column = true;
|
635
|
-
_classPrivateFieldSet(
|
571
|
+
_classPrivateFieldSet(_pressed, this, true);
|
636
572
|
const eventOffsetX = TD.firstChild ? (0, _event.offsetRelativeTo)(event, TD.firstChild).x : event.offsetX;
|
637
|
-
_classPrivateFieldGet(
|
638
|
-
_classPrivateFieldSet(
|
639
|
-
_classPrivateFieldGet(
|
640
|
-
_classPrivateFieldGet(
|
641
|
-
_classPrivateFieldSet(
|
642
|
-
_classPrivateFieldSet(
|
643
|
-
_classPrivateFieldSet(
|
644
|
-
_classPrivateFieldSet(
|
645
|
-
_classPrivateFieldSet(
|
646
|
-
const countColumnsFrom = _classPrivateFieldGet(
|
573
|
+
_classPrivateFieldGet(_target, this).eventPageX = event.pageX;
|
574
|
+
_classPrivateFieldSet(_hoveredColumn, this, coords.col);
|
575
|
+
_classPrivateFieldGet(_target, this).TD = TD;
|
576
|
+
_classPrivateFieldGet(_target, this).col = coords.col;
|
577
|
+
_classPrivateFieldSet(_columnsToMove, this, this.prepareColumnsToMoving(start, end));
|
578
|
+
_classPrivateFieldSet(_hasRowHeaders, this, !!this.hot.getSettings().rowHeaders);
|
579
|
+
_classPrivateFieldSet(_countCols, this, this.hot.countCols());
|
580
|
+
_classPrivateFieldSet(_fixedColumnsStart, this, this.hot.getSettings().fixedColumnsStart);
|
581
|
+
_classPrivateFieldSet(_rootElementOffset, this, (0, _element.offset)(this.hot.rootElement).left);
|
582
|
+
const countColumnsFrom = _classPrivateFieldGet(_hasRowHeaders, this) ? -1 : 0;
|
647
583
|
const topPos = wtTable.holder.scrollTop + wtTable.getColumnHeaderHeight(0) + 1;
|
648
|
-
const fixedColumnsStart = coords.col < _classPrivateFieldGet(
|
584
|
+
const fixedColumnsStart = coords.col < _classPrivateFieldGet(_fixedColumnsStart, this);
|
649
585
|
const horizontalScrollPosition = this.hot.view._wt.wtOverlays.inlineStartOverlay.getOverlayOffset();
|
650
586
|
const offsetX = Math.abs(eventOffsetX - (this.hot.isRtl() ? TD.offsetWidth : 0));
|
651
587
|
const inlineOffset = this.getColumnsWidth(start, coords.col - 1) + offsetX;
|
652
588
|
const inlinePos = this.getColumnsWidth(countColumnsFrom, start - 1) + (fixedColumnsStart ? horizontalScrollPosition : 0) + inlineOffset;
|
653
|
-
_classPrivateFieldGet(
|
654
|
-
_classPrivateFieldGet(
|
655
|
-
_classPrivateFieldGet(
|
589
|
+
_classPrivateFieldGet(_backlight, this).setPosition(topPos, inlinePos);
|
590
|
+
_classPrivateFieldGet(_backlight, this).setSize(this.getColumnsWidth(start, end), wtTable.hider.offsetHeight - topPos);
|
591
|
+
_classPrivateFieldGet(_backlight, this).setOffset(null, -inlineOffset);
|
656
592
|
(0, _element.addClass)(this.hot.rootElement, CSS_ON_MOVING);
|
657
593
|
} else {
|
658
594
|
(0, _element.removeClass)(this.hot.rootElement, CSS_AFTER_SELECTION);
|
659
|
-
_classPrivateFieldSet(
|
660
|
-
_classPrivateFieldGet(
|
595
|
+
_classPrivateFieldSet(_pressed, this, false);
|
596
|
+
_classPrivateFieldGet(_columnsToMove, this).length = 0;
|
661
597
|
}
|
662
598
|
}
|
663
|
-
|
664
|
-
|
599
|
+
/**
|
600
|
+
* 'mouseMove' event callback. Fired when pointer move on document.documentElement.
|
601
|
+
*
|
602
|
+
* @param {MouseEvent} event `mousemove` event properties.
|
603
|
+
*/
|
604
|
+
function _onMouseMove(event) {
|
605
|
+
if (!_classPrivateFieldGet(_pressed, this)) {
|
665
606
|
return;
|
666
607
|
}
|
667
|
-
_classPrivateFieldGet(
|
608
|
+
_classPrivateFieldGet(_target, this).eventPageX = event.pageX;
|
668
609
|
this.refreshPositions();
|
669
610
|
}
|
670
|
-
|
611
|
+
/**
|
612
|
+
* 'beforeOnCellMouseOver' hook callback. Fired when pointer was over cell.
|
613
|
+
*
|
614
|
+
* @param {MouseEvent} event `mouseover` event properties.
|
615
|
+
* @param {CellCoords} coords Visual cell coordinates where was fired event.
|
616
|
+
* @param {HTMLElement} TD Cell represented as HTMLElement.
|
617
|
+
* @param {object} controller An object with properties `row`, `column` and `cell`. Each property contains
|
618
|
+
* a boolean value that allows or disallows changing the selection for that particular area.
|
619
|
+
*/
|
620
|
+
function _onBeforeOnCellMouseOver(event, coords, TD, controller) {
|
671
621
|
const selectedRange = this.hot.getSelectedRangeLast();
|
672
|
-
if (!selectedRange || !_classPrivateFieldGet(
|
622
|
+
if (!selectedRange || !_classPrivateFieldGet(_pressed, this)) {
|
673
623
|
return;
|
674
624
|
}
|
675
|
-
if (_classPrivateFieldGet(
|
625
|
+
if (_classPrivateFieldGet(_columnsToMove, this).indexOf(coords.col) > -1) {
|
676
626
|
(0, _element.removeClass)(this.hot.rootElement, CSS_SHOW_UI);
|
677
627
|
} else {
|
678
628
|
(0, _element.addClass)(this.hot.rootElement, CSS_SHOW_UI);
|
@@ -680,14 +630,17 @@ function _onBeforeOnCellMouseOver2(event, coords, TD, controller) {
|
|
680
630
|
controller.row = true;
|
681
631
|
controller.column = true;
|
682
632
|
controller.cell = true;
|
683
|
-
_classPrivateFieldSet(
|
684
|
-
_classPrivateFieldGet(
|
633
|
+
_classPrivateFieldSet(_hoveredColumn, this, coords.col);
|
634
|
+
_classPrivateFieldGet(_target, this).TD = TD;
|
685
635
|
}
|
686
|
-
|
687
|
-
|
688
|
-
|
689
|
-
|
690
|
-
|
636
|
+
/**
|
637
|
+
* `onMouseUp` hook callback.
|
638
|
+
*/
|
639
|
+
function _onMouseUp() {
|
640
|
+
const target = _classPrivateFieldGet(_target, this).col;
|
641
|
+
const columnsLen = _classPrivateFieldGet(_columnsToMove, this).length;
|
642
|
+
_classPrivateFieldSet(_hoveredColumn, this, undefined);
|
643
|
+
_classPrivateFieldSet(_pressed, this, false);
|
691
644
|
(0, _element.removeClass)(this.hot.rootElement, [CSS_ON_MOVING, CSS_SHOW_UI, CSS_AFTER_SELECTION]);
|
692
645
|
if (this.hot.selection.isSelectedByColumnHeader()) {
|
693
646
|
(0, _element.addClass)(this.hot.rootElement, CSS_AFTER_SELECTION);
|
@@ -695,10 +648,10 @@ function _onMouseUp2() {
|
|
695
648
|
if (columnsLen < 1 || target === undefined) {
|
696
649
|
return;
|
697
650
|
}
|
698
|
-
const firstMovedVisualColumn = _classPrivateFieldGet(
|
651
|
+
const firstMovedVisualColumn = _classPrivateFieldGet(_columnsToMove, this)[0];
|
699
652
|
const firstMovedPhysicalColumn = this.hot.toPhysicalColumn(firstMovedVisualColumn);
|
700
|
-
const movePerformed = this.dragColumns(_classPrivateFieldGet(
|
701
|
-
_classPrivateFieldGet(
|
653
|
+
const movePerformed = this.dragColumns(_classPrivateFieldGet(_columnsToMove, this), target);
|
654
|
+
_classPrivateFieldGet(_columnsToMove, this).length = 0;
|
702
655
|
if (movePerformed === true) {
|
703
656
|
this.persistentStateSave();
|
704
657
|
this.hot.render();
|
@@ -708,14 +661,17 @@ function _onMouseUp2() {
|
|
708
661
|
this.hot.selectColumns(selectionStart, selectionEnd);
|
709
662
|
}
|
710
663
|
}
|
711
|
-
|
664
|
+
/**
|
665
|
+
* `afterScrollHorizontally` hook callback. Fired the table was scrolled horizontally.
|
666
|
+
*/
|
667
|
+
function _onAfterScrollVertically() {
|
712
668
|
const wtTable = this.hot.view._wt.wtTable;
|
713
669
|
const headerHeight = wtTable.getColumnHeaderHeight(0) + 1;
|
714
670
|
const scrollTop = wtTable.holder.scrollTop;
|
715
671
|
const posTop = headerHeight + scrollTop;
|
716
|
-
_classPrivateFieldGet(
|
717
|
-
_classPrivateFieldGet(
|
672
|
+
_classPrivateFieldGet(_backlight, this).setPosition(posTop);
|
673
|
+
_classPrivateFieldGet(_backlight, this).setSize(null, wtTable.hider.offsetHeight - posTop);
|
718
674
|
}
|
719
|
-
function
|
675
|
+
function _onAfterLoadData() {
|
720
676
|
this.moveBySettingsOrLoad();
|
721
677
|
}
|