فهرست منبع

HUE-2397 [beeswax] Can see the logs when opening a running query

Added pushState to the history for refreshing the page
Fixed a codemirror init bug
Improved speed of result displaying
Enrico Berti 11 سال پیش
والد
کامیت
1493a70
2فایلهای تغییر یافته به همراه16 افزوده شده و 6 حذف شده
  1. 13 6
      apps/beeswax/src/beeswax/templates/execute.mako
  2. 3 0
      apps/beeswax/static/js/beeswax.vm.js

+ 13 - 6
apps/beeswax/src/beeswax/templates/execute.mako

@@ -1051,6 +1051,7 @@ $(document).ready(function () {
 
 
   renderRecent = function() {
   renderRecent = function() {
     $("#recentLoader").show();
     $("#recentLoader").show();
+    $("#recentQueries").hide();
     recentQueries.fnClearTable();
     recentQueries.fnClearTable();
     $.getJSON("${ url(app_name + ':list_query_history') }?format=json", function(data) {
     $.getJSON("${ url(app_name + ':list_query_history') }?format=json", function(data) {
       if (data && data.queries) {
       if (data && data.queries) {
@@ -1067,7 +1068,7 @@ $(document).ready(function () {
       }
       }
       $("a[data-row-selector='true']").jHueRowSelector();
       $("a[data-row-selector='true']").jHueRowSelector();
       $("#recentLoader").hide();
       $("#recentLoader").hide();
-      $("#recentQueries").css("width", "100%");
+      $("#recentQueries").show().css("width", "100%");
       reinitializeTableExtenders();
       reinitializeTableExtenders();
     });
     });
   }
   }
@@ -1953,8 +1954,8 @@ function addResults(viewModel, dataTable, index, pageSize) {
   if (viewModel.hasMoreResults() && index + pageSize > viewModel.design.results.rows().length) {
   if (viewModel.hasMoreResults() && index + pageSize > viewModel.design.results.rows().length) {
     $(document).one('fetched.results', function () {
     $(document).one('fetched.results', function () {
       $.totalStorage(hac_getTotalStorageUserPrefix() + "${app_name}_temp_query", null);
       $.totalStorage(hac_getTotalStorageUserPrefix() + "${app_name}_temp_query", null);
-      dataTable.fnAddData(addRowNumberToResults(viewModel.design.results.rows.slice(index, index + pageSize), index));
     });
     });
+    dataTable.fnAddData(addRowNumberToResults(viewModel.design.results.rows.slice(index, index + pageSize), index));
     viewModel.fetchResults();
     viewModel.fetchResults();
   } else {
   } else {
     dataTable.fnAddData(addRowNumberToResults(viewModel.design.results.rows.slice(index, index + pageSize), index));
     dataTable.fnAddData(addRowNumberToResults(viewModel.design.results.rows.slice(index, index + pageSize), index));
@@ -2577,10 +2578,16 @@ function watchEvents() {
 }
 }
 
 
 function cacheQueryTextEvents() {
 function cacheQueryTextEvents() {
-  codeMirror.on("change", function () {
-    $(".query").val(codeMirror.getValue());
-    $.totalStorage(hac_getTotalStorageUserPrefix() + "${app_name}_temp_query", codeMirror.getValue());
-  });
+  var _waitForCodemirrorInit = -1;
+  _waitForCodemirrorInit = window.setInterval(function () {
+    if (typeof codeMirror != "undefined") {
+      codeMirror.on("change", function () {
+        $(".query").val(codeMirror.getValue());
+        $.totalStorage(hac_getTotalStorageUserPrefix() + "${app_name}_temp_query", codeMirror.getValue());
+      });
+      window.clearInterval(_waitForCodemirrorInit);
+    }
+  }, 100);
 }
 }
 
 
 function getDatabases(callback){
 function getDatabases(callback){

+ 3 - 0
apps/beeswax/static/js/beeswax.vm.js

@@ -501,6 +501,9 @@ function BeeswaxViewModel(server) {
         self.design.errors.removeAll();
         self.design.errors.removeAll();
         self.design.watch.errors.removeAll();
         self.design.watch.errors.removeAll();
         if (data.status == 0) {
         if (data.status == 0) {
+          if (typeof history.pushState != 'undefined') {
+            history.pushState(null, null, '/beeswax/execute/query/' + data.id + '#query/logs');
+          }
           self.design.results.url('/' + self.server() + '/results/' + data.id + '/0?format=json');
           self.design.results.url('/' + self.server() + '/results/' + data.id + '/0?format=json');
           self.design.watch.url(data.watch_url);
           self.design.watch.url(data.watch_url);
           self.design.statement(data.statement);
           self.design.statement(data.statement);