Procházet zdrojové kódy

HUE-7420 [jb] Queries: bring up bottom panel

jdesjean před 8 roky
rodič
revize
95c86ed602

+ 2 - 1
apps/jobbrowser/src/jobbrowser/apis/query_api.py

@@ -122,7 +122,8 @@ class QueryApi(Api):
         'progress': int(progress_groups.group(1)) if progress_groups and progress_groups.group(1) else 100,
         'duration': app.get('duration'),
         'submitted': app.get('submitted'),
-        'type': 'queries'
+        'type': 'queries',
+        'doc_url': "%s/query_plan?query_id=%s" % (self.api.url, appid)
     }
 
     common['properties'] = {

+ 9 - 2
apps/jobbrowser/src/jobbrowser/static/jobbrowser/js/impala_dagre.js

@@ -15,11 +15,17 @@ function impalaDagre(id) {
   var _impalaDagree = {
     update: function(plan) {
       renderGraph(plan);
+    },
+    height: function(value) {
+      var scale = _impalaDagree.scale || 1;
+      var height = value || 600;
+      svg.attr('height', Math.min(g.graph().height * scale + 40, height) || height);
     }
   };
 
   // Set up zoom support
   var zoom = d3.behavior.zoom().on("zoom", function() {
+    _impalaDagree.scale = d3.event.scale;
     inner.attr("transform", "translate(" + d3.event.translate + ")" +
                "scale(" + d3.event.scale + ")");
   });
@@ -132,11 +138,12 @@ function impalaDagre(id) {
 
     // Center the graph, but only the first time through (so as to not lose user zooms).
     if (is_first) {
-      var initialScale = 0.75;
+      var initialScale = 1;
+      _impalaDagree.scale = initialScale;
       zoom.translate([((svg.attr("width") || $("#"+id).width()) - g.graph().width * initialScale) / 2, 20])
         .scale(initialScale)
         .event(svg);
-      svg.attr('height', Math.max(g.graph().height * initialScale + 40, 600));
+      svg.attr('height', Math.min(g.graph().height * initialScale + 40, 600));
       is_first = false;
     }
 

+ 15 - 17
apps/jobbrowser/src/jobbrowser/templates/job_browser.mako

@@ -737,8 +737,6 @@ ${ commonheader("Job Browser", "jobbrowser", user, request) | n,unicode }
         <ul class="nav nav-list">
           <li class="nav-header">${ _('Id') }</li>
           <li class="break-word"><span data-bind="text: id"></span></li>
-          <li class="nav-header">${ _('Name') }</li>
-          <li><span data-bind="text: name"></span></li>
           <li class="nav-header">${ _('Type') }</li>
           <li><span data-bind="text: type"></span></li>
           <li class="nav-header">${ _('Status') }</li>
@@ -862,35 +860,35 @@ ${ commonheader("Job Browser", "jobbrowser", user, request) | n,unicode }
   <div class="row-fluid" data-jobType="queries">
     <div data-bind="css: {'span2': !$root.isMini(), 'span12': $root.isMini() }">
       <div class="sidebar-nav">
-        <ul class="nav nav-list">
-          <li class="nav-header">${ _('Id') }</li>
-          <li class="break-word"><span data-bind="text: id"></span></li>
+        <ul class="nav nav-list data-list">
           <!-- ko if: doc_url -->
-          <li class="nav-header">${ _('Document') }</li>
+          <li class="nav-header data-header">${ _('Id') }</li>
           <li>
-            <a data-bind="hueLink: doc_url" href="javascript: void(0);" title="${ _('Open in editor') }">
-              <span data-bind="text: name"></span>
+            <a data-bind="attr: {href: doc_url}" target="_blank" title="${ _('Open in impalad') }">
+              <span data-bind="text: id"></span>
             </a>
           </li>
           <!-- /ko -->
           <!-- ko ifnot: doc_url -->
-          <li class="nav-header">${ _('Name') }</li>
-          <li><span data-bind="text: name"></span></li>
+          <li class="nav-header data-header">${ _('Id') }</li>
+          <li class="break-word"><span data-bind="text: id"></span></li>
           <!-- /ko -->
-          <li class="nav-header">${ _('Status') }</li>
+          <li class="nav-header data-header">${ _('Status') }</li>
           <li><span data-bind="text: status"></span></li>
-          <li class="nav-header">${ _('User') }</li>
+          <li class="nav-header data-header">${ _('User') }</li>
           <li><span data-bind="text: user"></span></li>
-          <li class="nav-header">${ _('Progress') }</li>
-          <li><span data-bind="text: progress"></span>%</li>
+          <li class="nav-header data-header">${ _('Progress') }</li>
           <li>
-            <div class="progress-job progress" style="background-color: #FFF; width: 100%" data-bind="css: {'progress-danger': apiStatus() === 'FAILED', 'progress-warning': isRunning(), 'progress-success': apiStatus() === 'SUCCEEDED' }">
+          <span data-bind="text: progress"></span>%
+          </li>
+          <li>
+            <div class="progress-job progress" style="background-color: #FFF; width: calc(100% - 72px); margin-left: 72px" data-bind="css: {'progress-danger': apiStatus() === 'FAILED', 'progress-warning': isRunning(), 'progress-success': apiStatus() === 'SUCCEEDED' }">
               <div class="bar" data-bind="style: {'width': progress() + '%'}"></div>
             </div>
           </li>
-          <li class="nav-header">${ _('Duration') }</li>
+          <li class="nav-header data-header">${ _('Duration') }</li>
           <li><span data-bind="text: duration() && duration().toHHMMSS()"></span></li>
-          <li class="nav-header">${ _('Submitted') }</li>
+          <li class="nav-header data-header">${ _('Submitted') }</li>
           <li><span data-bind="moment: {data: submitted, format: 'LLL'}"></span></li>
         </ul>
       </div>

+ 3 - 1
desktop/core/src/desktop/static/desktop/js/ko.hue-bindings.js

@@ -6528,7 +6528,9 @@
         this._impalaDagre = impalaDagre(id);
       },
       update: function (element, valueAccessor) {
-        this._impalaDagre.update(ko.unwrap(valueAccessor()));
+        var props = ko.unwrap(valueAccessor());
+        this._impalaDagre.update(props.value);
+        this._impalaDagre.height(props.height);
       }
     };
   })();

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
desktop/libs/notebook/src/notebook/static/notebook/css/notebook.css


+ 19 - 0
desktop/libs/notebook/src/notebook/static/notebook/less/notebook.less

@@ -261,6 +261,25 @@
     padding-left: 0;
   }
 
+  .data-list {
+    padding-left: 0;
+  }
+
+  .data-list .data-header {
+    float: left;
+    width: 65px;
+    text-align: right;
+    padding:0px;
+    margin:0px 7px 0px 0px !important;
+    text-overflow: ellipsis;
+    overflow: hidden;
+    white-space: nowrap;
+  }
+
+  .nav-list > li > a, .data-list .data-header {
+    padding:0px;
+  }
+
   .dropdown-menu li {
     font-size: 14px;
   }

Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů