11< h3 mat-dialog-title > {{'Create new task' | translate}}</ h3 >
2- < div mat-dialog-content >
3- < mat-slide-toggle class ="p-2 "
4- color ="primary "
5- id ="createTaskStatusToggle "
6- [checked] ="model.status === TaskWizardStatusesEnum.Active "
7- [ngModel] ="model.status === TaskWizardStatusesEnum.Active "
8- (ngModelChange) ="changeStatus($event) ">
2+ < div [formGroup] ="taskForm ">
3+ < div mat-dialog-content >
4+ < mat-slide-toggle
5+ class ="p-2 "
6+ color ="primary "
7+ id ="createTaskStatusToggle "
8+ [checked] ="taskForm.value.status === TaskWizardStatusesEnum.Active "
9+ (change) ="changeStatus($event.checked) "
10+ >
911 {{ 'Status' | translate }}
1012 </ mat-slide-toggle >
13+
1114 < div class ="d-flex flex-row ">
1215 < mat-form-field class ="p-2 ">
1316 < mat-label > {{ 'Location' | translate }}</ mat-label >
@@ -16,7 +19,7 @@ <h3 mat-dialog-title>{{'Create new task' | translate}}</h3>
1619 [bindValue] ="'id' "
1720 [bindLabel] ="'name' "
1821 id ="createProperty "
19- [value] =" model. propertyId "
22+ formControlName =" propertyId "
2023 (change) ="changePropertyId($event) "
2124 [clearable] ="false "
2225 />
@@ -28,7 +31,7 @@ <h3 mat-dialog-title>{{'Create new task' | translate}}</h3>
2831 [bindValue] ="'id' "
2932 [bindLabel] ="'name' "
3033 id ="createTableTags "
31- [value] =" model. itemPlanningTagId "
34+ formControlName =" itemPlanningTagId "
3235 (change) ="changePlanningTagId($event) "
3336 [clearable] ="true "
3437 [multiple] ="false "
@@ -56,8 +59,8 @@ <h3 mat-dialog-title>{{'Create new task' | translate}}</h3>
5659 id ="createFolder "
5760 (click) ="openFoldersModal() "
5861 style ="margin-left: -10px "
59- [disabled] ="!model .propertyId "
60- [matTooltip] ="(!model. propertyId ? 'Need to select property': 'Select folder') | translate "
62+ [disabled] ="!taskForm.value .propertyId "
63+ [matTooltip] ="(!taskForm.value. propertyId ? 'Need to select property' : 'Select folder') | translate "
6164 >
6265 < mat-icon > folder</ mat-icon >
6366 </ button >
@@ -71,9 +74,10 @@ <h3 mat-dialog-title>{{'Create new task' | translate}}</h3>
7174 < input
7275 matInput
7376 [matDatepicker] ="picker "
74- [value] ="model.startDate "
77+ matInput
78+ [matDatepicker] ="picker "
79+ formControlName ="startDate "
7580 (dateChange) ="updateStartDate($event) "
76- (dateInput) ="updateStartDate($event) "
7781 (click) ="picker.open() "
7882 id ="createStartFrom "
7983 name ="createStartFrom "
@@ -88,7 +92,7 @@ <h3 mat-dialog-title>{{'Create new task' | translate}}</h3>
8892 [bindValue] ="'id' "
8993 [bindLabel] ="'name' "
9094 id ="createTags "
91- [value] =" model. tagIds "
95+ formControlName =" tagIds "
9296 (change) ="changeTagIds($event) "
9397 [clearable] ="true "
9498 [multiple] ="true "
@@ -116,25 +120,25 @@ <h3 mat-dialog-title>{{'Create new task' | translate}}</h3>
116120 [bindValue] ="'id' "
117121 [bindLabel] ="'name' "
118122 id ="createRepeatType "
119- [value] =" model. repeatType "
120- (change) ="changeRepeatType($event) "
123+ formControlName =" repeatType "
124+ (change) ="changeRepeatType($event.id ?? $event ) "
121125 [clearable] ="false "
122126 [multiple] ="false "
123127 />
124128 </ mat-form-field >
125- < mat-form-field class ="p-2 " *ngIf ="model. repeatType !== 0 ">
129+ < mat-form-field class ="p-2 " *ngIf ="taskForm.get(' repeatType')?.value !== 0 ">
126130 < mat-label > {{ 'Repeat every' | translate }}</ mat-label >
127131 < mtx-select
128132 [items] ="repeatTypeMass() "
129133 [bindValue] ="'id' "
130134 [bindLabel] ="'name' "
131135 id ="createRepeatEvery "
132- [value] =" model. repeatEvery "
133- (change) ="changeRepeatEvery($event) "
136+ formControlName =" repeatEvery "
137+ (change) ="changeRepeatEvery($event.id ?? $event ) "
134138 [clearable] ="false "
135139 [multiple] ="false "
136- [disabled] ="model .repeatType === 0 "
137- [readonly] ="model .repeatType === 0 "
140+ [disabled] ="taskForm.value .repeatType === 0 "
141+ [readonly] ="taskForm.value .repeatType === 0 "
138142 />
139143 </ mat-form-field >
140144 </ div >
@@ -147,73 +151,117 @@ <h3 mat-dialog-title>{{'Create new task' | translate}}</h3>
147151 [disabled]="true"
148152 >
149153 </mat-form-field>-->
150- < ng-container *ngFor ="let languageModel of model.translates; let i = index; first as isFirst; last as isLast ">
151- < ng-container *ngIf ="i % 2 === 0 ">
152- < div class ="d-flex flex-row ">
153- <!-- Render the current item -->
154- <!-- <div>{{getLanguageName(languageModel.languageId)}}</div>-->
155- < mat-form-field class ="p-2 ">
156- < mat-label > {{'Task description' | translate}} ({{getLanguageName(languageModel.languageId)}})</ mat-label >
157- < input
158- type ="text "
159- matInput
160- id ="createName{{i}} "
161- name ="createName{{i}} "
162- [ngModel] ="languageModel.name "
163- (ngModelChange) ="updateName($event, i) "
164- >
165- </ mat-form-field >
166- <!-- Check if there's a next item and render it -->
167-
168- < mat-form-field *ngIf ="model.translates[i + 1] " class ="p-2 ">
169- < mat-label > {{'Task description' | translate}} ({{getLanguageName(model.translates[i + 1].languageId)}})</ mat-label >
170- < input
171- type ="text "
172- matInput
173- id ="createName{{i + 1}} "
174- [ngModel] ="model.translates[i + 1].name "
175- (ngModelChange) ="updateName($event, i + 1) "
176- >
177- </ mat-form-field >
178- <!-- {{ getLanguageName(model.translates[i + 1].languageId) }}-->
179- </ div >
180- </ ng-container >
181- <!-- create -->
182- <!-- <mat-card-->
183- <!-- [class.mt-2]="!isFirst"-->
184- <!-- [class.mb-2]="isLast">-->
185- <!-- <mat-card-title>{{getLanguageName(languageModel.languageId)}}</mat-card-title>-->
186- <!-- <mat-card-content>-->
187- <!-- <mat-form-field>-->
188- <!-- <mat-label>{{'Task description' | translate}} ({{getLanguageName(languageModel.languageId)}})</mat-label>-->
154+ <!-- <div formArrayName="translates">-->
155+ <!-- <ng-container *ngFor="let languageModel of taskForm.get('translates')['controls']; let i = index; first as isFirst; last as isLast" [formGroupName]="i">-->
156+ <!-- <ng-container *ngIf="i % 2 === 0">-->
157+ <!-- <div class="d-flex flex-row">-->
158+ <!-- <!– Render the current item –>-->
159+ <!--<!– <div>{{getLanguageName(languageModel.languageId)}}</div>–>-->
160+ <!-- <mat-form-field class="p-2">-->
161+ <!-- <mat-label>{{'Task description' | translate}} ({{ getLanguageName(translate.get('languageId')?.value) }})</mat-label>-->
189162<!-- <input-->
190163<!-- type="text"-->
191164<!-- matInput-->
192165<!-- id="createName{{i}}"-->
193- <!-- [ngModel]="languageModel.name"-->
166+ <!-- name="createName{{i}}"-->
167+ <!-- formControlName="name"-->
194168<!-- (ngModelChange)="updateName($event, i)"-->
195169<!-- >-->
196170<!-- </mat-form-field>-->
197- <!-- </mat-card-content>-->
198- <!-- </mat-card>-->
171+ <!-- <!– Check if there's a next item and render it –>-->
199172
200- <!--<app-eform-translation
201- [class.mt-2]="!isFirst"
202- [class.mb-2]="isLast"
203- [model]="languageModel"
204- (modelChange)="updateLanguageModel($event, i)"
205- [title]="getLanguageName(languageModel.languageId)"/>-->
206- </ ng-container >
207- < div class ="d-flex flex-row ">
173+ <!-- <mat-form-field *ngIf="model.translates[i + 1]" class="p-2">-->
174+ <!-- <mat-label>{{'Task description' | translate}} ({{getLanguageName(model.translates[i + 1].languageId)}})</mat-label>-->
175+ <!-- <input-->
176+ <!-- type="text"-->
177+ <!-- matInput-->
178+ <!-- id="createName{{i + 1}}"-->
179+ <!-- [ngModel]="model.translates[i + 1].name"-->
180+ <!-- (ngModelChange)="updateName($event, i + 1)"-->
181+ <!-- >-->
182+ <!-- </mat-form-field>-->
183+ <!--<!– {{ getLanguageName(model.translates[i + 1].languageId) }}–>-->
184+ <!-- </div>-->
185+ <!-- </ng-container>-->
186+ <!-- <!– create –>-->
187+ <!--<!– <mat-card–>-->
188+ <!--<!– [class.mt-2]="!isFirst"–>-->
189+ <!--<!– [class.mb-2]="isLast">–>-->
190+ <!--<!– <mat-card-title>{{getLanguageName(languageModel.languageId)}}</mat-card-title>–>-->
191+ <!--<!– <mat-card-content>–>-->
192+ <!--<!– <mat-form-field>–>-->
193+ <!--<!– <mat-label>{{'Task description' | translate}} ({{getLanguageName(languageModel.languageId)}})</mat-label>–>-->
194+ <!--<!– <input–>-->
195+ <!--<!– type="text"–>-->
196+ <!--<!– matInput–>-->
197+ <!--<!– id="createName{{i}}"–>-->
198+ <!--<!– [ngModel]="languageModel.name"–>-->
199+ <!--<!– (ngModelChange)="updateName($event, i)"–>-->
200+ <!--<!– >–>-->
201+ <!--<!– </mat-form-field>–>-->
202+ <!--<!– </mat-card-content>–>-->
203+ <!--<!– </mat-card>–>-->
204+
205+ <!-- <!–<app-eform-translation-->
206+ <!-- [class.mt-2]="!isFirst"-->
207+ <!-- [class.mb-2]="isLast"-->
208+ <!-- [model]="languageModel"-->
209+ <!-- (modelChange)="updateLanguageModel($event, i)"-->
210+ <!-- [title]="getLanguageName(languageModel.languageId)"/>–>-->
211+ <!-- </ng-container>-->
212+ <!-- </div>-->
213+
214+
215+ < div formArrayName ="translates ">
216+ < ng-container
217+ *ngFor ="let translate of taskForm.get('translates')['controls']; let i = index "
218+ [formGroupName] ="i "
219+ >
220+ < ng-container *ngIf ="i % 2 === 0 ">
221+ < div class ="d-flex flex-row ">
222+ <!-- First translation -->
223+ < mat-form-field class ="p-2 ">
224+ < mat-label >
225+ {{ 'Task description' | translate }}
226+ ({{ getLanguageName(translate.get('languageId')?.value) }})
227+ </ mat-label >
228+ < input
229+ matInput
230+ type ="text "
231+ id ="createName{{ i }} "
232+ formControlName ="name "
233+ />
234+ </ mat-form-field >
235+
236+ <!-- Next translation if exists -->
237+ < ng-container *ngIf ="taskForm.get('translates')['controls'][i + 1] as nextTranslate ">
238+ < mat-form-field class ="p-2 ">
239+ < mat-label >
240+ {{ 'Task description' | translate }}
241+ ({{ getLanguageName(nextTranslate.get('languageId')?.value) }})
242+ </ mat-label >
243+ < input
244+ matInput
245+ type ="text "
246+ id ="createName{{ i + 1 }} "
247+ [formControl] ="nextTranslate.get('name') "
248+ />
249+ </ mat-form-field >
250+ </ ng-container >
251+ </ div >
252+ </ ng-container >
253+ </ ng-container >
254+ </ div >
255+ < div class ="d-flex flex-row ">
208256 < mat-form-field class ="p-2 ">
209257 < mat-label > {{'eForm template' | translate}}</ mat-label >
210258 < mtx-select
211259 [items] ="templatesModel.templates "
212260 [bindLabel] ="'label' "
213261 [bindValue] ="'id' "
214262 [typeahead] ="typeahead "
215- [value] =" model. eformId "
216- (change) ="updateEformId($event) "
263+ formControlName =" eformId "
264+ (change) ="updateEformId($event.id ?? $event ) "
217265 id ="createTemplateSelector "
218266 [clearable] ="false "
219267 [multiple] ="false "
@@ -261,3 +309,4 @@ <h3 mat-dialog-title>{{'Create new task' | translate}}</h3>
261309 {{ 'Cancel' | translate }}
262310 </ button >
263311</ div >
312+ </ div >
0 commit comments