handsontable 9.0.2 → 11.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/3rdparty/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);
|