Bläddra i källkod

HUE-1270 [core] Delete file should defaut to trash

Harmonized toolbar UI on all apps
Added split button for trash
Enrico Berti 12 år sedan
förälder
incheckning
cd8064f13e

+ 20 - 17
apps/beeswax/src/beeswax/templates/list_designs.mako

@@ -37,25 +37,28 @@ ${layout.menubar(section='saved queries')}
     </%def>
 
     <%def name="actions()">
-      <button id="editBtn" class="btn toolbarBtn" title="${_('Edit the selected query')}" disabled="disabled"><i class="icon-edit"></i> ${_('Edit')}</button>
-      <button id="cloneBtn" class="btn toolbarBtn" title="${_('Copy the selected query')}" disabled="disabled"><i class="icon-retweet"></i> ${_('Copy')}</button>
-      <button id="historyBtn" class="btn toolbarBtn" title="${_('View the usage history of the selected query')}" disabled="disabled"><i class="icon-tasks"></i> ${_('Usage history')}</button>
-
-      <div id="delete-dropdown" class="btn-group" style="display: inline">
-        <button href="#" class="btn dropdown-toggle" title="${_('Delete selected queries')}" data-toggle="dropdown" disabled="disabled">
-          <i class="icon-remove"></i> ${_('Delete')}
-          <span class="caret"></span>
-        </button>
-        <ul class="dropdown-menu" style="top: auto">
-          <li><a href="#" id="trashQueryBtn" title="${_('Move to trash')}"><i class="icon-trash"></i> ${_('Move to trash')}</a></li>
-          <li><a href="#" id="deleteQueryBtn" title="${_('Delete forever')}"><i class="icon-bolt"></i> ${_('Delete forever')}</a></li>
-        </ul>
+      <div class="btn-toolbar" style="display: inline; vertical-align: middle">
+        <button id="editBtn" class="btn toolbarBtn" title="${_('Edit the selected query')}" disabled="disabled"><i class="icon-edit"></i> ${_('Edit')}</button>
+        <button id="cloneBtn" class="btn toolbarBtn" title="${_('Copy the selected query')}" disabled="disabled"><i class="icon-retweet"></i> ${_('Copy')}</button>
+        <button id="historyBtn" class="btn toolbarBtn" title="${_('View the usage history of the selected query')}" disabled="disabled"><i class="icon-tasks"></i> ${_('Usage history')}</button>
+
+        <div id="delete-dropdown" class="btn-group" style="vertical-align: middle">
+          <button id="trashQueryBtn" class="btn toolbarBtn" disabled="disabled"><i class="icon-remove"></i> ${_('Move to trash')}</button>
+          <button id="trashQueryCaretBtn" class="btn toolbarBtn dropdown-toggle" data-toggle="dropdown" disabled="disabled">
+            <span class="caret"></span>
+          </button>
+          <ul class="dropdown-menu">
+            <li><a href="#" id="deleteQueryBtn" title="${_('Delete forever')}"><i class="icon-bolt"></i> ${_('Delete forever')}</a></li>
+          </ul>
+        </div>
       </div>
     </%def>
 
     <%def name="creation()">
-      <a class="btn" href="${ url(app_name + ':execute_query') }" title="${_('Create new query')}"><i class="icon-plus-sign"></i> ${_('New query')}</a>
-      <a class="btn" href="${ url(app_name + ':list_trashed_designs') }" title="${_('Go to the trash')}"><i class="icon-trash"></i> ${_('Trash')}</a>
+      <div class="btn-toolbar" style="display: inline; vertical-align: middle">
+        <a class="btn" href="${ url(app_name + ':list_trashed_designs') }" title="${_('Go to the trash')}"><i class="icon-trash"></i> ${_('View trash')}</a>
+        <a class="btn" href="${ url(app_name + ':execute_query') }" title="${_('Create new query')}"><i class="icon-plus-sign"></i> ${_('New query')}</a>
+      </div>
     </%def>
   </%actionbar:render>
 
@@ -184,7 +187,6 @@ ${layout.menubar(section='saved queries')}
 
     function toggleActions() {
       $(".toolbarBtn").attr("disabled", "disabled");
-      $(".btn.dropdown-toggle").attr("disabled", "disabled");
 
       var selector = $(".hueCheckbox[checked='checked']");
       if (selector.length == 1) {
@@ -205,7 +207,8 @@ ${layout.menubar(section='saved queries')}
         }
       }
       if (selector.length >= 1) {
-        $(".btn.dropdown-toggle").removeAttr("disabled");
+        $("#trashQueryBtn").removeAttr("disabled");
+        $("#trashQueryCaretBtn").removeAttr("disabled");
       }
     }
 

+ 20 - 9
apps/beeswax/src/beeswax/templates/list_trashed_designs.mako

@@ -37,18 +37,25 @@ ${layout.menubar(section='saved queries')}
     </%def>
 
     <%def name="actions()">
-      <button id="deleteQueryBtn" class="btn toolbarBtn" title="${_('Delete forever')}" disabled="disabled">
-        <i class="icon-bolt"></i> ${_('Delete forever')}
-      </button>
-      <button id="restoreQueryBtn" class="btn toolbarBtn" title="${_('Restore from trash')}" disabled="disabled">
-        <i class="icon-cloud-upload"></i> ${_('Restore')}
-      </button>
+      <div class="btn-toolbar" style="display: inline; vertical-align: middle">
+        <button id="deleteQueryBtn" class="btn toolbarBtn" title="${_('Delete forever')}" disabled="disabled">
+          <i class="icon-bolt"></i> ${_('Delete forever')}
+        </button>
+        <button id="restoreQueryBtn" class="btn toolbarBtn" title="${_('Restore from trash')}" disabled="disabled">
+          <i class="icon-cloud-upload"></i> ${_('Restore')}
+        </button>
+      </div>
     </%def>
 
     <%def name="creation()">
-      <button id="emptyTrashBtn" class="btn" title="${_('Empty trash')}" data-bind="enabled: availableSavedQueries().length > 0">
-        <i class="icon-fire"></i> ${_('Empty')}
-      </button>
+      <div class="btn-toolbar" style="display: inline; vertical-align: middle">
+        <button id="viewQueriesBtn" class="btn" title="${_('View queries')}">
+          <i class="icon-home"></i> ${_('View queries')}
+        </button>
+        <button id="emptyTrashBtn" class="btn" title="${_('Empty trash')}" data-bind="enabled: availableSavedQueries().length > 0">
+          <i class="icon-fire"></i> ${_('Empty trash')}
+        </button>
+      </div>
     </%def>
   </%actionbar:render>
 
@@ -213,6 +220,10 @@ ${layout.menubar(section='saved queries')}
       $("#deleteQuery").modal("show");
     });
 
+    $("#viewQueriesBtn").click(function(){
+      history.back();
+    });
+
     $("a[data-row-selector='true']").jHueRowSelector();
   });
 </script>

+ 20 - 17
apps/beeswax/src/beeswax/templates/my_queries.mako

@@ -44,25 +44,28 @@ ${layout.menubar(section='my queries')}
     </%def>
 
     <%def name="actions()">
-      <button id="viewBtn" class="btn toolbarBtn" title="${_('View the result of the selected')}" disabled="disabled"><i class="icon-eye-open"></i> ${_('View result')}</button>
-      <button id="editBtn" class="btn toolbarBtn" title="${_('Edit the selected query')}" disabled="disabled"><i class="icon-edit"></i> ${_('Edit')}</button>
-      <button id="cloneBtn" class="btn toolbarBtn" title="${_('Copy the selected query')}" disabled="disabled"><i class="icon-retweet"></i> ${_('Copy')}</button>
-      <button id="historyBtn" class="btn toolbarBtn" title="${_('View the usage history of the selected query')}" disabled="disabled"><i class="icon-tasks"></i> ${_('Usage history')}</button>
-      <div id="delete-dropdown" class="btn-group" style="display: inline">
-        <button href="#" class="btn dropdown-toggle" title="${_('Delete selected queries')}" data-toggle="dropdown" disabled="disabled">
-          <i class="icon-remove"></i> ${_('Delete')}
-          <span class="caret"></span>
-        </button>
-        <ul class="dropdown-menu" style="top: auto">
-          <li><a href="#" id="trashQueryBtn" title="${_('Move to trash')}"><i class="icon-trash"></i> ${_('Move to trash')}</a></li>
-          <li><a href="#" id="deleteQueryBtn" title="${_('Delete forever')}"><i class="icon-bolt"></i> ${_('Delete forever')}</a></li>
-        </ul>
+      <div class="btn-toolbar" style="display: inline; vertical-align: middle">
+        <button id="viewBtn" class="btn toolbarBtn" title="${_('View the result of the selected')}" disabled="disabled"><i class="icon-eye-open"></i> ${_('View result')}</button>
+        <button id="editBtn" class="btn toolbarBtn" title="${_('Edit the selected query')}" disabled="disabled"><i class="icon-edit"></i> ${_('Edit')}</button>
+        <button id="cloneBtn" class="btn toolbarBtn" title="${_('Copy the selected query')}" disabled="disabled"><i class="icon-retweet"></i> ${_('Copy')}</button>
+        <button id="historyBtn" class="btn toolbarBtn" title="${_('View the usage history of the selected query')}" disabled="disabled"><i class="icon-tasks"></i> ${_('Usage history')}</button>
+        <div id="delete-dropdown" class="btn-group" style="vertical-align: middle">
+          <button id="trashQueryBtn" class="btn toolbarBtn" disabled="disabled"><i class="icon-remove"></i> ${_('Move to trash')}</button>
+          <button id="trashQueryCaretBtn" class="btn toolbarBtn dropdown-toggle" data-toggle="dropdown" disabled="disabled">
+            <span class="caret"></span>
+          </button>
+          <ul class="dropdown-menu">
+            <li><a href="#" id="deleteQueryBtn" title="${_('Delete forever')}"><i class="icon-bolt"></i> ${_('Delete forever')}</a></li>
+          </ul>
+        </div>
       </div>
     </%def>
 
     <%def name="creation()">
-      <a class="btn" href="${ url(app_name + ':execute_query') }" title="${_('Create new query')}"><i class="icon-plus-sign"></i> ${_('New query')}</a>
-      <a class="btn" href="${ url(app_name + ':list_trashed_designs') }" title="${_('Go to the trash')}"><i class="icon-trash"></i> ${_('Trash')}</a>
+      <div class="btn-toolbar" style="display: inline; vertical-align: middle">
+        <a class="btn" href="${ url(app_name + ':list_trashed_designs') }" title="${_('Go to the trash')}"><i class="icon-trash"></i> ${_('View trash')}</a>
+        <a class="btn" href="${ url(app_name + ':execute_query') }" title="${_('Create new query')}"><i class="icon-plus-sign"></i> ${_('New query')}</a>
+      </div>
     </%def>
   </%actionbar:render>
 
@@ -269,7 +272,6 @@ ${layout.menubar(section='my queries')}
 
     function toggleActions() {
       $(".toolbarBtn").attr("disabled", "disabled");
-      $(".btn.dropdown-toggle").attr("disabled", "disabled");
 
       var selector = $(".hueCheckbox[checked='checked']");
       if (selector.length == 1) {
@@ -296,7 +298,8 @@ ${layout.menubar(section='my queries')}
       }
 
       if (selector.length >= 1 && $('#recentSavedQueries').hasClass('active')) {
-        $(".btn.dropdown-toggle").removeAttr("disabled");
+        $("#trashQueryBtn").removeAttr("disabled");
+        $("#trashQueryCaretBtn").removeAttr("disabled");
       }
     }
 

+ 3 - 3
apps/filebrowser/src/filebrowser/templates/fb_components.mako

@@ -31,9 +31,9 @@ from django.utils.translation import ugettext as _
                 <input id="hueBreadcrumbText" type="text" class="input-xxlarge" style="margin-top:4px;margin-right:4px;display:none" data-bind="value: currentPath" />
             </li>
             <li class="pull-right">
-                <a href="${url('filebrowser.views.view', path=urlencode(path))}?default_to_trash" style="line-height:18px" data-bind="visible: trashEnabled" title="${_('View trash')}">
-                  <i class="icon-trash"></i> ${_('Trash')}
-                </a>
+              <a href="${url('filebrowser.views.view', path=urlencode(path))}?default_to_trash" style="line-height:18px" data-bind="visible: trashEnabled" title="${_('View trash')}">
+                <i class="icon-trash"></i> ${_('View trash')}
+              </a>
             </li>
         </ul>
     % else:

+ 32 - 15
apps/filebrowser/src/filebrowser/templates/listdir.mako

@@ -15,6 +15,7 @@
 ## limitations under the License.
 
 <%!
+from django.template.defaultfilters import urlencode
 from desktop.views import commonheader, commonfooter
 from django.utils.translation import ugettext as _
 %>
@@ -35,32 +36,47 @@ ${ commonheader(None, 'filebrowser', user) | n,unicode }
         </%def>
 
         <%def name="actions()">
+          <div class="btn-toolbar" style="display: inline; vertical-align: middle">
             <button class="btn fileToolbarBtn" title="${_('Rename')}" data-bind="visible: !inTrash(), click: renameFile, enable: selectedFiles().length == 1"><i class="icon-font"></i> ${_('Rename')}</button>
             <button class="btn fileToolbarBtn" title="${_('Move')}" data-bind="click: move, enable: selectedFiles().length > 0"><i class="icon-random"></i> ${_('Move')}</button>
             <button class="btn fileToolbarBtn" title="${_('Copy')}" data-bind="click: copy, enable: selectedFiles().length > 0"><i class="icon-retweet"></i> ${_('Copy')}</button>
             %if is_fs_superuser:
-                <button class="btn fileToolbarBtn" title="${_('Change owner / group')}" data-bind="visible: !inTrash(), click: changeOwner, enable: selectedFiles().length > 0"><i class="icon-user"></i> ${_('Change owner / group')}</button>
-            %endif
-            <button class="btn fileToolbarBtn" title="${_('Change permissions')}" data-bind="visible: !inTrash(), click: changePermissions, enable: selectedFiles().length > 0"><i class="icon-list-alt"></i> ${_('Change permissions')}</button>
-            <button class="btn fileToolbarBtn" title="${_('Download')}" data-bind="visible: !inTrash(), click: downloadFile, enable: selectedFiles().length == 1 && selectedFile().type == 'file'"><i class="icon-download-alt"></i> ${_('Download')}</button>
-            &nbsp;&nbsp;
-            <button class="btn fileToolbarBtn" title="${_('Empty trash')}" data-bind="visible: inTrash(), click: purgeTrash"><i class="icon-fire"></i> ${_('Empty')}</button>
-            <button class="btn fileToolbarBtn" title="${_('Restore from trash')}" data-bind="visible: inRestorableTrash(), click: restoreTrashSelected, enable: selectedFiles().length > 0"><i class="icon-cloud-upload"></i> ${_('Restore')}</button>
-
-            <div id="delete-dropdown" class="btn-group" style="display: inline">
-              <button href="#" class="btn delete-link dropdown-toggle" title="${_('Delete')}" data-toggle="dropdown" data-bind="visible: !inTrash(), enable: selectedFiles().length > 0">
-                <i class="icon-remove"></i> ${_('Delete')}
+            <div id="ch-dropdown" class="btn-group" style="vertical-align: middle">
+              <button href="#" class="btn dropdown-toggle" title="${_('Chown / Chmod')}" data-toggle="dropdown" data-bind="visible: !inTrash(), enable: selectedFiles().length > 0">
+                <i class="icon-remove"></i> ${_('Chmod / Chown')}
                 <span class="caret"></span>
               </button>
               <ul class="dropdown-menu" style="top: auto">
-                <li data-bind="visible: trashEnabled"><a href="#" class="delete-link" title="${_('Move to trash')}" data-bind="enable: selectedFiles().length > 0, click: trashSelected"><i class="icon-trash"></i> ${_('Move to trash')}</a></li>
-                <li><a href="#" class="delete-link" title="${_('Delete forever')}" data-bind="enable: selectedFiles().length > 0, click: deleteSelected"><i class="icon-bolt"></i> ${_('Delete forever')}</a></li>
+                <li><a href="#" title="${_('Change owner / group')}" data-bind="visible: !inTrash(), click: changeOwner, enable: selectedFiles().length > 0"><i class="icon-user"></i> ${_('Change owner / group')}</a></li>
+                <li><a href="#" title="${_('Change permissions')}" data-bind="visible: !inTrash(), click: changePermissions, enable: selectedFiles().length > 0"><i class="icon-list-alt"></i> ${_('Change permissions')}</a></li>
               </ul>
             </div>
+            %else:
+              <button class="btn fileToolbarBtn" title="${_('Change permissions')}" data-bind="visible: !inTrash(), click: changePermissions, enable: selectedFiles().length > 0"><i class="icon-list-alt"></i> ${_('Change permissions')}</button>
+            %endif
+            <button class="btn fileToolbarBtn" title="${_('Download')}" data-bind="visible: !inTrash(), click: downloadFile, enable: selectedFiles().length == 1 && selectedFile().type == 'file'"><i class="icon-download-alt"></i> ${_('Download')}</button>
+            <button class="btn fileToolbarBtn" title="${_('Restore from trash')}" data-bind="visible: inRestorableTrash(), click: restoreTrashSelected, enable: selectedFiles().length > 0"><i class="icon-cloud-upload"></i> ${_('Restore')}</button>
+            <!-- ko ifnot: inTrash -->
+              <div id="delete-dropdown" class="btn-group" style="vertical-align: middle">
+                <button id="trash-btn" class="btn toolbarBtn" data-bind="enable: selectedFiles().length > 0, click: trashSelected"><i class="icon-remove"></i> ${_('Move to trash')}</button>
+                <button id="trash-btn-caret" class="btn toolbarBtn dropdown-toggle" data-toggle="dropdown" data-bind="enable: selectedFiles().length > 0">
+                  <span class="caret"></span>
+                </button>
+                <ul class="dropdown-menu">
+                  <li><a href="#" class="delete-link" title="${_('Delete forever')}" data-bind="enable: selectedFiles().length > 0, click: deleteSelected"><i class="icon-bolt"></i> ${_('Delete forever')}</a></li>
+                </ul>
+              </div>
+            <!-- /ko -->
+            <!-- ko ifnot: trashEnabled -->
+            <button class="btn fileToolbarBtn delete-link" title="${_('Delete forever')}" data-bind="enable: selectedFiles().length > 0, click: deleteSelected"><i class="icon-bolt"></i> ${_('Delete forever')}</button>
+            <!-- /ko -->
+          </div>
         </%def>
 
         <%def name="creation()">
-            <div id="upload-dropdown" class="btn-group pull-right" style="display: inline-block; margin-top:0">
+          <button class="btn fileToolbarBtn" title="${_('Empty trash')}" data-bind="visible: inTrash(), click: purgeTrash"><i class="icon-fire"></i> ${_('Empty trash')}</button>
+          <div class="btn-toolbar" style="display: inline; vertical-align: middle">
+            <div id="upload-dropdown" class="btn-group" style="vertical-align: middle">
               <a href="#" class="btn upload-link dropdown-toggle" title="${_('Upload')}" data-toggle="dropdown" data-bind="visible: !inTrash()">
                 <i class="icon-upload"></i> ${_('Upload')}
                 <span class="caret"></span>
@@ -70,7 +86,7 @@ ${ commonheader(None, 'filebrowser', user) | n,unicode }
                 <li><a href="#" class="upload-link" title="${_('Archive')}" data-bind="click: uploadArchive"><i class="icon-gift"></i> ${_('Zip file')}</a></li>
               </ul>
             </div>
-            <div class="btn-group" style="display: inline">
+            <div class="btn-group" style="vertical-align: middle">
               <a href="#" data-toggle="dropdown" class="btn dropdown-toggle" data-bind="visible: !inTrash()">
                 <i class="icon-plus-sign"></i> ${_('New')}
                 <span class="caret"></span>
@@ -80,6 +96,7 @@ ${ commonheader(None, 'filebrowser', user) | n,unicode }
                 <li><a href="#" class="create-directory-link" title="${_('Directory')}"><i class="icon-folder-close"></i> ${_('Directory')}</a></li>
               </ul>
             </div>
+          </div>
         </%def>
     </%actionbar:render>
     </div>

+ 0 - 13
apps/filebrowser/src/filebrowser/templates/listdir_components.mako

@@ -45,10 +45,6 @@ from django.utils.translation import ugettext as _
         box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
       }
 
-      .pull-right {
-        margin: 4px;
-      }
-
       .sortable {
         cursor: pointer;
       }
@@ -93,15 +89,6 @@ from django.utils.translation import ugettext as _
         margin-right: 20px;
       }
 
-      .btn-group {
-        font-size: 14px;
-        vertical-align: baseline;
-      }
-
-      #delete-dropdown {
-        margin-left: -11px;
-      }
-
       .actionbar {
         padding-top: 6px;
         background-color: #FFFFFF;

+ 17 - 11
apps/jobsub/src/jobsub/templates/designs.mako

@@ -49,19 +49,16 @@ ${ commonheader(None, "jobsub", user, "60px") | n,unicode }
 
     <%def name="actions()">
       <div class="btn-toolbar" style="display: inline; vertical-align: middle">
-        <button id="home" class="btn" title="${_('Home')}"><i class="icon-share"></i> ${_('Home')}</button>
-        &nbsp;
       <!-- ko ifnot: inTrash -->
         <button id="submit-design" class="btn" title="${_('Submit')}" data-bind="enable: selectedDesignObjects().length == 1"><i class="icon-play"></i> ${_('Submit')}</button>
         <button id="edit-design" class="btn" title="${_('Edit')}" data-bind="enable: selectedDesignObjects().length == 1"><i class="icon-pencil"></i> ${_('Edit')}</button>
         <button id="copy-designs" class="btn" title="${_('Copy')}" data-bind="enable: selectedDesignObjects().length > 0"><i class="icon-retweet"></i> ${_('Copy')}</button>
         <div id="delete-dropdown" class="btn-group" style="vertical-align: middle">
-          <button id="delete-btn" class="btn toolbarBtn dropdown-toggle" title="${_('Delete')}" data-toggle="dropdown" data-bind="enable: selectedDesignObjects().length > 0">
-            <i class="icon-remove"></i> ${_('Delete')}
+          <button id="trash-designs" class="btn" data-bind="enable: selectedDesignObjects().length > 0"><i class="icon-remove"></i> ${_('Move to trash')}</button>
+          <button class="btn dropdown-toggle" data-toggle="dropdown" data-bind="enable: selectedDesignObjects().length > 0">
             <span class="caret"></span>
           </button>
-          <ul class="dropdown-menu" style="top: auto">
-            <li><a href="javascript:void(0);" id="trash-designs" title="${_('Move to trash')}"><i class="icon-trash"></i> ${_('Move to trash')}</a></li>
+          <ul class="dropdown-menu">
             <li><a href="javascript:void(0);" id="destroy-designs" title="${_('Delete forever')}"><i class="icon-bolt"></i> ${_('Delete forever')}</a></li>
           </ul>
         </div>
@@ -75,7 +72,14 @@ ${ commonheader(None, "jobsub", user, "60px") | n,unicode }
 
     <%def name="creation()">
       <div class="btn-toolbar" style="display: inline; vertical-align: middle">
+        <button id="home" class="btn" title="${_('Home')}" data-bind="visible: isEditing"><i class="icon-home"></i> ${_('View designs')}</button>
+      <!-- ko if: inTrash -->
+        &nbsp;&nbsp;
+        <button type="button" id="purge-trashed-designs" class="btn" title="${ _('Delete all the designs') }"><i class="icon-fire"></i> ${ _('Empty trash') }</button>
+      <!-- /ko -->
       <!-- ko ifnot: inTrash -->
+        <a href="#trashed-designs" class="btn"><i class="icon-trash"></i> ${ _('View trash') }</a>
+        &nbsp;&nbsp;
         <div id="new-action-dropdown" class="btn-group" style="vertical-align: middle">
           <a href="#" class="btn new-action-link dropdown-toggle" title="${_('New action')}" data-toggle="dropdown">
             <i class="icon-plus-sign"></i> ${_('New action')}
@@ -117,12 +121,8 @@ ${ commonheader(None, "jobsub", user, "60px") | n,unicode }
             </li>
           </ul>
         </div>
-        &nbsp;&nbsp;
-        <a href="#trashed-designs" class="btn"><i class="icon-trash"></i> ${ _('Trash') }</a>
-      <!-- /ko -->
-      <!-- ko if: inTrash -->
-        <button type="button" id="purge-trashed-designs" class="btn" title="${ _('Delete all the designs') }"><i class="icon-fire"></i> ${ _('Empty') }</button>
       <!-- /ko -->
+
       </div>
     </%def>
   </%actionbar:render>
@@ -694,6 +694,7 @@ var designTableOptions = {
       designs.selectAll();
     }
   },
+  "iDisplayLength" : 25,
   "oLanguage": {
     "sEmptyTable":     "${_('No data available')}",
     "sInfo":           "${_('Showing _START_ to _END_ of _TOTAL_ entries')}",
@@ -776,6 +777,7 @@ var setupRoutes = (function() {
           });
 
           designs.closeDesign();
+          designs.isEditing(true);
 
           var context = $.extend(true, {}, global_action_context, contexts[node_type]);
           templates.getActionTemplate(node_type, context);
@@ -808,6 +810,8 @@ var setupRoutes = (function() {
             showSection('design');
           });
 
+          designs.isEditing(true);
+
           var node_type = designObject.design().node_type();
           var context = $.extend(true, {}, global_action_context, contexts[node_type]);
           templates.getActionTemplate(node_type, context);
@@ -818,12 +822,14 @@ var setupRoutes = (function() {
         'trashed-designs': function() {
           $('#home').removeAttr('disabled');
           designs.inTrash(true);
+          designs.isEditing(true);
           showSection('list-designs');
           redraw();
         },
         'list-designs': function() {
           $('#home').removeAttr('disabled');
           designs.inTrash(false);
+          designs.isEditing(false);
           showSection('list-designs');
           redraw();
         }

+ 2 - 1
apps/jobsub/static/js/jobsub.ko.js

@@ -279,11 +279,12 @@ var Designs = (function($, ko, NodeModelChooser) {
     var self = this;
 
     self.options = options || {
-      models: [],
+      models: []
     };
 
     self.temporary = ko.observable();
     self.inTrash = ko.observable(false);
+    self.isEditing = ko.observable(false);
     self.designs = ko.observableArray([]);
     self.trashedDesignObjects = ko.computed(function() {
       var selected = [];

+ 8 - 8
apps/oozie/src/oozie/templates/editor/list_bundles.mako

@@ -45,13 +45,12 @@ ${ layout.menubar(section='bundles') }
       <div class="btn-toolbar" style="display: inline; vertical-align: middle">
         <button class="btn toolbarBtn" id="submit-btn" disabled="disabled"><i class="icon-play"></i> ${ _('Submit') }</button>
         <button class="btn toolbarBtn" id="clone-btn" disabled="disabled"><i class="icon-retweet"></i> ${ _('Copy') }</button>
-        <div id="delete-dropdown" class="btn-group" style="vertical-align: middle;">
-          <button id="delete-btn" class="btn toolbarBtn dropdown-toggle" title="${_('Delete')}" data-toggle="dropdown" disabled="disabled">
-            <i class="icon-remove"></i> ${_('Delete')}
+        <div id="delete-dropdown" class="btn-group" style="vertical-align: middle">
+          <button id="trash-btn" class="btn toolbarBtn" disabled="disabled"><i class="icon-remove"></i> ${_('Move to trash')}</button>
+          <button id="trash-btn-caret" class="btn toolbarBtn dropdown-toggle" data-toggle="dropdown" disabled="disabled">
             <span class="caret"></span>
           </button>
-          <ul class="dropdown-menu" style="top: auto">
-            <li><a href="javascript:void(0);" id="trash-btn" title="${_('Move to trash')}"><i class="icon-trash"></i> ${_('Move to trash')}</a></li>
+          <ul class="dropdown-menu">
             <li><a href="javascript:void(0);" id="destroy-btn" title="${_('Delete forever')}"><i class="icon-bolt"></i> ${_('Delete forever')}</a></li>
           </ul>
         </div>
@@ -59,9 +58,9 @@ ${ layout.menubar(section='bundles') }
     </%def>
 
     <%def name="creation()">
-        <a href="${ url('oozie:create_bundle') }" class="btn"><i class="icon-plus-sign"></i> ${ _('Create') }</a>
+        <a href="${ url('oozie:list_trashed_bundles') }" class="btn"><i class="icon-trash"></i> ${ _('View trash') }</a>
         &nbsp;&nbsp;
-        <a href="${ url('oozie:list_trashed_bundles') }" class="btn"><i class="icon-trash"></i> ${ _('Trash') }</a>
+        <a href="${ url('oozie:create_bundle') }" class="btn"><i class="icon-plus-sign"></i> ${ _('Create') }</a>
     </%def>
   </%actionbar:render>
 
@@ -207,7 +206,8 @@ ${ layout.menubar(section='bundles') }
       }
       var can_delete = $(".hueCheckbox[checked='checked'][data-delete-id]");
       if (can_delete.length >= 1 && can_delete.length == selector.length) {
-        $("#delete-btn").removeAttr("disabled");
+        $("#trash-btn").removeAttr("disabled");
+        $("#trash-btn-caret").removeAttr("disabled");
       }
     }
 

+ 8 - 8
apps/oozie/src/oozie/templates/editor/list_coordinators.mako

@@ -44,13 +44,12 @@ ${ layout.menubar(section='coordinators') }
       <div class="btn-toolbar" style="display: inline; vertical-align: middle">
         <button class="btn toolbarBtn" id="submit-btn" disabled="disabled"><i class="icon-play"></i> ${ _('Submit') }</button>
         <button class="btn toolbarBtn" id="clone-btn" disabled="disabled"><i class="icon-retweet"></i> ${ _('Copy') }</button>
-        <div id="delete-dropdown" class="btn-group" style="vertical-align: middle;">
-          <button id="delete-btn" class="btn toolbarBtn dropdown-toggle" title="${_('Delete')}" data-toggle="dropdown" disabled="disabled">
-            <i class="icon-remove"></i> ${_('Delete')}
+        <div id="delete-dropdown" class="btn-group" style="vertical-align: middle">
+          <button id="trash-btn" class="btn toolbarBtn" disabled="disabled"><i class="icon-remove"></i> ${_('Move to trash')}</button>
+          <button id="trash-btn-caret" class="btn toolbarBtn dropdown-toggle" data-toggle="dropdown" disabled="disabled">
             <span class="caret"></span>
           </button>
-          <ul class="dropdown-menu" style="top: auto">
-            <li><a href="javascript:void(0);" id="trash-btn" title="${_('Move to trash')}"><i class="icon-trash"></i> ${_('Move to trash')}</a></li>
+          <ul class="dropdown-menu">
             <li><a href="javascript:void(0);" id="destroy-btn" title="${_('Delete forever')}"><i class="icon-bolt"></i> ${_('Delete forever')}</a></li>
           </ul>
         </div>
@@ -58,9 +57,9 @@ ${ layout.menubar(section='coordinators') }
     </%def>
 
     <%def name="creation()">
-      <a href="${ url('oozie:create_coordinator') }" class="btn"><i class="icon-plus-sign"></i> ${ _('Create') }</a>
+      <a href="${ url('oozie:list_trashed_coordinators') }" class="btn"><i class="icon-trash"></i> ${ _('View trash') }</a>
       &nbsp;&nbsp;
-      <a href="${ url('oozie:list_trashed_coordinators') }" class="btn"><i class="icon-trash"></i> ${ _('Trash') }</a>
+      <a href="${ url('oozie:create_coordinator') }" class="btn"><i class="icon-plus-sign"></i> ${ _('Create') }</a>
     </%def>
   </%actionbar:render>
 
@@ -203,7 +202,8 @@ ${ layout.menubar(section='coordinators') }
       }
       var can_delete = $(".hueCheckbox[checked='checked'][data-delete-id]");
       if (can_delete.length >= 1 && can_delete.length == selector.length) {
-        $("#delete-btn").removeAttr("disabled");
+        $("#trash-btn").removeAttr("disabled");
+        $("#trash-btn-caret").removeAttr("disabled");
       }
     }
 

+ 2 - 3
apps/oozie/src/oozie/templates/editor/list_trashed_bundles.mako

@@ -37,15 +37,14 @@ ${ layout.menubar(section='bundles') }
     </%def>
 
     <%def name="actions()">
-      <a href="${ url('oozie:list_bundles') }" id="home-btn" class="btn" title="${ _('Got to bundle manager') }"><i class="icon-home"></i> ${ _('Bundles') }</a>
-      &nbsp;&nbsp;
       <button class="btn toolbarBtn" id="restore-btn" disabled="disabled" title="${ _('Retore the selected bundles') }"><i class="icon-cloud-upload"></i> ${ _('Restore') }</button>
       <button class="btn toolbarBtn" id="destroy-btn" disabled="disabled" title="${ _('Delete the selected bundles') }"><i class="icon-bolt"></i> ${ _('Delete forever') }</button>
     </%def>
 
     <%def name="creation()">
+      <a href="${ url('oozie:list_bundles') }" id="home-btn" class="btn" title="${ _('Got to bundle manager') }"><i class="icon-home"></i> ${ _('View bundles') }</a>
       <button class="btn" id="purge-btn" title="${ _('Delete all the bundles') }" data-bind="enabled: availableJobs().length > 0">
-        <i class="icon-fire"></i> ${ _('Empty') }
+        <i class="icon-fire"></i> ${ _('Empty trash') }
       </button>
     </%def>
   </%actionbar:render>

+ 4 - 5
apps/oozie/src/oozie/templates/editor/list_trashed_coordinators.mako

@@ -36,10 +36,6 @@ ${ layout.menubar(section='coordinators') }
     </%def>
 
     <%def name="actions()">
-        <a href="${ url('oozie:list_coordinators') }" id="home-btn" class="btn" title="${ _('Got to coordinator manager') }">
-          <i class="icon-home"></i> ${ _('Coordinators') }
-        </a>
-        &nbsp;&nbsp;
         <button class="btn toolbarBtn" id="restore-btn" disabled="disabled" title="${_('Restore the selected coordinators')}">
           <i class="icon-cloud-upload"></i> ${ _('Restore') }
         </button>
@@ -49,7 +45,10 @@ ${ layout.menubar(section='coordinators') }
     </%def>
 
     <%def name="creation()">
-        <button class="btn" id="purge-btn"><i class="icon-fire"></i> ${ _('Empty') }</button>
+        <a href="${ url('oozie:list_coordinators') }" id="home-btn" class="btn" title="${ _('Got to coordinator manager') }">
+          <i class="icon-home"></i> ${ _('View coordinators') }
+        </a>
+        <button class="btn" id="purge-btn"><i class="icon-fire"></i> ${ _('Empty trash') }</button>
     </%def>
   </%actionbar:render>
 

+ 4 - 5
apps/oozie/src/oozie/templates/editor/list_trashed_workflows.mako

@@ -36,10 +36,6 @@ ${ layout.menubar(section='workflows') }
     </%def>
 
     <%def name="actions()">
-      <a href="${ url('oozie:list_workflows') }" id="home-btn" class="btn" title="${ _('Got to workflow manager') }">
-        <i class="icon-home"></i> ${ _('Workflows') }
-      </a>
-      &nbsp;&nbsp;
       <button type="button" id="restore-btn" class="btn" title="${ _('Restore the selected workflows') }">
         <i class="icon-cloud-upload"></i> ${ _('Restore') }
       </button>
@@ -49,8 +45,11 @@ ${ layout.menubar(section='workflows') }
     </%def>
 
     <%def name="creation()">
+      <a href="${ url('oozie:list_workflows') }" id="home-btn" class="btn" title="${ _('Go to workflow manager') }">
+        <i class="icon-home"></i> ${ _('View workflows') }
+      </a>
       <button type="button" id="purge-btn" class="btn" title="${ _('Delete all the workflows') }">
-        <i class="icon-fire"></i> ${ _('Empty') }
+        <i class="icon-fire"></i> ${ _('Empty trash') }
       </button>
     </%def>
   </%actionbar:render>

+ 8 - 8
apps/oozie/src/oozie/templates/editor/list_workflows.mako

@@ -45,13 +45,12 @@ ${ layout.menubar(section='workflows') }
         <button class="btn toolbarBtn" id="submit-btn" disabled="disabled"><i class="icon-play"></i> ${ _('Submit') }</button>
         <button class="btn toolbarBtn" id="schedule-btn" disabled="disabled"><i class="icon-calendar"></i> ${ _('Schedule') }</button>
         <button class="btn toolbarBtn" id="clone-btn" disabled="disabled"><i class="icon-retweet"></i> ${ _('Copy') }</button>
-        <div id="delete-dropdown" class="btn-group" style="vertical-align: middle;">
-          <button id="delete-btn" class="btn toolbarBtn dropdown-toggle" title="${_('Delete')}" data-toggle="dropdown" disabled="disabled">
-            <i class="icon-remove"></i> ${_('Delete')}
+        <div id="delete-dropdown" class="btn-group" style="vertical-align: middle">
+          <button id="trash-btn" class="btn toolbarBtn" disabled="disabled"><i class="icon-remove"></i> ${_('Move to trash')}</button>
+          <button id="trash-btn-caret" class="btn toolbarBtn dropdown-toggle" data-toggle="dropdown" disabled="disabled">
             <span class="caret"></span>
           </button>
-          <ul class="dropdown-menu" style="top: auto">
-            <li><a href="javascript:void(0);" id="trash-btn" title="${_('Move to trash')}"><i class="icon-trash"></i> ${_('Move to trash')}</a></li>
+          <ul class="dropdown-menu">
             <li><a href="javascript:void(0);" id="destroy-btn" title="${_('Delete forever')}"><i class="icon-bolt"></i> ${_('Delete forever')}</a></li>
           </ul>
         </div>
@@ -59,10 +58,10 @@ ${ layout.menubar(section='workflows') }
     </%def>
 
     <%def name="creation()">
+      <a href="${ url('oozie:list_trashed_workflows') }" class="btn"><i class="icon-trash"></i> ${ _('View trash') }</a>
+      &nbsp;&nbsp;
       <a href="${ url('oozie:create_workflow') }" class="btn"><i class="icon-plus-sign"></i> ${ _('Create') }</a>
       <a href="${ url('oozie:import_workflow') }" class="btn"><i class="icon-plus-sign"></i> ${ _('Import') }</a>
-      &nbsp;&nbsp;
-      <a href="${ url('oozie:list_trashed_workflows') }" class="btn"><i class="icon-trash"></i> ${ _('Trash') }</a>
     </%def>
   </%actionbar:render>
 
@@ -205,7 +204,8 @@ ${ layout.menubar(section='workflows') }
       }
       var can_delete = $(".hueCheckbox[checked='checked'][data-delete-id]");
       if (can_delete.length >= 1 && can_delete.length == selector.length) {
-        $("#delete-btn").removeAttr("disabled");
+        $("#trash-btn").removeAttr("disabled");
+        $("#trash-btn-caret").removeAttr("disabled");
       }
     }