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