handsontable 12.1.3 → 12.2.0
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 +34 -151
- package/3rdparty/walkontable/src/border.mjs +36 -138
- package/3rdparty/walkontable/src/calculator/constants.js +0 -3
- package/3rdparty/walkontable/src/calculator/constants.mjs +0 -2
- package/3rdparty/walkontable/src/calculator/index.js +0 -10
- package/3rdparty/walkontable/src/calculator/viewportColumns.js +26 -76
- package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +26 -69
- package/3rdparty/walkontable/src/calculator/viewportRows.js +20 -48
- package/3rdparty/walkontable/src/calculator/viewportRows.mjs +20 -41
- package/3rdparty/walkontable/src/cell/coords.js +13 -43
- package/3rdparty/walkontable/src/cell/coords.mjs +13 -38
- package/3rdparty/walkontable/src/cell/range.js +55 -130
- package/3rdparty/walkontable/src/cell/range.mjs +60 -126
- package/3rdparty/walkontable/src/core/_base.js +16 -74
- package/3rdparty/walkontable/src/core/_base.mjs +19 -70
- package/3rdparty/walkontable/src/core/clone.js +1 -40
- package/3rdparty/walkontable/src/core/clone.mjs +3 -30
- package/3rdparty/walkontable/src/core/core.js +3 -57
- package/3rdparty/walkontable/src/core/core.mjs +5 -41
- package/3rdparty/walkontable/src/event.js +31 -78
- package/3rdparty/walkontable/src/event.mjs +31 -65
- package/3rdparty/walkontable/src/facade/core.js +1 -17
- package/3rdparty/walkontable/src/facade/core.mjs +7 -20
- package/3rdparty/walkontable/src/filter/column.js +9 -18
- package/3rdparty/walkontable/src/filter/column.mjs +9 -17
- package/3rdparty/walkontable/src/filter/row.js +9 -18
- package/3rdparty/walkontable/src/filter/row.mjs +9 -17
- package/3rdparty/walkontable/src/index.js +0 -31
- package/3rdparty/walkontable/src/overlay/_base.js +24 -69
- package/3rdparty/walkontable/src/overlay/_base.mjs +31 -68
- package/3rdparty/walkontable/src/overlay/bottom.js +28 -99
- package/3rdparty/walkontable/src/overlay/bottom.mjs +30 -86
- package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.js +7 -53
- package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.mjs +9 -40
- package/3rdparty/walkontable/src/overlay/constants.js +0 -6
- package/3rdparty/walkontable/src/overlay/constants.mjs +0 -1
- package/3rdparty/walkontable/src/overlay/index.js +0 -17
- package/3rdparty/walkontable/src/overlay/inlineStart.js +21 -91
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +23 -78
- package/3rdparty/walkontable/src/overlay/top.js +27 -100
- package/3rdparty/walkontable/src/overlay/top.mjs +29 -87
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +4 -51
- package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +6 -38
- package/3rdparty/walkontable/src/overlays.js +58 -129
- package/3rdparty/walkontable/src/overlays.mjs +60 -121
- package/3rdparty/walkontable/src/renderer/_base.js +4 -20
- package/3rdparty/walkontable/src/renderer/_base.mjs +8 -22
- package/3rdparty/walkontable/src/renderer/cells.js +10 -54
- package/3rdparty/walkontable/src/renderer/cells.mjs +22 -52
- package/3rdparty/walkontable/src/renderer/colGroup.js +10 -47
- package/3rdparty/walkontable/src/renderer/colGroup.mjs +21 -46
- package/3rdparty/walkontable/src/renderer/columnHeaders.js +8 -50
- package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +19 -49
- package/3rdparty/walkontable/src/renderer/index.js +13 -36
- package/3rdparty/walkontable/src/renderer/index.mjs +17 -27
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +8 -50
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +20 -49
- package/3rdparty/walkontable/src/renderer/rows.js +3 -46
- package/3rdparty/walkontable/src/renderer/rows.mjs +3 -29
- package/3rdparty/walkontable/src/renderer/table.js +22 -49
- package/3rdparty/walkontable/src/renderer/table.mjs +22 -48
- package/3rdparty/walkontable/src/scroll.js +56 -86
- package/3rdparty/walkontable/src/scroll.mjs +58 -86
- package/3rdparty/walkontable/src/selection.js +20 -101
- package/3rdparty/walkontable/src/selection.mjs +22 -85
- package/3rdparty/walkontable/src/settings.js +9 -29
- package/3rdparty/walkontable/src/settings.mjs +9 -27
- package/3rdparty/walkontable/src/table/bottom.js +1 -35
- package/3rdparty/walkontable/src/table/bottom.mjs +6 -25
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.js +1 -35
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.mjs +7 -26
- package/3rdparty/walkontable/src/table/inlineStart.js +1 -35
- package/3rdparty/walkontable/src/table/inlineStart.mjs +3 -22
- package/3rdparty/walkontable/src/table/master.js +10 -55
- package/3rdparty/walkontable/src/table/master.mjs +15 -44
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +7 -28
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +7 -26
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +7 -28
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +7 -26
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +7 -22
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +7 -20
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +7 -23
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +7 -21
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +7 -22
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +7 -20
- package/3rdparty/walkontable/src/table/top.js +1 -35
- package/3rdparty/walkontable/src/table/top.mjs +6 -25
- package/3rdparty/walkontable/src/table/topInlineStartCorner.js +1 -35
- package/3rdparty/walkontable/src/table/topInlineStartCorner.mjs +7 -26
- package/3rdparty/walkontable/src/table.js +63 -230
- package/3rdparty/walkontable/src/table.mjs +73 -219
- package/3rdparty/walkontable/src/types.js +0 -5
- package/3rdparty/walkontable/src/types.mjs +0 -5
- package/3rdparty/walkontable/src/utils/column.js +9 -31
- package/3rdparty/walkontable/src/utils/column.mjs +13 -30
- package/3rdparty/walkontable/src/utils/nodesPool.js +3 -12
- package/3rdparty/walkontable/src/utils/nodesPool.mjs +3 -11
- package/3rdparty/walkontable/src/utils/orderView/constants.js +0 -3
- package/3rdparty/walkontable/src/utils/orderView/constants.mjs +0 -2
- package/3rdparty/walkontable/src/utils/orderView/index.js +0 -5
- package/3rdparty/walkontable/src/utils/orderView/sharedView.js +2 -33
- package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +6 -26
- package/3rdparty/walkontable/src/utils/orderView/view.js +14 -46
- package/3rdparty/walkontable/src/utils/orderView/view.mjs +21 -50
- package/3rdparty/walkontable/src/utils/orderView/viewSize.js +3 -15
- package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +3 -14
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +8 -22
- package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +23 -34
- package/3rdparty/walkontable/src/utils/row.js +2 -13
- package/3rdparty/walkontable/src/utils/row.mjs +2 -12
- package/3rdparty/walkontable/src/viewport.js +38 -100
- package/3rdparty/walkontable/src/viewport.mjs +40 -99
- package/CHANGELOG.md +76 -1
- package/base.js +6 -17
- package/base.mjs +6 -12
- package/cellTypes/autocompleteType/autocompleteType.js +0 -4
- package/cellTypes/autocompleteType/index.js +0 -2
- package/cellTypes/checkboxType/checkboxType.js +0 -3
- package/cellTypes/checkboxType/index.js +0 -2
- package/cellTypes/dateType/dateType.js +0 -4
- package/cellTypes/dateType/index.js +0 -2
- package/cellTypes/dropdownType/dropdownType.js +0 -4
- package/cellTypes/dropdownType/index.js +0 -2
- package/cellTypes/handsontableType/handsontableType.js +0 -3
- package/cellTypes/handsontableType/index.js +0 -2
- package/cellTypes/index.js +0 -21
- package/cellTypes/index.mjs +3 -5
- package/cellTypes/numericType/index.js +0 -2
- package/cellTypes/numericType/numericType.js +0 -4
- package/cellTypes/passwordType/index.js +0 -2
- package/cellTypes/passwordType/passwordType.js +0 -3
- package/cellTypes/registry.js +10 -25
- package/cellTypes/registry.mjs +10 -20
- package/cellTypes/textType/index.js +0 -2
- package/cellTypes/textType/textType.js +0 -3
- package/cellTypes/timeType/index.js +0 -2
- package/cellTypes/timeType/timeType.js +0 -4
- package/core.d.ts +5 -1
- package/core.js +505 -973
- package/core.mjs +510 -920
- package/dataMap/dataMap.js +106 -210
- package/dataMap/dataMap.mjs +106 -184
- package/{dataSource.js → dataMap/dataSource.js} +18 -66
- package/{dataSource.mjs → dataMap/dataSource.mjs} +20 -60
- package/dataMap/index.js +0 -13
- package/dataMap/metaManager/index.js +21 -46
- package/dataMap/metaManager/index.mjs +47 -64
- package/dataMap/metaManager/lazyFactoryMap.js +10 -61
- package/dataMap/metaManager/lazyFactoryMap.mjs +10 -45
- package/dataMap/metaManager/metaLayers/cellMeta.js +16 -52
- package/dataMap/metaManager/metaLayers/cellMeta.mjs +16 -37
- package/dataMap/metaManager/metaLayers/columnMeta.js +8 -22
- package/dataMap/metaManager/metaLayers/columnMeta.mjs +14 -25
- package/dataMap/metaManager/metaLayers/globalMeta.js +4 -19
- package/dataMap/metaManager/metaLayers/globalMeta.mjs +4 -15
- package/dataMap/metaManager/metaLayers/tableMeta.js +4 -15
- package/dataMap/metaManager/metaLayers/tableMeta.mjs +28 -37
- package/dataMap/metaManager/metaSchema.js +86 -179
- package/dataMap/metaManager/metaSchema.mjs +86 -170
- package/dataMap/metaManager/mods/dynamicCellMeta.js +6 -36
- package/dataMap/metaManager/mods/dynamicCellMeta.mjs +20 -39
- package/dataMap/metaManager/mods/extendMetaProperties.js +5 -28
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +4 -18
- package/dataMap/metaManager/utils.js +11 -20
- package/dataMap/metaManager/utils.mjs +21 -23
- package/dataMap/replaceData.js +14 -35
- package/dataMap/replaceData.mjs +35 -45
- package/dist/handsontable.css +2 -2
- package/dist/handsontable.full.css +2 -2
- package/dist/handsontable.full.js +8478 -20043
- package/dist/handsontable.full.min.css +2 -2
- package/dist/handsontable.full.min.js +55 -55
- package/dist/handsontable.js +7995 -19560
- package/dist/handsontable.min.css +2 -2
- package/dist/handsontable.min.js +3 -3
- package/dist/languages/all.js +0 -175
- package/dist/languages/ar-AR.js +0 -10
- package/dist/languages/cs-CZ.js +0 -10
- package/dist/languages/de-CH.js +0 -10
- package/dist/languages/de-DE.js +0 -10
- package/dist/languages/en-US.js +0 -10
- package/dist/languages/es-MX.js +0 -10
- package/dist/languages/fr-FR.js +0 -10
- package/dist/languages/it-IT.js +0 -10
- package/dist/languages/ja-JP.js +0 -10
- package/dist/languages/ko-KR.js +0 -10
- package/dist/languages/lv-LV.js +0 -10
- package/dist/languages/nb-NO.js +0 -10
- package/dist/languages/nl-NL.js +0 -10
- package/dist/languages/pl-PL.js +0 -10
- package/dist/languages/pt-BR.js +0 -10
- package/dist/languages/ru-RU.js +0 -10
- package/dist/languages/sr-SP.js +0 -10
- package/dist/languages/zh-CN.js +0 -10
- package/dist/languages/zh-TW.js +0 -10
- package/editorManager.js +36 -105
- package/editorManager.mjs +36 -85
- package/editors/autocompleteEditor/autocompleteEditor.js +26 -133
- package/editors/autocompleteEditor/autocompleteEditor.mjs +26 -104
- package/editors/autocompleteEditor/index.js +0 -2
- package/editors/baseEditor/baseEditor.js +44 -154
- package/editors/baseEditor/baseEditor.mjs +44 -128
- package/editors/baseEditor/index.js +0 -2
- package/editors/checkboxEditor/checkboxEditor.js +2 -33
- package/editors/checkboxEditor/checkboxEditor.mjs +2 -19
- package/editors/checkboxEditor/index.js +0 -2
- package/editors/dateEditor/dateEditor.js +20 -96
- package/editors/dateEditor/dateEditor.mjs +20 -75
- package/editors/dateEditor/index.js +0 -2
- package/editors/dropdownEditor/dropdownEditor.js +1 -41
- package/editors/dropdownEditor/dropdownEditor.mjs +1 -22
- package/editors/dropdownEditor/index.js +0 -2
- package/editors/handsontableEditor/handsontableEditor.js +13 -85
- package/editors/handsontableEditor/handsontableEditor.mjs +13 -66
- package/editors/handsontableEditor/index.js +0 -2
- package/editors/index.js +0 -25
- package/editors/index.mjs +3 -5
- package/editors/numericEditor/index.js +0 -2
- package/editors/numericEditor/numericEditor.js +1 -31
- package/editors/numericEditor/numericEditor.mjs +1 -18
- package/editors/passwordEditor/index.js +0 -2
- package/editors/passwordEditor/passwordEditor.js +1 -38
- package/editors/passwordEditor/passwordEditor.mjs +1 -22
- package/editors/registry.js +10 -36
- package/editors/registry.mjs +10 -28
- package/editors/selectEditor/index.js +0 -2
- package/editors/selectEditor/selectEditor.js +21 -73
- package/editors/selectEditor/selectEditor.mjs +21 -56
- package/editors/textEditor/caretPositioner.js +0 -8
- package/editors/textEditor/caretPositioner.mjs +10 -18
- package/editors/textEditor/index.js +0 -2
- package/editors/textEditor/textEditor.js +38 -137
- package/editors/textEditor/textEditor.mjs +38 -106
- package/editors/timeEditor/index.js +0 -2
- package/editors/timeEditor/timeEditor.js +1 -36
- package/editors/timeEditor/timeEditor.mjs +1 -21
- package/eventManager.js +20 -56
- package/eventManager.mjs +23 -56
- package/helpers/array.js +22 -88
- package/helpers/array.mjs +22 -58
- package/helpers/browser.js +25 -51
- package/helpers/browser.mjs +25 -32
- package/helpers/console.js +3 -13
- package/helpers/console.mjs +8 -16
- package/helpers/data.d.ts +0 -1
- package/helpers/data.js +10 -55
- package/helpers/data.mjs +10 -33
- package/helpers/date.js +2 -3
- package/helpers/date.mjs +2 -2
- package/helpers/dom/element.js +66 -256
- package/helpers/dom/element.mjs +73 -192
- package/helpers/dom/event.js +3 -7
- package/helpers/dom/event.mjs +3 -3
- package/helpers/feature.js +13 -47
- package/helpers/feature.mjs +13 -31
- package/helpers/function.js +14 -59
- package/helpers/function.mjs +20 -52
- package/helpers/mixed.js +9 -64
- package/helpers/mixed.mjs +15 -50
- package/helpers/number.js +4 -46
- package/helpers/number.mjs +4 -23
- package/helpers/object.js +15 -68
- package/helpers/object.mjs +21 -50
- package/helpers/string.js +6 -28
- package/helpers/string.mjs +12 -21
- package/helpers/templateLiteralTag.js +0 -6
- package/helpers/templateLiteralTag.mjs +7 -10
- package/helpers/unicode.js +17 -22
- package/helpers/unicode.mjs +17 -13
- package/helpers/wrappers/jquery.js +4 -14
- package/helpers/wrappers/jquery.mjs +4 -13
- package/i18n/constants.js +1 -3
- package/i18n/constants.mjs +1 -1
- package/i18n/index.js +0 -7
- package/i18n/languages/ar-AR.js +0 -16
- package/i18n/languages/ar-AR.mjs +1 -4
- package/i18n/languages/cs-CZ.js +0 -16
- package/i18n/languages/cs-CZ.mjs +1 -4
- package/i18n/languages/de-CH.js +0 -16
- package/i18n/languages/de-CH.mjs +1 -4
- package/i18n/languages/de-DE.js +0 -16
- package/i18n/languages/de-DE.mjs +1 -4
- package/i18n/languages/en-US.js +0 -16
- package/i18n/languages/en-US.mjs +1 -4
- package/i18n/languages/es-MX.js +0 -16
- package/i18n/languages/es-MX.mjs +1 -4
- package/i18n/languages/fr-FR.js +0 -16
- package/i18n/languages/fr-FR.mjs +1 -4
- package/i18n/languages/index.js +0 -39
- package/i18n/languages/it-IT.js +0 -16
- package/i18n/languages/it-IT.mjs +1 -4
- package/i18n/languages/ja-JP.js +0 -16
- package/i18n/languages/ja-JP.mjs +1 -4
- package/i18n/languages/ko-KR.js +0 -16
- package/i18n/languages/ko-KR.mjs +1 -4
- package/i18n/languages/lv-LV.js +0 -16
- package/i18n/languages/lv-LV.mjs +1 -4
- package/i18n/languages/nb-NO.js +0 -16
- package/i18n/languages/nb-NO.mjs +1 -4
- package/i18n/languages/nl-NL.js +0 -16
- package/i18n/languages/nl-NL.mjs +1 -4
- package/i18n/languages/pl-PL.js +0 -16
- package/i18n/languages/pl-PL.mjs +1 -4
- package/i18n/languages/pt-BR.js +0 -16
- package/i18n/languages/pt-BR.mjs +1 -4
- package/i18n/languages/ru-RU.js +0 -16
- package/i18n/languages/ru-RU.mjs +1 -4
- package/i18n/languages/sr-SP.js +0 -16
- package/i18n/languages/sr-SP.mjs +1 -4
- package/i18n/languages/zh-CN.js +0 -16
- package/i18n/languages/zh-CN.mjs +1 -4
- package/i18n/languages/zh-TW.js +0 -16
- package/i18n/languages/zh-TW.mjs +1 -4
- package/i18n/phraseFormatters/index.js +4 -11
- package/i18n/phraseFormatters/index.mjs +4 -6
- package/i18n/phraseFormatters/pluralize.js +0 -5
- package/i18n/phraseFormatters/pluralize.mjs +0 -3
- package/i18n/phraseFormatters/substituteVariables.js +0 -4
- package/i18n/phraseFormatters/substituteVariables.mjs +8 -11
- package/i18n/registry.js +18 -59
- package/i18n/registry.mjs +18 -30
- package/i18n/utils.js +4 -22
- package/i18n/utils.mjs +13 -21
- package/index.js +19 -56
- package/index.mjs +19 -15
- package/languages/all.js +0 -175
- package/languages/ar-AR.js +0 -10
- package/languages/ar-AR.mjs +1 -4
- package/languages/cs-CZ.js +0 -10
- package/languages/cs-CZ.mjs +1 -4
- package/languages/de-CH.js +0 -10
- package/languages/de-CH.mjs +1 -4
- package/languages/de-DE.js +0 -10
- package/languages/de-DE.mjs +1 -4
- package/languages/en-US.js +0 -10
- package/languages/en-US.mjs +1 -4
- package/languages/es-MX.js +0 -10
- package/languages/es-MX.mjs +1 -4
- package/languages/fr-FR.js +0 -10
- package/languages/fr-FR.mjs +1 -4
- package/languages/index.js +0 -175
- package/languages/it-IT.js +0 -10
- package/languages/it-IT.mjs +1 -4
- package/languages/ja-JP.js +0 -10
- package/languages/ja-JP.mjs +1 -4
- package/languages/ko-KR.js +0 -10
- package/languages/ko-KR.mjs +1 -4
- package/languages/lv-LV.js +0 -10
- package/languages/lv-LV.mjs +1 -4
- package/languages/nb-NO.js +0 -10
- package/languages/nb-NO.mjs +1 -4
- package/languages/nl-NL.js +0 -10
- package/languages/nl-NL.mjs +1 -4
- package/languages/pl-PL.js +0 -10
- package/languages/pl-PL.mjs +1 -4
- package/languages/pt-BR.js +0 -10
- package/languages/pt-BR.mjs +1 -4
- package/languages/ru-RU.js +0 -10
- package/languages/ru-RU.mjs +1 -4
- package/languages/sr-SP.js +0 -10
- package/languages/sr-SP.mjs +1 -4
- package/languages/zh-CN.js +0 -10
- package/languages/zh-CN.mjs +1 -4
- package/languages/zh-TW.js +0 -10
- package/languages/zh-TW.mjs +1 -4
- package/mixins/hooksRefRegisterer.js +4 -18
- package/mixins/hooksRefRegisterer.mjs +4 -15
- package/mixins/localHooks.js +7 -17
- package/mixins/localHooks.mjs +7 -14
- package/package.json +1 -1
- package/pluginHooks.d.ts +3 -3
- package/pluginHooks.js +271 -96
- package/pluginHooks.mjs +270 -83
- package/plugins/autoColumnSize/autoColumnSize.js +74 -172
- package/plugins/autoColumnSize/autoColumnSize.mjs +74 -137
- package/plugins/autoColumnSize/index.js +0 -2
- package/plugins/autoRowSize/autoRowSize.js +73 -153
- package/plugins/autoRowSize/autoRowSize.mjs +73 -124
- package/plugins/autoRowSize/index.js +0 -2
- package/plugins/autofill/autofill.js +46 -163
- package/plugins/autofill/autofill.mjs +46 -131
- package/plugins/autofill/index.js +0 -2
- package/plugins/autofill/utils.js +4 -26
- package/plugins/autofill/utils.mjs +4 -18
- package/plugins/base/base.js +20 -89
- package/plugins/base/base.mjs +20 -61
- package/plugins/base/index.js +0 -2
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +19 -52
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +19 -33
- package/plugins/bindRowsWithHeaders/index.js +0 -2
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +5 -41
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.mjs +5 -29
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +6 -53
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +6 -37
- package/plugins/collapsibleColumns/collapsibleColumns.js +96 -188
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +97 -158
- package/plugins/collapsibleColumns/index.js +0 -2
- package/plugins/columnSorting/columnSorting.js +50 -188
- package/plugins/columnSorting/columnSorting.mjs +50 -143
- package/plugins/columnSorting/columnStatesManager.js +15 -71
- package/plugins/columnSorting/columnStatesManager.mjs +15 -48
- package/plugins/columnSorting/domHelpers.js +2 -18
- package/plugins/columnSorting/domHelpers.mjs +2 -7
- package/plugins/columnSorting/index.js +0 -2
- package/plugins/columnSorting/rootComparator.js +5 -24
- package/plugins/columnSorting/rootComparator.mjs +12 -21
- package/plugins/columnSorting/sortFunction/checkbox.js +8 -16
- package/plugins/columnSorting/sortFunction/checkbox.mjs +16 -21
- package/plugins/columnSorting/sortFunction/date.js +2 -19
- package/plugins/columnSorting/sortFunction/date.mjs +10 -23
- package/plugins/columnSorting/sortFunction/default.js +2 -17
- package/plugins/columnSorting/sortFunction/default.mjs +10 -23
- package/plugins/columnSorting/sortFunction/numeric.js +2 -11
- package/plugins/columnSorting/sortFunction/numeric.mjs +10 -17
- package/plugins/columnSorting/sortService/engine.js +1 -7
- package/plugins/columnSorting/sortService/engine.mjs +1 -3
- package/plugins/columnSorting/sortService/index.js +0 -5
- package/plugins/columnSorting/sortService/registry.js +6 -18
- package/plugins/columnSorting/sortService/registry.mjs +6 -10
- package/plugins/columnSorting/utils.js +9 -34
- package/plugins/columnSorting/utils.mjs +9 -15
- package/plugins/columnSummary/columnSummary.js +52 -118
- package/plugins/columnSummary/columnSummary.mjs +52 -93
- package/plugins/columnSummary/endpoints.js +21 -98
- package/plugins/columnSummary/endpoints.mjs +26 -99
- package/plugins/columnSummary/index.js +0 -2
- package/plugins/columnSummary/utils.js +0 -1
- package/plugins/comments/commentEditor.js +16 -28
- package/plugins/comments/commentEditor.mjs +21 -32
- package/plugins/comments/comments.js +92 -175
- package/plugins/comments/comments.mjs +92 -149
- package/plugins/comments/displaySwitch.js +6 -23
- package/plugins/comments/displaySwitch.mjs +6 -18
- package/plugins/comments/index.js +0 -2
- package/plugins/contextMenu/commandExecutor.js +9 -36
- package/plugins/contextMenu/commandExecutor.mjs +14 -39
- package/plugins/contextMenu/contextMenu.js +21 -104
- package/plugins/contextMenu/contextMenu.mjs +21 -74
- package/plugins/contextMenu/cursor.js +6 -20
- package/plugins/contextMenu/cursor.mjs +11 -24
- package/plugins/contextMenu/index.js +0 -2
- package/plugins/contextMenu/itemsFactory.js +14 -43
- package/plugins/contextMenu/itemsFactory.mjs +19 -44
- package/plugins/contextMenu/menu.js +57 -177
- package/plugins/contextMenu/menu.mjs +57 -149
- package/plugins/contextMenu/predefinedItems/alignment.js +1 -55
- package/plugins/contextMenu/predefinedItems/alignment.mjs +1 -37
- package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -20
- package/plugins/contextMenu/predefinedItems/clearColumn.mjs +1 -4
- package/plugins/contextMenu/predefinedItems/columnLeft.js +6 -43
- package/plugins/contextMenu/predefinedItems/columnLeft.mjs +6 -26
- package/plugins/contextMenu/predefinedItems/columnRight.js +4 -42
- package/plugins/contextMenu/predefinedItems/columnRight.mjs +4 -25
- package/plugins/contextMenu/predefinedItems/noItems.js +1 -4
- package/plugins/contextMenu/predefinedItems/noItems.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/readOnly.js +1 -25
- package/plugins/contextMenu/predefinedItems/readOnly.mjs +1 -8
- package/plugins/contextMenu/predefinedItems/redo.js +1 -16
- package/plugins/contextMenu/predefinedItems/redo.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/removeColumn.js +3 -38
- package/plugins/contextMenu/predefinedItems/removeColumn.mjs +3 -18
- package/plugins/contextMenu/predefinedItems/removeRow.js +3 -37
- package/plugins/contextMenu/predefinedItems/removeRow.mjs +3 -17
- package/plugins/contextMenu/predefinedItems/rowAbove.js +6 -35
- package/plugins/contextMenu/predefinedItems/rowAbove.mjs +6 -19
- package/plugins/contextMenu/predefinedItems/rowBelow.js +4 -42
- package/plugins/contextMenu/predefinedItems/rowBelow.mjs +4 -25
- package/plugins/contextMenu/predefinedItems/separator.js +1 -2
- package/plugins/contextMenu/predefinedItems/separator.mjs +1 -1
- package/plugins/contextMenu/predefinedItems/undo.js +1 -16
- package/plugins/contextMenu/predefinedItems/undo.mjs +1 -1
- package/plugins/contextMenu/predefinedItems.js +2 -48
- package/plugins/contextMenu/predefinedItems.mjs +2 -7
- package/plugins/contextMenu/utils.js +17 -57
- package/plugins/contextMenu/utils.mjs +21 -39
- package/plugins/copyPaste/clipboardData.js +1 -10
- package/plugins/copyPaste/clipboardData.mjs +1 -9
- package/plugins/copyPaste/contextMenuItem/copy.js +2 -17
- package/plugins/copyPaste/contextMenuItem/copy.mjs +6 -9
- package/plugins/copyPaste/contextMenuItem/cut.js +2 -17
- package/plugins/copyPaste/contextMenuItem/cut.mjs +6 -9
- package/plugins/copyPaste/copyPaste.js +51 -185
- package/plugins/copyPaste/copyPaste.mjs +51 -144
- package/plugins/copyPaste/focusableElement.js +12 -56
- package/plugins/copyPaste/focusableElement.mjs +15 -49
- package/plugins/copyPaste/index.js +0 -2
- package/plugins/copyPaste/pasteEvent.js +1 -10
- package/plugins/copyPaste/pasteEvent.mjs +3 -10
- package/plugins/customBorders/contextMenuItem/bottom.js +0 -17
- package/plugins/customBorders/contextMenuItem/bottom.mjs +4 -8
- package/plugins/customBorders/contextMenuItem/index.js +0 -11
- package/plugins/customBorders/contextMenuItem/left.js +0 -17
- package/plugins/customBorders/contextMenuItem/left.mjs +4 -8
- package/plugins/customBorders/contextMenuItem/noBorders.js +0 -15
- package/plugins/customBorders/contextMenuItem/noBorders.mjs +4 -6
- package/plugins/customBorders/contextMenuItem/right.js +0 -17
- package/plugins/customBorders/contextMenuItem/right.mjs +4 -8
- package/plugins/customBorders/contextMenuItem/top.js +0 -17
- package/plugins/customBorders/contextMenuItem/top.mjs +4 -8
- package/plugins/customBorders/customBorders.js +52 -181
- package/plugins/customBorders/customBorders.mjs +52 -147
- package/plugins/customBorders/index.js +0 -2
- package/plugins/customBorders/utils.js +13 -52
- package/plugins/customBorders/utils.mjs +20 -39
- package/plugins/dragToScroll/dragToScroll.js +17 -74
- package/plugins/dragToScroll/dragToScroll.mjs +17 -55
- package/plugins/dragToScroll/index.js +0 -2
- package/plugins/dropdownMenu/dropdownMenu.js +43 -126
- package/plugins/dropdownMenu/dropdownMenu.mjs +43 -95
- package/plugins/dropdownMenu/index.js +0 -2
- package/plugins/exportFile/dataProvider.js +24 -69
- package/plugins/exportFile/dataProvider.mjs +26 -60
- package/plugins/exportFile/exportFile.js +48 -58
- package/plugins/exportFile/exportFile.mjs +48 -36
- package/plugins/exportFile/index.js +0 -2
- package/plugins/exportFile/typeFactory.js +1 -11
- package/plugins/exportFile/typeFactory.mjs +1 -4
- package/plugins/exportFile/types/_base.js +2 -16
- package/plugins/exportFile/types/_base.mjs +4 -16
- package/plugins/exportFile/types/csv.js +2 -50
- package/plugins/exportFile/types/csv.mjs +2 -29
- package/plugins/filters/component/_base.js +12 -32
- package/plugins/filters/component/_base.mjs +15 -30
- package/plugins/filters/component/actionBar.js +6 -55
- package/plugins/filters/component/actionBar.mjs +9 -38
- package/plugins/filters/component/condition.js +15 -94
- package/plugins/filters/component/condition.mjs +18 -67
- package/plugins/filters/component/operators.js +10 -68
- package/plugins/filters/component/operators.mjs +10 -45
- package/plugins/filters/component/value.js +16 -97
- package/plugins/filters/component/value.mjs +19 -70
- package/plugins/filters/condition/beginsWith.js +2 -32
- package/plugins/filters/condition/beginsWith.mjs +2 -10
- package/plugins/filters/condition/between.js +3 -37
- package/plugins/filters/condition/between.mjs +3 -15
- package/plugins/filters/condition/byValue.js +3 -27
- package/plugins/filters/condition/byValue.mjs +3 -12
- package/plugins/filters/condition/contains.js +2 -32
- package/plugins/filters/condition/contains.mjs +2 -10
- package/plugins/filters/condition/date/after.js +2 -34
- package/plugins/filters/condition/date/after.mjs +2 -12
- package/plugins/filters/condition/date/before.js +2 -34
- package/plugins/filters/condition/date/before.mjs +2 -12
- package/plugins/filters/condition/date/today.js +1 -22
- package/plugins/filters/condition/date/today.mjs +1 -3
- package/plugins/filters/condition/date/tomorrow.js +1 -22
- package/plugins/filters/condition/date/tomorrow.mjs +1 -3
- package/plugins/filters/condition/date/yesterday.js +1 -22
- package/plugins/filters/condition/date/yesterday.mjs +1 -3
- package/plugins/filters/condition/empty.js +1 -19
- package/plugins/filters/condition/empty.mjs +1 -1
- package/plugins/filters/condition/endsWith.js +2 -32
- package/plugins/filters/condition/endsWith.mjs +2 -10
- package/plugins/filters/condition/equal.js +2 -31
- package/plugins/filters/condition/equal.mjs +2 -10
- package/plugins/filters/condition/false.js +1 -5
- package/plugins/filters/condition/false.mjs +1 -1
- package/plugins/filters/condition/greaterThan.js +2 -32
- package/plugins/filters/condition/greaterThan.mjs +2 -12
- package/plugins/filters/condition/greaterThanOrEqual.js +2 -32
- package/plugins/filters/condition/greaterThanOrEqual.mjs +2 -12
- package/plugins/filters/condition/lessThan.js +2 -32
- package/plugins/filters/condition/lessThan.mjs +2 -12
- package/plugins/filters/condition/lessThanOrEqual.js +2 -32
- package/plugins/filters/condition/lessThanOrEqual.mjs +2 -12
- package/plugins/filters/condition/none.js +1 -18
- package/plugins/filters/condition/none.mjs +1 -1
- package/plugins/filters/condition/notBetween.js +1 -19
- package/plugins/filters/condition/notBetween.mjs +1 -1
- package/plugins/filters/condition/notContains.js +1 -19
- package/plugins/filters/condition/notContains.mjs +1 -1
- package/plugins/filters/condition/notEmpty.js +1 -19
- package/plugins/filters/condition/notEmpty.mjs +1 -1
- package/plugins/filters/condition/notEqual.js +1 -19
- package/plugins/filters/condition/notEqual.mjs +1 -1
- package/plugins/filters/condition/true.js +1 -5
- package/plugins/filters/condition/true.mjs +1 -1
- package/plugins/filters/conditionCollection.js +21 -80
- package/plugins/filters/conditionCollection.mjs +21 -57
- package/plugins/filters/conditionRegisterer.js +5 -14
- package/plugins/filters/conditionRegisterer.mjs +5 -9
- package/plugins/filters/conditionUpdateObserver.js +17 -57
- package/plugins/filters/conditionUpdateObserver.mjs +25 -53
- package/plugins/filters/constants.js +1 -66
- package/plugins/filters/constants.mjs +1 -8
- package/plugins/filters/dataFilter.js +4 -21
- package/plugins/filters/dataFilter.mjs +7 -23
- package/plugins/filters/filters.js +103 -208
- package/plugins/filters/filters.mjs +103 -163
- package/plugins/filters/index.js +0 -2
- package/plugins/filters/logicalOperationRegisterer.js +3 -9
- package/plugins/filters/logicalOperationRegisterer.mjs +3 -4
- package/plugins/filters/logicalOperations/conjunction.js +2 -19
- package/plugins/filters/logicalOperations/conjunction.mjs +2 -2
- package/plugins/filters/logicalOperations/disjunction.js +2 -19
- package/plugins/filters/logicalOperations/disjunction.mjs +2 -2
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +2 -21
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.mjs +2 -3
- package/plugins/filters/ui/_base.js +12 -55
- package/plugins/filters/ui/_base.mjs +12 -35
- package/plugins/filters/ui/input.js +7 -52
- package/plugins/filters/ui/input.mjs +7 -34
- package/plugins/filters/ui/link.js +3 -43
- package/plugins/filters/ui/link.mjs +3 -25
- package/plugins/filters/ui/multipleSelect.js +26 -120
- package/plugins/filters/ui/multipleSelect.mjs +20 -76
- package/plugins/filters/ui/radioInput.js +6 -47
- package/plugins/filters/ui/radioInput.mjs +6 -30
- package/plugins/filters/ui/select.js +14 -76
- package/plugins/filters/ui/select.mjs +14 -52
- package/plugins/filters/utils.js +6 -39
- package/plugins/filters/utils.mjs +6 -23
- package/plugins/formulas/engine/register.js +24 -74
- package/plugins/formulas/engine/register.mjs +29 -51
- package/plugins/formulas/engine/settings.js +4 -24
- package/plugins/formulas/engine/settings.mjs +4 -12
- package/plugins/formulas/formulas.js +103 -295
- package/plugins/formulas/formulas.mjs +104 -248
- package/plugins/formulas/index.js +0 -2
- package/plugins/formulas/utils.js +1 -3
- package/plugins/formulas/utils.mjs +1 -1
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +4 -38
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +8 -25
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +17 -45
- package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +21 -29
- package/plugins/hiddenColumns/hiddenColumns.js +72 -149
- package/plugins/hiddenColumns/hiddenColumns.mjs +72 -108
- package/plugins/hiddenColumns/index.js +0 -2
- package/plugins/hiddenRows/contextMenuItem/hideRow.js +4 -38
- package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +8 -25
- package/plugins/hiddenRows/contextMenuItem/showRow.js +17 -45
- package/plugins/hiddenRows/contextMenuItem/showRow.mjs +21 -29
- package/plugins/hiddenRows/hiddenRows.js +70 -148
- package/plugins/hiddenRows/hiddenRows.mjs +70 -107
- package/plugins/hiddenRows/index.js +0 -2
- package/plugins/index.js +0 -71
- package/plugins/index.mjs +3 -5
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -28
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +5 -17
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -28
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +5 -17
- package/plugins/manualColumnFreeze/index.js +0 -2
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +21 -78
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +21 -54
- package/plugins/manualColumnMove/index.js +0 -2
- package/plugins/manualColumnMove/manualColumnMove.js +45 -134
- package/plugins/manualColumnMove/manualColumnMove.mjs +45 -106
- package/plugins/manualColumnMove/ui/_base.js +12 -30
- package/plugins/manualColumnMove/ui/_base.mjs +12 -27
- package/plugins/manualColumnMove/ui/backlight.js +1 -37
- package/plugins/manualColumnMove/ui/backlight.mjs +1 -22
- package/plugins/manualColumnMove/ui/guideline.js +1 -37
- package/plugins/manualColumnMove/ui/guideline.mjs +1 -22
- package/plugins/manualColumnResize/index.js +0 -2
- package/plugins/manualColumnResize/manualColumnResize.js +44 -143
- package/plugins/manualColumnResize/manualColumnResize.mjs +43 -118
- package/plugins/manualRowMove/index.js +0 -2
- package/plugins/manualRowMove/manualRowMove.js +45 -137
- package/plugins/manualRowMove/manualRowMove.mjs +45 -109
- package/plugins/manualRowMove/ui/_base.js +12 -27
- package/plugins/manualRowMove/ui/_base.mjs +12 -26
- package/plugins/manualRowMove/ui/backlight.js +1 -37
- package/plugins/manualRowMove/ui/backlight.mjs +1 -22
- package/plugins/manualRowMove/ui/guideline.js +1 -37
- package/plugins/manualRowMove/ui/guideline.mjs +1 -22
- package/plugins/manualRowResize/index.js +0 -2
- package/plugins/manualRowResize/manualRowResize.js +42 -138
- package/plugins/manualRowResize/manualRowResize.mjs +41 -112
- package/plugins/mergeCells/calculations/autofill.js +39 -130
- package/plugins/mergeCells/calculations/autofill.mjs +44 -122
- package/plugins/mergeCells/calculations/selection.js +9 -40
- package/plugins/mergeCells/calculations/selection.mjs +9 -37
- package/plugins/mergeCells/cellCoords.js +30 -51
- package/plugins/mergeCells/cellCoords.mjs +35 -54
- package/plugins/mergeCells/cellsCollection.js +13 -84
- package/plugins/mergeCells/cellsCollection.mjs +18 -69
- package/plugins/mergeCells/contextMenuItem/toggleMerge.js +0 -22
- package/plugins/mergeCells/contextMenuItem/toggleMerge.mjs +4 -11
- package/plugins/mergeCells/index.js +0 -2
- package/plugins/mergeCells/mergeCells.js +130 -333
- package/plugins/mergeCells/mergeCells.mjs +130 -292
- package/plugins/mergeCells/utils.js +0 -3
- package/plugins/mergeCells/utils.mjs +0 -1
- package/plugins/multiColumnSorting/domHelpers.js +2 -12
- package/plugins/multiColumnSorting/domHelpers.mjs +2 -5
- package/plugins/multiColumnSorting/index.js +0 -2
- package/plugins/multiColumnSorting/multiColumnSorting.js +14 -66
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +14 -44
- package/plugins/multiColumnSorting/rootComparator.js +2 -26
- package/plugins/multiColumnSorting/rootComparator.mjs +9 -23
- package/plugins/multiColumnSorting/utils.js +0 -7
- package/plugins/multiColumnSorting/utils.mjs +3 -8
- package/plugins/multipleSelectionHandles/index.js +0 -2
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +6 -109
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +6 -87
- package/plugins/nestedHeaders/index.js +0 -2
- package/plugins/nestedHeaders/nestedHeaders.js +79 -200
- package/plugins/nestedHeaders/nestedHeaders.mjs +80 -173
- package/plugins/nestedHeaders/stateManager/headersTree.js +16 -93
- package/plugins/nestedHeaders/stateManager/headersTree.mjs +16 -73
- package/plugins/nestedHeaders/stateManager/index.js +24 -107
- package/plugins/nestedHeaders/stateManager/index.mjs +51 -115
- package/plugins/nestedHeaders/stateManager/matrixGenerator.js +7 -25
- package/plugins/nestedHeaders/stateManager/matrixGenerator.mjs +38 -51
- package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.js +12 -27
- package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.mjs +29 -35
- package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.js +10 -25
- package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.mjs +26 -32
- package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.js +3 -19
- package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.mjs +9 -20
- package/plugins/nestedHeaders/stateManager/nodeModifiers/index.js +2 -12
- package/plugins/nestedHeaders/stateManager/nodeModifiers/index.mjs +2 -5
- package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.js +3 -22
- package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.mjs +9 -21
- package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.js +3 -10
- package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.mjs +3 -7
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +5 -36
- package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +44 -61
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +16 -78
- package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +21 -68
- package/plugins/nestedHeaders/stateManager/utils.js +19 -22
- package/plugins/nestedHeaders/stateManager/utils.mjs +19 -20
- package/plugins/nestedHeaders/utils/ghostTable.js +9 -37
- package/plugins/nestedHeaders/utils/ghostTable.mjs +16 -43
- package/plugins/nestedRows/data/dataManager.js +40 -161
- package/plugins/nestedRows/data/dataManager.mjs +44 -148
- package/plugins/nestedRows/index.js +0 -2
- package/plugins/nestedRows/nestedRows.js +40 -118
- package/plugins/nestedRows/nestedRows.mjs +40 -85
- package/plugins/nestedRows/ui/_base.js +1 -9
- package/plugins/nestedRows/ui/_base.mjs +1 -8
- package/plugins/nestedRows/ui/collapsing.js +28 -134
- package/plugins/nestedRows/ui/collapsing.mjs +34 -118
- package/plugins/nestedRows/ui/contextMenu.js +2 -53
- package/plugins/nestedRows/ui/contextMenu.mjs +2 -32
- package/plugins/nestedRows/ui/headers.js +5 -50
- package/plugins/nestedRows/ui/headers.mjs +11 -41
- package/plugins/nestedRows/utils/rowMoveController.js +28 -78
- package/plugins/nestedRows/utils/rowMoveController.mjs +33 -66
- package/plugins/persistentState/index.js +0 -2
- package/plugins/persistentState/persistentState.js +10 -58
- package/plugins/persistentState/persistentState.mjs +10 -37
- package/plugins/persistentState/storage.js +9 -25
- package/plugins/persistentState/storage.mjs +12 -26
- package/plugins/registry.js +7 -51
- package/plugins/registry.mjs +8 -34
- package/plugins/search/index.js +0 -2
- package/plugins/search/search.js +16 -96
- package/plugins/search/search.mjs +16 -67
- package/plugins/touchScroll/index.js +0 -2
- package/plugins/touchScroll/touchScroll.js +15 -76
- package/plugins/touchScroll/touchScroll.mjs +15 -58
- package/plugins/trimRows/index.js +0 -2
- package/plugins/trimRows/trimRows.js +59 -85
- package/plugins/trimRows/trimRows.mjs +59 -62
- package/plugins/undoRedo/index.js +0 -14
- package/plugins/undoRedo/undoRedo.js +48 -218
- package/plugins/undoRedo/undoRedo.mjs +48 -188
- package/registry.js +0 -11
- package/registry.mjs +2 -4
- package/renderers/autocompleteRenderer/autocompleteRenderer.js +5 -14
- package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +5 -6
- package/renderers/autocompleteRenderer/index.js +0 -2
- package/renderers/baseRenderer/baseRenderer.js +2 -11
- package/renderers/baseRenderer/baseRenderer.mjs +2 -9
- package/renderers/baseRenderer/index.js +0 -2
- package/renderers/checkboxRenderer/checkboxRenderer.js +22 -103
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +22 -81
- package/renderers/checkboxRenderer/index.js +0 -2
- package/renderers/htmlRenderer/htmlRenderer.js +1 -7
- package/renderers/htmlRenderer/htmlRenderer.mjs +1 -1
- package/renderers/htmlRenderer/index.js +0 -2
- package/renderers/index.js +0 -19
- package/renderers/index.mjs +3 -5
- package/renderers/numericRenderer/index.js +0 -2
- package/renderers/numericRenderer/numericRenderer.js +1 -21
- package/renderers/numericRenderer/numericRenderer.mjs +1 -9
- package/renderers/passwordRenderer/index.js +0 -2
- package/renderers/passwordRenderer/passwordRenderer.js +1 -8
- package/renderers/passwordRenderer/passwordRenderer.mjs +1 -1
- package/renderers/registry.js +7 -16
- package/renderers/registry.mjs +7 -14
- package/renderers/textRenderer/index.js +0 -2
- package/renderers/textRenderer/textRenderer.js +1 -13
- package/renderers/textRenderer/textRenderer.mjs +1 -5
- package/renderers/timeRenderer/index.js +0 -2
- package/renderers/timeRenderer/timeRenderer.js +1 -6
- package/renderers/timeRenderer/timeRenderer.mjs +1 -1
- package/selection/highlight/highlight.js +17 -73
- package/selection/highlight/highlight.mjs +31 -64
- package/selection/highlight/types/activeHeader.js +1 -21
- package/selection/highlight/types/activeHeader.mjs +6 -16
- package/selection/highlight/types/area.js +2 -22
- package/selection/highlight/types/area.mjs +10 -20
- package/selection/highlight/types/cell.js +1 -21
- package/selection/highlight/types/cell.mjs +9 -19
- package/selection/highlight/types/customSelection.js +2 -22
- package/selection/highlight/types/customSelection.mjs +11 -21
- package/selection/highlight/types/fill.js +2 -17
- package/selection/highlight/types/fill.mjs +9 -14
- package/selection/highlight/types/header.js +3 -23
- package/selection/highlight/types/header.mjs +13 -23
- package/selection/highlight/types/index.js +3 -24
- package/selection/highlight/types/index.mjs +3 -10
- package/selection/highlight/visualSelection.js +24 -74
- package/selection/highlight/visualSelection.mjs +24 -62
- package/selection/index.js +0 -14
- package/selection/mouseEventHandler.js +19 -30
- package/selection/mouseEventHandler.mjs +32 -36
- package/selection/range.js +11 -31
- package/selection/range.mjs +11 -22
- package/selection/selection.js +62 -157
- package/selection/selection.mjs +65 -132
- package/selection/transformation.js +10 -40
- package/selection/transformation.mjs +18 -45
- package/selection/utils.js +22 -70
- package/selection/utils.mjs +22 -47
- package/shortcuts/context.js +23 -78
- package/shortcuts/context.mjs +23 -55
- package/shortcuts/index.js +0 -2
- package/shortcuts/keyObserver.js +4 -17
- package/shortcuts/keyObserver.mjs +4 -12
- package/shortcuts/manager.js +16 -36
- package/shortcuts/manager.mjs +16 -33
- package/shortcuts/recorder.js +9 -40
- package/shortcuts/recorder.mjs +9 -31
- package/shortcuts/utils.js +5 -20
- package/shortcuts/utils.mjs +5 -6
- package/tableView.js +100 -270
- package/tableView.mjs +100 -248
- package/translations/changesObservable/observable.js +5 -54
- package/translations/changesObservable/observable.mjs +12 -51
- package/translations/changesObservable/observer.js +4 -32
- package/translations/changesObservable/observer.mjs +9 -29
- package/translations/changesObservable/utils.js +1 -5
- package/translations/changesObservable/utils.mjs +1 -4
- package/translations/index.js +0 -11
- package/translations/indexMapper.js +68 -156
- package/translations/indexMapper.mjs +68 -123
- package/translations/mapCollections/aggregatedCollection.js +9 -51
- package/translations/mapCollections/aggregatedCollection.mjs +12 -41
- package/translations/mapCollections/index.js +0 -7
- package/translations/mapCollections/mapCollection.js +10 -33
- package/translations/mapCollections/mapCollection.mjs +10 -22
- package/translations/maps/hidingMap.js +2 -35
- package/translations/maps/hidingMap.mjs +7 -28
- package/translations/maps/index.js +1 -24
- package/translations/maps/index.mjs +1 -3
- package/translations/maps/indexMap.js +12 -34
- package/translations/maps/indexMap.mjs +16 -32
- package/translations/maps/indexesSequence.js +3 -41
- package/translations/maps/indexesSequence.mjs +9 -32
- package/translations/maps/linkedPhysicalIndexToValueMap.js +9 -78
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +16 -59
- package/translations/maps/physicalIndexToValueMap.js +2 -39
- package/translations/maps/physicalIndexToValueMap.mjs +8 -31
- package/translations/maps/trimmingMap.js +2 -35
- package/translations/maps/trimmingMap.mjs +7 -28
- package/translations/maps/utils/actionsOnIndexes.js +1 -7
- package/translations/maps/utils/actionsOnIndexes.mjs +9 -12
- package/translations/maps/utils/index.js +0 -13
- package/translations/maps/utils/index.mjs +0 -3
- package/translations/maps/utils/indexesSequence.js +1 -24
- package/translations/maps/utils/indexesSequence.mjs +10 -19
- package/translations/maps/utils/physicallyIndexed.js +1 -27
- package/translations/maps/utils/physicallyIndexed.mjs +11 -21
- package/utils/dataStructures/linkedList.js +15 -56
- package/utils/dataStructures/linkedList.mjs +15 -54
- package/utils/dataStructures/priorityMap.js +8 -46
- package/utils/dataStructures/priorityMap.mjs +8 -29
- package/utils/dataStructures/queue.js +6 -17
- package/utils/dataStructures/queue.mjs +6 -16
- package/utils/dataStructures/stack.js +6 -17
- package/utils/dataStructures/stack.mjs +6 -16
- package/utils/dataStructures/tree.js +11 -75
- package/utils/dataStructures/tree.mjs +11 -54
- package/utils/dataStructures/uniqueMap.js +17 -56
- package/utils/dataStructures/uniqueMap.mjs +17 -42
- package/utils/dataStructures/uniqueSet.js +5 -32
- package/utils/dataStructures/uniqueSet.mjs +5 -19
- package/utils/ghostTable.js +33 -104
- package/utils/ghostTable.mjs +35 -92
- package/utils/interval.js +10 -37
- package/utils/interval.mjs +7 -29
- package/utils/parseTable.js +11 -92
- package/utils/parseTable.mjs +11 -62
- package/utils/rootInstance.js +3 -14
- package/utils/rootInstance.mjs +3 -3
- package/utils/samplesGenerator.js +15 -51
- package/utils/samplesGenerator.mjs +17 -44
- package/utils/staticRegister.js +6 -33
- package/utils/staticRegister.mjs +6 -19
- package/validators/autocompleteValidator/autocompleteValidator.js +2 -10
- package/validators/autocompleteValidator/autocompleteValidator.mjs +2 -8
- package/validators/autocompleteValidator/index.js +0 -2
- package/validators/dateValidator/dateValidator.js +2 -21
- package/validators/dateValidator/dateValidator.mjs +2 -11
- package/validators/dateValidator/index.js +0 -2
- package/validators/index.js +0 -11
- package/validators/index.mjs +3 -5
- package/validators/numericValidator/index.js +0 -2
- package/validators/numericValidator/numericValidator.js +1 -7
- package/validators/numericValidator/numericValidator.mjs +1 -3
- package/validators/registry.js +7 -16
- package/validators/registry.mjs +7 -14
- package/validators/timeValidator/index.js +0 -2
- package/validators/timeValidator/timeValidator.js +6 -18
- package/validators/timeValidator/timeValidator.mjs +8 -13
@@ -1,5 +1,4 @@
|
|
1
1
|
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); }
|
2
|
-
|
3
2
|
import "core-js/modules/es.object.set-prototype-of.js";
|
4
3
|
import "core-js/modules/es.object.get-prototype-of.js";
|
5
4
|
import "core-js/modules/es.reflect.construct.js";
|
@@ -11,23 +10,14 @@ import "core-js/modules/es.symbol.iterator.js";
|
|
11
10
|
import "core-js/modules/es.array.slice.js";
|
12
11
|
import "core-js/modules/es.regexp.exec.js";
|
13
12
|
import "core-js/modules/es.object.freeze.js";
|
14
|
-
|
15
13
|
var _templateObject;
|
16
|
-
|
17
14
|
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
18
|
-
|
19
15
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
20
|
-
|
21
16
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
22
|
-
|
23
17
|
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); }
|
24
|
-
|
25
18
|
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; }
|
26
|
-
|
27
19
|
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
28
|
-
|
29
20
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
30
|
-
|
31
21
|
import "core-js/modules/es.array.iterator.js";
|
32
22
|
import "core-js/modules/es.map.js";
|
33
23
|
import "core-js/modules/es.object.to-string.js";
|
@@ -38,31 +28,18 @@ import "core-js/modules/es.array.filter.js";
|
|
38
28
|
import "core-js/modules/es.array.from.js";
|
39
29
|
import "core-js/modules/es.function.name.js";
|
40
30
|
import "core-js/modules/es.array.concat.js";
|
41
|
-
|
42
31
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
43
|
-
|
44
32
|
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); } }
|
45
|
-
|
46
33
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
47
|
-
|
48
34
|
function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }
|
49
|
-
|
50
35
|
function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
|
51
|
-
|
52
36
|
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
53
|
-
|
54
37
|
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
55
|
-
|
56
38
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
57
|
-
|
58
39
|
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
59
|
-
|
60
40
|
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
61
|
-
|
62
41
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
63
|
-
|
64
42
|
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
65
|
-
|
66
43
|
import { BasePlugin } from "../base/index.mjs";
|
67
44
|
import { arrayEach, arrayMap } from "../../helpers/array.mjs";
|
68
45
|
import { toSingleLine } from "../../helpers/templateLiteralTag.mjs";
|
@@ -84,6 +61,7 @@ import { CONDITION_NONE, CONDITION_BY_VALUE, OPERATION_AND, OPERATION_OR, OPERAT
|
|
84
61
|
import { TrimmingMap } from "../../translations/index.mjs";
|
85
62
|
export var PLUGIN_KEY = 'filters';
|
86
63
|
export var PLUGIN_PRIORITY = 250;
|
64
|
+
|
87
65
|
/**
|
88
66
|
* @plugin Filters
|
89
67
|
* @class Filters
|
@@ -94,6 +72,7 @@ export var PLUGIN_PRIORITY = 250;
|
|
94
72
|
* See [the filtering demo](@/guides/columns/column-filter.md) for examples.
|
95
73
|
*
|
96
74
|
* @example
|
75
|
+
* ::: only-for javascript
|
97
76
|
* ```js
|
98
77
|
* const container = document.getElementById('example');
|
99
78
|
* const hot = new Handsontable(container, {
|
@@ -104,18 +83,26 @@ export var PLUGIN_PRIORITY = 250;
|
|
104
83
|
* filters: true
|
105
84
|
* });
|
106
85
|
* ```
|
86
|
+
* :::
|
87
|
+
*
|
88
|
+
* ::: only-for react
|
89
|
+
* ```jsx
|
90
|
+
* <HotTable
|
91
|
+
* data={getData()}
|
92
|
+
* colHeaders={true}
|
93
|
+
* rowHeaders={true}
|
94
|
+
* dropdownMenu={true}
|
95
|
+
* filters={true}
|
96
|
+
* />
|
97
|
+
* ```
|
98
|
+
* :::
|
107
99
|
*/
|
108
|
-
|
109
100
|
export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
110
101
|
_inherits(Filters, _BasePlugin);
|
111
|
-
|
112
102
|
var _super = _createSuper(Filters);
|
113
|
-
|
114
103
|
function Filters(hotInstance) {
|
115
104
|
var _this;
|
116
|
-
|
117
105
|
_classCallCheck(this, Filters);
|
118
|
-
|
119
106
|
_this = _super.call(this, hotInstance);
|
120
107
|
/**
|
121
108
|
* Instance of {@link EventManager}.
|
@@ -123,7 +110,6 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
123
110
|
* @private
|
124
111
|
* @type {EventManager}
|
125
112
|
*/
|
126
|
-
|
127
113
|
_this.eventManager = new EventManager(_assertThisInitialized(_this));
|
128
114
|
/**
|
129
115
|
* Instance of {@link DropdownMenu}.
|
@@ -131,7 +117,6 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
131
117
|
* @private
|
132
118
|
* @type {DropdownMenu}
|
133
119
|
*/
|
134
|
-
|
135
120
|
_this.dropdownMenuPlugin = null;
|
136
121
|
/**
|
137
122
|
* Instance of {@link ConditionCollection}.
|
@@ -139,7 +124,6 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
139
124
|
* @private
|
140
125
|
* @type {ConditionCollection}
|
141
126
|
*/
|
142
|
-
|
143
127
|
_this.conditionCollection = null;
|
144
128
|
/**
|
145
129
|
* Instance of {@link ConditionUpdateObserver}.
|
@@ -147,7 +131,6 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
147
131
|
* @private
|
148
132
|
* @type {ConditionUpdateObserver}
|
149
133
|
*/
|
150
|
-
|
151
134
|
_this.conditionUpdateObserver = null;
|
152
135
|
/**
|
153
136
|
* Map, where key is component identifier and value represent `BaseComponent` element or it derivatives.
|
@@ -155,7 +138,6 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
155
138
|
* @private
|
156
139
|
* @type {Map}
|
157
140
|
*/
|
158
|
-
|
159
141
|
_this.components = new Map([['filter_by_condition', null], ['filter_operators', null], ['filter_by_condition2', null], ['filter_by_value', null], ['filter_action_bar', null]]);
|
160
142
|
/**
|
161
143
|
* Object containing information about last selected column physical and visual index for added filter conditions.
|
@@ -164,7 +146,6 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
164
146
|
* @type {object}
|
165
147
|
* @default null
|
166
148
|
*/
|
167
|
-
|
168
149
|
_this.lastSelectedColumn = null;
|
169
150
|
/**
|
170
151
|
* Map of skipped rows by plugin.
|
@@ -172,47 +153,42 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
172
153
|
* @private
|
173
154
|
* @type {null|TrimmingMap}
|
174
155
|
*/
|
156
|
+
_this.filtersRowsMap = null;
|
175
157
|
|
176
|
-
|
177
|
-
|
158
|
+
// One listener for the enable/disable functionality
|
178
159
|
_this.hot.addHook('afterGetColHeader', function (col, TH) {
|
179
160
|
return _this.onAfterGetColHeader(col, TH);
|
180
161
|
});
|
181
|
-
|
182
162
|
return _this;
|
183
163
|
}
|
164
|
+
|
184
165
|
/**
|
185
166
|
* Checks if the plugin is enabled in the handsontable settings. This method is executed in {@link Hooks#beforeInit}
|
186
|
-
* hook and if it returns `true`
|
167
|
+
* hook and if it returns `true` then the {@link Filters#enablePlugin} method is called.
|
187
168
|
*
|
188
169
|
* @returns {boolean}
|
189
170
|
*/
|
190
|
-
|
191
|
-
|
192
171
|
_createClass(Filters, [{
|
193
172
|
key: "isEnabled",
|
194
173
|
value: function isEnabled() {
|
195
174
|
/* eslint-disable no-unneeded-ternary */
|
196
175
|
return this.hot.getSettings()[PLUGIN_KEY] ? true : false;
|
197
176
|
}
|
177
|
+
|
198
178
|
/**
|
199
179
|
* Enables the plugin functionality for this Handsontable instance.
|
200
180
|
*/
|
201
|
-
|
202
181
|
}, {
|
203
182
|
key: "enablePlugin",
|
204
183
|
value: function enablePlugin() {
|
205
184
|
var _this2 = this;
|
206
|
-
|
207
185
|
if (this.enabled) {
|
208
186
|
return;
|
209
187
|
}
|
210
|
-
|
211
188
|
this.filtersRowsMap = this.hot.rowIndexMapper.registerMap(this.pluginName, new TrimmingMap());
|
212
189
|
this.dropdownMenuPlugin = this.hot.getPlugin('dropdownMenu');
|
213
190
|
var dropdownSettings = this.hot.getSettings().dropdownMenu;
|
214
191
|
var menuContainer = dropdownSettings && dropdownSettings.uiContainer || this.hot.rootDocument.body;
|
215
|
-
|
216
192
|
var addConfirmationHooks = function addConfirmationHooks(component) {
|
217
193
|
component.addLocalHook('accept', function () {
|
218
194
|
return _this2.onActionBarSubmit('accept');
|
@@ -225,15 +201,12 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
225
201
|
});
|
226
202
|
return component;
|
227
203
|
};
|
228
|
-
|
229
204
|
var filterByConditionLabel = function filterByConditionLabel() {
|
230
205
|
return "".concat(_this2.hot.getTranslatedPhrase(constants.FILTERS_DIVS_FILTER_BY_CONDITION), ":");
|
231
206
|
};
|
232
|
-
|
233
207
|
var filterValueLabel = function filterValueLabel() {
|
234
208
|
return "".concat(_this2.hot.getTranslatedPhrase(constants.FILTERS_DIVS_FILTER_BY_VALUE), ":");
|
235
209
|
};
|
236
|
-
|
237
210
|
if (!this.components.get('filter_by_condition')) {
|
238
211
|
var conditionComponent = new ConditionComponent(this.hot, {
|
239
212
|
id: 'filter_by_condition',
|
@@ -246,14 +219,12 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
246
219
|
});
|
247
220
|
this.components.set('filter_by_condition', addConfirmationHooks(conditionComponent));
|
248
221
|
}
|
249
|
-
|
250
222
|
if (!this.components.get('filter_operators')) {
|
251
223
|
this.components.set('filter_operators', new OperatorsComponent(this.hot, {
|
252
224
|
id: 'filter_operators',
|
253
225
|
name: 'Operators'
|
254
226
|
}));
|
255
227
|
}
|
256
|
-
|
257
228
|
if (!this.components.get('filter_by_condition2')) {
|
258
229
|
var _conditionComponent = new ConditionComponent(this.hot, {
|
259
230
|
id: 'filter_by_condition2',
|
@@ -261,32 +232,26 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
261
232
|
addSeparator: true,
|
262
233
|
menuContainer: menuContainer
|
263
234
|
});
|
264
|
-
|
265
235
|
_conditionComponent.addLocalHook('afterClose', function () {
|
266
236
|
return _this2.onSelectUIClosed();
|
267
237
|
});
|
268
|
-
|
269
238
|
this.components.set('filter_by_condition2', addConfirmationHooks(_conditionComponent));
|
270
239
|
}
|
271
|
-
|
272
240
|
if (!this.components.get('filter_by_value')) {
|
273
241
|
this.components.set('filter_by_value', addConfirmationHooks(new ValueComponent(this.hot, {
|
274
242
|
id: 'filter_by_value',
|
275
243
|
name: filterValueLabel
|
276
244
|
})));
|
277
245
|
}
|
278
|
-
|
279
246
|
if (!this.components.get('filter_action_bar')) {
|
280
247
|
this.components.set('filter_action_bar', addConfirmationHooks(new ActionBarComponent(this.hot, {
|
281
248
|
id: 'filter_action_bar',
|
282
249
|
name: 'Action bar'
|
283
250
|
})));
|
284
251
|
}
|
285
|
-
|
286
252
|
if (!this.conditionCollection) {
|
287
253
|
this.conditionCollection = new ConditionCollection(this.hot);
|
288
254
|
}
|
289
|
-
|
290
255
|
if (!this.conditionUpdateObserver) {
|
291
256
|
this.conditionUpdateObserver = new ConditionUpdateObserver(this.hot, this.conditionCollection, function (physicalColumn) {
|
292
257
|
return _this2.getDataMapAtColumn(physicalColumn);
|
@@ -295,7 +260,6 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
295
260
|
return _this2.updateComponents(conditionState);
|
296
261
|
});
|
297
262
|
}
|
298
|
-
|
299
263
|
this.components.forEach(function (component) {
|
300
264
|
return component.show();
|
301
265
|
});
|
@@ -313,45 +277,40 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
313
277
|
});
|
314
278
|
this.addHook('afterChange', function (changes) {
|
315
279
|
return _this2.onAfterChange(changes);
|
316
|
-
});
|
280
|
+
});
|
317
281
|
|
282
|
+
// Temp. solution (extending menu items bug in contextMenu/dropdownMenu)
|
318
283
|
if (this.hot.getSettings().dropdownMenu && this.dropdownMenuPlugin) {
|
319
284
|
this.dropdownMenuPlugin.disablePlugin();
|
320
285
|
this.dropdownMenuPlugin.enablePlugin();
|
321
286
|
}
|
322
|
-
|
323
287
|
_get(_getPrototypeOf(Filters.prototype), "enablePlugin", this).call(this);
|
324
288
|
}
|
289
|
+
|
325
290
|
/**
|
326
291
|
* Disables the plugin functionality for this Handsontable instance.
|
327
292
|
*/
|
328
|
-
|
329
293
|
}, {
|
330
294
|
key: "disablePlugin",
|
331
295
|
value: function disablePlugin() {
|
332
296
|
var _this3 = this;
|
333
|
-
|
334
297
|
if (this.enabled) {
|
335
298
|
var _this$dropdownMenuPlu;
|
336
|
-
|
337
299
|
if ((_this$dropdownMenuPlu = this.dropdownMenuPlugin) !== null && _this$dropdownMenuPlu !== void 0 && _this$dropdownMenuPlu.enabled) {
|
338
300
|
this.dropdownMenuPlugin.menu.clearLocalHooks();
|
339
301
|
}
|
340
|
-
|
341
302
|
this.components.forEach(function (component, key) {
|
342
303
|
component.destroy();
|
343
|
-
|
344
304
|
_this3.components.set(key, null);
|
345
305
|
});
|
346
306
|
this.conditionCollection.destroy();
|
347
307
|
this.conditionCollection = null;
|
348
308
|
this.hot.rowIndexMapper.unregisterMap(this.pluginName);
|
349
309
|
}
|
350
|
-
|
351
310
|
_get(_getPrototypeOf(Filters.prototype), "disablePlugin", this).call(this);
|
352
311
|
}
|
353
|
-
/* eslint-disable jsdoc/require-description-complete-sentence */
|
354
312
|
|
313
|
+
/* eslint-disable jsdoc/require-description-complete-sentence */
|
355
314
|
/**
|
356
315
|
* @memberof Filters#
|
357
316
|
* @function addCondition
|
@@ -386,6 +345,7 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
386
345
|
* **Note**: Mind that you cannot mix different types of operations (for instance, if you use `conjunction`, use it consequently for a particular column).
|
387
346
|
*
|
388
347
|
* @example
|
348
|
+
* ::: only-for javascript
|
389
349
|
* ```js
|
390
350
|
* const container = document.getElementById('example');
|
391
351
|
* const hot = new Handsontable(container, {
|
@@ -415,14 +375,51 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
415
375
|
* filtersPlugin.addCondition(1, 'not_contains', ['ing'], 'disjunction');
|
416
376
|
* filtersPlugin.filter();
|
417
377
|
* ```
|
378
|
+
* :::
|
379
|
+
*
|
380
|
+
* ::: only-for react
|
381
|
+
* ```jsx
|
382
|
+
* const hotRef = useRef(null);
|
383
|
+
*
|
384
|
+
* ...
|
385
|
+
*
|
386
|
+
* <HotTable
|
387
|
+
* ref={hotRef}
|
388
|
+
* data={getData()}
|
389
|
+
* filters={true}
|
390
|
+
* />
|
391
|
+
*
|
392
|
+
* // access to filters plugin instance
|
393
|
+
* const hot = hotRef.current.hotInstance;
|
394
|
+
* const filtersPlugin = hot.getPlugin('filters');
|
395
|
+
*
|
396
|
+
* // add filter "Greater than" 95 to column at index 1
|
397
|
+
* filtersPlugin.addCondition(1, 'gt', [95]);
|
398
|
+
* filtersPlugin.filter();
|
399
|
+
*
|
400
|
+
* // add filter "By value" to column at index 1
|
401
|
+
* // in this case all value's that don't match will be filtered.
|
402
|
+
* filtersPlugin.addCondition(1, 'by_value', [['ing', 'ed', 'as', 'on']]);
|
403
|
+
* filtersPlugin.filter();
|
404
|
+
*
|
405
|
+
* // add filter "Begins with" with value "de" AND "Not contains" with value "ing"
|
406
|
+
* filtersPlugin.addCondition(1, 'begins_with', ['de'], 'conjunction');
|
407
|
+
* filtersPlugin.addCondition(1, 'not_contains', ['ing'], 'conjunction');
|
408
|
+
* filtersPlugin.filter();
|
409
|
+
*
|
410
|
+
* // add filter "Begins with" with value "de" OR "Not contains" with value "ing"
|
411
|
+
* filtersPlugin.addCondition(1, 'begins_with', ['de'], 'disjunction');
|
412
|
+
* filtersPlugin.addCondition(1, 'not_contains', ['ing'], 'disjunction');
|
413
|
+
* filtersPlugin.filter();
|
414
|
+
* ```
|
415
|
+
* :::
|
416
|
+
*
|
418
417
|
* @param {number} column Visual column index.
|
419
418
|
* @param {string} name Condition short name.
|
420
419
|
* @param {Array} args Condition arguments.
|
421
420
|
* @param {string} [operationId=conjunction] `id` of operation which is performed on the column.
|
422
421
|
*/
|
423
|
-
|
424
422
|
/* eslint-enable jsdoc/require-description-complete-sentence */
|
425
|
-
|
426
423
|
}, {
|
427
424
|
key: "addCondition",
|
428
425
|
value: function addCondition(column, name, args) {
|
@@ -435,25 +432,25 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
435
432
|
args: args
|
436
433
|
}, operationId);
|
437
434
|
}
|
435
|
+
|
438
436
|
/**
|
439
437
|
* Removes conditions at specified column index.
|
440
438
|
*
|
441
439
|
* @param {number} column Visual column index.
|
442
440
|
*/
|
443
|
-
|
444
441
|
}, {
|
445
442
|
key: "removeConditions",
|
446
443
|
value: function removeConditions(column) {
|
447
444
|
var physicalColumn = this.hot.toPhysicalColumn(column);
|
448
445
|
this.conditionCollection.removeConditions(physicalColumn);
|
449
446
|
}
|
447
|
+
|
450
448
|
/**
|
451
449
|
* Clears all conditions previously added to the collection for the specified column index or, if the column index
|
452
450
|
* was not passed, clear the conditions for all columns.
|
453
451
|
*
|
454
452
|
* @param {number} [column] Visual column index.
|
455
453
|
*/
|
456
|
-
|
457
454
|
}, {
|
458
455
|
key: "clearConditions",
|
459
456
|
value: function clearConditions(column) {
|
@@ -464,31 +461,27 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
464
461
|
this.conditionCollection.removeConditions(physicalColumn);
|
465
462
|
}
|
466
463
|
}
|
464
|
+
|
467
465
|
/**
|
468
466
|
* Filters data based on added filter conditions.
|
469
467
|
*
|
470
468
|
* @fires Hooks#beforeFilter
|
471
469
|
* @fires Hooks#afterFilter
|
472
470
|
*/
|
473
|
-
|
474
471
|
}, {
|
475
472
|
key: "filter",
|
476
473
|
value: function filter() {
|
477
474
|
var _this4 = this;
|
478
|
-
|
479
475
|
var dataFilter = this._createDataFilter();
|
480
|
-
|
481
476
|
var needToFilter = !this.conditionCollection.isEmpty();
|
482
477
|
var visibleVisualRows = [];
|
483
478
|
var conditions = this.conditionCollection.exportAllConditions();
|
484
479
|
var allowFiltering = this.hot.runHooks('beforeFilter', conditions);
|
485
|
-
|
486
480
|
if (allowFiltering !== false) {
|
487
481
|
if (needToFilter) {
|
488
482
|
var trimmedRows = [];
|
489
483
|
this.hot.batchExecution(function () {
|
490
484
|
_this4.filtersRowsMap.clear();
|
491
|
-
|
492
485
|
visibleVisualRows = arrayMap(dataFilter.filter(), function (rowData) {
|
493
486
|
return rowData.meta.visualRow;
|
494
487
|
});
|
@@ -502,7 +495,6 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
502
495
|
_this4.filtersRowsMap.setValueAtIndex(physicalRow, true);
|
503
496
|
});
|
504
497
|
}, true);
|
505
|
-
|
506
498
|
if (!visibleVisualRows.length) {
|
507
499
|
this.hot.deselectCell();
|
508
500
|
}
|
@@ -510,12 +502,12 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
510
502
|
this.filtersRowsMap.clear();
|
511
503
|
}
|
512
504
|
}
|
513
|
-
|
514
505
|
this.hot.runHooks('afterFilter', conditions);
|
515
506
|
this.hot.view.adjustElementsSize(true);
|
516
507
|
this.hot.render();
|
517
508
|
this.clearColumnSelection();
|
518
509
|
}
|
510
|
+
|
519
511
|
/**
|
520
512
|
* Gets last selected column index.
|
521
513
|
*
|
@@ -523,65 +515,57 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
523
515
|
* not selected. Otherwise, returns an object with `visualIndex` and `physicalIndex` properties containing
|
524
516
|
* the index of the column.
|
525
517
|
*/
|
526
|
-
|
527
518
|
}, {
|
528
519
|
key: "getSelectedColumn",
|
529
520
|
value: function getSelectedColumn() {
|
530
521
|
var _this$hot$getSelected;
|
531
|
-
|
532
522
|
var highlight = (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight;
|
533
|
-
|
534
523
|
if (!highlight) {
|
535
524
|
return null;
|
536
525
|
}
|
537
|
-
|
538
526
|
return {
|
539
527
|
visualIndex: highlight.col,
|
540
528
|
physicalIndex: this.hot.toPhysicalColumn(highlight.col)
|
541
529
|
};
|
542
530
|
}
|
531
|
+
|
543
532
|
/**
|
544
533
|
* Clears column selection.
|
545
534
|
*
|
546
535
|
* @private
|
547
536
|
*/
|
548
|
-
|
549
537
|
}, {
|
550
538
|
key: "clearColumnSelection",
|
551
539
|
value: function clearColumnSelection() {
|
552
540
|
var selectedColumn = this.getSelectedColumn();
|
553
|
-
|
554
541
|
if (selectedColumn !== null) {
|
555
542
|
this.hot.selectCell(0, selectedColumn.visualIndex);
|
556
543
|
}
|
557
544
|
}
|
545
|
+
|
558
546
|
/**
|
559
547
|
* Returns handsontable source data with cell meta based on current selection.
|
560
548
|
*
|
561
549
|
* @param {number} [column] The physical column index. By default column index accept the value of the selected column.
|
562
550
|
* @returns {Array} Returns array of objects where keys as row index.
|
563
551
|
*/
|
564
|
-
|
565
552
|
}, {
|
566
553
|
key: "getDataMapAtColumn",
|
567
554
|
value: function getDataMapAtColumn(column) {
|
568
555
|
var _this5 = this;
|
569
|
-
|
570
556
|
var visualColumn = this.hot.toVisualColumn(column);
|
571
557
|
var data = [];
|
572
558
|
arrayEach(this.hot.getSourceDataAtCol(visualColumn), function (value, rowIndex) {
|
573
559
|
var _this5$hot$getDataAtC;
|
574
|
-
|
575
560
|
var _this5$hot$getCellMet = _this5.hot.getCellMeta(rowIndex, visualColumn),
|
576
|
-
|
577
|
-
|
578
|
-
|
579
|
-
|
580
|
-
|
581
|
-
|
582
|
-
|
583
|
-
|
584
|
-
|
561
|
+
row = _this5$hot$getCellMet.row,
|
562
|
+
col = _this5$hot$getCellMet.col,
|
563
|
+
visualCol = _this5$hot$getCellMet.visualCol,
|
564
|
+
visualRow = _this5$hot$getCellMet.visualRow,
|
565
|
+
type = _this5$hot$getCellMet.type,
|
566
|
+
instance = _this5$hot$getCellMet.instance,
|
567
|
+
dateFormat = _this5$hot$getCellMet.dateFormat,
|
568
|
+
locale = _this5$hot$getCellMet.locale;
|
585
569
|
var dataValue = (_this5$hot$getDataAtC = _this5.hot.getDataAtCell(_this5.hot.toVisualRow(rowIndex), visualColumn)) !== null && _this5$hot$getDataAtC !== void 0 ? _this5$hot$getDataAtC : value;
|
586
570
|
data.push({
|
587
571
|
meta: {
|
@@ -599,38 +583,35 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
599
583
|
});
|
600
584
|
return data;
|
601
585
|
}
|
586
|
+
|
602
587
|
/**
|
603
588
|
* `afterChange` listener.
|
604
589
|
*
|
605
590
|
* @private
|
606
591
|
* @param {Array} changes Array of changes.
|
607
592
|
*/
|
608
|
-
|
609
593
|
}, {
|
610
594
|
key: "onAfterChange",
|
611
595
|
value: function onAfterChange(changes) {
|
612
596
|
var _this6 = this;
|
613
|
-
|
614
597
|
if (changes) {
|
615
598
|
arrayEach(changes, function (change) {
|
616
599
|
var _change = _slicedToArray(change, 2),
|
617
|
-
|
618
|
-
|
600
|
+
prop = _change[1];
|
619
601
|
var columnIndex = _this6.hot.propToCol(prop);
|
620
|
-
|
621
602
|
if (_this6.conditionCollection.hasConditions(columnIndex)) {
|
622
603
|
_this6.updateValueComponentCondition(columnIndex);
|
623
604
|
}
|
624
605
|
});
|
625
606
|
}
|
626
607
|
}
|
608
|
+
|
627
609
|
/**
|
628
610
|
* Update the condition of ValueComponent, based on the handled changes.
|
629
611
|
*
|
630
612
|
* @private
|
631
613
|
* @param {number} columnIndex Column index of handled ValueComponent condition.
|
632
614
|
*/
|
633
|
-
|
634
615
|
}, {
|
635
616
|
key: "updateValueComponentCondition",
|
636
617
|
value: function updateValueComponentCondition(columnIndex) {
|
@@ -638,62 +619,59 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
638
619
|
var selectedValues = unifyColumnValues(dataAtCol);
|
639
620
|
this.conditionUpdateObserver.updateStatesAtColumn(columnIndex, selectedValues);
|
640
621
|
}
|
622
|
+
|
641
623
|
/**
|
642
624
|
* Restores components to its saved state.
|
643
625
|
*
|
644
626
|
* @private
|
645
627
|
* @param {Array} components List of components.
|
646
628
|
*/
|
647
|
-
|
648
629
|
}, {
|
649
630
|
key: "restoreComponents",
|
650
631
|
value: function restoreComponents(components) {
|
651
632
|
var _this$getSelectedColu;
|
652
|
-
|
653
633
|
var physicalIndex = (_this$getSelectedColu = this.getSelectedColumn()) === null || _this$getSelectedColu === void 0 ? void 0 : _this$getSelectedColu.physicalIndex;
|
654
634
|
components.forEach(function (component) {
|
655
635
|
if (component.isHidden()) {
|
656
636
|
return;
|
657
637
|
}
|
658
|
-
|
659
638
|
component.restoreState(physicalIndex);
|
660
639
|
});
|
661
640
|
this.updateDependentComponentsVisibility();
|
662
641
|
}
|
642
|
+
|
663
643
|
/**
|
664
644
|
* After dropdown menu show listener.
|
665
645
|
*
|
666
646
|
* @private
|
667
647
|
*/
|
668
|
-
|
669
648
|
}, {
|
670
649
|
key: "onAfterDropdownMenuShow",
|
671
650
|
value: function onAfterDropdownMenuShow() {
|
672
651
|
this.restoreComponents(Array.from(this.components.values()));
|
673
652
|
}
|
653
|
+
|
674
654
|
/**
|
675
655
|
* After dropdown menu hide listener.
|
676
656
|
*
|
677
657
|
* @private
|
678
658
|
*/
|
679
|
-
|
680
659
|
}, {
|
681
660
|
key: "onAfterDropdownMenuHide",
|
682
661
|
value: function onAfterDropdownMenuHide() {
|
683
662
|
this.components.get('filter_by_condition').getSelectElement().closeOptions();
|
684
663
|
this.components.get('filter_by_condition2').getSelectElement().closeOptions();
|
685
664
|
}
|
665
|
+
|
686
666
|
/**
|
687
667
|
* Before dropdown menu set menu items listener.
|
688
668
|
*
|
689
669
|
* @private
|
690
670
|
*/
|
691
|
-
|
692
671
|
}, {
|
693
672
|
key: "onBeforeDropdownMenuSetItems",
|
694
673
|
value: function onBeforeDropdownMenuSetItems() {
|
695
674
|
var _this7 = this;
|
696
|
-
|
697
675
|
if (this.dropdownMenuPlugin) {
|
698
676
|
this.dropdownMenuPlugin.menu.addLocalHook('afterOpen', function () {
|
699
677
|
_this7.dropdownMenuPlugin.menu.hotMenu.updateSettings({
|
@@ -702,13 +680,13 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
702
680
|
});
|
703
681
|
}
|
704
682
|
}
|
683
|
+
|
705
684
|
/**
|
706
685
|
* After dropdown menu default options listener.
|
707
686
|
*
|
708
687
|
* @private
|
709
688
|
* @param {object} defaultOptions ContextMenu default item options.
|
710
689
|
*/
|
711
|
-
|
712
690
|
}, {
|
713
691
|
key: "onAfterDropdownMenuDefaultOptions",
|
714
692
|
value: function onAfterDropdownMenuDefaultOptions(defaultOptions) {
|
@@ -719,6 +697,7 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
719
697
|
defaultOptions.items.push(component.getMenuItemDescriptor());
|
720
698
|
});
|
721
699
|
}
|
700
|
+
|
722
701
|
/**
|
723
702
|
* Get an operation, based on the number and types of arguments (where arguments are states of components).
|
724
703
|
*
|
@@ -729,12 +708,10 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
729
708
|
* @private
|
730
709
|
* @returns {string}
|
731
710
|
*/
|
732
|
-
|
733
711
|
}, {
|
734
712
|
key: "getOperationBasedOnArguments",
|
735
713
|
value: function getOperationBasedOnArguments(suggestedOperation, byConditionState1, byConditionState2, byValueState) {
|
736
714
|
var operation = suggestedOperation;
|
737
|
-
|
738
715
|
if (operation === OPERATION_OR && byConditionState1.command.key !== CONDITION_NONE && byConditionState2.command.key !== CONDITION_NONE && byValueState.command.key !== CONDITION_NONE) {
|
739
716
|
operation = OPERATION_OR_THEN_VARIABLE;
|
740
717
|
} else if (byValueState.command.key !== CONDITION_NONE) {
|
@@ -742,31 +719,26 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
742
719
|
operation = OPERATION_AND;
|
743
720
|
}
|
744
721
|
}
|
745
|
-
|
746
722
|
return operation;
|
747
723
|
}
|
724
|
+
|
748
725
|
/**
|
749
726
|
* On action bar submit listener.
|
750
727
|
*
|
751
728
|
* @private
|
752
729
|
* @param {string} submitType The submit type.
|
753
730
|
*/
|
754
|
-
|
755
731
|
}, {
|
756
732
|
key: "onActionBarSubmit",
|
757
733
|
value: function onActionBarSubmit(submitType) {
|
758
734
|
var _this$dropdownMenuPlu3;
|
759
|
-
|
760
735
|
if (submitType === 'accept') {
|
761
736
|
var selectedColumn = this.getSelectedColumn();
|
762
|
-
|
763
737
|
if (selectedColumn === null) {
|
764
738
|
var _this$dropdownMenuPlu2;
|
765
|
-
|
766
739
|
(_this$dropdownMenuPlu2 = this.dropdownMenuPlugin) === null || _this$dropdownMenuPlu2 === void 0 ? void 0 : _this$dropdownMenuPlu2.close();
|
767
740
|
return;
|
768
741
|
}
|
769
|
-
|
770
742
|
var physicalIndex = selectedColumn.physicalIndex;
|
771
743
|
var byConditionState1 = this.components.get('filter_by_condition').getState();
|
772
744
|
var byConditionState2 = this.components.get('filter_by_condition2').getState();
|
@@ -774,25 +746,19 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
774
746
|
var operation = this.getOperationBasedOnArguments(this.components.get('filter_operators').getActiveOperationId(), byConditionState1, byConditionState2, byValueState);
|
775
747
|
this.conditionUpdateObserver.groupChanges();
|
776
748
|
var columnStackPosition = this.conditionCollection.getColumnStackPosition(physicalIndex);
|
777
|
-
|
778
749
|
if (columnStackPosition === -1) {
|
779
750
|
columnStackPosition = void 0;
|
780
751
|
}
|
781
|
-
|
782
752
|
this.conditionCollection.removeConditions(physicalIndex);
|
783
|
-
|
784
753
|
if (byConditionState1.command.key !== CONDITION_NONE) {
|
785
754
|
this.conditionCollection.addCondition(physicalIndex, byConditionState1, operation, columnStackPosition);
|
786
|
-
|
787
755
|
if (byConditionState2.command.key !== CONDITION_NONE) {
|
788
756
|
this.conditionCollection.addCondition(physicalIndex, byConditionState2, operation, columnStackPosition);
|
789
757
|
}
|
790
758
|
}
|
791
|
-
|
792
759
|
if (byValueState.command.key !== CONDITION_NONE) {
|
793
760
|
this.conditionCollection.addCondition(physicalIndex, byValueState, operation, columnStackPosition);
|
794
761
|
}
|
795
|
-
|
796
762
|
this.conditionUpdateObserver.flush();
|
797
763
|
this.components.forEach(function (component) {
|
798
764
|
return component.saveState(physicalIndex);
|
@@ -800,9 +766,9 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
800
766
|
this.filtersRowsMap.clear();
|
801
767
|
this.filter();
|
802
768
|
}
|
803
|
-
|
804
769
|
(_this$dropdownMenuPlu3 = this.dropdownMenuPlugin) === null || _this$dropdownMenuPlu3 === void 0 ? void 0 : _this$dropdownMenuPlu3.close();
|
805
770
|
}
|
771
|
+
|
806
772
|
/**
|
807
773
|
* On component change listener.
|
808
774
|
*
|
@@ -810,34 +776,32 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
810
776
|
* @param {BaseComponent} component Component inheriting BaseComponent.
|
811
777
|
* @param {object} command Menu item object (command).
|
812
778
|
*/
|
813
|
-
|
814
779
|
}, {
|
815
780
|
key: "onComponentChange",
|
816
781
|
value: function onComponentChange(component, command) {
|
817
782
|
this.updateDependentComponentsVisibility();
|
818
|
-
|
819
783
|
if (component.constructor === ConditionComponent && !command.inputsCount) {
|
820
784
|
this.setListeningDropdownMenu();
|
821
785
|
}
|
822
786
|
}
|
787
|
+
|
823
788
|
/**
|
824
789
|
* On component SelectUI closed listener.
|
825
790
|
*
|
826
791
|
* @private
|
827
792
|
*/
|
828
|
-
|
829
793
|
}, {
|
830
794
|
key: "onSelectUIClosed",
|
831
795
|
value: function onSelectUIClosed() {
|
832
796
|
this.setListeningDropdownMenu();
|
833
797
|
}
|
798
|
+
|
834
799
|
/**
|
835
800
|
* Listen to the keyboard input on document body and forward events to instance of Handsontable
|
836
801
|
* created by DropdownMenu plugin.
|
837
802
|
*
|
838
803
|
* @private
|
839
804
|
*/
|
840
|
-
|
841
805
|
}, {
|
842
806
|
key: "setListeningDropdownMenu",
|
843
807
|
value: function setListeningDropdownMenu() {
|
@@ -845,28 +809,26 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
845
809
|
this.dropdownMenuPlugin.setListening();
|
846
810
|
}
|
847
811
|
}
|
812
|
+
|
848
813
|
/**
|
849
814
|
* Updates visibility of some of the components, based on the state of the parent component.
|
850
815
|
*
|
851
816
|
* @private
|
852
817
|
*/
|
853
|
-
|
854
818
|
}, {
|
855
819
|
key: "updateDependentComponentsVisibility",
|
856
820
|
value: function updateDependentComponentsVisibility() {
|
857
821
|
var component = this.components.get('filter_by_condition');
|
858
|
-
|
859
822
|
var _component$getState = component.getState(),
|
860
|
-
|
861
|
-
|
823
|
+
command = _component$getState.command;
|
862
824
|
var componentsToShow = [this.components.get('filter_by_condition2'), this.components.get('filter_operators')];
|
863
|
-
|
864
825
|
if (command.showOperators) {
|
865
826
|
this.showComponents.apply(this, componentsToShow);
|
866
827
|
} else {
|
867
828
|
this.hideComponents.apply(this, componentsToShow);
|
868
829
|
}
|
869
830
|
}
|
831
|
+
|
870
832
|
/**
|
871
833
|
* On after get column header listener.
|
872
834
|
*
|
@@ -874,18 +836,17 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
874
836
|
* @param {number} col Visual column index.
|
875
837
|
* @param {HTMLTableCellElement} TH Header's TH element.
|
876
838
|
*/
|
877
|
-
|
878
839
|
}, {
|
879
840
|
key: "onAfterGetColHeader",
|
880
841
|
value: function onAfterGetColHeader(col, TH) {
|
881
842
|
var physicalColumn = this.hot.toPhysicalColumn(col);
|
882
|
-
|
883
843
|
if (this.enabled && this.conditionCollection.hasConditions(physicalColumn)) {
|
884
844
|
addClass(TH, 'htFiltersActive');
|
885
845
|
} else {
|
886
846
|
removeClass(TH, 'htFiltersActive');
|
887
847
|
}
|
888
848
|
}
|
849
|
+
|
889
850
|
/**
|
890
851
|
* Creates DataFilter instance based on condition collection.
|
891
852
|
*
|
@@ -893,17 +854,16 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
893
854
|
* @param {ConditionCollection} conditionCollection Condition collection object.
|
894
855
|
* @returns {DataFilter}
|
895
856
|
*/
|
896
|
-
|
897
857
|
}, {
|
898
858
|
key: "_createDataFilter",
|
899
859
|
value: function _createDataFilter() {
|
900
860
|
var _this8 = this;
|
901
|
-
|
902
861
|
var conditionCollection = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.conditionCollection;
|
903
862
|
return new DataFilter(conditionCollection, function (physicalColumn) {
|
904
863
|
return _this8.getDataMapAtColumn(physicalColumn);
|
905
864
|
});
|
906
865
|
}
|
866
|
+
|
907
867
|
/**
|
908
868
|
* It updates the components state. The state is triggered by ConditionUpdateObserver, which
|
909
869
|
* reacts to any condition added to the condition collection. It may be added through the UI
|
@@ -912,26 +872,22 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
912
872
|
* @private
|
913
873
|
* @param {object} conditionsState An object with the state generated by UI components.
|
914
874
|
*/
|
915
|
-
|
916
875
|
}, {
|
917
876
|
key: "updateComponents",
|
918
877
|
value: function updateComponents(conditionsState) {
|
919
878
|
var _this$dropdownMenuPlu4;
|
920
|
-
|
921
879
|
if (!((_this$dropdownMenuPlu4 = this.dropdownMenuPlugin) !== null && _this$dropdownMenuPlu4 !== void 0 && _this$dropdownMenuPlu4.enabled)) {
|
922
880
|
return;
|
923
881
|
}
|
924
|
-
|
925
882
|
var _conditionsState$edit = conditionsState.editedConditionStack,
|
926
|
-
|
927
|
-
|
883
|
+
conditions = _conditionsState$edit.conditions,
|
884
|
+
column = _conditionsState$edit.column;
|
928
885
|
var conditionsByValue = conditions.filter(function (condition) {
|
929
886
|
return condition.name === CONDITION_BY_VALUE;
|
930
887
|
});
|
931
888
|
var conditionsWithoutByValue = conditions.filter(function (condition) {
|
932
889
|
return condition.name !== CONDITION_BY_VALUE;
|
933
890
|
});
|
934
|
-
|
935
891
|
if (conditionsByValue.length >= 2 || conditionsWithoutByValue.length >= 3) {
|
936
892
|
warn(toSingleLine(_templateObject || (_templateObject = _taggedTemplateLiteral(["The filter conditions have been applied properly, but couldn\u2019t be displayed visually. \n The overall amount of conditions exceed the capability of the dropdown menu. \n For more details see the documentation."], ["The filter conditions have been applied properly, but couldn\u2019t be displayed visually.\\x20\n The overall amount of conditions exceed the capability of the dropdown menu.\\x20\n For more details see the documentation."]))));
|
937
893
|
} else {
|
@@ -942,6 +898,7 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
942
898
|
this.components.get('filter_by_value').updateState(conditionsState);
|
943
899
|
}
|
944
900
|
}
|
901
|
+
|
945
902
|
/**
|
946
903
|
* Returns indexes of passed components inside list of `dropdownMenu` items.
|
947
904
|
*
|
@@ -949,22 +906,17 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
949
906
|
* @param {...BaseComponent} components List of components.
|
950
907
|
* @returns {Array}
|
951
908
|
*/
|
952
|
-
|
953
909
|
}, {
|
954
910
|
key: "getIndexesOfComponents",
|
955
911
|
value: function getIndexesOfComponents() {
|
956
912
|
var indexes = [];
|
957
|
-
|
958
913
|
if (!this.dropdownMenuPlugin) {
|
959
914
|
return indexes;
|
960
915
|
}
|
961
|
-
|
962
916
|
var menu = this.dropdownMenuPlugin.menu;
|
963
|
-
|
964
917
|
for (var _len = arguments.length, components = new Array(_len), _key = 0; _key < _len; _key++) {
|
965
918
|
components[_key] = arguments[_key];
|
966
919
|
}
|
967
|
-
|
968
920
|
arrayEach(components, function (component) {
|
969
921
|
arrayEach(menu.menuItems, function (item, index) {
|
970
922
|
if (item.key === component.getMenuItemDescriptor().key) {
|
@@ -974,6 +926,7 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
974
926
|
});
|
975
927
|
return indexes;
|
976
928
|
}
|
929
|
+
|
977
930
|
/**
|
978
931
|
* Changes visibility of component.
|
979
932
|
*
|
@@ -981,80 +934,69 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
981
934
|
* @param {boolean} visible Determine if components should be visible.
|
982
935
|
* @param {...BaseComponent} components List of components.
|
983
936
|
*/
|
984
|
-
|
985
937
|
}, {
|
986
938
|
key: "changeComponentsVisibility",
|
987
939
|
value: function changeComponentsVisibility() {
|
988
940
|
var visible = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
989
|
-
|
990
941
|
if (!this.dropdownMenuPlugin) {
|
991
942
|
return;
|
992
943
|
}
|
993
|
-
|
994
944
|
var menu = this.dropdownMenuPlugin.menu;
|
995
945
|
var hotMenu = menu.hotMenu;
|
996
946
|
var hiddenRows = hotMenu.getPlugin('hiddenRows');
|
997
|
-
|
998
947
|
for (var _len2 = arguments.length, components = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
999
948
|
components[_key2 - 1] = arguments[_key2];
|
1000
949
|
}
|
1001
|
-
|
1002
950
|
var indexes = this.getIndexesOfComponents.apply(this, components);
|
1003
|
-
|
1004
951
|
if (visible) {
|
1005
952
|
hiddenRows.showRows(indexes);
|
1006
953
|
} else {
|
1007
954
|
hiddenRows.hideRows(indexes);
|
1008
955
|
}
|
1009
|
-
|
1010
956
|
hotMenu.render();
|
1011
957
|
}
|
958
|
+
|
1012
959
|
/**
|
1013
960
|
* Hides components of filters `dropdownMenu`.
|
1014
961
|
*
|
1015
962
|
* @private
|
1016
963
|
* @param {...BaseComponent} components List of components.
|
1017
964
|
*/
|
1018
|
-
|
1019
965
|
}, {
|
1020
966
|
key: "hideComponents",
|
1021
967
|
value: function hideComponents() {
|
1022
968
|
for (var _len3 = arguments.length, components = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
1023
969
|
components[_key3] = arguments[_key3];
|
1024
970
|
}
|
1025
|
-
|
1026
971
|
this.changeComponentsVisibility.apply(this, [false].concat(components));
|
1027
972
|
}
|
973
|
+
|
1028
974
|
/**
|
1029
975
|
* Shows components of filters `dropdownMenu`.
|
1030
976
|
*
|
1031
977
|
* @private
|
1032
978
|
* @param {...BaseComponent} components List of components.
|
1033
979
|
*/
|
1034
|
-
|
1035
980
|
}, {
|
1036
981
|
key: "showComponents",
|
1037
982
|
value: function showComponents() {
|
1038
983
|
for (var _len4 = arguments.length, components = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
|
1039
984
|
components[_key4] = arguments[_key4];
|
1040
985
|
}
|
1041
|
-
|
1042
986
|
this.changeComponentsVisibility.apply(this, [true].concat(components));
|
1043
987
|
}
|
988
|
+
|
1044
989
|
/**
|
1045
990
|
* Destroys the plugin instance.
|
1046
991
|
*/
|
1047
|
-
|
1048
992
|
}, {
|
1049
993
|
key: "destroy",
|
1050
994
|
value: function destroy() {
|
1051
995
|
var _this9 = this;
|
1052
|
-
|
1053
996
|
if (this.enabled) {
|
1054
997
|
this.components.forEach(function (component, key) {
|
1055
998
|
if (component !== null) {
|
1056
999
|
component.destroy();
|
1057
|
-
|
1058
1000
|
_this9.components.set(key, null);
|
1059
1001
|
}
|
1060
1002
|
});
|
@@ -1062,7 +1004,6 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
1062
1004
|
this.conditionUpdateObserver.destroy();
|
1063
1005
|
this.hot.rowIndexMapper.unregisterMap(this.pluginName);
|
1064
1006
|
}
|
1065
|
-
|
1066
1007
|
_get(_getPrototypeOf(Filters.prototype), "destroy", this).call(this);
|
1067
1008
|
}
|
1068
1009
|
}], [{
|
@@ -1081,6 +1022,5 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
|
|
1081
1022
|
return ['plugin:DropdownMenu', 'plugin:HiddenRows', 'cell-type:checkbox'];
|
1082
1023
|
}
|
1083
1024
|
}]);
|
1084
|
-
|
1085
1025
|
return Filters;
|
1086
1026
|
}(BasePlugin);
|