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
@@ -1,22 +1,56 @@
|
|
1
|
+
import "core-js/modules/es.number.is-integer.js";
|
2
|
+
import "core-js/modules/es.number.constructor.js";
|
3
|
+
|
1
4
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
2
5
|
|
3
6
|
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); } }
|
4
7
|
|
5
8
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
6
9
|
|
7
|
-
|
10
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
11
|
+
|
12
|
+
import { innerHeight, innerWidth, getScrollLeft, getScrollTop, offset } from "../../../helpers/dom/element.mjs";
|
8
13
|
/**
|
9
14
|
* @class Scroll
|
10
15
|
*/
|
11
16
|
|
12
17
|
var Scroll = /*#__PURE__*/function () {
|
13
18
|
/**
|
14
|
-
*
|
19
|
+
* The data access object.
|
20
|
+
*
|
21
|
+
* @protected
|
22
|
+
* @type {ScrollDao}
|
23
|
+
*/
|
24
|
+
|
25
|
+
/**
|
26
|
+
* Holds the last column reached by the scroll, which determines the scroll snapping direction
|
27
|
+
* (left or right) for a next horizontal scroll.
|
28
|
+
*
|
29
|
+
* @protected
|
30
|
+
* @type {number}
|
31
|
+
*/
|
32
|
+
|
33
|
+
/**
|
34
|
+
* Holds the last row reached by the scroll, which determines the scroll snapping direction
|
35
|
+
* (top or bottom) for a next vertical scroll.
|
36
|
+
*
|
37
|
+
* @protected
|
38
|
+
* @type {number}
|
15
39
|
*/
|
16
|
-
|
40
|
+
|
41
|
+
/**
|
42
|
+
* @param {ScrollDao} dataAccessObject Tha data access object.
|
43
|
+
*/
|
44
|
+
function Scroll(dataAccessObject) {
|
17
45
|
_classCallCheck(this, Scroll);
|
18
46
|
|
19
|
-
this
|
47
|
+
_defineProperty(this, "dataAccessObject", void 0);
|
48
|
+
|
49
|
+
_defineProperty(this, "lastScrolledColumnPos", -1);
|
50
|
+
|
51
|
+
_defineProperty(this, "lastScrolledRowPos", -1);
|
52
|
+
|
53
|
+
this.dataAccessObject = dataAccessObject;
|
20
54
|
}
|
21
55
|
/**
|
22
56
|
* Scrolls viewport to a cell.
|
@@ -33,10 +67,6 @@ var Scroll = /*#__PURE__*/function () {
|
|
33
67
|
_createClass(Scroll, [{
|
34
68
|
key: "scrollViewport",
|
35
69
|
value: function scrollViewport(coords, snapToTop, snapToRight, snapToBottom, snapToLeft) {
|
36
|
-
if (coords.col < 0 || coords.row < 0) {
|
37
|
-
return false;
|
38
|
-
}
|
39
|
-
|
40
70
|
var scrolledHorizontally = this.scrollViewportHorizontally(coords.col, snapToRight, snapToLeft);
|
41
71
|
var scrolledVertically = this.scrollViewportVertically(coords.row, snapToTop, snapToBottom);
|
42
72
|
return scrolledHorizontally || scrolledVertically;
|
@@ -53,26 +83,39 @@ var Scroll = /*#__PURE__*/function () {
|
|
53
83
|
}, {
|
54
84
|
key: "scrollViewportHorizontally",
|
55
85
|
value: function scrollViewportHorizontally(column, snapToRight, snapToLeft) {
|
56
|
-
|
86
|
+
var _this$dataAccessObjec = this.dataAccessObject,
|
87
|
+
drawn = _this$dataAccessObjec.drawn,
|
88
|
+
totalColumns = _this$dataAccessObjec.totalColumns; // do not scroll the viewport when the column points to a range outside of the dataset
|
89
|
+
|
90
|
+
if (!drawn || !Number.isInteger(column) || column < 0 || column > totalColumns) {
|
57
91
|
return false;
|
58
92
|
}
|
59
93
|
|
60
|
-
var
|
61
|
-
|
62
|
-
|
63
|
-
|
94
|
+
var firstVisibleColumn = this.getFirstVisibleColumn();
|
95
|
+
var lastVisibleColumn = this.getLastVisibleColumn();
|
96
|
+
var autoSnapping = snapToRight === void 0 && snapToLeft === void 0;
|
97
|
+
var _this$dataAccessObjec2 = this.dataAccessObject,
|
98
|
+
fixedColumnsStart = _this$dataAccessObjec2.fixedColumnsStart,
|
99
|
+
inlineStartOverlay = _this$dataAccessObjec2.inlineStartOverlay; // for auto-snapping (both snap* arguments are undefined) do not scroll the viewport
|
100
|
+
// when the columns points to the overlays
|
64
101
|
|
65
|
-
|
102
|
+
if (autoSnapping && column < fixedColumnsStart) {
|
103
|
+
return false;
|
104
|
+
}
|
66
105
|
|
67
|
-
if
|
68
|
-
|
69
|
-
var lastVisibleColumn = this.getLastVisibleColumn();
|
106
|
+
var result = false; // if there is no fully visible columns use the supporting variable (lastScrolledColumnPos) to
|
107
|
+
// determine the snapping direction (left or right)
|
70
108
|
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
109
|
+
if (firstVisibleColumn === -1) {
|
110
|
+
result = inlineStartOverlay.scrollTo(column, autoSnapping ? column > this.lastScrolledColumnPos : snapToRight);
|
111
|
+
} else if (autoSnapping && (column < firstVisibleColumn || column > lastVisibleColumn) || !autoSnapping) {
|
112
|
+
// if there is at least one fully visible column determine the snapping direction based on
|
113
|
+
// that columns or by snapToRight/snapToLeft flags, if provided.
|
114
|
+
result = inlineStartOverlay.scrollTo(column, autoSnapping ? column > lastVisibleColumn : snapToRight);
|
115
|
+
}
|
116
|
+
|
117
|
+
if (result) {
|
118
|
+
this.lastScrolledColumnPos = column;
|
76
119
|
}
|
77
120
|
|
78
121
|
return result;
|
@@ -89,27 +132,40 @@ var Scroll = /*#__PURE__*/function () {
|
|
89
132
|
}, {
|
90
133
|
key: "scrollViewportVertically",
|
91
134
|
value: function scrollViewportVertically(row, snapToTop, snapToBottom) {
|
92
|
-
|
135
|
+
var _this$dataAccessObjec3 = this.dataAccessObject,
|
136
|
+
drawn = _this$dataAccessObjec3.drawn,
|
137
|
+
totalRows = _this$dataAccessObjec3.totalRows; // do not scroll the viewport when the row points to a range outside of the dataset
|
138
|
+
|
139
|
+
if (!drawn || !Number.isInteger(row) || row < 0 || row > totalRows) {
|
93
140
|
return false;
|
94
141
|
}
|
95
142
|
|
96
|
-
var
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
143
|
+
var firstVisibleRow = this.getFirstVisibleRow();
|
144
|
+
var lastVisibleRow = this.getLastVisibleRow();
|
145
|
+
var autoSnapping = snapToTop === void 0 && snapToBottom === void 0;
|
146
|
+
var _this$dataAccessObjec4 = this.dataAccessObject,
|
147
|
+
fixedRowsBottom = _this$dataAccessObjec4.fixedRowsBottom,
|
148
|
+
fixedRowsTop = _this$dataAccessObjec4.fixedRowsTop,
|
149
|
+
topOverlay = _this$dataAccessObjec4.topOverlay; // for auto-snapping (both snap* arguments are undefined) do not scroll the viewport
|
150
|
+
// when the rows points to the overlays
|
101
151
|
|
102
|
-
|
152
|
+
if (autoSnapping && (row < fixedRowsTop || row > totalRows - fixedRowsBottom - 1)) {
|
153
|
+
return false;
|
154
|
+
}
|
103
155
|
|
104
|
-
if
|
105
|
-
|
106
|
-
var lastVisibleRow = this.getLastVisibleRow();
|
156
|
+
var result = false; // if there is no fully visible rows use the supporting variable (lastScrolledRowPos) to
|
157
|
+
// determine the snapping direction (top or bottom)
|
107
158
|
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
159
|
+
if (firstVisibleRow === -1) {
|
160
|
+
result = topOverlay.scrollTo(row, autoSnapping ? row > this.lastScrolledRowPos : snapToBottom);
|
161
|
+
} else if (autoSnapping && (row < firstVisibleRow || row > lastVisibleRow) || !autoSnapping) {
|
162
|
+
// if there is at least one fully visible row determine the snapping direction based on
|
163
|
+
// that rows or by snapToTop/snapToBottom flags, if provided.
|
164
|
+
result = topOverlay.scrollTo(row, autoSnapping ? row > lastVisibleRow : snapToBottom);
|
165
|
+
}
|
166
|
+
|
167
|
+
if (result) {
|
168
|
+
this.lastScrolledRowPos = row;
|
113
169
|
}
|
114
170
|
|
115
171
|
return result;
|
@@ -123,14 +179,13 @@ var Scroll = /*#__PURE__*/function () {
|
|
123
179
|
}, {
|
124
180
|
key: "getFirstVisibleRow",
|
125
181
|
value: function getFirstVisibleRow() {
|
126
|
-
var _this$
|
127
|
-
topOverlay = _this$
|
128
|
-
wtTable = _this$
|
129
|
-
wtViewport = _this$
|
130
|
-
totalRows = _this$
|
131
|
-
fixedRowsTop = _this$
|
132
|
-
|
133
|
-
var rootWindow = this.wot.rootWindow;
|
182
|
+
var _this$dataAccessObjec5 = this.dataAccessObject,
|
183
|
+
topOverlay = _this$dataAccessObjec5.topOverlay,
|
184
|
+
wtTable = _this$dataAccessObjec5.wtTable,
|
185
|
+
wtViewport = _this$dataAccessObjec5.wtViewport,
|
186
|
+
totalRows = _this$dataAccessObjec5.totalRows,
|
187
|
+
fixedRowsTop = _this$dataAccessObjec5.fixedRowsTop,
|
188
|
+
rootWindow = _this$dataAccessObjec5.rootWindow;
|
134
189
|
var firstVisibleRow = wtTable.getFirstVisibleRow();
|
135
190
|
|
136
191
|
if (topOverlay.mainTableScrollableElement === rootWindow) {
|
@@ -166,13 +221,12 @@ var Scroll = /*#__PURE__*/function () {
|
|
166
221
|
}, {
|
167
222
|
key: "getLastVisibleRow",
|
168
223
|
value: function getLastVisibleRow() {
|
169
|
-
var _this$
|
170
|
-
topOverlay = _this$
|
171
|
-
wtTable = _this$
|
172
|
-
wtViewport = _this$
|
173
|
-
totalRows = _this$
|
174
|
-
|
175
|
-
var rootWindow = this.wot.rootWindow;
|
224
|
+
var _this$dataAccessObjec6 = this.dataAccessObject,
|
225
|
+
topOverlay = _this$dataAccessObjec6.topOverlay,
|
226
|
+
wtTable = _this$dataAccessObjec6.wtTable,
|
227
|
+
wtViewport = _this$dataAccessObjec6.wtViewport,
|
228
|
+
totalRows = _this$dataAccessObjec6.totalRows,
|
229
|
+
rootWindow = _this$dataAccessObjec6.rootWindow;
|
176
230
|
var lastVisibleRow = wtTable.getLastVisibleRow();
|
177
231
|
|
178
232
|
if (topOverlay.mainTableScrollableElement === rootWindow) {
|
@@ -206,26 +260,25 @@ var Scroll = /*#__PURE__*/function () {
|
|
206
260
|
}, {
|
207
261
|
key: "getFirstVisibleColumn",
|
208
262
|
value: function getFirstVisibleColumn() {
|
209
|
-
var _this$
|
210
|
-
|
211
|
-
wtTable = _this$
|
212
|
-
wtViewport = _this$
|
213
|
-
totalColumns = _this$
|
214
|
-
|
215
|
-
var rootWindow = this.wot.rootWindow;
|
263
|
+
var _this$dataAccessObjec7 = this.dataAccessObject,
|
264
|
+
inlineStartOverlay = _this$dataAccessObjec7.inlineStartOverlay,
|
265
|
+
wtTable = _this$dataAccessObjec7.wtTable,
|
266
|
+
wtViewport = _this$dataAccessObjec7.wtViewport,
|
267
|
+
totalColumns = _this$dataAccessObjec7.totalColumns,
|
268
|
+
rootWindow = _this$dataAccessObjec7.rootWindow;
|
216
269
|
var firstVisibleColumn = wtTable.getFirstVisibleColumn();
|
217
270
|
|
218
|
-
if (
|
271
|
+
if (inlineStartOverlay.mainTableScrollableElement === rootWindow) {
|
219
272
|
var rootElementOffset = offset(wtTable.wtRootElement);
|
220
273
|
var totalTableWidth = innerWidth(wtTable.hider);
|
221
274
|
var windowWidth = innerWidth(rootWindow);
|
222
|
-
var windowScrollLeft = getScrollLeft(rootWindow, rootWindow); // Only calculate firstVisibleColumn when table didn't filled (from left) whole viewport space
|
275
|
+
var windowScrollLeft = Math.abs(getScrollLeft(rootWindow, rootWindow)); // Only calculate firstVisibleColumn when table didn't filled (from left) whole viewport space
|
223
276
|
|
224
277
|
if (rootElementOffset.left + totalTableWidth - windowWidth <= windowScrollLeft) {
|
225
278
|
var columnsWidth = wtViewport.getRowHeaderWidth();
|
226
279
|
|
227
280
|
for (var column = totalColumns; column > 0; column--) {
|
228
|
-
columnsWidth +=
|
281
|
+
columnsWidth += inlineStartOverlay.sumCellSizes(column - 1, column);
|
229
282
|
|
230
283
|
if (rootElementOffset.left + totalTableWidth - columnsWidth <= windowScrollLeft) {
|
231
284
|
// Return physical column + 1
|
@@ -247,25 +300,24 @@ var Scroll = /*#__PURE__*/function () {
|
|
247
300
|
}, {
|
248
301
|
key: "getLastVisibleColumn",
|
249
302
|
value: function getLastVisibleColumn() {
|
250
|
-
var _this$
|
251
|
-
|
252
|
-
wtTable = _this$
|
253
|
-
wtViewport = _this$
|
254
|
-
totalColumns = _this$
|
255
|
-
|
256
|
-
var rootWindow = this.wot.rootWindow;
|
303
|
+
var _this$dataAccessObjec8 = this.dataAccessObject,
|
304
|
+
inlineStartOverlay = _this$dataAccessObjec8.inlineStartOverlay,
|
305
|
+
wtTable = _this$dataAccessObjec8.wtTable,
|
306
|
+
wtViewport = _this$dataAccessObjec8.wtViewport,
|
307
|
+
totalColumns = _this$dataAccessObjec8.totalColumns,
|
308
|
+
rootWindow = _this$dataAccessObjec8.rootWindow;
|
257
309
|
var lastVisibleColumn = wtTable.getLastVisibleColumn();
|
258
310
|
|
259
|
-
if (
|
311
|
+
if (inlineStartOverlay.mainTableScrollableElement === rootWindow) {
|
260
312
|
var rootElementOffset = offset(wtTable.wtRootElement);
|
261
|
-
var windowScrollLeft = getScrollLeft(rootWindow, rootWindow); // Only calculate lastVisibleColumn when table didn't filled (from right) whole viewport space
|
313
|
+
var windowScrollLeft = Math.abs(getScrollLeft(rootWindow, rootWindow)); // Only calculate lastVisibleColumn when table didn't filled (from right) whole viewport space
|
262
314
|
|
263
315
|
if (rootElementOffset.left > windowScrollLeft) {
|
264
316
|
var windowWidth = innerWidth(rootWindow);
|
265
317
|
var columnsWidth = wtViewport.getRowHeaderWidth();
|
266
318
|
|
267
319
|
for (var column = 1; column <= totalColumns; column++) {
|
268
|
-
columnsWidth +=
|
320
|
+
columnsWidth += inlineStartOverlay.sumCellSizes(column - 1, column);
|
269
321
|
|
270
322
|
if (rootElementOffset.left + columnsWidth - windowScrollLeft >= windowWidth) {
|
271
323
|
// Return physical column - 1 (-2 because rangeEach gives column index + 1 - sumCellSizes requirements)
|
@@ -278,38 +330,6 @@ var Scroll = /*#__PURE__*/function () {
|
|
278
330
|
|
279
331
|
return lastVisibleColumn;
|
280
332
|
}
|
281
|
-
/**
|
282
|
-
* Returns collection of variables used to rows and columns visibility calculations.
|
283
|
-
*
|
284
|
-
* @returns {object}
|
285
|
-
* @private
|
286
|
-
*/
|
287
|
-
|
288
|
-
}, {
|
289
|
-
key: "_getVariables",
|
290
|
-
value: function _getVariables() {
|
291
|
-
var wot = this.wot;
|
292
|
-
var topOverlay = wot.wtOverlays.topOverlay;
|
293
|
-
var leftOverlay = wot.wtOverlays.leftOverlay;
|
294
|
-
var wtTable = wot.wtTable;
|
295
|
-
var wtViewport = wot.wtViewport;
|
296
|
-
var totalRows = wot.getSetting('totalRows');
|
297
|
-
var totalColumns = wot.getSetting('totalColumns');
|
298
|
-
var fixedRowsTop = wot.getSetting('fixedRowsTop');
|
299
|
-
var fixedRowsBottom = wot.getSetting('fixedRowsBottom');
|
300
|
-
var fixedColumnsLeft = wot.getSetting('fixedColumnsLeft');
|
301
|
-
return {
|
302
|
-
topOverlay: topOverlay,
|
303
|
-
leftOverlay: leftOverlay,
|
304
|
-
wtTable: wtTable,
|
305
|
-
wtViewport: wtViewport,
|
306
|
-
totalRows: totalRows,
|
307
|
-
totalColumns: totalColumns,
|
308
|
-
fixedRowsTop: fixedRowsTop,
|
309
|
-
fixedRowsBottom: fixedRowsBottom,
|
310
|
-
fixedColumnsLeft: fixedColumnsLeft
|
311
|
-
};
|
312
|
-
}
|
313
333
|
}]);
|
314
334
|
|
315
335
|
return Scroll;
|
@@ -39,10 +39,6 @@ var _element = require("./../../../helpers/dom/element");
|
|
39
39
|
|
40
40
|
var _border = _interopRequireDefault(require("./border"));
|
41
41
|
|
42
|
-
var _coords = _interopRequireDefault(require("./cell/coords"));
|
43
|
-
|
44
|
-
var _range = _interopRequireDefault(require("./cell/range"));
|
45
|
-
|
46
42
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
47
43
|
|
48
44
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
@@ -70,7 +66,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
|
|
70
66
|
*/
|
71
67
|
var Selection = /*#__PURE__*/function () {
|
72
68
|
/**
|
73
|
-
* @param {object} settings The selection settings object.
|
69
|
+
* @param {object} settings The selection settings object. @todo type.
|
74
70
|
* @param {CellRange} cellRange The cell range instance.
|
75
71
|
*/
|
76
72
|
function Selection(settings, cellRange) {
|
@@ -86,7 +82,7 @@ var Selection = /*#__PURE__*/function () {
|
|
86
82
|
* Each Walkontable clone requires it's own border for every selection. This method creates and returns selection
|
87
83
|
* borders per instance.
|
88
84
|
*
|
89
|
-
* @param {
|
85
|
+
* @param {WalkontableFacade} wotInstance The Walkontable instance.
|
90
86
|
* @returns {Border}
|
91
87
|
*/
|
92
88
|
|
@@ -122,7 +118,7 @@ var Selection = /*#__PURE__*/function () {
|
|
122
118
|
key: "add",
|
123
119
|
value: function add(coords) {
|
124
120
|
if (this.isEmpty()) {
|
125
|
-
this.cellRange =
|
121
|
+
this.cellRange = this.settings.createCellRange(coords);
|
126
122
|
} else {
|
127
123
|
this.cellRange.expand(coords);
|
128
124
|
}
|
@@ -168,7 +164,7 @@ var Selection = /*#__PURE__*/function () {
|
|
168
164
|
return this;
|
169
165
|
}
|
170
166
|
/**
|
171
|
-
* Returns the top left (
|
167
|
+
* Returns the top left (or top right in RTL) and bottom right (or bottom left in RTL) selection coordinates.
|
172
168
|
*
|
173
169
|
* @returns {Array} Returns array of coordinates for example `[1, 1, 5, 5]`.
|
174
170
|
*/
|
@@ -176,14 +172,14 @@ var Selection = /*#__PURE__*/function () {
|
|
176
172
|
}, {
|
177
173
|
key: "getCorners",
|
178
174
|
value: function getCorners() {
|
179
|
-
var
|
180
|
-
var
|
181
|
-
return [
|
175
|
+
var topStart = this.cellRange.getOuterTopStartCorner();
|
176
|
+
var bottomEnd = this.cellRange.getOuterBottomEndCorner();
|
177
|
+
return [topStart.row, topStart.col, bottomEnd.row, bottomEnd.col];
|
182
178
|
}
|
183
179
|
/**
|
184
180
|
* Adds class name to cell element at given coords.
|
185
181
|
*
|
186
|
-
* @param {
|
182
|
+
* @param {WalkontableFacade} wotInstance Walkontable instance.
|
187
183
|
* @param {number} sourceRow Cell row coord.
|
188
184
|
* @param {number} sourceColumn Cell column coord.
|
189
185
|
* @param {string} className Class name.
|
@@ -196,7 +192,7 @@ var Selection = /*#__PURE__*/function () {
|
|
196
192
|
key: "addClassAtCoords",
|
197
193
|
value: function addClassAtCoords(wotInstance, sourceRow, sourceColumn, className) {
|
198
194
|
var markIntersections = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
|
199
|
-
var TD = wotInstance.wtTable.getCell(
|
195
|
+
var TD = wotInstance.wtTable.getCell(this.settings.createCellCoords(sourceRow, sourceColumn));
|
200
196
|
|
201
197
|
if (_typeof(TD) === 'object') {
|
202
198
|
var cellClassName = className;
|
@@ -252,7 +248,7 @@ var Selection = /*#__PURE__*/function () {
|
|
252
248
|
};
|
253
249
|
}
|
254
250
|
/**
|
255
|
-
* @param {
|
251
|
+
* @param {WalkontableFacade} wotInstance The Walkontable instance.
|
256
252
|
*/
|
257
253
|
|
258
254
|
}, {
|
@@ -37,15 +37,13 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
|
|
37
37
|
|
38
38
|
import { addClass, hasClass } from "./../../../helpers/dom/element.mjs";
|
39
39
|
import Border from "./border.mjs";
|
40
|
-
import CellCoords from "./cell/coords.mjs";
|
41
|
-
import CellRange from "./cell/range.mjs";
|
42
40
|
/**
|
43
41
|
* @class Selection
|
44
42
|
*/
|
45
43
|
|
46
44
|
var Selection = /*#__PURE__*/function () {
|
47
45
|
/**
|
48
|
-
* @param {object} settings The selection settings object.
|
46
|
+
* @param {object} settings The selection settings object. @todo type.
|
49
47
|
* @param {CellRange} cellRange The cell range instance.
|
50
48
|
*/
|
51
49
|
function Selection(settings, cellRange) {
|
@@ -61,7 +59,7 @@ var Selection = /*#__PURE__*/function () {
|
|
61
59
|
* Each Walkontable clone requires it's own border for every selection. This method creates and returns selection
|
62
60
|
* borders per instance.
|
63
61
|
*
|
64
|
-
* @param {
|
62
|
+
* @param {WalkontableFacade} wotInstance The Walkontable instance.
|
65
63
|
* @returns {Border}
|
66
64
|
*/
|
67
65
|
|
@@ -97,7 +95,7 @@ var Selection = /*#__PURE__*/function () {
|
|
97
95
|
key: "add",
|
98
96
|
value: function add(coords) {
|
99
97
|
if (this.isEmpty()) {
|
100
|
-
this.cellRange =
|
98
|
+
this.cellRange = this.settings.createCellRange(coords);
|
101
99
|
} else {
|
102
100
|
this.cellRange.expand(coords);
|
103
101
|
}
|
@@ -143,7 +141,7 @@ var Selection = /*#__PURE__*/function () {
|
|
143
141
|
return this;
|
144
142
|
}
|
145
143
|
/**
|
146
|
-
* Returns the top left (
|
144
|
+
* Returns the top left (or top right in RTL) and bottom right (or bottom left in RTL) selection coordinates.
|
147
145
|
*
|
148
146
|
* @returns {Array} Returns array of coordinates for example `[1, 1, 5, 5]`.
|
149
147
|
*/
|
@@ -151,14 +149,14 @@ var Selection = /*#__PURE__*/function () {
|
|
151
149
|
}, {
|
152
150
|
key: "getCorners",
|
153
151
|
value: function getCorners() {
|
154
|
-
var
|
155
|
-
var
|
156
|
-
return [
|
152
|
+
var topStart = this.cellRange.getOuterTopStartCorner();
|
153
|
+
var bottomEnd = this.cellRange.getOuterBottomEndCorner();
|
154
|
+
return [topStart.row, topStart.col, bottomEnd.row, bottomEnd.col];
|
157
155
|
}
|
158
156
|
/**
|
159
157
|
* Adds class name to cell element at given coords.
|
160
158
|
*
|
161
|
-
* @param {
|
159
|
+
* @param {WalkontableFacade} wotInstance Walkontable instance.
|
162
160
|
* @param {number} sourceRow Cell row coord.
|
163
161
|
* @param {number} sourceColumn Cell column coord.
|
164
162
|
* @param {string} className Class name.
|
@@ -171,7 +169,7 @@ var Selection = /*#__PURE__*/function () {
|
|
171
169
|
key: "addClassAtCoords",
|
172
170
|
value: function addClassAtCoords(wotInstance, sourceRow, sourceColumn, className) {
|
173
171
|
var markIntersections = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
|
174
|
-
var TD = wotInstance.wtTable.getCell(
|
172
|
+
var TD = wotInstance.wtTable.getCell(this.settings.createCellCoords(sourceRow, sourceColumn));
|
175
173
|
|
176
174
|
if (_typeof(TD) === 'object') {
|
177
175
|
var cellClassName = className;
|
@@ -227,7 +225,7 @@ var Selection = /*#__PURE__*/function () {
|
|
227
225
|
};
|
228
226
|
}
|
229
227
|
/**
|
230
|
-
* @param {
|
228
|
+
* @param {WalkontableFacade} wotInstance The Walkontable instance.
|
231
229
|
*/
|
232
230
|
|
233
231
|
}, {
|