ngx-diagrams
Version:
> Light Weight, Modular, Typed Diagram Engine for Angular
73 lines (72 loc) • 2.91 kB
TypeScript
import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, NgZone, OnDestroy, Renderer2, ViewContainerRef } from '@angular/core';
import { BehaviorSubject, Observable, ReplaySubject } from 'rxjs';
import { BaseAction, SelectingAction } from '../../actions';
import { BaseModel } from '../../models/base.model';
import { DiagramModel } from '../../models/diagram.model';
import { LinkModel } from '../../models/link.model';
import { NodeModel } from '../../models/node.model';
import { EntityMap, ZonedClass } from '../../utils';
export declare class NgxDiagramComponent implements AfterViewInit, OnDestroy, ZonedClass {
protected document: any;
ngZone: NgZone;
protected renderer: Renderer2;
protected cdRef: ChangeDetectorRef;
protected elRef: ElementRef<HTMLElement>;
diagramModel: DiagramModel;
allowCanvasZoom: boolean;
allowCanvasTranslation: boolean;
inverseZoom: boolean;
allowLooseLinks: boolean;
maxZoomOut: number;
maxZoomIn: number;
portMagneticRadius: number;
smartRouting: boolean;
actionStartedFiring: EventEmitter<BaseAction>;
actionStillFiring: EventEmitter<BaseAction>;
actionStoppedFiring: EventEmitter<BaseAction>;
nodesLayer: ViewContainerRef;
linksLayer: ViewContainerRef;
canvas: ElementRef;
protected nodes$: Observable<EntityMap<NodeModel>>;
protected links$: Observable<EntityMap<LinkModel>>;
protected action$: BehaviorSubject<BaseAction>;
protected nodesRendered$: BehaviorSubject<boolean>;
protected destroyed$: ReplaySubject<boolean>;
get host(): HTMLElement;
constructor(document: any, ngZone: NgZone, renderer: Renderer2, cdRef: ChangeDetectorRef, elRef: ElementRef<HTMLElement>);
ngAfterViewInit(): void;
ngOnDestroy(): void;
/**
* fire the action registered and notify subscribers
*/
fireAction(): void;
/**
* Unregister the action, post firing and notify subscribers
*/
stopFiringAction(shouldSkipEvent?: boolean): void;
/**
* Register the new action, pre firing and notify subscribers
*/
startFiringAction(action: BaseAction): void;
selectAction(): BehaviorSubject<SelectingAction>;
shouldDrawSelectionBox(): boolean;
getMouseElement(event: MouseEvent): {
model: BaseModel;
element: Element;
};
onMouseUp(event: MouseEvent): void;
/**
* @description Mouse Move Event Handler
* @param event MouseEvent
*/
onMouseMove(event: MouseEvent): void;
onMouseDown(event: MouseEvent): void;
onMouseWheel(event: WheelEvent): void;
protected setLayerStyles(x: number, y: number, zoom: number): void;
protected initNodes(): void;
protected initLinks(): void;
protected initSubs(): void;
protected getNodesLayer(): HTMLDivElement;
protected getLinksLayer(): HTMLDivElement;
protected createMouseListeners(): void;
}