@ohioepa/oepa-ui-lib 2.0.10 → 2.0.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/address/address.component.mjs +7 -3
- package/esm2022/lib/contact/contact.component.mjs +7 -3
- package/esm2022/lib/entity/organization-create-modal/organization-create-modal.component.mjs +1 -1
- package/esm2022/lib/entity/organization-search-modal/organization-search-modal.component.mjs +1 -1
- package/esm2022/lib/entity/person-create-modal/person-create-modal.component.mjs +1 -1
- package/esm2022/lib/entity/person-search-modal/person-search-modal.component.mjs +1 -1
- package/esm2022/lib/entity/place-search-modal/place-search-modal.component.mjs +1 -1
- package/fesm2022/ohioepa-oepa-ui-lib.mjs +17 -9
- package/fesm2022/ohioepa-oepa-ui-lib.mjs.map +1 -1
- package/lib/address/address.component.d.ts +2 -1
- package/lib/contact/contact.component.d.ts +2 -1
- package/ohioepa-oepa-ui-lib-2.0.11.tgz +0 -0
- package/package.json +1 -1
- package/ohioepa-oepa-ui-lib-2.0.10.tgz +0 -0
|
@@ -17,6 +17,7 @@ export class AddressComponent {
|
|
|
17
17
|
subscription;
|
|
18
18
|
group;
|
|
19
19
|
showValidation = false;
|
|
20
|
+
idPrefix = '';
|
|
20
21
|
addressOneLabel = 'Address 1';
|
|
21
22
|
addressTwoLabel = 'Address 2';
|
|
22
23
|
cityLabel = 'City';
|
|
@@ -65,7 +66,7 @@ export class AddressComponent {
|
|
|
65
66
|
}
|
|
66
67
|
});
|
|
67
68
|
}
|
|
68
|
-
this.componentId = this.idService.getComponentId(this.group);
|
|
69
|
+
this.componentId = this.idPrefix + this.idService.getComponentId(this.group);
|
|
69
70
|
this.originalAddress = this.addressFromFormGroup(this.group);
|
|
70
71
|
this.subscribeToChanges();
|
|
71
72
|
}
|
|
@@ -113,7 +114,7 @@ export class AddressComponent {
|
|
|
113
114
|
this.subscription.unsubscribe();
|
|
114
115
|
}
|
|
115
116
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AddressComponent, deps: [{ token: i1.OepaAddressService }, { token: i2.OepaComponentIdService }], target: i0.ɵɵFactoryTarget.Component });
|
|
116
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AddressComponent, selector: "oepa-address", inputs: { group: "group", showValidation: "showValidation", addressOneLabel: "addressOneLabel", addressTwoLabel: "addressTwoLabel", cityLabel: "cityLabel", stateLabel: "stateLabel", zipCodeLabel: "zipCodeLabel", disableState: "disableState", isSearch: "isSearch", hideLine2: "hideLine2", line1MaxLength: "line1MaxLength", line2MaxLength: "line2MaxLength", cityMaxLength: "cityMaxLength", foreignStateLabel: "foreignStateLabel", foreignZipLabel: "foreignZipLabel", countryLabel: "countryLabel", sameAsGroup: "sameAsGroup", sameAsLabel: "sameAsLabel", sameAsChecked: "sameAsChecked" }, ngImport: i0, template: "<div *ngIf=\"sameAsGroup\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label [ngStyle]=\"{ 'font-weight': sameAsChecked && group.disabled ? 'bold' : '' }\" [for]=\"componentId+'_CopyFromCheckbox'\">\n {{sameAsLabel}} \n <input [id]=\"componentId+'_CopyFromCheckbox'\" type=\"checkbox\" [checked]=\"sameAsChecked\" (change)=\"toggleCopyFromSelection()\" [disabled]=\"group.parent?.disabled\"/>\n </label>\n </div>\n </div>\n </div>\n</div>\n<div *ngIf=\"!sameAsGroup || !sameAsChecked\" [formGroup]=\"group\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label [for]=\"componentId+'_Line1Input'\">{{addressOneLabel}}</label>\n <input class=\"form-control\" [ngClass]=\"{'is-invalid':showValidation && group.controls['line1'].status === 'INVALID'}\" \n [type]=\"isSearch ? 'search' : 'text'\" placeholder=\"Address\" maxlength=\"40\" formControlName=\"line1\" [maxlength]=\"line1MaxLength\"\n [id]=\"componentId+'_Line1Input'\">\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['line1'].hasError('required')\">{{addressOneLabel}} is required</small>\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['line1'].hasError('maxlength')\">{{addressOneLabel}} has exceeded its maximum length</small>\n </div>\n </div>\n </div>\n <div *ngIf=\"!hideLine2\" class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label [for]=\"componentId+'_Line2Input'\">{{addressTwoLabel}}</label>\n <input class=\"form-control\" [ngClass]=\"{'is-invalid':showValidation && group.controls['line2'].status === 'INVALID'}\"\n [type]=\"isSearch ? 'search' : 'text'\" placeholder=\"Address\" maxlength=\"40\" formControlName=\"line2\" [maxlength]=\"line2MaxLength\"\n [id]=\"componentId+'_Line2Input'\">\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['line2'].hasError('required')\">{{addressTwoLabel}} is required</small>\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['line2'].hasError('maxlength')\">{{addressTwoLabel}} has exceeded its maximum length</small>\n </div>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label [for]=\"componentId+'_CityInput'\">{{cityLabel}}</label>\n <input class=\"form-control\" [ngClass]=\"{'is-invalid':showValidation && group.controls['city'].status === 'INVALID'}\"\n [type]=\"isSearch ? 'search' : 'text'\" placeholder=\"City\" maxlength=\"30\" formControlName=\"city\" [maxlength]=\"cityMaxLength\"\n [id]=\"componentId+'_CityInput'\">\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['city'].hasError('required')\">{{cityLabel}} is required</small>\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['city'].hasError('maxlength')\">{{cityLabel}} has exceeded its maximum length</small>\n </div>\n </div>\n <div class=\"col-md-2\">\n <div *ngIf=\"showStates && (!group.controls['country'] || group.get('country')?.value ==='USA')\" class=\"form-group\">\n <label [for]=\"componentId+'_StateSelect'\">{{stateLabel}}</label>\n <select class=\"form-select\" [ngClass]=\"{'is-invalid':showValidation && group.controls['state'].status === 'INVALID'}\" \n name=\"AddressState\" formControlName=\"state\" [id]=\"componentId+'_StateSelect'\" [attr.disabled]=\"disableState || group.disabled ? '' : null\">\n <option *ngFor=\"let s of usStates\" [ngValue]=\"s\">{{s}}</option>\n </select>\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['state'].hasError('required')\">State is required</small>\n </div>\n </div>\n <div class=\"col-md-4\">\n <div *ngIf=\"!group.controls['country'] || group.get('country')?.value ==='USA'\" class=\"form-group\">\n <label [for]=\"componentId+'_ZipInput'\">{{zipCodeLabel}}</label>\n <input class=\"form-control\" [ngClass]=\"{'is-invalid':showValidation && group.controls['postalCode'].status === 'INVALID'}\"\n [type]=\"isSearch ? 'search' : 'text'\" placeholder=\"Zip Code\" formControlName=\"postalCode\" [id]=\"componentId+'_ZipInput'\" mask=\"00000\">\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['postalCode'].hasError('required')\">{{zipCodeLabel}} is required</small>\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['postalCode'].hasError('minlength')\">{{zipCodeLabel}} must contain exactly 5 digits</small>\n </div>\n </div>\n </div>\n <div *ngIf=\"group.controls['country'] && group.get('country')?.value !=='USA'\" class=\"row\">\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label [for]=\"componentId+'_ForeignStateInput'\">{{foreignStateLabel}}</label>\n <input class=\"form-control\" [ngClass]=\"{'is-invalid':showValidation && group.controls['foreignState'].status === 'INVALID'}\"\n type=\"text\" placeholder=\"Foreign State\" formControlName=\"foreignState\" [id]=\"componentId+'_ForeignStateInput'\" [attr.disabled]=\"disableState || group.disabled ? '' : null\" >\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['foreignState'].hasError('required')\">{{foreignStateLabel}} is required</small>\n \n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label [for]=\"componentId+'_foreignZipInput'\">{{foreignZipLabel}}</label>\n <input class=\"form-control\" [ngClass]=\"{'is-invalid':showValidation && group.controls['foreignZip'].status === 'INVALID'}\"\n type=\"text\" placeholder=\"Foreign Zip Code\" formControlName=\"foreignZip\" [id]=\"componentId+'_foreignZipInput'\" >\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['foreignZip'].hasError('required')\">{{foreignZipLabel}} is required</small>\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['foreignZip'].hasError('minlength')\">{{foreignZipLabel}} must contain exactly ? digits</small>\n </div> \n </div>\n </div>\n <div *ngIf=\"group.controls['country']\" class=\"row\">\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label [for]=\"componentId+'_CountrySelect'\">{{countryLabel}}</label>\n <select class=\"form-select\" [ngClass]=\"{'is-invalid':showValidation && group.controls['country'].status === 'INVALID'}\" \n name=\"AddressCountry\" formControlName=\"country\" [id]=\"componentId+'_CountrySelect'\" [attr.disabled]=\"disableState || group.disabled ? '' : null\">\n <option *ngFor=\"let c of countries\" [ngValue]=\"c\">{{c}}</option>\n </select>\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['country'].hasError('required')\">Country{{countryLabel}} is required</small>\n </div>\n </div>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { 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.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i5.NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "leadZero", "triggerOnMaskChange", "apm", "inputTransformFn", "outputTransformFn", "keepCharacterPositions"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }] });
|
|
117
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AddressComponent, selector: "oepa-address", inputs: { group: "group", showValidation: "showValidation", idPrefix: "idPrefix", addressOneLabel: "addressOneLabel", addressTwoLabel: "addressTwoLabel", cityLabel: "cityLabel", stateLabel: "stateLabel", zipCodeLabel: "zipCodeLabel", disableState: "disableState", isSearch: "isSearch", hideLine2: "hideLine2", line1MaxLength: "line1MaxLength", line2MaxLength: "line2MaxLength", cityMaxLength: "cityMaxLength", foreignStateLabel: "foreignStateLabel", foreignZipLabel: "foreignZipLabel", countryLabel: "countryLabel", sameAsGroup: "sameAsGroup", sameAsLabel: "sameAsLabel", sameAsChecked: "sameAsChecked" }, ngImport: i0, template: "<div *ngIf=\"sameAsGroup\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label [ngStyle]=\"{ 'font-weight': sameAsChecked && group.disabled ? 'bold' : '' }\" [for]=\"componentId+'_CopyFromCheckbox'\">\n {{sameAsLabel}} \n <input [id]=\"componentId+'_CopyFromCheckbox'\" type=\"checkbox\" [checked]=\"sameAsChecked\" (change)=\"toggleCopyFromSelection()\" [disabled]=\"group.parent?.disabled\"/>\n </label>\n </div>\n </div>\n </div>\n</div>\n<div *ngIf=\"!sameAsGroup || !sameAsChecked\" [formGroup]=\"group\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label [for]=\"componentId+'_Line1Input'\">{{addressOneLabel}}</label>\n <input class=\"form-control\" [ngClass]=\"{'is-invalid':showValidation && group.controls['line1'].status === 'INVALID'}\" \n [type]=\"isSearch ? 'search' : 'text'\" placeholder=\"Address\" maxlength=\"40\" formControlName=\"line1\" [maxlength]=\"line1MaxLength\"\n [id]=\"componentId+'_Line1Input'\">\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['line1'].hasError('required')\">{{addressOneLabel}} is required</small>\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['line1'].hasError('maxlength')\">{{addressOneLabel}} has exceeded its maximum length</small>\n </div>\n </div>\n </div>\n <div *ngIf=\"!hideLine2\" class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label [for]=\"componentId+'_Line2Input'\">{{addressTwoLabel}}</label>\n <input class=\"form-control\" [ngClass]=\"{'is-invalid':showValidation && group.controls['line2'].status === 'INVALID'}\"\n [type]=\"isSearch ? 'search' : 'text'\" placeholder=\"Address\" maxlength=\"40\" formControlName=\"line2\" [maxlength]=\"line2MaxLength\"\n [id]=\"componentId+'_Line2Input'\">\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['line2'].hasError('required')\">{{addressTwoLabel}} is required</small>\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['line2'].hasError('maxlength')\">{{addressTwoLabel}} has exceeded its maximum length</small>\n </div>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label [for]=\"componentId+'_CityInput'\">{{cityLabel}}</label>\n <input class=\"form-control\" [ngClass]=\"{'is-invalid':showValidation && group.controls['city'].status === 'INVALID'}\"\n [type]=\"isSearch ? 'search' : 'text'\" placeholder=\"City\" maxlength=\"30\" formControlName=\"city\" [maxlength]=\"cityMaxLength\"\n [id]=\"componentId+'_CityInput'\">\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['city'].hasError('required')\">{{cityLabel}} is required</small>\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['city'].hasError('maxlength')\">{{cityLabel}} has exceeded its maximum length</small>\n </div>\n </div>\n <div class=\"col-md-2\">\n <div *ngIf=\"showStates && (!group.controls['country'] || group.get('country')?.value ==='USA')\" class=\"form-group\">\n <label [for]=\"componentId+'_StateSelect'\">{{stateLabel}}</label>\n <select class=\"form-select\" [ngClass]=\"{'is-invalid':showValidation && group.controls['state'].status === 'INVALID'}\" \n name=\"AddressState\" formControlName=\"state\" [id]=\"componentId+'_StateSelect'\" [attr.disabled]=\"disableState || group.disabled ? '' : null\">\n <option *ngFor=\"let s of usStates\" [ngValue]=\"s\">{{s}}</option>\n </select>\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['state'].hasError('required')\">State is required</small>\n </div>\n </div>\n <div class=\"col-md-4\">\n <div *ngIf=\"!group.controls['country'] || group.get('country')?.value ==='USA'\" class=\"form-group\">\n <label [for]=\"componentId+'_ZipInput'\">{{zipCodeLabel}}</label>\n <input class=\"form-control\" [ngClass]=\"{'is-invalid':showValidation && group.controls['postalCode'].status === 'INVALID'}\"\n [type]=\"isSearch ? 'search' : 'text'\" placeholder=\"Zip Code\" formControlName=\"postalCode\" [id]=\"componentId+'_ZipInput'\" mask=\"00000\">\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['postalCode'].hasError('required')\">{{zipCodeLabel}} is required</small>\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['postalCode'].hasError('minlength')\">{{zipCodeLabel}} must contain exactly 5 digits</small>\n </div>\n </div>\n </div>\n <div *ngIf=\"group.controls['country'] && group.get('country')?.value !=='USA'\" class=\"row\">\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label [for]=\"componentId+'_ForeignStateInput'\">{{foreignStateLabel}}</label>\n <input class=\"form-control\" [ngClass]=\"{'is-invalid':showValidation && group.controls['foreignState'].status === 'INVALID'}\"\n type=\"text\" placeholder=\"Foreign State\" formControlName=\"foreignState\" [id]=\"componentId+'_ForeignStateInput'\" [attr.disabled]=\"disableState || group.disabled ? '' : null\" >\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['foreignState'].hasError('required')\">{{foreignStateLabel}} is required</small>\n \n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label [for]=\"componentId+'_foreignZipInput'\">{{foreignZipLabel}}</label>\n <input class=\"form-control\" [ngClass]=\"{'is-invalid':showValidation && group.controls['foreignZip'].status === 'INVALID'}\"\n type=\"text\" placeholder=\"Foreign Zip Code\" formControlName=\"foreignZip\" [id]=\"componentId+'_foreignZipInput'\" >\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['foreignZip'].hasError('required')\">{{foreignZipLabel}} is required</small>\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['foreignZip'].hasError('minlength')\">{{foreignZipLabel}} must contain exactly ? digits</small>\n </div> \n </div>\n </div>\n <div *ngIf=\"group.controls['country']\" class=\"row\">\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label [for]=\"componentId+'_CountrySelect'\">{{countryLabel}}</label>\n <select class=\"form-select\" [ngClass]=\"{'is-invalid':showValidation && group.controls['country'].status === 'INVALID'}\" \n name=\"AddressCountry\" formControlName=\"country\" [id]=\"componentId+'_CountrySelect'\" [attr.disabled]=\"disableState || group.disabled ? '' : null\">\n <option *ngFor=\"let c of countries\" [ngValue]=\"c\">{{c}}</option>\n </select>\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['country'].hasError('required')\">Country{{countryLabel}} is required</small>\n </div>\n </div>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { 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.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i5.NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "leadZero", "triggerOnMaskChange", "apm", "inputTransformFn", "outputTransformFn", "keepCharacterPositions"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }] });
|
|
117
118
|
}
|
|
118
119
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AddressComponent, decorators: [{
|
|
119
120
|
type: Component,
|
|
@@ -122,6 +123,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
122
123
|
type: Input
|
|
123
124
|
}], showValidation: [{
|
|
124
125
|
type: Input
|
|
126
|
+
}], idPrefix: [{
|
|
127
|
+
type: Input,
|
|
128
|
+
args: ['idPrefix']
|
|
125
129
|
}], addressOneLabel: [{
|
|
126
130
|
type: Input,
|
|
127
131
|
args: ['addressOneLabel']
|
|
@@ -171,4 +175,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
171
175
|
}], sameAsChecked: [{
|
|
172
176
|
type: Input
|
|
173
177
|
}] } });
|
|
174
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vZXBhLXVpLWxpYi9zcmMvbGliL2FkZHJlc3MvYWRkcmVzcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vZXBhLXVpLWxpYi9zcmMvbGliL2FkZHJlc3MvYWRkcmVzcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQVd6RCxNQUFNLE9BQU8sZ0JBQWdCO0lBdUNQO0lBQTRDO0lBdEN6RCxXQUFXLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0MsVUFBVSxHQUFHLElBQUksQ0FBQztJQUNsQixRQUFRLEdBQWEsRUFBRSxDQUFDO0lBQ3hCLFNBQVMsR0FBYSxFQUFFLENBQUM7SUFDekIsV0FBVyxHQUFHLHNCQUFzQixDQUFDO0lBR3BDLGVBQWUsQ0FBZTtJQUM5QixZQUFZLENBQWdCO0lBRTNCLEtBQUssQ0FBYTtJQUNsQixjQUFjLEdBQUcsS0FBSyxDQUFDO0lBRUMsZUFBZSxHQUFXLFdBQVcsQ0FBQztJQUN0QyxlQUFlLEdBQVcsV0FBVyxDQUFDO0lBQzVDLFNBQVMsR0FBVyxNQUFNLENBQUM7SUFDMUIsVUFBVSxHQUFXLE9BQU8sQ0FBQztJQUMzQixZQUFZLEdBQVcsVUFBVSxDQUFDO0lBQ2xDLFlBQVksR0FBVyxLQUFLLENBQUM7SUFDakMsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUV6QixTQUFTLEdBQUcsS0FBSyxDQUFDO0lBRTdDLHdDQUF3QztJQUNSLGNBQWMsR0FBRyxFQUFFLENBQUM7SUFDcEIsY0FBYyxHQUFHLEVBQUUsQ0FBQztJQUNyQixhQUFhLEdBQUcsRUFBRSxDQUFDO0lBRWYsaUJB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Z0JBQ1MsWUFBWTtzQkFBekMsS0FBSzt1QkFBQyxjQUFjO2dCQUNLLFFBQVE7c0JBQWpDLEtBQUs7dUJBQUMsVUFBVTtnQkFFVSxTQUFTO3NCQUFuQyxLQUFLO3VCQUFDLFdBQVc7Z0JBR2MsY0FBYztzQkFBN0MsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBQ1MsY0FBYztzQkFBN0MsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBQ1EsYUFBYTtzQkFBM0MsS0FBSzt1QkFBQyxlQUFlO2dCQUVhLGlCQUFpQjtzQkFBbkQsS0FBSzt1QkFBQyxtQkFBbUI7Z0JBQ08sZUFBZTtzQkFBL0MsS0FBSzt1QkFBQyxpQkFBaUI7Z0JBQ00sWUFBWTtzQkFBekMsS0FBSzt1QkFBQyxjQUFjO2dCQUlaLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE9lcGFBZGRyZXNzU2VydmljZSB9IGZyb20gJy4vb2VwYS1hZGRyZXNzLnNlcnZpY2UnO1xuaW1wb3J0IHsgT2VwYUNvbXBvbmVudElkU2VydmljZSwgT0VQQUFkZHJlc3MgfSBmcm9tICdAb2hpb2VwYS9vZXBhLWNvbW1vbi1saWInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvZXBhLWFkZHJlc3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWRkcmVzcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9hZGRyZXNzLmNvbXBvbmVudC5jc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBBZGRyZXNzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIHppcENvZGVNYXNrID0gWy9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkL107XG4gIHB1YmxpYyBzaG93U3RhdGVzID0gdHJ1ZTtcbiAgcHVibGljIHVzU3RhdGVzOiBzdHJpbmdbXSA9IFtdO1xuICBwdWJsaWMgY291bnRyaWVzOiBzdHJpbmdbXSA9IFtdO1xuICBwdWJsaWMgY29tcG9uZW50SWQgPSAnT2VwYUFkZHJlc3NDb21wb25lbnQnO1xuXG4gIFxuICBwcml2YXRlIG9yaWdpbmFsQWRkcmVzcyE6IE9FUEFBZGRyZXNzO1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcblxuICBASW5wdXQoKSBncm91cCE6IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgc2hvd1ZhbGlkYXRpb24gPSBmYWxzZTtcblxuICBASW5wdXQoJ2FkZHJlc3NPbmVMYWJlbCcpIHB1YmxpYyBhZGRyZXNzT25lTGFiZWw6IHN0cmluZyA9ICdBZGRyZXNzIDEnO1xuICBASW5wdXQoJ2FkZHJlc3NUd29MYWJlbCcpIHB1YmxpYyBhZGRyZXNzVHdvTGFiZWw6IHN0cmluZyA9ICdBZGRyZXNzIDInO1xuICBASW5wdXQoJ2NpdHlMYWJlbCcpIHB1YmxpYyBjaXR5TGFiZWw6IHN0cmluZyA9ICdDaXR5JztcbiAgQElucHV0KCdzdGF0ZUxhYmVsJykgcHVibGljIHN0YXRlTGFiZWw6IHN0cmluZyA9ICdTdGF0ZSc7XG4gIEBJbnB1dCgnemlwQ29kZUxhYmVsJykgcHVibGljIHppcENvZGVMYWJlbDogc3RyaW5nID0gJ1ppcCBDb2RlJztcbiAgQElucHV0KCdkaXNhYmxlU3RhdGUnKSBwdWJsaWMgZGlzYWJsZVN0YXRlOmJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCdpc1NlYXJjaCcpIHB1YmxpYyBpc1NlYXJjaDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgnaGlkZUxpbmUyJykgcHVibGljIGhpZGVMaW5lMiA9IGZhbHNlO1xuXG4gIC8vIG1heCBsZW5ndGggdmFsdWVzLiBvdmVycmlkZSBpZiBuZWVkZWRcbiAgQElucHV0KCdsaW5lMU1heExlbmd0aCcpIHB1YmxpYyBsaW5lMU1heExlbmd0aCA9IDQwO1xuICBASW5wdXQoJ2xpbmUyTWF4TGVuZ3RoJykgcHVibGljIGxpbmUyTWF4TGVuZ3RoID0gNDA7XG4gIEBJbnB1dCgnY2l0eU1heExlbmd0aCcpIHB1YmxpYyBjaXR5TWF4TGVuZ3RoID0gMzA7XG4gIFxuICBASW5wdXQoJ2ZvcmVpZ25TdGF0ZUxhYmVsJykgcHVibGljIGZvcmVpZ25TdGF0ZUxhYmVsOiBzdHJpbmcgPSAnRm9yZWlnbiBTdGF0ZSc7XG4gIEBJbnB1dCgnZm9yZWlnblppcExhYmVsJykgcHVibGljIGZvcmVpZ25aaXBMYWJlbDogc3RyaW5nID0gJ0ZvcmVpZ24gWmlwIENvZGUnO1xuICBASW5wdXQoJ2NvdW50cnlMYWJlbCcpIHB1YmxpYyBjb3VudHJ5TGFiZWw6IHN0cmluZyA9ICdDb3VudHJ5JztcblxuICAvLyBUaGVzZSB2YWx1ZXMgYXJlIG9ubHkgdXNlZCBpZiB5b3Ugd2FudCBhIFwic2FtZSBhc1wiIGNoZWNrYm94IGZvciB0aGUgYWRkcmVzc1xuICAvLyBBbGwgdGhyZWUgdmFsdWVzIG11c3QgYmUgcHJvdmlkZWQgaWYgdXNpbmcgdGhlIFwic2FtZSBhc1wiIGNhcGFiaWxpdHlcbiAgQElucHV0KCkgc2FtZUFzR3JvdXAgITogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBzYW1lQXNMYWJlbCAhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNhbWVBc0NoZWNrZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFkZHJlc3NTZXJ2aWNlOiBPZXBhQWRkcmVzc1NlcnZpY2UsIHByaXZhdGUgaWRTZXJ2aWNlOiBPZXBhQ29tcG9uZW50SWRTZXJ2aWNlKSB7XG4gICAgdGhpcy5hZGRyZXNzU2VydmljZS5nZXRTdGF0ZXMoKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHN0YXRlcykgPT4ge1xuICAgICAgdGhpcy51c1N0YXRlcyA9IHN0YXRlcztcbiAgICB9LCBlcnJvcjogZXJyID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKCdFUlJPUiByZXRyaWV2aW5nIHN0YXRlcyBmb3IgYWRkcmVzczogJyArIGVycik7XG4gICAgfX0pO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuZ3JvdXApIHtcbiAgICAgIFxuICAgICAgaWYodGhpcy5ncm91cC5jb250cm9sc1snY291bnRyeSddKXtcbiAgICAgICAgIHRoaXMuYWRkcmVzc1NlcnZpY2UuZ2V0Q291bnRyaWVzKCkuc3Vic2NyaWJlKHsgXG4gICAgICAgICAgbmV4dDogKGNvdW50cmllczogYW55KSA9PiB7XG4gICAgICAgICAgICBsZXQgY291bnRyeUxpc3Q6c3RyaW5nW109W107XG4gICAgICAgICAgICAvL1JlbW92ZSBcIkNheW1lbiBJc2xhbmRzXCJcbiAgICAgICAgICAgIGNvdW50cmllcy5mb3JFYWNoKChjb3VudHJ5OiBhbnkpID0+e1xuICAgICAgICAgICAgICBpZihjb3VudHJ5ICE9PSBcIkNheW1lbiBJc2xhbmRzXCIpXG4gICAgICAgICAgICAgICAgY291bnRyeUxpc3QucHVzaChjb3VudHJ5KTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB0aGlzLmNvdW50cmllcyA9IGNvdW50cnlMaXN0O1xuICAgICAgICAgIH0sIGVycm9yOiBlcnIgPT4ge1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ0VSUk9SIHJldHJpZXZpbmcgY291bnRyaWVzIGZvciBhZGRyZXNzOiAnICsgZXJyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgdGhpcy5jb21wb25lbnRJZCA9IHRoaXMuaWRTZXJ2aWNlLmdldENvbXBvbmVudElkKHRoaXMuZ3JvdXApO1xuICAgICAgdGhpcy5vcmlnaW5hbEFkZHJlc3MgPSB0aGlzLmFkZHJlc3NGcm9tRm9ybUdyb3VwKHRoaXMuZ3JvdXApO1xuICAgICAgdGhpcy5zdWJzY3JpYmVUb0NoYW5nZXMoKTtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVDb3B5RnJvbVNlbGVjdGlvbigpIHtcbiAgICB0aGlzLnNhbWVBc0NoZWNrZWQgPSAhdGhpcy5zYW1lQXNDaGVja2VkO1xuICAgIGlmICh0aGlzLnNhbWVBc0NoZWNrZWQpIHtcbiAgICAgIHRoaXMudW5zdWJzY3JpYmVGcm9tQ2hhbmdlcygpO1xuICAgICAgdGhpcy5ncm91cC5wYXRjaFZhbHVlKHRoaXMuYWRkcmVzc0Zyb21Gb3JtR3JvdXAodGhpcy5zYW1lQXNHcm91cCkpO1xuICAgICAgdGhpcy5ncm91cC5kaXNhYmxlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3Vic2NyaWJlVG9DaGFuZ2VzKCk7XG4gICAgICB0aGlzLmdyb3VwLnBhdGNoVmFsdWUodGhpcy5vcmlnaW5hbEFkZHJlc3MpO1xuICAgICAgdGhpcy5ncm91cC5lbmFibGUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFkZHJlc3NGcm9tRm9ybUdyb3VwKGdyb3VwOiBGb3JtR3JvdXApOiBPRVBBQWRkcmVzcyB7XG4gICAgbGV0IGFkZHJlc3M6IE9FUEFBZGRyZXNzID0ge307XG4gICAgaWYgKGdyb3VwKSB7XG4gICAgICBhZGRyZXNzID0ge1xuICAgICAgICBsaW5lMTogZ3JvdXAuY29udHJvbHNbJ2xpbmUxJ10udmFsdWUsXG4gICAgICAgIGxpbmUyOiBncm91cC5jb250cm9sc1snbGluZTInXS52YWx1ZSxcbiAgICAgICAgY2l0eTogZ3JvdXAuY29udHJvbHNbJ2NpdHknXS52YWx1ZSxcbiAgICAgICAgc3RhdGU6IGdyb3VwLmNvbnRyb2xzWydzdGF0ZSddLnZhbHVlLFxuICAgICAgICBwb3N0YWxDb2RlOiAoZ3JvdXAuY29udHJvbHNbJ2NvdW50cnknXSAmJiBncm91cC5jb250cm9sc1snY291bnRyeSddLnZhbHVlICE9PSAnVVNBJykgPyBncm91cC5jb250cm9sc1snZm9yZWlnblppcCddOmdyb3VwLmNvbnRyb2xzWydwb3N0YWxDb2RlJ10udmFsdWUsXG4gICAgICAgIGZvcmVpZ25TdGF0ZTogZ3JvdXAuY29udHJvbHNbJ2ZvcmVpZ25TdGF0ZSddPyBncm91cC5jb250cm9sc1snZm9yZWlnblN0YXRlJ10udmFsdWU6bnVsbCxcbiAgICAgICAgY291bnRyeTogZ3JvdXAuY29udHJvbHNbJ2NvdW50cnknXSA/IGdyb3VwLmNvbnRyb2xzWydjb3VudHJ5J10udmFsdWU6bnVsbFxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gYWRkcmVzcztcbiAgfVxuXG4gIHByaXZhdGUgc3Vic2NyaWJlVG9DaGFuZ2VzKCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5ncm91cC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKGFkZHJlc3MgPT4ge1xuICAgICAgdGhpcy5vcmlnaW5hbEFkZHJlc3MubGluZTEgPSBhZGRyZXNzLmxpbmUxO1xuICAgICAgdGhpcy5vcmlnaW5hbEFkZHJlc3MubGluZTIgPSBhZGRyZXNzLmxpbmUyO1xuICAgICAgdGhpcy5vcmlnaW5hbEFkZHJlc3MuY2l0eSA9IGFkZHJlc3MuY2l0eTtcbiAgICAgIHRoaXMub3JpZ2luYWxBZGRyZXNzLnN0YXRlID0gYWRkcmVzcy5zdGF0ZTtcbiAgICAgIHRoaXMub3JpZ2luYWxBZGRyZXNzLnBvc3RhbENvZGUgPSAoYWRkcmVzcy5jb3VudHJ5ICYmIGFkZHJlc3MuY291bnRyeSAhPT0gJ1VTQScpID8gYWRkcmVzcy5mb3JlaWduWmlwOmFkZHJlc3MucG9zdGFsQ29kZTtcbiAgICAgIHRoaXMub3JpZ2luYWxBZGRyZXNzLmZvcmVpZ25TdGF0ZSA9IGFkZHJlc3MuZm9yZWlnblN0YXRlID8gYWRkcmVzcy5mb3JlaWduU3RhdGUgOiBudWxsO1xuICAgICAgdGhpcy5vcmlnaW5hbEFkZHJlc3MuY291bnRyeSA9IGFkZHJlc3MuY291bnRyeSA/IGFkZHJlc3MuY291bnRyeSA6IG51bGw7XG4gICAgICBcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdW5zdWJzY3JpYmVGcm9tQ2hhbmdlcygpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwic2FtZUFzR3JvdXBcIj5cbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsIFtuZ1N0eWxlXT1cInsgJ2ZvbnQtd2VpZ2h0Jzogc2FtZUFzQ2hlY2tlZCAmJiBncm91cC5kaXNhYmxlZCA/ICdib2xkJyA6ICcnIH1cIiBbZm9yXT1cImNvbXBvbmVudElkKydfQ29weUZyb21DaGVja2JveCdcIj5cbiAgICAgICAgICAgICAgICAgICAge3tzYW1lQXNMYWJlbH19IFxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgW2lkXT1cImNvbXBvbmVudElkKydfQ29weUZyb21DaGVja2JveCdcIiB0eXBlPVwiY2hlY2tib3hcIiBbY2hlY2tlZF09XCJzYW1lQXNDaGVja2VkXCIgKGNoYW5nZSk9XCJ0b2dnbGVDb3B5RnJvbVNlbGVjdGlvbigpXCIgW2Rpc2FibGVkXT1cImdyb3VwLnBhcmVudD8uZGlzYWJsZWRcIi8+XG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiAqbmdJZj1cIiFzYW1lQXNHcm91cCB8fCAhc2FtZUFzQ2hlY2tlZFwiIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIj5cbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsIFtmb3JdPVwiY29tcG9uZW50SWQrJ19MaW5lMUlucHV0J1wiPnt7YWRkcmVzc09uZUxhYmVsfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbFwiIFtuZ0NsYXNzXT1cInsnaXMtaW52YWxpZCc6c2hvd1ZhbGlkYXRpb24gJiYgZ3JvdXAuY29udHJvbHNbJ2xpbmUxJ10uc3RhdHVzID09PSAnSU5WQUxJRCd9XCIgXG4gICAgICAgICAgICAgICAgICAgIFt0eXBlXT1cImlzU2VhcmNoID8gJ3NlYXJjaCcgOiAndGV4dCdcIiBwbGFjZWhvbGRlcj1cIkFkZHJlc3NcIiBtYXhsZW5ndGg9XCI0MFwiIGZvcm1Db250cm9sTmFtZT1cImxpbmUxXCIgW21heGxlbmd0aF09XCJsaW5lMU1heExlbmd0aFwiXG4gICAgICAgICAgICAgICAgICAgIFtpZF09XCJjb21wb25lbnRJZCsnX0xpbmUxSW5wdXQnXCI+XG4gICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiICpuZ0lmPVwiZ3JvdXAuY29udHJvbHNbJ2xpbmUxJ10uaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj57e2FkZHJlc3NPbmVMYWJlbH19IGlzIHJlcXVpcmVkPC9zbWFsbD5cbiAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCIgKm5nSWY9XCJncm91cC5jb250cm9sc1snbGluZTEnXS5oYXNFcnJvcignbWF4bGVuZ3RoJylcIj57e2FkZHJlc3NPbmVMYWJlbH19IGhhcyBleGNlZWRlZCBpdHMgbWF4aW11bSBsZW5ndGg8L3NtYWxsPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCIhaGlkZUxpbmUyXCIgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICA8bGFiZWwgW2Zvcl09XCJjb21wb25lbnRJZCsnX0xpbmUySW5wdXQnXCI+e3thZGRyZXNzVHdvTGFiZWx9fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgW25nQ2xhc3NdPVwieydpcy1pbnZhbGlkJzpzaG93VmFsaWRhdGlvbiAmJiBncm91cC5jb250cm9sc1snbGluZTInXS5zdGF0dXMgPT09ICdJTlZBTElEJ31cIlxuICAgICAgICAgICAgICAgIFt0eXBlXT1cImlzU2VhcmNoID8gJ3NlYXJjaCcgOiAndGV4dCdcIiBwbGFjZWhvbGRlcj1cIkFkZHJlc3NcIiBtYXhsZW5ndGg9XCI0MFwiIGZvcm1Db250cm9sTmFtZT1cImxpbmUyXCIgW21heGxlbmd0aF09XCJsaW5lMk1heExlbmd0aFwiXG4gICAgICAgICAgICAgICAgICAgIFtpZF09XCJjb21wb25lbnRJZCsnX0xpbmUySW5wdXQnXCI+XG4gICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiICpuZ0lmPVwiZ3JvdXAuY29udHJvbHNbJ2xpbmUyJ10uaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj57e2FkZHJlc3NUd29MYWJlbH19IGlzIHJlcXVpcmVkPC9zbWFsbD5cbiAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCIgKm5nSWY9XCJncm91cC5jb250cm9sc1snbGluZTInXS5oYXNFcnJvcignbWF4bGVuZ3RoJylcIj57e2FkZHJlc3NUd29MYWJlbH19IGhhcyBleGNlZWRlZCBpdHMgbWF4aW11bSBsZW5ndGg8L3NtYWxsPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBbZm9yXT1cImNvbXBvbmVudElkKydfQ2l0eUlucHV0J1wiPnt7Y2l0eUxhYmVsfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbFwiIFtuZ0NsYXNzXT1cInsnaXMtaW52YWxpZCc6c2hvd1ZhbGlkYXRpb24gJiYgZ3JvdXAuY29udHJvbHNbJ2NpdHknXS5zdGF0dXMgPT09ICdJTlZBTElEJ31cIlxuICAgICAgICAgICAgICAgICAgICBbdHlwZV09XCJpc1NlYXJjaCA/ICdzZWFyY2gnIDogJ3RleHQnXCIgcGxhY2Vob2xkZXI9XCJDaXR5XCIgbWF4bGVuZ3RoPVwiMzBcIiBmb3JtQ29udHJvbE5hbWU9XCJjaXR5XCIgW21heGxlbmd0aF09XCJjaXR5TWF4TGVuZ3RoXCJcbiAgICAgICAgICAgICAgICAgICAgW2lkXT1cImNvbXBvbmVudElkKydfQ2l0eUlucHV0J1wiPlxuICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIiAqbmdJZj1cImdyb3VwLmNvbnRyb2xzWydjaXR5J10uaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj57e2NpdHlMYWJlbH19IGlzIHJlcXVpcmVkPC9zbWFsbD5cbiAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCIgKm5nSWY9XCJncm91cC5jb250cm9sc1snY2l0eSddLmhhc0Vycm9yKCdtYXhsZW5ndGgnKVwiPnt7Y2l0eUxhYmVsfX0gaGFzIGV4Y2VlZGVkIGl0cyBtYXhpbXVtIGxlbmd0aDwvc21hbGw+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMlwiPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNob3dTdGF0ZXMgJiYgKCFncm91cC5jb250cm9sc1snY291bnRyeSddIHx8IGdyb3VwLmdldCgnY291bnRyeScpPy52YWx1ZSA9PT0nVVNBJylcIiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICA8bGFiZWwgW2Zvcl09XCJjb21wb25lbnRJZCsnX1N0YXRlU2VsZWN0J1wiPnt7c3RhdGVMYWJlbH19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3RcIiBbbmdDbGFzc109XCJ7J2lzLWludmFsaWQnOnNob3dWYWxpZGF0aW9uICYmIGdyb3VwLmNvbnRyb2xzWydzdGF0ZSddLnN0YXR1cyA9PT0gJ0lOVkFMSUQnfVwiIFxuICAgICAgICAgICAgICAgICAgICBuYW1lPVwiQWRkcmVzc1N0YXRlXCIgZm9ybUNvbnRyb2xOYW1lPVwic3RhdGVcIiBbaWRdPVwiY29tcG9uZW50SWQrJ19TdGF0ZVNlbGVjdCdcIiBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlU3RhdGUgfHwgZ3JvdXAuZGlzYWJsZWQgPyAnJyA6IG51bGxcIj5cbiAgICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBzIG9mIHVzU3RhdGVzXCIgW25nVmFsdWVdPVwic1wiPnt7c319PC9vcHRpb24+XG4gICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIiAqbmdJZj1cImdyb3VwLmNvbnRyb2xzWydzdGF0ZSddLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCI+U3RhdGUgaXMgcmVxdWlyZWQ8L3NtYWxsPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTRcIj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhZ3JvdXAuY29udHJvbHNbJ2NvdW50cnknXSAgfHwgZ3JvdXAuZ2V0KCdjb3VudHJ5Jyk/LnZhbHVlID09PSdVU0EnXCIgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsIFtmb3JdPVwiY29tcG9uZW50SWQrJ19aaXBJbnB1dCdcIj57e3ppcENvZGVMYWJlbH19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbbmdDbGFzc109XCJ7J2lzLWludmFsaWQnOnNob3dWYWxpZGF0aW9uICYmIGdyb3VwLmNvbnRyb2xzWydwb3N0YWxDb2RlJ10uc3RhdHVzID09PSAnSU5WQUxJRCd9XCJcbiAgICAgICAgICAgICAgICAgICAgW3R5cGVdPVwiaXNTZWFyY2ggPyAnc2VhcmNoJyA6ICd0ZXh0J1wiIHBsYWNlaG9sZGVyPVwiWmlwIENvZGVcIiBmb3JtQ29udHJvbE5hbWU9XCJwb3N0YWxDb2RlXCIgW2lkXT1cImNvbXBvbmVudElkKydfWmlwSW5wdXQnXCIgbWFzaz1cIjAwMDAwXCI+XG4gICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiICpuZ0lmPVwiZ3JvdXAuY29udHJvbHNbJ3Bvc3RhbENvZGUnXS5oYXNFcnJvcigncmVxdWlyZWQnKVwiPnt7emlwQ29kZUxhYmVsfX0gaXMgcmVxdWlyZWQ8L3NtYWxsPlxuICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIiAqbmdJZj1cImdyb3VwLmNvbnRyb2xzWydwb3N0YWxDb2RlJ10uaGFzRXJyb3IoJ21pbmxlbmd0aCcpXCI+e3t6aXBDb2RlTGFiZWx9fSBtdXN0IGNvbnRhaW4gZXhhY3RseSA1IGRpZ2l0czwvc21hbGw+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cImdyb3VwLmNvbnRyb2xzWydjb3VudHJ5J10gJiYgZ3JvdXAuZ2V0KCdjb3VudHJ5Jyk/LnZhbHVlICE9PSdVU0EnXCIgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBbZm9yXT1cImNvbXBvbmVudElkKydfRm9yZWlnblN0YXRlSW5wdXQnXCI+e3tmb3JlaWduU3RhdGVMYWJlbH19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbbmdDbGFzc109XCJ7J2lzLWludmFsaWQnOnNob3dWYWxpZGF0aW9uICYmIGdyb3VwLmNvbnRyb2xzWydmb3JlaWduU3RhdGUnXS5zdGF0dXMgPT09ICdJTlZBTElEJ31cIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCIgcGxhY2Vob2xkZXI9XCJGb3JlaWduIFN0YXRlXCIgZm9ybUNvbnRyb2xOYW1lPVwiZm9yZWlnblN0YXRlXCIgW2lkXT1cImNvbXBvbmVudElkKydfRm9yZWlnblN0YXRlSW5wdXQnXCIgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZVN0YXRlIHx8IGdyb3VwLmRpc2FibGVkID8gJycgOiBudWxsXCIgPlxuICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIiAqbmdJZj1cImdyb3VwLmNvbnRyb2xzWydmb3JlaWduU3RhdGUnXS5oYXNFcnJvcigncmVxdWlyZWQnKVwiPnt7Zm9yZWlnblN0YXRlTGFiZWx9fSBpcyByZXF1aXJlZDwvc21hbGw+XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICA8bGFiZWwgW2Zvcl09XCJjb21wb25lbnRJZCsnX2ZvcmVpZ25aaXBJbnB1dCdcIj57e2ZvcmVpZ25aaXBMYWJlbH19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbbmdDbGFzc109XCJ7J2lzLWludmFsaWQnOnNob3dWYWxpZGF0aW9uICYmIGdyb3VwLmNvbnRyb2xzWydmb3JlaWduWmlwJ10uc3RhdHVzID09PSAnSU5WQUxJRCd9XCJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiIHBsYWNlaG9sZGVyPVwiRm9yZWlnbiBaaXAgQ29kZVwiIGZvcm1Db250cm9sTmFtZT1cImZvcmVpZ25aaXBcIiBbaWRdPVwiY29tcG9uZW50SWQrJ19mb3JlaWduWmlwSW5wdXQnXCIgID5cbiAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCIgKm5nSWY9XCJncm91cC5jb250cm9sc1snZm9yZWlnblppcCddLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCI+e3tmb3JlaWduWmlwTGFiZWx9fSBpcyByZXF1aXJlZDwvc21hbGw+XG4gICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiICpuZ0lmPVwiZ3JvdXAuY29udHJvbHNbJ2ZvcmVpZ25aaXAnXS5oYXNFcnJvcignbWlubGVuZ3RoJylcIj57e2ZvcmVpZ25aaXBMYWJlbH19IG11c3QgY29udGFpbiBleGFjdGx5ID8gZGlnaXRzPC9zbWFsbD5cbiAgICAgICAgICAgIDwvZGl2PiBcbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cImdyb3VwLmNvbnRyb2xzWydjb3VudHJ5J11cIiBjbGFzcz1cInJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsIFtmb3JdPVwiY29tcG9uZW50SWQrJ19Db3VudHJ5U2VsZWN0J1wiPnt7Y291bnRyeUxhYmVsfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdFwiIFtuZ0NsYXNzXT1cInsnaXMtaW52YWxpZCc6c2hvd1ZhbGlkYXRpb24gJiYgZ3JvdXAuY29udHJvbHNbJ2NvdW50cnknXS5zdGF0dXMgPT09ICdJTlZBTElEJ31cIiBcbiAgICAgICAgICAgICAgICBuYW1lPVwiQWRkcmVzc0NvdW50cnlcIiBmb3JtQ29udHJvbE5hbWU9XCJjb3VudHJ5XCIgW2lkXT1cImNvbXBvbmVudElkKydfQ291bnRyeVNlbGVjdCdcIiBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlU3RhdGUgfHwgZ3JvdXAuZGlzYWJsZWQgPyAnJyA6IG51bGxcIj5cbiAgICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBjIG9mIGNvdW50cmllc1wiIFtuZ1ZhbHVlXT1cImNcIj57e2N9fTwvb3B0aW9uPlxuICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCIgKm5nSWY9XCJncm91cC5jb250cm9sc1snY291bnRyeSddLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCI+Q291bnRyeXt7Y291bnRyeUxhYmVsfX0gaXMgcmVxdWlyZWQ8L3NtYWxsPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+Il19
|
|
178
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vZXBhLXVpLWxpYi9zcmMvbGliL2FkZHJlc3MvYWRkcmVzcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vZXBhLXVpLWxpYi9zcmMvbGliL2FkZHJlc3MvYWRkcmVzcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQVd6RCxNQUFNLE9BQU8sZ0JBQWdCO0lBeUNQO0lBQTRDO0lBeEN6RCxXQUFXLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0MsVUFBVSxHQUFHLElBQUksQ0FBQztJQUNsQixRQUFRLEdBQWEsRUFBRSxDQUFDO0lBQ3hCLFNBQVMsR0FBYSxFQUFFLENBQUM7SUFDekIsV0FBVyxHQUFHLHNCQUFzQixDQUFDO0lBR3BDLGVBQWUsQ0FBZTtJQUM5QixZQUFZLENBQWdCO0lBRTNCLEtBQUssQ0FBYTtJQUNsQixjQUFjLEdBQUcsS0FBSyxDQUFDO0lBRU4sUUFBUSxHQUFXLEVBQUUsQ0FBQztJQUVmLGVBQWUsR0FBVyxXQUFXLENBQUM7SUFDdEMsZUFBZSxHQUFXLFdBQVcsQ0FBQztJQUM1QyxTQUFTLEdBQVcsTUFBTSxDQUFDO0lBQzFCLFVBQVUsR0FBVyxPQUFPLENBQUM7SUFDM0IsWUFBWSxHQUFXLFVBQVUsQ0FBQztJQUNsQyxZQUFZLEdBQVcsS0FBSyxDQUFDO0lBQ2pDLFFBQVEsR0FBWSxLQUFLLENBQUM7SUFFekIsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUU3Qyx3Q0FBd0M7SUFDUixjQUFjLEdBQUcsRUFBRSxDQUFDO0lBQ3BCLGNBQWMsR0FBRyxFQUFFLENBQUM7SUFDckIsYUFB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O3VCQUFDLFdBQVc7Z0JBQ1UsVUFBVTtzQkFBckMsS0FBSzt1QkFBQyxZQUFZO2dCQUNXLFlBQVk7c0JBQXpDLEtBQUs7dUJBQUMsY0FBYztnQkFDUyxZQUFZO3NCQUF6QyxLQUFLO3VCQUFDLGNBQWM7Z0JBQ0ssUUFBUTtzQkFBakMsS0FBSzt1QkFBQyxVQUFVO2dCQUVVLFNBQVM7c0JBQW5DLEtBQUs7dUJBQUMsV0FBVztnQkFHYyxjQUFjO3NCQUE3QyxLQUFLO3VCQUFDLGdCQUFnQjtnQkFDUyxjQUFjO3NCQUE3QyxLQUFLO3VCQUFDLGdCQUFnQjtnQkFDUSxhQUFhO3NCQUEzQyxLQUFLO3VCQUFDLGVBQWU7Z0JBRWEsaUJBQWlCO3NCQUFuRCxLQUFLO3VCQUFDLG1CQUFtQjtnQkFDTyxlQUFlO3NCQUEvQyxLQUFLO3VCQUFDLGlCQUFpQjtnQkFDTSxZQUFZO3NCQUF6QyxLQUFLO3VCQUFDLGNBQWM7Z0JBSVosV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgT2VwYUFkZHJlc3NTZXJ2aWNlIH0gZnJvbSAnLi9vZXBhLWFkZHJlc3Muc2VydmljZSc7XG5pbXBvcnQgeyBPZXBhQ29tcG9uZW50SWRTZXJ2aWNlLCBPRVBBQWRkcmVzcyB9IGZyb20gJ0BvaGlvZXBhL29lcGEtY29tbW9uLWxpYic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29lcGEtYWRkcmVzcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9hZGRyZXNzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2FkZHJlc3MuY29tcG9uZW50LmNzcycsXG59KVxuZXhwb3J0IGNsYXNzIEFkZHJlc3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgemlwQ29kZU1hc2sgPSBbL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvXTtcbiAgcHVibGljIHNob3dTdGF0ZXMgPSB0cnVlO1xuICBwdWJsaWMgdXNTdGF0ZXM6IHN0cmluZ1tdID0gW107XG4gIHB1YmxpYyBjb3VudHJpZXM6IHN0cmluZ1tdID0gW107XG4gIHB1YmxpYyBjb21wb25lbnRJZCA9ICdPZXBhQWRkcmVzc0NvbXBvbmVudCc7XG5cbiAgXG4gIHByaXZhdGUgb3JpZ2luYWxBZGRyZXNzITogT0VQQUFkZHJlc3M7XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuXG4gIEBJbnB1dCgpIGdyb3VwITogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBzaG93VmFsaWRhdGlvbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgnaWRQcmVmaXgnKSBwdWJsaWMgaWRQcmVmaXg6IHN0cmluZyA9ICcnO1xuXG4gIEBJbnB1dCgnYWRkcmVzc09uZUxhYmVsJykgcHVibGljIGFkZHJlc3NPbmVMYWJlbDogc3RyaW5nID0gJ0FkZHJlc3MgMSc7XG4gIEBJbnB1dCgnYWRkcmVzc1R3b0xhYmVsJykgcHVibGljIGFkZHJlc3NUd29MYWJlbDogc3RyaW5nID0gJ0FkZHJlc3MgMic7XG4gIEBJbnB1dCgnY2l0eUxhYmVsJykgcHVibGljIGNpdHlMYWJlbDogc3RyaW5nID0gJ0NpdHknO1xuICBASW5wdXQoJ3N0YXRlTGFiZWwnKSBwdWJsaWMgc3RhdGVMYWJlbDogc3RyaW5nID0gJ1N0YXRlJztcbiAgQElucHV0KCd6aXBDb2RlTGFiZWwnKSBwdWJsaWMgemlwQ29kZUxhYmVsOiBzdHJpbmcgPSAnWmlwIENvZGUnO1xuICBASW5wdXQoJ2Rpc2FibGVTdGF0ZScpIHB1YmxpYyBkaXNhYmxlU3RhdGU6Ym9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoJ2lzU2VhcmNoJykgcHVibGljIGlzU2VhcmNoOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCdoaWRlTGluZTInKSBwdWJsaWMgaGlkZUxpbmUyID0gZmFsc2U7XG5cbiAgLy8gbWF4IGxlbmd0aCB2YWx1ZXMuIG92ZXJyaWRlIGlmIG5lZWRlZFxuICBASW5wdXQoJ2xpbmUxTWF4TGVuZ3RoJykgcHVibGljIGxpbmUxTWF4TGVuZ3RoID0gNDA7XG4gIEBJbnB1dCgnbGluZTJNYXhMZW5ndGgnKSBwdWJsaWMgbGluZTJNYXhMZW5ndGggPSA0MDtcbiAgQElucHV0KCdjaXR5TWF4TGVuZ3RoJykgcHVibGljIGNpdHlNYXhMZW5ndGggPSAzMDtcbiAgXG4gIEBJbnB1dCgnZm9yZWlnblN0YXRlTGFiZWwnKSBwdWJsaWMgZm9yZWlnblN0YXRlTGFiZWw6IHN0cmluZyA9ICdGb3JlaWduIFN0YXRlJztcbiAgQElucHV0KCdmb3JlaWduWmlwTGFiZWwnKSBwdWJsaWMgZm9yZWlnblppcExhYmVsOiBzdHJpbmcgPSAnRm9yZWlnbiBaaXAgQ29kZSc7XG4gIEBJbnB1dCgnY291bnRyeUxhYmVsJykgcHVibGljIGNvdW50cnlMYWJlbDogc3RyaW5nID0gJ0NvdW50cnknO1xuXG4gIC8vIFRoZXNlIHZhbHVlcyBhcmUgb25seSB1c2VkIGlmIHlvdSB3YW50IGEgXCJzYW1lIGFzXCIgY2hlY2tib3ggZm9yIHRoZSBhZGRyZXNzXG4gIC8vIEFsbCB0aHJlZSB2YWx1ZXMgbXVzdCBiZSBwcm92aWRlZCBpZiB1c2luZyB0aGUgXCJzYW1lIGFzXCIgY2FwYWJpbGl0eVxuICBASW5wdXQoKSBzYW1lQXNHcm91cCAhOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIHNhbWVBc0xhYmVsICE6IHN0cmluZztcbiAgQElucHV0KCkgc2FtZUFzQ2hlY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYWRkcmVzc1NlcnZpY2U6IE9lcGFBZGRyZXNzU2VydmljZSwgcHJpdmF0ZSBpZFNlcnZpY2U6IE9lcGFDb21wb25lbnRJZFNlcnZpY2UpIHtcbiAgICB0aGlzLmFkZHJlc3NTZXJ2aWNlLmdldFN0YXRlcygpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAoc3RhdGVzKSA9PiB7XG4gICAgICB0aGlzLnVzU3RhdGVzID0gc3RhdGVzO1xuICAgIH0sIGVycm9yOiBlcnIgPT4ge1xuICAgICAgY29uc29sZS5sb2coJ0VSUk9SIHJldHJpZXZpbmcgc3RhdGVzIGZvciBhZGRyZXNzOiAnICsgZXJyKTtcbiAgICB9fSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5ncm91cCkge1xuICAgICAgXG4gICAgICBpZih0aGlzLmdyb3VwLmNvbnRyb2xzWydjb3VudHJ5J10pe1xuICAgICAgICAgdGhpcy5hZGRyZXNzU2VydmljZS5nZXRDb3VudHJpZXMoKS5zdWJzY3JpYmUoeyBcbiAgICAgICAgICBuZXh0OiAoY291bnRyaWVzOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGxldCBjb3VudHJ5TGlzdDpzdHJpbmdbXT1bXTtcbiAgICAgICAgICAgIC8vUmVtb3ZlIFwiQ2F5bWVuIElzbGFuZHNcIlxuICAgICAgICAgICAgY291bnRyaWVzLmZvckVhY2goKGNvdW50cnk6IGFueSkgPT57XG4gICAgICAgICAgICAgIGlmKGNvdW50cnkgIT09IFwiQ2F5bWVuIElzbGFuZHNcIilcbiAgICAgICAgICAgICAgICBjb3VudHJ5TGlzdC5wdXNoKGNvdW50cnkpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIHRoaXMuY291bnRyaWVzID0gY291bnRyeUxpc3Q7XG4gICAgICAgICAgfSwgZXJyb3I6IGVyciA9PiB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnRVJST1IgcmV0cmlldmluZyBjb3VudHJpZXMgZm9yIGFkZHJlc3M6ICcgKyBlcnIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICB0aGlzLmNvbXBvbmVudElkID0gdGhpcy5pZFByZWZpeCArIHRoaXMuaWRTZXJ2aWNlLmdldENvbXBvbmVudElkKHRoaXMuZ3JvdXApO1xuICAgICAgdGhpcy5vcmlnaW5hbEFkZHJlc3MgPSB0aGlzLmFkZHJlc3NGcm9tRm9ybUdyb3VwKHRoaXMuZ3JvdXApO1xuICAgICAgdGhpcy5zdWJzY3JpYmVUb0NoYW5nZXMoKTtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVDb3B5RnJvbVNlbGVjdGlvbigpIHtcbiAgICB0aGlzLnNhbWVBc0NoZWNrZWQgPSAhdGhpcy5zYW1lQXNDaGVja2VkO1xuICAgIGlmICh0aGlzLnNhbWVBc0NoZWNrZWQpIHtcbiAgICAgIHRoaXMudW5zdWJzY3JpYmVGcm9tQ2hhbmdlcygpO1xuICAgICAgdGhpcy5ncm91cC5wYXRjaFZhbHVlKHRoaXMuYWRkcmVzc0Zyb21Gb3JtR3JvdXAodGhpcy5zYW1lQXNHcm91cCkpO1xuICAgICAgdGhpcy5ncm91cC5kaXNhYmxlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3Vic2NyaWJlVG9DaGFuZ2VzKCk7XG4gICAgICB0aGlzLmdyb3VwLnBhdGNoVmFsdWUodGhpcy5vcmlnaW5hbEFkZHJlc3MpO1xuICAgICAgdGhpcy5ncm91cC5lbmFibGUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFkZHJlc3NGcm9tRm9ybUdyb3VwKGdyb3VwOiBGb3JtR3JvdXApOiBPRVBBQWRkcmVzcyB7XG4gICAgbGV0IGFkZHJlc3M6IE9FUEFBZGRyZXNzID0ge307XG4gICAgaWYgKGdyb3VwKSB7XG4gICAgICBhZGRyZXNzID0ge1xuICAgICAgICBsaW5lMTogZ3JvdXAuY29udHJvbHNbJ2xpbmUxJ10udmFsdWUsXG4gICAgICAgIGxpbmUyOiBncm91cC5jb250cm9sc1snbGluZTInXS52YWx1ZSxcbiAgICAgICAgY2l0eTogZ3JvdXAuY29udHJvbHNbJ2NpdHknXS52YWx1ZSxcbiAgICAgICAgc3RhdGU6IGdyb3VwLmNvbnRyb2xzWydzdGF0ZSddLnZhbHVlLFxuICAgICAgICBwb3N0YWxDb2RlOiAoZ3JvdXAuY29udHJvbHNbJ2NvdW50cnknXSAmJiBncm91cC5jb250cm9sc1snY291bnRyeSddLnZhbHVlICE9PSAnVVNBJykgPyBncm91cC5jb250cm9sc1snZm9yZWlnblppcCddOmdyb3VwLmNvbnRyb2xzWydwb3N0YWxDb2RlJ10udmFsdWUsXG4gICAgICAgIGZvcmVpZ25TdGF0ZTogZ3JvdXAuY29udHJvbHNbJ2ZvcmVpZ25TdGF0ZSddPyBncm91cC5jb250cm9sc1snZm9yZWlnblN0YXRlJ10udmFsdWU6bnVsbCxcbiAgICAgICAgY291bnRyeTogZ3JvdXAuY29udHJvbHNbJ2NvdW50cnknXSA/IGdyb3VwLmNvbnRyb2xzWydjb3VudHJ5J10udmFsdWU6bnVsbFxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gYWRkcmVzcztcbiAgfVxuXG4gIHByaXZhdGUgc3Vic2NyaWJlVG9DaGFuZ2VzKCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5ncm91cC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKGFkZHJlc3MgPT4ge1xuICAgICAgdGhpcy5vcmlnaW5hbEFkZHJlc3MubGluZTEgPSBhZGRyZXNzLmxpbmUxO1xuICAgICAgdGhpcy5vcmlnaW5hbEFkZHJlc3MubGluZTIgPSBhZGRyZXNzLmxpbmUyO1xuICAgICAgdGhpcy5vcmlnaW5hbEFkZHJlc3MuY2l0eSA9IGFkZHJlc3MuY2l0eTtcbiAgICAgIHRoaXMub3JpZ2luYWxBZGRyZXNzLnN0YXRlID0gYWRkcmVzcy5zdGF0ZTtcbiAgICAgIHRoaXMub3JpZ2luYWxBZGRyZXNzLnBvc3RhbENvZGUgPSAoYWRkcmVzcy5jb3VudHJ5ICYmIGFkZHJlc3MuY291bnRyeSAhPT0gJ1VTQScpID8gYWRkcmVzcy5mb3JlaWduWmlwOmFkZHJlc3MucG9zdGFsQ29kZTtcbiAgICAgIHRoaXMub3JpZ2luYWxBZGRyZXNzLmZvcmVpZ25TdGF0ZSA9IGFkZHJlc3MuZm9yZWlnblN0YXRlID8gYWRkcmVzcy5mb3JlaWduU3RhdGUgOiBudWxsO1xuICAgICAgdGhpcy5vcmlnaW5hbEFkZHJlc3MuY291bnRyeSA9IGFkZHJlc3MuY291bnRyeSA/IGFkZHJlc3MuY291bnRyeSA6IG51bGw7XG4gICAgICBcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdW5zdWJzY3JpYmVGcm9tQ2hhbmdlcygpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwic2FtZUFzR3JvdXBcIj5cbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsIFtuZ1N0eWxlXT1cInsgJ2ZvbnQtd2VpZ2h0Jzogc2FtZUFzQ2hlY2tlZCAmJiBncm91cC5kaXNhYmxlZCA/ICdib2xkJyA6ICcnIH1cIiBbZm9yXT1cImNvbXBvbmVudElkKydfQ29weUZyb21DaGVja2JveCdcIj5cbiAgICAgICAgICAgICAgICAgICAge3tzYW1lQXNMYWJlbH19IFxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgW2lkXT1cImNvbXBvbmVudElkKydfQ29weUZyb21DaGVja2JveCdcIiB0eXBlPVwiY2hlY2tib3hcIiBbY2hlY2tlZF09XCJzYW1lQXNDaGVja2VkXCIgKGNoYW5nZSk9XCJ0b2dnbGVDb3B5RnJvbVNlbGVjdGlvbigpXCIgW2Rpc2FibGVkXT1cImdyb3VwLnBhcmVudD8uZGlzYWJsZWRcIi8+XG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiAqbmdJZj1cIiFzYW1lQXNHcm91cCB8fCAhc2FtZUFzQ2hlY2tlZFwiIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIj5cbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsIFtmb3JdPVwiY29tcG9uZW50SWQrJ19MaW5lMUlucHV0J1wiPnt7YWRkcmVzc09uZUxhYmVsfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbFwiIFtuZ0NsYXNzXT1cInsnaXMtaW52YWxpZCc6c2hvd1ZhbGlkYXRpb24gJiYgZ3JvdXAuY29udHJvbHNbJ2xpbmUxJ10uc3RhdHVzID09PSAnSU5WQUxJRCd9XCIgXG4gICAgICAgICAgICAgICAgICAgIFt0eXBlXT1cImlzU2VhcmNoID8gJ3NlYXJjaCcgOiAndGV4dCdcIiBwbGFjZWhvbGRlcj1cIkFkZHJlc3NcIiBtYXhsZW5ndGg9XCI0MFwiIGZvcm1Db250cm9sTmFtZT1cImxpbmUxXCIgW21heGxlbmd0aF09XCJsaW5lMU1heExlbmd0aFwiXG4gICAgICAgICAgICAgICAgICAgIFtpZF09XCJjb21wb25lbnRJZCsnX0xpbmUxSW5wdXQnXCI+XG4gICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiICpuZ0lmPVwiZ3JvdXAuY29udHJvbHNbJ2xpbmUxJ10uaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj57e2FkZHJlc3NPbmVMYWJlbH19IGlzIHJlcXVpcmVkPC9zbWFsbD5cbiAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCIgKm5nSWY9XCJncm91cC5jb250cm9sc1snbGluZTEnXS5oYXNFcnJvcignbWF4bGVuZ3RoJylcIj57e2FkZHJlc3NPbmVMYWJlbH19IGhhcyBleGNlZWRlZCBpdHMgbWF4aW11bSBsZW5ndGg8L3NtYWxsPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCIhaGlkZUxpbmUyXCIgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICA8bGFiZWwgW2Zvcl09XCJjb21wb25lbnRJZCsnX0xpbmUySW5wdXQnXCI+e3thZGRyZXNzVHdvTGFiZWx9fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgW25nQ2xhc3NdPVwieydpcy1pbnZhbGlkJzpzaG93VmFsaWRhdGlvbiAmJiBncm91cC5jb250cm9sc1snbGluZTInXS5zdGF0dXMgPT09ICdJTlZBTElEJ31cIlxuICAgICAgICAgICAgICAgIFt0eXBlXT1cImlzU2VhcmNoID8gJ3NlYXJjaCcgOiAndGV4dCdcIiBwbGFjZWhvbGRlcj1cIkFkZHJlc3NcIiBtYXhsZW5ndGg9XCI0MFwiIGZvcm1Db250cm9sTmFtZT1cImxpbmUyXCIgW21heGxlbmd0aF09XCJsaW5lMk1heExlbmd0aFwiXG4gICAgICAgICAgICAgICAgICAgIFtpZF09XCJjb21wb25lbnRJZCsnX0xpbmUySW5wdXQnXCI+XG4gICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiICpuZ0lmPVwiZ3JvdXAuY29udHJvbHNbJ2xpbmUyJ10uaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj57e2FkZHJlc3NUd29MYWJlbH19IGlzIHJlcXVpcmVkPC9zbWFsbD5cbiAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCIgKm5nSWY9XCJncm91cC5jb250cm9sc1snbGluZTInXS5oYXNFcnJvcignbWF4bGVuZ3RoJylcIj57e2FkZHJlc3NUd29MYWJlbH19IGhhcyBleGNlZWRlZCBpdHMgbWF4aW11bSBsZW5ndGg8L3NtYWxsPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBbZm9yXT1cImNvbXBvbmVudElkKydfQ2l0eUlucHV0J1wiPnt7Y2l0eUxhYmVsfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbFwiIFtuZ0NsYXNzXT1cInsnaXMtaW52YWxpZCc6c2hvd1ZhbGlkYXRpb24gJiYgZ3JvdXAuY29udHJvbHNbJ2NpdHknXS5zdGF0dXMgPT09ICdJTlZBTElEJ31cIlxuICAgICAgICAgICAgICAgICAgICBbdHlwZV09XCJpc1NlYXJjaCA/ICdzZWFyY2gnIDogJ3RleHQnXCIgcGxhY2Vob2xkZXI9XCJDaXR5XCIgbWF4bGVuZ3RoPVwiMzBcIiBmb3JtQ29udHJvbE5hbWU9XCJjaXR5XCIgW21heGxlbmd0aF09XCJjaXR5TWF4TGVuZ3RoXCJcbiAgICAgICAgICAgICAgICAgICAgW2lkXT1cImNvbXBvbmVudElkKydfQ2l0eUlucHV0J1wiPlxuICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIiAqbmdJZj1cImdyb3VwLmNvbnRyb2xzWydjaXR5J10uaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj57e2NpdHlMYWJlbH19IGlzIHJlcXVpcmVkPC9zbWFsbD5cbiAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCIgKm5nSWY9XCJncm91cC5jb250cm9sc1snY2l0eSddLmhhc0Vycm9yKCdtYXhsZW5ndGgnKVwiPnt7Y2l0eUxhYmVsfX0gaGFzIGV4Y2VlZGVkIGl0cyBtYXhpbXVtIGxlbmd0aDwvc21hbGw+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMlwiPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNob3dTdGF0ZXMgJiYgKCFncm91cC5jb250cm9sc1snY291bnRyeSddIHx8IGdyb3VwLmdldCgnY291bnRyeScpPy52YWx1ZSA9PT0nVVNBJylcIiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICA8bGFiZWwgW2Zvcl09XCJjb21wb25lbnRJZCsnX1N0YXRlU2VsZWN0J1wiPnt7c3RhdGVMYWJlbH19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3RcIiBbbmdDbGFzc109XCJ7J2lzLWludmFsaWQnOnNob3dWYWxpZGF0aW9uICYmIGdyb3VwLmNvbnRyb2xzWydzdGF0ZSddLnN0YXR1cyA9PT0gJ0lOVkFMSUQnfVwiIFxuICAgICAgICAgICAgICAgICAgICBuYW1lPVwiQWRkcmVzc1N0YXRlXCIgZm9ybUNvbnRyb2xOYW1lPVwic3RhdGVcIiBbaWRdPVwiY29tcG9uZW50SWQrJ19TdGF0ZVNlbGVjdCdcIiBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlU3RhdGUgfHwgZ3JvdXAuZGlzYWJsZWQgPyAnJyA6IG51bGxcIj5cbiAgICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBzIG9mIHVzU3RhdGVzXCIgW25nVmFsdWVdPVwic1wiPnt7c319PC9vcHRpb24+XG4gICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIiAqbmdJZj1cImdyb3VwLmNvbnRyb2xzWydzdGF0ZSddLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCI+U3RhdGUgaXMgcmVxdWlyZWQ8L3NtYWxsPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTRcIj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhZ3JvdXAuY29udHJvbHNbJ2NvdW50cnknXSAgfHwgZ3JvdXAuZ2V0KCdjb3VudHJ5Jyk/LnZhbHVlID09PSdVU0EnXCIgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsIFtmb3JdPVwiY29tcG9uZW50SWQrJ19aaXBJbnB1dCdcIj57e3ppcENvZGVMYWJlbH19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbbmdDbGFzc109XCJ7J2lzLWludmFsaWQnOnNob3dWYWxpZGF0aW9uICYmIGdyb3VwLmNvbnRyb2xzWydwb3N0YWxDb2RlJ10uc3RhdHVzID09PSAnSU5WQUxJRCd9XCJcbiAgICAgICAgICAgICAgICAgICAgW3R5cGVdPVwiaXNTZWFyY2ggPyAnc2VhcmNoJyA6ICd0ZXh0J1wiIHBsYWNlaG9sZGVyPVwiWmlwIENvZGVcIiBmb3JtQ29udHJvbE5hbWU9XCJwb3N0YWxDb2RlXCIgW2lkXT1cImNvbXBvbmVudElkKydfWmlwSW5wdXQnXCIgbWFzaz1cIjAwMDAwXCI+XG4gICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiICpuZ0lmPVwiZ3JvdXAuY29udHJvbHNbJ3Bvc3RhbENvZGUnXS5oYXNFcnJvcigncmVxdWlyZWQnKVwiPnt7emlwQ29kZUxhYmVsfX0gaXMgcmVxdWlyZWQ8L3NtYWxsPlxuICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIiAqbmdJZj1cImdyb3VwLmNvbnRyb2xzWydwb3N0YWxDb2RlJ10uaGFzRXJyb3IoJ21pbmxlbmd0aCcpXCI+e3t6aXBDb2RlTGFiZWx9fSBtdXN0IGNvbnRhaW4gZXhhY3RseSA1IGRpZ2l0czwvc21hbGw+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cImdyb3VwLmNvbnRyb2xzWydjb3VudHJ5J10gJiYgZ3JvdXAuZ2V0KCdjb3VudHJ5Jyk/LnZhbHVlICE9PSdVU0EnXCIgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBbZm9yXT1cImNvbXBvbmVudElkKydfRm9yZWlnblN0YXRlSW5wdXQnXCI+e3tmb3JlaWduU3RhdGVMYWJlbH19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbbmdDbGFzc109XCJ7J2lzLWludmFsaWQnOnNob3dWYWxpZGF0aW9uICYmIGdyb3VwLmNvbnRyb2xzWydmb3JlaWduU3RhdGUnXS5zdGF0dXMgPT09ICdJTlZBTElEJ31cIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCIgcGxhY2Vob2xkZXI9XCJGb3JlaWduIFN0YXRlXCIgZm9ybUNvbnRyb2xOYW1lPVwiZm9yZWlnblN0YXRlXCIgW2lkXT1cImNvbXBvbmVudElkKydfRm9yZWlnblN0YXRlSW5wdXQnXCIgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZVN0YXRlIHx8IGdyb3VwLmRpc2FibGVkID8gJycgOiBudWxsXCIgPlxuICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIiAqbmdJZj1cImdyb3VwLmNvbnRyb2xzWydmb3JlaWduU3RhdGUnXS5oYXNFcnJvcigncmVxdWlyZWQnKVwiPnt7Zm9yZWlnblN0YXRlTGFiZWx9fSBpcyByZXF1aXJlZDwvc21hbGw+XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICA8bGFiZWwgW2Zvcl09XCJjb21wb25lbnRJZCsnX2ZvcmVpZ25aaXBJbnB1dCdcIj57e2ZvcmVpZ25aaXBMYWJlbH19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbbmdDbGFzc109XCJ7J2lzLWludmFsaWQnOnNob3dWYWxpZGF0aW9uICYmIGdyb3VwLmNvbnRyb2xzWydmb3JlaWduWmlwJ10uc3RhdHVzID09PSAnSU5WQUxJRCd9XCJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiIHBsYWNlaG9sZGVyPVwiRm9yZWlnbiBaaXAgQ29kZVwiIGZvcm1Db250cm9sTmFtZT1cImZvcmVpZ25aaXBcIiBbaWRdPVwiY29tcG9uZW50SWQrJ19mb3JlaWduWmlwSW5wdXQnXCIgID5cbiAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCIgKm5nSWY9XCJncm91cC5jb250cm9sc1snZm9yZWlnblppcCddLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCI+e3tmb3JlaWduWmlwTGFiZWx9fSBpcyByZXF1aXJlZDwvc21hbGw+XG4gICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiICpuZ0lmPVwiZ3JvdXAuY29udHJvbHNbJ2ZvcmVpZ25aaXAnXS5oYXNFcnJvcignbWlubGVuZ3RoJylcIj57e2ZvcmVpZ25aaXBMYWJlbH19IG11c3QgY29udGFpbiBleGFjdGx5ID8gZGlnaXRzPC9zbWFsbD5cbiAgICAgICAgICAgIDwvZGl2PiBcbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cImdyb3VwLmNvbnRyb2xzWydjb3VudHJ5J11cIiBjbGFzcz1cInJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsIFtmb3JdPVwiY29tcG9uZW50SWQrJ19Db3VudHJ5U2VsZWN0J1wiPnt7Y291bnRyeUxhYmVsfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdFwiIFtuZ0NsYXNzXT1cInsnaXMtaW52YWxpZCc6c2hvd1ZhbGlkYXRpb24gJiYgZ3JvdXAuY29udHJvbHNbJ2NvdW50cnknXS5zdGF0dXMgPT09ICdJTlZBTElEJ31cIiBcbiAgICAgICAgICAgICAgICBuYW1lPVwiQWRkcmVzc0NvdW50cnlcIiBmb3JtQ29udHJvbE5hbWU9XCJjb3VudHJ5XCIgW2lkXT1cImNvbXBvbmVudElkKydfQ291bnRyeVNlbGVjdCdcIiBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlU3RhdGUgfHwgZ3JvdXAuZGlzYWJsZWQgPyAnJyA6IG51bGxcIj5cbiAgICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBjIG9mIGNvdW50cmllc1wiIFtuZ1ZhbHVlXT1cImNcIj57e2N9fTwvb3B0aW9uPlxuICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCIgKm5nSWY9XCJncm91cC5jb250cm9sc1snY291bnRyeSddLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCI+Q291bnRyeXt7Y291bnRyeUxhYmVsfX0gaXMgcmVxdWlyZWQ8L3NtYWxsPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+Il19
|
|
@@ -11,6 +11,7 @@ export class ContactComponent {
|
|
|
11
11
|
group;
|
|
12
12
|
/** Form validation will be displayed when showValidation is true. */
|
|
13
13
|
showValidation = false;
|
|
14
|
+
idPrefix = '';
|
|
14
15
|
firstNameLabel = 'First Name';
|
|
15
16
|
lastNameLabel = 'Last Name';
|
|
16
17
|
showMiddleName = false;
|
|
@@ -34,11 +35,11 @@ export class ContactComponent {
|
|
|
34
35
|
}
|
|
35
36
|
ngOnInit() {
|
|
36
37
|
if (this.group) {
|
|
37
|
-
this.componentId = this.idService.getComponentId(this.group);
|
|
38
|
+
this.componentId = this.idPrefix + this.idService.getComponentId(this.group);
|
|
38
39
|
}
|
|
39
40
|
}
|
|
40
41
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContactComponent, deps: [{ token: i1.OepaComponentIdService }], target: i0.ɵɵFactoryTarget.Component });
|
|
41
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ContactComponent, selector: "oepa-contact", inputs: { group: "group", showValidation: "showValidation", firstNameLabel: "firstNameLabel", lastNameLabel: "lastNameLabel", showMiddleName: "showMiddleName", middleNameLabel: "middleNameLabel", emailLabel: "emailLabel", phoneLabel: "phoneLabel", faxLabel: "faxLabel", noFax: "noFax", showTitle: "showTitle", noPhone: "noPhone", noEmail: "noEmail", isSearch: "isSearch", firstNameMaxLength: "firstNameMaxLength", middleNameMaxLength: "middleNameMaxLength", lastNameMaxLength: "lastNameMaxLength", titleMaxLength: "titleMaxLength", emailMaxLength: "emailMaxLength" }, ngImport: i0, template: "<div [formGroup]=\"group\">\n\t<div *ngIf=\"!showMiddleName\" class=\"row\">\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"form-group\">\n\t\t\t\t<label [for]=\"componentId+'_FirstNameInput'\">{{firstNameLabel}}</label>\n\t\t\t\t<input [type]=\"isSearch ? 'search' : 'text'\" class=\"form-control\" [ngClass]=\"{'is-invalid':showValidation && group.controls['firstName'].status === 'INVALID'}\"\n\t\t\t\t\tplaceholder=\"First Name\" formControlName=\"firstName\" [id]=\"componentId+'_FirstNameInput'\" [maxlength]=\"firstNameMaxLength\">\n\t\t\t\t<small class=\"invalid-feedback\" *ngIf=\"group.controls['firstName'].hasError('required')\">{{firstNameLabel}} is required</small>\n\t\t\t\t<small class=\"invalid-feedback\" *ngIf=\"group.controls['firstName'].hasError('maxlength')\">{{firstNameLabel}} has exceeded its maximum length</small>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"form-group\">\n\t\t\t\t<label [for]=\"componentId+'_LastNameInput'\">{{lastNameLabel}}</label>\n\t\t\t\t<input [type]=\"isSearch ? 'search' : 'text'\" class=\"form-control\" [ngClass]=\"{'is-invalid':showValidation && group.controls['lastName'].status === 'INVALID'}\"\n\t\t\t\t\tplaceholder=\"Last Name\" formControlName=\"lastName\" [id]=\"componentId+'_LastNameInput'\" [maxlength]=\"lastNameMaxLength\">\n\t\t\t\t<small class=\"invalid-feedback\" *ngIf=\"group.controls['lastName'].hasError('required')\">{{lastNameLabel}} is required</small>\n\t\t\t\t<small class=\"invalid-feedback\" *ngIf=\"group.controls['lastName'].hasError('maxlength')\">{{lastNameLabel}} has exceeded its maximum length</small>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<div *ngIf=\"showMiddleName\" class=\"row\">\n\t\t<div class=\"col-md-4\">\n\t\t\t<div class=\"form-group\">\n\t\t\t\t<label [for]=\"componentId+'_FirstNameInput'\">{{firstNameLabel}}</label>\n\t\t\t\t<input [type]=\"isSearch ? 'search' : 'text'\" class=\"form-control\" [ngClass]=\"{'is-invalid':showValidation && group.controls['firstName'].status === 'INVALID'}\"\n\t\t\t\t\tplaceholder=\"First Name\" formControlName=\"firstName\" [id]=\"componentId+'_FirstNameInput'\" [maxlength]=\"firstNameMaxLength\">\n\t\t\t\t<small class=\"invalid-feedback\" *ngIf=\"group.controls['firstName'].hasError('required')\">{{firstNameLabel}} is required</small>\n\t\t\t\t<small class=\"invalid-feedback\" *ngIf=\"group.controls['firstName'].hasError('maxlength')\">{{firstNameLabel}} has exceeded its maximum length</small>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"col-md-4\">\n\t\t\t<div class=\"form-group\" [ngClass]=\"{'is-invalid':showValidation && group.controls['middleName'].status === 'INVALID'}\">\n\t\t\t\t<label [for]=\"componentId+'_MiddleNameInput'\">{{middleNameLabel}}</label>\n\t\t\t\t<input [type]=\"isSearch ? 'search' : 'text'\" class=\"form-control\" placeholder=\"Middle Name\" formControlName=\"middleName\" [id]=\"componentId+'_MiddleNameInput'\" [maxlength]=\"middleNameMaxLength\">\n\t\t\t\t<small class=\"invalid-feedback\" *ngIf=\"showValidation && group.controls['middleName'].status === 'INVALID'\">Middle Name is required</small>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"col-md-4\">\n\t\t\t<div class=\"form-group\">\n\t\t\t\t<label [for]=\"componentId+'_LastNameInput'\">{{lastNameLabel}}</label>\n\t\t\t\t<input [type]=\"isSearch ? 'search' : 'text'\" class=\"form-control\" [ngClass]=\"{'is-invalid':showValidation && group.controls['lastName'].status === 'INVALID'}\"\n\t\t\t\t\tplaceholder=\"Last Name\" formControlName=\"lastName\" [id]=\"componentId+'_LastNameInput'\" [maxlength]=\"lastNameMaxLength\">\n\t\t\t\t<small class=\"invalid-feedback\" *ngIf=\"group.controls['lastName'].hasError('required')\">{{lastNameLabel}} is required</small>\n\t\t\t\t<small class=\"invalid-feedback\" *ngIf=\"group.controls['lastName'].hasError('maxlength')\">{{lastNameLabel}} has exceeded its maximum length</small>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<div *ngIf=\"showTitle\" class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<div class=\"form-group\">\n\t\t\t\t<label [for]=\"componentId+'_TitleInput'\">Title</label>\n\t\t\t\t<input [type]=\"isSearch ? 'search' : 'text'\" class=\"form-control\" placeholder=\"Title\" \n\t\t\t\t[ngClass]=\"{'is-invalid':showValidation && group.controls['title'].status === 'INVALID'}\"\n\t\t\t\tformControlName=\"title\" [id]=\"componentId+'_TitleInput'\" [maxlength]=\"titleMaxLength\">\n\t\t\t\t<small class=\"invalid-feedback\" *ngIf=\"group.controls['title'].hasError('required')\">Title is required</small>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<div class=\"row\">\n\t\t<div *ngIf=\"!noEmail\" class=\"col-md-6\">\n\t\t\t<div class=\"form-group\">\n\t\t\t\t<label [for]=\"componentId+'_EmailInput'\">{{emailLabel}}</label>\n\t\t\t\t<input type=\"email\" class=\"form-control\" [ngClass]=\"{'is-invalid':showValidation && group.controls['emailAddress'].status === 'INVALID'}\"\n\t\t\t\t\tplaceholder=\"Email\" formControlName=\"emailAddress\" [id]=\"componentId+'_EmailInput'\" [maxlength]=\"emailMaxLength\">\n\t\t\t\t<small class=\"invalid-feedback\" *ngIf=\"group.controls['emailAddress'].hasError('required')\">{{emailLabel}} is required</small>\n\t\t\t\t<small class=\"invalid-feedback\" *ngIf=\"group.controls['emailAddress'].hasError('maxlength')\">{{emailLabel}} has exceeded its maximum length</small>\n\t\t\t\t<small class=\"invalid-feedback\" *ngIf=\"group.controls['emailAddress'].hasError('email')\">Please enter a valid email address</small>\n\t\t\t</div>\n\t\t</div>\n\t\t<div [ngClass]=\"{ 'col-md-3': !noFax, 'col-md-6': noFax }\">\n\t\t\t<div *ngIf=\"!noPhone\" class=\"form-group\">\n\t\t\t\t<label [for]=\"componentId+'_PhoneInput'\">{{phoneLabel}}</label>\n\t\t\t\t<input [type]=\"isSearch ? 'search' : 'text'\" class=\"form-control\" [ngClass]=\"{'is-invalid':showValidation && group.controls['phoneNumber'].status === 'INVALID'}\"\n\t\t\t\t\tplaceholder=\"(xxx) xxx-xxxx\" formControlName=\"phoneNumber\" [id]=\"componentId+'_PhoneInput'\" mask=\"(000) 000-0000\" minlength=\"10\">\n\t\t\t\t<small class=\"invalid-feedback\" *ngIf=\"group.controls['phoneNumber'].hasError('required')\">{{phoneLabel}} is required</small>\n\t\t\t\t<small class=\"invalid-feedback\" *ngIf=\"group.controls['phoneNumber'].hasError('minlength')\">Please enter a valid phone number</small>\n\t\t\t</div>\n\t\t</div>\n\t\t<div *ngIf=\"!noFax\" class=\"col-md-3\">\n\t\t\t<div class=\"form-group\">\n\t\t\t\t<label [for]=\"componentId+'_FaxInput'\">{{faxLabel}}</label>\n\t\t\t\t<input [type]=\"isSearch ? 'search' : 'text'\" class=\"form-control\" [ngClass]=\"{'is-invalid':showValidation && group.controls['faxNumber'].status === 'INVALID'}\"\n\t\t\t\t\tplaceholder=\"(xxx) xxx-xxxx\" formControlName=\"faxNumber\" [id]=\"componentId+'_FaxInput'\" mask=\"(000) 000-0000\" minlength=\"10\">\n\t\t\t\t\t<small class=\"invalid-feedback\" *ngIf=\"group.controls['faxNumber'].hasError('required')\">{{faxLabel}} is required</small>\n\t\t\t\t\t<small class=\"invalid-feedback\" *ngIf=\"group.controls['faxNumber'].hasError('minlength')\">Please enter a valid phone number</small>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4.NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "leadZero", "triggerOnMaskChange", "apm", "inputTransformFn", "outputTransformFn", "keepCharacterPositions"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }] });
|
|
42
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ContactComponent, selector: "oepa-contact", inputs: { group: "group", showValidation: "showValidation", idPrefix: "idPrefix", firstNameLabel: "firstNameLabel", lastNameLabel: "lastNameLabel", showMiddleName: "showMiddleName", middleNameLabel: "middleNameLabel", emailLabel: "emailLabel", phoneLabel: "phoneLabel", faxLabel: "faxLabel", noFax: "noFax", showTitle: "showTitle", noPhone: "noPhone", noEmail: "noEmail", isSearch: "isSearch", firstNameMaxLength: "firstNameMaxLength", middleNameMaxLength: "middleNameMaxLength", lastNameMaxLength: "lastNameMaxLength", titleMaxLength: "titleMaxLength", emailMaxLength: "emailMaxLength" }, ngImport: i0, template: "<div [formGroup]=\"group\">\n\t<div *ngIf=\"!showMiddleName\" class=\"row\">\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"form-group\">\n\t\t\t\t<label [for]=\"componentId+'_FirstNameInput'\">{{firstNameLabel}}</label>\n\t\t\t\t<input [type]=\"isSearch ? 'search' : 'text'\" class=\"form-control\" [ngClass]=\"{'is-invalid':showValidation && group.controls['firstName'].status === 'INVALID'}\"\n\t\t\t\t\tplaceholder=\"First Name\" formControlName=\"firstName\" [id]=\"componentId+'_FirstNameInput'\" [maxlength]=\"firstNameMaxLength\">\n\t\t\t\t<small class=\"invalid-feedback\" *ngIf=\"group.controls['firstName'].hasError('required')\">{{firstNameLabel}} is required</small>\n\t\t\t\t<small class=\"invalid-feedback\" *ngIf=\"group.controls['firstName'].hasError('maxlength')\">{{firstNameLabel}} has exceeded its maximum length</small>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"form-group\">\n\t\t\t\t<label [for]=\"componentId+'_LastNameInput'\">{{lastNameLabel}}</label>\n\t\t\t\t<input [type]=\"isSearch ? 'search' : 'text'\" class=\"form-control\" [ngClass]=\"{'is-invalid':showValidation && group.controls['lastName'].status === 'INVALID'}\"\n\t\t\t\t\tplaceholder=\"Last Name\" formControlName=\"lastName\" [id]=\"componentId+'_LastNameInput'\" [maxlength]=\"lastNameMaxLength\">\n\t\t\t\t<small class=\"invalid-feedback\" *ngIf=\"group.controls['lastName'].hasError('required')\">{{lastNameLabel}} is required</small>\n\t\t\t\t<small class=\"invalid-feedback\" *ngIf=\"group.controls['lastName'].hasError('maxlength')\">{{lastNameLabel}} has exceeded its maximum length</small>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<div *ngIf=\"showMiddleName\" class=\"row\">\n\t\t<div class=\"col-md-4\">\n\t\t\t<div class=\"form-group\">\n\t\t\t\t<label [for]=\"componentId+'_FirstNameInput'\">{{firstNameLabel}}</label>\n\t\t\t\t<input [type]=\"isSearch ? 'search' : 'text'\" class=\"form-control\" [ngClass]=\"{'is-invalid':showValidation && group.controls['firstName'].status === 'INVALID'}\"\n\t\t\t\t\tplaceholder=\"First Name\" formControlName=\"firstName\" [id]=\"componentId+'_FirstNameInput'\" [maxlength]=\"firstNameMaxLength\">\n\t\t\t\t<small class=\"invalid-feedback\" *ngIf=\"group.controls['firstName'].hasError('required')\">{{firstNameLabel}} is required</small>\n\t\t\t\t<small class=\"invalid-feedback\" *ngIf=\"group.controls['firstName'].hasError('maxlength')\">{{firstNameLabel}} has exceeded its maximum length</small>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"col-md-4\">\n\t\t\t<div class=\"form-group\" [ngClass]=\"{'is-invalid':showValidation && group.controls['middleName'].status === 'INVALID'}\">\n\t\t\t\t<label [for]=\"componentId+'_MiddleNameInput'\">{{middleNameLabel}}</label>\n\t\t\t\t<input [type]=\"isSearch ? 'search' : 'text'\" class=\"form-control\" placeholder=\"Middle Name\" formControlName=\"middleName\" [id]=\"componentId+'_MiddleNameInput'\" [maxlength]=\"middleNameMaxLength\">\n\t\t\t\t<small class=\"invalid-feedback\" *ngIf=\"showValidation && group.controls['middleName'].status === 'INVALID'\">Middle Name is required</small>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"col-md-4\">\n\t\t\t<div class=\"form-group\">\n\t\t\t\t<label [for]=\"componentId+'_LastNameInput'\">{{lastNameLabel}}</label>\n\t\t\t\t<input [type]=\"isSearch ? 'search' : 'text'\" class=\"form-control\" [ngClass]=\"{'is-invalid':showValidation && group.controls['lastName'].status === 'INVALID'}\"\n\t\t\t\t\tplaceholder=\"Last Name\" formControlName=\"lastName\" [id]=\"componentId+'_LastNameInput'\" [maxlength]=\"lastNameMaxLength\">\n\t\t\t\t<small class=\"invalid-feedback\" *ngIf=\"group.controls['lastName'].hasError('required')\">{{lastNameLabel}} is required</small>\n\t\t\t\t<small class=\"invalid-feedback\" *ngIf=\"group.controls['lastName'].hasError('maxlength')\">{{lastNameLabel}} has exceeded its maximum length</small>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<div *ngIf=\"showTitle\" class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<div class=\"form-group\">\n\t\t\t\t<label [for]=\"componentId+'_TitleInput'\">Title</label>\n\t\t\t\t<input [type]=\"isSearch ? 'search' : 'text'\" class=\"form-control\" placeholder=\"Title\" \n\t\t\t\t[ngClass]=\"{'is-invalid':showValidation && group.controls['title'].status === 'INVALID'}\"\n\t\t\t\tformControlName=\"title\" [id]=\"componentId+'_TitleInput'\" [maxlength]=\"titleMaxLength\">\n\t\t\t\t<small class=\"invalid-feedback\" *ngIf=\"group.controls['title'].hasError('required')\">Title is required</small>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<div class=\"row\">\n\t\t<div *ngIf=\"!noEmail\" class=\"col-md-6\">\n\t\t\t<div class=\"form-group\">\n\t\t\t\t<label [for]=\"componentId+'_EmailInput'\">{{emailLabel}}</label>\n\t\t\t\t<input type=\"email\" class=\"form-control\" [ngClass]=\"{'is-invalid':showValidation && group.controls['emailAddress'].status === 'INVALID'}\"\n\t\t\t\t\tplaceholder=\"Email\" formControlName=\"emailAddress\" [id]=\"componentId+'_EmailInput'\" [maxlength]=\"emailMaxLength\">\n\t\t\t\t<small class=\"invalid-feedback\" *ngIf=\"group.controls['emailAddress'].hasError('required')\">{{emailLabel}} is required</small>\n\t\t\t\t<small class=\"invalid-feedback\" *ngIf=\"group.controls['emailAddress'].hasError('maxlength')\">{{emailLabel}} has exceeded its maximum length</small>\n\t\t\t\t<small class=\"invalid-feedback\" *ngIf=\"group.controls['emailAddress'].hasError('email')\">Please enter a valid email address</small>\n\t\t\t</div>\n\t\t</div>\n\t\t<div [ngClass]=\"{ 'col-md-3': !noFax, 'col-md-6': noFax }\">\n\t\t\t<div *ngIf=\"!noPhone\" class=\"form-group\">\n\t\t\t\t<label [for]=\"componentId+'_PhoneInput'\">{{phoneLabel}}</label>\n\t\t\t\t<input [type]=\"isSearch ? 'search' : 'text'\" class=\"form-control\" [ngClass]=\"{'is-invalid':showValidation && group.controls['phoneNumber'].status === 'INVALID'}\"\n\t\t\t\t\tplaceholder=\"(xxx) xxx-xxxx\" formControlName=\"phoneNumber\" [id]=\"componentId+'_PhoneInput'\" mask=\"(000) 000-0000\" minlength=\"10\">\n\t\t\t\t<small class=\"invalid-feedback\" *ngIf=\"group.controls['phoneNumber'].hasError('required')\">{{phoneLabel}} is required</small>\n\t\t\t\t<small class=\"invalid-feedback\" *ngIf=\"group.controls['phoneNumber'].hasError('minlength')\">Please enter a valid phone number</small>\n\t\t\t</div>\n\t\t</div>\n\t\t<div *ngIf=\"!noFax\" class=\"col-md-3\">\n\t\t\t<div class=\"form-group\">\n\t\t\t\t<label [for]=\"componentId+'_FaxInput'\">{{faxLabel}}</label>\n\t\t\t\t<input [type]=\"isSearch ? 'search' : 'text'\" class=\"form-control\" [ngClass]=\"{'is-invalid':showValidation && group.controls['faxNumber'].status === 'INVALID'}\"\n\t\t\t\t\tplaceholder=\"(xxx) xxx-xxxx\" formControlName=\"faxNumber\" [id]=\"componentId+'_FaxInput'\" mask=\"(000) 000-0000\" minlength=\"10\">\n\t\t\t\t\t<small class=\"invalid-feedback\" *ngIf=\"group.controls['faxNumber'].hasError('required')\">{{faxLabel}} is required</small>\n\t\t\t\t\t<small class=\"invalid-feedback\" *ngIf=\"group.controls['faxNumber'].hasError('minlength')\">Please enter a valid phone number</small>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4.NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "leadZero", "triggerOnMaskChange", "apm", "inputTransformFn", "outputTransformFn", "keepCharacterPositions"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }] });
|
|
42
43
|
}
|
|
43
44
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContactComponent, decorators: [{
|
|
44
45
|
type: Component,
|
|
@@ -47,6 +48,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
47
48
|
type: Input
|
|
48
49
|
}], showValidation: [{
|
|
49
50
|
type: Input
|
|
51
|
+
}], idPrefix: [{
|
|
52
|
+
type: Input,
|
|
53
|
+
args: ['idPrefix']
|
|
50
54
|
}], firstNameLabel: [{
|
|
51
55
|
type: Input,
|
|
52
56
|
args: ['firstNameLabel']
|
|
@@ -99,4 +103,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
99
103
|
type: Input,
|
|
100
104
|
args: ['emailMaxLength']
|
|
101
105
|
}] } });
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vZXBhLXVpLWxpYi9zcmMvbGliL2NvbnRhY3QvY29udGFjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vZXBhLXVpLWxpYi9zcmMvbGliL2NvbnRhY3QvY29udGFjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBVXpELE1BQU0sT0FBTyxnQkFBZ0I7SUE0QlA7SUExQmIsV0FBVyxHQUFHLHNCQUFzQixDQUFDO0lBQzVDLDBEQUEwRDtJQUNqRCxLQUFLLENBQWE7SUFDM0IscUVBQXFFO0lBQzVELGNBQWMsR0FBRyxLQUFLLENBQUM7SUFFQSxjQUFjLEdBQVcsWUFBWSxDQUFDO0lBQ3ZDLGFBQWEsR0FBVyxXQUFXLENBQUM7SUFDbkMsY0FBYyxHQUFZLEtBQUssQ0FBQztJQUMvQixlQUFlLEdBQVcsYUFBYSxDQUFDO0lBQzdDLFVBQVUsR0FBVyxPQUFPLENBQUM7SUFDN0IsVUFBVSxHQUFXLE9BQU8sQ0FBQztJQUMvQixRQUFRLEdBQVcsS0FBSyxDQUFDO0lBQzVCLEtBQUssR0FBWSxLQUFLLENBQUE7SUFDbEIsU0FBUyxHQUFZLEtBQUssQ0FBQztJQUM3QixPQUFPLEdBQVksS0FBSyxDQUFDO0lBQ3pCLE9BQU8sR0FBWSxLQUFLLENBQUM7SUFDeEIsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUVsRCx3Q0FBd0M7SUFDSixrQkFBa0IsR0FBRyxFQUFFLENBQUM7SUFDdkIsbUJBQW1CLEdBQUcsRUFBRSxDQUFDO0lBQzNCLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztJQUMxQixjQUFjLEdBQUcsRUFBRSxDQUFDO0lBQ3BCLGNBQWMsR0FBRyxFQUFFLENBQUM7SUFFdEQsWUFBb0IsU0FBaUM7UUFBakMsY0FBUyxHQUFULFNBQVMsQ0FBd0I7SUFDckQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9ELENBQUM7SUFDSCxDQUFDO3dHQW5DVSxnQkFBZ0I7NEZBQWhCLGdCQUFnQiw0bUJDVjdCLHMvTkF5Rk07OzRGRC9FTyxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0UsY0FBYzsyRkFRZixLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsY0FBYztzQkFBdEIsS0FBSztnQkFFMEIsY0FBYztzQkFBN0MsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBQ1EsYUFBYTtzQkFBM0MsS0FBSzt1QkFBQyxlQUFlO2dCQUNVLGNBQWM7c0JBQTdDLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQUNVLGVBQWU7c0JBQS9DLEtBQUs7dUJBQUMsaUJBQWlCO2dCQUNJLFVBQVU7c0JBQXJDLEtBQUs7dUJBQUMsWUFBWTtnQkFDUyxVQUFVO3NCQUFyQyxLQUFLO3VCQUFDLFlBQVk7Z0JBQ08sUUFBUTtzQkFBakMsS0FBSzt1QkFBQyxVQUFVO2dCQUNNLEtBQUs7c0JBQTNCLEtBQUs7dUJBQUMsT0FBTztnQkFDYSxTQUFTO3NCQUFuQyxLQUFLO3VCQUFDLFdBQVc7Z0JBQ08sT0FBTztzQkFBL0IsS0FBSzt1QkFBQyxTQUFTO2dCQUNTLE9BQU87c0JBQS9CLEtBQUs7dUJBQUMsU0FBUztnQkFDVSxRQUFRO3NCQUFqQyxLQUFLO3VCQUFDLFVBQVU7Z0JBR3FCLGtCQUFrQjtzQkFBckQsS0FBSzt1QkFBQyxvQkFBb0I7Z0JBQ1UsbUJBQW1CO3NCQUF2RCxLQUFLO3VCQUFDLHFCQUFxQjtnQkFDTyxpQkFBaUI7c0JBQW5ELEtBQUs7dUJBQUMsbUJBQW1CO2dCQUNNLGNBQWM7c0JBQTdDLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQUNTLGNBQWM7c0JBQTdDLEtBQUs7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IE9lcGFDb21wb25lbnRJZFNlcnZpY2UgfSBmcm9tICdAb2hpb2VwYS9vZXBhLWNvbW1vbi1saWInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvZXBhLWNvbnRhY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29udGFjdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbnRhY3QuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIENvbnRhY3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHB1YmxpYyBjb21wb25lbnRJZCA9ICdPZXBhQ29udGFjdENvbXBvbmVudCc7XG4gIC8qKiAgVGhlIGZvcm0gZ3JvdXAgZm9yIHdoaWNoIHRoaXMgYWRkcmVzcyBpcyBhIG1lbWJlci4gKi9cbiAgQElucHV0KCkgZ3JvdXAhOiBGb3JtR3JvdXA7XG4gIC8qKiBGb3JtIHZhbGlkYXRpb24gd2lsbCBiZSBkaXNwbGF5ZWQgd2hlbiBzaG93VmFsaWRhdGlvbiBpcyB0cnVlLiAqL1xuICBASW5wdXQoKSBzaG93VmFsaWRhdGlvbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgnZmlyc3ROYW1lTGFiZWwnKSBwdWJsaWMgZmlyc3ROYW1lTGFiZWw6IHN0cmluZyA9ICdGaXJzdCBOYW1lJztcbiAgQElucHV0KCdsYXN0TmFtZUxhYmVsJykgcHVibGljIGxhc3ROYW1lTGFiZWw6IHN0cmluZyA9ICdMYXN0IE5hbWUnO1xuICBASW5wdXQoJ3Nob3dNaWRkbGVOYW1lJykgcHVibGljIHNob3dNaWRkbGVOYW1lOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgnbWlkZGxlTmFtZUxhYmVsJykgcHVibGljIG1pZGRsZU5hbWVMYWJlbDogc3RyaW5nID0gJ01pZGRsZSBOYW1lJztcbiAgQElucHV0KCdlbWFpbExhYmVsJykgcHVibGljIGVtYWlsTGFiZWw6IHN0cmluZyA9ICdFbWFpbCc7XG4gIEBJbnB1dCgncGhvbmVMYWJlbCcpIHB1YmxpYyBwaG9uZUxhYmVsOiBzdHJpbmcgPSAnUGhvbmUnO1xuICBASW5wdXQoJ2ZheExhYmVsJykgcHVibGljIGZheExhYmVsOiBzdHJpbmcgPSAnRmF4JztcbiAgQElucHV0KCdub0ZheCcpIHB1YmxpYyBub0ZheDogYm9vbGVhbiA9IGZhbHNlXG4gIEBJbnB1dCgnc2hvd1RpdGxlJykgcHVibGljIHNob3dUaXRsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoJ25vUGhvbmUnKSBwdWJsaWMgbm9QaG9uZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoJ25vRW1haWwnKSBwdWJsaWMgbm9FbWFpbDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoJ2lzU2VhcmNoJykgcHVibGljIGlzU2VhcmNoOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvLyBtYXggbGVuZ3RoIHZhbHVlcy4gb3ZlcnJpZGUgaWYgbmVlZGVkXG4gICAgQElucHV0KCdmaXJzdE5hbWVNYXhMZW5ndGgnKSBwdWJsaWMgZmlyc3ROYW1lTWF4TGVuZ3RoID0gNTA7XG4gICAgQElucHV0KCdtaWRkbGVOYW1lTWF4TGVuZ3RoJykgcHVibGljIG1pZGRsZU5hbWVNYXhMZW5ndGggPSA1MDtcbiAgICBASW5wdXQoJ2xhc3ROYW1lTWF4TGVuZ3RoJykgcHVibGljIGxhc3ROYW1lTWF4TGVuZ3RoID0gNTA7XG4gICAgQElucHV0KCd0aXRsZU1heExlbmd0aCcpIHB1YmxpYyB0aXRsZU1heExlbmd0aCA9IDQwO1xuICAgIEBJbnB1dCgnZW1haWxNYXhMZW5ndGgnKSBwdWJsaWMgZW1haWxNYXhMZW5ndGggPSA4MDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGlkU2VydmljZTogT2VwYUNvbXBvbmVudElkU2VydmljZSkge1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuZ3JvdXApIHtcbiAgICAgIHRoaXMuY29tcG9uZW50SWQgPSB0aGlzLmlkU2VydmljZS5nZXRDb21wb25lbnRJZCh0aGlzLmdyb3VwKTtcbiAgICB9XG4gIH1cblxufVxuIiwiPGRpdiBbZm9ybUdyb3VwXT1cImdyb3VwXCI+XG5cdDxkaXYgKm5nSWY9XCIhc2hvd01pZGRsZU5hbWVcIiBjbGFzcz1cInJvd1wiPlxuXHRcdDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxuXHRcdFx0PGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cblx0XHRcdFx0PGxhYmVsIFtmb3JdPVwiY29tcG9uZW50SWQrJ19GaXJzdE5hbWVJbnB1dCdcIj57e2ZpcnN0TmFtZUxhYmVsfX08L2xhYmVsPlxuXHRcdFx0XHQ8aW5wdXQgW3R5cGVdPVwiaXNTZWFyY2ggPyAnc2VhcmNoJyA6ICd0ZXh0J1wiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgW25nQ2xhc3NdPVwieydpcy1pbnZhbGlkJzpzaG93VmFsaWRhdGlvbiAmJiBncm91cC5jb250cm9sc1snZmlyc3ROYW1lJ10uc3RhdHVzID09PSAnSU5WQUxJRCd9XCJcblx0XHRcdFx0XHRwbGFjZWhvbGRlcj1cIkZpcnN0IE5hbWVcIiBmb3JtQ29udHJvbE5hbWU9XCJmaXJzdE5hbWVcIiBbaWRdPVwiY29tcG9uZW50SWQrJ19GaXJzdE5hbWVJbnB1dCdcIiBbbWF4bGVuZ3RoXT1cImZpcnN0TmFtZU1heExlbmd0aFwiPlxuXHRcdFx0XHQ8c21hbGwgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCIgKm5nSWY9XCJncm91cC5jb250cm9sc1snZmlyc3ROYW1lJ10uaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj57e2ZpcnN0TmFtZUxhYmVsfX0gaXMgcmVxdWlyZWQ8L3NtYWxsPlxuXHRcdFx0XHQ8c21hbGwgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCIgKm5nSWY9XCJncm91cC5jb250cm9sc1snZmlyc3ROYW1lJ10uaGFzRXJyb3IoJ21heGxlbmd0aCcpXCI+e3tmaXJzdE5hbWVMYWJlbH19IGhhcyBleGNlZWRlZCBpdHMgbWF4aW11bSBsZW5ndGg8L3NtYWxsPlxuXHRcdFx0PC9kaXY+XG5cdFx0PC9kaXY+XG5cdFx0PGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuXHRcdFx0XHQ8bGFiZWwgW2Zvcl09XCJjb21wb25lbnRJZCsnX0xhc3ROYW1lSW5wdXQnXCI+e3tsYXN0TmFtZUxhYmVsfX08L2xhYmVsPlxuXHRcdFx0XHQ8aW5wdXQgW3R5cGVdPVwiaXNTZWFyY2ggPyAnc2VhcmNoJyA6ICd0ZXh0J1wiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgW25nQ2xhc3NdPVwieydpcy1pbnZhbGlkJzpzaG93VmFsaWRhdGlvbiAmJiBncm91cC5jb250cm9sc1snbGFzdE5hbWUnXS5zdGF0dXMgPT09ICdJTlZBTElEJ31cIlxuXHRcdFx0XHRcdHBsYWNlaG9sZGVyPVwiTGFzdCBOYW1lXCIgZm9ybUNvbnRyb2xOYW1lPVwibGFzdE5hbWVcIiBbaWRdPVwiY29tcG9uZW50SWQrJ19MYXN0TmFtZUlucHV0J1wiIFttYXhsZW5ndGhdPVwibGFzdE5hbWVNYXhMZW5ndGhcIj5cblx0XHRcdFx0PHNtYWxsIGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiICpuZ0lmPVwiZ3JvdXAuY29udHJvbHNbJ2xhc3ROYW1lJ10uaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj57e2xhc3ROYW1lTGFiZWx9fSBpcyByZXF1aXJlZDwvc21hbGw+XG5cdFx0XHRcdDxzbWFsbCBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIiAqbmdJZj1cImdyb3VwLmNvbnRyb2xzWydsYXN0TmFtZSddLmhhc0Vycm9yKCdtYXhsZW5ndGgnKVwiPnt7bGFzdE5hbWVMYWJlbH19IGhhcyBleGNlZWRlZCBpdHMgbWF4aW11bSBsZW5ndGg8L3NtYWxsPlxuXHRcdFx0PC9kaXY+XG5cdFx0PC9kaXY+XG5cdDwvZGl2PlxuXHQ8ZGl2ICpuZ0lmPVwic2hvd01pZGRsZU5hbWVcIiBjbGFzcz1cInJvd1wiPlxuXHRcdDxkaXYgY2xhc3M9XCJjb2wtbWQtNFwiPlxuXHRcdFx0PGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cblx0XHRcdFx0PGxhYmVsIFtmb3JdPVwiY29tcG9uZW50SWQrJ19GaXJzdE5hbWVJbnB1dCdcIj57e2ZpcnN0TmFtZUxhYmVsfX08L2xhYmVsPlxuXHRcdFx0XHQ8aW5wdXQgW3R5cGVdPVwiaXNTZWFyY2ggPyAnc2VhcmNoJyA6ICd0ZXh0J1wiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgW25nQ2xhc3NdPVwieydpcy1pbnZhbGlkJzpzaG93VmFsaWRhdGlvbiAmJiBncm91cC5jb250cm9sc1snZmlyc3ROYW1lJ10uc3RhdHVzID09PSAnSU5WQUxJRCd9XCJcblx0XHRcdFx0XHRwbGFjZWhvbGRlcj1cIkZpcnN0IE5hbWVcIiBmb3JtQ29udHJvbE5hbWU9XCJmaXJzdE5hbWVcIiBbaWRdPVwiY29tcG9uZW50SWQrJ19GaXJzdE5hbWVJbnB1dCdcIiBbbWF4bGVuZ3RoXT1cImZpcnN0TmFtZU1heExlbmd0aFwiPlxuXHRcdFx0XHQ8c21hbGwgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCIgKm5nSWY9XCJncm91cC5jb250cm9sc1snZmlyc3ROYW1lJ10uaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj57e2ZpcnN0TmFtZUxhYmVsfX0gaXMgcmVxdWlyZWQ8L3NtYWxsPlxuXHRcdFx0XHQ8c21hbGwgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCIgKm5nSWY9XCJncm91cC5jb250cm9sc1snZmlyc3ROYW1lJ10uaGFzRXJyb3IoJ21heGxlbmd0aCcpXCI+e3tmaXJzdE5hbWVMYWJlbH19IGhhcyBleGNlZWRlZCBpdHMgbWF4aW11bSBsZW5ndGg8L3NtYWxsPlxuXHRcdFx0PC9kaXY+XG5cdFx0PC9kaXY+XG5cdFx0PGRpdiBjbGFzcz1cImNvbC1tZC00XCI+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiIFtuZ0NsYXNzXT1cInsnaXMtaW52YWxpZCc6c2hvd1ZhbGlkYXRpb24gJiYgZ3JvdXAuY29udHJvbHNbJ21pZGRsZU5hbWUnXS5zdGF0dXMgPT09ICdJTlZBTElEJ31cIj5cblx0XHRcdFx0PGxhYmVsIFtmb3JdPVwiY29tcG9uZW50SWQrJ19NaWRkbGVOYW1lSW5wdXQnXCI+e3ttaWRkbGVOYW1lTGFiZWx9fTwvbGFiZWw+XG5cdFx0XHRcdDxpbnB1dCBbdHlwZV09XCJpc1NlYXJjaCA/ICdzZWFyY2gnIDogJ3RleHQnXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBwbGFjZWhvbGRlcj1cIk1pZGRsZSBOYW1lXCIgZm9ybUNvbnRyb2xOYW1lPVwibWlkZGxlTmFtZVwiIFtpZF09XCJjb21wb25lbnRJZCsnX01pZGRsZU5hbWVJbnB1dCdcIiBbbWF4bGVuZ3RoXT1cIm1pZGRsZU5hbWVNYXhMZW5ndGhcIj5cblx0XHRcdFx0PHNtYWxsIGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiICpuZ0lmPVwic2hvd1ZhbGlkYXRpb24gJiYgZ3JvdXAuY29udHJvbHNbJ21pZGRsZU5hbWUnXS5zdGF0dXMgPT09ICdJTlZBTElEJ1wiPk1pZGRsZSBOYW1lIGlzIHJlcXVpcmVkPC9zbWFsbD5cblx0XHRcdDwvZGl2PlxuXHRcdDwvZGl2PlxuXHRcdDxkaXYgY2xhc3M9XCJjb2wtbWQtNFwiPlxuXHRcdFx0PGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cblx0XHRcdFx0PGxhYmVsIFtmb3JdPVwiY29tcG9uZW50SWQrJ19MYXN0TmFtZUlucHV0J1wiPnt7bGFzdE5hbWVMYWJlbH19PC9sYWJlbD5cblx0XHRcdFx0PGlucHV0IFt0eXBlXT1cImlzU2VhcmNoID8gJ3NlYXJjaCcgOiAndGV4dCdcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIFtuZ0NsYXNzXT1cInsnaXMtaW52YWxpZCc6c2hvd1ZhbGlkYXRpb24gJiYgZ3JvdXAuY29udHJvbHNbJ2xhc3ROYW1lJ10uc3RhdHVzID09PSAnSU5WQUxJRCd9XCJcblx0XHRcdFx0XHRwbGFjZWhvbGRlcj1cIkxhc3QgTmFtZVwiIGZvcm1Db250cm9sTmFtZT1cImxhc3ROYW1lXCIgW2lkXT1cImNvbXBvbmVudElkKydfTGFzdE5hbWVJbnB1dCdcIiBbbWF4bGVuZ3RoXT1cImxhc3ROYW1lTWF4TGVuZ3RoXCI+XG5cdFx0XHRcdDxzbWFsbCBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIiAqbmdJZj1cImdyb3VwLmNvbnRyb2xzWydsYXN0TmFtZSddLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCI+e3tsYXN0TmFtZUxhYmVsfX0gaXMgcmVxdWlyZWQ8L3NtYWxsPlxuXHRcdFx0XHQ8c21hbGwgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCIgKm5nSWY9XCJncm91cC5jb250cm9sc1snbGFzdE5hbWUnXS5oYXNFcnJvcignbWF4bGVuZ3RoJylcIj57e2xhc3ROYW1lTGFiZWx9fSBoYXMgZXhjZWVkZWQgaXRzIG1heGltdW0gbGVuZ3RoPC9zbWFsbD5cblx0XHRcdDwvZGl2PlxuXHRcdDwvZGl2PlxuXHQ8L2Rpdj5cblx0PGRpdiAqbmdJZj1cInNob3dUaXRsZVwiIGNsYXNzPVwicm93XCI+XG5cdFx0PGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxuXHRcdFx0PGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cblx0XHRcdFx0PGxhYmVsIFtmb3JdPVwiY29tcG9uZW50SWQrJ19UaXRsZUlucHV0J1wiPlRpdGxlPC9sYWJlbD5cblx0XHRcdFx0PGlucHV0IFt0eXBlXT1cImlzU2VhcmNoID8gJ3NlYXJjaCcgOiAndGV4dCdcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIHBsYWNlaG9sZGVyPVwiVGl0bGVcIiBcblx0XHRcdFx0W25nQ2xhc3NdPVwieydpcy1pbnZhbGlkJzpzaG93VmFsaWRhdGlvbiAmJiBncm91cC5jb250cm9sc1sndGl0bGUnXS5zdGF0dXMgPT09ICdJTlZBTElEJ31cIlxuXHRcdFx0XHRmb3JtQ29udHJvbE5hbWU9XCJ0aXRsZVwiICBbaWRdPVwiY29tcG9uZW50SWQrJ19UaXRsZUlucHV0J1wiIFttYXhsZW5ndGhdPVwidGl0bGVNYXhMZW5ndGhcIj5cblx0XHRcdFx0PHNtYWxsIGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiICpuZ0lmPVwiZ3JvdXAuY29udHJvbHNbJ3RpdGxlJ10uaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj5UaXRsZSBpcyByZXF1aXJlZDwvc21hbGw+XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L2Rpdj5cblx0PC9kaXY+XG5cdDxkaXYgY2xhc3M9XCJyb3dcIj5cblx0XHQ8ZGl2ICpuZ0lmPVwiIW5vRW1haWxcIiBjbGFzcz1cImNvbC1tZC02XCI+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuXHRcdFx0XHQ8bGFiZWwgW2Zvcl09XCJjb21wb25lbnRJZCsnX0VtYWlsSW5wdXQnXCI+e3tlbWFpbExhYmVsfX08L2xhYmVsPlxuXHRcdFx0XHQ8aW5wdXQgdHlwZT1cImVtYWlsXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbbmdDbGFzc109XCJ7J2lzLWludmFsaWQnOnNob3dWYWxpZGF0aW9uICYmIGdyb3VwLmNvbnRyb2xzWydlbWFpbEFkZHJlc3MnXS5zdGF0dXMgPT09ICdJTlZBTElEJ31cIlxuXHRcdFx0XHRcdHBsYWNlaG9sZGVyPVwiRW1haWxcIiBmb3JtQ29udHJvbE5hbWU9XCJlbWFpbEFkZHJlc3NcIiAgW2lkXT1cImNvbXBvbmVudElkKydfRW1haWxJbnB1dCdcIiBbbWF4bGVuZ3RoXT1cImVtYWlsTWF4TGVuZ3RoXCI+XG5cdFx0XHRcdDxzbWFsbCBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIiAqbmdJZj1cImdyb3VwLmNvbnRyb2xzWydlbWFpbEFkZHJlc3MnXS5oYXNFcnJvcigncmVxdWlyZWQnKVwiPnt7ZW1haWxMYWJlbH19IGlzIHJlcXVpcmVkPC9zbWFsbD5cblx0XHRcdFx0PHNtYWxsIGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiICpuZ0lmPVwiZ3JvdXAuY29udHJvbHNbJ2VtYWlsQWRkcmVzcyddLmhhc0Vycm9yKCdtYXhsZW5ndGgnKVwiPnt7ZW1haWxMYWJlbH19IGhhcyBleGNlZWRlZCBpdHMgbWF4aW11bSBsZW5ndGg8L3NtYWxsPlxuXHRcdFx0XHQ8c21hbGwgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCIgKm5nSWY9XCJncm91cC5jb250cm9sc1snZW1haWxBZGRyZXNzJ10uaGFzRXJyb3IoJ2VtYWlsJylcIj5QbGVhc2UgZW50ZXIgYSB2YWxpZCBlbWFpbCBhZGRyZXNzPC9zbWFsbD5cblx0XHRcdDwvZGl2PlxuXHRcdDwvZGl2PlxuXHRcdDxkaXYgW25nQ2xhc3NdPVwieyAnY29sLW1kLTMnOiAhbm9GYXgsICdjb2wtbWQtNic6IG5vRmF4IH1cIj5cblx0XHRcdDxkaXYgKm5nSWY9XCIhbm9QaG9uZVwiIGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuXHRcdFx0XHQ8bGFiZWwgW2Zvcl09XCJjb21wb25lbnRJZCsnX1Bob25lSW5wdXQnXCI+e3twaG9uZUxhYmVsfX08L2xhYmVsPlxuXHRcdFx0XHQ8aW5wdXQgW3R5cGVdPVwiaXNTZWFyY2ggPyAnc2VhcmNoJyA6ICd0ZXh0J1wiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgW25nQ2xhc3NdPVwieydpcy1pbnZhbGlkJzpzaG93VmFsaWRhdGlvbiAmJiBncm91cC5jb250cm9sc1sncGhvbmVOdW1iZXInXS5zdGF0dXMgPT09ICdJTlZBTElEJ31cIlxuXHRcdFx0XHRcdHBsYWNlaG9sZGVyPVwiKHh4eCkgeHh4LXh4eHhcIiBmb3JtQ29udHJvbE5hbWU9XCJwaG9uZU51bWJlclwiIFtpZF09XCJjb21wb25lbnRJZCsnX1Bob25lSW5wdXQnXCIgbWFzaz1cIigwMDApIDAwMC0wMDAwXCIgbWlubGVuZ3RoPVwiMTBcIj5cblx0XHRcdFx0PHNtYWxsIGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiICpuZ0lmPVwiZ3JvdXAuY29udHJvbHNbJ3Bob25lTnVtYmVyJ10uaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj57e3Bob25lTGFiZWx9fSBpcyByZXF1aXJlZDwvc21hbGw+XG5cdFx0XHRcdDxzbWFsbCBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIiAqbmdJZj1cImdyb3VwLmNvbnRyb2xzWydwaG9uZU51bWJlciddLmhhc0Vycm9yKCdtaW5sZW5ndGgnKVwiPlBsZWFzZSBlbnRlciBhIHZhbGlkIHBob25lIG51bWJlcjwvc21hbGw+XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L2Rpdj5cblx0XHQ8ZGl2ICpuZ0lmPVwiIW5vRmF4XCIgY2xhc3M9XCJjb2wtbWQtM1wiPlxuXHRcdFx0PGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cblx0XHRcdFx0PGxhYmVsIFtmb3JdPVwiY29tcG9uZW50SWQrJ19GYXhJbnB1dCdcIj57e2ZheExhYmVsfX08L2xhYmVsPlxuXHRcdFx0XHQ8aW5wdXQgW3R5cGVdPVwiaXNTZWFyY2ggPyAnc2VhcmNoJyA6ICd0ZXh0J1wiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgW25nQ2xhc3NdPVwieydpcy1pbnZhbGlkJzpzaG93VmFsaWRhdGlvbiAmJiBncm91cC5jb250cm9sc1snZmF4TnVtYmVyJ10uc3RhdHVzID09PSAnSU5WQUxJRCd9XCJcblx0XHRcdFx0XHRwbGFjZWhvbGRlcj1cIih4eHgpIHh4eC14eHh4XCIgZm9ybUNvbnRyb2xOYW1lPVwiZmF4TnVtYmVyXCIgW2lkXT1cImNvbXBvbmVudElkKydfRmF4SW5wdXQnXCIgIG1hc2s9XCIoMDAwKSAwMDAtMDAwMFwiIG1pbmxlbmd0aD1cIjEwXCI+XG5cdFx0XHRcdFx0PHNtYWxsIGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiICpuZ0lmPVwiZ3JvdXAuY29udHJvbHNbJ2ZheE51bWJlciddLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCI+e3tmYXhMYWJlbH19IGlzIHJlcXVpcmVkPC9zbWFsbD5cblx0XHRcdFx0XHQ8c21hbGwgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCIgKm5nSWY9XCJncm91cC5jb250cm9sc1snZmF4TnVtYmVyJ10uaGFzRXJyb3IoJ21pbmxlbmd0aCcpXCI+UGxlYXNlIGVudGVyIGEgdmFsaWQgcGhvbmUgbnVtYmVyPC9zbWFsbD5cblx0XHRcdDwvZGl2PlxuXHRcdDwvZGl2PlxuXHQ8L2Rpdj5cbjwvZGl2PiJdfQ==
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vZXBhLXVpLWxpYi9zcmMvbGliL2NvbnRhY3QvY29udGFjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vZXBhLXVpLWxpYi9zcmMvbGliL2NvbnRhY3QvY29udGFjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBVXpELE1BQU0sT0FBTyxnQkFBZ0I7SUE4QlA7SUE1QmIsV0FBVyxHQUFHLHNCQUFzQixDQUFDO0lBQzVDLDBEQUEwRDtJQUNqRCxLQUFLLENBQWE7SUFDM0IscUVBQXFFO0lBQzVELGNBQWMsR0FBRyxLQUFLLENBQUM7SUFFTixRQUFRLEdBQVcsRUFBRSxDQUFDO0lBRWhCLGNBQWMsR0FBVyxZQUFZLENBQUM7SUFDdkMsYUFBYSxHQUFXLFdBQVcsQ0FBQztJQUNuQyxjQUFjLEdBQVksS0FBSyxDQUFDO0lBQy9CLGVBQWUsR0FBVyxhQUFhLENBQUM7SUFDN0MsVUFBVSxHQUFXLE9BQU8sQ0FBQztJQUM3QixVQUFVLEdBQVcsT0FBTyxDQUFDO0lBQy9CLFFBQVEsR0FBVyxLQUFLLENBQUM7SUFDNUIsS0FBSyxHQUFZLEtBQUssQ0FBQTtJQUNsQixTQUFTLEdBQVksS0FBSyxDQUFDO0lBQzdCLE9BQU8sR0FBWSxLQUFLLENBQUM7SUFDekIsT0FBTyxHQUFZLEtBQUssQ0FBQztJQUN4QixRQUFRLEdBQVksS0FBSyxDQUFDO0lBRWxELHdDQUF3QztJQUNKLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztJQUN2QixtQkFBbUIsR0FBRyxFQUFFLENBQUM7SUFDM0IsaUJBQWlCLEdBQUcsRUFBRSxDQUFDO0lBQzFCLGNBQWMsR0FBRyxFQUFFLENBQUM7SUFDcEIsY0FBYyxHQUFHLEVBQUUsQ0FBQztJQUV0RCxZQUFvQixTQUFpQztRQUFqQyxjQUFTLEdBQVQsU0FBUyxDQUF3QjtJQUNyRCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRSxDQUFDO0lBQ0gsQ0FBQzt3R0FyQ1UsZ0JBQWdCOzRGQUFoQixnQkFBZ0Isa29CQ1Y3QixzL05BeUZNOzs0RkQvRU8sZ0JBQWdCO2tCQUw1QixTQUFTOytCQUNFLGNBQWM7MkZBUWYsS0FBSztzQkFBYixLQUFLO2dCQUVHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRW9CLFFBQVE7c0JBQWpDLEtBQUs7dUJBQUMsVUFBVTtnQkFFZSxjQUFjO3NCQUE3QyxLQUFLO3VCQUFDLGdCQUFnQjtnQkFDUSxhQUFhO3NCQUEzQyxLQUFLO3VCQUFDLGVBQWU7Z0JBQ1UsY0FBYztzQkFBN0MsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBQ1UsZUFBZTtzQkFBL0MsS0FBSzt1QkFBQyxpQkFBaUI7Z0JBQ0ksVUFBVTtzQkFBckMsS0FBSzt1QkFBQyxZQUFZO2dCQUNTLFVBQVU7c0JBQXJDLEtBQUs7dUJBQUMsWUFBWTtnQkFDTyxRQUFRO3NCQUFqQyxLQUFLO3VCQUFDLFVBQVU7Z0JBQ00sS0FBSztzQkFBM0IsS0FBSzt1QkFBQyxPQUFPO2dCQUNhLFNBQVM7c0JBQW5DLEtBQUs7dUJBQUMsV0FBVztnQkFDTyxPQUFPO3NCQUEvQixLQUFLO3VCQUFDLFNBQVM7Z0JBQ1MsT0FBTztzQkFBL0IsS0FBSzt1QkFBQyxTQUFTO2dCQUNVLFFBQVE7c0JBQWpDLEtBQUs7dUJBQUMsVUFBVTtnQkFHcUIsa0JBQWtCO3NCQUFyRCxLQUFLO3VCQUFDLG9CQUFvQjtnQkFDVSxtQkFBbUI7c0JBQXZELEtBQUs7dUJBQUMscUJBQXFCO2dCQUNPLGlCQUFpQjtzQkFBbkQsS0FBSzt1QkFBQyxtQkFBbUI7Z0JBQ00sY0FBYztzQkFBN0MsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBQ1MsY0FBYztzQkFBN0MsS0FBSzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgT2VwYUNvbXBvbmVudElkU2VydmljZSB9IGZyb20gJ0BvaGlvZXBhL29lcGEtY29tbW9uLWxpYic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29lcGEtY29udGFjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250YWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29udGFjdC5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ29udGFjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHVibGljIGNvbXBvbmVudElkID0gJ09lcGFDb250YWN0Q29tcG9uZW50JztcbiAgLyoqICBUaGUgZm9ybSBncm91cCBmb3Igd2hpY2ggdGhpcyBhZGRyZXNzIGlzIGEgbWVtYmVyLiAqL1xuICBASW5wdXQoKSBncm91cCE6IEZvcm1Hcm91cDtcbiAgLyoqIEZvcm0gdmFsaWRhdGlvbiB3aWxsIGJlIGRpc3BsYXllZCB3aGVuIHNob3dWYWxpZGF0aW9uIGlzIHRydWUuICovXG4gIEBJbnB1dCgpIHNob3dWYWxpZGF0aW9uID0gZmFsc2U7XG5cbiAgQElucHV0KCdpZFByZWZpeCcpIHB1YmxpYyBpZFByZWZpeDogc3RyaW5nID0gJyc7XG5cbiAgQElucHV0KCdmaXJzdE5hbWVMYWJlbCcpIHB1YmxpYyBmaXJzdE5hbWVMYWJlbDogc3RyaW5nID0gJ0ZpcnN0IE5hbWUnO1xuICBASW5wdXQoJ2xhc3ROYW1lTGFiZWwnKSBwdWJsaWMgbGFzdE5hbWVMYWJlbDogc3RyaW5nID0gJ0xhc3QgTmFtZSc7XG4gIEBJbnB1dCgnc2hvd01pZGRsZU5hbWUnKSBwdWJsaWMgc2hvd01pZGRsZU5hbWU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCdtaWRkbGVOYW1lTGFiZWwnKSBwdWJsaWMgbWlkZGxlTmFtZUxhYmVsOiBzdHJpbmcgPSAnTWlkZGxlIE5hbWUnO1xuICBASW5wdXQoJ2VtYWlsTGFiZWwnKSBwdWJsaWMgZW1haWxMYWJlbDogc3RyaW5nID0gJ0VtYWlsJztcbiAgQElucHV0KCdwaG9uZUxhYmVsJykgcHVibGljIHBob25lTGFiZWw6IHN0cmluZyA9ICdQaG9uZSc7XG4gIEBJbnB1dCgnZmF4TGFiZWwnKSBwdWJsaWMgZmF4TGFiZWw6IHN0cmluZyA9ICdGYXgnO1xuICBASW5wdXQoJ25vRmF4JykgcHVibGljIG5vRmF4OiBib29sZWFuID0gZmFsc2VcbiAgQElucHV0KCdzaG93VGl0bGUnKSBwdWJsaWMgc2hvd1RpdGxlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgnbm9QaG9uZScpIHB1YmxpYyBub1Bob25lOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgnbm9FbWFpbCcpIHB1YmxpYyBub0VtYWlsOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgnaXNTZWFyY2gnKSBwdWJsaWMgaXNTZWFyY2g6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8vIG1heCBsZW5ndGggdmFsdWVzLiBvdmVycmlkZSBpZiBuZWVkZWRcbiAgICBASW5wdXQoJ2ZpcnN0TmFtZU1heExlbmd0aCcpIHB1YmxpYyBmaXJzdE5hbWVNYXhMZW5ndGggPSA1MDtcbiAgICBASW5wdXQoJ21pZGRsZU5hbWVNYXhMZW5ndGgnKSBwdWJsaWMgbWlkZGxlTmFtZU1heExlbmd0aCA9IDUwO1xuICAgIEBJbnB1dCgnbGFzdE5hbWVNYXhMZW5ndGgnKSBwdWJsaWMgbGFzdE5hbWVNYXhMZW5ndGggPSA1MDtcbiAgICBASW5wdXQoJ3RpdGxlTWF4TGVuZ3RoJykgcHVibGljIHRpdGxlTWF4TGVuZ3RoID0gNDA7XG4gICAgQElucHV0KCdlbWFpbE1heExlbmd0aCcpIHB1YmxpYyBlbWFpbE1heExlbmd0aCA9IDgwO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaWRTZXJ2aWNlOiBPZXBhQ29tcG9uZW50SWRTZXJ2aWNlKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5ncm91cCkge1xuICAgICAgdGhpcy5jb21wb25lbnRJZCA9IHRoaXMuaWRQcmVmaXggKyB0aGlzLmlkU2VydmljZS5nZXRDb21wb25lbnRJZCh0aGlzLmdyb3VwKTtcbiAgICB9XG4gIH1cblxufVxuIiwiPGRpdiBbZm9ybUdyb3VwXT1cImdyb3VwXCI+XG5cdDxkaXYgKm5nSWY9XCIhc2hvd01pZGRsZU5hbWVcIiBjbGFzcz1cInJvd1wiPlxuXHRcdDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxuXHRcdFx0PGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cblx0XHRcdFx0PGxhYmVsIFtmb3JdPVwiY29tcG9uZW50SWQrJ19GaXJzdE5hbWVJbnB1dCdcIj57e2ZpcnN0TmFtZUxhYmVsfX08L2xhYmVsPlxuXHRcdFx0XHQ8aW5wdXQgW3R5cGVdPVwiaXNTZWFyY2ggPyAnc2VhcmNoJyA6ICd0ZXh0J1wiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgW25nQ2xhc3NdPVwieydpcy1pbnZhbGlkJzpzaG93VmFsaWRhdGlvbiAmJiBncm91cC5jb250cm9sc1snZmlyc3ROYW1lJ10uc3RhdHVzID09PSAnSU5WQUxJRCd9XCJcblx0XHRcdFx0XHRwbGFjZWhvbGRlcj1cIkZpcnN0IE5hbWVcIiBmb3JtQ29udHJvbE5hbWU9XCJmaXJzdE5hbWVcIiBbaWRdPVwiY29tcG9uZW50SWQrJ19GaXJzdE5hbWVJbnB1dCdcIiBbbWF4bGVuZ3RoXT1cImZpcnN0TmFtZU1heExlbmd0aFwiPlxuXHRcdFx0XHQ8c21hbGwgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCIgKm5nSWY9XCJncm91cC5jb250cm9sc1snZmlyc3ROYW1lJ10uaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj57e2ZpcnN0TmFtZUxhYmVsfX0gaXMgcmVxdWlyZWQ8L3NtYWxsPlxuXHRcdFx0XHQ8c21hbGwgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCIgKm5nSWY9XCJncm91cC5jb250cm9sc1snZmlyc3ROYW1lJ10uaGFzRXJyb3IoJ21heGxlbmd0aCcpXCI+e3tmaXJzdE5hbWVMYWJlbH19IGhhcyBleGNlZWRlZCBpdHMgbWF4aW11bSBsZW5ndGg8L3NtYWxsPlxuXHRcdFx0PC9kaXY+XG5cdFx0PC9kaXY+XG5cdFx0PGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuXHRcdFx0XHQ8bGFiZWwgW2Zvcl09XCJjb21wb25lbnRJZCsnX0xhc3ROYW1lSW5wdXQnXCI+e3tsYXN0TmFtZUxhYmVsfX08L2xhYmVsPlxuXHRcdFx0XHQ8aW5wdXQgW3R5cGVdPVwiaXNTZWFyY2ggPyAnc2VhcmNoJyA6ICd0ZXh0J1wiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgW25nQ2xhc3NdPVwieydpcy1pbnZhbGlkJzpzaG93VmFsaWRhdGlvbiAmJiBncm91cC5jb250cm9sc1snbGFzdE5hbWUnXS5zdGF0dXMgPT09ICdJTlZBTElEJ31cIlxuXHRcdFx0XHRcdHBsYWNlaG9sZGVyPVwiTGFzdCBOYW1lXCIgZm9ybUNvbnRyb2xOYW1lPVwibGFzdE5hbWVcIiBbaWRdPVwiY29tcG9uZW50SWQrJ19MYXN0TmFtZUlucHV0J1wiIFttYXhsZW5ndGhdPVwibGFzdE5hbWVNYXhMZW5ndGhcIj5cblx0XHRcdFx0PHNtYWxsIGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiICpuZ0lmPVwiZ3JvdXAuY29udHJvbHNbJ2xhc3ROYW1lJ10uaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj57e2xhc3ROYW1lTGFiZWx9fSBpcyByZXF1aXJlZDwvc21hbGw+XG5cdFx0XHRcdDxzbWFsbCBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIiAqbmdJZj1cImdyb3VwLmNvbnRyb2xzWydsYXN0TmFtZSddLmhhc0Vycm9yKCdtYXhsZW5ndGgnKVwiPnt7bGFzdE5hbWVMYWJlbH19IGhhcyBleGNlZWRlZCBpdHMgbWF4aW11bSBsZW5ndGg8L3NtYWxsPlxuXHRcdFx0PC9kaXY+XG5cdFx0PC9kaXY+XG5cdDwvZGl2PlxuXHQ8ZGl2ICpuZ0lmPVwic2hvd01pZGRsZU5hbWVcIiBjbGFzcz1cInJvd1wiPlxuXHRcdDxkaXYgY2xhc3M9XCJjb2wtbWQtNFwiPlxuXHRcdFx0PGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cblx0XHRcdFx0PGxhYmVsIFtmb3JdPVwiY29tcG9uZW50SWQrJ19GaXJzdE5hbWVJbnB1dCdcIj57e2ZpcnN0TmFtZUxhYmVsfX08L2xhYmVsPlxuXHRcdFx0XHQ8aW5wdXQgW3R5cGVdPVwiaXNTZWFyY2ggPyAnc2VhcmNoJyA6ICd0ZXh0J1wiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgW25nQ2xhc3NdPVwieydpcy1pbnZhbGlkJzpzaG93VmFsaWRhdGlvbiAmJiBncm91cC5jb250cm9sc1snZmlyc3ROYW1lJ10uc3RhdHVzID09PSAnSU5WQUxJRCd9XCJcblx0XHRcdFx0XHRwbGFjZWhvbGRlcj1cIkZpcnN0IE5hbWVcIiBmb3JtQ29udHJvbE5hbWU9XCJmaXJzdE5hbWVcIiBbaWRdPVwiY29tcG9uZW50SWQrJ19GaXJzdE5hbWVJbnB1dCdcIiBbbWF4bGVuZ3RoXT1cImZpcnN0TmFtZU1heExlbmd0aFwiPlxuXHRcdFx0XHQ8c21hbGwgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCIgKm5nSWY9XCJncm91cC5jb250cm9sc1snZmlyc3ROYW1lJ10uaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj57e2ZpcnN0TmFtZUxhYmVsfX0gaXMgcmVxdWlyZWQ8L3NtYWxsPlxuXHRcdFx0XHQ8c21hbGwgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCIgKm5nSWY9XCJncm91cC5jb250cm9sc1snZmlyc3ROYW1lJ10uaGFzRXJyb3IoJ21heGxlbmd0aCcpXCI+e3tmaXJzdE5hbWVMYWJlbH19IGhhcyBleGNlZWRlZCBpdHMgbWF4aW11bSBsZW5ndGg8L3NtYWxsPlxuXHRcdFx0PC9kaXY+XG5cdFx0PC9kaXY+XG5cdFx0PGRpdiBjbGFzcz1cImNvbC1tZC00XCI+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiIFtuZ0NsYXNzXT1cInsnaXMtaW52YWxpZCc6c2hvd1ZhbGlkYXRpb24gJiYgZ3JvdXAuY29udHJvbHNbJ21pZGRsZU5hbWUnXS5zdGF0dXMgPT09ICdJTlZBTElEJ31cIj5cblx0XHRcdFx0PGxhYmVsIFtmb3JdPVwiY29tcG9uZW50SWQrJ19NaWRkbGVOYW1lSW5wdXQnXCI+e3ttaWRkbGVOYW1lTGFiZWx9fTwvbGFiZWw+XG5cdFx0XHRcdDxpbnB1dCBbdHlwZV09XCJpc1NlYXJjaCA/ICdzZWFyY2gnIDogJ3RleHQnXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBwbGFjZWhvbGRlcj1cIk1pZGRsZSBOYW1lXCIgZm9ybUNvbnRyb2xOYW1lPVwibWlkZGxlTmFtZVwiIFtpZF09XCJjb21wb25lbnRJZCsnX01pZGRsZU5hbWVJbnB1dCdcIiBbbWF4bGVuZ3RoXT1cIm1pZGRsZU5hbWVNYXhMZW5ndGhcIj5cblx0XHRcdFx0PHNtYWxsIGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiICpuZ0lmPVwic2hvd1ZhbGlkYXRpb24gJiYgZ3JvdXAuY29udHJvbHNbJ21pZGRsZU5hbWUnXS5zdGF0dXMgPT09ICdJTlZBTElEJ1wiPk1pZGRsZSBOYW1lIGlzIHJlcXVpcmVkPC9zbWFsbD5cblx0XHRcdDwvZGl2PlxuXHRcdDwvZGl2PlxuXHRcdDxkaXYgY2xhc3M9XCJjb2wtbWQtNFwiPlxuXHRcdFx0PGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cblx0XHRcdFx0PGxhYmVsIFtmb3JdPVwiY29tcG9uZW50SWQrJ19MYXN0TmFtZUlucHV0J1wiPnt7bGFzdE5hbWVMYWJlbH19PC9sYWJlbD5cblx0XHRcdFx0PGlucHV0IFt0eXBlXT1cImlzU2VhcmNoID8gJ3NlYXJjaCcgOiAndGV4dCdcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIFtuZ0NsYXNzXT1cInsnaXMtaW52YWxpZCc6c2hvd1ZhbGlkYXRpb24gJiYgZ3JvdXAuY29udHJvbHNbJ2xhc3ROYW1lJ10uc3RhdHVzID09PSAnSU5WQUxJRCd9XCJcblx0XHRcdFx0XHRwbGFjZWhvbGRlcj1cIkxhc3QgTmFtZVwiIGZvcm1Db250cm9sTmFtZT1cImxhc3ROYW1lXCIgW2lkXT1cImNvbXBvbmVudElkKydfTGFzdE5hbWVJbnB1dCdcIiBbbWF4bGVuZ3RoXT1cImxhc3ROYW1lTWF4TGVuZ3RoXCI+XG5cdFx0XHRcdDxzbWFsbCBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIiAqbmdJZj1cImdyb3VwLmNvbnRyb2xzWydsYXN0TmFtZSddLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCI+e3tsYXN0TmFtZUxhYmVsfX0gaXMgcmVxdWlyZWQ8L3NtYWxsPlxuXHRcdFx0XHQ8c21hbGwgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCIgKm5nSWY9XCJncm91cC5jb250cm9sc1snbGFzdE5hbWUnXS5oYXNFcnJvcignbWF4bGVuZ3RoJylcIj57e2xhc3ROYW1lTGFiZWx9fSBoYXMgZXhjZWVkZWQgaXRzIG1heGltdW0gbGVuZ3RoPC9zbWFsbD5cblx0XHRcdDwvZGl2PlxuXHRcdDwvZGl2PlxuXHQ8L2Rpdj5cblx0PGRpdiAqbmdJZj1cInNob3dUaXRsZVwiIGNsYXNzPVwicm93XCI+XG5cdFx0PGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxuXHRcdFx0PGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cblx0XHRcdFx0PGxhYmVsIFtmb3JdPVwiY29tcG9uZW50SWQrJ19UaXRsZUlucHV0J1wiPlRpdGxlPC9sYWJlbD5cblx0XHRcdFx0PGlucHV0IFt0eXBlXT1cImlzU2VhcmNoID8gJ3NlYXJjaCcgOiAndGV4dCdcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIHBsYWNlaG9sZGVyPVwiVGl0bGVcIiBcblx0XHRcdFx0W25nQ2xhc3NdPVwieydpcy1pbnZhbGlkJzpzaG93VmFsaWRhdGlvbiAmJiBncm91cC5jb250cm9sc1sndGl0bGUnXS5zdGF0dXMgPT09ICdJTlZBTElEJ31cIlxuXHRcdFx0XHRmb3JtQ29udHJvbE5hbWU9XCJ0aXRsZVwiICBbaWRdPVwiY29tcG9uZW50SWQrJ19UaXRsZUlucHV0J1wiIFttYXhsZW5ndGhdPVwidGl0bGVNYXhMZW5ndGhcIj5cblx0XHRcdFx0PHNtYWxsIGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiICpuZ0lmPVwiZ3JvdXAuY29udHJvbHNbJ3RpdGxlJ10uaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj5UaXRsZSBpcyByZXF1aXJlZDwvc21hbGw+XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L2Rpdj5cblx0PC9kaXY+XG5cdDxkaXYgY2xhc3M9XCJyb3dcIj5cblx0XHQ8ZGl2ICpuZ0lmPVwiIW5vRW1haWxcIiBjbGFzcz1cImNvbC1tZC02XCI+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuXHRcdFx0XHQ8bGFiZWwgW2Zvcl09XCJjb21wb25lbnRJZCsnX0VtYWlsSW5wdXQnXCI+e3tlbWFpbExhYmVsfX08L2xhYmVsPlxuXHRcdFx0XHQ8aW5wdXQgdHlwZT1cImVtYWlsXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbbmdDbGFzc109XCJ7J2lzLWludmFsaWQnOnNob3dWYWxpZGF0aW9uICYmIGdyb3VwLmNvbnRyb2xzWydlbWFpbEFkZHJlc3MnXS5zdGF0dXMgPT09ICdJTlZBTElEJ31cIlxuXHRcdFx0XHRcdHBsYWNlaG9sZGVyPVwiRW1haWxcIiBmb3JtQ29udHJvbE5hbWU9XCJlbWFpbEFkZHJlc3NcIiAgW2lkXT1cImNvbXBvbmVudElkKydfRW1haWxJbnB1dCdcIiBbbWF4bGVuZ3RoXT1cImVtYWlsTWF4TGVuZ3RoXCI+XG5cdFx0XHRcdDxzbWFsbCBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIiAqbmdJZj1cImdyb3VwLmNvbnRyb2xzWydlbWFpbEFkZHJlc3MnXS5oYXNFcnJvcigncmVxdWlyZWQnKVwiPnt7ZW1haWxMYWJlbH19IGlzIHJlcXVpcmVkPC9zbWFsbD5cblx0XHRcdFx0PHNtYWxsIGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiICpuZ0lmPVwiZ3JvdXAuY29udHJvbHNbJ2VtYWlsQWRkcmVzcyddLmhhc0Vycm9yKCdtYXhsZW5ndGgnKVwiPnt7ZW1haWxMYWJlbH19IGhhcyBleGNlZWRlZCBpdHMgbWF4aW11bSBsZW5ndGg8L3NtYWxsPlxuXHRcdFx0XHQ8c21hbGwgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCIgKm5nSWY9XCJncm91cC5jb250cm9sc1snZW1haWxBZGRyZXNzJ10uaGFzRXJyb3IoJ2VtYWlsJylcIj5QbGVhc2UgZW50ZXIgYSB2YWxpZCBlbWFpbCBhZGRyZXNzPC9zbWFsbD5cblx0XHRcdDwvZGl2PlxuXHRcdDwvZGl2PlxuXHRcdDxkaXYgW25nQ2xhc3NdPVwieyAnY29sLW1kLTMnOiAhbm9GYXgsICdjb2wtbWQtNic6IG5vRmF4IH1cIj5cblx0XHRcdDxkaXYgKm5nSWY9XCIhbm9QaG9uZVwiIGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuXHRcdFx0XHQ8bGFiZWwgW2Zvcl09XCJjb21wb25lbnRJZCsnX1Bob25lSW5wdXQnXCI+e3twaG9uZUxhYmVsfX08L2xhYmVsPlxuXHRcdFx0XHQ8aW5wdXQgW3R5cGVdPVwiaXNTZWFyY2ggPyAnc2VhcmNoJyA6ICd0ZXh0J1wiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgW25nQ2xhc3NdPVwieydpcy1pbnZhbGlkJzpzaG93VmFsaWRhdGlvbiAmJiBncm91cC5jb250cm9sc1sncGhvbmVOdW1iZXInXS5zdGF0dXMgPT09ICdJTlZBTElEJ31cIlxuXHRcdFx0XHRcdHBsYWNlaG9sZGVyPVwiKHh4eCkgeHh4LXh4eHhcIiBmb3JtQ29udHJvbE5hbWU9XCJwaG9uZU51bWJlclwiIFtpZF09XCJjb21wb25lbnRJZCsnX1Bob25lSW5wdXQnXCIgbWFzaz1cIigwMDApIDAwMC0wMDAwXCIgbWlubGVuZ3RoPVwiMTBcIj5cblx0XHRcdFx0PHNtYWxsIGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiICpuZ0lmPVwiZ3JvdXAuY29udHJvbHNbJ3Bob25lTnVtYmVyJ10uaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj57e3Bob25lTGFiZWx9fSBpcyByZXF1aXJlZDwvc21hbGw+XG5cdFx0XHRcdDxzbWFsbCBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIiAqbmdJZj1cImdyb3VwLmNvbnRyb2xzWydwaG9uZU51bWJlciddLmhhc0Vycm9yKCdtaW5sZW5ndGgnKVwiPlBsZWFzZSBlbnRlciBhIHZhbGlkIHBob25lIG51bWJlcjwvc21hbGw+XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L2Rpdj5cblx0XHQ8ZGl2ICpuZ0lmPVwiIW5vRmF4XCIgY2xhc3M9XCJjb2wtbWQtM1wiPlxuXHRcdFx0PGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cblx0XHRcdFx0PGxhYmVsIFtmb3JdPVwiY29tcG9uZW50SWQrJ19GYXhJbnB1dCdcIj57e2ZheExhYmVsfX08L2xhYmVsPlxuXHRcdFx0XHQ8aW5wdXQgW3R5cGVdPVwiaXNTZWFyY2ggPyAnc2VhcmNoJyA6ICd0ZXh0J1wiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgW25nQ2xhc3NdPVwieydpcy1pbnZhbGlkJzpzaG93VmFsaWRhdGlvbiAmJiBncm91cC5jb250cm9sc1snZmF4TnVtYmVyJ10uc3RhdHVzID09PSAnSU5WQUxJRCd9XCJcblx0XHRcdFx0XHRwbGFjZWhvbGRlcj1cIih4eHgpIHh4eC14eHh4XCIgZm9ybUNvbnRyb2xOYW1lPVwiZmF4TnVtYmVyXCIgW2lkXT1cImNvbXBvbmVudElkKydfRmF4SW5wdXQnXCIgIG1hc2s9XCIoMDAwKSAwMDAtMDAwMFwiIG1pbmxlbmd0aD1cIjEwXCI+XG5cdFx0XHRcdFx0PHNtYWxsIGNsYXNzPVwiaW52YWxpZC1mZWVkYmFja1wiICpuZ0lmPVwiZ3JvdXAuY29udHJvbHNbJ2ZheE51bWJlciddLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCI+e3tmYXhMYWJlbH19IGlzIHJlcXVpcmVkPC9zbWFsbD5cblx0XHRcdFx0XHQ8c21hbGwgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCIgKm5nSWY9XCJncm91cC5jb250cm9sc1snZmF4TnVtYmVyJ10uaGFzRXJyb3IoJ21pbmxlbmd0aCcpXCI+UGxlYXNlIGVudGVyIGEgdmFsaWQgcGhvbmUgbnVtYmVyPC9zbWFsbD5cblx0XHRcdDwvZGl2PlxuXHRcdDwvZGl2PlxuXHQ8L2Rpdj5cbjwvZGl2PiJdfQ==
|
package/esm2022/lib/entity/organization-create-modal/organization-create-modal.component.mjs
CHANGED
|
@@ -296,7 +296,7 @@ export class OrganizationCreateModalComponent {
|
|
|
296
296
|
return this.modalFormGroup.controls[name].hasError(field);
|
|
297
297
|
}
|
|
298
298
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OrganizationCreateModalComponent, deps: [{ token: i1.FormBuilder }, { token: i2.BsModalRef }, { token: i3.OepaFormsService }, { token: i4.EntityService }], target: i0.ɵɵFactoryTarget.Component });
|
|
299
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: OrganizationCreateModalComponent, selector: "oepa-organization-create-modal", outputs: { onOrganizationCreated: "onOrganizationCreated" }, ngImport: i0, template: "<div class=\"modal-header\" id=\"organizationCreateModalTitle\">\n <h1 class=\"modal-title pull-left\">Create Organization</h1>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\" tabindex=\"0\">\n </button>\n</div>\n<div class=\"modal-body\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"organizationCreateModalTitle\" tabindex=\"-1\">\n <div *ngIf=\"!modalFormGroup\">\n <div class=\"text-center\">Initializing...</div>\n <div class=\"text-center\"><span class=\"spinner-border text-primary\" role=\"status\"></span></div>\n </div>\n <form *ngIf=\"modalFormGroup\" [formGroup]=\"modalFormGroup\">\n <label for=\"orgTypeSelect\">Organization Type</label>\n <select id=\"orgTypeSelect\" formControlName=\"orgType\" class=\"form-select\"\n [ngClass]=\"getModalFormGroupInvalidClass('orgType')\" aria-describedby=\"orgTypeError\">\n <option *ngFor=\"let t of organizationTypes\" [ngValue]=\"t.code\">{{t.name}}</option>\n </select>\n <small id=\"orgTypeError\" class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('orgType','required')\">Organization Type is required</small>\n\n <label for=\"programSelect\">Program</label>\n <select id=\"programSelect\" formControlName=\"program\" class=\"form-select\"\n [ngClass]=\"getModalFormGroupInvalidClass('program')\" aria-describedby=\"programError\">\n <option *ngFor=\"let t of programs\" [ngValue]=\"t\">{{t.name}}</option>\n </select>\n <small id=\"programError\" class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('program','required')\">Program is required</small>\n\n <label for=\"organizationName\">Organization Name</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"organizationName\" id=\"organizationName\" maxlength=\"40\"\n [ngClass]=\"getModalFormGroupInvalidClass('organizationName')\" aria-describedby=\"organizationNameError\">\n <small id=\"organizationNameError\" class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('organizationName','required')\">Organization is required</small>\n\n <label for=\"PhoneInput\">Phone Number</label>\n <input type=\"text\" class=\"form-control\" [ngClass]=\"getModalFormGroupInvalidClass('phoneNumber')\"\n placeholder=\"(xxx) xxx-xxxx\" formControlName=\"phoneNumber\" id=\"PhoneInput\" mask=\"(000) 000-0000\" minlength=\"10\" aria-describedby=\"phoneNumberError phoneNumberMinlengthError\">\n <small id=\"phoneNumberError\" class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('phoneNumber','required')\">Phone Number is required</small>\n <small id=\"phoneNumberMinlengthError\" class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('phoneNumber','minlength')\">Please enter a valid phone number</small>\n \n <label for=\"phoneNumberTypeSelect\">Phone Number Type</label>\n <select id=\"phoneNumberTypeSelect\" formControlName=\"phoneNumberType\" class=\"form-select\"\n [ngClass]=\"getModalFormGroupInvalidClass('phoneNumberType')\" aria-describedby=\"phoneNumberTypeError\">\n <option *ngFor=\"let t of phoneNumberTypes\" [ngValue]=\"t.code\">{{t.name}}</option>\n </select>\n <small id=\"phoneNumberTypeError\" class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('phoneNumberType','required')\">Phone Number Type is required</small>\n\n <oepa-address [group]=\"getModalFormGroup('address')\" [showValidation]=\"true\" [cityMaxLength] = \"25\"></oepa-address> \n\n <label for=\"addressTypeSelect\">Address Type</label>\n <select id=\"addressTypeSelect\" formControlName=\"addressType\" class=\"form-select\" [ngClass]=\"getModalFormGroupInvalidClass('addressType')\" aria-describedby=\"addressTypeError\">\n <option *ngFor=\"let t of addressTypes\" [ngValue]=\"t.code\">{{t.name}}</option>\n </select>\n <small id=\"addressTypeError\" class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('addressType','required')\">Address Type is required</small>\n \n </form>\n <div *ngIf=\"tableData && tableData.length > 0\" class=\"card\" aria-live=\"polite\">\n <div class=\"card-header\">\n <b>Matching Organization List </b><span class=\"badge bg-secondary\">{{tableData.length}}</span>\n </div>\n <div class=\"card-body\">\n <oepa-table tableId=\"organizationSearchTable\" [config]=\"tableConfig\" [data]=\"tableData\" [header]=\"tableHeader\" (rowSelected)=\"onRowSelect($event)\">\n </oepa-table>\n </div>\n </div>\n</div>\n<div class=\"modal-footer d-block\">\n <div *ngIf=\"inProgressMsg\">\n <div class=\"alert alert-info\">\n {{inProgressMsg}}\n </div>\n </div>\n <div *ngIf=\"infoMessage && !inProgressMsg\">\n <div class=\"alert alert-info\">\n {{infoMessage}}\n </div>\n </div>\n <div *ngIf=\"errorMessage\">\n <div class=\"alert alert-danger\">\n {{errorMessage}}\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <span *ngIf=\"inProgressMsg\"><span class=\"spinner-border text-primary\" role=\"status\"></span></span>\n <button *ngIf=\"(!tableData || tableData.length === 0) && !inProgressMsg\" type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"SaveOrganizationBtn\" [disabled]=\"!modalFormGroup || modalFormGroup.invalid\"\n (click)=\"saveOrganizationAfterSearch()\" aria-label=\"Save new organization\">Save</button>\n <button *ngIf=\"tableData && tableData.length > 0 && !selectedOrganization && !inProgressMsg\" type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"SaveOrganizationWithoutSearchBtn\"\n [disabled]=\"modalFormGroup.invalid\"\n (click)=\"saveOrganization()\" aria-label=\"No match, save new organization\">No Match, Save New Organization</button>\n <button *ngIf=\"tableData && tableData.length > 0 && selectedOrganization && !inProgressMsg\" type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"SaveSelectedOrganizationBtn\"\n [disabled]=\"modalFormGroup.invalid\"\n (click)=\"saveSelectedOrganization()\" aria-label=\"Use selected organization\">Use Selected Organization</button>\n <button id=\"CancelOrganizationBtn\" type=\"button\" class=\"btn btn-primary\"\n (click)=\"bsModalRef.hide()\" aria-label=\"Cancel\">Cancel</button>\n </div>\n </div>\n</div>", styles: [""], 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: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { 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.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i6.NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "leadZero", "triggerOnMaskChange", "apm", "inputTransformFn", "outputTransformFn", "keepCharacterPositions"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }, { kind: "component", type: i7.AddressComponent, selector: "oepa-address", inputs: ["group", "showValidation", "addressOneLabel", "addressTwoLabel", "cityLabel", "stateLabel", "zipCodeLabel", "disableState", "isSearch", "hideLine2", "line1MaxLength", "line2MaxLength", "cityMaxLength", "foreignStateLabel", "foreignZipLabel", "countryLabel", "sameAsGroup", "sameAsLabel", "sameAsChecked"] }, { kind: "component", type: i8.TableComponent, selector: "oepa-table", inputs: ["tableId", "config", "complexHeader", "header", "customBtnLabel", "customBtnVisible", "customBtnEnabled", "data", "totalRow"], outputs: ["cellClicked", "actionClicked", "rowSelected", "customBtnClicked"] }] });
|
|
299
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: OrganizationCreateModalComponent, selector: "oepa-organization-create-modal", outputs: { onOrganizationCreated: "onOrganizationCreated" }, ngImport: i0, template: "<div class=\"modal-header\" id=\"organizationCreateModalTitle\">\n <h1 class=\"modal-title pull-left\">Create Organization</h1>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\" tabindex=\"0\">\n </button>\n</div>\n<div class=\"modal-body\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"organizationCreateModalTitle\" tabindex=\"-1\">\n <div *ngIf=\"!modalFormGroup\">\n <div class=\"text-center\">Initializing...</div>\n <div class=\"text-center\"><span class=\"spinner-border text-primary\" role=\"status\"></span></div>\n </div>\n <form *ngIf=\"modalFormGroup\" [formGroup]=\"modalFormGroup\">\n <label for=\"orgTypeSelect\">Organization Type</label>\n <select id=\"orgTypeSelect\" formControlName=\"orgType\" class=\"form-select\"\n [ngClass]=\"getModalFormGroupInvalidClass('orgType')\" aria-describedby=\"orgTypeError\">\n <option *ngFor=\"let t of organizationTypes\" [ngValue]=\"t.code\">{{t.name}}</option>\n </select>\n <small id=\"orgTypeError\" class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('orgType','required')\">Organization Type is required</small>\n\n <label for=\"programSelect\">Program</label>\n <select id=\"programSelect\" formControlName=\"program\" class=\"form-select\"\n [ngClass]=\"getModalFormGroupInvalidClass('program')\" aria-describedby=\"programError\">\n <option *ngFor=\"let t of programs\" [ngValue]=\"t\">{{t.name}}</option>\n </select>\n <small id=\"programError\" class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('program','required')\">Program is required</small>\n\n <label for=\"organizationName\">Organization Name</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"organizationName\" id=\"organizationName\" maxlength=\"40\"\n [ngClass]=\"getModalFormGroupInvalidClass('organizationName')\" aria-describedby=\"organizationNameError\">\n <small id=\"organizationNameError\" class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('organizationName','required')\">Organization is required</small>\n\n <label for=\"PhoneInput\">Phone Number</label>\n <input type=\"text\" class=\"form-control\" [ngClass]=\"getModalFormGroupInvalidClass('phoneNumber')\"\n placeholder=\"(xxx) xxx-xxxx\" formControlName=\"phoneNumber\" id=\"PhoneInput\" mask=\"(000) 000-0000\" minlength=\"10\" aria-describedby=\"phoneNumberError phoneNumberMinlengthError\">\n <small id=\"phoneNumberError\" class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('phoneNumber','required')\">Phone Number is required</small>\n <small id=\"phoneNumberMinlengthError\" class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('phoneNumber','minlength')\">Please enter a valid phone number</small>\n \n <label for=\"phoneNumberTypeSelect\">Phone Number Type</label>\n <select id=\"phoneNumberTypeSelect\" formControlName=\"phoneNumberType\" class=\"form-select\"\n [ngClass]=\"getModalFormGroupInvalidClass('phoneNumberType')\" aria-describedby=\"phoneNumberTypeError\">\n <option *ngFor=\"let t of phoneNumberTypes\" [ngValue]=\"t.code\">{{t.name}}</option>\n </select>\n <small id=\"phoneNumberTypeError\" class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('phoneNumberType','required')\">Phone Number Type is required</small>\n\n <oepa-address [group]=\"getModalFormGroup('address')\" [showValidation]=\"true\" [cityMaxLength] = \"25\"></oepa-address> \n\n <label for=\"addressTypeSelect\">Address Type</label>\n <select id=\"addressTypeSelect\" formControlName=\"addressType\" class=\"form-select\" [ngClass]=\"getModalFormGroupInvalidClass('addressType')\" aria-describedby=\"addressTypeError\">\n <option *ngFor=\"let t of addressTypes\" [ngValue]=\"t.code\">{{t.name}}</option>\n </select>\n <small id=\"addressTypeError\" class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('addressType','required')\">Address Type is required</small>\n \n </form>\n <div *ngIf=\"tableData && tableData.length > 0\" class=\"card\" aria-live=\"polite\">\n <div class=\"card-header\">\n <b>Matching Organization List </b><span class=\"badge bg-secondary\">{{tableData.length}}</span>\n </div>\n <div class=\"card-body\">\n <oepa-table tableId=\"organizationSearchTable\" [config]=\"tableConfig\" [data]=\"tableData\" [header]=\"tableHeader\" (rowSelected)=\"onRowSelect($event)\">\n </oepa-table>\n </div>\n </div>\n</div>\n<div class=\"modal-footer d-block\">\n <div *ngIf=\"inProgressMsg\">\n <div class=\"alert alert-info\">\n {{inProgressMsg}}\n </div>\n </div>\n <div *ngIf=\"infoMessage && !inProgressMsg\">\n <div class=\"alert alert-info\">\n {{infoMessage}}\n </div>\n </div>\n <div *ngIf=\"errorMessage\">\n <div class=\"alert alert-danger\">\n {{errorMessage}}\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <span *ngIf=\"inProgressMsg\"><span class=\"spinner-border text-primary\" role=\"status\"></span></span>\n <button *ngIf=\"(!tableData || tableData.length === 0) && !inProgressMsg\" type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"SaveOrganizationBtn\" [disabled]=\"!modalFormGroup || modalFormGroup.invalid\"\n (click)=\"saveOrganizationAfterSearch()\" aria-label=\"Save new organization\">Save</button>\n <button *ngIf=\"tableData && tableData.length > 0 && !selectedOrganization && !inProgressMsg\" type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"SaveOrganizationWithoutSearchBtn\"\n [disabled]=\"modalFormGroup.invalid\"\n (click)=\"saveOrganization()\" aria-label=\"No match, save new organization\">No Match, Save New Organization</button>\n <button *ngIf=\"tableData && tableData.length > 0 && selectedOrganization && !inProgressMsg\" type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"SaveSelectedOrganizationBtn\"\n [disabled]=\"modalFormGroup.invalid\"\n (click)=\"saveSelectedOrganization()\" aria-label=\"Use selected organization\">Use Selected Organization</button>\n <button id=\"CancelOrganizationBtn\" type=\"button\" class=\"btn btn-primary\"\n (click)=\"bsModalRef.hide()\" aria-label=\"Cancel\">Cancel</button>\n </div>\n </div>\n</div>", styles: [""], 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: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { 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.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i6.NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "leadZero", "triggerOnMaskChange", "apm", "inputTransformFn", "outputTransformFn", "keepCharacterPositions"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }, { kind: "component", type: i7.AddressComponent, selector: "oepa-address", inputs: ["group", "showValidation", "idPrefix", "addressOneLabel", "addressTwoLabel", "cityLabel", "stateLabel", "zipCodeLabel", "disableState", "isSearch", "hideLine2", "line1MaxLength", "line2MaxLength", "cityMaxLength", "foreignStateLabel", "foreignZipLabel", "countryLabel", "sameAsGroup", "sameAsLabel", "sameAsChecked"] }, { kind: "component", type: i8.TableComponent, selector: "oepa-table", inputs: ["tableId", "config", "complexHeader", "header", "customBtnLabel", "customBtnVisible", "customBtnEnabled", "data", "totalRow"], outputs: ["cellClicked", "actionClicked", "rowSelected", "customBtnClicked"] }] });
|
|
300
300
|
}
|
|
301
301
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OrganizationCreateModalComponent, decorators: [{
|
|
302
302
|
type: Component,
|
package/esm2022/lib/entity/organization-search-modal/organization-search-modal.component.mjs
CHANGED
|
@@ -293,7 +293,7 @@ export class OrganizationSearchModalComponent {
|
|
|
293
293
|
return this.modalFormGroup.controls[name];
|
|
294
294
|
}
|
|
295
295
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OrganizationSearchModalComponent, deps: [{ token: i1.FormBuilder }, { token: i2.BsModalRef }, { token: i2.BsModalService }, { token: i3.OepaFormsService }, { token: i4.EntityService }], target: i0.ɵɵFactoryTarget.Component });
|
|
296
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: OrganizationSearchModalComponent, selector: "oepa-organization-search-modal", outputs: { onOrganizationSelected: "onOrganizationSelected" }, ngImport: i0, template: "<div class=\"modal-header\" role=\"banner\">\n <h1 class=\"modal-title pull-left\" id=\"organizationSearchModalTitle\">Advanced Organization Search</h1>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close dialog\" (click)=\"bsModalRef.hide()\" tabindex=\"0\">\n <!-- Icon visually hidden for screen readers -->\n </button>\n</div>\n<div class=\"modal-body\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"organizationSearchModalTitle\">\n <mat-accordion class=\"accordion\" multi>\n <mat-expansion-panel class=\"accordion-item\">\n <mat-expansion-panel-header>\n <div id=\"organizationSearchCriteria\">\n <mat-panel-title>\n Organization Search Criteria\n </mat-panel-title>\n </div>\n </mat-expansion-panel-header>\n <div *ngIf=\"initializing\" aria-live=\"polite\" aria-atomic=\"true\">\n <span class=\"spinner-border text-primary\" role=\"status\" aria-label=\"Loading\"></span>\n <span class=\"sr-only\">Initializing...</span>\n </div>\n <form *ngIf=\"!initializing\" [formGroup]=\"modalFormGroup\" aria-describedby=\"organizationSearchCriteria\" (keydown.enter)=\"$event.preventDefault()\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"form-group\"> \n <label for=\"programSelect\">Program</label>\n <select id=\"programSelect\" formControlName=\"programID\" class=\"form-select\">\n <option *ngFor=\"let t of programs\" [ngValue]=\"t.id\">{{t.name}}</option>\n </select>\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label for=\"subTypeSelect\">Organization Type</label>\n <select id=\"subTypeSelect\" formControlName=\"subType\" class=\"form-select\">\n <option *ngFor=\"let t of organizationTypes\" [ngValue]=\"t\">{{t.name}}</option>\n </select>\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label for=\"organizationIDInput\">Organization ID</label>\n <input type=\"search\" mask=\"999999999\" class=\"form-control\" id=\"organizationIDInput\" formControlName=\"id\">\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label for=\"organizationNameInput\">Organization Name</label>\n <input type=\"search\" class=\"form-control\" id=\"organizationNameInput\" formControlName=\"name\" maxlength=\"40\">\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label for=\"secondaryIDInput\">Secondary ID</label>\n <input type=\"search\" class=\"form-control\" id=\"secondaryIDInput\" formControlName=\"secondaryID\">\n </div>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"addressTypeSelect\">Address Type</label>\n <select id=\"addressTypeSelect\" formControlName=\"addressType\" class=\"form-select\">\n <option *ngFor=\"let t of addressTypes\" [ngValue]=\"t.code\">{{t.name}}</option>\n </select>\n </div>\n </div>\n </div>\n <oepa-address [group]=\"getModalFormGroup('address')\" [isSearch]=\"true\"\n addressOneLabel=\"Address\" [hideLine2]=\"true\" aria-label=\"Address search fields\"></oepa-address>\n <div class=\"row\">\n <div class=\"col-md-4\">\n <div class=\"form-group\">\n <label for=\"phoneNumberTypeSelect\">Phone Number Type</label>\n <select id=\"phoneNumberTypeSelect\" formControlName=\"phoneNumberType\" class=\"form-select\">\n <option *ngFor=\"let t of phoneNumberTypes\" [ngValue]=\"t.code\">{{t.name}}</option>\n </select>\n </div>\n </div>\n <div class=\"col-md-2\">\n <div class=\"form-group\">\n <label for=\"areaCodeInput\">Area Code</label>\n <input type=\"search\" mask=\"999\" class=\"form-control\" id=\"areaCodeInput\" formControlName=\"areaCode\">\n </div>\n </div>\n <div class=\"col-md-4\">\n <div class=\"form-group\">\n <label for=\"phoneNumberInput\">Phone Number</label>\n <input type=\"search\" mask=\"999-9999\" class=\"form-control\" id=\"phoneNumberInput\" formControlName=\"phoneNumber\">\n </div>\n </div>\n <div class=\"col-md-2\">\n <div class=\"form-group\">\n <label for=\"extensionInput\">Extension</label>\n <input type=\"search\" mask=\"9999\" class=\"form-control\" id=\"extensionInput\" formControlName=\"extension\">\n </div>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <span *ngIf=\"inProgressMsg\" aria-live=\"polite\" aria-atomic=\"true\"><span class=\"spinner-border text-primary\" role=\"status\" aria-label=\"Searching\"></span></span>\n <button *ngIf=\"!inProgressMsg\" type=\"submit\" class=\"btn btn-primary mr-2\" id=\"submitSearchBtn\" (click)=\"submitSearch()\" aria-label=\"Search\">Search</button>\n <button id=\"resetSearchBtn\" type=\"button\" class=\"btn btn-primary\" (click)=\"resetSearch()\" aria-label=\"Reset search form\">Reset</button>\n </div>\n </div>\n </form>\n </mat-expansion-panel>\n </mat-accordion>\n <div *ngIf=\"tableData && tableData.length > 0\" class=\"card\" aria-live=\"polite\" aria-atomic=\"true\">\n <div class=\"card-header\" id=\"organizationListHeader\">\n <b>Organization List </b><span class=\"badge bg-secondary\" aria-label=\"Number of organizations\">{{tableData.length}}</span>\n </div>\n <div class=\"card-body\">\n <oepa-table tableId=\"organizationSearchTable\" [config]=\"tableConfig\" [data]=\"tableData\" [header]=\"tableHeader\" (rowSelected)=\"onRowSelect($event)\" aria-labelledby=\"organizationListHeader\">\n </oepa-table>\n </div>\n </div>\n</div>\n<div class=\"modal-footer d-block\" role=\"contentinfo\">\n <div *ngIf=\"errorMessage\" aria-live=\"assertive\" aria-atomic=\"true\">\n <div class=\"alert alert-danger\" role=\"alert\">\n {{errorMessage}}\n </div>\n </div>\n <div *ngIf=\"inProgressMsg\" aria-live=\"polite\" aria-atomic=\"true\">\n <div class=\"alert alert-info\" role=\"status\">\n {{inProgressMsg}}\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <button type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"SaveOrganizationBtn\"\n [disabled]=\"!selectedOrganization || inProgressMsg\"\n (click)=\"save()\" aria-label=\"Save organization\">Save</button>\n\t\t\t<button *ngIf=\"allowCreateNew\" type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"CreateOrganizationButton\"\n (click)=\"createNewOrganization()\" aria-label=\"Create new organization\">Create New Organization</button>\n <button id=\"CancelPaymentBtn\" type=\"button\" class=\"btn btn-primary\"\n (click)=\"bsModalRef.hide()\" aria-label=\"Cancel and close dialog\">Cancel</button>\n </div>\n </div>\n</div>", styles: [""], dependencies: [{ 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: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { 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.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i6.MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: i6.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i6.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i6.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: i7.NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "leadZero", "triggerOnMaskChange", "apm", "inputTransformFn", "outputTransformFn", "keepCharacterPositions"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }, { kind: "component", type: i8.AddressComponent, selector: "oepa-address", inputs: ["group", "showValidation", "addressOneLabel", "addressTwoLabel", "cityLabel", "stateLabel", "zipCodeLabel", "disableState", "isSearch", "hideLine2", "line1MaxLength", "line2MaxLength", "cityMaxLength", "foreignStateLabel", "foreignZipLabel", "countryLabel", "sameAsGroup", "sameAsLabel", "sameAsChecked"] }, { kind: "component", type: i9.TableComponent, selector: "oepa-table", inputs: ["tableId", "config", "complexHeader", "header", "customBtnLabel", "customBtnVisible", "customBtnEnabled", "data", "totalRow"], outputs: ["cellClicked", "actionClicked", "rowSelected", "customBtnClicked"] }] });
|
|
296
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: OrganizationSearchModalComponent, selector: "oepa-organization-search-modal", outputs: { onOrganizationSelected: "onOrganizationSelected" }, ngImport: i0, template: "<div class=\"modal-header\" role=\"banner\">\n <h1 class=\"modal-title pull-left\" id=\"organizationSearchModalTitle\">Advanced Organization Search</h1>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close dialog\" (click)=\"bsModalRef.hide()\" tabindex=\"0\">\n <!-- Icon visually hidden for screen readers -->\n </button>\n</div>\n<div class=\"modal-body\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"organizationSearchModalTitle\">\n <mat-accordion class=\"accordion\" multi>\n <mat-expansion-panel class=\"accordion-item\">\n <mat-expansion-panel-header>\n <div id=\"organizationSearchCriteria\">\n <mat-panel-title>\n Organization Search Criteria\n </mat-panel-title>\n </div>\n </mat-expansion-panel-header>\n <div *ngIf=\"initializing\" aria-live=\"polite\" aria-atomic=\"true\">\n <span class=\"spinner-border text-primary\" role=\"status\" aria-label=\"Loading\"></span>\n <span class=\"sr-only\">Initializing...</span>\n </div>\n <form *ngIf=\"!initializing\" [formGroup]=\"modalFormGroup\" aria-describedby=\"organizationSearchCriteria\" (keydown.enter)=\"$event.preventDefault()\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"form-group\"> \n <label for=\"programSelect\">Program</label>\n <select id=\"programSelect\" formControlName=\"programID\" class=\"form-select\">\n <option *ngFor=\"let t of programs\" [ngValue]=\"t.id\">{{t.name}}</option>\n </select>\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label for=\"subTypeSelect\">Organization Type</label>\n <select id=\"subTypeSelect\" formControlName=\"subType\" class=\"form-select\">\n <option *ngFor=\"let t of organizationTypes\" [ngValue]=\"t\">{{t.name}}</option>\n </select>\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label for=\"organizationIDInput\">Organization ID</label>\n <input type=\"search\" mask=\"999999999\" class=\"form-control\" id=\"organizationIDInput\" formControlName=\"id\">\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label for=\"organizationNameInput\">Organization Name</label>\n <input type=\"search\" class=\"form-control\" id=\"organizationNameInput\" formControlName=\"name\" maxlength=\"40\">\n </div>\n </div>\n <div class=\"col-md-6\">\n <div class=\"form-group\">\n <label for=\"secondaryIDInput\">Secondary ID</label>\n <input type=\"search\" class=\"form-control\" id=\"secondaryIDInput\" formControlName=\"secondaryID\">\n </div>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"addressTypeSelect\">Address Type</label>\n <select id=\"addressTypeSelect\" formControlName=\"addressType\" class=\"form-select\">\n <option *ngFor=\"let t of addressTypes\" [ngValue]=\"t.code\">{{t.name}}</option>\n </select>\n </div>\n </div>\n </div>\n <oepa-address [group]=\"getModalFormGroup('address')\" [isSearch]=\"true\"\n addressOneLabel=\"Address\" [hideLine2]=\"true\" aria-label=\"Address search fields\"></oepa-address>\n <div class=\"row\">\n <div class=\"col-md-4\">\n <div class=\"form-group\">\n <label for=\"phoneNumberTypeSelect\">Phone Number Type</label>\n <select id=\"phoneNumberTypeSelect\" formControlName=\"phoneNumberType\" class=\"form-select\">\n <option *ngFor=\"let t of phoneNumberTypes\" [ngValue]=\"t.code\">{{t.name}}</option>\n </select>\n </div>\n </div>\n <div class=\"col-md-2\">\n <div class=\"form-group\">\n <label for=\"areaCodeInput\">Area Code</label>\n <input type=\"search\" mask=\"999\" class=\"form-control\" id=\"areaCodeInput\" formControlName=\"areaCode\">\n </div>\n </div>\n <div class=\"col-md-4\">\n <div class=\"form-group\">\n <label for=\"phoneNumberInput\">Phone Number</label>\n <input type=\"search\" mask=\"999-9999\" class=\"form-control\" id=\"phoneNumberInput\" formControlName=\"phoneNumber\">\n </div>\n </div>\n <div class=\"col-md-2\">\n <div class=\"form-group\">\n <label for=\"extensionInput\">Extension</label>\n <input type=\"search\" mask=\"9999\" class=\"form-control\" id=\"extensionInput\" formControlName=\"extension\">\n </div>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <span *ngIf=\"inProgressMsg\" aria-live=\"polite\" aria-atomic=\"true\"><span class=\"spinner-border text-primary\" role=\"status\" aria-label=\"Searching\"></span></span>\n <button *ngIf=\"!inProgressMsg\" type=\"submit\" class=\"btn btn-primary mr-2\" id=\"submitSearchBtn\" (click)=\"submitSearch()\" aria-label=\"Search\">Search</button>\n <button id=\"resetSearchBtn\" type=\"button\" class=\"btn btn-primary\" (click)=\"resetSearch()\" aria-label=\"Reset search form\">Reset</button>\n </div>\n </div>\n </form>\n </mat-expansion-panel>\n </mat-accordion>\n <div *ngIf=\"tableData && tableData.length > 0\" class=\"card\" aria-live=\"polite\" aria-atomic=\"true\">\n <div class=\"card-header\" id=\"organizationListHeader\">\n <b>Organization List </b><span class=\"badge bg-secondary\" aria-label=\"Number of organizations\">{{tableData.length}}</span>\n </div>\n <div class=\"card-body\">\n <oepa-table tableId=\"organizationSearchTable\" [config]=\"tableConfig\" [data]=\"tableData\" [header]=\"tableHeader\" (rowSelected)=\"onRowSelect($event)\" aria-labelledby=\"organizationListHeader\">\n </oepa-table>\n </div>\n </div>\n</div>\n<div class=\"modal-footer d-block\" role=\"contentinfo\">\n <div *ngIf=\"errorMessage\" aria-live=\"assertive\" aria-atomic=\"true\">\n <div class=\"alert alert-danger\" role=\"alert\">\n {{errorMessage}}\n </div>\n </div>\n <div *ngIf=\"inProgressMsg\" aria-live=\"polite\" aria-atomic=\"true\">\n <div class=\"alert alert-info\" role=\"status\">\n {{inProgressMsg}}\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <button type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"SaveOrganizationBtn\"\n [disabled]=\"!selectedOrganization || inProgressMsg\"\n (click)=\"save()\" aria-label=\"Save organization\">Save</button>\n\t\t\t<button *ngIf=\"allowCreateNew\" type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"CreateOrganizationButton\"\n (click)=\"createNewOrganization()\" aria-label=\"Create new organization\">Create New Organization</button>\n <button id=\"CancelPaymentBtn\" type=\"button\" class=\"btn btn-primary\"\n (click)=\"bsModalRef.hide()\" aria-label=\"Cancel and close dialog\">Cancel</button>\n </div>\n </div>\n</div>", styles: [""], dependencies: [{ 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: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { 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.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i6.MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: i6.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i6.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i6.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: i7.NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "leadZero", "triggerOnMaskChange", "apm", "inputTransformFn", "outputTransformFn", "keepCharacterPositions"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }, { kind: "component", type: i8.AddressComponent, selector: "oepa-address", inputs: ["group", "showValidation", "idPrefix", "addressOneLabel", "addressTwoLabel", "cityLabel", "stateLabel", "zipCodeLabel", "disableState", "isSearch", "hideLine2", "line1MaxLength", "line2MaxLength", "cityMaxLength", "foreignStateLabel", "foreignZipLabel", "countryLabel", "sameAsGroup", "sameAsLabel", "sameAsChecked"] }, { kind: "component", type: i9.TableComponent, selector: "oepa-table", inputs: ["tableId", "config", "complexHeader", "header", "customBtnLabel", "customBtnVisible", "customBtnEnabled", "data", "totalRow"], outputs: ["cellClicked", "actionClicked", "rowSelected", "customBtnClicked"] }] });
|
|
297
297
|
}
|
|
298
298
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OrganizationSearchModalComponent, decorators: [{
|
|
299
299
|
type: Component,
|