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,11 +1,11 @@
|
|
1
|
-
import "core-js/modules/es.array.push.js";
|
2
1
|
import "core-js/modules/es.error.cause.js";
|
2
|
+
import "core-js/modules/es.array.push.js";
|
3
3
|
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
4
4
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
5
5
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
6
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
6
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
7
7
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
8
|
-
function
|
8
|
+
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
9
9
|
import { BasePlugin } from "../base/index.mjs";
|
10
10
|
import { hasOwnProperty, deepClone } from "../../helpers/object.mjs";
|
11
11
|
import { rangeEach } from "../../helpers/number.mjs";
|
@@ -31,7 +31,7 @@ export const PLUGIN_PRIORITY = 90;
|
|
31
31
|
* of an array.
|
32
32
|
*
|
33
33
|
* See [`customBorders` configuration option](@/api/options.md#customBorders) or go to
|
34
|
-
* [Custom cell borders demo](@/guides/cell-features/formatting-cells.md#custom-cell-borders) for more examples.
|
34
|
+
* [Custom cell borders demo](@/guides/cell-features/formatting-cells/formatting-cells.md#custom-cell-borders) for more examples.
|
35
35
|
*
|
36
36
|
* @example
|
37
37
|
* ```js
|
@@ -72,21 +72,16 @@ export const PLUGIN_PRIORITY = 90;
|
|
72
72
|
* ],
|
73
73
|
* ```
|
74
74
|
*/
|
75
|
-
var
|
76
|
-
var _onAfterInit = /*#__PURE__*/new WeakSet();
|
75
|
+
var _CustomBorders_brand = /*#__PURE__*/new WeakSet();
|
77
76
|
export class CustomBorders extends BasePlugin {
|
78
77
|
constructor() {
|
79
78
|
super(...arguments);
|
80
|
-
/**
|
81
|
-
* `afterInit` hook callback.
|
82
|
-
*/
|
83
|
-
_classPrivateMethodInitSpec(this, _onAfterInit);
|
84
79
|
/**
|
85
80
|
* Add border options to context menu.
|
86
81
|
*
|
87
82
|
* @param {object} defaultOptions Context menu items.
|
88
83
|
*/
|
89
|
-
_classPrivateMethodInitSpec(this,
|
84
|
+
_classPrivateMethodInitSpec(this, _CustomBorders_brand);
|
90
85
|
/**
|
91
86
|
* Saved borders.
|
92
87
|
*
|
@@ -118,8 +113,8 @@ export class CustomBorders extends BasePlugin {
|
|
118
113
|
if (this.enabled) {
|
119
114
|
return;
|
120
115
|
}
|
121
|
-
this.addHook('afterContextMenuDefaultOptions', options =>
|
122
|
-
this.addHook('init', () =>
|
116
|
+
this.addHook('afterContextMenuDefaultOptions', options => _assertClassBrand(_CustomBorders_brand, this, _onAfterContextMenuDefaultOptions).call(this, options));
|
117
|
+
this.addHook('init', () => _assertClassBrand(_CustomBorders_brand, this, _onAfterInit).call(this));
|
123
118
|
super.enablePlugin();
|
124
119
|
}
|
125
120
|
|
@@ -709,7 +704,7 @@ export class CustomBorders extends BasePlugin {
|
|
709
704
|
super.destroy();
|
710
705
|
}
|
711
706
|
}
|
712
|
-
function
|
707
|
+
function _onAfterContextMenuDefaultOptions(defaultOptions) {
|
713
708
|
if (!this.hot.getSettings()[PLUGIN_KEY]) {
|
714
709
|
return;
|
715
710
|
}
|
@@ -735,6 +730,9 @@ function _onAfterContextMenuDefaultOptions2(defaultOptions) {
|
|
735
730
|
}
|
736
731
|
});
|
737
732
|
}
|
738
|
-
|
733
|
+
/**
|
734
|
+
* `afterInit` hook callback.
|
735
|
+
*/
|
736
|
+
function _onAfterInit() {
|
739
737
|
this.changeBorderSettings();
|
740
738
|
}
|
@@ -8,9 +8,9 @@ var _element = require("../../helpers/dom/element");
|
|
8
8
|
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
9
9
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
10
10
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
11
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
11
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
12
12
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
13
|
-
function
|
13
|
+
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"); }
|
14
14
|
const PLUGIN_KEY = exports.PLUGIN_KEY = 'dragToScroll';
|
15
15
|
const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 100;
|
16
16
|
|
@@ -24,7 +24,7 @@ const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 100;
|
|
24
24
|
* @class DragToScroll
|
25
25
|
* @plugin DragToScroll
|
26
26
|
*/
|
27
|
-
var
|
27
|
+
var _DragToScroll_brand = /*#__PURE__*/new WeakSet();
|
28
28
|
class DragToScroll extends _base.BasePlugin {
|
29
29
|
constructor() {
|
30
30
|
super(...arguments);
|
@@ -33,7 +33,7 @@ class DragToScroll extends _base.BasePlugin {
|
|
33
33
|
*
|
34
34
|
* @param {MouseEvent} event The mouse event object.
|
35
35
|
*/
|
36
|
-
_classPrivateMethodInitSpec(this,
|
36
|
+
_classPrivateMethodInitSpec(this, _DragToScroll_brand);
|
37
37
|
/**
|
38
38
|
* Size of an element and its position relative to the viewport,
|
39
39
|
* e.g. {bottom: 449, height: 441, left: 8, right: 814, top: 8, width: 806, x: 8, y:8}.
|
@@ -79,8 +79,8 @@ class DragToScroll extends _base.BasePlugin {
|
|
79
79
|
if (this.enabled) {
|
80
80
|
return;
|
81
81
|
}
|
82
|
-
this.addHook('afterOnCellMouseDown', event =>
|
83
|
-
this.addHook('afterOnCellCornerMouseDown', event =>
|
82
|
+
this.addHook('afterOnCellMouseDown', event => _assertClassBrand(_DragToScroll_brand, this, _setupListening).call(this, event));
|
83
|
+
this.addHook('afterOnCellCornerMouseDown', event => _assertClassBrand(_DragToScroll_brand, this, _setupListening).call(this, event));
|
84
84
|
this.registerEvents();
|
85
85
|
super.enablePlugin();
|
86
86
|
}
|
@@ -232,7 +232,7 @@ class DragToScroll extends _base.BasePlugin {
|
|
232
232
|
}
|
233
233
|
}
|
234
234
|
exports.DragToScroll = DragToScroll;
|
235
|
-
function
|
235
|
+
function _setupListening(event) {
|
236
236
|
if ((0, _event.isRightClick)(event)) {
|
237
237
|
return;
|
238
238
|
}
|
@@ -2,9 +2,9 @@ import "core-js/modules/es.error.cause.js";
|
|
2
2
|
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
3
3
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
4
4
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
5
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
6
6
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
7
|
-
function
|
7
|
+
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"); }
|
8
8
|
import { BasePlugin } from "../base/index.mjs";
|
9
9
|
import { isRightClick } from "../../helpers/dom/event.mjs";
|
10
10
|
import { getParentWindow } from "../../helpers/dom/element.mjs";
|
@@ -21,7 +21,7 @@ export const PLUGIN_PRIORITY = 100;
|
|
21
21
|
* @class DragToScroll
|
22
22
|
* @plugin DragToScroll
|
23
23
|
*/
|
24
|
-
var
|
24
|
+
var _DragToScroll_brand = /*#__PURE__*/new WeakSet();
|
25
25
|
export class DragToScroll extends BasePlugin {
|
26
26
|
constructor() {
|
27
27
|
super(...arguments);
|
@@ -30,7 +30,7 @@ export class DragToScroll extends BasePlugin {
|
|
30
30
|
*
|
31
31
|
* @param {MouseEvent} event The mouse event object.
|
32
32
|
*/
|
33
|
-
_classPrivateMethodInitSpec(this,
|
33
|
+
_classPrivateMethodInitSpec(this, _DragToScroll_brand);
|
34
34
|
/**
|
35
35
|
* Size of an element and its position relative to the viewport,
|
36
36
|
* e.g. {bottom: 449, height: 441, left: 8, right: 814, top: 8, width: 806, x: 8, y:8}.
|
@@ -76,8 +76,8 @@ export class DragToScroll extends BasePlugin {
|
|
76
76
|
if (this.enabled) {
|
77
77
|
return;
|
78
78
|
}
|
79
|
-
this.addHook('afterOnCellMouseDown', event =>
|
80
|
-
this.addHook('afterOnCellCornerMouseDown', event =>
|
79
|
+
this.addHook('afterOnCellMouseDown', event => _assertClassBrand(_DragToScroll_brand, this, _setupListening).call(this, event));
|
80
|
+
this.addHook('afterOnCellCornerMouseDown', event => _assertClassBrand(_DragToScroll_brand, this, _setupListening).call(this, event));
|
81
81
|
this.registerEvents();
|
82
82
|
super.enablePlugin();
|
83
83
|
}
|
@@ -228,7 +228,7 @@ export class DragToScroll extends BasePlugin {
|
|
228
228
|
super.destroy();
|
229
229
|
}
|
230
230
|
}
|
231
|
-
function
|
231
|
+
function _setupListening(event) {
|
232
232
|
if (isRightClick(event)) {
|
233
233
|
return;
|
234
234
|
}
|
@@ -18,14 +18,11 @@ function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclarati
|
|
18
18
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
19
19
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
20
20
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
21
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
21
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
22
22
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
23
|
-
function _classPrivateFieldGet(
|
24
|
-
function
|
25
|
-
function
|
26
|
-
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
27
|
-
function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
|
28
|
-
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
|
23
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
24
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
25
|
+
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
29
26
|
_pluginHooks.default.getSingleton().register('afterDropdownMenuDefaultOptions');
|
30
27
|
_pluginHooks.default.getSingleton().register('beforeDropdownMenuShow');
|
31
28
|
_pluginHooks.default.getSingleton().register('afterDropdownMenuShow');
|
@@ -42,17 +39,16 @@ const SHORTCUTS_GROUP = PLUGIN_KEY;
|
|
42
39
|
* @class DropdownMenu
|
43
40
|
*
|
44
41
|
* @description
|
45
|
-
* This plugin creates the Handsontable Dropdown Menu. It allows to create a new
|
46
|
-
* among [other features](@/guides/accessories-and-menus/context-menu.md#context-menu-with-specific-options).
|
42
|
+
* This plugin creates the Handsontable Dropdown Menu. It allows to create a new column at any place in the grid
|
43
|
+
* among [other features](@/guides/accessories-and-menus/context-menu/context-menu.md#context-menu-with-specific-options).
|
47
44
|
* Possible values:
|
48
45
|
* * `true` (to enable default options),
|
49
46
|
* * `false` (to disable completely).
|
50
47
|
*
|
51
48
|
* or array of any available strings:
|
52
|
-
* * `["
|
53
|
-
* "remove_row", "remove_col", "---------", "undo", "redo"]`.
|
49
|
+
* * `["col_left", "col_right", "remove_col", "---------", "undo", "redo"]`.
|
54
50
|
*
|
55
|
-
* See [the dropdown menu demo](@/guides/columns/column-menu.md) for examples.
|
51
|
+
* See [the dropdown menu demo](@/guides/columns/column-menu/column-menu.md) for examples.
|
56
52
|
*
|
57
53
|
* @example
|
58
54
|
* ::: only-for javascript
|
@@ -87,15 +83,7 @@ const SHORTCUTS_GROUP = PLUGIN_KEY;
|
|
87
83
|
* :::
|
88
84
|
*/
|
89
85
|
var _isButtonClicked = /*#__PURE__*/new WeakMap();
|
90
|
-
var
|
91
|
-
var _onTableClick = /*#__PURE__*/new WeakSet();
|
92
|
-
var _onAfterGetColHeader = /*#__PURE__*/new WeakSet();
|
93
|
-
var _onMenuBeforeOpen = /*#__PURE__*/new WeakSet();
|
94
|
-
var _onMenuAfterOpen = /*#__PURE__*/new WeakSet();
|
95
|
-
var _onSubMenuAfterOpen = /*#__PURE__*/new WeakSet();
|
96
|
-
var _onMenuAfterClose = /*#__PURE__*/new WeakSet();
|
97
|
-
var _onBeforeViewportScrollHorizontally = /*#__PURE__*/new WeakSet();
|
98
|
-
var _onBeforeOnCellMouseDown = /*#__PURE__*/new WeakSet();
|
86
|
+
var _DropdownMenu_brand = /*#__PURE__*/new WeakSet();
|
99
87
|
class DropdownMenu extends _base.BasePlugin {
|
100
88
|
static get PLUGIN_KEY() {
|
101
89
|
return PLUGIN_KEY;
|
@@ -127,70 +115,12 @@ class DropdownMenu extends _base.BasePlugin {
|
|
127
115
|
super(hotInstance);
|
128
116
|
|
129
117
|
// One listener for enable/disable functionality
|
130
|
-
/**
|
131
|
-
* Hook sets the internal flag to `true` when the button is clicked.
|
132
|
-
*
|
133
|
-
* @param {MouseEvent} event The mouse event object.
|
134
|
-
*/
|
135
|
-
_classPrivateMethodInitSpec(this, _onBeforeOnCellMouseDown);
|
136
|
-
/**
|
137
|
-
* Hook allows blocking horizontal scroll when the menu is opened by clicking on
|
138
|
-
* the column header button. This prevents from scrolling the viewport (jump effect) when
|
139
|
-
* the button is clicked.
|
140
|
-
*
|
141
|
-
* @param {number} visualColumn Visual column index.
|
142
|
-
* @returns {number | null}
|
143
|
-
*/
|
144
|
-
_classPrivateMethodInitSpec(this, _onBeforeViewportScrollHorizontally);
|
145
|
-
/**
|
146
|
-
* On menu after close listener.
|
147
|
-
*
|
148
|
-
* @private
|
149
|
-
* @fires Hooks#afterDropdownMenuHide
|
150
|
-
*/
|
151
|
-
_classPrivateMethodInitSpec(this, _onMenuAfterClose);
|
152
|
-
/**
|
153
|
-
* Listener for the `afterSubmenuOpen` hook.
|
154
|
-
*
|
155
|
-
* @private
|
156
|
-
* @param {Menu} subMenuInstance The opened sub menu instance.
|
157
|
-
*/
|
158
|
-
_classPrivateMethodInitSpec(this, _onSubMenuAfterOpen);
|
159
|
-
/**
|
160
|
-
* On menu after open listener.
|
161
|
-
*
|
162
|
-
* @private
|
163
|
-
* @fires Hooks#afterDropdownMenuShow
|
164
|
-
*/
|
165
|
-
_classPrivateMethodInitSpec(this, _onMenuAfterOpen);
|
166
|
-
/**
|
167
|
-
* On menu before open listener.
|
168
|
-
*
|
169
|
-
* @private
|
170
|
-
* @fires Hooks#beforeDropdownMenuShow
|
171
|
-
*/
|
172
|
-
_classPrivateMethodInitSpec(this, _onMenuBeforeOpen);
|
173
|
-
/**
|
174
|
-
* On after get column header listener.
|
175
|
-
*
|
176
|
-
* @private
|
177
|
-
* @param {number} col Visual column index.
|
178
|
-
* @param {HTMLTableCellElement} TH Header's TH element.
|
179
|
-
*/
|
180
|
-
_classPrivateMethodInitSpec(this, _onAfterGetColHeader);
|
181
|
-
/**
|
182
|
-
* Table click listener.
|
183
|
-
*
|
184
|
-
* @private
|
185
|
-
* @param {Event} event The mouse event object.
|
186
|
-
*/
|
187
|
-
_classPrivateMethodInitSpec(this, _onTableClick);
|
188
118
|
/**
|
189
119
|
* Add custom shortcuts to the provided menu instance.
|
190
120
|
*
|
191
121
|
* @param {Menu} menuInstance The menu instance.
|
192
122
|
*/
|
193
|
-
_classPrivateMethodInitSpec(this,
|
123
|
+
_classPrivateMethodInitSpec(this, _DropdownMenu_brand);
|
194
124
|
_defineProperty(this, "commandExecutor", new _commandExecutor.CommandExecutor(this.hot));
|
195
125
|
/**
|
196
126
|
* Instance of {@link ItemsFactory}.
|
@@ -211,11 +141,8 @@ class DropdownMenu extends _base.BasePlugin {
|
|
211
141
|
*
|
212
142
|
* @type {boolean}
|
213
143
|
*/
|
214
|
-
_classPrivateFieldInitSpec(this, _isButtonClicked,
|
215
|
-
|
216
|
-
value: false
|
217
|
-
});
|
218
|
-
this.hot.addHook('afterGetColHeader', (col, TH) => _classPrivateMethodGet(this, _onAfterGetColHeader, _onAfterGetColHeader2).call(this, col, TH));
|
144
|
+
_classPrivateFieldInitSpec(this, _isButtonClicked, false);
|
145
|
+
this.hot.addHook('afterGetColHeader', (col, TH) => _assertClassBrand(_DropdownMenu_brand, this, _onAfterGetColHeader).call(this, col, TH));
|
219
146
|
}
|
220
147
|
|
221
148
|
/**
|
@@ -244,13 +171,13 @@ class DropdownMenu extends _base.BasePlugin {
|
|
244
171
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
245
172
|
args[_key] = arguments[_key];
|
246
173
|
}
|
247
|
-
return
|
174
|
+
return _assertClassBrand(_DropdownMenu_brand, _this, _onBeforeOnCellMouseDown).call(_this, ...args);
|
248
175
|
});
|
249
176
|
this.addHook('beforeViewportScrollHorizontally', function () {
|
250
177
|
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
251
178
|
args[_key2] = arguments[_key2];
|
252
179
|
}
|
253
|
-
return
|
180
|
+
return _assertClassBrand(_DropdownMenu_brand, _this, _onBeforeViewportScrollHorizontally).call(_this, ...args);
|
254
181
|
});
|
255
182
|
const settings = this.hot.getSettings()[PLUGIN_KEY];
|
256
183
|
const predefinedItems = {
|
@@ -276,10 +203,10 @@ class DropdownMenu extends _base.BasePlugin {
|
|
276
203
|
});
|
277
204
|
this.hot.runHooks('beforeDropdownMenuSetItems', menuItems);
|
278
205
|
this.menu.setMenuItems(menuItems);
|
279
|
-
this.menu.addLocalHook('beforeOpen', () =>
|
280
|
-
this.menu.addLocalHook('afterOpen', () =>
|
281
|
-
this.menu.addLocalHook('afterSubmenuOpen', subMenuInstance =>
|
282
|
-
this.menu.addLocalHook('afterClose', () =>
|
206
|
+
this.menu.addLocalHook('beforeOpen', () => _assertClassBrand(_DropdownMenu_brand, this, _onMenuBeforeOpen).call(this));
|
207
|
+
this.menu.addLocalHook('afterOpen', () => _assertClassBrand(_DropdownMenu_brand, this, _onMenuAfterOpen).call(this));
|
208
|
+
this.menu.addLocalHook('afterSubmenuOpen', subMenuInstance => _assertClassBrand(_DropdownMenu_brand, this, _onSubMenuAfterOpen).call(this, subMenuInstance));
|
209
|
+
this.menu.addLocalHook('afterClose', () => _assertClassBrand(_DropdownMenu_brand, this, _onMenuAfterClose).call(this));
|
283
210
|
this.menu.addLocalHook('executeCommand', function () {
|
284
211
|
for (var _len3 = arguments.length, params = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
285
212
|
params[_key3] = arguments[_key3];
|
@@ -383,7 +310,7 @@ class DropdownMenu extends _base.BasePlugin {
|
|
383
310
|
* @private
|
384
311
|
*/
|
385
312
|
registerEvents() {
|
386
|
-
this.eventManager.addEventListener(this.hot.rootElement, 'click', event =>
|
313
|
+
this.eventManager.addEventListener(this.hot.rootElement, 'click', event => _assertClassBrand(_DropdownMenu_brand, this, _onTableClick).call(this, event));
|
387
314
|
}
|
388
315
|
|
389
316
|
/**
|
@@ -432,12 +359,9 @@ class DropdownMenu extends _base.BasePlugin {
|
|
432
359
|
* When no cells are selected, `executeCommand()` doesn't do anything.
|
433
360
|
*
|
434
361
|
* You can execute all predefined commands:
|
435
|
-
* * `'row_above'` - Insert row above
|
436
|
-
* * `'row_below'` - Insert row below
|
437
362
|
* * `'col_left'` - Insert column left
|
438
363
|
* * `'col_right'` - Insert column right
|
439
364
|
* * `'clear_column'` - Clear selected column
|
440
|
-
* * `'remove_row'` - Remove row
|
441
365
|
* * `'remove_col'` - Remove column
|
442
366
|
* * `'undo'` - Undo last action
|
443
367
|
* * `'redo'` - Redo last action
|
@@ -489,18 +413,24 @@ class DropdownMenu extends _base.BasePlugin {
|
|
489
413
|
}
|
490
414
|
}
|
491
415
|
exports.DropdownMenu = DropdownMenu;
|
492
|
-
function
|
416
|
+
function _addCustomShortcuts(menuInstance) {
|
493
417
|
menuInstance.getKeyboardShortcutsCtrl().addCustomShortcuts([{
|
494
418
|
keys: [['Control/Meta', 'A']],
|
495
419
|
callback: () => false
|
496
420
|
}]);
|
497
421
|
}
|
498
|
-
|
499
|
-
|
422
|
+
/**
|
423
|
+
* Table click listener.
|
424
|
+
*
|
425
|
+
* @private
|
426
|
+
* @param {Event} event The mouse event object.
|
427
|
+
*/
|
428
|
+
function _onTableClick(event) {
|
500
429
|
if ((0, _element.hasClass)(event.target, BUTTON_CLASS_NAME)) {
|
501
430
|
const offset = (0, _utils.getDocumentOffsetByElement)(this.menu.container, this.hot.rootDocument);
|
502
431
|
const rect = event.target.getBoundingClientRect();
|
503
|
-
|
432
|
+
event.stopPropagation();
|
433
|
+
_classPrivateFieldSet(_isButtonClicked, this, false);
|
504
434
|
this.open({
|
505
435
|
left: rect.left + offset.left,
|
506
436
|
top: rect.top + event.target.offsetHeight + 3 + offset.top
|
@@ -509,7 +439,14 @@ function _onTableClick2(event) {
|
|
509
439
|
});
|
510
440
|
}
|
511
441
|
}
|
512
|
-
|
442
|
+
/**
|
443
|
+
* On after get column header listener.
|
444
|
+
*
|
445
|
+
* @private
|
446
|
+
* @param {number} col Visual column index.
|
447
|
+
* @param {HTMLTableCellElement} TH Header's TH element.
|
448
|
+
*/
|
449
|
+
function _onAfterGetColHeader(col, TH) {
|
513
450
|
// Corner or a higher-level header
|
514
451
|
const headerRow = TH.parentNode;
|
515
452
|
if (!headerRow) {
|
@@ -548,26 +485,63 @@ function _onAfterGetColHeader2(col, TH) {
|
|
548
485
|
};
|
549
486
|
TH.firstChild.insertBefore(button, TH.firstChild.firstChild);
|
550
487
|
}
|
551
|
-
|
488
|
+
/**
|
489
|
+
* On menu before open listener.
|
490
|
+
*
|
491
|
+
* @private
|
492
|
+
* @fires Hooks#beforeDropdownMenuShow
|
493
|
+
*/
|
494
|
+
function _onMenuBeforeOpen() {
|
552
495
|
this.hot.runHooks('beforeDropdownMenuShow', this);
|
553
496
|
}
|
554
|
-
|
497
|
+
/**
|
498
|
+
* On menu after open listener.
|
499
|
+
*
|
500
|
+
* @private
|
501
|
+
* @fires Hooks#afterDropdownMenuShow
|
502
|
+
*/
|
503
|
+
function _onMenuAfterOpen() {
|
555
504
|
this.hot.runHooks('afterDropdownMenuShow', this);
|
556
|
-
|
505
|
+
_assertClassBrand(_DropdownMenu_brand, this, _addCustomShortcuts).call(this, this.menu);
|
557
506
|
}
|
558
|
-
|
559
|
-
|
507
|
+
/**
|
508
|
+
* Listener for the `afterSubmenuOpen` hook.
|
509
|
+
*
|
510
|
+
* @private
|
511
|
+
* @param {Menu} subMenuInstance The opened sub menu instance.
|
512
|
+
*/
|
513
|
+
function _onSubMenuAfterOpen(subMenuInstance) {
|
514
|
+
_assertClassBrand(_DropdownMenu_brand, this, _addCustomShortcuts).call(this, subMenuInstance);
|
560
515
|
}
|
561
|
-
|
516
|
+
/**
|
517
|
+
* On menu after close listener.
|
518
|
+
*
|
519
|
+
* @private
|
520
|
+
* @fires Hooks#afterDropdownMenuHide
|
521
|
+
*/
|
522
|
+
function _onMenuAfterClose() {
|
562
523
|
this.hot.listen();
|
563
524
|
this.hot.runHooks('afterDropdownMenuHide', this);
|
564
525
|
}
|
565
|
-
|
566
|
-
|
526
|
+
/**
|
527
|
+
* Hook allows blocking horizontal scroll when the menu is opened by clicking on
|
528
|
+
* the column header button. This prevents from scrolling the viewport (jump effect) when
|
529
|
+
* the button is clicked.
|
530
|
+
*
|
531
|
+
* @param {number} visualColumn Visual column index.
|
532
|
+
* @returns {number | null}
|
533
|
+
*/
|
534
|
+
function _onBeforeViewportScrollHorizontally(visualColumn) {
|
535
|
+
return _classPrivateFieldGet(_isButtonClicked, this) ? null : visualColumn;
|
567
536
|
}
|
568
|
-
|
537
|
+
/**
|
538
|
+
* Hook sets the internal flag to `true` when the button is clicked.
|
539
|
+
*
|
540
|
+
* @param {MouseEvent} event The mouse event object.
|
541
|
+
*/
|
542
|
+
function _onBeforeOnCellMouseDown(event) {
|
569
543
|
if ((0, _element.hasClass)(event.target, BUTTON_CLASS_NAME)) {
|
570
|
-
_classPrivateFieldSet(
|
544
|
+
_classPrivateFieldSet(_isButtonClicked, this, true);
|
571
545
|
}
|
572
546
|
}
|
573
547
|
DropdownMenu.SEPARATOR = {
|