Explorar o código

[spark] Assist panel size adjustments

This sets the default width of the left panel to 250px. It also fixes the issue with constant scrollbars and column name wrapping.
Johan Ahlen %!s(int64=10) %!d(string=hai) anos
pai
achega
a980fc92d9

+ 1 - 1
apps/spark/src/spark/templates/editor_components.mako

@@ -222,7 +222,7 @@ from django.utils.translation import ugettext as _
     <a title="${_('Toggle Assist')}" class="pointer hide-assist" data-bind="click: function() { $root.isLeftPanelVisible(false) }">
       <i class="fa fa-chevron-left"></i>
     </a>
-    <div class="assist" data-bind="component: { name: 'assist-panel', params: { assist: assist, appName: 'spark' }}" style="height:100%"></div>
+    <div class="assist" data-bind="component: { name: 'assist-panel', params: { assist: assist, appName: 'spark' }}"></div>
   </div>
   <div class="resizer" data-bind="visible: $root.isLeftPanelVisible(), splitDraggable : { appName: 'spark', leftPanelVisible: $root.isLeftPanelVisible }"><div class="resize-bar">&nbsp;</div></div>
   <div class="right-panel">

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

@@ -647,7 +647,7 @@ ko.bindingHandlers.daterangepicker = {
 ko.bindingHandlers.splitDraggable = {
   init: function (element, valueAccessor) {
     var options = ko.unwrap(valueAccessor());
-    var leftPanelWidth = $.totalStorage(options.appName + "_left_panel_width") != null ? $.totalStorage(options.appName + "_left_panel_width") : 200;
+    var leftPanelWidth = $.totalStorage(options.appName + "_left_panel_width") != null ? $.totalStorage(options.appName + "_left_panel_width") : 250;
 
     var containerSelector = options.containerSelector || ".panel-container";
     var leftPanelSelector = options.leftPanelSelector || ".left-panel";

+ 10 - 31
desktop/core/src/desktop/templates/ko_components.mako

@@ -62,14 +62,20 @@ from django.utils.translation import ugettext as _
 
     .assist-columns > li {
       padding: 6px 5px;
+      white-space: nowrap;
     }
 
     .assist-actions  {
       position:absolute;
-      right: 0;
+      right: 4px;
       padding-left:3px;
       background-color: #FFF;
     }
+
+    .assist .nav-header {
+      margin-right: 0 !important;
+      padding-right: 4px !important;
+    }
   </style>
 
   <script type="text/html" id="assist-panel-table-stats">
@@ -117,8 +123,8 @@ from django.utils.translation import ugettext as _
   </script>
 
   <script type="text/html" id="assist-panel-template">
-    <div class="reveals-actions" style="position: relative; height: 100%">
-      <ul class="nav nav-list" style="float:left; border: none; padding: 0; background-color: #FFF; margin-bottom: 1px; width: 100%;">
+    <div class="reveals-actions" style="position: relative; width:100%">
+      <ul class="nav nav-list" style="position:relative; border: none; padding: 0; background-color: #FFF; margin-bottom: 1px; width:100%;">
         <li class="nav-header">${_('database')}
           <div class="pull-right hover-actions">
             <a href="javascript:void(0)" data-bind="click: reloadAssist"><i class="pointer fa fa-refresh" title="${_('Manually refresh the table list')}"></i></a>
@@ -149,7 +155,7 @@ from django.utils.translation import ugettext as _
                     <div class="hover-actions-3rd assist-actions">
                       <a href="javascript:void(0)" class="table-stats" data-bind="click: function(data, event) { $parents[1].showStats($parent, data.name, event) }"><i class='fa fa-bar-chart' title="${_('View statistics') }"></i></a>
                     </div>
-                    <a class="assist-column-link" data-bind="attr: {'title': $parents[1].secondLevelTitle($data)}" style="padding-left:10px" href="javascript:void(0)"><span data-bind="html: $parents[1].truncateSecondLevel($data), event: { 'dblclick': function() { huePubSub.publish('assist.dblClickItem', $data.name +', '); } }"></span></a>
+                    <a class="assist-column-link" data-bind="attr: {'title': name + ' (' + type + ')' + (comment ? ' ' + comment : '') }" style="padding-left:10px" href="javascript:void(0)"><span data-bind="text: name + ' (' + type + ')', event: { 'dblclick': function() { huePubSub.publish('assist.dblClickItem', $data.name +', '); } }"></span></a>
                   </li>
                 </ul>
               </div>
@@ -236,33 +242,6 @@ from django.utils.translation import ugettext as _
         self.modalItem = ko.observable();
         self.analysisStats = ko.observable();
 
-        self.secondLevelTitle = function(level) {
-          var _title = "";
-
-          if (level.comment && needsTruncation(level)) {
-            _title = level.name + " (" + level.type + "): " + level.comment;
-          } else if (needsTruncation(level)) {
-            _title = level.name + " (" + level.type + ")";
-          } else if (level.comment) {
-            _title = level.comment;
-          }
-          return _title;
-        };
-
-        var needsTruncation = function(level) {
-          return (level.name.length + level.type.length) > 20;
-        };
-
-        self.truncateSecondLevel = function(level) {
-          var escapeString = function (str) {
-            return $("<span>").text(str).html().trim()
-          };
-          if (needsTruncation(level)) {
-            return escapeString(level.name + " (" + level.type + ")").substr(0, 20) + "&hellip;";
-          }
-          return escapeString(level.name + " (" + level.type + ")");
-        };
-
         self.loadAssistMain = function(force) {
           self.assist.options.onDataReceived = function (data) {
             if (data.databases) {