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

[home2] Improved UX of shift+click on the entry list

Enrico Berti преди 9 години
родител
ревизия
c0fe4f6
променени са 1 файла, в които са добавени 5 реда и са изтрити 3 реда
  1. 5 3
      desktop/core/src/desktop/templates/file_browser.mako

+ 5 - 3
desktop/core/src/desktop/templates/file_browser.mako

@@ -655,7 +655,7 @@ from desktop.views import _ko
             if (event.metaKey || event.ctrlKey) {
               clickedEntry.selected(!clickedEntry.selected());
             } else if (event.shiftKey) {
-              var lastClickedIndex = ko.utils.domData.get(document, 'last-clicked-file-index');
+              var lastClickedIndex = ko.utils.domData.get(document, 'last-clicked-file-index') || 0;
               var lower = Math.min(lastClickedIndex, clickedIndex);
               var upper = Math.max(lastClickedIndex, clickedIndex);
               for (var i = lower; i <= upper; i++) {
@@ -675,8 +675,10 @@ from desktop.views import _ko
                 clickedEntry.selected(! clickedEntry.selected());
               }
             }
-
-            ko.utils.domData.set(document, 'last-clicked-file-index', clickedIndex);
+            var selectedEntries = $.grep(allEntries(), function (entry) {
+              return entry.selected();
+            });
+            ko.utils.domData.set(document, 'last-clicked-file-index', selectedEntries.length > 0 ? clickedIndex : 0);
           };
 
           ko.bindingHandlers.multiClick.init(element, function () {