fix(typesContext.tsx): update deleteComponent function signature to include id parameter for better data management
fix(typesContext.tsx): update deleteComponent implementation to use id parameter for localStorage key fix(sideBarDraggableComponent/index.tsx): update deleteComponent function call to include id parameter for better data management
This commit is contained in:
parent
82e1131ed2
commit
71945ed9cf
3 changed files with 10 additions and 7 deletions
|
|
@ -37,7 +37,7 @@ const initialValue: typesContextType = {
|
||||||
setFilterEdge: (filter) => {},
|
setFilterEdge: (filter) => {},
|
||||||
getFilterEdge: [],
|
getFilterEdge: [],
|
||||||
saveComponent: (component: NodeDataType, key: string) => {},
|
saveComponent: (component: NodeDataType, key: string) => {},
|
||||||
deleteComponent: (key: string) => {},
|
deleteComponent: (id: string, key: string) => {},
|
||||||
};
|
};
|
||||||
|
|
||||||
export const typesContext = createContext<typesContextType>(initialValue);
|
export const typesContext = createContext<typesContextType>(initialValue);
|
||||||
|
|
@ -159,16 +159,17 @@ export function TypesProvider({ children }: { children: ReactNode }) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function deleteComponent(key: string) {
|
function deleteComponent(id: string, key: string) {
|
||||||
let savedComponentsJSON: localStorageUserType = { components: {} };
|
let savedComponentsJSON: localStorageUserType = { components: {} };
|
||||||
if (checkLocalStorageKey(userData?.id!)) {
|
if (checkLocalStorageKey(id)) {
|
||||||
let savedComponents = localStorage.getItem(userData?.id!)!;
|
let savedComponents = localStorage.getItem(id)!;
|
||||||
savedComponentsJSON = JSON.parse(savedComponents);
|
savedComponentsJSON = JSON.parse(savedComponents);
|
||||||
}
|
}
|
||||||
let components = savedComponentsJSON.components;
|
let components = savedComponentsJSON.components;
|
||||||
delete components[key];
|
delete components[key];
|
||||||
savedComponentsJSON.components = components;
|
savedComponentsJSON.components = components;
|
||||||
localStorage.setItem(userData?.id!, JSON.stringify(savedComponentsJSON));
|
console.log(savedComponentsJSON);
|
||||||
|
localStorage.setItem(id, JSON.stringify(savedComponentsJSON));
|
||||||
setData((prev) => {
|
setData((prev) => {
|
||||||
let newData = _.cloneDeep(prev);
|
let newData = _.cloneDeep(prev);
|
||||||
//clone to prevent reference erro
|
//clone to prevent reference erro
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ import {
|
||||||
SelectItem,
|
SelectItem,
|
||||||
SelectTrigger,
|
SelectTrigger,
|
||||||
} from "../../../../../components/ui/select-custom";
|
} from "../../../../../components/ui/select-custom";
|
||||||
|
import { AuthContext } from "../../../../../contexts/authContext";
|
||||||
import { TabsContext } from "../../../../../contexts/tabsContext";
|
import { TabsContext } from "../../../../../contexts/tabsContext";
|
||||||
import { typesContext } from "../../../../../contexts/typesContext";
|
import { typesContext } from "../../../../../contexts/typesContext";
|
||||||
import { APIClassType } from "../../../../../types/api";
|
import { APIClassType } from "../../../../../types/api";
|
||||||
|
|
@ -35,6 +36,7 @@ export default function SidebarDraggableComponent({
|
||||||
const open = useRef(false);
|
const open = useRef(false);
|
||||||
const { deleteComponent } = useContext(typesContext);
|
const { deleteComponent } = useContext(typesContext);
|
||||||
const { getNodeId } = useContext(TabsContext);
|
const { getNodeId } = useContext(TabsContext);
|
||||||
|
const { autoLogin, userData } = useContext(AuthContext);
|
||||||
|
|
||||||
function handleSelectChange(value: string) {
|
function handleSelectChange(value: string) {
|
||||||
switch (value) {
|
switch (value) {
|
||||||
|
|
@ -47,7 +49,7 @@ export default function SidebarDraggableComponent({
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
case "delete":
|
case "delete":
|
||||||
deleteComponent(itemName);
|
deleteComponent(autoLogin ? "auto" : userData?.id!, itemName);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ export type typesContextType = {
|
||||||
setFilterEdge: (newState) => void;
|
setFilterEdge: (newState) => void;
|
||||||
getFilterEdge: any[];
|
getFilterEdge: any[];
|
||||||
saveComponent: (component: NodeDataType, key: string) => void;
|
saveComponent: (component: NodeDataType, key: string) => void;
|
||||||
deleteComponent: (key: string) => void;
|
deleteComponent: (id: string, key: string) => void;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type alertContextType = {
|
export type alertContextType = {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue