You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by ry...@apache.org on 2021/04/29 17:01:23 UTC

[airflow] branch master updated: add an option to trigger a dag w/o changing conf (#15591)

This is an automated email from the ASF dual-hosted git repository.

ryanahamilton pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/master by this push:
     new 943e3ca  add an option to trigger a dag w/o changing conf (#15591)
943e3ca is described below

commit 943e3cae9532371b3c18fb817be73744ed93e751
Author: Brent Bovenzi <br...@gmail.com>
AuthorDate: Thu Apr 29 12:00:12 2021 -0500

    add an option to trigger a dag w/o changing conf (#15591)
---
 airflow/www/static/css/main.css         | 26 ++++++++++++++++++++++++++
 airflow/www/templates/airflow/dag.html  | 19 ++++++++++++++++---
 airflow/www/templates/airflow/dags.html | 14 +++++++++++++-
 3 files changed, 55 insertions(+), 4 deletions(-)

diff --git a/airflow/www/static/css/main.css b/airflow/www/static/css/main.css
index d202788..330ec42 100644
--- a/airflow/www/static/css/main.css
+++ b/airflow/www/static/css/main.css
@@ -464,3 +464,29 @@ label[for="timezone-other"],
 .loading-dots.refresh-loading {
   display: none;
 }
+
+.trigger-dropdown-btn {
+  border-bottom-right-radius: 0;
+  border-top-right-radius: 0;
+  border-right-width: 0;
+}
+
+.trigger-dropdown-menu {
+  left: -80px;
+}
+
+.dropdown-form-btn {
+  padding: 3px 20px;
+  line-height: 1.428571429;
+  color: #51504f;
+  background-color: white;
+  border: none;
+  width: 100%;
+  text-align: left;
+}
+
+.dropdown-form-btn:hover,
+.dropdown-form-btn:focus {
+  color: #262626;
+  background-color: #f5f5f5;
+}
diff --git a/airflow/www/templates/airflow/dag.html b/airflow/www/templates/airflow/dag.html
index f7b14a0..20d4043 100644
--- a/airflow/www/templates/airflow/dag.html
+++ b/airflow/www/templates/airflow/dag.html
@@ -114,9 +114,22 @@
       </div>
       <div class="col-md-2">
         <div class="btn-group pull-right">
-          <a href="{{ url_for('Airflow.trigger', dag_id=dag.dag_id, origin=url_for('Airflow.' + dag.default_view, dag_id=dag.dag_id)) }}" title="Trigger DAG" aria-label="Trigger DAG" class="btn btn-default btn-icon-only{{ ' disabled' if not dag.can_trigger }}">
-            <span class="material-icons" aria-hidden="true">play_arrow</span>
-          </a>
+          <div class="dropdown">
+            <a aria-label="Trigger DAG" class="btn btn-default btn-icon-only{{ ' disabled' if not dag.can_trigger }} trigger-dropdown-btn" data-toggle="dropdown">
+              <span class="material-icons" aria-hidden="true">play_arrow</span>
+            </a>
+            <ul class="dropdown-menu trigger-dropdown-menu">
+              <li>
+                <form method="POST" action="{{ url_for('Airflow.trigger') }}">
+                  <input type="hidden" name="csrf_token" value="{{ csrf_token() }}">
+                  <input type="hidden" name="dag_id" value="{{ dag.dag_id }}">
+                  <input type="hidden" name="origin" value="{{ url_for('Airflow.' + dag.default_view, dag_id=dag.dag_id) }}">
+                  <button type="submit" class="dropdown-form-btn">Trigger DAG</button>
+                </form>
+              </li>
+              <li><a href="{{ url_for('Airflow.trigger', dag_id=dag.dag_id, origin=url_for('Airflow.' + dag.default_view, dag_id=dag.dag_id)) }}">Trigger DAG w/ config</a></li>
+            </ul>
+          </div>
           <a href="{{ url_for('Airflow.refresh', dag_id=dag.dag_id) }}" title="Refresh DAG" aria-label="Refresh DAG" onclick="postAsForm(this.href); return false" class="btn btn-default btn-icon-only{{ ' disabled' if not dag.can_edit }}">
             <span class="material-icons" aria-hidden="true">refresh</span>
           </a>
diff --git a/airflow/www/templates/airflow/dags.html b/airflow/www/templates/airflow/dags.html
index 34a1a4b..051bf79 100644
--- a/airflow/www/templates/airflow/dags.html
+++ b/airflow/www/templates/airflow/dags.html
@@ -179,9 +179,21 @@
                 <td class="text-center">
                   <div class="btn-group">
                     {% if dag %}
-                      <a href="{{ url_for('Airflow.trigger', dag_id=dag.dag_id) }}" title="Trigger DAG" aria-label="Trigger DAG" class="btn btn-sm btn-default btn-icon-only {{ ' disabled' if not dag.can_trigger }}">
+                    <div class="dropdown">
+                      <a aria-label="Trigger DAG" class="btn btn-default btn-icon-only{{ ' disabled' if not dag.can_trigger }} trigger-dropdown-btn" data-toggle="dropdown">
                         <span class="material-icons" aria-hidden="true">play_arrow</span>
                       </a>
+                      <ul class="dropdown-menu trigger-dropdown-menu">
+                        <li>
+                          <form method="POST" action="{{ url_for('Airflow.trigger') }}">
+                            <input type="hidden" name="csrf_token" value="{{ csrf_token() }}">
+                            <input type="hidden" name="dag_id" value="{{ dag.dag_id }}">
+                            <button type="submit" class="dropdown-form-btn">Trigger DAG</button>
+                          </form>
+                        </li>
+                        <li><a href="{{ url_for('Airflow.trigger', dag_id=dag.dag_id) }}">Trigger DAG w/ config</a></li>
+                      </ul>
+                    </div>
                       <a href="{{ url_for('Airflow.refresh', dag_id=dag.dag_id) }}" onclick="postAsForm(this.href); return false" title="Refresh DAG" aria-label="Refresh DAG" class="btn btn-sm btn-default btn-icon-only {{ ' disabled' if not dag.can_edit }}">
                         <span class="material-icons" aria-hidden="true">refresh</span>
                       </a>