@hmcts/rpx-xui-common-lib 3.2.16 → 3.2.17-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,128 @@ 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 getRoleCategoryTitle(roleCategory) {
1566
+ switch (roleCategory) {
1567
+ case RoleCategory.LEGAL_OPERATIONS: {
1568
+ return 'legal Ops';
1569
+ }
1570
+ case RoleCategory.JUDICIAL: {
1571
+ return 'judicial';
1572
+ }
1573
+ case RoleCategory.ADMIN: {
1574
+ return 'admin';
1575
+ }
1576
+ case RoleCategory.CTSC: {
1577
+ return 'CTSC';
1578
+ }
1579
+ case RoleCategory.ENFORCEMENT: {
1580
+ return 'enforcement';
1581
+ }
1582
+ default:
1583
+ return 'legal Ops';
1584
+ }
1585
+ }
1586
+ function getRoleCategoryForWorkAllocation(personRole) {
1587
+ if (personRole === PersonRole.JUDICIAL) {
1588
+ return RoleCategory.JUDICIAL;
1589
+ }
1590
+ else if (personRole === PersonRole.LEGAL_OPERATIONS) {
1591
+ return RoleCategory.LEGAL_OPERATIONS;
1592
+ }
1593
+ else if (personRole === PersonRole.ADMIN) {
1594
+ return RoleCategory.ADMIN;
1595
+ }
1596
+ else if (personRole === PersonRole.CTSC) {
1597
+ return RoleCategory.CTSC;
1598
+ }
1599
+ else if (personRole === PersonRole.ENFORCEMENT) {
1600
+ return RoleCategory.ENFORCEMENT;
1601
+ }
1602
+ return null;
1603
+ }
1604
+ function getRoleCategory(personRole) {
1605
+ let roleCategory = RoleCategory.ALL;
1606
+ if (!(personRole === PersonRole.ALL)) {
1607
+ if (personRole === PersonRole.LEGAL_OPERATIONS) {
1608
+ roleCategory = RoleCategory.LEGAL_OPERATIONS;
1609
+ }
1610
+ else if (personRole === PersonRole.ADMIN) {
1611
+ roleCategory = RoleCategory.ADMIN;
1612
+ }
1613
+ else if (personRole === PersonRole.CTSC) {
1614
+ roleCategory = RoleCategory.CTSC;
1615
+ }
1616
+ else if (personRole === PersonRole.ENFORCEMENT) {
1617
+ roleCategory = RoleCategory.ENFORCEMENT;
1618
+ }
1619
+ }
1620
+ return roleCategory;
1621
+ }
1622
+ function getPersonRole(roleCategories) {
1623
+ if (roleCategories.includes(RoleCategory.ADMIN)) {
1624
+ return PersonRole.ADMIN;
1625
+ }
1626
+ if (roleCategories.includes(RoleCategory.CTSC)) {
1627
+ return PersonRole.CTSC;
1628
+ }
1629
+ if (roleCategories.includes(RoleCategory.LEGAL_OPERATIONS)) {
1630
+ return PersonRole.LEGAL_OPERATIONS;
1631
+ }
1632
+ if (roleCategories.includes(RoleCategory.ENFORCEMENT)) {
1633
+ return PersonRole.ENFORCEMENT;
1634
+ }
1635
+ // return default role if no match found
1636
+ return PersonRole.LEGAL_OPERATIONS;
1637
+ }
1638
+ function getPersonRoleForAllocateRole(roleCategory) {
1639
+ if (roleCategory === RoleCategory.LEGAL_OPERATIONS) {
1640
+ return PersonRole.LEGAL_OPERATIONS;
1641
+ }
1642
+ else if (roleCategory === RoleCategory.ADMIN) {
1643
+ return PersonRole.ADMIN;
1644
+ }
1645
+ else if (roleCategory === RoleCategory.CTSC) {
1646
+ return PersonRole.CTSC;
1647
+ }
1648
+ else if (roleCategory === RoleCategory.ENFORCEMENT) {
1649
+ return PersonRole.ENFORCEMENT;
1650
+ }
1651
+ return null;
1652
+ }
1653
+ function getPersonRoleForTaskAssignment(roleCategory) {
1654
+ if (roleCategory === RoleCategory.JUDICIAL) {
1655
+ return PersonRole.JUDICIAL;
1656
+ }
1657
+ else if (roleCategory === RoleCategory.LEGAL_OPERATIONS) {
1658
+ return PersonRole.LEGAL_OPERATIONS;
1659
+ }
1660
+ else if (roleCategory === RoleCategory.ADMIN) {
1661
+ return PersonRole.ADMIN;
1662
+ }
1663
+ else if (roleCategory === RoleCategory.ENFORCEMENT) {
1664
+ return PersonRole.ENFORCEMENT;
1665
+ }
1666
+ return PersonRole.ALL;
1667
+ }
1668
+ function getPersonRoleForWorkAllocation(roleCategory) {
1669
+ switch (roleCategory) {
1670
+ case RoleCategory.ADMIN:
1671
+ return PersonRole.ADMIN;
1672
+ case RoleCategory.JUDICIAL:
1673
+ return PersonRole.JUDICIAL;
1674
+ case RoleCategory.LEGAL_OPERATIONS:
1675
+ return PersonRole.LEGAL_OPERATIONS;
1676
+ case RoleCategory.CTSC:
1677
+ return PersonRole.CTSC;
1678
+ case RoleCategory.ENFORCEMENT:
1679
+ return PersonRole.ENFORCEMENT;
1680
+ default:
1681
+ throw new Error(`Invalid roleCategory ${roleCategory}`);
1682
+ }
1683
+ }
1564
1684
 
1565
1685
  var AddressType;
1566
1686
  (function (AddressType) {
@@ -2438,7 +2558,8 @@ class FindAPersonService {
2438
2558
  id: caseworker.idamId,
2439
2559
  // EXUI-4758 - If user has admin role, set domain to admin
2440
2560
  // For more specific domain we need service specific role category (or other technique)
2441
- domain: this.setDomain(caseworker)
2561
+ // Note: Domain only used internally to set the PersonRole for the Person object
2562
+ domain: getPersonRole(caseworker.roleCategories)
2442
2563
  // knownAs can be added if required
2443
2564
  };
2444
2565
  if (caseworker.roleCategories.includes(roleCategory) || roleCategory === RoleCategory.ALL || caseworker.idamId === this.userId) {
@@ -2448,18 +2569,7 @@ class FindAPersonService {
2448
2569
  return people;
2449
2570
  }
2450
2571
  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
- }
2572
+ const roleCategory = getRoleCategory(searchOptions.userRole);
2463
2573
  const searchTerm = searchOptions && searchOptions.searchTerm ? searchOptions.searchTerm.toLowerCase() : '';
2464
2574
  const people = caseworkers ? this.mapCaseworkers(caseworkers, roleCategory) : [];
2465
2575
  const finalPeopleList = people.filter((person) => person && person.name && person.name.toLowerCase().includes(searchTerm));
@@ -2471,19 +2581,33 @@ class FindAPersonService {
2471
2581
  searchJudicial(value, serviceId) {
2472
2582
  return this.http.post('api/prd/judicial/getJudicialUsersSearch', { searchString: value, serviceCode: serviceId });
2473
2583
  }
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;
2584
+ findByPersonRole(searchTerm, personRole, selectedPersons, services, userIncluded, assignedUser) {
2585
+ switch (personRole) {
2586
+ case PersonRole.JUDICIAL: {
2587
+ return this.findJudicialOrCTSCPeople(searchTerm, personRole, services, userIncluded, assignedUser).pipe(map((persons) => {
2588
+ const ids = selectedPersons.map(({ id }) => id);
2589
+ return persons.filter(({ id }) => !ids.includes(id));
2590
+ }));
2591
+ }
2592
+ case PersonRole.ALL: {
2593
+ return zip(this.findJudicialOrCTSCPeople(searchTerm, personRole, services, userIncluded, assignedUser), this.findCaseworkersOrAdminsOrCtsc(searchTerm, personRole, services, userIncluded, assignedUser)).pipe(map((separatePeople) => separatePeople[0].concat(separatePeople[1])));
2594
+ }
2595
+ case PersonRole.CTSC:
2596
+ case PersonRole.LEGAL_OPERATIONS:
2597
+ case PersonRole.ADMIN:
2598
+ case PersonRole.ENFORCEMENT: {
2599
+ return this.findCaseworkersOrAdminsOrCtsc(searchTerm, personRole, services, userIncluded, assignedUser);
2600
+ }
2601
+ default: {
2602
+ return of([]);
2603
+ }
2484
2604
  }
2485
- // return default role if no match found
2486
- return PersonRole.LEGAL_OPERATIONS;
2605
+ }
2606
+ findJudicialOrCTSCPeople(searchTerm, personRole, services, userIncluded, assignedUser) {
2607
+ return this.find({ searchTerm, userRole: personRole, services: [services], userIncluded: userIncluded, assignedUser: assignedUser });
2608
+ }
2609
+ findCaseworkersOrAdminsOrCtsc(searchTerm, personRole, services, userIncluded, assignedUser) {
2610
+ return this.findCaseworkers({ searchTerm, userRole: personRole, services: [services], userIncluded: userIncluded, assignedUser: assignedUser });
2487
2611
  }
2488
2612
  static { this.ɵfac = function FindAPersonService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || FindAPersonService)(i0.ɵɵinject(i1$2.HttpClient), i0.ɵɵinject(SessionStorageService)); }; }
2489
2613
  static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: FindAPersonService, factory: FindAPersonService.ɵfac, providedIn: 'root' }); }
@@ -2598,28 +2722,8 @@ class FindPersonComponent {
2598
2722
  });
2599
2723
  }
2600
2724
  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
2725
  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
- }
2726
+ return this.findPersonService.findByPersonRole(searchTerm, this.domain, this.selectedPersons, this.services, this.userIncluded, this.assignedUser);
2623
2727
  }
2624
2728
  return of([]);
2625
2729
  }
@@ -2631,6 +2735,7 @@ class FindPersonComponent {
2631
2735
  if (!selectedPerson) {
2632
2736
  return '';
2633
2737
  }
2738
+ // The judiciary people contain a different object which has a fullName property
2634
2739
  if (selectedPerson.domain === PersonRole.JUDICIAL && selectedPerson.fullName) {
2635
2740
  return `${selectedPerson.fullName} (${selectedPerson.email})`;
2636
2741
  }
@@ -10768,5 +10873,5 @@ function radioGroupValidator() {
10768
10873
  * Generated bundle index. Do not edit.
10769
10874
  */
10770
10875
 
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 };
10876
+ 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, getPersonRoleForAllocateRole, getPersonRoleForTaskAssignment, getPersonRoleForWorkAllocation, getRoleCategory, getRoleCategoryForWorkAllocation, getRoleCategoryTitle, radioGroupValidator, windowProvider, windowToken };
10772
10877
  //# sourceMappingURL=hmcts-rpx-xui-common-lib.mjs.map