UNPKG

@netgrif/components-core

Version:

Netgrif Application engine frontend core Angular library

88 lines (87 loc) 5.47 kB
import { TaskHandlingService } from './task-handling-service'; import { TaskContentService } from '../../task-content/services/task-content.service'; import { TaskDataService } from './task-data.service'; import { AssignTaskService } from './assign-task.service'; import { CancelTaskService } from './cancel-task.service'; import { FinishPolicyService } from './finish-policy.service'; import { TaskOperations } from '../interfaces/task-operations'; import { CallChainService } from '../../utility/call-chain/call-chain.service'; import { Subject } from 'rxjs'; import { UserComparatorService } from '../../user/services/user-comparator.service'; import { AfterAction } from '../../utility/call-chain/after-action'; import { PermissionService } from '../../authorization/permission/permission.service'; import { UserService } from "../../user/services/user.service"; import * as i0 from "@angular/core"; /** * Handles the sequence of actions that are performed when a task is being assigned, based on the task's configuration. */ export declare class AssignPolicyService extends TaskHandlingService { protected _taskDataService: TaskDataService; protected _assignTaskService: AssignTaskService; protected _cancelTaskService: CancelTaskService; protected _finishPolicyService: FinishPolicyService; protected _callchain: CallChainService; protected _userComparatorService: UserComparatorService; protected _taskOperations: TaskOperations; protected _permissionService: PermissionService; protected _userService: UserService; private _isForced; constructor(_taskDataService: TaskDataService, _assignTaskService: AssignTaskService, _cancelTaskService: CancelTaskService, _finishPolicyService: FinishPolicyService, _callchain: CallChainService, _userComparatorService: UserComparatorService, _taskOperations: TaskOperations, taskContentService: TaskContentService, _permissionService: PermissionService, _userService: UserService); get forced(): boolean; set forced(bool: boolean); /** * Performs the actions that correspond to the policy defined by the Task on it's assignment. * @param taskOpened whether the Task was 'opened' (eg. task panel is expanding) or 'closed' (eg. task panel is collapsing) * @param afterAction the action that should be performed when the assign policy (and all following policies) finishes */ performAssignPolicy(taskOpened: boolean, afterAction?: AfterAction): void; private performAssign; /** * Performs the actions that correspond to the [Auto Assign Policy]{@link AssignPolicy#auto}. * @param taskOpened whether the Task was 'opened' (eg. task panel is expanding) or 'closed' (eg. task panel is collapsing) * @param afterAction the action that should be performed when the assign policy (and all following policies) finishes */ protected autoAssignPolicy(taskOpened: boolean, afterAction: AfterAction): void; /** * Performs the actions that correspond to the [Auto Assign Policy]{@link AssignPolicy#auto} * when a task is 'opening' (eg. task panel is expanding). * * Assigns the task, reloads the current task page, loads task data and performs the finish policy. * * See [finish policy]{@link FinishPolicyService#performFinishPolicy} for more information. * * @param afterAction the action that should be performed when the assign policy (and all following policies) finishes */ protected autoAssignOpenedPolicy(afterAction: AfterAction): void; /** * Reloads the current page of tasks if the preceding assign operation succeeded. Then initializes the task's data fields. * @param assignSuccess whether the preceding assign succeeded or not * @param afterAction the action that should be performed when the assign policy (and all following policies) finishes */ protected afterAssignOpenPolicy(assignSuccess: boolean, afterAction: AfterAction): void; /** * Requests a reload of the task and then requests the task to be closed. * * @param afterAction the action that should be performed when the assign policy (and all following policies) finishes */ protected autoAssignClosedPolicy(afterAction: Subject<boolean>): void; /** * Performs the actions that correspond to the [Manual Assign Policy]{@link AssignPolicy#manual}. * @param taskOpened whether the Task was 'opened' (eg. task panel is expanding) or 'closed' (eg. task panel is collapsing) * @param afterAction the action that should be performed when the assign policy (and all following policies) finishes */ protected manualAssignPolicy(taskOpened: boolean, afterAction: AfterAction): void; /** * Performs the actions that correspond to the [Manual Assign Policy]{@link AssignPolicy#manual} * when a task is 'opening' (eg. task panel is expanding). * * Loads task data and performs the [finish policy]{@link FinishPolicyService#performFinishPolicy}. * * See [finish policy]{@link FinishPolicyService#performFinishPolicy} for more information. * * @param afterAction the action that should be performed when the assign policy (and all following policies) finishes */ protected manualAssignOpenedPolicy(afterAction: AfterAction): void; static ɵfac: i0.ɵɵFactoryDeclaration<AssignPolicyService, never>; static ɵprov: i0.ɵɵInjectableDeclaration<AssignPolicyService>; }