Reference - BaklavaJS
    Preparing search index...

    Implements

    • IBaklavaEventEmitter
    • IBaklavaTapable
    Index

    Constructors

    Properties

    _connections: Connection[] = []
    _destroying: boolean = false
    _loading: boolean = false
    _nodes: AbstractNode[] = []
    activeTransactions: number = 0
    connectionEvents: { destruct: BaklavaEvent<void, Connection> } & ISubscribableProxy<
        { destruct: BaklavaEvent<void, Connection> },
    > = ...
    editor: Editor
    events: {
        addConnection: BaklavaEvent<IConnection, Graph>;
        addNode: BaklavaEvent<AbstractNode, Graph>;
        beforeAddConnection: PreventableBaklavaEvent<
            IAddConnectionEventData,
            Graph,
        >;
        beforeAddNode: PreventableBaklavaEvent<AbstractNode, Graph>;
        beforeRemoveConnection: PreventableBaklavaEvent<IConnection, Graph>;
        beforeRemoveNode: PreventableBaklavaEvent<AbstractNode, Graph>;
        checkConnection: PreventableBaklavaEvent<IAddConnectionEventData, Graph>;
        removeConnection: BaklavaEvent<IConnection, Graph>;
        removeNode: BaklavaEvent<AbstractNode, Graph>;
    } = ...
    hooks: {
        checkConnection: ParallelHook<
            IAddConnectionEventData,
            CheckConnectionHookResult,
            Graph,
        >;
        load: SequentialHook<IGraphState, Graph, IGraphState>;
        save: SequentialHook<IGraphState, Graph, IGraphState>;
    } = ...
    id: string = ...
    nodeEvents: {
        addInput: BaklavaEvent<NodeInterface<any>, AbstractNode>;
        addOutput: BaklavaEvent<NodeInterface<any>, AbstractNode>;
        beforeAddInput: PreventableBaklavaEvent<NodeInterface<any>, AbstractNode>;
        beforeAddOutput: PreventableBaklavaEvent<NodeInterface<any>, AbstractNode>;
        beforeRemoveInput: PreventableBaklavaEvent<
            NodeInterface<any>,
            AbstractNode,
        >;
        beforeRemoveOutput: PreventableBaklavaEvent<
            NodeInterface<any>,
            AbstractNode,
        >;
        beforeTitleChanged: PreventableBaklavaEvent<string, AbstractNode>;
        loaded: BaklavaEvent<AbstractNode, AbstractNode>;
        removeInput: BaklavaEvent<NodeInterface<any>, AbstractNode>;
        removeOutput: BaklavaEvent<NodeInterface<any>, AbstractNode>;
        titleChanged: BaklavaEvent<string, AbstractNode>;
        update: BaklavaEvent<null | INodeUpdateEventData, AbstractNode>;
    } & ISubscribableProxy<
        {
            addInput: BaklavaEvent<NodeInterface<any>, AbstractNode>;
            addOutput: BaklavaEvent<NodeInterface<any>, AbstractNode>;
            beforeAddInput: PreventableBaklavaEvent<NodeInterface<any>, AbstractNode>;
            beforeAddOutput: PreventableBaklavaEvent<NodeInterface<any>, AbstractNode>;
            beforeRemoveInput: PreventableBaklavaEvent<
                NodeInterface<any>,
                AbstractNode,
            >;
            beforeRemoveOutput: PreventableBaklavaEvent<
                NodeInterface<any>,
                AbstractNode,
            >;
            beforeTitleChanged: PreventableBaklavaEvent<string, AbstractNode>;
            loaded: BaklavaEvent<AbstractNode, AbstractNode>;
            removeInput: BaklavaEvent<NodeInterface<any>, AbstractNode>;
            removeOutput: BaklavaEvent<NodeInterface<any>, AbstractNode>;
            titleChanged: BaklavaEvent<string, AbstractNode>;
            update: BaklavaEvent<null | INodeUpdateEventData, AbstractNode>;
        },
    > = ...
    nodeHooks: {
        afterSave: SequentialHook<
            INodeState<any, any>,
            AbstractNode,
            INodeState<any, any>,
        >;
        beforeLoad: SequentialHook<
            INodeState<any, any>,
            AbstractNode,
            INodeState<any, any>,
        >;
    } & ISubscribableProxy<
        {
            afterSave: SequentialHook<
                INodeState<any, any>,
                AbstractNode,
                INodeState<any, any>,
            >;
            beforeLoad: SequentialHook<
                INodeState<any, any>,
                AbstractNode,
                INodeState<any, any>,
            >;
        },
    > = ...
    template?: GraphTemplate

    Accessors

    • get destroying(): boolean

      Whether the graph is currently in the process of destroying itself

      Returns boolean

    • get loading(): boolean

      Whether the graph is currently in the process of loading a saved graph

      Returns boolean

    Methods

    • Add a node to the list of nodes.

      Type Parameters

      Parameters

      • node: T

        Instance of a node

      Returns undefined | T

      Instance of the node or undefined if the node was not added

    • Finds the Node with the provided id, as long as it exists in this graph

      Parameters

      • id: string

        id of the Node to find

      Returns undefined | AbstractNode

      The Node if found, otherwise undefined

    • Finds the NodeInterface with the provided id, as long as it exists in this graph

      Parameters

      • id: string

        id of the NodeInterface to find

      Returns undefined | NodeInterface<any>

      The NodeInterface if found, otherwise undefined

    • Load a state

      Parameters

      Returns string[]

      An array of warnings that occured during loading. If the array is empty, the state was successfully loaded.

    • Remove a connection from the list of connections.

      Parameters

      • connection: Connection

        Connection instance that should be removed.

      Returns void

    • Removes a node from the list. Will also remove all connections from and to the node.

      Parameters

      Returns void