@hmcts/ccd-case-ui-toolkit 7.0.65 → 7.0.66-exui-2146-rc1
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/case-edit/case-edit.component.mjs +60 -22
- package/esm2022/lib/shared/components/case-editor/case-editor.module.mjs +1 -1
- package/esm2022/lib/shared/components/case-editor/case-event-completion/case-event-completion.component.mjs +40 -28
- package/esm2022/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.mjs +18 -17
- package/esm2022/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.mjs +27 -37
- package/esm2022/lib/shared/components/case-editor/domain/event-completion-state-machine-context.model.mjs +1 -1
- package/esm2022/lib/shared/components/case-editor/domain/event-completion-task-states.model.mjs +6 -0
- package/esm2022/lib/shared/components/case-editor/services/event-completion-state-machine.service.mjs +11 -5
- package/esm2022/lib/shared/components/case-editor/services/work-allocation.service.mjs +1 -1
- package/esm2022/lib/shared/components/event-start/event-guard/event-start.guard.mjs +28 -5
- package/esm2022/lib/shared/components/event-start/services/event-start-state-machine.service.mjs +15 -1
- package/esm2022/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.mjs +14 -13
- package/esm2022/lib/shared/components/palette/case-file-view/test-data/categories-and-documents-test-data.mjs +12 -12
- package/esm2022/lib/shared/components/palette/palette.module.mjs +5 -1
- package/esm2022/lib/shared/domain/work-allocation/Task.mjs +1 -1
- package/esm2022/lib/shared/domain/work-allocation/task-response.model.mjs +1 -1
- package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs +255 -157
- package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
- package/lib/shared/components/case-editor/case-edit/case-edit.component.d.ts +5 -2
- package/lib/shared/components/case-editor/case-edit/case-edit.component.d.ts.map +1 -1
- package/lib/shared/components/case-editor/case-editor.module.d.ts.map +1 -1
- package/lib/shared/components/case-editor/case-event-completion/case-event-completion.component.d.ts +5 -3
- package/lib/shared/components/case-editor/case-event-completion/case-event-completion.component.d.ts.map +1 -1
- package/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.d.ts +7 -5
- package/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.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 +7 -11
- 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/domain/event-completion-state-machine-context.model.d.ts +1 -1
- package/lib/shared/components/case-editor/domain/event-completion-state-machine-context.model.d.ts.map +1 -1
- package/lib/shared/components/case-editor/domain/event-completion-task-states.model.d.ts +5 -0
- package/lib/shared/components/case-editor/domain/event-completion-task-states.model.d.ts.map +1 -0
- package/lib/shared/components/case-editor/services/event-completion-state-machine.service.d.ts.map +1 -1
- package/lib/shared/components/case-editor/services/work-allocation.service.d.ts +2 -2
- package/lib/shared/components/case-editor/services/work-allocation.service.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/event-start/services/event-start-state-machine.service.d.ts.map +1 -1
- package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.d.ts.map +1 -1
- package/lib/shared/domain/work-allocation/Task.d.ts +10 -1
- package/lib/shared/domain/work-allocation/Task.d.ts.map +1 -1
- package/lib/shared/domain/work-allocation/task-response.model.d.ts +1 -1
- package/lib/shared/domain/work-allocation/task-response.model.d.ts.map +1 -1
- package/package.json +1 -1
- package/esm2022/lib/shared/components/case-editor/domain/event-completion-portal-types.model.mjs +0 -6
- package/lib/shared/components/case-editor/domain/event-completion-portal-types.model.d.ts +0 -5
- package/lib/shared/components/case-editor/domain/event-completion-portal-types.model.d.ts.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component, Input, EventEmitter, Output, NgModule, ViewEncapsulation, forwardRef, Pipe, ViewChildren, ContentChildren, Injectable, Inject, ChangeDetectorRef, Directive, InjectionToken,
|
|
2
|
+
import { Component, Input, EventEmitter, Output, NgModule, ViewEncapsulation, forwardRef, Pipe, ViewChildren, ContentChildren, Injectable, Inject, ChangeDetectorRef, Directive, InjectionToken, ViewChild, HostListener, Injector, ViewContainerRef, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
|
3
3
|
import * as i5 from '@angular/common';
|
|
4
4
|
import { CommonModule, DOCUMENT, AsyncPipe, CurrencyPipe, formatDate } from '@angular/common';
|
|
5
5
|
import * as i1 from 'rpx-xui-translation';
|
|
@@ -24,7 +24,6 @@ import { StateMachine } from '@edium/fsm';
|
|
|
24
24
|
import * as i1$3 from '@angular/material/legacy-dialog';
|
|
25
25
|
import { MAT_LEGACY_DIALOG_DATA, MatLegacyDialogModule } from '@angular/material/legacy-dialog';
|
|
26
26
|
import { MatDialogConfig } from '@angular/material/dialog';
|
|
27
|
-
import { ComponentPortal, PortalModule } from '@angular/cdk/portal';
|
|
28
27
|
import * as i2 from '@nicky-lenaers/ngx-scroll-to';
|
|
29
28
|
import { ScrollToModule } from '@nicky-lenaers/ngx-scroll-to';
|
|
30
29
|
import * as marked from 'marked';
|
|
@@ -40,7 +39,6 @@ import * as i2$2 from '@angular/cdk/overlay';
|
|
|
40
39
|
import { OverlayModule } from '@angular/cdk/overlay';
|
|
41
40
|
import * as i7 from '@angular/cdk/tree';
|
|
42
41
|
import { NestedTreeControl, CdkTreeModule } from '@angular/cdk/tree';
|
|
43
|
-
import moment$1 from 'moment/moment';
|
|
44
42
|
import * as i4$1 from '@angular-material-components/datetime-picker';
|
|
45
43
|
import { NGX_MAT_DATE_FORMATS, NgxMatDateAdapter, NgxMatDatetimePickerModule, NgxMatTimepickerModule, NgxMatNativeDateModule } from '@angular-material-components/datetime-picker';
|
|
46
44
|
import { NgxMatMomentAdapter, NGX_MAT_MOMENT_DATE_ADAPTER_OPTIONS } from '@angular-material-components/moment-adapter';
|
|
@@ -52,6 +50,7 @@ import * as i15 from '@angular/material/legacy-input';
|
|
|
52
50
|
import { MatLegacyInputModule } from '@angular/material/legacy-input';
|
|
53
51
|
import * as i14 from '@hmcts/media-viewer';
|
|
54
52
|
import { MediaViewerModule } from '@hmcts/media-viewer';
|
|
53
|
+
import { PortalModule } from '@angular/cdk/portal';
|
|
55
54
|
import * as i2$3 from 'ngx-pagination';
|
|
56
55
|
import { NgxPaginationModule, PaginatePipe } from 'ngx-pagination';
|
|
57
56
|
import * as i10 from '@angular/material/legacy-tabs';
|
|
@@ -8710,11 +8709,11 @@ var TaskState;
|
|
|
8710
8709
|
TaskState["PendingReConfiguration"] = "PENDING_RECONFIGURATION";
|
|
8711
8710
|
})(TaskState || (TaskState = {}));
|
|
8712
8711
|
|
|
8713
|
-
var
|
|
8714
|
-
(function (
|
|
8715
|
-
|
|
8716
|
-
|
|
8717
|
-
})(
|
|
8712
|
+
var EventCompletionTaskStates;
|
|
8713
|
+
(function (EventCompletionTaskStates) {
|
|
8714
|
+
EventCompletionTaskStates[EventCompletionTaskStates["TaskCancelled"] = 0] = "TaskCancelled";
|
|
8715
|
+
EventCompletionTaskStates[EventCompletionTaskStates["TaskReassigned"] = 1] = "TaskReassigned";
|
|
8716
|
+
})(EventCompletionTaskStates || (EventCompletionTaskStates = {}));
|
|
8718
8717
|
|
|
8719
8718
|
const EVENT_COMPLETION_STATE_MACHINE = 'EVENT COMPLETION STATE MACHINE';
|
|
8720
8719
|
class EventCompletionStateMachineService {
|
|
@@ -8753,6 +8752,7 @@ class EventCompletionStateMachineService {
|
|
|
8753
8752
|
this.addTransitionsForStateTaskUnassigned();
|
|
8754
8753
|
}
|
|
8755
8754
|
entryActionForStateCheckTasksCanBeCompleted(state, context) {
|
|
8755
|
+
const assignNeeded = context.sessionStorageService.getItem('assignNeeded');
|
|
8756
8756
|
context.workAllocationService.getTask(context.task.id).subscribe(taskResponse => {
|
|
8757
8757
|
if (taskResponse && taskResponse.task && taskResponse.task.task_state) {
|
|
8758
8758
|
switch (taskResponse.task.task_state.toUpperCase()) {
|
|
@@ -8772,6 +8772,11 @@ class EventCompletionStateMachineService {
|
|
|
8772
8772
|
// Task still assigned to current user, complete event and task
|
|
8773
8773
|
state.trigger(EventCompletionStates.CompleteEventAndTask);
|
|
8774
8774
|
}
|
|
8775
|
+
else if (assignNeeded === 'true - override') {
|
|
8776
|
+
// this will treat task as unassigned instead of reassigned to complete after user confirmation
|
|
8777
|
+
// assignNeeded will also be immediately overwritten to true
|
|
8778
|
+
state.trigger(EventCompletionStates.TaskUnassigned);
|
|
8779
|
+
}
|
|
8775
8780
|
else {
|
|
8776
8781
|
// Task has been reassigned to another user, display error message
|
|
8777
8782
|
context.reassignedTask = taskResponse.task;
|
|
@@ -8793,7 +8798,7 @@ class EventCompletionStateMachineService {
|
|
|
8793
8798
|
// Trigger final state to complete processing of state machine
|
|
8794
8799
|
state.trigger(EventCompletionStates.Final);
|
|
8795
8800
|
// Load case event completion task cancelled component
|
|
8796
|
-
context.component.
|
|
8801
|
+
context.component.setTaskState(EventCompletionTaskStates.TaskCancelled);
|
|
8797
8802
|
}
|
|
8798
8803
|
entryActionForStateCompleteEventAndTask(state, context) {
|
|
8799
8804
|
// Trigger final state to complete processing of state machine
|
|
@@ -8814,7 +8819,7 @@ class EventCompletionStateMachineService {
|
|
|
8814
8819
|
// Trigger final state to complete processing of state machine
|
|
8815
8820
|
state.trigger(EventCompletionStates.Final);
|
|
8816
8821
|
// Load case event completion task reassigned component
|
|
8817
|
-
context.component.
|
|
8822
|
+
context.component.setTaskState(EventCompletionTaskStates.TaskReassigned);
|
|
8818
8823
|
}
|
|
8819
8824
|
entryActionForStateTaskUnassigned(state, context) {
|
|
8820
8825
|
// Trigger final state to complete processing of state machine
|
|
@@ -9379,15 +9384,22 @@ class CaseEditComponent {
|
|
|
9379
9384
|
const clientContextStr = this.sessionStorageService.getItem('clientContext');
|
|
9380
9385
|
const userTask = FieldsUtils.getUserTaskFromClientContext(clientContextStr);
|
|
9381
9386
|
const taskInSessionStorage = userTask ? userTask.task_data : null;
|
|
9382
|
-
let
|
|
9383
|
-
|
|
9384
|
-
const
|
|
9385
|
-
|
|
9386
|
-
|
|
9387
|
+
let taskEventCompletionInfo;
|
|
9388
|
+
let userInfo;
|
|
9389
|
+
const taskEventCompletionStr = this.sessionStorageService.getItem('taskEventCompletionInfo');
|
|
9390
|
+
const userInfoStr = this.sessionStorageService.getItem('userDetails');
|
|
9391
|
+
const assignNeeded = this.sessionStorageService.getItem('assignNeeded');
|
|
9392
|
+
if (taskEventCompletionStr) {
|
|
9393
|
+
taskEventCompletionInfo = JSON.parse(taskEventCompletionStr);
|
|
9394
|
+
}
|
|
9395
|
+
if (userInfoStr) {
|
|
9396
|
+
userInfo = JSON.parse(userInfoStr);
|
|
9387
9397
|
}
|
|
9388
9398
|
const eventId = this.getEventId(form);
|
|
9389
9399
|
const caseId = this.getCaseId(caseDetails);
|
|
9390
|
-
|
|
9400
|
+
const userId = userInfo.id ? userInfo.id : userInfo.uid;
|
|
9401
|
+
const eventDetails = { eventId, caseId, userId, assignNeeded };
|
|
9402
|
+
if (this.taskExistsForThisEvent(taskInSessionStorage, taskEventCompletionInfo, eventDetails)) {
|
|
9391
9403
|
this.abstractConfig.logMessage(`task exist for this event for caseId and eventId as ${caseId} ${eventId}`);
|
|
9392
9404
|
// Show event completion component to perform event completion checks
|
|
9393
9405
|
this.eventCompletionParams = ({
|
|
@@ -9395,9 +9407,16 @@ class CaseEditComponent {
|
|
|
9395
9407
|
eventId,
|
|
9396
9408
|
task: taskInSessionStorage
|
|
9397
9409
|
});
|
|
9398
|
-
// add
|
|
9399
|
-
|
|
9400
|
-
|
|
9410
|
+
// add taskEventCompletionInfo again to ensure link current event with task id
|
|
9411
|
+
// note: previous usage was created here so this is to ensure correct functionality continues
|
|
9412
|
+
const taskEventCompletionInfo = {
|
|
9413
|
+
caseId,
|
|
9414
|
+
eventId,
|
|
9415
|
+
userId,
|
|
9416
|
+
taskId: taskInSessionStorage.id,
|
|
9417
|
+
createdTimestamp: Date.now()
|
|
9418
|
+
};
|
|
9419
|
+
this.sessionStorageService.setItem('taskEventCompletionInfo', JSON.stringify(taskEventCompletionInfo));
|
|
9401
9420
|
this.isEventCompletionChecksRequired = true;
|
|
9402
9421
|
}
|
|
9403
9422
|
else {
|
|
@@ -9562,9 +9581,9 @@ class CaseEditComponent {
|
|
|
9562
9581
|
return this.postCompleteTaskIfRequired();
|
|
9563
9582
|
}), finalize(() => {
|
|
9564
9583
|
this.loadingService.unregister(loadingSpinnerToken);
|
|
9565
|
-
// on event completion ensure the previous event
|
|
9566
|
-
this.sessionStorageService.removeItem('
|
|
9567
|
-
this.sessionStorageService.removeItem('
|
|
9584
|
+
// on event completion ensure the previous event clientContext/taskEventCompletionInfo removed
|
|
9585
|
+
this.sessionStorageService.removeItem('clientContext');
|
|
9586
|
+
this.sessionStorageService.removeItem('taskEventCompletionInfo');
|
|
9568
9587
|
this.isSubmitting = false;
|
|
9569
9588
|
}))
|
|
9570
9589
|
.subscribe(() => {
|
|
@@ -9625,22 +9644,32 @@ class CaseEditComponent {
|
|
|
9625
9644
|
return null;
|
|
9626
9645
|
}
|
|
9627
9646
|
}
|
|
9628
|
-
// checks whether current
|
|
9629
|
-
|
|
9630
|
-
if (!taskInSessionStorage || taskInSessionStorage.case_id !== caseId) {
|
|
9647
|
+
// checks whether current clientContext relevant for the event
|
|
9648
|
+
taskExistsForThisEvent(taskInSessionStorage, taskEventCompletionInfo, eventDetails) {
|
|
9649
|
+
if (!taskInSessionStorage || taskInSessionStorage.case_id !== eventDetails.caseId) {
|
|
9631
9650
|
return false;
|
|
9632
9651
|
}
|
|
9633
|
-
if (!
|
|
9652
|
+
if (!taskEventCompletionInfo) {
|
|
9634
9653
|
// if no task event present then there is no task to complete from previous event present
|
|
9635
9654
|
return true;
|
|
9636
9655
|
}
|
|
9637
9656
|
else {
|
|
9638
|
-
if (
|
|
9657
|
+
if (taskEventCompletionInfo.taskId !== taskInSessionStorage.id) {
|
|
9658
|
+
return true;
|
|
9659
|
+
}
|
|
9660
|
+
else if ((taskEventCompletionInfo.taskId === taskInSessionStorage.id &&
|
|
9661
|
+
this.eventDetailsDoNotMatch(taskEventCompletionInfo, eventDetails))
|
|
9662
|
+
|| this.eventMoreThanDayAgo(taskEventCompletionInfo.createdTimestamp)) {
|
|
9639
9663
|
// if the session storage not related to event, ignore it and remove
|
|
9640
|
-
this.sessionStorageService.removeItem('
|
|
9641
|
-
this.sessionStorageService.removeItem('
|
|
9664
|
+
this.sessionStorageService.removeItem('clientContext');
|
|
9665
|
+
this.sessionStorageService.removeItem('taskEventCompletionInfo');
|
|
9642
9666
|
return false;
|
|
9643
9667
|
}
|
|
9668
|
+
if (eventDetails.assignNeeded === 'false' && eventDetails.userId !== taskInSessionStorage.assignee) {
|
|
9669
|
+
// if the user does not match task assignee, assign is now needed
|
|
9670
|
+
// data cannot be deleted and ignored as it matches understanding
|
|
9671
|
+
this.sessionStorageService.setItem('assignNeeded', 'true');
|
|
9672
|
+
}
|
|
9644
9673
|
return true;
|
|
9645
9674
|
}
|
|
9646
9675
|
}
|
|
@@ -9661,6 +9690,20 @@ class CaseEditComponent {
|
|
|
9661
9690
|
hasCallbackFailed(response) {
|
|
9662
9691
|
return response['callback_response_status'] !== 'CALLBACK_COMPLETED';
|
|
9663
9692
|
}
|
|
9693
|
+
eventMoreThanDayAgo(timestamp) {
|
|
9694
|
+
if ((new Date().getTime() - timestamp) > (24 * 60 * 60 * 1000)) {
|
|
9695
|
+
return true;
|
|
9696
|
+
}
|
|
9697
|
+
return false;
|
|
9698
|
+
}
|
|
9699
|
+
eventDetailsDoNotMatch(taskEventCompletionInfo, eventDetails) {
|
|
9700
|
+
if (taskEventCompletionInfo.eventId !== eventDetails.eventId
|
|
9701
|
+
|| taskEventCompletionInfo.caseId !== eventDetails.caseId
|
|
9702
|
+
|| taskEventCompletionInfo.userId !== eventDetails.userId) {
|
|
9703
|
+
return true;
|
|
9704
|
+
}
|
|
9705
|
+
return false;
|
|
9706
|
+
}
|
|
9664
9707
|
static ɵfac = function CaseEditComponent_Factory(t) { return new (t || CaseEditComponent)(i0.ɵɵdirectiveInject(i4.FormBuilder), i0.ɵɵdirectiveInject(CaseNotifier), i0.ɵɵdirectiveInject(i1$1.Router), i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(FieldsUtils), i0.ɵɵdirectiveInject(FieldsPurger), i0.ɵɵdirectiveInject(ConditionalShowRegistrarService), i0.ɵɵdirectiveInject(WizardFactoryService), i0.ɵɵdirectiveInject(SessionStorageService), i0.ɵɵdirectiveInject(WindowService), i0.ɵɵdirectiveInject(FormValueService), i0.ɵɵdirectiveInject(FormErrorService), i0.ɵɵdirectiveInject(LoadingService), i0.ɵɵdirectiveInject(ValidPageListCaseFieldsService), i0.ɵɵdirectiveInject(WorkAllocationService), i0.ɵɵdirectiveInject(AlertService), i0.ɵɵdirectiveInject(AbstractAppConfig)); };
|
|
9665
9708
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseEditComponent, selectors: [["ccd-case-edit"]], inputs: { eventTrigger: "eventTrigger", submit: "submit", validate: "validate", saveDraft: "saveDraft", caseDetails: "caseDetails" }, outputs: { cancelled: "cancelled", submitted: "submitted" }, features: [i0.ɵɵProvidersFeature([GreyBarService])], decls: 1, vars: 0, template: function CaseEditComponent_Template(rf, ctx) { if (rf & 1) {
|
|
9666
9709
|
i0.ɵɵelement(0, "router-outlet");
|
|
@@ -9684,7 +9727,7 @@ class CaseEditComponent {
|
|
|
9684
9727
|
}], submitted: [{
|
|
9685
9728
|
type: Output
|
|
9686
9729
|
}] }); })();
|
|
9687
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseEditComponent, { className: "CaseEditComponent", filePath: "lib/shared/components/case-editor/case-edit/case-edit.component.ts", lineNumber:
|
|
9730
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseEditComponent, { className: "CaseEditComponent", filePath: "lib/shared/components/case-editor/case-edit/case-edit.component.ts", lineNumber: 35 }); })();
|
|
9688
9731
|
|
|
9689
9732
|
function CaseEditConfirmComponent_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
9690
9733
|
i0.ɵɵelement(0, "div");
|
|
@@ -11003,20 +11046,118 @@ class CallbackErrorsComponent {
|
|
|
11003
11046
|
}] }); })();
|
|
11004
11047
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CallbackErrorsComponent, { className: "CallbackErrorsComponent", filePath: "lib/shared/components/error/callback-errors.component.ts", lineNumber: 10 }); })();
|
|
11005
11048
|
|
|
11049
|
+
function CaseEventCompletionComponent_app_case_event_completion_task_cancelled_0_Template(rf, ctx) { if (rf & 1) {
|
|
11050
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
11051
|
+
i0.ɵɵelementStart(0, "app-case-event-completion-task-cancelled", 2);
|
|
11052
|
+
i0.ɵɵlistener("notifyEventCompletionCancelled", function CaseEventCompletionComponent_app_case_event_completion_task_cancelled_0_Template_app_case_event_completion_task_cancelled_notifyEventCompletionCancelled_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.setEventCanBeCompleted($event)); });
|
|
11053
|
+
i0.ɵɵelementEnd();
|
|
11054
|
+
} if (rf & 2) {
|
|
11055
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
11056
|
+
i0.ɵɵproperty("context", ctx_r1.context);
|
|
11057
|
+
} }
|
|
11058
|
+
function CaseEventCompletionComponent_app_case_event_completion_task_reassigned_1_Template(rf, ctx) { if (rf & 1) {
|
|
11059
|
+
const _r3 = i0.ɵɵgetCurrentView();
|
|
11060
|
+
i0.ɵɵelementStart(0, "app-case-event-completion-task-reassigned", 3);
|
|
11061
|
+
i0.ɵɵlistener("notifyEventCompletionReassigned", function CaseEventCompletionComponent_app_case_event_completion_task_reassigned_1_Template_app_case_event_completion_task_reassigned_notifyEventCompletionReassigned_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.setEventCanBeCompleted($event)); });
|
|
11062
|
+
i0.ɵɵelementEnd();
|
|
11063
|
+
} if (rf & 2) {
|
|
11064
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
11065
|
+
i0.ɵɵproperty("context", ctx_r1.context);
|
|
11066
|
+
} }
|
|
11067
|
+
const COMPONENT_PORTAL_INJECTION_TOKEN = new InjectionToken('');
|
|
11068
|
+
class CaseEventCompletionComponent {
|
|
11069
|
+
service;
|
|
11070
|
+
router;
|
|
11071
|
+
route;
|
|
11072
|
+
sessionStorageService;
|
|
11073
|
+
workAllocationService;
|
|
11074
|
+
alertService;
|
|
11075
|
+
eventCompletionParams;
|
|
11076
|
+
eventCanBeCompleted = new EventEmitter();
|
|
11077
|
+
eventCompletionTaskStates = EventCompletionTaskStates;
|
|
11078
|
+
stateMachine;
|
|
11079
|
+
context;
|
|
11080
|
+
taskState;
|
|
11081
|
+
constructor(service, router, route, sessionStorageService, workAllocationService, alertService) {
|
|
11082
|
+
this.service = service;
|
|
11083
|
+
this.router = router;
|
|
11084
|
+
this.route = route;
|
|
11085
|
+
this.sessionStorageService = sessionStorageService;
|
|
11086
|
+
this.workAllocationService = workAllocationService;
|
|
11087
|
+
this.alertService = alertService;
|
|
11088
|
+
}
|
|
11089
|
+
ngOnChanges(changes) {
|
|
11090
|
+
if (changes.eventCompletionParams?.currentValue) {
|
|
11091
|
+
// Setup the context
|
|
11092
|
+
this.context = {
|
|
11093
|
+
task: this.eventCompletionParams.task,
|
|
11094
|
+
caseId: this.eventCompletionParams.caseId,
|
|
11095
|
+
eventId: this.eventCompletionParams.eventId,
|
|
11096
|
+
reassignedTask: null,
|
|
11097
|
+
router: this.router,
|
|
11098
|
+
route: this.route,
|
|
11099
|
+
sessionStorageService: this.sessionStorageService,
|
|
11100
|
+
workAllocationService: this.workAllocationService,
|
|
11101
|
+
alertService: this.alertService,
|
|
11102
|
+
canBeCompleted: false,
|
|
11103
|
+
component: this
|
|
11104
|
+
};
|
|
11105
|
+
// Initialise state machine
|
|
11106
|
+
this.stateMachine = this.service.initialiseStateMachine(this.context);
|
|
11107
|
+
// Create states
|
|
11108
|
+
this.service.createStates(this.stateMachine);
|
|
11109
|
+
// Add transitions for the states
|
|
11110
|
+
this.service.addTransitions();
|
|
11111
|
+
// Start state machine
|
|
11112
|
+
this.service.startStateMachine(this.stateMachine);
|
|
11113
|
+
}
|
|
11114
|
+
}
|
|
11115
|
+
setTaskState(taskState) {
|
|
11116
|
+
this.taskState = taskState;
|
|
11117
|
+
}
|
|
11118
|
+
setEventCanBeCompleted(completable) {
|
|
11119
|
+
// note: event not completed from here as will then skip task completion
|
|
11120
|
+
if (!completable) {
|
|
11121
|
+
// if event cannot be completed ensure that this is communicated
|
|
11122
|
+
// otherwise this will be handled via onchanges
|
|
11123
|
+
this.eventCanBeCompleted.emit(completable);
|
|
11124
|
+
}
|
|
11125
|
+
}
|
|
11126
|
+
static ɵfac = function CaseEventCompletionComponent_Factory(t) { return new (t || CaseEventCompletionComponent)(i0.ɵɵdirectiveInject(EventCompletionStateMachineService), i0.ɵɵdirectiveInject(i1$1.Router), i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(SessionStorageService), i0.ɵɵdirectiveInject(WorkAllocationService), i0.ɵɵdirectiveInject(AlertService)); };
|
|
11127
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseEventCompletionComponent, selectors: [["ccd-case-event-completion"]], inputs: { eventCompletionParams: "eventCompletionParams" }, outputs: { eventCanBeCompleted: "eventCanBeCompleted" }, features: [i0.ɵɵNgOnChangesFeature], decls: 2, vars: 2, consts: [[3, "context", "notifyEventCompletionCancelled", 4, "ngIf"], [3, "context", "notifyEventCompletionReassigned", 4, "ngIf"], [3, "notifyEventCompletionCancelled", "context"], [3, "notifyEventCompletionReassigned", "context"]], template: function CaseEventCompletionComponent_Template(rf, ctx) { if (rf & 1) {
|
|
11128
|
+
i0.ɵɵtemplate(0, CaseEventCompletionComponent_app_case_event_completion_task_cancelled_0_Template, 1, 1, "app-case-event-completion-task-cancelled", 0)(1, CaseEventCompletionComponent_app_case_event_completion_task_reassigned_1_Template, 1, 1, "app-case-event-completion-task-reassigned", 1);
|
|
11129
|
+
} if (rf & 2) {
|
|
11130
|
+
i0.ɵɵproperty("ngIf", ctx.taskState === ctx.eventCompletionTaskStates.TaskCancelled);
|
|
11131
|
+
i0.ɵɵadvance();
|
|
11132
|
+
i0.ɵɵproperty("ngIf", ctx.taskState === ctx.eventCompletionTaskStates.TaskReassigned);
|
|
11133
|
+
} }, encapsulation: 2 });
|
|
11134
|
+
}
|
|
11135
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseEventCompletionComponent, [{
|
|
11136
|
+
type: Component,
|
|
11137
|
+
args: [{ selector: 'ccd-case-event-completion', template: "<app-case-event-completion-task-cancelled\n *ngIf=\"taskState === eventCompletionTaskStates.TaskCancelled\"\n [context]=\"context\"\n (notifyEventCompletionCancelled)=\"setEventCanBeCompleted($event)\">\n</app-case-event-completion-task-cancelled>\n<app-case-event-completion-task-reassigned\n *ngIf=\"taskState === eventCompletionTaskStates.TaskReassigned\"\n [context]=\"context\"\n (notifyEventCompletionReassigned)=\"setEventCanBeCompleted($event)\">\n</app-case-event-completion-task-reassigned>" }]
|
|
11138
|
+
}], () => [{ type: EventCompletionStateMachineService }, { type: i1$1.Router }, { type: i1$1.ActivatedRoute }, { type: SessionStorageService }, { type: WorkAllocationService }, { type: AlertService }], { eventCompletionParams: [{
|
|
11139
|
+
type: Input
|
|
11140
|
+
}], eventCanBeCompleted: [{
|
|
11141
|
+
type: Output
|
|
11142
|
+
}] }); })();
|
|
11143
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseEventCompletionComponent, { className: "CaseEventCompletionComponent", filePath: "lib/shared/components/case-editor/case-event-completion/case-event-completion.component.ts", lineNumber: 20 }); })();
|
|
11144
|
+
|
|
11006
11145
|
const _c0$X = a0 => ["/", "cases", "case-details", a0, "tasks"];
|
|
11007
11146
|
class CaseEventCompletionTaskCancelledComponent {
|
|
11008
|
-
|
|
11147
|
+
context;
|
|
11148
|
+
notifyEventCompletionCancelled = new EventEmitter();
|
|
11009
11149
|
caseId;
|
|
11010
|
-
|
|
11011
|
-
this.
|
|
11012
|
-
this.caseId = this.parentComponent.context.caseId;
|
|
11150
|
+
ngOnInit() {
|
|
11151
|
+
this.caseId = this.context.caseId;
|
|
11013
11152
|
}
|
|
11014
11153
|
onContinue() {
|
|
11015
|
-
//
|
|
11016
|
-
this.
|
|
11154
|
+
// Removes task to complete so event completes without task
|
|
11155
|
+
this.context.sessionStorageService.removeItem('clientContext');
|
|
11156
|
+
// may be able to remove this call below since it is now unneccesary
|
|
11157
|
+
this.notifyEventCompletionCancelled.emit(true);
|
|
11017
11158
|
}
|
|
11018
|
-
static ɵfac = function CaseEventCompletionTaskCancelledComponent_Factory(t) { return new (t || CaseEventCompletionTaskCancelledComponent)(
|
|
11019
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseEventCompletionTaskCancelledComponent, selectors: [["app-case-event-completion-task-cancelled"]], decls: 31, vars: 27, consts: [[1, "govuk-!-margin-9"], ["aria-labelledby", "error-summary-title", "role", "alert", "tabindex", "-1", "data-module", "error-summary", 1, "govuk-error-summary"], ["id", "error-summary-title", 1, "govuk-error-summary__title"], [1, "govuk-error-summary__body"], [1, "govuk-list", "govuk-error-summary__list"], ["href", "#"], [1, "govuk-form-group", "govuk-form-group--error"], [1, "govuk-heading-m"], [1, "form-group", "form-group-related"], ["data-module", "govuk-button", 1, "govuk-button", "govuk-!-margin-right-2", 3, "click"], ["data-module", "govuk-button", 1, "govuk-button", "govuk-button--secondary", 3, "routerLink"]], template: function CaseEventCompletionTaskCancelledComponent_Template(rf, ctx) { if (rf & 1) {
|
|
11159
|
+
static ɵfac = function CaseEventCompletionTaskCancelledComponent_Factory(t) { return new (t || CaseEventCompletionTaskCancelledComponent)(); };
|
|
11160
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseEventCompletionTaskCancelledComponent, selectors: [["app-case-event-completion-task-cancelled"]], inputs: { context: "context" }, outputs: { notifyEventCompletionCancelled: "notifyEventCompletionCancelled" }, decls: 31, vars: 27, consts: [[1, "govuk-!-margin-9"], ["aria-labelledby", "error-summary-title", "role", "alert", "tabindex", "-1", "data-module", "error-summary", 1, "govuk-error-summary"], ["id", "error-summary-title", 1, "govuk-error-summary__title"], [1, "govuk-error-summary__body"], [1, "govuk-list", "govuk-error-summary__list"], ["href", "#"], [1, "govuk-form-group", "govuk-form-group--error"], [1, "govuk-heading-m"], [1, "form-group", "form-group-related"], ["data-module", "govuk-button", 1, "govuk-button", "govuk-!-margin-right-2", 3, "click"], ["data-module", "govuk-button", 1, "govuk-button", "govuk-button--secondary", 3, "routerLink"]], template: function CaseEventCompletionTaskCancelledComponent_Template(rf, ctx) { if (rf & 1) {
|
|
11020
11161
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "h2", 2);
|
|
11021
11162
|
i0.ɵɵtext(3);
|
|
11022
11163
|
i0.ɵɵpipe(4, "rpxTranslate");
|
|
@@ -11074,11 +11215,12 @@ class CaseEventCompletionTaskCancelledComponent {
|
|
|
11074
11215
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseEventCompletionTaskCancelledComponent, [{
|
|
11075
11216
|
type: Component,
|
|
11076
11217
|
args: [{ selector: 'app-case-event-completion-task-cancelled', template: "<div class=\"govuk-!-margin-9\">\n <div class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\" data-module=\"error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n {{'There is a problem' | rpxTranslate}}\n </h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li>\n <a href=\"#\">{{'Task cancelled/marked as done' | rpxTranslate}}</a>\n </li>\n </ul>\n </div>\n </div>\n\n <div class=\"govuk-form-group govuk-form-group--error\">\n <h2 class=\"govuk-heading-m\">{{'Task cancelled/marked as done' | rpxTranslate}}</h2>\n <p>{{'This task has been cancelled or marked as done.' | rpxTranslate}}</p>\n <p>{{'Click Continue to complete the event and save your progress.' | rpxTranslate}}</p>\n\n <p>{{'Alternatively, click Cancel to return to the tasks tab without saving your progress.' | rpxTranslate}}</p>\n\n <div class=\"form-group form-group-related\">\n <button class=\"govuk-button govuk-!-margin-right-2\" data-module=\"govuk-button\" (click)=\"onContinue()\">\n {{'Continue' | rpxTranslate}}\n </button>\n <a [routerLink]=\"['/', 'cases', 'case-details', caseId, 'tasks']\"\n class=\"govuk-button govuk-button--secondary\" data-module=\"govuk-button\">\n {{'Cancel' | rpxTranslate}}\n </a>\n </div>\n </div>\n</div>\n" }]
|
|
11077
|
-
}],
|
|
11078
|
-
|
|
11079
|
-
|
|
11080
|
-
|
|
11081
|
-
|
|
11218
|
+
}], null, { context: [{
|
|
11219
|
+
type: Input
|
|
11220
|
+
}], notifyEventCompletionCancelled: [{
|
|
11221
|
+
type: Output
|
|
11222
|
+
}] }); })();
|
|
11223
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseEventCompletionTaskCancelledComponent, { className: "CaseEventCompletionTaskCancelledComponent", filePath: "lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.ts", lineNumber: 9 }); })();
|
|
11082
11224
|
|
|
11083
11225
|
const _c0$W = a0 => ["/", "cases", "case-details", a0, "tasks"];
|
|
11084
11226
|
function CaseEventCompletionTaskReassignedComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -11138,32 +11280,26 @@ function CaseEventCompletionTaskReassignedComponent_div_0_Template(rf, ctx) { if
|
|
|
11138
11280
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(30, 24, "Cancel"), " ");
|
|
11139
11281
|
} }
|
|
11140
11282
|
class CaseEventCompletionTaskReassignedComponent {
|
|
11141
|
-
parentComponent;
|
|
11142
|
-
route;
|
|
11143
|
-
workAllocationService;
|
|
11144
11283
|
sessionStorageService;
|
|
11145
11284
|
judicialworkerService;
|
|
11146
11285
|
caseworkerService;
|
|
11147
|
-
|
|
11286
|
+
context;
|
|
11287
|
+
notifyEventCompletionReassigned = new EventEmitter();
|
|
11148
11288
|
caseId;
|
|
11149
11289
|
assignedUserId;
|
|
11150
11290
|
assignedUserName;
|
|
11151
11291
|
subscription;
|
|
11152
11292
|
caseworkerSubscription;
|
|
11153
11293
|
judicialworkerSubscription;
|
|
11154
|
-
constructor(
|
|
11155
|
-
this.parentComponent = parentComponent;
|
|
11156
|
-
this.route = route;
|
|
11157
|
-
this.workAllocationService = workAllocationService;
|
|
11294
|
+
constructor(sessionStorageService, judicialworkerService, caseworkerService) {
|
|
11158
11295
|
this.sessionStorageService = sessionStorageService;
|
|
11159
11296
|
this.judicialworkerService = judicialworkerService;
|
|
11160
11297
|
this.caseworkerService = caseworkerService;
|
|
11161
|
-
this.alertService = alertService;
|
|
11162
11298
|
}
|
|
11163
11299
|
ngOnInit() {
|
|
11164
11300
|
// Get case id and task from the parent component
|
|
11165
|
-
this.caseId = this.
|
|
11166
|
-
const task = this.
|
|
11301
|
+
this.caseId = this.context.caseId;
|
|
11302
|
+
const task = this.context.reassignedTask;
|
|
11167
11303
|
// Current user is a caseworker?
|
|
11168
11304
|
this.caseworkerSubscription = this.caseworkerService.getCaseworkers(task.jurisdiction).subscribe(result => {
|
|
11169
11305
|
if (result && result[0].service === task.jurisdiction && result[0].caseworkers) {
|
|
@@ -11208,17 +11344,17 @@ class CaseEventCompletionTaskReassignedComponent {
|
|
|
11208
11344
|
// not complete_task not utilised here as related to event completion
|
|
11209
11345
|
// service wanting task associated with event to not be completed not directly relevant
|
|
11210
11346
|
if (task) {
|
|
11211
|
-
this
|
|
11212
|
-
|
|
11213
|
-
this.
|
|
11347
|
+
// Set session to override reassignment settings so code flow does not return to this component
|
|
11348
|
+
this.sessionStorageService.setItem('assignNeeded', 'true - override');
|
|
11349
|
+
this.notifyEventCompletionReassigned.emit(true);
|
|
11214
11350
|
}
|
|
11215
11351
|
else {
|
|
11216
11352
|
// Emit event cannot be completed event
|
|
11217
|
-
this.
|
|
11353
|
+
this.notifyEventCompletionReassigned.emit(false);
|
|
11218
11354
|
}
|
|
11219
11355
|
}
|
|
11220
|
-
static ɵfac = function CaseEventCompletionTaskReassignedComponent_Factory(t) { return new (t || CaseEventCompletionTaskReassignedComponent)(i0.ɵɵdirectiveInject(
|
|
11221
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseEventCompletionTaskReassignedComponent, selectors: [["app-case-event-completion-task-reassigned"]], decls: 1, vars: 1, consts: [["class", "govuk-!-margin-9", 4, "ngIf"], [1, "govuk-!-margin-9"], ["aria-labelledby", "error-summary-title", "role", "alert", "tabindex", "-1", "data-module", "error-summary", 1, "govuk-error-summary"], ["id", "error-summary-title", 1, "govuk-error-summary__title"], [1, "govuk-error-summary__body"], [1, "govuk-list", "govuk-error-summary__list"], ["href", "#"], [1, "govuk-form-group", "govuk-form-group--error"], [1, "govuk-heading-m"], [1, "form-group", "form-group-related"], ["data-module", "govuk-button", 1, "govuk-button", "govuk-!-margin-right-2", 3, "click"], ["data-module", "govuk-button", 1, "govuk-button", "govuk-button--secondary", 3, "routerLink"]], template: function CaseEventCompletionTaskReassignedComponent_Template(rf, ctx) { if (rf & 1) {
|
|
11356
|
+
static ɵfac = function CaseEventCompletionTaskReassignedComponent_Factory(t) { return new (t || CaseEventCompletionTaskReassignedComponent)(i0.ɵɵdirectiveInject(SessionStorageService), i0.ɵɵdirectiveInject(JudicialworkerService), i0.ɵɵdirectiveInject(CaseworkerService)); };
|
|
11357
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseEventCompletionTaskReassignedComponent, selectors: [["app-case-event-completion-task-reassigned"]], inputs: { context: "context" }, outputs: { notifyEventCompletionReassigned: "notifyEventCompletionReassigned" }, decls: 1, vars: 1, consts: [["class", "govuk-!-margin-9", 4, "ngIf"], [1, "govuk-!-margin-9"], ["aria-labelledby", "error-summary-title", "role", "alert", "tabindex", "-1", "data-module", "error-summary", 1, "govuk-error-summary"], ["id", "error-summary-title", 1, "govuk-error-summary__title"], [1, "govuk-error-summary__body"], [1, "govuk-list", "govuk-error-summary__list"], ["href", "#"], [1, "govuk-form-group", "govuk-form-group--error"], [1, "govuk-heading-m"], [1, "form-group", "form-group-related"], ["data-module", "govuk-button", 1, "govuk-button", "govuk-!-margin-right-2", 3, "click"], ["data-module", "govuk-button", 1, "govuk-button", "govuk-button--secondary", 3, "routerLink"]], template: function CaseEventCompletionTaskReassignedComponent_Template(rf, ctx) { if (rf & 1) {
|
|
11222
11358
|
i0.ɵɵtemplate(0, CaseEventCompletionTaskReassignedComponent_div_0_Template, 31, 28, "div", 0);
|
|
11223
11359
|
} if (rf & 2) {
|
|
11224
11360
|
i0.ɵɵproperty("ngIf", ctx.assignedUserName);
|
|
@@ -11227,92 +11363,12 @@ class CaseEventCompletionTaskReassignedComponent {
|
|
|
11227
11363
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseEventCompletionTaskReassignedComponent, [{
|
|
11228
11364
|
type: Component,
|
|
11229
11365
|
args: [{ selector: 'app-case-event-completion-task-reassigned', template: "<div class=\"govuk-!-margin-9\" *ngIf=\"assignedUserName\">\n <div class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\"\n data-module=\"error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n {{'There is a problem' | rpxTranslate}}\n </h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li>\n <a href=\"#\">{{'Task reassigned' | rpxTranslate}}</a>\n </li>\n </ul>\n </div>\n </div>\n\n <div class=\"govuk-form-group govuk-form-group--error\">\n <h2 class=\"govuk-heading-m\">{{'Task reassigned' | rpxTranslate}}</h2>\n <p>{{'This task has been reassigned to' | rpxTranslate}} {{assignedUserName}}.</p>\n <p>{{'Click Continue to reassign the task to you and save your progress.' | rpxTranslate}}</p>\n <p>{{'Alternatively, click Cancel to return to the tasks tab without saving your progress.' | rpxTranslate}}</p>\n <div class=\"form-group form-group-related\">\n <button class=\"govuk-button govuk-!-margin-right-2\" data-module=\"govuk-button\" (click)=\"onContinue()\">\n {{'Continue' | rpxTranslate}}\n </button>\n <a [routerLink]=\"['/', 'cases', 'case-details', caseId, 'tasks']\"\n class=\"govuk-button govuk-button--secondary\" data-module=\"govuk-button\">\n {{'Cancel' | rpxTranslate}}\n </a>\n </div>\n </div>\n</div>\n" }]
|
|
11230
|
-
}], () => [{ type:
|
|
11231
|
-
type: Inject,
|
|
11232
|
-
args: [COMPONENT_PORTAL_INJECTION_TOKEN]
|
|
11233
|
-
}] }, { type: i1$1.ActivatedRoute }, { type: WorkAllocationService }, { type: SessionStorageService }, { type: JudicialworkerService }, { type: CaseworkerService }, { type: AlertService }], null); })();
|
|
11234
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseEventCompletionTaskReassignedComponent, { className: "CaseEventCompletionTaskReassignedComponent", filePath: "lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.ts", lineNumber: 19 }); })();
|
|
11235
|
-
|
|
11236
|
-
function CaseEventCompletionComponent_ng_template_0_Template(rf, ctx) { }
|
|
11237
|
-
const COMPONENT_PORTAL_INJECTION_TOKEN = new InjectionToken('');
|
|
11238
|
-
class CaseEventCompletionComponent {
|
|
11239
|
-
service;
|
|
11240
|
-
router;
|
|
11241
|
-
route;
|
|
11242
|
-
sessionStorageService;
|
|
11243
|
-
workAllocationService;
|
|
11244
|
-
alertService;
|
|
11245
|
-
eventCompletionParams;
|
|
11246
|
-
eventCanBeCompleted = new EventEmitter();
|
|
11247
|
-
stateMachine;
|
|
11248
|
-
context;
|
|
11249
|
-
selectedComponentPortal;
|
|
11250
|
-
constructor(service, router, route, sessionStorageService, workAllocationService, alertService) {
|
|
11251
|
-
this.service = service;
|
|
11252
|
-
this.router = router;
|
|
11253
|
-
this.route = route;
|
|
11254
|
-
this.sessionStorageService = sessionStorageService;
|
|
11255
|
-
this.workAllocationService = workAllocationService;
|
|
11256
|
-
this.alertService = alertService;
|
|
11257
|
-
}
|
|
11258
|
-
ngOnChanges(changes) {
|
|
11259
|
-
if (changes.eventCompletionParams && changes.eventCompletionParams.currentValue) {
|
|
11260
|
-
// Setup the context
|
|
11261
|
-
this.context = {
|
|
11262
|
-
task: this.eventCompletionParams.task,
|
|
11263
|
-
caseId: this.eventCompletionParams.caseId,
|
|
11264
|
-
eventId: this.eventCompletionParams.eventId,
|
|
11265
|
-
reassignedTask: null,
|
|
11266
|
-
router: this.router,
|
|
11267
|
-
route: this.route,
|
|
11268
|
-
sessionStorageService: this.sessionStorageService,
|
|
11269
|
-
workAllocationService: this.workAllocationService,
|
|
11270
|
-
alertService: this.alertService,
|
|
11271
|
-
canBeCompleted: false,
|
|
11272
|
-
component: this
|
|
11273
|
-
};
|
|
11274
|
-
// Initialise state machine
|
|
11275
|
-
this.stateMachine = this.service.initialiseStateMachine(this.context);
|
|
11276
|
-
// Create states
|
|
11277
|
-
this.service.createStates(this.stateMachine);
|
|
11278
|
-
// Add transitions for the states
|
|
11279
|
-
this.service.addTransitions();
|
|
11280
|
-
// Start state machine
|
|
11281
|
-
this.service.startStateMachine(this.stateMachine);
|
|
11282
|
-
}
|
|
11283
|
-
}
|
|
11284
|
-
showPortal(portalType) {
|
|
11285
|
-
const injector = Injector.create({
|
|
11286
|
-
providers: [
|
|
11287
|
-
{ provide: COMPONENT_PORTAL_INJECTION_TOKEN, useValue: this }
|
|
11288
|
-
]
|
|
11289
|
-
});
|
|
11290
|
-
// tslint:disable-next-line:switch-default
|
|
11291
|
-
switch (portalType) {
|
|
11292
|
-
case EventCompletionPortalTypes.TaskCancelled:
|
|
11293
|
-
this.selectedComponentPortal = new ComponentPortal(CaseEventCompletionTaskCancelledComponent, null, injector);
|
|
11294
|
-
break;
|
|
11295
|
-
case EventCompletionPortalTypes.TaskReassigned:
|
|
11296
|
-
this.selectedComponentPortal = new ComponentPortal(CaseEventCompletionTaskReassignedComponent, null, injector);
|
|
11297
|
-
break;
|
|
11298
|
-
}
|
|
11299
|
-
}
|
|
11300
|
-
static ɵfac = function CaseEventCompletionComponent_Factory(t) { return new (t || CaseEventCompletionComponent)(i0.ɵɵdirectiveInject(EventCompletionStateMachineService), i0.ɵɵdirectiveInject(i1$1.Router), i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(SessionStorageService), i0.ɵɵdirectiveInject(WorkAllocationService), i0.ɵɵdirectiveInject(AlertService)); };
|
|
11301
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseEventCompletionComponent, selectors: [["ccd-case-event-completion"]], inputs: { eventCompletionParams: "eventCompletionParams" }, outputs: { eventCanBeCompleted: "eventCanBeCompleted" }, features: [i0.ɵɵNgOnChangesFeature], decls: 1, vars: 1, consts: [[3, "cdkPortalOutlet"]], template: function CaseEventCompletionComponent_Template(rf, ctx) { if (rf & 1) {
|
|
11302
|
-
i0.ɵɵtemplate(0, CaseEventCompletionComponent_ng_template_0_Template, 0, 0, "ng-template", 0);
|
|
11303
|
-
} if (rf & 2) {
|
|
11304
|
-
i0.ɵɵproperty("cdkPortalOutlet", ctx.selectedComponentPortal);
|
|
11305
|
-
} }, encapsulation: 2 });
|
|
11306
|
-
}
|
|
11307
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseEventCompletionComponent, [{
|
|
11308
|
-
type: Component,
|
|
11309
|
-
args: [{ selector: 'ccd-case-event-completion', template: "<ng-template [cdkPortalOutlet]=\"selectedComponentPortal\"></ng-template>\n" }]
|
|
11310
|
-
}], () => [{ type: EventCompletionStateMachineService }, { type: i1$1.Router }, { type: i1$1.ActivatedRoute }, { type: SessionStorageService }, { type: WorkAllocationService }, { type: AlertService }], { eventCompletionParams: [{
|
|
11366
|
+
}], () => [{ type: SessionStorageService }, { type: JudicialworkerService }, { type: CaseworkerService }], { context: [{
|
|
11311
11367
|
type: Input
|
|
11312
|
-
}],
|
|
11368
|
+
}], notifyEventCompletionReassigned: [{
|
|
11313
11369
|
type: Output
|
|
11314
11370
|
}] }); })();
|
|
11315
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(
|
|
11371
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseEventCompletionTaskReassignedComponent, { className: "CaseEventCompletionTaskReassignedComponent", filePath: "lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.ts", lineNumber: 15 }); })();
|
|
11316
11372
|
|
|
11317
11373
|
class AddressOption {
|
|
11318
11374
|
description;
|
|
@@ -22437,10 +22493,11 @@ function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template(rf, c
|
|
|
22437
22493
|
i0.ɵɵelement(6, "br");
|
|
22438
22494
|
i0.ɵɵelementStart(7, "span", 17);
|
|
22439
22495
|
i0.ɵɵtext(8);
|
|
22440
|
-
i0.ɵɵpipe(9, "
|
|
22496
|
+
i0.ɵɵpipe(9, "ccdDate");
|
|
22497
|
+
i0.ɵɵpipe(10, "date");
|
|
22441
22498
|
i0.ɵɵelementEnd()();
|
|
22442
|
-
i0.ɵɵelementStart(
|
|
22443
|
-
i0.ɵɵlistener("changeFolderAction", function
|
|
22499
|
+
i0.ɵɵelementStart(11, "div", 18)(12, "ccd-case-file-view-folder-document-actions", 19);
|
|
22500
|
+
i0.ɵɵlistener("changeFolderAction", function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template_ccd_case_file_view_folder_document_actions_changeFolderAction_12_listener() { const node_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.triggerDocumentAction("changeFolder", node_r2)); })("openInANewTabAction", function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template_ccd_case_file_view_folder_document_actions_openInANewTabAction_12_listener() { const node_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.triggerDocumentAction("openInANewTab", node_r2)); })("downloadAction", function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template_ccd_case_file_view_folder_document_actions_downloadAction_12_listener() { const node_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.triggerDocumentAction("download", node_r2)); })("printAction", function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template_ccd_case_file_view_folder_document_actions_printAction_12_listener() { const node_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.triggerDocumentAction("print", node_r2)); });
|
|
22444
22501
|
i0.ɵɵelementEnd()()()();
|
|
22445
22502
|
} if (rf & 2) {
|
|
22446
22503
|
const node_r2 = ctx.$implicit;
|
|
@@ -22450,8 +22507,8 @@ function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template(rf, c
|
|
|
22450
22507
|
i0.ɵɵadvance(4);
|
|
22451
22508
|
i0.ɵɵtextInterpolate1(" ", node_r2.name, " ");
|
|
22452
22509
|
i0.ɵɵadvance(3);
|
|
22453
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(9, 5, node_r2.upload_timestamp, "dd MMM YYYY HH:mm"));
|
|
22454
|
-
i0.ɵɵadvance(
|
|
22510
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(10, 8, i0.ɵɵpipeBind2(9, 5, node_r2.upload_timestamp, "local"), "dd MMM YYYY HH:mm"));
|
|
22511
|
+
i0.ɵɵadvance(4);
|
|
22455
22512
|
i0.ɵɵproperty("allowMoving", ctx_r2.allowMoving);
|
|
22456
22513
|
} }
|
|
22457
22514
|
function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_5_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -22484,7 +22541,7 @@ function CaseFileViewFolderComponent_div_8_Template(rf, ctx) { if (rf & 1) {
|
|
|
22484
22541
|
i0.ɵɵelementStart(0, "div", 7);
|
|
22485
22542
|
i0.ɵɵtemplate(1, CaseFileViewFolderComponent_div_8_div_1_Template, 2, 0, "div", 8);
|
|
22486
22543
|
i0.ɵɵelementStart(2, "div")(3, "cdk-tree", 9);
|
|
22487
|
-
i0.ɵɵtemplate(4, CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template,
|
|
22544
|
+
i0.ɵɵtemplate(4, CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template, 13, 11, "cdk-nested-tree-node", 10)(5, CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_5_Template, 10, 6, "cdk-nested-tree-node", 11);
|
|
22488
22545
|
i0.ɵɵelementEnd()()();
|
|
22489
22546
|
} if (rf & 2) {
|
|
22490
22547
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
@@ -22591,7 +22648,7 @@ class CaseFileViewFolderComponent {
|
|
|
22591
22648
|
documentTreeNode.document_binary_url = document.document_binary_url;
|
|
22592
22649
|
documentTreeNode.attribute_path = document.attribute_path;
|
|
22593
22650
|
documentTreeNode.upload_timestamp = this.appConfig.getEnableCaseFileViewVersion1_1()
|
|
22594
|
-
&& document.upload_timestamp ?
|
|
22651
|
+
&& document.upload_timestamp ? document.upload_timestamp.toString() : '';
|
|
22595
22652
|
documentsToReturn.push(documentTreeNode);
|
|
22596
22653
|
});
|
|
22597
22654
|
return documentsToReturn;
|
|
@@ -22606,7 +22663,7 @@ class CaseFileViewFolderComponent {
|
|
|
22606
22663
|
documentTreeNode.document_binary_url = document.document_binary_url;
|
|
22607
22664
|
documentTreeNode.attribute_path = document.attribute_path;
|
|
22608
22665
|
documentTreeNode.upload_timestamp = this.appConfig.getEnableCaseFileViewVersion1_1()
|
|
22609
|
-
&& document.upload_timestamp ?
|
|
22666
|
+
&& document.upload_timestamp ? document.upload_timestamp.toString() : '';
|
|
22610
22667
|
documents.push(documentTreeNode);
|
|
22611
22668
|
});
|
|
22612
22669
|
const uncategorisedNode = new DocumentTreeNode();
|
|
@@ -22740,11 +22797,11 @@ class CaseFileViewFolderComponent {
|
|
|
22740
22797
|
i0.ɵɵtextInterpolate1("Documents (", ctx.documentCount, ")");
|
|
22741
22798
|
i0.ɵɵadvance(3);
|
|
22742
22799
|
i0.ɵɵproperty("ngIf", ctx.documentTreeData);
|
|
22743
|
-
} }, dependencies: [i5.NgIf, i4.DefaultValueAccessor, i4.NgControlStatus, i4.NgControlStatusGroup, i4.FormGroupDirective, i4.FormControlName, i7.CdkNestedTreeNode, i7.CdkTreeNodeDef, i7.CdkTreeNodeToggle, i7.CdkTree, i7.CdkTreeNodeOutlet, CaseFileViewFolderSortComponent, CaseFileViewFolderDocumentActionsComponent, i5.DatePipe], styles: ["[_nghost-%COMP%]{display:flex;height:100%;flex-direction:column}[_nghost-%COMP%] .document-tree-container[_ngcontent-%COMP%]{flex:1 0}.document-filter-container[_ngcontent-%COMP%]{border-bottom:2px solid #C9C9C9}.document-filter-container[_ngcontent-%COMP%] .document-filter[_ngcontent-%COMP%]{padding:10px}.document-filter-container[_ngcontent-%COMP%] .document-filter[_ngcontent-%COMP%] .document-search[_ngcontent-%COMP%]{background:url(/assets/images/icon-search-black.svg) no-repeat right #fff;background-position-x:calc(100% - 4px);padding-right:30px;width:100%}.document-filter-container[_ngcontent-%COMP%] .documents-title[_ngcontent-%COMP%]{height:30%;margin-left:8px;font-weight:700}.document-tree-container[_ngcontent-%COMP%]{padding:4px;overflow-x:hidden;overflow-y:scroll}.document-tree-container__node[_ngcontent-%COMP%]{display:block}.document-tree-container__node[_ngcontent-%COMP%] .document-tree-container__node[_ngcontent-%COMP%]{padding-left:40px}.document-tree-container[_ngcontent-%COMP%] .document-tree-invisible[_ngcontent-%COMP%]{display:none}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar{width:7px}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{border:4px solid rgba(0,0,0,0);background-clip:padding-box;border-radius:9999px;background-color:#aaa}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-button{display:none}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-track-piece{background:#eee}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:#ccc}.document-folders-header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #C9C9C9;padding:10px}.document-folders-header__title[_ngcontent-%COMP%]{font-weight:700}.node[_ngcontent-%COMP%]{display:flex;align-items:center;width:100%;padding:10px;background:none;border:0;cursor:pointer;white-space:nowrap}.node--selected[_ngcontent-%COMP%]{background:#fff2cc}.node__icon[_ngcontent-%COMP%]{position:relative;display:inline-block}.node__count[_ngcontent-%COMP%]{color:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.875rem;padding-top:4px}.node__iconImg[_ngcontent-%COMP%]{display:block;height:30px;width:30px}.node__name[_ngcontent-%COMP%]{margin-left:6px;font-size:1rem;overflow:hidden;text-overflow:ellipsis}.node__document-options[_ngcontent-%COMP%]{margin-left:auto;margin-right:0}.node__document-upload-timestamp[_ngcontent-%COMP%]{font-size:.8rem;float:left;padding-left:10px}"] });
|
|
22800
|
+
} }, dependencies: [i5.NgIf, i4.DefaultValueAccessor, i4.NgControlStatus, i4.NgControlStatusGroup, i4.FormGroupDirective, i4.FormControlName, i7.CdkNestedTreeNode, i7.CdkTreeNodeDef, i7.CdkTreeNodeToggle, i7.CdkTree, i7.CdkTreeNodeOutlet, CaseFileViewFolderSortComponent, CaseFileViewFolderDocumentActionsComponent, i5.DatePipe, DatePipe], styles: ["[_nghost-%COMP%]{display:flex;height:100%;flex-direction:column}[_nghost-%COMP%] .document-tree-container[_ngcontent-%COMP%]{flex:1 0}.document-filter-container[_ngcontent-%COMP%]{border-bottom:2px solid #C9C9C9}.document-filter-container[_ngcontent-%COMP%] .document-filter[_ngcontent-%COMP%]{padding:10px}.document-filter-container[_ngcontent-%COMP%] .document-filter[_ngcontent-%COMP%] .document-search[_ngcontent-%COMP%]{background:url(/assets/images/icon-search-black.svg) no-repeat right #fff;background-position-x:calc(100% - 4px);padding-right:30px;width:100%}.document-filter-container[_ngcontent-%COMP%] .documents-title[_ngcontent-%COMP%]{height:30%;margin-left:8px;font-weight:700}.document-tree-container[_ngcontent-%COMP%]{padding:4px;overflow-x:hidden;overflow-y:scroll}.document-tree-container__node[_ngcontent-%COMP%]{display:block}.document-tree-container__node[_ngcontent-%COMP%] .document-tree-container__node[_ngcontent-%COMP%]{padding-left:40px}.document-tree-container[_ngcontent-%COMP%] .document-tree-invisible[_ngcontent-%COMP%]{display:none}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar{width:7px}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{border:4px solid rgba(0,0,0,0);background-clip:padding-box;border-radius:9999px;background-color:#aaa}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-button{display:none}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-track-piece{background:#eee}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:#ccc}.document-folders-header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #C9C9C9;padding:10px}.document-folders-header__title[_ngcontent-%COMP%]{font-weight:700}.node[_ngcontent-%COMP%]{display:flex;align-items:center;width:100%;padding:10px;background:none;border:0;cursor:pointer;white-space:nowrap}.node--selected[_ngcontent-%COMP%]{background:#fff2cc}.node__icon[_ngcontent-%COMP%]{position:relative;display:inline-block}.node__count[_ngcontent-%COMP%]{color:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.875rem;padding-top:4px}.node__iconImg[_ngcontent-%COMP%]{display:block;height:30px;width:30px}.node__name[_ngcontent-%COMP%]{margin-left:6px;font-size:1rem;overflow:hidden;text-overflow:ellipsis}.node__document-options[_ngcontent-%COMP%]{margin-left:auto;margin-right:0}.node__document-upload-timestamp[_ngcontent-%COMP%]{font-size:.8rem;float:left;padding-left:10px}"] });
|
|
22744
22801
|
}
|
|
22745
22802
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseFileViewFolderComponent, [{
|
|
22746
22803
|
type: Component,
|
|
22747
|
-
args: [{ selector: 'ccd-case-file-view-folder', template: "<div class=\"document-filter-container\">\n <div class=\"form-group document-filter\" [formGroup]=\"documentFilterFormGroup\">\n <input class=\"form-control document-search\"\n type=\"search\"\n id=\"document-search\"\n name=\"documentSearchFormControl\"\n formControlName=\"documentSearchFormControl\"\n placeholder=\"Search by document name\"\n aria-label=\"Search by document name\">\n </div>\n</div>\n\n<div class=\"document-folders-header\">\n <div class=\"document-folders-header__title\">Documents ({{ documentCount }})</div>\n <div>\n <ccd-case-file-view-folder-sort\n (sortAscending)=\"sortDataSourceAscending($event)\"\n (sortDescending)=\"sortDataSourceDescending($event)\"\n ></ccd-case-file-view-folder-sort>\n </div>\n</div>\n\n<div class=\"document-tree-container\" *ngIf=\"documentTreeData\">\n <div *ngIf=\"!nestedDataSource || nestedDataSource.length === 0\">\n No results found\n </div>\n <div>\n <cdk-tree [dataSource]=\"nestedDataSource\" [treeControl]=\"nestedTreeControl\">\n <!-- document -->\n <cdk-nested-tree-node class=\"document-tree-container__node document-tree-container__node--document\" *cdkTreeNodeDef=\"let node\">\n <button class=\"node\" (click)=\"selectedNodeItem = node; clickedDocument.emit(node)\"\n [class.node--selected]=\"selectedNodeItem?.name === node.name\">\n <div class=\"node__icon\" disabled>\n <img src=\"/assets/img/case-file-view/case-file-view-document.svg\" class=\"node__iconImg\" alt=\"Document icon\">\n </div>\n <span class=\"node__name node-name-document\">\n {{node.name}}\n <br>\n <span class=\"node__document-upload-timestamp\">{{node.upload_timestamp | date:\"dd MMM YYYY HH:mm\"}}</span>\n </span>\n <div class=\"node__document-options\">\n <ccd-case-file-view-folder-document-actions\n (changeFolderAction)=\"triggerDocumentAction('changeFolder', node)\"\n (openInANewTabAction)=\"triggerDocumentAction('openInANewTab', node)\"\n (downloadAction)=\"triggerDocumentAction('download', node)\"\n (printAction)=\"triggerDocumentAction('print', node)\"\n [allowMoving]=\"allowMoving\"\n >\n </ccd-case-file-view-folder-document-actions>\n </div>\n </button>\n </cdk-nested-tree-node>\n <!-- folder-->\n <cdk-nested-tree-node class=\"document-tree-container__node document-tree-container__folder\" *cdkTreeNodeDef=\"let node; when: nestedChildren\">\n <button class=\"node\" cdkTreeNodeToggle>\n <div class=\"node__icon\" [attr.aria-label]=\"'toggle ' + node.name\" >\n <img class=\"node__iconImg\"\n [src]=\"nestedTreeControl.isExpanded(node) ? '/assets/images/folder-open.png' : '/assets/images/folder.png'\" alt=\"Folder icon\">\n <span class=\"node__count\">{{node.childDocumentCount}}</span>\n </div>\n <span class=\"node__name node__name--folder\">{{node.name}}</span>\n </button>\n\n <div [class.document-tree-invisible]=\"!nestedTreeControl.isExpanded(node)\">\n <ng-container cdkTreeNodeOutlet></ng-container>\n </div>\n </cdk-nested-tree-node>\n </cdk-tree>\n </div>\n</div>\n", styles: [":host{display:flex;height:100%;flex-direction:column}:host .document-tree-container{flex:1 0}.document-filter-container{border-bottom:2px solid #C9C9C9}.document-filter-container .document-filter{padding:10px}.document-filter-container .document-filter .document-search{background:url(/assets/images/icon-search-black.svg) no-repeat right #fff;background-position-x:calc(100% - 4px);padding-right:30px;width:100%}.document-filter-container .documents-title{height:30%;margin-left:8px;font-weight:700}.document-tree-container{padding:4px;overflow-x:hidden;overflow-y:scroll}.document-tree-container__node{display:block}.document-tree-container__node .document-tree-container__node{padding-left:40px}.document-tree-container .document-tree-invisible{display:none}.document-tree-container::-webkit-scrollbar{width:7px}.document-tree-container::-webkit-scrollbar-thumb{border:4px solid rgba(0,0,0,0);background-clip:padding-box;border-radius:9999px;background-color:#aaa}.document-tree-container::-webkit-scrollbar-button{display:none}.document-tree-container::-webkit-scrollbar-track-piece{background:#eee}.document-tree-container::-webkit-scrollbar-thumb{background:#ccc}.document-folders-header{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #C9C9C9;padding:10px}.document-folders-header__title{font-weight:700}.node{display:flex;align-items:center;width:100%;padding:10px;background:none;border:0;cursor:pointer;white-space:nowrap}.node--selected{background:#fff2cc}.node__icon{position:relative;display:inline-block}.node__count{color:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.875rem;padding-top:4px}.node__iconImg{display:block;height:30px;width:30px}.node__name{margin-left:6px;font-size:1rem;overflow:hidden;text-overflow:ellipsis}.node__document-options{margin-left:auto;margin-right:0}.node__document-upload-timestamp{font-size:.8rem;float:left;padding-left:10px}\n"] }]
|
|
22804
|
+
args: [{ selector: 'ccd-case-file-view-folder', template: "<div class=\"document-filter-container\">\n <div class=\"form-group document-filter\" [formGroup]=\"documentFilterFormGroup\">\n <input class=\"form-control document-search\"\n type=\"search\"\n id=\"document-search\"\n name=\"documentSearchFormControl\"\n formControlName=\"documentSearchFormControl\"\n placeholder=\"Search by document name\"\n aria-label=\"Search by document name\">\n </div>\n</div>\n\n<div class=\"document-folders-header\">\n <div class=\"document-folders-header__title\">Documents ({{ documentCount }})</div>\n <div>\n <ccd-case-file-view-folder-sort\n (sortAscending)=\"sortDataSourceAscending($event)\"\n (sortDescending)=\"sortDataSourceDescending($event)\"\n ></ccd-case-file-view-folder-sort>\n </div>\n</div>\n\n<div class=\"document-tree-container\" *ngIf=\"documentTreeData\">\n <div *ngIf=\"!nestedDataSource || nestedDataSource.length === 0\">\n No results found\n </div>\n <div>\n <cdk-tree [dataSource]=\"nestedDataSource\" [treeControl]=\"nestedTreeControl\">\n <!-- document -->\n <cdk-nested-tree-node class=\"document-tree-container__node document-tree-container__node--document\" *cdkTreeNodeDef=\"let node\">\n <button class=\"node\" (click)=\"selectedNodeItem = node; clickedDocument.emit(node)\"\n [class.node--selected]=\"selectedNodeItem?.name === node.name\">\n <div class=\"node__icon\" disabled>\n <img src=\"/assets/img/case-file-view/case-file-view-document.svg\" class=\"node__iconImg\" alt=\"Document icon\">\n </div>\n <span class=\"node__name node-name-document\">\n {{node.name}}\n <br>\n <span class=\"node__document-upload-timestamp\">{{node.upload_timestamp | ccdDate : 'local' | date:\"dd MMM YYYY HH:mm\"}}</span>\n </span>\n <div class=\"node__document-options\">\n <ccd-case-file-view-folder-document-actions\n (changeFolderAction)=\"triggerDocumentAction('changeFolder', node)\"\n (openInANewTabAction)=\"triggerDocumentAction('openInANewTab', node)\"\n (downloadAction)=\"triggerDocumentAction('download', node)\"\n (printAction)=\"triggerDocumentAction('print', node)\"\n [allowMoving]=\"allowMoving\"\n >\n </ccd-case-file-view-folder-document-actions>\n </div>\n </button>\n </cdk-nested-tree-node>\n <!-- folder-->\n <cdk-nested-tree-node class=\"document-tree-container__node document-tree-container__folder\" *cdkTreeNodeDef=\"let node; when: nestedChildren\">\n <button class=\"node\" cdkTreeNodeToggle>\n <div class=\"node__icon\" [attr.aria-label]=\"'toggle ' + node.name\" >\n <img class=\"node__iconImg\"\n [src]=\"nestedTreeControl.isExpanded(node) ? '/assets/images/folder-open.png' : '/assets/images/folder.png'\" alt=\"Folder icon\">\n <span class=\"node__count\">{{node.childDocumentCount}}</span>\n </div>\n <span class=\"node__name node__name--folder\">{{node.name}}</span>\n </button>\n\n <div [class.document-tree-invisible]=\"!nestedTreeControl.isExpanded(node)\">\n <ng-container cdkTreeNodeOutlet></ng-container>\n </div>\n </cdk-nested-tree-node>\n </cdk-tree>\n </div>\n</div>\n", styles: [":host{display:flex;height:100%;flex-direction:column}:host .document-tree-container{flex:1 0}.document-filter-container{border-bottom:2px solid #C9C9C9}.document-filter-container .document-filter{padding:10px}.document-filter-container .document-filter .document-search{background:url(/assets/images/icon-search-black.svg) no-repeat right #fff;background-position-x:calc(100% - 4px);padding-right:30px;width:100%}.document-filter-container .documents-title{height:30%;margin-left:8px;font-weight:700}.document-tree-container{padding:4px;overflow-x:hidden;overflow-y:scroll}.document-tree-container__node{display:block}.document-tree-container__node .document-tree-container__node{padding-left:40px}.document-tree-container .document-tree-invisible{display:none}.document-tree-container::-webkit-scrollbar{width:7px}.document-tree-container::-webkit-scrollbar-thumb{border:4px solid rgba(0,0,0,0);background-clip:padding-box;border-radius:9999px;background-color:#aaa}.document-tree-container::-webkit-scrollbar-button{display:none}.document-tree-container::-webkit-scrollbar-track-piece{background:#eee}.document-tree-container::-webkit-scrollbar-thumb{background:#ccc}.document-folders-header{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #C9C9C9;padding:10px}.document-folders-header__title{font-weight:700}.node{display:flex;align-items:center;width:100%;padding:10px;background:none;border:0;cursor:pointer;white-space:nowrap}.node--selected{background:#fff2cc}.node__icon{position:relative;display:inline-block}.node__count{color:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.875rem;padding-top:4px}.node__iconImg{display:block;height:30px;width:30px}.node__name{margin-left:6px;font-size:1rem;overflow:hidden;text-overflow:ellipsis}.node__document-options{margin-left:auto;margin-right:0}.node__document-upload-timestamp{font-size:.8rem;float:left;padding-left:10px}\n"] }]
|
|
22748
22805
|
}], () => [{ type: WindowService }, { type: i1$1.Router }, { type: DocumentManagementService }, { type: i1$3.MatLegacyDialog }, { type: AbstractAppConfig }], { categoriesAndDocuments: [{
|
|
22749
22806
|
type: Input
|
|
22750
22807
|
}], allowMoving: [{
|
|
@@ -22754,7 +22811,7 @@ class CaseFileViewFolderComponent {
|
|
|
22754
22811
|
}], moveDocument: [{
|
|
22755
22812
|
type: Output
|
|
22756
22813
|
}] }); })();
|
|
22757
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseFileViewFolderComponent, { className: "CaseFileViewFolderComponent", filePath: "lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.ts", lineNumber:
|
|
22814
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaseFileViewFolderComponent, { className: "CaseFileViewFolderComponent", filePath: "lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.ts", lineNumber: 27 }); })();
|
|
22758
22815
|
|
|
22759
22816
|
const _c0$s = a0 => ({ "form-group-error": a0 });
|
|
22760
22817
|
function AddCommentsComponent_span_7_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -28540,6 +28597,10 @@ i0.ɵɵsetComponentScope(QueryAttachmentsReadComponent, function () { return [i5
|
|
|
28540
28597
|
i0.ɵɵsetComponentScope(QueryEventCompletionComponent, function () { return [
|
|
28541
28598
|
// Case event completion
|
|
28542
28599
|
CaseEventCompletionComponent]; }, []);
|
|
28600
|
+
i0.ɵɵsetComponentScope(
|
|
28601
|
+
// Case event completion
|
|
28602
|
+
CaseEventCompletionComponent, function () { return [i5.NgIf, CaseEventCompletionTaskCancelledComponent,
|
|
28603
|
+
CaseEventCompletionTaskReassignedComponent]; }, []);
|
|
28543
28604
|
|
|
28544
28605
|
var CaseEditSubmitTitles;
|
|
28545
28606
|
(function (CaseEditSubmitTitles) {
|
|
@@ -33614,12 +33675,18 @@ class EventStartGuard {
|
|
|
33614
33675
|
const caseId = route.params['cid'];
|
|
33615
33676
|
const eventId = route.params['eid'];
|
|
33616
33677
|
const taskId = route.queryParams['tid'];
|
|
33678
|
+
let userId;
|
|
33679
|
+
const userInfoStr = this.sessionStorageService.getItem('userDetails');
|
|
33680
|
+
if (userInfoStr) {
|
|
33681
|
+
const userInfo = JSON.parse(userInfoStr);
|
|
33682
|
+
userId = userInfo.id ? userInfo.id : userInfo.uid;
|
|
33683
|
+
}
|
|
33617
33684
|
const caseInfoStr = this.sessionStorageService.getItem('caseInfo');
|
|
33618
33685
|
if (caseInfoStr) {
|
|
33619
33686
|
const caseInfo = JSON.parse(caseInfoStr);
|
|
33620
33687
|
if (caseInfo && caseInfo.cid === caseId) {
|
|
33621
33688
|
return this.workAllocationService.getTasksByCaseIdAndEventId(eventId, caseId, caseInfo.caseType, caseInfo.jurisdiction)
|
|
33622
|
-
.pipe(switchMap((payload) => this.checkForTasks(payload, caseId, eventId, taskId)));
|
|
33689
|
+
.pipe(switchMap((payload) => this.checkForTasks(payload, caseId, eventId, taskId, userId)));
|
|
33623
33690
|
}
|
|
33624
33691
|
else {
|
|
33625
33692
|
this.abstractConfig.logMessage(`EventStartGuard: caseId ${caseInfo.cid} in caseInfo not matched with the route parameter caseId ${caseId}`);
|
|
@@ -33676,11 +33743,28 @@ class EventStartGuard {
|
|
|
33676
33743
|
removeTaskFromSessionStorage() {
|
|
33677
33744
|
this.sessionStorageService.removeItem(EventStartGuard.CLIENT_CONTEXT);
|
|
33678
33745
|
}
|
|
33679
|
-
checkForTasks(payload, caseId, eventId, taskId) {
|
|
33746
|
+
checkForTasks(payload, caseId, eventId, taskId, userId) {
|
|
33680
33747
|
if (taskId && payload?.tasks?.length > 0) {
|
|
33681
33748
|
const task = payload.tasks.find((t) => t.id == taskId);
|
|
33682
33749
|
if (task) {
|
|
33683
|
-
|
|
33750
|
+
// Store task to session
|
|
33751
|
+
const taskEventCompletionInfo = {
|
|
33752
|
+
caseId: caseId,
|
|
33753
|
+
eventId: eventId,
|
|
33754
|
+
userId: userId,
|
|
33755
|
+
taskId: task.id,
|
|
33756
|
+
createdTimestamp: Date.now()
|
|
33757
|
+
};
|
|
33758
|
+
const storeClientContext = {
|
|
33759
|
+
client_context: {
|
|
33760
|
+
user_task: {
|
|
33761
|
+
task_data: task,
|
|
33762
|
+
complete_task: true
|
|
33763
|
+
}
|
|
33764
|
+
}
|
|
33765
|
+
};
|
|
33766
|
+
this.sessionStorageService.setItem('taskEventCompletionInfo', JSON.stringify(taskEventCompletionInfo));
|
|
33767
|
+
this.sessionStorageService.setItem(EventStartGuard.CLIENT_CONTEXT, JSON.stringify(storeClientContext));
|
|
33684
33768
|
}
|
|
33685
33769
|
else {
|
|
33686
33770
|
this.removeTaskFromSessionStorage();
|
|
@@ -33859,6 +33943,20 @@ class EventStartStateMachineService {
|
|
|
33859
33943
|
}
|
|
33860
33944
|
};
|
|
33861
33945
|
context.sessionStorageService.setItem('clientContext', JSON.stringify(clientContext));
|
|
33946
|
+
let userInfo;
|
|
33947
|
+
const userInfoStr = context.sessionStorageService.getItem('userDetails');
|
|
33948
|
+
if (userInfoStr) {
|
|
33949
|
+
userInfo = JSON.parse(userInfoStr);
|
|
33950
|
+
}
|
|
33951
|
+
// Store task to session
|
|
33952
|
+
const taskEventCompletionInfo = {
|
|
33953
|
+
caseId: context.caseId,
|
|
33954
|
+
eventId: context.eventId,
|
|
33955
|
+
userId: userInfo.id ? userInfo.id : userInfo.uid,
|
|
33956
|
+
taskId: task.id,
|
|
33957
|
+
createdTimestamp: Date.now()
|
|
33958
|
+
};
|
|
33959
|
+
context.sessionStorageService.setItem('taskEventCompletionInfo', JSON.stringify(taskEventCompletionInfo));
|
|
33862
33960
|
// Allow user to perform the event
|
|
33863
33961
|
context.router.navigate([`/cases/case-details/${context.caseId}/trigger/${context.eventId}`], { relativeTo: context.route });
|
|
33864
33962
|
}
|