Browse Source

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 years ago
parent
commit
7d33d19653

+ 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);