handsontable 14.6.1 → 15.0.0-next-fdd4480-20241205
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
|