@5minds/processcube_app_sdk
Version:
The SDK for ProcessCube Apps
59 lines (58 loc) • 2.07 kB
TypeScript
import { ProcessCostsService } from './ProcessCostsService';
import { RuntimeService } from './RuntimeService';
type HeatmapLevel = 'Critical' | 'Warning' | 'Stable';
export interface ProcessModel {
customProperties: {
'pilot.setRuntime.warning'?: string;
'pilot.setRuntime.critical'?: string;
'pilot.setProcessCosts.warning'?: string;
'pilot.setProcessCosts.critical'?: string;
};
flowNodes: Array<{
id: string;
customProperties: {
'pilot.setRuntime.reference'?: string;
'pilot.setRuntime.warning'?: string;
'pilot.setRuntime.critical'?: string;
};
}>;
}
export interface BpmnViewer {
getOverlays(): any;
getElementRegistry(): any;
clearHeatmap(data: string[]): void;
showHeatmap(data: Record<string, HeatmapLevel>): void;
}
export interface NodeHeatmapInfo {
status: HeatmapLevel;
referenceRuntime: number;
warningThreshold?: number;
criticalThreshold?: number;
warningSource?: 'Flow Node' | 'Process';
criticalSource?: 'Flow Node' | 'Process';
}
export declare class HeatmapService {
private nodeInfoMap;
private heatmapInfo;
private runtimeService;
private processCostsService;
private bpmnViewer;
private activeCostKeyPerNode;
constructor(runtimeService: RuntimeService, processCostsService: ProcessCostsService, processModel: ProcessModel);
updateHeatmapService(runtimeService: RuntimeService, processCostsService: ProcessCostsService, processModel: ProcessModel): void;
getHeatmapInfoForId(flowNodeId: string): {
[key: string]: NodeHeatmapInfo;
};
hasRuntimeEntry(): boolean;
hasCostEntry(): boolean;
getActiveCostKey(nodeId: string): string | undefined;
hasMultipleCostEntries(flowNodeId: string): boolean;
applyHeatmap(showHeatmap: boolean, type: string, options: {
viewer?: BpmnViewer;
flowNodeId?: string;
}): void;
private computeCostHeatmap;
private computeRuntimeHeatmap;
private getHeatmapSource;
}
export {};