-
콘텐츠 목록
-
-
router.push(`${pathname}/register`)}
- >
- 등록
-
-
- 선택삭제
-
+
+
+
+
+
+
+
+
+
콘텐츠 목록
+
+
router.push(`${pathname}/register`)}
+ >
+ 등록
+
+
+ 선택삭제
+
+
-
-
-
-
e.stopPropagation()}
- onCheckedChange={handleAllCheckboxChange}
- />
-
+
+
+ e.stopPropagation()}
+ onCheckedChange={handleAllCheckboxChange}
+ />
+
+
+ {isFetched ? (
+
+ {postList?.content.map((item) => (
+
+
e.stopPropagation()}
+ onCheckedChange={(checked) =>
+ handleCheckboxChange(item.pstNo, checked)
+ }
+ className="mx-2 my-6"
+ />
+
+
+
+
+ Q
+ {item.pstTtl}
+
+
+ 등록일: {dayjs(item.regDt).format("YYYY-MM-DD")}
+
+
+
+
+
+
+ A
+
+
+
+
+
+
+
+
+
+
+ ))}
+
+ ) : (
+
+ )}
- {isFetched ? (
-
- {postList?.content.map((item) => (
-
-
e.stopPropagation()}
- onCheckedChange={(checked) =>
- handleCheckboxChange(item.pstNo, checked)
- }
- className="mx-2 my-6"
- />
-
-
-
-
- Q
- {item.pstTtl}
-
-
- 등록일: {dayjs(item.regDt).format("YYYY-MM-DD")}
-
-
-
-
-
-
- A
-
-
-
-
-
-
-
-
-
-
- ))}
-
- ) : (
-
- )}
-
+
);
}
diff --git a/apps/cs/src/pages/admin/ui/admin-page.tsx b/apps/cs/src/pages/admin/ui/admin-page.tsx
index 95d2c4e91..c2d3aa5af 100644
--- a/apps/cs/src/pages/admin/ui/admin-page.tsx
+++ b/apps/cs/src/pages/admin/ui/admin-page.tsx
@@ -38,7 +38,7 @@ function AdminPage() {
const alert = useAlertStore((state) => state.setMessage);
const { confirm } = useConfirm();
- const [keywordType, setKeywordType] = useState("");
+ const [keywordType, setKeywordType] = useState("userId");
const [keyword, setKeyword] = useState("");
const [grpId, setGrpId] = useState("");
const [searchParams, setSearchParams] = useState
({
diff --git a/apps/cs/src/pages/banner/model/posting-table-columns.tsx b/apps/cs/src/pages/banner/model/posting-table-columns.tsx
index 3daee86f8..7d3b06a65 100644
--- a/apps/cs/src/pages/banner/model/posting-table-columns.tsx
+++ b/apps/cs/src/pages/banner/model/posting-table-columns.tsx
@@ -35,9 +35,14 @@ export const columns: ColumnDef[] = [
accessorKey: "pstgPrdSeNm",
header: "게시기간",
cell: ({ row }) => {
+ const pstgPrdSeCd = row.original.pstgPrdSeCd;
const pstgPrdSeNm = row.original.pstgPrdSeNm;
const pstgBgngDt = row.original.pstgBgngDt;
const pstgEndDt = row.original.pstgEndDt;
+
+ if (pstgPrdSeCd === "99") {
+ return pstgPrdSeNm;
+ }
return `${pstgPrdSeNm} (${dayjs(pstgBgngDt).format("YYYY-MM-DD")} ~ ${dayjs(pstgEndDt).format("YYYY-MM-DD")})`;
},
},
diff --git a/apps/cs/src/pages/contents/ui/create-page.tsx b/apps/cs/src/pages/contents/ui/create-page.tsx
index dfbb2a9fb..6868d6937 100644
--- a/apps/cs/src/pages/contents/ui/create-page.tsx
+++ b/apps/cs/src/pages/contents/ui/create-page.tsx
@@ -34,7 +34,7 @@ function CreatePage() {
콘텐츠 등록
-
+
);
}
diff --git a/apps/cs/src/pages/contents/ui/modify-page.tsx b/apps/cs/src/pages/contents/ui/modify-page.tsx
index e783e9c1c..c6347ea59 100644
--- a/apps/cs/src/pages/contents/ui/modify-page.tsx
+++ b/apps/cs/src/pages/contents/ui/modify-page.tsx
@@ -1,5 +1,6 @@
"use client";
+import { useRouter } from "next/navigation";
import { useEffect, useState } from "react";
import { useQuery, useQueryClient } from "@tanstack/react-query";
import { useConfirm } from "@frontend-opensource/use-react-hooks";
@@ -24,6 +25,7 @@ import { useAlertStore, useMutationWrapper } from "@/shared/lib";
import { ContentsForm } from "./contents-form";
function ModifyPage({ sequential }: { sequential: string }) {
+ const router = useRouter();
const { confirm } = useConfirm();
const queryClient = useQueryClient();
const alert = useAlertStore((state) => state.setMessage);
@@ -51,9 +53,11 @@ function ModifyPage({ sequential }: { sequential: string }) {
mutationFn: (data: ContentsFormData) => ContentsApi.createContents(data),
onSuccess: () => {
setContsVer(0);
- alert("수정되었습니다.");
- queryClient.invalidateQueries({
- queryKey: [ENDPOINT.CMS_SERVICE.CONTENTS_DETAILS, contsSn],
+ alert("수정되었습니다.", () => {
+ queryClient.invalidateQueries({
+ queryKey: [ENDPOINT.CMS_SERVICE.CONTENTS_DETAILS, contsSn],
+ });
+ router.back();
});
},
});
@@ -62,7 +66,7 @@ function ModifyPage({ sequential }: { sequential: string }) {
mutationFn: (data: ContentsFormData) =>
ContentsApi.updateContents(contsSn, contsVer, data),
onSuccess: () => {
- alert("수정되었습니다.");
+ alert("수정되었습니다.", router.back);
},
});
@@ -70,9 +74,11 @@ function ModifyPage({ sequential }: { sequential: string }) {
mutationFn: () => ContentsApi.deleteContents(contsSn, contsVer),
onSuccess: () => {
setContsVer(0);
- alert("삭제되었습니다.");
- queryClient.invalidateQueries({
- queryKey: [ENDPOINT.CMS_SERVICE.CONTENTS_DETAILS, contsSn],
+ alert("삭제되었습니다.", () => {
+ queryClient.invalidateQueries({
+ queryKey: [ENDPOINT.CMS_SERVICE.CONTENTS_DETAILS, contsSn],
+ });
+ router.back();
});
},
});
diff --git a/apps/cs/src/pages/file/ui/file-page.tsx b/apps/cs/src/pages/file/ui/file-page.tsx
index 8243d47d1..8b5eba617 100644
--- a/apps/cs/src/pages/file/ui/file-page.tsx
+++ b/apps/cs/src/pages/file/ui/file-page.tsx
@@ -39,8 +39,7 @@ function FilePage() {
mutationFn: (atflId: string) =>
AttachmentApi.deleteAttachmentByAtflId(atflId),
onSuccess: () => {
- query.refetch();
- alert("삭제되었습니다.");
+ alert("삭제되었습니다.", query.refetch);
},
});
diff --git a/apps/cs/src/pages/groups/ui/add-user-dialog.tsx b/apps/cs/src/pages/groups/ui/add-user-dialog.tsx
index aafba70db..4f8a205ff 100644
--- a/apps/cs/src/pages/groups/ui/add-user-dialog.tsx
+++ b/apps/cs/src/pages/groups/ui/add-user-dialog.tsx
@@ -1,6 +1,6 @@
"use client";
-import { useState } from "react";
+import { useState, useEffect } from "react";
import {
keepPreviousData,
useQuery,
@@ -22,6 +22,7 @@ import {
DialogFooter,
Input,
Checkbox,
+ Label,
} from "@common/components";
import {
UserApi,
@@ -41,7 +42,8 @@ function AddUserDialog({ groupId }: AdditionalUserDialogProps) {
const alert = useAlertStore((state) => state.setMessage);
const [open, setOpen] = useState(false);
- const [userSearchQuery, setUserSearchQuery] = useState
({
+ const [userName, setUserName] = useState("");
+ const [searchParam, setSearchParam] = useState({
userName: "",
});
const [pagination, setPagination] = useState({
@@ -53,10 +55,10 @@ function AddUserDialog({ groupId }: AdditionalUserDialogProps) {
);
const query = useQuery({
- queryKey: [ENDPOINT.USER_SERVICE.USERS, userSearchQuery, pagination],
+ queryKey: [ENDPOINT.USER_SERVICE.USERS, searchParam, pagination],
queryFn: () =>
UserApi.findPageUser({
- ...userSearchQuery,
+ ...searchParam,
page: pagination.pageIndex,
size: pagination.pageSize,
}),
@@ -118,6 +120,9 @@ function AddUserDialog({ groupId }: AdditionalUserDialogProps) {
onRowSelectionChange: setUserRowSelection,
getRowId: (row) => row.userUnqId,
},
+ dataTableOptions: {
+ viewPagination: true,
+ },
});
const handleAddUsers = async () => {
@@ -144,10 +149,30 @@ function AddUserDialog({ groupId }: AdditionalUserDialogProps) {
}
};
- const handleSearch = () => {
- setPagination({ pageIndex: 0, pageSize: 10 });
+ const handleSearch = (e: React.FormEvent) => {
+ e.preventDefault();
+ e.stopPropagation();
+ setPagination({
+ ...pagination,
+ pageIndex: 0,
+ });
+ setSearchParam({ userName });
};
+ const resetSearch = () => {
+ setPagination({
+ pageIndex: 0,
+ pageSize: 10,
+ });
+ setUserName("");
+ setSearchParam({ userName: "" });
+ setUserRowSelection({});
+ };
+
+ useEffect(() => {
+ if (open) resetSearch();
+ }, [open]);
+
return (