Add editable status column and submission markers to the Gantt chart
Adds a second frozen "Task Status" column (EditableTaskStatus) next to the task name, and small white dot markers on each bar showing submission dates - backed by a new lightweight GET /tasks/submission-dates endpoint (task_id + submitted_at only, to avoid an N+1 fetch across potentially hundreds of scheduled tasks). Restructures the chart's scroll handling from a single scrolling container with sticky-positioned columns to two independently-scrolled panes (frozen name/status columns, and the timeline), synced on vertical scroll. This fixes several issues that came with the sticky approach - transparency bleed-through on hover and on group-header rows, row heights not matching between columns, and the horizontal scrollbar spanning the frozen columns instead of just the timeline. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -109,6 +109,11 @@ export interface Submission {
|
||||
stream_url?: string
|
||||
}
|
||||
|
||||
export interface SubmissionDateInfo {
|
||||
task_id: number
|
||||
submitted_at: string
|
||||
}
|
||||
|
||||
export interface TaskFilters {
|
||||
projectId?: number
|
||||
shotId?: number
|
||||
@@ -249,6 +254,11 @@ class TaskService {
|
||||
return response.data
|
||||
}
|
||||
|
||||
async getSubmissionDates(projectId: number): Promise<SubmissionDateInfo[]> {
|
||||
const response = await apiClient.get(`/tasks/submission-dates?project_id=${projectId}`)
|
||||
return response.data
|
||||
}
|
||||
|
||||
async submitWork(taskId: number, file: File, notes?: string): Promise<Submission> {
|
||||
const formData = new FormData()
|
||||
formData.append('file', file)
|
||||
|
||||
Reference in New Issue
Block a user