diff --git a/projects/netgrif-components-core/src/lib/task/services/assign-task.service.ts b/projects/netgrif-components-core/src/lib/task/services/assign-task.service.ts index 8fcf82ceb..d2a13f919 100644 --- a/projects/netgrif-components-core/src/lib/task/services/assign-task.service.ts +++ b/projects/netgrif-components-core/src/lib/task/services/assign-task.service.ts @@ -24,6 +24,8 @@ import {ChangedFieldsService} from '../../changed-fields/services/changed-fields import {EventService} from '../../event/services/event.service'; import {ChangedFieldsMap} from '../../event/services/interfaces/changed-fields-map'; import {TaskEventOutcome} from '../../event/model/event-outcomes/task-outcomes/task-event-outcome'; +import {FrontActionService} from '../../actions/services/front-action.service'; +import {FrontAction} from '../../data-fields/models/changed-fields'; /** @@ -41,6 +43,7 @@ export class AssignTaskService extends TaskHandlingService { protected _taskDataService: TaskDataService, protected _eventQueue: EventQueueService, protected _eventService: EventService, + protected _frontActionService: FrontActionService, protected _changedFieldsService: ChangedFieldsService, @Inject(NAE_TASK_OPERATIONS) protected _taskOperations: TaskOperations, @Optional() _selectedCaseService: SelectedCaseService, @@ -124,6 +127,10 @@ export class AssignTaskService extends TaskHandlingService { if (!!changedFieldsMap) { this._changedFieldsService.emitChangedFields(changedFieldsMap); } + const frontActions: Array = this._eventService.parseFrontActionsFromOutcomeTree(outcomeResource.outcome); + if (frontActions?.length > 0) { + this._frontActionService.runAll(frontActions); + } forceReload ? this._taskOperations.forceReload() : this._taskOperations.reload(); this.completeActions(afterAction, nextEvent, true, outcomeResource.outcome as AssignTaskEventOutcome); this._snackBar.openSuccessSnackBar(!!outcomeResource.outcome.message diff --git a/projects/netgrif-components-core/src/lib/task/services/cancel-task.service.ts b/projects/netgrif-components-core/src/lib/task/services/cancel-task.service.ts index ab7a536ff..9e490e66a 100644 --- a/projects/netgrif-components-core/src/lib/task/services/cancel-task.service.ts +++ b/projects/netgrif-components-core/src/lib/task/services/cancel-task.service.ts @@ -26,6 +26,8 @@ import {ChangedFieldsService} from '../../changed-fields/services/changed-fields import { EventService} from '../../event/services/event.service'; import {ChangedFieldsMap} from '../../event/services/interfaces/changed-fields-map'; import {TaskEventOutcome} from '../../event/model/event-outcomes/task-outcomes/task-event-outcome'; +import {FrontActionService} from "../../actions/services/front-action.service"; +import {FrontAction} from "../../data-fields/models/changed-fields"; /** * Service that handles the logic of canceling a task. @@ -45,6 +47,7 @@ export class CancelTaskService extends TaskHandlingService { protected _eventQueue: EventQueueService, protected _eventService: EventService, protected _changedFieldsService: ChangedFieldsService, + protected _frontActionService: FrontActionService, @Inject(NAE_TASK_OPERATIONS) protected _taskOperations: TaskOperations, @Optional() _selectedCaseService: SelectedCaseService, @Optional() protected _taskViewService: TaskViewService, @@ -126,6 +129,10 @@ export class CancelTaskService extends TaskHandlingService { if (!!changedFieldsMap) { this._changedFieldsService.emitChangedFields(changedFieldsMap); } + const frontActions: Array = this._eventService.parseFrontActionsFromOutcomeTree(outcomeResource.outcome); + if (frontActions?.length > 0) { + this._frontActionService.runAll(frontActions); + } forceReload ? this._taskOperations.forceReload() : this._taskOperations.reload(); this.completeActions(afterAction, nextEvent, true, outcomeResource.outcome as CancelTaskEventOutcome); } else if (outcomeResource.error !== undefined) { diff --git a/projects/netgrif-components-core/src/lib/task/services/finish-task.service.ts b/projects/netgrif-components-core/src/lib/task/services/finish-task.service.ts index c6c4b8af1..501418176 100644 --- a/projects/netgrif-components-core/src/lib/task/services/finish-task.service.ts +++ b/projects/netgrif-components-core/src/lib/task/services/finish-task.service.ts @@ -24,6 +24,8 @@ import {ChangedFieldsService} from '../../changed-fields/services/changed-fields import {EventService} from '../../event/services/event.service'; import {ChangedFieldsMap} from '../../event/services/interfaces/changed-fields-map'; import {TaskEventOutcome} from '../../event/model/event-outcomes/task-outcomes/task-event-outcome'; +import {FrontActionService} from '../../actions/services/front-action.service'; +import {FrontAction} from '../../data-fields/models/changed-fields'; /** @@ -43,6 +45,7 @@ export class FinishTaskService extends TaskHandlingService { protected _eventQueue: EventQueueService, protected _eventService: EventService, protected _changedFieldsService: ChangedFieldsService, + protected _frontActionService: FrontActionService, @Inject(NAE_TASK_OPERATIONS) protected _taskOperations: TaskOperations, @Optional() _selectedCaseService: SelectedCaseService, _taskContentService: TaskContentService) { @@ -140,6 +143,10 @@ export class FinishTaskService extends TaskHandlingService { if (!!changedFieldsMap) { this._changedFieldsService.emitChangedFields(changedFieldsMap); } + const frontActions: Array = this._eventService.parseFrontActionsFromOutcomeTree(outcomeResource.outcome); + if (frontActions?.length > 0) { + this._frontActionService.runAll(frontActions); + } this._taskOperations.reload(); this.completeActions(afterAction, nextEvent, true, outcomeResource.outcome as FinishTaskEventOutcome); this._taskOperations.close();