@netgrif/components-core
Version:
Netgrif Application engine frontend core Angular library
88 lines (87 loc) • 5.47 kB
TypeScript
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>;
}