@hmcts/ccd-case-ui-toolkit 7.3.53-polling → 7.3.54-unused-package
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.
- package/README.md +0 -3
- package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs +354 -205
- package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
- package/index.d.ts +46 -14
- package/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component, Input, EventEmitter, Output, NgModule, ViewEncapsulation, forwardRef, Pipe, ContentChildren, ViewChildren, DOCUMENT, Injectable, Inject, ChangeDetectorRef, Directive,
|
|
2
|
+
import { Component, Input, EventEmitter, Output, NgModule, ViewEncapsulation, forwardRef, Pipe, ContentChildren, ViewChildren, DOCUMENT, Injectable, Inject, InjectionToken, Optional, ChangeDetectorRef, Directive, ViewChild, ChangeDetectionStrategy, Injector, ViewContainerRef, SecurityContext, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
|
3
3
|
import * as i5 from '@angular/common';
|
|
4
4
|
import { CommonModule, AsyncPipe, CurrencyPipe, formatDate } from '@angular/common';
|
|
5
5
|
import * as i1 from 'rpx-xui-translation';
|
|
@@ -8,10 +8,11 @@ import * as i1$1 from '@angular/router';
|
|
|
8
8
|
import { RouterModule, NavigationStart, NavigationEnd } from '@angular/router';
|
|
9
9
|
import * as i4 from '@angular/forms';
|
|
10
10
|
import { NG_VALUE_ACCESSOR, NG_VALIDATORS, FormArray, FormGroup, FormControl, Validators, ReactiveFormsModule, FormsModule } from '@angular/forms';
|
|
11
|
-
import { BehaviorSubject, throwError, Subject, EMPTY,
|
|
12
|
-
import { distinctUntilChanged, catchError, map, switchMap, repeat, retry, publish, refCount, debounceTime, delay, finalize, timeout, mergeMap, retryWhen, tap, delayWhen, publishReplay, take, first, takeUntil, filter } from 'rxjs/operators';
|
|
11
|
+
import { BehaviorSubject, throwError, Subject, EMPTY, Observable, skip, of, timer, forkJoin, fromEvent, Subscription, combineLatest } from 'rxjs';
|
|
13
12
|
import * as i1$2 from '@angular/common/http';
|
|
14
13
|
import { HttpErrorResponse, HttpHeaders, HttpParams } from '@angular/common/http';
|
|
14
|
+
import { distinctUntilChanged, catchError, map, publish, refCount, switchMap, debounceTime, delay, finalize, timeout, mergeMap, retryWhen, tap, delayWhen, publishReplay, take, first, takeUntil, filter } from 'rxjs/operators';
|
|
15
|
+
import { polling } from 'rx-polling-hmcts';
|
|
15
16
|
import { Type, Exclude, Expose, plainToClassFromExist, plainToClass } from 'class-transformer';
|
|
16
17
|
import moment from 'moment';
|
|
17
18
|
import { __decorate, __metadata } from 'tslib';
|
|
@@ -1637,23 +1638,89 @@ class SessionStorageService {
|
|
|
1637
1638
|
sessionStorage.clear();
|
|
1638
1639
|
}
|
|
1639
1640
|
static ɵfac = function SessionStorageService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SessionStorageService)(); };
|
|
1640
|
-
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: SessionStorageService, factory: SessionStorageService.ɵfac });
|
|
1641
|
+
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: SessionStorageService, factory: SessionStorageService.ɵfac, providedIn: 'root' });
|
|
1641
1642
|
}
|
|
1642
1643
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SessionStorageService, [{
|
|
1643
|
-
type: Injectable
|
|
1644
|
+
type: Injectable,
|
|
1645
|
+
args: [{
|
|
1646
|
+
providedIn: 'root',
|
|
1647
|
+
}]
|
|
1644
1648
|
}], null, null); })();
|
|
1645
1649
|
|
|
1650
|
+
function safeJsonParse(value, fallback = null) {
|
|
1651
|
+
if (!value) {
|
|
1652
|
+
return fallback;
|
|
1653
|
+
}
|
|
1654
|
+
try {
|
|
1655
|
+
return JSON.parse(value);
|
|
1656
|
+
}
|
|
1657
|
+
catch (error) {
|
|
1658
|
+
// Log for diagnostics, then return fallback to avoid UI crashes.
|
|
1659
|
+
// eslint-disable-next-line no-console
|
|
1660
|
+
console.error('safeJsonParse failed to parse JSON', error);
|
|
1661
|
+
return fallback;
|
|
1662
|
+
}
|
|
1663
|
+
}
|
|
1664
|
+
|
|
1665
|
+
const SessionErrorRoute = new InjectionToken('SessionErrorRoute');
|
|
1666
|
+
const SessionJsonErrorLogger = new InjectionToken('SessionJsonErrorLogger');
|
|
1667
|
+
class SessionStorageGuard {
|
|
1668
|
+
sessionStorageService;
|
|
1669
|
+
router;
|
|
1670
|
+
errorRoute;
|
|
1671
|
+
errorLogger;
|
|
1672
|
+
constructor(sessionStorageService, router, errorRoute, errorLogger) {
|
|
1673
|
+
this.sessionStorageService = sessionStorageService;
|
|
1674
|
+
this.router = router;
|
|
1675
|
+
this.errorRoute = errorRoute;
|
|
1676
|
+
this.errorLogger = errorLogger;
|
|
1677
|
+
}
|
|
1678
|
+
canActivate() {
|
|
1679
|
+
const userInfoStr = this.sessionStorageService.getItem('userDetails');
|
|
1680
|
+
if (!userInfoStr) {
|
|
1681
|
+
return true;
|
|
1682
|
+
}
|
|
1683
|
+
const parsed = safeJsonParse(userInfoStr, null);
|
|
1684
|
+
if (parsed !== null) {
|
|
1685
|
+
return true;
|
|
1686
|
+
}
|
|
1687
|
+
const error = new Error('Invalid userDetails in session storage');
|
|
1688
|
+
if (this.errorLogger) {
|
|
1689
|
+
this.errorLogger(error);
|
|
1690
|
+
}
|
|
1691
|
+
else {
|
|
1692
|
+
// eslint-disable-next-line no-console
|
|
1693
|
+
console.error('Invalid userDetails in session storage', error);
|
|
1694
|
+
}
|
|
1695
|
+
this.router.navigate([this.errorRoute || '/session-error']);
|
|
1696
|
+
return false;
|
|
1697
|
+
}
|
|
1698
|
+
static ɵfac = function SessionStorageGuard_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SessionStorageGuard)(i0.ɵɵinject(SessionStorageService), i0.ɵɵinject(i1$1.Router), i0.ɵɵinject(SessionErrorRoute, 8), i0.ɵɵinject(SessionJsonErrorLogger, 8)); };
|
|
1699
|
+
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: SessionStorageGuard, factory: SessionStorageGuard.ɵfac, providedIn: 'root' });
|
|
1700
|
+
}
|
|
1701
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SessionStorageGuard, [{
|
|
1702
|
+
type: Injectable,
|
|
1703
|
+
args: [{
|
|
1704
|
+
providedIn: 'root',
|
|
1705
|
+
}]
|
|
1706
|
+
}], () => [{ type: SessionStorageService }, { type: i1$1.Router }, { type: undefined, decorators: [{
|
|
1707
|
+
type: Optional
|
|
1708
|
+
}, {
|
|
1709
|
+
type: Inject,
|
|
1710
|
+
args: [SessionErrorRoute]
|
|
1711
|
+
}] }, { type: SessionJsonErrorLogger, decorators: [{
|
|
1712
|
+
type: Optional
|
|
1713
|
+
}, {
|
|
1714
|
+
type: Inject,
|
|
1715
|
+
args: [SessionJsonErrorLogger]
|
|
1716
|
+
}] }], null); })();
|
|
1717
|
+
|
|
1646
1718
|
const USER_DETAILS = 'userDetails';
|
|
1647
1719
|
const PUI_CASE_MANAGER = 'pui-case-manager';
|
|
1648
1720
|
const JUDGE = 'judge';
|
|
1649
1721
|
function getUserDetails(sessionStorageService) {
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
return item ? JSON.parse(item) : null;
|
|
1653
|
-
}
|
|
1654
|
-
catch {
|
|
1655
|
-
return null;
|
|
1656
|
-
}
|
|
1722
|
+
const item = sessionStorageService?.getItem(USER_DETAILS);
|
|
1723
|
+
return safeJsonParse(item, null);
|
|
1657
1724
|
}
|
|
1658
1725
|
function isInternalUser(sessionStorageService) {
|
|
1659
1726
|
const userDetails = getUserDetails(sessionStorageService);
|
|
@@ -1692,8 +1759,11 @@ class ActivityService {
|
|
|
1692
1759
|
return error;
|
|
1693
1760
|
}
|
|
1694
1761
|
getOptions() {
|
|
1695
|
-
const userDetails =
|
|
1696
|
-
|
|
1762
|
+
const userDetails = safeJsonParse(this.sessionStorageService.getItem(USER_DETAILS));
|
|
1763
|
+
let headers = new HttpHeaders().set('Content-Type', 'application/json');
|
|
1764
|
+
if (userDetails?.token) {
|
|
1765
|
+
headers = headers.set('Authorization', userDetails.token);
|
|
1766
|
+
}
|
|
1697
1767
|
return {
|
|
1698
1768
|
headers,
|
|
1699
1769
|
withCredentials: true,
|
|
@@ -1759,7 +1829,8 @@ class ActivityPollingService {
|
|
|
1759
1829
|
this.config = config;
|
|
1760
1830
|
this.pollConfig = {
|
|
1761
1831
|
interval: config.getActivityNexPollRequestMs(),
|
|
1762
|
-
attempts: config.getActivityRetry()
|
|
1832
|
+
attempts: config.getActivityRetry(),
|
|
1833
|
+
backgroundPolling: true
|
|
1763
1834
|
};
|
|
1764
1835
|
this.batchCollectionDelayMs = config.getActivityBatchCollectionDelayMs();
|
|
1765
1836
|
this.maxRequestsPerBatch = config.getActivityMaxRequestPerBatch();
|
|
@@ -1776,19 +1847,17 @@ class ActivityPollingService {
|
|
|
1776
1847
|
subject.subscribe(done);
|
|
1777
1848
|
}
|
|
1778
1849
|
else {
|
|
1779
|
-
// Only the first pending request should start the batch collection timer.
|
|
1780
|
-
const wasEmpty = this.pendingRequests.size === 0;
|
|
1781
1850
|
subject = new Subject();
|
|
1782
1851
|
subject.subscribe(done);
|
|
1783
|
-
this.
|
|
1784
|
-
|
|
1785
|
-
|
|
1786
|
-
|
|
1787
|
-
|
|
1788
|
-
|
|
1789
|
-
|
|
1790
|
-
});
|
|
1791
|
-
}
|
|
1852
|
+
this.pendingRequests.set(caseId, subject);
|
|
1853
|
+
}
|
|
1854
|
+
if (this.pendingRequests.size === 1) {
|
|
1855
|
+
this.ngZone.runOutsideAngular(() => {
|
|
1856
|
+
this.currentTimeoutHandle = setTimeout(() => this.ngZone.run(() => {
|
|
1857
|
+
// console.log('timeout: flushing requests')
|
|
1858
|
+
this.flushRequests();
|
|
1859
|
+
}), this.batchCollectionDelayMs);
|
|
1860
|
+
});
|
|
1792
1861
|
}
|
|
1793
1862
|
if (this.pendingRequests.size >= this.maxRequestsPerBatch) {
|
|
1794
1863
|
// console.log('max pending hit: flushing requests');
|
|
@@ -1806,9 +1875,6 @@ class ActivityPollingService {
|
|
|
1806
1875
|
clearTimeout(this.currentTimeoutHandle);
|
|
1807
1876
|
this.currentTimeoutHandle = undefined;
|
|
1808
1877
|
}
|
|
1809
|
-
if (!this.pendingRequests.size) {
|
|
1810
|
-
return;
|
|
1811
|
-
}
|
|
1812
1878
|
const requests = new Map(this.pendingRequests);
|
|
1813
1879
|
this.pendingRequests.clear();
|
|
1814
1880
|
this.performBatchRequest(requests);
|
|
@@ -1817,7 +1883,7 @@ class ActivityPollingService {
|
|
|
1817
1883
|
if (!this.isEnabled) {
|
|
1818
1884
|
return EMPTY;
|
|
1819
1885
|
}
|
|
1820
|
-
return
|
|
1886
|
+
return polling(this.activityService.getActivities(...caseIds), this.pollConfig);
|
|
1821
1887
|
}
|
|
1822
1888
|
postViewActivity(caseId) {
|
|
1823
1889
|
return this.postActivity(caseId, ActivityService.ACTIVITY_VIEW);
|
|
@@ -1830,20 +1896,17 @@ class ActivityPollingService {
|
|
|
1830
1896
|
// console.log('issuing batch request for cases: ' + caseIds);
|
|
1831
1897
|
this.ngZone.runOutsideAngular(() => {
|
|
1832
1898
|
// run polling outside angular zone so it does not trigger change detection
|
|
1833
|
-
this.pollActivitiesSubscription = this.pollActivities(caseIds).subscribe(
|
|
1834
|
-
|
|
1835
|
-
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
})
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
Array.from(requests.values()).forEach((subject) => subject.error(err));
|
|
1845
|
-
})
|
|
1846
|
-
});
|
|
1899
|
+
this.pollActivitiesSubscription = this.pollActivities(caseIds).subscribe(
|
|
1900
|
+
// process activity inside zone so it triggers change detection for activity.component.ts
|
|
1901
|
+
(activities) => this.ngZone.run(() => {
|
|
1902
|
+
activities.forEach((activity) => {
|
|
1903
|
+
// console.log('pushing activity: ' + activity.caseId);
|
|
1904
|
+
requests.get(activity.caseId).next(activity);
|
|
1905
|
+
});
|
|
1906
|
+
}, (err) => {
|
|
1907
|
+
console.log(`error: ${err}`);
|
|
1908
|
+
Array.from(requests.values()).forEach((subject) => subject.error(err));
|
|
1909
|
+
}));
|
|
1847
1910
|
});
|
|
1848
1911
|
}
|
|
1849
1912
|
postActivity(caseId, activityType) {
|
|
@@ -1854,42 +1917,7 @@ class ActivityPollingService {
|
|
|
1854
1917
|
...this.pollConfig,
|
|
1855
1918
|
interval: 5000 // inline with CCD Backend
|
|
1856
1919
|
};
|
|
1857
|
-
return
|
|
1858
|
-
}
|
|
1859
|
-
addPendingRequest(caseId, subject) {
|
|
1860
|
-
this.pendingRequests.set(caseId, subject);
|
|
1861
|
-
// Components complete their returned Subject on destroy; remove it so a later same-case subscription gets a fresh Subject.
|
|
1862
|
-
subject.subscribe({
|
|
1863
|
-
complete: () => this.removePendingRequest(caseId, subject),
|
|
1864
|
-
error: () => this.removePendingRequest(caseId, subject)
|
|
1865
|
-
});
|
|
1866
|
-
}
|
|
1867
|
-
removePendingRequest(caseId, subject) {
|
|
1868
|
-
if (this.pendingRequests.get(caseId) !== subject) {
|
|
1869
|
-
return;
|
|
1870
|
-
}
|
|
1871
|
-
this.pendingRequests.delete(caseId);
|
|
1872
|
-
if (!this.pendingRequests.size && this.currentTimeoutHandle) {
|
|
1873
|
-
clearTimeout(this.currentTimeoutHandle);
|
|
1874
|
-
this.currentTimeoutHandle = undefined;
|
|
1875
|
-
}
|
|
1876
|
-
}
|
|
1877
|
-
polling(request$, options) {
|
|
1878
|
-
const pollingOptions = {
|
|
1879
|
-
interval: options.interval,
|
|
1880
|
-
attempts: options.attempts ?? 9,
|
|
1881
|
-
exponentialUnit: options.exponentialUnit ?? 1000
|
|
1882
|
-
};
|
|
1883
|
-
return concat(request$, defer(() => timer(pollingOptions.interval).pipe(switchMap(() => request$))).pipe(repeat())).pipe(
|
|
1884
|
-
// Preserve consecutive-failure retry behaviour using the current RxJS retry config.
|
|
1885
|
-
retry({
|
|
1886
|
-
count: pollingOptions.attempts,
|
|
1887
|
-
delay: (_error, retryCount) => timer(this.getExponentialRetryDelay(retryCount, pollingOptions.exponentialUnit)),
|
|
1888
|
-
resetOnSuccess: true
|
|
1889
|
-
}));
|
|
1890
|
-
}
|
|
1891
|
-
getExponentialRetryDelay(consecutiveErrorsCount, exponentialUnit) {
|
|
1892
|
-
return Math.pow(2, consecutiveErrorsCount - 1) * exponentialUnit;
|
|
1920
|
+
return polling(this.activityService.postActivity(caseId, activityType), pollingConfig);
|
|
1893
1921
|
}
|
|
1894
1922
|
static ɵfac = function ActivityPollingService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ActivityPollingService)(i0.ɵɵinject(ActivityService), i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(AbstractAppConfig)); };
|
|
1895
1923
|
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ActivityPollingService, factory: ActivityPollingService.ɵfac });
|
|
@@ -4544,11 +4572,8 @@ class FieldsUtils {
|
|
|
4544
4572
|
}
|
|
4545
4573
|
}
|
|
4546
4574
|
static getUserTaskFromClientContext(clientContextStr) {
|
|
4547
|
-
|
|
4548
|
-
|
|
4549
|
-
return clientContext.client_context.user_task;
|
|
4550
|
-
}
|
|
4551
|
-
return null;
|
|
4575
|
+
const clientContext = safeJsonParse(clientContextStr, null);
|
|
4576
|
+
return clientContext?.client_context?.user_task || null;
|
|
4552
4577
|
}
|
|
4553
4578
|
buildCanShowPredicate(eventTrigger, form) {
|
|
4554
4579
|
const currentState = this.getCurrentEventState(eventTrigger, form);
|
|
@@ -5508,6 +5533,10 @@ class ConditionalShowFormDirective {
|
|
|
5508
5533
|
}
|
|
5509
5534
|
buildPath(c, field) {
|
|
5510
5535
|
if (c && c instanceof AbstractFieldWriteComponent) {
|
|
5536
|
+
const parentPrefix = c.parent?.['component']?.idPrefix;
|
|
5537
|
+
if (parentPrefix) {
|
|
5538
|
+
return parentPrefix + field.id;
|
|
5539
|
+
}
|
|
5511
5540
|
if (c.idPrefix) {
|
|
5512
5541
|
return c.idPrefix + field.id;
|
|
5513
5542
|
}
|
|
@@ -6008,17 +6037,15 @@ class FormValueService {
|
|
|
6008
6037
|
return form[currentFieldId + FieldsUtils.LABEL_SUFFIX].join(', ');
|
|
6009
6038
|
}
|
|
6010
6039
|
else if (FieldsUtils.isCollectionOfSimpleTypes(currentForm)) {
|
|
6011
|
-
return currentForm.map(fieldValue => fieldValue
|
|
6040
|
+
return currentForm.map((fieldValue) => fieldValue.value).join(', ');
|
|
6012
6041
|
}
|
|
6013
6042
|
else if (FieldsUtils.isCollection(currentForm)) {
|
|
6014
|
-
return this.getFieldValue(currentForm[colIndex]
|
|
6043
|
+
return this.getFieldValue(currentForm[colIndex].value, fieldIds.slice(1).join('.'), colIndex);
|
|
6015
6044
|
}
|
|
6016
6045
|
else if (FieldsUtils.isNonEmptyObject(currentForm)) {
|
|
6017
6046
|
return this.getFieldValue(currentForm, fieldIds.slice(1).join('.'), colIndex);
|
|
6018
6047
|
}
|
|
6019
|
-
|
|
6020
|
-
return currentForm;
|
|
6021
|
-
}
|
|
6048
|
+
return currentForm;
|
|
6022
6049
|
}
|
|
6023
6050
|
/**
|
|
6024
6051
|
* A recursive method to remove anything with a `---LABEL` suffix.
|
|
@@ -6056,9 +6083,7 @@ class FormValueService {
|
|
|
6056
6083
|
if (field.field_type) {
|
|
6057
6084
|
return field.field_type.type === 'Label';
|
|
6058
6085
|
}
|
|
6059
|
-
|
|
6060
|
-
return false;
|
|
6061
|
-
}
|
|
6086
|
+
return false;
|
|
6062
6087
|
}
|
|
6063
6088
|
static isEmptyData(data) {
|
|
6064
6089
|
if (data) {
|
|
@@ -6105,10 +6130,13 @@ class FormValueService {
|
|
|
6105
6130
|
return s;
|
|
6106
6131
|
}
|
|
6107
6132
|
filterCurrentPageFields(caseFields, editForm) {
|
|
6108
|
-
const cloneForm =
|
|
6109
|
-
|
|
6133
|
+
const cloneForm = {
|
|
6134
|
+
...(editForm || {}),
|
|
6135
|
+
data: { ...((editForm && editForm.data) || {}) }
|
|
6136
|
+
};
|
|
6137
|
+
Object.keys(cloneForm.data).forEach((key) => {
|
|
6110
6138
|
if (caseFields.findIndex((element) => element.id === key) < 0) {
|
|
6111
|
-
delete cloneForm
|
|
6139
|
+
delete cloneForm.data[key];
|
|
6112
6140
|
}
|
|
6113
6141
|
});
|
|
6114
6142
|
return cloneForm;
|
|
@@ -6152,7 +6180,7 @@ class FormValueService {
|
|
|
6152
6180
|
if (!rawArray) {
|
|
6153
6181
|
return rawArray;
|
|
6154
6182
|
}
|
|
6155
|
-
rawArray.forEach(item => {
|
|
6183
|
+
rawArray.forEach((item) => {
|
|
6156
6184
|
if (item && item.hasOwnProperty('value')) {
|
|
6157
6185
|
item.value = this.sanitiseValue(item.value, isCaseFlagJourney);
|
|
6158
6186
|
}
|
|
@@ -6161,8 +6189,8 @@ class FormValueService {
|
|
|
6161
6189
|
// association of a value. In addition, if the array contains items with a "value" object property, return only
|
|
6162
6190
|
// those whose value object contains non-empty values, including for any descendant objects
|
|
6163
6191
|
return rawArray
|
|
6164
|
-
.filter(item => !!item)
|
|
6165
|
-
.filter(item => item.hasOwnProperty('value') ? FieldsUtils.containsNonEmptyValues(item.value) : true);
|
|
6192
|
+
.filter((item) => !!item)
|
|
6193
|
+
.filter((item) => item.hasOwnProperty('value') ? FieldsUtils.containsNonEmptyValues(item.value) : true);
|
|
6166
6194
|
}
|
|
6167
6195
|
sanitiseValue(rawValue, isCaseFlagJourney = false) {
|
|
6168
6196
|
if (Array.isArray(rawValue)) {
|
|
@@ -6181,7 +6209,7 @@ class FormValueService {
|
|
|
6181
6209
|
}
|
|
6182
6210
|
clearNonCaseFields(data, caseFields) {
|
|
6183
6211
|
for (const dataKey in data) {
|
|
6184
|
-
if (!caseFields.find(cf => cf.id === dataKey)) {
|
|
6212
|
+
if (!caseFields.find((cf) => cf.id === dataKey)) {
|
|
6185
6213
|
delete data[dataKey];
|
|
6186
6214
|
}
|
|
6187
6215
|
}
|
|
@@ -6379,7 +6407,7 @@ class FormValueService {
|
|
|
6379
6407
|
*/
|
|
6380
6408
|
removeCaseFieldsOfType(data, caseFields, types) {
|
|
6381
6409
|
if (data && caseFields && caseFields.length > 0 && types.length > 0) {
|
|
6382
|
-
const caseFieldsToRemove = caseFields.filter(caseField => FieldsUtils.isCaseFieldOfType(caseField, types));
|
|
6410
|
+
const caseFieldsToRemove = caseFields.filter((caseField) => FieldsUtils.isCaseFieldOfType(caseField, types));
|
|
6383
6411
|
for (const caseField of caseFieldsToRemove) {
|
|
6384
6412
|
delete data[caseField.id];
|
|
6385
6413
|
}
|
|
@@ -6398,10 +6426,10 @@ class FormValueService {
|
|
|
6398
6426
|
*/
|
|
6399
6427
|
repopulateFormDataFromCaseFieldValues(data, caseFields) {
|
|
6400
6428
|
if (data && caseFields && caseFields.length > 0 &&
|
|
6401
|
-
caseFields.findIndex(caseField => FieldsUtils.isCaseFieldOfType(caseField, ['FlagLauncher'])) > -1) {
|
|
6429
|
+
caseFields.findIndex((caseField) => FieldsUtils.isCaseFieldOfType(caseField, ['FlagLauncher'])) > -1) {
|
|
6402
6430
|
// Ignore the FlagLauncher CaseField because it does not hold any values
|
|
6403
|
-
caseFields.filter(caseField => !FieldsUtils.isCaseFieldOfType(caseField, ['FlagLauncher']))
|
|
6404
|
-
.forEach(caseField => {
|
|
6431
|
+
caseFields.filter((caseField) => !FieldsUtils.isCaseFieldOfType(caseField, ['FlagLauncher']))
|
|
6432
|
+
.forEach((caseField) => {
|
|
6405
6433
|
// Ensure that the data object is populated for all CaseField keys it contains, even if for a given
|
|
6406
6434
|
// CaseField key, the data object has a falsy value (hence the use of hasOwnProperty() for the check below)
|
|
6407
6435
|
// See https://tools.hmcts.net/jira/browse/EUI-7377
|
|
@@ -6433,8 +6461,8 @@ class FormValueService {
|
|
|
6433
6461
|
*/
|
|
6434
6462
|
populateLinkedCasesDetailsFromCaseFields(data, caseFields) {
|
|
6435
6463
|
if (data && caseFields && caseFields.length > 0) {
|
|
6436
|
-
caseFields.filter(caseField => !FieldsUtils.isCaseFieldOfType(caseField, ['ComponentLauncher']))
|
|
6437
|
-
.forEach(caseField => {
|
|
6464
|
+
caseFields.filter((caseField) => !FieldsUtils.isCaseFieldOfType(caseField, ['ComponentLauncher']))
|
|
6465
|
+
.forEach((caseField) => {
|
|
6438
6466
|
if (data.hasOwnProperty('caseLinks') && caseField.value) {
|
|
6439
6467
|
data[caseField.id] = caseField.value;
|
|
6440
6468
|
}
|
|
@@ -8890,10 +8918,10 @@ class CaseworkerService {
|
|
|
8890
8918
|
this.appConfig = appConfig;
|
|
8891
8919
|
this.errorService = errorService;
|
|
8892
8920
|
}
|
|
8893
|
-
|
|
8894
|
-
const url = `${this.appConfig.getWorkAllocationApiUrl()}/caseworker/
|
|
8921
|
+
getUserByIdamId(idamId) {
|
|
8922
|
+
const url = `${this.appConfig.getWorkAllocationApiUrl()}/caseworker/getUserByIdamId`;
|
|
8895
8923
|
return this.http
|
|
8896
|
-
.post(url,
|
|
8924
|
+
.post(url, idamId)
|
|
8897
8925
|
.pipe(catchError(error => {
|
|
8898
8926
|
this.errorService.setError(error);
|
|
8899
8927
|
return throwError(error);
|
|
@@ -9576,7 +9604,7 @@ class CaseEditComponent {
|
|
|
9576
9604
|
ngOnInit() {
|
|
9577
9605
|
this.wizard = this.wizardFactory.create(this.eventTrigger);
|
|
9578
9606
|
this.initialUrl = this.sessionStorageService.getItem('eventUrl');
|
|
9579
|
-
this.isPageRefreshed =
|
|
9607
|
+
this.isPageRefreshed = safeJsonParse(this.sessionStorageService.getItem('isPageRefreshed'), false);
|
|
9580
9608
|
this.checkPageRefresh();
|
|
9581
9609
|
this.form = this.fb.group({
|
|
9582
9610
|
data: new FormGroup({}),
|
|
@@ -9700,15 +9728,11 @@ class CaseEditComponent {
|
|
|
9700
9728
|
const taskEventCompletionStr = this.sessionStorageService.getItem(CaseEditComponent.TASK_EVENT_COMPLETION_INFO);
|
|
9701
9729
|
const userInfoStr = this.sessionStorageService.getItem('userDetails');
|
|
9702
9730
|
const assignNeeded = this.sessionStorageService.getItem('assignNeeded');
|
|
9703
|
-
|
|
9704
|
-
|
|
9705
|
-
}
|
|
9706
|
-
if (userInfoStr) {
|
|
9707
|
-
userInfo = JSON.parse(userInfoStr);
|
|
9708
|
-
}
|
|
9731
|
+
taskEventCompletionInfo = safeJsonParse(taskEventCompletionStr, null);
|
|
9732
|
+
userInfo = safeJsonParse(userInfoStr, null);
|
|
9709
9733
|
const eventId = this.getEventId(form);
|
|
9710
9734
|
const caseId = this.getCaseId(caseDetails);
|
|
9711
|
-
const userId = userInfo
|
|
9735
|
+
const userId = userInfo?.id ? userInfo.id : userInfo?.uid;
|
|
9712
9736
|
const eventDetails = { eventId, caseId, userId, assignNeeded };
|
|
9713
9737
|
if (this.taskExistsForThisEvent(taskInSessionStorage, taskEventCompletionInfo, eventDetails)) {
|
|
9714
9738
|
this.abstractConfig.logMessage(`task ${taskInSessionStorage?.id} exist for this event for caseId and eventId as ${caseId} ${eventId}`);
|
|
@@ -9937,6 +9961,11 @@ class CaseEditComponent {
|
|
|
9937
9961
|
const userTask = FieldsUtils.getUserTaskFromClientContext(clientContextStr);
|
|
9938
9962
|
const [task, taskToBeCompleted] = userTask ? [userTask.task_data, userTask.complete_task] : [null, false];
|
|
9939
9963
|
const assignNeeded = this.sessionStorageService.getItem('assignNeeded') === 'true';
|
|
9964
|
+
if (this.caseDetails && (this.caseDetails.case_id !== task?.case_id)) {
|
|
9965
|
+
this.abstractConfig.logMessage(`postCompleteTaskIfRequired: task in session storage with taskId ${task?.id} has caseId: ${task?.case_id} which does not match case details case id ${this.caseDetails.case_id}, NOT completing task and clearing client context`);
|
|
9966
|
+
this.sessionStorageService.removeItem(CaseEditComponent.CLIENT_CONTEXT);
|
|
9967
|
+
return of(true);
|
|
9968
|
+
}
|
|
9940
9969
|
if (task && assignNeeded && taskToBeCompleted) {
|
|
9941
9970
|
this.abstractConfig.logMessage(`postCompleteTaskIfRequired with assignNeeded: taskId ${task.id} and event name ${this.eventTrigger?.name}`);
|
|
9942
9971
|
return this.workAllocationService.assignAndCompleteTask(task.id, this.eventTrigger.name);
|
|
@@ -10070,7 +10099,7 @@ class CaseEditComponent {
|
|
|
10070
10099
|
}], submitted: [{
|
|
10071
10100
|
type: Output
|
|
10072
10101
|
}] }); })();
|
|
10073
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseEditComponent, { className: "CaseEditComponent", filePath: "lib/shared/components/case-editor/case-edit/case-edit.component.ts", lineNumber:
|
|
10102
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseEditComponent, { className: "CaseEditComponent", filePath: "lib/shared/components/case-editor/case-edit/case-edit.component.ts", lineNumber: 39 }); })();
|
|
10074
10103
|
|
|
10075
10104
|
function convertNonASCIICharacter(character) {
|
|
10076
10105
|
if (character === '£') {
|
|
@@ -11683,6 +11712,10 @@ class CaseEditPageComponent {
|
|
|
11683
11712
|
updateEventTriggerCaseFields(caseFieldId, jsonData, eventTrigger) {
|
|
11684
11713
|
/* istanbul ignore else */
|
|
11685
11714
|
if (eventTrigger?.case_fields) {
|
|
11715
|
+
const isCaseFlagJourney = eventTrigger.case_fields.some((caseField) => FieldsUtils.isCaseFieldOfType(caseField, ['FlagLauncher']));
|
|
11716
|
+
if (isCaseFlagJourney) {
|
|
11717
|
+
return;
|
|
11718
|
+
}
|
|
11686
11719
|
eventTrigger.case_fields
|
|
11687
11720
|
.filter(element => element.id === caseFieldId)
|
|
11688
11721
|
.forEach(element => {
|
|
@@ -12129,6 +12162,42 @@ class CallbackErrorsComponent {
|
|
|
12129
12162
|
}] }); })();
|
|
12130
12163
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CallbackErrorsComponent, { className: "CallbackErrorsComponent", filePath: "lib/shared/components/error/callback-errors.component.ts", lineNumber: 11 }); })();
|
|
12131
12164
|
|
|
12165
|
+
class SessionErrorPageComponent {
|
|
12166
|
+
title = 'There is a problem with your session';
|
|
12167
|
+
primaryMessage = 'Go to landing page. Refreshing the page. If the problem persists, sign out and sign in again.';
|
|
12168
|
+
secondaryMessage = 'If you still cannot access the service, clear your browser data for this website.';
|
|
12169
|
+
static ɵfac = function SessionErrorPageComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SessionErrorPageComponent)(); };
|
|
12170
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SessionErrorPageComponent, selectors: [["ccd-session-error-page"]], inputs: { title: "title", primaryMessage: "primaryMessage", secondaryMessage: "secondaryMessage" }, decls: 10, vars: 3, consts: [[1, "govuk-width-container"], ["id", "content", "role", "main", 1, "govuk-main-wrapper", "govuk-main-wrapper--l"], [1, "govuk-grid-row"], [1, "govuk-grid-column-two-thirds"], [1, "govuk-heading-xl"], [1, "govuk-body"]], template: function SessionErrorPageComponent_Template(rf, ctx) { if (rf & 1) {
|
|
12171
|
+
i0.ɵɵdomElementStart(0, "div", 0)(1, "main", 1)(2, "div", 2)(3, "div", 3)(4, "h1", 4);
|
|
12172
|
+
i0.ɵɵtext(5);
|
|
12173
|
+
i0.ɵɵdomElementEnd();
|
|
12174
|
+
i0.ɵɵdomElementStart(6, "p", 5);
|
|
12175
|
+
i0.ɵɵtext(7);
|
|
12176
|
+
i0.ɵɵdomElementEnd();
|
|
12177
|
+
i0.ɵɵdomElementStart(8, "p", 5);
|
|
12178
|
+
i0.ɵɵtext(9);
|
|
12179
|
+
i0.ɵɵdomElementEnd()()()()();
|
|
12180
|
+
} if (rf & 2) {
|
|
12181
|
+
i0.ɵɵadvance(5);
|
|
12182
|
+
i0.ɵɵtextInterpolate(ctx.title);
|
|
12183
|
+
i0.ɵɵadvance(2);
|
|
12184
|
+
i0.ɵɵtextInterpolate(ctx.primaryMessage);
|
|
12185
|
+
i0.ɵɵadvance(2);
|
|
12186
|
+
i0.ɵɵtextInterpolate(ctx.secondaryMessage);
|
|
12187
|
+
} }, dependencies: [CommonModule], encapsulation: 2 });
|
|
12188
|
+
}
|
|
12189
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SessionErrorPageComponent, [{
|
|
12190
|
+
type: Component,
|
|
12191
|
+
args: [{ selector: 'ccd-session-error-page', standalone: true, imports: [CommonModule], template: "<div class=\"govuk-width-container\">\n <main class=\"govuk-main-wrapper govuk-main-wrapper--l\" id=\"content\" role=\"main\">\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-two-thirds\">\n <h1 class=\"govuk-heading-xl\">{{ title }}</h1>\n <p class=\"govuk-body\">{{ primaryMessage }}</p>\n <p class=\"govuk-body\">{{ secondaryMessage }}</p>\n </div>\n </div>\n </main>\n</div>\n" }]
|
|
12192
|
+
}], null, { title: [{
|
|
12193
|
+
type: Input
|
|
12194
|
+
}], primaryMessage: [{
|
|
12195
|
+
type: Input
|
|
12196
|
+
}], secondaryMessage: [{
|
|
12197
|
+
type: Input
|
|
12198
|
+
}] }); })();
|
|
12199
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SessionErrorPageComponent, { className: "SessionErrorPageComponent", filePath: "lib/shared/components/error/session-error-page.component.ts", lineNumber: 10 }); })();
|
|
12200
|
+
|
|
12132
12201
|
function CaseEventCompletionComponent_app_case_event_completion_task_cancelled_0_Template(rf, ctx) { if (rf & 1) {
|
|
12133
12202
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
12134
12203
|
i0.ɵɵelementStart(0, "app-case-event-completion-task-cancelled", 2);
|
|
@@ -12392,12 +12461,9 @@ class CaseEventCompletionTaskReassignedComponent {
|
|
|
12392
12461
|
this.jurisdiction = task.jurisdiction;
|
|
12393
12462
|
this.caseType = task.case_type_id;
|
|
12394
12463
|
// Current user is a caseworker?
|
|
12395
|
-
this.caseworkerSubscription = this.caseworkerService.
|
|
12396
|
-
if (
|
|
12397
|
-
|
|
12398
|
-
if (caseworker) {
|
|
12399
|
-
this.assignedUserName = `${caseworker.firstName} ${caseworker.lastName}`;
|
|
12400
|
-
}
|
|
12464
|
+
this.caseworkerSubscription = this.caseworkerService.getUserByIdamId(task.assignee).subscribe(caseworker => {
|
|
12465
|
+
if (caseworker) {
|
|
12466
|
+
this.assignedUserName = `${caseworker.firstName} ${caseworker.lastName}`;
|
|
12401
12467
|
}
|
|
12402
12468
|
if (!this.assignedUserName) {
|
|
12403
12469
|
// Current user is a judicial user?
|
|
@@ -13380,9 +13446,10 @@ class CaseFileViewFieldComponent {
|
|
|
13380
13446
|
error: _ => this.getCategoriesAndDocumentsError = true
|
|
13381
13447
|
});
|
|
13382
13448
|
// EXUI-8000
|
|
13383
|
-
const userInfo =
|
|
13449
|
+
const userInfo = safeJsonParse(this.sessionStorageService.getItem('userDetails'), null);
|
|
13450
|
+
const userRoles = userInfo?.roles || [];
|
|
13384
13451
|
// Get acls that intersects from acl roles and user roles
|
|
13385
|
-
const acls = this.caseField.acls.filter(acl =>
|
|
13452
|
+
const acls = this.caseField.acls.filter(acl => userRoles.includes(acl.role));
|
|
13386
13453
|
// As there can be more than one intersecting role, if any acls are update: true
|
|
13387
13454
|
this.allowMoving = acls.some(acl => acl.update);
|
|
13388
13455
|
this.icp_jurisdictions = this.abstractConfig.getIcpJurisdictions();
|
|
@@ -13473,7 +13540,7 @@ class CaseFileViewFieldComponent {
|
|
|
13473
13540
|
type: Component,
|
|
13474
13541
|
args: [{ selector: 'ccd-case-file-view-field', standalone: false, template: "<ng-container *ngIf=\"errorMessages?.length\">\n <div\n id=\"case-file-view-field-errors\"\n class=\"govuk-error-summary govuk-!-margin-bottom-4\"\n data-module=\"govuk-error-summary\"\n >\n <div role=\"alert\">\n <h2 class=\"govuk-error-summary__title\">There is a problem</h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li *ngFor=\"let errorMessage of errorMessages\">\n <button type=\"button\" class=\"govuk-js-link\">{{ errorMessage }}</button>\n </li>\n </ul>\n </div>\n </div>\n </div>\n</ng-container>\n\n<div\n *ngIf=\"getCategoriesAndDocumentsError\"\n class=\"govuk-grid-column-two-thirds\"\n>\n <h1 class=\"govuk-heading-xl\">Sorry, there is a problem with the service</h1>\n <p class=\"govuk-body\">Try again later.</p>\n</div>\n<div *ngIf=\"!getCategoriesAndDocumentsError\">\n <h2 class=\"govuk-heading-l\">Case file</h2>\n <div class=\"govuk-form-group\" id=\"case-file-view\">\n <!-- Document tree -->\n <div class=\"document-tree-container\">\n <ccd-case-file-view-folder \n class=\"document-tree-container__tree\"\n [categoriesAndDocuments]=\"categoriesAndDocuments$\"\n (clickedDocument)=\"setMediaViewerFile($event); resetErrorMessages()\" \n (moveDocument)=\"moveDocument($event)\"\n [allowMoving]=\"allowMoving\">\n </ccd-case-file-view-folder>\n </div>\n <!-- Slider -->\n <div class=\"slider\"></div>\n <!-- Media viewer -->\n <div class=\"media-viewer-container\">\n <ng-container *ngIf=\"currentDocument\">\n <mv-media-viewer\n [url]=\"currentDocument.document_binary_url\"\n [downloadFileName]=\"currentDocument.document_filename\"\n [showToolbar]=\"true\"\n [contentType]=\"currentDocument.content_type\"\n [enableAnnotations]=\"true\"\n [enableRedactions]=\"true\"\n [height]=\"'94.5vh'\"\n [caseId]=\"caseId\"\n [multimediaPlayerEnabled]=\"true\"\n [enableICP]=\"isIcpEnabled()\"\n >\n </mv-media-viewer>\n </ng-container>\n </div>\n </div>\n</div>\n", styles: ["#case-file-view{display:flex;border:2px solid #C9C9C9;height:100vh;position:relative}#case-file-view .document-tree-container{background-color:#faf8f8;width:30%;min-height:400px;min-width:10%}#case-file-view .slider{width:.2%;background-color:#6b6b6b}#case-file-view .slider:hover,#case-file-view .slider:focus{cursor:col-resize}#case-file-view .media-viewer-container{background-color:#dee0e2;flex:1 1 0;overflow:hidden}\n"] }]
|
|
13475
13542
|
}], () => [{ type: i0.ElementRef }, { type: i1$1.ActivatedRoute }, { type: CaseFileViewService }, { type: DocumentManagementService }, { type: LoadingService }, { type: SessionStorageService }, { type: WindowService }, { type: CaseNotifier }, { type: AbstractAppConfig }], null); })();
|
|
13476
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseFileViewFieldComponent, { className: "CaseFileViewFieldComponent", filePath: "lib/shared/components/palette/case-file-view/case-file-view-field.component.ts", lineNumber:
|
|
13543
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseFileViewFieldComponent, { className: "CaseFileViewFieldComponent", filePath: "lib/shared/components/palette/case-file-view/case-file-view-field.component.ts", lineNumber: 19 }); })();
|
|
13477
13544
|
|
|
13478
13545
|
const PVP_FLAG_CODE = 'PF0021';
|
|
13479
13546
|
const PVP_DISPLAY_TEXT = 'POTENTIALLY VIOLENT PERSON';
|
|
@@ -15033,7 +15100,7 @@ function WriteCollectionFieldComponent_div_7_Template(rf, ctx) { if (rf & 1) {
|
|
|
15033
15100
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
15034
15101
|
i0.ɵɵproperty("hidden", ctx_r0.caseField.hidden);
|
|
15035
15102
|
i0.ɵɵadvance(2);
|
|
15036
|
-
i0.ɵɵproperty("ngForOf", ctx_r0.collItems);
|
|
15103
|
+
i0.ɵɵproperty("ngForOf", ctx_r0.collItems)("ngForTrackBy", ctx_r0.trackByCollectionItem);
|
|
15037
15104
|
} }
|
|
15038
15105
|
function WriteCollectionFieldComponent_button_8_Template(rf, ctx) { if (rf & 1) {
|
|
15039
15106
|
const _r5 = i0.ɵɵgetCurrentView();
|
|
@@ -15059,6 +15126,7 @@ class WriteCollectionFieldComponent extends AbstractFieldWriteComponent {
|
|
|
15059
15126
|
profileSubscription;
|
|
15060
15127
|
items;
|
|
15061
15128
|
collItems = [];
|
|
15129
|
+
collectionItemUidCounter = 0;
|
|
15062
15130
|
constructor(dialog, scrollToService, profileNotifier, cdRef) {
|
|
15063
15131
|
super();
|
|
15064
15132
|
this.dialog = dialog;
|
|
@@ -15081,7 +15149,7 @@ class WriteCollectionFieldComponent extends AbstractFieldWriteComponent {
|
|
|
15081
15149
|
if (this.collItems.length <= index) {
|
|
15082
15150
|
this.collItems.length = index + 1;
|
|
15083
15151
|
}
|
|
15084
|
-
this.collItems[index] = { caseField, item, prefix, index, container };
|
|
15152
|
+
this.collItems[index] = { uid: this.createCollectionItemUid(), caseField, item, prefix, index, container };
|
|
15085
15153
|
});
|
|
15086
15154
|
}
|
|
15087
15155
|
ngOnDestroy() {
|
|
@@ -15190,7 +15258,7 @@ class WriteCollectionFieldComponent extends AbstractFieldWriteComponent {
|
|
|
15190
15258
|
const caseField = this.buildCaseField(item, index, true);
|
|
15191
15259
|
const prefix = this.buildIdPrefix(index);
|
|
15192
15260
|
const container = this.getContainer(index);
|
|
15193
|
-
this.collItems.push({ caseField, item, index, prefix, container });
|
|
15261
|
+
this.collItems.push({ uid: this.createCollectionItemUid(), caseField, item, index, prefix, container });
|
|
15194
15262
|
// Update DOM required after pushing a new item to do the next steps (i.e. scrolling and focusing)
|
|
15195
15263
|
this.cdRef.detectChanges();
|
|
15196
15264
|
if (doScroll) {
|
|
@@ -15249,6 +15317,12 @@ class WriteCollectionFieldComponent extends AbstractFieldWriteComponent {
|
|
|
15249
15317
|
this.caseField.value.splice(index, 1);
|
|
15250
15318
|
this.formArray.removeAt(index);
|
|
15251
15319
|
}
|
|
15320
|
+
trackByCollectionItem(_, item) {
|
|
15321
|
+
return item.uid;
|
|
15322
|
+
}
|
|
15323
|
+
createCollectionItemUid() {
|
|
15324
|
+
return `collection-item-${this.collectionItemUidCounter++}`;
|
|
15325
|
+
}
|
|
15252
15326
|
resetIds(index) {
|
|
15253
15327
|
for (let i = index; i < this.collItems.length; i++) {
|
|
15254
15328
|
const counter = i + 1;
|
|
@@ -15355,7 +15429,7 @@ class WriteCollectionFieldComponent extends AbstractFieldWriteComponent {
|
|
|
15355
15429
|
} if (rf & 2) {
|
|
15356
15430
|
let _t;
|
|
15357
15431
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.items = _t);
|
|
15358
|
-
} }, inputs: { caseFields: "caseFields" }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 9, vars: 9, consts: [["collectionItem", ""], [1, "form-group", 3, "id"], [1, "panel", "collection-indicator"], ["class", "heading-h2 error-spacing", 4, "ngIf"], ["type", "button", 1, "button", "write-collection-add-item__top", 3, "click", "disabled"], ["class", "form-group", 3, "hidden", 4, "ngIf"], ["class", "button write-collection-add-item__bottom", "type", "button", 3, "disabled", "click", 4, "ngIf"], [1, "heading-h2", "error-spacing"], ["class", "form-hint", 4, "ngIf"], ["class", "error-message", 4, "ngIf"], [1, "form-hint"], [3, "content"], [1, "error-message"], [1, "form-group", 3, "hidden"], [1, "govuk-fieldset"], ["class", "form-group", 3, "id", 4, "ngFor", "ngForOf"], [1, "collection-title"], [1, "float-left"], [1, "govuk-fieldset__legend"], [3, "for"], [1, "heading-h3"], [1, "float-right"], ["type", "button", 1, "button", "button-secondary", 3, "click", "disabled"], [3, "caseField", "caseFields", "formGroup", "parent", "idPrefix", "hidden", "isExpanded", "isInSearchBlock"], ["type", "button", 1, "button", "write-collection-add-item__bottom", 3, "click", "disabled"]], template: function WriteCollectionFieldComponent_Template(rf, ctx) { if (rf & 1) {
|
|
15432
|
+
} }, inputs: { caseFields: "caseFields" }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 9, vars: 9, consts: [["collectionItem", ""], [1, "form-group", 3, "id"], [1, "panel", "collection-indicator"], ["class", "heading-h2 error-spacing", 4, "ngIf"], ["type", "button", 1, "button", "write-collection-add-item__top", 3, "click", "disabled"], ["class", "form-group", 3, "hidden", 4, "ngIf"], ["class", "button write-collection-add-item__bottom", "type", "button", 3, "disabled", "click", 4, "ngIf"], [1, "heading-h2", "error-spacing"], ["class", "form-hint", 4, "ngIf"], ["class", "error-message", 4, "ngIf"], [1, "form-hint"], [3, "content"], [1, "error-message"], [1, "form-group", 3, "hidden"], [1, "govuk-fieldset"], ["class", "form-group", 3, "id", 4, "ngFor", "ngForOf", "ngForTrackBy"], [1, "collection-title"], [1, "float-left"], [1, "govuk-fieldset__legend"], [3, "for"], [1, "heading-h3"], [1, "float-right"], ["type", "button", 1, "button", "button-secondary", 3, "click", "disabled"], [3, "caseField", "caseFields", "formGroup", "parent", "idPrefix", "hidden", "isExpanded", "isInSearchBlock"], ["type", "button", 1, "button", "write-collection-add-item__bottom", 3, "click", "disabled"]], template: function WriteCollectionFieldComponent_Template(rf, ctx) { if (rf & 1) {
|
|
15359
15433
|
i0.ɵɵelementStart(0, "div", 1)(1, "div", 2);
|
|
15360
15434
|
i0.ɵɵtemplate(2, WriteCollectionFieldComponent_h2_2_Template, 3, 3, "h2", 3);
|
|
15361
15435
|
i0.ɵɵelementStart(3, "button", 4);
|
|
@@ -15363,7 +15437,7 @@ class WriteCollectionFieldComponent extends AbstractFieldWriteComponent {
|
|
|
15363
15437
|
i0.ɵɵtext(4);
|
|
15364
15438
|
i0.ɵɵpipe(5, "rpxTranslate");
|
|
15365
15439
|
i0.ɵɵelementEnd();
|
|
15366
|
-
i0.ɵɵtemplate(6, WriteCollectionFieldComponent_h2_6_Template, 3, 2, "h2", 3)(7, WriteCollectionFieldComponent_div_7_Template, 3,
|
|
15440
|
+
i0.ɵɵtemplate(6, WriteCollectionFieldComponent_h2_6_Template, 3, 2, "h2", 3)(7, WriteCollectionFieldComponent_div_7_Template, 3, 3, "div", 5)(8, WriteCollectionFieldComponent_button_8_Template, 3, 4, "button", 6);
|
|
15367
15441
|
i0.ɵɵelementEnd()();
|
|
15368
15442
|
} if (rf & 2) {
|
|
15369
15443
|
i0.ɵɵproperty("id", ctx.id());
|
|
@@ -15383,14 +15457,14 @@ class WriteCollectionFieldComponent extends AbstractFieldWriteComponent {
|
|
|
15383
15457
|
}
|
|
15384
15458
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteCollectionFieldComponent, [{
|
|
15385
15459
|
type: Component,
|
|
15386
|
-
args: [{ selector: 'ccd-write-collection-field', standalone: false, template: "<div class=\"form-group\" [id]=\"id()\">\n\n <div class=\"panel collection-indicator\">\n\n <h2 class=\"heading-h2 error-spacing\" *ngIf=\"!caseField.hidden\">\n {{(caseField | ccdFieldLabel)}}\n </h2>\n <button class=\"button write-collection-add-item__top\" type=\"button\" (click)=\"addItem(true)\" [disabled]=\"isNotAuthorisedToCreate() || isSearchFilter()\">{{'Add new' | rpxTranslate}}</button>\n <h2 class=\"heading-h2 error-spacing\" *ngIf=\"caseField.hint_text || formArray.errors\">\n <span *ngIf=\"caseField.hint_text\" class=\"form-hint\">\n <ccd-markdown [content]=\"caseField.hint_text | rpxTranslate\"></ccd-markdown>\n </span>\n <span *ngIf=\"formArray.errors\" class=\"error-message\">\n {{(formArray.errors | ccdFirstError:caseField.label)}}\n </span>\n </h2>\n\n <div class=\"form-group\" [hidden]=\"caseField.hidden\" *ngIf=\"caseField.value && caseField.value.length\">\n <fieldset class=\"govuk-fieldset\">\n <div *ngFor=\"let item of collItems; let i = index\" #collectionItem\n [id]=\"this.buildIdPrefix(i) + i\" class=\"form-group\">\n <div class=\"collection-title\">\n <div class=\"float-left\">\n <legend class=\"govuk-fieldset__legend\">\n <label [for]=\"item.prefix + i\"><h3 class=\"heading-h3\">{{itemLabel(i) | rpxTranslate}}</h3></label>\n </legend>\n </div>\n <div class=\"float-right\">\n <button class=\"button button-secondary\" type=\"button\" (click)=\"openModal(i)\"\n [disabled]=\"isNotAuthorisedToDelete(i)\"\n attr.aria-label=\"Remove {{ itemLabel(i) }}\">{{'Remove' | rpxTranslate}}</button>\n </div>\n </div>\n <ccd-field-write [caseField]=\"item.caseField\"\n [caseFields]=\"caseFields\"\n [formGroup]=\"formGroup\"\n [parent]=\"item.container\"\n [idPrefix]=\"item.prefix\"\n [hidden]=\"item.caseField.hidden\"\n [isExpanded]=\"isExpanded\"\n [isInSearchBlock]=\"isInSearchBlock\">\n </ccd-field-write>\n </div>\n </fieldset>\n </div>\n\n <button class=\"button write-collection-add-item__bottom\" type=\"button\" (click)=\"addItem(false)\" [disabled]=\"isNotAuthorisedToCreate() || isSearchFilter()\" *ngIf=\"caseField.value && caseField.value.length\">{{'Add new' | rpxTranslate }}</button>\n\n </div>\n\n</div>\n", styles: [".collection-field-table tr:first-child>td{padding-top:0}.collection-field-table tr:last-child>td{border-bottom:none}.collection-field-table td.collection-actions{width:1px;white-space:nowrap}.error-spacing{margin-top:10px}.collection-title{height:51px}.float-left{float:left;padding-top:8px}.float-right{float:right}.complex-panel{margin:13px 0;border:1px solid #bfc1c3}.complex-panel .complex-panel-title{background-color:#dee0e2;padding:5px 5px 2px;border-bottom:1px solid #bfc1c3;display:block;color:#0b0c0c;font-family:nta,Arial,sans-serif;font-weight:700;text-transform:none;font-size:16px;line-height:1.25}@media(min-width:641px){.complex-panel .complex-panel-title{font-size:19px;line-height:1.3157894737}}.complex-panel .complex-panel-table>tbody>tr>th{vertical-align:top}.complex-panel .complex-panel-table>tbody>tr:last-child>th,.complex-panel .complex-panel-table>tbody>tr:last-child>td{border-bottom:none}.complex-panel .complex-panel-simple-field th{padding-left:5px;width:295px}.complex-panel .complex-panel-compound-field td{padding:5px}.collection-indicator{border-left:solid 5px #b1b4b6}\n"] }]
|
|
15460
|
+
args: [{ selector: 'ccd-write-collection-field', standalone: false, template: "<div class=\"form-group\" [id]=\"id()\">\n\n <div class=\"panel collection-indicator\">\n\n <h2 class=\"heading-h2 error-spacing\" *ngIf=\"!caseField.hidden\">\n {{(caseField | ccdFieldLabel)}}\n </h2>\n <button class=\"button write-collection-add-item__top\" type=\"button\" (click)=\"addItem(true)\" [disabled]=\"isNotAuthorisedToCreate() || isSearchFilter()\">{{'Add new' | rpxTranslate}}</button>\n <h2 class=\"heading-h2 error-spacing\" *ngIf=\"caseField.hint_text || formArray.errors\">\n <span *ngIf=\"caseField.hint_text\" class=\"form-hint\">\n <ccd-markdown [content]=\"caseField.hint_text | rpxTranslate\"></ccd-markdown>\n </span>\n <span *ngIf=\"formArray.errors\" class=\"error-message\">\n {{(formArray.errors | ccdFirstError:caseField.label)}}\n </span>\n </h2>\n\n <div class=\"form-group\" [hidden]=\"caseField.hidden\" *ngIf=\"caseField.value && caseField.value.length\">\n <fieldset class=\"govuk-fieldset\">\n <div *ngFor=\"let item of collItems; let i = index; trackBy: trackByCollectionItem\" #collectionItem\n [id]=\"this.buildIdPrefix(i) + i\" class=\"form-group\">\n <div class=\"collection-title\">\n <div class=\"float-left\">\n <legend class=\"govuk-fieldset__legend\">\n <label [for]=\"item.prefix + i\"><h3 class=\"heading-h3\">{{itemLabel(i) | rpxTranslate}}</h3></label>\n </legend>\n </div>\n <div class=\"float-right\">\n <button class=\"button button-secondary\" type=\"button\" (click)=\"openModal(i)\"\n [disabled]=\"isNotAuthorisedToDelete(i)\"\n attr.aria-label=\"Remove {{ itemLabel(i) }}\">{{'Remove' | rpxTranslate}}</button>\n </div>\n </div>\n <ccd-field-write [caseField]=\"item.caseField\"\n [caseFields]=\"caseFields\"\n [formGroup]=\"formGroup\"\n [parent]=\"item.container\"\n [idPrefix]=\"item.prefix\"\n [hidden]=\"item.caseField.hidden\"\n [isExpanded]=\"isExpanded\"\n [isInSearchBlock]=\"isInSearchBlock\">\n </ccd-field-write>\n </div>\n </fieldset>\n </div>\n\n <button class=\"button write-collection-add-item__bottom\" type=\"button\" (click)=\"addItem(false)\" [disabled]=\"isNotAuthorisedToCreate() || isSearchFilter()\" *ngIf=\"caseField.value && caseField.value.length\">{{'Add new' | rpxTranslate }}</button>\n\n </div>\n\n</div>\n", styles: [".collection-field-table tr:first-child>td{padding-top:0}.collection-field-table tr:last-child>td{border-bottom:none}.collection-field-table td.collection-actions{width:1px;white-space:nowrap}.error-spacing{margin-top:10px}.collection-title{height:51px}.float-left{float:left;padding-top:8px}.float-right{float:right}.complex-panel{margin:13px 0;border:1px solid #bfc1c3}.complex-panel .complex-panel-title{background-color:#dee0e2;padding:5px 5px 2px;border-bottom:1px solid #bfc1c3;display:block;color:#0b0c0c;font-family:nta,Arial,sans-serif;font-weight:700;text-transform:none;font-size:16px;line-height:1.25}@media(min-width:641px){.complex-panel .complex-panel-title{font-size:19px;line-height:1.3157894737}}.complex-panel .complex-panel-table>tbody>tr>th{vertical-align:top}.complex-panel .complex-panel-table>tbody>tr:last-child>th,.complex-panel .complex-panel-table>tbody>tr:last-child>td{border-bottom:none}.complex-panel .complex-panel-simple-field th{padding-left:5px;width:295px}.complex-panel .complex-panel-compound-field td{padding:5px}.collection-indicator{border-left:solid 5px #b1b4b6}\n"] }]
|
|
15387
15461
|
}], () => [{ type: i1$3.MatLegacyDialog }, { type: i2.ScrollToService }, { type: ProfileNotifier }, { type: i0.ChangeDetectorRef }], { caseFields: [{
|
|
15388
15462
|
type: Input
|
|
15389
15463
|
}], items: [{
|
|
15390
15464
|
type: ViewChildren,
|
|
15391
15465
|
args: ['collectionItem']
|
|
15392
15466
|
}] }); })();
|
|
15393
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteCollectionFieldComponent, { className: "WriteCollectionFieldComponent", filePath: "lib/shared/components/palette/collection/write-collection-field.component.ts", lineNumber:
|
|
15467
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteCollectionFieldComponent, { className: "WriteCollectionFieldComponent", filePath: "lib/shared/components/palette/collection/write-collection-field.component.ts", lineNumber: 33 }); })();
|
|
15394
15468
|
|
|
15395
15469
|
function ReadComplexFieldComponent_ccd_read_complex_field_raw_1_Template(rf, ctx) { if (rf & 1) {
|
|
15396
15470
|
i0.ɵɵelement(0, "ccd-read-complex-field-raw", 4);
|
|
@@ -16331,11 +16405,13 @@ class MarkdownComponent {
|
|
|
16331
16405
|
}
|
|
16332
16406
|
renderUrlToText() {
|
|
16333
16407
|
const renderer = new marked.Renderer();
|
|
16334
|
-
renderer.link = (href,
|
|
16335
|
-
|
|
16336
|
-
|
|
16408
|
+
renderer.link = ({ href, tokens }) => {
|
|
16409
|
+
const linkHref = href || '';
|
|
16410
|
+
const text = tokens?.map((token) => token.raw).join('') || linkHref;
|
|
16411
|
+
if (!text || text === linkHref) {
|
|
16412
|
+
return this.isAllowedUrl(linkHref) ? `<a href="${linkHref}">${linkHref}</a>` : linkHref;
|
|
16337
16413
|
}
|
|
16338
|
-
return this.detectMarkdownLinks(this.content) ? `<a href="${
|
|
16414
|
+
return this.detectMarkdownLinks(this.content) ? `<a href="${linkHref}">${text}</a>` : text;
|
|
16339
16415
|
};
|
|
16340
16416
|
marked.setOptions({
|
|
16341
16417
|
renderer: renderer
|
|
@@ -16370,7 +16446,7 @@ class MarkdownComponent {
|
|
|
16370
16446
|
}], renderUrlToTextFeature: [{
|
|
16371
16447
|
type: Input
|
|
16372
16448
|
}] }); })();
|
|
16373
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MarkdownComponent, { className: "MarkdownComponent", filePath: "lib/shared/components/palette/markdown/markdown.component.ts", lineNumber:
|
|
16449
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MarkdownComponent, { className: "MarkdownComponent", filePath: "lib/shared/components/palette/markdown/markdown.component.ts", lineNumber: 12 }); })();
|
|
16374
16450
|
|
|
16375
16451
|
class FixedListPipe {
|
|
16376
16452
|
static EMPTY = '';
|
|
@@ -20821,14 +20897,14 @@ class PaymentField extends AbstractFieldReadComponent {
|
|
|
20821
20897
|
return this.appConfig.getNotificationUrl();
|
|
20822
20898
|
}
|
|
20823
20899
|
getUserRoles() {
|
|
20824
|
-
const userDetails =
|
|
20900
|
+
const userDetails = safeJsonParse(this.sessionStorage.getItem('userDetails'), null);
|
|
20825
20901
|
if (!userDetails || !userDetails.hasOwnProperty('roles')) {
|
|
20826
20902
|
return [];
|
|
20827
20903
|
}
|
|
20828
20904
|
return userDetails.roles;
|
|
20829
20905
|
}
|
|
20830
20906
|
getUserEmail() {
|
|
20831
|
-
const userDetails =
|
|
20907
|
+
const userDetails = safeJsonParse(this.sessionStorage.getItem('userDetails'), null);
|
|
20832
20908
|
if (!userDetails || !userDetails.hasOwnProperty('sub')) {
|
|
20833
20909
|
return '';
|
|
20834
20910
|
}
|
|
@@ -21554,7 +21630,7 @@ class QueryManagementService {
|
|
|
21554
21630
|
) {
|
|
21555
21631
|
let currentUserDetails;
|
|
21556
21632
|
try {
|
|
21557
|
-
currentUserDetails =
|
|
21633
|
+
currentUserDetails = safeJsonParse(this.sessionStorageService.getItem(USER_DETAILS), {});
|
|
21558
21634
|
}
|
|
21559
21635
|
catch (e) {
|
|
21560
21636
|
console.error('Could not parse USER_DETAILS from session storage:', e);
|
|
@@ -25016,6 +25092,7 @@ class FieldWriteComponent extends AbstractFieldWriteComponent {
|
|
|
25016
25092
|
canHaveGreyBar = false;
|
|
25017
25093
|
caseFields = [];
|
|
25018
25094
|
fieldContainer;
|
|
25095
|
+
componentRef;
|
|
25019
25096
|
constructor(resolver, paletteService) {
|
|
25020
25097
|
super();
|
|
25021
25098
|
this.resolver = resolver;
|
|
@@ -25027,7 +25104,7 @@ class FieldWriteComponent extends AbstractFieldWriteComponent {
|
|
|
25027
25104
|
ngOnInit() {
|
|
25028
25105
|
const componentClass = this.paletteService.getFieldComponentClass(this.caseField, true);
|
|
25029
25106
|
const injector = Injector.create([], this.fieldContainer.parentInjector);
|
|
25030
|
-
|
|
25107
|
+
this.componentRef = this.resolver.resolveComponentFactory(componentClass).create(injector);
|
|
25031
25108
|
// Only Fixed list use plainToClassFromExist
|
|
25032
25109
|
// Better performance
|
|
25033
25110
|
// TODO AW 30/12/20 figure out why FixedLists need plainToClassFromExist
|
|
@@ -25036,28 +25113,41 @@ class FieldWriteComponent extends AbstractFieldWriteComponent {
|
|
|
25036
25113
|
if (FIX_CASEFIELD_FOR.indexOf(this.caseField.field_type.type) > -1 && !(this.caseField instanceof CaseField)) {
|
|
25037
25114
|
this.caseField = plainToClassFromExist(new CaseField(), this.caseField);
|
|
25038
25115
|
}
|
|
25039
|
-
|
|
25040
|
-
component.instance['caseFields'] = this.caseFields;
|
|
25041
|
-
component.instance['formGroup'] = this.formGroup;
|
|
25042
|
-
component.instance['parent'] = this.parent;
|
|
25043
|
-
component.instance['idPrefix'] = this.idPrefix;
|
|
25116
|
+
this.applyInputsToChild();
|
|
25044
25117
|
if (this.caseField.field_type.id === 'AddressGlobal') {
|
|
25045
|
-
|
|
25118
|
+
this.componentRef.instance['ignoreMandatory'] = true;
|
|
25046
25119
|
}
|
|
25047
|
-
|
|
25048
|
-
component.instance['isInSearchBlock'] = this.isInSearchBlock;
|
|
25049
|
-
this.fieldContainer.insert(component.hostView);
|
|
25120
|
+
this.fieldContainer.insert(this.componentRef.hostView);
|
|
25050
25121
|
// EUI-3267.
|
|
25051
25122
|
// Set up the flag for whether this can have a grey bar.
|
|
25052
25123
|
this.canHaveGreyBar = this.caseField.show_condition && this.caseField.field_type.type !== 'Collection';
|
|
25053
25124
|
}
|
|
25125
|
+
ngOnChanges(changes) {
|
|
25126
|
+
if (this.componentRef && (changes.caseField || changes.caseFields || changes.formGroup || changes.parent || changes.idPrefix
|
|
25127
|
+
|| changes.isExpanded || changes.isInSearchBlock)) {
|
|
25128
|
+
this.applyInputsToChild();
|
|
25129
|
+
this.componentRef.changeDetectorRef.detectChanges();
|
|
25130
|
+
}
|
|
25131
|
+
}
|
|
25132
|
+
applyInputsToChild() {
|
|
25133
|
+
if (!this.componentRef) {
|
|
25134
|
+
return;
|
|
25135
|
+
}
|
|
25136
|
+
this.componentRef.instance['caseField'] = this.caseField;
|
|
25137
|
+
this.componentRef.instance['caseFields'] = this.caseFields;
|
|
25138
|
+
this.componentRef.instance['formGroup'] = this.formGroup;
|
|
25139
|
+
this.componentRef.instance['parent'] = this.parent;
|
|
25140
|
+
this.componentRef.instance['idPrefix'] = this.idPrefix;
|
|
25141
|
+
this.componentRef.instance['isExpanded'] = this.isExpanded;
|
|
25142
|
+
this.componentRef.instance['isInSearchBlock'] = this.isInSearchBlock;
|
|
25143
|
+
}
|
|
25054
25144
|
static ɵfac = function FieldWriteComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || FieldWriteComponent)(i0.ɵɵdirectiveInject(i0.ComponentFactoryResolver), i0.ɵɵdirectiveInject(PaletteService)); };
|
|
25055
25145
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FieldWriteComponent, selectors: [["ccd-field-write"]], viewQuery: function FieldWriteComponent_Query(rf, ctx) { if (rf & 1) {
|
|
25056
25146
|
i0.ɵɵviewQuery(_c0$y, 7, ViewContainerRef);
|
|
25057
25147
|
} if (rf & 2) {
|
|
25058
25148
|
let _t;
|
|
25059
25149
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.fieldContainer = _t.first);
|
|
25060
|
-
} }, inputs: { caseFields: "caseFields" }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 3, vars: 3, consts: [["fieldContainer", ""], [3, "hidden"]], template: function FieldWriteComponent_Template(rf, ctx) { if (rf & 1) {
|
|
25150
|
+
} }, inputs: { caseFields: "caseFields" }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature], decls: 3, vars: 3, consts: [["fieldContainer", ""], [3, "hidden"]], template: function FieldWriteComponent_Template(rf, ctx) { if (rf & 1) {
|
|
25061
25151
|
i0.ɵɵelementStart(0, "div", 1);
|
|
25062
25152
|
i0.ɵɵelementContainer(1, null, 0);
|
|
25063
25153
|
i0.ɵɵelementEnd();
|
|
@@ -30513,7 +30603,9 @@ class EventLogTableComponent {
|
|
|
30513
30603
|
}
|
|
30514
30604
|
ngOnInit() {
|
|
30515
30605
|
this.isPartOfCaseTimeline = this.onCaseHistory.observers.length > 0;
|
|
30516
|
-
|
|
30606
|
+
const userDetails = safeJsonParse(this.sessionStorage.getItem('userDetails'), null);
|
|
30607
|
+
const roles = userDetails?.roles || [];
|
|
30608
|
+
this.isUserExternal = roles.includes('pui-case-manager');
|
|
30517
30609
|
}
|
|
30518
30610
|
select(event) {
|
|
30519
30611
|
this.selected = event;
|
|
@@ -30602,7 +30694,7 @@ class EventLogTableComponent {
|
|
|
30602
30694
|
}], onCaseHistory: [{
|
|
30603
30695
|
type: Output
|
|
30604
30696
|
}] }); })();
|
|
30605
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EventLogTableComponent, { className: "EventLogTableComponent", filePath: "lib/shared/components/palette/history/event-log/event-log-table.component.ts", lineNumber:
|
|
30697
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EventLogTableComponent, { className: "EventLogTableComponent", filePath: "lib/shared/components/palette/history/event-log/event-log-table.component.ts", lineNumber: 13 }); })();
|
|
30606
30698
|
|
|
30607
30699
|
function EventLogComponent_ccd_event_log_table_3_Template(rf, ctx) { if (rf & 1) {
|
|
30608
30700
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
@@ -30830,6 +30922,101 @@ class ReadFieldsFilterPipe {
|
|
|
30830
30922
|
static isCompound(field) {
|
|
30831
30923
|
return ReadFieldsFilterPipe.NESTED_TYPES[field.field_type.type];
|
|
30832
30924
|
}
|
|
30925
|
+
static findAncestorOfType(field, type) {
|
|
30926
|
+
let current = field?.parent;
|
|
30927
|
+
while (current) {
|
|
30928
|
+
if (current?.field_type?.type === type) {
|
|
30929
|
+
return current;
|
|
30930
|
+
}
|
|
30931
|
+
current = current.parent || undefined;
|
|
30932
|
+
}
|
|
30933
|
+
return undefined;
|
|
30934
|
+
}
|
|
30935
|
+
static getCollectionItemValue(field) {
|
|
30936
|
+
let current = field?.parent;
|
|
30937
|
+
while (current) {
|
|
30938
|
+
if (current?.field_type?.type === 'Complex' && current?.parent?.field_type?.type === 'Collection') {
|
|
30939
|
+
return current.value || {};
|
|
30940
|
+
}
|
|
30941
|
+
current = current.parent || undefined;
|
|
30942
|
+
}
|
|
30943
|
+
return {};
|
|
30944
|
+
}
|
|
30945
|
+
static getBaseConditionalShowContext(formGroup, values) {
|
|
30946
|
+
const currentValues = values || {};
|
|
30947
|
+
if (!formGroup) {
|
|
30948
|
+
return { checkConditionalShowAgainst: currentValues, formGroupAvailable: false };
|
|
30949
|
+
}
|
|
30950
|
+
return {
|
|
30951
|
+
checkConditionalShowAgainst: formGroup.value ? formGroup.parent.getRawValue().data : formGroup,
|
|
30952
|
+
formGroupAvailable: true
|
|
30953
|
+
};
|
|
30954
|
+
}
|
|
30955
|
+
static resolvePrefixedConditionalShowContext(checkConditionalShowAgainst, currentValues, idPrefix) {
|
|
30956
|
+
const fieldId = idPrefix.substring(0, idPrefix.indexOf('_'));
|
|
30957
|
+
if (checkConditionalShowAgainst[fieldId]) {
|
|
30958
|
+
return {
|
|
30959
|
+
checkConditionalShowAgainst: currentValues,
|
|
30960
|
+
formGroupAvailable: false
|
|
30961
|
+
};
|
|
30962
|
+
}
|
|
30963
|
+
return {
|
|
30964
|
+
checkConditionalShowAgainst,
|
|
30965
|
+
formGroupAvailable: true
|
|
30966
|
+
};
|
|
30967
|
+
}
|
|
30968
|
+
static resolveCollectionConditionalShowContext(complexField, checkConditionalShowAgainst, currentValues) {
|
|
30969
|
+
const collectionItemValue = ReadFieldsFilterPipe.getCollectionItemValue(complexField);
|
|
30970
|
+
if (Object.keys(collectionItemValue).length > 0) {
|
|
30971
|
+
return {
|
|
30972
|
+
checkConditionalShowAgainst: Object.assign(collectionItemValue, currentValues),
|
|
30973
|
+
formGroupAvailable: false
|
|
30974
|
+
};
|
|
30975
|
+
}
|
|
30976
|
+
return {
|
|
30977
|
+
checkConditionalShowAgainst: Object.assign(checkConditionalShowAgainst, currentValues),
|
|
30978
|
+
formGroupAvailable: false
|
|
30979
|
+
};
|
|
30980
|
+
}
|
|
30981
|
+
static resolveFallbackConditionalShowContext(checkConditionalShowAgainst, currentValues) {
|
|
30982
|
+
return {
|
|
30983
|
+
checkConditionalShowAgainst: Object.assign(checkConditionalShowAgainst, currentValues),
|
|
30984
|
+
formGroupAvailable: false
|
|
30985
|
+
};
|
|
30986
|
+
}
|
|
30987
|
+
static getConditionalShowContext(complexField, formGroup, path, idPrefix, values) {
|
|
30988
|
+
const currentValues = values || {};
|
|
30989
|
+
const baseContext = ReadFieldsFilterPipe.getBaseConditionalShowContext(formGroup, currentValues);
|
|
30990
|
+
let checkConditionalShowAgainst = baseContext.checkConditionalShowAgainst;
|
|
30991
|
+
let formGroupAvailable = baseContext.formGroupAvailable;
|
|
30992
|
+
if (!formGroup || idPrefix === undefined) {
|
|
30993
|
+
return { checkConditionalShowAgainst, formGroupAvailable };
|
|
30994
|
+
}
|
|
30995
|
+
if (idPrefix !== '') {
|
|
30996
|
+
return ReadFieldsFilterPipe.resolvePrefixedConditionalShowContext(checkConditionalShowAgainst, currentValues, idPrefix);
|
|
30997
|
+
}
|
|
30998
|
+
if (path === 'parent_value' && ReadFieldsFilterPipe.findAncestorOfType(complexField, 'Collection')) {
|
|
30999
|
+
return ReadFieldsFilterPipe.resolveCollectionConditionalShowContext(complexField, checkConditionalShowAgainst, currentValues);
|
|
31000
|
+
}
|
|
31001
|
+
return ReadFieldsFilterPipe.resolveFallbackConditionalShowContext(checkConditionalShowAgainst, currentValues);
|
|
31002
|
+
}
|
|
31003
|
+
static cloneFieldWithValue(field, values, index) {
|
|
31004
|
+
const clone = FieldsUtils.cloneObject(field);
|
|
31005
|
+
const value = ReadFieldsFilterPipe.getValue(field, values, index);
|
|
31006
|
+
if (!ReadFieldsFilterPipe.isEmpty(value)) {
|
|
31007
|
+
clone.value = value;
|
|
31008
|
+
}
|
|
31009
|
+
return clone;
|
|
31010
|
+
}
|
|
31011
|
+
static applyDisplayContextAndHidden(field, complexField, setupHidden, checkConditionalShowAgainst, formGroupAvailable, path) {
|
|
31012
|
+
if (!field.display_context && FieldsUtils.isValidDisplayContext(complexField.display_context)) {
|
|
31013
|
+
field.display_context = complexField.display_context;
|
|
31014
|
+
}
|
|
31015
|
+
if (setupHidden) {
|
|
31016
|
+
ReadFieldsFilterPipe.evaluateConditionalShow(field, checkConditionalShowAgainst, path, formGroupAvailable, complexField.id);
|
|
31017
|
+
}
|
|
31018
|
+
return field;
|
|
31019
|
+
}
|
|
30833
31020
|
static isValidCompound(field, value, checkConditionalShowAgainst) {
|
|
30834
31021
|
return ReadFieldsFilterPipe.isCompound(field)
|
|
30835
31022
|
&& ReadFieldsFilterPipe.NESTED_TYPES[field.field_type.type](field, value, checkConditionalShowAgainst);
|
|
@@ -30901,46 +31088,11 @@ class ReadFieldsFilterPipe {
|
|
|
30901
31088
|
}
|
|
30902
31089
|
const fields = complexField.field_type.complex_fields || [];
|
|
30903
31090
|
const values = complexField.value || {};
|
|
30904
|
-
|
|
30905
|
-
let formGroupAvailable = false;
|
|
30906
|
-
if (formGroup) {
|
|
30907
|
-
checkConditionalShowAgainst = formGroup.value ? formGroup.parent.getRawValue().data : formGroup;
|
|
30908
|
-
formGroupAvailable = true;
|
|
30909
|
-
if (idPrefix !== undefined) {
|
|
30910
|
-
if (idPrefix !== '') {
|
|
30911
|
-
const fieldId = idPrefix.substring(0, idPrefix.indexOf('_'));
|
|
30912
|
-
if (checkConditionalShowAgainst[fieldId]) {
|
|
30913
|
-
checkConditionalShowAgainst = values;
|
|
30914
|
-
formGroupAvailable = false;
|
|
30915
|
-
}
|
|
30916
|
-
}
|
|
30917
|
-
else {
|
|
30918
|
-
checkConditionalShowAgainst = Object.assign(checkConditionalShowAgainst, values);
|
|
30919
|
-
formGroupAvailable = false;
|
|
30920
|
-
}
|
|
30921
|
-
}
|
|
30922
|
-
}
|
|
31091
|
+
const conditionalShowContext = ReadFieldsFilterPipe.getConditionalShowContext(complexField, formGroup, path, idPrefix, values);
|
|
30923
31092
|
return fields
|
|
30924
|
-
.map(f =>
|
|
30925
|
-
|
|
30926
|
-
|
|
30927
|
-
if (!ReadFieldsFilterPipe.isEmpty(value)) {
|
|
30928
|
-
clone.value = value;
|
|
30929
|
-
}
|
|
30930
|
-
return clone;
|
|
30931
|
-
})
|
|
30932
|
-
.map(f => {
|
|
30933
|
-
if (!f.display_context) {
|
|
30934
|
-
if (FieldsUtils.isValidDisplayContext(complexField.display_context)) {
|
|
30935
|
-
f.display_context = complexField.display_context;
|
|
30936
|
-
}
|
|
30937
|
-
}
|
|
30938
|
-
if (setupHidden) {
|
|
30939
|
-
ReadFieldsFilterPipe.evaluateConditionalShow(f, checkConditionalShowAgainst, path, formGroupAvailable, complexField.id);
|
|
30940
|
-
}
|
|
30941
|
-
return f;
|
|
30942
|
-
})
|
|
30943
|
-
.filter(f => keepEmpty || ReadFieldsFilterPipe.keepField(f, undefined, false, checkConditionalShowAgainst));
|
|
31093
|
+
.map(f => ReadFieldsFilterPipe.cloneFieldWithValue(f, values, index))
|
|
31094
|
+
.map(f => ReadFieldsFilterPipe.applyDisplayContextAndHidden(f, complexField, setupHidden, conditionalShowContext.checkConditionalShowAgainst, conditionalShowContext.formGroupAvailable, path))
|
|
31095
|
+
.filter(f => keepEmpty || ReadFieldsFilterPipe.keepField(f, undefined, false, conditionalShowContext.checkConditionalShowAgainst));
|
|
30944
31096
|
}
|
|
30945
31097
|
static ɵfac = function ReadFieldsFilterPipe_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ReadFieldsFilterPipe)(); };
|
|
30946
31098
|
static ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "ccdReadFieldsFilter", type: ReadFieldsFilterPipe, pure: true, standalone: false });
|
|
@@ -35384,7 +35536,7 @@ class CaseResolver {
|
|
|
35384
35536
|
// as discussed for EUI-5456, need functionality to go to default page
|
|
35385
35537
|
goToDefaultPage() {
|
|
35386
35538
|
console.info('Going to default page!');
|
|
35387
|
-
const userDetails =
|
|
35539
|
+
const userDetails = safeJsonParse(this.sessionStorage.getItem(USER_DETAILS));
|
|
35388
35540
|
userDetails && userDetails.roles
|
|
35389
35541
|
&& !userDetails.roles.includes(PUI_CASE_MANAGER)
|
|
35390
35542
|
&&
|
|
@@ -35437,7 +35589,7 @@ class EventTriggerResolver {
|
|
|
35437
35589
|
const query = route.queryParams;
|
|
35438
35590
|
// If jurisdiction or caseType are missing, redirect to correct URL
|
|
35439
35591
|
if (!jurisdiction || !caseType) {
|
|
35440
|
-
const caseInfo =
|
|
35592
|
+
const caseInfo = safeJsonParse(this.sessionStorageService.getItem('caseInfo'), {});
|
|
35441
35593
|
const jurisdictionId = caseInfo?.jurisdiction;
|
|
35442
35594
|
const caseTypeId = caseInfo?.caseType;
|
|
35443
35595
|
const caseId = caseInfo?.caseId;
|
|
@@ -37420,12 +37572,9 @@ class TaskAssignedComponent {
|
|
|
37420
37572
|
// Current user is a caseworker?
|
|
37421
37573
|
this.jurisdiction = this.task.jurisdiction;
|
|
37422
37574
|
this.caseType = this.task.case_type_id;
|
|
37423
|
-
this.caseworkerSubscription = this.caseworkerService.
|
|
37424
|
-
if (
|
|
37425
|
-
|
|
37426
|
-
if (caseworker) {
|
|
37427
|
-
this.assignedUserName = `${caseworker.firstName} ${caseworker.lastName}`;
|
|
37428
|
-
}
|
|
37575
|
+
this.caseworkerSubscription = this.caseworkerService.getUserByIdamId(this.task.assignee).subscribe(caseworker => {
|
|
37576
|
+
if (caseworker) {
|
|
37577
|
+
this.assignedUserName = `${caseworker.firstName} ${caseworker.lastName}`;
|
|
37429
37578
|
}
|
|
37430
37579
|
if (!this.assignedUserName) {
|
|
37431
37580
|
// Current user is a judicial user?
|
|
@@ -39714,7 +39863,7 @@ class CreateCaseFiltersComponent {
|
|
|
39714
39863
|
return events.filter(event => event.pre_states.length === 0);
|
|
39715
39864
|
}
|
|
39716
39865
|
retainEventsWithCreateRights(events) {
|
|
39717
|
-
const userProfile =
|
|
39866
|
+
const userProfile = safeJsonParse(this.sessionStorageService.getItem(USER_DETAILS), null);
|
|
39718
39867
|
return events.filter(event => userProfile && userProfile.roles &&
|
|
39719
39868
|
!!userProfile.roles.find(role => this.hasCreateAccess(event, role)));
|
|
39720
39869
|
}
|
|
@@ -39852,7 +40001,7 @@ class CreateCaseFiltersComponent {
|
|
|
39852
40001
|
}], selectionChanged: [{
|
|
39853
40002
|
type: Output
|
|
39854
40003
|
}] }); })();
|
|
39855
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CreateCaseFiltersComponent, { className: "CreateCaseFiltersComponent", filePath: "lib/shared/components/create-case-filters/create-case-filters.component.ts", lineNumber:
|
|
40004
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CreateCaseFiltersComponent, { className: "CreateCaseFiltersComponent", filePath: "lib/shared/components/create-case-filters/create-case-filters.component.ts", lineNumber: 20 }); })();
|
|
39856
40005
|
|
|
39857
40006
|
class CreateCaseFiltersModule {
|
|
39858
40007
|
static ɵfac = function CreateCaseFiltersModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CreateCaseFiltersModule)(); };
|
|
@@ -41473,5 +41622,5 @@ class TestRouteSnapshotBuilder {
|
|
|
41473
41622
|
* Generated bundle index. Do not edit.
|
|
41474
41623
|
*/
|
|
41475
41624
|
|
|
41476
|
-
export { AbstractAppConfig, AbstractFieldReadComponent, AbstractFieldWriteComponent, AbstractFieldWriteJourneyComponent, AbstractJourneyComponent, Activity, ActivityBannerComponent, ActivityComponent, ActivityIconComponent, ActivityInfo, ActivityModule, ActivityPollingService, ActivityService, AddCommentsComponent, AddCommentsErrorMessage, AddCommentsStep, AddressModel, AddressOption, AddressesService, Alert, AlertComponent, AlertIconClassPipe, AlertMessageType, AlertModule, AlertService, AuthService, Banner, BannersService, BeforeYouStartComponent, BodyComponent, BrowserService, CCDCaseLinkType, COMPONENT_PORTAL_INJECTION_TOKEN, CallbackErrorsComponent, CallbackErrorsContext, CaseAccessUtils, CaseBasicAccessViewComponent, CaseChallengedAccessRequestComponent, CaseChallengedAccessSuccessComponent, CaseCreateComponent, CaseDetails, CaseEditComponent, CaseEditConfirmComponent, CaseEditDataModule, CaseEditDataService, CaseEditFormComponent, CaseEditPageComponent, CaseEditSubmitComponent, CaseEditWizardGuard, CaseEditorConfig, CaseEditorModule, CaseEvent, CaseEventCompletionComponent, CaseEventCompletionTaskCancelledComponent, CaseEventCompletionTaskReassignedComponent, CaseEventData, CaseEventTrigger, CaseEventTriggerComponent, CaseField, CaseFieldService, CaseFileViewFieldComponent, CaseFileViewFolderComponent, CaseFileViewFolderDocumentActionsComponent, CaseFileViewFolderSelectorComponent, CaseFileViewFolderSortComponent, CaseFileViewFolderToggleComponent, CaseFileViewOverlayMenuComponent, CaseFileViewService, CaseFlagCheckYourAnswersPageStep, CaseFlagDisplayContextParameter, CaseFlagErrorMessage, CaseFlagFieldState, CaseFlagFormFields, CaseFlagRefdataService, CaseFlagStatus, CaseFlagSummaryListComponent, CaseFlagSummaryListDisplayMode, CaseFlagTableComponent, CaseFlagWizardStepTitle, CaseFullAccessViewComponent, CaseHeaderComponent, CaseHeaderModule, CaseHistoryViewerFieldComponent, CaseLink, CaseLinkResponse, CaseListComponent, CaseListFiltersComponent, CaseListFiltersModule, CaseListModule, CaseNotifier, CasePaymentHistoryViewerFieldComponent, CasePrintDocument, CasePrinterComponent, CaseProgressComponent, CaseReferencePipe, CaseResolver, CaseSpecificAccessRequestComponent, CaseSpecificAccessSuccessComponent, CaseState, CaseTab, CaseTimelineComponent, CaseTimelineDisplayMode, CaseTimelineModule, CaseType, CaseTypeLite, CaseView, CaseViewComponent, CaseViewEvent, CaseViewTrigger, CaseViewerComponent, CaseViewerModule, CasesService, CaseworkerService, CcdCYAPageLabelFilterPipe, CcdCaseTitlePipe, CcdCollectionTableCaseFieldsFilterPipe, CcdPageFieldsPipe, CcdTabFieldsPipe, CheckYourAnswersComponent, CloseQueryComponent, ConditionalShowFormDirective, ConditionalShowModule, ConditionalShowRegistrarService, ConfirmFlagStatusComponent, ConfirmStatusErrorMessage, ConfirmStatusStep, Confirmation, ConvertHrefToRouterService, CreateCaseFiltersComponent, CreateCaseFiltersModule, CreateCaseFiltersSelection, DRAFT_PREFIX, DRAFT_QUERY_PARAM, DashPipe, DateInputComponent, DatePipe, DateTimeFormatUtils, DatetimePickerComponent, DefinitionsModule, DefinitionsService, DeleteOrCancelDialogComponent, DialogsModule, DisplayMode, Document, DocumentData, DocumentDialogComponent, DocumentLinks, DocumentManagementService, DocumentUrlPipe, Draft, DraftService, DynamicListPipe, DynamicRadioListPipe, ESQueryType, Embedded, EnumDisplayDescriptionPipe, ErrorMessageComponent, ErrorNotifierService, EventCaseField, EventCompletionReturnStates, EventCompletionStateMachineService, EventCompletionStates, EventLogComponent, EventLogDetailsComponent, EventLogTableComponent, EventMessageModule, EventStartComponent, EventStartModule, EventStartStateMachineService, EventStatusService, EventTriggerResolver, EventTriggerService, Fee, FeeValue, Field, FieldLabelPipe, FieldReadComponent, FieldReadLabelComponent, FieldType, FieldTypeSanitiser, FieldWriteComponent, FieldsFilterPipe, FieldsPurger, FieldsUtils, FirstErrorPipe, FixedListItem, FixedListPipe, FixedRadioListPipe, FlagFieldDisplayPipe, FocusElementDirective, FocusElementModule, FooterComponent, FormDocument, FormErrorService, FormValidatorsService, FormValueService, FormatTranslatorService, GreyBarService, HRef, HeaderBarComponent, HeadersModule, HttpError, HttpErrorService, HttpService, IsCompoundPipe, IsMandatoryPipe, IsReadOnlyAndNotCollectionPipe, IsReadOnlyPipe, JudicialworkerService, Jurisdiction, JurisdictionService, LabelFieldComponent, LabelSubstitutorDirective, LabelSubstitutorModule, LanguageInterpreterDisplayPipe, LinkCaseReason, LinkCasesComponent, LinkCasesFromReasonValuePipe, LinkCasesReasonValuePipe, LinkDetails, LinkFromReason, LinkReason, LinkedCasesErrorMessages, LinkedCasesEventTriggers, LinkedCasesFromTableComponent, LinkedCasesPages, LinkedCasesResponse, LinkedCasesToTableComponent, LoadingModule, LoadingService, LoadingSpinnerComponent, LoadingSpinnerModule, MEDIA_VIEWER_LOCALSTORAGE_KEY, MULTIPLE_TASKS_FOUND, ManageCaseFlagsComponent, ManageCaseFlagsLabelDisplayPipe, MarkdownComponent, MarkdownComponentModule, MoneyGbpInputComponent, MultipageComponentStateService, MultipleTasksExistComponent, NavigationComponent, NavigationItemComponent, NavigationNotifierService, NavigationOrigin, NoLinkedCasesComponent, NoTasksAvailableComponent, NotificationBannerComponent, NotificationBannerHeaderClass, NotificationBannerType, OrderService, OrderSummary, OrganisationConverter, OrganisationService, PageValidationService, PaginationComponent, PaginationMetadata, PaginationModule, PaletteContext, PaletteModule, PaletteService, PaletteUtilsModule, Patterns, PaymentField, PhaseComponent, PipesModule, PlaceholderService, PrintUrlPipe, Profile, ProfileNotifier, ProfileService, QualifyingQuestionDetailComponent, QualifyingQuestionOptionsComponent, QualifyingQuestionService, QualifyingQuestionsErrorMessage, QueryAttachmentsReadComponent, QueryCaseDetailsHeaderComponent, QueryCheckYourAnswersComponent, QueryConfirmationComponent, QueryCreateContext, QueryDetailsComponent, QueryEventCompletionComponent, QueryItemResponseStatus, QueryListComponent, QueryListData, QueryListItem, QueryManagementService, QueryWriteAddDocumentsComponent, QueryWriteDateInputComponent, QueryWriteRaiseQueryComponent, QueryWriteRespondToQueryComponent, RaiseQueryErrorMessage, ReadCaseFlagFieldComponent, ReadCaseLinkFieldComponent, ReadCollectionFieldComponent, ReadComplexFieldCollectionTableComponent, ReadComplexFieldComponent, ReadComplexFieldRawComponent, ReadComplexFieldTableComponent, ReadCookieService, ReadDateFieldComponent, ReadDocumentFieldComponent, ReadDynamicListFieldComponent, ReadDynamicMultiSelectListFieldComponent, ReadDynamicRadioListFieldComponent, ReadEmailFieldComponent, ReadFieldsFilterPipe, ReadFixedListFieldComponent, ReadFixedRadioListFieldComponent, ReadJudicialUserFieldComponent, ReadLinkedCasesFieldComponent, ReadMoneyGbpFieldComponent, ReadMultiSelectListFieldComponent, ReadNumberFieldComponent, ReadOrderSummaryFieldComponent, ReadOrderSummaryRowComponent, ReadOrganisationFieldComponent, ReadOrganisationFieldRawComponent, ReadOrganisationFieldTableComponent, ReadPhoneUKFieldComponent, ReadQueryManagementFieldComponent, ReadTextAreaFieldComponent, ReadTextFieldComponent, ReadYesNoFieldComponent, RefdataCaseFlagType, RemoveDialogComponent, RequestOptionsBuilder, RespondToQueryErrorMessages, RetryUtil, RouterHelperService, RouterLinkComponent, SaveOrDiscardDialogComponent, SearchFiltersComponent, SearchFiltersModule, SearchFiltersWrapperComponent, SearchInput, SearchLanguageInterpreterComponent, SearchLanguageInterpreterErrorMessage, SearchLanguageInterpreterStep, SearchResultComponent, SearchResultModule, SearchResultView, SearchResultViewColumn, SearchResultViewItem, SearchResultViewItemComparatorFactory, SearchService, SelectFlagErrorMessage, SelectFlagLocationComponent, SelectFlagLocationErrorMessage, SelectFlagTypeComponent, SelectFlagTypeErrorMessage, SessionStorageService, ShowCondition, SortOrder$1 as SortOrder, SortParameters, SortSearchResultPipe, TabComponent, TableColumnConfig, TableConfig, TabsComponent, TabsModule, TaskAssignedComponent, TaskCancelledComponent, TaskConflictComponent, TaskUnassignedComponent, Terms, TestRouteSnapshotBuilder, TranslatedMarkdownDirective, TranslatedMarkdownModule, UnLinkCasesComponent, UnsupportedFieldComponent, UpdateFlagAddTranslationErrorMessage, UpdateFlagAddTranslationFormComponent, UpdateFlagAddTranslationStep, UpdateFlagComponent, UpdateFlagErrorMessage, UpdateFlagStep, UpdateFlagTitleDisplayPipe, WaysToPayFieldComponent, WindowService, Wizard, WizardFactoryService, WizardPage, WizardPageField, WorkAllocationService, WorkbasketFiltersComponent, WorkbasketFiltersModule, WorkbasketInput, WorkbasketInputFilterService, WorkbasketInputModel, WriteAddressFieldComponent, WriteCaseFlagFieldComponent, WriteCaseLinkFieldComponent, WriteCollectionFieldComponent, WriteComplexFieldComponent, WriteDateContainerFieldComponent, WriteDateFieldComponent, WriteDocumentFieldComponent, WriteDynamicListFieldComponent, WriteDynamicMultiSelectListFieldComponent, WriteDynamicRadioListFieldComponent, WriteEmailFieldComponent, WriteFixedListFieldComponent, WriteFixedRadioListFieldComponent, WriteJudicialUserFieldComponent, WriteLinkedCasesFieldComponent, WriteMoneyGbpFieldComponent, WriteMultiSelectListFieldComponent, WriteNumberFieldComponent, WriteOrderSummaryFieldComponent, WriteOrganisationComplexFieldComponent, WriteOrganisationFieldComponent, WritePhoneUKFieldComponent, WriteTextAreaFieldComponent, WriteTextFieldComponent, WriteYesNoFieldComponent, YesNoService, aCaseField, caseMessagesMockData, createACL, createCaseEventTrigger, createCaseField, createComplexFieldOverride, createFieldType, createFixedListFieldType, createHiddenComplexFieldOverride, createMultiSelectListFieldType, createWizardPage, createWizardPageField, editorRouting, initDialog, newCaseField, textFieldType, viewerRouting };
|
|
41625
|
+
export { AbstractAppConfig, AbstractFieldReadComponent, AbstractFieldWriteComponent, AbstractFieldWriteJourneyComponent, AbstractJourneyComponent, Activity, ActivityBannerComponent, ActivityComponent, ActivityIconComponent, ActivityInfo, ActivityModule, ActivityPollingService, ActivityService, AddCommentsComponent, AddCommentsErrorMessage, AddCommentsStep, AddressModel, AddressOption, AddressesService, Alert, AlertComponent, AlertIconClassPipe, AlertMessageType, AlertModule, AlertService, AuthService, Banner, BannersService, BeforeYouStartComponent, BodyComponent, BrowserService, CCDCaseLinkType, COMPONENT_PORTAL_INJECTION_TOKEN, CallbackErrorsComponent, CallbackErrorsContext, CaseAccessUtils, CaseBasicAccessViewComponent, CaseChallengedAccessRequestComponent, CaseChallengedAccessSuccessComponent, CaseCreateComponent, CaseDetails, CaseEditComponent, CaseEditConfirmComponent, CaseEditDataModule, CaseEditDataService, CaseEditFormComponent, CaseEditPageComponent, CaseEditSubmitComponent, CaseEditWizardGuard, CaseEditorConfig, CaseEditorModule, CaseEvent, CaseEventCompletionComponent, CaseEventCompletionTaskCancelledComponent, CaseEventCompletionTaskReassignedComponent, CaseEventData, CaseEventTrigger, CaseEventTriggerComponent, CaseField, CaseFieldService, CaseFileViewFieldComponent, CaseFileViewFolderComponent, CaseFileViewFolderDocumentActionsComponent, CaseFileViewFolderSelectorComponent, CaseFileViewFolderSortComponent, CaseFileViewFolderToggleComponent, CaseFileViewOverlayMenuComponent, CaseFileViewService, CaseFlagCheckYourAnswersPageStep, CaseFlagDisplayContextParameter, CaseFlagErrorMessage, CaseFlagFieldState, CaseFlagFormFields, CaseFlagRefdataService, CaseFlagStatus, CaseFlagSummaryListComponent, CaseFlagSummaryListDisplayMode, CaseFlagTableComponent, CaseFlagWizardStepTitle, CaseFullAccessViewComponent, CaseHeaderComponent, CaseHeaderModule, CaseHistoryViewerFieldComponent, CaseLink, CaseLinkResponse, CaseListComponent, CaseListFiltersComponent, CaseListFiltersModule, CaseListModule, CaseNotifier, CasePaymentHistoryViewerFieldComponent, CasePrintDocument, CasePrinterComponent, CaseProgressComponent, CaseReferencePipe, CaseResolver, CaseSpecificAccessRequestComponent, CaseSpecificAccessSuccessComponent, CaseState, CaseTab, CaseTimelineComponent, CaseTimelineDisplayMode, CaseTimelineModule, CaseType, CaseTypeLite, CaseView, CaseViewComponent, CaseViewEvent, CaseViewTrigger, CaseViewerComponent, CaseViewerModule, CasesService, CaseworkerService, CcdCYAPageLabelFilterPipe, CcdCaseTitlePipe, CcdCollectionTableCaseFieldsFilterPipe, CcdPageFieldsPipe, CcdTabFieldsPipe, CheckYourAnswersComponent, CloseQueryComponent, ConditionalShowFormDirective, ConditionalShowModule, ConditionalShowRegistrarService, ConfirmFlagStatusComponent, ConfirmStatusErrorMessage, ConfirmStatusStep, Confirmation, ConvertHrefToRouterService, CreateCaseFiltersComponent, CreateCaseFiltersModule, CreateCaseFiltersSelection, DRAFT_PREFIX, DRAFT_QUERY_PARAM, DashPipe, DateInputComponent, DatePipe, DateTimeFormatUtils, DatetimePickerComponent, DefinitionsModule, DefinitionsService, DeleteOrCancelDialogComponent, DialogsModule, DisplayMode, Document, DocumentData, DocumentDialogComponent, DocumentLinks, DocumentManagementService, DocumentUrlPipe, Draft, DraftService, DynamicListPipe, DynamicRadioListPipe, ESQueryType, Embedded, EnumDisplayDescriptionPipe, ErrorMessageComponent, ErrorNotifierService, EventCaseField, EventCompletionReturnStates, EventCompletionStateMachineService, EventCompletionStates, EventLogComponent, EventLogDetailsComponent, EventLogTableComponent, EventMessageModule, EventStartComponent, EventStartModule, EventStartStateMachineService, EventStatusService, EventTriggerResolver, EventTriggerService, Fee, FeeValue, Field, FieldLabelPipe, FieldReadComponent, FieldReadLabelComponent, FieldType, FieldTypeSanitiser, FieldWriteComponent, FieldsFilterPipe, FieldsPurger, FieldsUtils, FirstErrorPipe, FixedListItem, FixedListPipe, FixedRadioListPipe, FlagFieldDisplayPipe, FocusElementDirective, FocusElementModule, FooterComponent, FormDocument, FormErrorService, FormValidatorsService, FormValueService, FormatTranslatorService, GreyBarService, HRef, HeaderBarComponent, HeadersModule, HttpError, HttpErrorService, HttpService, IsCompoundPipe, IsMandatoryPipe, IsReadOnlyAndNotCollectionPipe, IsReadOnlyPipe, JudicialworkerService, Jurisdiction, JurisdictionService, LabelFieldComponent, LabelSubstitutorDirective, LabelSubstitutorModule, LanguageInterpreterDisplayPipe, LinkCaseReason, LinkCasesComponent, LinkCasesFromReasonValuePipe, LinkCasesReasonValuePipe, LinkDetails, LinkFromReason, LinkReason, LinkedCasesErrorMessages, LinkedCasesEventTriggers, LinkedCasesFromTableComponent, LinkedCasesPages, LinkedCasesResponse, LinkedCasesToTableComponent, LoadingModule, LoadingService, LoadingSpinnerComponent, LoadingSpinnerModule, MEDIA_VIEWER_LOCALSTORAGE_KEY, MULTIPLE_TASKS_FOUND, ManageCaseFlagsComponent, ManageCaseFlagsLabelDisplayPipe, MarkdownComponent, MarkdownComponentModule, MoneyGbpInputComponent, MultipageComponentStateService, MultipleTasksExistComponent, NavigationComponent, NavigationItemComponent, NavigationNotifierService, NavigationOrigin, NoLinkedCasesComponent, NoTasksAvailableComponent, NotificationBannerComponent, NotificationBannerHeaderClass, NotificationBannerType, OrderService, OrderSummary, OrganisationConverter, OrganisationService, PageValidationService, PaginationComponent, PaginationMetadata, PaginationModule, PaletteContext, PaletteModule, PaletteService, PaletteUtilsModule, Patterns, PaymentField, PhaseComponent, PipesModule, PlaceholderService, PrintUrlPipe, Profile, ProfileNotifier, ProfileService, QualifyingQuestionDetailComponent, QualifyingQuestionOptionsComponent, QualifyingQuestionService, QualifyingQuestionsErrorMessage, QueryAttachmentsReadComponent, QueryCaseDetailsHeaderComponent, QueryCheckYourAnswersComponent, QueryConfirmationComponent, QueryCreateContext, QueryDetailsComponent, QueryEventCompletionComponent, QueryItemResponseStatus, QueryListComponent, QueryListData, QueryListItem, QueryManagementService, QueryWriteAddDocumentsComponent, QueryWriteDateInputComponent, QueryWriteRaiseQueryComponent, QueryWriteRespondToQueryComponent, RaiseQueryErrorMessage, ReadCaseFlagFieldComponent, ReadCaseLinkFieldComponent, ReadCollectionFieldComponent, ReadComplexFieldCollectionTableComponent, ReadComplexFieldComponent, ReadComplexFieldRawComponent, ReadComplexFieldTableComponent, ReadCookieService, ReadDateFieldComponent, ReadDocumentFieldComponent, ReadDynamicListFieldComponent, ReadDynamicMultiSelectListFieldComponent, ReadDynamicRadioListFieldComponent, ReadEmailFieldComponent, ReadFieldsFilterPipe, ReadFixedListFieldComponent, ReadFixedRadioListFieldComponent, ReadJudicialUserFieldComponent, ReadLinkedCasesFieldComponent, ReadMoneyGbpFieldComponent, ReadMultiSelectListFieldComponent, ReadNumberFieldComponent, ReadOrderSummaryFieldComponent, ReadOrderSummaryRowComponent, ReadOrganisationFieldComponent, ReadOrganisationFieldRawComponent, ReadOrganisationFieldTableComponent, ReadPhoneUKFieldComponent, ReadQueryManagementFieldComponent, ReadTextAreaFieldComponent, ReadTextFieldComponent, ReadYesNoFieldComponent, RefdataCaseFlagType, RemoveDialogComponent, RequestOptionsBuilder, RespondToQueryErrorMessages, RetryUtil, RouterHelperService, RouterLinkComponent, SaveOrDiscardDialogComponent, SearchFiltersComponent, SearchFiltersModule, SearchFiltersWrapperComponent, SearchInput, SearchLanguageInterpreterComponent, SearchLanguageInterpreterErrorMessage, SearchLanguageInterpreterStep, SearchResultComponent, SearchResultModule, SearchResultView, SearchResultViewColumn, SearchResultViewItem, SearchResultViewItemComparatorFactory, SearchService, SelectFlagErrorMessage, SelectFlagLocationComponent, SelectFlagLocationErrorMessage, SelectFlagTypeComponent, SelectFlagTypeErrorMessage, SessionErrorPageComponent, SessionErrorRoute, SessionJsonErrorLogger, SessionStorageGuard, SessionStorageService, ShowCondition, SortOrder$1 as SortOrder, SortParameters, SortSearchResultPipe, TabComponent, TableColumnConfig, TableConfig, TabsComponent, TabsModule, TaskAssignedComponent, TaskCancelledComponent, TaskConflictComponent, TaskUnassignedComponent, Terms, TestRouteSnapshotBuilder, TranslatedMarkdownDirective, TranslatedMarkdownModule, UnLinkCasesComponent, UnsupportedFieldComponent, UpdateFlagAddTranslationErrorMessage, UpdateFlagAddTranslationFormComponent, UpdateFlagAddTranslationStep, UpdateFlagComponent, UpdateFlagErrorMessage, UpdateFlagStep, UpdateFlagTitleDisplayPipe, WaysToPayFieldComponent, WindowService, Wizard, WizardFactoryService, WizardPage, WizardPageField, WorkAllocationService, WorkbasketFiltersComponent, WorkbasketFiltersModule, WorkbasketInput, WorkbasketInputFilterService, WorkbasketInputModel, WriteAddressFieldComponent, WriteCaseFlagFieldComponent, WriteCaseLinkFieldComponent, WriteCollectionFieldComponent, WriteComplexFieldComponent, WriteDateContainerFieldComponent, WriteDateFieldComponent, WriteDocumentFieldComponent, WriteDynamicListFieldComponent, WriteDynamicMultiSelectListFieldComponent, WriteDynamicRadioListFieldComponent, WriteEmailFieldComponent, WriteFixedListFieldComponent, WriteFixedRadioListFieldComponent, WriteJudicialUserFieldComponent, WriteLinkedCasesFieldComponent, WriteMoneyGbpFieldComponent, WriteMultiSelectListFieldComponent, WriteNumberFieldComponent, WriteOrderSummaryFieldComponent, WriteOrganisationComplexFieldComponent, WriteOrganisationFieldComponent, WritePhoneUKFieldComponent, WriteTextAreaFieldComponent, WriteTextFieldComponent, WriteYesNoFieldComponent, YesNoService, aCaseField, caseMessagesMockData, createACL, createCaseEventTrigger, createCaseField, createComplexFieldOverride, createFieldType, createFixedListFieldType, createHiddenComplexFieldOverride, createMultiSelectListFieldType, createWizardPage, createWizardPageField, editorRouting, initDialog, newCaseField, safeJsonParse, textFieldType, viewerRouting };
|
|
41477
41626
|
//# sourceMappingURL=hmcts-ccd-case-ui-toolkit.mjs.map
|