@hmcts/rpx-xui-common-lib 3.2.15 → 3.2.16-pofcc-156

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.
@@ -1541,13 +1541,13 @@ var BookingCheckType;
1541
1541
  BookingCheckType["POSSIBLE_BOOKINGS"] = "POSSIBLE_BOOKINGS";
1542
1542
  })(BookingCheckType || (BookingCheckType = {}));
1543
1543
 
1544
- // used as settings for filters and components
1545
1544
  var PersonRole;
1546
1545
  (function (PersonRole) {
1547
1546
  PersonRole["JUDICIAL"] = "Judicial";
1548
1547
  PersonRole["LEGAL_OPERATIONS"] = "Legal Ops";
1549
1548
  PersonRole["ADMIN"] = "Admin";
1550
1549
  PersonRole["CTSC"] = "CTSC";
1550
+ PersonRole["ENFORCEMENT"] = "Enforcement";
1551
1551
  PersonRole["ALL"] = "All";
1552
1552
  })(PersonRole || (PersonRole = {}));
1553
1553
  // Role categories used in application
@@ -1559,8 +1559,43 @@ var RoleCategory;
1559
1559
  RoleCategory["CTSC"] = "CTSC";
1560
1560
  RoleCategory["PROFESSIONAL"] = "PROFESSIONAL";
1561
1561
  RoleCategory["CITIZEN"] = "CITIZEN";
1562
+ RoleCategory["ENFORCEMENT"] = "ENFORCEMENT";
1562
1563
  RoleCategory["ALL"] = "ALL";
1563
1564
  })(RoleCategory || (RoleCategory = {}));
1565
+ function getRoleCategory(personRole) {
1566
+ let roleCategory = RoleCategory.ALL;
1567
+ if (!(personRole === PersonRole.ALL)) {
1568
+ if (personRole === PersonRole.LEGAL_OPERATIONS) {
1569
+ roleCategory = RoleCategory.LEGAL_OPERATIONS;
1570
+ }
1571
+ else if (personRole === PersonRole.ADMIN) {
1572
+ roleCategory = RoleCategory.ADMIN;
1573
+ }
1574
+ else if (personRole === PersonRole.CTSC) {
1575
+ roleCategory = RoleCategory.CTSC;
1576
+ }
1577
+ else if (personRole === PersonRole.ENFORCEMENT) {
1578
+ roleCategory = RoleCategory.ENFORCEMENT;
1579
+ }
1580
+ }
1581
+ return roleCategory;
1582
+ }
1583
+ function getPersonRole(roleCategories) {
1584
+ if (roleCategories.includes(RoleCategory.ADMIN)) {
1585
+ return PersonRole.ADMIN;
1586
+ }
1587
+ if (roleCategories.includes(RoleCategory.CTSC)) {
1588
+ return PersonRole.CTSC;
1589
+ }
1590
+ if (roleCategories.includes(RoleCategory.LEGAL_OPERATIONS)) {
1591
+ return PersonRole.LEGAL_OPERATIONS;
1592
+ }
1593
+ if (roleCategories.includes(RoleCategory.ENFORCEMENT)) {
1594
+ return PersonRole.ENFORCEMENT;
1595
+ }
1596
+ // return default role if no match found
1597
+ return PersonRole.LEGAL_OPERATIONS;
1598
+ }
1564
1599
 
1565
1600
  var AddressType;
1566
1601
  (function (AddressType) {
@@ -2438,7 +2473,8 @@ class FindAPersonService {
2438
2473
  id: caseworker.idamId,
2439
2474
  // EXUI-4758 - If user has admin role, set domain to admin
2440
2475
  // For more specific domain we need service specific role category (or other technique)
2441
- domain: this.setDomain(caseworker)
2476
+ // Note: Domain only used internally to set the PersonRole for the Person object
2477
+ domain: getPersonRole(caseworker.roleCategories)
2442
2478
  // knownAs can be added if required
2443
2479
  };
2444
2480
  if (caseworker.roleCategories.includes(roleCategory) || roleCategory === RoleCategory.ALL || caseworker.idamId === this.userId) {
@@ -2448,18 +2484,7 @@ class FindAPersonService {
2448
2484
  return people;
2449
2485
  }
2450
2486
  searchInCaseworkers(caseworkers, searchOptions) {
2451
- let roleCategory = RoleCategory.ALL;
2452
- if (!(searchOptions.userRole === PersonRole.ALL)) {
2453
- if (searchOptions.userRole === PersonRole.LEGAL_OPERATIONS) {
2454
- roleCategory = RoleCategory.LEGAL_OPERATIONS;
2455
- }
2456
- else if (searchOptions.userRole === PersonRole.ADMIN) {
2457
- roleCategory = RoleCategory.ADMIN;
2458
- }
2459
- else if (searchOptions.userRole === PersonRole.CTSC) {
2460
- roleCategory = RoleCategory.CTSC;
2461
- }
2462
- }
2487
+ const roleCategory = getRoleCategory(searchOptions.userRole);
2463
2488
  const searchTerm = searchOptions && searchOptions.searchTerm ? searchOptions.searchTerm.toLowerCase() : '';
2464
2489
  const people = caseworkers ? this.mapCaseworkers(caseworkers, roleCategory) : [];
2465
2490
  const finalPeopleList = people.filter((person) => person && person.name && person.name.toLowerCase().includes(searchTerm));
@@ -2471,19 +2496,33 @@ class FindAPersonService {
2471
2496
  searchJudicial(value, serviceId) {
2472
2497
  return this.http.post('api/prd/judicial/getJudicialUsersSearch', { searchString: value, serviceCode: serviceId });
2473
2498
  }
2474
- // Note: Domain only used internally to set the PersonRole for the Person object
2475
- setDomain(caseworker) {
2476
- if (caseworker.roleCategories.includes(RoleCategory.ADMIN)) {
2477
- return PersonRole.ADMIN;
2478
- }
2479
- if (caseworker.roleCategories.includes(RoleCategory.CTSC)) {
2480
- return PersonRole.CTSC;
2481
- }
2482
- if (caseworker.roleCategories.includes(RoleCategory.LEGAL_OPERATIONS)) {
2483
- return PersonRole.LEGAL_OPERATIONS;
2499
+ findByPersonRole(searchTerm, personRole, selectedPersons, services, userIncluded, assignedUser) {
2500
+ switch (personRole) {
2501
+ case PersonRole.JUDICIAL: {
2502
+ return this.findJudicialOrCTSCPeople(searchTerm, personRole, services, userIncluded, assignedUser).pipe(map((persons) => {
2503
+ const ids = selectedPersons.map(({ id }) => id);
2504
+ return persons.filter(({ id }) => !ids.includes(id));
2505
+ }));
2506
+ }
2507
+ case PersonRole.ALL: {
2508
+ return zip(this.findJudicialOrCTSCPeople(searchTerm, personRole, services, userIncluded, assignedUser), this.findCaseworkersOrAdminsOrCtsc(searchTerm, personRole, services, userIncluded, assignedUser)).pipe(map((separatePeople) => separatePeople[0].concat(separatePeople[1])));
2509
+ }
2510
+ case PersonRole.CTSC:
2511
+ case PersonRole.LEGAL_OPERATIONS:
2512
+ case PersonRole.ADMIN:
2513
+ case PersonRole.ENFORCEMENT: {
2514
+ return this.findCaseworkersOrAdminsOrCtsc(searchTerm, personRole, services, userIncluded, assignedUser);
2515
+ }
2516
+ default: {
2517
+ return of([]);
2518
+ }
2484
2519
  }
2485
- // return default role if no match found
2486
- return PersonRole.LEGAL_OPERATIONS;
2520
+ }
2521
+ findJudicialOrCTSCPeople(searchTerm, personRole, services, userIncluded, assignedUser) {
2522
+ return this.find({ searchTerm, userRole: personRole, services: [services], userIncluded: userIncluded, assignedUser: assignedUser });
2523
+ }
2524
+ findCaseworkersOrAdminsOrCtsc(searchTerm, personRole, services, userIncluded, assignedUser) {
2525
+ return this.findCaseworkers({ searchTerm, userRole: personRole, services: [services], userIncluded: userIncluded, assignedUser: assignedUser });
2487
2526
  }
2488
2527
  static { this.ɵfac = function FindAPersonService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || FindAPersonService)(i0.ɵɵinject(i1$2.HttpClient), i0.ɵɵinject(SessionStorageService)); }; }
2489
2528
  static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: FindAPersonService, factory: FindAPersonService.ɵfac, providedIn: 'root' }); }
@@ -2598,28 +2637,8 @@ class FindPersonComponent {
2598
2637
  });
2599
2638
  }
2600
2639
  filter(searchTerm) {
2601
- const findJudicialOrCTSCPeople = this.findPersonService.find({ searchTerm, userRole: this.domain, services: [this.services], userIncluded: this.userIncluded, assignedUser: this.assignedUser });
2602
- const findCaseworkersOrAdminsOrCtsc = this.findPersonService.findCaseworkers({ searchTerm, userRole: this.domain, services: [this.services], userIncluded: this.userIncluded, assignedUser: this.assignedUser });
2603
2640
  if (searchTerm && searchTerm.length > this.minSearchCharacters) {
2604
- switch (this.domain) {
2605
- case PersonRole.JUDICIAL: {
2606
- return findJudicialOrCTSCPeople.pipe(map((persons) => {
2607
- const ids = this.selectedPersons.map(({ id }) => id);
2608
- return persons.filter(({ id }) => !ids.includes(id));
2609
- }));
2610
- }
2611
- case PersonRole.ALL: {
2612
- return zip(findJudicialOrCTSCPeople, findCaseworkersOrAdminsOrCtsc).pipe(map((separatePeople) => separatePeople[0].concat(separatePeople[1])));
2613
- }
2614
- case PersonRole.CTSC:
2615
- case PersonRole.LEGAL_OPERATIONS:
2616
- case PersonRole.ADMIN: {
2617
- return findCaseworkersOrAdminsOrCtsc;
2618
- }
2619
- default: {
2620
- return of([]);
2621
- }
2622
- }
2641
+ return this.findPersonService.findByPersonRole(searchTerm, this.domain, this.selectedPersons, this.services, this.userIncluded, this.assignedUser);
2623
2642
  }
2624
2643
  return of([]);
2625
2644
  }
@@ -2631,6 +2650,7 @@ class FindPersonComponent {
2631
2650
  if (!selectedPerson) {
2632
2651
  return '';
2633
2652
  }
2653
+ // The judiciary people contain a different object which has a fullName property
2634
2654
  if (selectedPerson.domain === PersonRole.JUDICIAL && selectedPerson.fullName) {
2635
2655
  return `${selectedPerson.fullName} (${selectedPerson.email})`;
2636
2656
  }
@@ -10768,5 +10788,5 @@ function radioGroupValidator() {
10768
10788
  * Generated bundle index. Do not edit.
10769
10789
  */
10770
10790
 
10771
- export { AccessibilityComponent, AddressMessageEnum, AddressModel, AddressOption, AddressService, AnonymousFeatureUser, BadgeColour, BookingCheckType, COMMON_COMPONENTS, CapitalizePipe, CheckboxListComponent, ContactDetailsComponent, CookieBannerComponent, CookieService, DateBadgeColour, DueDateComponent, ExuiCommonLibModule, ExuiPageWrapperComponent, FeatureToggleDirective, FeatureToggleGuard, FeatureToggleService, FilterService, FindLocationComponent, FindPersonComponent, FindServiceComponent, FindTaskNameComponent, FindWorkTypeComponent, GOV_UI_COMPONENTS, GenericFilterComponent, GoogleAnalyticsService, GoogleTagManagerService, GovUiService, GovUkCheckboxComponent, GovUkCheckboxesComponent, GovUkDateComponent, GovUkErrorMessageComponent, GovUkFieldsetComponent, GovUkFileUploadComponent, GovUkFormGroupWrapperComponent, GovUkInputComponent, GovUkLabelComponent, GovUkRadioComponent, GovUkRadiosComponent, GovUkSelectComponent, GovUkTextareaComponent, GovukTableColumnConfig, GovukTableComponent, HasLoadingState, HmctsBannerComponent, HmctsErrorSummaryComponent, HmctsIdentityBarComponent, HmctsMainWrapperComponent, HmctsPaginationComponent, HmctsPrimaryNavigationComponent, HmctsSessionDialogComponent, HmctsSubNavigationComponent, InviteUserFormComponent, InviteUserPermissionComponent, LaunchDarklyService, LetContext, LetDirective, LoadingService, LoadingSpinnerComponent, LocationService, LoggedInFeatureUser, ManageSessionServices, PaginationComponent, PersonRole, RadioFilterFieldConfig, RefDataService, RemoveHostDirective, RoleCategory, RoleGuard, RoleMatching, RoleService, SECONDS_IN_A_DAY, SearchJudicialsComponent, SearchLocationComponent, SearchServiceComponent, SearchVenueComponent, SearchWorkTypeComponent, SelectedCaseComponent, SelectedCaseConfirmComponent, SelectedCaseListComponent, ServiceMessageComponent, ServiceMessagesComponent, ShareCaseComponent, ShareCaseConfirmComponent, SharedCaseErrorMessages, TabComponent, TaskService, TcConfirmComponent, TcDisplayHtmlComponent, TcDisplayPlainComponent, TermsAndConditionsComponent, TimeoutNotificationsService, UserDetailsComponent, UserListComponent, UserSelectComponent, WriteAddressFieldComponent, WriteAddressInputsComponent, checkboxesBeCheckedValidator, dateValidator, radioGroupValidator, windowProvider, windowToken };
10791
+ export { AccessibilityComponent, AddressMessageEnum, AddressModel, AddressOption, AddressService, AnonymousFeatureUser, BadgeColour, BookingCheckType, COMMON_COMPONENTS, CapitalizePipe, CheckboxListComponent, ContactDetailsComponent, CookieBannerComponent, CookieService, DateBadgeColour, DueDateComponent, ExuiCommonLibModule, ExuiPageWrapperComponent, FeatureToggleDirective, FeatureToggleGuard, FeatureToggleService, FilterService, FindLocationComponent, FindPersonComponent, FindServiceComponent, FindTaskNameComponent, FindWorkTypeComponent, GOV_UI_COMPONENTS, GenericFilterComponent, GoogleAnalyticsService, GoogleTagManagerService, GovUiService, GovUkCheckboxComponent, GovUkCheckboxesComponent, GovUkDateComponent, GovUkErrorMessageComponent, GovUkFieldsetComponent, GovUkFileUploadComponent, GovUkFormGroupWrapperComponent, GovUkInputComponent, GovUkLabelComponent, GovUkRadioComponent, GovUkRadiosComponent, GovUkSelectComponent, GovUkTextareaComponent, GovukTableColumnConfig, GovukTableComponent, HasLoadingState, HmctsBannerComponent, HmctsErrorSummaryComponent, HmctsIdentityBarComponent, HmctsMainWrapperComponent, HmctsPaginationComponent, HmctsPrimaryNavigationComponent, HmctsSessionDialogComponent, HmctsSubNavigationComponent, InviteUserFormComponent, InviteUserPermissionComponent, LaunchDarklyService, LetContext, LetDirective, LoadingService, LoadingSpinnerComponent, LocationService, LoggedInFeatureUser, ManageSessionServices, PaginationComponent, PersonRole, RadioFilterFieldConfig, RefDataService, RemoveHostDirective, RoleCategory, RoleGuard, RoleMatching, RoleService, SECONDS_IN_A_DAY, SearchJudicialsComponent, SearchLocationComponent, SearchServiceComponent, SearchVenueComponent, SearchWorkTypeComponent, SelectedCaseComponent, SelectedCaseConfirmComponent, SelectedCaseListComponent, ServiceMessageComponent, ServiceMessagesComponent, ShareCaseComponent, ShareCaseConfirmComponent, SharedCaseErrorMessages, TabComponent, TaskService, TcConfirmComponent, TcDisplayHtmlComponent, TcDisplayPlainComponent, TermsAndConditionsComponent, TimeoutNotificationsService, UserDetailsComponent, UserListComponent, UserSelectComponent, WriteAddressFieldComponent, WriteAddressInputsComponent, checkboxesBeCheckedValidator, dateValidator, getPersonRole, getRoleCategory, radioGroupValidator, windowProvider, windowToken };
10772
10792
  //# sourceMappingURL=hmcts-rpx-xui-common-lib.mjs.map