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