Selaa lähdekoodia

HUE-7778 [dashboard] Move the 'add widget' toolbar to a plus button

Enrico Berti 8 vuotta sitten
vanhempi
commit
491044a

+ 3 - 0
apps/oozie/src/oozie/static/oozie/js/workflow-editor.ko.js

@@ -512,6 +512,9 @@ var WorkflowEditorViewModel = function (layout_json, workflow_json, credentials_
   self.toggleEditing = function () {
   self.toggleEditing = function () {
     self.isEditing(!self.isEditing());
     self.isEditing(!self.isEditing());
   };
   };
+  self.isToolbarVisible = ko.pureComputed(function(){
+    return self.isEditing();
+  })
   self.isSaving = ko.observable(false);
   self.isSaving = ko.observable(false);
 
 
   self.isInvalid = ko.observable(false);
   self.isInvalid = ko.observable(false);

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

@@ -5994,11 +5994,7 @@
           ghost.height($(element).outerHeight() + (options.jumpCorrection || 0));
           ghost.height($(element).outerHeight() + (options.jumpCorrection || 0));
         }
         }
         if ($(scrollable).scrollTop() + triggerAdjust > initialTopPosition) {
         if ($(scrollable).scrollTop() + triggerAdjust > initialTopPosition) {
-          $(element).css({
-            'position': 'fixed',
-            'top': options.topSnap,
-            'width': initialSize.w + 'px'
-          });
+          $(element).attr('style', 'position: fixed!important; top: ' + options.topSnap + '; width: ' + initialSize.w + 'px!important');
           ghost.show();
           ghost.show();
         }
         }
         else {
         else {

+ 21 - 17
desktop/core/src/desktop/templates/common_dashboard.mako

@@ -22,6 +22,7 @@
 #
 #
 
 
 <%!
 <%!
+  from desktop import conf
   from django.utils.translation import ugettext as _
   from django.utils.translation import ugettext as _
 
 
   from dashboard.conf import HAS_QUERY_BUILDER_ENABLED, HAS_REPORT_ENABLED, USE_GRIDSTER
   from dashboard.conf import HAS_QUERY_BUILDER_ENABLED, HAS_REPORT_ENABLED, USE_GRIDSTER
@@ -43,9 +44,9 @@
 
 
 <%def name="layout_toolbar()">
 <%def name="layout_toolbar()">
 
 
-<div class="card card-toolbar" data-bind="visible: isEditing">
+<div class="card card-toolbar">
   %if not hasattr(caller, "skipLayout"):
   %if not hasattr(caller, "skipLayout"):
-  <div style="float: left" data-bind="visible: columns().length == 0">
+  <div style="float: left" data-bind="visible: columns().length == 0 && isEditing">
     <div class="toolbar-label">${_('LAYOUT')}</div>
     <div class="toolbar-label">${_('LAYOUT')}</div>
     <a href="javascript: magicSearchLayout(searchViewModel)" title="${ _('Dynamic dashboard: multiple interconnected widgets') }" onmouseover="searchViewModel.previewColumns('magic')" onmouseout="searchViewModel.previewColumns('')">
     <a href="javascript: magicSearchLayout(searchViewModel)" title="${ _('Dynamic dashboard: multiple interconnected widgets') }" onmouseover="searchViewModel.previewColumns('magic')" onmouseout="searchViewModel.previewColumns('')">
       <div class="layout-container">
       <div class="layout-container">
@@ -76,24 +77,27 @@
     </a>
     </a>
   </div>
   </div>
   %endif
   %endif
+  <!-- ko if: columns().length > 0 && isToolbarVisible -->
+  <div data-bind="dockable: { scrollable: '.page-content', jumpCorrection: 50, topSnap: '${ conf.CUSTOM.BANNER_TOP_HTML.get() and "78px" or "50px" }', triggerAdjust: 0 }">
+    %if hasattr(caller, "results"):
+    <div style="float: left; margin-left: 20px">
+      <div class="toolbar-label">${_('RESULTS')}</div>
+      ${caller.results()}
+    </div>
+    %endif
 
 
-  %if hasattr(caller, "results"):
-  <div style="float: left; margin-left: 20px" data-bind="visible: columns().length > 0">
-    <div class="toolbar-label">${_('RESULTS')}</div>
-    ${caller.results()}
-  </div>
-  %endif
-
-  %if hasattr(caller, "widgets"):
-  <div class="card-toolbar-content" style="float: left; margin-left: 20px" data-bind="visible: columns().length > 0">
-    %if hasattr(caller, "widgetSectionName"):
-      <div class="toolbar-label">${caller.widgetSectionName()}</div>
-    %else:
-      <div class="toolbar-label margin-left-20">${_('WIDGETS')}</div>
+    %if hasattr(caller, "widgets"):
+    <div class="card-toolbar-content" style="float: left; margin-left: 20px">
+      %if hasattr(caller, "widgetSectionName"):
+        <div class="toolbar-label">${caller.widgetSectionName()}</div>
+      %else:
+        <div class="toolbar-label margin-left-20">${_('WIDGETS')}</div>
+      %endif
+      ${caller.widgets()}
+    </div>
     %endif
     %endif
-    ${caller.widgets()}
   </div>
   </div>
-  %endif
+  <!-- /ko -->
   <div class="clearfix"></div>
   <div class="clearfix"></div>
 </div>
 </div>
 
 

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
desktop/libs/dashboard/src/dashboard/static/dashboard/css/search.css


+ 1 - 1
desktop/libs/dashboard/src/dashboard/static/dashboard/less/search.less

@@ -151,7 +151,7 @@
     }
     }
 
 
     .search-bar-operations {
     .search-bar-operations {
-      .flex(0 0 150px);
+      .flex(0 0 175px);
     }
     }
   }
   }
 
 

+ 3 - 0
desktop/libs/dashboard/src/dashboard/templates/common_search.mako

@@ -139,6 +139,9 @@ from dashboard.conf import USE_GRIDSTER, HAS_REPORT_ENABLED
     </div>
     </div>
 
 
     <div class="search-bar-operations">
     <div class="search-bar-operations">
+      <a class="btn pointer" title="${ _('Edit') }" rel="tooltip" data-placement="bottom" data-bind="visible: columns().length, click: function() { isToolbarVisible(!isToolbarVisible()) }, css: {'btn': true, 'btn-inverse': isToolbarVisible }">
+        <i class="fa fa-plus"></i>
+      </a>
       <a class="btn pointer" title="${ _('Edit') }" rel="tooltip" data-placement="bottom" data-bind="click: toggleEditing, css: {'btn': true, 'btn-inverse': isEditing}">
       <a class="btn pointer" title="${ _('Edit') }" rel="tooltip" data-placement="bottom" data-bind="click: toggleEditing, css: {'btn': true, 'btn-inverse': isEditing}">
         <i class="fa fa-pencil"></i>
         <i class="fa fa-pencil"></i>
       </a>
       </a>

Kaikkia tiedostoja ei voida näyttää, sillä liian monta tiedostoa muuttui tässä diffissä