fix(tabsContext.tsx): remove unnecessary id parameter from saveComponent function

fix(nodeToolbarComponent/index.tsx): remove unused imports and variables, update saveComponent logic to handle authentication and error handling
fix(types/tabs/index.ts): remove unnecessary id parameter from saveComponent function
This commit is contained in:
anovazzi1 2023-10-23 17:46:28 -03:00
commit d8a460c610
3 changed files with 22 additions and 9 deletions

View file

@ -80,7 +80,7 @@ const TabsContextInitialValue: TabsContextType = {
selection: { nodes: any; edges: any }, selection: { nodes: any; edges: any },
position: { x: number; y: number; paneX?: number; paneY?: number } position: { x: number; y: number; paneX?: number; paneY?: number }
) => {}, ) => {},
saveComponent: (component: NodeDataType, id: string) => {}, saveComponent: (component: NodeDataType) => {},
deleteComponent: (id: string, key: string) => {}, deleteComponent: (id: string, key: string) => {},
}; };
@ -667,7 +667,7 @@ export function TabsProvider({ children }: { children: ReactNode }) {
} }
} }
function saveComponent(component: NodeDataType, id: string) { function saveComponent(component: NodeDataType) {
component.node!.official = false; component.node!.official = false;
let key = component.type; let key = component.type;
if (data["custom_components"][key] !== undefined) { if (data["custom_components"][key] !== undefined) {

View file

@ -9,8 +9,9 @@ import {
SelectItem, SelectItem,
SelectTrigger, SelectTrigger,
} from "../../../../components/ui/select-custom"; } from "../../../../components/ui/select-custom";
import { AuthContext } from "../../../../contexts/authContext"; import { alertContext } from "../../../../contexts/alertContext";
import { TabsContext } from "../../../../contexts/tabsContext"; import { TabsContext } from "../../../../contexts/tabsContext";
import { saveFlowStore } from "../../../../controllers/API";
import EditNodeModal from "../../../../modals/EditNodeModal"; import EditNodeModal from "../../../../modals/EditNodeModal";
import { nodeToolbarPropsType } from "../../../../types/components"; import { nodeToolbarPropsType } from "../../../../types/components";
import { import {
@ -46,8 +47,8 @@ export default function NodeToolbarComponent({
).length ).length
); );
const updateNodeInternals = useUpdateNodeInternals(); const updateNodeInternals = useUpdateNodeInternals();
const { isAuthenticated, autoLogin, userData } = useContext(AuthContext);
const { getNodeId } = useContext(TabsContext); const { getNodeId } = useContext(TabsContext);
const { setErrorData, setSuccessData } = useContext(alertContext);
function canMinimize() { function canMinimize() {
let countHandles: number = 0; let countHandles: number = 0;
@ -78,12 +79,24 @@ export default function NodeToolbarComponent({
downloadNode(createFlowComponent(cloneDeep(data))); downloadNode(createFlowComponent(cloneDeep(data)));
break; break;
case "Share": case "Share":
//TODO add logic to save node on backend and update toolbar const componentFlow = cloneDeep(data);
saveFlowStore(createFlowComponent(componentFlow)).then(
() => {
saveComponent(componentFlow);
setSuccessData({
title: "Component shared successfully",
});
},
(err) => {
setErrorData({
title: "Error sharing component",
list: [err["response"]["data"]["detail"]],
});
}
);
break; break;
case "SaveAll": case "SaveAll":
if (isAuthenticated) { saveComponent(cloneDeep(data));
saveComponent(cloneDeep(data), autoLogin ? "auto" : userData?.id!);
}
break; break;
case "disabled": case "disabled":
break; break;

View file

@ -36,7 +36,7 @@ export type TabsContextType = {
setLastCopiedSelection: (selection: { nodes: any; edges: any }) => void; setLastCopiedSelection: (selection: { nodes: any; edges: any }) => void;
setTweak: (tweak: tweakType) => tweakType | void; setTweak: (tweak: tweakType) => tweakType | void;
getTweak: tweakType; getTweak: tweakType;
saveComponent: (component: NodeDataType, id: string) => void; saveComponent: (component: NodeDataType) => void;
deleteComponent: (id: string, key: string) => void; deleteComponent: (id: string, key: string) => void;
}; };