From 863aa999c7e4a2fface7d56c023b2775949cd1f0 Mon Sep 17 00:00:00 2001 From: "MSI\\derek" Date: Tue, 4 Jun 2024 17:40:01 +0800 Subject: [PATCH] update --- src/components/SkillSearch/SkillSearch.tsx | 5 ++++- src/components/StaffSearch/StaffSearch.tsx | 5 ++++- src/components/TeamSearch/TeamSearch.tsx | 6 +++++- src/components/UserGroupSearch/UserGroupSearch.tsx | 9 +++++---- .../UserGroupSearch/UserGroupSearchWrapper.tsx | 3 ++- 5 files changed, 20 insertions(+), 8 deletions(-) diff --git a/src/components/SkillSearch/SkillSearch.tsx b/src/components/SkillSearch/SkillSearch.tsx index 41ac68f..0e883b7 100644 --- a/src/components/SkillSearch/SkillSearch.tsx +++ b/src/components/SkillSearch/SkillSearch.tsx @@ -59,10 +59,13 @@ const SkillSearch: React.FC = ({ skill }) => { deleteDialog(async () => { await deleteSkill(skill.id); successDialog(deleteSuccess, t); - setFilteredSkill((prev) => prev.filter((obj) => obj.id !== skill.id)); }, t); }, []); + useEffect(() => { + setFilteredSkill(skill) + }, [skill]); + const columns = useMemo[]>( () => [ { diff --git a/src/components/StaffSearch/StaffSearch.tsx b/src/components/StaffSearch/StaffSearch.tsx index 97f0059..16b4dba 100644 --- a/src/components/StaffSearch/StaffSearch.tsx +++ b/src/components/StaffSearch/StaffSearch.tsx @@ -90,10 +90,13 @@ const StaffSearch: React.FC = ({ staff, teams, grades, positions, isAuthe deleteDialog(async () => { await deleteStaff(staff.id); successDialog(t("Delete Success"), t); - setFilteredStaff((prev) => prev.filter((obj) => obj.id !== staff.id)); }, t); }, []); + useEffect(() => { + setFilteredStaff(staff) + }, [staff]); + const columns = useMemo[]>( () => [ { diff --git a/src/components/TeamSearch/TeamSearch.tsx b/src/components/TeamSearch/TeamSearch.tsx index a73acdb..571a6ab 100644 --- a/src/components/TeamSearch/TeamSearch.tsx +++ b/src/components/TeamSearch/TeamSearch.tsx @@ -2,7 +2,7 @@ import { TeamResult } from "@/app/api/team"; import SearchBox, { Criterion } from "../SearchBox"; -import { useCallback, useMemo, useState } from "react"; +import { useCallback, useEffect, useMemo, useState } from "react"; import { useTranslation } from "react-i18next"; import SearchResults, { Column } from "../SearchResults/index"; import EditNote from "@mui/icons-material/EditNote"; @@ -66,6 +66,10 @@ const TeamSearch: React.FC = ({ team }) => { }, t); }, []); + useEffect(() => { + setFilteredTeam(team) + }, [team]); + const columns = useMemo[]>( () => [ { diff --git a/src/components/UserGroupSearch/UserGroupSearch.tsx b/src/components/UserGroupSearch/UserGroupSearch.tsx index ed71e27..6c1c64a 100644 --- a/src/components/UserGroupSearch/UserGroupSearch.tsx +++ b/src/components/UserGroupSearch/UserGroupSearch.tsx @@ -1,7 +1,7 @@ "use client"; import SearchBox, { Criterion } from "../SearchBox"; -import { useCallback, useMemo, useState } from "react"; +import { useCallback, useEffect, useMemo, useState } from "react"; import { useTranslation } from "react-i18next"; import SearchResults, { Column } from "../SearchResults/index"; import EditNote from "@mui/icons-material/EditNote"; @@ -9,7 +9,6 @@ import DeleteIcon from "@mui/icons-material/Delete"; import { useRouter } from "next/navigation"; import { deleteDialog, successDialog } from "../Swal/CustomAlerts"; import { UserGroupResult } from "@/app/api/group"; -import { deleteUser } from "@/app/api/user/actions"; import { deleteGroup } from "@/app/api/group/actions"; interface Props { @@ -41,7 +40,6 @@ const UserGroupSearch: React.FC = ({ groups }) => { const onUserClick = useCallback( (group: UserGroupResult) => { - console.log(group); router.push(`/settings/group/edit?id=${group.id}`) }, [router, t] @@ -51,11 +49,14 @@ const UserGroupSearch: React.FC = ({ groups }) => { deleteDialog(async () => { await deleteGroup(group.id); successDialog(t("Delete Success"), t); - setFilteredGroups((prev) => prev.filter((obj) => obj.id !== group.id)); }, t); }, []); + useEffect(() => { + setFilteredGroups(groups) + }, [groups]); + const columns = useMemo[]>( () => [ { diff --git a/src/components/UserGroupSearch/UserGroupSearchWrapper.tsx b/src/components/UserGroupSearch/UserGroupSearchWrapper.tsx index 37e81b5..34ee87d 100644 --- a/src/components/UserGroupSearch/UserGroupSearchWrapper.tsx +++ b/src/components/UserGroupSearch/UserGroupSearchWrapper.tsx @@ -1,6 +1,6 @@ import React from "react"; import UserGroupSearchLoading from "./UserGroupSearchLoading"; -import { UserGroupResult, fetchGroup } from "@/app/api/group"; +import { fetchGroup } from "@/app/api/group"; import UserGroupSearch from "./UserGroupSearch"; interface SubComponents { @@ -9,6 +9,7 @@ interface SubComponents { const UserGroupSearchWrapper: React.FC & SubComponents = async () => { const group = await fetchGroup() +console.log(group) return ; };