Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Store grid view selection in url params #23290

Merged
merged 5 commits into from
Apr 29, 2022

Conversation

bbovenzi
Copy link
Contributor

Store the selected dag run and task instance with dag_run_id and task_id url params for Grid view.

This allowed us to simplify useSelection to no longer need useContext. Then I moved some non-components from /tree to /tree/utils


^ Add meaningful description above

Read the Pull Request Guidelines for more information.
In case of fundamental code change, Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in a newsfragement file, named {pr_number}.significant.rst, in newsfragments.

@boring-cyborg boring-cyborg bot added area:UI Related to UI/UX. For Frontend Developers. area:webserver Webserver related Issues labels Apr 27, 2022
@bbovenzi
Copy link
Contributor Author

CC: @staufferl16

@@ -27,5 +27,8 @@ export default function useTasks(dagId) {
return useQuery(
['tasks', dagId],
() => axios.get(tasksUrl),
{
placeholderData: { tasks: [] },

Choose a reason for hiding this comment

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

Is this argument a default return value for the useQuery function?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Copy link

@staufferl16 staufferl16 left a comment

Choose a reason for hiding this comment

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

Router/search param code looks great to me! I've been using MemoryRouter for tests too.

@bbovenzi bbovenzi added this to the Airflow 2.3.1 milestone Apr 28, 2022
Copy link
Member

@pierrejeambrun pierrejeambrun left a comment

Choose a reason for hiding this comment

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

LGTM 👍

@@ -42,13 +42,13 @@ const Wrapper = ({ children }) => {
<ContainerRefProvider value={{}}>
<TimezoneProvider value={{ timezone: 'UTC' }}>
<AutoRefreshProvider value={{ isRefreshOn: false, stopRefresh: () => {} }}>
<SelectionProvider value={{ onSelect: () => {}, selected: {} }}>
<MemoryRouter>
Copy link
Member

Choose a reason for hiding this comment

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

Why do we use MemoryRouter here but BrowserRouter elsewhere?

Does MemoryRouter mean that components here don't change the URL, right?

Copy link
Member

Choose a reason for hiding this comment

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

Oh. This is a test.jsx :D

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes, tests aren't run on an actual browser so we use a different router.

@github-actions
Copy link

The PR is likely OK to be merged with just subset of tests for default Python and Database versions without running the full matrix of tests, because it does not modify the core of Airflow. If the committers decide that the full tests matrix is needed, they will add the label 'full tests needed'. Then you should rebase to the latest main or amend the last commit of the PR, and push it with --force-with-lease.

@github-actions github-actions bot added the okay to merge It's ok to merge this PR as it does not require more tests label Apr 29, 2022
@bbovenzi bbovenzi merged commit 4c1fcee into apache:main Apr 29, 2022
@bbovenzi bbovenzi deleted the grid-selection-url-params branch April 29, 2022 13:51
@ephraimbuddy ephraimbuddy added the type:bug-fix Changelog: Bug Fixes label May 8, 2022
ephraimbuddy pushed a commit that referenced this pull request May 8, 2022
* Add url params for dag_run_id and task_id

* Persist other search params

* simplify useSelection

* delete extra params

* remove API change

(cherry picked from commit 4c1fcee)
ephraimbuddy pushed a commit that referenced this pull request May 21, 2022
* Add url params for dag_run_id and task_id

* Persist other search params

* simplify useSelection

* delete extra params

* remove API change

(cherry picked from commit 4c1fcee)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:UI Related to UI/UX. For Frontend Developers. area:webserver Webserver related Issues okay to merge It's ok to merge this PR as it does not require more tests type:bug-fix Changelog: Bug Fixes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants