@hmcts/ccd-case-ui-toolkit 7.3.34-fix-security-issue → 7.3.35-3951
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs +158 -180
- package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
- package/index.d.ts +14 -31
- package/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component, Input, EventEmitter, Output, NgModule, ViewEncapsulation, forwardRef, Pipe, ContentChildren, ViewChildren, DOCUMENT, Injectable, Inject,
|
|
2
|
+
import { Component, Input, EventEmitter, Output, NgModule, ViewEncapsulation, forwardRef, Pipe, ContentChildren, ViewChildren, DOCUMENT, Injectable, Inject, ChangeDetectorRef, Directive, InjectionToken, ViewChild, ChangeDetectionStrategy, Injector, ViewContainerRef, 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';
|
|
@@ -37,7 +37,7 @@ import { PaymentLibModule } from '@hmcts/ccpay-web-component';
|
|
|
37
37
|
import { v4 } from 'uuid';
|
|
38
38
|
import * as i2$1 from '@angular/cdk/overlay';
|
|
39
39
|
import { OverlayModule } from '@angular/cdk/overlay';
|
|
40
|
-
import * as
|
|
40
|
+
import * as i6$1 from '@angular/cdk/tree';
|
|
41
41
|
import { NestedTreeControl, CdkTreeModule } from '@angular/cdk/tree';
|
|
42
42
|
import { cloneDeep } from 'lodash';
|
|
43
43
|
import * as i4$1 from '@angular-material-components/datetime-picker';
|
|
@@ -45,7 +45,7 @@ import { NGX_MAT_DATE_FORMATS, NgxMatDateAdapter, NgxMatDatetimePickerModule, Ng
|
|
|
45
45
|
import { NGX_MAT_MOMENT_DATE_ADAPTER_OPTIONS, NgxMatMomentAdapter } from '@angular-material-components/moment-adapter';
|
|
46
46
|
import * as i5$1 from '@angular/material/legacy-form-field';
|
|
47
47
|
import { MatLegacyFormFieldModule } from '@angular/material/legacy-form-field';
|
|
48
|
-
import * as i6$
|
|
48
|
+
import * as i6$2 from '@angular/material/datepicker';
|
|
49
49
|
import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
50
50
|
import * as i15 from '@angular/material/legacy-input';
|
|
51
51
|
import { MatLegacyInputModule } from '@angular/material/legacy-input';
|
|
@@ -1637,89 +1637,23 @@ class SessionStorageService {
|
|
|
1637
1637
|
sessionStorage.clear();
|
|
1638
1638
|
}
|
|
1639
1639
|
static ɵfac = function SessionStorageService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SessionStorageService)(); };
|
|
1640
|
-
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: SessionStorageService, factory: SessionStorageService.ɵfac
|
|
1640
|
+
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: SessionStorageService, factory: SessionStorageService.ɵfac });
|
|
1641
1641
|
}
|
|
1642
1642
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SessionStorageService, [{
|
|
1643
|
-
type: Injectable
|
|
1644
|
-
args: [{
|
|
1645
|
-
providedIn: 'root',
|
|
1646
|
-
}]
|
|
1643
|
+
type: Injectable
|
|
1647
1644
|
}], null, null); })();
|
|
1648
1645
|
|
|
1649
|
-
function safeJsonParse(value, fallback = null) {
|
|
1650
|
-
if (!value) {
|
|
1651
|
-
return fallback;
|
|
1652
|
-
}
|
|
1653
|
-
try {
|
|
1654
|
-
return JSON.parse(value);
|
|
1655
|
-
}
|
|
1656
|
-
catch (error) {
|
|
1657
|
-
// Log for diagnostics, then return fallback to avoid UI crashes.
|
|
1658
|
-
// eslint-disable-next-line no-console
|
|
1659
|
-
console.error('safeJsonParse failed to parse JSON', error);
|
|
1660
|
-
return fallback;
|
|
1661
|
-
}
|
|
1662
|
-
}
|
|
1663
|
-
|
|
1664
|
-
const SessionErrorRoute = new InjectionToken('SessionErrorRoute');
|
|
1665
|
-
const SessionJsonErrorLogger = new InjectionToken('SessionJsonErrorLogger');
|
|
1666
|
-
class SessionStorageGuard {
|
|
1667
|
-
sessionStorageService;
|
|
1668
|
-
router;
|
|
1669
|
-
errorRoute;
|
|
1670
|
-
errorLogger;
|
|
1671
|
-
constructor(sessionStorageService, router, errorRoute, errorLogger) {
|
|
1672
|
-
this.sessionStorageService = sessionStorageService;
|
|
1673
|
-
this.router = router;
|
|
1674
|
-
this.errorRoute = errorRoute;
|
|
1675
|
-
this.errorLogger = errorLogger;
|
|
1676
|
-
}
|
|
1677
|
-
canActivate() {
|
|
1678
|
-
const userInfoStr = this.sessionStorageService.getItem('userDetails');
|
|
1679
|
-
if (!userInfoStr) {
|
|
1680
|
-
return true;
|
|
1681
|
-
}
|
|
1682
|
-
const parsed = safeJsonParse(userInfoStr, null);
|
|
1683
|
-
if (parsed !== null) {
|
|
1684
|
-
return true;
|
|
1685
|
-
}
|
|
1686
|
-
const error = new Error('Invalid userDetails in session storage');
|
|
1687
|
-
if (this.errorLogger) {
|
|
1688
|
-
this.errorLogger(error);
|
|
1689
|
-
}
|
|
1690
|
-
else {
|
|
1691
|
-
// eslint-disable-next-line no-console
|
|
1692
|
-
console.error('Invalid userDetails in session storage', error);
|
|
1693
|
-
}
|
|
1694
|
-
this.router.navigate([this.errorRoute || '/session-error']);
|
|
1695
|
-
return false;
|
|
1696
|
-
}
|
|
1697
|
-
static ɵfac = function SessionStorageGuard_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SessionStorageGuard)(i0.ɵɵinject(SessionStorageService), i0.ɵɵinject(i1$1.Router), i0.ɵɵinject(SessionErrorRoute, 8), i0.ɵɵinject(SessionJsonErrorLogger, 8)); };
|
|
1698
|
-
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: SessionStorageGuard, factory: SessionStorageGuard.ɵfac, providedIn: 'root' });
|
|
1699
|
-
}
|
|
1700
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SessionStorageGuard, [{
|
|
1701
|
-
type: Injectable,
|
|
1702
|
-
args: [{
|
|
1703
|
-
providedIn: 'root',
|
|
1704
|
-
}]
|
|
1705
|
-
}], () => [{ type: SessionStorageService }, { type: i1$1.Router }, { type: undefined, decorators: [{
|
|
1706
|
-
type: Optional
|
|
1707
|
-
}, {
|
|
1708
|
-
type: Inject,
|
|
1709
|
-
args: [SessionErrorRoute]
|
|
1710
|
-
}] }, { type: SessionJsonErrorLogger, decorators: [{
|
|
1711
|
-
type: Optional
|
|
1712
|
-
}, {
|
|
1713
|
-
type: Inject,
|
|
1714
|
-
args: [SessionJsonErrorLogger]
|
|
1715
|
-
}] }], null); })();
|
|
1716
|
-
|
|
1717
1646
|
const USER_DETAILS = 'userDetails';
|
|
1718
1647
|
const PUI_CASE_MANAGER = 'pui-case-manager';
|
|
1719
1648
|
const JUDGE = 'judge';
|
|
1720
1649
|
function getUserDetails(sessionStorageService) {
|
|
1721
|
-
|
|
1722
|
-
|
|
1650
|
+
try {
|
|
1651
|
+
const item = sessionStorageService?.getItem(USER_DETAILS);
|
|
1652
|
+
return item ? JSON.parse(item) : null;
|
|
1653
|
+
}
|
|
1654
|
+
catch {
|
|
1655
|
+
return null;
|
|
1656
|
+
}
|
|
1723
1657
|
}
|
|
1724
1658
|
function isInternalUser(sessionStorageService) {
|
|
1725
1659
|
const userDetails = getUserDetails(sessionStorageService);
|
|
@@ -1758,11 +1692,8 @@ class ActivityService {
|
|
|
1758
1692
|
return error;
|
|
1759
1693
|
}
|
|
1760
1694
|
getOptions() {
|
|
1761
|
-
const userDetails =
|
|
1762
|
-
|
|
1763
|
-
if (userDetails?.token) {
|
|
1764
|
-
headers = headers.set('Authorization', userDetails.token);
|
|
1765
|
-
}
|
|
1695
|
+
const userDetails = JSON.parse(this.sessionStorageService.getItem(USER_DETAILS));
|
|
1696
|
+
const headers = new HttpHeaders().set('Content-Type', 'application/json').set('Authorization', userDetails.token);
|
|
1766
1697
|
return {
|
|
1767
1698
|
headers,
|
|
1768
1699
|
withCredentials: true,
|
|
@@ -4570,8 +4501,11 @@ class FieldsUtils {
|
|
|
4570
4501
|
}
|
|
4571
4502
|
}
|
|
4572
4503
|
static getUserTaskFromClientContext(clientContextStr) {
|
|
4573
|
-
|
|
4574
|
-
|
|
4504
|
+
if (clientContextStr) {
|
|
4505
|
+
let clientContext = JSON.parse(clientContextStr);
|
|
4506
|
+
return clientContext.client_context.user_task;
|
|
4507
|
+
}
|
|
4508
|
+
return null;
|
|
4575
4509
|
}
|
|
4576
4510
|
buildCanShowPredicate(eventTrigger, form) {
|
|
4577
4511
|
const currentState = this.getCurrentEventState(eventTrigger, form);
|
|
@@ -6031,15 +5965,17 @@ class FormValueService {
|
|
|
6031
5965
|
return form[currentFieldId + FieldsUtils.LABEL_SUFFIX].join(', ');
|
|
6032
5966
|
}
|
|
6033
5967
|
else if (FieldsUtils.isCollectionOfSimpleTypes(currentForm)) {
|
|
6034
|
-
return currentForm.map(
|
|
5968
|
+
return currentForm.map(fieldValue => fieldValue['value']).join(', ');
|
|
6035
5969
|
}
|
|
6036
5970
|
else if (FieldsUtils.isCollection(currentForm)) {
|
|
6037
|
-
return this.getFieldValue(currentForm[colIndex]
|
|
5971
|
+
return this.getFieldValue(currentForm[colIndex]['value'], fieldIds.slice(1).join('.'), colIndex);
|
|
6038
5972
|
}
|
|
6039
5973
|
else if (FieldsUtils.isNonEmptyObject(currentForm)) {
|
|
6040
5974
|
return this.getFieldValue(currentForm, fieldIds.slice(1).join('.'), colIndex);
|
|
6041
5975
|
}
|
|
6042
|
-
|
|
5976
|
+
else {
|
|
5977
|
+
return currentForm;
|
|
5978
|
+
}
|
|
6043
5979
|
}
|
|
6044
5980
|
/**
|
|
6045
5981
|
* A recursive method to remove anything with a `---LABEL` suffix.
|
|
@@ -6077,7 +6013,9 @@ class FormValueService {
|
|
|
6077
6013
|
if (field.field_type) {
|
|
6078
6014
|
return field.field_type.type === 'Label';
|
|
6079
6015
|
}
|
|
6080
|
-
|
|
6016
|
+
else {
|
|
6017
|
+
return false;
|
|
6018
|
+
}
|
|
6081
6019
|
}
|
|
6082
6020
|
static isEmptyData(data) {
|
|
6083
6021
|
if (data) {
|
|
@@ -6124,13 +6062,10 @@ class FormValueService {
|
|
|
6124
6062
|
return s;
|
|
6125
6063
|
}
|
|
6126
6064
|
filterCurrentPageFields(caseFields, editForm) {
|
|
6127
|
-
const cloneForm =
|
|
6128
|
-
|
|
6129
|
-
data: { ...((editForm && editForm.data) || {}) }
|
|
6130
|
-
};
|
|
6131
|
-
Object.keys(cloneForm.data).forEach((key) => {
|
|
6065
|
+
const cloneForm = JSON.parse(JSON.stringify(editForm));
|
|
6066
|
+
Object.keys(cloneForm['data']).forEach((key) => {
|
|
6132
6067
|
if (caseFields.findIndex((element) => element.id === key) < 0) {
|
|
6133
|
-
delete cloneForm
|
|
6068
|
+
delete cloneForm['data'][key];
|
|
6134
6069
|
}
|
|
6135
6070
|
});
|
|
6136
6071
|
return cloneForm;
|
|
@@ -6171,7 +6106,7 @@ class FormValueService {
|
|
|
6171
6106
|
if (!rawArray) {
|
|
6172
6107
|
return rawArray;
|
|
6173
6108
|
}
|
|
6174
|
-
rawArray.forEach(
|
|
6109
|
+
rawArray.forEach(item => {
|
|
6175
6110
|
if (item && item.hasOwnProperty('value')) {
|
|
6176
6111
|
item.value = this.sanitiseValue(item.value);
|
|
6177
6112
|
}
|
|
@@ -6180,8 +6115,8 @@ class FormValueService {
|
|
|
6180
6115
|
// association of a value. In addition, if the array contains items with a "value" object property, return only
|
|
6181
6116
|
// those whose value object contains non-empty values, including for any descendant objects
|
|
6182
6117
|
return rawArray
|
|
6183
|
-
.filter(
|
|
6184
|
-
.filter(
|
|
6118
|
+
.filter(item => !!item)
|
|
6119
|
+
.filter(item => item.hasOwnProperty('value') ? FieldsUtils.containsNonEmptyValues(item.value) : true);
|
|
6185
6120
|
}
|
|
6186
6121
|
sanitiseValue(rawValue) {
|
|
6187
6122
|
if (Array.isArray(rawValue)) {
|
|
@@ -6200,7 +6135,7 @@ class FormValueService {
|
|
|
6200
6135
|
}
|
|
6201
6136
|
clearNonCaseFields(data, caseFields) {
|
|
6202
6137
|
for (const dataKey in data) {
|
|
6203
|
-
if (!caseFields.find(
|
|
6138
|
+
if (!caseFields.find(cf => cf.id === dataKey)) {
|
|
6204
6139
|
delete data[dataKey];
|
|
6205
6140
|
}
|
|
6206
6141
|
}
|
|
@@ -6398,7 +6333,7 @@ class FormValueService {
|
|
|
6398
6333
|
*/
|
|
6399
6334
|
removeCaseFieldsOfType(data, caseFields, types) {
|
|
6400
6335
|
if (data && caseFields && caseFields.length > 0 && types.length > 0) {
|
|
6401
|
-
const caseFieldsToRemove = caseFields.filter(
|
|
6336
|
+
const caseFieldsToRemove = caseFields.filter(caseField => FieldsUtils.isCaseFieldOfType(caseField, types));
|
|
6402
6337
|
for (const caseField of caseFieldsToRemove) {
|
|
6403
6338
|
delete data[caseField.id];
|
|
6404
6339
|
}
|
|
@@ -6417,10 +6352,10 @@ class FormValueService {
|
|
|
6417
6352
|
*/
|
|
6418
6353
|
repopulateFormDataFromCaseFieldValues(data, caseFields) {
|
|
6419
6354
|
if (data && caseFields && caseFields.length > 0 &&
|
|
6420
|
-
caseFields.findIndex(
|
|
6355
|
+
caseFields.findIndex(caseField => FieldsUtils.isCaseFieldOfType(caseField, ['FlagLauncher'])) > -1) {
|
|
6421
6356
|
// Ignore the FlagLauncher CaseField because it does not hold any values
|
|
6422
|
-
caseFields.filter(
|
|
6423
|
-
.forEach(
|
|
6357
|
+
caseFields.filter(caseField => !FieldsUtils.isCaseFieldOfType(caseField, ['FlagLauncher']))
|
|
6358
|
+
.forEach(caseField => {
|
|
6424
6359
|
// Ensure that the data object is populated for all CaseField keys it contains, even if for a given
|
|
6425
6360
|
// CaseField key, the data object has a falsy value (hence the use of hasOwnProperty() for the check below)
|
|
6426
6361
|
// See https://tools.hmcts.net/jira/browse/EUI-7377
|
|
@@ -6452,8 +6387,8 @@ class FormValueService {
|
|
|
6452
6387
|
*/
|
|
6453
6388
|
populateLinkedCasesDetailsFromCaseFields(data, caseFields) {
|
|
6454
6389
|
if (data && caseFields && caseFields.length > 0) {
|
|
6455
|
-
caseFields.filter(
|
|
6456
|
-
.forEach(
|
|
6390
|
+
caseFields.filter(caseField => !FieldsUtils.isCaseFieldOfType(caseField, ['ComponentLauncher']))
|
|
6391
|
+
.forEach(caseField => {
|
|
6457
6392
|
if (data.hasOwnProperty('caseLinks') && caseField.value) {
|
|
6458
6393
|
data[caseField.id] = caseField.value;
|
|
6459
6394
|
}
|
|
@@ -7311,6 +7246,8 @@ class DocumentManagementService {
|
|
|
7311
7246
|
static POWERPOINT = 'powerpoint';
|
|
7312
7247
|
static TXT = 'txt';
|
|
7313
7248
|
static RTF = 'rtf';
|
|
7249
|
+
static HTML_MIME_ALLOWLIST = ['text/html'];
|
|
7250
|
+
static HTML_EXTENSION_ALLOWLIST = ['html'];
|
|
7314
7251
|
// This delay has been added to give enough time to the user on the UI to see the info messages on the document upload
|
|
7315
7252
|
// field for cases when uploads are very fast.
|
|
7316
7253
|
static RESPONSE_DELAY = 1000;
|
|
@@ -7343,16 +7280,35 @@ class DocumentManagementService {
|
|
|
7343
7280
|
this.caseTypeId = this.resolveCaseTypeId(caseInfo, currUrl);
|
|
7344
7281
|
}
|
|
7345
7282
|
getMediaViewerInfo(documentFieldValue) {
|
|
7283
|
+
const resolvedBinaryUrl = this.getDocumentBinaryUrl(documentFieldValue);
|
|
7284
|
+
const resolvedContentType = this.getContentType(documentFieldValue);
|
|
7346
7285
|
const mediaViewerInfo = {
|
|
7347
|
-
document_binary_url:
|
|
7286
|
+
document_binary_url: resolvedBinaryUrl,
|
|
7348
7287
|
document_filename: documentFieldValue.document_filename,
|
|
7349
|
-
content_type:
|
|
7288
|
+
content_type: resolvedContentType,
|
|
7350
7289
|
annotation_api_url: this.appConfig.getAnnotationApiUrl(),
|
|
7351
7290
|
case_id: documentFieldValue.id,
|
|
7352
7291
|
case_jurisdiction: documentFieldValue.jurisdiction
|
|
7353
7292
|
};
|
|
7354
7293
|
return JSON.stringify(mediaViewerInfo);
|
|
7355
7294
|
}
|
|
7295
|
+
getDocumentBinaryUrl(documentFieldValue) {
|
|
7296
|
+
if (!documentFieldValue?.document_binary_url) {
|
|
7297
|
+
return '';
|
|
7298
|
+
}
|
|
7299
|
+
return this.transformDocumentUrl(documentFieldValue.document_binary_url);
|
|
7300
|
+
}
|
|
7301
|
+
// keep HTML support explicit to avoid opening arbitrary MIME types directly in a browser tab
|
|
7302
|
+
isHtmlDocument(documentFieldValue) {
|
|
7303
|
+
const rawMimeType = documentFieldValue?.content_type;
|
|
7304
|
+
const mimeType = this.normaliseMimeType(rawMimeType);
|
|
7305
|
+
const isAllowedHtmlMime = DocumentManagementService.HTML_MIME_ALLOWLIST.includes(mimeType);
|
|
7306
|
+
// Some read paths (e.g. documents rendered via complex table fields) do not provide content_type.
|
|
7307
|
+
// For those, allow a narrow extension-based fallback so known .html legacy files can still open in a new tab.
|
|
7308
|
+
const fileExtension = this.getFileExtension(documentFieldValue?.document_filename);
|
|
7309
|
+
const isAllowedHtmlExtension = !mimeType && DocumentManagementService.HTML_EXTENSION_ALLOWLIST.includes(fileExtension);
|
|
7310
|
+
return isAllowedHtmlMime || isAllowedHtmlExtension;
|
|
7311
|
+
}
|
|
7356
7312
|
getContentType(documentFieldValue) {
|
|
7357
7313
|
let fileExtension = '<unknown>';
|
|
7358
7314
|
if (documentFieldValue.document_filename) {
|
|
@@ -7442,6 +7398,22 @@ class DocumentManagementService {
|
|
|
7442
7398
|
const remoteDocumentManagementPattern = new RegExp(this.appConfig.getRemoteDocumentManagementUrl());
|
|
7443
7399
|
return documentBinaryUrl.replace(remoteDocumentManagementPattern, this.getDocStoreUrl());
|
|
7444
7400
|
}
|
|
7401
|
+
normaliseMimeType(contentType) {
|
|
7402
|
+
if (!contentType) {
|
|
7403
|
+
return '';
|
|
7404
|
+
}
|
|
7405
|
+
return contentType.split(';')[0].trim().toLowerCase();
|
|
7406
|
+
}
|
|
7407
|
+
getFileExtension(fileName) {
|
|
7408
|
+
if (!fileName) {
|
|
7409
|
+
return '';
|
|
7410
|
+
}
|
|
7411
|
+
const dotIndex = fileName.lastIndexOf('.');
|
|
7412
|
+
if (dotIndex < 0 || dotIndex === fileName.length - 1) {
|
|
7413
|
+
return '';
|
|
7414
|
+
}
|
|
7415
|
+
return fileName.slice(dotIndex + 1).trim().toLowerCase();
|
|
7416
|
+
}
|
|
7445
7417
|
getDocStoreUrl() {
|
|
7446
7418
|
this.setCaseInfo();
|
|
7447
7419
|
if (this.isDocumentSecureModeEnabled()) {
|
|
@@ -8081,7 +8053,10 @@ class WindowService {
|
|
|
8081
8053
|
return window.sessionStorage.getItem(key);
|
|
8082
8054
|
}
|
|
8083
8055
|
openOnNewTab(url) {
|
|
8084
|
-
window.open(url, '_blank');
|
|
8056
|
+
const openedWindow = window.open(url, '_blank', 'noopener,noreferrer');
|
|
8057
|
+
if (openedWindow) {
|
|
8058
|
+
openedWindow.opener = null;
|
|
8059
|
+
}
|
|
8085
8060
|
}
|
|
8086
8061
|
confirm(message) {
|
|
8087
8062
|
return window.confirm(message);
|
|
@@ -9480,7 +9455,7 @@ class CaseEditComponent {
|
|
|
9480
9455
|
ngOnInit() {
|
|
9481
9456
|
this.wizard = this.wizardFactory.create(this.eventTrigger);
|
|
9482
9457
|
this.initialUrl = this.sessionStorageService.getItem('eventUrl');
|
|
9483
|
-
this.isPageRefreshed =
|
|
9458
|
+
this.isPageRefreshed = JSON.parse(this.sessionStorageService.getItem('isPageRefreshed'));
|
|
9484
9459
|
this.checkPageRefresh();
|
|
9485
9460
|
this.form = this.fb.group({
|
|
9486
9461
|
data: new FormGroup({}),
|
|
@@ -9604,11 +9579,15 @@ class CaseEditComponent {
|
|
|
9604
9579
|
const taskEventCompletionStr = this.sessionStorageService.getItem(CaseEditComponent.TASK_EVENT_COMPLETION_INFO);
|
|
9605
9580
|
const userInfoStr = this.sessionStorageService.getItem('userDetails');
|
|
9606
9581
|
const assignNeeded = this.sessionStorageService.getItem('assignNeeded');
|
|
9607
|
-
|
|
9608
|
-
|
|
9582
|
+
if (taskEventCompletionStr) {
|
|
9583
|
+
taskEventCompletionInfo = JSON.parse(taskEventCompletionStr);
|
|
9584
|
+
}
|
|
9585
|
+
if (userInfoStr) {
|
|
9586
|
+
userInfo = JSON.parse(userInfoStr);
|
|
9587
|
+
}
|
|
9609
9588
|
const eventId = this.getEventId(form);
|
|
9610
9589
|
const caseId = this.getCaseId(caseDetails);
|
|
9611
|
-
const userId = userInfo
|
|
9590
|
+
const userId = userInfo.id ? userInfo.id : userInfo.uid;
|
|
9612
9591
|
const eventDetails = { eventId, caseId, userId, assignNeeded };
|
|
9613
9592
|
if (this.taskExistsForThisEvent(taskInSessionStorage, taskEventCompletionInfo, eventDetails)) {
|
|
9614
9593
|
this.abstractConfig.logMessage(`task ${taskInSessionStorage?.id} exist for this event for caseId and eventId as ${caseId} ${eventId}`);
|
|
@@ -9970,7 +9949,7 @@ class CaseEditComponent {
|
|
|
9970
9949
|
}], submitted: [{
|
|
9971
9950
|
type: Output
|
|
9972
9951
|
}] }); })();
|
|
9973
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseEditComponent, { className: "CaseEditComponent", filePath: "lib/shared/components/case-editor/case-edit/case-edit.component.ts", lineNumber:
|
|
9952
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseEditComponent, { className: "CaseEditComponent", filePath: "lib/shared/components/case-editor/case-edit/case-edit.component.ts", lineNumber: 38 }); })();
|
|
9974
9953
|
|
|
9975
9954
|
function convertNonASCIICharacter(character) {
|
|
9976
9955
|
if (character === '£') {
|
|
@@ -12029,42 +12008,6 @@ class CallbackErrorsComponent {
|
|
|
12029
12008
|
}] }); })();
|
|
12030
12009
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CallbackErrorsComponent, { className: "CallbackErrorsComponent", filePath: "lib/shared/components/error/callback-errors.component.ts", lineNumber: 11 }); })();
|
|
12031
12010
|
|
|
12032
|
-
class SessionErrorPageComponent {
|
|
12033
|
-
title = 'There is a problem with your session';
|
|
12034
|
-
primaryMessage = 'Go to landing page. Refreshing the page. If the problem persists, sign out and sign in again.';
|
|
12035
|
-
secondaryMessage = 'If you still cannot access the service, clear your browser data for this website.';
|
|
12036
|
-
static ɵfac = function SessionErrorPageComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SessionErrorPageComponent)(); };
|
|
12037
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SessionErrorPageComponent, selectors: [["ccd-session-error-page"]], inputs: { title: "title", primaryMessage: "primaryMessage", secondaryMessage: "secondaryMessage" }, decls: 10, vars: 3, consts: [[1, "govuk-width-container"], ["id", "content", "role", "main", 1, "govuk-main-wrapper", "govuk-main-wrapper--l"], [1, "govuk-grid-row"], [1, "govuk-grid-column-two-thirds"], [1, "govuk-heading-xl"], [1, "govuk-body"]], template: function SessionErrorPageComponent_Template(rf, ctx) { if (rf & 1) {
|
|
12038
|
-
i0.ɵɵdomElementStart(0, "div", 0)(1, "main", 1)(2, "div", 2)(3, "div", 3)(4, "h1", 4);
|
|
12039
|
-
i0.ɵɵtext(5);
|
|
12040
|
-
i0.ɵɵdomElementEnd();
|
|
12041
|
-
i0.ɵɵdomElementStart(6, "p", 5);
|
|
12042
|
-
i0.ɵɵtext(7);
|
|
12043
|
-
i0.ɵɵdomElementEnd();
|
|
12044
|
-
i0.ɵɵdomElementStart(8, "p", 5);
|
|
12045
|
-
i0.ɵɵtext(9);
|
|
12046
|
-
i0.ɵɵdomElementEnd()()()()();
|
|
12047
|
-
} if (rf & 2) {
|
|
12048
|
-
i0.ɵɵadvance(5);
|
|
12049
|
-
i0.ɵɵtextInterpolate(ctx.title);
|
|
12050
|
-
i0.ɵɵadvance(2);
|
|
12051
|
-
i0.ɵɵtextInterpolate(ctx.primaryMessage);
|
|
12052
|
-
i0.ɵɵadvance(2);
|
|
12053
|
-
i0.ɵɵtextInterpolate(ctx.secondaryMessage);
|
|
12054
|
-
} }, dependencies: [CommonModule], encapsulation: 2 });
|
|
12055
|
-
}
|
|
12056
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SessionErrorPageComponent, [{
|
|
12057
|
-
type: Component,
|
|
12058
|
-
args: [{ selector: 'ccd-session-error-page', standalone: true, imports: [CommonModule], template: "<div class=\"govuk-width-container\">\n <main class=\"govuk-main-wrapper govuk-main-wrapper--l\" id=\"content\" role=\"main\">\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-two-thirds\">\n <h1 class=\"govuk-heading-xl\">{{ title }}</h1>\n <p class=\"govuk-body\">{{ primaryMessage }}</p>\n <p class=\"govuk-body\">{{ secondaryMessage }}</p>\n </div>\n </div>\n </main>\n</div>\n" }]
|
|
12059
|
-
}], null, { title: [{
|
|
12060
|
-
type: Input
|
|
12061
|
-
}], primaryMessage: [{
|
|
12062
|
-
type: Input
|
|
12063
|
-
}], secondaryMessage: [{
|
|
12064
|
-
type: Input
|
|
12065
|
-
}] }); })();
|
|
12066
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SessionErrorPageComponent, { className: "SessionErrorPageComponent", filePath: "lib/shared/components/error/session-error-page.component.ts", lineNumber: 10 }); })();
|
|
12067
|
-
|
|
12068
12011
|
function CaseEventCompletionComponent_app_case_event_completion_task_cancelled_0_Template(rf, ctx) { if (rf & 1) {
|
|
12069
12012
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
12070
12013
|
i0.ɵɵelementStart(0, "app-case-event-completion-task-cancelled", 2);
|
|
@@ -13280,6 +13223,7 @@ class CaseFileViewFieldComponent {
|
|
|
13280
13223
|
documentManagementService;
|
|
13281
13224
|
loadingService;
|
|
13282
13225
|
sessionStorageService;
|
|
13226
|
+
windowService;
|
|
13283
13227
|
caseNotifier;
|
|
13284
13228
|
abstractConfig;
|
|
13285
13229
|
static PARAM_CASE_ID = 'cid';
|
|
@@ -13294,13 +13238,14 @@ class CaseFileViewFieldComponent {
|
|
|
13294
13238
|
icp_jurisdictions = [];
|
|
13295
13239
|
icpEnabled = false;
|
|
13296
13240
|
caseId;
|
|
13297
|
-
constructor(elementRef, route, caseFileViewService, documentManagementService, loadingService, sessionStorageService, caseNotifier, abstractConfig) {
|
|
13241
|
+
constructor(elementRef, route, caseFileViewService, documentManagementService, loadingService, sessionStorageService, windowService, caseNotifier, abstractConfig) {
|
|
13298
13242
|
this.elementRef = elementRef;
|
|
13299
13243
|
this.route = route;
|
|
13300
13244
|
this.caseFileViewService = caseFileViewService;
|
|
13301
13245
|
this.documentManagementService = documentManagementService;
|
|
13302
13246
|
this.loadingService = loadingService;
|
|
13303
13247
|
this.sessionStorageService = sessionStorageService;
|
|
13248
|
+
this.windowService = windowService;
|
|
13304
13249
|
this.caseNotifier = caseNotifier;
|
|
13305
13250
|
this.abstractConfig = abstractConfig;
|
|
13306
13251
|
}
|
|
@@ -13314,10 +13259,9 @@ class CaseFileViewFieldComponent {
|
|
|
13314
13259
|
error: _ => this.getCategoriesAndDocumentsError = true
|
|
13315
13260
|
});
|
|
13316
13261
|
// EXUI-8000
|
|
13317
|
-
const userInfo =
|
|
13318
|
-
const userRoles = userInfo?.roles || [];
|
|
13262
|
+
const userInfo = JSON.parse(this.sessionStorageService.getItem('userDetails'));
|
|
13319
13263
|
// Get acls that intersects from acl roles and user roles
|
|
13320
|
-
const acls = this.caseField.acls.filter(acl =>
|
|
13264
|
+
const acls = this.caseField.acls.filter(acl => userInfo.roles.includes(acl.role));
|
|
13321
13265
|
// As there can be more than one intersecting role, if any acls are update: true
|
|
13322
13266
|
this.allowMoving = acls.some(acl => acl.update);
|
|
13323
13267
|
this.icp_jurisdictions = this.abstractConfig.getIcpJurisdictions();
|
|
@@ -13346,10 +13290,20 @@ class CaseFileViewFieldComponent {
|
|
|
13346
13290
|
});
|
|
13347
13291
|
}
|
|
13348
13292
|
setMediaViewerFile(document) {
|
|
13349
|
-
const
|
|
13293
|
+
const documentDetails = {
|
|
13350
13294
|
document_binary_url: document.document_binary_url,
|
|
13351
|
-
document_filename: document.document_filename
|
|
13352
|
-
|
|
13295
|
+
document_filename: document.document_filename,
|
|
13296
|
+
content_type: document.content_type
|
|
13297
|
+
};
|
|
13298
|
+
if (this.documentManagementService.isHtmlDocument(documentDetails)) {
|
|
13299
|
+
const documentBinaryUrl = this.documentManagementService.getDocumentBinaryUrl(documentDetails);
|
|
13300
|
+
if (documentBinaryUrl) {
|
|
13301
|
+
this.currentDocument = undefined;
|
|
13302
|
+
this.windowService.openOnNewTab(documentBinaryUrl);
|
|
13303
|
+
return;
|
|
13304
|
+
}
|
|
13305
|
+
}
|
|
13306
|
+
const mediaViewerInfo = this.documentManagementService.getMediaViewerInfo(documentDetails);
|
|
13353
13307
|
this.currentDocument = JSON.parse(mediaViewerInfo);
|
|
13354
13308
|
}
|
|
13355
13309
|
moveDocument(data) {
|
|
@@ -13383,7 +13337,7 @@ class CaseFileViewFieldComponent {
|
|
|
13383
13337
|
isIcpEnabled() {
|
|
13384
13338
|
return this.icpEnabled && ((this.icp_jurisdictions?.length < 1) || this.icp_jurisdictions.includes(this.caseNotifier?.cachedCaseView?.case_type?.jurisdiction.id));
|
|
13385
13339
|
}
|
|
13386
|
-
static ɵfac = function CaseFileViewFieldComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CaseFileViewFieldComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(CaseFileViewService), i0.ɵɵdirectiveInject(DocumentManagementService), i0.ɵɵdirectiveInject(LoadingService), i0.ɵɵdirectiveInject(SessionStorageService), i0.ɵɵdirectiveInject(CaseNotifier), i0.ɵɵdirectiveInject(AbstractAppConfig)); };
|
|
13340
|
+
static ɵfac = function CaseFileViewFieldComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CaseFileViewFieldComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(CaseFileViewService), i0.ɵɵdirectiveInject(DocumentManagementService), i0.ɵɵdirectiveInject(LoadingService), i0.ɵɵdirectiveInject(SessionStorageService), i0.ɵɵdirectiveInject(WindowService), i0.ɵɵdirectiveInject(CaseNotifier), i0.ɵɵdirectiveInject(AbstractAppConfig)); };
|
|
13387
13341
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseFileViewFieldComponent, selectors: [["ccd-case-file-view-field"]], standalone: false, decls: 3, vars: 3, consts: [[4, "ngIf"], ["class", "govuk-grid-column-two-thirds", 4, "ngIf"], ["id", "case-file-view-field-errors", "data-module", "govuk-error-summary", 1, "govuk-error-summary", "govuk-!-margin-bottom-4"], ["role", "alert"], [1, "govuk-error-summary__title"], [1, "govuk-error-summary__body"], [1, "govuk-list", "govuk-error-summary__list"], [4, "ngFor", "ngForOf"], ["type", "button", 1, "govuk-js-link"], [1, "govuk-grid-column-two-thirds"], [1, "govuk-heading-xl"], [1, "govuk-body"], [1, "govuk-heading-l"], ["id", "case-file-view", 1, "govuk-form-group"], [1, "document-tree-container"], [1, "document-tree-container__tree", 3, "clickedDocument", "moveDocument", "categoriesAndDocuments", "allowMoving"], [1, "slider"], [1, "media-viewer-container"], [3, "url", "downloadFileName", "showToolbar", "contentType", "enableAnnotations", "enableRedactions", "height", "caseId", "multimediaPlayerEnabled", "enableICP"]], template: function CaseFileViewFieldComponent_Template(rf, ctx) { if (rf & 1) {
|
|
13388
13342
|
i0.ɵɵtemplate(0, CaseFileViewFieldComponent_ng_container_0_Template, 8, 1, "ng-container", 0)(1, CaseFileViewFieldComponent_div_1_Template, 5, 0, "div", 1)(2, CaseFileViewFieldComponent_div_2_Template, 9, 3, "div", 0);
|
|
13389
13343
|
} if (rf & 2) {
|
|
@@ -13397,8 +13351,8 @@ class CaseFileViewFieldComponent {
|
|
|
13397
13351
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseFileViewFieldComponent, [{
|
|
13398
13352
|
type: Component,
|
|
13399
13353
|
args: [{ selector: 'ccd-case-file-view-field', standalone: false, template: "<ng-container *ngIf=\"errorMessages?.length\">\n <div\n id=\"case-file-view-field-errors\"\n class=\"govuk-error-summary govuk-!-margin-bottom-4\"\n data-module=\"govuk-error-summary\"\n >\n <div role=\"alert\">\n <h2 class=\"govuk-error-summary__title\">There is a problem</h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li *ngFor=\"let errorMessage of errorMessages\">\n <button type=\"button\" class=\"govuk-js-link\">{{ errorMessage }}</button>\n </li>\n </ul>\n </div>\n </div>\n </div>\n</ng-container>\n\n<div\n *ngIf=\"getCategoriesAndDocumentsError\"\n class=\"govuk-grid-column-two-thirds\"\n>\n <h1 class=\"govuk-heading-xl\">Sorry, there is a problem with the service</h1>\n <p class=\"govuk-body\">Try again later.</p>\n</div>\n<div *ngIf=\"!getCategoriesAndDocumentsError\">\n <h2 class=\"govuk-heading-l\">Case file</h2>\n <div class=\"govuk-form-group\" id=\"case-file-view\">\n <!-- Document tree -->\n <div class=\"document-tree-container\">\n <ccd-case-file-view-folder \n class=\"document-tree-container__tree\"\n [categoriesAndDocuments]=\"categoriesAndDocuments$\"\n (clickedDocument)=\"setMediaViewerFile($event); resetErrorMessages()\" \n (moveDocument)=\"moveDocument($event)\"\n [allowMoving]=\"allowMoving\">\n </ccd-case-file-view-folder>\n </div>\n <!-- Slider -->\n <div class=\"slider\"></div>\n <!-- Media viewer -->\n <div class=\"media-viewer-container\">\n <ng-container *ngIf=\"currentDocument\">\n <mv-media-viewer\n [url]=\"currentDocument.document_binary_url\"\n [downloadFileName]=\"currentDocument.document_filename\"\n [showToolbar]=\"true\"\n [contentType]=\"currentDocument.content_type\"\n [enableAnnotations]=\"true\"\n [enableRedactions]=\"true\"\n [height]=\"'94.5vh'\"\n [caseId]=\"caseId\"\n [multimediaPlayerEnabled]=\"true\"\n [enableICP]=\"isIcpEnabled()\"\n >\n </mv-media-viewer>\n </ng-container>\n </div>\n </div>\n</div>\n", styles: ["#case-file-view{display:flex;border:2px solid #C9C9C9;height:100vh;position:relative}#case-file-view .document-tree-container{background-color:#faf8f8;width:30%;min-height:400px;min-width:10%}#case-file-view .slider{width:.2%;background-color:#6b6b6b}#case-file-view .slider:hover,#case-file-view .slider:focus{cursor:col-resize}#case-file-view .media-viewer-container{background-color:#dee0e2;flex:1 1 0;overflow:hidden}\n"] }]
|
|
13400
|
-
}], () => [{ type: i0.ElementRef }, { type: i1$1.ActivatedRoute }, { type: CaseFileViewService }, { type: DocumentManagementService }, { type: LoadingService }, { type: SessionStorageService }, { type: CaseNotifier }, { type: AbstractAppConfig }], null); })();
|
|
13401
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseFileViewFieldComponent, { className: "CaseFileViewFieldComponent", filePath: "lib/shared/components/palette/case-file-view/case-file-view-field.component.ts", lineNumber:
|
|
13354
|
+
}], () => [{ type: i0.ElementRef }, { type: i1$1.ActivatedRoute }, { type: CaseFileViewService }, { type: DocumentManagementService }, { type: LoadingService }, { type: SessionStorageService }, { type: WindowService }, { type: CaseNotifier }, { type: AbstractAppConfig }], null); })();
|
|
13355
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseFileViewFieldComponent, { className: "CaseFileViewFieldComponent", filePath: "lib/shared/components/palette/case-file-view/case-file-view-field.component.ts", lineNumber: 18 }); })();
|
|
13402
13356
|
|
|
13403
13357
|
function ReadCaseFlagFieldComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
13404
13358
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
@@ -15382,6 +15336,13 @@ class ReadDocumentFieldComponent extends AbstractFieldReadComponent {
|
|
|
15382
15336
|
}
|
|
15383
15337
|
}
|
|
15384
15338
|
openMediaViewer(documentFieldValue) {
|
|
15339
|
+
const documentBinaryUrl = this.documentManagement.getDocumentBinaryUrl(documentFieldValue);
|
|
15340
|
+
const isHtmlDocument = this.documentManagement.isHtmlDocument(documentFieldValue);
|
|
15341
|
+
if (isHtmlDocument && documentBinaryUrl) {
|
|
15342
|
+
// HTML files are opened directly in a separate tab; all other types continue to use media viewer.
|
|
15343
|
+
this.windowService.openOnNewTab(documentBinaryUrl);
|
|
15344
|
+
return;
|
|
15345
|
+
}
|
|
15385
15346
|
const token = FieldsUtils.createToken();
|
|
15386
15347
|
const storageKey = `${MEDIA_VIEWER_INFO}:${token}`;
|
|
15387
15348
|
const payload = this.documentManagement.getMediaViewerInfo(documentFieldValue);
|
|
@@ -20633,14 +20594,14 @@ class PaymentField extends AbstractFieldReadComponent {
|
|
|
20633
20594
|
return this.appConfig.getNotificationUrl();
|
|
20634
20595
|
}
|
|
20635
20596
|
getUserRoles() {
|
|
20636
|
-
const userDetails =
|
|
20597
|
+
const userDetails = JSON.parse(this.sessionStorage.getItem('userDetails') || null);
|
|
20637
20598
|
if (!userDetails || !userDetails.hasOwnProperty('roles')) {
|
|
20638
20599
|
return [];
|
|
20639
20600
|
}
|
|
20640
20601
|
return userDetails.roles;
|
|
20641
20602
|
}
|
|
20642
20603
|
getUserEmail() {
|
|
20643
|
-
const userDetails =
|
|
20604
|
+
const userDetails = JSON.parse(this.sessionStorage.getItem('userDetails') || null);
|
|
20644
20605
|
if (!userDetails || !userDetails.hasOwnProperty('sub')) {
|
|
20645
20606
|
return '';
|
|
20646
20607
|
}
|
|
@@ -21366,7 +21327,7 @@ class QueryManagementService {
|
|
|
21366
21327
|
) {
|
|
21367
21328
|
let currentUserDetails;
|
|
21368
21329
|
try {
|
|
21369
|
-
currentUserDetails =
|
|
21330
|
+
currentUserDetails = JSON.parse(this.sessionStorageService.getItem(USER_DETAILS));
|
|
21370
21331
|
}
|
|
21371
21332
|
catch (e) {
|
|
21372
21333
|
console.error('Could not parse USER_DETAILS from session storage:', e);
|
|
@@ -25398,6 +25359,7 @@ class DocumentTreeNode {
|
|
|
25398
25359
|
children;
|
|
25399
25360
|
document_filename;
|
|
25400
25361
|
document_binary_url;
|
|
25362
|
+
content_type;
|
|
25401
25363
|
attribute_path;
|
|
25402
25364
|
upload_timestamp;
|
|
25403
25365
|
category_order;
|
|
@@ -25593,7 +25555,6 @@ class CaseFileViewFolderComponent {
|
|
|
25593
25555
|
router;
|
|
25594
25556
|
documentManagementService;
|
|
25595
25557
|
dialog;
|
|
25596
|
-
appConfig;
|
|
25597
25558
|
static UNCATEGORISED_DOCUMENTS_TITLE = 'Uncategorised documents';
|
|
25598
25559
|
static DOCUMENT_SEARCH_FORM_CONTROL_NAME = 'documentSearchFormControl';
|
|
25599
25560
|
static MINIMUM_SEARCH_CHARACTERS = 1;
|
|
@@ -25623,12 +25584,11 @@ class CaseFileViewFolderComponent {
|
|
|
25623
25584
|
return 0;
|
|
25624
25585
|
}
|
|
25625
25586
|
}
|
|
25626
|
-
constructor(windowService, router, documentManagementService, dialog
|
|
25587
|
+
constructor(windowService, router, documentManagementService, dialog) {
|
|
25627
25588
|
this.windowService = windowService;
|
|
25628
25589
|
this.router = router;
|
|
25629
25590
|
this.documentManagementService = documentManagementService;
|
|
25630
25591
|
this.dialog = dialog;
|
|
25631
|
-
this.appConfig = appConfig;
|
|
25632
25592
|
this.nestedTreeControl = new NestedTreeControl(this.getChildren);
|
|
25633
25593
|
}
|
|
25634
25594
|
collapseAll(expand) {
|
|
@@ -25689,6 +25649,9 @@ class CaseFileViewFolderComponent {
|
|
|
25689
25649
|
documentTreeNode.type = DocumentTreeNodeType.DOCUMENT;
|
|
25690
25650
|
documentTreeNode.document_filename = document.document_filename;
|
|
25691
25651
|
documentTreeNode.document_binary_url = document.document_binary_url;
|
|
25652
|
+
if (document.content_type) {
|
|
25653
|
+
documentTreeNode.content_type = document.content_type;
|
|
25654
|
+
}
|
|
25692
25655
|
documentTreeNode.attribute_path = document.attribute_path;
|
|
25693
25656
|
documentTreeNode.upload_timestamp = document.upload_timestamp ? document.upload_timestamp.toString() : '';
|
|
25694
25657
|
documentsToReturn.push(documentTreeNode);
|
|
@@ -25703,6 +25666,9 @@ class CaseFileViewFolderComponent {
|
|
|
25703
25666
|
documentTreeNode.type = DocumentTreeNodeType.DOCUMENT;
|
|
25704
25667
|
documentTreeNode.document_filename = document.document_filename;
|
|
25705
25668
|
documentTreeNode.document_binary_url = document.document_binary_url;
|
|
25669
|
+
if (document.content_type) {
|
|
25670
|
+
documentTreeNode.content_type = document.content_type;
|
|
25671
|
+
}
|
|
25706
25672
|
documentTreeNode.attribute_path = document.attribute_path;
|
|
25707
25673
|
documentTreeNode.upload_timestamp = document.upload_timestamp ? document.upload_timestamp.toString() : '';
|
|
25708
25674
|
documents.push(documentTreeNode);
|
|
@@ -25739,11 +25705,25 @@ class CaseFileViewFolderComponent {
|
|
|
25739
25705
|
this.openMoveDialog(documentTreeNode);
|
|
25740
25706
|
break;
|
|
25741
25707
|
case ('openInANewTab'):
|
|
25708
|
+
const documentDetails = {
|
|
25709
|
+
document_binary_url: documentTreeNode.document_binary_url,
|
|
25710
|
+
document_filename: documentTreeNode.document_filename,
|
|
25711
|
+
content_type: documentTreeNode.content_type
|
|
25712
|
+
};
|
|
25713
|
+
const isHtmlDocument = this.documentManagementService.isHtmlDocument(documentDetails);
|
|
25714
|
+
if (isHtmlDocument) {
|
|
25715
|
+
const documentBinaryUrl = this.documentManagementService.getDocumentBinaryUrl(documentDetails);
|
|
25716
|
+
if (documentBinaryUrl) {
|
|
25717
|
+
this.windowService.openOnNewTab(documentBinaryUrl);
|
|
25718
|
+
return;
|
|
25719
|
+
}
|
|
25720
|
+
}
|
|
25742
25721
|
const token = FieldsUtils.createToken();
|
|
25743
25722
|
const storageKey = `${MEDIA_VIEWER_LOCALSTORAGE_KEY}:${token}`;
|
|
25744
25723
|
const payload = this.documentManagementService.getMediaViewerInfo({
|
|
25745
25724
|
document_binary_url: documentTreeNode.document_binary_url,
|
|
25746
|
-
document_filename: documentTreeNode.document_filename
|
|
25725
|
+
document_filename: documentTreeNode.document_filename,
|
|
25726
|
+
content_type: documentTreeNode.content_type
|
|
25747
25727
|
});
|
|
25748
25728
|
this.windowService.setLocalStorage(storageKey, payload);
|
|
25749
25729
|
const mediaViewerUrl = this.router.createUrlTree(['/media-viewer'], { queryParams: { mvToken: token } })?.toString();
|
|
@@ -25825,7 +25805,7 @@ class CaseFileViewFolderComponent {
|
|
|
25825
25805
|
a.click();
|
|
25826
25806
|
a.remove();
|
|
25827
25807
|
}
|
|
25828
|
-
static ɵfac = function CaseFileViewFolderComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CaseFileViewFolderComponent)(i0.ɵɵdirectiveInject(WindowService), i0.ɵɵdirectiveInject(i1$1.Router), i0.ɵɵdirectiveInject(DocumentManagementService), i0.ɵɵdirectiveInject(i1$3.MatLegacyDialog)
|
|
25808
|
+
static ɵfac = function CaseFileViewFolderComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CaseFileViewFolderComponent)(i0.ɵɵdirectiveInject(WindowService), i0.ɵɵdirectiveInject(i1$1.Router), i0.ɵɵdirectiveInject(DocumentManagementService), i0.ɵɵdirectiveInject(i1$3.MatLegacyDialog)); };
|
|
25829
25809
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseFileViewFolderComponent, selectors: [["ccd-case-file-view-folder"]], inputs: { categoriesAndDocuments: "categoriesAndDocuments", allowMoving: "allowMoving" }, outputs: { clickedDocument: "clickedDocument", moveDocument: "moveDocument" }, standalone: false, decls: 12, vars: 3, consts: [["role", "search", 1, "document-filter-container"], [1, "form-group", "document-filter", 3, "formGroup"], ["for", "document-search", 1, "govuk-visually-hidden"], ["type", "search", "id", "document-search", "name", "documentSearchFormControl", "formControlName", "documentSearchFormControl", "placeholder", "Search by document name", 1, "form-control", "document-search"], [1, "document-folders-header"], ["id", "document-folders-header-title", "aria-hidden", "true", 1, "document-folders-header__title"], ["role", "toolbar", "aria-label", "Document list actions", "aria-labelledby", "document-folders-header-title", 1, "document-folders-header__flex"], [3, "expandAll", "collapseAll"], [3, "sortAscending", "sortDescending"], ["class", "document-tree-container", 4, "ngIf"], [1, "document-tree-container"], [4, "ngIf"], ["role", "tree", "aria-label", "Case documents", 3, "dataSource", "treeControl"], ["class", "document-tree-container__node document-tree-container__node--document", 4, "cdkTreeNodeDef"], ["class", "document-tree-container__node document-tree-container__folder", 4, "cdkTreeNodeDef", "cdkTreeNodeDefWhen"], [1, "document-tree-container__node", "document-tree-container__node--document"], ["type", "button", "role", "treeitem", "aria-expanded", "false", 1, "node", "case-file__node", 3, "click"], ["disabled", "", "aria-hidden", "true", 1, "node__icon"], ["src", "/assets/img/case-file-view/case-file-view-document.svg", "alt", "Document icon", "aria-hidden", "true", 1, "node__iconImg"], [1, "node__name", "node-name-document"], [1, "node__document-upload-timestamp"], [1, "node__document-options", "case-file__action"], [3, "changeFolderAction", "openInANewTabAction", "downloadAction", "printAction", "allowMoving"], [1, "document-tree-container__node", "document-tree-container__folder"], ["type", "button", "cdkTreeNodeToggle", "", "role", "treeitem", 1, "node"], ["aria-hidden", "true", 1, "node__icon"], ["alt", "Folder icon", "aria-hidden", "true", 1, "node__iconImg", 3, "src"], [1, "node__count"], [1, "node__name", "node__name--folder"], ["role", "group"], ["cdkTreeNodeOutlet", ""]], template: function CaseFileViewFolderComponent_Template(rf, ctx) { if (rf & 1) {
|
|
25830
25810
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "label", 2);
|
|
25831
25811
|
i0.ɵɵtext(3, " Search by document name ");
|
|
@@ -25849,12 +25829,12 @@ class CaseFileViewFolderComponent {
|
|
|
25849
25829
|
i0.ɵɵtextInterpolate1(" Documents (", ctx.documentCount, ") ");
|
|
25850
25830
|
i0.ɵɵadvance(4);
|
|
25851
25831
|
i0.ɵɵproperty("ngIf", ctx.documentTreeData);
|
|
25852
|
-
} }, dependencies: [i5.NgIf, i4.DefaultValueAccessor, i4.NgControlStatus, i4.NgControlStatusGroup, i4.FormGroupDirective, i4.FormControlName,
|
|
25832
|
+
} }, dependencies: [i5.NgIf, i4.DefaultValueAccessor, i4.NgControlStatus, i4.NgControlStatusGroup, i4.FormGroupDirective, i4.FormControlName, i6$1.CdkNestedTreeNode, i6$1.CdkTreeNodeDef, i6$1.CdkTreeNodeToggle, i6$1.CdkTree, i6$1.CdkTreeNodeOutlet, CaseFileViewFolderSortComponent, CaseFileViewFolderToggleComponent, CaseFileViewFolderDocumentActionsComponent, DatePipe], styles: ["[_nghost-%COMP%]{display:flex;height:100%;flex-direction:column}[_nghost-%COMP%] .document-tree-container[_ngcontent-%COMP%]{flex:1 0}.document-filter-container[_ngcontent-%COMP%]{border-bottom:2px solid #C9C9C9}.document-filter-container[_ngcontent-%COMP%] .document-filter[_ngcontent-%COMP%]{padding:10px}.document-filter-container[_ngcontent-%COMP%] .document-filter[_ngcontent-%COMP%] .document-search[_ngcontent-%COMP%]{background:url(/assets/images/icon-search-black.svg) no-repeat right #fff;background-position-x:calc(100% - 4px);padding-right:30px;width:100%}.document-filter-container[_ngcontent-%COMP%] .documents-title[_ngcontent-%COMP%]{height:30%;margin-left:8px;font-weight:700}.document-folders-header__flex[_ngcontent-%COMP%]{display:flex;flex-direction:row}.document-tree-container[_ngcontent-%COMP%]{padding:4px;overflow-x:hidden;overflow-y:scroll}.document-tree-container__node[_ngcontent-%COMP%]{display:block}.document-tree-container__node[_ngcontent-%COMP%] .document-tree-container__node[_ngcontent-%COMP%]{padding-left:40px}.document-tree-container[_ngcontent-%COMP%] .document-tree-invisible[_ngcontent-%COMP%]{display:none}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar{width:7px}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{border:4px solid rgba(0,0,0,0);background-clip:padding-box;border-radius:9999px;background-color:#aaa}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-button{display:none}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-track-piece{background:#eee}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:#ccc}.document-folders-header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #C9C9C9;padding:10px}.document-folders-header__title[_ngcontent-%COMP%]{font-weight:700}.node[_ngcontent-%COMP%]{display:flex;align-items:center;width:100%;padding:10px;background:none;border:0;cursor:pointer;white-space:nowrap}.node--selected[_ngcontent-%COMP%]{background:#fff2cc}.node__icon[_ngcontent-%COMP%]{position:relative;display:inline-block}.node__count[_ngcontent-%COMP%]{color:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.875rem;padding-top:4px}.node__iconImg[_ngcontent-%COMP%]{display:block;height:30px;width:30px}.node__name[_ngcontent-%COMP%]{margin-left:6px;font-size:1rem;overflow:hidden;text-overflow:ellipsis}.node__document-options[_ngcontent-%COMP%]{margin-left:auto;margin-right:0}.node__document-upload-timestamp[_ngcontent-%COMP%]{font-size:.8rem;float:left;padding-left:10px}.node.case-file__node[_ngcontent-%COMP%]{width:80%;float:left}.node__document-options.case-file__action[_ngcontent-%COMP%]{width:15%;float:left;box-sizing:border-box;padding:12px}"] });
|
|
25853
25833
|
}
|
|
25854
25834
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseFileViewFolderComponent, [{
|
|
25855
25835
|
type: Component,
|
|
25856
25836
|
args: [{ selector: 'ccd-case-file-view-folder', standalone: false, template: "<div class=\"document-filter-container\" role=\"search\">\n <div class=\"form-group document-filter\" [formGroup]=\"documentFilterFormGroup\">\n <label\n class=\"govuk-visually-hidden\"\n for=\"document-search\">\n Search by document name\n </label>\n <input\n class=\"form-control document-search\"\n type=\"search\"\n id=\"document-search\"\n name=\"documentSearchFormControl\"\n formControlName=\"documentSearchFormControl\"\n placeholder=\"Search by document name\"/>\n </div>\n</div>\n\n<div class=\"document-folders-header\">\n <div class=\"document-folders-header__title\" id=\"document-folders-header-title\" aria-hidden=\"true\">\n Documents ({{ documentCount }})\n </div>\n <div\n class=\"document-folders-header__flex\"\n role=\"toolbar\"\n aria-label=\"Document list actions\"\n aria-labelledby=\"document-folders-header-title\">\n <ccd-case-file-view-folder-toggle\n (expandAll)=\"expandAll($event)\"\n (collapseAll)=\"collapseAll($event)\">\n </ccd-case-file-view-folder-toggle>\n <ccd-case-file-view-folder-sort\n (sortAscending)=\"sortDataSourceAscending($event)\"\n (sortDescending)=\"sortDataSourceDescending($event)\">\n </ccd-case-file-view-folder-sort>\n </div>\n</div>\n\n<div class=\"document-tree-container\" *ngIf=\"documentTreeData\">\n <div *ngIf=\"!nestedDataSource || nestedDataSource.length === 0\">\n No results found\n </div>\n <div>\n <cdk-tree\n [dataSource]=\"nestedDataSource\"\n [treeControl]=\"nestedTreeControl\"\n role=\"tree\"\n aria-label=\"Case documents\">\n <!-- document -->\n <cdk-nested-tree-node class=\"document-tree-container__node document-tree-container__node--document\" *cdkTreeNodeDef=\"let node\">\n <button\n type=\"button\"\n class=\"node case-file__node\"\n role=\"treeitem\"\n aria-expanded=\"false\"\n [attr.aria-label]=\"node.name\"\n (click)=\"selectedNodeItem = node; clickedDocument.emit(node)\"\n [class.node--selected]=\"selectedNodeItem?.name === node.name\">\n <div class=\"node__icon\" disabled aria-hidden=\"true\">\n <img src=\"/assets/img/case-file-view/case-file-view-document.svg\"\n class=\"node__iconImg\"\n alt=\"Document icon\"\n aria-hidden=\"true\"\n />\n </div>\n <span class=\"node__name node-name-document\">\n {{ node.name }}\n <br />\n <span class=\"node__document-upload-timestamp\">{{\n node.upload_timestamp | ccdDate: \"local\":\"dd MMM yyyy HH:mm\"\n }}</span>\n </span>\n </button>\n <div class=\"node__document-options case-file__action\">\n <ccd-case-file-view-folder-document-actions\n (changeFolderAction)=\"triggerDocumentAction('changeFolder', node)\"\n (openInANewTabAction)=\"triggerDocumentAction('openInANewTab', node)\"\n (downloadAction)=\"triggerDocumentAction('download', node)\"\n (printAction)=\"triggerDocumentAction('print', node)\"\n [allowMoving]=\"allowMoving\"\n >\n </ccd-case-file-view-folder-document-actions>\n </div>\n </cdk-nested-tree-node>\n <!-- folder-->\n <cdk-nested-tree-node class=\"document-tree-container__node document-tree-container__folder\" *cdkTreeNodeDef=\"let node; when: nestedChildren\">\n <button\n type=\"button\"\n class=\"node\"\n cdkTreeNodeToggle\n role=\"treeitem\"\n [attr.aria-expanded]=\"nestedTreeControl.isExpanded(node)\"\n [attr.aria-label]=\"node.name + ' folder, ' + node.childDocumentCount + ' documents'\">\n <div class=\"node__icon\" aria-hidden=\"true\">\n <img class=\"node__iconImg\"\n [src]=\"nestedTreeControl.isExpanded(node)\n ? '/assets/images/folder-open.png'\n : '/assets/images/folder.png'\n \"\n alt=\"Folder icon\"\n aria-hidden=\"true\" />\n <span class=\"node__count\">{{ node.childDocumentCount }}</span>\n </div>\n <span class=\"node__name node__name--folder\">{{ node.name }}</span>\n </button>\n <div\n role=\"group\"\n [class.document-tree-invisible]=\"!nestedTreeControl.isExpanded(node)\">\n <ng-container cdkTreeNodeOutlet></ng-container>\n </div>\n </cdk-nested-tree-node>\n </cdk-tree>\n </div>\n</div>\n", styles: [":host{display:flex;height:100%;flex-direction:column}:host .document-tree-container{flex:1 0}.document-filter-container{border-bottom:2px solid #C9C9C9}.document-filter-container .document-filter{padding:10px}.document-filter-container .document-filter .document-search{background:url(/assets/images/icon-search-black.svg) no-repeat right #fff;background-position-x:calc(100% - 4px);padding-right:30px;width:100%}.document-filter-container .documents-title{height:30%;margin-left:8px;font-weight:700}.document-folders-header__flex{display:flex;flex-direction:row}.document-tree-container{padding:4px;overflow-x:hidden;overflow-y:scroll}.document-tree-container__node{display:block}.document-tree-container__node .document-tree-container__node{padding-left:40px}.document-tree-container .document-tree-invisible{display:none}.document-tree-container::-webkit-scrollbar{width:7px}.document-tree-container::-webkit-scrollbar-thumb{border:4px solid rgba(0,0,0,0);background-clip:padding-box;border-radius:9999px;background-color:#aaa}.document-tree-container::-webkit-scrollbar-button{display:none}.document-tree-container::-webkit-scrollbar-track-piece{background:#eee}.document-tree-container::-webkit-scrollbar-thumb{background:#ccc}.document-folders-header{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #C9C9C9;padding:10px}.document-folders-header__title{font-weight:700}.node{display:flex;align-items:center;width:100%;padding:10px;background:none;border:0;cursor:pointer;white-space:nowrap}.node--selected{background:#fff2cc}.node__icon{position:relative;display:inline-block}.node__count{color:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.875rem;padding-top:4px}.node__iconImg{display:block;height:30px;width:30px}.node__name{margin-left:6px;font-size:1rem;overflow:hidden;text-overflow:ellipsis}.node__document-options{margin-left:auto;margin-right:0}.node__document-upload-timestamp{font-size:.8rem;float:left;padding-left:10px}.node.case-file__node{width:80%;float:left}.node__document-options.case-file__action{width:15%;float:left;box-sizing:border-box;padding:12px}\n"] }]
|
|
25857
|
-
}], () => [{ type: WindowService }, { type: i1$1.Router }, { type: DocumentManagementService }, { type: i1$3.MatLegacyDialog }
|
|
25837
|
+
}], () => [{ type: WindowService }, { type: i1$1.Router }, { type: DocumentManagementService }, { type: i1$3.MatLegacyDialog }], { categoriesAndDocuments: [{
|
|
25858
25838
|
type: Input
|
|
25859
25839
|
}], allowMoving: [{
|
|
25860
25840
|
type: Input
|
|
@@ -25863,7 +25843,7 @@ class CaseFileViewFolderComponent {
|
|
|
25863
25843
|
}], moveDocument: [{
|
|
25864
25844
|
type: Output
|
|
25865
25845
|
}] }); })();
|
|
25866
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseFileViewFolderComponent, { className: "CaseFileViewFolderComponent", filePath: "lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.ts", lineNumber:
|
|
25846
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseFileViewFolderComponent, { className: "CaseFileViewFolderComponent", filePath: "lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.ts", lineNumber: 28 }); })();
|
|
25867
25847
|
|
|
25868
25848
|
const _c0$t = a0 => ({ "form-group-error": a0 });
|
|
25869
25849
|
function AddCommentsComponent_span_7_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -29957,7 +29937,7 @@ class DatetimePickerComponent extends AbstractFormFieldComponent {
|
|
|
29957
29937
|
i0.ɵɵproperty("for", picker_r3);
|
|
29958
29938
|
i0.ɵɵadvance();
|
|
29959
29939
|
i0.ɵɵproperty("color", ctx.color)("touchUi", ctx.touchUi)("hideTime", ctx.hideTime)("startView", ctx.startView)("stepHour", ctx.stepHour)("stepSecond", ctx.stepSecond)("stepMinute", ctx.stepMinute)("showSeconds", ctx.showSeconds)("showSpinners", ctx.showSpinners)("disableMinute", ctx.disableMinute)("enableMeridian", ctx.enableMeridian);
|
|
29960
|
-
} }, dependencies: [i5.NgClass, i5.NgIf, i4.DefaultValueAccessor, i4.NgControlStatus, i4.FormControlDirective, i4$1.NgxMatDatetimepicker, i4$1.NgxMatDatepickerInput, i4$1.NgxMatDatepickerActions, i4$1.NgxMatDatepickerApply, i5$1.MatLegacySuffix, i6$1.MatDatepickerToggle, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], styles: ["@charset \"UTF-8\";.datepicker-container{display:inline-block;position:relative;min-width:298px}.datepicker-container .govuk-input{height:35px;min-width:298px;width:auto;padding-right:40px;border:1px solid #000}.datepicker-container .govuk-input:focus{outline:1px solid #ffdd00;border:1px solid black}.datepicker-container .govuk-input::-ms-clear{display:none}.datepicker-container .datepicker-wrapper-input{position:relative;display:inline-block;top:-20%;border:0}.datepicker-container .datepicker-wrapper-input:focus{border:0;outline:none}.datepicker-container .mat-icon-button{height:32px;width:32px}.datepicker-container .mat-icon-button:focus{outline:1px solid #ffdd00}.datepicker-container .mat-icon-button .mat-datepicker-toggle-default-icon{position:relative;top:-5px}.datepicker-container .mat-datepicker-toggle{position:absolute;right:0}.datepicker-container .mat-mdc-icon-button.mat-mdc-button-base{width:32px;height:32px;padding:5px 0 0}.datepicker-container .mat-mdc-icon-button.mat-mdc-button-base:focus{outline:1px solid #fd0}.cdk-overlay-container .mat-datepicker-content{border:1px solid black;border-radius:0;max-width:295px;background:#fff}.cdk-overlay-container .mat-datepicker-content .mat-calendar-table{width:calc(100% - 1px);table-layout:fixed}.cdk-overlay-container .mat-datepicker-content .mat-calendar-header{height:34px;border-bottom:1px ridge #bfc1c3}.cdk-overlay-container .mat-datepicker-content .mat-calendar-period-button{left:14%;min-width:125px;border-right:1px ridge #bfc1c3;border-left:1px ridge #bfc1c3;border-radius:0;top:-20px;width:200%}.cdk-overlay-container .mat-datepicker-content .mat-calendar-period-button .mat-button-wrapper{text-align:center;font-weight:700}.cdk-overlay-container .mat-datepicker-content .mat-calendar-period-button:focus{border:2px solid black}.cdk-overlay-container .mat-datepicker-content .mat-calendar-previous-button{left:-73%;top:-20px;border:2px solid transparent;border-radius:0}.cdk-overlay-container .mat-datepicker-content .mat-calendar-previous-button:focus{border-color:#000}.cdk-overlay-container .mat-datepicker-content .mat-calendar-previous-button:after{border-left-width:5px;border-top-width:5px;color:#000;padding:4px;top:-2px;left:-2px}.cdk-overlay-container .mat-datepicker-content .mat-calendar-next-button{top:-20px;left:1%;border:2px solid transparent;border-radius:0}.cdk-overlay-container .mat-datepicker-content .mat-calendar-next-button:focus{border-color:#000}.cdk-overlay-container .mat-datepicker-content .mat-calendar-next-button:after{border-right-width:5px;border-top-width:5px;color:#000;padding:4px;top:-2px;left:-2px}.cdk-overlay-container .mat-datepicker-content .mat-button-wrapper{text-transform:capitalize!important}.cdk-overlay-container .mat-datepicker-content .mat-calendar{border-bottom:1px solid black}.cdk-overlay-container .mat-datepicker-content .mat-calendar-table-header-divider{padding:0;border-bottom:none}.cdk-overlay-container .mat-datepicker-content .mat-calendar-table-header-divider:after{height:0px}.cdk-overlay-container .mat-datepicker-content .mat-calendar-content{padding:0}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header{color:#000}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header th.ng-star-inserted{font-weight:700;font-size:15px;padding-top:2%;padding-bottom:2%;column-width:20px}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:nth-of-type(1) th{visibility:hidden}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:nth-of-type(1) th:after{visibility:visible;color:#000;position:relative;left:-15px}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:nth-of-type(1) th:nth-of-type(1):after{content:\"MON\"}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:nth-of-type(1) th:nth-of-type(2):after{left:-12px;content:\"TUE\"}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:nth-of-type(1) th:nth-of-type(3):after{left:-18px;content:\"WED\"}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:nth-of-type(1) th:nth-of-type(4):after{left:-14px;content:\"THU\"}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:nth-of-type(1) th:nth-of-type(5):after{left:-10px;content:\"FRI\"}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:nth-of-type(1) th:nth-of-type(6):after{content:\"SAT\"}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:nth-of-type(1) th:nth-of-type(7):after{content:\"SUN\"}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-body-label{font-weight:700;font-size:large;color:#000}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-body-selected{border:none;background-color:transparent;color:#fff}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-body-active{background-color:#5694ca}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-body-active .mat-calendar-body-today{border:none;box-shadow:none}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-body-cell{border:1px ridge #bfc1c3}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-body-cell[aria-selected=true],.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-body-cell[aria-pressed=true]{background-color:#1d70b8;outline:3px solid #ffdd00;border:2px solid black;outline-offset:1px;z-index:1}.cdk-overlay-container .mat-datepicker-content ngx-mat-multi-year-view .mat-calendar-table{border-collapse:separate;border-spacing:10px}.cdk-overlay-container .mat-datepicker-content ngx-mat-multi-year-view .mat-calendar-table .mat-calendar-body-active{background-color:#5694ca}.cdk-overlay-container .mat-datepicker-content ngx-mat-multi-year-view .mat-calendar-table .mat-calendar-body-cell .mat-calendar-body-cell-content{border:none}.cdk-overlay-container .mat-datepicker-content ngx-mat-multi-year-view .mat-calendar-table .mat-calendar-body-cell .mat-calendar-body-selected{border:none;box-shadow:none;background-color:transparent}.cdk-overlay-container .mat-datepicker-content ngx-mat-multi-year-view .mat-calendar-table .mat-calendar-body-cell{border:1px solid #bfc1c3}.cdk-overlay-container .mat-datepicker-content ngx-mat-multi-year-view .mat-calendar-table .mat-calendar-body-cell[aria-selected=true]{background-color:#1d70b8;outline:2px solid #ffdd00}.cdk-overlay-container .mat-datepicker-content ngx-mat-year-view .mat-calendar-table{border-collapse:separate;border-spacing:20px}.cdk-overlay-container .mat-datepicker-content ngx-mat-year-view .mat-calendar-table tr:nth-of-type(1){visibility:collapse}.cdk-overlay-container .mat-datepicker-content ngx-mat-year-view .mat-calendar-table .mat-calendar-body-active{background-color:#5694ca}.cdk-overlay-container .mat-datepicker-content ngx-mat-year-view .mat-calendar-table .mat-calendar-body-cell .mat-calendar-body-cell-content{border:none}.cdk-overlay-container .mat-datepicker-content ngx-mat-year-view .mat-calendar-table .mat-calendar-body-cell .mat-calendar-body-selected{border:none;box-shadow:none;background-color:transparent}.cdk-overlay-container .mat-datepicker-content ngx-mat-year-view .mat-calendar-table .mat-calendar-body-cell{border:1px solid #bfc1c3}.cdk-overlay-container .mat-datepicker-content ngx-mat-year-view .mat-calendar-table .mat-calendar-body-cell[aria-selected=true]{background-color:#1d70b8;outline:3px solid #ffdd00;border:2px solid black;outline-offset:1px}.cdk-overlay-container .mat-datepicker-content .time-container{height:80px;padding-top:0}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker{width:100%}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table{margin-left:0!important}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tbody{position:relative}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr mdc-icon-button mat-mdc-icon-button mat-unthemed mat-mdc-button-base .mat-icon-button .mat-button-wrapper{width:auto;height:auto}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr mdc-icon-button mat-mdc-icon-button mat-unthemed mat-mdc-button-base .mat-icon-button:focus{outline:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:first-child{position:absolute;left:49px;top:15px;z-index:2}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:first-child button:disabled{display:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:first-child td:first-child [aria-label=\"expand_less icon\"]{position:absolute;left:-2px;top:25px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:first-child td:nth-child(3) [aria-label=\"expand_less icon\"].mat-icon-button{position:absolute;left:82px!important;top:25px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:first-child td:nth-child(5) [aria-label=\"expand_less icon\"].mat-icon-button{position:absolute;left:169px!important;top:25px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:first-child td:nth-last-child(1) [aria-label=\"expand_less icon\"].mat-icon-button{left:153px!important}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:first-child td:nth-last-child(2) [aria-label=\"expand_less icon\"].mat-icon-button{left:65px!important}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2){display:flex;padding:20px 0 20px 15px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) td{margin-right:30px;text-align:right}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) td:first-child .mat-form-field{width:50px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) td:first-child .mat-form-field:before{color:#000;content:\"Hours\";position:relative;top:-5px;left:-5px;font-size:15px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) td:nth-child(3) .mat-form-field:before{color:#000;content:\"Minutes\";position:relative;top:-5px;font-size:15px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) td:last-child{text-align:left;left:-15px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) .mat-form-field-disabled{display:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) td:nth-of-type(5) .mat-form-field:before{color:#000;content:\"Seconds\";position:relative;top:-5px;font-size:15px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) .meridian{border-bottom:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) .meridian .mat-button{height:30px;top:21px;border-radius:0;color:#000;border-color:#000;background-color:#dee0e2;display:flex;justify-content:center}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) .meridian .mat-button .mat-button-wrapper{position:relative;top:-2px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(4){display:flex;padding:2rem 0 2rem 15px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(4) td{margin-right:30px;text-align:right}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(4) td:last-child{text-align:left}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:last-child{position:absolute;left:49px;top:40px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:last-child button:disabled{display:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:last-child td:first-child [aria-label=\"expand_more icon\"]{position:absolute;top:15px;left:-2px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:last-child td:nth-child(3) [aria-label=\"expand_more icon\"].mat-icon-button{position:absolute;left:82px!important;top:15px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:last-child td:nth-child(5) [aria-label=\"expand_more icon\"].mat-icon-button{position:absolute;top:15px;left:169px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:last-child td:nth-last-child(1) [aria-label=\"expand_more icon\"].mat-icon-button{left:65px!important}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:last-child td:nth-last-child(1).ng-star-inserted [aria-label=\"expand_more icon\"].mat-icon-button{left:153px!important}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr td{padding:0;border-bottom:0;position:relative}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .spacer{display:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-icon{visibility:hidden;display:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-button-wrapper{display:block;width:15px;height:8px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-form-field-wrapper{padding-bottom:0}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-form-field{width:auto;max-width:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr [aria-label=\"expand_less icon\"].mat-icon-button .mat-button-wrapper:after{content:\" \\25b2\"}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr [aria-label=\"expand_more icon\"].mat-icon-button .mat-button-wrapper:after{content:\"\\25bc\"}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-form-field-flex{width:100%}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-form-field-flex .mat-form-field-infix{border:1px solid black;height:20px;width:37px;display:flex;justify-content:center;align-items:center}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-form-field-underline{visibility:hidden}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr input{height:33px;width:37px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr input:focus{border-color:#000}.cdk-overlay-container .mat-datepicker-content .actions{padding-bottom:20px;margin-top:20px;justify-content:flex-start}.cdk-overlay-container .mat-datepicker-content .actions .mat-button{background-color:#00823b;position:relative;display:-moz-inline-stack;display:inline-block;padding:.526315em .789473em .263157em;border:none;border-radius:0;outline:1px solid transparent;outline-offset:-1px;-webkit-appearance:none;box-shadow:0 2px #003618;font-size:1em;line-height:1.25;text-decoration:none;-webkit-font-smoothing:antialiased;color:#fff;box-sizing:border-box;vertical-align:top;width:80px;cursor:pointer}.cdk-overlay-container .mat-datepicker-content .actions .mat-button:focus{outline:2px solid #ffdd00}.cdk-overlay-container .mat-datepicker-content .actions .mat-button:hover{background-color:#006400}.cdk-overlay-container .mat-datepicker-content .actions .mat-button .mat-icon{visibility:hidden}.cdk-overlay-container .mat-datepicker-content .actions .mat-button .mat-button-wrapper:before{color:#fff;content:\"Confirm\";position:relative;font-size:15px;left:-3px}.cdk-overlay-container .mat-datepicker-content .mat-datepicker-actions{margin-top:120px;padding:8px 8px 28px;justify-content:flex-start}.cdk-overlay-container .mat-datepicker-content .mat-datepicker-actions button{background-color:#00823b;position:relative;display:-moz-inline-stack;display:inline-block;padding:.526315em .789473em .263157em;border:none;border-radius:0;outline:1px solid transparent;outline-offset:-1px;-webkit-appearance:none;box-shadow:0 2px #003618;font-size:1em;line-height:1.25;text-decoration:none;-webkit-font-smoothing:antialiased;color:#fff;box-sizing:border-box;vertical-align:top;width:80px;cursor:pointer}\n"], encapsulation: 2 });
|
|
29940
|
+
} }, dependencies: [i5.NgClass, i5.NgIf, i4.DefaultValueAccessor, i4.NgControlStatus, i4.FormControlDirective, i4$1.NgxMatDatetimepicker, i4$1.NgxMatDatepickerInput, i4$1.NgxMatDatepickerActions, i4$1.NgxMatDatepickerApply, i5$1.MatLegacySuffix, i6$2.MatDatepickerToggle, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], styles: ["@charset \"UTF-8\";.datepicker-container{display:inline-block;position:relative;min-width:298px}.datepicker-container .govuk-input{height:35px;min-width:298px;width:auto;padding-right:40px;border:1px solid #000}.datepicker-container .govuk-input:focus{outline:1px solid #ffdd00;border:1px solid black}.datepicker-container .govuk-input::-ms-clear{display:none}.datepicker-container .datepicker-wrapper-input{position:relative;display:inline-block;top:-20%;border:0}.datepicker-container .datepicker-wrapper-input:focus{border:0;outline:none}.datepicker-container .mat-icon-button{height:32px;width:32px}.datepicker-container .mat-icon-button:focus{outline:1px solid #ffdd00}.datepicker-container .mat-icon-button .mat-datepicker-toggle-default-icon{position:relative;top:-5px}.datepicker-container .mat-datepicker-toggle{position:absolute;right:0}.datepicker-container .mat-mdc-icon-button.mat-mdc-button-base{width:32px;height:32px;padding:5px 0 0}.datepicker-container .mat-mdc-icon-button.mat-mdc-button-base:focus{outline:1px solid #fd0}.cdk-overlay-container .mat-datepicker-content{border:1px solid black;border-radius:0;max-width:295px;background:#fff}.cdk-overlay-container .mat-datepicker-content .mat-calendar-table{width:calc(100% - 1px);table-layout:fixed}.cdk-overlay-container .mat-datepicker-content .mat-calendar-header{height:34px;border-bottom:1px ridge #bfc1c3}.cdk-overlay-container .mat-datepicker-content .mat-calendar-period-button{left:14%;min-width:125px;border-right:1px ridge #bfc1c3;border-left:1px ridge #bfc1c3;border-radius:0;top:-20px;width:200%}.cdk-overlay-container .mat-datepicker-content .mat-calendar-period-button .mat-button-wrapper{text-align:center;font-weight:700}.cdk-overlay-container .mat-datepicker-content .mat-calendar-period-button:focus{border:2px solid black}.cdk-overlay-container .mat-datepicker-content .mat-calendar-previous-button{left:-73%;top:-20px;border:2px solid transparent;border-radius:0}.cdk-overlay-container .mat-datepicker-content .mat-calendar-previous-button:focus{border-color:#000}.cdk-overlay-container .mat-datepicker-content .mat-calendar-previous-button:after{border-left-width:5px;border-top-width:5px;color:#000;padding:4px;top:-2px;left:-2px}.cdk-overlay-container .mat-datepicker-content .mat-calendar-next-button{top:-20px;left:1%;border:2px solid transparent;border-radius:0}.cdk-overlay-container .mat-datepicker-content .mat-calendar-next-button:focus{border-color:#000}.cdk-overlay-container .mat-datepicker-content .mat-calendar-next-button:after{border-right-width:5px;border-top-width:5px;color:#000;padding:4px;top:-2px;left:-2px}.cdk-overlay-container .mat-datepicker-content .mat-button-wrapper{text-transform:capitalize!important}.cdk-overlay-container .mat-datepicker-content .mat-calendar{border-bottom:1px solid black}.cdk-overlay-container .mat-datepicker-content .mat-calendar-table-header-divider{padding:0;border-bottom:none}.cdk-overlay-container .mat-datepicker-content .mat-calendar-table-header-divider:after{height:0px}.cdk-overlay-container .mat-datepicker-content .mat-calendar-content{padding:0}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header{color:#000}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header th.ng-star-inserted{font-weight:700;font-size:15px;padding-top:2%;padding-bottom:2%;column-width:20px}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:nth-of-type(1) th{visibility:hidden}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:nth-of-type(1) th:after{visibility:visible;color:#000;position:relative;left:-15px}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:nth-of-type(1) th:nth-of-type(1):after{content:\"MON\"}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:nth-of-type(1) th:nth-of-type(2):after{left:-12px;content:\"TUE\"}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:nth-of-type(1) th:nth-of-type(3):after{left:-18px;content:\"WED\"}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:nth-of-type(1) th:nth-of-type(4):after{left:-14px;content:\"THU\"}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:nth-of-type(1) th:nth-of-type(5):after{left:-10px;content:\"FRI\"}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:nth-of-type(1) th:nth-of-type(6):after{content:\"SAT\"}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-table-header tr:nth-of-type(1) th:nth-of-type(7):after{content:\"SUN\"}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-body-label{font-weight:700;font-size:large;color:#000}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-body-selected{border:none;background-color:transparent;color:#fff}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-body-active{background-color:#5694ca}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-body-active .mat-calendar-body-today{border:none;box-shadow:none}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-body-cell{border:1px ridge #bfc1c3}.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-body-cell[aria-selected=true],.cdk-overlay-container .mat-datepicker-content ngx-mat-month-view .mat-calendar-body-cell[aria-pressed=true]{background-color:#1d70b8;outline:3px solid #ffdd00;border:2px solid black;outline-offset:1px;z-index:1}.cdk-overlay-container .mat-datepicker-content ngx-mat-multi-year-view .mat-calendar-table{border-collapse:separate;border-spacing:10px}.cdk-overlay-container .mat-datepicker-content ngx-mat-multi-year-view .mat-calendar-table .mat-calendar-body-active{background-color:#5694ca}.cdk-overlay-container .mat-datepicker-content ngx-mat-multi-year-view .mat-calendar-table .mat-calendar-body-cell .mat-calendar-body-cell-content{border:none}.cdk-overlay-container .mat-datepicker-content ngx-mat-multi-year-view .mat-calendar-table .mat-calendar-body-cell .mat-calendar-body-selected{border:none;box-shadow:none;background-color:transparent}.cdk-overlay-container .mat-datepicker-content ngx-mat-multi-year-view .mat-calendar-table .mat-calendar-body-cell{border:1px solid #bfc1c3}.cdk-overlay-container .mat-datepicker-content ngx-mat-multi-year-view .mat-calendar-table .mat-calendar-body-cell[aria-selected=true]{background-color:#1d70b8;outline:2px solid #ffdd00}.cdk-overlay-container .mat-datepicker-content ngx-mat-year-view .mat-calendar-table{border-collapse:separate;border-spacing:20px}.cdk-overlay-container .mat-datepicker-content ngx-mat-year-view .mat-calendar-table tr:nth-of-type(1){visibility:collapse}.cdk-overlay-container .mat-datepicker-content ngx-mat-year-view .mat-calendar-table .mat-calendar-body-active{background-color:#5694ca}.cdk-overlay-container .mat-datepicker-content ngx-mat-year-view .mat-calendar-table .mat-calendar-body-cell .mat-calendar-body-cell-content{border:none}.cdk-overlay-container .mat-datepicker-content ngx-mat-year-view .mat-calendar-table .mat-calendar-body-cell .mat-calendar-body-selected{border:none;box-shadow:none;background-color:transparent}.cdk-overlay-container .mat-datepicker-content ngx-mat-year-view .mat-calendar-table .mat-calendar-body-cell{border:1px solid #bfc1c3}.cdk-overlay-container .mat-datepicker-content ngx-mat-year-view .mat-calendar-table .mat-calendar-body-cell[aria-selected=true]{background-color:#1d70b8;outline:3px solid #ffdd00;border:2px solid black;outline-offset:1px}.cdk-overlay-container .mat-datepicker-content .time-container{height:80px;padding-top:0}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker{width:100%}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table{margin-left:0!important}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tbody{position:relative}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr mdc-icon-button mat-mdc-icon-button mat-unthemed mat-mdc-button-base .mat-icon-button .mat-button-wrapper{width:auto;height:auto}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr mdc-icon-button mat-mdc-icon-button mat-unthemed mat-mdc-button-base .mat-icon-button:focus{outline:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:first-child{position:absolute;left:49px;top:15px;z-index:2}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:first-child button:disabled{display:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:first-child td:first-child [aria-label=\"expand_less icon\"]{position:absolute;left:-2px;top:25px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:first-child td:nth-child(3) [aria-label=\"expand_less icon\"].mat-icon-button{position:absolute;left:82px!important;top:25px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:first-child td:nth-child(5) [aria-label=\"expand_less icon\"].mat-icon-button{position:absolute;left:169px!important;top:25px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:first-child td:nth-last-child(1) [aria-label=\"expand_less icon\"].mat-icon-button{left:153px!important}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:first-child td:nth-last-child(2) [aria-label=\"expand_less icon\"].mat-icon-button{left:65px!important}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2){display:flex;padding:20px 0 20px 15px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) td{margin-right:30px;text-align:right}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) td:first-child .mat-form-field{width:50px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) td:first-child .mat-form-field:before{color:#000;content:\"Hours\";position:relative;top:-5px;left:-5px;font-size:15px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) td:nth-child(3) .mat-form-field:before{color:#000;content:\"Minutes\";position:relative;top:-5px;font-size:15px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) td:last-child{text-align:left;left:-15px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) .mat-form-field-disabled{display:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) td:nth-of-type(5) .mat-form-field:before{color:#000;content:\"Seconds\";position:relative;top:-5px;font-size:15px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) .meridian{border-bottom:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) .meridian .mat-button{height:30px;top:21px;border-radius:0;color:#000;border-color:#000;background-color:#dee0e2;display:flex;justify-content:center}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(2) .meridian .mat-button .mat-button-wrapper{position:relative;top:-2px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(4){display:flex;padding:2rem 0 2rem 15px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(4) td{margin-right:30px;text-align:right}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:nth-child(4) td:last-child{text-align:left}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:last-child{position:absolute;left:49px;top:40px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:last-child button:disabled{display:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:last-child td:first-child [aria-label=\"expand_more icon\"]{position:absolute;top:15px;left:-2px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:last-child td:nth-child(3) [aria-label=\"expand_more icon\"].mat-icon-button{position:absolute;left:82px!important;top:15px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:last-child td:nth-child(5) [aria-label=\"expand_more icon\"].mat-icon-button{position:absolute;top:15px;left:169px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:last-child td:nth-last-child(1) [aria-label=\"expand_more icon\"].mat-icon-button{left:65px!important}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr:last-child td:nth-last-child(1).ng-star-inserted [aria-label=\"expand_more icon\"].mat-icon-button{left:153px!important}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr td{padding:0;border-bottom:0;position:relative}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .spacer{display:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-icon{visibility:hidden;display:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-button-wrapper{display:block;width:15px;height:8px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-form-field-wrapper{padding-bottom:0}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-form-field{width:auto;max-width:none}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr [aria-label=\"expand_less icon\"].mat-icon-button .mat-button-wrapper:after{content:\" \\25b2\"}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr [aria-label=\"expand_more icon\"].mat-icon-button .mat-button-wrapper:after{content:\"\\25bc\"}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-form-field-flex{width:100%}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-form-field-flex .mat-form-field-infix{border:1px solid black;height:20px;width:37px;display:flex;justify-content:center;align-items:center}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr .mat-form-field-underline{visibility:hidden}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr input{height:33px;width:37px}.cdk-overlay-container .mat-datepicker-content .time-container .ngx-mat-timepicker .table tr input:focus{border-color:#000}.cdk-overlay-container .mat-datepicker-content .actions{padding-bottom:20px;margin-top:20px;justify-content:flex-start}.cdk-overlay-container .mat-datepicker-content .actions .mat-button{background-color:#00823b;position:relative;display:-moz-inline-stack;display:inline-block;padding:.526315em .789473em .263157em;border:none;border-radius:0;outline:1px solid transparent;outline-offset:-1px;-webkit-appearance:none;box-shadow:0 2px #003618;font-size:1em;line-height:1.25;text-decoration:none;-webkit-font-smoothing:antialiased;color:#fff;box-sizing:border-box;vertical-align:top;width:80px;cursor:pointer}.cdk-overlay-container .mat-datepicker-content .actions .mat-button:focus{outline:2px solid #ffdd00}.cdk-overlay-container .mat-datepicker-content .actions .mat-button:hover{background-color:#006400}.cdk-overlay-container .mat-datepicker-content .actions .mat-button .mat-icon{visibility:hidden}.cdk-overlay-container .mat-datepicker-content .actions .mat-button .mat-button-wrapper:before{color:#fff;content:\"Confirm\";position:relative;font-size:15px;left:-3px}.cdk-overlay-container .mat-datepicker-content .mat-datepicker-actions{margin-top:120px;padding:8px 8px 28px;justify-content:flex-start}.cdk-overlay-container .mat-datepicker-content .mat-datepicker-actions button{background-color:#00823b;position:relative;display:-moz-inline-stack;display:inline-block;padding:.526315em .789473em .263157em;border:none;border-radius:0;outline:1px solid transparent;outline-offset:-1px;-webkit-appearance:none;box-shadow:0 2px #003618;font-size:1em;line-height:1.25;text-decoration:none;-webkit-font-smoothing:antialiased;color:#fff;box-sizing:border-box;vertical-align:top;width:80px;cursor:pointer}\n"], encapsulation: 2 });
|
|
29961
29941
|
}
|
|
29962
29942
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DatetimePickerComponent, [{
|
|
29963
29943
|
type: Component,
|
|
@@ -30262,9 +30242,7 @@ class EventLogTableComponent {
|
|
|
30262
30242
|
}
|
|
30263
30243
|
ngOnInit() {
|
|
30264
30244
|
this.isPartOfCaseTimeline = this.onCaseHistory.observers.length > 0;
|
|
30265
|
-
|
|
30266
|
-
const roles = userDetails?.roles || [];
|
|
30267
|
-
this.isUserExternal = roles.includes('pui-case-manager');
|
|
30245
|
+
this.isUserExternal = JSON.parse(this.sessionStorage.getItem('userDetails')).roles.includes('pui-case-manager');
|
|
30268
30246
|
}
|
|
30269
30247
|
select(event) {
|
|
30270
30248
|
this.selected = event;
|
|
@@ -30353,7 +30331,7 @@ class EventLogTableComponent {
|
|
|
30353
30331
|
}], onCaseHistory: [{
|
|
30354
30332
|
type: Output
|
|
30355
30333
|
}] }); })();
|
|
30356
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EventLogTableComponent, { className: "EventLogTableComponent", filePath: "lib/shared/components/palette/history/event-log/event-log-table.component.ts", lineNumber:
|
|
30334
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EventLogTableComponent, { className: "EventLogTableComponent", filePath: "lib/shared/components/palette/history/event-log/event-log-table.component.ts", lineNumber: 12 }); })();
|
|
30357
30335
|
|
|
30358
30336
|
function EventLogComponent_ccd_event_log_table_3_Template(rf, ctx) { if (rf & 1) {
|
|
30359
30337
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
@@ -35117,7 +35095,7 @@ class CaseResolver {
|
|
|
35117
35095
|
// as discussed for EUI-5456, need functionality to go to default page
|
|
35118
35096
|
goToDefaultPage() {
|
|
35119
35097
|
console.info('Going to default page!');
|
|
35120
|
-
const userDetails =
|
|
35098
|
+
const userDetails = JSON.parse(this.sessionStorage.getItem(USER_DETAILS));
|
|
35121
35099
|
userDetails && userDetails.roles
|
|
35122
35100
|
&& !userDetails.roles.includes(PUI_CASE_MANAGER)
|
|
35123
35101
|
&&
|
|
@@ -35170,7 +35148,7 @@ class EventTriggerResolver {
|
|
|
35170
35148
|
const query = route.queryParams;
|
|
35171
35149
|
// If jurisdiction or caseType are missing, redirect to correct URL
|
|
35172
35150
|
if (!jurisdiction || !caseType) {
|
|
35173
|
-
const caseInfo =
|
|
35151
|
+
const caseInfo = JSON.parse(this.sessionStorageService.getItem('caseInfo') || '{}');
|
|
35174
35152
|
const jurisdictionId = caseInfo?.jurisdiction;
|
|
35175
35153
|
const caseTypeId = caseInfo?.caseType;
|
|
35176
35154
|
const caseId = caseInfo?.caseId;
|
|
@@ -39438,7 +39416,7 @@ class CreateCaseFiltersComponent {
|
|
|
39438
39416
|
return events.filter(event => event.pre_states.length === 0);
|
|
39439
39417
|
}
|
|
39440
39418
|
retainEventsWithCreateRights(events) {
|
|
39441
|
-
const userProfile =
|
|
39419
|
+
const userProfile = JSON.parse(this.sessionStorageService.getItem(USER_DETAILS));
|
|
39442
39420
|
return events.filter(event => userProfile && userProfile.roles &&
|
|
39443
39421
|
!!userProfile.roles.find(role => this.hasCreateAccess(event, role)));
|
|
39444
39422
|
}
|
|
@@ -39576,7 +39554,7 @@ class CreateCaseFiltersComponent {
|
|
|
39576
39554
|
}], selectionChanged: [{
|
|
39577
39555
|
type: Output
|
|
39578
39556
|
}] }); })();
|
|
39579
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CreateCaseFiltersComponent, { className: "CreateCaseFiltersComponent", filePath: "lib/shared/components/create-case-filters/create-case-filters.component.ts", lineNumber:
|
|
39557
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CreateCaseFiltersComponent, { className: "CreateCaseFiltersComponent", filePath: "lib/shared/components/create-case-filters/create-case-filters.component.ts", lineNumber: 19 }); })();
|
|
39580
39558
|
|
|
39581
39559
|
class CreateCaseFiltersModule {
|
|
39582
39560
|
static ɵfac = function CreateCaseFiltersModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CreateCaseFiltersModule)(); };
|
|
@@ -41197,5 +41175,5 @@ class TestRouteSnapshotBuilder {
|
|
|
41197
41175
|
* Generated bundle index. Do not edit.
|
|
41198
41176
|
*/
|
|
41199
41177
|
|
|
41200
|
-
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 };
|
|
41178
|
+
export { AbstractAppConfig, AbstractFieldReadComponent, AbstractFieldWriteComponent, AbstractFieldWriteJourneyComponent, AbstractJourneyComponent, Activity, ActivityBannerComponent, ActivityComponent, ActivityIconComponent, ActivityInfo, ActivityModule, ActivityPollingService, ActivityService, AddCommentsComponent, AddCommentsErrorMessage, AddCommentsStep, AddressModel, AddressOption, AddressesService, Alert, AlertComponent, AlertIconClassPipe, AlertMessageType, AlertModule, AlertService, AuthService, Banner, BannersService, BeforeYouStartComponent, BodyComponent, BrowserService, CCDCaseLinkType, COMPONENT_PORTAL_INJECTION_TOKEN, CallbackErrorsComponent, CallbackErrorsContext, CaseAccessUtils, CaseBasicAccessViewComponent, CaseChallengedAccessRequestComponent, CaseChallengedAccessSuccessComponent, CaseCreateComponent, CaseDetails, CaseEditComponent, CaseEditConfirmComponent, CaseEditDataModule, CaseEditDataService, CaseEditFormComponent, CaseEditPageComponent, CaseEditSubmitComponent, CaseEditWizardGuard, CaseEditorConfig, CaseEditorModule, CaseEvent, CaseEventCompletionComponent, CaseEventCompletionTaskCancelledComponent, CaseEventCompletionTaskReassignedComponent, CaseEventData, CaseEventTrigger, CaseEventTriggerComponent, CaseField, CaseFieldService, CaseFileViewFieldComponent, CaseFileViewFolderComponent, CaseFileViewFolderDocumentActionsComponent, CaseFileViewFolderSelectorComponent, CaseFileViewFolderSortComponent, CaseFileViewFolderToggleComponent, CaseFileViewOverlayMenuComponent, CaseFileViewService, CaseFlagCheckYourAnswersPageStep, CaseFlagDisplayContextParameter, CaseFlagErrorMessage, CaseFlagFieldState, CaseFlagFormFields, CaseFlagRefdataService, CaseFlagStatus, CaseFlagSummaryListComponent, CaseFlagSummaryListDisplayMode, CaseFlagTableComponent, CaseFlagWizardStepTitle, CaseFullAccessViewComponent, CaseHeaderComponent, CaseHeaderModule, CaseHistoryViewerFieldComponent, CaseLink, CaseLinkResponse, CaseListComponent, CaseListFiltersComponent, CaseListFiltersModule, CaseListModule, CaseNotifier, CasePaymentHistoryViewerFieldComponent, CasePrintDocument, CasePrinterComponent, CaseProgressComponent, CaseReferencePipe, CaseResolver, CaseSpecificAccessRequestComponent, CaseSpecificAccessSuccessComponent, CaseState, CaseTab, CaseTimelineComponent, CaseTimelineDisplayMode, CaseTimelineModule, CaseType, CaseTypeLite, CaseView, CaseViewComponent, CaseViewEvent, CaseViewTrigger, CaseViewerComponent, CaseViewerModule, CasesService, CaseworkerService, CcdCYAPageLabelFilterPipe, CcdCaseTitlePipe, CcdCollectionTableCaseFieldsFilterPipe, CcdPageFieldsPipe, CcdTabFieldsPipe, CheckYourAnswersComponent, CloseQueryComponent, ConditionalShowFormDirective, ConditionalShowModule, ConditionalShowRegistrarService, ConfirmFlagStatusComponent, ConfirmStatusErrorMessage, ConfirmStatusStep, Confirmation, ConvertHrefToRouterService, CreateCaseFiltersComponent, CreateCaseFiltersModule, CreateCaseFiltersSelection, DRAFT_PREFIX, DRAFT_QUERY_PARAM, DashPipe, DateInputComponent, DatePipe, DateTimeFormatUtils, DatetimePickerComponent, DefinitionsModule, DefinitionsService, DeleteOrCancelDialogComponent, DialogsModule, DisplayMode, Document, DocumentData, DocumentDialogComponent, DocumentLinks, DocumentManagementService, DocumentUrlPipe, Draft, DraftService, DynamicListPipe, DynamicRadioListPipe, ESQueryType, Embedded, EnumDisplayDescriptionPipe, ErrorMessageComponent, ErrorNotifierService, EventCaseField, EventCompletionReturnStates, EventCompletionStateMachineService, EventCompletionStates, EventLogComponent, EventLogDetailsComponent, EventLogTableComponent, EventMessageModule, EventStartComponent, EventStartModule, EventStartStateMachineService, EventStatusService, EventTriggerResolver, EventTriggerService, Fee, FeeValue, Field, FieldLabelPipe, FieldReadComponent, FieldReadLabelComponent, FieldType, FieldTypeSanitiser, FieldWriteComponent, FieldsFilterPipe, FieldsPurger, FieldsUtils, FirstErrorPipe, FixedListItem, FixedListPipe, FixedRadioListPipe, FlagFieldDisplayPipe, FocusElementDirective, FocusElementModule, FooterComponent, FormDocument, FormErrorService, FormValidatorsService, FormValueService, FormatTranslatorService, GreyBarService, HRef, HeaderBarComponent, HeadersModule, HttpError, HttpErrorService, HttpService, IsCompoundPipe, IsMandatoryPipe, IsReadOnlyAndNotCollectionPipe, IsReadOnlyPipe, JudicialworkerService, Jurisdiction, JurisdictionService, LabelFieldComponent, LabelSubstitutorDirective, LabelSubstitutorModule, LanguageInterpreterDisplayPipe, LinkCaseReason, LinkCasesComponent, LinkCasesFromReasonValuePipe, LinkCasesReasonValuePipe, LinkDetails, LinkFromReason, LinkReason, LinkedCasesErrorMessages, LinkedCasesEventTriggers, LinkedCasesFromTableComponent, LinkedCasesPages, LinkedCasesResponse, LinkedCasesToTableComponent, LoadingModule, LoadingService, LoadingSpinnerComponent, LoadingSpinnerModule, MEDIA_VIEWER_LOCALSTORAGE_KEY, MULTIPLE_TASKS_FOUND, ManageCaseFlagsComponent, ManageCaseFlagsLabelDisplayPipe, MarkdownComponent, MarkdownComponentModule, MoneyGbpInputComponent, MultipageComponentStateService, MultipleTasksExistComponent, NavigationComponent, NavigationItemComponent, NavigationNotifierService, NavigationOrigin, NoLinkedCasesComponent, NoTasksAvailableComponent, NotificationBannerComponent, NotificationBannerHeaderClass, NotificationBannerType, OrderService, OrderSummary, OrganisationConverter, OrganisationService, PageValidationService, PaginationComponent, PaginationMetadata, PaginationModule, PaletteContext, PaletteModule, PaletteService, PaletteUtilsModule, Patterns, PaymentField, PhaseComponent, PipesModule, PlaceholderService, PrintUrlPipe, Profile, ProfileNotifier, ProfileService, QualifyingQuestionDetailComponent, QualifyingQuestionOptionsComponent, QualifyingQuestionService, QualifyingQuestionsErrorMessage, QueryAttachmentsReadComponent, QueryCaseDetailsHeaderComponent, QueryCheckYourAnswersComponent, QueryConfirmationComponent, QueryCreateContext, QueryDetailsComponent, QueryEventCompletionComponent, QueryItemResponseStatus, QueryListComponent, QueryListData, QueryListItem, QueryManagementService, QueryWriteAddDocumentsComponent, QueryWriteDateInputComponent, QueryWriteRaiseQueryComponent, QueryWriteRespondToQueryComponent, RaiseQueryErrorMessage, ReadCaseFlagFieldComponent, ReadCaseLinkFieldComponent, ReadCollectionFieldComponent, ReadComplexFieldCollectionTableComponent, ReadComplexFieldComponent, ReadComplexFieldRawComponent, ReadComplexFieldTableComponent, ReadCookieService, ReadDateFieldComponent, ReadDocumentFieldComponent, ReadDynamicListFieldComponent, ReadDynamicMultiSelectListFieldComponent, ReadDynamicRadioListFieldComponent, ReadEmailFieldComponent, ReadFieldsFilterPipe, ReadFixedListFieldComponent, ReadFixedRadioListFieldComponent, ReadJudicialUserFieldComponent, ReadLinkedCasesFieldComponent, ReadMoneyGbpFieldComponent, ReadMultiSelectListFieldComponent, ReadNumberFieldComponent, ReadOrderSummaryFieldComponent, ReadOrderSummaryRowComponent, ReadOrganisationFieldComponent, ReadOrganisationFieldRawComponent, ReadOrganisationFieldTableComponent, ReadPhoneUKFieldComponent, ReadQueryManagementFieldComponent, ReadTextAreaFieldComponent, ReadTextFieldComponent, ReadYesNoFieldComponent, RefdataCaseFlagType, RemoveDialogComponent, RequestOptionsBuilder, RespondToQueryErrorMessages, RetryUtil, RouterHelperService, RouterLinkComponent, SaveOrDiscardDialogComponent, SearchFiltersComponent, SearchFiltersModule, SearchFiltersWrapperComponent, SearchInput, SearchLanguageInterpreterComponent, SearchLanguageInterpreterErrorMessage, SearchLanguageInterpreterStep, SearchResultComponent, SearchResultModule, SearchResultView, SearchResultViewColumn, SearchResultViewItem, SearchResultViewItemComparatorFactory, SearchService, SelectFlagErrorMessage, SelectFlagLocationComponent, SelectFlagLocationErrorMessage, SelectFlagTypeComponent, SelectFlagTypeErrorMessage, SessionStorageService, ShowCondition, SortOrder$1 as SortOrder, SortParameters, SortSearchResultPipe, TabComponent, TableColumnConfig, TableConfig, TabsComponent, TabsModule, TaskAssignedComponent, TaskCancelledComponent, TaskConflictComponent, TaskUnassignedComponent, Terms, TestRouteSnapshotBuilder, TranslatedMarkdownDirective, TranslatedMarkdownModule, UnLinkCasesComponent, UnsupportedFieldComponent, UpdateFlagAddTranslationErrorMessage, UpdateFlagAddTranslationFormComponent, UpdateFlagAddTranslationStep, UpdateFlagComponent, UpdateFlagErrorMessage, UpdateFlagStep, UpdateFlagTitleDisplayPipe, WaysToPayFieldComponent, WindowService, Wizard, WizardFactoryService, WizardPage, WizardPageField, WorkAllocationService, WorkbasketFiltersComponent, WorkbasketFiltersModule, WorkbasketInput, WorkbasketInputFilterService, WorkbasketInputModel, WriteAddressFieldComponent, WriteCaseFlagFieldComponent, WriteCaseLinkFieldComponent, WriteCollectionFieldComponent, WriteComplexFieldComponent, WriteDateContainerFieldComponent, WriteDateFieldComponent, WriteDocumentFieldComponent, WriteDynamicListFieldComponent, WriteDynamicMultiSelectListFieldComponent, WriteDynamicRadioListFieldComponent, WriteEmailFieldComponent, WriteFixedListFieldComponent, WriteFixedRadioListFieldComponent, WriteJudicialUserFieldComponent, WriteLinkedCasesFieldComponent, WriteMoneyGbpFieldComponent, WriteMultiSelectListFieldComponent, WriteNumberFieldComponent, WriteOrderSummaryFieldComponent, WriteOrganisationComplexFieldComponent, WriteOrganisationFieldComponent, WritePhoneUKFieldComponent, WriteTextAreaFieldComponent, WriteTextFieldComponent, WriteYesNoFieldComponent, YesNoService, aCaseField, caseMessagesMockData, createACL, createCaseEventTrigger, createCaseField, createComplexFieldOverride, createFieldType, createFixedListFieldType, createHiddenComplexFieldOverride, createMultiSelectListFieldType, createWizardPage, createWizardPageField, editorRouting, initDialog, newCaseField, textFieldType, viewerRouting };
|
|
41201
41179
|
//# sourceMappingURL=hmcts-ccd-case-ui-toolkit.mjs.map
|