@rangertechnologies/ngnxt 2.1.28 → 2.1.30

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.
Files changed (29) hide show
  1. package/esm2022/lib/components/custom-calendar/custom-calendar.component.mjs +194 -0
  2. package/esm2022/lib/components/custom-date/custom-date.component.mjs +19 -8
  3. package/esm2022/lib/components/custom-date-picker/custom-date-picker.component.mjs +19 -8
  4. package/esm2022/lib/components/custom-dropdown/custom-dropdown.component.mjs +5 -6
  5. package/esm2022/lib/components/custom-input/custom-input.component.mjs +3 -4
  6. package/esm2022/lib/components/custom-model/custom-model.component.mjs +48 -0
  7. package/esm2022/lib/components/custom-table/custom-table.component.mjs +8 -4
  8. package/esm2022/lib/components/custom-text-area/custom-text-area.component.mjs +3 -4
  9. package/esm2022/lib/components/custom-time/custom-time.component.mjs +39 -9
  10. package/esm2022/lib/components/file-upload/file-upload.component.mjs +76 -26
  11. package/esm2022/lib/components/table-appendix/table-appendix.component.mjs +1 -1
  12. package/esm2022/lib/nxt-app.module.mjs +7 -1
  13. package/esm2022/lib/pages/booklet/booklet.component.mjs +15 -4
  14. package/esm2022/lib/pages/questionbook/questionbook.component.mjs +54 -42
  15. package/esm2022/lib/pages/questionnaire/questionnaire.component.mjs +1 -1
  16. package/esm2022/lib/pipe/get-value.pipe.mjs +2 -2
  17. package/fesm2022/rangertechnologies-ngnxt.mjs +486 -126
  18. package/fesm2022/rangertechnologies-ngnxt.mjs.map +1 -1
  19. package/lib/components/custom-calendar/custom-calendar.component.d.ts +53 -0
  20. package/lib/components/custom-date/custom-date.component.d.ts +6 -2
  21. package/lib/components/custom-date-picker/custom-date-picker.component.d.ts +6 -2
  22. package/lib/components/custom-model/custom-model.component.d.ts +19 -0
  23. package/lib/components/custom-time/custom-time.component.d.ts +8 -3
  24. package/lib/components/file-upload/file-upload.component.d.ts +2 -1
  25. package/lib/nxt-app.module.d.ts +31 -29
  26. package/lib/pages/questionbook/questionbook.component.d.ts +2 -1
  27. package/package.json +1 -1
  28. package/rangertechnologies-ngnxt-2.1.30.tgz +0 -0
  29. package/rangertechnologies-ngnxt-2.1.28.tgz +0 -0
@@ -4,7 +4,6 @@ import * as i1 from "../../services/change.service";
4
4
  import * as i2 from "../../i18n.service";
5
5
  import * as i3 from "@angular/common";
6
6
  import * as i4 from "@angular/forms";
7
- import * as i5 from "../../i18n.pipe";
8
7
  export class CustomInputComponent {
9
8
  changeService;
10
9
  i18nService;
@@ -58,11 +57,11 @@ export class CustomInputComponent {
58
57
  this.inputValue.emit(input.target.value);
59
58
  }
60
59
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CustomInputComponent, deps: [{ token: i1.ChangeService }, { token: i2.I18nService }], target: i0.ɵɵFactoryTarget.Component });
61
- 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\">{{ 'required' | i18n:i18nService.currentLanguage }}*</span>\n", styles: [".form-control[disabled]{border-radius:5px;background-color:#e9ecef!important}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i5.I18nPipe, name: "i18n" }] });
60
+ 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: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
62
61
  }
63
62
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CustomInputComponent, decorators: [{
64
63
  type: Component,
65
- 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\">{{ 'required' | i18n:i18nService.currentLanguage }}*</span>\n", styles: [".form-control[disabled]{border-radius:5px;background-color:#e9ecef!important}\n"] }]
64
+ 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"] }]
66
65
  }], ctorParameters: function () { return [{ type: i1.ChangeService }, { type: i2.I18nService }]; }, propDecorators: { value: [{
67
66
  type: Input
68
67
  }], question: [{
@@ -86,4 +85,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
86
85
  }], inputValue: [{
87
86
  type: Output
88
87
  }] } });
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9jb21wb25lbnRzL2N1c3RvbS1pbnB1dC9jdXN0b20taW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvY3VzdG9tLWlucHV0L2N1c3RvbS1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBZS9FLE1BQU0sT0FBTyxvQkFBb0I7SUFnQlg7SUFBcUM7SUFmaEQsS0FBSyxDQUFjLENBQUMsY0FBYztJQUNsQyxRQUFRLENBQVU7SUFDbEIsUUFBUSxHQUFZLEtBQUssQ0FBQyxDQUFDLHdCQUF3QjtJQUNuRCxXQUFXLENBQVE7SUFDbkIsS0FBSyxDQUFLO0lBQ1YsV0FBVyxHQUFZLEtBQUssQ0FBQztJQUM3QixRQUFRLEdBQVksS0FBSyxDQUFDLENBQUMsK0JBQStCO0lBRTFELFlBQVksQ0FBSztJQUNqQixPQUFPLENBQUs7SUFDWixVQUFVLENBQU07SUFDZixVQUFVLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUUvQyxZQUFZLENBQWU7SUFFM0IsWUFBb0IsYUFBNEIsRUFBUyxXQUF3QjtRQUE3RCxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUFTLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBQ2pGLENBQUM7SUFFRCxRQUFRO1FBQ04sOENBQThDO1FBQzlDLElBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLElBQUksU0FBUyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLElBQUksYUFBYSxHQUFtQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7WUFFMUUsSUFBRyxhQUFhLENBQUMsUUFBUSxJQUFJLGFBQWEsQ0FBQyxRQUFRLElBQUksT0FBTyxFQUFDO2dCQUM3RCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQzthQUN2QjtpQkFBSTtnQkFDSCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQzthQUN0QjtZQUNELDRCQUE0QjtZQUM1QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUMvRCxDQUFDLFdBQVcsRUFBRSxFQUFFO2dCQUNkLElBQUcsV0FBVyxJQUFJLFNBQVMsRUFBRTtvQkFDM0IscURBQXFEO29CQUNyRCxJQUFHLFdBQVcsQ0FBQyxRQUFRLElBQUksU0FBUyxJQUFJLFdBQVcsQ0FBQyxjQUFjLElBQUksYUFBYSxDQUFDLGdCQUFnQixFQUFFO3dCQUNwRyxJQUFJLENBQUMsS0FBSyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO3dCQUM1RCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7cUJBQ2xDO29CQUNELElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2lCQUNsRTtZQUNILENBQUMsQ0FDRixDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRUQsVUFBVTtJQUNWLENBQUM7SUFFRCxXQUFXO1FBQ1QsK0NBQStDO1FBQy9DLElBQUksQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFTO1FBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0MsQ0FBQzt3R0F4RFUsb0JBQW9COzRGQUFwQixvQkFBb0IsaVZDZmpDLDRzQ0EyQkE7OzRGRFphLG9CQUFvQjtrQkFOaEMsU0FBUzsrQkFDRSxrQkFBa0I7OEhBTW5CLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0ksVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ2hhbmdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NoYW5nZS5zZXJ2aWNlJztcbmltcG9ydCB7IENoYW5nZVdyYXBwZXIgfSBmcm9tICcuLi8uLi9tb2RlbC9jaGFuZ2VXcmFwcGVyJztcbmltcG9ydCB7IFF1ZXN0aW9uIH0gZnJvbSAnLi4vLi4vd3JhcHBlcic7XG5pbXBvcnQgeyBEZXBlbmRlbmN5TWV0YSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZGVwZW5kZW5jeU1ldGEnO1xuLy8gSEEgMTlERUMyMyBpbXBvcnRlZCB0cmFuc2xhdGlvbiBzZXJ2aWNlXG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uL2kxOG4uc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jdXN0b20taW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vY3VzdG9tLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY3VzdG9tLWlucHV0LmNvbXBvbmVudC5jc3MnXVxufSlcblxuZXhwb3J0IGNsYXNzIEN1c3RvbUlucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgdmFsdWU6IGFueSB8IGFueVtdOyAvLyBpbnB1dCB2YWx1ZVxuICBASW5wdXQoKSBxdWVzdGlvbjogUXVlc3Rpb25cbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTsgLy8gaW5wdXQgZGlzYWJsZWQgb3Igbm90XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOnN0cmluZztcbiAgQElucHV0KCkgZXJyb3I6YW55O1xuICBASW5wdXQoKSBmcm9tU2hlbmdlbDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSByZWFkT25seSA6Ym9vbGVhbiA9IGZhbHNlOyAvLyBWRCAxMkp1bjI0IC0gcmVhZG9ubHkgY2hhbmdlXG5cbiAgQElucHV0KCkgbmdDbGFzc1ZhbHVlOmFueTtcbiAgQElucHV0KCkgaWRWYWx1ZTphbnk7XG4gIEBJbnB1dCgpIGZvY3VzRXZlbnQ6IGFueTtcbiAgQE91dHB1dCgpIGlucHV0VmFsdWUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTsgXG5cbiAgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VTZXJ2aWNlOiBDaGFuZ2VTZXJ2aWNlLCBwdWJsaWMgaTE4blNlcnZpY2U6IEkxOG5TZXJ2aWNlKSB7IFxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gU2luY2UgdGhlIGlkVmFsdWUgaG9sZHMgdGhlIFBhcmVudCBRdWVzdGlvblxuICAgIGlmKHRoaXMucXVlc3Rpb24uU3ViX1RleHRfX2MgIT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmRpc2FibGVkID0gdHJ1ZTtcbiAgICAgIGxldCBkZXBlbmRlbmN5T2JqOiBEZXBlbmRlbmN5TWV0YSA9IEpTT04ucGFyc2UodGhpcy5xdWVzdGlvbi5TdWJfVGV4dF9fYyk7XG4gICAgICBcbiAgICAgIGlmKGRlcGVuZGVuY3lPYmouZGlzYWJsZWQgJiYgZGVwZW5kZW5jeU9iai5kaXNhYmxlZCA9PSBcImZhbHNlXCIpe1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gZmFsc2U7XG4gICAgICB9ZWxzZXtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IHRydWU7XG4gICAgICB9XG4gICAgICAvLyBTdWJzY3JpYmUgZm9yIHRoZSBjaGFuZ2VzXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMuY2hhbmdlU2VydmljZS5jaGFuZ2VBbm5vdW5jZWQkLnN1YnNjcmliZShcbiAgICAgICAgKGNoYW5nZVZhbHVlKSA9PiB7XG4gICAgICAgICAgaWYoY2hhbmdlVmFsdWUgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZygnaW5zaWRlIHN1YnNjcmlwdGlvbiBmb3IgdGhlIGNoYW5nZScpO1xuICAgICAgICAgICAgaWYoY2hhbmdlVmFsdWUudmFsdWVPYmogIT0gdW5kZWZpbmVkICYmIGNoYW5nZVZhbHVlLmZyb21RdWVzdGlvbklkID09IGRlcGVuZGVuY3lPYmouc291cmNlUXVlc3Rpb25JZCkge1xuICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gY2hhbmdlVmFsdWUudmFsdWVPYmpbZGVwZW5kZW5jeU9iai52YWx1ZUZpZWxkXTtcbiAgICAgICAgICAgICAgdGhpcy5pbnB1dFZhbHVlLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmNoYW5nZVNlcnZpY2UuY29uZmlybUNoYW5nZShkZXBlbmRlbmN5T2JqLnNvdXJjZVF1ZXN0aW9uSWQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlKCk6IHZvaWQge1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgLy8gcHJldmVudCBtZW1vcnkgbGVhayB3aGVuIGNvbXBvbmVudCBkZXN0cm95ZWRcbiAgICB0aGlzLnN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuICBcbiAgb25JbnB1dENoYW5nZShpbnB1dDphbnkpe1xuICAgIHRoaXMuaW5wdXRWYWx1ZS5lbWl0KGlucHV0LnRhcmdldC52YWx1ZSk7XG4gIH1cbn1cbiIsIiA8IS0tIEhBIDE5REVDMjMgSW5jbHVkZWQgU3R5bGUgdmFsdWUgZnJvbSBTYWxlc2ZvcmNlIC0tPlxuICA8IS0tIEhBIDE4LUpBTi0yNCBBZGRlZCB0aGVzZSBjbGFzc2VzIGZvciBzdHlsZSwgSEEgMzEtSkFOLTI0IEFkZGVkIHRlcm5hcnkgZm9yIHN0eWxlIC0tPlxuICA8IS0tIEhBIDAyRkVCMjQgcXVlc3Rpb24gaW5wdXQgd2lsbCBob2xkIHRoZSB2YWx1ZSB0byBkaXNwbGF5IC0tPlxuICA8IS0tIC8vIFZEIDEySnVuMjQgLSByZWFkb25seSBjaGFuZ2UtLT5cbiAgPGlucHV0ICpuZ0lmPVwiIWZyb21TaGVuZ2VsXCIgdHlwZT1cInRleHRcIiBcbiAgICAgICBbKG5nTW9kZWwpXT1cInF1ZXN0aW9uLmlucHV0XCIgXG4gICAgICAgW25nQ2xhc3NdPVwibmdDbGFzc1ZhbHVlXCJcbiAgICAgICBjbGFzcz1cInNoZS1saW5lLWlucHV0IGZvcm0tY29udHJvbFwiXG4gICAgICAgW2lkXT1cImlkVmFsdWVcIlxuICAgICAgIChmb2N1cyk9XCJmb2N1c0V2ZW50XCJcbiAgICAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIlxuICAgICAgIFtzdHlsZS5ib3JkZXItY29sb3JdPVwiZXJyb3IgPyAncmVkJyA6ICcnXCJcbiAgICAgICBbc3R5bGVdPVwicXVlc3Rpb24/LlN0eWxlX19jPy5pbnB1dFN0eWxlXCJcbiAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIgPyBwbGFjZWhvbGRlciA6ICcnXCJcbiAgICAgICAoaW5wdXQpPVwib25JbnB1dENoYW5nZSgkZXZlbnQpXCIgLz5cblxuPGlucHV0ICpuZ0lmPVwiZnJvbVNoZW5nZWxcIiBcbiAgICAgICBbKG5nTW9kZWwpXT1cInF1ZXN0aW9uLmlucHV0XCJcbiAgICAgICB0eXBlPVwidGV4dFwiIFxuICAgICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXG4gICAgICAgY2xhc3M9XCJzaGUtbGluZS1pbnB1dCBmb3JtLWNvbnRyb2xcIiBcbiAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIgPyBwbGFjZWhvbGRlciA6ICcnIFwiXG4gICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICBbc3R5bGVdPVwicXVlc3Rpb24/LlN0eWxlX19jPy5pbnB1dFN0eWxlXCJcbiAgICAgICAoaW5wdXQpPVwib25JbnB1dENoYW5nZSgkZXZlbnQpXCIgLz5cbjwhLS0gSEEgMTlERUMyMyBGb3IgdHJhbnNsYXRpb24gLS0+XG48c3BhbiAqbmdJZj1cImVycm9yXCIgY2xhc3M9XCJlcnJvci1tc2dcIj57eyAncmVxdWlyZWQnIHwgaTE4bjppMThuU2VydmljZS5jdXJyZW50TGFuZ3VhZ2UgfX0qPC9zcGFuPlxuIl19
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9jb21wb25lbnRzL2N1c3RvbS1pbnB1dC9jdXN0b20taW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvY3VzdG9tLWlucHV0L2N1c3RvbS1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFlL0UsTUFBTSxPQUFPLG9CQUFvQjtJQWdCWDtJQUFxQztJQWZoRCxLQUFLLENBQWMsQ0FBQyxjQUFjO0lBQ2xDLFFBQVEsQ0FBVTtJQUNsQixRQUFRLEdBQVksS0FBSyxDQUFDLENBQUMsd0JBQXdCO0lBQ25ELFdBQVcsQ0FBUTtJQUNuQixLQUFLLENBQUs7SUFDVixXQUFXLEdBQVksS0FBSyxDQUFDO0lBQzdCLFFBQVEsR0FBWSxLQUFLLENBQUMsQ0FBQywrQkFBK0I7SUFFMUQsWUFBWSxDQUFLO0lBQ2pCLE9BQU8sQ0FBSztJQUNaLFVBQVUsQ0FBTTtJQUNmLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBRS9DLFlBQVksQ0FBZTtJQUUzQixZQUFvQixhQUE0QixFQUFTLFdBQXdCO1FBQTdELGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQVMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFDakYsQ0FBQztJQUVELFFBQVE7UUFDTiw4Q0FBOEM7UUFDOUMsSUFBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsSUFBSSxTQUFTLEVBQUU7WUFDekMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDckIsSUFBSSxhQUFhLEdBQW1CLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUUxRSxJQUFHLGFBQWEsQ0FBQyxRQUFRLElBQUksYUFBYSxDQUFDLFFBQVEsSUFBSSxPQUFPLEVBQUM7Z0JBQzdELElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO2FBQ3ZCO2lCQUFJO2dCQUNILElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO2FBQ3RCO1lBQ0QsNEJBQTRCO1lBQzVCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQy9ELENBQUMsV0FBVyxFQUFFLEVBQUU7Z0JBQ2QsSUFBRyxXQUFXLElBQUksU0FBUyxFQUFFO29CQUMzQixxREFBcUQ7b0JBQ3JELElBQUcsV0FBVyxDQUFDLFFBQVEsSUFBSSxTQUFTLElBQUksV0FBVyxDQUFDLGNBQWMsSUFBSSxhQUFhLENBQUMsZ0JBQWdCLEVBQUU7d0JBQ3BHLElBQUksQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7d0JBQzVELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztxQkFDbEM7b0JBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLENBQUM7aUJBQ2xFO1lBQ0gsQ0FBQyxDQUNGLENBQUM7U0FDSDtJQUNILENBQUM7SUFFRCxVQUFVO0lBQ1YsQ0FBQztJQUVELFdBQVc7UUFDVCwrQ0FBK0M7UUFDL0MsSUFBSSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVM7UUFDckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQyxDQUFDO3dHQXhEVSxvQkFBb0I7NEZBQXBCLG9CQUFvQixpVkNmakMsdXJDQTJCQTs7NEZEWmEsb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNFLGtCQUFrQjs4SEFNbkIsS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDSSxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDaGFuZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2hhbmdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2hhbmdlV3JhcHBlciB9IGZyb20gJy4uLy4uL21vZGVsL2NoYW5nZVdyYXBwZXInO1xuaW1wb3J0IHsgUXVlc3Rpb24gfSBmcm9tICcuLi8uLi93cmFwcGVyJztcbmltcG9ydCB7IERlcGVuZGVuY3lNZXRhIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9kZXBlbmRlbmN5TWV0YSc7XG4vLyBIQSAxOURFQzIzIGltcG9ydGVkIHRyYW5zbGF0aW9uIHNlcnZpY2VcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaTE4bi5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWN1c3RvbS1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jdXN0b20taW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jdXN0b20taW5wdXQuY29tcG9uZW50LmNzcyddXG59KVxuXG5leHBvcnQgY2xhc3MgQ3VzdG9tSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSB2YWx1ZTogYW55IHwgYW55W107IC8vIGlucHV0IHZhbHVlXG4gIEBJbnB1dCgpIHF1ZXN0aW9uOiBRdWVzdGlvblxuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlOyAvLyBpbnB1dCBkaXNhYmxlZCBvciBub3RcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6c3RyaW5nO1xuICBASW5wdXQoKSBlcnJvcjphbnk7XG4gIEBJbnB1dCgpIGZyb21TaGVuZ2VsOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHJlYWRPbmx5IDpib29sZWFuID0gZmFsc2U7IC8vIFZEIDEySnVuMjQgLSByZWFkb25seSBjaGFuZ2VcblxuICBASW5wdXQoKSBuZ0NsYXNzVmFsdWU6YW55O1xuICBASW5wdXQoKSBpZFZhbHVlOmFueTtcbiAgQElucHV0KCkgZm9jdXNFdmVudDogYW55O1xuICBAT3V0cHV0KCkgaW5wdXRWYWx1ZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpOyBcblxuICBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZVNlcnZpY2U6IENoYW5nZVNlcnZpY2UsIHB1YmxpYyBpMThuU2VydmljZTogSTE4blNlcnZpY2UpIHsgXG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBTaW5jZSB0aGUgaWRWYWx1ZSBob2xkcyB0aGUgUGFyZW50IFF1ZXN0aW9uXG4gICAgaWYodGhpcy5xdWVzdGlvbi5TdWJfVGV4dF9fYyAhPSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgbGV0IGRlcGVuZGVuY3lPYmo6IERlcGVuZGVuY3lNZXRhID0gSlNPTi5wYXJzZSh0aGlzLnF1ZXN0aW9uLlN1Yl9UZXh0X19jKTtcbiAgICAgIFxuICAgICAgaWYoZGVwZW5kZW5jeU9iai5kaXNhYmxlZCAmJiBkZXBlbmRlbmN5T2JqLmRpc2FibGVkID09IFwiZmFsc2VcIil7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgIH1lbHNle1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIC8vIFN1YnNjcmliZSBmb3IgdGhlIGNoYW5nZXNcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5jaGFuZ2VTZXJ2aWNlLmNoYW5nZUFubm91bmNlZCQuc3Vic2NyaWJlKFxuICAgICAgICAoY2hhbmdlVmFsdWUpID0+IHtcbiAgICAgICAgICBpZihjaGFuZ2VWYWx1ZSAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdpbnNpZGUgc3Vic2NyaXB0aW9uIGZvciB0aGUgY2hhbmdlJyk7XG4gICAgICAgICAgICBpZihjaGFuZ2VWYWx1ZS52YWx1ZU9iaiAhPSB1bmRlZmluZWQgJiYgY2hhbmdlVmFsdWUuZnJvbVF1ZXN0aW9uSWQgPT0gZGVwZW5kZW5jeU9iai5zb3VyY2VRdWVzdGlvbklkKSB7XG4gICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBjaGFuZ2VWYWx1ZS52YWx1ZU9ialtkZXBlbmRlbmN5T2JqLnZhbHVlRmllbGRdO1xuICAgICAgICAgICAgICB0aGlzLmlucHV0VmFsdWUuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuY2hhbmdlU2VydmljZS5jb25maXJtQ2hhbmdlKGRlcGVuZGVuY3lPYmouc291cmNlUXVlc3Rpb25JZCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2UoKTogdm9pZCB7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICAvLyBwcmV2ZW50IG1lbW9yeSBsZWFrIHdoZW4gY29tcG9uZW50IGRlc3Ryb3llZFxuICAgIHRoaXMuc3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG4gIFxuICBvbklucHV0Q2hhbmdlKGlucHV0OmFueSl7XG4gICAgdGhpcy5pbnB1dFZhbHVlLmVtaXQoaW5wdXQudGFyZ2V0LnZhbHVlKTtcbiAgfVxufVxuIiwiIDwhLS0gSEEgMTlERUMyMyBJbmNsdWRlZCBTdHlsZSB2YWx1ZSBmcm9tIFNhbGVzZm9yY2UgLS0+XG4gIDwhLS0gSEEgMTgtSkFOLTI0IEFkZGVkIHRoZXNlIGNsYXNzZXMgZm9yIHN0eWxlLCBIQSAzMS1KQU4tMjQgQWRkZWQgdGVybmFyeSBmb3Igc3R5bGUgLS0+XG4gIDwhLS0gSEEgMDJGRUIyNCBxdWVzdGlvbiBpbnB1dCB3aWxsIGhvbGQgdGhlIHZhbHVlIHRvIGRpc3BsYXkgLS0+XG4gIDwhLS0gLy8gVkQgMTJKdW4yNCAtIHJlYWRvbmx5IGNoYW5nZS0tPlxuICA8aW5wdXQgKm5nSWY9XCIhZnJvbVNoZW5nZWxcIiB0eXBlPVwidGV4dFwiIFxuICAgICAgIFsobmdNb2RlbCldPVwicXVlc3Rpb24uaW5wdXRcIiBcbiAgICAgICBbbmdDbGFzc109XCJuZ0NsYXNzVmFsdWVcIlxuICAgICAgIGNsYXNzPVwic2hlLWxpbmUtaW5wdXQgZm9ybS1jb250cm9sXCJcbiAgICAgICBbaWRdPVwiaWRWYWx1ZVwiXG4gICAgICAgKGZvY3VzKT1cImZvY3VzRXZlbnRcIlxuICAgICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXG4gICAgICAgW3N0eWxlLmJvcmRlci1jb2xvcl09XCJlcnJvciA/ICdyZWQnIDogJydcIlxuICAgICAgIFtzdHlsZV09XCJxdWVzdGlvbj8uU3R5bGVfX2M/LmlucHV0U3R5bGVcIlxuICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlciA/IHBsYWNlaG9sZGVyIDogJydcIlxuICAgICAgIChpbnB1dCk9XCJvbklucHV0Q2hhbmdlKCRldmVudClcIiAvPlxuXG48aW5wdXQgKm5nSWY9XCJmcm9tU2hlbmdlbFwiIFxuICAgICAgIFsobmdNb2RlbCldPVwicXVlc3Rpb24uaW5wdXRcIlxuICAgICAgIHR5cGU9XCJ0ZXh0XCIgXG4gICAgICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCJcbiAgICAgICBjbGFzcz1cInNoZS1saW5lLWlucHV0IGZvcm0tY29udHJvbFwiIFxuICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlciA/IHBsYWNlaG9sZGVyIDogJycgXCJcbiAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgIFtzdHlsZV09XCJxdWVzdGlvbj8uU3R5bGVfX2M/LmlucHV0U3R5bGVcIlxuICAgICAgIChpbnB1dCk9XCJvbklucHV0Q2hhbmdlKCRldmVudClcIiAvPlxuPCEtLSBIQSAxOURFQzIzIEZvciB0cmFuc2xhdGlvbiAtLT5cbjxzcGFuICpuZ0lmPVwiZXJyb3JcIiBjbGFzcz1cImVycm9yLW1zZ1wiPnt7cXVlc3Rpb24/LkVycm9yX01lc3NhZ2VfX2N9fSo8L3NwYW4+XG4iXX0=
@@ -0,0 +1,48 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class CustomModelComponent {
5
+ constructor() { }
6
+ modalTitle;
7
+ isModalOpen = false;
8
+ modalSize = '';
9
+ saveButtonValue = 'Save';
10
+ modalFooter = true;
11
+ saveButtonEmit = new EventEmitter();
12
+ cancelButtonEmit = new EventEmitter();
13
+ onSave() {
14
+ this.saveButtonEmit.emit();
15
+ }
16
+ onCancel() {
17
+ this.cancelButtonEmit.emit();
18
+ }
19
+ ngOnInit() {
20
+ }
21
+ closeModal() {
22
+ this.cancelButtonEmit.emit(false);
23
+ }
24
+ saveModal() {
25
+ this.saveButtonEmit.emit();
26
+ }
27
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CustomModelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
28
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: CustomModelComponent, selector: "app-custom-model", inputs: { modalTitle: "modalTitle", isModalOpen: "isModalOpen", modalSize: "modalSize", saveButtonValue: "saveButtonValue", modalFooter: "modalFooter" }, outputs: { saveButtonEmit: "saveButtonEmit", cancelButtonEmit: "cancelButtonEmit" }, ngImport: i0, template: "<div *ngIf=\"isModalOpen\" class=\"modal\" [ngClass]=\"modalSize\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <span class=\"close\" (click)=\"onCancel()\">&times;</span>\n <h2>{{ modalTitle }}</h2>\n </div>\n <div class=\"modal-body\">\n <ng-content></ng-content>\n </div>\n <div class=\"modal-footer\" *ngIf=\"modalFooter\">\n <button (click)=\"onSave()\">{{ saveButtonValue }}</button>\n <button (click)=\"onCancel()\">Cancel</button>\n </div>\n </div>\n </div>\n ", styles: [".modal{display:block;position:fixed;z-index:1;left:0;top:0;width:100%;height:100%;overflow:hidden;background-color:#000;background-color:#0006}.modal-content{background-color:#fefefe;margin:10% auto;padding:20px;border:1px solid #888;width:70%}.modal-header,.modal-footer{padding:10px;text-align:center;display:block}.close{color:#aaa;float:right;font-size:28px;font-weight:700}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
29
+ }
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CustomModelComponent, decorators: [{
31
+ type: Component,
32
+ args: [{ selector: 'app-custom-model', template: "<div *ngIf=\"isModalOpen\" class=\"modal\" [ngClass]=\"modalSize\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <span class=\"close\" (click)=\"onCancel()\">&times;</span>\n <h2>{{ modalTitle }}</h2>\n </div>\n <div class=\"modal-body\">\n <ng-content></ng-content>\n </div>\n <div class=\"modal-footer\" *ngIf=\"modalFooter\">\n <button (click)=\"onSave()\">{{ saveButtonValue }}</button>\n <button (click)=\"onCancel()\">Cancel</button>\n </div>\n </div>\n </div>\n ", styles: [".modal{display:block;position:fixed;z-index:1;left:0;top:0;width:100%;height:100%;overflow:hidden;background-color:#000;background-color:#0006}.modal-content{background-color:#fefefe;margin:10% auto;padding:20px;border:1px solid #888;width:70%}.modal-header,.modal-footer{padding:10px;text-align:center;display:block}.close{color:#aaa;float:right;font-size:28px;font-weight:700}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer}\n"] }]
33
+ }], ctorParameters: function () { return []; }, propDecorators: { modalTitle: [{
34
+ type: Input
35
+ }], isModalOpen: [{
36
+ type: Input
37
+ }], modalSize: [{
38
+ type: Input
39
+ }], saveButtonValue: [{
40
+ type: Input
41
+ }], modalFooter: [{
42
+ type: Input
43
+ }], saveButtonEmit: [{
44
+ type: Output
45
+ }], cancelButtonEmit: [{
46
+ type: Output
47
+ }] } });
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLW1vZGVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9jb21wb25lbnRzL2N1c3RvbS1tb2RlbC9jdXN0b20tbW9kZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvY3VzdG9tLW1vZGVsL2N1c3RvbS1tb2RlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFhLE1BQU0sZUFBZSxDQUFDOzs7QUFPdEcsTUFBTSxPQUFPLG9CQUFvQjtJQUUvQixnQkFBZ0IsQ0FBQztJQUNSLFVBQVUsQ0FBTTtJQUNoQixXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDZixlQUFlLEdBQUcsTUFBTSxDQUFDO0lBQ3pCLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDbEIsY0FBYyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDekMsZ0JBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUVyRCxNQUFNO1FBQ0osSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBR0QsUUFBUTtJQUNSLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0IsQ0FBQzt3R0E3QlUsb0JBQW9COzRGQUFwQixvQkFBb0IsdVNDUGpDLG9qQkFlRTs7NEZEUlcsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGtCQUFrQjswRUFPbkIsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNJLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jdXN0b20tbW9kZWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vY3VzdG9tLW1vZGVsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY3VzdG9tLW1vZGVsLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDdXN0b21Nb2RlbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cbiAgQElucHV0KCkgbW9kYWxUaXRsZTogYW55O1xuICBASW5wdXQoKSBpc01vZGFsT3BlbiA9IGZhbHNlO1xuICBASW5wdXQoKSBtb2RhbFNpemUgPSAnJztcbiAgQElucHV0KCkgc2F2ZUJ1dHRvblZhbHVlID0gJ1NhdmUnO1xuICBASW5wdXQoKSBtb2RhbEZvb3RlciA9IHRydWU7XG4gIEBPdXRwdXQoKSBzYXZlQnV0dG9uRW1pdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgY2FuY2VsQnV0dG9uRW1pdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIG9uU2F2ZSgpIHtcbiAgICB0aGlzLnNhdmVCdXR0b25FbWl0LmVtaXQoKTtcbiAgfVxuXG4gIG9uQ2FuY2VsKCkge1xuICAgIHRoaXMuY2FuY2VsQnV0dG9uRW1pdC5lbWl0KCk7XG4gIH1cblxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbiAgY2xvc2VNb2RhbCgpIHtcbiAgICB0aGlzLmNhbmNlbEJ1dHRvbkVtaXQuZW1pdChmYWxzZSk7XG4gIH1cblxuICBzYXZlTW9kYWwoKSB7XG4gICAgdGhpcy5zYXZlQnV0dG9uRW1pdC5lbWl0KCk7XG4gIH1cblxufVxuIiwiPGRpdiAqbmdJZj1cImlzTW9kYWxPcGVuXCIgY2xhc3M9XCJtb2RhbFwiIFtuZ0NsYXNzXT1cIm1vZGFsU2l6ZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1jb250ZW50XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY2xvc2VcIiAoY2xpY2spPVwib25DYW5jZWwoKVwiPiZ0aW1lczs8L3NwYW4+XG4gICAgICAgIDxoMj57eyBtb2RhbFRpdGxlIH19PC9oMj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHlcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtZm9vdGVyXCIgKm5nSWY9XCJtb2RhbEZvb3RlclwiPlxuICAgICAgICA8YnV0dG9uIChjbGljayk9XCJvblNhdmUoKVwiPnt7IHNhdmVCdXR0b25WYWx1ZSB9fTwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIChjbGljayk9XCJvbkNhbmNlbCgpXCI+Q2FuY2VsPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gICJdfQ==
@@ -6,6 +6,7 @@ import * as i3 from "../../services/salesforce.service";
6
6
  import * as i4 from "../../services/data.service";
7
7
  import * as i5 from "@angular/common";
8
8
  import * as i6 from "@angular/forms";
9
+ import * as i7 from "../../pipe/get-value.pipe";
9
10
  export class CustomTableComponent {
10
11
  changeService;
11
12
  i18nService;
@@ -84,7 +85,10 @@ export class CustomTableComponent {
84
85
  // VD 13MAY24 - bind dynamic field
85
86
  if (this.tableData.length > 0) {
86
87
  this.tableData.forEach(element => {
87
- if (element[field] == item[field]) {
88
+ // VD 26Jun24 - to handle multiple objects
89
+ const objElementValue = this.dataService.getValue(element, field);
90
+ const objItemValue = this.dataService.getValue(item, field);
91
+ if (objElementValue == objItemValue) {
88
92
  validItem = false;
89
93
  }
90
94
  });
@@ -148,11 +152,11 @@ export class CustomTableComponent {
148
152
  this.valueChange.emit(updatedTableData);
149
153
  }
150
154
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CustomTableComponent, deps: [{ token: i1.ChangeService }, { token: i2.I18nService }, { token: i3.SalesforceService }, { token: i4.DataService }], target: i0.ɵɵFactoryTarget.Component });
151
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: CustomTableComponent, selector: "app-custom-table", inputs: { question: "question", apiMeta: "apiMeta" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<table class=\"table table-striped table-bordered\">\n <thead>\n <!-- HA 28DEC23 changed table header values and changed table size logic to evenly visible -->\n <!-- <th><input type=\"checkbox\" (change)=\"selectAll($event.target.checked)\"></th> -->\n <th *ngFor=\"let header of tableHeader; let hi = index\" [class]=\"'col-md-' + tableSize\">\n {{ header.label }}\n </th>\n <th class=\"col-md-2\" colspan=\"2\">Actions</th>\n </thead>\n <tbody *ngIf=\"tableData\">\n <tr *ngFor=\"let item of tableData; let i = index\">\n <!-- <td><input type=\"checkbox\" [(ngModel)]=\"item.selected\" (change)=\"selectItem(item)\"></td> -->\n <td *ngFor=\"let header of tableHeader; let j = index\">\n <div *ngIf=\"header.fldType === 'imagetext'\" [class]=\"'col-md-' + header.size\" style=\"display: flex;\">\n <img style=\"width: 35px; height: 32px; margin-right: 5px;\" [src]=\"item.imageSrc\" [alt]=\"item.altText\">\n <input type=\"text\" [(ngModel)]=\"item[header.fieldName]\" (ngModelChange)=\"updateLabel(i, header.fieldName, item[header.fieldName])\" class=\"she-line-input table-input\">\n </div>\n <div *ngIf=\"header.fldType === 'image'\" [class]=\"'col-md-' + header.size\">\n <img style=\"width: 35px; height: 32px; margin-right: 5px;\" [src]=\"item[header.fieldName]\" [alt]=\"item.altText\">\n </div>\n <div *ngIf=\"header.fldType === 'Text' || header.fldType === 'Text'\">\n <input type=\"text\" [disabled]=\"!item.edit\" [ngClass]=\"{'editInput': item.edit}\" [(ngModel)]=\"item[header.apiName]\" (ngModelChange)=\"updateLabel(i, header.apiName, item[header.apiName])\" class=\"she-line-input table-input\">\n </div>\n <div *ngIf=\"header.fldType === 'radio'\" [class]=\"'col-md-' + header.size\">\n <input type=\"radio\" [name]=\"item.name\" [checked]=\"item.value == header.fieldName\" (click)=\"updateRadio(item, header.fieldName)\">\n </div>\n </td>\n <td class=\"action\">\n <a style=\"display: flex; justify-content: space-evenly;\" (click)=\"editRow(i)\"><img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-edit%402x.png\" class=\"icon-edit1\" /><span>Edit</span></a>\n </td>\n <td class=\"action\">\n <a style=\"display: flex; justify-content: space-evenly;\" (click)=\"deleteRow(i)\"><img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-delete%402x.png\" class=\"deleteIcon\"/><span>Delete</span></a>\n </td>\n </tr>\n </tbody>\n</table>\n<div (click)=\"addRow()\" class=\"addRowClass\"><div class=\"circle-button\">+</div></div>", styles: [".table{width:100%;max-width:100%;margin-bottom:20px;border-collapse:collapse;border-spacing:0}.table-bordered{border:1px solid #ddd}thead{background-color:#03a9f4}thead th{color:#fff;font-size:14px;text-align:center}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}th{text-align:left}thead .permission{text-align:center}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}tbody{color:#797979}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}tbody td{font-size:13px}.permission_yes,.permission_no,.permission_na{text-align:center}.none-border th{border:none}.addRowClass{float:right;margin-right:15%}.editInput{border-bottom:1px solid red!important}.action,.addRowClass{cursor:pointer}.action :hover{color:red}.circle-button{width:50px;height:50px;border-radius:50%;background-color:#03a9f4;color:#fff;font-size:25px;display:flex;justify-content:center;align-items:center;cursor:pointer;box-shadow:0 2px 4px #0003}.circle-button:hover{background-color:#03a9f4}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.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: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
155
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: CustomTableComponent, selector: "app-custom-table", inputs: { question: "question", apiMeta: "apiMeta" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<table class=\"table table-striped table-bordered\">\n <thead>\n <!-- HA 28DEC23 changed table header values and changed table size logic to evenly visible -->\n <!-- <th><input type=\"checkbox\" (change)=\"selectAll($event.target.checked)\"></th> -->\n <th *ngFor=\"let header of tableHeader; let hi = index\" [class]=\"'col-md-' + tableSize\">\n {{ header.label }}\n </th>\n <th class=\"col-md-2\" colspan=\"2\">Actions</th>\n </thead>\n <tbody *ngIf=\"tableData\">\n <tr *ngFor=\"let item of tableData; let i = index\">\n <!-- <td><input type=\"checkbox\" [(ngModel)]=\"item.selected\" (change)=\"selectItem(item)\"></td> -->\n <td *ngFor=\"let header of tableHeader; let j = index\">\n <div *ngIf=\"header.fldType === 'imagetext'\" [class]=\"'col-md-' + header.size\" style=\"display: flex;\">\n <img style=\"width: 35px; height: 32px; margin-right: 5px;\" [src]=\"item.imageSrc\" [alt]=\"item.altText\">\n <input type=\"text\" [(ngModel)]=\"item[header.fieldName]\" (ngModelChange)=\"updateLabel(i, header.fieldName, item[header.fieldName])\" class=\"she-line-input table-input\">\n </div>\n <div *ngIf=\"header.fldType === 'image'\" [class]=\"'col-md-' + header.size\">\n <img style=\"width: 35px; height: 32px; margin-right: 5px;\" [src]=\"item[header.fieldName]\" [alt]=\"item.altText\">\n </div>\n <div *ngIf=\"header.fldType === 'Text' || header.fldType === 'Text'\">\n <!-- VD 26Jun24 - pipe change to handle multiple objects-->\n <input type=\"text\" [disabled]=\"!item.edit\" [ngClass]=\"{'editInput': item.edit}\" [ngModel]=\"'' | getValue: item : header.apiName\" (ngModelChange)=\"updateLabel(i, header.apiName, item[header.apiName])\" class=\"she-line-input table-input\">\n </div>\n <div *ngIf=\"header.fldType === 'radio'\" [class]=\"'col-md-' + header.size\">\n <input type=\"radio\" [name]=\"item.name\" [checked]=\"item.value == header.fieldName\" (click)=\"updateRadio(item, header.fieldName)\">\n </div>\n </td>\n <td class=\"action\">\n <a style=\"display: flex; justify-content: space-evenly;\" (click)=\"editRow(i)\"><img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-edit%402x.png\" class=\"icon-edit1\" /><span>Edit</span></a>\n </td>\n <td class=\"action\">\n <a style=\"display: flex; justify-content: space-evenly;\" (click)=\"deleteRow(i)\"><img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-delete%402x.png\" class=\"deleteIcon\"/><span>Delete</span></a>\n </td>\n </tr>\n </tbody>\n</table>\n<div (click)=\"addRow()\" class=\"addRowClass\"><div class=\"circle-button\">+</div></div>", styles: [".table{width:100%;max-width:100%;margin-bottom:20px;border-collapse:collapse;border-spacing:0}.table-bordered{border:1px solid #ddd}thead{background-color:#03a9f4}thead th{color:#fff;font-size:14px;text-align:center}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}th{text-align:left}thead .permission{text-align:center}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}tbody{color:#797979}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}tbody td{font-size:13px}.permission_yes,.permission_no,.permission_na{text-align:center}.none-border th{border:none}.addRowClass{float:right;margin-right:15%}.editInput{border-bottom:1px solid red!important}.action,.addRowClass{cursor:pointer}.action :hover{color:red}.circle-button{width:50px;height:50px;border-radius:50%;background-color:#03a9f4;color:#fff;font-size:25px;display:flex;justify-content:center;align-items:center;cursor:pointer;box-shadow:0 2px 4px #0003}.circle-button:hover{background-color:#03a9f4}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.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: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i7.GetValuePipe, name: "getValue" }] });
152
156
  }
153
157
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CustomTableComponent, decorators: [{
154
158
  type: Component,
155
- args: [{ selector: 'app-custom-table', template: "<table class=\"table table-striped table-bordered\">\n <thead>\n <!-- HA 28DEC23 changed table header values and changed table size logic to evenly visible -->\n <!-- <th><input type=\"checkbox\" (change)=\"selectAll($event.target.checked)\"></th> -->\n <th *ngFor=\"let header of tableHeader; let hi = index\" [class]=\"'col-md-' + tableSize\">\n {{ header.label }}\n </th>\n <th class=\"col-md-2\" colspan=\"2\">Actions</th>\n </thead>\n <tbody *ngIf=\"tableData\">\n <tr *ngFor=\"let item of tableData; let i = index\">\n <!-- <td><input type=\"checkbox\" [(ngModel)]=\"item.selected\" (change)=\"selectItem(item)\"></td> -->\n <td *ngFor=\"let header of tableHeader; let j = index\">\n <div *ngIf=\"header.fldType === 'imagetext'\" [class]=\"'col-md-' + header.size\" style=\"display: flex;\">\n <img style=\"width: 35px; height: 32px; margin-right: 5px;\" [src]=\"item.imageSrc\" [alt]=\"item.altText\">\n <input type=\"text\" [(ngModel)]=\"item[header.fieldName]\" (ngModelChange)=\"updateLabel(i, header.fieldName, item[header.fieldName])\" class=\"she-line-input table-input\">\n </div>\n <div *ngIf=\"header.fldType === 'image'\" [class]=\"'col-md-' + header.size\">\n <img style=\"width: 35px; height: 32px; margin-right: 5px;\" [src]=\"item[header.fieldName]\" [alt]=\"item.altText\">\n </div>\n <div *ngIf=\"header.fldType === 'Text' || header.fldType === 'Text'\">\n <input type=\"text\" [disabled]=\"!item.edit\" [ngClass]=\"{'editInput': item.edit}\" [(ngModel)]=\"item[header.apiName]\" (ngModelChange)=\"updateLabel(i, header.apiName, item[header.apiName])\" class=\"she-line-input table-input\">\n </div>\n <div *ngIf=\"header.fldType === 'radio'\" [class]=\"'col-md-' + header.size\">\n <input type=\"radio\" [name]=\"item.name\" [checked]=\"item.value == header.fieldName\" (click)=\"updateRadio(item, header.fieldName)\">\n </div>\n </td>\n <td class=\"action\">\n <a style=\"display: flex; justify-content: space-evenly;\" (click)=\"editRow(i)\"><img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-edit%402x.png\" class=\"icon-edit1\" /><span>Edit</span></a>\n </td>\n <td class=\"action\">\n <a style=\"display: flex; justify-content: space-evenly;\" (click)=\"deleteRow(i)\"><img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-delete%402x.png\" class=\"deleteIcon\"/><span>Delete</span></a>\n </td>\n </tr>\n </tbody>\n</table>\n<div (click)=\"addRow()\" class=\"addRowClass\"><div class=\"circle-button\">+</div></div>", styles: [".table{width:100%;max-width:100%;margin-bottom:20px;border-collapse:collapse;border-spacing:0}.table-bordered{border:1px solid #ddd}thead{background-color:#03a9f4}thead th{color:#fff;font-size:14px;text-align:center}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}th{text-align:left}thead .permission{text-align:center}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}tbody{color:#797979}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}tbody td{font-size:13px}.permission_yes,.permission_no,.permission_na{text-align:center}.none-border th{border:none}.addRowClass{float:right;margin-right:15%}.editInput{border-bottom:1px solid red!important}.action,.addRowClass{cursor:pointer}.action :hover{color:red}.circle-button{width:50px;height:50px;border-radius:50%;background-color:#03a9f4;color:#fff;font-size:25px;display:flex;justify-content:center;align-items:center;cursor:pointer;box-shadow:0 2px 4px #0003}.circle-button:hover{background-color:#03a9f4}\n"] }]
159
+ args: [{ selector: 'app-custom-table', template: "<table class=\"table table-striped table-bordered\">\n <thead>\n <!-- HA 28DEC23 changed table header values and changed table size logic to evenly visible -->\n <!-- <th><input type=\"checkbox\" (change)=\"selectAll($event.target.checked)\"></th> -->\n <th *ngFor=\"let header of tableHeader; let hi = index\" [class]=\"'col-md-' + tableSize\">\n {{ header.label }}\n </th>\n <th class=\"col-md-2\" colspan=\"2\">Actions</th>\n </thead>\n <tbody *ngIf=\"tableData\">\n <tr *ngFor=\"let item of tableData; let i = index\">\n <!-- <td><input type=\"checkbox\" [(ngModel)]=\"item.selected\" (change)=\"selectItem(item)\"></td> -->\n <td *ngFor=\"let header of tableHeader; let j = index\">\n <div *ngIf=\"header.fldType === 'imagetext'\" [class]=\"'col-md-' + header.size\" style=\"display: flex;\">\n <img style=\"width: 35px; height: 32px; margin-right: 5px;\" [src]=\"item.imageSrc\" [alt]=\"item.altText\">\n <input type=\"text\" [(ngModel)]=\"item[header.fieldName]\" (ngModelChange)=\"updateLabel(i, header.fieldName, item[header.fieldName])\" class=\"she-line-input table-input\">\n </div>\n <div *ngIf=\"header.fldType === 'image'\" [class]=\"'col-md-' + header.size\">\n <img style=\"width: 35px; height: 32px; margin-right: 5px;\" [src]=\"item[header.fieldName]\" [alt]=\"item.altText\">\n </div>\n <div *ngIf=\"header.fldType === 'Text' || header.fldType === 'Text'\">\n <!-- VD 26Jun24 - pipe change to handle multiple objects-->\n <input type=\"text\" [disabled]=\"!item.edit\" [ngClass]=\"{'editInput': item.edit}\" [ngModel]=\"'' | getValue: item : header.apiName\" (ngModelChange)=\"updateLabel(i, header.apiName, item[header.apiName])\" class=\"she-line-input table-input\">\n </div>\n <div *ngIf=\"header.fldType === 'radio'\" [class]=\"'col-md-' + header.size\">\n <input type=\"radio\" [name]=\"item.name\" [checked]=\"item.value == header.fieldName\" (click)=\"updateRadio(item, header.fieldName)\">\n </div>\n </td>\n <td class=\"action\">\n <a style=\"display: flex; justify-content: space-evenly;\" (click)=\"editRow(i)\"><img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-edit%402x.png\" class=\"icon-edit1\" /><span>Edit</span></a>\n </td>\n <td class=\"action\">\n <a style=\"display: flex; justify-content: space-evenly;\" (click)=\"deleteRow(i)\"><img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-delete%402x.png\" class=\"deleteIcon\"/><span>Delete</span></a>\n </td>\n </tr>\n </tbody>\n</table>\n<div (click)=\"addRow()\" class=\"addRowClass\"><div class=\"circle-button\">+</div></div>", styles: [".table{width:100%;max-width:100%;margin-bottom:20px;border-collapse:collapse;border-spacing:0}.table-bordered{border:1px solid #ddd}thead{background-color:#03a9f4}thead th{color:#fff;font-size:14px;text-align:center}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}th{text-align:left}thead .permission{text-align:center}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}tbody{color:#797979}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}tbody td{font-size:13px}.permission_yes,.permission_no,.permission_na{text-align:center}.none-border th{border:none}.addRowClass{float:right;margin-right:15%}.editInput{border-bottom:1px solid red!important}.action,.addRowClass{cursor:pointer}.action :hover{color:red}.circle-button{width:50px;height:50px;border-radius:50%;background-color:#03a9f4;color:#fff;font-size:25px;display:flex;justify-content:center;align-items:center;cursor:pointer;box-shadow:0 2px 4px #0003}.circle-button:hover{background-color:#03a9f4}\n"] }]
156
160
  }], ctorParameters: function () { return [{ type: i1.ChangeService }, { type: i2.I18nService }, { type: i3.SalesforceService }, { type: i4.DataService }]; }, propDecorators: { question: [{
157
161
  type: Input
158
162
  }], valueChange: [{
@@ -160,4 +164,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
160
164
  }], apiMeta: [{
161
165
  type: Input
162
166
  }] } });
163
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9jb21wb25lbnRzL2N1c3RvbS10YWJsZS9jdXN0b20tdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvY3VzdG9tLXRhYmxlL2N1c3RvbS10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQW1CL0UsTUFBTSxPQUFPLG9CQUFvQjtJQXFCWDtJQUFvQztJQUFrQztJQUFzQztJQXBCdkgsUUFBUSxDQUFVO0lBQ2pCLFdBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUVuRSxTQUFTLENBQWU7SUFDeEIsV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUNqQixTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ2YsYUFBYSxDQUFTO0lBQ3RCLFNBQVMsQ0FBUyxDQUFDLG9DQUFvQztJQUN2RCxPQUFPLENBQU07SUFDYixXQUFXLENBQU07SUFDakIsU0FBUyxDQUFTO0lBQ2xCLE1BQU0sQ0FBUztJQUNmLFNBQVMsR0FBWSxLQUFLLENBQUM7SUFDbEIsT0FBTyxDQUFTO0lBQ2xCLE9BQU8sQ0FBVztJQUN6QixVQUFVLEdBQVksSUFBSSxDQUFDO0lBQzNCLFlBQVksQ0FBZTtJQUVwQixVQUFVLENBQVM7SUFFMUIsWUFBb0IsYUFBNEIsRUFBUSxXQUF3QixFQUFVLFNBQTRCLEVBQVUsV0FBd0I7UUFBcEksa0JBQWEsR0FBYixhQUFhLENBQWU7UUFBUSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFVLGNBQVMsR0FBVCxTQUFTLENBQW1CO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFBSSxDQUFDO0lBRTdKLFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLEdBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7UUFDaEQsZ0NBQWdDO1FBQzVCLElBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUM7WUFDcEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQztTQUN6QztRQUNELElBQUcsSUFBSSxDQUFDLE9BQU8sS0FBSyxTQUFTLEVBQUU7WUFDN0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDbEIsSUFBSSxNQUFNLEdBQVksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDL0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1lBQy9CLElBQUcsTUFBTSxDQUFDLFFBQVEsRUFBQztnQkFDakIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO29CQUN2RSxJQUFJLFNBQVMsQ0FBQztvQkFDZCxJQUFHLE1BQU0sQ0FBQyxRQUFRLEVBQUM7d0JBQ2hCLCtDQUErQzt3QkFDaEQsU0FBUyxHQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7d0JBQ3BFLElBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQzt3QkFDakIsaURBQWlEO3dCQUNqRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTs0QkFDMUMsSUFBSSxJQUFJLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDOzRCQUN4QixPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO3lCQUNwQjt3QkFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztxQkFDeEI7eUJBQUksRUFBRywwREFBMEQ7d0JBQ2hFLFNBQVMsR0FBRyxXQUFXLENBQUM7d0JBQ3hCLElBQUksQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDO3FCQUMxQjtvQkFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxHQUFHLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztvQkFDekUsK0RBQStEO29CQUNoRSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7b0JBQy9CLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFFekMsQ0FBQyxDQUFDLENBQUM7YUFDSjtZQUVELHNEQUFzRDtZQUN0RCxJQUFJLFFBQVEsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUM7WUFDdkMsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFRLHFDQUFxQztZQUN0RSxJQUFHLFFBQVEsRUFBQztnQkFDViwwQ0FBMEM7Z0JBQzFDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQy9ELENBQUMsV0FBVyxFQUFFLEVBQUU7b0JBQ2QsSUFBRyxXQUFXLElBQUksU0FBUyxFQUFFO3dCQUMzQixJQUFHLFdBQVcsQ0FBQyxRQUFRLElBQUksU0FBUyxJQUFJLFdBQVcsQ0FBQyxjQUFjLElBQUksTUFBTSxDQUFDLGdCQUFnQixFQUFFOzRCQUM3RixPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7NEJBQzlCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDOzRCQUN6RSxJQUFJLElBQUksR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDOzRCQUNoQyxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUM7NEJBQ3BCLGtDQUFrQzs0QkFDbkMsSUFBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUM7Z0NBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO29DQUMvQixJQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUM7d0NBQzlCLFNBQVMsR0FBRyxLQUFLLENBQUM7cUNBQ3BCO2dDQUNILENBQUMsQ0FBQyxDQUFDOzZCQUNKOzRCQUNELElBQUcsU0FBUyxFQUFDO2dDQUNYLElBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFDO29DQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFDLElBQUksQ0FBQyxDQUFDO29DQUMxQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2lDQUN6QztxQ0FBSztvQ0FDSixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztvQ0FDMUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztpQ0FDekM7NkJBQ0Y7eUJBQ0Y7d0JBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7cUJBQzNEO2dCQUNILENBQUMsQ0FDRixDQUFDO2FBQ0g7U0FDRjtRQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6QyxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDN0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFHRCxNQUFNO1FBQ0osSUFBSSxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDOUIsSUFBRyxJQUFJLENBQUMsT0FBTyxFQUFDO2dCQUNkLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUUsRUFBRSxDQUFDO2FBQzNCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxNQUFNLGdCQUFnQixHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxTQUFTLEdBQUcsZ0JBQWdCLENBQUM7UUFDbEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFTLEVBQUUsS0FBYTtRQUNsQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxXQUFXLENBQUMsUUFBZ0IsRUFBRSxLQUFhLEVBQUUsS0FBYTtRQUN4RCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUN4QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFDRCxTQUFTLENBQUMsUUFBZ0I7UUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxPQUFPLENBQUMsUUFBZ0I7UUFDdEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ1YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDL0IsSUFBRyxDQUFDLEtBQUssUUFBUSxFQUFDO2dCQUNoQixPQUFPLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQzthQUNyQjtZQUNELENBQUMsRUFBRSxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsWUFBWSxDQUFDLElBQVMsRUFBRSxLQUFhLEVBQUUsS0FBYTtRQUNsRCxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFHRCxrQkFBa0IsQ0FBQyxnQkFBdUI7UUFDeEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUMxQyxDQUFDO3dHQWhKVSxvQkFBb0I7NEZBQXBCLG9CQUFvQix1SkNuQmpDLHNrRkFvQ29GOzs0RkRqQnZFLG9CQUFvQjtrQkFOaEMsU0FBUzsrQkFDRSxrQkFBa0I7d0xBTW5CLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTTtnQkFZRSxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4vLyBIQSAxOURFQzIzIGltcG9ydGVkIHRyYW5zbGF0aW9uIHNlcnZpY2VcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaTE4bi5zZXJ2aWNlJztcbmltcG9ydCB7IFRhYmxlV3JhcHBlciB9IGZyb20gJy4uLy4uL21vZGVsL3RhYmxlV3JhcHBlcic7XG5pbXBvcnQgeyBTYWxlc2ZvcmNlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3NhbGVzZm9yY2Uuc2VydmljZSc7XG5pbXBvcnQgeyBRdWVzdGlvbiB9IGZyb20gJy4uLy4uL3dyYXBwZXInO1xuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kYXRhLnNlcnZpY2UnO1xuaW1wb3J0IHsgQVBJTWV0YSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvYXBpbWV0YSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENoYW5nZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jaGFuZ2Uuc2VydmljZSc7XG5cbmRlY2xhcmUgdmFyICQ6IGFueTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWN1c3RvbS10YWJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jdXN0b20tdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jdXN0b20tdGFibGUuY29tcG9uZW50LmNzcyddXG59KVxuXG5leHBvcnQgY2xhc3MgQ3VzdG9tVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBxdWVzdGlvbjogUXVlc3Rpb25cbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIHRhYmxlSW5mbzogVGFibGVXcmFwcGVyO1xuICB0YWJsZUhlYWRlciA9IFtdO1xuICB0YWJsZURhdGEgPSBbXTtcbiAgYWRkUm93Q29sU3BhbjogbnVtYmVyO1xuICB0YWJsZVNpemU6IG51bWJlcjsgLy8gSEEgMjhERUMyMyB0YWJsZSBzaXplIGRlY2xhcmF0aW9uXG4gIG9iak5hbWU6IGFueTtcbiAgZmlsdGVyTG9naWM6IGFueTtcbiAgZmllbGRNZXRhOiBzdHJpbmc7XG4gIGZpclN0cjogc3RyaW5nO1xuICBzZWFyY2hCb3g6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgYXBpTWV0YTogc3RyaW5nO1xuICBwdWJsaWMgb3B0aW9uczogc3RyaW5nW107XG4gIGlzRGlzYWJsZWQ6IGJvb2xlYW4gPSB0cnVlO1xuICBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBwdWJsaWMgbGFiZWxGaWVsZDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlU2VydmljZTogQ2hhbmdlU2VydmljZSxwdWJsaWMgaTE4blNlcnZpY2U6IEkxOG5TZXJ2aWNlLCBwcml2YXRlIHNmU2VydmljZTogU2FsZXNmb3JjZVNlcnZpY2UsIHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnRhYmxlSGVhZGVyID0gSlNPTi5wYXJzZSh0aGlzLnF1ZXN0aW9uWydGaWVsZHNfTWV0YV9fYyddKTtcbiAgICB0aGlzLnRhYmxlU2l6ZSA9IDEwL3RoaXMudGFibGVIZWFkZXIubGVuZ3RoO1xuLy8gMTJKVU4yNCAtIGRlZmF1bHQgdGFibGUgdmFsdWVcbiAgICBpZih0aGlzLnF1ZXN0aW9uPy5pbnB1dCl7XG4gICAgICAgIHRoaXMudGFibGVEYXRhID0gdGhpcy5xdWVzdGlvbj8uaW5wdXQ7XG4gICAgfVxuICAgIGlmKHRoaXMuYXBpTWV0YSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLm9wdGlvbnMgPSBbXTtcbiAgICAgIGxldCBhcGlPYmo6IEFQSU1ldGEgPSBKU09OLnBhcnNlKHRoaXMuYXBpTWV0YSk7XG4gICAgICB0aGlzLmxhYmVsRmllbGQgPSBhcGlPYmouZmllbGQ7XG4gICAgICBpZihhcGlPYmouZW5kcG9pbnQpe1xuICAgICAgICB0aGlzLmRhdGFTZXJ2aWNlLmFwaVJlc3BvbnNlKGFwaU9iai5lbmRwb2ludCk/LnN1YnNjcmliZSgoYXBpUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICBsZXQgcmVzcG9uc2VzO1xuICAgICAgICAgIGlmKGFwaU9iai52YXJpYWJsZSl7XG4gICAgICAgICAgICAgLy8gVkQgMjJNYXkyNCAtIGhhbmRsaW5nIG11bHRpcGxlIGNoaWxkIG9iamVjdHNcbiAgICAgICAgICAgIHJlc3BvbnNlcyA9ICB0aGlzLmRhdGFTZXJ2aWNlLmdldFZhbHVlKGFwaVJlc3BvbnNlLGFwaU9iai52YXJpYWJsZSk7XG4gICAgICAgICAgICBsZXQgcmVzdWx0cyA9IFtdO1xuICAgICAgICAgICAgLy8gSEEgMTlKQU4yNCBUbyBhdm9pZCB1bmRlZmluZWQgZXJyb3IgaW4gY29uc29sZVxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByZXNwb25zZXM/Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgIHZhciByZXNwID0gcmVzcG9uc2VzW2ldO1xuICAgICAgICAgICAgICByZXN1bHRzLnB1c2gocmVzcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMgPSByZXN1bHRzO1xuICAgICAgICAgIH1lbHNleyAgLy8gVkQgMTlKQU4yNCAtIGlmIHJlc3BvbnNlIGhhcyB2YWx1ZSh3aGljaCBpcyBhcnJheSkgb25seVxuICAgICAgICAgICAgcmVzcG9uc2VzID0gYXBpUmVzcG9uc2U7XG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMgPSByZXNwb25zZXM7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMub3B0aW9ucyA9IHRoaXMub3B0aW9ucy5tYXAoKG9iajogYW55KSA9PiAoeyAuLi5vYmosIGVkaXQ6IGZhbHNlIH0pKTtcbiAgICAgICAgICAvLyBSZWZlcmVuY2UgaHR0cHM6Ly93d3cubnBtanMuY29tL3BhY2thZ2UvQG5nLXNlbGVjdC9uZy1zZWxlY3RcbiAgICAgICAgIHRoaXMudGFibGVEYXRhID0gdGhpcy5vcHRpb25zO1xuICAgICAgICBjb25zb2xlLmxvZygndGFibGVEYXRhJywgdGhpcy50YWJsZURhdGEpO1xuICAgICAgICAgIFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgXG4gICAgICAvLyBWRCBOT1YyMyAtIGhhbmRsZSB0aGUgZGVwZW5kZW50IHVwZGF0ZSBmb3IgZHJvcGRvd25cbiAgICAgIGxldCBzb3VyY2VJZCA9IGFwaU9iai5zb3VyY2VRdWVzdGlvbklkO1xuICAgICAgbGV0IGZpZWxkID0gYXBpT2JqLmZpZWxkOyAgICAgICAgLy8gVkQgMTNNQVkyNCAtIGR5bmFtaWMgZmllbGQgY2hhbmdlc1xuICAgICAgaWYoc291cmNlSWQpe1xuICAgICAgICAvLyAvLyBWRCAxME1heTI0IFN1YnNjcmliZSBmb3IgdGhlIGNoYW5nZXNcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLmNoYW5nZVNlcnZpY2UuY2hhbmdlQW5ub3VuY2VkJC5zdWJzY3JpYmUoXG4gICAgICAgICAgKGNoYW5nZVZhbHVlKSA9PiB7XG4gICAgICAgICAgICBpZihjaGFuZ2VWYWx1ZSAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgaWYoY2hhbmdlVmFsdWUudmFsdWVPYmogIT0gdW5kZWZpbmVkICYmIGNoYW5nZVZhbHVlLmZyb21RdWVzdGlvbklkID09IGFwaU9iai5zb3VyY2VRdWVzdGlvbklkKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ2NoYW5nZXMgaGFwcGVuJyk7XG4gICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zID0gdGhpcy5vcHRpb25zLm1hcCgob2JqOiBhbnkpID0+ICh7IC4uLm9iaiwgZWRpdDogZmFsc2UgfSkpO1xuICAgICAgICAgICAgICAgIGxldCBpdGVtID0gY2hhbmdlVmFsdWUudmFsdWVPYmo7XG4gICAgICAgICAgICAgICAgbGV0IHZhbGlkSXRlbSA9IHRydWU7XG4gICAgICAgICAgICAgICAgIC8vIFZEIDEzTUFZMjQgLSBiaW5kIGR5bmFtaWMgZmllbGRcbiAgICAgICAgICAgICAgICBpZih0aGlzLnRhYmxlRGF0YS5sZW5ndGggPiAwKXtcbiAgICAgICAgICAgICAgICAgIHRoaXMudGFibGVEYXRhLmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmKGVsZW1lbnRbZmllbGRdID09IGl0ZW1bZmllbGRdKXtcbiAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRJdGVtID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZih2YWxpZEl0ZW0pe1xuICAgICAgICAgICAgICAgICAgaWYodGhpcy50YWJsZURhdGEubGVuZ3RoID4gMCl7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFibGVEYXRhID0gWy4uLnRoaXMudGFibGVEYXRhLGl0ZW1dO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVtaXRUYWJsZURhdGFWYWx1ZSh0aGlzLnRhYmxlRGF0YSk7XG4gICAgICAgICAgICAgICAgICB9ZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFibGVEYXRhLnB1c2goaXRlbSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZW1pdFRhYmxlRGF0YVZhbHVlKHRoaXMudGFibGVEYXRhKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VTZXJ2aWNlLmNvbmZpcm1DaGFuZ2UoYXBpT2JqLnNvdXJjZVF1ZXN0aW9uSWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgY29uc29sZS5sb2coJ3RhYmxlRGF0YScsIHRoaXMudGFibGVEYXRhKTtcbiAgICBjb25zb2xlLmxvZygndGFibGVIZWFkZXInLCB0aGlzLnRhYmxlSGVhZGVyKTtcbiAgICBjb25zb2xlLmxvZygndGFibGVJbmZvJywgdGhpcy50YWJsZUluZm8pO1xuICB9XG5cblxuICBhZGRSb3coKTogdm9pZCB7XG4gICAgbGV0IG5ld0l0ZW0gPSB7fTtcbiAgICAgIHRoaXMudGFibGVIZWFkZXIuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgaWYoaXRlbS5hcGlOYW1lKXtcbiAgICAgICAgICBuZXdJdGVtW2l0ZW0uYXBpTmFtZV09IFwiXCI7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIGNvbnN0IHVwZGF0ZWRUYWJsZURhdGEgPSBbLi4udGhpcy50YWJsZURhdGEsIG5ld0l0ZW1dO1xuICAgIHRoaXMudGFibGVEYXRhID0gdXBkYXRlZFRhYmxlRGF0YTtcbiAgICB0aGlzLmVtaXRUYWJsZURhdGFWYWx1ZSh1cGRhdGVkVGFibGVEYXRhKTtcbiAgfVxuXG4gIHVwZGF0ZVJhZGlvKGl0ZW06IGFueSwgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGl0ZW0udmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLmVtaXRUYWJsZURhdGFWYWx1ZSh0aGlzLnRhYmxlRGF0YSk7XG4gIH1cblxuICB1cGRhdGVMYWJlbChyb3dJbmRleDogbnVtYmVyLCBsYWJlbDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy50YWJsZURhdGFbcm93SW5kZXhdW2xhYmVsXSA9IHZhbHVlO1xuICAgIHRoaXMuZW1pdFRhYmxlRGF0YVZhbHVlKHRoaXMudGFibGVEYXRhKTtcbiAgfVxuICBkZWxldGVSb3cocm93SW5kZXg6IG51bWJlcil7XG4gICAgdGhpcy50YWJsZURhdGEuc3BsaWNlKHJvd0luZGV4LCAxKTtcbiAgfVxuICBlZGl0Um93KHJvd0luZGV4OiBudW1iZXIpe1xuICAgIHZhciBhID0gMDtcbiAgICB0aGlzLnRhYmxlRGF0YS5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgaWYoYSA9PT0gcm93SW5kZXgpe1xuICAgICAgICBlbGVtZW50LmVkaXQgPSB0cnVlO1xuICAgICAgfVxuICAgICAgYSsrO1xuICAgIH0pO1xuICB9XG5cbiAgdXBkYXRlTnVtYmVyKGl0ZW06IGFueSwgbGFiZWw6IHN0cmluZywgdmFsdWU6IHN0cmluZyl7XG4gICAgaXRlbS52YWx1ZVtsYWJlbF0gPSB2YWx1ZTtcbiAgICB0aGlzLmVtaXRUYWJsZURhdGFWYWx1ZSh0aGlzLnRhYmxlRGF0YSk7XG4gIH1cblxuXG4gIGVtaXRUYWJsZURhdGFWYWx1ZSh1cGRhdGVkVGFibGVEYXRhOiBhbnlbXSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh1cGRhdGVkVGFibGVEYXRhKTtcbiAgfVxufSIsIjx0YWJsZSBjbGFzcz1cInRhYmxlIHRhYmxlLXN0cmlwZWQgdGFibGUtYm9yZGVyZWRcIj5cbiAgPHRoZWFkPlxuICAgIDwhLS0gSEEgMjhERUMyMyBjaGFuZ2VkIHRhYmxlIGhlYWRlciB2YWx1ZXMgYW5kIGNoYW5nZWQgdGFibGUgc2l6ZSBsb2dpYyB0byBldmVubHkgdmlzaWJsZSAtLT5cbiAgICA8IS0tIDx0aD48aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgKGNoYW5nZSk9XCJzZWxlY3RBbGwoJGV2ZW50LnRhcmdldC5jaGVja2VkKVwiPjwvdGg+IC0tPlxuICAgIDx0aCAqbmdGb3I9XCJsZXQgaGVhZGVyIG9mIHRhYmxlSGVhZGVyOyBsZXQgaGkgPSBpbmRleFwiIFtjbGFzc109XCInY29sLW1kLScgKyB0YWJsZVNpemVcIj5cbiAgICAgIHt7IGhlYWRlci5sYWJlbCB9fVxuICAgIDwvdGg+XG4gICAgPHRoIGNsYXNzPVwiY29sLW1kLTJcIiBjb2xzcGFuPVwiMlwiPkFjdGlvbnM8L3RoPlxuICA8L3RoZWFkPlxuICA8dGJvZHkgKm5nSWY9XCJ0YWJsZURhdGFcIj5cbiAgICA8dHIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgdGFibGVEYXRhOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICA8IS0tIDx0ZD48aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgWyhuZ01vZGVsKV09XCJpdGVtLnNlbGVjdGVkXCIgKGNoYW5nZSk9XCJzZWxlY3RJdGVtKGl0ZW0pXCI+PC90ZD4gLS0+XG4gICAgICA8dGQgKm5nRm9yPVwibGV0IGhlYWRlciBvZiB0YWJsZUhlYWRlcjsgbGV0IGogPSBpbmRleFwiPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiaGVhZGVyLmZsZFR5cGUgPT09ICdpbWFnZXRleHQnXCIgW2NsYXNzXT1cIidjb2wtbWQtJyArIGhlYWRlci5zaXplXCIgc3R5bGU9XCJkaXNwbGF5OiBmbGV4O1wiPlxuICAgICAgICAgIDxpbWcgc3R5bGU9XCJ3aWR0aDogMzVweDsgaGVpZ2h0OiAzMnB4OyBtYXJnaW4tcmlnaHQ6IDVweDtcIiBbc3JjXT1cIml0ZW0uaW1hZ2VTcmNcIiBbYWx0XT1cIml0ZW0uYWx0VGV4dFwiPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwiaXRlbVtoZWFkZXIuZmllbGROYW1lXVwiIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZUxhYmVsKGksIGhlYWRlci5maWVsZE5hbWUsIGl0ZW1baGVhZGVyLmZpZWxkTmFtZV0pXCIgY2xhc3M9XCJzaGUtbGluZS1pbnB1dCB0YWJsZS1pbnB1dFwiPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cImhlYWRlci5mbGRUeXBlID09PSAnaW1hZ2UnXCIgW2NsYXNzXT1cIidjb2wtbWQtJyArIGhlYWRlci5zaXplXCI+XG4gICAgICAgICAgPGltZyBzdHlsZT1cIndpZHRoOiAzNXB4OyBoZWlnaHQ6IDMycHg7IG1hcmdpbi1yaWdodDogNXB4O1wiIFtzcmNdPVwiaXRlbVtoZWFkZXIuZmllbGROYW1lXVwiIFthbHRdPVwiaXRlbS5hbHRUZXh0XCI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiaGVhZGVyLmZsZFR5cGUgPT09ICdUZXh0JyB8fCBoZWFkZXIuZmxkVHlwZSA9PT0gJ1RleHQnXCI+XG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgW2Rpc2FibGVkXT1cIiFpdGVtLmVkaXRcIiBbbmdDbGFzc109XCJ7J2VkaXRJbnB1dCc6IGl0ZW0uZWRpdH1cIiBbKG5nTW9kZWwpXT1cIml0ZW1baGVhZGVyLmFwaU5hbWVdXCIgKG5nTW9kZWxDaGFuZ2UpPVwidXBkYXRlTGFiZWwoaSwgaGVhZGVyLmFwaU5hbWUsIGl0ZW1baGVhZGVyLmFwaU5hbWVdKVwiIGNsYXNzPVwic2hlLWxpbmUtaW5wdXQgdGFibGUtaW5wdXRcIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJoZWFkZXIuZmxkVHlwZSA9PT0gJ3JhZGlvJ1wiIFtjbGFzc109XCInY29sLW1kLScgKyBoZWFkZXIuc2l6ZVwiPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwicmFkaW9cIiBbbmFtZV09XCJpdGVtLm5hbWVcIiBbY2hlY2tlZF09XCJpdGVtLnZhbHVlID09IGhlYWRlci5maWVsZE5hbWVcIiAgKGNsaWNrKT1cInVwZGF0ZVJhZGlvKGl0ZW0sIGhlYWRlci5maWVsZE5hbWUpXCI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC90ZD5cbiAgICAgIDx0ZCBjbGFzcz1cImFjdGlvblwiPlxuICAgICAgICA8YSBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1wiIChjbGljayk9XCJlZGl0Um93KGkpXCI+PGltZyBzcmM9XCJodHRwczovL3JueHQuczMuYW1hem9uYXdzLmNvbS9NeXRJY29uL2ljb24tZWRpdCU0MDJ4LnBuZ1wiIGNsYXNzPVwiaWNvbi1lZGl0MVwiIC8+PHNwYW4+RWRpdDwvc3Bhbj48L2E+XG4gICAgICA8L3RkPlxuICAgICAgPHRkIGNsYXNzPVwiYWN0aW9uXCI+XG4gICAgICAgIDxhIHN0eWxlPVwiZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XCIgKGNsaWNrKT1cImRlbGV0ZVJvdyhpKVwiPjxpbWcgc3JjPVwiaHR0cHM6Ly9ybnh0LnMzLmFtYXpvbmF3cy5jb20vTXl0SWNvbi9pY29uLWRlbGV0ZSU0MDJ4LnBuZ1wiIGNsYXNzPVwiZGVsZXRlSWNvblwiLz48c3Bhbj5EZWxldGU8L3NwYW4+PC9hPlxuICAgICAgPC90ZD5cbiAgICA8L3RyPlxuICA8L3Rib2R5PlxuPC90YWJsZT5cbjxkaXYgKGNsaWNrKT1cImFkZFJvdygpXCIgY2xhc3M9XCJhZGRSb3dDbGFzc1wiPjxkaXYgY2xhc3M9XCJjaXJjbGUtYnV0dG9uXCI+KzwvZGl2PjwvZGl2PiJdfQ==
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9jb21wb25lbnRzL2N1c3RvbS10YWJsZS9jdXN0b20tdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvY3VzdG9tLXRhYmxlL2N1c3RvbS10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7QUFtQi9FLE1BQU0sT0FBTyxvQkFBb0I7SUFxQlg7SUFBb0M7SUFBa0M7SUFBc0M7SUFwQnZILFFBQVEsQ0FBVTtJQUNqQixXQUFXLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7SUFFbkUsU0FBUyxDQUFlO0lBQ3hCLFdBQVcsR0FBRyxFQUFFLENBQUM7SUFDakIsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUNmLGFBQWEsQ0FBUztJQUN0QixTQUFTLENBQVMsQ0FBQyxvQ0FBb0M7SUFDdkQsT0FBTyxDQUFNO0lBQ2IsV0FBVyxDQUFNO0lBQ2pCLFNBQVMsQ0FBUztJQUNsQixNQUFNLENBQVM7SUFDZixTQUFTLEdBQVksS0FBSyxDQUFDO0lBQ2xCLE9BQU8sQ0FBUztJQUNsQixPQUFPLENBQVc7SUFDekIsVUFBVSxHQUFZLElBQUksQ0FBQztJQUMzQixZQUFZLENBQWU7SUFFcEIsVUFBVSxDQUFTO0lBRTFCLFlBQW9CLGFBQTRCLEVBQVEsV0FBd0IsRUFBVSxTQUE0QixFQUFVLFdBQXdCO1FBQXBJLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQVEsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBVSxjQUFTLEdBQVQsU0FBUyxDQUFtQjtRQUFVLGdCQUFX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QUFLLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDeEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBQ0QsU0FBUyxDQUFDLFFBQWdCO1FBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBQ0QsT0FBTyxDQUFDLFFBQWdCO1FBQ3RCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNWLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQy9CLElBQUcsQ0FBQyxLQUFLLFFBQVEsRUFBQztnQkFDaEIsT0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7YUFDckI7WUFDRCxDQUFDLEVBQUUsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFTLEVBQUUsS0FBYSxFQUFFLEtBQWE7UUFDbEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBR0Qsa0JBQWtCLENBQUMsZ0JBQXVCO1FBQ3hDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDMUMsQ0FBQzt3R0FuSlUsb0JBQW9COzRGQUFwQixvQkFBb0IsdUpDbkJqQywycEZBcUNvRjs7NEZEbEJ2RSxvQkFBb0I7a0JBTmhDLFNBQVM7K0JBQ0Usa0JBQWtCO3dMQU1uQixRQUFRO3NCQUFoQixLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU07Z0JBWUUsT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuLy8gSEEgMTlERUMyMyBpbXBvcnRlZCB0cmFuc2xhdGlvbiBzZXJ2aWNlXG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uL2kxOG4uc2VydmljZSc7XG5pbXBvcnQgeyBUYWJsZVdyYXBwZXIgfSBmcm9tICcuLi8uLi9tb2RlbC90YWJsZVdyYXBwZXInO1xuaW1wb3J0IHsgU2FsZXNmb3JjZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zYWxlc2ZvcmNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUXVlc3Rpb24gfSBmcm9tICcuLi8uLi93cmFwcGVyJztcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0YS5zZXJ2aWNlJztcbmltcG9ydCB7IEFQSU1ldGEgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2FwaW1ldGEnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDaGFuZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2hhbmdlLnNlcnZpY2UnO1xuXG5kZWNsYXJlIHZhciAkOiBhbnk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jdXN0b20tdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vY3VzdG9tLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY3VzdG9tLXRhYmxlLmNvbXBvbmVudC5jc3MnXVxufSlcblxuZXhwb3J0IGNsYXNzIEN1c3RvbVRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcXVlc3Rpb246IFF1ZXN0aW9uXG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICB0YWJsZUluZm86IFRhYmxlV3JhcHBlcjtcbiAgdGFibGVIZWFkZXIgPSBbXTtcbiAgdGFibGVEYXRhID0gW107XG4gIGFkZFJvd0NvbFNwYW46IG51bWJlcjtcbiAgdGFibGVTaXplOiBudW1iZXI7IC8vIEhBIDI4REVDMjMgdGFibGUgc2l6ZSBkZWNsYXJhdGlvblxuICBvYmpOYW1lOiBhbnk7XG4gIGZpbHRlckxvZ2ljOiBhbnk7XG4gIGZpZWxkTWV0YTogc3RyaW5nO1xuICBmaXJTdHI6IHN0cmluZztcbiAgc2VhcmNoQm94OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGFwaU1ldGE6IHN0cmluZztcbiAgcHVibGljIG9wdGlvbnM6IHN0cmluZ1tdO1xuICBpc0Rpc2FibGVkOiBib29sZWFuID0gdHJ1ZTtcbiAgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgcHVibGljIGxhYmVsRmllbGQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZVNlcnZpY2U6IENoYW5nZVNlcnZpY2UscHVibGljIGkxOG5TZXJ2aWNlOiBJMThuU2VydmljZSwgcHJpdmF0ZSBzZlNlcnZpY2U6IFNhbGVzZm9yY2VTZXJ2aWNlLCBwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy50YWJsZUhlYWRlciA9IEpTT04ucGFyc2UodGhpcy5xdWVzdGlvblsnRmllbGRzX01ldGFfX2MnXSk7XG4gICAgdGhpcy50YWJsZVNpemUgPSAxMC90aGlzLnRhYmxlSGVhZGVyLmxlbmd0aDtcbi8vIDEySlVOMjQgLSBkZWZhdWx0IHRhYmxlIHZhbHVlXG4gICAgaWYodGhpcy5xdWVzdGlvbj8uaW5wdXQpe1xuICAgICAgICB0aGlzLnRhYmxlRGF0YSA9IHRoaXMucXVlc3Rpb24/LmlucHV0O1xuICAgIH1cbiAgICBpZih0aGlzLmFwaU1ldGEgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5vcHRpb25zID0gW107XG4gICAgICBsZXQgYXBpT2JqOiBBUElNZXRhID0gSlNPTi5wYXJzZSh0aGlzLmFwaU1ldGEpO1xuICAgICAgdGhpcy5sYWJlbEZpZWxkID0gYXBpT2JqLmZpZWxkO1xuICAgICAgaWYoYXBpT2JqLmVuZHBvaW50KXtcbiAgICAgICAgdGhpcy5kYXRhU2VydmljZS5hcGlSZXNwb25zZShhcGlPYmouZW5kcG9pbnQpPy5zdWJzY3JpYmUoKGFwaVJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgbGV0IHJlc3BvbnNlcztcbiAgICAgICAgICBpZihhcGlPYmoudmFyaWFibGUpe1xuICAgICAgICAgICAgIC8vIFZEIDIyTWF5MjQgLSBoYW5kbGluZyBtdWx0aXBsZSBjaGlsZCBvYmplY3RzXG4gICAgICAgICAgICByZXNwb25zZXMgPSAgdGhpcy5kYXRhU2VydmljZS5nZXRWYWx1ZShhcGlSZXNwb25zZSxhcGlPYmoudmFyaWFibGUpO1xuICAgICAgICAgICAgbGV0IHJlc3VsdHMgPSBbXTtcbiAgICAgICAgICAgIC8vIEhBIDE5SkFOMjQgVG8gYXZvaWQgdW5kZWZpbmVkIGVycm9yIGluIGNvbnNvbGVcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcmVzcG9uc2VzPy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICB2YXIgcmVzcCA9IHJlc3BvbnNlc1tpXTtcbiAgICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHJlc3ApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5vcHRpb25zID0gcmVzdWx0cztcbiAgICAgICAgICB9ZWxzZXsgIC8vIFZEIDE5SkFOMjQgLSBpZiByZXNwb25zZSBoYXMgdmFsdWUod2hpY2ggaXMgYXJyYXkpIG9ubHlcbiAgICAgICAgICAgIHJlc3BvbnNlcyA9IGFwaVJlc3BvbnNlO1xuICAgICAgICAgICAgdGhpcy5vcHRpb25zID0gcmVzcG9uc2VzO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLm9wdGlvbnMubWFwKChvYmo6IGFueSkgPT4gKHsgLi4ub2JqLCBlZGl0OiBmYWxzZSB9KSk7XG4gICAgICAgICAgLy8gUmVmZXJlbmNlIGh0dHBzOi8vd3d3Lm5wbWpzLmNvbS9wYWNrYWdlL0BuZy1zZWxlY3Qvbmctc2VsZWN0XG4gICAgICAgICB0aGlzLnRhYmxlRGF0YSA9IHRoaXMub3B0aW9ucztcbiAgICAgICAgY29uc29sZS5sb2coJ3RhYmxlRGF0YScsIHRoaXMudGFibGVEYXRhKTtcbiAgICAgICAgICBcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgIFxuICAgICAgLy8gVkQgTk9WMjMgLSBoYW5kbGUgdGhlIGRlcGVuZGVudCB1cGRhdGUgZm9yIGRyb3Bkb3duXG4gICAgICBsZXQgc291cmNlSWQgPSBhcGlPYmouc291cmNlUXVlc3Rpb25JZDtcbiAgICAgIGxldCBmaWVsZCA9IGFwaU9iai5maWVsZDsgICAgICAgIC8vIFZEIDEzTUFZMjQgLSBkeW5hbWljIGZpZWxkIGNoYW5nZXNcbiAgICAgIGlmKHNvdXJjZUlkKXtcbiAgICAgICAgLy8gLy8gVkQgMTBNYXkyNCBTdWJzY3JpYmUgZm9yIHRoZSBjaGFuZ2VzXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5jaGFuZ2VTZXJ2aWNlLmNoYW5nZUFubm91bmNlZCQuc3Vic2NyaWJlKFxuICAgICAgICAgIChjaGFuZ2VWYWx1ZSkgPT4ge1xuICAgICAgICAgICAgaWYoY2hhbmdlVmFsdWUgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgIGlmKGNoYW5nZVZhbHVlLnZhbHVlT2JqICE9IHVuZGVmaW5lZCAmJiBjaGFuZ2VWYWx1ZS5mcm9tUXVlc3Rpb25JZCA9PSBhcGlPYmouc291cmNlUXVlc3Rpb25JZCkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdjaGFuZ2VzIGhhcHBlbicpO1xuICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucyA9IHRoaXMub3B0aW9ucy5tYXAoKG9iajogYW55KSA9PiAoeyAuLi5vYmosIGVkaXQ6IGZhbHNlIH0pKTtcbiAgICAgICAgICAgICAgICBsZXQgaXRlbSA9IGNoYW5nZVZhbHVlLnZhbHVlT2JqO1xuICAgICAgICAgICAgICAgIGxldCB2YWxpZEl0ZW0gPSB0cnVlO1xuICAgICAgICAgICAgICAgICAvLyBWRCAxM01BWTI0IC0gYmluZCBkeW5hbWljIGZpZWxkXG4gICAgICAgICAgICAgICAgaWYodGhpcy50YWJsZURhdGEubGVuZ3RoID4gMCl7XG4gICAgICAgICAgICAgICAgICB0aGlzLnRhYmxlRGF0YS5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgIC8vIFZEIDI2SnVuMjQgLSB0byBoYW5kbGUgbXVsdGlwbGUgb2JqZWN0c1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBvYmpFbGVtZW50VmFsdWUgPSB0aGlzLmRhdGFTZXJ2aWNlLmdldFZhbHVlKGVsZW1lbnQsZmllbGQpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBvYmpJdGVtVmFsdWUgPSB0aGlzLmRhdGFTZXJ2aWNlLmdldFZhbHVlKGl0ZW0sZmllbGQpXG4gICAgICAgICAgICAgICAgICAgIGlmKG9iakVsZW1lbnRWYWx1ZSA9PSBvYmpJdGVtVmFsdWUpe1xuICAgICAgICAgICAgICAgICAgICAgICB2YWxpZEl0ZW0gPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmKHZhbGlkSXRlbSl7XG4gICAgICAgICAgICAgICAgICBpZih0aGlzLnRhYmxlRGF0YS5sZW5ndGggPiAwKXtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YWJsZURhdGEgPSBbLi4udGhpcy50YWJsZURhdGEsaXRlbV07XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZW1pdFRhYmxlRGF0YVZhbHVlKHRoaXMudGFibGVEYXRhKTtcbiAgICAgICAgICAgICAgICAgIH1lbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YWJsZURhdGEucHVzaChpdGVtKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbWl0VGFibGVEYXRhVmFsdWUodGhpcy50YWJsZURhdGEpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB0aGlzLmNoYW5nZVNlcnZpY2UuY29uZmlybUNoYW5nZShhcGlPYmouc291cmNlUXVlc3Rpb25JZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zb2xlLmxvZygndGFibGVEYXRhJywgdGhpcy50YWJsZURhdGEpO1xuICAgIGNvbnNvbGUubG9nKCd0YWJsZUhlYWRlcicsIHRoaXMudGFibGVIZWFkZXIpO1xuICAgIGNvbnNvbGUubG9nKCd0YWJsZUluZm8nLCB0aGlzLnRhYmxlSW5mbyk7XG4gIH1cblxuXG4gIGFkZFJvdygpOiB2b2lkIHtcbiAgICBsZXQgbmV3SXRlbSA9IHt9O1xuICAgICAgdGhpcy50YWJsZUhlYWRlci5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICBpZihpdGVtLmFwaU5hbWUpe1xuICAgICAgICAgIG5ld0l0ZW1baXRlbS5hcGlOYW1lXT0gXCJcIjtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgY29uc3QgdXBkYXRlZFRhYmxlRGF0YSA9IFsuLi50aGlzLnRhYmxlRGF0YSwgbmV3SXRlbV07XG4gICAgdGhpcy50YWJsZURhdGEgPSB1cGRhdGVkVGFibGVEYXRhO1xuICAgIHRoaXMuZW1pdFRhYmxlRGF0YVZhbHVlKHVwZGF0ZWRUYWJsZURhdGEpO1xuICB9XG5cbiAgdXBkYXRlUmFkaW8oaXRlbTogYW55LCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaXRlbS52YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMuZW1pdFRhYmxlRGF0YVZhbHVlKHRoaXMudGFibGVEYXRhKTtcbiAgfVxuXG4gIHVwZGF0ZUxhYmVsKHJvd0luZGV4OiBudW1iZXIsIGxhYmVsOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnRhYmxlRGF0YVtyb3dJbmRleF1bbGFiZWxdID0gdmFsdWU7XG4gICAgdGhpcy5lbWl0VGFibGVEYXRhVmFsdWUodGhpcy50YWJsZURhdGEpO1xuICB9XG4gIGRlbGV0ZVJvdyhyb3dJbmRleDogbnVtYmVyKXtcbiAgICB0aGlzLnRhYmxlRGF0YS5zcGxpY2Uocm93SW5kZXgsIDEpO1xuICB9XG4gIGVkaXRSb3cocm93SW5kZXg6IG51bWJlcil7XG4gICAgdmFyIGEgPSAwO1xuICAgIHRoaXMudGFibGVEYXRhLmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICBpZihhID09PSByb3dJbmRleCl7XG4gICAgICAgIGVsZW1lbnQuZWRpdCA9IHRydWU7XG4gICAgICB9XG4gICAgICBhKys7XG4gICAgfSk7XG4gIH1cblxuICB1cGRhdGVOdW1iZXIoaXRlbTogYW55LCBsYWJlbDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKXtcbiAgICBpdGVtLnZhbHVlW2xhYmVsXSA9IHZhbHVlO1xuICAgIHRoaXMuZW1pdFRhYmxlRGF0YVZhbHVlKHRoaXMudGFibGVEYXRhKTtcbiAgfVxuXG5cbiAgZW1pdFRhYmxlRGF0YVZhbHVlKHVwZGF0ZWRUYWJsZURhdGE6IGFueVtdKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHVwZGF0ZWRUYWJsZURhdGEpO1xuICB9XG59IiwiPHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtc3RyaXBlZCB0YWJsZS1ib3JkZXJlZFwiPlxuICA8dGhlYWQ+XG4gICAgPCEtLSBIQSAyOERFQzIzIGNoYW5nZWQgdGFibGUgaGVhZGVyIHZhbHVlcyBhbmQgY2hhbmdlZCB0YWJsZSBzaXplIGxvZ2ljIHRvIGV2ZW5seSB2aXNpYmxlIC0tPlxuICAgIDwhLS0gPHRoPjxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiAoY2hhbmdlKT1cInNlbGVjdEFsbCgkZXZlbnQudGFyZ2V0LmNoZWNrZWQpXCI+PC90aD4gLS0+XG4gICAgPHRoICpuZ0Zvcj1cImxldCBoZWFkZXIgb2YgdGFibGVIZWFkZXI7IGxldCBoaSA9IGluZGV4XCIgW2NsYXNzXT1cIidjb2wtbWQtJyArIHRhYmxlU2l6ZVwiPlxuICAgICAge3sgaGVhZGVyLmxhYmVsIH19XG4gICAgPC90aD5cbiAgICA8dGggY2xhc3M9XCJjb2wtbWQtMlwiIGNvbHNwYW49XCIyXCI+QWN0aW9uczwvdGg+XG4gIDwvdGhlYWQ+XG4gIDx0Ym9keSAqbmdJZj1cInRhYmxlRGF0YVwiPlxuICAgIDx0ciAqbmdGb3I9XCJsZXQgaXRlbSBvZiB0YWJsZURhdGE7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgIDwhLS0gPHRkPjxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbKG5nTW9kZWwpXT1cIml0ZW0uc2VsZWN0ZWRcIiAoY2hhbmdlKT1cInNlbGVjdEl0ZW0oaXRlbSlcIj48L3RkPiAtLT5cbiAgICAgIDx0ZCAqbmdGb3I9XCJsZXQgaGVhZGVyIG9mIHRhYmxlSGVhZGVyOyBsZXQgaiA9IGluZGV4XCI+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJoZWFkZXIuZmxkVHlwZSA9PT0gJ2ltYWdldGV4dCdcIiBbY2xhc3NdPVwiJ2NvbC1tZC0nICsgaGVhZGVyLnNpemVcIiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7XCI+XG4gICAgICAgICAgPGltZyBzdHlsZT1cIndpZHRoOiAzNXB4OyBoZWlnaHQ6IDMycHg7IG1hcmdpbi1yaWdodDogNXB4O1wiIFtzcmNdPVwiaXRlbS5pbWFnZVNyY1wiIFthbHRdPVwiaXRlbS5hbHRUZXh0XCI+XG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJpdGVtW2hlYWRlci5maWVsZE5hbWVdXCIgKG5nTW9kZWxDaGFuZ2UpPVwidXBkYXRlTGFiZWwoaSwgaGVhZGVyLmZpZWxkTmFtZSwgaXRlbVtoZWFkZXIuZmllbGROYW1lXSlcIiBjbGFzcz1cInNoZS1saW5lLWlucHV0IHRhYmxlLWlucHV0XCI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiaGVhZGVyLmZsZFR5cGUgPT09ICdpbWFnZSdcIiBbY2xhc3NdPVwiJ2NvbC1tZC0nICsgaGVhZGVyLnNpemVcIj5cbiAgICAgICAgICA8aW1nIHN0eWxlPVwid2lkdGg6IDM1cHg7IGhlaWdodDogMzJweDsgbWFyZ2luLXJpZ2h0OiA1cHg7XCIgW3NyY109XCJpdGVtW2hlYWRlci5maWVsZE5hbWVdXCIgW2FsdF09XCJpdGVtLmFsdFRleHRcIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJoZWFkZXIuZmxkVHlwZSA9PT0gJ1RleHQnIHx8IGhlYWRlci5mbGRUeXBlID09PSAnVGV4dCdcIj5cbiAgICAgICAgICA8IS0tIFZEIDI2SnVuMjQgLSBwaXBlIGNoYW5nZSB0byBoYW5kbGUgbXVsdGlwbGUgb2JqZWN0cy0tPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIFtkaXNhYmxlZF09XCIhaXRlbS5lZGl0XCIgW25nQ2xhc3NdPVwieydlZGl0SW5wdXQnOiBpdGVtLmVkaXR9XCIgW25nTW9kZWxdPVwiJycgfCBnZXRWYWx1ZTogaXRlbSA6IGhlYWRlci5hcGlOYW1lXCIgKG5nTW9kZWxDaGFuZ2UpPVwidXBkYXRlTGFiZWwoaSwgaGVhZGVyLmFwaU5hbWUsIGl0ZW1baGVhZGVyLmFwaU5hbWVdKVwiIGNsYXNzPVwic2hlLWxpbmUtaW5wdXQgdGFibGUtaW5wdXRcIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJoZWFkZXIuZmxkVHlwZSA9PT0gJ3JhZGlvJ1wiIFtjbGFzc109XCInY29sLW1kLScgKyBoZWFkZXIuc2l6ZVwiPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwicmFkaW9cIiBbbmFtZV09XCJpdGVtLm5hbWVcIiBbY2hlY2tlZF09XCJpdGVtLnZhbHVlID09IGhlYWRlci5maWVsZE5hbWVcIiAgKGNsaWNrKT1cInVwZGF0ZVJhZGlvKGl0ZW0sIGhlYWRlci5maWVsZE5hbWUpXCI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC90ZD5cbiAgICAgIDx0ZCBjbGFzcz1cImFjdGlvblwiPlxuICAgICAgICA8YSBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1wiIChjbGljayk9XCJlZGl0Um93KGkpXCI+PGltZyBzcmM9XCJodHRwczovL3JueHQuczMuYW1hem9uYXdzLmNvbS9NeXRJY29uL2ljb24tZWRpdCU0MDJ4LnBuZ1wiIGNsYXNzPVwiaWNvbi1lZGl0MVwiIC8+PHNwYW4+RWRpdDwvc3Bhbj48L2E+XG4gICAgICA8L3RkPlxuICAgICAgPHRkIGNsYXNzPVwiYWN0aW9uXCI+XG4gICAgICAgIDxhIHN0eWxlPVwiZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XCIgKGNsaWNrKT1cImRlbGV0ZVJvdyhpKVwiPjxpbWcgc3JjPVwiaHR0cHM6Ly9ybnh0LnMzLmFtYXpvbmF3cy5jb20vTXl0SWNvbi9pY29uLWRlbGV0ZSU0MDJ4LnBuZ1wiIGNsYXNzPVwiZGVsZXRlSWNvblwiLz48c3Bhbj5EZWxldGU8L3NwYW4+PC9hPlxuICAgICAgPC90ZD5cbiAgICA8L3RyPlxuICA8L3Rib2R5PlxuPC90YWJsZT5cbjxkaXYgKGNsaWNrKT1cImFkZFJvdygpXCIgY2xhc3M9XCJhZGRSb3dDbGFzc1wiPjxkaXYgY2xhc3M9XCJjaXJjbGUtYnV0dG9uXCI+KzwvZGl2PjwvZGl2PiJdfQ==
@@ -4,7 +4,6 @@ import * as i1 from "../../i18n.service";
4
4
  import * as i2 from "../../services/change.service";
5
5
  import * as i3 from "@angular/common";
6
6
  import * as i4 from "@angular/forms";
7
- import * as i5 from "../../i18n.pipe";
8
7
  export class CustomTextAreaComponent {
9
8
  i18nService;
10
9
  changeService;
@@ -42,11 +41,11 @@ export class CustomTextAreaComponent {
42
41
  this.textareaValueChange.emit(event.target.value);
43
42
  }
44
43
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CustomTextAreaComponent, deps: [{ token: i1.I18nService }, { token: i2.ChangeService }], target: i0.ɵɵFactoryTarget.Component });
45
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: CustomTextAreaComponent, selector: "app-custom-text-area", inputs: { value: "value", placeholder: "placeholder", rows: "rows", error: "error", question: "question", readOnly: "readOnly" }, outputs: { textareaValueChange: "textareaValueChange" }, ngImport: i0, template: "<!-- // VD 12Jun24 - readonly change-->\n<textarea \n [(ngModel)] =\"value\" \n [rows]=\"rows\" \n class=\"she-line-input form-control\" \n [placeholder]=\"placeholder\"\n [readOnly]=\"readOnly\"\n (input)=\"onTextareaChange($event)\"\n></textarea>\n<!-- HA 19DEC23 For translation -->\n<span *ngIf=\"error\" class=\"error-msg\">{{ 'required' | i18n:i18nService.currentLanguage }}*</span>", styles: [""], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i5.I18nPipe, name: "i18n" }] });
44
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: CustomTextAreaComponent, selector: "app-custom-text-area", inputs: { value: "value", placeholder: "placeholder", rows: "rows", error: "error", question: "question", readOnly: "readOnly" }, outputs: { textareaValueChange: "textareaValueChange" }, ngImport: i0, template: "<!-- // VD 12Jun24 - readonly change-->\n<!-- VD 01Aug24 - validation change-->\n<textarea \n [class]=\"error ? 'invalid' : ''\"\n [(ngModel)] =\"value\" \n [rows]=\"rows\" \n class=\"she-line-input form-control\" \n [placeholder]=\"placeholder\"\n [readOnly]=\"readOnly\"\n (input)=\"onTextareaChange($event)\"\n></textarea>\n<!-- HA 19DEC23 For translation -->\n<span *ngIf=\"error\" class=\"error-msg\">{{ question?.Error_Message__c }}</span>", styles: [".invalid{border:1px solid red!important}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
46
45
  }
47
46
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CustomTextAreaComponent, decorators: [{
48
47
  type: Component,
49
- args: [{ selector: 'app-custom-text-area', template: "<!-- // VD 12Jun24 - readonly change-->\n<textarea \n [(ngModel)] =\"value\" \n [rows]=\"rows\" \n class=\"she-line-input form-control\" \n [placeholder]=\"placeholder\"\n [readOnly]=\"readOnly\"\n (input)=\"onTextareaChange($event)\"\n></textarea>\n<!-- HA 19DEC23 For translation -->\n<span *ngIf=\"error\" class=\"error-msg\">{{ 'required' | i18n:i18nService.currentLanguage }}*</span>" }]
48
+ args: [{ selector: 'app-custom-text-area', template: "<!-- // VD 12Jun24 - readonly change-->\n<!-- VD 01Aug24 - validation change-->\n<textarea \n [class]=\"error ? 'invalid' : ''\"\n [(ngModel)] =\"value\" \n [rows]=\"rows\" \n class=\"she-line-input form-control\" \n [placeholder]=\"placeholder\"\n [readOnly]=\"readOnly\"\n (input)=\"onTextareaChange($event)\"\n></textarea>\n<!-- HA 19DEC23 For translation -->\n<span *ngIf=\"error\" class=\"error-msg\">{{ question?.Error_Message__c }}</span>", styles: [".invalid{border:1px solid red!important}\n"] }]
50
49
  }], ctorParameters: function () { return [{ type: i1.I18nService }, { type: i2.ChangeService }]; }, propDecorators: { value: [{
51
50
  type: Input
52
51
  }], placeholder: [{
@@ -62,4 +61,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
62
61
  }], textareaValueChange: [{
63
62
  type: Output
64
63
  }] } });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXRleHQtYXJlYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtYXBwL3NyYy9saWIvY29tcG9uZW50cy9jdXN0b20tdGV4dC1hcmVhL2N1c3RvbS10ZXh0LWFyZWEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvY3VzdG9tLXRleHQtYXJlYS9jdXN0b20tdGV4dC1hcmVhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFZL0UsTUFBTSxPQUFPLHVCQUF1QjtJQVVmO0lBQWlDO0lBVDNDLEtBQUssQ0FBYyxDQUFDLGNBQWM7SUFDbEMsV0FBVyxDQUFRO0lBQ25CLElBQUksQ0FBUSxDQUFDLGtEQUFrRDtJQUMvRCxLQUFLLENBQUs7SUFDVixRQUFRLENBQUs7SUFDYixRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUMsK0JBQStCO0lBQ2hELG1CQUFtQixHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO0lBQ2pGLFlBQVksQ0FBZTtJQUUzQixZQUFtQixXQUF3QixFQUFTLGFBQTRCO1FBQTdELGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVMsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFBSSxDQUFDO0lBRXJGLFFBQVE7UUFDTixnQ0FBZ0M7UUFDOUIsSUFBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBQztZQUMzQixJQUFJLGFBQWEsR0FBbUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzFFLElBQUcsYUFBYSxDQUFDLGdCQUFnQixFQUFDO2dCQUNoQyw0QkFBNEI7Z0JBQzVCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQy9ELENBQUMsV0FBVyxFQUFFLEVBQUU7b0JBQ2QsSUFBRyxXQUFXLElBQUksU0FBUyxFQUFFO3dCQUMzQixJQUFHLFdBQVcsQ0FBQyxRQUFRLElBQUksU0FBUyxJQUFJLFdBQVcsQ0FBQyxjQUFjLElBQUksYUFBYSxDQUFDLGdCQUFnQixFQUFFOzRCQUNwRyxJQUFJLENBQUMsS0FBSyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDOzRCQUM1RCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzt5QkFDM0M7d0JBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLENBQUM7cUJBQ2xFO2dCQUNILENBQUMsQ0FDRixDQUFDO2FBQ0w7U0FDRjtJQUVILENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFTO1FBQ3hCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwRCxDQUFDO3dHQXBDVSx1QkFBdUI7NEZBQXZCLHVCQUF1Qix1UENacEMsd1pBVWlHOzs0RkRFcEYsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLHNCQUFzQjs4SEFLdkIsS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0ksbUJBQW1CO3NCQUE1QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuLy8gSEEgMTlERUMyMyBpbXBvcnRlZCB0cmFuc2xhdGlvbiBzZXJ2aWNlXG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uL2kxOG4uc2VydmljZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENoYW5nZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jaGFuZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBEZXBlbmRlbmN5TWV0YSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZGVwZW5kZW5jeU1ldGEnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY3VzdG9tLXRleHQtYXJlYScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jdXN0b20tdGV4dC1hcmVhLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY3VzdG9tLXRleHQtYXJlYS5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ3VzdG9tVGV4dEFyZWFDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSB2YWx1ZTogYW55IHwgYW55W107IC8vIGlucHV0IHZhbHVlXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOnN0cmluZztcbiAgQElucHV0KCkgcm93czpOdW1iZXI7IC8vVGhlIG51bWJlciBvZiB2aXNpYmxlIHRleHQgbGluZXMgZm9yIHRoZSBjb250cm9sXG4gIEBJbnB1dCgpIGVycm9yOmFueTtcbiAgQElucHV0KCkgcXVlc3Rpb246YW55O1xuICBASW5wdXQoKSByZWFkT25seSA9IGZhbHNlOyAvLyBWRCAxMkp1bjI0IC0gcmVhZG9ubHkgY2hhbmdlXG4gIEBPdXRwdXQoKSB0ZXh0YXJlYVZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpOyBcbiAgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IocHVibGljIGkxOG5TZXJ2aWNlOiBJMThuU2VydmljZSxwcml2YXRlIGNoYW5nZVNlcnZpY2U6IENoYW5nZVNlcnZpY2UpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIDEwTUFZMjQgLSBWRCBEZXBlbmRlbnQgdXBkYXRlXG4gICAgICBpZih0aGlzLnF1ZXN0aW9uLlN1Yl9UZXh0X19jKXtcbiAgICAgICAgbGV0IGRlcGVuZGVuY3lPYmo6IERlcGVuZGVuY3lNZXRhID0gSlNPTi5wYXJzZSh0aGlzLnF1ZXN0aW9uLlN1Yl9UZXh0X19jKTtcbiAgICAgICAgaWYoZGVwZW5kZW5jeU9iai5zb3VyY2VRdWVzdGlvbklkKXtcbiAgICAgICAgICAvLyBTdWJzY3JpYmUgZm9yIHRoZSBjaGFuZ2VzXG4gICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLmNoYW5nZVNlcnZpY2UuY2hhbmdlQW5ub3VuY2VkJC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAoY2hhbmdlVmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgaWYoY2hhbmdlVmFsdWUgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgaWYoY2hhbmdlVmFsdWUudmFsdWVPYmogIT0gdW5kZWZpbmVkICYmIGNoYW5nZVZhbHVlLmZyb21RdWVzdGlvbklkID09IGRlcGVuZGVuY3lPYmouc291cmNlUXVlc3Rpb25JZCkge1xuICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IGNoYW5nZVZhbHVlLnZhbHVlT2JqW2RlcGVuZGVuY3lPYmoudmFsdWVGaWVsZF07XG4gICAgICAgICAgICAgICAgICB0aGlzLnRleHRhcmVhVmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VTZXJ2aWNlLmNvbmZpcm1DaGFuZ2UoZGVwZW5kZW5jeU9iai5zb3VyY2VRdWVzdGlvbklkKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICAgIFxuICB9XG5cbiAgb25UZXh0YXJlYUNoYW5nZShldmVudDphbnkpOiB2b2lkIHtcbiAgICB0aGlzLnRleHRhcmVhVmFsdWVDaGFuZ2UuZW1pdChldmVudC50YXJnZXQudmFsdWUpO1xuICB9XG5cbn1cbiIsIjwhLS0gLy8gVkQgMTJKdW4yNCAtIHJlYWRvbmx5IGNoYW5nZS0tPlxuPHRleHRhcmVhIFxuICAgIFsobmdNb2RlbCldID1cInZhbHVlXCIgXG4gICAgW3Jvd3NdPVwicm93c1wiIFxuICAgIGNsYXNzPVwic2hlLWxpbmUtaW5wdXQgZm9ybS1jb250cm9sXCIgXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIlxuICAgIChpbnB1dCk9XCJvblRleHRhcmVhQ2hhbmdlKCRldmVudClcIlxuPjwvdGV4dGFyZWE+XG48IS0tIEhBIDE5REVDMjMgRm9yIHRyYW5zbGF0aW9uIC0tPlxuPHNwYW4gKm5nSWY9XCJlcnJvclwiIGNsYXNzPVwiZXJyb3ItbXNnXCI+e3sgJ3JlcXVpcmVkJyB8IGkxOG46aTE4blNlcnZpY2UuY3VycmVudExhbmd1YWdlIH19Kjwvc3Bhbj4iXX0=
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXRleHQtYXJlYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtYXBwL3NyYy9saWIvY29tcG9uZW50cy9jdXN0b20tdGV4dC1hcmVhL2N1c3RvbS10ZXh0LWFyZWEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvY3VzdG9tLXRleHQtYXJlYS9jdXN0b20tdGV4dC1hcmVhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVkvRSxNQUFNLE9BQU8sdUJBQXVCO0lBVWY7SUFBaUM7SUFUM0MsS0FBSyxDQUFjLENBQUMsY0FBYztJQUNsQyxXQUFXLENBQVE7SUFDbkIsSUFBSSxDQUFRLENBQUMsa0RBQWtEO0lBQy9ELEtBQUssQ0FBSztJQUNWLFFBQVEsQ0FBSztJQUNiLFFBQVEsR0FBRyxLQUFLLENBQUMsQ0FBQywrQkFBK0I7SUFDaEQsbUJBQW1CLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7SUFDakYsWUFBWSxDQUFlO0lBRTNCLFlBQW1CLFdBQXdCLEVBQVMsYUFBNEI7UUFBN0QsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBUyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUFJLENBQUM7SUFFckYsUUFBUTtRQUNOLGdDQUFnQztRQUM5QixJQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFDO1lBQzNCLElBQUksYUFBYSxHQUFtQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDMUUsSUFBRyxhQUFhLENBQUMsZ0JBQWdCLEVBQUM7Z0JBQ2hDLDRCQUE0QjtnQkFDNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FDL0QsQ0FBQyxXQUFXLEVBQUUsRUFBRTtvQkFDZCxJQUFHLFdBQVcsSUFBSSxTQUFTLEVBQUU7d0JBQzNCLElBQUcsV0FBVyxDQUFDLFFBQVEsSUFBSSxTQUFTLElBQUksV0FBVyxDQUFDLGNBQWMsSUFBSSxhQUFhLENBQUMsZ0JBQWdCLEVBQUU7NEJBQ3BHLElBQUksQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7NEJBQzVELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO3lCQUMzQzt3QkFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztxQkFDbEU7Z0JBQ0gsQ0FBQyxDQUNGLENBQUM7YUFDTDtTQUNGO0lBRUgsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQVM7UUFDeEIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BELENBQUM7d0dBcENVLHVCQUF1Qjs0RkFBdkIsdUJBQXVCLHVQQ1pwQyxvZEFZNkU7OzRGREFoRSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0Usc0JBQXNCOzhIQUt2QixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxtQkFBbUI7c0JBQTVCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4vLyBIQSAxOURFQzIzIGltcG9ydGVkIHRyYW5zbGF0aW9uIHNlcnZpY2VcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaTE4bi5zZXJ2aWNlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ2hhbmdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NoYW5nZS5zZXJ2aWNlJztcbmltcG9ydCB7IERlcGVuZGVuY3lNZXRhIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9kZXBlbmRlbmN5TWV0YSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jdXN0b20tdGV4dC1hcmVhJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2N1c3RvbS10ZXh0LWFyZWEuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jdXN0b20tdGV4dC1hcmVhLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDdXN0b21UZXh0QXJlYUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHZhbHVlOiBhbnkgfCBhbnlbXTsgLy8gaW5wdXQgdmFsdWVcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6c3RyaW5nO1xuICBASW5wdXQoKSByb3dzOk51bWJlcjsgLy9UaGUgbnVtYmVyIG9mIHZpc2libGUgdGV4dCBsaW5lcyBmb3IgdGhlIGNvbnRyb2xcbiAgQElucHV0KCkgZXJyb3I6YW55O1xuICBASW5wdXQoKSBxdWVzdGlvbjphbnk7XG4gIEBJbnB1dCgpIHJlYWRPbmx5ID0gZmFsc2U7IC8vIFZEIDEySnVuMjQgLSByZWFkb25seSBjaGFuZ2VcbiAgQE91dHB1dCgpIHRleHRhcmVhVmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7IFxuICBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaTE4blNlcnZpY2U6IEkxOG5TZXJ2aWNlLHByaXZhdGUgY2hhbmdlU2VydmljZTogQ2hhbmdlU2VydmljZSkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gMTBNQVkyNCAtIFZEIERlcGVuZGVudCB1cGRhdGVcbiAgICAgIGlmKHRoaXMucXVlc3Rpb24uU3ViX1RleHRfX2Mpe1xuICAgICAgICBsZXQgZGVwZW5kZW5jeU9iajogRGVwZW5kZW5jeU1ldGEgPSBKU09OLnBhcnNlKHRoaXMucXVlc3Rpb24uU3ViX1RleHRfX2MpO1xuICAgICAgICBpZihkZXBlbmRlbmN5T2JqLnNvdXJjZVF1ZXN0aW9uSWQpe1xuICAgICAgICAgIC8vIFN1YnNjcmliZSBmb3IgdGhlIGNoYW5nZXNcbiAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMuY2hhbmdlU2VydmljZS5jaGFuZ2VBbm5vdW5jZWQkLnN1YnNjcmliZShcbiAgICAgICAgICAgIChjaGFuZ2VWYWx1ZSkgPT4ge1xuICAgICAgICAgICAgICBpZihjaGFuZ2VWYWx1ZSAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBpZihjaGFuZ2VWYWx1ZS52YWx1ZU9iaiAhPSB1bmRlZmluZWQgJiYgY2hhbmdlVmFsdWUuZnJvbVF1ZXN0aW9uSWQgPT0gZGVwZW5kZW5jeU9iai5zb3VyY2VRdWVzdGlvbklkKSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gY2hhbmdlVmFsdWUudmFsdWVPYmpbZGVwZW5kZW5jeU9iai52YWx1ZUZpZWxkXTtcbiAgICAgICAgICAgICAgICAgIHRoaXMudGV4dGFyZWFWYWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVNlcnZpY2UuY29uZmlybUNoYW5nZShkZXBlbmRlbmN5T2JqLnNvdXJjZVF1ZXN0aW9uSWQpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gIH1cblxuICBvblRleHRhcmVhQ2hhbmdlKGV2ZW50OmFueSk6IHZvaWQge1xuICAgIHRoaXMudGV4dGFyZWFWYWx1ZUNoYW5nZS5lbWl0KGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gIH1cblxufVxuIiwiPCEtLSAvLyBWRCAxMkp1bjI0IC0gcmVhZG9ubHkgY2hhbmdlLS0+XG48IS0tIFZEIDAxQXVnMjQgLSB2YWxpZGF0aW9uIGNoYW5nZS0tPlxuPHRleHRhcmVhIFxuICAgIFtjbGFzc109XCJlcnJvciA/ICdpbnZhbGlkJyA6ICcnXCJcbiAgICBbKG5nTW9kZWwpXSA9XCJ2YWx1ZVwiIFxuICAgIFtyb3dzXT1cInJvd3NcIiBcbiAgICBjbGFzcz1cInNoZS1saW5lLWlucHV0IGZvcm0tY29udHJvbFwiIFxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCJcbiAgICAoaW5wdXQpPVwib25UZXh0YXJlYUNoYW5nZSgkZXZlbnQpXCJcbj48L3RleHRhcmVhPlxuPCEtLSBIQSAxOURFQzIzIEZvciB0cmFuc2xhdGlvbiAtLT5cbjxzcGFuICpuZ0lmPVwiZXJyb3JcIiBjbGFzcz1cImVycm9yLW1zZ1wiPnt7IHF1ZXN0aW9uPy5FcnJvcl9NZXNzYWdlX19jIH19PC9zcGFuPiJdfQ==
@@ -1,30 +1,60 @@
1
1
  import { Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/forms";
4
- import * as i2 from "ng-pick-datetime";
3
+ import * as i1 from "../../i18n.service";
4
+ import * as i2 from "@angular/common";
5
+ import * as i3 from "@angular/forms";
6
+ import * as i4 from "ng-pick-datetime";
5
7
  export class CustomTimeComponent {
8
+ i18nService;
6
9
  time;
7
10
  readOnly = false; // VD 12Jun24 - readonly change
11
+ error;
12
+ errorMessage;
8
13
  timeChange = new EventEmitter();
9
14
  timeSelected;
10
- constructor() { }
15
+ constructor(i18nService) {
16
+ this.i18nService = i18nService;
17
+ }
11
18
  ngOnInit() {
12
- this.timeSelected = new Date(this.time);
19
+ if (this.time) {
20
+ this.time = this.time['value'] ? this.time['value'] : this.time;
21
+ this.timeSelected = new Date(this.time);
22
+ }
23
+ else {
24
+ // if no time set null value
25
+ this.timeSelected = null;
26
+ }
27
+ }
28
+ ngOnChanges(changes) {
29
+ // update on changes
30
+ if (changes['time']) {
31
+ if (this.time) {
32
+ this.time = this.time['value'] ? this.time['value'] : this.time;
33
+ this.timeSelected = new Date(this.time);
34
+ }
35
+ else {
36
+ this.timeSelected = null;
37
+ }
38
+ }
13
39
  }
14
40
  onTimeChange(event) {
15
41
  this.timeChange.emit(event);
16
42
  }
17
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CustomTimeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
18
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: CustomTimeComponent, selector: "app-custom-time", inputs: { time: "time", readOnly: "readOnly" }, outputs: { timeChange: "timeChange" }, ngImport: i0, template: "<!-- time component -->\n<!-- // VD 12Jun24 - readonly change-->\n <p>\n <input\n class=\"input-shengel\"\n [(ngModel)]=\"timeSelected\"\n [owlDateTimeTrigger]=\"dt2\"\n [owlDateTime]=\"dt2\"\n placeholder=\"HH:MM\"\n [readOnly]=\"readOnly\" \n style=\"width: 100%; height: 35px; border: none; box-shadow: none; border-bottom: 1px solid #ccc;\"\n (dateTimeChange)=\"onTimeChange($event)\"\n >\n <owl-date-time [pickerType]=\"'timer'\" #dt2></owl-date-time>\n </p>", styles: [""], dependencies: [{ kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.OwlDateTimeTriggerDirective, selector: "[owlDateTimeTrigger]", inputs: ["disabled", "owlDateTimeTrigger"] }, { kind: "directive", type: i2.OwlDateTimeInputDirective, selector: "input[owlDateTime]", inputs: ["rangeSeparator", "owlDateTime", "owlDateTimeFilter", "min", "max", "selectMode", "value", "values", "_disabled"], outputs: ["dateTimeChange", "dateTimeInput"], exportAs: ["owlDateTimeInput"] }, { kind: "component", type: i2.OwlDateTimeComponent, selector: "owl-date-time", inputs: ["startAt", "pickerType", "pickerMode", "disabled", "opened", "backdropClass", "panelClass", "scrollStrategy"], outputs: ["afterPickerClosed", "afterPickerOpen", "yearSelected", "monthSelected"], exportAs: ["owlDateTime"] }] });
43
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CustomTimeComponent, deps: [{ token: i1.I18nService }], target: i0.ɵɵFactoryTarget.Component });
44
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: CustomTimeComponent, selector: "app-custom-time", inputs: { time: "time", readOnly: "readOnly", error: "error", errorMessage: "errorMessage" }, outputs: { timeChange: "timeChange" }, usesOnChanges: true, ngImport: i0, template: "<!-- time component -->\n<!-- // VD 12Jun24 - readonly change-->\n<!-- VD 01Aug24 - validation change-->\n <p>\n <input\n [class]=\"error ? 'invalid' : ''\"\n [(ngModel)]=\"timeSelected\"\n [owlDateTimeTrigger]=\"dt2\"\n [owlDateTime]=\"dt2\"\n placeholder=\"HH:MM\"\n [readOnly]=\"readOnly\" \n style=\"width: 100%; height: 35px; border: none; box-shadow: none; border-bottom: 1px solid #ccc;\"\n (dateTimeChange)=\"onTimeChange($event)\"\n >\n <owl-date-time [pickerType]=\"'timer'\" #dt2></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.OwlDateTimeTriggerDirective, selector: "[owlDateTimeTrigger]", inputs: ["disabled", "owlDateTimeTrigger"] }, { kind: "directive", type: i4.OwlDateTimeInputDirective, selector: "input[owlDateTime]", inputs: ["rangeSeparator", "owlDateTime", "owlDateTimeFilter", "min", "max", "selectMode", "value", "values", "_disabled"], outputs: ["dateTimeChange", "dateTimeInput"], exportAs: ["owlDateTimeInput"] }, { kind: "component", type: i4.OwlDateTimeComponent, selector: "owl-date-time", inputs: ["startAt", "pickerType", "pickerMode", "disabled", "opened", "backdropClass", "panelClass", "scrollStrategy"], outputs: ["afterPickerClosed", "afterPickerOpen", "yearSelected", "monthSelected"], exportAs: ["owlDateTime"] }] });
19
45
  }
20
46
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CustomTimeComponent, decorators: [{
21
47
  type: Component,
22
- args: [{ selector: 'app-custom-time', template: "<!-- time component -->\n<!-- // VD 12Jun24 - readonly change-->\n <p>\n <input\n class=\"input-shengel\"\n [(ngModel)]=\"timeSelected\"\n [owlDateTimeTrigger]=\"dt2\"\n [owlDateTime]=\"dt2\"\n placeholder=\"HH:MM\"\n [readOnly]=\"readOnly\" \n style=\"width: 100%; height: 35px; border: none; box-shadow: none; border-bottom: 1px solid #ccc;\"\n (dateTimeChange)=\"onTimeChange($event)\"\n >\n <owl-date-time [pickerType]=\"'timer'\" #dt2></owl-date-time>\n </p>" }]
23
- }], ctorParameters: function () { return []; }, propDecorators: { time: [{
48
+ args: [{ selector: 'app-custom-time', template: "<!-- time component -->\n<!-- // VD 12Jun24 - readonly change-->\n<!-- VD 01Aug24 - validation change-->\n <p>\n <input\n [class]=\"error ? 'invalid' : ''\"\n [(ngModel)]=\"timeSelected\"\n [owlDateTimeTrigger]=\"dt2\"\n [owlDateTime]=\"dt2\"\n placeholder=\"HH:MM\"\n [readOnly]=\"readOnly\" \n style=\"width: 100%; height: 35px; border: none; box-shadow: none; border-bottom: 1px solid #ccc;\"\n (dateTimeChange)=\"onTimeChange($event)\"\n >\n <owl-date-time [pickerType]=\"'timer'\" #dt2></owl-date-time>\n </p>\n <span *ngIf=\"error\" class=\"error-msg\">{{errorMessage}}</span>", styles: [".invalid{border-color:red!important}\n"] }]
49
+ }], ctorParameters: function () { return [{ type: i1.I18nService }]; }, propDecorators: { time: [{
24
50
  type: Input
25
51
  }], readOnly: [{
26
52
  type: Input
53
+ }], error: [{
54
+ type: Input
55
+ }], errorMessage: [{
56
+ type: Input
27
57
  }], timeChange: [{
28
58
  type: Output
29
59
  }] } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXRpbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvY3VzdG9tLXRpbWUvY3VzdG9tLXRpbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvY3VzdG9tLXRpbWUvY3VzdG9tLXRpbWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQU8vRSxNQUFNLE9BQU8sbUJBQW1CO0lBQ3JCLElBQUksQ0FBUztJQUNiLFFBQVEsR0FBRyxLQUFLLENBQUMsQ0FBQywrQkFBK0I7SUFDaEQsVUFBVSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ2xFLFlBQVksQ0FBTTtJQUVsQixnQkFBZ0IsQ0FBQztJQUVqQixRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFVO1FBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzdCLENBQUM7d0dBZFUsbUJBQW1COzRGQUFuQixtQkFBbUIsOElDUGhDLG9nQkFjTTs7NEZEUE8sbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGlCQUFpQjswRUFLbEIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0ksVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWN1c3RvbS10aW1lJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2N1c3RvbS10aW1lLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY3VzdG9tLXRpbWUuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEN1c3RvbVRpbWVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSB0aW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHJlYWRPbmx5ID0gZmFsc2U7IC8vIFZEIDEySnVuMjQgLSByZWFkb25seSBjaGFuZ2VcbiAgQE91dHB1dCgpIHRpbWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIHRpbWVTZWxlY3RlZDogYW55O1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy50aW1lU2VsZWN0ZWQgPSBuZXcgRGF0ZSh0aGlzLnRpbWUpO1xuICB9XG5cbiAgb25UaW1lQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnRpbWVDaGFuZ2UuZW1pdChldmVudClcbiAgfVxufVxuIiwiPCEtLSB0aW1lIGNvbXBvbmVudCAtLT5cbjwhLS0gLy8gVkQgMTJKdW4yNCAtIHJlYWRvbmx5IGNoYW5nZS0tPlxuICA8cD5cbiAgICA8aW5wdXRcbiAgICAgIGNsYXNzPVwiaW5wdXQtc2hlbmdlbFwiXG4gICAgICBbKG5nTW9kZWwpXT1cInRpbWVTZWxlY3RlZFwiXG4gICAgICBbb3dsRGF0ZVRpbWVUcmlnZ2VyXT1cImR0MlwiXG4gICAgICBbb3dsRGF0ZVRpbWVdPVwiZHQyXCJcbiAgICAgIHBsYWNlaG9sZGVyPVwiSEg6TU1cIlxuICAgICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCIgXG4gICAgICBzdHlsZT1cIndpZHRoOiAxMDAlOyBoZWlnaHQ6IDM1cHg7IGJvcmRlcjogbm9uZTsgYm94LXNoYWRvdzogbm9uZTsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XCJcbiAgICAgIChkYXRlVGltZUNoYW5nZSk9XCJvblRpbWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgPlxuICAgIDxvd2wtZGF0ZS10aW1lIFtwaWNrZXJUeXBlXT1cIid0aW1lcidcIiAjZHQyPjwvb3dsLWRhdGUtdGltZT5cbiAgPC9wPiJdfQ==
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXRpbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvY3VzdG9tLXRpbWUvY3VzdG9tLXRpbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvY3VzdG9tLXRpbWUvY3VzdG9tLXRpbWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVE5RixNQUFNLE9BQU8sbUJBQW1CO0lBUVg7SUFQVixJQUFJLENBQVM7SUFDYixRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUMsK0JBQStCO0lBQ2pELEtBQUssQ0FBSztJQUNWLFlBQVksQ0FBUztJQUNwQixVQUFVLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7SUFDbEUsWUFBWSxDQUFNO0lBRWxCLFlBQW1CLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBQUksQ0FBQztJQUVoRCxRQUFRO1FBQ04sSUFBRyxJQUFJLENBQUMsSUFBSSxFQUFDO1lBQ1gsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ2hFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3pDO2FBQUs7WUFDSiw0QkFBNEI7WUFDNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXFCO1FBQy9CLG9CQUFvQjtRQUNwQixJQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBQztZQUNqQixJQUFHLElBQUksQ0FBQyxJQUFJLEVBQUM7Z0JBQ1gsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUNoRSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUN6QztpQkFBSztnQkFDSixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQzthQUMxQjtTQUNGO0lBQ0gsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFVO1FBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7d0dBbENVLG1CQUFtQjs0RkFBbkIsbUJBQW1CLGlOQ1JoQyw0bkJBZ0IrRDs7NEZEUmxELG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxpQkFBaUI7a0dBS2xCLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNJLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uL2kxOG4uc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jdXN0b20tdGltZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jdXN0b20tdGltZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2N1c3RvbS10aW1lLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDdXN0b21UaW1lQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgdGltZTogc3RyaW5nO1xuICBASW5wdXQoKSByZWFkT25seSA9IGZhbHNlOyAvLyBWRCAxMkp1bjI0IC0gcmVhZG9ubHkgY2hhbmdlXG4gIEBJbnB1dCgpIGVycm9yOmFueTtcbiAgQElucHV0KCkgZXJyb3JNZXNzYWdlOiBzdHJpbmc7XG4gIEBPdXRwdXQoKSB0aW1lQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICB0aW1lU2VsZWN0ZWQ6IGFueTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaTE4blNlcnZpY2U6IEkxOG5TZXJ2aWNlKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZih0aGlzLnRpbWUpe1xuICAgICAgdGhpcy50aW1lID0gdGhpcy50aW1lWyd2YWx1ZSddID8gdGhpcy50aW1lWyd2YWx1ZSddIDogdGhpcy50aW1lO1xuICAgICAgdGhpcy50aW1lU2VsZWN0ZWQgPSBuZXcgRGF0ZSh0aGlzLnRpbWUpO1xuICAgIH1lbHNlIHtcbiAgICAgIC8vIGlmIG5vIHRpbWUgc2V0IG51bGwgdmFsdWVcbiAgICAgIHRoaXMudGltZVNlbGVjdGVkID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOlNpbXBsZUNoYW5nZXMpe1xuICAgIC8vIHVwZGF0ZSBvbiBjaGFuZ2VzXG4gICAgaWYoY2hhbmdlc1sndGltZSddKXtcbiAgICAgIGlmKHRoaXMudGltZSl7XG4gICAgICAgIHRoaXMudGltZSA9IHRoaXMudGltZVsndmFsdWUnXSA/IHRoaXMudGltZVsndmFsdWUnXSA6IHRoaXMudGltZTtcbiAgICAgICAgdGhpcy50aW1lU2VsZWN0ZWQgPSBuZXcgRGF0ZSh0aGlzLnRpbWUpO1xuICAgICAgfWVsc2Uge1xuICAgICAgICB0aGlzLnRpbWVTZWxlY3RlZCA9IG51bGw7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgb25UaW1lQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnRpbWVDaGFuZ2UuZW1pdChldmVudCk7XG4gIH1cbn1cbiIsIjwhLS0gdGltZSBjb21wb25lbnQgLS0+XG48IS0tIC8vIFZEIDEySnVuMjQgLSByZWFkb25seSBjaGFuZ2UtLT5cbjwhLS0gVkQgMDFBdWcyNCAtIHZhbGlkYXRpb24gY2hhbmdlLS0+XG4gIDxwPlxuICAgIDxpbnB1dFxuICAgICAgW2NsYXNzXT1cImVycm9yID8gJ2ludmFsaWQnIDogJydcIlxuICAgICAgWyhuZ01vZGVsKV09XCJ0aW1lU2VsZWN0ZWRcIlxuICAgICAgW293bERhdGVUaW1lVHJpZ2dlcl09XCJkdDJcIlxuICAgICAgW293bERhdGVUaW1lXT1cImR0MlwiXG4gICAgICBwbGFjZWhvbGRlcj1cIkhIOk1NXCJcbiAgICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiIFxuICAgICAgc3R5bGU9XCJ3aWR0aDogMTAwJTsgaGVpZ2h0OiAzNXB4OyBib3JkZXI6IG5vbmU7IGJveC1zaGFkb3c6IG5vbmU7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1wiXG4gICAgICAoZGF0ZVRpbWVDaGFuZ2UpPVwib25UaW1lQ2hhbmdlKCRldmVudClcIlxuICAgID5cbiAgICA8b3dsLWRhdGUtdGltZSBbcGlja2VyVHlwZV09XCIndGltZXInXCIgI2R0Mj48L293bC1kYXRlLXRpbWU+XG4gIDwvcD5cbiAgPHNwYW4gKm5nSWY9XCJlcnJvclwiIGNsYXNzPVwiZXJyb3ItbXNnXCI+e3tlcnJvck1lc3NhZ2V9fTwvc3Bhbj4iXX0=