Repository navigation
UI: Add Select Recent Configurations dropdown to Trigger Dag form - #70413
Conversation
c95038e to
632e715
Compare
632e715 to
1c782ec
Compare
pierrejeambrun
left a comment
There was a problem hiding this comment.
Thanks a lot,
A couple suggestions before this can move forward :)
1c782ec to
9439987
Compare
|
Hello @pierrejeambrun, thank you for the kind review. I've addressed the issues you pointed out. Please take a look when you have chance Thank you so much! |
Reusing a past run's config currently requires leaving the trigger flow to hunt for the right run in the run list and use "Trigger again with this config". Restoring the Airflow 2 in-form dropdown lets users pick any distinct config from the recent runs in a scrollable list while composing a run. The dropdown reuses the existing dagRuns list endpoint and the same conf-only prefill path as the menu item, so no new API surface is added. closes: apache#69820
Main now separates React imports from third-party ones, and prettier flags the file otherwise.
Picking a recent configuration reused the re-trigger prefill path, which resets the whole form. A user who had already set a logical date, run id, note or manual data interval lost all of them. The dropdown is meant to swap only the run's conf, so it now leaves every other field untouched.
"Trigger again with this config" already fills the form with one specific run's conf, so showing an unselected recent-configurations dropdown on top of it is contradictory.
The dropdown rendered inside the Trigger Dag modal was clipped at the modal edge because its content stayed inside the modal's DOM tree. The shared Select from src/system-components portals its content and already renders the control, indicator and positioner, so the hand-rolled Chakra parts only duplicated those layers. The trigger form tests also follow main, where the i18n mock returns keys and TriggerDAGForm no longer takes dagDisplayName.
9439987 to
af7f357
Compare
|
Thanks for the review @bbovenzi! Addressed all three comments in the latest push: |
|
E2e test failure is unrelated |
Backport successfully created: v3-4-testNote: As of Merging PRs targeted for Airflow 3.X In matter of doubt please ask in #release-management Slack channel.
|
…Dag form (#70413) (#74977) * UI: Add Select Recent Configurations dropdown to Trigger Dag form Reusing a past run's config currently requires leaving the trigger flow to hunt for the right run in the run list and use "Trigger again with this config". Restoring the Airflow 2 in-form dropdown lets users pick any distinct config from the recent runs in a scrollable list while composing a run. The dropdown reuses the existing dagRuns list endpoint and the same conf-only prefill path as the menu item, so no new API surface is added. closes: #69820 * UI: Regroup imports in RecentConfigSelect after rebase Main now separates React imports from third-party ones, and prettier flags the file otherwise. * UI: Keep user input when selecting a recent configuration Picking a recent configuration reused the re-trigger prefill path, which resets the whole form. A user who had already set a logical date, run id, note or manual data interval lost all of them. The dropdown is meant to swap only the run's conf, so it now leaves every other field untouched. * UI: Hide recent configurations when re-triggering with a run's config "Trigger again with this config" already fills the form with one specific run's conf, so showing an unselected recent-configurations dropdown on top of it is contradictory. * UI: Use system Select for the recent configurations dropdown The dropdown rendered inside the Trigger Dag modal was clipped at the modal edge because its content stayed inside the modal's DOM tree. The shared Select from src/system-components portals its content and already renders the control, indicator and positioner, so the hand-rolled Chakra parts only duplicated those layers. The trigger form tests also follow main, where the i18n mock returns keys and TriggerDAGForm no longer takes dagDisplayName. (cherry picked from commit 6fc06c6) Co-authored-by: Wilson Josix Wang <josixwang@gmail.com>
…Dag form (#70413) (#74977) * UI: Add Select Recent Configurations dropdown to Trigger Dag form Reusing a past run's config currently requires leaving the trigger flow to hunt for the right run in the run list and use "Trigger again with this config". Restoring the Airflow 2 in-form dropdown lets users pick any distinct config from the recent runs in a scrollable list while composing a run. The dropdown reuses the existing dagRuns list endpoint and the same conf-only prefill path as the menu item, so no new API surface is added. closes: #69820 * UI: Regroup imports in RecentConfigSelect after rebase Main now separates React imports from third-party ones, and prettier flags the file otherwise. * UI: Keep user input when selecting a recent configuration Picking a recent configuration reused the re-trigger prefill path, which resets the whole form. A user who had already set a logical date, run id, note or manual data interval lost all of them. The dropdown is meant to swap only the run's conf, so it now leaves every other field untouched. * UI: Hide recent configurations when re-triggering with a run's config "Trigger again with this config" already fills the form with one specific run's conf, so showing an unselected recent-configurations dropdown on top of it is contradictory. * UI: Use system Select for the recent configurations dropdown The dropdown rendered inside the Trigger Dag modal was clipped at the modal edge because its content stayed inside the modal's DOM tree. The shared Select from src/system-components portals its content and already renders the control, indicator and positioner, so the hand-rolled Chakra parts only duplicated those layers. The trigger form tests also follow main, where the i18n mock returns keys and TriggerDAGForm no longer takes dagDisplayName. (cherry picked from commit 6fc06c6) Co-authored-by: Wilson Josix Wang <josixwang@gmail.com>
Context
According to the #69820's description, reusing a past run's config currently requires leaving the trigger flow to hunt for the right run in the run list and use "Trigger again with this config". In this PR, I'm going to restore the Airflow 2 in-form dropdown lets users pick any distinct config from the recent runs in a scrollable list while composing a run. The dropdown reuses the existing dagRuns list endpoint and the same conf-only prefill path as the menu item, so no new API surface is added.
closes: #69820
Verification
Was generative AI tooling used to co-author this PR?
Generated-by: Claude Code following the guidelines
{pr_number}.significant.rst, in airflow-core/newsfragments. You can add this file in a follow-up commit after the PR is created so you know the PR number.