summaryrefslogtreecommitdiff
path: root/lib/evaluation-target-list
diff options
context:
space:
mode:
authordujinkim <dujin.kim@dtsolution.co.kr>2025-08-06 04:23:40 +0000
committerdujinkim <dujin.kim@dtsolution.co.kr>2025-08-06 04:23:40 +0000
commitde2ac5a2860bc25180971e7a11f852d9d44675b7 (patch)
treeb931c363f2cb19e177a0a7b17190d5de2a82d709 /lib/evaluation-target-list
parent6c549b0f264e9be4d60af38f9efc05b189d6849f (diff)
(대표님) 정기평가, 법적검토, 정책, 가입관련 처리 및 관련 컴포넌트 추가, 메뉴 변경
Diffstat (limited to 'lib/evaluation-target-list')
-rw-r--r--lib/evaluation-target-list/table/delete-targets-dialog.tsx1
-rw-r--r--lib/evaluation-target-list/table/evaluation-target-table.tsx15
-rw-r--r--lib/evaluation-target-list/table/evaluation-targets-filter-sheet.tsx22
3 files changed, 31 insertions, 7 deletions
diff --git a/lib/evaluation-target-list/table/delete-targets-dialog.tsx b/lib/evaluation-target-list/table/delete-targets-dialog.tsx
index 5414d281..5f5493c2 100644
--- a/lib/evaluation-target-list/table/delete-targets-dialog.tsx
+++ b/lib/evaluation-target-list/table/delete-targets-dialog.tsx
@@ -37,7 +37,6 @@ export function DeleteTargetsDialog({
return targets.filter(target => target.status === "PENDING")
}, [targets])
- console.log(pendingTargets,"pendingTargets")
const handleDelete = async () => {
if (pendingTargets.length === 0) {
diff --git a/lib/evaluation-target-list/table/evaluation-target-table.tsx b/lib/evaluation-target-list/table/evaluation-target-table.tsx
index 9cc73003..9ca66acb 100644
--- a/lib/evaluation-target-list/table/evaluation-target-table.tsx
+++ b/lib/evaluation-target-list/table/evaluation-target-table.tsx
@@ -362,11 +362,16 @@ export function EvaluationTargetsTable({ promises, evaluationYear, className }:
const updateContainerBounds = React.useCallback(() => {
if (containerRef.current) {
- const rect = containerRef.current.getBoundingClientRect();
- setContainerTop(rect.top);
+ const rect = containerRef.current.getBoundingClientRect()
+ const newTop = rect.top
+ setContainerTop(prevTop => {
+ if (Math.abs(prevTop - newTop) > 1) { // 1px 이상 차이날 때만 업데이트
+ return newTop
+ }
+ return prevTop
+ })
}
- }, []);
-
+ }, [])
React.useEffect(() => {
updateContainerBounds();
@@ -439,6 +444,8 @@ export function EvaluationTargetsTable({ promises, evaluationYear, className }:
initialSettings
);
+
+
/* --------------------- 컬럼 ------------------------------ */
const columns = React.useMemo(() => getEvaluationTargetsColumns({ setRowAction }), [setRowAction]);
diff --git a/lib/evaluation-target-list/table/evaluation-targets-filter-sheet.tsx b/lib/evaluation-target-list/table/evaluation-targets-filter-sheet.tsx
index 3b6f9fa1..d37591ef 100644
--- a/lib/evaluation-target-list/table/evaluation-targets-filter-sheet.tsx
+++ b/lib/evaluation-target-list/table/evaluation-targets-filter-sheet.tsx
@@ -256,6 +256,7 @@ export function EvaluationTargetFilterSheet({
// ✅ 필터 초기화 핸들러
function handleReset() {
+ // 1. 폼 초기화
form.reset({
evaluationYear: "",
division: "",
@@ -273,9 +274,26 @@ export function EvaluationTargetFilterSheet({
csReviewerName: "",
});
- // 빈 필터 배열 전달
- onFiltersApply([], "and");
+ // 2. 조인 연산자 초기화
setJoinOperator("and");
+
+ // 3. URL 파라미터 초기화 (필터를 빈 배열로 설정)
+ const currentUrl = new URL(window.location.href);
+ const newSearchParams = new URLSearchParams(currentUrl.search);
+
+ // 필터 관련 파라미터 초기화
+ newSearchParams.set("filters", JSON.stringify([]));
+ newSearchParams.set("joinOperator", "and");
+ newSearchParams.set("page", "1");
+ newSearchParams.delete("search"); // 검색어 제거
+
+ // URL 업데이트
+ router.replace(`${currentUrl.pathname}?${newSearchParams.toString()}`);
+
+ // 4. 빈 필터 배열 전달 (즉시 UI 업데이트를 위해)
+ onFiltersApply([], "and");
+
+ console.log("=== 필터 완전 초기화 완료 ===");
}
if (!isOpen) {