UNPKG

@rxflow/base

Version:

BaseFlow - 核心 Flow 组件库

54 lines (52 loc) 1.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useNodeTypes = void 0; var _react = require("react"); var _InputNode = require("../components/Nodes/InputNode"); var _DefaultNode = require("../components/Nodes/DefaultNode"); var _OutputNode = require("../components/Nodes/OutputNode"); var _GroupNode = require("../components/Nodes/GroupNode"); var _NodeRenderFactory = require("../components/NodeRenderFactory"); /** * @author: yanxianliang * @date: 2025-07-02 11:40 * @desc: 获取节点类型定义 * * Copyright (c) 2025 by yanxianliang, All Rights Reserved. */ /** * 将外部节点定义解析成 reactflow 需要的结构 */ const useNodeTypes = nodeTypeList => { return (0, _react.useMemo)(() => { // inner nodes const nodeTypes = { input: _InputNode.InputNode, default: _DefaultNode.DefaultNode, output: _OutputNode.OutputNode, group: _GroupNode.GroupNode }; if (nodeTypeList && Array.isArray(nodeTypeList)) { for (let i = 0; i < nodeTypeList.length; i++) { const item = nodeTypeList[i]; if (item && item.type && item.component) { const { type, component, defaultSize, measureHandles } = item; const nodeType = (0, _NodeRenderFactory.nodeRenderFactory)(component); // defaultSize 和 measureHandles绑定 nodeType.defaultSize = defaultSize; nodeType.measureHandles = measureHandles; nodeTypes[type] = nodeType; // 高阶组件 } } } return nodeTypes; }, [nodeTypeList]); }; exports.useNodeTypes = useNodeTypes;