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 %}