@hmcts/ccd-case-ui-toolkit 7.0.39-case-consolidated-link → 7.0.39-task-event-completion-fix
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/esm2020/lib/shared/components/case-editor/case-edit/case-edit.component.mjs +34 -3
- package/esm2020/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-from-table.component.mjs +7 -39
- package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs +39 -45
- package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
- package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs +39 -40
- package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
- package/lib/shared/components/case-editor/case-edit/case-edit.component.d.ts +1 -0
- package/lib/shared/components/case-editor/case-edit/case-edit.component.d.ts.map +1 -1
- package/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-from-table.component.d.ts +0 -4
- package/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-from-table.component.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -9159,17 +9159,26 @@ class CaseEditComponent {
|
|
|
9159
9159
|
// We have to run the event completion checks if task in session storage
|
|
9160
9160
|
// and if the task is in session storage, then is it associated to the case
|
|
9161
9161
|
let taskInSessionStorage;
|
|
9162
|
+
let taskEventInSessionStorage;
|
|
9162
9163
|
const taskStr = this.sessionStorageService.getItem('taskToComplete');
|
|
9164
|
+
const taskEventStr = this.sessionStorageService.getItem('taskEvent');
|
|
9163
9165
|
if (taskStr) {
|
|
9164
9166
|
taskInSessionStorage = JSON.parse(taskStr);
|
|
9165
9167
|
}
|
|
9166
|
-
if (
|
|
9168
|
+
if (taskEventStr) {
|
|
9169
|
+
taskEventInSessionStorage = JSON.parse(taskEventStr);
|
|
9170
|
+
}
|
|
9171
|
+
const eventId = this.getEventId(form);
|
|
9172
|
+
const caseId = this.getCaseId(caseDetails);
|
|
9173
|
+
if (this.taskExistsForThisEventAndCase(taskInSessionStorage, taskEventInSessionStorage, eventId, caseId)) {
|
|
9167
9174
|
// Show event completion component to perform event completion checks
|
|
9168
9175
|
this.eventCompletionParams = ({
|
|
9169
9176
|
caseId: this.getCaseId(caseDetails),
|
|
9170
|
-
eventId
|
|
9177
|
+
eventId,
|
|
9171
9178
|
task: taskInSessionStorage
|
|
9172
9179
|
});
|
|
9180
|
+
const taskEvent = { eventId, taskId: taskInSessionStorage.id };
|
|
9181
|
+
this.sessionStorageService.setItem('taskEvent', JSON.stringify(taskEvent));
|
|
9173
9182
|
this.isEventCompletionChecksRequired = true;
|
|
9174
9183
|
}
|
|
9175
9184
|
else {
|
|
@@ -9334,6 +9343,9 @@ class CaseEditComponent {
|
|
|
9334
9343
|
return this.postCompleteTaskIfRequired();
|
|
9335
9344
|
}), finalize(() => {
|
|
9336
9345
|
this.loadingService.unregister(loadingSpinnerToken);
|
|
9346
|
+
// on event completion ensure the previous event taskToComplete/taskEvent removed
|
|
9347
|
+
this.sessionStorageService.removeItem('taskToComplete');
|
|
9348
|
+
this.sessionStorageService.removeItem('taskEvent');
|
|
9337
9349
|
}))
|
|
9338
9350
|
.subscribe(() => {
|
|
9339
9351
|
this.finishEventCompletionLogic(eventResponse);
|
|
@@ -9392,6 +9404,25 @@ class CaseEditComponent {
|
|
|
9392
9404
|
return null;
|
|
9393
9405
|
}
|
|
9394
9406
|
}
|
|
9407
|
+
// checks whether current taskToComplete relevant for the event
|
|
9408
|
+
taskExistsForThisEventAndCase(taskInSessionStorage, taskEvent, eventId, caseId) {
|
|
9409
|
+
if (!taskInSessionStorage || taskInSessionStorage.case_id !== caseId) {
|
|
9410
|
+
return false;
|
|
9411
|
+
}
|
|
9412
|
+
if (!taskEvent) {
|
|
9413
|
+
// if no task event present then there is no task to complete from previous event present
|
|
9414
|
+
return true;
|
|
9415
|
+
}
|
|
9416
|
+
else {
|
|
9417
|
+
if (taskEvent.taskId === taskInSessionStorage.id && taskEvent.eventId !== eventId) {
|
|
9418
|
+
// if the session storage not related to event, ignore it and remove
|
|
9419
|
+
this.sessionStorageService.removeItem('taskToComplete');
|
|
9420
|
+
this.sessionStorageService.removeItem('taskEvent');
|
|
9421
|
+
return false;
|
|
9422
|
+
}
|
|
9423
|
+
return true;
|
|
9424
|
+
}
|
|
9425
|
+
}
|
|
9395
9426
|
onEventCanBeCompleted({ eventTrigger, eventCanBeCompleted, caseDetails, form, submit }) {
|
|
9396
9427
|
if (eventCanBeCompleted) {
|
|
9397
9428
|
// Submit
|
|
@@ -17048,52 +17079,24 @@ function LinkedCasesFromTableComponent_a_0_Template(rf, ctx) {
|
|
|
17048
17079
|
i0.ɵɵtextInterpolate(ctx_r0.showHideLinkText);
|
|
17049
17080
|
}
|
|
17050
17081
|
}
|
|
17051
|
-
function LinkedCasesFromTableComponent_table_1_tbody_13_tr_1_td_18_span_1_a_4_Template(rf, ctx) {
|
|
17052
|
-
if (rf & 1) {
|
|
17053
|
-
i0.ɵɵelementStart(0, "a", 20);
|
|
17054
|
-
i0.ɵɵtext(1);
|
|
17055
|
-
i0.ɵɵelementEnd();
|
|
17056
|
-
}
|
|
17057
|
-
if (rf & 2) {
|
|
17058
|
-
const case_r7 = i0.ɵɵnextContext(3).$implicit;
|
|
17059
|
-
const ctx_r14 = i0.ɵɵnextContext(3);
|
|
17060
|
-
i0.ɵɵpropertyInterpolate1("href", "cases/case-details/", case_r7.caseReference, "", i0.ɵɵsanitizeUrl);
|
|
17061
|
-
i0.ɵɵadvance(1);
|
|
17062
|
-
i0.ɵɵtextInterpolate(ctx_r14.getCaseReferenceLink(case_r7.caseReference));
|
|
17063
|
-
}
|
|
17064
|
-
}
|
|
17065
|
-
function LinkedCasesFromTableComponent_table_1_tbody_13_tr_1_td_18_span_1_br_5_Template(rf, ctx) {
|
|
17066
|
-
if (rf & 1) {
|
|
17067
|
-
i0.ɵɵelement(0, "br");
|
|
17068
|
-
}
|
|
17069
|
-
}
|
|
17070
17082
|
function LinkedCasesFromTableComponent_table_1_tbody_13_tr_1_td_18_span_1_Template(rf, ctx) {
|
|
17071
17083
|
if (rf & 1) {
|
|
17072
17084
|
i0.ɵɵelementStart(0, "span");
|
|
17073
17085
|
i0.ɵɵtext(1);
|
|
17074
17086
|
i0.ɵɵpipe(2, "ccdLinkCasesFromReasonValue");
|
|
17075
|
-
i0.ɵɵ
|
|
17076
|
-
i0.ɵɵtemplate(4, LinkedCasesFromTableComponent_table_1_tbody_13_tr_1_td_18_span_1_a_4_Template, 2, 2, "a", 18);
|
|
17077
|
-
i0.ɵɵelementEnd();
|
|
17078
|
-
i0.ɵɵtemplate(5, LinkedCasesFromTableComponent_table_1_tbody_13_tr_1_td_18_span_1_br_5_Template, 1, 0, "br", 19);
|
|
17087
|
+
i0.ɵɵelement(3, "br");
|
|
17079
17088
|
i0.ɵɵelementEnd();
|
|
17080
17089
|
}
|
|
17081
17090
|
if (rf & 2) {
|
|
17082
17091
|
const reason_r11 = ctx.$implicit;
|
|
17083
|
-
const isLast_r13 = ctx.last;
|
|
17084
|
-
const ctx_r10 = i0.ɵɵnextContext(5);
|
|
17085
|
-
i0.ɵɵadvance(1);
|
|
17086
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 3, reason_r11), "");
|
|
17087
|
-
i0.ɵɵadvance(3);
|
|
17088
|
-
i0.ɵɵproperty("ngIf", ctx_r10.hasLeadCaseOrConsolidated(reason_r11.reasonCode));
|
|
17089
17092
|
i0.ɵɵadvance(1);
|
|
17090
|
-
i0.ɵɵ
|
|
17093
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, reason_r11), " ");
|
|
17091
17094
|
}
|
|
17092
17095
|
}
|
|
17093
17096
|
function LinkedCasesFromTableComponent_table_1_tbody_13_tr_1_td_18_Template(rf, ctx) {
|
|
17094
17097
|
if (rf & 1) {
|
|
17095
17098
|
i0.ɵɵelementStart(0, "td", 14);
|
|
17096
|
-
i0.ɵɵtemplate(1, LinkedCasesFromTableComponent_table_1_tbody_13_tr_1_td_18_span_1_Template,
|
|
17099
|
+
i0.ɵɵtemplate(1, LinkedCasesFromTableComponent_table_1_tbody_13_tr_1_td_18_span_1_Template, 4, 3, "span", 17);
|
|
17097
17100
|
i0.ɵɵelementEnd();
|
|
17098
17101
|
}
|
|
17099
17102
|
if (rf & 2) {
|
|
@@ -17146,7 +17149,7 @@ function LinkedCasesFromTableComponent_table_1_tbody_13_tr_1_Template(rf, ctx) {
|
|
|
17146
17149
|
}
|
|
17147
17150
|
function LinkedCasesFromTableComponent_table_1_tbody_13_tr_2_Template(rf, ctx) {
|
|
17148
17151
|
if (rf & 1) {
|
|
17149
|
-
i0.ɵɵelementStart(0, "tr", 5)(1, "td",
|
|
17152
|
+
i0.ɵɵelementStart(0, "tr", 5)(1, "td", 18);
|
|
17150
17153
|
i0.ɵɵtext(2, " None ");
|
|
17151
17154
|
i0.ɵɵelementEnd()();
|
|
17152
17155
|
}
|
|
@@ -17243,13 +17246,6 @@ class LinkedCasesFromTableComponent {
|
|
|
17243
17246
|
mapLookupIDToValueFromJurisdictions(fieldName, fieldValue) {
|
|
17244
17247
|
return this.linkedCasesService.mapLookupIDToValueFromJurisdictions(fieldName, fieldValue);
|
|
17245
17248
|
}
|
|
17246
|
-
getCaseReferenceLink(caseRef) {
|
|
17247
|
-
return caseRef.slice(this.caseId.length - 4);
|
|
17248
|
-
}
|
|
17249
|
-
hasLeadCaseOrConsolidated(reasonCode) {
|
|
17250
|
-
return reasonCode === LinkedCasesFromTableComponent.CASE_PROGRESS_REASON_CODE ||
|
|
17251
|
-
reasonCode === LinkedCasesFromTableComponent.CASE_CONSOLIDATED_REASON_CODE;
|
|
17252
|
-
}
|
|
17253
17249
|
onClick() {
|
|
17254
17250
|
this.showHideLinkText = this.showHideLinkText === 'Show'
|
|
17255
17251
|
? 'Hide'
|
|
@@ -17257,10 +17253,8 @@ class LinkedCasesFromTableComponent {
|
|
|
17257
17253
|
}
|
|
17258
17254
|
}
|
|
17259
17255
|
LinkedCasesFromTableComponent.CASE_NAME_MISSING_TEXT = 'Case name missing';
|
|
17260
|
-
LinkedCasesFromTableComponent.CASE_CONSOLIDATED_REASON_CODE = 'CLRC015';
|
|
17261
|
-
LinkedCasesFromTableComponent.CASE_PROGRESS_REASON_CODE = 'CLRC016';
|
|
17262
17256
|
LinkedCasesFromTableComponent.ɵfac = function LinkedCasesFromTableComponent_Factory(t) { return new (t || LinkedCasesFromTableComponent)(i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(CasesService), i0.ɵɵdirectiveInject(LinkedCasesService)); };
|
|
17263
|
-
LinkedCasesFromTableComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LinkedCasesFromTableComponent, selectors: [["ccd-linked-cases-from-table"]], inputs: { caseField: "caseField" }, outputs: { notifyAPIFailure: "notifyAPIFailure" }, decls: 2, vars: 2, consts: [["id", "show-hide-link", "class", "govuk-link", "href", "javascript:void(0)", 3, "click", 4, "ngIf"], ["aria-describedby", "table to display cases linked from", 4, "ngIf"], ["id", "show-hide-link", "href", "javascript:void(0)", 1, "govuk-link", 3, "click"], ["aria-describedby", "table to display cases linked from"], [1, "govuk-table__head"], [1, "govuk-table__row"], ["scope", "col", "width", "20%", 1, "govuk-table__header", "case-table-column"], ["class", "govuk-table__body", 4, "ngIf"], [1, "govuk-table__body"], ["class", "govuk-table__row", 4, "ngFor", "ngForOf"], ["class", "govuk-table__row", 4, "ngIf"], [1, "govuk-table__header", "case-table-column", "width-20"], [1, "govuk-body"], ["target", "_blank", "rel", "noopener", 1, "govuk-link", 3, "href"], [1, "case-table-column"], [3, "title"], ["class", "case-table-column", 4, "ngFor", "ngForOf"], [4, "ngFor", "ngForOf"], ["
|
|
17257
|
+
LinkedCasesFromTableComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LinkedCasesFromTableComponent, selectors: [["ccd-linked-cases-from-table"]], inputs: { caseField: "caseField" }, outputs: { notifyAPIFailure: "notifyAPIFailure" }, decls: 2, vars: 2, consts: [["id", "show-hide-link", "class", "govuk-link", "href", "javascript:void(0)", 3, "click", 4, "ngIf"], ["aria-describedby", "table to display cases linked from", 4, "ngIf"], ["id", "show-hide-link", "href", "javascript:void(0)", 1, "govuk-link", 3, "click"], ["aria-describedby", "table to display cases linked from"], [1, "govuk-table__head"], [1, "govuk-table__row"], ["scope", "col", "width", "20%", 1, "govuk-table__header", "case-table-column"], ["class", "govuk-table__body", 4, "ngIf"], [1, "govuk-table__body"], ["class", "govuk-table__row", 4, "ngFor", "ngForOf"], ["class", "govuk-table__row", 4, "ngIf"], [1, "govuk-table__header", "case-table-column", "width-20"], [1, "govuk-body"], ["target", "_blank", "rel", "noopener", 1, "govuk-link", 3, "href"], [1, "case-table-column"], [3, "title"], ["class", "case-table-column", 4, "ngFor", "ngForOf"], [4, "ngFor", "ngForOf"], ["colspan", "5", 1, "govuk-table__cell"]], template: function LinkedCasesFromTableComponent_Template(rf, ctx) {
|
|
17264
17258
|
if (rf & 1) {
|
|
17265
17259
|
i0.ɵɵtemplate(0, LinkedCasesFromTableComponent_a_0_Template, 2, 1, "a", 0);
|
|
17266
17260
|
i0.ɵɵtemplate(1, LinkedCasesFromTableComponent_table_1_Template, 14, 1, "table", 1);
|
|
@@ -17274,7 +17268,7 @@ LinkedCasesFromTableComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ typ
|
|
|
17274
17268
|
(function () {
|
|
17275
17269
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LinkedCasesFromTableComponent, [{
|
|
17276
17270
|
type: Component,
|
|
17277
|
-
args: [{ selector: 'ccd-linked-cases-from-table', template: "<a *ngIf=\"!noLinkedCases && !isServerError\" id=\"show-hide-link\" class=\"govuk-link\" href=\"javascript:void(0)\"\n (click)=\"onClick()\">{{showHideLinkText}}</a>\n<table *ngIf=\"(getLinkedCasesResponse && showHideLinkText === 'Hide') || noLinkedCases\"\n aria-describedby=\"table to display cases linked from\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <th scope=\"col\" class=\"govuk-table__header case-table-column\" width=\"20%\">Case name and number</th>\n <th scope=\"col\" class=\"govuk-table__header case-table-column\" width=\"20%\">Case type </th>\n <th scope=\"col\" class=\"govuk-table__header case-table-column\" width=\"20%\">Service</th>\n <th scope=\"col\" class=\"govuk-table__header case-table-column\" width=\"20%\">State</th>\n <th scope=\"col\" class=\"govuk-table__header case-table-column\" width=\"20%\">Reasons for case link</th>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" *ngIf=\"getLinkedCasesResponse && (!isServerError && !isServerReasonCodeError)\">\n <tr class=\"govuk-table__row\" *ngFor=\"let case of getLinkedCasesResponse\">\n <td class=\"govuk-table__header case-table-column width-20\">\n <p class=\"govuk-body\"><a target=\"_blank\" class=\"govuk-link\" href=\"cases/case-details/{{case.caseReference}}\"\n rel=\"noopener\"><span>{{case.caseNameHmctsInternal}} <br>\n {{case.caseReference | ccdCaseReference}}</span></a></p>\n </td>\n <td class=\"case-table-column\"><span [title]=\"case.ccdCaseTypeDescription\">{{case.ccdCaseType}}</span></td>\n <td class=\"case-table-column\"><span>{{case.ccdJurisdiction}}</span></td>\n <td class=\"case-table-column\"><span [title]=\"case.stateDescription\">{{case.state}}</span></td>\n <td class=\"case-table-column\" *ngFor=\"let details of case.linkDetails\">\n <span *ngFor=\"let reason of details.reasons; let i = index; let isLast = last\">\n {{reason | ccdLinkCasesFromReasonValue}}
|
|
17271
|
+
args: [{ selector: 'ccd-linked-cases-from-table', template: "<a *ngIf=\"!noLinkedCases && !isServerError\" id=\"show-hide-link\" class=\"govuk-link\" href=\"javascript:void(0)\"\n (click)=\"onClick()\">{{showHideLinkText}}</a>\n<table *ngIf=\"(getLinkedCasesResponse && showHideLinkText === 'Hide') || noLinkedCases\"\n aria-describedby=\"table to display cases linked from\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <th scope=\"col\" class=\"govuk-table__header case-table-column\" width=\"20%\">Case name and number</th>\n <th scope=\"col\" class=\"govuk-table__header case-table-column\" width=\"20%\">Case type </th>\n <th scope=\"col\" class=\"govuk-table__header case-table-column\" width=\"20%\">Service</th>\n <th scope=\"col\" class=\"govuk-table__header case-table-column\" width=\"20%\">State</th>\n <th scope=\"col\" class=\"govuk-table__header case-table-column\" width=\"20%\">Reasons for case link</th>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\" *ngIf=\"getLinkedCasesResponse && (!isServerError && !isServerReasonCodeError)\">\n <tr class=\"govuk-table__row\" *ngFor=\"let case of getLinkedCasesResponse\">\n <td class=\"govuk-table__header case-table-column width-20\">\n <p class=\"govuk-body\"><a target=\"_blank\" class=\"govuk-link\" href=\"cases/case-details/{{case.caseReference}}\"\n rel=\"noopener\"><span>{{case.caseNameHmctsInternal}} <br>\n {{case.caseReference | ccdCaseReference}}</span></a></p>\n </td>\n <td class=\"case-table-column\"><span [title]=\"case.ccdCaseTypeDescription\">{{case.ccdCaseType}}</span></td>\n <td class=\"case-table-column\"><span>{{case.ccdJurisdiction}}</span></td>\n <td class=\"case-table-column\"><span [title]=\"case.stateDescription\">{{case.state}}</span></td>\n <td class=\"case-table-column\" *ngFor=\"let details of case.linkDetails\">\n <span *ngFor=\"let reason of details.reasons; let i = index; let isLast = last\">\n {{reason | ccdLinkCasesFromReasonValue}} <br>\n </span>\n </td>\n </tr>\n <tr class=\"govuk-table__row\" *ngIf=\"noLinkedCases\">\n <td class=\"govuk-table__cell\" colspan=\"5\">\n None\n </td>\n </tr>\n </tbody> \n</table>\n", styles: [".case-table-column{min-width:20%;max-width:20%}.heading-h2{margin-bottom:0}\n"] }]
|
|
17278
17272
|
}], function () { return [{ type: i1$1.ActivatedRoute }, { type: CasesService }, { type: LinkedCasesService }]; }, { caseField: [{
|
|
17279
17273
|
type: Input
|
|
17280
17274
|
}], notifyAPIFailure: [{
|