Skip to content

Commit

Permalink
feat: Expose __ref to Renderer (#26)
Browse files Browse the repository at this point in the history
  • Loading branch information
motform authored Apr 4, 2024
1 parent 0f42781 commit f4c1808
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 7 deletions.
2 changes: 1 addition & 1 deletion packages/djedi-json/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "djedi-json",
"version": "0.6.3",
"version": "0.6.4",
"main": "build/index.js",
"module": "build/index.esm.js",
"types": "build/index.d.ts",
Expand Down
15 changes: 9 additions & 6 deletions packages/djedi-json/src/Renderer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,20 +17,23 @@ const Renderer: React.FC<RendererProps> = ({ config, tree }) => {
}, [components, tree.type]);

// No type found. This is not a component.
if (!Config) return null;
if (!Config) {
console.error(`No component found for type: ${tree.type}`);
return null;
}

const { children, ...props } = tree.content;

const renderedChildren = React.useMemo(() => {
if (Array.isArray(children)) {
return children.map((t: NodeTreeItem, i: number) => (
<Renderer key={i} tree={t} config={config} />
));
} else return children;
return children.map((t, i) => <Renderer key={t.__ref ?? i} tree={t} config={config} />);
} else {
return children;
}
}, [children, config]);

return (
<Config.Component {...props} data-uri={tree.uri}>
<Config.Component {...props} data-uri={tree.uri} __ref={tree.__ref}>
{renderedChildren}
</Config.Component>
);
Expand Down

0 comments on commit f4c1808

Please sign in to comment.