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) => {},
|
||||
getFilterEdge: [],
|
||||
saveComponent: (component: NodeDataType, key: string) => {},
|
||||
deleteComponent: (key: string) => {},
|
||||
deleteComponent: (id: string, key: string) => {},
|
||||
};
|
||||
|
||||
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: {} };
|
||||
if (checkLocalStorageKey(userData?.id!)) {
|
||||
let savedComponents = localStorage.getItem(userData?.id!)!;
|
||||
if (checkLocalStorageKey(id)) {
|
||||
let savedComponents = localStorage.getItem(id)!;
|
||||
savedComponentsJSON = JSON.parse(savedComponents);
|
||||
}
|
||||
let components = savedComponentsJSON.components;
|
||||
delete components[key];
|
||||
savedComponentsJSON.components = components;
|
||||
localStorage.setItem(userData?.id!, JSON.stringify(savedComponentsJSON));
|
||||
console.log(savedComponentsJSON);
|
||||
localStorage.setItem(id, JSON.stringify(savedComponentsJSON));
|
||||
setData((prev) => {
|
||||
let newData = _.cloneDeep(prev);
|
||||
//clone to prevent reference erro
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import {
|
|||
SelectItem,
|
||||
SelectTrigger,
|
||||
} from "../../../../../components/ui/select-custom";
|
||||
import { AuthContext } from "../../../../../contexts/authContext";
|
||||
import { TabsContext } from "../../../../../contexts/tabsContext";
|
||||
import { typesContext } from "../../../../../contexts/typesContext";
|
||||
import { APIClassType } from "../../../../../types/api";
|
||||
|
|
@ -35,6 +36,7 @@ export default function SidebarDraggableComponent({
|
|||
const open = useRef(false);
|
||||
const { deleteComponent } = useContext(typesContext);
|
||||
const { getNodeId } = useContext(TabsContext);
|
||||
const { autoLogin, userData } = useContext(AuthContext);
|
||||
|
||||
function handleSelectChange(value: string) {
|
||||
switch (value) {
|
||||
|
|
@ -47,7 +49,7 @@ export default function SidebarDraggableComponent({
|
|||
);
|
||||
break;
|
||||
case "delete":
|
||||
deleteComponent(itemName);
|
||||
deleteComponent(autoLogin ? "auto" : userData?.id!, itemName);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ export type typesContextType = {
|
|||
setFilterEdge: (newState) => void;
|
||||
getFilterEdge: any[];
|
||||
saveComponent: (component: NodeDataType, key: string) => void;
|
||||
deleteComponent: (key: string) => void;
|
||||
deleteComponent: (id: string, key: string) => void;
|
||||
};
|
||||
|
||||
export type alertContextType = {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue