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

Side by Side Diff: ui/file_manager/file_manager/foreground/js/file_manager.js

Issue 840863004: Files.app: Add a new column in table view to reflect cloud import status. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Sync to master. Created 5 years, 11 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 /** 5 /**
6 * FileManager constructor. 6 * FileManager constructor.
7 * 7 *
8 * FileManager objects encapsulate the functionality of the file selector 8 * FileManager objects encapsulate the functionality of the file selector
9 * dialogs, as well as the full screen file manager application (though the 9 * dialogs, as well as the full screen file manager application (though the
10 * latter is not yet implemented). 10 * latter is not yet implemented).
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after
244 // -------------------------------------------------------------------------- 244 // --------------------------------------------------------------------------
245 // Miscellaneous FileManager's states. 245 // Miscellaneous FileManager's states.
246 246
247 /** 247 /**
248 * Queue for ordering FileManager's initialization process. 248 * Queue for ordering FileManager's initialization process.
249 * @type {!AsyncUtil.Group} 249 * @type {!AsyncUtil.Group}
250 * @private 250 * @private
251 */ 251 */
252 this.initializeQueue_ = new AsyncUtil.Group(); 252 this.initializeQueue_ = new AsyncUtil.Group();
253 253
254 /**
255 * Indicates whether cloud import is enabled. This is initialized in
256 * #initSettings.
257 * @private {?boolean}
258 */
259 this.importEnabled_ = null;
260
254 // Object.seal() has big performance/memory overhead for now, so we use 261 // Object.seal() has big performance/memory overhead for now, so we use
255 // Object.preventExtensions() here. crbug.com/412239. 262 // Object.preventExtensions() here. crbug.com/412239.
256 Object.preventExtensions(this); 263 Object.preventExtensions(this);
257 } 264 }
258 265
259 FileManager.prototype = /** @struct */ { 266 FileManager.prototype = /** @struct */ {
260 __proto__: cr.EventTarget.prototype, 267 __proto__: cr.EventTarget.prototype,
261 /** 268 /**
262 * @return {DirectoryModel} 269 * @return {DirectoryModel}
263 */ 270 */
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
347 */ 354 */
348 get ui() { 355 get ui() {
349 return this.ui_; 356 return this.ui_;
350 } 357 }
351 }; 358 };
352 359
353 // Anonymous "namespace". 360 // Anonymous "namespace".
354 (function() { 361 (function() {
355 FileManager.prototype.initSettings_ = function(callback) { 362 FileManager.prototype.initSettings_ = function(callback) {
356 this.appStateController_ = new AppStateController(this.dialogType); 363 this.appStateController_ = new AppStateController(this.dialogType);
357 this.appStateController_.loadInitialViewOptions().then(callback); 364 var whenViewOptionsLoaded =
365 this.appStateController_.loadInitialViewOptions();
366 var whenImportFlagLoaded = importer.importEnabled().then(
367 function(enabled) {
368 this.importEnabled_ = enabled;
369 }.bind(this));
370
371 Promise.all([
372 whenViewOptionsLoaded,
373 whenImportFlagLoaded
374 ]).then(callback);
358 }; 375 };
359 376
360 /** 377 /**
361 * One time initialization for the file system and related things. 378 * One time initialization for the file system and related things.
362 * 379 *
363 * @param {function()} callback Completion callback. 380 * @param {function()} callback Completion callback.
364 * @private 381 * @private
365 */ 382 */
366 FileManager.prototype.initFileSystemUI_ = function(callback) { 383 FileManager.prototype.initFileSystemUI_ = function(callback) {
367 this.ui_.listContainer.startBatchUpdates(); 384 this.ui_.listContainer.startBatchUpdates();
(...skipping 342 matching lines...) Expand 10 before | Expand all | Expand 10 after
710 assert(this.dialogDom_); 727 assert(this.dialogDom_);
711 728
712 // Cache nodes we'll be manipulating. 729 // Cache nodes we'll be manipulating.
713 var dom = this.dialogDom_; 730 var dom = this.dialogDom_;
714 assert(dom); 731 assert(dom);
715 732
716 // Initialize the dialog. 733 // Initialize the dialog.
717 FileManagerDialogBase.setFileManager(this); 734 FileManagerDialogBase.setFileManager(this);
718 735
719 var table = queryRequiredElement(dom, '.detail-table'); 736 var table = queryRequiredElement(dom, '.detail-table');
720 // TODO(smckay): Work out the cloud import UI when in list view. 737 table.importEnabled = this.importEnabled_;
721 FileTable.decorate( 738 FileTable.decorate(
722 table, 739 table,
723 this.metadataCache_, 740 this.metadataCache_,
724 this.volumeManager_, 741 this.volumeManager_,
742 this.historyLoader_,
725 this.dialogType == DialogType.FULL_PAGE); 743 this.dialogType == DialogType.FULL_PAGE);
726 var grid = queryRequiredElement(dom, '.thumbnail-grid'); 744 var grid = queryRequiredElement(dom, '.thumbnail-grid');
727 FileGrid.decorate( 745 FileGrid.decorate(
728 grid, 746 grid,
729 this.metadataCache_, 747 this.metadataCache_,
730 this.volumeManager_, 748 this.volumeManager_,
731 this.historyLoader_); 749 this.historyLoader_);
732 750
733 this.addHistoryObserver_(); 751 this.addHistoryObserver_();
734 752
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
796 // Ignore any entry that isn't an immediate child of the 814 // Ignore any entry that isn't an immediate child of the
797 // current directory. 815 // current directory.
798 util.isChildEntry(event.entry, this.getCurrentDirectoryEntry()) 816 util.isChildEntry(event.entry, this.getCurrentDirectoryEntry())
799 .then( 817 .then(
800 /** 818 /**
801 * @param {boolean} isChild 819 * @param {boolean} isChild
802 * @this {FileManager} 820 * @this {FileManager}
803 */ 821 */
804 function(isChild) { 822 function(isChild) {
805 if (isChild) { 823 if (isChild) {
806 // TODO(smckay): Update listview when that view is visible.
807 this.ui_.listContainer.grid.updateListItemsMetadata( 824 this.ui_.listContainer.grid.updateListItemsMetadata(
808 'import-history', 825 'import-history',
809 [event.entry]); 826 [event.entry]);
827 this.ui_.listContainer.table.updateListItemsMetadata(
828 'import-history',
829 [event.entry]);
810 } 830 }
811 }.bind(this)); 831 }.bind(this));
812 }; 832 };
813 833
814 /** 834 /**
815 * Constructs table and grid (heavy operation). 835 * Constructs table and grid (heavy operation).
816 * @private 836 * @private
817 **/ 837 **/
818 FileManager.prototype.initFileList_ = function() { 838 FileManager.prototype.initFileList_ = function() {
819 var singleSelection = 839 var singleSelection =
(...skipping 451 matching lines...) Expand 10 before | Expand all | Expand 10 after
1271 out += this.initializeQueue_.pendingTasks[key].toString() + '\n'; 1291 out += this.initializeQueue_.pendingTasks[key].toString() + '\n';
1272 }.bind(this)); 1292 }.bind(this));
1273 1293
1274 out += '2. VolumeManagerWrapper\n' + 1294 out += '2. VolumeManagerWrapper\n' +
1275 this.volumeManager_.toString() + '\n'; 1295 this.volumeManager_.toString() + '\n';
1276 1296
1277 out += 'End of debug information.'; 1297 out += 'End of debug information.';
1278 console.log(out); 1298 console.log(out);
1279 }; 1299 };
1280 })(); 1300 })();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698