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 useFlowStore from "../../../../../../stores/flowStore";
|
||||
import ErrorOutput from "./components";
|
||||
|
||||
export default function SwitchOutputView(nodeId): JSX.Element {
|
||||
const nodeIdentity = nodeId.nodeId;
|
||||
|
||||
// Define the props type
|
||||
interface SwitchOutputViewProps {
|
||||
nodeId: string;
|
||||
outputName: string;
|
||||
}
|
||||
const SwitchOutputView: React.FC<SwitchOutputViewProps> = ({
|
||||
nodeId,
|
||||
outputName,
|
||||
}) => {
|
||||
const nodes = useFlowStore((state) => state.nodes);
|
||||
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] ?? [])[
|
||||
(flowPool[nodeIdentity]?.length ?? 1) - 1
|
||||
const flowPoolNode = (flowPool[nodeId] ?? [])[
|
||||
(flowPool[nodeId]?.length ?? 1) - 1
|
||||
];
|
||||
|
||||
const results = flowPoolNode?.data?.logs[0] ?? "";
|
||||
const results = flowPoolNode?.data?.logs[outputName] ?? "";
|
||||
const resultType = results?.type;
|
||||
let resultMessage = results?.message;
|
||||
const RECORD_TYPES = ["record", "object", "array", "message"];
|
||||
|
|
@ -73,4 +78,6 @@ export default function SwitchOutputView(nodeId): JSX.Element {
|
|||
</Case>
|
||||
</>
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
export default SwitchOutputView;
|
||||
|
|
|
|||
|
|
@ -2,7 +2,12 @@ import { Button } from "../../../../components/ui/button";
|
|||
import BaseModal from "../../../../modals/baseModal";
|
||||
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 (
|
||||
<BaseModal open={open} setOpen={setOpen} size="medium-tall">
|
||||
<BaseModal.Header description="Inspect the output of the component below.">
|
||||
|
|
@ -11,7 +16,7 @@ export default function OutputModal({ open, setOpen, nodeId }): JSX.Element {
|
|||
</div>
|
||||
</BaseModal.Header>
|
||||
<BaseModal.Content>
|
||||
<SwitchOutputView nodeId={nodeId} />
|
||||
<SwitchOutputView nodeId={nodeId} outputName={outputName} />
|
||||
</BaseModal.Content>
|
||||
<BaseModal.Footer>
|
||||
<div className="flex w-full justify-end pt-2">
|
||||
|
|
|
|||
|
|
@ -625,6 +625,7 @@ export default function ParameterComponent({
|
|||
open={openOutputModal}
|
||||
nodeId={data.id}
|
||||
setOpen={setOpenOutputModal}
|
||||
outputName={outputName}
|
||||
/>
|
||||
)}
|
||||
</>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue