Member Junction
    Preparing search index...

    State of the ERD diagram for saving/restoring. Use with getState() and setState() methods for persistence.

    // Save state to localStorage
    const state = erdComponent.getState();
    localStorage.setItem('erd-state', JSON.stringify(state));

    // Restore state
    const savedState = JSON.parse(localStorage.getItem('erd-state'));
    erdComponent.setState(savedState);
    interface ERDState {
        focusDepth: number;
        focusNodeId: string | null;
        highlightedNodeIds: string[];
        layoutAlgorithm?: "schema-grid" | "dagre";
        nodePositions: Record<
            string,
            { fx?: number
            | null; fy?: number | null; x: number; y: number },
        >;
        selectedNodeId: string | null;
        translateX: number;
        translateY: number;
        zoomLevel: number;
    }
    Index

    Properties

    focusDepth: number

    Focus depth (number of relationship hops to show)

    focusNodeId: string | null

    Focus node ID (if in focus mode)

    highlightedNodeIds: string[]

    IDs of highlighted nodes

    layoutAlgorithm?: "schema-grid" | "dagre"

    Active layout algorithm — persisted so a user's preferred view (schema-grid vs. dagre hierarchical) survives navigation and reloads. Defaults to 'schema-grid' when absent.

    nodePositions: Record<
        string,
        { fx?: number
        | null; fy?: number | null; x: number; y: number },
    >

    Node positions for restoring exact layout

    selectedNodeId: string | null

    ID of the currently selected node

    translateX: number

    X translation (pan position)

    translateY: number

    Y translation (pan position)

    zoomLevel: number

    Current zoom level (1 = 100%)