[cs] feat: 다이얼로그 닫힐 때 폼 및 쿼리 로직 초기화

This commit is contained in:
2026-02-06 11:26:40 +09:00
parent 7227b98961
commit 8565331e68
6 changed files with 58 additions and 23 deletions
@@ -1,6 +1,6 @@
"use client";
import { useState } from "react";
import { useEffect, useState } from "react";
import {
keepPreviousData,
useQuery,
@@ -75,7 +75,7 @@ function AddAdminDialog() {
});
const query = useQuery({
queryKey: [ENDPOINT.USER_SERVICE.USERS, pagination, "normal-user"],
queryKey: [ENDPOINT.USER_SERVICE.USERS, "findPageUser", pagination],
queryFn: () =>
UserApi.findPageUser({
...userSearchQuery,
@@ -181,6 +181,21 @@ function AddAdminDialog() {
query.refetch();
};
useEffect(() => {
if (!open) {
setRowSelection({});
setSelectedGroupId("");
setUserSearchQuery({
keywordType: "userName",
keyword: "",
});
setPagination({ pageIndex: 0, pageSize: 10 });
queryClient.removeQueries({
queryKey: [ENDPOINT.USER_SERVICE.USERS, "findPageUser"],
});
}
}, [open]);
return (
<Dialog open={open} onOpenChange={setOpen}>
<DialogTrigger asChild>
@@ -1,4 +1,4 @@
import { memo } from "react";
import { memo, useEffect } from "react";
import { useForm } from "react-hook-form";
import { zodResolver } from "@hookform/resolvers/zod";
import { useQuery, useQueryClient } from "@tanstack/react-query";
@@ -140,6 +140,10 @@ const LwpoCodeManagementDialog = memo(
}
};
useEffect(() => {
if (!open) form.reset();
}, [open]);
return (
<Dialog open={open} onOpenChange={onOpenChange} {...props}>
<DialogTrigger asChild>{children}</DialogTrigger>
+5 -1
View File
@@ -1,4 +1,4 @@
import { memo } from "react";
import { memo, useEffect } from "react";
import { useForm } from "react-hook-form";
import { zodResolver } from "@hookform/resolvers/zod";
import { useQuery } from "@tanstack/react-query";
@@ -96,6 +96,10 @@ const UpCodeManagementDialog = memo(
if (await confirm(confirmMessage)) callback(data);
};
useEffect(() => {
if (!open) form.reset();
}, [open]);
return (
<Dialog open={open} onOpenChange={onOpenChange} {...props}>
<DialogTrigger asChild>{children}</DialogTrigger>
@@ -1,4 +1,4 @@
import { useState, useRef } from "react";
import { useState, useRef, useEffect } from "react";
import { useForm } from "react-hook-form";
import { zodResolver } from "@hookform/resolvers/zod";
import { useQuery } from "@tanstack/react-query";
@@ -48,25 +48,14 @@ function MenuAuthorityDialog({ groupId }: MenuAuthorityDialogProps) {
keywordType: "",
siteId: "",
});
const handleReset = () => {
if (inputRef.current) inputRef.current.value = "";
setKeywordType("");
setSiteId("");
setSearchParams({
keyword: "",
keywordType: "",
siteId: "",
});
};
const query = useQuery({
queryKey: [ENDPOINT.CMS_SERVICE.MENU_AUTHRTS, groupId, searchParams],
queryFn: () => MenuAuthorityApi.getGroupMenuAuthorityList({
groupId,
...searchParams
}),
queryFn: () =>
MenuAuthorityApi.getGroupMenuAuthorityList({
groupId,
...searchParams,
}),
enabled: open && !!groupId,
});
@@ -117,6 +106,21 @@ function MenuAuthorityDialog({ groupId }: MenuAuthorityDialogProps) {
});
};
const handleReset = () => {
if (inputRef.current) inputRef.current.value = "";
setSiteId("");
setKeywordType("");
setSearchParams({
keyword: "",
keywordType: "",
siteId: "",
});
};
useEffect(() => {
if (!open) handleReset();
}, [open]);
return (
<Dialog open={open} onOpenChange={setOpen}>
<DialogTrigger asChild>
@@ -1,4 +1,4 @@
import { useState, memo } from "react";
import { useState, memo, useEffect } from "react";
import { useForm } from "react-hook-form";
import { zodResolver } from "@hookform/resolvers/zod";
import { useQuery } from "@tanstack/react-query";
@@ -90,6 +90,10 @@ const ManagementAuthorityDialog = memo(
}
};
useEffect(() => {
if (!open) form.reset();
}, [open]);
return (
<Dialog open={open} onOpenChange={setOpen}>
<DialogTrigger asChild>
@@ -1,4 +1,4 @@
import { useState, useRef } from "react";
import { useState, useRef, useEffect } from "react";
import { useQuery, useQueryClient } from "@tanstack/react-query";
import { getCoreRowModel, type ColumnDef } from "@tanstack/react-table";
import {
@@ -113,6 +113,10 @@ function MappingRoleDialog({
},
});
useEffect(() => {
if (!open) handleReset();
}, [open]);
return (
<Dialog open={open} onOpenChange={onOpenChange} {...props}>
<DialogTrigger asChild>