From f0ed1cebe6f5813b2c10fdaea773b876477f2d44 Mon Sep 17 00:00:00 2001 From: wayanrivan Date: Tue, 6 May 2025 17:45:25 +0700 Subject: [PATCH] update method search --- .../blocks/ListToolbar.tsx | 40 +++++++++- .../hooks/ApprovalTransactionContext.tsx | 44 +++++++++-- .../blocks/ListToolbar.tsx | 61 +++++++++++---- .../hooks/TransactionContext.tsx | 78 ++++++++++--------- 4 files changed, 162 insertions(+), 61 deletions(-) diff --git a/src/pages/transaction/approval-transaction/blocks/ListToolbar.tsx b/src/pages/transaction/approval-transaction/blocks/ListToolbar.tsx index e5f74f2..a81aea3 100644 --- a/src/pages/transaction/approval-transaction/blocks/ListToolbar.tsx +++ b/src/pages/transaction/approval-transaction/blocks/ListToolbar.tsx @@ -33,9 +33,10 @@ const ListToolbar = () => { return date.toISOString().split('T')[0]; }; - const [searchValue, setSearchValue] = useState( - (table.getColumn('code')?.getFilterValue() as string) ?? '' - ); + const [searchValue, setSearchValue] = useState(); + const [typeSearchValue, setSearchTypeValue] = useState(); + + // useEffect to set the default date values useEffect(() => { @@ -56,6 +57,19 @@ const ListToolbar = () => { } }, [trxDate, table]); + useEffect(() => { + const timer = setTimeout(() => { + // Add search type filter to column filters + table.setColumnFilters((prev) => [ + ...prev.filter((f) => f.id !== 'searchtype'), + { id: 'searchtype', value: typeSearchValue }, + ]); + table.setPageIndex(0); + }, 200); + return () => clearTimeout(timer); + }, [typeSearchValue, table]); + + useEffect(() => { const timer = setTimeout(() => { table.getColumn('code')?.setFilterValue(searchValue); @@ -117,11 +131,27 @@ const ListToolbar = () => { + +