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
@@ -6,12 +6,9 @@ var _element = require("../../../../helpers/dom/element");
|
|
6
6
|
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
7
7
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
8
8
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
9
|
-
function
|
10
|
-
function
|
11
|
-
function
|
12
|
-
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
13
|
-
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
14
|
-
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; } } /* eslint-disable no-continue */
|
9
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
10
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
11
|
+
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"); } /* eslint-disable no-continue */
|
15
12
|
/**
|
16
13
|
* Selection scanner module scans the rendered cells and headers and if it finds an intersection with
|
17
14
|
* the coordinates of the Selection class (highlight) it returns the DOM elements.
|
@@ -20,7 +17,7 @@ function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.
|
|
20
17
|
*/
|
21
18
|
var _selection = /*#__PURE__*/new WeakMap();
|
22
19
|
var _activeOverlaysWot = /*#__PURE__*/new WeakMap();
|
23
|
-
var
|
20
|
+
var _SelectionScanner_brand = /*#__PURE__*/new WeakSet();
|
24
21
|
class SelectionScanner {
|
25
22
|
constructor() {
|
26
23
|
/**
|
@@ -28,25 +25,19 @@ class SelectionScanner {
|
|
28
25
|
*
|
29
26
|
* @param {function(number, number): void} callback The callback function to trigger.
|
30
27
|
*/
|
31
|
-
_classPrivateMethodInitSpec(this,
|
28
|
+
_classPrivateMethodInitSpec(this, _SelectionScanner_brand);
|
32
29
|
/**
|
33
30
|
* Active Selection instance to process.
|
34
31
|
*
|
35
32
|
* @type {Selection}
|
36
33
|
*/
|
37
|
-
_classPrivateFieldInitSpec(this, _selection,
|
38
|
-
writable: true,
|
39
|
-
value: void 0
|
40
|
-
});
|
34
|
+
_classPrivateFieldInitSpec(this, _selection, void 0);
|
41
35
|
/**
|
42
36
|
* The Walkontable instance that the scans depends on.
|
43
37
|
*
|
44
38
|
* @type {Walkontable}
|
45
39
|
*/
|
46
|
-
_classPrivateFieldInitSpec(this, _activeOverlaysWot,
|
47
|
-
writable: true,
|
48
|
-
value: void 0
|
49
|
-
});
|
40
|
+
_classPrivateFieldInitSpec(this, _activeOverlaysWot, void 0);
|
50
41
|
}
|
51
42
|
/**
|
52
43
|
* Sets the Walkontable instance that will be taking into account while scanning the table.
|
@@ -55,7 +46,7 @@ class SelectionScanner {
|
|
55
46
|
* @returns {SelectionScanner}
|
56
47
|
*/
|
57
48
|
setActiveOverlay(activeOverlaysWot) {
|
58
|
-
_classPrivateFieldSet(
|
49
|
+
_classPrivateFieldSet(_activeOverlaysWot, this, activeOverlaysWot);
|
59
50
|
return this;
|
60
51
|
}
|
61
52
|
|
@@ -66,7 +57,7 @@ class SelectionScanner {
|
|
66
57
|
* @returns {SelectionScanner}
|
67
58
|
*/
|
68
59
|
setActiveSelection(selection) {
|
69
|
-
_classPrivateFieldSet(
|
60
|
+
_classPrivateFieldSet(_selection, this, selection);
|
70
61
|
return this;
|
71
62
|
}
|
72
63
|
|
@@ -77,7 +68,7 @@ class SelectionScanner {
|
|
77
68
|
* @returns {HTMLTableElement[]}
|
78
69
|
*/
|
79
70
|
scan() {
|
80
|
-
const selectionType = _classPrivateFieldGet(
|
71
|
+
const selectionType = _classPrivateFieldGet(_selection, this).settings.selectionType;
|
81
72
|
const elements = new Set();
|
82
73
|
|
83
74
|
// TODO(improvement): use heuristics from coords to detect what type of scan
|
@@ -113,10 +104,10 @@ class SelectionScanner {
|
|
113
104
|
* @param {function(HTMLTableElement): void} callback The callback function to trigger.
|
114
105
|
*/
|
115
106
|
scanColumnsInHeadersRange(callback) {
|
116
|
-
const [topRow, topColumn, bottomRow, bottomColumn] = _classPrivateFieldGet(
|
107
|
+
const [topRow, topColumn, bottomRow, bottomColumn] = _classPrivateFieldGet(_selection, this).getCorners();
|
117
108
|
const {
|
118
109
|
wtTable
|
119
|
-
} = _classPrivateFieldGet(
|
110
|
+
} = _classPrivateFieldGet(_activeOverlaysWot, this);
|
120
111
|
const renderedColumnsCount = wtTable.getRenderedColumnsCount();
|
121
112
|
const columnHeadersCount = wtTable.getColumnHeadersCount();
|
122
113
|
let cursor = 0;
|
@@ -131,8 +122,8 @@ class SelectionScanner {
|
|
131
122
|
}
|
132
123
|
const positiveBasedHeaderLevel = headerLevel + columnHeadersCount;
|
133
124
|
let TH = wtTable.getColumnHeader(sourceColumn, positiveBasedHeaderLevel);
|
134
|
-
const newSourceCol = _classPrivateFieldGet(
|
135
|
-
selectionType: _classPrivateFieldGet(
|
125
|
+
const newSourceCol = _classPrivateFieldGet(_activeOverlaysWot, this).getSetting('onBeforeHighlightingColumnHeader', sourceColumn, positiveBasedHeaderLevel, {
|
126
|
+
selectionType: _classPrivateFieldGet(_selection, this).settings.selectionType,
|
136
127
|
columnCursor: cursor,
|
137
128
|
selectionWidth: bottomColumn - topColumn + 1
|
138
129
|
});
|
@@ -155,10 +146,10 @@ class SelectionScanner {
|
|
155
146
|
* @param {function(HTMLTableElement): void} callback The callback function to trigger.
|
156
147
|
*/
|
157
148
|
scanRowsInHeadersRange(callback) {
|
158
|
-
const [topRow, topColumn, bottomRow, bottomColumn] = _classPrivateFieldGet(
|
149
|
+
const [topRow, topColumn, bottomRow, bottomColumn] = _classPrivateFieldGet(_selection, this).getCorners();
|
159
150
|
const {
|
160
151
|
wtTable
|
161
|
-
} = _classPrivateFieldGet(
|
152
|
+
} = _classPrivateFieldGet(_activeOverlaysWot, this);
|
162
153
|
const renderedRowsCount = wtTable.getRenderedRowsCount();
|
163
154
|
const rowHeadersCount = wtTable.getRowHeadersCount();
|
164
155
|
let cursor = 0;
|
@@ -173,8 +164,8 @@ class SelectionScanner {
|
|
173
164
|
}
|
174
165
|
const positiveBasedHeaderLevel = headerLevel + rowHeadersCount;
|
175
166
|
let TH = wtTable.getRowHeader(sourceRow, positiveBasedHeaderLevel);
|
176
|
-
const newSourceRow = _classPrivateFieldGet(
|
177
|
-
selectionType: _classPrivateFieldGet(
|
167
|
+
const newSourceRow = _classPrivateFieldGet(_activeOverlaysWot, this).getSetting('onBeforeHighlightingRowHeader', sourceRow, positiveBasedHeaderLevel, {
|
168
|
+
selectionType: _classPrivateFieldGet(_selection, this).settings.selectionType,
|
178
169
|
rowCursor: cursor,
|
179
170
|
selectionHeight: bottomRow - topRow + 1
|
180
171
|
});
|
@@ -197,16 +188,16 @@ class SelectionScanner {
|
|
197
188
|
* @param {function(HTMLTableElement): void} callback The callback function to trigger.
|
198
189
|
*/
|
199
190
|
scanCellsRange(callback) {
|
200
|
-
const [topRow, topColumn, bottomRow, bottomColumn] = _classPrivateFieldGet(
|
191
|
+
const [topRow, topColumn, bottomRow, bottomColumn] = _classPrivateFieldGet(_selection, this).getCorners();
|
201
192
|
const {
|
202
193
|
wtTable
|
203
|
-
} = _classPrivateFieldGet(
|
204
|
-
|
194
|
+
} = _classPrivateFieldGet(_activeOverlaysWot, this);
|
195
|
+
_assertClassBrand(_SelectionScanner_brand, this, _scanCellsRange).call(this, (sourceRow, sourceColumn) => {
|
205
196
|
if (sourceRow >= topRow && sourceRow <= bottomRow && sourceColumn >= topColumn && sourceColumn <= bottomColumn) {
|
206
|
-
const cell = wtTable.getCell(_classPrivateFieldGet(
|
197
|
+
const cell = wtTable.getCell(_classPrivateFieldGet(_activeOverlaysWot, this).createCellCoords(sourceRow, sourceColumn));
|
207
198
|
|
208
199
|
// support for old API
|
209
|
-
const additionalSelectionClass = _classPrivateFieldGet(
|
200
|
+
const additionalSelectionClass = _classPrivateFieldGet(_activeOverlaysWot, this).getSetting('onAfterDrawSelection', sourceRow, sourceColumn, _classPrivateFieldGet(_selection, this).settings.layerLevel);
|
210
201
|
if (typeof additionalSelectionClass === 'string') {
|
211
202
|
(0, _element.addClass)(cell, additionalSelectionClass);
|
212
203
|
}
|
@@ -223,13 +214,13 @@ class SelectionScanner {
|
|
223
214
|
*/
|
224
215
|
scanRowsInCellsRange(callback) {
|
225
216
|
// eslint-disable-next-line comma-spacing
|
226
|
-
const [topRow,, bottomRow] = _classPrivateFieldGet(
|
217
|
+
const [topRow,, bottomRow] = _classPrivateFieldGet(_selection, this).getCorners();
|
227
218
|
const {
|
228
219
|
wtTable
|
229
|
-
} = _classPrivateFieldGet(
|
230
|
-
|
220
|
+
} = _classPrivateFieldGet(_activeOverlaysWot, this);
|
221
|
+
_assertClassBrand(_SelectionScanner_brand, this, _scanCellsRange).call(this, (sourceRow, sourceColumn) => {
|
231
222
|
if (sourceRow >= topRow && sourceRow <= bottomRow) {
|
232
|
-
const cell = wtTable.getCell(_classPrivateFieldGet(
|
223
|
+
const cell = wtTable.getCell(_classPrivateFieldGet(_activeOverlaysWot, this).createCellCoords(sourceRow, sourceColumn));
|
233
224
|
callback(cell);
|
234
225
|
}
|
235
226
|
});
|
@@ -242,23 +233,23 @@ class SelectionScanner {
|
|
242
233
|
* @param {function(HTMLTableElement): void} callback The callback function to trigger.
|
243
234
|
*/
|
244
235
|
scanColumnsInCellsRange(callback) {
|
245
|
-
const [, topColumn,, bottomColumn] = _classPrivateFieldGet(
|
236
|
+
const [, topColumn,, bottomColumn] = _classPrivateFieldGet(_selection, this).getCorners();
|
246
237
|
const {
|
247
238
|
wtTable
|
248
|
-
} = _classPrivateFieldGet(
|
249
|
-
|
239
|
+
} = _classPrivateFieldGet(_activeOverlaysWot, this);
|
240
|
+
_assertClassBrand(_SelectionScanner_brand, this, _scanCellsRange).call(this, (sourceRow, sourceColumn) => {
|
250
241
|
if (sourceColumn >= topColumn && sourceColumn <= bottomColumn) {
|
251
|
-
const cell = wtTable.getCell(_classPrivateFieldGet(
|
242
|
+
const cell = wtTable.getCell(_classPrivateFieldGet(_activeOverlaysWot, this).createCellCoords(sourceRow, sourceColumn));
|
252
243
|
callback(cell);
|
253
244
|
}
|
254
245
|
});
|
255
246
|
}
|
256
247
|
}
|
257
248
|
exports.SelectionScanner = SelectionScanner;
|
258
|
-
function
|
249
|
+
function _scanCellsRange(callback) {
|
259
250
|
const {
|
260
251
|
wtTable
|
261
|
-
} = _classPrivateFieldGet(
|
252
|
+
} = _classPrivateFieldGet(_activeOverlaysWot, this);
|
262
253
|
const renderedRowsCount = wtTable.getRenderedRowsCount();
|
263
254
|
const renderedColumnsCount = wtTable.getRenderedColumnsCount();
|
264
255
|
for (let row = 0; row < renderedRowsCount; row += 1) {
|
@@ -2,12 +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 _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
4
4
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
5
|
-
function
|
6
|
-
function
|
7
|
-
function
|
8
|
-
function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
|
9
|
-
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
10
|
-
function _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; } }
|
5
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
6
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
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"); }
|
11
8
|
/* eslint-disable no-continue */
|
12
9
|
import { addClass } from "../../../../helpers/dom/element.mjs";
|
13
10
|
/**
|
@@ -18,7 +15,7 @@ import { addClass } from "../../../../helpers/dom/element.mjs";
|
|
18
15
|
*/
|
19
16
|
var _selection = /*#__PURE__*/new WeakMap();
|
20
17
|
var _activeOverlaysWot = /*#__PURE__*/new WeakMap();
|
21
|
-
var
|
18
|
+
var _SelectionScanner_brand = /*#__PURE__*/new WeakSet();
|
22
19
|
export class SelectionScanner {
|
23
20
|
constructor() {
|
24
21
|
/**
|
@@ -26,25 +23,19 @@ export class SelectionScanner {
|
|
26
23
|
*
|
27
24
|
* @param {function(number, number): void} callback The callback function to trigger.
|
28
25
|
*/
|
29
|
-
_classPrivateMethodInitSpec(this,
|
26
|
+
_classPrivateMethodInitSpec(this, _SelectionScanner_brand);
|
30
27
|
/**
|
31
28
|
* Active Selection instance to process.
|
32
29
|
*
|
33
30
|
* @type {Selection}
|
34
31
|
*/
|
35
|
-
_classPrivateFieldInitSpec(this, _selection,
|
36
|
-
writable: true,
|
37
|
-
value: void 0
|
38
|
-
});
|
32
|
+
_classPrivateFieldInitSpec(this, _selection, void 0);
|
39
33
|
/**
|
40
34
|
* The Walkontable instance that the scans depends on.
|
41
35
|
*
|
42
36
|
* @type {Walkontable}
|
43
37
|
*/
|
44
|
-
_classPrivateFieldInitSpec(this, _activeOverlaysWot,
|
45
|
-
writable: true,
|
46
|
-
value: void 0
|
47
|
-
});
|
38
|
+
_classPrivateFieldInitSpec(this, _activeOverlaysWot, void 0);
|
48
39
|
}
|
49
40
|
/**
|
50
41
|
* Sets the Walkontable instance that will be taking into account while scanning the table.
|
@@ -53,7 +44,7 @@ export class SelectionScanner {
|
|
53
44
|
* @returns {SelectionScanner}
|
54
45
|
*/
|
55
46
|
setActiveOverlay(activeOverlaysWot) {
|
56
|
-
_classPrivateFieldSet(
|
47
|
+
_classPrivateFieldSet(_activeOverlaysWot, this, activeOverlaysWot);
|
57
48
|
return this;
|
58
49
|
}
|
59
50
|
|
@@ -64,7 +55,7 @@ export class SelectionScanner {
|
|
64
55
|
* @returns {SelectionScanner}
|
65
56
|
*/
|
66
57
|
setActiveSelection(selection) {
|
67
|
-
_classPrivateFieldSet(
|
58
|
+
_classPrivateFieldSet(_selection, this, selection);
|
68
59
|
return this;
|
69
60
|
}
|
70
61
|
|
@@ -75,7 +66,7 @@ export class SelectionScanner {
|
|
75
66
|
* @returns {HTMLTableElement[]}
|
76
67
|
*/
|
77
68
|
scan() {
|
78
|
-
const selectionType = _classPrivateFieldGet(
|
69
|
+
const selectionType = _classPrivateFieldGet(_selection, this).settings.selectionType;
|
79
70
|
const elements = new Set();
|
80
71
|
|
81
72
|
// TODO(improvement): use heuristics from coords to detect what type of scan
|
@@ -111,10 +102,10 @@ export class SelectionScanner {
|
|
111
102
|
* @param {function(HTMLTableElement): void} callback The callback function to trigger.
|
112
103
|
*/
|
113
104
|
scanColumnsInHeadersRange(callback) {
|
114
|
-
const [topRow, topColumn, bottomRow, bottomColumn] = _classPrivateFieldGet(
|
105
|
+
const [topRow, topColumn, bottomRow, bottomColumn] = _classPrivateFieldGet(_selection, this).getCorners();
|
115
106
|
const {
|
116
107
|
wtTable
|
117
|
-
} = _classPrivateFieldGet(
|
108
|
+
} = _classPrivateFieldGet(_activeOverlaysWot, this);
|
118
109
|
const renderedColumnsCount = wtTable.getRenderedColumnsCount();
|
119
110
|
const columnHeadersCount = wtTable.getColumnHeadersCount();
|
120
111
|
let cursor = 0;
|
@@ -129,8 +120,8 @@ export class SelectionScanner {
|
|
129
120
|
}
|
130
121
|
const positiveBasedHeaderLevel = headerLevel + columnHeadersCount;
|
131
122
|
let TH = wtTable.getColumnHeader(sourceColumn, positiveBasedHeaderLevel);
|
132
|
-
const newSourceCol = _classPrivateFieldGet(
|
133
|
-
selectionType: _classPrivateFieldGet(
|
123
|
+
const newSourceCol = _classPrivateFieldGet(_activeOverlaysWot, this).getSetting('onBeforeHighlightingColumnHeader', sourceColumn, positiveBasedHeaderLevel, {
|
124
|
+
selectionType: _classPrivateFieldGet(_selection, this).settings.selectionType,
|
134
125
|
columnCursor: cursor,
|
135
126
|
selectionWidth: bottomColumn - topColumn + 1
|
136
127
|
});
|
@@ -153,10 +144,10 @@ export class SelectionScanner {
|
|
153
144
|
* @param {function(HTMLTableElement): void} callback The callback function to trigger.
|
154
145
|
*/
|
155
146
|
scanRowsInHeadersRange(callback) {
|
156
|
-
const [topRow, topColumn, bottomRow, bottomColumn] = _classPrivateFieldGet(
|
147
|
+
const [topRow, topColumn, bottomRow, bottomColumn] = _classPrivateFieldGet(_selection, this).getCorners();
|
157
148
|
const {
|
158
149
|
wtTable
|
159
|
-
} = _classPrivateFieldGet(
|
150
|
+
} = _classPrivateFieldGet(_activeOverlaysWot, this);
|
160
151
|
const renderedRowsCount = wtTable.getRenderedRowsCount();
|
161
152
|
const rowHeadersCount = wtTable.getRowHeadersCount();
|
162
153
|
let cursor = 0;
|
@@ -171,8 +162,8 @@ export class SelectionScanner {
|
|
171
162
|
}
|
172
163
|
const positiveBasedHeaderLevel = headerLevel + rowHeadersCount;
|
173
164
|
let TH = wtTable.getRowHeader(sourceRow, positiveBasedHeaderLevel);
|
174
|
-
const newSourceRow = _classPrivateFieldGet(
|
175
|
-
selectionType: _classPrivateFieldGet(
|
165
|
+
const newSourceRow = _classPrivateFieldGet(_activeOverlaysWot, this).getSetting('onBeforeHighlightingRowHeader', sourceRow, positiveBasedHeaderLevel, {
|
166
|
+
selectionType: _classPrivateFieldGet(_selection, this).settings.selectionType,
|
176
167
|
rowCursor: cursor,
|
177
168
|
selectionHeight: bottomRow - topRow + 1
|
178
169
|
});
|
@@ -195,16 +186,16 @@ export class SelectionScanner {
|
|
195
186
|
* @param {function(HTMLTableElement): void} callback The callback function to trigger.
|
196
187
|
*/
|
197
188
|
scanCellsRange(callback) {
|
198
|
-
const [topRow, topColumn, bottomRow, bottomColumn] = _classPrivateFieldGet(
|
189
|
+
const [topRow, topColumn, bottomRow, bottomColumn] = _classPrivateFieldGet(_selection, this).getCorners();
|
199
190
|
const {
|
200
191
|
wtTable
|
201
|
-
} = _classPrivateFieldGet(
|
202
|
-
|
192
|
+
} = _classPrivateFieldGet(_activeOverlaysWot, this);
|
193
|
+
_assertClassBrand(_SelectionScanner_brand, this, _scanCellsRange).call(this, (sourceRow, sourceColumn) => {
|
203
194
|
if (sourceRow >= topRow && sourceRow <= bottomRow && sourceColumn >= topColumn && sourceColumn <= bottomColumn) {
|
204
|
-
const cell = wtTable.getCell(_classPrivateFieldGet(
|
195
|
+
const cell = wtTable.getCell(_classPrivateFieldGet(_activeOverlaysWot, this).createCellCoords(sourceRow, sourceColumn));
|
205
196
|
|
206
197
|
// support for old API
|
207
|
-
const additionalSelectionClass = _classPrivateFieldGet(
|
198
|
+
const additionalSelectionClass = _classPrivateFieldGet(_activeOverlaysWot, this).getSetting('onAfterDrawSelection', sourceRow, sourceColumn, _classPrivateFieldGet(_selection, this).settings.layerLevel);
|
208
199
|
if (typeof additionalSelectionClass === 'string') {
|
209
200
|
addClass(cell, additionalSelectionClass);
|
210
201
|
}
|
@@ -221,13 +212,13 @@ export class SelectionScanner {
|
|
221
212
|
*/
|
222
213
|
scanRowsInCellsRange(callback) {
|
223
214
|
// eslint-disable-next-line comma-spacing
|
224
|
-
const [topRow,, bottomRow] = _classPrivateFieldGet(
|
215
|
+
const [topRow,, bottomRow] = _classPrivateFieldGet(_selection, this).getCorners();
|
225
216
|
const {
|
226
217
|
wtTable
|
227
|
-
} = _classPrivateFieldGet(
|
228
|
-
|
218
|
+
} = _classPrivateFieldGet(_activeOverlaysWot, this);
|
219
|
+
_assertClassBrand(_SelectionScanner_brand, this, _scanCellsRange).call(this, (sourceRow, sourceColumn) => {
|
229
220
|
if (sourceRow >= topRow && sourceRow <= bottomRow) {
|
230
|
-
const cell = wtTable.getCell(_classPrivateFieldGet(
|
221
|
+
const cell = wtTable.getCell(_classPrivateFieldGet(_activeOverlaysWot, this).createCellCoords(sourceRow, sourceColumn));
|
231
222
|
callback(cell);
|
232
223
|
}
|
233
224
|
});
|
@@ -240,22 +231,22 @@ export class SelectionScanner {
|
|
240
231
|
* @param {function(HTMLTableElement): void} callback The callback function to trigger.
|
241
232
|
*/
|
242
233
|
scanColumnsInCellsRange(callback) {
|
243
|
-
const [, topColumn,, bottomColumn] = _classPrivateFieldGet(
|
234
|
+
const [, topColumn,, bottomColumn] = _classPrivateFieldGet(_selection, this).getCorners();
|
244
235
|
const {
|
245
236
|
wtTable
|
246
|
-
} = _classPrivateFieldGet(
|
247
|
-
|
237
|
+
} = _classPrivateFieldGet(_activeOverlaysWot, this);
|
238
|
+
_assertClassBrand(_SelectionScanner_brand, this, _scanCellsRange).call(this, (sourceRow, sourceColumn) => {
|
248
239
|
if (sourceColumn >= topColumn && sourceColumn <= bottomColumn) {
|
249
|
-
const cell = wtTable.getCell(_classPrivateFieldGet(
|
240
|
+
const cell = wtTable.getCell(_classPrivateFieldGet(_activeOverlaysWot, this).createCellCoords(sourceRow, sourceColumn));
|
250
241
|
callback(cell);
|
251
242
|
}
|
252
243
|
});
|
253
244
|
}
|
254
245
|
}
|
255
|
-
function
|
246
|
+
function _scanCellsRange(callback) {
|
256
247
|
const {
|
257
248
|
wtTable
|
258
|
-
} = _classPrivateFieldGet(
|
249
|
+
} = _classPrivateFieldGet(_activeOverlaysWot, this);
|
259
250
|
const renderedRowsCount = wtTable.getRenderedRowsCount();
|
260
251
|
const renderedColumnsCount = wtTable.getRenderedColumnsCount();
|
261
252
|
for (let row = 0; row < renderedRowsCount; row += 1) {
|
@@ -5,7 +5,7 @@ require("core-js/modules/es.error.cause.js");
|
|
5
5
|
var _element = require("../../../helpers/dom/element");
|
6
6
|
var _object = require("../../../helpers/object");
|
7
7
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
8
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
8
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
9
9
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
10
10
|
/**
|
11
11
|
* @todo Describe options.
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
2
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
3
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
3
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
4
4
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
5
5
|
import { fastInnerText } from "../../../helpers/dom/element.mjs";
|
6
6
|
import { objectEach } from "../../../helpers/object.mjs";
|
@@ -14,7 +14,7 @@ var _overlay = require("./overlay");
|
|
14
14
|
var _a11y = require("../../../helpers/a11y");
|
15
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
16
16
|
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; }
|
17
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
17
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
18
18
|
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); }
|
19
19
|
/**
|
20
20
|
* @todo These mixes are never added to the class Table, however their members are used here.
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
2
|
import "core-js/modules/es.array.push.js";
|
3
3
|
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; }
|
4
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
4
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
5
5
|
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); }
|
6
6
|
import { hasClass, index, offset, removeTextNodes, overlayContainsElement, closest, outerHeight, outerWidth, innerHeight, isVisible, setAttribute } from "../../../helpers/dom/element.mjs";
|
7
7
|
import { isFunction } from "../../../helpers/function.mjs";
|
@@ -5,7 +5,7 @@ require("core-js/modules/es.error.cause.js");
|
|
5
5
|
var _element = require("./../../../../helpers/dom/element");
|
6
6
|
var _columnStretching = require("./columnStretching");
|
7
7
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
8
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
8
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
9
9
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
10
10
|
/**
|
11
11
|
* Column utils class contains all necessary information about sizes of the columns.
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
2
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
3
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
3
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
4
4
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
5
5
|
import { getScrollbarWidth } from "./../../../../helpers/dom/element.mjs";
|
6
6
|
import { ColumnStretching } from "./columnStretching.mjs";
|
@@ -5,13 +5,11 @@ require("core-js/modules/es.error.cause.js");
|
|
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
7
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
8
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
8
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
9
9
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
10
|
-
function _classPrivateFieldGet(
|
11
|
-
function
|
12
|
-
function
|
13
|
-
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
14
|
-
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; } }
|
10
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
11
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
12
|
+
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"); }
|
15
13
|
var _totalTargetWidth = /*#__PURE__*/new WeakMap();
|
16
14
|
var _totalColumns = /*#__PURE__*/new WeakMap();
|
17
15
|
var _stretchingColumnWidthFn = /*#__PURE__*/new WeakMap();
|
@@ -63,10 +61,7 @@ class ColumnStretching {
|
|
63
61
|
/**
|
64
62
|
* @type {number}
|
65
63
|
*/
|
66
|
-
_classPrivateFieldInitSpec(this, _totalTargetWidth,
|
67
|
-
writable: true,
|
68
|
-
value: 0
|
69
|
-
});
|
64
|
+
_classPrivateFieldInitSpec(this, _totalTargetWidth, 0);
|
70
65
|
/**
|
71
66
|
* @type {boolean}
|
72
67
|
*/
|
@@ -76,41 +71,29 @@ class ColumnStretching {
|
|
76
71
|
*
|
77
72
|
* @type {function(): number}
|
78
73
|
*/
|
79
|
-
_classPrivateFieldInitSpec(this, _totalColumns,
|
80
|
-
writable: true,
|
81
|
-
value: () => 0
|
82
|
-
});
|
74
|
+
_classPrivateFieldInitSpec(this, _totalColumns, () => 0);
|
83
75
|
/**
|
84
76
|
* Function that returns the width of the stretched column at a given index (in px).
|
85
77
|
*
|
86
78
|
* @type {function(): number}
|
87
79
|
*/
|
88
|
-
_classPrivateFieldInitSpec(this, _stretchingColumnWidthFn,
|
89
|
-
writable: true,
|
90
|
-
value: width => width
|
91
|
-
});
|
80
|
+
_classPrivateFieldInitSpec(this, _stretchingColumnWidthFn, width => width);
|
92
81
|
/**
|
93
82
|
* Function that returns the width of the column at a given index (in px).
|
94
83
|
*
|
95
84
|
* @type {function(): number}
|
96
85
|
*/
|
97
|
-
_classPrivateFieldInitSpec(this, _columnWidthFn,
|
98
|
-
writable: true,
|
99
|
-
value: width => width
|
100
|
-
});
|
86
|
+
_classPrivateFieldInitSpec(this, _columnWidthFn, width => width);
|
101
87
|
/**
|
102
88
|
* Stretch mode.
|
103
89
|
*
|
104
90
|
* @type {function(): 'all' | 'last' | 'none'}
|
105
91
|
*/
|
106
|
-
_classPrivateFieldInitSpec(this, _stretchMode,
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
_classPrivateFieldSet(this,
|
111
|
-
_classPrivateFieldSet(this, _stretchMode, stretchMode);
|
112
|
-
_classPrivateFieldSet(this, _stretchingColumnWidthFn, stretchingColumnWidthFn !== null && stretchingColumnWidthFn !== void 0 ? stretchingColumnWidthFn : _classPrivateFieldGet(this, _stretchingColumnWidthFn));
|
113
|
-
_classPrivateFieldSet(this, _columnWidthFn, columnWidthFn !== null && columnWidthFn !== void 0 ? columnWidthFn : _classPrivateFieldGet(this, _columnWidthFn));
|
92
|
+
_classPrivateFieldInitSpec(this, _stretchMode, () => 'none');
|
93
|
+
_classPrivateFieldSet(_totalColumns, this, totalColumns);
|
94
|
+
_classPrivateFieldSet(_stretchMode, this, stretchMode);
|
95
|
+
_classPrivateFieldSet(_stretchingColumnWidthFn, this, stretchingColumnWidthFn !== null && stretchingColumnWidthFn !== void 0 ? stretchingColumnWidthFn : _classPrivateFieldGet(_stretchingColumnWidthFn, this));
|
96
|
+
_classPrivateFieldSet(_columnWidthFn, this, columnWidthFn !== null && columnWidthFn !== void 0 ? columnWidthFn : _classPrivateFieldGet(_columnWidthFn, this));
|
114
97
|
}
|
115
98
|
|
116
99
|
/**
|
@@ -119,14 +102,14 @@ class ColumnStretching {
|
|
119
102
|
* @param {number} totalWidth The total width of the table.
|
120
103
|
*/
|
121
104
|
refreshStretching(totalWidth) {
|
122
|
-
if (_classPrivateFieldGet(
|
105
|
+
if (_classPrivateFieldGet(_stretchMode, this).call(this) === 'none') {
|
123
106
|
return;
|
124
107
|
}
|
125
|
-
_classPrivateFieldSet(
|
108
|
+
_classPrivateFieldSet(_totalTargetWidth, this, totalWidth);
|
126
109
|
let sumAll = 0;
|
127
|
-
for (let i = 0; i < _classPrivateFieldGet(
|
110
|
+
for (let i = 0; i < _classPrivateFieldGet(_totalColumns, this).call(this); i++) {
|
128
111
|
const columnWidth = this._getColumnWidth(i);
|
129
|
-
const permanentColumnWidth = _classPrivateFieldGet(
|
112
|
+
const permanentColumnWidth = _classPrivateFieldGet(_stretchingColumnWidthFn, this).call(this, undefined, i);
|
130
113
|
if (typeof permanentColumnWidth === 'number') {
|
131
114
|
totalWidth -= permanentColumnWidth;
|
132
115
|
} else {
|
@@ -134,12 +117,12 @@ class ColumnStretching {
|
|
134
117
|
}
|
135
118
|
}
|
136
119
|
const remainingSize = totalWidth - sumAll;
|
137
|
-
if (_classPrivateFieldGet(
|
120
|
+
if (_classPrivateFieldGet(_stretchMode, this).call(this) === 'all' && remainingSize > 0) {
|
138
121
|
this.stretchAllRatio = totalWidth / sumAll;
|
139
122
|
this.stretchAllColumnsWidth = [];
|
140
123
|
this.needVerifyLastColumnWidth = true;
|
141
|
-
} else if (_classPrivateFieldGet(
|
142
|
-
const columnWidth = this._getColumnWidth(_classPrivateFieldGet(
|
124
|
+
} else if (_classPrivateFieldGet(_stretchMode, this).call(this) === 'last' && totalWidth !== Infinity) {
|
125
|
+
const columnWidth = this._getColumnWidth(_classPrivateFieldGet(_totalColumns, this).call(this) - 1);
|
143
126
|
const lastColumnWidth = remainingSize + columnWidth;
|
144
127
|
this.stretchLastWidth = lastColumnWidth >= 0 ? lastColumnWidth : columnWidth;
|
145
128
|
}
|
@@ -154,9 +137,9 @@ class ColumnStretching {
|
|
154
137
|
*/
|
155
138
|
getStretchedColumnWidth(column, baseWidth) {
|
156
139
|
let result = null;
|
157
|
-
if (_classPrivateFieldGet(
|
140
|
+
if (_classPrivateFieldGet(_stretchMode, this).call(this) === 'all' && this.stretchAllRatio !== 0) {
|
158
141
|
result = this._getStretchedAllColumnWidth(column, baseWidth);
|
159
|
-
} else if (_classPrivateFieldGet(
|
142
|
+
} else if (_classPrivateFieldGet(_stretchMode, this).call(this) === 'last' && this.stretchLastWidth !== 0) {
|
160
143
|
result = this._getStretchedLastColumnWidth(column);
|
161
144
|
}
|
162
145
|
return result;
|
@@ -172,20 +155,20 @@ class ColumnStretching {
|
|
172
155
|
let sumRatioWidth = 0;
|
173
156
|
if (!this.stretchAllColumnsWidth[column]) {
|
174
157
|
const stretchedWidth = Math.round(baseWidth * this.stretchAllRatio);
|
175
|
-
const newStretchedWidth = _classPrivateFieldGet(
|
158
|
+
const newStretchedWidth = _classPrivateFieldGet(_stretchingColumnWidthFn, this).call(this, stretchedWidth, column);
|
176
159
|
if (newStretchedWidth === undefined) {
|
177
160
|
this.stretchAllColumnsWidth[column] = stretchedWidth;
|
178
161
|
} else {
|
179
162
|
this.stretchAllColumnsWidth[column] = isNaN(newStretchedWidth) ? this._getColumnWidth(column) : newStretchedWidth;
|
180
163
|
}
|
181
164
|
}
|
182
|
-
if (this.stretchAllColumnsWidth.length === _classPrivateFieldGet(
|
165
|
+
if (this.stretchAllColumnsWidth.length === _classPrivateFieldGet(_totalColumns, this).call(this) && this.needVerifyLastColumnWidth) {
|
183
166
|
this.needVerifyLastColumnWidth = false;
|
184
167
|
for (let i = 0; i < this.stretchAllColumnsWidth.length; i++) {
|
185
168
|
sumRatioWidth += this.stretchAllColumnsWidth[i];
|
186
169
|
}
|
187
|
-
if (sumRatioWidth !== _classPrivateFieldGet(
|
188
|
-
this.stretchAllColumnsWidth[this.stretchAllColumnsWidth.length - 1] += _classPrivateFieldGet(
|
170
|
+
if (sumRatioWidth !== _classPrivateFieldGet(_totalTargetWidth, this)) {
|
171
|
+
this.stretchAllColumnsWidth[this.stretchAllColumnsWidth.length - 1] += _classPrivateFieldGet(_totalTargetWidth, this) - sumRatioWidth;
|
189
172
|
}
|
190
173
|
}
|
191
174
|
return this.stretchAllColumnsWidth[column];
|
@@ -197,7 +180,7 @@ class ColumnStretching {
|
|
197
180
|
* @private
|
198
181
|
*/
|
199
182
|
_getStretchedLastColumnWidth(column) {
|
200
|
-
if (column === _classPrivateFieldGet(
|
183
|
+
if (column === _classPrivateFieldGet(_totalColumns, this).call(this) - 1) {
|
201
184
|
return this.stretchLastWidth;
|
202
185
|
}
|
203
186
|
return null;
|
@@ -209,7 +192,7 @@ class ColumnStretching {
|
|
209
192
|
* @private
|
210
193
|
*/
|
211
194
|
_getColumnWidth(column) {
|
212
|
-
let width = _classPrivateFieldGet(
|
195
|
+
let width = _classPrivateFieldGet(_columnWidthFn, this).call(this, column);
|
213
196
|
if (isNaN(width)) {
|
214
197
|
width = ColumnStretching.DEFAULT_WIDTH;
|
215
198
|
}
|