indigo
7f260067a2
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 >
2026-07-21 03:20:28 +08:00
..
2026-02-28 03:22:04 +08:00
2026-07-20 04:10:43 +08:00
2026-07-21 03:20:28 +08:00
2026-07-21 03:20:28 +08:00
2026-02-28 03:22:04 +08:00
2026-07-19 10:38:29 +08:00
2026-02-28 03:22:04 +08:00
2026-06-22 00:30:18 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-07-20 04:10:43 +08:00
2026-07-20 10:00:47 +08:00
2026-07-18 20:41:17 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-07-19 10:38:29 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-07-18 21:17:47 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-07-20 04:10:43 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00
2026-02-28 03:22:04 +08:00