UNPKG

@netgrif/components-core

Version:

Netgrif Application engine frontend core Angular library

130 lines (129 loc) 8.64 kB
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>; }