sunilkunchoor opened a new issue, #64336:
URL: https://github.com/apache/airflow/issues/64336

   ### Description
   
   Currently, when developers define a custom `BaseOperatorLink` for an 
operator, the Airflow 3 React UI hardcodes the rendered button to open in a new 
tab using target="_blank".
   
   While this makes sense for external monitoring links (like Datadog or Spark 
UI), it creates a frustrating user experience for developers who want to route 
users to internal Airflow pages, custom Airflow React Plugins, or build 
cohesive, single-page-like experiences.
   
   I propose adding a configuration option to `BaseOperatorLink` that allows 
plugin developers to specify the target behavior (e.g., _self), with full 
backward compatibility ensuring existing links continue to default to _blank.
   
   ### Use case/motivation
   
   I am building a Databricks plugin where I want to add a "repair" button, 
similar to the functionality in Airflow 2. Currently, the `extra_links` button 
always redirects to a new page. Instead, I need the action to trigger a 
Databricks API call (using Hooks) and redirect the user back to the same page 
with the updated tasks.
   
   Forcing every link to open in a new tab breaks this intended operational 
flow and leads to severe tab-clutter. Allowing `target="_self"` would give me 
and other plugin developers much more control over the user journey and enable 
action-oriented buttons directly within the Airflow 3 UI.
   
   ### Related issues
   
   _No response_
   
   ### Are you willing to submit a PR?
   
   - [x] Yes I am willing to submit a PR!
   
   ### Code of Conduct
   
   - [x] I agree to follow this project's [Code of 
Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)
   


-- 
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]

Reply via email to