@hmcts/ccd-case-ui-toolkit 7.3.64 → 7.3.65-3582-rc-1
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 +289 -89
- package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
- package/index.d.ts +59 -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());
|
|
@@ -4320,7 +4458,7 @@ class FieldsUtils {
|
|
|
4320
4458
|
}
|
|
4321
4459
|
}
|
|
4322
4460
|
catch (error) {
|
|
4323
|
-
|
|
4461
|
+
FieldsUtils.logger.error('Error setting dynamic list definition.', { error });
|
|
4324
4462
|
}
|
|
4325
4463
|
});
|
|
4326
4464
|
}
|
|
@@ -4763,6 +4901,7 @@ const conditionSource = `{
|
|
|
4763
4901
|
var peg = generate(conditionSource);
|
|
4764
4902
|
|
|
4765
4903
|
class ConditionParser {
|
|
4904
|
+
static logger = new StructuredLoggerService();
|
|
4766
4905
|
/**
|
|
4767
4906
|
* Parse the raw formula and output structured condition data
|
|
4768
4907
|
* that can be used in evaluating show/hide logic
|
|
@@ -4939,14 +5078,14 @@ class ConditionParser {
|
|
|
4939
5078
|
return (fields[head][arrayIndex] !== undefined) ? this.findValueForComplexCondition(fields[head][arrayIndex]['value'], tail[0], tail.slice(1), dropNumberPath.join('_')) : null;
|
|
4940
5079
|
}
|
|
4941
5080
|
catch (e) {
|
|
4942
|
-
|
|
5081
|
+
this.logger.error('Error while parsing form array path index.', { error: e, pathIndex: pathTail[0] });
|
|
4943
5082
|
}
|
|
4944
5083
|
}
|
|
4945
5084
|
}
|
|
4946
5085
|
else {
|
|
4947
5086
|
// EXUI-2460 - if path present then show error, otherwise log message to stop unnecessary console errors
|
|
4948
|
-
path ?
|
|
4949
|
-
|
|
5087
|
+
path ? this.logger.error('Path in formArray should start with the expected field.', { expectedHead: head, path }) :
|
|
5088
|
+
this.logger.info('Path not present in formArray.');
|
|
4950
5089
|
}
|
|
4951
5090
|
}
|
|
4952
5091
|
static removeStarChar(str) {
|
|
@@ -6418,6 +6557,60 @@ class FormValueService {
|
|
|
6418
6557
|
}
|
|
6419
6558
|
}
|
|
6420
6559
|
}
|
|
6560
|
+
// exui-3582 When a form field becomes hidden based on user’s input in the event journey,
|
|
6561
|
+
// its stored value must be cleared and it must not be submitted or persisted.
|
|
6562
|
+
removeHiddenField(data, caseFields, clearNonCase, formControls) {
|
|
6563
|
+
if (clearNonCase && data && caseFields && caseFields.length > 0) {
|
|
6564
|
+
for (const field of caseFields) {
|
|
6565
|
+
if (!FormValueService.isLabel(field) && FormValueService.isReadOnly(field)) {
|
|
6566
|
+
// Retain anything that is readonly and not a label.
|
|
6567
|
+
continue;
|
|
6568
|
+
}
|
|
6569
|
+
// Check if formControls[field.id] exists before accessing its properties
|
|
6570
|
+
const caseField = formControls[field.id] ? formControls[field.id]['caseField'] : undefined;
|
|
6571
|
+
if (caseField === undefined || field.hidden === true) {
|
|
6572
|
+
continue;
|
|
6573
|
+
}
|
|
6574
|
+
const hasValue = data.hasOwnProperty(field.id) && data[field.id] != null &&
|
|
6575
|
+
(typeof data[field.id] !== 'object' || Object.keys(data[field.id]).length > 0);
|
|
6576
|
+
if (caseField?.hidden === true &&
|
|
6577
|
+
field.display_context !== 'HIDDEN' &&
|
|
6578
|
+
field.display_context !== 'HIDDEN_TEMP' &&
|
|
6579
|
+
!field.retain_hidden_value &&
|
|
6580
|
+
field.id !== 'caseLinks' &&
|
|
6581
|
+
hasValue) {
|
|
6582
|
+
data[field.id] = null;
|
|
6583
|
+
continue; // If field is now hidden, skip checking its children
|
|
6584
|
+
}
|
|
6585
|
+
if (field.field_type) {
|
|
6586
|
+
switch (field.field_type.type) {
|
|
6587
|
+
case 'Complex':
|
|
6588
|
+
const complexData = data[field.id] ?? data['value'];
|
|
6589
|
+
if (complexData && formControls[field.id] && formControls[field.id]['controls']) {
|
|
6590
|
+
this.removeHiddenField(complexData, field.field_type.complex_fields, clearNonCase, formControls[field.id]['controls']);
|
|
6591
|
+
}
|
|
6592
|
+
break;
|
|
6593
|
+
case 'Collection':
|
|
6594
|
+
const collection = data[field.id];
|
|
6595
|
+
if (collection && Array.isArray(collection) && field.field_type.collection_field_type.type === 'Complex') {
|
|
6596
|
+
collection.forEach((item, index) => {
|
|
6597
|
+
if (formControls[field.id] && formControls[field.id]['controls'] && formControls[field.id]['controls'][index]) {
|
|
6598
|
+
const itemControls = formControls[field.id]?.['controls']?.[index]?.['controls']?.['value'];
|
|
6599
|
+
const collectionData = item['value'] ?? item;
|
|
6600
|
+
if (collectionData && itemControls?.['controls']) {
|
|
6601
|
+
this.removeHiddenField(collectionData, field.field_type.collection_field_type.complex_fields, clearNonCase, itemControls['controls']);
|
|
6602
|
+
}
|
|
6603
|
+
}
|
|
6604
|
+
});
|
|
6605
|
+
}
|
|
6606
|
+
break;
|
|
6607
|
+
default:
|
|
6608
|
+
break;
|
|
6609
|
+
}
|
|
6610
|
+
}
|
|
6611
|
+
}
|
|
6612
|
+
}
|
|
6613
|
+
}
|
|
6421
6614
|
/**
|
|
6422
6615
|
* Remove any empty collection fields where a value of greater than zero is specified in the field's {@link FieldType}
|
|
6423
6616
|
* `min` attribute.
|
|
@@ -8163,13 +8356,17 @@ class ArtificialDelayContext {
|
|
|
8163
8356
|
}
|
|
8164
8357
|
}
|
|
8165
8358
|
class RetryUtil {
|
|
8359
|
+
logger = new StructuredLoggerService();
|
|
8166
8360
|
pipeTimeoutMechanismOn(in$, preferredArtificialDelay, timeoutPeriods) {
|
|
8167
8361
|
const artificialDelayContext = new ArtificialDelayContext(preferredArtificialDelay);
|
|
8168
|
-
|
|
8169
|
-
|
|
8362
|
+
this.logger.info('Piping a retry mechanism with timeouts.', { timeoutPeriods });
|
|
8363
|
+
this.logger.info('Artificial delay setting resolved.', { artificialDelayApplied: artificialDelayContext.shouldApplyArtificialDelay() });
|
|
8170
8364
|
let out$ = in$;
|
|
8171
8365
|
if (artificialDelayContext.shouldApplyArtificialDelay()) {
|
|
8172
|
-
|
|
8366
|
+
this.logger.info('Preferred artificial delay selected.', {
|
|
8367
|
+
actualDelaySeconds: artificialDelayContext.getActualDelay(),
|
|
8368
|
+
preferredDelaySeconds: preferredArtificialDelay
|
|
8369
|
+
});
|
|
8173
8370
|
out$ = this.pipeArtificialDelayOn(out$, artificialDelayContext);
|
|
8174
8371
|
}
|
|
8175
8372
|
out$ = this.pipeTimeOutControlOn(out$, timeoutPeriods);
|
|
@@ -8178,36 +8375,35 @@ class RetryUtil {
|
|
|
8178
8375
|
}
|
|
8179
8376
|
pipeTimeOutControlOn(in$, timeoutPeriods) {
|
|
8180
8377
|
const timeOutAfterSeconds = timeoutPeriods[0];
|
|
8181
|
-
|
|
8378
|
+
this.logger.info('Piping timeout control.', { timeoutSeconds: timeOutAfterSeconds });
|
|
8182
8379
|
const out$ = in$.pipe(timeout(timeOutAfterSeconds * 1000));
|
|
8183
8380
|
return out$;
|
|
8184
8381
|
}
|
|
8185
8382
|
pipeRetryMechanismOn(in$, artificialDelayContext) {
|
|
8186
8383
|
const retryStrategy = (errors) => {
|
|
8187
8384
|
return errors.pipe(mergeMap((error, i) => {
|
|
8188
|
-
|
|
8189
|
-
console.error(error);
|
|
8385
|
+
this.logger.error('Mapping retry error.', { error, errorName: error?.name, attempt: i });
|
|
8190
8386
|
if (error?.name === 'TimeoutError' && i === 0) {
|
|
8191
8387
|
artificialDelayContext.turnOffArtificialDelays();
|
|
8192
|
-
|
|
8388
|
+
this.logger.info('Will retry after a timeout error.');
|
|
8193
8389
|
}
|
|
8194
8390
|
else {
|
|
8195
|
-
|
|
8391
|
+
this.logger.error('Will not retry request after error.', { error, errorName: error?.name, attempt: i });
|
|
8196
8392
|
throw error;
|
|
8197
8393
|
}
|
|
8198
8394
|
return timer(0);
|
|
8199
|
-
}), finalize(() =>
|
|
8395
|
+
}), finalize(() => undefined));
|
|
8200
8396
|
};
|
|
8201
8397
|
const out$ = in$.pipe(retryWhen(retryStrategy));
|
|
8202
8398
|
return out$;
|
|
8203
8399
|
}
|
|
8204
8400
|
pipeArtificialDelayOn(in$, artificialDelayContext) {
|
|
8205
8401
|
let out$ = in$.pipe(tap(() => {
|
|
8206
|
-
|
|
8402
|
+
this.logger.info('Artificial delay started.', { delaySeconds: artificialDelayContext.getActualDelay() });
|
|
8207
8403
|
}));
|
|
8208
8404
|
out$ = out$.pipe(delayWhen(() => timer(artificialDelayContext.getActualDelay() * 1000)));
|
|
8209
8405
|
out$ = out$.pipe(tap(() => {
|
|
8210
|
-
|
|
8406
|
+
this.logger.info('Artificial delay completed.', { delaySeconds: artificialDelayContext.getActualDelay() });
|
|
8211
8407
|
}));
|
|
8212
8408
|
return out$;
|
|
8213
8409
|
}
|
|
@@ -8420,6 +8616,7 @@ class SearchResultViewItemComparatorFactory {
|
|
|
8420
8616
|
class OrganisationService {
|
|
8421
8617
|
http;
|
|
8422
8618
|
appconfig;
|
|
8619
|
+
logger = new StructuredLoggerService();
|
|
8423
8620
|
constructor(http, appconfig) {
|
|
8424
8621
|
this.http = http;
|
|
8425
8622
|
this.appconfig = appconfig;
|
|
@@ -8452,7 +8649,7 @@ class OrganisationService {
|
|
|
8452
8649
|
const cacheTimeOut = this.appconfig.getCacheTimeOut();
|
|
8453
8650
|
this.organisations$ = this.http.get(url)
|
|
8454
8651
|
.pipe(map((orgs) => OrganisationService.mapOrganisation(orgs)), publishReplay(1, cacheTimeOut), refCount(), take(1), catchError(e => {
|
|
8455
|
-
|
|
8652
|
+
this.logger.error('Error while retrieving active organisations.', { error: e });
|
|
8456
8653
|
// Handle error and return blank Observable array
|
|
8457
8654
|
return of([]);
|
|
8458
8655
|
}));
|
|
@@ -9192,7 +9389,6 @@ class EventCompletionStateMachineService {
|
|
|
9192
9389
|
}
|
|
9193
9390
|
entryActionForStateFinal(state, context) {
|
|
9194
9391
|
// Final actions can be performed here, the state machine finished running
|
|
9195
|
-
console.log('FINAL');
|
|
9196
9392
|
}
|
|
9197
9393
|
addTransitionsForStateCheckTasksCanBeCompleted() {
|
|
9198
9394
|
// Complete event and task
|
|
@@ -9344,7 +9540,6 @@ class WorkAllocationService {
|
|
|
9344
9540
|
// explicitly eat away 401 error and 400 error
|
|
9345
9541
|
if (error && error.status && (error.status === 401 || error.status === 400)) {
|
|
9346
9542
|
// do nothing
|
|
9347
|
-
console.log('error status 401 or 400', error);
|
|
9348
9543
|
}
|
|
9349
9544
|
else {
|
|
9350
9545
|
return throwError(error);
|
|
@@ -9842,6 +10037,11 @@ class CaseEditComponent {
|
|
|
9842
10037
|
if (!this.isCaseFlagSubmission) {
|
|
9843
10038
|
this.formValueService.removeUnnecessaryFields(caseEventData.data, pageListCaseFields, true, true);
|
|
9844
10039
|
}
|
|
10040
|
+
// removeHiddenFields while are hidden in the UI
|
|
10041
|
+
// Only remove hidden fields if editForm and its controls are available
|
|
10042
|
+
if (form?.controls?.['data']?.['controls']) {
|
|
10043
|
+
this.formValueService.removeHiddenField(caseEventData.data, pageListCaseFields, true, form.controls['data']['controls']);
|
|
10044
|
+
}
|
|
9845
10045
|
caseEventData.event_token = eventTrigger.event_token;
|
|
9846
10046
|
caseEventData.ignore_warning = this.ignoreWarning;
|
|
9847
10047
|
if (this.confirmation) {
|
|
@@ -10201,6 +10401,7 @@ class CasesService {
|
|
|
10201
10401
|
loadingService;
|
|
10202
10402
|
sessionStorageService;
|
|
10203
10403
|
retryUtil;
|
|
10404
|
+
logger = new StructuredLoggerService();
|
|
10204
10405
|
// Internal (UI) API
|
|
10205
10406
|
static V2_MEDIATYPE_CASE_VIEW = 'application/vnd.uk.gov.hmcts.ccd-data-store-api.ui-case-view.v2+json';
|
|
10206
10407
|
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 +10456,11 @@ class CasesService {
|
|
|
10255
10456
|
let http$ = this.http.get(url, { headers, observe: 'body' });
|
|
10256
10457
|
const artificialDelay = this.appConfig.getTimeoutsCaseRetrievalArtificialDelay();
|
|
10257
10458
|
const timeoutPeriods = this.appConfig.getTimeoutsForCaseRetrieval();
|
|
10258
|
-
console.log(`Timeout periods: ${timeoutPeriods} seconds.`);
|
|
10259
10459
|
if (timeoutPeriods && timeoutPeriods.length > 0 && timeoutPeriods[0] > 0) {
|
|
10260
10460
|
http$ = this.retryUtil.pipeTimeoutMechanismOn(http$, artificialDelay, timeoutPeriods);
|
|
10261
10461
|
}
|
|
10262
10462
|
else {
|
|
10263
|
-
|
|
10463
|
+
this.logger.warn('Skipping retry mechanism for case view retrieval.');
|
|
10264
10464
|
}
|
|
10265
10465
|
http$ = this.pipeErrorProcessor(http$);
|
|
10266
10466
|
http$ = http$.pipe(finalize(() => this.finalizeGetCaseViewWith(caseId, loadingToken)));
|
|
@@ -10268,8 +10468,11 @@ class CasesService {
|
|
|
10268
10468
|
}
|
|
10269
10469
|
pipeErrorProcessor(in$) {
|
|
10270
10470
|
const out$ = in$.pipe(catchError(error => {
|
|
10271
|
-
|
|
10272
|
-
|
|
10471
|
+
this.logger.error('Error while getting case view with getCaseViewV2.', {
|
|
10472
|
+
error,
|
|
10473
|
+
errorName: error?.name,
|
|
10474
|
+
errorType: typeof error
|
|
10475
|
+
});
|
|
10273
10476
|
this.errorService.setError(error);
|
|
10274
10477
|
return throwError(error);
|
|
10275
10478
|
}));
|
|
@@ -11381,6 +11584,7 @@ class CaseEditPageComponent {
|
|
|
11381
11584
|
dialogRefAfterClosedSub;
|
|
11382
11585
|
saveDraftSub;
|
|
11383
11586
|
caseFormValidationErrorsSub;
|
|
11587
|
+
logger = new StructuredLoggerService();
|
|
11384
11588
|
static scrollToTop() {
|
|
11385
11589
|
window.scrollTo(0, 0);
|
|
11386
11590
|
}
|
|
@@ -11712,7 +11916,6 @@ class CaseEditPageComponent {
|
|
|
11712
11916
|
}
|
|
11713
11917
|
if (!this.caseEdit.isSubmitting && !this.currentPageIsNotValid()) {
|
|
11714
11918
|
this.addressService.setMandatoryError(false);
|
|
11715
|
-
console.log('Case Edit Error', this.caseEdit.error);
|
|
11716
11919
|
if (this.caseEdit.validPageList.findIndex(page => page.id === this.currentPage.id) === -1) {
|
|
11717
11920
|
this.caseEdit.validPageList.push(this.currentPage);
|
|
11718
11921
|
}
|
|
@@ -11925,7 +12128,7 @@ class CaseEditPageComponent {
|
|
|
11925
12128
|
this.formErrorService
|
|
11926
12129
|
.mapFieldErrors(this.caseEdit.error.details.field_errors, this.editForm?.controls?.['data'], 'validation');
|
|
11927
12130
|
}
|
|
11928
|
-
|
|
12131
|
+
this.logger.error('Case edit page handled an error.', { error });
|
|
11929
12132
|
}
|
|
11930
12133
|
resetErrors() {
|
|
11931
12134
|
this.clearValidationErrors();
|
|
@@ -12003,6 +12206,11 @@ class CaseEditPageComponent {
|
|
|
12003
12206
|
this.validPageListCaseFieldsService.deleteNonValidatedFields(this.caseEdit.validPageList, caseEventData.data, this.eventTrigger.case_fields, fromPreviousPage, this.editForm.controls['data'].value);
|
|
12004
12207
|
// Tidy it up before we return it.
|
|
12005
12208
|
this.formValueService.removeUnnecessaryFields(caseEventData.data, caseFields, clearEmpty, clearNonCase, fromPreviousPage, this.currentPage.case_fields);
|
|
12209
|
+
// removeHiddenFields while are hidden in the UI
|
|
12210
|
+
// Only remove hidden fields if editForm and its controls are available
|
|
12211
|
+
if (this.editForm?.controls?.['data']?.['controls']) {
|
|
12212
|
+
this.formValueService.removeHiddenField(caseEventData.data, caseFields, clearNonCase, this.editForm.controls['data']['controls']);
|
|
12213
|
+
}
|
|
12006
12214
|
return caseEventData;
|
|
12007
12215
|
}
|
|
12008
12216
|
syncCaseEditDataService() {
|
|
@@ -13032,6 +13240,7 @@ function WriteAddressFieldComponent_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
|
13032
13240
|
} }
|
|
13033
13241
|
class WriteAddressFieldComponent extends AbstractFieldWriteComponent {
|
|
13034
13242
|
isCompoundPipe;
|
|
13243
|
+
logger = new StructuredLoggerService();
|
|
13035
13244
|
writeComplexFieldComponent;
|
|
13036
13245
|
focusElementDirectives;
|
|
13037
13246
|
static REQUIRED_ERROR_MESSAGE = 'Enter a Postcode';
|
|
@@ -13084,7 +13293,7 @@ class WriteAddressFieldComponent extends AbstractFieldWriteComponent {
|
|
|
13084
13293
|
});
|
|
13085
13294
|
}, (error) => {
|
|
13086
13295
|
this.loadingAddresses = false;
|
|
13087
|
-
|
|
13296
|
+
this.logger.error('An error occurred retrieving addresses for postcode.', { error });
|
|
13088
13297
|
});
|
|
13089
13298
|
this.addressList.setValue(undefined);
|
|
13090
13299
|
this.refocusElement();
|
|
@@ -13184,7 +13393,7 @@ class WriteAddressFieldComponent extends AbstractFieldWriteComponent {
|
|
|
13184
13393
|
type: ViewChildren,
|
|
13185
13394
|
args: [FocusElementDirective]
|
|
13186
13395
|
}] }); })();
|
|
13187
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteAddressFieldComponent, { className: "WriteAddressFieldComponent", filePath: "lib/shared/components/palette/address/write-address-field.component.ts", lineNumber:
|
|
13396
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteAddressFieldComponent, { className: "WriteAddressFieldComponent", filePath: "lib/shared/components/palette/address/write-address-field.component.ts", lineNumber: 19 }); })();
|
|
13188
13397
|
|
|
13189
13398
|
var PaletteContext;
|
|
13190
13399
|
(function (PaletteContext) {
|
|
@@ -15175,6 +15384,7 @@ class WriteCollectionFieldComponent extends AbstractFieldWriteComponent {
|
|
|
15175
15384
|
scrollToService;
|
|
15176
15385
|
profileNotifier;
|
|
15177
15386
|
cdRef;
|
|
15387
|
+
logger = new StructuredLoggerService();
|
|
15178
15388
|
caseFields = [];
|
|
15179
15389
|
formArray;
|
|
15180
15390
|
profile;
|
|
@@ -15322,7 +15532,7 @@ class WriteCollectionFieldComponent extends AbstractFieldWriteComponent {
|
|
|
15322
15532
|
duration: 1000,
|
|
15323
15533
|
offset: -150,
|
|
15324
15534
|
})
|
|
15325
|
-
.subscribe(() => { },
|
|
15535
|
+
.subscribe(() => { }, error => this.logger.error('Error while scrolling collection item into view.', { error }));
|
|
15326
15536
|
}
|
|
15327
15537
|
this.focusLastItem();
|
|
15328
15538
|
}
|
|
@@ -15530,7 +15740,7 @@ class WriteCollectionFieldComponent extends AbstractFieldWriteComponent {
|
|
|
15530
15740
|
type: ViewChildren,
|
|
15531
15741
|
args: ['collectionItem']
|
|
15532
15742
|
}] }); })();
|
|
15533
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteCollectionFieldComponent, { className: "WriteCollectionFieldComponent", filePath: "lib/shared/components/palette/collection/write-collection-field.component.ts", lineNumber:
|
|
15743
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteCollectionFieldComponent, { className: "WriteCollectionFieldComponent", filePath: "lib/shared/components/palette/collection/write-collection-field.component.ts", lineNumber: 34 }); })();
|
|
15534
15744
|
|
|
15535
15745
|
function ReadComplexFieldComponent_ccd_read_complex_field_raw_1_Template(rf, ctx) { if (rf & 1) {
|
|
15536
15746
|
i0.ɵɵelement(0, "ccd-read-complex-field-raw", 4);
|
|
@@ -15902,8 +16112,6 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
|
|
|
15902
16112
|
this.jurisdictionId = parts[parts.indexOf('case-create') + 1];
|
|
15903
16113
|
this.caseTypeId = parts[parts.indexOf('case-create') + 2];
|
|
15904
16114
|
this.caseId = null;
|
|
15905
|
-
console.log(this.jurisdictionId);
|
|
15906
|
-
console.log(this.caseTypeId);
|
|
15907
16115
|
}
|
|
15908
16116
|
// use the documentManagement service to check if the document upload should use CDAM
|
|
15909
16117
|
if (this.documentManagement.isDocumentSecureModeEnabled()) {
|
|
@@ -21686,6 +21894,7 @@ const CIVIL_JURISDICTION = 'CIVIL';
|
|
|
21686
21894
|
class QueryManagementService {
|
|
21687
21895
|
router;
|
|
21688
21896
|
sessionStorageService;
|
|
21897
|
+
logger = new StructuredLoggerService();
|
|
21689
21898
|
caseQueriesCollections;
|
|
21690
21899
|
fieldId;
|
|
21691
21900
|
constructor(router, sessionStorageService) {
|
|
@@ -21705,7 +21914,7 @@ class QueryManagementService {
|
|
|
21705
21914
|
currentUserDetails = safeJsonParse(this.sessionStorageService.getItem(USER_DETAILS), {});
|
|
21706
21915
|
}
|
|
21707
21916
|
catch (e) {
|
|
21708
|
-
|
|
21917
|
+
this.logger.error('Could not parse USER_DETAILS from session storage.', { error: e });
|
|
21709
21918
|
currentUserDetails = {};
|
|
21710
21919
|
}
|
|
21711
21920
|
const isHmctsStaff = (this.isJudiciaryUser() || this.isInternalUser()) ? 'Yes' : 'No';
|
|
@@ -21715,7 +21924,7 @@ class QueryManagementService {
|
|
|
21715
21924
|
const isNewQuery = queryCreateContext === QueryCreateContext.NEW_QUERY; // Check if this is a new query
|
|
21716
21925
|
// Check if the field ID has been set dynamically
|
|
21717
21926
|
if (!this.fieldId) {
|
|
21718
|
-
|
|
21927
|
+
this.logger.error('Field ID for CaseQueriesCollection not found. Cannot proceed with data generation.');
|
|
21719
21928
|
this.router.navigate(['/', 'service-down']);
|
|
21720
21929
|
throw new Error('Field ID for CaseQueriesCollection not found. Aborting query data generation.');
|
|
21721
21930
|
}
|
|
@@ -21775,7 +21984,7 @@ class QueryManagementService {
|
|
|
21775
21984
|
setCaseQueriesCollectionData(eventData, queryCreateContext, caseDetails, messageId) {
|
|
21776
21985
|
const resolvedFieldId = this.resolveFieldId(eventData, queryCreateContext, caseDetails, messageId);
|
|
21777
21986
|
if (!resolvedFieldId) {
|
|
21778
|
-
|
|
21987
|
+
this.logger.error('Failed to resolve fieldId for CaseQueriesCollection. Cannot proceed.');
|
|
21779
21988
|
return;
|
|
21780
21989
|
}
|
|
21781
21990
|
this.fieldId = resolvedFieldId;
|
|
@@ -21795,7 +22004,7 @@ class QueryManagementService {
|
|
|
21795
22004
|
field.field_type.type === FIELD_TYPE_COMPLEX &&
|
|
21796
22005
|
field.display_context !== DISPLAY_CONTEXT_READONLY);
|
|
21797
22006
|
if (!candidateFields?.length) {
|
|
21798
|
-
|
|
22007
|
+
this.logger.warn('No editable CaseQueriesCollection fields found.');
|
|
21799
22008
|
return null;
|
|
21800
22009
|
}
|
|
21801
22010
|
const numberOfCollections = candidateFields.length;
|
|
@@ -21822,12 +22031,12 @@ class QueryManagementService {
|
|
|
21822
22031
|
}
|
|
21823
22032
|
}
|
|
21824
22033
|
else {
|
|
21825
|
-
|
|
22034
|
+
this.logger.error('Multiple CaseQueriesCollections are not supported yet for this jurisdiction.', { jurisdictionId });
|
|
21826
22035
|
return null;
|
|
21827
22036
|
}
|
|
21828
22037
|
}
|
|
21829
22038
|
// Step 4: Fallback — if none of the above succeeded
|
|
21830
|
-
|
|
22039
|
+
this.logger.warn('Could not determine fieldId for context.', { queryCreateContext });
|
|
21831
22040
|
return null;
|
|
21832
22041
|
}
|
|
21833
22042
|
getCaseQueriesCollectionFieldOrderFromWizardPages(eventData) {
|
|
@@ -22439,6 +22648,7 @@ class QueryCheckYourAnswersComponent {
|
|
|
22439
22648
|
queryManagementService;
|
|
22440
22649
|
errorNotifierService;
|
|
22441
22650
|
alertService;
|
|
22651
|
+
logger = new StructuredLoggerService();
|
|
22442
22652
|
RAISE_A_QUERY_EVENT_TRIGGER_ID = 'queryManagementRaiseQuery';
|
|
22443
22653
|
RESPOND_TO_QUERY_EVENT_TRIGGER_ID = 'queryManagementRespondQuery';
|
|
22444
22654
|
CASE_QUERIES_COLLECTION_ID = 'CaseQueriesCollection';
|
|
@@ -22526,7 +22736,7 @@ class QueryCheckYourAnswersComponent {
|
|
|
22526
22736
|
if (error.status !== 401 && error.status !== 403) {
|
|
22527
22737
|
this.errorNotifierService.announceError(error);
|
|
22528
22738
|
this.alertService.error({ phrase: error.message });
|
|
22529
|
-
|
|
22739
|
+
this.logger.error('Error occurred while fetching event data.', { error });
|
|
22530
22740
|
this.callbackErrorsSubject.next(error);
|
|
22531
22741
|
}
|
|
22532
22742
|
else {
|
|
@@ -22579,7 +22789,7 @@ class QueryCheckYourAnswersComponent {
|
|
|
22579
22789
|
});
|
|
22580
22790
|
}
|
|
22581
22791
|
else {
|
|
22582
|
-
|
|
22792
|
+
this.logger.error('No task to complete was found.');
|
|
22583
22793
|
this.errorMessages = [
|
|
22584
22794
|
{
|
|
22585
22795
|
title: 'Error',
|
|
@@ -22623,7 +22833,7 @@ class QueryCheckYourAnswersComponent {
|
|
|
22623
22833
|
this.isSubmitting = false;
|
|
22624
22834
|
}
|
|
22625
22835
|
handleError(error) {
|
|
22626
|
-
|
|
22836
|
+
this.logger.error('Error in query management API calls.', { error });
|
|
22627
22837
|
this.isSubmitting = false;
|
|
22628
22838
|
if (this.isServiceErrorFound(error)) {
|
|
22629
22839
|
this.error = null;
|
|
@@ -22651,7 +22861,7 @@ class QueryCheckYourAnswersComponent {
|
|
|
22651
22861
|
}
|
|
22652
22862
|
setCaseQueriesCollectionData() {
|
|
22653
22863
|
if (!this.eventData) {
|
|
22654
|
-
|
|
22864
|
+
this.logger.warn('Event data not available; skipping collection setup.');
|
|
22655
22865
|
}
|
|
22656
22866
|
this.queryManagementService.setCaseQueriesCollectionData(this.eventData, this.queryCreateContext, this.caseDetails, this.messageId);
|
|
22657
22867
|
}
|
|
@@ -22686,7 +22896,7 @@ class QueryCheckYourAnswersComponent {
|
|
|
22686
22896
|
}], createEventResponse: [{
|
|
22687
22897
|
type: Output
|
|
22688
22898
|
}] }); })();
|
|
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:
|
|
22899
|
+
(() => { (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
22900
|
|
|
22691
22901
|
function QueryDetailsComponent_ng_container_0_p_1_Template(rf, ctx) { if (rf & 1) {
|
|
22692
22902
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
@@ -23747,6 +23957,7 @@ function QueryWriteRaiseQueryComponent_div_11_Template(rf, ctx) { if (rf & 1) {
|
|
|
23747
23957
|
class QueryWriteRaiseQueryComponent {
|
|
23748
23958
|
queryManagementService;
|
|
23749
23959
|
route;
|
|
23960
|
+
logger = new StructuredLoggerService();
|
|
23750
23961
|
formGroup;
|
|
23751
23962
|
submitted;
|
|
23752
23963
|
caseDetails;
|
|
@@ -23794,7 +24005,7 @@ class QueryWriteRaiseQueryComponent {
|
|
|
23794
24005
|
}
|
|
23795
24006
|
setCaseQueriesCollectionData() {
|
|
23796
24007
|
if (!this.eventData) {
|
|
23797
|
-
|
|
24008
|
+
this.logger.warn('Event data not available; skipping collection setup.');
|
|
23798
24009
|
return false;
|
|
23799
24010
|
}
|
|
23800
24011
|
this.queryManagementService.setCaseQueriesCollectionData(this.eventData, this.queryCreateContext, this.caseDetails, this.messageId);
|
|
@@ -23856,7 +24067,7 @@ class QueryWriteRaiseQueryComponent {
|
|
|
23856
24067
|
}], queryDataCreated: [{
|
|
23857
24068
|
type: Output
|
|
23858
24069
|
}] }); })();
|
|
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:
|
|
24070
|
+
(() => { (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
24071
|
|
|
23861
24072
|
function QueryWriteRespondToQueryComponent_ccd_query_case_details_header_9_Template(rf, ctx) { if (rf & 1) {
|
|
23862
24073
|
i0.ɵɵelement(0, "ccd-query-case-details-header", 8);
|
|
@@ -23939,6 +24150,7 @@ class QueryWriteRespondToQueryComponent {
|
|
|
23939
24150
|
caseNotifier;
|
|
23940
24151
|
route;
|
|
23941
24152
|
queryManagementService;
|
|
24153
|
+
logger = new StructuredLoggerService();
|
|
23942
24154
|
queryItem;
|
|
23943
24155
|
formGroup;
|
|
23944
24156
|
queryCreateContext;
|
|
@@ -23973,7 +24185,7 @@ class QueryWriteRespondToQueryComponent {
|
|
|
23973
24185
|
this.caseDetails = caseDetails;
|
|
23974
24186
|
},
|
|
23975
24187
|
error: (err) => {
|
|
23976
|
-
|
|
24188
|
+
this.logger.error('Error retrieving case details.', { error: err });
|
|
23977
24189
|
}
|
|
23978
24190
|
});
|
|
23979
24191
|
}
|
|
@@ -23983,19 +24195,19 @@ class QueryWriteRespondToQueryComponent {
|
|
|
23983
24195
|
return;
|
|
23984
24196
|
}
|
|
23985
24197
|
if (!this.caseQueriesCollections[0]) {
|
|
23986
|
-
|
|
24198
|
+
this.logger.error('Case queries collection is undefined.');
|
|
23987
24199
|
return;
|
|
23988
24200
|
}
|
|
23989
24201
|
this.messageId = this.route.snapshot.params?.dataid;
|
|
23990
24202
|
if (!this.messageId) {
|
|
23991
|
-
|
|
24203
|
+
this.logger.warn('No messageId found in route params.', { routeParams: this.route.snapshot.params });
|
|
23992
24204
|
return;
|
|
23993
24205
|
}
|
|
23994
24206
|
const allMessages = this.caseQueriesCollections
|
|
23995
24207
|
.flatMap((caseData) => caseData?.caseMessages || []);
|
|
23996
24208
|
const matchingMessage = allMessages.find((message) => message?.value?.id === this.messageId)?.value;
|
|
23997
24209
|
if (!matchingMessage) {
|
|
23998
|
-
|
|
24210
|
+
this.logger.warn('No matching message found for ID.', { messageId: this.messageId });
|
|
23999
24211
|
return;
|
|
24000
24212
|
}
|
|
24001
24213
|
const caseQueriesCollections = this.caseQueriesCollections.find((collection) => collection?.caseMessages.find((c) => c.value.id === this.messageId));
|
|
@@ -24019,7 +24231,7 @@ class QueryWriteRespondToQueryComponent {
|
|
|
24019
24231
|
}
|
|
24020
24232
|
setCaseQueriesCollectionData() {
|
|
24021
24233
|
if (!this.eventData) {
|
|
24022
|
-
|
|
24234
|
+
this.logger.warn('Event data not available; skipping collection setup.');
|
|
24023
24235
|
return false;
|
|
24024
24236
|
}
|
|
24025
24237
|
this.queryManagementService.setCaseQueriesCollectionData(this.eventData, this.queryCreateContext, this.caseDetails, this.messageId);
|
|
@@ -24084,7 +24296,7 @@ class QueryWriteRespondToQueryComponent {
|
|
|
24084
24296
|
}], hasRespondedToQueryTask: [{
|
|
24085
24297
|
type: Output
|
|
24086
24298
|
}] }); })();
|
|
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:
|
|
24299
|
+
(() => { (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
24300
|
|
|
24089
24301
|
function QueryConfirmationComponent_main_0_ng_container_3_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
24090
24302
|
i0.ɵɵelementStart(0, "h1", 8);
|
|
@@ -24234,6 +24446,7 @@ function QueryConfirmationComponent_main_0_Template(rf, ctx) { if (rf & 1) {
|
|
|
24234
24446
|
class QueryConfirmationComponent {
|
|
24235
24447
|
route;
|
|
24236
24448
|
sessionStorageService;
|
|
24449
|
+
logger = new StructuredLoggerService();
|
|
24237
24450
|
queryCreateContext;
|
|
24238
24451
|
callbackConfirmationMessageText = {};
|
|
24239
24452
|
eventResponseData;
|
|
@@ -24264,7 +24477,7 @@ class QueryConfirmationComponent {
|
|
|
24264
24477
|
resolveHmctsStaffRaisedQuery() {
|
|
24265
24478
|
const messageId = this.route.snapshot.params.dataid;
|
|
24266
24479
|
if (!this.eventResponseData) {
|
|
24267
|
-
|
|
24480
|
+
this.logger.warn('No event response data available.');
|
|
24268
24481
|
return;
|
|
24269
24482
|
}
|
|
24270
24483
|
this.queryListData = new QueryListData(this.eventResponseData);
|
|
@@ -24278,7 +24491,7 @@ class QueryConfirmationComponent {
|
|
|
24278
24491
|
?.flatMap((p) => p.children || [])
|
|
24279
24492
|
.find((c) => c.parentId === messageId);
|
|
24280
24493
|
if (!child) {
|
|
24281
|
-
|
|
24494
|
+
this.logger.warn('No matching child found for messageId.', { messageId });
|
|
24282
24495
|
return;
|
|
24283
24496
|
}
|
|
24284
24497
|
const parentItem = this.queryListData?.queries
|
|
@@ -34402,6 +34615,7 @@ class WorkbasketFiltersComponent {
|
|
|
34402
34615
|
static PARAM_JURISDICTION = 'jurisdiction';
|
|
34403
34616
|
static PARAM_CASE_TYPE = 'case-type';
|
|
34404
34617
|
static PARAM_CASE_STATE = 'case-state';
|
|
34618
|
+
logger = new StructuredLoggerService();
|
|
34405
34619
|
caseFields;
|
|
34406
34620
|
jurisdictions;
|
|
34407
34621
|
defaults;
|
|
@@ -34575,9 +34789,7 @@ class WorkbasketFiltersComponent {
|
|
|
34575
34789
|
}
|
|
34576
34790
|
});
|
|
34577
34791
|
this.getCaseFields();
|
|
34578
|
-
}, error => {
|
|
34579
|
-
console.log('Workbasket input fields request will be discarded reason: ', error.message);
|
|
34580
|
-
});
|
|
34792
|
+
}, error => this.logger.error('Workbasket input fields request will be discarded.', { error }));
|
|
34581
34793
|
}
|
|
34582
34794
|
}
|
|
34583
34795
|
else {
|
|
@@ -34837,7 +35049,7 @@ class WorkbasketFiltersComponent {
|
|
|
34837
35049
|
}], onReset: [{
|
|
34838
35050
|
type: Output
|
|
34839
35051
|
}] }); })();
|
|
34840
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WorkbasketFiltersComponent, { className: "WorkbasketFiltersComponent", filePath: "lib/shared/components/workbasket-filters/workbasket-filters.component.ts", lineNumber:
|
|
35052
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WorkbasketFiltersComponent, { className: "WorkbasketFiltersComponent", filePath: "lib/shared/components/workbasket-filters/workbasket-filters.component.ts", lineNumber: 28 }); })();
|
|
34841
35053
|
|
|
34842
35054
|
class WorkbasketFiltersModule {
|
|
34843
35055
|
static ɵfac = function WorkbasketFiltersModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || WorkbasketFiltersModule)(); };
|
|
@@ -35227,6 +35439,7 @@ class CaseHistoryComponent {
|
|
|
35227
35439
|
orderService;
|
|
35228
35440
|
caseNotifier;
|
|
35229
35441
|
caseHistoryService;
|
|
35442
|
+
logger = new StructuredLoggerService();
|
|
35230
35443
|
static PARAM_EVENT_ID = 'eid';
|
|
35231
35444
|
static ERROR_MESSAGE = 'No case history to show';
|
|
35232
35445
|
event;
|
|
@@ -35259,7 +35472,7 @@ class CaseHistoryComponent {
|
|
|
35259
35472
|
this.tabs = this.orderService.sort(this.caseHistory.tabs);
|
|
35260
35473
|
this.tabs = this.sortTabFieldsAndFilterTabs(this.tabs);
|
|
35261
35474
|
}), catchError(error => {
|
|
35262
|
-
|
|
35475
|
+
this.logger.error('Error while getting case history.', { error });
|
|
35263
35476
|
if (error.status !== 401 && error.status !== 403) {
|
|
35264
35477
|
this.alertService.error(error.message);
|
|
35265
35478
|
}
|
|
@@ -35293,7 +35506,7 @@ class CaseHistoryComponent {
|
|
|
35293
35506
|
}], () => [{ type: i1$1.ActivatedRoute }, { type: AlertService }, { type: OrderService }, { type: CaseNotifier }, { type: CaseHistoryService }], { event: [{
|
|
35294
35507
|
type: Input
|
|
35295
35508
|
}] }); })();
|
|
35296
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseHistoryComponent, { className: "CaseHistoryComponent", filePath: "lib/shared/components/case-history/case-history.component.ts", lineNumber:
|
|
35509
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseHistoryComponent, { className: "CaseHistoryComponent", filePath: "lib/shared/components/case-history/case-history.component.ts", lineNumber: 22 }); })();
|
|
35297
35510
|
|
|
35298
35511
|
class CaseHistoryModule {
|
|
35299
35512
|
static ɵfac = function CaseHistoryModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CaseHistoryModule)(); };
|
|
@@ -35517,11 +35730,9 @@ class CaseResolver {
|
|
|
35517
35730
|
const currentUrl = this.router.url ?? '';
|
|
35518
35731
|
// Prevent resolving if eventId=queryManagementRespondQuery is in the URL
|
|
35519
35732
|
if (currentUrl.includes(CaseResolver.EVENT_ID_QM_RESPOND_TO_QUERY)) {
|
|
35520
|
-
console.info('Skipping resolve for event queryManagementRespondQuery.');
|
|
35521
35733
|
this.goToDefaultPage();
|
|
35522
35734
|
}
|
|
35523
35735
|
if (!cid) {
|
|
35524
|
-
console.info('No case ID available in the route. Will navigate to case list.');
|
|
35525
35736
|
// when redirected to case view after a case created, and the user has no READ access,
|
|
35526
35737
|
// the post returns no id
|
|
35527
35738
|
this.navigateToCaseList();
|
|
@@ -35578,8 +35789,6 @@ class CaseResolver {
|
|
|
35578
35789
|
}), catchError(error => this.processErrorInCaseFetch(error, cid))).toPromise();
|
|
35579
35790
|
}
|
|
35580
35791
|
processErrorInCaseFetch(error, caseReference) {
|
|
35581
|
-
console.error('!!! processErrorInCaseFetch !!!');
|
|
35582
|
-
console.error(error);
|
|
35583
35792
|
// TODO Should be logged to remote logging infrastructure
|
|
35584
35793
|
if (error.status === 400) {
|
|
35585
35794
|
this.router.navigate(['/search/noresults']);
|
|
@@ -35607,7 +35816,6 @@ class CaseResolver {
|
|
|
35607
35816
|
}
|
|
35608
35817
|
// as discussed for EUI-5456, need functionality to go to default page
|
|
35609
35818
|
goToDefaultPage() {
|
|
35610
|
-
console.info('Going to default page!');
|
|
35611
35819
|
const userDetails = safeJsonParse(this.sessionStorage.getItem(USER_DETAILS));
|
|
35612
35820
|
userDetails && userDetails.roles
|
|
35613
35821
|
&& !userDetails.roles.includes(PUI_CASE_MANAGER)
|
|
@@ -35805,7 +36013,6 @@ class CaseEventTriggerComponent {
|
|
|
35805
36013
|
if (this.activityPollingService.isEnabled) {
|
|
35806
36014
|
this.ngZone.runOutsideAngular(() => {
|
|
35807
36015
|
this.activitySubscription = this.postEditActivity().subscribe(() => {
|
|
35808
|
-
// console.log('Posted EDIT activity and result is: ' + JSON.stringify(_resolved));
|
|
35809
36016
|
});
|
|
35810
36017
|
});
|
|
35811
36018
|
}
|
|
@@ -35976,8 +36183,6 @@ class CaseViewComponent {
|
|
|
35976
36183
|
}
|
|
35977
36184
|
checkErrorGettingCaseView(error) {
|
|
35978
36185
|
// TODO Should be logged to remote logging infrastructure
|
|
35979
|
-
console.error('Called checkErrorGettingCaseView.');
|
|
35980
|
-
console.error(error);
|
|
35981
36186
|
if (error.status !== 401 && error.status !== 403) {
|
|
35982
36187
|
this.alertService.error(error.message);
|
|
35983
36188
|
}
|
|
@@ -37329,7 +37534,6 @@ class CaseViewerComponent {
|
|
|
37329
37534
|
}
|
|
37330
37535
|
else {
|
|
37331
37536
|
this.caseSubscription = this.caseNotifier.caseView.subscribe((caseDetails) => {
|
|
37332
|
-
console.info('Setting the case into case viewer component as retrieved from XHR request.');
|
|
37333
37537
|
this.caseDetails = caseDetails;
|
|
37334
37538
|
this.setUserAccessType(this.caseDetails);
|
|
37335
37539
|
});
|
|
@@ -38197,9 +38401,7 @@ class EventStartStateMachineService {
|
|
|
38197
38401
|
if (!task) {
|
|
38198
38402
|
task = context.tasks[0];
|
|
38199
38403
|
}
|
|
38200
|
-
const taskStr = JSON.stringify(task);
|
|
38201
38404
|
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
38405
|
// Store task to session
|
|
38204
38406
|
const currentLanguage = context.cookieService.getCookie('exui-preferred-language');
|
|
38205
38407
|
const clientContext = {
|
|
@@ -38240,7 +38442,6 @@ class EventStartStateMachineService {
|
|
|
38240
38442
|
}
|
|
38241
38443
|
finalAction(state) {
|
|
38242
38444
|
// Final actions can be performed here, the state machine finished running
|
|
38243
|
-
// console.log('FINAL', state);
|
|
38244
38445
|
return;
|
|
38245
38446
|
}
|
|
38246
38447
|
addTransitionsForStateCheckForMatchingTasks() {
|
|
@@ -40200,6 +40401,7 @@ class SearchFiltersComponent {
|
|
|
40200
40401
|
orderService;
|
|
40201
40402
|
jurisdictionService;
|
|
40202
40403
|
windowService;
|
|
40404
|
+
logger = new StructuredLoggerService();
|
|
40203
40405
|
PARAM_JURISDICTION = 'jurisdiction';
|
|
40204
40406
|
PARAM_CASE_TYPE = 'case-type';
|
|
40205
40407
|
PARAM_CASE_STATE = 'case-state';
|
|
@@ -40295,7 +40497,7 @@ class SearchFiltersComponent {
|
|
|
40295
40497
|
}
|
|
40296
40498
|
}
|
|
40297
40499
|
catch (e) {
|
|
40298
|
-
|
|
40500
|
+
this.logger.error('Failed to retrieve jurisdiction from local storage.', { error: e });
|
|
40299
40501
|
this.windowService.setLocalStorage(JURISDICTION_LOC_STORAGE, null);
|
|
40300
40502
|
}
|
|
40301
40503
|
}
|
|
@@ -40349,9 +40551,7 @@ class SearchFiltersComponent {
|
|
|
40349
40551
|
}
|
|
40350
40552
|
});
|
|
40351
40553
|
this.getCaseFields();
|
|
40352
|
-
}, error => {
|
|
40353
|
-
console.log('Search input fields request will be discarded reason: ', error.message);
|
|
40354
|
-
});
|
|
40554
|
+
}, error => this.logger.error('Search input fields request will be discarded.', { error }));
|
|
40355
40555
|
}
|
|
40356
40556
|
isJurisdictionSelected() {
|
|
40357
40557
|
return this.selected.jurisdiction === null ||
|
|
@@ -40488,7 +40688,7 @@ class SearchFiltersComponent {
|
|
|
40488
40688
|
}], onJurisdiction: [{
|
|
40489
40689
|
type: Output
|
|
40490
40690
|
}] }); })();
|
|
40491
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SearchFiltersComponent, { className: "SearchFiltersComponent", filePath: "lib/shared/components/search-filters/search-filters.component.ts", lineNumber:
|
|
40691
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SearchFiltersComponent, { className: "SearchFiltersComponent", filePath: "lib/shared/components/search-filters/search-filters.component.ts", lineNumber: 28 }); })();
|
|
40492
40692
|
|
|
40493
40693
|
function SearchFiltersWrapperComponent_ccd_search_filters_0_Template(rf, ctx) { if (rf & 1) {
|
|
40494
40694
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
@@ -41704,5 +41904,5 @@ class TestRouteSnapshotBuilder {
|
|
|
41704
41904
|
* Generated bundle index. Do not edit.
|
|
41705
41905
|
*/
|
|
41706
41906
|
|
|
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 };
|
|
41907
|
+
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
41908
|
//# sourceMappingURL=hmcts-ccd-case-ui-toolkit.mjs.map
|