From e3783c3600a9104170a8c40130358829fc60ae75 Mon Sep 17 00:00:00 2001 From: fangsmile <892739385@qq.com> Date: Wed, 16 Apr 2025 19:15:33 +0800 Subject: [PATCH] fix: update gantt table header title occor error #3719 --- packages/vtable-gantt/examples/gantt/gantt-tree.ts | 2 ++ packages/vtable-gantt/src/Gantt.ts | 2 +- packages/vtable-gantt/src/scenegraph/task-bar.ts | 2 +- packages/vtable-gantt/src/state/gantt-table-sync.ts | 6 ++++-- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/packages/vtable-gantt/examples/gantt/gantt-tree.ts b/packages/vtable-gantt/examples/gantt/gantt-tree.ts index 9860923745..f9166be4b4 100644 --- a/packages/vtable-gantt/examples/gantt/gantt-tree.ts +++ b/packages/vtable-gantt/examples/gantt/gantt-tree.ts @@ -618,7 +618,9 @@ export function createTable() { ]; const option: GanttConstructorOptions = { records, + taskListTable: { + headerEditor: 'input', columns: columns, tableWidth: 400, minTableWidth: 100, diff --git a/packages/vtable-gantt/src/Gantt.ts b/packages/vtable-gantt/src/Gantt.ts index 955141ec80..9e6eb26ffc 100644 --- a/packages/vtable-gantt/src/Gantt.ts +++ b/packages/vtable-gantt/src/Gantt.ts @@ -761,7 +761,7 @@ export class Gantt extends EventTarget { return this.records[taskShowIndex]; } - _refreshTaskBar(taskShowIndex: number, sub_task_index: number) { + _refreshTaskBar(taskShowIndex: number, sub_task_index?: number) { // this.taskListTableInstance.updateRecords([record], [index]); this.scenegraph.taskBar.updateTaskBarNode(taskShowIndex, sub_task_index); this.scenegraph.refreshRecordLinkNodes( diff --git a/packages/vtable-gantt/src/scenegraph/task-bar.ts b/packages/vtable-gantt/src/scenegraph/task-bar.ts index ac7107a831..3e73865287 100644 --- a/packages/vtable-gantt/src/scenegraph/task-bar.ts +++ b/packages/vtable-gantt/src/scenegraph/task-bar.ts @@ -280,7 +280,7 @@ export class TaskBar { } return barGroupBox; } - updateTaskBarNode(index: number, sub_task_index: number) { + updateTaskBarNode(index: number, sub_task_index?: number) { const taskbarGroup = this.getTaskBarNodeByIndex(index, sub_task_index); if (taskbarGroup) { this.barContainer.removeChild(taskbarGroup); diff --git a/packages/vtable-gantt/src/state/gantt-table-sync.ts b/packages/vtable-gantt/src/state/gantt-table-sync.ts index c4590023b0..068f950ca3 100644 --- a/packages/vtable-gantt/src/state/gantt-table-sync.ts +++ b/packages/vtable-gantt/src/state/gantt-table-sync.ts @@ -21,8 +21,10 @@ export function syncScrollStateFromTable(gantt: Gantt) { } export function syncEditCellFromTable(gantt: Gantt) { gantt.taskListTableInstance?.on('change_cell_value', (args: any) => { - const { col, row, rawValue, changedValue } = args; - gantt._refreshTaskBar(row - gantt.taskListTableInstance.columnHeaderLevelCount); + const { col, row } = args; + if (!gantt.taskListTableInstance.isHeader(col, row)) { + gantt._refreshTaskBar(row - gantt.taskListTableInstance.columnHeaderLevelCount); + } // const record = gantt.getRecordByIndex(row - gantt.taskListTableInstance.columnHeaderLevelCount); // debugger; });