Procházet zdrojové kódy

Added runQuery function

Andrew Kane před 8 roky
rodič
revize
7c218da23f

+ 12 - 0
app/assets/javascripts/blazer/application.js

@@ -25,6 +25,18 @@ $( function () {
   });
 });
 
+function runQuery(data, success, error) {
+  return $.ajax({
+    url: window.runQueriesPath,
+    method: "POST",
+    data: data,
+    dataType: "html"
+  }).done(success).fail( function(jqXHR, textStatus, errorThrown) {
+    var message = (typeof errorThrown === "string") ? errorThrown : errorThrown.message;
+    error(message);
+  });
+}
+
 // Prevent backspace from navigating backwards.
 // Adapted from Biff MaGriff: http://stackoverflow.com/a/7895814/1196499
 function preventBackspaceNav() {

+ 3 - 1
app/views/blazer/checks/run.html.erb

@@ -1,7 +1,9 @@
 <p style="text-muted">Running check...</p>
 
 <script>
-  $.post("<%= run_queries_path %>", <%= blazer_json_escape({statement: @query.statement, query_id: @query.id, check: true}.to_json).html_safe %>, function (data) {
+  var data = <%= blazer_json_escape({statement: @query.statement, query_id: @query.id, check: true}.to_json).html_safe %>;
+
+  runQuery(data, function (data) {
     setTimeout( function () {
       window.location.href = "<%= checks_path %>";
     }, 200);

+ 4 - 8
app/views/blazer/dashboards/show.html.erb

@@ -143,16 +143,12 @@
     </div>
   </div>
   <script>
-    var request = $.ajax({
-      url: "<%= run_queries_path %>",
-      method: "POST",
-      data: <%= blazer_json_escape({statement: query.statement, query_id: query.id, only_chart: true}.to_json).html_safe %>,
-      dataType: "html"
-    }).done(function(data) {
+    var data = <%= blazer_json_escape({statement: query.statement, query_id: query.id, only_chart: true}.to_json).html_safe %>;
+
+    runQuery(data, function (data) {
       $("#chart-<%= i %>").html(data);
       $("#chart-<%= i %> table").stupidtable();
-    }).fail(function(jqXHR, textStatus, errorThrown) {
-      var message = (typeof errorThrown === "string") ? errorThrown : errorThrown.message;
+    }, function (message) {
       $("#chart-<%= i %>").css("color", "red").html(message);
     });
   </script>

+ 4 - 1
app/views/blazer/queries/_form.html.erb

@@ -124,7 +124,10 @@
     if (xhr) {
       xhr.abort();
     }
-    xhr = $.post("<%= run_queries_path %>", $.extend({}, params, {statement: editor.getValue().replace(/\n/g, "\r\n"), data_source: $("#query_data_source").val()}), function (data) {
+
+    var data = $.extend({}, params, {statement: editor.getValue().replace(/\n/g, "\r\n"), data_source: $("#query_data_source").val()});
+
+    xhr = runQuery(data, function (data) {
       $("#results").html(data);
 
       error_line = /LINE (\d+)/g.exec($("#results").find('.alert-danger').text());

+ 1 - 12
app/views/blazer/queries/show.html.erb

@@ -168,18 +168,7 @@
 
     var data = <%= blazer_json_escape(variable_params.merge(statement: @statement, query_id: @query.id).to_json).html_safe %>;
 
-    // make request
-    var request = $.ajax({
-      url: "<%= run_queries_path %>",
-      method: "POST",
-      data: data,
-      dataType: "html"
-    }).done(function(data) {
-      showRun(data);
-    }).fail(function(jqXHR, textStatus, errorThrown) {
-      var message = (typeof errorThrown === "string") ? errorThrown : errorThrown.message;
-      showError(message);
-    });
+    runQuery(data, showRun, showError);
   </script>
 <% end %>
 

+ 2 - 2
app/views/layouts/blazer/application.html.erb

@@ -6,10 +6,10 @@
     <meta charset="utf-8" />
 
     <%= stylesheet_link_tag "blazer/application" %>
+    <%= javascript_include_tag "blazer/application" %>
     <script>
-      var Chartkick = {smarterDates: true, smarterDiscrete: true};
+      var runQueriesPath = <%= run_queries_path.to_json.html_safe %>;
     </script>
-    <%= javascript_include_tag "blazer/application" %>
     <% if blazer_maps? %>
       <%= stylesheet_link_tag "https://api.mapbox.com/mapbox.js/v2.4.0/mapbox.css" %>
       <%= javascript_include_tag "https://api.mapbox.com/mapbox.js/v2.4.0/mapbox.js" %>