瀏覽代碼

HUE-2265 [fb] The current folder (dot on list) should be before any other file or folder

Ensured sorting
Added level up icon for parent folder
Enrico Berti 11 年之前
父節點
當前提交
7d33d19

+ 6 - 0
apps/filebrowser/src/filebrowser/templates/listdir.mako

@@ -27,6 +27,12 @@ from django.utils.translation import ugettext as _
 ${ commonheader(None, 'filebrowser', user) | n,unicode }
 ${ fb_components.menubar() }
 
+<style type="text/css">
+  .tooltip.left {
+    margin-left: -10px;
+  }
+</style>
+
 <div class="container-fluid">
 
   <div class="card card-small">

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

@@ -401,7 +401,13 @@ from django.utils.translation import ugettext as _
       </td>
       <td data-bind="click: $root.viewFile" class="left"><i data-bind="css: {'fa': true, 'fa-play': $.inArray(name, ['workflow.xml', 'coordinator.xml', 'bundle.xml']) > -1, 'fa-file-o': type == 'file', 'fa-folder': type != 'file', 'fa-folder-open': type != 'file' && hovered}"></i></td>
       <td data-bind="click: $root.viewFile, attr: {'title': tooltip}" rel="tooltip">
+        <!-- ko if: name == '..' -->
+        <a href="#" data-bind="click: $root.viewFile"><i class="fa fa-level-up"></i></a>
+        <!-- /ko -->
+        <!-- ko if: name != '..' -->
         <strong><a href="#" data-bind="click: $root.viewFile, text: name"></a></strong>
+        <!-- /ko -->
+
       </td>
       <td data-bind="click: $root.viewFile">
         <span data-bind="visible: type=='file', text: stats.size"></span>
@@ -546,9 +552,22 @@ from django.utils.translation import ugettext as _
       self.sortDescending = ko.observable(false);
       self.searchQuery = ko.observable("");
 
+      self.filesSorting = function (l, r) {
+        if (l.name == ".." && r.name == "."){
+          return -1;
+        }
+        else if (l.name == "." && r.name == ".."){
+          return 1;
+        }
+        else {
+          return l.name > r.name ? 1 : -1
+        }
+      }
+
       self.files = ko.observableArray(ko.utils.arrayMap(files, function (file) {
         return new File(file);
       }));
+      self.files.sort(self.filesSorting)
 
       self.breadcrumbs = ko.observableArray(ko.utils.arrayMap(breadcrumbs, function (breadcrumb) {
         return new Breadcrumb(breadcrumb);
@@ -641,6 +660,7 @@ from django.utils.translation import ugettext as _
         self.files(ko.utils.arrayMap(files, function (file) {
           return new File(file);
         }));
+        self.files.sort(self.filesSorting)
 
         self.breadcrumbs(ko.utils.arrayMap(breadcrumbs, function (breadcrumb) {
           return new Breadcrumb(breadcrumb);