@ohioepa/oepa-ui-lib 2.0.1 → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/esm2022/lib/account-search-input/account-search-input.component.mjs +3 -3
  2. package/esm2022/lib/account-search-modal/account-search-modal.component.mjs +4 -4
  3. package/esm2022/lib/action-btn/action-btn.component.mjs +3 -3
  4. package/esm2022/lib/action-btn-modal/action-btn-modal.component.mjs +3 -3
  5. package/esm2022/lib/address/address.component.mjs +3 -3
  6. package/esm2022/lib/checkbox/checkbox.component.mjs +3 -3
  7. package/esm2022/lib/checkbox-input/checkbox-input.component.mjs +3 -3
  8. package/esm2022/lib/comment-modal/comment-modal.component.mjs +3 -3
  9. package/esm2022/lib/common-forms.module.mjs +6 -2
  10. package/esm2022/lib/confirmation-modal/confirmation-modal.component.mjs +3 -3
  11. package/esm2022/lib/contact/contact.component.mjs +3 -3
  12. package/esm2022/lib/date-input/date-input.component.mjs +3 -3
  13. package/esm2022/lib/date-input-modal/date-input-modal.component.mjs +3 -3
  14. package/esm2022/lib/datepicker/datepicker.component.mjs +4 -6
  15. package/esm2022/lib/daterangepicker/daterangepicker.component.mjs +7 -3
  16. package/esm2022/lib/dual-list-box/dual-list-box.component.mjs +3 -3
  17. package/esm2022/lib/ebiz-address/ebiz-address.component.mjs +3 -3
  18. package/esm2022/lib/edoc-attachment/edoc-attachment.component.mjs +3 -3
  19. package/esm2022/lib/entity/organization-create-modal/organization-create-modal.component.mjs +3 -3
  20. package/esm2022/lib/entity/organization-search-input/organization-search-input.component.mjs +3 -3
  21. package/esm2022/lib/entity/organization-search-modal/organization-search-modal.component.mjs +4 -4
  22. package/esm2022/lib/entity/person-create-modal/person-create-modal.component.mjs +3 -3
  23. package/esm2022/lib/entity/person-search-input/person-search-input.component.mjs +3 -3
  24. package/esm2022/lib/entity/person-search-modal/person-search-modal.component.mjs +4 -4
  25. package/esm2022/lib/entity/place-search-input/place-search-input.component.mjs +3 -3
  26. package/esm2022/lib/entity/place-search-modal/place-search-modal.component.mjs +4 -4
  27. package/esm2022/lib/phone-number/phone-number.component.mjs +3 -3
  28. package/esm2022/lib/server-timeout-modal/server-timeout-modal.component.mjs +3 -3
  29. package/esm2022/lib/template-confirmation-modal/template-confirmation-modal.component.mjs +3 -3
  30. package/esm2022/lib/yes-no/yes-no.component.mjs +3 -3
  31. package/esm2022/lib/yes-no-boolean/yes-no.component.mjs +3 -3
  32. package/esm2022/lib/yes-no-other-input/yes-no-other-input.component.mjs +3 -3
  33. package/esm2022/lib/zip-code/zip-code.component.mjs +3 -3
  34. package/fesm2022/ohioepa-oepa-ui-lib.mjs +77 -70
  35. package/fesm2022/ohioepa-oepa-ui-lib.mjs.map +1 -1
  36. package/lib/common-forms.module.d.ts +3 -2
  37. package/lib/datepicker/datepicker.component.d.ts +0 -3
  38. package/lib/daterangepicker/daterangepicker.component.d.ts +2 -1
  39. package/ohioepa-oepa-ui-lib-2.0.3.tgz +0 -0
  40. package/package.json +1 -1
  41. package/ohioepa-oepa-ui-lib-2.0.1.tgz +0 -0
@@ -14,6 +14,8 @@ import * as i7 from 'ngx-mask';
14
14
  import { NgxMaskDirective, NgxMaskPipe, provideNgxMask } from 'ngx-mask';
15
15
  import * as i4 from 'ngx-bootstrap/datepicker';
16
16
  import { BsDatepickerModule } from 'ngx-bootstrap/datepicker';
17
+ import * as i6 from '@angular/material/expansion';
18
+ import { MatExpansionModule } from '@angular/material/expansion';
17
19
  import * as i4$1 from 'ngx-bootstrap/buttons';
18
20
  import { ButtonsModule } from 'ngx-bootstrap/buttons';
19
21
  import * as i4$2 from 'ngx-bootstrap/timepicker';
@@ -30,7 +32,7 @@ import * as i8$1 from 'ngx-bootstrap/tooltip';
30
32
  import { TooltipModule } from 'ngx-bootstrap/tooltip';
31
33
  import * as i6$1 from 'ngx-bootstrap/typeahead';
32
34
  import { TypeaheadModule } from 'ngx-bootstrap/typeahead';
33
- import * as i6 from 'ngx-bootstrap/accordion';
35
+ import * as i10$1 from 'ngx-bootstrap/accordion';
34
36
  import { AccordionModule } from 'ngx-bootstrap/accordion';
35
37
  import * as i11$1 from 'ngx-bootstrap/collapse';
36
38
  import { CollapseModule } from 'ngx-bootstrap/collapse';
@@ -230,11 +232,11 @@ class AddressComponent {
230
232
  this.subscription.unsubscribe();
231
233
  }
232
234
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AddressComponent, deps: [{ token: OepaAddressService }, { token: i1$1.OepaComponentIdService }], target: i0.ɵɵFactoryTarget.Component });
233
- 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 && sameAsChecked\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label [ngStyle]=\"{ 'font-weight': sameAsChecked && group.disabled ? 'bold' : '' }\">\n {{addressOneLabel}}\n <span *ngIf=\"sameAsGroup\">({{sameAsLabel}} \n <input type=\"checkbox\" [checked]=\"sameAsChecked\" (change)=\"toggleCopyFromSelection()\" [disabled]=\"group.parent?.disabled\"/>)\n </span>\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 [ngStyle]=\"{ 'font-weight': sameAsChecked && group.disabled ? 'bold' : '' }\">\n {{addressOneLabel}}\n <span *ngIf=\"sameAsGroup\">\n ({{sameAsLabel}} \n <input type=\"checkbox\" [checked]=\"sameAsChecked\" (change)=\"toggleCopyFromSelection()\" [disabled]=\"group.parent?.disabled\"/>)\n </span>\n </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>{{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>{{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>{{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>{{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>{{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>{{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\n</div>\n<div *ngIf=\"group.controls['country']\" class=\"row\">\n<div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>{{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: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$2.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$2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { 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"] }] });
235
+ 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 && sameAsChecked\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label [ngStyle]=\"{ 'font-weight': sameAsChecked && group.disabled ? 'bold' : '' }\" id=\"addressOneLabel\">\n {{addressOneLabel}}\n <span *ngIf=\"sameAsGroup\">({{sameAsLabel}} \n <input type=\"checkbox\" [checked]=\"sameAsChecked\" (change)=\"toggleCopyFromSelection()\" [disabled]=\"group.parent?.disabled\" [attr.aria-label]=\"sameAsLabel\"/>\n </span>\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 [ngStyle]=\"{ 'font-weight': sameAsChecked && group.disabled ? 'bold' : '' }\" id=\"addressOneLabel\">\n {{addressOneLabel}}\n <span *ngIf=\"sameAsGroup\">\n ({{sameAsLabel}} \n <input type=\"checkbox\" [checked]=\"sameAsChecked\" (change)=\"toggleCopyFromSelection()\" [disabled]=\"group.parent?.disabled\" [attr.aria-label]=\"sameAsLabel\"/>\n </span>\n </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'\" [attr.aria-labelledby]=\"'addressOneLabel'\">\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 id=\"addressTwoLabel\">{{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'\" [attr.aria-labelledby]=\"'addressTwoLabel'\">\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>{{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>{{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>{{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>{{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>{{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\n</div>\n<div *ngIf=\"group.controls['country']\" class=\"row\">\n<div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>{{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: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$2.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$2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { 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"] }] });
234
236
  }
235
237
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AddressComponent, decorators: [{
236
238
  type: Component,
237
- args: [{ selector: 'oepa-address', template: "<div *ngIf=\"sameAsGroup && sameAsChecked\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label [ngStyle]=\"{ 'font-weight': sameAsChecked && group.disabled ? 'bold' : '' }\">\n {{addressOneLabel}}\n <span *ngIf=\"sameAsGroup\">({{sameAsLabel}} \n <input type=\"checkbox\" [checked]=\"sameAsChecked\" (change)=\"toggleCopyFromSelection()\" [disabled]=\"group.parent?.disabled\"/>)\n </span>\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 [ngStyle]=\"{ 'font-weight': sameAsChecked && group.disabled ? 'bold' : '' }\">\n {{addressOneLabel}}\n <span *ngIf=\"sameAsGroup\">\n ({{sameAsLabel}} \n <input type=\"checkbox\" [checked]=\"sameAsChecked\" (change)=\"toggleCopyFromSelection()\" [disabled]=\"group.parent?.disabled\"/>)\n </span>\n </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>{{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>{{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>{{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>{{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>{{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>{{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\n</div>\n<div *ngIf=\"group.controls['country']\" class=\"row\">\n<div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>{{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>" }]
239
+ args: [{ selector: 'oepa-address', template: "<div *ngIf=\"sameAsGroup && sameAsChecked\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label [ngStyle]=\"{ 'font-weight': sameAsChecked && group.disabled ? 'bold' : '' }\" id=\"addressOneLabel\">\n {{addressOneLabel}}\n <span *ngIf=\"sameAsGroup\">({{sameAsLabel}} \n <input type=\"checkbox\" [checked]=\"sameAsChecked\" (change)=\"toggleCopyFromSelection()\" [disabled]=\"group.parent?.disabled\" [attr.aria-label]=\"sameAsLabel\"/>\n </span>\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 [ngStyle]=\"{ 'font-weight': sameAsChecked && group.disabled ? 'bold' : '' }\" id=\"addressOneLabel\">\n {{addressOneLabel}}\n <span *ngIf=\"sameAsGroup\">\n ({{sameAsLabel}} \n <input type=\"checkbox\" [checked]=\"sameAsChecked\" (change)=\"toggleCopyFromSelection()\" [disabled]=\"group.parent?.disabled\" [attr.aria-label]=\"sameAsLabel\"/>\n </span>\n </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'\" [attr.aria-labelledby]=\"'addressOneLabel'\">\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 id=\"addressTwoLabel\">{{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'\" [attr.aria-labelledby]=\"'addressTwoLabel'\">\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>{{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>{{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>{{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>{{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>{{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\n</div>\n<div *ngIf=\"group.controls['country']\" class=\"row\">\n<div class=\"col-md-6\">\n <div class=\"form-group\">\n <label>{{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>" }]
238
240
  }], ctorParameters: () => [{ type: OepaAddressService }, { type: i1$1.OepaComponentIdService }], propDecorators: { group: [{
239
241
  type: Input
240
242
  }], showValidation: [{
@@ -323,11 +325,11 @@ class ContactComponent {
323
325
  }
324
326
  }
325
327
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContactComponent, deps: [{ token: i1$1.OepaComponentIdService }], target: i0.ɵɵFactoryTarget.Component });
326
- 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>{{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>{{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>{{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>{{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>{{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>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>{{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>{{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>{{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: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i1$2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { 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"] }] });
328
+ 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 id=\"firstNameLabel\">{{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\" [attr.aria-labelledby]=\"'firstNameLabel'\">\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 id=\"lastNameLabel\">{{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\" [attr.aria-labelledby]=\"'lastNameLabel'\">\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 id=\"firstNameLabel\">{{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\" [attr.aria-labelledby]=\"'firstNameLabel'\">\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 id=\"middleNameLabel\">{{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\" [attr.aria-labelledby]=\"'middleNameLabel'\">\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>{{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>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>{{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>{{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>{{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: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i1$2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { 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"] }] });
327
329
  }
328
330
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContactComponent, decorators: [{
329
331
  type: Component,
330
- args: [{ selector: 'oepa-contact', 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>{{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>{{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>{{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>{{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>{{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>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>{{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>{{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>{{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>" }]
332
+ args: [{ selector: 'oepa-contact', 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 id=\"firstNameLabel\">{{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\" [attr.aria-labelledby]=\"'firstNameLabel'\">\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 id=\"lastNameLabel\">{{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\" [attr.aria-labelledby]=\"'lastNameLabel'\">\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 id=\"firstNameLabel\">{{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\" [attr.aria-labelledby]=\"'firstNameLabel'\">\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 id=\"middleNameLabel\">{{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\" [attr.aria-labelledby]=\"'middleNameLabel'\">\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>{{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>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>{{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>{{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>{{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>" }]
331
333
  }], ctorParameters: () => [{ type: i1$1.OepaComponentIdService }], propDecorators: { group: [{
332
334
  type: Input
333
335
  }], showValidation: [{
@@ -387,9 +389,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
387
389
 
388
390
  class DatepickerComponent {
389
391
  idService;
390
- /**
391
- * Exposes the input element's id for parent label association.
392
- */
392
+ // Exposes the input element's id for parent label association.
393
393
  get inputId() {
394
394
  return this.componentId + '_Input';
395
395
  }
@@ -495,11 +495,11 @@ class DatepickerComponent {
495
495
  }
496
496
  }
497
497
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DatepickerComponent, deps: [{ token: i1$1.OepaComponentIdService }], target: i0.ɵɵFactoryTarget.Component });
498
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DatepickerComponent, selector: "oepa-datepicker", inputs: { group: "group", field: "field", bsConfig: "bsConfig", showValidation: "showValidation", placement: "placement", tableIdx: "tableIdx", small: "small" }, exportAs: ["oepa-datepicker"], usesOnChanges: true, ngImport: i0, template: "\n<div [formGroup]=\"group\">\n <div>\n <div class=\"input-group\">\n <!-- a label (hidden or not) should be provided by the parent component to ensure accessibility -->\n <input\n [id]=\"componentId+'_Input'\"\n class=\"form-control\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n #dp=\"bsDatepicker\"\n bsDatepicker\n [formControlName]=\"field\"\n [bsConfig]=\"bsConfig\"\n [isDisabled]=\"group.get('field')?.disabled || false\"\n [placement]=\"getPlacement() || 'bottom'\"\n [ngClass]=\"{'is-invalid':showValidation && !checkValidity()}\"\n (bsValueChange)=\"onValueChange($event)\"\n [attr.aria-describedby]=\"(showValidation && group.get(field)?.invalid) ? (componentId + '_Error') : null\"\n [attr.aria-invalid]=\"showValidation && !checkValidity() ? 'true' : 'false'\"\n autocomplete=\"off\"\n >\n <div class=\"btn-group\" role=\"group\" aria-label=\"Datepicker controls\">\n <button\n type=\"button\"\n class=\"btn btn-primary\"\n (click)=\"dp.toggle()\"\n [id]=\"componentId+'_ToggleBtn'\"\n [disabled]=\"group.get(field)?.disabled\"\n aria-label=\"Open calendar\"\n >\n <i class=\"bi bi-calendar3\" aria-hidden=\"true\"></i>\n </button>\n <button\n type=\"button\"\n class=\"btn btn-primary\"\n (click)=\"clearDate()\"\n [id]=\"componentId+'_ClearBtn'\"\n [disabled]=\"group.get(field)?.disabled\"\n aria-label=\"Clear date\"\n >\n <i class=\"bi bi-x-lg\" aria-hidden=\"true\"></i>\n </button>\n </div>\n </div>\n <small\n class=\"invalid-feedback d-block\"\n *ngIf=\"showValidation && group.get(field)?.hasError('required')\"\n [id]=\"componentId+'_Error'\"\n role=\"alert\"\n aria-live=\"assertive\"\n >\n Date is required\n </small>\n <small\n class=\"invalid-feedback d-block\"\n *ngIf=\"showValidation && group.get(field)?.invalid && !group.get(field)?.hasError('required')\"\n [id]=\"componentId+'_Error'\"\n role=\"alert\"\n aria-live=\"assertive\"\n >\n Date is out of range\n </small>\n </div>\n</div>\n", styles: ["::ng-deep .bs-datepicker-head,::ng-deep .bs-datepicker-navigation-view,::ng-deep .bs-datepicker-navigation-view *{text-align:left!important}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4.BsDatepickerDirective, selector: "[bsDatepicker]", inputs: ["placement", "triggers", "outsideClick", "container", "outsideEsc", "isDisabled", "minDate", "maxDate", "ignoreMinMaxErrors", "minMode", "daysDisabled", "datesDisabled", "datesEnabled", "dateCustomClasses", "dateTooltipTexts", "isOpen", "bsValue", "bsConfig"], outputs: ["onShown", "onHidden", "bsValueChange"], exportAs: ["bsDatepicker"] }, { kind: "directive", type: i4.BsDatepickerInputDirective, selector: "input[bsDatepicker]" }] });
498
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DatepickerComponent, selector: "oepa-datepicker", inputs: { group: "group", field: "field", bsConfig: "bsConfig", showValidation: "showValidation", placement: "placement", tableIdx: "tableIdx", small: "small" }, exportAs: ["oepa-datepicker"], usesOnChanges: true, ngImport: i0, template: "<div [formGroup]=\"group\" role=\"group\" aria-label=\"Datepicker Group\">\n <div>\n <div class=\"input-group\">\n <!-- a label (hidden or not) should be provided by the parent component to ensure accessibility -->\n <input\n [id]=\"componentId+'_Input'\"\n class=\"form-control\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n #dp=\"bsDatepicker\"\n bsDatepicker\n [formControlName]=\"field\"\n [bsConfig]=\"bsConfig\"\n [isDisabled]=\"group.get('field')?.disabled || false\"\n [placement]=\"getPlacement() || 'bottom'\"\n [ngClass]=\"{'is-invalid':showValidation && !checkValidity()}\"\n (bsValueChange)=\"onValueChange($event)\"\n [attr.aria-describedby]=\"(showValidation && group.get(field)?.invalid) ? (componentId + '_Error') : null\"\n [attr.aria-invalid]=\"showValidation && !checkValidity() ? 'true' : 'false'\"\n autocomplete=\"off\"\n >\n <div class=\"btn-group\" role=\"group\" aria-label=\"Datepicker controls\">\n <button\n type=\"button\"\n class=\"btn btn-primary\"\n (click)=\"dp.toggle()\"\n [id]=\"componentId+'_ToggleBtn'\"\n [disabled]=\"group.get(field)?.disabled\"\n aria-label=\"Open calendar\"\n >\n <i class=\"bi bi-calendar3\" aria-hidden=\"true\"></i>\n </button>\n <button\n type=\"button\"\n class=\"btn btn-primary\"\n (click)=\"clearDate()\"\n [id]=\"componentId+'_ClearBtn'\"\n [disabled]=\"group.get(field)?.disabled\"\n aria-label=\"Clear date\"\n >\n <i class=\"bi bi-x-lg\" aria-hidden=\"true\"></i>\n </button>\n </div>\n </div>\n <small\n class=\"invalid-feedback d-block\"\n *ngIf=\"showValidation && group.get(field)?.hasError('required')\"\n [id]=\"componentId+'_Error'\"\n role=\"alert\"\n aria-live=\"assertive\"\n >\n Date is required\n </small>\n <small\n class=\"invalid-feedback d-block\"\n *ngIf=\"showValidation && group.get(field)?.invalid && !group.get(field)?.hasError('required')\"\n [id]=\"componentId+'_Error'\"\n role=\"alert\"\n aria-live=\"assertive\"\n >\n Date is out of range\n </small>\n </div>\n</div>\n", styles: ["::ng-deep .bs-datepicker-head,::ng-deep .bs-datepicker-navigation-view,::ng-deep .bs-datepicker-navigation-view *{text-align:left!important}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4.BsDatepickerDirective, selector: "[bsDatepicker]", inputs: ["placement", "triggers", "outsideClick", "container", "outsideEsc", "isDisabled", "minDate", "maxDate", "ignoreMinMaxErrors", "minMode", "daysDisabled", "datesDisabled", "datesEnabled", "dateCustomClasses", "dateTooltipTexts", "isOpen", "bsValue", "bsConfig"], outputs: ["onShown", "onHidden", "bsValueChange"], exportAs: ["bsDatepicker"] }, { kind: "directive", type: i4.BsDatepickerInputDirective, selector: "input[bsDatepicker]" }] });
499
499
  }
500
500
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DatepickerComponent, decorators: [{
501
501
  type: Component,
502
- args: [{ selector: 'oepa-datepicker', exportAs: 'oepa-datepicker', template: "\n<div [formGroup]=\"group\">\n <div>\n <div class=\"input-group\">\n <!-- a label (hidden or not) should be provided by the parent component to ensure accessibility -->\n <input\n [id]=\"componentId+'_Input'\"\n class=\"form-control\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n #dp=\"bsDatepicker\"\n bsDatepicker\n [formControlName]=\"field\"\n [bsConfig]=\"bsConfig\"\n [isDisabled]=\"group.get('field')?.disabled || false\"\n [placement]=\"getPlacement() || 'bottom'\"\n [ngClass]=\"{'is-invalid':showValidation && !checkValidity()}\"\n (bsValueChange)=\"onValueChange($event)\"\n [attr.aria-describedby]=\"(showValidation && group.get(field)?.invalid) ? (componentId + '_Error') : null\"\n [attr.aria-invalid]=\"showValidation && !checkValidity() ? 'true' : 'false'\"\n autocomplete=\"off\"\n >\n <div class=\"btn-group\" role=\"group\" aria-label=\"Datepicker controls\">\n <button\n type=\"button\"\n class=\"btn btn-primary\"\n (click)=\"dp.toggle()\"\n [id]=\"componentId+'_ToggleBtn'\"\n [disabled]=\"group.get(field)?.disabled\"\n aria-label=\"Open calendar\"\n >\n <i class=\"bi bi-calendar3\" aria-hidden=\"true\"></i>\n </button>\n <button\n type=\"button\"\n class=\"btn btn-primary\"\n (click)=\"clearDate()\"\n [id]=\"componentId+'_ClearBtn'\"\n [disabled]=\"group.get(field)?.disabled\"\n aria-label=\"Clear date\"\n >\n <i class=\"bi bi-x-lg\" aria-hidden=\"true\"></i>\n </button>\n </div>\n </div>\n <small\n class=\"invalid-feedback d-block\"\n *ngIf=\"showValidation && group.get(field)?.hasError('required')\"\n [id]=\"componentId+'_Error'\"\n role=\"alert\"\n aria-live=\"assertive\"\n >\n Date is required\n </small>\n <small\n class=\"invalid-feedback d-block\"\n *ngIf=\"showValidation && group.get(field)?.invalid && !group.get(field)?.hasError('required')\"\n [id]=\"componentId+'_Error'\"\n role=\"alert\"\n aria-live=\"assertive\"\n >\n Date is out of range\n </small>\n </div>\n</div>\n", styles: ["::ng-deep .bs-datepicker-head,::ng-deep .bs-datepicker-navigation-view,::ng-deep .bs-datepicker-navigation-view *{text-align:left!important}\n"] }]
502
+ args: [{ selector: 'oepa-datepicker', exportAs: 'oepa-datepicker', template: "<div [formGroup]=\"group\" role=\"group\" aria-label=\"Datepicker Group\">\n <div>\n <div class=\"input-group\">\n <!-- a label (hidden or not) should be provided by the parent component to ensure accessibility -->\n <input\n [id]=\"componentId+'_Input'\"\n class=\"form-control\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n #dp=\"bsDatepicker\"\n bsDatepicker\n [formControlName]=\"field\"\n [bsConfig]=\"bsConfig\"\n [isDisabled]=\"group.get('field')?.disabled || false\"\n [placement]=\"getPlacement() || 'bottom'\"\n [ngClass]=\"{'is-invalid':showValidation && !checkValidity()}\"\n (bsValueChange)=\"onValueChange($event)\"\n [attr.aria-describedby]=\"(showValidation && group.get(field)?.invalid) ? (componentId + '_Error') : null\"\n [attr.aria-invalid]=\"showValidation && !checkValidity() ? 'true' : 'false'\"\n autocomplete=\"off\"\n >\n <div class=\"btn-group\" role=\"group\" aria-label=\"Datepicker controls\">\n <button\n type=\"button\"\n class=\"btn btn-primary\"\n (click)=\"dp.toggle()\"\n [id]=\"componentId+'_ToggleBtn'\"\n [disabled]=\"group.get(field)?.disabled\"\n aria-label=\"Open calendar\"\n >\n <i class=\"bi bi-calendar3\" aria-hidden=\"true\"></i>\n </button>\n <button\n type=\"button\"\n class=\"btn btn-primary\"\n (click)=\"clearDate()\"\n [id]=\"componentId+'_ClearBtn'\"\n [disabled]=\"group.get(field)?.disabled\"\n aria-label=\"Clear date\"\n >\n <i class=\"bi bi-x-lg\" aria-hidden=\"true\"></i>\n </button>\n </div>\n </div>\n <small\n class=\"invalid-feedback d-block\"\n *ngIf=\"showValidation && group.get(field)?.hasError('required')\"\n [id]=\"componentId+'_Error'\"\n role=\"alert\"\n aria-live=\"assertive\"\n >\n Date is required\n </small>\n <small\n class=\"invalid-feedback d-block\"\n *ngIf=\"showValidation && group.get(field)?.invalid && !group.get(field)?.hasError('required')\"\n [id]=\"componentId+'_Error'\"\n role=\"alert\"\n aria-live=\"assertive\"\n >\n Date is out of range\n </small>\n </div>\n</div>\n", styles: ["::ng-deep .bs-datepicker-head,::ng-deep .bs-datepicker-navigation-view,::ng-deep .bs-datepicker-navigation-view *{text-align:left!important}\n"] }]
503
503
  }], ctorParameters: () => [{ type: i1$1.OepaComponentIdService }], propDecorators: { group: [{
504
504
  type: Input
505
505
  }], field: [{
@@ -560,11 +560,11 @@ class ActionBtnComponent {
560
560
  return this.btnId + '_ActionBtn';
561
561
  }
562
562
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionBtnComponent, deps: [{ token: i1$3.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
563
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ActionBtnComponent, selector: "oepa-action-btn", inputs: { label: "label", btnId: "btnId", data: "data", actions: "actions", normalSize: "normalSize", dropup: "dropup" }, outputs: { actionClicked: "actionClicked" }, ngImport: i0, template: "<div *ngIf=\"actions && actions.length > 0\" class=\"btn-group\" dropdown [dropup]=\"dropup\">\n <button dropdownToggle type=\"button\" class=\"btn btn-primary dropdown-toggle\" [ngClass]=\"{ 'btn-sm' : !normalSize }\"\n [id]=\"btnId+'_ActionBtn'\" aria-label=\"Action Button\">\n <span *ngIf=\"busy\" class=\"spinner-border text-primary\" role=\"status\"></span>\n {{label}} \n <span class=\"caret\"></span>\n </button>\n\n <ul *dropdownMenu class=\"dropdown-menu dropdown-menu-right\" role=\"menu\">\n <li *ngFor=\"let action of actions; let i = index;\" role=\"menuitem\">\n <a *ngIf=\"!busy\" class=\"dropdown-item\" (click)=\"onActionClicked(action)\" [id]=\"btnId+'_ActionLink_'+i\" [attr.aria-label]=\"action.title\">\n <i ngClass=\"{{action.className || ''}}\"></i> {{action.title}}\n </a>\n </li>\n </ul>\n</div> \n<!-- display disabled button if no actions are available -->\n<div *ngIf=\"!actions || actions.length === 0\">\n <button type=\"button\" class=\"btn btn-primary\" [ngClass]=\"{ 'btn-sm' : !normalSize }\" [id]=\"btnId+'_ActionBtn'\" disabled aria-label=\"N/A\">\n N/A \n </button>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.BsDropdownMenuDirective, selector: "[bsDropdownMenu],[dropdownMenu]", exportAs: ["bs-dropdown-menu"] }, { kind: "directive", type: i3.BsDropdownToggleDirective, selector: "[bsDropdownToggle],[dropdownToggle]", exportAs: ["bs-dropdown-toggle"] }, { kind: "directive", type: i3.BsDropdownDirective, selector: "[bsDropdown], [dropdown]", inputs: ["placement", "triggers", "container", "dropup", "autoClose", "isAnimated", "insideClick", "isDisabled", "isOpen"], outputs: ["isOpenChange", "onShown", "onHidden"], exportAs: ["bs-dropdown"] }] });
563
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ActionBtnComponent, selector: "oepa-action-btn", inputs: { label: "label", btnId: "btnId", data: "data", actions: "actions", normalSize: "normalSize", dropup: "dropup" }, outputs: { actionClicked: "actionClicked" }, ngImport: i0, template: "<div *ngIf=\"actions && actions.length > 0\" class=\"btn-group\" dropdown [dropup]=\"dropup\" role=\"group\" aria-label=\"Action Button Group\">\n <button dropdownToggle type=\"button\" class=\"btn btn-primary dropdown-toggle\" [ngClass]=\"{ 'btn-sm' : !normalSize }\"\n [id]=\"btnId+'_ActionBtn'\" aria-label=\"Action Button\" aria-haspopup=\"true\" aria-expanded=\"false\">\n <span *ngIf=\"busy\" class=\"spinner-border text-primary\" role=\"status\" aria-label=\"Loading\"></span>\n {{label}} \n <span class=\"caret\" aria-hidden=\"true\"></span>\n </button>\n\n <ul *dropdownMenu class=\"dropdown-menu dropdown-menu-right\" role=\"menu\" aria-label=\"Action Menu\">\n <li *ngFor=\"let action of actions; let i = index;\" role=\"menuitem\">\n <a *ngIf=\"!busy\" class=\"dropdown-item\" (click)=\"onActionClicked(action)\" [id]=\"btnId+'_ActionLink_'+i\" [attr.aria-label]=\"action.title\" tabindex=\"0\">\n <i ngClass=\"{{action.className || ''}}\" aria-hidden=\"true\"></i> {{action.title}}\n </a>\n </li>\n </ul>\n</div> \n<!-- display disabled button if no actions are available -->\n<div *ngIf=\"!actions || actions.length === 0\">\n <button type=\"button\" class=\"btn btn-primary\" [ngClass]=\"{ 'btn-sm' : !normalSize }\" [id]=\"btnId+'_ActionBtn'\" disabled aria-label=\"No actions available\">\n N/A \n </button>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.BsDropdownMenuDirective, selector: "[bsDropdownMenu],[dropdownMenu]", exportAs: ["bs-dropdown-menu"] }, { kind: "directive", type: i3.BsDropdownToggleDirective, selector: "[bsDropdownToggle],[dropdownToggle]", exportAs: ["bs-dropdown-toggle"] }, { kind: "directive", type: i3.BsDropdownDirective, selector: "[bsDropdown], [dropdown]", inputs: ["placement", "triggers", "container", "dropup", "autoClose", "isAnimated", "insideClick", "isDisabled", "isOpen"], outputs: ["isOpenChange", "onShown", "onHidden"], exportAs: ["bs-dropdown"] }] });
564
564
  }
565
565
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionBtnComponent, decorators: [{
566
566
  type: Component,
567
- args: [{ selector: 'oepa-action-btn', template: "<div *ngIf=\"actions && actions.length > 0\" class=\"btn-group\" dropdown [dropup]=\"dropup\">\n <button dropdownToggle type=\"button\" class=\"btn btn-primary dropdown-toggle\" [ngClass]=\"{ 'btn-sm' : !normalSize }\"\n [id]=\"btnId+'_ActionBtn'\" aria-label=\"Action Button\">\n <span *ngIf=\"busy\" class=\"spinner-border text-primary\" role=\"status\"></span>\n {{label}} \n <span class=\"caret\"></span>\n </button>\n\n <ul *dropdownMenu class=\"dropdown-menu dropdown-menu-right\" role=\"menu\">\n <li *ngFor=\"let action of actions; let i = index;\" role=\"menuitem\">\n <a *ngIf=\"!busy\" class=\"dropdown-item\" (click)=\"onActionClicked(action)\" [id]=\"btnId+'_ActionLink_'+i\" [attr.aria-label]=\"action.title\">\n <i ngClass=\"{{action.className || ''}}\"></i> {{action.title}}\n </a>\n </li>\n </ul>\n</div> \n<!-- display disabled button if no actions are available -->\n<div *ngIf=\"!actions || actions.length === 0\">\n <button type=\"button\" class=\"btn btn-primary\" [ngClass]=\"{ 'btn-sm' : !normalSize }\" [id]=\"btnId+'_ActionBtn'\" disabled aria-label=\"N/A\">\n N/A \n </button>\n</div>" }]
567
+ args: [{ selector: 'oepa-action-btn', template: "<div *ngIf=\"actions && actions.length > 0\" class=\"btn-group\" dropdown [dropup]=\"dropup\" role=\"group\" aria-label=\"Action Button Group\">\n <button dropdownToggle type=\"button\" class=\"btn btn-primary dropdown-toggle\" [ngClass]=\"{ 'btn-sm' : !normalSize }\"\n [id]=\"btnId+'_ActionBtn'\" aria-label=\"Action Button\" aria-haspopup=\"true\" aria-expanded=\"false\">\n <span *ngIf=\"busy\" class=\"spinner-border text-primary\" role=\"status\" aria-label=\"Loading\"></span>\n {{label}} \n <span class=\"caret\" aria-hidden=\"true\"></span>\n </button>\n\n <ul *dropdownMenu class=\"dropdown-menu dropdown-menu-right\" role=\"menu\" aria-label=\"Action Menu\">\n <li *ngFor=\"let action of actions; let i = index;\" role=\"menuitem\">\n <a *ngIf=\"!busy\" class=\"dropdown-item\" (click)=\"onActionClicked(action)\" [id]=\"btnId+'_ActionLink_'+i\" [attr.aria-label]=\"action.title\" tabindex=\"0\">\n <i ngClass=\"{{action.className || ''}}\" aria-hidden=\"true\"></i> {{action.title}}\n </a>\n </li>\n </ul>\n</div> \n<!-- display disabled button if no actions are available -->\n<div *ngIf=\"!actions || actions.length === 0\">\n <button type=\"button\" class=\"btn btn-primary\" [ngClass]=\"{ 'btn-sm' : !normalSize }\" [id]=\"btnId+'_ActionBtn'\" disabled aria-label=\"No actions available\">\n N/A \n </button>\n</div>" }]
568
568
  }], ctorParameters: () => [{ type: i1$3.DomSanitizer }], propDecorators: { label: [{
569
569
  type: Input
570
570
  }], btnId: [{
@@ -590,11 +590,11 @@ class ActionBtnModalComponent {
590
590
  ngOnInit() {
591
591
  }
592
592
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionBtnModalComponent, deps: [{ token: i2$1.BsModalRef }], target: i0.ɵɵFactoryTarget.Component });
593
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ActionBtnModalComponent, selector: "oepa-action-btn-modal", ngImport: i0, template: "<div class=\"modal-header\">\n <h4 class=\"modal-title pull-left\">Action Button Test</h4>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n </button>\n</div>\n<div class=\"modal-body\">\n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <oepa-action-btn [actions]=\"actions\"></oepa-action-btn>\n </div>\n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <div class=\"btn-group\" dropdown placement=\"bottom right\">\n <button id=\"button-basic\" dropdownToggle type=\"button\" class=\"btn btn-primary dropdown-toggle\"\n aria-controls=\"dropdown-basic\" aria-label=\"Button dropdown\">\n Button dropdown <span class=\"caret\"></span>\n </button>\n <ul id=\"dropdown-basic\" *dropdownMenu class=\"dropdown-menu\" role=\"menu\"\n aria-labelledby=\"button-basic\">\n <li role=\"menuitem\"><a class=\"dropdown-item\" href=\"#\">Action</a></li>\n <li role=\"menuitem\"><a class=\"dropdown-item\" href=\"#\">Another action</a></li>\n <li role=\"menuitem\"><a class=\"dropdown-item\" href=\"#\">Something else here</a></li>\n <li class=\"divider dropdown-divider\"></li>\n <li role=\"menuitem\"><a class=\"dropdown-item\" href=\"#\">Separated link</a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n</div>\n<div class=\"modal-footer\">\n <button type=\"button\" class=\"btn btn-primary mr-1\" (click)=\"bsModalRef.hide()\" aria-label=\"Close\">Close</button>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i3.BsDropdownMenuDirective, selector: "[bsDropdownMenu],[dropdownMenu]", exportAs: ["bs-dropdown-menu"] }, { kind: "directive", type: i3.BsDropdownToggleDirective, selector: "[bsDropdownToggle],[dropdownToggle]", exportAs: ["bs-dropdown-toggle"] }, { kind: "directive", type: i3.BsDropdownDirective, selector: "[bsDropdown], [dropdown]", inputs: ["placement", "triggers", "container", "dropup", "autoClose", "isAnimated", "insideClick", "isDisabled", "isOpen"], outputs: ["isOpenChange", "onShown", "onHidden"], exportAs: ["bs-dropdown"] }, { kind: "component", type: ActionBtnComponent, selector: "oepa-action-btn", inputs: ["label", "btnId", "data", "actions", "normalSize", "dropup"], outputs: ["actionClicked"] }] });
593
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ActionBtnModalComponent, selector: "oepa-action-btn-modal", ngImport: i0, template: "<div class=\"modal-header\" role=\"banner\">\n <h1 class=\"modal-title pull-left\" id=\"actionBtnModalTitle\">Action Button Test</h1>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\"></button>\n</div>\n<div class=\"modal-body\" role=\"dialog\" aria-labelledby=\"actionBtnModalTitle\">\n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <oepa-action-btn [actions]=\"actions\"></oepa-action-btn>\n </div>\n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <div class=\"btn-group\" dropdown placement=\"bottom right\" role=\"group\" aria-label=\"Button Dropdown Group\">\n <button id=\"button-basic\" dropdownToggle type=\"button\" class=\"btn btn-primary dropdown-toggle\"\n aria-controls=\"dropdown-basic\" aria-label=\"Button dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\n Button dropdown <span class=\"caret\" aria-hidden=\"true\"></span>\n </button>\n <ul id=\"dropdown-basic\" *dropdownMenu class=\"dropdown-menu\" role=\"menu\" aria-label=\"Dropdown Menu\" aria-labelledby=\"button-basic\">\n <li role=\"menuitem\"><a class=\"dropdown-item\" href=\"#\" tabindex=\"0\">Action</a></li>\n <li role=\"menuitem\"><a class=\"dropdown-item\" href=\"#\" tabindex=\"0\">Another action</a></li>\n <li role=\"menuitem\"><a class=\"dropdown-item\" href=\"#\" tabindex=\"0\">Something else here</a></li>\n <li class=\"divider dropdown-divider\" aria-hidden=\"true\"></li>\n <li role=\"menuitem\"><a class=\"dropdown-item\" href=\"#\" tabindex=\"0\">Separated link</a></li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n</div>\n<div class=\"modal-footer\" role=\"contentinfo\">\n <button type=\"button\" class=\"btn btn-primary mr-1\" (click)=\"bsModalRef.hide()\" aria-label=\"Close\">Close</button>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i3.BsDropdownMenuDirective, selector: "[bsDropdownMenu],[dropdownMenu]", exportAs: ["bs-dropdown-menu"] }, { kind: "directive", type: i3.BsDropdownToggleDirective, selector: "[bsDropdownToggle],[dropdownToggle]", exportAs: ["bs-dropdown-toggle"] }, { kind: "directive", type: i3.BsDropdownDirective, selector: "[bsDropdown], [dropdown]", inputs: ["placement", "triggers", "container", "dropup", "autoClose", "isAnimated", "insideClick", "isDisabled", "isOpen"], outputs: ["isOpenChange", "onShown", "onHidden"], exportAs: ["bs-dropdown"] }, { kind: "component", type: ActionBtnComponent, selector: "oepa-action-btn", inputs: ["label", "btnId", "data", "actions", "normalSize", "dropup"], outputs: ["actionClicked"] }] });
594
594
  }
595
595
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionBtnModalComponent, decorators: [{
596
596
  type: Component,
597
- args: [{ selector: 'oepa-action-btn-modal', template: "<div class=\"modal-header\">\n <h4 class=\"modal-title pull-left\">Action Button Test</h4>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n </button>\n</div>\n<div class=\"modal-body\">\n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <oepa-action-btn [actions]=\"actions\"></oepa-action-btn>\n </div>\n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <div class=\"btn-group\" dropdown placement=\"bottom right\">\n <button id=\"button-basic\" dropdownToggle type=\"button\" class=\"btn btn-primary dropdown-toggle\"\n aria-controls=\"dropdown-basic\" aria-label=\"Button dropdown\">\n Button dropdown <span class=\"caret\"></span>\n </button>\n <ul id=\"dropdown-basic\" *dropdownMenu class=\"dropdown-menu\" role=\"menu\"\n aria-labelledby=\"button-basic\">\n <li role=\"menuitem\"><a class=\"dropdown-item\" href=\"#\">Action</a></li>\n <li role=\"menuitem\"><a class=\"dropdown-item\" href=\"#\">Another action</a></li>\n <li role=\"menuitem\"><a class=\"dropdown-item\" href=\"#\">Something else here</a></li>\n <li class=\"divider dropdown-divider\"></li>\n <li role=\"menuitem\"><a class=\"dropdown-item\" href=\"#\">Separated link</a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n</div>\n<div class=\"modal-footer\">\n <button type=\"button\" class=\"btn btn-primary mr-1\" (click)=\"bsModalRef.hide()\" aria-label=\"Close\">Close</button>\n</div>" }]
597
+ args: [{ selector: 'oepa-action-btn-modal', template: "<div class=\"modal-header\" role=\"banner\">\n <h1 class=\"modal-title pull-left\" id=\"actionBtnModalTitle\">Action Button Test</h1>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\"></button>\n</div>\n<div class=\"modal-body\" role=\"dialog\" aria-labelledby=\"actionBtnModalTitle\">\n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <oepa-action-btn [actions]=\"actions\"></oepa-action-btn>\n </div>\n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <div class=\"btn-group\" dropdown placement=\"bottom right\" role=\"group\" aria-label=\"Button Dropdown Group\">\n <button id=\"button-basic\" dropdownToggle type=\"button\" class=\"btn btn-primary dropdown-toggle\"\n aria-controls=\"dropdown-basic\" aria-label=\"Button dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\n Button dropdown <span class=\"caret\" aria-hidden=\"true\"></span>\n </button>\n <ul id=\"dropdown-basic\" *dropdownMenu class=\"dropdown-menu\" role=\"menu\" aria-label=\"Dropdown Menu\" aria-labelledby=\"button-basic\">\n <li role=\"menuitem\"><a class=\"dropdown-item\" href=\"#\" tabindex=\"0\">Action</a></li>\n <li role=\"menuitem\"><a class=\"dropdown-item\" href=\"#\" tabindex=\"0\">Another action</a></li>\n <li role=\"menuitem\"><a class=\"dropdown-item\" href=\"#\" tabindex=\"0\">Something else here</a></li>\n <li class=\"divider dropdown-divider\" aria-hidden=\"true\"></li>\n <li role=\"menuitem\"><a class=\"dropdown-item\" href=\"#\" tabindex=\"0\">Separated link</a></li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n</div>\n<div class=\"modal-footer\" role=\"contentinfo\">\n <button type=\"button\" class=\"btn btn-primary mr-1\" (click)=\"bsModalRef.hide()\" aria-label=\"Close\">Close</button>\n</div>" }]
598
598
  }], ctorParameters: () => [{ type: i2$1.BsModalRef }] });
599
599
 
600
600
  class CheckboxComponent {
@@ -612,11 +612,11 @@ class CheckboxComponent {
612
612
  }
613
613
  }
614
614
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CheckboxComponent, deps: [{ token: i1$1.OepaComponentIdService }], target: i0.ɵɵFactoryTarget.Component });
615
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CheckboxComponent, selector: "oepa-checkbox", inputs: { group: "group", field: "field", label: "label" }, ngImport: i0, template: "<span *ngIf=\"group.controls[field].value && group.disabled\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>\n<span [ngClass]=\"{ 'custom-checkbox': (group.controls[field].value && group.disabled) }\" [formGroup]=\"group\">\n <input [ngClass]=\"{ 'custom-control-input': (group.controls[field].value && group.disabled) }\" type=\"checkbox\" [formControlName]=\"field\" [id]=\"componentId\">\n <label [ngClass]=\"{ 'custom-control-label': (group.controls[field].value && group.disabled), 'label-bold': (group.controls[field].value && group.disabled) }\">\n <span *ngIf=\"!group.controls[field].value || !group.disabled\">&nbsp;</span>\n {{label}}\n </label>\n</span>\n", styles: [".label-bold{font-weight:700}.custom-control-input:checked~.custom-control-label:before{color:#fff!important;background-color:#777!important;border-color:#777!important}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
615
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CheckboxComponent, selector: "oepa-checkbox", inputs: { group: "group", field: "field", label: "label" }, ngImport: i0, template: "<span *ngIf=\"group.controls[field].value && group.disabled\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>\n<span [ngClass]=\"{ 'custom-checkbox': (group.controls[field].value && group.disabled) }\" [formGroup]=\"group\">\n <input [ngClass]=\"{ 'custom-control-input': (group.controls[field].value && group.disabled) }\" type=\"checkbox\" [formControlName]=\"field\" [id]=\"componentId\" [attr.aria-labelledby]=\"componentId+'_Label'\">\n <label [ngClass]=\"{ 'custom-control-label': (group.controls[field].value && group.disabled), 'label-bold': (group.controls[field].value && group.disabled) }\" [id]=\"componentId+'_Label'\">\n <span *ngIf=\"!group.controls[field].value || !group.disabled\">&nbsp;</span>\n {{label}}\n </label>\n</span>\n", styles: [".label-bold{font-weight:700}.custom-control-input:checked~.custom-control-label:before{color:#fff!important;background-color:#777!important;border-color:#777!important}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
616
616
  }
617
617
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CheckboxComponent, decorators: [{
618
618
  type: Component,
619
- args: [{ selector: 'oepa-checkbox', template: "<span *ngIf=\"group.controls[field].value && group.disabled\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>\n<span [ngClass]=\"{ 'custom-checkbox': (group.controls[field].value && group.disabled) }\" [formGroup]=\"group\">\n <input [ngClass]=\"{ 'custom-control-input': (group.controls[field].value && group.disabled) }\" type=\"checkbox\" [formControlName]=\"field\" [id]=\"componentId\">\n <label [ngClass]=\"{ 'custom-control-label': (group.controls[field].value && group.disabled), 'label-bold': (group.controls[field].value && group.disabled) }\">\n <span *ngIf=\"!group.controls[field].value || !group.disabled\">&nbsp;</span>\n {{label}}\n </label>\n</span>\n", styles: [".label-bold{font-weight:700}.custom-control-input:checked~.custom-control-label:before{color:#fff!important;background-color:#777!important;border-color:#777!important}\n"] }]
619
+ args: [{ selector: 'oepa-checkbox', template: "<span *ngIf=\"group.controls[field].value && group.disabled\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>\n<span [ngClass]=\"{ 'custom-checkbox': (group.controls[field].value && group.disabled) }\" [formGroup]=\"group\">\n <input [ngClass]=\"{ 'custom-control-input': (group.controls[field].value && group.disabled) }\" type=\"checkbox\" [formControlName]=\"field\" [id]=\"componentId\" [attr.aria-labelledby]=\"componentId+'_Label'\">\n <label [ngClass]=\"{ 'custom-control-label': (group.controls[field].value && group.disabled), 'label-bold': (group.controls[field].value && group.disabled) }\" [id]=\"componentId+'_Label'\">\n <span *ngIf=\"!group.controls[field].value || !group.disabled\">&nbsp;</span>\n {{label}}\n </label>\n</span>\n", styles: [".label-bold{font-weight:700}.custom-control-input:checked~.custom-control-label:before{color:#fff!important;background-color:#777!important;border-color:#777!important}\n"] }]
620
620
  }], ctorParameters: () => [{ type: i1$1.OepaComponentIdService }], propDecorators: { group: [{
621
621
  type: Input
622
622
  }], field: [{
@@ -660,11 +660,11 @@ class CommentModalComponent {
660
660
  this.bsModalRef.hide();
661
661
  }
662
662
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CommentModalComponent, deps: [{ token: i1$2.FormBuilder }, { token: i2$1.BsModalRef }], target: i0.ɵɵFactoryTarget.Component });
663
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CommentModalComponent, selector: "oepa-comment-modal", inputs: { modalTitle: "modalTitle", commentsLabel: "commentsLabel", processBtnLabel: "processBtnLabel" }, outputs: { onProcessComment: "onProcessComment", onCancel: "onCancel" }, ngImport: i0, template: "<div class=\"modal-header\">\n <h3 class=\"modal-title\">{{modalTitle}}</h3>\n</div>\n\n<div class=\"modal-body\">\n <div [formGroup]=\"modalForm\" class=\"form-group\">\n <label for=\"CommentInput\">{{commentsLabel}}</label>\n <textarea class=\"form-control\" formControlName=\"commentText\" id=\"CommentInput\" rows=\"4\" maxlength=\"2000\"></textarea>\n </div>\n</div>\n\n<div class=\"modal-footer\">\n <button class=\"btn btn-primary mr-1\" type=\"button\" id=\"ProcessCommentBtn\" (click)=\"processComment()\" [attr.aria-label]=\"processBtnLabel\">{{processBtnLabel}}</button>\n <button class=\"btn btn-primary mr-1\" type=\"button\" id=\"CencelCommentBtn\" (click)=\"cancel()\" aria-label=\"Cancel\">Cancel</button>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
663
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CommentModalComponent, selector: "oepa-comment-modal", inputs: { modalTitle: "modalTitle", commentsLabel: "commentsLabel", processBtnLabel: "processBtnLabel" }, outputs: { onProcessComment: "onProcessComment", onCancel: "onCancel" }, ngImport: i0, template: "<div class=\"modal-header\" role=\"banner\">\n <h1 class=\"modal-title\" id=\"commentModalTitle\">{{modalTitle}}</h1>\n</div>\n\n<div class=\"modal-body\" role=\"dialog\" aria-labelledby=\"commentModalTitle\">\n <div [formGroup]=\"modalForm\" class=\"form-group\">\n <label for=\"CommentInput\" id=\"commentLabel\">{{commentsLabel}}</label>\n <textarea class=\"form-control\" formControlName=\"commentText\" id=\"CommentInput\" rows=\"4\" maxlength=\"2000\" [attr.aria-labelledby]=\"'commentLabel'\"></textarea>\n </div>\n</div>\n\n<div class=\"modal-footer\" role=\"contentinfo\">\n <button class=\"btn btn-primary mr-1\" type=\"button\" id=\"ProcessCommentBtn\" (click)=\"processComment()\" [attr.aria-label]=\"processBtnLabel\">{{processBtnLabel}}</button>\n <button class=\"btn btn-primary mr-1\" type=\"button\" id=\"CencelCommentBtn\" (click)=\"cancel()\" aria-label=\"Cancel\">Cancel</button>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
664
664
  }
665
665
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CommentModalComponent, decorators: [{
666
666
  type: Component,
667
- args: [{ selector: 'oepa-comment-modal', template: "<div class=\"modal-header\">\n <h3 class=\"modal-title\">{{modalTitle}}</h3>\n</div>\n\n<div class=\"modal-body\">\n <div [formGroup]=\"modalForm\" class=\"form-group\">\n <label for=\"CommentInput\">{{commentsLabel}}</label>\n <textarea class=\"form-control\" formControlName=\"commentText\" id=\"CommentInput\" rows=\"4\" maxlength=\"2000\"></textarea>\n </div>\n</div>\n\n<div class=\"modal-footer\">\n <button class=\"btn btn-primary mr-1\" type=\"button\" id=\"ProcessCommentBtn\" (click)=\"processComment()\" [attr.aria-label]=\"processBtnLabel\">{{processBtnLabel}}</button>\n <button class=\"btn btn-primary mr-1\" type=\"button\" id=\"CencelCommentBtn\" (click)=\"cancel()\" aria-label=\"Cancel\">Cancel</button>\n</div>\n" }]
667
+ args: [{ selector: 'oepa-comment-modal', template: "<div class=\"modal-header\" role=\"banner\">\n <h1 class=\"modal-title\" id=\"commentModalTitle\">{{modalTitle}}</h1>\n</div>\n\n<div class=\"modal-body\" role=\"dialog\" aria-labelledby=\"commentModalTitle\">\n <div [formGroup]=\"modalForm\" class=\"form-group\">\n <label for=\"CommentInput\" id=\"commentLabel\">{{commentsLabel}}</label>\n <textarea class=\"form-control\" formControlName=\"commentText\" id=\"CommentInput\" rows=\"4\" maxlength=\"2000\" [attr.aria-labelledby]=\"'commentLabel'\"></textarea>\n </div>\n</div>\n\n<div class=\"modal-footer\" role=\"contentinfo\">\n <button class=\"btn btn-primary mr-1\" type=\"button\" id=\"ProcessCommentBtn\" (click)=\"processComment()\" [attr.aria-label]=\"processBtnLabel\">{{processBtnLabel}}</button>\n <button class=\"btn btn-primary mr-1\" type=\"button\" id=\"CencelCommentBtn\" (click)=\"cancel()\" aria-label=\"Cancel\">Cancel</button>\n</div>\n" }]
668
668
  }], ctorParameters: () => [{ type: i1$2.FormBuilder }, { type: i2$1.BsModalRef }], propDecorators: { modalTitle: [{
669
669
  type: Input
670
670
  }], commentsLabel: [{
@@ -1938,11 +1938,11 @@ class ConfirmationModalComponent {
1938
1938
  }
1939
1939
  }
1940
1940
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfirmationModalComponent, deps: [{ token: i2$1.BsModalRef }, { token: i2$2.ToastrService }], target: i0.ɵɵFactoryTarget.Component });
1941
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ConfirmationModalComponent, selector: "oepa-confirmation-modal", inputs: { tableHeader: "tableHeader", tableData: "tableData", headerText: "headerText", bodyText: "bodyText", confirmBtnLabel: "confirmBtnLabel", cancelBtnLabel: "cancelBtnLabel", skipBtnLabel: "skipBtnLabel", bodyClassName: "bodyClassName", confirmationCallback: "confirmationCallback", confirmationCallbackComponent: "confirmationCallbackComponent" }, outputs: { onCellClick: "onCellClick", confirmClicked: "confirmClicked", cancelClicked: "cancelClicked", skipClicked: "skipClicked" }, ngImport: i0, template: "<div *ngIf=\"headerText\" class=\"modal-header\">\n <h4 class=\"modal-title pull-left\">{{headerText}}</h4>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"cancel()\">\n </button>\n</div>\n<div class=\"modal-body\" [ngClass]=\"bodyClassName\">\n <div *ngIf=\"tableData && tableHeader\">\n <oepa-table id = \"permitDetail\" tableId=\"permitDetail\" [config]=\"tableConfig\" [data]=\"tableData\" [header]=\"tableHeader\" (rowSelected)=\"onCellSelect($event)\" (cellClicked)=\"onCellClicked($event)\">\n </oepa-table>\n </div>\n {{bodyText}}\n</div>\n<div class=\"modal-footer\">\n <button *ngIf=\"confirmBtnLabel\" type=\"button\" class=\"btn btn-primary mr-1\" id=\"btnConfirm\" (click)=\"confirm()\" [attr.aria-label]=\"confirmBtnLabel\">{{confirmBtnLabel}}</button>\n <button *ngIf=\"cancelBtnLabel\" type=\"button\" class=\"btn btn-primary mr-1\" id=\"btnCancel\" (click)=\"cancel()\" [attr.aria-label]=\"cancelBtnLabel\">{{cancelBtnLabel}}</button>\n <button *ngIf=\"skipBtnLabel\" type=\"button\" class=\"btn btn-primary mr-1\" id=\"btnSkip\" (click)=\"skip()\" [attr.aria-label]=\"skipBtnLabel\">{{skipBtnLabel}}</button>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TableComponent, selector: "oepa-table", inputs: ["tableId", "config", "complexHeader", "header", "customBtnLabel", "customBtnVisible", "customBtnEnabled", "data", "totalRow"], outputs: ["cellClicked", "actionClicked", "rowSelected", "customBtnClicked"] }] });
1941
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ConfirmationModalComponent, selector: "oepa-confirmation-modal", inputs: { tableHeader: "tableHeader", tableData: "tableData", headerText: "headerText", bodyText: "bodyText", confirmBtnLabel: "confirmBtnLabel", cancelBtnLabel: "cancelBtnLabel", skipBtnLabel: "skipBtnLabel", bodyClassName: "bodyClassName", confirmationCallback: "confirmationCallback", confirmationCallbackComponent: "confirmationCallbackComponent" }, outputs: { onCellClick: "onCellClick", confirmClicked: "confirmClicked", cancelClicked: "cancelClicked", skipClicked: "skipClicked" }, ngImport: i0, template: "<div *ngIf=\"headerText\" class=\"modal-header\" role=\"banner\">\n <h1 class=\"modal-title pull-left\" id=\"confirmationModalTitle\">{{headerText}}</h1>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"cancel()\"></button>\n</div>\n<div class=\"modal-body\" [ngClass]=\"bodyClassName\" role=\"dialog\" aria-labelledby=\"confirmationModalTitle\">\n <div *ngIf=\"tableData && tableHeader\">\n <oepa-table id = \"permitDetail\" tableId=\"permitDetail\" [config]=\"tableConfig\" [data]=\"tableData\" [header]=\"tableHeader\" (rowSelected)=\"onCellSelect($event)\" (cellClicked)=\"onCellClicked($event)\"></oepa-table>\n </div>\n <span id=\"confirmationBodyText\">{{bodyText}}</span>\n</div>\n<div class=\"modal-footer\" role=\"contentinfo\">\n <button *ngIf=\"confirmBtnLabel\" type=\"button\" class=\"btn btn-primary mr-1\" id=\"btnConfirm\" (click)=\"confirm()\" [attr.aria-label]=\"confirmBtnLabel\">{{confirmBtnLabel}}</button>\n <button *ngIf=\"cancelBtnLabel\" type=\"button\" class=\"btn btn-primary mr-1\" id=\"btnCancel\" (click)=\"cancel()\" [attr.aria-label]=\"cancelBtnLabel\">{{cancelBtnLabel}}</button>\n <button *ngIf=\"skipBtnLabel\" type=\"button\" class=\"btn btn-primary mr-1\" id=\"btnSkip\" (click)=\"skip()\" [attr.aria-label]=\"skipBtnLabel\">{{skipBtnLabel}}</button>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TableComponent, selector: "oepa-table", inputs: ["tableId", "config", "complexHeader", "header", "customBtnLabel", "customBtnVisible", "customBtnEnabled", "data", "totalRow"], outputs: ["cellClicked", "actionClicked", "rowSelected", "customBtnClicked"] }] });
1942
1942
  }
1943
1943
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfirmationModalComponent, decorators: [{
1944
1944
  type: Component,
1945
- args: [{ selector: 'oepa-confirmation-modal', template: "<div *ngIf=\"headerText\" class=\"modal-header\">\n <h4 class=\"modal-title pull-left\">{{headerText}}</h4>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"cancel()\">\n </button>\n</div>\n<div class=\"modal-body\" [ngClass]=\"bodyClassName\">\n <div *ngIf=\"tableData && tableHeader\">\n <oepa-table id = \"permitDetail\" tableId=\"permitDetail\" [config]=\"tableConfig\" [data]=\"tableData\" [header]=\"tableHeader\" (rowSelected)=\"onCellSelect($event)\" (cellClicked)=\"onCellClicked($event)\">\n </oepa-table>\n </div>\n {{bodyText}}\n</div>\n<div class=\"modal-footer\">\n <button *ngIf=\"confirmBtnLabel\" type=\"button\" class=\"btn btn-primary mr-1\" id=\"btnConfirm\" (click)=\"confirm()\" [attr.aria-label]=\"confirmBtnLabel\">{{confirmBtnLabel}}</button>\n <button *ngIf=\"cancelBtnLabel\" type=\"button\" class=\"btn btn-primary mr-1\" id=\"btnCancel\" (click)=\"cancel()\" [attr.aria-label]=\"cancelBtnLabel\">{{cancelBtnLabel}}</button>\n <button *ngIf=\"skipBtnLabel\" type=\"button\" class=\"btn btn-primary mr-1\" id=\"btnSkip\" (click)=\"skip()\" [attr.aria-label]=\"skipBtnLabel\">{{skipBtnLabel}}</button>\n</div>\n" }]
1945
+ args: [{ selector: 'oepa-confirmation-modal', template: "<div *ngIf=\"headerText\" class=\"modal-header\" role=\"banner\">\n <h1 class=\"modal-title pull-left\" id=\"confirmationModalTitle\">{{headerText}}</h1>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"cancel()\"></button>\n</div>\n<div class=\"modal-body\" [ngClass]=\"bodyClassName\" role=\"dialog\" aria-labelledby=\"confirmationModalTitle\">\n <div *ngIf=\"tableData && tableHeader\">\n <oepa-table id = \"permitDetail\" tableId=\"permitDetail\" [config]=\"tableConfig\" [data]=\"tableData\" [header]=\"tableHeader\" (rowSelected)=\"onCellSelect($event)\" (cellClicked)=\"onCellClicked($event)\"></oepa-table>\n </div>\n <span id=\"confirmationBodyText\">{{bodyText}}</span>\n</div>\n<div class=\"modal-footer\" role=\"contentinfo\">\n <button *ngIf=\"confirmBtnLabel\" type=\"button\" class=\"btn btn-primary mr-1\" id=\"btnConfirm\" (click)=\"confirm()\" [attr.aria-label]=\"confirmBtnLabel\">{{confirmBtnLabel}}</button>\n <button *ngIf=\"cancelBtnLabel\" type=\"button\" class=\"btn btn-primary mr-1\" id=\"btnCancel\" (click)=\"cancel()\" [attr.aria-label]=\"cancelBtnLabel\">{{cancelBtnLabel}}</button>\n <button *ngIf=\"skipBtnLabel\" type=\"button\" class=\"btn btn-primary mr-1\" id=\"btnSkip\" (click)=\"skip()\" [attr.aria-label]=\"skipBtnLabel\">{{skipBtnLabel}}</button>\n</div>\n" }]
1946
1946
  }], ctorParameters: () => [{ type: i2$1.BsModalRef }, { type: i2$2.ToastrService }], propDecorators: { tableHeader: [{
1947
1947
  type: Input
1948
1948
  }], tableData: [{
@@ -2129,11 +2129,11 @@ class AccountSearchModalComponent {
2129
2129
  this.bsModalRef.hide();
2130
2130
  }
2131
2131
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AccountSearchModalComponent, deps: [{ token: i1$2.FormBuilder }, { token: i2$1.BsModalRef }, { token: AccountSearchService }], target: i0.ɵɵFactoryTarget.Component });
2132
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AccountSearchModalComponent, selector: "oepa-account-search-modal", inputs: { searchURL: "searchURL" }, outputs: { onAccountSelected: "onAccountSelected" }, ngImport: i0, template: "<div class=\"modal-header\">\n <h4 class=\"modal-title pull-left\">Advanced Ebiz Account Search</h4>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n </button>\n</div>\n<div class=\"modal-body\">\n <accordion>\n <accordion-group panelClass=\"panel-info\" #searchGroup [isOpen]=\"openSearchCriteria\">\n <div accordion-heading>\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <i class=\"float-xs-right bi\" id=\"accountSearchCriteria\" name=\"accountSearchCriteria\" \n [ngClass]=\"{'bi-chevron-down': searchGroup?.isOpen, 'bi-chevron-right': !searchGroup?.isOpen}\"></i>\n <b>Ebiz Account Search Criteria</b>\n </div>\n </div>\n </div>\n <form [formGroup]=\"modalFormGroup\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"userUIDInput\">Ebiz User ID</label>\n <input type=\"search\" class=\"form-control\" id=\"userUIDInput\" formControlName=\"userID\">\n </div>\n </div>\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"firstNameInput\">First Name</label>\n <input type=\"search\" class=\"form-control\" id=\"firstNameInput\" formControlName=\"firstName\">\n </div>\n </div>\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"lastNameInput\">Last Name</label>\n <input type=\"search\" class=\"form-control\" id=\"lastNameInput\" formControlName=\"lastName\">\n </div>\n </div>\n </div>\n \n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <span *ngIf=\"inProgressMsg\" class=\"spinner-border text-primary\" role=\"status\"></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\">Reset</button>\n </div>\n </div>\n </form>\n </accordion-group>\n </accordion>\n <div *ngIf=\"tableData && tableData.length > 0\" class=\"card\">\n <div class=\"card-header\">\n <b>Ebiz Account List&nbsp;</b><span class=\"badge bg-secondary\">{{tableData.length}}</span>\n </div>\n <div class=\"card-body\" *ngIf=\"tableHeader\">\n <oepa-table tableId=\"accountSearchTable\" [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=\"errorMessage\">\n <div class=\"alert alert-danger\">\n {{errorMessage}}\n </div>\n </div>\n <div *ngIf=\"inProgressMsg\">\n <div class=\"alert alert-info\">\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=\"SaveAccountBtn\"\n [disabled]=\"!selectedAccount || inProgressMsg\"\n (click)=\"save()\" aria-label=\"Save\">Save</button>\n <button id=\"CancelPaymentBtn\" 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: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i6.AccordionComponent, selector: "accordion", inputs: ["isAnimated", "closeOthers"] }, { kind: "component", type: i6.AccordionPanelComponent, selector: "accordion-group, accordion-panel", inputs: ["heading", "panelClass", "isDisabled", "isOpen"], outputs: ["isOpenChange"] }, { kind: "component", type: TableComponent, selector: "oepa-table", inputs: ["tableId", "config", "complexHeader", "header", "customBtnLabel", "customBtnVisible", "customBtnEnabled", "data", "totalRow"], outputs: ["cellClicked", "actionClicked", "rowSelected", "customBtnClicked"] }] });
2132
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AccountSearchModalComponent, selector: "oepa-account-search-modal", inputs: { searchURL: "searchURL" }, outputs: { onAccountSelected: "onAccountSelected" }, ngImport: i0, template: "<div class=\"modal-header\">\n <h1 class=\"modal-title pull-left\">Advanced Ebiz Account Search</h1>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n </button>\n</div>\n<div class=\"modal-body\">\n <mat-accordion class=\"accordion\" multi>\n <mat-expansion-panel class=\"accordion-item\" [expanded]=\"openSearchCriteria\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n <div id=\"accountSearchCriteria\">\n <b>Ebiz Account Search Criteria</b>\n </div>\n </mat-panel-title>\n </mat-expansion-panel-header>\n <form [formGroup]=\"modalFormGroup\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"userUIDInput\">Ebiz User ID</label>\n <input type=\"search\" class=\"form-control\" id=\"userUIDInput\" formControlName=\"userID\">\n </div>\n </div>\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"firstNameInput\">First Name</label>\n <input type=\"search\" class=\"form-control\" id=\"firstNameInput\" formControlName=\"firstName\">\n </div>\n </div>\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"lastNameInput\">Last Name</label>\n <input type=\"search\" class=\"form-control\" id=\"lastNameInput\" formControlName=\"lastName\">\n </div>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <span *ngIf=\"inProgressMsg\" class=\"spinner-border text-primary\" role=\"status\"></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\">Reset</button>\n </div>\n </div>\n </form>\n </mat-expansion-panel>\n </mat-accordion>\n <div *ngIf=\"tableData && tableData.length > 0\" class=\"card\">\n <div class=\"card-header\">\n <b>Ebiz Account List&nbsp;</b><span class=\"badge bg-secondary\">{{tableData.length}}</span>\n </div>\n <div class=\"card-body\" *ngIf=\"tableHeader\">\n <oepa-table tableId=\"accountSearchTable\" [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=\"errorMessage\">\n <div class=\"alert alert-danger\">\n {{errorMessage}}\n </div>\n </div>\n <div *ngIf=\"inProgressMsg\">\n <div class=\"alert alert-info\">\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=\"SaveAccountBtn\"\n [disabled]=\"!selectedAccount || inProgressMsg\"\n (click)=\"save()\" aria-label=\"Save\">Save</button>\n <button id=\"CancelPaymentBtn\" 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: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.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: "component", type: TableComponent, selector: "oepa-table", inputs: ["tableId", "config", "complexHeader", "header", "customBtnLabel", "customBtnVisible", "customBtnEnabled", "data", "totalRow"], outputs: ["cellClicked", "actionClicked", "rowSelected", "customBtnClicked"] }] });
2133
2133
  }
2134
2134
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AccountSearchModalComponent, decorators: [{
2135
2135
  type: Component,
2136
- args: [{ selector: 'oepa-account-search-modal', template: "<div class=\"modal-header\">\n <h4 class=\"modal-title pull-left\">Advanced Ebiz Account Search</h4>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n </button>\n</div>\n<div class=\"modal-body\">\n <accordion>\n <accordion-group panelClass=\"panel-info\" #searchGroup [isOpen]=\"openSearchCriteria\">\n <div accordion-heading>\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <i class=\"float-xs-right bi\" id=\"accountSearchCriteria\" name=\"accountSearchCriteria\" \n [ngClass]=\"{'bi-chevron-down': searchGroup?.isOpen, 'bi-chevron-right': !searchGroup?.isOpen}\"></i>\n <b>Ebiz Account Search Criteria</b>\n </div>\n </div>\n </div>\n <form [formGroup]=\"modalFormGroup\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"userUIDInput\">Ebiz User ID</label>\n <input type=\"search\" class=\"form-control\" id=\"userUIDInput\" formControlName=\"userID\">\n </div>\n </div>\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"firstNameInput\">First Name</label>\n <input type=\"search\" class=\"form-control\" id=\"firstNameInput\" formControlName=\"firstName\">\n </div>\n </div>\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"lastNameInput\">Last Name</label>\n <input type=\"search\" class=\"form-control\" id=\"lastNameInput\" formControlName=\"lastName\">\n </div>\n </div>\n </div>\n \n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <span *ngIf=\"inProgressMsg\" class=\"spinner-border text-primary\" role=\"status\"></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\">Reset</button>\n </div>\n </div>\n </form>\n </accordion-group>\n </accordion>\n <div *ngIf=\"tableData && tableData.length > 0\" class=\"card\">\n <div class=\"card-header\">\n <b>Ebiz Account List&nbsp;</b><span class=\"badge bg-secondary\">{{tableData.length}}</span>\n </div>\n <div class=\"card-body\" *ngIf=\"tableHeader\">\n <oepa-table tableId=\"accountSearchTable\" [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=\"errorMessage\">\n <div class=\"alert alert-danger\">\n {{errorMessage}}\n </div>\n </div>\n <div *ngIf=\"inProgressMsg\">\n <div class=\"alert alert-info\">\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=\"SaveAccountBtn\"\n [disabled]=\"!selectedAccount || inProgressMsg\"\n (click)=\"save()\" aria-label=\"Save\">Save</button>\n <button id=\"CancelPaymentBtn\" type=\"button\" class=\"btn btn-primary\"\n (click)=\"bsModalRef.hide()\" aria-label=\"Cancel\">Cancel</button>\n </div>\n </div>\n</div>" }]
2136
+ args: [{ selector: 'oepa-account-search-modal', template: "<div class=\"modal-header\">\n <h1 class=\"modal-title pull-left\">Advanced Ebiz Account Search</h1>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n </button>\n</div>\n<div class=\"modal-body\">\n <mat-accordion class=\"accordion\" multi>\n <mat-expansion-panel class=\"accordion-item\" [expanded]=\"openSearchCriteria\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n <div id=\"accountSearchCriteria\">\n <b>Ebiz Account Search Criteria</b>\n </div>\n </mat-panel-title>\n </mat-expansion-panel-header>\n <form [formGroup]=\"modalFormGroup\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"userUIDInput\">Ebiz User ID</label>\n <input type=\"search\" class=\"form-control\" id=\"userUIDInput\" formControlName=\"userID\">\n </div>\n </div>\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"firstNameInput\">First Name</label>\n <input type=\"search\" class=\"form-control\" id=\"firstNameInput\" formControlName=\"firstName\">\n </div>\n </div>\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"lastNameInput\">Last Name</label>\n <input type=\"search\" class=\"form-control\" id=\"lastNameInput\" formControlName=\"lastName\">\n </div>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <span *ngIf=\"inProgressMsg\" class=\"spinner-border text-primary\" role=\"status\"></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\">Reset</button>\n </div>\n </div>\n </form>\n </mat-expansion-panel>\n </mat-accordion>\n <div *ngIf=\"tableData && tableData.length > 0\" class=\"card\">\n <div class=\"card-header\">\n <b>Ebiz Account List&nbsp;</b><span class=\"badge bg-secondary\">{{tableData.length}}</span>\n </div>\n <div class=\"card-body\" *ngIf=\"tableHeader\">\n <oepa-table tableId=\"accountSearchTable\" [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=\"errorMessage\">\n <div class=\"alert alert-danger\">\n {{errorMessage}}\n </div>\n </div>\n <div *ngIf=\"inProgressMsg\">\n <div class=\"alert alert-info\">\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=\"SaveAccountBtn\"\n [disabled]=\"!selectedAccount || inProgressMsg\"\n (click)=\"save()\" aria-label=\"Save\">Save</button>\n <button id=\"CancelPaymentBtn\" type=\"button\" class=\"btn btn-primary\"\n (click)=\"bsModalRef.hide()\" aria-label=\"Cancel\">Cancel</button>\n </div>\n </div>\n</div>" }]
2137
2137
  }], ctorParameters: () => [{ type: i1$2.FormBuilder }, { type: i2$1.BsModalRef }, { type: AccountSearchService }], propDecorators: { searchURL: [{
2138
2138
  type: Input,
2139
2139
  args: ['searchURL']
@@ -2238,11 +2238,11 @@ class AccountSearchInputComponent {
2238
2238
  });
2239
2239
  }
2240
2240
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AccountSearchInputComponent, deps: [{ token: i1$1.OepaComponentIdService }, { token: i2$1.BsModalService }, { token: AccountSearchService }], target: i0.ɵɵFactoryTarget.Component });
2241
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AccountSearchInputComponent, selector: "oepa-account-search-input", inputs: { group: "group", userID: "userID", field: "field", title: "title", searchURL: "searchURL", errorMessageAddendum: "errorMessageAddendum", rowLayout: "rowLayout" }, outputs: { accountSelected: "accountSelected" }, ngImport: i0, template: "<div [formGroup]=\"group\" class=\"form-group\" [ngClass]=\"{'row text-right': rowLayout}\">\n <ng-template #accountTemplate let-model=\"item\" let-index=\"index\">\n <h5>{{ (model.userID || '') +\n (' - ' + model.firstName + ' ' + model.lastName + (model.company ? ' (' + model.company + ')' : '')) }}</h5>\n </ng-template>\n <label [ngClass]=\"{'col-sm-4 col-form-label': rowLayout}\">\n {{title}}\n <span *ngIf=\"searching\" class=\"spinner-border text-primary\" role=\"status\"></span>\n <a id=\"AdvancedSearch\" href=\"javascript:void(0)\" (click)=\"advancedSearch()\">Advanced Search</a>\n </label>\n <div [ngClass]=\"{'col-sm-8': rowLayout}\">\n <input class=\"form-control\" type=\"search\"\n [ngClass]=\"{'is-invalid':group.controls[field].status === 'INVALID', 'col-sm-8': rowLayout}\"\n [formControlName]=\"field\" [typeahead]=\"nameSource\" [typeaheadScrollable]=\"true\"\n (typeaheadOnSelect)=\"onAccountSelect($event)\" [id]=\"componentId + '_AccountSearch'\"\n [typeaheadItemTemplate]=\"accountTemplate\" [typeaheadMinLength]=\"3\" placeholder=\"Search Account\">\n <small class=\"invalid-feedback\" *ngIf=\"group.controls[field]?.hasError('required')\">{{title}} is required\n {{errorMessageAddendum}}</small>\n </div>\n</div>\n<div *ngIf=\"errorMessage\" class=\"alert alert-danger\">\n {{errorMessage}}\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: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i6$1.TypeaheadDirective, selector: "[typeahead]", inputs: ["typeahead", "typeaheadMinLength", "adaptivePosition", "isAnimated", "typeaheadWaitMs", "typeaheadOptionsLimit", "typeaheadOptionField", "typeaheadGroupField", "typeaheadOrderBy", "typeaheadAsync", "typeaheadLatinize", "typeaheadSingleWords", "typeaheadWordDelimiters", "typeaheadMultipleSearch", "typeaheadMultipleSearchDelimiters", "typeaheadPhraseDelimiters", "typeaheadItemTemplate", "optionsListTemplate", "typeaheadScrollable", "typeaheadOptionsInScrollableView", "typeaheadHideResultsOnBlur", "typeaheadSelectFirstItem", "typeaheadIsFirstItemActive", "container", "dropup"], outputs: ["typeaheadLoading", "typeaheadNoResults", "typeaheadOnSelect", "typeaheadOnPreview", "typeaheadOnBlur"], exportAs: ["bs-typeahead"] }] });
2241
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AccountSearchInputComponent, selector: "oepa-account-search-input", inputs: { group: "group", userID: "userID", field: "field", title: "title", searchURL: "searchURL", errorMessageAddendum: "errorMessageAddendum", rowLayout: "rowLayout" }, outputs: { accountSelected: "accountSelected" }, ngImport: i0, template: "<div [formGroup]=\"group\" class=\"form-group\" [ngClass]=\"{'row text-right': rowLayout}\">\n <ng-template #accountTemplate let-model=\"item\" let-index=\"index\">\n <h5>{{ (model.userID || '') +\n (' - ' + model.firstName + ' ' + model.lastName + (model.company ? ' (' + model.company + ')' : '')) }}</h5>\n </ng-template>\n <label [ngClass]=\"{'col-sm-4 col-form-label': rowLayout}\" [attr.for]=\"componentId + '_AccountSearch'\">\n {{title}}\n <span *ngIf=\"searching\" class=\"spinner-border text-primary\" role=\"status\" aria-live=\"polite\" aria-label=\"Loading\"></span>\n <a id=\"AdvancedSearch\" href=\"javascript:void(0)\" (click)=\"advancedSearch()\" tabindex=\"0\" aria-label=\"Advanced Account Search\">Advanced Search</a>\n </label>\n <div [ngClass]=\"{'col-sm-8': rowLayout}\">\n <input class=\"form-control\" type=\"search\"\n [ngClass]=\"{'is-invalid':group.controls[field].status === 'INVALID', 'col-sm-8': rowLayout}\"\n [formControlName]=\"field\" [typeahead]=\"nameSource\" [typeaheadScrollable]=\"true\"\n (typeaheadOnSelect)=\"onAccountSelect($event)\" [id]=\"componentId + '_AccountSearch'\"\n [typeaheadItemTemplate]=\"accountTemplate\" [typeaheadMinLength]=\"3\" placeholder=\"Search Account\" [attr.aria-label]=\"title\" [attr.aria-describedby]=\"'accountSearchError'\">\n <small id=\"accountSearchError\" class=\"invalid-feedback\" *ngIf=\"group.controls[field]?.hasError('required')\">{{title}} is required\n {{errorMessageAddendum}}</small>\n </div>\n</div>\n<div *ngIf=\"errorMessage\" class=\"alert alert-danger\" role=\"alert\">\n {{errorMessage}}\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: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i6$1.TypeaheadDirective, selector: "[typeahead]", inputs: ["typeahead", "typeaheadMinLength", "adaptivePosition", "isAnimated", "typeaheadWaitMs", "typeaheadOptionsLimit", "typeaheadOptionField", "typeaheadGroupField", "typeaheadOrderBy", "typeaheadAsync", "typeaheadLatinize", "typeaheadSingleWords", "typeaheadWordDelimiters", "typeaheadMultipleSearch", "typeaheadMultipleSearchDelimiters", "typeaheadPhraseDelimiters", "typeaheadItemTemplate", "optionsListTemplate", "typeaheadScrollable", "typeaheadOptionsInScrollableView", "typeaheadHideResultsOnBlur", "typeaheadSelectFirstItem", "typeaheadIsFirstItemActive", "container", "dropup"], outputs: ["typeaheadLoading", "typeaheadNoResults", "typeaheadOnSelect", "typeaheadOnPreview", "typeaheadOnBlur"], exportAs: ["bs-typeahead"] }] });
2242
2242
  }
2243
2243
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AccountSearchInputComponent, decorators: [{
2244
2244
  type: Component,
2245
- args: [{ selector: 'oepa-account-search-input', template: "<div [formGroup]=\"group\" class=\"form-group\" [ngClass]=\"{'row text-right': rowLayout}\">\n <ng-template #accountTemplate let-model=\"item\" let-index=\"index\">\n <h5>{{ (model.userID || '') +\n (' - ' + model.firstName + ' ' + model.lastName + (model.company ? ' (' + model.company + ')' : '')) }}</h5>\n </ng-template>\n <label [ngClass]=\"{'col-sm-4 col-form-label': rowLayout}\">\n {{title}}\n <span *ngIf=\"searching\" class=\"spinner-border text-primary\" role=\"status\"></span>\n <a id=\"AdvancedSearch\" href=\"javascript:void(0)\" (click)=\"advancedSearch()\">Advanced Search</a>\n </label>\n <div [ngClass]=\"{'col-sm-8': rowLayout}\">\n <input class=\"form-control\" type=\"search\"\n [ngClass]=\"{'is-invalid':group.controls[field].status === 'INVALID', 'col-sm-8': rowLayout}\"\n [formControlName]=\"field\" [typeahead]=\"nameSource\" [typeaheadScrollable]=\"true\"\n (typeaheadOnSelect)=\"onAccountSelect($event)\" [id]=\"componentId + '_AccountSearch'\"\n [typeaheadItemTemplate]=\"accountTemplate\" [typeaheadMinLength]=\"3\" placeholder=\"Search Account\">\n <small class=\"invalid-feedback\" *ngIf=\"group.controls[field]?.hasError('required')\">{{title}} is required\n {{errorMessageAddendum}}</small>\n </div>\n</div>\n<div *ngIf=\"errorMessage\" class=\"alert alert-danger\">\n {{errorMessage}}\n</div>" }]
2245
+ args: [{ selector: 'oepa-account-search-input', template: "<div [formGroup]=\"group\" class=\"form-group\" [ngClass]=\"{'row text-right': rowLayout}\">\n <ng-template #accountTemplate let-model=\"item\" let-index=\"index\">\n <h5>{{ (model.userID || '') +\n (' - ' + model.firstName + ' ' + model.lastName + (model.company ? ' (' + model.company + ')' : '')) }}</h5>\n </ng-template>\n <label [ngClass]=\"{'col-sm-4 col-form-label': rowLayout}\" [attr.for]=\"componentId + '_AccountSearch'\">\n {{title}}\n <span *ngIf=\"searching\" class=\"spinner-border text-primary\" role=\"status\" aria-live=\"polite\" aria-label=\"Loading\"></span>\n <a id=\"AdvancedSearch\" href=\"javascript:void(0)\" (click)=\"advancedSearch()\" tabindex=\"0\" aria-label=\"Advanced Account Search\">Advanced Search</a>\n </label>\n <div [ngClass]=\"{'col-sm-8': rowLayout}\">\n <input class=\"form-control\" type=\"search\"\n [ngClass]=\"{'is-invalid':group.controls[field].status === 'INVALID', 'col-sm-8': rowLayout}\"\n [formControlName]=\"field\" [typeahead]=\"nameSource\" [typeaheadScrollable]=\"true\"\n (typeaheadOnSelect)=\"onAccountSelect($event)\" [id]=\"componentId + '_AccountSearch'\"\n [typeaheadItemTemplate]=\"accountTemplate\" [typeaheadMinLength]=\"3\" placeholder=\"Search Account\" [attr.aria-label]=\"title\" [attr.aria-describedby]=\"'accountSearchError'\">\n <small id=\"accountSearchError\" class=\"invalid-feedback\" *ngIf=\"group.controls[field]?.hasError('required')\">{{title}} is required\n {{errorMessageAddendum}}</small>\n </div>\n</div>\n<div *ngIf=\"errorMessage\" class=\"alert alert-danger\" role=\"alert\">\n {{errorMessage}}\n</div>" }]
2246
2246
  }], ctorParameters: () => [{ type: i1$1.OepaComponentIdService }, { type: i2$1.BsModalService }, { type: AccountSearchService }], propDecorators: { group: [{
2247
2247
  type: Input,
2248
2248
  args: ['group']
@@ -3253,6 +3253,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
3253
3253
 
3254
3254
  class DaterangepickerComponent {
3255
3255
  idService;
3256
+ //Exposes the input element's id for parent label association.
3257
+ get inputId() {
3258
+ return this.componentId + '_Input';
3259
+ }
3256
3260
  componentId = 'OepaDaterangepickerComponent';
3257
3261
  minDate;
3258
3262
  maxDate;
@@ -3300,11 +3304,11 @@ class DaterangepickerComponent {
3300
3304
  }
3301
3305
  }
3302
3306
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DaterangepickerComponent, deps: [{ token: i1$1.OepaComponentIdService }], target: i0.ɵɵFactoryTarget.Component });
3303
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DaterangepickerComponent, selector: "oepa-daterangepicker", inputs: { group: "group", field: "field", bsConfig: "bsConfig", showValidation: "showValidation" }, ngImport: i0, template: "<div [formGroup]=\"group\">\n <div>\n <div class=\"input-group\">\n <input [id]=\"componentId+'_Input'\"\n class=\"form-control\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n #drp=\"bsDaterangepicker\"\n bsDaterangepicker\n [formControlName]=\"field\"\n [bsConfig]=\"bsConfig\"\n [isDisabled]=\"isDisabled\"\n [ngClass]=\"{'is-invalid':showValidation && !checkValidity()}\"\n >\n <div *ngIf=\"!isDisabled\" class=\"input-group-btn\">\n <button class=\"btn btn-primary\" (click)=\"drp.toggle()\" [id]=\"componentId+'_ToggleBtn'\" aria-label=\"Toggle Date Picker\">\n <i class=\"bi bi-calendar3\"></i>\n </button>\n <button class=\"btn btn-primary\" (click)=\"clearRange()\" [id]=\"componentId+'_ClearBtn'\" aria-label=\"Clear Range\">\n <i class=\"bi bi-x-lg\"></i>\n </button>\n </div>\n </div>\n <small class=\"invalid-feedback d-block\" *ngIf=\"showValidation && !checkValidity()\">Date is required</small>\n </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: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4.BsDaterangepickerDirective, selector: "[bsDaterangepicker]", inputs: ["placement", "triggers", "outsideClick", "container", "outsideEsc", "isOpen", "bsValue", "bsConfig", "isDisabled", "minDate", "maxDate", "dateCustomClasses", "daysDisabled", "datesDisabled", "datesEnabled"], outputs: ["onShown", "onHidden", "bsValueChange"], exportAs: ["bsDaterangepicker"] }, { kind: "directive", type: i4.BsDaterangepickerInputDirective, selector: "input[bsDaterangepicker]" }] });
3307
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DaterangepickerComponent, selector: "oepa-daterangepicker", inputs: { group: "group", field: "field", bsConfig: "bsConfig", showValidation: "showValidation" }, exportAs: ["oepa-datepicker"], ngImport: i0, template: "<div [formGroup]=\"group\">\n <div>\n <div class=\"input-group\">\n <input [id]=\"componentId+'_Input'\"\n class=\"form-control\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n #drp=\"bsDaterangepicker\"\n bsDaterangepicker\n [formControlName]=\"field\"\n [bsConfig]=\"bsConfig\"\n [isDisabled]=\"isDisabled\"\n [ngClass]=\"{'is-invalid':showValidation && !checkValidity()}\"\n role=\"textbox\"\n >\n <div *ngIf=\"!isDisabled\" class=\"input-group-btn\">\n <button class=\"btn btn-primary\"\n (click)=\"drp.toggle()\"\n [id]=\"componentId+'_ToggleBtn'\"\n aria-label=\"Toggle Date Picker\"\n type=\"button\"\n tabindex=\"0\"\n >\n <i class=\"bi bi-calendar3\" aria-hidden=\"true\"></i>\n <span class=\"visually-hidden\">Open calendar picker</span>\n </button>\n <button class=\"btn btn-primary\"\n (click)=\"clearRange()\"\n [id]=\"componentId+'_ClearBtn'\"\n aria-label=\"Clear Range\"\n type=\"button\"\n tabindex=\"0\"\n >\n <i class=\"bi bi-x-lg\" aria-hidden=\"true\"></i>\n <span class=\"visually-hidden\">Clear selected date range</span>\n </button>\n </div>\n </div>\n <small class=\"invalid-feedback d-block\" *ngIf=\"showValidation && !checkValidity()\">Date is required</small>\n </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: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4.BsDaterangepickerDirective, selector: "[bsDaterangepicker]", inputs: ["placement", "triggers", "outsideClick", "container", "outsideEsc", "isOpen", "bsValue", "bsConfig", "isDisabled", "minDate", "maxDate", "dateCustomClasses", "daysDisabled", "datesDisabled", "datesEnabled"], outputs: ["onShown", "onHidden", "bsValueChange"], exportAs: ["bsDaterangepicker"] }, { kind: "directive", type: i4.BsDaterangepickerInputDirective, selector: "input[bsDaterangepicker]" }] });
3304
3308
  }
3305
3309
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DaterangepickerComponent, decorators: [{
3306
3310
  type: Component,
3307
- args: [{ selector: 'oepa-daterangepicker', template: "<div [formGroup]=\"group\">\n <div>\n <div class=\"input-group\">\n <input [id]=\"componentId+'_Input'\"\n class=\"form-control\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n #drp=\"bsDaterangepicker\"\n bsDaterangepicker\n [formControlName]=\"field\"\n [bsConfig]=\"bsConfig\"\n [isDisabled]=\"isDisabled\"\n [ngClass]=\"{'is-invalid':showValidation && !checkValidity()}\"\n >\n <div *ngIf=\"!isDisabled\" class=\"input-group-btn\">\n <button class=\"btn btn-primary\" (click)=\"drp.toggle()\" [id]=\"componentId+'_ToggleBtn'\" aria-label=\"Toggle Date Picker\">\n <i class=\"bi bi-calendar3\"></i>\n </button>\n <button class=\"btn btn-primary\" (click)=\"clearRange()\" [id]=\"componentId+'_ClearBtn'\" aria-label=\"Clear Range\">\n <i class=\"bi bi-x-lg\"></i>\n </button>\n </div>\n </div>\n <small class=\"invalid-feedback d-block\" *ngIf=\"showValidation && !checkValidity()\">Date is required</small>\n </div>\n</div>" }]
3311
+ args: [{ selector: 'oepa-daterangepicker', exportAs: 'oepa-datepicker', template: "<div [formGroup]=\"group\">\n <div>\n <div class=\"input-group\">\n <input [id]=\"componentId+'_Input'\"\n class=\"form-control\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n #drp=\"bsDaterangepicker\"\n bsDaterangepicker\n [formControlName]=\"field\"\n [bsConfig]=\"bsConfig\"\n [isDisabled]=\"isDisabled\"\n [ngClass]=\"{'is-invalid':showValidation && !checkValidity()}\"\n role=\"textbox\"\n >\n <div *ngIf=\"!isDisabled\" class=\"input-group-btn\">\n <button class=\"btn btn-primary\"\n (click)=\"drp.toggle()\"\n [id]=\"componentId+'_ToggleBtn'\"\n aria-label=\"Toggle Date Picker\"\n type=\"button\"\n tabindex=\"0\"\n >\n <i class=\"bi bi-calendar3\" aria-hidden=\"true\"></i>\n <span class=\"visually-hidden\">Open calendar picker</span>\n </button>\n <button class=\"btn btn-primary\"\n (click)=\"clearRange()\"\n [id]=\"componentId+'_ClearBtn'\"\n aria-label=\"Clear Range\"\n type=\"button\"\n tabindex=\"0\"\n >\n <i class=\"bi bi-x-lg\" aria-hidden=\"true\"></i>\n <span class=\"visually-hidden\">Clear selected date range</span>\n </button>\n </div>\n </div>\n <small class=\"invalid-feedback d-block\" *ngIf=\"showValidation && !checkValidity()\">Date is required</small>\n </div>\n</div>" }]
3308
3312
  }], ctorParameters: () => [{ type: i1$1.OepaComponentIdService }], propDecorators: { group: [{
3309
3313
  type: Input
3310
3314
  }], field: [{
@@ -4355,11 +4359,11 @@ class OrganizationCreateModalComponent {
4355
4359
  return this.modalFormGroup.controls[name].hasError(field);
4356
4360
  }
4357
4361
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OrganizationCreateModalComponent, deps: [{ token: i1$2.FormBuilder }, { token: i2$1.BsModalRef }, { token: OepaFormsService }, { token: EntityService }], target: i0.ɵɵFactoryTarget.Component });
4358
- 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\">\n <h4 class=\"modal-title pull-left\">Create Organization</h4>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n \n </button>\n</div>\n<div class=\"modal-body\">\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')\">\n <option *ngFor=\"let t of organizationTypes\" [ngValue]=\"t.code\">{{t.name}}</option>\n </select>\n <small 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')\">\n <option *ngFor=\"let t of programs\" [ngValue]=\"t\">{{t.name}}</option>\n </select>\n <small 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')\"> \n <small 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\">\n <small class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('phoneNumber','required')\">Phone Number is required</small>\n <small 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')\">\n <option *ngFor=\"let t of phoneNumberTypes\" [ngValue]=\"t.code\">{{t.name}}</option>\n </select>\n <small 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\"\n [ngClass]=\"getModalFormGroupInvalidClass('addressType')\">\n <option *ngFor=\"let t of addressTypes\" [ngValue]=\"t.code\">{{t.name}}</option>\n </select>\n <small class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('addressType','required')\">Address Type is required</small>\n \n </form>\n <div *ngIf=\"tableData && tableData.length > 0\" class=\"card\">\n <div class=\"card-header\">\n <b>Matching Organization List&nbsp;</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: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$2.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$2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i1$2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { 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: 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: TableComponent, selector: "oepa-table", inputs: ["tableId", "config", "complexHeader", "header", "customBtnLabel", "customBtnVisible", "customBtnEnabled", "data", "totalRow"], outputs: ["cellClicked", "actionClicked", "rowSelected", "customBtnClicked"] }] });
4362
+ 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&nbsp;</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: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$2.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$2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i1$2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { 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: 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: TableComponent, selector: "oepa-table", inputs: ["tableId", "config", "complexHeader", "header", "customBtnLabel", "customBtnVisible", "customBtnEnabled", "data", "totalRow"], outputs: ["cellClicked", "actionClicked", "rowSelected", "customBtnClicked"] }] });
4359
4363
  }
4360
4364
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OrganizationCreateModalComponent, decorators: [{
4361
4365
  type: Component,
4362
- args: [{ selector: 'oepa-organization-create-modal', template: "<div class=\"modal-header\">\n <h4 class=\"modal-title pull-left\">Create Organization</h4>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n \n </button>\n</div>\n<div class=\"modal-body\">\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')\">\n <option *ngFor=\"let t of organizationTypes\" [ngValue]=\"t.code\">{{t.name}}</option>\n </select>\n <small 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')\">\n <option *ngFor=\"let t of programs\" [ngValue]=\"t\">{{t.name}}</option>\n </select>\n <small 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')\"> \n <small 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\">\n <small class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('phoneNumber','required')\">Phone Number is required</small>\n <small 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')\">\n <option *ngFor=\"let t of phoneNumberTypes\" [ngValue]=\"t.code\">{{t.name}}</option>\n </select>\n <small 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\"\n [ngClass]=\"getModalFormGroupInvalidClass('addressType')\">\n <option *ngFor=\"let t of addressTypes\" [ngValue]=\"t.code\">{{t.name}}</option>\n </select>\n <small class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('addressType','required')\">Address Type is required</small>\n \n </form>\n <div *ngIf=\"tableData && tableData.length > 0\" class=\"card\">\n <div class=\"card-header\">\n <b>Matching Organization List&nbsp;</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>" }]
4366
+ args: [{ selector: 'oepa-organization-create-modal', 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&nbsp;</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>" }]
4363
4367
  }], ctorParameters: () => [{ type: i1$2.FormBuilder }, { type: i2$1.BsModalRef }, { type: OepaFormsService }, { type: EntityService }], propDecorators: { onOrganizationCreated: [{
4364
4368
  type: Output
4365
4369
  }] } });
@@ -4645,11 +4649,11 @@ class OrganizationSearchModalComponent {
4645
4649
  return this.modalFormGroup.controls[name];
4646
4650
  }
4647
4651
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OrganizationSearchModalComponent, deps: [{ token: i1$2.FormBuilder }, { token: i2$1.BsModalRef }, { token: i2$1.BsModalService }, { token: OepaFormsService }, { token: EntityService }], target: i0.ɵɵFactoryTarget.Component });
4648
- 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\">\n <h4 class=\"modal-title pull-left\">Advanced Organization Search</h4>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n \n </button>\n</div>\n<div class=\"modal-body\">\n <accordion>\n <accordion-group panelClass=\"panel-info\" #searchGroup [isOpen]=\"openSearchCriteria\">\n <div accordion-heading>\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <i class=\"float-xs-right bi\" id=\"organizationSearchCriteria\" name=\"organizationSearchCriteria\" \n [ngClass]=\"{'bi-chevron-down': searchGroup?.isOpen, 'bi-chevron-right': !searchGroup?.isOpen}\"></i>\n <b>Organization Search Criteria</b>\n </div>\n </div>\n </div>\n <div *ngIf=\"initializing\">\n <span class=\"spinner-border text-primary\" role=\"status\"></span>\n Initializing...\n </div>\n <form *ngIf=\"!initializing\" [formGroup]=\"modalFormGroup\"> \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\"></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\"><span class=\"spinner-border text-primary\" role=\"status\"></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\">Reset</button>\n </div>\n </div>\n </form>\n </accordion-group>\n </accordion>\n <div *ngIf=\"tableData && tableData.length > 0\" class=\"card\">\n <div class=\"card-header\">\n <b>Organization List&nbsp;</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=\"errorMessage\">\n <div class=\"alert alert-danger\">\n {{errorMessage}}\n </div>\n </div>\n <div *ngIf=\"inProgressMsg\">\n <div class=\"alert alert-info\">\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\">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\">Cancel</button>\n </div>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$2.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$2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i6.AccordionComponent, selector: "accordion", inputs: ["isAnimated", "closeOthers"] }, { kind: "component", type: i6.AccordionPanelComponent, selector: "accordion-group, accordion-panel", inputs: ["heading", "panelClass", "isDisabled", "isOpen"], outputs: ["isOpenChange"] }, { 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: 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: TableComponent, selector: "oepa-table", inputs: ["tableId", "config", "complexHeader", "header", "customBtnLabel", "customBtnVisible", "customBtnEnabled", "data", "totalRow"], outputs: ["cellClicked", "actionClicked", "rowSelected", "customBtnClicked"] }] });
4652
+ 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=\"visually-hidden\">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&nbsp;</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: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$2.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$2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.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: 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: TableComponent, selector: "oepa-table", inputs: ["tableId", "config", "complexHeader", "header", "customBtnLabel", "customBtnVisible", "customBtnEnabled", "data", "totalRow"], outputs: ["cellClicked", "actionClicked", "rowSelected", "customBtnClicked"] }] });
4649
4653
  }
4650
4654
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OrganizationSearchModalComponent, decorators: [{
4651
4655
  type: Component,
4652
- args: [{ selector: 'oepa-organization-search-modal', template: "<div class=\"modal-header\">\n <h4 class=\"modal-title pull-left\">Advanced Organization Search</h4>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n \n </button>\n</div>\n<div class=\"modal-body\">\n <accordion>\n <accordion-group panelClass=\"panel-info\" #searchGroup [isOpen]=\"openSearchCriteria\">\n <div accordion-heading>\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <i class=\"float-xs-right bi\" id=\"organizationSearchCriteria\" name=\"organizationSearchCriteria\" \n [ngClass]=\"{'bi-chevron-down': searchGroup?.isOpen, 'bi-chevron-right': !searchGroup?.isOpen}\"></i>\n <b>Organization Search Criteria</b>\n </div>\n </div>\n </div>\n <div *ngIf=\"initializing\">\n <span class=\"spinner-border text-primary\" role=\"status\"></span>\n Initializing...\n </div>\n <form *ngIf=\"!initializing\" [formGroup]=\"modalFormGroup\"> \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\"></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\"><span class=\"spinner-border text-primary\" role=\"status\"></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\">Reset</button>\n </div>\n </div>\n </form>\n </accordion-group>\n </accordion>\n <div *ngIf=\"tableData && tableData.length > 0\" class=\"card\">\n <div class=\"card-header\">\n <b>Organization List&nbsp;</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=\"errorMessage\">\n <div class=\"alert alert-danger\">\n {{errorMessage}}\n </div>\n </div>\n <div *ngIf=\"inProgressMsg\">\n <div class=\"alert alert-info\">\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\">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\">Cancel</button>\n </div>\n </div>\n</div>" }]
4656
+ args: [{ selector: 'oepa-organization-search-modal', 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=\"visually-hidden\">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&nbsp;</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>" }]
4653
4657
  }], ctorParameters: () => [{ type: i1$2.FormBuilder }, { type: i2$1.BsModalRef }, { type: i2$1.BsModalService }, { type: OepaFormsService }, { type: EntityService }], propDecorators: { onOrganizationSelected: [{
4654
4658
  type: Output
4655
4659
  }] } });
@@ -4742,11 +4746,11 @@ class OrganizationSearchInputComponent {
4742
4746
  });
4743
4747
  }
4744
4748
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OrganizationSearchInputComponent, deps: [{ token: i1$1.OepaComponentIdService }, { token: i2$1.BsModalService }, { token: EntityService }], target: i0.ɵɵFactoryTarget.Component });
4745
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: OrganizationSearchInputComponent, selector: "oepa-organization-search-input", inputs: { group: "group", organizationID: "organizationID", field: "field", title: "title", errorMessageAddendum: "errorMessageAddendum", rowLayout: "rowLayout" }, outputs: { organizationSelected: "organizationSelected" }, ngImport: i0, template: "<div [formGroup]=\"group\" class=\"form-group\" [ngClass]=\"{'row text-right': rowLayout}\">\n <ng-template #organizationTemplate let-model=\"item\" let-index=\"index\">\n <h5>{{ (model.name || '') +\n (model.addressList && model.addressList[0] ? (' - ' + model.addressList[0].address.addressLine1 + ', ' + model.addressList[0].address.city\n + model.addressList[0].address.state) : '') + ' (' + model.id + ')' }}</h5>\n </ng-template>\n <label [ngClass]=\"{'col-sm-4 col-form-label': rowLayout}\">\n {{title}}\n <span *ngIf=\"searching\"><span class=\"spinner-border text-primary\" role=\"status\"></span></span>\n <a href=\"javascript:void(0)\" (click)=\"advancedSearch()\">Advanced Search</a>\n </label>\n <div [ngClass]=\"{'col-sm-8': rowLayout}\">\n <input class=\"form-control\" type=\"search\" [ngClass]=\"{'is-invalid':group.controls[field]?.status === 'INVALID'}\"\n [formControlName]=\"field\" [typeahead]=\"nameSource\" [typeaheadScrollable]=\"true\"\n (typeaheadOnSelect)=\"onOrganizationSelect($event)\" [id]=\"componentId + '_OrganizationSearch'\"\n [typeaheadItemTemplate]=\"organizationTemplate\" [typeaheadMinLength]=\"3\" placeholder=\"Search Organization\">\n <small class=\"invalid-feedback\" *ngIf=\"group.controls[field]?.hasError('required')\">{{title}} is required {{errorMessageAddendum}}</small>\n </div>\n</div>\n<div *ngIf=\"errorMessage\" class=\"alert alert-danger\">\n {{errorMessage}}\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: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i6$1.TypeaheadDirective, selector: "[typeahead]", inputs: ["typeahead", "typeaheadMinLength", "adaptivePosition", "isAnimated", "typeaheadWaitMs", "typeaheadOptionsLimit", "typeaheadOptionField", "typeaheadGroupField", "typeaheadOrderBy", "typeaheadAsync", "typeaheadLatinize", "typeaheadSingleWords", "typeaheadWordDelimiters", "typeaheadMultipleSearch", "typeaheadMultipleSearchDelimiters", "typeaheadPhraseDelimiters", "typeaheadItemTemplate", "optionsListTemplate", "typeaheadScrollable", "typeaheadOptionsInScrollableView", "typeaheadHideResultsOnBlur", "typeaheadSelectFirstItem", "typeaheadIsFirstItemActive", "container", "dropup"], outputs: ["typeaheadLoading", "typeaheadNoResults", "typeaheadOnSelect", "typeaheadOnPreview", "typeaheadOnBlur"], exportAs: ["bs-typeahead"] }] });
4749
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: OrganizationSearchInputComponent, selector: "oepa-organization-search-input", inputs: { group: "group", organizationID: "organizationID", field: "field", title: "title", errorMessageAddendum: "errorMessageAddendum", rowLayout: "rowLayout" }, outputs: { organizationSelected: "organizationSelected" }, ngImport: i0, template: "<div [formGroup]=\"group\" class=\"form-group\" [ngClass]=\"{'row text-right': rowLayout}\">\n <ng-template #organizationTemplate let-model=\"item\" let-index=\"index\">\n <h5>{{ (model.name || '') +\n (model.addressList && model.addressList[0] ? (' - ' + model.addressList[0].address.addressLine1 + ', ' + model.addressList[0].address.city\n + model.addressList[0].address.state) : '') + ' (' + model.id + ')' }}</h5>\n </ng-template>\n <label [ngClass]=\"{'col-sm-4 col-form-label': rowLayout}\" [attr.for]=\"componentId + '_OrganizationSearch'\" id=\"organizationSearchLabel\">\n {{title}}\n <span *ngIf=\"searching\"><span class=\"spinner-border text-primary\" role=\"status\" aria-live=\"polite\" aria-label=\"Searching\"></span></span>\n <button type=\"button\" class=\"btn btn-link p-0\" (click)=\"advancedSearch()\" aria-label=\"Advanced Search\">Advanced Search</button>\n </label>\n <div [ngClass]=\"{'col-sm-8': rowLayout}\">\n <input class=\"form-control\" type=\"search\" [ngClass]=\"{'is-invalid':group.controls[field]?.status === 'INVALID'}\"\n [formControlName]=\"field\" [typeahead]=\"nameSource\" [typeaheadScrollable]=\"true\"\n (typeaheadOnSelect)=\"onOrganizationSelect($event)\" [id]=\"componentId + '_OrganizationSearch'\"\n [typeaheadItemTemplate]=\"organizationTemplate\" [typeaheadMinLength]=\"3\" placeholder=\"Search Organization\"\n [attr.aria-labelledby]=\"'organizationSearchLabel'\" [attr.aria-describedby]=\"componentId + '_OrganizationSearchError'\">\n <small id=\"{{componentId + '_OrganizationSearchError'}}\" class=\"invalid-feedback\" *ngIf=\"group.controls[field]?.hasError('required')\">\n {{title}} is required {{errorMessageAddendum}}\n </small>\n </div>\n</div>\n<div *ngIf=\"errorMessage\" class=\"alert alert-danger\">\n {{errorMessage}}\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: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i6$1.TypeaheadDirective, selector: "[typeahead]", inputs: ["typeahead", "typeaheadMinLength", "adaptivePosition", "isAnimated", "typeaheadWaitMs", "typeaheadOptionsLimit", "typeaheadOptionField", "typeaheadGroupField", "typeaheadOrderBy", "typeaheadAsync", "typeaheadLatinize", "typeaheadSingleWords", "typeaheadWordDelimiters", "typeaheadMultipleSearch", "typeaheadMultipleSearchDelimiters", "typeaheadPhraseDelimiters", "typeaheadItemTemplate", "optionsListTemplate", "typeaheadScrollable", "typeaheadOptionsInScrollableView", "typeaheadHideResultsOnBlur", "typeaheadSelectFirstItem", "typeaheadIsFirstItemActive", "container", "dropup"], outputs: ["typeaheadLoading", "typeaheadNoResults", "typeaheadOnSelect", "typeaheadOnPreview", "typeaheadOnBlur"], exportAs: ["bs-typeahead"] }] });
4746
4750
  }
4747
4751
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OrganizationSearchInputComponent, decorators: [{
4748
4752
  type: Component,
4749
- args: [{ selector: 'oepa-organization-search-input', template: "<div [formGroup]=\"group\" class=\"form-group\" [ngClass]=\"{'row text-right': rowLayout}\">\n <ng-template #organizationTemplate let-model=\"item\" let-index=\"index\">\n <h5>{{ (model.name || '') +\n (model.addressList && model.addressList[0] ? (' - ' + model.addressList[0].address.addressLine1 + ', ' + model.addressList[0].address.city\n + model.addressList[0].address.state) : '') + ' (' + model.id + ')' }}</h5>\n </ng-template>\n <label [ngClass]=\"{'col-sm-4 col-form-label': rowLayout}\">\n {{title}}\n <span *ngIf=\"searching\"><span class=\"spinner-border text-primary\" role=\"status\"></span></span>\n <a href=\"javascript:void(0)\" (click)=\"advancedSearch()\">Advanced Search</a>\n </label>\n <div [ngClass]=\"{'col-sm-8': rowLayout}\">\n <input class=\"form-control\" type=\"search\" [ngClass]=\"{'is-invalid':group.controls[field]?.status === 'INVALID'}\"\n [formControlName]=\"field\" [typeahead]=\"nameSource\" [typeaheadScrollable]=\"true\"\n (typeaheadOnSelect)=\"onOrganizationSelect($event)\" [id]=\"componentId + '_OrganizationSearch'\"\n [typeaheadItemTemplate]=\"organizationTemplate\" [typeaheadMinLength]=\"3\" placeholder=\"Search Organization\">\n <small class=\"invalid-feedback\" *ngIf=\"group.controls[field]?.hasError('required')\">{{title}} is required {{errorMessageAddendum}}</small>\n </div>\n</div>\n<div *ngIf=\"errorMessage\" class=\"alert alert-danger\">\n {{errorMessage}}\n</div>" }]
4753
+ args: [{ selector: 'oepa-organization-search-input', template: "<div [formGroup]=\"group\" class=\"form-group\" [ngClass]=\"{'row text-right': rowLayout}\">\n <ng-template #organizationTemplate let-model=\"item\" let-index=\"index\">\n <h5>{{ (model.name || '') +\n (model.addressList && model.addressList[0] ? (' - ' + model.addressList[0].address.addressLine1 + ', ' + model.addressList[0].address.city\n + model.addressList[0].address.state) : '') + ' (' + model.id + ')' }}</h5>\n </ng-template>\n <label [ngClass]=\"{'col-sm-4 col-form-label': rowLayout}\" [attr.for]=\"componentId + '_OrganizationSearch'\" id=\"organizationSearchLabel\">\n {{title}}\n <span *ngIf=\"searching\"><span class=\"spinner-border text-primary\" role=\"status\" aria-live=\"polite\" aria-label=\"Searching\"></span></span>\n <button type=\"button\" class=\"btn btn-link p-0\" (click)=\"advancedSearch()\" aria-label=\"Advanced Search\">Advanced Search</button>\n </label>\n <div [ngClass]=\"{'col-sm-8': rowLayout}\">\n <input class=\"form-control\" type=\"search\" [ngClass]=\"{'is-invalid':group.controls[field]?.status === 'INVALID'}\"\n [formControlName]=\"field\" [typeahead]=\"nameSource\" [typeaheadScrollable]=\"true\"\n (typeaheadOnSelect)=\"onOrganizationSelect($event)\" [id]=\"componentId + '_OrganizationSearch'\"\n [typeaheadItemTemplate]=\"organizationTemplate\" [typeaheadMinLength]=\"3\" placeholder=\"Search Organization\"\n [attr.aria-labelledby]=\"'organizationSearchLabel'\" [attr.aria-describedby]=\"componentId + '_OrganizationSearchError'\">\n <small id=\"{{componentId + '_OrganizationSearchError'}}\" class=\"invalid-feedback\" *ngIf=\"group.controls[field]?.hasError('required')\">\n {{title}} is required {{errorMessageAddendum}}\n </small>\n </div>\n</div>\n<div *ngIf=\"errorMessage\" class=\"alert alert-danger\">\n {{errorMessage}}\n</div>" }]
4750
4754
  }], ctorParameters: () => [{ type: i1$1.OepaComponentIdService }, { type: i2$1.BsModalService }, { type: EntityService }], propDecorators: { group: [{
4751
4755
  type: Input,
4752
4756
  args: ['group']
@@ -5064,11 +5068,11 @@ class PersonCreateModalComponent {
5064
5068
  return this.modalFormGroup.controls[name].hasError(field);
5065
5069
  }
5066
5070
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PersonCreateModalComponent, deps: [{ token: i1$2.FormBuilder }, { token: i2$1.BsModalRef }, { token: OepaFormsService }, { token: EntityService }], target: i0.ɵɵFactoryTarget.Component });
5067
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PersonCreateModalComponent, selector: "oepa-person-create-modal", outputs: { onPersonCreated: "onPersonCreated" }, ngImport: i0, template: "<div class=\"modal-header\">\n <h4 class=\"modal-title pull-left\">Create Person</h4>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n \n </button>\n</div>\n<div class=\"modal-body\">\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 <div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"personTypeSelect\">Person Type</label>\n <select id=\"personTypeSelect\" formControlName=\"personType\" class=\"form-select\"\n [ngClass]=\"getModalFormGroupInvalidClass('personType')\">\n <option *ngFor=\"let t of personSubTypes\" [ngValue]=\"t.code\">{{t.name}}</option>\n </select>\n <small class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('personType','required')\">Person Type is required</small>\n </div>\n </div>\n </div>\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=\"program\" class=\"form-select\"\n [ngClass]=\"getModalFormGroupInvalidClass('program')\">\n <option *ngFor=\"let t of programs\" [ngValue]=\"t\">{{t.name}}</option>\n </select>\n <small class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('program','required')\">Program is required</small>\n </div>\n </div>\n </div>\n <oepa-contact [group]=\"getModalFormGroup('contact')\"\n [showMiddleName]=\"true\" [noFax]=\"true\" [noEmail]=\"true\" [showValidation]=\"true\"></oepa-contact>\n <div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"phoneNumberTypeSelect\">Phone Number Type</label>\n <select id=\"phoneNumberTypeSelect\" formControlName=\"phoneNumberType\" class=\"form-select\"\n [ngClass]=\"getModalFormGroupInvalidClass('phoneNumberType')\">\n <option *ngFor=\"let t of phoneNumberTypes\" [ngValue]=\"t.code\">{{t.name}}</option>\n </select>\n <small class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('phoneNumberType','required')\">Phone Number Type is required</small>\n </div>\n </div>\n </div>\n <oepa-address [group]=\"getModalFormGroup('address')\" [showValidation]=\"true\"></oepa-address>\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 [ngClass]=\"getModalFormGroupInvalidClass('addressType')\">\n <option *ngFor=\"let t of addressTypes\" [ngValue]=\"t.code\">{{t.name}}</option>\n </select>\n <small class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('addressType','required')\">Address Type is required</small>\n </div>\n </div>\n </div>\n </form>\n <div *ngIf=\"tableData && tableData.length > 0\" class=\"card\">\n <div class=\"card-header\">\n <b>Matching Person List&nbsp;</b><span class=\"badge bg-secondary\">{{tableData.length}}</span>\n </div>\n <div class=\"card-body\">\n <oepa-table tableId=\"personSearchTable\" [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=\"SavePersonBtn\"\n [disabled]=\"!modalFormGroup || modalFormGroup.invalid\"\n (click)=\"savePersonAfterSearch()\" aria-label=\"Save new person\">Save</button>\n <button *ngIf=\"tableData && tableData.length > 0 && !selectedPerson && !inProgressMsg\" type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"SavePersonWithoutSearchBtn\"\n [disabled]=\"modalFormGroup.invalid\"\n (click)=\"savePerson()\" aria-label=\"No match, save new person\">No Match, Save New Person</button>\n <button *ngIf=\"tableData && tableData.length > 0 && selectedPerson && !inProgressMsg\" type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"SaveSelectedPersonBtn\"\n [disabled]=\"modalFormGroup.invalid\"\n (click)=\"saveSelectedPerson()\" aria-label=\"Use selected person\">Use Selected Person</button>\n <button id=\"CancelPersonBtn\" 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: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: 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: ContactComponent, selector: "oepa-contact", inputs: ["group", "showValidation", "firstNameLabel", "lastNameLabel", "showMiddleName", "middleNameLabel", "emailLabel", "phoneLabel", "faxLabel", "noFax", "showTitle", "noPhone", "noEmail", "isSearch", "firstNameMaxLength", "middleNameMaxLength", "lastNameMaxLength", "titleMaxLength", "emailMaxLength"] }, { kind: "component", type: TableComponent, selector: "oepa-table", inputs: ["tableId", "config", "complexHeader", "header", "customBtnLabel", "customBtnVisible", "customBtnEnabled", "data", "totalRow"], outputs: ["cellClicked", "actionClicked", "rowSelected", "customBtnClicked"] }] });
5071
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PersonCreateModalComponent, selector: "oepa-person-create-modal", outputs: { onPersonCreated: "onPersonCreated" }, ngImport: i0, template: "<div class=\"modal-header\" role=\"banner\">\n <h1 class=\"modal-title pull-left\" id=\"personCreateModalTitle\">Create Person</h1>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close dialog\" (click)=\"bsModalRef.hide()\" tabindex=\"0\"></button>\n</div>\n<div class=\"modal-body\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"personCreateModalTitle\">\n <div *ngIf=\"!modalFormGroup\" aria-live=\"polite\" aria-atomic=\"true\">\n <div class=\"text-center visually-hidden\">Initializing...</div>\n <div class=\"text-center\"><span class=\"spinner-border text-primary\" role=\"status\" aria-label=\"Loading\"></span></div>\n </div>\n <form *ngIf=\"modalFormGroup\" [formGroup]=\"modalFormGroup\" (keydown.enter)=\"$event.preventDefault()\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"personTypeSelect\">Person Type</label>\n <select id=\"personTypeSelect\" formControlName=\"personType\" class=\"form-select\" aria-required=\"true\"\n [ngClass]=\"getModalFormGroupInvalidClass('personType')\">\n <option *ngFor=\"let t of personSubTypes\" [ngValue]=\"t.code\">{{t.name}}</option>\n </select>\n <small class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('personType','required')\">Person Type is required</small>\n </div>\n </div>\n </div>\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=\"program\" class=\"form-select\" aria-required=\"true\"\n [ngClass]=\"getModalFormGroupInvalidClass('program')\">\n <option *ngFor=\"let t of programs\" [ngValue]=\"t\">{{t.name}}</option>\n </select>\n <small class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('program','required')\">Program is required</small>\n </div>\n </div>\n </div>\n <oepa-contact [group]=\"getModalFormGroup('contact')\"\n [showMiddleName]=\"true\" [noFax]=\"true\" [noEmail]=\"true\" [showValidation]=\"true\" aria-label=\"Contact information fields\"></oepa-contact>\n <div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"phoneNumberTypeSelect\">Phone Number Type</label>\n <select id=\"phoneNumberTypeSelect\" formControlName=\"phoneNumberType\" class=\"form-select\"\n [ngClass]=\"getModalFormGroupInvalidClass('phoneNumberType')\">\n <option *ngFor=\"let t of phoneNumberTypes\" [ngValue]=\"t.code\">{{t.name}}</option>\n </select>\n <small class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('phoneNumberType','required')\">Phone Number Type is required</small>\n </div>\n </div>\n </div>\n <oepa-address [group]=\"getModalFormGroup('address')\" [showValidation]=\"true\" aria-label=\"Address fields\"></oepa-address>\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 [ngClass]=\"getModalFormGroupInvalidClass('addressType')\">\n <option *ngFor=\"let t of addressTypes\" [ngValue]=\"t.code\">{{t.name}}</option>\n </select>\n <small class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('addressType','required')\">Address Type is required</small>\n </div>\n </div>\n </div>\n </form>\n <div *ngIf=\"tableData && tableData.length > 0\" class=\"card\" aria-live=\"polite\" aria-atomic=\"true\">\n <div class=\"card-header\" id=\"matchingPersonListHeader\">\n <b>Matching Person List&nbsp;</b><span class=\"badge bg-secondary\" aria-label=\"Number of matching persons\">{{tableData.length}}</span>\n </div>\n <div class=\"card-body\">\n <oepa-table tableId=\"personSearchTable\" [config]=\"tableConfig\" [data]=\"tableData\" [header]=\"tableHeader\" (rowSelected)=\"onRowSelect($event)\" aria-labelledby=\"matchingPersonListHeader\">\n </oepa-table>\n </div>\n </div>\n</div>\n<div class=\"modal-footer d-block\" role=\"contentinfo\">\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 *ngIf=\"infoMessage && !inProgressMsg\" aria-live=\"polite\" aria-atomic=\"true\">\n <div class=\"alert alert-info\" role=\"status\">\n {{infoMessage}}\n </div>\n </div>\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 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=\"Saving\"></span></span>\n <button *ngIf=\"(!tableData || tableData.length === 0) && !inProgressMsg\" type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"SavePersonBtn\"\n [disabled]=\"!modalFormGroup || modalFormGroup.invalid\"\n (click)=\"savePersonAfterSearch()\" aria-label=\"Save new person\">Save</button>\n <button *ngIf=\"tableData && tableData.length > 0 && !selectedPerson && !inProgressMsg\" type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"SavePersonWithoutSearchBtn\"\n [disabled]=\"modalFormGroup.invalid\"\n (click)=\"savePerson()\" aria-label=\"No match, save new person\">No Match, Save New Person</button>\n <button *ngIf=\"tableData && tableData.length > 0 && selectedPerson && !inProgressMsg\" type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"SaveSelectedPersonBtn\"\n [disabled]=\"modalFormGroup.invalid\"\n (click)=\"saveSelectedPerson()\" aria-label=\"Use selected person\">Use Selected Person</button>\n <button id=\"CancelPersonBtn\" 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: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: 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: ContactComponent, selector: "oepa-contact", inputs: ["group", "showValidation", "firstNameLabel", "lastNameLabel", "showMiddleName", "middleNameLabel", "emailLabel", "phoneLabel", "faxLabel", "noFax", "showTitle", "noPhone", "noEmail", "isSearch", "firstNameMaxLength", "middleNameMaxLength", "lastNameMaxLength", "titleMaxLength", "emailMaxLength"] }, { kind: "component", type: TableComponent, selector: "oepa-table", inputs: ["tableId", "config", "complexHeader", "header", "customBtnLabel", "customBtnVisible", "customBtnEnabled", "data", "totalRow"], outputs: ["cellClicked", "actionClicked", "rowSelected", "customBtnClicked"] }] });
5068
5072
  }
5069
5073
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PersonCreateModalComponent, decorators: [{
5070
5074
  type: Component,
5071
- args: [{ selector: 'oepa-person-create-modal', template: "<div class=\"modal-header\">\n <h4 class=\"modal-title pull-left\">Create Person</h4>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n \n </button>\n</div>\n<div class=\"modal-body\">\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 <div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"personTypeSelect\">Person Type</label>\n <select id=\"personTypeSelect\" formControlName=\"personType\" class=\"form-select\"\n [ngClass]=\"getModalFormGroupInvalidClass('personType')\">\n <option *ngFor=\"let t of personSubTypes\" [ngValue]=\"t.code\">{{t.name}}</option>\n </select>\n <small class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('personType','required')\">Person Type is required</small>\n </div>\n </div>\n </div>\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=\"program\" class=\"form-select\"\n [ngClass]=\"getModalFormGroupInvalidClass('program')\">\n <option *ngFor=\"let t of programs\" [ngValue]=\"t\">{{t.name}}</option>\n </select>\n <small class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('program','required')\">Program is required</small>\n </div>\n </div>\n </div>\n <oepa-contact [group]=\"getModalFormGroup('contact')\"\n [showMiddleName]=\"true\" [noFax]=\"true\" [noEmail]=\"true\" [showValidation]=\"true\"></oepa-contact>\n <div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"phoneNumberTypeSelect\">Phone Number Type</label>\n <select id=\"phoneNumberTypeSelect\" formControlName=\"phoneNumberType\" class=\"form-select\"\n [ngClass]=\"getModalFormGroupInvalidClass('phoneNumberType')\">\n <option *ngFor=\"let t of phoneNumberTypes\" [ngValue]=\"t.code\">{{t.name}}</option>\n </select>\n <small class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('phoneNumberType','required')\">Phone Number Type is required</small>\n </div>\n </div>\n </div>\n <oepa-address [group]=\"getModalFormGroup('address')\" [showValidation]=\"true\"></oepa-address>\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 [ngClass]=\"getModalFormGroupInvalidClass('addressType')\">\n <option *ngFor=\"let t of addressTypes\" [ngValue]=\"t.code\">{{t.name}}</option>\n </select>\n <small class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('addressType','required')\">Address Type is required</small>\n </div>\n </div>\n </div>\n </form>\n <div *ngIf=\"tableData && tableData.length > 0\" class=\"card\">\n <div class=\"card-header\">\n <b>Matching Person List&nbsp;</b><span class=\"badge bg-secondary\">{{tableData.length}}</span>\n </div>\n <div class=\"card-body\">\n <oepa-table tableId=\"personSearchTable\" [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=\"SavePersonBtn\"\n [disabled]=\"!modalFormGroup || modalFormGroup.invalid\"\n (click)=\"savePersonAfterSearch()\" aria-label=\"Save new person\">Save</button>\n <button *ngIf=\"tableData && tableData.length > 0 && !selectedPerson && !inProgressMsg\" type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"SavePersonWithoutSearchBtn\"\n [disabled]=\"modalFormGroup.invalid\"\n (click)=\"savePerson()\" aria-label=\"No match, save new person\">No Match, Save New Person</button>\n <button *ngIf=\"tableData && tableData.length > 0 && selectedPerson && !inProgressMsg\" type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"SaveSelectedPersonBtn\"\n [disabled]=\"modalFormGroup.invalid\"\n (click)=\"saveSelectedPerson()\" aria-label=\"Use selected person\">Use Selected Person</button>\n <button id=\"CancelPersonBtn\" type=\"button\" class=\"btn btn-primary\"\n (click)=\"bsModalRef.hide()\" aria-label=\"Cancel\">Cancel</button>\n </div>\n </div>\n</div>" }]
5075
+ args: [{ selector: 'oepa-person-create-modal', template: "<div class=\"modal-header\" role=\"banner\">\n <h1 class=\"modal-title pull-left\" id=\"personCreateModalTitle\">Create Person</h1>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close dialog\" (click)=\"bsModalRef.hide()\" tabindex=\"0\"></button>\n</div>\n<div class=\"modal-body\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"personCreateModalTitle\">\n <div *ngIf=\"!modalFormGroup\" aria-live=\"polite\" aria-atomic=\"true\">\n <div class=\"text-center visually-hidden\">Initializing...</div>\n <div class=\"text-center\"><span class=\"spinner-border text-primary\" role=\"status\" aria-label=\"Loading\"></span></div>\n </div>\n <form *ngIf=\"modalFormGroup\" [formGroup]=\"modalFormGroup\" (keydown.enter)=\"$event.preventDefault()\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"personTypeSelect\">Person Type</label>\n <select id=\"personTypeSelect\" formControlName=\"personType\" class=\"form-select\" aria-required=\"true\"\n [ngClass]=\"getModalFormGroupInvalidClass('personType')\">\n <option *ngFor=\"let t of personSubTypes\" [ngValue]=\"t.code\">{{t.name}}</option>\n </select>\n <small class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('personType','required')\">Person Type is required</small>\n </div>\n </div>\n </div>\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=\"program\" class=\"form-select\" aria-required=\"true\"\n [ngClass]=\"getModalFormGroupInvalidClass('program')\">\n <option *ngFor=\"let t of programs\" [ngValue]=\"t\">{{t.name}}</option>\n </select>\n <small class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('program','required')\">Program is required</small>\n </div>\n </div>\n </div>\n <oepa-contact [group]=\"getModalFormGroup('contact')\"\n [showMiddleName]=\"true\" [noFax]=\"true\" [noEmail]=\"true\" [showValidation]=\"true\" aria-label=\"Contact information fields\"></oepa-contact>\n <div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"phoneNumberTypeSelect\">Phone Number Type</label>\n <select id=\"phoneNumberTypeSelect\" formControlName=\"phoneNumberType\" class=\"form-select\"\n [ngClass]=\"getModalFormGroupInvalidClass('phoneNumberType')\">\n <option *ngFor=\"let t of phoneNumberTypes\" [ngValue]=\"t.code\">{{t.name}}</option>\n </select>\n <small class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('phoneNumberType','required')\">Phone Number Type is required</small>\n </div>\n </div>\n </div>\n <oepa-address [group]=\"getModalFormGroup('address')\" [showValidation]=\"true\" aria-label=\"Address fields\"></oepa-address>\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 [ngClass]=\"getModalFormGroupInvalidClass('addressType')\">\n <option *ngFor=\"let t of addressTypes\" [ngValue]=\"t.code\">{{t.name}}</option>\n </select>\n <small class=\"invalid-feedback\" *ngIf=\"getModalFormGroupHasError('addressType','required')\">Address Type is required</small>\n </div>\n </div>\n </div>\n </form>\n <div *ngIf=\"tableData && tableData.length > 0\" class=\"card\" aria-live=\"polite\" aria-atomic=\"true\">\n <div class=\"card-header\" id=\"matchingPersonListHeader\">\n <b>Matching Person List&nbsp;</b><span class=\"badge bg-secondary\" aria-label=\"Number of matching persons\">{{tableData.length}}</span>\n </div>\n <div class=\"card-body\">\n <oepa-table tableId=\"personSearchTable\" [config]=\"tableConfig\" [data]=\"tableData\" [header]=\"tableHeader\" (rowSelected)=\"onRowSelect($event)\" aria-labelledby=\"matchingPersonListHeader\">\n </oepa-table>\n </div>\n </div>\n</div>\n<div class=\"modal-footer d-block\" role=\"contentinfo\">\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 *ngIf=\"infoMessage && !inProgressMsg\" aria-live=\"polite\" aria-atomic=\"true\">\n <div class=\"alert alert-info\" role=\"status\">\n {{infoMessage}}\n </div>\n </div>\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 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=\"Saving\"></span></span>\n <button *ngIf=\"(!tableData || tableData.length === 0) && !inProgressMsg\" type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"SavePersonBtn\"\n [disabled]=\"!modalFormGroup || modalFormGroup.invalid\"\n (click)=\"savePersonAfterSearch()\" aria-label=\"Save new person\">Save</button>\n <button *ngIf=\"tableData && tableData.length > 0 && !selectedPerson && !inProgressMsg\" type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"SavePersonWithoutSearchBtn\"\n [disabled]=\"modalFormGroup.invalid\"\n (click)=\"savePerson()\" aria-label=\"No match, save new person\">No Match, Save New Person</button>\n <button *ngIf=\"tableData && tableData.length > 0 && selectedPerson && !inProgressMsg\" type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"SaveSelectedPersonBtn\"\n [disabled]=\"modalFormGroup.invalid\"\n (click)=\"saveSelectedPerson()\" aria-label=\"Use selected person\">Use Selected Person</button>\n <button id=\"CancelPersonBtn\" type=\"button\" class=\"btn btn-primary\"\n (click)=\"bsModalRef.hide()\" aria-label=\"Cancel and close dialog\">Cancel</button>\n </div>\n </div>\n</div>" }]
5072
5076
  }], ctorParameters: () => [{ type: i1$2.FormBuilder }, { type: i2$1.BsModalRef }, { type: OepaFormsService }, { type: EntityService }], propDecorators: { onPersonCreated: [{
5073
5077
  type: Output
5074
5078
  }] } });
@@ -5360,11 +5364,11 @@ class PersonSearchModalComponent {
5360
5364
  return this.modalFormGroup.controls[name];
5361
5365
  }
5362
5366
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PersonSearchModalComponent, deps: [{ token: i1$2.FormBuilder }, { token: i2$1.BsModalRef }, { token: i2$1.BsModalService }, { token: OepaFormsService }, { token: EntityService }], target: i0.ɵɵFactoryTarget.Component });
5363
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PersonSearchModalComponent, selector: "oepa-person-search-modal", outputs: { onPersonSelected: "onPersonSelected" }, ngImport: i0, template: "<div class=\"modal-header\">\n <h4 class=\"modal-title pull-left\">Advanced Person Search</h4>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n \n </button>\n</div>\n<div class=\"modal-body\">\n <accordion>\n <accordion-group panelClass=\"panel-info\" #searchGroup [isOpen]=\"openSearchCriteria\">\n <div accordion-heading>\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <i class=\"float-xs-right bi\" id=\"personSearchCriteria\" name=\"personSearchCriteria\" \n [ngClass]=\"{'bi-chevron-down': searchGroup?.isOpen, 'bi-chevron-right': !searchGroup?.isOpen}\"></i>\n <b>Person Search Criteria</b>\n </div>\n </div>\n </div>\n <div *ngIf=\"initializing\">\n <span class=\"spinner-border text-primary\" role=\"status\"></span>\n Initializing...\n </div>\n <form *ngIf=\"!initializing\" [formGroup]=\"modalFormGroup\">\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\">Person Type</label>\n <select id=\"subTypeSelect\" formControlName=\"personType\" class=\"form-select\">\n <option *ngFor=\"let t of personTypes\" [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=\"personIDInput\">Person ID</label>\n <input type=\"search\" mask=\"999999999\" class=\"form-control\" id=\"personIDInput\" formControlName=\"id\">\n </div>\n </div>\n </div>\n <oepa-contact [group]=\"getModalFormGroup('contact')\" [isSearch]=\"true\"\n [showMiddleName]=\"true\" [noPhone]=\"true\" [noFax]=\"true\" [noEmail]=\"true\"></oepa-contact>\n <div class=\"row\">\n <div class=\"col-md-12\">\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 \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\"></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\"><span class=\"spinner-border text-primary\" role=\"status\"></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\">Reset</button>\n </div>\n </div>\n </form>\n </accordion-group>\n </accordion>\n <div *ngIf=\"tableData && tableData.length > 0\" class=\"card\">\n <div class=\"card-header\">\n <b>Person List&nbsp;</b><span class=\"badge bg-secondary\">{{tableData.length}}</span>\n </div>\n <div class=\"card-body\">\n <oepa-table tableId=\"personSearchTable\" [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=\"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 <button *ngIf=\"tableData && tableData.length > 0\" type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"SavePersonBtn\" [disabled]=\"!selectedPerson\" (click)=\"save()\" aria-label=\"Select\">Select</button>\n <button *ngIf=\"allowCreateNew\" type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"CreatePersonButton\"\n (click)=\"createNewPerson()\" aria-label=\"Create New Person\">Create New Person</button>\n <button id=\"CancelPaymentBtn\" 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: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$2.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$2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i6.AccordionComponent, selector: "accordion", inputs: ["isAnimated", "closeOthers"] }, { kind: "component", type: i6.AccordionPanelComponent, selector: "accordion-group, accordion-panel", inputs: ["heading", "panelClass", "isDisabled", "isOpen"], outputs: ["isOpenChange"] }, { 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: 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: ContactComponent, selector: "oepa-contact", inputs: ["group", "showValidation", "firstNameLabel", "lastNameLabel", "showMiddleName", "middleNameLabel", "emailLabel", "phoneLabel", "faxLabel", "noFax", "showTitle", "noPhone", "noEmail", "isSearch", "firstNameMaxLength", "middleNameMaxLength", "lastNameMaxLength", "titleMaxLength", "emailMaxLength"] }, { kind: "component", type: TableComponent, selector: "oepa-table", inputs: ["tableId", "config", "complexHeader", "header", "customBtnLabel", "customBtnVisible", "customBtnEnabled", "data", "totalRow"], outputs: ["cellClicked", "actionClicked", "rowSelected", "customBtnClicked"] }] });
5367
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PersonSearchModalComponent, selector: "oepa-person-search-modal", outputs: { onPersonSelected: "onPersonSelected" }, ngImport: i0, template: "<div class=\"modal-header\" role=\"banner\">\n <h1 class=\"modal-title pull-left\" id=\"personSearchModalTitle\">Advanced Person Search</h1>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close dialog\" (click)=\"bsModalRef.hide()\" tabindex=\"0\"></button>\n</div>\n<div class=\"modal-body\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"personSearchModalTitle\">\n <mat-accordion class=\"accordion\" multi>\n <mat-expansion-panel class=\"accordion-item\">\n <mat-expansion-panel-header>\n <div id=\"personSearchCriteria\">\n <mat-panel-title>\n Person 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=\"visually-hidden\">Initializing...</span>\n </div>\n <form *ngIf=\"!initializing\" [formGroup]=\"modalFormGroup\" aria-describedby=\"personSearchCriteria\" (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\">Person Type</label>\n <select id=\"subTypeSelect\" formControlName=\"personType\" class=\"form-select\">\n <option *ngFor=\"let t of personTypes\" [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=\"personIDInput\">Person ID</label>\n <input type=\"search\" mask=\"999999999\" class=\"form-control\" id=\"personIDInput\" formControlName=\"id\">\n </div>\n </div>\n </div>\n <oepa-contact [group]=\"getModalFormGroup('contact')\" [isSearch]=\"true\"\n [showMiddleName]=\"true\" [noPhone]=\"true\" [noFax]=\"true\" [noEmail]=\"true\" aria-label=\"Contact search fields\"></oepa-contact>\n <div class=\"row\">\n <div class=\"col-md-12\">\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 \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=\"personListHeader\">\n <b>Person List&nbsp;</b><span class=\"badge bg-secondary\" aria-label=\"Number of persons\">{{tableData.length}}</span>\n </div>\n <div class=\"card-body\">\n <oepa-table tableId=\"personSearchTable\" [config]=\"tableConfig\" [data]=\"tableData\" [header]=\"tableHeader\" (rowSelected)=\"onRowSelect($event)\" aria-labelledby=\"personListHeader\">\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 class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <button *ngIf=\"tableData && tableData.length > 0\" type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"SavePersonBtn\" [disabled]=\"!selectedPerson\" (click)=\"save()\" aria-label=\"Select\">Select</button>\n <button *ngIf=\"allowCreateNew\" type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"CreatePersonButton\"\n (click)=\"createNewPerson()\" aria-label=\"Create New Person\">Create New Person</button>\n <button id=\"CancelPaymentBtn\" 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: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$2.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$2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.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: 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: ContactComponent, selector: "oepa-contact", inputs: ["group", "showValidation", "firstNameLabel", "lastNameLabel", "showMiddleName", "middleNameLabel", "emailLabel", "phoneLabel", "faxLabel", "noFax", "showTitle", "noPhone", "noEmail", "isSearch", "firstNameMaxLength", "middleNameMaxLength", "lastNameMaxLength", "titleMaxLength", "emailMaxLength"] }, { kind: "component", type: TableComponent, selector: "oepa-table", inputs: ["tableId", "config", "complexHeader", "header", "customBtnLabel", "customBtnVisible", "customBtnEnabled", "data", "totalRow"], outputs: ["cellClicked", "actionClicked", "rowSelected", "customBtnClicked"] }] });
5364
5368
  }
5365
5369
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PersonSearchModalComponent, decorators: [{
5366
5370
  type: Component,
5367
- args: [{ selector: 'oepa-person-search-modal', template: "<div class=\"modal-header\">\n <h4 class=\"modal-title pull-left\">Advanced Person Search</h4>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n \n </button>\n</div>\n<div class=\"modal-body\">\n <accordion>\n <accordion-group panelClass=\"panel-info\" #searchGroup [isOpen]=\"openSearchCriteria\">\n <div accordion-heading>\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <i class=\"float-xs-right bi\" id=\"personSearchCriteria\" name=\"personSearchCriteria\" \n [ngClass]=\"{'bi-chevron-down': searchGroup?.isOpen, 'bi-chevron-right': !searchGroup?.isOpen}\"></i>\n <b>Person Search Criteria</b>\n </div>\n </div>\n </div>\n <div *ngIf=\"initializing\">\n <span class=\"spinner-border text-primary\" role=\"status\"></span>\n Initializing...\n </div>\n <form *ngIf=\"!initializing\" [formGroup]=\"modalFormGroup\">\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\">Person Type</label>\n <select id=\"subTypeSelect\" formControlName=\"personType\" class=\"form-select\">\n <option *ngFor=\"let t of personTypes\" [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=\"personIDInput\">Person ID</label>\n <input type=\"search\" mask=\"999999999\" class=\"form-control\" id=\"personIDInput\" formControlName=\"id\">\n </div>\n </div>\n </div>\n <oepa-contact [group]=\"getModalFormGroup('contact')\" [isSearch]=\"true\"\n [showMiddleName]=\"true\" [noPhone]=\"true\" [noFax]=\"true\" [noEmail]=\"true\"></oepa-contact>\n <div class=\"row\">\n <div class=\"col-md-12\">\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 \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\"></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\"><span class=\"spinner-border text-primary\" role=\"status\"></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\">Reset</button>\n </div>\n </div>\n </form>\n </accordion-group>\n </accordion>\n <div *ngIf=\"tableData && tableData.length > 0\" class=\"card\">\n <div class=\"card-header\">\n <b>Person List&nbsp;</b><span class=\"badge bg-secondary\">{{tableData.length}}</span>\n </div>\n <div class=\"card-body\">\n <oepa-table tableId=\"personSearchTable\" [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=\"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 <button *ngIf=\"tableData && tableData.length > 0\" type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"SavePersonBtn\" [disabled]=\"!selectedPerson\" (click)=\"save()\" aria-label=\"Select\">Select</button>\n <button *ngIf=\"allowCreateNew\" type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"CreatePersonButton\"\n (click)=\"createNewPerson()\" aria-label=\"Create New Person\">Create New Person</button>\n <button id=\"CancelPaymentBtn\" type=\"button\" class=\"btn btn-primary\"\n (click)=\"bsModalRef.hide()\" aria-label=\"Cancel\">Cancel</button>\n </div>\n </div>\n</div>" }]
5371
+ args: [{ selector: 'oepa-person-search-modal', template: "<div class=\"modal-header\" role=\"banner\">\n <h1 class=\"modal-title pull-left\" id=\"personSearchModalTitle\">Advanced Person Search</h1>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close dialog\" (click)=\"bsModalRef.hide()\" tabindex=\"0\"></button>\n</div>\n<div class=\"modal-body\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"personSearchModalTitle\">\n <mat-accordion class=\"accordion\" multi>\n <mat-expansion-panel class=\"accordion-item\">\n <mat-expansion-panel-header>\n <div id=\"personSearchCriteria\">\n <mat-panel-title>\n Person 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=\"visually-hidden\">Initializing...</span>\n </div>\n <form *ngIf=\"!initializing\" [formGroup]=\"modalFormGroup\" aria-describedby=\"personSearchCriteria\" (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\">Person Type</label>\n <select id=\"subTypeSelect\" formControlName=\"personType\" class=\"form-select\">\n <option *ngFor=\"let t of personTypes\" [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=\"personIDInput\">Person ID</label>\n <input type=\"search\" mask=\"999999999\" class=\"form-control\" id=\"personIDInput\" formControlName=\"id\">\n </div>\n </div>\n </div>\n <oepa-contact [group]=\"getModalFormGroup('contact')\" [isSearch]=\"true\"\n [showMiddleName]=\"true\" [noPhone]=\"true\" [noFax]=\"true\" [noEmail]=\"true\" aria-label=\"Contact search fields\"></oepa-contact>\n <div class=\"row\">\n <div class=\"col-md-12\">\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 \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=\"personListHeader\">\n <b>Person List&nbsp;</b><span class=\"badge bg-secondary\" aria-label=\"Number of persons\">{{tableData.length}}</span>\n </div>\n <div class=\"card-body\">\n <oepa-table tableId=\"personSearchTable\" [config]=\"tableConfig\" [data]=\"tableData\" [header]=\"tableHeader\" (rowSelected)=\"onRowSelect($event)\" aria-labelledby=\"personListHeader\">\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 class=\"row\">\n <div class=\"col-sm-12 text-center\">\n <button *ngIf=\"tableData && tableData.length > 0\" type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"SavePersonBtn\" [disabled]=\"!selectedPerson\" (click)=\"save()\" aria-label=\"Select\">Select</button>\n <button *ngIf=\"allowCreateNew\" type=\"button\" class=\"btn btn-primary mr-2\"\n id=\"CreatePersonButton\"\n (click)=\"createNewPerson()\" aria-label=\"Create New Person\">Create New Person</button>\n <button id=\"CancelPaymentBtn\" type=\"button\" class=\"btn btn-primary\"\n (click)=\"bsModalRef.hide()\" aria-label=\"Cancel\">Cancel</button>\n </div>\n </div>\n</div>" }]
5368
5372
  }], ctorParameters: () => [{ type: i1$2.FormBuilder }, { type: i2$1.BsModalRef }, { type: i2$1.BsModalService }, { type: OepaFormsService }, { type: EntityService }], propDecorators: { onPersonSelected: [{
5369
5373
  type: Output
5370
5374
  }] } });
@@ -5459,11 +5463,11 @@ class PersonSearchInputComponent {
5459
5463
  });
5460
5464
  }
5461
5465
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PersonSearchInputComponent, deps: [{ token: i1$1.OepaComponentIdService }, { token: i2$1.BsModalService }, { token: EntityService }], target: i0.ɵɵFactoryTarget.Component });
5462
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PersonSearchInputComponent, selector: "oepa-person-search-input", inputs: { group: "group", personID: "personID", field: "field", title: "title", errorMessageAddendum: "errorMessageAddendum", rowLayout: "rowLayout" }, outputs: { personSelected: "personSelected" }, ngImport: i0, template: "<div [formGroup]=\"group\" class=\"form-group\" [ngClass]=\"{'row text-right': rowLayout}\">\n <ng-template #personTemplate let-model=\"item\" let-index=\"index\">\n <h5>{{ (model.firstName || '') + ' ' + (model.middleName || '') + ' ' + model.lastName +\n (model.addressList && model.addressList[0] ? (' - ' + model.addressList[0].address.addressLine1 + ', ' +\n model.addressList[0].address.city\n + model.addressList[0].address.state) : '') + ' (' + model.id + ')' }}</h5>\n </ng-template>\n <label [ngClass]=\"{'col-sm-4 col-form-label': rowLayout}\">\n {{title}}\n <span *ngIf=\"searching\"><span class=\"spinner-border text-primary\" role=\"status\"></span></span>\n <a href=\"javascript:void(0)\" (click)=\"advancedSearch()\">Advanced Search</a>\n </label>\n <div [ngClass]=\"{'col-sm-8': rowLayout}\">\n <input class=\"form-control\" type=\"search\"\n [ngClass]=\"{'is-invalid':group.controls[field].status === 'INVALID', 'col-sm-8': rowLayout}\"\n [formControlName]=\"field\" [typeahead]=\"nameSource\" [typeaheadScrollable]=\"true\"\n (typeaheadOnSelect)=\"onPersonSelect($event)\" [id]=\"componentId + '_PersonSearch'\"\n [typeaheadItemTemplate]=\"personTemplate\" [typeaheadMinLength]=\"3\" placeholder=\"Search Person\">\n <small class=\"invalid-feedback\" *ngIf=\"group.controls[field]?.hasError('required')\">{{title}} is required\n {{errorMessageAddendum}}</small>\n </div>\n</div>\n<div *ngIf=\"errorMessage\" class=\"alert alert-danger\">\n {{errorMessage}}\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: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i6$1.TypeaheadDirective, selector: "[typeahead]", inputs: ["typeahead", "typeaheadMinLength", "adaptivePosition", "isAnimated", "typeaheadWaitMs", "typeaheadOptionsLimit", "typeaheadOptionField", "typeaheadGroupField", "typeaheadOrderBy", "typeaheadAsync", "typeaheadLatinize", "typeaheadSingleWords", "typeaheadWordDelimiters", "typeaheadMultipleSearch", "typeaheadMultipleSearchDelimiters", "typeaheadPhraseDelimiters", "typeaheadItemTemplate", "optionsListTemplate", "typeaheadScrollable", "typeaheadOptionsInScrollableView", "typeaheadHideResultsOnBlur", "typeaheadSelectFirstItem", "typeaheadIsFirstItemActive", "container", "dropup"], outputs: ["typeaheadLoading", "typeaheadNoResults", "typeaheadOnSelect", "typeaheadOnPreview", "typeaheadOnBlur"], exportAs: ["bs-typeahead"] }] });
5466
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PersonSearchInputComponent, selector: "oepa-person-search-input", inputs: { group: "group", personID: "personID", field: "field", title: "title", errorMessageAddendum: "errorMessageAddendum", rowLayout: "rowLayout" }, outputs: { personSelected: "personSelected" }, ngImport: i0, template: "<div [formGroup]=\"group\" class=\"form-group\" [ngClass]=\"{'row text-right': rowLayout}\">\n <ng-template #personTemplate let-model=\"item\" let-index=\"index\">\n <h5>{{ (model.firstName || '') + ' ' + (model.middleName || '') + ' ' + model.lastName +\n (model.addressList && model.addressList[0] ? (' - ' + model.addressList[0].address.addressLine1 + ', ' +\n model.addressList[0].address.city\n + model.addressList[0].address.state) : '') + ' (' + model.id + ')' }}</h5>\n </ng-template>\n <label [attr.for]=\"componentId + '_PersonSearch'\" [ngClass]=\"{'col-sm-4 col-form-label': rowLayout}\">\n {{title}}\n <span *ngIf=\"searching\" aria-live=\"polite\" aria-atomic=\"true\"><span class=\"spinner-border text-primary\" role=\"status\" aria-label=\"Searching\"></span></span>\n <a href=\"javascript:void(0)\" (click)=\"advancedSearch()\">Advanced Search</a>\n </label>\n <div [ngClass]=\"{'col-sm-8': rowLayout}\">\n <input class=\"form-control\" type=\"search\"\n [ngClass]=\"{'is-invalid':group.controls[field].status === 'INVALID', 'col-sm-8': rowLayout}\"\n [formControlName]=\"field\" [typeahead]=\"nameSource\" [typeaheadScrollable]=\"true\"\n (typeaheadOnSelect)=\"onPersonSelect($event)\" [id]=\"componentId + '_PersonSearch'\"\n [typeaheadItemTemplate]=\"personTemplate\" [typeaheadMinLength]=\"3\" placeholder=\"Search Person\"\n [attr.aria-describedby]=\"errorMessage ? componentId + '_PersonSearch_error' : null\">\n <small class=\"invalid-feedback\" *ngIf=\"group.controls[field]?.hasError('required')\">{{title}} is required\n {{errorMessageAddendum}}</small>\n </div>\n</div>\n<div *ngIf=\"errorMessage\" class=\"alert alert-danger\" role=\"alert\" aria-live=\"assertive\" [id]=\"componentId + '_PersonSearch_error'\">\n {{errorMessage}}\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: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i6$1.TypeaheadDirective, selector: "[typeahead]", inputs: ["typeahead", "typeaheadMinLength", "adaptivePosition", "isAnimated", "typeaheadWaitMs", "typeaheadOptionsLimit", "typeaheadOptionField", "typeaheadGroupField", "typeaheadOrderBy", "typeaheadAsync", "typeaheadLatinize", "typeaheadSingleWords", "typeaheadWordDelimiters", "typeaheadMultipleSearch", "typeaheadMultipleSearchDelimiters", "typeaheadPhraseDelimiters", "typeaheadItemTemplate", "optionsListTemplate", "typeaheadScrollable", "typeaheadOptionsInScrollableView", "typeaheadHideResultsOnBlur", "typeaheadSelectFirstItem", "typeaheadIsFirstItemActive", "container", "dropup"], outputs: ["typeaheadLoading", "typeaheadNoResults", "typeaheadOnSelect", "typeaheadOnPreview", "typeaheadOnBlur"], exportAs: ["bs-typeahead"] }] });
5463
5467
  }
5464
5468
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PersonSearchInputComponent, decorators: [{
5465
5469
  type: Component,
5466
- args: [{ selector: 'oepa-person-search-input', template: "<div [formGroup]=\"group\" class=\"form-group\" [ngClass]=\"{'row text-right': rowLayout}\">\n <ng-template #personTemplate let-model=\"item\" let-index=\"index\">\n <h5>{{ (model.firstName || '') + ' ' + (model.middleName || '') + ' ' + model.lastName +\n (model.addressList && model.addressList[0] ? (' - ' + model.addressList[0].address.addressLine1 + ', ' +\n model.addressList[0].address.city\n + model.addressList[0].address.state) : '') + ' (' + model.id + ')' }}</h5>\n </ng-template>\n <label [ngClass]=\"{'col-sm-4 col-form-label': rowLayout}\">\n {{title}}\n <span *ngIf=\"searching\"><span class=\"spinner-border text-primary\" role=\"status\"></span></span>\n <a href=\"javascript:void(0)\" (click)=\"advancedSearch()\">Advanced Search</a>\n </label>\n <div [ngClass]=\"{'col-sm-8': rowLayout}\">\n <input class=\"form-control\" type=\"search\"\n [ngClass]=\"{'is-invalid':group.controls[field].status === 'INVALID', 'col-sm-8': rowLayout}\"\n [formControlName]=\"field\" [typeahead]=\"nameSource\" [typeaheadScrollable]=\"true\"\n (typeaheadOnSelect)=\"onPersonSelect($event)\" [id]=\"componentId + '_PersonSearch'\"\n [typeaheadItemTemplate]=\"personTemplate\" [typeaheadMinLength]=\"3\" placeholder=\"Search Person\">\n <small class=\"invalid-feedback\" *ngIf=\"group.controls[field]?.hasError('required')\">{{title}} is required\n {{errorMessageAddendum}}</small>\n </div>\n</div>\n<div *ngIf=\"errorMessage\" class=\"alert alert-danger\">\n {{errorMessage}}\n</div>" }]
5470
+ args: [{ selector: 'oepa-person-search-input', template: "<div [formGroup]=\"group\" class=\"form-group\" [ngClass]=\"{'row text-right': rowLayout}\">\n <ng-template #personTemplate let-model=\"item\" let-index=\"index\">\n <h5>{{ (model.firstName || '') + ' ' + (model.middleName || '') + ' ' + model.lastName +\n (model.addressList && model.addressList[0] ? (' - ' + model.addressList[0].address.addressLine1 + ', ' +\n model.addressList[0].address.city\n + model.addressList[0].address.state) : '') + ' (' + model.id + ')' }}</h5>\n </ng-template>\n <label [attr.for]=\"componentId + '_PersonSearch'\" [ngClass]=\"{'col-sm-4 col-form-label': rowLayout}\">\n {{title}}\n <span *ngIf=\"searching\" aria-live=\"polite\" aria-atomic=\"true\"><span class=\"spinner-border text-primary\" role=\"status\" aria-label=\"Searching\"></span></span>\n <a href=\"javascript:void(0)\" (click)=\"advancedSearch()\">Advanced Search</a>\n </label>\n <div [ngClass]=\"{'col-sm-8': rowLayout}\">\n <input class=\"form-control\" type=\"search\"\n [ngClass]=\"{'is-invalid':group.controls[field].status === 'INVALID', 'col-sm-8': rowLayout}\"\n [formControlName]=\"field\" [typeahead]=\"nameSource\" [typeaheadScrollable]=\"true\"\n (typeaheadOnSelect)=\"onPersonSelect($event)\" [id]=\"componentId + '_PersonSearch'\"\n [typeaheadItemTemplate]=\"personTemplate\" [typeaheadMinLength]=\"3\" placeholder=\"Search Person\"\n [attr.aria-describedby]=\"errorMessage ? componentId + '_PersonSearch_error' : null\">\n <small class=\"invalid-feedback\" *ngIf=\"group.controls[field]?.hasError('required')\">{{title}} is required\n {{errorMessageAddendum}}</small>\n </div>\n</div>\n<div *ngIf=\"errorMessage\" class=\"alert alert-danger\" role=\"alert\" aria-live=\"assertive\" [id]=\"componentId + '_PersonSearch_error'\">\n {{errorMessage}}\n</div>" }]
5467
5471
  }], ctorParameters: () => [{ type: i1$1.OepaComponentIdService }, { type: i2$1.BsModalService }, { type: EntityService }], propDecorators: { group: [{
5468
5472
  type: Input,
5469
5473
  args: ['group']
@@ -5695,11 +5699,11 @@ class PlaceSearchModalComponent {
5695
5699
  return this.modalFormGroup.controls[name];
5696
5700
  }
5697
5701
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PlaceSearchModalComponent, deps: [{ token: i1$2.FormBuilder }, { token: i2$1.BsModalRef }, { token: OepaFormsService }, { token: EntityService }], target: i0.ɵɵFactoryTarget.Component });
5698
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PlaceSearchModalComponent, selector: "oepa-place-search-modal", outputs: { onPlaceSelected: "onPlaceSelected" }, ngImport: i0, template: "<div class=\"modal-header\">\n <h4 class=\"modal-title pull-left\">Advanced Place Search</h4>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n \n </button>\n</div>\n<div class=\"modal-body\">\n <accordion>\n <accordion-group panelClass=\"panel-info\" #searchGroup [isOpen]=\"openSearchCriteria\">\n <div accordion-heading>\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <i class=\"float-xs-right bi\" id=\"placeSearchCriteria\" name=\"placeSearchCriteria\" \n [ngClass]=\"{'bi-chevron-down': searchGroup?.isOpen, 'bi-chevron-right': !searchGroup?.isOpen}\"></i>\n <b>Place Search Criteria</b>\n </div>\n </div>\n </div>\n <form [formGroup]=\"modalFormGroup\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"placeIDInput\">Place ID</label>\n <input type=\"search\" mask=\"999999999\" class=\"form-control\" id=\"placeIDInput\" formControlName=\"id\">\n </div>\n </div>\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"placeNameInput\">Place Name</label>\n <input type=\"search\" class=\"form-control\" id=\"placeNameInput\" formControlName=\"name\">\n </div>\n </div>\n <div class=\"col-md-12\">\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 <oepa-address [group]=\"getModalFormGroup('address')\" [isSearch]=\"true\"\n addressOneLabel=\"Address\" [hideLine2]=\"true\"></oepa-address>\n \n <div class=\"row\">\n <div class=\"col-md-3\">\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-6\">\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-3\">\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\"><span class=\"spinner-border text-primary\" role=\"status\"></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\">Reset</button>\n </div>\n </div>\n </form>\n </accordion-group>\n </accordion>\n <div *ngIf=\"tableData && tableData.length > 0\" class=\"card\">\n <div class=\"card-header\">\n <b>Place List&nbsp;</b><span class=\"badge bg-secondary\">{{tableData.length}}</span>\n </div>\n <div class=\"card-body\">\n <oepa-table tableId=\"placeSearchTable\" [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=\"errorMessage\">\n <div class=\"alert alert-danger\">\n {{errorMessage}}\n </div>\n </div>\n <div *ngIf=\"inProgressMsg\">\n <div class=\"alert alert-info\">\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=\"SavePlaceBtn\"\n [disabled]=\"!selectedPlace || inProgressMsg\"\n (click)=\"save()\" aria-label=\"Save\">Save</button>\n <button id=\"CancelPaymentBtn\" 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: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i6.AccordionComponent, selector: "accordion", inputs: ["isAnimated", "closeOthers"] }, { kind: "component", type: i6.AccordionPanelComponent, selector: "accordion-group, accordion-panel", inputs: ["heading", "panelClass", "isDisabled", "isOpen"], outputs: ["isOpenChange"] }, { 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: 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: TableComponent, selector: "oepa-table", inputs: ["tableId", "config", "complexHeader", "header", "customBtnLabel", "customBtnVisible", "customBtnEnabled", "data", "totalRow"], outputs: ["cellClicked", "actionClicked", "rowSelected", "customBtnClicked"] }] });
5702
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PlaceSearchModalComponent, selector: "oepa-place-search-modal", outputs: { onPlaceSelected: "onPlaceSelected" }, ngImport: i0, template: "<div class=\"modal-header\" role=\"banner\">\n <h1 class=\"modal-title pull-left\" id=\"placeSearchModalTitle\">Advanced Place Search</h1>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close dialog\" (click)=\"bsModalRef.hide()\" tabindex=\"0\"></button>\n</div>\n<div class=\"modal-body\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"placeSearchModalTitle\">\n <mat-accordion class=\"accordion\" multi>\n <mat-expansion-panel class=\"accordion-item\">\n <mat-expansion-panel-header>\n <div id=\"placeSearchCriteria\">\n <mat-panel-title>\n Place Search Criteria\n </mat-panel-title>\n </div>\n </mat-expansion-panel-header>\n <form [formGroup]=\"modalFormGroup\" aria-describedby=\"placeSearchCriteria\" (keydown.enter)=\"$event.preventDefault()\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"placeIDInput\">Place ID</label>\n <input type=\"search\" mask=\"999999999\" class=\"form-control\" id=\"placeIDInput\" formControlName=\"id\">\n </div>\n </div>\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"placeNameInput\">Place Name</label>\n <input type=\"search\" class=\"form-control\" id=\"placeNameInput\" formControlName=\"name\">\n </div>\n </div>\n <div class=\"col-md-12\">\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 <oepa-address [group]=\"getModalFormGroup('address')\" [isSearch]=\"true\"\n addressOneLabel=\"Address\" [hideLine2]=\"true\" aria-label=\"Address search fields\"></oepa-address>\n \n <div class=\"row\">\n <div class=\"col-md-3\">\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-6\">\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-3\">\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=\"placeListHeader\">\n <b>Place List&nbsp;</b><span class=\"badge bg-secondary\" aria-label=\"Number of places\">{{tableData.length}}</span>\n </div>\n <div class=\"card-body\">\n <oepa-table tableId=\"placeSearchTable\" [config]=\"tableConfig\" [data]=\"tableData\" [header]=\"tableHeader\" (rowSelected)=\"onRowSelect($event)\" aria-labelledby=\"placeListHeader\">\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=\"SavePlaceBtn\"\n [disabled]=\"!selectedPlace || inProgressMsg\"\n (click)=\"save()\" aria-label=\"Save\">Save</button>\n <button id=\"CancelPaymentBtn\" 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: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.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: 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: TableComponent, selector: "oepa-table", inputs: ["tableId", "config", "complexHeader", "header", "customBtnLabel", "customBtnVisible", "customBtnEnabled", "data", "totalRow"], outputs: ["cellClicked", "actionClicked", "rowSelected", "customBtnClicked"] }] });
5699
5703
  }
5700
5704
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PlaceSearchModalComponent, decorators: [{
5701
5705
  type: Component,
5702
- args: [{ selector: 'oepa-place-search-modal', template: "<div class=\"modal-header\">\n <h4 class=\"modal-title pull-left\">Advanced Place Search</h4>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n \n </button>\n</div>\n<div class=\"modal-body\">\n <accordion>\n <accordion-group panelClass=\"panel-info\" #searchGroup [isOpen]=\"openSearchCriteria\">\n <div accordion-heading>\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <i class=\"float-xs-right bi\" id=\"placeSearchCriteria\" name=\"placeSearchCriteria\" \n [ngClass]=\"{'bi-chevron-down': searchGroup?.isOpen, 'bi-chevron-right': !searchGroup?.isOpen}\"></i>\n <b>Place Search Criteria</b>\n </div>\n </div>\n </div>\n <form [formGroup]=\"modalFormGroup\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"placeIDInput\">Place ID</label>\n <input type=\"search\" mask=\"999999999\" class=\"form-control\" id=\"placeIDInput\" formControlName=\"id\">\n </div>\n </div>\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"placeNameInput\">Place Name</label>\n <input type=\"search\" class=\"form-control\" id=\"placeNameInput\" formControlName=\"name\">\n </div>\n </div>\n <div class=\"col-md-12\">\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 <oepa-address [group]=\"getModalFormGroup('address')\" [isSearch]=\"true\"\n addressOneLabel=\"Address\" [hideLine2]=\"true\"></oepa-address>\n \n <div class=\"row\">\n <div class=\"col-md-3\">\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-6\">\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-3\">\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\"><span class=\"spinner-border text-primary\" role=\"status\"></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\">Reset</button>\n </div>\n </div>\n </form>\n </accordion-group>\n </accordion>\n <div *ngIf=\"tableData && tableData.length > 0\" class=\"card\">\n <div class=\"card-header\">\n <b>Place List&nbsp;</b><span class=\"badge bg-secondary\">{{tableData.length}}</span>\n </div>\n <div class=\"card-body\">\n <oepa-table tableId=\"placeSearchTable\" [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=\"errorMessage\">\n <div class=\"alert alert-danger\">\n {{errorMessage}}\n </div>\n </div>\n <div *ngIf=\"inProgressMsg\">\n <div class=\"alert alert-info\">\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=\"SavePlaceBtn\"\n [disabled]=\"!selectedPlace || inProgressMsg\"\n (click)=\"save()\" aria-label=\"Save\">Save</button>\n <button id=\"CancelPaymentBtn\" type=\"button\" class=\"btn btn-primary\"\n (click)=\"bsModalRef.hide()\" aria-label=\"Cancel\">Cancel</button>\n </div>\n </div>\n</div>" }]
5706
+ args: [{ selector: 'oepa-place-search-modal', template: "<div class=\"modal-header\" role=\"banner\">\n <h1 class=\"modal-title pull-left\" id=\"placeSearchModalTitle\">Advanced Place Search</h1>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close dialog\" (click)=\"bsModalRef.hide()\" tabindex=\"0\"></button>\n</div>\n<div class=\"modal-body\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"placeSearchModalTitle\">\n <mat-accordion class=\"accordion\" multi>\n <mat-expansion-panel class=\"accordion-item\">\n <mat-expansion-panel-header>\n <div id=\"placeSearchCriteria\">\n <mat-panel-title>\n Place Search Criteria\n </mat-panel-title>\n </div>\n </mat-expansion-panel-header>\n <form [formGroup]=\"modalFormGroup\" aria-describedby=\"placeSearchCriteria\" (keydown.enter)=\"$event.preventDefault()\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"placeIDInput\">Place ID</label>\n <input type=\"search\" mask=\"999999999\" class=\"form-control\" id=\"placeIDInput\" formControlName=\"id\">\n </div>\n </div>\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label for=\"placeNameInput\">Place Name</label>\n <input type=\"search\" class=\"form-control\" id=\"placeNameInput\" formControlName=\"name\">\n </div>\n </div>\n <div class=\"col-md-12\">\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 <oepa-address [group]=\"getModalFormGroup('address')\" [isSearch]=\"true\"\n addressOneLabel=\"Address\" [hideLine2]=\"true\" aria-label=\"Address search fields\"></oepa-address>\n \n <div class=\"row\">\n <div class=\"col-md-3\">\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-6\">\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-3\">\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=\"placeListHeader\">\n <b>Place List&nbsp;</b><span class=\"badge bg-secondary\" aria-label=\"Number of places\">{{tableData.length}}</span>\n </div>\n <div class=\"card-body\">\n <oepa-table tableId=\"placeSearchTable\" [config]=\"tableConfig\" [data]=\"tableData\" [header]=\"tableHeader\" (rowSelected)=\"onRowSelect($event)\" aria-labelledby=\"placeListHeader\">\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=\"SavePlaceBtn\"\n [disabled]=\"!selectedPlace || inProgressMsg\"\n (click)=\"save()\" aria-label=\"Save\">Save</button>\n <button id=\"CancelPaymentBtn\" type=\"button\" class=\"btn btn-primary\"\n (click)=\"bsModalRef.hide()\" aria-label=\"Cancel\">Cancel</button>\n </div>\n </div>\n</div>" }]
5703
5707
  }], ctorParameters: () => [{ type: i1$2.FormBuilder }, { type: i2$1.BsModalRef }, { type: OepaFormsService }, { type: EntityService }], propDecorators: { onPlaceSelected: [{
5704
5708
  type: Output
5705
5709
  }] } });
@@ -5791,11 +5795,11 @@ class PlaceSearchInputComponent {
5791
5795
  });
5792
5796
  }
5793
5797
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PlaceSearchInputComponent, deps: [{ token: i1$1.OepaComponentIdService }, { token: i2$1.BsModalService }, { token: EntityService }], target: i0.ɵɵFactoryTarget.Component });
5794
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PlaceSearchInputComponent, selector: "oepa-place-search-input", inputs: { group: "group", placeID: "placeID", field: "field", title: "title", errorMessageAddendum: "errorMessageAddendum", rowLayout: "rowLayout" }, outputs: { placeSelected: "placeSelected" }, ngImport: i0, template: "<div [formGroup]=\"group\" class=\"form-group\" [ngClass]=\"{'row text-right': rowLayout}\">\n <ng-template #placeTemplate let-model=\"item\" let-index=\"index\">\n <h5>{{ (model.name || '') +\n (model.addressList && model.addressList[0] ? (' - ' + model.addressList[0].address.addressLine1 + ', ' +\n model.addressList[0].address.city\n + model.addressList[0].address.state) : '') + ' (' + model.id + ')' }}</h5>\n </ng-template>\n <label [ngClass]=\"{'col-sm-4 col-form-label': rowLayout}\">\n {{title}}\n <span *ngIf=\"searching\"><span class=\"spinner-border text-primary\" role=\"status\"></span></span>\n <a href=\"javascript:void(0)\" (click)=\"advancedSearch()\">Advanced Search</a>\n </label>\n <div [ngClass]=\"{'col-sm-8': rowLayout}\">\n <input class=\"form-control\" type=\"search\"\n [ngClass]=\"{'is-invalid':group.controls[field]?.status === 'INVALID', 'col-sm-8': rowLayout}\"\n [formControlName]=\"field\" [typeahead]=\"nameSource\" [typeaheadScrollable]=\"true\"\n (typeaheadOnSelect)=\"onPlaceSelect($event)\" [id]=\"componentId + '_PlaceSearch'\"\n [typeaheadItemTemplate]=\"placeTemplate\" [typeaheadMinLength]=\"3\" placeholder=\"Search Place\">\n <small class=\"invalid-feedback\" *ngIf=\"group.controls[field]?.hasError('required')\">{{title}} is required\n {{errorMessageAddendum}}</small>\n </div>\n</div>\n<div *ngIf=\"errorMessage\" class=\"alert alert-danger\">\n {{errorMessage}}\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: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i6$1.TypeaheadDirective, selector: "[typeahead]", inputs: ["typeahead", "typeaheadMinLength", "adaptivePosition", "isAnimated", "typeaheadWaitMs", "typeaheadOptionsLimit", "typeaheadOptionField", "typeaheadGroupField", "typeaheadOrderBy", "typeaheadAsync", "typeaheadLatinize", "typeaheadSingleWords", "typeaheadWordDelimiters", "typeaheadMultipleSearch", "typeaheadMultipleSearchDelimiters", "typeaheadPhraseDelimiters", "typeaheadItemTemplate", "optionsListTemplate", "typeaheadScrollable", "typeaheadOptionsInScrollableView", "typeaheadHideResultsOnBlur", "typeaheadSelectFirstItem", "typeaheadIsFirstItemActive", "container", "dropup"], outputs: ["typeaheadLoading", "typeaheadNoResults", "typeaheadOnSelect", "typeaheadOnPreview", "typeaheadOnBlur"], exportAs: ["bs-typeahead"] }] });
5798
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PlaceSearchInputComponent, selector: "oepa-place-search-input", inputs: { group: "group", placeID: "placeID", field: "field", title: "title", errorMessageAddendum: "errorMessageAddendum", rowLayout: "rowLayout" }, outputs: { placeSelected: "placeSelected" }, ngImport: i0, template: "<div [formGroup]=\"group\" class=\"form-group\" [ngClass]=\"{'row text-right': rowLayout}\">\n <ng-template #placeTemplate let-model=\"item\" let-index=\"index\">\n <h5>{{ (model.name || '') +\n (model.addressList && model.addressList[0] ? (' - ' + model.addressList[0].address.addressLine1 + ', ' +\n model.addressList[0].address.city\n + model.addressList[0].address.state) : '') + ' (' + model.id + ')' }}</h5>\n </ng-template>\n <label [attr.for]=\"componentId + '_PlaceSearch'\" [ngClass]=\"{'col-sm-4 col-form-label': rowLayout}\">\n {{title}}\n <span *ngIf=\"searching\" aria-live=\"polite\" aria-atomic=\"true\"><span class=\"spinner-border text-primary\" role=\"status\" aria-label=\"Searching\"></span></span>\n <a href=\"javascript:void(0)\" (click)=\"advancedSearch()\">Advanced Search</a>\n </label>\n <div [ngClass]=\"{'col-sm-8': rowLayout}\">\n <input class=\"form-control\" type=\"search\"\n [ngClass]=\"{'is-invalid':group.controls[field]?.status === 'INVALID', 'col-sm-8': rowLayout}\"\n [formControlName]=\"field\" [typeahead]=\"nameSource\" [typeaheadScrollable]=\"true\"\n (typeaheadOnSelect)=\"onPlaceSelect($event)\" [id]=\"componentId + '_PlaceSearch'\"\n [typeaheadItemTemplate]=\"placeTemplate\" [typeaheadMinLength]=\"3\" placeholder=\"Search Place\"\n [attr.aria-describedby]=\"errorMessage ? componentId + '_PlaceSearch_error' : null\">\n <small class=\"invalid-feedback\" *ngIf=\"group.controls[field]?.hasError('required')\">{{title}} is required\n {{errorMessageAddendum}}</small>\n </div>\n</div>\n<div *ngIf=\"errorMessage\" class=\"alert alert-danger\" role=\"alert\" aria-live=\"assertive\" [id]=\"componentId + '_PlaceSearch_error'\">\n {{errorMessage}}\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: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i6$1.TypeaheadDirective, selector: "[typeahead]", inputs: ["typeahead", "typeaheadMinLength", "adaptivePosition", "isAnimated", "typeaheadWaitMs", "typeaheadOptionsLimit", "typeaheadOptionField", "typeaheadGroupField", "typeaheadOrderBy", "typeaheadAsync", "typeaheadLatinize", "typeaheadSingleWords", "typeaheadWordDelimiters", "typeaheadMultipleSearch", "typeaheadMultipleSearchDelimiters", "typeaheadPhraseDelimiters", "typeaheadItemTemplate", "optionsListTemplate", "typeaheadScrollable", "typeaheadOptionsInScrollableView", "typeaheadHideResultsOnBlur", "typeaheadSelectFirstItem", "typeaheadIsFirstItemActive", "container", "dropup"], outputs: ["typeaheadLoading", "typeaheadNoResults", "typeaheadOnSelect", "typeaheadOnPreview", "typeaheadOnBlur"], exportAs: ["bs-typeahead"] }] });
5795
5799
  }
5796
5800
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PlaceSearchInputComponent, decorators: [{
5797
5801
  type: Component,
5798
- args: [{ selector: 'oepa-place-search-input', template: "<div [formGroup]=\"group\" class=\"form-group\" [ngClass]=\"{'row text-right': rowLayout}\">\n <ng-template #placeTemplate let-model=\"item\" let-index=\"index\">\n <h5>{{ (model.name || '') +\n (model.addressList && model.addressList[0] ? (' - ' + model.addressList[0].address.addressLine1 + ', ' +\n model.addressList[0].address.city\n + model.addressList[0].address.state) : '') + ' (' + model.id + ')' }}</h5>\n </ng-template>\n <label [ngClass]=\"{'col-sm-4 col-form-label': rowLayout}\">\n {{title}}\n <span *ngIf=\"searching\"><span class=\"spinner-border text-primary\" role=\"status\"></span></span>\n <a href=\"javascript:void(0)\" (click)=\"advancedSearch()\">Advanced Search</a>\n </label>\n <div [ngClass]=\"{'col-sm-8': rowLayout}\">\n <input class=\"form-control\" type=\"search\"\n [ngClass]=\"{'is-invalid':group.controls[field]?.status === 'INVALID', 'col-sm-8': rowLayout}\"\n [formControlName]=\"field\" [typeahead]=\"nameSource\" [typeaheadScrollable]=\"true\"\n (typeaheadOnSelect)=\"onPlaceSelect($event)\" [id]=\"componentId + '_PlaceSearch'\"\n [typeaheadItemTemplate]=\"placeTemplate\" [typeaheadMinLength]=\"3\" placeholder=\"Search Place\">\n <small class=\"invalid-feedback\" *ngIf=\"group.controls[field]?.hasError('required')\">{{title}} is required\n {{errorMessageAddendum}}</small>\n </div>\n</div>\n<div *ngIf=\"errorMessage\" class=\"alert alert-danger\">\n {{errorMessage}}\n</div>" }]
5802
+ args: [{ selector: 'oepa-place-search-input', template: "<div [formGroup]=\"group\" class=\"form-group\" [ngClass]=\"{'row text-right': rowLayout}\">\n <ng-template #placeTemplate let-model=\"item\" let-index=\"index\">\n <h5>{{ (model.name || '') +\n (model.addressList && model.addressList[0] ? (' - ' + model.addressList[0].address.addressLine1 + ', ' +\n model.addressList[0].address.city\n + model.addressList[0].address.state) : '') + ' (' + model.id + ')' }}</h5>\n </ng-template>\n <label [attr.for]=\"componentId + '_PlaceSearch'\" [ngClass]=\"{'col-sm-4 col-form-label': rowLayout}\">\n {{title}}\n <span *ngIf=\"searching\" aria-live=\"polite\" aria-atomic=\"true\"><span class=\"spinner-border text-primary\" role=\"status\" aria-label=\"Searching\"></span></span>\n <a href=\"javascript:void(0)\" (click)=\"advancedSearch()\">Advanced Search</a>\n </label>\n <div [ngClass]=\"{'col-sm-8': rowLayout}\">\n <input class=\"form-control\" type=\"search\"\n [ngClass]=\"{'is-invalid':group.controls[field]?.status === 'INVALID', 'col-sm-8': rowLayout}\"\n [formControlName]=\"field\" [typeahead]=\"nameSource\" [typeaheadScrollable]=\"true\"\n (typeaheadOnSelect)=\"onPlaceSelect($event)\" [id]=\"componentId + '_PlaceSearch'\"\n [typeaheadItemTemplate]=\"placeTemplate\" [typeaheadMinLength]=\"3\" placeholder=\"Search Place\"\n [attr.aria-describedby]=\"errorMessage ? componentId + '_PlaceSearch_error' : null\">\n <small class=\"invalid-feedback\" *ngIf=\"group.controls[field]?.hasError('required')\">{{title}} is required\n {{errorMessageAddendum}}</small>\n </div>\n</div>\n<div *ngIf=\"errorMessage\" class=\"alert alert-danger\" role=\"alert\" aria-live=\"assertive\" [id]=\"componentId + '_PlaceSearch_error'\">\n {{errorMessage}}\n</div>" }]
5799
5803
  }], ctorParameters: () => [{ type: i1$1.OepaComponentIdService }, { type: i2$1.BsModalService }, { type: EntityService }], propDecorators: { group: [{
5800
5804
  type: Input,
5801
5805
  args: ['group']
@@ -5842,11 +5846,11 @@ class YesNoComponent {
5842
5846
  }
5843
5847
  }
5844
5848
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: YesNoComponent, deps: [{ token: i1$1.OepaComponentIdService }], target: i0.ɵɵFactoryTarget.Component });
5845
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: YesNoComponent, selector: "oepa-yes-no", inputs: { group: "group", field: "field", showValidation: "showValidation", disabled: "disabled" }, ngImport: i0, template: "<div [formGroup]=\"group\">\n <div class=\"btn-group\" style=\"background-color: #e9f0f5;\" btnRadioGroup [formControlName]=\"field\" [ngClass]=\"{'is-invalid':showValidation && group.controls[field].status === 'INVALID'}\">\n <label class=\"btn\" [ngClass]=\"{'btn-primary': group.controls[field].value === 'yes'}\" [class.active]=\"group.controls[field].value === 'yes'\" \n btnRadio=\"yes\" [uncheckable]=\"true\" [id]=\"componentId+'_YesBtn'\" [class.disabled]=\"group.disabled || disabled\" [disabled]=\"group.disabled || disabled\">Yes</label>\n <label class=\"btn\" [ngClass]=\"{'btn-primary': group.controls[field].value === 'no'}\" [class.active]=\"group.controls[field].value === 'no'\" \n btnRadio=\"no\" [uncheckable]=\"true\" [id]=\"componentId+'_NoBtn'\" [class.disabled]=\"group.disabled || disabled\" [disabled]=\"group.disabled || disabled\">No</label>\n </div>\n </div>\n <small class=\"invalid-feedback d-block\" *ngIf=\"showValidation && group.controls[field].status === 'INVALID' && !group.controls[field].hasError('answeredYes')\">Response is required</small>", 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: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4$1.ButtonRadioDirective, selector: "[btnRadio]", inputs: ["btnRadio", "uncheckable", "value", "disabled"] }, { kind: "directive", type: i4$1.ButtonRadioGroupDirective, selector: "[btnRadioGroup]" }] });
5849
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: YesNoComponent, selector: "oepa-yes-no", inputs: { group: "group", field: "field", showValidation: "showValidation", disabled: "disabled" }, ngImport: i0, template: "<div [formGroup]=\"group\">\n <div class=\"btn-group\" style=\"background-color: #e9f0f5;\" btnRadioGroup [formControlName]=\"field\" [ngClass]=\"{'is-invalid':showValidation && group.controls[field].status === 'INVALID'}\" role=\"radiogroup\">\n <button type=\"button\" class=\"btn\" [ngClass]=\"{'btn-primary': group.controls[field].value === 'yes'}\" [class.active]=\"group.controls[field].value === 'yes'\"\n btnRadio=\"yes\" [uncheckable]=\"true\" [id]=\"componentId+'_YesBtn'\" [class.disabled]=\"group.disabled || disabled\" [disabled]=\"group.disabled || disabled\" role=\"radio\" [attr.aria-checked]=\"group.controls[field].value === 'yes'\">Yes</button>\n <button type=\"button\" class=\"btn\" [ngClass]=\"{'btn-primary': group.controls[field].value === 'no'}\" [class.active]=\"group.controls[field].value === 'no'\"\n btnRadio=\"no\" [uncheckable]=\"true\" [id]=\"componentId+'_NoBtn'\" [class.disabled]=\"group.disabled || disabled\" [disabled]=\"group.disabled || disabled\" role=\"radio\" [attr.aria-checked]=\"group.controls[field].value === 'no'\">No</button>\n </div>\n </div>\n <small class=\"invalid-feedback d-block\" *ngIf=\"showValidation && group.controls[field].status === 'INVALID' && !group.controls[field].hasError('answeredYes')\">Response is required</small>", 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: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4$1.ButtonRadioDirective, selector: "[btnRadio]", inputs: ["btnRadio", "uncheckable", "value", "disabled"] }, { kind: "directive", type: i4$1.ButtonRadioGroupDirective, selector: "[btnRadioGroup]" }] });
5846
5850
  }
5847
5851
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: YesNoComponent, decorators: [{
5848
5852
  type: Component,
5849
- args: [{ selector: 'oepa-yes-no', template: "<div [formGroup]=\"group\">\n <div class=\"btn-group\" style=\"background-color: #e9f0f5;\" btnRadioGroup [formControlName]=\"field\" [ngClass]=\"{'is-invalid':showValidation && group.controls[field].status === 'INVALID'}\">\n <label class=\"btn\" [ngClass]=\"{'btn-primary': group.controls[field].value === 'yes'}\" [class.active]=\"group.controls[field].value === 'yes'\" \n btnRadio=\"yes\" [uncheckable]=\"true\" [id]=\"componentId+'_YesBtn'\" [class.disabled]=\"group.disabled || disabled\" [disabled]=\"group.disabled || disabled\">Yes</label>\n <label class=\"btn\" [ngClass]=\"{'btn-primary': group.controls[field].value === 'no'}\" [class.active]=\"group.controls[field].value === 'no'\" \n btnRadio=\"no\" [uncheckable]=\"true\" [id]=\"componentId+'_NoBtn'\" [class.disabled]=\"group.disabled || disabled\" [disabled]=\"group.disabled || disabled\">No</label>\n </div>\n </div>\n <small class=\"invalid-feedback d-block\" *ngIf=\"showValidation && group.controls[field].status === 'INVALID' && !group.controls[field].hasError('answeredYes')\">Response is required</small>" }]
5853
+ args: [{ selector: 'oepa-yes-no', template: "<div [formGroup]=\"group\">\n <div class=\"btn-group\" style=\"background-color: #e9f0f5;\" btnRadioGroup [formControlName]=\"field\" [ngClass]=\"{'is-invalid':showValidation && group.controls[field].status === 'INVALID'}\" role=\"radiogroup\">\n <button type=\"button\" class=\"btn\" [ngClass]=\"{'btn-primary': group.controls[field].value === 'yes'}\" [class.active]=\"group.controls[field].value === 'yes'\"\n btnRadio=\"yes\" [uncheckable]=\"true\" [id]=\"componentId+'_YesBtn'\" [class.disabled]=\"group.disabled || disabled\" [disabled]=\"group.disabled || disabled\" role=\"radio\" [attr.aria-checked]=\"group.controls[field].value === 'yes'\">Yes</button>\n <button type=\"button\" class=\"btn\" [ngClass]=\"{'btn-primary': group.controls[field].value === 'no'}\" [class.active]=\"group.controls[field].value === 'no'\"\n btnRadio=\"no\" [uncheckable]=\"true\" [id]=\"componentId+'_NoBtn'\" [class.disabled]=\"group.disabled || disabled\" [disabled]=\"group.disabled || disabled\" role=\"radio\" [attr.aria-checked]=\"group.controls[field].value === 'no'\">No</button>\n </div>\n </div>\n <small class=\"invalid-feedback d-block\" *ngIf=\"showValidation && group.controls[field].status === 'INVALID' && !group.controls[field].hasError('answeredYes')\">Response is required</small>" }]
5850
5854
  }], ctorParameters: () => [{ type: i1$1.OepaComponentIdService }], propDecorators: { group: [{
5851
5855
  type: Input
5852
5856
  }], field: [{
@@ -5880,11 +5884,11 @@ class YesNoBooleanComponent {
5880
5884
  }
5881
5885
  }
5882
5886
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: YesNoBooleanComponent, deps: [{ token: i1$1.OepaComponentIdService }], target: i0.ɵɵFactoryTarget.Component });
5883
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: YesNoBooleanComponent, selector: "oepa-yes-no-boolean", inputs: { group: "group", field: "field", showValidation: "showValidation", disabled: "disabled" }, ngImport: i0, template: "<div [formGroup]=\"group\">\n <div class=\"btn-group\" btnRadioGroup [formControlName]=\"field\" [ngClass]=\"{'is-invalid':showValidation && group.controls[field].status === 'INVALID'}\">\n <label class=\"btn btn-yes\" [ngClass]=\"{'btn-primary': group.controls[field].value === 'true'}\" [class.active]=\"group.controls[field].value === 'true'\" \n btnRadio=\"yes\" [uncheckable]=\"true\" [id]=\"componentId+'_YesBtn'\" [class.disabled]=\"group.disabled || disabled\" [disabled]=\"group.disabled || disabled\">Yes</label>\n <label class=\"btn btn-no\" [ngClass]=\"{'btn-primary': group.controls[field].value === 'false'}\" [class.active]=\"group.controls[field].value === 'false'\" \n btnRadio=\"no\" [uncheckable]=\"true\" [id]=\"componentId+'_NoBtn'\" [class.disabled]=\"group.disabled || disabled\" [disabled]=\"group.disabled || disabled\">No</label>\n </div>\n </div>\n <small class=\"invalid-feedback d-block\" *ngIf=\"showValidation && group.controls[field].status === 'INVALID' && !group.controls[field].hasError('answeredYes')\">Response is required</small>", 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: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4$1.ButtonRadioDirective, selector: "[btnRadio]", inputs: ["btnRadio", "uncheckable", "value", "disabled"] }, { kind: "directive", type: i4$1.ButtonRadioGroupDirective, selector: "[btnRadioGroup]" }] });
5887
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: YesNoBooleanComponent, selector: "oepa-yes-no-boolean", inputs: { group: "group", field: "field", showValidation: "showValidation", disabled: "disabled" }, ngImport: i0, template: "<div [formGroup]=\"group\">\n <div class=\"btn-group\" style=\"background-color: #e9f0f5;\" btnRadioGroup [formControlName]=\"field\" [ngClass]=\"{'is-invalid':showValidation && group.controls[field].status === 'INVALID'}\" role=\"radiogroup\">\n <button type=\"button\" class=\"btn btn-yes\" [ngClass]=\"{'btn-primary': group.controls[field].value === 'true'}\" [class.active]=\"group.controls[field].value === 'true'\"\n btnRadio=\"yes\" [uncheckable]=\"true\" [id]=\"componentId+'_YesBtn'\" [class.disabled]=\"group.disabled || disabled\" [disabled]=\"group.disabled || disabled\" role=\"radio\" [attr.aria-checked]=\"group.controls[field].value === 'true'\">Yes</button>\n <button type=\"button\" class=\"btn btn-no\" [ngClass]=\"{'btn-primary': group.controls[field].value === 'false'}\" [class.active]=\"group.controls[field].value === 'false'\"\n btnRadio=\"no\" [uncheckable]=\"true\" [id]=\"componentId+'_NoBtn'\" [class.disabled]=\"group.disabled || disabled\" [disabled]=\"group.disabled || disabled\" role=\"radio\" [attr.aria-checked]=\"group.controls[field].value === 'false'\">No</button>\n </div>\n </div>\n <small class=\"invalid-feedback d-block\" *ngIf=\"showValidation && group.controls[field].status === 'INVALID' && !group.controls[field].hasError('answeredYes')\">Response is required</small>", 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: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4$1.ButtonRadioDirective, selector: "[btnRadio]", inputs: ["btnRadio", "uncheckable", "value", "disabled"] }, { kind: "directive", type: i4$1.ButtonRadioGroupDirective, selector: "[btnRadioGroup]" }] });
5884
5888
  }
5885
5889
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: YesNoBooleanComponent, decorators: [{
5886
5890
  type: Component,
5887
- args: [{ selector: 'oepa-yes-no-boolean', template: "<div [formGroup]=\"group\">\n <div class=\"btn-group\" btnRadioGroup [formControlName]=\"field\" [ngClass]=\"{'is-invalid':showValidation && group.controls[field].status === 'INVALID'}\">\n <label class=\"btn btn-yes\" [ngClass]=\"{'btn-primary': group.controls[field].value === 'true'}\" [class.active]=\"group.controls[field].value === 'true'\" \n btnRadio=\"yes\" [uncheckable]=\"true\" [id]=\"componentId+'_YesBtn'\" [class.disabled]=\"group.disabled || disabled\" [disabled]=\"group.disabled || disabled\">Yes</label>\n <label class=\"btn btn-no\" [ngClass]=\"{'btn-primary': group.controls[field].value === 'false'}\" [class.active]=\"group.controls[field].value === 'false'\" \n btnRadio=\"no\" [uncheckable]=\"true\" [id]=\"componentId+'_NoBtn'\" [class.disabled]=\"group.disabled || disabled\" [disabled]=\"group.disabled || disabled\">No</label>\n </div>\n </div>\n <small class=\"invalid-feedback d-block\" *ngIf=\"showValidation && group.controls[field].status === 'INVALID' && !group.controls[field].hasError('answeredYes')\">Response is required</small>" }]
5891
+ args: [{ selector: 'oepa-yes-no-boolean', template: "<div [formGroup]=\"group\">\n <div class=\"btn-group\" style=\"background-color: #e9f0f5;\" btnRadioGroup [formControlName]=\"field\" [ngClass]=\"{'is-invalid':showValidation && group.controls[field].status === 'INVALID'}\" role=\"radiogroup\">\n <button type=\"button\" class=\"btn btn-yes\" [ngClass]=\"{'btn-primary': group.controls[field].value === 'true'}\" [class.active]=\"group.controls[field].value === 'true'\"\n btnRadio=\"yes\" [uncheckable]=\"true\" [id]=\"componentId+'_YesBtn'\" [class.disabled]=\"group.disabled || disabled\" [disabled]=\"group.disabled || disabled\" role=\"radio\" [attr.aria-checked]=\"group.controls[field].value === 'true'\">Yes</button>\n <button type=\"button\" class=\"btn btn-no\" [ngClass]=\"{'btn-primary': group.controls[field].value === 'false'}\" [class.active]=\"group.controls[field].value === 'false'\"\n btnRadio=\"no\" [uncheckable]=\"true\" [id]=\"componentId+'_NoBtn'\" [class.disabled]=\"group.disabled || disabled\" [disabled]=\"group.disabled || disabled\" role=\"radio\" [attr.aria-checked]=\"group.controls[field].value === 'false'\">No</button>\n </div>\n </div>\n <small class=\"invalid-feedback d-block\" *ngIf=\"showValidation && group.controls[field].status === 'INVALID' && !group.controls[field].hasError('answeredYes')\">Response is required</small>" }]
5888
5892
  }], ctorParameters: () => [{ type: i1$1.OepaComponentIdService }], propDecorators: { group: [{
5889
5893
  type: Input
5890
5894
  }], field: [{
@@ -5917,11 +5921,11 @@ class YesNoOtherInputComponent {
5917
5921
  }
5918
5922
  }
5919
5923
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: YesNoOtherInputComponent, deps: [{ token: i1$1.OepaComponentIdService }], target: i0.ɵɵFactoryTarget.Component });
5920
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: YesNoOtherInputComponent, selector: "oepa-yes-no-other-input", inputs: { group: "group", field: "field", showValidation: "showValidation" }, ngImport: i0, template: "<div [formGroup]=\"group\">\n <div class=\"btn-group\" btnRadioGroup [formControlName]=\"field\" [ngClass]=\"{'is-invalid':showValidation && group.controls[field].status === 'INVALID'}\">\n <label class=\"btn btn-yes\" [ngClass]=\"{'btn-primary': group.controls[field].value === 'yes'}\" [class.active]=\"group.controls[field].value === 'yes'\" \n btnRadio=\"yes\" [uncheckable]=\"true\" [id]=\"componentId+'_YesBtn'\" [class.disabled]=\"group.disabled\" [disabled]=\"group.disabled\">Yes</label>\n <label class=\"btn btn-no\" [ngClass]=\"{'btn-primary': group.controls[field].value === 'no'}\"[class.active]=\"group.controls[field].value === 'no'\" \n btnRadio=\"no\" [uncheckable]=\"true\" [id]=\"componentId+'_NoBtn'\"[class.disabled]=\"group.disabled\" [disabled]=\"group.disabled\">No</label>\n <label class=\"btn btn-no\" [ngClass]=\"{'btn-primary': group.controls[field].value === 'unknown'}\" [class.active]=\"group.controls[field].value === 'unknown'\" \n btnRadio=\"unknown\" [uncheckable]=\"true\" [id]=\"componentId+'_UnknownBtn'\"[class.disabled]=\"group.disabled\" [disabled]=\"group.disabled\">Unknown</label>\n </div>\n </div>\n <small class=\"invalid-feedback d-block\" *ngIf=\"showValidation && group.controls[field].status === 'INVALID' && !group.controls[field].hasError('answeredYes')\">Response is required</small>", 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: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4$1.ButtonRadioDirective, selector: "[btnRadio]", inputs: ["btnRadio", "uncheckable", "value", "disabled"] }, { kind: "directive", type: i4$1.ButtonRadioGroupDirective, selector: "[btnRadioGroup]" }] });
5924
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: YesNoOtherInputComponent, selector: "oepa-yes-no-other-input", inputs: { group: "group", field: "field", showValidation: "showValidation" }, ngImport: i0, template: "<div [formGroup]=\"group\">\n <div class=\"btn-group\" style=\"background-color: #e9f0f5;\" btnRadioGroup [formControlName]=\"field\" [ngClass]=\"{'is-invalid':showValidation && group.controls[field].status === 'INVALID'}\" role=\"radiogroup\">\n <button type=\"button\" class=\"btn btn-yes\" [ngClass]=\"{'btn-primary': group.controls[field].value === 'yes'}\" [class.active]=\"group.controls[field].value === 'yes'\"\n btnRadio=\"yes\" [uncheckable]=\"true\" [id]=\"componentId+'_YesBtn'\" [class.disabled]=\"group.disabled\" [disabled]=\"group.disabled\" role=\"radio\" [attr.aria-checked]=\"group.controls[field].value === 'yes'\">Yes</button>\n <button type=\"button\" class=\"btn btn-no\" [ngClass]=\"{'btn-primary': group.controls[field].value === 'no'}\" [class.active]=\"group.controls[field].value === 'no'\"\n btnRadio=\"no\" [uncheckable]=\"true\" [id]=\"componentId+'_NoBtn'\" [class.disabled]=\"group.disabled\" [disabled]=\"group.disabled\" role=\"radio\" [attr.aria-checked]=\"group.controls[field].value === 'no'\">No</button>\n <button type=\"button\" class=\"btn btn-no\" [ngClass]=\"{'btn-primary': group.controls[field].value === 'unknown'}\" [class.active]=\"group.controls[field].value === 'unknown'\"\n btnRadio=\"unknown\" [uncheckable]=\"true\" [id]=\"componentId+'_UnknownBtn'\" [class.disabled]=\"group.disabled\" [disabled]=\"group.disabled\" role=\"radio\" [attr.aria-checked]=\"group.controls[field].value === 'unknown'\">Unknown</button>\n </div>\n</div>\n<small class=\"invalid-feedback d-block\" *ngIf=\"showValidation && group.controls[field].status === 'INVALID' && !group.controls[field].hasError('answeredYes')\">Response is required</small>", 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: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4$1.ButtonRadioDirective, selector: "[btnRadio]", inputs: ["btnRadio", "uncheckable", "value", "disabled"] }, { kind: "directive", type: i4$1.ButtonRadioGroupDirective, selector: "[btnRadioGroup]" }] });
5921
5925
  }
5922
5926
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: YesNoOtherInputComponent, decorators: [{
5923
5927
  type: Component,
5924
- args: [{ selector: 'oepa-yes-no-other-input', template: "<div [formGroup]=\"group\">\n <div class=\"btn-group\" btnRadioGroup [formControlName]=\"field\" [ngClass]=\"{'is-invalid':showValidation && group.controls[field].status === 'INVALID'}\">\n <label class=\"btn btn-yes\" [ngClass]=\"{'btn-primary': group.controls[field].value === 'yes'}\" [class.active]=\"group.controls[field].value === 'yes'\" \n btnRadio=\"yes\" [uncheckable]=\"true\" [id]=\"componentId+'_YesBtn'\" [class.disabled]=\"group.disabled\" [disabled]=\"group.disabled\">Yes</label>\n <label class=\"btn btn-no\" [ngClass]=\"{'btn-primary': group.controls[field].value === 'no'}\"[class.active]=\"group.controls[field].value === 'no'\" \n btnRadio=\"no\" [uncheckable]=\"true\" [id]=\"componentId+'_NoBtn'\"[class.disabled]=\"group.disabled\" [disabled]=\"group.disabled\">No</label>\n <label class=\"btn btn-no\" [ngClass]=\"{'btn-primary': group.controls[field].value === 'unknown'}\" [class.active]=\"group.controls[field].value === 'unknown'\" \n btnRadio=\"unknown\" [uncheckable]=\"true\" [id]=\"componentId+'_UnknownBtn'\"[class.disabled]=\"group.disabled\" [disabled]=\"group.disabled\">Unknown</label>\n </div>\n </div>\n <small class=\"invalid-feedback d-block\" *ngIf=\"showValidation && group.controls[field].status === 'INVALID' && !group.controls[field].hasError('answeredYes')\">Response is required</small>" }]
5928
+ args: [{ selector: 'oepa-yes-no-other-input', template: "<div [formGroup]=\"group\">\n <div class=\"btn-group\" style=\"background-color: #e9f0f5;\" btnRadioGroup [formControlName]=\"field\" [ngClass]=\"{'is-invalid':showValidation && group.controls[field].status === 'INVALID'}\" role=\"radiogroup\">\n <button type=\"button\" class=\"btn btn-yes\" [ngClass]=\"{'btn-primary': group.controls[field].value === 'yes'}\" [class.active]=\"group.controls[field].value === 'yes'\"\n btnRadio=\"yes\" [uncheckable]=\"true\" [id]=\"componentId+'_YesBtn'\" [class.disabled]=\"group.disabled\" [disabled]=\"group.disabled\" role=\"radio\" [attr.aria-checked]=\"group.controls[field].value === 'yes'\">Yes</button>\n <button type=\"button\" class=\"btn btn-no\" [ngClass]=\"{'btn-primary': group.controls[field].value === 'no'}\" [class.active]=\"group.controls[field].value === 'no'\"\n btnRadio=\"no\" [uncheckable]=\"true\" [id]=\"componentId+'_NoBtn'\" [class.disabled]=\"group.disabled\" [disabled]=\"group.disabled\" role=\"radio\" [attr.aria-checked]=\"group.controls[field].value === 'no'\">No</button>\n <button type=\"button\" class=\"btn btn-no\" [ngClass]=\"{'btn-primary': group.controls[field].value === 'unknown'}\" [class.active]=\"group.controls[field].value === 'unknown'\"\n btnRadio=\"unknown\" [uncheckable]=\"true\" [id]=\"componentId+'_UnknownBtn'\" [class.disabled]=\"group.disabled\" [disabled]=\"group.disabled\" role=\"radio\" [attr.aria-checked]=\"group.controls[field].value === 'unknown'\">Unknown</button>\n </div>\n</div>\n<small class=\"invalid-feedback d-block\" *ngIf=\"showValidation && group.controls[field].status === 'INVALID' && !group.controls[field].hasError('answeredYes')\">Response is required</small>" }]
5925
5929
  }], ctorParameters: () => [{ type: i1$1.OepaComponentIdService }], propDecorators: { group: [{
5926
5930
  type: Input
5927
5931
  }], field: [{
@@ -5971,11 +5975,11 @@ class DateInputModalComponent {
5971
5975
  this.bsModalRef.hide();
5972
5976
  }
5973
5977
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateInputModalComponent, deps: [{ token: i2$1.BsModalRef }, { token: i1$2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
5974
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DateInputModalComponent, selector: "oepa-date-input-modal", inputs: { title: "title", infoText: "infoText", dateLabel: "dateLabel", submitBtnLabel: "submitBtnLabel", cancelBtnLabel: "cancelBtnLabel", bsConfig: "bsConfig" }, outputs: { onSubmit: "onSubmit", onCancel: "onCancel" }, ngImport: i0, template: "<div class=\"modal-header\">\n <h1 class=\"modal-title pull-left\" id=\"dateInputModalTitle\">{{title}}</h1>\n <button type=\"button\" class=\"close pull-right\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n</div>\n<div class=\"modal-body\">\n <div class=\"row\">\n <div *ngIf=\"infoText\" class=\"col-sm-12\">\n <div class=\"alert alert-info\">\n {{infoText}}\n </div>\n </div>\n <div class=\"col-sm-12\">\n <div>\n <label [for]=\"datepicker.inputId\">{{dateLabel}}</label>\n <oepa-datepicker\n #datepicker=\"oepa-datepicker\"\n [group]=\"dateForm\"\n field=\"date\"\n [bsConfig]=\"bsConfig || {}\"\n [showValidation]=\"true\"\n ></oepa-datepicker>\n </div>\n </div>\n </div>\n <div *ngIf=\"errorMessage\" class=\"col-sm-12\">\n <div class=\"alert alert-danger\">{{errorMessage}}</div>\n </div>\n</div>\n<div class=\"modal-footer\">\n <button type=\"submit\" class=\"btn btn-primary mr-1\" (click)=\"submit()\" \n [id]=\"'submitDateBtn'\" [disabled]=\"dateForm.status === 'INVALID'\" [attr.aria-label]=\"submitBtnLabel\">{{submitBtnLabel}}</button>\n <button [id]=\"'cancelDateInputBtn'\" type=\"button\" class=\"btn btn-primary mr-1\" (click)=\"cancel()\" [attr.aria-label]=\"cancelBtnLabel\">{{cancelBtnLabel}}</button>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DatepickerComponent, selector: "oepa-datepicker", inputs: ["group", "field", "bsConfig", "showValidation", "placement", "tableIdx", "small"], exportAs: ["oepa-datepicker"] }] });
5978
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DateInputModalComponent, selector: "oepa-date-input-modal", inputs: { title: "title", infoText: "infoText", dateLabel: "dateLabel", submitBtnLabel: "submitBtnLabel", cancelBtnLabel: "cancelBtnLabel", bsConfig: "bsConfig" }, outputs: { onSubmit: "onSubmit", onCancel: "onCancel" }, ngImport: i0, template: "<div class=\"modal-header\" role=\"banner\">\n <h1 class=\"modal-title pull-left\" id=\"dateInputModalTitle\">{{title}}</h1>\n <button type=\"button\" class=\"close pull-right\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n</div>\n<div class=\"modal-body\" role=\"dialog\" aria-labelledby=\"dateInputModalTitle\">\n <div class=\"row\">\n <div *ngIf=\"infoText\" class=\"col-sm-12\">\n <div class=\"alert alert-info\" role=\"alert\">\n {{infoText}}\n </div>\n </div>\n <div class=\"col-sm-12\">\n <div>\n <label [for]=\"datepicker.inputId\" [id]=\"datepicker.inputId+'_Label'\">{{dateLabel}}</label>\n <oepa-datepicker\n #datepicker=\"oepa-datepicker\"\n [group]=\"dateForm\"\n field=\"date\"\n [bsConfig]=\"bsConfig || {}\"\n [showValidation]=\"true\"\n ></oepa-datepicker>\n </div>\n </div>\n </div>\n <div *ngIf=\"errorMessage\" class=\"col-sm-12\">\n <div class=\"alert alert-danger\" role=\"alert\">{{errorMessage}}</div>\n </div>\n</div>\n<div class=\"modal-footer\" role=\"contentinfo\">\n <button type=\"submit\" class=\"btn btn-primary mr-1\" (click)=\"submit()\" \n [id]=\"'submitDateBtn'\" [disabled]=\"dateForm.status === 'INVALID'\" [attr.aria-label]=\"submitBtnLabel\">{{submitBtnLabel}}</button>\n <button [id]=\"'cancelDateInputBtn'\" type=\"button\" class=\"btn btn-primary mr-1\" (click)=\"cancel()\" [attr.aria-label]=\"cancelBtnLabel\">{{cancelBtnLabel}}</button>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DatepickerComponent, selector: "oepa-datepicker", inputs: ["group", "field", "bsConfig", "showValidation", "placement", "tableIdx", "small"], exportAs: ["oepa-datepicker"] }] });
5975
5979
  }
5976
5980
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateInputModalComponent, decorators: [{
5977
5981
  type: Component,
5978
- args: [{ selector: 'oepa-date-input-modal', template: "<div class=\"modal-header\">\n <h1 class=\"modal-title pull-left\" id=\"dateInputModalTitle\">{{title}}</h1>\n <button type=\"button\" class=\"close pull-right\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n</div>\n<div class=\"modal-body\">\n <div class=\"row\">\n <div *ngIf=\"infoText\" class=\"col-sm-12\">\n <div class=\"alert alert-info\">\n {{infoText}}\n </div>\n </div>\n <div class=\"col-sm-12\">\n <div>\n <label [for]=\"datepicker.inputId\">{{dateLabel}}</label>\n <oepa-datepicker\n #datepicker=\"oepa-datepicker\"\n [group]=\"dateForm\"\n field=\"date\"\n [bsConfig]=\"bsConfig || {}\"\n [showValidation]=\"true\"\n ></oepa-datepicker>\n </div>\n </div>\n </div>\n <div *ngIf=\"errorMessage\" class=\"col-sm-12\">\n <div class=\"alert alert-danger\">{{errorMessage}}</div>\n </div>\n</div>\n<div class=\"modal-footer\">\n <button type=\"submit\" class=\"btn btn-primary mr-1\" (click)=\"submit()\" \n [id]=\"'submitDateBtn'\" [disabled]=\"dateForm.status === 'INVALID'\" [attr.aria-label]=\"submitBtnLabel\">{{submitBtnLabel}}</button>\n <button [id]=\"'cancelDateInputBtn'\" type=\"button\" class=\"btn btn-primary mr-1\" (click)=\"cancel()\" [attr.aria-label]=\"cancelBtnLabel\">{{cancelBtnLabel}}</button>\n</div>\n" }]
5982
+ args: [{ selector: 'oepa-date-input-modal', template: "<div class=\"modal-header\" role=\"banner\">\n <h1 class=\"modal-title pull-left\" id=\"dateInputModalTitle\">{{title}}</h1>\n <button type=\"button\" class=\"close pull-right\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n</div>\n<div class=\"modal-body\" role=\"dialog\" aria-labelledby=\"dateInputModalTitle\">\n <div class=\"row\">\n <div *ngIf=\"infoText\" class=\"col-sm-12\">\n <div class=\"alert alert-info\" role=\"alert\">\n {{infoText}}\n </div>\n </div>\n <div class=\"col-sm-12\">\n <div>\n <label [for]=\"datepicker.inputId\" [id]=\"datepicker.inputId+'_Label'\">{{dateLabel}}</label>\n <oepa-datepicker\n #datepicker=\"oepa-datepicker\"\n [group]=\"dateForm\"\n field=\"date\"\n [bsConfig]=\"bsConfig || {}\"\n [showValidation]=\"true\"\n ></oepa-datepicker>\n </div>\n </div>\n </div>\n <div *ngIf=\"errorMessage\" class=\"col-sm-12\">\n <div class=\"alert alert-danger\" role=\"alert\">{{errorMessage}}</div>\n </div>\n</div>\n<div class=\"modal-footer\" role=\"contentinfo\">\n <button type=\"submit\" class=\"btn btn-primary mr-1\" (click)=\"submit()\" \n [id]=\"'submitDateBtn'\" [disabled]=\"dateForm.status === 'INVALID'\" [attr.aria-label]=\"submitBtnLabel\">{{submitBtnLabel}}</button>\n <button [id]=\"'cancelDateInputBtn'\" type=\"button\" class=\"btn btn-primary mr-1\" (click)=\"cancel()\" [attr.aria-label]=\"cancelBtnLabel\">{{cancelBtnLabel}}</button>\n</div>\n" }]
5979
5983
  }], ctorParameters: () => [{ type: i2$1.BsModalRef }, { type: i1$2.FormBuilder }], propDecorators: { title: [{
5980
5984
  type: Input
5981
5985
  }], infoText: [{
@@ -6024,11 +6028,11 @@ class EbizAddressComponent {
6024
6028
  }
6025
6029
  }
6026
6030
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EbizAddressComponent, deps: [{ token: OepaAddressService }, { token: i1$1.OepaComponentIdService }], target: i0.ɵɵFactoryTarget.Component });
6027
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: EbizAddressComponent, selector: "oepa-ebiz-address", inputs: { group: "group", showValidation: "showValidation", addressOneLabel: "addressOneLabel", addressTwoLabel: "addressTwoLabel", cityLabel: "cityLabel", stateLabel: "stateLabel", zipCodeLabel: "zipCodeLabel" }, ngImport: i0, template: "<div [formGroup]=\"group\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label>{{addressOneLabel}}</label>\n <input class=\"form-control\" [ngClass]=\"{'is-invalid':showValidation && group.controls['addressLine1'].status === 'INVALID'}\" \n type=\"text\" placeholder=\"Address\" maxlength=\"40\" formControlName=\"addressLine1\" \n [id]=\"componentId+'_Line1Input'\">\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['addressLine1'].hasError('required')\">{{addressOneLabel}} is required</small>\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['addressLine1'].hasError('maxlength')\">{{addressOneLabel}} has exceeded its maximum length</small>\n </div>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label>{{addressTwoLabel}}</label>\n <input class=\"form-control\" [ngClass]=\"{'is-invalid':showValidation && group.controls['addressLine2'].status === 'INVALID'}\"\n type=\"text\" placeholder=\"Address\" maxlength=\"40\" formControlName=\"addressLine2\" \n [id]=\"componentId+'_Line2Input'\">\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['addressLine2'].hasError('required')\">{{addressTwoLabel}} is required</small>\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['addressLine2'].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>{{cityLabel}}</label>\n <input class=\"form-control\" [ngClass]=\"{'is-invalid':showValidation && group.controls['city'].status === 'INVALID'}\"\n type=\"text\" placeholder=\"City\" maxlength=\"30\" formControlName=\"city\" \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\" class=\"form-group\">\n <label>{{stateLabel}}</label>\n <select class=\"form-select\" [ngClass]=\"{'is-invalid':showValidation && group.controls['state'].status === 'INVALID'}\" \n name=\"AddressState\" formControlName=\"state\" [id]=\"componentId+'_StateSelect'\">\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 class=\"form-group\">\n <label>{{zipCodeLabel}}</label>\n <input class=\"form-control\" [ngClass]=\"{'is-invalid':showValidation && group.controls['zip'].status === 'INVALID'}\"\n type=\"text\" placeholder=\"Zip Code\" formControlName=\"zip\" [id]=\"componentId+'_ZipInput'\">\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['zip'].hasError('required')\">Zip code is required</small>\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['zip'].hasError('pattern')\">Zip code must contain exactly 5 digits</small>\n </div>\n </div>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$2.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$2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
6031
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: EbizAddressComponent, selector: "oepa-ebiz-address", inputs: { group: "group", showValidation: "showValidation", addressOneLabel: "addressOneLabel", addressTwoLabel: "addressTwoLabel", cityLabel: "cityLabel", stateLabel: "stateLabel", zipCodeLabel: "zipCodeLabel" }, ngImport: i0, template: "<div [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['addressLine1'].status === 'INVALID'}\" \n type=\"text\" placeholder=\"Address\" maxlength=\"40\" formControlName=\"addressLine1\" [id]=\"componentId+'_Line1Input'\" role=\"textbox\">\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['addressLine1'].hasError('required')\">{{addressOneLabel}} is required</small>\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['addressLine1'].hasError('maxlength')\">{{addressOneLabel}} has exceeded its maximum length</small>\n </div>\n </div>\n </div>\n <div 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['addressLine2'].status === 'INVALID'}\"\n type=\"text\" placeholder=\"Address\" maxlength=\"40\" formControlName=\"addressLine2\" [id]=\"componentId+'_Line2Input'\" role=\"textbox\">\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['addressLine2'].hasError('required')\">{{addressTwoLabel}} is required</small>\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['addressLine2'].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=\"text\" placeholder=\"City\" maxlength=\"30\" formControlName=\"city\" [id]=\"componentId+'_CityInput'\" role=\"textbox\">\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\" 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'\" role=\"combobox\">\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 class=\"form-group\">\n <label [for]=\"componentId+'_ZipInput'\">{{zipCodeLabel}}</label>\n <input class=\"form-control\" [ngClass]=\"{'is-invalid':showValidation && group.controls['zip'].status === 'INVALID'}\"\n type=\"text\" placeholder=\"Zip Code\" formControlName=\"zip\" [id]=\"componentId+'_ZipInput'\" role=\"textbox\">\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['zip'].hasError('required')\">Zip code is required</small>\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['zip'].hasError('pattern')\">Zip code must contain exactly 5 digits</small>\n </div>\n </div>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$2.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$2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
6028
6032
  }
6029
6033
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EbizAddressComponent, decorators: [{
6030
6034
  type: Component,
6031
- args: [{ selector: 'oepa-ebiz-address', template: "<div [formGroup]=\"group\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label>{{addressOneLabel}}</label>\n <input class=\"form-control\" [ngClass]=\"{'is-invalid':showValidation && group.controls['addressLine1'].status === 'INVALID'}\" \n type=\"text\" placeholder=\"Address\" maxlength=\"40\" formControlName=\"addressLine1\" \n [id]=\"componentId+'_Line1Input'\">\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['addressLine1'].hasError('required')\">{{addressOneLabel}} is required</small>\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['addressLine1'].hasError('maxlength')\">{{addressOneLabel}} has exceeded its maximum length</small>\n </div>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-md-12\">\n <div class=\"form-group\">\n <label>{{addressTwoLabel}}</label>\n <input class=\"form-control\" [ngClass]=\"{'is-invalid':showValidation && group.controls['addressLine2'].status === 'INVALID'}\"\n type=\"text\" placeholder=\"Address\" maxlength=\"40\" formControlName=\"addressLine2\" \n [id]=\"componentId+'_Line2Input'\">\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['addressLine2'].hasError('required')\">{{addressTwoLabel}} is required</small>\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['addressLine2'].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>{{cityLabel}}</label>\n <input class=\"form-control\" [ngClass]=\"{'is-invalid':showValidation && group.controls['city'].status === 'INVALID'}\"\n type=\"text\" placeholder=\"City\" maxlength=\"30\" formControlName=\"city\" \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\" class=\"form-group\">\n <label>{{stateLabel}}</label>\n <select class=\"form-select\" [ngClass]=\"{'is-invalid':showValidation && group.controls['state'].status === 'INVALID'}\" \n name=\"AddressState\" formControlName=\"state\" [id]=\"componentId+'_StateSelect'\">\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 class=\"form-group\">\n <label>{{zipCodeLabel}}</label>\n <input class=\"form-control\" [ngClass]=\"{'is-invalid':showValidation && group.controls['zip'].status === 'INVALID'}\"\n type=\"text\" placeholder=\"Zip Code\" formControlName=\"zip\" [id]=\"componentId+'_ZipInput'\">\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['zip'].hasError('required')\">Zip code is required</small>\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['zip'].hasError('pattern')\">Zip code must contain exactly 5 digits</small>\n </div>\n </div>\n </div>\n</div>" }]
6035
+ args: [{ selector: 'oepa-ebiz-address', template: "<div [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['addressLine1'].status === 'INVALID'}\" \n type=\"text\" placeholder=\"Address\" maxlength=\"40\" formControlName=\"addressLine1\" [id]=\"componentId+'_Line1Input'\" role=\"textbox\">\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['addressLine1'].hasError('required')\">{{addressOneLabel}} is required</small>\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['addressLine1'].hasError('maxlength')\">{{addressOneLabel}} has exceeded its maximum length</small>\n </div>\n </div>\n </div>\n <div 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['addressLine2'].status === 'INVALID'}\"\n type=\"text\" placeholder=\"Address\" maxlength=\"40\" formControlName=\"addressLine2\" [id]=\"componentId+'_Line2Input'\" role=\"textbox\">\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['addressLine2'].hasError('required')\">{{addressTwoLabel}} is required</small>\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['addressLine2'].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=\"text\" placeholder=\"City\" maxlength=\"30\" formControlName=\"city\" [id]=\"componentId+'_CityInput'\" role=\"textbox\">\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\" 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'\" role=\"combobox\">\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 class=\"form-group\">\n <label [for]=\"componentId+'_ZipInput'\">{{zipCodeLabel}}</label>\n <input class=\"form-control\" [ngClass]=\"{'is-invalid':showValidation && group.controls['zip'].status === 'INVALID'}\"\n type=\"text\" placeholder=\"Zip Code\" formControlName=\"zip\" [id]=\"componentId+'_ZipInput'\" role=\"textbox\">\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['zip'].hasError('required')\">Zip code is required</small>\n <small class=\"invalid-feedback\" *ngIf=\"group.controls['zip'].hasError('pattern')\">Zip code must contain exactly 5 digits</small>\n </div>\n </div>\n </div>\n</div>" }]
6032
6036
  }], ctorParameters: () => [{ type: OepaAddressService }, { type: i1$1.OepaComponentIdService }], propDecorators: { group: [{
6033
6037
  type: Input
6034
6038
  }], showValidation: [{
@@ -6272,11 +6276,11 @@ class EdocAttachmentComponent {
6272
6276
  });
6273
6277
  }
6274
6278
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EdocAttachmentComponent, deps: [{ token: i1$1.OepaComponentIdService }, { token: i1$1.OepaFileUtilService }, { token: EdocAttachmentService }, { token: i2$1.BsModalService }], target: i0.ɵɵFactoryTarget.Component });
6275
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: EdocAttachmentComponent, selector: "oepa-edoc-attachment", inputs: { attachment: "attachment", group: "group", field: "field", label: "label", errorLabel: "errorLabel", showValidation: "showValidation", accept: "accept", removeAllowed: "removeAllowed", okToDelete: "okToDelete" }, outputs: { fileUploaded: "fileUploaded", fileRemoved: "fileRemoved", download: "download" }, ngImport: i0, template: "<form [formGroup]=\"group\">\n <div *ngIf=\"!attachment || !attachment.userFilename\" class=\"form-group\">\n <div>\n <label *ngIf=\"label\">{{label}}</label>\n <div class=\"form-group\">\n <div class=\"input-group\">\n <span *ngIf=\"!busy\" class=\"input-group-btn\">\n <label class=\"btn btn-primary btn-file\">\n Browse&hellip;\n <input type=\"file\" style=\"display: none;\" (change)=\"fileChange($event)\"\n [id]=\"componentId+'_BrowseBtn'\" class=\"form-control\"\n [attr.accept]=\"accept ? accept : null\"\n [disabled]=\"group.controls[field].status === 'DISABLED'\">\n </label>\n </span>\n <span *ngIf=\"busy\"> <span class=\"spinner-border text-primary\" role=\"status\"></span></span>\n <input [ngClass]=\"{'is-invalid':showValidation && group.controls[field].status === 'INVALID'}\"\n type=\"text\" class=\"form-control\" placeholder=\"No file chosen\" [id]=\"componentId+'_Input'\" readonly>\n <small class=\"invalid-feedback\"\n *ngIf=\"showValidation && group.controls[field].status === 'INVALID'\">{{errorLabel || label}} is\n required</small>\n </div>\n <!-- dummy input field for validation purposes -->\n <input type=\"text\" [hidden]=\"true\" [formControlName]=\"field\" id=\"field\" />\n </div>\n </div>\n </div>\n <div *ngIf=\"attachment && attachment.userFilename\">\n <div>\n <label *ngIf=\"label\">{{label}}</label>\n <div class=\"input-group\">\n <a (click)=\"downloadFile(attachment)\" [id]=\"componentId+'_DownloadFileLink'\" \n class=\"form-control\">{{attachment.userFilename}}</a>\n <span *ngIf=\"removeAllowed && !busy\" class=\"input-group-btn\">\n <button type=\"button\" class=\"btn btn-primary\" [id]=\"componentId+'_RemoveFileBtn'\"\n (click)=\"removeFile()\"\n [disabled]=\"group.controls[field].status === 'DISABLED'\" aria-label=\"Remove Attachment\">Remove Attachment</button>\n </span>\n <span *ngIf=\"busy\"> <span class=\"spinner-border text-primary\" role=\"status\"></span></span>\n </div>\n </div>\n </div>\n <div *ngIf=\"errorMsg\" class=\"alert alert-danger\" role=\"alert\">{{errorMsg}}</div>\n</form>", styles: ["a:hover{cursor:pointer}a{color:#3399f3!important}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
6279
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: EdocAttachmentComponent, selector: "oepa-edoc-attachment", inputs: { attachment: "attachment", group: "group", field: "field", label: "label", errorLabel: "errorLabel", showValidation: "showValidation", accept: "accept", removeAllowed: "removeAllowed", okToDelete: "okToDelete" }, outputs: { fileUploaded: "fileUploaded", fileRemoved: "fileRemoved", download: "download" }, ngImport: i0, template: "<form [formGroup]=\"group\">\n <div *ngIf=\"!attachment || !attachment.userFilename\" class=\"form-group\">\n <div>\n <label *ngIf=\"label\" [for]=\"componentId+'_Input'\">{{label}}</label>\n <div class=\"form-group\">\n <div class=\"input-group\">\n <span *ngIf=\"!busy\" class=\"input-group-btn\">\n <label class=\"btn btn-primary btn-file\">\n Browse&hellip;\n <input type=\"file\" style=\"display: none;\" (change)=\"fileChange($event)\"\n [id]=\"componentId+'_BrowseBtn'\" class=\"form-control\"\n [attr.accept]=\"accept ? accept : null\"\n [disabled]=\"group.controls[field].status === 'DISABLED'\"\n aria-label=\"Browse for file\">\n </label>\n </span>\n <span *ngIf=\"busy\"> <span class=\"spinner-border text-primary\" role=\"status\"></span></span>\n <input [ngClass]=\"{'is-invalid':showValidation && group.controls[field].status === 'INVALID'}\"\n type=\"text\" class=\"form-control\" placeholder=\"No file chosen\" [id]=\"componentId+'_Input'\" readonly>\n <small class=\"invalid-feedback\"\n *ngIf=\"showValidation && group.controls[field].status === 'INVALID'\">{{errorLabel || label}} is\n required</small>\n </div>\n <!-- dummy input field for validation purposes -->\n <input type=\"text\" [hidden]=\"true\" [formControlName]=\"field\" aria-hidden=\"true\" />\n </div>\n </div>\n </div>\n <div *ngIf=\"attachment && attachment.userFilename\">\n <div>\n <label *ngIf=\"label\" [for]=\"componentId+'_DownloadFileLink'\">{{label}}</label>\n <div class=\"input-group\">\n <a (click)=\"downloadFile(attachment)\" [id]=\"componentId+'_DownloadFileLink'\" \n class=\"form-control\">{{attachment.userFilename}}</a>\n <span *ngIf=\"removeAllowed && !busy\" class=\"input-group-btn\">\n <button type=\"button\" class=\"btn btn-primary\" [id]=\"componentId+'_RemoveFileBtn'\"\n (click)=\"removeFile()\"\n [disabled]=\"group.controls[field].status === 'DISABLED'\" aria-label=\"Remove Attachment\">Remove Attachment</button>\n </span>\n <span *ngIf=\"busy\"> <span class=\"spinner-border text-primary\" role=\"status\"></span></span>\n </div>\n </div>\n </div>\n <div *ngIf=\"errorMsg\" class=\"alert alert-danger\" role=\"alert\">{{errorMsg}}</div>\n</form>", styles: ["a:hover{cursor:pointer}a{color:#3399f3!important}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
6276
6280
  }
6277
6281
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EdocAttachmentComponent, decorators: [{
6278
6282
  type: Component,
6279
- args: [{ selector: 'oepa-edoc-attachment', template: "<form [formGroup]=\"group\">\n <div *ngIf=\"!attachment || !attachment.userFilename\" class=\"form-group\">\n <div>\n <label *ngIf=\"label\">{{label}}</label>\n <div class=\"form-group\">\n <div class=\"input-group\">\n <span *ngIf=\"!busy\" class=\"input-group-btn\">\n <label class=\"btn btn-primary btn-file\">\n Browse&hellip;\n <input type=\"file\" style=\"display: none;\" (change)=\"fileChange($event)\"\n [id]=\"componentId+'_BrowseBtn'\" class=\"form-control\"\n [attr.accept]=\"accept ? accept : null\"\n [disabled]=\"group.controls[field].status === 'DISABLED'\">\n </label>\n </span>\n <span *ngIf=\"busy\"> <span class=\"spinner-border text-primary\" role=\"status\"></span></span>\n <input [ngClass]=\"{'is-invalid':showValidation && group.controls[field].status === 'INVALID'}\"\n type=\"text\" class=\"form-control\" placeholder=\"No file chosen\" [id]=\"componentId+'_Input'\" readonly>\n <small class=\"invalid-feedback\"\n *ngIf=\"showValidation && group.controls[field].status === 'INVALID'\">{{errorLabel || label}} is\n required</small>\n </div>\n <!-- dummy input field for validation purposes -->\n <input type=\"text\" [hidden]=\"true\" [formControlName]=\"field\" id=\"field\" />\n </div>\n </div>\n </div>\n <div *ngIf=\"attachment && attachment.userFilename\">\n <div>\n <label *ngIf=\"label\">{{label}}</label>\n <div class=\"input-group\">\n <a (click)=\"downloadFile(attachment)\" [id]=\"componentId+'_DownloadFileLink'\" \n class=\"form-control\">{{attachment.userFilename}}</a>\n <span *ngIf=\"removeAllowed && !busy\" class=\"input-group-btn\">\n <button type=\"button\" class=\"btn btn-primary\" [id]=\"componentId+'_RemoveFileBtn'\"\n (click)=\"removeFile()\"\n [disabled]=\"group.controls[field].status === 'DISABLED'\" aria-label=\"Remove Attachment\">Remove Attachment</button>\n </span>\n <span *ngIf=\"busy\"> <span class=\"spinner-border text-primary\" role=\"status\"></span></span>\n </div>\n </div>\n </div>\n <div *ngIf=\"errorMsg\" class=\"alert alert-danger\" role=\"alert\">{{errorMsg}}</div>\n</form>", styles: ["a:hover{cursor:pointer}a{color:#3399f3!important}\n"] }]
6283
+ args: [{ selector: 'oepa-edoc-attachment', template: "<form [formGroup]=\"group\">\n <div *ngIf=\"!attachment || !attachment.userFilename\" class=\"form-group\">\n <div>\n <label *ngIf=\"label\" [for]=\"componentId+'_Input'\">{{label}}</label>\n <div class=\"form-group\">\n <div class=\"input-group\">\n <span *ngIf=\"!busy\" class=\"input-group-btn\">\n <label class=\"btn btn-primary btn-file\">\n Browse&hellip;\n <input type=\"file\" style=\"display: none;\" (change)=\"fileChange($event)\"\n [id]=\"componentId+'_BrowseBtn'\" class=\"form-control\"\n [attr.accept]=\"accept ? accept : null\"\n [disabled]=\"group.controls[field].status === 'DISABLED'\"\n aria-label=\"Browse for file\">\n </label>\n </span>\n <span *ngIf=\"busy\"> <span class=\"spinner-border text-primary\" role=\"status\"></span></span>\n <input [ngClass]=\"{'is-invalid':showValidation && group.controls[field].status === 'INVALID'}\"\n type=\"text\" class=\"form-control\" placeholder=\"No file chosen\" [id]=\"componentId+'_Input'\" readonly>\n <small class=\"invalid-feedback\"\n *ngIf=\"showValidation && group.controls[field].status === 'INVALID'\">{{errorLabel || label}} is\n required</small>\n </div>\n <!-- dummy input field for validation purposes -->\n <input type=\"text\" [hidden]=\"true\" [formControlName]=\"field\" aria-hidden=\"true\" />\n </div>\n </div>\n </div>\n <div *ngIf=\"attachment && attachment.userFilename\">\n <div>\n <label *ngIf=\"label\" [for]=\"componentId+'_DownloadFileLink'\">{{label}}</label>\n <div class=\"input-group\">\n <a (click)=\"downloadFile(attachment)\" [id]=\"componentId+'_DownloadFileLink'\" \n class=\"form-control\">{{attachment.userFilename}}</a>\n <span *ngIf=\"removeAllowed && !busy\" class=\"input-group-btn\">\n <button type=\"button\" class=\"btn btn-primary\" [id]=\"componentId+'_RemoveFileBtn'\"\n (click)=\"removeFile()\"\n [disabled]=\"group.controls[field].status === 'DISABLED'\" aria-label=\"Remove Attachment\">Remove Attachment</button>\n </span>\n <span *ngIf=\"busy\"> <span class=\"spinner-border text-primary\" role=\"status\"></span></span>\n </div>\n </div>\n </div>\n <div *ngIf=\"errorMsg\" class=\"alert alert-danger\" role=\"alert\">{{errorMsg}}</div>\n</form>", styles: ["a:hover{cursor:pointer}a{color:#3399f3!important}\n"] }]
6280
6284
  }], ctorParameters: () => [{ type: i1$1.OepaComponentIdService }, { type: i1$1.OepaFileUtilService }, { type: EdocAttachmentService }, { type: i2$1.BsModalService }], propDecorators: { attachment: [{
6281
6285
  type: Input
6282
6286
  }], group: [{
@@ -6647,7 +6651,7 @@ class DualListBoxComponent {
6647
6651
  provide: NG_VALUE_ACCESSOR,
6648
6652
  useExisting: forwardRef(() => DualListBoxComponent),
6649
6653
  multi: true
6650
- }], ngImport: i0, template: "<div class=\"row\" [formGroup]=\"listBoxForm\">\n <div class=\"col-md-5 col-lg-5 col-sm-12\">\n <h4 class=\"text-center vertical-spacing-5\">{{availableText}}</h4>\n <input type=\"text\" class=\"form-control vertical-spacing-5\" placeholder=\"{{availableFilterPlaceholder}}\"\n formControlName=\"availableSearchInput\" />\n <select class=\"form-control list-box\" formControlName=\"availableListBox\" multiple [size]=\"listSize\">\n <option *ngFor=\"let item of availableItems | arrayFilter:['text', searchTermAvailable] | arraySort:[sortBy, 'ASC'];trackBy:trackByValue\"\n [value]=\"item?.value\"\n [id]=\"item?.value+'Option'\"\n (dblclick)=\"moveAvailableItemToSelected(item)\">{{item?.text}}</option>\n </select>\n </div>\n <div class=\"col-md-2 col-lg-2 col-sm-12 center-block text-center\">\n <button type=\"button\"\n class=\"btn btn-primary col-md-8 col-md-offset-2 atr top80 sm-spacing\"\n [disabled]=\"listBoxForm.disabled\"\n [id]=\"idField+'MoveAllBtn'\"\n *ngIf=\"moveAllButton\" (click)=\"moveAllItemsToSelected()\" aria-label=\"Move All Items To Selected\">\n <span class=\"bi bi-list-task\"></span>\n <span class=\"bi bi-chevron-right\"></span>\n </button>\n <button type=\"button\"\n class=\"btn btn-primary col-md-8 col-md-offset-2 str vertical-spacing-5 sm-spacing\"\n [disabled]=\"listBoxForm.disabled || !availableListBoxControl.value?.length\"\n [id]=\"idField+'MoveOneBtn'\"\n (click)=\"moveMarkedAvailableItemsToSelected()\" aria-label=\"Move Marked Available Items To Selected\">\n <span class=\"bi bi-chevron-right\"></span>\n </button>\n <button type=\"button\"\n class=\"btn btn-primary col-md-8 col-md-offset-2 stl vertical-spacing-5 sm-spacing\"\n [disabled]=\"listBoxForm.disabled || !selectedListBoxControl.value?.length\"\n [id]=\"idField+'MoveOneLeftBtn'\"\n (click)=\"moveMarkedSelectedItemsToAvailable()\" aria-label=\"Move Marked Selected Items To Available\">\n <span class=\"bi bi-chevron-left\"></span>\n </button>\n <button type=\"button\"\n class=\"btn btn-primary col-md-8 col-md-offset-2 atl bottom10 sm-spacing\"\n [disabled]=\"listBoxForm.disabled\"\n [id]=\"idField+'MoveAllLeftBtn'\"\n *ngIf=\"moveAllButton\" (click)=\"moveAllItemsToAvailable()\" aria-label=\"Move All Items To Available\">\n <span class=\"bi bi-chevron-left\"></span>\n <span class=\"bi bi-list-task\"></span>\n </button>\n </div>\n <div class=\"col-md-5 col-lg-5 col-sm-12\">\n <h4 class=\"text-center vertical-spacing-5\">{{selectedText}}</h4>\n <input type=\"text\" class=\"form-control vertical-spacing-5\" placeholder=\"{{selectedFilterPlaceholder}}\"\n formControlName=\"selectedSearchInput\" />\n <select class=\"form-control list-box\" formControlName=\"selectedListBox\" multiple [size]=\"listSize\">\n <option *ngFor=\"let item of selectedItems | arrayFilter:['text', searchTermSelected] | arraySort:[sortBy, 'ASC'];trackBy:trackByValue\"\n [value]=\"item?.value\"\n (dblclick)=\"moveSelectedItemToAvailable(item)\">{{item?.text}}</option>\n </select>\n </div>\n</div>\n", styles: [".list-box{min-height:200px;width:100%}.top100{margin-top:100px}.top80{margin-top:80px}.bottom10{margin-bottom:10px}.vertical-spacing-5{margin-top:5px;margin-bottom:5px}.center-block{min-height:50px}@media only screen and (max-width : 768px){.sm-spacing{margin-top:10px;margin-bottom:10px}}@media only screen and (min-width : 768px) and (max-width : 992px){.sm-spacing{margin-top:10px;margin-bottom:10px}}@media only screen and (max-width : 480px){.sm-spacing{margin-top:10px;margin-bottom:10px}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$2.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$2.SelectMultipleControlValueAccessor, selector: "select[multiple][formControlName],select[multiple][formControl],select[multiple][ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: ArrayFilterPipe, name: "arrayFilter" }, { kind: "pipe", type: ArraySortPipe, name: "arraySort" }] });
6654
+ }], ngImport: i0, template: "<div class=\"row\" [formGroup]=\"listBoxForm\">\n <div class=\"col-md-5 col-lg-5 col-sm-12\">\n <span class=\"text-center vertical-spacing-5\" id=\"availableListLabel\">{{availableText}}</span>\n <input type=\"text\" class=\"form-control vertical-spacing-5\" placeholder=\"{{availableFilterPlaceholder}}\"\n formControlName=\"availableSearchInput\"\n aria-label=\"Filter available items\"\n role=\"searchbox\"\n />\n <select class=\"form-control list-box\" formControlName=\"availableListBox\" multiple [size]=\"listSize\"\n aria-labelledby=\"availableListLabel\"\n aria-multiselectable=\"true\"\n role=\"listbox\"\n >\n <option *ngFor=\"let item of availableItems | arrayFilter:['text', searchTermAvailable] | arraySort:[sortBy, 'ASC'];trackBy:trackByValue\"\n [value]=\"item?.value\"\n [id]=\"item?.value+'Option'\"\n (dblclick)=\"moveAvailableItemToSelected(item)\"\n role=\"option\"\n >{{item?.text}}</option>\n </select>\n </div>\n <div class=\"col-md-2 col-lg-2 col-sm-12 center-block text-center\">\n <button type=\"button\"\n class=\"btn btn-primary col-md-8 col-md-offset-2 atr top80 sm-spacing\"\n [disabled]=\"listBoxForm.disabled\"\n [id]=\"idField+'MoveAllBtn'\"\n *ngIf=\"moveAllButton\" (click)=\"moveAllItemsToSelected()\" aria-label=\"Move All Items To Selected\">\n <span class=\"bi bi-list-task\"></span>\n <span class=\"bi bi-chevron-right\"></span>\n </button>\n <button type=\"button\"\n class=\"btn btn-primary col-md-8 col-md-offset-2 str vertical-spacing-5 sm-spacing\"\n [disabled]=\"listBoxForm.disabled || !availableListBoxControl.value?.length\"\n [id]=\"idField+'MoveOneBtn'\"\n (click)=\"moveMarkedAvailableItemsToSelected()\" aria-label=\"Move Marked Available Items To Selected\">\n <span class=\"bi bi-chevron-right\"></span>\n </button>\n <button type=\"button\"\n class=\"btn btn-primary col-md-8 col-md-offset-2 stl vertical-spacing-5 sm-spacing\"\n [disabled]=\"listBoxForm.disabled || !selectedListBoxControl.value?.length\"\n [id]=\"idField+'MoveOneLeftBtn'\"\n (click)=\"moveMarkedSelectedItemsToAvailable()\" aria-label=\"Move Marked Selected Items To Available\">\n <span class=\"bi bi-chevron-left\"></span>\n </button>\n <button type=\"button\"\n class=\"btn btn-primary col-md-8 col-md-offset-2 atl bottom10 sm-spacing\"\n [disabled]=\"listBoxForm.disabled\"\n [id]=\"idField+'MoveAllLeftBtn'\"\n *ngIf=\"moveAllButton\" (click)=\"moveAllItemsToAvailable()\" aria-label=\"Move All Items To Available\">\n <span class=\"bi bi-chevron-left\"></span>\n <span class=\"bi bi-list-task\"></span>\n </button>\n </div>\n <div class=\"col-md-5 col-lg-5 col-sm-12\">\n <span class=\"text-center vertical-spacing-5\" id=\"selectedListLabel\">{{selectedText}}</span>\n <input type=\"text\" class=\"form-control vertical-spacing-5\" placeholder=\"{{selectedFilterPlaceholder}}\"\n formControlName=\"selectedSearchInput\"\n aria-label=\"Filter selected items\"\n role=\"searchbox\"\n />\n <select class=\"form-control list-box\" formControlName=\"selectedListBox\" multiple [size]=\"listSize\"\n aria-labelledby=\"selectedListLabel\"\n aria-multiselectable=\"true\"\n role=\"listbox\"\n >\n <option *ngFor=\"let item of selectedItems | arrayFilter:['text', searchTermSelected] | arraySort:[sortBy, 'ASC'];trackBy:trackByValue\"\n [value]=\"item?.value\"\n (dblclick)=\"moveSelectedItemToAvailable(item)\"\n role=\"option\"\n >{{item?.text}}</option>\n </select>\n </div>\n</div>\n", styles: [".list-box{min-height:200px;width:100%}.top100{margin-top:100px}.top80{margin-top:80px}.bottom10{margin-bottom:10px}.vertical-spacing-5{margin-top:5px;margin-bottom:5px}.center-block{min-height:50px}@media only screen and (max-width : 768px){.sm-spacing{margin-top:10px;margin-bottom:10px}}@media only screen and (min-width : 768px) and (max-width : 992px){.sm-spacing{margin-top:10px;margin-bottom:10px}}@media only screen and (max-width : 480px){.sm-spacing{margin-top:10px;margin-bottom:10px}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$2.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$2.SelectMultipleControlValueAccessor, selector: "select[multiple][formControlName],select[multiple][formControl],select[multiple][ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: ArrayFilterPipe, name: "arrayFilter" }, { kind: "pipe", type: ArraySortPipe, name: "arraySort" }] });
6651
6655
  }
6652
6656
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DualListBoxComponent, decorators: [{
6653
6657
  type: Component,
@@ -6655,7 +6659,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
6655
6659
  provide: NG_VALUE_ACCESSOR,
6656
6660
  useExisting: forwardRef(() => DualListBoxComponent),
6657
6661
  multi: true
6658
- }], template: "<div class=\"row\" [formGroup]=\"listBoxForm\">\n <div class=\"col-md-5 col-lg-5 col-sm-12\">\n <h4 class=\"text-center vertical-spacing-5\">{{availableText}}</h4>\n <input type=\"text\" class=\"form-control vertical-spacing-5\" placeholder=\"{{availableFilterPlaceholder}}\"\n formControlName=\"availableSearchInput\" />\n <select class=\"form-control list-box\" formControlName=\"availableListBox\" multiple [size]=\"listSize\">\n <option *ngFor=\"let item of availableItems | arrayFilter:['text', searchTermAvailable] | arraySort:[sortBy, 'ASC'];trackBy:trackByValue\"\n [value]=\"item?.value\"\n [id]=\"item?.value+'Option'\"\n (dblclick)=\"moveAvailableItemToSelected(item)\">{{item?.text}}</option>\n </select>\n </div>\n <div class=\"col-md-2 col-lg-2 col-sm-12 center-block text-center\">\n <button type=\"button\"\n class=\"btn btn-primary col-md-8 col-md-offset-2 atr top80 sm-spacing\"\n [disabled]=\"listBoxForm.disabled\"\n [id]=\"idField+'MoveAllBtn'\"\n *ngIf=\"moveAllButton\" (click)=\"moveAllItemsToSelected()\" aria-label=\"Move All Items To Selected\">\n <span class=\"bi bi-list-task\"></span>\n <span class=\"bi bi-chevron-right\"></span>\n </button>\n <button type=\"button\"\n class=\"btn btn-primary col-md-8 col-md-offset-2 str vertical-spacing-5 sm-spacing\"\n [disabled]=\"listBoxForm.disabled || !availableListBoxControl.value?.length\"\n [id]=\"idField+'MoveOneBtn'\"\n (click)=\"moveMarkedAvailableItemsToSelected()\" aria-label=\"Move Marked Available Items To Selected\">\n <span class=\"bi bi-chevron-right\"></span>\n </button>\n <button type=\"button\"\n class=\"btn btn-primary col-md-8 col-md-offset-2 stl vertical-spacing-5 sm-spacing\"\n [disabled]=\"listBoxForm.disabled || !selectedListBoxControl.value?.length\"\n [id]=\"idField+'MoveOneLeftBtn'\"\n (click)=\"moveMarkedSelectedItemsToAvailable()\" aria-label=\"Move Marked Selected Items To Available\">\n <span class=\"bi bi-chevron-left\"></span>\n </button>\n <button type=\"button\"\n class=\"btn btn-primary col-md-8 col-md-offset-2 atl bottom10 sm-spacing\"\n [disabled]=\"listBoxForm.disabled\"\n [id]=\"idField+'MoveAllLeftBtn'\"\n *ngIf=\"moveAllButton\" (click)=\"moveAllItemsToAvailable()\" aria-label=\"Move All Items To Available\">\n <span class=\"bi bi-chevron-left\"></span>\n <span class=\"bi bi-list-task\"></span>\n </button>\n </div>\n <div class=\"col-md-5 col-lg-5 col-sm-12\">\n <h4 class=\"text-center vertical-spacing-5\">{{selectedText}}</h4>\n <input type=\"text\" class=\"form-control vertical-spacing-5\" placeholder=\"{{selectedFilterPlaceholder}}\"\n formControlName=\"selectedSearchInput\" />\n <select class=\"form-control list-box\" formControlName=\"selectedListBox\" multiple [size]=\"listSize\">\n <option *ngFor=\"let item of selectedItems | arrayFilter:['text', searchTermSelected] | arraySort:[sortBy, 'ASC'];trackBy:trackByValue\"\n [value]=\"item?.value\"\n (dblclick)=\"moveSelectedItemToAvailable(item)\">{{item?.text}}</option>\n </select>\n </div>\n</div>\n", styles: [".list-box{min-height:200px;width:100%}.top100{margin-top:100px}.top80{margin-top:80px}.bottom10{margin-bottom:10px}.vertical-spacing-5{margin-top:5px;margin-bottom:5px}.center-block{min-height:50px}@media only screen and (max-width : 768px){.sm-spacing{margin-top:10px;margin-bottom:10px}}@media only screen and (min-width : 768px) and (max-width : 992px){.sm-spacing{margin-top:10px;margin-bottom:10px}}@media only screen and (max-width : 480px){.sm-spacing{margin-top:10px;margin-bottom:10px}}\n"] }]
6662
+ }], template: "<div class=\"row\" [formGroup]=\"listBoxForm\">\n <div class=\"col-md-5 col-lg-5 col-sm-12\">\n <span class=\"text-center vertical-spacing-5\" id=\"availableListLabel\">{{availableText}}</span>\n <input type=\"text\" class=\"form-control vertical-spacing-5\" placeholder=\"{{availableFilterPlaceholder}}\"\n formControlName=\"availableSearchInput\"\n aria-label=\"Filter available items\"\n role=\"searchbox\"\n />\n <select class=\"form-control list-box\" formControlName=\"availableListBox\" multiple [size]=\"listSize\"\n aria-labelledby=\"availableListLabel\"\n aria-multiselectable=\"true\"\n role=\"listbox\"\n >\n <option *ngFor=\"let item of availableItems | arrayFilter:['text', searchTermAvailable] | arraySort:[sortBy, 'ASC'];trackBy:trackByValue\"\n [value]=\"item?.value\"\n [id]=\"item?.value+'Option'\"\n (dblclick)=\"moveAvailableItemToSelected(item)\"\n role=\"option\"\n >{{item?.text}}</option>\n </select>\n </div>\n <div class=\"col-md-2 col-lg-2 col-sm-12 center-block text-center\">\n <button type=\"button\"\n class=\"btn btn-primary col-md-8 col-md-offset-2 atr top80 sm-spacing\"\n [disabled]=\"listBoxForm.disabled\"\n [id]=\"idField+'MoveAllBtn'\"\n *ngIf=\"moveAllButton\" (click)=\"moveAllItemsToSelected()\" aria-label=\"Move All Items To Selected\">\n <span class=\"bi bi-list-task\"></span>\n <span class=\"bi bi-chevron-right\"></span>\n </button>\n <button type=\"button\"\n class=\"btn btn-primary col-md-8 col-md-offset-2 str vertical-spacing-5 sm-spacing\"\n [disabled]=\"listBoxForm.disabled || !availableListBoxControl.value?.length\"\n [id]=\"idField+'MoveOneBtn'\"\n (click)=\"moveMarkedAvailableItemsToSelected()\" aria-label=\"Move Marked Available Items To Selected\">\n <span class=\"bi bi-chevron-right\"></span>\n </button>\n <button type=\"button\"\n class=\"btn btn-primary col-md-8 col-md-offset-2 stl vertical-spacing-5 sm-spacing\"\n [disabled]=\"listBoxForm.disabled || !selectedListBoxControl.value?.length\"\n [id]=\"idField+'MoveOneLeftBtn'\"\n (click)=\"moveMarkedSelectedItemsToAvailable()\" aria-label=\"Move Marked Selected Items To Available\">\n <span class=\"bi bi-chevron-left\"></span>\n </button>\n <button type=\"button\"\n class=\"btn btn-primary col-md-8 col-md-offset-2 atl bottom10 sm-spacing\"\n [disabled]=\"listBoxForm.disabled\"\n [id]=\"idField+'MoveAllLeftBtn'\"\n *ngIf=\"moveAllButton\" (click)=\"moveAllItemsToAvailable()\" aria-label=\"Move All Items To Available\">\n <span class=\"bi bi-chevron-left\"></span>\n <span class=\"bi bi-list-task\"></span>\n </button>\n </div>\n <div class=\"col-md-5 col-lg-5 col-sm-12\">\n <span class=\"text-center vertical-spacing-5\" id=\"selectedListLabel\">{{selectedText}}</span>\n <input type=\"text\" class=\"form-control vertical-spacing-5\" placeholder=\"{{selectedFilterPlaceholder}}\"\n formControlName=\"selectedSearchInput\"\n aria-label=\"Filter selected items\"\n role=\"searchbox\"\n />\n <select class=\"form-control list-box\" formControlName=\"selectedListBox\" multiple [size]=\"listSize\"\n aria-labelledby=\"selectedListLabel\"\n aria-multiselectable=\"true\"\n role=\"listbox\"\n >\n <option *ngFor=\"let item of selectedItems | arrayFilter:['text', searchTermSelected] | arraySort:[sortBy, 'ASC'];trackBy:trackByValue\"\n [value]=\"item?.value\"\n (dblclick)=\"moveSelectedItemToAvailable(item)\"\n role=\"option\"\n >{{item?.text}}</option>\n </select>\n </div>\n</div>\n", styles: [".list-box{min-height:200px;width:100%}.top100{margin-top:100px}.top80{margin-top:80px}.bottom10{margin-bottom:10px}.vertical-spacing-5{margin-top:5px;margin-bottom:5px}.center-block{min-height:50px}@media only screen and (max-width : 768px){.sm-spacing{margin-top:10px;margin-bottom:10px}}@media only screen and (min-width : 768px) and (max-width : 992px){.sm-spacing{margin-top:10px;margin-bottom:10px}}@media only screen and (max-width : 480px){.sm-spacing{margin-top:10px;margin-bottom:10px}}\n"] }]
6659
6663
  }], ctorParameters: () => [{ type: i1$2.FormBuilder }, { type: i2$2.ToastrService }], propDecorators: { available: [{
6660
6664
  type: Input
6661
6665
  }], selected: [{
@@ -7776,11 +7780,11 @@ class ServerTimeoutModalComponent {
7776
7780
  this.bsModalRef.hide();
7777
7781
  }
7778
7782
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ServerTimeoutModalComponent, deps: [{ token: OepaUserAccountService }, { token: i2$1.BsModalRef }], target: i0.ɵɵFactoryTarget.Component });
7779
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ServerTimeoutModalComponent, selector: "oepa-server-timeout-modal", inputs: { countdownSeconds: "countdownSeconds" }, outputs: { onKeepAlive: "onKeepAlive" }, ngImport: i0, template: "<div class=\"modal-header\">\n <h4 class=\"modal-title pull-left\">\n <span>Connection Timeout</span>\n <span *ngIf=\"!connectionLost\">&nbsp;Pending</span>\n </h4>\n <button type=\"button\" class=\"close pull-right\" aria-label=\"Close\" (click)=\"close()\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n </div>\n <div class=\"modal-body\">\n <div *ngIf=\"!connectionLost\">\n Your connection is about to time out: {{mm}}:{{ss}}\n <!-- : <countdown [config]=\"config\" (event)=\"handleEvent($event)\"></countdown> -->\n <br/>\n Click the button below to keep from being logged out.\n </div>\n <div *ngIf=\"connectionLost\">\n Connection timeout.\n </div>\n </div>\n <div class=\"modal-footer\">\n <div class=\"row\">\n <div *ngIf=\"errorMessage\" class=\"col-sm-12\">\n <div class=\"alert alert-danger\">\n {{errorMessage}}\n </div>\n </div>\n </div>\n <div class=\"col-sm-12 text-right\">\n <button *ngIf=\"!connectionLost\" type=\"button\" class=\"btn btn-primary mr-2\" (click)=\"keepAlive()\" aria-label=\"Stay Logged In\">Stay Logged In</button>\n <button *ngIf=\"connectionLost\" type=\"button\" class=\"btn btn-primary mr-2\" (click)=\"close()\" aria-label=\"Close\">Close</button>\n </div>\n </div>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
7783
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ServerTimeoutModalComponent, selector: "oepa-server-timeout-modal", inputs: { countdownSeconds: "countdownSeconds" }, outputs: { onKeepAlive: "onKeepAlive" }, ngImport: i0, template: "<div class=\"modal-header\">\n <h1 class=\"modal-title pull-left\">\n <span>Connection Timeout</span>\n <span *ngIf=\"!connectionLost\">&nbsp;Pending</span>\n </h1>\n <button type=\"button\" class=\"close pull-right\" aria-label=\"Close\" (click)=\"close()\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n </div>\n <div class=\"modal-body\">\n <div *ngIf=\"!connectionLost\">\n Your connection is about to time out: {{mm}}:{{ss}}\n <!-- : <countdown [config]=\"config\" (event)=\"handleEvent($event)\"></countdown> -->\n <br/>\n Click the button below to keep from being logged out.\n </div>\n <div *ngIf=\"connectionLost\">\n Connection timeout.\n </div>\n </div>\n <div class=\"modal-footer\">\n <div class=\"row\">\n <div *ngIf=\"errorMessage\" class=\"col-sm-12\">\n <div class=\"alert alert-danger\">\n {{errorMessage}}\n </div>\n </div>\n </div>\n <div class=\"col-sm-12 text-right\">\n <button *ngIf=\"!connectionLost\" type=\"button\" class=\"btn btn-primary mr-2\" (click)=\"keepAlive()\" aria-label=\"Stay Logged In\">Stay Logged In</button>\n <button *ngIf=\"connectionLost\" type=\"button\" class=\"btn btn-primary mr-2\" (click)=\"close()\" aria-label=\"Close\">Close</button>\n </div>\n </div>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
7780
7784
  }
7781
7785
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ServerTimeoutModalComponent, decorators: [{
7782
7786
  type: Component,
7783
- args: [{ selector: 'oepa-server-timeout-modal', template: "<div class=\"modal-header\">\n <h4 class=\"modal-title pull-left\">\n <span>Connection Timeout</span>\n <span *ngIf=\"!connectionLost\">&nbsp;Pending</span>\n </h4>\n <button type=\"button\" class=\"close pull-right\" aria-label=\"Close\" (click)=\"close()\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n </div>\n <div class=\"modal-body\">\n <div *ngIf=\"!connectionLost\">\n Your connection is about to time out: {{mm}}:{{ss}}\n <!-- : <countdown [config]=\"config\" (event)=\"handleEvent($event)\"></countdown> -->\n <br/>\n Click the button below to keep from being logged out.\n </div>\n <div *ngIf=\"connectionLost\">\n Connection timeout.\n </div>\n </div>\n <div class=\"modal-footer\">\n <div class=\"row\">\n <div *ngIf=\"errorMessage\" class=\"col-sm-12\">\n <div class=\"alert alert-danger\">\n {{errorMessage}}\n </div>\n </div>\n </div>\n <div class=\"col-sm-12 text-right\">\n <button *ngIf=\"!connectionLost\" type=\"button\" class=\"btn btn-primary mr-2\" (click)=\"keepAlive()\" aria-label=\"Stay Logged In\">Stay Logged In</button>\n <button *ngIf=\"connectionLost\" type=\"button\" class=\"btn btn-primary mr-2\" (click)=\"close()\" aria-label=\"Close\">Close</button>\n </div>\n </div>\n" }]
7787
+ args: [{ selector: 'oepa-server-timeout-modal', template: "<div class=\"modal-header\">\n <h1 class=\"modal-title pull-left\">\n <span>Connection Timeout</span>\n <span *ngIf=\"!connectionLost\">&nbsp;Pending</span>\n </h1>\n <button type=\"button\" class=\"close pull-right\" aria-label=\"Close\" (click)=\"close()\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n </div>\n <div class=\"modal-body\">\n <div *ngIf=\"!connectionLost\">\n Your connection is about to time out: {{mm}}:{{ss}}\n <!-- : <countdown [config]=\"config\" (event)=\"handleEvent($event)\"></countdown> -->\n <br/>\n Click the button below to keep from being logged out.\n </div>\n <div *ngIf=\"connectionLost\">\n Connection timeout.\n </div>\n </div>\n <div class=\"modal-footer\">\n <div class=\"row\">\n <div *ngIf=\"errorMessage\" class=\"col-sm-12\">\n <div class=\"alert alert-danger\">\n {{errorMessage}}\n </div>\n </div>\n </div>\n <div class=\"col-sm-12 text-right\">\n <button *ngIf=\"!connectionLost\" type=\"button\" class=\"btn btn-primary mr-2\" (click)=\"keepAlive()\" aria-label=\"Stay Logged In\">Stay Logged In</button>\n <button *ngIf=\"connectionLost\" type=\"button\" class=\"btn btn-primary mr-2\" (click)=\"close()\" aria-label=\"Close\">Close</button>\n </div>\n </div>\n" }]
7784
7788
  }], ctorParameters: () => [{ type: OepaUserAccountService }, { type: i2$1.BsModalRef }], propDecorators: { countdownSeconds: [{
7785
7789
  type: Input
7786
7790
  }], onKeepAlive: [{
@@ -8261,11 +8265,11 @@ class TemplateConfirmationModalComponent {
8261
8265
  this.bsModalRef.hide();
8262
8266
  }
8263
8267
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TemplateConfirmationModalComponent, deps: [{ token: i2$1.BsModalRef }], target: i0.ɵɵFactoryTarget.Component });
8264
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TemplateConfirmationModalComponent, selector: "oepa-template-confirmation-modal", inputs: { headerText: "headerText", content: "content", confirmBtnLabel: "confirmBtnLabel", cancelBtnLabel: "cancelBtnLabel" }, outputs: { confirmClicked: "confirmClicked", cancelClicked: "cancelClicked" }, ngImport: i0, template: "<div *ngIf=\"headerText\" class=\"modal-header\">\n <h4 class=\"modal-title pull-left\">{{headerText}}</h4>\n <button type=\"button\" class=\"close pull-right\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n </div>\n <div *ngIf=\"content\" class=\"modal-body\">\n <cml-template [templateInfo]=\"content\"></cml-template>\n </div>\n <div class=\"modal-footer\">\n <button *ngIf=\"confirmBtnLabel\" type=\"button\" class=\"btn btn-primary mr-1\" (click)=\"confirm()\" [attr.aria-label]=\"confirmBtnLabel\">{{confirmBtnLabel}}</button>\n <button type=\"button\" class=\"btn btn-primary mr-1\" (click)=\"cancel()\" [attr.aria-label]=\"cancelBtnLabel\">{{cancelBtnLabel}}</button>\n </div>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1$1.OepaTemplateComponent, selector: "cml-template", inputs: ["templateInfo"] }] });
8268
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TemplateConfirmationModalComponent, selector: "oepa-template-confirmation-modal", inputs: { headerText: "headerText", content: "content", confirmBtnLabel: "confirmBtnLabel", cancelBtnLabel: "cancelBtnLabel" }, outputs: { confirmClicked: "confirmClicked", cancelClicked: "cancelClicked" }, ngImport: i0, template: "<div *ngIf=\"headerText\" class=\"modal-header\">\n <h1 class=\"modal-title pull-left\">{{headerText}}</h1>\n <button type=\"button\" class=\"close pull-right\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n </div>\n <div *ngIf=\"content\" class=\"modal-body\">\n <cml-template [templateInfo]=\"content\"></cml-template>\n </div>\n <div class=\"modal-footer\">\n <button *ngIf=\"confirmBtnLabel\" type=\"button\" class=\"btn btn-primary mr-1\" (click)=\"confirm()\" [attr.aria-label]=\"confirmBtnLabel\">{{confirmBtnLabel}}</button>\n <button type=\"button\" class=\"btn btn-primary mr-1\" (click)=\"cancel()\" [attr.aria-label]=\"cancelBtnLabel\">{{cancelBtnLabel}}</button>\n </div>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1$1.OepaTemplateComponent, selector: "cml-template", inputs: ["templateInfo"] }] });
8265
8269
  }
8266
8270
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TemplateConfirmationModalComponent, decorators: [{
8267
8271
  type: Component,
8268
- args: [{ selector: 'oepa-template-confirmation-modal', template: "<div *ngIf=\"headerText\" class=\"modal-header\">\n <h4 class=\"modal-title pull-left\">{{headerText}}</h4>\n <button type=\"button\" class=\"close pull-right\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n </div>\n <div *ngIf=\"content\" class=\"modal-body\">\n <cml-template [templateInfo]=\"content\"></cml-template>\n </div>\n <div class=\"modal-footer\">\n <button *ngIf=\"confirmBtnLabel\" type=\"button\" class=\"btn btn-primary mr-1\" (click)=\"confirm()\" [attr.aria-label]=\"confirmBtnLabel\">{{confirmBtnLabel}}</button>\n <button type=\"button\" class=\"btn btn-primary mr-1\" (click)=\"cancel()\" [attr.aria-label]=\"cancelBtnLabel\">{{cancelBtnLabel}}</button>\n </div>" }]
8272
+ args: [{ selector: 'oepa-template-confirmation-modal', template: "<div *ngIf=\"headerText\" class=\"modal-header\">\n <h1 class=\"modal-title pull-left\">{{headerText}}</h1>\n <button type=\"button\" class=\"close pull-right\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n </div>\n <div *ngIf=\"content\" class=\"modal-body\">\n <cml-template [templateInfo]=\"content\"></cml-template>\n </div>\n <div class=\"modal-footer\">\n <button *ngIf=\"confirmBtnLabel\" type=\"button\" class=\"btn btn-primary mr-1\" (click)=\"confirm()\" [attr.aria-label]=\"confirmBtnLabel\">{{confirmBtnLabel}}</button>\n <button type=\"button\" class=\"btn btn-primary mr-1\" (click)=\"cancel()\" [attr.aria-label]=\"cancelBtnLabel\">{{cancelBtnLabel}}</button>\n </div>" }]
8269
8273
  }], ctorParameters: () => [{ type: i2$1.BsModalRef }], propDecorators: { headerText: [{
8270
8274
  type: Input
8271
8275
  }], content: [{
@@ -8569,11 +8573,11 @@ class CheckboxInputComponent {
8569
8573
  }
8570
8574
  }
8571
8575
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CheckboxInputComponent, deps: [{ token: i1$1.OepaComponentIdService }], target: i0.ɵɵFactoryTarget.Component });
8572
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CheckboxInputComponent, selector: "oepa-checkbox-input", inputs: { group: "group", field: "field", tableIdx: "tableIdx", title: "title" }, outputs: { onValueChange: "onValueChange" }, ngImport: i0, template: "<div [formGroup]=\"group\">\n <input class=\"checkboxPlus\" type=\"checkbox\" [formControlName]=\"field\" [id]=\"componentId\">\n</div>", styles: ["input.checkboxPlus{transform:scale(1.2)}\n"], dependencies: [{ kind: "directive", type: i1$2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
8576
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CheckboxInputComponent, selector: "oepa-checkbox-input", inputs: { group: "group", field: "field", tableIdx: "tableIdx", title: "title" }, outputs: { onValueChange: "onValueChange" }, ngImport: i0, template: "<div [formGroup]=\"group\">\n <input class=\"checkboxPlus\" type=\"checkbox\" [formControlName]=\"field\" [id]=\"componentId\" [attr.aria-label]=\"field\">\n</div>", styles: ["input.checkboxPlus{transform:scale(1.2)}\n"], dependencies: [{ kind: "directive", type: i1$2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
8573
8577
  }
8574
8578
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CheckboxInputComponent, decorators: [{
8575
8579
  type: Component,
8576
- args: [{ selector: 'oepa-checkbox-input', template: "<div [formGroup]=\"group\">\n <input class=\"checkboxPlus\" type=\"checkbox\" [formControlName]=\"field\" [id]=\"componentId\">\n</div>", styles: ["input.checkboxPlus{transform:scale(1.2)}\n"] }]
8580
+ args: [{ selector: 'oepa-checkbox-input', template: "<div [formGroup]=\"group\">\n <input class=\"checkboxPlus\" type=\"checkbox\" [formControlName]=\"field\" [id]=\"componentId\" [attr.aria-label]=\"field\">\n</div>", styles: ["input.checkboxPlus{transform:scale(1.2)}\n"] }]
8577
8581
  }], ctorParameters: () => [{ type: i1$1.OepaComponentIdService }], propDecorators: { group: [{
8578
8582
  type: Input
8579
8583
  }], field: [{
@@ -8613,11 +8617,11 @@ class DateInputComponent {
8613
8617
  }
8614
8618
  }
8615
8619
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8616
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DateInputComponent, selector: "oepa-date-input", inputs: { group: "group", field: "field", tableIdx: "tableIdx", placement: "placement", showValidation: "showValidation", pauseChangeProcessing: "pauseChangeProcessing" }, outputs: { onValueChange: "onValueChange" }, ngImport: i0, template: "<div [formGroup]=\"group\">\n <oepa-datepicker [group]=\"group\" [field]=\"field\" [tableIdx]=\"tableIdx\" \n [placement]=\"placement\" [showValidation]=\"showValidation\"></oepa-datepicker>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: DatepickerComponent, selector: "oepa-datepicker", inputs: ["group", "field", "bsConfig", "showValidation", "placement", "tableIdx", "small"], exportAs: ["oepa-datepicker"] }] });
8620
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DateInputComponent, selector: "oepa-date-input", inputs: { group: "group", field: "field", tableIdx: "tableIdx", placement: "placement", showValidation: "showValidation", pauseChangeProcessing: "pauseChangeProcessing" }, outputs: { onValueChange: "onValueChange" }, ngImport: i0, template: "<div [formGroup]=\"group\" role=\"group\" aria-label=\"Date Input Group\">\n <oepa-datepicker [group]=\"group\" [field]=\"field\" [tableIdx]=\"tableIdx\" \n [placement]=\"placement\" [showValidation]=\"showValidation\"></oepa-datepicker>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: DatepickerComponent, selector: "oepa-datepicker", inputs: ["group", "field", "bsConfig", "showValidation", "placement", "tableIdx", "small"], exportAs: ["oepa-datepicker"] }] });
8617
8621
  }
8618
8622
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateInputComponent, decorators: [{
8619
8623
  type: Component,
8620
- args: [{ selector: 'oepa-date-input', template: "<div [formGroup]=\"group\">\n <oepa-datepicker [group]=\"group\" [field]=\"field\" [tableIdx]=\"tableIdx\" \n [placement]=\"placement\" [showValidation]=\"showValidation\"></oepa-datepicker>\n</div>" }]
8624
+ args: [{ selector: 'oepa-date-input', template: "<div [formGroup]=\"group\" role=\"group\" aria-label=\"Date Input Group\">\n <oepa-datepicker [group]=\"group\" [field]=\"field\" [tableIdx]=\"tableIdx\" \n [placement]=\"placement\" [showValidation]=\"showValidation\"></oepa-datepicker>\n</div>" }]
8621
8625
  }], ctorParameters: () => [], propDecorators: { group: [{
8622
8626
  type: Input
8623
8627
  }], field: [{
@@ -8696,11 +8700,11 @@ class PhoneNumberComponent {
8696
8700
  }
8697
8701
  }
8698
8702
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PhoneNumberComponent, deps: [{ token: i1$1.OepaComponentIdService }], target: i0.ɵɵFactoryTarget.Component });
8699
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PhoneNumberComponent, selector: "oepa-phone-number", inputs: { group: "group", field: "field", showValidation: "showValidation", isSearch: "isSearch", phoneLabel: "phoneLabel" }, ngImport: i0, template: "<div [formGroup]=\"group\">\n\t<label>{{phoneLabel}}</label>\n\t<input [type]=\"isSearch ? 'search' : 'text'\" class=\"form-control\" [ngClass]=\"{'is-invalid':showValidation && group.controls[field].status === 'INVALID'}\"\n\t\tplaceholder=\"(xxx) xxx-xxxx\" [formControlName]=\"field\" [id]=\"componentId+'_PhoneInput'\" mask=\"(000) 000-0000\" minlength=\"10\">\n\t<small class=\"invalid-feedback\" *ngIf=\"group.controls[field].hasError('required')\">{{phoneLabel}} is required</small>\n\t<small class=\"invalid-feedback\" *ngIf=\"group.controls[field].hasError('minlength')\">Please enter a valid phone number</small>\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: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { 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"] }] });
8703
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PhoneNumberComponent, selector: "oepa-phone-number", inputs: { group: "group", field: "field", showValidation: "showValidation", isSearch: "isSearch", phoneLabel: "phoneLabel" }, ngImport: i0, template: "<div [formGroup]=\"group\">\n\t<label [for]=\"componentId+'_PhoneInput'\">{{phoneLabel}}</label>\n\t<input\n\t\t[type]=\"isSearch ? 'search' : 'text'\"\n\t\tclass=\"form-control\"\n\t\t[ngClass]=\"{'is-invalid':showValidation && group.controls[field].status === 'INVALID'}\"\n\t\tplaceholder=\"(xxx) xxx-xxxx\"\n\t\t[formControlName]=\"field\"\n\t\t[id]=\"componentId+'_PhoneInput'\"\n\t\tmask=\"(000) 000-0000\"\n\t\tminlength=\"10\"\n\t/>\n\t<small class=\"invalid-feedback\" *ngIf=\"group.controls[field].hasError('required')\" aria-live=\"polite\">{{phoneLabel}} is required</small>\n\t<small class=\"invalid-feedback\" *ngIf=\"group.controls[field].hasError('minlength')\" aria-live=\"polite\">Please enter a valid phone number</small>\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: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { 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"] }] });
8700
8704
  }
8701
8705
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PhoneNumberComponent, decorators: [{
8702
8706
  type: Component,
8703
- args: [{ selector: 'oepa-phone-number', template: "<div [formGroup]=\"group\">\n\t<label>{{phoneLabel}}</label>\n\t<input [type]=\"isSearch ? 'search' : 'text'\" class=\"form-control\" [ngClass]=\"{'is-invalid':showValidation && group.controls[field].status === 'INVALID'}\"\n\t\tplaceholder=\"(xxx) xxx-xxxx\" [formControlName]=\"field\" [id]=\"componentId+'_PhoneInput'\" mask=\"(000) 000-0000\" minlength=\"10\">\n\t<small class=\"invalid-feedback\" *ngIf=\"group.controls[field].hasError('required')\">{{phoneLabel}} is required</small>\n\t<small class=\"invalid-feedback\" *ngIf=\"group.controls[field].hasError('minlength')\">Please enter a valid phone number</small>\n</div>" }]
8707
+ args: [{ selector: 'oepa-phone-number', template: "<div [formGroup]=\"group\">\n\t<label [for]=\"componentId+'_PhoneInput'\">{{phoneLabel}}</label>\n\t<input\n\t\t[type]=\"isSearch ? 'search' : 'text'\"\n\t\tclass=\"form-control\"\n\t\t[ngClass]=\"{'is-invalid':showValidation && group.controls[field].status === 'INVALID'}\"\n\t\tplaceholder=\"(xxx) xxx-xxxx\"\n\t\t[formControlName]=\"field\"\n\t\t[id]=\"componentId+'_PhoneInput'\"\n\t\tmask=\"(000) 000-0000\"\n\t\tminlength=\"10\"\n\t/>\n\t<small class=\"invalid-feedback\" *ngIf=\"group.controls[field].hasError('required')\" aria-live=\"polite\">{{phoneLabel}} is required</small>\n\t<small class=\"invalid-feedback\" *ngIf=\"group.controls[field].hasError('minlength')\" aria-live=\"polite\">Please enter a valid phone number</small>\n</div>" }]
8704
8708
  }], ctorParameters: () => [{ type: i1$1.OepaComponentIdService }], propDecorators: { group: [{
8705
8709
  type: Input
8706
8710
  }], field: [{
@@ -8734,11 +8738,11 @@ class ZipCodeComponent {
8734
8738
  }
8735
8739
  }
8736
8740
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ZipCodeComponent, deps: [{ token: i1$1.OepaComponentIdService }], target: i0.ɵɵFactoryTarget.Component });
8737
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ZipCodeComponent, selector: "oepa-zip-code", inputs: { group: "group", field: "field", showValidation: "showValidation", isSearch: "isSearch", zipCodeLabel: "zipCodeLabel" }, ngImport: i0, template: "<div [formGroup]=\"group\">\n\t<label>{{zipCodeLabel}}</label>\n\t<input class=\"form-control\" [ngClass]=\"{'is-invalid':showValidation && group.controls[field].status === 'INVALID'}\"\n\t [type]=\"isSearch ? 'search' : 'text'\" placeholder=\"Zip Code\" [formControlName]=\"field\" [id]=\"componentId+'_ZipInput'\" mask=\"00000\">\n\t<small class=\"invalid-feedback\" *ngIf=\"group.controls[field].hasError('required')\">{{zipCodeLabel}} is required</small>\n\t<small class=\"invalid-feedback\" *ngIf=\"group.controls[field].hasError('minlength')\">{{zipCodeLabel}} must contain exactly 5 digits</small>\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: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { 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"] }] });
8741
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ZipCodeComponent, selector: "oepa-zip-code", inputs: { group: "group", field: "field", showValidation: "showValidation", isSearch: "isSearch", zipCodeLabel: "zipCodeLabel" }, ngImport: i0, template: "<div [formGroup]=\"group\">\n\t<label [for]=\"componentId+'_ZipInput'\">{{zipCodeLabel}}</label>\n\t<input\n\t class=\"form-control\"\n\t [ngClass]=\"{'is-invalid':showValidation && group.controls[field].status === 'INVALID'}\"\n\t [type]=\"isSearch ? 'search' : 'text'\"\n\t placeholder=\"Zip Code\"\n\t [formControlName]=\"field\"\n\t [id]=\"componentId+'_ZipInput'\"\n\t mask=\"00000\"\n\t/>\n\t<small class=\"invalid-feedback\" *ngIf=\"group.controls[field].hasError('required')\" aria-live=\"polite\">{{zipCodeLabel}} is required</small>\n\t<small class=\"invalid-feedback\" *ngIf=\"group.controls[field].hasError('minlength')\" aria-live=\"polite\">{{zipCodeLabel}} must contain exactly 5 digits</small>\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: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { 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"] }] });
8738
8742
  }
8739
8743
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ZipCodeComponent, decorators: [{
8740
8744
  type: Component,
8741
- args: [{ selector: 'oepa-zip-code', template: "<div [formGroup]=\"group\">\n\t<label>{{zipCodeLabel}}</label>\n\t<input class=\"form-control\" [ngClass]=\"{'is-invalid':showValidation && group.controls[field].status === 'INVALID'}\"\n\t [type]=\"isSearch ? 'search' : 'text'\" placeholder=\"Zip Code\" [formControlName]=\"field\" [id]=\"componentId+'_ZipInput'\" mask=\"00000\">\n\t<small class=\"invalid-feedback\" *ngIf=\"group.controls[field].hasError('required')\">{{zipCodeLabel}} is required</small>\n\t<small class=\"invalid-feedback\" *ngIf=\"group.controls[field].hasError('minlength')\">{{zipCodeLabel}} must contain exactly 5 digits</small>\n</div>" }]
8745
+ args: [{ selector: 'oepa-zip-code', template: "<div [formGroup]=\"group\">\n\t<label [for]=\"componentId+'_ZipInput'\">{{zipCodeLabel}}</label>\n\t<input\n\t class=\"form-control\"\n\t [ngClass]=\"{'is-invalid':showValidation && group.controls[field].status === 'INVALID'}\"\n\t [type]=\"isSearch ? 'search' : 'text'\"\n\t placeholder=\"Zip Code\"\n\t [formControlName]=\"field\"\n\t [id]=\"componentId+'_ZipInput'\"\n\t mask=\"00000\"\n\t/>\n\t<small class=\"invalid-feedback\" *ngIf=\"group.controls[field].hasError('required')\" aria-live=\"polite\">{{zipCodeLabel}} is required</small>\n\t<small class=\"invalid-feedback\" *ngIf=\"group.controls[field].hasError('minlength')\" aria-live=\"polite\">{{zipCodeLabel}} must contain exactly 5 digits</small>\n</div>" }]
8742
8746
  }], ctorParameters: () => [{ type: i1$1.OepaComponentIdService }], propDecorators: { group: [{
8743
8747
  type: Input
8744
8748
  }], field: [{
@@ -8781,8 +8785,9 @@ class CommonFormsModule {
8781
8785
  TemplateConfirmationModalComponent, TextAreaInputComponent, TextInputComponent, TimeoutModalComponent, TimepickerComponent,
8782
8786
  YesNoComponent, YesNoBooleanComponent, YesNoOtherInputComponent], imports: [CommonModule,
8783
8787
  FormsModule,
8784
- ReactiveFormsModule, i4$1.ButtonsModule, i4.BsDatepickerModule, i4$2.TimepickerModule, i7$1.PaginationModule, i8.PopoverModule, i8$1.TooltipModule, i3.BsDropdownModule, i2$1.ModalModule, i6$1.TypeaheadModule, i6.AccordionModule, i11$1.CollapseModule, i12.TabsModule, TableModule,
8788
+ ReactiveFormsModule, i4$1.ButtonsModule, i4.BsDatepickerModule, i4$2.TimepickerModule, i7$1.PaginationModule, i8.PopoverModule, i8$1.TooltipModule, i3.BsDropdownModule, i2$1.ModalModule, i6$1.TypeaheadModule, i10$1.AccordionModule, i11$1.CollapseModule, i12.TabsModule, TableModule,
8785
8789
  CommonLibModule,
8790
+ MatExpansionModule,
8786
8791
  NgxMaskDirective, NgxMaskPipe], exports: [AccountSearchInputComponent, AccountSearchModalComponent,
8787
8792
  ActionBtnComponent, ActionBtnModalComponent, AddressComponent, ZipCodeComponent,
8788
8793
  ArrayFilterPipe, ArraySortPipe,
@@ -8827,7 +8832,8 @@ class CommonFormsModule {
8827
8832
  CollapseModule.forRoot(),
8828
8833
  TabsModule.forRoot(),
8829
8834
  TableModule,
8830
- CommonLibModule] });
8835
+ CommonLibModule,
8836
+ MatExpansionModule] });
8831
8837
  }
8832
8838
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CommonFormsModule, decorators: [{
8833
8839
  type: NgModule,
@@ -8879,6 +8885,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
8879
8885
  TabsModule.forRoot(),
8880
8886
  TableModule,
8881
8887
  CommonLibModule,
8888
+ MatExpansionModule,
8882
8889
  NgxMaskDirective, NgxMaskPipe
8883
8890
  ],
8884
8891
  exports: [