@netgrif/components-core
Version:
Netgrif Application engine frontend core Angular library
130 lines (129 loc) • 8.64 kB
TypeScript
import { AfterViewInit, EventEmitter, OnDestroy, OnInit, TemplateRef, Type } from '@angular/core';
import { MatExpansionPanel } from '@angular/material/expansion';
import { ComponentPortal } from '@angular/cdk/portal';
import { TaskContentService } from '../../task-content/services/task-content.service';
import { LoggerService } from '../../logger/services/logger.service';
import { TaskPanelData } from '../task-panel-data/task-panel-data';
import { Subscription } from 'rxjs';
import { TaskViewService } from '../../view/task-view/service/task-view.service';
import { HeaderColumn } from '../../header/models/header-column';
import { PaperViewService } from '../../navigation/quick-panel/components/paper-view.service';
import { TaskEventService } from '../../task-content/services/task-event.service';
import { AssignTaskService } from '../../task/services/assign-task.service';
import { DelegateTaskService } from '../../task/services/delegate-task.service';
import { CancelTaskService } from '../../task/services/cancel-task.service';
import { FinishTaskService } from '../../task/services/finish-task.service';
import { TaskRequestStateService } from '../../task/services/task-request-state.service';
import { TaskDataService } from '../../task/services/task-data.service';
import { AssignPolicyService } from '../../task/services/assign-policy.service';
import { SubjectTaskOperations } from '../../task/models/subject-task-operations';
import { CallChainService } from '../../utility/call-chain/call-chain.service';
import { TaskEventNotification } from '../../task-content/model/task-event-notification';
import { DisableButtonFuntions } from './models/disable-functions';
import { AbstractPanelWithImmediateDataComponent } from '../abstract/panel-with-immediate-data';
import { TranslateService } from '@ngx-translate/core';
import { FeaturedValue } from '../abstract/featured-value';
import { CurrencyPipe } from '@angular/common';
import { PermissionService } from '../../authorization/permission/permission.service';
import { ChangedFieldsService } from '../../changed-fields/services/changed-fields.service';
import { TaskPanelContext } from './models/task-panel-context';
import { OverflowService } from '../../header/services/overflow.service';
import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
import { FinishPolicyService } from '../../task/services/finish-policy.service';
import { InjectedTabData } from '../../tabs/interfaces';
import * as i0 from "@angular/core";
export declare abstract class AbstractTaskPanelComponent extends AbstractPanelWithImmediateDataComponent implements OnInit, AfterViewInit, OnDestroy {
protected _taskContentService: TaskContentService;
protected _log: LoggerService;
protected _taskViewService: TaskViewService;
protected _paperView: PaperViewService;
protected _taskEventService: TaskEventService;
protected _assignTaskService: AssignTaskService;
protected _delegateTaskService: DelegateTaskService;
protected _cancelTaskService: CancelTaskService;
protected _finishTaskService: FinishTaskService;
protected _taskState: TaskRequestStateService;
protected _taskDataService: TaskDataService;
protected _assignPolicyService: AssignPolicyService;
protected _finishPolicyService: FinishPolicyService;
protected _callChain: CallChainService;
protected _taskOperations: SubjectTaskOperations;
protected _disableFunctions: DisableButtonFuntions;
protected _translate: TranslateService;
protected _currencyPipe: CurrencyPipe;
protected _changedFieldsService: ChangedFieldsService;
protected _permissionService: PermissionService;
protected _taskForceOpen: boolean;
/**
* @ignore
* Set by an @Input() on a setter function, that also resolves featured fields.
*/
protected _taskPanelData: TaskPanelData;
protected _forceLoadDataOnOpen: boolean;
taskListVirtualScroll: CdkVirtualScrollViewport;
panelContentComponent: Type<any>;
first: boolean;
last: boolean;
responsiveBody: boolean;
preventExpand: boolean;
preventCollapse: boolean;
hidePanelHeader: boolean;
hideActionRow: boolean;
actionButtonTemplates: Array<TemplateRef<any>>;
actionRowJustifyContent: 'space-between' | 'flex-start' | 'flex-end' | 'center' | 'space-around' | 'initial' | 'start' | 'end' | 'left' | 'right' | 'revert' | 'inherit' | 'unset';
showMoreMenu: boolean;
thisContext: TaskPanelContext;
set forceLoadDataOnOpen(force: boolean);
textEllipsis: boolean;
/**
* Emits notifications about task events
*/
taskEvent: EventEmitter<TaskEventNotification>;
panelRefOutput: EventEmitter<MatExpansionPanel>;
portal: ComponentPortal<any>;
panelRef: MatExpansionPanel;
protected _sub: Subscription;
protected _subTaskEvent: Subscription;
protected _subTaskData: Subscription;
protected _subPanelUpdate: Subscription;
protected _taskDisableButtonFunctions: DisableButtonFuntions;
protected _unsub: Subscription;
protected _canReload: boolean;
protected constructor(_taskContentService: TaskContentService, _log: LoggerService, _taskViewService: TaskViewService, _paperView: PaperViewService, _taskEventService: TaskEventService, _assignTaskService: AssignTaskService, _delegateTaskService: DelegateTaskService, _cancelTaskService: CancelTaskService, _finishTaskService: FinishTaskService, _taskState: TaskRequestStateService, _taskDataService: TaskDataService, _assignPolicyService: AssignPolicyService, _finishPolicyService: FinishPolicyService, _callChain: CallChainService, _taskOperations: SubjectTaskOperations, _disableFunctions: DisableButtonFuntions, _translate: TranslateService, _currencyPipe: CurrencyPipe, _changedFieldsService: ChangedFieldsService, _permissionService: PermissionService, overflowService: OverflowService, _taskForceOpen: boolean, injectedTabData: InjectedTabData);
ngOnInit(): void;
ngAfterViewInit(): void;
protected abstract createContentPortal(): void;
set taskPanelData(data: TaskPanelData);
get taskPanelData(): TaskPanelData;
get isLoading(): boolean;
stopLoading(): void;
preventPanelOpen($event: MouseEvent): boolean;
isPaperView(): boolean;
setPanelRef(panelRef: MatExpansionPanel): void;
assign(): void;
delegate(): void;
cancel(): void;
finish(): void;
collapse(): void;
expand(): void;
canAssign(): boolean;
canReassign(): boolean;
canCancel(): boolean;
canFinish(): boolean;
private hasNoFinishPermission;
canCollapse(): boolean;
canDo(action: any): boolean;
getAssignTitle(): string;
getCancelTitle(): string;
getDelegateTitle(): string;
getFinishTitle(): string;
canDisable(type: string): boolean;
protected getFeaturedMetaValue(selectedHeader: HeaderColumn): FeaturedValue;
protected getFeaturedImmediateValue(selectedHeader: HeaderColumn): FeaturedValue;
ngOnDestroy(): void;
isForceOpen(): boolean;
getContentMinHeight(): string;
isExpanded(): boolean;
static ɵfac: i0.ɵɵFactoryDeclaration<AbstractTaskPanelComponent, [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, { optional: true; }, null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }]>;
static ɵcmp: i0.ɵɵComponentDeclaration<AbstractTaskPanelComponent, "ncc-abstract-legal-notice", never, { "taskListVirtualScroll": { "alias": "taskListVirtualScroll"; "required": false; }; "panelContentComponent": { "alias": "panelContentComponent"; "required": false; }; "first": { "alias": "first"; "required": false; }; "last": { "alias": "last"; "required": false; }; "responsiveBody": { "alias": "responsiveBody"; "required": false; }; "preventExpand": { "alias": "preventExpand"; "required": false; }; "preventCollapse": { "alias": "preventCollapse"; "required": false; }; "hidePanelHeader": { "alias": "hidePanelHeader"; "required": false; }; "hideActionRow": { "alias": "hideActionRow"; "required": false; }; "actionButtonTemplates": { "alias": "actionButtonTemplates"; "required": false; }; "actionRowJustifyContent": { "alias": "actionRowJustifyContent"; "required": false; }; "showMoreMenu": { "alias": "showMoreMenu"; "required": false; }; "forceLoadDataOnOpen": { "alias": "forceLoadDataOnOpen"; "required": false; }; "textEllipsis": { "alias": "textEllipsis"; "required": false; }; "taskPanelData": { "alias": "taskPanelData"; "required": false; }; }, { "taskEvent": "taskEvent"; "panelRefOutput": "panelRefOutput"; }, never, never, false, never>;
}