handsontable 9.0.1 → 11.0.1
Sign up to get free protection for your applications and to get access to all the features.
- package/3rdparty/autoResize/autoResize.js +2 -0
- package/3rdparty/autoResize/autoResize.mjs +1 -0
- package/3rdparty/walkontable/src/border.js +3 -1
- package/3rdparty/walkontable/src/border.mjs +2 -1
- package/3rdparty/walkontable/src/calculator/constants.js +1 -1
- package/3rdparty/walkontable/src/calculator/index.js +2 -0
- package/3rdparty/walkontable/src/calculator/viewportColumns.d.ts +18 -0
- package/3rdparty/walkontable/src/cell/coords.d.ts +16 -0
- package/3rdparty/walkontable/src/cell/range.d.ts +51 -0
- package/3rdparty/walkontable/src/index.d.ts +1 -0
- package/3rdparty/walkontable/src/overlay/bottom.js +3 -3
- package/3rdparty/walkontable/src/overlay/bottom.mjs +2 -2
- package/3rdparty/walkontable/src/overlay/bottomLeftCorner.js +3 -3
- package/3rdparty/walkontable/src/overlay/bottomLeftCorner.mjs +2 -2
- package/3rdparty/walkontable/src/overlay/constants.js +1 -1
- package/3rdparty/walkontable/src/overlay/index.js +2 -0
- package/3rdparty/walkontable/src/overlay/left.js +3 -3
- package/3rdparty/walkontable/src/overlay/left.mjs +2 -2
- package/3rdparty/walkontable/src/overlay/registerer.js +1 -1
- package/3rdparty/walkontable/src/overlay/top.js +3 -3
- package/3rdparty/walkontable/src/overlay/top.mjs +2 -2
- package/3rdparty/walkontable/src/overlay/topLeftCorner.js +3 -3
- package/3rdparty/walkontable/src/overlay/topLeftCorner.mjs +2 -2
- package/3rdparty/walkontable/src/overlays.js +2 -0
- package/3rdparty/walkontable/src/overlays.mjs +1 -0
- package/3rdparty/walkontable/src/renderer/cells.js +1 -1
- package/3rdparty/walkontable/src/renderer/cells.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/colGroup.js +3 -3
- package/3rdparty/walkontable/src/renderer/colGroup.mjs +2 -2
- package/3rdparty/walkontable/src/renderer/columnHeaders.js +3 -3
- package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +2 -2
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +1 -1
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/rows.js +3 -3
- package/3rdparty/walkontable/src/renderer/rows.mjs +2 -2
- package/3rdparty/walkontable/src/selection.js +5 -3
- package/3rdparty/walkontable/src/selection.mjs +3 -2
- package/3rdparty/walkontable/src/table/bottom.js +3 -3
- package/3rdparty/walkontable/src/table/bottom.mjs +2 -2
- package/3rdparty/walkontable/src/table/bottomLeftCorner.js +3 -3
- package/3rdparty/walkontable/src/table/bottomLeftCorner.mjs +2 -2
- package/3rdparty/walkontable/src/table/left.js +3 -3
- package/3rdparty/walkontable/src/table/left.mjs +2 -2
- package/3rdparty/walkontable/src/table/master.js +3 -3
- package/3rdparty/walkontable/src/table/master.mjs +2 -2
- package/3rdparty/walkontable/src/table/top.js +3 -3
- package/3rdparty/walkontable/src/table/top.mjs +2 -2
- package/3rdparty/walkontable/src/table/topLeftCorner.js +3 -3
- package/3rdparty/walkontable/src/table/topLeftCorner.mjs +2 -2
- package/3rdparty/walkontable/src/table.js +5 -3
- package/3rdparty/walkontable/src/table.mjs +3 -2
- package/3rdparty/walkontable/src/utils/orderView/constants.js +1 -1
- package/3rdparty/walkontable/src/utils/orderView/sharedView.js +3 -3
- package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +2 -2
- package/CHANGELOG.md +72 -0
- package/LICENSE.txt +19 -22
- package/README.md +2 -1
- package/base.d.ts +1 -1
- package/base.js +16 -3
- package/base.mjs +14 -4
- package/cellTypes/autocompleteType/autocompleteType.d.ts +17 -0
- package/cellTypes/autocompleteType/autocompleteType.js +1 -1
- package/cellTypes/autocompleteType/index.d.ts +1 -0
- package/cellTypes/base.d.ts +14 -0
- package/cellTypes/checkboxType/checkboxType.d.ts +14 -0
- package/cellTypes/checkboxType/index.d.ts +1 -0
- package/cellTypes/dateType/dateType.d.ts +17 -0
- package/cellTypes/dateType/index.d.ts +1 -0
- package/cellTypes/dropdownType/dropdownType.d.ts +17 -0
- package/cellTypes/dropdownType/index.d.ts +1 -0
- package/cellTypes/handsontableType/handsontableType.d.ts +14 -0
- package/cellTypes/handsontableType/index.d.ts +1 -0
- package/cellTypes/index.d.ts +47 -0
- package/cellTypes/index.js +18 -2
- package/cellTypes/index.mjs +26 -9
- package/cellTypes/numericType/index.d.ts +1 -0
- package/cellTypes/numericType/numericType.d.ts +17 -0
- package/cellTypes/passwordType/index.d.ts +1 -0
- package/cellTypes/passwordType/passwordType.d.ts +14 -0
- package/cellTypes/registry.d.ts +18 -0
- package/cellTypes/registry.js +2 -2
- package/cellTypes/textType/index.d.ts +1 -0
- package/cellTypes/textType/textType.d.ts +14 -0
- package/cellTypes/timeType/index.d.ts +1 -0
- package/cellTypes/timeType/timeType.d.ts +17 -0
- package/common.d.ts +74 -0
- package/core.d.ts +159 -0
- package/core.js +143 -103
- package/core.mjs +141 -103
- package/{dataMap.js → dataMap/dataMap.js} +37 -35
- package/{dataMap.mjs → dataMap/dataMap.mjs} +37 -35
- package/dataMap/index.js +5 -1
- package/dataMap/index.mjs +3 -2
- package/dataMap/metaManager/index.js +54 -6
- package/dataMap/metaManager/index.mjs +51 -6
- package/dataMap/metaManager/lazyFactoryMap.js +3 -3
- package/dataMap/metaManager/lazyFactoryMap.mjs +3 -3
- package/dataMap/metaManager/metaLayers/cellMeta.js +2 -0
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +1 -0
- package/dataMap/metaManager/metaLayers/globalMeta.js +2 -1
- package/dataMap/metaManager/metaLayers/globalMeta.mjs +2 -1
- package/dataMap/metaManager/metaSchema.js +2331 -871
- package/dataMap/metaManager/metaSchema.mjs +2331 -871
- package/dataMap/metaManager/mods/dynamicCellMeta.js +136 -0
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +119 -0
- package/dataMap/metaManager/utils.js +3 -3
- package/dataSource.js +2 -0
- package/dataSource.mjs +1 -0
- package/dist/handsontable.css +309 -303
- package/dist/handsontable.full.css +309 -303
- package/dist/handsontable.full.js +50435 -45020
- package/dist/handsontable.full.min.css +25 -28
- package/dist/handsontable.full.min.js +181 -164
- package/dist/handsontable.js +31234 -28030
- package/dist/handsontable.min.css +25 -28
- package/dist/handsontable.min.js +22 -25
- package/editorManager.js +15 -12
- package/editorManager.mjs +15 -13
- package/editors/autocompleteEditor/autocompleteEditor.d.ts +29 -0
- package/editors/autocompleteEditor/autocompleteEditor.js +91 -87
- package/editors/autocompleteEditor/autocompleteEditor.mjs +89 -84
- package/editors/autocompleteEditor/index.d.ts +1 -0
- package/editors/autocompleteEditor/index.js +1 -1
- package/editors/baseEditor/baseEditor.d.ts +45 -0
- package/editors/baseEditor/baseEditor.js +8 -7
- package/editors/baseEditor/baseEditor.mjs +5 -5
- package/editors/baseEditor/index.d.ts +1 -0
- package/editors/baseEditor/index.js +1 -1
- package/editors/checkboxEditor/checkboxEditor.d.ts +12 -0
- package/editors/checkboxEditor/checkboxEditor.js +4 -4
- package/editors/checkboxEditor/checkboxEditor.mjs +2 -2
- package/editors/checkboxEditor/index.d.ts +1 -0
- package/editors/checkboxEditor/index.js +1 -1
- package/editors/dateEditor/dateEditor.d.ts +18 -0
- package/editors/dateEditor/dateEditor.js +20 -20
- package/editors/dateEditor/dateEditor.mjs +19 -19
- package/editors/dateEditor/index.d.ts +1 -0
- package/editors/dateEditor/index.js +1 -1
- package/editors/dropdownEditor/dropdownEditor.d.ts +7 -0
- package/editors/dropdownEditor/dropdownEditor.js +5 -5
- package/editors/dropdownEditor/dropdownEditor.mjs +3 -3
- package/editors/dropdownEditor/index.d.ts +1 -0
- package/editors/dropdownEditor/index.js +1 -1
- package/editors/handsontableEditor/handsontableEditor.d.ts +10 -0
- package/editors/handsontableEditor/handsontableEditor.js +4 -4
- package/editors/handsontableEditor/handsontableEditor.mjs +3 -3
- package/editors/handsontableEditor/index.d.ts +1 -0
- package/editors/index.d.ts +53 -0
- package/editors/index.js +19 -2
- package/editors/index.mjs +28 -10
- package/editors/numericEditor/index.d.ts +1 -0
- package/editors/numericEditor/numericEditor.d.ts +7 -0
- package/editors/numericEditor/numericEditor.js +3 -3
- package/editors/numericEditor/numericEditor.mjs +2 -2
- package/editors/passwordEditor/index.d.ts +1 -0
- package/editors/passwordEditor/passwordEditor.d.ts +7 -0
- package/editors/passwordEditor/passwordEditor.js +4 -4
- package/editors/passwordEditor/passwordEditor.mjs +3 -3
- package/editors/registry.d.ts +29 -0
- package/editors/registry.js +2 -2
- package/editors/selectEditor/index.d.ts +1 -0
- package/editors/selectEditor/selectEditor.d.ts +16 -0
- package/editors/selectEditor/selectEditor.js +4 -4
- package/editors/selectEditor/selectEditor.mjs +3 -3
- package/editors/textEditor/index.d.ts +1 -0
- package/editors/textEditor/textEditor.d.ts +24 -0
- package/editors/textEditor/textEditor.js +4 -4
- package/editors/textEditor/textEditor.mjs +3 -3
- package/eventManager.d.ts +13 -0
- package/eventManager.js +1 -1
- package/handsontable-non-commercial-license.pdf +0 -0
- package/helpers/array.d.ts +18 -0
- package/helpers/array.js +10 -10
- package/helpers/array.mjs +1 -1
- package/helpers/browser.d.ts +25 -0
- package/helpers/browser.js +11 -9
- package/helpers/browser.mjs +1 -0
- package/helpers/console.d.ts +4 -0
- package/helpers/console.js +2 -2
- package/helpers/data.d.ts +13 -0
- package/helpers/data.js +7 -35
- package/helpers/data.mjs +1 -27
- package/helpers/date.d.ts +1 -0
- package/helpers/dom/element.d.ts +49 -0
- package/helpers/dom/element.js +44 -45
- package/helpers/dom/element.mjs +7 -8
- package/helpers/dom/event.d.ts +4 -0
- package/helpers/dom/event.js +2 -2
- package/helpers/dom/index.d.ts +2 -0
- package/helpers/feature.d.ts +11 -0
- package/helpers/feature.js +6 -6
- package/helpers/function.d.ts +10 -0
- package/helpers/function.js +43 -5
- package/helpers/function.mjs +35 -0
- package/helpers/index.d.ts +14 -0
- package/helpers/mixed.d.ts +5 -0
- package/helpers/mixed.js +5 -5
- package/helpers/mixed.mjs +2 -2
- package/helpers/number.d.ts +5 -0
- package/helpers/number.js +96 -17
- package/helpers/number.mjs +85 -17
- package/helpers/object.d.ts +16 -0
- package/helpers/object.js +11 -11
- package/helpers/string.d.ts +7 -0
- package/helpers/string.js +4 -4
- package/helpers/templateLiteralTag.d.ts +1 -0
- package/helpers/unicode.d.ts +73 -0
- package/helpers/unicode.js +49 -33
- package/helpers/unicode.mjs +44 -27
- package/i18n/constants.js +1 -1
- package/i18n/index.d.ts +2 -0
- package/i18n/index.js +2 -0
- package/i18n/languages/de-CH.d.ts +5 -0
- package/i18n/languages/de-DE.d.ts +5 -0
- package/i18n/languages/en-US.d.ts +5 -0
- package/i18n/languages/es-MX.d.ts +5 -0
- package/i18n/languages/fr-FR.d.ts +5 -0
- package/i18n/languages/index.d.ts +35 -0
- package/i18n/languages/it-IT.d.ts +5 -0
- package/i18n/languages/ja-JP.d.ts +5 -0
- package/i18n/languages/ko-KR.d.ts +5 -0
- package/i18n/languages/lv-LV.d.ts +5 -0
- package/i18n/languages/nb-NO.d.ts +5 -0
- package/i18n/languages/nl-NL.d.ts +5 -0
- package/i18n/languages/pl-PL.d.ts +5 -0
- package/i18n/languages/pt-BR.d.ts +5 -0
- package/i18n/languages/ru-RU.d.ts +5 -0
- package/i18n/languages/zh-CN.d.ts +5 -0
- package/i18n/languages/zh-TW.d.ts +5 -0
- package/i18n/phraseFormatters/index.js +1 -1
- package/i18n/registry.d.ts +13 -0
- package/i18n/registry.js +4 -4
- package/i18n/utils.js +1 -1
- package/index.d.ts +516 -0
- package/index.js +40 -112
- package/index.mjs +17 -90
- package/mixins/localHooks.js +17 -14
- package/mixins/localHooks.mjs +16 -13
- package/package.json +103 -10
- package/pluginHooks.d.ts +255 -0
- package/pluginHooks.js +132 -57
- package/pluginHooks.mjs +131 -57
- package/plugins/autoColumnSize/autoColumnSize.d.ts +27 -0
- package/plugins/autoColumnSize/autoColumnSize.js +20 -13
- package/plugins/autoColumnSize/autoColumnSize.mjs +18 -12
- package/plugins/autoColumnSize/index.d.ts +1 -0
- package/plugins/autoColumnSize/index.js +1 -1
- package/plugins/autoRowSize/autoRowSize.d.ts +27 -0
- package/plugins/autoRowSize/autoRowSize.js +22 -14
- package/plugins/autoRowSize/autoRowSize.mjs +19 -12
- package/plugins/autoRowSize/index.d.ts +1 -0
- package/plugins/autoRowSize/index.js +1 -1
- package/plugins/autofill/autofill.d.ts +18 -0
- package/plugins/autofill/autofill.js +10 -19
- package/plugins/autofill/autofill.mjs +7 -16
- package/plugins/autofill/index.d.ts +1 -0
- package/plugins/autofill/index.js +1 -1
- package/plugins/autofill/utils.js +1 -1
- package/plugins/base/base.d.ts +21 -0
- package/plugins/base/base.js +2 -2
- package/plugins/base/base.mjs +1 -1
- package/plugins/base/index.d.ts +1 -0
- package/plugins/base/index.js +1 -1
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.d.ts +9 -0
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +4 -3
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +3 -2
- package/plugins/bindRowsWithHeaders/index.d.ts +1 -0
- package/plugins/bindRowsWithHeaders/index.js +1 -1
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +4 -4
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.mjs +3 -3
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +6 -4
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +4 -3
- package/plugins/collapsibleColumns/collapsibleColumns.d.ts +22 -0
- package/plugins/collapsibleColumns/collapsibleColumns.js +13 -6
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +11 -5
- package/plugins/collapsibleColumns/index.d.ts +1 -0
- package/plugins/collapsibleColumns/index.js +1 -1
- package/plugins/columnSorting/columnSorting.d.ts +30 -0
- package/plugins/columnSorting/columnSorting.js +19 -14
- package/plugins/columnSorting/columnSorting.mjs +16 -12
- package/plugins/columnSorting/columnStatesManager.js +5 -3
- package/plugins/columnSorting/columnStatesManager.mjs +4 -3
- package/plugins/columnSorting/index.d.ts +1 -0
- package/plugins/columnSorting/index.js +1 -1
- package/plugins/columnSorting/rootComparator.js +2 -0
- package/plugins/columnSorting/rootComparator.mjs +1 -0
- package/plugins/columnSorting/sortFunction/checkbox.js +1 -1
- package/plugins/columnSorting/sortFunction/date.js +1 -1
- package/plugins/columnSorting/sortFunction/default.js +4 -3
- package/plugins/columnSorting/sortFunction/default.mjs +3 -2
- package/plugins/columnSorting/sortFunction/numeric.js +1 -1
- package/plugins/columnSorting/sortService/engine.js +1 -1
- package/plugins/columnSorting/sortService/registry.js +1 -1
- package/plugins/columnSorting/utils.js +4 -4
- package/plugins/columnSorting/utils.mjs +1 -1
- package/plugins/columnSummary/columnSummary.d.ts +72 -0
- package/plugins/columnSummary/columnSummary.js +31 -12
- package/plugins/columnSummary/columnSummary.mjs +29 -10
- package/plugins/columnSummary/endpoints.js +6 -4
- package/plugins/columnSummary/endpoints.mjs +5 -4
- package/plugins/columnSummary/index.d.ts +1 -0
- package/plugins/columnSummary/index.js +1 -1
- package/plugins/comments/commentEditor.js +1 -1
- package/plugins/comments/commentEditor.mjs +1 -1
- package/plugins/comments/comments.d.ts +50 -0
- package/plugins/comments/comments.js +11 -6
- package/plugins/comments/comments.mjs +10 -5
- package/plugins/comments/displaySwitch.js +1 -1
- package/plugins/comments/displaySwitch.mjs +1 -1
- package/plugins/comments/index.d.ts +1 -0
- package/plugins/comments/index.js +1 -1
- package/plugins/contextMenu/commandExecutor.js +1 -1
- package/plugins/contextMenu/commandExecutor.mjs +1 -1
- package/plugins/contextMenu/contextMenu.d.ts +65 -0
- package/plugins/contextMenu/contextMenu.js +8 -7
- package/plugins/contextMenu/contextMenu.mjs +6 -5
- package/plugins/contextMenu/cursor.js +1 -1
- package/plugins/contextMenu/cursor.mjs +1 -1
- package/plugins/contextMenu/index.d.ts +1 -0
- package/plugins/contextMenu/index.js +1 -1
- package/plugins/contextMenu/itemsFactory.js +1 -1
- package/plugins/contextMenu/itemsFactory.mjs +1 -1
- package/plugins/contextMenu/menu.js +4 -4
- package/plugins/contextMenu/menu.mjs +3 -3
- package/plugins/contextMenu/predefinedItems/alignment.js +1 -1
- package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -1
- package/plugins/contextMenu/predefinedItems/columnLeft.js +1 -1
- package/plugins/contextMenu/predefinedItems/columnRight.js +1 -1
- package/plugins/contextMenu/predefinedItems/noItems.js +1 -1
- package/plugins/contextMenu/predefinedItems/readOnly.js +1 -1
- package/plugins/contextMenu/predefinedItems/redo.js +1 -1
- package/plugins/contextMenu/predefinedItems/removeColumn.js +4 -2
- package/plugins/contextMenu/predefinedItems/removeColumn.mjs +2 -1
- package/plugins/contextMenu/predefinedItems/removeRow.js +4 -2
- package/plugins/contextMenu/predefinedItems/removeRow.mjs +2 -1
- package/plugins/contextMenu/predefinedItems/rowAbove.js +1 -1
- package/plugins/contextMenu/predefinedItems/rowBelow.js +1 -1
- package/plugins/contextMenu/predefinedItems/separator.js +1 -1
- package/plugins/contextMenu/predefinedItems/undo.js +1 -1
- package/plugins/contextMenu/predefinedItems.js +2 -2
- package/plugins/contextMenu/utils.js +10 -10
- package/plugins/copyPaste/clipboardData.js +3 -0
- package/plugins/copyPaste/clipboardData.mjs +3 -0
- package/plugins/copyPaste/copyPaste.d.ts +35 -0
- package/plugins/copyPaste/copyPaste.js +13 -10
- package/plugins/copyPaste/copyPaste.mjs +11 -9
- package/plugins/copyPaste/focusableElement.js +1 -2
- package/plugins/copyPaste/focusableElement.mjs +1 -2
- package/plugins/copyPaste/index.d.ts +1 -0
- package/plugins/copyPaste/index.js +1 -1
- package/plugins/copyPaste/pasteEvent.js +3 -0
- package/plugins/copyPaste/pasteEvent.mjs +3 -0
- package/plugins/customBorders/customBorders.d.ts +38 -0
- package/plugins/customBorders/customBorders.js +11 -9
- package/plugins/customBorders/customBorders.mjs +8 -7
- package/plugins/customBorders/index.d.ts +1 -0
- package/plugins/customBorders/index.js +1 -1
- package/plugins/customBorders/utils.js +3 -3
- package/plugins/dragToScroll/dragToScroll.d.ts +15 -0
- package/plugins/dragToScroll/dragToScroll.js +5 -5
- package/plugins/dragToScroll/dragToScroll.mjs +3 -3
- package/plugins/dragToScroll/index.d.ts +1 -0
- package/plugins/dragToScroll/index.js +1 -1
- package/plugins/dropdownMenu/dropdownMenu.d.ts +24 -0
- package/plugins/dropdownMenu/dropdownMenu.js +9 -9
- package/plugins/dropdownMenu/dropdownMenu.mjs +7 -7
- package/plugins/dropdownMenu/index.d.ts +1 -0
- package/plugins/dropdownMenu/index.js +1 -1
- package/plugins/exportFile/dataProvider.js +3 -5
- package/plugins/exportFile/dataProvider.mjs +3 -5
- package/plugins/exportFile/exportFile.d.ts +12 -0
- package/plugins/exportFile/exportFile.js +6 -5
- package/plugins/exportFile/exportFile.mjs +4 -3
- package/plugins/exportFile/index.d.ts +1 -0
- package/plugins/exportFile/index.js +1 -1
- package/plugins/exportFile/typeFactory.js +2 -1
- package/plugins/exportFile/typeFactory.mjs +1 -0
- package/plugins/exportFile/types/_base.js +0 -1
- package/plugins/exportFile/types/_base.mjs +0 -1
- package/plugins/exportFile/types/csv.js +3 -4
- package/plugins/exportFile/types/csv.mjs +2 -3
- package/plugins/filters/component/_base.js +1 -1
- package/plugins/filters/component/_base.mjs +1 -1
- package/plugins/filters/component/actionBar.js +4 -4
- package/plugins/filters/component/actionBar.mjs +3 -3
- package/plugins/filters/component/condition.js +7 -5
- package/plugins/filters/component/condition.mjs +5 -4
- package/plugins/filters/component/operators.js +4 -4
- package/plugins/filters/component/operators.mjs +3 -3
- package/plugins/filters/component/value.js +13 -6
- package/plugins/filters/component/value.mjs +11 -5
- package/plugins/filters/condition/beginsWith.js +5 -3
- package/plugins/filters/condition/beginsWith.mjs +3 -2
- package/plugins/filters/condition/between.js +4 -2
- package/plugins/filters/condition/between.mjs +2 -1
- package/plugins/filters/condition/byValue.js +4 -2
- package/plugins/filters/condition/byValue.mjs +2 -1
- package/plugins/filters/condition/contains.js +5 -3
- package/plugins/filters/condition/contains.mjs +3 -2
- package/plugins/filters/condition/date/after.js +4 -2
- package/plugins/filters/condition/date/after.mjs +2 -1
- package/plugins/filters/condition/date/before.js +4 -2
- package/plugins/filters/condition/date/before.mjs +2 -1
- package/plugins/filters/condition/date/today.js +1 -1
- package/plugins/filters/condition/date/tomorrow.js +1 -1
- package/plugins/filters/condition/date/yesterday.js +1 -1
- package/plugins/filters/condition/empty.js +1 -1
- package/plugins/filters/condition/endsWith.js +5 -3
- package/plugins/filters/condition/endsWith.mjs +3 -2
- package/plugins/filters/condition/equal.js +5 -3
- package/plugins/filters/condition/equal.mjs +3 -2
- package/plugins/filters/condition/false.js +1 -1
- package/plugins/filters/condition/greaterThan.js +4 -2
- package/plugins/filters/condition/greaterThan.mjs +2 -1
- package/plugins/filters/condition/greaterThanOrEqual.js +4 -2
- package/plugins/filters/condition/greaterThanOrEqual.mjs +2 -1
- package/plugins/filters/condition/lessThan.js +4 -2
- package/plugins/filters/condition/lessThan.mjs +2 -1
- package/plugins/filters/condition/lessThanOrEqual.js +4 -2
- package/plugins/filters/condition/lessThanOrEqual.mjs +2 -1
- package/plugins/filters/condition/none.js +1 -1
- package/plugins/filters/condition/notBetween.js +1 -1
- package/plugins/filters/condition/notContains.js +1 -1
- package/plugins/filters/condition/notEmpty.js +1 -1
- package/plugins/filters/condition/notEqual.js +1 -1
- package/plugins/filters/condition/true.js +1 -1
- package/plugins/filters/conditionCollection.d.ts +32 -0
- package/plugins/filters/conditionCollection.js +8 -5
- package/plugins/filters/conditionCollection.mjs +6 -4
- package/plugins/filters/conditionRegisterer.js +1 -1
- package/plugins/filters/conditionUpdateObserver.d.ts +10 -0
- package/plugins/filters/conditionUpdateObserver.js +3 -1
- package/plugins/filters/conditionUpdateObserver.mjs +2 -1
- package/plugins/filters/constants.js +2 -1
- package/plugins/filters/constants.mjs +1 -0
- package/plugins/filters/dataFilter.js +1 -1
- package/plugins/filters/dataFilter.mjs +1 -1
- package/plugins/filters/filters.d.ts +56 -0
- package/plugins/filters/filters.js +19 -14
- package/plugins/filters/filters.mjs +17 -13
- package/plugins/filters/index.d.ts +1 -0
- package/plugins/filters/index.js +1 -1
- package/plugins/filters/logicalOperationRegisterer.js +1 -1
- package/plugins/filters/logicalOperations/conjunction.js +3 -3
- package/plugins/filters/logicalOperations/conjunction.mjs +1 -0
- package/plugins/filters/logicalOperations/disjunction.js +3 -3
- package/plugins/filters/logicalOperations/disjunction.mjs +1 -0
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +3 -3
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.mjs +1 -0
- package/plugins/filters/ui/_base.js +2 -3
- package/plugins/filters/ui/_base.mjs +2 -3
- package/plugins/filters/ui/input.js +3 -3
- package/plugins/filters/ui/input.mjs +3 -3
- package/plugins/filters/ui/link.js +3 -3
- package/plugins/filters/ui/link.mjs +3 -3
- package/plugins/filters/ui/multipleSelect.js +31 -5
- package/plugins/filters/ui/multipleSelect.mjs +30 -5
- package/plugins/filters/ui/radioInput.js +3 -3
- package/plugins/filters/ui/radioInput.mjs +3 -3
- package/plugins/filters/ui/select.js +3 -3
- package/plugins/filters/ui/select.mjs +3 -3
- package/plugins/filters/utils.js +3 -3
- package/plugins/formulas/engine/register.js +3 -3
- package/plugins/formulas/engine/settings.js +4 -4
- package/plugins/formulas/engine/settings.mjs +2 -3
- package/plugins/formulas/formulas.d.ts +31 -0
- package/plugins/formulas/formulas.js +286 -89
- package/plugins/formulas/formulas.mjs +279 -86
- package/plugins/formulas/index.d.ts +1 -0
- package/plugins/formulas/index.js +1 -1
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +3 -1
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +2 -1
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +4 -2
- package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +2 -1
- package/plugins/hiddenColumns/hiddenColumns.d.ts +21 -0
- package/plugins/hiddenColumns/hiddenColumns.js +37 -24
- package/plugins/hiddenColumns/hiddenColumns.mjs +36 -23
- package/plugins/hiddenColumns/index.d.ts +1 -0
- package/plugins/hiddenColumns/index.js +1 -1
- package/plugins/hiddenRows/contextMenuItem/hideRow.js +3 -1
- package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +2 -1
- package/plugins/hiddenRows/contextMenuItem/showRow.js +4 -2
- package/plugins/hiddenRows/contextMenuItem/showRow.mjs +2 -1
- package/plugins/hiddenRows/hiddenRows.d.ts +21 -0
- package/plugins/hiddenRows/hiddenRows.js +37 -25
- package/plugins/hiddenRows/hiddenRows.mjs +36 -24
- package/plugins/hiddenRows/index.d.ts +1 -0
- package/plugins/hiddenRows/index.js +1 -1
- package/plugins/index.d.ts +111 -0
- package/plugins/index.js +98 -58
- package/plugins/index.mjs +75 -34
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +3 -1
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +2 -1
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +3 -1
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +2 -1
- package/plugins/manualColumnFreeze/index.d.ts +1 -0
- package/plugins/manualColumnFreeze/index.js +1 -1
- package/plugins/manualColumnFreeze/manualColumnFreeze.d.ts +11 -0
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +11 -6
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +10 -5
- package/plugins/manualColumnMove/index.d.ts +1 -0
- package/plugins/manualColumnMove/index.js +1 -1
- package/plugins/manualColumnMove/manualColumnMove.d.ts +14 -0
- package/plugins/manualColumnMove/manualColumnMove.js +28 -23
- package/plugins/manualColumnMove/manualColumnMove.mjs +27 -22
- package/plugins/manualColumnMove/ui/_base.js +1 -1
- package/plugins/manualColumnMove/ui/_base.mjs +1 -1
- package/plugins/manualColumnMove/ui/backlight.js +4 -4
- package/plugins/manualColumnMove/ui/backlight.mjs +3 -3
- package/plugins/manualColumnMove/ui/guideline.js +4 -4
- package/plugins/manualColumnMove/ui/guideline.mjs +3 -3
- package/plugins/manualColumnResize/index.d.ts +1 -0
- package/plugins/manualColumnResize/index.js +1 -1
- package/plugins/manualColumnResize/manualColumnResize.d.ts +30 -0
- package/plugins/manualColumnResize/manualColumnResize.js +7 -6
- package/plugins/manualColumnResize/manualColumnResize.mjs +6 -5
- package/plugins/manualRowMove/index.d.ts +1 -0
- package/plugins/manualRowMove/index.js +1 -1
- package/plugins/manualRowMove/manualRowMove.d.ts +14 -0
- package/plugins/manualRowMove/manualRowMove.js +25 -22
- package/plugins/manualRowMove/manualRowMove.mjs +24 -21
- package/plugins/manualRowMove/ui/_base.js +1 -2
- package/plugins/manualRowMove/ui/_base.mjs +1 -2
- package/plugins/manualRowMove/ui/backlight.js +5 -5
- package/plugins/manualRowMove/ui/backlight.mjs +4 -4
- package/plugins/manualRowMove/ui/guideline.js +5 -5
- package/plugins/manualRowMove/ui/guideline.mjs +4 -4
- package/plugins/manualRowResize/index.d.ts +1 -0
- package/plugins/manualRowResize/index.js +1 -1
- package/plugins/manualRowResize/manualRowResize.d.ts +29 -0
- package/plugins/manualRowResize/manualRowResize.js +6 -5
- package/plugins/manualRowResize/manualRowResize.mjs +5 -4
- package/plugins/mergeCells/calculations/autofill.js +4 -3
- package/plugins/mergeCells/calculations/autofill.mjs +3 -3
- package/plugins/mergeCells/calculations/selection.js +1 -2
- package/plugins/mergeCells/calculations/selection.mjs +1 -2
- package/plugins/mergeCells/cellCoords.js +1 -1
- package/plugins/mergeCells/cellCoords.mjs +1 -1
- package/plugins/mergeCells/cellsCollection.js +5 -3
- package/plugins/mergeCells/cellsCollection.mjs +4 -3
- package/plugins/mergeCells/index.d.ts +1 -0
- package/plugins/mergeCells/index.js +1 -1
- package/plugins/mergeCells/mergeCells.d.ts +22 -0
- package/plugins/mergeCells/mergeCells.js +7 -4
- package/plugins/mergeCells/mergeCells.mjs +5 -3
- package/plugins/multiColumnSorting/domHelpers.js +2 -0
- package/plugins/multiColumnSorting/domHelpers.mjs +1 -0
- package/plugins/multiColumnSorting/index.d.ts +1 -0
- package/plugins/multiColumnSorting/index.js +1 -1
- package/plugins/multiColumnSorting/multiColumnSorting.d.ts +8 -0
- package/plugins/multiColumnSorting/multiColumnSorting.js +11 -8
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +9 -6
- package/plugins/multiColumnSorting/rootComparator.js +2 -0
- package/plugins/multiColumnSorting/rootComparator.mjs +1 -0
- package/plugins/multipleSelectionHandles/index.d.ts +1 -0
- package/plugins/multipleSelectionHandles/index.js +1 -1
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.d.ts +21 -0
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +7 -5
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +5 -3
- package/plugins/nestedHeaders/index.d.ts +1 -0
- package/plugins/nestedHeaders/index.js +1 -1
- package/plugins/nestedHeaders/nestedHeaders.d.ts +17 -0
- package/plugins/nestedHeaders/nestedHeaders.js +41 -21
- package/plugins/nestedHeaders/nestedHeaders.mjs +38 -19
- package/plugins/nestedHeaders/stateManager/headersTree.js +11 -5
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +10 -5
- package/plugins/nestedHeaders/stateManager/index.js +9 -6
- package/plugins/nestedHeaders/stateManager/index.mjs +9 -6
- package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.js +1 -1
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +2 -0
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +1 -0
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +8 -4
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +8 -4
- package/plugins/nestedHeaders/utils/ghostTable.js +10 -2
- package/plugins/nestedHeaders/utils/ghostTable.mjs +10 -2
- package/plugins/nestedRows/data/dataManager.js +40 -14
- package/plugins/nestedRows/data/dataManager.mjs +38 -13
- package/plugins/nestedRows/index.d.ts +1 -0
- package/plugins/nestedRows/index.js +1 -1
- package/plugins/nestedRows/nestedRows.d.ts +12 -0
- package/plugins/nestedRows/nestedRows.js +48 -34
- package/plugins/nestedRows/nestedRows.mjs +43 -32
- package/plugins/nestedRows/ui/_base.js +1 -2
- package/plugins/nestedRows/ui/_base.mjs +1 -2
- package/plugins/nestedRows/ui/collapsing.js +6 -5
- package/plugins/nestedRows/ui/collapsing.mjs +4 -4
- package/plugins/nestedRows/ui/contextMenu.js +2 -3
- package/plugins/nestedRows/ui/contextMenu.mjs +2 -3
- package/plugins/nestedRows/ui/headers.js +4 -5
- package/plugins/nestedRows/ui/headers.mjs +3 -4
- package/plugins/nestedRows/utils/rowMoveController.js +10 -9
- package/plugins/nestedRows/utils/rowMoveController.mjs +8 -8
- package/plugins/persistentState/index.d.ts +1 -0
- package/plugins/persistentState/persistentState.d.ts +13 -0
- package/plugins/persistentState/persistentState.js +13 -4
- package/plugins/persistentState/persistentState.mjs +12 -3
- package/plugins/persistentState/storage.js +1 -1
- package/plugins/persistentState/storage.mjs +1 -1
- package/plugins/registry.d.ts +9 -0
- package/plugins/registry.js +4 -2
- package/plugins/registry.mjs +2 -1
- package/plugins/search/index.d.ts +1 -0
- package/plugins/search/search.d.ts +28 -0
- package/plugins/search/search.js +7 -6
- package/plugins/search/search.mjs +7 -6
- package/plugins/touchScroll/index.d.ts +1 -0
- package/plugins/touchScroll/touchScroll.d.ts +13 -0
- package/plugins/touchScroll/touchScroll.js +9 -9
- package/plugins/touchScroll/touchScroll.mjs +8 -8
- package/plugins/trimRows/index.d.ts +1 -0
- package/plugins/trimRows/trimRows.d.ts +17 -0
- package/plugins/trimRows/trimRows.js +3 -2
- package/plugins/trimRows/trimRows.mjs +3 -2
- package/plugins/undoRedo/index.d.ts +1 -0
- package/plugins/undoRedo/undoRedo.d.ts +49 -0
- package/plugins/undoRedo/undoRedo.js +28 -30
- package/plugins/undoRedo/undoRedo.mjs +26 -29
- package/registry.d.ts +6 -0
- package/registry.js +46 -0
- package/registry.mjs +27 -0
- package/renderers/autocompleteRenderer/autocompleteRenderer.d.ts +5 -0
- package/renderers/autocompleteRenderer/autocompleteRenderer.js +1 -1
- package/renderers/autocompleteRenderer/index.d.ts +1 -0
- package/renderers/base.d.ts +3 -0
- package/renderers/baseRenderer/baseRenderer.d.ts +5 -0
- package/renderers/baseRenderer/baseRenderer.js +1 -1
- package/renderers/baseRenderer/index.d.ts +1 -0
- package/renderers/checkboxRenderer/checkboxRenderer.d.ts +5 -0
- package/renderers/checkboxRenderer/checkboxRenderer.js +3 -5
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +3 -4
- package/renderers/checkboxRenderer/index.d.ts +1 -0
- package/renderers/htmlRenderer/htmlRenderer.d.ts +5 -0
- package/renderers/htmlRenderer/htmlRenderer.js +1 -1
- package/renderers/htmlRenderer/index.d.ts +1 -0
- package/renderers/index.d.ts +42 -0
- package/renderers/index.js +16 -2
- package/renderers/index.mjs +22 -7
- package/renderers/numericRenderer/index.d.ts +1 -0
- package/renderers/numericRenderer/numericRenderer.d.ts +5 -0
- package/renderers/numericRenderer/numericRenderer.js +1 -1
- package/renderers/passwordRenderer/index.d.ts +1 -0
- package/renderers/passwordRenderer/passwordRenderer.d.ts +5 -0
- package/renderers/passwordRenderer/passwordRenderer.js +1 -1
- package/renderers/registry.d.ts +18 -0
- package/renderers/registry.js +3 -2
- package/renderers/textRenderer/index.d.ts +1 -0
- package/renderers/textRenderer/textRenderer.d.ts +5 -0
- package/renderers/textRenderer/textRenderer.js +1 -1
- package/selection/highlight/constants.js +1 -1
- package/selection/highlight/highlight.js +7 -5
- package/selection/highlight/highlight.mjs +5 -4
- package/selection/highlight/types/activeHeader.js +2 -0
- package/selection/highlight/types/activeHeader.mjs +1 -0
- package/selection/highlight/types/area.js +2 -0
- package/selection/highlight/types/area.mjs +1 -0
- package/selection/highlight/types/cell.js +2 -0
- package/selection/highlight/types/cell.mjs +1 -0
- package/selection/highlight/types/customSelection.js +2 -0
- package/selection/highlight/types/customSelection.mjs +1 -0
- package/selection/highlight/types/fill.js +2 -0
- package/selection/highlight/types/fill.mjs +1 -0
- package/selection/highlight/types/header.js +2 -0
- package/selection/highlight/types/header.mjs +1 -0
- package/selection/highlight/types/index.js +2 -0
- package/selection/highlight/types/index.mjs +1 -0
- package/selection/highlight/visualSelection.js +7 -5
- package/selection/highlight/visualSelection.mjs +5 -4
- package/selection/index.d.ts +5 -0
- package/selection/index.js +2 -0
- package/selection/mouseEventHandler.js +4 -4
- package/selection/mouseEventHandler.mjs +3 -3
- package/selection/range.js +5 -5
- package/selection/range.mjs +4 -4
- package/selection/selection.js +18 -9
- package/selection/selection.mjs +17 -9
- package/selection/transformation.js +3 -2
- package/selection/transformation.mjs +3 -2
- package/selection/utils.js +6 -4
- package/selection/utils.mjs +3 -2
- package/settings.d.ts +208 -0
- package/tableView.js +20 -14
- package/tableView.mjs +19 -14
- package/translations/changesObservable/observable.js +10 -5
- package/translations/changesObservable/observable.mjs +10 -5
- package/translations/changesObservable/observer.js +6 -1
- package/translations/changesObservable/observer.mjs +6 -1
- package/translations/changesObservable/utils.js +1 -0
- package/translations/changesObservable/utils.mjs +1 -0
- package/translations/index.d.ts +1 -0
- package/translations/index.js +3 -1
- package/translations/indexMapper.d.ts +45 -0
- package/translations/indexMapper.js +8 -3
- package/translations/indexMapper.mjs +6 -2
- package/translations/mapCollections/aggregatedCollection.js +3 -3
- package/translations/mapCollections/aggregatedCollection.mjs +2 -2
- package/translations/mapCollections/index.js +2 -0
- package/translations/mapCollections/mapCollection.js +1 -1
- package/translations/maps/hidingMap.js +3 -3
- package/translations/maps/hidingMap.mjs +2 -2
- package/translations/maps/indexMap.d.ts +10 -0
- package/translations/maps/indexesSequence.js +4 -4
- package/translations/maps/indexesSequence.mjs +3 -3
- package/translations/maps/linkedPhysicalIndexToValueMap.js +4 -2
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +3 -2
- package/translations/maps/physicalIndexToValueMap.js +4 -4
- package/translations/maps/physicalIndexToValueMap.mjs +3 -3
- package/translations/maps/trimmingMap.js +3 -3
- package/translations/maps/trimmingMap.mjs +2 -2
- package/translations/maps/utils/actionsOnIndexes.js +2 -0
- package/translations/maps/utils/actionsOnIndexes.mjs +1 -0
- package/translations/maps/utils/indexesSequence.js +2 -0
- package/translations/maps/utils/indexesSequence.mjs +1 -0
- package/translations/maps/utils/physicallyIndexed.js +2 -0
- package/translations/maps/utils/physicallyIndexed.mjs +1 -0
- package/utils/dataStructures/priorityMap.js +4 -2
- package/utils/dataStructures/priorityMap.mjs +2 -1
- package/utils/dataStructures/tree.js +3 -1
- package/utils/dataStructures/tree.mjs +1 -0
- package/utils/dataStructures/uniqueMap.js +3 -1
- package/utils/dataStructures/uniqueMap.mjs +2 -1
- package/utils/dataStructures/uniqueSet.js +2 -0
- package/utils/dataStructures/uniqueSet.mjs +1 -0
- package/utils/ghostTable.js +5 -4
- package/utils/ghostTable.mjs +3 -3
- package/utils/interval.js +1 -2
- package/utils/interval.mjs +0 -1
- package/utils/parseTable.d.ts +5 -0
- package/utils/parseTable.js +2 -2
- package/utils/parseTable.mjs +1 -1
- package/utils/rootInstance.js +3 -2
- package/utils/samplesGenerator.js +0 -1
- package/utils/samplesGenerator.mjs +0 -1
- package/utils/staticRegister.js +3 -1
- package/utils/staticRegister.mjs +1 -0
- package/validators/autocompleteValidator/autocompleteValidator.d.ts +5 -0
- package/validators/autocompleteValidator/autocompleteValidator.js +1 -1
- package/validators/autocompleteValidator/index.d.ts +1 -0
- package/validators/base.d.ts +6 -0
- package/validators/dateValidator/dateValidator.d.ts +5 -0
- package/validators/dateValidator/dateValidator.js +2 -2
- package/validators/dateValidator/index.d.ts +1 -0
- package/validators/index.d.ts +33 -0
- package/validators/index.js +13 -2
- package/validators/index.mjs +16 -4
- package/validators/numericValidator/index.d.ts +1 -0
- package/validators/numericValidator/numericValidator.d.ts +5 -0
- package/validators/numericValidator/numericValidator.js +1 -1
- package/validators/registry.d.ts +18 -0
- package/validators/registry.js +3 -2
- package/validators/timeValidator/index.d.ts +1 -0
- package/validators/timeValidator/timeValidator.d.ts +5 -0
- package/validators/timeValidator/timeValidator.js +3 -1
- package/validators/timeValidator/timeValidator.mjs +1 -0
- package/handsontable-general-terms.pdf +0 -0
- package/handsontable.d.ts +0 -2616
- package/plugins/formulas/autofill.js +0 -180
- package/plugins/formulas/autofill.mjs +0 -172
package/core.mjs
CHANGED
@@ -4,7 +4,7 @@ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArra
|
|
4
4
|
|
5
5
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
6
6
|
|
7
|
-
function _iterableToArrayLimit(arr, i) { var _i = arr
|
7
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
8
8
|
|
9
9
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
10
10
|
|
@@ -12,23 +12,25 @@ import "core-js/modules/es.array.sort.js";
|
|
12
12
|
import "core-js/modules/es.array.splice.js";
|
13
13
|
import "core-js/modules/es.number.is-integer.js";
|
14
14
|
import "core-js/modules/es.number.constructor.js";
|
15
|
+
import "core-js/modules/es.array.slice.js";
|
16
|
+
import "core-js/modules/es.array.concat.js";
|
17
|
+
import "core-js/modules/es.array.fill.js";
|
18
|
+
import "core-js/modules/es.array.map.js";
|
15
19
|
import "core-js/modules/es.regexp.exec.js";
|
16
20
|
import "core-js/modules/es.string.replace.js";
|
17
|
-
import "core-js/modules/es.array.concat.js";
|
18
21
|
import "core-js/modules/es.array.from.js";
|
19
22
|
import "core-js/modules/es.string.iterator.js";
|
20
23
|
import "core-js/modules/es.array.index-of.js";
|
21
24
|
import "core-js/modules/es.array.reverse.js";
|
25
|
+
import "core-js/modules/es.object.to-string.js";
|
22
26
|
import "core-js/modules/web.dom-collections.for-each.js";
|
23
27
|
import "core-js/modules/web.timers.js";
|
24
28
|
import "core-js/modules/web.immediate.js";
|
25
29
|
import "core-js/modules/es.symbol.js";
|
26
30
|
import "core-js/modules/es.symbol.description.js";
|
27
|
-
import "core-js/modules/es.object.to-string.js";
|
28
31
|
import "core-js/modules/es.symbol.iterator.js";
|
29
32
|
import "core-js/modules/es.array.iterator.js";
|
30
33
|
import "core-js/modules/web.dom-collections.iterator.js";
|
31
|
-
import "core-js/modules/es.array.slice.js";
|
32
34
|
import "core-js/modules/es.function.name.js";
|
33
35
|
|
34
36
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
@@ -49,17 +51,17 @@ import { isDefined, isUndefined, isRegExp, _injectProductInfo, isEmpty } from ".
|
|
49
51
|
import { isMobileBrowser, isIpadOS } from "./helpers/browser.mjs";
|
50
52
|
import EditorManager from "./editorManager.mjs";
|
51
53
|
import EventManager from "./eventManager.mjs";
|
52
|
-
import { deepClone, duckSchema, isObjectEqual, deepObjectSize, hasOwnProperty, createObjectPropListener, objectEach } from "./helpers/object.mjs";
|
53
|
-
import { arrayMap, arrayEach, arrayReduce, getDifferenceOfArrays, stringToArray } from "./helpers/array.mjs";
|
54
|
+
import { deepClone, duckSchema, isObjectEqual, isObject, deepObjectSize, hasOwnProperty, createObjectPropListener, objectEach } from "./helpers/object.mjs";
|
55
|
+
import { arrayMap, arrayEach, arrayReduce, getDifferenceOfArrays, stringToArray, pivot } from "./helpers/array.mjs";
|
54
56
|
import { instanceToHTML } from "./utils/parseTable.mjs";
|
55
57
|
import { getPlugin, getPluginsNames } from "./plugins/registry.mjs";
|
56
58
|
import { getRenderer } from "./renderers/registry.mjs";
|
57
59
|
import { getValidator } from "./validators/registry.mjs";
|
58
60
|
import { randomString, toUpperCaseFirst } from "./helpers/string.mjs";
|
59
|
-
import { rangeEach, rangeEachReverse } from "./helpers/number.mjs";
|
61
|
+
import { rangeEach, rangeEachReverse, isNumericLike } from "./helpers/number.mjs";
|
60
62
|
import TableView from "./tableView.mjs";
|
61
63
|
import DataSource from "./dataSource.mjs";
|
62
|
-
import {
|
64
|
+
import { cellMethodLookupFactory, spreadsheetColumnLabel } from "./helpers/data.mjs";
|
63
65
|
import { IndexMapper } from "./translations/index.mjs";
|
64
66
|
import { registerAsRootInstance, hasValidParameter, isRootInstance } from "./utils/rootInstance.mjs";
|
65
67
|
import { CellCoords, ViewportColumnsCalculator } from "./3rdparty/walkontable/src/index.mjs";
|
@@ -68,7 +70,7 @@ import { hasLanguageDictionary, getValidLanguageCode, getTranslatedPhrase } from
|
|
68
70
|
import { warnUserAboutLanguageRegistration, normalizeLanguageCode } from "./i18n/utils.mjs";
|
69
71
|
import { startObserving as keyStateStartObserving, stopObserving as keyStateStopObserving } from "./utils/keyStateObserver.mjs";
|
70
72
|
import { Selection } from "./selection/index.mjs";
|
71
|
-
import { MetaManager, DataMap } from "./dataMap/index.mjs";
|
73
|
+
import { MetaManager, DynamicCellMetaMod, DataMap } from "./dataMap/index.mjs";
|
72
74
|
import { createUniqueMap } from "./utils/dataStructures/uniqueMap.mjs";
|
73
75
|
var activeGuid = null;
|
74
76
|
/* eslint-disable jsdoc/require-description-complete-sentence */
|
@@ -79,25 +81,19 @@ var activeGuid = null;
|
|
79
81
|
* @core
|
80
82
|
* @class Core
|
81
83
|
* @description
|
82
|
-
* After Handsontable is constructed, you can modify the grid behavior using the available public methods.
|
83
84
|
*
|
84
|
-
*
|
85
|
+
* The `Handsontable` class to which we refer as to `Core`, allows you to modify the grid's behavior by using one of the available public methods.
|
85
86
|
*
|
86
|
-
*
|
87
|
+
* ## How to call a method
|
87
88
|
*
|
88
89
|
* ```js
|
89
|
-
* //
|
90
|
-
* const hot = new Handsontable(document.getElementById('
|
90
|
+
* // First, let's contruct Handsontable
|
91
|
+
* const hot = new Handsontable(document.getElementById('example'), options);
|
91
92
|
*
|
92
|
-
* //
|
93
|
+
* // Then, let's use the setDataAtCell method
|
93
94
|
* hot.setDataAtCell(0, 0, 'new value');
|
94
95
|
* ```
|
95
96
|
*
|
96
|
-
* Alternatively, you can call the method using jQuery wrapper (__obsolete__, requires initialization using our jQuery guide
|
97
|
-
* ```js
|
98
|
-
* $('#example1').handsontable('setDataAtCell', 0, 0, 'new value');
|
99
|
-
* ```
|
100
|
-
*
|
101
97
|
* @param {HTMLElement} rootElement The element to which the Handsontable instance is injected.
|
102
98
|
* @param {object} userSettings The user defined options.
|
103
99
|
* @param {boolean} [rootInstanceSymbol=false] Indicates if the instance is root of all later instances created.
|
@@ -116,7 +112,7 @@ export default function Core(rootElement, userSettings) {
|
|
116
112
|
var editorManager;
|
117
113
|
var firstRun = true;
|
118
114
|
userSettings.language = getValidLanguageCode(userSettings.language);
|
119
|
-
var metaManager = new MetaManager(userSettings);
|
115
|
+
var metaManager = new MetaManager(instance, userSettings, [DynamicCellMetaMod]);
|
120
116
|
var tableMeta = metaManager.getTableMeta();
|
121
117
|
var globalMeta = metaManager.getGlobalMeta();
|
122
118
|
var pluginsRegistry = createUniqueMap();
|
@@ -401,8 +397,6 @@ export default function Core(rootElement, userSettings) {
|
|
401
397
|
/**
|
402
398
|
* Inserts or removes rows and columns.
|
403
399
|
*
|
404
|
-
* @memberof Core#
|
405
|
-
* @function alter
|
406
400
|
* @private
|
407
401
|
* @param {string} action Possible values: "insert_row", "insert_col", "remove_row", "remove_col".
|
408
402
|
* @param {number|Array} index Row or column visual index which from the alter action will be triggered.
|
@@ -681,6 +675,8 @@ export default function Core(rootElement, userSettings) {
|
|
681
675
|
|
682
676
|
/**
|
683
677
|
* Makes sure there are empty rows at the bottom of the table.
|
678
|
+
*
|
679
|
+
* @private
|
684
680
|
*/
|
685
681
|
adjustRowsAndCols: function adjustRowsAndCols() {
|
686
682
|
var minRows = tableMeta.minRows;
|
@@ -821,72 +817,91 @@ export default function Core(rootElement, userSettings) {
|
|
821
817
|
var clen;
|
822
818
|
var setData = [];
|
823
819
|
var current = {};
|
820
|
+
var newDataByColumns = [];
|
821
|
+
var startRow = start.row;
|
822
|
+
var startColumn = start.col;
|
824
823
|
rlen = input.length;
|
825
824
|
|
826
825
|
if (rlen === 0) {
|
827
826
|
return false;
|
828
827
|
}
|
829
828
|
|
830
|
-
var
|
831
|
-
var
|
832
|
-
|
833
|
-
|
834
|
-
|
835
|
-
|
829
|
+
var columnsPopulationEnd = 0;
|
830
|
+
var rowsPopulationEnd = 0;
|
831
|
+
|
832
|
+
if (isObject(end)) {
|
833
|
+
columnsPopulationEnd = end.col - startColumn + 1;
|
834
|
+
rowsPopulationEnd = end.row - startRow + 1;
|
835
|
+
} // insert data with specified pasteMode method
|
836
|
+
|
836
837
|
|
837
838
|
switch (method) {
|
838
839
|
case 'shift_down':
|
839
|
-
|
840
|
-
|
840
|
+
// translate data from a list of rows to a list of columns
|
841
|
+
var populatedDataByColumns = pivot(input);
|
842
|
+
var numberOfDataColumns = populatedDataByColumns.length; // method's argument can extend the range of data population (data would be repeated)
|
841
843
|
|
842
|
-
|
844
|
+
var numberOfColumnsToPopulate = Math.max(numberOfDataColumns, columnsPopulationEnd);
|
845
|
+
var pushedDownDataByRows = instance.getData().slice(startRow); // translate data from a list of rows to a list of columns
|
843
846
|
|
844
|
-
|
845
|
-
if (c < clen) {
|
846
|
-
var _instance;
|
847
|
+
var pushedDownDataByColumns = pivot(pushedDownDataByRows).slice(startColumn, startColumn + numberOfColumnsToPopulate);
|
847
848
|
|
848
|
-
|
849
|
-
|
849
|
+
for (c = 0; c < numberOfColumnsToPopulate; c += 1) {
|
850
|
+
if (c < numberOfDataColumns) {
|
851
|
+
for (r = 0, rlen = populatedDataByColumns[c].length; r < rowsPopulationEnd - rlen; r += 1) {
|
852
|
+
// repeating data for rows
|
853
|
+
populatedDataByColumns[c].push(populatedDataByColumns[c][r % rlen]);
|
850
854
|
}
|
851
855
|
|
852
|
-
|
853
|
-
|
854
|
-
|
856
|
+
if (c < pushedDownDataByColumns.length) {
|
857
|
+
newDataByColumns.push(populatedDataByColumns[c].concat(pushedDownDataByColumns[c]));
|
858
|
+
} else {
|
859
|
+
// if before data population, there was no data in the column
|
860
|
+
// we fill the required rows' newly-created cells with `null` values
|
861
|
+
newDataByColumns.push(populatedDataByColumns[c].concat(new Array(pushedDownDataByRows.length).fill(null)));
|
862
|
+
}
|
855
863
|
} else {
|
856
|
-
|
857
|
-
|
858
|
-
input[c % clen][0] = start.col + c;
|
859
|
-
|
860
|
-
(_instance2 = instance).spliceCol.apply(_instance2, _toConsumableArray(input[c % clen]));
|
864
|
+
// Repeating data for columns.
|
865
|
+
newDataByColumns.push(populatedDataByColumns[c % numberOfDataColumns].concat(pushedDownDataByColumns[c]));
|
861
866
|
}
|
862
867
|
}
|
863
868
|
|
869
|
+
instance.populateFromArray(startRow, startColumn, pivot(newDataByColumns));
|
864
870
|
break;
|
865
871
|
|
866
872
|
case 'shift_right':
|
867
|
-
|
868
|
-
repeatRow = end ? end.row - start.row + 1 : 0;
|
873
|
+
var numberOfDataRows = input.length; // method's argument can extend the range of data population (data would be repeated)
|
869
874
|
|
870
|
-
|
871
|
-
|
872
|
-
|
875
|
+
var numberOfRowsToPopulate = Math.max(numberOfDataRows, rowsPopulationEnd);
|
876
|
+
var pushedRightDataByRows = instance.getData().slice(startRow).map(function (rowData) {
|
877
|
+
return rowData.slice(startColumn);
|
878
|
+
});
|
873
879
|
|
874
|
-
|
880
|
+
for (r = 0; r < numberOfRowsToPopulate; r += 1) {
|
881
|
+
if (r < numberOfDataRows) {
|
882
|
+
for (c = 0, clen = input[r].length; c < columnsPopulationEnd - clen; c += 1) {
|
883
|
+
// repeating data for rows
|
875
884
|
input[r].push(input[r][c % clen]);
|
876
885
|
}
|
877
886
|
|
878
|
-
|
887
|
+
if (r < pushedRightDataByRows.length) {
|
888
|
+
for (var i = 0; i < pushedRightDataByRows[r].length; i += 1) {
|
889
|
+
input[r].push(pushedRightDataByRows[r][i]);
|
890
|
+
}
|
891
|
+
} else {
|
892
|
+
var _input$r;
|
879
893
|
|
880
|
-
|
894
|
+
// if before data population, there was no data in the row
|
895
|
+
// we fill the required columns' newly-created cells with `null` values
|
896
|
+
(_input$r = input[r]).push.apply(_input$r, _toConsumableArray(new Array(pushedRightDataByRows[0].length).fill(null)));
|
897
|
+
}
|
881
898
|
} else {
|
882
|
-
|
883
|
-
|
884
|
-
input[r % rlen][0] = start.row + r;
|
885
|
-
|
886
|
-
(_instance4 = instance).spliceRow.apply(_instance4, _toConsumableArray(input[r % rlen]));
|
899
|
+
// Repeating data for columns.
|
900
|
+
input.push(input[r % rlen].slice(0, numberOfRowsToPopulate).concat(pushedRightDataByRows[r]));
|
887
901
|
}
|
888
902
|
}
|
889
903
|
|
904
|
+
instance.populateFromArray(startRow, startColumn, input);
|
890
905
|
break;
|
891
906
|
|
892
907
|
case 'overwrite':
|
@@ -1188,10 +1203,6 @@ export default function Core(rootElement, userSettings) {
|
|
1188
1203
|
|
1189
1204
|
var waitingForValidator = new ValidatorsQueue();
|
1190
1205
|
|
1191
|
-
var isNumericData = function isNumericData(value) {
|
1192
|
-
return value.length > 0 && /^\s*[+-.]?\s*(?:(?:\d+(?:(\.|,)\d+)?(?:e[+-]?\d+)?)|(?:0x[a-f\d]+))\s*$/.test(value);
|
1193
|
-
};
|
1194
|
-
|
1195
1206
|
waitingForValidator.onQueueEmpty = function (isValid) {
|
1196
1207
|
if (activeEditor && shouldBeCanceled) {
|
1197
1208
|
activeEditor.cancelChanges();
|
@@ -1212,7 +1223,7 @@ export default function Core(rootElement, userSettings) {
|
|
1212
1223
|
var col = datamap.propToCol(prop);
|
1213
1224
|
var cellProperties = instance.getCellMeta(row, col);
|
1214
1225
|
|
1215
|
-
if (cellProperties.type === 'numeric' && typeof newValue === 'string' &&
|
1226
|
+
if (cellProperties.type === 'numeric' && typeof newValue === 'string' && isNumericLike(newValue)) {
|
1216
1227
|
changes[i][3] = getParsedNumber(newValue);
|
1217
1228
|
}
|
1218
1229
|
/* eslint-disable no-loop-func */
|
@@ -1336,6 +1347,8 @@ export default function Core(rootElement, userSettings) {
|
|
1336
1347
|
/**
|
1337
1348
|
* Validate a single cell.
|
1338
1349
|
*
|
1350
|
+
* @memberof Core#
|
1351
|
+
* @function validateCell
|
1339
1352
|
* @param {string|number} value The value to validate.
|
1340
1353
|
* @param {object} cellProperties The cell meta which corresponds with the value.
|
1341
1354
|
* @param {Function} callback The callback function.
|
@@ -1347,6 +1360,8 @@ export default function Core(rootElement, userSettings) {
|
|
1347
1360
|
var validator = instance.getCellValidator(cellProperties); // the `canBeValidated = false` argument suggests, that the cell passes validation by default.
|
1348
1361
|
|
1349
1362
|
/**
|
1363
|
+
* @private
|
1364
|
+
* @function done
|
1350
1365
|
* @param {boolean} valid Indicates if the validation was successful.
|
1351
1366
|
* @param {boolean} [canBeValidated=true] Flag which controls the validation process.
|
1352
1367
|
*/
|
@@ -1596,7 +1611,7 @@ export default function Core(rootElement, userSettings) {
|
|
1596
1611
|
return grid.populateFromArray(new CellCoords(row, column), input, c, source, method, direction, deltas);
|
1597
1612
|
};
|
1598
1613
|
/**
|
1599
|
-
* Adds/removes data from the column. This method works the same as Array.splice for arrays
|
1614
|
+
* Adds/removes data from the column. This method works the same as Array.splice for arrays.
|
1600
1615
|
*
|
1601
1616
|
* @memberof Core#
|
1602
1617
|
* @function spliceCol
|
@@ -1618,7 +1633,7 @@ export default function Core(rootElement, userSettings) {
|
|
1618
1633
|
return (_datamap = datamap).spliceCol.apply(_datamap, [column, index, amount].concat(elements));
|
1619
1634
|
};
|
1620
1635
|
/**
|
1621
|
-
* Adds/removes data from the row. This method works the same as Array.splice for arrays
|
1636
|
+
* Adds/removes data from the row. This method works the same as Array.splice for arrays.
|
1622
1637
|
*
|
1623
1638
|
* @memberof Core#
|
1624
1639
|
* @function spliceRow
|
@@ -2281,7 +2296,7 @@ export default function Core(rootElement, userSettings) {
|
|
2281
2296
|
};
|
2282
2297
|
/**
|
2283
2298
|
* Returns a string value of the selected range. Each column is separated by tab, each row is separated by a new
|
2284
|
-
* line character
|
2299
|
+
* line character.
|
2285
2300
|
*
|
2286
2301
|
* @memberof Core#
|
2287
2302
|
* @function getCopyableText
|
@@ -2297,7 +2312,7 @@ export default function Core(rootElement, userSettings) {
|
|
2297
2312
|
return datamap.getCopyableText(new CellCoords(startRow, startCol), new CellCoords(endRow, endCol));
|
2298
2313
|
};
|
2299
2314
|
/**
|
2300
|
-
* Returns the data's copyable value at specified `row` and `column` index
|
2315
|
+
* Returns the data's copyable value at specified `row` and `column` index.
|
2301
2316
|
*
|
2302
2317
|
* @memberof Core#
|
2303
2318
|
* @function getCopyableData
|
@@ -2501,6 +2516,7 @@ export default function Core(rootElement, userSettings) {
|
|
2501
2516
|
|
2502
2517
|
instance._refreshBorders(null);
|
2503
2518
|
|
2519
|
+
instance.view.wt.wtOverlays.adjustElementsSize();
|
2504
2520
|
editorManager.unlockEditor();
|
2505
2521
|
}
|
2506
2522
|
|
@@ -2561,10 +2577,12 @@ export default function Core(rootElement, userSettings) {
|
|
2561
2577
|
* @memberof Core#
|
2562
2578
|
* @function alter
|
2563
2579
|
* @param {string} action Possible alter operations:
|
2564
|
-
*
|
2565
|
-
*
|
2566
|
-
*
|
2567
|
-
*
|
2580
|
+
* <ul>
|
2581
|
+
* <li> `'insert_row'` </li>
|
2582
|
+
* <li> `'insert_col'` </li>
|
2583
|
+
* <li> `'remove_row'` </li>
|
2584
|
+
* <li> `'remove_col'` </li>
|
2585
|
+
* </ul>.
|
2568
2586
|
* @param {number|number[]} index Visual index of the row/column before which the new row/column will be
|
2569
2587
|
* inserted/removed or an array of arrays in format `[[index, amount],...]`.
|
2570
2588
|
* @param {number} [amount=1] Amount of rows/columns to be inserted or removed.
|
@@ -2667,7 +2685,7 @@ export default function Core(rootElement, userSettings) {
|
|
2667
2685
|
return new CellCoords(visualRow, visualColumn);
|
2668
2686
|
};
|
2669
2687
|
/**
|
2670
|
-
* Returns the property name that corresponds with the given column index
|
2688
|
+
* Returns the property name that corresponds with the given column index.
|
2671
2689
|
* If the data source is an array of arrays, it returns the columns index.
|
2672
2690
|
*
|
2673
2691
|
* @memberof Core#
|
@@ -2681,7 +2699,7 @@ export default function Core(rootElement, userSettings) {
|
|
2681
2699
|
return datamap.colToProp(column);
|
2682
2700
|
};
|
2683
2701
|
/**
|
2684
|
-
* Returns column index that corresponds with the given property
|
2702
|
+
* Returns column index that corresponds with the given property.
|
2685
2703
|
*
|
2686
2704
|
* @memberof Core#
|
2687
2705
|
* @function propToCol
|
@@ -2775,7 +2793,7 @@ export default function Core(rootElement, userSettings) {
|
|
2775
2793
|
return datamap.get(row, datamap.colToProp(column));
|
2776
2794
|
};
|
2777
2795
|
/**
|
2778
|
-
* Returns value at visual `row` and `prop` indexes
|
2796
|
+
* Returns value at visual `row` and `prop` indexes.
|
2779
2797
|
*
|
2780
2798
|
* __Note__: If data is reordered, sorted or trimmed, the currently visible order will be used.
|
2781
2799
|
*
|
@@ -3001,7 +3019,7 @@ export default function Core(rootElement, userSettings) {
|
|
3001
3019
|
};
|
3002
3020
|
/**
|
3003
3021
|
* @description
|
3004
|
-
* Returns a data type defined in the Handsontable settings under the `type` key (
|
3022
|
+
* Returns a data type defined in the Handsontable settings under the `type` key ({@link Options#type}).
|
3005
3023
|
* If there are cells with different types in the selected range, it returns `'mixed'`.
|
3006
3024
|
*
|
3007
3025
|
* __Note__: If data is reordered, sorted or trimmed, the currently visible order will be used.
|
@@ -3073,7 +3091,7 @@ export default function Core(rootElement, userSettings) {
|
|
3073
3091
|
var _ref19 = [this.toPhysicalRow(row), this.toPhysicalColumn(column)],
|
3074
3092
|
physicalRow = _ref19[0],
|
3075
3093
|
physicalColumn = _ref19[1];
|
3076
|
-
var cachedValue = metaManager.
|
3094
|
+
var cachedValue = metaManager.getCellMetaKeyValue(physicalRow, physicalColumn, key);
|
3077
3095
|
var hookResult = instance.runHooks('beforeRemoveCellMeta', row, column, key, cachedValue);
|
3078
3096
|
|
3079
3097
|
if (hookResult !== false) {
|
@@ -3120,6 +3138,8 @@ export default function Core(rootElement, userSettings) {
|
|
3120
3138
|
});
|
3121
3139
|
});
|
3122
3140
|
}
|
3141
|
+
|
3142
|
+
instance.render();
|
3123
3143
|
};
|
3124
3144
|
/**
|
3125
3145
|
* Set cell meta data object defined by `prop` to the corresponding params `row` and `column`.
|
@@ -3213,33 +3233,10 @@ export default function Core(rootElement, userSettings) {
|
|
3213
3233
|
physicalColumn = column;
|
3214
3234
|
}
|
3215
3235
|
|
3216
|
-
|
3217
|
-
|
3218
|
-
|
3219
|
-
|
3220
|
-
cellProperties.col = physicalColumn;
|
3221
|
-
cellProperties.visualRow = row;
|
3222
|
-
cellProperties.visualCol = column;
|
3223
|
-
cellProperties.prop = prop;
|
3224
|
-
cellProperties.instance = instance;
|
3225
|
-
instance.runHooks('beforeGetCellMeta', row, column, cellProperties); // for `type` added or changed in beforeGetCellMeta
|
3226
|
-
|
3227
|
-
if (instance.hasHook('beforeGetCellMeta') && hasOwnProperty(cellProperties, 'type')) {
|
3228
|
-
metaManager.updateCellMeta(physicalRow, physicalColumn, {
|
3229
|
-
type: cellProperties.type
|
3230
|
-
});
|
3231
|
-
}
|
3232
|
-
|
3233
|
-
if (cellProperties.cells) {
|
3234
|
-
var settings = cellProperties.cells(physicalRow, physicalColumn, prop);
|
3235
|
-
|
3236
|
-
if (settings) {
|
3237
|
-
metaManager.updateCellMeta(physicalRow, physicalColumn, settings);
|
3238
|
-
}
|
3239
|
-
}
|
3240
|
-
|
3241
|
-
instance.runHooks('afterGetCellMeta', row, column, cellProperties);
|
3242
|
-
return cellProperties;
|
3236
|
+
return metaManager.getCellMeta(physicalRow, physicalColumn, {
|
3237
|
+
visualRow: row,
|
3238
|
+
visualColumn: column
|
3239
|
+
});
|
3243
3240
|
};
|
3244
3241
|
/**
|
3245
3242
|
* Returns an array of cell meta objects for specified physical row index.
|
@@ -3713,6 +3710,8 @@ export default function Core(rootElement, userSettings) {
|
|
3713
3710
|
/**
|
3714
3711
|
* Returns the row height.
|
3715
3712
|
*
|
3713
|
+
* Mind that this method is different from the [AutoRowSize](@/api/autoRowSize.md) plugin's [`getRowHeight()`](@/api/autoRowSize.md#getrowheight) method.
|
3714
|
+
*
|
3716
3715
|
* @memberof Core#
|
3717
3716
|
* @function getRowHeight
|
3718
3717
|
* @param {number} row Visual row index.
|
@@ -4527,6 +4526,45 @@ export default function Core(rootElement, userSettings) {
|
|
4527
4526
|
editorManager.prepareEditor();
|
4528
4527
|
}
|
4529
4528
|
};
|
4529
|
+
/**
|
4530
|
+
* Check if currently it is RTL direction.
|
4531
|
+
*
|
4532
|
+
* @private
|
4533
|
+
* @memberof Core#
|
4534
|
+
* @function isRtl
|
4535
|
+
* @returns {boolean} True if RTL.
|
4536
|
+
*/
|
4537
|
+
|
4538
|
+
|
4539
|
+
this.isRtl = function () {
|
4540
|
+
return instance.rootWindow.getComputedStyle(instance.rootElement).direction === 'rtl';
|
4541
|
+
};
|
4542
|
+
/**
|
4543
|
+
* Check if currently it is LTR direction.
|
4544
|
+
*
|
4545
|
+
* @private
|
4546
|
+
* @memberof Core#
|
4547
|
+
* @function isLtr
|
4548
|
+
* @returns {boolean} True if LTR.
|
4549
|
+
*/
|
4550
|
+
|
4551
|
+
|
4552
|
+
this.isLtr = function () {
|
4553
|
+
return !instance.isRtl();
|
4554
|
+
};
|
4555
|
+
/**
|
4556
|
+
* Returns 1 for LTR; -1 for RTL. Useful for calculations.
|
4557
|
+
*
|
4558
|
+
* @private
|
4559
|
+
* @memberof Core#
|
4560
|
+
* @function getDirectionFactor
|
4561
|
+
* @returns {number} Returns 1 for LTR; -1 for RTL.
|
4562
|
+
*/
|
4563
|
+
|
4564
|
+
|
4565
|
+
this.getDirectionFactor = function () {
|
4566
|
+
return instance.isLtr() ? 1 : -1;
|
4567
|
+
};
|
4530
4568
|
|
4531
4569
|
getPluginsNames().forEach(function (pluginName) {
|
4532
4570
|
var PluginClass = getPlugin(pluginName);
|
@@ -39,17 +39,17 @@ require("core-js/modules/es.regexp.exec.js");
|
|
39
39
|
|
40
40
|
require("core-js/modules/es.string.split.js");
|
41
41
|
|
42
|
-
var _SheetClip = require("
|
42
|
+
var _SheetClip = require("../3rdparty/SheetClip");
|
43
43
|
|
44
|
-
var _data = require("
|
44
|
+
var _data = require("../helpers/data");
|
45
45
|
|
46
|
-
var _object = require("
|
46
|
+
var _object = require("../helpers/object");
|
47
47
|
|
48
|
-
var _array = require("
|
48
|
+
var _array = require("../helpers/array");
|
49
49
|
|
50
|
-
var _number = require("
|
50
|
+
var _number = require("../helpers/number");
|
51
51
|
|
52
|
-
var _mixed = require("
|
52
|
+
var _mixed = require("../helpers/mixed");
|
53
53
|
|
54
54
|
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
55
55
|
|
@@ -60,13 +60,34 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+
|
|
60
60
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
61
61
|
|
62
62
|
var copyableLookup = (0, _data.cellMethodLookupFactory)('copyable', false);
|
63
|
+
/*
|
64
|
+
This class contains open-source contributions covered by the MIT license.
|
65
|
+
|
66
|
+
1) In the `createRow` method: Row creation using functional `dataSchema` value
|
67
|
+
2) In the `set` method: Data setting using functional `prop` value
|
68
|
+
3) in the `get` method: Data getting using functional `prop` value
|
69
|
+
|
70
|
+
The remaining part of this code comment contains the full license text of these contributions.
|
71
|
+
|
72
|
+
======
|
73
|
+
|
74
|
+
The MIT License
|
75
|
+
|
76
|
+
Copyright 2013 Nicholas Bollweg
|
77
|
+
|
78
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
79
|
+
|
80
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
81
|
+
|
82
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
83
|
+
*/
|
84
|
+
|
63
85
|
/**
|
64
86
|
* Utility class that gets and saves data from/to the data source using mapping of columns numbers to object property names.
|
65
87
|
*
|
66
88
|
* @todo Refactor arguments of methods getRange, getText to be numbers (not objects).
|
67
89
|
* @todo Remove priv, GridSettings from object constructor.
|
68
90
|
*
|
69
|
-
* @util
|
70
91
|
* @class DataMap
|
71
92
|
* @private
|
72
93
|
*/
|
@@ -480,18 +501,11 @@ var DataMap = /*#__PURE__*/function () {
|
|
480
501
|
|
481
502
|
if (actionWasNotCancelled === false) {
|
482
503
|
return false;
|
483
|
-
}
|
504
|
+
} // List of removed indexes might be changed in the `beforeRemoveRow` hook. There may be new values.
|
484
505
|
|
485
|
-
var data = this.dataSource; // List of removed indexes might be changed in the `beforeRemoveRow` hook. There may be new values.
|
486
506
|
|
487
507
|
var numberOfRemovedIndexes = removedPhysicalIndexes.length;
|
488
|
-
|
489
|
-
|
490
|
-
if (newData) {
|
491
|
-
data.length = 0;
|
492
|
-
Array.prototype.push.apply(data, newData);
|
493
|
-
} // TODO: Function `removeRow` should validate fully, probably above.
|
494
|
-
|
508
|
+
this.filterData(rowIndex, numberOfRemovedIndexes, removedPhysicalIndexes); // TODO: Function `removeRow` should validate fully, probably above.
|
495
509
|
|
496
510
|
if (rowIndex < this.instance.countRows()) {
|
497
511
|
this.instance.rowIndexMapper.removeIndexes(removedPhysicalIndexes);
|
@@ -672,20 +686,22 @@ var DataMap = /*#__PURE__*/function () {
|
|
672
686
|
* @param {number} index Visual index of the element to remove.
|
673
687
|
* @param {number} amount Number of rows to add/remove.
|
674
688
|
* @param {number} physicalRows Physical row indexes.
|
675
|
-
* @returns {Array}
|
676
689
|
*/
|
677
690
|
|
678
691
|
}, {
|
679
692
|
key: "filterData",
|
680
693
|
value: function filterData(index, amount, physicalRows) {
|
681
|
-
|
694
|
+
// Custom data filtering (run as a consequence of calling the below hook) provide an array containing new data.
|
695
|
+
var data = this.instance.runHooks('filterData', index, amount, physicalRows); // Hooks by default returns first argument (when there is no callback changing execution result).
|
682
696
|
|
683
|
-
if (
|
684
|
-
|
697
|
+
if (Array.isArray(data) === false) {
|
698
|
+
data = this.dataSource.filter(function (row, rowIndex) {
|
685
699
|
return physicalRows.indexOf(rowIndex) === -1;
|
686
700
|
});
|
687
|
-
return newData;
|
688
701
|
}
|
702
|
+
|
703
|
+
this.dataSource.length = 0;
|
704
|
+
Array.prototype.push.apply(this.dataSource, data);
|
689
705
|
}
|
690
706
|
/**
|
691
707
|
* Returns single value from the data array.
|
@@ -726,19 +742,6 @@ var DataMap = /*#__PURE__*/function () {
|
|
726
742
|
|
727
743
|
value = out;
|
728
744
|
} else if (typeof prop === 'function') {
|
729
|
-
/**
|
730
|
-
* Allows for interacting with complex structures, for example
|
731
|
-
* d3/jQuery getter/setter properties:
|
732
|
-
*
|
733
|
-
* {columns: [{
|
734
|
-
* data: function(row, value){
|
735
|
-
* if(arguments.length === 1){
|
736
|
-
* return row.property();
|
737
|
-
* }
|
738
|
-
* row.property(value);
|
739
|
-
* }
|
740
|
-
* }]}.
|
741
|
-
*/
|
742
745
|
value = prop(this.dataSource.slice(physicalRow, physicalRow + 1)[0]);
|
743
746
|
}
|
744
747
|
|
@@ -816,7 +819,6 @@ var DataMap = /*#__PURE__*/function () {
|
|
816
819
|
|
817
820
|
out[sliced[i]] = newValue;
|
818
821
|
} else if (typeof prop === 'function') {
|
819
|
-
/* see the `function` handler in `get` */
|
820
822
|
prop(this.dataSource.slice(physicalRow, physicalRow + 1)[0], newValue);
|
821
823
|
} else {
|
822
824
|
dataRow[prop] = newValue;
|