@myrmidon/ngx-viz
Version:
Angular viz.js wrapper to render DOT graphs.
60 lines (57 loc) • 1.8 kB
TypeScript
import * as _angular_core from '@angular/core';
import { OnInit, ElementRef } from '@angular/core';
declare global {
interface Window {
define: any;
requirejs: any;
Viz: any;
}
}
/**
* Wrapper for Viz.js library to render DOT graphs in Angular.
*/
declare class VizComponent implements OnInit {
private readonly ZOOM_SPEED;
private readonly MIN_SCALE;
private readonly MAX_SCALE;
private readonly destroyRef;
private readonly _transform;
private _isDragging;
private _lastPosition;
private _originalViewBox;
private _vizInstance;
private _vizPromise;
private _scriptsLoaded;
graphContainer: ElementRef;
container: ElementRef;
/**
* DOT code to render as a graph.
*/
readonly code: _angular_core.InputSignal<string>;
readonly error: _angular_core.WritableSignal<string | null>;
readonly loading: _angular_core.WritableSignal<boolean>;
constructor();
ngOnInit(): void;
fitToContainer(): void;
zoomIn(): void;
zoomOut(): void;
resetView(): void;
private updateZoom;
onWheel(event: WheelEvent): void;
onMouseDown(event: MouseEvent): void;
onMouseMove(event: MouseEvent): void;
onMouseUp(): void;
private applyTransform;
private storeOriginalViewBox;
private loadScript;
private initViz;
private checkAndRender;
private renderGraph;
/**
* Exports the rendered graph as an SVG file.
*/
exportSVG(): void;
static ɵfac: _angular_core.ɵɵFactoryDeclaration<VizComponent, never>;
static ɵcmp: _angular_core.ɵɵComponentDeclaration<VizComponent, "ngx-viz", never, { "code": { "alias": "code"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}
export { VizComponent };