MCPcopy Create free account
hub / github.com/triggerdotdev/jsonhero-web / RelatedValues

Function RelatedValues

app/components/RelatedValues.tsx:19–60  ·  view source on GitHub ↗
({ relatedPaths }: RelatedValuesProps)

Source from the content-addressed store, hash-verified

17};
18
19export function RelatedValues({ relatedPaths }: RelatedValuesProps) {
20 const [json] = useJson();
21 const { selectedNodeId } = useJsonColumnViewState();
22 const [openId, setOpenId] = useState<string | null>(null);
23
24 const relatedValuesGroups = useMemo<Array<RelatedValuesGroup>>(() => {
25 if (!selectedNodeId) {
26 return [];
27 }
28 return groupRelatedValues(relatedPaths, json);
29 }, [json, relatedPaths]);
30
31 const toggleOpen = (id: string) => {
32 if (openId === id) {
33 setOpenId(null);
34 } else {
35 setOpenId(id);
36 }
37 };
38
39 return (
40 <>
41 {relatedValuesGroups.length > 0 && (
42 <div className="my-4">
43 <Title className="mb-2 text-slate-700 transition dark:text-slate-400">
44 Related values
45 </Title>
46 {relatedValuesGroups.map((relatedValuesGroup, i) => {
47 return (
48 <RelatedValuesGroupItem
49 group={relatedValuesGroup}
50 key={relatedValuesGroup.value}
51 isOpen={relatedValuesGroup.value === openId}
52 toggleOpen={() => toggleOpen(relatedValuesGroup.value)}
53 />
54 );
55 })}
56 </div>
57 )}
58 </>
59 );
60}
61
62function RelatedValuesGroupItem({
63 group,

Callers

nothing calls this directly

Calls 4

useJsonFunction · 0.90
useJsonColumnViewStateFunction · 0.90
groupRelatedValuesFunction · 0.90
toggleOpenFunction · 0.85

Tested by

no test coverage detected