77 lines
2.9 KiB
TypeScript
77 lines
2.9 KiB
TypeScript
import { KeyValue, Disposable } from '@antv/x6-common';
|
|
import { Rectangle } from '@antv/x6-geometry';
|
|
import { Model, Cell } from '../model';
|
|
import { View, CellView, EdgeView } from '../view';
|
|
import { JOB_PRIORITY } from './queueJob';
|
|
import { Graph } from '../graph';
|
|
export declare class Scheduler extends Disposable {
|
|
views: KeyValue<Scheduler.View>;
|
|
willRemoveViews: KeyValue<Scheduler.View>;
|
|
protected zPivots: KeyValue<Comment>;
|
|
private graph;
|
|
private renderArea?;
|
|
private queue;
|
|
get model(): Model;
|
|
get container(): SVGGElement;
|
|
constructor(graph: Graph);
|
|
protected init(): void;
|
|
protected startListening(): void;
|
|
protected stopListening(): void;
|
|
protected onModelReseted({ options }: Model.EventArgs['reseted']): void;
|
|
protected onCellAdded({ cell, options }: Model.EventArgs['cell:added']): void;
|
|
protected onCellRemoved({ cell }: Model.EventArgs['cell:removed']): void;
|
|
protected onCellZIndexChanged({ cell, options, }: Model.EventArgs['cell:change:zIndex']): void;
|
|
protected onCellVisibleChanged({ cell, current, }: Model.EventArgs['cell:change:visible']): void;
|
|
requestViewUpdate(view: CellView, flag: number, options?: any, priority?: JOB_PRIORITY, flush?: boolean): void;
|
|
setRenderArea(area?: Rectangle): void;
|
|
isViewMounted(view: CellView): boolean;
|
|
protected renderViews(cells: Cell[], options?: any): void;
|
|
protected renderViewInArea(view: CellView, flag: number, options?: any): void;
|
|
protected removeViews(cells: Cell[]): void;
|
|
protected flush(): void;
|
|
protected flushWaitingViews(): void;
|
|
protected updateView(view: View, flag: number, options?: any): number;
|
|
protected insertView(view: CellView): void;
|
|
protected resetViews(): void;
|
|
protected removeView(view: CellView): void;
|
|
protected toggleVisible(cell: Cell, visible: boolean): void;
|
|
protected addZPivot(zIndex?: number): Comment;
|
|
protected removeZPivots(): void;
|
|
protected createCellView(cell: Cell): CellView<Cell<Cell.Properties>, CellView.Options> | EdgeView<import("../model").Edge<import("../model").Edge.Properties>, EdgeView.Options> | null;
|
|
protected getEffectedEdges(view: CellView): {
|
|
id: string;
|
|
view: CellView;
|
|
flag: number;
|
|
}[];
|
|
protected isUpdatable(view: CellView): boolean;
|
|
protected getRenderPriority(view: CellView): JOB_PRIORITY;
|
|
dispose(): void;
|
|
}
|
|
export declare namespace Scheduler {
|
|
const FLAG_INSERT: number;
|
|
const FLAG_REMOVE: number;
|
|
const FLAG_RENDER: number;
|
|
}
|
|
export declare namespace Scheduler {
|
|
enum ViewState {
|
|
CREATED = 0,
|
|
MOUNTED = 1,
|
|
WAITING = 2
|
|
}
|
|
interface View {
|
|
view: CellView;
|
|
flag: number;
|
|
options: any;
|
|
state: ViewState;
|
|
}
|
|
interface EventArgs {
|
|
'view:mounted': {
|
|
view: CellView;
|
|
};
|
|
'view:unmounted': {
|
|
view: CellView;
|
|
};
|
|
'render:done': null;
|
|
}
|
|
}
|