Skip to content

UI: Add timetable type filter to Dag list#69728

Open
shivaam wants to merge 4 commits into
apache:mainfrom
shivaam:codex/airflow-investigate-issue-53738
Open

UI: Add timetable type filter to Dag list#69728
shivaam wants to merge 4 commits into
apache:mainfrom
shivaam:codex/airflow-investigate-issue-53738

Conversation

@shivaam

@shivaam shivaam commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Adds timetable type filtering to the Dag list UI.

The public API already supports filtering Dags by timetable_type, but the Dag list page uses the private /ui/dags endpoint. This wires the same filter through the private endpoint, generated UI client, and Dag list filters.

The timetable filter uses a discoverable, server-backed typeahead and supports selecting multiple timetable types with OR semantics. The timetable and tag controls use a small shared filter-select component so their chips, clearing, option handling, and styling stay consistent. Other compatible filters can migrate to this shared component incrementally, giving filter controls consistent behavior across Airflow UI pages without broadening this PR into an unrelated UI rewrite.

closes: #53738

Testing:

  • Focused backend timetable filter and type-list tests
  • Dag filter UI tests
  • ESLint and TypeScript
  • Production UI build
  • Real Airflow/Postgres UI verification with built-in and plugin timetables

image
Was generative AI tooling used to co-author this PR?
  • Yes: OpenAI Codex

Generated-by: OpenAI Codex following the guidelines

Comment on lines +128 to +129
FilterParam[list[str] | None],
Depends(filter_param_factory(DagModel.timetable_type, list[str], FilterOptionEnum.IN)),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is an exact match. To make this a more useful feature I think we need to follow how tags work and create an endpoint to query all timetables that exist amongst all the dags to give a typeahead dropdown UX

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Image

A new search bar only for tags? Is this what we are expecting from this UI?
I feel the UI is looking a little cluttered with multiple search bars for each different category.
@pierrejeambrun fyi

@pierrejeambrun pierrejeambrun left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any update here? It would be great to have this improvement!

@shivaam

shivaam commented Jul 24, 2026

Copy link
Copy Markdown
Contributor Author

Any update here? It would be great to have this improvement!

Hello! I will update the PR by tomorrow morning. Working on it today

@shivaam

shivaam commented Jul 24, 2026

Copy link
Copy Markdown
Contributor Author
f1.mov

Here is an example of how it will look like. If you agree with the design, I will move ahead with the implementation. I have fixed the favorites to the right as we resize the window so they dont move around on smaller screens

@shivaam
shivaam marked this pull request as ready for review July 24, 2026 17:44
shivaam added 3 commits July 24, 2026 10:47
Users could filter by timetable type through the public API, but the Dag list uses the private UI endpoint. This makes the same capability available from the page users actually use.
Keeping these text inputs on one implementation prevents their debounce, clearing, and URL synchronization behavior from drifting.
Dags can use built-in or plugin timetables whose persisted type names are not discoverable from free text alone. Exposing readable values lets users narrow large Dag lists without knowing the exact class path.
@shivaam
shivaam force-pushed the codex/airflow-investigate-issue-53738 branch from 3a2493c to c5dacaf Compare July 25, 2026 04:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:API Airflow's REST/HTTP API area:UI Related to UI/UX. For Frontend Developers. ready for maintainer review Set after triaging when all criteria pass.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add Support for Filtering DAGs by Timetable Type

4 participants