handsontable 12.1.2 → 12.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/3rdparty/SheetClip/SheetClip.js +3 -32
- package/3rdparty/SheetClip/SheetClip.mjs +3 -23
- package/3rdparty/SheetClip/index.js +0 -2
- package/3rdparty/autoResize/autoResize.js +119 -145
- package/3rdparty/autoResize/autoResize.mjs +119 -143
- package/3rdparty/autoResize/index.js +0 -2
- package/3rdparty/walkontable/src/border.js +72 -174
- package/3rdparty/walkontable/src/border.mjs +74 -161
- package/3rdparty/walkontable/src/calculator/constants.js +0 -3
- package/3rdparty/walkontable/src/calculator/constants.mjs +0 -2
- package/3rdparty/walkontable/src/calculator/index.js +0 -10
- package/3rdparty/walkontable/src/calculator/viewportColumns.js +26 -76
- package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +26 -69
- package/3rdparty/walkontable/src/calculator/viewportRows.js +20 -48
- package/3rdparty/walkontable/src/calculator/viewportRows.mjs +20 -41
- package/3rdparty/walkontable/src/cell/coords.js +13 -43
- package/3rdparty/walkontable/src/cell/coords.mjs +13 -38
- package/3rdparty/walkontable/src/cell/range.js +55 -130
- package/3rdparty/walkontable/src/cell/range.mjs +60 -126
- package/3rdparty/walkontable/src/core/_base.js +16 -74
- package/3rdparty/walkontable/src/core/_base.mjs +19 -70
- package/3rdparty/walkontable/src/core/clone.js +1 -40
- package/3rdparty/walkontable/src/core/clone.mjs +3 -30
- package/3rdparty/walkontable/src/core/core.js +3 -57
- package/3rdparty/walkontable/src/core/core.mjs +5 -41
- package/3rdparty/walkontable/src/event.js +31 -78
- package/3rdparty/walkontable/src/event.mjs +31 -65
- package/3rdparty/walkontable/src/facade/core.js +1 -17
- package/3rdparty/walkontable/src/facade/core.mjs +7 -20
- package/3rdparty/walkontable/src/filter/column.js +9 -18
- package/3rdparty/walkontable/src/filter/column.mjs +9 -17
- package/3rdparty/walkontable/src/filter/row.js +9 -18
- package/3rdparty/walkontable/src/filter/row.mjs +9 -17
- package/3rdparty/walkontable/src/index.js +0 -31
- package/3rdparty/walkontable/src/overlay/_base.js +24 -69
- package/3rdparty/walkontable/src/overlay/_base.mjs +31 -68
- package/3rdparty/walkontable/src/overlay/bottom.js +28 -99
- package/3rdparty/walkontable/src/overlay/bottom.mjs +30 -86
- package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.js +7 -53
- package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.mjs +9 -40
- package/3rdparty/walkontable/src/overlay/constants.js +0 -6
- package/3rdparty/walkontable/src/overlay/constants.mjs +0 -1
- package/3rdparty/walkontable/src/overlay/index.js +0 -17
- package/3rdparty/walkontable/src/overlay/inlineStart.js +21 -91
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +23 -78
- package/3rdparty/walkontable/src/overlay/top.js +27 -100
- package/3rdparty/walkontable/src/overlay/top.mjs +29 -87
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +4 -51
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +6 -38
- package/3rdparty/walkontable/src/overlays.js +58 -129
- package/3rdparty/walkontable/src/overlays.mjs +60 -121
- package/3rdparty/walkontable/src/renderer/_base.js +4 -20
- package/3rdparty/walkontable/src/renderer/_base.mjs +8 -22
- package/3rdparty/walkontable/src/renderer/cells.js +10 -54
- package/3rdparty/walkontable/src/renderer/cells.mjs +22 -52
- package/3rdparty/walkontable/src/renderer/colGroup.js +10 -47
- package/3rdparty/walkontable/src/renderer/colGroup.mjs +21 -46
- package/3rdparty/walkontable/src/renderer/columnHeaders.js +8 -50
- package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +19 -49
- package/3rdparty/walkontable/src/renderer/index.js +13 -36
- package/3rdparty/walkontable/src/renderer/index.mjs +17 -27
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +8 -50
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +20 -49
- package/3rdparty/walkontable/src/renderer/rows.js +3 -46
- package/3rdparty/walkontable/src/renderer/rows.mjs +3 -29
- package/3rdparty/walkontable/src/renderer/table.js +22 -49
- package/3rdparty/walkontable/src/renderer/table.mjs +22 -48
- package/3rdparty/walkontable/src/scroll.js +56 -86
- package/3rdparty/walkontable/src/scroll.mjs +58 -86
- package/3rdparty/walkontable/src/selection.js +20 -101
- package/3rdparty/walkontable/src/selection.mjs +22 -85
- package/3rdparty/walkontable/src/settings.js +9 -29
- package/3rdparty/walkontable/src/settings.mjs +9 -27
- package/3rdparty/walkontable/src/table/bottom.js +1 -35
- package/3rdparty/walkontable/src/table/bottom.mjs +6 -25
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.js +1 -35
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.mjs +7 -26
- package/3rdparty/walkontable/src/table/inlineStart.js +1 -35
- package/3rdparty/walkontable/src/table/inlineStart.mjs +3 -22
- package/3rdparty/walkontable/src/table/master.js +10 -55
- package/3rdparty/walkontable/src/table/master.mjs +15 -44
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +7 -28
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +7 -26
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +7 -28
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +7 -26
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +7 -22
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +7 -20
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +7 -23
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +7 -21
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +7 -22
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +7 -20
- package/3rdparty/walkontable/src/table/top.js +1 -35
- package/3rdparty/walkontable/src/table/top.mjs +6 -25
- package/3rdparty/walkontable/src/table/topInlineStartCorner.js +1 -35
- package/3rdparty/walkontable/src/table/topInlineStartCorner.mjs +7 -26
- package/3rdparty/walkontable/src/table.js +74 -238
- package/3rdparty/walkontable/src/table.mjs +84 -227
- package/3rdparty/walkontable/src/types.js +0 -5
- package/3rdparty/walkontable/src/types.mjs +0 -5
- package/3rdparty/walkontable/src/utils/column.js +9 -31
- package/3rdparty/walkontable/src/utils/column.mjs +13 -30
- package/3rdparty/walkontable/src/utils/nodesPool.js +3 -12
- package/3rdparty/walkontable/src/utils/nodesPool.mjs +3 -11
- package/3rdparty/walkontable/src/utils/orderView/constants.js +0 -3
- package/3rdparty/walkontable/src/utils/orderView/constants.mjs +0 -2
- package/3rdparty/walkontable/src/utils/orderView/index.js +0 -5
- package/3rdparty/walkontable/src/utils/orderView/sharedView.js +2 -33
- package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +6 -26
- package/3rdparty/walkontable/src/utils/orderView/view.js +14 -46
- package/3rdparty/walkontable/src/utils/orderView/view.mjs +21 -50
- package/3rdparty/walkontable/src/utils/orderView/viewSize.js +3 -15
- package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +3 -14
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +8 -22
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +23 -34
- package/3rdparty/walkontable/src/utils/row.js +2 -13
- package/3rdparty/walkontable/src/utils/row.mjs +2 -12
- package/3rdparty/walkontable/src/viewport.js +38 -100
- package/3rdparty/walkontable/src/viewport.mjs +40 -99
- package/CHANGELOG.md +103 -5
- package/base.js +6 -17
- package/base.mjs +6 -12
- package/cellTypes/autocompleteType/autocompleteType.js +0 -4
- package/cellTypes/autocompleteType/index.js +0 -2
- package/cellTypes/checkboxType/checkboxType.js +0 -3
- package/cellTypes/checkboxType/index.js +0 -2
- package/cellTypes/dateType/dateType.js +0 -4
- package/cellTypes/dateType/index.js +0 -2
- package/cellTypes/dropdownType/dropdownType.js +0 -4
- package/cellTypes/dropdownType/index.js +0 -2
- package/cellTypes/handsontableType/handsontableType.js +0 -3
- package/cellTypes/handsontableType/index.js +0 -2
- package/cellTypes/index.js +0 -21
- package/cellTypes/index.mjs +3 -5
- package/cellTypes/numericType/index.js +0 -2
- package/cellTypes/numericType/numericType.js +0 -4
- package/cellTypes/passwordType/index.js +0 -2
- package/cellTypes/passwordType/passwordType.js +0 -3
- package/cellTypes/registry.js +10 -25
- package/cellTypes/registry.mjs +10 -20
- package/cellTypes/textType/index.js +0 -2
- package/cellTypes/textType/textType.js +0 -3
- package/cellTypes/timeType/index.js +0 -2
- package/cellTypes/timeType/timeType.js +0 -4
- package/core.d.ts +6 -4
- package/core.js +514 -974
- package/core.mjs +519 -921
- package/dataMap/dataMap.js +127 -212
- package/dataMap/dataMap.mjs +127 -188
- package/{dataSource.js → dataMap/dataSource.js} +18 -66
- package/{dataSource.mjs → dataMap/dataSource.mjs} +20 -60
- package/dataMap/index.js +0 -13
- package/dataMap/metaManager/index.js +21 -46
- package/dataMap/metaManager/index.mjs +47 -64
- package/dataMap/metaManager/lazyFactoryMap.js +23 -55
- package/dataMap/metaManager/lazyFactoryMap.mjs +23 -43
- package/dataMap/metaManager/metaLayers/cellMeta.js +16 -52
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +16 -37
- package/dataMap/metaManager/metaLayers/columnMeta.js +8 -22
- package/dataMap/metaManager/metaLayers/columnMeta.mjs +14 -25
- package/dataMap/metaManager/metaLayers/globalMeta.js +4 -19
- package/dataMap/metaManager/metaLayers/globalMeta.mjs +4 -15
- package/dataMap/metaManager/metaLayers/tableMeta.js +4 -15
- package/dataMap/metaManager/metaLayers/tableMeta.mjs +28 -37
- package/dataMap/metaManager/metaSchema.js +196 -257
- package/dataMap/metaManager/metaSchema.mjs +196 -248
- package/dataMap/metaManager/mods/dynamicCellMeta.js +6 -36
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +20 -39
- package/dataMap/metaManager/mods/extendMetaProperties.js +5 -28
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +4 -18
- package/dataMap/metaManager/utils.js +11 -20
- package/dataMap/metaManager/utils.mjs +21 -23
- package/dataMap/replaceData.js +14 -35
- package/dataMap/replaceData.mjs +35 -45
- package/dist/handsontable.css +2 -2
- package/dist/handsontable.full.css +2 -2
- package/dist/handsontable.full.js +64469 -93042
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +527 -284
- package/dist/handsontable.js +9616 -21414
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +3 -3
- package/dist/languages/all.js +0 -175
- package/dist/languages/ar-AR.js +0 -10
- package/dist/languages/cs-CZ.js +0 -10
- package/dist/languages/de-CH.js +0 -10
- package/dist/languages/de-DE.js +0 -10
- package/dist/languages/en-US.js +0 -10
- package/dist/languages/es-MX.js +0 -10
- package/dist/languages/fr-FR.js +0 -10
- package/dist/languages/it-IT.js +0 -10
- package/dist/languages/ja-JP.js +0 -10
- package/dist/languages/ko-KR.js +0 -10
- package/dist/languages/lv-LV.js +0 -10
- package/dist/languages/nb-NO.js +0 -10
- package/dist/languages/nl-NL.js +0 -10
- package/dist/languages/pl-PL.js +0 -10
- package/dist/languages/pt-BR.js +0 -10
- package/dist/languages/ru-RU.js +0 -10
- package/dist/languages/sr-SP.js +0 -10
- package/dist/languages/zh-CN.js +0 -10
- package/dist/languages/zh-TW.js +0 -10
- package/editorManager.js +89 -124
- package/editorManager.mjs +89 -104
- package/editors/autocompleteEditor/autocompleteEditor.js +26 -133
- package/editors/autocompleteEditor/autocompleteEditor.mjs +26 -104
- package/editors/autocompleteEditor/index.js +0 -2
- package/editors/baseEditor/baseEditor.js +45 -155
- package/editors/baseEditor/baseEditor.mjs +45 -129
- package/editors/baseEditor/index.js +0 -2
- package/editors/checkboxEditor/checkboxEditor.js +2 -33
- package/editors/checkboxEditor/checkboxEditor.mjs +2 -19
- package/editors/checkboxEditor/index.js +0 -2
- package/editors/dateEditor/dateEditor.js +36 -97
- package/editors/dateEditor/dateEditor.mjs +35 -74
- package/editors/dateEditor/index.js +0 -2
- package/editors/dropdownEditor/dropdownEditor.js +1 -41
- package/editors/dropdownEditor/dropdownEditor.mjs +1 -22
- package/editors/dropdownEditor/index.js +0 -2
- package/editors/handsontableEditor/handsontableEditor.js +13 -85
- package/editors/handsontableEditor/handsontableEditor.mjs +13 -66
- package/editors/handsontableEditor/index.js +0 -2
- package/editors/index.js +0 -25
- package/editors/index.mjs +3 -5
- package/editors/numericEditor/index.js +0 -2
- package/editors/numericEditor/numericEditor.js +1 -31
- package/editors/numericEditor/numericEditor.mjs +1 -18
- package/editors/passwordEditor/index.js +0 -2
- package/editors/passwordEditor/passwordEditor.js +1 -38
- package/editors/passwordEditor/passwordEditor.mjs +1 -22
- package/editors/registry.js +10 -36
- package/editors/registry.mjs +10 -28
- package/editors/selectEditor/index.js +0 -2
- package/editors/selectEditor/selectEditor.js +21 -73
- package/editors/selectEditor/selectEditor.mjs +21 -56
- package/editors/textEditor/caretPositioner.js +0 -12
- package/editors/textEditor/caretPositioner.mjs +10 -20
- package/editors/textEditor/index.js +0 -2
- package/editors/textEditor/textEditor.js +38 -137
- package/editors/textEditor/textEditor.mjs +38 -106
- package/editors/timeEditor/index.js +0 -2
- package/editors/timeEditor/timeEditor.js +1 -36
- package/editors/timeEditor/timeEditor.mjs +1 -21
- package/eventManager.js +20 -56
- package/eventManager.mjs +23 -56
- package/helpers/array.js +22 -88
- package/helpers/array.mjs +22 -58
- package/helpers/browser.js +25 -51
- package/helpers/browser.mjs +25 -32
- package/helpers/console.js +3 -13
- package/helpers/console.mjs +8 -16
- package/helpers/data.d.ts +0 -1
- package/helpers/data.js +10 -55
- package/helpers/data.mjs +10 -33
- package/helpers/date.js +2 -3
- package/helpers/date.mjs +2 -2
- package/helpers/dom/element.js +67 -259
- package/helpers/dom/element.mjs +74 -194
- package/helpers/dom/event.js +3 -7
- package/helpers/dom/event.mjs +3 -3
- package/helpers/feature.js +13 -47
- package/helpers/feature.mjs +13 -31
- package/helpers/function.js +14 -59
- package/helpers/function.mjs +20 -52
- package/helpers/mixed.js +9 -66
- package/helpers/mixed.mjs +15 -51
- package/helpers/number.js +4 -46
- package/helpers/number.mjs +4 -23
- package/helpers/object.js +15 -72
- package/helpers/object.mjs +21 -52
- package/helpers/string.js +6 -28
- package/helpers/string.mjs +12 -21
- package/helpers/templateLiteralTag.js +0 -6
- package/helpers/templateLiteralTag.mjs +7 -10
- package/helpers/unicode.js +17 -26
- package/helpers/unicode.mjs +17 -15
- package/helpers/wrappers/jquery.js +4 -14
- package/helpers/wrappers/jquery.mjs +4 -13
- package/i18n/constants.js +1 -3
- package/i18n/constants.mjs +1 -1
- package/i18n/index.js +0 -7
- package/i18n/languages/ar-AR.js +0 -16
- package/i18n/languages/ar-AR.mjs +1 -4
- package/i18n/languages/cs-CZ.js +0 -16
- package/i18n/languages/cs-CZ.mjs +1 -4
- package/i18n/languages/de-CH.js +0 -16
- package/i18n/languages/de-CH.mjs +1 -4
- package/i18n/languages/de-DE.js +0 -16
- package/i18n/languages/de-DE.mjs +1 -4
- package/i18n/languages/en-US.js +0 -16
- package/i18n/languages/en-US.mjs +1 -4
- package/i18n/languages/es-MX.js +0 -16
- package/i18n/languages/es-MX.mjs +1 -4
- package/i18n/languages/fr-FR.js +0 -16
- package/i18n/languages/fr-FR.mjs +1 -4
- package/i18n/languages/index.js +0 -39
- package/i18n/languages/it-IT.js +0 -16
- package/i18n/languages/it-IT.mjs +1 -4
- package/i18n/languages/ja-JP.js +0 -16
- package/i18n/languages/ja-JP.mjs +1 -4
- package/i18n/languages/ko-KR.js +0 -16
- package/i18n/languages/ko-KR.mjs +1 -4
- package/i18n/languages/lv-LV.js +0 -16
- package/i18n/languages/lv-LV.mjs +1 -4
- package/i18n/languages/nb-NO.js +0 -16
- package/i18n/languages/nb-NO.mjs +1 -4
- package/i18n/languages/nl-NL.js +0 -16
- package/i18n/languages/nl-NL.mjs +1 -4
- package/i18n/languages/pl-PL.js +0 -16
- package/i18n/languages/pl-PL.mjs +1 -4
- package/i18n/languages/pt-BR.js +0 -16
- package/i18n/languages/pt-BR.mjs +1 -4
- package/i18n/languages/ru-RU.js +0 -16
- package/i18n/languages/ru-RU.mjs +1 -4
- package/i18n/languages/sr-SP.js +0 -16
- package/i18n/languages/sr-SP.mjs +1 -4
- package/i18n/languages/zh-CN.js +0 -16
- package/i18n/languages/zh-CN.mjs +1 -4
- package/i18n/languages/zh-TW.js +0 -16
- package/i18n/languages/zh-TW.mjs +1 -4
- package/i18n/phraseFormatters/index.js +4 -11
- package/i18n/phraseFormatters/index.mjs +4 -6
- package/i18n/phraseFormatters/pluralize.js +0 -5
- package/i18n/phraseFormatters/pluralize.mjs +0 -3
- package/i18n/phraseFormatters/substituteVariables.js +0 -4
- package/i18n/phraseFormatters/substituteVariables.mjs +8 -11
- package/i18n/registry.js +18 -59
- package/i18n/registry.mjs +18 -30
- package/i18n/utils.js +4 -22
- package/i18n/utils.mjs +13 -21
- package/index.js +19 -56
- package/index.mjs +19 -15
- package/languages/all.js +0 -175
- package/languages/ar-AR.js +0 -10
- package/languages/ar-AR.mjs +1 -4
- package/languages/cs-CZ.js +0 -10
- package/languages/cs-CZ.mjs +1 -4
- package/languages/de-CH.js +0 -10
- package/languages/de-CH.mjs +1 -4
- package/languages/de-DE.js +0 -10
- package/languages/de-DE.mjs +1 -4
- package/languages/en-US.js +0 -10
- package/languages/en-US.mjs +1 -4
- package/languages/es-MX.js +0 -10
- package/languages/es-MX.mjs +1 -4
- package/languages/fr-FR.js +0 -10
- package/languages/fr-FR.mjs +1 -4
- package/languages/index.js +0 -175
- package/languages/it-IT.js +0 -10
- package/languages/it-IT.mjs +1 -4
- package/languages/ja-JP.js +0 -10
- package/languages/ja-JP.mjs +1 -4
- package/languages/ko-KR.js +0 -10
- package/languages/ko-KR.mjs +1 -4
- package/languages/lv-LV.js +0 -10
- package/languages/lv-LV.mjs +1 -4
- package/languages/nb-NO.js +0 -10
- package/languages/nb-NO.mjs +1 -4
- package/languages/nl-NL.js +0 -10
- package/languages/nl-NL.mjs +1 -4
- package/languages/pl-PL.js +0 -10
- package/languages/pl-PL.mjs +1 -4
- package/languages/pt-BR.js +0 -10
- package/languages/pt-BR.mjs +1 -4
- package/languages/ru-RU.js +0 -10
- package/languages/ru-RU.mjs +1 -4
- package/languages/sr-SP.js +0 -10
- package/languages/sr-SP.mjs +1 -4
- package/languages/zh-CN.js +0 -10
- package/languages/zh-CN.mjs +1 -4
- package/languages/zh-TW.js +0 -10
- package/languages/zh-TW.mjs +1 -4
- package/mixins/hooksRefRegisterer.js +4 -18
- package/mixins/hooksRefRegisterer.mjs +4 -15
- package/mixins/localHooks.js +7 -17
- package/mixins/localHooks.mjs +7 -14
- package/package.json +1 -1
- package/pluginHooks.d.ts +3 -4
- package/pluginHooks.js +288 -110
- package/pluginHooks.mjs +287 -97
- package/plugins/autoColumnSize/autoColumnSize.js +74 -172
- package/plugins/autoColumnSize/autoColumnSize.mjs +74 -137
- package/plugins/autoColumnSize/index.js +0 -2
- package/plugins/autoRowSize/autoRowSize.js +73 -153
- package/plugins/autoRowSize/autoRowSize.mjs +73 -124
- package/plugins/autoRowSize/index.js +0 -2
- package/plugins/autofill/autofill.js +46 -163
- package/plugins/autofill/autofill.mjs +46 -131
- package/plugins/autofill/index.js +0 -2
- package/plugins/autofill/utils.js +4 -26
- package/plugins/autofill/utils.mjs +4 -18
- package/plugins/base/base.js +21 -92
- package/plugins/base/base.mjs +21 -63
- package/plugins/base/index.js +0 -2
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +19 -52
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +19 -33
- package/plugins/bindRowsWithHeaders/index.js +0 -2
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +5 -41
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.mjs +5 -29
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +6 -53
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +6 -37
- package/plugins/collapsibleColumns/collapsibleColumns.js +96 -188
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +97 -158
- package/plugins/collapsibleColumns/index.js +0 -2
- package/plugins/columnSorting/columnSorting.js +50 -188
- package/plugins/columnSorting/columnSorting.mjs +50 -143
- package/plugins/columnSorting/columnStatesManager.js +15 -71
- package/plugins/columnSorting/columnStatesManager.mjs +15 -48
- package/plugins/columnSorting/domHelpers.js +2 -18
- package/plugins/columnSorting/domHelpers.mjs +2 -7
- package/plugins/columnSorting/index.js +0 -2
- package/plugins/columnSorting/rootComparator.js +5 -24
- package/plugins/columnSorting/rootComparator.mjs +12 -21
- package/plugins/columnSorting/sortFunction/checkbox.js +8 -16
- package/plugins/columnSorting/sortFunction/checkbox.mjs +16 -21
- package/plugins/columnSorting/sortFunction/date.js +2 -19
- package/plugins/columnSorting/sortFunction/date.mjs +10 -23
- package/plugins/columnSorting/sortFunction/default.js +2 -17
- package/plugins/columnSorting/sortFunction/default.mjs +10 -23
- package/plugins/columnSorting/sortFunction/numeric.js +2 -11
- package/plugins/columnSorting/sortFunction/numeric.mjs +10 -17
- package/plugins/columnSorting/sortService/engine.js +3 -13
- package/plugins/columnSorting/sortService/engine.mjs +3 -5
- package/plugins/columnSorting/sortService/index.js +0 -5
- package/plugins/columnSorting/sortService/registry.js +6 -18
- package/plugins/columnSorting/sortService/registry.mjs +6 -10
- package/plugins/columnSorting/utils.js +9 -34
- package/plugins/columnSorting/utils.mjs +9 -15
- package/plugins/columnSummary/columnSummary.js +66 -126
- package/plugins/columnSummary/columnSummary.mjs +66 -101
- package/plugins/columnSummary/endpoints.js +21 -98
- package/plugins/columnSummary/endpoints.mjs +26 -99
- package/plugins/columnSummary/index.js +0 -2
- package/plugins/columnSummary/utils.js +13 -0
- package/plugins/columnSummary/utils.mjs +9 -0
- package/plugins/comments/commentEditor.js +16 -28
- package/plugins/comments/commentEditor.mjs +21 -32
- package/plugins/comments/comments.js +92 -175
- package/plugins/comments/comments.mjs +92 -149
- package/plugins/comments/displaySwitch.js +6 -23
- package/plugins/comments/displaySwitch.mjs +6 -18
- package/plugins/comments/index.js +0 -2
- package/plugins/contextMenu/commandExecutor.js +9 -40
- package/plugins/contextMenu/commandExecutor.mjs +14 -41
- package/plugins/contextMenu/contextMenu.js +26 -105
- package/plugins/contextMenu/contextMenu.mjs +26 -75
- package/plugins/contextMenu/cursor.js +6 -20
- package/plugins/contextMenu/cursor.mjs +11 -24
- package/plugins/contextMenu/index.js +0 -2
- package/plugins/contextMenu/itemsFactory.js +14 -43
- package/plugins/contextMenu/itemsFactory.mjs +19 -44
- package/plugins/contextMenu/menu.js +61 -177
- package/plugins/contextMenu/menu.mjs +61 -149
- package/plugins/contextMenu/predefinedItems/alignment.js +1 -55
- package/plugins/contextMenu/predefinedItems/alignment.mjs +1 -37
- package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -20
- package/plugins/contextMenu/predefinedItems/clearColumn.mjs +1 -4
- package/plugins/contextMenu/predefinedItems/columnLeft.js +6 -43
- package/plugins/contextMenu/predefinedItems/columnLeft.mjs +6 -26
- package/plugins/contextMenu/predefinedItems/columnRight.js +4 -42
- package/plugins/contextMenu/predefinedItems/columnRight.mjs +4 -25
- package/plugins/contextMenu/predefinedItems/noItems.js +1 -4
- package/plugins/contextMenu/predefinedItems/noItems.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/readOnly.js +1 -25
- package/plugins/contextMenu/predefinedItems/readOnly.mjs +1 -8
- package/plugins/contextMenu/predefinedItems/redo.js +1 -16
- package/plugins/contextMenu/predefinedItems/redo.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/removeColumn.js +3 -38
- package/plugins/contextMenu/predefinedItems/removeColumn.mjs +3 -18
- package/plugins/contextMenu/predefinedItems/removeRow.js +3 -37
- package/plugins/contextMenu/predefinedItems/removeRow.mjs +3 -17
- package/plugins/contextMenu/predefinedItems/rowAbove.js +6 -35
- package/plugins/contextMenu/predefinedItems/rowAbove.mjs +6 -19
- package/plugins/contextMenu/predefinedItems/rowBelow.js +4 -42
- package/plugins/contextMenu/predefinedItems/rowBelow.mjs +4 -25
- package/plugins/contextMenu/predefinedItems/separator.js +1 -2
- package/plugins/contextMenu/predefinedItems/separator.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/undo.js +1 -16
- package/plugins/contextMenu/predefinedItems/undo.mjs +1 -1
- package/plugins/contextMenu/predefinedItems.js +2 -48
- package/plugins/contextMenu/predefinedItems.mjs +2 -7
- package/plugins/contextMenu/utils.js +17 -57
- package/plugins/contextMenu/utils.mjs +21 -39
- package/plugins/copyPaste/clipboardData.js +1 -10
- package/plugins/copyPaste/clipboardData.mjs +1 -9
- package/plugins/copyPaste/contextMenuItem/copy.js +2 -17
- package/plugins/copyPaste/contextMenuItem/copy.mjs +6 -9
- package/plugins/copyPaste/contextMenuItem/cut.js +2 -17
- package/plugins/copyPaste/contextMenuItem/cut.mjs +6 -9
- package/plugins/copyPaste/copyPaste.js +53 -185
- package/plugins/copyPaste/copyPaste.mjs +53 -144
- package/plugins/copyPaste/focusableElement.js +12 -56
- package/plugins/copyPaste/focusableElement.mjs +15 -49
- package/plugins/copyPaste/index.js +0 -2
- package/plugins/copyPaste/pasteEvent.js +1 -10
- package/plugins/copyPaste/pasteEvent.mjs +3 -10
- package/plugins/customBorders/contextMenuItem/bottom.js +0 -17
- package/plugins/customBorders/contextMenuItem/bottom.mjs +4 -8
- package/plugins/customBorders/contextMenuItem/index.js +0 -11
- package/plugins/customBorders/contextMenuItem/left.js +0 -17
- package/plugins/customBorders/contextMenuItem/left.mjs +4 -8
- package/plugins/customBorders/contextMenuItem/noBorders.js +0 -15
- package/plugins/customBorders/contextMenuItem/noBorders.mjs +4 -6
- package/plugins/customBorders/contextMenuItem/right.js +0 -17
- package/plugins/customBorders/contextMenuItem/right.mjs +4 -8
- package/plugins/customBorders/contextMenuItem/top.js +0 -17
- package/plugins/customBorders/contextMenuItem/top.mjs +4 -8
- package/plugins/customBorders/customBorders.js +52 -181
- package/plugins/customBorders/customBorders.mjs +52 -147
- package/plugins/customBorders/index.js +0 -2
- package/plugins/customBorders/utils.js +13 -52
- package/plugins/customBorders/utils.mjs +20 -39
- package/plugins/dragToScroll/dragToScroll.js +17 -74
- package/plugins/dragToScroll/dragToScroll.mjs +17 -55
- package/plugins/dragToScroll/index.js +0 -2
- package/plugins/dropdownMenu/dropdownMenu.js +47 -126
- package/plugins/dropdownMenu/dropdownMenu.mjs +47 -95
- package/plugins/dropdownMenu/index.js +0 -2
- package/plugins/exportFile/dataProvider.js +24 -69
- package/plugins/exportFile/dataProvider.mjs +26 -60
- package/plugins/exportFile/exportFile.js +48 -58
- package/plugins/exportFile/exportFile.mjs +48 -36
- package/plugins/exportFile/index.js +0 -2
- package/plugins/exportFile/typeFactory.js +1 -11
- package/plugins/exportFile/typeFactory.mjs +1 -4
- package/plugins/exportFile/types/_base.js +2 -16
- package/plugins/exportFile/types/_base.mjs +4 -16
- package/plugins/exportFile/types/csv.js +2 -50
- package/plugins/exportFile/types/csv.mjs +2 -29
- package/plugins/filters/component/_base.js +12 -32
- package/plugins/filters/component/_base.mjs +15 -30
- package/plugins/filters/component/actionBar.js +6 -55
- package/plugins/filters/component/actionBar.mjs +9 -38
- package/plugins/filters/component/condition.js +25 -122
- package/plugins/filters/component/condition.mjs +24 -88
- package/plugins/filters/component/operators.js +10 -68
- package/plugins/filters/component/operators.mjs +10 -45
- package/plugins/filters/component/value.js +25 -99
- package/plugins/filters/component/value.mjs +28 -72
- package/plugins/filters/condition/beginsWith.js +2 -32
- package/plugins/filters/condition/beginsWith.mjs +2 -10
- package/plugins/filters/condition/between.js +3 -37
- package/plugins/filters/condition/between.mjs +3 -15
- package/plugins/filters/condition/byValue.js +3 -27
- package/plugins/filters/condition/byValue.mjs +3 -12
- package/plugins/filters/condition/contains.js +2 -32
- package/plugins/filters/condition/contains.mjs +2 -10
- package/plugins/filters/condition/date/after.js +2 -34
- package/plugins/filters/condition/date/after.mjs +2 -12
- package/plugins/filters/condition/date/before.js +2 -34
- package/plugins/filters/condition/date/before.mjs +2 -12
- package/plugins/filters/condition/date/today.js +1 -22
- package/plugins/filters/condition/date/today.mjs +1 -3
- package/plugins/filters/condition/date/tomorrow.js +1 -22
- package/plugins/filters/condition/date/tomorrow.mjs +1 -3
- package/plugins/filters/condition/date/yesterday.js +1 -22
- package/plugins/filters/condition/date/yesterday.mjs +1 -3
- package/plugins/filters/condition/empty.js +1 -19
- package/plugins/filters/condition/empty.mjs +1 -1
- package/plugins/filters/condition/endsWith.js +2 -32
- package/plugins/filters/condition/endsWith.mjs +2 -10
- package/plugins/filters/condition/equal.js +2 -31
- package/plugins/filters/condition/equal.mjs +2 -10
- package/plugins/filters/condition/false.js +1 -5
- package/plugins/filters/condition/false.mjs +1 -1
- package/plugins/filters/condition/greaterThan.js +2 -32
- package/plugins/filters/condition/greaterThan.mjs +2 -12
- package/plugins/filters/condition/greaterThanOrEqual.js +2 -32
- package/plugins/filters/condition/greaterThanOrEqual.mjs +2 -12
- package/plugins/filters/condition/lessThan.js +2 -32
- package/plugins/filters/condition/lessThan.mjs +2 -12
- package/plugins/filters/condition/lessThanOrEqual.js +2 -32
- package/plugins/filters/condition/lessThanOrEqual.mjs +2 -12
- package/plugins/filters/condition/none.js +1 -18
- package/plugins/filters/condition/none.mjs +1 -1
- package/plugins/filters/condition/notBetween.js +1 -19
- package/plugins/filters/condition/notBetween.mjs +1 -1
- package/plugins/filters/condition/notContains.js +1 -19
- package/plugins/filters/condition/notContains.mjs +1 -1
- package/plugins/filters/condition/notEmpty.js +1 -19
- package/plugins/filters/condition/notEmpty.mjs +1 -1
- package/plugins/filters/condition/notEqual.js +1 -19
- package/plugins/filters/condition/notEqual.mjs +1 -1
- package/plugins/filters/condition/true.js +1 -5
- package/plugins/filters/condition/true.mjs +1 -1
- package/plugins/filters/conditionCollection.js +21 -80
- package/plugins/filters/conditionCollection.mjs +21 -57
- package/plugins/filters/conditionRegisterer.js +5 -14
- package/plugins/filters/conditionRegisterer.mjs +5 -9
- package/plugins/filters/conditionUpdateObserver.js +17 -57
- package/plugins/filters/conditionUpdateObserver.mjs +25 -53
- package/plugins/filters/constants.js +1 -66
- package/plugins/filters/constants.mjs +1 -8
- package/plugins/filters/dataFilter.js +4 -21
- package/plugins/filters/dataFilter.mjs +7 -23
- package/plugins/filters/filters.d.ts +1 -1
- package/plugins/filters/filters.js +147 -272
- package/plugins/filters/filters.mjs +148 -228
- package/plugins/filters/index.js +0 -2
- package/plugins/filters/logicalOperationRegisterer.js +3 -9
- package/plugins/filters/logicalOperationRegisterer.mjs +3 -4
- package/plugins/filters/logicalOperations/conjunction.js +2 -19
- package/plugins/filters/logicalOperations/conjunction.mjs +2 -2
- package/plugins/filters/logicalOperations/disjunction.js +2 -19
- package/plugins/filters/logicalOperations/disjunction.mjs +2 -2
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +2 -21
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.mjs +2 -3
- package/plugins/filters/ui/_base.js +12 -55
- package/plugins/filters/ui/_base.mjs +12 -35
- package/plugins/filters/ui/input.js +7 -52
- package/plugins/filters/ui/input.mjs +7 -34
- package/plugins/filters/ui/link.js +3 -43
- package/plugins/filters/ui/link.mjs +3 -25
- package/plugins/filters/ui/multipleSelect.js +26 -120
- package/plugins/filters/ui/multipleSelect.mjs +20 -76
- package/plugins/filters/ui/radioInput.js +6 -47
- package/plugins/filters/ui/radioInput.mjs +6 -30
- package/plugins/filters/ui/select.js +14 -76
- package/plugins/filters/ui/select.mjs +14 -52
- package/plugins/filters/utils.js +6 -39
- package/plugins/filters/utils.mjs +6 -23
- package/plugins/formulas/engine/register.js +24 -74
- package/plugins/formulas/engine/register.mjs +29 -51
- package/plugins/formulas/engine/settings.js +4 -24
- package/plugins/formulas/engine/settings.mjs +4 -12
- package/plugins/formulas/formulas.js +103 -295
- package/plugins/formulas/formulas.mjs +104 -248
- package/plugins/formulas/index.js +0 -2
- package/plugins/formulas/utils.js +1 -3
- package/plugins/formulas/utils.mjs +1 -1
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +4 -38
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +8 -25
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +17 -45
- package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +21 -29
- package/plugins/hiddenColumns/hiddenColumns.js +72 -153
- package/plugins/hiddenColumns/hiddenColumns.mjs +72 -110
- package/plugins/hiddenColumns/index.js +0 -2
- package/plugins/hiddenRows/contextMenuItem/hideRow.js +4 -38
- package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +8 -25
- package/plugins/hiddenRows/contextMenuItem/showRow.js +17 -45
- package/plugins/hiddenRows/contextMenuItem/showRow.mjs +21 -29
- package/plugins/hiddenRows/hiddenRows.js +70 -152
- package/plugins/hiddenRows/hiddenRows.mjs +70 -109
- package/plugins/hiddenRows/index.js +0 -2
- package/plugins/index.js +0 -71
- package/plugins/index.mjs +3 -5
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -28
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +5 -17
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -28
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +5 -17
- package/plugins/manualColumnFreeze/index.js +0 -2
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +21 -78
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +21 -54
- package/plugins/manualColumnMove/index.js +0 -2
- package/plugins/manualColumnMove/manualColumnMove.js +45 -134
- package/plugins/manualColumnMove/manualColumnMove.mjs +45 -106
- package/plugins/manualColumnMove/ui/_base.js +12 -30
- package/plugins/manualColumnMove/ui/_base.mjs +12 -27
- package/plugins/manualColumnMove/ui/backlight.js +1 -37
- package/plugins/manualColumnMove/ui/backlight.mjs +1 -22
- package/plugins/manualColumnMove/ui/guideline.js +1 -37
- package/plugins/manualColumnMove/ui/guideline.mjs +1 -22
- package/plugins/manualColumnResize/index.js +0 -2
- package/plugins/manualColumnResize/manualColumnResize.js +44 -143
- package/plugins/manualColumnResize/manualColumnResize.mjs +43 -118
- package/plugins/manualRowMove/index.js +0 -2
- package/plugins/manualRowMove/manualRowMove.js +45 -137
- package/plugins/manualRowMove/manualRowMove.mjs +45 -109
- package/plugins/manualRowMove/ui/_base.js +12 -27
- package/plugins/manualRowMove/ui/_base.mjs +12 -26
- package/plugins/manualRowMove/ui/backlight.js +1 -37
- package/plugins/manualRowMove/ui/backlight.mjs +1 -22
- package/plugins/manualRowMove/ui/guideline.js +1 -37
- package/plugins/manualRowMove/ui/guideline.mjs +1 -22
- package/plugins/manualRowResize/index.js +0 -2
- package/plugins/manualRowResize/manualRowResize.js +42 -138
- package/plugins/manualRowResize/manualRowResize.mjs +41 -112
- package/plugins/mergeCells/calculations/autofill.js +39 -130
- package/plugins/mergeCells/calculations/autofill.mjs +44 -122
- package/plugins/mergeCells/calculations/selection.js +9 -40
- package/plugins/mergeCells/calculations/selection.mjs +9 -37
- package/plugins/mergeCells/cellCoords.js +30 -51
- package/plugins/mergeCells/cellCoords.mjs +35 -54
- package/plugins/mergeCells/cellsCollection.js +13 -84
- package/plugins/mergeCells/cellsCollection.mjs +18 -69
- package/plugins/mergeCells/contextMenuItem/toggleMerge.js +0 -22
- package/plugins/mergeCells/contextMenuItem/toggleMerge.mjs +4 -11
- package/plugins/mergeCells/index.js +0 -2
- package/plugins/mergeCells/mergeCells.js +130 -333
- package/plugins/mergeCells/mergeCells.mjs +130 -292
- package/plugins/mergeCells/utils.js +0 -3
- package/plugins/mergeCells/utils.mjs +0 -1
- package/plugins/multiColumnSorting/domHelpers.js +3 -15
- package/plugins/multiColumnSorting/domHelpers.mjs +3 -7
- package/plugins/multiColumnSorting/index.js +0 -2
- package/plugins/multiColumnSorting/multiColumnSorting.js +14 -66
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +14 -44
- package/plugins/multiColumnSorting/rootComparator.js +2 -26
- package/plugins/multiColumnSorting/rootComparator.mjs +9 -23
- package/plugins/multiColumnSorting/utils.js +0 -7
- package/plugins/multiColumnSorting/utils.mjs +3 -8
- package/plugins/multipleSelectionHandles/index.js +0 -2
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +6 -109
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +6 -87
- package/plugins/nestedHeaders/index.js +0 -2
- package/plugins/nestedHeaders/nestedHeaders.js +79 -200
- package/plugins/nestedHeaders/nestedHeaders.mjs +80 -173
- package/plugins/nestedHeaders/stateManager/headersTree.js +16 -93
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +16 -73
- package/plugins/nestedHeaders/stateManager/index.js +24 -107
- package/plugins/nestedHeaders/stateManager/index.mjs +51 -115
- package/plugins/nestedHeaders/stateManager/matrixGenerator.js +7 -25
- package/plugins/nestedHeaders/stateManager/matrixGenerator.mjs +38 -51
- package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.js +12 -27
- package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.mjs +29 -35
- package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.js +10 -25
- package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.mjs +26 -32
- package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.js +3 -19
- package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.mjs +9 -20
- package/plugins/nestedHeaders/stateManager/nodeModifiers/index.js +2 -12
- package/plugins/nestedHeaders/stateManager/nodeModifiers/index.mjs +2 -5
- package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.js +3 -22
- package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.mjs +9 -21
- package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.js +3 -10
- package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.mjs +3 -7
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +5 -36
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +44 -61
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +16 -78
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +21 -68
- package/plugins/nestedHeaders/stateManager/utils.js +19 -22
- package/plugins/nestedHeaders/stateManager/utils.mjs +19 -20
- package/plugins/nestedHeaders/utils/ghostTable.js +9 -37
- package/plugins/nestedHeaders/utils/ghostTable.mjs +16 -43
- package/plugins/nestedRows/data/dataManager.js +40 -161
- package/plugins/nestedRows/data/dataManager.mjs +44 -148
- package/plugins/nestedRows/index.js +0 -2
- package/plugins/nestedRows/nestedRows.js +41 -119
- package/plugins/nestedRows/nestedRows.mjs +41 -86
- package/plugins/nestedRows/ui/_base.js +1 -9
- package/plugins/nestedRows/ui/_base.mjs +1 -8
- package/plugins/nestedRows/ui/collapsing.js +28 -134
- package/plugins/nestedRows/ui/collapsing.mjs +34 -118
- package/plugins/nestedRows/ui/contextMenu.js +2 -53
- package/plugins/nestedRows/ui/contextMenu.mjs +2 -32
- package/plugins/nestedRows/ui/headers.js +5 -50
- package/plugins/nestedRows/ui/headers.mjs +11 -41
- package/plugins/nestedRows/utils/rowMoveController.js +28 -78
- package/plugins/nestedRows/utils/rowMoveController.mjs +33 -66
- package/plugins/persistentState/index.js +0 -2
- package/plugins/persistentState/persistentState.js +10 -58
- package/plugins/persistentState/persistentState.mjs +10 -37
- package/plugins/persistentState/storage.js +9 -25
- package/plugins/persistentState/storage.mjs +12 -26
- package/plugins/registry.js +7 -51
- package/plugins/registry.mjs +8 -34
- package/plugins/search/index.js +0 -2
- package/plugins/search/search.js +16 -98
- package/plugins/search/search.mjs +16 -68
- package/plugins/touchScroll/index.js +0 -2
- package/plugins/touchScroll/touchScroll.js +15 -76
- package/plugins/touchScroll/touchScroll.mjs +15 -58
- package/plugins/trimRows/index.js +0 -2
- package/plugins/trimRows/trimRows.js +62 -88
- package/plugins/trimRows/trimRows.mjs +62 -65
- package/plugins/undoRedo/index.js +0 -14
- package/plugins/undoRedo/undoRedo.js +48 -218
- package/plugins/undoRedo/undoRedo.mjs +48 -188
- package/registry.js +0 -11
- package/registry.mjs +2 -4
- package/renderers/autocompleteRenderer/autocompleteRenderer.js +5 -14
- package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +5 -6
- package/renderers/autocompleteRenderer/index.js +0 -2
- package/renderers/baseRenderer/baseRenderer.js +2 -11
- package/renderers/baseRenderer/baseRenderer.mjs +2 -9
- package/renderers/baseRenderer/index.js +0 -2
- package/renderers/checkboxRenderer/checkboxRenderer.js +22 -103
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +22 -81
- package/renderers/checkboxRenderer/index.js +0 -2
- package/renderers/htmlRenderer/htmlRenderer.js +1 -7
- package/renderers/htmlRenderer/htmlRenderer.mjs +1 -1
- package/renderers/htmlRenderer/index.js +0 -2
- package/renderers/index.js +0 -19
- package/renderers/index.mjs +3 -5
- package/renderers/numericRenderer/index.js +0 -2
- package/renderers/numericRenderer/numericRenderer.js +1 -23
- package/renderers/numericRenderer/numericRenderer.mjs +1 -10
- package/renderers/passwordRenderer/index.js +0 -2
- package/renderers/passwordRenderer/passwordRenderer.js +1 -8
- package/renderers/passwordRenderer/passwordRenderer.mjs +1 -1
- package/renderers/registry.js +7 -16
- package/renderers/registry.mjs +7 -14
- package/renderers/textRenderer/index.js +0 -2
- package/renderers/textRenderer/textRenderer.js +2 -14
- package/renderers/textRenderer/textRenderer.mjs +2 -6
- package/renderers/timeRenderer/index.js +0 -2
- package/renderers/timeRenderer/timeRenderer.js +1 -6
- package/renderers/timeRenderer/timeRenderer.mjs +1 -1
- package/selection/highlight/highlight.js +17 -73
- package/selection/highlight/highlight.mjs +31 -64
- package/selection/highlight/types/activeHeader.js +1 -21
- package/selection/highlight/types/activeHeader.mjs +6 -16
- package/selection/highlight/types/area.js +2 -22
- package/selection/highlight/types/area.mjs +10 -20
- package/selection/highlight/types/cell.js +1 -21
- package/selection/highlight/types/cell.mjs +9 -19
- package/selection/highlight/types/customSelection.js +2 -22
- package/selection/highlight/types/customSelection.mjs +11 -21
- package/selection/highlight/types/fill.js +2 -17
- package/selection/highlight/types/fill.mjs +9 -14
- package/selection/highlight/types/header.js +3 -23
- package/selection/highlight/types/header.mjs +13 -23
- package/selection/highlight/types/index.js +3 -24
- package/selection/highlight/types/index.mjs +3 -10
- package/selection/highlight/visualSelection.js +24 -74
- package/selection/highlight/visualSelection.mjs +24 -62
- package/selection/index.js +0 -14
- package/selection/mouseEventHandler.js +19 -30
- package/selection/mouseEventHandler.mjs +32 -36
- package/selection/range.js +11 -31
- package/selection/range.mjs +11 -22
- package/selection/selection.js +62 -157
- package/selection/selection.mjs +65 -132
- package/selection/transformation.js +10 -40
- package/selection/transformation.mjs +18 -45
- package/selection/utils.js +22 -70
- package/selection/utils.mjs +22 -47
- package/shortcuts/context.js +23 -78
- package/shortcuts/context.mjs +23 -55
- package/shortcuts/index.js +0 -2
- package/shortcuts/keyObserver.js +4 -17
- package/shortcuts/keyObserver.mjs +4 -12
- package/shortcuts/manager.js +16 -36
- package/shortcuts/manager.mjs +16 -33
- package/shortcuts/recorder.js +20 -47
- package/shortcuts/recorder.mjs +20 -39
- package/shortcuts/utils.js +5 -24
- package/shortcuts/utils.mjs +5 -8
- package/tableView.js +100 -270
- package/tableView.mjs +100 -248
- package/translations/changesObservable/observable.js +5 -54
- package/translations/changesObservable/observable.mjs +12 -51
- package/translations/changesObservable/observer.js +4 -32
- package/translations/changesObservable/observer.mjs +9 -29
- package/translations/changesObservable/utils.js +1 -5
- package/translations/changesObservable/utils.mjs +1 -4
- package/translations/index.js +0 -11
- package/translations/indexMapper.js +70 -158
- package/translations/indexMapper.mjs +70 -125
- package/translations/mapCollections/aggregatedCollection.js +9 -51
- package/translations/mapCollections/aggregatedCollection.mjs +12 -41
- package/translations/mapCollections/index.js +0 -7
- package/translations/mapCollections/mapCollection.js +10 -33
- package/translations/mapCollections/mapCollection.mjs +10 -22
- package/translations/maps/hidingMap.js +2 -35
- package/translations/maps/hidingMap.mjs +7 -28
- package/translations/maps/index.js +1 -24
- package/translations/maps/index.mjs +1 -3
- package/translations/maps/indexMap.js +12 -34
- package/translations/maps/indexMap.mjs +16 -32
- package/translations/maps/indexesSequence.js +3 -41
- package/translations/maps/indexesSequence.mjs +9 -32
- package/translations/maps/linkedPhysicalIndexToValueMap.js +9 -78
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +16 -59
- package/translations/maps/physicalIndexToValueMap.js +2 -39
- package/translations/maps/physicalIndexToValueMap.mjs +8 -31
- package/translations/maps/trimmingMap.js +2 -35
- package/translations/maps/trimmingMap.mjs +7 -28
- package/translations/maps/utils/actionsOnIndexes.js +1 -7
- package/translations/maps/utils/actionsOnIndexes.mjs +9 -12
- package/translations/maps/utils/index.js +0 -13
- package/translations/maps/utils/index.mjs +0 -3
- package/translations/maps/utils/indexesSequence.js +1 -24
- package/translations/maps/utils/indexesSequence.mjs +10 -19
- package/translations/maps/utils/physicallyIndexed.js +1 -27
- package/translations/maps/utils/physicallyIndexed.mjs +11 -21
- package/utils/dataStructures/linkedList.js +15 -56
- package/utils/dataStructures/linkedList.mjs +15 -54
- package/utils/dataStructures/priorityMap.js +8 -46
- package/utils/dataStructures/priorityMap.mjs +8 -29
- package/utils/dataStructures/queue.js +6 -17
- package/utils/dataStructures/queue.mjs +6 -16
- package/utils/dataStructures/stack.js +6 -17
- package/utils/dataStructures/stack.mjs +6 -16
- package/utils/dataStructures/tree.js +11 -75
- package/utils/dataStructures/tree.mjs +11 -54
- package/utils/dataStructures/uniqueMap.js +17 -56
- package/utils/dataStructures/uniqueMap.mjs +17 -42
- package/utils/dataStructures/uniqueSet.js +5 -32
- package/utils/dataStructures/uniqueSet.mjs +5 -19
- package/utils/ghostTable.js +33 -104
- package/utils/ghostTable.mjs +35 -92
- package/utils/interval.js +10 -37
- package/utils/interval.mjs +7 -29
- package/utils/parseTable.js +11 -92
- package/utils/parseTable.mjs +11 -62
- package/utils/rootInstance.js +3 -14
- package/utils/rootInstance.mjs +3 -3
- package/utils/samplesGenerator.js +15 -51
- package/utils/samplesGenerator.mjs +17 -44
- package/utils/staticRegister.js +6 -33
- package/utils/staticRegister.mjs +6 -19
- package/validators/autocompleteValidator/autocompleteValidator.js +2 -10
- package/validators/autocompleteValidator/autocompleteValidator.mjs +2 -8
- package/validators/autocompleteValidator/index.js +0 -2
- package/validators/dateValidator/dateValidator.js +2 -21
- package/validators/dateValidator/dateValidator.mjs +2 -11
- package/validators/dateValidator/index.js +0 -2
- package/validators/index.js +0 -11
- package/validators/index.mjs +3 -5
- package/validators/numericValidator/index.js +0 -2
- package/validators/numericValidator/numericValidator.js +1 -7
- package/validators/numericValidator/numericValidator.mjs +1 -3
- package/validators/registry.js +7 -16
- package/validators/registry.mjs +7 -14
- package/validators/timeValidator/index.js +0 -2
- package/validators/timeValidator/timeValidator.js +6 -18
- package/validators/timeValidator/timeValidator.mjs +8 -13
- package/utils/sortingAlgorithms/mergeSort.js +0 -120
- package/utils/sortingAlgorithms/mergeSort.mjs +0 -110
package/eventManager.mjs
CHANGED
@@ -1,27 +1,21 @@
|
|
1
1
|
import "core-js/modules/es.array.splice.js";
|
2
|
-
|
3
2
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
4
|
-
|
5
3
|
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); } }
|
6
|
-
|
7
4
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
8
|
-
|
9
5
|
import { isPassiveEventSupported } from "./helpers/feature.mjs";
|
10
|
-
import { stopImmediatePropagation as _stopImmediatePropagation } from "./helpers/dom/event.mjs";
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
*/
|
16
|
-
|
6
|
+
import { stopImmediatePropagation as _stopImmediatePropagation } from "./helpers/dom/event.mjs"; /**
|
7
|
+
* Counter which tracks unregistered listeners (useful for detecting memory leaks).
|
8
|
+
*
|
9
|
+
* @type {number}
|
10
|
+
*/
|
17
11
|
var listenersCounter = 0;
|
12
|
+
|
18
13
|
/**
|
19
14
|
* Event DOM manager for internal use in Handsontable.
|
20
15
|
*
|
21
16
|
* @class EventManager
|
22
17
|
* @util
|
23
18
|
*/
|
24
|
-
|
25
19
|
var EventManager = /*#__PURE__*/function () {
|
26
20
|
/**
|
27
21
|
* @param {object} [context=null] An object to which event listeners will be stored.
|
@@ -29,15 +23,15 @@ var EventManager = /*#__PURE__*/function () {
|
|
29
23
|
*/
|
30
24
|
function EventManager() {
|
31
25
|
var context = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
32
|
-
|
33
26
|
_classCallCheck(this, EventManager);
|
27
|
+
this.context = context || this;
|
34
28
|
|
35
|
-
|
36
|
-
|
29
|
+
// TODO it modify external object. Rethink that.
|
37
30
|
if (!this.context.eventListeners) {
|
38
31
|
this.context.eventListeners = []; // TODO perf It would be more performant if every instance of EventManager tracked its own listeners only
|
39
32
|
}
|
40
33
|
}
|
34
|
+
|
41
35
|
/**
|
42
36
|
* Register specified listener (`eventName`) to the element.
|
43
37
|
*
|
@@ -47,26 +41,20 @@ var EventManager = /*#__PURE__*/function () {
|
|
47
41
|
* @param {AddEventListenerOptions|boolean} [options] Listener options if object or useCapture if boolean.
|
48
42
|
* @returns {Function} Returns function which you can easily call to remove that event.
|
49
43
|
*/
|
50
|
-
|
51
|
-
|
52
44
|
_createClass(EventManager, [{
|
53
45
|
key: "addEventListener",
|
54
46
|
value: function addEventListener(element, eventName, callback) {
|
55
47
|
var _this = this;
|
56
|
-
|
57
48
|
var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
58
|
-
|
59
49
|
/**
|
60
50
|
* @param {Event} event The event object.
|
61
51
|
*/
|
62
52
|
function callbackProxy(event) {
|
63
53
|
callback.call(this, extendEvent(event));
|
64
54
|
}
|
65
|
-
|
66
55
|
if (typeof options !== 'boolean' && !isPassiveEventSupported()) {
|
67
56
|
options = false;
|
68
57
|
}
|
69
|
-
|
70
58
|
this.context.eventListeners.push({
|
71
59
|
element: element,
|
72
60
|
event: eventName,
|
@@ -81,6 +69,7 @@ var EventManager = /*#__PURE__*/function () {
|
|
81
69
|
_this.removeEventListener(element, eventName, callback);
|
82
70
|
};
|
83
71
|
}
|
72
|
+
|
84
73
|
/**
|
85
74
|
* Remove the event listener previously registered.
|
86
75
|
*
|
@@ -89,36 +78,32 @@ var EventManager = /*#__PURE__*/function () {
|
|
89
78
|
* @param {Function} callback Function to remove from the event target. It must be the same as during registration listener.
|
90
79
|
* @param {boolean} [onlyOwnEvents] Whether whould remove only events registered using this instance of EventManager.
|
91
80
|
*/
|
92
|
-
|
93
81
|
}, {
|
94
82
|
key: "removeEventListener",
|
95
83
|
value: function removeEventListener(element, eventName, callback) {
|
96
84
|
var onlyOwnEvents = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
97
85
|
var len = this.context.eventListeners.length;
|
98
86
|
var tmpEvent;
|
99
|
-
|
100
87
|
while (len) {
|
101
88
|
len -= 1;
|
102
89
|
tmpEvent = this.context.eventListeners[len];
|
103
|
-
|
104
90
|
if (tmpEvent.event === eventName && tmpEvent.element === element) {
|
105
91
|
if (callback && callback !== tmpEvent.callback) {
|
106
92
|
/* eslint-disable no-continue */
|
107
93
|
continue;
|
108
|
-
}
|
94
|
+
}
|
95
|
+
// TODO rethink that, main bulk is that it needs multi instances to handle same context, but with a different scopes.
|
109
96
|
// TODO I suppose much more efficient way will be comparing string with scope id, or any similar approach.
|
110
|
-
|
111
|
-
|
112
97
|
if (onlyOwnEvents && tmpEvent.eventManager !== this) {
|
113
98
|
continue;
|
114
99
|
}
|
115
|
-
|
116
100
|
this.context.eventListeners.splice(len, 1);
|
117
101
|
tmpEvent.element.removeEventListener(tmpEvent.event, tmpEvent.callbackProxy, tmpEvent.options);
|
118
102
|
listenersCounter -= 1;
|
119
103
|
}
|
120
104
|
}
|
121
105
|
}
|
106
|
+
|
122
107
|
/**
|
123
108
|
* Clear all previously registered events.
|
124
109
|
*
|
@@ -126,78 +111,70 @@ var EventManager = /*#__PURE__*/function () {
|
|
126
111
|
* @since 0.15.0-beta3
|
127
112
|
* @param {boolean} [onlyOwnEvents] Whether whould remove only events registered using this instance of EventManager.
|
128
113
|
*/
|
129
|
-
|
130
114
|
}, {
|
131
115
|
key: "clearEvents",
|
132
116
|
value: function clearEvents() {
|
133
117
|
var onlyOwnEvents = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
134
|
-
|
135
118
|
if (!this.context) {
|
136
119
|
return;
|
137
120
|
}
|
138
|
-
|
139
121
|
var len = this.context.eventListeners.length;
|
140
|
-
|
141
122
|
while (len) {
|
142
123
|
len -= 1;
|
143
124
|
var event = this.context.eventListeners[len];
|
144
|
-
|
145
125
|
if (onlyOwnEvents && event.eventManager !== this) {
|
146
126
|
continue;
|
147
127
|
}
|
148
|
-
|
149
128
|
this.context.eventListeners.splice(len, 1);
|
150
129
|
event.element.removeEventListener(event.event, event.callbackProxy, event.options);
|
151
130
|
listenersCounter -= 1;
|
152
131
|
}
|
153
132
|
}
|
133
|
+
|
154
134
|
/**
|
155
135
|
* Clear all previously registered events.
|
156
136
|
*/
|
157
|
-
|
158
137
|
}, {
|
159
138
|
key: "clear",
|
160
139
|
value: function clear() {
|
161
140
|
this.clearEvents();
|
162
141
|
}
|
142
|
+
|
163
143
|
/**
|
164
144
|
* Destroy instance of EventManager, clearing all events of the context.
|
165
145
|
*/
|
166
|
-
|
167
146
|
}, {
|
168
147
|
key: "destroy",
|
169
148
|
value: function destroy() {
|
170
149
|
this.clearEvents();
|
171
150
|
this.context = null;
|
172
151
|
}
|
152
|
+
|
173
153
|
/**
|
174
154
|
* Destroy instance of EventManager, clearing only the own events.
|
175
155
|
*/
|
176
|
-
|
177
156
|
}, {
|
178
157
|
key: "destroyWithOwnEventsOnly",
|
179
158
|
value: function destroyWithOwnEventsOnly() {
|
180
159
|
this.clearEvents(true);
|
181
160
|
this.context = null;
|
182
161
|
}
|
162
|
+
|
183
163
|
/**
|
184
164
|
* Trigger event at the specified target element.
|
185
165
|
*
|
186
166
|
* @param {Element} element Target element.
|
187
167
|
* @param {string} eventName Event name.
|
188
168
|
*/
|
189
|
-
|
190
169
|
}, {
|
191
170
|
key: "fireEvent",
|
192
171
|
value: function fireEvent(element, eventName) {
|
193
172
|
var rootDocument = element.document;
|
194
173
|
var rootWindow = element;
|
195
|
-
|
196
174
|
if (!rootDocument) {
|
197
175
|
rootDocument = element.ownerDocument ? element.ownerDocument : element;
|
198
176
|
rootWindow = rootDocument.defaultView;
|
199
177
|
}
|
200
|
-
|
201
178
|
var options = {
|
202
179
|
bubbles: true,
|
203
180
|
cancelable: eventName !== 'mousemove',
|
@@ -215,14 +192,12 @@ var EventManager = /*#__PURE__*/function () {
|
|
215
192
|
relatedTarget: undefined
|
216
193
|
};
|
217
194
|
var event;
|
218
|
-
|
219
195
|
if (rootDocument.createEvent) {
|
220
196
|
event = rootDocument.createEvent('MouseEvents');
|
221
197
|
event.initMouseEvent(eventName, options.bubbles, options.cancelable, options.view, options.detail, options.screenX, options.screenY, options.clientX, options.clientY, options.ctrlKey, options.altKey, options.shiftKey, options.metaKey, options.button, options.relatedTarget || rootDocument.body.parentNode);
|
222
198
|
} else {
|
223
199
|
event = rootDocument.createEventObject();
|
224
200
|
}
|
225
|
-
|
226
201
|
if (element.dispatchEvent) {
|
227
202
|
element.dispatchEvent(event);
|
228
203
|
} else {
|
@@ -230,33 +205,25 @@ var EventManager = /*#__PURE__*/function () {
|
|
230
205
|
}
|
231
206
|
}
|
232
207
|
}]);
|
233
|
-
|
234
208
|
return EventManager;
|
235
|
-
}();
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
*/
|
241
|
-
|
242
|
-
|
209
|
+
}(); /**
|
210
|
+
* @private
|
211
|
+
* @param {Event} event The event object.
|
212
|
+
* @returns {Event}
|
213
|
+
*/
|
243
214
|
function extendEvent(event) {
|
244
215
|
var nativeStopImmediatePropagation = event.stopImmediatePropagation;
|
245
|
-
|
246
216
|
event.stopImmediatePropagation = function () {
|
247
217
|
nativeStopImmediatePropagation.apply(this);
|
248
|
-
|
249
218
|
_stopImmediatePropagation(this);
|
250
219
|
};
|
251
|
-
|
252
220
|
return event;
|
253
221
|
}
|
254
|
-
|
255
222
|
export default EventManager;
|
223
|
+
|
256
224
|
/**
|
257
225
|
* @returns {number}
|
258
226
|
*/
|
259
|
-
|
260
227
|
export function getListenersCounter() {
|
261
228
|
return listenersCounter;
|
262
229
|
}
|
package/helpers/array.js
CHANGED
@@ -18,90 +18,67 @@ exports.getUnionOfArrays = getUnionOfArrays;
|
|
18
18
|
exports.pivot = pivot;
|
19
19
|
exports.stringToArray = stringToArray;
|
20
20
|
exports.to2dArray = to2dArray;
|
21
|
-
|
22
21
|
require("core-js/modules/es.array.from.js");
|
23
|
-
|
24
22
|
require("core-js/modules/es.string.iterator.js");
|
25
|
-
|
26
23
|
require("core-js/modules/es.array.concat.js");
|
27
|
-
|
28
24
|
require("core-js/modules/es.array.index-of.js");
|
29
|
-
|
30
25
|
require("core-js/modules/es.array.slice.js");
|
31
|
-
|
32
26
|
require("core-js/modules/es.array.filter.js");
|
33
|
-
|
34
27
|
require("core-js/modules/es.object.to-string.js");
|
35
|
-
|
36
28
|
require("core-js/modules/es.array.includes.js");
|
37
|
-
|
38
29
|
require("core-js/modules/es.string.includes.js");
|
39
|
-
|
40
30
|
require("core-js/modules/es.array.iterator.js");
|
41
|
-
|
42
31
|
require("core-js/modules/es.set.js");
|
43
|
-
|
44
32
|
require("core-js/modules/web.dom-collections.iterator.js");
|
45
|
-
|
46
33
|
require("core-js/modules/es.regexp.exec.js");
|
47
|
-
|
48
34
|
require("core-js/modules/es.string.split.js");
|
49
|
-
|
50
35
|
/**
|
51
36
|
* @param {Array} arr An array to process.
|
52
37
|
*/
|
53
38
|
function to2dArray(arr) {
|
54
39
|
var ilen = arr.length;
|
55
40
|
var i = 0;
|
56
|
-
|
57
41
|
while (i < ilen) {
|
58
42
|
arr[i] = [arr[i]];
|
59
43
|
i += 1;
|
60
44
|
}
|
61
45
|
}
|
46
|
+
|
62
47
|
/**
|
63
48
|
* @param {Array} arr An array to extend.
|
64
49
|
* @param {Array} extension The data to extend from.
|
65
50
|
*/
|
66
|
-
|
67
|
-
|
68
51
|
function extendArray(arr, extension) {
|
69
52
|
var ilen = extension.length;
|
70
53
|
var i = 0;
|
71
|
-
|
72
54
|
while (i < ilen) {
|
73
55
|
arr.push(extension[i]);
|
74
56
|
i += 1;
|
75
57
|
}
|
76
58
|
}
|
59
|
+
|
77
60
|
/**
|
78
61
|
* @param {Array} arr An array to pivot.
|
79
62
|
* @returns {Array}
|
80
63
|
*/
|
81
|
-
|
82
|
-
|
83
64
|
function pivot(arr) {
|
84
65
|
var pivotedArr = [];
|
85
|
-
|
86
66
|
if (!arr || arr.length === 0 || !arr[0] || arr[0].length === 0) {
|
87
67
|
return pivotedArr;
|
88
68
|
}
|
89
|
-
|
90
69
|
var rowCount = arr.length;
|
91
70
|
var colCount = arr[0].length;
|
92
|
-
|
93
71
|
for (var i = 0; i < rowCount; i++) {
|
94
72
|
for (var j = 0; j < colCount; j++) {
|
95
73
|
if (!pivotedArr[j]) {
|
96
74
|
pivotedArr[j] = [];
|
97
75
|
}
|
98
|
-
|
99
76
|
pivotedArr[j][i] = arr[i][j];
|
100
77
|
}
|
101
78
|
}
|
102
|
-
|
103
79
|
return pivotedArr;
|
104
80
|
}
|
81
|
+
|
105
82
|
/**
|
106
83
|
* A specialized version of `.reduce` for arrays without support for callback
|
107
84
|
* shorthands and `this` binding.
|
@@ -114,33 +91,26 @@ function pivot(arr) {
|
|
114
91
|
* @param {boolean} [initFromArray] Specify using the first element of `array` as the initial value.
|
115
92
|
* @returns {*} Returns the accumulated value.
|
116
93
|
*/
|
117
|
-
|
118
|
-
|
119
94
|
function arrayReduce(array, iteratee, accumulator, initFromArray) {
|
120
95
|
var index = -1;
|
121
96
|
var iterable = array;
|
122
97
|
var result = accumulator;
|
123
|
-
|
124
98
|
if (!Array.isArray(array)) {
|
125
99
|
iterable = Array.from(array);
|
126
100
|
}
|
127
|
-
|
128
101
|
var length = iterable.length;
|
129
|
-
|
130
102
|
if (initFromArray && length) {
|
131
103
|
index += 1;
|
132
104
|
result = iterable[index];
|
133
105
|
}
|
134
|
-
|
135
106
|
index += 1;
|
136
|
-
|
137
107
|
while (index < length) {
|
138
108
|
result = iteratee(result, iterable[index], index, iterable);
|
139
109
|
index += 1;
|
140
110
|
}
|
141
|
-
|
142
111
|
return result;
|
143
112
|
}
|
113
|
+
|
144
114
|
/**
|
145
115
|
* A specialized version of `.filter` for arrays without support for callback
|
146
116
|
* shorthands and `this` binding.
|
@@ -151,33 +121,26 @@ function arrayReduce(array, iteratee, accumulator, initFromArray) {
|
|
151
121
|
* @param {Function} predicate The function invoked per iteration.
|
152
122
|
* @returns {Array} Returns the new filtered array.
|
153
123
|
*/
|
154
|
-
|
155
|
-
|
156
124
|
function arrayFilter(array, predicate) {
|
157
125
|
var index = 0;
|
158
126
|
var iterable = array;
|
159
|
-
|
160
127
|
if (!Array.isArray(array)) {
|
161
128
|
iterable = Array.from(array);
|
162
129
|
}
|
163
|
-
|
164
130
|
var length = iterable.length;
|
165
131
|
var result = [];
|
166
132
|
var resIndex = -1;
|
167
|
-
|
168
133
|
while (index < length) {
|
169
134
|
var value = iterable[index];
|
170
|
-
|
171
135
|
if (predicate(value, index, iterable)) {
|
172
136
|
resIndex += 1;
|
173
137
|
result[resIndex] = value;
|
174
138
|
}
|
175
|
-
|
176
139
|
index += 1;
|
177
140
|
}
|
178
|
-
|
179
141
|
return result;
|
180
142
|
}
|
143
|
+
|
181
144
|
/**
|
182
145
|
* A specialized version of `.map` for arrays without support for callback
|
183
146
|
* shorthands and `this` binding.
|
@@ -186,29 +149,24 @@ function arrayFilter(array, predicate) {
|
|
186
149
|
* @param {Function} iteratee The function invoked per iteration.
|
187
150
|
* @returns {Array} Returns the new filtered array.
|
188
151
|
*/
|
189
|
-
|
190
|
-
|
191
152
|
function arrayMap(array, iteratee) {
|
192
153
|
var index = 0;
|
193
154
|
var iterable = array;
|
194
|
-
|
195
155
|
if (!Array.isArray(array)) {
|
196
156
|
iterable = Array.from(array);
|
197
157
|
}
|
198
|
-
|
199
158
|
var length = iterable.length;
|
200
159
|
var result = [];
|
201
160
|
var resIndex = -1;
|
202
|
-
|
203
161
|
while (index < length) {
|
204
162
|
var value = iterable[index];
|
205
163
|
resIndex += 1;
|
206
164
|
result[resIndex] = iteratee(value, index, iterable);
|
207
165
|
index += 1;
|
208
166
|
}
|
209
|
-
|
210
167
|
return result;
|
211
168
|
}
|
169
|
+
|
212
170
|
/**
|
213
171
|
* A specialized version of `.forEach` for arrays without support for callback
|
214
172
|
* shorthands and `this` binding.
|
@@ -219,41 +177,34 @@ function arrayMap(array, iteratee) {
|
|
219
177
|
* @param {Function} iteratee The function invoked per iteration.
|
220
178
|
* @returns {Array} Returns `array`.
|
221
179
|
*/
|
222
|
-
|
223
|
-
|
224
180
|
function arrayEach(array, iteratee) {
|
225
181
|
var index = 0;
|
226
182
|
var iterable = array;
|
227
|
-
|
228
183
|
if (!Array.isArray(array)) {
|
229
184
|
iterable = Array.from(array);
|
230
185
|
}
|
231
|
-
|
232
186
|
var length = iterable.length;
|
233
|
-
|
234
187
|
while (index < length) {
|
235
188
|
if (iteratee(iterable[index], index, iterable) === false) {
|
236
189
|
break;
|
237
190
|
}
|
238
|
-
|
239
191
|
index += 1;
|
240
192
|
}
|
241
|
-
|
242
193
|
return array;
|
243
194
|
}
|
195
|
+
|
244
196
|
/**
|
245
197
|
* Calculate sum value for each item of the array.
|
246
198
|
*
|
247
199
|
* @param {Array} array The array to process.
|
248
200
|
* @returns {number} Returns calculated sum value.
|
249
201
|
*/
|
250
|
-
|
251
|
-
|
252
202
|
function arraySum(array) {
|
253
203
|
return arrayReduce(array, function (a, b) {
|
254
204
|
return a + b;
|
255
205
|
}, 0);
|
256
206
|
}
|
207
|
+
|
257
208
|
/**
|
258
209
|
* Returns the highest value from an array. Can be array of numbers or array of strings.
|
259
210
|
* NOTICE: Mixed values is not supported.
|
@@ -261,13 +212,12 @@ function arraySum(array) {
|
|
261
212
|
* @param {Array} array The array to process.
|
262
213
|
* @returns {number} Returns the highest value from an array.
|
263
214
|
*/
|
264
|
-
|
265
|
-
|
266
215
|
function arrayMax(array) {
|
267
216
|
return arrayReduce(array, function (a, b) {
|
268
217
|
return a > b ? a : b;
|
269
218
|
}, Array.isArray(array) ? array[0] : void 0);
|
270
219
|
}
|
220
|
+
|
271
221
|
/**
|
272
222
|
* Returns the lowest value from an array. Can be array of numbers or array of strings.
|
273
223
|
* NOTICE: Mixed values is not supported.
|
@@ -275,49 +225,43 @@ function arrayMax(array) {
|
|
275
225
|
* @param {Array} array The array to process.
|
276
226
|
* @returns {number} Returns the lowest value from an array.
|
277
227
|
*/
|
278
|
-
|
279
|
-
|
280
228
|
function arrayMin(array) {
|
281
229
|
return arrayReduce(array, function (a, b) {
|
282
230
|
return a < b ? a : b;
|
283
231
|
}, Array.isArray(array) ? array[0] : void 0);
|
284
232
|
}
|
233
|
+
|
285
234
|
/**
|
286
235
|
* Calculate average value for each item of the array.
|
287
236
|
*
|
288
237
|
* @param {Array} array The array to process.
|
289
238
|
* @returns {number} Returns calculated average value.
|
290
239
|
*/
|
291
|
-
|
292
|
-
|
293
240
|
function arrayAvg(array) {
|
294
241
|
if (!array.length) {
|
295
242
|
return 0;
|
296
243
|
}
|
297
|
-
|
298
244
|
return arraySum(array) / array.length;
|
299
245
|
}
|
246
|
+
|
300
247
|
/**
|
301
248
|
* Flatten multidimensional array.
|
302
249
|
*
|
303
250
|
* @param {Array} array Array of Arrays.
|
304
251
|
* @returns {Array}
|
305
252
|
*/
|
306
|
-
|
307
|
-
|
308
253
|
function arrayFlatten(array) {
|
309
254
|
return arrayReduce(array, function (initial, value) {
|
310
255
|
return initial.concat(Array.isArray(value) ? arrayFlatten(value) : value);
|
311
256
|
}, []);
|
312
257
|
}
|
258
|
+
|
313
259
|
/**
|
314
260
|
* Unique values in the array.
|
315
261
|
*
|
316
262
|
* @param {Array} array The array to process.
|
317
263
|
* @returns {Array}
|
318
264
|
*/
|
319
|
-
|
320
|
-
|
321
265
|
function arrayUnique(array) {
|
322
266
|
var unique = [];
|
323
267
|
arrayEach(array, function (value) {
|
@@ -327,23 +271,20 @@ function arrayUnique(array) {
|
|
327
271
|
});
|
328
272
|
return unique;
|
329
273
|
}
|
274
|
+
|
330
275
|
/**
|
331
276
|
* Differences from two or more arrays.
|
332
277
|
*
|
333
278
|
* @param {...Array} arrays Array of strings or array of numbers.
|
334
279
|
* @returns {Array} Returns the difference between arrays.
|
335
280
|
*/
|
336
|
-
|
337
|
-
|
338
281
|
function getDifferenceOfArrays() {
|
339
282
|
for (var _len = arguments.length, arrays = new Array(_len), _key = 0; _key < _len; _key++) {
|
340
283
|
arrays[_key] = arguments[_key];
|
341
284
|
}
|
342
|
-
|
343
285
|
var _ref = [].concat(arrays),
|
344
|
-
|
345
|
-
|
346
|
-
|
286
|
+
first = _ref[0],
|
287
|
+
rest = _ref.slice(1);
|
347
288
|
var filteredFirstArray = first;
|
348
289
|
arrayEach(rest, function (array) {
|
349
290
|
filteredFirstArray = filteredFirstArray.filter(function (value) {
|
@@ -352,23 +293,20 @@ function getDifferenceOfArrays() {
|
|
352
293
|
});
|
353
294
|
return filteredFirstArray;
|
354
295
|
}
|
296
|
+
|
355
297
|
/**
|
356
298
|
* Intersection of two or more arrays.
|
357
299
|
*
|
358
300
|
* @param {...Array} arrays Array of strings or array of numbers.
|
359
301
|
* @returns {Array} Returns elements that exists in every array.
|
360
302
|
*/
|
361
|
-
|
362
|
-
|
363
303
|
function getIntersectionOfArrays() {
|
364
304
|
for (var _len2 = arguments.length, arrays = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
365
305
|
arrays[_key2] = arguments[_key2];
|
366
306
|
}
|
367
|
-
|
368
307
|
var _ref2 = [].concat(arrays),
|
369
|
-
|
370
|
-
|
371
|
-
|
308
|
+
first = _ref2[0],
|
309
|
+
rest = _ref2.slice(1);
|
372
310
|
var filteredFirstArray = first;
|
373
311
|
arrayEach(rest, function (array) {
|
374
312
|
filteredFirstArray = filteredFirstArray.filter(function (value) {
|
@@ -377,23 +315,20 @@ function getIntersectionOfArrays() {
|
|
377
315
|
});
|
378
316
|
return filteredFirstArray;
|
379
317
|
}
|
318
|
+
|
380
319
|
/**
|
381
320
|
* Union of two or more arrays.
|
382
321
|
*
|
383
322
|
* @param {...Array} arrays Array of strings or array of numbers.
|
384
323
|
* @returns {Array} Returns the elements that exist in any of the arrays, without duplicates.
|
385
324
|
*/
|
386
|
-
|
387
|
-
|
388
325
|
function getUnionOfArrays() {
|
389
326
|
for (var _len3 = arguments.length, arrays = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
390
327
|
arrays[_key3] = arguments[_key3];
|
391
328
|
}
|
392
|
-
|
393
329
|
var _ref3 = [].concat(arrays),
|
394
|
-
|
395
|
-
|
396
|
-
|
330
|
+
first = _ref3[0],
|
331
|
+
rest = _ref3.slice(1);
|
397
332
|
var set = new Set(first);
|
398
333
|
arrayEach(rest, function (array) {
|
399
334
|
arrayEach(array, function (value) {
|
@@ -404,6 +339,7 @@ function getUnionOfArrays() {
|
|
404
339
|
});
|
405
340
|
return Array.from(set);
|
406
341
|
}
|
342
|
+
|
407
343
|
/**
|
408
344
|
* Convert a separated strings to an array of strings.
|
409
345
|
*
|
@@ -411,8 +347,6 @@ function getUnionOfArrays() {
|
|
411
347
|
* @param {string|RegExp} delimiter The pattern describing where each split should occur.
|
412
348
|
* @returns {string[]} Returns array of string or empty array.
|
413
349
|
*/
|
414
|
-
|
415
|
-
|
416
350
|
function stringToArray(value) {
|
417
351
|
var delimiter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ' ';
|
418
352
|
return value.split(delimiter);
|