handsontable 11.1.0 → 12.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/3rdparty/walkontable/src/border.js +120 -98
- package/3rdparty/walkontable/src/border.mjs +120 -94
- package/3rdparty/walkontable/src/cell/coords.js +59 -17
- package/3rdparty/walkontable/src/cell/coords.mjs +55 -17
- package/3rdparty/walkontable/src/cell/range.d.ts +10 -2
- package/3rdparty/walkontable/src/cell/range.js +278 -99
- package/3rdparty/walkontable/src/cell/range.mjs +273 -99
- package/3rdparty/walkontable/src/core/_base.js +452 -0
- package/3rdparty/walkontable/src/core/_base.mjs +440 -0
- package/3rdparty/walkontable/src/core/clone.js +97 -0
- package/3rdparty/walkontable/src/core/clone.mjs +80 -0
- package/3rdparty/walkontable/src/core/core.js +183 -0
- package/3rdparty/walkontable/src/core/core.mjs +160 -0
- package/3rdparty/walkontable/src/event.js +99 -66
- package/3rdparty/walkontable/src/event.mjs +99 -63
- package/3rdparty/walkontable/src/facade/core.js +251 -0
- package/3rdparty/walkontable/src/facade/core.mjs +243 -0
- package/3rdparty/walkontable/src/index.js +2 -46
- package/3rdparty/walkontable/src/index.mjs +3 -13
- package/3rdparty/walkontable/src/overlay/_base.js +124 -57
- package/3rdparty/walkontable/src/overlay/_base.mjs +124 -57
- package/3rdparty/walkontable/src/overlay/bottom.js +96 -80
- package/3rdparty/walkontable/src/overlay/bottom.mjs +96 -80
- package/3rdparty/walkontable/src/overlay/{bottomLeftCorner.js → bottomInlineStartCorner.js} +45 -62
- package/3rdparty/walkontable/src/overlay/{bottomLeftCorner.mjs → bottomInlineStartCorner.mjs} +44 -61
- package/3rdparty/walkontable/src/overlay/constants.js +25 -9
- package/3rdparty/walkontable/src/overlay/constants.mjs +14 -4
- package/3rdparty/walkontable/src/overlay/index.js +10 -19
- package/3rdparty/walkontable/src/overlay/index.mjs +4 -5
- package/3rdparty/walkontable/src/overlay/{left.js → inlineStart.js} +113 -82
- package/3rdparty/walkontable/src/overlay/{left.mjs → inlineStart.mjs} +112 -81
- package/3rdparty/walkontable/src/overlay/top.js +93 -68
- package/3rdparty/walkontable/src/overlay/top.mjs +93 -68
- package/3rdparty/walkontable/src/overlay/{topLeftCorner.js → topInlineStartCorner.js} +56 -57
- package/3rdparty/walkontable/src/overlay/{topLeftCorner.mjs → topInlineStartCorner.mjs} +51 -52
- package/3rdparty/walkontable/src/overlays.js +225 -156
- package/3rdparty/walkontable/src/overlays.mjs +224 -154
- package/3rdparty/walkontable/src/renderer/cells.js +4 -3
- package/3rdparty/walkontable/src/renderer/cells.mjs +4 -3
- package/3rdparty/walkontable/src/renderer/colGroup.js +2 -2
- package/3rdparty/walkontable/src/renderer/colGroup.mjs +2 -2
- package/3rdparty/walkontable/src/renderer/columnHeaders.js +2 -2
- package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +2 -2
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +2 -2
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +2 -2
- package/3rdparty/walkontable/src/renderer/rows.js +2 -2
- package/3rdparty/walkontable/src/renderer/rows.mjs +2 -2
- package/3rdparty/walkontable/src/scroll.js +125 -104
- package/3rdparty/walkontable/src/scroll.mjs +124 -104
- package/3rdparty/walkontable/src/selection.js +10 -14
- package/3rdparty/walkontable/src/selection.mjs +10 -12
- package/3rdparty/walkontable/src/settings.js +235 -126
- package/3rdparty/walkontable/src/settings.mjs +235 -125
- package/3rdparty/walkontable/src/table/bottom.js +16 -5
- package/3rdparty/walkontable/src/table/bottom.mjs +15 -5
- package/3rdparty/walkontable/src/table/{bottomLeftCorner.js → bottomInlineStartCorner.js} +27 -15
- package/3rdparty/walkontable/src/table/{bottomLeftCorner.mjs → bottomInlineStartCorner.mjs} +26 -15
- package/3rdparty/walkontable/src/table/{left.js → inlineStart.js} +23 -15
- package/3rdparty/walkontable/src/table/{left.mjs → inlineStart.mjs} +22 -15
- package/3rdparty/walkontable/src/table/master.js +22 -12
- package/3rdparty/walkontable/src/table/master.mjs +22 -12
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +12 -6
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +12 -6
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +12 -6
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +12 -6
- package/3rdparty/walkontable/src/table/mixin/{stickyColumnsLeft.js → stickyColumnsStart.js} +13 -7
- package/3rdparty/walkontable/src/table/mixin/{stickyColumnsLeft.mjs → stickyColumnsStart.mjs} +13 -7
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +11 -5
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +11 -5
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +9 -3
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +9 -3
- package/3rdparty/walkontable/src/table/top.js +16 -5
- package/3rdparty/walkontable/src/table/top.mjs +15 -5
- package/3rdparty/walkontable/src/table/{topLeftCorner.js → topInlineStartCorner.js} +27 -15
- package/3rdparty/walkontable/src/table/{topLeftCorner.mjs → topInlineStartCorner.mjs} +26 -15
- package/3rdparty/walkontable/src/table.js +235 -140
- package/3rdparty/walkontable/src/table.mjs +231 -134
- package/3rdparty/walkontable/src/types.js +103 -0
- package/3rdparty/walkontable/src/types.mjs +102 -0
- package/3rdparty/walkontable/src/utils/column.js +22 -33
- package/3rdparty/walkontable/src/utils/column.mjs +22 -30
- package/3rdparty/walkontable/src/utils/orderView/sharedView.js +2 -2
- package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +2 -2
- package/3rdparty/walkontable/src/utils/row.js +9 -4
- package/3rdparty/walkontable/src/utils/row.mjs +9 -4
- package/3rdparty/walkontable/src/viewport.js +89 -100
- package/3rdparty/walkontable/src/viewport.mjs +89 -97
- package/CHANGELOG.md +92 -0
- package/LICENSE.txt +1 -1
- package/README.md +0 -1
- package/base.js +2 -2
- package/base.mjs +2 -2
- package/cellTypes/timeType/timeType.d.ts +6 -6
- package/cellTypes/timeType/timeType.js +4 -5
- package/cellTypes/timeType/timeType.mjs +4 -5
- package/core.d.ts +6 -1
- package/core.js +508 -80
- package/core.mjs +517 -92
- package/dataMap/index.js +4 -0
- package/dataMap/index.mjs +2 -1
- package/dataMap/metaManager/index.js +2 -2
- package/dataMap/metaManager/index.mjs +2 -2
- package/dataMap/metaManager/metaLayers/globalMeta.js +4 -0
- package/dataMap/metaManager/metaLayers/globalMeta.mjs +4 -0
- package/dataMap/metaManager/metaLayers/tableMeta.js +2 -2
- package/dataMap/metaManager/metaLayers/tableMeta.mjs +2 -2
- package/dataMap/metaManager/metaSchema.js +282 -187
- package/dataMap/metaManager/metaSchema.mjs +282 -187
- package/dataMap/metaManager/mods/extendMetaProperties.js +126 -0
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +113 -0
- package/dataMap/replaceData.js +3 -17
- package/dataMap/replaceData.mjs +3 -17
- package/dist/handsontable.css +268 -92
- package/dist/handsontable.full.css +269 -103
- package/dist/handsontable.full.js +41990 -35658
- package/dist/handsontable.full.min.css +9 -9
- package/dist/handsontable.full.min.js +144 -144
- package/dist/handsontable.js +29561 -25597
- package/dist/handsontable.min.css +8 -8
- package/dist/handsontable.min.js +4 -4
- package/dist/languages/all.js +131 -34
- package/dist/languages/all.min.js +1 -1
- package/dist/languages/ar-AR.js +167 -0
- package/dist/languages/ar-AR.min.js +1 -0
- package/dist/languages/cs-CZ.js +167 -0
- package/dist/languages/cs-CZ.min.js +1 -0
- package/dist/languages/de-CH.js +31 -29
- package/dist/languages/de-CH.min.js +1 -1
- package/dist/languages/de-DE.js +4 -2
- package/dist/languages/de-DE.min.js +1 -1
- package/dist/languages/en-US.js +4 -2
- package/dist/languages/en-US.min.js +1 -1
- package/dist/languages/es-MX.js +4 -2
- package/dist/languages/es-MX.min.js +1 -1
- package/dist/languages/fr-FR.js +4 -2
- package/dist/languages/fr-FR.min.js +1 -1
- package/dist/languages/it-IT.js +4 -2
- package/dist/languages/it-IT.min.js +1 -1
- package/dist/languages/ja-JP.js +36 -38
- package/dist/languages/ja-JP.min.js +1 -1
- package/dist/languages/ko-KR.js +36 -39
- package/dist/languages/ko-KR.min.js +1 -1
- package/dist/languages/lv-LV.js +2 -2
- package/dist/languages/lv-LV.min.js +1 -1
- package/dist/languages/nb-NO.js +2 -2
- package/dist/languages/nb-NO.min.js +1 -1
- package/dist/languages/nl-NL.js +2 -2
- package/dist/languages/nl-NL.min.js +1 -1
- package/dist/languages/pl-PL.js +2 -2
- package/dist/languages/pl-PL.min.js +1 -1
- package/dist/languages/pt-BR.js +2 -2
- package/dist/languages/pt-BR.min.js +1 -1
- package/dist/languages/ru-RU.js +2 -2
- package/dist/languages/ru-RU.min.js +1 -1
- package/dist/languages/sr-SP.js +171 -0
- package/dist/languages/sr-SP.min.js +1 -0
- package/dist/languages/zh-CN.js +24 -24
- package/dist/languages/zh-CN.min.js +1 -1
- package/dist/languages/zh-TW.js +24 -24
- package/dist/languages/zh-TW.min.js +1 -1
- package/editorManager.js +120 -267
- package/editorManager.mjs +128 -278
- package/editors/autocompleteEditor/autocompleteEditor.js +22 -25
- package/editors/autocompleteEditor/autocompleteEditor.mjs +22 -25
- package/editors/baseEditor/baseEditor.js +205 -34
- package/editors/baseEditor/baseEditor.mjs +200 -32
- package/editors/checkboxEditor/checkboxEditor.js +2 -2
- package/editors/checkboxEditor/checkboxEditor.mjs +2 -2
- package/editors/dateEditor/dateEditor.js +21 -8
- package/editors/dateEditor/dateEditor.mjs +22 -9
- package/editors/dropdownEditor/dropdownEditor.js +3 -3
- package/editors/dropdownEditor/dropdownEditor.mjs +3 -3
- package/editors/handsontableEditor/handsontableEditor.js +106 -55
- package/editors/handsontableEditor/handsontableEditor.mjs +106 -55
- package/editors/index.d.ts +3 -0
- package/editors/index.js +6 -0
- package/editors/index.mjs +3 -1
- package/editors/numericEditor/numericEditor.js +2 -2
- package/editors/numericEditor/numericEditor.mjs +2 -2
- package/editors/passwordEditor/passwordEditor.js +3 -3
- package/editors/passwordEditor/passwordEditor.mjs +3 -3
- package/editors/selectEditor/selectEditor.js +65 -110
- package/editors/selectEditor/selectEditor.mjs +66 -109
- package/editors/textEditor/caretPositioner.js +49 -0
- package/editors/textEditor/caretPositioner.mjs +42 -0
- package/editors/textEditor/textEditor.js +205 -181
- package/editors/textEditor/textEditor.mjs +199 -179
- package/editors/timeEditor/index.d.ts +1 -0
- package/editors/timeEditor/index.js +9 -0
- package/editors/timeEditor/index.mjs +1 -0
- package/editors/timeEditor/timeEditor.d.ts +7 -0
- package/editors/timeEditor/timeEditor.js +105 -0
- package/editors/timeEditor/timeEditor.mjs +84 -0
- package/eventManager.js +4 -2
- package/eventManager.mjs +4 -2
- package/helpers/mixed.js +2 -2
- package/helpers/mixed.mjs +2 -2
- package/i18n/languages/ar-AR.js +41 -0
- package/i18n/languages/ar-AR.mjs +17 -0
- package/i18n/languages/cs-CZ.js +40 -0
- package/i18n/languages/cs-CZ.mjs +16 -0
- package/i18n/languages/index.js +12 -0
- package/i18n/languages/index.mjs +4 -1
- package/i18n/languages/sr-SP.js +40 -0
- package/i18n/languages/sr-SP.mjs +16 -0
- package/index.d.ts +4 -0
- package/languages/all.js +131 -34
- package/languages/ar-AR.js +167 -0
- package/languages/ar-AR.mjs +19 -0
- package/languages/cs-CZ.js +167 -0
- package/languages/cs-CZ.mjs +18 -0
- package/languages/de-CH.js +31 -29
- package/languages/de-DE.js +4 -2
- package/languages/en-US.js +4 -2
- package/languages/es-MX.js +4 -2
- package/languages/fr-FR.js +4 -2
- package/languages/index.js +131 -34
- package/languages/index.mjs +4 -1
- package/languages/it-IT.js +4 -2
- package/languages/ja-JP.js +36 -38
- package/languages/ko-KR.js +36 -39
- package/languages/lv-LV.js +2 -2
- package/languages/nb-NO.js +2 -2
- package/languages/nl-NL.js +2 -2
- package/languages/pl-PL.js +2 -2
- package/languages/pt-BR.js +2 -2
- package/languages/ru-RU.js +2 -2
- package/languages/sr-SP.js +171 -0
- package/languages/sr-SP.mjs +18 -0
- package/languages/zh-CN.js +24 -24
- package/languages/zh-TW.js +24 -24
- package/package.json +44 -4
- package/pluginHooks.js +49 -13
- package/pluginHooks.mjs +49 -13
- package/plugins/autoColumnSize/autoColumnSize.js +15 -10
- package/plugins/autoColumnSize/autoColumnSize.mjs +15 -10
- package/plugins/autoRowSize/autoRowSize.js +14 -9
- package/plugins/autoRowSize/autoRowSize.mjs +14 -9
- package/plugins/autofill/autofill.js +49 -33
- package/plugins/autofill/autofill.mjs +49 -32
- package/plugins/autofill/utils.js +10 -11
- package/plugins/autofill/utils.mjs +10 -10
- package/plugins/base/base.d.ts +8 -2
- package/plugins/base/base.js +67 -4
- package/plugins/base/base.mjs +66 -4
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +3 -3
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +3 -3
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +3 -3
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.mjs +3 -3
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +3 -3
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +3 -3
- package/plugins/collapsibleColumns/collapsibleColumns.js +27 -9
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +27 -9
- package/plugins/columnSorting/columnSorting.js +5 -7
- package/plugins/columnSorting/columnSorting.mjs +5 -6
- package/plugins/columnSummary/columnSummary.js +3 -3
- package/plugins/columnSummary/columnSummary.mjs +3 -3
- package/plugins/comments/commentEditor.js +18 -2
- package/plugins/comments/commentEditor.mjs +19 -3
- package/plugins/comments/comments.js +57 -46
- package/plugins/comments/comments.mjs +58 -46
- package/plugins/contextMenu/contextMenu.js +10 -6
- package/plugins/contextMenu/contextMenu.mjs +10 -6
- package/plugins/contextMenu/menu.js +222 -110
- package/plugins/contextMenu/menu.mjs +219 -111
- package/plugins/contextMenu/predefinedItems/columnLeft.js +12 -4
- package/plugins/contextMenu/predefinedItems/columnLeft.mjs +11 -4
- package/plugins/contextMenu/predefinedItems/columnRight.js +9 -9
- package/plugins/contextMenu/predefinedItems/columnRight.mjs +9 -9
- package/plugins/contextMenu/utils.js +2 -2
- package/plugins/contextMenu/utils.mjs +2 -2
- package/plugins/copyPaste/copyPaste.js +31 -21
- package/plugins/copyPaste/copyPaste.mjs +30 -21
- package/plugins/customBorders/contextMenuItem/left.js +4 -3
- package/plugins/customBorders/contextMenuItem/left.mjs +4 -3
- package/plugins/customBorders/contextMenuItem/right.js +4 -3
- package/plugins/customBorders/contextMenuItem/right.mjs +4 -3
- package/plugins/customBorders/customBorders.js +144 -87
- package/plugins/customBorders/customBorders.mjs +143 -85
- package/plugins/customBorders/utils.js +131 -27
- package/plugins/customBorders/utils.mjs +115 -27
- package/plugins/dragToScroll/dragToScroll.js +10 -5
- package/plugins/dragToScroll/dragToScroll.mjs +10 -5
- package/plugins/dropdownMenu/dropdownMenu.js +9 -7
- package/plugins/dropdownMenu/dropdownMenu.mjs +9 -7
- package/plugins/exportFile/exportFile.js +2 -2
- package/plugins/exportFile/exportFile.mjs +2 -2
- package/plugins/exportFile/types/csv.js +2 -2
- package/plugins/exportFile/types/csv.mjs +2 -2
- package/plugins/filters/component/actionBar.js +2 -2
- package/plugins/filters/component/actionBar.mjs +2 -2
- package/plugins/filters/component/condition.js +3 -3
- package/plugins/filters/component/condition.mjs +3 -3
- package/plugins/filters/component/operators.js +2 -2
- package/plugins/filters/component/operators.mjs +2 -2
- package/plugins/filters/component/value.js +3 -3
- package/plugins/filters/component/value.mjs +3 -3
- package/plugins/filters/filters.js +11 -8
- package/plugins/filters/filters.mjs +11 -8
- package/plugins/filters/ui/input.js +3 -3
- package/plugins/filters/ui/input.mjs +3 -3
- package/plugins/filters/ui/link.js +3 -3
- package/plugins/filters/ui/link.mjs +3 -3
- package/plugins/filters/ui/multipleSelect.js +18 -31
- package/plugins/filters/ui/multipleSelect.mjs +18 -31
- package/plugins/filters/ui/radioInput.js +3 -3
- package/plugins/filters/ui/radioInput.mjs +3 -3
- package/plugins/filters/ui/select.js +4 -4
- package/plugins/filters/ui/select.mjs +4 -4
- package/plugins/formulas/formulas.js +14 -9
- package/plugins/formulas/formulas.mjs +14 -9
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +2 -4
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +2 -4
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +5 -5
- package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +5 -5
- package/plugins/hiddenColumns/hiddenColumns.js +9 -4
- package/plugins/hiddenColumns/hiddenColumns.mjs +9 -4
- package/plugins/hiddenRows/contextMenuItem/hideRow.js +2 -4
- package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +2 -4
- package/plugins/hiddenRows/contextMenuItem/showRow.js +5 -5
- package/plugins/hiddenRows/contextMenuItem/showRow.mjs +5 -5
- package/plugins/hiddenRows/hiddenRows.js +9 -4
- package/plugins/hiddenRows/hiddenRows.mjs +9 -4
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -1
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +1 -1
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -1
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +1 -1
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +54 -15
- package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +49 -15
- package/plugins/manualColumnMove/manualColumnMove.js +70 -70
- package/plugins/manualColumnMove/manualColumnMove.mjs +71 -71
- package/plugins/manualColumnMove/ui/_base.js +25 -12
- package/plugins/manualColumnMove/ui/_base.mjs +24 -12
- package/plugins/manualColumnMove/ui/backlight.js +3 -3
- package/plugins/manualColumnMove/ui/backlight.mjs +3 -3
- package/plugins/manualColumnMove/ui/guideline.js +3 -3
- package/plugins/manualColumnMove/ui/guideline.mjs +3 -3
- package/plugins/manualColumnResize/manualColumnResize.js +37 -21
- package/plugins/manualColumnResize/manualColumnResize.mjs +37 -21
- package/plugins/manualRowMove/manualRowMove.js +26 -34
- package/plugins/manualRowMove/manualRowMove.mjs +26 -34
- package/plugins/manualRowMove/ui/backlight.js +3 -3
- package/plugins/manualRowMove/ui/backlight.mjs +3 -3
- package/plugins/manualRowMove/ui/guideline.js +3 -3
- package/plugins/manualRowMove/ui/guideline.mjs +3 -3
- package/plugins/manualRowResize/manualRowResize.js +34 -19
- package/plugins/manualRowResize/manualRowResize.mjs +34 -19
- package/plugins/mergeCells/calculations/autofill.js +6 -5
- package/plugins/mergeCells/calculations/autofill.mjs +6 -4
- package/plugins/mergeCells/calculations/selection.js +9 -4
- package/plugins/mergeCells/calculations/selection.mjs +9 -4
- package/plugins/mergeCells/cellCoords.js +16 -4
- package/plugins/mergeCells/cellCoords.mjs +16 -3
- package/plugins/mergeCells/cellsCollection.js +30 -23
- package/plugins/mergeCells/cellsCollection.mjs +30 -22
- package/plugins/mergeCells/mergeCells.js +94 -61
- package/plugins/mergeCells/mergeCells.mjs +94 -59
- package/plugins/multiColumnSorting/multiColumnSorting.js +4 -6
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +4 -5
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +51 -57
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +52 -57
- package/plugins/nestedHeaders/nestedHeaders.js +31 -20
- package/plugins/nestedHeaders/nestedHeaders.mjs +31 -20
- package/plugins/nestedHeaders/stateManager/utils.js +3 -4
- package/plugins/nestedHeaders/stateManager/utils.mjs +3 -4
- package/plugins/nestedHeaders/utils/ghostTable.js +114 -75
- package/plugins/nestedHeaders/utils/ghostTable.mjs +114 -74
- package/plugins/nestedRows/nestedRows.js +9 -4
- package/plugins/nestedRows/nestedRows.mjs +9 -4
- package/plugins/nestedRows/ui/collapsing.js +2 -2
- package/plugins/nestedRows/ui/collapsing.mjs +2 -2
- package/plugins/nestedRows/ui/contextMenu.js +2 -2
- package/plugins/nestedRows/ui/contextMenu.mjs +2 -2
- package/plugins/nestedRows/ui/headers.js +2 -2
- package/plugins/nestedRows/ui/headers.mjs +2 -2
- package/plugins/nestedRows/utils/rowMoveController.js +2 -4
- package/plugins/nestedRows/utils/rowMoveController.mjs +2 -3
- package/plugins/persistentState/persistentState.js +9 -4
- package/plugins/persistentState/persistentState.mjs +9 -4
- package/plugins/search/search.js +9 -4
- package/plugins/search/search.mjs +9 -4
- package/plugins/touchScroll/touchScroll.js +27 -21
- package/plugins/touchScroll/touchScroll.mjs +27 -21
- package/plugins/trimRows/trimRows.js +9 -4
- package/plugins/trimRows/trimRows.mjs +9 -4
- package/plugins/undoRedo/undoRedo.js +53 -47
- package/plugins/undoRedo/undoRedo.mjs +53 -46
- package/renderers/autocompleteRenderer/autocompleteRenderer.js +1 -3
- package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +1 -2
- package/renderers/checkboxRenderer/checkboxRenderer.js +48 -43
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +48 -41
- package/renderers/index.d.ts +4 -1
- package/renderers/index.js +6 -0
- package/renderers/index.mjs +3 -1
- package/renderers/numericRenderer/numericRenderer.js +1 -0
- package/renderers/numericRenderer/numericRenderer.mjs +1 -0
- package/renderers/timeRenderer/index.d.ts +1 -0
- package/renderers/timeRenderer/index.js +9 -0
- package/renderers/timeRenderer/index.mjs +1 -0
- package/renderers/timeRenderer/timeRenderer.d.ts +5 -0
- package/renderers/timeRenderer/timeRenderer.js +31 -0
- package/renderers/timeRenderer/timeRenderer.mjs +20 -0
- package/selection/highlight/visualSelection.js +94 -220
- package/selection/highlight/visualSelection.mjs +91 -213
- package/selection/mouseEventHandler.js +15 -10
- package/selection/mouseEventHandler.mjs +15 -9
- package/selection/range.js +4 -5
- package/selection/range.mjs +4 -5
- package/selection/selection.js +35 -22
- package/selection/selection.mjs +35 -20
- package/selection/transformation.js +4 -6
- package/selection/transformation.mjs +4 -5
- package/settings.d.ts +3 -1
- package/shortcuts/context.d.ts +20 -0
- package/shortcuts/context.js +296 -0
- package/shortcuts/context.mjs +268 -0
- package/shortcuts/index.d.ts +1 -0
- package/shortcuts/index.js +8 -0
- package/shortcuts/index.mjs +1 -0
- package/shortcuts/keyObserver.js +67 -0
- package/shortcuts/keyObserver.mjs +58 -0
- package/shortcuts/manager.d.ts +10 -0
- package/shortcuts/manager.js +185 -0
- package/shortcuts/manager.mjs +176 -0
- package/shortcuts/recorder.js +192 -0
- package/shortcuts/recorder.mjs +180 -0
- package/shortcuts/utils.js +77 -0
- package/shortcuts/utils.mjs +54 -0
- package/tableView.js +164 -84
- package/tableView.mjs +164 -74
- package/translations/changesObservable/observer.js +0 -1
- package/translations/changesObservable/observer.mjs +0 -1
- package/translations/indexMapper.d.ts +3 -1
- package/translations/indexMapper.js +89 -11
- package/translations/indexMapper.mjs +91 -20
- package/translations/mapCollections/aggregatedCollection.js +2 -2
- package/translations/mapCollections/aggregatedCollection.mjs +2 -2
- package/translations/maps/hidingMap.js +4 -2
- package/translations/maps/hidingMap.mjs +4 -2
- package/translations/maps/indexMap.js +2 -0
- package/translations/maps/indexMap.mjs +2 -0
- package/translations/maps/indexesSequence.js +5 -3
- package/translations/maps/indexesSequence.mjs +5 -3
- package/translations/maps/linkedPhysicalIndexToValueMap.js +5 -3
- package/translations/maps/linkedPhysicalIndexToValueMap.mjs +5 -3
- package/translations/maps/physicalIndexToValueMap.js +5 -3
- package/translations/maps/physicalIndexToValueMap.mjs +5 -3
- package/translations/maps/trimmingMap.js +4 -2
- package/translations/maps/trimmingMap.mjs +4 -2
- package/utils/dataStructures/uniqueMap.js +14 -1
- package/utils/dataStructures/uniqueMap.mjs +14 -1
- package/utils/dataStructures/uniqueSet.js +9 -0
- package/utils/dataStructures/uniqueSet.mjs +9 -0
- package/utils/ghostTable.js +1 -1
- package/utils/ghostTable.mjs +1 -1
- package/3rdparty/walkontable/src/core.js +0 -309
- package/3rdparty/walkontable/src/core.mjs +0 -293
- package/3rdparty/walkontable/src/overlay/registerer.js +0 -70
- package/3rdparty/walkontable/src/overlay/registerer.mjs +0 -57
- package/utils/keyStateObserver.js +0 -121
- package/utils/keyStateObserver.mjs +0 -103
@@ -59,13 +59,13 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+
|
|
59
59
|
|
60
60
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
61
61
|
|
62
|
-
function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } 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); }
|
62
|
+
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); }
|
63
63
|
|
64
64
|
function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
|
65
65
|
|
66
66
|
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); }
|
67
67
|
|
68
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf
|
68
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
69
69
|
|
70
70
|
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); }; }
|
71
71
|
|
@@ -75,7 +75,7 @@ function _assertThisInitialized(self) { if (self === void 0) { throw new Referen
|
|
75
75
|
|
76
76
|
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; } }
|
77
77
|
|
78
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
78
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
79
79
|
|
80
80
|
_pluginHooks.default.getSingleton().register('beforeColumnMove');
|
81
81
|
|
@@ -90,6 +90,8 @@ var CSS_PLUGIN = 'ht__manualColumnMove';
|
|
90
90
|
var CSS_SHOW_UI = 'show-ui';
|
91
91
|
var CSS_ON_MOVING = 'on-moving--columns';
|
92
92
|
var CSS_AFTER_SELECTION = 'after-selection--columns';
|
93
|
+
/* eslint-disable jsdoc/require-description-complete-sentence */
|
94
|
+
|
93
95
|
/**
|
94
96
|
* @plugin ManualColumnMove
|
95
97
|
* @class ManualColumnMove
|
@@ -216,7 +218,10 @@ var ManualColumnMove = /*#__PURE__*/function (_BasePlugin) {
|
|
216
218
|
_get(_getPrototypeOf(ManualColumnMove.prototype), "enablePlugin", this).call(this);
|
217
219
|
}
|
218
220
|
/**
|
219
|
-
* Updates the plugin state.
|
221
|
+
* Updates the plugin's state.
|
222
|
+
*
|
223
|
+
* This method is executed when [`updateSettings()`](@/api/core.md#updatesettings) is invoked with any of the following configuration options:
|
224
|
+
* - [`manualColumnMove`](@/api/options.md#manualcolumnmove)
|
220
225
|
*/
|
221
226
|
|
222
227
|
}, {
|
@@ -414,9 +419,9 @@ var ManualColumnMove = /*#__PURE__*/function (_BasePlugin) {
|
|
414
419
|
var renderableIndex = columnMapper.getRenderableFromVisualIndex(visualColumnIndex);
|
415
420
|
|
416
421
|
if (visualColumnIndex < 0) {
|
417
|
-
columnsWidth += this.hot.view.
|
422
|
+
columnsWidth += this.hot.view._wt.wtViewport.getRowHeaderWidth() || 0;
|
418
423
|
} else if (renderableIndex !== null) {
|
419
|
-
columnsWidth += this.hot.view.
|
424
|
+
columnsWidth += this.hot.view._wt.wtTable.getStretchedColumnWidth(renderableIndex) || 0;
|
420
425
|
}
|
421
426
|
}
|
422
427
|
|
@@ -452,9 +457,9 @@ var ManualColumnMove = /*#__PURE__*/function (_BasePlugin) {
|
|
452
457
|
*/
|
453
458
|
|
454
459
|
}, {
|
455
|
-
key: "
|
456
|
-
value: function
|
457
|
-
return column < this.hot.getSettings().
|
460
|
+
key: "isFixedColumnsStart",
|
461
|
+
value: function isFixedColumnsStart(column) {
|
462
|
+
return column < this.hot.getSettings().fixedColumnsStart;
|
458
463
|
}
|
459
464
|
/**
|
460
465
|
* Saves the manual column positions to the persistent state (the {@link Options#persistentState} option has to be enabled).
|
@@ -511,89 +516,83 @@ var ManualColumnMove = /*#__PURE__*/function (_BasePlugin) {
|
|
511
516
|
key: "refreshPositions",
|
512
517
|
value: function refreshPositions() {
|
513
518
|
var priv = privatePool.get(this);
|
514
|
-
var firstVisible = this.hot.view.
|
515
|
-
|
516
|
-
|
517
|
-
|
518
|
-
|
519
|
-
var tdOffsetLeft = this.hot.view.THEAD.offsetLeft + this.getColumnsWidth(0, priv.coords - 1);
|
520
|
-
var mouseOffsetLeft = priv.target.eventPageX - (priv.rootElementOffset - (scrollableElement.scrollX === void 0 ? scrollLeft : 0)); // eslint-disable-line max-len
|
519
|
+
var firstVisible = this.hot.view.getFirstFullyVisibleColumn();
|
520
|
+
|
521
|
+
if (this.isFixedColumnsStart(priv.hoveredColumn) && firstVisible > 0) {
|
522
|
+
this.hot.scrollViewportTo(void 0, this.hot.columnIndexMapper.getNearestNotHiddenIndex(firstVisible - 1, -1));
|
523
|
+
}
|
521
524
|
|
525
|
+
var wtTable = this.hot.view._wt.wtTable;
|
526
|
+
var scrollableElement = this.hot.view._wt.wtOverlays.scrollableElement;
|
527
|
+
var scrollStart = typeof scrollableElement.scrollX === 'number' ? scrollableElement.scrollX : scrollableElement.scrollLeft;
|
528
|
+
var tdOffsetStart = this.hot.view.THEAD.offsetLeft + this.getColumnsWidth(0, priv.hoveredColumn - 1);
|
522
529
|
var hiderWidth = wtTable.hider.offsetWidth;
|
523
530
|
var tbodyOffsetLeft = wtTable.TBODY.offsetLeft;
|
524
|
-
var
|
531
|
+
var backlightElemMarginStart = this.backlight.getOffset().start;
|
525
532
|
var backlightElemWidth = this.backlight.getSize().width;
|
526
533
|
var rowHeaderWidth = 0;
|
534
|
+
var mouseOffsetStart = 0;
|
527
535
|
|
528
|
-
if (
|
529
|
-
|
530
|
-
|
531
|
-
|
536
|
+
if (this.hot.isRtl()) {
|
537
|
+
var rootWindow = this.hot.rootWindow;
|
538
|
+
var containerWidth = (0, _element.outerWidth)(this.hot.rootElement);
|
539
|
+
var gridMostRightPos = rootWindow.innerWidth - priv.rootElementOffset - containerWidth;
|
540
|
+
mouseOffsetStart = rootWindow.innerWidth - priv.target.eventPageX - gridMostRightPos - (scrollableElement.scrollX === void 0 ? scrollStart : 0);
|
541
|
+
} else {
|
542
|
+
mouseOffsetStart = priv.target.eventPageX - (priv.rootElementOffset - (scrollableElement.scrollX === void 0 ? scrollStart : 0));
|
532
543
|
}
|
533
544
|
|
534
545
|
if (priv.hasRowHeaders) {
|
535
|
-
rowHeaderWidth = this.hot.view.
|
546
|
+
rowHeaderWidth = this.hot.view._wt.wtOverlays.inlineStartOverlay.clone.wtTable.getColumnHeader(-1).offsetWidth;
|
536
547
|
}
|
537
548
|
|
538
|
-
if (this.
|
539
|
-
|
549
|
+
if (this.isFixedColumnsStart(priv.hoveredColumn)) {
|
550
|
+
tdOffsetStart += scrollStart;
|
540
551
|
}
|
541
552
|
|
542
|
-
|
553
|
+
tdOffsetStart += rowHeaderWidth;
|
543
554
|
|
544
|
-
if (priv.
|
555
|
+
if (priv.hoveredColumn < 0) {
|
545
556
|
// if hover on rowHeader
|
546
|
-
if (priv.
|
557
|
+
if (priv.fixedColumnsStart > 0) {
|
547
558
|
priv.target.col = 0;
|
548
559
|
} else {
|
549
560
|
priv.target.col = firstVisible > 0 ? firstVisible - 1 : firstVisible;
|
550
561
|
}
|
551
|
-
} else if (priv.target.TD.offsetWidth / 2 +
|
552
|
-
var newCoordsCol = priv.
|
562
|
+
} else if (priv.target.TD.offsetWidth / 2 + tdOffsetStart <= mouseOffsetStart) {
|
563
|
+
var newCoordsCol = priv.hoveredColumn >= priv.countCols ? priv.countCols - 1 : priv.hoveredColumn; // if hover on right part of TD
|
553
564
|
|
554
565
|
priv.target.col = newCoordsCol + 1; // unfortunately first column is bigger than rest
|
555
566
|
|
556
|
-
|
557
|
-
|
558
|
-
if (priv.target.col > lastVisible && lastVisible < priv.countCols) {
|
559
|
-
this.hot.scrollViewportTo(void 0, lastVisible + 1, void 0, true);
|
560
|
-
}
|
567
|
+
tdOffsetStart += priv.target.TD.offsetWidth;
|
561
568
|
} else {
|
562
569
|
// elsewhere on table
|
563
|
-
priv.target.col = priv.
|
564
|
-
|
565
|
-
if (priv.target.col <= firstVisible && priv.target.col >= priv.fixedColumns && firstVisible > 0) {
|
566
|
-
this.hot.scrollViewportTo(void 0, firstVisible - 1);
|
567
|
-
}
|
568
|
-
}
|
569
|
-
|
570
|
-
if (priv.target.col <= firstVisible && priv.target.col >= priv.fixedColumns && firstVisible > 0) {
|
571
|
-
this.hot.scrollViewportTo(void 0, firstVisible - 1);
|
570
|
+
priv.target.col = priv.hoveredColumn;
|
572
571
|
}
|
573
572
|
|
574
|
-
var
|
575
|
-
var
|
573
|
+
var backlightStart = mouseOffsetStart;
|
574
|
+
var guidelineStart = tdOffsetStart;
|
576
575
|
|
577
|
-
if (
|
576
|
+
if (mouseOffsetStart + backlightElemWidth + backlightElemMarginStart >= hiderWidth) {
|
578
577
|
// prevent display backlight on the right side of the table
|
579
|
-
|
580
|
-
} else if (
|
578
|
+
backlightStart = hiderWidth - backlightElemWidth - backlightElemMarginStart;
|
579
|
+
} else if (mouseOffsetStart + backlightElemMarginStart < tbodyOffsetLeft + rowHeaderWidth) {
|
581
580
|
// prevent display backlight on the left side of the table
|
582
|
-
|
581
|
+
backlightStart = tbodyOffsetLeft + rowHeaderWidth + Math.abs(backlightElemMarginStart);
|
583
582
|
}
|
584
583
|
|
585
|
-
if (
|
584
|
+
if (tdOffsetStart >= hiderWidth - 1) {
|
586
585
|
// prevent display guideline outside the table
|
587
|
-
|
588
|
-
} else if (
|
586
|
+
guidelineStart = hiderWidth - 1;
|
587
|
+
} else if (guidelineStart === 0) {
|
589
588
|
// guideline has got `margin-left: -1px` as default
|
590
|
-
|
591
|
-
} else if (scrollableElement.scrollX !== void 0 && priv.
|
592
|
-
|
589
|
+
guidelineStart = 1;
|
590
|
+
} else if (scrollableElement.scrollX !== void 0 && priv.hoveredColumn < priv.fixedColumnsStart) {
|
591
|
+
guidelineStart -= priv.rootElementOffset <= scrollableElement.scrollX ? priv.rootElementOffset : 0;
|
593
592
|
}
|
594
593
|
|
595
|
-
this.backlight.setPosition(null,
|
596
|
-
this.guideline.setPosition(null,
|
594
|
+
this.backlight.setPosition(null, backlightStart);
|
595
|
+
this.guideline.setPosition(null, guidelineStart);
|
597
596
|
}
|
598
597
|
/**
|
599
598
|
* Binds the events used by the plugin.
|
@@ -639,7 +638,7 @@ var ManualColumnMove = /*#__PURE__*/function (_BasePlugin) {
|
|
639
638
|
}, {
|
640
639
|
key: "onBeforeOnCellMouseDown",
|
641
640
|
value: function onBeforeOnCellMouseDown(event, coords, TD, controller) {
|
642
|
-
var wtTable = this.hot.view.
|
641
|
+
var wtTable = this.hot.view._wt.wtTable;
|
643
642
|
var isHeaderSelection = this.hot.selection.isSelectedByColumnHeader();
|
644
643
|
var selection = this.hot.getSelectedRangeLast();
|
645
644
|
var priv = privatePool.get(this); // This block action shouldn't be handled below.
|
@@ -670,24 +669,25 @@ var ManualColumnMove = /*#__PURE__*/function (_BasePlugin) {
|
|
670
669
|
controller.column = true;
|
671
670
|
priv.pressed = true;
|
672
671
|
priv.target.eventPageX = event.pageX;
|
673
|
-
priv.
|
672
|
+
priv.target.eventOffsetX = event.offsetX;
|
673
|
+
priv.hoveredColumn = coords.col;
|
674
674
|
priv.target.TD = TD;
|
675
675
|
priv.target.col = coords.col;
|
676
676
|
priv.columnsToMove = this.prepareColumnsToMoving(start, end);
|
677
677
|
priv.hasRowHeaders = !!this.hot.getSettings().rowHeaders;
|
678
678
|
priv.countCols = this.hot.countCols();
|
679
|
-
priv.
|
679
|
+
priv.fixedColumnsStart = this.hot.getSettings().fixedColumnsStart;
|
680
680
|
priv.rootElementOffset = (0, _element.offset)(this.hot.rootElement).left;
|
681
681
|
var countColumnsFrom = priv.hasRowHeaders ? -1 : 0;
|
682
682
|
var topPos = wtTable.holder.scrollTop + wtTable.getColumnHeaderHeight(0) + 1;
|
683
|
-
var
|
684
|
-
var
|
685
|
-
var
|
686
|
-
var
|
687
|
-
var
|
688
|
-
this.backlight.setPosition(topPos,
|
683
|
+
var fixedColumnsStart = coords.col < priv.fixedColumnsStart;
|
684
|
+
var horizontalScrollPosition = Math.abs(this.hot.view._wt.wtOverlays.inlineStartOverlay.getScrollPosition());
|
685
|
+
var offsetX = Math.abs(event.offsetX - (this.hot.isRtl() ? event.target.offsetWidth : 0));
|
686
|
+
var inlineOffset = this.getColumnsWidth(start, coords.col - 1) + offsetX;
|
687
|
+
var inlinePos = this.getColumnsWidth(countColumnsFrom, start - 1) + (fixedColumnsStart ? horizontalScrollPosition : 0) + inlineOffset;
|
688
|
+
this.backlight.setPosition(topPos, inlinePos);
|
689
689
|
this.backlight.setSize(this.getColumnsWidth(start, end), wtTable.hider.offsetHeight - topPos);
|
690
|
-
this.backlight.setOffset(null,
|
690
|
+
this.backlight.setOffset(null, -inlineOffset);
|
691
691
|
(0, _element.addClass)(this.hot.rootElement, CSS_ON_MOVING);
|
692
692
|
} else {
|
693
693
|
(0, _element.removeClass)(this.hot.rootElement, CSS_AFTER_SELECTION);
|
@@ -753,7 +753,7 @@ var ManualColumnMove = /*#__PURE__*/function (_BasePlugin) {
|
|
753
753
|
controller.row = true;
|
754
754
|
controller.column = true;
|
755
755
|
controller.cell = true;
|
756
|
-
priv.
|
756
|
+
priv.hoveredColumn = coords.col;
|
757
757
|
priv.target.TD = TD;
|
758
758
|
}
|
759
759
|
/**
|
@@ -768,7 +768,7 @@ var ManualColumnMove = /*#__PURE__*/function (_BasePlugin) {
|
|
768
768
|
var priv = privatePool.get(this);
|
769
769
|
var target = priv.target.col;
|
770
770
|
var columnsLen = priv.columnsToMove.length;
|
771
|
-
priv.
|
771
|
+
priv.hoveredColumn = void 0;
|
772
772
|
priv.pressed = false;
|
773
773
|
priv.backlightWidth = 0;
|
774
774
|
(0, _element.removeClass)(this.hot.rootElement, [CSS_ON_MOVING, CSS_SHOW_UI, CSS_AFTER_SELECTION]);
|
@@ -804,7 +804,7 @@ var ManualColumnMove = /*#__PURE__*/function (_BasePlugin) {
|
|
804
804
|
}, {
|
805
805
|
key: "onAfterScrollVertically",
|
806
806
|
value: function onAfterScrollVertically() {
|
807
|
-
var wtTable = this.hot.view.
|
807
|
+
var wtTable = this.hot.view._wt.wtTable;
|
808
808
|
var headerHeight = wtTable.getColumnHeaderHeight(0) + 1;
|
809
809
|
var scrollTop = wtTable.holder.scrollTop;
|
810
810
|
var posTop = headerHeight + scrollTop;
|
@@ -6,13 +6,13 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+
|
|
6
6
|
|
7
7
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
8
8
|
|
9
|
-
function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } 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); }
|
9
|
+
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); }
|
10
10
|
|
11
11
|
function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
|
12
12
|
|
13
13
|
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); }
|
14
14
|
|
15
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf
|
15
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
16
16
|
|
17
17
|
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); }; }
|
18
18
|
|
@@ -22,7 +22,7 @@ function _assertThisInitialized(self) { if (self === void 0) { throw new Referen
|
|
22
22
|
|
23
23
|
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; } }
|
24
24
|
|
25
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
25
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
26
26
|
|
27
27
|
import "core-js/modules/es.array.iterator.js";
|
28
28
|
import "core-js/modules/es.object.to-string.js";
|
@@ -42,7 +42,7 @@ import "core-js/modules/es.symbol.iterator.js";
|
|
42
42
|
import { BasePlugin } from "../base/index.mjs";
|
43
43
|
import Hooks from "../../pluginHooks.mjs";
|
44
44
|
import { arrayReduce } from "../../helpers/array.mjs";
|
45
|
-
import { addClass, removeClass, offset, hasClass } from "../../helpers/dom/element.mjs";
|
45
|
+
import { addClass, removeClass, offset, hasClass, outerWidth } from "../../helpers/dom/element.mjs";
|
46
46
|
import { rangeEach } from "../../helpers/number.mjs";
|
47
47
|
import EventManager from "../../eventManager.mjs";
|
48
48
|
import BacklightUI from "./ui/backlight.mjs";
|
@@ -56,6 +56,8 @@ var CSS_PLUGIN = 'ht__manualColumnMove';
|
|
56
56
|
var CSS_SHOW_UI = 'show-ui';
|
57
57
|
var CSS_ON_MOVING = 'on-moving--columns';
|
58
58
|
var CSS_AFTER_SELECTION = 'after-selection--columns';
|
59
|
+
/* eslint-disable jsdoc/require-description-complete-sentence */
|
60
|
+
|
59
61
|
/**
|
60
62
|
* @plugin ManualColumnMove
|
61
63
|
* @class ManualColumnMove
|
@@ -182,7 +184,10 @@ export var ManualColumnMove = /*#__PURE__*/function (_BasePlugin) {
|
|
182
184
|
_get(_getPrototypeOf(ManualColumnMove.prototype), "enablePlugin", this).call(this);
|
183
185
|
}
|
184
186
|
/**
|
185
|
-
* Updates the plugin state.
|
187
|
+
* Updates the plugin's state.
|
188
|
+
*
|
189
|
+
* This method is executed when [`updateSettings()`](@/api/core.md#updatesettings) is invoked with any of the following configuration options:
|
190
|
+
* - [`manualColumnMove`](@/api/options.md#manualcolumnmove)
|
186
191
|
*/
|
187
192
|
|
188
193
|
}, {
|
@@ -380,9 +385,9 @@ export var ManualColumnMove = /*#__PURE__*/function (_BasePlugin) {
|
|
380
385
|
var renderableIndex = columnMapper.getRenderableFromVisualIndex(visualColumnIndex);
|
381
386
|
|
382
387
|
if (visualColumnIndex < 0) {
|
383
|
-
columnsWidth += this.hot.view.
|
388
|
+
columnsWidth += this.hot.view._wt.wtViewport.getRowHeaderWidth() || 0;
|
384
389
|
} else if (renderableIndex !== null) {
|
385
|
-
columnsWidth += this.hot.view.
|
390
|
+
columnsWidth += this.hot.view._wt.wtTable.getStretchedColumnWidth(renderableIndex) || 0;
|
386
391
|
}
|
387
392
|
}
|
388
393
|
|
@@ -418,9 +423,9 @@ export var ManualColumnMove = /*#__PURE__*/function (_BasePlugin) {
|
|
418
423
|
*/
|
419
424
|
|
420
425
|
}, {
|
421
|
-
key: "
|
422
|
-
value: function
|
423
|
-
return column < this.hot.getSettings().
|
426
|
+
key: "isFixedColumnsStart",
|
427
|
+
value: function isFixedColumnsStart(column) {
|
428
|
+
return column < this.hot.getSettings().fixedColumnsStart;
|
424
429
|
}
|
425
430
|
/**
|
426
431
|
* Saves the manual column positions to the persistent state (the {@link Options#persistentState} option has to be enabled).
|
@@ -477,89 +482,83 @@ export var ManualColumnMove = /*#__PURE__*/function (_BasePlugin) {
|
|
477
482
|
key: "refreshPositions",
|
478
483
|
value: function refreshPositions() {
|
479
484
|
var priv = privatePool.get(this);
|
480
|
-
var firstVisible = this.hot.view.
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
var tdOffsetLeft = this.hot.view.THEAD.offsetLeft + this.getColumnsWidth(0, priv.coords - 1);
|
486
|
-
var mouseOffsetLeft = priv.target.eventPageX - (priv.rootElementOffset - (scrollableElement.scrollX === void 0 ? scrollLeft : 0)); // eslint-disable-line max-len
|
485
|
+
var firstVisible = this.hot.view.getFirstFullyVisibleColumn();
|
486
|
+
|
487
|
+
if (this.isFixedColumnsStart(priv.hoveredColumn) && firstVisible > 0) {
|
488
|
+
this.hot.scrollViewportTo(void 0, this.hot.columnIndexMapper.getNearestNotHiddenIndex(firstVisible - 1, -1));
|
489
|
+
}
|
487
490
|
|
491
|
+
var wtTable = this.hot.view._wt.wtTable;
|
492
|
+
var scrollableElement = this.hot.view._wt.wtOverlays.scrollableElement;
|
493
|
+
var scrollStart = typeof scrollableElement.scrollX === 'number' ? scrollableElement.scrollX : scrollableElement.scrollLeft;
|
494
|
+
var tdOffsetStart = this.hot.view.THEAD.offsetLeft + this.getColumnsWidth(0, priv.hoveredColumn - 1);
|
488
495
|
var hiderWidth = wtTable.hider.offsetWidth;
|
489
496
|
var tbodyOffsetLeft = wtTable.TBODY.offsetLeft;
|
490
|
-
var
|
497
|
+
var backlightElemMarginStart = this.backlight.getOffset().start;
|
491
498
|
var backlightElemWidth = this.backlight.getSize().width;
|
492
499
|
var rowHeaderWidth = 0;
|
500
|
+
var mouseOffsetStart = 0;
|
493
501
|
|
494
|
-
if (
|
495
|
-
|
496
|
-
|
497
|
-
|
502
|
+
if (this.hot.isRtl()) {
|
503
|
+
var rootWindow = this.hot.rootWindow;
|
504
|
+
var containerWidth = outerWidth(this.hot.rootElement);
|
505
|
+
var gridMostRightPos = rootWindow.innerWidth - priv.rootElementOffset - containerWidth;
|
506
|
+
mouseOffsetStart = rootWindow.innerWidth - priv.target.eventPageX - gridMostRightPos - (scrollableElement.scrollX === void 0 ? scrollStart : 0);
|
507
|
+
} else {
|
508
|
+
mouseOffsetStart = priv.target.eventPageX - (priv.rootElementOffset - (scrollableElement.scrollX === void 0 ? scrollStart : 0));
|
498
509
|
}
|
499
510
|
|
500
511
|
if (priv.hasRowHeaders) {
|
501
|
-
rowHeaderWidth = this.hot.view.
|
512
|
+
rowHeaderWidth = this.hot.view._wt.wtOverlays.inlineStartOverlay.clone.wtTable.getColumnHeader(-1).offsetWidth;
|
502
513
|
}
|
503
514
|
|
504
|
-
if (this.
|
505
|
-
|
515
|
+
if (this.isFixedColumnsStart(priv.hoveredColumn)) {
|
516
|
+
tdOffsetStart += scrollStart;
|
506
517
|
}
|
507
518
|
|
508
|
-
|
519
|
+
tdOffsetStart += rowHeaderWidth;
|
509
520
|
|
510
|
-
if (priv.
|
521
|
+
if (priv.hoveredColumn < 0) {
|
511
522
|
// if hover on rowHeader
|
512
|
-
if (priv.
|
523
|
+
if (priv.fixedColumnsStart > 0) {
|
513
524
|
priv.target.col = 0;
|
514
525
|
} else {
|
515
526
|
priv.target.col = firstVisible > 0 ? firstVisible - 1 : firstVisible;
|
516
527
|
}
|
517
|
-
} else if (priv.target.TD.offsetWidth / 2 +
|
518
|
-
var newCoordsCol = priv.
|
528
|
+
} else if (priv.target.TD.offsetWidth / 2 + tdOffsetStart <= mouseOffsetStart) {
|
529
|
+
var newCoordsCol = priv.hoveredColumn >= priv.countCols ? priv.countCols - 1 : priv.hoveredColumn; // if hover on right part of TD
|
519
530
|
|
520
531
|
priv.target.col = newCoordsCol + 1; // unfortunately first column is bigger than rest
|
521
532
|
|
522
|
-
|
523
|
-
|
524
|
-
if (priv.target.col > lastVisible && lastVisible < priv.countCols) {
|
525
|
-
this.hot.scrollViewportTo(void 0, lastVisible + 1, void 0, true);
|
526
|
-
}
|
533
|
+
tdOffsetStart += priv.target.TD.offsetWidth;
|
527
534
|
} else {
|
528
535
|
// elsewhere on table
|
529
|
-
priv.target.col = priv.
|
530
|
-
|
531
|
-
if (priv.target.col <= firstVisible && priv.target.col >= priv.fixedColumns && firstVisible > 0) {
|
532
|
-
this.hot.scrollViewportTo(void 0, firstVisible - 1);
|
533
|
-
}
|
534
|
-
}
|
535
|
-
|
536
|
-
if (priv.target.col <= firstVisible && priv.target.col >= priv.fixedColumns && firstVisible > 0) {
|
537
|
-
this.hot.scrollViewportTo(void 0, firstVisible - 1);
|
536
|
+
priv.target.col = priv.hoveredColumn;
|
538
537
|
}
|
539
538
|
|
540
|
-
var
|
541
|
-
var
|
539
|
+
var backlightStart = mouseOffsetStart;
|
540
|
+
var guidelineStart = tdOffsetStart;
|
542
541
|
|
543
|
-
if (
|
542
|
+
if (mouseOffsetStart + backlightElemWidth + backlightElemMarginStart >= hiderWidth) {
|
544
543
|
// prevent display backlight on the right side of the table
|
545
|
-
|
546
|
-
} else if (
|
544
|
+
backlightStart = hiderWidth - backlightElemWidth - backlightElemMarginStart;
|
545
|
+
} else if (mouseOffsetStart + backlightElemMarginStart < tbodyOffsetLeft + rowHeaderWidth) {
|
547
546
|
// prevent display backlight on the left side of the table
|
548
|
-
|
547
|
+
backlightStart = tbodyOffsetLeft + rowHeaderWidth + Math.abs(backlightElemMarginStart);
|
549
548
|
}
|
550
549
|
|
551
|
-
if (
|
550
|
+
if (tdOffsetStart >= hiderWidth - 1) {
|
552
551
|
// prevent display guideline outside the table
|
553
|
-
|
554
|
-
} else if (
|
552
|
+
guidelineStart = hiderWidth - 1;
|
553
|
+
} else if (guidelineStart === 0) {
|
555
554
|
// guideline has got `margin-left: -1px` as default
|
556
|
-
|
557
|
-
} else if (scrollableElement.scrollX !== void 0 && priv.
|
558
|
-
|
555
|
+
guidelineStart = 1;
|
556
|
+
} else if (scrollableElement.scrollX !== void 0 && priv.hoveredColumn < priv.fixedColumnsStart) {
|
557
|
+
guidelineStart -= priv.rootElementOffset <= scrollableElement.scrollX ? priv.rootElementOffset : 0;
|
559
558
|
}
|
560
559
|
|
561
|
-
this.backlight.setPosition(null,
|
562
|
-
this.guideline.setPosition(null,
|
560
|
+
this.backlight.setPosition(null, backlightStart);
|
561
|
+
this.guideline.setPosition(null, guidelineStart);
|
563
562
|
}
|
564
563
|
/**
|
565
564
|
* Binds the events used by the plugin.
|
@@ -605,7 +604,7 @@ export var ManualColumnMove = /*#__PURE__*/function (_BasePlugin) {
|
|
605
604
|
}, {
|
606
605
|
key: "onBeforeOnCellMouseDown",
|
607
606
|
value: function onBeforeOnCellMouseDown(event, coords, TD, controller) {
|
608
|
-
var wtTable = this.hot.view.
|
607
|
+
var wtTable = this.hot.view._wt.wtTable;
|
609
608
|
var isHeaderSelection = this.hot.selection.isSelectedByColumnHeader();
|
610
609
|
var selection = this.hot.getSelectedRangeLast();
|
611
610
|
var priv = privatePool.get(this); // This block action shouldn't be handled below.
|
@@ -636,24 +635,25 @@ export var ManualColumnMove = /*#__PURE__*/function (_BasePlugin) {
|
|
636
635
|
controller.column = true;
|
637
636
|
priv.pressed = true;
|
638
637
|
priv.target.eventPageX = event.pageX;
|
639
|
-
priv.
|
638
|
+
priv.target.eventOffsetX = event.offsetX;
|
639
|
+
priv.hoveredColumn = coords.col;
|
640
640
|
priv.target.TD = TD;
|
641
641
|
priv.target.col = coords.col;
|
642
642
|
priv.columnsToMove = this.prepareColumnsToMoving(start, end);
|
643
643
|
priv.hasRowHeaders = !!this.hot.getSettings().rowHeaders;
|
644
644
|
priv.countCols = this.hot.countCols();
|
645
|
-
priv.
|
645
|
+
priv.fixedColumnsStart = this.hot.getSettings().fixedColumnsStart;
|
646
646
|
priv.rootElementOffset = offset(this.hot.rootElement).left;
|
647
647
|
var countColumnsFrom = priv.hasRowHeaders ? -1 : 0;
|
648
648
|
var topPos = wtTable.holder.scrollTop + wtTable.getColumnHeaderHeight(0) + 1;
|
649
|
-
var
|
650
|
-
var
|
651
|
-
var
|
652
|
-
var
|
653
|
-
var
|
654
|
-
this.backlight.setPosition(topPos,
|
649
|
+
var fixedColumnsStart = coords.col < priv.fixedColumnsStart;
|
650
|
+
var horizontalScrollPosition = Math.abs(this.hot.view._wt.wtOverlays.inlineStartOverlay.getScrollPosition());
|
651
|
+
var offsetX = Math.abs(event.offsetX - (this.hot.isRtl() ? event.target.offsetWidth : 0));
|
652
|
+
var inlineOffset = this.getColumnsWidth(start, coords.col - 1) + offsetX;
|
653
|
+
var inlinePos = this.getColumnsWidth(countColumnsFrom, start - 1) + (fixedColumnsStart ? horizontalScrollPosition : 0) + inlineOffset;
|
654
|
+
this.backlight.setPosition(topPos, inlinePos);
|
655
655
|
this.backlight.setSize(this.getColumnsWidth(start, end), wtTable.hider.offsetHeight - topPos);
|
656
|
-
this.backlight.setOffset(null,
|
656
|
+
this.backlight.setOffset(null, -inlineOffset);
|
657
657
|
addClass(this.hot.rootElement, CSS_ON_MOVING);
|
658
658
|
} else {
|
659
659
|
removeClass(this.hot.rootElement, CSS_AFTER_SELECTION);
|
@@ -719,7 +719,7 @@ export var ManualColumnMove = /*#__PURE__*/function (_BasePlugin) {
|
|
719
719
|
controller.row = true;
|
720
720
|
controller.column = true;
|
721
721
|
controller.cell = true;
|
722
|
-
priv.
|
722
|
+
priv.hoveredColumn = coords.col;
|
723
723
|
priv.target.TD = TD;
|
724
724
|
}
|
725
725
|
/**
|
@@ -734,7 +734,7 @@ export var ManualColumnMove = /*#__PURE__*/function (_BasePlugin) {
|
|
734
734
|
var priv = privatePool.get(this);
|
735
735
|
var target = priv.target.col;
|
736
736
|
var columnsLen = priv.columnsToMove.length;
|
737
|
-
priv.
|
737
|
+
priv.hoveredColumn = void 0;
|
738
738
|
priv.pressed = false;
|
739
739
|
priv.backlightWidth = 0;
|
740
740
|
removeClass(this.hot.rootElement, [CSS_ON_MOVING, CSS_SHOW_UI, CSS_AFTER_SELECTION]);
|
@@ -770,7 +770,7 @@ export var ManualColumnMove = /*#__PURE__*/function (_BasePlugin) {
|
|
770
770
|
}, {
|
771
771
|
key: "onAfterScrollVertically",
|
772
772
|
value: function onAfterScrollVertically() {
|
773
|
-
var wtTable = this.hot.view.
|
773
|
+
var wtTable = this.hot.view._wt.wtTable;
|
774
774
|
var headerHeight = wtTable.getColumnHeaderHeight(0) + 1;
|
775
775
|
var scrollTop = wtTable.holder.scrollTop;
|
776
776
|
var posTop = headerHeight + scrollTop;
|