handsontable 14.2.0 → 14.3.0-next-3fa6b18-20240410
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/3rdparty/walkontable/src/calculator/renderAllColumns.js +1 -1
- package/3rdparty/walkontable/src/calculator/renderAllColumns.mjs +1 -1
- package/3rdparty/walkontable/src/calculator/renderAllRows.js +1 -1
- package/3rdparty/walkontable/src/calculator/renderAllRows.mjs +1 -1
- package/3rdparty/walkontable/src/calculator/viewportColumns.js +13 -18
- package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +13 -18
- package/3rdparty/walkontable/src/calculator/viewportRows.js +11 -16
- package/3rdparty/walkontable/src/calculator/viewportRows.mjs +11 -16
- package/3rdparty/walkontable/src/cell/coords.js +13 -18
- package/3rdparty/walkontable/src/cell/coords.mjs +13 -18
- package/3rdparty/walkontable/src/cell/range.d.ts +2 -1
- package/3rdparty/walkontable/src/cell/range.js +42 -30
- package/3rdparty/walkontable/src/cell/range.mjs +42 -30
- package/3rdparty/walkontable/src/core/_base.js +2 -2
- package/3rdparty/walkontable/src/core/_base.mjs +2 -2
- package/3rdparty/walkontable/src/core/clone.js +1 -1
- package/3rdparty/walkontable/src/core/clone.mjs +1 -1
- package/3rdparty/walkontable/src/event.js +72 -104
- package/3rdparty/walkontable/src/event.mjs +72 -104
- package/3rdparty/walkontable/src/filter/column.js +1 -1
- package/3rdparty/walkontable/src/filter/column.mjs +1 -1
- package/3rdparty/walkontable/src/filter/row.js +1 -1
- package/3rdparty/walkontable/src/filter/row.mjs +1 -1
- package/3rdparty/walkontable/src/index.js +1 -1
- package/3rdparty/walkontable/src/overlay/_base.js +1 -1
- package/3rdparty/walkontable/src/overlay/_base.mjs +1 -1
- package/3rdparty/walkontable/src/overlay/bottom.js +1 -1
- package/3rdparty/walkontable/src/overlay/bottom.mjs +1 -1
- package/3rdparty/walkontable/src/overlay/inlineStart.js +15 -1
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +16 -2
- package/3rdparty/walkontable/src/overlay/top.js +12 -1
- package/3rdparty/walkontable/src/overlay/top.mjs +13 -2
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +1 -1
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +1 -1
- package/3rdparty/walkontable/src/overlays.js +47 -5
- package/3rdparty/walkontable/src/overlays.mjs +47 -5
- package/3rdparty/walkontable/src/renderer/_base.js +1 -1
- package/3rdparty/walkontable/src/renderer/_base.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/cells.js +1 -1
- package/3rdparty/walkontable/src/renderer/cells.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +1 -1
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/rows.js +1 -1
- package/3rdparty/walkontable/src/renderer/rows.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/table.js +1 -1
- package/3rdparty/walkontable/src/renderer/table.mjs +1 -1
- package/3rdparty/walkontable/src/scroll.js +16 -18
- package/3rdparty/walkontable/src/scroll.mjs +16 -18
- package/3rdparty/walkontable/src/selection/manager.js +48 -69
- package/3rdparty/walkontable/src/selection/manager.mjs +48 -69
- package/3rdparty/walkontable/src/selection/scanner.js +33 -42
- package/3rdparty/walkontable/src/selection/scanner.mjs +33 -42
- package/3rdparty/walkontable/src/settings.js +1 -1
- package/3rdparty/walkontable/src/settings.mjs +1 -1
- package/3rdparty/walkontable/src/table.js +1 -1
- package/3rdparty/walkontable/src/table.mjs +1 -1
- package/3rdparty/walkontable/src/utils/column.js +1 -1
- package/3rdparty/walkontable/src/utils/column.mjs +1 -1
- package/3rdparty/walkontable/src/utils/columnStretching.js +28 -45
- package/3rdparty/walkontable/src/utils/columnStretching.mjs +28 -45
- package/3rdparty/walkontable/src/utils/nodesPool.js +1 -1
- package/3rdparty/walkontable/src/utils/nodesPool.mjs +1 -1
- package/3rdparty/walkontable/src/utils/orderView/view.js +2 -2
- package/3rdparty/walkontable/src/utils/orderView/view.mjs +2 -2
- package/3rdparty/walkontable/src/utils/orderView/viewSize.js +1 -1
- package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +1 -1
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +1 -1
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +1 -1
- package/3rdparty/walkontable/src/utils/row.js +1 -1
- package/3rdparty/walkontable/src/utils/row.mjs +1 -1
- package/CHANGELOG.md +20 -0
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/core/viewportScroll/index.js +4 -1
- package/core/viewportScroll/index.mjs +4 -1
- package/core/viewportScroll/scrollStrategies/focusScroll.js +15 -0
- package/core/viewportScroll/scrollStrategies/focusScroll.mjs +11 -0
- package/core.d.ts +4 -3
- package/core.js +98 -43
- package/core.mjs +98 -43
- package/dataMap/dataMap.js +1 -1
- package/dataMap/dataMap.mjs +1 -1
- package/dataMap/dataSource.js +2 -2
- package/dataMap/dataSource.mjs +2 -2
- package/dataMap/metaManager/lazyFactoryMap.js +3 -5
- package/dataMap/metaManager/lazyFactoryMap.mjs +2 -4
- package/dataMap/metaManager/metaLayers/cellMeta.js +2 -2
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +2 -2
- package/dataMap/metaManager/metaLayers/columnMeta.js +1 -1
- package/dataMap/metaManager/metaLayers/columnMeta.mjs +1 -1
- package/dataMap/metaManager/metaLayers/globalMeta.js +1 -1
- package/dataMap/metaManager/metaLayers/globalMeta.mjs +1 -1
- package/dataMap/metaManager/metaLayers/tableMeta.js +1 -1
- package/dataMap/metaManager/metaLayers/tableMeta.mjs +1 -1
- package/dataMap/metaManager/metaSchema.js +272 -272
- package/dataMap/metaManager/metaSchema.mjs +272 -272
- package/dataMap/metaManager/mods/dynamicCellMeta.js +1 -1
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +1 -1
- package/dataMap/metaManager/mods/extendMetaProperties.js +1 -1
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +1 -1
- package/dataMap/replaceData.js +1 -1
- package/dataMap/replaceData.mjs +1 -1
- package/dist/handsontable.css +4 -4
- package/dist/handsontable.full.css +4 -4
- package/dist/handsontable.full.js +9814 -10020
- package/dist/handsontable.full.min.css +3 -3
- package/dist/handsontable.full.min.js +292 -292
- package/dist/handsontable.js +7484 -7056
- package/dist/handsontable.min.css +3 -3
- package/dist/handsontable.min.js +25 -25
- package/dist/languages/all.min.js +1 -1
- package/dist/languages/ar-AR.min.js +1 -1
- package/dist/languages/cs-CZ.min.js +1 -1
- package/dist/languages/de-CH.min.js +1 -1
- package/dist/languages/de-DE.min.js +1 -1
- package/dist/languages/en-US.min.js +1 -1
- package/dist/languages/es-MX.min.js +1 -1
- package/dist/languages/fr-FR.min.js +1 -1
- package/dist/languages/hr-HR.min.js +1 -1
- package/dist/languages/it-IT.min.js +1 -1
- package/dist/languages/ja-JP.min.js +1 -1
- package/dist/languages/ko-KR.min.js +1 -1
- package/dist/languages/lv-LV.min.js +1 -1
- package/dist/languages/nb-NO.min.js +1 -1
- package/dist/languages/nl-NL.min.js +1 -1
- package/dist/languages/pl-PL.min.js +1 -1
- package/dist/languages/pt-BR.min.js +1 -1
- package/dist/languages/ru-RU.min.js +1 -1
- package/dist/languages/sr-SP.min.js +1 -1
- package/dist/languages/zh-CN.min.js +1 -1
- package/dist/languages/zh-TW.min.js +1 -1
- package/editorManager.js +26 -24
- package/editorManager.mjs +26 -24
- package/editors/autocompleteEditor/autocompleteEditor.js +7 -11
- package/editors/autocompleteEditor/autocompleteEditor.mjs +7 -11
- package/editors/baseEditor/baseEditor.js +1 -1
- package/editors/baseEditor/baseEditor.mjs +1 -1
- package/editors/dateEditor/dateEditor.js +49 -11
- package/editors/dateEditor/dateEditor.mjs +49 -11
- package/editors/selectEditor/selectEditor.js +20 -19
- package/editors/selectEditor/selectEditor.mjs +20 -19
- package/editors/textEditor/textEditor.js +1 -1
- package/editors/textEditor/textEditor.mjs +1 -1
- package/eventManager.js +2 -2
- package/eventManager.mjs +2 -2
- package/focusManager.js +64 -82
- package/focusManager.mjs +64 -82
- package/helpers/dom/element.js +23 -1
- package/helpers/dom/element.mjs +21 -1
- package/helpers/mixed.js +2 -2
- package/helpers/mixed.mjs +2 -2
- package/helpers/object.js +2 -2
- package/helpers/object.mjs +2 -2
- package/i18n/languages/ar-AR.d.ts +5 -0
- package/i18n/languages/ar-AR.js +1 -1
- package/i18n/languages/cs-CZ.d.ts +5 -0
- package/i18n/languages/cs-CZ.js +1 -1
- package/i18n/languages/de-CH.js +1 -1
- package/i18n/languages/de-DE.js +1 -1
- package/i18n/languages/en-US.js +1 -1
- package/i18n/languages/es-MX.js +1 -1
- package/i18n/languages/fr-FR.js +1 -1
- package/i18n/languages/hr-HR.d.ts +5 -0
- package/i18n/languages/hr-HR.js +1 -1
- package/i18n/languages/it-IT.js +1 -1
- package/i18n/languages/ja-JP.js +1 -1
- package/i18n/languages/ko-KR.js +1 -1
- package/i18n/languages/lv-LV.js +1 -1
- package/i18n/languages/nb-NO.js +1 -1
- package/i18n/languages/nl-NL.js +1 -1
- package/i18n/languages/pl-PL.js +1 -1
- package/i18n/languages/pt-BR.js +1 -1
- package/i18n/languages/ru-RU.js +1 -1
- package/i18n/languages/sr-SP.d.ts +5 -0
- package/i18n/languages/sr-SP.js +1 -1
- package/i18n/languages/zh-CN.js +1 -1
- package/i18n/languages/zh-TW.js +1 -1
- package/i18n/registry.js +1 -1
- package/index.d.ts +10 -0
- package/index.js +1 -1
- package/package.json +14 -10
- package/pluginHooks.d.ts +4 -3
- package/pluginHooks.js +143 -82
- package/pluginHooks.mjs +143 -82
- package/plugins/autoColumnSize/autoColumnSize.js +50 -66
- package/plugins/autoColumnSize/autoColumnSize.mjs +50 -66
- package/plugins/autoRowSize/autoRowSize.js +29 -35
- package/plugins/autoRowSize/autoRowSize.mjs +29 -35
- package/plugins/autofill/autofill.js +31 -39
- package/plugins/autofill/autofill.mjs +31 -39
- package/plugins/base/base.js +13 -18
- package/plugins/base/base.mjs +13 -18
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +6 -6
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +6 -6
- package/plugins/collapsibleColumns/collapsibleColumns.js +60 -51
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +60 -51
- package/plugins/columnSorting/columnSorting.js +50 -46
- package/plugins/columnSorting/columnSorting.mjs +50 -46
- package/plugins/columnSorting/columnStatesManager.js +1 -1
- package/plugins/columnSorting/columnStatesManager.mjs +1 -1
- package/plugins/columnSummary/columnSummary.js +36 -40
- package/plugins/columnSummary/columnSummary.mjs +36 -40
- package/plugins/columnSummary/endpoints.js +1 -1
- package/plugins/columnSummary/endpoints.mjs +1 -1
- package/plugins/comments/commentEditor.js +1 -1
- package/plugins/comments/commentEditor.mjs +1 -1
- package/plugins/comments/comments.js +117 -159
- package/plugins/comments/comments.mjs +117 -159
- package/plugins/comments/contextMenuItem/addEditComment.js +1 -1
- package/plugins/comments/contextMenuItem/readOnlyComment.js +1 -1
- package/plugins/comments/contextMenuItem/removeComment.js +1 -1
- package/plugins/comments/displaySwitch.js +1 -1
- package/plugins/comments/displaySwitch.mjs +1 -1
- package/plugins/contextMenu/commandExecutor.js +1 -1
- package/plugins/contextMenu/commandExecutor.mjs +1 -1
- package/plugins/contextMenu/contextMenu.js +24 -30
- package/plugins/contextMenu/contextMenu.mjs +24 -30
- package/plugins/contextMenu/itemsFactory.js +2 -2
- package/plugins/contextMenu/itemsFactory.mjs +2 -2
- package/plugins/contextMenu/menu/cursor.js +1 -1
- package/plugins/contextMenu/menu/cursor.mjs +1 -1
- package/plugins/contextMenu/menu/defaultShortcutsList.js +26 -10
- package/plugins/contextMenu/menu/defaultShortcutsList.mjs +26 -10
- package/plugins/contextMenu/menu/menu.js +14 -22
- package/plugins/contextMenu/menu/menu.mjs +14 -22
- package/plugins/contextMenu/menu/positioner.js +41 -58
- package/plugins/contextMenu/menu/positioner.mjs +41 -58
- package/plugins/contextMenu/predefinedItems/alignment.js +1 -1
- package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -1
- package/plugins/contextMenu/predefinedItems/columnLeft.js +1 -1
- package/plugins/contextMenu/predefinedItems/columnRight.js +1 -1
- package/plugins/contextMenu/predefinedItems/index.js +1 -1
- package/plugins/contextMenu/predefinedItems/readOnly.js +1 -1
- package/plugins/contextMenu/predefinedItems/redo.js +1 -1
- package/plugins/contextMenu/predefinedItems/removeColumn.js +1 -1
- package/plugins/contextMenu/predefinedItems/removeRow.js +1 -1
- package/plugins/contextMenu/predefinedItems/rowAbove.js +1 -1
- package/plugins/contextMenu/predefinedItems/rowBelow.js +1 -1
- package/plugins/contextMenu/predefinedItems/undo.js +1 -1
- package/plugins/copyPaste/contextMenuItem/cut.js +1 -1
- package/plugins/copyPaste/copyPaste.js +120 -161
- package/plugins/copyPaste/copyPaste.mjs +120 -161
- package/plugins/copyPaste/copyableRanges.js +43 -66
- package/plugins/copyPaste/copyableRanges.mjs +43 -66
- package/plugins/customBorders/contextMenuItem/bottom.js +1 -1
- package/plugins/customBorders/contextMenuItem/left.js +1 -1
- package/plugins/customBorders/contextMenuItem/noBorders.js +1 -1
- package/plugins/customBorders/contextMenuItem/right.js +1 -1
- package/plugins/customBorders/contextMenuItem/top.js +1 -1
- package/plugins/customBorders/customBorders.js +14 -16
- package/plugins/customBorders/customBorders.mjs +13 -15
- package/plugins/dragToScroll/dragToScroll.js +7 -7
- package/plugins/dragToScroll/dragToScroll.mjs +7 -7
- package/plugins/dropdownMenu/dropdownMenu.js +84 -110
- package/plugins/dropdownMenu/dropdownMenu.mjs +84 -110
- package/plugins/exportFile/dataProvider.js +2 -2
- package/plugins/exportFile/dataProvider.mjs +2 -2
- package/plugins/exportFile/exportFile.js +2 -2
- package/plugins/exportFile/exportFile.mjs +1 -1
- package/plugins/exportFile/types/_base.js +1 -1
- package/plugins/exportFile/types/_base.mjs +1 -1
- package/plugins/filters/component/_base.js +1 -1
- package/plugins/filters/component/_base.mjs +1 -1
- package/plugins/filters/component/actionBar.js +11 -11
- package/plugins/filters/component/actionBar.mjs +9 -9
- package/plugins/filters/component/condition.js +15 -17
- package/plugins/filters/component/condition.mjs +14 -16
- package/plugins/filters/component/operators.js +7 -7
- package/plugins/filters/component/operators.mjs +7 -7
- package/plugins/filters/component/value.js +26 -30
- package/plugins/filters/component/value.mjs +25 -29
- package/plugins/filters/condition/beginsWith.js +1 -1
- package/plugins/filters/condition/between.js +1 -1
- package/plugins/filters/condition/contains.js +1 -1
- package/plugins/filters/condition/date/after.js +1 -1
- package/plugins/filters/condition/date/before.js +1 -1
- package/plugins/filters/condition/date/today.js +1 -1
- package/plugins/filters/condition/date/tomorrow.js +1 -1
- package/plugins/filters/condition/date/yesterday.js +1 -1
- package/plugins/filters/condition/empty.js +1 -1
- package/plugins/filters/condition/endsWith.js +1 -1
- package/plugins/filters/condition/equal.js +1 -1
- package/plugins/filters/condition/greaterThan.js +1 -1
- package/plugins/filters/condition/greaterThanOrEqual.js +1 -1
- package/plugins/filters/condition/lessThan.js +1 -1
- package/plugins/filters/condition/lessThanOrEqual.js +1 -1
- package/plugins/filters/condition/none.js +1 -1
- package/plugins/filters/condition/notBetween.js +1 -1
- package/plugins/filters/condition/notContains.js +1 -1
- package/plugins/filters/condition/notEmpty.js +1 -1
- package/plugins/filters/condition/notEqual.js +1 -1
- package/plugins/filters/conditionCollection.js +1 -1
- package/plugins/filters/conditionCollection.mjs +1 -1
- package/plugins/filters/conditionUpdateObserver.js +23 -25
- package/plugins/filters/conditionUpdateObserver.mjs +23 -25
- package/plugins/filters/dataFilter.js +2 -2
- package/plugins/filters/dataFilter.mjs +2 -2
- package/plugins/filters/filters.js +84 -98
- package/plugins/filters/filters.mjs +83 -97
- package/plugins/filters/logicalOperations/conjunction.js +1 -1
- package/plugins/filters/logicalOperations/disjunction.js +1 -1
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +1 -1
- package/plugins/filters/ui/_base.js +2 -2
- package/plugins/filters/ui/_base.mjs +1 -1
- package/plugins/filters/ui/input.js +13 -19
- package/plugins/filters/ui/input.mjs +13 -19
- package/plugins/filters/ui/link.js +8 -13
- package/plugins/filters/ui/link.mjs +8 -13
- package/plugins/filters/ui/multipleSelect.js +86 -113
- package/plugins/filters/ui/multipleSelect.mjs +85 -112
- package/plugins/filters/ui/radioInput.js +12 -20
- package/plugins/filters/ui/radioInput.mjs +12 -20
- package/plugins/filters/ui/select.js +51 -73
- package/plugins/filters/ui/select.mjs +49 -71
- package/plugins/formulas/formulas.js +270 -328
- package/plugins/formulas/formulas.mjs +271 -329
- package/plugins/formulas/indexSyncer/axisSyncer.js +38 -61
- package/plugins/formulas/indexSyncer/axisSyncer.mjs +38 -61
- package/plugins/formulas/indexSyncer/index.js +25 -48
- package/plugins/formulas/indexSyncer/index.mjs +25 -48
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +1 -1
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +1 -1
- package/plugins/hiddenColumns/hiddenColumns.js +68 -87
- package/plugins/hiddenColumns/hiddenColumns.mjs +68 -87
- package/plugins/hiddenRows/contextMenuItem/hideRow.js +1 -1
- package/plugins/hiddenRows/contextMenuItem/showRow.js +1 -1
- package/plugins/hiddenRows/hiddenRows.js +67 -86
- package/plugins/hiddenRows/hiddenRows.mjs +67 -86
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -1
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -1
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +24 -32
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +25 -33
- package/plugins/manualColumnMove/manualColumnMove.js +133 -177
- package/plugins/manualColumnMove/manualColumnMove.mjs +133 -177
- package/plugins/manualColumnMove/ui/_base.js +1 -1
- package/plugins/manualColumnMove/ui/_base.mjs +1 -1
- package/plugins/manualColumnResize/manualColumnResize.js +169 -230
- package/plugins/manualColumnResize/manualColumnResize.mjs +169 -230
- package/plugins/manualRowMove/manualRowMove.js +106 -135
- package/plugins/manualRowMove/manualRowMove.mjs +106 -135
- package/plugins/manualRowMove/ui/_base.js +1 -1
- package/plugins/manualRowMove/ui/_base.mjs +1 -1
- package/plugins/manualRowResize/manualRowResize.js +150 -209
- package/plugins/manualRowResize/manualRowResize.mjs +150 -209
- package/plugins/mergeCells/calculations/autofill.js +1 -1
- package/plugins/mergeCells/calculations/autofill.mjs +1 -1
- package/plugins/mergeCells/calculations/selection.js +3 -72
- package/plugins/mergeCells/calculations/selection.mjs +3 -72
- package/plugins/mergeCells/cellCoords.js +1 -1
- package/plugins/mergeCells/cellCoords.mjs +1 -1
- package/plugins/mergeCells/cellsCollection.js +118 -2
- package/plugins/mergeCells/cellsCollection.mjs +118 -2
- package/plugins/mergeCells/contextMenuItem/toggleMerge.js +12 -2
- package/plugins/mergeCells/contextMenuItem/toggleMerge.mjs +11 -1
- package/plugins/mergeCells/focusOrder.js +305 -0
- package/plugins/mergeCells/focusOrder.mjs +300 -0
- package/plugins/mergeCells/mergeCells.js +500 -398
- package/plugins/mergeCells/mergeCells.mjs +500 -398
- package/plugins/multiColumnSorting/multiColumnSorting.js +9 -3
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +9 -3
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +2 -2
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +2 -2
- package/plugins/nestedHeaders/nestedHeaders.js +206 -254
- package/plugins/nestedHeaders/nestedHeaders.mjs +207 -255
- package/plugins/nestedHeaders/stateManager/headersTree.js +21 -32
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +21 -32
- package/plugins/nestedHeaders/stateManager/index.js +30 -41
- package/plugins/nestedHeaders/stateManager/index.mjs +30 -41
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +19 -30
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +19 -30
- package/plugins/nestedHeaders/utils/ghostTable.js +1 -1
- package/plugins/nestedHeaders/utils/ghostTable.mjs +1 -1
- package/plugins/nestedRows/data/dataManager.js +2 -2
- package/plugins/nestedRows/data/dataManager.mjs +2 -2
- package/plugins/nestedRows/nestedRows.js +154 -185
- package/plugins/nestedRows/nestedRows.mjs +155 -186
- package/plugins/nestedRows/ui/_base.js +1 -1
- package/plugins/nestedRows/ui/_base.mjs +1 -1
- package/plugins/nestedRows/ui/contextMenu.js +13 -17
- package/plugins/nestedRows/ui/contextMenu.mjs +11 -15
- package/plugins/nestedRows/utils/rowMoveController.js +6 -6
- package/plugins/nestedRows/utils/rowMoveController.mjs +6 -6
- package/plugins/persistentState/persistentState.js +1 -1
- package/plugins/persistentState/persistentState.mjs +1 -1
- package/plugins/persistentState/storage.js +3 -3
- package/plugins/persistentState/storage.mjs +3 -3
- package/plugins/search/search.js +8 -8
- package/plugins/search/search.mjs +8 -8
- package/plugins/touchScroll/touchScroll.js +16 -20
- package/plugins/touchScroll/touchScroll.mjs +17 -21
- package/plugins/trimRows/trimRows.js +7 -7
- package/plugins/trimRows/trimRows.mjs +7 -7
- package/plugins/undoRedo/index.js +1 -1
- package/renderers/checkboxRenderer/checkboxRenderer.js +8 -5
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +8 -5
- package/selection/highlight/highlight.js +16 -18
- package/selection/highlight/highlight.mjs +15 -17
- package/selection/highlight/visualSelection.js +3 -1
- package/selection/highlight/visualSelection.mjs +3 -1
- package/selection/range.js +3 -5
- package/selection/range.mjs +2 -4
- package/selection/selection.js +227 -69
- package/selection/selection.mjs +225 -67
- package/selection/transformation.js +149 -118
- package/selection/transformation.mjs +149 -118
- package/shortcutContexts/commands/editor/closeAndSave.js +2 -2
- package/shortcutContexts/commands/editor/closeAndSave.mjs +2 -2
- package/shortcutContexts/commands/editor/open.js +18 -3
- package/shortcutContexts/commands/editor/open.mjs +18 -3
- package/shortcutContexts/commands/extendCellsSelection/down.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/down.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/left.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/left.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/right.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/right.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toColumns.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +9 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +9 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +10 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +10 -3
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +3 -1
- package/shortcutContexts/commands/extendCellsSelection/toRows.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/up.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/up.mjs +1 -1
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +6 -1
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +6 -1
- package/shortcutContexts/commands/moveCellSelection/inlineStart.js +6 -1
- package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +6 -1
- package/shortcutContexts/grid.js +9 -3
- package/shortcutContexts/grid.mjs +9 -3
- package/shortcuts/context.js +3 -2
- package/shortcuts/context.mjs +3 -2
- package/shortcuts/manager.js +2 -2
- package/shortcuts/manager.mjs +2 -2
- package/tableView.js +53 -79
- package/tableView.mjs +53 -79
- package/translations/changesObservable/observable.js +21 -38
- package/translations/changesObservable/observable.mjs +21 -38
- package/translations/changesObservable/observer.js +7 -12
- package/translations/changesObservable/observer.mjs +6 -11
- package/translations/indexMapper.js +1 -1
- package/translations/indexMapper.mjs +1 -1
- package/translations/mapCollections/aggregatedCollection.js +2 -2
- package/translations/mapCollections/aggregatedCollection.mjs +2 -2
- package/translations/mapCollections/mapCollection.js +1 -1
- package/translations/mapCollections/mapCollection.mjs +1 -1
- package/translations/maps/indexMap.js +2 -2
- package/translations/maps/indexMap.mjs +2 -2
- package/translations/maps/linkedPhysicalIndexToValueMap.js +1 -1
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +1 -1
- package/utils/dataStructures/linkedList.js +7 -2
- package/utils/dataStructures/linkedList.mjs +7 -2
- package/utils/dataStructures/tree.js +2 -2
- package/utils/dataStructures/tree.mjs +2 -2
- package/utils/ghostTable.js +1 -1
- package/utils/ghostTable.mjs +1 -1
- package/utils/interval.js +27 -45
- package/utils/interval.mjs +27 -45
- package/utils/samplesGenerator.js +1 -1
- package/utils/samplesGenerator.mjs +1 -1
@@ -1,14 +1,11 @@
|
|
1
|
-
import "core-js/modules/es.array.push.js";
|
2
1
|
import "core-js/modules/es.error.cause.js";
|
2
|
+
import "core-js/modules/es.array.push.js";
|
3
3
|
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
4
4
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
5
5
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
6
|
-
function
|
7
|
-
function
|
8
|
-
function
|
9
|
-
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
|
10
|
-
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
11
|
-
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
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 { addClass, closest, hasClass, removeClass, outerWidth, isDetached } from "../../helpers/dom/element.mjs";
|
14
11
|
import { arrayEach } from "../../helpers/array.mjs";
|
@@ -49,13 +46,7 @@ var _dblclick = /*#__PURE__*/new WeakMap();
|
|
49
46
|
var _autoresizeTimeout = /*#__PURE__*/new WeakMap();
|
50
47
|
var _rowHeightsMap = /*#__PURE__*/new WeakMap();
|
51
48
|
var _config = /*#__PURE__*/new WeakMap();
|
52
|
-
var
|
53
|
-
var _onMouseDown = /*#__PURE__*/new WeakSet();
|
54
|
-
var _onMouseMove = /*#__PURE__*/new WeakSet();
|
55
|
-
var _onMouseUp = /*#__PURE__*/new WeakSet();
|
56
|
-
var _onContextMenu = /*#__PURE__*/new WeakSet();
|
57
|
-
var _onModifyRowHeight = /*#__PURE__*/new WeakSet();
|
58
|
-
var _onMapInit = /*#__PURE__*/new WeakSet();
|
49
|
+
var _ManualRowResize_brand = /*#__PURE__*/new WeakSet();
|
59
50
|
export class ManualRowResize extends BasePlugin {
|
60
51
|
static get PLUGIN_KEY() {
|
61
52
|
return PLUGIN_KEY;
|
@@ -70,162 +61,79 @@ export class ManualRowResize extends BasePlugin {
|
|
70
61
|
|
71
62
|
constructor(hotInstance) {
|
72
63
|
super(hotInstance);
|
73
|
-
/**
|
74
|
-
* Callback to call on map's `init` local hook.
|
75
|
-
*/
|
76
|
-
_classPrivateMethodInitSpec(this, _onMapInit);
|
77
|
-
/**
|
78
|
-
* Modifies the provided row height, based on the plugin settings.
|
79
|
-
*
|
80
|
-
* @param {number} height Row height.
|
81
|
-
* @param {number} row Visual row index.
|
82
|
-
* @returns {number}
|
83
|
-
*/
|
84
|
-
_classPrivateMethodInitSpec(this, _onModifyRowHeight);
|
85
|
-
/**
|
86
|
-
* Callback for "contextmenu" event triggered on element showing move handle. It removes handle and guide elements.
|
87
|
-
*/
|
88
|
-
_classPrivateMethodInitSpec(this, _onContextMenu);
|
89
|
-
/**
|
90
|
-
* 'mouseup' event callback - apply the row resizing.
|
91
|
-
*
|
92
|
-
* @fires Hooks#beforeRowResize
|
93
|
-
* @fires Hooks#afterRowResize
|
94
|
-
*/
|
95
|
-
_classPrivateMethodInitSpec(this, _onMouseUp);
|
96
|
-
/**
|
97
|
-
* 'mousemove' event callback - refresh the handle and guide positions, cache the new row height.
|
98
|
-
*
|
99
|
-
* @param {MouseEvent} event The mouse event.
|
100
|
-
*/
|
101
|
-
_classPrivateMethodInitSpec(this, _onMouseMove);
|
102
|
-
/**
|
103
|
-
* 'mousedown' event callback.
|
104
|
-
*
|
105
|
-
* @param {MouseEvent} event The mouse event.
|
106
|
-
*/
|
107
|
-
_classPrivateMethodInitSpec(this, _onMouseDown);
|
108
64
|
/**
|
109
65
|
* 'mouseover' event callback - set the handle position.
|
110
66
|
*
|
111
67
|
* @param {MouseEvent} event The mouse event.
|
112
68
|
*/
|
113
|
-
_classPrivateMethodInitSpec(this,
|
114
|
-
_classPrivateFieldInitSpec(this, _currentTH,
|
115
|
-
writable: true,
|
116
|
-
value: null
|
117
|
-
});
|
69
|
+
_classPrivateMethodInitSpec(this, _ManualRowResize_brand);
|
70
|
+
_classPrivateFieldInitSpec(this, _currentTH, null);
|
118
71
|
/**
|
119
72
|
* @type {number}
|
120
73
|
*/
|
121
|
-
_classPrivateFieldInitSpec(this, _currentRow,
|
122
|
-
writable: true,
|
123
|
-
value: null
|
124
|
-
});
|
74
|
+
_classPrivateFieldInitSpec(this, _currentRow, null);
|
125
75
|
/**
|
126
76
|
* @type {number[]}
|
127
77
|
*/
|
128
|
-
_classPrivateFieldInitSpec(this, _selectedRows,
|
129
|
-
writable: true,
|
130
|
-
value: []
|
131
|
-
});
|
78
|
+
_classPrivateFieldInitSpec(this, _selectedRows, []);
|
132
79
|
/**
|
133
80
|
* @type {number}
|
134
81
|
*/
|
135
|
-
_classPrivateFieldInitSpec(this, _currentHeight,
|
136
|
-
writable: true,
|
137
|
-
value: null
|
138
|
-
});
|
82
|
+
_classPrivateFieldInitSpec(this, _currentHeight, null);
|
139
83
|
/**
|
140
84
|
* @type {number}
|
141
85
|
*/
|
142
|
-
_classPrivateFieldInitSpec(this, _newSize,
|
143
|
-
writable: true,
|
144
|
-
value: null
|
145
|
-
});
|
86
|
+
_classPrivateFieldInitSpec(this, _newSize, null);
|
146
87
|
/**
|
147
88
|
* @type {number}
|
148
89
|
*/
|
149
|
-
_classPrivateFieldInitSpec(this, _startY,
|
150
|
-
writable: true,
|
151
|
-
value: null
|
152
|
-
});
|
90
|
+
_classPrivateFieldInitSpec(this, _startY, null);
|
153
91
|
/**
|
154
92
|
* @type {number}
|
155
93
|
*/
|
156
|
-
_classPrivateFieldInitSpec(this, _startHeight,
|
157
|
-
writable: true,
|
158
|
-
value: null
|
159
|
-
});
|
94
|
+
_classPrivateFieldInitSpec(this, _startHeight, null);
|
160
95
|
/**
|
161
96
|
* @type {number}
|
162
97
|
*/
|
163
|
-
_classPrivateFieldInitSpec(this, _startOffset,
|
164
|
-
writable: true,
|
165
|
-
value: null
|
166
|
-
});
|
98
|
+
_classPrivateFieldInitSpec(this, _startOffset, null);
|
167
99
|
/**
|
168
100
|
* @type {HTMLElement}
|
169
101
|
*/
|
170
|
-
_classPrivateFieldInitSpec(this, _handle,
|
171
|
-
writable: true,
|
172
|
-
value: this.hot.rootDocument.createElement('DIV')
|
173
|
-
});
|
102
|
+
_classPrivateFieldInitSpec(this, _handle, this.hot.rootDocument.createElement('DIV'));
|
174
103
|
/**
|
175
104
|
* @type {HTMLElement}
|
176
105
|
*/
|
177
|
-
_classPrivateFieldInitSpec(this, _guide,
|
178
|
-
writable: true,
|
179
|
-
value: this.hot.rootDocument.createElement('DIV')
|
180
|
-
});
|
106
|
+
_classPrivateFieldInitSpec(this, _guide, this.hot.rootDocument.createElement('DIV'));
|
181
107
|
/**
|
182
108
|
* @type {boolean}
|
183
109
|
*/
|
184
|
-
_classPrivateFieldInitSpec(this, _pressed,
|
185
|
-
writable: true,
|
186
|
-
value: false
|
187
|
-
});
|
110
|
+
_classPrivateFieldInitSpec(this, _pressed, false);
|
188
111
|
/**
|
189
112
|
* @type {boolean}
|
190
113
|
*/
|
191
|
-
_classPrivateFieldInitSpec(this, _isTriggeredByRMB,
|
192
|
-
writable: true,
|
193
|
-
value: false
|
194
|
-
});
|
114
|
+
_classPrivateFieldInitSpec(this, _isTriggeredByRMB, false);
|
195
115
|
/**
|
196
116
|
* @type {number}
|
197
117
|
*/
|
198
|
-
_classPrivateFieldInitSpec(this, _dblclick,
|
199
|
-
writable: true,
|
200
|
-
value: 0
|
201
|
-
});
|
118
|
+
_classPrivateFieldInitSpec(this, _dblclick, 0);
|
202
119
|
/**
|
203
120
|
* @type {number}
|
204
121
|
*/
|
205
|
-
_classPrivateFieldInitSpec(this, _autoresizeTimeout,
|
206
|
-
writable: true,
|
207
|
-
value: null
|
208
|
-
});
|
122
|
+
_classPrivateFieldInitSpec(this, _autoresizeTimeout, null);
|
209
123
|
/**
|
210
124
|
* PhysicalIndexToValueMap to keep and track widths for physical row indexes.
|
211
125
|
*
|
212
126
|
* @type {PhysicalIndexToValueMap}
|
213
127
|
*/
|
214
|
-
_classPrivateFieldInitSpec(this, _rowHeightsMap,
|
215
|
-
writable: true,
|
216
|
-
value: void 0
|
217
|
-
});
|
128
|
+
_classPrivateFieldInitSpec(this, _rowHeightsMap, void 0);
|
218
129
|
/**
|
219
130
|
* Private pool to save configuration from updateSettings.
|
220
131
|
*
|
221
132
|
* @type {object}
|
222
133
|
*/
|
223
|
-
_classPrivateFieldInitSpec(this, _config,
|
224
|
-
|
225
|
-
|
226
|
-
});
|
227
|
-
addClass(_classPrivateFieldGet(this, _handle), 'manualRowResizer');
|
228
|
-
addClass(_classPrivateFieldGet(this, _guide), 'manualRowResizerGuide');
|
134
|
+
_classPrivateFieldInitSpec(this, _config, void 0);
|
135
|
+
addClass(_classPrivateFieldGet(_handle, this), 'manualRowResizer');
|
136
|
+
addClass(_classPrivateFieldGet(_guide, this), 'manualRowResizerGuide');
|
229
137
|
}
|
230
138
|
|
231
139
|
/**
|
@@ -253,10 +161,10 @@ export class ManualRowResize extends BasePlugin {
|
|
253
161
|
if (this.enabled) {
|
254
162
|
return;
|
255
163
|
}
|
256
|
-
_classPrivateFieldSet(
|
257
|
-
_classPrivateFieldGet(
|
258
|
-
this.hot.rowIndexMapper.registerMap(this.pluginName, _classPrivateFieldGet(
|
259
|
-
this.addHook('modifyRowHeight', (height, row) =>
|
164
|
+
_classPrivateFieldSet(_rowHeightsMap, this, new IndexToValueMap());
|
165
|
+
_classPrivateFieldGet(_rowHeightsMap, this).addLocalHook('init', () => _assertClassBrand(_ManualRowResize_brand, this, _onMapInit).call(this));
|
166
|
+
this.hot.rowIndexMapper.registerMap(this.pluginName, _classPrivateFieldGet(_rowHeightsMap, this));
|
167
|
+
this.addHook('modifyRowHeight', (height, row) => _assertClassBrand(_ManualRowResize_brand, this, _onModifyRowHeight).call(this, height, row));
|
260
168
|
this.bindEvents();
|
261
169
|
super.enablePlugin();
|
262
170
|
}
|
@@ -277,7 +185,7 @@ export class ManualRowResize extends BasePlugin {
|
|
277
185
|
* Disables the plugin functionality for this Handsontable instance.
|
278
186
|
*/
|
279
187
|
disablePlugin() {
|
280
|
-
_classPrivateFieldSet(
|
188
|
+
_classPrivateFieldSet(_config, this, _classPrivateFieldGet(_rowHeightsMap, this).getValues());
|
281
189
|
this.hot.rowIndexMapper.unregisterMap(this.pluginName);
|
282
190
|
super.disablePlugin();
|
283
191
|
}
|
@@ -289,7 +197,7 @@ export class ManualRowResize extends BasePlugin {
|
|
289
197
|
* @fires Hooks#persistentStateSave
|
290
198
|
*/
|
291
199
|
saveManualRowHeights() {
|
292
|
-
this.hot.runHooks('persistentStateSave', PERSISTENT_STATE_KEY, _classPrivateFieldGet(
|
200
|
+
this.hot.runHooks('persistentStateSave', PERSISTENT_STATE_KEY, _classPrivateFieldGet(_rowHeightsMap, this).getValues());
|
293
201
|
}
|
294
202
|
|
295
203
|
/**
|
@@ -315,7 +223,7 @@ export class ManualRowResize extends BasePlugin {
|
|
315
223
|
setManualSize(row, height) {
|
316
224
|
const physicalRow = this.hot.toPhysicalRow(row);
|
317
225
|
const newHeight = Math.max(height, ViewportRowsCalculator.DEFAULT_HEIGHT);
|
318
|
-
_classPrivateFieldGet(
|
226
|
+
_classPrivateFieldGet(_rowHeightsMap, this).setValueAtIndex(physicalRow, newHeight);
|
319
227
|
return newHeight;
|
320
228
|
}
|
321
229
|
|
@@ -326,40 +234,40 @@ export class ManualRowResize extends BasePlugin {
|
|
326
234
|
* @param {HTMLCellElement} TH TH HTML element.
|
327
235
|
*/
|
328
236
|
setupHandlePosition(TH) {
|
329
|
-
_classPrivateFieldSet(
|
237
|
+
_classPrivateFieldSet(_currentTH, this, TH);
|
330
238
|
const {
|
331
239
|
view
|
332
240
|
} = this.hot;
|
333
241
|
const {
|
334
242
|
_wt: wt
|
335
243
|
} = view;
|
336
|
-
const cellCoords = wt.wtTable.getCoords(_classPrivateFieldGet(
|
244
|
+
const cellCoords = wt.wtTable.getCoords(_classPrivateFieldGet(_currentTH, this));
|
337
245
|
const row = cellCoords.row;
|
338
246
|
|
339
247
|
// Ignore row headers.
|
340
248
|
if (row < 0) {
|
341
249
|
return;
|
342
250
|
}
|
343
|
-
const headerWidth = outerWidth(_classPrivateFieldGet(
|
344
|
-
const box = _classPrivateFieldGet(
|
251
|
+
const headerWidth = outerWidth(_classPrivateFieldGet(_currentTH, this));
|
252
|
+
const box = _classPrivateFieldGet(_currentTH, this).getBoundingClientRect();
|
345
253
|
// Read "fixedRowsTop" and "fixedRowsBottom" through the Walkontable as in that context, the fixed
|
346
254
|
// rows are modified (reduced by the number of hidden rows) by TableView module.
|
347
255
|
const fixedRowTop = row < wt.getSetting('fixedRowsTop');
|
348
256
|
const fixedRowBottom = row >= view.countNotHiddenRowIndexes(0, 1) - wt.getSetting('fixedRowsBottom');
|
349
257
|
let relativeHeaderPosition;
|
350
258
|
if (fixedRowTop) {
|
351
|
-
relativeHeaderPosition = wt.wtOverlays.topInlineStartCornerOverlay.getRelativeCellPosition(_classPrivateFieldGet(
|
259
|
+
relativeHeaderPosition = wt.wtOverlays.topInlineStartCornerOverlay.getRelativeCellPosition(_classPrivateFieldGet(_currentTH, this), cellCoords.row, cellCoords.col);
|
352
260
|
} else if (fixedRowBottom) {
|
353
|
-
relativeHeaderPosition = wt.wtOverlays.bottomInlineStartCornerOverlay.getRelativeCellPosition(_classPrivateFieldGet(
|
261
|
+
relativeHeaderPosition = wt.wtOverlays.bottomInlineStartCornerOverlay.getRelativeCellPosition(_classPrivateFieldGet(_currentTH, this), cellCoords.row, cellCoords.col);
|
354
262
|
}
|
355
263
|
|
356
264
|
// If the TH is not a child of the top-left/bottom-left overlay, recalculate using
|
357
265
|
// the left overlay - as this overlay contains the rest of the headers.
|
358
266
|
if (!relativeHeaderPosition) {
|
359
|
-
relativeHeaderPosition = wt.wtOverlays.inlineStartOverlay.getRelativeCellPosition(_classPrivateFieldGet(
|
267
|
+
relativeHeaderPosition = wt.wtOverlays.inlineStartOverlay.getRelativeCellPosition(_classPrivateFieldGet(_currentTH, this), cellCoords.row, cellCoords.col);
|
360
268
|
}
|
361
|
-
_classPrivateFieldSet(
|
362
|
-
_classPrivateFieldSet(
|
269
|
+
_classPrivateFieldSet(_currentRow, this, this.hot.rowIndexMapper.getVisualFromRenderableIndex(row));
|
270
|
+
_classPrivateFieldSet(_selectedRows, this, []);
|
363
271
|
const isFullRowSelected = this.hot.selection.isSelectedByCorner() || this.hot.selection.isSelectedByRowHeader();
|
364
272
|
if (this.hot.selection.isSelected() && isFullRowSelected) {
|
365
273
|
const selectionRanges = this.hot.getSelectedRange();
|
@@ -369,23 +277,23 @@ export class ManualRowResize extends BasePlugin {
|
|
369
277
|
|
370
278
|
// Add every selected row for resize action.
|
371
279
|
rangeEach(fromRow, toRow, rowIndex => {
|
372
|
-
if (!_classPrivateFieldGet(
|
373
|
-
_classPrivateFieldGet(
|
280
|
+
if (!_classPrivateFieldGet(_selectedRows, this).includes(rowIndex)) {
|
281
|
+
_classPrivateFieldGet(_selectedRows, this).push(rowIndex);
|
374
282
|
}
|
375
283
|
});
|
376
284
|
});
|
377
285
|
}
|
378
286
|
|
379
287
|
// Resizing element beyond the current selection (also when there is no selection).
|
380
|
-
if (!_classPrivateFieldGet(
|
381
|
-
_classPrivateFieldSet(
|
288
|
+
if (!_classPrivateFieldGet(_selectedRows, this).includes(_classPrivateFieldGet(_currentRow, this))) {
|
289
|
+
_classPrivateFieldSet(_selectedRows, this, [_classPrivateFieldGet(_currentRow, this)]);
|
382
290
|
}
|
383
|
-
_classPrivateFieldSet(
|
384
|
-
_classPrivateFieldSet(
|
385
|
-
_classPrivateFieldGet(
|
386
|
-
_classPrivateFieldGet(
|
387
|
-
_classPrivateFieldGet(
|
388
|
-
this.hot.rootElement.appendChild(_classPrivateFieldGet(
|
291
|
+
_classPrivateFieldSet(_startOffset, this, relativeHeaderPosition.top - 6);
|
292
|
+
_classPrivateFieldSet(_startHeight, this, parseInt(box.height, 10));
|
293
|
+
_classPrivateFieldGet(_handle, this).style.top = `${_classPrivateFieldGet(_startOffset, this) + _classPrivateFieldGet(_startHeight, this)}px`;
|
294
|
+
_classPrivateFieldGet(_handle, this).style[this.inlineDir] = `${relativeHeaderPosition.start}px`;
|
295
|
+
_classPrivateFieldGet(_handle, this).style.width = `${headerWidth}px`;
|
296
|
+
this.hot.rootElement.appendChild(_classPrivateFieldGet(_handle, this));
|
389
297
|
}
|
390
298
|
|
391
299
|
/**
|
@@ -394,7 +302,7 @@ export class ManualRowResize extends BasePlugin {
|
|
394
302
|
* @private
|
395
303
|
*/
|
396
304
|
refreshHandlePosition() {
|
397
|
-
_classPrivateFieldGet(
|
305
|
+
_classPrivateFieldGet(_handle, this).style.top = `${_classPrivateFieldGet(_startOffset, this) + _classPrivateFieldGet(_currentHeight, this)}px`;
|
398
306
|
}
|
399
307
|
|
400
308
|
/**
|
@@ -403,15 +311,15 @@ export class ManualRowResize extends BasePlugin {
|
|
403
311
|
* @private
|
404
312
|
*/
|
405
313
|
setupGuidePosition() {
|
406
|
-
const handleWidth = parseInt(outerWidth(_classPrivateFieldGet(
|
407
|
-
const handleEndPosition = parseInt(_classPrivateFieldGet(
|
314
|
+
const handleWidth = parseInt(outerWidth(_classPrivateFieldGet(_handle, this)), 10);
|
315
|
+
const handleEndPosition = parseInt(_classPrivateFieldGet(_handle, this).style[this.inlineDir], 10) + handleWidth;
|
408
316
|
const maximumVisibleElementWidth = parseInt(this.hot.view.maximumVisibleElementWidth(0), 10);
|
409
|
-
addClass(_classPrivateFieldGet(
|
410
|
-
addClass(_classPrivateFieldGet(
|
411
|
-
_classPrivateFieldGet(
|
412
|
-
_classPrivateFieldGet(
|
413
|
-
_classPrivateFieldGet(
|
414
|
-
this.hot.rootElement.appendChild(_classPrivateFieldGet(
|
317
|
+
addClass(_classPrivateFieldGet(_handle, this), 'active');
|
318
|
+
addClass(_classPrivateFieldGet(_guide, this), 'active');
|
319
|
+
_classPrivateFieldGet(_guide, this).style.top = _classPrivateFieldGet(_handle, this).style.top;
|
320
|
+
_classPrivateFieldGet(_guide, this).style[this.inlineDir] = `${handleEndPosition}px`;
|
321
|
+
_classPrivateFieldGet(_guide, this).style.width = `${maximumVisibleElementWidth - handleWidth}px`;
|
322
|
+
this.hot.rootElement.appendChild(_classPrivateFieldGet(_guide, this));
|
415
323
|
}
|
416
324
|
|
417
325
|
/**
|
@@ -420,7 +328,7 @@ export class ManualRowResize extends BasePlugin {
|
|
420
328
|
* @private
|
421
329
|
*/
|
422
330
|
refreshGuidePosition() {
|
423
|
-
_classPrivateFieldGet(
|
331
|
+
_classPrivateFieldGet(_guide, this).style.top = _classPrivateFieldGet(_handle, this).style.top;
|
424
332
|
}
|
425
333
|
|
426
334
|
/**
|
@@ -429,8 +337,8 @@ export class ManualRowResize extends BasePlugin {
|
|
429
337
|
* @private
|
430
338
|
*/
|
431
339
|
hideHandleAndGuide() {
|
432
|
-
removeClass(_classPrivateFieldGet(
|
433
|
-
removeClass(_classPrivateFieldGet(
|
340
|
+
removeClass(_classPrivateFieldGet(_handle, this), 'active');
|
341
|
+
removeClass(_classPrivateFieldGet(_guide, this), 'active');
|
434
342
|
}
|
435
343
|
|
436
344
|
/**
|
@@ -477,10 +385,10 @@ export class ManualRowResize extends BasePlugin {
|
|
477
385
|
getActualRowHeight(row) {
|
478
386
|
// TODO: this should utilize `this.hot.getRowHeight` after it's fixed and working properly.
|
479
387
|
const walkontableHeight = this.hot.view._wt.wtTable.getRowHeight(row);
|
480
|
-
if (walkontableHeight !== undefined && _classPrivateFieldGet(
|
388
|
+
if (walkontableHeight !== undefined && _classPrivateFieldGet(_newSize, this) < walkontableHeight) {
|
481
389
|
return walkontableHeight;
|
482
390
|
}
|
483
|
-
return _classPrivateFieldGet(
|
391
|
+
return _classPrivateFieldGet(_newSize, this);
|
484
392
|
}
|
485
393
|
/**
|
486
394
|
* Auto-size row after doubleclick - callback.
|
@@ -498,31 +406,38 @@ export class ManualRowResize extends BasePlugin {
|
|
498
406
|
const resize = (row, forceRender) => {
|
499
407
|
const hookNewSize = this.hot.runHooks('beforeRowResize', this.getActualRowHeight(row), row, true);
|
500
408
|
if (hookNewSize !== undefined) {
|
501
|
-
_classPrivateFieldSet(
|
409
|
+
_classPrivateFieldSet(_newSize, this, hookNewSize);
|
502
410
|
}
|
503
|
-
this.setManualSize(row, _classPrivateFieldGet(
|
411
|
+
this.setManualSize(row, _classPrivateFieldGet(_newSize, this)); // double click sets auto row size
|
504
412
|
|
505
413
|
this.hot.runHooks('afterRowResize', this.getActualRowHeight(row), row, true);
|
506
414
|
if (forceRender) {
|
507
415
|
render();
|
508
416
|
}
|
509
417
|
};
|
510
|
-
if (_classPrivateFieldGet(
|
511
|
-
const selectedRowsLength = _classPrivateFieldGet(
|
418
|
+
if (_classPrivateFieldGet(_dblclick, this) >= 2) {
|
419
|
+
const selectedRowsLength = _classPrivateFieldGet(_selectedRows, this).length;
|
512
420
|
if (selectedRowsLength > 1) {
|
513
|
-
arrayEach(_classPrivateFieldGet(
|
421
|
+
arrayEach(_classPrivateFieldGet(_selectedRows, this), selectedRow => {
|
514
422
|
resize(selectedRow);
|
515
423
|
});
|
516
424
|
render();
|
517
425
|
} else {
|
518
|
-
arrayEach(_classPrivateFieldGet(
|
426
|
+
arrayEach(_classPrivateFieldGet(_selectedRows, this), selectedRow => {
|
519
427
|
resize(selectedRow, true);
|
520
428
|
});
|
521
429
|
}
|
522
430
|
}
|
523
|
-
_classPrivateFieldSet(
|
524
|
-
_classPrivateFieldSet(
|
431
|
+
_classPrivateFieldSet(_dblclick, this, 0);
|
432
|
+
_classPrivateFieldSet(_autoresizeTimeout, this, null);
|
525
433
|
}
|
434
|
+
|
435
|
+
/**
|
436
|
+
* 'mousedown' event callback.
|
437
|
+
*
|
438
|
+
* @param {MouseEvent} event The mouse event.
|
439
|
+
*/
|
440
|
+
|
526
441
|
/**
|
527
442
|
* Binds the mouse events.
|
528
443
|
*
|
@@ -533,12 +448,21 @@ export class ManualRowResize extends BasePlugin {
|
|
533
448
|
rootElement,
|
534
449
|
rootWindow
|
535
450
|
} = this.hot;
|
536
|
-
this.eventManager.addEventListener(rootElement, 'mouseover', e =>
|
537
|
-
this.eventManager.addEventListener(rootElement, 'mousedown', e =>
|
538
|
-
this.eventManager.addEventListener(rootWindow, 'mousemove', e =>
|
539
|
-
this.eventManager.addEventListener(rootWindow, 'mouseup', () =>
|
540
|
-
this.eventManager.addEventListener(_classPrivateFieldGet(
|
451
|
+
this.eventManager.addEventListener(rootElement, 'mouseover', e => _assertClassBrand(_ManualRowResize_brand, this, _onMouseOver).call(this, e));
|
452
|
+
this.eventManager.addEventListener(rootElement, 'mousedown', e => _assertClassBrand(_ManualRowResize_brand, this, _onMouseDown).call(this, e));
|
453
|
+
this.eventManager.addEventListener(rootWindow, 'mousemove', e => _assertClassBrand(_ManualRowResize_brand, this, _onMouseMove).call(this, e));
|
454
|
+
this.eventManager.addEventListener(rootWindow, 'mouseup', () => _assertClassBrand(_ManualRowResize_brand, this, _onMouseUp).call(this));
|
455
|
+
this.eventManager.addEventListener(_classPrivateFieldGet(_handle, this), 'contextmenu', () => _assertClassBrand(_ManualRowResize_brand, this, _onContextMenu).call(this));
|
541
456
|
}
|
457
|
+
|
458
|
+
/**
|
459
|
+
* Modifies the provided row height, based on the plugin settings.
|
460
|
+
*
|
461
|
+
* @param {number} height Row height.
|
462
|
+
* @param {number} row Visual row index.
|
463
|
+
* @returns {number}
|
464
|
+
*/
|
465
|
+
|
542
466
|
/**
|
543
467
|
* Destroys the plugin instance.
|
544
468
|
*/
|
@@ -546,7 +470,7 @@ export class ManualRowResize extends BasePlugin {
|
|
546
470
|
super.destroy();
|
547
471
|
}
|
548
472
|
}
|
549
|
-
function
|
473
|
+
function _onMouseOver(event) {
|
550
474
|
// Workaround for #6926 - if the `event.target` is temporarily detached, we can skip this callback and wait for
|
551
475
|
// the next `onmouseover`.
|
552
476
|
if (isDetached(event.target)) {
|
@@ -554,43 +478,54 @@ function _onMouseOver2(event) {
|
|
554
478
|
}
|
555
479
|
|
556
480
|
// A "mouseover" action is triggered right after executing "contextmenu" event. It should be ignored.
|
557
|
-
if (_classPrivateFieldGet(
|
481
|
+
if (_classPrivateFieldGet(_isTriggeredByRMB, this) === true) {
|
558
482
|
return;
|
559
483
|
}
|
560
484
|
if (this.checkIfRowHeader(event.target)) {
|
561
485
|
const th = this.getClosestTHParent(event.target);
|
562
486
|
if (th) {
|
563
|
-
if (!_classPrivateFieldGet(
|
487
|
+
if (!_classPrivateFieldGet(_pressed, this)) {
|
564
488
|
this.setupHandlePosition(th);
|
565
489
|
}
|
566
490
|
}
|
567
491
|
}
|
568
492
|
}
|
569
|
-
function
|
493
|
+
function _onMouseDown(event) {
|
570
494
|
if (hasClass(event.target, 'manualRowResizer')) {
|
571
|
-
this.setupHandlePosition(_classPrivateFieldGet(
|
495
|
+
this.setupHandlePosition(_classPrivateFieldGet(_currentTH, this));
|
572
496
|
this.setupGuidePosition();
|
573
|
-
_classPrivateFieldSet(
|
574
|
-
if (_classPrivateFieldGet(
|
575
|
-
_classPrivateFieldSet(
|
576
|
-
this.hot._registerTimeout(_classPrivateFieldGet(
|
497
|
+
_classPrivateFieldSet(_pressed, this, true);
|
498
|
+
if (_classPrivateFieldGet(_autoresizeTimeout, this) === null) {
|
499
|
+
_classPrivateFieldSet(_autoresizeTimeout, this, setTimeout(() => this.afterMouseDownTimeout(), 500));
|
500
|
+
this.hot._registerTimeout(_classPrivateFieldGet(_autoresizeTimeout, this));
|
577
501
|
}
|
578
|
-
_classPrivateFieldSet(
|
579
|
-
_classPrivateFieldSet(
|
580
|
-
_classPrivateFieldSet(
|
502
|
+
_classPrivateFieldSet(_dblclick, this, _classPrivateFieldGet(_dblclick, this) + 1);
|
503
|
+
_classPrivateFieldSet(_startY, this, event.pageY);
|
504
|
+
_classPrivateFieldSet(_newSize, this, _classPrivateFieldGet(_startHeight, this));
|
581
505
|
}
|
582
506
|
}
|
583
|
-
|
584
|
-
|
585
|
-
|
586
|
-
|
587
|
-
|
507
|
+
/**
|
508
|
+
* 'mousemove' event callback - refresh the handle and guide positions, cache the new row height.
|
509
|
+
*
|
510
|
+
* @param {MouseEvent} event The mouse event.
|
511
|
+
*/
|
512
|
+
function _onMouseMove(event) {
|
513
|
+
if (_classPrivateFieldGet(_pressed, this)) {
|
514
|
+
_classPrivateFieldSet(_currentHeight, this, _classPrivateFieldGet(_startHeight, this) + (event.pageY - _classPrivateFieldGet(_startY, this)));
|
515
|
+
arrayEach(_classPrivateFieldGet(_selectedRows, this), selectedRow => {
|
516
|
+
_classPrivateFieldSet(_newSize, this, this.setManualSize(selectedRow, _classPrivateFieldGet(_currentHeight, this)));
|
588
517
|
});
|
589
518
|
this.refreshHandlePosition();
|
590
519
|
this.refreshGuidePosition();
|
591
520
|
}
|
592
521
|
}
|
593
|
-
|
522
|
+
/**
|
523
|
+
* 'mouseup' event callback - apply the row resizing.
|
524
|
+
*
|
525
|
+
* @fires Hooks#beforeRowResize
|
526
|
+
* @fires Hooks#afterRowResize
|
527
|
+
*/
|
528
|
+
function _onMouseUp() {
|
594
529
|
const render = () => {
|
595
530
|
this.hot.forceFullRender = true;
|
596
531
|
this.hot.view.render(); // updates all
|
@@ -604,65 +539,71 @@ function _onMouseUp2() {
|
|
604
539
|
this.saveManualRowHeights();
|
605
540
|
this.hot.runHooks('afterRowResize', this.getActualRowHeight(row), row, false);
|
606
541
|
};
|
607
|
-
if (_classPrivateFieldGet(
|
542
|
+
if (_classPrivateFieldGet(_pressed, this)) {
|
608
543
|
this.hideHandleAndGuide();
|
609
|
-
_classPrivateFieldSet(
|
610
|
-
if (_classPrivateFieldGet(
|
611
|
-
const selectedRowsLength = _classPrivateFieldGet(
|
544
|
+
_classPrivateFieldSet(_pressed, this, false);
|
545
|
+
if (_classPrivateFieldGet(_newSize, this) !== _classPrivateFieldGet(_startHeight, this)) {
|
546
|
+
const selectedRowsLength = _classPrivateFieldGet(_selectedRows, this).length;
|
612
547
|
if (selectedRowsLength > 1) {
|
613
|
-
arrayEach(_classPrivateFieldGet(
|
548
|
+
arrayEach(_classPrivateFieldGet(_selectedRows, this), selectedRow => {
|
614
549
|
runHooks(selectedRow);
|
615
550
|
});
|
616
551
|
render();
|
617
552
|
} else {
|
618
|
-
arrayEach(_classPrivateFieldGet(
|
553
|
+
arrayEach(_classPrivateFieldGet(_selectedRows, this), selectedRow => {
|
619
554
|
runHooks(selectedRow, true);
|
620
555
|
});
|
621
556
|
}
|
622
557
|
}
|
623
|
-
this.setupHandlePosition(_classPrivateFieldGet(
|
558
|
+
this.setupHandlePosition(_classPrivateFieldGet(_currentTH, this));
|
624
559
|
}
|
625
560
|
}
|
626
|
-
|
561
|
+
/**
|
562
|
+
* Callback for "contextmenu" event triggered on element showing move handle. It removes handle and guide elements.
|
563
|
+
*/
|
564
|
+
function _onContextMenu() {
|
627
565
|
this.hideHandleAndGuide();
|
628
|
-
this.hot.rootElement.removeChild(_classPrivateFieldGet(
|
629
|
-
this.hot.rootElement.removeChild(_classPrivateFieldGet(
|
630
|
-
_classPrivateFieldSet(
|
631
|
-
_classPrivateFieldSet(
|
566
|
+
this.hot.rootElement.removeChild(_classPrivateFieldGet(_handle, this));
|
567
|
+
this.hot.rootElement.removeChild(_classPrivateFieldGet(_guide, this));
|
568
|
+
_classPrivateFieldSet(_pressed, this, false);
|
569
|
+
_classPrivateFieldSet(_isTriggeredByRMB, this, true);
|
632
570
|
|
633
571
|
// There is thrown "mouseover" event right after opening a context menu. This flag inform that handle
|
634
572
|
// shouldn't be drawn just after removing it.
|
635
573
|
this.hot._registerImmediate(() => {
|
636
|
-
_classPrivateFieldSet(
|
574
|
+
_classPrivateFieldSet(_isTriggeredByRMB, this, false);
|
637
575
|
});
|
638
576
|
}
|
639
|
-
function
|
577
|
+
function _onModifyRowHeight(height, row) {
|
640
578
|
let newHeight = height;
|
641
579
|
if (this.enabled) {
|
642
580
|
const physicalRow = this.hot.toPhysicalRow(row);
|
643
|
-
const rowHeight = _classPrivateFieldGet(
|
581
|
+
const rowHeight = _classPrivateFieldGet(_rowHeightsMap, this).getValueAtIndex(physicalRow);
|
644
582
|
if (this.hot.getSettings()[PLUGIN_KEY] && rowHeight) {
|
645
583
|
newHeight = rowHeight;
|
646
584
|
}
|
647
585
|
}
|
648
586
|
return newHeight;
|
649
587
|
}
|
650
|
-
|
588
|
+
/**
|
589
|
+
* Callback to call on map's `init` local hook.
|
590
|
+
*/
|
591
|
+
function _onMapInit() {
|
651
592
|
const initialSetting = this.hot.getSettings()[PLUGIN_KEY];
|
652
593
|
const loadedManualRowHeights = this.loadManualRowHeights();
|
653
594
|
this.hot.batchExecution(() => {
|
654
595
|
if (typeof loadedManualRowHeights !== 'undefined') {
|
655
596
|
loadedManualRowHeights.forEach((height, index) => {
|
656
|
-
_classPrivateFieldGet(
|
597
|
+
_classPrivateFieldGet(_rowHeightsMap, this).setValueAtIndex(index, height);
|
657
598
|
});
|
658
599
|
} else if (Array.isArray(initialSetting)) {
|
659
600
|
initialSetting.forEach((height, index) => {
|
660
|
-
_classPrivateFieldGet(
|
601
|
+
_classPrivateFieldGet(_rowHeightsMap, this).setValueAtIndex(index, height);
|
661
602
|
});
|
662
|
-
_classPrivateFieldSet(
|
663
|
-
} else if (initialSetting === true && Array.isArray(_classPrivateFieldGet(
|
664
|
-
_classPrivateFieldGet(
|
665
|
-
_classPrivateFieldGet(
|
603
|
+
_classPrivateFieldSet(_config, this, initialSetting);
|
604
|
+
} else if (initialSetting === true && Array.isArray(_classPrivateFieldGet(_config, this))) {
|
605
|
+
_classPrivateFieldGet(_config, this).forEach((height, index) => {
|
606
|
+
_classPrivateFieldGet(_rowHeightsMap, this).setValueAtIndex(index, height);
|
666
607
|
});
|
667
608
|
}
|
668
609
|
}, true);
|