|
2 | 2 | <label *ngIf='canMarkEntryAsWIP'><input id='isEntryRunning' type="checkbox" (change)="onGoingToWorkOnThisChange($event)" [checked]="goingToWorkOnThis"> I am working on |
3 | 3 | this</label> |
4 | 4 |
|
5 | | - <div class="input-group input-group-sm mb-3"> |
6 | | - |
7 | | - <div class="input-group-prepend"> |
8 | | - <span class="input-group-text span-width">Project</span> |
9 | | - </div> |
10 | | - |
11 | | - <div class="form-control autocomplete"> |
| 5 | + <div class="form-group row"> |
| 6 | + <label class="col-12 col-sm-2 col-form-label">Project:</label> |
| 7 | + <div class="col-12 col-sm-10 autocomplete"> |
12 | 8 | <ng-autocomplete |
13 | 9 | (selected)='onSelectedProject($event)' |
14 | 10 | (inputCleared)='onClearedComponent($event)' |
|
36 | 32 | </ng-template> |
37 | 33 | <!-- <app-loading-bar *ngIf="(isLoading$ | async)"></app-loading-bar> --> |
38 | 34 | </div> |
39 | | - |
40 | | - |
41 | 35 | </div> |
42 | 36 |
|
43 | | - <div class="input-group input-group-sm mb-3"> |
44 | | - <div class="input-group-prepend"> |
45 | | - <span class="input-group-text span-width">Activity</span> |
| 37 | + |
| 38 | + <div class="form-group row"> |
| 39 | + <label class="col-12 col-sm-2 col-form-label">Activity:</label> |
| 40 | + <div class="col-12 col-sm-10"> |
| 41 | + <select |
| 42 | + [class.is-invalid]="activity_id.invalid" |
| 43 | + required |
| 44 | + id="activity_id" |
| 45 | + class="custom-select" |
| 46 | + formControlName="activity_id" |
| 47 | + > |
| 48 | + <option value="" selected="selected"></option> |
| 49 | + <option *ngFor="let activity of activities" value="{{ activity.id }}">{{ activity.name }}</option> |
| 50 | + </select> |
46 | 51 | </div> |
47 | | - <select |
48 | | - [class.is-invalid]="activity_id.invalid" |
49 | | - required |
50 | | - id="activity_id" |
51 | | - class="custom-select" |
52 | | - formControlName="activity_id" |
53 | | - > |
54 | | - <option value="" selected="selected"></option> |
55 | | - <option *ngFor="let activity of activities" value="{{ activity.id }}">{{ activity.name }}</option> |
56 | | - </select> |
57 | 52 | <div |
58 | 53 | class="invalid-feedback" |
59 | 54 | *ngIf="(activity_id.dirty || activity_id.touched) && activity_id.invalid && activity_id.errors.required" |
60 | 55 | ></div> |
61 | 56 | </div> |
62 | 57 |
|
63 | | - <div class="input-group input-group-sm mb-3"> |
64 | | - <div class="input-group-prepend"> |
65 | | - <span class="input-group-text span-width">Ticket</span> |
| 58 | + |
| 59 | + <div class="form-group row"> |
| 60 | + <label class="col-12 col-sm-2 col-form-label">Ticket:</label> |
| 61 | + <div class="col-12 col-sm-10"> |
| 62 | + <input |
| 63 | + formControlName="uri" |
| 64 | + id="uri" |
| 65 | + type="text" |
| 66 | + class="form-control" |
| 67 | + aria-label="Small" |
| 68 | + aria-describedby="inputGroup-sizing-sm" |
| 69 | + /> |
66 | 70 | </div> |
67 | | - <input |
68 | | - formControlName="uri" |
69 | | - id="uri" |
70 | | - type="text" |
71 | | - class="form-control" |
72 | | - aria-label="Small" |
73 | | - aria-describedby="inputGroup-sizing-sm" |
74 | | - /> |
75 | 71 | </div> |
76 | 72 |
|
77 | | - <div class="input-group input-group-sm mb-3"> |
78 | | - <div class="input-group-prepend"> |
79 | | - <span class="input-group-text span-width">Date</span> |
| 73 | + |
| 74 | + <div class="form-group row"> |
| 75 | + <label class="col-12 col-sm-2 col-form-label">Date:</label> |
| 76 | + <div class="col-12 col-sm-10"> |
| 77 | + <input |
| 78 | + formControlName="entry_date" |
| 79 | + id="entry_date" |
| 80 | + type="date" |
| 81 | + class="form-control" |
| 82 | + aria-label="Small" |
| 83 | + aria-describedby="inputGroup-sizing-sm" |
| 84 | + [class.is-invalid]="entry_date.invalid && entry_date.touched" |
| 85 | + required |
| 86 | + /> |
80 | 87 | </div> |
81 | | - <input |
82 | | - formControlName="entry_date" |
83 | | - id="entry_date" |
84 | | - type="date" |
85 | | - class="form-control" |
86 | | - aria-label="Small" |
87 | | - aria-describedby="inputGroup-sizing-sm" |
88 | | - [class.is-invalid]="entry_date.invalid && entry_date.touched" |
89 | | - required |
90 | | - /> |
91 | 88 | </div> |
92 | | - <div class="input-group input-group-sm mb-3"> |
93 | | - <div class="input-group-prepend"> |
94 | | - <span class="input-group-text span-width">Time in</span> |
| 89 | + |
| 90 | + |
| 91 | + <div class="form-group row"> |
| 92 | + <label class="col-12 col-sm-2 col-form-label pr-0">Time in:</label> |
| 93 | + <div class="col-12 col-sm-4"> |
| 94 | + <input |
| 95 | + [clearIfNotMatch]="true" |
| 96 | + [showMaskTyped]="true" |
| 97 | + [dropSpecialCharacters]="false" |
| 98 | + matInput |
| 99 | + mask="Hh:m0:s0" |
| 100 | + onClick="this.select();" |
| 101 | + formControlName="start_hour" |
| 102 | + id="start_hour" |
| 103 | + type="text" |
| 104 | + class="form-control" |
| 105 | + aria-label="Small" |
| 106 | + [class.is-invalid]="start_hour.invalid && start_hour.touched" |
| 107 | + required |
| 108 | + aria-describedby="inputGroup-sizing-sm" |
| 109 | + /> |
95 | 110 | </div> |
96 | | - <input |
97 | | - [clearIfNotMatch]="true" |
98 | | - [showMaskTyped]="true" |
99 | | - [dropSpecialCharacters]="false" |
100 | | - matInput |
101 | | - mask="Hh:m0:s0" |
102 | | - onClick="this.select();" |
103 | | - formControlName="start_hour" |
104 | | - id="start_hour" |
105 | | - type="text" |
106 | | - class="form-control" |
107 | | - aria-label="Small" |
108 | | - [class.is-invalid]="start_hour.invalid && start_hour.touched" |
109 | | - required |
110 | | - aria-describedby="inputGroup-sizing-sm" |
111 | | - /> |
112 | | - <div class="input-group-prepend" *ngIf="!goingToWorkOnThis"> |
113 | | - <span class="input-group-text span-width">Time out</span> |
| 111 | + |
| 112 | + <label class="col-12 col-sm-2 col-form-label pr-0" *ngIf="!goingToWorkOnThis">Time out:</label> |
| 113 | + <div class="col-12 col-sm-4" *ngIf="!goingToWorkOnThis"> |
| 114 | + <input |
| 115 | + *ngIf="!goingToWorkOnThis" |
| 116 | + [clearIfNotMatch]="true" |
| 117 | + [showMaskTyped]="true" |
| 118 | + [dropSpecialCharacters]="false" |
| 119 | + matInput |
| 120 | + onClick="this.select();" |
| 121 | + mask="Hh:m0:s0" |
| 122 | + formControlName="end_hour" |
| 123 | + type="text" |
| 124 | + id="end_hour" |
| 125 | + class="form-control" |
| 126 | + aria-label="Small" |
| 127 | + [class.is-invalid]="end_hour.invalid && end_hour.touched" |
| 128 | + required |
| 129 | + aria-describedby="inputGroup-sizing-sm" |
| 130 | + /> |
114 | 131 | </div> |
115 | | - <input |
116 | | - *ngIf="!goingToWorkOnThis" |
117 | | - [clearIfNotMatch]="true" |
118 | | - [showMaskTyped]="true" |
119 | | - [dropSpecialCharacters]="false" |
120 | | - matInput |
121 | | - onClick="this.select();" |
122 | | - mask="Hh:m0:s0" |
123 | | - formControlName="end_hour" |
124 | | - type="text" |
125 | | - id="end_hour" |
126 | | - class="form-control" |
127 | | - aria-label="Small" |
128 | | - [class.is-invalid]="end_hour.invalid && end_hour.touched" |
129 | | - required |
130 | | - aria-describedby="inputGroup-sizing-sm" |
131 | | - /> |
132 | 132 | </div> |
133 | 133 |
|
| 134 | + |
134 | 135 | <app-technologies |
135 | 136 | (technologyAdded)="onTechnologiesUpdated($event)" |
136 | 137 | (technologyRemoved)="onTechnologiesUpdated($event)" |
137 | 138 | [selectedTechnologies]="selectedTechnologies" |
138 | 139 | > |
139 | 140 | </app-technologies> |
140 | 141 |
|
| 142 | + |
141 | 143 | <div class="form-group text-left"> |
142 | | - <label for="NotesTextarea">Description</label> |
| 144 | + <label for="NotesTextarea">Description:</label> |
143 | 145 | <textarea maxlength="1500" formControlName="description" class="form-control" id="NotesTextarea" |
144 | 146 | rows="3"></textarea> |
145 | 147 | </div> |
|
0 commit comments