diff --git a/airflow/www/templates/airflow/dags.html b/airflow/www/templates/airflow/dags.html
index aceaf0e8987ebc..1dd36ed2132918 100644
--- a/airflow/www/templates/airflow/dags.html
+++ b/airflow/www/templates/airflow/dags.html
@@ -53,13 +53,13 @@
DAGs
Owner |
Recent Tasks
-
+
|
Last Run
|
DAG Runs
-
+
|
Links |
@@ -303,7 +303,8 @@ DAGs
circle_margin = 4;
stroke_width = 2;
stroke_width_hover = 6;
- d3.json("{{ url_for('Airflow.blocked') }}", function(error, json) {
+
+ function blockedHandler(error, json) {
$.each(json, function() {
$('.label.schedule.' + this.dag_id)
.attr('title', this.active_dag_run + '/' + this.max_active_runs + ' active dag runs')
@@ -313,8 +314,9 @@ DAGs
.css('background-color', 'red');
}
});
- });
- d3.json("{{ url_for('Airflow.last_dagruns') }}?dag_ids=" + (encoded_dag_ids.join(',')), function(error, json) {
+ }
+
+ function lastDagRunsHandler(error, json) {
for(var safe_dag_id in json) {
dag_id = json[safe_dag_id].dag_id;
last_run = json[safe_dag_id].last_run;
@@ -328,8 +330,9 @@ DAGs
g.selectAll(".loading-last-run").remove();
}
d3.selectAll(".loading-last-run").remove();
- });
- d3.json("{{ url_for('Airflow.dag_stats') }}?dag_ids=" + (encoded_dag_ids.join(',')), function(error, json) {
+ }
+
+ function dagStatsHandler(error, json) {
for(var dag_id in json) {
states = json[dag_id];
g = d3.select('svg#dag-run-' + dag_id.replace(/\./g, '__dot__'))
@@ -398,7 +401,7 @@ DAGs
.duration(500)
.delay(function(d, i){return i*50;})
.style("opacity", 1);
- d3.select("#loading").remove();
+ d3.select(".loading-dag-stats").remove();
}
$("#pause_header").tooltip();
$("#statuses_info").tooltip();
@@ -407,8 +410,9 @@ DAGs
html: true,
container: "body",
});
- });
- d3.json("{{ url_for('Airflow.task_stats') }}?dag_ids=" + (encoded_dag_ids.join(',')), function(error, json) {
+ }
+
+ function taskStatsHandler(error, json) {
for(var dag_id in json) {
states = json[dag_id];
g = d3.select('svg#task-run-' + dag_id.replace(/\./g, '__dot__'))
@@ -477,7 +481,7 @@ DAGs
.duration(500)
.delay(function(d, i){return i*50;})
.style("opacity", 1);
- d3.select("#loading").remove();
+ d3.select(".loading-task-stats").remove();
}
$("#pause_header").tooltip();
$("#statuses_info").tooltip();
@@ -486,6 +490,20 @@ DAGs
html: true,
container: "body",
});
- });
+ }
+
+ if (encoded_dag_ids.length > 0) {
+ // dags on page fetch stats
+ d3.json("{{ url_for('Airflow.blocked') }}", blockedHandler);
+ d3.json("{{ url_for('Airflow.last_dagruns') }}?dag_ids=" + (encoded_dag_ids.join(',')), lastDagRunsHandler);
+ d3.json("{{ url_for('Airflow.dag_stats') }}?dag_ids=" + (encoded_dag_ids.join(',')), dagStatsHandler);
+ d3.json("{{ url_for('Airflow.task_stats') }}?dag_ids=" + (encoded_dag_ids.join(',')), taskStatsHandler);
+ }
+ else {
+ // no dags, hide the loading gifs
+ $(".loading-task-stats").remove();
+ $(".loading-dag-stats").remove();
+ }
+
{% endblock %}