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
package/tableView.mjs
CHANGED
@@ -1,17 +1,14 @@
|
|
1
|
-
import "core-js/modules/es.array.push.js";
|
2
1
|
import "core-js/modules/es.error.cause.js";
|
2
|
+
import "core-js/modules/es.array.push.js";
|
3
3
|
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
4
4
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
5
5
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
6
6
|
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; }
|
7
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
7
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
8
8
|
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); }
|
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; } }
|
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"); }
|
15
12
|
import { addClass, clearTextSelection, empty, fastInnerHTML, fastInnerText, getScrollbarWidth, hasClass, isChildOf, isInput, isOutsideInput, isVisible, setAttribute, getParentWindow } from "./helpers/dom/element.mjs";
|
16
13
|
import EventManager from "./eventManager.mjs";
|
17
14
|
import { isImmediatePropagationStopped, isRightClick, isLeftClick } from "./helpers/dom/event.mjs";
|
@@ -30,25 +27,18 @@ var _mouseDown = /*#__PURE__*/new WeakMap();
|
|
30
27
|
var _table = /*#__PURE__*/new WeakMap();
|
31
28
|
var _lastWidth = /*#__PURE__*/new WeakMap();
|
32
29
|
var _lastHeight = /*#__PURE__*/new WeakMap();
|
33
|
-
var
|
34
|
-
var _updateAriaColcount = /*#__PURE__*/new WeakSet();
|
30
|
+
var _TableView_brand = /*#__PURE__*/new WeakSet();
|
35
31
|
class TableView {
|
36
32
|
/**
|
37
33
|
* @param {Hanstontable} hotInstance Instance of {@link Handsontable}.
|
38
34
|
*/
|
39
35
|
constructor(hotInstance) {
|
40
|
-
/**
|
41
|
-
* Update the `aria-colcount` attribute by the provided value.
|
42
|
-
*
|
43
|
-
* @param {number} delta The number of columns to add or remove to the aria tag.
|
44
|
-
*/
|
45
|
-
_classPrivateMethodInitSpec(this, _updateAriaColcount);
|
46
36
|
/**
|
47
37
|
* Return the value of the `aria-colcount` attribute.
|
48
38
|
*
|
49
39
|
* @returns {number} The value of the `aria-colcount` attribute.
|
50
40
|
*/
|
51
|
-
_classPrivateMethodInitSpec(this,
|
41
|
+
_classPrivateMethodInitSpec(this, _TableView_brand);
|
52
42
|
/**
|
53
43
|
* Instance of {@link Handsontable}.
|
54
44
|
*
|
@@ -103,20 +93,14 @@ class TableView {
|
|
103
93
|
*
|
104
94
|
* @type {number}
|
105
95
|
*/
|
106
|
-
_classPrivateFieldInitSpec(this, _columnHeadersCount,
|
107
|
-
writable: true,
|
108
|
-
value: 0
|
109
|
-
});
|
96
|
+
_classPrivateFieldInitSpec(this, _columnHeadersCount, 0);
|
110
97
|
/**
|
111
98
|
* The total number of the row header renderers applied to the table through the
|
112
99
|
* `afterGetRowHeaderRenderers` hook.
|
113
100
|
*
|
114
101
|
* @type {number}
|
115
102
|
*/
|
116
|
-
_classPrivateFieldInitSpec(this, _rowHeadersCount,
|
117
|
-
writable: true,
|
118
|
-
value: 0
|
119
|
-
});
|
103
|
+
_classPrivateFieldInitSpec(this, _rowHeadersCount, 0);
|
120
104
|
/**
|
121
105
|
* The flag determines if the `adjustElementsSize` method call was made during
|
122
106
|
* the render suspending. If true, the method has to be triggered once after render
|
@@ -131,44 +115,29 @@ class TableView {
|
|
131
115
|
*
|
132
116
|
* @type {boolean}
|
133
117
|
*/
|
134
|
-
_classPrivateFieldInitSpec(this, _selectionMouseDown,
|
135
|
-
writable: true,
|
136
|
-
value: false
|
137
|
-
});
|
118
|
+
_classPrivateFieldInitSpec(this, _selectionMouseDown, false);
|
138
119
|
/**
|
139
120
|
* @type {boolean}
|
140
121
|
*/
|
141
|
-
_classPrivateFieldInitSpec(this, _mouseDown,
|
142
|
-
writable: true,
|
143
|
-
value: void 0
|
144
|
-
});
|
122
|
+
_classPrivateFieldInitSpec(this, _mouseDown, void 0);
|
145
123
|
/**
|
146
124
|
* Main <TABLE> element.
|
147
125
|
*
|
148
126
|
* @type {HTMLTableElement}
|
149
127
|
*/
|
150
|
-
_classPrivateFieldInitSpec(this, _table,
|
151
|
-
writable: true,
|
152
|
-
value: void 0
|
153
|
-
});
|
128
|
+
_classPrivateFieldInitSpec(this, _table, void 0);
|
154
129
|
/**
|
155
130
|
* Cached width of the rootElement.
|
156
131
|
*
|
157
132
|
* @type {number}
|
158
133
|
*/
|
159
|
-
_classPrivateFieldInitSpec(this, _lastWidth,
|
160
|
-
writable: true,
|
161
|
-
value: 0
|
162
|
-
});
|
134
|
+
_classPrivateFieldInitSpec(this, _lastWidth, 0);
|
163
135
|
/**
|
164
136
|
* Cached height of the rootElement.
|
165
137
|
*
|
166
138
|
* @type {number}
|
167
139
|
*/
|
168
|
-
_classPrivateFieldInitSpec(this, _lastHeight,
|
169
|
-
writable: true,
|
170
|
-
value: 0
|
171
|
-
});
|
140
|
+
_classPrivateFieldInitSpec(this, _lastHeight, 0);
|
172
141
|
this.hot = hotInstance;
|
173
142
|
this.eventManager = new EventManager(this.hot);
|
174
143
|
this.settings = this.hot.getSettings();
|
@@ -277,21 +246,21 @@ class TableView {
|
|
277
246
|
rootElement.setAttribute('data-originalstyle', originalStyle); // needed to retrieve original style in jsFiddle link generator in HT examples. may be removed in future versions
|
278
247
|
}
|
279
248
|
addClass(rootElement, 'handsontable');
|
280
|
-
_classPrivateFieldSet(
|
281
|
-
addClass(_classPrivateFieldGet(
|
249
|
+
_classPrivateFieldSet(_table, this, rootDocument.createElement('TABLE'));
|
250
|
+
addClass(_classPrivateFieldGet(_table, this), 'htCore');
|
282
251
|
if (this.hot.getSettings().tableClassName) {
|
283
|
-
addClass(_classPrivateFieldGet(
|
252
|
+
addClass(_classPrivateFieldGet(_table, this), this.hot.getSettings().tableClassName);
|
284
253
|
}
|
285
254
|
if (this.settings.ariaTags) {
|
286
|
-
setAttribute(_classPrivateFieldGet(
|
255
|
+
setAttribute(_classPrivateFieldGet(_table, this), [A11Y_PRESENTATION()]);
|
287
256
|
setAttribute(rootElement, [A11Y_TREEGRID(), A11Y_ROWCOUNT(-1), A11Y_COLCOUNT(this.hot.countCols()), A11Y_MULTISELECTABLE()]);
|
288
257
|
}
|
289
258
|
this.THEAD = rootDocument.createElement('THEAD');
|
290
|
-
_classPrivateFieldGet(
|
259
|
+
_classPrivateFieldGet(_table, this).appendChild(this.THEAD);
|
291
260
|
this.TBODY = rootDocument.createElement('TBODY');
|
292
|
-
_classPrivateFieldGet(
|
293
|
-
this.hot.table = _classPrivateFieldGet(
|
294
|
-
this.hot.container.insertBefore(_classPrivateFieldGet(
|
261
|
+
_classPrivateFieldGet(_table, this).appendChild(this.TBODY);
|
262
|
+
this.hot.table = _classPrivateFieldGet(_table, this);
|
263
|
+
this.hot.container.insertBefore(_classPrivateFieldGet(_table, this), this.hot.container.firstChild);
|
295
264
|
}
|
296
265
|
|
297
266
|
/**
|
@@ -308,7 +277,7 @@ class TableView {
|
|
308
277
|
} = this.hot;
|
309
278
|
const documentElement = rootDocument.documentElement;
|
310
279
|
this.eventManager.addEventListener(rootElement, 'mousedown', event => {
|
311
|
-
_classPrivateFieldSet(
|
280
|
+
_classPrivateFieldSet(_selectionMouseDown, this, true);
|
312
281
|
if (!this.isTextSelectionAllowed(event.target)) {
|
313
282
|
clearTextSelection(rootWindow);
|
314
283
|
event.preventDefault();
|
@@ -316,10 +285,10 @@ class TableView {
|
|
316
285
|
}
|
317
286
|
});
|
318
287
|
this.eventManager.addEventListener(rootElement, 'mouseup', () => {
|
319
|
-
_classPrivateFieldSet(
|
288
|
+
_classPrivateFieldSet(_selectionMouseDown, this, false);
|
320
289
|
});
|
321
290
|
this.eventManager.addEventListener(rootElement, 'mousemove', event => {
|
322
|
-
if (_classPrivateFieldGet(
|
291
|
+
if (_classPrivateFieldGet(_selectionMouseDown, this) && !this.isTextSelectionAllowed(event.target)) {
|
323
292
|
// Clear selection only when fragmentSelection is enabled, otherwise clearing selection breaks the IME editor.
|
324
293
|
if (this.settings.fragmentSelection) {
|
325
294
|
clearTextSelection(rootWindow);
|
@@ -337,7 +306,7 @@ class TableView {
|
|
337
306
|
if (selection.isInProgress() && isLeftClick(event)) {
|
338
307
|
selection.finish();
|
339
308
|
}
|
340
|
-
_classPrivateFieldSet(
|
309
|
+
_classPrivateFieldSet(_mouseDown, this, false);
|
341
310
|
const isOutsideInputElement = isOutsideInput(rootDocument.activeElement);
|
342
311
|
if (isInput(rootDocument.activeElement) && !isOutsideInputElement) {
|
343
312
|
return;
|
@@ -349,21 +318,21 @@ class TableView {
|
|
349
318
|
this.eventManager.addEventListener(documentElement, 'contextmenu', event => {
|
350
319
|
if (selection.isInProgress() && isRightClick(event)) {
|
351
320
|
selection.finish();
|
352
|
-
_classPrivateFieldSet(
|
321
|
+
_classPrivateFieldSet(_mouseDown, this, false);
|
353
322
|
}
|
354
323
|
});
|
355
324
|
this.eventManager.addEventListener(documentElement, 'touchend', () => {
|
356
325
|
if (selection.isInProgress()) {
|
357
326
|
selection.finish();
|
358
327
|
}
|
359
|
-
_classPrivateFieldSet(
|
328
|
+
_classPrivateFieldSet(_mouseDown, this, false);
|
360
329
|
});
|
361
330
|
this.eventManager.addEventListener(documentElement, 'mousedown', event => {
|
362
331
|
const originalTarget = event.target;
|
363
332
|
const eventX = event.x || event.clientX;
|
364
333
|
const eventY = event.y || event.clientY;
|
365
334
|
let next = event.target;
|
366
|
-
if (_classPrivateFieldGet(
|
335
|
+
if (_classPrivateFieldGet(_mouseDown, this) || !rootElement || !this.hot.view) {
|
367
336
|
return; // it must have been started in a cell
|
368
337
|
}
|
369
338
|
|
@@ -409,7 +378,7 @@ class TableView {
|
|
409
378
|
});
|
410
379
|
parentWindow = getParentWindow(parentWindow);
|
411
380
|
}
|
412
|
-
this.eventManager.addEventListener(_classPrivateFieldGet(
|
381
|
+
this.eventManager.addEventListener(_classPrivateFieldGet(_table, this), 'selectstart', event => {
|
413
382
|
if (this.settings.fragmentSelection || isInput(event.target)) {
|
414
383
|
return;
|
415
384
|
}
|
@@ -639,7 +608,7 @@ class TableView {
|
|
639
608
|
ariaTags: this.settings.ariaTags,
|
640
609
|
rtlMode: this.hot.isRtl(),
|
641
610
|
externalRowCalculator: this.hot.getPlugin('autoRowSize') && this.hot.getPlugin('autoRowSize').isEnabled(),
|
642
|
-
table: _classPrivateFieldGet(
|
611
|
+
table: _classPrivateFieldGet(_table, this),
|
643
612
|
isDataViewInstance: () => isRootInstance(this.hot),
|
644
613
|
preventOverflow: () => this.settings.preventOverflow,
|
645
614
|
preventWheel: () => this.settings.preventWheel,
|
@@ -681,12 +650,12 @@ class TableView {
|
|
681
650
|
});
|
682
651
|
}
|
683
652
|
this.hot.runHooks('afterGetRowHeaderRenderers', headerRenderers);
|
684
|
-
_classPrivateFieldSet(
|
653
|
+
_classPrivateFieldSet(_rowHeadersCount, this, headerRenderers.length);
|
685
654
|
if (this.hot.getSettings().ariaTags) {
|
686
655
|
// Update the aria-colcount attribute.
|
687
656
|
// Only needs to be done once after initialization/data update.
|
688
|
-
if (
|
689
|
-
|
657
|
+
if (_assertClassBrand(_TableView_brand, this, _getAriaColcount).call(this) === this.hot.countCols()) {
|
658
|
+
_assertClassBrand(_TableView_brand, this, _updateAriaColcount).call(this, _classPrivateFieldGet(_rowHeadersCount, this));
|
690
659
|
}
|
691
660
|
}
|
692
661
|
return headerRenderers;
|
@@ -702,7 +671,7 @@ class TableView {
|
|
702
671
|
});
|
703
672
|
}
|
704
673
|
this.hot.runHooks('afterGetColumnHeaderRenderers', headerRenderers);
|
705
|
-
_classPrivateFieldSet(
|
674
|
+
_classPrivateFieldSet(_columnHeadersCount, this, headerRenderers.length);
|
706
675
|
return headerRenderers;
|
707
676
|
},
|
708
677
|
columnWidth: renderedColumnIndex => {
|
@@ -758,7 +727,7 @@ class TableView {
|
|
758
727
|
};
|
759
728
|
this.hot.listen();
|
760
729
|
this.activeWt = wt;
|
761
|
-
_classPrivateFieldSet(
|
730
|
+
_classPrivateFieldSet(_mouseDown, this, true);
|
762
731
|
this.hot.runHooks('beforeOnCellMouseDown', event, visualCoords, TD, controller);
|
763
732
|
if (isImmediatePropagationStopped(event)) {
|
764
733
|
return;
|
@@ -775,7 +744,7 @@ class TableView {
|
|
775
744
|
onCellContextMenu: (event, coords, TD, wt) => {
|
776
745
|
const visualCoords = this.translateFromRenderableToVisualCoords(coords);
|
777
746
|
this.activeWt = wt;
|
778
|
-
_classPrivateFieldSet(
|
747
|
+
_classPrivateFieldSet(_mouseDown, this, false);
|
779
748
|
if (this.hot.selection.isInProgress()) {
|
780
749
|
this.hot.selection.finish();
|
781
750
|
}
|
@@ -808,7 +777,7 @@ class TableView {
|
|
808
777
|
if (isImmediatePropagationStopped(event)) {
|
809
778
|
return;
|
810
779
|
}
|
811
|
-
if (_classPrivateFieldGet(
|
780
|
+
if (_classPrivateFieldGet(_mouseDown, this)) {
|
812
781
|
handleMouseEvent(event, {
|
813
782
|
coords: visualCoords,
|
814
783
|
selection: this.hot.selection,
|
@@ -1065,7 +1034,7 @@ class TableView {
|
|
1065
1034
|
* @returns {boolean}
|
1066
1035
|
*/
|
1067
1036
|
isMouseDown() {
|
1068
|
-
return _classPrivateFieldGet(
|
1037
|
+
return _classPrivateFieldGet(_mouseDown, this);
|
1069
1038
|
}
|
1070
1039
|
|
1071
1040
|
/**
|
@@ -1259,8 +1228,8 @@ class TableView {
|
|
1259
1228
|
* @param {number} height The table height.
|
1260
1229
|
*/
|
1261
1230
|
setLastSize(width, height) {
|
1262
|
-
_classPrivateFieldSet(
|
1263
|
-
_classPrivateFieldSet(
|
1231
|
+
_classPrivateFieldSet(_lastWidth, this, width);
|
1232
|
+
_classPrivateFieldSet(_lastHeight, this, height);
|
1264
1233
|
}
|
1265
1234
|
|
1266
1235
|
/**
|
@@ -1270,8 +1239,8 @@ class TableView {
|
|
1270
1239
|
*/
|
1271
1240
|
getLastSize() {
|
1272
1241
|
return {
|
1273
|
-
width: _classPrivateFieldGet(
|
1274
|
-
height: _classPrivateFieldGet(
|
1242
|
+
width: _classPrivateFieldGet(_lastWidth, this),
|
1243
|
+
height: _classPrivateFieldGet(_lastHeight, this)
|
1275
1244
|
};
|
1276
1245
|
}
|
1277
1246
|
|
@@ -1353,7 +1322,7 @@ class TableView {
|
|
1353
1322
|
* @returns {number}
|
1354
1323
|
*/
|
1355
1324
|
getColumnHeadersCount() {
|
1356
|
-
return _classPrivateFieldGet(
|
1325
|
+
return _classPrivateFieldGet(_columnHeadersCount, this);
|
1357
1326
|
}
|
1358
1327
|
|
1359
1328
|
/**
|
@@ -1362,7 +1331,7 @@ class TableView {
|
|
1362
1331
|
* @returns {number}
|
1363
1332
|
*/
|
1364
1333
|
getRowHeadersCount() {
|
1365
|
-
return _classPrivateFieldGet(
|
1334
|
+
return _classPrivateFieldGet(_rowHeadersCount, this);
|
1366
1335
|
}
|
1367
1336
|
|
1368
1337
|
/**
|
@@ -1414,11 +1383,16 @@ class TableView {
|
|
1414
1383
|
this.eventManager.destroy();
|
1415
1384
|
}
|
1416
1385
|
}
|
1417
|
-
function
|
1386
|
+
function _getAriaColcount() {
|
1418
1387
|
return parseInt(this.hot.rootElement.getAttribute(A11Y_COLCOUNT()[0]), 10);
|
1419
1388
|
}
|
1420
|
-
|
1421
|
-
|
1389
|
+
/**
|
1390
|
+
* Update the `aria-colcount` attribute by the provided value.
|
1391
|
+
*
|
1392
|
+
* @param {number} delta The number of columns to add or remove to the aria tag.
|
1393
|
+
*/
|
1394
|
+
function _updateAriaColcount(delta) {
|
1395
|
+
const colCount = _assertClassBrand(_TableView_brand, this, _getAriaColcount).call(this) + delta;
|
1422
1396
|
setAttribute(this.hot.rootElement, ...A11Y_COLCOUNT(colCount));
|
1423
1397
|
}
|
1424
1398
|
export default TableView;
|
@@ -6,11 +6,9 @@ var _observer = require("./observer");
|
|
6
6
|
var _utils = require("./utils");
|
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 _classPrivateFieldGet(
|
10
|
-
function
|
11
|
-
function
|
12
|
-
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
13
|
-
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; } }
|
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"); }
|
14
12
|
/**
|
15
13
|
* The ChangesObservable module is an object that represents a resource that provides
|
16
14
|
* the ability to observe the changes that happened in the index map indexes during
|
@@ -34,10 +32,7 @@ class ChangesObservable {
|
|
34
32
|
*
|
35
33
|
* @type {ChangesObserver[]}
|
36
34
|
*/
|
37
|
-
_classPrivateFieldInitSpec(this, _observers,
|
38
|
-
writable: true,
|
39
|
-
value: new Set()
|
40
|
-
});
|
35
|
+
_classPrivateFieldInitSpec(this, _observers, new Set());
|
41
36
|
/**
|
42
37
|
* An array with default values that act as a base array that will be compared with
|
43
38
|
* the last saved index state. The changes are generated and immediately send through
|
@@ -46,30 +41,21 @@ class ChangesObservable {
|
|
46
41
|
*
|
47
42
|
* @type {Array}
|
48
43
|
*/
|
49
|
-
_classPrivateFieldInitSpec(this, _indexMatrix,
|
50
|
-
writable: true,
|
51
|
-
value: []
|
52
|
-
});
|
44
|
+
_classPrivateFieldInitSpec(this, _indexMatrix, []);
|
53
45
|
/**
|
54
46
|
* An array that holds the indexes state that is currently valid. The value is changed on every
|
55
47
|
* index mapper cache update.
|
56
48
|
*
|
57
49
|
* @type {Array}
|
58
50
|
*/
|
59
|
-
_classPrivateFieldInitSpec(this, _currentIndexState,
|
60
|
-
writable: true,
|
61
|
-
value: []
|
62
|
-
});
|
51
|
+
_classPrivateFieldInitSpec(this, _currentIndexState, []);
|
63
52
|
/**
|
64
53
|
* The flag determines if the observable is initialized or not. Not initialized object creates
|
65
54
|
* index matrix once while emitting new changes.
|
66
55
|
*
|
67
56
|
* @type {boolean}
|
68
57
|
*/
|
69
|
-
_classPrivateFieldInitSpec(this, _isMatrixIndexesInitialized,
|
70
|
-
writable: true,
|
71
|
-
value: false
|
72
|
-
});
|
58
|
+
_classPrivateFieldInitSpec(this, _isMatrixIndexesInitialized, false);
|
73
59
|
/**
|
74
60
|
* The initial index value allows control from what value the index matrix array will be created.
|
75
61
|
* Changing that value changes how the array diff generates the changes for the initial data
|
@@ -81,11 +67,8 @@ class ChangesObservable {
|
|
81
67
|
*
|
82
68
|
* @type {boolean}
|
83
69
|
*/
|
84
|
-
_classPrivateFieldInitSpec(this, _initialIndexValue,
|
85
|
-
|
86
|
-
value: false
|
87
|
-
});
|
88
|
-
_classPrivateFieldSet(this, _initialIndexValue, initialIndexValue !== null && initialIndexValue !== void 0 ? initialIndexValue : false);
|
70
|
+
_classPrivateFieldInitSpec(this, _initialIndexValue, false);
|
71
|
+
_classPrivateFieldSet(_initialIndexValue, this, initialIndexValue !== null && initialIndexValue !== void 0 ? initialIndexValue : false);
|
89
72
|
}
|
90
73
|
|
91
74
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
@@ -114,11 +97,11 @@ class ChangesObservable {
|
|
114
97
|
/* eslint-enable jsdoc/require-description-complete-sentence */
|
115
98
|
createObserver() {
|
116
99
|
const observer = new _observer.ChangesObserver();
|
117
|
-
_classPrivateFieldGet(
|
100
|
+
_classPrivateFieldGet(_observers, this).add(observer);
|
118
101
|
observer.addLocalHook('unsubscribe', () => {
|
119
|
-
_classPrivateFieldGet(
|
102
|
+
_classPrivateFieldGet(_observers, this).delete(observer);
|
120
103
|
});
|
121
|
-
observer._writeInitialChanges((0, _utils.arrayDiff)(_classPrivateFieldGet(
|
104
|
+
observer._writeInitialChanges((0, _utils.arrayDiff)(_classPrivateFieldGet(_indexMatrix, this), _classPrivateFieldGet(_currentIndexState, this)));
|
122
105
|
return observer;
|
123
106
|
}
|
124
107
|
|
@@ -130,21 +113,21 @@ class ChangesObservable {
|
|
130
113
|
* @param {Array} indexesState An array with index map state.
|
131
114
|
*/
|
132
115
|
emit(indexesState) {
|
133
|
-
let currentIndexState = _classPrivateFieldGet(
|
134
|
-
if (!_classPrivateFieldGet(
|
116
|
+
let currentIndexState = _classPrivateFieldGet(_currentIndexState, this);
|
117
|
+
if (!_classPrivateFieldGet(_isMatrixIndexesInitialized, this) || _classPrivateFieldGet(_indexMatrix, this).length !== indexesState.length) {
|
135
118
|
if (indexesState.length === 0) {
|
136
|
-
indexesState = new Array(currentIndexState.length).fill(_classPrivateFieldGet(
|
119
|
+
indexesState = new Array(currentIndexState.length).fill(_classPrivateFieldGet(_initialIndexValue, this));
|
137
120
|
} else {
|
138
|
-
_classPrivateFieldSet(
|
121
|
+
_classPrivateFieldSet(_indexMatrix, this, new Array(indexesState.length).fill(_classPrivateFieldGet(_initialIndexValue, this)));
|
139
122
|
}
|
140
|
-
if (!_classPrivateFieldGet(
|
141
|
-
_classPrivateFieldSet(
|
142
|
-
currentIndexState = _classPrivateFieldGet(
|
123
|
+
if (!_classPrivateFieldGet(_isMatrixIndexesInitialized, this)) {
|
124
|
+
_classPrivateFieldSet(_isMatrixIndexesInitialized, this, true);
|
125
|
+
currentIndexState = _classPrivateFieldGet(_indexMatrix, this);
|
143
126
|
}
|
144
127
|
}
|
145
128
|
const changes = (0, _utils.arrayDiff)(currentIndexState, indexesState);
|
146
|
-
_classPrivateFieldGet(
|
147
|
-
_classPrivateFieldSet(
|
129
|
+
_classPrivateFieldGet(_observers, this).forEach(observer => observer._write(changes));
|
130
|
+
_classPrivateFieldSet(_currentIndexState, this, indexesState);
|
148
131
|
}
|
149
132
|
}
|
150
133
|
exports.ChangesObservable = ChangesObservable;
|
@@ -1,11 +1,9 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
2
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
3
3
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
4
|
-
function _classPrivateFieldGet(
|
5
|
-
function
|
6
|
-
function
|
7
|
-
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
8
|
-
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; } }
|
4
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
5
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
6
|
+
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
9
7
|
import { ChangesObserver } from "./observer.mjs";
|
10
8
|
import { arrayDiff } from "./utils.mjs";
|
11
9
|
/**
|
@@ -31,10 +29,7 @@ export class ChangesObservable {
|
|
31
29
|
*
|
32
30
|
* @type {ChangesObserver[]}
|
33
31
|
*/
|
34
|
-
_classPrivateFieldInitSpec(this, _observers,
|
35
|
-
writable: true,
|
36
|
-
value: new Set()
|
37
|
-
});
|
32
|
+
_classPrivateFieldInitSpec(this, _observers, new Set());
|
38
33
|
/**
|
39
34
|
* An array with default values that act as a base array that will be compared with
|
40
35
|
* the last saved index state. The changes are generated and immediately send through
|
@@ -43,30 +38,21 @@ export class ChangesObservable {
|
|
43
38
|
*
|
44
39
|
* @type {Array}
|
45
40
|
*/
|
46
|
-
_classPrivateFieldInitSpec(this, _indexMatrix,
|
47
|
-
writable: true,
|
48
|
-
value: []
|
49
|
-
});
|
41
|
+
_classPrivateFieldInitSpec(this, _indexMatrix, []);
|
50
42
|
/**
|
51
43
|
* An array that holds the indexes state that is currently valid. The value is changed on every
|
52
44
|
* index mapper cache update.
|
53
45
|
*
|
54
46
|
* @type {Array}
|
55
47
|
*/
|
56
|
-
_classPrivateFieldInitSpec(this, _currentIndexState,
|
57
|
-
writable: true,
|
58
|
-
value: []
|
59
|
-
});
|
48
|
+
_classPrivateFieldInitSpec(this, _currentIndexState, []);
|
60
49
|
/**
|
61
50
|
* The flag determines if the observable is initialized or not. Not initialized object creates
|
62
51
|
* index matrix once while emitting new changes.
|
63
52
|
*
|
64
53
|
* @type {boolean}
|
65
54
|
*/
|
66
|
-
_classPrivateFieldInitSpec(this, _isMatrixIndexesInitialized,
|
67
|
-
writable: true,
|
68
|
-
value: false
|
69
|
-
});
|
55
|
+
_classPrivateFieldInitSpec(this, _isMatrixIndexesInitialized, false);
|
70
56
|
/**
|
71
57
|
* The initial index value allows control from what value the index matrix array will be created.
|
72
58
|
* Changing that value changes how the array diff generates the changes for the initial data
|
@@ -78,11 +64,8 @@ export class ChangesObservable {
|
|
78
64
|
*
|
79
65
|
* @type {boolean}
|
80
66
|
*/
|
81
|
-
_classPrivateFieldInitSpec(this, _initialIndexValue,
|
82
|
-
|
83
|
-
value: false
|
84
|
-
});
|
85
|
-
_classPrivateFieldSet(this, _initialIndexValue, initialIndexValue !== null && initialIndexValue !== void 0 ? initialIndexValue : false);
|
67
|
+
_classPrivateFieldInitSpec(this, _initialIndexValue, false);
|
68
|
+
_classPrivateFieldSet(_initialIndexValue, this, initialIndexValue !== null && initialIndexValue !== void 0 ? initialIndexValue : false);
|
86
69
|
}
|
87
70
|
|
88
71
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
@@ -111,11 +94,11 @@ export class ChangesObservable {
|
|
111
94
|
/* eslint-enable jsdoc/require-description-complete-sentence */
|
112
95
|
createObserver() {
|
113
96
|
const observer = new ChangesObserver();
|
114
|
-
_classPrivateFieldGet(
|
97
|
+
_classPrivateFieldGet(_observers, this).add(observer);
|
115
98
|
observer.addLocalHook('unsubscribe', () => {
|
116
|
-
_classPrivateFieldGet(
|
99
|
+
_classPrivateFieldGet(_observers, this).delete(observer);
|
117
100
|
});
|
118
|
-
observer._writeInitialChanges(arrayDiff(_classPrivateFieldGet(
|
101
|
+
observer._writeInitialChanges(arrayDiff(_classPrivateFieldGet(_indexMatrix, this), _classPrivateFieldGet(_currentIndexState, this)));
|
119
102
|
return observer;
|
120
103
|
}
|
121
104
|
|
@@ -127,20 +110,20 @@ export class ChangesObservable {
|
|
127
110
|
* @param {Array} indexesState An array with index map state.
|
128
111
|
*/
|
129
112
|
emit(indexesState) {
|
130
|
-
let currentIndexState = _classPrivateFieldGet(
|
131
|
-
if (!_classPrivateFieldGet(
|
113
|
+
let currentIndexState = _classPrivateFieldGet(_currentIndexState, this);
|
114
|
+
if (!_classPrivateFieldGet(_isMatrixIndexesInitialized, this) || _classPrivateFieldGet(_indexMatrix, this).length !== indexesState.length) {
|
132
115
|
if (indexesState.length === 0) {
|
133
|
-
indexesState = new Array(currentIndexState.length).fill(_classPrivateFieldGet(
|
116
|
+
indexesState = new Array(currentIndexState.length).fill(_classPrivateFieldGet(_initialIndexValue, this));
|
134
117
|
} else {
|
135
|
-
_classPrivateFieldSet(
|
118
|
+
_classPrivateFieldSet(_indexMatrix, this, new Array(indexesState.length).fill(_classPrivateFieldGet(_initialIndexValue, this)));
|
136
119
|
}
|
137
|
-
if (!_classPrivateFieldGet(
|
138
|
-
_classPrivateFieldSet(
|
139
|
-
currentIndexState = _classPrivateFieldGet(
|
120
|
+
if (!_classPrivateFieldGet(_isMatrixIndexesInitialized, this)) {
|
121
|
+
_classPrivateFieldSet(_isMatrixIndexesInitialized, this, true);
|
122
|
+
currentIndexState = _classPrivateFieldGet(_indexMatrix, this);
|
140
123
|
}
|
141
124
|
}
|
142
125
|
const changes = arrayDiff(currentIndexState, indexesState);
|
143
|
-
_classPrivateFieldGet(
|
144
|
-
_classPrivateFieldSet(
|
126
|
+
_classPrivateFieldGet(_observers, this).forEach(observer => observer._write(changes));
|
127
|
+
_classPrivateFieldSet(_currentIndexState, this, indexesState);
|
145
128
|
}
|
146
129
|
}
|
@@ -1,17 +1,15 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
require("core-js/modules/es.error.cause.js");
|
4
3
|
exports.__esModule = true;
|
4
|
+
require("core-js/modules/es.error.cause.js");
|
5
5
|
var _object = require("../../helpers/object");
|
6
6
|
var _localHooks = _interopRequireDefault(require("../../mixins/localHooks"));
|
7
7
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
8
8
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
9
9
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
10
|
-
function _classPrivateFieldSet(
|
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 _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
10
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
11
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
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
|
/**
|
16
14
|
* The ChangesObserver module is an object that represents a disposable resource
|
17
15
|
* provided by the ChangesObservable module.
|
@@ -28,10 +26,7 @@ class ChangesObserver {
|
|
28
26
|
*
|
29
27
|
* @type {Array}
|
30
28
|
*/
|
31
|
-
_classPrivateFieldInitSpec(this, _currentInitialChanges,
|
32
|
-
writable: true,
|
33
|
-
value: []
|
34
|
-
});
|
29
|
+
_classPrivateFieldInitSpec(this, _currentInitialChanges, []);
|
35
30
|
}
|
36
31
|
/**
|
37
32
|
* Subscribes to the observer.
|
@@ -41,7 +36,7 @@ class ChangesObserver {
|
|
41
36
|
*/
|
42
37
|
subscribe(callback) {
|
43
38
|
this.addLocalHook('change', callback);
|
44
|
-
this._write(_classPrivateFieldGet(
|
39
|
+
this._write(_classPrivateFieldGet(_currentInitialChanges, this));
|
45
40
|
return this;
|
46
41
|
}
|
47
42
|
|
@@ -80,7 +75,7 @@ class ChangesObserver {
|
|
80
75
|
* @param {object} initialChanges The chunk of changes produced by the ChangesObservable module.
|
81
76
|
*/
|
82
77
|
_writeInitialChanges(initialChanges) {
|
83
|
-
_classPrivateFieldSet(
|
78
|
+
_classPrivateFieldSet(_currentInitialChanges, this, initialChanges);
|
84
79
|
}
|
85
80
|
}
|
86
81
|
exports.ChangesObserver = ChangesObserver;
|