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

Side by Side Diff: chrome/browser/resources/sync_file_system_internals/file_metadata.js

Issue 2600683002: Run tools/clang-format-js on some of chrome/browser/resources/ (Closed)
Patch Set: hackhackhack Created 3 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 * WebUI to monitor File Metadata per Extension ID. 6 * WebUI to monitor File Metadata per Extension ID.
7 */ 7 */
8 var FileMetadata = (function() { 8 var FileMetadata = (function() {
9 'use strict'; 9 'use strict';
10 10
11 var FileMetadata = {}; 11 var FileMetadata = {};
12 12
13 /** 13 /**
14 * Gets extension data so the select drop down can be filled. 14 * Gets extension data so the select drop down can be filled.
15 */ 15 */
16 function getExtensions() { 16 function getExtensions() {
17 chrome.send('getExtensions'); 17 chrome.send('getExtensions');
18 }
19
20 /**
21 * Renders result of getFileMetadata as a table.
22 * @param {Array} list of dictionaries containing 'extensionName',
23 * 'extensionID', 'status'.
24 */
25 FileMetadata.onGetExtensions = function(extensionStatuses) {
26 var select = $('extensions-select');
27
28 // Record existing drop down extension ID. If it's still there after the
29 // refresh then keep it as the selected value.
30 var oldSelectedExtension = getSelectedExtensionId();
31
32 select.textContent = '';
33 for (var i = 0; i < extensionStatuses.length; i++) {
34 var originEntry = extensionStatuses[i];
35 var tr = document.createElement('tr');
36 var title = originEntry.extensionName + ' [' + originEntry.status + ']';
37 select.options.add(new Option(title, originEntry.extensionID));
38
39 // If option was the previously only selected, make it selected again.
40 if (originEntry.extensionID != oldSelectedExtension)
41 continue;
42 select.options[select.options.length - 1].selected = true;
43 } 18 }
44 19
45 // After drop down has been loaded with options, file metadata can be loaded 20 /**
46 getFileMetadata(); 21 * Renders result of getFileMetadata as a table.
47 }; 22 * @param {Array} list of dictionaries containing 'extensionName',
23 * 'extensionID', 'status'.
24 */
25 FileMetadata.onGetExtensions = function(extensionStatuses) {
26 var select = $('extensions-select');
48 27
49 /** 28 // Record existing drop down extension ID. If it's still there after the
29 // refresh then keep it as the selected value.
30 var oldSelectedExtension = getSelectedExtensionId();
31
32 select.textContent = '';
33 for (var i = 0; i < extensionStatuses.length; i++) {
34 var originEntry = extensionStatuses[i];
35 var tr = document.createElement('tr');
36 var title = originEntry.extensionName + ' [' + originEntry.status + ']';
37 select.options.add(new Option(title, originEntry.extensionID));
38
39 // If option was the previously only selected, make it selected again.
40 if (originEntry.extensionID != oldSelectedExtension)
41 continue;
42 select.options[select.options.length - 1].selected = true;
43 }
44
45 // After drop down has been loaded with options, file metadata can be loaded
46 getFileMetadata();
47 };
48
49 /**
50 * @return {string} extension ID that's currently selected in drop down box. 50 * @return {string} extension ID that's currently selected in drop down box.
51 */ 51 */
52 function getSelectedExtensionId() { 52 function getSelectedExtensionId() {
53 var dropDown = $('extensions-select').options; 53 var dropDown = $('extensions-select').options;
54 if (dropDown.selectedIndex >= 0) 54 if (dropDown.selectedIndex >= 0)
55 return dropDown[dropDown.selectedIndex].value; 55 return dropDown[dropDown.selectedIndex].value;
56 56
57 return null; 57 return null;
58 }
59
60 /**
61 * Get File Metadata depending on which extension is selected from the drop down
62 * if any.
63 */
64 function getFileMetadata() {
65 var dropDown = $('extensions-select');
66 if (dropDown.options.length === 0) {
67 $('file-metadata-header').textContent = '';
68 $('file-metadata-entries').textContent = 'No file metadata available.';
69 return;
70 } 58 }
71 59
72 var selectedExtensionId = getSelectedExtensionId(); 60 /**
73 chrome.send('getFileMetadata', [selectedExtensionId]); 61 * Get File Metadata depending on which extension is selected from the drop
74 } 62 * down
63 * if any.
64 */
65 function getFileMetadata() {
66 var dropDown = $('extensions-select');
67 if (dropDown.options.length === 0) {
68 $('file-metadata-header').textContent = '';
69 $('file-metadata-entries').textContent = 'No file metadata available.';
70 return;
71 }
75 72
76 /** 73 var selectedExtensionId = getSelectedExtensionId();
77 * Renders result of getFileMetadata as a table. 74 chrome.send('getFileMetadata', [selectedExtensionId]);
78 */
79 FileMetadata.onGetFileMetadata = function(fileMetadataMap) {
80 var header = $('file-metadata-header');
81 // Only draw the header if it hasn't been drawn yet
82 if (header.children.length === 0) {
83 var tr = document.createElement('tr');
84 tr.appendChild(createElementFromText('td', 'Type'));
85 tr.appendChild(createElementFromText('td', 'Status'));
86 tr.appendChild(createElementFromText('td', 'Path', {width: '250px'}));
87 tr.appendChild(createElementFromText('td', 'Details'));
88 header.appendChild(tr);
89 } 75 }
90 76
91 // Add row entries. 77 /**
92 var itemContainer = $('file-metadata-entries'); 78 * Renders result of getFileMetadata as a table.
93 itemContainer.textContent = ''; 79 */
94 for (var i = 0; i < fileMetadataMap.length; i++) { 80 FileMetadata.onGetFileMetadata = function(fileMetadataMap) {
95 var metadatEntry = fileMetadataMap[i]; 81 var header = $('file-metadata-header');
96 var tr = document.createElement('tr'); 82 // Only draw the header if it hasn't been drawn yet
97 tr.appendChild(createFileIconCell(metadatEntry.type)); 83 if (header.children.length === 0) {
98 tr.appendChild(createElementFromText('td', metadatEntry.status)); 84 var tr = document.createElement('tr');
99 tr.appendChild(createElementFromText('td', metadatEntry.path)); 85 tr.appendChild(createElementFromText('td', 'Type'));
100 tr.appendChild(createElementFromDictionary('td', metadatEntry.details)); 86 tr.appendChild(createElementFromText('td', 'Status'));
101 itemContainer.appendChild(tr); 87 tr.appendChild(createElementFromText('td', 'Path', {width: '250px'}));
102 } 88 tr.appendChild(createElementFromText('td', 'Details'));
103 }; 89 header.appendChild(tr);
90 }
104 91
105 /** 92 // Add row entries.
93 var itemContainer = $('file-metadata-entries');
94 itemContainer.textContent = '';
95 for (var i = 0; i < fileMetadataMap.length; i++) {
96 var metadatEntry = fileMetadataMap[i];
97 var tr = document.createElement('tr');
98 tr.appendChild(createFileIconCell(metadatEntry.type));
99 tr.appendChild(createElementFromText('td', metadatEntry.status));
100 tr.appendChild(createElementFromText('td', metadatEntry.path));
101 tr.appendChild(createElementFromDictionary('td', metadatEntry.details));
102 itemContainer.appendChild(tr);
103 }
104 };
105
106 /**
106 * @param {string} file type string. 107 * @param {string} file type string.
107 * @return {HTMLElement} TD with file or folder icon depending on type. 108 * @return {HTMLElement} TD with file or folder icon depending on type.
108 */ 109 */
109 function createFileIconCell(type) { 110 function createFileIconCell(type) {
110 var img = document.createElement('div'); 111 var img = document.createElement('div');
111 var lowerType = type.toLowerCase(); 112 var lowerType = type.toLowerCase();
112 if (lowerType == 'file') { 113 if (lowerType == 'file') {
113 img.style.content = cr.icon.getImage('chrome://theme/IDR_DEFAULT_FAVICON'); 114 img.style.content =
114 } else if (lowerType == 'folder') { 115 cr.icon.getImage('chrome://theme/IDR_DEFAULT_FAVICON');
115 img.style.content = cr.icon.getImage('chrome://theme/IDR_FOLDER_CLOSED'); 116 } else if (lowerType == 'folder') {
116 img.className = 'folder-image'; 117 img.style.content = cr.icon.getImage('chrome://theme/IDR_FOLDER_CLOSED');
118 img.className = 'folder-image';
119 }
120
121 var imgWrapper = document.createElement('div');
122 imgWrapper.appendChild(img);
123
124 var td = document.createElement('td');
125 td.className = 'file-icon-cell';
126 td.appendChild(imgWrapper);
127 td.appendChild(document.createTextNode(type));
128 return td;
117 } 129 }
118 130
119 var imgWrapper = document.createElement('div'); 131 function main() {
120 imgWrapper.appendChild(img); 132 getExtensions();
133 $('refresh-metadata-button').addEventListener('click', getExtensions);
134 $('extensions-select').addEventListener('change', getFileMetadata);
135 }
121 136
122 var td = document.createElement('td'); 137 document.addEventListener('DOMContentLoaded', main);
123 td.className = 'file-icon-cell'; 138 return FileMetadata;
124 td.appendChild(imgWrapper);
125 td.appendChild(document.createTextNode(type));
126 return td;
127 }
128
129 function main() {
130 getExtensions();
131 $('refresh-metadata-button').addEventListener('click', getExtensions);
132 $('extensions-select').addEventListener('change', getFileMetadata);
133 }
134
135 document.addEventListener('DOMContentLoaded', main);
136 return FileMetadata;
137 })(); 139 })();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698