handsontable 9.0.2 → 11.1.0
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/calculator/viewportColumns.js +1 -1
- package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +1 -1
- package/3rdparty/walkontable/src/calculator/viewportRows.js +1 -1
- package/3rdparty/walkontable/src/calculator/viewportRows.mjs +1 -1
- package/3rdparty/walkontable/src/cell/coords.d.ts +16 -0
- package/3rdparty/walkontable/src/cell/coords.js +1 -1
- package/3rdparty/walkontable/src/cell/coords.mjs +1 -1
- package/3rdparty/walkontable/src/cell/range.d.ts +51 -0
- package/3rdparty/walkontable/src/cell/range.js +1 -1
- package/3rdparty/walkontable/src/cell/range.mjs +1 -1
- package/3rdparty/walkontable/src/core.js +1 -1
- package/3rdparty/walkontable/src/core.mjs +1 -1
- package/3rdparty/walkontable/src/event.js +1 -1
- package/3rdparty/walkontable/src/event.mjs +1 -1
- package/3rdparty/walkontable/src/filter/column.js +1 -1
- package/3rdparty/walkontable/src/filter/column.mjs +1 -1
- package/3rdparty/walkontable/src/filter/row.js +1 -1
- package/3rdparty/walkontable/src/filter/row.mjs +1 -1
- package/3rdparty/walkontable/src/index.d.ts +1 -0
- package/3rdparty/walkontable/src/index.js +1 -1
- package/3rdparty/walkontable/src/overlay/_base.js +1 -1
- package/3rdparty/walkontable/src/overlay/_base.mjs +1 -1
- package/3rdparty/walkontable/src/overlay/bottom.js +6 -6
- package/3rdparty/walkontable/src/overlay/bottom.mjs +5 -5
- package/3rdparty/walkontable/src/overlay/bottomLeftCorner.js +6 -6
- package/3rdparty/walkontable/src/overlay/bottomLeftCorner.mjs +5 -5
- 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 +6 -6
- package/3rdparty/walkontable/src/overlay/left.mjs +5 -5
- package/3rdparty/walkontable/src/overlay/registerer.js +1 -1
- package/3rdparty/walkontable/src/overlay/top.js +6 -17
- package/3rdparty/walkontable/src/overlay/top.mjs +5 -16
- package/3rdparty/walkontable/src/overlay/topLeftCorner.js +6 -6
- package/3rdparty/walkontable/src/overlay/topLeftCorner.mjs +5 -5
- package/3rdparty/walkontable/src/overlays.js +3 -1
- package/3rdparty/walkontable/src/overlays.mjs +2 -1
- package/3rdparty/walkontable/src/renderer/_base.js +1 -1
- package/3rdparty/walkontable/src/renderer/_base.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/cells.js +4 -4
- package/3rdparty/walkontable/src/renderer/cells.mjs +4 -4
- package/3rdparty/walkontable/src/renderer/colGroup.js +6 -6
- package/3rdparty/walkontable/src/renderer/colGroup.mjs +5 -5
- package/3rdparty/walkontable/src/renderer/columnHeaders.js +6 -6
- package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +5 -5
- package/3rdparty/walkontable/src/renderer/index.js +1 -1
- package/3rdparty/walkontable/src/renderer/index.mjs +1 -1
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +4 -4
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +4 -4
- package/3rdparty/walkontable/src/renderer/rows.js +6 -6
- package/3rdparty/walkontable/src/renderer/rows.mjs +5 -5
- package/3rdparty/walkontable/src/renderer/table.js +1 -1
- package/3rdparty/walkontable/src/renderer/table.mjs +1 -1
- package/3rdparty/walkontable/src/scroll.js +1 -1
- package/3rdparty/walkontable/src/scroll.mjs +1 -1
- package/3rdparty/walkontable/src/selection.js +6 -4
- package/3rdparty/walkontable/src/selection.mjs +4 -3
- package/3rdparty/walkontable/src/settings.js +1 -1
- package/3rdparty/walkontable/src/settings.mjs +1 -1
- package/3rdparty/walkontable/src/table/bottom.js +10 -6
- package/3rdparty/walkontable/src/table/bottom.mjs +9 -5
- package/3rdparty/walkontable/src/table/bottomLeftCorner.js +10 -6
- package/3rdparty/walkontable/src/table/bottomLeftCorner.mjs +9 -5
- package/3rdparty/walkontable/src/table/left.js +10 -6
- package/3rdparty/walkontable/src/table/left.mjs +9 -5
- package/3rdparty/walkontable/src/table/master.js +6 -6
- package/3rdparty/walkontable/src/table/master.mjs +5 -5
- package/3rdparty/walkontable/src/table/top.js +10 -6
- package/3rdparty/walkontable/src/table/top.mjs +9 -5
- package/3rdparty/walkontable/src/table/topLeftCorner.js +10 -6
- package/3rdparty/walkontable/src/table/topLeftCorner.mjs +9 -5
- package/3rdparty/walkontable/src/table.js +5 -3
- package/3rdparty/walkontable/src/table.mjs +3 -2
- package/3rdparty/walkontable/src/utils/column.js +2 -2
- package/3rdparty/walkontable/src/utils/column.mjs +2 -2
- package/3rdparty/walkontable/src/utils/nodesPool.js +1 -1
- package/3rdparty/walkontable/src/utils/nodesPool.mjs +1 -1
- package/3rdparty/walkontable/src/utils/orderView/constants.js +1 -1
- package/3rdparty/walkontable/src/utils/orderView/sharedView.js +6 -6
- package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +5 -5
- package/3rdparty/walkontable/src/utils/orderView/view.js +1 -1
- package/3rdparty/walkontable/src/utils/orderView/view.mjs +1 -1
- package/3rdparty/walkontable/src/utils/orderView/viewSize.js +1 -1
- package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +1 -1
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +1 -1
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +1 -1
- package/3rdparty/walkontable/src/utils/row.js +1 -1
- package/3rdparty/walkontable/src/utils/row.mjs +1 -1
- package/3rdparty/walkontable/src/viewport.js +1 -1
- package/3rdparty/walkontable/src/viewport.mjs +1 -1
- package/CHANGELOG.md +92 -7
- package/LICENSE.txt +19 -22
- package/README.md +13 -8
- 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 +160 -0
- package/core.js +244 -189
- package/core.mjs +243 -190
- package/{dataMap.js → dataMap/dataMap.js} +39 -37
- package/{dataMap.mjs → dataMap/dataMap.mjs} +39 -37
- package/dataMap/index.js +9 -1
- package/dataMap/index.mjs +4 -2
- package/dataMap/metaManager/index.js +55 -7
- package/dataMap/metaManager/index.mjs +52 -7
- package/dataMap/metaManager/lazyFactoryMap.js +4 -4
- package/dataMap/metaManager/lazyFactoryMap.mjs +4 -4
- package/dataMap/metaManager/metaLayers/cellMeta.js +3 -1
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +2 -1
- package/dataMap/metaManager/metaLayers/columnMeta.js +1 -1
- package/dataMap/metaManager/metaLayers/columnMeta.mjs +1 -1
- package/dataMap/metaManager/metaLayers/globalMeta.js +5 -4
- package/dataMap/metaManager/metaLayers/globalMeta.mjs +5 -4
- package/dataMap/metaManager/metaLayers/tableMeta.js +1 -1
- package/dataMap/metaManager/metaLayers/tableMeta.mjs +1 -1
- package/dataMap/metaManager/metaSchema.js +3213 -1712
- package/dataMap/metaManager/metaSchema.mjs +3213 -1712
- package/dataMap/metaManager/mods/dynamicCellMeta.js +136 -0
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +119 -0
- package/dataMap/metaManager/utils.js +3 -3
- package/dataMap/replaceData.js +154 -0
- package/dataMap/replaceData.mjs +138 -0
- package/dataSource.js +3 -1
- package/dataSource.mjs +2 -1
- package/dist/README.md +2 -2
- package/dist/handsontable.css +508 -420
- package/dist/handsontable.full.css +621 -530
- package/dist/handsontable.full.js +54025 -48518
- package/dist/handsontable.full.min.css +27 -35
- package/dist/handsontable.full.min.js +181 -164
- package/dist/handsontable.js +37028 -33780
- package/dist/handsontable.min.css +27 -33
- package/dist/handsontable.min.js +22 -25
- package/dist/languages/all.js +2 -4
- package/dist/languages/all.min.js +1 -1
- package/dist/languages/de-CH.js +2 -4
- package/dist/languages/de-CH.min.js +1 -1
- package/dist/languages/de-DE.js +2 -4
- package/dist/languages/de-DE.min.js +1 -1
- package/dist/languages/en-US.js +2 -4
- package/dist/languages/en-US.min.js +1 -1
- package/dist/languages/es-MX.js +2 -4
- package/dist/languages/es-MX.min.js +1 -1
- package/dist/languages/fr-FR.js +2 -4
- package/dist/languages/fr-FR.min.js +1 -1
- package/dist/languages/it-IT.js +2 -4
- package/dist/languages/it-IT.min.js +1 -1
- package/dist/languages/ja-JP.js +2 -4
- package/dist/languages/ja-JP.min.js +1 -1
- package/dist/languages/ko-KR.js +2 -4
- package/dist/languages/ko-KR.min.js +1 -1
- package/dist/languages/lv-LV.js +2 -4
- package/dist/languages/lv-LV.min.js +1 -1
- package/dist/languages/nb-NO.js +2 -4
- package/dist/languages/nb-NO.min.js +1 -1
- package/dist/languages/nl-NL.js +2 -4
- package/dist/languages/nl-NL.min.js +1 -1
- package/dist/languages/pl-PL.js +2 -4
- package/dist/languages/pl-PL.min.js +1 -1
- package/dist/languages/pt-BR.js +2 -4
- package/dist/languages/pt-BR.min.js +1 -1
- package/dist/languages/ru-RU.js +2 -4
- package/dist/languages/ru-RU.min.js +1 -1
- package/dist/languages/zh-CN.js +2 -4
- package/dist/languages/zh-CN.min.js +1 -1
- package/dist/languages/zh-TW.js +2 -4
- package/dist/languages/zh-TW.min.js +1 -1
- package/editorManager.js +9 -7
- package/editorManager.mjs +8 -7
- package/editors/autocompleteEditor/autocompleteEditor.d.ts +29 -0
- package/editors/autocompleteEditor/autocompleteEditor.js +99 -91
- package/editors/autocompleteEditor/autocompleteEditor.mjs +97 -88
- 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 +11 -10
- package/editors/baseEditor/baseEditor.mjs +8 -8
- 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 +7 -7
- package/editors/checkboxEditor/checkboxEditor.mjs +5 -5
- 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 +21 -21
- 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 +8 -8
- package/editors/dropdownEditor/dropdownEditor.mjs +6 -6
- 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 +7 -7
- package/editors/handsontableEditor/handsontableEditor.mjs +6 -6
- 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 +6 -6
- package/editors/numericEditor/numericEditor.mjs +5 -5
- package/editors/passwordEditor/index.d.ts +1 -0
- package/editors/passwordEditor/passwordEditor.d.ts +7 -0
- package/editors/passwordEditor/passwordEditor.js +7 -7
- package/editors/passwordEditor/passwordEditor.mjs +6 -6
- 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 +7 -7
- package/editors/selectEditor/selectEditor.mjs +6 -6
- package/editors/textEditor/index.d.ts +1 -0
- package/editors/textEditor/textEditor.d.ts +24 -0
- package/editors/textEditor/textEditor.js +7 -7
- package/editors/textEditor/textEditor.mjs +6 -6
- package/eventManager.d.ts +13 -0
- package/eventManager.js +8 -4
- package/eventManager.mjs +7 -3
- 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 +8 -36
- package/helpers/data.mjs +2 -28
- package/helpers/date.d.ts +1 -0
- package/helpers/dom/element.d.ts +49 -0
- package/helpers/dom/element.js +45 -46
- package/helpers/dom/element.mjs +8 -9
- 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 +7 -7
- package/helpers/feature.mjs +1 -1
- 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 +6 -6
- package/helpers/mixed.mjs +3 -3
- package/helpers/number.d.ts +5 -0
- package/helpers/number.js +98 -19
- package/helpers/number.mjs +87 -19
- package/helpers/object.d.ts +16 -0
- package/helpers/object.js +12 -12
- package/helpers/object.mjs +1 -1
- 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 +3 -3
- 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-CH.js +1 -1
- package/i18n/languages/de-DE.d.ts +5 -0
- package/i18n/languages/de-DE.js +1 -1
- package/i18n/languages/en-US.d.ts +5 -0
- package/i18n/languages/en-US.js +1 -1
- package/i18n/languages/es-MX.d.ts +5 -0
- package/i18n/languages/es-MX.js +1 -1
- package/i18n/languages/fr-FR.d.ts +5 -0
- package/i18n/languages/fr-FR.js +1 -1
- package/i18n/languages/index.d.ts +35 -0
- package/i18n/languages/it-IT.d.ts +5 -0
- package/i18n/languages/it-IT.js +1 -1
- package/i18n/languages/ja-JP.d.ts +5 -0
- package/i18n/languages/ja-JP.js +1 -1
- package/i18n/languages/ko-KR.d.ts +5 -0
- package/i18n/languages/ko-KR.js +1 -1
- package/i18n/languages/lv-LV.d.ts +5 -0
- package/i18n/languages/lv-LV.js +1 -1
- package/i18n/languages/nb-NO.d.ts +5 -0
- package/i18n/languages/nb-NO.js +1 -1
- package/i18n/languages/nl-NL.d.ts +5 -0
- package/i18n/languages/nl-NL.js +1 -1
- package/i18n/languages/pl-PL.d.ts +5 -0
- package/i18n/languages/pl-PL.js +1 -1
- package/i18n/languages/pt-BR.d.ts +5 -0
- package/i18n/languages/pt-BR.js +1 -1
- package/i18n/languages/ru-RU.d.ts +5 -0
- package/i18n/languages/ru-RU.js +1 -1
- package/i18n/languages/zh-CN.d.ts +5 -0
- package/i18n/languages/zh-CN.js +1 -1
- package/i18n/languages/zh-TW.d.ts +5 -0
- package/i18n/languages/zh-TW.js +1 -1
- package/i18n/phraseFormatters/index.js +1 -1
- package/i18n/registry.d.ts +13 -0
- package/i18n/registry.js +5 -5
- package/i18n/utils.js +1 -1
- package/index.d.ts +516 -0
- package/index.js +41 -113
- package/index.mjs +17 -90
- package/languages/all.js +2 -4
- package/languages/de-CH.js +2 -4
- package/languages/de-DE.js +2 -4
- package/languages/en-US.js +2 -4
- package/languages/es-MX.js +2 -4
- package/languages/fr-FR.js +2 -4
- package/languages/index.js +2 -4
- package/languages/it-IT.js +2 -4
- package/languages/ja-JP.js +2 -4
- package/languages/ko-KR.js +2 -4
- package/languages/lv-LV.js +2 -4
- package/languages/nb-NO.js +2 -4
- package/languages/nl-NL.js +2 -4
- package/languages/pl-PL.js +2 -4
- package/languages/pt-BR.js +2 -4
- package/languages/ru-RU.js +2 -4
- package/languages/zh-CN.js +2 -4
- package/languages/zh-TW.js +2 -4
- package/mixins/localHooks.js +17 -14
- package/mixins/localHooks.mjs +16 -13
- package/package.json +106 -15
- package/pluginHooks.d.ts +257 -0
- package/pluginHooks.js +216 -141
- package/pluginHooks.mjs +215 -141
- package/plugins/autoColumnSize/autoColumnSize.d.ts +27 -0
- package/plugins/autoColumnSize/autoColumnSize.js +24 -22
- package/plugins/autoColumnSize/autoColumnSize.mjs +22 -21
- 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 +29 -21
- package/plugins/autoRowSize/autoRowSize.mjs +26 -19
- 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 +12 -21
- package/plugins/autofill/autofill.mjs +9 -18
- 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 +6 -6
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +5 -5
- package/plugins/bindRowsWithHeaders/index.d.ts +1 -0
- package/plugins/bindRowsWithHeaders/index.js +1 -1
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +7 -7
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.mjs +6 -6
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +9 -7
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +7 -6
- package/plugins/collapsibleColumns/collapsibleColumns.d.ts +22 -0
- package/plugins/collapsibleColumns/collapsibleColumns.js +34 -27
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +32 -26
- 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 +21 -19
- package/plugins/columnSorting/columnSorting.mjs +18 -17
- package/plugins/columnSorting/columnStatesManager.js +6 -4
- package/plugins/columnSorting/columnStatesManager.mjs +5 -4
- 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 +32 -14
- package/plugins/columnSummary/columnSummary.mjs +30 -12
- package/plugins/columnSummary/endpoints.js +7 -5
- package/plugins/columnSummary/endpoints.mjs +6 -5
- package/plugins/columnSummary/index.d.ts +1 -0
- package/plugins/columnSummary/index.js +1 -1
- package/plugins/comments/commentEditor.js +7 -3
- package/plugins/comments/commentEditor.mjs +7 -3
- package/plugins/comments/comments.d.ts +50 -0
- package/plugins/comments/comments.js +49 -88
- package/plugins/comments/comments.mjs +49 -87
- package/plugins/comments/displaySwitch.js +2 -2
- package/plugins/comments/displaySwitch.mjs +2 -2
- package/plugins/comments/index.d.ts +1 -0
- package/plugins/comments/index.js +1 -1
- package/plugins/contextMenu/commandExecutor.js +2 -2
- package/plugins/contextMenu/commandExecutor.mjs +2 -2
- package/plugins/contextMenu/contextMenu.d.ts +65 -0
- package/plugins/contextMenu/contextMenu.js +9 -8
- package/plugins/contextMenu/contextMenu.mjs +7 -6
- package/plugins/contextMenu/cursor.js +2 -2
- package/plugins/contextMenu/cursor.mjs +2 -2
- package/plugins/contextMenu/index.d.ts +1 -0
- package/plugins/contextMenu/index.js +1 -1
- package/plugins/contextMenu/itemsFactory.js +2 -2
- package/plugins/contextMenu/itemsFactory.mjs +2 -2
- package/plugins/contextMenu/menu.js +5 -5
- package/plugins/contextMenu/menu.mjs +4 -4
- package/plugins/contextMenu/predefinedItems/alignment.js +2 -2
- package/plugins/contextMenu/predefinedItems/clearColumn.js +2 -2
- package/plugins/contextMenu/predefinedItems/columnLeft.js +2 -2
- package/plugins/contextMenu/predefinedItems/columnRight.js +2 -2
- package/plugins/contextMenu/predefinedItems/noItems.js +1 -1
- package/plugins/contextMenu/predefinedItems/readOnly.js +2 -2
- package/plugins/contextMenu/predefinedItems/redo.js +2 -2
- package/plugins/contextMenu/predefinedItems/removeColumn.js +4 -2
- package/plugins/contextMenu/predefinedItems/removeColumn.mjs +1 -0
- package/plugins/contextMenu/predefinedItems/removeRow.js +4 -2
- package/plugins/contextMenu/predefinedItems/removeRow.mjs +1 -0
- package/plugins/contextMenu/predefinedItems/rowAbove.js +2 -2
- package/plugins/contextMenu/predefinedItems/rowBelow.js +2 -2
- package/plugins/contextMenu/predefinedItems/separator.js +1 -1
- package/plugins/contextMenu/predefinedItems/undo.js +2 -2
- package/plugins/contextMenu/predefinedItems.js +3 -3
- package/plugins/contextMenu/utils.js +10 -10
- package/plugins/copyPaste/clipboardData.js +4 -1
- package/plugins/copyPaste/clipboardData.mjs +4 -1
- package/plugins/copyPaste/contextMenuItem/copy.js +1 -1
- package/plugins/copyPaste/contextMenuItem/cut.js +1 -1
- package/plugins/copyPaste/copyPaste.d.ts +35 -0
- package/plugins/copyPaste/copyPaste.js +14 -11
- package/plugins/copyPaste/copyPaste.mjs +12 -10
- package/plugins/copyPaste/focusableElement.js +2 -3
- package/plugins/copyPaste/focusableElement.mjs +2 -3
- package/plugins/copyPaste/index.d.ts +1 -0
- package/plugins/copyPaste/index.js +1 -1
- package/plugins/copyPaste/pasteEvent.js +9 -2
- package/plugins/copyPaste/pasteEvent.mjs +9 -2
- package/plugins/customBorders/contextMenuItem/bottom.js +1 -1
- package/plugins/customBorders/contextMenuItem/left.js +1 -1
- package/plugins/customBorders/contextMenuItem/noBorders.js +1 -1
- package/plugins/customBorders/contextMenuItem/right.js +1 -1
- package/plugins/customBorders/contextMenuItem/top.js +1 -1
- package/plugins/customBorders/customBorders.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 +8 -8
- package/plugins/dragToScroll/dragToScroll.mjs +6 -6
- 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 +8 -8
- package/plugins/dropdownMenu/dropdownMenu.mjs +6 -6
- 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 +9 -9
- package/plugins/exportFile/exportFile.mjs +7 -7
- 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 +1 -2
- package/plugins/exportFile/types/_base.mjs +1 -2
- package/plugins/exportFile/types/csv.js +6 -7
- package/plugins/exportFile/types/csv.mjs +5 -6
- package/plugins/filters/component/_base.js +2 -2
- package/plugins/filters/component/_base.mjs +2 -2
- package/plugins/filters/component/actionBar.js +7 -7
- package/plugins/filters/component/actionBar.mjs +6 -6
- package/plugins/filters/component/condition.js +10 -8
- package/plugins/filters/component/condition.mjs +8 -7
- package/plugins/filters/component/operators.js +7 -7
- package/plugins/filters/component/operators.mjs +6 -6
- package/plugins/filters/component/value.js +15 -8
- package/plugins/filters/component/value.mjs +13 -7
- package/plugins/filters/condition/beginsWith.js +5 -3
- package/plugins/filters/condition/beginsWith.mjs +2 -1
- package/plugins/filters/condition/between.js +4 -2
- package/plugins/filters/condition/between.mjs +1 -0
- package/plugins/filters/condition/byValue.js +3 -1
- package/plugins/filters/condition/byValue.mjs +1 -0
- package/plugins/filters/condition/contains.js +5 -3
- package/plugins/filters/condition/contains.mjs +2 -1
- package/plugins/filters/condition/date/after.js +4 -2
- package/plugins/filters/condition/date/after.mjs +1 -0
- package/plugins/filters/condition/date/before.js +4 -2
- package/plugins/filters/condition/date/before.mjs +1 -0
- package/plugins/filters/condition/date/today.js +2 -2
- package/plugins/filters/condition/date/tomorrow.js +2 -2
- package/plugins/filters/condition/date/yesterday.js +2 -2
- package/plugins/filters/condition/empty.js +2 -2
- package/plugins/filters/condition/endsWith.js +5 -3
- package/plugins/filters/condition/endsWith.mjs +2 -1
- package/plugins/filters/condition/equal.js +5 -3
- package/plugins/filters/condition/equal.mjs +2 -1
- package/plugins/filters/condition/false.js +1 -1
- package/plugins/filters/condition/greaterThan.js +4 -2
- package/plugins/filters/condition/greaterThan.mjs +1 -0
- package/plugins/filters/condition/greaterThanOrEqual.js +4 -2
- package/plugins/filters/condition/greaterThanOrEqual.mjs +1 -0
- package/plugins/filters/condition/lessThan.js +4 -2
- package/plugins/filters/condition/lessThan.mjs +1 -0
- package/plugins/filters/condition/lessThanOrEqual.js +4 -2
- package/plugins/filters/condition/lessThanOrEqual.mjs +1 -0
- package/plugins/filters/condition/none.js +2 -2
- package/plugins/filters/condition/notBetween.js +2 -2
- package/plugins/filters/condition/notContains.js +2 -2
- package/plugins/filters/condition/notEmpty.js +2 -2
- package/plugins/filters/condition/notEqual.js +2 -2
- 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 +4 -2
- package/plugins/filters/conditionUpdateObserver.mjs +3 -2
- package/plugins/filters/constants.js +2 -1
- package/plugins/filters/constants.mjs +1 -0
- package/plugins/filters/dataFilter.js +2 -2
- package/plugins/filters/dataFilter.mjs +2 -2
- package/plugins/filters/filters.d.ts +56 -0
- package/plugins/filters/filters.js +15 -11
- package/plugins/filters/filters.mjs +13 -10
- 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 +4 -4
- package/plugins/filters/logicalOperations/conjunction.mjs +1 -0
- package/plugins/filters/logicalOperations/disjunction.js +4 -4
- package/plugins/filters/logicalOperations/disjunction.mjs +1 -0
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +4 -4
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.mjs +1 -0
- package/plugins/filters/ui/_base.js +4 -5
- package/plugins/filters/ui/_base.mjs +3 -4
- package/plugins/filters/ui/input.js +6 -6
- package/plugins/filters/ui/input.mjs +6 -6
- package/plugins/filters/ui/link.js +6 -6
- package/plugins/filters/ui/link.mjs +6 -6
- package/plugins/filters/ui/multipleSelect.js +34 -8
- package/plugins/filters/ui/multipleSelect.mjs +33 -8
- package/plugins/filters/ui/radioInput.js +6 -6
- package/plugins/filters/ui/radioInput.mjs +6 -6
- package/plugins/filters/ui/select.js +6 -6
- package/plugins/filters/ui/select.mjs +6 -6
- package/plugins/filters/utils.js +3 -3
- package/plugins/formulas/engine/register.js +4 -4
- package/plugins/formulas/engine/register.mjs +1 -1
- package/plugins/formulas/engine/settings.js +6 -6
- package/plugins/formulas/engine/settings.mjs +4 -5
- package/plugins/formulas/formulas.d.ts +31 -0
- package/plugins/formulas/formulas.js +287 -91
- package/plugins/formulas/formulas.mjs +280 -88
- 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 +1 -0
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +5 -3
- package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +2 -1
- package/plugins/hiddenColumns/hiddenColumns.d.ts +21 -0
- package/plugins/hiddenColumns/hiddenColumns.js +39 -27
- package/plugins/hiddenColumns/hiddenColumns.mjs +38 -26
- 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 +1 -0
- package/plugins/hiddenRows/contextMenuItem/showRow.js +5 -3
- package/plugins/hiddenRows/contextMenuItem/showRow.mjs +2 -1
- package/plugins/hiddenRows/hiddenRows.d.ts +21 -0
- package/plugins/hiddenRows/hiddenRows.js +39 -28
- package/plugins/hiddenRows/hiddenRows.mjs +38 -27
- 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 +1 -0
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +3 -1
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +1 -0
- 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 -8
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +10 -7
- 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 +27 -25
- package/plugins/manualColumnMove/manualColumnMove.mjs +26 -24
- package/plugins/manualColumnMove/ui/_base.js +2 -2
- package/plugins/manualColumnMove/ui/_base.mjs +2 -2
- package/plugins/manualColumnMove/ui/backlight.js +7 -7
- package/plugins/manualColumnMove/ui/backlight.mjs +6 -6
- package/plugins/manualColumnMove/ui/guideline.js +7 -7
- package/plugins/manualColumnMove/ui/guideline.mjs +6 -6
- 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 +10 -10
- package/plugins/manualColumnResize/manualColumnResize.mjs +9 -9
- 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 +24 -22
- package/plugins/manualRowMove/manualRowMove.mjs +23 -21
- package/plugins/manualRowMove/ui/_base.js +2 -3
- package/plugins/manualRowMove/ui/_base.mjs +2 -3
- package/plugins/manualRowMove/ui/backlight.js +8 -8
- package/plugins/manualRowMove/ui/backlight.mjs +7 -7
- package/plugins/manualRowMove/ui/guideline.js +8 -8
- package/plugins/manualRowMove/ui/guideline.mjs +7 -7
- 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 -6
- package/plugins/manualRowResize/manualRowResize.mjs +5 -5
- package/plugins/mergeCells/calculations/autofill.js +4 -3
- package/plugins/mergeCells/calculations/autofill.mjs +3 -3
- package/plugins/mergeCells/calculations/selection.js +2 -3
- package/plugins/mergeCells/calculations/selection.mjs +2 -3
- package/plugins/mergeCells/cellCoords.js +2 -2
- package/plugins/mergeCells/cellCoords.mjs +2 -2
- package/plugins/mergeCells/cellsCollection.js +6 -4
- package/plugins/mergeCells/cellsCollection.mjs +5 -4
- package/plugins/mergeCells/contextMenuItem/toggleMerge.js +1 -1
- 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 +8 -6
- package/plugins/mergeCells/mergeCells.mjs +6 -5
- 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 +8 -8
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +6 -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 +9 -8
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +7 -6
- 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 +24 -20
- package/plugins/nestedHeaders/nestedHeaders.mjs +22 -18
- package/plugins/nestedHeaders/stateManager/headersTree.js +13 -7
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +12 -7
- package/plugins/nestedHeaders/stateManager/index.js +10 -7
- package/plugins/nestedHeaders/stateManager/index.mjs +10 -7
- 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 +11 -7
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +11 -7
- package/plugins/nestedHeaders/utils/ghostTable.js +4 -1
- package/plugins/nestedHeaders/utils/ghostTable.mjs +4 -1
- package/plugins/nestedRows/data/dataManager.js +42 -16
- package/plugins/nestedRows/data/dataManager.mjs +40 -15
- 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 +34 -35
- package/plugins/nestedRows/nestedRows.mjs +31 -33
- package/plugins/nestedRows/ui/_base.js +7 -4
- package/plugins/nestedRows/ui/_base.mjs +7 -4
- package/plugins/nestedRows/ui/collapsing.js +9 -8
- package/plugins/nestedRows/ui/collapsing.mjs +7 -7
- package/plugins/nestedRows/ui/contextMenu.js +5 -6
- package/plugins/nestedRows/ui/contextMenu.mjs +5 -6
- package/plugins/nestedRows/ui/headers.js +7 -8
- package/plugins/nestedRows/ui/headers.mjs +6 -7
- package/plugins/nestedRows/utils/rowMoveController.js +7 -6
- package/plugins/nestedRows/utils/rowMoveController.mjs +5 -5
- package/plugins/persistentState/index.d.ts +1 -0
- package/plugins/persistentState/persistentState.d.ts +13 -0
- package/plugins/persistentState/persistentState.js +15 -7
- package/plugins/persistentState/persistentState.mjs +14 -6
- package/plugins/persistentState/storage.js +2 -2
- package/plugins/persistentState/storage.mjs +2 -2
- package/plugins/registry.d.ts +9 -0
- package/plugins/registry.js +3 -1
- package/plugins/registry.mjs +1 -0
- package/plugins/search/index.d.ts +1 -0
- package/plugins/search/search.d.ts +28 -0
- package/plugins/search/search.js +10 -10
- package/plugins/search/search.mjs +10 -10
- package/plugins/touchScroll/index.d.ts +1 -0
- package/plugins/touchScroll/touchScroll.d.ts +13 -0
- package/plugins/touchScroll/touchScroll.js +16 -16
- package/plugins/touchScroll/touchScroll.mjs +15 -14
- package/plugins/trimRows/index.d.ts +1 -0
- package/plugins/trimRows/trimRows.d.ts +17 -0
- package/plugins/trimRows/trimRows.js +6 -6
- package/plugins/trimRows/trimRows.mjs +6 -6
- package/plugins/undoRedo/index.d.ts +1 -0
- package/plugins/undoRedo/index.js +1 -1
- package/plugins/undoRedo/undoRedo.d.ts +49 -0
- package/plugins/undoRedo/undoRedo.js +30 -32
- package/plugins/undoRedo/undoRedo.mjs +28 -31
- 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 +10 -8
- package/selection/highlight/highlight.mjs +8 -7
- package/selection/highlight/types/activeHeader.js +4 -2
- package/selection/highlight/types/activeHeader.mjs +3 -2
- package/selection/highlight/types/area.js +4 -2
- package/selection/highlight/types/area.mjs +3 -2
- package/selection/highlight/types/cell.js +4 -2
- package/selection/highlight/types/cell.mjs +3 -2
- package/selection/highlight/types/customSelection.js +4 -2
- package/selection/highlight/types/customSelection.mjs +3 -2
- package/selection/highlight/types/fill.js +4 -2
- package/selection/highlight/types/fill.mjs +3 -2
- package/selection/highlight/types/header.js +4 -2
- package/selection/highlight/types/header.mjs +3 -2
- package/selection/highlight/types/index.js +4 -2
- package/selection/highlight/types/index.mjs +3 -2
- package/selection/highlight/visualSelection.js +9 -7
- package/selection/highlight/visualSelection.mjs +7 -6
- 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 +6 -6
- package/selection/range.mjs +5 -5
- package/selection/selection.js +18 -9
- package/selection/selection.mjs +17 -9
- package/selection/transformation.js +4 -3
- package/selection/transformation.mjs +4 -3
- package/selection/utils.js +6 -4
- package/selection/utils.mjs +3 -2
- package/settings.d.ts +208 -0
- package/tableView.js +21 -15
- package/tableView.mjs +19 -14
- package/translations/changesObservable/observable.js +11 -6
- package/translations/changesObservable/observable.mjs +11 -6
- package/translations/changesObservable/observer.js +7 -2
- package/translations/changesObservable/observer.mjs +7 -2
- 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 +46 -0
- package/translations/indexMapper.js +38 -13
- package/translations/indexMapper.mjs +35 -12
- package/translations/mapCollections/aggregatedCollection.js +6 -6
- package/translations/mapCollections/aggregatedCollection.mjs +5 -5
- package/translations/mapCollections/index.js +2 -0
- package/translations/mapCollections/mapCollection.js +2 -2
- package/translations/mapCollections/mapCollection.mjs +1 -1
- package/translations/maps/hidingMap.js +6 -6
- package/translations/maps/hidingMap.mjs +5 -5
- package/translations/maps/indexMap.d.ts +10 -0
- package/translations/maps/indexMap.js +1 -1
- package/translations/maps/indexMap.mjs +1 -1
- package/translations/maps/indexesSequence.js +7 -7
- package/translations/maps/indexesSequence.mjs +6 -6
- package/translations/maps/linkedPhysicalIndexToValueMap.js +7 -5
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +6 -5
- package/translations/maps/physicalIndexToValueMap.js +7 -7
- package/translations/maps/physicalIndexToValueMap.mjs +6 -6
- package/translations/maps/trimmingMap.js +6 -6
- package/translations/maps/trimmingMap.mjs +5 -5
- 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/linkedList.js +3 -3
- package/utils/dataStructures/linkedList.mjs +3 -3
- package/utils/dataStructures/priorityMap.js +3 -1
- package/utils/dataStructures/priorityMap.mjs +1 -0
- package/utils/dataStructures/queue.js +1 -1
- package/utils/dataStructures/queue.mjs +1 -1
- package/utils/dataStructures/stack.js +1 -1
- package/utils/dataStructures/stack.mjs +1 -1
- package/utils/dataStructures/tree.js +6 -4
- package/utils/dataStructures/tree.mjs +4 -3
- package/utils/dataStructures/uniqueMap.js +2 -0
- package/utils/dataStructures/uniqueMap.mjs +1 -0
- package/utils/dataStructures/uniqueSet.js +2 -0
- package/utils/dataStructures/uniqueSet.mjs +1 -0
- package/utils/ghostTable.js +17 -5
- package/utils/ghostTable.mjs +16 -5
- package/utils/interval.js +2 -3
- package/utils/interval.mjs +1 -2
- package/utils/parseTable.d.ts +5 -0
- package/utils/parseTable.js +1 -1
- package/utils/rootInstance.js +3 -2
- package/utils/samplesGenerator.js +1 -2
- package/utils/samplesGenerator.mjs +1 -2
- 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.js
CHANGED
@@ -4,16 +4,12 @@ require("core-js/modules/es.symbol.js");
|
|
4
4
|
|
5
5
|
require("core-js/modules/es.symbol.description.js");
|
6
6
|
|
7
|
-
require("core-js/modules/es.object.to-string.js");
|
8
|
-
|
9
7
|
require("core-js/modules/es.symbol.iterator.js");
|
10
8
|
|
11
9
|
require("core-js/modules/es.array.iterator.js");
|
12
10
|
|
13
11
|
require("core-js/modules/web.dom-collections.iterator.js");
|
14
12
|
|
15
|
-
require("core-js/modules/es.array.slice.js");
|
16
|
-
|
17
13
|
require("core-js/modules/es.function.name.js");
|
18
14
|
|
19
15
|
exports.__esModule = true;
|
@@ -27,12 +23,18 @@ require("core-js/modules/es.number.is-integer.js");
|
|
27
23
|
|
28
24
|
require("core-js/modules/es.number.constructor.js");
|
29
25
|
|
26
|
+
require("core-js/modules/es.array.slice.js");
|
27
|
+
|
28
|
+
require("core-js/modules/es.array.concat.js");
|
29
|
+
|
30
|
+
require("core-js/modules/es.array.fill.js");
|
31
|
+
|
32
|
+
require("core-js/modules/es.array.map.js");
|
33
|
+
|
30
34
|
require("core-js/modules/es.regexp.exec.js");
|
31
35
|
|
32
36
|
require("core-js/modules/es.string.replace.js");
|
33
37
|
|
34
|
-
require("core-js/modules/es.array.concat.js");
|
35
|
-
|
36
38
|
require("core-js/modules/es.array.from.js");
|
37
39
|
|
38
40
|
require("core-js/modules/es.string.iterator.js");
|
@@ -41,6 +43,8 @@ require("core-js/modules/es.array.index-of.js");
|
|
41
43
|
|
42
44
|
require("core-js/modules/es.array.reverse.js");
|
43
45
|
|
46
|
+
require("core-js/modules/es.object.to-string.js");
|
47
|
+
|
44
48
|
require("core-js/modules/web.dom-collections.for-each.js");
|
45
49
|
|
46
50
|
require("core-js/modules/web.timers.js");
|
@@ -97,13 +101,13 @@ var _keyStateObserver = require("./utils/keyStateObserver");
|
|
97
101
|
|
98
102
|
var _selection = require("./selection");
|
99
103
|
|
100
|
-
var
|
104
|
+
var _dataMap = require("./dataMap");
|
101
105
|
|
102
106
|
var _uniqueMap = require("./utils/dataStructures/uniqueMap");
|
103
107
|
|
104
108
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
105
109
|
|
106
|
-
function _typeof(obj) { "@babel/helpers - typeof";
|
110
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
107
111
|
|
108
112
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
109
113
|
|
@@ -165,7 +169,7 @@ function Core(rootElement, userSettings) {
|
|
165
169
|
var editorManager;
|
166
170
|
var firstRun = true;
|
167
171
|
userSettings.language = (0, _registry4.getValidLanguageCode)(userSettings.language);
|
168
|
-
var metaManager = new
|
172
|
+
var metaManager = new _dataMap.MetaManager(instance, userSettings, [_dataMap.DynamicCellMetaMod]);
|
169
173
|
var tableMeta = metaManager.getTableMeta();
|
170
174
|
var globalMeta = metaManager.getGlobalMeta();
|
171
175
|
var pluginsRegistry = (0, _uniqueMap.createUniqueMap)();
|
@@ -183,8 +187,6 @@ function Core(rootElement, userSettings) {
|
|
183
187
|
|
184
188
|
|
185
189
|
this.rootElement = rootElement;
|
186
|
-
/* eslint-enable jsdoc/require-description-complete-sentence */
|
187
|
-
|
188
190
|
/**
|
189
191
|
* The nearest document over container.
|
190
192
|
*
|
@@ -450,8 +452,6 @@ function Core(rootElement, userSettings) {
|
|
450
452
|
/**
|
451
453
|
* Inserts or removes rows and columns.
|
452
454
|
*
|
453
|
-
* @memberof Core#
|
454
|
-
* @function alter
|
455
455
|
* @private
|
456
456
|
* @param {string} action Possible values: "insert_row", "insert_col", "remove_row", "remove_col".
|
457
457
|
* @param {number|Array} index Row or column visual index which from the alter action will be triggered.
|
@@ -730,6 +730,8 @@ function Core(rootElement, userSettings) {
|
|
730
730
|
|
731
731
|
/**
|
732
732
|
* Makes sure there are empty rows at the bottom of the table.
|
733
|
+
*
|
734
|
+
* @private
|
733
735
|
*/
|
734
736
|
adjustRowsAndCols: function adjustRowsAndCols() {
|
735
737
|
var minRows = tableMeta.minRows;
|
@@ -870,72 +872,91 @@ function Core(rootElement, userSettings) {
|
|
870
872
|
var clen;
|
871
873
|
var setData = [];
|
872
874
|
var current = {};
|
875
|
+
var newDataByColumns = [];
|
876
|
+
var startRow = start.row;
|
877
|
+
var startColumn = start.col;
|
873
878
|
rlen = input.length;
|
874
879
|
|
875
880
|
if (rlen === 0) {
|
876
881
|
return false;
|
877
882
|
}
|
878
883
|
|
879
|
-
var
|
880
|
-
var
|
881
|
-
|
882
|
-
|
883
|
-
|
884
|
-
|
884
|
+
var columnsPopulationEnd = 0;
|
885
|
+
var rowsPopulationEnd = 0;
|
886
|
+
|
887
|
+
if ((0, _object.isObject)(end)) {
|
888
|
+
columnsPopulationEnd = end.col - startColumn + 1;
|
889
|
+
rowsPopulationEnd = end.row - startRow + 1;
|
890
|
+
} // insert data with specified pasteMode method
|
891
|
+
|
885
892
|
|
886
893
|
switch (method) {
|
887
894
|
case 'shift_down':
|
888
|
-
|
889
|
-
|
895
|
+
// translate data from a list of rows to a list of columns
|
896
|
+
var populatedDataByColumns = (0, _array.pivot)(input);
|
897
|
+
var numberOfDataColumns = populatedDataByColumns.length; // method's argument can extend the range of data population (data would be repeated)
|
890
898
|
|
891
|
-
|
899
|
+
var numberOfColumnsToPopulate = Math.max(numberOfDataColumns, columnsPopulationEnd);
|
900
|
+
var pushedDownDataByRows = instance.getData().slice(startRow); // translate data from a list of rows to a list of columns
|
892
901
|
|
893
|
-
|
894
|
-
if (c < clen) {
|
895
|
-
var _instance;
|
902
|
+
var pushedDownDataByColumns = (0, _array.pivot)(pushedDownDataByRows).slice(startColumn, startColumn + numberOfColumnsToPopulate);
|
896
903
|
|
897
|
-
|
898
|
-
|
904
|
+
for (c = 0; c < numberOfColumnsToPopulate; c += 1) {
|
905
|
+
if (c < numberOfDataColumns) {
|
906
|
+
for (r = 0, rlen = populatedDataByColumns[c].length; r < rowsPopulationEnd - rlen; r += 1) {
|
907
|
+
// repeating data for rows
|
908
|
+
populatedDataByColumns[c].push(populatedDataByColumns[c][r % rlen]);
|
899
909
|
}
|
900
910
|
|
901
|
-
|
902
|
-
|
903
|
-
|
911
|
+
if (c < pushedDownDataByColumns.length) {
|
912
|
+
newDataByColumns.push(populatedDataByColumns[c].concat(pushedDownDataByColumns[c]));
|
913
|
+
} else {
|
914
|
+
// if before data population, there was no data in the column
|
915
|
+
// we fill the required rows' newly-created cells with `null` values
|
916
|
+
newDataByColumns.push(populatedDataByColumns[c].concat(new Array(pushedDownDataByRows.length).fill(null)));
|
917
|
+
}
|
904
918
|
} else {
|
905
|
-
|
906
|
-
|
907
|
-
input[c % clen][0] = start.col + c;
|
908
|
-
|
909
|
-
(_instance2 = instance).spliceCol.apply(_instance2, _toConsumableArray(input[c % clen]));
|
919
|
+
// Repeating data for columns.
|
920
|
+
newDataByColumns.push(populatedDataByColumns[c % numberOfDataColumns].concat(pushedDownDataByColumns[c]));
|
910
921
|
}
|
911
922
|
}
|
912
923
|
|
924
|
+
instance.populateFromArray(startRow, startColumn, (0, _array.pivot)(newDataByColumns));
|
913
925
|
break;
|
914
926
|
|
915
927
|
case 'shift_right':
|
916
|
-
|
917
|
-
repeatRow = end ? end.row - start.row + 1 : 0;
|
928
|
+
var numberOfDataRows = input.length; // method's argument can extend the range of data population (data would be repeated)
|
918
929
|
|
919
|
-
|
920
|
-
|
921
|
-
|
930
|
+
var numberOfRowsToPopulate = Math.max(numberOfDataRows, rowsPopulationEnd);
|
931
|
+
var pushedRightDataByRows = instance.getData().slice(startRow).map(function (rowData) {
|
932
|
+
return rowData.slice(startColumn);
|
933
|
+
});
|
922
934
|
|
923
|
-
|
935
|
+
for (r = 0; r < numberOfRowsToPopulate; r += 1) {
|
936
|
+
if (r < numberOfDataRows) {
|
937
|
+
for (c = 0, clen = input[r].length; c < columnsPopulationEnd - clen; c += 1) {
|
938
|
+
// repeating data for rows
|
924
939
|
input[r].push(input[r][c % clen]);
|
925
940
|
}
|
926
941
|
|
927
|
-
|
942
|
+
if (r < pushedRightDataByRows.length) {
|
943
|
+
for (var i = 0; i < pushedRightDataByRows[r].length; i += 1) {
|
944
|
+
input[r].push(pushedRightDataByRows[r][i]);
|
945
|
+
}
|
946
|
+
} else {
|
947
|
+
var _input$r;
|
928
948
|
|
929
|
-
|
949
|
+
// if before data population, there was no data in the row
|
950
|
+
// we fill the required columns' newly-created cells with `null` values
|
951
|
+
(_input$r = input[r]).push.apply(_input$r, _toConsumableArray(new Array(pushedRightDataByRows[0].length).fill(null)));
|
952
|
+
}
|
930
953
|
} else {
|
931
|
-
|
932
|
-
|
933
|
-
input[r % rlen][0] = start.row + r;
|
934
|
-
|
935
|
-
(_instance4 = instance).spliceRow.apply(_instance4, _toConsumableArray(input[r % rlen]));
|
954
|
+
// Repeating data for columns.
|
955
|
+
input.push(input[r % rlen].slice(0, numberOfRowsToPopulate).concat(pushedRightDataByRows[r]));
|
936
956
|
}
|
937
957
|
}
|
938
958
|
|
959
|
+
instance.populateFromArray(startRow, startColumn, input);
|
939
960
|
break;
|
940
961
|
|
941
962
|
case 'overwrite':
|
@@ -1237,10 +1258,6 @@ function Core(rootElement, userSettings) {
|
|
1237
1258
|
|
1238
1259
|
var waitingForValidator = new ValidatorsQueue();
|
1239
1260
|
|
1240
|
-
var isNumericData = function isNumericData(value) {
|
1241
|
-
return value.length > 0 && /^\s*[+-.]?\s*(?:(?:\d+(?:(\.|,)\d+)?(?:e[+-]?\d+)?)|(?:0x[a-f\d]+))\s*$/.test(value);
|
1242
|
-
};
|
1243
|
-
|
1244
1261
|
waitingForValidator.onQueueEmpty = function (isValid) {
|
1245
1262
|
if (activeEditor && shouldBeCanceled) {
|
1246
1263
|
activeEditor.cancelChanges();
|
@@ -1261,7 +1278,7 @@ function Core(rootElement, userSettings) {
|
|
1261
1278
|
var col = datamap.propToCol(prop);
|
1262
1279
|
var cellProperties = instance.getCellMeta(row, col);
|
1263
1280
|
|
1264
|
-
if (cellProperties.type === 'numeric' && typeof newValue === 'string' &&
|
1281
|
+
if (cellProperties.type === 'numeric' && typeof newValue === 'string' && (0, _number.isNumericLike)(newValue)) {
|
1265
1282
|
changes[i][3] = getParsedNumber(newValue);
|
1266
1283
|
}
|
1267
1284
|
/* eslint-disable no-loop-func */
|
@@ -1385,6 +1402,8 @@ function Core(rootElement, userSettings) {
|
|
1385
1402
|
/**
|
1386
1403
|
* Validate a single cell.
|
1387
1404
|
*
|
1405
|
+
* @memberof Core#
|
1406
|
+
* @function validateCell
|
1388
1407
|
* @param {string|number} value The value to validate.
|
1389
1408
|
* @param {object} cellProperties The cell meta which corresponds with the value.
|
1390
1409
|
* @param {Function} callback The callback function.
|
@@ -1396,9 +1415,10 @@ function Core(rootElement, userSettings) {
|
|
1396
1415
|
var validator = instance.getCellValidator(cellProperties); // the `canBeValidated = false` argument suggests, that the cell passes validation by default.
|
1397
1416
|
|
1398
1417
|
/**
|
1418
|
+
* @private
|
1419
|
+
* @function done
|
1399
1420
|
* @param {boolean} valid Indicates if the validation was successful.
|
1400
1421
|
* @param {boolean} [canBeValidated=true] Flag which controls the validation process.
|
1401
|
-
* @private
|
1402
1422
|
*/
|
1403
1423
|
|
1404
1424
|
function done(valid) {
|
@@ -1619,7 +1639,7 @@ function Core(rootElement, userSettings) {
|
|
1619
1639
|
* Populate cells at position with 2D input array (e.g. `[[1, 2], [3, 4]]`). Use `endRow`, `endCol` when you
|
1620
1640
|
* want to cut input when a certain row is reached.
|
1621
1641
|
*
|
1622
|
-
* Optional `method` argument has the same effect as pasteMode option (see {@link
|
1642
|
+
* Optional `method` argument has the same effect as pasteMode option (see {@link Options#pasteMode}).
|
1623
1643
|
*
|
1624
1644
|
* @memberof Core#
|
1625
1645
|
* @function populateFromArray
|
@@ -1808,7 +1828,7 @@ function Core(rootElement, userSettings) {
|
|
1808
1828
|
}
|
1809
1829
|
};
|
1810
1830
|
/**
|
1811
|
-
* Checks if the table rendering process was suspended. See explanation in {@link
|
1831
|
+
* Checks if the table rendering process was suspended. See explanation in {@link Core#suspendRender}.
|
1812
1832
|
*
|
1813
1833
|
* @memberof Core#
|
1814
1834
|
* @function isRenderSuspended
|
@@ -1827,8 +1847,8 @@ function Core(rootElement, userSettings) {
|
|
1827
1847
|
* When the table is in the suspend state, most operations will have no visual
|
1828
1848
|
* effect until the rendering state is resumed. Resuming the state automatically
|
1829
1849
|
* invokes the table rendering. To make sure that after executing all operations,
|
1830
|
-
* the table will be rendered, it's highly recommended to use the {@link
|
1831
|
-
* method or {@link
|
1850
|
+
* the table will be rendered, it's highly recommended to use the {@link Core#batchRender}
|
1851
|
+
* method or {@link Core#batch}, which additionally aggregates the logic execution
|
1832
1852
|
* that happens behind the table.
|
1833
1853
|
*
|
1834
1854
|
* The method is intended to be used by advanced users. Suspending the rendering
|
@@ -1857,7 +1877,7 @@ function Core(rootElement, userSettings) {
|
|
1857
1877
|
this.renderSuspendedCounter += 1;
|
1858
1878
|
};
|
1859
1879
|
/**
|
1860
|
-
* Resumes the rendering process. In combination with the {@link
|
1880
|
+
* Resumes the rendering process. In combination with the {@link Core#suspendRender}
|
1861
1881
|
* method it allows aggregating the table render cycles triggered by API calls or UI
|
1862
1882
|
* actions (or both) and calls the "render" once in the end. When the table is in
|
1863
1883
|
* the suspend state, most operations will have no visual effect until the rendering
|
@@ -1959,7 +1979,7 @@ function Core(rootElement, userSettings) {
|
|
1959
1979
|
};
|
1960
1980
|
/**
|
1961
1981
|
* Checks if the table indexes recalculation process was suspended. See explanation
|
1962
|
-
* in {@link
|
1982
|
+
* in {@link Core#suspendExecution}.
|
1963
1983
|
*
|
1964
1984
|
* @memberof Core#
|
1965
1985
|
* @function isExecutionSuspended
|
@@ -2001,7 +2021,7 @@ function Core(rootElement, userSettings) {
|
|
2001
2021
|
this.rowIndexMapper.suspendOperations();
|
2002
2022
|
};
|
2003
2023
|
/**
|
2004
|
-
* Resumes the execution process. In combination with the {@link
|
2024
|
+
* Resumes the execution process. In combination with the {@link Core#suspendExecution}
|
2005
2025
|
* method it allows aggregating the table logic changes after which the cache is
|
2006
2026
|
* updated. Resuming the state automatically invokes the table cache updating process.
|
2007
2027
|
*
|
@@ -2012,7 +2032,7 @@ function Core(rootElement, userSettings) {
|
|
2012
2032
|
* @function resumeExecution
|
2013
2033
|
* @param {boolean} [forceFlushChanges=false] If `true`, the table internal data cache
|
2014
2034
|
* is recalculated after the execution of the batched operations. For nested
|
2015
|
-
* {@link
|
2035
|
+
* {@link Core#batchExecution} calls, it can be desire to recalculate the table
|
2016
2036
|
* after each batch.
|
2017
2037
|
* @since 8.3.0
|
2018
2038
|
* @example
|
@@ -2167,14 +2187,67 @@ function Core(rootElement, userSettings) {
|
|
2167
2187
|
}, isSizeChanged);
|
2168
2188
|
};
|
2169
2189
|
/**
|
2170
|
-
*
|
2171
|
-
*
|
2172
|
-
* (
|
2190
|
+
* The `updateData()` method replaces Handsontable's [`data`](@/api/options.md#data) with a new dataset.
|
2191
|
+
*
|
2192
|
+
* The `updateData()` method:
|
2193
|
+
* - Keeps cells' states (e.g. cells' [formatting](@/guides/cell-features/formatting-cells.md) and cells' [`readOnly`](@/api/options.md#readonly) states)
|
2194
|
+
* - Keeps rows' states (e.g. row order)
|
2195
|
+
* - Keeps columns' states (e.g. column order)
|
2196
|
+
*
|
2197
|
+
* To replace Handsontable's [`data`](@/api/options.md#data) and reset states, use the [`loadData()`](#loaddata) method.
|
2198
|
+
*
|
2199
|
+
* Read more:
|
2200
|
+
* - [Binding to data →](@/guides/getting-started/binding-to-data.md)
|
2201
|
+
* - [Saving data →](@/guides/getting-started/saving-data.md)
|
2202
|
+
*
|
2203
|
+
* @memberof Core#
|
2204
|
+
* @function updateData
|
2205
|
+
* @since 11.1.0
|
2206
|
+
* @param {Array} data An [array of arrays](@/guides/getting-started/binding-to-data.md#array-of-arrays), or an [array of objects](@/guides/getting-started/binding-to-data.md#array-of-objects), that contains Handsontable's data
|
2207
|
+
* @param {string} [source] The source of the `updateData()` call
|
2208
|
+
* @fires Hooks#beforeUpdateData
|
2209
|
+
* @fires Hooks#afterUpdateData
|
2210
|
+
* @fires Hooks#afterChange
|
2211
|
+
*/
|
2212
|
+
|
2213
|
+
|
2214
|
+
this.updateData = function (data, source) {
|
2215
|
+
var _this3 = this;
|
2216
|
+
|
2217
|
+
(0, _dataMap.replaceData)(data, function (newDataMap) {
|
2218
|
+
datamap = newDataMap;
|
2219
|
+
}, function (newDataMap) {
|
2220
|
+
datamap = newDataMap;
|
2221
|
+
instance.columnIndexMapper.fitToLength(_this3.getInitialColumnCount());
|
2222
|
+
instance.rowIndexMapper.fitToLength(_this3.countSourceRows());
|
2223
|
+
grid.adjustRowsAndCols();
|
2224
|
+
}, {
|
2225
|
+
hotInstance: instance,
|
2226
|
+
dataMap: datamap,
|
2227
|
+
dataSource: dataSource,
|
2228
|
+
internalSource: 'updateData',
|
2229
|
+
source: source,
|
2230
|
+
firstRun: firstRun
|
2231
|
+
});
|
2232
|
+
};
|
2233
|
+
/**
|
2234
|
+
* The `loadData()` method replaces Handsontable's [`data`](@/api/options.md#data) with a new dataset.
|
2235
|
+
*
|
2236
|
+
* Additionally, the `loadData()` method:
|
2237
|
+
* - Resets cells' states (e.g. cells' [formatting](@/guides/cell-features/formatting-cells.md) and cells' [`readOnly`](@/api/options.md#readonly) states)
|
2238
|
+
* - Resets rows' states (e.g. row order)
|
2239
|
+
* - Resets columns' states (e.g. column order)
|
2240
|
+
*
|
2241
|
+
* To replace Handsontable's [`data`](@/api/options.md#data) without resetting states, use the [`updateData()`](#updatedata) method.
|
2242
|
+
*
|
2243
|
+
* Read more:
|
2244
|
+
* - [Binding to data →](@/guides/getting-started/binding-to-data.md)
|
2245
|
+
* - [Saving data →](@/guides/getting-started/saving-data.md)
|
2173
2246
|
*
|
2174
2247
|
* @memberof Core#
|
2175
2248
|
* @function loadData
|
2176
|
-
* @param {Array} data
|
2177
|
-
* @param {string} [source]
|
2249
|
+
* @param {Array} data An [array of arrays](@/guides/getting-started/binding-to-data.md#array-of-arrays), or an [array of objects](@/guides/getting-started/binding-to-data.md#array-of-objects), that contains Handsontable's data
|
2250
|
+
* @param {string} [source] The source of the `loadData()` call
|
2178
2251
|
* @fires Hooks#beforeLoadData
|
2179
2252
|
* @fires Hooks#afterLoadData
|
2180
2253
|
* @fires Hooks#afterChange
|
@@ -2182,88 +2255,34 @@ function Core(rootElement, userSettings) {
|
|
2182
2255
|
|
2183
2256
|
|
2184
2257
|
this.loadData = function (data, source) {
|
2185
|
-
|
2186
|
-
|
2187
|
-
}
|
2188
|
-
|
2189
|
-
|
2190
|
-
|
2191
|
-
}
|
2192
|
-
|
2193
|
-
if (datamap) {
|
2194
|
-
datamap.destroy();
|
2195
|
-
}
|
2196
|
-
|
2197
|
-
data = instance.runHooks('beforeLoadData', data, firstRun, source);
|
2198
|
-
datamap = new _index.DataMap(instance, data, tableMeta);
|
2199
|
-
|
2200
|
-
if (_typeof(data) === 'object' && data !== null) {
|
2201
|
-
if (!(data.push && data.splice)) {
|
2202
|
-
// check if data is array. Must use duck-type check so Backbone Collections also pass it
|
2203
|
-
// when data is not an array, attempt to make a single-row array of it
|
2204
|
-
// eslint-disable-next-line no-param-reassign
|
2205
|
-
data = [data];
|
2206
|
-
}
|
2207
|
-
} else if (data === null) {
|
2208
|
-
var dataSchema = datamap.getSchema(); // eslint-disable-next-line no-param-reassign
|
2209
|
-
|
2210
|
-
data = [];
|
2211
|
-
var row;
|
2212
|
-
var r = 0;
|
2213
|
-
var rlen = 0;
|
2214
|
-
|
2215
|
-
for (r = 0, rlen = tableMeta.startRows; r < rlen; r++) {
|
2216
|
-
if ((instance.dataType === 'object' || instance.dataType === 'function') && tableMeta.dataSchema) {
|
2217
|
-
row = (0, _object.deepClone)(dataSchema);
|
2218
|
-
data.push(row);
|
2219
|
-
} else if (instance.dataType === 'array') {
|
2220
|
-
row = (0, _object.deepClone)(dataSchema[0]);
|
2221
|
-
data.push(row);
|
2222
|
-
} else {
|
2223
|
-
row = [];
|
2224
|
-
|
2225
|
-
for (var c = 0, clen = tableMeta.startCols; c < clen; c++) {
|
2226
|
-
row.push(null);
|
2227
|
-
}
|
2258
|
+
(0, _dataMap.replaceData)(data, function (newDataMap) {
|
2259
|
+
datamap = newDataMap;
|
2260
|
+
}, function () {
|
2261
|
+
metaManager.clearCellsCache();
|
2262
|
+
instance.initIndexMappers();
|
2263
|
+
grid.adjustRowsAndCols();
|
2228
2264
|
|
2229
|
-
|
2230
|
-
|
2265
|
+
if (firstRun) {
|
2266
|
+
firstRun = [null, 'loadData'];
|
2231
2267
|
}
|
2232
|
-
}
|
2233
|
-
|
2234
|
-
|
2235
|
-
|
2236
|
-
|
2237
|
-
|
2238
|
-
|
2239
|
-
|
2240
|
-
tableMeta.data = data;
|
2241
|
-
datamap.dataSource = data;
|
2242
|
-
dataSource.data = data;
|
2243
|
-
dataSource.dataType = instance.dataType;
|
2244
|
-
dataSource.colToProp = datamap.colToProp.bind(datamap);
|
2245
|
-
dataSource.propToCol = datamap.propToCol.bind(datamap);
|
2246
|
-
dataSource.countCachedColumns = datamap.countCachedColumns.bind(datamap);
|
2247
|
-
metaManager.clearCellsCache();
|
2248
|
-
instance.initIndexMappers();
|
2249
|
-
grid.adjustRowsAndCols();
|
2250
|
-
instance.runHooks('afterLoadData', data, firstRun, source);
|
2251
|
-
|
2252
|
-
if (firstRun) {
|
2253
|
-
firstRun = [null, 'loadData'];
|
2254
|
-
} else {
|
2255
|
-
instance.runHooks('afterChange', null, 'loadData');
|
2256
|
-
instance.render();
|
2257
|
-
}
|
2268
|
+
}, {
|
2269
|
+
hotInstance: instance,
|
2270
|
+
dataMap: datamap,
|
2271
|
+
dataSource: dataSource,
|
2272
|
+
internalSource: 'loadData',
|
2273
|
+
source: source,
|
2274
|
+
firstRun: firstRun
|
2275
|
+
});
|
2258
2276
|
};
|
2259
2277
|
/**
|
2260
|
-
*
|
2278
|
+
* Gets the initial column count, calculated based on the `columns` setting.
|
2261
2279
|
*
|
2262
2280
|
* @private
|
2281
|
+
* @returns {number} The calculated number of columns.
|
2263
2282
|
*/
|
2264
2283
|
|
2265
2284
|
|
2266
|
-
this.
|
2285
|
+
this.getInitialColumnCount = function () {
|
2267
2286
|
var columnsSettings = tableMeta.columns;
|
2268
2287
|
var finalNrOfColumns = 0; // We will check number of columns when the `columns` property was defined as an array. Columns option may
|
2269
2288
|
// narrow down or expand displayed dataset in that case.
|
@@ -2293,13 +2312,23 @@ function Core(rootElement, userSettings) {
|
|
2293
2312
|
finalNrOfColumns = this.countSourceCols();
|
2294
2313
|
}
|
2295
2314
|
|
2296
|
-
|
2315
|
+
return finalNrOfColumns;
|
2316
|
+
};
|
2317
|
+
/**
|
2318
|
+
* Init index mapper which manage indexes assigned to the data.
|
2319
|
+
*
|
2320
|
+
* @private
|
2321
|
+
*/
|
2322
|
+
|
2323
|
+
|
2324
|
+
this.initIndexMappers = function () {
|
2325
|
+
this.columnIndexMapper.initToLength(this.getInitialColumnCount());
|
2297
2326
|
this.rowIndexMapper.initToLength(this.countSourceRows());
|
2298
2327
|
};
|
2299
2328
|
/**
|
2300
2329
|
* Returns the current data object (the same one that was passed by `data` configuration option or `loadData` method,
|
2301
2330
|
* unless some modifications have been applied (i.e. Sequence of rows/columns was changed, some row/column was skipped).
|
2302
|
-
* If that's the case - use the {@link
|
2331
|
+
* If that's the case - use the {@link Core#getSourceData} method.).
|
2303
2332
|
*
|
2304
2333
|
* Optionally you can provide cell range by defining `row`, `column`, `row2`, `column2` to get only a fragment of table data.
|
2305
2334
|
*
|
@@ -2385,7 +2414,7 @@ function Core(rootElement, userSettings) {
|
|
2385
2414
|
*
|
2386
2415
|
* @memberof Core#
|
2387
2416
|
* @function updateSettings
|
2388
|
-
* @param {object} settings New settings object (see {@link
|
2417
|
+
* @param {object} settings New settings object (see {@link Options}).
|
2389
2418
|
* @param {boolean} [init=false] Internally used for in initialization mode.
|
2390
2419
|
* @example
|
2391
2420
|
* ```js
|
@@ -2402,6 +2431,12 @@ function Core(rootElement, userSettings) {
|
|
2402
2431
|
|
2403
2432
|
this.updateSettings = function (settings) {
|
2404
2433
|
var init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
2434
|
+
// TODO: uncomment the next line with the next major version update
|
2435
|
+
// Do not forget to re-enable the pending tests that cover the change:
|
2436
|
+
// * https://github.com/handsontable/handsontable/blob/9f62c282a1c951b27cd8406aa27105bd32b05bb6/handsontable/test/e2e/core/toPhysicalColumn.spec.js#L70
|
2437
|
+
// * https://github.com/handsontable/handsontable/blob/9f62c282a1c951b27cd8406aa27105bd32b05bb6/handsontable/test/e2e/core/toVisualColumn.spec.js#L70
|
2438
|
+
// const dataUpdateFunction = (firstRun ? instance.loadData : instance.updateData).bind(this);
|
2439
|
+
var dataUpdateFunction = instance.loadData.bind(this);
|
2405
2440
|
var columnsAsFunc = false;
|
2406
2441
|
var i;
|
2407
2442
|
var j;
|
@@ -2446,9 +2481,9 @@ function Core(rootElement, userSettings) {
|
|
2446
2481
|
|
2447
2482
|
|
2448
2483
|
if (settings.data === void 0 && tableMeta.data === void 0) {
|
2449
|
-
|
2484
|
+
dataUpdateFunction(null, 'updateSettings'); // data source created just now
|
2450
2485
|
} else if (settings.data !== void 0) {
|
2451
|
-
|
2486
|
+
dataUpdateFunction(settings.data, 'updateSettings'); // data source given as option
|
2452
2487
|
} else if (settings.columns !== void 0) {
|
2453
2488
|
datamap.createMap(); // The `column` property has changed - dataset may be expanded or narrowed down. The `loadData` do the same.
|
2454
2489
|
|
@@ -3054,7 +3089,7 @@ function Core(rootElement, userSettings) {
|
|
3054
3089
|
};
|
3055
3090
|
/**
|
3056
3091
|
* @description
|
3057
|
-
* Returns a data type defined in the Handsontable settings under the `type` key ({@link
|
3092
|
+
* Returns a data type defined in the Handsontable settings under the `type` key ({@link Options#type}).
|
3058
3093
|
* If there are cells with different types in the selected range, it returns `'mixed'`.
|
3059
3094
|
*
|
3060
3095
|
* __Note__: If data is reordered, sorted or trimmed, the currently visible order will be used.
|
@@ -3070,7 +3105,7 @@ function Core(rootElement, userSettings) {
|
|
3070
3105
|
|
3071
3106
|
|
3072
3107
|
this.getDataType = function (rowFrom, columnFrom, rowTo, columnTo) {
|
3073
|
-
var
|
3108
|
+
var _this4 = this;
|
3074
3109
|
|
3075
3110
|
var coords = rowFrom === void 0 ? [0, 0, this.countRows(), this.countCols()] : [rowFrom, columnFrom, rowTo, columnTo];
|
3076
3111
|
var rowStart = coords[0],
|
@@ -3092,7 +3127,7 @@ function Core(rootElement, userSettings) {
|
|
3092
3127
|
(0, _number.rangeEach)(Math.max(Math.min(rowStart, rowEnd), 0), Math.max(rowStart, rowEnd), function (row) {
|
3093
3128
|
var isTypeEqual = true;
|
3094
3129
|
(0, _number.rangeEach)(Math.max(Math.min(columnStart, columnEnd), 0), Math.max(columnStart, columnEnd), function (column) {
|
3095
|
-
var cellType =
|
3130
|
+
var cellType = _this4.getCellMeta(row, column);
|
3096
3131
|
|
3097
3132
|
currentType = cellType.type;
|
3098
3133
|
|
@@ -3126,7 +3161,7 @@ function Core(rootElement, userSettings) {
|
|
3126
3161
|
var _ref19 = [this.toPhysicalRow(row), this.toPhysicalColumn(column)],
|
3127
3162
|
physicalRow = _ref19[0],
|
3128
3163
|
physicalColumn = _ref19[1];
|
3129
|
-
var cachedValue = metaManager.
|
3164
|
+
var cachedValue = metaManager.getCellMetaKeyValue(physicalRow, physicalColumn, key);
|
3130
3165
|
var hookResult = instance.runHooks('beforeRemoveCellMeta', row, column, key, cachedValue);
|
3131
3166
|
|
3132
3167
|
if (hookResult !== false) {
|
@@ -3149,7 +3184,7 @@ function Core(rootElement, userSettings) {
|
|
3149
3184
|
|
3150
3185
|
|
3151
3186
|
this.spliceCellsMeta = function (visualIndex) {
|
3152
|
-
var
|
3187
|
+
var _this5 = this;
|
3153
3188
|
|
3154
3189
|
var deleteAmount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
3155
3190
|
|
@@ -3167,12 +3202,14 @@ function Core(rootElement, userSettings) {
|
|
3167
3202
|
|
3168
3203
|
if (cellMetaRows.length > 0) {
|
3169
3204
|
(0, _array.arrayEach)(cellMetaRows.reverse(), function (cellMetaRow) {
|
3170
|
-
metaManager.createRow(
|
3205
|
+
metaManager.createRow(_this5.toPhysicalRow(visualIndex));
|
3171
3206
|
(0, _array.arrayEach)(cellMetaRow, function (cellMeta, columnIndex) {
|
3172
|
-
return
|
3207
|
+
return _this5.setCellMetaObject(visualIndex, columnIndex, cellMeta);
|
3173
3208
|
});
|
3174
3209
|
});
|
3175
3210
|
}
|
3211
|
+
|
3212
|
+
instance.render();
|
3176
3213
|
};
|
3177
3214
|
/**
|
3178
3215
|
* Set cell meta data object defined by `prop` to the corresponding params `row` and `column`.
|
@@ -3186,11 +3223,11 @@ function Core(rootElement, userSettings) {
|
|
3186
3223
|
|
3187
3224
|
|
3188
3225
|
this.setCellMetaObject = function (row, column, prop) {
|
3189
|
-
var
|
3226
|
+
var _this6 = this;
|
3190
3227
|
|
3191
3228
|
if (_typeof(prop) === 'object') {
|
3192
3229
|
(0, _object.objectEach)(prop, function (value, key) {
|
3193
|
-
|
3230
|
+
_this6.setCellMeta(row, column, key, value);
|
3194
3231
|
});
|
3195
3232
|
}
|
3196
3233
|
};
|
@@ -3266,33 +3303,10 @@ function Core(rootElement, userSettings) {
|
|
3266
3303
|
physicalColumn = column;
|
3267
3304
|
}
|
3268
3305
|
|
3269
|
-
|
3270
|
-
|
3271
|
-
|
3272
|
-
|
3273
|
-
cellProperties.col = physicalColumn;
|
3274
|
-
cellProperties.visualRow = row;
|
3275
|
-
cellProperties.visualCol = column;
|
3276
|
-
cellProperties.prop = prop;
|
3277
|
-
cellProperties.instance = instance;
|
3278
|
-
instance.runHooks('beforeGetCellMeta', row, column, cellProperties); // for `type` added or changed in beforeGetCellMeta
|
3279
|
-
|
3280
|
-
if (instance.hasHook('beforeGetCellMeta') && (0, _object.hasOwnProperty)(cellProperties, 'type')) {
|
3281
|
-
metaManager.updateCellMeta(physicalRow, physicalColumn, {
|
3282
|
-
type: cellProperties.type
|
3283
|
-
});
|
3284
|
-
}
|
3285
|
-
|
3286
|
-
if (cellProperties.cells) {
|
3287
|
-
var settings = cellProperties.cells(physicalRow, physicalColumn, prop);
|
3288
|
-
|
3289
|
-
if (settings) {
|
3290
|
-
metaManager.updateCellMeta(physicalRow, physicalColumn, settings);
|
3291
|
-
}
|
3292
|
-
}
|
3293
|
-
|
3294
|
-
instance.runHooks('afterGetCellMeta', row, column, cellProperties);
|
3295
|
-
return cellProperties;
|
3306
|
+
return metaManager.getCellMeta(physicalRow, physicalColumn, {
|
3307
|
+
visualRow: row,
|
3308
|
+
visualColumn: column
|
3309
|
+
});
|
3296
3310
|
};
|
3297
3311
|
/**
|
3298
3312
|
* Returns an array of cell meta objects for specified physical row index.
|
@@ -3326,7 +3340,7 @@ function Core(rootElement, userSettings) {
|
|
3326
3340
|
*
|
3327
3341
|
* @memberof Core#
|
3328
3342
|
* @function getCellRenderer
|
3329
|
-
* @param {number|object} row Visual row index or cell meta object (see {@link
|
3343
|
+
* @param {number|object} row Visual row index or cell meta object (see {@link Core#getCellMeta}).
|
3330
3344
|
* @param {number} column Visual column index.
|
3331
3345
|
* @returns {Function} The renderer function.
|
3332
3346
|
* @example
|
@@ -3346,7 +3360,7 @@ function Core(rootElement, userSettings) {
|
|
3346
3360
|
*
|
3347
3361
|
* @memberof Core#
|
3348
3362
|
* @function getCellEditor
|
3349
|
-
* @param {number} row Visual row index or cell meta object (see {@link
|
3363
|
+
* @param {number} row Visual row index or cell meta object (see {@link Core#getCellMeta}).
|
3350
3364
|
* @param {number} column Visual column index.
|
3351
3365
|
* @returns {Function} The editor class.
|
3352
3366
|
* @example
|
@@ -3366,7 +3380,7 @@ function Core(rootElement, userSettings) {
|
|
3366
3380
|
*
|
3367
3381
|
* @memberof Core#
|
3368
3382
|
* @function getCellValidator
|
3369
|
-
* @param {number|object} row Visual row index or cell meta object (see {@link
|
3383
|
+
* @param {number|object} row Visual row index or cell meta object (see {@link Core#getCellMeta}).
|
3370
3384
|
* @param {number} column Visual column index.
|
3371
3385
|
* @returns {Function|RegExp|undefined} The validator function.
|
3372
3386
|
* @example
|
@@ -3766,6 +3780,8 @@ function Core(rootElement, userSettings) {
|
|
3766
3780
|
/**
|
3767
3781
|
* Returns the row height.
|
3768
3782
|
*
|
3783
|
+
* Mind that this method is different from the [AutoRowSize](@/api/autoRowSize.md) plugin's [`getRowHeight()`](@/api/autoRowSize.md#getrowheight) method.
|
3784
|
+
*
|
3769
3785
|
* @memberof Core#
|
3770
3786
|
* @function getRowHeight
|
3771
3787
|
* @param {number} row Visual row index.
|
@@ -4364,7 +4380,7 @@ function Core(rootElement, userSettings) {
|
|
4364
4380
|
* @memberof Core#
|
4365
4381
|
* @function addHook
|
4366
4382
|
* @see Hooks#add
|
4367
|
-
* @param {string} key Hook name (see {@link
|
4383
|
+
* @param {string} key Hook name (see {@link Hooks}).
|
4368
4384
|
* @param {Function|Array} callback Function or array of functions.
|
4369
4385
|
* @example
|
4370
4386
|
* ```js
|
@@ -4378,7 +4394,7 @@ function Core(rootElement, userSettings) {
|
|
4378
4394
|
};
|
4379
4395
|
/**
|
4380
4396
|
* Check if for a specified hook name there are added listeners (only for this Handsontable instance). All available
|
4381
|
-
* hooks you will find {@link
|
4397
|
+
* hooks you will find {@link Hooks}.
|
4382
4398
|
*
|
4383
4399
|
* @memberof Core#
|
4384
4400
|
* @function hasHook
|
@@ -4403,7 +4419,7 @@ function Core(rootElement, userSettings) {
|
|
4403
4419
|
* @memberof Core#
|
4404
4420
|
* @function addHookOnce
|
4405
4421
|
* @see Hooks#once
|
4406
|
-
* @param {string} key Hook name (see {@link
|
4422
|
+
* @param {string} key Hook name (see {@link Hooks}).
|
4407
4423
|
* @param {Function|Array} callback Function or array of functions.
|
4408
4424
|
* @example
|
4409
4425
|
* ```js
|
@@ -4416,13 +4432,13 @@ function Core(rootElement, userSettings) {
|
|
4416
4432
|
_pluginHooks.default.getSingleton().once(key, callback, instance);
|
4417
4433
|
};
|
4418
4434
|
/**
|
4419
|
-
* Removes the hook listener previously registered with {@link
|
4435
|
+
* Removes the hook listener previously registered with {@link Core#addHook}.
|
4420
4436
|
*
|
4421
4437
|
* @memberof Core#
|
4422
4438
|
* @function removeHook
|
4423
4439
|
* @see Hooks#remove
|
4424
4440
|
* @param {string} key Hook name.
|
4425
|
-
* @param {Function} callback Reference to the function which has been registered using {@link
|
4441
|
+
* @param {Function} callback Reference to the function which has been registered using {@link Core#addHook}.
|
4426
4442
|
*
|
4427
4443
|
* @example
|
4428
4444
|
* ```js
|
@@ -4582,6 +4598,45 @@ function Core(rootElement, userSettings) {
|
|
4582
4598
|
editorManager.prepareEditor();
|
4583
4599
|
}
|
4584
4600
|
};
|
4601
|
+
/**
|
4602
|
+
* Check if currently it is RTL direction.
|
4603
|
+
*
|
4604
|
+
* @private
|
4605
|
+
* @memberof Core#
|
4606
|
+
* @function isRtl
|
4607
|
+
* @returns {boolean} True if RTL.
|
4608
|
+
*/
|
4609
|
+
|
4610
|
+
|
4611
|
+
this.isRtl = function () {
|
4612
|
+
return instance.rootWindow.getComputedStyle(instance.rootElement).direction === 'rtl';
|
4613
|
+
};
|
4614
|
+
/**
|
4615
|
+
* Check if currently it is LTR direction.
|
4616
|
+
*
|
4617
|
+
* @private
|
4618
|
+
* @memberof Core#
|
4619
|
+
* @function isLtr
|
4620
|
+
* @returns {boolean} True if LTR.
|
4621
|
+
*/
|
4622
|
+
|
4623
|
+
|
4624
|
+
this.isLtr = function () {
|
4625
|
+
return !instance.isRtl();
|
4626
|
+
};
|
4627
|
+
/**
|
4628
|
+
* Returns 1 for LTR; -1 for RTL. Useful for calculations.
|
4629
|
+
*
|
4630
|
+
* @private
|
4631
|
+
* @memberof Core#
|
4632
|
+
* @function getDirectionFactor
|
4633
|
+
* @returns {number} Returns 1 for LTR; -1 for RTL.
|
4634
|
+
*/
|
4635
|
+
|
4636
|
+
|
4637
|
+
this.getDirectionFactor = function () {
|
4638
|
+
return instance.isLtr() ? 1 : -1;
|
4639
|
+
};
|
4585
4640
|
|
4586
4641
|
(0, _registry.getPluginsNames)().forEach(function (pluginName) {
|
4587
4642
|
var PluginClass = (0, _registry.getPlugin)(pluginName);
|