refactor: Update SwitchOutputView to accept outputName prop
Update the SwitchOutputView component to accept the outputName prop, allowing for dynamic rendering of different output views based on the selected output name.
This commit is contained in:
parent
3976298881
commit
0c8e973ccf
3 changed files with 24 additions and 11 deletions
|
|
@ -9,19 +9,24 @@ import { Case } from "../../../../../../shared/components/caseComponent";
|
||||||
import TextOutputView from "../../../../../../shared/components/textOutputView";
|
import TextOutputView from "../../../../../../shared/components/textOutputView";
|
||||||
import useFlowStore from "../../../../../../stores/flowStore";
|
import useFlowStore from "../../../../../../stores/flowStore";
|
||||||
import ErrorOutput from "./components";
|
import ErrorOutput from "./components";
|
||||||
|
// Define the props type
|
||||||
export default function SwitchOutputView(nodeId): JSX.Element {
|
interface SwitchOutputViewProps {
|
||||||
const nodeIdentity = nodeId.nodeId;
|
nodeId: string;
|
||||||
|
outputName: string;
|
||||||
|
}
|
||||||
|
const SwitchOutputView: React.FC<SwitchOutputViewProps> = ({
|
||||||
|
nodeId,
|
||||||
|
outputName,
|
||||||
|
}) => {
|
||||||
const nodes = useFlowStore((state) => state.nodes);
|
const nodes = useFlowStore((state) => state.nodes);
|
||||||
const flowPool = useFlowStore((state) => state.flowPool);
|
const flowPool = useFlowStore((state) => state.flowPool);
|
||||||
const node = nodes.find((node) => node?.id === nodeIdentity);
|
const node = nodes.find((node) => node?.id === nodeId);
|
||||||
|
|
||||||
const flowPoolNode = (flowPool[nodeIdentity] ?? [])[
|
const flowPoolNode = (flowPool[nodeId] ?? [])[
|
||||||
(flowPool[nodeIdentity]?.length ?? 1) - 1
|
(flowPool[nodeId]?.length ?? 1) - 1
|
||||||
];
|
];
|
||||||
|
|
||||||
const results = flowPoolNode?.data?.logs[0] ?? "";
|
const results = flowPoolNode?.data?.logs[outputName] ?? "";
|
||||||
const resultType = results?.type;
|
const resultType = results?.type;
|
||||||
let resultMessage = results?.message;
|
let resultMessage = results?.message;
|
||||||
const RECORD_TYPES = ["record", "object", "array", "message"];
|
const RECORD_TYPES = ["record", "object", "array", "message"];
|
||||||
|
|
@ -73,4 +78,6 @@ export default function SwitchOutputView(nodeId): JSX.Element {
|
||||||
</Case>
|
</Case>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
};
|
||||||
|
|
||||||
|
export default SwitchOutputView;
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,12 @@ import { Button } from "../../../../components/ui/button";
|
||||||
import BaseModal from "../../../../modals/baseModal";
|
import BaseModal from "../../../../modals/baseModal";
|
||||||
import SwitchOutputView from "./components/switchOutputView";
|
import SwitchOutputView from "./components/switchOutputView";
|
||||||
|
|
||||||
export default function OutputModal({ open, setOpen, nodeId }): JSX.Element {
|
export default function OutputModal({
|
||||||
|
open,
|
||||||
|
setOpen,
|
||||||
|
nodeId,
|
||||||
|
outputName,
|
||||||
|
}): JSX.Element {
|
||||||
return (
|
return (
|
||||||
<BaseModal open={open} setOpen={setOpen} size="medium-tall">
|
<BaseModal open={open} setOpen={setOpen} size="medium-tall">
|
||||||
<BaseModal.Header description="Inspect the output of the component below.">
|
<BaseModal.Header description="Inspect the output of the component below.">
|
||||||
|
|
@ -11,7 +16,7 @@ export default function OutputModal({ open, setOpen, nodeId }): JSX.Element {
|
||||||
</div>
|
</div>
|
||||||
</BaseModal.Header>
|
</BaseModal.Header>
|
||||||
<BaseModal.Content>
|
<BaseModal.Content>
|
||||||
<SwitchOutputView nodeId={nodeId} />
|
<SwitchOutputView nodeId={nodeId} outputName={outputName} />
|
||||||
</BaseModal.Content>
|
</BaseModal.Content>
|
||||||
<BaseModal.Footer>
|
<BaseModal.Footer>
|
||||||
<div className="flex w-full justify-end pt-2">
|
<div className="flex w-full justify-end pt-2">
|
||||||
|
|
|
||||||
|
|
@ -625,6 +625,7 @@ export default function ParameterComponent({
|
||||||
open={openOutputModal}
|
open={openOutputModal}
|
||||||
nodeId={data.id}
|
nodeId={data.id}
|
||||||
setOpen={setOpenOutputModal}
|
setOpen={setOpenOutputModal}
|
||||||
|
outputName={outputName}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
</>
|
</>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue