@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
|
@@ -8854,17 +8854,26 @@ class CaseEditComponent {
|
|
|
8854
8854
|
// We have to run the event completion checks if task in session storage
|
|
8855
8855
|
// and if the task is in session storage, then is it associated to the case
|
|
8856
8856
|
let taskInSessionStorage;
|
|
8857
|
+
let taskEventInSessionStorage;
|
|
8857
8858
|
const taskStr = this.sessionStorageService.getItem('taskToComplete');
|
|
8859
|
+
const taskEventStr = this.sessionStorageService.getItem('taskEvent');
|
|
8858
8860
|
if (taskStr) {
|
|
8859
8861
|
taskInSessionStorage = JSON.parse(taskStr);
|
|
8860
8862
|
}
|
|
8861
|
-
if (
|
|
8863
|
+
if (taskEventStr) {
|
|
8864
|
+
taskEventInSessionStorage = JSON.parse(taskEventStr);
|
|
8865
|
+
}
|
|
8866
|
+
const eventId = this.getEventId(form);
|
|
8867
|
+
const caseId = this.getCaseId(caseDetails);
|
|
8868
|
+
if (this.taskExistsForThisEventAndCase(taskInSessionStorage, taskEventInSessionStorage, eventId, caseId)) {
|
|
8862
8869
|
// Show event completion component to perform event completion checks
|
|
8863
8870
|
this.eventCompletionParams = ({
|
|
8864
8871
|
caseId: this.getCaseId(caseDetails),
|
|
8865
|
-
eventId
|
|
8872
|
+
eventId,
|
|
8866
8873
|
task: taskInSessionStorage
|
|
8867
8874
|
});
|
|
8875
|
+
const taskEvent = { eventId, taskId: taskInSessionStorage.id };
|
|
8876
|
+
this.sessionStorageService.setItem('taskEvent', JSON.stringify(taskEvent));
|
|
8868
8877
|
this.isEventCompletionChecksRequired = true;
|
|
8869
8878
|
}
|
|
8870
8879
|
else {
|
|
@@ -9029,6 +9038,9 @@ class CaseEditComponent {
|
|
|
9029
9038
|
return this.postCompleteTaskIfRequired();
|
|
9030
9039
|
}), finalize(() => {
|
|
9031
9040
|
this.loadingService.unregister(loadingSpinnerToken);
|
|
9041
|
+
// on event completion ensure the previous event taskToComplete/taskEvent removed
|
|
9042
|
+
this.sessionStorageService.removeItem('taskToComplete');
|
|
9043
|
+
this.sessionStorageService.removeItem('taskEvent');
|
|
9032
9044
|
}))
|
|
9033
9045
|
.subscribe(() => {
|
|
9034
9046
|
this.finishEventCompletionLogic(eventResponse);
|
|
@@ -9087,6 +9099,25 @@ class CaseEditComponent {
|
|
|
9087
9099
|
return null;
|
|
9088
9100
|
}
|
|
9089
9101
|
}
|
|
9102
|
+
// checks whether current taskToComplete relevant for the event
|
|
9103
|
+
taskExistsForThisEventAndCase(taskInSessionStorage, taskEvent, eventId, caseId) {
|
|
9104
|
+
if (!taskInSessionStorage || taskInSessionStorage.case_id !== caseId) {
|
|
9105
|
+
return false;
|
|
9106
|
+
}
|
|
9107
|
+
if (!taskEvent) {
|
|
9108
|
+
// if no task event present then there is no task to complete from previous event present
|
|
9109
|
+
return true;
|
|
9110
|
+
}
|
|
9111
|
+
else {
|
|
9112
|
+
if (taskEvent.taskId === taskInSessionStorage.id && taskEvent.eventId !== eventId) {
|
|
9113
|
+
// if the session storage not related to event, ignore it and remove
|
|
9114
|
+
this.sessionStorageService.removeItem('taskToComplete');
|
|
9115
|
+
this.sessionStorageService.removeItem('taskEvent');
|
|
9116
|
+
return false;
|
|
9117
|
+
}
|
|
9118
|
+
return true;
|
|
9119
|
+
}
|
|
9120
|
+
}
|
|
9090
9121
|
onEventCanBeCompleted({ eventTrigger, eventCanBeCompleted, caseDetails, form, submit }) {
|
|
9091
9122
|
if (eventCanBeCompleted) {
|
|
9092
9123
|
// Submit
|
|
@@ -16008,43 +16039,20 @@ function LinkedCasesFromTableComponent_a_0_Template(rf, ctx) { if (rf & 1) {
|
|
|
16008
16039
|
i0.ɵɵadvance(1);
|
|
16009
16040
|
i0.ɵɵtextInterpolate(ctx_r0.showHideLinkText);
|
|
16010
16041
|
} }
|
|
16011
|
-
function LinkedCasesFromTableComponent_table_1_tbody_13_tr_1_td_18_span_1_a_4_Template(rf, ctx) { if (rf & 1) {
|
|
16012
|
-
i0.ɵɵelementStart(0, "a", 20);
|
|
16013
|
-
i0.ɵɵtext(1);
|
|
16014
|
-
i0.ɵɵelementEnd();
|
|
16015
|
-
} if (rf & 2) {
|
|
16016
|
-
const case_r7 = i0.ɵɵnextContext(3).$implicit;
|
|
16017
|
-
const ctx_r14 = i0.ɵɵnextContext(3);
|
|
16018
|
-
i0.ɵɵpropertyInterpolate1("href", "cases/case-details/", case_r7.caseReference, "", i0.ɵɵsanitizeUrl);
|
|
16019
|
-
i0.ɵɵadvance(1);
|
|
16020
|
-
i0.ɵɵtextInterpolate(ctx_r14.getCaseReferenceLink(case_r7.caseReference));
|
|
16021
|
-
} }
|
|
16022
|
-
function LinkedCasesFromTableComponent_table_1_tbody_13_tr_1_td_18_span_1_br_5_Template(rf, ctx) { if (rf & 1) {
|
|
16023
|
-
i0.ɵɵelement(0, "br");
|
|
16024
|
-
} }
|
|
16025
16042
|
function LinkedCasesFromTableComponent_table_1_tbody_13_tr_1_td_18_span_1_Template(rf, ctx) { if (rf & 1) {
|
|
16026
16043
|
i0.ɵɵelementStart(0, "span");
|
|
16027
16044
|
i0.ɵɵtext(1);
|
|
16028
16045
|
i0.ɵɵpipe(2, "ccdLinkCasesFromReasonValue");
|
|
16029
|
-
i0.ɵɵ
|
|
16030
|
-
i0.ɵɵtemplate(4, LinkedCasesFromTableComponent_table_1_tbody_13_tr_1_td_18_span_1_a_4_Template, 2, 2, "a", 18);
|
|
16031
|
-
i0.ɵɵelementEnd();
|
|
16032
|
-
i0.ɵɵtemplate(5, LinkedCasesFromTableComponent_table_1_tbody_13_tr_1_td_18_span_1_br_5_Template, 1, 0, "br", 19);
|
|
16046
|
+
i0.ɵɵelement(3, "br");
|
|
16033
16047
|
i0.ɵɵelementEnd();
|
|
16034
16048
|
} if (rf & 2) {
|
|
16035
16049
|
const reason_r11 = ctx.$implicit;
|
|
16036
|
-
const isLast_r13 = ctx.last;
|
|
16037
|
-
const ctx_r10 = i0.ɵɵnextContext(5);
|
|
16038
16050
|
i0.ɵɵadvance(1);
|
|
16039
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2,
|
|
16040
|
-
i0.ɵɵadvance(3);
|
|
16041
|
-
i0.ɵɵproperty("ngIf", ctx_r10.hasLeadCaseOrConsolidated(reason_r11.reasonCode));
|
|
16042
|
-
i0.ɵɵadvance(1);
|
|
16043
|
-
i0.ɵɵproperty("ngIf", !isLast_r13);
|
|
16051
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, reason_r11), " ");
|
|
16044
16052
|
} }
|
|
16045
16053
|
function LinkedCasesFromTableComponent_table_1_tbody_13_tr_1_td_18_Template(rf, ctx) { if (rf & 1) {
|
|
16046
16054
|
i0.ɵɵelementStart(0, "td", 14);
|
|
16047
|
-
i0.ɵɵtemplate(1, LinkedCasesFromTableComponent_table_1_tbody_13_tr_1_td_18_span_1_Template,
|
|
16055
|
+
i0.ɵɵtemplate(1, LinkedCasesFromTableComponent_table_1_tbody_13_tr_1_td_18_span_1_Template, 4, 3, "span", 17);
|
|
16048
16056
|
i0.ɵɵelementEnd();
|
|
16049
16057
|
} if (rf & 2) {
|
|
16050
16058
|
const details_r9 = ctx.$implicit;
|
|
@@ -16091,7 +16099,7 @@ function LinkedCasesFromTableComponent_table_1_tbody_13_tr_1_Template(rf, ctx) {
|
|
|
16091
16099
|
i0.ɵɵproperty("ngForOf", case_r7.linkDetails);
|
|
16092
16100
|
} }
|
|
16093
16101
|
function LinkedCasesFromTableComponent_table_1_tbody_13_tr_2_Template(rf, ctx) { if (rf & 1) {
|
|
16094
|
-
i0.ɵɵelementStart(0, "tr", 5)(1, "td",
|
|
16102
|
+
i0.ɵɵelementStart(0, "tr", 5)(1, "td", 18);
|
|
16095
16103
|
i0.ɵɵtext(2, " None ");
|
|
16096
16104
|
i0.ɵɵelementEnd()();
|
|
16097
16105
|
} }
|
|
@@ -16190,13 +16198,6 @@ class LinkedCasesFromTableComponent {
|
|
|
16190
16198
|
mapLookupIDToValueFromJurisdictions(fieldName, fieldValue) {
|
|
16191
16199
|
return this.linkedCasesService.mapLookupIDToValueFromJurisdictions(fieldName, fieldValue);
|
|
16192
16200
|
}
|
|
16193
|
-
getCaseReferenceLink(caseRef) {
|
|
16194
|
-
return caseRef.slice(this.caseId.length - 4);
|
|
16195
|
-
}
|
|
16196
|
-
hasLeadCaseOrConsolidated(reasonCode) {
|
|
16197
|
-
return reasonCode === LinkedCasesFromTableComponent.CASE_PROGRESS_REASON_CODE ||
|
|
16198
|
-
reasonCode === LinkedCasesFromTableComponent.CASE_CONSOLIDATED_REASON_CODE;
|
|
16199
|
-
}
|
|
16200
16201
|
onClick() {
|
|
16201
16202
|
this.showHideLinkText = this.showHideLinkText === 'Show'
|
|
16202
16203
|
? 'Hide'
|
|
@@ -16204,10 +16205,8 @@ class LinkedCasesFromTableComponent {
|
|
|
16204
16205
|
}
|
|
16205
16206
|
}
|
|
16206
16207
|
LinkedCasesFromTableComponent.CASE_NAME_MISSING_TEXT = 'Case name missing';
|
|
16207
|
-
LinkedCasesFromTableComponent.CASE_CONSOLIDATED_REASON_CODE = 'CLRC015';
|
|
16208
|
-
LinkedCasesFromTableComponent.CASE_PROGRESS_REASON_CODE = 'CLRC016';
|
|
16209
16208
|
LinkedCasesFromTableComponent.ɵfac = function LinkedCasesFromTableComponent_Factory(t) { return new (t || LinkedCasesFromTableComponent)(i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(CasesService), i0.ɵɵdirectiveInject(LinkedCasesService)); };
|
|
16210
|
-
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"], ["
|
|
16209
|
+
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) { if (rf & 1) {
|
|
16211
16210
|
i0.ɵɵtemplate(0, LinkedCasesFromTableComponent_a_0_Template, 2, 1, "a", 0);
|
|
16212
16211
|
i0.ɵɵtemplate(1, LinkedCasesFromTableComponent_table_1_Template, 14, 1, "table", 1);
|
|
16213
16212
|
} if (rf & 2) {
|
|
@@ -16217,7 +16216,7 @@ LinkedCasesFromTableComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ typ
|
|
|
16217
16216
|
} }, styles: [".case-table-column[_ngcontent-%COMP%]{min-width:20%;max-width:20%}.heading-h2[_ngcontent-%COMP%]{margin-bottom:0}"] });
|
|
16218
16217
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LinkedCasesFromTableComponent, [{
|
|
16219
16218
|
type: Component,
|
|
16220
|
-
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}}
|
|
16219
|
+
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"] }]
|
|
16221
16220
|
}], function () { return [{ type: i1$1.ActivatedRoute }, { type: CasesService }, { type: LinkedCasesService }]; }, { caseField: [{
|
|
16222
16221
|
type: Input
|
|
16223
16222
|
}], notifyAPIFailure: [{
|