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
package/tableView.mjs
CHANGED
@@ -6,12 +6,6 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
|
|
6
6
|
|
7
7
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
8
8
|
|
9
|
-
function _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }
|
10
|
-
|
11
|
-
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; } }
|
12
|
-
|
13
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
14
|
-
|
15
9
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
16
10
|
|
17
11
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
@@ -44,12 +38,10 @@ import "core-js/modules/es.array.from.js";
|
|
44
38
|
import "core-js/modules/es.array.slice.js";
|
45
39
|
import "core-js/modules/es.function.name.js";
|
46
40
|
import "core-js/modules/es.regexp.exec.js";
|
47
|
-
import "core-js/modules/es.object.set-prototype-of.js";
|
48
|
-
import "core-js/modules/es.reflect.construct.js";
|
49
41
|
import { addClass, clearTextSelection, empty, fastInnerHTML, fastInnerText, getScrollbarWidth, hasClass, isChildOf, isInput, isOutsideInput } from "./helpers/dom/element.mjs";
|
50
42
|
import EventManager from "./eventManager.mjs";
|
51
43
|
import { isImmediatePropagationStopped, isRightClick, isLeftClick } from "./helpers/dom/event.mjs";
|
52
|
-
import Walkontable
|
44
|
+
import Walkontable from "./3rdparty/walkontable/src/index.mjs";
|
53
45
|
import { handleMouseEvent } from "./selection/mouseEventHandler.mjs";
|
54
46
|
import { isRootInstance } from "./utils/rootInstance.mjs";
|
55
47
|
var privatePool = new WeakMap();
|
@@ -91,6 +83,7 @@ var TableView = /*#__PURE__*/function () {
|
|
91
83
|
/**
|
92
84
|
* Main <THEAD> element.
|
93
85
|
*
|
86
|
+
* @private
|
94
87
|
* @type {HTMLTableSectionElement}
|
95
88
|
*/
|
96
89
|
|
@@ -98,6 +91,7 @@ var TableView = /*#__PURE__*/function () {
|
|
98
91
|
/**
|
99
92
|
* Main <TBODY> element.
|
100
93
|
*
|
94
|
+
* @private
|
101
95
|
* @type {HTMLTableSectionElement}
|
102
96
|
*/
|
103
97
|
|
@@ -105,10 +99,11 @@ var TableView = /*#__PURE__*/function () {
|
|
105
99
|
/**
|
106
100
|
* Main Walkontable instance.
|
107
101
|
*
|
102
|
+
* @private
|
108
103
|
* @type {Walkontable}
|
109
104
|
*/
|
110
105
|
|
111
|
-
this.
|
106
|
+
this._wt = void 0;
|
112
107
|
/**
|
113
108
|
* Main Walkontable instance.
|
114
109
|
*
|
@@ -184,7 +179,8 @@ var TableView = /*#__PURE__*/function () {
|
|
184
179
|
this.adjustElementsSize(true);
|
185
180
|
}
|
186
181
|
|
187
|
-
this.
|
182
|
+
this._wt.draw(!this.instance.forceFullRender);
|
183
|
+
|
188
184
|
this.instance.runHooks('afterRender', this.instance.forceFullRender);
|
189
185
|
this.instance.forceFullRender = false;
|
190
186
|
this.instance.renderCall = false;
|
@@ -204,7 +200,7 @@ var TableView = /*#__PURE__*/function () {
|
|
204
200
|
if (this.instance.isRenderSuspended()) {
|
205
201
|
this.postponedAdjustElementsSize = true;
|
206
202
|
} else {
|
207
|
-
this.
|
203
|
+
this._wt.wtOverlays.adjustElementsSize(force);
|
208
204
|
}
|
209
205
|
}
|
210
206
|
/**
|
@@ -218,7 +214,7 @@ var TableView = /*#__PURE__*/function () {
|
|
218
214
|
}, {
|
219
215
|
key: "getCellAtCoords",
|
220
216
|
value: function getCellAtCoords(coords, topmost) {
|
221
|
-
var td = this.
|
217
|
+
var td = this._wt.getCell(coords, topmost);
|
222
218
|
|
223
219
|
if (td < 0) {
|
224
220
|
// there was an exit code (cell is out of bounds)
|
@@ -241,7 +237,7 @@ var TableView = /*#__PURE__*/function () {
|
|
241
237
|
}, {
|
242
238
|
key: "scrollViewport",
|
243
239
|
value: function scrollViewport(coords, snapToTop, snapToRight, snapToBottom, snapToLeft) {
|
244
|
-
return this.
|
240
|
+
return this._wt.scrollViewport(coords, snapToTop, snapToRight, snapToBottom, snapToLeft);
|
245
241
|
}
|
246
242
|
/**
|
247
243
|
* Scroll viewport to a column.
|
@@ -255,7 +251,7 @@ var TableView = /*#__PURE__*/function () {
|
|
255
251
|
}, {
|
256
252
|
key: "scrollViewportHorizontally",
|
257
253
|
value: function scrollViewportHorizontally(column, snapToRight, snapToLeft) {
|
258
|
-
return this.
|
254
|
+
return this._wt.scrollViewportHorizontally(column, snapToRight, snapToLeft);
|
259
255
|
}
|
260
256
|
/**
|
261
257
|
* Scroll viewport to a row.
|
@@ -269,7 +265,7 @@ var TableView = /*#__PURE__*/function () {
|
|
269
265
|
}, {
|
270
266
|
key: "scrollViewportVertically",
|
271
267
|
value: function scrollViewportVertically(row, snapToTop, snapToBottom) {
|
272
|
-
return this.
|
268
|
+
return this._wt.scrollViewportVertically(row, snapToTop, snapToBottom);
|
273
269
|
}
|
274
270
|
/**
|
275
271
|
* Prepares DOMElements and adds correct className to the root element.
|
@@ -337,7 +333,7 @@ var TableView = /*#__PURE__*/function () {
|
|
337
333
|
});
|
338
334
|
this.eventManager.addEventListener(rootElement, 'mousemove', function (event) {
|
339
335
|
if (priv.selectionMouseDown && !_this.isTextSelectionAllowed(event.target)) {
|
340
|
-
// Clear selection only when fragmentSelection is enabled, otherwise clearing selection
|
336
|
+
// Clear selection only when fragmentSelection is enabled, otherwise clearing selection breaks the IME editor.
|
341
337
|
if (_this.settings.fragmentSelection) {
|
342
338
|
clearTextSelection(_this.instance.rootWindow);
|
343
339
|
}
|
@@ -346,6 +342,7 @@ var TableView = /*#__PURE__*/function () {
|
|
346
342
|
}
|
347
343
|
});
|
348
344
|
this.eventManager.addEventListener(documentElement, 'keyup', function (event) {
|
345
|
+
// TODO: is it the best place and way to finish cell selection?
|
349
346
|
if (selection.isInProgress() && !event.shiftKey) {
|
350
347
|
selection.finish();
|
351
348
|
}
|
@@ -386,7 +383,7 @@ var TableView = /*#__PURE__*/function () {
|
|
386
383
|
} // immediate click on "holder" means click on the right side of vertical scrollbar
|
387
384
|
|
388
385
|
|
389
|
-
var holder = _this.instance.view.
|
386
|
+
var holder = _this.instance.view._wt.wtTable.holder;
|
390
387
|
|
391
388
|
if (next === holder) {
|
392
389
|
var scrollbarWidth = getScrollbarWidth(rootDocument);
|
@@ -443,10 +440,12 @@ var TableView = /*#__PURE__*/function () {
|
|
443
440
|
}, {
|
444
441
|
key: "translateFromRenderableToVisualCoords",
|
445
442
|
value: function translateFromRenderableToVisualCoords(_ref) {
|
443
|
+
var _this$instance3;
|
444
|
+
|
446
445
|
var row = _ref.row,
|
447
446
|
col = _ref.col;
|
448
447
|
// TODO: To consider an idea to reusing the CellCoords instance instead creating new one.
|
449
|
-
return
|
448
|
+
return (_this$instance3 = this.instance)._createCellCoords.apply(_this$instance3, _toConsumableArray(this.translateFromRenderableToVisualIndex(row, col)));
|
450
449
|
}
|
451
450
|
/**
|
452
451
|
* Translate renderable row and column indexes to visual row and column indexes.
|
@@ -489,7 +488,7 @@ var TableView = /*#__PURE__*/function () {
|
|
489
488
|
value: function countRenderableIndexes(indexMapper, maxElements) {
|
490
489
|
var consideredElements = Math.min(indexMapper.getNotTrimmedIndexesLength(), maxElements); // Don't take hidden indexes into account. We are looking just for renderable indexes.
|
491
490
|
|
492
|
-
var firstNotHiddenIndex = indexMapper.
|
491
|
+
var firstNotHiddenIndex = indexMapper.getNearestNotHiddenIndex(consideredElements - 1, -1); // There are no renderable indexes.
|
493
492
|
|
494
493
|
if (firstNotHiddenIndex === null) {
|
495
494
|
return 0;
|
@@ -565,7 +564,7 @@ var TableView = /*#__PURE__*/function () {
|
|
565
564
|
return 0;
|
566
565
|
}
|
567
566
|
|
568
|
-
var firstVisibleIndex = indexMapper.
|
567
|
+
var firstVisibleIndex = indexMapper.getNearestNotHiddenIndex(visualIndex, incrementBy);
|
569
568
|
var renderableIndex = indexMapper.getRenderableFromVisualIndex(firstVisibleIndex);
|
570
569
|
|
571
570
|
if (!Number.isInteger(renderableIndex)) {
|
@@ -584,7 +583,63 @@ var TableView = /*#__PURE__*/function () {
|
|
584
583
|
return notHiddenIndexes;
|
585
584
|
}
|
586
585
|
/**
|
587
|
-
*
|
586
|
+
* The function returns the number of not hidden column indexes that fit between the first and
|
587
|
+
* last fixed column in the left (or right in RTL mode) overlay.
|
588
|
+
*
|
589
|
+
* @returns {number}
|
590
|
+
*/
|
591
|
+
|
592
|
+
}, {
|
593
|
+
key: "countNotHiddenFixedColumnsStart",
|
594
|
+
value: function countNotHiddenFixedColumnsStart() {
|
595
|
+
var countCols = this.instance.countCols();
|
596
|
+
var visualFixedColumnsStart = Math.min(parseInt(this.settings.fixedColumnsStart, 10), countCols) - 1;
|
597
|
+
return this.countNotHiddenColumnIndexes(visualFixedColumnsStart, -1);
|
598
|
+
}
|
599
|
+
/**
|
600
|
+
* The function returns the number of not hidden row indexes that fit between the first and
|
601
|
+
* last fixed row in the top overlay.
|
602
|
+
*
|
603
|
+
* @returns {number}
|
604
|
+
*/
|
605
|
+
|
606
|
+
}, {
|
607
|
+
key: "countNotHiddenFixedRowsTop",
|
608
|
+
value: function countNotHiddenFixedRowsTop() {
|
609
|
+
var countRows = this.instance.countRows();
|
610
|
+
var visualFixedRowsTop = Math.min(parseInt(this.settings.fixedRowsTop, 10), countRows) - 1;
|
611
|
+
return this.countNotHiddenRowIndexes(visualFixedRowsTop, -1);
|
612
|
+
}
|
613
|
+
/**
|
614
|
+
* The function returns the number of not hidden row indexes that fit between the first and
|
615
|
+
* last fixed row in the bottom overlay.
|
616
|
+
*
|
617
|
+
* @returns {number}
|
618
|
+
*/
|
619
|
+
|
620
|
+
}, {
|
621
|
+
key: "countNotHiddenFixedRowsBottom",
|
622
|
+
value: function countNotHiddenFixedRowsBottom() {
|
623
|
+
var countRows = this.instance.countRows();
|
624
|
+
var visualFixedRowsBottom = Math.max(countRows - parseInt(this.settings.fixedRowsBottom, 10), 0);
|
625
|
+
return this.countNotHiddenRowIndexes(visualFixedRowsBottom, 1);
|
626
|
+
}
|
627
|
+
/**
|
628
|
+
* Checks if at least one cell than belongs to the main table is not covered by the top, left or
|
629
|
+
* bottom overlay.
|
630
|
+
*
|
631
|
+
* @returns {boolean}
|
632
|
+
*/
|
633
|
+
|
634
|
+
}, {
|
635
|
+
key: "isMainTableNotFullyCoveredByOverlays",
|
636
|
+
value: function isMainTableNotFullyCoveredByOverlays() {
|
637
|
+
var fixedAllRows = this.countNotHiddenFixedRowsTop() + this.countNotHiddenFixedRowsBottom();
|
638
|
+
var fixedAllColumns = this.countNotHiddenFixedColumnsStart();
|
639
|
+
return this.instance.countRenderedRows() > fixedAllRows && this.instance.countRenderedCols() > fixedAllColumns;
|
640
|
+
}
|
641
|
+
/**
|
642
|
+
* Defines default configuration and initializes WalkOnTable instance.
|
588
643
|
*
|
589
644
|
* @private
|
590
645
|
*/
|
@@ -596,6 +651,7 @@ var TableView = /*#__PURE__*/function () {
|
|
596
651
|
|
597
652
|
var priv = privatePool.get(this);
|
598
653
|
var walkontableConfig = {
|
654
|
+
rtlMode: this.instance.isRtl(),
|
599
655
|
externalRowCalculator: this.instance.getPlugin('autoRowSize') && this.instance.getPlugin('autoRowSize').isEnabled(),
|
600
656
|
table: priv.table,
|
601
657
|
isDataViewInstance: function isDataViewInstance() {
|
@@ -622,29 +678,20 @@ var TableView = /*#__PURE__*/function () {
|
|
622
678
|
return _this2.countRenderableColumns();
|
623
679
|
},
|
624
680
|
// Number of renderable columns for the left overlay.
|
625
|
-
|
626
|
-
|
627
|
-
|
628
|
-
var visualFixedColumnsLeft = Math.min(parseInt(_this2.settings.fixedColumnsLeft, 10), countCols) - 1;
|
629
|
-
return _this2.countNotHiddenColumnIndexes(visualFixedColumnsLeft, -1);
|
681
|
+
fixedColumnsStart: function fixedColumnsStart() {
|
682
|
+
return _this2.countNotHiddenFixedColumnsStart();
|
630
683
|
},
|
631
684
|
// Number of renderable rows for the top overlay.
|
632
685
|
fixedRowsTop: function fixedRowsTop() {
|
633
|
-
|
634
|
-
|
635
|
-
var visualFixedRowsTop = Math.min(parseInt(_this2.settings.fixedRowsTop, 10), countRows) - 1;
|
636
|
-
return _this2.countNotHiddenRowIndexes(visualFixedRowsTop, -1);
|
686
|
+
return _this2.countNotHiddenFixedRowsTop();
|
637
687
|
},
|
638
688
|
// Number of renderable rows for the bottom overlay.
|
639
689
|
fixedRowsBottom: function fixedRowsBottom() {
|
640
|
-
|
641
|
-
|
642
|
-
var visualFixedRowsBottom = Math.max(countRows - parseInt(_this2.settings.fixedRowsBottom, 10), 0);
|
643
|
-
return _this2.countNotHiddenRowIndexes(visualFixedRowsBottom, 1);
|
690
|
+
return _this2.countNotHiddenFixedRowsBottom();
|
644
691
|
},
|
645
|
-
// Enable the
|
646
|
-
|
647
|
-
return _this2.settings.
|
692
|
+
// Enable the inline start overlay when conditions are met.
|
693
|
+
shouldRenderInlineStartOverlay: function shouldRenderInlineStartOverlay() {
|
694
|
+
return _this2.settings.fixedColumnsStart > 0 || walkontableConfig.rowHeaders().length > 0;
|
648
695
|
},
|
649
696
|
// Enable the top overlay when conditions are met.
|
650
697
|
shouldRenderTopOverlay: function shouldRenderTopOverlay() {
|
@@ -694,7 +741,7 @@ var TableView = /*#__PURE__*/function () {
|
|
694
741
|
},
|
695
742
|
columnWidth: function columnWidth(renderedColumnIndex) {
|
696
743
|
var visualIndex = _this2.instance.columnIndexMapper.getVisualFromRenderableIndex(renderedColumnIndex); // It's not a bug that we can't find visual index for some handled by method indexes. The function is called also
|
697
|
-
// for not displayed indexes
|
744
|
+
// for indexes that are not displayed (indexes that are beyond the grid's boundaries), i.e. when `fixedColumnsStart` > `startCols` (wrong config?) or
|
698
745
|
// scrolling and dataset is empty (scroll should handle that?).
|
699
746
|
|
700
747
|
|
@@ -774,12 +821,15 @@ var TableView = /*#__PURE__*/function () {
|
|
774
821
|
handleMouseEvent(event, {
|
775
822
|
coords: visualCoords,
|
776
823
|
selection: _this2.instance.selection,
|
777
|
-
controller: controller
|
824
|
+
controller: controller,
|
825
|
+
cellCoordsFactory: function cellCoordsFactory(row, column) {
|
826
|
+
return _this2.instance._createCellCoords(row, column);
|
827
|
+
}
|
778
828
|
});
|
779
829
|
|
780
830
|
_this2.instance.runHooks('afterOnCellMouseDown', event, visualCoords, TD);
|
781
831
|
|
782
|
-
_this2.activeWt = _this2.
|
832
|
+
_this2.activeWt = _this2._wt;
|
783
833
|
},
|
784
834
|
onCellContextMenu: function onCellContextMenu(event, coords, TD, wt) {
|
785
835
|
var visualCoords = _this2.translateFromRenderableToVisualCoords(coords);
|
@@ -799,7 +849,7 @@ var TableView = /*#__PURE__*/function () {
|
|
799
849
|
|
800
850
|
_this2.instance.runHooks('afterOnCellContextMenu', event, visualCoords, TD);
|
801
851
|
|
802
|
-
_this2.activeWt = _this2.
|
852
|
+
_this2.activeWt = _this2._wt;
|
803
853
|
},
|
804
854
|
onCellMouseOut: function onCellMouseOut(event, coords, TD, wt) {
|
805
855
|
var visualCoords = _this2.translateFromRenderableToVisualCoords(coords);
|
@@ -814,7 +864,7 @@ var TableView = /*#__PURE__*/function () {
|
|
814
864
|
|
815
865
|
_this2.instance.runHooks('afterOnCellMouseOut', event, visualCoords, TD);
|
816
866
|
|
817
|
-
_this2.activeWt = _this2.
|
867
|
+
_this2.activeWt = _this2._wt;
|
818
868
|
},
|
819
869
|
onCellMouseOver: function onCellMouseOver(event, coords, TD, wt) {
|
820
870
|
var visualCoords = _this2.translateFromRenderableToVisualCoords(coords);
|
@@ -836,13 +886,16 @@ var TableView = /*#__PURE__*/function () {
|
|
836
886
|
handleMouseEvent(event, {
|
837
887
|
coords: visualCoords,
|
838
888
|
selection: _this2.instance.selection,
|
839
|
-
controller: controller
|
889
|
+
controller: controller,
|
890
|
+
cellCoordsFactory: function cellCoordsFactory(row, column) {
|
891
|
+
return _this2.instance._createCellCoords(row, column);
|
892
|
+
}
|
840
893
|
});
|
841
894
|
}
|
842
895
|
|
843
896
|
_this2.instance.runHooks('afterOnCellMouseOver', event, visualCoords, TD);
|
844
897
|
|
845
|
-
_this2.activeWt = _this2.
|
898
|
+
_this2.activeWt = _this2._wt;
|
846
899
|
},
|
847
900
|
onCellMouseUp: function onCellMouseUp(event, coords, TD, wt) {
|
848
901
|
var visualCoords = _this2.translateFromRenderableToVisualCoords(coords);
|
@@ -861,7 +914,7 @@ var TableView = /*#__PURE__*/function () {
|
|
861
914
|
|
862
915
|
_this2.instance.runHooks('afterOnCellMouseUp', event, visualCoords, TD);
|
863
916
|
|
864
|
-
_this2.activeWt = _this2.
|
917
|
+
_this2.activeWt = _this2._wt;
|
865
918
|
},
|
866
919
|
onCellCornerMouseDown: function onCellCornerMouseDown(event) {
|
867
920
|
event.preventDefault();
|
@@ -894,7 +947,7 @@ var TableView = /*#__PURE__*/function () {
|
|
894
947
|
|
895
948
|
var newVisualRow = _this2.instance.runHooks('beforeHighlightingRowHeader', visualRow, headerLevel, highlightMeta);
|
896
949
|
|
897
|
-
return rowMapper.getRenderableFromVisualIndex(rowMapper.
|
950
|
+
return rowMapper.getRenderableFromVisualIndex(rowMapper.getNearestNotHiddenIndex(newVisualRow, 1));
|
898
951
|
},
|
899
952
|
onBeforeHighlightingColumnHeader: function onBeforeHighlightingColumnHeader(renderableColumn, headerLevel, highlightMeta) {
|
900
953
|
var columnMapper = _this2.instance.columnIndexMapper;
|
@@ -902,7 +955,7 @@ var TableView = /*#__PURE__*/function () {
|
|
902
955
|
|
903
956
|
var newVisualColumn = _this2.instance.runHooks('beforeHighlightingColumnHeader', visualColumn, headerLevel, highlightMeta);
|
904
957
|
|
905
|
-
return columnMapper.getRenderableFromVisualIndex(columnMapper.
|
958
|
+
return columnMapper.getRenderableFromVisualIndex(columnMapper.getNearestNotHiddenIndex(newVisualColumn, 1));
|
906
959
|
},
|
907
960
|
onAfterDrawSelection: function onAfterDrawSelection(currentRow, currentColumn, layerLevel) {
|
908
961
|
var cornersOfSelection;
|
@@ -967,7 +1020,7 @@ var TableView = /*#__PURE__*/function () {
|
|
967
1020
|
visualColumnTo = _visualIndexes[3]; // Result of the hook is handled by the Walkontable (renderable indexes).
|
968
1021
|
|
969
1022
|
|
970
|
-
return [visualRowFrom >= 0 ? rowMapper.getRenderableFromVisualIndex(rowMapper.
|
1023
|
+
return [visualRowFrom >= 0 ? rowMapper.getRenderableFromVisualIndex(rowMapper.getNearestNotHiddenIndex(visualRowFrom, 1)) : visualRowFrom, visualColumnFrom >= 0 ? columnMapper.getRenderableFromVisualIndex(columnMapper.getNearestNotHiddenIndex(visualColumnFrom, 1)) : visualColumnFrom, visualRowTo >= 0 ? rowMapper.getRenderableFromVisualIndex(rowMapper.getNearestNotHiddenIndex(visualRowTo, -1)) : visualRowTo, visualColumnTo >= 0 ? columnMapper.getRenderableFromVisualIndex(columnMapper.getNearestNotHiddenIndex(visualColumnTo, -1)) : visualColumnTo];
|
971
1024
|
}
|
972
1025
|
},
|
973
1026
|
viewportRowCalculatorOverride: function viewportRowCalculatorOverride(calc) {
|
@@ -998,7 +1051,7 @@ var TableView = /*#__PURE__*/function () {
|
|
998
1051
|
viewportColumnCalculatorOverride: function viewportColumnCalculatorOverride(calc) {
|
999
1052
|
var viewportOffset = _this2.settings.viewportColumnRenderingOffset;
|
1000
1053
|
|
1001
|
-
if (viewportOffset === 'auto' && _this2.settings.
|
1054
|
+
if (viewportOffset === 'auto' && _this2.settings.fixedColumnsStart) {
|
1002
1055
|
viewportOffset = 10;
|
1003
1056
|
}
|
1004
1057
|
|
@@ -1032,9 +1085,9 @@ var TableView = /*#__PURE__*/function () {
|
|
1032
1085
|
}
|
1033
1086
|
};
|
1034
1087
|
this.instance.runHooks('beforeInitWalkontable', walkontableConfig);
|
1035
|
-
this.
|
1036
|
-
this.activeWt = this.
|
1037
|
-
var spreader = this.
|
1088
|
+
this._wt = new Walkontable(walkontableConfig);
|
1089
|
+
this.activeWt = this._wt;
|
1090
|
+
var spreader = this._wt.wtTable.spreader; // We have to cache width and height after Walkontable initialization.
|
1038
1091
|
|
1039
1092
|
var _this$instance$rootEl = this.instance.rootElement.getBoundingClientRect(),
|
1040
1093
|
width = _this$instance$rootEl.width,
|
@@ -1055,7 +1108,7 @@ var TableView = /*#__PURE__*/function () {
|
|
1055
1108
|
});
|
1056
1109
|
this.eventManager.addEventListener(this.instance.rootDocument.documentElement, 'click', function () {
|
1057
1110
|
if (_this2.settings.observeDOMVisibility) {
|
1058
|
-
if (_this2.
|
1111
|
+
if (_this2._wt.drawInterrupted) {
|
1059
1112
|
_this2.instance.forceFullRender = true;
|
1060
1113
|
|
1061
1114
|
_this2.render();
|
@@ -1078,7 +1131,7 @@ var TableView = /*#__PURE__*/function () {
|
|
1078
1131
|
return true;
|
1079
1132
|
}
|
1080
1133
|
|
1081
|
-
var isChildOfTableBody = isChildOf(el, this.instance.view.
|
1134
|
+
var isChildOfTableBody = isChildOf(el, this.instance.view._wt.wtTable.spreader);
|
1082
1135
|
|
1083
1136
|
if (this.settings.fragmentSelection === true && isChildOfTableBody) {
|
1084
1137
|
return true;
|
@@ -1189,9 +1242,9 @@ var TableView = /*#__PURE__*/function () {
|
|
1189
1242
|
|
1190
1243
|
this.updateCellHeader(container.querySelector('.rowHeader'), visualRowIndex, this.instance.getRowHeader);
|
1191
1244
|
} else {
|
1192
|
-
var _this$
|
1193
|
-
rootDocument = _this$
|
1194
|
-
getRowHeader = _this$
|
1245
|
+
var _this$instance4 = this.instance,
|
1246
|
+
rootDocument = _this$instance4.rootDocument,
|
1247
|
+
getRowHeader = _this$instance4.getRowHeader;
|
1195
1248
|
var div = rootDocument.createElement('div');
|
1196
1249
|
var span = rootDocument.createElement('span');
|
1197
1250
|
div.className = 'relative';
|
@@ -1249,7 +1302,9 @@ var TableView = /*#__PURE__*/function () {
|
|
1249
1302
|
key: "updateCellHeader",
|
1250
1303
|
value: function updateCellHeader(element, index, content) {
|
1251
1304
|
var renderedIndex = index;
|
1252
|
-
|
1305
|
+
|
1306
|
+
var parentOverlay = this._wt.wtOverlays.getParentOverlay(element) || this._wt; // prevent wrong calculations from SampleGenerator
|
1307
|
+
|
1253
1308
|
|
1254
1309
|
if (element.parentNode) {
|
1255
1310
|
if (hasClass(element, 'colHeader')) {
|
@@ -1268,19 +1323,20 @@ var TableView = /*#__PURE__*/function () {
|
|
1268
1323
|
}
|
1269
1324
|
}
|
1270
1325
|
/**
|
1271
|
-
* Given a element's left position relative to the viewport, returns maximum
|
1272
|
-
* edge of the viewport (before scrollbar).
|
1326
|
+
* Given a element's left (or right in RTL mode) position relative to the viewport, returns maximum
|
1327
|
+
* element width until the right (or left) edge of the viewport (before scrollbar).
|
1273
1328
|
*
|
1274
1329
|
* @private
|
1275
|
-
* @param {number}
|
1330
|
+
* @param {number} inlineOffset The left (or right in RTL mode) offset.
|
1276
1331
|
* @returns {number}
|
1277
1332
|
*/
|
1278
1333
|
|
1279
1334
|
}, {
|
1280
1335
|
key: "maximumVisibleElementWidth",
|
1281
|
-
value: function maximumVisibleElementWidth(
|
1282
|
-
var workspaceWidth = this.
|
1283
|
-
|
1336
|
+
value: function maximumVisibleElementWidth(inlineOffset) {
|
1337
|
+
var workspaceWidth = this._wt.wtViewport.getWorkspaceWidth();
|
1338
|
+
|
1339
|
+
var maxWidth = workspaceWidth - inlineOffset;
|
1284
1340
|
return maxWidth > 0 ? maxWidth : 0;
|
1285
1341
|
}
|
1286
1342
|
/**
|
@@ -1295,7 +1351,8 @@ var TableView = /*#__PURE__*/function () {
|
|
1295
1351
|
}, {
|
1296
1352
|
key: "maximumVisibleElementHeight",
|
1297
1353
|
value: function maximumVisibleElementHeight(topOffset) {
|
1298
|
-
var workspaceHeight = this.
|
1354
|
+
var workspaceHeight = this._wt.wtViewport.getWorkspaceHeight();
|
1355
|
+
|
1299
1356
|
var maxHeight = workspaceHeight - topOffset;
|
1300
1357
|
return maxHeight > 0 ? maxHeight : 0;
|
1301
1358
|
}
|
@@ -1330,19 +1387,51 @@ var TableView = /*#__PURE__*/function () {
|
|
1330
1387
|
};
|
1331
1388
|
}
|
1332
1389
|
/**
|
1333
|
-
*
|
1390
|
+
* Returns the first fully visible row in the table viewport.
|
1334
1391
|
*
|
1335
|
-
* @
|
1336
|
-
* @returns {boolean}
|
1392
|
+
* @returns {number}
|
1337
1393
|
*/
|
1338
1394
|
|
1339
1395
|
}, {
|
1340
|
-
key: "
|
1341
|
-
value: function
|
1342
|
-
return this.
|
1396
|
+
key: "getFirstFullyVisibleRow",
|
1397
|
+
value: function getFirstFullyVisibleRow() {
|
1398
|
+
return this.instance.rowIndexMapper.getVisualFromRenderableIndex(this.instance.view._wt.wtScroll.getFirstVisibleRow());
|
1343
1399
|
}
|
1344
1400
|
/**
|
1345
|
-
*
|
1401
|
+
* Returns the last fully visible row in the table viewport.
|
1402
|
+
*
|
1403
|
+
* @returns {number}
|
1404
|
+
*/
|
1405
|
+
|
1406
|
+
}, {
|
1407
|
+
key: "getLastFullyVisibleRow",
|
1408
|
+
value: function getLastFullyVisibleRow() {
|
1409
|
+
return this.instance.rowIndexMapper.getVisualFromRenderableIndex(this.instance.view._wt.wtScroll.getLastVisibleRow());
|
1410
|
+
}
|
1411
|
+
/**
|
1412
|
+
* Returns the first fully visible column in the table viewport.
|
1413
|
+
*
|
1414
|
+
* @returns {number}
|
1415
|
+
*/
|
1416
|
+
|
1417
|
+
}, {
|
1418
|
+
key: "getFirstFullyVisibleColumn",
|
1419
|
+
value: function getFirstFullyVisibleColumn() {
|
1420
|
+
return this.instance.columnIndexMapper.getVisualFromRenderableIndex(this.instance.view._wt.wtScroll.getFirstVisibleColumn());
|
1421
|
+
}
|
1422
|
+
/**
|
1423
|
+
* Returns the last fully visible column in the table viewport.
|
1424
|
+
*
|
1425
|
+
* @returns {number}
|
1426
|
+
*/
|
1427
|
+
|
1428
|
+
}, {
|
1429
|
+
key: "getLastFullyVisibleColumn",
|
1430
|
+
value: function getLastFullyVisibleColumn() {
|
1431
|
+
return this.instance.columnIndexMapper.getVisualFromRenderableIndex(this.instance.view._wt.wtScroll.getLastVisibleColumn());
|
1432
|
+
}
|
1433
|
+
/**
|
1434
|
+
* Destroys internal WalkOnTable's instance. Detaches all of the bonded listeners.
|
1346
1435
|
*
|
1347
1436
|
* @private
|
1348
1437
|
*/
|
@@ -1350,7 +1439,8 @@ var TableView = /*#__PURE__*/function () {
|
|
1350
1439
|
}, {
|
1351
1440
|
key: "destroy",
|
1352
1441
|
value: function destroy() {
|
1353
|
-
this.
|
1442
|
+
this._wt.destroy();
|
1443
|
+
|
1354
1444
|
this.eventManager.destroy();
|
1355
1445
|
}
|
1356
1446
|
}]);
|
@@ -45,7 +45,6 @@ var _currentInitialChanges = /*#__PURE__*/new WeakMap();
|
|
45
45
|
* The ChangesObserver module is an object that represents a disposable resource
|
46
46
|
* provided by the ChangesObservable module.
|
47
47
|
*
|
48
|
-
* @private
|
49
48
|
* @class ChangesObserver
|
50
49
|
*/
|
51
50
|
var ChangesObserver = /*#__PURE__*/function () {
|
@@ -29,7 +29,9 @@ export class IndexMapper {
|
|
29
29
|
getVisualFromRenderableIndex(renderableIndex: number): number;
|
30
30
|
getRenderableFromVisualIndex(visualIndex: number): number;
|
31
31
|
getFirstNotHiddenIndex(fromVisualIndex: number, incrementBy: number,
|
32
|
-
searchAlsoOtherWayAround?: boolean, indexForNextSearch?: number): number;
|
32
|
+
searchAlsoOtherWayAround?: boolean, indexForNextSearch?: number): number | null;
|
33
|
+
getNearestNotHiddenIndex(fromVisualIndex: number, searchDirection: 1|-1,
|
34
|
+
searchAlsoOtherWayAround?: boolean): number | null;
|
33
35
|
initToLength(length?: number): void;
|
34
36
|
getIndexesSequence(): number[];
|
35
37
|
setIndexesSequence(indexes: number[]): void;
|