@hmcts/ccd-case-ui-toolkit 7.1.30 → 7.1.31-event-spinner
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/esm2022/lib/shared/components/case-editor/services/cases.service.mjs +1 -1
- package/esm2022/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.mjs +10 -5
- package/esm2022/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.mjs +10 -6
- package/esm2022/lib/shared/components/case-viewer/services/event-trigger.resolver.mjs +9 -5
- package/esm2022/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.mjs +17 -17
- package/esm2022/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.mjs +10 -10
- package/esm2022/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.mjs +30 -13
- package/esm2022/lib/shared/services/http/http-error.service.mjs +11 -4
- package/esm2022/lib/shared/services/loading/loading.service.mjs +13 -1
- package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs +143 -98
- package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
- package/lib/shared/components/case-editor/services/cases.service.d.ts.map +1 -1
- package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts +3 -2
- package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts.map +1 -1
- package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts +3 -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/services/event-trigger.resolver.d.ts +3 -1
- package/lib/shared/components/case-viewer/services/event-trigger.resolver.d.ts.map +1 -1
- package/lib/shared/components/palette/linked-cases/components/unlink-cases/unlink-cases.component.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/services/http/http-error.service.d.ts +3 -1
- package/lib/shared/services/http/http-error.service.d.ts.map +1 -1
- package/lib/shared/services/loading/loading.service.d.ts +4 -0
- package/lib/shared/services/loading/loading.service.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -8,10 +8,10 @@ import * as i1$1 from '@angular/router';
|
|
|
8
8
|
import { RouterModule, NavigationStart, NavigationEnd } from '@angular/router';
|
|
9
9
|
import * as i4 from '@angular/forms';
|
|
10
10
|
import { NG_VALUE_ACCESSOR, NG_VALIDATORS, FormArray, FormGroup, FormControl, Validators, ReactiveFormsModule, FormsModule } from '@angular/forms';
|
|
11
|
-
import { throwError, Subject, EMPTY, Observable,
|
|
11
|
+
import { BehaviorSubject, throwError, Subject, EMPTY, Observable, of, timer, fromEvent, forkJoin, Subscription, combineLatest } from 'rxjs';
|
|
12
12
|
import * as i1$2 from '@angular/common/http';
|
|
13
13
|
import { HttpErrorResponse, HttpHeaders, HttpParams } from '@angular/common/http';
|
|
14
|
-
import { catchError, map, publish, refCount, switchMap, debounceTime, delay,
|
|
14
|
+
import { distinctUntilChanged, catchError, map, publish, refCount, switchMap, debounceTime, delay, finalize, timeout, mergeMap, retryWhen, tap, delayWhen, publishReplay, take, first, takeUntil, filter } from 'rxjs/operators';
|
|
15
15
|
import { polling } from 'rx-polling-hmcts';
|
|
16
16
|
import { Type, Expose, plainToClassFromExist, plainToClass } from 'class-transformer';
|
|
17
17
|
import moment from 'moment';
|
|
@@ -1400,10 +1400,70 @@ class AuthService {
|
|
|
1400
1400
|
args: [DOCUMENT]
|
|
1401
1401
|
}] }], null); })();
|
|
1402
1402
|
|
|
1403
|
+
class LoadingService {
|
|
1404
|
+
registered = new Map();
|
|
1405
|
+
loading = new BehaviorSubject(false);
|
|
1406
|
+
sharedSpinners = [];
|
|
1407
|
+
get isLoading() {
|
|
1408
|
+
return this.loading.pipe(distinctUntilChanged());
|
|
1409
|
+
}
|
|
1410
|
+
register() {
|
|
1411
|
+
const token = this.generateToken();
|
|
1412
|
+
this.registered.set(token, token);
|
|
1413
|
+
this.loading.next(true);
|
|
1414
|
+
return token;
|
|
1415
|
+
}
|
|
1416
|
+
unregister(token) {
|
|
1417
|
+
this.registered.delete(token);
|
|
1418
|
+
this.loading.next(this.registered.size > 0);
|
|
1419
|
+
}
|
|
1420
|
+
addSharedSpinner(spinnerId) {
|
|
1421
|
+
this.sharedSpinners.push(spinnerId);
|
|
1422
|
+
}
|
|
1423
|
+
hasSharedSpinner() {
|
|
1424
|
+
return this.sharedSpinners.length > 0;
|
|
1425
|
+
}
|
|
1426
|
+
unregisterSharedSpinner() {
|
|
1427
|
+
this.registered.delete(this.sharedSpinners[0]);
|
|
1428
|
+
this.sharedSpinners.shift();
|
|
1429
|
+
this.loading.next(this.registered.size > 0);
|
|
1430
|
+
}
|
|
1431
|
+
generateToken() {
|
|
1432
|
+
const timestamp = window.performance.now();
|
|
1433
|
+
return `toolkit-loading-${timestamp}`; // format: [source-library]-[unique incrementing number]
|
|
1434
|
+
}
|
|
1435
|
+
static ɵfac = function LoadingService_Factory(t) { return new (t || LoadingService)(); };
|
|
1436
|
+
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: LoadingService, factory: LoadingService.ɵfac });
|
|
1437
|
+
}
|
|
1438
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LoadingService, [{
|
|
1439
|
+
type: Injectable
|
|
1440
|
+
}], null, null); })();
|
|
1441
|
+
|
|
1442
|
+
class LoadingModule {
|
|
1443
|
+
static ɵfac = function LoadingModule_Factory(t) { return new (t || LoadingModule)(); };
|
|
1444
|
+
static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: LoadingModule });
|
|
1445
|
+
static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [
|
|
1446
|
+
LoadingService
|
|
1447
|
+
] });
|
|
1448
|
+
}
|
|
1449
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LoadingModule, [{
|
|
1450
|
+
type: NgModule,
|
|
1451
|
+
args: [{
|
|
1452
|
+
imports: [],
|
|
1453
|
+
declarations: [],
|
|
1454
|
+
exports: [],
|
|
1455
|
+
providers: [
|
|
1456
|
+
LoadingService
|
|
1457
|
+
]
|
|
1458
|
+
}]
|
|
1459
|
+
}], null, null); })();
|
|
1460
|
+
|
|
1403
1461
|
class HttpErrorService {
|
|
1404
1462
|
authService;
|
|
1405
|
-
|
|
1463
|
+
loadingService;
|
|
1464
|
+
constructor(authService, loadingService) {
|
|
1406
1465
|
this.authService = authService;
|
|
1466
|
+
this.loadingService = loadingService;
|
|
1407
1467
|
}
|
|
1408
1468
|
static CONTENT_TYPE = 'Content-Type';
|
|
1409
1469
|
static JSON = 'json';
|
|
@@ -1447,18 +1507,21 @@ class HttpErrorService {
|
|
|
1447
1507
|
handle(error, redirectIfNotAuthorised = true) {
|
|
1448
1508
|
console.error('Handling error in http error service.');
|
|
1449
1509
|
console.error(error);
|
|
1510
|
+
if (this.loadingService.hasSharedSpinner()) {
|
|
1511
|
+
this.loadingService.unregisterSharedSpinner();
|
|
1512
|
+
}
|
|
1450
1513
|
const httpError = HttpErrorService.convertToHttpError(error);
|
|
1451
1514
|
if (redirectIfNotAuthorised && httpError.status === 401) {
|
|
1452
1515
|
this.authService.signIn();
|
|
1453
1516
|
}
|
|
1454
1517
|
return throwError(httpError);
|
|
1455
1518
|
}
|
|
1456
|
-
static ɵfac = function HttpErrorService_Factory(t) { return new (t || HttpErrorService)(i0.ɵɵinject(AuthService)); };
|
|
1519
|
+
static ɵfac = function HttpErrorService_Factory(t) { return new (t || HttpErrorService)(i0.ɵɵinject(AuthService), i0.ɵɵinject(LoadingService)); };
|
|
1457
1520
|
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: HttpErrorService, factory: HttpErrorService.ɵfac });
|
|
1458
1521
|
}
|
|
1459
1522
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(HttpErrorService, [{
|
|
1460
1523
|
type: Injectable
|
|
1461
|
-
}], () => [{ type: AuthService }], null); })();
|
|
1524
|
+
}], () => [{ type: AuthService }, { type: LoadingService }], null); })();
|
|
1462
1525
|
|
|
1463
1526
|
class HttpService {
|
|
1464
1527
|
httpclient;
|
|
@@ -7319,33 +7382,6 @@ class RequestOptionsBuilder {
|
|
|
7319
7382
|
type: Injectable
|
|
7320
7383
|
}], null, null); })();
|
|
7321
7384
|
|
|
7322
|
-
class LoadingService {
|
|
7323
|
-
registered = new Map();
|
|
7324
|
-
loading = new BehaviorSubject(false);
|
|
7325
|
-
get isLoading() {
|
|
7326
|
-
return this.loading.pipe(distinctUntilChanged());
|
|
7327
|
-
}
|
|
7328
|
-
register() {
|
|
7329
|
-
const token = this.generateToken();
|
|
7330
|
-
this.registered.set(token, token);
|
|
7331
|
-
this.loading.next(true);
|
|
7332
|
-
return token;
|
|
7333
|
-
}
|
|
7334
|
-
unregister(token) {
|
|
7335
|
-
this.registered.delete(token);
|
|
7336
|
-
this.loading.next(this.registered.size > 0);
|
|
7337
|
-
}
|
|
7338
|
-
generateToken() {
|
|
7339
|
-
const timestamp = window.performance.now();
|
|
7340
|
-
return `toolkit-loading-${timestamp}`; // format: [source-library]-[unique incrementing number]
|
|
7341
|
-
}
|
|
7342
|
-
static ɵfac = function LoadingService_Factory(t) { return new (t || LoadingService)(); };
|
|
7343
|
-
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: LoadingService, factory: LoadingService.ɵfac });
|
|
7344
|
-
}
|
|
7345
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LoadingService, [{
|
|
7346
|
-
type: Injectable
|
|
7347
|
-
}], null, null); })();
|
|
7348
|
-
|
|
7349
7385
|
class SearchService {
|
|
7350
7386
|
appConfig;
|
|
7351
7387
|
httpService;
|
|
@@ -7798,25 +7834,6 @@ class BrowserService {
|
|
|
7798
7834
|
type: Injectable
|
|
7799
7835
|
}], null, null); })();
|
|
7800
7836
|
|
|
7801
|
-
class LoadingModule {
|
|
7802
|
-
static ɵfac = function LoadingModule_Factory(t) { return new (t || LoadingModule)(); };
|
|
7803
|
-
static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: LoadingModule });
|
|
7804
|
-
static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [
|
|
7805
|
-
LoadingService
|
|
7806
|
-
] });
|
|
7807
|
-
}
|
|
7808
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LoadingModule, [{
|
|
7809
|
-
type: NgModule,
|
|
7810
|
-
args: [{
|
|
7811
|
-
imports: [],
|
|
7812
|
-
declarations: [],
|
|
7813
|
-
exports: [],
|
|
7814
|
-
providers: [
|
|
7815
|
-
LoadingService
|
|
7816
|
-
]
|
|
7817
|
-
}]
|
|
7818
|
-
}], null, null); })();
|
|
7819
|
-
|
|
7820
7837
|
class CaseAccessUtils {
|
|
7821
7838
|
// User role mapping
|
|
7822
7839
|
static JUDGE_ROLE = 'judge';
|
|
@@ -16679,8 +16696,8 @@ class LinkCasesComponent {
|
|
|
16679
16696
|
})), this.validatorsUtils.formArraySelectedValidator());
|
|
16680
16697
|
}
|
|
16681
16698
|
toggleLinkCaseReasonOtherComments(event) {
|
|
16682
|
-
this.linkCaseReasons.find(reason => reason.value_en === event.target.value).selected = event.target.checked;
|
|
16683
|
-
this.showComments = this.linkCaseReasons.find(reason => reason.value_en === 'Other')
|
|
16699
|
+
this.linkCaseReasons.find((reason) => reason.value_en === event.target.value).selected = event.target.checked;
|
|
16700
|
+
this.showComments = this.linkCaseReasons.find((reason) => reason.value_en === 'Other')?.selected;
|
|
16684
16701
|
}
|
|
16685
16702
|
submitCaseInfo() {
|
|
16686
16703
|
this.errorMessages = [];
|
|
@@ -16719,7 +16736,7 @@ class LinkCasesComponent {
|
|
|
16719
16736
|
this.errorMessages.push({
|
|
16720
16737
|
title: 'dummy-case-number',
|
|
16721
16738
|
description: LinkedCasesErrorMessages.CaseNumberError,
|
|
16722
|
-
fieldId: 'caseNumber'
|
|
16739
|
+
fieldId: 'caseNumber'
|
|
16723
16740
|
});
|
|
16724
16741
|
}
|
|
16725
16742
|
if (this.linkCaseForm.controls.reasonType.invalid) {
|
|
@@ -16727,17 +16744,17 @@ class LinkCasesComponent {
|
|
|
16727
16744
|
this.errorMessages.push({
|
|
16728
16745
|
title: 'dummy-case-reason',
|
|
16729
16746
|
description: LinkedCasesErrorMessages.ReasonSelectionError,
|
|
16730
|
-
fieldId: 'caseReason'
|
|
16747
|
+
fieldId: 'caseReason'
|
|
16731
16748
|
});
|
|
16732
16749
|
}
|
|
16733
16750
|
if (this.linkCaseForm.controls.reasonType.valid
|
|
16734
|
-
&& this.linkCaseReasons.find(reason => reason.value_en === 'Other').selected) {
|
|
16751
|
+
&& this.linkCaseReasons.find((reason) => reason.value_en === 'Other').selected) {
|
|
16735
16752
|
if (this.linkCaseForm.controls.otherDescription.value.trim().length === 0) {
|
|
16736
16753
|
this.caseReasonCommentsError = LinkedCasesErrorMessages.otherDescriptionError;
|
|
16737
16754
|
this.errorMessages.push({
|
|
16738
16755
|
title: 'dummy-case-reason-comments',
|
|
16739
16756
|
description: LinkedCasesErrorMessages.otherDescriptionError,
|
|
16740
|
-
fieldId: 'otherDescription'
|
|
16757
|
+
fieldId: 'otherDescription'
|
|
16741
16758
|
});
|
|
16742
16759
|
}
|
|
16743
16760
|
if (this.linkCaseForm.controls.otherDescription.value.trim().length > 100) {
|
|
@@ -16745,7 +16762,7 @@ class LinkCasesComponent {
|
|
|
16745
16762
|
this.errorMessages.push({
|
|
16746
16763
|
title: 'dummy-case-reason-comments',
|
|
16747
16764
|
description: LinkedCasesErrorMessages.otherDescriptionMaxLengthError,
|
|
16748
|
-
fieldId: 'otherDescription'
|
|
16765
|
+
fieldId: 'otherDescription'
|
|
16749
16766
|
});
|
|
16750
16767
|
}
|
|
16751
16768
|
}
|
|
@@ -16754,7 +16771,7 @@ class LinkCasesComponent {
|
|
|
16754
16771
|
this.errorMessages.push({
|
|
16755
16772
|
title: 'dummy-case-number',
|
|
16756
16773
|
description: LinkedCasesErrorMessages.CaseProposedError,
|
|
16757
|
-
fieldId: 'caseNumber'
|
|
16774
|
+
fieldId: 'caseNumber'
|
|
16758
16775
|
});
|
|
16759
16776
|
}
|
|
16760
16777
|
if (this.isCaseSelected(this.linkedCasesService.linkedCases)) {
|
|
@@ -16762,14 +16779,14 @@ class LinkCasesComponent {
|
|
|
16762
16779
|
this.errorMessages.push({
|
|
16763
16780
|
title: 'dummy-case-number',
|
|
16764
16781
|
description: LinkedCasesErrorMessages.CasesLinkedError,
|
|
16765
|
-
fieldId: 'caseNumber'
|
|
16782
|
+
fieldId: 'caseNumber'
|
|
16766
16783
|
});
|
|
16767
16784
|
}
|
|
16768
16785
|
if (this.linkCaseForm.value.caseNumber.split('-').join('') === this.linkedCasesService.caseId.split('-').join('')) {
|
|
16769
16786
|
this.errorMessages.push({
|
|
16770
16787
|
title: 'dummy-case-number',
|
|
16771
16788
|
description: LinkedCasesErrorMessages.ProposedCaseWithIn,
|
|
16772
|
-
fieldId: 'caseNumber'
|
|
16789
|
+
fieldId: 'caseNumber'
|
|
16773
16790
|
});
|
|
16774
16791
|
}
|
|
16775
16792
|
window.scrollTo(0, 0);
|
|
@@ -16790,7 +16807,7 @@ class LinkCasesComponent {
|
|
|
16790
16807
|
caseState: caseView.state.name || '',
|
|
16791
16808
|
caseStateDescription: caseView.state.description || '',
|
|
16792
16809
|
caseService: caseView.case_type && caseView.case_type.jurisdiction && caseView.case_type.jurisdiction.description || '',
|
|
16793
|
-
caseName: this.linkedCasesService.getCaseName(caseView)
|
|
16810
|
+
caseName: this.linkedCasesService.getCaseName(caseView)
|
|
16794
16811
|
};
|
|
16795
16812
|
const ccdApiCaseLinkData = {
|
|
16796
16813
|
CaseReference: caseView.case_id,
|
|
@@ -16803,7 +16820,7 @@ class LinkCasesComponent {
|
|
|
16803
16820
|
}
|
|
16804
16821
|
this.linkedCasesService.caseFieldValue.push({ id: caseView.case_id.toString(), value: ccdApiCaseLinkData });
|
|
16805
16822
|
this.selectedCases.push(caseLink);
|
|
16806
|
-
this.linkCaseReasons.forEach(reason => reason.selected = false);
|
|
16823
|
+
this.linkCaseReasons.forEach((reason) => reason.selected = false);
|
|
16807
16824
|
this.initForm();
|
|
16808
16825
|
this.emitLinkedCasesState(false);
|
|
16809
16826
|
}, (error) => {
|
|
@@ -16811,7 +16828,7 @@ class LinkCasesComponent {
|
|
|
16811
16828
|
this.errorMessages.push({
|
|
16812
16829
|
title: 'dummy-case-number',
|
|
16813
16830
|
description: LinkedCasesErrorMessages.CaseCheckAgainError,
|
|
16814
|
-
fieldId: 'caseNumber'
|
|
16831
|
+
fieldId: 'caseNumber'
|
|
16815
16832
|
});
|
|
16816
16833
|
this.emitLinkedCasesState(false);
|
|
16817
16834
|
window.scrollTo(0, 0);
|
|
@@ -16823,7 +16840,7 @@ class LinkCasesComponent {
|
|
|
16823
16840
|
this.linkedCasesStateEmitter.emit({
|
|
16824
16841
|
currentLinkedCasesPage: LinkedCasesPages.LINK_CASE,
|
|
16825
16842
|
errorMessages: this.errorMessages,
|
|
16826
|
-
navigateToNextPage: isNavigateToNextPage
|
|
16843
|
+
navigateToNextPage: isNavigateToNextPage
|
|
16827
16844
|
});
|
|
16828
16845
|
}
|
|
16829
16846
|
getSelectedCaseReasons() {
|
|
@@ -16858,7 +16875,7 @@ class LinkCasesComponent {
|
|
|
16858
16875
|
}
|
|
16859
16876
|
onSelectedLinkedCaseRemove(pos, selectedCaseReference) {
|
|
16860
16877
|
const caseFieldValue = this.linkedCasesService.caseFieldValue || [];
|
|
16861
|
-
const updatedItems = caseFieldValue.filter(item => item.value && item.value.CaseReference !== selectedCaseReference);
|
|
16878
|
+
const updatedItems = caseFieldValue.filter((item) => item.value && item.value.CaseReference !== selectedCaseReference);
|
|
16862
16879
|
if (updatedItems) {
|
|
16863
16880
|
this.linkedCasesService.caseFieldValue = updatedItems;
|
|
16864
16881
|
}
|
|
@@ -16879,7 +16896,7 @@ class LinkCasesComponent {
|
|
|
16879
16896
|
this.errorMessages.push({
|
|
16880
16897
|
title: 'dummy-case-selection',
|
|
16881
16898
|
description: LinkedCasesErrorMessages.CaseSelectionError,
|
|
16882
|
-
fieldId: 'caseReason'
|
|
16899
|
+
fieldId: 'caseReason'
|
|
16883
16900
|
});
|
|
16884
16901
|
navigateToNextPage = false;
|
|
16885
16902
|
}
|
|
@@ -17614,7 +17631,7 @@ class UnLinkCasesComponent {
|
|
|
17614
17631
|
}
|
|
17615
17632
|
else {
|
|
17616
17633
|
this.casesService.getCaseViewV2(this.caseId).subscribe((caseView) => {
|
|
17617
|
-
const linkedCasesTab = caseView.tabs.find(tab => tab.id === UnLinkCasesComponent.LINKED_CASES_TAB_ID);
|
|
17634
|
+
const linkedCasesTab = caseView.tabs.find((tab) => tab.id === UnLinkCasesComponent.LINKED_CASES_TAB_ID);
|
|
17618
17635
|
if (linkedCasesTab) {
|
|
17619
17636
|
const linkedCases = linkedCasesTab.fields[0].value;
|
|
17620
17637
|
this.linkedCases = linkedCases;
|
|
@@ -17626,22 +17643,22 @@ class UnLinkCasesComponent {
|
|
|
17626
17643
|
}
|
|
17627
17644
|
getAllLinkedCaseInformation() {
|
|
17628
17645
|
const searchCasesResponse = [];
|
|
17629
|
-
this.linkedCases.forEach(linkedCase => {
|
|
17646
|
+
this.linkedCases.forEach((linkedCase) => {
|
|
17630
17647
|
searchCasesResponse.push(this.casesService.getCaseViewV2(linkedCase.caseReference));
|
|
17631
17648
|
});
|
|
17632
17649
|
if (searchCasesResponse.length) {
|
|
17633
17650
|
this.searchCasesByCaseIds(searchCasesResponse).subscribe((searchCases) => {
|
|
17634
17651
|
searchCases.forEach((response) => {
|
|
17635
|
-
const linkedCaseFromList = this.linkedCases.find(linkedCase => linkedCase.caseReference === response.case_id);
|
|
17652
|
+
const linkedCaseFromList = this.linkedCases.find((linkedCase) => linkedCase.caseReference === response.case_id);
|
|
17636
17653
|
if (linkedCaseFromList) {
|
|
17637
17654
|
const caseName = this.linkedCasesService.getCaseName(response);
|
|
17638
|
-
this.linkedCases.find(linkedCase => linkedCase.caseReference === response.case_id).caseName = caseName;
|
|
17655
|
+
this.linkedCases.find((linkedCase) => linkedCase.caseReference === response.case_id).caseName = caseName;
|
|
17639
17656
|
}
|
|
17640
17657
|
});
|
|
17641
17658
|
this.initForm();
|
|
17642
17659
|
this.linkedCasesService.linkedCases = this.linkedCases;
|
|
17643
17660
|
this.isServerError = false;
|
|
17644
|
-
}, err => {
|
|
17661
|
+
}, (err) => {
|
|
17645
17662
|
this.isServerError = true;
|
|
17646
17663
|
this.notifyAPIFailure.emit(true);
|
|
17647
17664
|
});
|
|
@@ -17656,7 +17673,7 @@ class UnLinkCasesComponent {
|
|
|
17656
17673
|
});
|
|
17657
17674
|
}
|
|
17658
17675
|
get getLinkedCasesFormArray() {
|
|
17659
|
-
const formFieldArray = this.linkedCases.map(val => this.fb.group({
|
|
17676
|
+
const formFieldArray = this.linkedCases.map((val) => this.fb.group({
|
|
17660
17677
|
caseReference: val.caseReference,
|
|
17661
17678
|
reasons: val.reasons,
|
|
17662
17679
|
createdDateTime: val.createdDateTime,
|
|
@@ -17670,7 +17687,7 @@ class UnLinkCasesComponent {
|
|
|
17670
17687
|
}
|
|
17671
17688
|
onChange(caseSelected) {
|
|
17672
17689
|
this.resetErrorMessages();
|
|
17673
|
-
const selectedCase = this.linkedCases.find(linkedCase => linkedCase.caseReference === caseSelected.value);
|
|
17690
|
+
const selectedCase = this.linkedCases.find((linkedCase) => linkedCase.caseReference === caseSelected.value);
|
|
17674
17691
|
if (selectedCase) {
|
|
17675
17692
|
selectedCase.unlink = caseSelected.checked ? true : false;
|
|
17676
17693
|
}
|
|
@@ -17678,7 +17695,7 @@ class UnLinkCasesComponent {
|
|
|
17678
17695
|
onNext() {
|
|
17679
17696
|
this.resetErrorMessages();
|
|
17680
17697
|
let navigateToNextPage = true;
|
|
17681
|
-
const casesMarkedToUnlink = this.linkedCases.find(linkedCase => linkedCase.unlink && linkedCase.unlink === true);
|
|
17698
|
+
const casesMarkedToUnlink = this.linkedCases.find((linkedCase) => linkedCase.unlink && linkedCase.unlink === true);
|
|
17682
17699
|
if (!casesMarkedToUnlink) {
|
|
17683
17700
|
this.errorMessages.push({
|
|
17684
17701
|
title: 'case-selection',
|
|
@@ -17696,7 +17713,7 @@ class UnLinkCasesComponent {
|
|
|
17696
17713
|
this.linkedCasesStateEmitter.emit({
|
|
17697
17714
|
currentLinkedCasesPage: LinkedCasesPages.UNLINK_CASE,
|
|
17698
17715
|
errorMessages: this.errorMessages,
|
|
17699
|
-
navigateToNextPage: isNavigateToNextPage
|
|
17716
|
+
navigateToNextPage: isNavigateToNextPage
|
|
17700
17717
|
});
|
|
17701
17718
|
}
|
|
17702
17719
|
resetErrorMessages() {
|
|
@@ -18039,14 +18056,16 @@ class WriteLinkedCasesFieldComponent extends AbstractFieldWriteComponent {
|
|
|
18039
18056
|
// Get linked case reasons from ref data
|
|
18040
18057
|
this.linkedCasesService.editMode = false;
|
|
18041
18058
|
this.subscriptions.add(this.caseEditDataService.caseDetails$.subscribe({
|
|
18042
|
-
next: caseDetails => {
|
|
18059
|
+
next: (caseDetails) => {
|
|
18060
|
+
this.initialiseCaseDetails(caseDetails);
|
|
18061
|
+
}
|
|
18043
18062
|
}));
|
|
18044
18063
|
this.getOrgService();
|
|
18045
18064
|
this.subscriptions.add(this.caseEditDataService.caseEventTriggerName$.subscribe({
|
|
18046
|
-
next: name => this.linkedCasesService.isLinkedCasesEventTrigger = (name === LinkedCasesEventTriggers.LINK_CASES)
|
|
18065
|
+
next: (name) => this.linkedCasesService.isLinkedCasesEventTrigger = (name === LinkedCasesEventTriggers.LINK_CASES)
|
|
18047
18066
|
}));
|
|
18048
18067
|
this.subscriptions.add(this.caseEditDataService.caseEditForm$.subscribe({
|
|
18049
|
-
next: editForm => this.caseEditForm = editForm
|
|
18068
|
+
next: (editForm) => this.caseEditForm = editForm
|
|
18050
18069
|
}));
|
|
18051
18070
|
}
|
|
18052
18071
|
initialiseCaseDetails(caseDetails) {
|
|
@@ -18122,13 +18141,28 @@ class WriteLinkedCasesFieldComponent extends AbstractFieldWriteComponent {
|
|
|
18122
18141
|
}
|
|
18123
18142
|
}
|
|
18124
18143
|
submitLinkedCases() {
|
|
18144
|
+
let caseFieldValue = [...(this.linkedCasesService.caseFieldValue || [])];
|
|
18125
18145
|
if (!this.linkedCasesService.isLinkedCasesEventTrigger) {
|
|
18126
|
-
const
|
|
18127
|
-
|
|
18128
|
-
|
|
18146
|
+
const unlinkedCaseReferenceIds = this.linkedCasesService.linkedCases
|
|
18147
|
+
.filter((item) => item.unlink)
|
|
18148
|
+
.map((item) => item.caseReference);
|
|
18149
|
+
caseFieldValue = caseFieldValue.filter((item) => !unlinkedCaseReferenceIds.includes(item.id));
|
|
18150
|
+
}
|
|
18151
|
+
// Replace the caseLinks value in this.formGroup
|
|
18152
|
+
this.formGroup.patchValue({
|
|
18153
|
+
caseLinks: caseFieldValue
|
|
18154
|
+
});
|
|
18155
|
+
// Replace the caseLinks control in caseEditForm.controls.data
|
|
18156
|
+
const dataFormGroup = this.caseEditForm.controls.data;
|
|
18157
|
+
if (dataFormGroup) {
|
|
18158
|
+
// Remove the existing caseLinks control (if it exists)
|
|
18159
|
+
if (dataFormGroup.contains('caseLinks')) {
|
|
18160
|
+
dataFormGroup.removeControl('caseLinks');
|
|
18161
|
+
}
|
|
18162
|
+
// Add the new control with the replacement value
|
|
18163
|
+
dataFormGroup.addControl('caseLinks', new FormControl(caseFieldValue || []));
|
|
18129
18164
|
}
|
|
18130
|
-
|
|
18131
|
-
this.caseEditForm.controls['data'] = new FormGroup({ caseLinks: new FormControl(this.linkedCasesService.caseFieldValue || []) });
|
|
18165
|
+
// Set the updated form in the caseEditDataService
|
|
18132
18166
|
this.caseEditDataService.setCaseEditForm(this.caseEditForm);
|
|
18133
18167
|
}
|
|
18134
18168
|
isAtFinalPage() {
|
|
@@ -18145,11 +18179,11 @@ class WriteLinkedCasesFieldComponent extends AbstractFieldWriteComponent {
|
|
|
18145
18179
|
}
|
|
18146
18180
|
getLinkedCases() {
|
|
18147
18181
|
this.casesService.getCaseViewV2(this.linkedCasesService.caseId).subscribe((caseView) => {
|
|
18148
|
-
const caseViewFiltered = caseView.tabs.filter(tab => {
|
|
18182
|
+
const caseViewFiltered = caseView.tabs.filter((tab) => {
|
|
18149
18183
|
return tab.fields.some(({ field_type }) => field_type && field_type.collection_field_type && field_type.collection_field_type.id === 'CaseLink');
|
|
18150
18184
|
});
|
|
18151
18185
|
if (caseViewFiltered) {
|
|
18152
|
-
const caseLinkFieldValue = caseViewFiltered.map(filtered => filtered.fields?.length > 0 && filtered.fields.filter(field => field.id === 'caseLinks')[0].value);
|
|
18186
|
+
const caseLinkFieldValue = caseViewFiltered.map((filtered) => filtered.fields?.length > 0 && filtered.fields.filter((field) => field.id === 'caseLinks')[0].value);
|
|
18153
18187
|
this.linkedCasesService.caseFieldValue = caseLinkFieldValue.length ? caseLinkFieldValue[0] : [];
|
|
18154
18188
|
this.linkedCasesService.getAllLinkedCaseInformation();
|
|
18155
18189
|
}
|
|
@@ -18189,7 +18223,7 @@ class WriteLinkedCasesFieldComponent extends AbstractFieldWriteComponent {
|
|
|
18189
18223
|
type: Component,
|
|
18190
18224
|
args: [{ selector: 'ccd-write-linked-cases-field', template: "<div class=\"form-group govuk-!-margin-bottom-2\" [formGroup]=\"formGroup\">\n <div class=\"govuk-form-group\" [ngSwitch]=\"linkedCasesPage\">\n <ng-container *ngSwitchCase=\"linkedCasesPages.BEFORE_YOU_START\">\n <ccd-linked-cases-before-you-start\n (linkedCasesStateEmitter)=\"onLinkedCasesStateEmitted($event)\"></ccd-linked-cases-before-you-start>\n </ng-container>\n <ng-container *ngSwitchCase=\"linkedCasesPages.NO_LINKED_CASES\">\n <ccd-no-linked-cases\n (linkedCasesStateEmitter)=\"onLinkedCasesStateEmitted($event)\"></ccd-no-linked-cases>\n </ng-container>\n <ng-container *ngSwitchCase=\"linkedCasesPages.LINK_CASE\">\n <ccd-link-cases\n (linkedCasesStateEmitter)=\"onLinkedCasesStateEmitted($event)\"></ccd-link-cases>\n </ng-container>\n <ng-container *ngSwitchCase=\"linkedCasesPages.UNLINK_CASE\">\n <ccd-unlink-cases\n (linkedCasesStateEmitter)=\"onLinkedCasesStateEmitted($event)\"></ccd-unlink-cases>\n </ng-container>\n <ng-container *ngSwitchCase=\"linkedCasesPages.CHECK_YOUR_ANSWERS\">\n <ccd-linked-cases-check-your-answers\n (linkedCasesStateEmitter)=\"onLinkedCasesStateEmitted($event)\"></ccd-linked-cases-check-your-answers>\n </ng-container>\n </div>\n</div>\n" }]
|
|
18191
18225
|
}], () => [{ type: AbstractAppConfig }, { type: CommonDataService }, { type: CasesService }, { type: LinkedCasesService }, { type: CaseEditDataService }], null); })();
|
|
18192
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteLinkedCasesFieldComponent, { className: "WriteLinkedCasesFieldComponent", filePath: "lib/shared/components/palette/linked-cases/write-linked-cases-field.component.ts", lineNumber:
|
|
18226
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteLinkedCasesFieldComponent, { className: "WriteLinkedCasesFieldComponent", filePath: "lib/shared/components/palette/linked-cases/write-linked-cases-field.component.ts", lineNumber: 18 }); })();
|
|
18193
18227
|
|
|
18194
18228
|
function ReadMoneyGbpFieldComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
|
|
18195
18229
|
i0.ɵɵelementContainerStart(0);
|
|
@@ -32262,13 +32296,14 @@ class EventTriggerResolver {
|
|
|
32262
32296
|
router;
|
|
32263
32297
|
appConfig;
|
|
32264
32298
|
errorNotifier;
|
|
32299
|
+
loadingService;
|
|
32265
32300
|
static PARAM_CASE_ID = 'cid';
|
|
32266
32301
|
static PARAM_EVENT_ID = 'eid';
|
|
32267
32302
|
static IGNORE_WARNING = 'ignoreWarning';
|
|
32268
32303
|
static IGNORE_WARNING_VALUES = ['true', 'false'];
|
|
32269
32304
|
cachedEventTrigger;
|
|
32270
32305
|
cachedProfile;
|
|
32271
|
-
constructor(casesService, alertService, profileService, profileNotifier, router, appConfig, errorNotifier) {
|
|
32306
|
+
constructor(casesService, alertService, profileService, profileNotifier, router, appConfig, errorNotifier, loadingService) {
|
|
32272
32307
|
this.casesService = casesService;
|
|
32273
32308
|
this.alertService = alertService;
|
|
32274
32309
|
this.profileService = profileService;
|
|
@@ -32276,6 +32311,7 @@ class EventTriggerResolver {
|
|
|
32276
32311
|
this.router = router;
|
|
32277
32312
|
this.appConfig = appConfig;
|
|
32278
32313
|
this.errorNotifier = errorNotifier;
|
|
32314
|
+
this.loadingService = loadingService;
|
|
32279
32315
|
}
|
|
32280
32316
|
resolve(route) {
|
|
32281
32317
|
return this.isRootTriggerEventRoute(route) ? this.getAndCacheEventTrigger(route)
|
|
@@ -32306,7 +32342,7 @@ class EventTriggerResolver {
|
|
|
32306
32342
|
}
|
|
32307
32343
|
return this.casesService
|
|
32308
32344
|
.getEventTrigger(caseTypeId, eventTriggerId, cid, ignoreWarning)
|
|
32309
|
-
.pipe(map(eventTrigger => this.cachedEventTrigger = eventTrigger), catchError(error => {
|
|
32345
|
+
.pipe(map((eventTrigger) => this.cachedEventTrigger = eventTrigger), catchError((error) => {
|
|
32310
32346
|
error.details = { eventId: eventTriggerId, ...error.details };
|
|
32311
32347
|
this.alertService.setPreserveAlerts(true);
|
|
32312
32348
|
this.alertService.error(error.message);
|
|
@@ -32315,12 +32351,12 @@ class EventTriggerResolver {
|
|
|
32315
32351
|
return throwError(error);
|
|
32316
32352
|
})).toPromise();
|
|
32317
32353
|
}
|
|
32318
|
-
static ɵfac = function EventTriggerResolver_Factory(t) { return new (t || EventTriggerResolver)(i0.ɵɵinject(CasesService), i0.ɵɵinject(AlertService), i0.ɵɵinject(ProfileService), i0.ɵɵinject(ProfileNotifier), i0.ɵɵinject(i1$1.Router), i0.ɵɵinject(AbstractAppConfig), i0.ɵɵinject(ErrorNotifierService)); };
|
|
32354
|
+
static ɵfac = function EventTriggerResolver_Factory(t) { return new (t || EventTriggerResolver)(i0.ɵɵinject(CasesService), i0.ɵɵinject(AlertService), i0.ɵɵinject(ProfileService), i0.ɵɵinject(ProfileNotifier), i0.ɵɵinject(i1$1.Router), i0.ɵɵinject(AbstractAppConfig), i0.ɵɵinject(ErrorNotifierService), i0.ɵɵinject(LoadingService)); };
|
|
32319
32355
|
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: EventTriggerResolver, factory: EventTriggerResolver.ɵfac });
|
|
32320
32356
|
}
|
|
32321
32357
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EventTriggerResolver, [{
|
|
32322
32358
|
type: Injectable
|
|
32323
|
-
}], () => [{ type: CasesService }, { type: AlertService }, { type: ProfileService }, { type: ProfileNotifier }, { type: i1$1.Router }, { type: AbstractAppConfig }, { type: ErrorNotifierService }], null); })();
|
|
32359
|
+
}], () => [{ type: CasesService }, { type: AlertService }, { type: ProfileService }, { type: ProfileNotifier }, { type: i1$1.Router }, { type: AbstractAppConfig }, { type: ErrorNotifierService }, { type: LoadingService }], null); })();
|
|
32324
32360
|
|
|
32325
32361
|
function CaseEventTriggerComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
32326
32362
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
@@ -32346,6 +32382,7 @@ class CaseEventTriggerComponent {
|
|
|
32346
32382
|
caseReferencePipe;
|
|
32347
32383
|
activityPollingService;
|
|
32348
32384
|
sessionStorageService;
|
|
32385
|
+
loadingService;
|
|
32349
32386
|
static EVENT_COMPLETION_MESSAGE = `Case #%CASEREFERENCE% has been updated with event: %NAME%`;
|
|
32350
32387
|
static CALLBACK_FAILED_MESSAGE = ' but the callback service cannot be completed';
|
|
32351
32388
|
BANNER = DisplayMode.BANNER;
|
|
@@ -32354,7 +32391,7 @@ class CaseEventTriggerComponent {
|
|
|
32354
32391
|
activitySubscription;
|
|
32355
32392
|
caseSubscription;
|
|
32356
32393
|
parentUrl;
|
|
32357
|
-
constructor(ngZone, casesService, caseNotifier, router, alertService, route, caseReferencePipe, activityPollingService, sessionStorageService) {
|
|
32394
|
+
constructor(ngZone, casesService, caseNotifier, router, alertService, route, caseReferencePipe, activityPollingService, sessionStorageService, loadingService) {
|
|
32358
32395
|
this.ngZone = ngZone;
|
|
32359
32396
|
this.casesService = casesService;
|
|
32360
32397
|
this.caseNotifier = caseNotifier;
|
|
@@ -32364,8 +32401,12 @@ class CaseEventTriggerComponent {
|
|
|
32364
32401
|
this.caseReferencePipe = caseReferencePipe;
|
|
32365
32402
|
this.activityPollingService = activityPollingService;
|
|
32366
32403
|
this.sessionStorageService = sessionStorageService;
|
|
32404
|
+
this.loadingService = loadingService;
|
|
32367
32405
|
}
|
|
32368
32406
|
ngOnInit() {
|
|
32407
|
+
if (this.loadingService.hasSharedSpinner()) {
|
|
32408
|
+
this.loadingService.unregisterSharedSpinner();
|
|
32409
|
+
}
|
|
32369
32410
|
if (this.route.snapshot.data.case) {
|
|
32370
32411
|
this.caseDetails = this.route.snapshot.data.case;
|
|
32371
32412
|
}
|
|
@@ -32452,7 +32493,7 @@ class CaseEventTriggerComponent {
|
|
|
32452
32493
|
isDataLoaded() {
|
|
32453
32494
|
return !!(this.eventTrigger && this.caseDetails);
|
|
32454
32495
|
}
|
|
32455
|
-
static ɵfac = function CaseEventTriggerComponent_Factory(t) { return new (t || CaseEventTriggerComponent)(i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(CasesService), i0.ɵɵdirectiveInject(CaseNotifier), i0.ɵɵdirectiveInject(i1$1.Router), i0.ɵɵdirectiveInject(AlertService), i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(CaseReferencePipe), i0.ɵɵdirectiveInject(ActivityPollingService), i0.ɵɵdirectiveInject(SessionStorageService)); };
|
|
32496
|
+
static ɵfac = function CaseEventTriggerComponent_Factory(t) { return new (t || CaseEventTriggerComponent)(i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(CasesService), i0.ɵɵdirectiveInject(CaseNotifier), i0.ɵɵdirectiveInject(i1$1.Router), i0.ɵɵdirectiveInject(AlertService), i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(CaseReferencePipe), i0.ɵɵdirectiveInject(ActivityPollingService), i0.ɵɵdirectiveInject(SessionStorageService), i0.ɵɵdirectiveInject(LoadingService)); };
|
|
32456
32497
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseEventTriggerComponent, selectors: [["ccd-case-event-trigger"]], decls: 1, vars: 1, consts: [["class", "screen-990", 4, "ngIf"], [1, "screen-990"], [3, "caseId", "displayMode"], [3, "cancelled", "submitted", "caseDetails", "submit", "validate", "eventTrigger"]], template: function CaseEventTriggerComponent_Template(rf, ctx) { if (rf & 1) {
|
|
32457
32498
|
i0.ɵɵtemplate(0, CaseEventTriggerComponent_div_0_Template, 3, 6, "div", 0);
|
|
32458
32499
|
} if (rf & 2) {
|
|
@@ -32462,7 +32503,7 @@ class CaseEventTriggerComponent {
|
|
|
32462
32503
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseEventTriggerComponent, [{
|
|
32463
32504
|
type: Component,
|
|
32464
32505
|
args: [{ selector: 'ccd-case-event-trigger', template: "<div *ngIf=\"isDataLoaded()\" class=\"screen-990\">\n <ccd-activity [caseId]=\"caseDetails.case_id\" [displayMode]=\"BANNER\"></ccd-activity>\n <ccd-case-edit [caseDetails]=\"caseDetails\"\n [submit]=\"submit()\"\n [validate]=\"validate()\"\n [eventTrigger]=\"eventTrigger\"\n (cancelled)=\"cancel()\"\n (submitted)=\"submitted($event)\"></ccd-case-edit>\n</div>\n" }]
|
|
32465
|
-
}], () => [{ type: i0.NgZone }, { type: CasesService }, { type: CaseNotifier }, { type: i1$1.Router }, { type: AlertService }, { type: i1$1.ActivatedRoute }, { type: CaseReferencePipe }, { type: ActivityPollingService }, { type: SessionStorageService }], null); })();
|
|
32506
|
+
}], () => [{ type: i0.NgZone }, { type: CasesService }, { type: CaseNotifier }, { type: i1$1.Router }, { type: AlertService }, { type: i1$1.ActivatedRoute }, { type: CaseReferencePipe }, { type: ActivityPollingService }, { type: SessionStorageService }, { type: LoadingService }], null); })();
|
|
32466
32507
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseEventTriggerComponent, { className: "CaseEventTriggerComponent", filePath: "lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.ts", lineNumber: 14 }); })();
|
|
32467
32508
|
|
|
32468
32509
|
function CaseViewComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -33126,6 +33167,7 @@ class CaseFullAccessViewComponent {
|
|
|
33126
33167
|
crf;
|
|
33127
33168
|
sessionStorageService;
|
|
33128
33169
|
rpxTranslationPipe;
|
|
33170
|
+
loadingService;
|
|
33129
33171
|
static ORIGIN_QUERY_PARAM = 'origin';
|
|
33130
33172
|
static TRIGGER_TEXT_START = 'Go';
|
|
33131
33173
|
static TRIGGER_TEXT_CONTINUE = 'Ignore Warning and Go';
|
|
@@ -33162,7 +33204,7 @@ class CaseFullAccessViewComponent {
|
|
|
33162
33204
|
eventId;
|
|
33163
33205
|
callbackErrorsSubject;
|
|
33164
33206
|
tabGroup;
|
|
33165
|
-
constructor(ngZone, route, router, navigationNotifierService, orderService, activityPollingService, dialog, alertService, draftService, errorNotifierService, convertHrefToRouterService, location, crf, sessionStorageService, rpxTranslationPipe) {
|
|
33207
|
+
constructor(ngZone, route, router, navigationNotifierService, orderService, activityPollingService, dialog, alertService, draftService, errorNotifierService, convertHrefToRouterService, location, crf, sessionStorageService, rpxTranslationPipe, loadingService) {
|
|
33166
33208
|
this.ngZone = ngZone;
|
|
33167
33209
|
this.route = route;
|
|
33168
33210
|
this.router = router;
|
|
@@ -33178,6 +33220,7 @@ class CaseFullAccessViewComponent {
|
|
|
33178
33220
|
this.crf = crf;
|
|
33179
33221
|
this.sessionStorageService = sessionStorageService;
|
|
33180
33222
|
this.rpxTranslationPipe = rpxTranslationPipe;
|
|
33223
|
+
this.loadingService = loadingService;
|
|
33181
33224
|
}
|
|
33182
33225
|
ngOnInit() {
|
|
33183
33226
|
this.callbackErrorsSubject = this.errorNotifierService.errorSource.pipe(filter((x) => {
|
|
@@ -33259,6 +33302,8 @@ class CaseFullAccessViewComponent {
|
|
|
33259
33302
|
this.triggerText = CaseFullAccessViewComponent.TRIGGER_TEXT_START;
|
|
33260
33303
|
}
|
|
33261
33304
|
async applyTrigger(trigger) {
|
|
33305
|
+
const spinner = this.loadingService.register();
|
|
33306
|
+
this.loadingService.addSharedSpinner(spinner);
|
|
33262
33307
|
this.errorNotifierService.announceError(null);
|
|
33263
33308
|
const theQueryParams = {};
|
|
33264
33309
|
if (this.ignoreWarning) {
|
|
@@ -33509,7 +33554,7 @@ class CaseFullAccessViewComponent {
|
|
|
33509
33554
|
this.errorNotifierService.announceError(null);
|
|
33510
33555
|
this.alertService.clear();
|
|
33511
33556
|
}
|
|
33512
|
-
static ɵfac = function CaseFullAccessViewComponent_Factory(t) { return new (t || CaseFullAccessViewComponent)(i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(i1$1.Router), i0.ɵɵdirectiveInject(NavigationNotifierService), i0.ɵɵdirectiveInject(OrderService), i0.ɵɵdirectiveInject(ActivityPollingService), i0.ɵɵdirectiveInject(i1$3.MatLegacyDialog), i0.ɵɵdirectiveInject(AlertService), i0.ɵɵdirectiveInject(DraftService), i0.ɵɵdirectiveInject(ErrorNotifierService), i0.ɵɵdirectiveInject(ConvertHrefToRouterService), i0.ɵɵdirectiveInject(i5.Location), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(SessionStorageService), i0.ɵɵdirectiveInject(i1.RpxTranslatePipe)); };
|
|
33557
|
+
static ɵfac = function CaseFullAccessViewComponent_Factory(t) { return new (t || CaseFullAccessViewComponent)(i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(i1$1.Router), i0.ɵɵdirectiveInject(NavigationNotifierService), i0.ɵɵdirectiveInject(OrderService), i0.ɵɵdirectiveInject(ActivityPollingService), i0.ɵɵdirectiveInject(i1$3.MatLegacyDialog), i0.ɵɵdirectiveInject(AlertService), i0.ɵɵdirectiveInject(DraftService), i0.ɵɵdirectiveInject(ErrorNotifierService), i0.ɵɵdirectiveInject(ConvertHrefToRouterService), i0.ɵɵdirectiveInject(i5.Location), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(SessionStorageService), i0.ɵɵdirectiveInject(i1.RpxTranslatePipe), i0.ɵɵdirectiveInject(LoadingService)); };
|
|
33513
33558
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseFullAccessViewComponent, selectors: [["ccd-case-full-access-view"]], viewQuery: function CaseFullAccessViewComponent_Query(rf, ctx) { if (rf & 1) {
|
|
33514
33559
|
i0.ɵɵviewQuery(_c0$b, 5);
|
|
33515
33560
|
} if (rf & 2) {
|
|
@@ -33554,7 +33599,7 @@ class CaseFullAccessViewComponent {
|
|
|
33554
33599
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseFullAccessViewComponent, [{
|
|
33555
33600
|
type: Component,
|
|
33556
33601
|
args: [{ selector: 'ccd-case-full-access-view', template: "<!-- Generic error heading and error message to be displayed only if there are no specific callback errors or warnings, or no error details -->\n<div *ngIf=\"error && !(error.callbackErrors || error.callbackWarnings || error.details)\" class=\"error-summary\"\n role=\"group\" aria-labelledby=\"edit-case-event_error-summary-heading\" tabindex=\"-1\">\n <h1 class=\"heading-h1 error-summary-heading\" id=\"edit-case-event_error-summary-heading\">\n {{'Something went wrong' | rpxTranslate}}\n </h1>\n <div class=\"govuk-error-summary__body\" id=\"edit-case-event_error-summary-body\">\n <p>{{\"We're working to fix the problem. Try again shortly.\" | rpxTranslate}}</p>\n <p>\n <a href=\"get-help\" target=\"_blank\">\n {{\"Contact us\" | rpxTranslate}}</a> {{\"if you're still having problems.\" | rpxTranslate}}\n </p>\n </div>\n</div>\n<!-- Callback error heading and error message to be displayed if there are specific error details -->\n<div *ngIf=\"error && error.details\" class=\"error-summary\" role=\"group\"\n aria-labelledby=\"edit-case-event_error-summary-heading\" tabindex=\"-1\">\n <h2 class=\"heading-h2 error-summary-heading\" id=\"edit-case-event_error-summary-heading\">\n {{'The callback data failed validation' | rpxTranslate}}\n </h2>\n <p>{{error.message | rpxTranslate}}</p>\n <ul *ngIf=\"error.details?.field_errors\" class=\"error-summary-list\">\n <li *ngFor=\"let fieldError of error.details.field_errors\">\n {{fieldError.message | rpxTranslate}}\n </li>\n </ul>\n</div>\n<ccd-callback-errors\n [triggerTextContinue]=\"triggerTextStart\"\n [triggerTextIgnore]=\"triggerTextIgnoreWarnings\"\n [callbackErrorsSubject]=\"callbackErrorsSubject\"\n (callbackErrorsContext)=\"callbackErrorsNotify($event)\">\n</ccd-callback-errors>\n<ccd-activity [caseId]=\"caseDetails.case_id\" [displayMode]=\"BANNER\"></ccd-activity>\n<div class=\"grid-row\">\n <div class=\"column-one-half\">\n <ccd-case-header [caseDetails]=\"caseDetails\"></ccd-case-header>\n <div class=\"case-viewer-controls\" *ngIf=\"hasPrint && !isDraft() && isPrintEnabled()\">\n <a id=\"case-viewer-control-print\" routerLink=\"print\" class=\"button button-secondary\">{{'Print' | rpxTranslate}}</a>\n </div>\n </div>\n <div *ngIf=\"hasEventSelector\" class=\"column-one-half\">\n <ccd-event-trigger [isDisabled]=\"isTriggerButtonDisabled()\" [triggers]=\"caseDetails.triggers\"\n [triggerText]=\"triggerText\"\n [eventId]=\"eventId\"\n (onTriggerChange)=\"clearErrorsAndWarnings()\"\n (onTriggerSubmit)=\"applyTrigger($event)\"></ccd-event-trigger>\n </div>\n</div>\n<div class=\"grid-row\" *ngIf=\"activeCaseFlags && !caseFlagsExternalUser\">\n <div class=\"column-full\">\n <ccd-notification-banner [notificationBannerConfig]=\"notificationBannerConfig\" (linkClicked)=\"onLinkClicked($event)\">\n </ccd-notification-banner>\n </div>\n</div>\n<div class=\"grid-row\">\n <div class=\"column-full\">\n <ng-container *ngIf=\"hasTabsPresent()\">\n <mat-tab-group #tabGroup animationDuration=\"0ms\" (selectedIndexChange)=\"tabChanged($event)\" [disableRipple]=\"true\"\n [selectedIndex]=\"selectedTabIndex\">\n <mat-tab *ngFor=\"let tab of prependedTabs\" [id]=\"tab.id\" [label]=\"tab.label | rpxTranslate\">\n </mat-tab>\n <mat-tab *ngFor=\"let tab of sortedTabs; let curIdx=index\" [id]=\"tab.id\" [label]=\"tab.label | rpxTranslate\">\n <ng-template matTabContent>\n <table [class]=\"tab.id\" [attr.aria-label]=\"'case viewer table' | rpxTranslate\">\n <tbody>\n <ng-container *ngFor=\"let field of tab | ccdTabFields | ccdReadFieldsFilter:false :undefined :true : formGroup?.controls['data']\">\n <div ccdLabelSubstitutor [caseField]=\"field\" [contextFields]=\"caseFields\" [hidden]=\"field.hidden\">\n <ng-container [ngSwitch]=\"!(field | ccdIsCompound)\">\n <tr *ngSwitchCase=\"true\">\n <th id=\"case-viewer-field-label\" *ngIf=\"!isFieldToHaveNoLabel(field)\">\n <div class=\"case-viewer-label text-16\">\n {{field.label | rpxTranslate}}</div>\n </th>\n <td [id]=\"'case-viewer-field-read--' + field.id\" scope=\"col\">\n <span class=\"text-16\">\n <ccd-field-read [topLevelFormGroup]=\"formGroup?.controls['data']\"\n [caseField]=\"field\" [caseReference]=\"caseDetails.case_id\"\n [markdownUseHrefAsRouterLink]=\"markdownUseHrefAsRouterLink\">\n </ccd-field-read>\n </span>\n </td>\n </tr>\n <tr *ngSwitchCase=\"false\" class=\"compound-field\">\n <th [id]=\"'case-viewer-field-read--' + field.id\" scope=\"col\">\n <span class=\"text-16\">\n <ccd-field-read [topLevelFormGroup]=\"formGroup.controls['data']\"\n [caseField]=\"field\" [caseReference]=\"caseDetails.case_id\"\n [markdownUseHrefAsRouterLink]=\"markdownUseHrefAsRouterLink\">\n </ccd-field-read>\n </span>\n </th>\n </tr>\n </ng-container>\n </div>\n </ng-container>\n </tbody>\n </table>\n </ng-template>\n </mat-tab>\n <mat-tab *ngFor=\"let tab of appendedTabs\" [id]=\"tab.id\" [label]=\"tab.label | rpxTranslate\">\n </mat-tab>\n </mat-tab-group>\n <router-outlet *ngIf=\"(prependedTabs && prependedTabs.length) || (appendedTabs && appendedTabs.length)\"></router-outlet>\n </ng-container>\n </div>\n</div>\n", styles: ["th{width:1%;white-space:nowrap;vertical-align:top}.compound-field th{padding:0}.case-viewer-controls{margin-top:47px;margin-bottom:20px}ccd-case-header{float:left;margin-right:10px}ccd-event-trigger{float:right}.case-viewer-label{min-width:300px;white-space:normal}.markdown h3{margin-bottom:0}.hide-table-capion{position:absolute;visibility:hidden}\n"] }]
|
|
33557
|
-
}], () => [{ type: i0.NgZone }, { type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: NavigationNotifierService }, { type: OrderService }, { type: ActivityPollingService }, { type: i1$3.MatLegacyDialog }, { type: AlertService }, { type: DraftService }, { type: ErrorNotifierService }, { type: ConvertHrefToRouterService }, { type: i5.Location }, { type: i0.ChangeDetectorRef }, { type: SessionStorageService }, { type: i1.RpxTranslatePipe }], { hasPrint: [{
|
|
33602
|
+
}], () => [{ type: i0.NgZone }, { type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: NavigationNotifierService }, { type: OrderService }, { type: ActivityPollingService }, { type: i1$3.MatLegacyDialog }, { type: AlertService }, { type: DraftService }, { type: ErrorNotifierService }, { type: ConvertHrefToRouterService }, { type: i5.Location }, { type: i0.ChangeDetectorRef }, { type: SessionStorageService }, { type: i1.RpxTranslatePipe }, { type: LoadingService }], { hasPrint: [{
|
|
33558
33603
|
type: Input
|
|
33559
33604
|
}], hasEventSelector: [{
|
|
33560
33605
|
type: Input
|
|
@@ -33568,7 +33613,7 @@ class CaseFullAccessViewComponent {
|
|
|
33568
33613
|
type: ViewChild,
|
|
33569
33614
|
args: ['tabGroup', { static: false }]
|
|
33570
33615
|
}] }); })();
|
|
33571
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseFullAccessViewComponent, { className: "CaseFullAccessViewComponent", filePath: "lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.ts", lineNumber:
|
|
33616
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseFullAccessViewComponent, { className: "CaseFullAccessViewComponent", filePath: "lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.ts", lineNumber: 44 }); })();
|
|
33572
33617
|
|
|
33573
33618
|
class PrintUrlPipe {
|
|
33574
33619
|
appConfig;
|