diff --git a/src/app/issues/issue-detail/issue-detail.html b/src/app/issues/issue-detail/issue-detail.html index 5dbeeaa..8a9ac6a 100644 --- a/src/app/issues/issue-detail/issue-detail.html +++ b/src/app/issues/issue-detail/issue-detail.html @@ -4,24 +4,20 @@

Informations de creation et de suivi de l'issue.

- @if (!isEditing) { -
- Status - -
- } +
+ Status + +
- @if (!isEditing) { -
@@ -33,7 +29,6 @@
}
- }
@@ -48,125 +43,79 @@ Nom - @if (isEditing) { - - } @else { - {{ issue.name || '-' }} - } + Type - @if (isEditing) { - - } @else { - {{ issueTypeValue }} - } + Epic - @if (isEditing) { - - } @else { - {{ issue.epic || '-' }} - } + Depend de - @if (isEditing) { - - } @else { - {{ resolveDependencyLabels(dependencyIds) }} - } + Assignee - @if (isEditing) { - - } @else { - {{ issue.assignee || '-' }} - } + Date d'echeance - @if (isEditing) { - - } @else { - {{ issue.dueDate || '-' }} - } + Temps estimé - @if (isEditing) { - - } @else { - {{ estimatedTimeValue !== null ? estimatedTimeValue + ' h' : '-' }} - } + Description - @if (isEditing) { - - } @else { - {{ issue.description || '-' }} - } + Priorite - @if (isEditing) { - - } @else { - {{ issue.priority }} - } + Progression - @if (isEditing) { - - } @else { - {{ issue.progress }}% - } + -@if (isEditing) { -
- - -
-} diff --git a/src/app/issues/issue-detail/issue-detail.ts b/src/app/issues/issue-detail/issue-detail.ts index 794cf60..e274963 100644 --- a/src/app/issues/issue-detail/issue-detail.ts +++ b/src/app/issues/issue-detail/issue-detail.ts @@ -13,10 +13,9 @@ export class IssueDetail { private readonly route = inject(ActivatedRoute); private readonly router = inject(Router); private readonly issuesStore = inject(IssuesStore); + private readonly isNewIssueRoute = this.route.snapshot.routeConfig?.path === 'issues/new'; protected issue: IssueEntity = this.buildIssue(); - protected isEditing = this.route.snapshot.queryParamMap.get('mode') === 'edit'; - private issueBeforeEdit: IssueEntity | null = null; protected readonly issues = this.issuesStore.issues; protected moreMenuOpen = false; @@ -60,30 +59,11 @@ export class IssueDetail { this.issue.type = value; } - constructor() { - if (this.isEditing) { - this.issueBeforeEdit = this.cloneIssue(this.issue); - } - } - - protected startEdit(): void { - this.issueBeforeEdit = this.cloneIssue(this.issue); - this.isEditing = true; - this.closeMoreMenu(); - } - - protected cancelEdit(): void { - if (this.issueBeforeEdit) { - this.issue = this.cloneIssue(this.issueBeforeEdit); - } - this.isEditing = false; - } - protected saveIssue(): void { this.issuesStore.upsert(this.issue); - this.issueBeforeEdit = this.cloneIssue(this.issue); - this.isEditing = false; - this.router.navigate(['/issues', this.issue.id]); + if (this.isNewIssueRoute) { + this.router.navigate(['/issues', this.issue.id]); + } } protected deleteIssue(): void { @@ -120,9 +100,6 @@ export class IssueDetail { return this.issues().filter((issue) => issue.id !== this.issue.id); } - private cloneIssue(issue: IssueEntity): IssueEntity { - return { ...issue }; - } private buildIssue(): IssueEntity { const idParam = this.route.snapshot.paramMap.get('id');