浏览代码

HUE-862 [fb] Use universal toolbar

Added universal action bar
Applied jHueTableScroller to the list of files
Removed 'filter' from the default action bar search def
Enrico Berti 13 年之前
父节点
当前提交
ee64373235

+ 0 - 25
apps/filebrowser/src/filebrowser/templates/fb_components.mako

@@ -17,30 +17,8 @@
 from django.template.defaultfilters import urlencode
 from django.utils.translation import ugettext as _
 %>
-
 <%def name="breadcrumbs(path, breadcrumbs, from_listdir=False)">
     % if from_listdir:
-        <div class="subnavContainer">
-            <div class="subnav">
-                <p class="pull-right">
-                    <input type="text" class="input-xlarge search-query" placeholder="${_('Search for file name')}" data-bind="value: searchQuery">
-                </p>
-                <p style="padding: 4px">
-                    <button class="btn fileToolbarBtn" title="${_('Rename')}" data-bind="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 == 1"><i class="icon-random"></i> ${_('Move')}</button>
-                    %if is_fs_superuser:
-                    <button class="btn fileToolbarBtn" title="${_('Change Owner / Group')}" data-bind="click: changeOwner, enable: selectedFiles().length == 1"><i class="icon-user"></i> ${_('Change Owner / Group')}</button>
-                    %endif
-                    <button class="btn fileToolbarBtn" title="${_('Change Permissions')}" data-bind="click: changePermissions, enable: selectedFiles().length == 1"><i class="icon-list-alt"></i> ${_('Change Permissions')}</button>
-                    <button class="btn fileToolbarBtn" title="${_('Delete')}" data-bind="click: deleteSelected, enable: selectedFiles().length == 1"><i class="icon-trash"></i> ${_('Delete')}</button>
-                    &nbsp;&nbsp;&nbsp;&nbsp;
-                    <a href="#" class="btn upload-link" title="${_('Upload files')}"><i class="icon-upload"></i> ${_('Upload files')}</a>
-                    <a href="#" class="btn create-directory-link" title="${_('New directory')}"><i class="icon-folder-close"></i> ${_('New directory')}</a>
-                    &nbsp;&nbsp;&nbsp;&nbsp;
-                </p>
-            </div>
-        </div>
-        <br/>
         <ul class="nav nav-pills hueBreadcrumbBar">
             <li><a href="${url('filebrowser.views.view', path=urlencode(path))}?default_to_home"><i class="icon-home"></i> ${_('Home')}</a></li>
             <li>
@@ -72,9 +50,6 @@ from django.utils.translation import ugettext as _
     % endif
 
     <style type="text/css">
-        .subnavContainer {
-            height: 36px;
-        }
         .hueBreadcrumbBar {
             padding: 8px 15px;
             margin: 0 0 20px;

+ 20 - 1
apps/filebrowser/src/filebrowser/templates/listdir.mako

@@ -19,6 +19,7 @@ from desktop.views import commonheader, commonfooter
 from django.utils.translation import ugettext as _
 %>
 
+<%namespace name="actionbar" file="actionbar.mako" />
 <%namespace name="dir" file="listdir_components.mako" />
 <%namespace name="fb_components" file="fb_components.mako" />
 
@@ -26,10 +27,28 @@ ${commonheader(_('File Browser'), 'filebrowser', user)}
 
 <div class="container-fluid">
     <h1>${_('File Browser')}</h1>
+    <%actionbar:render>
+        <%def name="search()">
+            <input type="text" class="input-xlarge search-query" placeholder="${_('Search for file name')}" data-bind="value: searchQuery">
+        </%def>
+        <%def name="actions()">
+            <button class="btn fileToolbarBtn" title="${_('Rename')}" data-bind="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 == 1"><i class="icon-random"></i> ${_('Move')}</button>
+            %if is_fs_superuser:
+                <button class="btn fileToolbarBtn" title="${_('Change Owner / Group')}" data-bind="click: changeOwner, enable: selectedFiles().length == 1"><i class="icon-user"></i> ${_('Change Owner / Group')}</button>
+            %endif
+            <button class="btn fileToolbarBtn" title="${_('Change Permissions')}" data-bind="click: changePermissions, enable: selectedFiles().length == 1"><i class="icon-list-alt"></i> ${_('Change Permissions')}</button>
+            <button class="btn fileToolbarBtn" title="${_('Delete')}" data-bind="click: deleteSelected, enable: selectedFiles().length == 1"><i class="icon-trash"></i> ${_('Delete')}</button>
+        </%def>
+        <%def name="creation()">
+            <a href="#" class="btn upload-link" title="${_('Upload files')}"><i class="icon-upload"></i> ${_('Upload files')}</a>
+            <a href="#" class="btn create-directory-link" title="${_('New directory')}"><i class="icon-folder-close"></i> ${_('New directory')}</a>
+        </%def>
+    </%actionbar:render>
     % if breadcrumbs:
         ${fb_components.breadcrumbs(path, breadcrumbs, True)}
     %endif
-    <div id="dirlist" class="view">
+    <div class="scrollable">
         ${dir.list_table_browser(files, path_enc, current_request_path, cwd_set)}
     </div>
 </div>

+ 1 - 17
apps/filebrowser/src/filebrowser/templates/listdir_components.mako

@@ -295,23 +295,6 @@ from django.utils.translation import ugettext as _
             });
         }
 
-        $(document).scroll(function(){
-            var el = $(".subnav");
-            if (!el.data("top")) {
-                if (el.hasClass("fixed")){
-                    return;
-                }
-                var offset = el.offset()
-                el.data("top", offset.top).data("width", el.width());
-            }
-            if (el.data("top") - el.outerHeight() <= $(this).scrollTop()+1){
-                el.width(el.data("width")).addClass("fixed");
-            }
-            else {
-                el.width("100%").data("width", el.width()).removeClass("fixed");
-            }
-        });
-
         $(document).ready(function(){
 
             createUploader();
@@ -618,6 +601,7 @@ from django.utils.translation import ugettext as _
                     });
                 }
                 self.isLoading(false);
+                $(".scrollable").jHueTableScroller();
             };
 
             self.recordsPerPage.subscribe(function (newValue) {

+ 1 - 1
desktop/core/src/desktop/templates/actionbar.mako

@@ -28,7 +28,7 @@
             %if hasattr(caller, "search"):
                 ${caller.search()}
             %else:
-                <strong>${_('Filter')}:</strong> <input id="filterInput" type="text" class="input-xlarge search-query" placeholder="${_('Search...')}">
+                <input id="filterInput" type="text" class="input-xlarge search-query" placeholder="${_('Search...')}">
             %endif
             %if hasattr(caller, "actions"):
                 &nbsp;&nbsp;&nbsp;&nbsp;