, edgeType: string) => {
const newChecked = [...checked];
const indexToUpdate = newChecked.findIndex((element) => element.edgeType === edgeType);
@@ -184,7 +247,7 @@ const EdgesView = ({ edgeTypes, checked, setChecked }: EdgesViewProps) => {
};
return (
-
+
{edgeTypes.map((edgeType, index) => {
return (
@@ -204,7 +267,7 @@ const EdgesView = ({ edgeTypes, checked, setChecked }: EdgesViewProps) => {
);
})}
-
+
);
};
@@ -217,6 +280,7 @@ interface IndeterminateListItemProps {
setChecked: (checked: EdgeCheckboxType[]) => void;
collapsibleContent: React.ReactNode;
+ forceExpand?: boolean;
}
const IndeterminateListItem = ({
@@ -225,6 +289,7 @@ const IndeterminateListItem = ({
checked,
setChecked,
collapsibleContent,
+ forceExpand = false,
}: IndeterminateListItemProps) => {
const [showCollapsibleContent, setShowCollapsibleContent] = useState(false);
@@ -255,7 +320,14 @@ const IndeterminateListItem = ({
}
};
- const toggleCollapsibleContent = () => setShowCollapsibleContent((v) => !v);
+ const toggleCollapsibleContent = () => {
+ // Don't toggle manual state when force-expanded by search
+ if (!forceExpand) {
+ setShowCollapsibleContent((v) => !v);
+ }
+ };
+
+ const isExpanded = forceExpand || showCollapsibleContent;
return (
<>
@@ -264,10 +336,10 @@ const IndeterminateListItem = ({
dense
secondaryAction={
-
+
}>
@@ -288,7 +360,7 @@ const IndeterminateListItem = ({
{name}
- {collapsibleContent}
+ {collapsibleContent}
>
);
};