Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(293)

Unified Diff: chrome/browser/resources/file_manager/js/file_selection.js

Issue 14799005: Fix legacy UI in Files.app. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/resources/file_manager/js/file_manager.js ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/resources/file_manager/js/file_selection.js
diff --git a/chrome/browser/resources/file_manager/js/file_selection.js b/chrome/browser/resources/file_manager/js/file_selection.js
index ddd399e42c6cb62379d061073c5f683802bdba6e..88c5c15ea925060dd9538b63763b61d29dbb2493 100644
--- a/chrome/browser/resources/file_manager/js/file_selection.js
+++ b/chrome/browser/resources/file_manager/js/file_selection.js
@@ -89,6 +89,7 @@ FileSelection.prototype.createTasks = function(callback) {
FileSelection.prototype.computeBytes = function(callback) {
if (this.entries.length == 0) {
this.bytesKnown = true;
+ this.showBytes = false;
this.bytes = 0;
return;
}
@@ -215,7 +216,7 @@ FileSelectionHandler.prototype.onFileSelectionChanged = function(event) {
this.selectionUpdateTimer_ = null;
}
- if (!indexes.length) {
+ if (!util.platform.newUI() && !indexes.length) {
this.updatePreviewPanelVisibility_();
this.updatePreviewPanelText_();
this.fileManager_.updateContextMenuActionItems(null, false);
@@ -316,6 +317,10 @@ FileSelectionHandler.prototype.updatePreviewPanelVisibility_ = function() {
var panel = this.previewPanel_;
var state = panel.getAttribute('visibility');
var mustBeVisible = (this.selection.totalCount > 0);
+ if (util.platform.newUI()) {
+ mustBeVisible = (this.selection.totalCount > 0 ||
+ !PathUtil.isRootPath(this.fileManager_.getCurrentDirectory()));
+ }
var self = this;
var fm = this.fileManager_;
@@ -376,9 +381,19 @@ FileSelectionHandler.prototype.isPreviewPanelVisibile_ = function() {
*/
FileSelectionHandler.prototype.updatePreviewPanelText_ = function() {
var selection = this.selection;
- if (selection.totalCount == 0) {
- // We dont want to change the string during preview panel animating away.
- return;
+ if (!util.platform.newUI()) {
+ if (selection.totalCount == 0) {
+ // We dont want to change the string during preview panel animating
+ return;
+ }
+ } else {
+ if (selection.totalCount <= 1) {
+ // Hides the preview text if zero or one file is selected. We shows a
+ // breadcrumb list instead on the preview panel.
+ this.hideCalculating_();
+ this.previewText_.textContent = '';
+ return;
+ }
}
var text = '';
@@ -477,7 +492,20 @@ FileSelectionHandler.prototype.updateFileSelectionAsync = function(selection) {
// Update the UI.
var wasVisible = this.isPreviewPanelVisibile_();
this.updatePreviewPanelVisibility_();
- this.updateSearchBreadcrumbs_();
+
+ if (util.platform.newUI() && selection.totalCount == 0) {
+ var path = this.fileManager_.getCurrentDirectory();
+ // Hides the breadcrumbs list on the root path.
+ if (PathUtil.isRootPath(path))
+ this.updatePreviewPanelBreadcrumbs_(null);
+ else
+ this.updatePreviewPanelBreadcrumbs_(path);
+ var entry = this.fileManager_.getCurrentDirectoryEntry();
+ this.showPreviewThumbnails_([entry]);
+ this.updatePreviewPanelText_();
+ return;
+ }
+
this.fileManager_.updateContextMenuActionItems(null, false);
if (!wasVisible && this.selection.totalCount == 1) {
var list = this.fileManager_.getCurrentList();
@@ -489,28 +517,49 @@ FileSelectionHandler.prototype.updateFileSelectionAsync = function(selection) {
for (var i = 0; i < commands.length; i++)
commands[i].canExecuteChange();
- // Update the summary information.
- var onBytes = function() {
- if (this.selection != selection) return;
+ if (!util.platform.newUI()) {
+ this.updateSearchBreadcrumbs_();
+ // Update the summary information.
+ var onBytes = function() {
+ if (this.selection != selection) return;
+ this.updatePreviewPanelText_();
+ }.bind(this);
+ selection.computeBytes(onBytes);
this.updatePreviewPanelText_();
- }.bind(this);
- selection.computeBytes(onBytes);
- this.updatePreviewPanelText_();
+ } else {
+ if (selection.totalCount == 1) {
+ // Shows the breadcrumb list.
+ var firstEntry = selection.entries[0];
+ this.updatePreviewPanelBreadcrumbs_(firstEntry.fullPath);
+ this.updatePreviewPanelText_();
+ } else {
+ this.updatePreviewPanelBreadcrumbs_(null);
+
+ // Update the summary information.
+ var onBytes = function() {
+ if (this.selection != selection) return;
+ this.updatePreviewPanelText_();
+ }.bind(this);
+ selection.computeBytes(onBytes);
+ this.updatePreviewPanelText_();
+ }
+ }
// Inform tests it's OK to click buttons now.
chrome.test.sendMessage('selection-change-complete');
// Show thumbnails.
- this.showPreviewThumbnails_(selection);
+ this.showPreviewThumbnails_(selection.entries);
};
/**
* Renders preview thumbnails in preview panel.
*
- * @param {FileSelection} selection The selection object.
+ * @param {Array.<FileEntry>} entries The entries of selected object.
* @private
*/
-FileSelectionHandler.prototype.showPreviewThumbnails_ = function(selection) {
+FileSelectionHandler.prototype.showPreviewThumbnails_ = function(entries) {
+ var selection = this.selection;
var thumbnails = [];
var thumbnailCount = 0;
var thumbnailLoaded = -1;
@@ -554,8 +603,8 @@ FileSelectionHandler.prototype.showPreviewThumbnails_ = function(selection) {
};
var doc = this.fileManager_.document_;
- for (var i = 0; i < selection.entries.length; i++) {
- var entry = selection.entries[i];
+ for (var i = 0; i < entries.length; i++) {
+ var entry = entries[i];
if (thumbnailCount < FileSelectionHandler.MAX_PREVIEW_THUMBNAIL_COUNT) {
var box = doc.createElement('div');
@@ -611,7 +660,20 @@ FileSelectionHandler.prototype.renderThumbnail_ = function(entry, callback) {
};
/**
- * Updates the search breadcrumbs.
+ * Updates the breadcrumbs in the preview panel.
+ *
+ * @param {?string} path Path to be shown in the breadcrumbs list
+ * @private
+ */
+FileSelectionHandler.prototype.updatePreviewPanelBreadcrumbs_ = function(path) {
+ if (!path)
+ this.searchBreadcrumbs_.hide();
+ else
+ this.searchBreadcrumbs_.show(PathUtil.getRootPath(path), path);
+};
+
+/**
+ * Updates the search breadcrumbs. This method should not be used in the new ui.
*
* @private
*/
« no previous file with comments | « chrome/browser/resources/file_manager/js/file_manager.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698