@visactor/vtable 1.22.11-alpha.8 → 1.22.11-alpha.9
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/cjs/ListTable.d.ts +34 -7
- package/cjs/ListTable.js +138 -18
- package/cjs/ListTable.js.map +1 -1
- package/cjs/PivotChart.d.ts +0 -3
- package/cjs/PivotChart.js +5 -12
- package/cjs/PivotChart.js.map +1 -1
- package/cjs/components/index.js +1 -1
- package/cjs/core/BaseTable.js +1 -1
- package/cjs/core/BaseTable.js.map +1 -1
- package/cjs/core/TABLE_EVENT_TYPE.d.ts +1 -0
- package/cjs/core/TABLE_EVENT_TYPE.js +1 -0
- package/cjs/core/TABLE_EVENT_TYPE.js.map +1 -1
- package/cjs/core/index.d.ts +1 -0
- package/cjs/core/index.js +30 -0
- package/cjs/core/index.js.map +1 -0
- package/cjs/core/record-helper.d.ts +4 -2
- package/cjs/core/record-helper.js +120 -47
- package/cjs/core/record-helper.js.map +1 -1
- package/cjs/data/DataSource.d.ts +13 -4
- package/cjs/data/DataSource.js +174 -60
- package/cjs/data/DataSource.js.map +1 -1
- package/cjs/event/event.d.ts +2 -1
- package/cjs/event/event.js +20 -9
- package/cjs/event/event.js.map +1 -1
- package/cjs/event/listener/container-dom.js +1 -1
- package/cjs/event/listener/container-dom.js.map +1 -1
- package/cjs/event/listener/scroll-bar.js +2 -8
- package/cjs/event/listener/scroll-bar.js.map +1 -1
- package/cjs/event/listener/table-group.js +8 -14
- package/cjs/event/listener/table-group.js.map +1 -1
- package/cjs/event/media-click.js +1 -1
- package/cjs/event/scroll.js +1 -1
- package/cjs/event/sparkline-event.js +1 -1
- package/cjs/event/util.js +1 -1
- package/cjs/index.d.ts +1 -1
- package/cjs/index.js +1 -1
- package/cjs/index.js.map +1 -1
- package/cjs/layout/index.js +1 -2
- package/cjs/layout/pivot-header-layout.d.ts +0 -6
- package/cjs/layout/pivot-header-layout.js +20 -39
- package/cjs/layout/pivot-header-layout.js.map +1 -1
- package/cjs/plugins/custom-cell-style.d.ts +5 -0
- package/cjs/plugins/custom-cell-style.js +9 -0
- package/cjs/plugins/custom-cell-style.js.map +1 -1
- package/cjs/plugins/interface.js +1 -1
- package/cjs/plugins/invert-highlight.js +2 -1
- package/cjs/plugins/list-tree-stick-cell.js +1 -1
- package/cjs/plugins/plugin-manager.js +1 -1
- package/cjs/scenegraph/graphic/active-cell-chart-list.d.ts +2 -15
- package/cjs/scenegraph/graphic/active-cell-chart-list.js +75 -198
- package/cjs/scenegraph/graphic/active-cell-chart-list.js.map +1 -1
- package/cjs/scenegraph/graphic/chart.d.ts +1 -10
- package/cjs/scenegraph/graphic/chart.js +27 -61
- package/cjs/scenegraph/graphic/chart.js.map +1 -1
- package/cjs/scenegraph/graphic/contributions/chart-render.js +4 -3
- package/cjs/scenegraph/graphic/contributions/chart-render.js.map +1 -1
- package/cjs/scenegraph/refresh-node/update-chart.d.ts +1 -1
- package/cjs/scenegraph/refresh-node/update-chart.js +1 -2
- package/cjs/scenegraph/refresh-node/update-chart.js.map +1 -1
- package/cjs/scenegraph/scenegraph.d.ts +2 -2
- package/cjs/scenegraph/scenegraph.js +11 -44
- package/cjs/scenegraph/scenegraph.js.map +1 -1
- package/cjs/tools/util.d.ts +0 -5
- package/cjs/tools/util.js +4 -22
- package/cjs/tools/util.js.map +1 -1
- package/cjs/ts-types/base-table.d.ts +2 -2
- package/cjs/ts-types/base-table.js.map +1 -1
- package/cjs/ts-types/events.d.ts +15 -0
- package/cjs/ts-types/events.js.map +1 -1
- package/cjs/ts-types/table-engine.d.ts +33 -13
- package/cjs/ts-types/table-engine.js.map +1 -1
- package/cjs/vrender.js.map +1 -1
- package/dist/vtable.js +898 -711
- package/dist/vtable.min.js +2 -2
- package/es/ListTable.d.ts +34 -7
- package/es/ListTable.js +134 -18
- package/es/ListTable.js.map +1 -1
- package/es/PivotChart.d.ts +0 -3
- package/es/PivotChart.js +4 -13
- package/es/PivotChart.js.map +1 -1
- package/es/components/index.js +1 -1
- package/es/core/BaseTable.js +1 -1
- package/es/core/BaseTable.js.map +1 -1
- package/es/core/TABLE_EVENT_TYPE.d.ts +1 -0
- package/es/core/TABLE_EVENT_TYPE.js +1 -0
- package/es/core/TABLE_EVENT_TYPE.js.map +1 -1
- package/es/core/index.d.ts +1 -0
- package/es/core/index.js +2 -0
- package/es/core/index.js.map +1 -0
- package/es/core/record-helper.d.ts +4 -2
- package/es/core/record-helper.js +114 -43
- package/es/core/record-helper.js.map +1 -1
- package/es/data/DataSource.d.ts +13 -4
- package/es/data/DataSource.js +174 -60
- package/es/data/DataSource.js.map +1 -1
- package/es/event/event.d.ts +2 -1
- package/es/event/event.js +20 -9
- package/es/event/event.js.map +1 -1
- package/es/event/listener/container-dom.js +1 -1
- package/es/event/listener/container-dom.js.map +1 -1
- package/es/event/listener/scroll-bar.js +2 -8
- package/es/event/listener/scroll-bar.js.map +1 -1
- package/es/event/listener/table-group.js +8 -13
- package/es/event/listener/table-group.js.map +1 -1
- package/es/event/media-click.js +1 -1
- package/es/event/scroll.js +1 -1
- package/es/event/sparkline-event.js +1 -1
- package/es/event/util.js +1 -1
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/index.js.map +1 -1
- package/es/layout/index.js +1 -2
- package/es/layout/pivot-header-layout.d.ts +0 -6
- package/es/layout/pivot-header-layout.js +20 -39
- package/es/layout/pivot-header-layout.js.map +1 -1
- package/es/plugins/custom-cell-style.d.ts +5 -0
- package/es/plugins/custom-cell-style.js +9 -0
- package/es/plugins/custom-cell-style.js.map +1 -1
- package/es/plugins/interface.js +1 -1
- package/es/plugins/invert-highlight.js +2 -1
- package/es/plugins/list-tree-stick-cell.js +1 -1
- package/es/plugins/plugin-manager.js +1 -1
- package/es/scenegraph/graphic/active-cell-chart-list.d.ts +2 -15
- package/es/scenegraph/graphic/active-cell-chart-list.js +68 -186
- package/es/scenegraph/graphic/active-cell-chart-list.js.map +1 -1
- package/es/scenegraph/graphic/chart.d.ts +1 -10
- package/es/scenegraph/graphic/chart.js +25 -58
- package/es/scenegraph/graphic/chart.js.map +1 -1
- package/es/scenegraph/graphic/contributions/chart-render.js +4 -3
- package/es/scenegraph/graphic/contributions/chart-render.js.map +1 -1
- package/es/scenegraph/refresh-node/update-chart.d.ts +1 -1
- package/es/scenegraph/refresh-node/update-chart.js +1 -2
- package/es/scenegraph/refresh-node/update-chart.js.map +1 -1
- package/es/scenegraph/scenegraph.d.ts +2 -2
- package/es/scenegraph/scenegraph.js +10 -43
- package/es/scenegraph/scenegraph.js.map +1 -1
- package/es/tools/util.d.ts +0 -5
- package/es/tools/util.js +0 -18
- package/es/tools/util.js.map +1 -1
- package/es/ts-types/base-table.d.ts +2 -2
- package/es/ts-types/base-table.js.map +1 -1
- package/es/ts-types/events.d.ts +15 -0
- package/es/ts-types/events.js.map +1 -1
- package/es/ts-types/table-engine.d.ts +33 -13
- package/es/ts-types/table-engine.js.map +1 -1
- package/es/vrender.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/event/listener/container-dom.ts"],"names":[],"mappings":"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","file":"container-dom.js","sourcesContent":["import { isValid } from '@visactor/vutils';\nimport type { EventHandler } from '../EventHandler';\nimport type { ListTableConstructorOptions, MousePointerMultiCellEvent } from '../../ts-types';\nimport { InteractionState, type KeydownEvent, type ListTableAPI } from '../../ts-types';\nimport { TABLE_EVENT_TYPE } from '../../core/TABLE_EVENT_TYPE';\nimport { handleWhell } from '../scroll';\nimport { browser, getPromiseValue } from '../../tools/helper';\nimport type { EventManager } from '../event';\nimport { getPixelRatio } from '../../tools/pixel-ratio';\nimport { endResizeCol, endResizeRow } from './table-group';\nimport { isCellDisableSelect } from '../../state/select/is-cell-select-highlight';\nimport { fireMoveColEventListeners } from '../helper';\nimport { vglobal } from './../../vrender';\nexport function bindContainerDomListener(eventManager: EventManager) {\n const table = eventManager.table;\n const stateManager = table.stateManager;\n const handler: EventHandler = table.internalProps.handler;\n\n // handler.on(table.getElement(), 'mousedown', (e: MouseEvent) => {\n // if (table.eventManager.isPointerDownOnTable) {\n // e.stopPropagation();\n // }\n // });\n\n handler.on(table.getElement(), 'blur', (e: FocusEvent) => {\n // 检查焦点是否转移到了表格内部的元素(如 editInputElement)\n // 如果是,则不处理 blur 事件,避免在编辑时触发不必要的逻辑\n const relatedTarget = e.relatedTarget as HTMLElement;\n if (relatedTarget) {\n // 检查是否是编辑器内部的 input\n const selectedRanges = table.stateManager.select.ranges;\n const justOneCellSelected =\n selectedRanges.length === 1 &&\n selectedRanges[0].start.col === selectedRanges[0].end.col &&\n selectedRanges[0].start.row === selectedRanges[0].end.row;\n const editor =\n justOneCellSelected &&\n (table as ListTableAPI).getEditor(table.stateManager.select.cellPos.col, table.stateManager.select.cellPos.row);\n const editorInput = editor?.getInputElement?.();\n if (editorInput === relatedTarget) {\n return;\n }\n }\n\n eventManager.dealTableHover();\n // eventManager.dealTableSelect();\n });\n\n // 监听键盘事件\n handler.on(table.getElement(), 'keydown', (e: KeyboardEvent) => {\n // 键盘按下事件 内部逻辑处理前\n const beforeKeydownEvent: KeydownEvent = {\n keyCode: e.keyCode ?? e.which,\n code: e.code,\n event: e\n };\n table.fireListeners(TABLE_EVENT_TYPE.BEFORE_KEYDOWN, beforeKeydownEvent);\n // 键盘按下事件 内部逻辑处理\n if (e.key === 'a' && (e.ctrlKey || e.metaKey)) {\n if (table.keyboardOptions?.selectAllOnCtrlA) {\n // 处理全选\n e.preventDefault();\n //全选\n eventManager.deelTableSelectAll();\n }\n } else if (\n stateManager.select.cellPos.col >= 0 &&\n stateManager.select.cellPos.row >= 0 &&\n (e.key === 'ArrowUp' || e.key === 'ArrowDown' || e.key === 'ArrowLeft' || e.key === 'ArrowRight')\n ) {\n if (\n (!(table.options.keyboardOptions?.moveEditCellOnArrowKeys ?? false) &&\n (table as ListTableAPI).editorManager?.editingEditor) ||\n table.options.keyboardOptions?.moveSelectedCellOnArrowKeys === false\n ) {\n // 编辑单元格状态下 如果没有开启方向键切换cell 则退出 。方向键可以在编辑input内移动光标\n return;\n }\n e.preventDefault();\n // 如果不加这句话 外部监听了键盘事件 会影响表格本身的移动格子功能,例如自定义日历编辑器的日期选择pickday.js\n //可能会引起其他问题 例如自定义实现了日历编辑器 里面切换日期左右键可能失效,这个时候建议监听VTable实例的事件keydown\n e.stopPropagation();\n let targetCol;\n let targetRow;\n\n // 处理向上箭头键\n if (e.key === 'ArrowUp') {\n if (e.ctrlKey || e.metaKey) {\n targetCol = stateManager.select.cellPos.col;\n targetRow = 0;\n } else if (e.shiftKey) {\n targetCol = stateManager.select.cellPos.col;\n targetRow = Math.min(table.rowCount - 1, Math.max(0, stateManager.select.cellPos.row - 1));\n } else {\n targetCol = stateManager.select.cellPos.col;\n targetRow = Math.min(table.rowCount - 1, Math.max(0, stateManager.select.cellPos.row - 1));\n }\n } else if (e.key === 'ArrowDown') {\n // 处理向下箭头键\n if (e.ctrlKey || e.metaKey) {\n targetCol = stateManager.select.cellPos.col;\n targetRow = table.rowCount - 1;\n } else if (e.shiftKey) {\n targetCol = stateManager.select.cellPos.col;\n targetRow = Math.min(table.rowCount - 1, Math.max(0, stateManager.select.cellPos.row + 1));\n } else {\n targetCol = stateManager.select.cellPos.col;\n targetRow = Math.min(table.rowCount - 1, Math.max(0, stateManager.select.cellPos.row + 1));\n }\n } else if (e.key === 'ArrowLeft') {\n // 处理向左箭头键\n if (e.ctrlKey || e.metaKey) {\n targetCol = 0;\n targetRow = stateManager.select.cellPos.row;\n } else if (e.shiftKey) {\n targetRow = stateManager.select.cellPos.row;\n targetCol = Math.min(table.colCount - 1, Math.max(0, stateManager.select.cellPos.col - 1));\n } else {\n targetRow = stateManager.select.cellPos.row;\n targetCol = Math.min(table.colCount - 1, Math.max(0, stateManager.select.cellPos.col - 1));\n }\n } else if (e.key === 'ArrowRight') {\n // 处理向右箭头键\n if (e.ctrlKey || e.metaKey) {\n targetCol = table.colCount - 1;\n targetRow = stateManager.select.cellPos.row;\n } else if (e.shiftKey) {\n targetRow = stateManager.select.cellPos.row;\n targetCol = Math.min(table.colCount - 1, Math.max(0, stateManager.select.cellPos.col + 1));\n } else {\n targetRow = stateManager.select.cellPos.row;\n targetCol = Math.min(table.colCount - 1, Math.max(0, stateManager.select.cellPos.col + 1));\n }\n }\n // 如果是不支持选中的单元格 则退出\n if (isCellDisableSelect(table, targetCol, targetRow)) {\n return;\n }\n const isEditingCell = !!(table as ListTableAPI).editorManager?.editingEditor;\n // 下面这句completeEdit代码和selectCell代码顺序很重要,不能颠倒,否则会导致编辑器失去焦点(selectCell会触发到edit-manager的selected_changed事件,getEditor会创建editor实例并缓存,completeEdit会清空缓存)\n (table as ListTableAPI).editorManager?.completeEdit();\n table.getElement().focus();\n const enableShiftSelectMode = table.options.keyboardOptions?.shiftMultiSelect ?? true;\n table.selectCell(targetCol, targetRow, e.shiftKey && enableShiftSelectMode);\n if ((table.options.keyboardOptions?.moveEditCellOnArrowKeys ?? false) && isEditingCell) {\n // 开启了方向键切换编辑单元格 并且当前已经在编辑状态下 切换到下一个需先退出再进入下个单元格的编辑\n if ((table as ListTableAPI).getEditor(targetCol, targetRow)) {\n (table as ListTableAPI).editorManager?.startEditCell(targetCol, targetRow);\n }\n }\n } else if (e.key === 'Escape') {\n (table as ListTableAPI).editorManager?.cancelEdit();\n table.getElement().focus();\n } else if (e.key === 'Enter') {\n // 如果按enter键 可以结束当前的编辑 或开启编辑选中的单元格(仅限单选)\n if ((table as ListTableAPI).editorManager?.editingEditor) {\n // 如果是结束当前编辑,且有主动监听keydown事件,则先触发keydown事件,之后再结束编辑\n handleKeydownListener(e);\n (table as ListTableAPI).editorManager?.completeEdit();\n table.getElement().focus();\n\n if (table.options.keyboardOptions?.moveFocusCellOnEnter === true) {\n // 利用enter键选中下一个单元格\n const targetCol = stateManager.select.cellPos.col;\n const targetRow = Math.min(table.rowCount - 1, Math.max(0, stateManager.select.cellPos.row + 1));\n // 如果是不支持选中的单元格 则退出\n if (isCellDisableSelect(table, targetCol, targetRow)) {\n return;\n }\n const enableShiftSelectMode = table.options.keyboardOptions?.shiftMultiSelect ?? true;\n table.selectCell(targetCol, targetRow, e.shiftKey && enableShiftSelectMode);\n }\n // 直接返回,不再触发最后的keydown监听事件相关代码\n return;\n }\n if (table.options.keyboardOptions?.moveFocusCellOnEnter === true) {\n // 利用enter键选中下一个单元格\n const targetCol = stateManager.select.cellPos.col;\n const targetRow = Math.min(table.rowCount - 1, Math.max(0, stateManager.select.cellPos.row + 1));\n // 如果是不支持选中的单元格 则退出\n if (isCellDisableSelect(table, targetCol, targetRow)) {\n return;\n }\n const enableShiftSelectMode = table.options.keyboardOptions?.shiftMultiSelect ?? true;\n table.selectCell(targetCol, targetRow, e.shiftKey && enableShiftSelectMode);\n } else if (\n (table.options.keyboardOptions?.editCellOnEnter ?? true) &&\n (table.stateManager.select.ranges?.length ?? 0) === 1\n ) {\n // 如果开启按enter键进入编辑的配置 且当前有选中的单元格 则进入编辑(仅限单选)\n const startCol = table.stateManager.select.ranges[0].start.col;\n const startRow = table.stateManager.select.ranges[0].start.row;\n const endCol = table.stateManager.select.ranges[0].end.col;\n const endRow = table.stateManager.select.ranges[0].end.row;\n if (startCol === endCol && startRow === endRow) {\n if ((table as ListTableAPI).getEditor(startCol, startRow)) {\n (table as ListTableAPI).editorManager?.startEditCell(startCol, startRow);\n }\n }\n }\n } else if (e.key === 'Tab') {\n if (table.options.keyboardOptions?.moveFocusCellOnTab ?? true) {\n if (stateManager.select.cellPos.col >= 0 && stateManager.select.cellPos.row >= 0) {\n const isLastCell =\n stateManager.select.cellPos.col === table.colCount - 1 &&\n stateManager.select.cellPos.row === table.rowCount - 1;\n\n if (isLastCell) {\n return;\n }\n\n e.preventDefault();\n\n let targetCol;\n let targetRow;\n if (stateManager.select.cellPos.col === table.colCount - 1) {\n targetRow = Math.min(table.rowCount - 1, stateManager.select.cellPos.row + 1);\n targetCol = table.rowHeaderLevelCount;\n } else {\n targetRow = stateManager.select.cellPos.row;\n targetCol = stateManager.select.cellPos.col + 1;\n }\n // 如果是不支持选中的单元格 则退出\n if (isCellDisableSelect(table, targetCol, targetRow)) {\n return;\n }\n const isEditingCell = !!(table as ListTableAPI).editorManager?.editingEditor;\n // 下面这句completeEdit代码和selectCell代码顺序很重要,不能颠倒,否则会导致编辑器失去焦点(selectCell会触发到edit-manager的selected_changed事件,getEditor会创建editor实例并缓存,completeEdit会清空缓存)\n (table as ListTableAPI).editorManager?.completeEdit();\n table.getElement().focus();\n table.selectCell(targetCol, targetRow);\n if (isEditingCell) {\n if ((table as ListTableAPI).getEditor(targetCol, targetRow)) {\n (table as ListTableAPI).editorManager?.startEditCell(targetCol, targetRow);\n }\n }\n }\n }\n } else if (!(e.ctrlKey || e.metaKey)) {\n const editCellTrigger = (table.options as ListTableConstructorOptions).editCellTrigger;\n const selectedRanges = table.stateManager.select.ranges;\n const justOneCellSelected =\n selectedRanges.length === 1 &&\n selectedRanges[0].start.col === selectedRanges[0].end.col &&\n selectedRanges[0].start.row === selectedRanges[0].end.row;\n if (justOneCellSelected) {\n if (\n (editCellTrigger === 'keydown' || (Array.isArray(editCellTrigger) && editCellTrigger.includes('keydown'))) &&\n !table.editorManager?.editingEditor\n ) {\n const allowedKeys = /^[a-zA-Z0-9+\\-*\\/%=.,\\s]$/; // 允许的键值正则表达式\n if (e.key.match(allowedKeys)) {\n table.editorManager && (table.editorManager.beginTriggerEditCellMode = 'keydown');\n table.editorManager?.startEditCell(stateManager.select.cellPos.col, stateManager.select.cellPos.row, '');\n }\n }\n }\n }\n handleKeydownListener(e);\n });\n\n /**\n * 处理主动注册的keydown事件\n * @param e\n */\n function handleKeydownListener(e: KeyboardEvent) {\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.KEYDOWN)) {\n const cellsEvent: KeydownEvent = {\n keyCode: e.keyCode ?? e.which,\n code: e.code,\n event: e,\n // cells: table.getSelectedCellInfos(),\n scaleRatio: table.canvas.getBoundingClientRect().width / table.canvas.offsetWidth\n };\n table.fireListeners(TABLE_EVENT_TYPE.KEYDOWN, cellsEvent);\n }\n }\n\n handler.on(table.getElement(), 'copy', async (e: KeyboardEvent) => {\n if (table.keyboardOptions?.copySelected) {\n eventManager.handleCopy(e);\n }\n });\n handler.on(table.getElement(), 'cut', async (e: KeyboardEvent) => {\n if (table.keyboardOptions?.cutSelected) {\n eventManager.handleCut(e);\n }\n });\n handler.on(table.getElement(), 'paste', async (e: any) => {\n if (table.keyboardOptions?.pasteValueToCell) {\n eventManager.handlePaste(e);\n }\n });\n\n handler.on(table.getElement(), 'contextmenu', (e: any) => {\n if (table.eventOptions?.preventDefaultContextMenu !== false) {\n e.preventDefault();\n } else {\n // default context menu will cause pointerup event can not trigger\n // call manually\n globalPointerupCallback(e);\n }\n });\n\n if (!table.options.canvas) {\n handler.on(table.getContainer(), 'resize', e => {\n if (table.isReleased) {\n return;\n }\n if (e.width === 0 && e.height === 0) {\n // 临时绕行解决因为display设置为none产生的问题\n return;\n }\n if (\n table.autoFillWidth ||\n table.autoFillHeight ||\n table.widthMode === 'adaptive' ||\n table.heightMode === 'adaptive'\n ) {\n table.editorManager?.completeEdit();\n }\n if (!isValid(table.options.pixelRatio)) {\n table.setPixelRatio(getPixelRatio());\n }\n if (!e.windowSizeNotChange) {\n table.resize();\n }\n });\n }\n\n // 有被阻止冒泡的场景 就触发不到这里的事件了 所以这个LastBodyPointerXY变量的赋值在scrollbar的down事件也进行了处理\n const globalPointerdownCallback = (e: MouseEvent) => {\n if (table.isReleased) {\n return;\n }\n // console.log('body pointerdown');\n table.eventManager.LastBodyPointerXY = { x: e.x, y: e.y };\n table.eventManager.isDown = true;\n\n const target = e.target as HTMLElement;\n if (!table.getElement().contains(target) && !table.internalProps.menuHandler.containElement(target)) {\n // 如果点击到表格外部的dom\n const isCompleteEdit = (table as ListTableAPI).editorManager?.completeEdit(e);\n getPromiseValue<boolean>(isCompleteEdit, isCompleteEdit => {\n if (isCompleteEdit === false) {\n // 如果没有正常退出编辑状态 则不执行下面的逻辑 如选择其他单元格的逻辑\n return;\n }\n //点击到表格外部不需要取消选中状态\n if (table.options.select?.outsideClickDeselect) {\n const isHasSelected = !!stateManager.select.ranges?.length;\n eventManager.dealTableSelect();\n stateManager.endSelectCells(true, isHasSelected);\n }\n });\n table.scenegraph.updateChartState(null, undefined);\n table.scenegraph.deactivateChart(-1, -1, true);\n }\n };\n eventManager.globalEventListeners.push({\n name: 'pointerdown',\n env: 'vglobal',\n callback: globalPointerdownCallback\n });\n vglobal.addEventListener('pointerdown', globalPointerdownCallback);\n\n const globalPointerupOutsideCallback = (e: MouseEvent) => {\n // console.log('pointerupoutside');\n // const eventArgsSet: SceneEvent = getCellEventArgsSet(e);\n if (stateManager.menu.isShow) {\n setTimeout(() => {\n // conside page scroll\n if (!table.internalProps.menuHandler.pointInMenuElement(e.clientX, e.clientY)) {\n stateManager.menu.isShow && stateManager.hideMenu();\n }\n }, 0);\n }\n // 同pointerup中的逻辑\n if (stateManager.isResizeCol()) {\n endResizeCol(table);\n } else if (stateManager.isResizeRow()) {\n endResizeRow(table);\n } else if (stateManager.isMoveCol()) {\n const endMoveColSuccess = table.stateManager.endMoveCol();\n fireMoveColEventListeners(table, endMoveColSuccess, e);\n } else if (stateManager.isSelecting()) {\n if (table.stateManager.select?.ranges?.length) {\n const lastCol = table.stateManager.select.ranges[table.stateManager.select.ranges.length - 1].end.col;\n const lastRow = table.stateManager.select.ranges[table.stateManager.select.ranges.length - 1].end.row;\n table.stateManager.endSelectCells();\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.DRAG_SELECT_END)) {\n const cellsEvent: MousePointerMultiCellEvent = {\n event: e,\n cells: [],\n col: lastCol,\n row: lastRow,\n scaleRatio: table.canvas.getBoundingClientRect().width / table.canvas.offsetWidth,\n target: undefined\n };\n cellsEvent.cells = table.getSelectedCellInfos();\n table.fireListeners(TABLE_EVENT_TYPE.DRAG_SELECT_END, cellsEvent);\n }\n }\n }\n };\n\n const globalPointerupCallback = (e: MouseEvent) => {\n if (table.isReleased) {\n return;\n }\n const target = e.target as HTMLElement;\n\n if (target !== table.canvas) {\n globalPointerupOutsideCallback(e);\n }\n\n table.eventManager.LastBodyPointerXY = null;\n // console.log('body pointerup', table.eventManager.isDown, table.eventManager.isDraging);\n table.eventManager.isDown = false;\n table.eventManager.isDraging = false;\n table.eventManager.inertiaScroll.endInertia();\n if (stateManager.interactionState === 'grabing' && stateManager.isResizeCol()) {\n endResizeCol(table);\n } else if (stateManager.interactionState === 'grabing' && stateManager.isResizeRow()) {\n endResizeRow(table);\n } else if (stateManager.isMoveCol()) {\n const endMoveColSuccess = table.stateManager.endMoveCol();\n fireMoveColEventListeners(table, endMoveColSuccess, e);\n } else if (table.editorManager?.editingEditor) {\n if (!table.getElement().contains(target)) {\n // 如果点击到表格外部的dom\n const isCompleteEdit = (table as ListTableAPI).editorManager?.completeEdit(e);\n getPromiseValue<boolean>(isCompleteEdit, (isCompleteEdit: boolean) => {\n if (isCompleteEdit === false) {\n // 如果没有正常退出编辑状态 则不执行下面的逻辑 如选择其他单元格的逻辑\n return;\n }\n stateManager.updateInteractionState(InteractionState.default);\n eventManager.dealTableHover();\n });\n }\n }\n stateManager.updateInteractionState(InteractionState.default);\n };\n eventManager.globalEventListeners.push({\n name: 'pointerup',\n env: 'vglobal',\n callback: globalPointerupCallback\n });\n vglobal.addEventListener('pointerup', globalPointerupCallback);\n\n const globalPointermoveCallback = (e: MouseEvent) => {\n if (table.eventManager.isDown && table.eventManager.LastBodyPointerXY) {\n const lastX = table.eventManager.LastBodyPointerXY?.x ?? e.x;\n const lastY = table.eventManager.LastBodyPointerXY?.y ?? e.y;\n if (Math.abs(lastX - e.x) > 1 || Math.abs(lastY - e.y) > 1) {\n table.eventManager.isDraging = true;\n }\n }\n // 注释掉。因为: 这里pointermove太敏感了 点击快的时候 可能动了1px这里也会执行到 就影响到下面选中不触发的问题。下面pointermove就有这段逻辑,这里先去掉\n // if (eventManager.touchSetTimeout) {\n // clearTimeout(eventManager.touchSetTimeout);\n // console.log('eventManager.touchSetTimeout', eventManager.touchSetTimeout);\n // eventManager.touchSetTimeout = undefined;\n // }\n const { x, y } = table._getMouseAbstractPoint(e);\n // if (stateManager.interactionState === InteractionState.scrolling) {\n // return;\n // }\n if (stateManager.interactionState === InteractionState.grabing) {\n if (stateManager.isResizeCol()) {\n eventManager.dealColumnResize(x, y);\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.RESIZE_COLUMN)) {\n table.fireListeners(TABLE_EVENT_TYPE.RESIZE_COLUMN, {\n col: table.stateManager.columnResize.col,\n colWidth: table.getColWidth(table.stateManager.columnResize.col)\n });\n }\n } else if (stateManager.isResizeRow()) {\n eventManager.dealRowResize(x, y);\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.RESIZE_ROW)) {\n table.fireListeners(TABLE_EVENT_TYPE.RESIZE_ROW, {\n row: table.stateManager.rowResize.row,\n rowHeight: table.getRowHeight(table.stateManager.rowResize.row)\n });\n }\n } else if (stateManager.isMoveCol()) {\n eventManager.dealColumnMover(x, y, e);\n }\n }\n const isSelecting = table.stateManager.isSelecting();\n\n if (\n eventManager._enableTableScroll &&\n eventManager.isDraging &&\n isSelecting &&\n table.stateManager.select.ranges?.length > 0\n ) {\n // 检测鼠标是否离开了table\n const drawRange = table.getDrawRange();\n // const element = table.getElement();\n // const { x: rootLeft, y: rootTop, width: rootWidth } = element.getBoundingClientRect();\n // const tableLeft = drawRange.left + rootLeft;\n // const tableTop = drawRange.top + rootTop;\n // const tableRight = tableLeft + drawRange.width;\n // const tableBottom = tableTop + drawRange.height;\n // console.log('x, y', x, y);\n const topFrozenRowHeight = table.getFrozenRowsHeight();\n const bottomFrozenRowHeight = table.getBottomFrozenRowsHeight();\n const leftFrozenColsWidth = table.getFrozenColsWidth();\n const rightFrozenColsWidth = table.getRightFrozenColsWidth();\n const startCell = table.stateManager.select.ranges[table.stateManager.select.ranges.length - 1].start;\n if (table.isSeriesNumber(startCell.col, startCell.row)) {\n //如果是鼠标落到了序号列 不自动滚动\n return;\n }\n const endCell = table.stateManager.select.ranges[table.stateManager.select.ranges.length - 1].end;\n const canScrollY =\n (table.isFrozenRow(startCell.row) === false || table.isFrozenRow(endCell.row) === false) &&\n table.getAllRowsHeight() > table.tableNoFrameHeight;\n const canScrollX =\n (table.isFrozenColumn(startCell.col) === false || table.isFrozenColumn(endCell.col) === false) &&\n table.getAllColsWidth() > table.tableNoFrameWidth;\n if (\n ((y > drawRange.bottom - bottomFrozenRowHeight || y < drawRange.top + topFrozenRowHeight) && canScrollY) ||\n ((x > drawRange.right - rightFrozenColsWidth || x < drawRange.left + leftFrozenColsWidth) && canScrollX)\n ) {\n table.eventManager.scrollXSpeed = 0;\n table.eventManager.scrollYSpeed = 0;\n let bottom = false;\n let top = false;\n let right = false;\n let left = false;\n if (\n y > drawRange.bottom - bottomFrozenRowHeight &&\n canScrollY &&\n table.scrollTop + table.tableNoFrameHeight < table.getAllRowsHeight()\n ) {\n bottom = true;\n table.eventManager.scrollYSpeed = -(y - drawRange.bottom + bottomFrozenRowHeight) / 50;\n } else if (y < drawRange.top + topFrozenRowHeight && canScrollY && table.scrollTop > 0) {\n top = true;\n table.eventManager.scrollYSpeed = -(y - drawRange.top - topFrozenRowHeight) / 50;\n }\n\n if (\n x > drawRange.right - rightFrozenColsWidth &&\n canScrollX &&\n table.scrollLeft + table.tableNoFrameWidth < table.getAllColsWidth()\n ) {\n right = true;\n table.eventManager.scrollXSpeed = -(x - drawRange.right + rightFrozenColsWidth) / 50;\n } else if (x < drawRange.left + leftFrozenColsWidth && canScrollX && table.scrollLeft > 0) {\n left = true;\n table.eventManager.scrollXSpeed = -(x - drawRange.left - leftFrozenColsWidth) / 50;\n }\n table.eventManager.inertiaScroll.startInertia(\n table.eventManager.scrollXSpeed,\n table.eventManager.scrollYSpeed,\n 1\n );\n table.eventManager.inertiaScroll.setScrollHandle((dx: number, dy: number) => {\n handleWhell({ deltaX: -dx, deltaY: -dy } as any, table.stateManager, false);\n\n let selectX: number;\n let selectY: number;\n\n if (bottom) {\n selectY = table.scrollTop + drawRange.height - bottomFrozenRowHeight - 20;\n } else if (top) {\n selectY = table.scrollTop + topFrozenRowHeight + 20;\n }\n\n if (right) {\n selectX = table.scrollLeft + drawRange.width - rightFrozenColsWidth - 20;\n } else if (left) {\n selectX = table.scrollLeft + leftFrozenColsWidth + 20;\n }\n\n let considerFrozenY = false;\n let considerFrozenX = false;\n if (!right && !left) {\n if (\n (x > table.tableNoFrameWidth - table.getRightFrozenColsWidth() && x < table.tableNoFrameWidth) ||\n (x > 0 && x < table.getFrozenColsWidth())\n ) {\n selectX = x;\n considerFrozenX = true;\n } else {\n selectX = table.scrollLeft + x;\n }\n }\n if (!bottom && !top) {\n if (\n (y > table.tableNoFrameHeight - table.getBottomFrozenRowsHeight() && y < table.tableNoFrameHeight) ||\n (y > 0 && y < table.getFrozenRowsHeight())\n ) {\n selectY = y;\n considerFrozenY = true;\n } else {\n selectY = table.scrollTop + y;\n }\n }\n table.stateManager.updateInteractionState(InteractionState.grabing);\n const targetCol = table.getTargetColAtConsiderRightFrozen(selectX, considerFrozenX);\n const targetRow = table.getTargetRowAtConsiderBottomFrozen(selectY, considerFrozenY);\n if (!table.options.select?.disableDragSelect && isValid(targetCol) && isValid(targetRow)) {\n table.stateManager.updateSelectPos(\n table.stateManager.select.selectInline === 'row' ? table.colCount - 1 : targetCol.col,\n table.stateManager.select.selectInline === 'col' ? table.rowCount - 1 : targetRow.row,\n false,\n false,\n false,\n false\n );\n }\n });\n } else if (table.eventManager.inertiaScroll.isInertiaScrolling()) {\n table.eventManager.inertiaScroll.endInertia();\n } else {\n table.eventManager.scrollYSpeed = 0;\n }\n }\n };\n eventManager.globalEventListeners.push({\n name: 'pointermove',\n env: 'vglobal',\n callback: globalPointermoveCallback\n });\n vglobal.addEventListener('pointermove', globalPointermoveCallback);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/event/listener/container-dom.ts"],"names":[],"mappings":"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","file":"container-dom.js","sourcesContent":["import { isValid } from '@visactor/vutils';\nimport type { EventHandler } from '../EventHandler';\nimport type { ListTableConstructorOptions, MousePointerMultiCellEvent } from '../../ts-types';\nimport { InteractionState, type KeydownEvent, type ListTableAPI } from '../../ts-types';\nimport { TABLE_EVENT_TYPE } from '../../core/TABLE_EVENT_TYPE';\nimport { handleWhell } from '../scroll';\nimport { browser, getPromiseValue } from '../../tools/helper';\nimport type { EventManager } from '../event';\nimport { getPixelRatio } from '../../tools/pixel-ratio';\nimport { endResizeCol, endResizeRow } from './table-group';\nimport { isCellDisableSelect } from '../../state/select/is-cell-select-highlight';\nimport { fireMoveColEventListeners } from '../helper';\nimport { vglobal } from './../../vrender';\nexport function bindContainerDomListener(eventManager: EventManager) {\n const table = eventManager.table;\n const stateManager = table.stateManager;\n const handler: EventHandler = table.internalProps.handler;\n\n // handler.on(table.getElement(), 'mousedown', (e: MouseEvent) => {\n // if (table.eventManager.isPointerDownOnTable) {\n // e.stopPropagation();\n // }\n // });\n\n handler.on(table.getElement(), 'blur', (e: FocusEvent) => {\n // 检查焦点是否转移到了表格内部的元素(如 editInputElement)\n // 如果是,则不处理 blur 事件,避免在编辑时触发不必要的逻辑\n const relatedTarget = e.relatedTarget as HTMLElement;\n if (relatedTarget) {\n // 检查是否是编辑器内部的 input\n const selectedRanges = table.stateManager.select.ranges;\n const justOneCellSelected =\n selectedRanges.length === 1 &&\n selectedRanges[0].start.col === selectedRanges[0].end.col &&\n selectedRanges[0].start.row === selectedRanges[0].end.row;\n const editor =\n justOneCellSelected &&\n (table as ListTableAPI).getEditor(table.stateManager.select.cellPos.col, table.stateManager.select.cellPos.row);\n const editorInput = editor?.getInputElement?.();\n if (editorInput === relatedTarget) {\n return;\n }\n }\n\n eventManager.dealTableHover();\n // eventManager.dealTableSelect();\n });\n\n // 监听键盘事件\n handler.on(table.getElement(), 'keydown', (e: KeyboardEvent) => {\n // 键盘按下事件 内部逻辑处理前\n const beforeKeydownEvent: KeydownEvent = {\n keyCode: e.keyCode ?? e.which,\n code: e.code,\n event: e\n };\n table.fireListeners(TABLE_EVENT_TYPE.BEFORE_KEYDOWN, beforeKeydownEvent);\n // 键盘按下事件 内部逻辑处理\n if (e.key === 'a' && (e.ctrlKey || e.metaKey)) {\n if (table.keyboardOptions?.selectAllOnCtrlA) {\n // 处理全选\n e.preventDefault();\n //全选\n eventManager.deelTableSelectAll();\n }\n } else if (\n stateManager.select.cellPos.col >= 0 &&\n stateManager.select.cellPos.row >= 0 &&\n (e.key === 'ArrowUp' || e.key === 'ArrowDown' || e.key === 'ArrowLeft' || e.key === 'ArrowRight')\n ) {\n if (\n (!(table.options.keyboardOptions?.moveEditCellOnArrowKeys ?? false) &&\n (table as ListTableAPI).editorManager?.editingEditor) ||\n table.options.keyboardOptions?.moveSelectedCellOnArrowKeys === false\n ) {\n // 编辑单元格状态下 如果没有开启方向键切换cell 则退出 。方向键可以在编辑input内移动光标\n return;\n }\n e.preventDefault();\n // 如果不加这句话 外部监听了键盘事件 会影响表格本身的移动格子功能,例如自定义日历编辑器的日期选择pickday.js\n //可能会引起其他问题 例如自定义实现了日历编辑器 里面切换日期左右键可能失效,这个时候建议监听VTable实例的事件keydown\n e.stopPropagation();\n let targetCol;\n let targetRow;\n\n // 处理向上箭头键\n if (e.key === 'ArrowUp') {\n if (e.ctrlKey || e.metaKey) {\n targetCol = stateManager.select.cellPos.col;\n targetRow = 0;\n } else if (e.shiftKey) {\n targetCol = stateManager.select.cellPos.col;\n targetRow = Math.min(table.rowCount - 1, Math.max(0, stateManager.select.cellPos.row - 1));\n } else {\n targetCol = stateManager.select.cellPos.col;\n targetRow = Math.min(table.rowCount - 1, Math.max(0, stateManager.select.cellPos.row - 1));\n }\n } else if (e.key === 'ArrowDown') {\n // 处理向下箭头键\n if (e.ctrlKey || e.metaKey) {\n targetCol = stateManager.select.cellPos.col;\n targetRow = table.rowCount - 1;\n } else if (e.shiftKey) {\n targetCol = stateManager.select.cellPos.col;\n targetRow = Math.min(table.rowCount - 1, Math.max(0, stateManager.select.cellPos.row + 1));\n } else {\n targetCol = stateManager.select.cellPos.col;\n targetRow = Math.min(table.rowCount - 1, Math.max(0, stateManager.select.cellPos.row + 1));\n }\n } else if (e.key === 'ArrowLeft') {\n // 处理向左箭头键\n if (e.ctrlKey || e.metaKey) {\n targetCol = 0;\n targetRow = stateManager.select.cellPos.row;\n } else if (e.shiftKey) {\n targetRow = stateManager.select.cellPos.row;\n targetCol = Math.min(table.colCount - 1, Math.max(0, stateManager.select.cellPos.col - 1));\n } else {\n targetRow = stateManager.select.cellPos.row;\n targetCol = Math.min(table.colCount - 1, Math.max(0, stateManager.select.cellPos.col - 1));\n }\n } else if (e.key === 'ArrowRight') {\n // 处理向右箭头键\n if (e.ctrlKey || e.metaKey) {\n targetCol = table.colCount - 1;\n targetRow = stateManager.select.cellPos.row;\n } else if (e.shiftKey) {\n targetRow = stateManager.select.cellPos.row;\n targetCol = Math.min(table.colCount - 1, Math.max(0, stateManager.select.cellPos.col + 1));\n } else {\n targetRow = stateManager.select.cellPos.row;\n targetCol = Math.min(table.colCount - 1, Math.max(0, stateManager.select.cellPos.col + 1));\n }\n }\n // 如果是不支持选中的单元格 则退出\n if (isCellDisableSelect(table, targetCol, targetRow)) {\n return;\n }\n const isEditingCell = !!(table as ListTableAPI).editorManager?.editingEditor;\n // 下面这句completeEdit代码和selectCell代码顺序很重要,不能颠倒,否则会导致编辑器失去焦点(selectCell会触发到edit-manager的selected_changed事件,getEditor会创建editor实例并缓存,completeEdit会清空缓存)\n (table as ListTableAPI).editorManager?.completeEdit();\n table.getElement().focus();\n const enableShiftSelectMode = table.options.keyboardOptions?.shiftMultiSelect ?? true;\n table.selectCell(targetCol, targetRow, e.shiftKey && enableShiftSelectMode);\n if ((table.options.keyboardOptions?.moveEditCellOnArrowKeys ?? false) && isEditingCell) {\n // 开启了方向键切换编辑单元格 并且当前已经在编辑状态下 切换到下一个需先退出再进入下个单元格的编辑\n if ((table as ListTableAPI).getEditor(targetCol, targetRow)) {\n (table as ListTableAPI).editorManager?.startEditCell(targetCol, targetRow);\n }\n }\n } else if (e.key === 'Escape') {\n (table as ListTableAPI).editorManager?.cancelEdit();\n table.getElement().focus();\n } else if (e.key === 'Enter') {\n // 如果按enter键 可以结束当前的编辑 或开启编辑选中的单元格(仅限单选)\n if ((table as ListTableAPI).editorManager?.editingEditor) {\n // 如果是结束当前编辑,且有主动监听keydown事件,则先触发keydown事件,之后再结束编辑\n handleKeydownListener(e);\n (table as ListTableAPI).editorManager?.completeEdit();\n table.getElement().focus();\n\n if (table.options.keyboardOptions?.moveFocusCellOnEnter === true) {\n // 利用enter键选中下一个单元格\n const targetCol = stateManager.select.cellPos.col;\n const targetRow = Math.min(table.rowCount - 1, Math.max(0, stateManager.select.cellPos.row + 1));\n // 如果是不支持选中的单元格 则退出\n if (isCellDisableSelect(table, targetCol, targetRow)) {\n return;\n }\n const enableShiftSelectMode = table.options.keyboardOptions?.shiftMultiSelect ?? true;\n table.selectCell(targetCol, targetRow, e.shiftKey && enableShiftSelectMode);\n }\n // 直接返回,不再触发最后的keydown监听事件相关代码\n return;\n }\n if (table.options.keyboardOptions?.moveFocusCellOnEnter === true) {\n // 利用enter键选中下一个单元格\n const targetCol = stateManager.select.cellPos.col;\n const targetRow = Math.min(table.rowCount - 1, Math.max(0, stateManager.select.cellPos.row + 1));\n // 如果是不支持选中的单元格 则退出\n if (isCellDisableSelect(table, targetCol, targetRow)) {\n return;\n }\n const enableShiftSelectMode = table.options.keyboardOptions?.shiftMultiSelect ?? true;\n table.selectCell(targetCol, targetRow, e.shiftKey && enableShiftSelectMode);\n } else if (\n (table.options.keyboardOptions?.editCellOnEnter ?? true) &&\n (table.stateManager.select.ranges?.length ?? 0) === 1\n ) {\n // 如果开启按enter键进入编辑的配置 且当前有选中的单元格 则进入编辑(仅限单选)\n const startCol = table.stateManager.select.ranges[0].start.col;\n const startRow = table.stateManager.select.ranges[0].start.row;\n const endCol = table.stateManager.select.ranges[0].end.col;\n const endRow = table.stateManager.select.ranges[0].end.row;\n if (startCol === endCol && startRow === endRow) {\n if ((table as ListTableAPI).getEditor(startCol, startRow)) {\n (table as ListTableAPI).editorManager?.startEditCell(startCol, startRow);\n }\n }\n }\n } else if (e.key === 'Tab') {\n if (table.options.keyboardOptions?.moveFocusCellOnTab ?? true) {\n if (stateManager.select.cellPos.col >= 0 && stateManager.select.cellPos.row >= 0) {\n const isLastCell =\n stateManager.select.cellPos.col === table.colCount - 1 &&\n stateManager.select.cellPos.row === table.rowCount - 1;\n\n if (isLastCell) {\n return;\n }\n\n e.preventDefault();\n\n let targetCol;\n let targetRow;\n if (stateManager.select.cellPos.col === table.colCount - 1) {\n targetRow = Math.min(table.rowCount - 1, stateManager.select.cellPos.row + 1);\n targetCol = table.rowHeaderLevelCount;\n } else {\n targetRow = stateManager.select.cellPos.row;\n targetCol = stateManager.select.cellPos.col + 1;\n }\n // 如果是不支持选中的单元格 则退出\n if (isCellDisableSelect(table, targetCol, targetRow)) {\n return;\n }\n const isEditingCell = !!(table as ListTableAPI).editorManager?.editingEditor;\n // 下面这句completeEdit代码和selectCell代码顺序很重要,不能颠倒,否则会导致编辑器失去焦点(selectCell会触发到edit-manager的selected_changed事件,getEditor会创建editor实例并缓存,completeEdit会清空缓存)\n (table as ListTableAPI).editorManager?.completeEdit();\n table.getElement().focus();\n table.selectCell(targetCol, targetRow);\n if (isEditingCell) {\n if ((table as ListTableAPI).getEditor(targetCol, targetRow)) {\n (table as ListTableAPI).editorManager?.startEditCell(targetCol, targetRow);\n }\n }\n }\n }\n } else if (!(e.ctrlKey || e.metaKey)) {\n const editCellTrigger = (table.options as ListTableConstructorOptions).editCellTrigger;\n const selectedRanges = table.stateManager.select.ranges;\n const justOneCellSelected =\n selectedRanges.length === 1 &&\n selectedRanges[0].start.col === selectedRanges[0].end.col &&\n selectedRanges[0].start.row === selectedRanges[0].end.row;\n if (justOneCellSelected) {\n if (\n (editCellTrigger === 'keydown' || (Array.isArray(editCellTrigger) && editCellTrigger.includes('keydown'))) &&\n !table.editorManager?.editingEditor\n ) {\n const allowedKeys = /^[a-zA-Z0-9+\\-*\\/%=.,\\s]$/; // 允许的键值正则表达式\n if (e.key.match(allowedKeys)) {\n table.editorManager && (table.editorManager.beginTriggerEditCellMode = 'keydown');\n table.editorManager?.startEditCell(stateManager.select.cellPos.col, stateManager.select.cellPos.row, '');\n }\n }\n }\n }\n handleKeydownListener(e);\n });\n\n /**\n * 处理主动注册的keydown事件\n * @param e\n */\n function handleKeydownListener(e: KeyboardEvent) {\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.KEYDOWN)) {\n const cellsEvent: KeydownEvent = {\n keyCode: e.keyCode ?? e.which,\n code: e.code,\n event: e,\n // cells: table.getSelectedCellInfos(),\n scaleRatio: table.canvas.getBoundingClientRect().width / table.canvas.offsetWidth\n };\n table.fireListeners(TABLE_EVENT_TYPE.KEYDOWN, cellsEvent);\n }\n }\n\n handler.on(table.getElement(), 'copy', async (e: KeyboardEvent) => {\n if (table.keyboardOptions?.copySelected) {\n eventManager.handleCopy(e);\n }\n });\n handler.on(table.getElement(), 'cut', async (e: KeyboardEvent) => {\n if (table.keyboardOptions?.cutSelected) {\n eventManager.handleCut(e);\n }\n });\n handler.on(table.getElement(), 'paste', async (e: any) => {\n if (table.keyboardOptions?.pasteValueToCell) {\n eventManager.handlePaste(e);\n }\n });\n\n handler.on(table.getElement(), 'contextmenu', (e: any) => {\n if (table.eventOptions?.preventDefaultContextMenu !== false) {\n e.preventDefault();\n } else {\n // default context menu will cause pointerup event can not trigger\n // call manually\n globalPointerupCallback(e);\n }\n });\n\n if (!table.options.canvas) {\n handler.on(table.getContainer(), 'resize', e => {\n if (table.isReleased) {\n return;\n }\n if (e.width === 0 && e.height === 0) {\n // 临时绕行解决因为display设置为none产生的问题\n return;\n }\n if (\n table.autoFillWidth ||\n table.autoFillHeight ||\n table.widthMode === 'adaptive' ||\n table.heightMode === 'adaptive'\n ) {\n table.editorManager?.completeEdit();\n }\n if (!isValid(table.options.pixelRatio)) {\n table.setPixelRatio(getPixelRatio());\n }\n if (!e.windowSizeNotChange) {\n table.resize();\n }\n });\n }\n\n // 有被阻止冒泡的场景 就触发不到这里的事件了 所以这个LastBodyPointerXY变量的赋值在scrollbar的down事件也进行了处理\n const globalPointerdownCallback = (e: MouseEvent) => {\n if (table.isReleased) {\n return;\n }\n // console.log('body pointerdown');\n table.eventManager.LastBodyPointerXY = { x: e.x, y: e.y };\n table.eventManager.isDown = true;\n\n const target = e.target as HTMLElement;\n if (!table.getElement().contains(target) && !table.internalProps.menuHandler.containElement(target)) {\n // 如果点击到表格外部的dom\n const isCompleteEdit = (table as ListTableAPI).editorManager?.completeEdit(e);\n getPromiseValue<boolean>(isCompleteEdit, isCompleteEdit => {\n if (isCompleteEdit === false) {\n // 如果没有正常退出编辑状态 则不执行下面的逻辑 如选择其他单元格的逻辑\n return;\n }\n //点击到表格外部不需要取消选中状态\n if (table.options.select?.outsideClickDeselect) {\n const isHasSelected = !!stateManager.select.ranges?.length;\n eventManager.dealTableSelect();\n stateManager.endSelectCells(true, isHasSelected);\n }\n });\n }\n };\n eventManager.globalEventListeners.push({\n name: 'pointerdown',\n env: 'vglobal',\n callback: globalPointerdownCallback\n });\n vglobal.addEventListener('pointerdown', globalPointerdownCallback);\n\n const globalPointerupOutsideCallback = (e: MouseEvent) => {\n // console.log('pointerupoutside');\n // const eventArgsSet: SceneEvent = getCellEventArgsSet(e);\n if (stateManager.menu.isShow) {\n setTimeout(() => {\n // conside page scroll\n if (!table.internalProps.menuHandler.pointInMenuElement(e.clientX, e.clientY)) {\n stateManager.menu.isShow && stateManager.hideMenu();\n }\n }, 0);\n }\n // 同pointerup中的逻辑\n if (stateManager.isResizeCol()) {\n endResizeCol(table);\n } else if (stateManager.isResizeRow()) {\n endResizeRow(table);\n } else if (stateManager.isMoveCol()) {\n const endMoveColSuccess = table.stateManager.endMoveCol();\n fireMoveColEventListeners(table, endMoveColSuccess, e);\n } else if (stateManager.isSelecting()) {\n if (table.stateManager.select?.ranges?.length) {\n const lastCol = table.stateManager.select.ranges[table.stateManager.select.ranges.length - 1].end.col;\n const lastRow = table.stateManager.select.ranges[table.stateManager.select.ranges.length - 1].end.row;\n table.stateManager.endSelectCells();\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.DRAG_SELECT_END)) {\n const cellsEvent: MousePointerMultiCellEvent = {\n event: e,\n cells: [],\n col: lastCol,\n row: lastRow,\n scaleRatio: table.canvas.getBoundingClientRect().width / table.canvas.offsetWidth,\n target: undefined\n };\n cellsEvent.cells = table.getSelectedCellInfos();\n table.fireListeners(TABLE_EVENT_TYPE.DRAG_SELECT_END, cellsEvent);\n }\n }\n }\n };\n\n const globalPointerupCallback = (e: MouseEvent) => {\n if (table.isReleased) {\n return;\n }\n const target = e.target as HTMLElement;\n\n if (target !== table.canvas) {\n globalPointerupOutsideCallback(e);\n }\n\n table.eventManager.LastBodyPointerXY = null;\n // console.log('body pointerup', table.eventManager.isDown, table.eventManager.isDraging);\n table.eventManager.isDown = false;\n table.eventManager.isDraging = false;\n table.eventManager.inertiaScroll.endInertia();\n if (stateManager.interactionState === 'grabing' && stateManager.isResizeCol()) {\n endResizeCol(table);\n } else if (stateManager.interactionState === 'grabing' && stateManager.isResizeRow()) {\n endResizeRow(table);\n } else if (stateManager.isMoveCol()) {\n const endMoveColSuccess = table.stateManager.endMoveCol();\n fireMoveColEventListeners(table, endMoveColSuccess, e);\n } else if (table.editorManager?.editingEditor) {\n if (!table.getElement().contains(target)) {\n // 如果点击到表格外部的dom\n const isCompleteEdit = (table as ListTableAPI).editorManager?.completeEdit(e);\n getPromiseValue<boolean>(isCompleteEdit, (isCompleteEdit: boolean) => {\n if (isCompleteEdit === false) {\n // 如果没有正常退出编辑状态 则不执行下面的逻辑 如选择其他单元格的逻辑\n return;\n }\n stateManager.updateInteractionState(InteractionState.default);\n eventManager.dealTableHover();\n });\n }\n }\n stateManager.updateInteractionState(InteractionState.default);\n };\n eventManager.globalEventListeners.push({\n name: 'pointerup',\n env: 'vglobal',\n callback: globalPointerupCallback\n });\n vglobal.addEventListener('pointerup', globalPointerupCallback);\n\n const globalPointermoveCallback = (e: MouseEvent) => {\n if (table.eventManager.isDown && table.eventManager.LastBodyPointerXY) {\n const lastX = table.eventManager.LastBodyPointerXY?.x ?? e.x;\n const lastY = table.eventManager.LastBodyPointerXY?.y ?? e.y;\n if (Math.abs(lastX - e.x) > 1 || Math.abs(lastY - e.y) > 1) {\n table.eventManager.isDraging = true;\n }\n }\n // 注释掉。因为: 这里pointermove太敏感了 点击快的时候 可能动了1px这里也会执行到 就影响到下面选中不触发的问题。下面pointermove就有这段逻辑,这里先去掉\n // if (eventManager.touchSetTimeout) {\n // clearTimeout(eventManager.touchSetTimeout);\n // console.log('eventManager.touchSetTimeout', eventManager.touchSetTimeout);\n // eventManager.touchSetTimeout = undefined;\n // }\n const { x, y } = table._getMouseAbstractPoint(e);\n // if (stateManager.interactionState === InteractionState.scrolling) {\n // return;\n // }\n if (stateManager.interactionState === InteractionState.grabing) {\n if (stateManager.isResizeCol()) {\n eventManager.dealColumnResize(x, y);\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.RESIZE_COLUMN)) {\n table.fireListeners(TABLE_EVENT_TYPE.RESIZE_COLUMN, {\n col: table.stateManager.columnResize.col,\n colWidth: table.getColWidth(table.stateManager.columnResize.col)\n });\n }\n } else if (stateManager.isResizeRow()) {\n eventManager.dealRowResize(x, y);\n if ((table as any).hasListeners(TABLE_EVENT_TYPE.RESIZE_ROW)) {\n table.fireListeners(TABLE_EVENT_TYPE.RESIZE_ROW, {\n row: table.stateManager.rowResize.row,\n rowHeight: table.getRowHeight(table.stateManager.rowResize.row)\n });\n }\n } else if (stateManager.isMoveCol()) {\n eventManager.dealColumnMover(x, y, e);\n }\n }\n const isSelecting = table.stateManager.isSelecting();\n\n if (\n eventManager._enableTableScroll &&\n eventManager.isDraging &&\n isSelecting &&\n table.stateManager.select.ranges?.length > 0\n ) {\n // 检测鼠标是否离开了table\n const drawRange = table.getDrawRange();\n // const element = table.getElement();\n // const { x: rootLeft, y: rootTop, width: rootWidth } = element.getBoundingClientRect();\n // const tableLeft = drawRange.left + rootLeft;\n // const tableTop = drawRange.top + rootTop;\n // const tableRight = tableLeft + drawRange.width;\n // const tableBottom = tableTop + drawRange.height;\n // console.log('x, y', x, y);\n const topFrozenRowHeight = table.getFrozenRowsHeight();\n const bottomFrozenRowHeight = table.getBottomFrozenRowsHeight();\n const leftFrozenColsWidth = table.getFrozenColsWidth();\n const rightFrozenColsWidth = table.getRightFrozenColsWidth();\n const startCell = table.stateManager.select.ranges[table.stateManager.select.ranges.length - 1].start;\n if (table.isSeriesNumber(startCell.col, startCell.row)) {\n //如果是鼠标落到了序号列 不自动滚动\n return;\n }\n const endCell = table.stateManager.select.ranges[table.stateManager.select.ranges.length - 1].end;\n const canScrollY =\n (table.isFrozenRow(startCell.row) === false || table.isFrozenRow(endCell.row) === false) &&\n table.getAllRowsHeight() > table.tableNoFrameHeight;\n const canScrollX =\n (table.isFrozenColumn(startCell.col) === false || table.isFrozenColumn(endCell.col) === false) &&\n table.getAllColsWidth() > table.tableNoFrameWidth;\n if (\n ((y > drawRange.bottom - bottomFrozenRowHeight || y < drawRange.top + topFrozenRowHeight) && canScrollY) ||\n ((x > drawRange.right - rightFrozenColsWidth || x < drawRange.left + leftFrozenColsWidth) && canScrollX)\n ) {\n table.eventManager.scrollXSpeed = 0;\n table.eventManager.scrollYSpeed = 0;\n let bottom = false;\n let top = false;\n let right = false;\n let left = false;\n if (\n y > drawRange.bottom - bottomFrozenRowHeight &&\n canScrollY &&\n table.scrollTop + table.tableNoFrameHeight < table.getAllRowsHeight()\n ) {\n bottom = true;\n table.eventManager.scrollYSpeed = -(y - drawRange.bottom + bottomFrozenRowHeight) / 50;\n } else if (y < drawRange.top + topFrozenRowHeight && canScrollY && table.scrollTop > 0) {\n top = true;\n table.eventManager.scrollYSpeed = -(y - drawRange.top - topFrozenRowHeight) / 50;\n }\n\n if (\n x > drawRange.right - rightFrozenColsWidth &&\n canScrollX &&\n table.scrollLeft + table.tableNoFrameWidth < table.getAllColsWidth()\n ) {\n right = true;\n table.eventManager.scrollXSpeed = -(x - drawRange.right + rightFrozenColsWidth) / 50;\n } else if (x < drawRange.left + leftFrozenColsWidth && canScrollX && table.scrollLeft > 0) {\n left = true;\n table.eventManager.scrollXSpeed = -(x - drawRange.left - leftFrozenColsWidth) / 50;\n }\n table.eventManager.inertiaScroll.startInertia(\n table.eventManager.scrollXSpeed,\n table.eventManager.scrollYSpeed,\n 1\n );\n table.eventManager.inertiaScroll.setScrollHandle((dx: number, dy: number) => {\n handleWhell({ deltaX: -dx, deltaY: -dy } as any, table.stateManager, false);\n\n let selectX: number;\n let selectY: number;\n\n if (bottom) {\n selectY = table.scrollTop + drawRange.height - bottomFrozenRowHeight - 20;\n } else if (top) {\n selectY = table.scrollTop + topFrozenRowHeight + 20;\n }\n\n if (right) {\n selectX = table.scrollLeft + drawRange.width - rightFrozenColsWidth - 20;\n } else if (left) {\n selectX = table.scrollLeft + leftFrozenColsWidth + 20;\n }\n\n let considerFrozenY = false;\n let considerFrozenX = false;\n if (!right && !left) {\n if (\n (x > table.tableNoFrameWidth - table.getRightFrozenColsWidth() && x < table.tableNoFrameWidth) ||\n (x > 0 && x < table.getFrozenColsWidth())\n ) {\n selectX = x;\n considerFrozenX = true;\n } else {\n selectX = table.scrollLeft + x;\n }\n }\n if (!bottom && !top) {\n if (\n (y > table.tableNoFrameHeight - table.getBottomFrozenRowsHeight() && y < table.tableNoFrameHeight) ||\n (y > 0 && y < table.getFrozenRowsHeight())\n ) {\n selectY = y;\n considerFrozenY = true;\n } else {\n selectY = table.scrollTop + y;\n }\n }\n table.stateManager.updateInteractionState(InteractionState.grabing);\n const targetCol = table.getTargetColAtConsiderRightFrozen(selectX, considerFrozenX);\n const targetRow = table.getTargetRowAtConsiderBottomFrozen(selectY, considerFrozenY);\n if (!table.options.select?.disableDragSelect && isValid(targetCol) && isValid(targetRow)) {\n table.stateManager.updateSelectPos(\n table.stateManager.select.selectInline === 'row' ? table.colCount - 1 : targetCol.col,\n table.stateManager.select.selectInline === 'col' ? table.rowCount - 1 : targetRow.row,\n false,\n false,\n false,\n false\n );\n }\n });\n } else if (table.eventManager.inertiaScroll.isInertiaScrolling()) {\n table.eventManager.inertiaScroll.endInertia();\n } else {\n table.eventManager.scrollYSpeed = 0;\n }\n }\n };\n eventManager.globalEventListeners.push({\n name: 'pointermove',\n env: 'vglobal',\n callback: globalPointermoveCallback\n });\n vglobal.addEventListener('pointermove', globalPointermoveCallback);\n}\n"]}
|
|
@@ -64,19 +64,13 @@ function bindScrollBarListener(eventManager) {
|
|
|
64
64
|
const throttleVerticalWheel = (0, util_1.throttle)(stateManager.updateVerticalScrollBar, 20), throttleHorizontalWheel = (0,
|
|
65
65
|
util_1.throttle)(stateManager.updateHorizontalScrollBar, 20);
|
|
66
66
|
scenegraph.component.vScrollBar.addEventListener("scrollDrag", (e => {
|
|
67
|
-
var _a;
|
|
68
67
|
scenegraph.table.eventManager.isDown && (scenegraph.table.eventManager.isDraging = !0),
|
|
69
|
-
stateManager.fastScrolling = !0, stateManager.interactionState !== ts_types_1.InteractionState.scrolling && stateManager.updateInteractionState(ts_types_1.InteractionState.scrolling)
|
|
70
|
-
scenegraph.table.stateManager.hideMenu(), null === (_a = scenegraph.table.editorManager) || void 0 === _a || _a.completeEdit(),
|
|
71
|
-
table.scenegraph.deactivateChart(-1, -1, !0);
|
|
68
|
+
stateManager.fastScrolling = !0, stateManager.interactionState !== ts_types_1.InteractionState.scrolling && stateManager.updateInteractionState(ts_types_1.InteractionState.scrolling);
|
|
72
69
|
const ratio = e.detail.value[0] / (1 - e.detail.value[1] + e.detail.value[0]);
|
|
73
70
|
throttleVerticalWheel(ratio, e);
|
|
74
71
|
})), scenegraph.component.hScrollBar.addEventListener("scrollDrag", (e => {
|
|
75
|
-
var _a;
|
|
76
72
|
scenegraph.table.eventManager.isDown && (scenegraph.table.eventManager.isDraging = !0),
|
|
77
|
-
stateManager.fastScrolling = !0, stateManager.interactionState !== ts_types_1.InteractionState.scrolling && stateManager.updateInteractionState(ts_types_1.InteractionState.scrolling)
|
|
78
|
-
scenegraph.table.stateManager.hideMenu(), null === (_a = scenegraph.table.editorManager) || void 0 === _a || _a.completeEdit(),
|
|
79
|
-
table.scenegraph.deactivateChart(-1, -1, !0);
|
|
73
|
+
stateManager.fastScrolling = !0, stateManager.interactionState !== ts_types_1.InteractionState.scrolling && stateManager.updateInteractionState(ts_types_1.InteractionState.scrolling);
|
|
80
74
|
const ratio = e.detail.value[0] / (1 - e.detail.value[1] + e.detail.value[0]);
|
|
81
75
|
throttleHorizontalWheel(ratio);
|
|
82
76
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/event/listener/scroll-bar.ts"],"names":[],"mappings":"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","file":"scroll-bar.js","sourcesContent":["import type { FederatedPointerEvent } from './../../vrender';\nimport { throttle } from '../../tools/util';\nimport type { ListTableAPI } from '../../ts-types';\nimport { InteractionState } from '../../ts-types';\nimport type { EventManager } from '../event';\nimport type { SceneEvent } from '../util';\nimport { getCellEventArgsSet } from '../util';\nimport { TABLE_EVENT_TYPE } from '../../core/TABLE_EVENT_TYPE';\n\nexport function bindScrollBarListener(eventManager: EventManager) {\n const table = eventManager.table;\n const stateManager = table.stateManager;\n const scenegraph = table.scenegraph;\n\n // 监听滚动条组件pointover事件\n scenegraph.component.vScrollBar.addEventListener('pointerover', (e: any) => {\n stateManager.showVerticalScrollBar();\n });\n scenegraph.component.hScrollBar.addEventListener('pointerover', (e: any) => {\n stateManager.showHorizontalScrollBar();\n });\n scenegraph.component.vScrollBar.addEventListener('pointerout', (e: any) => {\n if (stateManager.interactionState === InteractionState.scrolling) {\n return;\n }\n stateManager.hideVerticalScrollBar();\n });\n scenegraph.component.hScrollBar.addEventListener('pointerout', (e: any) => {\n if (stateManager.interactionState === InteractionState.scrolling) {\n return;\n }\n stateManager.hideHorizontalScrollBar();\n });\n scenegraph.component.vScrollBar.addEventListener('pointermove', (e: FederatedPointerEvent) => {\n scenegraph.table.stateManager.updateCursor('default');\n e.stopPropagation(); //防止冒泡到stage上 检测到挨着列间隔线判断成可拖拽\n });\n scenegraph.component.vScrollBar.addEventListener('pointerdown', (e: FederatedPointerEvent) => {\n e.stopPropagation(); //防止冒泡到stage上 检测到挨着列间隔线判断成拖拽状态\n if ((scenegraph.table as any).hasListeners(TABLE_EVENT_TYPE.MOUSEDOWN_TABLE)) {\n scenegraph.table.fireListeners(TABLE_EVENT_TYPE.MOUSEDOWN_TABLE, {\n event: e.nativeEvent\n });\n }\n });\n scenegraph.component.vScrollBar.addEventListener('scrollDown', (e: FederatedPointerEvent) => {\n scenegraph.table.eventManager.LastBodyPointerXY = { x: e.x, y: e.y };\n scenegraph.table.eventManager.isDown = true;\n if (stateManager.interactionState !== InteractionState.scrolling) {\n stateManager.updateInteractionState(InteractionState.scrolling);\n }\n scenegraph.table.stateManager.hideMenu();\n (scenegraph.table as ListTableAPI).editorManager?.completeEdit();\n if ((scenegraph.table as any).hasListeners(TABLE_EVENT_TYPE.MOUSEDOWN_TABLE)) {\n scenegraph.table.fireListeners(TABLE_EVENT_TYPE.MOUSEDOWN_TABLE, {\n event: e.nativeEvent\n });\n }\n });\n scenegraph.component.vScrollBar.addEventListener('pointerup', () => {\n stateManager.fastScrolling = false;\n scenegraph.table.eventManager.isDraging = false;\n if (stateManager.interactionState === InteractionState.scrolling) {\n stateManager.updateInteractionState(InteractionState.default);\n }\n });\n scenegraph.component.vScrollBar.addEventListener('pointerupoutside', () => {\n stateManager.fastScrolling = false;\n if (stateManager.interactionState === InteractionState.scrolling) {\n stateManager.updateInteractionState(InteractionState.default);\n }\n });\n scenegraph.component.vScrollBar.addEventListener('scrollUp', (e: FederatedPointerEvent) => {\n scenegraph.table.eventManager.isDraging = false;\n });\n\n scenegraph.component.hScrollBar.addEventListener('pointermove', (e: FederatedPointerEvent) => {\n scenegraph.table.stateManager.updateCursor();\n e.stopPropagation(); //防止冒泡到stage上 检测到挨着列间隔线判断成可拖拽\n });\n scenegraph.component.hScrollBar.addEventListener('pointerdown', (e: FederatedPointerEvent) => {\n e.stopPropagation(); //防止冒泡到stage上 检测到挨着列间隔线判断成拖拽状态\n if ((scenegraph.table as any).hasListeners(TABLE_EVENT_TYPE.MOUSEDOWN_TABLE)) {\n scenegraph.table.fireListeners(TABLE_EVENT_TYPE.MOUSEDOWN_TABLE, {\n event: e.nativeEvent\n });\n }\n });\n scenegraph.component.hScrollBar.addEventListener('scrollDown', (e: FederatedPointerEvent) => {\n scenegraph.table.eventManager.LastBodyPointerXY = { x: e.x, y: e.y };\n scenegraph.table.eventManager.isDown = true;\n if (stateManager.interactionState !== InteractionState.scrolling) {\n stateManager.updateInteractionState(InteractionState.scrolling);\n }\n scenegraph.table.stateManager.hideMenu();\n (scenegraph.table as ListTableAPI).editorManager?.completeEdit();\n if ((scenegraph.table as any).hasListeners(TABLE_EVENT_TYPE.MOUSEDOWN_TABLE)) {\n scenegraph.table.fireListeners(TABLE_EVENT_TYPE.MOUSEDOWN_TABLE, {\n event: e.nativeEvent\n });\n }\n });\n scenegraph.component.hScrollBar.addEventListener('pointerup', () => {\n stateManager.fastScrolling = false;\n scenegraph.table.eventManager.isDraging = false;\n if (stateManager.interactionState === InteractionState.scrolling) {\n stateManager.updateInteractionState(InteractionState.default);\n }\n });\n scenegraph.component.hScrollBar.addEventListener('pointerupoutside', () => {\n stateManager.fastScrolling = false;\n if (stateManager.interactionState === InteractionState.scrolling) {\n stateManager.updateInteractionState(InteractionState.default);\n }\n });\n scenegraph.component.hScrollBar.addEventListener('scrollUp', (e: FederatedPointerEvent) => {\n scenegraph.table.eventManager.isDraging = false;\n });\n const throttleVerticalWheel = throttle(stateManager.updateVerticalScrollBar, 20);\n const throttleHorizontalWheel = throttle(stateManager.updateHorizontalScrollBar, 20);\n\n // 监听滚动条组件scroll事件\n scenegraph.component.vScrollBar.addEventListener('scrollDrag', (e: any) => {\n if (scenegraph.table.eventManager.isDown) {\n scenegraph.table.eventManager.isDraging = true;\n }\n stateManager.fastScrolling = true;\n if (stateManager.interactionState !== InteractionState.scrolling) {\n stateManager.updateInteractionState(InteractionState.scrolling);\n }\n scenegraph.table.stateManager.hideMenu();\n (scenegraph.table as ListTableAPI).editorManager?.completeEdit();\n table.scenegraph.deactivateChart(-1, -1, true);\n const ratio = e.detail.value[0] / (1 - e.detail.value[1] + e.detail.value[0]);\n throttleVerticalWheel(ratio, e);\n });\n\n scenegraph.component.hScrollBar.addEventListener('scrollDrag', (e: any) => {\n if (scenegraph.table.eventManager.isDown) {\n scenegraph.table.eventManager.isDraging = true;\n }\n stateManager.fastScrolling = true;\n if (stateManager.interactionState !== InteractionState.scrolling) {\n stateManager.updateInteractionState(InteractionState.scrolling);\n }\n scenegraph.table.stateManager.hideMenu();\n (scenegraph.table as ListTableAPI).editorManager?.completeEdit();\n table.scenegraph.deactivateChart(-1, -1, true);\n // stateManager.table.scenegraph.proxy.isSkipProgress = true;\n const ratio = e.detail.value[0] / (1 - e.detail.value[1] + e.detail.value[0]);\n throttleHorizontalWheel(ratio);\n // setTimeout(() => {\n // console.log('isSkipProgress', false);\n // stateManager.table.scenegraph.proxy.isSkipProgress = false;\n // }, 10);\n });\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/event/listener/scroll-bar.ts"],"names":[],"mappings":"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","file":"scroll-bar.js","sourcesContent":["import type { FederatedPointerEvent } from './../../vrender';\nimport { throttle } from '../../tools/util';\nimport type { ListTableAPI } from '../../ts-types';\nimport { InteractionState } from '../../ts-types';\nimport type { EventManager } from '../event';\nimport type { SceneEvent } from '../util';\nimport { getCellEventArgsSet } from '../util';\nimport { TABLE_EVENT_TYPE } from '../../core/TABLE_EVENT_TYPE';\n\nexport function bindScrollBarListener(eventManager: EventManager) {\n const table = eventManager.table;\n const stateManager = table.stateManager;\n const scenegraph = table.scenegraph;\n\n // 监听滚动条组件pointover事件\n scenegraph.component.vScrollBar.addEventListener('pointerover', (e: any) => {\n stateManager.showVerticalScrollBar();\n });\n scenegraph.component.hScrollBar.addEventListener('pointerover', (e: any) => {\n stateManager.showHorizontalScrollBar();\n });\n scenegraph.component.vScrollBar.addEventListener('pointerout', (e: any) => {\n if (stateManager.interactionState === InteractionState.scrolling) {\n return;\n }\n stateManager.hideVerticalScrollBar();\n });\n scenegraph.component.hScrollBar.addEventListener('pointerout', (e: any) => {\n if (stateManager.interactionState === InteractionState.scrolling) {\n return;\n }\n stateManager.hideHorizontalScrollBar();\n });\n scenegraph.component.vScrollBar.addEventListener('pointermove', (e: FederatedPointerEvent) => {\n scenegraph.table.stateManager.updateCursor('default');\n e.stopPropagation(); //防止冒泡到stage上 检测到挨着列间隔线判断成可拖拽\n });\n scenegraph.component.vScrollBar.addEventListener('pointerdown', (e: FederatedPointerEvent) => {\n e.stopPropagation(); //防止冒泡到stage上 检测到挨着列间隔线判断成拖拽状态\n if ((scenegraph.table as any).hasListeners(TABLE_EVENT_TYPE.MOUSEDOWN_TABLE)) {\n scenegraph.table.fireListeners(TABLE_EVENT_TYPE.MOUSEDOWN_TABLE, {\n event: e.nativeEvent\n });\n }\n });\n scenegraph.component.vScrollBar.addEventListener('scrollDown', (e: FederatedPointerEvent) => {\n scenegraph.table.eventManager.LastBodyPointerXY = { x: e.x, y: e.y };\n scenegraph.table.eventManager.isDown = true;\n if (stateManager.interactionState !== InteractionState.scrolling) {\n stateManager.updateInteractionState(InteractionState.scrolling);\n }\n scenegraph.table.stateManager.hideMenu();\n (scenegraph.table as ListTableAPI).editorManager?.completeEdit();\n if ((scenegraph.table as any).hasListeners(TABLE_EVENT_TYPE.MOUSEDOWN_TABLE)) {\n scenegraph.table.fireListeners(TABLE_EVENT_TYPE.MOUSEDOWN_TABLE, {\n event: e.nativeEvent\n });\n }\n });\n scenegraph.component.vScrollBar.addEventListener('pointerup', () => {\n stateManager.fastScrolling = false;\n scenegraph.table.eventManager.isDraging = false;\n if (stateManager.interactionState === InteractionState.scrolling) {\n stateManager.updateInteractionState(InteractionState.default);\n }\n });\n scenegraph.component.vScrollBar.addEventListener('pointerupoutside', () => {\n stateManager.fastScrolling = false;\n if (stateManager.interactionState === InteractionState.scrolling) {\n stateManager.updateInteractionState(InteractionState.default);\n }\n });\n scenegraph.component.vScrollBar.addEventListener('scrollUp', (e: FederatedPointerEvent) => {\n scenegraph.table.eventManager.isDraging = false;\n });\n\n scenegraph.component.hScrollBar.addEventListener('pointermove', (e: FederatedPointerEvent) => {\n scenegraph.table.stateManager.updateCursor();\n e.stopPropagation(); //防止冒泡到stage上 检测到挨着列间隔线判断成可拖拽\n });\n scenegraph.component.hScrollBar.addEventListener('pointerdown', (e: FederatedPointerEvent) => {\n e.stopPropagation(); //防止冒泡到stage上 检测到挨着列间隔线判断成拖拽状态\n if ((scenegraph.table as any).hasListeners(TABLE_EVENT_TYPE.MOUSEDOWN_TABLE)) {\n scenegraph.table.fireListeners(TABLE_EVENT_TYPE.MOUSEDOWN_TABLE, {\n event: e.nativeEvent\n });\n }\n });\n scenegraph.component.hScrollBar.addEventListener('scrollDown', (e: FederatedPointerEvent) => {\n scenegraph.table.eventManager.LastBodyPointerXY = { x: e.x, y: e.y };\n scenegraph.table.eventManager.isDown = true;\n if (stateManager.interactionState !== InteractionState.scrolling) {\n stateManager.updateInteractionState(InteractionState.scrolling);\n }\n scenegraph.table.stateManager.hideMenu();\n (scenegraph.table as ListTableAPI).editorManager?.completeEdit();\n if ((scenegraph.table as any).hasListeners(TABLE_EVENT_TYPE.MOUSEDOWN_TABLE)) {\n scenegraph.table.fireListeners(TABLE_EVENT_TYPE.MOUSEDOWN_TABLE, {\n event: e.nativeEvent\n });\n }\n });\n scenegraph.component.hScrollBar.addEventListener('pointerup', () => {\n stateManager.fastScrolling = false;\n scenegraph.table.eventManager.isDraging = false;\n if (stateManager.interactionState === InteractionState.scrolling) {\n stateManager.updateInteractionState(InteractionState.default);\n }\n });\n scenegraph.component.hScrollBar.addEventListener('pointerupoutside', () => {\n stateManager.fastScrolling = false;\n if (stateManager.interactionState === InteractionState.scrolling) {\n stateManager.updateInteractionState(InteractionState.default);\n }\n });\n scenegraph.component.hScrollBar.addEventListener('scrollUp', (e: FederatedPointerEvent) => {\n scenegraph.table.eventManager.isDraging = false;\n });\n const throttleVerticalWheel = throttle(stateManager.updateVerticalScrollBar, 20);\n const throttleHorizontalWheel = throttle(stateManager.updateHorizontalScrollBar, 20);\n\n // 监听滚动条组件scroll事件\n scenegraph.component.vScrollBar.addEventListener('scrollDrag', (e: any) => {\n if (scenegraph.table.eventManager.isDown) {\n scenegraph.table.eventManager.isDraging = true;\n }\n stateManager.fastScrolling = true;\n if (stateManager.interactionState !== InteractionState.scrolling) {\n stateManager.updateInteractionState(InteractionState.scrolling);\n }\n const ratio = e.detail.value[0] / (1 - e.detail.value[1] + e.detail.value[0]);\n throttleVerticalWheel(ratio, e);\n });\n\n scenegraph.component.hScrollBar.addEventListener('scrollDrag', (e: any) => {\n if (scenegraph.table.eventManager.isDown) {\n scenegraph.table.eventManager.isDraging = true;\n }\n stateManager.fastScrolling = true;\n if (stateManager.interactionState !== InteractionState.scrolling) {\n stateManager.updateInteractionState(InteractionState.scrolling);\n }\n // stateManager.table.scenegraph.proxy.isSkipProgress = true;\n const ratio = e.detail.value[0] / (1 - e.detail.value[1] + e.detail.value[0]);\n throttleHorizontalWheel(ratio);\n // setTimeout(() => {\n // console.log('isSkipProgress', false);\n // stateManager.table.scenegraph.proxy.isSkipProgress = false;\n // }, 10);\n });\n}\n"]}
|
|
@@ -140,8 +140,8 @@ function bindTableGroupListener(eventManager) {
|
|
|
140
140
|
}, 0 !== e.button) return;
|
|
141
141
|
const eventArgsSet = (0, util_1.getCellEventArgsSet)(e);
|
|
142
142
|
if (eventManager.downIcon = void 0, stateManager.interactionState !== ts_types_1.InteractionState.default) return;
|
|
143
|
-
if (table.isPivotChart() && "chart" !== (null === (_a = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _a ? void 0 : _a.target.type) &&
|
|
144
|
-
|
|
143
|
+
if (table.isPivotChart() && "chart" !== (null === (_a = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _a ? void 0 : _a.target.type) && table.scenegraph.updateChartState(null),
|
|
144
|
+
(null === (_b = eventArgsSet.eventArgs) || void 0 === _b ? void 0 : _b.target) !== (null === (_c = stateManager.residentHoverIcon) || void 0 === _c ? void 0 : _c.icon) && stateManager.hideMenu(),
|
|
145
145
|
"chart" === (null === (_d = null == eventArgsSet ? void 0 : eventArgsSet.eventArgs) || void 0 === _d ? void 0 : _d.target.type)) return;
|
|
146
146
|
const isCompleteEdit = null === (_e = table.editorManager) || void 0 === _e ? void 0 : _e.completeEdit(e.nativeEvent);
|
|
147
147
|
(0, helper_1.getPromiseValue)(isCompleteEdit, (isCompleteEdit => {
|
|
@@ -172,8 +172,8 @@ function bindTableGroupListener(eventManager) {
|
|
|
172
172
|
}
|
|
173
173
|
eventManager.dealTableHover(eventArgsSet);
|
|
174
174
|
} else {
|
|
175
|
-
if (!eventManager.checkCellFillhandle(eventArgsSet) && (eventManager.checkColumnResize(eventArgsSet, !0) || eventManager.checkRowResize(eventArgsSet, !0))) return table.scenegraph.updateChartState(null
|
|
176
|
-
|
|
175
|
+
if (!eventManager.checkCellFillhandle(eventArgsSet) && (eventManager.checkColumnResize(eventArgsSet, !0) || eventManager.checkRowResize(eventArgsSet, !0))) return table.scenegraph.updateChartState(null),
|
|
176
|
+
void stateManager.updateInteractionState(ts_types_1.InteractionState.grabing);
|
|
177
177
|
if (eventManager.checkColumnMover(eventArgsSet)) return void stateManager.updateInteractionState(ts_types_1.InteractionState.grabing);
|
|
178
178
|
if (eventManager.checkCellFillhandle(eventArgsSet, !0) && eventManager.dealFillSelect(eventArgsSet)) return void stateManager.updateInteractionState(ts_types_1.InteractionState.grabing);
|
|
179
179
|
eventManager.dealTableSelect(eventArgsSet) && stateManager.updateInteractionState(ts_types_1.InteractionState.grabing);
|
|
@@ -320,8 +320,7 @@ function bindTableGroupListener(eventManager) {
|
|
|
320
320
|
if (!(null === (_a = table.options.customConfig) || void 0 === _a ? void 0 : _a.selectCellWhenCellEditorNotExists) && !1 === isCompleteEdit) return;
|
|
321
321
|
const hitIcon = (null === (_b = e.target.role) || void 0 === _b ? void 0 : _b.startsWith("icon")) ? e.target : void 0;
|
|
322
322
|
if (eventManager.downIcon = hitIcon, "touch" === e.pointerType || hitIcon || eventManager.checkCellFillhandle(eventArgsSet) || stateManager.columnResize.resizing || !eventManager.checkColumnResize(eventArgsSet, !0)) ; else {
|
|
323
|
-
table.scenegraph.updateChartState(null
|
|
324
|
-
stateManager.updateInteractionState(ts_types_1.InteractionState.grabing);
|
|
323
|
+
table.scenegraph.updateChartState(null), stateManager.updateInteractionState(ts_types_1.InteractionState.grabing);
|
|
325
324
|
const {eventArgs: eventArgs} = eventArgsSet;
|
|
326
325
|
if (!(null == eventArgs ? void 0 : eventArgs.targetCell)) {
|
|
327
326
|
table.getCellAt(eventArgsSet.abstractPos.x - table.theme.columnResize.resizeHotSpotSize / 2, eventArgsSet.abstractPos.y) && table.hasListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.MOUSEDOWN_TABLE) && table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.MOUSEDOWN_TABLE, {
|
|
@@ -340,8 +339,7 @@ function bindTableGroupListener(eventManager) {
|
|
|
340
339
|
stateManager.updateInteractionState(ts_types_1.InteractionState.default), eventManager.dealTableHover();
|
|
341
340
|
const isHasSelected = !!(null === (_a = stateManager.select.ranges) || void 0 === _a ? void 0 : _a.length);
|
|
342
341
|
(null === (_b = table.options.customConfig) || void 0 === _b ? void 0 : _b.cancelSelectCellHook) ? (null === (_c = table.options.customConfig) || void 0 === _c ? void 0 : _c.cancelSelectCellHook(e)) && eventManager.dealTableSelect() : (null === (_e = null === (_d = table.options.select) || void 0 === _d ? void 0 : _d.blankAreaClickDeselect) || void 0 === _e || _e) && eventManager.dealTableSelect(),
|
|
343
|
-
stateManager.endSelectCells(!0, isHasSelected), stateManager.updateCursor(), table.scenegraph.updateChartState(null
|
|
344
|
-
table.scenegraph.deactivateChart(-1, -1, !0);
|
|
342
|
+
stateManager.endSelectCells(!0, isHasSelected), stateManager.updateCursor(), table.scenegraph.updateChartState(null);
|
|
345
343
|
}
|
|
346
344
|
})), table.scenegraph.stage.addEventListener("pointermove", (e => {
|
|
347
345
|
var _a, _b, _c;
|
|
@@ -444,12 +442,8 @@ function bindTableGroupListener(eventManager) {
|
|
|
444
442
|
table.scenegraph.updateNextFrame();
|
|
445
443
|
})), table.scenegraph.stage.addEventListener("wheel", (e => {
|
|
446
444
|
var _a;
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
const {cellPos: cellPos} = table.stateManager.hover, prevHoverCellCol = cellPos.col, prevHoverCellRow = cellPos.row;
|
|
450
|
-
table.scenegraph.deactivateChart(prevHoverCellCol, prevHoverCellRow, !0), table.eventManager._enableTableScroll && (0,
|
|
451
|
-
scroll_1.handleWhell)(e, stateManager);
|
|
452
|
-
}
|
|
445
|
+
e.path.find((node => "legend" === node.name)) || (null === (_a = table.editorManager) || void 0 === _a || _a.completeEdit(),
|
|
446
|
+
table.eventManager._enableTableScroll && (0, scroll_1.handleWhell)(e, stateManager));
|
|
453
447
|
}));
|
|
454
448
|
}
|
|
455
449
|
|