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,9 +1,9 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
exports.__esModule = true;
|
4
|
+
require("core-js/modules/es.error.cause.js");
|
4
5
|
require("core-js/modules/es.array.push.js");
|
5
6
|
require("core-js/modules/es.array.unscopables.flat.js");
|
6
|
-
require("core-js/modules/es.error.cause.js");
|
7
7
|
var _element = require("../../../../helpers/dom/element");
|
8
8
|
var _scanner2 = require("./scanner");
|
9
9
|
var _border = _interopRequireDefault(require("./border/border"));
|
@@ -11,12 +11,9 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
11
11
|
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
12
12
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
13
13
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
14
|
-
function
|
15
|
-
function
|
16
|
-
function
|
17
|
-
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
18
|
-
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
19
|
-
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; } }
|
14
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
15
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
16
|
+
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
20
17
|
/**
|
21
18
|
* Module responsible for rendering selections (CSS classes) and borders based on the
|
22
19
|
* collection of the Selection instances provided throughout the `selections` Walkontable
|
@@ -30,71 +27,53 @@ var _scanner = /*#__PURE__*/new WeakMap();
|
|
30
27
|
var _appliedClasses = /*#__PURE__*/new WeakMap();
|
31
28
|
var _destroyListeners = /*#__PURE__*/new WeakMap();
|
32
29
|
var _selectionBorders = /*#__PURE__*/new WeakMap();
|
33
|
-
var
|
30
|
+
var _SelectionManager_brand = /*#__PURE__*/new WeakSet();
|
34
31
|
class SelectionManager {
|
35
32
|
constructor(selections) {
|
36
33
|
/**
|
37
34
|
* Resets the elements to their initial state (remove the CSS classes that are added in the
|
38
35
|
* previous render cycle).
|
39
36
|
*/
|
40
|
-
_classPrivateMethodInitSpec(this,
|
37
|
+
_classPrivateMethodInitSpec(this, _SelectionManager_brand);
|
41
38
|
/**
|
42
39
|
* The overlay's Walkontable instance that are currently processed.
|
43
40
|
*
|
44
41
|
* @type {Walkontable}
|
45
42
|
*/
|
46
|
-
_classPrivateFieldInitSpec(this, _activeOverlaysWot,
|
47
|
-
writable: true,
|
48
|
-
value: void 0
|
49
|
-
});
|
43
|
+
_classPrivateFieldInitSpec(this, _activeOverlaysWot, void 0);
|
50
44
|
/**
|
51
45
|
* The Highlight instance that holds Selections instances within it.
|
52
46
|
*
|
53
47
|
* @type {Highlight|null}
|
54
48
|
*/
|
55
|
-
_classPrivateFieldInitSpec(this, _selections,
|
56
|
-
writable: true,
|
57
|
-
value: void 0
|
58
|
-
});
|
49
|
+
_classPrivateFieldInitSpec(this, _selections, void 0);
|
59
50
|
/**
|
60
51
|
* The SelectionScanner allows to scan and collect the cell and header elements that matches
|
61
52
|
* to the coords defined in the selections.
|
62
53
|
*
|
63
54
|
* @type {SelectionScanner}
|
64
55
|
*/
|
65
|
-
_classPrivateFieldInitSpec(this, _scanner,
|
66
|
-
writable: true,
|
67
|
-
value: new _scanner2.SelectionScanner()
|
68
|
-
});
|
56
|
+
_classPrivateFieldInitSpec(this, _scanner, new _scanner2.SelectionScanner());
|
69
57
|
/**
|
70
58
|
* The Map tracks applied CSS classes. It's used to reset the elements state to their initial state.
|
71
59
|
*
|
72
60
|
* @type {WeakMap}
|
73
61
|
*/
|
74
|
-
_classPrivateFieldInitSpec(this, _appliedClasses,
|
75
|
-
writable: true,
|
76
|
-
value: new WeakMap()
|
77
|
-
});
|
62
|
+
_classPrivateFieldInitSpec(this, _appliedClasses, new WeakMap());
|
78
63
|
/**
|
79
64
|
* The Map tracks applied "destroy" listeners for Selection instances.
|
80
65
|
*
|
81
66
|
* @type {WeakMap}
|
82
67
|
*/
|
83
|
-
_classPrivateFieldInitSpec(this, _destroyListeners,
|
84
|
-
writable: true,
|
85
|
-
value: new WeakSet()
|
86
|
-
});
|
68
|
+
_classPrivateFieldInitSpec(this, _destroyListeners, new WeakSet());
|
87
69
|
/**
|
88
70
|
* The Map holds references to Border classes for Selection instances which requires that when
|
89
71
|
* the "border" setting is defined.
|
90
72
|
*
|
91
73
|
* @type {Map}
|
92
74
|
*/
|
93
|
-
_classPrivateFieldInitSpec(this, _selectionBorders,
|
94
|
-
|
95
|
-
value: new Map()
|
96
|
-
});
|
97
|
-
_classPrivateFieldSet(this, _selections, selections);
|
75
|
+
_classPrivateFieldInitSpec(this, _selectionBorders, new Map());
|
76
|
+
_classPrivateFieldSet(_selections, this, selections);
|
98
77
|
}
|
99
78
|
|
100
79
|
/**
|
@@ -104,10 +83,10 @@ class SelectionManager {
|
|
104
83
|
* @returns {SelectionManager}
|
105
84
|
*/
|
106
85
|
setActiveOverlay(activeWot) {
|
107
|
-
_classPrivateFieldSet(
|
108
|
-
_classPrivateFieldGet(
|
109
|
-
if (!_classPrivateFieldGet(
|
110
|
-
_classPrivateFieldGet(
|
86
|
+
_classPrivateFieldSet(_activeOverlaysWot, this, activeWot);
|
87
|
+
_classPrivateFieldGet(_scanner, this).setActiveOverlay(_classPrivateFieldGet(_activeOverlaysWot, this));
|
88
|
+
if (!_classPrivateFieldGet(_appliedClasses, this).has(_classPrivateFieldGet(_activeOverlaysWot, this))) {
|
89
|
+
_classPrivateFieldGet(_appliedClasses, this).set(_classPrivateFieldGet(_activeOverlaysWot, this), new Set());
|
111
90
|
}
|
112
91
|
return this;
|
113
92
|
}
|
@@ -118,7 +97,7 @@ class SelectionManager {
|
|
118
97
|
* @returns {Selection|null}
|
119
98
|
*/
|
120
99
|
getFocusSelection() {
|
121
|
-
return _classPrivateFieldGet(
|
100
|
+
return _classPrivateFieldGet(_selections, this) !== null ? _classPrivateFieldGet(_selections, this).getFocus() : null;
|
122
101
|
}
|
123
102
|
|
124
103
|
/**
|
@@ -127,7 +106,7 @@ class SelectionManager {
|
|
127
106
|
* @returns {Selection|null}
|
128
107
|
*/
|
129
108
|
getAreaSelection() {
|
130
|
-
return _classPrivateFieldGet(
|
109
|
+
return _classPrivateFieldGet(_selections, this) !== null ? _classPrivateFieldGet(_selections, this).createLayeredArea() : null;
|
131
110
|
}
|
132
111
|
|
133
112
|
/**
|
@@ -140,17 +119,17 @@ class SelectionManager {
|
|
140
119
|
if (!selection.settings.border) {
|
141
120
|
return null;
|
142
121
|
}
|
143
|
-
if (_classPrivateFieldGet(
|
144
|
-
const borders = _classPrivateFieldGet(
|
145
|
-
if (borders.has(_classPrivateFieldGet(
|
146
|
-
return borders.get(_classPrivateFieldGet(
|
122
|
+
if (_classPrivateFieldGet(_selectionBorders, this).has(selection)) {
|
123
|
+
const borders = _classPrivateFieldGet(_selectionBorders, this).get(selection);
|
124
|
+
if (borders.has(_classPrivateFieldGet(_activeOverlaysWot, this))) {
|
125
|
+
return borders.get(_classPrivateFieldGet(_activeOverlaysWot, this));
|
147
126
|
}
|
148
|
-
const border = new _border.default(_classPrivateFieldGet(
|
149
|
-
borders.set(_classPrivateFieldGet(
|
127
|
+
const border = new _border.default(_classPrivateFieldGet(_activeOverlaysWot, this), selection.settings);
|
128
|
+
borders.set(_classPrivateFieldGet(_activeOverlaysWot, this), border);
|
150
129
|
return border;
|
151
130
|
}
|
152
|
-
const border = new _border.default(_classPrivateFieldGet(
|
153
|
-
_classPrivateFieldGet(
|
131
|
+
const border = new _border.default(_classPrivateFieldGet(_activeOverlaysWot, this), selection.settings);
|
132
|
+
_classPrivateFieldGet(_selectionBorders, this).set(selection, new Map([[_classPrivateFieldGet(_activeOverlaysWot, this), border]]));
|
154
133
|
return border;
|
155
134
|
}
|
156
135
|
|
@@ -162,7 +141,7 @@ class SelectionManager {
|
|
162
141
|
*/
|
163
142
|
getBorderInstances(selection) {
|
164
143
|
var _classPrivateFieldGet2, _classPrivateFieldGet3;
|
165
|
-
return Array.from((_classPrivateFieldGet2 = (_classPrivateFieldGet3 = _classPrivateFieldGet(
|
144
|
+
return Array.from((_classPrivateFieldGet2 = (_classPrivateFieldGet3 = _classPrivateFieldGet(_selectionBorders, this).get(selection)) === null || _classPrivateFieldGet3 === void 0 ? void 0 : _classPrivateFieldGet3.values()) !== null && _classPrivateFieldGet2 !== void 0 ? _classPrivateFieldGet2 : []);
|
166
145
|
}
|
167
146
|
|
168
147
|
/**
|
@@ -171,8 +150,8 @@ class SelectionManager {
|
|
171
150
|
* @param {Selection} selection The selection instance.
|
172
151
|
*/
|
173
152
|
destroyBorders(selection) {
|
174
|
-
_classPrivateFieldGet(
|
175
|
-
_classPrivateFieldGet(
|
153
|
+
_classPrivateFieldGet(_selectionBorders, this).get(selection).forEach(border => border.destroy());
|
154
|
+
_classPrivateFieldGet(_selectionBorders, this).delete(selection);
|
176
155
|
}
|
177
156
|
|
178
157
|
/**
|
@@ -181,14 +160,14 @@ class SelectionManager {
|
|
181
160
|
* @param {boolean} fastDraw Indicates the render cycle type (fast/slow).
|
182
161
|
*/
|
183
162
|
render(fastDraw) {
|
184
|
-
if (_classPrivateFieldGet(
|
163
|
+
if (_classPrivateFieldGet(_selections, this) === null) {
|
185
164
|
return;
|
186
165
|
}
|
187
166
|
if (fastDraw) {
|
188
167
|
// there was no rerender, so we need to remove classNames by ourselves
|
189
|
-
|
168
|
+
_assertClassBrand(_SelectionManager_brand, this, _resetCells).call(this);
|
190
169
|
}
|
191
|
-
const selections = Array.from(_classPrivateFieldGet(
|
170
|
+
const selections = Array.from(_classPrivateFieldGet(_selections, this));
|
192
171
|
const classNamesMap = new Map();
|
193
172
|
const headerAttributesMap = new Map();
|
194
173
|
for (let i = 0; i < selections.length; i++) {
|
@@ -199,8 +178,8 @@ class SelectionManager {
|
|
199
178
|
createLayers,
|
200
179
|
selectionType
|
201
180
|
} = selection.settings;
|
202
|
-
if (!_classPrivateFieldGet(
|
203
|
-
_classPrivateFieldGet(
|
181
|
+
if (!_classPrivateFieldGet(_destroyListeners, this).has(selection)) {
|
182
|
+
_classPrivateFieldGet(_destroyListeners, this).add(selection);
|
204
183
|
selection.addLocalHook('destroy', () => this.destroyBorders(selection));
|
205
184
|
}
|
206
185
|
const borderInstance = this.getBorderInstance(selection);
|
@@ -209,7 +188,7 @@ class SelectionManager {
|
|
209
188
|
continue; // eslint-disable-line no-continue
|
210
189
|
}
|
211
190
|
if (className) {
|
212
|
-
const elements = _classPrivateFieldGet(
|
191
|
+
const elements = _classPrivateFieldGet(_scanner, this).setActiveSelection(selection).scan();
|
213
192
|
elements.forEach(element => {
|
214
193
|
if (classNamesMap.has(element)) {
|
215
194
|
const classNamesLayers = classNamesMap.get(element);
|
@@ -232,7 +211,7 @@ class SelectionManager {
|
|
232
211
|
});
|
233
212
|
}
|
234
213
|
const corners = selection.getCorners();
|
235
|
-
_classPrivateFieldGet(
|
214
|
+
_classPrivateFieldGet(_activeOverlaysWot, this).getSetting('onBeforeDrawBorders', corners, selectionType);
|
236
215
|
borderInstance === null || borderInstance === void 0 || borderInstance.appear(corners);
|
237
216
|
}
|
238
217
|
classNamesMap.forEach((classNamesLayers, element) => {
|
@@ -246,10 +225,10 @@ class SelectionManager {
|
|
246
225
|
length: occurrenceCount - 1
|
247
226
|
}, (_, i) => `${className}-${i + 1}`)];
|
248
227
|
}).flat();
|
249
|
-
classNames.forEach(className => _classPrivateFieldGet(
|
228
|
+
classNames.forEach(className => _classPrivateFieldGet(_appliedClasses, this).get(_classPrivateFieldGet(_activeOverlaysWot, this)).add(className));
|
250
229
|
(0, _element.addClass)(element, classNames);
|
251
|
-
if (element.nodeName === 'TD' && Array.isArray((_classPrivateFieldGet4 = _classPrivateFieldGet(
|
252
|
-
(0, _element.setAttribute)(element, _classPrivateFieldGet(
|
230
|
+
if (element.nodeName === 'TD' && Array.isArray((_classPrivateFieldGet4 = _classPrivateFieldGet(_selections, this).options) === null || _classPrivateFieldGet4 === void 0 ? void 0 : _classPrivateFieldGet4.cellAttributes)) {
|
231
|
+
(0, _element.setAttribute)(element, _classPrivateFieldGet(_selections, this).options.cellAttributes);
|
253
232
|
}
|
254
233
|
});
|
255
234
|
|
@@ -260,9 +239,9 @@ class SelectionManager {
|
|
260
239
|
}
|
261
240
|
}
|
262
241
|
exports.SelectionManager = SelectionManager;
|
263
|
-
function
|
264
|
-
const appliedOverlaysClasses = _classPrivateFieldGet(
|
265
|
-
const classesToRemove = _classPrivateFieldGet(
|
242
|
+
function _resetCells() {
|
243
|
+
const appliedOverlaysClasses = _classPrivateFieldGet(_appliedClasses, this).get(_classPrivateFieldGet(_activeOverlaysWot, this));
|
244
|
+
const classesToRemove = _classPrivateFieldGet(_activeOverlaysWot, this).wtSettings.getSetting('onBeforeRemoveCellClassNames');
|
266
245
|
if (Array.isArray(classesToRemove)) {
|
267
246
|
for (let i = 0; i < classesToRemove.length; i++) {
|
268
247
|
appliedOverlaysClasses.add(classesToRemove[i]);
|
@@ -270,13 +249,13 @@ function _resetCells2() {
|
|
270
249
|
}
|
271
250
|
appliedOverlaysClasses.forEach(className => {
|
272
251
|
var _classPrivateFieldGet5, _classPrivateFieldGet6;
|
273
|
-
const nodes = _classPrivateFieldGet(
|
252
|
+
const nodes = _classPrivateFieldGet(_activeOverlaysWot, this).wtTable.TABLE.querySelectorAll(`.${className}`);
|
274
253
|
let cellAttributes = [];
|
275
|
-
if (Array.isArray((_classPrivateFieldGet5 = _classPrivateFieldGet(
|
276
|
-
cellAttributes = _classPrivateFieldGet(
|
254
|
+
if (Array.isArray((_classPrivateFieldGet5 = _classPrivateFieldGet(_selections, this).options) === null || _classPrivateFieldGet5 === void 0 ? void 0 : _classPrivateFieldGet5.cellAttributes)) {
|
255
|
+
cellAttributes = _classPrivateFieldGet(_selections, this).options.cellAttributes.map(el => el[0]);
|
277
256
|
}
|
278
|
-
if (Array.isArray((_classPrivateFieldGet6 = _classPrivateFieldGet(
|
279
|
-
cellAttributes = [...cellAttributes, ..._classPrivateFieldGet(
|
257
|
+
if (Array.isArray((_classPrivateFieldGet6 = _classPrivateFieldGet(_selections, this).options) === null || _classPrivateFieldGet6 === void 0 ? void 0 : _classPrivateFieldGet6.headerAttributes)) {
|
258
|
+
cellAttributes = [...cellAttributes, ..._classPrivateFieldGet(_selections, this).options.headerAttributes.map(el => el[0])];
|
280
259
|
}
|
281
260
|
for (let i = 0, len = nodes.length; i < len; i++) {
|
282
261
|
(0, _element.removeClass)(nodes[i], className);
|
@@ -1,15 +1,12 @@
|
|
1
|
+
import "core-js/modules/es.error.cause.js";
|
1
2
|
import "core-js/modules/es.array.push.js";
|
2
3
|
import "core-js/modules/es.array.unscopables.flat.js";
|
3
|
-
import "core-js/modules/es.error.cause.js";
|
4
4
|
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
5
5
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
6
6
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
7
|
-
function
|
8
|
-
function
|
9
|
-
function
|
10
|
-
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
11
|
-
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
12
|
-
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; } }
|
7
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
8
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
9
|
+
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"); }
|
13
10
|
import { removeClass, addClass, setAttribute, removeAttribute } from "../../../../helpers/dom/element.mjs";
|
14
11
|
import { SelectionScanner } from "./scanner.mjs";
|
15
12
|
import Border from "./border/border.mjs";
|
@@ -26,71 +23,53 @@ var _scanner = /*#__PURE__*/new WeakMap();
|
|
26
23
|
var _appliedClasses = /*#__PURE__*/new WeakMap();
|
27
24
|
var _destroyListeners = /*#__PURE__*/new WeakMap();
|
28
25
|
var _selectionBorders = /*#__PURE__*/new WeakMap();
|
29
|
-
var
|
26
|
+
var _SelectionManager_brand = /*#__PURE__*/new WeakSet();
|
30
27
|
export class SelectionManager {
|
31
28
|
constructor(selections) {
|
32
29
|
/**
|
33
30
|
* Resets the elements to their initial state (remove the CSS classes that are added in the
|
34
31
|
* previous render cycle).
|
35
32
|
*/
|
36
|
-
_classPrivateMethodInitSpec(this,
|
33
|
+
_classPrivateMethodInitSpec(this, _SelectionManager_brand);
|
37
34
|
/**
|
38
35
|
* The overlay's Walkontable instance that are currently processed.
|
39
36
|
*
|
40
37
|
* @type {Walkontable}
|
41
38
|
*/
|
42
|
-
_classPrivateFieldInitSpec(this, _activeOverlaysWot,
|
43
|
-
writable: true,
|
44
|
-
value: void 0
|
45
|
-
});
|
39
|
+
_classPrivateFieldInitSpec(this, _activeOverlaysWot, void 0);
|
46
40
|
/**
|
47
41
|
* The Highlight instance that holds Selections instances within it.
|
48
42
|
*
|
49
43
|
* @type {Highlight|null}
|
50
44
|
*/
|
51
|
-
_classPrivateFieldInitSpec(this, _selections,
|
52
|
-
writable: true,
|
53
|
-
value: void 0
|
54
|
-
});
|
45
|
+
_classPrivateFieldInitSpec(this, _selections, void 0);
|
55
46
|
/**
|
56
47
|
* The SelectionScanner allows to scan and collect the cell and header elements that matches
|
57
48
|
* to the coords defined in the selections.
|
58
49
|
*
|
59
50
|
* @type {SelectionScanner}
|
60
51
|
*/
|
61
|
-
_classPrivateFieldInitSpec(this, _scanner,
|
62
|
-
writable: true,
|
63
|
-
value: new SelectionScanner()
|
64
|
-
});
|
52
|
+
_classPrivateFieldInitSpec(this, _scanner, new SelectionScanner());
|
65
53
|
/**
|
66
54
|
* The Map tracks applied CSS classes. It's used to reset the elements state to their initial state.
|
67
55
|
*
|
68
56
|
* @type {WeakMap}
|
69
57
|
*/
|
70
|
-
_classPrivateFieldInitSpec(this, _appliedClasses,
|
71
|
-
writable: true,
|
72
|
-
value: new WeakMap()
|
73
|
-
});
|
58
|
+
_classPrivateFieldInitSpec(this, _appliedClasses, new WeakMap());
|
74
59
|
/**
|
75
60
|
* The Map tracks applied "destroy" listeners for Selection instances.
|
76
61
|
*
|
77
62
|
* @type {WeakMap}
|
78
63
|
*/
|
79
|
-
_classPrivateFieldInitSpec(this, _destroyListeners,
|
80
|
-
writable: true,
|
81
|
-
value: new WeakSet()
|
82
|
-
});
|
64
|
+
_classPrivateFieldInitSpec(this, _destroyListeners, new WeakSet());
|
83
65
|
/**
|
84
66
|
* The Map holds references to Border classes for Selection instances which requires that when
|
85
67
|
* the "border" setting is defined.
|
86
68
|
*
|
87
69
|
* @type {Map}
|
88
70
|
*/
|
89
|
-
_classPrivateFieldInitSpec(this, _selectionBorders,
|
90
|
-
|
91
|
-
value: new Map()
|
92
|
-
});
|
93
|
-
_classPrivateFieldSet(this, _selections, selections);
|
71
|
+
_classPrivateFieldInitSpec(this, _selectionBorders, new Map());
|
72
|
+
_classPrivateFieldSet(_selections, this, selections);
|
94
73
|
}
|
95
74
|
|
96
75
|
/**
|
@@ -100,10 +79,10 @@ export class SelectionManager {
|
|
100
79
|
* @returns {SelectionManager}
|
101
80
|
*/
|
102
81
|
setActiveOverlay(activeWot) {
|
103
|
-
_classPrivateFieldSet(
|
104
|
-
_classPrivateFieldGet(
|
105
|
-
if (!_classPrivateFieldGet(
|
106
|
-
_classPrivateFieldGet(
|
82
|
+
_classPrivateFieldSet(_activeOverlaysWot, this, activeWot);
|
83
|
+
_classPrivateFieldGet(_scanner, this).setActiveOverlay(_classPrivateFieldGet(_activeOverlaysWot, this));
|
84
|
+
if (!_classPrivateFieldGet(_appliedClasses, this).has(_classPrivateFieldGet(_activeOverlaysWot, this))) {
|
85
|
+
_classPrivateFieldGet(_appliedClasses, this).set(_classPrivateFieldGet(_activeOverlaysWot, this), new Set());
|
107
86
|
}
|
108
87
|
return this;
|
109
88
|
}
|
@@ -114,7 +93,7 @@ export class SelectionManager {
|
|
114
93
|
* @returns {Selection|null}
|
115
94
|
*/
|
116
95
|
getFocusSelection() {
|
117
|
-
return _classPrivateFieldGet(
|
96
|
+
return _classPrivateFieldGet(_selections, this) !== null ? _classPrivateFieldGet(_selections, this).getFocus() : null;
|
118
97
|
}
|
119
98
|
|
120
99
|
/**
|
@@ -123,7 +102,7 @@ export class SelectionManager {
|
|
123
102
|
* @returns {Selection|null}
|
124
103
|
*/
|
125
104
|
getAreaSelection() {
|
126
|
-
return _classPrivateFieldGet(
|
105
|
+
return _classPrivateFieldGet(_selections, this) !== null ? _classPrivateFieldGet(_selections, this).createLayeredArea() : null;
|
127
106
|
}
|
128
107
|
|
129
108
|
/**
|
@@ -136,17 +115,17 @@ export class SelectionManager {
|
|
136
115
|
if (!selection.settings.border) {
|
137
116
|
return null;
|
138
117
|
}
|
139
|
-
if (_classPrivateFieldGet(
|
140
|
-
const borders = _classPrivateFieldGet(
|
141
|
-
if (borders.has(_classPrivateFieldGet(
|
142
|
-
return borders.get(_classPrivateFieldGet(
|
118
|
+
if (_classPrivateFieldGet(_selectionBorders, this).has(selection)) {
|
119
|
+
const borders = _classPrivateFieldGet(_selectionBorders, this).get(selection);
|
120
|
+
if (borders.has(_classPrivateFieldGet(_activeOverlaysWot, this))) {
|
121
|
+
return borders.get(_classPrivateFieldGet(_activeOverlaysWot, this));
|
143
122
|
}
|
144
|
-
const border = new Border(_classPrivateFieldGet(
|
145
|
-
borders.set(_classPrivateFieldGet(
|
123
|
+
const border = new Border(_classPrivateFieldGet(_activeOverlaysWot, this), selection.settings);
|
124
|
+
borders.set(_classPrivateFieldGet(_activeOverlaysWot, this), border);
|
146
125
|
return border;
|
147
126
|
}
|
148
|
-
const border = new Border(_classPrivateFieldGet(
|
149
|
-
_classPrivateFieldGet(
|
127
|
+
const border = new Border(_classPrivateFieldGet(_activeOverlaysWot, this), selection.settings);
|
128
|
+
_classPrivateFieldGet(_selectionBorders, this).set(selection, new Map([[_classPrivateFieldGet(_activeOverlaysWot, this), border]]));
|
150
129
|
return border;
|
151
130
|
}
|
152
131
|
|
@@ -158,7 +137,7 @@ export class SelectionManager {
|
|
158
137
|
*/
|
159
138
|
getBorderInstances(selection) {
|
160
139
|
var _classPrivateFieldGet2, _classPrivateFieldGet3;
|
161
|
-
return Array.from((_classPrivateFieldGet2 = (_classPrivateFieldGet3 = _classPrivateFieldGet(
|
140
|
+
return Array.from((_classPrivateFieldGet2 = (_classPrivateFieldGet3 = _classPrivateFieldGet(_selectionBorders, this).get(selection)) === null || _classPrivateFieldGet3 === void 0 ? void 0 : _classPrivateFieldGet3.values()) !== null && _classPrivateFieldGet2 !== void 0 ? _classPrivateFieldGet2 : []);
|
162
141
|
}
|
163
142
|
|
164
143
|
/**
|
@@ -167,8 +146,8 @@ export class SelectionManager {
|
|
167
146
|
* @param {Selection} selection The selection instance.
|
168
147
|
*/
|
169
148
|
destroyBorders(selection) {
|
170
|
-
_classPrivateFieldGet(
|
171
|
-
_classPrivateFieldGet(
|
149
|
+
_classPrivateFieldGet(_selectionBorders, this).get(selection).forEach(border => border.destroy());
|
150
|
+
_classPrivateFieldGet(_selectionBorders, this).delete(selection);
|
172
151
|
}
|
173
152
|
|
174
153
|
/**
|
@@ -177,14 +156,14 @@ export class SelectionManager {
|
|
177
156
|
* @param {boolean} fastDraw Indicates the render cycle type (fast/slow).
|
178
157
|
*/
|
179
158
|
render(fastDraw) {
|
180
|
-
if (_classPrivateFieldGet(
|
159
|
+
if (_classPrivateFieldGet(_selections, this) === null) {
|
181
160
|
return;
|
182
161
|
}
|
183
162
|
if (fastDraw) {
|
184
163
|
// there was no rerender, so we need to remove classNames by ourselves
|
185
|
-
|
164
|
+
_assertClassBrand(_SelectionManager_brand, this, _resetCells).call(this);
|
186
165
|
}
|
187
|
-
const selections = Array.from(_classPrivateFieldGet(
|
166
|
+
const selections = Array.from(_classPrivateFieldGet(_selections, this));
|
188
167
|
const classNamesMap = new Map();
|
189
168
|
const headerAttributesMap = new Map();
|
190
169
|
for (let i = 0; i < selections.length; i++) {
|
@@ -195,8 +174,8 @@ export class SelectionManager {
|
|
195
174
|
createLayers,
|
196
175
|
selectionType
|
197
176
|
} = selection.settings;
|
198
|
-
if (!_classPrivateFieldGet(
|
199
|
-
_classPrivateFieldGet(
|
177
|
+
if (!_classPrivateFieldGet(_destroyListeners, this).has(selection)) {
|
178
|
+
_classPrivateFieldGet(_destroyListeners, this).add(selection);
|
200
179
|
selection.addLocalHook('destroy', () => this.destroyBorders(selection));
|
201
180
|
}
|
202
181
|
const borderInstance = this.getBorderInstance(selection);
|
@@ -205,7 +184,7 @@ export class SelectionManager {
|
|
205
184
|
continue; // eslint-disable-line no-continue
|
206
185
|
}
|
207
186
|
if (className) {
|
208
|
-
const elements = _classPrivateFieldGet(
|
187
|
+
const elements = _classPrivateFieldGet(_scanner, this).setActiveSelection(selection).scan();
|
209
188
|
elements.forEach(element => {
|
210
189
|
if (classNamesMap.has(element)) {
|
211
190
|
const classNamesLayers = classNamesMap.get(element);
|
@@ -228,7 +207,7 @@ export class SelectionManager {
|
|
228
207
|
});
|
229
208
|
}
|
230
209
|
const corners = selection.getCorners();
|
231
|
-
_classPrivateFieldGet(
|
210
|
+
_classPrivateFieldGet(_activeOverlaysWot, this).getSetting('onBeforeDrawBorders', corners, selectionType);
|
232
211
|
borderInstance === null || borderInstance === void 0 || borderInstance.appear(corners);
|
233
212
|
}
|
234
213
|
classNamesMap.forEach((classNamesLayers, element) => {
|
@@ -242,10 +221,10 @@ export class SelectionManager {
|
|
242
221
|
length: occurrenceCount - 1
|
243
222
|
}, (_, i) => `${className}-${i + 1}`)];
|
244
223
|
}).flat();
|
245
|
-
classNames.forEach(className => _classPrivateFieldGet(
|
224
|
+
classNames.forEach(className => _classPrivateFieldGet(_appliedClasses, this).get(_classPrivateFieldGet(_activeOverlaysWot, this)).add(className));
|
246
225
|
addClass(element, classNames);
|
247
|
-
if (element.nodeName === 'TD' && Array.isArray((_classPrivateFieldGet4 = _classPrivateFieldGet(
|
248
|
-
setAttribute(element, _classPrivateFieldGet(
|
226
|
+
if (element.nodeName === 'TD' && Array.isArray((_classPrivateFieldGet4 = _classPrivateFieldGet(_selections, this).options) === null || _classPrivateFieldGet4 === void 0 ? void 0 : _classPrivateFieldGet4.cellAttributes)) {
|
227
|
+
setAttribute(element, _classPrivateFieldGet(_selections, this).options.cellAttributes);
|
249
228
|
}
|
250
229
|
});
|
251
230
|
|
@@ -255,9 +234,9 @@ export class SelectionManager {
|
|
255
234
|
});
|
256
235
|
}
|
257
236
|
}
|
258
|
-
function
|
259
|
-
const appliedOverlaysClasses = _classPrivateFieldGet(
|
260
|
-
const classesToRemove = _classPrivateFieldGet(
|
237
|
+
function _resetCells() {
|
238
|
+
const appliedOverlaysClasses = _classPrivateFieldGet(_appliedClasses, this).get(_classPrivateFieldGet(_activeOverlaysWot, this));
|
239
|
+
const classesToRemove = _classPrivateFieldGet(_activeOverlaysWot, this).wtSettings.getSetting('onBeforeRemoveCellClassNames');
|
261
240
|
if (Array.isArray(classesToRemove)) {
|
262
241
|
for (let i = 0; i < classesToRemove.length; i++) {
|
263
242
|
appliedOverlaysClasses.add(classesToRemove[i]);
|
@@ -265,13 +244,13 @@ function _resetCells2() {
|
|
265
244
|
}
|
266
245
|
appliedOverlaysClasses.forEach(className => {
|
267
246
|
var _classPrivateFieldGet5, _classPrivateFieldGet6;
|
268
|
-
const nodes = _classPrivateFieldGet(
|
247
|
+
const nodes = _classPrivateFieldGet(_activeOverlaysWot, this).wtTable.TABLE.querySelectorAll(`.${className}`);
|
269
248
|
let cellAttributes = [];
|
270
|
-
if (Array.isArray((_classPrivateFieldGet5 = _classPrivateFieldGet(
|
271
|
-
cellAttributes = _classPrivateFieldGet(
|
249
|
+
if (Array.isArray((_classPrivateFieldGet5 = _classPrivateFieldGet(_selections, this).options) === null || _classPrivateFieldGet5 === void 0 ? void 0 : _classPrivateFieldGet5.cellAttributes)) {
|
250
|
+
cellAttributes = _classPrivateFieldGet(_selections, this).options.cellAttributes.map(el => el[0]);
|
272
251
|
}
|
273
|
-
if (Array.isArray((_classPrivateFieldGet6 = _classPrivateFieldGet(
|
274
|
-
cellAttributes = [...cellAttributes, ..._classPrivateFieldGet(
|
252
|
+
if (Array.isArray((_classPrivateFieldGet6 = _classPrivateFieldGet(_selections, this).options) === null || _classPrivateFieldGet6 === void 0 ? void 0 : _classPrivateFieldGet6.headerAttributes)) {
|
253
|
+
cellAttributes = [...cellAttributes, ..._classPrivateFieldGet(_selections, this).options.headerAttributes.map(el => el[0])];
|
275
254
|
}
|
276
255
|
for (let i = 0, len = nodes.length; i < len; i++) {
|
277
256
|
removeClass(nodes[i], className);
|