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
@@ -18,14 +18,11 @@ function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclarati
|
|
18
18
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
19
19
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
20
20
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
21
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i :
|
21
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
22
22
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
23
|
-
function
|
24
|
-
function
|
25
|
-
function
|
26
|
-
function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
|
27
|
-
function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
|
28
|
-
function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
|
23
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
24
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
25
|
+
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
29
26
|
const PLUGIN_KEY = exports.PLUGIN_KEY = 'comments';
|
30
27
|
const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 60;
|
31
28
|
const META_COMMENT = exports.META_COMMENT = 'comment';
|
@@ -132,75 +129,16 @@ var _preventEditorHiding = /*#__PURE__*/new WeakMap();
|
|
132
129
|
var _tempEditorDimensions = /*#__PURE__*/new WeakMap();
|
133
130
|
var _cellBelowCursor = /*#__PURE__*/new WeakMap();
|
134
131
|
var _commentValueBeforeSave = /*#__PURE__*/new WeakMap();
|
135
|
-
var
|
136
|
-
var _onMouseOver = /*#__PURE__*/new WeakSet();
|
137
|
-
var _onMouseUp = /*#__PURE__*/new WeakSet();
|
138
|
-
var _onAfterRenderer = /*#__PURE__*/new WeakSet();
|
139
|
-
var _onEditorBlur = /*#__PURE__*/new WeakSet();
|
140
|
-
var _onEditorFocus = /*#__PURE__*/new WeakSet();
|
141
|
-
var _onEditorMouseDown = /*#__PURE__*/new WeakSet();
|
142
|
-
var _onEditorMouseUp = /*#__PURE__*/new WeakSet();
|
143
|
-
var _onAfterDocumentKeyDown = /*#__PURE__*/new WeakSet();
|
144
|
-
var _onAfterScroll = /*#__PURE__*/new WeakSet();
|
132
|
+
var _Comments_brand = /*#__PURE__*/new WeakSet();
|
145
133
|
class Comments extends _base.BasePlugin {
|
146
134
|
constructor() {
|
147
135
|
super(...arguments);
|
148
|
-
/**
|
149
|
-
* Observes the changes in the scroll position if triggered it hides the comment editor.
|
150
|
-
*/
|
151
|
-
_classPrivateMethodInitSpec(this, _onAfterScroll);
|
152
|
-
/**
|
153
|
-
* Observes the pressed keys and if there is already opened the comment editor prevents open
|
154
|
-
* the table editor into the fast edit mode.
|
155
|
-
*
|
156
|
-
* @param {Event} event The keydown event.
|
157
|
-
*/
|
158
|
-
_classPrivateMethodInitSpec(this, _onAfterDocumentKeyDown);
|
159
|
-
/**
|
160
|
-
* `mouseup` hook. Along with `onEditorMouseDown` used to simulate the textarea resizing event.
|
161
|
-
*
|
162
|
-
* @param {MouseEvent} event The `mouseup` event.
|
163
|
-
*/
|
164
|
-
_classPrivateMethodInitSpec(this, _onEditorMouseUp);
|
165
|
-
/**
|
166
|
-
* `mousedown` hook. Along with `onEditorMouseUp` used to simulate the textarea resizing event.
|
167
|
-
*
|
168
|
-
* @param {MouseEvent} event The `mousedown` event.
|
169
|
-
*/
|
170
|
-
_classPrivateMethodInitSpec(this, _onEditorMouseDown);
|
171
|
-
/**
|
172
|
-
* Hook observer the "focus" event from the comments editor element. The hook takes the control of
|
173
|
-
* the keyboard shortcuts by switching the context to plugins one.
|
174
|
-
*/
|
175
|
-
_classPrivateMethodInitSpec(this, _onEditorFocus);
|
176
|
-
/**
|
177
|
-
* Hook observer the "blur" event from the comments editor element. The hook clears the
|
178
|
-
* editor content and gives back the keyboard shortcuts control by switching to the "grid" context.
|
179
|
-
*/
|
180
|
-
_classPrivateMethodInitSpec(this, _onEditorBlur);
|
181
|
-
/**
|
182
|
-
* The `afterRenderer` hook callback.
|
183
|
-
*
|
184
|
-
* @param {HTMLTableCellElement} TD The rendered `TD` element.
|
185
|
-
* @param {object} cellProperties The rendered cell's property object.
|
186
|
-
*/
|
187
|
-
_classPrivateMethodInitSpec(this, _onAfterRenderer);
|
188
|
-
/**
|
189
|
-
* `mouseup` event callback.
|
190
|
-
*/
|
191
|
-
_classPrivateMethodInitSpec(this, _onMouseUp);
|
192
|
-
/**
|
193
|
-
* `mouseover` event callback.
|
194
|
-
*
|
195
|
-
* @param {MouseEvent} event The `mouseover` event.
|
196
|
-
*/
|
197
|
-
_classPrivateMethodInitSpec(this, _onMouseOver);
|
198
136
|
/**
|
199
137
|
* `mousedown` event callback.
|
200
138
|
*
|
201
139
|
* @param {MouseEvent} event The `mousedown` event.
|
202
140
|
*/
|
203
|
-
_classPrivateMethodInitSpec(this,
|
141
|
+
_classPrivateMethodInitSpec(this, _Comments_brand);
|
204
142
|
/**
|
205
143
|
* Current cell range, an object with `from` property, with `row` and `col` properties (e.q. `{from: {row: 1, col: 6}}`).
|
206
144
|
*
|
@@ -213,30 +151,21 @@ class Comments extends _base.BasePlugin {
|
|
213
151
|
* @private
|
214
152
|
* @type {CommentEditor}
|
215
153
|
*/
|
216
|
-
_classPrivateFieldInitSpec(this, _editor,
|
217
|
-
writable: true,
|
218
|
-
value: null
|
219
|
-
});
|
154
|
+
_classPrivateFieldInitSpec(this, _editor, null);
|
220
155
|
/**
|
221
156
|
* Instance of {@link DisplaySwitch}.
|
222
157
|
*
|
223
158
|
* @private
|
224
159
|
* @type {DisplaySwitch}
|
225
160
|
*/
|
226
|
-
_classPrivateFieldInitSpec(this, _displaySwitch,
|
227
|
-
writable: true,
|
228
|
-
value: null
|
229
|
-
});
|
161
|
+
_classPrivateFieldInitSpec(this, _displaySwitch, null);
|
230
162
|
/**
|
231
163
|
* Prevents showing/hiding editor that reacts on the logic triggered by the "mouseover" events.
|
232
164
|
*
|
233
165
|
* @private
|
234
166
|
* @type {boolean}
|
235
167
|
*/
|
236
|
-
_classPrivateFieldInitSpec(this, _preventEditorAutoSwitch,
|
237
|
-
writable: true,
|
238
|
-
value: false
|
239
|
-
});
|
168
|
+
_classPrivateFieldInitSpec(this, _preventEditorAutoSwitch, false);
|
240
169
|
/**
|
241
170
|
* Prevents hiding editor when the table viewport is scrolled and that scroll is triggered by the
|
242
171
|
* keyboard shortcut that insert or edits the comment.
|
@@ -244,40 +173,28 @@ class Comments extends _base.BasePlugin {
|
|
244
173
|
* @private
|
245
174
|
* @type {boolean}
|
246
175
|
*/
|
247
|
-
_classPrivateFieldInitSpec(this, _preventEditorHiding,
|
248
|
-
writable: true,
|
249
|
-
value: false
|
250
|
-
});
|
176
|
+
_classPrivateFieldInitSpec(this, _preventEditorHiding, false);
|
251
177
|
/**
|
252
178
|
* The property for holding editor dimensions for further processing.
|
253
179
|
*
|
254
180
|
* @private
|
255
181
|
* @type {object}
|
256
182
|
*/
|
257
|
-
_classPrivateFieldInitSpec(this, _tempEditorDimensions, {
|
258
|
-
writable: true,
|
259
|
-
value: {}
|
260
|
-
});
|
183
|
+
_classPrivateFieldInitSpec(this, _tempEditorDimensions, {});
|
261
184
|
/**
|
262
185
|
* The flag that allows processing mousedown event correctly when comments editor is triggered.
|
263
186
|
*
|
264
187
|
* @private
|
265
188
|
* @type {boolean}
|
266
189
|
*/
|
267
|
-
_classPrivateFieldInitSpec(this, _cellBelowCursor,
|
268
|
-
writable: true,
|
269
|
-
value: null
|
270
|
-
});
|
190
|
+
_classPrivateFieldInitSpec(this, _cellBelowCursor, null);
|
271
191
|
/**
|
272
192
|
* Holds the comment value before it's actually saved to the cell meta.
|
273
193
|
*
|
274
194
|
* @private
|
275
195
|
* @type {string}
|
276
196
|
*/
|
277
|
-
_classPrivateFieldInitSpec(this, _commentValueBeforeSave,
|
278
|
-
writable: true,
|
279
|
-
value: ''
|
280
|
-
});
|
197
|
+
_classPrivateFieldInitSpec(this, _commentValueBeforeSave, '');
|
281
198
|
}
|
282
199
|
static get PLUGIN_KEY() {
|
283
200
|
return PLUGIN_KEY;
|
@@ -302,19 +219,19 @@ class Comments extends _base.BasePlugin {
|
|
302
219
|
if (this.enabled) {
|
303
220
|
return;
|
304
221
|
}
|
305
|
-
if (!_classPrivateFieldGet(
|
306
|
-
_classPrivateFieldSet(
|
222
|
+
if (!_classPrivateFieldGet(_editor, this)) {
|
223
|
+
_classPrivateFieldSet(_editor, this, new _commentEditor.default(this.hot.rootDocument, this.hot.isRtl()));
|
307
224
|
}
|
308
|
-
if (!_classPrivateFieldGet(
|
309
|
-
_classPrivateFieldSet(
|
225
|
+
if (!_classPrivateFieldGet(_displaySwitch, this)) {
|
226
|
+
_classPrivateFieldSet(_displaySwitch, this, new _displaySwitch2.default(this.getDisplayDelaySetting()));
|
310
227
|
}
|
311
228
|
this.addHook('afterContextMenuDefaultOptions', options => this.addToContextMenu(options));
|
312
|
-
this.addHook('afterRenderer', (TD, row, col, prop, value, cellProperties) =>
|
313
|
-
this.addHook('afterScroll', () =>
|
229
|
+
this.addHook('afterRenderer', (TD, row, col, prop, value, cellProperties) => _assertClassBrand(_Comments_brand, this, _onAfterRenderer).call(this, TD, cellProperties));
|
230
|
+
this.addHook('afterScroll', () => _assertClassBrand(_Comments_brand, this, _onAfterScroll).call(this));
|
314
231
|
this.addHook('afterBeginEditing', () => this.hide());
|
315
|
-
this.addHook('afterDocumentKeyDown', event =>
|
316
|
-
_classPrivateFieldGet(
|
317
|
-
_classPrivateFieldGet(
|
232
|
+
this.addHook('afterDocumentKeyDown', event => _assertClassBrand(_Comments_brand, this, _onAfterDocumentKeyDown).call(this, event));
|
233
|
+
_classPrivateFieldGet(_displaySwitch, this).addLocalHook('hide', () => this.hide());
|
234
|
+
_classPrivateFieldGet(_displaySwitch, this).addLocalHook('show', (row, col) => this.showAtCell(row, col));
|
318
235
|
this.registerShortcuts();
|
319
236
|
this.registerListeners();
|
320
237
|
super.enablePlugin();
|
@@ -327,7 +244,7 @@ class Comments extends _base.BasePlugin {
|
|
327
244
|
* - [`comments`](@/api/options.md#comments)
|
328
245
|
*/
|
329
246
|
updatePlugin() {
|
330
|
-
_classPrivateFieldGet(
|
247
|
+
_classPrivateFieldGet(_displaySwitch, this).updateDelay(this.getDisplayDelaySetting());
|
331
248
|
super.updatePlugin();
|
332
249
|
}
|
333
250
|
|
@@ -352,34 +269,34 @@ class Comments extends _base.BasePlugin {
|
|
352
269
|
keys: [['Control', 'Alt', 'M']],
|
353
270
|
callback: () => {
|
354
271
|
const range = this.hot.getSelectedRangeLast();
|
355
|
-
_classPrivateFieldSet(
|
272
|
+
_classPrivateFieldSet(_preventEditorHiding, this, true);
|
356
273
|
this.hot.scrollToFocusedCell(() => {
|
357
274
|
this.setRange(range);
|
358
275
|
this.show();
|
359
276
|
this.focusEditor();
|
360
277
|
manager.setActiveContextName(SHORTCUTS_CONTEXT_NAME);
|
361
278
|
this.hot._registerTimeout(() => {
|
362
|
-
_classPrivateFieldSet(
|
279
|
+
_classPrivateFieldSet(_preventEditorHiding, this, false);
|
363
280
|
});
|
364
281
|
});
|
365
282
|
},
|
366
283
|
stopPropagation: true,
|
367
284
|
runOnlyIf: () => {
|
368
285
|
var _this$hot$getSelected;
|
369
|
-
return ((_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight.isCell()) && !_classPrivateFieldGet(
|
286
|
+
return ((_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight.isCell()) && !_classPrivateFieldGet(_editor, this).isVisible();
|
370
287
|
},
|
371
288
|
group: SHORTCUTS_GROUP
|
372
289
|
});
|
373
290
|
pluginContext.addShortcut({
|
374
291
|
keys: [['Escape']],
|
375
292
|
callback: () => {
|
376
|
-
_classPrivateFieldGet(
|
293
|
+
_classPrivateFieldGet(_editor, this).setValue(_classPrivateFieldGet(_commentValueBeforeSave, this));
|
377
294
|
this.hide();
|
378
295
|
manager.setActiveContextName('grid');
|
379
296
|
},
|
380
297
|
runOnlyIf: () => {
|
381
298
|
var _this$hot$getSelected2;
|
382
|
-
return ((_this$hot$getSelected2 = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected2 === void 0 ? void 0 : _this$hot$getSelected2.highlight.isCell()) && _classPrivateFieldGet(
|
299
|
+
return ((_this$hot$getSelected2 = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected2 === void 0 ? void 0 : _this$hot$getSelected2.highlight.isCell()) && _classPrivateFieldGet(_editor, this).isVisible();
|
383
300
|
},
|
384
301
|
group: SHORTCUTS_GROUP
|
385
302
|
});
|
@@ -391,7 +308,7 @@ class Comments extends _base.BasePlugin {
|
|
391
308
|
},
|
392
309
|
runOnlyIf: () => {
|
393
310
|
var _this$hot$getSelected3;
|
394
|
-
return ((_this$hot$getSelected3 = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected3 === void 0 ? void 0 : _this$hot$getSelected3.highlight.isCell()) && _classPrivateFieldGet(
|
311
|
+
return ((_this$hot$getSelected3 = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected3 === void 0 ? void 0 : _this$hot$getSelected3.highlight.isCell()) && _classPrivateFieldGet(_editor, this).isVisible();
|
395
312
|
},
|
396
313
|
group: SHORTCUTS_GROUP
|
397
314
|
});
|
@@ -416,13 +333,13 @@ class Comments extends _base.BasePlugin {
|
|
416
333
|
rootDocument
|
417
334
|
} = this.hot;
|
418
335
|
const editorElement = this.getEditorInputElement();
|
419
|
-
this.eventManager.addEventListener(rootDocument, 'mouseover', event =>
|
420
|
-
this.eventManager.addEventListener(rootDocument, 'mousedown', event =>
|
421
|
-
this.eventManager.addEventListener(rootDocument, 'mouseup', () =>
|
422
|
-
this.eventManager.addEventListener(editorElement, 'focus', () =>
|
423
|
-
this.eventManager.addEventListener(editorElement, 'blur', () =>
|
424
|
-
this.eventManager.addEventListener(editorElement, 'mousedown', event =>
|
425
|
-
this.eventManager.addEventListener(editorElement, 'mouseup', event =>
|
336
|
+
this.eventManager.addEventListener(rootDocument, 'mouseover', event => _assertClassBrand(_Comments_brand, this, _onMouseOver).call(this, event));
|
337
|
+
this.eventManager.addEventListener(rootDocument, 'mousedown', event => _assertClassBrand(_Comments_brand, this, _onMouseDown).call(this, event));
|
338
|
+
this.eventManager.addEventListener(rootDocument, 'mouseup', () => _assertClassBrand(_Comments_brand, this, _onMouseUp).call(this));
|
339
|
+
this.eventManager.addEventListener(editorElement, 'focus', () => _assertClassBrand(_Comments_brand, this, _onEditorFocus).call(this));
|
340
|
+
this.eventManager.addEventListener(editorElement, 'blur', () => _assertClassBrand(_Comments_brand, this, _onEditorBlur).call(this));
|
341
|
+
this.eventManager.addEventListener(editorElement, 'mousedown', event => _assertClassBrand(_Comments_brand, this, _onEditorMouseDown).call(this, event));
|
342
|
+
this.eventManager.addEventListener(editorElement, 'mouseup', event => _assertClassBrand(_Comments_brand, this, _onEditorMouseUp).call(this, event));
|
426
343
|
}
|
427
344
|
|
428
345
|
/**
|
@@ -473,7 +390,7 @@ class Comments extends _base.BasePlugin {
|
|
473
390
|
if (!this.range.from) {
|
474
391
|
throw new Error('Before using this method, first set cell range (hot.getPlugin("comment").setRange())');
|
475
392
|
}
|
476
|
-
const editorValue = _classPrivateFieldGet(
|
393
|
+
const editorValue = _classPrivateFieldGet(_editor, this).getValue();
|
477
394
|
let comment = '';
|
478
395
|
if (value !== null && value !== undefined) {
|
479
396
|
comment = value;
|
@@ -576,9 +493,9 @@ class Comments extends _base.BasePlugin {
|
|
576
493
|
return false;
|
577
494
|
}
|
578
495
|
const meta = this.hot.getCellMeta(this.range.from.row, this.range.from.col);
|
579
|
-
_classPrivateFieldGet(
|
580
|
-
_classPrivateFieldGet(
|
581
|
-
_classPrivateFieldGet(
|
496
|
+
_classPrivateFieldGet(_displaySwitch, this).cancelHiding();
|
497
|
+
_classPrivateFieldGet(_editor, this).setValue((_ref = meta[META_COMMENT] ? meta[META_COMMENT][META_COMMENT_VALUE] : null) !== null && _ref !== void 0 ? _ref : '');
|
498
|
+
_classPrivateFieldGet(_editor, this).show();
|
582
499
|
this.refreshEditor(true);
|
583
500
|
return true;
|
584
501
|
}
|
@@ -601,7 +518,7 @@ class Comments extends _base.BasePlugin {
|
|
601
518
|
* Hides the comment editor.
|
602
519
|
*/
|
603
520
|
hide() {
|
604
|
-
_classPrivateFieldGet(
|
521
|
+
_classPrivateFieldGet(_editor, this).hide();
|
605
522
|
}
|
606
523
|
|
607
524
|
/**
|
@@ -612,7 +529,7 @@ class Comments extends _base.BasePlugin {
|
|
612
529
|
refreshEditor() {
|
613
530
|
var _renderableRow, _renderableColumn;
|
614
531
|
let force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
615
|
-
if (!force && (!this.range.from || !_classPrivateFieldGet(
|
532
|
+
if (!force && (!this.range.from || !_classPrivateFieldGet(_editor, this).isVisible())) {
|
616
533
|
return;
|
617
534
|
}
|
618
535
|
const {
|
@@ -630,7 +547,7 @@ class Comments extends _base.BasePlugin {
|
|
630
547
|
|
631
548
|
// Reset the editor position to (0, 0) so the opening direction calculation wouldn't be influenced by its
|
632
549
|
// previous position
|
633
|
-
_classPrivateFieldGet(
|
550
|
+
_classPrivateFieldGet(_editor, this).setPosition(0, 0);
|
634
551
|
if (renderableRow === null) {
|
635
552
|
renderableRow = rowIndexMapper.getRenderableFromVisualIndex(rowIndexMapper.getNearestNotHiddenIndex(visualRow, -1));
|
636
553
|
}
|
@@ -658,9 +575,9 @@ class Comments extends _base.BasePlugin {
|
|
658
575
|
}, true);
|
659
576
|
const commentStyle = this.getCommentMeta(visualRow, visualColumn, META_STYLE);
|
660
577
|
if (commentStyle) {
|
661
|
-
_classPrivateFieldGet(
|
578
|
+
_classPrivateFieldGet(_editor, this).setSize(commentStyle.width, commentStyle.height);
|
662
579
|
} else {
|
663
|
-
_classPrivateFieldGet(
|
580
|
+
_classPrivateFieldGet(_editor, this).resetSize();
|
664
581
|
}
|
665
582
|
const lastColWidth = isBeforeRenderedColumns ? 0 : wtTable.getStretchedColumnWidth(renderableColumn);
|
666
583
|
const lastRowHeight = targetingPreviousRow && !isBeforeRenderedRows ? (0, _element.outerHeight)(TD) : 0;
|
@@ -673,7 +590,7 @@ class Comments extends _base.BasePlugin {
|
|
673
590
|
const {
|
674
591
|
width: editorWidth,
|
675
592
|
height: editorHeight
|
676
|
-
} = _classPrivateFieldGet(
|
593
|
+
} = _classPrivateFieldGet(_editor, this).getSize();
|
677
594
|
const {
|
678
595
|
innerWidth,
|
679
596
|
innerHeight
|
@@ -694,15 +611,15 @@ class Comments extends _base.BasePlugin {
|
|
694
611
|
if (top + editorHeight > innerHeight) {
|
695
612
|
y -= editorHeight - cellHeight + 1;
|
696
613
|
}
|
697
|
-
_classPrivateFieldGet(
|
698
|
-
_classPrivateFieldGet(
|
614
|
+
_classPrivateFieldGet(_editor, this).setPosition(x, y);
|
615
|
+
_classPrivateFieldGet(_editor, this).setReadOnlyState(this.getCommentMeta(visualRow, visualColumn, META_READONLY));
|
699
616
|
}
|
700
617
|
|
701
618
|
/**
|
702
619
|
* Focuses the comments editor element.
|
703
620
|
*/
|
704
621
|
focusEditor() {
|
705
|
-
_classPrivateFieldGet(
|
622
|
+
_classPrivateFieldGet(_editor, this).focus();
|
706
623
|
}
|
707
624
|
|
708
625
|
/**
|
@@ -771,28 +688,28 @@ class Comments extends _base.BasePlugin {
|
|
771
688
|
* @returns {HTMLTextAreaElement}
|
772
689
|
*/
|
773
690
|
getEditorInputElement() {
|
774
|
-
return _classPrivateFieldGet(
|
691
|
+
return _classPrivateFieldGet(_editor, this).getInputElement();
|
775
692
|
}
|
776
693
|
|
777
694
|
/**
|
778
695
|
* Destroys the plugin instance.
|
779
696
|
*/
|
780
697
|
destroy() {
|
781
|
-
if (_classPrivateFieldGet(
|
782
|
-
_classPrivateFieldGet(
|
698
|
+
if (_classPrivateFieldGet(_editor, this)) {
|
699
|
+
_classPrivateFieldGet(_editor, this).destroy();
|
783
700
|
}
|
784
|
-
if (_classPrivateFieldGet(
|
785
|
-
_classPrivateFieldGet(
|
701
|
+
if (_classPrivateFieldGet(_displaySwitch, this)) {
|
702
|
+
_classPrivateFieldGet(_displaySwitch, this).destroy();
|
786
703
|
}
|
787
704
|
super.destroy();
|
788
705
|
}
|
789
706
|
}
|
790
707
|
exports.Comments = Comments;
|
791
|
-
function
|
708
|
+
function _onMouseDown(event) {
|
792
709
|
if (!this.hot.view || !this.hot.view._wt) {
|
793
710
|
return;
|
794
711
|
}
|
795
|
-
if (!_classPrivateFieldGet(
|
712
|
+
if (!_classPrivateFieldGet(_preventEditorAutoSwitch, this) && !this.targetIsCommentTextArea(event)) {
|
796
713
|
const eventCell = (0, _element.closest)(event.target, 'TD', 'TBODY');
|
797
714
|
let coordinates = null;
|
798
715
|
if (eventCell) {
|
@@ -803,49 +720,81 @@ function _onMouseDown2(event) {
|
|
803
720
|
}
|
804
721
|
}
|
805
722
|
}
|
806
|
-
|
723
|
+
/**
|
724
|
+
* `mouseover` event callback.
|
725
|
+
*
|
726
|
+
* @param {MouseEvent} event The `mouseover` event.
|
727
|
+
*/
|
728
|
+
function _onMouseOver(event) {
|
807
729
|
const {
|
808
730
|
rootDocument
|
809
731
|
} = this.hot;
|
810
|
-
if (_classPrivateFieldGet(
|
732
|
+
if (_classPrivateFieldGet(_preventEditorAutoSwitch, this) || _classPrivateFieldGet(_editor, this).isFocused() || (0, _element.hasClass)(event.target, 'wtBorder') || _classPrivateFieldGet(_cellBelowCursor, this) === event.target || !_classPrivateFieldGet(_editor, this)) {
|
811
733
|
return;
|
812
734
|
}
|
813
|
-
_classPrivateFieldSet(
|
735
|
+
_classPrivateFieldSet(_cellBelowCursor, this, rootDocument.elementFromPoint(event.clientX, event.clientY));
|
814
736
|
if (this.targetIsCellWithComment(event)) {
|
815
737
|
const range = this.hot._createCellRange(this.hot.getCoords(event.target));
|
816
|
-
_classPrivateFieldGet(
|
738
|
+
_classPrivateFieldGet(_displaySwitch, this).show(range);
|
817
739
|
} else if ((0, _element.isChildOf)(event.target, rootDocument) && !this.targetIsCommentTextArea(event)) {
|
818
|
-
_classPrivateFieldGet(
|
740
|
+
_classPrivateFieldGet(_displaySwitch, this).hide();
|
819
741
|
}
|
820
742
|
}
|
821
|
-
|
822
|
-
|
743
|
+
/**
|
744
|
+
* `mouseup` event callback.
|
745
|
+
*/
|
746
|
+
function _onMouseUp() {
|
747
|
+
_classPrivateFieldSet(_preventEditorAutoSwitch, this, false);
|
823
748
|
}
|
824
|
-
|
749
|
+
/**
|
750
|
+
* The `afterRenderer` hook callback.
|
751
|
+
*
|
752
|
+
* @param {HTMLTableCellElement} TD The rendered `TD` element.
|
753
|
+
* @param {object} cellProperties The rendered cell's property object.
|
754
|
+
*/
|
755
|
+
function _onAfterRenderer(TD, cellProperties) {
|
825
756
|
if (cellProperties[META_COMMENT] && cellProperties[META_COMMENT][META_COMMENT_VALUE]) {
|
826
757
|
(0, _element.addClass)(TD, cellProperties.commentedCellClassName);
|
827
758
|
}
|
828
759
|
}
|
829
|
-
|
830
|
-
|
760
|
+
/**
|
761
|
+
* Hook observer the "blur" event from the comments editor element. The hook clears the
|
762
|
+
* editor content and gives back the keyboard shortcuts control by switching to the "grid" context.
|
763
|
+
*/
|
764
|
+
function _onEditorBlur() {
|
765
|
+
_classPrivateFieldSet(_commentValueBeforeSave, this, '');
|
831
766
|
this.hot.getShortcutManager().setActiveContextName('grid');
|
832
767
|
this.setComment();
|
833
768
|
}
|
834
|
-
|
835
|
-
|
769
|
+
/**
|
770
|
+
* Hook observer the "focus" event from the comments editor element. The hook takes the control of
|
771
|
+
* the keyboard shortcuts by switching the context to plugins one.
|
772
|
+
*/
|
773
|
+
function _onEditorFocus() {
|
774
|
+
_classPrivateFieldSet(_commentValueBeforeSave, this, this.getComment());
|
836
775
|
this.hot.listen();
|
837
776
|
this.hot.getShortcutManager().setActiveContextName(SHORTCUTS_CONTEXT_NAME);
|
838
777
|
}
|
839
|
-
|
840
|
-
|
778
|
+
/**
|
779
|
+
* `mousedown` hook. Along with `onEditorMouseUp` used to simulate the textarea resizing event.
|
780
|
+
*
|
781
|
+
* @param {MouseEvent} event The `mousedown` event.
|
782
|
+
*/
|
783
|
+
function _onEditorMouseDown(event) {
|
784
|
+
_classPrivateFieldSet(_tempEditorDimensions, this, {
|
841
785
|
width: (0, _element.outerWidth)(event.target),
|
842
786
|
height: (0, _element.outerHeight)(event.target)
|
843
787
|
});
|
844
788
|
}
|
845
|
-
|
789
|
+
/**
|
790
|
+
* `mouseup` hook. Along with `onEditorMouseDown` used to simulate the textarea resizing event.
|
791
|
+
*
|
792
|
+
* @param {MouseEvent} event The `mouseup` event.
|
793
|
+
*/
|
794
|
+
function _onEditorMouseUp(event) {
|
846
795
|
const currentWidth = (0, _element.outerWidth)(event.target);
|
847
796
|
const currentHeight = (0, _element.outerHeight)(event.target);
|
848
|
-
if (currentWidth !== _classPrivateFieldGet(
|
797
|
+
if (currentWidth !== _classPrivateFieldGet(_tempEditorDimensions, this).width + 1 || currentHeight !== _classPrivateFieldGet(_tempEditorDimensions, this).height + 2) {
|
849
798
|
this.updateCommentMeta(this.range.from.row, this.range.from.col, {
|
850
799
|
[META_STYLE]: {
|
851
800
|
width: currentWidth,
|
@@ -854,13 +803,22 @@ function _onEditorMouseUp2(event) {
|
|
854
803
|
});
|
855
804
|
}
|
856
805
|
}
|
857
|
-
|
858
|
-
|
806
|
+
/**
|
807
|
+
* Observes the pressed keys and if there is already opened the comment editor prevents open
|
808
|
+
* the table editor into the fast edit mode.
|
809
|
+
*
|
810
|
+
* @param {Event} event The keydown event.
|
811
|
+
*/
|
812
|
+
function _onAfterDocumentKeyDown(event) {
|
813
|
+
if (_classPrivateFieldGet(_editor, this).isVisible()) {
|
859
814
|
(0, _event.stopImmediatePropagation)(event);
|
860
815
|
}
|
861
816
|
}
|
862
|
-
|
863
|
-
|
817
|
+
/**
|
818
|
+
* Observes the changes in the scroll position if triggered it hides the comment editor.
|
819
|
+
*/
|
820
|
+
function _onAfterScroll() {
|
821
|
+
if (!_classPrivateFieldGet(_preventEditorHiding, this)) {
|
864
822
|
this.hide();
|
865
823
|
}
|
866
824
|
}
|