apache / airflow

Apache Airflow - A platform to programmatically author, schedule, and monitor workflows
https://airflow.apache.org/
Apache License 2.0
37.41k stars 14.36k forks source link

Add advanced search input + dropdown for table views #42699

Open bbovenzi opened 1 month ago

bbovenzi commented 1 month ago

Create a search input to filter a list view.

  1. Accepts a simple string for a default search (ex: for the dags list, search for dag_display_names that match the search string)
  2. Add an Advanced button which adds a dropdown to add any supported filters for the list of data
  3. Filling out the advanced filters dropdown generates an advanced query string which a user can also type (think power search features in a search engine)

Image

luyangliuable commented 1 month ago

Mind if I take this one on as well.

bbovenzi commented 1 month ago

We left this in "To Scope" because @pierrejeambrun and I need to figure out the syntax of the power user search strings and how it combines with FastAPI. I'm adding extra issues to the project board today for you to pick up if you want.

luyangliuable commented 1 month ago

Thanks i am happy to contribute more to this.

bbovenzi commented 3 weeks ago

I appreciate the enthusiasm. I just created a new meta issue to track UI tasks. https://github.com/apache/airflow/issues/43712

Feel free to pick up any open issue!

hterik commented 4 days ago

If the search is being rehauled, can i suggest to make the filters optimized for text first, rather than visual dropdown menus and query-builders. With support for AND and OR operators.

Comparing with the situation of the current search, if i have to make a simple query like state not in ["queued", "running"], every operator involves 6 mouse clicks + scrolling in the dropdown to find the essential Not equal to-operator + typing the text. Meaning a total of at least 14 mouse operations in different locations. It's very slow and painful to use.

Old UI example image

The new mockup looks a lot nicer for sure, but IMO the the mode of input is a more important improvement here, not the visuals.

Text is a lot easier to type, copy and edit. With AND/OR operators, much more powerful queries can be constructed and with text, the order of precedence or changing the order of precedence with parenthesis become easier and more obvious.

To ease for newcomers, all the supported operations and their possible values can be listed under the query-box with examples.