@rangertechnologies/ngnxt 2.1.30 → 2.1.32
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/esm2022/lib/components/custom-date/custom-date.component.mjs +8 -2
- package/esm2022/lib/components/custom-dropdown/custom-dropdown.component.mjs +3 -3
- package/esm2022/lib/components/custom-image/custom-image.component.mjs +33 -0
- package/esm2022/lib/components/custom-input/custom-input.component.mjs +3 -3
- package/esm2022/lib/components/custom-label/custom-label.component.mjs +6 -3
- package/esm2022/lib/components/custom-radio/custom-radio.component.mjs +113 -0
- package/esm2022/lib/components/file-upload/file-upload.component.mjs +23 -18
- package/esm2022/lib/interfaces/dependencyMeta.mjs +1 -1
- package/esm2022/lib/nxt-app.module.mjs +9 -3
- package/esm2022/lib/pages/booklet/booklet.component.mjs +15 -3
- package/esm2022/lib/pages/questionbook/questionbook.component.mjs +36 -6
- package/esm2022/lib/sample.mjs +26 -1
- package/esm2022/lib/wrapper.mjs +3 -1
- package/fesm2022/rangertechnologies-ngnxt.mjs +254 -32
- package/fesm2022/rangertechnologies-ngnxt.mjs.map +1 -1
- package/lib/components/custom-date/custom-date.component.d.ts +2 -1
- package/lib/components/custom-image/custom-image.component.d.ts +13 -0
- package/lib/components/custom-label/custom-label.component.d.ts +2 -1
- package/lib/components/custom-radio/custom-radio.component.d.ts +33 -0
- package/lib/components/file-upload/file-upload.component.d.ts +2 -0
- package/lib/interfaces/dependencyMeta.d.ts +2 -0
- package/lib/nxt-app.module.d.ts +14 -12
- package/lib/pages/questionbook/questionbook.component.d.ts +2 -0
- package/lib/wrapper.d.ts +5 -0
- package/package.json +1 -1
- package/rangertechnologies-ngnxt-2.1.32.tgz +0 -0
- package/rangertechnologies-ngnxt-2.1.30.tgz +0 -0
|
@@ -144,6 +144,7 @@ class Question {
|
|
|
144
144
|
Error_Message__c;
|
|
145
145
|
Is_Date_Backward__c;
|
|
146
146
|
Is_Date_Forward__c;
|
|
147
|
+
Is_Hide__c;
|
|
147
148
|
Group__c;
|
|
148
149
|
Question_No__c;
|
|
149
150
|
Question_Options__r;
|
|
@@ -180,6 +181,7 @@ class LocalQuestion {
|
|
|
180
181
|
Next_Question__c;
|
|
181
182
|
Is_Optional__c;
|
|
182
183
|
Is_Title__c;
|
|
184
|
+
Is_Hide__c;
|
|
183
185
|
X24_Hours__c;
|
|
184
186
|
Error_Message__c;
|
|
185
187
|
Is_Date_Backward__c;
|
|
@@ -306,6 +308,7 @@ const TESTQB = {
|
|
|
306
308
|
Style__c: {
|
|
307
309
|
"labelClass": "slds-grid",
|
|
308
310
|
"labelStyle": "align-items: baseline;",
|
|
311
|
+
"labelValueStyle": "",
|
|
309
312
|
"inputClass": "",
|
|
310
313
|
"inputStyle": "border-style: dashed;",
|
|
311
314
|
"showLabel": true,
|
|
@@ -330,6 +333,7 @@ const TESTQUESTION = {
|
|
|
330
333
|
Error_Message__c: 'Please Enter a Value',
|
|
331
334
|
Is_Date_Backward__c: false,
|
|
332
335
|
Is_Date_Forward__c: false,
|
|
336
|
+
Is_Hide__c: false,
|
|
333
337
|
Group__c: 'Basic',
|
|
334
338
|
Size__c: 1,
|
|
335
339
|
Question_No__c: '1',
|
|
@@ -344,6 +348,7 @@ const TESTQUESTION = {
|
|
|
344
348
|
Style__c: {
|
|
345
349
|
"labelClass": "slds-grid",
|
|
346
350
|
"labelStyle": "align-items: baseline;",
|
|
351
|
+
"labelValueStyle": "",
|
|
347
352
|
"inputClass": "",
|
|
348
353
|
"inputStyle": "border-style: dashed;",
|
|
349
354
|
"showLabel": true,
|
|
@@ -368,6 +373,7 @@ const DTQUESTION = {
|
|
|
368
373
|
Error_Message__c: 'Please Enter a Value',
|
|
369
374
|
Is_Date_Backward__c: true,
|
|
370
375
|
Is_Date_Forward__c: true,
|
|
376
|
+
Is_Hide__c: false,
|
|
371
377
|
Group__c: 'Basic',
|
|
372
378
|
Size__c: 1,
|
|
373
379
|
Question_No__c: '1',
|
|
@@ -382,6 +388,7 @@ const DTQUESTION = {
|
|
|
382
388
|
Style__c: {
|
|
383
389
|
"labelClass": "slds-grid",
|
|
384
390
|
"labelStyle": "align-items: baseline;",
|
|
391
|
+
"labelValueStyle": "",
|
|
385
392
|
"inputClass": "",
|
|
386
393
|
"inputStyle": "border-style: dashed;",
|
|
387
394
|
"showLabel": true,
|
|
@@ -406,6 +413,7 @@ const FILEQUESTION = {
|
|
|
406
413
|
Error_Message__c: 'Please Enter a Value',
|
|
407
414
|
Is_Date_Backward__c: false,
|
|
408
415
|
Is_Date_Forward__c: false,
|
|
416
|
+
Is_Hide__c: false,
|
|
409
417
|
Group__c: 'Basic',
|
|
410
418
|
Size__c: 1,
|
|
411
419
|
Question_No__c: '1',
|
|
@@ -420,6 +428,7 @@ const FILEQUESTION = {
|
|
|
420
428
|
Style__c: {
|
|
421
429
|
"labelClass": "slds-grid",
|
|
422
430
|
"labelStyle": "align-items: baseline;",
|
|
431
|
+
"labelValueStyle": "",
|
|
423
432
|
"inputClass": "",
|
|
424
433
|
"inputStyle": "border-style: dashed;",
|
|
425
434
|
"showLabel": true,
|
|
@@ -444,6 +453,7 @@ const TAQUESTION = {
|
|
|
444
453
|
Error_Message__c: 'Please Enter a Value',
|
|
445
454
|
Is_Date_Backward__c: false,
|
|
446
455
|
Is_Date_Forward__c: false,
|
|
456
|
+
Is_Hide__c: false,
|
|
447
457
|
Group__c: 'Basic',
|
|
448
458
|
Size__c: 1,
|
|
449
459
|
Question_No__c: '1',
|
|
@@ -458,6 +468,7 @@ const TAQUESTION = {
|
|
|
458
468
|
Style__c: {
|
|
459
469
|
"labelClass": "slds-grid",
|
|
460
470
|
"labelStyle": "align-items: baseline;",
|
|
471
|
+
"labelValueStyle": "",
|
|
461
472
|
"inputClass": "",
|
|
462
473
|
"inputStyle": "border-style: dashed;",
|
|
463
474
|
"showLabel": true,
|
|
@@ -482,6 +493,7 @@ const RADIOQUESTION = {
|
|
|
482
493
|
Error_Message__c: 'Please Enter a Value',
|
|
483
494
|
Is_Date_Backward__c: false,
|
|
484
495
|
Is_Date_Forward__c: false,
|
|
496
|
+
Is_Hide__c: false,
|
|
485
497
|
Group__c: 'Basic',
|
|
486
498
|
Size__c: 1,
|
|
487
499
|
Question_No__c: '5',
|
|
@@ -496,6 +508,7 @@ const RADIOQUESTION = {
|
|
|
496
508
|
Style__c: {
|
|
497
509
|
"labelClass": "slds-grid",
|
|
498
510
|
"labelStyle": "align-items: baseline;",
|
|
511
|
+
"labelValueStyle": "",
|
|
499
512
|
"inputClass": "",
|
|
500
513
|
"inputStyle": "border-style: dashed;",
|
|
501
514
|
"showLabel": true,
|
|
@@ -545,6 +558,7 @@ const CHECKQUESTION = {
|
|
|
545
558
|
Error_Message__c: 'Please Enter a Value',
|
|
546
559
|
Is_Date_Backward__c: false,
|
|
547
560
|
Is_Date_Forward__c: false,
|
|
561
|
+
Is_Hide__c: false,
|
|
548
562
|
Group__c: 'Basic',
|
|
549
563
|
Size__c: 1,
|
|
550
564
|
Question_No__c: '6',
|
|
@@ -559,6 +573,7 @@ const CHECKQUESTION = {
|
|
|
559
573
|
Style__c: {
|
|
560
574
|
"labelClass": "slds-grid",
|
|
561
575
|
"labelStyle": "align-items: baseline;",
|
|
576
|
+
"labelValueStyle": "",
|
|
562
577
|
"inputClass": "",
|
|
563
578
|
"inputStyle": "border-style: dashed;",
|
|
564
579
|
"showLabel": true,
|
|
@@ -609,6 +624,7 @@ const BOOKQUESTION = {
|
|
|
609
624
|
Error_Message__c: 'Please Enter a Value',
|
|
610
625
|
Is_Date_Backward__c: false,
|
|
611
626
|
Is_Date_Forward__c: false,
|
|
627
|
+
Is_Hide__c: false,
|
|
612
628
|
Group__c: 'Basic',
|
|
613
629
|
Size__c: 1,
|
|
614
630
|
Question_No__c: '7',
|
|
@@ -620,6 +636,7 @@ const BOOKQUESTION = {
|
|
|
620
636
|
Style__c: {
|
|
621
637
|
"labelClass": "slds-grid",
|
|
622
638
|
"labelStyle": "align-items: baseline;",
|
|
639
|
+
"labelValueStyle": "",
|
|
623
640
|
"inputClass": "",
|
|
624
641
|
"inputStyle": "border-style: dashed;",
|
|
625
642
|
"showLabel": true,
|
|
@@ -644,6 +661,7 @@ const BOOKQUESTION = {
|
|
|
644
661
|
Error_Message__c: 'Please Enter a Value',
|
|
645
662
|
Is_Date_Backward__c: false,
|
|
646
663
|
Is_Date_Forward__c: false,
|
|
664
|
+
Is_Hide__c: false,
|
|
647
665
|
Group__c: 'Basic',
|
|
648
666
|
Time_Text__c: 'hour',
|
|
649
667
|
Title__c: 'title',
|
|
@@ -656,6 +674,7 @@ const BOOKQUESTION = {
|
|
|
656
674
|
Style__c: {
|
|
657
675
|
"labelClass": "slds-grid",
|
|
658
676
|
"labelStyle": "align-items: baseline;",
|
|
677
|
+
"labelValueStyle": "",
|
|
659
678
|
"inputClass": "",
|
|
660
679
|
"inputStyle": "border-style: dashed;",
|
|
661
680
|
"showLabel": true,
|
|
@@ -704,6 +723,7 @@ const BOOKQUESTION = {
|
|
|
704
723
|
Error_Message__c: 'Please Enter a Value',
|
|
705
724
|
Is_Date_Backward__c: false,
|
|
706
725
|
Is_Date_Forward__c: false,
|
|
726
|
+
Is_Hide__c: false,
|
|
707
727
|
Group__c: 'Basic',
|
|
708
728
|
Time_Text__c: 'hour',
|
|
709
729
|
Title__c: 'title',
|
|
@@ -716,6 +736,7 @@ const BOOKQUESTION = {
|
|
|
716
736
|
Style__c: {
|
|
717
737
|
"labelClass": "slds-grid",
|
|
718
738
|
"labelStyle": "align-items: baseline;",
|
|
739
|
+
"labelValueStyle": "",
|
|
719
740
|
"inputClass": "",
|
|
720
741
|
"inputStyle": "border-style: dashed;",
|
|
721
742
|
"showLabel": true,
|
|
@@ -738,6 +759,7 @@ const BOOKQUESTION = {
|
|
|
738
759
|
Error_Message__c: 'Please Enter a Value',
|
|
739
760
|
Is_Date_Backward__c: false,
|
|
740
761
|
Is_Date_Forward__c: false,
|
|
762
|
+
Is_Hide__c: false,
|
|
741
763
|
Size__c: 8,
|
|
742
764
|
Group__c: 'Basic',
|
|
743
765
|
Time_Text__c: 'hour',
|
|
@@ -751,6 +773,7 @@ const BOOKQUESTION = {
|
|
|
751
773
|
Style__c: {
|
|
752
774
|
"labelClass": "slds-grid",
|
|
753
775
|
"labelStyle": "align-items: baseline;",
|
|
776
|
+
"labelValueStyle": "",
|
|
754
777
|
"inputClass": "",
|
|
755
778
|
"inputStyle": "border-style: dashed;",
|
|
756
779
|
"showLabel": true,
|
|
@@ -771,6 +794,7 @@ const BOOKQUESTION = {
|
|
|
771
794
|
X24_Hours__c: false,
|
|
772
795
|
Error_Message__c: 'Please Enter a Value',
|
|
773
796
|
Is_Date_Backward__c: false,
|
|
797
|
+
Is_Hide__c: false,
|
|
774
798
|
Is_Date_Forward__c: false,
|
|
775
799
|
Allowed_File_Extensions__c: '.pdf',
|
|
776
800
|
Size__c: 8,
|
|
@@ -786,6 +810,7 @@ const BOOKQUESTION = {
|
|
|
786
810
|
Style__c: {
|
|
787
811
|
"labelClass": "slds-grid",
|
|
788
812
|
"labelStyle": "align-items: baseline;",
|
|
813
|
+
"labelValueStyle": "",
|
|
789
814
|
"inputClass": "",
|
|
790
815
|
"inputStyle": "border-style: dashed;",
|
|
791
816
|
"showLabel": true,
|
|
@@ -808,6 +833,7 @@ const BOOKQUESTION = {
|
|
|
808
833
|
Error_Message__c: 'Please Enter a Value',
|
|
809
834
|
Is_Date_Backward__c: false,
|
|
810
835
|
Is_Date_Forward__c: false,
|
|
836
|
+
Is_Hide__c: false,
|
|
811
837
|
Size__c: 4,
|
|
812
838
|
Group__c: 'Basic',
|
|
813
839
|
Time_Text__c: 'hour',
|
|
@@ -821,6 +847,7 @@ const BOOKQUESTION = {
|
|
|
821
847
|
Style__c: {
|
|
822
848
|
"labelClass": "slds-grid",
|
|
823
849
|
"labelStyle": "align-items: baseline;",
|
|
850
|
+
"labelValueStyle": "",
|
|
824
851
|
"inputClass": "",
|
|
825
852
|
"inputStyle": "border-style: dashed;",
|
|
826
853
|
"showLabel": true,
|
|
@@ -1252,11 +1279,11 @@ class CustomInputComponent {
|
|
|
1252
1279
|
this.inputValue.emit(input.target.value);
|
|
1253
1280
|
}
|
|
1254
1281
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CustomInputComponent, deps: [{ token: ChangeService }, { token: I18nService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1255
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: CustomInputComponent, selector: "app-custom-input", inputs: { value: "value", question: "question", disabled: "disabled", placeholder: "placeholder", error: "error", fromShengel: "fromShengel", readOnly: "readOnly", ngClassValue: "ngClassValue", idValue: "idValue", focusEvent: "focusEvent" }, outputs: { inputValue: "inputValue" }, ngImport: i0, template: " <!-- HA 19DEC23 Included Style value from Salesforce -->\n <!-- HA 18-JAN-24 Added these classes for style, HA 31-JAN-24 Added ternary for style -->\n <!-- HA 02FEB24 question input will hold the value to display -->\n <!-- // VD 12Jun24 - readonly change-->\n <input *ngIf=\"!fromShengel\" type=\"text\" \n [(ngModel)]=\"question.input\" \n [ngClass]=\"ngClassValue\"\n class=\"she-line-input form-control\"\n [id]=\"idValue\"\n (focus)=\"focusEvent\"\n [readOnly]=\"readOnly\"\n [style.border-color]=\"error ? 'red' : ''\"\n [style]=\"question?.Style__c?.inputStyle\"\n [placeholder]=\"placeholder ? placeholder : ''\"\n (input)=\"onInputChange($event)\" />\n\n<input *ngIf=\"fromShengel\" \n [(ngModel)]=\"question.input\"\n type=\"text\" \n [readOnly]=\"readOnly\"\n class=\"she-line-input form-control\" \n [placeholder]=\"placeholder ? placeholder : '' \"\n [disabled]=\"disabled\"\n [style]=\"question?.Style__c?.inputStyle\"\n (input)=\"onInputChange($event)\" />\n<!-- HA 19DEC23 For translation -->\n<span *ngIf=\"error\" class=\"error-msg\">{{question?.Error_Message__c}}*</span>\n", styles: [".form-control[disabled]{border-radius:5px;background-color:#e9ecef!important}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
1282
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: CustomInputComponent, selector: "app-custom-input", inputs: { value: "value", question: "question", disabled: "disabled", placeholder: "placeholder", error: "error", fromShengel: "fromShengel", readOnly: "readOnly", ngClassValue: "ngClassValue", idValue: "idValue", focusEvent: "focusEvent" }, outputs: { inputValue: "inputValue" }, ngImport: i0, template: " <!-- HA 19DEC23 Included Style value from Salesforce -->\n <!-- HA 18-JAN-24 Added these classes for style, HA 31-JAN-24 Added ternary for style -->\n <!-- HA 02FEB24 question input will hold the value to display -->\n <!-- // VD 12Jun24 - readonly change-->\n <input *ngIf=\"!fromShengel\" type=\"text\" \n [(ngModel)]=\"question.input\" \n [ngClass]=\"ngClassValue\"\n class=\"she-line-input form-control\"\n [id]=\"idValue\"\n (focus)=\"focusEvent\"\n [readOnly]=\"readOnly\"\n [style.border-color]=\"error ? 'red !important' : ''\"\n [style]=\"question?.Style__c?.inputStyle\"\n [placeholder]=\"placeholder ? placeholder : ''\"\n (input)=\"onInputChange($event)\" />\n\n<input *ngIf=\"fromShengel\" \n [(ngModel)]=\"question.input\"\n type=\"text\" \n [readOnly]=\"readOnly\"\n class=\"she-line-input form-control\" \n [placeholder]=\"placeholder ? placeholder : '' \"\n [disabled]=\"disabled\"\n [style]=\"question?.Style__c?.inputStyle\"\n (input)=\"onInputChange($event)\" />\n<!-- HA 19DEC23 For translation -->\n<span *ngIf=\"error\" class=\"error-msg\">{{question?.Error_Message__c}}*</span>\n", styles: [".form-control[disabled]{border-radius:5px;background-color:#e9ecef!important}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
1256
1283
|
}
|
|
1257
1284
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CustomInputComponent, decorators: [{
|
|
1258
1285
|
type: Component,
|
|
1259
|
-
args: [{ selector: 'app-custom-input', template: " <!-- HA 19DEC23 Included Style value from Salesforce -->\n <!-- HA 18-JAN-24 Added these classes for style, HA 31-JAN-24 Added ternary for style -->\n <!-- HA 02FEB24 question input will hold the value to display -->\n <!-- // VD 12Jun24 - readonly change-->\n <input *ngIf=\"!fromShengel\" type=\"text\" \n [(ngModel)]=\"question.input\" \n [ngClass]=\"ngClassValue\"\n class=\"she-line-input form-control\"\n [id]=\"idValue\"\n (focus)=\"focusEvent\"\n [readOnly]=\"readOnly\"\n [style.border-color]=\"error ? 'red' : ''\"\n [style]=\"question?.Style__c?.inputStyle\"\n [placeholder]=\"placeholder ? placeholder : ''\"\n (input)=\"onInputChange($event)\" />\n\n<input *ngIf=\"fromShengel\" \n [(ngModel)]=\"question.input\"\n type=\"text\" \n [readOnly]=\"readOnly\"\n class=\"she-line-input form-control\" \n [placeholder]=\"placeholder ? placeholder : '' \"\n [disabled]=\"disabled\"\n [style]=\"question?.Style__c?.inputStyle\"\n (input)=\"onInputChange($event)\" />\n<!-- HA 19DEC23 For translation -->\n<span *ngIf=\"error\" class=\"error-msg\">{{question?.Error_Message__c}}*</span>\n", styles: [".form-control[disabled]{border-radius:5px;background-color:#e9ecef!important}\n"] }]
|
|
1286
|
+
args: [{ selector: 'app-custom-input', template: " <!-- HA 19DEC23 Included Style value from Salesforce -->\n <!-- HA 18-JAN-24 Added these classes for style, HA 31-JAN-24 Added ternary for style -->\n <!-- HA 02FEB24 question input will hold the value to display -->\n <!-- // VD 12Jun24 - readonly change-->\n <input *ngIf=\"!fromShengel\" type=\"text\" \n [(ngModel)]=\"question.input\" \n [ngClass]=\"ngClassValue\"\n class=\"she-line-input form-control\"\n [id]=\"idValue\"\n (focus)=\"focusEvent\"\n [readOnly]=\"readOnly\"\n [style.border-color]=\"error ? 'red !important' : ''\"\n [style]=\"question?.Style__c?.inputStyle\"\n [placeholder]=\"placeholder ? placeholder : ''\"\n (input)=\"onInputChange($event)\" />\n\n<input *ngIf=\"fromShengel\" \n [(ngModel)]=\"question.input\"\n type=\"text\" \n [readOnly]=\"readOnly\"\n class=\"she-line-input form-control\" \n [placeholder]=\"placeholder ? placeholder : '' \"\n [disabled]=\"disabled\"\n [style]=\"question?.Style__c?.inputStyle\"\n (input)=\"onInputChange($event)\" />\n<!-- HA 19DEC23 For translation -->\n<span *ngIf=\"error\" class=\"error-msg\">{{question?.Error_Message__c}}*</span>\n", styles: [".form-control[disabled]{border-radius:5px;background-color:#e9ecef!important}\n"] }]
|
|
1260
1287
|
}], ctorParameters: function () { return [{ type: ChangeService }, { type: I18nService }]; }, propDecorators: { value: [{
|
|
1261
1288
|
type: Input
|
|
1262
1289
|
}], question: [{
|
|
@@ -1704,11 +1731,11 @@ class CustomDropdownComponent {
|
|
|
1704
1731
|
}
|
|
1705
1732
|
}
|
|
1706
1733
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CustomDropdownComponent, deps: [{ token: ChangeService }, { token: DataService }, { token: I18nService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1707
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: CustomDropdownComponent, selector: "app-custom-dropdown", inputs: { options: "options", placeholder: "placeholder", apiMeta: "apiMeta", selectedValue: "selectedValue", progressBar: "progressBar", id: "id", readOnly: "readOnly", errorMessage: "errorMessage", error: "error", fromShengel: "fromShengel", referenceField: "referenceField", token: "token" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<!-- HA 18-JAN-24 Commenting these lines as we don't have to use shengel here -->\n<!-- <select\n [ngClass]=\"{\n 'dt-line dpDown down myt-dropbox myt-border-r myt-font1': progressBar,\n 'custom-select': !progressBar\n }\" class=\"custom-select mr-sm-2 dd-height\" \n [id]=\"id\" \n [(ngModel)]=\"selectedValue\"\n (change)=\"selectChange($event.target.value);\" \n [style.borderColor]=\"error ? 'red' : '#858585'\"\n [style.color]=\"error ? 'red' : ''\">\n <option *ngFor=\"let option of options\" [value]=\"this.apiMeta !== undefined ? option.title : option.Value__c\" class=\"option\">{{ this.apiMeta !== undefined ? option.title : option.Value__c }}</option>\n <option *ngIf=\"errorMessage\" value=\"\" disabled hidden>{{ errorMessage }}</option>\n</select> -->\n<!-- // VD 12Jun24 - readonly change-->\n<!-- VD 01Aug24 - validation change-->\n<ng-select\n [class]=\"invalidFieldIds.includes(id) || error ? 'shengel-custom-select invalid' : 'shengel-custom-select'\"\n [(ngModel)]=\"selectedValue\" \n [placeholder]=\"placeholder\"\n [disabled]=\"readOnly\"\n (change)=\"selectChange($event)\"\n [id]=\"id\">\n
|
|
1734
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: CustomDropdownComponent, selector: "app-custom-dropdown", inputs: { options: "options", placeholder: "placeholder", apiMeta: "apiMeta", selectedValue: "selectedValue", progressBar: "progressBar", id: "id", readOnly: "readOnly", errorMessage: "errorMessage", error: "error", fromShengel: "fromShengel", referenceField: "referenceField", token: "token" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<!-- HA 18-JAN-24 Commenting these lines as we don't have to use shengel here -->\n<!-- <select\n [ngClass]=\"{\n 'dt-line dpDown down myt-dropbox myt-border-r myt-font1': progressBar,\n 'custom-select': !progressBar\n }\" class=\"custom-select mr-sm-2 dd-height\" \n [id]=\"id\" \n [(ngModel)]=\"selectedValue\"\n (change)=\"selectChange($event.target.value);\" \n [style.borderColor]=\"error ? 'red' : '#858585'\"\n [style.color]=\"error ? 'red' : ''\">\n <option *ngFor=\"let option of options\" [value]=\"this.apiMeta !== undefined ? option.title : option.Value__c\" class=\"option\">{{ this.apiMeta !== undefined ? option.title : option.Value__c }}</option>\n <option *ngIf=\"errorMessage\" value=\"\" disabled hidden>{{ errorMessage }}</option>\n</select> -->\n<!-- // VD 12Jun24 - readonly change-->\n<!-- VD 01Aug24 - validation change-->\n<ng-select\n [class]=\"invalidFieldIds.includes(id) || error ? 'shengel-custom-select invalid' : 'shengel-custom-select'\"\n [(ngModel)]=\"selectedValue\" \n [placeholder]=\"placeholder\"\n [disabled]=\"readOnly\"\n (change)=\"selectChange($event)\"\n [id]=\"id\">\n <ng-option *ngFor=\"let option of options\" [value]=\"apiMeta !== undefined ? option : option.Value__c\">{{ apiMeta !== undefined ? option[labelField] : option.Value__c }}</ng-option> \n</ng-select>\n<span *ngIf=\"error || invalidFieldIds.includes(id)\" class=\"error-msg\">{{errorMessage}}</span>\n", styles: [".ng-select{width:100%}.invalid{border:1px solid red!important}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "component", type: i6.ɵr, selector: "ng-option", inputs: ["disabled", "value"] }] });
|
|
1708
1735
|
}
|
|
1709
1736
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CustomDropdownComponent, decorators: [{
|
|
1710
1737
|
type: Component,
|
|
1711
|
-
args: [{ selector: 'app-custom-dropdown', template: "<!-- HA 18-JAN-24 Commenting these lines as we don't have to use shengel here -->\n<!-- <select\n [ngClass]=\"{\n 'dt-line dpDown down myt-dropbox myt-border-r myt-font1': progressBar,\n 'custom-select': !progressBar\n }\" class=\"custom-select mr-sm-2 dd-height\" \n [id]=\"id\" \n [(ngModel)]=\"selectedValue\"\n (change)=\"selectChange($event.target.value);\" \n [style.borderColor]=\"error ? 'red' : '#858585'\"\n [style.color]=\"error ? 'red' : ''\">\n <option *ngFor=\"let option of options\" [value]=\"this.apiMeta !== undefined ? option.title : option.Value__c\" class=\"option\">{{ this.apiMeta !== undefined ? option.title : option.Value__c }}</option>\n <option *ngIf=\"errorMessage\" value=\"\" disabled hidden>{{ errorMessage }}</option>\n</select> -->\n<!-- // VD 12Jun24 - readonly change-->\n<!-- VD 01Aug24 - validation change-->\n<ng-select\n [class]=\"invalidFieldIds.includes(id) || error ? 'shengel-custom-select invalid' : 'shengel-custom-select'\"\n [(ngModel)]=\"selectedValue\" \n [placeholder]=\"placeholder\"\n [disabled]=\"readOnly\"\n (change)=\"selectChange($event)\"\n [id]=\"id\">\n
|
|
1738
|
+
args: [{ selector: 'app-custom-dropdown', template: "<!-- HA 18-JAN-24 Commenting these lines as we don't have to use shengel here -->\n<!-- <select\n [ngClass]=\"{\n 'dt-line dpDown down myt-dropbox myt-border-r myt-font1': progressBar,\n 'custom-select': !progressBar\n }\" class=\"custom-select mr-sm-2 dd-height\" \n [id]=\"id\" \n [(ngModel)]=\"selectedValue\"\n (change)=\"selectChange($event.target.value);\" \n [style.borderColor]=\"error ? 'red' : '#858585'\"\n [style.color]=\"error ? 'red' : ''\">\n <option *ngFor=\"let option of options\" [value]=\"this.apiMeta !== undefined ? option.title : option.Value__c\" class=\"option\">{{ this.apiMeta !== undefined ? option.title : option.Value__c }}</option>\n <option *ngIf=\"errorMessage\" value=\"\" disabled hidden>{{ errorMessage }}</option>\n</select> -->\n<!-- // VD 12Jun24 - readonly change-->\n<!-- VD 01Aug24 - validation change-->\n<ng-select\n [class]=\"invalidFieldIds.includes(id) || error ? 'shengel-custom-select invalid' : 'shengel-custom-select'\"\n [(ngModel)]=\"selectedValue\" \n [placeholder]=\"placeholder\"\n [disabled]=\"readOnly\"\n (change)=\"selectChange($event)\"\n [id]=\"id\">\n <ng-option *ngFor=\"let option of options\" [value]=\"apiMeta !== undefined ? option : option.Value__c\">{{ apiMeta !== undefined ? option[labelField] : option.Value__c }}</ng-option> \n</ng-select>\n<span *ngIf=\"error || invalidFieldIds.includes(id)\" class=\"error-msg\">{{errorMessage}}</span>\n", styles: [".ng-select{width:100%}.invalid{border:1px solid red!important}\n"] }]
|
|
1712
1739
|
}], ctorParameters: function () { return [{ type: ChangeService }, { type: DataService }, { type: I18nService }]; }, propDecorators: { options: [{
|
|
1713
1740
|
type: Input
|
|
1714
1741
|
}], placeholder: [{
|
|
@@ -4327,6 +4354,7 @@ class FileUploadComponent {
|
|
|
4327
4354
|
showFile = false;
|
|
4328
4355
|
isImage = false;
|
|
4329
4356
|
fileName = '';
|
|
4357
|
+
currentFile;
|
|
4330
4358
|
constructor(SharedService, dataService, sanitizer, i18nService) {
|
|
4331
4359
|
this.SharedService = SharedService;
|
|
4332
4360
|
this.dataService = dataService;
|
|
@@ -4439,20 +4467,9 @@ class FileUploadComponent {
|
|
|
4439
4467
|
this.deletedFileData.emit(deletedFile[0]);
|
|
4440
4468
|
this.selectedFileData.emit(this.copyOfInputAllFiles);
|
|
4441
4469
|
}
|
|
4442
|
-
// viewFile(currentFile) {
|
|
4443
|
-
// // Display file here
|
|
4444
|
-
// if (currentFile && currentFile.doc) {
|
|
4445
|
-
// this.sharedService.viewFile(currentFile.doc.split('/').pop()).subscribe((apiResponse: any) => {
|
|
4446
|
-
// if (apiResponse && apiResponse.sas_url) {
|
|
4447
|
-
// window.open(apiResponse.sas_url, '_blank');
|
|
4448
|
-
// }
|
|
4449
|
-
// }, (apiError) => {
|
|
4450
|
-
// this.toastr.warning('Error while viewing file', 'Warning');
|
|
4451
|
-
// });
|
|
4452
|
-
// }
|
|
4453
|
-
// }
|
|
4454
4470
|
// VD 20May24 - preview changes
|
|
4455
4471
|
viewFile(currentFile) {
|
|
4472
|
+
this.currentFile = currentFile;
|
|
4456
4473
|
this.showFile = true;
|
|
4457
4474
|
console.log(currentFile);
|
|
4458
4475
|
if (this.question.Sub_Text__c != undefined) {
|
|
@@ -4471,21 +4488,30 @@ class FileUploadComponent {
|
|
|
4471
4488
|
}
|
|
4472
4489
|
}
|
|
4473
4490
|
}
|
|
4491
|
+
else {
|
|
4492
|
+
this.viewLocalFile();
|
|
4493
|
+
}
|
|
4494
|
+
}
|
|
4495
|
+
// // VD 03Aug24 process local preview
|
|
4496
|
+
viewLocalFile() {
|
|
4497
|
+
if (this.currentFile) {
|
|
4498
|
+
this.setFileUrl(this.currentFile?.doc);
|
|
4499
|
+
this.fileName = this.currentFile.name;
|
|
4500
|
+
this.isImage = this.currentFile.type.startsWith('image/');
|
|
4501
|
+
}
|
|
4474
4502
|
}
|
|
4475
4503
|
handleFileContent(fileResponse) {
|
|
4476
4504
|
const byteArray = new Uint8Array(fileResponse.content.data);
|
|
4477
4505
|
const blob = new Blob([byteArray], { type: fileResponse.type });
|
|
4478
4506
|
const url = window.URL.createObjectURL(blob);
|
|
4479
4507
|
this.setFileUrl(url);
|
|
4508
|
+
this.isImage = false;
|
|
4480
4509
|
if (fileResponse.name) {
|
|
4481
4510
|
this.fileName = fileResponse.name;
|
|
4482
4511
|
const imageExtensions = ['jpg', 'jpeg', 'png', 'gif', 'bmp', 'webp'];
|
|
4483
4512
|
const fileExtension = fileResponse.name.split('.').pop()?.toLowerCase();
|
|
4484
4513
|
this.isImage = imageExtensions.includes(fileExtension || '');
|
|
4485
4514
|
}
|
|
4486
|
-
else {
|
|
4487
|
-
this.isImage = false;
|
|
4488
|
-
}
|
|
4489
4515
|
}
|
|
4490
4516
|
setFileUrl(url) {
|
|
4491
4517
|
this.fileUrl = this.sanitizer.bypassSecurityTrustResourceUrl(url);
|
|
@@ -4496,13 +4522,19 @@ class FileUploadComponent {
|
|
|
4496
4522
|
}
|
|
4497
4523
|
close() {
|
|
4498
4524
|
this.showFile = false;
|
|
4525
|
+
this.fileName = '';
|
|
4526
|
+
this.fileUrl = '';
|
|
4527
|
+
this.isImage = false;
|
|
4528
|
+
if (this.fileUrl) {
|
|
4529
|
+
URL.revokeObjectURL(this.fileUrl);
|
|
4530
|
+
}
|
|
4499
4531
|
}
|
|
4500
4532
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FileUploadComponent, deps: [{ token: SharedService }, { token: DataService }, { token: i5.DomSanitizer }, { token: I18nService }], target: i0.ɵɵFactoryTarget.Component });
|
|
4501
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: FileUploadComponent, selector: "app-file-upload", inputs: { allFiles: "allFiles", limitFileUploading: "limitFileUploading", isDeleteFileButtonVisible: "isDeleteFileButtonVisible", isShowNoFileIcon: "isShowNoFileIcon", tableFile: "tableFile", question: "question", error: "error" }, outputs: { selectedFileData: "selectedFileData", deletedFileData: "deletedFileData" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"row\" style=\"margin: 0;\">\n <div class=\"col-md-12\" *ngIf=\"!isDeleteFileButtonVisible\" style=\"text-align: left;\">\n <!-- HA 19DEC23 For translation -->\n <label class=\"she-label\">{{ 'attachment' | i18n:i18nService.currentLanguage }}</label>\n </div>\n <div class=\"col-lg-
|
|
4533
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: FileUploadComponent, selector: "app-file-upload", inputs: { allFiles: "allFiles", limitFileUploading: "limitFileUploading", isDeleteFileButtonVisible: "isDeleteFileButtonVisible", isShowNoFileIcon: "isShowNoFileIcon", tableFile: "tableFile", question: "question", error: "error" }, outputs: { selectedFileData: "selectedFileData", deletedFileData: "deletedFileData" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"row\" style=\"margin: 0;\">\n <div class=\"col-md-12\" *ngIf=\"!isDeleteFileButtonVisible\" style=\"text-align: left;\">\n <!-- HA 19DEC23 For translation -->\n <label class=\"she-label\">{{ 'attachment' | i18n:i18nService.currentLanguage }}</label>\n </div>\n <div class=\"col-lg-5 document-cnt m-t-10 m-b-10\"\n *ngFor=\"let eachFile of copyOfInputAllFiles; let currentFileIndex = index\">\n <div *ngIf=\"!tableFile\" class=\"row\"> <!-- (click)=\"viewFile(eachFile)\" -->\n <div class=\"col-lg-3 document_image\">\n <img [src]=\"getDocIcon(eachFile?.name)\">\n </div>\n <div class=\"col-lg-9 document_name\">\n {{eachFile?.name}}\n </div>\n <div class=\"document_delete\" (click)=\"deleteFile(currentFileIndex);$event.stopPropagation()\" *ngIf=\"isDeleteFileButtonVisible\">\n <img src=\"https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/bin.svg\">\n </div>\n <!-- VD 20May24 - preview changes-->\n <div class=\"preview-icon\" (click)=\"viewFile(eachFile)\" *ngIf=\"isDeleteFileButtonVisible\">\n <img src=\"https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/icons8-eye-24.png\">\n </div>\n </div>\n <div *ngIf=\"tableFile\" class=\"row\" style=\"cursor: pointer;\">\n <div class=\"col-lg-3 document_image\">\n <img [src]=\"getDocIcon(eachFile?.doc)\" style=\"margin-right: 10px;height: 40px;\">\n </div>\n <div class=\"col-lg-9 document_name\" style=\"overflow:hidden;height:35px;\">\n {{eachFile?.name}}\n </div>\n </div>\n </div>\n <div class=\"col-md-12 m-b-30 text-center\" *ngIf=\"copyOfInputAllFiles?.length === 0 && isShowNoFileIcon\">\n <img src=\"https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/ic_no_attachments.svg\" style=\"height: 140px;\">\n </div>\n</div>\n\n<div class=\"col-lg-6\" style=\"padding:0;margin-top: 10px;\">\n <label class=\"custom-file\" *ngIf=\"isDeleteFileButtonVisible && !tableFile\">\n <!-- HA 19DEC23 For translation -->\n <!-- VD 03May24 file upload fix-->\n <button [class]=\"error ? 'she-btn-primary-bordered Invalid' : 'she-btn-primary-bordered'\" style=\"width:275px;\" (click)=\"fileInput.click()\"\n [ngClass]=\"{ 'btn-disabled': copyOfInputAllFiles?.length >= copyOfFileUploadingLimit }\" [disabled]=\"copyOfInputAllFiles?.length >= copyOfFileUploadingLimit\"\n >Choose Files</button>\n\n <input #fileInput type=\"file\" name=\"fileUpload\" multiple=\"multiple\" accept=\"*\" style=\"display:none;\"\n (change) = uploadMultipleFiles($event)\n />\n </label>\n<!-- HA 19DEC23 For translation -->\n <label *ngIf=\"tableFile\" class=\"btn btn-primary\">\n {{ 'uploadFile' | i18n:i18nService.currentLanguage }}\n <input id=\"file\" style=\"display: none;\" type=\"file\" class=\"form-control\" (change)= uploadMultipleFiles($event) />\n </label>\n <!-- <span class=\"error-msg\" *ngIf=\"(formControl?.documents?.touched || formControl?.documents?.dirty) &&\n formControl?.documents?.errors?.required\">\n {{LM_POLICY_VALIDATION_MESSAGE.REQUIRED}}\n </span> -->\n</div>\n<div *ngIf=\"error\" class=\"error-msg\" style=\"margin-top: 10px;\">{{question?.Error_Message__c}}</div>\n<div class=\"nxt-file-overlay\" *ngIf=\"showFile\">\n <div class=\"nxt-file-map-modal\">\n <div class=\"nxt-file-model-content\">\n <div class=\"nxt-file-model-header\">\n <h4>{{fileName}}</h4>\n <button class=\"close-button\" (click)=\"close()\">X</button>\n </div>\n <ng-container *ngIf=\"isImage; else otherFile\">\n <img [src]=\"fileUrl\" class=\"img-fluid\" alt=\"File Preview\" />\n </ng-container>\n <ng-template #otherFile>\n <iframe [src]=\"fileUrl\" width=\"100%\" height=\"500px\"></iframe>\n </ng-template>\n </div>\n </div>\n</div>\n\n\n", styles: [".document-cnt{padding:10px;border:1px solid #ccc;border-radius:5px;margin-left:10px;background-color:#f9f9f9;margin-bottom:10px;cursor:pointer;transition:background-color .3s ease;position:relative}.document-cnt:hover{background-color:#e9ecef}.document_image img{width:30px;height:30px}.document_name{font-size:14px;font-weight:700;color:#333;line-height:30px}.document_delete img,.preview-icon img{width:20px;height:20px;cursor:pointer;transition:transform .3s ease}.document_delete img{filter:brightness(0) saturate(100%) invert(20%) sepia(97%) saturate(7481%) hue-rotate(357deg) brightness(98%) contrast(119%)}.document_delete img:hover,.preview-icon img:hover{transform:scale(1.1)}.document_delete,.preview-icon{position:absolute;top:50%;transform:translateY(-50%)}.document_delete{right:10px}.preview-icon{right:40px}.btn-disabled{background:#e1e1e1;color:#fff;border:none;border-radius:5px;height:50px}.form-control[disabled]{border-radius:5px}.custom-file{color:#9a9a9a;font-size:14px;font-weight:400;display:inline-block;width:auto;margin-bottom:5px}.she-btn-primary-bordered{background:#ffffff;color:#48b7ff;border:1px solid #48B7FF;border-radius:5px;height:50px;outline:none!important}.btn-primary{background-color:#03a9f4!important;border:1px solid #03a9f4!important;color:#fff!important}.btn.btn-primary{border-radius:2px;padding:6px 14px;font-size:14px}.nxt-file-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.nxt-file-map-modal{background-color:#fff;border-radius:8px;overflow:hidden;width:80%;max-width:800px;max-height:90%;display:flex;flex-direction:column}.nxt-file-model-content{display:flex;flex-direction:column;height:100%}.nxt-file-model-header{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;background-color:#f5f5f5;border-bottom:1px solid #ddd}.nxt-file-model-header h4{margin:0;font-size:1.25em}.close-button{background:none;border:none;font-size:1.5em;cursor:pointer}.img-fluid{max-width:100%;height:auto;flex:1}iframe{border:none}.Invalid{border:1px solid red!important}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: I18nPipe, name: "i18n" }] });
|
|
4502
4534
|
}
|
|
4503
4535
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FileUploadComponent, decorators: [{
|
|
4504
4536
|
type: Component,
|
|
4505
|
-
args: [{ selector: 'app-file-upload', template: "<div class=\"row\" style=\"margin: 0;\">\n <div class=\"col-md-12\" *ngIf=\"!isDeleteFileButtonVisible\" style=\"text-align: left;\">\n <!-- HA 19DEC23 For translation -->\n <label class=\"she-label\">{{ 'attachment' | i18n:i18nService.currentLanguage }}</label>\n </div>\n <div class=\"col-lg-
|
|
4537
|
+
args: [{ selector: 'app-file-upload', template: "<div class=\"row\" style=\"margin: 0;\">\n <div class=\"col-md-12\" *ngIf=\"!isDeleteFileButtonVisible\" style=\"text-align: left;\">\n <!-- HA 19DEC23 For translation -->\n <label class=\"she-label\">{{ 'attachment' | i18n:i18nService.currentLanguage }}</label>\n </div>\n <div class=\"col-lg-5 document-cnt m-t-10 m-b-10\"\n *ngFor=\"let eachFile of copyOfInputAllFiles; let currentFileIndex = index\">\n <div *ngIf=\"!tableFile\" class=\"row\"> <!-- (click)=\"viewFile(eachFile)\" -->\n <div class=\"col-lg-3 document_image\">\n <img [src]=\"getDocIcon(eachFile?.name)\">\n </div>\n <div class=\"col-lg-9 document_name\">\n {{eachFile?.name}}\n </div>\n <div class=\"document_delete\" (click)=\"deleteFile(currentFileIndex);$event.stopPropagation()\" *ngIf=\"isDeleteFileButtonVisible\">\n <img src=\"https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/bin.svg\">\n </div>\n <!-- VD 20May24 - preview changes-->\n <div class=\"preview-icon\" (click)=\"viewFile(eachFile)\" *ngIf=\"isDeleteFileButtonVisible\">\n <img src=\"https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/icons8-eye-24.png\">\n </div>\n </div>\n <div *ngIf=\"tableFile\" class=\"row\" style=\"cursor: pointer;\">\n <div class=\"col-lg-3 document_image\">\n <img [src]=\"getDocIcon(eachFile?.doc)\" style=\"margin-right: 10px;height: 40px;\">\n </div>\n <div class=\"col-lg-9 document_name\" style=\"overflow:hidden;height:35px;\">\n {{eachFile?.name}}\n </div>\n </div>\n </div>\n <div class=\"col-md-12 m-b-30 text-center\" *ngIf=\"copyOfInputAllFiles?.length === 0 && isShowNoFileIcon\">\n <img src=\"https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/ic_no_attachments.svg\" style=\"height: 140px;\">\n </div>\n</div>\n\n<div class=\"col-lg-6\" style=\"padding:0;margin-top: 10px;\">\n <label class=\"custom-file\" *ngIf=\"isDeleteFileButtonVisible && !tableFile\">\n <!-- HA 19DEC23 For translation -->\n <!-- VD 03May24 file upload fix-->\n <button [class]=\"error ? 'she-btn-primary-bordered Invalid' : 'she-btn-primary-bordered'\" style=\"width:275px;\" (click)=\"fileInput.click()\"\n [ngClass]=\"{ 'btn-disabled': copyOfInputAllFiles?.length >= copyOfFileUploadingLimit }\" [disabled]=\"copyOfInputAllFiles?.length >= copyOfFileUploadingLimit\"\n >Choose Files</button>\n\n <input #fileInput type=\"file\" name=\"fileUpload\" multiple=\"multiple\" accept=\"*\" style=\"display:none;\"\n (change) = uploadMultipleFiles($event)\n />\n </label>\n<!-- HA 19DEC23 For translation -->\n <label *ngIf=\"tableFile\" class=\"btn btn-primary\">\n {{ 'uploadFile' | i18n:i18nService.currentLanguage }}\n <input id=\"file\" style=\"display: none;\" type=\"file\" class=\"form-control\" (change)= uploadMultipleFiles($event) />\n </label>\n <!-- <span class=\"error-msg\" *ngIf=\"(formControl?.documents?.touched || formControl?.documents?.dirty) &&\n formControl?.documents?.errors?.required\">\n {{LM_POLICY_VALIDATION_MESSAGE.REQUIRED}}\n </span> -->\n</div>\n<div *ngIf=\"error\" class=\"error-msg\" style=\"margin-top: 10px;\">{{question?.Error_Message__c}}</div>\n<div class=\"nxt-file-overlay\" *ngIf=\"showFile\">\n <div class=\"nxt-file-map-modal\">\n <div class=\"nxt-file-model-content\">\n <div class=\"nxt-file-model-header\">\n <h4>{{fileName}}</h4>\n <button class=\"close-button\" (click)=\"close()\">X</button>\n </div>\n <ng-container *ngIf=\"isImage; else otherFile\">\n <img [src]=\"fileUrl\" class=\"img-fluid\" alt=\"File Preview\" />\n </ng-container>\n <ng-template #otherFile>\n <iframe [src]=\"fileUrl\" width=\"100%\" height=\"500px\"></iframe>\n </ng-template>\n </div>\n </div>\n</div>\n\n\n", styles: [".document-cnt{padding:10px;border:1px solid #ccc;border-radius:5px;margin-left:10px;background-color:#f9f9f9;margin-bottom:10px;cursor:pointer;transition:background-color .3s ease;position:relative}.document-cnt:hover{background-color:#e9ecef}.document_image img{width:30px;height:30px}.document_name{font-size:14px;font-weight:700;color:#333;line-height:30px}.document_delete img,.preview-icon img{width:20px;height:20px;cursor:pointer;transition:transform .3s ease}.document_delete img{filter:brightness(0) saturate(100%) invert(20%) sepia(97%) saturate(7481%) hue-rotate(357deg) brightness(98%) contrast(119%)}.document_delete img:hover,.preview-icon img:hover{transform:scale(1.1)}.document_delete,.preview-icon{position:absolute;top:50%;transform:translateY(-50%)}.document_delete{right:10px}.preview-icon{right:40px}.btn-disabled{background:#e1e1e1;color:#fff;border:none;border-radius:5px;height:50px}.form-control[disabled]{border-radius:5px}.custom-file{color:#9a9a9a;font-size:14px;font-weight:400;display:inline-block;width:auto;margin-bottom:5px}.she-btn-primary-bordered{background:#ffffff;color:#48b7ff;border:1px solid #48B7FF;border-radius:5px;height:50px;outline:none!important}.btn-primary{background-color:#03a9f4!important;border:1px solid #03a9f4!important;color:#fff!important}.btn.btn-primary{border-radius:2px;padding:6px 14px;font-size:14px}.nxt-file-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.nxt-file-map-modal{background-color:#fff;border-radius:8px;overflow:hidden;width:80%;max-width:800px;max-height:90%;display:flex;flex-direction:column}.nxt-file-model-content{display:flex;flex-direction:column;height:100%}.nxt-file-model-header{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;background-color:#f5f5f5;border-bottom:1px solid #ddd}.nxt-file-model-header h4{margin:0;font-size:1.25em}.close-button{background:none;border:none;font-size:1.5em;cursor:pointer}.img-fluid{max-width:100%;height:auto;flex:1}iframe{border:none}.Invalid{border:1px solid red!important}\n"] }]
|
|
4506
4538
|
}], ctorParameters: function () { return [{ type: SharedService }, { type: DataService }, { type: i5.DomSanitizer }, { type: I18nService }]; }, propDecorators: { selectedFileData: [{
|
|
4507
4539
|
type: Output
|
|
4508
4540
|
}], deletedFileData: [{
|
|
@@ -4563,18 +4595,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
4563
4595
|
|
|
4564
4596
|
class CustomLabelComponent {
|
|
4565
4597
|
labelValue;
|
|
4598
|
+
labelStyle;
|
|
4566
4599
|
constructor() {
|
|
4567
4600
|
}
|
|
4568
4601
|
ngOnInit() {
|
|
4569
4602
|
}
|
|
4570
4603
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CustomLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4571
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: CustomLabelComponent, selector: "app-custom-label", inputs: { labelValue: "labelValue" }, ngImport: i0, template: "\n<div
|
|
4604
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: CustomLabelComponent, selector: "app-custom-label", inputs: { labelValue: "labelValue", labelStyle: "labelStyle" }, ngImport: i0, template: "\n<div style={{labelStyle}}>{{ labelValue }}</div>\n", styles: [".label{margin-top:8px;margin-left:7px}\n"] });
|
|
4572
4605
|
}
|
|
4573
4606
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CustomLabelComponent, decorators: [{
|
|
4574
4607
|
type: Component,
|
|
4575
|
-
args: [{ selector: 'app-custom-label', template: "\n<div
|
|
4608
|
+
args: [{ selector: 'app-custom-label', template: "\n<div style={{labelStyle}}>{{ labelValue }}</div>\n", styles: [".label{margin-top:8px;margin-left:7px}\n"] }]
|
|
4576
4609
|
}], ctorParameters: function () { return []; }, propDecorators: { labelValue: [{
|
|
4577
4610
|
type: Input
|
|
4611
|
+
}], labelStyle: [{
|
|
4612
|
+
type: Input
|
|
4578
4613
|
}] } });
|
|
4579
4614
|
|
|
4580
4615
|
class TableAppendixComponent {
|
|
@@ -4705,11 +4740,17 @@ class CustomDateComponent {
|
|
|
4705
4740
|
ngOnInit() {
|
|
4706
4741
|
this.dateSelected = new Date(this.date);
|
|
4707
4742
|
}
|
|
4743
|
+
// VD 02Aug24 - clear input changes
|
|
4744
|
+
ngOnChanges(simplechanges) {
|
|
4745
|
+
if (simplechanges['date']) {
|
|
4746
|
+
this.dateSelected = new Date(this.date);
|
|
4747
|
+
}
|
|
4748
|
+
}
|
|
4708
4749
|
onDateChange(event) {
|
|
4709
4750
|
this.dateChange.emit(event);
|
|
4710
4751
|
}
|
|
4711
4752
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CustomDateComponent, deps: [{ token: I18nService }], target: i0.ɵɵFactoryTarget.Component });
|
|
4712
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: CustomDateComponent, selector: "app-custom-date", inputs: { date: "date", readOnly: "readOnly", error: "error", errorMessage: "errorMessage" }, outputs: { dateChange: "dateChange" }, ngImport: i0, template: "<!-- date component -->\n<!-- VD 12Jun24 - readonly change-->\n<!-- VD 01Aug24 - validation change-->\n<p>\n <input\n [class]=\"error ? 'invalid' : ''\"\n [(ngModel)]=\"dateSelected\"\n [owlDateTimeTrigger]=\"dt1\"\n [owlDateTime]=\"dt1\"\n [disabled]=\"readOnly\"\n placeholder=\"DD/MM/YYYY\"\n (input)=\"onDateChange($event)\"\n style=\"width: 100%; height: 35px; border: none; box-shadow: none; border-bottom: 1px solid #ccc;\"\n (dateTimeChange)=\"onDateChange($event)\"\n >\n <owl-date-time [pickerType]=\"'calendar'\" #dt1></owl-date-time>\n </p>\n <span *ngIf=\"error\" class=\"error-msg\">{{errorMessage}}</span>", styles: [".invalid{border-color:red!important}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4$2.OwlDateTimeTriggerDirective, selector: "[owlDateTimeTrigger]", inputs: ["disabled", "owlDateTimeTrigger"] }, { kind: "directive", type: i4$2.OwlDateTimeInputDirective, selector: "input[owlDateTime]", inputs: ["rangeSeparator", "owlDateTime", "owlDateTimeFilter", "min", "max", "selectMode", "value", "values", "_disabled"], outputs: ["dateTimeChange", "dateTimeInput"], exportAs: ["owlDateTimeInput"] }, { kind: "component", type: i4$2.OwlDateTimeComponent, selector: "owl-date-time", inputs: ["startAt", "pickerType", "pickerMode", "disabled", "opened", "backdropClass", "panelClass", "scrollStrategy"], outputs: ["afterPickerClosed", "afterPickerOpen", "yearSelected", "monthSelected"], exportAs: ["owlDateTime"] }] });
|
|
4753
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: CustomDateComponent, selector: "app-custom-date", inputs: { date: "date", readOnly: "readOnly", error: "error", errorMessage: "errorMessage" }, outputs: { dateChange: "dateChange" }, usesOnChanges: true, ngImport: i0, template: "<!-- date component -->\n<!-- VD 12Jun24 - readonly change-->\n<!-- VD 01Aug24 - validation change-->\n<p>\n <input\n [class]=\"error ? 'invalid' : ''\"\n [(ngModel)]=\"dateSelected\"\n [owlDateTimeTrigger]=\"dt1\"\n [owlDateTime]=\"dt1\"\n [disabled]=\"readOnly\"\n placeholder=\"DD/MM/YYYY\"\n (input)=\"onDateChange($event)\"\n style=\"width: 100%; height: 35px; border: none; box-shadow: none; border-bottom: 1px solid #ccc;\"\n (dateTimeChange)=\"onDateChange($event)\"\n >\n <owl-date-time [pickerType]=\"'calendar'\" #dt1></owl-date-time>\n </p>\n <span *ngIf=\"error\" class=\"error-msg\">{{errorMessage}}</span>", styles: [".invalid{border-color:red!important}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4$2.OwlDateTimeTriggerDirective, selector: "[owlDateTimeTrigger]", inputs: ["disabled", "owlDateTimeTrigger"] }, { kind: "directive", type: i4$2.OwlDateTimeInputDirective, selector: "input[owlDateTime]", inputs: ["rangeSeparator", "owlDateTime", "owlDateTimeFilter", "min", "max", "selectMode", "value", "values", "_disabled"], outputs: ["dateTimeChange", "dateTimeInput"], exportAs: ["owlDateTimeInput"] }, { kind: "component", type: i4$2.OwlDateTimeComponent, selector: "owl-date-time", inputs: ["startAt", "pickerType", "pickerMode", "disabled", "opened", "backdropClass", "panelClass", "scrollStrategy"], outputs: ["afterPickerClosed", "afterPickerOpen", "yearSelected", "monthSelected"], exportAs: ["owlDateTime"] }] });
|
|
4713
4754
|
}
|
|
4714
4755
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CustomDateComponent, decorators: [{
|
|
4715
4756
|
type: Component,
|
|
@@ -4817,6 +4858,143 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
4817
4858
|
type: Output
|
|
4818
4859
|
}] } });
|
|
4819
4860
|
|
|
4861
|
+
class CustomImageComponent {
|
|
4862
|
+
alt;
|
|
4863
|
+
src;
|
|
4864
|
+
imageStyle;
|
|
4865
|
+
question;
|
|
4866
|
+
styles;
|
|
4867
|
+
constructor() { }
|
|
4868
|
+
ngOnInit() {
|
|
4869
|
+
// VD 03Aug24 style changes
|
|
4870
|
+
if (this.question) {
|
|
4871
|
+
this.imageStyle = this.question.SubTitle__c ? this.question.SubTitle__c : "height: 150px;width: 200px;";
|
|
4872
|
+
this.src = this.question.Title__c ? this.question.Title__c : "";
|
|
4873
|
+
this.alt = this.question.Help_Text__c ? this.question.Help_Text__c : "my image";
|
|
4874
|
+
}
|
|
4875
|
+
}
|
|
4876
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CustomImageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4877
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: CustomImageComponent, selector: "app-custom-image", inputs: { alt: "alt", src: "src", imageStyle: "imageStyle", question: "question" }, ngImport: i0, template: "<img src={{src}} alt={{alt}} style={{imageStyle}}>", styles: [""] });
|
|
4878
|
+
}
|
|
4879
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CustomImageComponent, decorators: [{
|
|
4880
|
+
type: Component,
|
|
4881
|
+
args: [{ selector: 'app-custom-image', template: "<img src={{src}} alt={{alt}} style={{imageStyle}}>" }]
|
|
4882
|
+
}], ctorParameters: function () { return []; }, propDecorators: { alt: [{
|
|
4883
|
+
type: Input
|
|
4884
|
+
}], src: [{
|
|
4885
|
+
type: Input
|
|
4886
|
+
}], imageStyle: [{
|
|
4887
|
+
type: Input
|
|
4888
|
+
}], question: [{
|
|
4889
|
+
type: Input
|
|
4890
|
+
}] } });
|
|
4891
|
+
|
|
4892
|
+
class CustomRadioComponent {
|
|
4893
|
+
changeService;
|
|
4894
|
+
dataService;
|
|
4895
|
+
i18nService;
|
|
4896
|
+
options = [];
|
|
4897
|
+
apiMeta;
|
|
4898
|
+
selectedValue;
|
|
4899
|
+
progressBar;
|
|
4900
|
+
id;
|
|
4901
|
+
readOnly = false;
|
|
4902
|
+
errorMessage;
|
|
4903
|
+
error;
|
|
4904
|
+
fromShengel = false;
|
|
4905
|
+
referenceField;
|
|
4906
|
+
token;
|
|
4907
|
+
valueChange = new EventEmitter();
|
|
4908
|
+
invalidFieldIds = [];
|
|
4909
|
+
labelField;
|
|
4910
|
+
valueField;
|
|
4911
|
+
subscription;
|
|
4912
|
+
constructor(changeService, dataService, i18nService) {
|
|
4913
|
+
this.changeService = changeService;
|
|
4914
|
+
this.dataService = dataService;
|
|
4915
|
+
this.i18nService = i18nService;
|
|
4916
|
+
this.changeService.submitValidate$.subscribe((data) => {
|
|
4917
|
+
this.invalidFieldIds.push(data);
|
|
4918
|
+
});
|
|
4919
|
+
}
|
|
4920
|
+
ngOnInit() {
|
|
4921
|
+
if (this.apiMeta !== undefined) {
|
|
4922
|
+
let apiObj = JSON.parse(this.apiMeta);
|
|
4923
|
+
this.labelField = apiObj.field;
|
|
4924
|
+
this.dataService.apiResponse(apiObj.endpoint)?.subscribe((apiResponse) => {
|
|
4925
|
+
let responses;
|
|
4926
|
+
if (apiObj.variable) {
|
|
4927
|
+
responses = this.dataService.getValue(apiResponse, apiObj.variable);
|
|
4928
|
+
let results = [];
|
|
4929
|
+
for (let i = 0; i < responses?.length; i++) {
|
|
4930
|
+
var resp = responses[i];
|
|
4931
|
+
results.push(resp);
|
|
4932
|
+
}
|
|
4933
|
+
this.options = results;
|
|
4934
|
+
}
|
|
4935
|
+
else {
|
|
4936
|
+
responses = apiResponse;
|
|
4937
|
+
this.options = responses;
|
|
4938
|
+
}
|
|
4939
|
+
});
|
|
4940
|
+
let sourceId = apiObj.sourceQuestionId;
|
|
4941
|
+
if (sourceId) {
|
|
4942
|
+
this.subscription = this.changeService.changeAnnounced$.subscribe((changeValue) => {
|
|
4943
|
+
if (changeValue != undefined) {
|
|
4944
|
+
if (changeValue.valueObj != undefined && changeValue.fromQuestionId == apiObj.sourceQuestionId) {
|
|
4945
|
+
this.selectedValue = changeValue.valueObj[apiObj.valueField];
|
|
4946
|
+
let value = {};
|
|
4947
|
+
value['name'] = this.selectedValue;
|
|
4948
|
+
this.radioChange(value);
|
|
4949
|
+
}
|
|
4950
|
+
this.changeService.confirmChange(apiObj.sourceQuestionId);
|
|
4951
|
+
}
|
|
4952
|
+
});
|
|
4953
|
+
}
|
|
4954
|
+
}
|
|
4955
|
+
}
|
|
4956
|
+
radioChange(event) {
|
|
4957
|
+
let change = new ChangeWrapper();
|
|
4958
|
+
change.fromQuestionId = this.id;
|
|
4959
|
+
change.valueObj = event.target?.id ? event.target?.id : '';
|
|
4960
|
+
change.selectedObj = event ? event[this.labelField] : '';
|
|
4961
|
+
this.valueChange.emit(change);
|
|
4962
|
+
if (event) {
|
|
4963
|
+
this.invalidFieldIds = [];
|
|
4964
|
+
}
|
|
4965
|
+
}
|
|
4966
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CustomRadioComponent, deps: [{ token: ChangeService }, { token: DataService }, { token: I18nService }], target: i0.ɵɵFactoryTarget.Component });
|
|
4967
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: CustomRadioComponent, selector: "app-custom-radio", inputs: { options: "options", apiMeta: "apiMeta", selectedValue: "selectedValue", progressBar: "progressBar", id: "id", readOnly: "readOnly", errorMessage: "errorMessage", error: "error", fromShengel: "fromShengel", referenceField: "referenceField", token: "token" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"custom-radio-container\">\n <div\n *ngFor=\"let option of options\"\n [class]=\"invalidFieldIds.includes(id) || error ? 'custom-radio-option invalid' : 'custom-radio-option'\"\n >\n <input\n type=\"radio\"\n [id]=\"apiMeta !== undefined ? option[labelField] : option.Value__c \"\n [checked] = \"selectedValue == option.Value__c \"\n [name]=\"id\"\n [value]=\"selectedValue\"\n (change)=\"radioChange($event)\"\n [disabled]=\"readOnly\"\n />\n <label [for]=\"apiMeta !== undefined ? option[labelField] : option.Value__c\">{{ apiMeta !== undefined ? option[labelField] : option.Value__c }}</label>\n </div>\n <span *ngIf=\"error || invalidFieldIds.includes(id)\" class=\"error-msg\">{{ errorMessage }}</span>\n </div>\n ", styles: [".custom-radio-option{display:flex;flex-direction:row;margin-bottom:5px}input[type=radio]{margin-bottom:5px;width:auto}label{margin-left:15px}.custom-radio-option.invalid label{color:red}.error-msg{color:red;font-size:12px;margin-top:5px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
4968
|
+
}
|
|
4969
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CustomRadioComponent, decorators: [{
|
|
4970
|
+
type: Component,
|
|
4971
|
+
args: [{ selector: 'app-custom-radio', template: "<div class=\"custom-radio-container\">\n <div\n *ngFor=\"let option of options\"\n [class]=\"invalidFieldIds.includes(id) || error ? 'custom-radio-option invalid' : 'custom-radio-option'\"\n >\n <input\n type=\"radio\"\n [id]=\"apiMeta !== undefined ? option[labelField] : option.Value__c \"\n [checked] = \"selectedValue == option.Value__c \"\n [name]=\"id\"\n [value]=\"selectedValue\"\n (change)=\"radioChange($event)\"\n [disabled]=\"readOnly\"\n />\n <label [for]=\"apiMeta !== undefined ? option[labelField] : option.Value__c\">{{ apiMeta !== undefined ? option[labelField] : option.Value__c }}</label>\n </div>\n <span *ngIf=\"error || invalidFieldIds.includes(id)\" class=\"error-msg\">{{ errorMessage }}</span>\n </div>\n ", styles: [".custom-radio-option{display:flex;flex-direction:row;margin-bottom:5px}input[type=radio]{margin-bottom:5px;width:auto}label{margin-left:15px}.custom-radio-option.invalid label{color:red}.error-msg{color:red;font-size:12px;margin-top:5px}\n"] }]
|
|
4972
|
+
}], ctorParameters: function () { return [{ type: ChangeService }, { type: DataService }, { type: I18nService }]; }, propDecorators: { options: [{
|
|
4973
|
+
type: Input
|
|
4974
|
+
}], apiMeta: [{
|
|
4975
|
+
type: Input
|
|
4976
|
+
}], selectedValue: [{
|
|
4977
|
+
type: Input
|
|
4978
|
+
}], progressBar: [{
|
|
4979
|
+
type: Input
|
|
4980
|
+
}], id: [{
|
|
4981
|
+
type: Input
|
|
4982
|
+
}], readOnly: [{
|
|
4983
|
+
type: Input
|
|
4984
|
+
}], errorMessage: [{
|
|
4985
|
+
type: Input
|
|
4986
|
+
}], error: [{
|
|
4987
|
+
type: Input
|
|
4988
|
+
}], fromShengel: [{
|
|
4989
|
+
type: Input
|
|
4990
|
+
}], referenceField: [{
|
|
4991
|
+
type: Input
|
|
4992
|
+
}], token: [{
|
|
4993
|
+
type: Input
|
|
4994
|
+
}], valueChange: [{
|
|
4995
|
+
type: Output
|
|
4996
|
+
}] } });
|
|
4997
|
+
|
|
4820
4998
|
class QuestionbookComponent {
|
|
4821
4999
|
sfService;
|
|
4822
5000
|
dataService;
|
|
@@ -4842,6 +5020,7 @@ class QuestionbookComponent {
|
|
|
4842
5020
|
style;
|
|
4843
5021
|
langDirection = 'ltr';
|
|
4844
5022
|
bookStyle;
|
|
5023
|
+
subscription;
|
|
4845
5024
|
hadleDropDownDependent = new EventEmitter();
|
|
4846
5025
|
bookQuestionsMap = new Map();
|
|
4847
5026
|
constructor(sfService, dataService, changeService, storageService, i18nService, document) {
|
|
@@ -4863,6 +5042,7 @@ class QuestionbookComponent {
|
|
|
4863
5042
|
this.qbItem.Style__c = typeof this.qbItem.Style__c === 'string' ? JSON.parse('' + this.qbItem?.Style__c) : this.qbItem.Style__c;
|
|
4864
5043
|
this.qbItem.Style__c.labelClass = this.qbItem.Style__c?.labelClass ? this.qbItem.Style__c?.labelClass : "";
|
|
4865
5044
|
this.qbItem.Style__c.labelStyle = this.qbItem.Style__c?.labelStyle ? this.qbItem.Style__c?.labelStyle : "";
|
|
5045
|
+
this.qbItem.Style__c.labelValueStyle = this.qbItem.Style__c?.labelValueStyle ? this.qbItem.Style__c?.labelValueStyle : "";
|
|
4866
5046
|
this.qbItem.Style__c.inputClass = this.qbItem.Style__c?.inputClass ? this.qbItem.Style__c?.inputClass : "";
|
|
4867
5047
|
this.qbItem.Style__c.inputStyle = this.qbItem.Style__c.inputStyle ? this.qbItem.Style__c?.inputStyle : "";
|
|
4868
5048
|
this.qbItem.Style__c.bookStyle = this.qbItem.Style__c?.bookStyle ? this.qbItem.Style__c?.bookStyle : "";
|
|
@@ -4873,6 +5053,7 @@ class QuestionbookComponent {
|
|
|
4873
5053
|
this.qbItem.Style__c = {
|
|
4874
5054
|
"labelClass": "",
|
|
4875
5055
|
"labelStyle": "",
|
|
5056
|
+
"labelValueStyle": "",
|
|
4876
5057
|
"inputClass": "",
|
|
4877
5058
|
"inputStyle": "",
|
|
4878
5059
|
"bookStyle": "",
|
|
@@ -4903,6 +5084,7 @@ class QuestionbookComponent {
|
|
|
4903
5084
|
// Book type question styling
|
|
4904
5085
|
qb['questionbook'].Style__c.labelClass = qb['questionbook'].Style__c.labelClass ? qb['questionbook'].Style__c.labelClass : "";
|
|
4905
5086
|
qb['questionbook'].Style__c.labelStyle = qb['questionbook'].Style__c.labelStyle ? qb['questionbook'].Style__c.labelStyle : "";
|
|
5087
|
+
qb['questionbook'].Style__c.labelValueStyle = qb['questionbook'].Style__c.labelValueStyle ? qb['questionbook'].Style__c.labelValueStyle : "";
|
|
4906
5088
|
qb['questionbook'].Style__c.inputClass = qb['questionbook'].Style__c.inputClass ? qb['questionbook'].Style__c.inputClass : "";
|
|
4907
5089
|
qb['questionbook'].Style__c.inputStyle = qb['questionbook'].Style__c.inputStyle ? qb['questionbook'].Style__c.inputStyle : "";
|
|
4908
5090
|
qb['questionbook'].Style__c.bookStyle = qb['questionbook'].Style__c.bookStyle ? qb['questionbook'].Style__c.bookStyle : "";
|
|
@@ -4914,6 +5096,7 @@ class QuestionbookComponent {
|
|
|
4914
5096
|
questionFromBook.Style__c = questionFromBook.Style__c ? questionFromBook.Style__c : qb['questionbook'].Style__c;
|
|
4915
5097
|
questionFromBook.Style__c.labelClass = questionFromBook.Style__c.labelClass ? questionFromBook.Style__c.labelClass : "";
|
|
4916
5098
|
questionFromBook.Style__c.labelStyle = questionFromBook.Style__c.labelStyle ? questionFromBook.Style__c.labelStyle : "";
|
|
5099
|
+
questionFromBook.Style__c.labelValueStyle = questionFromBook.Style__c.labelValueStyle ? questionFromBook.Style__c.labelValueStyle : "";
|
|
4917
5100
|
questionFromBook.Style__c.inputClass = questionFromBook.Style__c.inputClass ? questionFromBook.Style__c.inputClass : "";
|
|
4918
5101
|
questionFromBook.Style__c.inputStyle = questionFromBook.Style__c.inputStyle ? questionFromBook.Style__c.inputStyle : "";
|
|
4919
5102
|
questionFromBook.Style__c.bookStyle = questionFromBook.Style__c.bookStyle ? questionFromBook.Style__c.bookStyle : "";
|
|
@@ -4927,12 +5110,34 @@ class QuestionbookComponent {
|
|
|
4927
5110
|
element.Style__c = element.Style__c ? typeof element.Style__c === 'string' ? JSON.parse('' + element?.Style__c) : element?.Style__c : this.qbItem?.Style__c;
|
|
4928
5111
|
element.Style__c.labelClass = element.Style__c.labelClass ? element.Style__c.labelClass : "";
|
|
4929
5112
|
element.Style__c.labelStyle = element.Style__c.labelStyle ? element.Style__c.labelStyle : "";
|
|
5113
|
+
element.Style__c.labelValueStyle = element.Style__c.labelValueStyle ? element.Style__c.labelValueStyle : "";
|
|
4930
5114
|
element.Style__c.inputClass = element.Style__c.inputClass ? element.Style__c.inputClass : "";
|
|
4931
5115
|
element.Style__c.inputStyle = element.Style__c.inputStyle ? element.Style__c.inputStyle : "";
|
|
4932
5116
|
element.Style__c.bookStyle = element.Style__c.bookStyle ? element.Style__c.bookStyle : "";
|
|
4933
|
-
element.Style__c.showLabel = element.Style__c.showLabel ?
|
|
5117
|
+
element.Style__c.showLabel = element.Style__c.showLabel ? true : false;
|
|
4934
5118
|
element.Style__c.questionStyle = element.Style__c.questionStyle ? element.Style__c.questionStyle : "";
|
|
4935
5119
|
element['langDirection'] = element.Style__c.direction ? element.Style__c.direction : this.langDirection;
|
|
5120
|
+
//VD 02Aug24 dependent field show/hide changes
|
|
5121
|
+
if (element.Sub_Text__c) {
|
|
5122
|
+
let dependencyObj = JSON.parse(element.Sub_Text__c);
|
|
5123
|
+
if (dependencyObj.isDependentField) {
|
|
5124
|
+
element.Is_Hide__c = true;
|
|
5125
|
+
}
|
|
5126
|
+
this.subscription = this.changeService.changeAnnounced$.subscribe((changeValue) => {
|
|
5127
|
+
if (changeValue != undefined) {
|
|
5128
|
+
// console.log('inside subscription for the change');
|
|
5129
|
+
if (changeValue.valueObj != undefined && changeValue.fromQuestionId == dependencyObj.sourceQuestionId) {
|
|
5130
|
+
console.log('outside-->', element.Is_Hide__c);
|
|
5131
|
+
if (dependencyObj.dependentValue == changeValue.valueObj) {
|
|
5132
|
+
element.Is_Hide__c = false;
|
|
5133
|
+
}
|
|
5134
|
+
else {
|
|
5135
|
+
element.Is_Hide__c = true;
|
|
5136
|
+
}
|
|
5137
|
+
}
|
|
5138
|
+
}
|
|
5139
|
+
});
|
|
5140
|
+
}
|
|
4936
5141
|
});
|
|
4937
5142
|
this.subQuestions = [];
|
|
4938
5143
|
this.setSubQuestions(this.questions);
|
|
@@ -4971,10 +5176,11 @@ class QuestionbookComponent {
|
|
|
4971
5176
|
console.log(event);
|
|
4972
5177
|
this.changeService.announceChange(event);
|
|
4973
5178
|
// Process the changes in Table and Dropdown and store right value in ques.input
|
|
4974
|
-
if (ques.Type__c == 'Dropdown') {
|
|
5179
|
+
if (ques.Type__c == 'Dropdown' || ques.Type__c == 'Radio') {
|
|
4975
5180
|
// HA 19JAN24 Correction of dropdown values
|
|
4976
5181
|
ques.selectedObj = event.valueObj ? event.valueObj : null;
|
|
4977
5182
|
ques.input = event.selectedObj ? event.selectedObj : event.valueObj;
|
|
5183
|
+
ques.selectedValue = event.valueObj ? event.valueObj : null;
|
|
4978
5184
|
// emit the dropdown data to parent
|
|
4979
5185
|
dropdownData['event'] = event.valueObj;
|
|
4980
5186
|
dropdownData['ques'] = ques;
|
|
@@ -5022,11 +5228,11 @@ class QuestionbookComponent {
|
|
|
5022
5228
|
this.hadleDropDownDependent.emit(event);
|
|
5023
5229
|
}
|
|
5024
5230
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: QuestionbookComponent, deps: [{ token: SalesforceService }, { token: DataService }, { token: ChangeService }, { token: StorageService }, { token: I18nService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
|
|
5025
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: QuestionbookComponent, selector: "lib-questionbook", inputs: { qbItem: "qbItem", questionItem: "questionItem", translatedQuestions: "translatedQuestions", questions: "questions", errorFieldId: "errorFieldId", labelValue: "labelValue", token: "token", dropDownData: "dropDownData" }, outputs: { handleDropDown: "handleDropDown", handleQuestion: "handleQuestion", hadleDropDownDependent: "hadleDropDownDependent" }, ngImport: i0, template: "<!-- HA 20DEC23 Book Style from salesforce -->\n<!-- HA 28DEC23 Removed IsShengel(removal of shengel values applies for this reason) and direct styling of books to avoid styling issues-->\n<!-- HA 18JAN24 Added class for styling -->\n<div [style]=\"bookStyle\" class=\"content-box form-group\">\n <div class=\"form-row\">\n <!-- HA 20DEC23 Directive and Question Style from salesforce -->\n <div\n [class]=\"'col-lg-' + ques.Size__c + ' paddingnone'\"\n *ngFor=\"let ques of questions;let i = index\" [id]=\"ques.Id\" [dir]=\"ques.langDirection\" [style]=\"ques?.Style__c?.questionStyle\">\n <!-- Sub Question Label -->\n <!-- HA 20DEC23 Label Style from salesforce -->\n <!-- VD 09May24 is hide field change-->\n <div *ngIf=\"!ques.Is_Hide__c\">\n <div *ngIf=\"ques.Type__c === 'DateTime'\">\n\n </div>\n <!-- VD 20JUN24 - help text changes-->\n <!-- VD 01Aug24 - validation change-->\n <div [ngClass]=\"{ down2: qbItem?.Progress_Bar__c }\" *ngIf=\"ques.Style__c.showLabel\" [style]=\"ques.Style__c.labelStyle\">\n <span [class]=\"'dis-flex shengel-myt-font3 myt-font7 '\">{{ ques?.Question_Text__c }} \n <div *ngIf=\"ques.Is_Optional__c\" style=\"color: red;\">*</div>\n <div *ngIf=\"ques.Question_Text__c && ques?.Help_Text__c\" class=\"icon\" [matTooltip]=\"ques?.Help_Text__c\">i</div></span>\n </div>\n <!-- // VD 12Jun24 - readonly change-->\n <!-- DateTime -->\n <div *ngIf=\"ques.Type__c === 'DateTime'\">\n <app-custom-date-picker [minDate]=\"ques.minDate\" [error]=\"ques.error\" [errorMessage]=\"ques.Error_Message__c\" [readOnly]=\"ques.Read_Only__c\" [date]=\"ques.input\" (dateChange)=\"childEventCapture($event, ques)\">\n </app-custom-date-picker>\n </div>\n\n <!-- Date-->\n <div *ngIf=\"ques.Type__c === 'Date'\">\n <app-custom-date [date]=\"ques.input\" [error]=\"ques.error\" [errorMessage]=\"ques.Error_Message__c\" [readOnly]=\"ques.Read_Only__c\" (dateChange)=\"childEventCapture($event, ques)\">\n </app-custom-date>\n </div>\n\n <!-- Time-->\n <div *ngIf=\"ques.Type__c === 'Time'\">\n <app-custom-time [time]=\"ques.input\" [error]=\"ques.error\" [errorMessage]=\"ques.Error_Message__c\" [readOnly]=\"ques.Read_Only__c\" (timeChange)=\"childEventCapture($event, ques)\">\n </app-custom-time>\n </div>\n <!-- calendar -->\n <div *ngIf=\"ques.Type__c === 'Calendar'\">\n <app-custom-calendar [question]=\"ques\" (eventSelected)=\"childEventCapture($event, ques)\"></app-custom-calendar>\n </div>\n\n <!-- Text -->\n <div *ngIf=\"ques.Type__c === 'Text'\">\n <app-custom-input [value]=\"ques.input\" [ngClassValue]=\"{\n 'dis-flex dt-line date-line bookText boxoutline myt-font1': qbItem.Progress_Bar__c,\n textBox: !qbItem.Progress_Bar__c\n }\" [question]=\"ques\" [readOnly]=\"ques.Read_Only__c\" [idValue]=\"ques.Tracking_ID__c\" [focusEvent]=\"clearSQError(ques.Id)\"\n [error]=\"ques.error\" [placeholder]=\"ques.Question__c\" (inputValue)=\"childEventCapture($event, ques)\">\n </app-custom-input>\n </div>\n \n <!-- for pick location -->\n <!-- VD 21DEC23 - dependent field change -->\n <div *ngIf=\"ques.Type__c === 'Location'\">\n <!-- HA10012024 Added Api key as input -->\n <app-pick-location [apiKey]=\"qbItem['Api_Key__c']\" [address]=\"ques.selectedValue\" [question]=\"ques\" (locationSelected)=\"childEventCapture($event, ques)\">\n </app-pick-location>\n </div>\n\n <!-- for text area -->\n <div *ngIf=\"ques.Type__c === 'TextArea'\">\n <app-custom-text-area [question]=\"ques\" [readOnly]=\"ques.Read_Only__c\" [value]=\"ques.input\" [rows]=\"3\" [error]=\"ques.error\" [placeholder]=\"ques.Question__c \"\n (textareaValueChange)=\"childEventCapture($event, ques)\"></app-custom-text-area>\n </div>\n\n <!-- Email -->\n <div *ngIf=\"ques.Type__c === 'Email'\">\n <input type=\"email\" readOnly=\"ques.Read_Only__c\" [(ngModel)]=\"ques.input\" [id]=\"ques.Id\" required=\"\" (focus)=\"clearSQError(ques.Id)\"\n style.border-color=\"{{ ques.error ? 'red' : '' }}\" placeholder=\"{{ ques.Question__c }}\" />\n </div>\n\n <!-- Table -->\n <div *ngIf=\"ques.Type__c === 'Table'\" class=\"\">\n <app-custom-table [question]=\"ques\" [apiMeta]=\"ques.Sub_Text__c\" (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.Id)\">\n </app-custom-table>\n </div>\n\n <!-- Table Appendix -->\n <div *ngIf=\"ques.Type__c === 'TableAppendix'\" class=\"\">\n <app-table-appendix [question]=\"ques\" (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.Id)\">\n </app-table-appendix>\n </div>\n <!-- list -->\n <div *ngIf=\"ques.Type__c === 'List'\" class=\"\">\n <lib-search-box [question]=\"ques\" [readOnly]=\"ques.Read_Only__c\" [apiMeta]=\"ques.Sub_Text__c\" [id]=\"ques.Id\" [placeHolderText]=\"ques.Question__c\" [selectedValue]=\"ques.input\" (searchValueChange)=\"childEventCapture($event, ques)\">\n </lib-search-box>\n </div>\n\n <!-- Dropdown -->\n <!-- HA 09FEB24 Added condition of sqOption to the dropdown -->\n <div *ngIf=\"ques.Type__c === 'Dropdown' && ques?.Question_Options__r?.records\" class=\"\">\n <!-- HA 20DEC23 For Translation --> <!-- VD 19JAN24 - getting token as input -->\n <app-custom-dropdown [options]=\"ques.Question_Options__r.records\" [token]=\"token\"\n [apiMeta]=\"ques.Sub_Text__c\" [id]=\"ques.Id\" [selectedValue]=\"ques.selectedValue\" placeholder=\"---{{'select' | i18n:i18nService.currentLanguage}}---\"\n [errorMessage]=\"ques.Error_Message__c\" [error]=\"ques.error\"\n [referenceField]=\"ques.Reference_Field__c\"\n [readOnly]=\"ques.Read_Only__c\"\n (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.Id)\">\n </app-custom-dropdown>\n <i class=\"fa fa-check \" aria-hidden=\"true\" *ngIf=\"ques?.input?.length > 0\"></i>\n </div>\n\n <!-- Attachment / Files -->\n <div *ngIf=\"ques.Type__c === 'File'\" class=\"\">\n <app-file-upload [limitFileUploading]=\"5\" [error]=\"ques.error\" [question]=\"ques\" [allFiles]=\"ques.input\" [tableFile]=\"false\"\n (selectedFileData)=\"childEventCapture($event, ques)\" (deletedFileData)=\"deleteFile($event)\"\n [isDeleteFileButtonVisible]=\"true\"></app-file-upload>\n </div>\n <div *ngIf=\"ques.Type__c === 'PopUpMessage'\" class=\"\">\n <app-dependent-table [alertMessage]=\"ques.Error_Message__c\">\n </app-dependent-table>\n </div>\n <div *ngIf=\"ques.Type__c === 'Label'\" class=\"\">\n <app-custom-label [labelValue]=\"labelValue\">\n </app-custom-label>\n </div>\n <!-- 08NOV23 - button type question added -->\n <!-- Button -->\n <div *ngIf=\"ques.Type__c === 'Button'\" class=\"\">\n <app-custom-button [height]=\"'50px'\" \n [width]=\"'150px'\" \n [buttonText]=\"ques?.Question__c\"\n [value]=\"ques?.Question__c\"\n (buttonValue)=\"childEventCapture($event, ques)\"\n >\n </app-custom-button>\n </div>\n <!-- HA 20DEC23 This is to load book type questions-->\n <div *ngIf=\"ques.Type__c === 'Book'\">\n <!-- HA 09FEB24 Added ternary operator -->\n <lib-questionbook [qbItem]=\"ques.qbItem\" [labelValue]=\"labelValue\" [questions]=\"ques.qbItem?.Questions__r?.records\" (handleDropDown)=\"getDropDown($event)\"></lib-questionbook>\n </div>\n </div>\n </div>\n </div>", styles: [".col-lg-6{width:100%}.myt-font7{display:flex;justify-content:flex-start;align-items:center}.icon{display:inline-block;width:15px;height:15px;border-radius:50%;background-color:#08010177;color:#fff;text-align:center;line-height:16px;font-size:11px;font-family:Arial,sans-serif;font-weight:700;margin-left:5px}@media (min-width: 1200px){.col-lg-6{width:50%!important}.form-row{display:flex;flex-wrap:wrap}}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i8$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i9.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: PickLocationComponent, selector: "app-pick-location", inputs: ["address", "question", "apiKey"], outputs: ["locationSelected"] }, { kind: "component", type: CustomInputComponent, selector: "app-custom-input", inputs: ["value", "question", "disabled", "placeholder", "error", "fromShengel", "readOnly", "ngClassValue", "idValue", "focusEvent"], outputs: ["inputValue"] }, { kind: "component", type: CustomTextAreaComponent, selector: "app-custom-text-area", inputs: ["value", "placeholder", "rows", "error", "question", "readOnly"], outputs: ["textareaValueChange"] }, { kind: "component", type: CustomTableComponent, selector: "app-custom-table", inputs: ["question", "apiMeta"], outputs: ["valueChange"] }, { kind: "component", type: CustomCalendarComponent, selector: "app-custom-calendar", inputs: ["allEvents", "question"], outputs: ["eventSelected"] }, { kind: "component", type: CustomDatePickerComponent, selector: "app-custom-date-picker", inputs: ["date", "minDate", "maxDate", "error", "errorMessage", "readOnly"], outputs: ["dateChange"] }, { kind: "component", type: CustomDropdownComponent, selector: "app-custom-dropdown", inputs: ["options", "placeholder", "apiMeta", "selectedValue", "progressBar", "id", "readOnly", "errorMessage", "error", "fromShengel", "referenceField", "token"], outputs: ["valueChange"] }, { kind: "component", type: SearchBoxComponent, selector: "lib-search-box", inputs: ["placeHolderText", "question", "apiMeta", "id", "readOnly"], outputs: ["searchValueChange"] }, { kind: "component", type: QuestionbookComponent, selector: "lib-questionbook", inputs: ["qbItem", "questionItem", "translatedQuestions", "questions", "errorFieldId", "labelValue", "token", "dropDownData"], outputs: ["handleDropDown", "handleQuestion", "hadleDropDownDependent"] }, { kind: "component", type: FileUploadComponent, selector: "app-file-upload", inputs: ["allFiles", "limitFileUploading", "isDeleteFileButtonVisible", "isShowNoFileIcon", "tableFile", "question", "error"], outputs: ["selectedFileData", "deletedFileData"] }, { kind: "component", type: DependentTableComponent, selector: "app-dependent-table", inputs: ["alertMessage"] }, { kind: "component", type: CustomLabelComponent, selector: "app-custom-label", inputs: ["labelValue"] }, { kind: "component", type: TableAppendixComponent, selector: "app-table-appendix", inputs: ["question"], outputs: ["valueChange"] }, { kind: "component", type: CustomDateComponent, selector: "app-custom-date", inputs: ["date", "readOnly", "error", "errorMessage"], outputs: ["dateChange"] }, { kind: "component", type: CustomTimeComponent, selector: "app-custom-time", inputs: ["time", "readOnly", "error", "errorMessage"], outputs: ["timeChange"] }, { kind: "component", type: CustomButtonComponent, selector: "app-custom-button", inputs: ["height", "width", "textColor", "buttonText", "value", "backgroundColor"], outputs: ["buttonValue"] }, { kind: "pipe", type: I18nPipe, name: "i18n" }] });
|
|
5231
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: QuestionbookComponent, selector: "lib-questionbook", inputs: { qbItem: "qbItem", questionItem: "questionItem", translatedQuestions: "translatedQuestions", questions: "questions", errorFieldId: "errorFieldId", labelValue: "labelValue", token: "token", dropDownData: "dropDownData" }, outputs: { handleDropDown: "handleDropDown", handleQuestion: "handleQuestion", hadleDropDownDependent: "hadleDropDownDependent" }, ngImport: i0, template: "<!-- HA 20DEC23 Book Style from salesforce -->\n<!-- HA 28DEC23 Removed IsShengel(removal of shengel values applies for this reason) and direct styling of books to avoid styling issues-->\n<!-- HA 18JAN24 Added class for styling -->\n<div [style]=\"bookStyle\" class=\"content-box form-group\">\n <div class=\"form-row\">\n <!-- HA 20DEC23 Directive and Question Style from salesforce -->\n <div\n [class]=\"'col-lg-' + ques.Size__c + ' paddingnone'\"\n *ngFor=\"let ques of questions;let i = index\" [id]=\"ques.Id\" [dir]=\"ques.langDirection\" [style]=\"ques?.Style__c?.questionStyle\">\n <!-- Sub Question Label -->\n <!-- HA 20DEC23 Label Style from salesforce -->\n <!-- VD 09May24 is hide field change-->\n <div *ngIf=\"!ques.Is_Hide__c\">\n <div *ngIf=\"ques.Type__c === 'DateTime'\">\n\n </div>\n <!-- VD 20JUN24 - help text changes-->\n <!-- VD 01Aug24 - validation change-->\n <!-- // VD 02Aug24 - label value style-->\n <div [ngClass]=\"{ down2: qbItem?.Progress_Bar__c }\" *ngIf=\"ques.Style__c.showLabel\" [style]=\"ques.Style__c.labelStyle\">\n <span [class]=\"'dis-flex shengel-myt-font3 myt-font7 '\" [style]=\"ques.Style__c.labelValueStyle\">{{ ques?.Question_Text__c }} \n <div *ngIf=\"ques.Is_Optional__c\" style=\"color: red;\">*</div>\n <div *ngIf=\"ques.Question_Text__c && ques?.Help_Text__c\" class=\"icon\" [matTooltip]=\"ques?.Help_Text__c\">i</div></span>\n </div>\n <!-- // VD 12Jun24 - readonly change-->\n <!-- DateTime -->\n <div *ngIf=\"ques.Type__c === 'DateTime'\">\n <app-custom-date-picker [minDate]=\"ques.minDate\" [error]=\"ques.error\" [errorMessage]=\"ques.Error_Message__c\" [readOnly]=\"ques.Read_Only__c\" [date]=\"ques.input\" (dateChange)=\"childEventCapture($event, ques)\">\n </app-custom-date-picker>\n </div>\n\n <!-- Date-->\n <div *ngIf=\"ques.Type__c === 'Date'\">\n <app-custom-date [date]=\"ques.input\" [error]=\"ques.error\" [errorMessage]=\"ques.Error_Message__c\" [readOnly]=\"ques.Read_Only__c\" (dateChange)=\"childEventCapture($event, ques)\">\n </app-custom-date>\n </div>\n\n <!-- Time-->\n <div *ngIf=\"ques.Type__c === 'Time'\">\n <app-custom-time [time]=\"ques.input\" [error]=\"ques.error\" [errorMessage]=\"ques.Error_Message__c\" [readOnly]=\"ques.Read_Only__c\" (timeChange)=\"childEventCapture($event, ques)\">\n </app-custom-time>\n </div>\n <!-- calendar -->\n <div *ngIf=\"ques.Type__c === 'Calendar'\">\n <app-custom-calendar [question]=\"ques\" (eventSelected)=\"childEventCapture($event, ques)\"></app-custom-calendar>\n </div>\n\n <!-- Text -->\n <div *ngIf=\"ques.Type__c === 'Text'\">\n <app-custom-input [value]=\"ques.input\" [ngClassValue]=\"{\n 'dis-flex dt-line date-line bookText boxoutline myt-font1': qbItem.Progress_Bar__c,\n textBox: !qbItem.Progress_Bar__c\n }\" [question]=\"ques\" [readOnly]=\"ques.Read_Only__c\" [idValue]=\"ques.Tracking_ID__c\" [focusEvent]=\"clearSQError(ques.Id)\"\n [error]=\"ques.error\" [placeholder]=\"ques.Question__c\" (inputValue)=\"childEventCapture($event, ques)\">\n </app-custom-input>\n </div>\n \n <!-- for pick location -->\n <!-- VD 21DEC23 - dependent field change -->\n <div *ngIf=\"ques.Type__c === 'Location'\">\n <!-- HA10012024 Added Api key as input -->\n <app-pick-location [apiKey]=\"qbItem['Api_Key__c']\" [address]=\"ques.selectedValue\" [question]=\"ques\" (locationSelected)=\"childEventCapture($event, ques)\">\n </app-pick-location>\n </div>\n\n <!-- for text area -->\n <div *ngIf=\"ques.Type__c === 'TextArea'\">\n <app-custom-text-area [question]=\"ques\" [readOnly]=\"ques.Read_Only__c\" [value]=\"ques.input\" [rows]=\"3\" [error]=\"ques.error\" [placeholder]=\"ques.Question__c \"\n (textareaValueChange)=\"childEventCapture($event, ques)\"></app-custom-text-area>\n </div>\n\n <!-- Email -->\n <div *ngIf=\"ques.Type__c === 'Email'\">\n <input type=\"email\" readOnly=\"ques.Read_Only__c\" [(ngModel)]=\"ques.input\" [id]=\"ques.Id\" required=\"\" (focus)=\"clearSQError(ques.Id)\"\n style.border-color=\"{{ ques.error ? 'red' : '' }}\" placeholder=\"{{ ques.Question__c }}\" />\n </div>\n\n <!-- Table -->\n <div *ngIf=\"ques.Type__c === 'Table'\" class=\"\">\n <app-custom-table [question]=\"ques\" [apiMeta]=\"ques.Sub_Text__c\" (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.Id)\">\n </app-custom-table>\n </div>\n\n <!-- Table Appendix -->\n <div *ngIf=\"ques.Type__c === 'TableAppendix'\" class=\"\">\n <app-table-appendix [question]=\"ques\" (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.Id)\">\n </app-table-appendix>\n </div>\n <!-- list -->\n <div *ngIf=\"ques.Type__c === 'List'\" class=\"\">\n <lib-search-box [question]=\"ques\" [readOnly]=\"ques.Read_Only__c\" [apiMeta]=\"ques.Sub_Text__c\" [id]=\"ques.Id\" [placeHolderText]=\"ques.Question__c\" [selectedValue]=\"ques.input\" (searchValueChange)=\"childEventCapture($event, ques)\">\n </lib-search-box>\n </div>\n\n <!-- Dropdown -->\n <!-- HA 09FEB24 Added condition of sqOption to the dropdown -->\n <div *ngIf=\"ques.Type__c === 'Dropdown' && ques?.Question_Options__r?.records\" class=\"\">\n <!-- HA 20DEC23 For Translation --> <!-- VD 19JAN24 - getting token as input -->\n <app-custom-dropdown [options]=\"ques.Question_Options__r.records\" [token]=\"token\"\n [apiMeta]=\"ques.Sub_Text__c\" [id]=\"ques.Id\" [selectedValue]=\"ques.selectedValue\" placeholder=\"---{{'select' | i18n:i18nService.currentLanguage}}---\"\n [errorMessage]=\"ques.Error_Message__c\" [error]=\"ques.error\"\n [referenceField]=\"ques.Reference_Field__c\"\n [readOnly]=\"ques.Read_Only__c\"\n (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.Id)\">\n </app-custom-dropdown>\n <i class=\"fa fa-check \" aria-hidden=\"true\" *ngIf=\"ques?.input?.length > 0\"></i>\n </div>\n <!-- // VD 02Aug24 custom-radio component -->\n <div *ngIf=\"ques.Type__c === 'Radio' && ques?.Question_Options__r?.records\" class=\"\">\n <app-custom-radio [options]=\"ques.Question_Options__r.records\" [token]=\"token\"\n [apiMeta]=\"ques.Sub_Text__c\" [id]=\"ques.Id\" [selectedValue]=\"ques.selectedValue\"\n [errorMessage]=\"ques.Error_Message__c\" [error]=\"ques.error\"\n [referenceField]=\"ques.Reference_Field__c\"\n [readOnly]=\"ques.Read_Only__c\"\n (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.Id)\">\n </app-custom-radio>\n </div>\n\n <!-- Attachment / Files -->\n <div *ngIf=\"ques.Type__c === 'File'\" class=\"\">\n <app-file-upload [limitFileUploading]=\"5\" [error]=\"ques.error\" [question]=\"ques\" [allFiles]=\"ques.input\" [tableFile]=\"false\"\n (selectedFileData)=\"childEventCapture($event, ques)\" (deletedFileData)=\"deleteFile($event)\"\n [isDeleteFileButtonVisible]=\"true\"></app-file-upload>\n </div>\n <div *ngIf=\"ques.Type__c === 'PopUpMessage'\" class=\"\">\n <app-dependent-table [alertMessage]=\"ques.Error_Message__c\">\n </app-dependent-table>\n </div>\n <div *ngIf=\"ques.Type__c === 'Label'\" class=\"\">\n <app-custom-label [labelStyle]=\"ques.Title__c\" [labelValue]=\"ques.Question__c\">\n </app-custom-label>\n </div>\n <!-- // VD 02Aug24 image component -->\n <div *ngIf=\"ques.Type__c === 'Image'\" class=\"\">\n <app-custom-image [question]=\"ques\">\n </app-custom-image>\n </div>\n <!-- 08NOV23 - button type question added -->\n <!-- Button -->\n <div *ngIf=\"ques.Type__c === 'Button'\" class=\"\">\n <app-custom-button [height]=\"'50px'\" \n [width]=\"'150px'\" \n [buttonText]=\"ques?.Question__c\"\n [value]=\"ques?.Question__c\"\n (buttonValue)=\"childEventCapture($event, ques)\"\n >\n </app-custom-button>\n </div>\n <!-- HA 20DEC23 This is to load book type questions-->\n <div *ngIf=\"ques.Type__c === 'Book'\">\n <!-- HA 09FEB24 Added ternary operator -->\n <lib-questionbook [qbItem]=\"ques.qbItem\" [labelValue]=\"labelValue\" [questions]=\"ques.qbItem?.Questions__r?.records\" (handleDropDown)=\"getDropDown($event)\"></lib-questionbook>\n </div>\n </div>\n </div>\n </div>", styles: [".col-lg-6{width:100%}.myt-font7{display:flex;justify-content:flex-start;align-items:center}.icon{display:inline-block;width:15px;height:15px;border-radius:50%;background-color:#08010177;color:#fff;text-align:center;line-height:16px;font-size:11px;font-family:Arial,sans-serif;font-weight:700;margin-left:5px}@media (min-width: 1200px){.col-lg-6{width:50%!important}.form-row{display:flex;flex-wrap:wrap}}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i8$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i9.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: PickLocationComponent, selector: "app-pick-location", inputs: ["address", "question", "apiKey"], outputs: ["locationSelected"] }, { kind: "component", type: CustomInputComponent, selector: "app-custom-input", inputs: ["value", "question", "disabled", "placeholder", "error", "fromShengel", "readOnly", "ngClassValue", "idValue", "focusEvent"], outputs: ["inputValue"] }, { kind: "component", type: CustomTextAreaComponent, selector: "app-custom-text-area", inputs: ["value", "placeholder", "rows", "error", "question", "readOnly"], outputs: ["textareaValueChange"] }, { kind: "component", type: CustomTableComponent, selector: "app-custom-table", inputs: ["question", "apiMeta"], outputs: ["valueChange"] }, { kind: "component", type: CustomCalendarComponent, selector: "app-custom-calendar", inputs: ["allEvents", "question"], outputs: ["eventSelected"] }, { kind: "component", type: CustomDatePickerComponent, selector: "app-custom-date-picker", inputs: ["date", "minDate", "maxDate", "error", "errorMessage", "readOnly"], outputs: ["dateChange"] }, { kind: "component", type: CustomDropdownComponent, selector: "app-custom-dropdown", inputs: ["options", "placeholder", "apiMeta", "selectedValue", "progressBar", "id", "readOnly", "errorMessage", "error", "fromShengel", "referenceField", "token"], outputs: ["valueChange"] }, { kind: "component", type: SearchBoxComponent, selector: "lib-search-box", inputs: ["placeHolderText", "question", "apiMeta", "id", "readOnly"], outputs: ["searchValueChange"] }, { kind: "component", type: QuestionbookComponent, selector: "lib-questionbook", inputs: ["qbItem", "questionItem", "translatedQuestions", "questions", "errorFieldId", "labelValue", "token", "dropDownData"], outputs: ["handleDropDown", "handleQuestion", "hadleDropDownDependent"] }, { kind: "component", type: FileUploadComponent, selector: "app-file-upload", inputs: ["allFiles", "limitFileUploading", "isDeleteFileButtonVisible", "isShowNoFileIcon", "tableFile", "question", "error"], outputs: ["selectedFileData", "deletedFileData"] }, { kind: "component", type: DependentTableComponent, selector: "app-dependent-table", inputs: ["alertMessage"] }, { kind: "component", type: CustomLabelComponent, selector: "app-custom-label", inputs: ["labelValue", "labelStyle"] }, { kind: "component", type: TableAppendixComponent, selector: "app-table-appendix", inputs: ["question"], outputs: ["valueChange"] }, { kind: "component", type: CustomDateComponent, selector: "app-custom-date", inputs: ["date", "readOnly", "error", "errorMessage"], outputs: ["dateChange"] }, { kind: "component", type: CustomTimeComponent, selector: "app-custom-time", inputs: ["time", "readOnly", "error", "errorMessage"], outputs: ["timeChange"] }, { kind: "component", type: CustomButtonComponent, selector: "app-custom-button", inputs: ["height", "width", "textColor", "buttonText", "value", "backgroundColor"], outputs: ["buttonValue"] }, { kind: "component", type: CustomImageComponent, selector: "app-custom-image", inputs: ["alt", "src", "imageStyle", "question"] }, { kind: "component", type: CustomRadioComponent, selector: "app-custom-radio", inputs: ["options", "apiMeta", "selectedValue", "progressBar", "id", "readOnly", "errorMessage", "error", "fromShengel", "referenceField", "token"], outputs: ["valueChange"] }, { kind: "pipe", type: I18nPipe, name: "i18n" }] });
|
|
5026
5232
|
}
|
|
5027
5233
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: QuestionbookComponent, decorators: [{
|
|
5028
5234
|
type: Component,
|
|
5029
|
-
args: [{ selector: 'lib-questionbook', template: "<!-- HA 20DEC23 Book Style from salesforce -->\n<!-- HA 28DEC23 Removed IsShengel(removal of shengel values applies for this reason) and direct styling of books to avoid styling issues-->\n<!-- HA 18JAN24 Added class for styling -->\n<div [style]=\"bookStyle\" class=\"content-box form-group\">\n <div class=\"form-row\">\n <!-- HA 20DEC23 Directive and Question Style from salesforce -->\n <div\n [class]=\"'col-lg-' + ques.Size__c + ' paddingnone'\"\n *ngFor=\"let ques of questions;let i = index\" [id]=\"ques.Id\" [dir]=\"ques.langDirection\" [style]=\"ques?.Style__c?.questionStyle\">\n <!-- Sub Question Label -->\n <!-- HA 20DEC23 Label Style from salesforce -->\n <!-- VD 09May24 is hide field change-->\n <div *ngIf=\"!ques.Is_Hide__c\">\n <div *ngIf=\"ques.Type__c === 'DateTime'\">\n\n </div>\n <!-- VD 20JUN24 - help text changes-->\n <!-- VD 01Aug24 - validation change-->\n <div [ngClass]=\"{ down2: qbItem?.Progress_Bar__c }\" *ngIf=\"ques.Style__c.showLabel\" [style]=\"ques.Style__c.labelStyle\">\n <span [class]=\"'dis-flex shengel-myt-font3 myt-font7 '\">{{ ques?.Question_Text__c }} \n <div *ngIf=\"ques.Is_Optional__c\" style=\"color: red;\">*</div>\n <div *ngIf=\"ques.Question_Text__c && ques?.Help_Text__c\" class=\"icon\" [matTooltip]=\"ques?.Help_Text__c\">i</div></span>\n </div>\n <!-- // VD 12Jun24 - readonly change-->\n <!-- DateTime -->\n <div *ngIf=\"ques.Type__c === 'DateTime'\">\n <app-custom-date-picker [minDate]=\"ques.minDate\" [error]=\"ques.error\" [errorMessage]=\"ques.Error_Message__c\" [readOnly]=\"ques.Read_Only__c\" [date]=\"ques.input\" (dateChange)=\"childEventCapture($event, ques)\">\n </app-custom-date-picker>\n </div>\n\n <!-- Date-->\n <div *ngIf=\"ques.Type__c === 'Date'\">\n <app-custom-date [date]=\"ques.input\" [error]=\"ques.error\" [errorMessage]=\"ques.Error_Message__c\" [readOnly]=\"ques.Read_Only__c\" (dateChange)=\"childEventCapture($event, ques)\">\n </app-custom-date>\n </div>\n\n <!-- Time-->\n <div *ngIf=\"ques.Type__c === 'Time'\">\n <app-custom-time [time]=\"ques.input\" [error]=\"ques.error\" [errorMessage]=\"ques.Error_Message__c\" [readOnly]=\"ques.Read_Only__c\" (timeChange)=\"childEventCapture($event, ques)\">\n </app-custom-time>\n </div>\n <!-- calendar -->\n <div *ngIf=\"ques.Type__c === 'Calendar'\">\n <app-custom-calendar [question]=\"ques\" (eventSelected)=\"childEventCapture($event, ques)\"></app-custom-calendar>\n </div>\n\n <!-- Text -->\n <div *ngIf=\"ques.Type__c === 'Text'\">\n <app-custom-input [value]=\"ques.input\" [ngClassValue]=\"{\n 'dis-flex dt-line date-line bookText boxoutline myt-font1': qbItem.Progress_Bar__c,\n textBox: !qbItem.Progress_Bar__c\n }\" [question]=\"ques\" [readOnly]=\"ques.Read_Only__c\" [idValue]=\"ques.Tracking_ID__c\" [focusEvent]=\"clearSQError(ques.Id)\"\n [error]=\"ques.error\" [placeholder]=\"ques.Question__c\" (inputValue)=\"childEventCapture($event, ques)\">\n </app-custom-input>\n </div>\n \n <!-- for pick location -->\n <!-- VD 21DEC23 - dependent field change -->\n <div *ngIf=\"ques.Type__c === 'Location'\">\n <!-- HA10012024 Added Api key as input -->\n <app-pick-location [apiKey]=\"qbItem['Api_Key__c']\" [address]=\"ques.selectedValue\" [question]=\"ques\" (locationSelected)=\"childEventCapture($event, ques)\">\n </app-pick-location>\n </div>\n\n <!-- for text area -->\n <div *ngIf=\"ques.Type__c === 'TextArea'\">\n <app-custom-text-area [question]=\"ques\" [readOnly]=\"ques.Read_Only__c\" [value]=\"ques.input\" [rows]=\"3\" [error]=\"ques.error\" [placeholder]=\"ques.Question__c \"\n (textareaValueChange)=\"childEventCapture($event, ques)\"></app-custom-text-area>\n </div>\n\n <!-- Email -->\n <div *ngIf=\"ques.Type__c === 'Email'\">\n <input type=\"email\" readOnly=\"ques.Read_Only__c\" [(ngModel)]=\"ques.input\" [id]=\"ques.Id\" required=\"\" (focus)=\"clearSQError(ques.Id)\"\n style.border-color=\"{{ ques.error ? 'red' : '' }}\" placeholder=\"{{ ques.Question__c }}\" />\n </div>\n\n <!-- Table -->\n <div *ngIf=\"ques.Type__c === 'Table'\" class=\"\">\n <app-custom-table [question]=\"ques\" [apiMeta]=\"ques.Sub_Text__c\" (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.Id)\">\n </app-custom-table>\n </div>\n\n <!-- Table Appendix -->\n <div *ngIf=\"ques.Type__c === 'TableAppendix'\" class=\"\">\n <app-table-appendix [question]=\"ques\" (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.Id)\">\n </app-table-appendix>\n </div>\n <!-- list -->\n <div *ngIf=\"ques.Type__c === 'List'\" class=\"\">\n <lib-search-box [question]=\"ques\" [readOnly]=\"ques.Read_Only__c\" [apiMeta]=\"ques.Sub_Text__c\" [id]=\"ques.Id\" [placeHolderText]=\"ques.Question__c\" [selectedValue]=\"ques.input\" (searchValueChange)=\"childEventCapture($event, ques)\">\n </lib-search-box>\n </div>\n\n <!-- Dropdown -->\n <!-- HA 09FEB24 Added condition of sqOption to the dropdown -->\n <div *ngIf=\"ques.Type__c === 'Dropdown' && ques?.Question_Options__r?.records\" class=\"\">\n <!-- HA 20DEC23 For Translation --> <!-- VD 19JAN24 - getting token as input -->\n <app-custom-dropdown [options]=\"ques.Question_Options__r.records\" [token]=\"token\"\n [apiMeta]=\"ques.Sub_Text__c\" [id]=\"ques.Id\" [selectedValue]=\"ques.selectedValue\" placeholder=\"---{{'select' | i18n:i18nService.currentLanguage}}---\"\n [errorMessage]=\"ques.Error_Message__c\" [error]=\"ques.error\"\n [referenceField]=\"ques.Reference_Field__c\"\n [readOnly]=\"ques.Read_Only__c\"\n (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.Id)\">\n </app-custom-dropdown>\n <i class=\"fa fa-check \" aria-hidden=\"true\" *ngIf=\"ques?.input?.length > 0\"></i>\n </div>\n\n <!-- Attachment / Files -->\n <div *ngIf=\"ques.Type__c === 'File'\" class=\"\">\n <app-file-upload [limitFileUploading]=\"5\" [error]=\"ques.error\" [question]=\"ques\" [allFiles]=\"ques.input\" [tableFile]=\"false\"\n (selectedFileData)=\"childEventCapture($event, ques)\" (deletedFileData)=\"deleteFile($event)\"\n [isDeleteFileButtonVisible]=\"true\"></app-file-upload>\n </div>\n <div *ngIf=\"ques.Type__c === 'PopUpMessage'\" class=\"\">\n <app-dependent-table [alertMessage]=\"ques.Error_Message__c\">\n </app-dependent-table>\n </div>\n <div *ngIf=\"ques.Type__c === 'Label'\" class=\"\">\n <app-custom-label [labelValue]=\"labelValue\">\n </app-custom-label>\n </div>\n <!-- 08NOV23 - button type question added -->\n <!-- Button -->\n <div *ngIf=\"ques.Type__c === 'Button'\" class=\"\">\n <app-custom-button [height]=\"'50px'\" \n [width]=\"'150px'\" \n [buttonText]=\"ques?.Question__c\"\n [value]=\"ques?.Question__c\"\n (buttonValue)=\"childEventCapture($event, ques)\"\n >\n </app-custom-button>\n </div>\n <!-- HA 20DEC23 This is to load book type questions-->\n <div *ngIf=\"ques.Type__c === 'Book'\">\n <!-- HA 09FEB24 Added ternary operator -->\n <lib-questionbook [qbItem]=\"ques.qbItem\" [labelValue]=\"labelValue\" [questions]=\"ques.qbItem?.Questions__r?.records\" (handleDropDown)=\"getDropDown($event)\"></lib-questionbook>\n </div>\n </div>\n </div>\n </div>", styles: [".col-lg-6{width:100%}.myt-font7{display:flex;justify-content:flex-start;align-items:center}.icon{display:inline-block;width:15px;height:15px;border-radius:50%;background-color:#08010177;color:#fff;text-align:center;line-height:16px;font-size:11px;font-family:Arial,sans-serif;font-weight:700;margin-left:5px}@media (min-width: 1200px){.col-lg-6{width:50%!important}.form-row{display:flex;flex-wrap:wrap}}\n"] }]
|
|
5235
|
+
args: [{ selector: 'lib-questionbook', template: "<!-- HA 20DEC23 Book Style from salesforce -->\n<!-- HA 28DEC23 Removed IsShengel(removal of shengel values applies for this reason) and direct styling of books to avoid styling issues-->\n<!-- HA 18JAN24 Added class for styling -->\n<div [style]=\"bookStyle\" class=\"content-box form-group\">\n <div class=\"form-row\">\n <!-- HA 20DEC23 Directive and Question Style from salesforce -->\n <div\n [class]=\"'col-lg-' + ques.Size__c + ' paddingnone'\"\n *ngFor=\"let ques of questions;let i = index\" [id]=\"ques.Id\" [dir]=\"ques.langDirection\" [style]=\"ques?.Style__c?.questionStyle\">\n <!-- Sub Question Label -->\n <!-- HA 20DEC23 Label Style from salesforce -->\n <!-- VD 09May24 is hide field change-->\n <div *ngIf=\"!ques.Is_Hide__c\">\n <div *ngIf=\"ques.Type__c === 'DateTime'\">\n\n </div>\n <!-- VD 20JUN24 - help text changes-->\n <!-- VD 01Aug24 - validation change-->\n <!-- // VD 02Aug24 - label value style-->\n <div [ngClass]=\"{ down2: qbItem?.Progress_Bar__c }\" *ngIf=\"ques.Style__c.showLabel\" [style]=\"ques.Style__c.labelStyle\">\n <span [class]=\"'dis-flex shengel-myt-font3 myt-font7 '\" [style]=\"ques.Style__c.labelValueStyle\">{{ ques?.Question_Text__c }} \n <div *ngIf=\"ques.Is_Optional__c\" style=\"color: red;\">*</div>\n <div *ngIf=\"ques.Question_Text__c && ques?.Help_Text__c\" class=\"icon\" [matTooltip]=\"ques?.Help_Text__c\">i</div></span>\n </div>\n <!-- // VD 12Jun24 - readonly change-->\n <!-- DateTime -->\n <div *ngIf=\"ques.Type__c === 'DateTime'\">\n <app-custom-date-picker [minDate]=\"ques.minDate\" [error]=\"ques.error\" [errorMessage]=\"ques.Error_Message__c\" [readOnly]=\"ques.Read_Only__c\" [date]=\"ques.input\" (dateChange)=\"childEventCapture($event, ques)\">\n </app-custom-date-picker>\n </div>\n\n <!-- Date-->\n <div *ngIf=\"ques.Type__c === 'Date'\">\n <app-custom-date [date]=\"ques.input\" [error]=\"ques.error\" [errorMessage]=\"ques.Error_Message__c\" [readOnly]=\"ques.Read_Only__c\" (dateChange)=\"childEventCapture($event, ques)\">\n </app-custom-date>\n </div>\n\n <!-- Time-->\n <div *ngIf=\"ques.Type__c === 'Time'\">\n <app-custom-time [time]=\"ques.input\" [error]=\"ques.error\" [errorMessage]=\"ques.Error_Message__c\" [readOnly]=\"ques.Read_Only__c\" (timeChange)=\"childEventCapture($event, ques)\">\n </app-custom-time>\n </div>\n <!-- calendar -->\n <div *ngIf=\"ques.Type__c === 'Calendar'\">\n <app-custom-calendar [question]=\"ques\" (eventSelected)=\"childEventCapture($event, ques)\"></app-custom-calendar>\n </div>\n\n <!-- Text -->\n <div *ngIf=\"ques.Type__c === 'Text'\">\n <app-custom-input [value]=\"ques.input\" [ngClassValue]=\"{\n 'dis-flex dt-line date-line bookText boxoutline myt-font1': qbItem.Progress_Bar__c,\n textBox: !qbItem.Progress_Bar__c\n }\" [question]=\"ques\" [readOnly]=\"ques.Read_Only__c\" [idValue]=\"ques.Tracking_ID__c\" [focusEvent]=\"clearSQError(ques.Id)\"\n [error]=\"ques.error\" [placeholder]=\"ques.Question__c\" (inputValue)=\"childEventCapture($event, ques)\">\n </app-custom-input>\n </div>\n \n <!-- for pick location -->\n <!-- VD 21DEC23 - dependent field change -->\n <div *ngIf=\"ques.Type__c === 'Location'\">\n <!-- HA10012024 Added Api key as input -->\n <app-pick-location [apiKey]=\"qbItem['Api_Key__c']\" [address]=\"ques.selectedValue\" [question]=\"ques\" (locationSelected)=\"childEventCapture($event, ques)\">\n </app-pick-location>\n </div>\n\n <!-- for text area -->\n <div *ngIf=\"ques.Type__c === 'TextArea'\">\n <app-custom-text-area [question]=\"ques\" [readOnly]=\"ques.Read_Only__c\" [value]=\"ques.input\" [rows]=\"3\" [error]=\"ques.error\" [placeholder]=\"ques.Question__c \"\n (textareaValueChange)=\"childEventCapture($event, ques)\"></app-custom-text-area>\n </div>\n\n <!-- Email -->\n <div *ngIf=\"ques.Type__c === 'Email'\">\n <input type=\"email\" readOnly=\"ques.Read_Only__c\" [(ngModel)]=\"ques.input\" [id]=\"ques.Id\" required=\"\" (focus)=\"clearSQError(ques.Id)\"\n style.border-color=\"{{ ques.error ? 'red' : '' }}\" placeholder=\"{{ ques.Question__c }}\" />\n </div>\n\n <!-- Table -->\n <div *ngIf=\"ques.Type__c === 'Table'\" class=\"\">\n <app-custom-table [question]=\"ques\" [apiMeta]=\"ques.Sub_Text__c\" (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.Id)\">\n </app-custom-table>\n </div>\n\n <!-- Table Appendix -->\n <div *ngIf=\"ques.Type__c === 'TableAppendix'\" class=\"\">\n <app-table-appendix [question]=\"ques\" (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.Id)\">\n </app-table-appendix>\n </div>\n <!-- list -->\n <div *ngIf=\"ques.Type__c === 'List'\" class=\"\">\n <lib-search-box [question]=\"ques\" [readOnly]=\"ques.Read_Only__c\" [apiMeta]=\"ques.Sub_Text__c\" [id]=\"ques.Id\" [placeHolderText]=\"ques.Question__c\" [selectedValue]=\"ques.input\" (searchValueChange)=\"childEventCapture($event, ques)\">\n </lib-search-box>\n </div>\n\n <!-- Dropdown -->\n <!-- HA 09FEB24 Added condition of sqOption to the dropdown -->\n <div *ngIf=\"ques.Type__c === 'Dropdown' && ques?.Question_Options__r?.records\" class=\"\">\n <!-- HA 20DEC23 For Translation --> <!-- VD 19JAN24 - getting token as input -->\n <app-custom-dropdown [options]=\"ques.Question_Options__r.records\" [token]=\"token\"\n [apiMeta]=\"ques.Sub_Text__c\" [id]=\"ques.Id\" [selectedValue]=\"ques.selectedValue\" placeholder=\"---{{'select' | i18n:i18nService.currentLanguage}}---\"\n [errorMessage]=\"ques.Error_Message__c\" [error]=\"ques.error\"\n [referenceField]=\"ques.Reference_Field__c\"\n [readOnly]=\"ques.Read_Only__c\"\n (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.Id)\">\n </app-custom-dropdown>\n <i class=\"fa fa-check \" aria-hidden=\"true\" *ngIf=\"ques?.input?.length > 0\"></i>\n </div>\n <!-- // VD 02Aug24 custom-radio component -->\n <div *ngIf=\"ques.Type__c === 'Radio' && ques?.Question_Options__r?.records\" class=\"\">\n <app-custom-radio [options]=\"ques.Question_Options__r.records\" [token]=\"token\"\n [apiMeta]=\"ques.Sub_Text__c\" [id]=\"ques.Id\" [selectedValue]=\"ques.selectedValue\"\n [errorMessage]=\"ques.Error_Message__c\" [error]=\"ques.error\"\n [referenceField]=\"ques.Reference_Field__c\"\n [readOnly]=\"ques.Read_Only__c\"\n (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.Id)\">\n </app-custom-radio>\n </div>\n\n <!-- Attachment / Files -->\n <div *ngIf=\"ques.Type__c === 'File'\" class=\"\">\n <app-file-upload [limitFileUploading]=\"5\" [error]=\"ques.error\" [question]=\"ques\" [allFiles]=\"ques.input\" [tableFile]=\"false\"\n (selectedFileData)=\"childEventCapture($event, ques)\" (deletedFileData)=\"deleteFile($event)\"\n [isDeleteFileButtonVisible]=\"true\"></app-file-upload>\n </div>\n <div *ngIf=\"ques.Type__c === 'PopUpMessage'\" class=\"\">\n <app-dependent-table [alertMessage]=\"ques.Error_Message__c\">\n </app-dependent-table>\n </div>\n <div *ngIf=\"ques.Type__c === 'Label'\" class=\"\">\n <app-custom-label [labelStyle]=\"ques.Title__c\" [labelValue]=\"ques.Question__c\">\n </app-custom-label>\n </div>\n <!-- // VD 02Aug24 image component -->\n <div *ngIf=\"ques.Type__c === 'Image'\" class=\"\">\n <app-custom-image [question]=\"ques\">\n </app-custom-image>\n </div>\n <!-- 08NOV23 - button type question added -->\n <!-- Button -->\n <div *ngIf=\"ques.Type__c === 'Button'\" class=\"\">\n <app-custom-button [height]=\"'50px'\" \n [width]=\"'150px'\" \n [buttonText]=\"ques?.Question__c\"\n [value]=\"ques?.Question__c\"\n (buttonValue)=\"childEventCapture($event, ques)\"\n >\n </app-custom-button>\n </div>\n <!-- HA 20DEC23 This is to load book type questions-->\n <div *ngIf=\"ques.Type__c === 'Book'\">\n <!-- HA 09FEB24 Added ternary operator -->\n <lib-questionbook [qbItem]=\"ques.qbItem\" [labelValue]=\"labelValue\" [questions]=\"ques.qbItem?.Questions__r?.records\" (handleDropDown)=\"getDropDown($event)\"></lib-questionbook>\n </div>\n </div>\n </div>\n </div>", styles: [".col-lg-6{width:100%}.myt-font7{display:flex;justify-content:flex-start;align-items:center}.icon{display:inline-block;width:15px;height:15px;border-radius:50%;background-color:#08010177;color:#fff;text-align:center;line-height:16px;font-size:11px;font-family:Arial,sans-serif;font-weight:700;margin-left:5px}@media (min-width: 1200px){.col-lg-6{width:50%!important}.form-row{display:flex;flex-wrap:wrap}}\n"] }]
|
|
5030
5236
|
}], ctorParameters: function () { return [{ type: SalesforceService }, { type: DataService }, { type: ChangeService }, { type: StorageService }, { type: I18nService }, { type: Document, decorators: [{
|
|
5031
5237
|
type: Inject,
|
|
5032
5238
|
args: [DOCUMENT]
|
|
@@ -5280,6 +5486,18 @@ class BookletComponent {
|
|
|
5280
5486
|
validForm = false;
|
|
5281
5487
|
this.changeService.submitChange(element.Id);
|
|
5282
5488
|
}
|
|
5489
|
+
// VD 02Aug24 - clear action changes
|
|
5490
|
+
if (dataToParent['action'] == 'clear') {
|
|
5491
|
+
if (element.Type__c == 'Dropdown' || element.Type__c == 'Location' || element.Type__c == 'Radio') {
|
|
5492
|
+
element.selectedValue = undefined;
|
|
5493
|
+
}
|
|
5494
|
+
else if (element.Type__c == 'File') {
|
|
5495
|
+
element.input = [];
|
|
5496
|
+
}
|
|
5497
|
+
else {
|
|
5498
|
+
element.input = '';
|
|
5499
|
+
}
|
|
5500
|
+
}
|
|
5283
5501
|
});
|
|
5284
5502
|
}
|
|
5285
5503
|
}
|
|
@@ -5336,7 +5554,7 @@ class BookletComponent {
|
|
|
5336
5554
|
if (this.dataBind && Object.keys(this.dataBind).length > 0) {
|
|
5337
5555
|
for (let [key, value] of Object.entries(this.dataBind)) {
|
|
5338
5556
|
if (ques.Reference_Field__c === key) {
|
|
5339
|
-
if (ques.Type__c === 'Dropdown') {
|
|
5557
|
+
if (ques.Type__c === 'Dropdown' || ques.Type__c === 'Radio') {
|
|
5340
5558
|
this.sqOptions.forEach(element => {
|
|
5341
5559
|
if (element['Reference_Field__c'] === key) {
|
|
5342
5560
|
element['input'] = ques.input = value;
|
|
@@ -5385,7 +5603,7 @@ class BookletComponent {
|
|
|
5385
5603
|
let q = this.bookQuestionsMap?.get(qbId).Questions__r.records[sq];
|
|
5386
5604
|
// HA 09FEB24 if question is there process
|
|
5387
5605
|
if (q) {
|
|
5388
|
-
if (q.Type__c == 'Dropdown' && this.sqOptions.get(q.Id)) {
|
|
5606
|
+
if ((q.Type__c == 'Dropdown' || q.Type__c == 'Radio') && this.sqOptions.get(q.Id)) {
|
|
5389
5607
|
questions.push(this.sqOptions.get(q.Id));
|
|
5390
5608
|
}
|
|
5391
5609
|
else {
|
|
@@ -5781,7 +5999,9 @@ class NxtAppModule {
|
|
|
5781
5999
|
CustomButtonComponent,
|
|
5782
6000
|
CustomModelComponent,
|
|
5783
6001
|
I18nComponent,
|
|
5784
|
-
I18nPipe
|
|
6002
|
+
I18nPipe,
|
|
6003
|
+
CustomImageComponent,
|
|
6004
|
+
CustomRadioComponent], imports: [CommonModule, FormsModule,
|
|
5785
6005
|
MyDatePickerModule,
|
|
5786
6006
|
OwlDateTimeModule,
|
|
5787
6007
|
OwlNativeDateTimeModule,
|
|
@@ -5922,7 +6142,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
5922
6142
|
CustomButtonComponent,
|
|
5923
6143
|
CustomModelComponent,
|
|
5924
6144
|
I18nComponent,
|
|
5925
|
-
I18nPipe
|
|
6145
|
+
I18nPipe,
|
|
6146
|
+
CustomImageComponent,
|
|
6147
|
+
CustomRadioComponent
|
|
5926
6148
|
],
|
|
5927
6149
|
imports: [
|
|
5928
6150
|
CommonModule, FormsModule,
|