UNPKG

@logicflow/vue-node-registry

Version:

LogicFlow Vue Component Node Registry

44 lines (37 loc) 861 B
import LogicFlow from '@logicflow/core' import { VueNodeView } from './view' import { VueNodeModel } from './model' import RegisterConfig = LogicFlow.RegisterConfig export type VueNodeConfig = { type: string component: any effect?: (keyof LogicFlow.PropertiesType)[] } & Partial<RegisterConfig> export const vueNodesMap: Record< string, { component: any effect?: (keyof LogicFlow.PropertiesType)[] } > = {} export function register(config: VueNodeConfig, lf: LogicFlow) { const { type, component, effect, view: CustomNodeView, model: CustomNodeModel, } = config if (!type) { throw new Error('You should specify type in config') } vueNodesMap[type] = { component, effect, } lf.register({ type, view: CustomNodeView || VueNodeView, model: CustomNodeModel || VueNodeModel, }) }