RabahAmrouche05 opened a new pull request, #68544:
URL: https://github.com/apache/airflow/pull/68544
## What
Adds a **folder navigation tree** to the Dags page. The tree is built from
each
Dag's `relative_fileloc` directory, and selecting a folder filters the Dag
list
to the Dags that live in it (and its subfolders).
## Why
The Dags page only offered a flat list. In deployments with many Dags spread
across subfolders of the dags folder (e.g. `team_a/etl/…`, `team_b/ml/…`)
there
was no way to browse or filter by folder.
## How
- **Backend** — a server-side `relative_fileloc_prefix` filter on `GET
/ui/dags`
(strict folder match, so `team_a` never catches `team_alpha`) and a new
`GET /ui/dags/folders` endpoint returning the distinct folders of all
readable
Dags. Filtering is done server-side so the result stays correct across
pagination, sorting and the other filters.
- **Frontend** — a collapsible folder tree on the Dags page that drives the
filter via a `dag_folder` search param, with the tree hierarchy
reconstructed
client-side from the folder paths.
Dags located at the bundle root contribute no folder and appear under "All
Dags".
Tests: backend (folders endpoint + filter, incl. the `team_a` / `team_alpha`
edge case) and frontend (`buildFolderTree` unit tests + `DagFolderTree`
component tests).
---
##### Was generative AI tooling used to co-author this PR?
- [X] Yes — Claude Code (Opus 4.8)
Generated-by: Claude Code (Opus 4.8) following [the
guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]