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