tachybase_todo/packages/plugins/graph-collection-manager/src/client/components/CollectionNodeProvder.tsx
2023-01-11 11:58:47 +08:00

29 lines
704 B
TypeScript

import React, { createContext } from 'react';
interface CollectionNodeOptions {
setTargetNode?: Function;
node?: Node | any;
record?: Object;
handelOpenPorts?: Function;
}
export const GraphCollectionContext = createContext(null);
export const CollectionNodeProvder: React.FC<CollectionNodeOptions> = (props: any) => {
const { record, setTargetNode, node, handelOpenPorts } = props;
return (
<GraphCollectionContext.Provider
value={{
node,
record,
positionTargetNode: (target) => {
setTargetNode(target || node);
},
openPorts: handelOpenPorts,
}}
>
{props.children}
</GraphCollectionContext.Provider>
);
};