Преглед на файлове

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
променени са 2 файла, в които са добавени 26 реда и са изтрити 0 реда
  1. 6 0
      apps/filebrowser/src/filebrowser/templates/listdir.mako
  2. 20 0
      apps/filebrowser/src/filebrowser/templates/listdir_components.mako

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