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