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.
@@ -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');