@hmcts/ccd-case-ui-toolkit 4.9.3-state-machine → 4.9.6-state-machine

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/RELEASE-NOTES.md CHANGED
@@ -1,6 +1,6 @@
1
1
  ## RELEASE NOTES
2
2
 
3
- ### Version 4.9.3-state-machine
3
+ ### Version 4.9.6-state-machine
4
4
  **Task event completion and state machine** Task event completion and state machine
5
5
 
6
6
  ### Version 4.3.6-hotfix-EUI-4404
package/dist/index.umd.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @hmcts/ccd-case-ui-toolkit - Case UI Toolkit
3
- * @version v4.9.3-state-machine
3
+ * @version v4.9.6-state-machine
4
4
  * @link undefined
5
5
  * @license MIT
6
6
  */
@@ -19311,6 +19311,16 @@ exports.viewerRouting = [
19311
19311
  canActivate: [event_start_guard_1.EventStartGuard],
19312
19312
  canDeactivate: [file_upload_progress_guard_1.FileUploadProgressGuard],
19313
19313
  },
19314
+ {
19315
+ path: 'trigger/:eid/task/:tid',
19316
+ resolve: {
19317
+ eventTrigger: services_1.EventTriggerResolver,
19318
+ },
19319
+ component: case_event_trigger_1.CaseEventTriggerComponent,
19320
+ children: case_editor_1.editorRouting,
19321
+ canActivate: [event_start_guard_1.EventStartGuard],
19322
+ canDeactivate: [file_upload_progress_guard_1.FileUploadProgressGuard],
19323
+ },
19314
19324
  {
19315
19325
  path: 'event-start',
19316
19326
  component: event_management_1.EventStartComponent,
@@ -20498,16 +20508,17 @@ var EventStartGuard = /** @class */ (function () {
20498
20508
  var _this = this;
20499
20509
  var caseId = route.params['cid'];
20500
20510
  var eventId = route.params['eid'];
20511
+ var taskId = route.params['tid'];
20501
20512
  // TODO: NavigationExtras should be used once Angular upgrade changes have been incorporated
20502
20513
  var isComplete = route.queryParams['isComplete'];
20503
20514
  if (isComplete) {
20504
20515
  return rxjs_1.of(true);
20505
20516
  }
20506
- return this.workAllocationService.getTasksByCaseIdAndEventId(eventId, caseId).pipe(operators_1.switchMap(function (payload) { return _this.checkForTasks(payload, caseId, eventId); }));
20517
+ return this.workAllocationService.getTasksByCaseIdAndEventId(eventId, caseId).pipe(operators_1.switchMap(function (payload) { return _this.checkForTasks(payload, caseId, eventId, taskId); }));
20507
20518
  };
20508
- EventStartGuard.prototype.checkForTasks = function (payload, caseId, eventId) {
20519
+ EventStartGuard.prototype.checkForTasks = function (payload, caseId, eventId, taskId) {
20509
20520
  if (payload.task_required_for_event) {
20510
- this.router.navigate(["/cases/case-details/" + caseId + "/event-start"], { queryParams: { caseId: caseId, eventId: eventId } });
20521
+ this.router.navigate(["/cases/case-details/" + caseId + "/event-start"], { queryParams: { caseId: caseId, eventId: eventId, taskId: taskId } });
20511
20522
  return rxjs_1.of(false);
20512
20523
  }
20513
20524
  return rxjs_1.of(true);
@@ -20625,11 +20636,13 @@ var EventStartComponent = /** @class */ (function () {
20625
20636
  var tasks = this.route.snapshot.data.tasks;
20626
20637
  var caseId = this.route.snapshot.data.case.case_id;
20627
20638
  var eventId = this.route.snapshot.queryParams['eventId'];
20639
+ var taskId = this.route.snapshot.queryParams['taskId'];
20628
20640
  // Setup the context
20629
20641
  this.context = {
20630
20642
  tasks: tasks,
20631
20643
  caseId: caseId,
20632
20644
  eventId: eventId,
20645
+ taskId: taskId,
20633
20646
  router: this.router,
20634
20647
  route: this.route,
20635
20648
  sessionStorageService: this.sessionStorageService
@@ -20938,19 +20951,28 @@ var EventStateMachineService = /** @class */ (function () {
20938
20951
  var userInfoStr = context.sessionStorageService.getItem('userDetails');
20939
20952
  var userInfo = JSON.parse(userInfoStr);
20940
20953
  var tasksAssignedToUser = context.tasks.filter(function (x) { return x.assignee === userInfo.id || x.assignee === userInfo.uid; });
20941
- switch (tasksAssignedToUser.length) {
20942
- case 0:
20943
- // No tasks assigned to user, trigger state task unassigned
20944
- state.trigger(models_1.EventStates.TASK_UNASSIGNED);
20945
- break;
20946
- case 1:
20947
- // One task assigned to user
20948
- state.trigger(models_1.EventStates.ONE_TASK_ASSIGNED_TO_USER);
20949
- break;
20950
- default:
20951
- // Multiple tasks assigned to user, trigger state multiple tasks assigned to user
20952
- state.trigger(models_1.EventStates.MULTIPLE_TASKS_ASSIGNED_TO_USER);
20953
- break;
20954
+ // Check if user initiated the event from task tab
20955
+ var isEventInitiatedFromTaskTab = context.taskId !== undefined && tasksAssignedToUser.findIndex(function (x) { return x.id === context.taskId; }) > -1;
20956
+ if (isEventInitiatedFromTaskTab) {
20957
+ // User initiated event from task tab
20958
+ state.trigger(models_1.EventStates.ONE_TASK_ASSIGNED_TO_USER);
20959
+ }
20960
+ else {
20961
+ // User initiated event from dropdown
20962
+ switch (tasksAssignedToUser.length) {
20963
+ case 0:
20964
+ // No tasks assigned to user, trigger state task unassigned
20965
+ state.trigger(models_1.EventStates.TASK_UNASSIGNED);
20966
+ break;
20967
+ case 1:
20968
+ // One task assigned to user
20969
+ state.trigger(models_1.EventStates.ONE_TASK_ASSIGNED_TO_USER);
20970
+ break;
20971
+ default:
20972
+ // Multiple tasks assigned to user, trigger state multiple tasks assigned to user
20973
+ state.trigger(models_1.EventStates.MULTIPLE_TASKS_ASSIGNED_TO_USER);
20974
+ break;
20975
+ }
20954
20976
  }
20955
20977
  };
20956
20978
  EventStateMachineService.prototype.entryActionForStateTaskUnAssigned = function (state, context) {
@@ -20973,6 +20995,13 @@ var EventStateMachineService = /** @class */ (function () {
20973
20995
  EventStateMachineService.prototype.entryActionForStateOneTaskAssignedToUser = function (state, context) {
20974
20996
  // Trigger final state to complete processing of state machine
20975
20997
  state.trigger(models_1.StateMachineStates.FINAL);
20998
+ // Get task assigned to user
20999
+ var task = context.tasks.find(function (x) { return x.id === context.taskId; });
21000
+ if (!task) {
21001
+ task = context.tasks[0];
21002
+ }
21003
+ // Store task to session
21004
+ context.sessionStorageService.setItem('taskToComplete', JSON.stringify(task));
20976
21005
  // Allow user to perform the event
20977
21006
  context.router.navigate(["/cases/case-details/" + context.caseId + "/trigger/" + context.eventId], { queryParams: { isComplete: true }, relativeTo: context.route });
20978
21007
  };
@@ -83552,7 +83581,7 @@ module.exports = "<div class=\"govuk-!-margin-9\">\n <div class=\"govuk-error-s
83552
83581
  /***/ 50744:
83553
83582
  /***/ ((module) => {
83554
83583
 
83555
- module.exports = "<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\n </h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li>\n <a href=\"#\">Task assignment required</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 assignment required</h2>\n\n <p>This task is assigned to {{assignedUserName}}. You must assigned it to yourself to continue.</p>\n\n <a href=\"javascript:void(0)\" [routerLink]=\"['/', 'cases', 'case-details', caseId, 'tasks']\">Return to tasks tab</a>\n </div>\n</div>\n"
83584
+ module.exports = "<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\n </h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li>\n <a href=\"#\">Task assignment required</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 assignment required</h2>\n\n <p>This task is assigned to {{assignedUserName}}. You must assign it to yourself to continue.</p>\n\n <a href=\"javascript:void(0)\" [routerLink]=\"['/', 'cases', 'case-details', caseId, 'tasks']\">Return to tasks tab</a>\n </div>\n</div>\n"
83556
83585
 
83557
83586
  /***/ }),
83558
83587