@hmcts/ccd-case-ui-toolkit 7.3.64 → 7.3.65-exui-3740
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/fesm2022/hmcts-ccd-case-ui-toolkit.mjs +281 -93
- package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
- package/index.d.ts +58 -2
- package/index.d.ts.map +1 -1
- package/package.json +43 -3
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component, Input, EventEmitter, Output, NgModule, ViewEncapsulation, forwardRef, Pipe, ContentChildren, ViewChildren,
|
|
2
|
+
import { Component, Input, EventEmitter, Output, NgModule, ViewEncapsulation, forwardRef, Pipe, ContentChildren, ViewChildren, Injectable, DOCUMENT, 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';
|
|
@@ -1321,6 +1321,140 @@ class CaseEditorConfig {
|
|
|
1321
1321
|
enable_service_specific_multi_followups;
|
|
1322
1322
|
}
|
|
1323
1323
|
|
|
1324
|
+
class StructuredLoggerService {
|
|
1325
|
+
static CIRCULAR_VALUE = '[Circular]';
|
|
1326
|
+
static MAX_DEPTH_VALUE = '[MaxDepth]';
|
|
1327
|
+
static MAX_REDACTION_DEPTH = 10;
|
|
1328
|
+
static REDACTED_VALUE = '[REDACTED]';
|
|
1329
|
+
static KEY_VALUE_PATTERN = /\b([a-z][\w-]*(?:[ _-][a-z][\w-]*)?)([ \t]*[:=][ \t]*)((?:Bearer[ \t]+)?)([^,;&\s]+)/gi;
|
|
1330
|
+
static SENSITIVE_KEY_PATTERN = /(password|passcode|pwd|secret|token|authori[sz]ation|authentication|auth[-_ ]?context|^auth$|api[-_ ]?key|cookie|session|credential)/i;
|
|
1331
|
+
static BEARER_TOKEN_PATTERN = /\bBearer\s+([\w.~+/-]+=*)/gi;
|
|
1332
|
+
debug(message, context) {
|
|
1333
|
+
this.write('debug', message, context);
|
|
1334
|
+
}
|
|
1335
|
+
error(message, context) {
|
|
1336
|
+
this.write('error', message, context);
|
|
1337
|
+
}
|
|
1338
|
+
info(message, context) {
|
|
1339
|
+
this.write('info', message, context);
|
|
1340
|
+
}
|
|
1341
|
+
warn(message, context) {
|
|
1342
|
+
this.write('warn', message, context);
|
|
1343
|
+
}
|
|
1344
|
+
redact(value) {
|
|
1345
|
+
return this.redactValue(value, new WeakSet(), false, 0);
|
|
1346
|
+
}
|
|
1347
|
+
write(level, message, context) {
|
|
1348
|
+
const entry = {
|
|
1349
|
+
level,
|
|
1350
|
+
message,
|
|
1351
|
+
timestamp: new Date().toISOString()
|
|
1352
|
+
};
|
|
1353
|
+
if (context !== undefined) {
|
|
1354
|
+
entry.context = this.redact(context);
|
|
1355
|
+
}
|
|
1356
|
+
switch (level) {
|
|
1357
|
+
case 'error':
|
|
1358
|
+
console.error(entry);
|
|
1359
|
+
break;
|
|
1360
|
+
case 'warn':
|
|
1361
|
+
console.warn(entry);
|
|
1362
|
+
break;
|
|
1363
|
+
default:
|
|
1364
|
+
console.log(entry);
|
|
1365
|
+
}
|
|
1366
|
+
}
|
|
1367
|
+
redactValue(value, seen, redactCurrentValue, depth) {
|
|
1368
|
+
if (redactCurrentValue) {
|
|
1369
|
+
return StructuredLoggerService.REDACTED_VALUE;
|
|
1370
|
+
}
|
|
1371
|
+
if (value === null || value === undefined) {
|
|
1372
|
+
return value;
|
|
1373
|
+
}
|
|
1374
|
+
if (typeof value === 'string') {
|
|
1375
|
+
return this.redactSensitiveString(value);
|
|
1376
|
+
}
|
|
1377
|
+
if (typeof value !== 'object') {
|
|
1378
|
+
return value;
|
|
1379
|
+
}
|
|
1380
|
+
if (seen.has(value)) {
|
|
1381
|
+
return StructuredLoggerService.CIRCULAR_VALUE;
|
|
1382
|
+
}
|
|
1383
|
+
if (depth >= StructuredLoggerService.MAX_REDACTION_DEPTH) {
|
|
1384
|
+
return StructuredLoggerService.MAX_DEPTH_VALUE;
|
|
1385
|
+
}
|
|
1386
|
+
seen.add(value);
|
|
1387
|
+
let redactedValue;
|
|
1388
|
+
if (value instanceof Date) {
|
|
1389
|
+
redactedValue = value.toISOString();
|
|
1390
|
+
}
|
|
1391
|
+
else if (value instanceof Error) {
|
|
1392
|
+
redactedValue = this.redactError(value, seen, depth);
|
|
1393
|
+
}
|
|
1394
|
+
else if (Array.isArray(value)) {
|
|
1395
|
+
redactedValue = value.map(item => this.redactValue(item, seen, false, depth + 1));
|
|
1396
|
+
}
|
|
1397
|
+
else {
|
|
1398
|
+
redactedValue = this.redactObject(value, seen, depth);
|
|
1399
|
+
}
|
|
1400
|
+
seen.delete(value);
|
|
1401
|
+
return redactedValue;
|
|
1402
|
+
}
|
|
1403
|
+
redactError(error, seen, depth) {
|
|
1404
|
+
const redactedError = {
|
|
1405
|
+
name: this.redactValue(error.name, seen, false, depth + 1),
|
|
1406
|
+
message: this.redactValue(error.message, seen, false, depth + 1)
|
|
1407
|
+
};
|
|
1408
|
+
if (error.stack) {
|
|
1409
|
+
redactedError.stack = this.redactValue(error.stack, seen, false, depth + 1);
|
|
1410
|
+
}
|
|
1411
|
+
const errorContext = error;
|
|
1412
|
+
Object.keys(errorContext).forEach(key => {
|
|
1413
|
+
redactedError[key] = this.redactValue(errorContext[key], seen, this.isSensitiveKey(key), depth + 1);
|
|
1414
|
+
});
|
|
1415
|
+
return redactedError;
|
|
1416
|
+
}
|
|
1417
|
+
redactObject(value, seen, depth) {
|
|
1418
|
+
const redactedValue = {};
|
|
1419
|
+
const hasSensitiveNamedValue = this.hasSensitiveNamedValue(value);
|
|
1420
|
+
Object.keys(value).forEach(key => {
|
|
1421
|
+
redactedValue[key] = this.redactValue(value[key], seen, this.isSensitiveKey(key) || (hasSensitiveNamedValue && this.isValueKey(key)), depth + 1);
|
|
1422
|
+
});
|
|
1423
|
+
return redactedValue;
|
|
1424
|
+
}
|
|
1425
|
+
redactSensitiveString(value) {
|
|
1426
|
+
return value
|
|
1427
|
+
.replace(StructuredLoggerService.KEY_VALUE_PATTERN, (match, key, separator, bearerPrefix) => {
|
|
1428
|
+
return this.isSensitiveKey(key) ? `${key}${separator}${bearerPrefix}${StructuredLoggerService.REDACTED_VALUE}` : match;
|
|
1429
|
+
})
|
|
1430
|
+
.replace(StructuredLoggerService.BEARER_TOKEN_PATTERN, 'Bearer [REDACTED]');
|
|
1431
|
+
}
|
|
1432
|
+
hasSensitiveNamedValue(value) {
|
|
1433
|
+
return Object.keys(value)
|
|
1434
|
+
.some(key => {
|
|
1435
|
+
const namedValue = value[key];
|
|
1436
|
+
return this.isNameKey(key) && typeof namedValue === 'string' && this.isSensitiveKey(namedValue);
|
|
1437
|
+
});
|
|
1438
|
+
}
|
|
1439
|
+
isNameKey(key) {
|
|
1440
|
+
return ['key', 'name'].includes(key.toLowerCase());
|
|
1441
|
+
}
|
|
1442
|
+
isSensitiveKey(key) {
|
|
1443
|
+
return StructuredLoggerService.SENSITIVE_KEY_PATTERN.test(key);
|
|
1444
|
+
}
|
|
1445
|
+
isValueKey(key) {
|
|
1446
|
+
return ['value', 'values'].includes(key.toLowerCase());
|
|
1447
|
+
}
|
|
1448
|
+
static ɵfac = function StructuredLoggerService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || StructuredLoggerService)(); };
|
|
1449
|
+
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: StructuredLoggerService, factory: StructuredLoggerService.ɵfac, providedIn: 'root' });
|
|
1450
|
+
}
|
|
1451
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(StructuredLoggerService, [{
|
|
1452
|
+
type: Injectable,
|
|
1453
|
+
args: [{
|
|
1454
|
+
providedIn: 'root'
|
|
1455
|
+
}]
|
|
1456
|
+
}], null, null); })();
|
|
1457
|
+
|
|
1324
1458
|
class HttpError {
|
|
1325
1459
|
constructor() {
|
|
1326
1460
|
this.timestamp = new Date().toISOString();
|
|
@@ -1461,6 +1595,7 @@ class LoadingModule {
|
|
|
1461
1595
|
class HttpErrorService {
|
|
1462
1596
|
authService;
|
|
1463
1597
|
loadingService;
|
|
1598
|
+
static logger = new StructuredLoggerService();
|
|
1464
1599
|
constructor(authService, loadingService) {
|
|
1465
1600
|
this.authService = authService;
|
|
1466
1601
|
this.loadingService = loadingService;
|
|
@@ -1479,7 +1614,7 @@ class HttpErrorService {
|
|
|
1479
1614
|
httpError = HttpError.from(error);
|
|
1480
1615
|
}
|
|
1481
1616
|
catch (e) {
|
|
1482
|
-
|
|
1617
|
+
HttpErrorService.logger.error('Unable to convert HTTP error response.', { error: e });
|
|
1483
1618
|
}
|
|
1484
1619
|
}
|
|
1485
1620
|
if (!httpError.status) {
|
|
@@ -1505,8 +1640,6 @@ class HttpErrorService {
|
|
|
1505
1640
|
return error;
|
|
1506
1641
|
}
|
|
1507
1642
|
handle(error, redirectIfNotAuthorised = true) {
|
|
1508
|
-
console.error('Handling error in http error service.');
|
|
1509
|
-
console.error(error);
|
|
1510
1643
|
if (this.loadingService.hasSharedSpinner()) {
|
|
1511
1644
|
this.loadingService.unregisterSharedSpinner();
|
|
1512
1645
|
}
|
|
@@ -1646,6 +1779,7 @@ class SessionStorageService {
|
|
|
1646
1779
|
}]
|
|
1647
1780
|
}], null, null); })();
|
|
1648
1781
|
|
|
1782
|
+
const logger = new StructuredLoggerService();
|
|
1649
1783
|
function safeJsonParse(value, fallback = null) {
|
|
1650
1784
|
if (!value) {
|
|
1651
1785
|
return fallback;
|
|
@@ -1655,8 +1789,7 @@ function safeJsonParse(value, fallback = null) {
|
|
|
1655
1789
|
}
|
|
1656
1790
|
catch (error) {
|
|
1657
1791
|
// Log for diagnostics, then return fallback to avoid UI crashes.
|
|
1658
|
-
|
|
1659
|
-
console.error('safeJsonParse failed to parse JSON', error);
|
|
1792
|
+
logger.error('safeJsonParse failed to parse JSON.', { error });
|
|
1660
1793
|
return fallback;
|
|
1661
1794
|
}
|
|
1662
1795
|
}
|
|
@@ -1668,6 +1801,7 @@ class SessionStorageGuard {
|
|
|
1668
1801
|
router;
|
|
1669
1802
|
errorRoute;
|
|
1670
1803
|
errorLogger;
|
|
1804
|
+
logger = new StructuredLoggerService();
|
|
1671
1805
|
constructor(sessionStorageService, router, errorRoute, errorLogger) {
|
|
1672
1806
|
this.sessionStorageService = sessionStorageService;
|
|
1673
1807
|
this.router = router;
|
|
@@ -1688,8 +1822,7 @@ class SessionStorageGuard {
|
|
|
1688
1822
|
this.errorLogger(error);
|
|
1689
1823
|
}
|
|
1690
1824
|
else {
|
|
1691
|
-
|
|
1692
|
-
console.error('Invalid userDetails in session storage', error);
|
|
1825
|
+
this.logger.error('Invalid userDetails in session storage.', { error });
|
|
1693
1826
|
}
|
|
1694
1827
|
this.router.navigate([this.errorRoute || '/session-error']);
|
|
1695
1828
|
return false;
|
|
@@ -1740,6 +1873,7 @@ class ActivityService {
|
|
|
1740
1873
|
sessionStorageService;
|
|
1741
1874
|
static get ACTIVITY_VIEW() { return 'view'; }
|
|
1742
1875
|
static get ACTIVITY_EDIT() { return 'edit'; }
|
|
1876
|
+
logger = new StructuredLoggerService();
|
|
1743
1877
|
constructor(http, appConfig, sessionStorageService) {
|
|
1744
1878
|
this.http = http;
|
|
1745
1879
|
this.appConfig = appConfig;
|
|
@@ -1778,7 +1912,7 @@ class ActivityService {
|
|
|
1778
1912
|
.pipe(map(response => response));
|
|
1779
1913
|
}
|
|
1780
1914
|
catch (error) {
|
|
1781
|
-
|
|
1915
|
+
this.logUserMayNotBeAuthenticated(error);
|
|
1782
1916
|
}
|
|
1783
1917
|
}
|
|
1784
1918
|
postActivity(caseId, activity) {
|
|
@@ -1791,7 +1925,7 @@ class ActivityService {
|
|
|
1791
1925
|
.pipe(map(response => response));
|
|
1792
1926
|
}
|
|
1793
1927
|
catch (error) {
|
|
1794
|
-
|
|
1928
|
+
this.logUserMayNotBeAuthenticated(error);
|
|
1795
1929
|
}
|
|
1796
1930
|
}
|
|
1797
1931
|
verifyUserIsAuthorized() {
|
|
@@ -1804,6 +1938,9 @@ class ActivityService {
|
|
|
1804
1938
|
activityUrl() {
|
|
1805
1939
|
return this.appConfig.getActivityUrl();
|
|
1806
1940
|
}
|
|
1941
|
+
logUserMayNotBeAuthenticated(error) {
|
|
1942
|
+
this.logger.error('User may not be authenticated. Activity request was not sent.', { error });
|
|
1943
|
+
}
|
|
1807
1944
|
static ɵfac = function ActivityService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ActivityService)(i0.ɵɵinject(HttpService), i0.ɵɵinject(AbstractAppConfig), i0.ɵɵinject(SessionStorageService)); };
|
|
1808
1945
|
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ActivityService, factory: ActivityService.ɵfac });
|
|
1809
1946
|
}
|
|
@@ -1816,6 +1953,7 @@ class ActivityPollingService {
|
|
|
1816
1953
|
activityService;
|
|
1817
1954
|
ngZone;
|
|
1818
1955
|
config;
|
|
1956
|
+
logger = new StructuredLoggerService();
|
|
1819
1957
|
pendingRequests = new Map();
|
|
1820
1958
|
currentTimeoutHandle;
|
|
1821
1959
|
pollActivitiesSubscription;
|
|
@@ -1859,7 +1997,6 @@ class ActivityPollingService {
|
|
|
1859
1997
|
}
|
|
1860
1998
|
}
|
|
1861
1999
|
if (this.pendingRequests.size >= this.maxRequestsPerBatch) {
|
|
1862
|
-
// console.log('max pending hit: flushing requests');
|
|
1863
2000
|
this.flushRequests();
|
|
1864
2001
|
}
|
|
1865
2002
|
return subject;
|
|
@@ -1895,7 +2032,6 @@ class ActivityPollingService {
|
|
|
1895
2032
|
}
|
|
1896
2033
|
performBatchRequest(requests) {
|
|
1897
2034
|
const caseIds = Array.from(requests.keys()).join();
|
|
1898
|
-
// console.log('issuing batch request for cases: ' + caseIds);
|
|
1899
2035
|
this.ngZone.runOutsideAngular(() => {
|
|
1900
2036
|
// run polling outside angular zone so it does not trigger change detection
|
|
1901
2037
|
this.pollActivitiesSubscription = this.pollActivities(caseIds).subscribe({
|
|
@@ -1907,7 +2043,7 @@ class ActivityPollingService {
|
|
|
1907
2043
|
});
|
|
1908
2044
|
}),
|
|
1909
2045
|
error: (err) => this.ngZone.run(() => {
|
|
1910
|
-
|
|
2046
|
+
this.logger.error('Error while polling activities.', { error: err });
|
|
1911
2047
|
Array.from(requests.values()).forEach((subject) => subject.error(err));
|
|
1912
2048
|
})
|
|
1913
2049
|
});
|
|
@@ -3408,6 +3544,7 @@ __decorate([
|
|
|
3408
3544
|
|
|
3409
3545
|
// @dynamic
|
|
3410
3546
|
class CaseField {
|
|
3547
|
+
static logger = new StructuredLoggerService();
|
|
3411
3548
|
id;
|
|
3412
3549
|
hidden;
|
|
3413
3550
|
hiddenCannotChange;
|
|
@@ -3550,7 +3687,7 @@ class CaseField {
|
|
|
3550
3687
|
}
|
|
3551
3688
|
}
|
|
3552
3689
|
else {
|
|
3553
|
-
|
|
3690
|
+
CaseField.logger.error('Path too long, possible circular reference in case field hierarchy.');
|
|
3554
3691
|
return this.id;
|
|
3555
3692
|
}
|
|
3556
3693
|
}
|
|
@@ -4033,6 +4170,7 @@ class WorkbasketInput {
|
|
|
4033
4170
|
|
|
4034
4171
|
// @dynamic
|
|
4035
4172
|
class FieldsUtils {
|
|
4173
|
+
static logger = new StructuredLoggerService();
|
|
4036
4174
|
static caseLevelCaseFlagsFieldId = 'caseFlags';
|
|
4037
4175
|
static currencyPipe = new CurrencyPipe('en-GB');
|
|
4038
4176
|
static datePipe = new DatePipe(new FormatTranslatorService());
|
|
@@ -4297,7 +4435,11 @@ class FieldsUtils {
|
|
|
4297
4435
|
caseFieldType.complex_fields.forEach(field => {
|
|
4298
4436
|
try {
|
|
4299
4437
|
const isDynamicField = FieldsUtils.SERVER_RESPONSE_FIELD_TYPE_DYNAMIC_LIST_TYPE.indexOf(field.field_type.type) !== -1;
|
|
4300
|
-
|
|
4438
|
+
const isDynamicMultiSelectField = field.field_type.type === 'DynamicMultiSelectList';
|
|
4439
|
+
if (isDynamicMultiSelectField) {
|
|
4440
|
+
this.setDynamicMultiSelectListDefinition(field, rootCaseField);
|
|
4441
|
+
}
|
|
4442
|
+
else if (isDynamicField) {
|
|
4301
4443
|
const dynamicListValue = this.getDynamicListValue(rootCaseField.value, field.id);
|
|
4302
4444
|
if (dynamicListValue) {
|
|
4303
4445
|
const list_items = dynamicListValue[0].list_items;
|
|
@@ -4320,7 +4462,7 @@ class FieldsUtils {
|
|
|
4320
4462
|
}
|
|
4321
4463
|
}
|
|
4322
4464
|
catch (error) {
|
|
4323
|
-
|
|
4465
|
+
FieldsUtils.logger.error('Error setting dynamic list definition.', { error });
|
|
4324
4466
|
}
|
|
4325
4467
|
});
|
|
4326
4468
|
}
|
|
@@ -4330,6 +4472,29 @@ class FieldsUtils {
|
|
|
4330
4472
|
}
|
|
4331
4473
|
}
|
|
4332
4474
|
}
|
|
4475
|
+
static setDynamicMultiSelectListDefinition(field, rootCaseField) {
|
|
4476
|
+
const dynamicListValue = this.getDynamicListValue(rootCaseField.value, field.id);
|
|
4477
|
+
if (dynamicListValue) {
|
|
4478
|
+
const list_items = dynamicListValue.find(data => data?.list_items !== undefined)?.list_items;
|
|
4479
|
+
if (list_items !== undefined) {
|
|
4480
|
+
field.list_items = list_items;
|
|
4481
|
+
field.formatted_value = {
|
|
4482
|
+
...field.formatted_value,
|
|
4483
|
+
list_items
|
|
4484
|
+
};
|
|
4485
|
+
}
|
|
4486
|
+
if (rootCaseField.field_type.type !== FieldsUtils.SERVER_RESPONSE_FIELD_TYPE_COLLECTION) {
|
|
4487
|
+
const value = dynamicListValue[0]?.value;
|
|
4488
|
+
if (value !== undefined) {
|
|
4489
|
+
field.value = value;
|
|
4490
|
+
field.formatted_value = {
|
|
4491
|
+
...field.formatted_value,
|
|
4492
|
+
value
|
|
4493
|
+
};
|
|
4494
|
+
}
|
|
4495
|
+
}
|
|
4496
|
+
}
|
|
4497
|
+
}
|
|
4333
4498
|
static getDynamicListValue(jsonBlock, key) {
|
|
4334
4499
|
const data = jsonBlock ? this.getNestedFieldValues(jsonBlock, key, []) : [];
|
|
4335
4500
|
return data.length > 0 ? data : null;
|
|
@@ -4763,6 +4928,7 @@ const conditionSource = `{
|
|
|
4763
4928
|
var peg = generate(conditionSource);
|
|
4764
4929
|
|
|
4765
4930
|
class ConditionParser {
|
|
4931
|
+
static logger = new StructuredLoggerService();
|
|
4766
4932
|
/**
|
|
4767
4933
|
* Parse the raw formula and output structured condition data
|
|
4768
4934
|
* that can be used in evaluating show/hide logic
|
|
@@ -4939,14 +5105,14 @@ class ConditionParser {
|
|
|
4939
5105
|
return (fields[head][arrayIndex] !== undefined) ? this.findValueForComplexCondition(fields[head][arrayIndex]['value'], tail[0], tail.slice(1), dropNumberPath.join('_')) : null;
|
|
4940
5106
|
}
|
|
4941
5107
|
catch (e) {
|
|
4942
|
-
|
|
5108
|
+
this.logger.error('Error while parsing form array path index.', { error: e, pathIndex: pathTail[0] });
|
|
4943
5109
|
}
|
|
4944
5110
|
}
|
|
4945
5111
|
}
|
|
4946
5112
|
else {
|
|
4947
5113
|
// EXUI-2460 - if path present then show error, otherwise log message to stop unnecessary console errors
|
|
4948
|
-
path ?
|
|
4949
|
-
|
|
5114
|
+
path ? this.logger.error('Path in formArray should start with the expected field.', { expectedHead: head, path }) :
|
|
5115
|
+
this.logger.info('Path not present in formArray.');
|
|
4950
5116
|
}
|
|
4951
5117
|
}
|
|
4952
5118
|
static removeStarChar(str) {
|
|
@@ -5980,8 +6146,12 @@ class FieldTypeSanitiser {
|
|
|
5980
6146
|
break;
|
|
5981
6147
|
case FieldTypeSanitiser.FIELD_TYPE_COLLECTION:
|
|
5982
6148
|
if (Array.isArray(data[caseField.id])) {
|
|
5983
|
-
data[caseField.id].forEach((formElement) => {
|
|
5984
|
-
|
|
6149
|
+
data[caseField.id].forEach((formElement, index) => {
|
|
6150
|
+
const matchingItem = Array.isArray(caseField.value) && formElement?.id !== undefined
|
|
6151
|
+
? caseField.value.find((item) => item?.id === formElement.id)
|
|
6152
|
+
: null;
|
|
6153
|
+
const collectionItem = matchingItem || (Array.isArray(caseField.value) ? caseField.value[index] : null);
|
|
6154
|
+
this.sanitiseLists(this.copyCaseFieldsWithCollectionData(caseField.field_type.collection_field_type.complex_fields, collectionItem?.value || collectionItem), formElement.value);
|
|
5985
6155
|
});
|
|
5986
6156
|
}
|
|
5987
6157
|
break;
|
|
@@ -6021,6 +6191,25 @@ class FieldTypeSanitiser {
|
|
|
6021
6191
|
}
|
|
6022
6192
|
});
|
|
6023
6193
|
}
|
|
6194
|
+
copyCaseFieldsWithCollectionData(caseFields, collectionItemData) {
|
|
6195
|
+
return caseFields.map((field) => {
|
|
6196
|
+
const fieldData = collectionItemData?.[field.id];
|
|
6197
|
+
if (field.field_type.type === FieldTypeSanitiser.FIELD_TYPE_COMPLEX) {
|
|
6198
|
+
return {
|
|
6199
|
+
...field,
|
|
6200
|
+
field_type: {
|
|
6201
|
+
...field.field_type,
|
|
6202
|
+
complex_fields: this.copyCaseFieldsWithCollectionData(field.field_type.complex_fields, fieldData)
|
|
6203
|
+
}
|
|
6204
|
+
};
|
|
6205
|
+
}
|
|
6206
|
+
return this.isDynamicList(field.field_type.type) &&
|
|
6207
|
+
field.display_context !== 'HIDDEN' &&
|
|
6208
|
+
fieldData?.list_items !== undefined
|
|
6209
|
+
? { ...field, list_items: fieldData.list_items }
|
|
6210
|
+
: field;
|
|
6211
|
+
});
|
|
6212
|
+
}
|
|
6024
6213
|
isDynamicList(fieldType) {
|
|
6025
6214
|
return FieldTypeSanitiser.DYNAMIC_LIST_TYPE.indexOf(fieldType) !== -1;
|
|
6026
6215
|
}
|
|
@@ -8163,13 +8352,17 @@ class ArtificialDelayContext {
|
|
|
8163
8352
|
}
|
|
8164
8353
|
}
|
|
8165
8354
|
class RetryUtil {
|
|
8355
|
+
logger = new StructuredLoggerService();
|
|
8166
8356
|
pipeTimeoutMechanismOn(in$, preferredArtificialDelay, timeoutPeriods) {
|
|
8167
8357
|
const artificialDelayContext = new ArtificialDelayContext(preferredArtificialDelay);
|
|
8168
|
-
|
|
8169
|
-
|
|
8358
|
+
this.logger.info('Piping a retry mechanism with timeouts.', { timeoutPeriods });
|
|
8359
|
+
this.logger.info('Artificial delay setting resolved.', { artificialDelayApplied: artificialDelayContext.shouldApplyArtificialDelay() });
|
|
8170
8360
|
let out$ = in$;
|
|
8171
8361
|
if (artificialDelayContext.shouldApplyArtificialDelay()) {
|
|
8172
|
-
|
|
8362
|
+
this.logger.info('Preferred artificial delay selected.', {
|
|
8363
|
+
actualDelaySeconds: artificialDelayContext.getActualDelay(),
|
|
8364
|
+
preferredDelaySeconds: preferredArtificialDelay
|
|
8365
|
+
});
|
|
8173
8366
|
out$ = this.pipeArtificialDelayOn(out$, artificialDelayContext);
|
|
8174
8367
|
}
|
|
8175
8368
|
out$ = this.pipeTimeOutControlOn(out$, timeoutPeriods);
|
|
@@ -8178,36 +8371,35 @@ class RetryUtil {
|
|
|
8178
8371
|
}
|
|
8179
8372
|
pipeTimeOutControlOn(in$, timeoutPeriods) {
|
|
8180
8373
|
const timeOutAfterSeconds = timeoutPeriods[0];
|
|
8181
|
-
|
|
8374
|
+
this.logger.info('Piping timeout control.', { timeoutSeconds: timeOutAfterSeconds });
|
|
8182
8375
|
const out$ = in$.pipe(timeout(timeOutAfterSeconds * 1000));
|
|
8183
8376
|
return out$;
|
|
8184
8377
|
}
|
|
8185
8378
|
pipeRetryMechanismOn(in$, artificialDelayContext) {
|
|
8186
8379
|
const retryStrategy = (errors) => {
|
|
8187
8380
|
return errors.pipe(mergeMap((error, i) => {
|
|
8188
|
-
|
|
8189
|
-
console.error(error);
|
|
8381
|
+
this.logger.error('Mapping retry error.', { error, errorName: error?.name, attempt: i });
|
|
8190
8382
|
if (error?.name === 'TimeoutError' && i === 0) {
|
|
8191
8383
|
artificialDelayContext.turnOffArtificialDelays();
|
|
8192
|
-
|
|
8384
|
+
this.logger.info('Will retry after a timeout error.');
|
|
8193
8385
|
}
|
|
8194
8386
|
else {
|
|
8195
|
-
|
|
8387
|
+
this.logger.error('Will not retry request after error.', { error, errorName: error?.name, attempt: i });
|
|
8196
8388
|
throw error;
|
|
8197
8389
|
}
|
|
8198
8390
|
return timer(0);
|
|
8199
|
-
}), finalize(() =>
|
|
8391
|
+
}), finalize(() => undefined));
|
|
8200
8392
|
};
|
|
8201
8393
|
const out$ = in$.pipe(retryWhen(retryStrategy));
|
|
8202
8394
|
return out$;
|
|
8203
8395
|
}
|
|
8204
8396
|
pipeArtificialDelayOn(in$, artificialDelayContext) {
|
|
8205
8397
|
let out$ = in$.pipe(tap(() => {
|
|
8206
|
-
|
|
8398
|
+
this.logger.info('Artificial delay started.', { delaySeconds: artificialDelayContext.getActualDelay() });
|
|
8207
8399
|
}));
|
|
8208
8400
|
out$ = out$.pipe(delayWhen(() => timer(artificialDelayContext.getActualDelay() * 1000)));
|
|
8209
8401
|
out$ = out$.pipe(tap(() => {
|
|
8210
|
-
|
|
8402
|
+
this.logger.info('Artificial delay completed.', { delaySeconds: artificialDelayContext.getActualDelay() });
|
|
8211
8403
|
}));
|
|
8212
8404
|
return out$;
|
|
8213
8405
|
}
|
|
@@ -8420,6 +8612,7 @@ class SearchResultViewItemComparatorFactory {
|
|
|
8420
8612
|
class OrganisationService {
|
|
8421
8613
|
http;
|
|
8422
8614
|
appconfig;
|
|
8615
|
+
logger = new StructuredLoggerService();
|
|
8423
8616
|
constructor(http, appconfig) {
|
|
8424
8617
|
this.http = http;
|
|
8425
8618
|
this.appconfig = appconfig;
|
|
@@ -8452,7 +8645,7 @@ class OrganisationService {
|
|
|
8452
8645
|
const cacheTimeOut = this.appconfig.getCacheTimeOut();
|
|
8453
8646
|
this.organisations$ = this.http.get(url)
|
|
8454
8647
|
.pipe(map((orgs) => OrganisationService.mapOrganisation(orgs)), publishReplay(1, cacheTimeOut), refCount(), take(1), catchError(e => {
|
|
8455
|
-
|
|
8648
|
+
this.logger.error('Error while retrieving active organisations.', { error: e });
|
|
8456
8649
|
// Handle error and return blank Observable array
|
|
8457
8650
|
return of([]);
|
|
8458
8651
|
}));
|
|
@@ -9192,7 +9385,6 @@ class EventCompletionStateMachineService {
|
|
|
9192
9385
|
}
|
|
9193
9386
|
entryActionForStateFinal(state, context) {
|
|
9194
9387
|
// Final actions can be performed here, the state machine finished running
|
|
9195
|
-
console.log('FINAL');
|
|
9196
9388
|
}
|
|
9197
9389
|
addTransitionsForStateCheckTasksCanBeCompleted() {
|
|
9198
9390
|
// Complete event and task
|
|
@@ -9344,7 +9536,6 @@ class WorkAllocationService {
|
|
|
9344
9536
|
// explicitly eat away 401 error and 400 error
|
|
9345
9537
|
if (error && error.status && (error.status === 401 || error.status === 400)) {
|
|
9346
9538
|
// do nothing
|
|
9347
|
-
console.log('error status 401 or 400', error);
|
|
9348
9539
|
}
|
|
9349
9540
|
else {
|
|
9350
9541
|
return throwError(error);
|
|
@@ -9818,8 +10009,10 @@ class CaseEditComponent {
|
|
|
9818
10009
|
return form.value.event.id;
|
|
9819
10010
|
}
|
|
9820
10011
|
generateCaseEventData({ eventTrigger, form }) {
|
|
10012
|
+
const formData = this.replaceHiddenFormValuesWithOriginalCaseData(form.get('data'), eventTrigger.case_fields);
|
|
10013
|
+
this.formValueService.sanitiseDynamicLists(eventTrigger.case_fields, { data: formData });
|
|
9821
10014
|
const caseEventData = {
|
|
9822
|
-
data: this.replaceEmptyComplexFieldValues(this.formValueService.sanitise(
|
|
10015
|
+
data: this.replaceEmptyComplexFieldValues(this.formValueService.sanitise(formData, this.isCaseFlagSubmission)),
|
|
9823
10016
|
event: form.value.event
|
|
9824
10017
|
};
|
|
9825
10018
|
this.formValueService.clearNonCaseFields(caseEventData.data, eventTrigger.case_fields);
|
|
@@ -10201,6 +10394,7 @@ class CasesService {
|
|
|
10201
10394
|
loadingService;
|
|
10202
10395
|
sessionStorageService;
|
|
10203
10396
|
retryUtil;
|
|
10397
|
+
logger = new StructuredLoggerService();
|
|
10204
10398
|
// Internal (UI) API
|
|
10205
10399
|
static V2_MEDIATYPE_CASE_VIEW = 'application/vnd.uk.gov.hmcts.ccd-data-store-api.ui-case-view.v2+json';
|
|
10206
10400
|
static V2_MEDIATYPE_START_CASE_TRIGGER = 'application/vnd.uk.gov.hmcts.ccd-data-store-api.ui-start-case-trigger.v2+json;charset=UTF-8';
|
|
@@ -10255,12 +10449,11 @@ class CasesService {
|
|
|
10255
10449
|
let http$ = this.http.get(url, { headers, observe: 'body' });
|
|
10256
10450
|
const artificialDelay = this.appConfig.getTimeoutsCaseRetrievalArtificialDelay();
|
|
10257
10451
|
const timeoutPeriods = this.appConfig.getTimeoutsForCaseRetrieval();
|
|
10258
|
-
console.log(`Timeout periods: ${timeoutPeriods} seconds.`);
|
|
10259
10452
|
if (timeoutPeriods && timeoutPeriods.length > 0 && timeoutPeriods[0] > 0) {
|
|
10260
10453
|
http$ = this.retryUtil.pipeTimeoutMechanismOn(http$, artificialDelay, timeoutPeriods);
|
|
10261
10454
|
}
|
|
10262
10455
|
else {
|
|
10263
|
-
|
|
10456
|
+
this.logger.warn('Skipping retry mechanism for case view retrieval.');
|
|
10264
10457
|
}
|
|
10265
10458
|
http$ = this.pipeErrorProcessor(http$);
|
|
10266
10459
|
http$ = http$.pipe(finalize(() => this.finalizeGetCaseViewWith(caseId, loadingToken)));
|
|
@@ -10268,8 +10461,11 @@ class CasesService {
|
|
|
10268
10461
|
}
|
|
10269
10462
|
pipeErrorProcessor(in$) {
|
|
10270
10463
|
const out$ = in$.pipe(catchError(error => {
|
|
10271
|
-
|
|
10272
|
-
|
|
10464
|
+
this.logger.error('Error while getting case view with getCaseViewV2.', {
|
|
10465
|
+
error,
|
|
10466
|
+
errorName: error?.name,
|
|
10467
|
+
errorType: typeof error
|
|
10468
|
+
});
|
|
10273
10469
|
this.errorService.setError(error);
|
|
10274
10470
|
return throwError(error);
|
|
10275
10471
|
}));
|
|
@@ -11381,6 +11577,7 @@ class CaseEditPageComponent {
|
|
|
11381
11577
|
dialogRefAfterClosedSub;
|
|
11382
11578
|
saveDraftSub;
|
|
11383
11579
|
caseFormValidationErrorsSub;
|
|
11580
|
+
logger = new StructuredLoggerService();
|
|
11384
11581
|
static scrollToTop() {
|
|
11385
11582
|
window.scrollTo(0, 0);
|
|
11386
11583
|
}
|
|
@@ -11712,7 +11909,6 @@ class CaseEditPageComponent {
|
|
|
11712
11909
|
}
|
|
11713
11910
|
if (!this.caseEdit.isSubmitting && !this.currentPageIsNotValid()) {
|
|
11714
11911
|
this.addressService.setMandatoryError(false);
|
|
11715
|
-
console.log('Case Edit Error', this.caseEdit.error);
|
|
11716
11912
|
if (this.caseEdit.validPageList.findIndex(page => page.id === this.currentPage.id) === -1) {
|
|
11717
11913
|
this.caseEdit.validPageList.push(this.currentPage);
|
|
11718
11914
|
}
|
|
@@ -11925,7 +12121,7 @@ class CaseEditPageComponent {
|
|
|
11925
12121
|
this.formErrorService
|
|
11926
12122
|
.mapFieldErrors(this.caseEdit.error.details.field_errors, this.editForm?.controls?.['data'], 'validation');
|
|
11927
12123
|
}
|
|
11928
|
-
|
|
12124
|
+
this.logger.error('Case edit page handled an error.', { error });
|
|
11929
12125
|
}
|
|
11930
12126
|
resetErrors() {
|
|
11931
12127
|
this.clearValidationErrors();
|
|
@@ -13032,6 +13228,7 @@ function WriteAddressFieldComponent_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
|
13032
13228
|
} }
|
|
13033
13229
|
class WriteAddressFieldComponent extends AbstractFieldWriteComponent {
|
|
13034
13230
|
isCompoundPipe;
|
|
13231
|
+
logger = new StructuredLoggerService();
|
|
13035
13232
|
writeComplexFieldComponent;
|
|
13036
13233
|
focusElementDirectives;
|
|
13037
13234
|
static REQUIRED_ERROR_MESSAGE = 'Enter a Postcode';
|
|
@@ -13084,7 +13281,7 @@ class WriteAddressFieldComponent extends AbstractFieldWriteComponent {
|
|
|
13084
13281
|
});
|
|
13085
13282
|
}, (error) => {
|
|
13086
13283
|
this.loadingAddresses = false;
|
|
13087
|
-
|
|
13284
|
+
this.logger.error('An error occurred retrieving addresses for postcode.', { error });
|
|
13088
13285
|
});
|
|
13089
13286
|
this.addressList.setValue(undefined);
|
|
13090
13287
|
this.refocusElement();
|
|
@@ -13184,7 +13381,7 @@ class WriteAddressFieldComponent extends AbstractFieldWriteComponent {
|
|
|
13184
13381
|
type: ViewChildren,
|
|
13185
13382
|
args: [FocusElementDirective]
|
|
13186
13383
|
}] }); })();
|
|
13187
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteAddressFieldComponent, { className: "WriteAddressFieldComponent", filePath: "lib/shared/components/palette/address/write-address-field.component.ts", lineNumber:
|
|
13384
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteAddressFieldComponent, { className: "WriteAddressFieldComponent", filePath: "lib/shared/components/palette/address/write-address-field.component.ts", lineNumber: 19 }); })();
|
|
13188
13385
|
|
|
13189
13386
|
var PaletteContext;
|
|
13190
13387
|
(function (PaletteContext) {
|
|
@@ -15175,6 +15372,7 @@ class WriteCollectionFieldComponent extends AbstractFieldWriteComponent {
|
|
|
15175
15372
|
scrollToService;
|
|
15176
15373
|
profileNotifier;
|
|
15177
15374
|
cdRef;
|
|
15375
|
+
logger = new StructuredLoggerService();
|
|
15178
15376
|
caseFields = [];
|
|
15179
15377
|
formArray;
|
|
15180
15378
|
profile;
|
|
@@ -15322,7 +15520,7 @@ class WriteCollectionFieldComponent extends AbstractFieldWriteComponent {
|
|
|
15322
15520
|
duration: 1000,
|
|
15323
15521
|
offset: -150,
|
|
15324
15522
|
})
|
|
15325
|
-
.subscribe(() => { },
|
|
15523
|
+
.subscribe(() => { }, error => this.logger.error('Error while scrolling collection item into view.', { error }));
|
|
15326
15524
|
}
|
|
15327
15525
|
this.focusLastItem();
|
|
15328
15526
|
}
|
|
@@ -15530,7 +15728,7 @@ class WriteCollectionFieldComponent extends AbstractFieldWriteComponent {
|
|
|
15530
15728
|
type: ViewChildren,
|
|
15531
15729
|
args: ['collectionItem']
|
|
15532
15730
|
}] }); })();
|
|
15533
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteCollectionFieldComponent, { className: "WriteCollectionFieldComponent", filePath: "lib/shared/components/palette/collection/write-collection-field.component.ts", lineNumber:
|
|
15731
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteCollectionFieldComponent, { className: "WriteCollectionFieldComponent", filePath: "lib/shared/components/palette/collection/write-collection-field.component.ts", lineNumber: 34 }); })();
|
|
15534
15732
|
|
|
15535
15733
|
function ReadComplexFieldComponent_ccd_read_complex_field_raw_1_Template(rf, ctx) { if (rf & 1) {
|
|
15536
15734
|
i0.ɵɵelement(0, "ccd-read-complex-field-raw", 4);
|
|
@@ -15902,8 +16100,6 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
|
|
|
15902
16100
|
this.jurisdictionId = parts[parts.indexOf('case-create') + 1];
|
|
15903
16101
|
this.caseTypeId = parts[parts.indexOf('case-create') + 2];
|
|
15904
16102
|
this.caseId = null;
|
|
15905
|
-
console.log(this.jurisdictionId);
|
|
15906
|
-
console.log(this.caseTypeId);
|
|
15907
16103
|
}
|
|
15908
16104
|
// use the documentManagement service to check if the document upload should use CDAM
|
|
15909
16105
|
if (this.documentManagement.isDocumentSecureModeEnabled()) {
|
|
@@ -21686,6 +21882,7 @@ const CIVIL_JURISDICTION = 'CIVIL';
|
|
|
21686
21882
|
class QueryManagementService {
|
|
21687
21883
|
router;
|
|
21688
21884
|
sessionStorageService;
|
|
21885
|
+
logger = new StructuredLoggerService();
|
|
21689
21886
|
caseQueriesCollections;
|
|
21690
21887
|
fieldId;
|
|
21691
21888
|
constructor(router, sessionStorageService) {
|
|
@@ -21705,7 +21902,7 @@ class QueryManagementService {
|
|
|
21705
21902
|
currentUserDetails = safeJsonParse(this.sessionStorageService.getItem(USER_DETAILS), {});
|
|
21706
21903
|
}
|
|
21707
21904
|
catch (e) {
|
|
21708
|
-
|
|
21905
|
+
this.logger.error('Could not parse USER_DETAILS from session storage.', { error: e });
|
|
21709
21906
|
currentUserDetails = {};
|
|
21710
21907
|
}
|
|
21711
21908
|
const isHmctsStaff = (this.isJudiciaryUser() || this.isInternalUser()) ? 'Yes' : 'No';
|
|
@@ -21715,7 +21912,7 @@ class QueryManagementService {
|
|
|
21715
21912
|
const isNewQuery = queryCreateContext === QueryCreateContext.NEW_QUERY; // Check if this is a new query
|
|
21716
21913
|
// Check if the field ID has been set dynamically
|
|
21717
21914
|
if (!this.fieldId) {
|
|
21718
|
-
|
|
21915
|
+
this.logger.error('Field ID for CaseQueriesCollection not found. Cannot proceed with data generation.');
|
|
21719
21916
|
this.router.navigate(['/', 'service-down']);
|
|
21720
21917
|
throw new Error('Field ID for CaseQueriesCollection not found. Aborting query data generation.');
|
|
21721
21918
|
}
|
|
@@ -21775,7 +21972,7 @@ class QueryManagementService {
|
|
|
21775
21972
|
setCaseQueriesCollectionData(eventData, queryCreateContext, caseDetails, messageId) {
|
|
21776
21973
|
const resolvedFieldId = this.resolveFieldId(eventData, queryCreateContext, caseDetails, messageId);
|
|
21777
21974
|
if (!resolvedFieldId) {
|
|
21778
|
-
|
|
21975
|
+
this.logger.error('Failed to resolve fieldId for CaseQueriesCollection. Cannot proceed.');
|
|
21779
21976
|
return;
|
|
21780
21977
|
}
|
|
21781
21978
|
this.fieldId = resolvedFieldId;
|
|
@@ -21795,7 +21992,7 @@ class QueryManagementService {
|
|
|
21795
21992
|
field.field_type.type === FIELD_TYPE_COMPLEX &&
|
|
21796
21993
|
field.display_context !== DISPLAY_CONTEXT_READONLY);
|
|
21797
21994
|
if (!candidateFields?.length) {
|
|
21798
|
-
|
|
21995
|
+
this.logger.warn('No editable CaseQueriesCollection fields found.');
|
|
21799
21996
|
return null;
|
|
21800
21997
|
}
|
|
21801
21998
|
const numberOfCollections = candidateFields.length;
|
|
@@ -21822,12 +22019,12 @@ class QueryManagementService {
|
|
|
21822
22019
|
}
|
|
21823
22020
|
}
|
|
21824
22021
|
else {
|
|
21825
|
-
|
|
22022
|
+
this.logger.error('Multiple CaseQueriesCollections are not supported yet for this jurisdiction.', { jurisdictionId });
|
|
21826
22023
|
return null;
|
|
21827
22024
|
}
|
|
21828
22025
|
}
|
|
21829
22026
|
// Step 4: Fallback — if none of the above succeeded
|
|
21830
|
-
|
|
22027
|
+
this.logger.warn('Could not determine fieldId for context.', { queryCreateContext });
|
|
21831
22028
|
return null;
|
|
21832
22029
|
}
|
|
21833
22030
|
getCaseQueriesCollectionFieldOrderFromWizardPages(eventData) {
|
|
@@ -22439,6 +22636,7 @@ class QueryCheckYourAnswersComponent {
|
|
|
22439
22636
|
queryManagementService;
|
|
22440
22637
|
errorNotifierService;
|
|
22441
22638
|
alertService;
|
|
22639
|
+
logger = new StructuredLoggerService();
|
|
22442
22640
|
RAISE_A_QUERY_EVENT_TRIGGER_ID = 'queryManagementRaiseQuery';
|
|
22443
22641
|
RESPOND_TO_QUERY_EVENT_TRIGGER_ID = 'queryManagementRespondQuery';
|
|
22444
22642
|
CASE_QUERIES_COLLECTION_ID = 'CaseQueriesCollection';
|
|
@@ -22526,7 +22724,7 @@ class QueryCheckYourAnswersComponent {
|
|
|
22526
22724
|
if (error.status !== 401 && error.status !== 403) {
|
|
22527
22725
|
this.errorNotifierService.announceError(error);
|
|
22528
22726
|
this.alertService.error({ phrase: error.message });
|
|
22529
|
-
|
|
22727
|
+
this.logger.error('Error occurred while fetching event data.', { error });
|
|
22530
22728
|
this.callbackErrorsSubject.next(error);
|
|
22531
22729
|
}
|
|
22532
22730
|
else {
|
|
@@ -22579,7 +22777,7 @@ class QueryCheckYourAnswersComponent {
|
|
|
22579
22777
|
});
|
|
22580
22778
|
}
|
|
22581
22779
|
else {
|
|
22582
|
-
|
|
22780
|
+
this.logger.error('No task to complete was found.');
|
|
22583
22781
|
this.errorMessages = [
|
|
22584
22782
|
{
|
|
22585
22783
|
title: 'Error',
|
|
@@ -22623,7 +22821,7 @@ class QueryCheckYourAnswersComponent {
|
|
|
22623
22821
|
this.isSubmitting = false;
|
|
22624
22822
|
}
|
|
22625
22823
|
handleError(error) {
|
|
22626
|
-
|
|
22824
|
+
this.logger.error('Error in query management API calls.', { error });
|
|
22627
22825
|
this.isSubmitting = false;
|
|
22628
22826
|
if (this.isServiceErrorFound(error)) {
|
|
22629
22827
|
this.error = null;
|
|
@@ -22651,7 +22849,7 @@ class QueryCheckYourAnswersComponent {
|
|
|
22651
22849
|
}
|
|
22652
22850
|
setCaseQueriesCollectionData() {
|
|
22653
22851
|
if (!this.eventData) {
|
|
22654
|
-
|
|
22852
|
+
this.logger.warn('Event data not available; skipping collection setup.');
|
|
22655
22853
|
}
|
|
22656
22854
|
this.queryManagementService.setCaseQueriesCollectionData(this.eventData, this.queryCreateContext, this.caseDetails, this.messageId);
|
|
22657
22855
|
}
|
|
@@ -22686,7 +22884,7 @@ class QueryCheckYourAnswersComponent {
|
|
|
22686
22884
|
}], createEventResponse: [{
|
|
22687
22885
|
type: Output
|
|
22688
22886
|
}] }); })();
|
|
22689
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryCheckYourAnswersComponent, { className: "QueryCheckYourAnswersComponent", filePath: "lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.ts", lineNumber:
|
|
22887
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryCheckYourAnswersComponent, { className: "QueryCheckYourAnswersComponent", filePath: "lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.ts", lineNumber: 33 }); })();
|
|
22690
22888
|
|
|
22691
22889
|
function QueryDetailsComponent_ng_container_0_p_1_Template(rf, ctx) { if (rf & 1) {
|
|
22692
22890
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
@@ -23747,6 +23945,7 @@ function QueryWriteRaiseQueryComponent_div_11_Template(rf, ctx) { if (rf & 1) {
|
|
|
23747
23945
|
class QueryWriteRaiseQueryComponent {
|
|
23748
23946
|
queryManagementService;
|
|
23749
23947
|
route;
|
|
23948
|
+
logger = new StructuredLoggerService();
|
|
23750
23949
|
formGroup;
|
|
23751
23950
|
submitted;
|
|
23752
23951
|
caseDetails;
|
|
@@ -23794,7 +23993,7 @@ class QueryWriteRaiseQueryComponent {
|
|
|
23794
23993
|
}
|
|
23795
23994
|
setCaseQueriesCollectionData() {
|
|
23796
23995
|
if (!this.eventData) {
|
|
23797
|
-
|
|
23996
|
+
this.logger.warn('Event data not available; skipping collection setup.');
|
|
23798
23997
|
return false;
|
|
23799
23998
|
}
|
|
23800
23999
|
this.queryManagementService.setCaseQueriesCollectionData(this.eventData, this.queryCreateContext, this.caseDetails, this.messageId);
|
|
@@ -23856,7 +24055,7 @@ class QueryWriteRaiseQueryComponent {
|
|
|
23856
24055
|
}], queryDataCreated: [{
|
|
23857
24056
|
type: Output
|
|
23858
24057
|
}] }); })();
|
|
23859
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryWriteRaiseQueryComponent, { className: "QueryWriteRaiseQueryComponent", filePath: "lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.ts", lineNumber:
|
|
24058
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryWriteRaiseQueryComponent, { className: "QueryWriteRaiseQueryComponent", filePath: "lib/shared/components/palette/query-management/components/query-write/query-write-raise-query/query-write-raise-query.component.ts", lineNumber: 21 }); })();
|
|
23860
24059
|
|
|
23861
24060
|
function QueryWriteRespondToQueryComponent_ccd_query_case_details_header_9_Template(rf, ctx) { if (rf & 1) {
|
|
23862
24061
|
i0.ɵɵelement(0, "ccd-query-case-details-header", 8);
|
|
@@ -23939,6 +24138,7 @@ class QueryWriteRespondToQueryComponent {
|
|
|
23939
24138
|
caseNotifier;
|
|
23940
24139
|
route;
|
|
23941
24140
|
queryManagementService;
|
|
24141
|
+
logger = new StructuredLoggerService();
|
|
23942
24142
|
queryItem;
|
|
23943
24143
|
formGroup;
|
|
23944
24144
|
queryCreateContext;
|
|
@@ -23973,7 +24173,7 @@ class QueryWriteRespondToQueryComponent {
|
|
|
23973
24173
|
this.caseDetails = caseDetails;
|
|
23974
24174
|
},
|
|
23975
24175
|
error: (err) => {
|
|
23976
|
-
|
|
24176
|
+
this.logger.error('Error retrieving case details.', { error: err });
|
|
23977
24177
|
}
|
|
23978
24178
|
});
|
|
23979
24179
|
}
|
|
@@ -23983,19 +24183,19 @@ class QueryWriteRespondToQueryComponent {
|
|
|
23983
24183
|
return;
|
|
23984
24184
|
}
|
|
23985
24185
|
if (!this.caseQueriesCollections[0]) {
|
|
23986
|
-
|
|
24186
|
+
this.logger.error('Case queries collection is undefined.');
|
|
23987
24187
|
return;
|
|
23988
24188
|
}
|
|
23989
24189
|
this.messageId = this.route.snapshot.params?.dataid;
|
|
23990
24190
|
if (!this.messageId) {
|
|
23991
|
-
|
|
24191
|
+
this.logger.warn('No messageId found in route params.', { routeParams: this.route.snapshot.params });
|
|
23992
24192
|
return;
|
|
23993
24193
|
}
|
|
23994
24194
|
const allMessages = this.caseQueriesCollections
|
|
23995
24195
|
.flatMap((caseData) => caseData?.caseMessages || []);
|
|
23996
24196
|
const matchingMessage = allMessages.find((message) => message?.value?.id === this.messageId)?.value;
|
|
23997
24197
|
if (!matchingMessage) {
|
|
23998
|
-
|
|
24198
|
+
this.logger.warn('No matching message found for ID.', { messageId: this.messageId });
|
|
23999
24199
|
return;
|
|
24000
24200
|
}
|
|
24001
24201
|
const caseQueriesCollections = this.caseQueriesCollections.find((collection) => collection?.caseMessages.find((c) => c.value.id === this.messageId));
|
|
@@ -24019,7 +24219,7 @@ class QueryWriteRespondToQueryComponent {
|
|
|
24019
24219
|
}
|
|
24020
24220
|
setCaseQueriesCollectionData() {
|
|
24021
24221
|
if (!this.eventData) {
|
|
24022
|
-
|
|
24222
|
+
this.logger.warn('Event data not available; skipping collection setup.');
|
|
24023
24223
|
return false;
|
|
24024
24224
|
}
|
|
24025
24225
|
this.queryManagementService.setCaseQueriesCollectionData(this.eventData, this.queryCreateContext, this.caseDetails, this.messageId);
|
|
@@ -24084,7 +24284,7 @@ class QueryWriteRespondToQueryComponent {
|
|
|
24084
24284
|
}], hasRespondedToQueryTask: [{
|
|
24085
24285
|
type: Output
|
|
24086
24286
|
}] }); })();
|
|
24087
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryWriteRespondToQueryComponent, { className: "QueryWriteRespondToQueryComponent", filePath: "lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.ts", lineNumber:
|
|
24287
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryWriteRespondToQueryComponent, { className: "QueryWriteRespondToQueryComponent", filePath: "lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.ts", lineNumber: 20 }); })();
|
|
24088
24288
|
|
|
24089
24289
|
function QueryConfirmationComponent_main_0_ng_container_3_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
24090
24290
|
i0.ɵɵelementStart(0, "h1", 8);
|
|
@@ -24234,6 +24434,7 @@ function QueryConfirmationComponent_main_0_Template(rf, ctx) { if (rf & 1) {
|
|
|
24234
24434
|
class QueryConfirmationComponent {
|
|
24235
24435
|
route;
|
|
24236
24436
|
sessionStorageService;
|
|
24437
|
+
logger = new StructuredLoggerService();
|
|
24237
24438
|
queryCreateContext;
|
|
24238
24439
|
callbackConfirmationMessageText = {};
|
|
24239
24440
|
eventResponseData;
|
|
@@ -24264,7 +24465,7 @@ class QueryConfirmationComponent {
|
|
|
24264
24465
|
resolveHmctsStaffRaisedQuery() {
|
|
24265
24466
|
const messageId = this.route.snapshot.params.dataid;
|
|
24266
24467
|
if (!this.eventResponseData) {
|
|
24267
|
-
|
|
24468
|
+
this.logger.warn('No event response data available.');
|
|
24268
24469
|
return;
|
|
24269
24470
|
}
|
|
24270
24471
|
this.queryListData = new QueryListData(this.eventResponseData);
|
|
@@ -24278,7 +24479,7 @@ class QueryConfirmationComponent {
|
|
|
24278
24479
|
?.flatMap((p) => p.children || [])
|
|
24279
24480
|
.find((c) => c.parentId === messageId);
|
|
24280
24481
|
if (!child) {
|
|
24281
|
-
|
|
24482
|
+
this.logger.warn('No matching child found for messageId.', { messageId });
|
|
24282
24483
|
return;
|
|
24283
24484
|
}
|
|
24284
24485
|
const parentItem = this.queryListData?.queries
|
|
@@ -34402,6 +34603,7 @@ class WorkbasketFiltersComponent {
|
|
|
34402
34603
|
static PARAM_JURISDICTION = 'jurisdiction';
|
|
34403
34604
|
static PARAM_CASE_TYPE = 'case-type';
|
|
34404
34605
|
static PARAM_CASE_STATE = 'case-state';
|
|
34606
|
+
logger = new StructuredLoggerService();
|
|
34405
34607
|
caseFields;
|
|
34406
34608
|
jurisdictions;
|
|
34407
34609
|
defaults;
|
|
@@ -34575,9 +34777,7 @@ class WorkbasketFiltersComponent {
|
|
|
34575
34777
|
}
|
|
34576
34778
|
});
|
|
34577
34779
|
this.getCaseFields();
|
|
34578
|
-
}, error => {
|
|
34579
|
-
console.log('Workbasket input fields request will be discarded reason: ', error.message);
|
|
34580
|
-
});
|
|
34780
|
+
}, error => this.logger.error('Workbasket input fields request will be discarded.', { error }));
|
|
34581
34781
|
}
|
|
34582
34782
|
}
|
|
34583
34783
|
else {
|
|
@@ -34837,7 +35037,7 @@ class WorkbasketFiltersComponent {
|
|
|
34837
35037
|
}], onReset: [{
|
|
34838
35038
|
type: Output
|
|
34839
35039
|
}] }); })();
|
|
34840
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WorkbasketFiltersComponent, { className: "WorkbasketFiltersComponent", filePath: "lib/shared/components/workbasket-filters/workbasket-filters.component.ts", lineNumber:
|
|
35040
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WorkbasketFiltersComponent, { className: "WorkbasketFiltersComponent", filePath: "lib/shared/components/workbasket-filters/workbasket-filters.component.ts", lineNumber: 28 }); })();
|
|
34841
35041
|
|
|
34842
35042
|
class WorkbasketFiltersModule {
|
|
34843
35043
|
static ɵfac = function WorkbasketFiltersModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || WorkbasketFiltersModule)(); };
|
|
@@ -35227,6 +35427,7 @@ class CaseHistoryComponent {
|
|
|
35227
35427
|
orderService;
|
|
35228
35428
|
caseNotifier;
|
|
35229
35429
|
caseHistoryService;
|
|
35430
|
+
logger = new StructuredLoggerService();
|
|
35230
35431
|
static PARAM_EVENT_ID = 'eid';
|
|
35231
35432
|
static ERROR_MESSAGE = 'No case history to show';
|
|
35232
35433
|
event;
|
|
@@ -35259,7 +35460,7 @@ class CaseHistoryComponent {
|
|
|
35259
35460
|
this.tabs = this.orderService.sort(this.caseHistory.tabs);
|
|
35260
35461
|
this.tabs = this.sortTabFieldsAndFilterTabs(this.tabs);
|
|
35261
35462
|
}), catchError(error => {
|
|
35262
|
-
|
|
35463
|
+
this.logger.error('Error while getting case history.', { error });
|
|
35263
35464
|
if (error.status !== 401 && error.status !== 403) {
|
|
35264
35465
|
this.alertService.error(error.message);
|
|
35265
35466
|
}
|
|
@@ -35293,7 +35494,7 @@ class CaseHistoryComponent {
|
|
|
35293
35494
|
}], () => [{ type: i1$1.ActivatedRoute }, { type: AlertService }, { type: OrderService }, { type: CaseNotifier }, { type: CaseHistoryService }], { event: [{
|
|
35294
35495
|
type: Input
|
|
35295
35496
|
}] }); })();
|
|
35296
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseHistoryComponent, { className: "CaseHistoryComponent", filePath: "lib/shared/components/case-history/case-history.component.ts", lineNumber:
|
|
35497
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseHistoryComponent, { className: "CaseHistoryComponent", filePath: "lib/shared/components/case-history/case-history.component.ts", lineNumber: 22 }); })();
|
|
35297
35498
|
|
|
35298
35499
|
class CaseHistoryModule {
|
|
35299
35500
|
static ɵfac = function CaseHistoryModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CaseHistoryModule)(); };
|
|
@@ -35517,11 +35718,9 @@ class CaseResolver {
|
|
|
35517
35718
|
const currentUrl = this.router.url ?? '';
|
|
35518
35719
|
// Prevent resolving if eventId=queryManagementRespondQuery is in the URL
|
|
35519
35720
|
if (currentUrl.includes(CaseResolver.EVENT_ID_QM_RESPOND_TO_QUERY)) {
|
|
35520
|
-
console.info('Skipping resolve for event queryManagementRespondQuery.');
|
|
35521
35721
|
this.goToDefaultPage();
|
|
35522
35722
|
}
|
|
35523
35723
|
if (!cid) {
|
|
35524
|
-
console.info('No case ID available in the route. Will navigate to case list.');
|
|
35525
35724
|
// when redirected to case view after a case created, and the user has no READ access,
|
|
35526
35725
|
// the post returns no id
|
|
35527
35726
|
this.navigateToCaseList();
|
|
@@ -35578,8 +35777,6 @@ class CaseResolver {
|
|
|
35578
35777
|
}), catchError(error => this.processErrorInCaseFetch(error, cid))).toPromise();
|
|
35579
35778
|
}
|
|
35580
35779
|
processErrorInCaseFetch(error, caseReference) {
|
|
35581
|
-
console.error('!!! processErrorInCaseFetch !!!');
|
|
35582
|
-
console.error(error);
|
|
35583
35780
|
// TODO Should be logged to remote logging infrastructure
|
|
35584
35781
|
if (error.status === 400) {
|
|
35585
35782
|
this.router.navigate(['/search/noresults']);
|
|
@@ -35607,7 +35804,6 @@ class CaseResolver {
|
|
|
35607
35804
|
}
|
|
35608
35805
|
// as discussed for EUI-5456, need functionality to go to default page
|
|
35609
35806
|
goToDefaultPage() {
|
|
35610
|
-
console.info('Going to default page!');
|
|
35611
35807
|
const userDetails = safeJsonParse(this.sessionStorage.getItem(USER_DETAILS));
|
|
35612
35808
|
userDetails && userDetails.roles
|
|
35613
35809
|
&& !userDetails.roles.includes(PUI_CASE_MANAGER)
|
|
@@ -35805,7 +36001,6 @@ class CaseEventTriggerComponent {
|
|
|
35805
36001
|
if (this.activityPollingService.isEnabled) {
|
|
35806
36002
|
this.ngZone.runOutsideAngular(() => {
|
|
35807
36003
|
this.activitySubscription = this.postEditActivity().subscribe(() => {
|
|
35808
|
-
// console.log('Posted EDIT activity and result is: ' + JSON.stringify(_resolved));
|
|
35809
36004
|
});
|
|
35810
36005
|
});
|
|
35811
36006
|
}
|
|
@@ -35976,8 +36171,6 @@ class CaseViewComponent {
|
|
|
35976
36171
|
}
|
|
35977
36172
|
checkErrorGettingCaseView(error) {
|
|
35978
36173
|
// TODO Should be logged to remote logging infrastructure
|
|
35979
|
-
console.error('Called checkErrorGettingCaseView.');
|
|
35980
|
-
console.error(error);
|
|
35981
36174
|
if (error.status !== 401 && error.status !== 403) {
|
|
35982
36175
|
this.alertService.error(error.message);
|
|
35983
36176
|
}
|
|
@@ -37329,7 +37522,6 @@ class CaseViewerComponent {
|
|
|
37329
37522
|
}
|
|
37330
37523
|
else {
|
|
37331
37524
|
this.caseSubscription = this.caseNotifier.caseView.subscribe((caseDetails) => {
|
|
37332
|
-
console.info('Setting the case into case viewer component as retrieved from XHR request.');
|
|
37333
37525
|
this.caseDetails = caseDetails;
|
|
37334
37526
|
this.setUserAccessType(this.caseDetails);
|
|
37335
37527
|
});
|
|
@@ -38197,9 +38389,7 @@ class EventStartStateMachineService {
|
|
|
38197
38389
|
if (!task) {
|
|
38198
38390
|
task = context.tasks[0];
|
|
38199
38391
|
}
|
|
38200
|
-
const taskStr = JSON.stringify(task);
|
|
38201
38392
|
this.abstractConfig?.logMessage?.(`entryActionForStateOneTaskAssignedToUser: task_state ${task?.task_state} for task id ${task?.id}`);
|
|
38202
|
-
console.log('entryActionForStateOneTaskAssignedToUser: setting client context task_data to ' + taskStr);
|
|
38203
38393
|
// Store task to session
|
|
38204
38394
|
const currentLanguage = context.cookieService.getCookie('exui-preferred-language');
|
|
38205
38395
|
const clientContext = {
|
|
@@ -38240,7 +38430,6 @@ class EventStartStateMachineService {
|
|
|
38240
38430
|
}
|
|
38241
38431
|
finalAction(state) {
|
|
38242
38432
|
// Final actions can be performed here, the state machine finished running
|
|
38243
|
-
// console.log('FINAL', state);
|
|
38244
38433
|
return;
|
|
38245
38434
|
}
|
|
38246
38435
|
addTransitionsForStateCheckForMatchingTasks() {
|
|
@@ -40200,6 +40389,7 @@ class SearchFiltersComponent {
|
|
|
40200
40389
|
orderService;
|
|
40201
40390
|
jurisdictionService;
|
|
40202
40391
|
windowService;
|
|
40392
|
+
logger = new StructuredLoggerService();
|
|
40203
40393
|
PARAM_JURISDICTION = 'jurisdiction';
|
|
40204
40394
|
PARAM_CASE_TYPE = 'case-type';
|
|
40205
40395
|
PARAM_CASE_STATE = 'case-state';
|
|
@@ -40295,7 +40485,7 @@ class SearchFiltersComponent {
|
|
|
40295
40485
|
}
|
|
40296
40486
|
}
|
|
40297
40487
|
catch (e) {
|
|
40298
|
-
|
|
40488
|
+
this.logger.error('Failed to retrieve jurisdiction from local storage.', { error: e });
|
|
40299
40489
|
this.windowService.setLocalStorage(JURISDICTION_LOC_STORAGE, null);
|
|
40300
40490
|
}
|
|
40301
40491
|
}
|
|
@@ -40349,9 +40539,7 @@ class SearchFiltersComponent {
|
|
|
40349
40539
|
}
|
|
40350
40540
|
});
|
|
40351
40541
|
this.getCaseFields();
|
|
40352
|
-
}, error => {
|
|
40353
|
-
console.log('Search input fields request will be discarded reason: ', error.message);
|
|
40354
|
-
});
|
|
40542
|
+
}, error => this.logger.error('Search input fields request will be discarded.', { error }));
|
|
40355
40543
|
}
|
|
40356
40544
|
isJurisdictionSelected() {
|
|
40357
40545
|
return this.selected.jurisdiction === null ||
|
|
@@ -40488,7 +40676,7 @@ class SearchFiltersComponent {
|
|
|
40488
40676
|
}], onJurisdiction: [{
|
|
40489
40677
|
type: Output
|
|
40490
40678
|
}] }); })();
|
|
40491
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SearchFiltersComponent, { className: "SearchFiltersComponent", filePath: "lib/shared/components/search-filters/search-filters.component.ts", lineNumber:
|
|
40679
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SearchFiltersComponent, { className: "SearchFiltersComponent", filePath: "lib/shared/components/search-filters/search-filters.component.ts", lineNumber: 28 }); })();
|
|
40492
40680
|
|
|
40493
40681
|
function SearchFiltersWrapperComponent_ccd_search_filters_0_Template(rf, ctx) { if (rf & 1) {
|
|
40494
40682
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
@@ -41704,5 +41892,5 @@ class TestRouteSnapshotBuilder {
|
|
|
41704
41892
|
* Generated bundle index. Do not edit.
|
|
41705
41893
|
*/
|
|
41706
41894
|
|
|
41707
|
-
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 };
|
|
41895
|
+
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, StructuredLoggerService, 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 };
|
|
41708
41896
|
//# sourceMappingURL=hmcts-ccd-case-ui-toolkit.mjs.map
|