handsontable 13.1.0-next-e1a7d2c-20230831 → 14.0.0-next-d97b156-20231027
Sign up to get free protection for your applications and to get access to all the features.
- package/3rdparty/walkontable/src/calculator/constants.js +3 -6
- package/3rdparty/walkontable/src/calculator/viewportColumns.js +1 -2
- package/3rdparty/walkontable/src/calculator/viewportRows.js +1 -2
- package/3rdparty/walkontable/src/cell/coords.d.ts +8 -1
- package/3rdparty/walkontable/src/cell/coords.js +81 -13
- package/3rdparty/walkontable/src/cell/coords.mjs +80 -11
- package/3rdparty/walkontable/src/cell/range.d.ts +9 -2
- package/3rdparty/walkontable/src/cell/range.js +39 -9
- package/3rdparty/walkontable/src/cell/range.mjs +38 -7
- package/3rdparty/walkontable/src/core/_base.js +9 -3
- package/3rdparty/walkontable/src/core/_base.mjs +9 -3
- package/3rdparty/walkontable/src/core/clone.js +2 -2
- package/3rdparty/walkontable/src/core/clone.mjs +2 -2
- package/3rdparty/walkontable/src/core/core.js +3 -2
- package/3rdparty/walkontable/src/core/core.mjs +3 -2
- package/3rdparty/walkontable/src/event.js +13 -12
- package/3rdparty/walkontable/src/event.mjs +12 -10
- package/3rdparty/walkontable/src/facade/core.js +2 -2
- package/3rdparty/walkontable/src/facade/core.mjs +2 -2
- package/3rdparty/walkontable/src/filter/column.js +1 -2
- package/3rdparty/walkontable/src/filter/row.js +1 -2
- package/3rdparty/walkontable/src/index.js +12 -4
- package/3rdparty/walkontable/src/index.mjs +2 -2
- package/3rdparty/walkontable/src/overlay/_base.js +13 -2
- package/3rdparty/walkontable/src/overlay/_base.mjs +14 -3
- package/3rdparty/walkontable/src/overlay/constants.js +7 -14
- package/3rdparty/walkontable/src/overlay/inlineStart.js +2 -6
- package/3rdparty/walkontable/src/overlay/inlineStart.mjs +2 -6
- package/3rdparty/walkontable/src/overlay/top.js +2 -6
- package/3rdparty/walkontable/src/overlay/top.mjs +2 -6
- package/3rdparty/walkontable/src/overlays.js +1 -2
- package/3rdparty/walkontable/src/renderer/cells.js +10 -0
- package/3rdparty/walkontable/src/renderer/cells.mjs +11 -1
- package/3rdparty/walkontable/src/renderer/columnHeaders.js +13 -0
- package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +14 -1
- package/3rdparty/walkontable/src/renderer/rowHeaders.js +8 -0
- package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +8 -0
- package/3rdparty/walkontable/src/renderer/rows.js +13 -0
- package/3rdparty/walkontable/src/renderer/rows.mjs +13 -0
- package/3rdparty/walkontable/src/renderer/table.js +9 -0
- package/3rdparty/walkontable/src/renderer/table.mjs +9 -0
- package/3rdparty/walkontable/src/scroll.js +3 -2
- package/3rdparty/walkontable/src/scroll.mjs +2 -0
- package/3rdparty/walkontable/src/{border.js → selection/border/border.js} +8 -14
- package/3rdparty/walkontable/src/{border.mjs → selection/border/border.mjs} +7 -12
- package/3rdparty/walkontable/src/selection/border/constants.js +15 -0
- package/3rdparty/walkontable/src/selection/border/constants.mjs +12 -0
- package/3rdparty/walkontable/src/selection/constants.js +54 -0
- package/3rdparty/walkontable/src/selection/constants.mjs +51 -0
- package/3rdparty/walkontable/src/selection/index.js +26 -0
- package/3rdparty/walkontable/src/selection/index.mjs +5 -0
- package/3rdparty/walkontable/src/selection/manager.js +274 -0
- package/3rdparty/walkontable/src/selection/manager.mjs +269 -0
- package/3rdparty/walkontable/src/selection/scanner.js +270 -0
- package/3rdparty/walkontable/src/selection/scanner.mjs +267 -0
- package/3rdparty/walkontable/src/selection/selection.js +100 -0
- package/3rdparty/walkontable/src/selection/selection.mjs +96 -0
- package/3rdparty/walkontable/src/settings.js +13 -4
- package/3rdparty/walkontable/src/settings.mjs +13 -4
- package/3rdparty/walkontable/src/table/bottom.js +1 -2
- package/3rdparty/walkontable/src/table/bottomInlineStartCorner.js +1 -2
- package/3rdparty/walkontable/src/table/inlineStart.js +1 -2
- package/3rdparty/walkontable/src/table/master.js +3 -6
- package/3rdparty/walkontable/src/table/master.mjs +2 -4
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +10 -2
- package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +9 -0
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +10 -2
- package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +9 -0
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +10 -2
- package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +9 -0
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +10 -2
- package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +9 -0
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +10 -2
- package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +9 -0
- package/3rdparty/walkontable/src/table/top.js +1 -2
- package/3rdparty/walkontable/src/table/topInlineStartCorner.js +1 -2
- package/3rdparty/walkontable/src/table.js +20 -80
- package/3rdparty/walkontable/src/table.mjs +20 -79
- package/3rdparty/walkontable/src/utils/orderView/constants.js +3 -6
- package/3rdparty/walkontable/src/viewport.js +1 -2
- package/CHANGELOG.md +51 -0
- package/base.js +3 -4
- package/base.mjs +2 -2
- package/cellTypes/autocompleteType/autocompleteType.js +3 -5
- package/cellTypes/checkboxType/checkboxType.js +3 -5
- package/cellTypes/dateType/dateType.d.ts +3 -3
- package/cellTypes/dateType/dateType.js +5 -7
- package/cellTypes/dateType/dateType.mjs +2 -2
- package/cellTypes/dropdownType/dropdownType.js +3 -5
- package/cellTypes/handsontableType/handsontableType.d.ts +3 -3
- package/cellTypes/handsontableType/handsontableType.js +5 -7
- package/cellTypes/handsontableType/handsontableType.mjs +2 -2
- package/cellTypes/index.d.ts +3 -0
- package/cellTypes/index.js +4 -0
- package/cellTypes/index.mjs +3 -1
- package/cellTypes/numericType/numericType.js +3 -5
- package/cellTypes/passwordType/passwordType.js +3 -5
- package/cellTypes/selectType/index.d.ts +1 -0
- package/cellTypes/selectType/index.js +6 -0
- package/cellTypes/selectType/index.mjs +1 -0
- package/cellTypes/selectType/selectType.d.ts +14 -0
- package/cellTypes/selectType/selectType.js +11 -0
- package/cellTypes/selectType/selectType.mjs +8 -0
- package/cellTypes/textType/textType.js +3 -5
- package/cellTypes/timeType/timeType.js +3 -5
- package/common.d.ts +1 -1
- package/core/focusCatcher/focusDetector.js +63 -0
- package/core/focusCatcher/focusDetector.mjs +59 -0
- package/core/focusCatcher/index.js +148 -0
- package/core/focusCatcher/index.mjs +144 -0
- package/core/index.js +9 -0
- package/core/index.mjs +1 -0
- package/core.d.ts +10 -5
- package/core.js +327 -359
- package/core.mjs +327 -359
- package/dataMap/dataMap.js +1 -2
- package/dataMap/dataSource.js +1 -2
- package/dataMap/metaManager/metaSchema.js +65 -0
- package/dataMap/metaManager/metaSchema.mjs +65 -0
- package/dataMap/metaManager/mods/extendMetaProperties.js +7 -1
- package/dataMap/metaManager/mods/extendMetaProperties.mjs +7 -1
- package/dataMap/replaceData.js +5 -0
- package/dataMap/replaceData.mjs +5 -0
- package/dist/handsontable.css +94 -76
- package/dist/handsontable.full.css +94 -76
- package/dist/handsontable.full.js +21236 -14104
- package/dist/handsontable.full.min.css +8 -8
- package/dist/handsontable.full.min.js +170 -152
- package/dist/handsontable.js +22016 -15254
- package/dist/handsontable.min.css +7 -7
- package/dist/handsontable.min.js +31 -23
- package/dist/languages/all.js +47 -40
- package/dist/languages/all.min.js +1 -1
- package/dist/languages/ar-AR.js +1 -2
- package/dist/languages/cs-CZ.js +1 -2
- package/dist/languages/de-CH.js +1 -2
- package/dist/languages/de-DE.js +1 -2
- package/dist/languages/en-US.js +15 -3
- package/dist/languages/en-US.min.js +1 -1
- package/dist/languages/es-MX.js +1 -2
- package/dist/languages/fr-FR.js +1 -2
- package/dist/languages/it-IT.js +1 -2
- package/dist/languages/ja-JP.js +1 -2
- package/dist/languages/ko-KR.js +1 -2
- package/dist/languages/lv-LV.js +1 -2
- package/dist/languages/nb-NO.js +1 -2
- package/dist/languages/nl-NL.js +1 -2
- package/dist/languages/pl-PL.js +15 -3
- package/dist/languages/pl-PL.min.js +1 -1
- package/dist/languages/pt-BR.js +1 -2
- package/dist/languages/ru-RU.js +1 -2
- package/dist/languages/sr-SP.js +1 -2
- package/dist/languages/zh-CN.js +1 -2
- package/dist/languages/zh-TW.js +1 -2
- package/editorManager.js +17 -91
- package/editorManager.mjs +16 -87
- package/editors/autocompleteEditor/autocompleteEditor.js +65 -11
- package/editors/autocompleteEditor/autocompleteEditor.mjs +65 -10
- package/editors/baseEditor/baseEditor.js +19 -13
- package/editors/baseEditor/baseEditor.mjs +16 -7
- package/editors/checkboxEditor/checkboxEditor.js +1 -2
- package/editors/dateEditor/dateEditor.js +27 -9
- package/editors/dateEditor/dateEditor.mjs +27 -8
- package/editors/dropdownEditor/dropdownEditor.js +1 -2
- package/editors/handsontableEditor/handsontableEditor.js +14 -7
- package/editors/handsontableEditor/handsontableEditor.mjs +14 -6
- package/editors/numericEditor/numericEditor.js +1 -2
- package/editors/passwordEditor/passwordEditor.js +1 -2
- package/editors/selectEditor/selectEditor.js +1 -2
- package/editors/textEditor/textEditor.js +20 -29
- package/editors/textEditor/textEditor.mjs +22 -30
- package/editors/timeEditor/timeEditor.js +1 -2
- package/eventManager.js +1 -2
- package/focusManager.d.ts +12 -0
- package/focusManager.js +265 -0
- package/focusManager.mjs +261 -0
- package/helpers/a11y.js +81 -0
- package/helpers/a11y.mjs +39 -0
- package/helpers/dom/element.js +224 -12
- package/helpers/dom/element.mjs +216 -10
- package/helpers/dom/event.d.ts +1 -0
- package/helpers/dom/event.js +25 -0
- package/helpers/dom/event.mjs +24 -0
- package/helpers/mixed.js +2 -2
- package/helpers/mixed.mjs +2 -2
- package/helpers/number.d.ts +1 -0
- package/helpers/number.js +18 -0
- package/helpers/number.mjs +17 -0
- package/helpers/unicode.js +1 -2
- package/i18n/constants.js +97 -160
- package/i18n/constants.mjs +17 -1
- package/i18n/languages/ar-AR.js +3 -4
- package/i18n/languages/cs-CZ.js +3 -4
- package/i18n/languages/de-CH.js +3 -4
- package/i18n/languages/de-DE.js +3 -4
- package/i18n/languages/en-US.js +17 -5
- package/i18n/languages/en-US.mjs +14 -1
- package/i18n/languages/es-MX.js +3 -4
- package/i18n/languages/fr-FR.js +3 -4
- package/i18n/languages/it-IT.js +3 -4
- package/i18n/languages/ja-JP.js +3 -4
- package/i18n/languages/ko-KR.js +3 -4
- package/i18n/languages/lv-LV.js +3 -4
- package/i18n/languages/nb-NO.js +3 -4
- package/i18n/languages/nl-NL.js +3 -4
- package/i18n/languages/pl-PL.js +17 -5
- package/i18n/languages/pl-PL.mjs +14 -1
- package/i18n/languages/pt-BR.js +3 -4
- package/i18n/languages/ru-RU.js +3 -4
- package/i18n/languages/sr-SP.js +3 -4
- package/i18n/languages/zh-CN.js +3 -4
- package/i18n/languages/zh-TW.js +3 -4
- package/i18n/registry.js +4 -6
- package/index.js +3 -4
- package/languages/all.js +47 -40
- package/languages/ar-AR.js +1 -2
- package/languages/cs-CZ.js +1 -2
- package/languages/de-CH.js +1 -2
- package/languages/de-DE.js +1 -2
- package/languages/en-US.js +15 -3
- package/languages/en-US.mjs +14 -1
- package/languages/es-MX.js +1 -2
- package/languages/fr-FR.js +1 -2
- package/languages/index.js +47 -40
- package/languages/it-IT.js +1 -2
- package/languages/ja-JP.js +1 -2
- package/languages/ko-KR.js +1 -2
- package/languages/lv-LV.js +1 -2
- package/languages/nb-NO.js +1 -2
- package/languages/nl-NL.js +1 -2
- package/languages/pl-PL.js +15 -3
- package/languages/pl-PL.mjs +14 -1
- package/languages/pt-BR.js +1 -2
- package/languages/ru-RU.js +1 -2
- package/languages/sr-SP.js +1 -2
- package/languages/zh-CN.js +1 -2
- package/languages/zh-TW.js +1 -2
- package/mixins/hooksRefRegisterer.js +1 -2
- package/mixins/localHooks.js +1 -2
- package/package.json +119 -96
- package/pluginHooks.d.ts +42 -7
- package/pluginHooks.js +301 -65
- package/pluginHooks.mjs +300 -63
- package/plugins/autoColumnSize/autoColumnSize.d.ts +2 -0
- package/plugins/autoColumnSize/autoColumnSize.js +2 -4
- package/plugins/autoRowSize/autoRowSize.d.ts +2 -0
- package/plugins/autoRowSize/autoRowSize.js +15 -10
- package/plugins/autoRowSize/autoRowSize.mjs +13 -6
- package/plugins/autofill/autofill.js +2 -4
- package/plugins/autofill/utils.js +1 -2
- package/plugins/base/base.js +1 -2
- package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +2 -4
- package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +1 -2
- package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +1 -2
- package/plugins/collapsibleColumns/collapsibleColumns.js +77 -8
- package/plugins/collapsibleColumns/collapsibleColumns.mjs +76 -5
- package/plugins/columnSorting/columnSorting.js +71 -6
- package/plugins/columnSorting/columnSorting.mjs +70 -3
- package/plugins/columnSorting/index.js +3 -1
- package/plugins/columnSorting/index.mjs +1 -1
- package/plugins/columnSorting/sortFunction/checkbox.js +1 -2
- package/plugins/columnSorting/sortFunction/date.js +1 -2
- package/plugins/columnSorting/sortFunction/default.js +1 -2
- package/plugins/columnSorting/sortFunction/numeric.js +1 -2
- package/plugins/columnSorting/sortService/engine.js +3 -6
- package/plugins/columnSorting/utils.js +3 -6
- package/plugins/columnSummary/columnSummary.js +2 -4
- package/plugins/columnSummary/endpoints.js +1 -2
- package/plugins/comments/commentEditor.js +2 -2
- package/plugins/comments/commentEditor.mjs +1 -0
- package/plugins/comments/comments.js +254 -197
- package/plugins/comments/comments.mjs +251 -190
- package/plugins/comments/contextMenuItem/addEditComment.js +41 -0
- package/plugins/comments/contextMenuItem/addEditComment.mjs +35 -0
- package/plugins/comments/contextMenuItem/readOnlyComment.js +49 -0
- package/plugins/comments/contextMenuItem/readOnlyComment.mjs +43 -0
- package/plugins/comments/contextMenuItem/removeComment.js +38 -0
- package/plugins/comments/contextMenuItem/removeComment.mjs +32 -0
- package/plugins/comments/displaySwitch.js +1 -2
- package/plugins/contextMenu/commandExecutor.js +2 -3
- package/plugins/contextMenu/commandExecutor.mjs +2 -3
- package/plugins/contextMenu/contextMenu.d.ts +1 -1
- package/plugins/contextMenu/contextMenu.js +77 -40
- package/plugins/contextMenu/contextMenu.mjs +74 -35
- package/plugins/contextMenu/itemsFactory.js +2 -3
- package/plugins/contextMenu/itemsFactory.mjs +3 -4
- package/plugins/contextMenu/{cursor.mjs → menu/cursor.js} +6 -4
- package/plugins/contextMenu/{cursor.js → menu/cursor.mjs} +4 -10
- package/plugins/contextMenu/menu/defaultShortcutsList.js +88 -0
- package/plugins/contextMenu/menu/defaultShortcutsList.mjs +84 -0
- package/plugins/contextMenu/menu/index.js +9 -0
- package/plugins/contextMenu/menu/index.mjs +1 -0
- package/plugins/contextMenu/{menu.js → menu/menu.js} +145 -421
- package/plugins/contextMenu/{menu.mjs → menu/menu.mjs} +146 -422
- package/plugins/contextMenu/menu/menuItemRenderer.js +70 -0
- package/plugins/contextMenu/menu/menuItemRenderer.mjs +66 -0
- package/plugins/contextMenu/menu/navigator.js +27 -0
- package/plugins/contextMenu/menu/navigator.mjs +23 -0
- package/plugins/contextMenu/menu/positioner.js +213 -0
- package/plugins/contextMenu/menu/positioner.mjs +209 -0
- package/plugins/contextMenu/menu/shortcuts.js +114 -0
- package/plugins/contextMenu/menu/shortcuts.mjs +110 -0
- package/plugins/contextMenu/menu/utils.js +177 -0
- package/plugins/contextMenu/menu/utils.mjs +163 -0
- package/plugins/contextMenu/predefinedItems/alignment.js +10 -4
- package/plugins/contextMenu/predefinedItems/alignment.mjs +7 -0
- package/plugins/contextMenu/predefinedItems/clearColumn.js +8 -7
- package/plugins/contextMenu/predefinedItems/clearColumn.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/columnLeft.js +8 -7
- package/plugins/contextMenu/predefinedItems/columnLeft.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/columnRight.js +8 -7
- package/plugins/contextMenu/predefinedItems/columnRight.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/index.js +75 -0
- package/plugins/contextMenu/predefinedItems/index.mjs +68 -0
- package/plugins/contextMenu/predefinedItems/noItems.js +1 -2
- package/plugins/contextMenu/predefinedItems/readOnly.js +10 -4
- package/plugins/contextMenu/predefinedItems/readOnly.mjs +7 -0
- package/plugins/contextMenu/predefinedItems/redo.js +3 -4
- package/plugins/contextMenu/predefinedItems/removeColumn.js +10 -9
- package/plugins/contextMenu/predefinedItems/removeColumn.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/removeRow.js +10 -9
- package/plugins/contextMenu/predefinedItems/removeRow.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/rowAbove.js +8 -7
- package/plugins/contextMenu/predefinedItems/rowAbove.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/rowBelow.js +8 -7
- package/plugins/contextMenu/predefinedItems/rowBelow.mjs +5 -3
- package/plugins/contextMenu/predefinedItems/separator.js +1 -2
- package/plugins/contextMenu/predefinedItems/undo.js +3 -4
- package/plugins/contextMenu/utils.js +35 -151
- package/plugins/contextMenu/utils.mjs +35 -144
- package/plugins/copyPaste/clipboardData/clipboardData.js +516 -0
- package/plugins/copyPaste/clipboardData/clipboardData.mjs +512 -0
- package/plugins/copyPaste/clipboardData/copyClipboardData.js +69 -0
- package/plugins/copyPaste/clipboardData/copyClipboardData.mjs +65 -0
- package/plugins/copyPaste/clipboardData/index.js +9 -0
- package/plugins/copyPaste/clipboardData/index.mjs +4 -0
- package/plugins/copyPaste/clipboardData/pasteClipboardData.js +81 -0
- package/plugins/copyPaste/clipboardData/pasteClipboardData.mjs +77 -0
- package/plugins/copyPaste/contextMenuItem/copy.js +7 -0
- package/plugins/copyPaste/contextMenuItem/copy.mjs +7 -0
- package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.js +9 -1
- package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.mjs +9 -1
- package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.js +9 -1
- package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.mjs +9 -1
- package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.js +9 -1
- package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.mjs +9 -1
- package/plugins/copyPaste/contextMenuItem/cut.js +9 -2
- package/plugins/copyPaste/contextMenuItem/cut.mjs +7 -0
- package/plugins/copyPaste/copyPaste.js +160 -167
- package/plugins/copyPaste/copyPaste.mjs +161 -166
- package/plugins/customBorders/contextMenuItem/bottom.js +2 -2
- package/plugins/customBorders/contextMenuItem/left.js +2 -2
- package/plugins/customBorders/contextMenuItem/noBorders.js +2 -2
- package/plugins/customBorders/contextMenuItem/right.js +2 -2
- package/plugins/customBorders/contextMenuItem/top.js +2 -2
- package/plugins/customBorders/customBorders.js +27 -26
- package/plugins/customBorders/customBorders.mjs +24 -21
- package/plugins/dragToScroll/dragToScroll.js +2 -4
- package/plugins/dropdownMenu/dropdownMenu.d.ts +1 -1
- package/plugins/dropdownMenu/dropdownMenu.js +130 -44
- package/plugins/dropdownMenu/dropdownMenu.mjs +127 -39
- package/plugins/exportFile/dataProvider.js +1 -2
- package/plugins/exportFile/exportFile.js +4 -6
- package/plugins/exportFile/typeFactory.js +5 -8
- package/plugins/exportFile/types/_base.js +1 -2
- package/plugins/exportFile/types/csv.js +1 -2
- package/plugins/filters/component/_base.js +23 -8
- package/plugins/filters/component/_base.mjs +23 -8
- package/plugins/filters/component/actionBar.js +31 -29
- package/plugins/filters/component/actionBar.mjs +26 -23
- package/plugins/filters/component/condition.js +48 -61
- package/plugins/filters/component/condition.mjs +40 -52
- package/plugins/filters/component/operators.js +21 -22
- package/plugins/filters/component/operators.mjs +18 -18
- package/plugins/filters/component/value.js +37 -28
- package/plugins/filters/component/value.mjs +32 -22
- package/plugins/filters/condition/beginsWith.js +3 -4
- package/plugins/filters/condition/between.js +3 -4
- package/plugins/filters/condition/byValue.js +1 -2
- package/plugins/filters/condition/contains.js +3 -4
- package/plugins/filters/condition/date/after.js +3 -4
- package/plugins/filters/condition/date/before.js +3 -4
- package/plugins/filters/condition/date/today.js +3 -4
- package/plugins/filters/condition/date/tomorrow.js +3 -4
- package/plugins/filters/condition/date/yesterday.js +3 -4
- package/plugins/filters/condition/empty.js +3 -4
- package/plugins/filters/condition/endsWith.js +3 -4
- package/plugins/filters/condition/equal.js +3 -4
- package/plugins/filters/condition/false.js +1 -2
- package/plugins/filters/condition/greaterThan.js +3 -4
- package/plugins/filters/condition/greaterThanOrEqual.js +3 -4
- package/plugins/filters/condition/lessThan.js +3 -4
- package/plugins/filters/condition/lessThanOrEqual.js +3 -4
- package/plugins/filters/condition/none.js +3 -4
- package/plugins/filters/condition/notBetween.js +3 -4
- package/plugins/filters/condition/notContains.js +3 -4
- package/plugins/filters/condition/notEmpty.js +3 -4
- package/plugins/filters/condition/notEqual.js +3 -4
- package/plugins/filters/condition/true.js +1 -2
- package/plugins/filters/conditionCollection.d.ts +3 -2
- package/plugins/filters/conditionCollection.js +1 -2
- package/plugins/filters/conditionRegisterer.js +1 -2
- package/plugins/filters/conditionUpdateObserver.js +1 -2
- package/plugins/filters/constants.js +4 -8
- package/plugins/filters/constants.mjs +1 -1
- package/plugins/filters/dataFilter.js +1 -2
- package/plugins/filters/filters.d.ts +3 -5
- package/plugins/filters/filters.js +108 -66
- package/plugins/filters/filters.mjs +99 -55
- package/plugins/filters/logicalOperationRegisterer.js +1 -2
- package/plugins/filters/logicalOperations/conjunction.js +4 -6
- package/plugins/filters/logicalOperations/disjunction.js +4 -6
- package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +4 -6
- package/plugins/filters/menu/focusController.js +123 -0
- package/plugins/filters/menu/focusController.mjs +119 -0
- package/plugins/filters/menu/focusNavigator.js +30 -0
- package/plugins/filters/menu/focusNavigator.mjs +26 -0
- package/plugins/filters/ui/_base.js +37 -15
- package/plugins/filters/ui/_base.mjs +35 -13
- package/plugins/filters/ui/input.js +43 -35
- package/plugins/filters/ui/input.mjs +42 -33
- package/plugins/filters/ui/link.js +44 -12
- package/plugins/filters/ui/link.mjs +44 -11
- package/plugins/filters/ui/multipleSelect.js +237 -133
- package/plugins/filters/ui/multipleSelect.mjs +232 -127
- package/plugins/filters/ui/radioInput.js +42 -18
- package/plugins/filters/ui/radioInput.mjs +42 -17
- package/plugins/filters/ui/select.js +152 -77
- package/plugins/filters/ui/select.mjs +148 -72
- package/plugins/formulas/engine/settings.js +2 -4
- package/plugins/formulas/formulas.js +3 -6
- package/plugins/formulas/indexSyncer/axisSyncer.js +1 -2
- package/plugins/formulas/indexSyncer/index.js +1 -2
- package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +2 -2
- package/plugins/hiddenColumns/contextMenuItem/showColumn.js +2 -2
- package/plugins/hiddenColumns/hiddenColumns.d.ts +1 -0
- package/plugins/hiddenColumns/hiddenColumns.js +49 -6
- package/plugins/hiddenColumns/hiddenColumns.mjs +48 -3
- package/plugins/hiddenRows/contextMenuItem/hideRow.js +2 -2
- package/plugins/hiddenRows/contextMenuItem/showRow.js +2 -2
- package/plugins/hiddenRows/hiddenRows.d.ts +1 -0
- package/plugins/hiddenRows/hiddenRows.js +49 -6
- package/plugins/hiddenRows/hiddenRows.mjs +48 -3
- package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +2 -2
- package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +2 -2
- package/plugins/manualColumnFreeze/manualColumnFreeze.js +2 -4
- package/plugins/manualColumnMove/manualColumnMove.js +9 -17
- package/plugins/manualColumnMove/manualColumnMove.mjs +7 -13
- package/plugins/manualColumnMove/ui/_base.js +1 -2
- package/plugins/manualColumnMove/ui/backlight.js +1 -2
- package/plugins/manualColumnMove/ui/guideline.js +1 -2
- package/plugins/manualColumnResize/manualColumnResize.js +2 -4
- package/plugins/manualRowMove/manualRowMove.js +6 -23
- package/plugins/manualRowMove/manualRowMove.mjs +4 -19
- package/plugins/manualRowMove/ui/_base.js +1 -2
- package/plugins/manualRowMove/ui/backlight.js +1 -2
- package/plugins/manualRowMove/ui/guideline.js +1 -2
- package/plugins/manualRowResize/manualRowResize.js +2 -4
- package/plugins/mergeCells/calculations/autofill.js +1 -2
- package/plugins/mergeCells/calculations/selection.js +1 -2
- package/plugins/mergeCells/cellCoords.js +1 -2
- package/plugins/mergeCells/cellsCollection.js +1 -2
- package/plugins/mergeCells/contextMenuItem/toggleMerge.js +2 -2
- package/plugins/mergeCells/mergeCells.js +7 -20
- package/plugins/mergeCells/mergeCells.mjs +5 -16
- package/plugins/multiColumnSorting/multiColumnSorting.js +60 -6
- package/plugins/multiColumnSorting/multiColumnSorting.mjs +59 -3
- package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +2 -4
- package/plugins/nestedHeaders/nestedHeaders.js +263 -36
- package/plugins/nestedHeaders/nestedHeaders.mjs +262 -33
- package/plugins/nestedHeaders/stateManager/index.js +102 -3
- package/plugins/nestedHeaders/stateManager/index.mjs +102 -3
- package/plugins/nestedHeaders/stateManager/sourceSettings.js +1 -2
- package/plugins/nestedHeaders/utils/ghostTable.js +1 -2
- package/plugins/nestedRows/data/dataManager.js +1 -2
- package/plugins/nestedRows/nestedRows.js +47 -10
- package/plugins/nestedRows/nestedRows.mjs +45 -6
- package/plugins/nestedRows/ui/_base.js +1 -2
- package/plugins/nestedRows/ui/collapsing.js +1 -2
- package/plugins/nestedRows/ui/contextMenu.js +3 -4
- package/plugins/nestedRows/ui/headers.js +13 -3
- package/plugins/nestedRows/ui/headers.mjs +13 -2
- package/plugins/persistentState/persistentState.js +2 -4
- package/plugins/persistentState/storage.js +1 -2
- package/plugins/search/search.js +2 -4
- package/plugins/touchScroll/touchScroll.js +2 -4
- package/plugins/trimRows/trimRows.js +2 -4
- package/plugins/undoRedo/index.js +2 -2
- package/plugins/undoRedo/undoRedo.js +2 -4
- package/renderers/autocompleteRenderer/autocompleteRenderer.js +9 -2
- package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +8 -0
- package/renderers/baseRenderer/baseRenderer.js +18 -2
- package/renderers/baseRenderer/baseRenderer.mjs +18 -1
- package/renderers/checkboxRenderer/checkboxRenderer.js +10 -6
- package/renderers/checkboxRenderer/checkboxRenderer.mjs +9 -4
- package/renderers/dateRenderer/dateRenderer.d.ts +5 -0
- package/renderers/dateRenderer/dateRenderer.js +28 -0
- package/renderers/dateRenderer/dateRenderer.mjs +24 -0
- package/renderers/dateRenderer/index.d.ts +1 -0
- package/renderers/dateRenderer/index.js +6 -0
- package/renderers/dateRenderer/index.mjs +1 -0
- package/renderers/handsontableRenderer/handsontableRenderer.d.ts +5 -0
- package/renderers/handsontableRenderer/handsontableRenderer.js +28 -0
- package/renderers/handsontableRenderer/handsontableRenderer.mjs +24 -0
- package/renderers/handsontableRenderer/index.d.ts +1 -0
- package/renderers/handsontableRenderer/index.js +6 -0
- package/renderers/handsontableRenderer/index.mjs +1 -0
- package/renderers/htmlRenderer/htmlRenderer.js +1 -2
- package/renderers/index.d.ts +9 -0
- package/renderers/numericRenderer/numericRenderer.js +1 -2
- package/renderers/passwordRenderer/passwordRenderer.js +1 -2
- package/renderers/selectRenderer/index.d.ts +1 -0
- package/renderers/selectRenderer/index.js +6 -0
- package/renderers/selectRenderer/index.mjs +1 -0
- package/renderers/selectRenderer/selectRenderer.d.ts +5 -0
- package/renderers/selectRenderer/selectRenderer.js +26 -0
- package/renderers/selectRenderer/selectRenderer.mjs +22 -0
- package/renderers/textRenderer/textRenderer.js +1 -2
- package/renderers/timeRenderer/timeRenderer.js +1 -2
- package/selection/highlight/highlight.js +257 -73
- package/selection/highlight/highlight.mjs +250 -71
- package/selection/highlight/types/activeHeader.js +10 -8
- package/selection/highlight/types/activeHeader.mjs +10 -8
- package/selection/highlight/types/area.js +6 -18
- package/selection/highlight/types/area.mjs +6 -18
- package/selection/highlight/types/areaLayered.js +31 -0
- package/selection/highlight/types/areaLayered.mjs +26 -0
- package/selection/highlight/types/column.js +27 -0
- package/selection/highlight/types/column.mjs +22 -0
- package/selection/highlight/types/customSelection.js +7 -9
- package/selection/highlight/types/customSelection.mjs +7 -9
- package/selection/highlight/types/fill.js +5 -7
- package/selection/highlight/types/fill.mjs +5 -7
- package/selection/highlight/types/{cell.js → focus.js} +5 -7
- package/selection/highlight/types/{cell.mjs → focus.mjs} +5 -7
- package/selection/highlight/types/header.js +9 -18
- package/selection/highlight/types/header.mjs +9 -18
- package/selection/highlight/types/row.js +27 -0
- package/selection/highlight/types/row.mjs +22 -0
- package/selection/highlight/visualSelection.js +32 -29
- package/selection/highlight/visualSelection.mjs +31 -27
- package/selection/index.js +4 -7
- package/selection/index.mjs +2 -3
- package/selection/mouseEventHandler.js +7 -1
- package/selection/mouseEventHandler.mjs +7 -1
- package/selection/range.js +9 -10
- package/selection/range.mjs +8 -8
- package/selection/selection.js +334 -154
- package/selection/selection.mjs +330 -151
- package/selection/transformation.js +233 -94
- package/selection/transformation.mjs +232 -92
- package/selection/utils.js +20 -31
- package/selection/utils.mjs +16 -21
- package/settings.d.ts +4 -0
- package/shortcutContexts/commands/editor/closeAndSave.js +11 -0
- package/shortcutContexts/commands/editor/closeAndSave.mjs +8 -0
- package/shortcutContexts/commands/editor/closeWithoutSaving.js +11 -0
- package/shortcutContexts/commands/editor/closeWithoutSaving.mjs +8 -0
- package/shortcutContexts/commands/editor/fastOpen.js +15 -0
- package/shortcutContexts/commands/editor/fastOpen.mjs +12 -0
- package/shortcutContexts/commands/editor/index.js +16 -0
- package/shortcutContexts/commands/editor/index.mjs +12 -0
- package/shortcutContexts/commands/editor/open.js +26 -0
- package/shortcutContexts/commands/editor/open.mjs +23 -0
- package/shortcutContexts/commands/emptySelectedCells.js +10 -0
- package/shortcutContexts/commands/emptySelectedCells.mjs +7 -0
- package/shortcutContexts/commands/extendCellsSelection/down.js +14 -0
- package/shortcutContexts/commands/extendCellsSelection/down.mjs +11 -0
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +24 -0
- package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +21 -0
- package/shortcutContexts/commands/extendCellsSelection/index.js +26 -0
- package/shortcutContexts/commands/extendCellsSelection/index.mjs +22 -0
- package/shortcutContexts/commands/extendCellsSelection/left.js +14 -0
- package/shortcutContexts/commands/extendCellsSelection/left.mjs +11 -0
- package/shortcutContexts/commands/extendCellsSelection/right.js +14 -0
- package/shortcutContexts/commands/extendCellsSelection/right.mjs +11 -0
- package/shortcutContexts/commands/extendCellsSelection/toColumns.js +18 -0
- package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +15 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +28 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +25 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +18 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +15 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +18 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +15 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +28 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +25 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +28 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +25 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +28 -0
- package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +25 -0
- package/shortcutContexts/commands/extendCellsSelection/toRows.js +18 -0
- package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +15 -0
- package/shortcutContexts/commands/extendCellsSelection/up.js +14 -0
- package/shortcutContexts/commands/extendCellsSelection/up.mjs +11 -0
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +24 -0
- package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +21 -0
- package/shortcutContexts/commands/index.js +35 -0
- package/shortcutContexts/commands/index.mjs +31 -0
- package/shortcutContexts/commands/moveCellSelection/down.js +12 -0
- package/shortcutContexts/commands/moveCellSelection/down.mjs +9 -0
- package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +32 -0
- package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +29 -0
- package/shortcutContexts/commands/moveCellSelection/index.js +28 -0
- package/shortcutContexts/commands/moveCellSelection/index.mjs +24 -0
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +11 -0
- package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +8 -0
- package/shortcutContexts/commands/moveCellSelection/inlineStart.js +11 -0
- package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +8 -0
- package/shortcutContexts/commands/moveCellSelection/left.js +9 -0
- package/shortcutContexts/commands/moveCellSelection/left.mjs +6 -0
- package/shortcutContexts/commands/moveCellSelection/right.js +9 -0
- package/shortcutContexts/commands/moveCellSelection/right.mjs +6 -0
- package/shortcutContexts/commands/moveCellSelection/toMostBottom.js +16 -0
- package/shortcutContexts/commands/moveCellSelection/toMostBottom.mjs +13 -0
- package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.js +17 -0
- package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.mjs +14 -0
- package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.js +13 -0
- package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.mjs +10 -0
- package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.js +16 -0
- package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.mjs +13 -0
- package/shortcutContexts/commands/moveCellSelection/toMostLeft.js +18 -0
- package/shortcutContexts/commands/moveCellSelection/toMostLeft.mjs +15 -0
- package/shortcutContexts/commands/moveCellSelection/toMostRight.js +20 -0
- package/shortcutContexts/commands/moveCellSelection/toMostRight.mjs +17 -0
- package/shortcutContexts/commands/moveCellSelection/toMostTop.js +16 -0
- package/shortcutContexts/commands/moveCellSelection/toMostTop.mjs +13 -0
- package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.js +18 -0
- package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.mjs +15 -0
- package/shortcutContexts/commands/moveCellSelection/up.js +12 -0
- package/shortcutContexts/commands/moveCellSelection/up.mjs +9 -0
- package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +32 -0
- package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +29 -0
- package/shortcutContexts/commands/populateSelectedCellsData.js +28 -0
- package/shortcutContexts/commands/populateSelectedCellsData.mjs +25 -0
- package/shortcutContexts/commands/scrollToFocusedCell.js +34 -0
- package/shortcutContexts/commands/scrollToFocusedCell.mjs +31 -0
- package/shortcutContexts/commands/selectAll.js +11 -0
- package/shortcutContexts/commands/selectAll.mjs +8 -0
- package/shortcutContexts/constants.js +11 -0
- package/shortcutContexts/constants.mjs +8 -0
- package/shortcutContexts/editor.js +25 -0
- package/shortcutContexts/editor.mjs +21 -0
- package/shortcutContexts/grid.js +167 -0
- package/shortcutContexts/grid.mjs +163 -0
- package/shortcutContexts/index.js +24 -0
- package/shortcutContexts/index.mjs +11 -0
- package/shortcuts/context.d.ts +1 -0
- package/shortcuts/context.js +23 -4
- package/shortcuts/context.mjs +23 -5
- package/shortcuts/manager.js +31 -7
- package/shortcuts/manager.mjs +32 -7
- package/shortcuts/recorder.js +30 -14
- package/shortcuts/recorder.mjs +30 -14
- package/shortcuts/utils.js +19 -5
- package/shortcuts/utils.mjs +18 -4
- package/tableView.js +113 -16
- package/tableView.mjs +113 -15
- package/utils/dataStructures/linkedList.js +1 -2
- package/utils/dataStructures/priorityMap.js +2 -4
- package/utils/dataStructures/queue.js +1 -2
- package/utils/dataStructures/stack.js +1 -2
- package/utils/dataStructures/tree.js +3 -6
- package/utils/ghostTable.js +32 -17
- package/utils/ghostTable.mjs +31 -15
- package/utils/interval.js +1 -2
- package/utils/paginator.js +151 -0
- package/utils/paginator.mjs +147 -0
- package/utils/parseTable.js +527 -83
- package/utils/parseTable.mjs +523 -82
- package/utils/rootInstance.js +2 -4
- package/utils/samplesGenerator.js +21 -13
- package/utils/samplesGenerator.mjs +20 -11
- package/utils/staticRegister.js +1 -2
- package/validators/autocompleteValidator/autocompleteValidator.js +1 -2
- package/validators/dateValidator/dateValidator.js +1 -2
- package/validators/numericValidator/numericValidator.js +1 -2
- package/validators/timeValidator/timeValidator.js +1 -2
- package/3rdparty/walkontable/src/selection.js +0 -295
- package/3rdparty/walkontable/src/selection.mjs +0 -290
- package/plugins/contextMenu/predefinedItems.js +0 -76
- package/plugins/contextMenu/predefinedItems.mjs +0 -68
- package/plugins/copyPaste/clipboardData.js +0 -18
- package/plugins/copyPaste/clipboardData.mjs +0 -14
- package/plugins/copyPaste/focusableElement.js +0 -186
- package/plugins/copyPaste/focusableElement.mjs +0 -180
- package/plugins/copyPaste/pasteEvent.js +0 -14
- package/plugins/copyPaste/pasteEvent.mjs +0 -9
- package/selection/highlight/constants.js +0 -15
- package/selection/highlight/constants.mjs +0 -6
- package/selection/highlight/types/index.js +0 -35
- package/selection/highlight/types/index.mjs +0 -31
@@ -18,15 +18,15 @@ class Event {
|
|
18
18
|
* @param {Settings} wtSettings The walkontable settings.
|
19
19
|
* @param {EventManager} eventManager The walkontable event manager.
|
20
20
|
* @param {Table} wtTable The table.
|
21
|
-
* @param {
|
21
|
+
* @param {SelectionManager} selectionManager Selections.
|
22
22
|
* @param {Event} [parent=null] The main Event instance.
|
23
23
|
*/
|
24
|
-
constructor(facadeGetter, domBindings, wtSettings, eventManager, wtTable,
|
24
|
+
constructor(facadeGetter, domBindings, wtSettings, eventManager, wtTable, selectionManager) {
|
25
25
|
let parent = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : null;
|
26
26
|
this.wtSettings = wtSettings;
|
27
27
|
this.domBindings = domBindings;
|
28
28
|
this.wtTable = wtTable;
|
29
|
-
this.
|
29
|
+
this.selectionManager = selectionManager;
|
30
30
|
this.parent = parent;
|
31
31
|
|
32
32
|
/**
|
@@ -41,7 +41,8 @@ class Event {
|
|
41
41
|
* Should be use only for passing face called external origin methods, like registered event listeners.
|
42
42
|
* It provides backward compatibility by getting instance facade.
|
43
43
|
*
|
44
|
-
* @todo Consider about removing this from Event class, because it make relationship into facade (implicit circular
|
44
|
+
* @todo Consider about removing this from Event class, because it make relationship into facade (implicit circular
|
45
|
+
* dependency).
|
45
46
|
* @todo Con. Maybe passing listener caller as an ioc from faced resolves this issue. To rethink later.
|
46
47
|
*
|
47
48
|
* @type {FacadeGetter}
|
@@ -134,11 +135,11 @@ class Event {
|
|
134
135
|
cell.coords = this.wtTable.getCoords(TD);
|
135
136
|
cell.TD = TD;
|
136
137
|
} else if ((0, _element.hasClass)(elem, 'wtBorder') && (0, _element.hasClass)(elem, 'current')) {
|
137
|
-
cell.coords = this.
|
138
|
+
cell.coords = this.selectionManager.getFocusSelection().cellRange.highlight;
|
138
139
|
cell.TD = this.wtTable.getCell(cell.coords);
|
139
140
|
} else if ((0, _element.hasClass)(elem, 'wtBorder') && (0, _element.hasClass)(elem, 'area')) {
|
140
|
-
if (this.
|
141
|
-
cell.coords = this.
|
141
|
+
if (this.selectionManager.getAreaSelection().cellRange) {
|
142
|
+
cell.coords = this.selectionManager.getAreaSelection().cellRange.to;
|
142
143
|
cell.TD = this.wtTable.getCell(cell.coords);
|
143
144
|
}
|
144
145
|
}
|
@@ -157,8 +158,9 @@ class Event {
|
|
157
158
|
const getParentNode = (0, _function.partial)(_element.getParent, event.target);
|
158
159
|
const realTarget = event.target;
|
159
160
|
|
160
|
-
// ignore focusable
|
161
|
-
|
161
|
+
// ignore non-TD focusable elements from mouse down processing
|
162
|
+
// (https://github.com/handsontable/handsontable/issues/3555)
|
163
|
+
if (!['TD', 'TH'].includes(activeElement.nodeName) && (realTarget === activeElement || getParentNode(0) === activeElement || getParentNode(1) === activeElement)) {
|
162
164
|
return;
|
163
165
|
}
|
164
166
|
const cell = this.parentCell(realTarget);
|
@@ -276,7 +278,7 @@ class Event {
|
|
276
278
|
*/
|
277
279
|
onTouchStart(event) {
|
278
280
|
const priv = privatePool.get(this);
|
279
|
-
priv.selectedCellBeforeTouchEnd = this.
|
281
|
+
priv.selectedCellBeforeTouchEnd = this.selectionManager.getFocusSelection().cellRange;
|
280
282
|
this.touchApplied = true;
|
281
283
|
this.onMouseDown(event);
|
282
284
|
}
|
@@ -344,5 +346,4 @@ class Event {
|
|
344
346
|
this.eventManager.destroy();
|
345
347
|
}
|
346
348
|
}
|
347
|
-
var _default = Event;
|
348
|
-
exports.default = _default;
|
349
|
+
var _default = exports.default = Event;
|
@@ -15,15 +15,15 @@ class Event {
|
|
15
15
|
* @param {Settings} wtSettings The walkontable settings.
|
16
16
|
* @param {EventManager} eventManager The walkontable event manager.
|
17
17
|
* @param {Table} wtTable The table.
|
18
|
-
* @param {
|
18
|
+
* @param {SelectionManager} selectionManager Selections.
|
19
19
|
* @param {Event} [parent=null] The main Event instance.
|
20
20
|
*/
|
21
|
-
constructor(facadeGetter, domBindings, wtSettings, eventManager, wtTable,
|
21
|
+
constructor(facadeGetter, domBindings, wtSettings, eventManager, wtTable, selectionManager) {
|
22
22
|
let parent = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : null;
|
23
23
|
this.wtSettings = wtSettings;
|
24
24
|
this.domBindings = domBindings;
|
25
25
|
this.wtTable = wtTable;
|
26
|
-
this.
|
26
|
+
this.selectionManager = selectionManager;
|
27
27
|
this.parent = parent;
|
28
28
|
|
29
29
|
/**
|
@@ -38,7 +38,8 @@ class Event {
|
|
38
38
|
* Should be use only for passing face called external origin methods, like registered event listeners.
|
39
39
|
* It provides backward compatibility by getting instance facade.
|
40
40
|
*
|
41
|
-
* @todo Consider about removing this from Event class, because it make relationship into facade (implicit circular
|
41
|
+
* @todo Consider about removing this from Event class, because it make relationship into facade (implicit circular
|
42
|
+
* dependency).
|
42
43
|
* @todo Con. Maybe passing listener caller as an ioc from faced resolves this issue. To rethink later.
|
43
44
|
*
|
44
45
|
* @type {FacadeGetter}
|
@@ -131,11 +132,11 @@ class Event {
|
|
131
132
|
cell.coords = this.wtTable.getCoords(TD);
|
132
133
|
cell.TD = TD;
|
133
134
|
} else if (hasClass(elem, 'wtBorder') && hasClass(elem, 'current')) {
|
134
|
-
cell.coords = this.
|
135
|
+
cell.coords = this.selectionManager.getFocusSelection().cellRange.highlight;
|
135
136
|
cell.TD = this.wtTable.getCell(cell.coords);
|
136
137
|
} else if (hasClass(elem, 'wtBorder') && hasClass(elem, 'area')) {
|
137
|
-
if (this.
|
138
|
-
cell.coords = this.
|
138
|
+
if (this.selectionManager.getAreaSelection().cellRange) {
|
139
|
+
cell.coords = this.selectionManager.getAreaSelection().cellRange.to;
|
139
140
|
cell.TD = this.wtTable.getCell(cell.coords);
|
140
141
|
}
|
141
142
|
}
|
@@ -154,8 +155,9 @@ class Event {
|
|
154
155
|
const getParentNode = partial(getParent, event.target);
|
155
156
|
const realTarget = event.target;
|
156
157
|
|
157
|
-
// ignore focusable
|
158
|
-
|
158
|
+
// ignore non-TD focusable elements from mouse down processing
|
159
|
+
// (https://github.com/handsontable/handsontable/issues/3555)
|
160
|
+
if (!['TD', 'TH'].includes(activeElement.nodeName) && (realTarget === activeElement || getParentNode(0) === activeElement || getParentNode(1) === activeElement)) {
|
159
161
|
return;
|
160
162
|
}
|
161
163
|
const cell = this.parentCell(realTarget);
|
@@ -273,7 +275,7 @@ class Event {
|
|
273
275
|
*/
|
274
276
|
onTouchStart(event) {
|
275
277
|
const priv = privatePool.get(this);
|
276
|
-
priv.selectedCellBeforeTouchEnd = this.
|
278
|
+
priv.selectedCellBeforeTouchEnd = this.selectionManager.getFocusSelection().cellRange;
|
277
279
|
this.touchApplied = true;
|
278
280
|
this.onMouseDown(event);
|
279
281
|
}
|
@@ -50,8 +50,8 @@ class WalkontableFacade {
|
|
50
50
|
return this._wot.cloneOverlay; // todo create facade
|
51
51
|
}
|
52
52
|
|
53
|
-
get
|
54
|
-
return this._wot.
|
53
|
+
get selectionManager() {
|
54
|
+
return this._wot.selectionManager; // todo create facade
|
55
55
|
}
|
56
56
|
|
57
57
|
get wtViewport() {
|
@@ -46,8 +46,8 @@ export default class WalkontableFacade {
|
|
46
46
|
return this._wot.cloneOverlay; // todo create facade
|
47
47
|
}
|
48
48
|
|
49
|
-
get
|
50
|
-
return this._wot.
|
49
|
+
get selectionManager() {
|
50
|
+
return this._wot.selectionManager; // todo create facade
|
51
51
|
}
|
52
52
|
|
53
53
|
get wtViewport() {
|
@@ -12,8 +12,16 @@ exports.CellRange = _range.default;
|
|
12
12
|
var _core = _interopRequireDefault(require("./facade/core"));
|
13
13
|
exports.default = _core.default;
|
14
14
|
exports.Core = _core.default;
|
15
|
-
var _selection =
|
16
|
-
exports.Selection = _selection.
|
15
|
+
var _selection = require("./selection");
|
16
|
+
exports.Selection = _selection.Selection;
|
17
|
+
exports.HIGHLIGHT_ACTIVE_HEADER_TYPE = _selection.ACTIVE_HEADER_TYPE;
|
18
|
+
exports.HIGHLIGHT_AREA_TYPE = _selection.AREA_TYPE;
|
19
|
+
exports.HIGHLIGHT_FOCUS_TYPE = _selection.FOCUS_TYPE;
|
20
|
+
exports.HIGHLIGHT_FILL_TYPE = _selection.FILL_TYPE;
|
21
|
+
exports.HIGHLIGHT_HEADER_TYPE = _selection.HEADER_TYPE;
|
22
|
+
exports.HIGHLIGHT_ROW_TYPE = _selection.ROW_TYPE;
|
23
|
+
exports.HIGHLIGHT_COLUMN_TYPE = _selection.COLUMN_TYPE;
|
24
|
+
exports.HIGHLIGHT_CUSTOM_SELECTION_TYPE = _selection.CUSTOM_SELECTION_TYPE;
|
17
25
|
var Renderer = _interopRequireWildcard(require("./renderer"));
|
18
26
|
exports.Renderer = Renderer;
|
19
27
|
var _orderView = require("./utils/orderView");
|
@@ -21,6 +29,6 @@ exports.OrderView = _orderView.OrderView;
|
|
21
29
|
exports.SharedOrderView = _orderView.SharedOrderView;
|
22
30
|
var _eventManager = require("../../../eventManager");
|
23
31
|
exports.getListenersCounter = _eventManager.getListenersCounter;
|
24
|
-
function _getRequireWildcardCache(
|
25
|
-
function _interopRequireWildcard(
|
32
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
33
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
26
34
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
@@ -3,8 +3,8 @@ import ViewportRowsCalculator from "./calculator/viewportRows.mjs";
|
|
3
3
|
import CellCoords from "./cell/coords.mjs";
|
4
4
|
import CellRange from "./cell/range.mjs";
|
5
5
|
import Walkontable from "./facade/core.mjs";
|
6
|
-
import Selection from "./selection.mjs";
|
6
|
+
import { Selection, ACTIVE_HEADER_TYPE, AREA_TYPE, FOCUS_TYPE, FILL_TYPE, HEADER_TYPE, ROW_TYPE, COLUMN_TYPE, CUSTOM_SELECTION_TYPE } from "./selection/index.mjs";
|
7
7
|
import * as Renderer from "./renderer/index.mjs";
|
8
8
|
import { OrderView, SharedOrderView } from "./utils/orderView/index.mjs";
|
9
9
|
import { getListenersCounter } from "../../../eventManager.mjs";
|
10
|
-
export { ViewportColumnsCalculator, ViewportRowsCalculator, CellCoords, CellRange, Walkontable as default, Walkontable as Core, Selection, Renderer, OrderView, SharedOrderView, getListenersCounter };
|
10
|
+
export { ViewportColumnsCalculator, ViewportRowsCalculator, CellCoords, CellRange, Walkontable as default, Walkontable as Core, Selection, ACTIVE_HEADER_TYPE as HIGHLIGHT_ACTIVE_HEADER_TYPE, AREA_TYPE as HIGHLIGHT_AREA_TYPE, FOCUS_TYPE as HIGHLIGHT_FOCUS_TYPE, FILL_TYPE as HIGHLIGHT_FILL_TYPE, HEADER_TYPE as HIGHLIGHT_HEADER_TYPE, ROW_TYPE as HIGHLIGHT_ROW_TYPE, COLUMN_TYPE as HIGHLIGHT_COLUMN_TYPE, CUSTOM_SELECTION_TYPE as HIGHLIGHT_CUSTOM_SELECTION_TYPE, Renderer, OrderView, SharedOrderView, getListenersCounter };
|
@@ -8,6 +8,7 @@ var _array = require("../../../../helpers/array");
|
|
8
8
|
var _console = require("../../../../helpers/console");
|
9
9
|
var _constants = require("./constants");
|
10
10
|
var _clone = _interopRequireDefault(require("../core/clone"));
|
11
|
+
var _a11y = require("../../../../helpers/a11y");
|
11
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
12
13
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
13
14
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
@@ -241,7 +242,8 @@ class Overlay {
|
|
241
242
|
throw new Error(`Clone type "${this.type}" is not supported.`);
|
242
243
|
}
|
243
244
|
const {
|
244
|
-
wtTable
|
245
|
+
wtTable,
|
246
|
+
wtSettings
|
245
247
|
} = this.wot;
|
246
248
|
const {
|
247
249
|
rootDocument,
|
@@ -260,7 +262,16 @@ class Overlay {
|
|
260
262
|
} else {
|
261
263
|
clone.style.left = 0;
|
262
264
|
}
|
265
|
+
if (wtSettings.getSetting('ariaTags')) {
|
266
|
+
(0, _element.setAttribute)(clone, [(0, _a11y.A11Y_PRESENTATION)()]);
|
267
|
+
}
|
263
268
|
clonedTable.className = wtTable.TABLE.className;
|
269
|
+
|
270
|
+
// Clone the main table's `role` attribute to the cloned table.
|
271
|
+
const mainTableRole = wtTable.TABLE.getAttribute('role');
|
272
|
+
if (mainTableRole) {
|
273
|
+
clonedTable.setAttribute('role', wtTable.TABLE.getAttribute('role'));
|
274
|
+
}
|
264
275
|
clone.appendChild(clonedTable);
|
265
276
|
tableParent.appendChild(clone);
|
266
277
|
const preventOverflow = this.wtSettings.getSetting('preventOverflow');
|
@@ -281,7 +292,7 @@ class Overlay {
|
|
281
292
|
// todo ioc , or factor func if used only here
|
282
293
|
event: this.wot.wtEvent,
|
283
294
|
// todo ioc , or factory func if used only here
|
284
|
-
|
295
|
+
selectionManager: this.wot.selectionManager // todo ioc , or factory func if used only here
|
285
296
|
});
|
286
297
|
}
|
287
298
|
|
@@ -2,12 +2,13 @@ import "core-js/modules/es.error.cause.js";
|
|
2
2
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
3
3
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
4
4
|
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
5
|
-
import { getScrollableElement, getTrimmingContainer, getScrollbarWidth } from "../../../../helpers/dom/element.mjs";
|
5
|
+
import { getScrollableElement, getTrimmingContainer, getScrollbarWidth, setAttribute } from "../../../../helpers/dom/element.mjs";
|
6
6
|
import { defineGetter } from "../../../../helpers/object.mjs";
|
7
7
|
import { arrayEach } from "../../../../helpers/array.mjs";
|
8
8
|
import { warn } from "../../../../helpers/console.mjs";
|
9
9
|
import { CLONE_TYPES, CLONE_CLASS_NAMES, CLONE_TOP, CLONE_INLINE_START } from "./constants.mjs";
|
10
10
|
import Clone from "../core/clone.mjs";
|
11
|
+
import { A11Y_PRESENTATION } from "../../../../helpers/a11y.mjs";
|
11
12
|
/**
|
12
13
|
* Creates an overlay over the original Walkontable instance. The overlay renders the clone of the original Walkontable
|
13
14
|
* and (optionally) implements behavior needed for native horizontal and vertical scrolling.
|
@@ -237,7 +238,8 @@ export class Overlay {
|
|
237
238
|
throw new Error(`Clone type "${this.type}" is not supported.`);
|
238
239
|
}
|
239
240
|
const {
|
240
|
-
wtTable
|
241
|
+
wtTable,
|
242
|
+
wtSettings
|
241
243
|
} = this.wot;
|
242
244
|
const {
|
243
245
|
rootDocument,
|
@@ -256,7 +258,16 @@ export class Overlay {
|
|
256
258
|
} else {
|
257
259
|
clone.style.left = 0;
|
258
260
|
}
|
261
|
+
if (wtSettings.getSetting('ariaTags')) {
|
262
|
+
setAttribute(clone, [A11Y_PRESENTATION()]);
|
263
|
+
}
|
259
264
|
clonedTable.className = wtTable.TABLE.className;
|
265
|
+
|
266
|
+
// Clone the main table's `role` attribute to the cloned table.
|
267
|
+
const mainTableRole = wtTable.TABLE.getAttribute('role');
|
268
|
+
if (mainTableRole) {
|
269
|
+
clonedTable.setAttribute('role', wtTable.TABLE.getAttribute('role'));
|
270
|
+
}
|
260
271
|
clone.appendChild(clonedTable);
|
261
272
|
tableParent.appendChild(clone);
|
262
273
|
const preventOverflow = this.wtSettings.getSetting('preventOverflow');
|
@@ -277,7 +288,7 @@ export class Overlay {
|
|
277
288
|
// todo ioc , or factor func if used only here
|
278
289
|
event: this.wot.wtEvent,
|
279
290
|
// todo ioc , or factory func if used only here
|
280
|
-
|
291
|
+
selectionManager: this.wot.selectionManager // todo ioc , or factory func if used only here
|
281
292
|
});
|
282
293
|
}
|
283
294
|
|
@@ -4,17 +4,10 @@ exports.__esModule = true;
|
|
4
4
|
/**
|
5
5
|
* @typedef {'top'|'bottom'|'inline_start'|'top_inline_start_corner'|'bottom_inline_start_corner'} CLONE_TYPES_ENUM
|
6
6
|
*/
|
7
|
-
const CLONE_TOP = 'top';
|
8
|
-
exports.
|
9
|
-
const
|
10
|
-
exports.
|
11
|
-
const
|
12
|
-
exports.
|
13
|
-
const
|
14
|
-
exports.CLONE_TOP_INLINE_START_CORNER = CLONE_TOP_INLINE_START_CORNER;
|
15
|
-
const CLONE_BOTTOM_INLINE_START_CORNER = 'bottom_inline_start_corner';
|
16
|
-
exports.CLONE_BOTTOM_INLINE_START_CORNER = CLONE_BOTTOM_INLINE_START_CORNER;
|
17
|
-
const CLONE_TYPES = [CLONE_TOP, CLONE_BOTTOM, CLONE_INLINE_START, CLONE_TOP_INLINE_START_CORNER, CLONE_BOTTOM_INLINE_START_CORNER];
|
18
|
-
exports.CLONE_TYPES = CLONE_TYPES;
|
19
|
-
const CLONE_CLASS_NAMES = new Map([[CLONE_TOP, `ht_clone_${CLONE_TOP}`], [CLONE_BOTTOM, `ht_clone_${CLONE_BOTTOM}`], [CLONE_INLINE_START, `ht_clone_${CLONE_INLINE_START} ht_clone_left`], [CLONE_TOP_INLINE_START_CORNER, `ht_clone_${CLONE_TOP_INLINE_START_CORNER} ht_clone_top_left_corner`], [CLONE_BOTTOM_INLINE_START_CORNER, `ht_clone_${CLONE_BOTTOM_INLINE_START_CORNER} ht_clone_bottom_left_corner`]]);
|
20
|
-
exports.CLONE_CLASS_NAMES = CLONE_CLASS_NAMES;
|
7
|
+
const CLONE_TOP = exports.CLONE_TOP = 'top';
|
8
|
+
const CLONE_BOTTOM = exports.CLONE_BOTTOM = 'bottom';
|
9
|
+
const CLONE_INLINE_START = exports.CLONE_INLINE_START = 'inline_start';
|
10
|
+
const CLONE_TOP_INLINE_START_CORNER = exports.CLONE_TOP_INLINE_START_CORNER = 'top_inline_start_corner';
|
11
|
+
const CLONE_BOTTOM_INLINE_START_CORNER = exports.CLONE_BOTTOM_INLINE_START_CORNER = 'bottom_inline_start_corner';
|
12
|
+
const CLONE_TYPES = exports.CLONE_TYPES = [CLONE_TOP, CLONE_BOTTOM, CLONE_INLINE_START, CLONE_TOP_INLINE_START_CORNER, CLONE_BOTTOM_INLINE_START_CORNER];
|
13
|
+
const CLONE_CLASS_NAMES = exports.CLONE_CLASS_NAMES = new Map([[CLONE_TOP, `ht_clone_${CLONE_TOP}`], [CLONE_BOTTOM, `ht_clone_${CLONE_BOTTOM}`], [CLONE_INLINE_START, `ht_clone_${CLONE_INLINE_START} ht_clone_left`], [CLONE_TOP_INLINE_START_CORNER, `ht_clone_${CLONE_TOP_INLINE_START_CORNER} ht_clone_top_left_corner`], [CLONE_BOTTOM_INLINE_START_CORNER, `ht_clone_${CLONE_BOTTOM_INLINE_START_CORNER} ht_clone_bottom_left_corner`]]);
|
@@ -5,6 +5,7 @@ require("core-js/modules/es.error.cause.js");
|
|
5
5
|
var _element = require("../../../../helpers/dom/element");
|
6
6
|
var _inlineStart = _interopRequireDefault(require("../table/inlineStart"));
|
7
7
|
var _base = require("./_base");
|
8
|
+
var _selection = require("../selection");
|
8
9
|
var _constants = require("./constants");
|
9
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
10
11
|
/**
|
@@ -172,15 +173,10 @@ class InlineStartOverlay extends _base.Overlay {
|
|
172
173
|
* Adjust overlay root childs size.
|
173
174
|
*/
|
174
175
|
adjustRootChildrenSize() {
|
175
|
-
var _selections$getCell$g;
|
176
176
|
const {
|
177
177
|
holder
|
178
178
|
} = this.clone.wtTable;
|
179
|
-
const
|
180
|
-
selections
|
181
|
-
} = this.wot;
|
182
|
-
const facade = this.facadeGetter();
|
183
|
-
const selectionCornerOffset = Math.abs((_selections$getCell$g = selections === null || selections === void 0 ? void 0 : selections.getCell().getBorder(facade).cornerCenterPointOffset) !== null && _selections$getCell$g !== void 0 ? _selections$getCell$g : 0);
|
179
|
+
const selectionCornerOffset = this.wot.selectionManager.getFocusSelection() ? parseInt(_selection.CORNER_DEFAULT_STYLE.width, 10) / 2 : 0;
|
184
180
|
this.clone.wtTable.hider.style.height = this.hider.style.height;
|
185
181
|
holder.style.height = holder.parentNode.style.height;
|
186
182
|
// Add selection corner protruding part to the holder total width to make sure that
|
@@ -2,6 +2,7 @@ import "core-js/modules/es.error.cause.js";
|
|
2
2
|
import { addClass, getScrollbarWidth, getScrollLeft, getWindowScrollTop, hasClass, outerWidth, removeClass, setOverlayPosition, resetCssTransform } from "../../../../helpers/dom/element.mjs";
|
3
3
|
import InlineStartOverlayTable from "../table/inlineStart.mjs";
|
4
4
|
import { Overlay } from "./_base.mjs";
|
5
|
+
import { CORNER_DEFAULT_STYLE } from "../selection/index.mjs";
|
5
6
|
import { CLONE_INLINE_START } from "./constants.mjs";
|
6
7
|
/**
|
7
8
|
* @class InlineStartOverlay
|
@@ -168,15 +169,10 @@ export class InlineStartOverlay extends Overlay {
|
|
168
169
|
* Adjust overlay root childs size.
|
169
170
|
*/
|
170
171
|
adjustRootChildrenSize() {
|
171
|
-
var _selections$getCell$g;
|
172
172
|
const {
|
173
173
|
holder
|
174
174
|
} = this.clone.wtTable;
|
175
|
-
const
|
176
|
-
selections
|
177
|
-
} = this.wot;
|
178
|
-
const facade = this.facadeGetter();
|
179
|
-
const selectionCornerOffset = Math.abs((_selections$getCell$g = selections === null || selections === void 0 ? void 0 : selections.getCell().getBorder(facade).cornerCenterPointOffset) !== null && _selections$getCell$g !== void 0 ? _selections$getCell$g : 0);
|
175
|
+
const selectionCornerOffset = this.wot.selectionManager.getFocusSelection() ? parseInt(CORNER_DEFAULT_STYLE.width, 10) / 2 : 0;
|
180
176
|
this.clone.wtTable.hider.style.height = this.hider.style.height;
|
181
177
|
holder.style.height = holder.parentNode.style.height;
|
182
178
|
// Add selection corner protruding part to the holder total width to make sure that
|
@@ -5,6 +5,7 @@ require("core-js/modules/es.error.cause.js");
|
|
5
5
|
var _element = require("../../../../helpers/dom/element");
|
6
6
|
var _top = _interopRequireDefault(require("./../table/top"));
|
7
7
|
var _base = require("./_base");
|
8
|
+
var _selection = require("../selection");
|
8
9
|
var _constants = require("./constants");
|
9
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
10
11
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
@@ -199,15 +200,10 @@ class TopOverlay extends _base.Overlay {
|
|
199
200
|
* Adjust overlay root childs size.
|
200
201
|
*/
|
201
202
|
adjustRootChildrenSize() {
|
202
|
-
var _selections$getCell$g;
|
203
203
|
const {
|
204
204
|
holder
|
205
205
|
} = this.clone.wtTable;
|
206
|
-
const
|
207
|
-
selections
|
208
|
-
} = this.wot;
|
209
|
-
const facade = this.facadeGetter();
|
210
|
-
const selectionCornerOffset = Math.abs((_selections$getCell$g = selections === null || selections === void 0 ? void 0 : selections.getCell().getBorder(facade).cornerCenterPointOffset) !== null && _selections$getCell$g !== void 0 ? _selections$getCell$g : 0);
|
206
|
+
const selectionCornerOffset = this.wot.selectionManager.getFocusSelection() ? parseInt(_selection.CORNER_DEFAULT_STYLE.height, 10) / 2 : 0;
|
211
207
|
this.clone.wtTable.hider.style.width = this.hider.style.width;
|
212
208
|
holder.style.width = holder.parentNode.style.width;
|
213
209
|
// Add selection corner protruding part to the holder total height to make sure that
|
@@ -5,6 +5,7 @@ function _toPrimitive(input, hint) { if (typeof input !== "object" || input ===
|
|
5
5
|
import { addClass, getScrollbarWidth, getScrollTop, getWindowScrollLeft, hasClass, outerHeight, removeClass, setOverlayPosition, resetCssTransform } from "../../../../helpers/dom/element.mjs";
|
6
6
|
import TopOverlayTable from "./../table/top.mjs";
|
7
7
|
import { Overlay } from "./_base.mjs";
|
8
|
+
import { CORNER_DEFAULT_STYLE } from "../selection/index.mjs";
|
8
9
|
import { CLONE_TOP } from "./constants.mjs";
|
9
10
|
/**
|
10
11
|
* @class TopOverlay
|
@@ -195,15 +196,10 @@ export class TopOverlay extends Overlay {
|
|
195
196
|
* Adjust overlay root childs size.
|
196
197
|
*/
|
197
198
|
adjustRootChildrenSize() {
|
198
|
-
var _selections$getCell$g;
|
199
199
|
const {
|
200
200
|
holder
|
201
201
|
} = this.clone.wtTable;
|
202
|
-
const
|
203
|
-
selections
|
204
|
-
} = this.wot;
|
205
|
-
const facade = this.facadeGetter();
|
206
|
-
const selectionCornerOffset = Math.abs((_selections$getCell$g = selections === null || selections === void 0 ? void 0 : selections.getCell().getBorder(facade).cornerCenterPointOffset) !== null && _selections$getCell$g !== void 0 ? _selections$getCell$g : 0);
|
202
|
+
const selectionCornerOffset = this.wot.selectionManager.getFocusSelection() ? parseInt(CORNER_DEFAULT_STYLE.height, 10) / 2 : 0;
|
207
203
|
this.clone.wtTable.hider.style.width = this.hider.style.width;
|
208
204
|
holder.style.width = holder.parentNode.style.width;
|
209
205
|
// Add selection corner protruding part to the holder total height to make sure that
|
@@ -4,6 +4,7 @@ exports.__esModule = true;
|
|
4
4
|
var _element = require("./../../../../helpers/dom/element");
|
5
5
|
var _orderView = require("./../utils/orderView");
|
6
6
|
var _base = _interopRequireDefault(require("./_base"));
|
7
|
+
var _a11y = require("../../../../helpers/a11y");
|
7
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
8
9
|
/**
|
9
10
|
* Cell renderer responsible for managing (inserting, tracking, rendering) TD elements.
|
@@ -82,7 +83,16 @@ class CellsRenderer extends _base.default {
|
|
82
83
|
}
|
83
84
|
TD.removeAttribute('style');
|
84
85
|
TD.removeAttribute('dir');
|
86
|
+
|
87
|
+
// Remove all accessibility-related attributes for the cell to start fresh.
|
88
|
+
(0, _element.removeAttribute)(TD, [new RegExp('aria-(.*)'), new RegExp('role')]);
|
85
89
|
this.table.cellRenderer(sourceRowIndex, sourceColumnIndex, TD);
|
90
|
+
if (this.table.isAriaEnabled()) {
|
91
|
+
var _this$table$rowUtils$, _this$table$rowUtils;
|
92
|
+
(0, _element.setAttribute)(TD, [...(TD.hasAttribute('role') ? [] : [(0, _a11y.A11Y_GRIDCELL)()]), (0, _a11y.A11Y_TABINDEX)(-1),
|
93
|
+
// `aria-colindex` is incremented by both tbody and thead rows.
|
94
|
+
(0, _a11y.A11Y_COLINDEX)(sourceColumnIndex + ((_this$table$rowUtils$ = (_this$table$rowUtils = this.table.rowUtils) === null || _this$table$rowUtils === void 0 || (_this$table$rowUtils = _this$table$rowUtils.dataAccessObject) === null || _this$table$rowUtils === void 0 ? void 0 : _this$table$rowUtils.rowHeaders.length) !== null && _this$table$rowUtils$ !== void 0 ? _this$table$rowUtils$ : 0) + 1)]);
|
95
|
+
}
|
86
96
|
}
|
87
97
|
orderView.end();
|
88
98
|
}
|
@@ -1,6 +1,7 @@
|
|
1
|
-
import { hasClass } from "./../../../../helpers/dom/element.mjs";
|
1
|
+
import { hasClass, removeAttribute, setAttribute } from "./../../../../helpers/dom/element.mjs";
|
2
2
|
import { SharedOrderView } from "./../utils/orderView/index.mjs";
|
3
3
|
import BaseRenderer from "./_base.mjs";
|
4
|
+
import { A11Y_COLINDEX, A11Y_GRIDCELL, A11Y_TABINDEX } from "../../../../helpers/a11y.mjs";
|
4
5
|
/**
|
5
6
|
* Cell renderer responsible for managing (inserting, tracking, rendering) TD elements.
|
6
7
|
*
|
@@ -78,7 +79,16 @@ export default class CellsRenderer extends BaseRenderer {
|
|
78
79
|
}
|
79
80
|
TD.removeAttribute('style');
|
80
81
|
TD.removeAttribute('dir');
|
82
|
+
|
83
|
+
// Remove all accessibility-related attributes for the cell to start fresh.
|
84
|
+
removeAttribute(TD, [new RegExp('aria-(.*)'), new RegExp('role')]);
|
81
85
|
this.table.cellRenderer(sourceRowIndex, sourceColumnIndex, TD);
|
86
|
+
if (this.table.isAriaEnabled()) {
|
87
|
+
var _this$table$rowUtils$, _this$table$rowUtils;
|
88
|
+
setAttribute(TD, [...(TD.hasAttribute('role') ? [] : [A11Y_GRIDCELL()]), A11Y_TABINDEX(-1),
|
89
|
+
// `aria-colindex` is incremented by both tbody and thead rows.
|
90
|
+
A11Y_COLINDEX(sourceColumnIndex + ((_this$table$rowUtils$ = (_this$table$rowUtils = this.table.rowUtils) === null || _this$table$rowUtils === void 0 || (_this$table$rowUtils = _this$table$rowUtils.dataAccessObject) === null || _this$table$rowUtils === void 0 ? void 0 : _this$table$rowUtils.rowHeaders.length) !== null && _this$table$rowUtils$ !== void 0 ? _this$table$rowUtils$ : 0) + 1)]);
|
91
|
+
}
|
82
92
|
}
|
83
93
|
orderView.end();
|
84
94
|
}
|
@@ -3,6 +3,7 @@
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
var _element = require("./../../../../helpers/dom/element");
|
5
5
|
var _base = _interopRequireDefault(require("./_base"));
|
6
|
+
var _a11y = require("../../../../helpers/a11y");
|
6
7
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
7
8
|
/**
|
8
9
|
* Column headers renderer responsible for managing (inserting, tracking, rendering) TR and TH elements.
|
@@ -69,6 +70,9 @@ class ColumnHeadersRenderer extends _base.default {
|
|
69
70
|
const {
|
70
71
|
columnHeadersCount
|
71
72
|
} = this.table;
|
73
|
+
if (this.table.isAriaEnabled()) {
|
74
|
+
(0, _element.setAttribute)(this.rootNode, [(0, _a11y.A11Y_PRESENTATION)()]);
|
75
|
+
}
|
72
76
|
for (let rowHeaderIndex = 0; rowHeaderIndex < columnHeadersCount; rowHeaderIndex += 1) {
|
73
77
|
const {
|
74
78
|
columnHeaderFunctions,
|
@@ -76,12 +80,21 @@ class ColumnHeadersRenderer extends _base.default {
|
|
76
80
|
rowHeadersCount
|
77
81
|
} = this.table;
|
78
82
|
const TR = this.rootNode.childNodes[rowHeaderIndex];
|
83
|
+
if (this.table.isAriaEnabled()) {
|
84
|
+
(0, _element.setAttribute)(TR, [(0, _a11y.A11Y_ROW)(), (0, _a11y.A11Y_ROWINDEX)(rowHeaderIndex + 1)]);
|
85
|
+
}
|
79
86
|
for (let renderedColumnIndex = -1 * rowHeadersCount; renderedColumnIndex < columnsToRender; renderedColumnIndex += 1) {
|
80
87
|
// eslint-disable-line max-len
|
81
88
|
const sourceColumnIndex = this.table.renderedColumnToSource(renderedColumnIndex);
|
82
89
|
const TH = TR.childNodes[renderedColumnIndex + rowHeadersCount];
|
83
90
|
TH.className = '';
|
84
91
|
TH.removeAttribute('style');
|
92
|
+
|
93
|
+
// Remove all accessibility-related attributes for the header to start fresh.
|
94
|
+
(0, _element.removeAttribute)(TH, [new RegExp('aria-(.*)'), new RegExp('role')]);
|
95
|
+
if (this.table.isAriaEnabled()) {
|
96
|
+
(0, _element.setAttribute)(TH, [(0, _a11y.A11Y_COLINDEX)(renderedColumnIndex + 1 + this.table.rowHeadersCount), (0, _a11y.A11Y_TABINDEX)(-1), ...(renderedColumnIndex < 0 ? [(0, _a11y.A11Y_PRESENTATION)()] : [(0, _a11y.A11Y_COLUMNHEADER)(), (0, _a11y.A11Y_SCOPE_COL)()])]);
|
97
|
+
}
|
85
98
|
columnHeaderFunctions[rowHeaderIndex](sourceColumnIndex, TH, rowHeaderIndex);
|
86
99
|
}
|
87
100
|
}
|
@@ -1,5 +1,6 @@
|
|
1
|
-
import { empty } from "./../../../../helpers/dom/element.mjs";
|
1
|
+
import { empty, setAttribute, removeAttribute } from "./../../../../helpers/dom/element.mjs";
|
2
2
|
import BaseRenderer from "./_base.mjs";
|
3
|
+
import { A11Y_COLINDEX, A11Y_COLUMNHEADER, A11Y_PRESENTATION, A11Y_ROW, A11Y_ROWINDEX, A11Y_SCOPE_COL, A11Y_TABINDEX } from "../../../../helpers/a11y.mjs";
|
3
4
|
/**
|
4
5
|
* Column headers renderer responsible for managing (inserting, tracking, rendering) TR and TH elements.
|
5
6
|
*
|
@@ -65,6 +66,9 @@ export default class ColumnHeadersRenderer extends BaseRenderer {
|
|
65
66
|
const {
|
66
67
|
columnHeadersCount
|
67
68
|
} = this.table;
|
69
|
+
if (this.table.isAriaEnabled()) {
|
70
|
+
setAttribute(this.rootNode, [A11Y_PRESENTATION()]);
|
71
|
+
}
|
68
72
|
for (let rowHeaderIndex = 0; rowHeaderIndex < columnHeadersCount; rowHeaderIndex += 1) {
|
69
73
|
const {
|
70
74
|
columnHeaderFunctions,
|
@@ -72,12 +76,21 @@ export default class ColumnHeadersRenderer extends BaseRenderer {
|
|
72
76
|
rowHeadersCount
|
73
77
|
} = this.table;
|
74
78
|
const TR = this.rootNode.childNodes[rowHeaderIndex];
|
79
|
+
if (this.table.isAriaEnabled()) {
|
80
|
+
setAttribute(TR, [A11Y_ROW(), A11Y_ROWINDEX(rowHeaderIndex + 1)]);
|
81
|
+
}
|
75
82
|
for (let renderedColumnIndex = -1 * rowHeadersCount; renderedColumnIndex < columnsToRender; renderedColumnIndex += 1) {
|
76
83
|
// eslint-disable-line max-len
|
77
84
|
const sourceColumnIndex = this.table.renderedColumnToSource(renderedColumnIndex);
|
78
85
|
const TH = TR.childNodes[renderedColumnIndex + rowHeadersCount];
|
79
86
|
TH.className = '';
|
80
87
|
TH.removeAttribute('style');
|
88
|
+
|
89
|
+
// Remove all accessibility-related attributes for the header to start fresh.
|
90
|
+
removeAttribute(TH, [new RegExp('aria-(.*)'), new RegExp('role')]);
|
91
|
+
if (this.table.isAriaEnabled()) {
|
92
|
+
setAttribute(TH, [A11Y_COLINDEX(renderedColumnIndex + 1 + this.table.rowHeadersCount), A11Y_TABINDEX(-1), ...(renderedColumnIndex < 0 ? [A11Y_PRESENTATION()] : [A11Y_COLUMNHEADER(), A11Y_SCOPE_COL()])]);
|
93
|
+
}
|
81
94
|
columnHeaderFunctions[rowHeaderIndex](sourceColumnIndex, TH, rowHeaderIndex);
|
82
95
|
}
|
83
96
|
}
|
@@ -3,6 +3,8 @@
|
|
3
3
|
exports.__esModule = true;
|
4
4
|
var _orderView = require("./../utils/orderView");
|
5
5
|
var _base = _interopRequireDefault(require("./_base"));
|
6
|
+
var _element = require("../../../../helpers/dom/element");
|
7
|
+
var _a11y = require("../../../../helpers/a11y");
|
6
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
7
9
|
/**
|
8
10
|
* Row headers renderer responsible for managing (inserting, tracking, rendering) TR elements belongs to TR.
|
@@ -74,6 +76,12 @@ class RowHeadersRenderer extends _base.default {
|
|
74
76
|
const TH = orderView.getCurrentNode();
|
75
77
|
TH.className = '';
|
76
78
|
TH.removeAttribute('style');
|
79
|
+
|
80
|
+
// Remove all accessibility-related attributes for the header to start fresh.
|
81
|
+
(0, _element.removeAttribute)(TH, [new RegExp('aria-(.*)'), new RegExp('role')]);
|
82
|
+
if (this.table.isAriaEnabled()) {
|
83
|
+
(0, _element.setAttribute)(TH, [(0, _a11y.A11Y_ROWHEADER)(), (0, _a11y.A11Y_SCOPE_ROW)(), (0, _a11y.A11Y_COLINDEX)(visibleColumnIndex + 1), (0, _a11y.A11Y_TABINDEX)(-1)]);
|
84
|
+
}
|
77
85
|
rowHeaderFunctions[visibleColumnIndex](sourceRowIndex, TH, visibleColumnIndex);
|
78
86
|
}
|
79
87
|
orderView.end();
|
@@ -1,5 +1,7 @@
|
|
1
1
|
import { SharedOrderView } from "./../utils/orderView/index.mjs";
|
2
2
|
import BaseRenderer from "./_base.mjs";
|
3
|
+
import { setAttribute, removeAttribute } from "../../../../helpers/dom/element.mjs";
|
4
|
+
import { A11Y_COLINDEX, A11Y_ROWHEADER, A11Y_SCOPE_ROW, A11Y_TABINDEX } from "../../../../helpers/a11y.mjs";
|
3
5
|
/**
|
4
6
|
* Row headers renderer responsible for managing (inserting, tracking, rendering) TR elements belongs to TR.
|
5
7
|
*
|
@@ -70,6 +72,12 @@ export default class RowHeadersRenderer extends BaseRenderer {
|
|
70
72
|
const TH = orderView.getCurrentNode();
|
71
73
|
TH.className = '';
|
72
74
|
TH.removeAttribute('style');
|
75
|
+
|
76
|
+
// Remove all accessibility-related attributes for the header to start fresh.
|
77
|
+
removeAttribute(TH, [new RegExp('aria-(.*)'), new RegExp('role')]);
|
78
|
+
if (this.table.isAriaEnabled()) {
|
79
|
+
setAttribute(TH, [A11Y_ROWHEADER(), A11Y_SCOPE_ROW(), A11Y_COLINDEX(visibleColumnIndex + 1), A11Y_TABINDEX(-1)]);
|
80
|
+
}
|
73
81
|
rowHeaderFunctions[visibleColumnIndex](sourceRowIndex, TH, visibleColumnIndex);
|
74
82
|
}
|
75
83
|
orderView.end();
|