@argdown/map-views
Version:
Browser-based map views for Argdown data using dagre-d3 and viz.js
52 lines (51 loc) • 1.56 kB
TypeScript
import "d3-transition";
import { IMap, DefaultSettings } from "@argdown/core";
import { ZoomManager, OnZoomChangedHandler } from "./ZoomManager";
import { CanSelectNode, OnSelectionChangedHandler } from "./CanSelectNode";
export interface IDagreLabelSettings {
bold?: boolean;
font?: string;
fontSize?: number;
charactersInLine?: number;
}
export interface IDagreNodeSettings {
lineWidth?: number;
rx?: number;
ry?: number;
title?: IDagreLabelSettings;
text?: IDagreLabelSettings;
}
export interface IDagreSettings {
rankDir?: string;
rankSep?: number;
nodeSep?: number;
measureLineWidth?: boolean;
argument?: IDagreNodeSettings;
statement?: IDagreNodeSettings;
group?: {
lineWidth?: number;
title?: IDagreLabelSettings;
};
}
export declare const dagreDefaultSettings: DefaultSettings<IDagreSettings>;
export interface IDagreMapProps {
settings?: IDagreSettings;
map: IMap;
selectedNode?: string | null;
position?: {
x?: number;
y?: number;
};
scale?: number;
}
export declare class DagreMap implements CanSelectNode {
svgElement: SVGSVGElement;
zoomManager: ZoomManager;
selectedElement?: SVGGraphicsElement | null;
onSelectionChanged?: OnSelectionChangedHandler;
constructor(svgElement: SVGSVGElement, onZoomChanged?: OnZoomChangedHandler, onSelectionChanged?: OnSelectionChangedHandler);
render(props: IDagreMapProps): void;
deselectNode(): void;
private _deselectNode;
selectNode(id: string): void;
}