4
4
< h1 > {{sprintName}}</ h1 >
5
5
< div class ="flexcontainer ">
6
6
< div class ="full-ticket " *ngFor ="let issue of fullPostitIssues; index as i ">
7
- < div >
8
- < div class ="story-header ">
9
- < p class ="tickeykey "> {{issue.key | ticketkey}}</ p >
10
- < p class ="epic "> {{ issue.epic?(issue.epic.name | uppercase):"."}}</ p >
11
- </ div >
12
- < div class ="story-content ">
13
- < div class ="story-information ">
14
- < div class ="components ">
15
- < p class ="badge " *ngFor ="let component of issue.components "> {{component}}</ p >
16
- </ div >
17
- < p class ="summary "> {{issue.summary}}</ p >
18
- </ div >
19
- < div class ="story-side ">
20
- < img src ="../../assets/assignee.svg " alt ="assignee photo area ">
21
- < p *ngIf ="issue.complexity "> {{issue.complexity}}</ p >
22
- </ div >
23
- </ div >
24
- < div *ngIf ="isTimeTracked " class ="story-footer ">
25
- < div class ="start-date ">
26
- < img src ="../../assets/begin.svg " alt ="start date ">
27
- < p > ... / ...</ p >
28
- </ div >
29
- < p > ... J</ p >
30
- < div class ="end-date ">
31
- < p > ... / ...</ p >
32
- < img src ="../../assets/end.svg " alt ="end date ">
33
- </ div >
34
- </ div >
35
- < div *ngIf ="!fullTicketInEdition && fullTicketInEdition !== 0 " class ="overlay " (click) ="enterFullTicketEditionMode(i) ">
36
- < div class ="overlay-background "> </ div >
37
- < img src ="../../assets/pencil-black.svg ">
38
- </ div >
39
- < div *ngIf ="fullTicketInEdition !== null && fullTicketInEdition !== i " class ="overlay ">
40
- < div class ="overlay-background permanent-opacity "> </ div >
41
- </ div >
42
- </ div >
43
- < button *ngIf ="fullTicketInEdition === i " class ="card-round-button "> ✓</ button >
44
- < button *ngIf ="fullTicketInEdition === i " (click) ="exitFullTicketEditionMode() " class ="card-round-button card-cancel-button "> ✘</ button >
7
+ < ng-container *ngTemplateOutlet ="(fullTicketInEdition !== i) ? fullticket : fullticketform; context: { $implicit: i } ">
8
+ </ ng-container >
45
9
</ div >
46
10
< ng-container *ngFor ="let issues of smallPostitIssues ">
47
11
< div class ="divided-ticket " *ngFor ="let chunk of issues | chunks: 3; let i = index; let last = last ">
@@ -59,3 +23,65 @@ <h1>{{sprintName}}</h1>
59
23
</ div >
60
24
</ ng-container >
61
25
</ div >
26
+
27
+ < ng-template #fullticket let-i >
28
+ < div >
29
+ < div class ="story-header ">
30
+ < p class ="tickeykey "> {{fullPostitIssues[i].key | ticketkey}}</ p >
31
+ < p class ="epic "> {{ fullPostitIssues[i].epic?(fullPostitIssues[i].epic?.name | uppercase):"."}}</ p >
32
+ </ div >
33
+ < div class ="story-content ">
34
+ < div class ="story-information ">
35
+ < div class ="components ">
36
+ < p class ="badge " *ngFor ="let component of fullPostitIssues[i].components "> {{component}}</ p >
37
+ </ div >
38
+ < p class ="summary "> {{fullPostitIssues[i].summary}}</ p >
39
+ </ div >
40
+ < div class ="story-side ">
41
+ < img src ="../../assets/assignee.svg " alt ="assignee photo area ">
42
+ < p *ngIf ="fullPostitIssues[i].complexity "> {{fullPostitIssues[i].complexity}}</ p >
43
+ </ div >
44
+ </ div >
45
+ < div *ngIf ="isTimeTracked " class ="story-footer ">
46
+ < div class ="start-date ">
47
+ < img src ="../../assets/begin.svg " alt ="start date ">
48
+ < p > ... / ...</ p >
49
+ </ div >
50
+ < p > ... J</ p >
51
+ < div class ="end-date ">
52
+ < p > ... / ...</ p >
53
+ < img src ="../../assets/end.svg " alt ="end date ">
54
+ </ div >
55
+ </ div >
56
+ < div *ngIf ="!fullTicketInEdition && fullTicketInEdition !== 0 " class ="overlay " (click) ="enterFullTicketEditionMode(i) ">
57
+ < div class ="overlay-background "> </ div >
58
+ < img src ="../../assets/pencil-black.svg ">
59
+ </ div >
60
+ < div *ngIf ="fullTicketInEdition !== null " class ="overlay ">
61
+ < div class ="overlay-background permanent-opacity "> </ div >
62
+ </ div >
63
+ </ div >
64
+ </ ng-template >
65
+
66
+ < ng-template #fullticketform >
67
+ < form [formGroup] ="fullTicketForm " (ngSubmit) ="onFullTicketSubmit() " *ngIf ="fullTicketInEdition != null ">
68
+ < div class ="story-header ">
69
+ < p class ="tickeykey "> {{fullPostitIssues[fullTicketInEdition].key | ticketkey}}</ p >
70
+ < input class ="epic " formControlName ="epic ">
71
+ </ div >
72
+ < div class ="story-content ">
73
+ < div class ="story-information ">
74
+ < div class ="components ">
75
+ < p class ="badge " *ngFor ="let component of fullPostitIssues[fullTicketInEdition].components "> {{component}}</ p >
76
+ </ div >
77
+ < textarea class ="summary " formControlName ="summary "> </ textarea >
78
+ </ div >
79
+ < div class ="story-side ">
80
+ < img src ="../../assets/assignee.svg " alt ="assignee photo area ">
81
+ < input formControlName ="complexity ">
82
+ </ div >
83
+ </ div >
84
+ < button type ="button " (click) ="exitFullTicketEditionMode() " class ="card-round-button card-cancel-button "> ✘</ button >
85
+ < button class ="card-round-button " type ="submit "> ✓</ button >
86
+ </ form >
87
+ </ ng-template >
0 commit comments