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

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

Issue 2589133002: Quick view lazy load part 1: initialize controllers lazily. (Closed)
Patch Set: . Created 4 years 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 * Controller of metadata box. 6 * Controller of metadata box.
7 * This should be initialized with |init| method.
7 * 8 *
8 * @param{!MetadataModel} metadataModel 9 * @param{!MetadataModel} metadataModel
9 * @param{!FilesMetadataBox} metadataBox
10 * @param{!FilesQuickView} quickView
11 * @param{!QuickViewModel} quickViewModel 10 * @param{!QuickViewModel} quickViewModel
12 * @param{!FileMetadataFormatter} fileMetadataFormatter 11 * @param{!FileMetadataFormatter} fileMetadataFormatter
13 * 12 *
14 * @constructor 13 * @constructor
15 */ 14 */
16 function MetadataBoxController( 15 function MetadataBoxController(
17 metadataModel, metadataBox, quickView, quickViewModel, 16 metadataModel, quickViewModel, fileMetadataFormatter) {
18 fileMetadataFormatter) {
19 /** 17 /**
20 * @type {!MetadataModel} 18 * @type {!MetadataModel}
21 * @private 19 * @private
22 */ 20 */
23 this.metadataModel_ = metadataModel; 21 this.metadataModel_ = metadataModel;
24 22
25 /** 23 /**
26 * @type {!FilesMetadataBox} 24 * @type {!QuickViewModel}
27 * @private 25 * @private
28 */ 26 */
29 this.metadataBox_ = metadataBox; 27 this.quickViewModel_ = quickViewModel;
28
29 /**
30 * @type {FilesMetadataBox} metadataBox
31 * @private
32 */
33 this.metadataBox_ = null;
30 34
31 /** 35 /**
32 * @type {!FilesQuickView} 36 * @type {FilesQuickView} quickView
33 * @private 37 * @private
34 */ 38 */
35 this.quickView_ = quickView; 39 this.quickView_ = null;
36 40
37 /** 41 /**
38 * @type {!FileMetadataFormatter} 42 * @type {!FileMetadataFormatter}
39 * @private 43 * @private
40 */ 44 */
41 this.fileMetadataFormatter_ = fileMetadataFormatter; 45 this.fileMetadataFormatter_ = fileMetadataFormatter;
46 }
42 47
48 /**
49 * Initialize the controller with quick view which will be lazily loaded.
50 * @param{!FilesQuickView} quickView
51 */
52 MetadataBoxController.prototype.init = function(quickView) {
43 // TODO(oka): Add storage to persist the value of 53 // TODO(oka): Add storage to persist the value of
44 // quickViewModel_.metadataBoxActive. 54 // quickViewModel_.metadataBoxActive.
45 /** 55 this.fileMetadataFormatter_.addEventListener(
46 * @type {!QuickViewModel}
47 * @private
48 */
49 this.quickViewModel_ = quickViewModel;
50
51 fileMetadataFormatter.addEventListener(
52 'date-time-format-changed', this.updateView_.bind(this)); 56 'date-time-format-changed', this.updateView_.bind(this));
53 57
54 quickView.addEventListener( 58 quickView.addEventListener(
55 'metadata-box-active-changed', this.updateView_.bind(this)); 59 'metadata-box-active-changed', this.updateView_.bind(this));
56 60
57 quickViewModel.addEventListener( 61 this.quickViewModel_.addEventListener(
58 'selected-entry-changed', this.updateView_.bind(this)); 62 'selected-entry-changed', this.updateView_.bind(this));
59 } 63
64 this.metadataBox_ = quickView.getFilesMetadataBox();
65 this.quickView_ = quickView;
66 };
60 67
61 /** 68 /**
62 * @const {!Array<string>} 69 * @const {!Array<string>}
63 */ 70 */
64 MetadataBoxController.GENERAL_METADATA_NAME = [ 71 MetadataBoxController.GENERAL_METADATA_NAME = [
65 'size', 72 'size',
66 'modificationTime', 73 'modificationTime',
67 ]; 74 ];
68 75
69 /** 76 /**
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
186 if(chrome.runtime.lastError) { 193 if(chrome.runtime.lastError) {
187 this.metadataBox_.isSizeLoading = false; 194 this.metadataBox_.isSizeLoading = false;
188 return; 195 return;
189 } 196 }
190 197
191 this.metadataBox_.isSizeLoading = false; 198 this.metadataBox_.isSizeLoading = false;
192 this.metadataBox_.size = 199 this.metadataBox_.size =
193 this.fileMetadataFormatter_.formatSize(size, true); 200 this.fileMetadataFormatter_.formatSize(size, true);
194 }.bind(this)); 201 }.bind(this));
195 }; 202 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698