|
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