@reusa/ngx-reusa-app-lib 0.0.1298 → 0.0.1300

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.
@@ -11316,7 +11316,6 @@ class AddressValidationService extends BaseService {
11316
11316
  returnComponent.showInlineError = false;
11317
11317
  //calling address-validation-service with the request
11318
11318
  const res = await firstValueFrom(this.validateAddressRequest(req));
11319
- console.log("form value", formData.value);
11320
11319
  returnComponent.addressValidationResponse = res;
11321
11320
  returnComponent.addressValidationRequest = req;
11322
11321
  return await this.processValidationResult(res, req, v, currentAddress, formData.value, returnComponent);
@@ -31092,7 +31091,7 @@ function AddressComponent_app_address_suggestion_59_Template(rf, ctx) { if (rf &
31092
31091
  i0.ɵɵelement(0, "app-address-suggestion", 23, 24);
31093
31092
  } if (rf & 2) {
31094
31093
  const ctx_r5 = i0.ɵɵnextContext();
31095
- i0.ɵɵproperty("form", ctx_r5.addressForm);
31094
+ i0.ɵɵproperty("form", ctx_r5.addressForm)("formName", ctx_r5.inputId)("diffMailAddressFlag", ctx_r5.diffMailAddress)("formblur", ctx_r5.formBlur);
31096
31095
  } }
31097
31096
  const _c3$f = () => ({ required: "required", invalidLength: "Zip code should be of 5 or 9 digits.", invalidNumber: "Zip code should only have numbers.", invalidZipCode: "please enter a valid zip code" });
31098
31097
  class AddressComponent {
@@ -31116,6 +31115,7 @@ class AddressComponent {
31116
31115
  this.blurFromField = false;
31117
31116
  this.usZipcodeValidations = [Validators.required, AppValidators$1.isValidZipCode];
31118
31117
  this.canadaZipcodeValidations = [Validators.required, AppValidators$1.isValidCanadianZipCode];
31118
+ this.addressFieldFocusStatus = {};
31119
31119
  this.onTouched = () => { };
31120
31120
  this.onChangeSubs = [];
31121
31121
  this.forState = util.getState();
@@ -31194,12 +31194,34 @@ class AddressComponent {
31194
31194
  }
31195
31195
  });
31196
31196
  this.country.setValue({ value: "US", text: "United States" });
31197
+ this.formBlur = this.checkFormBlurr();
31198
+ }
31199
+ setFieldBlur(field) {
31200
+ this.addressFieldFocusStatus[field] = false;
31201
+ }
31202
+ setFieldFocus(field) {
31203
+ this.addressFieldFocusStatus[field] = true;
31197
31204
  }
31198
31205
  getAddressSuggestion() {
31199
31206
  this.blurFromField = this.addressForm.dirty && this.addressForm.valid;
31200
- if (this.blurFromField && this.addressSuggestion && this.enableAddressValidation) {
31201
- this.addressSuggestion.getValidateAddress(false);
31207
+ setTimeout(() => {
31208
+ if (this.blurFromField && this.addressSuggestion && this.enableAddressValidation && this.checkFormBlurr()) {
31209
+ this.addressSuggestion.getValidateAddress(false);
31210
+ this.addressForm.markAsPristine();
31211
+ }
31212
+ }, 10);
31213
+ }
31214
+ checkFormBlurr() {
31215
+ let fieldBlur = true;
31216
+ for (const key in this.addressFieldFocusStatus) {
31217
+ if (this.addressFieldFocusStatus[key]) {
31218
+ fieldBlur = false;
31219
+ }
31202
31220
  }
31221
+ return fieldBlur;
31222
+ }
31223
+ validAddress(address) {
31224
+ this.lastValidAddress = address;
31203
31225
  }
31204
31226
  setRequiredValidation() {
31205
31227
  this.country.valueChanges.subscribe(c => {
@@ -31280,6 +31302,7 @@ class AddressComponent {
31280
31302
  this.county.patchValue(this.addressData.county);
31281
31303
  }
31282
31304
  this.state.updateValueAndValidity();
31305
+ this.getAddressSuggestion();
31283
31306
  }, err => {
31284
31307
  this.logger.debug(err);
31285
31308
  });
@@ -31461,7 +31484,7 @@ class AddressComponent {
31461
31484
  multi: true,
31462
31485
  useExisting: AddressComponent
31463
31486
  }
31464
- ])], decls: 60, vars: 79, consts: [[2, "margin-bottom", "0px", "margin-left", "0px", 3, "formGroup"], ["addressFormDirective", "ngForm"], [1, "p-formgrid", 3, "id"], [3, "ngClass"], [1, "field"], [3, "for"], ["optionLabel", "text", "appendTo", "body", 3, "options", "formControl", "autoDisplayFirst", "inputId"], [3, "field", "form", "errDef"], ["type", "input", "pInputText", "", "minlength", "5", "maxlength", "9", "appStripInvisibleChars", "", 3, "id", "formControl", "blur"], [2, "padding-right", "0px", 3, "ngClass"], [1, "field", "p-fluid"], ["type", "input", "pInputText", "", "maxlength", "40", "appStripInvisibleChars", "", 3, "id", "formControl", "blur"], ["type", "input", "pInputText", "", "placeholder", "Optional", "maxlength", "40", "appStripInvisibleChars", "", 3, "id", "formControl", "blur"], [2, "padding-bottom", "0px", 3, "ngClass"], [1, "field", 2, "margin-bottom", "0px"], ["type", "input", "pInputText", "", "maxlength", "30", "appStripInvisibleChars", "", 3, "id", "formControl", "blur"], ["size", "12", "style", "padding-bottom: 0px;", 3, "ngClass", 4, "ngIf"], [2, "padding-top", "4px"], ["style", "padding-top: 0px;", 3, "ngClass", 4, "ngIf"], [3, "form", 4, "ngIf"], ["size", "12", 2, "padding-bottom", "0px", 3, "ngClass"], [2, "padding-top", "0px", 3, "ngClass"], ["unselectable", "true", "optionLabel", "text", "optionValue", "value", "appendTo", "body", 3, "inputId", "options", "formControl"], [3, "form"], ["addressSuggestion", ""]], template: function AddressComponent_Template(rf, ctx) { if (rf & 1) {
31487
+ ])], decls: 60, vars: 79, consts: [[2, "margin-bottom", "0px", "margin-left", "0px", 3, "formGroup"], ["addressFormDirective", "ngForm"], [1, "p-formgrid", 3, "id"], [3, "ngClass"], [1, "field"], [3, "for"], ["optionLabel", "text", "appendTo", "body", 3, "options", "formControl", "autoDisplayFirst", "inputId"], [3, "field", "form", "errDef"], ["type", "input", "pInputText", "", "minlength", "5", "maxlength", "9", "appStripInvisibleChars", "", 3, "id", "formControl", "blur", "focus"], [2, "padding-right", "0px", 3, "ngClass"], [1, "field", "p-fluid"], ["type", "input", "pInputText", "", "maxlength", "40", "appStripInvisibleChars", "", 3, "id", "formControl", "blur", "focus"], ["type", "input", "pInputText", "", "placeholder", "Optional", "maxlength", "40", "appStripInvisibleChars", "", 3, "id", "formControl", "blur", "focus"], [2, "padding-bottom", "0px", 3, "ngClass"], [1, "field", 2, "margin-bottom", "0px"], ["type", "input", "pInputText", "", "maxlength", "30", "appStripInvisibleChars", "", 3, "id", "formControl", "blur", "focus"], ["size", "12", "style", "padding-bottom: 0px;", 3, "ngClass", 4, "ngIf"], [2, "padding-top", "4px"], ["style", "padding-top: 0px;", 3, "ngClass", 4, "ngIf"], [3, "form", "formName", "diffMailAddressFlag", "formblur", 4, "ngIf"], ["size", "12", 2, "padding-bottom", "0px", 3, "ngClass"], [2, "padding-top", "0px", 3, "ngClass"], ["unselectable", "true", "optionLabel", "text", "optionValue", "value", "appendTo", "body", 3, "inputId", "options", "formControl"], [3, "form", "formName", "diffMailAddressFlag", "formblur"], ["addressSuggestion", ""]], template: function AddressComponent_Template(rf, ctx) { if (rf & 1) {
31465
31488
  i0.ɵɵelementStart(0, "form", 0, 1)(2, "div", 2)(3, "ion-row")(4, "ion-col", 3)(5, "div", 4)(6, "label", 5);
31466
31489
  i0.ɵɵtext(7);
31467
31490
  i0.ɵɵpipe(8, "translate");
@@ -31474,7 +31497,7 @@ class AddressComponent {
31474
31497
  i0.ɵɵelementEnd();
31475
31498
  i0.ɵɵelement(17, "br");
31476
31499
  i0.ɵɵelementStart(18, "input", 8);
31477
- i0.ɵɵlistener("blur", function AddressComponent_Template_input_blur_18_listener($event) { ctx.getAddressData($event); return ctx.getAddressSuggestion(); });
31500
+ i0.ɵɵlistener("blur", function AddressComponent_Template_input_blur_18_listener($event) { ctx.getAddressData($event); return ctx.setFieldBlur("zip"); })("focus", function AddressComponent_Template_input_focus_18_listener() { return ctx.setFieldFocus("zip"); });
31478
31501
  i0.ɵɵelementEnd();
31479
31502
  i0.ɵɵelement(19, "br")(20, "app-error", 7);
31480
31503
  i0.ɵɵelementEnd()()();
@@ -31484,12 +31507,12 @@ class AddressComponent {
31484
31507
  i0.ɵɵelementEnd();
31485
31508
  i0.ɵɵelement(27, "br");
31486
31509
  i0.ɵɵelementStart(28, "input", 11);
31487
- i0.ɵɵlistener("blur", function AddressComponent_Template_input_blur_28_listener() { return ctx.getAddressSuggestion(); });
31510
+ i0.ɵɵlistener("blur", function AddressComponent_Template_input_blur_28_listener() { ctx.getAddressSuggestion(); return ctx.setFieldBlur("streetAddress"); })("focus", function AddressComponent_Template_input_focus_28_listener() { return ctx.setFieldFocus("streetAddress"); });
31488
31511
  i0.ɵɵelementEnd();
31489
31512
  i0.ɵɵelement(29, "br")(30, "app-error", 7);
31490
31513
  i0.ɵɵelementEnd()()();
31491
31514
  i0.ɵɵelementStart(31, "ion-row")(32, "ion-col", 9)(33, "div", 10)(34, "input", 12);
31492
- i0.ɵɵlistener("blur", function AddressComponent_Template_input_blur_34_listener() { return ctx.getAddressSuggestion(); });
31515
+ i0.ɵɵlistener("blur", function AddressComponent_Template_input_blur_34_listener() { ctx.getAddressSuggestion(); return ctx.setFieldBlur("optionalAddress"); })("focus", function AddressComponent_Template_input_focus_34_listener() { return ctx.setFieldFocus("optionalAddress"); });
31493
31516
  i0.ɵɵelementEnd()()()();
31494
31517
  i0.ɵɵelementStart(35, "ion-row")(36, "ion-col", 13)(37, "div", 14)(38, "label", 5);
31495
31518
  i0.ɵɵtext(39);
@@ -31497,7 +31520,7 @@ class AddressComponent {
31497
31520
  i0.ɵɵelementEnd();
31498
31521
  i0.ɵɵelement(41, "br");
31499
31522
  i0.ɵɵelementStart(42, "input", 15);
31500
- i0.ɵɵlistener("blur", function AddressComponent_Template_input_blur_42_listener() { return ctx.getAddressSuggestion(); });
31523
+ i0.ɵɵlistener("blur", function AddressComponent_Template_input_blur_42_listener() { ctx.getAddressSuggestion(); return ctx.setFieldBlur("city"); })("focus", function AddressComponent_Template_input_focus_42_listener() { return ctx.setFieldFocus("city"); });
31501
31524
  i0.ɵɵelementEnd();
31502
31525
  i0.ɵɵelement(43, "br")(44, "app-error", 7);
31503
31526
  i0.ɵɵelementEnd()();
@@ -31512,7 +31535,7 @@ class AddressComponent {
31512
31535
  i0.ɵɵelementStart(56, "ion-row", 17);
31513
31536
  i0.ɵɵtemplate(57, AddressComponent_ion_col_57_Template, 8, 14, "ion-col", 18)(58, AddressComponent_ion_col_58_Template, 8, 14, "ion-col", 18);
31514
31537
  i0.ɵɵelementEnd()()();
31515
- i0.ɵɵtemplate(59, AddressComponent_app_address_suggestion_59_Template, 2, 1, "app-address-suggestion", 19);
31538
+ i0.ɵɵtemplate(59, AddressComponent_app_address_suggestion_59_Template, 2, 4, "app-address-suggestion", 19);
31516
31539
  } if (rf & 2) {
31517
31540
  const _r0 = i0.ɵɵreference(1);
31518
31541
  i0.ɵɵproperty("formGroup", ctx.addressForm);
@@ -31586,7 +31609,7 @@ class AddressComponent {
31586
31609
  i0.ɵɵadvance(1);
31587
31610
  i0.ɵɵproperty("ngIf", ctx.showNeighbourQuestion === true && ctx.forState === "MS");
31588
31611
  i0.ɵɵadvance(1);
31589
- i0.ɵɵproperty("ngIf", ctx.enableAddressValidation && ctx.addressForm.valid && ((ctx.inputId === "resAddress" || ctx.inputId === "resAdress") && ctx.diffMailAddress === false || ctx.inputId === "mailAddress" && ctx.diffMailAddress === true));
31612
+ i0.ɵɵproperty("ngIf", ctx.enableAddressValidation && ctx.addressForm.valid);
31590
31613
  } }, styles: [".col[_ngcontent-%COMP%]{padding-top:0;padding-bottom:0}.form-lbl[_ngcontent-%COMP%]{padding-bottom:6px}.inline-flex[_ngcontent-%COMP%]{display:inline-flex}ion-col[_ngcontent-%COMP%]{padding-left:0}.app-col[_ngcontent-%COMP%]{margin-left:27px;padding-right:0}"] }); }
31591
31614
  }
31592
31615
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AddressComponent, [{
@@ -31601,7 +31624,7 @@ class AddressComponent {
31601
31624
  multi: true,
31602
31625
  useExisting: AddressComponent
31603
31626
  }
31604
- ], template: "<form [formGroup]=\"addressForm\" #addressFormDirective=\"ngForm\" style=\"margin-bottom: 0px; margin-left: 0px;\">\r\n <!-- <div [formGroup]=\"addressForm\" #addressFormDirective=\"ngForm\" > -->\r\n\r\n <div class=\"p-formgrid\" [id]=\"inputId ? inputId : 'address-div'\">\r\n <ion-row>\r\n <ion-col [ngClass]=\"fromPopup ? 'col' : 'col col-fit-content'\" >\r\n <div class=\"field\">\r\n <label [for]=\"inputId ? inputId + '-country' : 'country'\">{{'Country' | translate}}</label><br />\r\n <app-dropdown [options]=\"countryOptions\" [formControl]=\"country\" optionLabel=\"text\" appendTo=\"body\"\r\n [autoDisplayFirst]=\"false\" [inputId]=\"inputId ? inputId + '-country' : 'country'\" ></app-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='country' [form]=\"addressFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col [ngClass]=\"fromPopup ? 'col app-col' : 'col col-fit-content'\" >\r\n <div class=\"field\">\r\n <label [for]=\"inputId ? inputId + '-zip' : 'zip'\">{{'Zip code' | translate}}</label><br />\r\n <input [id]=\"inputId ? inputId + '-zip' : 'zip'\" type=\"input\" pInputText [formControl]=\"zip\" minlength=\"5\" maxlength=\"9\" appStripInvisibleChars\r\n (blur)=\"getAddressData($event); getAddressSuggestion()\" /><br />\r\n <app-error [class]=\"'app-grid'\" [field]='zip' [form]=\"addressFormDirective\" [errDef]=\"{ \r\n required: 'required',\r\n invalidLength: 'Zip code should be of 5 or 9 digits.',\r\n invalidNumber: 'Zip code should only have numbers.',\r\n invalidZipCode: 'please enter a valid zip code',\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n \r\n\r\n <ion-row>\r\n <ion-col [ngClass]=\"fromPopup ? 'col' : 'col col-fit-content'\" style=\"padding-right: 0px;\">\r\n <div class=\"field p-fluid\">\r\n <label [for]=\"inputId ? inputId + '-streetAddress' : 'streetAddress'\">{{'Street Address' | translate}}</label><br />\r\n <input [id]=\"inputId ? inputId + '-streetAddress' : 'streetAddress'\" type=\"input\" pInputText \r\n [formControl]=\"streetAddress\" maxlength=\"40\" (blur)=\"getAddressSuggestion()\" appStripInvisibleChars/><br />\r\n <app-error [class]=\"'app-grid'\" [field]='streetAddress' [form]=\"addressFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row>\r\n <ion-col [ngClass]=\"fromPopup ? 'col' : 'col col-fit-content'\" style=\"padding-right: 0px;\">\r\n <div class=\"field p-fluid\">\r\n <input [id]=\"inputId ? inputId + '-optionalAddress' : 'optionalAddress'\" type=\"input\" pInputText \r\n [formControl]=\"optionalAddress\" placeholder=\"Optional\" (blur)=\"getAddressSuggestion()\"\r\n maxlength=\"40\" appStripInvisibleChars/>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n\r\n <ion-row>\r\n <ion-col [ngClass]=\"fromPopup ? 'col' : 'col col-fit-content'\" style=\"padding-bottom: 0px;\">\r\n <div class=\"field\" style=\"margin-bottom: 0px;\">\r\n <label [for]=\"inputId ? inputId + '-city' : 'city'\">{{'City' | translate}}</label><br />\r\n <input [id]=\"inputId ? inputId + '-city' : 'city'\" type=\"input\" pInputText [formControl]=\"city\" \r\n maxlength=\"30\" (blur)=\"getAddressSuggestion()\" appStripInvisibleChars/><br />\r\n <app-error [class]=\"'app-grid'\" [field]='city' [form]=\"addressFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col [ngClass]=\"fromPopup ? 'col app-col' : 'col col-fit-content'\" style=\"padding-bottom: 0px;\">\r\n <div class=\"field\" style=\"margin-bottom: 0px;\">\r\n <label [for]=\"inputId ? inputId + '-state' : 'state'\">{{'State' | translate}}</label><br />\r\n <app-dropdown [options]=\"stateOptions\" [formControl]=\"state\" optionLabel=\"text\" appendTo=\"body\"\r\n [autoDisplayFirst]=\"false\" [inputId]=\"inputId ? inputId + '-state' : 'state'\"></app-dropdown><br />\r\n <app-error [class]=\"'app-grid'\" [field]='state' [form]=\"addressFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col [ngClass]=\"fromPopup ? 'col' : 'col col-fit-content'\" *ngIf=\"state.value && (state.value.value==='MS' && forState==='MS' \r\n || (state.value.value==='CT' && forState==='MS')) && countyRequired===true\" size=\"12\"style=\"padding-bottom: 0px;\">\r\n <div class=\"field\" style=\"margin-bottom: 0px;\">\r\n <label [for]=\"inputId ? inputId + '-county' : 'county'\">{{'County' | translate}}</label><br />\r\n <app-dropdown [options]=\"countyOptions\" [formControl]=\"county\" optionLabel=\"text\" appendTo=\"body\"\r\n [autoDisplayFirst]=\"false\" [inputId]=\"inputId ? inputId + '-county' : 'county'\"></app-dropdown><br/>\r\n <app-error [class]=\"'app-grid'\" [field]='county' [form]=\"addressFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col [ngClass]=\"fromPopup ? 'col' : 'col col-fit-content'\" *ngIf=\"state.value && state.value.value==='ME' && forState==='ME' && countyRequired===true\" size=\"12\" style=\"padding-bottom: 0px;\">\r\n <div class=\"field\" style=\"margin-bottom: 0px;\">\r\n <label [for]=\"inputId ? inputId + '-town' : 'town'\">{{'Town' | translate}}</label><br />\r\n <app-dropdown [options]=\"townOptions\" [formControl]=\"town\" optionLabel=\"text\" appendTo=\"body\"\r\n [autoDisplayFirst]=\"false\" [inputId]=\"inputId ? inputId + '-town' : 'town'\"></app-dropdown><br/>\r\n <app-error [class]=\"'app-grid'\" [field]='town' [form]=\"addressFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row style=\"padding-top: 4px;\">\r\n <ion-col [ngClass]=\"fromPopup ? 'col' : 'col col-fit-content'\" style=\"padding-top: 0px;\"\r\n *ngIf=\"showNeighbourQuestion===true && forState==='ME'\" >\r\n <div class=\"field\">\r\n <label [for]=\"inputId ? inputId + '-neighbourFlag' : 'neighbourFlag'\">{{'Are you continuing to look for work in Maine?' | translate}}</label><br />\r\n <p-selectButton [inputId]=\"inputId ? inputId + '-neighbourFlag' : 'neighbourFlag'\" unselectable=\"true\" [options]=\"yesNoOptions\"\r\n [formControl]=\"neighbourFlag\" optionLabel=\"text\" optionValue=\"value\" appendTo=\"body\"></p-selectButton>\r\n <app-error [class]=\"'app-grid'\" [field]='neighbourFlag' [form]=\"addressFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col [ngClass]=\"fromPopup ? 'col' : 'col col-fit-content'\" style=\"padding-top: 0px;\"\r\n *ngIf=\"showNeighbourQuestion===true && forState==='MS'\" >\r\n <div class=\"field\">\r\n <label [for]=\"inputId ? inputId + '-neighbourFlag' : 'neighbourFlag'\">{{'Do you normally work in Mississippi?' | translate}}</label><br />\r\n <p-selectButton [inputId]=\"inputId ? inputId + '-neighbourFlag' : 'neighbourFlag'\" unselectable=\"true\" [options]=\"yesNoOptions\"\r\n [formControl]=\"neighbourFlag\" optionLabel=\"text\" optionValue=\"value\" appendTo=\"body\"></p-selectButton>\r\n <app-error [class]=\"'app-grid'\" [field]='neighbourFlag' [form]=\"addressFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n </div>\r\n <!-- </div> -->\r\n</form>\r\n<app-address-suggestion #addressSuggestion *ngIf=\"(enableAddressValidation)&& (addressForm.valid) && (((inputId==='resAddress' || inputId==='resAdress') && diffMailAddress=== false) || (inputId==='mailAddress' && diffMailAddress=== true))\" [form]=\"addressForm\" ></app-address-suggestion>\r\n", styles: [".col{padding-top:0;padding-bottom:0}.form-lbl{padding-bottom:6px}.inline-flex{display:inline-flex}ion-col{padding-left:0}.app-col{margin-left:27px;padding-right:0}\n"] }]
31627
+ ], template: "<form [formGroup]=\"addressForm\" #addressFormDirective=\"ngForm\" style=\"margin-bottom: 0px; margin-left: 0px;\">\r\n <!-- <div [formGroup]=\"addressForm\" #addressFormDirective=\"ngForm\" > -->\r\n\r\n <div class=\"p-formgrid\" [id]=\"inputId ? inputId : 'address-div'\">\r\n <ion-row>\r\n <ion-col [ngClass]=\"fromPopup ? 'col' : 'col col-fit-content'\" >\r\n <div class=\"field\">\r\n <label [for]=\"inputId ? inputId + '-country' : 'country'\">{{'Country' | translate}}</label><br />\r\n <app-dropdown [options]=\"countryOptions\" [formControl]=\"country\" optionLabel=\"text\" appendTo=\"body\"\r\n [autoDisplayFirst]=\"false\" [inputId]=\"inputId ? inputId + '-country' : 'country'\" ></app-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='country' [form]=\"addressFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col [ngClass]=\"fromPopup ? 'col app-col' : 'col col-fit-content'\" >\r\n <div class=\"field\">\r\n <label [for]=\"inputId ? inputId + '-zip' : 'zip'\">{{'Zip code' | translate}}</label><br />\r\n <input [id]=\"inputId ? inputId + '-zip' : 'zip'\" type=\"input\" pInputText [formControl]=\"zip\" minlength=\"5\" maxlength=\"9\" appStripInvisibleChars\r\n (blur)=\"getAddressData($event); setFieldBlur('zip')\" (focus)=\"setFieldFocus('zip')\" /><br />\r\n <app-error [class]=\"'app-grid'\" [field]='zip' [form]=\"addressFormDirective\" [errDef]=\"{ \r\n required: 'required',\r\n invalidLength: 'Zip code should be of 5 or 9 digits.',\r\n invalidNumber: 'Zip code should only have numbers.',\r\n invalidZipCode: 'please enter a valid zip code',\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n \r\n\r\n <ion-row>\r\n <ion-col [ngClass]=\"fromPopup ? 'col' : 'col col-fit-content'\" style=\"padding-right: 0px;\">\r\n <div class=\"field p-fluid\">\r\n <label [for]=\"inputId ? inputId + '-streetAddress' : 'streetAddress'\">{{'Street Address' | translate}}</label><br />\r\n <input [id]=\"inputId ? inputId + '-streetAddress' : 'streetAddress'\" type=\"input\" pInputText \r\n [formControl]=\"streetAddress\" maxlength=\"40\" (blur)=\"getAddressSuggestion(); setFieldBlur('streetAddress')\" (focus)=\"setFieldFocus('streetAddress')\" appStripInvisibleChars/><br />\r\n <app-error [class]=\"'app-grid'\" [field]='streetAddress' [form]=\"addressFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row>\r\n <ion-col [ngClass]=\"fromPopup ? 'col' : 'col col-fit-content'\" style=\"padding-right: 0px;\">\r\n <div class=\"field p-fluid\">\r\n <input [id]=\"inputId ? inputId + '-optionalAddress' : 'optionalAddress'\" type=\"input\" pInputText \r\n [formControl]=\"optionalAddress\" placeholder=\"Optional\" (blur)=\"getAddressSuggestion();setFieldBlur('optionalAddress')\" (focus)=\"setFieldFocus('optionalAddress')\"\r\n maxlength=\"40\" appStripInvisibleChars/>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n\r\n <ion-row>\r\n <ion-col [ngClass]=\"fromPopup ? 'col' : 'col col-fit-content'\" style=\"padding-bottom: 0px;\">\r\n <div class=\"field\" style=\"margin-bottom: 0px;\">\r\n <label [for]=\"inputId ? inputId + '-city' : 'city'\">{{'City' | translate}}</label><br />\r\n <input [id]=\"inputId ? inputId + '-city' : 'city'\" type=\"input\" pInputText [formControl]=\"city\" \r\n maxlength=\"30\" (blur)=\"getAddressSuggestion(); setFieldBlur('city')\" (focus)=\"setFieldFocus('city')\" appStripInvisibleChars/><br />\r\n <app-error [class]=\"'app-grid'\" [field]='city' [form]=\"addressFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col [ngClass]=\"fromPopup ? 'col app-col' : 'col col-fit-content'\" style=\"padding-bottom: 0px;\">\r\n <div class=\"field\" style=\"margin-bottom: 0px;\">\r\n <label [for]=\"inputId ? inputId + '-state' : 'state'\">{{'State' | translate}}</label><br />\r\n <app-dropdown [options]=\"stateOptions\" [formControl]=\"state\" optionLabel=\"text\" appendTo=\"body\"\r\n [autoDisplayFirst]=\"false\" [inputId]=\"inputId ? inputId + '-state' : 'state'\"></app-dropdown><br />\r\n <app-error [class]=\"'app-grid'\" [field]='state' [form]=\"addressFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col [ngClass]=\"fromPopup ? 'col' : 'col col-fit-content'\" *ngIf=\"state.value && (state.value.value==='MS' && forState==='MS' \r\n || (state.value.value==='CT' && forState==='MS')) && countyRequired===true\" size=\"12\"style=\"padding-bottom: 0px;\">\r\n <div class=\"field\" style=\"margin-bottom: 0px;\">\r\n <label [for]=\"inputId ? inputId + '-county' : 'county'\">{{'County' | translate}}</label><br />\r\n <app-dropdown [options]=\"countyOptions\" [formControl]=\"county\" optionLabel=\"text\" appendTo=\"body\"\r\n [autoDisplayFirst]=\"false\" [inputId]=\"inputId ? inputId + '-county' : 'county'\"></app-dropdown><br/>\r\n <app-error [class]=\"'app-grid'\" [field]='county' [form]=\"addressFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col [ngClass]=\"fromPopup ? 'col' : 'col col-fit-content'\" *ngIf=\"state.value && state.value.value==='ME' && forState==='ME' && countyRequired===true\" size=\"12\" style=\"padding-bottom: 0px;\">\r\n <div class=\"field\" style=\"margin-bottom: 0px;\">\r\n <label [for]=\"inputId ? inputId + '-town' : 'town'\">{{'Town' | translate}}</label><br />\r\n <app-dropdown [options]=\"townOptions\" [formControl]=\"town\" optionLabel=\"text\" appendTo=\"body\"\r\n [autoDisplayFirst]=\"false\" [inputId]=\"inputId ? inputId + '-town' : 'town'\"></app-dropdown><br/>\r\n <app-error [class]=\"'app-grid'\" [field]='town' [form]=\"addressFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row style=\"padding-top: 4px;\">\r\n <ion-col [ngClass]=\"fromPopup ? 'col' : 'col col-fit-content'\" style=\"padding-top: 0px;\"\r\n *ngIf=\"showNeighbourQuestion===true && forState==='ME'\" >\r\n <div class=\"field\">\r\n <label [for]=\"inputId ? inputId + '-neighbourFlag' : 'neighbourFlag'\">{{'Are you continuing to look for work in Maine?' | translate}}</label><br />\r\n <p-selectButton [inputId]=\"inputId ? inputId + '-neighbourFlag' : 'neighbourFlag'\" unselectable=\"true\" [options]=\"yesNoOptions\"\r\n [formControl]=\"neighbourFlag\" optionLabel=\"text\" optionValue=\"value\" appendTo=\"body\"></p-selectButton>\r\n <app-error [class]=\"'app-grid'\" [field]='neighbourFlag' [form]=\"addressFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col [ngClass]=\"fromPopup ? 'col' : 'col col-fit-content'\" style=\"padding-top: 0px;\"\r\n *ngIf=\"showNeighbourQuestion===true && forState==='MS'\" >\r\n <div class=\"field\">\r\n <label [for]=\"inputId ? inputId + '-neighbourFlag' : 'neighbourFlag'\">{{'Do you normally work in Mississippi?' | translate}}</label><br />\r\n <p-selectButton [inputId]=\"inputId ? inputId + '-neighbourFlag' : 'neighbourFlag'\" unselectable=\"true\" [options]=\"yesNoOptions\"\r\n [formControl]=\"neighbourFlag\" optionLabel=\"text\" optionValue=\"value\" appendTo=\"body\"></p-selectButton>\r\n <app-error [class]=\"'app-grid'\" [field]='neighbourFlag' [form]=\"addressFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n </div>\r\n <!-- </div> -->\r\n</form>\r\n<app-address-suggestion #addressSuggestion *ngIf=\"(enableAddressValidation) && addressForm.valid\" \r\n[form]=\"addressForm\" [formName]=\"inputId\" [diffMailAddressFlag]=\"diffMailAddress\" [formblur]=\"formBlur\"></app-address-suggestion>\r\n", styles: [".col{padding-top:0;padding-bottom:0}.form-lbl{padding-bottom:6px}.inline-flex{display:inline-flex}ion-col{padding-left:0}.app-col{margin-left:27px;padding-right:0}\n"] }]
31605
31628
  }], () => [{ type: i1$4.UntypedFormBuilder }, { type: UtilService }, { type: QuestionnaireService }, { type: LoggerService }, { type: DmsService }], { addressFormDirective: [{
31606
31629
  type: ViewChild,
31607
31630
  args: ['addressFormDirective', { static: false }]
@@ -31626,6 +31649,8 @@ class AddressComponent {
31626
31649
  type: Input
31627
31650
  }] }); })();
31628
31651
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(AddressComponent, { className: "AddressComponent", filePath: "lib\\components\\address\\address.component.ts", lineNumber: 29 }); })();
31652
+ class AddressFieldFocusStatus {
31653
+ }
31629
31654
 
31630
31655
  class BankDetailsModel {
31631
31656
  }
@@ -42943,93 +42968,156 @@ class AppointmentSelfSchedulerComponent {
42943
42968
  function AddressSuggestionComponent_p_accordion_0_ng_template_2_Template(rf, ctx) { if (rf & 1) {
42944
42969
  i0.ɵɵtext(0, " Address Validation ");
42945
42970
  } }
42946
- function AddressSuggestionComponent_p_accordion_0_ng_template_3_ion_item_16_Template(rf, ctx) { if (rf & 1) {
42971
+ function AddressSuggestionComponent_p_accordion_0_ng_template_3_div_0_Template(rf, ctx) { if (rf & 1) {
42972
+ i0.ɵɵelementStart(0, "div", 10);
42973
+ i0.ɵɵelement(1, "ion-icon", 11);
42974
+ i0.ɵɵelementStart(2, "span");
42975
+ i0.ɵɵtext(3);
42976
+ i0.ɵɵelementEnd()();
42977
+ } if (rf & 2) {
42978
+ const ctx_r4 = i0.ɵɵnextContext(3);
42979
+ i0.ɵɵadvance(3);
42980
+ i0.ɵɵtextInterpolate(ctx_r4.errorText);
42981
+ } }
42982
+ function AddressSuggestionComponent_p_accordion_0_ng_template_3_ion_item_17_Template(rf, ctx) { if (rf & 1) {
42947
42983
  i0.ɵɵelementStart(0, "ion-item")(1, "ion-label");
42948
42984
  i0.ɵɵtext(2);
42949
42985
  i0.ɵɵelement(3, "br");
42950
42986
  i0.ɵɵtext(4);
42951
42987
  i0.ɵɵelementEnd();
42952
- i0.ɵɵelement(5, "ion-radio", 6);
42988
+ i0.ɵɵelement(5, "ion-radio", 7);
42953
42989
  i0.ɵɵelementEnd();
42954
42990
  } if (rf & 2) {
42955
- const c_r4 = ctx.$implicit;
42991
+ const c_r6 = ctx.$implicit;
42956
42992
  i0.ɵɵadvance(2);
42957
- i0.ɵɵtextInterpolate2(" ", c_r4.deliveryLine1, " ", c_r4.deliveryLine2, "");
42993
+ i0.ɵɵtextInterpolate2(" ", c_r6.deliveryLine1, " ", c_r6.deliveryLine2, "");
42958
42994
  i0.ɵɵadvance(2);
42959
- i0.ɵɵtextInterpolate4(" ", c_r4.cityName, ", ", c_r4.stateAbbrevation, ", ", c_r4.zipCode, " ", c_r4.country, " ");
42995
+ i0.ɵɵtextInterpolate4(" ", c_r6.cityName, ", ", c_r6.stateAbbrevation, ", ", c_r6.zipCode, " ", c_r6.country, " ");
42960
42996
  i0.ɵɵadvance(1);
42961
- i0.ɵɵproperty("value", c_r4);
42997
+ i0.ɵɵproperty("value", c_r6);
42962
42998
  } }
42963
42999
  function AddressSuggestionComponent_p_accordion_0_ng_template_3_Template(rf, ctx) { if (rf & 1) {
42964
- const _r6 = i0.ɵɵgetCurrentView();
42965
- i0.ɵɵelementStart(0, "p");
42966
- i0.ɵɵtext(1, "The U.S. Postal Service has recommended changes to your address. Select the address you want to use:");
43000
+ const _r8 = i0.ɵɵgetCurrentView();
43001
+ i0.ɵɵtemplate(0, AddressSuggestionComponent_p_accordion_0_ng_template_3_div_0_Template, 4, 1, "div", 1);
43002
+ i0.ɵɵelementStart(1, "p");
43003
+ i0.ɵɵtext(2, "The U.S. Postal Service has recommended changes to your address. Select the address you want to use:");
42967
43004
  i0.ɵɵelementEnd();
42968
- i0.ɵɵelementStart(2, "ion-radio-group", 4);
42969
- i0.ɵɵlistener("ngModelChange", function AddressSuggestionComponent_p_accordion_0_ng_template_3_Template_ion_radio_group_ngModelChange_2_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r5 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r5.picked = $event); })("ionChange", function AddressSuggestionComponent_p_accordion_0_ng_template_3_Template_ion_radio_group_ionChange_2_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r7 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r7.selectionChanged($event)); });
42970
- i0.ɵɵelementStart(3, "div", 5);
42971
- i0.ɵɵtext(4, "You Entered:");
43005
+ i0.ɵɵelementStart(3, "ion-radio-group", 5);
43006
+ i0.ɵɵlistener("ngModelChange", function AddressSuggestionComponent_p_accordion_0_ng_template_3_Template_ion_radio_group_ngModelChange_3_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r7 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r7.picked = $event); })("ionChange", function AddressSuggestionComponent_p_accordion_0_ng_template_3_Template_ion_radio_group_ionChange_3_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r9 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r9.selectionChanged($event)); });
43007
+ i0.ɵɵelementStart(4, "div", 6);
43008
+ i0.ɵɵtext(5, "You Entered:");
42972
43009
  i0.ɵɵelementEnd();
42973
- i0.ɵɵelementStart(5, "ion-item");
42974
- i0.ɵɵelement(6, "ion-radio", 6);
42975
- i0.ɵɵelementStart(7, "ion-label");
42976
- i0.ɵɵtext(8);
42977
- i0.ɵɵelement(9, "br");
42978
- i0.ɵɵtext(10);
43010
+ i0.ɵɵelementStart(6, "ion-item");
43011
+ i0.ɵɵelement(7, "ion-radio", 7);
43012
+ i0.ɵɵelementStart(8, "ion-label");
43013
+ i0.ɵɵtext(9);
43014
+ i0.ɵɵelement(10, "br");
43015
+ i0.ɵɵtext(11);
42979
43016
  i0.ɵɵelementEnd()();
42980
- i0.ɵɵelementStart(11, "ion-item", 7)(12, "ion-label")(13, "strong", 5);
42981
- i0.ɵɵtext(14, "USPS Recommendations:");
43017
+ i0.ɵɵelementStart(12, "ion-item", 8)(13, "ion-label")(14, "strong", 6);
43018
+ i0.ɵɵtext(15, "USPS Recommendations:");
42982
43019
  i0.ɵɵelementEnd();
42983
- i0.ɵɵelement(15, "br");
43020
+ i0.ɵɵelement(16, "br");
42984
43021
  i0.ɵɵelementEnd()();
42985
- i0.ɵɵtemplate(16, AddressSuggestionComponent_p_accordion_0_ng_template_3_ion_item_16_Template, 6, 7, "ion-item", 8);
43022
+ i0.ɵɵtemplate(17, AddressSuggestionComponent_p_accordion_0_ng_template_3_ion_item_17_Template, 6, 7, "ion-item", 9);
42986
43023
  i0.ɵɵelementEnd();
42987
43024
  } if (rf & 2) {
42988
- const ctx_r2 = i0.ɵɵnextContext(2);
42989
- i0.ɵɵadvance(2);
42990
- i0.ɵɵproperty("ngModel", ctx_r2.picked);
43025
+ const ctx_r3 = i0.ɵɵnextContext(2);
43026
+ i0.ɵɵproperty("ngIf", ctx_r3.showInlineError);
43027
+ i0.ɵɵadvance(3);
43028
+ i0.ɵɵproperty("ngModel", ctx_r3.picked);
42991
43029
  i0.ɵɵadvance(4);
42992
- i0.ɵɵproperty("value", ctx_r2.original);
43030
+ i0.ɵɵproperty("value", ctx_r3.original);
42993
43031
  i0.ɵɵadvance(2);
42994
- i0.ɵɵtextInterpolate2(" ", ctx_r2.original.line1, ", ", ctx_r2.original.line2, "");
43032
+ i0.ɵɵtextInterpolate2(" ", ctx_r3.original.line1, ", ", ctx_r3.original.line2, "");
42995
43033
  i0.ɵɵadvance(2);
42996
- i0.ɵɵtextInterpolate4(" ", ctx_r2.original.city, ", ", ctx_r2.original.state, ", ", ctx_r2.original.zipCode, " ", ctx_r2.original.country, " ");
43034
+ i0.ɵɵtextInterpolate4(" ", ctx_r3.original.city, ", ", ctx_r3.original.state, ", ", ctx_r3.original.zipCode, " ", ctx_r3.original.country, " ");
42997
43035
  i0.ɵɵadvance(6);
42998
- i0.ɵɵproperty("ngForOf", ctx_r2.choices);
43036
+ i0.ɵɵproperty("ngForOf", ctx_r3.choices);
42999
43037
  } }
43000
43038
  function AddressSuggestionComponent_p_accordion_0_Template(rf, ctx) { if (rf & 1) {
43001
- i0.ɵɵelementStart(0, "p-accordion", 1)(1, "p-accordionTab");
43002
- i0.ɵɵtemplate(2, AddressSuggestionComponent_p_accordion_0_ng_template_2_Template, 1, 0, "ng-template", 2)(3, AddressSuggestionComponent_p_accordion_0_ng_template_3_Template, 17, 9, "ng-template", 3);
43039
+ const _r11 = i0.ɵɵgetCurrentView();
43040
+ i0.ɵɵelementStart(0, "p-accordion", 2);
43041
+ i0.ɵɵlistener("onOpen", function AddressSuggestionComponent_p_accordion_0_Template_p_accordion_onOpen_0_listener() { i0.ɵɵrestoreView(_r11); const ctx_r10 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r10.tabOpen()); })("onClose", function AddressSuggestionComponent_p_accordion_0_Template_p_accordion_onClose_0_listener() { i0.ɵɵrestoreView(_r11); const ctx_r12 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r12.tabClose()); });
43042
+ i0.ɵɵelementStart(1, "p-accordionTab");
43043
+ i0.ɵɵtemplate(2, AddressSuggestionComponent_p_accordion_0_ng_template_2_Template, 1, 0, "ng-template", 3)(3, AddressSuggestionComponent_p_accordion_0_ng_template_3_Template, 18, 10, "ng-template", 4);
43003
43044
  i0.ɵɵelementEnd()();
43004
43045
  } if (rf & 2) {
43005
- i0.ɵɵproperty("activeIndex", 0);
43046
+ const ctx_r0 = i0.ɵɵnextContext();
43047
+ i0.ɵɵproperty("activeIndex", ctx_r0.addressSelected);
43048
+ } }
43049
+ function AddressSuggestionComponent_div_1_Template(rf, ctx) { if (rf & 1) {
43050
+ i0.ɵɵelementStart(0, "div", 10);
43051
+ i0.ɵɵelement(1, "ion-icon", 11);
43052
+ i0.ɵɵelementStart(2, "span");
43053
+ i0.ɵɵtext(3);
43054
+ i0.ɵɵelementEnd()();
43055
+ } if (rf & 2) {
43056
+ const ctx_r1 = i0.ɵɵnextContext();
43057
+ i0.ɵɵadvance(3);
43058
+ i0.ɵɵtextInterpolate(ctx_r1.errorText);
43006
43059
  } }
43007
43060
  class AddressSuggestionComponent {
43008
43061
  constructor(addrSvc) {
43009
43062
  this.addrSvc = addrSvc;
43010
- this.showAccordion = false;
43011
43063
  this.choices = [];
43064
+ this.formBlur = true;
43065
+ // @Output() lastValidAddress = new EventEmitter<any>();
43012
43066
  this.picked = null;
43067
+ this.showInlineError = false;
43068
+ this.msuaCount = 0;
43069
+ this.aunrCount = 0;
43013
43070
  }
43014
43071
  ngOnInit() {
43015
- this.getValidateAddress(true);
43072
+ if (this.formBlur) {
43073
+ this.getValidateAddress(true);
43074
+ }
43016
43075
  }
43017
43076
  getValidateAddress(initialValidation) {
43018
43077
  if (!initialValidation && this.form.pristine === true)
43019
43078
  return;
43079
+ if (this.msuaCount >= 2) {
43080
+ this.setIsAddressValideController('0');
43081
+ return;
43082
+ }
43083
+ if (this.aunrCount >= 2) {
43084
+ this.setIsAddressValideController('0');
43085
+ return;
43086
+ }
43020
43087
  this.addrSvc.validateAddressProcess(null, this.form.value, this.form).then((res) => {
43088
+ this.errorText = res.errorText;
43089
+ this.showInlineError = res.showInlineError;
43090
+ this.setIsAddressValideController(res.isAddressValidated);
43091
+ if (this.isAddressValid === '1') {
43092
+ this.lastValidAddress = res.lastValidatedAddress;
43093
+ }
43094
+ if (res.lastValidateResult === "MUSA") {
43095
+ this.msuaCount += 1;
43096
+ this.aunrCount = 0;
43097
+ }
43098
+ if (res.lastValidateResult === "AUNR") {
43099
+ this.aunrCount += 1;
43100
+ this.msuaCount = 0;
43101
+ }
43021
43102
  if (res.showPopup === true) {
43103
+ this.setIsAddressValideController('1');
43104
+ this.addressSelected = 0;
43022
43105
  this.showAccordion = true;
43023
43106
  this.handleRecommendations(res.addressValidationResponse, res.addressValidationRequest, this.form);
43024
43107
  }
43025
43108
  else {
43026
43109
  this.showAccordion = false;
43027
- console.log("no address to validate");
43028
43110
  }
43029
43111
  }).catch((err) => {
43030
43112
  this.showAccordion = false;
43031
43113
  });
43032
43114
  }
43115
+ tabOpen() {
43116
+ this.addressSelected = 0;
43117
+ }
43118
+ tabClose() {
43119
+ this.addressSelected = 1;
43120
+ }
43033
43121
  handleRecommendations(res, req, formCompnent) {
43034
43122
  const suggestions = Array.from(res.addressRecommendationModel ?? []);
43035
43123
  if (!suggestions.length)
@@ -43039,6 +43127,7 @@ class AddressSuggestionComponent {
43039
43127
  }
43040
43128
  selectionChanged(event) {
43041
43129
  let isOrigin = this.picked === this.original ? true : false;
43130
+ this.addressSelected = 1;
43042
43131
  this.patchFormWithSelectedAddress(this.picked, isOrigin, this.form);
43043
43132
  }
43044
43133
  // public patchFormWithSelectedAddress(sel: any,isOrigin: boolean, formCompnent: any) {
@@ -43048,7 +43137,7 @@ class AddressSuggestionComponent {
43048
43137
  // formCompnent.controls['country'].setValue('US')
43049
43138
  // }
43050
43139
  patchFormWithSelectedAddress(sel, isOrigin, form) {
43051
- form.markAsPristine();
43140
+ // form.markAsPristine();
43052
43141
  const isOrig = isOrigin;
43053
43142
  const countryCode = (sel.country ?? 'US').toUpperCase();
43054
43143
  const stateCode = (isOrig ? sel.state : sel.stateAbbrevation)?.toUpperCase();
@@ -43066,6 +43155,12 @@ class AddressSuggestionComponent {
43066
43155
  const state = stateList.find(s => s.value === stateCode) ?? { value: stateCode, text: stateCode };
43067
43156
  form.get('state')?.patchValue(state, { emitEvent: true });
43068
43157
  }
43158
+ setIsAddressValideController(flag) {
43159
+ this.isAddressValid = flag;
43160
+ if (this.form.controls['hidIsAddressValidated']) {
43161
+ this.form.controls['hidIsAddressValidated'].setValue(this.isAddressValid);
43162
+ }
43163
+ }
43069
43164
  mapAddress(sel, isOrigin) {
43070
43165
  if (isOrigin) {
43071
43166
  // Original Address
@@ -43091,15 +43186,17 @@ class AddressSuggestionComponent {
43091
43186
  }
43092
43187
  }
43093
43188
  static { this.ɵfac = function AddressSuggestionComponent_Factory(t) { return new (t || AddressSuggestionComponent)(i0.ɵɵdirectiveInject(AddressValidationService)); }; }
43094
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AddressSuggestionComponent, selectors: [["app-address-suggestion"]], inputs: { original: "original", choices: "choices", form: "form", formName: "formName" }, decls: 1, vars: 1, consts: [["styleClass", "red-header", 3, "activeIndex", 4, "ngIf"], ["styleClass", "red-header", 3, "activeIndex"], ["pTemplate", "header"], ["pTemplate", "content"], [3, "ngModel", "ngModelChange", "ionChange"], [1, "label-heading"], ["slot", "start", 3, "value"], ["lines", "none"], [4, "ngFor", "ngForOf"]], template: function AddressSuggestionComponent_Template(rf, ctx) { if (rf & 1) {
43095
- i0.ɵɵtemplate(0, AddressSuggestionComponent_p_accordion_0_Template, 4, 1, "p-accordion", 0);
43189
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AddressSuggestionComponent, selectors: [["app-address-suggestion"]], inputs: { original: "original", choices: "choices", form: "form", formName: "formName", diffMailAddressFlag: "diffMailAddressFlag", formBlur: "formBlur" }, decls: 2, vars: 2, consts: [["styleClass", "red-header", 3, "activeIndex", "onOpen", "onClose", 4, "ngIf"], ["class", "error-banner", 4, "ngIf"], ["styleClass", "red-header", 3, "activeIndex", "onOpen", "onClose"], ["pTemplate", "header"], ["pTemplate", "content"], [3, "ngModel", "ngModelChange", "ionChange"], [1, "label-heading"], ["slot", "start", 3, "value"], ["lines", "none"], [4, "ngFor", "ngForOf"], [1, "error-banner"], ["name", "alert-circle-outline", 2, "color", "var(--ion-color-danger)", "font-size", "18px", "margin-right", "8px"]], template: function AddressSuggestionComponent_Template(rf, ctx) { if (rf & 1) {
43190
+ i0.ɵɵtemplate(0, AddressSuggestionComponent_p_accordion_0_Template, 4, 1, "p-accordion", 0)(1, AddressSuggestionComponent_div_1_Template, 4, 1, "div", 1);
43096
43191
  } if (rf & 2) {
43097
- i0.ɵɵproperty("ngIf", ctx.showAccordion);
43098
- } }, dependencies: [i4.IonItem, i4.IonLabel, i4.IonRadio, i4.IonRadioGroup, i4.RadioValueAccessor, i4.SelectValueAccessor, i5$1.NgForOf, i5$1.NgIf, i6.PrimeTemplate, i1$4.NgControlStatus, i1$4.NgModel, i13.Accordion, i13.AccordionTab], styles: ["[_nghost-%COMP%] .red-header .p-accordion-header-link{color:var(--ion-color-danger)}"] }); }
43192
+ i0.ɵɵproperty("ngIf", ctx.showAccordion && ctx.form.valid && ((ctx.formName === "resAddress" || ctx.formName === "resAdress") && ctx.diffMailAddressFlag === false || ctx.formName === "mailAddress" && ctx.diffMailAddressFlag === true));
43193
+ i0.ɵɵadvance(1);
43194
+ i0.ɵɵproperty("ngIf", ctx.showInlineError && !ctx.showAccordion && ctx.msuaCount < 2 && ctx.aunrCount < 2);
43195
+ } }, dependencies: [i4.IonIcon, i4.IonItem, i4.IonLabel, i4.IonRadio, i4.IonRadioGroup, i4.RadioValueAccessor, i4.SelectValueAccessor, i5$1.NgForOf, i5$1.NgIf, i6.PrimeTemplate, i1$4.NgControlStatus, i1$4.NgModel, i13.Accordion, i13.AccordionTab], styles: ["[_nghost-%COMP%] .red-header .p-accordion-header-link{color:var(--ion-color-danger)}.error-banner[_ngcontent-%COMP%]{display:flex;align-items:center;background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:4px;padding:8px 12px;margin-bottom:10px;font-size:14px}.hide-element[_ngcontent-%COMP%]{visibility:hidden}"] }); }
43099
43196
  }
43100
43197
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AddressSuggestionComponent, [{
43101
43198
  type: Component,
43102
- args: [{ selector: 'app-address-suggestion', template: "<p-accordion *ngIf=\"showAccordion\" [activeIndex]=\"0\" styleClass=\"red-header\">\r\n <p-accordionTab >\r\n \r\n <ng-template pTemplate=\"header\" >\r\n Address Validation\r\n </ng-template>\r\n <ng-template pTemplate=\"content\">\r\n <p>The U.S. Postal Service has recommended changes to your address. Select the address you want to use:</p>\r\n <ion-radio-group [(ngModel)]=\"picked\" (ionChange)=\"selectionChanged($event)\">\r\n <div class=\"label-heading\">You Entered:</div>\r\n <ion-item>\r\n <ion-radio slot=\"start\" [value]=\"original\"></ion-radio>\r\n <ion-label>\r\n {{ original.line1 }}, {{ original.line2 }}<br />\r\n {{ original.city }}, {{ original.state }}, {{ original.zipCode }} {{ original.country }}\r\n </ion-label>\r\n </ion-item>\r\n <ion-item lines=\"none\">\r\n <ion-label>\r\n <strong class=\"label-heading\">USPS Recommendations:</strong><br />\r\n </ion-label>\r\n </ion-item>\r\n <ion-item *ngFor=\"let c of choices\">\r\n <ion-label>\r\n {{ c.deliveryLine1 }} {{ c.deliveryLine2 }}<br />\r\n {{ c.cityName }}, {{ c.stateAbbrevation }}, {{ c.zipCode }} {{ c.country }}\r\n </ion-label>\r\n <ion-radio slot=\"start\" [value]=\"c\"></ion-radio>\r\n </ion-item>\r\n </ion-radio-group>\r\n </ng-template>\r\n </p-accordionTab>\r\n</p-accordion>", styles: [":host ::ng-deep .red-header .p-accordion-header-link{color:var(--ion-color-danger)}\n"] }]
43199
+ args: [{ selector: 'app-address-suggestion', template: "<p-accordion *ngIf=\"showAccordion && (form.valid) && (((formName==='resAddress' || formName==='resAdress') && diffMailAddressFlag=== false) || (formName==='mailAddress' && diffMailAddressFlag=== true))\" (onOpen)=\"tabOpen()\" (onClose)=\"tabClose()\" [activeIndex]=\"addressSelected\" styleClass=\"red-header\">\r\n <p-accordionTab >\r\n \r\n <ng-template pTemplate=\"header\" >\r\n Address Validation\r\n </ng-template>\r\n <ng-template pTemplate=\"content\">\r\n <div *ngIf=\"showInlineError\" class=\"error-banner\">\r\n <ion-icon name=\"alert-circle-outline\" style=\"color: var(--ion-color-danger); font-size: 18px; margin-right: 8px;\"></ion-icon>\r\n <span>{{ errorText }}</span>\r\n </div>\r\n <p>The U.S. Postal Service has recommended changes to your address. Select the address you want to use:</p>\r\n <ion-radio-group [(ngModel)]=\"picked\" (ionChange)=\"selectionChanged($event)\">\r\n <div class=\"label-heading\">You Entered:</div>\r\n <ion-item>\r\n <ion-radio slot=\"start\" [value]=\"original\"></ion-radio>\r\n <ion-label>\r\n {{ original.line1 }}, {{ original.line2 }}<br />\r\n {{ original.city }}, {{ original.state }}, {{ original.zipCode }} {{ original.country }}\r\n </ion-label>\r\n </ion-item>\r\n <ion-item lines=\"none\">\r\n <ion-label>\r\n <strong class=\"label-heading\">USPS Recommendations:</strong><br />\r\n </ion-label>\r\n </ion-item>\r\n <ion-item *ngFor=\"let c of choices\">\r\n <ion-label>\r\n {{ c.deliveryLine1 }} {{ c.deliveryLine2 }}<br />\r\n {{ c.cityName }}, {{ c.stateAbbrevation }}, {{ c.zipCode }} {{ c.country }}\r\n </ion-label>\r\n <ion-radio slot=\"start\" [value]=\"c\"></ion-radio>\r\n </ion-item>\r\n </ion-radio-group>\r\n </ng-template>\r\n </p-accordionTab>\r\n</p-accordion>\r\n<div *ngIf=\"showInlineError && !showAccordion && msuaCount < 2 && aunrCount < 2\" class=\"error-banner\">\r\n <ion-icon name=\"alert-circle-outline\" style=\"color: var(--ion-color-danger); font-size: 18px; margin-right: 8px;\"></ion-icon>\r\n <span>{{ errorText }}</span>\r\n</div>", styles: [":host ::ng-deep .red-header .p-accordion-header-link{color:var(--ion-color-danger)}.error-banner{display:flex;align-items:center;background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:4px;padding:8px 12px;margin-bottom:10px;font-size:14px}.hide-element{visibility:hidden}\n"] }]
43103
43200
  }], () => [{ type: AddressValidationService }], { original: [{
43104
43201
  type: Input
43105
43202
  }], choices: [{
@@ -43108,6 +43205,10 @@ class AddressSuggestionComponent {
43108
43205
  type: Input
43109
43206
  }], formName: [{
43110
43207
  type: Input
43208
+ }], diffMailAddressFlag: [{
43209
+ type: Input
43210
+ }], formBlur: [{
43211
+ type: Input
43111
43212
  }] }); })();
43112
43213
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(AddressSuggestionComponent, { className: "AddressSuggestionComponent", filePath: "lib\\components\\address-suggestion\\address-suggestion.component.ts", lineNumber: 15 }); })();
43113
43214
 
@@ -45515,5 +45616,5 @@ class CaseCoreModel {
45515
45616
  * Generated bundle index. Do not edit.
45516
45617
  */
45517
45618
 
45518
- export { AccessibilityPolicyPage, AccountSuccessPage, AddEmployerComponent, AddParticipantComponent, AddPaymentComponent, AddWageComponent, AddressComponent, AddressPopupComponent, AddressSuggestionComponent, AppointmentSelfSchedulerComponent, AssociateSsnComponent, AuthGuard, AutofocusDirective, BankDetailsComponent, BasePage, BaseService, CapsLockDirective, CaptchaComponent, CaptchaService, CardComponent, CaseCoreModel, ChangePasswordPage, ChatbotService, Choices, ChoicesModel, ClaimAppEmpRequestModel, ClaimInfoComponent, ClaimService, ClaimantContextService, ClaimantService$1 as ClaimantService, CmpService, ComboOption, CommonSuccessPage, ComplaintCategoryModel, ComplaintCategoryOutputModel, ContactUsComponent, ContactUsInqueryModel, ContactUsModel, ContentComponent, CorrespondenceDownloadComponent, CustomErrorStateMatcher, DROPDOWN_VALUE_ACCESSOR, DashboardCardComponent, DependentGridComponent, DisclosureComponent, DmsService, Dropdown, DropdownItem, DuaRequestPageComponent, DuaRequestPopupComponent, DynamicFormComponent, DynamicFormPanelComponent, DynamicFormQuestionComponent, DynamicTranslatePipe, ElementsModel, EmailStatusEnum, EmailTemplateModle, EmailUpdateComponent, EmployerDataModel, EmployerGridComponent, EmployerInfoComponent, EmployerPayComponent, EmployerPayGridComponent, ErrorComponent, ErrorModel, FarmUsageComponent, FavMenuComponent, FileDownloadComponent, FileObject, FileUploaderComponent, FilterPipe, FooterComponent, FormBuilderPage, GoogleAnalyticsService, GrossEarningsComponent, HeaderComponent, HelpComponent, HelpService, HistoryPageComponent, HttpErrorInterceptor, HttpHeaderInterceptor, IdleDetectorComponent, IdleService, IdmeComponent, InfoComponent, InputFocus, JobSearchResultPageComponent, JobTitleComponent, KeyValueModel, Landing2Component, LegalDisclaimarComponent, LegalDisclaimarModel, LibConstants, LinkComponent, LoggerService, LoginComponent, LoginService, MaintenanceDetectorComponent, MaintenanceService, MaskComponent, MaskEmailPipe, MenuComponent, MfaComponent, MfaPopupComponent, MoneyExpectComponent, MsgComponent, MultiQuestionnaireComponent, MyNotificationsPage, MyProfilePage, NewsComponent, NgxReusaAppLibComponent, NgxReusaAppLibModule, NgxReusaAppLibService, NoLoginGuard, NotFoundPage, NotificationService, OfflineAddEmployerComponent, OfflineBankDetailsComponent, OfflineClaimService, OfflineEmployerGridComponent, OfflineLegalDisclaimarComponent, OverlayInfoComponent, PageComponent, PrivacyDisclaimerPage, ProfileRedirectComponent, ProofOfAnythingComponent, ProofOfDocumentUploadComponent, ProperCasePipe, QuestionBase, QuestionService, QuestionnaireQueryModel, ReadMoreComponent, RenderQuestionnairePage, RequalifyLiftPreviousIssuesComponent, RequiredRolesDirective, ScriptConstant, ScrollableTextComponent, SearchEmployerComponent, SecurityPolicyPage, SelectComponent, SignSsnComponent, SmsComponent, SsnComponent, StripInvisibleCharsDirective, TestComponent, TourService, TrendModel, TrustHtmlPipe, UnauthorizedPage, UserLoginComponent, UserModel, UserSearchComponent, UtilService, ValidationModel, ValidationService, WageCalculatorComponent, WageGridComponent, WeeklyCertEmployerComponentQe, WeeklyCertEmployerGridComponent, WeeklyWorkPerformedPopupComponent, createTranslateLoader, enterAnimation, getBaseUrl, rowExpansionTrigger };
45619
+ export { AccessibilityPolicyPage, AccountSuccessPage, AddEmployerComponent, AddParticipantComponent, AddPaymentComponent, AddWageComponent, AddressComponent, AddressFieldFocusStatus, AddressPopupComponent, AddressSuggestionComponent, AppointmentSelfSchedulerComponent, AssociateSsnComponent, AuthGuard, AutofocusDirective, BankDetailsComponent, BasePage, BaseService, CapsLockDirective, CaptchaComponent, CaptchaService, CardComponent, CaseCoreModel, ChangePasswordPage, ChatbotService, Choices, ChoicesModel, ClaimAppEmpRequestModel, ClaimInfoComponent, ClaimService, ClaimantContextService, ClaimantService$1 as ClaimantService, CmpService, ComboOption, CommonSuccessPage, ComplaintCategoryModel, ComplaintCategoryOutputModel, ContactUsComponent, ContactUsInqueryModel, ContactUsModel, ContentComponent, CorrespondenceDownloadComponent, CustomErrorStateMatcher, DROPDOWN_VALUE_ACCESSOR, DashboardCardComponent, DependentGridComponent, DisclosureComponent, DmsService, Dropdown, DropdownItem, DuaRequestPageComponent, DuaRequestPopupComponent, DynamicFormComponent, DynamicFormPanelComponent, DynamicFormQuestionComponent, DynamicTranslatePipe, ElementsModel, EmailStatusEnum, EmailTemplateModle, EmailUpdateComponent, EmployerDataModel, EmployerGridComponent, EmployerInfoComponent, EmployerPayComponent, EmployerPayGridComponent, ErrorComponent, ErrorModel, FarmUsageComponent, FavMenuComponent, FileDownloadComponent, FileObject, FileUploaderComponent, FilterPipe, FooterComponent, FormBuilderPage, GoogleAnalyticsService, GrossEarningsComponent, HeaderComponent, HelpComponent, HelpService, HistoryPageComponent, HttpErrorInterceptor, HttpHeaderInterceptor, IdleDetectorComponent, IdleService, IdmeComponent, InfoComponent, InputFocus, JobSearchResultPageComponent, JobTitleComponent, KeyValueModel, Landing2Component, LegalDisclaimarComponent, LegalDisclaimarModel, LibConstants, LinkComponent, LoggerService, LoginComponent, LoginService, MaintenanceDetectorComponent, MaintenanceService, MaskComponent, MaskEmailPipe, MenuComponent, MfaComponent, MfaPopupComponent, MoneyExpectComponent, MsgComponent, MultiQuestionnaireComponent, MyNotificationsPage, MyProfilePage, NewsComponent, NgxReusaAppLibComponent, NgxReusaAppLibModule, NgxReusaAppLibService, NoLoginGuard, NotFoundPage, NotificationService, OfflineAddEmployerComponent, OfflineBankDetailsComponent, OfflineClaimService, OfflineEmployerGridComponent, OfflineLegalDisclaimarComponent, OverlayInfoComponent, PageComponent, PrivacyDisclaimerPage, ProfileRedirectComponent, ProofOfAnythingComponent, ProofOfDocumentUploadComponent, ProperCasePipe, QuestionBase, QuestionService, QuestionnaireQueryModel, ReadMoreComponent, RenderQuestionnairePage, RequalifyLiftPreviousIssuesComponent, RequiredRolesDirective, ScriptConstant, ScrollableTextComponent, SearchEmployerComponent, SecurityPolicyPage, SelectComponent, SignSsnComponent, SmsComponent, SsnComponent, StripInvisibleCharsDirective, TestComponent, TourService, TrendModel, TrustHtmlPipe, UnauthorizedPage, UserLoginComponent, UserModel, UserSearchComponent, UtilService, ValidationModel, ValidationService, WageCalculatorComponent, WageGridComponent, WeeklyCertEmployerComponentQe, WeeklyCertEmployerGridComponent, WeeklyWorkPerformedPopupComponent, createTranslateLoader, enterAnimation, getBaseUrl, rowExpansionTrigger };
45519
45620
  //# sourceMappingURL=reusa-ngx-reusa-app-lib.mjs.map