@netgrif/components-core
Version:
Netgrif Application engine frontend core Angular library
42 lines (41 loc) • 2.37 kB
TypeScript
import { TaskHandlingService } from './task-handling-service';
import { TaskContentService } from '../../task-content/services/task-content.service';
import { DataFocusPolicyService } from './data-focus-policy.service';
import { TaskOperations } from '../interfaces/task-operations';
import { FinishTaskService } from './finish-task.service';
import { Subject } from 'rxjs';
import { AfterAction } from '../../utility/call-chain/after-action';
import * as i0 from "@angular/core";
/**
* Handles the sequence of actions that are performed when a task is being finished, based on the task's configuration.
*/
export declare class FinishPolicyService extends TaskHandlingService {
protected _dataFocusPolicyService: DataFocusPolicyService;
protected _finishTaskService: FinishTaskService;
protected _taskOperations: TaskOperations;
constructor(_dataFocusPolicyService: DataFocusPolicyService, _finishTaskService: FinishTaskService, _taskOperations: TaskOperations, taskContentService: TaskContentService);
/**
* Performs the actions that correspond to the policy defined by the Task when it's finished.
* @param afterAction the action that should be performed when the finish policy finishes
*/
performFinishPolicy(afterAction?: AfterAction): void;
/**
* Performs the actions that correspond to the [Auto Finish Policy]{@link FinishPolicy#autoNoData}.
*
* If the task has no data performs finish and [closes]{@link TaskOperations#close} the task.
* Otherwise [opens]{@link TaskOperations#open} it and performs the [data focus policy]{@link DataFocusPolicyService}.
*
* @param afterAction the action that should be performed when the finish policy finishes
*/
protected autoNoDataFinishPolicy(afterAction: AfterAction): void;
/**
* Performs the actions that correspond to the [Manual Finish Policy]{@link FinishPolicy#manual}.
*
* [Opens]{@link TaskOperations#open} the task and performs the [data focus policy]{@link DataFocusPolicyService}.
*
* @param afterAction the action that should be performed when the finish policy finishes
*/
protected manualFinishPolicy(afterAction: Subject<boolean>): void;
static ɵfac: i0.ɵɵFactoryDeclaration<FinishPolicyService, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<FinishPolicyService>;
}