Skip to content

Group timeline rows by project and show folded spans - #405

Open
Dreamfire78 wants to merge 2 commits into
dotpm:mainfrom
Dreamfire78:feature/timeline-project-rows
Open

Dreamfire78 wants to merge 2 commits into
dotpm:mainfrom
Dreamfire78:feature/timeline-project-rows

Conversation

@Dreamfire78

Copy link
Copy Markdown

What

Closes #258, closes #180.

Projects on the timeline (#258). When the timeline shows several projects, each project now heads its own tasks with a row of its own:

  • a collapse toggle that folds the project down to that single row
  • the project's color and title (click opens the project)
  • an add button that creates a task in that project (unfolding it first, so the new task is visible)

Since every task now sits under its project's row, the project chip on each task row is gone from the timeline. Table and board keep it. With a single project nothing changes.

How far folded work reaches (#180). A collapsed task draws a line out of each end of its bar to the earliest start and the latest end among its subtasks, capped by a tick, and only on a side the subtasks actually reach past. A collapsed task without dates of its own (the case in #180) gets the line across the whole span. A project row always shows its span the same way, since it has no bar of its own. Hovering the line shows the dates.

Details:

  • The fold state lives in a new collapsedProjectRows setting (project paths), cleaned up with the other per-project state and carried along when a project is renamed or moved.
  • "Collapse all / Expand all" on the timeline also folds the project rows; in the table it still covers tasks only.
  • Dependency arrows and milestone lines now take each task's row index explicitly (GanttRow.row), as project rows sit between tasks.
  • The recurrence mark and the label fields beside a bar move past the line's end so the line doesn't run through them.
  • The line keeps clear of the bar's drag handles and link dots.
  • New string gantt.spanTooltip, translated in all locales.

How to check

  1. Open a timeline over two or more projects (project switcher → pick several, or "All projects").
  2. Each project has its own row above its tasks. Fold one with its chevron: its tasks disappear and the line across its span stays.
  3. Give a task subtasks that run past its own dates, then fold it: a capped line runs from the bar out to where the subtasks end (and start, if earlier).
  4. Fold a task that has no dates but dated subtasks: the line spans the subtasks.
  5. Hover a project row and click its +: the new task lands in that project.
  6. Open a single project: no project row, same as before.

Checklist

  • pnpm check, pnpm check:submission and pnpm test pass (tsc, oxlint, eslint --max-warnings 0 and vitest run clean locally; oxfmt --check is clean on the changed files)
  • One change per PR
  • CHANGELOG.md has an entry under Unreleased if users will notice the change
  • The styleguide gallery is updated if a UI component changed (no shared component changed)

🤖 Generated with Claude Code

Dreamfire78 and others added 2 commits October 13, 2026 17:26
With several projects in view, the timeline heads each project's tasks
with a project row that folds them away, carries the project's own add
button, and draws a line across the span of everything it holds. The
project chip on each task row goes, since the row above says it.

A folded task draws a capped line out of each end of its bar to the
earliest start and the latest end among its subtasks, so folding no
longer hides how long the work really runs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Dreamfire78

Copy link
Copy Markdown
Author

This screenshot shows the timeline markers for open and collapsed projects, as well as for individual collapsed tasks with subtasks
Screenshot 2026-10-13 173711

Add task button to projects
Screenshot 2026-10-13 173958

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

FR Gantt View & Projects Gantt colapsed subtask aggregation

1 participant