This commit is contained in:
Gabriel Almeida 2023-05-22 08:21:29 -03:00
commit 4998838853

View file

@ -15,19 +15,19 @@ import { APITemplateType, TemplateVariableType } from "../types/api";
import { v4 as uuidv4 } from "uuid"; import { v4 as uuidv4 } from "uuid";
const TabsContextInitialValue: TabsContextType = { const TabsContextInitialValue: TabsContextType = {
save: () => { }, save: () => {},
tabIndex: 0, tabIndex: 0,
setTabIndex: (index: number) => { }, setTabIndex: (index: number) => {},
flows: [], flows: [],
removeFlow: (id: string) => { }, removeFlow: (id: string) => {},
addFlow: (flowData?: any) => { }, addFlow: (flowData?: any) => {},
updateFlow: (newFlow: FlowType) => { }, updateFlow: (newFlow: FlowType) => {},
incrementNodeId: () => 0, incrementNodeId: () => 0,
downloadFlow: (flow: FlowType) => { }, downloadFlow: (flow: FlowType) => {},
uploadFlow: () => { }, uploadFlow: () => {},
hardReset: () => { }, hardReset: () => {},
disableCP: false, disableCP: false,
setDisableCP: (state: boolean) => { }, setDisableCP: (state: boolean) => {},
}; };
export const TabsContext = createContext<TabsContextType>( export const TabsContext = createContext<TabsContextType>(
@ -56,7 +56,6 @@ export function TabsProvider({ children }: { children: ReactNode }) {
useEffect(() => { useEffect(() => {
//save tabs locally //save tabs locally
save(); save();
}, [flows, id, tabIndex, newNodeId]); }, [flows, id, tabIndex, newNodeId]);
useEffect(() => { useEffect(() => {
@ -67,19 +66,23 @@ export function TabsProvider({ children }: { children: ReactNode }) {
cookieObject.flows.forEach((flow) => { cookieObject.flows.forEach((flow) => {
flow.data.nodes.forEach((node) => { flow.data.nodes.forEach((node) => {
if (Object.keys(templates[node.data.type]["template"]).length > 0) { if (Object.keys(templates[node.data.type]["template"]).length > 0) {
node.data.node.base_classes = templates[node.data.type][ node.data.node.base_classes =
"base_classes" templates[node.data.type]["base_classes"];
];
flow.data.edges.forEach((edge) => { flow.data.edges.forEach((edge) => {
if (edge.source === node.id) { if (edge.source === node.id) {
edge.sourceHandle = edge.sourceHandle.split("|").slice(0, 2).concat(templates[node.data.type][ edge.sourceHandle = edge.sourceHandle
"base_classes" .split("|")
]).join("|"); .slice(0, 2)
.concat(templates[node.data.type]["base_classes"])
.join("|");
} }
}) });
node.data.node.description = templates[node.data.type]['description']; node.data.node.description =
templates[node.data.type]["description"];
node.data.node.template = updateTemplate( node.data.node.template = updateTemplate(
templates[node.data.type]["template"] as unknown as APITemplateType, templates[node.data.type][
"template"
] as unknown as APITemplateType,
node.data.node.template as APITemplateType node.data.node.template as APITemplateType
); );
} }
@ -181,17 +184,18 @@ export function TabsProvider({ children }: { children: ReactNode }) {
if (data) { if (data) {
data.nodes.forEach((node) => { data.nodes.forEach((node) => {
if (Object.keys(templates[node.data.type]["template"]).length > 0) { if (Object.keys(templates[node.data.type]["template"]).length > 0) {
node.data.node.base_classes = templates[node.data.type][ node.data.node.base_classes =
"base_classes" templates[node.data.type]["base_classes"];
];
data.edges.forEach((edge) => { data.edges.forEach((edge) => {
if (edge.source === node.id) { if (edge.source === node.id) {
edge.sourceHandle = edge.sourceHandle.split("|").slice(0, 2).concat(templates[node.data.type][ edge.sourceHandle = edge.sourceHandle
"base_classes" .split("|")
]).join("|"); .slice(0, 2)
.concat(templates[node.data.type]["base_classes"])
.join("|");
} }
}) });
node.data.node.description = templates[node.data.type]['description']; node.data.node.description = templates[node.data.type]["description"];
node.data.node.template = updateTemplate( node.data.node.template = updateTemplate(
templates[node.data.type]["template"] as unknown as APITemplateType, templates[node.data.type]["template"] as unknown as APITemplateType,
node.data.node.template as APITemplateType node.data.node.template as APITemplateType