handsontable 12.1.2 → 12.2.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/SheetClip/SheetClip.js +3 -32
- package/3rdparty/SheetClip/SheetClip.mjs +3 -23
- package/3rdparty/SheetClip/index.js +0 -2
- package/3rdparty/autoResize/autoResize.js +119 -145
- package/3rdparty/autoResize/autoResize.mjs +119 -143
- package/3rdparty/autoResize/index.js +0 -2
- package/3rdparty/walkontable/src/border.js +72 -174
- package/3rdparty/walkontable/src/border.mjs +74 -161
- package/3rdparty/walkontable/src/calculator/constants.js +0 -3
- package/3rdparty/walkontable/src/calculator/constants.mjs +0 -2
- package/3rdparty/walkontable/src/calculator/index.js +0 -10
- package/3rdparty/walkontable/src/calculator/viewportColumns.js +26 -76
- package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +26 -69
- package/3rdparty/walkontable/src/calculator/viewportRows.js +20 -48
- package/3rdparty/walkontable/src/calculator/viewportRows.mjs +20 -41
- package/3rdparty/walkontable/src/cell/coords.js +13 -43
- package/3rdparty/walkontable/src/cell/coords.mjs +13 -38
- package/3rdparty/walkontable/src/cell/range.js +55 -130
- package/3rdparty/walkontable/src/cell/range.mjs +60 -126
- package/3rdparty/walkontable/src/core/_base.js +16 -74
- package/3rdparty/walkontable/src/core/_base.mjs +19 -70
- package/3rdparty/walkontable/src/core/clone.js +1 -40
- package/3rdparty/walkontable/src/core/clone.mjs +3 -30
- package/3rdparty/walkontable/src/core/core.js +3 -57
- package/3rdparty/walkontable/src/core/core.mjs +5 -41
- package/3rdparty/walkontable/src/event.js +31 -78
- package/3rdparty/walkontable/src/event.mjs +31 -65
- package/3rdparty/walkontable/src/facade/core.js +1 -17
- package/3rdparty/walkontable/src/facade/core.mjs +7 -20
- package/3rdparty/walkontable/src/filter/column.js +9 -18
- package/3rdparty/walkontable/src/filter/column.mjs +9 -17
- package/3rdparty/walkontable/src/filter/row.js +9 -18
- package/3rdparty/walkontable/src/filter/row.mjs +9 -17
- package/3rdparty/walkontable/src/index.js +0 -31
- package/3rdparty/walkontable/src/overlay/_base.js +24 -69
- package/3rdparty/walkontable/src/overlay/_base.mjs +31 -68
- package/3rdparty/walkontable/src/overlay/bottom.js +28 -99
- package/3rdparty/walkontable/src/overlay/bottom.mjs +30 -86
- package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.js +7 -53
- package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.mjs +9 -40
- package/3rdparty/walkontable/src/overlay/constants.js +0 -6
- package/3rdparty/walkontable/src/overlay/constants.mjs +0 -1
- package/3rdparty/walkontable/src/overlay/index.js +0 -17
- package/3rdparty/walkontable/src/overlay/inlineStart.js +21 -91
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +23 -78
- package/3rdparty/walkontable/src/overlay/top.js +27 -100
- package/3rdparty/walkontable/src/overlay/top.mjs +29 -87
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +4 -51
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +6 -38
- package/3rdparty/walkontable/src/overlays.js +58 -129
- package/3rdparty/walkontable/src/overlays.mjs +60 -121
- package/3rdparty/walkontable/src/renderer/_base.js +4 -20
- package/3rdparty/walkontable/src/renderer/_base.mjs +8 -22
- package/3rdparty/walkontable/src/renderer/cells.js +10 -54
- package/3rdparty/walkontable/src/renderer/cells.mjs +22 -52
- package/3rdparty/walkontable/src/renderer/colGroup.js +10 -47
- package/3rdparty/walkontable/src/renderer/colGroup.mjs +21 -46
- package/3rdparty/walkontable/src/renderer/columnHeaders.js +8 -50
- package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +19 -49
- package/3rdparty/walkontable/src/renderer/index.js +13 -36
- package/3rdparty/walkontable/src/renderer/index.mjs +17 -27
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +8 -50
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +20 -49
- package/3rdparty/walkontable/src/renderer/rows.js +3 -46
- package/3rdparty/walkontable/src/renderer/rows.mjs +3 -29
- package/3rdparty/walkontable/src/renderer/table.js +22 -49
- package/3rdparty/walkontable/src/renderer/table.mjs +22 -48
- package/3rdparty/walkontable/src/scroll.js +56 -86
- package/3rdparty/walkontable/src/scroll.mjs +58 -86
- package/3rdparty/walkontable/src/selection.js +20 -101
- package/3rdparty/walkontable/src/selection.mjs +22 -85
- package/3rdparty/walkontable/src/settings.js +9 -29
- package/3rdparty/walkontable/src/settings.mjs +9 -27
- package/3rdparty/walkontable/src/table/bottom.js +1 -35
- package/3rdparty/walkontable/src/table/bottom.mjs +6 -25
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.js +1 -35
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.mjs +7 -26
- package/3rdparty/walkontable/src/table/inlineStart.js +1 -35
- package/3rdparty/walkontable/src/table/inlineStart.mjs +3 -22
- package/3rdparty/walkontable/src/table/master.js +10 -55
- package/3rdparty/walkontable/src/table/master.mjs +15 -44
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +7 -28
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +7 -26
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +7 -28
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +7 -26
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +7 -22
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +7 -20
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +7 -23
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +7 -21
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +7 -22
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +7 -20
- package/3rdparty/walkontable/src/table/top.js +1 -35
- package/3rdparty/walkontable/src/table/top.mjs +6 -25
- package/3rdparty/walkontable/src/table/topInlineStartCorner.js +1 -35
- package/3rdparty/walkontable/src/table/topInlineStartCorner.mjs +7 -26
- package/3rdparty/walkontable/src/table.js +74 -238
- package/3rdparty/walkontable/src/table.mjs +84 -227
- package/3rdparty/walkontable/src/types.js +0 -5
- package/3rdparty/walkontable/src/types.mjs +0 -5
- package/3rdparty/walkontable/src/utils/column.js +9 -31
- package/3rdparty/walkontable/src/utils/column.mjs +13 -30
- package/3rdparty/walkontable/src/utils/nodesPool.js +3 -12
- package/3rdparty/walkontable/src/utils/nodesPool.mjs +3 -11
- package/3rdparty/walkontable/src/utils/orderView/constants.js +0 -3
- package/3rdparty/walkontable/src/utils/orderView/constants.mjs +0 -2
- package/3rdparty/walkontable/src/utils/orderView/index.js +0 -5
- package/3rdparty/walkontable/src/utils/orderView/sharedView.js +2 -33
- package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +6 -26
- package/3rdparty/walkontable/src/utils/orderView/view.js +14 -46
- package/3rdparty/walkontable/src/utils/orderView/view.mjs +21 -50
- package/3rdparty/walkontable/src/utils/orderView/viewSize.js +3 -15
- package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +3 -14
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +8 -22
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +23 -34
- package/3rdparty/walkontable/src/utils/row.js +2 -13
- package/3rdparty/walkontable/src/utils/row.mjs +2 -12
- package/3rdparty/walkontable/src/viewport.js +38 -100
- package/3rdparty/walkontable/src/viewport.mjs +40 -99
- package/CHANGELOG.md +103 -5
- package/base.js +6 -17
- package/base.mjs +6 -12
- package/cellTypes/autocompleteType/autocompleteType.js +0 -4
- package/cellTypes/autocompleteType/index.js +0 -2
- package/cellTypes/checkboxType/checkboxType.js +0 -3
- package/cellTypes/checkboxType/index.js +0 -2
- package/cellTypes/dateType/dateType.js +0 -4
- package/cellTypes/dateType/index.js +0 -2
- package/cellTypes/dropdownType/dropdownType.js +0 -4
- package/cellTypes/dropdownType/index.js +0 -2
- package/cellTypes/handsontableType/handsontableType.js +0 -3
- package/cellTypes/handsontableType/index.js +0 -2
- package/cellTypes/index.js +0 -21
- package/cellTypes/index.mjs +3 -5
- package/cellTypes/numericType/index.js +0 -2
- package/cellTypes/numericType/numericType.js +0 -4
- package/cellTypes/passwordType/index.js +0 -2
- package/cellTypes/passwordType/passwordType.js +0 -3
- package/cellTypes/registry.js +10 -25
- package/cellTypes/registry.mjs +10 -20
- package/cellTypes/textType/index.js +0 -2
- package/cellTypes/textType/textType.js +0 -3
- package/cellTypes/timeType/index.js +0 -2
- package/cellTypes/timeType/timeType.js +0 -4
- package/core.d.ts +6 -4
- package/core.js +514 -974
- package/core.mjs +519 -921
- package/dataMap/dataMap.js +127 -212
- package/dataMap/dataMap.mjs +127 -188
- package/{dataSource.js → dataMap/dataSource.js} +18 -66
- package/{dataSource.mjs → dataMap/dataSource.mjs} +20 -60
- package/dataMap/index.js +0 -13
- package/dataMap/metaManager/index.js +21 -46
- package/dataMap/metaManager/index.mjs +47 -64
- package/dataMap/metaManager/lazyFactoryMap.js +23 -55
- package/dataMap/metaManager/lazyFactoryMap.mjs +23 -43
- package/dataMap/metaManager/metaLayers/cellMeta.js +16 -52
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +16 -37
- package/dataMap/metaManager/metaLayers/columnMeta.js +8 -22
- package/dataMap/metaManager/metaLayers/columnMeta.mjs +14 -25
- package/dataMap/metaManager/metaLayers/globalMeta.js +4 -19
- package/dataMap/metaManager/metaLayers/globalMeta.mjs +4 -15
- package/dataMap/metaManager/metaLayers/tableMeta.js +4 -15
- package/dataMap/metaManager/metaLayers/tableMeta.mjs +28 -37
- package/dataMap/metaManager/metaSchema.js +196 -257
- package/dataMap/metaManager/metaSchema.mjs +196 -248
- package/dataMap/metaManager/mods/dynamicCellMeta.js +6 -36
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +20 -39
- package/dataMap/metaManager/mods/extendMetaProperties.js +5 -28
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +4 -18
- package/dataMap/metaManager/utils.js +11 -20
- package/dataMap/metaManager/utils.mjs +21 -23
- package/dataMap/replaceData.js +14 -35
- package/dataMap/replaceData.mjs +35 -45
- package/dist/handsontable.css +2 -2
- package/dist/handsontable.full.css +2 -2
- package/dist/handsontable.full.js +64469 -93042
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +527 -284
- package/dist/handsontable.js +9616 -21414
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +3 -3
- package/dist/languages/all.js +0 -175
- package/dist/languages/ar-AR.js +0 -10
- package/dist/languages/cs-CZ.js +0 -10
- package/dist/languages/de-CH.js +0 -10
- package/dist/languages/de-DE.js +0 -10
- package/dist/languages/en-US.js +0 -10
- package/dist/languages/es-MX.js +0 -10
- package/dist/languages/fr-FR.js +0 -10
- package/dist/languages/it-IT.js +0 -10
- package/dist/languages/ja-JP.js +0 -10
- package/dist/languages/ko-KR.js +0 -10
- package/dist/languages/lv-LV.js +0 -10
- package/dist/languages/nb-NO.js +0 -10
- package/dist/languages/nl-NL.js +0 -10
- package/dist/languages/pl-PL.js +0 -10
- package/dist/languages/pt-BR.js +0 -10
- package/dist/languages/ru-RU.js +0 -10
- package/dist/languages/sr-SP.js +0 -10
- package/dist/languages/zh-CN.js +0 -10
- package/dist/languages/zh-TW.js +0 -10
- package/editorManager.js +89 -124
- package/editorManager.mjs +89 -104
- package/editors/autocompleteEditor/autocompleteEditor.js +26 -133
- package/editors/autocompleteEditor/autocompleteEditor.mjs +26 -104
- package/editors/autocompleteEditor/index.js +0 -2
- package/editors/baseEditor/baseEditor.js +45 -155
- package/editors/baseEditor/baseEditor.mjs +45 -129
- package/editors/baseEditor/index.js +0 -2
- package/editors/checkboxEditor/checkboxEditor.js +2 -33
- package/editors/checkboxEditor/checkboxEditor.mjs +2 -19
- package/editors/checkboxEditor/index.js +0 -2
- package/editors/dateEditor/dateEditor.js +36 -97
- package/editors/dateEditor/dateEditor.mjs +35 -74
- package/editors/dateEditor/index.js +0 -2
- package/editors/dropdownEditor/dropdownEditor.js +1 -41
- package/editors/dropdownEditor/dropdownEditor.mjs +1 -22
- package/editors/dropdownEditor/index.js +0 -2
- package/editors/handsontableEditor/handsontableEditor.js +13 -85
- package/editors/handsontableEditor/handsontableEditor.mjs +13 -66
- package/editors/handsontableEditor/index.js +0 -2
- package/editors/index.js +0 -25
- package/editors/index.mjs +3 -5
- package/editors/numericEditor/index.js +0 -2
- package/editors/numericEditor/numericEditor.js +1 -31
- package/editors/numericEditor/numericEditor.mjs +1 -18
- package/editors/passwordEditor/index.js +0 -2
- package/editors/passwordEditor/passwordEditor.js +1 -38
- package/editors/passwordEditor/passwordEditor.mjs +1 -22
- package/editors/registry.js +10 -36
- package/editors/registry.mjs +10 -28
- package/editors/selectEditor/index.js +0 -2
- package/editors/selectEditor/selectEditor.js +21 -73
- package/editors/selectEditor/selectEditor.mjs +21 -56
- package/editors/textEditor/caretPositioner.js +0 -12
- package/editors/textEditor/caretPositioner.mjs +10 -20
- package/editors/textEditor/index.js +0 -2
- package/editors/textEditor/textEditor.js +38 -137
- package/editors/textEditor/textEditor.mjs +38 -106
- package/editors/timeEditor/index.js +0 -2
- package/editors/timeEditor/timeEditor.js +1 -36
- package/editors/timeEditor/timeEditor.mjs +1 -21
- package/eventManager.js +20 -56
- package/eventManager.mjs +23 -56
- package/helpers/array.js +22 -88
- package/helpers/array.mjs +22 -58
- package/helpers/browser.js +25 -51
- package/helpers/browser.mjs +25 -32
- package/helpers/console.js +3 -13
- package/helpers/console.mjs +8 -16
- package/helpers/data.d.ts +0 -1
- package/helpers/data.js +10 -55
- package/helpers/data.mjs +10 -33
- package/helpers/date.js +2 -3
- package/helpers/date.mjs +2 -2
- package/helpers/dom/element.js +67 -259
- package/helpers/dom/element.mjs +74 -194
- package/helpers/dom/event.js +3 -7
- package/helpers/dom/event.mjs +3 -3
- package/helpers/feature.js +13 -47
- package/helpers/feature.mjs +13 -31
- package/helpers/function.js +14 -59
- package/helpers/function.mjs +20 -52
- package/helpers/mixed.js +9 -66
- package/helpers/mixed.mjs +15 -51
- package/helpers/number.js +4 -46
- package/helpers/number.mjs +4 -23
- package/helpers/object.js +15 -72
- package/helpers/object.mjs +21 -52
- package/helpers/string.js +6 -28
- package/helpers/string.mjs +12 -21
- package/helpers/templateLiteralTag.js +0 -6
- package/helpers/templateLiteralTag.mjs +7 -10
- package/helpers/unicode.js +17 -26
- package/helpers/unicode.mjs +17 -15
- package/helpers/wrappers/jquery.js +4 -14
- package/helpers/wrappers/jquery.mjs +4 -13
- package/i18n/constants.js +1 -3
- package/i18n/constants.mjs +1 -1
- package/i18n/index.js +0 -7
- package/i18n/languages/ar-AR.js +0 -16
- package/i18n/languages/ar-AR.mjs +1 -4
- package/i18n/languages/cs-CZ.js +0 -16
- package/i18n/languages/cs-CZ.mjs +1 -4
- package/i18n/languages/de-CH.js +0 -16
- package/i18n/languages/de-CH.mjs +1 -4
- package/i18n/languages/de-DE.js +0 -16
- package/i18n/languages/de-DE.mjs +1 -4
- package/i18n/languages/en-US.js +0 -16
- package/i18n/languages/en-US.mjs +1 -4
- package/i18n/languages/es-MX.js +0 -16
- package/i18n/languages/es-MX.mjs +1 -4
- package/i18n/languages/fr-FR.js +0 -16
- package/i18n/languages/fr-FR.mjs +1 -4
- package/i18n/languages/index.js +0 -39
- package/i18n/languages/it-IT.js +0 -16
- package/i18n/languages/it-IT.mjs +1 -4
- package/i18n/languages/ja-JP.js +0 -16
- package/i18n/languages/ja-JP.mjs +1 -4
- package/i18n/languages/ko-KR.js +0 -16
- package/i18n/languages/ko-KR.mjs +1 -4
- package/i18n/languages/lv-LV.js +0 -16
- package/i18n/languages/lv-LV.mjs +1 -4
- package/i18n/languages/nb-NO.js +0 -16
- package/i18n/languages/nb-NO.mjs +1 -4
- package/i18n/languages/nl-NL.js +0 -16
- package/i18n/languages/nl-NL.mjs +1 -4
- package/i18n/languages/pl-PL.js +0 -16
- package/i18n/languages/pl-PL.mjs +1 -4
- package/i18n/languages/pt-BR.js +0 -16
- package/i18n/languages/pt-BR.mjs +1 -4
- package/i18n/languages/ru-RU.js +0 -16
- package/i18n/languages/ru-RU.mjs +1 -4
- package/i18n/languages/sr-SP.js +0 -16
- package/i18n/languages/sr-SP.mjs +1 -4
- package/i18n/languages/zh-CN.js +0 -16
- package/i18n/languages/zh-CN.mjs +1 -4
- package/i18n/languages/zh-TW.js +0 -16
- package/i18n/languages/zh-TW.mjs +1 -4
- package/i18n/phraseFormatters/index.js +4 -11
- package/i18n/phraseFormatters/index.mjs +4 -6
- package/i18n/phraseFormatters/pluralize.js +0 -5
- package/i18n/phraseFormatters/pluralize.mjs +0 -3
- package/i18n/phraseFormatters/substituteVariables.js +0 -4
- package/i18n/phraseFormatters/substituteVariables.mjs +8 -11
- package/i18n/registry.js +18 -59
- package/i18n/registry.mjs +18 -30
- package/i18n/utils.js +4 -22
- package/i18n/utils.mjs +13 -21
- package/index.js +19 -56
- package/index.mjs +19 -15
- package/languages/all.js +0 -175
- package/languages/ar-AR.js +0 -10
- package/languages/ar-AR.mjs +1 -4
- package/languages/cs-CZ.js +0 -10
- package/languages/cs-CZ.mjs +1 -4
- package/languages/de-CH.js +0 -10
- package/languages/de-CH.mjs +1 -4
- package/languages/de-DE.js +0 -10
- package/languages/de-DE.mjs +1 -4
- package/languages/en-US.js +0 -10
- package/languages/en-US.mjs +1 -4
- package/languages/es-MX.js +0 -10
- package/languages/es-MX.mjs +1 -4
- package/languages/fr-FR.js +0 -10
- package/languages/fr-FR.mjs +1 -4
- package/languages/index.js +0 -175
- package/languages/it-IT.js +0 -10
- package/languages/it-IT.mjs +1 -4
- package/languages/ja-JP.js +0 -10
- package/languages/ja-JP.mjs +1 -4
- package/languages/ko-KR.js +0 -10
- package/languages/ko-KR.mjs +1 -4
- package/languages/lv-LV.js +0 -10
- package/languages/lv-LV.mjs +1 -4
- package/languages/nb-NO.js +0 -10
- package/languages/nb-NO.mjs +1 -4
- package/languages/nl-NL.js +0 -10
- package/languages/nl-NL.mjs +1 -4
- package/languages/pl-PL.js +0 -10
- package/languages/pl-PL.mjs +1 -4
- package/languages/pt-BR.js +0 -10
- package/languages/pt-BR.mjs +1 -4
- package/languages/ru-RU.js +0 -10
- package/languages/ru-RU.mjs +1 -4
- package/languages/sr-SP.js +0 -10
- package/languages/sr-SP.mjs +1 -4
- package/languages/zh-CN.js +0 -10
- package/languages/zh-CN.mjs +1 -4
- package/languages/zh-TW.js +0 -10
- package/languages/zh-TW.mjs +1 -4
- package/mixins/hooksRefRegisterer.js +4 -18
- package/mixins/hooksRefRegisterer.mjs +4 -15
- package/mixins/localHooks.js +7 -17
- package/mixins/localHooks.mjs +7 -14
- package/package.json +1 -1
- package/pluginHooks.d.ts +3 -4
- package/pluginHooks.js +288 -110
- package/pluginHooks.mjs +287 -97
- package/plugins/autoColumnSize/autoColumnSize.js +74 -172
- package/plugins/autoColumnSize/autoColumnSize.mjs +74 -137
- package/plugins/autoColumnSize/index.js +0 -2
- package/plugins/autoRowSize/autoRowSize.js +73 -153
- package/plugins/autoRowSize/autoRowSize.mjs +73 -124
- package/plugins/autoRowSize/index.js +0 -2
- package/plugins/autofill/autofill.js +46 -163
- package/plugins/autofill/autofill.mjs +46 -131
- package/plugins/autofill/index.js +0 -2
- package/plugins/autofill/utils.js +4 -26
- package/plugins/autofill/utils.mjs +4 -18
- package/plugins/base/base.js +21 -92
- package/plugins/base/base.mjs +21 -63
- package/plugins/base/index.js +0 -2
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +19 -52
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +19 -33
- package/plugins/bindRowsWithHeaders/index.js +0 -2
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +5 -41
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.mjs +5 -29
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +6 -53
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +6 -37
- package/plugins/collapsibleColumns/collapsibleColumns.js +96 -188
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +97 -158
- package/plugins/collapsibleColumns/index.js +0 -2
- package/plugins/columnSorting/columnSorting.js +50 -188
- package/plugins/columnSorting/columnSorting.mjs +50 -143
- package/plugins/columnSorting/columnStatesManager.js +15 -71
- package/plugins/columnSorting/columnStatesManager.mjs +15 -48
- package/plugins/columnSorting/domHelpers.js +2 -18
- package/plugins/columnSorting/domHelpers.mjs +2 -7
- package/plugins/columnSorting/index.js +0 -2
- package/plugins/columnSorting/rootComparator.js +5 -24
- package/plugins/columnSorting/rootComparator.mjs +12 -21
- package/plugins/columnSorting/sortFunction/checkbox.js +8 -16
- package/plugins/columnSorting/sortFunction/checkbox.mjs +16 -21
- package/plugins/columnSorting/sortFunction/date.js +2 -19
- package/plugins/columnSorting/sortFunction/date.mjs +10 -23
- package/plugins/columnSorting/sortFunction/default.js +2 -17
- package/plugins/columnSorting/sortFunction/default.mjs +10 -23
- package/plugins/columnSorting/sortFunction/numeric.js +2 -11
- package/plugins/columnSorting/sortFunction/numeric.mjs +10 -17
- package/plugins/columnSorting/sortService/engine.js +3 -13
- package/plugins/columnSorting/sortService/engine.mjs +3 -5
- package/plugins/columnSorting/sortService/index.js +0 -5
- package/plugins/columnSorting/sortService/registry.js +6 -18
- package/plugins/columnSorting/sortService/registry.mjs +6 -10
- package/plugins/columnSorting/utils.js +9 -34
- package/plugins/columnSorting/utils.mjs +9 -15
- package/plugins/columnSummary/columnSummary.js +66 -126
- package/plugins/columnSummary/columnSummary.mjs +66 -101
- package/plugins/columnSummary/endpoints.js +21 -98
- package/plugins/columnSummary/endpoints.mjs +26 -99
- package/plugins/columnSummary/index.js +0 -2
- package/plugins/columnSummary/utils.js +13 -0
- package/plugins/columnSummary/utils.mjs +9 -0
- package/plugins/comments/commentEditor.js +16 -28
- package/plugins/comments/commentEditor.mjs +21 -32
- package/plugins/comments/comments.js +92 -175
- package/plugins/comments/comments.mjs +92 -149
- package/plugins/comments/displaySwitch.js +6 -23
- package/plugins/comments/displaySwitch.mjs +6 -18
- package/plugins/comments/index.js +0 -2
- package/plugins/contextMenu/commandExecutor.js +9 -40
- package/plugins/contextMenu/commandExecutor.mjs +14 -41
- package/plugins/contextMenu/contextMenu.js +26 -105
- package/plugins/contextMenu/contextMenu.mjs +26 -75
- package/plugins/contextMenu/cursor.js +6 -20
- package/plugins/contextMenu/cursor.mjs +11 -24
- package/plugins/contextMenu/index.js +0 -2
- package/plugins/contextMenu/itemsFactory.js +14 -43
- package/plugins/contextMenu/itemsFactory.mjs +19 -44
- package/plugins/contextMenu/menu.js +61 -177
- package/plugins/contextMenu/menu.mjs +61 -149
- package/plugins/contextMenu/predefinedItems/alignment.js +1 -55
- package/plugins/contextMenu/predefinedItems/alignment.mjs +1 -37
- package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -20
- package/plugins/contextMenu/predefinedItems/clearColumn.mjs +1 -4
- package/plugins/contextMenu/predefinedItems/columnLeft.js +6 -43
- package/plugins/contextMenu/predefinedItems/columnLeft.mjs +6 -26
- package/plugins/contextMenu/predefinedItems/columnRight.js +4 -42
- package/plugins/contextMenu/predefinedItems/columnRight.mjs +4 -25
- package/plugins/contextMenu/predefinedItems/noItems.js +1 -4
- package/plugins/contextMenu/predefinedItems/noItems.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/readOnly.js +1 -25
- package/plugins/contextMenu/predefinedItems/readOnly.mjs +1 -8
- package/plugins/contextMenu/predefinedItems/redo.js +1 -16
- package/plugins/contextMenu/predefinedItems/redo.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/removeColumn.js +3 -38
- package/plugins/contextMenu/predefinedItems/removeColumn.mjs +3 -18
- package/plugins/contextMenu/predefinedItems/removeRow.js +3 -37
- package/plugins/contextMenu/predefinedItems/removeRow.mjs +3 -17
- package/plugins/contextMenu/predefinedItems/rowAbove.js +6 -35
- package/plugins/contextMenu/predefinedItems/rowAbove.mjs +6 -19
- package/plugins/contextMenu/predefinedItems/rowBelow.js +4 -42
- package/plugins/contextMenu/predefinedItems/rowBelow.mjs +4 -25
- package/plugins/contextMenu/predefinedItems/separator.js +1 -2
- package/plugins/contextMenu/predefinedItems/separator.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/undo.js +1 -16
- package/plugins/contextMenu/predefinedItems/undo.mjs +1 -1
- package/plugins/contextMenu/predefinedItems.js +2 -48
- package/plugins/contextMenu/predefinedItems.mjs +2 -7
- package/plugins/contextMenu/utils.js +17 -57
- package/plugins/contextMenu/utils.mjs +21 -39
- package/plugins/copyPaste/clipboardData.js +1 -10
- package/plugins/copyPaste/clipboardData.mjs +1 -9
- package/plugins/copyPaste/contextMenuItem/copy.js +2 -17
- package/plugins/copyPaste/contextMenuItem/copy.mjs +6 -9
- package/plugins/copyPaste/contextMenuItem/cut.js +2 -17
- package/plugins/copyPaste/contextMenuItem/cut.mjs +6 -9
- package/plugins/copyPaste/copyPaste.js +53 -185
- package/plugins/copyPaste/copyPaste.mjs +53 -144
- package/plugins/copyPaste/focusableElement.js +12 -56
- package/plugins/copyPaste/focusableElement.mjs +15 -49
- package/plugins/copyPaste/index.js +0 -2
- package/plugins/copyPaste/pasteEvent.js +1 -10
- package/plugins/copyPaste/pasteEvent.mjs +3 -10
- package/plugins/customBorders/contextMenuItem/bottom.js +0 -17
- package/plugins/customBorders/contextMenuItem/bottom.mjs +4 -8
- package/plugins/customBorders/contextMenuItem/index.js +0 -11
- package/plugins/customBorders/contextMenuItem/left.js +0 -17
- package/plugins/customBorders/contextMenuItem/left.mjs +4 -8
- package/plugins/customBorders/contextMenuItem/noBorders.js +0 -15
- package/plugins/customBorders/contextMenuItem/noBorders.mjs +4 -6
- package/plugins/customBorders/contextMenuItem/right.js +0 -17
- package/plugins/customBorders/contextMenuItem/right.mjs +4 -8
- package/plugins/customBorders/contextMenuItem/top.js +0 -17
- package/plugins/customBorders/contextMenuItem/top.mjs +4 -8
- package/plugins/customBorders/customBorders.js +52 -181
- package/plugins/customBorders/customBorders.mjs +52 -147
- package/plugins/customBorders/index.js +0 -2
- package/plugins/customBorders/utils.js +13 -52
- package/plugins/customBorders/utils.mjs +20 -39
- package/plugins/dragToScroll/dragToScroll.js +17 -74
- package/plugins/dragToScroll/dragToScroll.mjs +17 -55
- package/plugins/dragToScroll/index.js +0 -2
- package/plugins/dropdownMenu/dropdownMenu.js +47 -126
- package/plugins/dropdownMenu/dropdownMenu.mjs +47 -95
- package/plugins/dropdownMenu/index.js +0 -2
- package/plugins/exportFile/dataProvider.js +24 -69
- package/plugins/exportFile/dataProvider.mjs +26 -60
- package/plugins/exportFile/exportFile.js +48 -58
- package/plugins/exportFile/exportFile.mjs +48 -36
- package/plugins/exportFile/index.js +0 -2
- package/plugins/exportFile/typeFactory.js +1 -11
- package/plugins/exportFile/typeFactory.mjs +1 -4
- package/plugins/exportFile/types/_base.js +2 -16
- package/plugins/exportFile/types/_base.mjs +4 -16
- package/plugins/exportFile/types/csv.js +2 -50
- package/plugins/exportFile/types/csv.mjs +2 -29
- package/plugins/filters/component/_base.js +12 -32
- package/plugins/filters/component/_base.mjs +15 -30
- package/plugins/filters/component/actionBar.js +6 -55
- package/plugins/filters/component/actionBar.mjs +9 -38
- package/plugins/filters/component/condition.js +25 -122
- package/plugins/filters/component/condition.mjs +24 -88
- package/plugins/filters/component/operators.js +10 -68
- package/plugins/filters/component/operators.mjs +10 -45
- package/plugins/filters/component/value.js +25 -99
- package/plugins/filters/component/value.mjs +28 -72
- package/plugins/filters/condition/beginsWith.js +2 -32
- package/plugins/filters/condition/beginsWith.mjs +2 -10
- package/plugins/filters/condition/between.js +3 -37
- package/plugins/filters/condition/between.mjs +3 -15
- package/plugins/filters/condition/byValue.js +3 -27
- package/plugins/filters/condition/byValue.mjs +3 -12
- package/plugins/filters/condition/contains.js +2 -32
- package/plugins/filters/condition/contains.mjs +2 -10
- package/plugins/filters/condition/date/after.js +2 -34
- package/plugins/filters/condition/date/after.mjs +2 -12
- package/plugins/filters/condition/date/before.js +2 -34
- package/plugins/filters/condition/date/before.mjs +2 -12
- package/plugins/filters/condition/date/today.js +1 -22
- package/plugins/filters/condition/date/today.mjs +1 -3
- package/plugins/filters/condition/date/tomorrow.js +1 -22
- package/plugins/filters/condition/date/tomorrow.mjs +1 -3
- package/plugins/filters/condition/date/yesterday.js +1 -22
- package/plugins/filters/condition/date/yesterday.mjs +1 -3
- package/plugins/filters/condition/empty.js +1 -19
- package/plugins/filters/condition/empty.mjs +1 -1
- package/plugins/filters/condition/endsWith.js +2 -32
- package/plugins/filters/condition/endsWith.mjs +2 -10
- package/plugins/filters/condition/equal.js +2 -31
- package/plugins/filters/condition/equal.mjs +2 -10
- package/plugins/filters/condition/false.js +1 -5
- package/plugins/filters/condition/false.mjs +1 -1
- package/plugins/filters/condition/greaterThan.js +2 -32
- package/plugins/filters/condition/greaterThan.mjs +2 -12
- package/plugins/filters/condition/greaterThanOrEqual.js +2 -32
- package/plugins/filters/condition/greaterThanOrEqual.mjs +2 -12
- package/plugins/filters/condition/lessThan.js +2 -32
- package/plugins/filters/condition/lessThan.mjs +2 -12
- package/plugins/filters/condition/lessThanOrEqual.js +2 -32
- package/plugins/filters/condition/lessThanOrEqual.mjs +2 -12
- package/plugins/filters/condition/none.js +1 -18
- package/plugins/filters/condition/none.mjs +1 -1
- package/plugins/filters/condition/notBetween.js +1 -19
- package/plugins/filters/condition/notBetween.mjs +1 -1
- package/plugins/filters/condition/notContains.js +1 -19
- package/plugins/filters/condition/notContains.mjs +1 -1
- package/plugins/filters/condition/notEmpty.js +1 -19
- package/plugins/filters/condition/notEmpty.mjs +1 -1
- package/plugins/filters/condition/notEqual.js +1 -19
- package/plugins/filters/condition/notEqual.mjs +1 -1
- package/plugins/filters/condition/true.js +1 -5
- package/plugins/filters/condition/true.mjs +1 -1
- package/plugins/filters/conditionCollection.js +21 -80
- package/plugins/filters/conditionCollection.mjs +21 -57
- package/plugins/filters/conditionRegisterer.js +5 -14
- package/plugins/filters/conditionRegisterer.mjs +5 -9
- package/plugins/filters/conditionUpdateObserver.js +17 -57
- package/plugins/filters/conditionUpdateObserver.mjs +25 -53
- package/plugins/filters/constants.js +1 -66
- package/plugins/filters/constants.mjs +1 -8
- package/plugins/filters/dataFilter.js +4 -21
- package/plugins/filters/dataFilter.mjs +7 -23
- package/plugins/filters/filters.d.ts +1 -1
- package/plugins/filters/filters.js +147 -272
- package/plugins/filters/filters.mjs +148 -228
- package/plugins/filters/index.js +0 -2
- package/plugins/filters/logicalOperationRegisterer.js +3 -9
- package/plugins/filters/logicalOperationRegisterer.mjs +3 -4
- package/plugins/filters/logicalOperations/conjunction.js +2 -19
- package/plugins/filters/logicalOperations/conjunction.mjs +2 -2
- package/plugins/filters/logicalOperations/disjunction.js +2 -19
- package/plugins/filters/logicalOperations/disjunction.mjs +2 -2
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +2 -21
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.mjs +2 -3
- package/plugins/filters/ui/_base.js +12 -55
- package/plugins/filters/ui/_base.mjs +12 -35
- package/plugins/filters/ui/input.js +7 -52
- package/plugins/filters/ui/input.mjs +7 -34
- package/plugins/filters/ui/link.js +3 -43
- package/plugins/filters/ui/link.mjs +3 -25
- package/plugins/filters/ui/multipleSelect.js +26 -120
- package/plugins/filters/ui/multipleSelect.mjs +20 -76
- package/plugins/filters/ui/radioInput.js +6 -47
- package/plugins/filters/ui/radioInput.mjs +6 -30
- package/plugins/filters/ui/select.js +14 -76
- package/plugins/filters/ui/select.mjs +14 -52
- package/plugins/filters/utils.js +6 -39
- package/plugins/filters/utils.mjs +6 -23
- package/plugins/formulas/engine/register.js +24 -74
- package/plugins/formulas/engine/register.mjs +29 -51
- package/plugins/formulas/engine/settings.js +4 -24
- package/plugins/formulas/engine/settings.mjs +4 -12
- package/plugins/formulas/formulas.js +103 -295
- package/plugins/formulas/formulas.mjs +104 -248
- package/plugins/formulas/index.js +0 -2
- package/plugins/formulas/utils.js +1 -3
- package/plugins/formulas/utils.mjs +1 -1
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +4 -38
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +8 -25
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +17 -45
- package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +21 -29
- package/plugins/hiddenColumns/hiddenColumns.js +72 -153
- package/plugins/hiddenColumns/hiddenColumns.mjs +72 -110
- package/plugins/hiddenColumns/index.js +0 -2
- package/plugins/hiddenRows/contextMenuItem/hideRow.js +4 -38
- package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +8 -25
- package/plugins/hiddenRows/contextMenuItem/showRow.js +17 -45
- package/plugins/hiddenRows/contextMenuItem/showRow.mjs +21 -29
- package/plugins/hiddenRows/hiddenRows.js +70 -152
- package/plugins/hiddenRows/hiddenRows.mjs +70 -109
- package/plugins/hiddenRows/index.js +0 -2
- package/plugins/index.js +0 -71
- package/plugins/index.mjs +3 -5
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -28
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +5 -17
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -28
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +5 -17
- package/plugins/manualColumnFreeze/index.js +0 -2
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +21 -78
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +21 -54
- package/plugins/manualColumnMove/index.js +0 -2
- package/plugins/manualColumnMove/manualColumnMove.js +45 -134
- package/plugins/manualColumnMove/manualColumnMove.mjs +45 -106
- package/plugins/manualColumnMove/ui/_base.js +12 -30
- package/plugins/manualColumnMove/ui/_base.mjs +12 -27
- package/plugins/manualColumnMove/ui/backlight.js +1 -37
- package/plugins/manualColumnMove/ui/backlight.mjs +1 -22
- package/plugins/manualColumnMove/ui/guideline.js +1 -37
- package/plugins/manualColumnMove/ui/guideline.mjs +1 -22
- package/plugins/manualColumnResize/index.js +0 -2
- package/plugins/manualColumnResize/manualColumnResize.js +44 -143
- package/plugins/manualColumnResize/manualColumnResize.mjs +43 -118
- package/plugins/manualRowMove/index.js +0 -2
- package/plugins/manualRowMove/manualRowMove.js +45 -137
- package/plugins/manualRowMove/manualRowMove.mjs +45 -109
- package/plugins/manualRowMove/ui/_base.js +12 -27
- package/plugins/manualRowMove/ui/_base.mjs +12 -26
- package/plugins/manualRowMove/ui/backlight.js +1 -37
- package/plugins/manualRowMove/ui/backlight.mjs +1 -22
- package/plugins/manualRowMove/ui/guideline.js +1 -37
- package/plugins/manualRowMove/ui/guideline.mjs +1 -22
- package/plugins/manualRowResize/index.js +0 -2
- package/plugins/manualRowResize/manualRowResize.js +42 -138
- package/plugins/manualRowResize/manualRowResize.mjs +41 -112
- package/plugins/mergeCells/calculations/autofill.js +39 -130
- package/plugins/mergeCells/calculations/autofill.mjs +44 -122
- package/plugins/mergeCells/calculations/selection.js +9 -40
- package/plugins/mergeCells/calculations/selection.mjs +9 -37
- package/plugins/mergeCells/cellCoords.js +30 -51
- package/plugins/mergeCells/cellCoords.mjs +35 -54
- package/plugins/mergeCells/cellsCollection.js +13 -84
- package/plugins/mergeCells/cellsCollection.mjs +18 -69
- package/plugins/mergeCells/contextMenuItem/toggleMerge.js +0 -22
- package/plugins/mergeCells/contextMenuItem/toggleMerge.mjs +4 -11
- package/plugins/mergeCells/index.js +0 -2
- package/plugins/mergeCells/mergeCells.js +130 -333
- package/plugins/mergeCells/mergeCells.mjs +130 -292
- package/plugins/mergeCells/utils.js +0 -3
- package/plugins/mergeCells/utils.mjs +0 -1
- package/plugins/multiColumnSorting/domHelpers.js +3 -15
- package/plugins/multiColumnSorting/domHelpers.mjs +3 -7
- package/plugins/multiColumnSorting/index.js +0 -2
- package/plugins/multiColumnSorting/multiColumnSorting.js +14 -66
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +14 -44
- package/plugins/multiColumnSorting/rootComparator.js +2 -26
- package/plugins/multiColumnSorting/rootComparator.mjs +9 -23
- package/plugins/multiColumnSorting/utils.js +0 -7
- package/plugins/multiColumnSorting/utils.mjs +3 -8
- package/plugins/multipleSelectionHandles/index.js +0 -2
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +6 -109
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +6 -87
- package/plugins/nestedHeaders/index.js +0 -2
- package/plugins/nestedHeaders/nestedHeaders.js +79 -200
- package/plugins/nestedHeaders/nestedHeaders.mjs +80 -173
- package/plugins/nestedHeaders/stateManager/headersTree.js +16 -93
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +16 -73
- package/plugins/nestedHeaders/stateManager/index.js +24 -107
- package/plugins/nestedHeaders/stateManager/index.mjs +51 -115
- package/plugins/nestedHeaders/stateManager/matrixGenerator.js +7 -25
- package/plugins/nestedHeaders/stateManager/matrixGenerator.mjs +38 -51
- package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.js +12 -27
- package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.mjs +29 -35
- package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.js +10 -25
- package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.mjs +26 -32
- package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.js +3 -19
- package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.mjs +9 -20
- package/plugins/nestedHeaders/stateManager/nodeModifiers/index.js +2 -12
- package/plugins/nestedHeaders/stateManager/nodeModifiers/index.mjs +2 -5
- package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.js +3 -22
- package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.mjs +9 -21
- package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.js +3 -10
- package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.mjs +3 -7
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +5 -36
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +44 -61
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +16 -78
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +21 -68
- package/plugins/nestedHeaders/stateManager/utils.js +19 -22
- package/plugins/nestedHeaders/stateManager/utils.mjs +19 -20
- package/plugins/nestedHeaders/utils/ghostTable.js +9 -37
- package/plugins/nestedHeaders/utils/ghostTable.mjs +16 -43
- package/plugins/nestedRows/data/dataManager.js +40 -161
- package/plugins/nestedRows/data/dataManager.mjs +44 -148
- package/plugins/nestedRows/index.js +0 -2
- package/plugins/nestedRows/nestedRows.js +41 -119
- package/plugins/nestedRows/nestedRows.mjs +41 -86
- package/plugins/nestedRows/ui/_base.js +1 -9
- package/plugins/nestedRows/ui/_base.mjs +1 -8
- package/plugins/nestedRows/ui/collapsing.js +28 -134
- package/plugins/nestedRows/ui/collapsing.mjs +34 -118
- package/plugins/nestedRows/ui/contextMenu.js +2 -53
- package/plugins/nestedRows/ui/contextMenu.mjs +2 -32
- package/plugins/nestedRows/ui/headers.js +5 -50
- package/plugins/nestedRows/ui/headers.mjs +11 -41
- package/plugins/nestedRows/utils/rowMoveController.js +28 -78
- package/plugins/nestedRows/utils/rowMoveController.mjs +33 -66
- package/plugins/persistentState/index.js +0 -2
- package/plugins/persistentState/persistentState.js +10 -58
- package/plugins/persistentState/persistentState.mjs +10 -37
- package/plugins/persistentState/storage.js +9 -25
- package/plugins/persistentState/storage.mjs +12 -26
- package/plugins/registry.js +7 -51
- package/plugins/registry.mjs +8 -34
- package/plugins/search/index.js +0 -2
- package/plugins/search/search.js +16 -98
- package/plugins/search/search.mjs +16 -68
- package/plugins/touchScroll/index.js +0 -2
- package/plugins/touchScroll/touchScroll.js +15 -76
- package/plugins/touchScroll/touchScroll.mjs +15 -58
- package/plugins/trimRows/index.js +0 -2
- package/plugins/trimRows/trimRows.js +62 -88
- package/plugins/trimRows/trimRows.mjs +62 -65
- package/plugins/undoRedo/index.js +0 -14
- package/plugins/undoRedo/undoRedo.js +48 -218
- package/plugins/undoRedo/undoRedo.mjs +48 -188
- package/registry.js +0 -11
- package/registry.mjs +2 -4
- package/renderers/autocompleteRenderer/autocompleteRenderer.js +5 -14
- package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +5 -6
- package/renderers/autocompleteRenderer/index.js +0 -2
- package/renderers/baseRenderer/baseRenderer.js +2 -11
- package/renderers/baseRenderer/baseRenderer.mjs +2 -9
- package/renderers/baseRenderer/index.js +0 -2
- package/renderers/checkboxRenderer/checkboxRenderer.js +22 -103
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +22 -81
- package/renderers/checkboxRenderer/index.js +0 -2
- package/renderers/htmlRenderer/htmlRenderer.js +1 -7
- package/renderers/htmlRenderer/htmlRenderer.mjs +1 -1
- package/renderers/htmlRenderer/index.js +0 -2
- package/renderers/index.js +0 -19
- package/renderers/index.mjs +3 -5
- package/renderers/numericRenderer/index.js +0 -2
- package/renderers/numericRenderer/numericRenderer.js +1 -23
- package/renderers/numericRenderer/numericRenderer.mjs +1 -10
- package/renderers/passwordRenderer/index.js +0 -2
- package/renderers/passwordRenderer/passwordRenderer.js +1 -8
- package/renderers/passwordRenderer/passwordRenderer.mjs +1 -1
- package/renderers/registry.js +7 -16
- package/renderers/registry.mjs +7 -14
- package/renderers/textRenderer/index.js +0 -2
- package/renderers/textRenderer/textRenderer.js +2 -14
- package/renderers/textRenderer/textRenderer.mjs +2 -6
- package/renderers/timeRenderer/index.js +0 -2
- package/renderers/timeRenderer/timeRenderer.js +1 -6
- package/renderers/timeRenderer/timeRenderer.mjs +1 -1
- package/selection/highlight/highlight.js +17 -73
- package/selection/highlight/highlight.mjs +31 -64
- package/selection/highlight/types/activeHeader.js +1 -21
- package/selection/highlight/types/activeHeader.mjs +6 -16
- package/selection/highlight/types/area.js +2 -22
- package/selection/highlight/types/area.mjs +10 -20
- package/selection/highlight/types/cell.js +1 -21
- package/selection/highlight/types/cell.mjs +9 -19
- package/selection/highlight/types/customSelection.js +2 -22
- package/selection/highlight/types/customSelection.mjs +11 -21
- package/selection/highlight/types/fill.js +2 -17
- package/selection/highlight/types/fill.mjs +9 -14
- package/selection/highlight/types/header.js +3 -23
- package/selection/highlight/types/header.mjs +13 -23
- package/selection/highlight/types/index.js +3 -24
- package/selection/highlight/types/index.mjs +3 -10
- package/selection/highlight/visualSelection.js +24 -74
- package/selection/highlight/visualSelection.mjs +24 -62
- package/selection/index.js +0 -14
- package/selection/mouseEventHandler.js +19 -30
- package/selection/mouseEventHandler.mjs +32 -36
- package/selection/range.js +11 -31
- package/selection/range.mjs +11 -22
- package/selection/selection.js +62 -157
- package/selection/selection.mjs +65 -132
- package/selection/transformation.js +10 -40
- package/selection/transformation.mjs +18 -45
- package/selection/utils.js +22 -70
- package/selection/utils.mjs +22 -47
- package/shortcuts/context.js +23 -78
- package/shortcuts/context.mjs +23 -55
- package/shortcuts/index.js +0 -2
- package/shortcuts/keyObserver.js +4 -17
- package/shortcuts/keyObserver.mjs +4 -12
- package/shortcuts/manager.js +16 -36
- package/shortcuts/manager.mjs +16 -33
- package/shortcuts/recorder.js +20 -47
- package/shortcuts/recorder.mjs +20 -39
- package/shortcuts/utils.js +5 -24
- package/shortcuts/utils.mjs +5 -8
- package/tableView.js +100 -270
- package/tableView.mjs +100 -248
- package/translations/changesObservable/observable.js +5 -54
- package/translations/changesObservable/observable.mjs +12 -51
- package/translations/changesObservable/observer.js +4 -32
- package/translations/changesObservable/observer.mjs +9 -29
- package/translations/changesObservable/utils.js +1 -5
- package/translations/changesObservable/utils.mjs +1 -4
- package/translations/index.js +0 -11
- package/translations/indexMapper.js +70 -158
- package/translations/indexMapper.mjs +70 -125
- package/translations/mapCollections/aggregatedCollection.js +9 -51
- package/translations/mapCollections/aggregatedCollection.mjs +12 -41
- package/translations/mapCollections/index.js +0 -7
- package/translations/mapCollections/mapCollection.js +10 -33
- package/translations/mapCollections/mapCollection.mjs +10 -22
- package/translations/maps/hidingMap.js +2 -35
- package/translations/maps/hidingMap.mjs +7 -28
- package/translations/maps/index.js +1 -24
- package/translations/maps/index.mjs +1 -3
- package/translations/maps/indexMap.js +12 -34
- package/translations/maps/indexMap.mjs +16 -32
- package/translations/maps/indexesSequence.js +3 -41
- package/translations/maps/indexesSequence.mjs +9 -32
- package/translations/maps/linkedPhysicalIndexToValueMap.js +9 -78
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +16 -59
- package/translations/maps/physicalIndexToValueMap.js +2 -39
- package/translations/maps/physicalIndexToValueMap.mjs +8 -31
- package/translations/maps/trimmingMap.js +2 -35
- package/translations/maps/trimmingMap.mjs +7 -28
- package/translations/maps/utils/actionsOnIndexes.js +1 -7
- package/translations/maps/utils/actionsOnIndexes.mjs +9 -12
- package/translations/maps/utils/index.js +0 -13
- package/translations/maps/utils/index.mjs +0 -3
- package/translations/maps/utils/indexesSequence.js +1 -24
- package/translations/maps/utils/indexesSequence.mjs +10 -19
- package/translations/maps/utils/physicallyIndexed.js +1 -27
- package/translations/maps/utils/physicallyIndexed.mjs +11 -21
- package/utils/dataStructures/linkedList.js +15 -56
- package/utils/dataStructures/linkedList.mjs +15 -54
- package/utils/dataStructures/priorityMap.js +8 -46
- package/utils/dataStructures/priorityMap.mjs +8 -29
- package/utils/dataStructures/queue.js +6 -17
- package/utils/dataStructures/queue.mjs +6 -16
- package/utils/dataStructures/stack.js +6 -17
- package/utils/dataStructures/stack.mjs +6 -16
- package/utils/dataStructures/tree.js +11 -75
- package/utils/dataStructures/tree.mjs +11 -54
- package/utils/dataStructures/uniqueMap.js +17 -56
- package/utils/dataStructures/uniqueMap.mjs +17 -42
- package/utils/dataStructures/uniqueSet.js +5 -32
- package/utils/dataStructures/uniqueSet.mjs +5 -19
- package/utils/ghostTable.js +33 -104
- package/utils/ghostTable.mjs +35 -92
- package/utils/interval.js +10 -37
- package/utils/interval.mjs +7 -29
- package/utils/parseTable.js +11 -92
- package/utils/parseTable.mjs +11 -62
- package/utils/rootInstance.js +3 -14
- package/utils/rootInstance.mjs +3 -3
- package/utils/samplesGenerator.js +15 -51
- package/utils/samplesGenerator.mjs +17 -44
- package/utils/staticRegister.js +6 -33
- package/utils/staticRegister.mjs +6 -19
- package/validators/autocompleteValidator/autocompleteValidator.js +2 -10
- package/validators/autocompleteValidator/autocompleteValidator.mjs +2 -8
- package/validators/autocompleteValidator/index.js +0 -2
- package/validators/dateValidator/dateValidator.js +2 -21
- package/validators/dateValidator/dateValidator.mjs +2 -11
- package/validators/dateValidator/index.js +0 -2
- package/validators/index.js +0 -11
- package/validators/index.mjs +3 -5
- package/validators/numericValidator/index.js +0 -2
- package/validators/numericValidator/numericValidator.js +1 -7
- package/validators/numericValidator/numericValidator.mjs +1 -3
- package/validators/registry.js +7 -16
- package/validators/registry.mjs +7 -14
- package/validators/timeValidator/index.js +0 -2
- package/validators/timeValidator/timeValidator.js +6 -18
- package/validators/timeValidator/timeValidator.mjs +8 -13
- package/utils/sortingAlgorithms/mergeSort.js +0 -120
- package/utils/sortingAlgorithms/mergeSort.mjs +0 -110
package/dataMap/dataMap.js
CHANGED
@@ -1,65 +1,45 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
require("core-js/modules/es.symbol.js");
|
4
|
-
|
5
4
|
require("core-js/modules/es.symbol.description.js");
|
6
|
-
|
7
5
|
require("core-js/modules/es.symbol.iterator.js");
|
8
|
-
|
6
|
+
require("core-js/modules/es.array.from.js");
|
7
|
+
require("core-js/modules/es.function.name.js");
|
8
|
+
require("core-js/modules/es.regexp.exec.js");
|
9
9
|
exports.__esModule = true;
|
10
10
|
exports.default = void 0;
|
11
|
-
|
12
11
|
require("core-js/modules/es.array.iterator.js");
|
13
|
-
|
14
12
|
require("core-js/modules/es.map.js");
|
15
|
-
|
16
13
|
require("core-js/modules/es.object.to-string.js");
|
17
|
-
|
18
14
|
require("core-js/modules/es.string.iterator.js");
|
19
|
-
|
20
15
|
require("core-js/modules/web.dom-collections.iterator.js");
|
21
|
-
|
22
16
|
require("core-js/modules/es.number.is-integer.js");
|
23
|
-
|
24
17
|
require("core-js/modules/es.number.constructor.js");
|
25
|
-
|
26
|
-
require("core-js/modules/es.array.concat.js");
|
27
|
-
|
28
18
|
require("core-js/modules/es.array.splice.js");
|
29
|
-
|
30
19
|
require("core-js/modules/es.array.sort.js");
|
31
|
-
|
32
20
|
require("core-js/modules/es.array.slice.js");
|
33
|
-
|
21
|
+
require("core-js/modules/es.array.concat.js");
|
22
|
+
require("core-js/modules/web.dom-collections.for-each.js");
|
34
23
|
require("core-js/modules/es.array.filter.js");
|
35
|
-
|
36
24
|
require("core-js/modules/es.array.index-of.js");
|
37
|
-
|
38
|
-
require("core-js/modules/es.regexp.exec.js");
|
39
|
-
|
40
|
-
require("core-js/modules/es.string.split.js");
|
41
|
-
|
42
25
|
var _SheetClip = require("../3rdparty/SheetClip");
|
43
|
-
|
44
26
|
var _data = require("../helpers/data");
|
45
|
-
|
46
27
|
var _object = require("../helpers/object");
|
47
|
-
|
48
28
|
var _array = require("../helpers/array");
|
49
|
-
|
50
29
|
var _number = require("../helpers/number");
|
51
|
-
|
52
30
|
var _mixed = require("../helpers/mixed");
|
53
|
-
|
31
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
32
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
33
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
34
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
35
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
36
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
54
37
|
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); }
|
55
|
-
|
56
38
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
57
|
-
|
58
39
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
59
|
-
|
60
40
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
61
|
-
|
62
41
|
var copyableLookup = (0, _data.cellMethodLookupFactory)('copyable', false);
|
42
|
+
|
63
43
|
/*
|
64
44
|
This class contains open-source contributions covered by the MIT license.
|
65
45
|
|
@@ -91,7 +71,6 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
|
91
71
|
* @class DataMap
|
92
72
|
* @private
|
93
73
|
*/
|
94
|
-
|
95
74
|
var DataMap = /*#__PURE__*/function () {
|
96
75
|
/**
|
97
76
|
* @param {object} instance Instance of Handsontable.
|
@@ -100,7 +79,6 @@ var DataMap = /*#__PURE__*/function () {
|
|
100
79
|
*/
|
101
80
|
function DataMap(instance, data, tableMeta) {
|
102
81
|
_classCallCheck(this, DataMap);
|
103
|
-
|
104
82
|
/**
|
105
83
|
* Instance of {@link Handsontable}.
|
106
84
|
*
|
@@ -114,62 +92,52 @@ var DataMap = /*#__PURE__*/function () {
|
|
114
92
|
* @private
|
115
93
|
* @type {TableMeta}
|
116
94
|
*/
|
117
|
-
|
118
95
|
this.tableMeta = tableMeta;
|
119
96
|
/**
|
120
97
|
* Reference to the original dataset.
|
121
98
|
*
|
122
99
|
* @type {*}
|
123
100
|
*/
|
124
|
-
|
125
101
|
this.dataSource = data;
|
126
102
|
/**
|
127
103
|
* Generated schema based on the first row from the source data.
|
128
104
|
*
|
129
105
|
* @type {object}
|
130
106
|
*/
|
131
|
-
|
132
107
|
this.duckSchema = this.dataSource && this.dataSource[0] ? (0, _object.duckSchema)(this.dataSource[0]) : {};
|
133
108
|
/**
|
134
109
|
* Cached array of properties to columns.
|
135
110
|
*
|
136
111
|
* @type {Array}
|
137
112
|
*/
|
138
|
-
|
139
113
|
this.colToPropCache = void 0;
|
140
114
|
/**
|
141
115
|
* Cached map of properties to columns.
|
142
116
|
*
|
143
117
|
* @type {Map}
|
144
118
|
*/
|
145
|
-
|
146
119
|
this.propToColCache = void 0;
|
147
120
|
this.createMap();
|
148
121
|
}
|
122
|
+
|
149
123
|
/**
|
150
124
|
* Generates cache for property to and from column addressation.
|
151
125
|
*/
|
152
|
-
|
153
|
-
|
154
126
|
_createClass(DataMap, [{
|
155
127
|
key: "createMap",
|
156
128
|
value: function createMap() {
|
157
129
|
var schema = this.getSchema();
|
158
|
-
|
159
130
|
if (typeof schema === 'undefined') {
|
160
131
|
throw new Error('trying to create `columns` definition but you didn\'t provide `schema` nor `data`');
|
161
132
|
}
|
162
|
-
|
163
133
|
var columns = this.tableMeta.columns;
|
164
134
|
var i;
|
165
135
|
this.colToPropCache = [];
|
166
136
|
this.propToColCache = new Map();
|
167
|
-
|
168
137
|
if (columns) {
|
169
138
|
var columnsLen = 0;
|
170
139
|
var filteredIndex = 0;
|
171
140
|
var columnsAsFunc = false;
|
172
|
-
|
173
141
|
if (typeof columns === 'function') {
|
174
142
|
var schemaLen = (0, _object.deepObjectSize)(schema);
|
175
143
|
columnsLen = schemaLen > 0 ? schemaLen : this.countFirstRowKeys();
|
@@ -178,17 +146,14 @@ var DataMap = /*#__PURE__*/function () {
|
|
178
146
|
var maxCols = this.tableMeta.maxCols;
|
179
147
|
columnsLen = Math.min(maxCols, columns.length);
|
180
148
|
}
|
181
|
-
|
182
149
|
for (i = 0; i < columnsLen; i++) {
|
183
150
|
var column = columnsAsFunc ? columns(i) : columns[i];
|
184
|
-
|
185
151
|
if ((0, _object.isObject)(column)) {
|
186
152
|
if (typeof column.data !== 'undefined') {
|
187
153
|
var index = columnsAsFunc ? filteredIndex : i;
|
188
154
|
this.colToPropCache[index] = column.data;
|
189
155
|
this.propToColCache.set(column.data, index);
|
190
156
|
}
|
191
|
-
|
192
157
|
filteredIndex += 1;
|
193
158
|
}
|
194
159
|
}
|
@@ -196,17 +161,18 @@ var DataMap = /*#__PURE__*/function () {
|
|
196
161
|
this.recursiveDuckColumns(schema);
|
197
162
|
}
|
198
163
|
}
|
164
|
+
|
199
165
|
/**
|
200
166
|
* Get the amount of physical columns in the first data row.
|
201
167
|
*
|
202
168
|
* @returns {number} Amount of physical columns in the first data row.
|
203
169
|
*/
|
204
|
-
|
205
170
|
}, {
|
206
171
|
key: "countFirstRowKeys",
|
207
172
|
value: function countFirstRowKeys() {
|
208
173
|
return (0, _data.countFirstRowKeys)(this.dataSource);
|
209
174
|
}
|
175
|
+
|
210
176
|
/**
|
211
177
|
* Generates columns' translation cache.
|
212
178
|
*
|
@@ -215,46 +181,38 @@ var DataMap = /*#__PURE__*/function () {
|
|
215
181
|
* @param {number} parent The property cache for recursive calls.
|
216
182
|
* @returns {number}
|
217
183
|
*/
|
218
|
-
|
219
184
|
}, {
|
220
185
|
key: "recursiveDuckColumns",
|
221
186
|
value: function recursiveDuckColumns(schema, lastCol, parent) {
|
222
187
|
var _this = this;
|
223
|
-
|
224
188
|
var lastColumn = lastCol;
|
225
189
|
var propertyParent = parent;
|
226
190
|
var prop;
|
227
|
-
|
228
191
|
if (typeof lastColumn === 'undefined') {
|
229
192
|
lastColumn = 0;
|
230
193
|
propertyParent = '';
|
231
194
|
}
|
232
|
-
|
233
195
|
if (_typeof(schema) === 'object' && !Array.isArray(schema)) {
|
234
196
|
(0, _object.objectEach)(schema, function (value, key) {
|
235
197
|
if (value === null) {
|
236
198
|
prop = propertyParent + key;
|
237
|
-
|
238
199
|
_this.colToPropCache.push(prop);
|
239
|
-
|
240
200
|
_this.propToColCache.set(prop, lastColumn);
|
241
|
-
|
242
201
|
lastColumn += 1;
|
243
202
|
} else {
|
244
203
|
lastColumn = _this.recursiveDuckColumns(value, lastColumn, "".concat(key, "."));
|
245
204
|
}
|
246
205
|
});
|
247
206
|
}
|
248
|
-
|
249
207
|
return lastColumn;
|
250
208
|
}
|
209
|
+
|
251
210
|
/**
|
252
211
|
* Returns property name that corresponds with the given column index.
|
253
212
|
*
|
254
213
|
* @param {string|number} column Visual column index or another passed argument.
|
255
214
|
* @returns {string|number} Column property, physical column index or passed argument.
|
256
215
|
*/
|
257
|
-
|
258
216
|
}, {
|
259
217
|
key: "colToProp",
|
260
218
|
value: function colToProp(column) {
|
@@ -263,109 +221,99 @@ var DataMap = /*#__PURE__*/function () {
|
|
263
221
|
if (Number.isInteger(column) === false) {
|
264
222
|
return column;
|
265
223
|
}
|
224
|
+
var physicalColumn = this.instance.toPhysicalColumn(column);
|
266
225
|
|
267
|
-
|
268
|
-
|
226
|
+
// Out of range, not visible column index.
|
269
227
|
if (physicalColumn === null) {
|
270
228
|
return column;
|
271
|
-
}
|
272
|
-
|
229
|
+
}
|
273
230
|
|
231
|
+
// Cached property.
|
274
232
|
if (this.colToPropCache && (0, _mixed.isDefined)(this.colToPropCache[physicalColumn])) {
|
275
233
|
return this.colToPropCache[physicalColumn];
|
276
234
|
}
|
277
|
-
|
278
235
|
return physicalColumn;
|
279
236
|
}
|
237
|
+
|
280
238
|
/**
|
281
239
|
* Translates property into visual column index.
|
282
240
|
*
|
283
241
|
* @param {string|number} prop Column property which may be also a physical column index.
|
284
242
|
* @returns {string|number} Visual column index or passed argument.
|
285
243
|
*/
|
286
|
-
|
287
244
|
}, {
|
288
245
|
key: "propToCol",
|
289
246
|
value: function propToCol(prop) {
|
290
247
|
var cachedPhysicalIndex = this.propToColCache.get(prop);
|
291
|
-
|
292
248
|
if ((0, _mixed.isDefined)(cachedPhysicalIndex)) {
|
293
249
|
return this.instance.toVisualColumn(cachedPhysicalIndex);
|
294
|
-
}
|
295
|
-
|
250
|
+
}
|
296
251
|
|
252
|
+
// Property may be a physical column index.
|
297
253
|
var visualColumn = this.instance.toVisualColumn(prop);
|
298
|
-
|
299
254
|
if (visualColumn === null) {
|
300
255
|
return prop;
|
301
256
|
}
|
302
|
-
|
303
257
|
return visualColumn;
|
304
258
|
}
|
259
|
+
|
305
260
|
/**
|
306
261
|
* Returns data's schema.
|
307
262
|
*
|
308
263
|
* @returns {object}
|
309
264
|
*/
|
310
|
-
|
311
265
|
}, {
|
312
266
|
key: "getSchema",
|
313
267
|
value: function getSchema() {
|
314
268
|
var schema = this.tableMeta.dataSchema;
|
315
|
-
|
316
269
|
if (schema) {
|
317
270
|
if (typeof schema === 'function') {
|
318
271
|
return schema();
|
319
272
|
}
|
320
|
-
|
321
273
|
return schema;
|
322
274
|
}
|
323
|
-
|
324
275
|
return this.duckSchema;
|
325
276
|
}
|
277
|
+
|
326
278
|
/**
|
327
279
|
* Creates row at the bottom of the data array.
|
328
280
|
*
|
329
281
|
* @param {number} [index] Physical index of the row before which the new row will be inserted.
|
330
282
|
* @param {number} [amount=1] An amount of rows to add.
|
331
|
-
* @param {
|
283
|
+
* @param {object} [options] Additional options for created rows.
|
284
|
+
* @param {string} [options.source] Source of method call.
|
285
|
+
* @param {'above'|'below'} [options.mode] Sets where the row is inserted: above or below the passed index.
|
332
286
|
* @fires Hooks#afterCreateRow
|
333
287
|
* @returns {number} Returns number of created rows.
|
334
288
|
*/
|
335
|
-
|
336
289
|
}, {
|
337
290
|
key: "createRow",
|
338
291
|
value: function createRow(index) {
|
339
292
|
var _this2 = this;
|
340
|
-
|
341
293
|
var amount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
342
|
-
var
|
294
|
+
var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
|
295
|
+
source = _ref.source,
|
296
|
+
_ref$mode = _ref.mode,
|
297
|
+
mode = _ref$mode === void 0 ? 'above' : _ref$mode;
|
343
298
|
var sourceRowsCount = this.instance.countSourceRows();
|
344
299
|
var physicalRowIndex = sourceRowsCount;
|
345
300
|
var numberOfCreatedRows = 0;
|
346
301
|
var rowIndex = index;
|
347
|
-
|
348
302
|
if (typeof rowIndex !== 'number' || rowIndex >= sourceRowsCount) {
|
349
303
|
rowIndex = sourceRowsCount;
|
350
304
|
}
|
351
|
-
|
352
305
|
if (rowIndex < this.instance.countRows()) {
|
353
306
|
physicalRowIndex = this.instance.toPhysicalRow(rowIndex);
|
354
307
|
}
|
355
|
-
|
356
308
|
var continueProcess = this.instance.runHooks('beforeCreateRow', rowIndex, amount, source);
|
357
|
-
|
358
309
|
if (continueProcess === false || physicalRowIndex === null) {
|
359
310
|
return 0;
|
360
311
|
}
|
361
|
-
|
362
312
|
var maxRows = this.tableMeta.maxRows;
|
363
313
|
var columnCount = this.instance.countCols();
|
364
314
|
var rowsToAdd = [];
|
365
|
-
|
366
315
|
var _loop = function _loop() {
|
367
316
|
var row = null;
|
368
|
-
|
369
317
|
if (_this2.instance.dataType === 'array') {
|
370
318
|
if (_this2.tableMeta.dataSchema) {
|
371
319
|
// Clone template array
|
@@ -373,7 +321,6 @@ var DataMap = /*#__PURE__*/function () {
|
|
373
321
|
} else {
|
374
322
|
row = [];
|
375
323
|
/* eslint-disable no-loop-func */
|
376
|
-
|
377
324
|
(0, _number.rangeEach)(columnCount - 1, function () {
|
378
325
|
return row.push(null);
|
379
326
|
});
|
@@ -384,67 +331,73 @@ var DataMap = /*#__PURE__*/function () {
|
|
384
331
|
row = {};
|
385
332
|
(0, _object.deepExtend)(row, _this2.getSchema());
|
386
333
|
}
|
387
|
-
|
388
334
|
rowsToAdd.push(row);
|
389
335
|
numberOfCreatedRows += 1;
|
390
336
|
};
|
391
|
-
|
392
337
|
while (numberOfCreatedRows < amount && sourceRowsCount + numberOfCreatedRows < maxRows) {
|
393
338
|
_loop();
|
394
339
|
}
|
395
|
-
|
396
340
|
this.instance.rowIndexMapper.insertIndexes(rowIndex, numberOfCreatedRows);
|
397
|
-
|
398
|
-
|
341
|
+
if (mode === 'below') {
|
342
|
+
physicalRowIndex = Math.min(physicalRowIndex + 1, sourceRowsCount);
|
343
|
+
}
|
344
|
+
this.spliceData(physicalRowIndex, 0, rowsToAdd);
|
345
|
+
var newVisualRowIndex = this.instance.toVisualRow(physicalRowIndex);
|
346
|
+
this.instance.runHooks('afterCreateRow', newVisualRowIndex, numberOfCreatedRows, source);
|
399
347
|
this.instance.forceFullRender = true; // used when data was changed
|
400
348
|
|
401
|
-
return
|
349
|
+
return {
|
350
|
+
delta: numberOfCreatedRows,
|
351
|
+
startPhysicalIndex: physicalRowIndex
|
352
|
+
};
|
402
353
|
}
|
354
|
+
|
403
355
|
/**
|
404
356
|
* Creates column at the right of the data array.
|
405
357
|
*
|
406
358
|
* @param {number} [index] Visual index of the column before which the new column will be inserted.
|
407
359
|
* @param {number} [amount=1] An amount of columns to add.
|
408
|
-
* @param {
|
360
|
+
* @param {object} [options] Additional options for created columns.
|
361
|
+
* @param {string} [options.source] Source of method call.
|
362
|
+
* @param {'start'|'end'} [options.mode] Sets where the column is inserted: at the start (left in [LTR](@/api/options.md#layoutdirection), right in [RTL](@/api/options.md#layoutdirection)) or at the end (right in LTR, left in LTR)
|
363
|
+
* the passed index.
|
409
364
|
* @fires Hooks#afterCreateCol
|
410
365
|
* @returns {number} Returns number of created columns.
|
411
366
|
*/
|
412
|
-
|
413
367
|
}, {
|
414
368
|
key: "createCol",
|
415
369
|
value: function createCol(index) {
|
416
370
|
var amount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
417
|
-
var
|
418
|
-
|
371
|
+
var _ref2 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
|
372
|
+
source = _ref2.source,
|
373
|
+
_ref2$mode = _ref2.mode,
|
374
|
+
mode = _ref2$mode === void 0 ? 'start' : _ref2$mode;
|
419
375
|
if (!this.instance.isColumnModificationAllowed()) {
|
420
376
|
throw new Error('Cannot create new column. When data source in an object, ' + 'you can only have as much columns as defined in first data row, data schema or in the \'columns\' setting.' + 'If you want to be able to add new columns, you have to use array datasource.');
|
421
377
|
}
|
422
|
-
|
423
378
|
var dataSource = this.dataSource;
|
424
379
|
var maxCols = this.tableMeta.maxCols;
|
380
|
+
var countSourceCols = this.instance.countSourceCols();
|
425
381
|
var columnIndex = index;
|
426
|
-
|
427
|
-
|
428
|
-
columnIndex = this.instance.countSourceCols();
|
382
|
+
if (typeof columnIndex !== 'number' || columnIndex >= countSourceCols) {
|
383
|
+
columnIndex = countSourceCols;
|
429
384
|
}
|
430
|
-
|
431
385
|
var continueProcess = this.instance.runHooks('beforeCreateCol', columnIndex, amount, source);
|
432
|
-
|
433
386
|
if (continueProcess === false) {
|
434
387
|
return 0;
|
435
388
|
}
|
436
|
-
|
437
|
-
var physicalColumnIndex = this.instance.countSourceCols();
|
438
|
-
|
389
|
+
var physicalColumnIndex = countSourceCols;
|
439
390
|
if (columnIndex < this.instance.countCols()) {
|
440
391
|
physicalColumnIndex = this.instance.toPhysicalColumn(columnIndex);
|
441
392
|
}
|
442
|
-
|
443
393
|
var numberOfSourceRows = this.instance.countSourceRows();
|
444
394
|
var nrOfColumns = this.instance.countCols();
|
445
395
|
var numberOfCreatedCols = 0;
|
446
396
|
var currentIndex = physicalColumnIndex;
|
447
|
-
|
397
|
+
if (mode === 'end') {
|
398
|
+
currentIndex = Math.min(currentIndex + 1, countSourceCols);
|
399
|
+
}
|
400
|
+
var startPhysicalIndex = currentIndex;
|
448
401
|
while (numberOfCreatedCols < amount && nrOfColumns < maxCols) {
|
449
402
|
if (typeof columnIndex !== 'number' || columnIndex >= nrOfColumns) {
|
450
403
|
if (numberOfSourceRows > 0) {
|
@@ -452,7 +405,6 @@ var DataMap = /*#__PURE__*/function () {
|
|
452
405
|
if (typeof dataSource[row] === 'undefined') {
|
453
406
|
dataSource[row] = [];
|
454
407
|
}
|
455
|
-
|
456
408
|
dataSource[row].push(null);
|
457
409
|
}
|
458
410
|
} else {
|
@@ -463,18 +415,21 @@ var DataMap = /*#__PURE__*/function () {
|
|
463
415
|
dataSource[_row].splice(currentIndex, 0, null);
|
464
416
|
}
|
465
417
|
}
|
466
|
-
|
467
418
|
numberOfCreatedCols += 1;
|
468
419
|
currentIndex += 1;
|
469
420
|
nrOfColumns += 1;
|
470
421
|
}
|
471
|
-
|
472
422
|
this.instance.columnIndexMapper.insertIndexes(columnIndex, numberOfCreatedCols);
|
473
|
-
this.instance.
|
423
|
+
var newVisualColumnIndex = this.instance.toVisualColumn(startPhysicalIndex);
|
424
|
+
this.instance.runHooks('afterCreateCol', newVisualColumnIndex, numberOfCreatedCols, source);
|
474
425
|
this.instance.forceFullRender = true; // used when data was changed
|
475
426
|
|
476
|
-
return
|
427
|
+
return {
|
428
|
+
delta: numberOfCreatedCols,
|
429
|
+
startPhysicalIndex: startPhysicalIndex
|
430
|
+
};
|
477
431
|
}
|
432
|
+
|
478
433
|
/**
|
479
434
|
* Removes row from the data array.
|
480
435
|
*
|
@@ -485,42 +440,42 @@ var DataMap = /*#__PURE__*/function () {
|
|
485
440
|
* @param {string} [source] Source of method call.
|
486
441
|
* @returns {boolean} Returns `false` when action was cancelled, otherwise `true`.
|
487
442
|
*/
|
488
|
-
|
489
443
|
}, {
|
490
444
|
key: "removeRow",
|
491
445
|
value: function removeRow(index) {
|
492
446
|
var amount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
493
447
|
var source = arguments.length > 2 ? arguments[2] : undefined;
|
494
448
|
var rowIndex = Number.isInteger(index) ? index : -amount; // -amount = taking indexes from the end.
|
495
|
-
|
496
449
|
var removedPhysicalIndexes = this.visualRowsToPhysical(rowIndex, amount);
|
497
450
|
var sourceRowsLength = this.instance.countSourceRows();
|
498
|
-
rowIndex = (sourceRowsLength + rowIndex) % sourceRowsLength;
|
451
|
+
rowIndex = (sourceRowsLength + rowIndex) % sourceRowsLength;
|
499
452
|
|
453
|
+
// It handle also callback from the `NestedRows` plugin. Removing parent node has effect in removing children nodes.
|
500
454
|
var actionWasNotCancelled = this.instance.runHooks('beforeRemoveRow', rowIndex, removedPhysicalIndexes.length, removedPhysicalIndexes, source);
|
501
|
-
|
502
455
|
if (actionWasNotCancelled === false) {
|
503
456
|
return false;
|
504
|
-
}
|
505
|
-
|
457
|
+
}
|
506
458
|
|
459
|
+
// List of removed indexes might be changed in the `beforeRemoveRow` hook. There may be new values.
|
507
460
|
var numberOfRemovedIndexes = removedPhysicalIndexes.length;
|
508
|
-
this.filterData(rowIndex, numberOfRemovedIndexes, removedPhysicalIndexes);
|
461
|
+
this.filterData(rowIndex, numberOfRemovedIndexes, removedPhysicalIndexes);
|
509
462
|
|
463
|
+
// TODO: Function `removeRow` should validate fully, probably above.
|
510
464
|
if (rowIndex < this.instance.countRows()) {
|
511
465
|
this.instance.rowIndexMapper.removeIndexes(removedPhysicalIndexes);
|
512
|
-
var customDefinedColumns = (0, _mixed.isDefined)(this.tableMeta.columns) || (0, _mixed.isDefined)(this.tableMeta.dataSchema);
|
466
|
+
var customDefinedColumns = (0, _mixed.isDefined)(this.tableMeta.columns) || (0, _mixed.isDefined)(this.tableMeta.dataSchema);
|
513
467
|
|
468
|
+
// All rows have been removed. There shouldn't be any columns.
|
514
469
|
if (this.instance.rowIndexMapper.getNotTrimmedIndexesLength() === 0 && customDefinedColumns === false) {
|
515
470
|
this.instance.columnIndexMapper.setIndexesSequence([]);
|
516
471
|
}
|
517
472
|
}
|
518
|
-
|
519
473
|
this.instance.runHooks('afterRemoveRow', rowIndex, numberOfRemovedIndexes, removedPhysicalIndexes, source);
|
520
474
|
this.instance.forceFullRender = true; // used when data was changed
|
521
475
|
|
522
476
|
return true;
|
523
477
|
}
|
478
|
+
|
524
479
|
/**
|
525
480
|
* Removes column from the data array.
|
526
481
|
*
|
@@ -531,17 +486,14 @@ var DataMap = /*#__PURE__*/function () {
|
|
531
486
|
* @param {string} [source] Source of method call.
|
532
487
|
* @returns {boolean} Returns `false` when action was cancelled, otherwise `true`.
|
533
488
|
*/
|
534
|
-
|
535
489
|
}, {
|
536
490
|
key: "removeCol",
|
537
491
|
value: function removeCol(index) {
|
538
492
|
var amount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
539
493
|
var source = arguments.length > 2 ? arguments[2] : undefined;
|
540
|
-
|
541
494
|
if (this.instance.dataType === 'object' || this.tableMeta.columns) {
|
542
495
|
throw new Error('cannot remove column with object data source or columns option specified');
|
543
496
|
}
|
544
|
-
|
545
497
|
var columnIndex = typeof index !== 'number' ? -amount : index;
|
546
498
|
columnIndex = (this.instance.countCols() + columnIndex) % this.instance.countCols();
|
547
499
|
var logicColumns = this.visualColumnsToPhysical(columnIndex, amount);
|
@@ -549,21 +501,17 @@ var DataMap = /*#__PURE__*/function () {
|
|
549
501
|
return b - a;
|
550
502
|
});
|
551
503
|
var actionWasNotCancelled = this.instance.runHooks('beforeRemoveCol', columnIndex, amount, logicColumns, source);
|
552
|
-
|
553
504
|
if (actionWasNotCancelled === false) {
|
554
505
|
return false;
|
555
506
|
}
|
556
|
-
|
557
507
|
var isTableUniform = true;
|
558
508
|
var removedColumnsCount = descendingLogicColumns.length;
|
559
509
|
var data = this.dataSource;
|
560
|
-
|
561
510
|
for (var c = 0; c < removedColumnsCount; c++) {
|
562
511
|
if (isTableUniform && logicColumns[0] !== logicColumns[c] - c) {
|
563
512
|
isTableUniform = false;
|
564
513
|
}
|
565
514
|
}
|
566
|
-
|
567
515
|
if (isTableUniform) {
|
568
516
|
for (var r = 0, rlen = this.instance.countSourceRows(); r < rlen; r++) {
|
569
517
|
data[r].splice(logicColumns[0], amount);
|
@@ -574,22 +522,23 @@ var DataMap = /*#__PURE__*/function () {
|
|
574
522
|
data[_r].splice(descendingLogicColumns[_c], 1);
|
575
523
|
}
|
576
524
|
}
|
577
|
-
}
|
578
|
-
|
525
|
+
}
|
579
526
|
|
527
|
+
// TODO: Function `removeCol` should validate fully, probably above.
|
580
528
|
if (columnIndex < this.instance.countCols()) {
|
581
|
-
this.instance.columnIndexMapper.removeIndexes(logicColumns);
|
529
|
+
this.instance.columnIndexMapper.removeIndexes(logicColumns);
|
582
530
|
|
531
|
+
// All columns have been removed. There shouldn't be any rows.
|
583
532
|
if (this.instance.columnIndexMapper.getNotTrimmedIndexesLength() === 0) {
|
584
533
|
this.instance.rowIndexMapper.setIndexesSequence([]);
|
585
534
|
}
|
586
535
|
}
|
587
|
-
|
588
536
|
this.instance.runHooks('afterRemoveCol', columnIndex, amount, logicColumns, source);
|
589
537
|
this.instance.forceFullRender = true; // used when data was changed
|
590
538
|
|
591
539
|
return true;
|
592
540
|
}
|
541
|
+
|
593
542
|
/**
|
594
543
|
* Add/Removes data from the column.
|
595
544
|
*
|
@@ -599,31 +548,26 @@ var DataMap = /*#__PURE__*/function () {
|
|
599
548
|
* @param {Array} [elements] The new columns to add.
|
600
549
|
* @returns {Array} Returns removed portion of columns.
|
601
550
|
*/
|
602
|
-
|
603
551
|
}, {
|
604
552
|
key: "spliceCol",
|
605
553
|
value: function spliceCol(col, index, amount) {
|
606
554
|
var colData = this.instance.getDataAtCol(col);
|
607
555
|
var removed = colData.slice(index, index + amount);
|
608
556
|
var after = colData.slice(index + amount);
|
609
|
-
|
610
557
|
for (var _len = arguments.length, elements = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {
|
611
558
|
elements[_key - 3] = arguments[_key];
|
612
559
|
}
|
613
|
-
|
614
560
|
(0, _array.extendArray)(elements, after);
|
615
561
|
var i = 0;
|
616
|
-
|
617
562
|
while (i < amount) {
|
618
563
|
elements.push(null); // add null in place of removed elements
|
619
|
-
|
620
564
|
i += 1;
|
621
565
|
}
|
622
|
-
|
623
566
|
(0, _array.to2dArray)(elements);
|
624
567
|
this.instance.populateFromArray(index, col, elements, null, null, 'spliceCol');
|
625
568
|
return removed;
|
626
569
|
}
|
570
|
+
|
627
571
|
/**
|
628
572
|
* Add/Removes data from the row.
|
629
573
|
*
|
@@ -633,53 +577,51 @@ var DataMap = /*#__PURE__*/function () {
|
|
633
577
|
* @param {Array} [elements] The new rows to add.
|
634
578
|
* @returns {Array} Returns removed portion of rows.
|
635
579
|
*/
|
636
|
-
|
637
580
|
}, {
|
638
581
|
key: "spliceRow",
|
639
582
|
value: function spliceRow(row, index, amount) {
|
640
583
|
var rowData = this.instance.getSourceDataAtRow(row);
|
641
584
|
var removed = rowData.slice(index, index + amount);
|
642
585
|
var after = rowData.slice(index + amount);
|
643
|
-
|
644
586
|
for (var _len2 = arguments.length, elements = new Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) {
|
645
587
|
elements[_key2 - 3] = arguments[_key2];
|
646
588
|
}
|
647
|
-
|
648
589
|
(0, _array.extendArray)(elements, after);
|
649
590
|
var i = 0;
|
650
|
-
|
651
591
|
while (i < amount) {
|
652
592
|
elements.push(null); // add null in place of removed elements
|
653
|
-
|
654
593
|
i += 1;
|
655
594
|
}
|
656
|
-
|
657
595
|
this.instance.populateFromArray(row, index, [elements], null, null, 'spliceRow');
|
658
596
|
return removed;
|
659
597
|
}
|
598
|
+
|
660
599
|
/**
|
661
600
|
* Add/remove row(s) to/from the data source.
|
662
601
|
*
|
663
602
|
* @param {number} index Physical index of the element to add/remove.
|
664
|
-
* @param {number}
|
665
|
-
* @param {
|
603
|
+
* @param {number} deleteCount Number of rows to remove.
|
604
|
+
* @param {Array<object>} elements Row elements to be added.
|
666
605
|
*/
|
667
|
-
|
668
606
|
}, {
|
669
607
|
key: "spliceData",
|
670
|
-
value: function spliceData(index,
|
671
|
-
|
672
|
-
|
673
|
-
}
|
674
|
-
|
675
|
-
var continueSplicing = this.instance.runHooks('beforeDataSplice', index, amount, elements);
|
676
|
-
|
608
|
+
value: function spliceData(index, deleteCount, elements) {
|
609
|
+
var _this3 = this;
|
610
|
+
var continueSplicing = this.instance.runHooks('beforeDataSplice', index, deleteCount, elements);
|
677
611
|
if (continueSplicing !== false) {
|
678
|
-
var
|
612
|
+
var newData = [].concat(_toConsumableArray(this.dataSource.slice(0, index)), _toConsumableArray(elements), _toConsumableArray(this.dataSource.slice(index)));
|
613
|
+
|
614
|
+
// We try not to change the reference.
|
615
|
+
this.dataSource.length = 0;
|
679
616
|
|
680
|
-
|
617
|
+
// Pushing to array instead of using `splice`, because Babel changes the code to one that uses the `apply` method.
|
618
|
+
// The used method was cause of the problem described within #7840.
|
619
|
+
newData.forEach(function (row) {
|
620
|
+
return _this3.dataSource.push(row);
|
621
|
+
});
|
681
622
|
}
|
682
623
|
}
|
624
|
+
|
683
625
|
/**
|
684
626
|
* Filter unwanted data elements from the data source.
|
685
627
|
*
|
@@ -687,22 +629,22 @@ var DataMap = /*#__PURE__*/function () {
|
|
687
629
|
* @param {number} amount Number of rows to add/remove.
|
688
630
|
* @param {number} physicalRows Physical row indexes.
|
689
631
|
*/
|
690
|
-
|
691
632
|
}, {
|
692
633
|
key: "filterData",
|
693
634
|
value: function filterData(index, amount, physicalRows) {
|
694
635
|
// Custom data filtering (run as a consequence of calling the below hook) provide an array containing new data.
|
695
|
-
var data = this.instance.runHooks('filterData', index, amount, physicalRows);
|
636
|
+
var data = this.instance.runHooks('filterData', index, amount, physicalRows);
|
696
637
|
|
638
|
+
// Hooks by default returns first argument (when there is no callback changing execution result).
|
697
639
|
if (Array.isArray(data) === false) {
|
698
640
|
data = this.dataSource.filter(function (row, rowIndex) {
|
699
641
|
return physicalRows.indexOf(rowIndex) === -1;
|
700
642
|
});
|
701
643
|
}
|
702
|
-
|
703
644
|
this.dataSource.length = 0;
|
704
645
|
Array.prototype.push.apply(this.dataSource, data);
|
705
646
|
}
|
647
|
+
|
706
648
|
/**
|
707
649
|
* Returns single value from the data array.
|
708
650
|
*
|
@@ -710,52 +652,47 @@ var DataMap = /*#__PURE__*/function () {
|
|
710
652
|
* @param {number} prop The column property.
|
711
653
|
* @returns {*}
|
712
654
|
*/
|
713
|
-
|
714
655
|
}, {
|
715
656
|
key: "get",
|
716
657
|
value: function get(row, prop) {
|
717
658
|
var physicalRow = this.instance.toPhysicalRow(row);
|
718
|
-
var dataRow = this.dataSource[physicalRow];
|
719
|
-
|
659
|
+
var dataRow = this.dataSource[physicalRow];
|
660
|
+
// TODO: To remove, use 'modifyData' hook instead (see below)
|
720
661
|
var modifiedRowData = this.instance.runHooks('modifyRowData', physicalRow);
|
721
|
-
dataRow = isNaN(modifiedRowData) ? modifiedRowData : dataRow;
|
662
|
+
dataRow = isNaN(modifiedRowData) ? modifiedRowData : dataRow;
|
663
|
+
//
|
722
664
|
|
723
|
-
var value = null;
|
665
|
+
var value = null;
|
724
666
|
|
667
|
+
// try to get value under property `prop` (includes dot)
|
725
668
|
if (dataRow && dataRow.hasOwnProperty && (0, _object.hasOwnProperty)(dataRow, prop)) {
|
726
669
|
value = dataRow[prop];
|
727
670
|
} else if (typeof prop === 'string' && prop.indexOf('.') > -1) {
|
728
671
|
var sliced = prop.split('.');
|
729
672
|
var out = dataRow;
|
730
|
-
|
731
673
|
if (!out) {
|
732
674
|
return null;
|
733
675
|
}
|
734
|
-
|
735
676
|
for (var i = 0, ilen = sliced.length; i < ilen; i++) {
|
736
677
|
out = out[sliced[i]];
|
737
|
-
|
738
678
|
if (typeof out === 'undefined') {
|
739
679
|
return null;
|
740
680
|
}
|
741
681
|
}
|
742
|
-
|
743
682
|
value = out;
|
744
683
|
} else if (typeof prop === 'function') {
|
745
684
|
value = prop(this.dataSource.slice(physicalRow, physicalRow + 1)[0]);
|
746
685
|
}
|
747
|
-
|
748
686
|
if (this.instance.hasHook('modifyData')) {
|
749
687
|
var valueHolder = (0, _object.createObjectPropListener)(value);
|
750
688
|
this.instance.runHooks('modifyData', physicalRow, this.propToCol(prop), valueHolder, 'get');
|
751
|
-
|
752
689
|
if (valueHolder.isTouched()) {
|
753
690
|
value = valueHolder.value;
|
754
691
|
}
|
755
692
|
}
|
756
|
-
|
757
693
|
return value;
|
758
694
|
}
|
695
|
+
|
759
696
|
/**
|
760
697
|
* Returns single value from the data array (intended for clipboard copy to an external application).
|
761
698
|
*
|
@@ -763,16 +700,15 @@ var DataMap = /*#__PURE__*/function () {
|
|
763
700
|
* @param {number} prop The column property.
|
764
701
|
* @returns {string}
|
765
702
|
*/
|
766
|
-
|
767
703
|
}, {
|
768
704
|
key: "getCopyable",
|
769
705
|
value: function getCopyable(row, prop) {
|
770
706
|
if (copyableLookup.call(this.instance, row, this.propToCol(prop))) {
|
771
707
|
return this.get(row, prop);
|
772
708
|
}
|
773
|
-
|
774
709
|
return '';
|
775
710
|
}
|
711
|
+
|
776
712
|
/**
|
777
713
|
* Saves single value to the data array.
|
778
714
|
*
|
@@ -780,27 +716,26 @@ var DataMap = /*#__PURE__*/function () {
|
|
780
716
|
* @param {number} prop The column property.
|
781
717
|
* @param {string} value The value to set.
|
782
718
|
*/
|
783
|
-
|
784
719
|
}, {
|
785
720
|
key: "set",
|
786
721
|
value: function set(row, prop, value) {
|
787
722
|
var physicalRow = this.instance.toPhysicalRow(row);
|
788
723
|
var newValue = value;
|
789
|
-
var dataRow = this.dataSource[physicalRow];
|
790
|
-
|
724
|
+
var dataRow = this.dataSource[physicalRow];
|
725
|
+
// TODO: To remove, use 'modifyData' hook instead (see below)
|
791
726
|
var modifiedRowData = this.instance.runHooks('modifyRowData', physicalRow);
|
792
|
-
dataRow = isNaN(modifiedRowData) ? modifiedRowData : dataRow;
|
727
|
+
dataRow = isNaN(modifiedRowData) ? modifiedRowData : dataRow;
|
728
|
+
//
|
793
729
|
|
794
730
|
if (this.instance.hasHook('modifyData')) {
|
795
731
|
var valueHolder = (0, _object.createObjectPropListener)(newValue);
|
796
732
|
this.instance.runHooks('modifyData', physicalRow, this.propToCol(prop), valueHolder, 'set');
|
797
|
-
|
798
733
|
if (valueHolder.isTouched()) {
|
799
734
|
newValue = valueHolder.value;
|
800
735
|
}
|
801
|
-
}
|
802
|
-
|
736
|
+
}
|
803
737
|
|
738
|
+
// try to set value under property `prop` (includes dot)
|
804
739
|
if (dataRow && dataRow.hasOwnProperty && (0, _object.hasOwnProperty)(dataRow, prop)) {
|
805
740
|
dataRow[prop] = newValue;
|
806
741
|
} else if (typeof prop === 'string' && prop.indexOf('.') > -1) {
|
@@ -808,15 +743,12 @@ var DataMap = /*#__PURE__*/function () {
|
|
808
743
|
var out = dataRow;
|
809
744
|
var i = 0;
|
810
745
|
var ilen;
|
811
|
-
|
812
746
|
for (i = 0, ilen = sliced.length - 1; i < ilen; i++) {
|
813
747
|
if (typeof out[sliced[i]] === 'undefined') {
|
814
748
|
out[sliced[i]] = {};
|
815
749
|
}
|
816
|
-
|
817
750
|
out = out[sliced[i]];
|
818
751
|
}
|
819
|
-
|
820
752
|
out[sliced[i]] = newValue;
|
821
753
|
} else if (typeof prop === 'function') {
|
822
754
|
prop(this.dataSource.slice(physicalRow, physicalRow + 1)[0], newValue);
|
@@ -824,6 +756,7 @@ var DataMap = /*#__PURE__*/function () {
|
|
824
756
|
dataRow[prop] = newValue;
|
825
757
|
}
|
826
758
|
}
|
759
|
+
|
827
760
|
/**
|
828
761
|
* This ridiculous piece of code maps rows Id that are present in table data to those displayed for user.
|
829
762
|
* The trick is, the physical row id (stored in settings.data) is not necessary the same
|
@@ -833,7 +766,6 @@ var DataMap = /*#__PURE__*/function () {
|
|
833
766
|
* @param {number} amount An amount of rows to translate.
|
834
767
|
* @returns {number}
|
835
768
|
*/
|
836
|
-
|
837
769
|
}, {
|
838
770
|
key: "visualRowsToPhysical",
|
839
771
|
value: function visualRowsToPhysical(index, amount) {
|
@@ -842,23 +774,21 @@ var DataMap = /*#__PURE__*/function () {
|
|
842
774
|
var physicRow = (totalRows + index) % totalRows;
|
843
775
|
var rowsToRemove = amount;
|
844
776
|
var row;
|
845
|
-
|
846
777
|
while (physicRow < totalRows && rowsToRemove) {
|
847
778
|
row = this.instance.toPhysicalRow(physicRow);
|
848
779
|
logicRows.push(row);
|
849
780
|
rowsToRemove -= 1;
|
850
781
|
physicRow += 1;
|
851
782
|
}
|
852
|
-
|
853
783
|
return logicRows;
|
854
784
|
}
|
785
|
+
|
855
786
|
/**
|
856
787
|
*
|
857
788
|
* @param {number} index Visual column index.
|
858
789
|
* @param {number} amount An amount of rows to translate.
|
859
790
|
* @returns {Array}
|
860
791
|
*/
|
861
|
-
|
862
792
|
}, {
|
863
793
|
key: "visualColumnsToPhysical",
|
864
794
|
value: function visualColumnsToPhysical(index, amount) {
|
@@ -866,20 +796,18 @@ var DataMap = /*#__PURE__*/function () {
|
|
866
796
|
var visualCols = [];
|
867
797
|
var physicalCol = (totalCols + index) % totalCols;
|
868
798
|
var colsToRemove = amount;
|
869
|
-
|
870
799
|
while (physicalCol < totalCols && colsToRemove) {
|
871
800
|
var col = this.instance.toPhysicalColumn(physicalCol);
|
872
801
|
visualCols.push(col);
|
873
802
|
colsToRemove -= 1;
|
874
803
|
physicalCol += 1;
|
875
804
|
}
|
876
|
-
|
877
805
|
return visualCols;
|
878
806
|
}
|
807
|
+
|
879
808
|
/**
|
880
809
|
* Clears the data array.
|
881
810
|
*/
|
882
|
-
|
883
811
|
}, {
|
884
812
|
key: "clear",
|
885
813
|
value: function clear() {
|
@@ -889,33 +817,31 @@ var DataMap = /*#__PURE__*/function () {
|
|
889
817
|
}
|
890
818
|
}
|
891
819
|
}
|
820
|
+
|
892
821
|
/**
|
893
822
|
* Get data length.
|
894
823
|
*
|
895
824
|
* @returns {number}
|
896
825
|
*/
|
897
|
-
|
898
826
|
}, {
|
899
827
|
key: "getLength",
|
900
828
|
value: function getLength() {
|
901
829
|
var maxRowsFromSettings = this.tableMeta.maxRows;
|
902
830
|
var maxRows;
|
903
|
-
|
904
831
|
if (maxRowsFromSettings < 0 || maxRowsFromSettings === 0) {
|
905
832
|
maxRows = 0;
|
906
833
|
} else {
|
907
834
|
maxRows = maxRowsFromSettings || Infinity;
|
908
835
|
}
|
909
|
-
|
910
836
|
var length = this.instance.rowIndexMapper.getNotTrimmedIndexesLength();
|
911
837
|
return Math.min(length, maxRows);
|
912
838
|
}
|
839
|
+
|
913
840
|
/**
|
914
841
|
* Returns the data array.
|
915
842
|
*
|
916
843
|
* @returns {Array}
|
917
844
|
*/
|
918
|
-
|
919
845
|
}, {
|
920
846
|
key: "getAll",
|
921
847
|
value: function getAll() {
|
@@ -927,24 +853,23 @@ var DataMap = /*#__PURE__*/function () {
|
|
927
853
|
row: Math.max(this.instance.countRows() - 1, 0),
|
928
854
|
col: Math.max(this.instance.countCols() - 1, 0)
|
929
855
|
};
|
930
|
-
|
931
856
|
if (start.row - end.row === 0 && !this.instance.countSourceRows()) {
|
932
857
|
return [];
|
933
858
|
}
|
934
|
-
|
935
859
|
return this.getRange(start, end, DataMap.DESTINATION_RENDERER);
|
936
860
|
}
|
861
|
+
|
937
862
|
/**
|
938
863
|
* Count the number of columns cached in the `colToProp` cache.
|
939
864
|
*
|
940
865
|
* @returns {number} Amount of cached columns.
|
941
866
|
*/
|
942
|
-
|
943
867
|
}, {
|
944
868
|
key: "countCachedColumns",
|
945
869
|
value: function countCachedColumns() {
|
946
870
|
return this.colToPropCache.length;
|
947
871
|
}
|
872
|
+
|
948
873
|
/**
|
949
874
|
* Returns data range as array.
|
950
875
|
*
|
@@ -953,7 +878,6 @@ var DataMap = /*#__PURE__*/function () {
|
|
953
878
|
* @param {number} destination Destination of datamap.get.
|
954
879
|
* @returns {Array}
|
955
880
|
*/
|
956
|
-
|
957
881
|
}, {
|
958
882
|
key: "getRange",
|
959
883
|
value: function getRange(start, end, destination) {
|
@@ -963,35 +887,29 @@ var DataMap = /*#__PURE__*/function () {
|
|
963
887
|
var row;
|
964
888
|
var maxRows = this.tableMeta.maxRows;
|
965
889
|
var maxCols = this.tableMeta.maxCols;
|
966
|
-
|
967
890
|
if (maxRows === 0 || maxCols === 0) {
|
968
891
|
return [];
|
969
892
|
}
|
970
|
-
|
971
893
|
var getFn = destination === DataMap.DESTINATION_CLIPBOARD_GENERATOR ? this.getCopyable : this.get;
|
972
894
|
var rlen = Math.min(Math.max(maxRows - 1, 0), Math.max(start.row, end.row));
|
973
895
|
var clen = Math.min(Math.max(maxCols - 1, 0), Math.max(start.col, end.col));
|
974
|
-
|
975
896
|
for (r = Math.min(start.row, end.row); r <= rlen; r++) {
|
976
|
-
row = [];
|
977
|
-
|
897
|
+
row = [];
|
898
|
+
// We just store indexes for rows without headers.
|
978
899
|
var physicalRow = r >= 0 ? this.instance.toPhysicalRow(r) : r;
|
979
|
-
|
980
900
|
for (c = Math.min(start.col, end.col); c <= clen; c++) {
|
981
901
|
if (physicalRow === null) {
|
982
902
|
break;
|
983
903
|
}
|
984
|
-
|
985
904
|
row.push(getFn.call(this, r, this.colToProp(c)));
|
986
905
|
}
|
987
|
-
|
988
906
|
if (physicalRow !== null) {
|
989
907
|
output.push(row);
|
990
908
|
}
|
991
909
|
}
|
992
|
-
|
993
910
|
return output;
|
994
911
|
}
|
912
|
+
|
995
913
|
/**
|
996
914
|
* Return data as text (tab separated columns).
|
997
915
|
*
|
@@ -999,12 +917,12 @@ var DataMap = /*#__PURE__*/function () {
|
|
999
917
|
* @param {object} [end] End selection position. Visual indexes.
|
1000
918
|
* @returns {string}
|
1001
919
|
*/
|
1002
|
-
|
1003
920
|
}, {
|
1004
921
|
key: "getText",
|
1005
922
|
value: function getText(start, end) {
|
1006
923
|
return (0, _SheetClip.stringify)(this.getRange(start, end, DataMap.DESTINATION_RENDERER));
|
1007
924
|
}
|
925
|
+
|
1008
926
|
/**
|
1009
927
|
* Return data as copyable text (tab separated columns intended for clipboard copy to an external application).
|
1010
928
|
*
|
@@ -1012,16 +930,15 @@ var DataMap = /*#__PURE__*/function () {
|
|
1012
930
|
* @param {object} [end] End selection position. Visual indexes.
|
1013
931
|
* @returns {string}
|
1014
932
|
*/
|
1015
|
-
|
1016
933
|
}, {
|
1017
934
|
key: "getCopyableText",
|
1018
935
|
value: function getCopyableText(start, end) {
|
1019
936
|
return (0, _SheetClip.stringify)(this.getRange(start, end, DataMap.DESTINATION_CLIPBOARD_GENERATOR));
|
1020
937
|
}
|
938
|
+
|
1021
939
|
/**
|
1022
940
|
* Destroy instance.
|
1023
941
|
*/
|
1024
|
-
|
1025
942
|
}, {
|
1026
943
|
key: "destroy",
|
1027
944
|
value: function destroy() {
|
@@ -1042,19 +959,17 @@ var DataMap = /*#__PURE__*/function () {
|
|
1042
959
|
function get() {
|
1043
960
|
return 1;
|
1044
961
|
}
|
962
|
+
|
1045
963
|
/**
|
1046
964
|
* @type {number}
|
1047
965
|
*/
|
1048
|
-
|
1049
966
|
}, {
|
1050
967
|
key: "DESTINATION_CLIPBOARD_GENERATOR",
|
1051
968
|
get: function get() {
|
1052
969
|
return 2;
|
1053
970
|
}
|
1054
971
|
}]);
|
1055
|
-
|
1056
972
|
return DataMap;
|
1057
973
|
}();
|
1058
|
-
|
1059
974
|
var _default = DataMap;
|
1060
975
|
exports.default = _default;
|