mis-crystal-design-system 14.0.44-test8 → 14.0.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/async-search-dropdown/async-dropdown.component.d.ts +0 -1
- package/async-search-dropdown/async-dropdown.module.d.ts +1 -2
- package/datepicker_v2/datepicker.module.d.ts +1 -2
- package/datepicker_v2/tz-datepicker.directive.d.ts +0 -2
- package/datepicker_v2/tz-dp-container/tz-dp-container.component.d.ts +0 -2
- package/daterangepicker_v2/daterangepicker.module.d.ts +1 -2
- package/daterangepicker_v2/tz-daterangepicker.directive.d.ts +0 -2
- package/daterangepicker_v2/tz-drp-container/tz-drp-container.component.d.ts +0 -2
- package/dropdown/dropdown.component.d.ts +0 -1
- package/dropdown/dropdown.module.d.ts +1 -2
- package/dynamic-form/dynamic-form.component.d.ts +3 -1
- package/dynamic-form/dynamic-form.namespace.d.ts +1 -0
- package/esm2020/async-search-dropdown/async-dropdown.component.mjs +48 -60
- package/esm2020/async-search-dropdown/async-dropdown.module.mjs +4 -5
- package/esm2020/checkbox/checkbox.component.mjs +4 -4
- package/esm2020/chip/chip.component.mjs +14 -14
- package/esm2020/datepicker_v2/datepicker.module.mjs +4 -5
- package/esm2020/datepicker_v2/tz-datepicker.directive.mjs +2 -21
- package/esm2020/datepicker_v2/tz-dp-container/tz-dp-container.component.mjs +40 -55
- package/esm2020/daterangepicker_v2/daterangepicker.module.mjs +4 -5
- package/esm2020/daterangepicker_v2/tz-daterangepicker.directive.mjs +2 -21
- package/esm2020/daterangepicker_v2/tz-drp-container/tz-drp-container.component.mjs +67 -88
- package/esm2020/dropdown/dropdown.component.mjs +38 -52
- package/esm2020/dropdown/dropdown.module.mjs +4 -5
- package/esm2020/dynamic-form/dynamic-form.component.mjs +84 -61
- package/esm2020/dynamic-form/dynamic-form.namespace.mjs +1 -1
- package/esm2020/mobile-filter/mobile-filter.component.mjs +16 -18
- package/esm2020/radio-button/radio-button.component.mjs +4 -4
- package/esm2020/table/table.component.mjs +2 -2
- package/fesm2015/mis-crystal-design-system-async-search-dropdown.mjs +50 -65
- package/fesm2015/mis-crystal-design-system-async-search-dropdown.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-checkbox.mjs +3 -3
- package/fesm2015/mis-crystal-design-system-checkbox.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-chip.mjs +13 -13
- package/fesm2015/mis-crystal-design-system-chip.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-datepicker_v2.mjs +43 -80
- package/fesm2015/mis-crystal-design-system-datepicker_v2.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-daterangepicker_v2.mjs +70 -113
- package/fesm2015/mis-crystal-design-system-daterangepicker_v2.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-dropdown.mjs +40 -57
- package/fesm2015/mis-crystal-design-system-dropdown.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-dynamic-form.mjs +86 -60
- package/fesm2015/mis-crystal-design-system-dynamic-form.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-mobile-filter.mjs +15 -17
- package/fesm2015/mis-crystal-design-system-mobile-filter.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-radio-button.mjs +3 -3
- package/fesm2015/mis-crystal-design-system-radio-button.mjs.map +1 -1
- package/fesm2015/mis-crystal-design-system-table.mjs +2 -2
- package/fesm2015/mis-crystal-design-system-table.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-async-search-dropdown.mjs +50 -63
- package/fesm2020/mis-crystal-design-system-async-search-dropdown.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-checkbox.mjs +3 -3
- package/fesm2020/mis-crystal-design-system-checkbox.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-chip.mjs +13 -13
- package/fesm2020/mis-crystal-design-system-chip.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-datepicker_v2.mjs +43 -78
- package/fesm2020/mis-crystal-design-system-datepicker_v2.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-daterangepicker_v2.mjs +70 -111
- package/fesm2020/mis-crystal-design-system-daterangepicker_v2.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-dropdown.mjs +40 -55
- package/fesm2020/mis-crystal-design-system-dropdown.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-dynamic-form.mjs +83 -60
- package/fesm2020/mis-crystal-design-system-dynamic-form.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-mobile-filter.mjs +15 -17
- package/fesm2020/mis-crystal-design-system-mobile-filter.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-radio-button.mjs +3 -3
- package/fesm2020/mis-crystal-design-system-radio-button.mjs.map +1 -1
- package/fesm2020/mis-crystal-design-system-table.mjs +2 -2
- package/fesm2020/mis-crystal-design-system-table.mjs.map +1 -1
- package/package.json +1 -1
- package/table/filter/filter.component.d.ts +1 -1
|
@@ -227,7 +227,19 @@ function DynamicFormComponent_ng_template_3_div_3_Template(rf, ctx) {
|
|
|
227
227
|
i0.ɵɵproperty("ngIf", control_r13.touched && control_r13.errors);
|
|
228
228
|
}
|
|
229
229
|
}
|
|
230
|
-
function
|
|
230
|
+
function DynamicFormComponent_ng_template_3_div_4_img_5_Template(rf, ctx) {
|
|
231
|
+
if (rf & 1) {
|
|
232
|
+
const _r55 = i0.ɵɵgetCurrentView();
|
|
233
|
+
i0.ɵɵelementStart(0, "img", 29);
|
|
234
|
+
i0.ɵɵlistener("click", function DynamicFormComponent_ng_template_3_div_4_img_5_Template_img_click_0_listener() { i0.ɵɵrestoreView(_r55); const field_r12 = i0.ɵɵnextContext(2).$implicit; const ctx_r53 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r53.fieldRemoved.emit(field_r12)); });
|
|
235
|
+
i0.ɵɵelementEnd();
|
|
236
|
+
}
|
|
237
|
+
if (rf & 2) {
|
|
238
|
+
const ctx_r51 = i0.ɵɵnextContext(3);
|
|
239
|
+
i0.ɵɵproperty("src", ctx_r51.removeIconUrl, i0.ɵɵsanitizeUrl);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
function DynamicFormComponent_ng_template_3_div_4_ng_container_6_Template(rf, ctx) {
|
|
231
243
|
if (rf & 1) {
|
|
232
244
|
i0.ɵɵelementContainer(0, 6);
|
|
233
245
|
}
|
|
@@ -238,59 +250,67 @@ function DynamicFormComponent_ng_template_3_div_4_ng_container_4_Template(rf, ct
|
|
|
238
250
|
i0.ɵɵproperty("ngTemplateOutlet", _r3)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c2, control_r13.errors));
|
|
239
251
|
}
|
|
240
252
|
}
|
|
253
|
+
const _c4 = function (a0) { return { "removeable-container": a0 }; };
|
|
241
254
|
function DynamicFormComponent_ng_template_3_div_4_Template(rf, ctx) {
|
|
242
255
|
if (rf & 1) {
|
|
243
|
-
const
|
|
256
|
+
const _r59 = i0.ɵɵgetCurrentView();
|
|
244
257
|
i0.ɵɵelementStart(0, "div", 18)(1, "p", 19);
|
|
245
258
|
i0.ɵɵtext(2);
|
|
246
259
|
i0.ɵɵelementEnd();
|
|
247
|
-
i0.ɵɵelementStart(3, "mis-dropdown",
|
|
248
|
-
i0.ɵɵlistener("onChange", function
|
|
260
|
+
i0.ɵɵelementStart(3, "div", 26)(4, "mis-dropdown", 27);
|
|
261
|
+
i0.ɵɵlistener("onChange", function DynamicFormComponent_ng_template_3_div_4_Template_mis_dropdown_onChange_4_listener($event) { i0.ɵɵrestoreView(_r59); const ctx_r58 = i0.ɵɵnextContext(); const field_r12 = ctx_r58.$implicit; const control_r13 = ctx_r58.control; const formgroup_r14 = ctx_r58.formGroup; const ctx_r57 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r57.updateSelectedValueForSingleSelect(field_r12, control_r13, formgroup_r14, $event)); });
|
|
262
|
+
i0.ɵɵelementEnd();
|
|
263
|
+
i0.ɵɵtemplate(5, DynamicFormComponent_ng_template_3_div_4_img_5_Template, 1, 1, "img", 28);
|
|
249
264
|
i0.ɵɵelementEnd();
|
|
250
|
-
i0.ɵɵtemplate(
|
|
265
|
+
i0.ɵɵtemplate(6, DynamicFormComponent_ng_template_3_div_4_ng_container_6_Template, 1, 4, "ng-container", 16);
|
|
251
266
|
i0.ɵɵelementEnd();
|
|
252
267
|
}
|
|
253
268
|
if (rf & 2) {
|
|
254
|
-
const
|
|
255
|
-
const field_r12 =
|
|
256
|
-
const control_r13 =
|
|
269
|
+
const ctx_r60 = i0.ɵɵnextContext();
|
|
270
|
+
const field_r12 = ctx_r60.$implicit;
|
|
271
|
+
const control_r13 = ctx_r60.control;
|
|
272
|
+
const ctx_r19 = i0.ɵɵnextContext();
|
|
257
273
|
i0.ɵɵadvance(2);
|
|
258
274
|
i0.ɵɵtextInterpolate1(" ", field_r12.title, " ");
|
|
259
275
|
i0.ɵɵadvance(1);
|
|
276
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c4, field_r12 == null ? null : field_r12.isRemoveable));
|
|
277
|
+
i0.ɵɵadvance(1);
|
|
260
278
|
i0.ɵɵproperty("searchEnabled", false)("width", "140px")("data", field_r12.itemsList)("selectedItem", control_r13.value);
|
|
261
279
|
i0.ɵɵadvance(1);
|
|
280
|
+
i0.ɵɵproperty("ngIf", field_r12.isRemoveable && ctx_r19.removeIconUrl);
|
|
281
|
+
i0.ɵɵadvance(1);
|
|
262
282
|
i0.ɵɵproperty("ngIf", control_r13.touched && control_r13.errors);
|
|
263
283
|
}
|
|
264
284
|
}
|
|
265
285
|
function DynamicFormComponent_ng_template_3_div_5_div_5_img_1_Template(rf, ctx) {
|
|
266
286
|
if (rf & 1) {
|
|
267
|
-
i0.ɵɵelement(0, "img",
|
|
287
|
+
i0.ɵɵelement(0, "img", 34);
|
|
268
288
|
}
|
|
269
289
|
if (rf & 2) {
|
|
270
|
-
const
|
|
271
|
-
i0.ɵɵproperty("src",
|
|
290
|
+
const ctx_r64 = i0.ɵɵnextContext(4);
|
|
291
|
+
i0.ɵɵproperty("src", ctx_r64.activeBtnIconUrl, i0.ɵɵsanitizeUrl);
|
|
272
292
|
}
|
|
273
293
|
}
|
|
274
|
-
const
|
|
294
|
+
const _c5 = function (a0) { return { "checkbox-active": a0 }; };
|
|
275
295
|
function DynamicFormComponent_ng_template_3_div_5_div_5_Template(rf, ctx) {
|
|
276
296
|
if (rf & 1) {
|
|
277
|
-
const
|
|
278
|
-
i0.ɵɵelementStart(0, "div",
|
|
279
|
-
i0.ɵɵlistener("click", function DynamicFormComponent_ng_template_3_div_5_div_5_Template_div_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(
|
|
280
|
-
i0.ɵɵtemplate(1, DynamicFormComponent_ng_template_3_div_5_div_5_img_1_Template, 1, 1, "img",
|
|
297
|
+
const _r67 = i0.ɵɵgetCurrentView();
|
|
298
|
+
i0.ɵɵelementStart(0, "div", 32);
|
|
299
|
+
i0.ɵɵlistener("click", function DynamicFormComponent_ng_template_3_div_5_div_5_Template_div_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r67); const item_r63 = restoredCtx.$implicit; const ctx_r66 = i0.ɵɵnextContext(2); const field_r12 = ctx_r66.$implicit; const control_r13 = ctx_r66.control; const formgroup_r14 = ctx_r66.formGroup; const ctx_r65 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r65.updateSelectedValueForSingleSelect(field_r12, control_r13, formgroup_r14, item_r63)); });
|
|
300
|
+
i0.ɵɵtemplate(1, DynamicFormComponent_ng_template_3_div_5_div_5_img_1_Template, 1, 1, "img", 33);
|
|
281
301
|
i0.ɵɵelementStart(2, "p", 19);
|
|
282
302
|
i0.ɵɵtext(3);
|
|
283
303
|
i0.ɵɵelementEnd()();
|
|
284
304
|
}
|
|
285
305
|
if (rf & 2) {
|
|
286
|
-
const
|
|
306
|
+
const item_r63 = ctx.$implicit;
|
|
287
307
|
const control_r13 = i0.ɵɵnextContext(2).control;
|
|
288
|
-
const
|
|
289
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(3,
|
|
308
|
+
const ctx_r61 = i0.ɵɵnextContext();
|
|
309
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(3, _c5, item_r63.label === (control_r13.value == null ? null : control_r13.value.label)));
|
|
290
310
|
i0.ɵɵadvance(1);
|
|
291
|
-
i0.ɵɵproperty("ngIf",
|
|
311
|
+
i0.ɵɵproperty("ngIf", item_r63.label === (control_r13.value == null ? null : control_r13.value.label) && ctx_r61.activeBtnIconUrl);
|
|
292
312
|
i0.ɵɵadvance(2);
|
|
293
|
-
i0.ɵɵtextInterpolate(
|
|
313
|
+
i0.ɵɵtextInterpolate(item_r63.label);
|
|
294
314
|
}
|
|
295
315
|
}
|
|
296
316
|
function DynamicFormComponent_ng_template_3_div_5_ng_container_6_Template(rf, ctx) {
|
|
@@ -310,16 +330,16 @@ function DynamicFormComponent_ng_template_3_div_5_Template(rf, ctx) {
|
|
|
310
330
|
i0.ɵɵtext(2);
|
|
311
331
|
i0.ɵɵelementEnd();
|
|
312
332
|
i0.ɵɵelement(3, "div", 14);
|
|
313
|
-
i0.ɵɵelementStart(4, "div",
|
|
314
|
-
i0.ɵɵtemplate(5, DynamicFormComponent_ng_template_3_div_5_div_5_Template, 4, 5, "div",
|
|
333
|
+
i0.ɵɵelementStart(4, "div", 30);
|
|
334
|
+
i0.ɵɵtemplate(5, DynamicFormComponent_ng_template_3_div_5_div_5_Template, 4, 5, "div", 31);
|
|
315
335
|
i0.ɵɵelementEnd();
|
|
316
336
|
i0.ɵɵtemplate(6, DynamicFormComponent_ng_template_3_div_5_ng_container_6_Template, 1, 4, "ng-container", 16);
|
|
317
337
|
i0.ɵɵelementEnd();
|
|
318
338
|
}
|
|
319
339
|
if (rf & 2) {
|
|
320
|
-
const
|
|
321
|
-
const field_r12 =
|
|
322
|
-
const control_r13 =
|
|
340
|
+
const ctx_r70 = i0.ɵɵnextContext();
|
|
341
|
+
const field_r12 = ctx_r70.$implicit;
|
|
342
|
+
const control_r13 = ctx_r70.control;
|
|
323
343
|
i0.ɵɵadvance(2);
|
|
324
344
|
i0.ɵɵtextInterpolate1(" ", field_r12.title, " ");
|
|
325
345
|
i0.ɵɵadvance(3);
|
|
@@ -330,32 +350,32 @@ function DynamicFormComponent_ng_template_3_div_5_Template(rf, ctx) {
|
|
|
330
350
|
}
|
|
331
351
|
function DynamicFormComponent_ng_template_3_div_6_div_5_img_1_Template(rf, ctx) {
|
|
332
352
|
if (rf & 1) {
|
|
333
|
-
i0.ɵɵelement(0, "img",
|
|
353
|
+
i0.ɵɵelement(0, "img", 34);
|
|
334
354
|
}
|
|
335
355
|
if (rf & 2) {
|
|
336
|
-
const
|
|
337
|
-
i0.ɵɵproperty("src",
|
|
356
|
+
const ctx_r74 = i0.ɵɵnextContext(4);
|
|
357
|
+
i0.ɵɵproperty("src", ctx_r74.activeBtnIconUrl, i0.ɵɵsanitizeUrl);
|
|
338
358
|
}
|
|
339
359
|
}
|
|
340
360
|
function DynamicFormComponent_ng_template_3_div_6_div_5_Template(rf, ctx) {
|
|
341
361
|
if (rf & 1) {
|
|
342
|
-
const
|
|
343
|
-
i0.ɵɵelementStart(0, "div",
|
|
344
|
-
i0.ɵɵlistener("click", function DynamicFormComponent_ng_template_3_div_6_div_5_Template_div_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(
|
|
345
|
-
i0.ɵɵtemplate(1, DynamicFormComponent_ng_template_3_div_6_div_5_img_1_Template, 1, 1, "img",
|
|
362
|
+
const _r77 = i0.ɵɵgetCurrentView();
|
|
363
|
+
i0.ɵɵelementStart(0, "div", 32);
|
|
364
|
+
i0.ɵɵlistener("click", function DynamicFormComponent_ng_template_3_div_6_div_5_Template_div_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r77); const item_r73 = restoredCtx.$implicit; const ctx_r76 = i0.ɵɵnextContext(2); const field_r12 = ctx_r76.$implicit; const control_r13 = ctx_r76.control; const formgroup_r14 = ctx_r76.formGroup; const ctx_r75 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r75.updateSelectedValueForMultiSelect(field_r12, control_r13, formgroup_r14, [item_r73])); });
|
|
365
|
+
i0.ɵɵtemplate(1, DynamicFormComponent_ng_template_3_div_6_div_5_img_1_Template, 1, 1, "img", 33);
|
|
346
366
|
i0.ɵɵelementStart(2, "p", 19);
|
|
347
367
|
i0.ɵɵtext(3);
|
|
348
368
|
i0.ɵɵelementEnd()();
|
|
349
369
|
}
|
|
350
370
|
if (rf & 2) {
|
|
351
|
-
const
|
|
371
|
+
const item_r73 = ctx.$implicit;
|
|
352
372
|
const control_r13 = i0.ɵɵnextContext(2).control;
|
|
353
|
-
const
|
|
354
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(3,
|
|
373
|
+
const ctx_r71 = i0.ɵɵnextContext();
|
|
374
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(3, _c5, ctx_r71.isCheckBoxSelected(item_r73.label, control_r13.value)));
|
|
355
375
|
i0.ɵɵadvance(1);
|
|
356
|
-
i0.ɵɵproperty("ngIf",
|
|
376
|
+
i0.ɵɵproperty("ngIf", ctx_r71.isCheckBoxSelected(item_r73.label, control_r13.value) && ctx_r71.activeBtnIconUrl);
|
|
357
377
|
i0.ɵɵadvance(2);
|
|
358
|
-
i0.ɵɵtextInterpolate(
|
|
378
|
+
i0.ɵɵtextInterpolate(item_r73.label);
|
|
359
379
|
}
|
|
360
380
|
}
|
|
361
381
|
function DynamicFormComponent_ng_template_3_div_6_ng_container_6_Template(rf, ctx) {
|
|
@@ -375,16 +395,16 @@ function DynamicFormComponent_ng_template_3_div_6_Template(rf, ctx) {
|
|
|
375
395
|
i0.ɵɵtext(2);
|
|
376
396
|
i0.ɵɵelementEnd();
|
|
377
397
|
i0.ɵɵelement(3, "div", 14);
|
|
378
|
-
i0.ɵɵelementStart(4, "div",
|
|
379
|
-
i0.ɵɵtemplate(5, DynamicFormComponent_ng_template_3_div_6_div_5_Template, 4, 5, "div",
|
|
398
|
+
i0.ɵɵelementStart(4, "div", 30);
|
|
399
|
+
i0.ɵɵtemplate(5, DynamicFormComponent_ng_template_3_div_6_div_5_Template, 4, 5, "div", 31);
|
|
380
400
|
i0.ɵɵelementEnd();
|
|
381
401
|
i0.ɵɵtemplate(6, DynamicFormComponent_ng_template_3_div_6_ng_container_6_Template, 1, 4, "ng-container", 16);
|
|
382
402
|
i0.ɵɵelementEnd();
|
|
383
403
|
}
|
|
384
404
|
if (rf & 2) {
|
|
385
|
-
const
|
|
386
|
-
const field_r12 =
|
|
387
|
-
const control_r13 =
|
|
405
|
+
const ctx_r80 = i0.ɵɵnextContext();
|
|
406
|
+
const field_r12 = ctx_r80.$implicit;
|
|
407
|
+
const control_r13 = ctx_r80.control;
|
|
388
408
|
i0.ɵɵadvance(2);
|
|
389
409
|
i0.ɵɵtextInterpolate1(" ", field_r12.title, " ");
|
|
390
410
|
i0.ɵɵadvance(3);
|
|
@@ -406,20 +426,20 @@ function DynamicFormComponent_ng_template_3_div_7_ng_container_4_Template(rf, ct
|
|
|
406
426
|
}
|
|
407
427
|
function DynamicFormComponent_ng_template_3_div_7_Template(rf, ctx) {
|
|
408
428
|
if (rf & 1) {
|
|
409
|
-
const
|
|
429
|
+
const _r85 = i0.ɵɵgetCurrentView();
|
|
410
430
|
i0.ɵɵelementStart(0, "div", 18)(1, "p", 19);
|
|
411
431
|
i0.ɵɵtext(2);
|
|
412
432
|
i0.ɵɵelementEnd();
|
|
413
|
-
i0.ɵɵelementStart(3, "mis-multi-select-dropdown",
|
|
414
|
-
i0.ɵɵlistener("onChange", function DynamicFormComponent_ng_template_3_div_7_Template_mis_multi_select_dropdown_onChange_3_listener($event) { i0.ɵɵrestoreView(
|
|
433
|
+
i0.ɵɵelementStart(3, "mis-multi-select-dropdown", 35);
|
|
434
|
+
i0.ɵɵlistener("onChange", function DynamicFormComponent_ng_template_3_div_7_Template_mis_multi_select_dropdown_onChange_3_listener($event) { i0.ɵɵrestoreView(_r85); const ctx_r84 = i0.ɵɵnextContext(); const field_r12 = ctx_r84.$implicit; const control_r13 = ctx_r84.control; const formgroup_r14 = ctx_r84.formGroup; const ctx_r83 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r83.updateSelectedValueForMultiSelect(field_r12, control_r13, formgroup_r14, $event)); });
|
|
415
435
|
i0.ɵɵelementEnd();
|
|
416
436
|
i0.ɵɵtemplate(4, DynamicFormComponent_ng_template_3_div_7_ng_container_4_Template, 1, 4, "ng-container", 16);
|
|
417
437
|
i0.ɵɵelementEnd();
|
|
418
438
|
}
|
|
419
439
|
if (rf & 2) {
|
|
420
|
-
const
|
|
421
|
-
const field_r12 =
|
|
422
|
-
const control_r13 =
|
|
440
|
+
const ctx_r86 = i0.ɵɵnextContext();
|
|
441
|
+
const field_r12 = ctx_r86.$implicit;
|
|
442
|
+
const control_r13 = ctx_r86.control;
|
|
423
443
|
i0.ɵɵadvance(2);
|
|
424
444
|
i0.ɵɵtextInterpolate1(" ", field_r12.title, " ");
|
|
425
445
|
i0.ɵɵadvance(1);
|
|
@@ -434,7 +454,7 @@ function DynamicFormComponent_ng_template_3_Template(rf, ctx) {
|
|
|
434
454
|
i0.ɵɵtemplate(1, DynamicFormComponent_ng_template_3_div_1_Template, 6, 7, "div", 10);
|
|
435
455
|
i0.ɵɵtemplate(2, DynamicFormComponent_ng_template_3_div_2_Template, 8, 7, "div", 11);
|
|
436
456
|
i0.ɵɵtemplate(3, DynamicFormComponent_ng_template_3_div_3_Template, 5, 3, "div", 11);
|
|
437
|
-
i0.ɵɵtemplate(4, DynamicFormComponent_ng_template_3_div_4_Template,
|
|
457
|
+
i0.ɵɵtemplate(4, DynamicFormComponent_ng_template_3_div_4_Template, 7, 10, "div", 11);
|
|
438
458
|
i0.ɵɵtemplate(5, DynamicFormComponent_ng_template_3_div_5_Template, 7, 3, "div", 10);
|
|
439
459
|
i0.ɵɵtemplate(6, DynamicFormComponent_ng_template_3_div_6_Template, 7, 3, "div", 10);
|
|
440
460
|
i0.ɵɵtemplate(7, DynamicFormComponent_ng_template_3_div_7_Template, 5, 9, "div", 11);
|
|
@@ -461,29 +481,29 @@ function DynamicFormComponent_ng_template_3_Template(rf, ctx) {
|
|
|
461
481
|
function DynamicFormComponent_ng_template_5_ng_container_1_Template(rf, ctx) {
|
|
462
482
|
if (rf & 1) {
|
|
463
483
|
i0.ɵɵelementContainerStart(0);
|
|
464
|
-
i0.ɵɵelementStart(1, "p",
|
|
484
|
+
i0.ɵɵelementStart(1, "p", 37);
|
|
465
485
|
i0.ɵɵtext(2);
|
|
466
486
|
i0.ɵɵelementEnd();
|
|
467
|
-
i0.ɵɵelement(3, "div",
|
|
487
|
+
i0.ɵɵelement(3, "div", 38);
|
|
468
488
|
i0.ɵɵelementContainerEnd();
|
|
469
489
|
}
|
|
470
490
|
if (rf & 2) {
|
|
471
|
-
const
|
|
491
|
+
const error_r89 = ctx.$implicit;
|
|
472
492
|
i0.ɵɵadvance(2);
|
|
473
|
-
i0.ɵɵtextInterpolate1(" ", " \u2022 \u00A0" +
|
|
493
|
+
i0.ɵɵtextInterpolate1(" ", " \u2022 \u00A0" + error_r89.value, " ");
|
|
474
494
|
}
|
|
475
495
|
}
|
|
476
496
|
function DynamicFormComponent_ng_template_5_Template(rf, ctx) {
|
|
477
497
|
if (rf & 1) {
|
|
478
|
-
i0.ɵɵelementStart(0, "div",
|
|
498
|
+
i0.ɵɵelementStart(0, "div", 36);
|
|
479
499
|
i0.ɵɵtemplate(1, DynamicFormComponent_ng_template_5_ng_container_1_Template, 4, 1, "ng-container", 9);
|
|
480
500
|
i0.ɵɵpipe(2, "keyvalue");
|
|
481
501
|
i0.ɵɵelementEnd();
|
|
482
502
|
}
|
|
483
503
|
if (rf & 2) {
|
|
484
|
-
const
|
|
504
|
+
const errors_r87 = ctx.$implicit;
|
|
485
505
|
i0.ɵɵadvance(1);
|
|
486
|
-
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(2, 1,
|
|
506
|
+
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(2, 1, errors_r87));
|
|
487
507
|
}
|
|
488
508
|
}
|
|
489
509
|
class DynamicFormComponent {
|
|
@@ -498,6 +518,7 @@ class DynamicFormComponent {
|
|
|
498
518
|
// Need to deprecate these inputs and use constants.
|
|
499
519
|
this.activeBtnIconUrl = "";
|
|
500
520
|
this.calendarIconUrl = "";
|
|
521
|
+
this.removeIconUrl = "";
|
|
501
522
|
/**
|
|
502
523
|
* formUpdated: Emits formValues Object whenever there is a change in the dynamic form.
|
|
503
524
|
*/
|
|
@@ -510,6 +531,7 @@ class DynamicFormComponent {
|
|
|
510
531
|
* formInitialized: Emits dynamic form API on form initilization
|
|
511
532
|
*/
|
|
512
533
|
this.formInitialized = new EventEmitter();
|
|
534
|
+
this.fieldRemoved = new EventEmitter();
|
|
513
535
|
}
|
|
514
536
|
ngOnInit() {
|
|
515
537
|
// Building the form
|
|
@@ -723,7 +745,7 @@ class DynamicFormComponent {
|
|
|
723
745
|
}
|
|
724
746
|
}
|
|
725
747
|
DynamicFormComponent.ɵfac = function DynamicFormComponent_Factory(t) { return new (t || DynamicFormComponent)(); };
|
|
726
|
-
DynamicFormComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DynamicFormComponent, selectors: [["mis-dynamic-form"]], inputs: { formFields: "formFields", formValues: "formValues", activeBtnIconUrl: "activeBtnIconUrl", calendarIconUrl: "calendarIconUrl" }, outputs: { formUpdated: "formUpdated", formValid: "formValid", formInitialized: "formInitialized" }, decls: 7, vars: 2, consts: [[3, "formGroup"], ["formArrayName", "dynamicFields"], [3, "formGroupName", 4, "ngFor", "ngForOf"], ["dynamicField", ""], ["dynamicFieldErrors", ""], [3, "formGroupName"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], ["class", "sub-dynamic-form", 4, "ngIf"], [1, "sub-dynamic-form"], [4, "ngFor", "ngForOf"], ["class", "dynamic-field multi-line-field-container", 4, "ngIf"], ["class", "dynamic-field single-line-field-container", 4, "ngIf"], [1, "dynamic-field", "multi-line-field-container"], [1, "h7", "field-title-sm"], [2, "flex-basis", "100%"], [1, "input-field", "ip-text", 3, "type", "formControl", "ngStyle", "placeholder", "min", "ngModelChange"], [3, "ngTemplateOutlet", "ngTemplateOutletContext", 4, "ngIf"], ["type", "text", 1, "input-field", "ip-textarea", 3, "ngStyle", "placeholder", "formControl", "ngModelChange"], [1, "dynamic-field", "single-line-field-container"], [1, "h6"], [1, "date-picker-container"], ["readonly", "", "misTzDp", "", 1, "date-picker", 3, "dpConfig", "selectedDate", "offsetY", "value", "dateChange"], ["dp", ""], ["alt", "data-picker", "class", "date-picker-icon", 3, "src", "click", 4, "ngIf"], ["alt", "data-picker", 1, "date-picker-icon", 3, "src", "click"], [3, "control", "valueChanged"], [3, "searchEnabled", "width", "data", "selectedItem", "onChange"], ["id", "checkboxes-container"], ["class", "radio-checkbox-common", 3, "ngClass", "click", 4, "ngFor", "ngForOf"], [1, "radio-checkbox-common", 3, "ngClass", "click"], ["alt", "", 3, "src", 4, "ngIf"], ["alt", "", 3, "src"], [3, "width", "showSelectedCount", "dropdownListWidth", "searchEnabled", "hideApplyButton", "data", "selectedItems", "onChange"], ["id", "error-messages-container"], [1, "h8"], [2, "flex-basis", "100%", "height", "0"]], template: function DynamicFormComponent_Template(rf, ctx) {
|
|
748
|
+
DynamicFormComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DynamicFormComponent, selectors: [["mis-dynamic-form"]], inputs: { formFields: "formFields", formValues: "formValues", activeBtnIconUrl: "activeBtnIconUrl", calendarIconUrl: "calendarIconUrl", removeIconUrl: "removeIconUrl" }, outputs: { formUpdated: "formUpdated", formValid: "formValid", formInitialized: "formInitialized", fieldRemoved: "fieldRemoved" }, decls: 7, vars: 2, consts: [[3, "formGroup"], ["formArrayName", "dynamicFields"], [3, "formGroupName", 4, "ngFor", "ngForOf"], ["dynamicField", ""], ["dynamicFieldErrors", ""], [3, "formGroupName"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], ["class", "sub-dynamic-form", 4, "ngIf"], [1, "sub-dynamic-form"], [4, "ngFor", "ngForOf"], ["class", "dynamic-field multi-line-field-container", 4, "ngIf"], ["class", "dynamic-field single-line-field-container", 4, "ngIf"], [1, "dynamic-field", "multi-line-field-container"], [1, "h7", "field-title-sm"], [2, "flex-basis", "100%"], [1, "input-field", "ip-text", 3, "type", "formControl", "ngStyle", "placeholder", "min", "ngModelChange"], [3, "ngTemplateOutlet", "ngTemplateOutletContext", 4, "ngIf"], ["type", "text", 1, "input-field", "ip-textarea", 3, "ngStyle", "placeholder", "formControl", "ngModelChange"], [1, "dynamic-field", "single-line-field-container"], [1, "h6"], [1, "date-picker-container"], ["readonly", "", "misTzDp", "", 1, "date-picker", 3, "dpConfig", "selectedDate", "offsetY", "value", "dateChange"], ["dp", ""], ["alt", "data-picker", "class", "date-picker-icon", 3, "src", "click", 4, "ngIf"], ["alt", "data-picker", 1, "date-picker-icon", 3, "src", "click"], [3, "control", "valueChanged"], [3, "ngClass"], [3, "searchEnabled", "width", "data", "selectedItem", "onChange"], ["class", "remove-icon", 3, "src", "click", 4, "ngIf"], [1, "remove-icon", 3, "src", "click"], ["id", "checkboxes-container"], ["class", "radio-checkbox-common", 3, "ngClass", "click", 4, "ngFor", "ngForOf"], [1, "radio-checkbox-common", 3, "ngClass", "click"], ["alt", "", 3, "src", 4, "ngIf"], ["alt", "", 3, "src"], [3, "width", "showSelectedCount", "dropdownListWidth", "searchEnabled", "hideApplyButton", "data", "selectedItems", "onChange"], ["id", "error-messages-container"], [1, "h8"], [2, "flex-basis", "100%", "height", "0"]], template: function DynamicFormComponent_Template(rf, ctx) {
|
|
727
749
|
if (rf & 1) {
|
|
728
750
|
i0.ɵɵelementStart(0, "form", 0);
|
|
729
751
|
i0.ɵɵelementContainerStart(1, 1);
|
|
@@ -738,11 +760,11 @@ DynamicFormComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Dynami
|
|
|
738
760
|
i0.ɵɵadvance(2);
|
|
739
761
|
i0.ɵɵproperty("ngForOf", ctx.getDynamicFieldsControls().controls);
|
|
740
762
|
}
|
|
741
|
-
}, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i1.NgTemplateOutlet, i1.NgStyle, i2.ɵNgNoValidate, i2.DefaultValueAccessor, i2.NgControlStatus, i2.NgControlStatusGroup, i2.FormControlDirective, i2.FormGroupDirective, i2.FormGroupName, i2.FormArrayName, i3.DropdownComponent, i4.SwitchComponent, i5.MultiSelectDropdownComponent, i6.TzDatepickerDirective, i1.KeyValuePipe], styles: ["p[_ngcontent-%COMP%]{margin:0;cursor:default} .main-container{margin:0;max-width:100%}.sub-dynamic-form[_ngcontent-%COMP%]{padding-left:24px}.dynamic-field[_ngcontent-%COMP%] .container{height:32px!important}.single-line-field-container[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;padding:28px 16px;border-bottom:1px solid var(--grey-seperators)}.multi-line-field-container[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;align-items:flex-start;padding:28px 16px;flex-wrap:wrap;border-bottom:1px solid var(--grey-seperators)}.field-title-sm[_ngcontent-%COMP%]{margin-bottom:8px;cursor:default}.input-field[_ngcontent-%COMP%]{width:100%;background-color:var(--grey-bg-1);border:1px solid var(--grey-seperators);border-radius:6px}.ip-text[_ngcontent-%COMP%]{height:44px;padding:8px 12px}.ip-textarea[_ngcontent-%COMP%]{max-height:94px;padding:8px}input[_ngcontent-%COMP%]:focus{outline:none}input[_ngcontent-%COMP%]::placeholder{color:var(--grey-seperators)}textarea[_ngcontent-%COMP%]:focus{outline:none}.date-picker-container[_ngcontent-%COMP%]{position:relative;width:140px}.date-picker-container[_ngcontent-%COMP%] .date-picker[_ngcontent-%COMP%]{cursor:pointer;height:32px;width:100%;font-size:14px;border-radius:6px;padding:0 12px;border:1px solid var(--grey-seperators);inset:10px auto auto 80px;background-color:var(--text-white)}.date-picker-container[_ngcontent-%COMP%] .date-picker[_ngcontent-%COMP%]:hover{background-color:var(--grey-hover)}.date-picker-container[_ngcontent-%COMP%] .date-picker-icon[_ngcontent-%COMP%]{position:absolute;top:50%;right:12px;transform:translateY(-50%);cursor:pointer}form[_ngcontent-%COMP%] .dynamic-field[_ngcontent-%COMP%]:last-child{border-bottom:none!important}#checkboxes-container[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap}.radio-checkbox-common[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;cursor:pointer;margin-right:8px;margin-bottom:8px;background-color:var(--text-white);padding:12px 16px;border:1px solid var(--text-muted);border-radius:8px}.radio-checkbox-common[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:var(--text-muted);cursor:pointer}.radio-checkbox-common[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{margin-right:8px}.checkbox-active[_ngcontent-%COMP%]{background-color:var(--pmry-500)}.checkbox-active[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:var(--text-white)}#error-messages-container[_ngcontent-%COMP%]{margin-top:4px;width:100%;display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap}#error-messages-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:var(--sem-error)}"] });
|
|
763
|
+
}, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i1.NgTemplateOutlet, i1.NgStyle, i2.ɵNgNoValidate, i2.DefaultValueAccessor, i2.NgControlStatus, i2.NgControlStatusGroup, i2.FormControlDirective, i2.FormGroupDirective, i2.FormGroupName, i2.FormArrayName, i3.DropdownComponent, i4.SwitchComponent, i5.MultiSelectDropdownComponent, i6.TzDatepickerDirective, i1.KeyValuePipe], styles: ["p[_ngcontent-%COMP%]{margin:0;cursor:default} .main-container{margin:0;max-width:100%}.sub-dynamic-form[_ngcontent-%COMP%]{padding-left:24px}.dynamic-field[_ngcontent-%COMP%] .container{height:32px!important}.single-line-field-container[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;padding:28px 16px;border-bottom:1px solid var(--grey-seperators)}.multi-line-field-container[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;align-items:flex-start;padding:28px 16px;flex-wrap:wrap;border-bottom:1px solid var(--grey-seperators)}.field-title-sm[_ngcontent-%COMP%]{margin-bottom:8px;cursor:default}.input-field[_ngcontent-%COMP%]{width:100%;background-color:var(--grey-bg-1);border:1px solid var(--grey-seperators);border-radius:6px}.ip-text[_ngcontent-%COMP%]{height:44px;padding:8px 12px}.ip-textarea[_ngcontent-%COMP%]{max-height:94px;padding:8px}input[_ngcontent-%COMP%]:focus{outline:none}input[_ngcontent-%COMP%]::placeholder{color:var(--grey-seperators)}textarea[_ngcontent-%COMP%]:focus{outline:none}.date-picker-container[_ngcontent-%COMP%]{position:relative;width:140px}.date-picker-container[_ngcontent-%COMP%] .date-picker[_ngcontent-%COMP%]{cursor:pointer;height:32px;width:100%;font-size:14px;border-radius:6px;padding:0 12px;border:1px solid var(--grey-seperators);inset:10px auto auto 80px;background-color:var(--text-white)}.date-picker-container[_ngcontent-%COMP%] .date-picker[_ngcontent-%COMP%]:hover{background-color:var(--grey-hover)}.date-picker-container[_ngcontent-%COMP%] .date-picker-icon[_ngcontent-%COMP%]{position:absolute;top:50%;right:12px;transform:translateY(-50%);cursor:pointer}form[_ngcontent-%COMP%] .dynamic-field[_ngcontent-%COMP%]:last-child{border-bottom:none!important}#checkboxes-container[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap}.radio-checkbox-common[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;cursor:pointer;margin-right:8px;margin-bottom:8px;background-color:var(--text-white);padding:12px 16px;border:1px solid var(--text-muted);border-radius:8px}.radio-checkbox-common[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:var(--text-muted);cursor:pointer}.radio-checkbox-common[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{margin-right:8px}.checkbox-active[_ngcontent-%COMP%]{background-color:var(--pmry-500)}.checkbox-active[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:var(--text-white)}#error-messages-container[_ngcontent-%COMP%]{margin-top:4px;width:100%;display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap}#error-messages-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:var(--sem-error)}.removeable-container[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center}.removeable-container[_ngcontent-%COMP%] .remove-icon[_ngcontent-%COMP%]{cursor:pointer;margin-left:8px;max-width:24px}"] });
|
|
742
764
|
(function () {
|
|
743
765
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DynamicFormComponent, [{
|
|
744
766
|
type: Component,
|
|
745
|
-
args: [{ selector: "mis-dynamic-form", template: "<form [formGroup]=\"dynamicForm\">\n <ng-container formArrayName=\"dynamicFields\">\n <ng-container [formGroupName]=\"i\" *ngFor=\"let fieldControl of getDynamicFieldsControls().controls; let i = index\">\n <ng-container\n [ngTemplateOutlet]=\"dynamicField\"\n [ngTemplateOutletContext]=\"{\n $implicit: formFields[i],\n formGroup: fieldControl,\n control: fieldControl.controls.value\n }\"\n >\n </ng-container>\n <div class=\"sub-dynamic-form\" *ngIf=\"fieldControl.value && (!!formFields[i]?.subFields && formFields[i]?.subFields?.length > 0 && matchParentConfig(formFields[i]?.subFields, fieldControl.controls.value.value.value))\">\n <ng-container *ngFor=\"let subFieldControl of fieldControl.controls.subFields.controls;\">\n <ng-container\n [ngTemplateOutlet]=\"dynamicField\"\n [ngTemplateOutletContext]=\"{\n $implicit: formFields[i].subFields[findSelectedIndex(formFields[i]?.subFields, fieldControl.controls.value.value.value)],\n control: subFieldControl\n }\">\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\n </ng-container>\n</form>\n\n\n<ng-template #dynamicField let-field let-control=\"control\" let-formgroup=\"formGroup\">\n\n <!-- fieldType: 'input' fieldInputType: 'text' | 'number' -->\n <div class=\"dynamic-field multi-line-field-container\"\n *ngIf=\"field.fieldType === 'input' && (field.fieldInputType === 'text' || field.fieldInputType === 'number')\">\n <p class=\"h7 field-title-sm\">\n {{ field.title }}\n </p>\n <div style=\"flex-basis: 100%\"></div>\n <input class=\"input-field ip-text\" [type]=\"field.fieldInputType\" [formControl]=\"control\"\n (ngModelChange)=\"updateSubDynamicFields(field, formgroup, $event)\" \n [ngStyle]=\"{'border': control.touched && control.errors ? '1px solid #B00020': ''}\"\n [placeholder]=\"field.placeholderText ? field.placeholderText : 'Input Text'\" \n [min]=\"field.fieldInputType === 'number' ? 0 : '' \"/>\n <ng-container *ngIf=\"control.touched && control.errors\"\n [ngTemplateOutlet]=\"dynamicFieldErrors\" \n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\"\n >\n </ng-container>\n </div>\n\n <!-- fieldType: 'input' fieldInputType: 'textarea' -->\n <div class=\"dynamic-field multi-line-field-container\"\n *ngIf=\"field.fieldType === 'input' && field.fieldInputType === 'textarea'\">\n <p class=\"h7 field-title-sm\">\n {{ field.title }}\n </p>\n <div style=\"flex-basis: 100%\"></div>\n <textarea class=\"input-field ip-textarea\" type=\"text\"\n [ngStyle]=\"{'border': control.touched && control.errors ? '1px solid #B00020': ''}\"\n [placeholder]=\"field.placeholderText ? field.placeholderText : 'Input Text'\" [formControl]=\"control\" (ngModelChange)=\"updateSubDynamicFields(field, formgroup, $event)\"></textarea>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n\n <!-- fieldType: 'input' fieldInputType: 'date' -->\n <div class=\"dynamic-field single-line-field-container\"\n *ngIf=\"field.fieldType === 'input' && field.fieldInputType === 'date'\">\n <p class=\"h6\">\n {{ field.title }}\n </p>\n <div class=\"date-picker-container\">\n <input class=\"date-picker\" readonly misTzDp [dpConfig]=\"field.fieldConfig\"\n (dateChange)=\"control.setValue($event)\" [selectedDate]=\"control.value\" [offsetY]=\"0\"\n [value]=\"control.value\" #dp />\n <img alt=\"data-picker\" *ngIf=\"calendarIconUrl\" class=\"date-picker-icon\" [src]=\"calendarIconUrl\"\n (click)=\"dp.click()\" />\n </div>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n\n <!-- fieldType: 'boolean' fieldInputType: 'toggle' -->\n <div class=\"dynamic-field single-line-field-container\"\n *ngIf=\"field.fieldType === 'boolean' && field.fieldInputType === 'toggle'\">\n <p class=\"h6\">\n {{ field.title }}\n </p>\n <mis-switch [control]=\"control\" (valueChanged)=\"updateSubDynamicFields(field, formgroup, $event)\"></mis-switch>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n\n <!-- fieldType: 'singleSelect' fieldInputType: 'dropdown' -->\n <div class=\"dynamic-field single-line-field-container\"\n *ngIf=\"field.fieldType === 'singleSelect' && field.fieldInputType === 'dropdown'\">\n <p class=\"h6\">\n {{ field.title }}\n </p>\n <mis-dropdown [searchEnabled]=\"false\" [width]=\"'140px'\" [data]=\"field.itemsList\" [selectedItem]=\"control.value\"\n (onChange)=\"updateSelectedValueForSingleSelect(field, control, formgroup, $event);\">\n </mis-dropdown>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n\n <!-- fieldType: 'singleSelect' fieldInputType: 'radio' -->\n <div class=\"dynamic-field multi-line-field-container\"\n *ngIf=\"field.fieldType === 'singleSelect' && field.fieldInputType === 'radio'\">\n <p class=\"h7 field-title-sm\">\n {{ field.title }}\n </p>\n <div style=\"flex-basis: 100%\"></div>\n <div id=\"checkboxes-container\">\n <div class=\"radio-checkbox-common\" *ngFor=\"let item of field.itemsList\"\n [ngClass]=\"{ 'checkbox-active': item.label === control.value?.label }\"\n (click)=\"updateSelectedValueForSingleSelect(field, control, formgroup, item);\">\n <img *ngIf=\"(item.label === control.value?.label) && activeBtnIconUrl\" [src]=\"activeBtnIconUrl\" alt=\"\" />\n <p class=\"h6\">{{ item.label }}</p>\n </div>\n </div>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n\n <!-- fieldType: 'multiSelect' fieldInputType: 'checkbox' -->\n <div class=\"dynamic-field multi-line-field-container\"\n *ngIf=\"field.fieldType === 'multiSelect' && field.fieldInputType === 'checkbox'\">\n <p class=\"h7 field-title-sm\">\n {{ field.title }}\n </p>\n <div style=\"flex-basis: 100%\"></div>\n <div id=\"checkboxes-container\">\n <div class=\"radio-checkbox-common\" *ngFor=\"let item of field.itemsList\"\n [ngClass]=\"{ 'checkbox-active': isCheckBoxSelected(item.label, control.value) }\"\n (click)=\"updateSelectedValueForMultiSelect(field, control, formgroup, [item])\">\n <img *ngIf=\"isCheckBoxSelected(item.label, control.value) && activeBtnIconUrl\" [src]=\"activeBtnIconUrl\"\n alt=\"\" />\n <p class=\"h6\">{{ item.label }}</p>\n </div>\n </div>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n\n <!-- fieldType: 'multiSelect' fieldInputType: 'dropdown' -->\n <div class=\"dynamic-field single-line-field-container\"\n *ngIf=\"field.fieldType === 'multiSelect' && field.fieldInputType === 'dropdown'\">\n <p class=\"h6\">\n {{ field.title }}\n </p>\n <mis-multi-select-dropdown [width]=\"'140px'\" [showSelectedCount]=\"true\" [dropdownListWidth]=\"'256px'\"\n [searchEnabled]=\"false\" [hideApplyButton]=\"true\" [data]=\"field.itemsList\"\n [selectedItems]=\"control.value\" (onChange)=\"updateSelectedValueForMultiSelect(field, control, formgroup, $event);\"></mis-multi-select-dropdown>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n\n</ng-template>\n\n<ng-template #dynamicFieldErrors let-errors>\n <div id=\"error-messages-container\">\n <ng-container *ngFor=\"let error of errors | keyvalue\">\n <p class=\"h8\">\n {{\" \u2022 \" + error.value}}\n </p>\n <div style=\"flex-basis: 100%; height: 0\"></div>\n </ng-container>\n </div>\n</ng-template>", styles: ["p{margin:0;cursor:default}::ng-deep .main-container{margin:0;max-width:100%}.sub-dynamic-form{padding-left:24px}.dynamic-field ::ng-deep .container{height:32px!important}.single-line-field-container{display:flex;justify-content:space-between;align-items:center;padding:28px 16px;border-bottom:1px solid var(--grey-seperators)}.multi-line-field-container{display:flex;justify-content:flex-start;align-items:flex-start;padding:28px 16px;flex-wrap:wrap;border-bottom:1px solid var(--grey-seperators)}.field-title-sm{margin-bottom:8px;cursor:default}.input-field{width:100%;background-color:var(--grey-bg-1);border:1px solid var(--grey-seperators);border-radius:6px}.ip-text{height:44px;padding:8px 12px}.ip-textarea{max-height:94px;padding:8px}input:focus{outline:none}input::placeholder{color:var(--grey-seperators)}textarea:focus{outline:none}.date-picker-container{position:relative;width:140px}.date-picker-container .date-picker{cursor:pointer;height:32px;width:100%;font-size:14px;border-radius:6px;padding:0 12px;border:1px solid var(--grey-seperators);inset:10px auto auto 80px;background-color:var(--text-white)}.date-picker-container .date-picker:hover{background-color:var(--grey-hover)}.date-picker-container .date-picker-icon{position:absolute;top:50%;right:12px;transform:translateY(-50%);cursor:pointer}form .dynamic-field:last-child{border-bottom:none!important}#checkboxes-container{display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap}.radio-checkbox-common{display:flex;justify-content:center;align-items:center;cursor:pointer;margin-right:8px;margin-bottom:8px;background-color:var(--text-white);padding:12px 16px;border:1px solid var(--text-muted);border-radius:8px}.radio-checkbox-common p{color:var(--text-muted);cursor:pointer}.radio-checkbox-common img{margin-right:8px}.checkbox-active{background-color:var(--pmry-500)}.checkbox-active p{color:var(--text-white)}#error-messages-container{margin-top:4px;width:100%;display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap}#error-messages-container p{color:var(--sem-error)}\n"] }]
|
|
767
|
+
args: [{ selector: "mis-dynamic-form", template: "<form [formGroup]=\"dynamicForm\">\n <ng-container formArrayName=\"dynamicFields\">\n <ng-container [formGroupName]=\"i\" *ngFor=\"let fieldControl of getDynamicFieldsControls().controls; let i = index\">\n <ng-container\n [ngTemplateOutlet]=\"dynamicField\"\n [ngTemplateOutletContext]=\"{\n $implicit: formFields[i],\n formGroup: fieldControl,\n control: fieldControl.controls.value\n }\"\n >\n </ng-container>\n <div class=\"sub-dynamic-form\" *ngIf=\"fieldControl.value && (!!formFields[i]?.subFields && formFields[i]?.subFields?.length > 0 && matchParentConfig(formFields[i]?.subFields, fieldControl.controls.value.value.value))\">\n <ng-container *ngFor=\"let subFieldControl of fieldControl.controls.subFields.controls;\">\n <ng-container\n [ngTemplateOutlet]=\"dynamicField\"\n [ngTemplateOutletContext]=\"{\n $implicit: formFields[i].subFields[findSelectedIndex(formFields[i]?.subFields, fieldControl.controls.value.value.value)],\n control: subFieldControl\n }\">\n </ng-container>\n </ng-container>\n </div>\n </ng-container>\n </ng-container>\n</form>\n\n\n<ng-template #dynamicField let-field let-control=\"control\" let-formgroup=\"formGroup\">\n\n <!-- fieldType: 'input' fieldInputType: 'text' | 'number' -->\n <div class=\"dynamic-field multi-line-field-container\"\n *ngIf=\"field.fieldType === 'input' && (field.fieldInputType === 'text' || field.fieldInputType === 'number')\">\n <p class=\"h7 field-title-sm\">\n {{ field.title }}\n </p>\n <div style=\"flex-basis: 100%\"></div>\n <input class=\"input-field ip-text\" [type]=\"field.fieldInputType\" [formControl]=\"control\"\n (ngModelChange)=\"updateSubDynamicFields(field, formgroup, $event)\" \n [ngStyle]=\"{'border': control.touched && control.errors ? '1px solid #B00020': ''}\"\n [placeholder]=\"field.placeholderText ? field.placeholderText : 'Input Text'\" \n [min]=\"field.fieldInputType === 'number' ? 0 : '' \"/>\n <ng-container *ngIf=\"control.touched && control.errors\"\n [ngTemplateOutlet]=\"dynamicFieldErrors\" \n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\"\n >\n </ng-container>\n </div>\n\n <!-- fieldType: 'input' fieldInputType: 'textarea' -->\n <div class=\"dynamic-field multi-line-field-container\"\n *ngIf=\"field.fieldType === 'input' && field.fieldInputType === 'textarea'\">\n <p class=\"h7 field-title-sm\">\n {{ field.title }}\n </p>\n <div style=\"flex-basis: 100%\"></div>\n <textarea class=\"input-field ip-textarea\" type=\"text\"\n [ngStyle]=\"{'border': control.touched && control.errors ? '1px solid #B00020': ''}\"\n [placeholder]=\"field.placeholderText ? field.placeholderText : 'Input Text'\" [formControl]=\"control\" (ngModelChange)=\"updateSubDynamicFields(field, formgroup, $event)\"></textarea>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n\n <!-- fieldType: 'input' fieldInputType: 'date' -->\n <div class=\"dynamic-field single-line-field-container\"\n *ngIf=\"field.fieldType === 'input' && field.fieldInputType === 'date'\">\n <p class=\"h6\">\n {{ field.title }}\n </p>\n <div class=\"date-picker-container\">\n <input class=\"date-picker\" readonly misTzDp [dpConfig]=\"field.fieldConfig\"\n (dateChange)=\"control.setValue($event)\" [selectedDate]=\"control.value\" [offsetY]=\"0\"\n [value]=\"control.value\" #dp />\n <img alt=\"data-picker\" *ngIf=\"calendarIconUrl\" class=\"date-picker-icon\" [src]=\"calendarIconUrl\"\n (click)=\"dp.click()\" />\n </div>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n\n <!-- fieldType: 'boolean' fieldInputType: 'toggle' -->\n <div class=\"dynamic-field single-line-field-container\"\n *ngIf=\"field.fieldType === 'boolean' && field.fieldInputType === 'toggle'\">\n <p class=\"h6\">\n {{ field.title }}\n </p>\n <mis-switch [control]=\"control\" (valueChanged)=\"updateSubDynamicFields(field, formgroup, $event)\"></mis-switch>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n\n <!-- fieldType: 'singleSelect' fieldInputType: 'dropdown' -->\n <div class=\"dynamic-field single-line-field-container\"\n *ngIf=\"field.fieldType === 'singleSelect' && field.fieldInputType === 'dropdown'\">\n <p class=\"h6\">\n {{ field.title }}\n </p>\n <div [ngClass]=\"{'removeable-container' : field?.isRemoveable}\">\n <mis-dropdown [searchEnabled]=\"false\" [width]=\"'140px'\" [data]=\"field.itemsList\" [selectedItem]=\"control.value\"\n (onChange)=\"updateSelectedValueForSingleSelect(field, control, formgroup, $event);\">\n </mis-dropdown>\n <img *ngIf=\"field.isRemoveable && removeIconUrl\" class=\"remove-icon\" [src]=\"removeIconUrl\" (click)=\"fieldRemoved.emit(field)\">\n </div>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n\n <!-- fieldType: 'singleSelect' fieldInputType: 'radio' -->\n <div class=\"dynamic-field multi-line-field-container\"\n *ngIf=\"field.fieldType === 'singleSelect' && field.fieldInputType === 'radio'\">\n <p class=\"h7 field-title-sm\">\n {{ field.title }}\n </p>\n <div style=\"flex-basis: 100%\"></div>\n <div id=\"checkboxes-container\">\n <div class=\"radio-checkbox-common\" *ngFor=\"let item of field.itemsList\"\n [ngClass]=\"{ 'checkbox-active': item.label === control.value?.label }\"\n (click)=\"updateSelectedValueForSingleSelect(field, control, formgroup, item);\">\n <img *ngIf=\"(item.label === control.value?.label) && activeBtnIconUrl\" [src]=\"activeBtnIconUrl\" alt=\"\" />\n <p class=\"h6\">{{ item.label }}</p>\n </div>\n </div>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n\n <!-- fieldType: 'multiSelect' fieldInputType: 'checkbox' -->\n <div class=\"dynamic-field multi-line-field-container\"\n *ngIf=\"field.fieldType === 'multiSelect' && field.fieldInputType === 'checkbox'\">\n <p class=\"h7 field-title-sm\">\n {{ field.title }}\n </p>\n <div style=\"flex-basis: 100%\"></div>\n <div id=\"checkboxes-container\">\n <div class=\"radio-checkbox-common\" *ngFor=\"let item of field.itemsList\"\n [ngClass]=\"{ 'checkbox-active': isCheckBoxSelected(item.label, control.value) }\"\n (click)=\"updateSelectedValueForMultiSelect(field, control, formgroup, [item])\">\n <img *ngIf=\"isCheckBoxSelected(item.label, control.value) && activeBtnIconUrl\" [src]=\"activeBtnIconUrl\"\n alt=\"\" />\n <p class=\"h6\">{{ item.label }}</p>\n </div>\n </div>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n\n <!-- fieldType: 'multiSelect' fieldInputType: 'dropdown' -->\n <div class=\"dynamic-field single-line-field-container\"\n *ngIf=\"field.fieldType === 'multiSelect' && field.fieldInputType === 'dropdown'\">\n <p class=\"h6\">\n {{ field.title }}\n </p>\n <mis-multi-select-dropdown [width]=\"'140px'\" [showSelectedCount]=\"true\" [dropdownListWidth]=\"'256px'\"\n [searchEnabled]=\"false\" [hideApplyButton]=\"true\" [data]=\"field.itemsList\"\n [selectedItems]=\"control.value\" (onChange)=\"updateSelectedValueForMultiSelect(field, control, formgroup, $event);\"></mis-multi-select-dropdown>\n <ng-container *ngIf=\"control.touched && control.errors\" [ngTemplateOutlet]=\"dynamicFieldErrors\"\n [ngTemplateOutletContext]=\"{ $implicit: control.errors }\">\n </ng-container>\n </div>\n\n</ng-template>\n\n<ng-template #dynamicFieldErrors let-errors>\n <div id=\"error-messages-container\">\n <ng-container *ngFor=\"let error of errors | keyvalue\">\n <p class=\"h8\">\n {{\" \u2022 \" + error.value}}\n </p>\n <div style=\"flex-basis: 100%; height: 0\"></div>\n </ng-container>\n </div>\n</ng-template>", styles: ["p{margin:0;cursor:default}::ng-deep .main-container{margin:0;max-width:100%}.sub-dynamic-form{padding-left:24px}.dynamic-field ::ng-deep .container{height:32px!important}.single-line-field-container{display:flex;justify-content:space-between;align-items:center;padding:28px 16px;border-bottom:1px solid var(--grey-seperators)}.multi-line-field-container{display:flex;justify-content:flex-start;align-items:flex-start;padding:28px 16px;flex-wrap:wrap;border-bottom:1px solid var(--grey-seperators)}.field-title-sm{margin-bottom:8px;cursor:default}.input-field{width:100%;background-color:var(--grey-bg-1);border:1px solid var(--grey-seperators);border-radius:6px}.ip-text{height:44px;padding:8px 12px}.ip-textarea{max-height:94px;padding:8px}input:focus{outline:none}input::placeholder{color:var(--grey-seperators)}textarea:focus{outline:none}.date-picker-container{position:relative;width:140px}.date-picker-container .date-picker{cursor:pointer;height:32px;width:100%;font-size:14px;border-radius:6px;padding:0 12px;border:1px solid var(--grey-seperators);inset:10px auto auto 80px;background-color:var(--text-white)}.date-picker-container .date-picker:hover{background-color:var(--grey-hover)}.date-picker-container .date-picker-icon{position:absolute;top:50%;right:12px;transform:translateY(-50%);cursor:pointer}form .dynamic-field:last-child{border-bottom:none!important}#checkboxes-container{display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap}.radio-checkbox-common{display:flex;justify-content:center;align-items:center;cursor:pointer;margin-right:8px;margin-bottom:8px;background-color:var(--text-white);padding:12px 16px;border:1px solid var(--text-muted);border-radius:8px}.radio-checkbox-common p{color:var(--text-muted);cursor:pointer}.radio-checkbox-common img{margin-right:8px}.checkbox-active{background-color:var(--pmry-500)}.checkbox-active p{color:var(--text-white)}#error-messages-container{margin-top:4px;width:100%;display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap}#error-messages-container p{color:var(--sem-error)}.removeable-container{display:flex;justify-content:center;align-items:center}.removeable-container .remove-icon{cursor:pointer;margin-left:8px;max-width:24px}\n"] }]
|
|
746
768
|
}], function () { return []; }, { formFields: [{
|
|
747
769
|
type: Input
|
|
748
770
|
}], formValues: [{
|
|
@@ -751,12 +773,16 @@ DynamicFormComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Dynami
|
|
|
751
773
|
type: Input
|
|
752
774
|
}], calendarIconUrl: [{
|
|
753
775
|
type: Input
|
|
776
|
+
}], removeIconUrl: [{
|
|
777
|
+
type: Input
|
|
754
778
|
}], formUpdated: [{
|
|
755
779
|
type: Output
|
|
756
780
|
}], formValid: [{
|
|
757
781
|
type: Output
|
|
758
782
|
}], formInitialized: [{
|
|
759
783
|
type: Output
|
|
784
|
+
}], fieldRemoved: [{
|
|
785
|
+
type: Output
|
|
760
786
|
}] });
|
|
761
787
|
})();
|
|
762
788
|
const dynamicFieldValidator = (validators) => {
|