@farris/ui-vue
Version:
Farris Vue, a Farris Design based Vue3 component library.
21 lines (20 loc) • 957 B
TypeScript
import { Ref } from 'vue';
import { UseBezierCurve, UseConnections } from '../composition/types';
export interface ConnectionManagerOptions {
schema: Ref<any>;
useBezierCurveComposition: UseBezierCurve;
useConnectionsComposition: UseConnections;
onSchemaUpdate: (newSchema: any) => void;
}
export interface UseConnectionManager {
restoreConnections: () => Promise<void>;
createConnection: (startPortId: string, endPortId: string, startNodeId: string, endNodeId: string) => Promise<boolean>;
deleteConnection: (startPortId: string, endPortId: string) => boolean;
insertNodeInConnection: (connectionId: string, newNodeId: string, newNodeType: string) => Promise<boolean>;
getConnectionsByNodeId: (nodeId: string) => Array<{
startPortId: string;
endPortId: string;
connectionId: string;
}>;
}
export declare function useConnectionManager(options: ConnectionManagerOptions): UseConnectionManager;