diff options
| author | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-08-06 04:23:40 +0000 |
|---|---|---|
| committer | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-08-06 04:23:40 +0000 |
| commit | de2ac5a2860bc25180971e7a11f852d9d44675b7 (patch) | |
| tree | b931c363f2cb19e177a0a7b17190d5de2a82d709 /lib/evaluation-target-list/table | |
| parent | 6c549b0f264e9be4d60af38f9efc05b189d6849f (diff) | |
(대표님) 정기평가, 법적검토, 정책, 가입관련 처리 및 관련 컴포넌트 추가, 메뉴 변경
Diffstat (limited to 'lib/evaluation-target-list/table')
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) { |
