@netgrif/components-core
Version:
Netgrif Application engine frontend core Angular library
44 lines (43 loc) • 1.58 kB
TypeScript
import { PetriNetReference } from '../../../resources/interface/petri-net-reference';
import { PetriNetResourceService } from '../../../resources/engine-endpoint/petri-net-resource.service';
import { LoggerService } from '../../../logger/services/logger.service';
import { Observable } from 'rxjs';
import NetRole from '../../../process/netRole';
export interface ExtendedProcessRole extends NetRole {
selected: boolean;
processIdentifier: string;
toggle(): void;
}
export interface ProcessVersion extends PetriNetReference {
roles: Array<ExtendedProcessRole>;
}
export interface ProcessListItem {
identifier: string;
title: string;
initials: string;
newestVersion: string;
processes: Array<ProcessVersion>;
loading: boolean;
emptyRoles: boolean;
someRolesSelected: boolean;
}
export declare class ProcessList {
private _resources;
private _log;
private _loading$;
private _processes;
private readonly _rolesIndex;
private _selectedRoles;
constructor(_resources: PetriNetResourceService, _log: LoggerService);
get loading(): boolean;
get loading$(): Observable<boolean>;
get processes(): Array<ProcessListItem>;
get selectedRoles(): Array<string>;
loadProcesses(): Observable<Array<ProcessListItem>>;
prepareToTryAgainToLoadRoles(item: ProcessListItem): void;
selectRoles(roleIds: Set<string>): void;
updateSelectedRoles(role: ExtendedProcessRole): void;
loadProcessItemRoles(item: ProcessListItem): void;
private loadNetRoles;
private updateSelectedRolesFlag;
}