This is an automated email from the ASF dual-hosted git repository.

ephraimanierobi pushed a commit to branch v3-1-test
in repository https://gitbox.apache.org/repos/asf/airflow.git

commit e20c1570a5cb5573328136bc18e2d0459542135b
Author: Yeonguk Choo <[email protected]>
AuthorDate: Mon Dec 8 23:45:02 2025 +0900

    Add toggle functionality to Dags state filters (#59089)
    
    (cherry picked from commit 92d2f87572a244c083254648af535b365f9d6e92)
---
 .../ui/src/pages/DagsList/DagsFilters/DagsFilters.tsx      | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git 
a/airflow-core/src/airflow/ui/src/pages/DagsList/DagsFilters/DagsFilters.tsx 
b/airflow-core/src/airflow/ui/src/pages/DagsList/DagsFilters/DagsFilters.tsx
index 334f467b77b..5b413ab012c 100644
--- a/airflow-core/src/airflow/ui/src/pages/DagsList/DagsFilters/DagsFilters.tsx
+++ b/airflow-core/src/airflow/ui/src/pages/DagsList/DagsFilters/DagsFilters.tsx
@@ -116,9 +116,17 @@ export const DagsFilters = () => {
         searchParams.delete(LAST_DAG_RUN_STATE_PARAM);
         searchParams.delete(NEEDS_REVIEW_PARAM);
       } else if (value === "needs_review") {
-        searchParams.set(NEEDS_REVIEW_PARAM, "true");
+        if (needsReview === "true") {
+          searchParams.delete(NEEDS_REVIEW_PARAM);
+        } else {
+          searchParams.set(NEEDS_REVIEW_PARAM, "true");
+        }
       } else {
-        searchParams.set(LAST_DAG_RUN_STATE_PARAM, value);
+        if (state === value) {
+          searchParams.delete(LAST_DAG_RUN_STATE_PARAM);
+        } else {
+          searchParams.set(LAST_DAG_RUN_STATE_PARAM, value);
+        }
       }
       setTableURLState({
         pagination: { ...pagination, pageIndex: 0 },
@@ -127,7 +135,7 @@ export const DagsFilters = () => {
       searchParams.delete(OFFSET_PARAM);
       setSearchParams(searchParams);
     },
-    [pagination, searchParams, setSearchParams, setTableURLState, sorting],
+    [pagination, searchParams, setSearchParams, setTableURLState, sorting, 
needsReview, state],
   );
 
   const handleSelectTagsChange = useCallback(

Reply via email to