@hmcts/rpx-xui-common-lib 1.9.0-consume-jrd-e-links-api-new-version-v3 → 1.9.0-postcode-validation

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 (42) hide show
  1. package/bundles/hmcts-rpx-xui-common-lib.umd.js +456 -103
  2. package/bundles/hmcts-rpx-xui-common-lib.umd.js.map +1 -1
  3. package/bundles/hmcts-rpx-xui-common-lib.umd.min.js +1 -1
  4. package/bundles/hmcts-rpx-xui-common-lib.umd.min.js.map +1 -1
  5. package/esm2015/hmcts-rpx-xui-common-lib.js +27 -24
  6. package/esm2015/lib/components/cookie-banner/cookie-banner.component.js +2 -2
  7. package/esm2015/lib/components/find-service/find-service.component.js +2 -2
  8. package/esm2015/lib/components/generic-filter/generic-filter.component.js +2 -2
  9. package/esm2015/lib/components/public_api.js +3 -1
  10. package/esm2015/lib/components/selected-case-confirm/selected-case-confirm.component.js +2 -2
  11. package/esm2015/lib/components/share-case/share-case.component.js +2 -2
  12. package/esm2015/lib/components/write-address/write-address.component.js +147 -0
  13. package/esm2015/lib/components/write-address-inputs/write-address-inputs.component.js +30 -0
  14. package/esm2015/lib/exui-common-lib.module.js +6 -2
  15. package/esm2015/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.js +2 -2
  16. package/esm2015/lib/models/address-message.enum.js +10 -0
  17. package/esm2015/lib/models/address-option.model.js +21 -0
  18. package/esm2015/lib/models/address.model.js +4 -0
  19. package/esm2015/lib/models/index.js +4 -1
  20. package/esm2015/lib/models/person.model.js +1 -1
  21. package/esm2015/lib/services/address/address-parser.js +76 -0
  22. package/esm2015/lib/services/address/address-type.enum.js +7 -0
  23. package/esm2015/lib/services/address/address.service.js +50 -0
  24. package/esm2015/lib/services/public-api.js +2 -1
  25. package/fesm2015/hmcts-rpx-xui-common-lib.js +390 -58
  26. package/fesm2015/hmcts-rpx-xui-common-lib.js.map +1 -1
  27. package/hmcts-rpx-xui-common-lib.d.ts +26 -23
  28. package/hmcts-rpx-xui-common-lib.metadata.json +1 -1
  29. package/lib/components/public_api.d.ts +2 -0
  30. package/lib/components/write-address/write-address.component.d.ts +34 -0
  31. package/lib/components/write-address-inputs/write-address-inputs.component.d.ts +13 -0
  32. package/lib/exui-common-lib.module.d.ts +2 -1
  33. package/lib/models/address-message.enum.d.ts +8 -0
  34. package/lib/models/address-option.model.d.ts +9 -0
  35. package/lib/models/address.model.d.ts +9 -0
  36. package/lib/models/index.d.ts +3 -0
  37. package/lib/models/person.model.d.ts +8 -7
  38. package/lib/services/address/address-parser.d.ts +17 -0
  39. package/lib/services/address/address-type.enum.d.ts +5 -0
  40. package/lib/services/address/address.service.d.ts +12 -0
  41. package/lib/services/public-api.d.ts +1 -0
  42. package/package.json +1 -1
@@ -34,3 +34,5 @@ export * from './user-select/user-select.component';
34
34
  export * from './user-select/user-select.component';
35
35
  export * from './find-task-name/find-task-name.component';
36
36
  export * from './exui-main-wrapper/exui-page-wrapper.component';
37
+ export * from './write-address/write-address.component';
38
+ export * from './write-address-inputs/write-address-inputs.component';
@@ -0,0 +1,34 @@
1
+ import { EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core';
2
+ import { FormGroup } from '@angular/forms';
3
+ import { AddressMessageEnum, AddressModel } from '../../models';
4
+ import { AddressOption } from '../../models/address-option.model';
5
+ import { AddressService } from '../../services/address/address.service';
6
+ export declare class WriteAddressFieldComponent implements OnInit, OnChanges {
7
+ private readonly addressesService;
8
+ formGroup: FormGroup;
9
+ internationalMode: boolean;
10
+ isInternational: boolean;
11
+ submissionAttempted: boolean;
12
+ startedInternational: boolean;
13
+ postcodeOptionSelected: EventEmitter<void>;
14
+ internationalModeStart: EventEmitter<void>;
15
+ ukAddressOptionSelected: EventEmitter<boolean>;
16
+ addressField: AddressModel;
17
+ optionErrorsPresent: boolean;
18
+ addressChosen: boolean;
19
+ addressFormGroup: FormGroup;
20
+ addressOptions: AddressOption[];
21
+ missingPostcode: boolean;
22
+ optionErrorMessage: AddressMessageEnum;
23
+ constructor(addressesService: AddressService);
24
+ ngOnInit(): void;
25
+ findAddress(): void;
26
+ blankAddress(): void;
27
+ shouldShowDetailFields(): boolean;
28
+ addressSelected(): void;
29
+ ngOnChanges(changes: SimpleChanges): void;
30
+ private checkIfErrorsNeeded;
31
+ setInternationalAddress(isInternational: boolean): void;
32
+ private defaultLabel;
33
+ private setFormValue;
34
+ }
@@ -0,0 +1,13 @@
1
+ import { OnChanges } from '@angular/core';
2
+ import { FormGroup } from '@angular/forms';
3
+ import { AddressMessageEnum } from '../../models';
4
+ export declare class WriteAddressInputsComponent implements OnChanges {
5
+ MESSAGE_ENUM: typeof AddressMessageEnum;
6
+ formGroup: FormGroup;
7
+ isInternational: boolean;
8
+ submissionAttempted: boolean;
9
+ missingPostcode: boolean;
10
+ errorsPresent: boolean;
11
+ constructor();
12
+ ngOnChanges(): void;
13
+ }
@@ -15,6 +15,7 @@ import { SelectedCaseComponent } from './components/selected-case/selected-case.
15
15
  import { ServiceMessagesComponent } from './components/service-messages/service-messages.component';
16
16
  import { ShareCaseConfirmComponent } from './components/share-case-confirm/share-case-confirm.component';
17
17
  import { ShareCaseComponent } from './components/share-case/share-case.component';
18
+ import { WriteAddressFieldComponent } from './components/write-address/write-address.component';
18
19
  import { FeatureToggleDirective } from './directives/feature-toggle/feature-toggle.directive';
19
20
  import { LetDirective } from './directives/let/let.directive';
20
21
  import { GovUkErrorMessageComponent } from './gov-ui/components/gov-uk-error-message/gov-uk-error-message.component';
@@ -31,7 +32,7 @@ import { HmctsPaginationComponent } from './gov-ui/components/hmcts-pagination/h
31
32
  import { HmctsPrimaryNavigationComponent } from './gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component';
32
33
  import { HmctsSubNavigationComponent } from './gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component';
33
34
  import { RemoveHostDirective } from './gov-ui/directives/remove-host.directive';
34
- export declare const COMMON_COMPONENTS: (typeof AccessibilityComponent | typeof CheckboxListComponent | typeof DueDateComponent | typeof GenericFilterComponent | typeof LoadingSpinnerComponent | typeof SelectedCaseConfirmComponent | typeof SelectedCaseListComponent | typeof SelectedCaseComponent | typeof ServiceMessagesComponent | typeof ShareCaseConfirmComponent | typeof ShareCaseComponent | typeof CookieBannerComponent | typeof SearchLocationComponent | typeof SearchVenueComponent | typeof SearchJudicialsComponent | typeof FindPersonComponent | typeof FindTaskNameComponent | typeof FeatureToggleDirective | typeof LetDirective)[];
35
+ export declare const COMMON_COMPONENTS: (typeof AccessibilityComponent | typeof CheckboxListComponent | typeof DueDateComponent | typeof GenericFilterComponent | typeof LoadingSpinnerComponent | typeof SelectedCaseConfirmComponent | typeof SelectedCaseListComponent | typeof SelectedCaseComponent | typeof ServiceMessagesComponent | typeof ShareCaseConfirmComponent | typeof ShareCaseComponent | typeof CookieBannerComponent | typeof SearchLocationComponent | typeof SearchVenueComponent | typeof SearchJudicialsComponent | typeof FindPersonComponent | typeof FindTaskNameComponent | typeof WriteAddressFieldComponent | typeof FeatureToggleDirective | typeof LetDirective)[];
35
36
  export declare const GOV_UI_COMPONENTS: (typeof HmctsIdentityBarComponent | typeof HmctsPaginationComponent | typeof HmctsSubNavigationComponent | typeof HmctsPrimaryNavigationComponent | typeof HmctsErrorSummaryComponent | typeof HmctsMainWrapperComponent | typeof HmctsBannerComponent | typeof GovukTableComponent | typeof GovUkFormGroupWrapperComponent | typeof GovUkLabelComponent | typeof GovUkErrorMessageComponent | typeof GovUkRadioComponent | typeof GovUkRadiosComponent | typeof RemoveHostDirective)[];
36
37
  export declare class ExuiCommonLibModule {
37
38
  }
@@ -0,0 +1,8 @@
1
+ export declare enum AddressMessageEnum {
2
+ NO_OPTION_SELECTED = "Please select an answer",
3
+ NO_STREET_SELECTED = "Enter building and street",
4
+ NO_CITY_SELECTED = "Enter town or city",
5
+ NO_COUNTRY_SELECTED = "Enter country",
6
+ NO_POSTCODE_SELECTED = "Enter postcode",
7
+ INVALID_POSTCODE = "Enter valid postcode"
8
+ }
@@ -0,0 +1,9 @@
1
+ import { AddressModel } from '.';
2
+ export declare class AddressOption {
3
+ description: string;
4
+ value: AddressModel;
5
+ constructor(addressModel: AddressModel, description: string);
6
+ private getDescription;
7
+ private prefixWithCommaIfPresent;
8
+ private removeInitialCommaIfPresent;
9
+ }
@@ -0,0 +1,9 @@
1
+ export declare class AddressModel {
2
+ addressLine1: string;
3
+ addressLine2?: string;
4
+ addressLine3?: string;
5
+ postTown: string;
6
+ county?: string;
7
+ postCode: string;
8
+ country: string;
9
+ }
@@ -1,3 +1,6 @@
1
+ export * from './address-message.enum';
2
+ export * from './address-option.model';
3
+ export * from './address.model';
1
4
  export * from './case-share.model';
2
5
  export * from './contact-details.model';
3
6
  export * from './due-date.model';
@@ -7,15 +7,16 @@ export interface Person {
7
7
  fullName?: string;
8
8
  }
9
9
  export interface JudicialUserModel {
10
- title: string;
11
- knownAs: string;
12
- surname: string;
13
- fullName: string;
14
- initials: string;
15
- postNominals: string;
16
10
  emailId: string;
17
- personalCode: string;
11
+ fullName: string;
18
12
  idamId: string;
13
+ isJudge: string;
14
+ isMagistrate: string;
15
+ isPanelMember: string;
16
+ knownAs: string;
17
+ personalCode: string;
18
+ surname: string;
19
+ title: string;
19
20
  }
20
21
  export interface CaseworkersByService {
21
22
  service: string;
@@ -0,0 +1,17 @@
1
+ import { AddressModel } from '../../models';
2
+ /**
3
+ * Moving all this logic here into Address Parser class, so that it
4
+ * will be easier for us when we move this parsing logic to into
5
+ * `Shim` java service.
6
+ */
7
+ export declare class AddressParser {
8
+ parse(address: any): AddressModel;
9
+ private parseAddressLine1;
10
+ private parseAddressLine2;
11
+ private parseAddressLine3;
12
+ private removeNonAddressValues;
13
+ private removeUndefinedString;
14
+ private removeEmptySpaces;
15
+ private removeInitialComma;
16
+ private prefixWithCommaIfPresent;
17
+ }
@@ -0,0 +1,5 @@
1
+ export declare enum AddressType {
2
+ DPA = "DPA",
3
+ UK = "United Kingdom",
4
+ RD06 = "RD06"
5
+ }
@@ -0,0 +1,12 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { Observable } from 'rxjs';
3
+ import { AddressModel } from '../../models';
4
+ export declare class AddressService {
5
+ private readonly http;
6
+ constructor(http: HttpClient);
7
+ getAddressesForPostcode(postcode: string): Observable<AddressModel[]>;
8
+ private format;
9
+ private formatAddressLines;
10
+ private shiftAddressLinesUp;
11
+ private toCapitalCase;
12
+ }
@@ -1,6 +1,7 @@
1
1
  export * from './feature-toggle/feature-toggle.guard';
2
2
  export * from './feature-toggle/feature-toggle.service';
3
3
  export * from './feature-toggle/launch-darkly.service';
4
+ export * from './address/address.service';
4
5
  export * from './google-analytics/google-analytics.service';
5
6
  export * from './google-tag-manager/google-tag-manager.service';
6
7
  export * from './manage-session/manage-session.services';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hmcts/rpx-xui-common-lib",
3
- "version": "1.9.0-consume-jrd-e-links-api-new-version-v3",
3
+ "version": "1.9.0-postcode-validation",
4
4
  "peerDependencies": {
5
5
  "launchdarkly-js-client-sdk": "^2.15.2",
6
6
  "ngx-pagination": "^3.2.1",