handsontable 14.6.1-next-689aaa6-20241016 → 15.0.0-next-4472a60-20241203
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/calculationType/renderedColumns.js +23 -0
- package/3rdparty/walkontable/src/calculator/calculationType/renderedColumns.mjs +23 -0
- package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.js +23 -0
- package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.mjs +23 -0
- package/3rdparty/walkontable/src/calculator/index.js +1 -2
- package/3rdparty/walkontable/src/calculator/index.mjs +2 -2
- package/3rdparty/walkontable/src/calculator/viewportBase.js +2 -0
- package/3rdparty/walkontable/src/calculator/viewportBase.mjs +2 -0
- package/3rdparty/walkontable/src/calculator/viewportRows.js +3 -3
- package/3rdparty/walkontable/src/calculator/viewportRows.mjs +3 -3
- package/3rdparty/walkontable/src/core/_base.js +29 -23
- package/3rdparty/walkontable/src/core/_base.mjs +29 -23
- package/3rdparty/walkontable/src/core/clone.js +1 -0
- package/3rdparty/walkontable/src/core/clone.mjs +1 -0
- package/3rdparty/walkontable/src/core/core.js +2 -0
- package/3rdparty/walkontable/src/core/core.mjs +2 -0
- package/3rdparty/walkontable/src/facade/core.js +12 -6
- package/3rdparty/walkontable/src/facade/core.mjs +12 -6
- package/3rdparty/walkontable/src/index.js +0 -1
- package/3rdparty/walkontable/src/index.mjs +2 -2
- package/3rdparty/walkontable/src/overlay/_base.js +8 -1
- package/3rdparty/walkontable/src/overlay/_base.mjs +8 -1
- package/3rdparty/walkontable/src/overlay/bottom.js +5 -6
- package/3rdparty/walkontable/src/overlay/bottom.mjs +5 -6
- package/3rdparty/walkontable/src/overlay/index.js +2 -0
- package/3rdparty/walkontable/src/overlay/inlineStart.js +8 -7
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +9 -8
- package/3rdparty/walkontable/src/overlay/top.js +9 -8
- package/3rdparty/walkontable/src/overlay/top.mjs +10 -9
- package/3rdparty/walkontable/src/overlays.js +10 -26
- package/3rdparty/walkontable/src/overlays.mjs +10 -26
- package/3rdparty/walkontable/src/renderer/colGroup.js +1 -1
- package/3rdparty/walkontable/src/renderer/colGroup.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/index.js +4 -2
- package/3rdparty/walkontable/src/renderer/index.mjs +4 -2
- package/3rdparty/walkontable/src/renderer/table.js +13 -4
- package/3rdparty/walkontable/src/renderer/table.mjs +13 -4
- package/3rdparty/walkontable/src/scroll.js +46 -37
- package/3rdparty/walkontable/src/scroll.mjs +46 -37
- package/3rdparty/walkontable/src/selection/border/border.js +52 -58
- package/3rdparty/walkontable/src/selection/border/border.mjs +53 -59
- package/3rdparty/walkontable/src/selection/border/utils.js +26 -0
- package/3rdparty/walkontable/src/selection/border/utils.mjs +22 -0
- package/3rdparty/walkontable/src/selection/index.js +6 -4
- package/3rdparty/walkontable/src/selection/index.mjs +1 -1
- package/3rdparty/walkontable/src/selection/manager.js +3 -0
- package/3rdparty/walkontable/src/selection/manager.mjs +3 -0
- package/3rdparty/walkontable/src/selection/scanner.js +46 -11
- package/3rdparty/walkontable/src/selection/scanner.mjs +46 -11
- package/3rdparty/walkontable/src/settings.js +8 -9
- package/3rdparty/walkontable/src/settings.mjs +8 -9
- package/3rdparty/walkontable/src/table/master.js +1 -1
- package/3rdparty/walkontable/src/table/master.mjs +2 -2
- package/3rdparty/walkontable/src/table.js +25 -36
- package/3rdparty/walkontable/src/table.mjs +25 -36
- package/3rdparty/walkontable/src/types.js +1 -0
- package/3rdparty/walkontable/src/types.mjs +1 -0
- package/3rdparty/walkontable/src/utils/column.js +1 -43
- package/3rdparty/walkontable/src/utils/column.mjs +1 -43
- package/3rdparty/walkontable/src/utils/stylesHandler.js +295 -0
- package/3rdparty/walkontable/src/utils/stylesHandler.mjs +291 -0
- package/3rdparty/walkontable/src/viewport.js +94 -91
- package/3rdparty/walkontable/src/viewport.mjs +95 -92
- package/CHANGELOG.md +36 -0
- package/README.md +1 -1
- package/base.js +4 -4
- package/base.mjs +3 -3
- package/core/focusCatcher/focusDetector.js +1 -0
- package/core/focusCatcher/focusDetector.mjs +1 -0
- package/core/hooks/bucket.js +184 -0
- package/core/hooks/bucket.mjs +180 -0
- package/{pluginHooks.mjs → core/hooks/constants.js} +38 -486
- package/{pluginHooks.js → core/hooks/constants.mjs} +34 -489
- package/{pluginHooks.d.ts → core/hooks/index.d.ts} +22 -25
- package/core/hooks/index.js +385 -0
- package/core/hooks/index.mjs +381 -0
- package/core/index.js +2 -0
- package/core.d.ts +5 -3
- package/core.js +77 -35
- package/core.mjs +69 -27
- package/dataMap/dataMap.js +3 -0
- package/dataMap/dataMap.mjs +3 -0
- package/dataMap/dataSource.js +2 -0
- package/dataMap/dataSource.mjs +2 -0
- package/dataMap/metaManager/index.js +2 -0
- package/dataMap/metaManager/index.mjs +2 -0
- package/dataMap/metaManager/metaSchema.js +91 -5
- package/dataMap/metaManager/metaSchema.mjs +91 -5
- package/dataMap/metaManager/mods/dynamicCellMeta.js +2 -3
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +1 -1
- package/dataMap/metaManager/mods/extendMetaProperties.js +2 -0
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +2 -0
- package/dist/handsontable.css +84 -72
- package/dist/handsontable.full.css +317 -304
- package/dist/handsontable.full.js +14826 -7294
- package/dist/handsontable.full.min.css +15 -10
- package/dist/handsontable.full.min.js +262 -69
- package/dist/handsontable.js +7826 -5552
- package/dist/handsontable.min.css +10 -6
- package/dist/handsontable.min.js +33 -33
- package/dist/languages/all.js +1 -1
- package/dist/languages/ar-AR.js +1 -1
- package/dist/languages/cs-CZ.js +1 -1
- package/dist/languages/de-CH.js +1 -1
- package/dist/languages/de-DE.js +1 -1
- package/dist/languages/en-US.js +1 -1
- package/dist/languages/es-MX.js +1 -1
- package/dist/languages/fr-FR.js +1 -1
- package/dist/languages/hr-HR.js +1 -1
- package/dist/languages/it-IT.js +1 -1
- package/dist/languages/ja-JP.js +1 -1
- package/dist/languages/ko-KR.js +1 -1
- package/dist/languages/lv-LV.js +1 -1
- package/dist/languages/nb-NO.js +1 -1
- package/dist/languages/nl-NL.js +1 -1
- package/dist/languages/pl-PL.js +1 -1
- package/dist/languages/pt-BR.js +1 -1
- package/dist/languages/ru-RU.js +1 -1
- package/dist/languages/sr-SP.js +1 -1
- package/dist/languages/zh-CN.js +1 -1
- package/dist/languages/zh-TW.js +1 -1
- package/editorManager.js +2 -2
- package/editorManager.mjs +2 -2
- package/editors/autocompleteEditor/autocompleteEditor.js +34 -16
- package/editors/autocompleteEditor/autocompleteEditor.mjs +34 -16
- package/editors/baseEditor/baseEditor.js +25 -18
- package/editors/baseEditor/baseEditor.mjs +26 -19
- package/editors/dateEditor/dateEditor.js +9 -0
- package/editors/dateEditor/dateEditor.mjs +10 -1
- package/editors/dropdownEditor/dropdownEditor.js +4 -3
- package/editors/dropdownEditor/dropdownEditor.mjs +3 -1
- package/editors/handsontableEditor/handsontableEditor.js +36 -2
- package/editors/handsontableEditor/handsontableEditor.mjs +36 -2
- package/editors/passwordEditor/passwordEditor.js +18 -0
- package/editors/passwordEditor/passwordEditor.mjs +18 -0
- package/editors/registry.js +2 -2
- package/editors/registry.mjs +1 -1
- package/editors/selectEditor/selectEditor.js +20 -9
- package/editors/selectEditor/selectEditor.mjs +20 -9
- package/editors/textEditor/textEditor.js +5 -12
- package/editors/textEditor/textEditor.mjs +6 -13
- package/focusManager.js +5 -7
- package/focusManager.mjs +5 -7
- package/helpers/array.js +2 -0
- package/helpers/array.mjs +2 -0
- package/helpers/data.js +3 -0
- package/helpers/data.mjs +3 -0
- package/helpers/dom/element.js +39 -18
- package/helpers/dom/element.mjs +38 -17
- package/helpers/mixed.js +3 -3
- package/helpers/mixed.mjs +3 -3
- package/helpers/moves.js +3 -0
- package/helpers/moves.mjs +3 -0
- package/helpers/number.js +1 -0
- package/helpers/number.mjs +1 -0
- package/helpers/object.js +2 -0
- package/helpers/object.mjs +2 -0
- package/helpers/themes.js +17 -0
- package/helpers/themes.mjs +13 -0
- package/i18n/index.js +2 -0
- package/i18n/languages/index.d.ts +8 -0
- package/i18n/languages/ja-JP.d.ts +1 -1
- package/i18n/phraseFormatters/substituteVariables.js +1 -0
- package/i18n/phraseFormatters/substituteVariables.mjs +1 -0
- package/index.d.ts +9 -1
- package/languages/all.js +1 -1
- package/languages/ar-AR.js +1 -1
- package/languages/cs-CZ.js +1 -1
- package/languages/de-CH.js +1 -1
- package/languages/de-DE.js +1 -1
- package/languages/en-US.js +1 -1
- package/languages/es-MX.js +1 -1
- package/languages/fr-FR.js +1 -1
- package/languages/hr-HR.js +1 -1
- package/languages/index.js +1 -1
- package/languages/it-IT.js +1 -1
- package/languages/ja-JP.js +1 -1
- package/languages/ko-KR.js +1 -1
- package/languages/lv-LV.js +1 -1
- package/languages/nb-NO.js +1 -1
- package/languages/nl-NL.js +1 -1
- package/languages/pl-PL.js +1 -1
- package/languages/pt-BR.js +1 -1
- package/languages/ru-RU.js +1 -1
- package/languages/sr-SP.js +1 -1
- package/languages/zh-CN.js +1 -1
- package/languages/zh-TW.js +1 -1
- package/package.json +22 -7
- package/plugins/autoColumnSize/autoColumnSize.js +22 -27
- package/plugins/autoColumnSize/autoColumnSize.mjs +22 -27
- package/plugins/autoRowSize/autoRowSize.js +20 -22
- package/plugins/autoRowSize/autoRowSize.mjs +21 -23
- package/plugins/autofill/autofill.js +4 -5
- package/plugins/autofill/autofill.mjs +1 -1
- package/plugins/base/base.d.ts +1 -1
- package/plugins/base/base.js +41 -0
- package/plugins/base/base.mjs +42 -1
- package/plugins/base/index.js +2 -1
- package/plugins/base/index.mjs +1 -1
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +2 -5
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +2 -5
- package/plugins/columnSorting/columnSorting.js +5 -4
- package/plugins/columnSorting/columnSorting.mjs +3 -1
- package/plugins/columnSorting/columnStatesManager.js +1 -0
- package/plugins/columnSorting/columnStatesManager.mjs +1 -0
- package/plugins/columnSorting/utils.js +3 -0
- package/plugins/columnSorting/utils.mjs +3 -0
- package/plugins/columnSummary/endpoints.js +3 -0
- package/plugins/columnSummary/endpoints.mjs +3 -0
- package/plugins/comments/commentEditor.js +9 -0
- package/plugins/comments/commentEditor.mjs +9 -0
- package/plugins/comments/comments.js +24 -18
- package/plugins/comments/comments.mjs +26 -20
- package/plugins/comments/editorResizeObserver.js +2 -0
- package/plugins/comments/editorResizeObserver.mjs +2 -0
- package/plugins/contextMenu/contextMenu.d.ts +2 -1
- package/plugins/contextMenu/contextMenu.js +6 -7
- package/plugins/contextMenu/contextMenu.mjs +1 -1
- package/plugins/contextMenu/menu/index.js +2 -0
- package/plugins/contextMenu/menu/menu.js +10 -5
- package/plugins/contextMenu/menu/menu.mjs +11 -6
- package/plugins/contextMenu/menu/positioner.js +4 -2
- package/plugins/contextMenu/menu/positioner.mjs +4 -2
- package/plugins/contextMenu/menu/shortcuts.js +3 -1
- package/plugins/contextMenu/menu/shortcuts.mjs +3 -1
- package/plugins/contextMenu/predefinedItems/alignment.js +7 -84
- package/plugins/contextMenu/predefinedItems/alignment.mjs +8 -85
- package/plugins/contextMenu/utils.js +0 -10
- package/plugins/contextMenu/utils.mjs +0 -9
- package/plugins/copyPaste/copyPaste.d.ts +1 -0
- package/plugins/copyPaste/copyPaste.js +32 -23
- package/plugins/copyPaste/copyPaste.mjs +24 -15
- package/plugins/customBorders/utils.js +2 -0
- package/plugins/customBorders/utils.mjs +2 -0
- package/plugins/dropdownMenu/dropdownMenu.d.ts +2 -1
- package/plugins/dropdownMenu/dropdownMenu.js +6 -7
- package/plugins/dropdownMenu/dropdownMenu.mjs +1 -1
- package/plugins/exportFile/types/csv.js +1 -0
- package/plugins/exportFile/types/csv.mjs +1 -0
- package/plugins/filters/component/condition.js +2 -0
- package/plugins/filters/component/condition.mjs +2 -0
- package/plugins/filters/component/operators.js +2 -0
- package/plugins/filters/component/operators.mjs +2 -0
- package/plugins/filters/component/value.js +3 -0
- package/plugins/filters/component/value.mjs +3 -0
- package/plugins/filters/conditionCollection.js +3 -0
- package/plugins/filters/conditionCollection.mjs +3 -0
- package/plugins/filters/conditionUpdateObserver.js +2 -0
- package/plugins/filters/conditionUpdateObserver.mjs +2 -0
- package/plugins/filters/filters.js +43 -13
- package/plugins/filters/filters.mjs +43 -13
- package/plugins/filters/logicalOperations/conjunction.js +2 -0
- package/plugins/filters/logicalOperations/conjunction.mjs +2 -0
- package/plugins/filters/logicalOperations/disjunction.js +2 -0
- package/plugins/filters/logicalOperations/disjunction.mjs +2 -0
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +2 -0
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.mjs +2 -0
- package/plugins/filters/menu/focusController.js +38 -14
- package/plugins/filters/menu/focusController.mjs +38 -14
- package/plugins/filters/ui/multipleSelect.js +10 -0
- package/plugins/filters/ui/multipleSelect.mjs +10 -0
- package/plugins/formulas/engine/register.js +3 -0
- package/plugins/formulas/engine/register.mjs +3 -0
- package/plugins/formulas/engine/settings.js +3 -0
- package/plugins/formulas/engine/settings.mjs +3 -0
- package/plugins/formulas/formulas.js +12 -7
- package/plugins/formulas/formulas.mjs +6 -1
- package/plugins/formulas/indexSyncer/axisSyncer.js +3 -0
- package/plugins/formulas/indexSyncer/axisSyncer.mjs +3 -0
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +2 -0
- package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +2 -0
- package/plugins/hiddenColumns/hiddenColumns.js +22 -30
- package/plugins/hiddenColumns/hiddenColumns.mjs +18 -26
- package/plugins/hiddenRows/contextMenuItem/showRow.js +2 -0
- package/plugins/hiddenRows/contextMenuItem/showRow.mjs +2 -0
- package/plugins/hiddenRows/hiddenRows.js +21 -29
- package/plugins/hiddenRows/hiddenRows.mjs +17 -25
- package/plugins/index.d.ts +3 -0
- package/plugins/index.js +3 -0
- package/plugins/index.mjs +3 -1
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +7 -5
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +3 -1
- package/plugins/manualColumnMove/manualColumnMove.js +6 -6
- package/plugins/manualColumnMove/manualColumnMove.mjs +4 -4
- package/plugins/manualColumnResize/manualColumnResize.js +26 -12
- package/plugins/manualColumnResize/manualColumnResize.mjs +26 -12
- package/plugins/manualRowMove/manualRowMove.js +8 -6
- package/plugins/manualRowMove/manualRowMove.mjs +6 -4
- package/plugins/manualRowResize/manualRowResize.js +3 -2
- package/plugins/manualRowResize/manualRowResize.mjs +4 -3
- package/plugins/mergeCells/cellsCollection.js +19 -3
- package/plugins/mergeCells/cellsCollection.mjs +20 -4
- package/plugins/mergeCells/mergeCells.d.ts +6 -2
- package/plugins/mergeCells/mergeCells.js +84 -56
- package/plugins/mergeCells/mergeCells.mjs +82 -54
- package/plugins/mergeCells/renderer.js +13 -3
- package/plugins/mergeCells/renderer.mjs +13 -3
- package/plugins/multiColumnSorting/domHelpers.js +2 -0
- package/plugins/multiColumnSorting/domHelpers.mjs +2 -0
- package/plugins/nestedHeaders/nestedHeaders.js +63 -16
- package/plugins/nestedHeaders/nestedHeaders.mjs +63 -16
- package/plugins/nestedHeaders/stateManager/index.js +1 -0
- package/plugins/nestedHeaders/stateManager/index.mjs +1 -0
- package/plugins/nestedRows/nestedRows.js +3 -0
- package/plugins/nestedRows/nestedRows.mjs +3 -0
- package/plugins/nestedRows/ui/headers.js +7 -1
- package/plugins/nestedRows/ui/headers.mjs +7 -1
- package/plugins/nestedRows/utils/rowMoveController.js +4 -0
- package/plugins/nestedRows/utils/rowMoveController.mjs +4 -0
- package/plugins/persistentState/persistentState.js +4 -4
- package/plugins/persistentState/persistentState.mjs +1 -1
- package/plugins/stretchColumns/calculator.js +162 -0
- package/plugins/stretchColumns/calculator.mjs +158 -0
- package/plugins/stretchColumns/index.d.ts +1 -0
- package/plugins/stretchColumns/index.js +7 -0
- package/plugins/stretchColumns/index.mjs +1 -0
- package/plugins/stretchColumns/strategies/_base.js +85 -0
- package/plugins/stretchColumns/strategies/_base.mjs +81 -0
- package/plugins/stretchColumns/strategies/all.js +71 -0
- package/plugins/stretchColumns/strategies/all.mjs +67 -0
- package/plugins/stretchColumns/strategies/last.js +79 -0
- package/plugins/stretchColumns/strategies/last.mjs +75 -0
- package/plugins/stretchColumns/stretchColumns.d.ts +11 -0
- package/plugins/stretchColumns/stretchColumns.js +222 -0
- package/plugins/stretchColumns/stretchColumns.mjs +218 -0
- package/plugins/trimRows/trimRows.js +2 -0
- package/plugins/trimRows/trimRows.mjs +2 -0
- package/plugins/undoRedo/undoRedo.js +9 -5
- package/plugins/undoRedo/undoRedo.mjs +8 -3
- package/renderers/checkboxRenderer/checkboxRenderer.js +19 -8
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +18 -7
- package/selection/index.js +2 -0
- package/selection/range.js +2 -0
- package/selection/range.mjs +2 -0
- package/selection/selection.js +7 -2
- package/selection/selection.mjs +7 -2
- package/selection/utils.js +2 -0
- package/selection/utils.mjs +2 -0
- package/settings.d.ts +4 -1
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +1 -1
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +1 -1
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +1 -1
- package/shortcutContexts/commands/index.js +2 -0
- package/shortcutContexts/commands/index.mjs +2 -0
- package/shortcutContexts/commands/scrollToFocusedCell.js +4 -4
- package/shortcutContexts/commands/scrollToFocusedCell.mjs +4 -4
- package/shortcutContexts/index.js +2 -0
- package/shortcutContexts/index.mjs +2 -0
- package/shortcuts/context.js +3 -0
- package/shortcuts/context.mjs +3 -0
- package/shortcuts/recorder.js +3 -3
- package/shortcuts/recorder.mjs +3 -3
- package/shortcuts/utils.js +1 -0
- package/shortcuts/utils.mjs +1 -0
- package/styles/handsontable.css +2307 -0
- package/styles/handsontable.min.css +30 -0
- package/styles/ht-theme-horizon.css +607 -0
- package/styles/ht-theme-horizon.min.css +30 -0
- package/styles/ht-theme-main.css +613 -0
- package/styles/ht-theme-main.min.css +30 -0
- package/tableView.js +205 -33
- package/tableView.mjs +206 -34
- package/translations/changesObservable/observable.js +2 -0
- package/translations/changesObservable/observable.mjs +2 -0
- package/translations/index.js +2 -0
- package/translations/indexMapper.js +4 -0
- package/translations/indexMapper.mjs +4 -0
- package/translations/mapCollections/index.js +2 -0
- package/translations/mapCollections/mapCollection.js +2 -0
- package/translations/mapCollections/mapCollection.mjs +2 -0
- package/translations/maps/index.js +2 -0
- package/translations/maps/linkedPhysicalIndexToValueMap.js +1 -0
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +1 -0
- package/translations/maps/utils/actionsOnIndexes.js +2 -0
- package/translations/maps/utils/actionsOnIndexes.mjs +2 -0
- package/translations/maps/utils/physicallyIndexed.js +1 -0
- package/translations/maps/utils/physicallyIndexed.mjs +1 -0
- package/utils/autoResize.js +11 -3
- package/utils/autoResize.mjs +11 -3
- package/utils/dataStructures/priorityMap.js +1 -0
- package/utils/dataStructures/priorityMap.mjs +1 -0
- package/utils/dataStructures/uniqueMap.js +2 -0
- package/utils/dataStructures/uniqueMap.mjs +2 -0
- package/utils/ghostTable.js +7 -3
- package/utils/ghostTable.mjs +7 -3
- package/utils/parseTable.js +4 -0
- package/utils/parseTable.mjs +4 -0
- package/3rdparty/walkontable/src/selection/border/constants.js +0 -15
- package/3rdparty/walkontable/src/selection/border/constants.mjs +0 -12
- package/3rdparty/walkontable/src/utils/columnStretching.js +0 -197
- package/3rdparty/walkontable/src/utils/columnStretching.mjs +0 -193
package/plugins/base/base.mjs
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
2
|
import "core-js/modules/es.array.push.js";
|
3
|
+
import "core-js/modules/esnext.iterator.constructor.js";
|
4
|
+
import "core-js/modules/esnext.iterator.for-each.js";
|
3
5
|
function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
|
4
6
|
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
5
7
|
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
@@ -8,7 +10,7 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
|
|
8
10
|
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
11
|
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
10
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"); }
|
11
|
-
import { defineGetter, objectEach } from "../../helpers/object.mjs";
|
13
|
+
import { defineGetter, objectEach, isObject } from "../../helpers/object.mjs";
|
12
14
|
import { arrayEach } from "../../helpers/array.mjs";
|
13
15
|
import { getPluginsNames, hasPlugin } from "../registry.mjs";
|
14
16
|
import { hasCellType } from "../../cellTypes/registry.mjs";
|
@@ -17,6 +19,7 @@ import { hasRenderer } from "../../renderers/registry.mjs";
|
|
17
19
|
import { hasValidator } from "../../validators/registry.mjs";
|
18
20
|
import EventManager from "../../eventManager.mjs";
|
19
21
|
const DEPS_TYPE_CHECKERS = new Map([['plugin', hasPlugin], ['cell-type', hasCellType], ['editor', hasEditor], ['renderer', hasRenderer], ['validator', hasValidator]]);
|
22
|
+
export const defaultMainSettingSymbol = Symbol('mainSetting');
|
20
23
|
export const PLUGIN_KEY = 'base';
|
21
24
|
const missingDepsMsgs = [];
|
22
25
|
let initializedPlugins = null;
|
@@ -45,6 +48,15 @@ export class BasePlugin {
|
|
45
48
|
return [this.PLUGIN_KEY];
|
46
49
|
}
|
47
50
|
|
51
|
+
/**
|
52
|
+
* The `DEFAULT_SETTINGS` getter defines the plugin default settings.
|
53
|
+
*
|
54
|
+
* @returns {object}
|
55
|
+
*/
|
56
|
+
static get DEFAULT_SETTINGS() {
|
57
|
+
return {};
|
58
|
+
}
|
59
|
+
|
48
60
|
/**
|
49
61
|
* The instance of the {@link EventManager} class.
|
50
62
|
*
|
@@ -145,6 +157,7 @@ export class BasePlugin {
|
|
145
157
|
if (isAllPluginsAreInitialized) {
|
146
158
|
if (missingDepsMsgs.length > 0) {
|
147
159
|
const errorMsg = [`${missingDepsMsgs.join('\n')}\n`, 'You have to import and register them manually.'].join('');
|
160
|
+
missingDepsMsgs.length = 0;
|
148
161
|
throw new Error(errorMsg);
|
149
162
|
}
|
150
163
|
this.hot.runHooks('afterPluginsInitialized');
|
@@ -169,6 +182,34 @@ export class BasePlugin {
|
|
169
182
|
this.enabled = false;
|
170
183
|
}
|
171
184
|
|
185
|
+
/**
|
186
|
+
* Gets the plugin settings. If there is no setting under the provided key, it returns the default setting
|
187
|
+
* provided by the DEFAULT_SETTINGS static property of the class.
|
188
|
+
*
|
189
|
+
* @param {string} [settingName] The setting name. If the setting name is not provided, it returns
|
190
|
+
* the whole plugin's settings object.
|
191
|
+
* @returns {*}
|
192
|
+
*/
|
193
|
+
getSetting(settingName) {
|
194
|
+
const pluginSettings = this.hot.getSettings()[this.constructor.PLUGIN_KEY];
|
195
|
+
if (settingName === undefined) {
|
196
|
+
return pluginSettings;
|
197
|
+
}
|
198
|
+
const defaultSettings = this.constructor.DEFAULT_SETTINGS;
|
199
|
+
if ((Array.isArray(pluginSettings) || isObject(pluginSettings)) && defaultSettings[defaultMainSettingSymbol] === settingName) {
|
200
|
+
var _pluginSettings$setti;
|
201
|
+
if (Array.isArray(pluginSettings)) {
|
202
|
+
return pluginSettings;
|
203
|
+
}
|
204
|
+
return (_pluginSettings$setti = pluginSettings[settingName]) !== null && _pluginSettings$setti !== void 0 ? _pluginSettings$setti : defaultSettings[settingName];
|
205
|
+
}
|
206
|
+
if (isObject(pluginSettings)) {
|
207
|
+
var _pluginSettings$setti2;
|
208
|
+
return (_pluginSettings$setti2 = pluginSettings[settingName]) !== null && _pluginSettings$setti2 !== void 0 ? _pluginSettings$setti2 : defaultSettings[settingName];
|
209
|
+
}
|
210
|
+
return defaultSettings[settingName];
|
211
|
+
}
|
212
|
+
|
172
213
|
/**
|
173
214
|
* Add listener to plugin hooks system.
|
174
215
|
*
|
package/plugins/base/index.js
CHANGED
package/plugins/base/index.mjs
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export { PLUGIN_KEY, BasePlugin } from "./base.mjs";
|
1
|
+
export { PLUGIN_KEY, BasePlugin, defaultMainSettingSymbol } from "./base.mjs";
|
@@ -88,14 +88,11 @@ class BindRowsWithHeaders extends _base.BasePlugin {
|
|
88
88
|
* Enables the plugin functionality for this Handsontable instance.
|
89
89
|
*/
|
90
90
|
enablePlugin() {
|
91
|
+
var _bindTypeToMapStrateg;
|
91
92
|
if (this.enabled) {
|
92
93
|
return;
|
93
94
|
}
|
94
|
-
|
95
|
-
if (typeof bindType !== 'string') {
|
96
|
-
bindType = DEFAULT_BIND;
|
97
|
-
}
|
98
|
-
const MapStrategy = bindTypeToMapStrategy.get(bindType);
|
95
|
+
const MapStrategy = (_bindTypeToMapStrateg = bindTypeToMapStrategy.get(this.getSetting())) !== null && _bindTypeToMapStrateg !== void 0 ? _bindTypeToMapStrateg : bindTypeToMapStrategy.get(DEFAULT_BIND);
|
99
96
|
this.headerIndexes = this.hot.rowIndexMapper.registerMap('bindRowsWithHeaders', new MapStrategy());
|
100
97
|
this.addHook('modifyRowHeader', row => _assertClassBrand(_BindRowsWithHeaders_brand, this, _onModifyRowHeader).call(this, row));
|
101
98
|
super.enablePlugin();
|
@@ -84,14 +84,11 @@ export class BindRowsWithHeaders extends BasePlugin {
|
|
84
84
|
* Enables the plugin functionality for this Handsontable instance.
|
85
85
|
*/
|
86
86
|
enablePlugin() {
|
87
|
+
var _bindTypeToMapStrateg;
|
87
88
|
if (this.enabled) {
|
88
89
|
return;
|
89
90
|
}
|
90
|
-
|
91
|
-
if (typeof bindType !== 'string') {
|
92
|
-
bindType = DEFAULT_BIND;
|
93
|
-
}
|
94
|
-
const MapStrategy = bindTypeToMapStrategy.get(bindType);
|
91
|
+
const MapStrategy = (_bindTypeToMapStrateg = bindTypeToMapStrategy.get(this.getSetting())) !== null && _bindTypeToMapStrateg !== void 0 ? _bindTypeToMapStrateg : bindTypeToMapStrategy.get(DEFAULT_BIND);
|
95
92
|
this.headerIndexes = this.hot.rowIndexMapper.registerMap('bindRowsWithHeaders', new MapStrategy());
|
96
93
|
this.addHook('modifyRowHeader', row => _assertClassBrand(_BindRowsWithHeaders_brand, this, _onModifyRowHeader).call(this, row));
|
97
94
|
super.enablePlugin();
|
@@ -3,6 +3,8 @@
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
require("core-js/modules/es.error.cause.js");
|
5
5
|
require("core-js/modules/es.array.push.js");
|
6
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
7
|
+
require("core-js/modules/esnext.iterator.every.js");
|
6
8
|
var _element = require("../../helpers/dom/element");
|
7
9
|
var _mixed = require("../../helpers/mixed");
|
8
10
|
var _object = require("../../helpers/object");
|
@@ -10,7 +12,7 @@ var _function = require("../../helpers/function");
|
|
10
12
|
var _array = require("../../helpers/array");
|
11
13
|
var _base = require("../base");
|
12
14
|
var _translations = require("../../translations");
|
13
|
-
var
|
15
|
+
var _hooks = require("../../core/hooks");
|
14
16
|
var _columnStatesManager = require("./columnStatesManager");
|
15
17
|
var _shortcutContexts = require("../../shortcutContexts");
|
16
18
|
var _utils = require("./utils");
|
@@ -18,7 +20,6 @@ var _domHelpers = require("./domHelpers");
|
|
18
20
|
var _rootComparator = require("./rootComparator");
|
19
21
|
var _sortService = require("./sortService");
|
20
22
|
var _a11y = require("../../helpers/a11y");
|
21
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
22
23
|
function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
|
23
24
|
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
24
25
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
@@ -31,8 +32,8 @@ const APPEND_COLUMN_CONFIG_STRATEGY = exports.APPEND_COLUMN_CONFIG_STRATEGY = 'a
|
|
31
32
|
const REPLACE_COLUMN_CONFIG_STRATEGY = exports.REPLACE_COLUMN_CONFIG_STRATEGY = 'replace';
|
32
33
|
const SHORTCUTS_GROUP = PLUGIN_KEY;
|
33
34
|
(0, _sortService.registerRootComparator)(PLUGIN_KEY, _rootComparator.rootComparator);
|
34
|
-
|
35
|
-
|
35
|
+
_hooks.Hooks.getSingleton().register('beforeColumnSort');
|
36
|
+
_hooks.Hooks.getSingleton().register('afterColumnSort');
|
36
37
|
|
37
38
|
// DIFF - MultiColumnSorting & ColumnSorting: changed configuration documentation.
|
38
39
|
/**
|
@@ -1,5 +1,7 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
2
|
import "core-js/modules/es.array.push.js";
|
3
|
+
import "core-js/modules/esnext.iterator.constructor.js";
|
4
|
+
import "core-js/modules/esnext.iterator.every.js";
|
3
5
|
function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
|
4
6
|
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
5
7
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
@@ -13,7 +15,7 @@ import { isFunction } from "../../helpers/function.mjs";
|
|
13
15
|
import { arrayMap } from "../../helpers/array.mjs";
|
14
16
|
import { BasePlugin } from "../base/index.mjs";
|
15
17
|
import { IndexesSequence, PhysicalIndexToValueMap as IndexToValueMap } from "../../translations/index.mjs";
|
16
|
-
import Hooks from "../../
|
18
|
+
import { Hooks } from "../../core/hooks/index.mjs";
|
17
19
|
import { ColumnStatesManager } from "./columnStatesManager.mjs";
|
18
20
|
import { EDITOR_EDIT_GROUP as SHORTCUTS_GROUP_EDITOR } from "../../shortcutContexts/index.mjs";
|
19
21
|
import { HEADER_SPAN_CLASS, getNextSortOrder, areValidSortStates, getHeaderSpanElement, isFirstLevelColumnHeader, wasHeaderClickedProperly } from "./utils.mjs";
|
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
require("core-js/modules/es.error.cause.js");
|
5
|
+
require("core-js/modules/esnext.iterator.map.js");
|
5
6
|
var _object = require("../../helpers/object");
|
6
7
|
var _translations = require("../../translations");
|
7
8
|
var _mixed = require("../../helpers/mixed");
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
|
+
import "core-js/modules/esnext.iterator.map.js";
|
2
3
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
3
4
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
4
5
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
@@ -14,6 +14,9 @@ require("core-js/modules/es.set.is-subset-of.v2.js");
|
|
14
14
|
require("core-js/modules/es.set.is-superset-of.v2.js");
|
15
15
|
require("core-js/modules/es.set.symmetric-difference.v2.js");
|
16
16
|
require("core-js/modules/es.set.union.v2.js");
|
17
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
18
|
+
require("core-js/modules/esnext.iterator.map.js");
|
19
|
+
require("core-js/modules/esnext.iterator.some.js");
|
17
20
|
var _moment = _interopRequireDefault(require("moment"));
|
18
21
|
var _object = require("../../helpers/object");
|
19
22
|
var _event = require("../../helpers/dom/event");
|
@@ -5,6 +5,9 @@ import "core-js/modules/es.set.is-subset-of.v2.js";
|
|
5
5
|
import "core-js/modules/es.set.is-superset-of.v2.js";
|
6
6
|
import "core-js/modules/es.set.symmetric-difference.v2.js";
|
7
7
|
import "core-js/modules/es.set.union.v2.js";
|
8
|
+
import "core-js/modules/esnext.iterator.constructor.js";
|
9
|
+
import "core-js/modules/esnext.iterator.map.js";
|
10
|
+
import "core-js/modules/esnext.iterator.some.js";
|
8
11
|
import moment from 'moment';
|
9
12
|
import { isObject } from "../../helpers/object.mjs";
|
10
13
|
import { isRightClick } from "../../helpers/dom/event.mjs";
|
@@ -3,6 +3,9 @@
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
require("core-js/modules/es.error.cause.js");
|
5
5
|
require("core-js/modules/es.array.push.js");
|
6
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
7
|
+
require("core-js/modules/esnext.iterator.for-each.js");
|
8
|
+
require("core-js/modules/esnext.iterator.some.js");
|
6
9
|
var _array = require("../../helpers/array");
|
7
10
|
var _console = require("../../helpers/console");
|
8
11
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
@@ -1,5 +1,8 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
2
|
import "core-js/modules/es.array.push.js";
|
3
|
+
import "core-js/modules/esnext.iterator.constructor.js";
|
4
|
+
import "core-js/modules/esnext.iterator.for-each.js";
|
5
|
+
import "core-js/modules/esnext.iterator.some.js";
|
3
6
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
4
7
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
5
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); }
|
@@ -241,6 +241,15 @@ class CommentEditor {
|
|
241
241
|
return _classPrivateFieldGet(_editor, this).querySelector(`.${CommentEditor.CLASS_INPUT}`);
|
242
242
|
}
|
243
243
|
|
244
|
+
/**
|
245
|
+
* Get the editor element.
|
246
|
+
*
|
247
|
+
* @returns {HTMLElement} The editor element.
|
248
|
+
*/
|
249
|
+
getEditorElement() {
|
250
|
+
return _classPrivateFieldGet(_editor, this);
|
251
|
+
}
|
252
|
+
|
244
253
|
/**
|
245
254
|
* Destroy the comments editor.
|
246
255
|
*/
|
@@ -237,6 +237,15 @@ class CommentEditor {
|
|
237
237
|
return _classPrivateFieldGet(_editor, this).querySelector(`.${CommentEditor.CLASS_INPUT}`);
|
238
238
|
}
|
239
239
|
|
240
|
+
/**
|
241
|
+
* Get the editor element.
|
242
|
+
*
|
243
|
+
* @returns {HTMLElement} The editor element.
|
244
|
+
*/
|
245
|
+
getEditorElement() {
|
246
|
+
return _classPrivateFieldGet(_editor, this);
|
247
|
+
}
|
248
|
+
|
240
249
|
/**
|
241
250
|
* Destroy the comments editor.
|
242
251
|
*/
|
@@ -194,6 +194,11 @@ class Comments extends _base.BasePlugin {
|
|
194
194
|
static get PLUGIN_PRIORITY() {
|
195
195
|
return PLUGIN_PRIORITY;
|
196
196
|
}
|
197
|
+
static get DEFAULT_SETTINGS() {
|
198
|
+
return {
|
199
|
+
displayDelay: 250
|
200
|
+
};
|
201
|
+
}
|
197
202
|
/**
|
198
203
|
* Checks if the plugin is enabled in the handsontable settings. This method is executed in {@link Hooks#beforeInit}
|
199
204
|
* hook and if it returns `true` then the {@link Comments#enablePlugin} method is called.
|
@@ -222,13 +227,19 @@ class Comments extends _base.BasePlugin {
|
|
222
227
|
});
|
223
228
|
}
|
224
229
|
if (!_classPrivateFieldGet(_displaySwitch, this)) {
|
225
|
-
_classPrivateFieldSet(_displaySwitch, this, new _displaySwitch2.default(this.
|
230
|
+
_classPrivateFieldSet(_displaySwitch, this, new _displaySwitch2.default(this.getSetting('displayDelay')));
|
226
231
|
}
|
227
232
|
this.addHook('afterContextMenuDefaultOptions', options => this.addToContextMenu(options));
|
228
233
|
this.addHook('afterRenderer', (TD, row, col, prop, value, cellProperties) => _assertClassBrand(_Comments_brand, this, _onAfterRenderer).call(this, TD, cellProperties));
|
229
234
|
this.addHook('afterScroll', () => _assertClassBrand(_Comments_brand, this, _onAfterScroll).call(this));
|
230
235
|
this.addHook('afterBeginEditing', () => this.hide());
|
231
236
|
this.addHook('afterDocumentKeyDown', event => _assertClassBrand(_Comments_brand, this, _onAfterDocumentKeyDown).call(this, event));
|
237
|
+
this.addHook('afterSetTheme', function () {
|
238
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
239
|
+
args[_key2] = arguments[_key2];
|
240
|
+
}
|
241
|
+
return _assertClassBrand(_Comments_brand, _this, _updateEditorThemeClassName).call(_this, ...args);
|
242
|
+
});
|
232
243
|
_classPrivateFieldGet(_displaySwitch, this).addLocalHook('hide', () => this.hide());
|
233
244
|
_classPrivateFieldGet(_displaySwitch, this).addLocalHook('show', (row, col) => this.showAtCell(row, col));
|
234
245
|
this.registerShortcuts();
|
@@ -243,7 +254,7 @@ class Comments extends _base.BasePlugin {
|
|
243
254
|
* - [`comments`](@/api/options.md#comments)
|
244
255
|
*/
|
245
256
|
updatePlugin() {
|
246
|
-
_classPrivateFieldGet(_displaySwitch, this).updateDelay(this.
|
257
|
+
_classPrivateFieldGet(_displaySwitch, this).updateDelay(this.getSetting('displayDelay'));
|
247
258
|
super.updatePlugin();
|
248
259
|
}
|
249
260
|
|
@@ -282,7 +293,7 @@ class Comments extends _base.BasePlugin {
|
|
282
293
|
stopPropagation: true,
|
283
294
|
runOnlyIf: () => {
|
284
295
|
var _this$hot$getSelected;
|
285
|
-
return (
|
296
|
+
return (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight.isCell();
|
286
297
|
},
|
287
298
|
group: SHORTCUTS_GROUP
|
288
299
|
});
|
@@ -570,7 +581,7 @@ class Comments extends _base.BasePlugin {
|
|
570
581
|
} else {
|
571
582
|
_classPrivateFieldGet(_editor, this).resetSize();
|
572
583
|
}
|
573
|
-
const lastColWidth = isBeforeRenderedColumns ? 0 : wtTable.
|
584
|
+
const lastColWidth = isBeforeRenderedColumns ? 0 : wtTable.getColumnWidth(renderableColumn);
|
574
585
|
const lastRowHeight = targetingPreviousRow && !isBeforeRenderedRows ? (0, _element.outerHeight)(TD) : 0;
|
575
586
|
const {
|
576
587
|
left,
|
@@ -660,19 +671,6 @@ class Comments extends _base.BasePlugin {
|
|
660
671
|
}, (0, _addEditComment.default)(this), (0, _removeComment.default)(this), (0, _readOnlyComment.default)(this));
|
661
672
|
}
|
662
673
|
|
663
|
-
/**
|
664
|
-
* Get `displayDelay` setting of comment plugin.
|
665
|
-
*
|
666
|
-
* @private
|
667
|
-
* @returns {number|undefined}
|
668
|
-
*/
|
669
|
-
getDisplayDelaySetting() {
|
670
|
-
const commentSetting = this.hot.getSettings()[PLUGIN_KEY];
|
671
|
-
if ((0, _object.isObject)(commentSetting)) {
|
672
|
-
return commentSetting.displayDelay;
|
673
|
-
}
|
674
|
-
}
|
675
|
-
|
676
674
|
/**
|
677
675
|
* Gets the editors input element.
|
678
676
|
*
|
@@ -785,7 +783,7 @@ function _onEditorResize(width, height) {
|
|
785
783
|
* @param {Event} event The keydown event.
|
786
784
|
*/
|
787
785
|
function _onAfterDocumentKeyDown(event) {
|
788
|
-
if (_classPrivateFieldGet(_editor, this).
|
786
|
+
if (_classPrivateFieldGet(_editor, this).isFocused()) {
|
789
787
|
(0, _event.stopImmediatePropagation)(event);
|
790
788
|
}
|
791
789
|
}
|
@@ -796,4 +794,12 @@ function _onAfterScroll() {
|
|
796
794
|
if (!_classPrivateFieldGet(_preventEditorHiding, this)) {
|
797
795
|
this.hide();
|
798
796
|
}
|
797
|
+
}
|
798
|
+
/**
|
799
|
+
* Updates the editor theme class name.
|
800
|
+
*/
|
801
|
+
function _updateEditorThemeClassName() {
|
802
|
+
const editorElement = _classPrivateFieldGet(_editor, this).getEditorElement();
|
803
|
+
(0, _element.removeClass)(editorElement, /ht-theme-.*/g);
|
804
|
+
(0, _element.addClass)(editorElement, this.hot.getCurrentThemeName());
|
799
805
|
}
|
@@ -9,9 +9,9 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
|
|
9
9
|
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
10
10
|
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
11
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"); }
|
12
|
-
import { addClass, closest, isChildOf, hasClass, outerHeight } from "../../helpers/dom/element.mjs";
|
12
|
+
import { addClass, removeClass, closest, isChildOf, hasClass, outerHeight } from "../../helpers/dom/element.mjs";
|
13
13
|
import { stopImmediatePropagation } from "../../helpers/dom/event.mjs";
|
14
|
-
import { deepClone, deepExtend
|
14
|
+
import { deepClone, deepExtend } from "../../helpers/object.mjs";
|
15
15
|
import { BasePlugin } from "../base/index.mjs";
|
16
16
|
import CommentEditor from "./commentEditor.mjs";
|
17
17
|
import DisplaySwitch from "./displaySwitch.mjs";
|
@@ -190,6 +190,11 @@ export class Comments extends BasePlugin {
|
|
190
190
|
static get PLUGIN_PRIORITY() {
|
191
191
|
return PLUGIN_PRIORITY;
|
192
192
|
}
|
193
|
+
static get DEFAULT_SETTINGS() {
|
194
|
+
return {
|
195
|
+
displayDelay: 250
|
196
|
+
};
|
197
|
+
}
|
193
198
|
/**
|
194
199
|
* Checks if the plugin is enabled in the handsontable settings. This method is executed in {@link Hooks#beforeInit}
|
195
200
|
* hook and if it returns `true` then the {@link Comments#enablePlugin} method is called.
|
@@ -218,13 +223,19 @@ export class Comments extends BasePlugin {
|
|
218
223
|
});
|
219
224
|
}
|
220
225
|
if (!_classPrivateFieldGet(_displaySwitch, this)) {
|
221
|
-
_classPrivateFieldSet(_displaySwitch, this, new DisplaySwitch(this.
|
226
|
+
_classPrivateFieldSet(_displaySwitch, this, new DisplaySwitch(this.getSetting('displayDelay')));
|
222
227
|
}
|
223
228
|
this.addHook('afterContextMenuDefaultOptions', options => this.addToContextMenu(options));
|
224
229
|
this.addHook('afterRenderer', (TD, row, col, prop, value, cellProperties) => _assertClassBrand(_Comments_brand, this, _onAfterRenderer).call(this, TD, cellProperties));
|
225
230
|
this.addHook('afterScroll', () => _assertClassBrand(_Comments_brand, this, _onAfterScroll).call(this));
|
226
231
|
this.addHook('afterBeginEditing', () => this.hide());
|
227
232
|
this.addHook('afterDocumentKeyDown', event => _assertClassBrand(_Comments_brand, this, _onAfterDocumentKeyDown).call(this, event));
|
233
|
+
this.addHook('afterSetTheme', function () {
|
234
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
235
|
+
args[_key2] = arguments[_key2];
|
236
|
+
}
|
237
|
+
return _assertClassBrand(_Comments_brand, _this, _updateEditorThemeClassName).call(_this, ...args);
|
238
|
+
});
|
228
239
|
_classPrivateFieldGet(_displaySwitch, this).addLocalHook('hide', () => this.hide());
|
229
240
|
_classPrivateFieldGet(_displaySwitch, this).addLocalHook('show', (row, col) => this.showAtCell(row, col));
|
230
241
|
this.registerShortcuts();
|
@@ -239,7 +250,7 @@ export class Comments extends BasePlugin {
|
|
239
250
|
* - [`comments`](@/api/options.md#comments)
|
240
251
|
*/
|
241
252
|
updatePlugin() {
|
242
|
-
_classPrivateFieldGet(_displaySwitch, this).updateDelay(this.
|
253
|
+
_classPrivateFieldGet(_displaySwitch, this).updateDelay(this.getSetting('displayDelay'));
|
243
254
|
super.updatePlugin();
|
244
255
|
}
|
245
256
|
|
@@ -278,7 +289,7 @@ export class Comments extends BasePlugin {
|
|
278
289
|
stopPropagation: true,
|
279
290
|
runOnlyIf: () => {
|
280
291
|
var _this$hot$getSelected;
|
281
|
-
return (
|
292
|
+
return (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight.isCell();
|
282
293
|
},
|
283
294
|
group: SHORTCUTS_GROUP
|
284
295
|
});
|
@@ -566,7 +577,7 @@ export class Comments extends BasePlugin {
|
|
566
577
|
} else {
|
567
578
|
_classPrivateFieldGet(_editor, this).resetSize();
|
568
579
|
}
|
569
|
-
const lastColWidth = isBeforeRenderedColumns ? 0 : wtTable.
|
580
|
+
const lastColWidth = isBeforeRenderedColumns ? 0 : wtTable.getColumnWidth(renderableColumn);
|
570
581
|
const lastRowHeight = targetingPreviousRow && !isBeforeRenderedRows ? outerHeight(TD) : 0;
|
571
582
|
const {
|
572
583
|
left,
|
@@ -656,19 +667,6 @@ export class Comments extends BasePlugin {
|
|
656
667
|
}, addEditCommentItem(this), removeCommentItem(this), readOnlyCommentItem(this));
|
657
668
|
}
|
658
669
|
|
659
|
-
/**
|
660
|
-
* Get `displayDelay` setting of comment plugin.
|
661
|
-
*
|
662
|
-
* @private
|
663
|
-
* @returns {number|undefined}
|
664
|
-
*/
|
665
|
-
getDisplayDelaySetting() {
|
666
|
-
const commentSetting = this.hot.getSettings()[PLUGIN_KEY];
|
667
|
-
if (isObject(commentSetting)) {
|
668
|
-
return commentSetting.displayDelay;
|
669
|
-
}
|
670
|
-
}
|
671
|
-
|
672
670
|
/**
|
673
671
|
* Gets the editors input element.
|
674
672
|
*
|
@@ -780,7 +778,7 @@ function _onEditorResize(width, height) {
|
|
780
778
|
* @param {Event} event The keydown event.
|
781
779
|
*/
|
782
780
|
function _onAfterDocumentKeyDown(event) {
|
783
|
-
if (_classPrivateFieldGet(_editor, this).
|
781
|
+
if (_classPrivateFieldGet(_editor, this).isFocused()) {
|
784
782
|
stopImmediatePropagation(event);
|
785
783
|
}
|
786
784
|
}
|
@@ -791,4 +789,12 @@ function _onAfterScroll() {
|
|
791
789
|
if (!_classPrivateFieldGet(_preventEditorHiding, this)) {
|
792
790
|
this.hide();
|
793
791
|
}
|
792
|
+
}
|
793
|
+
/**
|
794
|
+
* Updates the editor theme class name.
|
795
|
+
*/
|
796
|
+
function _updateEditorThemeClassName() {
|
797
|
+
const editorElement = _classPrivateFieldGet(_editor, this).getEditorElement();
|
798
|
+
removeClass(editorElement, /ht-theme-.*/g);
|
799
|
+
addClass(editorElement, this.hot.getCurrentThemeName());
|
794
800
|
}
|
@@ -2,6 +2,8 @@
|
|
2
2
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
require("core-js/modules/es.error.cause.js");
|
5
|
+
require("core-js/modules/esnext.iterator.constructor.js");
|
6
|
+
require("core-js/modules/esnext.iterator.for-each.js");
|
5
7
|
var _object = require("../../helpers/object");
|
6
8
|
var _localHooks = _interopRequireDefault(require("../../mixins/localHooks"));
|
7
9
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
@@ -1,4 +1,6 @@
|
|
1
1
|
import "core-js/modules/es.error.cause.js";
|
2
|
+
import "core-js/modules/esnext.iterator.constructor.js";
|
3
|
+
import "core-js/modules/esnext.iterator.for-each.js";
|
2
4
|
function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
|
3
5
|
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
4
6
|
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
@@ -49,7 +49,8 @@ export interface SubmenuItemConfig extends Omit<MenuItemConfig, "key"> {
|
|
49
49
|
|
50
50
|
export interface DetailedSettings {
|
51
51
|
callback?: (key: string, selection: Selection[], clickEvent: MouseEvent) => void;
|
52
|
-
|
52
|
+
uiContainer?: HTMLElement,
|
53
|
+
items?: PredefinedMenuItemKey[] | MenuConfig;
|
53
54
|
}
|
54
55
|
|
55
56
|
export type Settings = boolean | PredefinedMenuItemKey[] | DetailedSettings;
|
@@ -3,7 +3,7 @@
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
require("core-js/modules/es.error.cause.js");
|
5
5
|
var _base = require("../base");
|
6
|
-
var
|
6
|
+
var _hooks = require("../../core/hooks");
|
7
7
|
var _array = require("../../helpers/array");
|
8
8
|
var _object = require("../../helpers/object");
|
9
9
|
var _commandExecutor = require("./commandExecutor");
|
@@ -12,7 +12,6 @@ var _menu = require("./menu");
|
|
12
12
|
var _utils = require("./utils");
|
13
13
|
var _element = require("../../helpers/dom/element");
|
14
14
|
var _predefinedItems = require("./predefinedItems");
|
15
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
16
15
|
function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
|
17
16
|
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
18
17
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
@@ -22,11 +21,11 @@ function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.h
|
|
22
21
|
const PLUGIN_KEY = exports.PLUGIN_KEY = 'contextMenu';
|
23
22
|
const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 70;
|
24
23
|
const SHORTCUTS_GROUP = PLUGIN_KEY;
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
24
|
+
_hooks.Hooks.getSingleton().register('afterContextMenuDefaultOptions');
|
25
|
+
_hooks.Hooks.getSingleton().register('beforeContextMenuShow');
|
26
|
+
_hooks.Hooks.getSingleton().register('afterContextMenuShow');
|
27
|
+
_hooks.Hooks.getSingleton().register('afterContextMenuHide');
|
28
|
+
_hooks.Hooks.getSingleton().register('afterContextMenuExecute');
|
30
29
|
|
31
30
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
32
31
|
/**
|
@@ -6,7 +6,7 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
|
|
6
6
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
7
7
|
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
8
8
|
import { BasePlugin } from "../base/index.mjs";
|
9
|
-
import Hooks from "../../
|
9
|
+
import { Hooks } from "../../core/hooks/index.mjs";
|
10
10
|
import { arrayEach } from "../../helpers/array.mjs";
|
11
11
|
import { objectEach } from "../../helpers/object.mjs";
|
12
12
|
import { CommandExecutor } from "./commandExecutor.mjs";
|
@@ -57,7 +57,7 @@ class Menu {
|
|
57
57
|
*/
|
58
58
|
get tableBorderWidth() {
|
59
59
|
if (_classPrivateFieldGet(_tableBorderWidth, this) === undefined && this.hotMenu) {
|
60
|
-
_classPrivateFieldSet(_tableBorderWidth, this, parseInt(
|
60
|
+
_classPrivateFieldSet(_tableBorderWidth, this, parseInt(this.hotMenu.rootWindow.getComputedStyle(this.hotMenu.view._wt.wtTable.TABLE).borderWidth, 10));
|
61
61
|
}
|
62
62
|
return _classPrivateFieldGet(_tableBorderWidth, this);
|
63
63
|
}
|
@@ -162,6 +162,12 @@ class Menu {
|
|
162
162
|
return _this.parentMenu.runLocalHooks('afterSelectionChange', ...args);
|
163
163
|
});
|
164
164
|
}
|
165
|
+
this.hot.addHook('afterSetTheme', (themeName, firstRun) => {
|
166
|
+
if (!firstRun) {
|
167
|
+
var _this$hotMenu;
|
168
|
+
(_this$hotMenu = this.hotMenu) === null || _this$hotMenu === void 0 || _this$hotMenu.useTheme(themeName);
|
169
|
+
}
|
170
|
+
});
|
165
171
|
}
|
166
172
|
|
167
173
|
/**
|
@@ -286,6 +292,7 @@ class Menu {
|
|
286
292
|
disableVisualSelection: 'area',
|
287
293
|
layoutDirection: this.hot.isRtl() ? 'rtl' : 'ltr',
|
288
294
|
ariaTags: false,
|
295
|
+
themeName: this.hot.getCurrentThemeName(),
|
289
296
|
beforeOnCellMouseOver: (event, coords) => {
|
290
297
|
_classPrivateFieldGet(_navigator, this).setCurrentPage(coords.row);
|
291
298
|
},
|
@@ -579,10 +586,8 @@ class Menu {
|
|
579
586
|
const currentRowHeight = itemCell ? (0, _element.outerHeight)(this.hotMenu.getCell(index, 0)) : 0;
|
580
587
|
return accumulator + (value.name === _predefinedItems.SEPARATOR ? 1 : currentRowHeight);
|
581
588
|
}, 0);
|
582
|
-
|
583
|
-
|
584
|
-
holderStyle.width = `${currentHiderWidth + 3}px`;
|
585
|
-
holderStyle.height = `${realHeight + 3}px`;
|
589
|
+
holderStyle.width = `${currentHiderWidth}px`;
|
590
|
+
holderStyle.height = `${realHeight}px`;
|
586
591
|
hiderStyle.height = holderStyle.height;
|
587
592
|
}
|
588
593
|
|