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.mjs
CHANGED
@@ -1,5 +1,10 @@
|
|
1
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
2
|
+
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."); }
|
3
|
+
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); }
|
4
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
5
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
6
|
+
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; }
|
1
7
|
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); }
|
2
|
-
|
3
8
|
import "core-js/modules/es.array.iterator.js";
|
4
9
|
import "core-js/modules/es.map.js";
|
5
10
|
import "core-js/modules/es.object.to-string.js";
|
@@ -7,24 +12,22 @@ import "core-js/modules/es.string.iterator.js";
|
|
7
12
|
import "core-js/modules/web.dom-collections.iterator.js";
|
8
13
|
import "core-js/modules/es.number.is-integer.js";
|
9
14
|
import "core-js/modules/es.number.constructor.js";
|
10
|
-
import "core-js/modules/es.array.concat.js";
|
11
15
|
import "core-js/modules/es.array.splice.js";
|
12
16
|
import "core-js/modules/es.array.sort.js";
|
13
17
|
import "core-js/modules/es.array.slice.js";
|
18
|
+
import "core-js/modules/es.array.concat.js";
|
19
|
+
import "core-js/modules/web.dom-collections.for-each.js";
|
14
20
|
import "core-js/modules/es.array.filter.js";
|
15
21
|
import "core-js/modules/es.array.index-of.js";
|
16
|
-
import "core-js/modules/es.regexp.exec.js";
|
17
|
-
import "core-js/modules/es.string.split.js";
|
18
22
|
import "core-js/modules/es.symbol.js";
|
19
23
|
import "core-js/modules/es.symbol.description.js";
|
20
24
|
import "core-js/modules/es.symbol.iterator.js";
|
21
|
-
|
25
|
+
import "core-js/modules/es.array.from.js";
|
26
|
+
import "core-js/modules/es.function.name.js";
|
27
|
+
import "core-js/modules/es.regexp.exec.js";
|
22
28
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
23
|
-
|
24
29
|
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); } }
|
25
|
-
|
26
30
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
27
|
-
|
28
31
|
import { stringify } from "../3rdparty/SheetClip/index.mjs";
|
29
32
|
import { cellMethodLookupFactory, countFirstRowKeys as _countFirstRowKeys } from "../helpers/data.mjs";
|
30
33
|
import { createObjectPropListener, deepClone, deepExtend, deepObjectSize, duckSchema, hasOwnProperty, isObject, objectEach } from "../helpers/object.mjs";
|
@@ -32,6 +35,7 @@ import { extendArray, to2dArray } from "../helpers/array.mjs";
|
|
32
35
|
import { rangeEach } from "../helpers/number.mjs";
|
33
36
|
import { isDefined } from "../helpers/mixed.mjs";
|
34
37
|
var copyableLookup = cellMethodLookupFactory('copyable', false);
|
38
|
+
|
35
39
|
/*
|
36
40
|
This class contains open-source contributions covered by the MIT license.
|
37
41
|
|
@@ -63,7 +67,6 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
|
63
67
|
* @class DataMap
|
64
68
|
* @private
|
65
69
|
*/
|
66
|
-
|
67
70
|
var DataMap = /*#__PURE__*/function () {
|
68
71
|
/**
|
69
72
|
* @param {object} instance Instance of Handsontable.
|
@@ -72,7 +75,6 @@ var DataMap = /*#__PURE__*/function () {
|
|
72
75
|
*/
|
73
76
|
function DataMap(instance, data, tableMeta) {
|
74
77
|
_classCallCheck(this, DataMap);
|
75
|
-
|
76
78
|
/**
|
77
79
|
* Instance of {@link Handsontable}.
|
78
80
|
*
|
@@ -86,62 +88,52 @@ var DataMap = /*#__PURE__*/function () {
|
|
86
88
|
* @private
|
87
89
|
* @type {TableMeta}
|
88
90
|
*/
|
89
|
-
|
90
91
|
this.tableMeta = tableMeta;
|
91
92
|
/**
|
92
93
|
* Reference to the original dataset.
|
93
94
|
*
|
94
95
|
* @type {*}
|
95
96
|
*/
|
96
|
-
|
97
97
|
this.dataSource = data;
|
98
98
|
/**
|
99
99
|
* Generated schema based on the first row from the source data.
|
100
100
|
*
|
101
101
|
* @type {object}
|
102
102
|
*/
|
103
|
-
|
104
103
|
this.duckSchema = this.dataSource && this.dataSource[0] ? duckSchema(this.dataSource[0]) : {};
|
105
104
|
/**
|
106
105
|
* Cached array of properties to columns.
|
107
106
|
*
|
108
107
|
* @type {Array}
|
109
108
|
*/
|
110
|
-
|
111
109
|
this.colToPropCache = void 0;
|
112
110
|
/**
|
113
111
|
* Cached map of properties to columns.
|
114
112
|
*
|
115
113
|
* @type {Map}
|
116
114
|
*/
|
117
|
-
|
118
115
|
this.propToColCache = void 0;
|
119
116
|
this.createMap();
|
120
117
|
}
|
118
|
+
|
121
119
|
/**
|
122
120
|
* Generates cache for property to and from column addressation.
|
123
121
|
*/
|
124
|
-
|
125
|
-
|
126
122
|
_createClass(DataMap, [{
|
127
123
|
key: "createMap",
|
128
124
|
value: function createMap() {
|
129
125
|
var schema = this.getSchema();
|
130
|
-
|
131
126
|
if (typeof schema === 'undefined') {
|
132
127
|
throw new Error('trying to create `columns` definition but you didn\'t provide `schema` nor `data`');
|
133
128
|
}
|
134
|
-
|
135
129
|
var columns = this.tableMeta.columns;
|
136
130
|
var i;
|
137
131
|
this.colToPropCache = [];
|
138
132
|
this.propToColCache = new Map();
|
139
|
-
|
140
133
|
if (columns) {
|
141
134
|
var columnsLen = 0;
|
142
135
|
var filteredIndex = 0;
|
143
136
|
var columnsAsFunc = false;
|
144
|
-
|
145
137
|
if (typeof columns === 'function') {
|
146
138
|
var schemaLen = deepObjectSize(schema);
|
147
139
|
columnsLen = schemaLen > 0 ? schemaLen : this.countFirstRowKeys();
|
@@ -150,17 +142,14 @@ var DataMap = /*#__PURE__*/function () {
|
|
150
142
|
var maxCols = this.tableMeta.maxCols;
|
151
143
|
columnsLen = Math.min(maxCols, columns.length);
|
152
144
|
}
|
153
|
-
|
154
145
|
for (i = 0; i < columnsLen; i++) {
|
155
146
|
var column = columnsAsFunc ? columns(i) : columns[i];
|
156
|
-
|
157
147
|
if (isObject(column)) {
|
158
148
|
if (typeof column.data !== 'undefined') {
|
159
149
|
var index = columnsAsFunc ? filteredIndex : i;
|
160
150
|
this.colToPropCache[index] = column.data;
|
161
151
|
this.propToColCache.set(column.data, index);
|
162
152
|
}
|
163
|
-
|
164
153
|
filteredIndex += 1;
|
165
154
|
}
|
166
155
|
}
|
@@ -168,17 +157,18 @@ var DataMap = /*#__PURE__*/function () {
|
|
168
157
|
this.recursiveDuckColumns(schema);
|
169
158
|
}
|
170
159
|
}
|
160
|
+
|
171
161
|
/**
|
172
162
|
* Get the amount of physical columns in the first data row.
|
173
163
|
*
|
174
164
|
* @returns {number} Amount of physical columns in the first data row.
|
175
165
|
*/
|
176
|
-
|
177
166
|
}, {
|
178
167
|
key: "countFirstRowKeys",
|
179
168
|
value: function countFirstRowKeys() {
|
180
169
|
return _countFirstRowKeys(this.dataSource);
|
181
170
|
}
|
171
|
+
|
182
172
|
/**
|
183
173
|
* Generates columns' translation cache.
|
184
174
|
*
|
@@ -187,46 +177,38 @@ var DataMap = /*#__PURE__*/function () {
|
|
187
177
|
* @param {number} parent The property cache for recursive calls.
|
188
178
|
* @returns {number}
|
189
179
|
*/
|
190
|
-
|
191
180
|
}, {
|
192
181
|
key: "recursiveDuckColumns",
|
193
182
|
value: function recursiveDuckColumns(schema, lastCol, parent) {
|
194
183
|
var _this = this;
|
195
|
-
|
196
184
|
var lastColumn = lastCol;
|
197
185
|
var propertyParent = parent;
|
198
186
|
var prop;
|
199
|
-
|
200
187
|
if (typeof lastColumn === 'undefined') {
|
201
188
|
lastColumn = 0;
|
202
189
|
propertyParent = '';
|
203
190
|
}
|
204
|
-
|
205
191
|
if (_typeof(schema) === 'object' && !Array.isArray(schema)) {
|
206
192
|
objectEach(schema, function (value, key) {
|
207
193
|
if (value === null) {
|
208
194
|
prop = propertyParent + key;
|
209
|
-
|
210
195
|
_this.colToPropCache.push(prop);
|
211
|
-
|
212
196
|
_this.propToColCache.set(prop, lastColumn);
|
213
|
-
|
214
197
|
lastColumn += 1;
|
215
198
|
} else {
|
216
199
|
lastColumn = _this.recursiveDuckColumns(value, lastColumn, "".concat(key, "."));
|
217
200
|
}
|
218
201
|
});
|
219
202
|
}
|
220
|
-
|
221
203
|
return lastColumn;
|
222
204
|
}
|
205
|
+
|
223
206
|
/**
|
224
207
|
* Returns property name that corresponds with the given column index.
|
225
208
|
*
|
226
209
|
* @param {string|number} column Visual column index or another passed argument.
|
227
210
|
* @returns {string|number} Column property, physical column index or passed argument.
|
228
211
|
*/
|
229
|
-
|
230
212
|
}, {
|
231
213
|
key: "colToProp",
|
232
214
|
value: function colToProp(column) {
|
@@ -235,109 +217,99 @@ var DataMap = /*#__PURE__*/function () {
|
|
235
217
|
if (Number.isInteger(column) === false) {
|
236
218
|
return column;
|
237
219
|
}
|
220
|
+
var physicalColumn = this.instance.toPhysicalColumn(column);
|
238
221
|
|
239
|
-
|
240
|
-
|
222
|
+
// Out of range, not visible column index.
|
241
223
|
if (physicalColumn === null) {
|
242
224
|
return column;
|
243
|
-
}
|
244
|
-
|
225
|
+
}
|
245
226
|
|
227
|
+
// Cached property.
|
246
228
|
if (this.colToPropCache && isDefined(this.colToPropCache[physicalColumn])) {
|
247
229
|
return this.colToPropCache[physicalColumn];
|
248
230
|
}
|
249
|
-
|
250
231
|
return physicalColumn;
|
251
232
|
}
|
233
|
+
|
252
234
|
/**
|
253
235
|
* Translates property into visual column index.
|
254
236
|
*
|
255
237
|
* @param {string|number} prop Column property which may be also a physical column index.
|
256
238
|
* @returns {string|number} Visual column index or passed argument.
|
257
239
|
*/
|
258
|
-
|
259
240
|
}, {
|
260
241
|
key: "propToCol",
|
261
242
|
value: function propToCol(prop) {
|
262
243
|
var cachedPhysicalIndex = this.propToColCache.get(prop);
|
263
|
-
|
264
244
|
if (isDefined(cachedPhysicalIndex)) {
|
265
245
|
return this.instance.toVisualColumn(cachedPhysicalIndex);
|
266
|
-
}
|
267
|
-
|
246
|
+
}
|
268
247
|
|
248
|
+
// Property may be a physical column index.
|
269
249
|
var visualColumn = this.instance.toVisualColumn(prop);
|
270
|
-
|
271
250
|
if (visualColumn === null) {
|
272
251
|
return prop;
|
273
252
|
}
|
274
|
-
|
275
253
|
return visualColumn;
|
276
254
|
}
|
255
|
+
|
277
256
|
/**
|
278
257
|
* Returns data's schema.
|
279
258
|
*
|
280
259
|
* @returns {object}
|
281
260
|
*/
|
282
|
-
|
283
261
|
}, {
|
284
262
|
key: "getSchema",
|
285
263
|
value: function getSchema() {
|
286
264
|
var schema = this.tableMeta.dataSchema;
|
287
|
-
|
288
265
|
if (schema) {
|
289
266
|
if (typeof schema === 'function') {
|
290
267
|
return schema();
|
291
268
|
}
|
292
|
-
|
293
269
|
return schema;
|
294
270
|
}
|
295
|
-
|
296
271
|
return this.duckSchema;
|
297
272
|
}
|
273
|
+
|
298
274
|
/**
|
299
275
|
* Creates row at the bottom of the data array.
|
300
276
|
*
|
301
277
|
* @param {number} [index] Physical index of the row before which the new row will be inserted.
|
302
278
|
* @param {number} [amount=1] An amount of rows to add.
|
303
|
-
* @param {
|
279
|
+
* @param {object} [options] Additional options for created rows.
|
280
|
+
* @param {string} [options.source] Source of method call.
|
281
|
+
* @param {'above'|'below'} [options.mode] Sets where the row is inserted: above or below the passed index.
|
304
282
|
* @fires Hooks#afterCreateRow
|
305
283
|
* @returns {number} Returns number of created rows.
|
306
284
|
*/
|
307
|
-
|
308
285
|
}, {
|
309
286
|
key: "createRow",
|
310
287
|
value: function createRow(index) {
|
311
288
|
var _this2 = this;
|
312
|
-
|
313
289
|
var amount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
314
|
-
var
|
290
|
+
var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
|
291
|
+
source = _ref.source,
|
292
|
+
_ref$mode = _ref.mode,
|
293
|
+
mode = _ref$mode === void 0 ? 'above' : _ref$mode;
|
315
294
|
var sourceRowsCount = this.instance.countSourceRows();
|
316
295
|
var physicalRowIndex = sourceRowsCount;
|
317
296
|
var numberOfCreatedRows = 0;
|
318
297
|
var rowIndex = index;
|
319
|
-
|
320
298
|
if (typeof rowIndex !== 'number' || rowIndex >= sourceRowsCount) {
|
321
299
|
rowIndex = sourceRowsCount;
|
322
300
|
}
|
323
|
-
|
324
301
|
if (rowIndex < this.instance.countRows()) {
|
325
302
|
physicalRowIndex = this.instance.toPhysicalRow(rowIndex);
|
326
303
|
}
|
327
|
-
|
328
304
|
var continueProcess = this.instance.runHooks('beforeCreateRow', rowIndex, amount, source);
|
329
|
-
|
330
305
|
if (continueProcess === false || physicalRowIndex === null) {
|
331
306
|
return 0;
|
332
307
|
}
|
333
|
-
|
334
308
|
var maxRows = this.tableMeta.maxRows;
|
335
309
|
var columnCount = this.instance.countCols();
|
336
310
|
var rowsToAdd = [];
|
337
|
-
|
338
311
|
var _loop = function _loop() {
|
339
312
|
var row = null;
|
340
|
-
|
341
313
|
if (_this2.instance.dataType === 'array') {
|
342
314
|
if (_this2.tableMeta.dataSchema) {
|
343
315
|
// Clone template array
|
@@ -345,7 +317,6 @@ var DataMap = /*#__PURE__*/function () {
|
|
345
317
|
} else {
|
346
318
|
row = [];
|
347
319
|
/* eslint-disable no-loop-func */
|
348
|
-
|
349
320
|
rangeEach(columnCount - 1, function () {
|
350
321
|
return row.push(null);
|
351
322
|
});
|
@@ -356,67 +327,73 @@ var DataMap = /*#__PURE__*/function () {
|
|
356
327
|
row = {};
|
357
328
|
deepExtend(row, _this2.getSchema());
|
358
329
|
}
|
359
|
-
|
360
330
|
rowsToAdd.push(row);
|
361
331
|
numberOfCreatedRows += 1;
|
362
332
|
};
|
363
|
-
|
364
333
|
while (numberOfCreatedRows < amount && sourceRowsCount + numberOfCreatedRows < maxRows) {
|
365
334
|
_loop();
|
366
335
|
}
|
367
|
-
|
368
336
|
this.instance.rowIndexMapper.insertIndexes(rowIndex, numberOfCreatedRows);
|
369
|
-
|
370
|
-
|
337
|
+
if (mode === 'below') {
|
338
|
+
physicalRowIndex = Math.min(physicalRowIndex + 1, sourceRowsCount);
|
339
|
+
}
|
340
|
+
this.spliceData(physicalRowIndex, 0, rowsToAdd);
|
341
|
+
var newVisualRowIndex = this.instance.toVisualRow(physicalRowIndex);
|
342
|
+
this.instance.runHooks('afterCreateRow', newVisualRowIndex, numberOfCreatedRows, source);
|
371
343
|
this.instance.forceFullRender = true; // used when data was changed
|
372
344
|
|
373
|
-
return
|
345
|
+
return {
|
346
|
+
delta: numberOfCreatedRows,
|
347
|
+
startPhysicalIndex: physicalRowIndex
|
348
|
+
};
|
374
349
|
}
|
350
|
+
|
375
351
|
/**
|
376
352
|
* Creates column at the right of the data array.
|
377
353
|
*
|
378
354
|
* @param {number} [index] Visual index of the column before which the new column will be inserted.
|
379
355
|
* @param {number} [amount=1] An amount of columns to add.
|
380
|
-
* @param {
|
356
|
+
* @param {object} [options] Additional options for created columns.
|
357
|
+
* @param {string} [options.source] Source of method call.
|
358
|
+
* @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)
|
359
|
+
* the passed index.
|
381
360
|
* @fires Hooks#afterCreateCol
|
382
361
|
* @returns {number} Returns number of created columns.
|
383
362
|
*/
|
384
|
-
|
385
363
|
}, {
|
386
364
|
key: "createCol",
|
387
365
|
value: function createCol(index) {
|
388
366
|
var amount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
389
|
-
var
|
390
|
-
|
367
|
+
var _ref2 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
|
368
|
+
source = _ref2.source,
|
369
|
+
_ref2$mode = _ref2.mode,
|
370
|
+
mode = _ref2$mode === void 0 ? 'start' : _ref2$mode;
|
391
371
|
if (!this.instance.isColumnModificationAllowed()) {
|
392
372
|
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.');
|
393
373
|
}
|
394
|
-
|
395
374
|
var dataSource = this.dataSource;
|
396
375
|
var maxCols = this.tableMeta.maxCols;
|
376
|
+
var countSourceCols = this.instance.countSourceCols();
|
397
377
|
var columnIndex = index;
|
398
|
-
|
399
|
-
|
400
|
-
columnIndex = this.instance.countSourceCols();
|
378
|
+
if (typeof columnIndex !== 'number' || columnIndex >= countSourceCols) {
|
379
|
+
columnIndex = countSourceCols;
|
401
380
|
}
|
402
|
-
|
403
381
|
var continueProcess = this.instance.runHooks('beforeCreateCol', columnIndex, amount, source);
|
404
|
-
|
405
382
|
if (continueProcess === false) {
|
406
383
|
return 0;
|
407
384
|
}
|
408
|
-
|
409
|
-
var physicalColumnIndex = this.instance.countSourceCols();
|
410
|
-
|
385
|
+
var physicalColumnIndex = countSourceCols;
|
411
386
|
if (columnIndex < this.instance.countCols()) {
|
412
387
|
physicalColumnIndex = this.instance.toPhysicalColumn(columnIndex);
|
413
388
|
}
|
414
|
-
|
415
389
|
var numberOfSourceRows = this.instance.countSourceRows();
|
416
390
|
var nrOfColumns = this.instance.countCols();
|
417
391
|
var numberOfCreatedCols = 0;
|
418
392
|
var currentIndex = physicalColumnIndex;
|
419
|
-
|
393
|
+
if (mode === 'end') {
|
394
|
+
currentIndex = Math.min(currentIndex + 1, countSourceCols);
|
395
|
+
}
|
396
|
+
var startPhysicalIndex = currentIndex;
|
420
397
|
while (numberOfCreatedCols < amount && nrOfColumns < maxCols) {
|
421
398
|
if (typeof columnIndex !== 'number' || columnIndex >= nrOfColumns) {
|
422
399
|
if (numberOfSourceRows > 0) {
|
@@ -424,7 +401,6 @@ var DataMap = /*#__PURE__*/function () {
|
|
424
401
|
if (typeof dataSource[row] === 'undefined') {
|
425
402
|
dataSource[row] = [];
|
426
403
|
}
|
427
|
-
|
428
404
|
dataSource[row].push(null);
|
429
405
|
}
|
430
406
|
} else {
|
@@ -435,18 +411,21 @@ var DataMap = /*#__PURE__*/function () {
|
|
435
411
|
dataSource[_row].splice(currentIndex, 0, null);
|
436
412
|
}
|
437
413
|
}
|
438
|
-
|
439
414
|
numberOfCreatedCols += 1;
|
440
415
|
currentIndex += 1;
|
441
416
|
nrOfColumns += 1;
|
442
417
|
}
|
443
|
-
|
444
418
|
this.instance.columnIndexMapper.insertIndexes(columnIndex, numberOfCreatedCols);
|
445
|
-
this.instance.
|
419
|
+
var newVisualColumnIndex = this.instance.toVisualColumn(startPhysicalIndex);
|
420
|
+
this.instance.runHooks('afterCreateCol', newVisualColumnIndex, numberOfCreatedCols, source);
|
446
421
|
this.instance.forceFullRender = true; // used when data was changed
|
447
422
|
|
448
|
-
return
|
423
|
+
return {
|
424
|
+
delta: numberOfCreatedCols,
|
425
|
+
startPhysicalIndex: startPhysicalIndex
|
426
|
+
};
|
449
427
|
}
|
428
|
+
|
450
429
|
/**
|
451
430
|
* Removes row from the data array.
|
452
431
|
*
|
@@ -457,42 +436,42 @@ var DataMap = /*#__PURE__*/function () {
|
|
457
436
|
* @param {string} [source] Source of method call.
|
458
437
|
* @returns {boolean} Returns `false` when action was cancelled, otherwise `true`.
|
459
438
|
*/
|
460
|
-
|
461
439
|
}, {
|
462
440
|
key: "removeRow",
|
463
441
|
value: function removeRow(index) {
|
464
442
|
var amount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
465
443
|
var source = arguments.length > 2 ? arguments[2] : undefined;
|
466
444
|
var rowIndex = Number.isInteger(index) ? index : -amount; // -amount = taking indexes from the end.
|
467
|
-
|
468
445
|
var removedPhysicalIndexes = this.visualRowsToPhysical(rowIndex, amount);
|
469
446
|
var sourceRowsLength = this.instance.countSourceRows();
|
470
|
-
rowIndex = (sourceRowsLength + rowIndex) % sourceRowsLength;
|
447
|
+
rowIndex = (sourceRowsLength + rowIndex) % sourceRowsLength;
|
471
448
|
|
449
|
+
// It handle also callback from the `NestedRows` plugin. Removing parent node has effect in removing children nodes.
|
472
450
|
var actionWasNotCancelled = this.instance.runHooks('beforeRemoveRow', rowIndex, removedPhysicalIndexes.length, removedPhysicalIndexes, source);
|
473
|
-
|
474
451
|
if (actionWasNotCancelled === false) {
|
475
452
|
return false;
|
476
|
-
}
|
477
|
-
|
453
|
+
}
|
478
454
|
|
455
|
+
// List of removed indexes might be changed in the `beforeRemoveRow` hook. There may be new values.
|
479
456
|
var numberOfRemovedIndexes = removedPhysicalIndexes.length;
|
480
|
-
this.filterData(rowIndex, numberOfRemovedIndexes, removedPhysicalIndexes);
|
457
|
+
this.filterData(rowIndex, numberOfRemovedIndexes, removedPhysicalIndexes);
|
481
458
|
|
459
|
+
// TODO: Function `removeRow` should validate fully, probably above.
|
482
460
|
if (rowIndex < this.instance.countRows()) {
|
483
461
|
this.instance.rowIndexMapper.removeIndexes(removedPhysicalIndexes);
|
484
|
-
var customDefinedColumns = isDefined(this.tableMeta.columns) || isDefined(this.tableMeta.dataSchema);
|
462
|
+
var customDefinedColumns = isDefined(this.tableMeta.columns) || isDefined(this.tableMeta.dataSchema);
|
485
463
|
|
464
|
+
// All rows have been removed. There shouldn't be any columns.
|
486
465
|
if (this.instance.rowIndexMapper.getNotTrimmedIndexesLength() === 0 && customDefinedColumns === false) {
|
487
466
|
this.instance.columnIndexMapper.setIndexesSequence([]);
|
488
467
|
}
|
489
468
|
}
|
490
|
-
|
491
469
|
this.instance.runHooks('afterRemoveRow', rowIndex, numberOfRemovedIndexes, removedPhysicalIndexes, source);
|
492
470
|
this.instance.forceFullRender = true; // used when data was changed
|
493
471
|
|
494
472
|
return true;
|
495
473
|
}
|
474
|
+
|
496
475
|
/**
|
497
476
|
* Removes column from the data array.
|
498
477
|
*
|
@@ -503,17 +482,14 @@ var DataMap = /*#__PURE__*/function () {
|
|
503
482
|
* @param {string} [source] Source of method call.
|
504
483
|
* @returns {boolean} Returns `false` when action was cancelled, otherwise `true`.
|
505
484
|
*/
|
506
|
-
|
507
485
|
}, {
|
508
486
|
key: "removeCol",
|
509
487
|
value: function removeCol(index) {
|
510
488
|
var amount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
511
489
|
var source = arguments.length > 2 ? arguments[2] : undefined;
|
512
|
-
|
513
490
|
if (this.instance.dataType === 'object' || this.tableMeta.columns) {
|
514
491
|
throw new Error('cannot remove column with object data source or columns option specified');
|
515
492
|
}
|
516
|
-
|
517
493
|
var columnIndex = typeof index !== 'number' ? -amount : index;
|
518
494
|
columnIndex = (this.instance.countCols() + columnIndex) % this.instance.countCols();
|
519
495
|
var logicColumns = this.visualColumnsToPhysical(columnIndex, amount);
|
@@ -521,21 +497,17 @@ var DataMap = /*#__PURE__*/function () {
|
|
521
497
|
return b - a;
|
522
498
|
});
|
523
499
|
var actionWasNotCancelled = this.instance.runHooks('beforeRemoveCol', columnIndex, amount, logicColumns, source);
|
524
|
-
|
525
500
|
if (actionWasNotCancelled === false) {
|
526
501
|
return false;
|
527
502
|
}
|
528
|
-
|
529
503
|
var isTableUniform = true;
|
530
504
|
var removedColumnsCount = descendingLogicColumns.length;
|
531
505
|
var data = this.dataSource;
|
532
|
-
|
533
506
|
for (var c = 0; c < removedColumnsCount; c++) {
|
534
507
|
if (isTableUniform && logicColumns[0] !== logicColumns[c] - c) {
|
535
508
|
isTableUniform = false;
|
536
509
|
}
|
537
510
|
}
|
538
|
-
|
539
511
|
if (isTableUniform) {
|
540
512
|
for (var r = 0, rlen = this.instance.countSourceRows(); r < rlen; r++) {
|
541
513
|
data[r].splice(logicColumns[0], amount);
|
@@ -546,22 +518,23 @@ var DataMap = /*#__PURE__*/function () {
|
|
546
518
|
data[_r].splice(descendingLogicColumns[_c], 1);
|
547
519
|
}
|
548
520
|
}
|
549
|
-
}
|
550
|
-
|
521
|
+
}
|
551
522
|
|
523
|
+
// TODO: Function `removeCol` should validate fully, probably above.
|
552
524
|
if (columnIndex < this.instance.countCols()) {
|
553
|
-
this.instance.columnIndexMapper.removeIndexes(logicColumns);
|
525
|
+
this.instance.columnIndexMapper.removeIndexes(logicColumns);
|
554
526
|
|
527
|
+
// All columns have been removed. There shouldn't be any rows.
|
555
528
|
if (this.instance.columnIndexMapper.getNotTrimmedIndexesLength() === 0) {
|
556
529
|
this.instance.rowIndexMapper.setIndexesSequence([]);
|
557
530
|
}
|
558
531
|
}
|
559
|
-
|
560
532
|
this.instance.runHooks('afterRemoveCol', columnIndex, amount, logicColumns, source);
|
561
533
|
this.instance.forceFullRender = true; // used when data was changed
|
562
534
|
|
563
535
|
return true;
|
564
536
|
}
|
537
|
+
|
565
538
|
/**
|
566
539
|
* Add/Removes data from the column.
|
567
540
|
*
|
@@ -571,31 +544,26 @@ var DataMap = /*#__PURE__*/function () {
|
|
571
544
|
* @param {Array} [elements] The new columns to add.
|
572
545
|
* @returns {Array} Returns removed portion of columns.
|
573
546
|
*/
|
574
|
-
|
575
547
|
}, {
|
576
548
|
key: "spliceCol",
|
577
549
|
value: function spliceCol(col, index, amount) {
|
578
550
|
var colData = this.instance.getDataAtCol(col);
|
579
551
|
var removed = colData.slice(index, index + amount);
|
580
552
|
var after = colData.slice(index + amount);
|
581
|
-
|
582
553
|
for (var _len = arguments.length, elements = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {
|
583
554
|
elements[_key - 3] = arguments[_key];
|
584
555
|
}
|
585
|
-
|
586
556
|
extendArray(elements, after);
|
587
557
|
var i = 0;
|
588
|
-
|
589
558
|
while (i < amount) {
|
590
559
|
elements.push(null); // add null in place of removed elements
|
591
|
-
|
592
560
|
i += 1;
|
593
561
|
}
|
594
|
-
|
595
562
|
to2dArray(elements);
|
596
563
|
this.instance.populateFromArray(index, col, elements, null, null, 'spliceCol');
|
597
564
|
return removed;
|
598
565
|
}
|
566
|
+
|
599
567
|
/**
|
600
568
|
* Add/Removes data from the row.
|
601
569
|
*
|
@@ -605,53 +573,51 @@ var DataMap = /*#__PURE__*/function () {
|
|
605
573
|
* @param {Array} [elements] The new rows to add.
|
606
574
|
* @returns {Array} Returns removed portion of rows.
|
607
575
|
*/
|
608
|
-
|
609
576
|
}, {
|
610
577
|
key: "spliceRow",
|
611
578
|
value: function spliceRow(row, index, amount) {
|
612
579
|
var rowData = this.instance.getSourceDataAtRow(row);
|
613
580
|
var removed = rowData.slice(index, index + amount);
|
614
581
|
var after = rowData.slice(index + amount);
|
615
|
-
|
616
582
|
for (var _len2 = arguments.length, elements = new Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) {
|
617
583
|
elements[_key2 - 3] = arguments[_key2];
|
618
584
|
}
|
619
|
-
|
620
585
|
extendArray(elements, after);
|
621
586
|
var i = 0;
|
622
|
-
|
623
587
|
while (i < amount) {
|
624
588
|
elements.push(null); // add null in place of removed elements
|
625
|
-
|
626
589
|
i += 1;
|
627
590
|
}
|
628
|
-
|
629
591
|
this.instance.populateFromArray(row, index, [elements], null, null, 'spliceRow');
|
630
592
|
return removed;
|
631
593
|
}
|
594
|
+
|
632
595
|
/**
|
633
596
|
* Add/remove row(s) to/from the data source.
|
634
597
|
*
|
635
598
|
* @param {number} index Physical index of the element to add/remove.
|
636
|
-
* @param {number}
|
637
|
-
* @param {
|
599
|
+
* @param {number} deleteCount Number of rows to remove.
|
600
|
+
* @param {Array<object>} elements Row elements to be added.
|
638
601
|
*/
|
639
|
-
|
640
602
|
}, {
|
641
603
|
key: "spliceData",
|
642
|
-
value: function spliceData(index,
|
643
|
-
|
644
|
-
|
645
|
-
}
|
646
|
-
|
647
|
-
var continueSplicing = this.instance.runHooks('beforeDataSplice', index, amount, elements);
|
648
|
-
|
604
|
+
value: function spliceData(index, deleteCount, elements) {
|
605
|
+
var _this3 = this;
|
606
|
+
var continueSplicing = this.instance.runHooks('beforeDataSplice', index, deleteCount, elements);
|
649
607
|
if (continueSplicing !== false) {
|
650
|
-
var
|
608
|
+
var newData = [].concat(_toConsumableArray(this.dataSource.slice(0, index)), _toConsumableArray(elements), _toConsumableArray(this.dataSource.slice(index)));
|
651
609
|
|
652
|
-
|
610
|
+
// We try not to change the reference.
|
611
|
+
this.dataSource.length = 0;
|
612
|
+
|
613
|
+
// Pushing to array instead of using `splice`, because Babel changes the code to one that uses the `apply` method.
|
614
|
+
// The used method was cause of the problem described within #7840.
|
615
|
+
newData.forEach(function (row) {
|
616
|
+
return _this3.dataSource.push(row);
|
617
|
+
});
|
653
618
|
}
|
654
619
|
}
|
620
|
+
|
655
621
|
/**
|
656
622
|
* Filter unwanted data elements from the data source.
|
657
623
|
*
|
@@ -659,22 +625,22 @@ var DataMap = /*#__PURE__*/function () {
|
|
659
625
|
* @param {number} amount Number of rows to add/remove.
|
660
626
|
* @param {number} physicalRows Physical row indexes.
|
661
627
|
*/
|
662
|
-
|
663
628
|
}, {
|
664
629
|
key: "filterData",
|
665
630
|
value: function filterData(index, amount, physicalRows) {
|
666
631
|
// Custom data filtering (run as a consequence of calling the below hook) provide an array containing new data.
|
667
|
-
var data = this.instance.runHooks('filterData', index, amount, physicalRows);
|
632
|
+
var data = this.instance.runHooks('filterData', index, amount, physicalRows);
|
668
633
|
|
634
|
+
// Hooks by default returns first argument (when there is no callback changing execution result).
|
669
635
|
if (Array.isArray(data) === false) {
|
670
636
|
data = this.dataSource.filter(function (row, rowIndex) {
|
671
637
|
return physicalRows.indexOf(rowIndex) === -1;
|
672
638
|
});
|
673
639
|
}
|
674
|
-
|
675
640
|
this.dataSource.length = 0;
|
676
641
|
Array.prototype.push.apply(this.dataSource, data);
|
677
642
|
}
|
643
|
+
|
678
644
|
/**
|
679
645
|
* Returns single value from the data array.
|
680
646
|
*
|
@@ -682,52 +648,47 @@ var DataMap = /*#__PURE__*/function () {
|
|
682
648
|
* @param {number} prop The column property.
|
683
649
|
* @returns {*}
|
684
650
|
*/
|
685
|
-
|
686
651
|
}, {
|
687
652
|
key: "get",
|
688
653
|
value: function get(row, prop) {
|
689
654
|
var physicalRow = this.instance.toPhysicalRow(row);
|
690
|
-
var dataRow = this.dataSource[physicalRow];
|
691
|
-
|
655
|
+
var dataRow = this.dataSource[physicalRow];
|
656
|
+
// TODO: To remove, use 'modifyData' hook instead (see below)
|
692
657
|
var modifiedRowData = this.instance.runHooks('modifyRowData', physicalRow);
|
693
|
-
dataRow = isNaN(modifiedRowData) ? modifiedRowData : dataRow;
|
658
|
+
dataRow = isNaN(modifiedRowData) ? modifiedRowData : dataRow;
|
659
|
+
//
|
694
660
|
|
695
|
-
var value = null;
|
661
|
+
var value = null;
|
696
662
|
|
663
|
+
// try to get value under property `prop` (includes dot)
|
697
664
|
if (dataRow && dataRow.hasOwnProperty && hasOwnProperty(dataRow, prop)) {
|
698
665
|
value = dataRow[prop];
|
699
666
|
} else if (typeof prop === 'string' && prop.indexOf('.') > -1) {
|
700
667
|
var sliced = prop.split('.');
|
701
668
|
var out = dataRow;
|
702
|
-
|
703
669
|
if (!out) {
|
704
670
|
return null;
|
705
671
|
}
|
706
|
-
|
707
672
|
for (var i = 0, ilen = sliced.length; i < ilen; i++) {
|
708
673
|
out = out[sliced[i]];
|
709
|
-
|
710
674
|
if (typeof out === 'undefined') {
|
711
675
|
return null;
|
712
676
|
}
|
713
677
|
}
|
714
|
-
|
715
678
|
value = out;
|
716
679
|
} else if (typeof prop === 'function') {
|
717
680
|
value = prop(this.dataSource.slice(physicalRow, physicalRow + 1)[0]);
|
718
681
|
}
|
719
|
-
|
720
682
|
if (this.instance.hasHook('modifyData')) {
|
721
683
|
var valueHolder = createObjectPropListener(value);
|
722
684
|
this.instance.runHooks('modifyData', physicalRow, this.propToCol(prop), valueHolder, 'get');
|
723
|
-
|
724
685
|
if (valueHolder.isTouched()) {
|
725
686
|
value = valueHolder.value;
|
726
687
|
}
|
727
688
|
}
|
728
|
-
|
729
689
|
return value;
|
730
690
|
}
|
691
|
+
|
731
692
|
/**
|
732
693
|
* Returns single value from the data array (intended for clipboard copy to an external application).
|
733
694
|
*
|
@@ -735,16 +696,15 @@ var DataMap = /*#__PURE__*/function () {
|
|
735
696
|
* @param {number} prop The column property.
|
736
697
|
* @returns {string}
|
737
698
|
*/
|
738
|
-
|
739
699
|
}, {
|
740
700
|
key: "getCopyable",
|
741
701
|
value: function getCopyable(row, prop) {
|
742
702
|
if (copyableLookup.call(this.instance, row, this.propToCol(prop))) {
|
743
703
|
return this.get(row, prop);
|
744
704
|
}
|
745
|
-
|
746
705
|
return '';
|
747
706
|
}
|
707
|
+
|
748
708
|
/**
|
749
709
|
* Saves single value to the data array.
|
750
710
|
*
|
@@ -752,27 +712,26 @@ var DataMap = /*#__PURE__*/function () {
|
|
752
712
|
* @param {number} prop The column property.
|
753
713
|
* @param {string} value The value to set.
|
754
714
|
*/
|
755
|
-
|
756
715
|
}, {
|
757
716
|
key: "set",
|
758
717
|
value: function set(row, prop, value) {
|
759
718
|
var physicalRow = this.instance.toPhysicalRow(row);
|
760
719
|
var newValue = value;
|
761
|
-
var dataRow = this.dataSource[physicalRow];
|
762
|
-
|
720
|
+
var dataRow = this.dataSource[physicalRow];
|
721
|
+
// TODO: To remove, use 'modifyData' hook instead (see below)
|
763
722
|
var modifiedRowData = this.instance.runHooks('modifyRowData', physicalRow);
|
764
|
-
dataRow = isNaN(modifiedRowData) ? modifiedRowData : dataRow;
|
723
|
+
dataRow = isNaN(modifiedRowData) ? modifiedRowData : dataRow;
|
724
|
+
//
|
765
725
|
|
766
726
|
if (this.instance.hasHook('modifyData')) {
|
767
727
|
var valueHolder = createObjectPropListener(newValue);
|
768
728
|
this.instance.runHooks('modifyData', physicalRow, this.propToCol(prop), valueHolder, 'set');
|
769
|
-
|
770
729
|
if (valueHolder.isTouched()) {
|
771
730
|
newValue = valueHolder.value;
|
772
731
|
}
|
773
|
-
}
|
774
|
-
|
732
|
+
}
|
775
733
|
|
734
|
+
// try to set value under property `prop` (includes dot)
|
776
735
|
if (dataRow && dataRow.hasOwnProperty && hasOwnProperty(dataRow, prop)) {
|
777
736
|
dataRow[prop] = newValue;
|
778
737
|
} else if (typeof prop === 'string' && prop.indexOf('.') > -1) {
|
@@ -780,15 +739,12 @@ var DataMap = /*#__PURE__*/function () {
|
|
780
739
|
var out = dataRow;
|
781
740
|
var i = 0;
|
782
741
|
var ilen;
|
783
|
-
|
784
742
|
for (i = 0, ilen = sliced.length - 1; i < ilen; i++) {
|
785
743
|
if (typeof out[sliced[i]] === 'undefined') {
|
786
744
|
out[sliced[i]] = {};
|
787
745
|
}
|
788
|
-
|
789
746
|
out = out[sliced[i]];
|
790
747
|
}
|
791
|
-
|
792
748
|
out[sliced[i]] = newValue;
|
793
749
|
} else if (typeof prop === 'function') {
|
794
750
|
prop(this.dataSource.slice(physicalRow, physicalRow + 1)[0], newValue);
|
@@ -796,6 +752,7 @@ var DataMap = /*#__PURE__*/function () {
|
|
796
752
|
dataRow[prop] = newValue;
|
797
753
|
}
|
798
754
|
}
|
755
|
+
|
799
756
|
/**
|
800
757
|
* This ridiculous piece of code maps rows Id that are present in table data to those displayed for user.
|
801
758
|
* The trick is, the physical row id (stored in settings.data) is not necessary the same
|
@@ -805,7 +762,6 @@ var DataMap = /*#__PURE__*/function () {
|
|
805
762
|
* @param {number} amount An amount of rows to translate.
|
806
763
|
* @returns {number}
|
807
764
|
*/
|
808
|
-
|
809
765
|
}, {
|
810
766
|
key: "visualRowsToPhysical",
|
811
767
|
value: function visualRowsToPhysical(index, amount) {
|
@@ -814,23 +770,21 @@ var DataMap = /*#__PURE__*/function () {
|
|
814
770
|
var physicRow = (totalRows + index) % totalRows;
|
815
771
|
var rowsToRemove = amount;
|
816
772
|
var row;
|
817
|
-
|
818
773
|
while (physicRow < totalRows && rowsToRemove) {
|
819
774
|
row = this.instance.toPhysicalRow(physicRow);
|
820
775
|
logicRows.push(row);
|
821
776
|
rowsToRemove -= 1;
|
822
777
|
physicRow += 1;
|
823
778
|
}
|
824
|
-
|
825
779
|
return logicRows;
|
826
780
|
}
|
781
|
+
|
827
782
|
/**
|
828
783
|
*
|
829
784
|
* @param {number} index Visual column index.
|
830
785
|
* @param {number} amount An amount of rows to translate.
|
831
786
|
* @returns {Array}
|
832
787
|
*/
|
833
|
-
|
834
788
|
}, {
|
835
789
|
key: "visualColumnsToPhysical",
|
836
790
|
value: function visualColumnsToPhysical(index, amount) {
|
@@ -838,20 +792,18 @@ var DataMap = /*#__PURE__*/function () {
|
|
838
792
|
var visualCols = [];
|
839
793
|
var physicalCol = (totalCols + index) % totalCols;
|
840
794
|
var colsToRemove = amount;
|
841
|
-
|
842
795
|
while (physicalCol < totalCols && colsToRemove) {
|
843
796
|
var col = this.instance.toPhysicalColumn(physicalCol);
|
844
797
|
visualCols.push(col);
|
845
798
|
colsToRemove -= 1;
|
846
799
|
physicalCol += 1;
|
847
800
|
}
|
848
|
-
|
849
801
|
return visualCols;
|
850
802
|
}
|
803
|
+
|
851
804
|
/**
|
852
805
|
* Clears the data array.
|
853
806
|
*/
|
854
|
-
|
855
807
|
}, {
|
856
808
|
key: "clear",
|
857
809
|
value: function clear() {
|
@@ -861,33 +813,31 @@ var DataMap = /*#__PURE__*/function () {
|
|
861
813
|
}
|
862
814
|
}
|
863
815
|
}
|
816
|
+
|
864
817
|
/**
|
865
818
|
* Get data length.
|
866
819
|
*
|
867
820
|
* @returns {number}
|
868
821
|
*/
|
869
|
-
|
870
822
|
}, {
|
871
823
|
key: "getLength",
|
872
824
|
value: function getLength() {
|
873
825
|
var maxRowsFromSettings = this.tableMeta.maxRows;
|
874
826
|
var maxRows;
|
875
|
-
|
876
827
|
if (maxRowsFromSettings < 0 || maxRowsFromSettings === 0) {
|
877
828
|
maxRows = 0;
|
878
829
|
} else {
|
879
830
|
maxRows = maxRowsFromSettings || Infinity;
|
880
831
|
}
|
881
|
-
|
882
832
|
var length = this.instance.rowIndexMapper.getNotTrimmedIndexesLength();
|
883
833
|
return Math.min(length, maxRows);
|
884
834
|
}
|
835
|
+
|
885
836
|
/**
|
886
837
|
* Returns the data array.
|
887
838
|
*
|
888
839
|
* @returns {Array}
|
889
840
|
*/
|
890
|
-
|
891
841
|
}, {
|
892
842
|
key: "getAll",
|
893
843
|
value: function getAll() {
|
@@ -899,24 +849,23 @@ var DataMap = /*#__PURE__*/function () {
|
|
899
849
|
row: Math.max(this.instance.countRows() - 1, 0),
|
900
850
|
col: Math.max(this.instance.countCols() - 1, 0)
|
901
851
|
};
|
902
|
-
|
903
852
|
if (start.row - end.row === 0 && !this.instance.countSourceRows()) {
|
904
853
|
return [];
|
905
854
|
}
|
906
|
-
|
907
855
|
return this.getRange(start, end, DataMap.DESTINATION_RENDERER);
|
908
856
|
}
|
857
|
+
|
909
858
|
/**
|
910
859
|
* Count the number of columns cached in the `colToProp` cache.
|
911
860
|
*
|
912
861
|
* @returns {number} Amount of cached columns.
|
913
862
|
*/
|
914
|
-
|
915
863
|
}, {
|
916
864
|
key: "countCachedColumns",
|
917
865
|
value: function countCachedColumns() {
|
918
866
|
return this.colToPropCache.length;
|
919
867
|
}
|
868
|
+
|
920
869
|
/**
|
921
870
|
* Returns data range as array.
|
922
871
|
*
|
@@ -925,7 +874,6 @@ var DataMap = /*#__PURE__*/function () {
|
|
925
874
|
* @param {number} destination Destination of datamap.get.
|
926
875
|
* @returns {Array}
|
927
876
|
*/
|
928
|
-
|
929
877
|
}, {
|
930
878
|
key: "getRange",
|
931
879
|
value: function getRange(start, end, destination) {
|
@@ -935,35 +883,29 @@ var DataMap = /*#__PURE__*/function () {
|
|
935
883
|
var row;
|
936
884
|
var maxRows = this.tableMeta.maxRows;
|
937
885
|
var maxCols = this.tableMeta.maxCols;
|
938
|
-
|
939
886
|
if (maxRows === 0 || maxCols === 0) {
|
940
887
|
return [];
|
941
888
|
}
|
942
|
-
|
943
889
|
var getFn = destination === DataMap.DESTINATION_CLIPBOARD_GENERATOR ? this.getCopyable : this.get;
|
944
890
|
var rlen = Math.min(Math.max(maxRows - 1, 0), Math.max(start.row, end.row));
|
945
891
|
var clen = Math.min(Math.max(maxCols - 1, 0), Math.max(start.col, end.col));
|
946
|
-
|
947
892
|
for (r = Math.min(start.row, end.row); r <= rlen; r++) {
|
948
|
-
row = [];
|
949
|
-
|
893
|
+
row = [];
|
894
|
+
// We just store indexes for rows without headers.
|
950
895
|
var physicalRow = r >= 0 ? this.instance.toPhysicalRow(r) : r;
|
951
|
-
|
952
896
|
for (c = Math.min(start.col, end.col); c <= clen; c++) {
|
953
897
|
if (physicalRow === null) {
|
954
898
|
break;
|
955
899
|
}
|
956
|
-
|
957
900
|
row.push(getFn.call(this, r, this.colToProp(c)));
|
958
901
|
}
|
959
|
-
|
960
902
|
if (physicalRow !== null) {
|
961
903
|
output.push(row);
|
962
904
|
}
|
963
905
|
}
|
964
|
-
|
965
906
|
return output;
|
966
907
|
}
|
908
|
+
|
967
909
|
/**
|
968
910
|
* Return data as text (tab separated columns).
|
969
911
|
*
|
@@ -971,12 +913,12 @@ var DataMap = /*#__PURE__*/function () {
|
|
971
913
|
* @param {object} [end] End selection position. Visual indexes.
|
972
914
|
* @returns {string}
|
973
915
|
*/
|
974
|
-
|
975
916
|
}, {
|
976
917
|
key: "getText",
|
977
918
|
value: function getText(start, end) {
|
978
919
|
return stringify(this.getRange(start, end, DataMap.DESTINATION_RENDERER));
|
979
920
|
}
|
921
|
+
|
980
922
|
/**
|
981
923
|
* Return data as copyable text (tab separated columns intended for clipboard copy to an external application).
|
982
924
|
*
|
@@ -984,16 +926,15 @@ var DataMap = /*#__PURE__*/function () {
|
|
984
926
|
* @param {object} [end] End selection position. Visual indexes.
|
985
927
|
* @returns {string}
|
986
928
|
*/
|
987
|
-
|
988
929
|
}, {
|
989
930
|
key: "getCopyableText",
|
990
931
|
value: function getCopyableText(start, end) {
|
991
932
|
return stringify(this.getRange(start, end, DataMap.DESTINATION_CLIPBOARD_GENERATOR));
|
992
933
|
}
|
934
|
+
|
993
935
|
/**
|
994
936
|
* Destroy instance.
|
995
937
|
*/
|
996
|
-
|
997
938
|
}, {
|
998
939
|
key: "destroy",
|
999
940
|
value: function destroy() {
|
@@ -1014,18 +955,16 @@ var DataMap = /*#__PURE__*/function () {
|
|
1014
955
|
function get() {
|
1015
956
|
return 1;
|
1016
957
|
}
|
958
|
+
|
1017
959
|
/**
|
1018
960
|
* @type {number}
|
1019
961
|
*/
|
1020
|
-
|
1021
962
|
}, {
|
1022
963
|
key: "DESTINATION_CLIPBOARD_GENERATOR",
|
1023
964
|
get: function get() {
|
1024
965
|
return 2;
|
1025
966
|
}
|
1026
967
|
}]);
|
1027
|
-
|
1028
968
|
return DataMap;
|
1029
969
|
}();
|
1030
|
-
|
1031
970
|
export default DataMap;
|