@hmcts/ccd-case-ui-toolkit 4.9.1-state-machine → 4.9.2-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.
Files changed (44) hide show
  1. package/RELEASE-NOTES.md +1 -1
  2. package/dist/index.umd.js +195 -142
  3. package/dist/index.umd.js.map +1 -1
  4. package/dist/index.umd.min.js +1 -1
  5. package/dist/index.umd.min.js.LICENSE.txt +1 -1
  6. package/dist/index.umd.min.js.map +1 -1
  7. package/dist/shared/components/case-viewer/viewer.routing.js +11 -7
  8. package/dist/shared/components/case-viewer/viewer.routing.js.map +1 -1
  9. package/dist/shared/components/case-viewer/viewer.routing.metadata.json +1 -1
  10. package/dist/shared/components/event-management/components/multiple-tasks-exist/multiple-tasks-exist.component.d.ts +3 -0
  11. package/dist/shared/components/event-management/components/multiple-tasks-exist/multiple-tasks-exist.component.js +6 -6
  12. package/dist/shared/components/event-management/components/multiple-tasks-exist/multiple-tasks-exist.component.js.map +1 -1
  13. package/dist/shared/components/event-management/components/multiple-tasks-exist/multiple-tasks-exist.component.metadata.json +1 -1
  14. package/dist/shared/components/event-management/components/task-assigned/task-assigned.component.d.ts +5 -0
  15. package/dist/shared/components/event-management/components/task-assigned/task-assigned.component.js +17 -11
  16. package/dist/shared/components/event-management/components/task-assigned/task-assigned.component.js.map +1 -1
  17. package/dist/shared/components/event-management/components/task-assigned/task-assigned.component.metadata.json +1 -1
  18. package/dist/shared/components/event-management/components/task-unassigned/task-unassigned.component.d.ts +6 -0
  19. package/dist/shared/components/event-management/components/task-unassigned/task-unassigned.component.js +29 -0
  20. package/dist/shared/components/event-management/components/task-unassigned/task-unassigned.component.js.map +1 -0
  21. package/dist/shared/components/event-management/components/task-unassigned/task-unassigned.component.metadata.json +1 -0
  22. package/dist/shared/components/event-management/event-guard/event-start.guard.js +1 -0
  23. package/dist/shared/components/event-management/event-guard/event-start.guard.js.map +1 -1
  24. package/dist/shared/components/event-management/event-management.module.js +5 -2
  25. package/dist/shared/components/event-management/event-management.module.js.map +1 -1
  26. package/dist/shared/components/event-management/event-management.module.metadata.json +1 -1
  27. package/dist/shared/components/event-management/event-start/event-start.component.d.ts +5 -3
  28. package/dist/shared/components/event-management/event-start/event-start.component.js +12 -6
  29. package/dist/shared/components/event-management/event-start/event-start.component.js.map +1 -1
  30. package/dist/shared/components/event-management/event-start/event-start.component.metadata.json +1 -1
  31. package/dist/shared/components/event-management/index.d.ts +1 -0
  32. package/dist/shared/components/event-management/index.js +1 -0
  33. package/dist/shared/components/event-management/index.js.map +1 -1
  34. package/dist/shared/components/event-management/index.metadata.json +1 -1
  35. package/dist/shared/components/event-management/models/event-states-enum.model.d.ts +4 -5
  36. package/dist/shared/components/event-management/models/event-states-enum.model.js +3 -4
  37. package/dist/shared/components/event-management/models/event-states-enum.model.js.map +1 -1
  38. package/dist/shared/components/event-management/models/event-states-enum.model.metadata.json +1 -1
  39. package/dist/shared/components/event-management/models/state-machine-context.model.d.ts +3 -0
  40. package/dist/shared/components/event-management/services/event-state-machine.service.d.ts +16 -32
  41. package/dist/shared/components/event-management/services/event-state-machine.service.js +95 -105
  42. package/dist/shared/components/event-management/services/event-state-machine.service.js.map +1 -1
  43. package/dist/shared/components/event-management/services/event-state-machine.service.metadata.json +1 -1
  44. package/package.json +1 -1
package/RELEASE-NOTES.md CHANGED
@@ -1,6 +1,6 @@
1
1
  ## RELEASE NOTES
2
2
 
3
- ### Version 4.9.1-state-machine
3
+ ### Version 4.9.2-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.1-state-machine
3
+ * @version v4.9.2-state-machine
4
4
  * @link undefined
5
5
  * @license MIT
6
6
  */
@@ -19284,18 +19284,18 @@ __export(__webpack_require__(69115));
19284
19284
  Object.defineProperty(exports, "__esModule", ({ value: true }));
19285
19285
  var case_editor_1 = __webpack_require__(27070);
19286
19286
  var case_history_1 = __webpack_require__(30542);
19287
- var file_upload_progress_guard_1 = __webpack_require__(27667);
19287
+ var event_management_1 = __webpack_require__(37375);
19288
19288
  var event_start_guard_1 = __webpack_require__(10962);
19289
+ var event_tasks_resolver_service_1 = __webpack_require__(4085);
19290
+ var file_upload_progress_guard_1 = __webpack_require__(27667);
19289
19291
  var case_challenged_access_request_1 = __webpack_require__(38403);
19290
19292
  var case_challenged_access_success_1 = __webpack_require__(26840);
19291
- var case_specific_access_request_1 = __webpack_require__(73343);
19292
- var case_review_specific_access_request_1 = __webpack_require__(83444);
19293
19293
  var case_event_trigger_1 = __webpack_require__(92100);
19294
+ var case_review_specific_access_reject_1 = __webpack_require__(84766);
19295
+ var case_review_specific_access_request_1 = __webpack_require__(83444);
19296
+ var case_specific_access_request_1 = __webpack_require__(73343);
19294
19297
  var printer_1 = __webpack_require__(65773);
19295
19298
  var services_1 = __webpack_require__(50137);
19296
- var case_review_specific_access_reject_1 = __webpack_require__(84766);
19297
- var event_management_1 = __webpack_require__(37375);
19298
- var event_tasks_resolver_service_1 = __webpack_require__(4085);
19299
19299
  exports.viewerRouting = [
19300
19300
  {
19301
19301
  path: 'print',
@@ -19319,9 +19319,13 @@ exports.viewerRouting = [
19319
19319
  }
19320
19320
  },
19321
19321
  {
19322
- path: 'task-assignment',
19322
+ path: 'task-assigned',
19323
19323
  component: event_management_1.TaskAssignedComponent
19324
19324
  },
19325
+ {
19326
+ path: 'task-unassigned',
19327
+ component: event_management_1.TaskUnassignedComponent
19328
+ },
19325
19329
  {
19326
19330
  path: 'multiple-tasks-exist',
19327
19331
  component: event_management_1.MultipleTasksExistComponent
@@ -20247,18 +20251,18 @@ var __metadata = (this && this.__metadata) || function (k, v) {
20247
20251
  };
20248
20252
  Object.defineProperty(exports, "__esModule", ({ value: true }));
20249
20253
  var core_1 = __webpack_require__(57208);
20254
+ var router_1 = __webpack_require__(92302);
20250
20255
  var MultipleTasksExistComponent = /** @class */ (function () {
20251
- function MultipleTasksExistComponent() {
20256
+ function MultipleTasksExistComponent(route) {
20257
+ this.route = route;
20258
+ this.caseId = this.route.snapshot.data.case.case_id;
20252
20259
  }
20253
- __decorate([
20254
- core_1.Input(),
20255
- __metadata("design:type", String)
20256
- ], MultipleTasksExistComponent.prototype, "caseId", void 0);
20257
20260
  MultipleTasksExistComponent = __decorate([
20258
20261
  core_1.Component({
20259
20262
  selector: 'app-multiple-tasks-exist',
20260
20263
  template: __webpack_require__(16952)
20261
- })
20264
+ }),
20265
+ __metadata("design:paramtypes", [router_1.ActivatedRoute])
20262
20266
  ], MultipleTasksExistComponent);
20263
20267
  return MultipleTasksExistComponent;
20264
20268
  }());
@@ -20319,26 +20323,32 @@ var __metadata = (this && this.__metadata) || function (k, v) {
20319
20323
  };
20320
20324
  Object.defineProperty(exports, "__esModule", ({ value: true }));
20321
20325
  var core_1 = __webpack_require__(57208);
20326
+ var router_1 = __webpack_require__(92302);
20327
+ var services_1 = __webpack_require__(65010);
20322
20328
  var TaskAssignedComponent = /** @class */ (function () {
20323
- function TaskAssignedComponent() {
20329
+ function TaskAssignedComponent(route, sessionStorageService) {
20330
+ this.route = route;
20331
+ this.sessionStorageService = sessionStorageService;
20324
20332
  this.task = null;
20333
+ this.caseId = this.route.snapshot.data.case.case_id;
20334
+ this.task = this.route.snapshot.queryParams;
20325
20335
  }
20326
20336
  TaskAssignedComponent.prototype.ngOnInit = function () {
20327
- this.assignedUserName = this.task ? this.task.assignee : 'another user';
20337
+ var _this = this;
20338
+ var caseworkers = JSON.parse(this.sessionStorageService.getItem('caseworkers'));
20339
+ var caseworker = caseworkers.find(function (x) { return x.idamId === _this.task.assignee; });
20340
+ this.assignedUserName = caseworker !== undefined ? caseworker.firstName + " " + caseworker.lastName : 'another user';
20341
+ // TODO: If the task is not assigned to a caseworker, then
20342
+ // we have to perform an api call to check whether the task is assigned to judicial user
20343
+ // and display the judicial user name instead of 'another user'
20328
20344
  };
20329
- __decorate([
20330
- core_1.Input(),
20331
- __metadata("design:type", Object)
20332
- ], TaskAssignedComponent.prototype, "task", void 0);
20333
- __decorate([
20334
- core_1.Input(),
20335
- __metadata("design:type", String)
20336
- ], TaskAssignedComponent.prototype, "caseId", void 0);
20337
20345
  TaskAssignedComponent = __decorate([
20338
20346
  core_1.Component({
20339
20347
  selector: 'app-task-assigned',
20340
20348
  template: __webpack_require__(50744)
20341
- })
20349
+ }),
20350
+ __metadata("design:paramtypes", [router_1.ActivatedRoute,
20351
+ services_1.SessionStorageService])
20342
20352
  ], TaskAssignedComponent);
20343
20353
  return TaskAssignedComponent;
20344
20354
  }());
@@ -20421,6 +20431,42 @@ var TaskConflictComponent = /** @class */ (function () {
20421
20431
  exports.TaskConflictComponent = TaskConflictComponent;
20422
20432
 
20423
20433
 
20434
+ /***/ }),
20435
+
20436
+ /***/ 54310:
20437
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
20438
+
20439
+ "use strict";
20440
+
20441
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
20442
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20443
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
20444
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
20445
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
20446
+ };
20447
+ var __metadata = (this && this.__metadata) || function (k, v) {
20448
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
20449
+ };
20450
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
20451
+ var core_1 = __webpack_require__(57208);
20452
+ var router_1 = __webpack_require__(92302);
20453
+ var TaskUnassignedComponent = /** @class */ (function () {
20454
+ function TaskUnassignedComponent(route) {
20455
+ this.route = route;
20456
+ this.caseId = this.route.snapshot.data.case.case_id;
20457
+ }
20458
+ TaskUnassignedComponent = __decorate([
20459
+ core_1.Component({
20460
+ selector: 'app-task-unassigned',
20461
+ template: __webpack_require__(44937)
20462
+ }),
20463
+ __metadata("design:paramtypes", [router_1.ActivatedRoute])
20464
+ ], TaskUnassignedComponent);
20465
+ return TaskUnassignedComponent;
20466
+ }());
20467
+ exports.TaskUnassignedComponent = TaskUnassignedComponent;
20468
+
20469
+
20424
20470
  /***/ }),
20425
20471
 
20426
20472
  /***/ 10962:
@@ -20452,6 +20498,7 @@ var EventStartGuard = /** @class */ (function () {
20452
20498
  var _this = this;
20453
20499
  var caseId = route.params['cid'];
20454
20500
  var eventId = route.params['eid'];
20501
+ // TODO: NavigationExtras should be used once Angular upgrade changes have been incorporated
20455
20502
  var isComplete = route.queryParams['isComplete'];
20456
20503
  if (isComplete) {
20457
20504
  return rxjs_1.of(true);
@@ -20499,6 +20546,7 @@ var no_tasks_available_component_1 = __webpack_require__(6938);
20499
20546
  var task_assigned_component_1 = __webpack_require__(17170);
20500
20547
  var task_cancelled_component_1 = __webpack_require__(76766);
20501
20548
  var task_conflict_component_1 = __webpack_require__(80378);
20549
+ var task_unassigned_component_1 = __webpack_require__(54310);
20502
20550
  var event_start_guard_1 = __webpack_require__(10962);
20503
20551
  var event_start_component_1 = __webpack_require__(37618);
20504
20552
  var event_trigger_component_1 = __webpack_require__(65684);
@@ -20523,7 +20571,8 @@ var EventManagementModule = /** @class */ (function () {
20523
20571
  no_tasks_available_component_1.NoTasksAvailableComponent,
20524
20572
  task_assigned_component_1.TaskAssignedComponent,
20525
20573
  task_cancelled_component_1.TaskCancelledComponent,
20526
- task_conflict_component_1.TaskConflictComponent
20574
+ task_conflict_component_1.TaskConflictComponent,
20575
+ task_unassigned_component_1.TaskUnassignedComponent
20527
20576
  ],
20528
20577
  providers: [
20529
20578
  event_start_guard_1.EventStartGuard,
@@ -20533,7 +20582,8 @@ var EventManagementModule = /** @class */ (function () {
20533
20582
  exports: [
20534
20583
  event_start_component_1.EventStartComponent,
20535
20584
  event_trigger_component_1.EventTriggerComponent,
20536
- task_assigned_component_1.TaskAssignedComponent
20585
+ task_assigned_component_1.TaskAssignedComponent,
20586
+ task_unassigned_component_1.TaskUnassignedComponent
20537
20587
  ]
20538
20588
  })
20539
20589
  ], EventManagementModule);
@@ -20561,26 +20611,31 @@ var __metadata = (this && this.__metadata) || function (k, v) {
20561
20611
  Object.defineProperty(exports, "__esModule", ({ value: true }));
20562
20612
  var core_1 = __webpack_require__(57208);
20563
20613
  var router_1 = __webpack_require__(92302);
20564
- var services_1 = __webpack_require__(83522);
20614
+ var services_1 = __webpack_require__(65010);
20615
+ var services_2 = __webpack_require__(83522);
20565
20616
  var EventStartComponent = /** @class */ (function () {
20566
- function EventStartComponent(service, router, route) {
20617
+ function EventStartComponent(service, router, route, sessionStorageService) {
20567
20618
  this.service = service;
20568
20619
  this.router = router;
20569
20620
  this.route = route;
20621
+ this.sessionStorageService = sessionStorageService;
20570
20622
  }
20571
20623
  EventStartComponent.prototype.ngOnInit = function () {
20572
20624
  // Get task and case id payload from route data
20573
20625
  var tasks = this.route.snapshot.data.tasks;
20574
20626
  var caseId = this.route.snapshot.data.case.case_id;
20627
+ var eventId = this.route.snapshot.queryParams['eventId'];
20575
20628
  // Setup the context
20576
20629
  this.context = {
20577
20630
  tasks: tasks,
20578
20631
  caseId: caseId,
20632
+ eventId: eventId,
20579
20633
  router: this.router,
20580
- route: this.route
20634
+ route: this.route,
20635
+ sessionStorageService: this.sessionStorageService
20581
20636
  };
20582
20637
  // Initialise state machine
20583
- this.service = new services_1.EventStateMachineService();
20638
+ this.service = new services_2.EventStateMachineService();
20584
20639
  this.stateMachine = this.service.initialiseStateMachine(this.context);
20585
20640
  // Create states
20586
20641
  this.service.createStates(this.stateMachine);
@@ -20594,9 +20649,10 @@ var EventStartComponent = /** @class */ (function () {
20594
20649
  selector: 'ccd-event-start',
20595
20650
  template: __webpack_require__(93453)
20596
20651
  }),
20597
- __metadata("design:paramtypes", [services_1.EventStateMachineService,
20652
+ __metadata("design:paramtypes", [services_2.EventStateMachineService,
20598
20653
  router_1.Router,
20599
- router_1.ActivatedRoute])
20654
+ router_1.ActivatedRoute,
20655
+ services_1.SessionStorageService])
20600
20656
  ], EventStartComponent);
20601
20657
  return EventStartComponent;
20602
20658
  }());
@@ -20702,6 +20758,7 @@ __export(__webpack_require__(6938));
20702
20758
  __export(__webpack_require__(17170));
20703
20759
  __export(__webpack_require__(76766));
20704
20760
  __export(__webpack_require__(80378));
20761
+ __export(__webpack_require__(54310));
20705
20762
  __export(__webpack_require__(4640));
20706
20763
 
20707
20764
 
@@ -20717,16 +20774,15 @@ var EventStates;
20717
20774
  (function (EventStates) {
20718
20775
  EventStates["CHECK_FOR_MATCHING_TASKS"] = "check-for-matching-tasks";
20719
20776
  EventStates["NO_TASK"] = "no-task";
20720
- EventStates["ONE_TASK"] = "one-task";
20721
- EventStates["MULTIPLE_TASKS"] = "multiple-tasks";
20777
+ EventStates["ONE_OR_MORE_TASKS"] = "one-or-more-tasks";
20722
20778
  EventStates["TASK_ASSIGNED_TO_USER"] = "task-assigned-to-user";
20779
+ EventStates["ONE_TASK_ASSIGNED_TO_USER"] = "one-task-assigned-to-user";
20780
+ EventStates["MULTIPLE_TASKS_ASSIGNED_TO_USER"] = "multiple-tasks-assigned-to-user";
20723
20781
  EventStates["TASK_UNASSIGNED"] = "task-unassigned";
20724
20782
  EventStates["TASK_ASSIGNMENT_REQUIRED"] = "task-assignment-required";
20725
20783
  EventStates["ASSIGN_TASK_TO_SELF"] = "assign-task-to-self";
20726
20784
  EventStates["ASK_MANAGER_TO_ASSIGN_TASK"] = "ask-manager-to-assign-task";
20727
20785
  EventStates["SHOW_WARNING"] = "show-warning";
20728
- EventStates["SHOW_ERROR_MESSAGE"] = "show-error-message";
20729
- EventStates["CANCEL"] = "cancel";
20730
20786
  })(EventStates = exports.EventStates || (exports.EventStates = {}));
20731
20787
 
20732
20788
 
@@ -20814,7 +20870,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
20814
20870
  Object.defineProperty(exports, "__esModule", ({ value: true }));
20815
20871
  var core_1 = __webpack_require__(57208);
20816
20872
  var fsm_1 = __webpack_require__(5937);
20817
- var rxjs_1 = __webpack_require__(87318);
20818
20873
  var models_1 = __webpack_require__(76605);
20819
20874
  var EVENT_STATE_MACHINE = 'EVENT STATE MACHINE';
20820
20875
  var EventStateMachineService = /** @class */ (function () {
@@ -20824,149 +20879,140 @@ var EventStateMachineService = /** @class */ (function () {
20824
20879
  return new fsm_1.StateMachine(EVENT_STATE_MACHINE, context);
20825
20880
  };
20826
20881
  EventStateMachineService.prototype.createStates = function (stateMachine) {
20827
- // Create states
20828
- this.stateCheckForMatchingTasks = stateMachine.createState(models_1.EventStates.CHECK_FOR_MATCHING_TASKS, false, this.initialEntryState);
20829
- this.stateNoTask = stateMachine.createState(models_1.EventStates.NO_TASK, false, this.entryAction);
20830
- this.stateOneTask = stateMachine.createState(models_1.EventStates.ONE_TASK, false, this.entryAction);
20831
- this.stateMultipleTask = stateMachine.createState(models_1.EventStates.MULTIPLE_TASKS, false, this.decideAction);
20832
- this.stateTaskAssignedToUser = stateMachine.createState(models_1.EventStates.TASK_ASSIGNED_TO_USER, false, this.entryAction);
20833
- this.stateTaskUnassigned = stateMachine.createState(models_1.EventStates.TASK_UNASSIGNED, false, this.entryAction);
20834
- this.stateTaskAssignmentRequired = stateMachine.createState(models_1.EventStates.TASK_ASSIGNMENT_REQUIRED, false, this.entryAction);
20835
- this.stateAssignTaskToSelf = stateMachine.createState(models_1.EventStates.ASSIGN_TASK_TO_SELF, false, this.entryAction);
20836
- this.stateAskManagerToAssignTask = stateMachine.createState(models_1.EventStates.ASK_MANAGER_TO_ASSIGN_TASK, false, this.entryAction);
20837
- this.stateShowWarning = stateMachine.createState(models_1.EventStates.SHOW_WARNING, false, this.navigateToNoTaskAvailablePage);
20838
- this.stateShowErrorMessage = stateMachine.createState(models_1.EventStates.SHOW_ERROR_MESSAGE, false, this.exitAction);
20839
- this.stateCancel = stateMachine.createState(models_1.EventStates.CANCEL, false, this.exitAction);
20840
- // Create final state, the second param isComplete is set to true
20882
+ // Initial state
20883
+ this.stateCheckForMatchingTasks = stateMachine.createState(models_1.EventStates.CHECK_FOR_MATCHING_TASKS, false, this.entryActionForStateCheckForMatchingTasks);
20884
+ // States based on number of tasks available
20885
+ this.stateNoTask = stateMachine.createState(models_1.EventStates.NO_TASK, false, this.entryActionForStateNoTask);
20886
+ this.stateOneOrMoreTasks = stateMachine.createState(models_1.EventStates.ONE_OR_MORE_TASKS, false, this.entryActionForStateOneOrMoreTasks);
20887
+ // States based on number of tasks assigned to user
20888
+ this.stateTaskUnassigned = stateMachine.createState(models_1.EventStates.TASK_UNASSIGNED, false, this.entryActionForStateTaskUnAssigned);
20889
+ this.stateTaskAssignedToUser = stateMachine.createState(models_1.EventStates.TASK_ASSIGNED_TO_USER, false, this.entryActionForStateTaskAssignedToUser);
20890
+ this.stateOneTaskAssignedToUser = stateMachine.createState(models_1.EventStates.ONE_TASK_ASSIGNED_TO_USER, false, this.entryActionForStateOneTaskAssignedToUser);
20891
+ this.stateMultipleTasksAssignedToUser = stateMachine.createState(models_1.EventStates.MULTIPLE_TASKS_ASSIGNED_TO_USER, false, this.entryActionForStateMultipleTasksAssignedToUser);
20892
+ // Create final state, the second param isComplete is set to true to make sure state machine finished running
20841
20893
  this.stateFinal = stateMachine.createState(models_1.StateMachineStates.FINAL, true, this.finalAction);
20842
20894
  };
20843
20895
  EventStateMachineService.prototype.addTransitions = function () {
20896
+ // Initial transition
20844
20897
  this.addTransitionsForStateCheckForMatchingTasks();
20898
+ // Transitions based on number of tasks available
20845
20899
  this.addTransitionsForStateNoTask();
20846
- this.addTransitionsForStateOneTask();
20847
- this.addTransitionsForStateMultipleTasks();
20900
+ this.addTransitionsForStateOneOrMoreTasks();
20901
+ // Transitions based on number of tasks assigned to user
20848
20902
  this.addTransitionsForStateTaskUnassigned();
20849
- this.addTransitionsForStateTaskAssignmentRequired();
20850
- this.addTransitionsForStateAssignTaskToSelf();
20851
- this.addTransitionsForStateAskManagerToAssignTask();
20852
- this.addTransitionsForStateShowWarning();
20853
- this.addTransitionsForStateShowErrorMessage();
20854
- this.addTransitionsForStateCancel();
20855
- // Define final state transition
20856
- this.addTransitionsForStateFinal();
20903
+ this.addTransitionsForStateTaskAssignedToUser();
20904
+ this.addTransitionsForStateOneTaskAssignedToUser();
20905
+ this.addTransitionsForStateMultipleTasksAssignedToUser();
20857
20906
  };
20858
20907
  EventStateMachineService.prototype.startStateMachine = function (stateMachine) {
20859
20908
  stateMachine.start(this.stateCheckForMatchingTasks);
20860
20909
  };
20861
20910
  /**
20862
- * Initial entry state, decided based on the number of tasks
20911
+ * Initial entry action for state check for matching tasks, decided based on the number of tasks
20863
20912
  */
20864
- EventStateMachineService.prototype.initialEntryState = function (state, context) {
20913
+ EventStateMachineService.prototype.entryActionForStateCheckForMatchingTasks = function (state, context) {
20865
20914
  var taskCount = context && context.tasks ? context.tasks.length : 0;
20866
- switch (taskCount) {
20867
- case 0:
20868
- // No tasks
20869
- state.trigger(models_1.EventStates.NO_TASK);
20870
- break;
20871
- case 1:
20872
- // One task
20873
- state.trigger(models_1.EventStates.ONE_TASK);
20874
- break;
20875
- default:
20876
- // Multiple tasks
20877
- state.trigger(models_1.EventStates.MULTIPLE_TASKS);
20878
- break;
20915
+ if (taskCount === 0) {
20916
+ // Trigger state no task
20917
+ state.trigger(models_1.EventStates.NO_TASK);
20918
+ }
20919
+ else {
20920
+ // Trigger state one or more tasks
20921
+ state.trigger(models_1.EventStates.ONE_OR_MORE_TASKS);
20879
20922
  }
20880
20923
  };
20881
- EventStateMachineService.prototype.navigateToNoTaskAvailablePage = function (state, context) {
20882
- console.log('Context action not available', context);
20924
+ EventStateMachineService.prototype.entryActionForStateNoTask = function (state, context) {
20925
+ // Trigger final state to complete processing of state machine
20926
+ state.trigger(models_1.StateMachineStates.FINAL);
20927
+ // Navigate to no tasks available error page
20883
20928
  context.router.navigate(["/cases/case-details/" + context.caseId + "/no-tasks-available"], { relativeTo: context.route });
20884
20929
  };
20885
- /**
20886
- * State entry action
20887
- */
20888
- EventStateMachineService.prototype.entryAction = function (state, context) {
20889
- // TODO: Actions based on the state id
20890
- switch (state.id) {
20891
- case models_1.EventStates.NO_TASK:
20892
- // Example below
20893
- state.trigger(models_1.EventStates.SHOW_WARNING);
20894
- break;
20895
- case models_1.EventStates.ONE_TASK:
20896
- break;
20897
- case models_1.EventStates.MULTIPLE_TASKS:
20898
- break;
20899
- case models_1.EventStates.TASK_ASSIGNED_TO_USER:
20930
+ EventStateMachineService.prototype.entryActionForStateOneOrMoreTasks = function (state, context) {
20931
+ state.trigger(models_1.EventStates.TASK_ASSIGNED_TO_USER);
20932
+ };
20933
+ EventStateMachineService.prototype.entryActionForStateMultipleTasks = function (state, context) {
20934
+ state.trigger(models_1.EventStates.MULTIPLE_TASKS_ASSIGNED_TO_USER);
20935
+ };
20936
+ EventStateMachineService.prototype.entryActionForStateTaskAssignedToUser = function (state, context) {
20937
+ // Get number of tasks assigned to user
20938
+ var userInfoStr = context.sessionStorageService.getItem('userDetails');
20939
+ var userInfo = JSON.parse(userInfoStr);
20940
+ var tasksAssignedToUser = context.tasks.filter(function (x) { return x.assignee === userInfo.id; });
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);
20900
20945
  break;
20901
- case models_1.EventStates.TASK_UNASSIGNED:
20946
+ case 1:
20947
+ // One task assigned to user
20948
+ state.trigger(models_1.EventStates.ONE_TASK_ASSIGNED_TO_USER);
20902
20949
  break;
20903
20950
  default:
20904
- rxjs_1.throwError('Invalid state');
20951
+ // Multiple tasks assigned to user, trigger state multiple tasks assigned to user
20952
+ state.trigger(models_1.EventStates.MULTIPLE_TASKS_ASSIGNED_TO_USER);
20905
20953
  break;
20906
20954
  }
20907
20955
  };
20908
- /**
20909
- * State exit action
20910
- */
20911
- EventStateMachineService.prototype.exitAction = function (state) {
20912
- // TODO: Return true or false based on the scenario
20913
- return true;
20914
- };
20915
- /**
20916
- * State decide action
20917
- */
20918
- EventStateMachineService.prototype.decideAction = function (state, context) {
20919
- // Find out the relevant event
20920
- var taskCount = context && context.tasks ? context.tasks.length : 0;
20921
- // TODO: To be implemented based on the number of tasks
20956
+ EventStateMachineService.prototype.entryActionForStateTaskUnAssigned = function (state, context) {
20957
+ var navigationURL = '';
20958
+ var theQueryParams = {};
20959
+ if (context.tasks[0].assignee) {
20960
+ // Task is assigned to some other user, navigate to task assigned error page
20961
+ navigationURL = "/cases/case-details/" + context.caseId + "/task-assigned";
20962
+ theQueryParams = context.tasks[0];
20963
+ }
20964
+ else {
20965
+ // Task is unassigned, navigate to task unassigned error page
20966
+ navigationURL = "/cases/case-details/" + context.caseId + "/task-unassigned";
20967
+ }
20968
+ // Trigger final state to complete processing of state machine
20969
+ state.trigger(models_1.StateMachineStates.FINAL);
20970
+ // Navigate
20971
+ context.router.navigate(["" + navigationURL], { queryParams: theQueryParams, relativeTo: context.route });
20972
+ };
20973
+ EventStateMachineService.prototype.entryActionForStateOneTaskAssignedToUser = function (state, context) {
20974
+ // Trigger final state to complete processing of state machine
20975
+ state.trigger(models_1.StateMachineStates.FINAL);
20976
+ // Allow user to perform the event
20977
+ context.router.navigate(["/cases/case-details/" + context.caseId + "/trigger/" + context.eventId], { queryParams: { isComplete: true }, relativeTo: context.route });
20978
+ };
20979
+ EventStateMachineService.prototype.entryActionForStateMultipleTasksAssignedToUser = function (state, context) {
20980
+ // Trigger final state to complete processing of state machine
20981
+ state.trigger(models_1.StateMachineStates.FINAL);
20982
+ // Navigate to multiple tasks exist error page
20983
+ context.router.navigate(["/cases/case-details/" + context.caseId + "/multiple-tasks-exist"], { relativeTo: context.route });
20922
20984
  };
20923
20985
  EventStateMachineService.prototype.finalAction = function (state) {
20924
20986
  // TODO: Perform final actions, the state machine finished running
20987
+ console.log('FINAL action here', state);
20988
+ console.log('State is complete', state.isComplete);
20925
20989
  };
20926
20990
  EventStateMachineService.prototype.addTransitionsForStateCheckForMatchingTasks = function () {
20927
20991
  // No tasks
20928
20992
  this.stateCheckForMatchingTasks.addTransition(models_1.EventStates.NO_TASK, this.stateNoTask);
20929
20993
  // One task
20930
- this.stateCheckForMatchingTasks.addTransition(models_1.EventStates.ONE_TASK, this.stateOneTask);
20931
- // Multiple tasks
20932
- this.stateCheckForMatchingTasks.addTransition(models_1.EventStates.MULTIPLE_TASKS, this.stateMultipleTask);
20994
+ this.stateCheckForMatchingTasks.addTransition(models_1.EventStates.ONE_OR_MORE_TASKS, this.stateOneOrMoreTasks);
20933
20995
  };
20934
20996
  EventStateMachineService.prototype.addTransitionsForStateNoTask = function () {
20935
- // TODO: Add required transitions
20936
- this.stateNoTask.addTransition(models_1.EventStates.SHOW_WARNING, this.stateShowWarning);
20937
- };
20938
- EventStateMachineService.prototype.addTransitionsForStateOneTask = function () {
20939
- // TODO: Add required transitions
20997
+ this.stateNoTask.addTransition(models_1.StateMachineStates.FINAL, this.stateFinal);
20940
20998
  };
20941
- EventStateMachineService.prototype.addTransitionsForStateMultipleTasks = function () {
20942
- // TODO: Add required transitions
20943
- };
20944
- EventStateMachineService.prototype.addTransitionsForStateTaskAssignedToUser = function () {
20945
- // TODO: Add required transitions
20999
+ EventStateMachineService.prototype.addTransitionsForStateOneOrMoreTasks = function () {
21000
+ this.stateOneOrMoreTasks.addTransition(models_1.EventStates.TASK_ASSIGNED_TO_USER, this.stateTaskAssignedToUser);
20946
21001
  };
20947
21002
  EventStateMachineService.prototype.addTransitionsForStateTaskUnassigned = function () {
20948
- // TODO: Add required transitions
20949
- };
20950
- EventStateMachineService.prototype.addTransitionsForStateTaskAssignmentRequired = function () {
20951
- // TODO: Add required transitions
20952
- };
20953
- EventStateMachineService.prototype.addTransitionsForStateAssignTaskToSelf = function () {
20954
- // TODO: Add required transitions
20955
- };
20956
- EventStateMachineService.prototype.addTransitionsForStateAskManagerToAssignTask = function () {
20957
- // TODO: Add required transitions
21003
+ this.stateTaskUnassigned.addTransition(models_1.StateMachineStates.FINAL, this.stateFinal);
20958
21004
  };
20959
- EventStateMachineService.prototype.addTransitionsForStateShowWarning = function () {
20960
- this.stateFinal.addTransition(models_1.StateMachineStates.FINAL, this.stateFinal);
20961
- };
20962
- EventStateMachineService.prototype.addTransitionsForStateShowErrorMessage = function () {
20963
- // TODO: Add required transitions
21005
+ EventStateMachineService.prototype.addTransitionsForStateTaskAssignedToUser = function () {
21006
+ this.stateTaskAssignedToUser.addTransition(models_1.EventStates.ONE_TASK_ASSIGNED_TO_USER, this.stateOneTaskAssignedToUser);
21007
+ this.stateTaskAssignedToUser.addTransition(models_1.EventStates.TASK_UNASSIGNED, this.stateTaskUnassigned);
21008
+ this.stateTaskAssignedToUser.addTransition(models_1.EventStates.MULTIPLE_TASKS_ASSIGNED_TO_USER, this.stateMultipleTasksAssignedToUser);
21009
+ this.stateTaskAssignedToUser.addTransition(models_1.StateMachineStates.FINAL, this.stateFinal);
20964
21010
  };
20965
- EventStateMachineService.prototype.addTransitionsForStateCancel = function () {
20966
- // TODO: Add required transitions
21011
+ EventStateMachineService.prototype.addTransitionsForStateOneTaskAssignedToUser = function () {
21012
+ this.stateOneTaskAssignedToUser.addTransition(models_1.StateMachineStates.FINAL, this.stateFinal);
20967
21013
  };
20968
- EventStateMachineService.prototype.addTransitionsForStateFinal = function () {
20969
- // TODO: Add required transitions
21014
+ EventStateMachineService.prototype.addTransitionsForStateMultipleTasksAssignedToUser = function () {
21015
+ this.stateMultipleTasksAssignedToUser.addTransition(models_1.StateMachineStates.FINAL, this.stateFinal);
20970
21016
  };
20971
21017
  EventStateMachineService = __decorate([
20972
21018
  core_1.Injectable()
@@ -83524,6 +83570,13 @@ module.exports = "<div class=\"govuk-!-margin-9\">\n <div class=\"govuk-error-s
83524
83570
 
83525
83571
  /***/ }),
83526
83572
 
83573
+ /***/ 44937:
83574
+ /***/ ((module) => {
83575
+
83576
+ module.exports = "<div class=\"govuk-!-margin-9\">\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\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>You must assign one of the available tasks from the task tab to continue with your work.</p>\n\n <a href=\"javascript:void(0)\" [routerLink]=\"['/', 'cases', 'case-details', caseId, 'tasks']\">Return to tasks tab to\n assign a task</a>\n </div>\n</div>\n"
83577
+
83578
+ /***/ }),
83579
+
83527
83580
  /***/ 93453:
83528
83581
  /***/ ((module) => {
83529
83582