feat: a sprint calendar
A Calendario tab lays the project's sprints out month by month as bands, with the releases and the tickets due on each day. Owners and admins plan a sprint by clicking the day it starts, and the whole plan downloads as an iCalendar file. Tickets can be searched by due-date range. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -25,6 +25,7 @@ import {
|
||||
BoardDocument,
|
||||
ChangeIssueStatusDocument,
|
||||
CreateIssueDocument,
|
||||
DueIssuesDocument,
|
||||
EpicsDocument,
|
||||
IssueChildrenDocument,
|
||||
IssueDocument,
|
||||
@@ -183,6 +184,14 @@ export class GraphqlIssuesGateway extends IssuesGateway {
|
||||
);
|
||||
}
|
||||
|
||||
due(projectId: string, from: string, to: string): Observable<IssueSummary[]> {
|
||||
return this.gql
|
||||
.query(DueIssuesDocument, {
|
||||
filter: { projectId, dueFrom: from, dueTo: to },
|
||||
})
|
||||
.pipe(map((d) => d.issues.items.map(toIssueSummary)));
|
||||
}
|
||||
|
||||
trash(issueId: string): Observable<CommandResult> {
|
||||
return this.gql
|
||||
.mutate(TrashIssueDocument, { issueId })
|
||||
|
||||
Reference in New Issue
Block a user