mirror of
https://github.com/hcengineering/platform.git
synced 2026-09-28 04:25:03 +02:00
feat(tracker): add Gantt scheduling schema (startDate + IssueRelation)
Schema-only foundation for the upcoming Gantt-chart view in tracker.
No UI in this PR.
Changes:
- Issue.startDate: Timestamp | null (interface + IssueDraft + @Prop with @Index)
- Milestone.startDate: Timestamp | null (interface + @Prop, reusing the
existing tracker.string.StartDate IntlString)
- New DependencyKind type ('finish-to-start' | 'start-to-start' |
'finish-to-finish' | 'start-to-finish')
- New IssueRelation AttachedDoc class with kind: DependencyKind, signed
lag: number — registered in models/tracker via TIssueRelation
- 7 new IntlString keys: IssueStartDate, GanttDependency,
GanttDependency{FinishToStart,StartToStart,FinishToFinish,StartToFinish},
GanttLag — all 13 locales updated
- Cross-plugin literal updates in importer + github sync to satisfy the new
required Issue.startDate / Milestone.startDate fields:
- packages/importer/src/importer/importer.ts: AttachedData<Issue> literal
- services/github/pod-github/src/sync/issueBase.ts: 'startDate' added to
GithubIssueData Omit list (github sync does not own scheduling)
- services/github/pod-github/src/sync/issues.ts + pullrequests.ts:
AttachedData<Issue|GithubPullRequest> literals
Out of scope (deferred to follow-up PRs):
- UI for Gantt view, drag/resize, dependency editor, critical path
- blockedBy → IssueRelation migration (ships atomically with the writer
redirect in the dependency-UI PR)
- LinkIssues permission (tracker uses forbid-style permissions; needs
maintainer discussion)
- Activity-feed wiring for IssueRelation (needs a producer to test against)
- IssueTemplate.startDate (template propagation semantics undecided)
Signed-off-by: Michael Uray <michaeluray@users.noreply.github.com>
This commit is contained in:
@@ -186,6 +186,7 @@
|
||||
priority: priority ?? IssuePriority.NoPriority,
|
||||
space: _space as Ref<Project>,
|
||||
component: component ?? $activeComponent ?? null,
|
||||
startDate: null,
|
||||
dueDate: null,
|
||||
attachments: 0,
|
||||
estimation: 0,
|
||||
@@ -312,6 +313,7 @@
|
||||
_id: generateId(),
|
||||
space: _space as Ref<Project>,
|
||||
subIssues: [],
|
||||
startDate: null,
|
||||
dueDate: null,
|
||||
labels:
|
||||
p.labels !== undefined
|
||||
@@ -488,6 +490,7 @@
|
||||
rank: '',
|
||||
comments: 0,
|
||||
subIssues: 0,
|
||||
startDate: object.startDate,
|
||||
dueDate: object.dueDate,
|
||||
parents:
|
||||
parentIssue != null
|
||||
|
||||
@@ -86,6 +86,7 @@
|
||||
rank: '',
|
||||
comments: 0,
|
||||
subIssues: 0,
|
||||
startDate: subIssue.startDate ?? null,
|
||||
dueDate: null,
|
||||
parents,
|
||||
reportedTime: 0,
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
status: MilestoneStatus.Planned,
|
||||
comments: 0,
|
||||
attachments: 0,
|
||||
startDate: null,
|
||||
targetDate: Date.now() + 14 * 24 * 60 * 60 * 1000
|
||||
}
|
||||
|
||||
|
||||
@@ -71,6 +71,7 @@
|
||||
assignee: project.defaultAssignee ?? null,
|
||||
status: project.defaultIssueStatus,
|
||||
space: project._id,
|
||||
startDate: null,
|
||||
dueDate: null,
|
||||
subIssues: [],
|
||||
attachments: 0,
|
||||
|
||||
Reference in New Issue
Block a user