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 năm trước cách đây
mục cha
commit
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);