@hmcts/ccd-case-ui-toolkit 6.14.4-eui-4157-b → 6.14.4-hotfix-110
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/bundles/hmcts-ccd-case-ui-toolkit.umd.js +455 -395
- package/bundles/hmcts-ccd-case-ui-toolkit.umd.js.map +1 -1
- package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js +1 -1
- package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js.map +1 -1
- package/esm2015/lib/app.config.js +1 -1
- package/esm2015/lib/components/form/date-input/date-input.component.js +8 -8
- package/esm2015/lib/components/header/header-bar/header-bar.component.js +3 -2
- package/esm2015/lib/shared/commons/case-edit-data/case-edit-data.module.js +1 -1
- package/esm2015/lib/shared/commons/case-edit-data/case-edit-validation.model.js +1 -1
- package/esm2015/lib/shared/components/activity/activity.component.js +5 -5
- package/esm2015/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.js +2 -2
- package/esm2015/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.js +2 -2
- package/esm2015/lib/shared/components/case-editor/case-editor.module.js +1 -1
- package/esm2015/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.js +3 -3
- package/esm2015/lib/shared/components/case-editor/services/cases.service.js +22 -11
- package/esm2015/lib/shared/components/case-editor/services/page-validation.service.js +2 -2
- package/esm2015/lib/shared/components/case-editor/services/wizard-page-field-to-case-field.mapper.js +2 -2
- package/esm2015/lib/shared/components/case-editor/services/work-allocation.service.js +1 -1
- package/esm2015/lib/shared/components/case-viewer/case-challenged-access-request/case-challenged-access-request.component.js +5 -5
- package/esm2015/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.js +1 -1
- package/esm2015/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.js +33 -24
- package/esm2015/lib/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.js +4 -4
- package/esm2015/lib/shared/components/case-viewer/case-viewer.component.js +5 -5
- package/esm2015/lib/shared/components/case-viewer/printer/pipes/print-url.pipe.js +3 -3
- package/esm2015/lib/shared/components/case-viewer/services/case.resolver.js +2 -2
- package/esm2015/lib/shared/components/event-start/event-guard/event-start.guard.js +2 -2
- package/esm2015/lib/shared/components/palette/address/address-option.model.js +7 -4
- package/esm2015/lib/shared/components/palette/address/write-address-field.component.js +4 -4
- package/esm2015/lib/shared/components/palette/case-flag/components/case-flag-table/case-flag-table.component.js +1 -1
- package/esm2015/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.js +2 -2
- package/esm2015/lib/shared/components/palette/case-flag/enums/index.js +1 -1
- package/esm2015/lib/shared/components/palette/collection/collection-create-checker.service.js +5 -5
- package/esm2015/lib/shared/components/palette/collection/write-collection-field.component.js +5 -5
- package/esm2015/lib/shared/components/palette/complex/read-complex-field-collection-table.component.js +3 -3
- package/esm2015/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.js +1 -1
- package/esm2015/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-from-table.component.js +2 -2
- package/esm2015/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-to-table.component.js +1 -1
- package/esm2015/lib/shared/components/palette/linked-cases/domain/linked-cases.model.js +1 -1
- package/esm2015/lib/shared/components/palette/linked-cases/read-linked-cases-field.component.js +2 -2
- package/esm2015/lib/shared/components/palette/linked-cases/services/linked-cases.service.js +3 -2
- package/esm2015/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.js +4 -3
- package/esm2015/lib/shared/components/palette/order-summary/fee.model.js +1 -1
- package/esm2015/lib/shared/components/palette/order-summary/order-summary.model.js +1 -1
- package/esm2015/lib/shared/components/palette/text-area/write-text-area-field.component.js +2 -2
- package/esm2015/lib/shared/components/palette/utils/date.pipe.js +4 -4
- package/esm2015/lib/shared/components/search-filters/search-filters.component.js +2 -2
- package/esm2015/lib/shared/components/workbasket-filters/workbasket-filters.component.js +3 -3
- package/esm2015/lib/shared/directives/conditional-show/domain/conditional-show.model.js +3 -3
- package/esm2015/lib/shared/directives/conditional-show/services/condition-parser.service.js +7 -3
- package/esm2015/lib/shared/domain/case-view/case-view.model.js +1 -1
- package/esm2015/lib/shared/domain/case-view/role-assignment-response.model.js +1 -1
- package/esm2015/lib/shared/domain/case-view/role-request.model.js +1 -1
- package/esm2015/lib/shared/domain/organisation/organisation-converter.js +8 -8
- package/esm2015/lib/shared/domain/user/user-info.model.js +1 -1
- package/esm2015/lib/shared/fixture/case-field-builder.js +13 -13
- package/esm2015/lib/shared/fixture/shared.test.fixture.js +27 -27
- package/esm2015/lib/shared/pipes/complex/{ccd-page-fields.pipe.js → cdd-page-fields.pipe.js} +3 -3
- package/esm2015/lib/shared/pipes/complex/index.js +2 -2
- package/esm2015/lib/shared/services/activity/activity.polling.service.js +2 -2
- package/esm2015/lib/shared/services/activity/activity.service.js +18 -9
- package/esm2015/lib/shared/services/addresses/address-parser.js +5 -5
- package/esm2015/lib/shared/services/case-fields/format-translator.service.js +2 -2
- package/esm2015/lib/shared/services/case-flag/case-flag-refdata.service.js +2 -2
- package/esm2015/lib/shared/services/common-data-service/common-data-service.js +2 -2
- package/esm2015/lib/shared/services/definitions/definitions.service.js +8 -3
- package/esm2015/lib/shared/services/fields/fields.purger.js +15 -15
- package/esm2015/lib/shared/services/fields/fields.utils.js +4 -4
- package/esm2015/lib/shared/services/form/form-value.service.js +2 -1
- package/esm2015/lib/shared/services/loading/loading.service.js +7 -2
- package/esm2015/lib/shared/services/search/search.service.js +10 -5
- package/esm2015/lib/shared/services/search-result/sorting/search-result-view-item-comparator-factory.js +5 -5
- package/esm2015/lib/shared/services/window/window.service.js +1 -1
- package/fesm2015/hmcts-ccd-case-ui-toolkit.js +435 -383
- package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
- package/lib/app.config.d.ts.map +1 -1
- package/lib/components/header/header-bar/header-bar.component.d.ts.map +1 -1
- package/lib/shared/commons/case-edit-data/case-edit-data.module.d.ts.map +1 -1
- package/lib/shared/commons/case-edit-data/case-edit-validation.model.d.ts.map +1 -1
- package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
- package/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.d.ts +2 -2
- package/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.d.ts.map +1 -1
- package/lib/shared/components/case-editor/services/cases.service.d.ts +3 -1
- package/lib/shared/components/case-editor/services/cases.service.d.ts.map +1 -1
- package/lib/shared/components/case-editor/services/wizard-page-field-to-case-field.mapper.d.ts.map +1 -1
- package/lib/shared/components/case-editor/services/work-allocation.service.d.ts.map +1 -1
- package/lib/shared/components/case-viewer/case-challenged-access-request/case-challenged-access-request.component.d.ts.map +1 -1
- package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts +6 -2
- package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts.map +1 -1
- package/lib/shared/components/case-viewer/case-viewer.component.d.ts.map +1 -1
- package/lib/shared/components/case-viewer/printer/pipes/print-url.pipe.d.ts.map +1 -1
- package/lib/shared/components/case-viewer/services/case.resolver.d.ts.map +1 -1
- package/lib/shared/components/event-start/event-guard/event-start.guard.d.ts +1 -1
- package/lib/shared/components/event-start/event-guard/event-start.guard.d.ts.map +1 -1
- package/lib/shared/components/palette/address/address-option.model.d.ts.map +1 -1
- package/lib/shared/components/palette/address/write-address-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/components/select-flag-location/select-flag-location.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-flag/enums/index.d.ts.map +1 -1
- package/lib/shared/components/palette/collection/collection-create-checker.service.d.ts.map +1 -1
- package/lib/shared/components/palette/complex/read-complex-field-collection-table.component.d.ts +1 -1
- package/lib/shared/components/palette/complex/read-complex-field-collection-table.component.d.ts.map +1 -1
- package/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-from-table.component.d.ts +4 -4
- package/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-from-table.component.d.ts.map +1 -1
- package/lib/shared/components/palette/linked-cases/domain/linked-cases.model.d.ts.map +1 -1
- package/lib/shared/components/palette/linked-cases/read-linked-cases-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/linked-cases/services/linked-cases.service.d.ts.map +1 -1
- package/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/order-summary/fee.model.d.ts.map +1 -1
- package/lib/shared/components/palette/order-summary/order-summary.model.d.ts.map +1 -1
- package/lib/shared/components/palette/text-area/write-text-area-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/utils/date.pipe.d.ts.map +1 -1
- package/lib/shared/components/workbasket-filters/workbasket-filters.component.d.ts.map +1 -1
- package/lib/shared/directives/conditional-show/domain/conditional-show.model.d.ts.map +1 -1
- package/lib/shared/directives/conditional-show/services/condition-parser.service.d.ts.map +1 -1
- package/lib/shared/domain/case-view/case-view.model.d.ts.map +1 -1
- package/lib/shared/domain/case-view/role-assignment-response.model.d.ts +2 -1
- package/lib/shared/domain/case-view/role-assignment-response.model.d.ts.map +1 -1
- package/lib/shared/domain/case-view/role-request.model.d.ts.map +1 -1
- package/lib/shared/domain/organisation/organisation-converter.d.ts.map +1 -1
- package/lib/shared/domain/user/user-info.model.d.ts.map +1 -1
- package/lib/shared/fixture/case-field-builder.d.ts +6 -6
- package/lib/shared/fixture/case-field-builder.d.ts.map +1 -1
- package/lib/shared/fixture/shared.test.fixture.d.ts +6 -6
- package/lib/shared/fixture/shared.test.fixture.d.ts.map +1 -1
- package/lib/shared/pipes/complex/{ccd-page-fields.pipe.d.ts → cdd-page-fields.pipe.d.ts} +1 -1
- package/lib/shared/pipes/complex/cdd-page-fields.pipe.d.ts.map +1 -0
- package/lib/shared/pipes/complex/index.d.ts +1 -1
- package/lib/shared/pipes/pipes.module.d.ts +1 -1
- package/lib/shared/services/activity/activity.polling.service.d.ts.map +1 -1
- package/lib/shared/services/activity/activity.service.d.ts.map +1 -1
- package/lib/shared/services/addresses/address-parser.d.ts.map +1 -1
- package/lib/shared/services/common-data-service/common-data-service.d.ts.map +1 -1
- package/lib/shared/services/definitions/definitions.service.d.ts.map +1 -1
- package/lib/shared/services/fields/fields.purger.d.ts.map +1 -1
- package/lib/shared/services/fields/fields.utils.d.ts +1 -0
- package/lib/shared/services/fields/fields.utils.d.ts.map +1 -1
- package/lib/shared/services/loading/loading.service.d.ts +4 -1
- package/lib/shared/services/loading/loading.service.d.ts.map +1 -1
- package/lib/shared/services/search/search.service.d.ts +2 -0
- package/lib/shared/services/search/search.service.d.ts.map +1 -1
- package/lib/shared/services/search-result/sorting/search-result-view-item-comparator-factory.d.ts.map +1 -1
- package/lib/shared/services/window/window.service.d.ts.map +1 -1
- package/package.json +2 -2
- package/lib/shared/pipes/complex/ccd-page-fields.pipe.d.ts.map +0 -1
|
@@ -579,22 +579,22 @@ class DateInputComponent {
|
|
|
579
579
|
}
|
|
580
580
|
}
|
|
581
581
|
dayId() {
|
|
582
|
-
return
|
|
582
|
+
return this.id + '-day';
|
|
583
583
|
}
|
|
584
584
|
monthId() {
|
|
585
|
-
return
|
|
585
|
+
return this.id + '-month';
|
|
586
586
|
}
|
|
587
587
|
yearId() {
|
|
588
|
-
return
|
|
588
|
+
return this.id + '-year';
|
|
589
589
|
}
|
|
590
590
|
hourId() {
|
|
591
|
-
return
|
|
591
|
+
return this.id + '-hour';
|
|
592
592
|
}
|
|
593
593
|
minuteId() {
|
|
594
|
-
return
|
|
594
|
+
return this.id + '-minute';
|
|
595
595
|
}
|
|
596
596
|
secondId() {
|
|
597
|
-
return
|
|
597
|
+
return this.id + '-second';
|
|
598
598
|
}
|
|
599
599
|
viewValue() {
|
|
600
600
|
if (this.day || this.month || this.year || this.hour || this.minute || this.second) {
|
|
@@ -609,7 +609,7 @@ class DateInputComponent {
|
|
|
609
609
|
this.minute ? this.pad(this.minute) : '',
|
|
610
610
|
this.second ? this.pad(this.second) : ''
|
|
611
611
|
].join(':');
|
|
612
|
-
return
|
|
612
|
+
return date + 'T' + time + '.000';
|
|
613
613
|
}
|
|
614
614
|
else {
|
|
615
615
|
return date;
|
|
@@ -1521,7 +1521,7 @@ class ActivityService {
|
|
|
1521
1521
|
}
|
|
1522
1522
|
static handleHttpError(response) {
|
|
1523
1523
|
const error = HttpErrorService.convertToHttpError(response);
|
|
1524
|
-
if (
|
|
1524
|
+
if (response.status && response.status !== error.status) {
|
|
1525
1525
|
error.status = response.status;
|
|
1526
1526
|
}
|
|
1527
1527
|
return error;
|
|
@@ -1529,41 +1529,50 @@ class ActivityService {
|
|
|
1529
1529
|
getOptions() {
|
|
1530
1530
|
const userDetails = JSON.parse(this.sessionStorageService.getItem('userDetails'));
|
|
1531
1531
|
const headers = new HttpHeaders().set('Content-Type', 'application/json').set('Authorization', userDetails.token);
|
|
1532
|
-
|
|
1532
|
+
const options = {
|
|
1533
1533
|
headers,
|
|
1534
1534
|
withCredentials: true,
|
|
1535
1535
|
observe: 'body',
|
|
1536
1536
|
};
|
|
1537
|
+
return options;
|
|
1537
1538
|
}
|
|
1538
1539
|
getActivities(...caseId) {
|
|
1539
1540
|
try {
|
|
1540
1541
|
const options = this.getOptions();
|
|
1541
|
-
const url =
|
|
1542
|
+
const url = this.activityUrl() + `/cases/${caseId.join(',')}/activity`;
|
|
1542
1543
|
return this.http
|
|
1543
1544
|
.get(url, options, false, ActivityService.handleHttpError)
|
|
1544
1545
|
.pipe(map(response => response));
|
|
1545
1546
|
}
|
|
1546
1547
|
catch (error) {
|
|
1547
|
-
console.log(
|
|
1548
|
+
console.log('user may not be authenticated.' + error);
|
|
1548
1549
|
}
|
|
1549
1550
|
}
|
|
1550
1551
|
postActivity(caseId, activity) {
|
|
1551
1552
|
try {
|
|
1552
1553
|
const options = this.getOptions();
|
|
1553
|
-
const url =
|
|
1554
|
+
const url = this.activityUrl() + `/cases/${caseId}/activity`;
|
|
1554
1555
|
const body = { activity };
|
|
1555
1556
|
return this.http
|
|
1556
1557
|
.post(url, body, options, false)
|
|
1557
1558
|
.pipe(map(response => response));
|
|
1558
1559
|
}
|
|
1559
1560
|
catch (error) {
|
|
1560
|
-
console.log(
|
|
1561
|
+
console.log('user may not be authenticated.' + error);
|
|
1561
1562
|
}
|
|
1562
1563
|
}
|
|
1563
1564
|
verifyUserIsAuthorized() {
|
|
1564
|
-
if (this.sessionStorageService.getItem('userDetails')
|
|
1565
|
+
if (this.sessionStorageService.getItem('userDetails') === undefined) {
|
|
1566
|
+
return;
|
|
1567
|
+
}
|
|
1568
|
+
if (this.activityUrl() && this.userAuthorised === undefined) {
|
|
1565
1569
|
this.getActivities(ActivityService.DUMMY_CASE_REFERENCE).subscribe(() => this.userAuthorised = true, error => {
|
|
1566
|
-
|
|
1570
|
+
if ([401, 403].indexOf(error.status) > -1) {
|
|
1571
|
+
this.userAuthorised = false;
|
|
1572
|
+
}
|
|
1573
|
+
else {
|
|
1574
|
+
this.userAuthorised = true;
|
|
1575
|
+
}
|
|
1567
1576
|
});
|
|
1568
1577
|
}
|
|
1569
1578
|
}
|
|
@@ -1662,7 +1671,7 @@ class ActivityPollingService {
|
|
|
1662
1671
|
requests.get(activity.caseId).next(activity);
|
|
1663
1672
|
});
|
|
1664
1673
|
}, (err) => {
|
|
1665
|
-
console.log(
|
|
1674
|
+
console.log('error: ' + err);
|
|
1666
1675
|
Array.from(requests.values()).forEach((subject) => subject.error(err));
|
|
1667
1676
|
}));
|
|
1668
1677
|
});
|
|
@@ -1783,9 +1792,9 @@ class ActivityComponent {
|
|
|
1783
1792
|
}
|
|
1784
1793
|
generateDescription(prefix, suffix, namesArray, unknownCount) {
|
|
1785
1794
|
let resultText = prefix;
|
|
1786
|
-
resultText += namesArray.map(activityInfo =>
|
|
1795
|
+
resultText += namesArray.map(activityInfo => activityInfo.forename + ' ' + activityInfo.surname).join(', ');
|
|
1787
1796
|
if (unknownCount > 0) {
|
|
1788
|
-
resultText += (namesArray.length > 0 ?
|
|
1797
|
+
resultText += (namesArray.length > 0 ? ' and ' + unknownCount + ' other' : unknownCount + ' user');
|
|
1789
1798
|
resultText += (unknownCount > 1 ? 's' : '');
|
|
1790
1799
|
}
|
|
1791
1800
|
else {
|
|
@@ -1793,10 +1802,10 @@ class ActivityComponent {
|
|
|
1793
1802
|
}
|
|
1794
1803
|
if (suffix.length > 0) {
|
|
1795
1804
|
if (namesArray.length + unknownCount > 1) {
|
|
1796
|
-
resultText +=
|
|
1805
|
+
resultText += ' are ' + suffix;
|
|
1797
1806
|
}
|
|
1798
1807
|
else {
|
|
1799
|
-
resultText +=
|
|
1808
|
+
resultText += ' is ' + suffix;
|
|
1800
1809
|
}
|
|
1801
1810
|
}
|
|
1802
1811
|
return resultText;
|
|
@@ -2309,7 +2318,7 @@ class FormatTranslatorService {
|
|
|
2309
2318
|
break;
|
|
2310
2319
|
case 'n':
|
|
2311
2320
|
case 'N':
|
|
2312
|
-
maybePush(result,
|
|
2321
|
+
maybePush(result, '***' + c + '***', inQuote); // No way to support A - millisec of day, n - nano of second, N - nano of Day
|
|
2313
2322
|
break;
|
|
2314
2323
|
case 'V':
|
|
2315
2324
|
case 'O':
|
|
@@ -2432,9 +2441,9 @@ class DatePipe {
|
|
|
2432
2441
|
resultDate = `${offsetDate.getDate()} ${DatePipe.MONTHS[offsetDate.getMonth()]} ${offsetDate.getFullYear()}`;
|
|
2433
2442
|
if (match[4] && match[5] && match[6] && format !== 'short') {
|
|
2434
2443
|
resultDate += ', ';
|
|
2435
|
-
resultDate +=
|
|
2436
|
-
resultDate +=
|
|
2437
|
-
resultDate +=
|
|
2444
|
+
resultDate += this.getHour(offsetDate.getHours().toString()) + ':';
|
|
2445
|
+
resultDate += this.pad(offsetDate.getMinutes()) + ':';
|
|
2446
|
+
resultDate += this.pad(offsetDate.getSeconds()) + ' ';
|
|
2438
2447
|
resultDate += (this.toInt(offsetDate.getHours().toString()) >= 12) ? 'PM' : 'AM';
|
|
2439
2448
|
}
|
|
2440
2449
|
}
|
|
@@ -3115,25 +3124,25 @@ class OrganisationConverter {
|
|
|
3115
3124
|
static toSimpleAddress(organisationModel) {
|
|
3116
3125
|
let simpleAddress = '';
|
|
3117
3126
|
if (organisationModel.addressLine1) {
|
|
3118
|
-
simpleAddress +=
|
|
3127
|
+
simpleAddress += organisationModel.addressLine1 + '<br>';
|
|
3119
3128
|
}
|
|
3120
3129
|
if (organisationModel.addressLine2) {
|
|
3121
|
-
simpleAddress +=
|
|
3130
|
+
simpleAddress += organisationModel.addressLine2 + '<br>';
|
|
3122
3131
|
}
|
|
3123
3132
|
if (organisationModel.addressLine3) {
|
|
3124
|
-
simpleAddress +=
|
|
3133
|
+
simpleAddress += organisationModel.addressLine3 + '<br>';
|
|
3125
3134
|
}
|
|
3126
3135
|
if (organisationModel.townCity) {
|
|
3127
|
-
simpleAddress +=
|
|
3136
|
+
simpleAddress += organisationModel.townCity + '<br>';
|
|
3128
3137
|
}
|
|
3129
3138
|
if (organisationModel.county) {
|
|
3130
|
-
simpleAddress +=
|
|
3139
|
+
simpleAddress += organisationModel.county + '<br>';
|
|
3131
3140
|
}
|
|
3132
3141
|
if (organisationModel.country) {
|
|
3133
|
-
simpleAddress +=
|
|
3142
|
+
simpleAddress += organisationModel.country + '<br>';
|
|
3134
3143
|
}
|
|
3135
3144
|
if (organisationModel.postCode) {
|
|
3136
|
-
simpleAddress +=
|
|
3145
|
+
simpleAddress += organisationModel.postCode + '<br>';
|
|
3137
3146
|
}
|
|
3138
3147
|
return simpleAddress;
|
|
3139
3148
|
}
|
|
@@ -3266,9 +3275,9 @@ class FieldsUtils {
|
|
|
3266
3275
|
});
|
|
3267
3276
|
return valueMap;
|
|
3268
3277
|
}
|
|
3269
|
-
|
|
3270
|
-
|
|
3271
|
-
|
|
3278
|
+
static getType(elem) {
|
|
3279
|
+
return Object.prototype.toString.call(elem).slice(8, -1);
|
|
3280
|
+
}
|
|
3272
3281
|
static isObject(elem) {
|
|
3273
3282
|
return typeof elem === 'object' && elem !== null;
|
|
3274
3283
|
}
|
|
@@ -3912,6 +3921,7 @@ class ConditionParser {
|
|
|
3912
3921
|
if (!condition) {
|
|
3913
3922
|
return null;
|
|
3914
3923
|
}
|
|
3924
|
+
;
|
|
3915
3925
|
condition = condition.replace(/CONTAINS/g, ' CONTAINS');
|
|
3916
3926
|
return peg.parse(condition.trim(), {});
|
|
3917
3927
|
}
|
|
@@ -3924,12 +3934,14 @@ class ConditionParser {
|
|
|
3924
3934
|
if (!conditions || conditions.length === 0) {
|
|
3925
3935
|
return true;
|
|
3926
3936
|
}
|
|
3937
|
+
;
|
|
3927
3938
|
const validJoinComparators = ['AND', 'OR'];
|
|
3928
|
-
|
|
3939
|
+
const result = conditions.reduce((accumulator, condition, index) => {
|
|
3929
3940
|
const isJoinComparator = (comparator) => (typeof comparator === 'string' && validJoinComparators.indexOf(comparator) !== -1);
|
|
3930
3941
|
if (isJoinComparator(condition)) {
|
|
3931
3942
|
return accumulator;
|
|
3932
3943
|
}
|
|
3944
|
+
;
|
|
3933
3945
|
let currentConditionResult = true;
|
|
3934
3946
|
if (Array.isArray(condition)) {
|
|
3935
3947
|
currentConditionResult = this.evaluate(fields, condition);
|
|
@@ -3946,6 +3958,7 @@ class ConditionParser {
|
|
|
3946
3958
|
}
|
|
3947
3959
|
return currentConditionResult;
|
|
3948
3960
|
}, true);
|
|
3961
|
+
return result;
|
|
3949
3962
|
}
|
|
3950
3963
|
static evaluateJoin(leftResult, comparator, rightResult) {
|
|
3951
3964
|
switch (comparator) {
|
|
@@ -4150,8 +4163,8 @@ class ShowCondition {
|
|
|
4150
4163
|
if (originalCondition.indexOf(condition.fieldReference) > -1) {
|
|
4151
4164
|
if (this.processedList && this.processedList.indexOf(condition.fieldReference) === -1) {
|
|
4152
4165
|
this.processedList.push(condition.fieldReference);
|
|
4153
|
-
const regularExp = new RegExp(
|
|
4154
|
-
return originalCondition.replace(regularExp,
|
|
4166
|
+
const regularExp = new RegExp('(\\b)' + condition.fieldReference + '(?=[^"]*(?:"[^"]*"[^"]*)*$)(\\b)', 'g');
|
|
4167
|
+
return originalCondition.replace(regularExp, pathPrefix + '.' + condition.fieldReference);
|
|
4155
4168
|
}
|
|
4156
4169
|
else {
|
|
4157
4170
|
return originalCondition;
|
|
@@ -4673,14 +4686,14 @@ class FieldsPurger {
|
|
|
4673
4686
|
const formFields = form.getRawValue();
|
|
4674
4687
|
const currentPage = wizard.getPage(currentPageId, this.fieldsUtils.buildCanShowPredicate(eventTrigger, form));
|
|
4675
4688
|
currentPage.wizard_page_fields.forEach(wpf => {
|
|
4676
|
-
const
|
|
4677
|
-
if (this.hasShowConditionField(
|
|
4678
|
-
const condition = new ShowCondition(
|
|
4679
|
-
if (this.isHidden(condition, formFields.data) && !(this.isReadonly(
|
|
4680
|
-
this.resetField(form,
|
|
4689
|
+
const case_field = this.findCaseFieldByWizardPageFieldId(currentPage, wpf);
|
|
4690
|
+
if (this.hasShowConditionField(case_field, formFields)) {
|
|
4691
|
+
const condition = new ShowCondition(case_field.show_condition);
|
|
4692
|
+
if (this.isHidden(condition, formFields.data) && !(this.isReadonly(case_field))) {
|
|
4693
|
+
this.resetField(form, case_field);
|
|
4681
4694
|
}
|
|
4682
4695
|
}
|
|
4683
|
-
this.retainHiddenValueByFieldType(
|
|
4696
|
+
this.retainHiddenValueByFieldType(case_field, form);
|
|
4684
4697
|
});
|
|
4685
4698
|
}
|
|
4686
4699
|
retainHiddenValueByFieldType(field, form) {
|
|
@@ -4711,13 +4724,13 @@ class FieldsPurger {
|
|
|
4711
4724
|
hasShowConditionPage(wizardPage, formFields) {
|
|
4712
4725
|
return wizardPage.show_condition && formFields[this.getShowConditionKey(wizardPage.show_condition)];
|
|
4713
4726
|
}
|
|
4714
|
-
hasShowConditionField(
|
|
4715
|
-
return
|
|
4727
|
+
hasShowConditionField(case_field, formFields) {
|
|
4728
|
+
return case_field.show_condition && formFields.data[this.getShowConditionKey(case_field.show_condition)];
|
|
4716
4729
|
}
|
|
4717
|
-
getShowConditionKey(
|
|
4730
|
+
getShowConditionKey(show_condition) {
|
|
4718
4731
|
// Need to allow for negated conditions, i.e. !=, as well as regular ones (=)
|
|
4719
4732
|
// Also need to allow for conditions specified using the "CONTAINS" keyword
|
|
4720
|
-
return
|
|
4733
|
+
return show_condition.split(/!=|=|CONTAINS/)[0];
|
|
4721
4734
|
}
|
|
4722
4735
|
resetField(form, field) {
|
|
4723
4736
|
/**
|
|
@@ -4789,8 +4802,8 @@ class FieldsPurger {
|
|
|
4789
4802
|
}
|
|
4790
4803
|
resetPage(form, wizardPage) {
|
|
4791
4804
|
wizardPage.wizard_page_fields.forEach(wpf => {
|
|
4792
|
-
const
|
|
4793
|
-
this.resetField(form,
|
|
4805
|
+
const case_field = this.findCaseFieldByWizardPageFieldId(wizardPage, wpf);
|
|
4806
|
+
this.resetField(form, case_field);
|
|
4794
4807
|
});
|
|
4795
4808
|
}
|
|
4796
4809
|
getType(elem) {
|
|
@@ -4800,8 +4813,8 @@ class FieldsPurger {
|
|
|
4800
4813
|
return this.getType(elem) === 'Object';
|
|
4801
4814
|
}
|
|
4802
4815
|
// TODO: call isReadOnly on CaseFields once we make it available
|
|
4803
|
-
isReadonly(
|
|
4804
|
-
return
|
|
4816
|
+
isReadonly(case_field) {
|
|
4817
|
+
return case_field.display_context.toUpperCase() === 'READONLY';
|
|
4805
4818
|
}
|
|
4806
4819
|
/**
|
|
4807
4820
|
* Deletes a field value by setting the value of the corresponding {@link FormControl} to null (or an empty array
|
|
@@ -5533,6 +5546,7 @@ class FormValueService {
|
|
|
5533
5546
|
});
|
|
5534
5547
|
}
|
|
5535
5548
|
}
|
|
5549
|
+
;
|
|
5536
5550
|
});
|
|
5537
5551
|
}
|
|
5538
5552
|
}
|
|
@@ -5946,7 +5960,7 @@ class AddressParser {
|
|
|
5946
5960
|
return addressModel;
|
|
5947
5961
|
}
|
|
5948
5962
|
parseAddressLine1(classification, address) {
|
|
5949
|
-
let addressLine;
|
|
5963
|
+
let addressLine = '';
|
|
5950
5964
|
if (classification === AddressType.RD06) {
|
|
5951
5965
|
addressLine =
|
|
5952
5966
|
`${address.SUB_BUILDING_NAME} ${address.ORGANISATION_NAME} ${address.DEPARTMENT_NAME} ${address.PO_BOX_NUMBER}`;
|
|
@@ -5959,7 +5973,7 @@ class AddressParser {
|
|
|
5959
5973
|
return this.removeNonAddressValues(addressLine);
|
|
5960
5974
|
}
|
|
5961
5975
|
parseAddressLine2(classification, address) {
|
|
5962
|
-
let addressLine;
|
|
5976
|
+
let addressLine = '';
|
|
5963
5977
|
if (classification === AddressType.RD06) {
|
|
5964
5978
|
addressLine = `${address.BUILDING_NAME} `;
|
|
5965
5979
|
}
|
|
@@ -5970,7 +5984,7 @@ class AddressParser {
|
|
|
5970
5984
|
return this.removeNonAddressValues(addressLine);
|
|
5971
5985
|
}
|
|
5972
5986
|
parseAddressLine3(classification, address) {
|
|
5973
|
-
let addressLine;
|
|
5987
|
+
let addressLine = '';
|
|
5974
5988
|
if (classification === AddressType.RD06) {
|
|
5975
5989
|
addressLine =
|
|
5976
5990
|
`${address.BUILDING_NUMBER} ${address.THOROUGHFARE_NAME}`;
|
|
@@ -5998,7 +6012,7 @@ class AddressParser {
|
|
|
5998
6012
|
return value.replace(new RegExp('^,', 'gi'), '');
|
|
5999
6013
|
}
|
|
6000
6014
|
prefixWithCommaIfPresent(value) {
|
|
6001
|
-
return value ?
|
|
6015
|
+
return value ? ', ' + value : value;
|
|
6002
6016
|
}
|
|
6003
6017
|
}
|
|
6004
6018
|
|
|
@@ -6107,7 +6121,7 @@ class CaseFlagRefdataService {
|
|
|
6107
6121
|
if (flagType) {
|
|
6108
6122
|
url += `?flag-type=${flagType}`;
|
|
6109
6123
|
}
|
|
6110
|
-
if (
|
|
6124
|
+
if (welshRequired != null) {
|
|
6111
6125
|
// Check if flag-type has been added to the query string; if so, append welsh-required with '&'
|
|
6112
6126
|
url.indexOf('?') > -1 ? url += '&' : url += '?';
|
|
6113
6127
|
welshRequired ? url += 'welsh-required=Y' : url += 'welsh-required=N';
|
|
@@ -6564,6 +6578,11 @@ RequestOptionsBuilder.ɵprov = i0.ɵɵdefineInjectable({ token: RequestOptionsBu
|
|
|
6564
6578
|
type: Injectable
|
|
6565
6579
|
}], null, null); })();
|
|
6566
6580
|
|
|
6581
|
+
class HasLoadingState {
|
|
6582
|
+
get isLoading() {
|
|
6583
|
+
return;
|
|
6584
|
+
}
|
|
6585
|
+
}
|
|
6567
6586
|
class LoadingService {
|
|
6568
6587
|
constructor() {
|
|
6569
6588
|
this.registered = new Map();
|
|
@@ -6584,7 +6603,7 @@ class LoadingService {
|
|
|
6584
6603
|
}
|
|
6585
6604
|
generateToken() {
|
|
6586
6605
|
const timestamp = window.performance.now();
|
|
6587
|
-
return
|
|
6606
|
+
return 'toolkit-loading-' + timestamp; // format: [source-library]-[unique incrementing number]
|
|
6588
6607
|
}
|
|
6589
6608
|
}
|
|
6590
6609
|
LoadingService.ɵfac = function LoadingService_Factory(t) { return new (t || LoadingService)(); };
|
|
@@ -6601,7 +6620,10 @@ class SearchService {
|
|
|
6601
6620
|
this.loadingService = loadingService;
|
|
6602
6621
|
}
|
|
6603
6622
|
search(jurisdictionId, caseTypeId, metaCriteria, caseCriteria, view) {
|
|
6604
|
-
const url =
|
|
6623
|
+
const url = this.appConfig.getApiUrl() + `/caseworkers/:uid`
|
|
6624
|
+
+ `/jurisdictions/${jurisdictionId}`
|
|
6625
|
+
+ `/case-types/${caseTypeId}`
|
|
6626
|
+
+ `/cases`;
|
|
6605
6627
|
const options = this.requestOptionsBuilder.buildOptions(metaCriteria, caseCriteria, view);
|
|
6606
6628
|
const loadingToken = this.loadingService.register();
|
|
6607
6629
|
return this.httpService
|
|
@@ -6609,13 +6631,14 @@ class SearchService {
|
|
|
6609
6631
|
.pipe(map(response => response), finalize(() => this.loadingService.unregister(loadingToken)));
|
|
6610
6632
|
}
|
|
6611
6633
|
searchCasesByIds(caseTypeId, filter, view, sort) {
|
|
6612
|
-
const url =
|
|
6634
|
+
const url = this.appConfig.getCaseDataUrl() +
|
|
6635
|
+
`/internal/searchCases?ctid=${caseTypeId}&use_case=${view}`;
|
|
6613
6636
|
const body = Object.assign(Object.assign({ sort }, filter), { size: this.appConfig.getPaginationPageSize() });
|
|
6614
6637
|
const loadingToken = this.loadingService.register();
|
|
6615
6638
|
return this.httpService.post(url, body).pipe(map((response) => response), finalize(() => this.loadingService.unregister(loadingToken)));
|
|
6616
6639
|
}
|
|
6617
6640
|
searchCases(caseTypeId, metaCriteria, caseCriteria, view, sort) {
|
|
6618
|
-
const url =
|
|
6641
|
+
const url = this.appConfig.getCaseDataUrl() + `/internal/searchCases?ctid=${caseTypeId}&use_case=${view}`;
|
|
6619
6642
|
const options = this.requestOptionsBuilder.buildOptions(metaCriteria, caseCriteria, view);
|
|
6620
6643
|
const body = {
|
|
6621
6644
|
sort,
|
|
@@ -6658,8 +6681,9 @@ class SearchService {
|
|
|
6658
6681
|
}
|
|
6659
6682
|
}
|
|
6660
6683
|
SearchService.V2_MEDIATYPE_SEARCH_INPUTS = 'application/vnd.uk.gov.hmcts.ccd-data-store-api.ui-search-input-details.v2+json;charset=UTF-8';
|
|
6661
|
-
|
|
6684
|
+
SearchService.VIEW_SEARCH = 'SEARCH';
|
|
6662
6685
|
SearchService.VIEW_WORKBASKET = 'WORKBASKET';
|
|
6686
|
+
SearchService.FIELD_PREFIX = 'case.';
|
|
6663
6687
|
SearchService.ɵfac = function SearchService_Factory(t) { return new (t || SearchService)(i0.ɵɵinject(AbstractAppConfig), i0.ɵɵinject(HttpService), i0.ɵɵinject(RequestOptionsBuilder), i0.ɵɵinject(LoadingService)); };
|
|
6664
6688
|
SearchService.ɵprov = i0.ɵɵdefineInjectable({ token: SearchService, factory: SearchService.ɵfac });
|
|
6665
6689
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchService, [{
|
|
@@ -6773,12 +6797,17 @@ class DefinitionsService {
|
|
|
6773
6797
|
this.appConfig = appConfig;
|
|
6774
6798
|
}
|
|
6775
6799
|
getCaseTypes(jurisdictionId, access) {
|
|
6776
|
-
const url =
|
|
6800
|
+
const url = this.appConfig.getApiUrl()
|
|
6801
|
+
+ `/caseworkers/:uid`
|
|
6802
|
+
+ `/jurisdictions/${jurisdictionId}`
|
|
6803
|
+
+ `/case-types?access=${access}`;
|
|
6777
6804
|
return this.http
|
|
6778
6805
|
.get(url).pipe(map(response => response));
|
|
6779
6806
|
}
|
|
6780
6807
|
getJurisdictions(access) {
|
|
6781
|
-
const url =
|
|
6808
|
+
const url = this.appConfig.getApiUrl()
|
|
6809
|
+
+ `/caseworkers/:uid`
|
|
6810
|
+
+ `/jurisdictions?access=${access}`;
|
|
6782
6811
|
return this.http
|
|
6783
6812
|
.get(url)
|
|
6784
6813
|
.pipe(map(response => response));
|
|
@@ -6850,8 +6879,8 @@ class SearchResultViewItemComparatorFactory {
|
|
|
6850
6879
|
compare(a, b) {
|
|
6851
6880
|
let fieldA = a.case_fields[fieldId];
|
|
6852
6881
|
let fieldB = b.case_fields[fieldId];
|
|
6853
|
-
fieldA = isUndefined(fieldA) || fieldA
|
|
6854
|
-
fieldB = isUndefined(fieldB) || fieldB
|
|
6882
|
+
fieldA = isUndefined(fieldA) || fieldA == null ? '' : fieldA.toLowerCase();
|
|
6883
|
+
fieldB = isUndefined(fieldB) || fieldB == null ? '' : fieldB.toLowerCase();
|
|
6855
6884
|
return fieldA === fieldB ? 0 : fieldA > fieldB ? 1 : -1;
|
|
6856
6885
|
}
|
|
6857
6886
|
};
|
|
@@ -6861,8 +6890,8 @@ class SearchResultViewItemComparatorFactory {
|
|
|
6861
6890
|
compare(a, b) {
|
|
6862
6891
|
let fieldA = a.case_fields[fieldId];
|
|
6863
6892
|
let fieldB = b.case_fields[fieldId];
|
|
6864
|
-
fieldA = isUndefined(fieldA) || fieldA
|
|
6865
|
-
fieldB = isUndefined(fieldB) || fieldB
|
|
6893
|
+
fieldA = isUndefined(fieldA) || fieldA == null ? '' : fieldA.join().toLowerCase();
|
|
6894
|
+
fieldB = isUndefined(fieldB) || fieldB == null ? '' : fieldB.join().toLowerCase();
|
|
6866
6895
|
return fieldA === fieldB ? 0 : fieldA > fieldB ? 1 : -1;
|
|
6867
6896
|
}
|
|
6868
6897
|
};
|
|
@@ -7128,7 +7157,7 @@ class WizardPageFieldToCaseFieldMapper {
|
|
|
7128
7157
|
});
|
|
7129
7158
|
}
|
|
7130
7159
|
preparePathPrefix(pathPrefix, caseField) {
|
|
7131
|
-
return pathPrefix.length === 0 ? caseField :
|
|
7160
|
+
return pathPrefix.length === 0 ? caseField : pathPrefix + '.' + caseField;
|
|
7132
7161
|
}
|
|
7133
7162
|
getCaseFieldLeaf(caseFieldId, caseFields) {
|
|
7134
7163
|
const [head, ...tail] = caseFieldId;
|
|
@@ -7181,13 +7210,215 @@ WizardPageFieldToCaseFieldMapper.ɵprov = i0.ɵɵdefineInjectable({ token: Wizar
|
|
|
7181
7210
|
}]
|
|
7182
7211
|
}], null, null); })();
|
|
7183
7212
|
|
|
7213
|
+
const MULTIPLE_TASKS_FOUND = 'More than one task found!';
|
|
7214
|
+
class WorkAllocationService {
|
|
7215
|
+
constructor(http, appConfig, errorService, alertService, sessionStorageService) {
|
|
7216
|
+
this.http = http;
|
|
7217
|
+
this.appConfig = appConfig;
|
|
7218
|
+
this.errorService = errorService;
|
|
7219
|
+
this.alertService = alertService;
|
|
7220
|
+
this.sessionStorageService = sessionStorageService;
|
|
7221
|
+
// Check to see if work allocation is enabled
|
|
7222
|
+
}
|
|
7223
|
+
/**
|
|
7224
|
+
* Call the API to get tasks matching the search criteria.
|
|
7225
|
+
* @param searchRequest The search parameters that specify which tasks to match.
|
|
7226
|
+
*/
|
|
7227
|
+
searchTasks(searchRequest) {
|
|
7228
|
+
// Do not need to check if WA enabled as parent method will do that
|
|
7229
|
+
const url = `${this.appConfig.getWorkAllocationApiUrl()}/searchForCompletable`;
|
|
7230
|
+
return this.http
|
|
7231
|
+
.post(url, { searchRequest }, null, false)
|
|
7232
|
+
.pipe(map(response => response), catchError(error => {
|
|
7233
|
+
this.errorService.setError(error);
|
|
7234
|
+
// explicitly eat away 401 error and 400 error
|
|
7235
|
+
if (error && error.status && (error.status === 401 || error.status === 400)) {
|
|
7236
|
+
// do nothing
|
|
7237
|
+
console.log('error status 401 or 400', error);
|
|
7238
|
+
}
|
|
7239
|
+
else {
|
|
7240
|
+
return throwError(error);
|
|
7241
|
+
}
|
|
7242
|
+
}));
|
|
7243
|
+
}
|
|
7244
|
+
isWAEnabled(jurisdiction, caseType) {
|
|
7245
|
+
this.features = this.appConfig.getWAServiceConfig();
|
|
7246
|
+
let enabled = false;
|
|
7247
|
+
if (!jurisdiction || !caseType) {
|
|
7248
|
+
const caseInfo = JSON.parse(this.sessionStorageService.getItem('caseInfo'));
|
|
7249
|
+
jurisdiction = caseInfo.jurisdiction;
|
|
7250
|
+
caseType = caseInfo.caseType;
|
|
7251
|
+
}
|
|
7252
|
+
if (!this.features || !this.features.configurations) {
|
|
7253
|
+
return false;
|
|
7254
|
+
}
|
|
7255
|
+
this.features.configurations.forEach(serviceConfig => {
|
|
7256
|
+
if (serviceConfig.serviceName === jurisdiction && (serviceConfig.caseTypes.indexOf(caseType) !== -1)) {
|
|
7257
|
+
enabled = true;
|
|
7258
|
+
}
|
|
7259
|
+
});
|
|
7260
|
+
return enabled;
|
|
7261
|
+
}
|
|
7262
|
+
/**
|
|
7263
|
+
* Call the API to assign a task.
|
|
7264
|
+
* @param taskId specifies which task should be assigned.
|
|
7265
|
+
* @param userId specifies the user the task should be assigned to.
|
|
7266
|
+
*/
|
|
7267
|
+
assignTask(taskId, userId) {
|
|
7268
|
+
if (!this.isWAEnabled()) {
|
|
7269
|
+
return of(null);
|
|
7270
|
+
}
|
|
7271
|
+
const url = `${this.appConfig.getWorkAllocationApiUrl()}/task/${taskId}/assign`;
|
|
7272
|
+
return this.http
|
|
7273
|
+
.post(url, { userId })
|
|
7274
|
+
.pipe(catchError(error => {
|
|
7275
|
+
this.errorService.setError(error);
|
|
7276
|
+
return throwError(error);
|
|
7277
|
+
}));
|
|
7278
|
+
}
|
|
7279
|
+
/**
|
|
7280
|
+
* Call the API to complete a task.
|
|
7281
|
+
* @param taskId specifies which task should be completed.
|
|
7282
|
+
*/
|
|
7283
|
+
completeTask(taskId) {
|
|
7284
|
+
if (!this.isWAEnabled()) {
|
|
7285
|
+
return of(null);
|
|
7286
|
+
}
|
|
7287
|
+
const url = `${this.appConfig.getWorkAllocationApiUrl()}/task/${taskId}/complete`;
|
|
7288
|
+
return this.http
|
|
7289
|
+
.post(url, {})
|
|
7290
|
+
.pipe(catchError(error => {
|
|
7291
|
+
this.errorService.setError(error);
|
|
7292
|
+
// this will subscribe to get the user details and decide whether to display an error message
|
|
7293
|
+
this.http.get(this.appConfig.getUserInfoApiUrl()).pipe(map(response => response)).subscribe((response) => {
|
|
7294
|
+
this.handleTaskCompletionError(response);
|
|
7295
|
+
});
|
|
7296
|
+
return throwError(error);
|
|
7297
|
+
}));
|
|
7298
|
+
}
|
|
7299
|
+
/**
|
|
7300
|
+
* Call the API to assign and complete a task.
|
|
7301
|
+
* @param taskId specifies which task should be completed.
|
|
7302
|
+
*/
|
|
7303
|
+
assignAndCompleteTask(taskId) {
|
|
7304
|
+
if (!this.isWAEnabled()) {
|
|
7305
|
+
return of(null);
|
|
7306
|
+
}
|
|
7307
|
+
const url = `${this.appConfig.getWorkAllocationApiUrl()}/task/${taskId}/complete`;
|
|
7308
|
+
return this.http
|
|
7309
|
+
.post(url, {
|
|
7310
|
+
completion_options: {
|
|
7311
|
+
assign_and_complete: true
|
|
7312
|
+
}
|
|
7313
|
+
})
|
|
7314
|
+
.pipe(catchError(error => {
|
|
7315
|
+
this.errorService.setError(error);
|
|
7316
|
+
// this will subscribe to get the user details and decide whether to display an error message
|
|
7317
|
+
this.http.get(this.appConfig.getUserInfoApiUrl()).pipe(map(response => response)).subscribe((response) => {
|
|
7318
|
+
this.handleTaskCompletionError(response);
|
|
7319
|
+
});
|
|
7320
|
+
return throwError(error);
|
|
7321
|
+
}));
|
|
7322
|
+
}
|
|
7323
|
+
/**
|
|
7324
|
+
* Handles the response from the observable to get the user details when task is completed.
|
|
7325
|
+
* @param response is the response given from the observable which contains the user detaild.
|
|
7326
|
+
*/
|
|
7327
|
+
handleTaskCompletionError(response) {
|
|
7328
|
+
const userDetails = response;
|
|
7329
|
+
if (this.userIsCaseworker(userDetails.userInfo.roles)) {
|
|
7330
|
+
// when submitting the completion of task if not yet rendered cases/case confirm then preserve the alert for re-rendering
|
|
7331
|
+
this.alertService.setPreserveAlerts(true, ['cases/case', 'submit']);
|
|
7332
|
+
this.alertService.warning('A task could not be completed successfully. Please complete the task associated with the case manually.');
|
|
7333
|
+
}
|
|
7334
|
+
}
|
|
7335
|
+
/**
|
|
7336
|
+
* Returns true if the user's role is equivalent to a caseworker.
|
|
7337
|
+
* @param roles is the list of roles found from the current user.
|
|
7338
|
+
*/
|
|
7339
|
+
userIsCaseworker(roles) {
|
|
7340
|
+
const lowerCaseRoles = roles.map(role => role.toLowerCase());
|
|
7341
|
+
// When/if lib & target permanently change to es2016, replace indexOf with includes
|
|
7342
|
+
return (lowerCaseRoles.indexOf(WorkAllocationService.iACCaseOfficer) !== -1)
|
|
7343
|
+
|| (lowerCaseRoles.indexOf(WorkAllocationService.iACAdmOfficer) !== -1);
|
|
7344
|
+
}
|
|
7345
|
+
/**
|
|
7346
|
+
* Look for open tasks for a case and event combination. There are 5 possible scenarios:
|
|
7347
|
+
* 1. No tasks found => Success.
|
|
7348
|
+
* 2. One task found => Mark as done => Success.
|
|
7349
|
+
* 3. One task found => Mark as done throws error => Failure.
|
|
7350
|
+
* 4. More than one task found => Failure.
|
|
7351
|
+
* 5. Search call throws an error => Failure.
|
|
7352
|
+
* @param ccdId The ID of the case to find tasks for.
|
|
7353
|
+
* @param eventId The ID of the event to find tasks for.
|
|
7354
|
+
*/
|
|
7355
|
+
completeAppropriateTask(ccdId, eventId, jurisdiction, caseTypeId) {
|
|
7356
|
+
if (!this.isWAEnabled(jurisdiction, caseTypeId)) {
|
|
7357
|
+
return of(null);
|
|
7358
|
+
}
|
|
7359
|
+
const taskSearchParameter = {
|
|
7360
|
+
ccdId,
|
|
7361
|
+
eventId,
|
|
7362
|
+
jurisdiction,
|
|
7363
|
+
caseTypeId
|
|
7364
|
+
};
|
|
7365
|
+
return this.searchTasks(taskSearchParameter)
|
|
7366
|
+
.pipe(map((response) => {
|
|
7367
|
+
const tasks = response.tasks;
|
|
7368
|
+
if (tasks && tasks.length > 0) {
|
|
7369
|
+
if (tasks.length === 1) {
|
|
7370
|
+
this.completeTask(tasks[0].id).subscribe();
|
|
7371
|
+
}
|
|
7372
|
+
else {
|
|
7373
|
+
// This is a problem. Throw an appropriate error.
|
|
7374
|
+
throw new Error(MULTIPLE_TASKS_FOUND);
|
|
7375
|
+
}
|
|
7376
|
+
}
|
|
7377
|
+
return true; // All good. Nothing to see here.
|
|
7378
|
+
}), catchError(error => {
|
|
7379
|
+
// Simply rethrow it.
|
|
7380
|
+
return throwError(error);
|
|
7381
|
+
}));
|
|
7382
|
+
}
|
|
7383
|
+
/**
|
|
7384
|
+
* Return tasks for case and event.
|
|
7385
|
+
*/
|
|
7386
|
+
getTasksByCaseIdAndEventId(eventId, caseId, caseType, jurisdiction) {
|
|
7387
|
+
const defaultPayload = {
|
|
7388
|
+
task_required_for_event: false,
|
|
7389
|
+
tasks: []
|
|
7390
|
+
};
|
|
7391
|
+
if (!this.isWAEnabled()) {
|
|
7392
|
+
return of(defaultPayload);
|
|
7393
|
+
}
|
|
7394
|
+
return this.http.get(`${this.appConfig.getWorkAllocationApiUrl()}/case/tasks/${caseId}/event/${eventId}/caseType/${caseType}/jurisdiction/${jurisdiction}`);
|
|
7395
|
+
}
|
|
7396
|
+
/**
|
|
7397
|
+
* Call the API to get a task
|
|
7398
|
+
*/
|
|
7399
|
+
getTask(taskId) {
|
|
7400
|
+
if (!this.isWAEnabled()) {
|
|
7401
|
+
return of({ task: null });
|
|
7402
|
+
}
|
|
7403
|
+
return this.http.get(`${this.appConfig.getWorkAllocationApiUrl()}/task/${taskId}`);
|
|
7404
|
+
}
|
|
7405
|
+
}
|
|
7406
|
+
WorkAllocationService.iACCaseOfficer = 'caseworker-ia-caseofficer';
|
|
7407
|
+
WorkAllocationService.iACAdmOfficer = 'caseworker-ia-admofficer';
|
|
7408
|
+
WorkAllocationService.ɵfac = function WorkAllocationService_Factory(t) { return new (t || WorkAllocationService)(i0.ɵɵinject(HttpService), i0.ɵɵinject(AbstractAppConfig), i0.ɵɵinject(HttpErrorService), i0.ɵɵinject(AlertService), i0.ɵɵinject(SessionStorageService)); };
|
|
7409
|
+
WorkAllocationService.ɵprov = i0.ɵɵdefineInjectable({ token: WorkAllocationService, factory: WorkAllocationService.ɵfac });
|
|
7410
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WorkAllocationService, [{
|
|
7411
|
+
type: Injectable
|
|
7412
|
+
}], function () { return [{ type: HttpService }, { type: AbstractAppConfig }, { type: HttpErrorService }, { type: AlertService }, { type: SessionStorageService }]; }, null); })();
|
|
7413
|
+
|
|
7184
7414
|
class CasesService {
|
|
7185
|
-
constructor(http, appConfig, orderService, errorService, wizardPageFieldToCaseFieldMapper, loadingService, sessionStorageService) {
|
|
7415
|
+
constructor(http, appConfig, orderService, errorService, wizardPageFieldToCaseFieldMapper, workAllocationService, loadingService, sessionStorageService) {
|
|
7186
7416
|
this.http = http;
|
|
7187
7417
|
this.appConfig = appConfig;
|
|
7188
7418
|
this.orderService = orderService;
|
|
7189
7419
|
this.errorService = errorService;
|
|
7190
7420
|
this.wizardPageFieldToCaseFieldMapper = wizardPageFieldToCaseFieldMapper;
|
|
7421
|
+
this.workAllocationService = workAllocationService;
|
|
7191
7422
|
this.loadingService = loadingService;
|
|
7192
7423
|
this.sessionStorageService = sessionStorageService;
|
|
7193
7424
|
this.get = this.getCaseView;
|
|
@@ -7205,7 +7436,11 @@ class CasesService {
|
|
|
7205
7436
|
});
|
|
7206
7437
|
}
|
|
7207
7438
|
getCaseView(jurisdictionId, caseTypeId, caseId) {
|
|
7208
|
-
const url =
|
|
7439
|
+
const url = this.appConfig.getApiUrl()
|
|
7440
|
+
+ `/caseworkers/:uid`
|
|
7441
|
+
+ `/jurisdictions/${jurisdictionId}`
|
|
7442
|
+
+ `/case-types/${caseTypeId}`
|
|
7443
|
+
+ `/cases/${caseId}`;
|
|
7209
7444
|
const loadingToken = this.loadingService.register();
|
|
7210
7445
|
return this.http
|
|
7211
7446
|
.get(url)
|
|
@@ -7254,7 +7489,7 @@ class CasesService {
|
|
|
7254
7489
|
}
|
|
7255
7490
|
createEvent(caseDetails, eventData) {
|
|
7256
7491
|
const caseId = caseDetails.case_id;
|
|
7257
|
-
const url =
|
|
7492
|
+
const url = this.appConfig.getCaseDataUrl() + `/cases/${caseId}/events`;
|
|
7258
7493
|
const headers = new HttpHeaders()
|
|
7259
7494
|
.set('experimental', 'true')
|
|
7260
7495
|
.set('Accept', CasesService.V2_MEDIATYPE_CREATE_EVENT)
|
|
@@ -7267,8 +7502,9 @@ class CasesService {
|
|
|
7267
7502
|
}));
|
|
7268
7503
|
}
|
|
7269
7504
|
validateCase(ctid, eventData, pageId) {
|
|
7270
|
-
const pageIdString = pageId ?
|
|
7271
|
-
const url =
|
|
7505
|
+
const pageIdString = pageId ? '?pageId=' + pageId : '';
|
|
7506
|
+
const url = this.appConfig.getCaseDataUrl()
|
|
7507
|
+
+ `/case-types/${ctid}/validate${pageIdString}`;
|
|
7272
7508
|
const headers = new HttpHeaders()
|
|
7273
7509
|
.set('experimental', 'true')
|
|
7274
7510
|
.set('Accept', CasesService.V2_MEDIATYPE_CASE_DATA_VALIDATE)
|
|
@@ -7285,7 +7521,8 @@ class CasesService {
|
|
|
7285
7521
|
if (eventData.ignore_warning) {
|
|
7286
7522
|
ignoreWarning = 'true';
|
|
7287
7523
|
}
|
|
7288
|
-
const url =
|
|
7524
|
+
const url = this.appConfig.getCaseDataUrl()
|
|
7525
|
+
+ `/case-types/${ctid}/cases?ignore-warning=${ignoreWarning}`;
|
|
7289
7526
|
const headers = new HttpHeaders()
|
|
7290
7527
|
.set('experimental', 'true')
|
|
7291
7528
|
.set('Accept', CasesService.V2_MEDIATYPE_CREATE_CASE)
|
|
@@ -7298,7 +7535,9 @@ class CasesService {
|
|
|
7298
7535
|
}));
|
|
7299
7536
|
}
|
|
7300
7537
|
getPrintDocuments(caseId) {
|
|
7301
|
-
const url =
|
|
7538
|
+
const url = this.appConfig.getCaseDataUrl()
|
|
7539
|
+
+ `/cases/${caseId}`
|
|
7540
|
+
+ `/documents`;
|
|
7302
7541
|
const headers = new HttpHeaders()
|
|
7303
7542
|
.set('experimental', 'true')
|
|
7304
7543
|
.set('Accept', CasesService.V2_MEDIATYPE_CASE_DOCUMENTS)
|
|
@@ -7311,7 +7550,7 @@ class CasesService {
|
|
|
7311
7550
|
}));
|
|
7312
7551
|
}
|
|
7313
7552
|
buildEventTriggerUrl(caseTypeId, eventTriggerId, caseId, ignoreWarning) {
|
|
7314
|
-
let url =
|
|
7553
|
+
let url = this.appConfig.getCaseDataUrl() + `/internal`;
|
|
7315
7554
|
if (Draft.isDraft(caseId)) {
|
|
7316
7555
|
url += `/drafts/${caseId}`
|
|
7317
7556
|
+ `/event-trigger`
|
|
@@ -7405,11 +7644,11 @@ CasesService.V2_MEDIATYPE_CASE_DATA_VALIDATE = 'application/vnd.uk.gov.hmcts.ccd
|
|
|
7405
7644
|
CasesService.V2_MEDIATYPE_CREATE_EVENT = 'application/vnd.uk.gov.hmcts.ccd-data-store-api.create-event.v2+json;charset=UTF-8';
|
|
7406
7645
|
CasesService.V2_MEDIATYPE_CREATE_CASE = 'application/vnd.uk.gov.hmcts.ccd-data-store-api.create-case.v2+json;charset=UTF-8';
|
|
7407
7646
|
CasesService.PUI_CASE_MANAGER = 'pui-case-manager';
|
|
7408
|
-
CasesService.ɵfac = function CasesService_Factory(t) { return new (t || CasesService)(i0.ɵɵinject(HttpService), i0.ɵɵinject(AbstractAppConfig), i0.ɵɵinject(OrderService), i0.ɵɵinject(HttpErrorService), i0.ɵɵinject(WizardPageFieldToCaseFieldMapper), i0.ɵɵinject(LoadingService), i0.ɵɵinject(SessionStorageService)); };
|
|
7647
|
+
CasesService.ɵfac = function CasesService_Factory(t) { return new (t || CasesService)(i0.ɵɵinject(HttpService), i0.ɵɵinject(AbstractAppConfig), i0.ɵɵinject(OrderService), i0.ɵɵinject(HttpErrorService), i0.ɵɵinject(WizardPageFieldToCaseFieldMapper), i0.ɵɵinject(WorkAllocationService), i0.ɵɵinject(LoadingService), i0.ɵɵinject(SessionStorageService)); };
|
|
7409
7648
|
CasesService.ɵprov = i0.ɵɵdefineInjectable({ token: CasesService, factory: CasesService.ɵfac });
|
|
7410
7649
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CasesService, [{
|
|
7411
7650
|
type: Injectable
|
|
7412
|
-
}], function () { return [{ type: HttpService }, { type: AbstractAppConfig }, { type: OrderService }, { type: HttpErrorService }, { type: WizardPageFieldToCaseFieldMapper }, { type: LoadingService }, { type: SessionStorageService }]; }, null); })();
|
|
7651
|
+
}], function () { return [{ type: HttpService }, { type: AbstractAppConfig }, { type: OrderService }, { type: HttpErrorService }, { type: WizardPageFieldToCaseFieldMapper }, { type: WorkAllocationService }, { type: LoadingService }, { type: SessionStorageService }]; }, null); })();
|
|
7413
7652
|
|
|
7414
7653
|
class EventTriggerService {
|
|
7415
7654
|
constructor() {
|
|
@@ -7983,7 +8222,7 @@ class PageValidationService {
|
|
|
7983
8222
|
isHidden(caseField, editForm, path) {
|
|
7984
8223
|
const formFields = editForm.getRawValue();
|
|
7985
8224
|
const condition = ShowCondition.getInstance(caseField.show_condition);
|
|
7986
|
-
if (path && path.indexOf(
|
|
8225
|
+
if (path && path.indexOf('_' + caseField.id + '_') === -1) {
|
|
7987
8226
|
path = `${path}${caseField.id}`;
|
|
7988
8227
|
}
|
|
7989
8228
|
return !condition.match(formFields.data, path);
|
|
@@ -8012,207 +8251,6 @@ PageValidationService.ɵprov = i0.ɵɵdefineInjectable({ token: PageValidationSe
|
|
|
8012
8251
|
type: Injectable
|
|
8013
8252
|
}], function () { return [{ type: CaseFieldService }]; }, null); })();
|
|
8014
8253
|
|
|
8015
|
-
const MULTIPLE_TASKS_FOUND = 'More than one task found!';
|
|
8016
|
-
class WorkAllocationService {
|
|
8017
|
-
constructor(http, appConfig, errorService, alertService, sessionStorageService) {
|
|
8018
|
-
this.http = http;
|
|
8019
|
-
this.appConfig = appConfig;
|
|
8020
|
-
this.errorService = errorService;
|
|
8021
|
-
this.alertService = alertService;
|
|
8022
|
-
this.sessionStorageService = sessionStorageService;
|
|
8023
|
-
// Check to see if work allocation is enabled
|
|
8024
|
-
}
|
|
8025
|
-
/**
|
|
8026
|
-
* Call the API to get tasks matching the search criteria.
|
|
8027
|
-
* @param searchRequest The search parameters that specify which tasks to match.
|
|
8028
|
-
*/
|
|
8029
|
-
searchTasks(searchRequest) {
|
|
8030
|
-
// Do not need to check if WA enabled as parent method will do that
|
|
8031
|
-
const url = `${this.appConfig.getWorkAllocationApiUrl()}/searchForCompletable`;
|
|
8032
|
-
return this.http
|
|
8033
|
-
.post(url, { searchRequest }, null, false)
|
|
8034
|
-
.pipe(map(response => response), catchError(error => {
|
|
8035
|
-
this.errorService.setError(error);
|
|
8036
|
-
// explicitly eat away 401 error and 400 error
|
|
8037
|
-
if (error && error.status && (error.status === 401 || error.status === 400)) {
|
|
8038
|
-
// do nothing
|
|
8039
|
-
console.log('error status 401 or 400', error);
|
|
8040
|
-
}
|
|
8041
|
-
else {
|
|
8042
|
-
return throwError(error);
|
|
8043
|
-
}
|
|
8044
|
-
}));
|
|
8045
|
-
}
|
|
8046
|
-
isWAEnabled(jurisdiction, caseType) {
|
|
8047
|
-
this.features = this.appConfig.getWAServiceConfig();
|
|
8048
|
-
let enabled = false;
|
|
8049
|
-
if (!jurisdiction || !caseType) {
|
|
8050
|
-
const caseInfo = JSON.parse(this.sessionStorageService.getItem('caseInfo'));
|
|
8051
|
-
jurisdiction = caseInfo.jurisdiction;
|
|
8052
|
-
caseType = caseInfo.caseType;
|
|
8053
|
-
}
|
|
8054
|
-
if (!this.features || !this.features.configurations) {
|
|
8055
|
-
return false;
|
|
8056
|
-
}
|
|
8057
|
-
this.features.configurations.forEach(serviceConfig => {
|
|
8058
|
-
if (serviceConfig.serviceName === jurisdiction && (serviceConfig.caseTypes.indexOf(caseType) !== -1)) {
|
|
8059
|
-
enabled = true;
|
|
8060
|
-
}
|
|
8061
|
-
});
|
|
8062
|
-
return enabled;
|
|
8063
|
-
}
|
|
8064
|
-
/**
|
|
8065
|
-
* Call the API to assign a task.
|
|
8066
|
-
* @param taskId specifies which task should be assigned.
|
|
8067
|
-
* @param userId specifies the user the task should be assigned to.
|
|
8068
|
-
*/
|
|
8069
|
-
assignTask(taskId, userId) {
|
|
8070
|
-
if (!this.isWAEnabled()) {
|
|
8071
|
-
return of(null);
|
|
8072
|
-
}
|
|
8073
|
-
const url = `${this.appConfig.getWorkAllocationApiUrl()}/task/${taskId}/assign`;
|
|
8074
|
-
return this.http
|
|
8075
|
-
.post(url, { userId })
|
|
8076
|
-
.pipe(catchError(error => {
|
|
8077
|
-
this.errorService.setError(error);
|
|
8078
|
-
return throwError(error);
|
|
8079
|
-
}));
|
|
8080
|
-
}
|
|
8081
|
-
/**
|
|
8082
|
-
* Call the API to complete a task.
|
|
8083
|
-
* @param taskId specifies which task should be completed.
|
|
8084
|
-
*/
|
|
8085
|
-
completeTask(taskId) {
|
|
8086
|
-
if (!this.isWAEnabled()) {
|
|
8087
|
-
return of(null);
|
|
8088
|
-
}
|
|
8089
|
-
const url = `${this.appConfig.getWorkAllocationApiUrl()}/task/${taskId}/complete`;
|
|
8090
|
-
return this.http
|
|
8091
|
-
.post(url, {})
|
|
8092
|
-
.pipe(catchError(error => {
|
|
8093
|
-
this.errorService.setError(error);
|
|
8094
|
-
// this will subscribe to get the user details and decide whether to display an error message
|
|
8095
|
-
this.http.get(this.appConfig.getUserInfoApiUrl()).pipe(map(response => response)).subscribe((response) => {
|
|
8096
|
-
this.handleTaskCompletionError(response);
|
|
8097
|
-
});
|
|
8098
|
-
return throwError(error);
|
|
8099
|
-
}));
|
|
8100
|
-
}
|
|
8101
|
-
/**
|
|
8102
|
-
* Call the API to assign and complete a task.
|
|
8103
|
-
* @param taskId specifies which task should be completed.
|
|
8104
|
-
*/
|
|
8105
|
-
assignAndCompleteTask(taskId) {
|
|
8106
|
-
if (!this.isWAEnabled()) {
|
|
8107
|
-
return of(null);
|
|
8108
|
-
}
|
|
8109
|
-
const url = `${this.appConfig.getWorkAllocationApiUrl()}/task/${taskId}/complete`;
|
|
8110
|
-
return this.http
|
|
8111
|
-
.post(url, {
|
|
8112
|
-
completion_options: {
|
|
8113
|
-
assign_and_complete: true
|
|
8114
|
-
}
|
|
8115
|
-
})
|
|
8116
|
-
.pipe(catchError(error => {
|
|
8117
|
-
this.errorService.setError(error);
|
|
8118
|
-
// this will subscribe to get the user details and decide whether to display an error message
|
|
8119
|
-
this.http.get(this.appConfig.getUserInfoApiUrl()).pipe(map(response => response)).subscribe((response) => {
|
|
8120
|
-
this.handleTaskCompletionError(response);
|
|
8121
|
-
});
|
|
8122
|
-
return throwError(error);
|
|
8123
|
-
}));
|
|
8124
|
-
}
|
|
8125
|
-
/**
|
|
8126
|
-
* Handles the response from the observable to get the user details when task is completed.
|
|
8127
|
-
* @param response is the response given from the observable which contains the user detaild.
|
|
8128
|
-
*/
|
|
8129
|
-
handleTaskCompletionError(response) {
|
|
8130
|
-
const userDetails = response;
|
|
8131
|
-
if (this.userIsCaseworker(userDetails.userInfo.roles)) {
|
|
8132
|
-
// when submitting the completion of task if not yet rendered cases/case confirm then preserve the alert for re-rendering
|
|
8133
|
-
this.alertService.setPreserveAlerts(true, ['cases/case', 'submit']);
|
|
8134
|
-
this.alertService.warning('A task could not be completed successfully. Please complete the task associated with the case manually.');
|
|
8135
|
-
}
|
|
8136
|
-
}
|
|
8137
|
-
/**
|
|
8138
|
-
* Returns true if the user's role is equivalent to a caseworker.
|
|
8139
|
-
* @param roles is the list of roles found from the current user.
|
|
8140
|
-
*/
|
|
8141
|
-
userIsCaseworker(roles) {
|
|
8142
|
-
const lowerCaseRoles = roles.map(role => role.toLowerCase());
|
|
8143
|
-
// When/if lib & target permanently change to es2016, replace indexOf with includes
|
|
8144
|
-
return (lowerCaseRoles.indexOf(WorkAllocationService.iACCaseOfficer) !== -1)
|
|
8145
|
-
|| (lowerCaseRoles.indexOf(WorkAllocationService.iACAdmOfficer) !== -1);
|
|
8146
|
-
}
|
|
8147
|
-
/**
|
|
8148
|
-
* Look for open tasks for a case and event combination. There are 5 possible scenarios:
|
|
8149
|
-
* 1. No tasks found => Success.
|
|
8150
|
-
* 2. One task found => Mark as done => Success.
|
|
8151
|
-
* 3. One task found => Mark as done throws error => Failure.
|
|
8152
|
-
* 4. More than one task found => Failure.
|
|
8153
|
-
* 5. Search call throws an error => Failure.
|
|
8154
|
-
* @param ccdId The ID of the case to find tasks for.
|
|
8155
|
-
* @param eventId The ID of the event to find tasks for.
|
|
8156
|
-
*/
|
|
8157
|
-
completeAppropriateTask(ccdId, eventId, jurisdiction, caseTypeId) {
|
|
8158
|
-
if (!this.isWAEnabled(jurisdiction, caseTypeId)) {
|
|
8159
|
-
return of(null);
|
|
8160
|
-
}
|
|
8161
|
-
const taskSearchParameter = {
|
|
8162
|
-
ccdId,
|
|
8163
|
-
eventId,
|
|
8164
|
-
jurisdiction,
|
|
8165
|
-
caseTypeId
|
|
8166
|
-
};
|
|
8167
|
-
return this.searchTasks(taskSearchParameter)
|
|
8168
|
-
.pipe(map((response) => {
|
|
8169
|
-
const tasks = response.tasks;
|
|
8170
|
-
if (tasks && tasks.length > 0) {
|
|
8171
|
-
if (tasks.length === 1) {
|
|
8172
|
-
this.completeTask(tasks[0].id).subscribe();
|
|
8173
|
-
}
|
|
8174
|
-
else {
|
|
8175
|
-
// This is a problem. Throw an appropriate error.
|
|
8176
|
-
throw new Error(MULTIPLE_TASKS_FOUND);
|
|
8177
|
-
}
|
|
8178
|
-
}
|
|
8179
|
-
return true; // All good. Nothing to see here.
|
|
8180
|
-
}), catchError(error => {
|
|
8181
|
-
// Simply rethrow it.
|
|
8182
|
-
return throwError(error);
|
|
8183
|
-
}));
|
|
8184
|
-
}
|
|
8185
|
-
/**
|
|
8186
|
-
* Return tasks for case and event.
|
|
8187
|
-
*/
|
|
8188
|
-
getTasksByCaseIdAndEventId(eventId, caseId, caseType, jurisdiction) {
|
|
8189
|
-
const defaultPayload = {
|
|
8190
|
-
task_required_for_event: false,
|
|
8191
|
-
tasks: []
|
|
8192
|
-
};
|
|
8193
|
-
if (!this.isWAEnabled()) {
|
|
8194
|
-
return of(defaultPayload);
|
|
8195
|
-
}
|
|
8196
|
-
return this.http.get(`${this.appConfig.getWorkAllocationApiUrl()}/case/tasks/${caseId}/event/${eventId}/caseType/${caseType}/jurisdiction/${jurisdiction}`);
|
|
8197
|
-
}
|
|
8198
|
-
/**
|
|
8199
|
-
* Call the API to get a task
|
|
8200
|
-
*/
|
|
8201
|
-
getTask(taskId) {
|
|
8202
|
-
if (!this.isWAEnabled()) {
|
|
8203
|
-
return of({ task: null });
|
|
8204
|
-
}
|
|
8205
|
-
return this.http.get(`${this.appConfig.getWorkAllocationApiUrl()}/task/${taskId}`);
|
|
8206
|
-
}
|
|
8207
|
-
}
|
|
8208
|
-
WorkAllocationService.iACCaseOfficer = 'caseworker-ia-caseofficer';
|
|
8209
|
-
WorkAllocationService.iACAdmOfficer = 'caseworker-ia-admofficer';
|
|
8210
|
-
WorkAllocationService.ɵfac = function WorkAllocationService_Factory(t) { return new (t || WorkAllocationService)(i0.ɵɵinject(HttpService), i0.ɵɵinject(AbstractAppConfig), i0.ɵɵinject(HttpErrorService), i0.ɵɵinject(AlertService), i0.ɵɵinject(SessionStorageService)); };
|
|
8211
|
-
WorkAllocationService.ɵprov = i0.ɵɵdefineInjectable({ token: WorkAllocationService, factory: WorkAllocationService.ɵfac });
|
|
8212
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WorkAllocationService, [{
|
|
8213
|
-
type: Injectable
|
|
8214
|
-
}], function () { return [{ type: HttpService }, { type: AbstractAppConfig }, { type: HttpErrorService }, { type: AlertService }, { type: SessionStorageService }]; }, null); })();
|
|
8215
|
-
|
|
8216
8254
|
class CaseEditComponent {
|
|
8217
8255
|
constructor(fb, router, route, fieldsUtils, fieldsPurger, registrarService, wizardFactory, sessionStorageService, windowsService) {
|
|
8218
8256
|
this.fb = fb;
|
|
@@ -9038,7 +9076,7 @@ class CaseEditPageComponent {
|
|
|
9038
9076
|
const label = casefield.label || 'Field';
|
|
9039
9077
|
let id = casefield.id;
|
|
9040
9078
|
if (fieldElement['component'] && fieldElement['component'].parent) {
|
|
9041
|
-
if (fieldElement['component'].idPrefix.indexOf(
|
|
9079
|
+
if (fieldElement['component'].idPrefix.indexOf('_' + id + '_') === -1) {
|
|
9042
9080
|
id = `${fieldElement['component'].idPrefix}${id}`;
|
|
9043
9081
|
}
|
|
9044
9082
|
else {
|
|
@@ -9524,7 +9562,7 @@ CallbackErrorsComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CallbackErrorsCom
|
|
|
9524
9562
|
|
|
9525
9563
|
class AddressOption {
|
|
9526
9564
|
constructor(addressModel, description) {
|
|
9527
|
-
if (description
|
|
9565
|
+
if (description == null) {
|
|
9528
9566
|
this.value = addressModel;
|
|
9529
9567
|
this.description = this.getDescription();
|
|
9530
9568
|
}
|
|
@@ -9533,10 +9571,13 @@ class AddressOption {
|
|
|
9533
9571
|
}
|
|
9534
9572
|
}
|
|
9535
9573
|
getDescription() {
|
|
9536
|
-
return this.removeInitialCommaIfPresent(
|
|
9574
|
+
return this.removeInitialCommaIfPresent((this.value.AddressLine1 === undefined ? '' : this.value.AddressLine1)
|
|
9575
|
+
+ this.prefixWithCommaIfPresent(this.value.AddressLine2)
|
|
9576
|
+
+ this.prefixWithCommaIfPresent(this.value.AddressLine3)
|
|
9577
|
+
+ ', ' + this.value.PostTown);
|
|
9537
9578
|
}
|
|
9538
9579
|
prefixWithCommaIfPresent(value) {
|
|
9539
|
-
return value ?
|
|
9580
|
+
return value ? ', ' + value : value;
|
|
9540
9581
|
}
|
|
9541
9582
|
removeInitialCommaIfPresent(value) {
|
|
9542
9583
|
return value.replace(new RegExp('^,', 'gi'), '');
|
|
@@ -9924,7 +9965,7 @@ class WriteAddressFieldComponent extends AbstractFieldWriteComponent {
|
|
|
9924
9965
|
this.missingPostcode = false;
|
|
9925
9966
|
const postcode = this.postcode.value;
|
|
9926
9967
|
this.caseField.value = null;
|
|
9927
|
-
this.addressOptions =
|
|
9968
|
+
this.addressOptions = new Array();
|
|
9928
9969
|
this.addressesService.getAddressesForPostcode(postcode.replace(' ', '').toUpperCase()).subscribe(result => {
|
|
9929
9970
|
result.forEach(address => {
|
|
9930
9971
|
this.addressOptions.push(new AddressOption(address, null));
|
|
@@ -9967,7 +10008,7 @@ class WriteAddressFieldComponent extends AbstractFieldWriteComponent {
|
|
|
9967
10008
|
let hasAddress = false;
|
|
9968
10009
|
if (address) {
|
|
9969
10010
|
Object.keys(address).forEach((key) => {
|
|
9970
|
-
if (address[key]
|
|
10011
|
+
if (address[key] != null) {
|
|
9971
10012
|
hasAddress = true;
|
|
9972
10013
|
}
|
|
9973
10014
|
});
|
|
@@ -9990,7 +10031,7 @@ class WriteAddressFieldComponent extends AbstractFieldWriteComponent {
|
|
|
9990
10031
|
}
|
|
9991
10032
|
defaultLabel(numberOfAddresses) {
|
|
9992
10033
|
return numberOfAddresses === 0 ? 'No address found'
|
|
9993
|
-
:
|
|
10034
|
+
: numberOfAddresses + (numberOfAddresses === 1 ? ' address ' : ' addresses ') + 'found';
|
|
9994
10035
|
}
|
|
9995
10036
|
setFormValue() {
|
|
9996
10037
|
if (this.writeComplexFieldComponent.complexGroup) {
|
|
@@ -11528,16 +11569,16 @@ class WriteCollectionFieldComponent extends AbstractFieldWriteComponent {
|
|
|
11528
11569
|
&& this.collItems[i].caseField.id === counter.toString()) {
|
|
11529
11570
|
this.collItems[i].caseField.id = i.toString();
|
|
11530
11571
|
}
|
|
11531
|
-
const idPrefix1 = this.collItems[i].prefix ? this.collItems[i].prefix.replace(
|
|
11532
|
-
const idPrefix1Current = idPrefix1.replace(
|
|
11572
|
+
const idPrefix1 = this.collItems[i].prefix ? this.collItems[i].prefix.replace('_' + counter.toString(), '_' + i.toString()) : '';
|
|
11573
|
+
const idPrefix1Current = idPrefix1.replace('_' + i.toString(), '_' + counter.toString());
|
|
11533
11574
|
if (this.collItems[i].prefix && this.collItems[i].prefix === idPrefix1Current) {
|
|
11534
11575
|
this.collItems[i].prefix = idPrefix1;
|
|
11535
11576
|
}
|
|
11536
11577
|
const idPrefixAvailable = this.collItems[i].container && this.collItems[i].container['component']
|
|
11537
11578
|
&& this.collItems[i].container['component'].idPrefix ? true : false;
|
|
11538
11579
|
const idPrefix2 = idPrefixAvailable ?
|
|
11539
|
-
this.collItems[i].container['component'].idPrefix.replace(
|
|
11540
|
-
const idPrefix2current = idPrefix2.replace(
|
|
11580
|
+
this.collItems[i].container['component'].idPrefix.replace('_' + counter.toString(), '_' + i.toString()) : '';
|
|
11581
|
+
const idPrefix2current = idPrefix2.replace('_' + i.toString(), '_' + counter.toString());
|
|
11541
11582
|
if (idPrefixAvailable && this.collItems[i].container['component'].idPrefix === idPrefix2current) {
|
|
11542
11583
|
this.collItems[i].container['component'].idPrefix = idPrefix2;
|
|
11543
11584
|
}
|
|
@@ -13309,7 +13350,7 @@ class LinkedCasesService {
|
|
|
13309
13350
|
casesResponse.push(this.mapResponse(result));
|
|
13310
13351
|
});
|
|
13311
13352
|
});
|
|
13312
|
-
|
|
13353
|
+
const caseLinks = casesResponse.map(item => {
|
|
13313
13354
|
return {
|
|
13314
13355
|
caseReference: item.caseReference,
|
|
13315
13356
|
caseName: item.caseName,
|
|
@@ -13323,6 +13364,7 @@ class LinkedCasesService {
|
|
|
13323
13364
|
}),
|
|
13324
13365
|
};
|
|
13325
13366
|
});
|
|
13367
|
+
this.linkedCases = caseLinks;
|
|
13326
13368
|
this.serverLinkedApiError = null;
|
|
13327
13369
|
}, err => {
|
|
13328
13370
|
this.serverLinkedApiError = {
|
|
@@ -15155,7 +15197,7 @@ class ReadLinkedCasesFieldComponent {
|
|
|
15155
15197
|
this.caseField = (_a = tab === null || tab === void 0 ? void 0 : tab.fields) === null || _a === void 0 ? void 0 : _a.find(field => field.id === 'caseLinks');
|
|
15156
15198
|
}
|
|
15157
15199
|
this.isServerJurisdictionError = this.linkedCasesService.serverJurisdictionError || false;
|
|
15158
|
-
const reasonCodeAPIurl =
|
|
15200
|
+
const reasonCodeAPIurl = this.appConfig.getRDCommonDataApiUrl() + '/lov/categories/CaseLinkingReasonCode';
|
|
15159
15201
|
this.commonDataService.getRefData(reasonCodeAPIurl).subscribe({
|
|
15160
15202
|
next: reasons => {
|
|
15161
15203
|
this.reasonListLoaded = true;
|
|
@@ -15390,7 +15432,7 @@ class WriteLinkedCasesFieldComponent extends AbstractFieldWriteComponent {
|
|
|
15390
15432
|
}
|
|
15391
15433
|
}
|
|
15392
15434
|
getLinkedCaseReasons() {
|
|
15393
|
-
const reasonCodeAPIurl =
|
|
15435
|
+
const reasonCodeAPIurl = this.appConfig.getRDCommonDataApiUrl() + '/lov/categories/CaseLinkingReasonCode';
|
|
15394
15436
|
this.commonDataService.getRefData(reasonCodeAPIurl).subscribe({
|
|
15395
15437
|
next: reasons => {
|
|
15396
15438
|
// Sort in ascending order
|
|
@@ -15448,7 +15490,8 @@ class WriteLinkedCasesFieldComponent extends AbstractFieldWriteComponent {
|
|
|
15448
15490
|
getLinkedCases() {
|
|
15449
15491
|
this.casesService.getCaseViewV2(this.linkedCasesService.caseId).subscribe((caseView) => {
|
|
15450
15492
|
const caseViewFiltered = caseView.tabs.filter(tab => {
|
|
15451
|
-
|
|
15493
|
+
const linkField = tab.fields.some(({ field_type }) => field_type && field_type.collection_field_type && field_type.collection_field_type.id === 'CaseLink');
|
|
15494
|
+
return linkField;
|
|
15452
15495
|
});
|
|
15453
15496
|
if (caseViewFiltered) {
|
|
15454
15497
|
const caseLinkFieldValue = caseViewFiltered.map(filtered => { var _a; return ((_a = filtered.fields) === null || _a === void 0 ? void 0 : _a.length) > 0 && filtered.fields.filter(field => field.id === 'caseLinks')[0].value; });
|
|
@@ -16938,7 +16981,7 @@ class WriteTextAreaFieldComponent extends AbstractFieldWriteComponent {
|
|
|
16938
16981
|
autoGrow(event) {
|
|
16939
16982
|
if (this.browserService.isIEOrEdge()) {
|
|
16940
16983
|
event.target.style.height = 'auto';
|
|
16941
|
-
event.target.style.height =
|
|
16984
|
+
event.target.style.height = event.target.scrollHeight + 'px';
|
|
16942
16985
|
event.target.scrollTop = event.target.scrollHeight;
|
|
16943
16986
|
}
|
|
16944
16987
|
}
|
|
@@ -19164,7 +19207,7 @@ class SelectFlagLocationComponent {
|
|
|
19164
19207
|
// is expected not to have a party name)
|
|
19165
19208
|
if (this.flagsData) {
|
|
19166
19209
|
this.filteredFlagsData =
|
|
19167
|
-
this.flagsData.filter(f => f.flags.partyName
|
|
19210
|
+
this.flagsData.filter(f => f.flags.partyName != null || f.pathToFlagsFormGroup === this.caseLevelCaseFlagsFieldId);
|
|
19168
19211
|
}
|
|
19169
19212
|
// Add a FormControl for the selected flag location if there is at least one flags instance remaining after filtering
|
|
19170
19213
|
if (this.filteredFlagsData && this.filteredFlagsData.length > 0) {
|
|
@@ -20332,13 +20375,13 @@ class ReadComplexFieldCollectionTableComponent extends AbstractFieldReadComponen
|
|
|
20332
20375
|
field.value = { CaseReference: value };
|
|
20333
20376
|
return field;
|
|
20334
20377
|
}
|
|
20335
|
-
toCaseField(id, label,
|
|
20378
|
+
toCaseField(id, label, field_type, value) {
|
|
20336
20379
|
return plainToClassFromExist(new CaseField(), {
|
|
20337
20380
|
id,
|
|
20338
20381
|
label,
|
|
20339
20382
|
display_context: 'READONLY',
|
|
20340
20383
|
value,
|
|
20341
|
-
field_type
|
|
20384
|
+
field_type
|
|
20342
20385
|
});
|
|
20343
20386
|
}
|
|
20344
20387
|
sortRowsByColumns(column) {
|
|
@@ -21924,7 +21967,7 @@ CcdTabFieldsPipe.ɵpipe = i0.ɵɵdefinePipe({ name: "ccdTabFields", type: CcdTab
|
|
|
21924
21967
|
|
|
21925
21968
|
class CcdPageFieldsPipe {
|
|
21926
21969
|
transform(page, dataFormGroup) {
|
|
21927
|
-
const
|
|
21970
|
+
const complex_fields = Object.keys(dataFormGroup.controls['data'].controls).map(key => {
|
|
21928
21971
|
const control = dataFormGroup.controls['data'].get(key);
|
|
21929
21972
|
return control['caseField'];
|
|
21930
21973
|
}).filter(field => {
|
|
@@ -21943,7 +21986,7 @@ class CcdPageFieldsPipe {
|
|
|
21943
21986
|
field_type: {
|
|
21944
21987
|
id: page.id,
|
|
21945
21988
|
type: 'Complex',
|
|
21946
|
-
complex_fields
|
|
21989
|
+
complex_fields
|
|
21947
21990
|
}
|
|
21948
21991
|
});
|
|
21949
21992
|
}
|
|
@@ -22102,11 +22145,11 @@ class CollectionCreateCheckerService {
|
|
|
22102
22145
|
}
|
|
22103
22146
|
return childrenCaseFields;
|
|
22104
22147
|
}
|
|
22105
|
-
isComplex(
|
|
22106
|
-
return
|
|
22148
|
+
isComplex(case_field) {
|
|
22149
|
+
return case_field.field_type.type === 'Complex';
|
|
22107
22150
|
}
|
|
22108
|
-
isCollection(
|
|
22109
|
-
return
|
|
22151
|
+
isCollection(case_field) {
|
|
22152
|
+
return case_field.field_type.type === 'Collection';
|
|
22110
22153
|
}
|
|
22111
22154
|
hasCreateAccess(caseField, role) {
|
|
22112
22155
|
return !!caseField.acls.find(acl => acl.role === role && acl.create === true);
|
|
@@ -23220,7 +23263,7 @@ class CaseEditSubmitComponent {
|
|
|
23220
23263
|
if (caseField.field_type.type === 'Complex') {
|
|
23221
23264
|
// Note: Deliberate use of equality (==) and non-equality (!=) operators for null checks throughout, to
|
|
23222
23265
|
// handle both null and undefined values
|
|
23223
|
-
if (caseField.value
|
|
23266
|
+
if (caseField.value != null) {
|
|
23224
23267
|
// Call this function recursively to replace the Complex field's sub-fields as necessary, passing the
|
|
23225
23268
|
// CaseField itself (the sub-fields do not contain any values, so these need to be obtained from the
|
|
23226
23269
|
// parent)
|
|
@@ -24987,7 +25030,7 @@ class WorkbasketFiltersComponent {
|
|
|
24987
25030
|
const formValue = this.windowService.getLocalStorage(FORM_GROUP_VAL_LOC_STORAGE);
|
|
24988
25031
|
workbasketInputs.forEach(item => {
|
|
24989
25032
|
if (item.field.elementPath) {
|
|
24990
|
-
item.field.id =
|
|
25033
|
+
item.field.id = item.field.id + '.' + item.field.elementPath;
|
|
24991
25034
|
}
|
|
24992
25035
|
item.field.label = item.label;
|
|
24993
25036
|
if (formValue) {
|
|
@@ -25039,7 +25082,7 @@ class WorkbasketFiltersComponent {
|
|
|
25039
25082
|
const value = formGroupLS[key];
|
|
25040
25083
|
// Clear the filter form group control values if it has a value in local storage
|
|
25041
25084
|
// The regionList form group control value should be ignored as it always contain the latest value
|
|
25042
|
-
if (key !== REGION_LIST_AND_FRC_FILTER && value
|
|
25085
|
+
if (key !== REGION_LIST_AND_FRC_FILTER && value != null) {
|
|
25043
25086
|
this.formGroup.get(key).setValue(null);
|
|
25044
25087
|
}
|
|
25045
25088
|
}
|
|
@@ -26733,7 +26776,7 @@ function CaseFullAccessViewComponent_ng_container_12_Template(rf, ctx) { if (rf
|
|
|
26733
26776
|
const _r34 = i0.ɵɵgetCurrentView();
|
|
26734
26777
|
i0.ɵɵelementContainerStart(0);
|
|
26735
26778
|
i0.ɵɵelementStart(1, "mat-tab-group", 23, 24);
|
|
26736
|
-
i0.ɵɵlistener("
|
|
26779
|
+
i0.ɵɵlistener("selectedIndexChange", function CaseFullAccessViewComponent_ng_container_12_Template_mat_tab_group_selectedIndexChange_1_listener($event) { i0.ɵɵrestoreView(_r34); const ctx_r33 = i0.ɵɵnextContext(); return ctx_r33.tabChanged($event); });
|
|
26737
26780
|
i0.ɵɵtemplate(3, CaseFullAccessViewComponent_ng_container_12_mat_tab_3_Template, 1, 2, "mat-tab", 25);
|
|
26738
26781
|
i0.ɵɵtemplate(4, CaseFullAccessViewComponent_ng_container_12_mat_tab_4_Template, 2, 2, "mat-tab", 25);
|
|
26739
26782
|
i0.ɵɵtemplate(5, CaseFullAccessViewComponent_ng_container_12_mat_tab_5_Template, 1, 2, "mat-tab", 25);
|
|
@@ -26769,6 +26812,7 @@ class CaseFullAccessViewComponent {
|
|
|
26769
26812
|
this.location = location;
|
|
26770
26813
|
this.crf = crf;
|
|
26771
26814
|
this.sessionStorageService = sessionStorageService;
|
|
26815
|
+
this.HEARINGS_TAB_LABEL = 'Hearings';
|
|
26772
26816
|
this.hasPrint = true;
|
|
26773
26817
|
this.hasEventSelector = true;
|
|
26774
26818
|
this.prependedTabs = [];
|
|
@@ -26780,6 +26824,7 @@ class CaseFullAccessViewComponent {
|
|
|
26780
26824
|
this.ignoreWarning = false;
|
|
26781
26825
|
this.selectedTabIndex = 0;
|
|
26782
26826
|
this.activeCaseFlags = false;
|
|
26827
|
+
this.subs = [];
|
|
26783
26828
|
this.callbackErrorsSubject = new Subject();
|
|
26784
26829
|
}
|
|
26785
26830
|
ngOnInit() {
|
|
@@ -26831,6 +26876,7 @@ class CaseFullAccessViewComponent {
|
|
|
26831
26876
|
this.unsubscribe(this.callbackErrorsSubject);
|
|
26832
26877
|
this.unsubscribe(this.errorSubscription);
|
|
26833
26878
|
this.unsubscribe(this.subscription);
|
|
26879
|
+
this.subs.forEach(s => s.unsubscribe());
|
|
26834
26880
|
}
|
|
26835
26881
|
unsubscribe(subscription) {
|
|
26836
26882
|
if (subscription) {
|
|
@@ -26838,19 +26884,22 @@ class CaseFullAccessViewComponent {
|
|
|
26838
26884
|
}
|
|
26839
26885
|
}
|
|
26840
26886
|
checkRouteAndSetCaseViewTab() {
|
|
26841
|
-
this.router.events
|
|
26887
|
+
this.subs.push(this.router.events
|
|
26842
26888
|
.pipe(filter((event) => event instanceof NavigationEnd))
|
|
26843
26889
|
.subscribe((event) => {
|
|
26844
26890
|
const url = event && event.url;
|
|
26845
26891
|
if (url) {
|
|
26846
|
-
|
|
26847
|
-
|
|
26848
|
-
|
|
26849
|
-
|
|
26850
|
-
|
|
26892
|
+
if (url.includes('hearings')) {
|
|
26893
|
+
this.selectedTabIndex = this.getTabIndexByTabLabel(this.tabGroup, 'hearings');
|
|
26894
|
+
}
|
|
26895
|
+
else {
|
|
26896
|
+
const urlFragment = this.getUrlFragment(url);
|
|
26897
|
+
const tabLabel = decodeURIComponent(urlFragment);
|
|
26898
|
+
const tabIndex = this.getTabIndexByTabLabel(this.tabGroup, tabLabel);
|
|
26899
|
+
this.selectedTabIndex = tabIndex;
|
|
26851
26900
|
}
|
|
26852
26901
|
}
|
|
26853
|
-
});
|
|
26902
|
+
}));
|
|
26854
26903
|
}
|
|
26855
26904
|
postViewActivity() {
|
|
26856
26905
|
return this.activityPollingService.postViewActivity(this.caseDetails.case_id);
|
|
@@ -26972,22 +27021,19 @@ class CaseFullAccessViewComponent {
|
|
|
26972
27021
|
}
|
|
26973
27022
|
}
|
|
26974
27023
|
}
|
|
26975
|
-
tabChanged(
|
|
26976
|
-
//
|
|
26977
|
-
this.
|
|
26978
|
-
const
|
|
26979
|
-
|
|
26980
|
-
|
|
26981
|
-
|
|
26982
|
-
|
|
26983
|
-
|
|
26984
|
-
this.router.navigate([id], { relativeTo: this.route });
|
|
27024
|
+
tabChanged(tabIndexChanged) {
|
|
27025
|
+
// Refactored under EXUI-110 to address infinite tab loop
|
|
27026
|
+
const matTab = this.tabGroup._tabs.find(tab => tab.isActive);
|
|
27027
|
+
const tabLabel = matTab.textLabel;
|
|
27028
|
+
// if hearings tab don't use fragment for navigation
|
|
27029
|
+
if ((tabIndexChanged <= 1 && this.prependedTabs && this.prependedTabs.length) ||
|
|
27030
|
+
(this.appendedTabs && this.appendedTabs.length && tabLabel === this.HEARINGS_TAB_LABEL)) {
|
|
27031
|
+
// cases/case-details/:caseId/hearings
|
|
27032
|
+
this.router.navigate([tabLabel.toLowerCase()], { relativeTo: this.route });
|
|
26985
27033
|
}
|
|
26986
27034
|
else {
|
|
26987
|
-
|
|
26988
|
-
this.router.navigate(['cases', 'case-details', this.caseDetails.case_id]
|
|
26989
|
-
window.location.hash = label;
|
|
26990
|
-
});
|
|
27035
|
+
// cases/case-details/:caseId#tabLabel
|
|
27036
|
+
this.router.navigate(['cases', 'case-details', this.caseDetails.case_id], { fragment: tabLabel });
|
|
26991
27037
|
}
|
|
26992
27038
|
}
|
|
26993
27039
|
onLinkClicked(triggerOutputEventText) {
|
|
@@ -27083,6 +27129,12 @@ class CaseFullAccessViewComponent {
|
|
|
27083
27129
|
this.callbackErrorsSubject.next(null);
|
|
27084
27130
|
this.alertService.clear();
|
|
27085
27131
|
}
|
|
27132
|
+
getUrlFragment(url) {
|
|
27133
|
+
return url.split('#')[url.split('#').length - 1];
|
|
27134
|
+
}
|
|
27135
|
+
getTabIndexByTabLabel(tabGroup, tabLabel) {
|
|
27136
|
+
return tabGroup._tabs.toArray().findIndex((t) => t.textLabel.toLowerCase() === tabLabel.toLowerCase());
|
|
27137
|
+
}
|
|
27086
27138
|
}
|
|
27087
27139
|
CaseFullAccessViewComponent.ORIGIN_QUERY_PARAM = 'origin';
|
|
27088
27140
|
CaseFullAccessViewComponent.TRIGGER_TEXT_START = 'Go';
|
|
@@ -27095,7 +27147,7 @@ CaseFullAccessViewComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CaseFullAcces
|
|
|
27095
27147
|
} if (rf & 2) {
|
|
27096
27148
|
let _t;
|
|
27097
27149
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tabGroup = _t.first);
|
|
27098
|
-
} }, inputs: { hasPrint: "hasPrint", hasEventSelector: "hasEventSelector", caseDetails: "caseDetails", prependedTabs: "prependedTabs", appendedTabs: "appendedTabs" }, features: [i0.ɵɵNgOnChangesFeature], decls: 13, vars: 12, consts: [["class", "error-summary", "role", "group", "aria-labelledby", "edit-case-event_error-summary-heading", "tabindex", "-1", 4, "ngIf"], [3, "triggerTextContinue", "triggerTextIgnore", "callbackErrorsSubject", "callbackErrorsContext"], [3, "caseId", "displayMode"], [1, "grid-row"], [1, "column-one-half"], [3, "caseDetails"], ["class", "case-viewer-controls", 4, "ngIf"], ["class", "column-one-half", 4, "ngIf"], ["class", "grid-row", 4, "ngIf"], [1, "column-full"], [4, "ngIf"], ["role", "group", "aria-labelledby", "edit-case-event_error-summary-heading", "tabindex", "-1", 1, "error-summary"], ["id", "edit-case-event_error-summary-heading", 1, "heading-h1", "error-summary-heading"], ["id", "edit-case-event_error-summary-body", 1, "govuk-error-summary__body"], ["href", "get-help", "target", "_blank"], ["id", "edit-case-event_error-summary-heading", 1, "heading-h2", "error-summary-heading"], ["class", "error-summary-list", 4, "ngIf"], [1, "error-summary-list"], [4, "ngFor", "ngForOf"], [1, "case-viewer-controls"], ["id", "case-viewer-control-print", "routerLink", "print", 1, "button", "button-secondary"], [3, "isDisabled", "triggers", "triggerText", "onTriggerChange", "onTriggerSubmit"], [3, "notificationBannerConfig", "linkClicked"], ["animationDuration", "0ms", 3, "disableRipple", "selectedIndex", "
|
|
27150
|
+
} }, inputs: { hasPrint: "hasPrint", hasEventSelector: "hasEventSelector", caseDetails: "caseDetails", prependedTabs: "prependedTabs", appendedTabs: "appendedTabs" }, features: [i0.ɵɵNgOnChangesFeature], decls: 13, vars: 12, consts: [["class", "error-summary", "role", "group", "aria-labelledby", "edit-case-event_error-summary-heading", "tabindex", "-1", 4, "ngIf"], [3, "triggerTextContinue", "triggerTextIgnore", "callbackErrorsSubject", "callbackErrorsContext"], [3, "caseId", "displayMode"], [1, "grid-row"], [1, "column-one-half"], [3, "caseDetails"], ["class", "case-viewer-controls", 4, "ngIf"], ["class", "column-one-half", 4, "ngIf"], ["class", "grid-row", 4, "ngIf"], [1, "column-full"], [4, "ngIf"], ["role", "group", "aria-labelledby", "edit-case-event_error-summary-heading", "tabindex", "-1", 1, "error-summary"], ["id", "edit-case-event_error-summary-heading", 1, "heading-h1", "error-summary-heading"], ["id", "edit-case-event_error-summary-body", 1, "govuk-error-summary__body"], ["href", "get-help", "target", "_blank"], ["id", "edit-case-event_error-summary-heading", 1, "heading-h2", "error-summary-heading"], ["class", "error-summary-list", 4, "ngIf"], [1, "error-summary-list"], [4, "ngFor", "ngForOf"], [1, "case-viewer-controls"], ["id", "case-viewer-control-print", "routerLink", "print", 1, "button", "button-secondary"], [3, "isDisabled", "triggers", "triggerText", "onTriggerChange", "onTriggerSubmit"], [3, "notificationBannerConfig", "linkClicked"], ["animationDuration", "0ms", 3, "disableRipple", "selectedIndex", "selectedIndexChange"], ["tabGroup", ""], [3, "id", "label", 4, "ngFor", "ngForOf"], [3, "id", "label"], ["matTabContent", ""], ["aria-describedby", "case viewer table"], ["ccdLabelSubstitutor", "", 3, "caseField", "contextFields", "hidden"], [3, "ngSwitch"], [4, "ngSwitchCase"], ["class", "compound-field", 4, "ngSwitchCase"], ["id", "case-viewer-field-label", 4, "ngIf"], ["scope", "col", 3, "id"], [1, "text-16"], [3, "topLevelFormGroup", "caseField", "caseReference", "markdownUseHrefAsRouterLink"], ["id", "case-viewer-field-label"], [1, "case-viewer-label", "text-16"], [1, "compound-field"]], template: function CaseFullAccessViewComponent_Template(rf, ctx) { if (rf & 1) {
|
|
27099
27151
|
i0.ɵɵtemplate(0, CaseFullAccessViewComponent_div_0_Template, 10, 0, "div", 0);
|
|
27100
27152
|
i0.ɵɵtemplate(1, CaseFullAccessViewComponent_div_1_Template, 6, 2, "div", 0);
|
|
27101
27153
|
i0.ɵɵelementStart(2, "ccd-callback-errors", 1);
|
|
@@ -27172,7 +27224,7 @@ class PrintUrlPipe {
|
|
|
27172
27224
|
* or the empty string
|
|
27173
27225
|
*/
|
|
27174
27226
|
transform(remoteUrl) {
|
|
27175
|
-
if (
|
|
27227
|
+
if (remoteUrl && remoteUrl.length > 0) {
|
|
27176
27228
|
let printServiceUrlPathname;
|
|
27177
27229
|
/**
|
|
27178
27230
|
* Check navigator.userAgent to see if the browser is IE or not. Check for either the browser name, "MSIE", or
|
|
@@ -27188,7 +27240,7 @@ class PrintUrlPipe {
|
|
|
27188
27240
|
printServiceUrlPathname = urlParser.pathname;
|
|
27189
27241
|
if (printServiceUrlPathname[0] !== '/') {
|
|
27190
27242
|
// Fix for IE11; it returns the pathname without leading slash
|
|
27191
|
-
printServiceUrlPathname =
|
|
27243
|
+
printServiceUrlPathname = '/' + printServiceUrlPathname;
|
|
27192
27244
|
}
|
|
27193
27245
|
}
|
|
27194
27246
|
else {
|
|
@@ -27365,10 +27417,10 @@ class CaseViewerComponent {
|
|
|
27365
27417
|
}
|
|
27366
27418
|
setUserAccessType(caseDetails) {
|
|
27367
27419
|
if (caseDetails && Array.isArray(caseDetails.metadataFields)) {
|
|
27368
|
-
const
|
|
27369
|
-
const
|
|
27370
|
-
this.accessGranted =
|
|
27371
|
-
this.userAccessType =
|
|
27420
|
+
const access_process = caseDetails.metadataFields.find(metadataField => metadataField.id === CaseViewerComponent.METADATA_FIELD_ACCESS_PROCEES_ID);
|
|
27421
|
+
const access_granted = caseDetails.metadataFields.find(metadataField => metadataField.id === CaseViewerComponent.METADATA_FIELD_ACCESS_GRANTED_ID);
|
|
27422
|
+
this.accessGranted = access_granted ? access_granted.value !== CaseViewerComponent.BASIC_USER_ACCESS_TYPES : false;
|
|
27423
|
+
this.userAccessType = access_process ? access_process.value : null;
|
|
27372
27424
|
}
|
|
27373
27425
|
}
|
|
27374
27426
|
isDataLoaded() {
|
|
@@ -28533,11 +28585,11 @@ class CaseChallengedAccessRequestComponent {
|
|
|
28533
28585
|
};
|
|
28534
28586
|
this.$roleAssignmentResponseSubscription = this.casesService.createChallengedAccessRequest(caseId, challengedAccessRequest)
|
|
28535
28587
|
.pipe(switchMap(() => this.caseNotifier.fetchAndRefresh(caseId)))
|
|
28536
|
-
.subscribe(
|
|
28588
|
+
.subscribe(_response => {
|
|
28537
28589
|
// Would have been nice to pass the caseId within state.data, but this isn't part of NavigationExtras until
|
|
28538
28590
|
// Angular 7.2!
|
|
28539
28591
|
this.router.navigate(['success'], { relativeTo: this.route });
|
|
28540
|
-
},
|
|
28592
|
+
}, _error => {
|
|
28541
28593
|
// Navigate to error page
|
|
28542
28594
|
});
|
|
28543
28595
|
}
|
|
@@ -28551,7 +28603,7 @@ class CaseChallengedAccessRequestComponent {
|
|
|
28551
28603
|
}
|
|
28552
28604
|
}
|
|
28553
28605
|
inputEmpty(input) {
|
|
28554
|
-
return input.value
|
|
28606
|
+
return input.value == null || input.value.trim().length === 0;
|
|
28555
28607
|
}
|
|
28556
28608
|
}
|
|
28557
28609
|
CaseChallengedAccessRequestComponent.CANCEL_LINK_DESTINATION = '/work/my-work/list';
|
|
@@ -29137,11 +29189,11 @@ class CaseSpecificAccessRequestComponent {
|
|
|
29137
29189
|
};
|
|
29138
29190
|
this.$roleAssignmentResponseSubscription = this.casesService.createSpecificAccessRequest(caseId, specificAccessRequest)
|
|
29139
29191
|
.pipe(switchMap(() => this.caseNotifier.fetchAndRefresh(caseId)))
|
|
29140
|
-
.subscribe(
|
|
29192
|
+
.subscribe(_response => {
|
|
29141
29193
|
// Would have been nice to pass the caseId within state.data, but this isn't part of NavigationExtras until
|
|
29142
29194
|
// Angular 7.2
|
|
29143
29195
|
this.router.navigate(['success'], { relativeTo: this.route });
|
|
29144
|
-
},
|
|
29196
|
+
}, _error => {
|
|
29145
29197
|
// Navigate to error page
|
|
29146
29198
|
});
|
|
29147
29199
|
}
|
|
@@ -29156,7 +29208,7 @@ class CaseSpecificAccessRequestComponent {
|
|
|
29156
29208
|
}
|
|
29157
29209
|
}
|
|
29158
29210
|
inputEmpty(input) {
|
|
29159
|
-
return input.value
|
|
29211
|
+
return input.value == null || input.value.trim().length === 0;
|
|
29160
29212
|
}
|
|
29161
29213
|
}
|
|
29162
29214
|
CaseSpecificAccessRequestComponent.CANCEL_LINK_DESTINATION = '/work/my-work/list';
|
|
@@ -29998,7 +30050,7 @@ class SearchFiltersComponent {
|
|
|
29998
30050
|
}
|
|
29999
30051
|
searchInputs.forEach(item => {
|
|
30000
30052
|
if (item.field.elementPath) {
|
|
30001
|
-
item.field.id =
|
|
30053
|
+
item.field.id = item.field.id + '.' + item.field.elementPath;
|
|
30002
30054
|
}
|
|
30003
30055
|
item.field.label = item.label;
|
|
30004
30056
|
if (formValueObject) {
|
|
@@ -31117,24 +31169,24 @@ class CaseFieldBuilder {
|
|
|
31117
31169
|
this.caseField.id = id;
|
|
31118
31170
|
return this;
|
|
31119
31171
|
}
|
|
31120
|
-
withFieldType(
|
|
31121
|
-
this.caseField.field_type =
|
|
31172
|
+
withFieldType(field_type) {
|
|
31173
|
+
this.caseField.field_type = field_type;
|
|
31122
31174
|
return this;
|
|
31123
31175
|
}
|
|
31124
|
-
withDisplayContext(
|
|
31125
|
-
this.caseField.display_context =
|
|
31176
|
+
withDisplayContext(display_context) {
|
|
31177
|
+
this.caseField.display_context = display_context;
|
|
31126
31178
|
return this;
|
|
31127
31179
|
}
|
|
31128
|
-
withDisplayContextParameter(
|
|
31129
|
-
this.caseField.display_context_parameter =
|
|
31180
|
+
withDisplayContextParameter(display_context_parameter) {
|
|
31181
|
+
this.caseField.display_context_parameter = display_context_parameter;
|
|
31130
31182
|
return this;
|
|
31131
31183
|
}
|
|
31132
31184
|
withHidden(hidden) {
|
|
31133
31185
|
this.caseField.hidden = hidden;
|
|
31134
31186
|
return this;
|
|
31135
31187
|
}
|
|
31136
|
-
withHintText(
|
|
31137
|
-
this.caseField.hint_text =
|
|
31188
|
+
withHintText(hint_text) {
|
|
31189
|
+
this.caseField.hint_text = hint_text;
|
|
31138
31190
|
return this;
|
|
31139
31191
|
}
|
|
31140
31192
|
withLabel(label) {
|
|
@@ -31145,12 +31197,12 @@ class CaseFieldBuilder {
|
|
|
31145
31197
|
this.caseField.order = order;
|
|
31146
31198
|
return this;
|
|
31147
31199
|
}
|
|
31148
|
-
withSecurityLabel(
|
|
31149
|
-
this.caseField.security_label =
|
|
31200
|
+
withSecurityLabel(security_label) {
|
|
31201
|
+
this.caseField.security_label = security_label;
|
|
31150
31202
|
return this;
|
|
31151
31203
|
}
|
|
31152
|
-
withShowCondition(
|
|
31153
|
-
this.caseField.show_condition =
|
|
31204
|
+
withShowCondition(show_condition) {
|
|
31205
|
+
this.caseField.show_condition = show_condition;
|
|
31154
31206
|
return this;
|
|
31155
31207
|
}
|
|
31156
31208
|
withShowSummaryContentOption(option) {
|
|
@@ -31177,19 +31229,19 @@ const textFieldType = () => {
|
|
|
31177
31229
|
complex_fields: []
|
|
31178
31230
|
};
|
|
31179
31231
|
};
|
|
31180
|
-
const createCaseEventTrigger = (id, name,
|
|
31232
|
+
const createCaseEventTrigger = (id, name, case_id, show_summary, case_fields, wizard_pages = [], can_save_draft = false) => {
|
|
31181
31233
|
const eventTrigger = new CaseEventTrigger();
|
|
31182
31234
|
eventTrigger.id = id;
|
|
31183
31235
|
eventTrigger.name = name;
|
|
31184
|
-
eventTrigger.case_id =
|
|
31185
|
-
eventTrigger.show_summary =
|
|
31186
|
-
eventTrigger.wizard_pages =
|
|
31236
|
+
eventTrigger.case_id = case_id;
|
|
31237
|
+
eventTrigger.show_summary = show_summary;
|
|
31238
|
+
eventTrigger.wizard_pages = wizard_pages;
|
|
31187
31239
|
eventTrigger.event_token = 'test-token';
|
|
31188
|
-
eventTrigger.case_fields =
|
|
31189
|
-
eventTrigger.can_save_draft =
|
|
31240
|
+
eventTrigger.case_fields = case_fields;
|
|
31241
|
+
eventTrigger.can_save_draft = can_save_draft;
|
|
31190
31242
|
return eventTrigger;
|
|
31191
31243
|
};
|
|
31192
|
-
const aCaseField = (id, label, type,
|
|
31244
|
+
const aCaseField = (id, label, type, display_context, show_summary_content_option, typeComplexFields = [], retain_hidden_value, hidden) => {
|
|
31193
31245
|
return ({
|
|
31194
31246
|
id: id || 'personFirstName',
|
|
31195
31247
|
field_type: {
|
|
@@ -31197,10 +31249,10 @@ const aCaseField = (id, label, type, displayContext, showSummaryContentOption, t
|
|
|
31197
31249
|
type: type || 'Text',
|
|
31198
31250
|
complex_fields: typeComplexFields || []
|
|
31199
31251
|
},
|
|
31200
|
-
display_context:
|
|
31252
|
+
display_context: display_context || 'OPTIONAL',
|
|
31201
31253
|
label: label || 'First name',
|
|
31202
|
-
show_summary_content_option
|
|
31203
|
-
retain_hidden_value:
|
|
31254
|
+
show_summary_content_option,
|
|
31255
|
+
retain_hidden_value: retain_hidden_value || false,
|
|
31204
31256
|
hidden: hidden || false
|
|
31205
31257
|
});
|
|
31206
31258
|
};
|
|
@@ -31238,59 +31290,59 @@ const createHiddenComplexFieldOverride = (id) => {
|
|
|
31238
31290
|
complexFieldOverride.display_context = 'HIDDEN';
|
|
31239
31291
|
return complexFieldOverride;
|
|
31240
31292
|
};
|
|
31241
|
-
const createCaseField = (id, label, hint, fieldType,
|
|
31293
|
+
const createCaseField = (id, label, hint, fieldType, display_context, order = undefined, show_condition = undefined, ACLs = undefined, hidden) => {
|
|
31242
31294
|
return CaseFieldBuilder.create()
|
|
31243
31295
|
.withId(id || 'personFirstName')
|
|
31244
31296
|
.withFieldType(fieldType || textFieldType())
|
|
31245
|
-
.withDisplayContext(
|
|
31297
|
+
.withDisplayContext(display_context || 'OPTIONAL')
|
|
31246
31298
|
.withLabel(label || 'First name')
|
|
31247
31299
|
.withHintText(hint || 'First name hint text')
|
|
31248
31300
|
.withShowSummaryContentOption(0)
|
|
31249
31301
|
.withOrder(order)
|
|
31250
|
-
.withShowCondition(
|
|
31251
|
-
.withACLs(
|
|
31302
|
+
.withShowCondition(show_condition || undefined)
|
|
31303
|
+
.withACLs(ACLs)
|
|
31252
31304
|
.withHidden(hidden || false)
|
|
31253
31305
|
.build();
|
|
31254
31306
|
};
|
|
31255
|
-
const newCaseField = (id, label, hint, fieldType,
|
|
31307
|
+
const newCaseField = (id, label, hint, fieldType, display_context, order = undefined) => {
|
|
31256
31308
|
return CaseFieldBuilder.create()
|
|
31257
31309
|
.withId(id || 'personFirstName')
|
|
31258
31310
|
.withFieldType(fieldType || textFieldType())
|
|
31259
|
-
.withDisplayContext(
|
|
31311
|
+
.withDisplayContext(display_context || 'OPTIONAL')
|
|
31260
31312
|
.withHintText(hint || 'First name hint text')
|
|
31261
31313
|
.withLabel(label || 'First name')
|
|
31262
31314
|
.withOrder(order)
|
|
31263
31315
|
.withShowSummaryContentOption(0);
|
|
31264
31316
|
};
|
|
31265
|
-
const createFieldType = (typeId, type,
|
|
31317
|
+
const createFieldType = (typeId, type, complex_fields = [], collection_field_type = undefined) => {
|
|
31266
31318
|
return {
|
|
31267
31319
|
id: typeId || 'Text',
|
|
31268
31320
|
type: type || 'Text',
|
|
31269
|
-
complex_fields:
|
|
31270
|
-
collection_field_type:
|
|
31321
|
+
complex_fields: complex_fields || [],
|
|
31322
|
+
collection_field_type: collection_field_type || undefined
|
|
31271
31323
|
};
|
|
31272
31324
|
};
|
|
31273
31325
|
const createFixedListFieldType = (typeId, fixedListItems = []) => {
|
|
31274
31326
|
return {
|
|
31275
|
-
id:
|
|
31327
|
+
id: 'FixedList-' + typeId,
|
|
31276
31328
|
type: 'FixedList',
|
|
31277
31329
|
fixed_list_items: fixedListItems || []
|
|
31278
31330
|
};
|
|
31279
31331
|
};
|
|
31280
31332
|
const createMultiSelectListFieldType = (typeId, fixedListItems = []) => {
|
|
31281
31333
|
return {
|
|
31282
|
-
id:
|
|
31334
|
+
id: 'MultiSelectList-' + typeId,
|
|
31283
31335
|
type: 'MultiSelectList',
|
|
31284
31336
|
fixed_list_items: fixedListItems || []
|
|
31285
31337
|
};
|
|
31286
31338
|
};
|
|
31287
|
-
const createACL = (role,
|
|
31339
|
+
const createACL = (role, create, read, update, _delete) => {
|
|
31288
31340
|
return ({
|
|
31289
31341
|
role: role || 'roleX',
|
|
31290
|
-
create
|
|
31291
|
-
read
|
|
31292
|
-
update
|
|
31293
|
-
delete:
|
|
31342
|
+
create,
|
|
31343
|
+
read,
|
|
31344
|
+
update,
|
|
31345
|
+
delete: _delete
|
|
31294
31346
|
});
|
|
31295
31347
|
};
|
|
31296
31348
|
|
|
@@ -31337,5 +31389,5 @@ class TestRouteSnapshotBuilder {
|
|
|
31337
31389
|
* Generated bundle index. Do not edit.
|
|
31338
31390
|
*/
|
|
31339
31391
|
|
|
31340
|
-
export { AbstractAppConfig, AbstractFieldReadComponent, AbstractFieldWriteComponent, 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, CallbackErrorsComponent, CallbackErrorsContext, CaseAccessUtils, CaseBasicAccessViewComponent, CaseChallengedAccessRequestComponent, CaseChallengedAccessSuccessComponent, CaseCreateComponent, CaseDetails, CaseEditComponent, CaseEditConfirmComponent, CaseEditDataModule, CaseEditDataService, CaseEditFormComponent, CaseEditPageComponent, CaseEditSubmitComponent, CaseEditWizardGuard, CaseEditorConfig, CaseEditorModule, CaseEvent, CaseEventData, CaseEventTrigger, CaseEventTriggerComponent, CaseField, CaseFieldService, CaseFileViewFieldComponent, CaseFileViewFolderComponent, CaseFileViewFolderDocumentActionsComponent, CaseFileViewFolderSelectorComponent, CaseFileViewFolderSortComponent, CaseFileViewOverlayMenuComponent, CaseFileViewService, CaseFlagFieldState, CaseFlagRefdataService, CaseFlagStatus, CaseFlagSummaryListComponent, CaseFlagSummaryListDisplayMode, CaseFlagTableComponent, CaseFlagText, 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, ConditionalShowFormDirective, ConditionalShowModule, ConditionalShowRegistrarService, 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, 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, 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, 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, MarkdownComponent, MoneyGbpInputComponent, 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, ReadCaseFlagFieldComponent, ReadCaseLinkFieldComponent, ReadCollectionFieldComponent, ReadComplexFieldCollectionTableComponent, ReadComplexFieldComponent, ReadComplexFieldRawComponent, ReadComplexFieldTableComponent, ReadDateFieldComponent, ReadDocumentFieldComponent, ReadDynamicListFieldComponent, ReadDynamicMultiSelectListFieldComponent, ReadDynamicRadioListFieldComponent, ReadEmailFieldComponent, ReadFieldsFilterPipe, ReadFixedListFieldComponent, ReadFixedRadioListFieldComponent, ReadJudicialUserFieldComponent, ReadLinkedCasesFieldComponent, ReadMoneyGbpFieldComponent, ReadMultiSelectListFieldComponent, ReadNumberFieldComponent, ReadOrderSummaryFieldComponent, ReadOrderSummaryRowComponent, ReadOrganisationFieldComponent, ReadOrganisationFieldRawComponent, ReadOrganisationFieldTableComponent, ReadPhoneUKFieldComponent, ReadTextAreaFieldComponent, ReadTextFieldComponent, ReadYesNoFieldComponent, RefdataCaseFlagType, RemoveDialogComponent, RequestOptionsBuilder, RouterHelperService, 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, UnLinkCasesComponent, UnsupportedFieldComponent, UpdateFlagComponent, UpdateFlagErrorMessage, UpdateFlagStep, 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, createACL, createCaseEventTrigger, createCaseField, createComplexFieldOverride, createFieldType, createFixedListFieldType, createHiddenComplexFieldOverride, createMultiSelectListFieldType, createWizardPage, createWizardPageField, editorRouting, initDialog, newCaseField, textFieldType, viewerRouting };
|
|
31392
|
+
export { AbstractAppConfig, AbstractFieldReadComponent, AbstractFieldWriteComponent, 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, CallbackErrorsComponent, CallbackErrorsContext, CaseAccessUtils, CaseBasicAccessViewComponent, CaseChallengedAccessRequestComponent, CaseChallengedAccessSuccessComponent, CaseCreateComponent, CaseDetails, CaseEditComponent, CaseEditConfirmComponent, CaseEditDataModule, CaseEditDataService, CaseEditFormComponent, CaseEditPageComponent, CaseEditSubmitComponent, CaseEditWizardGuard, CaseEditorConfig, CaseEditorModule, CaseEvent, CaseEventData, CaseEventTrigger, CaseEventTriggerComponent, CaseField, CaseFieldService, CaseFileViewFieldComponent, CaseFileViewFolderComponent, CaseFileViewFolderDocumentActionsComponent, CaseFileViewFolderSelectorComponent, CaseFileViewFolderSortComponent, CaseFileViewOverlayMenuComponent, CaseFileViewService, CaseFlagFieldState, CaseFlagRefdataService, CaseFlagStatus, CaseFlagSummaryListComponent, CaseFlagSummaryListDisplayMode, CaseFlagTableComponent, CaseFlagText, 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, ConditionalShowFormDirective, ConditionalShowModule, ConditionalShowRegistrarService, 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, 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, FocusElementDirective, FocusElementModule, FooterComponent, FormDocument, FormErrorService, FormValidatorsService, FormValueService, FormatTranslatorService, GreyBarService, HRef, HasLoadingState, HeaderBarComponent, HeadersModule, HttpError, HttpErrorService, HttpService, IsCompoundPipe, IsMandatoryPipe, IsReadOnlyAndNotCollectionPipe, IsReadOnlyPipe, JudicialworkerService, Jurisdiction, JurisdictionService, LabelFieldComponent, LabelSubstitutorDirective, LabelSubstitutorModule, 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, MarkdownComponent, MoneyGbpInputComponent, 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, ReadCaseFlagFieldComponent, ReadCaseLinkFieldComponent, ReadCollectionFieldComponent, ReadComplexFieldCollectionTableComponent, ReadComplexFieldComponent, ReadComplexFieldRawComponent, ReadComplexFieldTableComponent, ReadDateFieldComponent, ReadDocumentFieldComponent, ReadDynamicListFieldComponent, ReadDynamicMultiSelectListFieldComponent, ReadDynamicRadioListFieldComponent, ReadEmailFieldComponent, ReadFieldsFilterPipe, ReadFixedListFieldComponent, ReadFixedRadioListFieldComponent, ReadJudicialUserFieldComponent, ReadLinkedCasesFieldComponent, ReadMoneyGbpFieldComponent, ReadMultiSelectListFieldComponent, ReadNumberFieldComponent, ReadOrderSummaryFieldComponent, ReadOrderSummaryRowComponent, ReadOrganisationFieldComponent, ReadOrganisationFieldRawComponent, ReadOrganisationFieldTableComponent, ReadPhoneUKFieldComponent, ReadTextAreaFieldComponent, ReadTextFieldComponent, ReadYesNoFieldComponent, RefdataCaseFlagType, RemoveDialogComponent, RequestOptionsBuilder, RouterHelperService, 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, UnLinkCasesComponent, UnsupportedFieldComponent, UpdateFlagComponent, UpdateFlagErrorMessage, UpdateFlagStep, 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, createACL, createCaseEventTrigger, createCaseField, createComplexFieldOverride, createFieldType, createFixedListFieldType, createHiddenComplexFieldOverride, createMultiSelectListFieldType, createWizardPage, createWizardPageField, editorRouting, initDialog, newCaseField, textFieldType, viewerRouting };
|
|
31341
31393
|
//# sourceMappingURL=hmcts-ccd-case-ui-toolkit.js.map
|