OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 * This view displays network related log data and is specific fo ChromeOS. | 6 * This view displays network related log data and is specific fo ChromeOS. |
7 * We get log data from chrome by filtering system logs for network related | 7 * We get log data from chrome by filtering system logs for network related |
8 * keywords. Logs are not fetched until we actually need them. | 8 * keywords. Logs are not fetched until we actually need them. |
9 */ | 9 */ |
10 var LogsView = (function() { | 10 var LogsView = (function() { |
| 11 'use strict'; |
| 12 |
11 // IDs for special HTML elements in logs_view.html | 13 // IDs for special HTML elements in logs_view.html |
12 const MAIN_BOX_ID = 'logs-view-tab-content'; | 14 var MAIN_BOX_ID = 'logs-view-tab-content'; |
13 const TABLE_ID = 'logs-view-log-table'; | 15 var TABLE_ID = 'logs-view-log-table'; |
14 const GLOBAL_SHOW_BUTTON_ID = 'logs-view-global-show-btn'; | 16 var GLOBAL_SHOW_BUTTON_ID = 'logs-view-global-show-btn'; |
15 const GLOBAL_HIDE_BUTTON_ID = 'logs-view-global-hide-btn'; | 17 var GLOBAL_HIDE_BUTTON_ID = 'logs-view-global-hide-btn'; |
16 const REFRESH_LOGS_BUTTON_ID = 'logs-view-refresh-btn'; | 18 var REFRESH_LOGS_BUTTON_ID = 'logs-view-refresh-btn'; |
17 | 19 |
18 // Special classes (defined in logs_view.css). | 20 // Special classes (defined in logs_view.css). |
19 const LOG_ROW_COLLAPSED_CLASSNAME = 'logs-view-log-row-collapsed'; | 21 var LOG_ROW_COLLAPSED_CLASSNAME = 'logs-view-log-row-collapsed'; |
20 const LOG_ROW_EXPANDED_CLASSNAME = 'logs-view-log-row-expanded'; | 22 var LOG_ROW_EXPANDED_CLASSNAME = 'logs-view-log-row-expanded'; |
21 const LOG_CELL_TEXT_CLASSNAME = 'logs-view-log-cell-text'; | 23 var LOG_CELL_TEXT_CLASSNAME = 'logs-view-log-cell-text'; |
22 const LOG_CELL_LOG_CLASSNAME = 'logs-view-log-cell-log'; | 24 var LOG_CELL_LOG_CLASSNAME = 'logs-view-log-cell-log'; |
23 const LOG_TABLE_BUTTON_COLUMN_CLASSNAME = 'logs-view-log-table-button-column'; | 25 var LOG_TABLE_BUTTON_COLUMN_CLASSNAME = 'logs-view-log-table-button-column'; |
24 const LOG_BUTTON_CLASSNAME = 'logs-view-log-button'; | 26 var LOG_BUTTON_CLASSNAME = 'logs-view-log-button'; |
25 | 27 |
26 // We inherit from DivView. | 28 // We inherit from DivView. |
27 var superClass = DivView; | 29 var superClass = DivView; |
28 | 30 |
29 /** | 31 /** |
30 * @constructor | 32 * @constructor |
31 */ | 33 */ |
32 function LogsView() { | 34 function LogsView() { |
| 35 assertFirstConstructorCall(LogsView); |
| 36 |
33 // Call superclass's constructor. | 37 // Call superclass's constructor. |
34 superClass.call(this, MAIN_BOX_ID); | 38 superClass.call(this, MAIN_BOX_ID); |
35 | 39 |
36 var tableDiv = $(TABLE_ID); | 40 var tableDiv = $(TABLE_ID); |
37 this.rows = []; | 41 this.rows = []; |
38 this.populateTable(tableDiv, kLogFilterList); | 42 this.populateTable(tableDiv, LOG_FILTER_LIST); |
39 $(GLOBAL_SHOW_BUTTON_ID).addEventListener('click', | 43 $(GLOBAL_SHOW_BUTTON_ID).addEventListener('click', |
40 this.onGlobalChangeVisibleClick_.bind(this, true)); | 44 this.onGlobalChangeVisibleClick_.bind(this, true)); |
41 $(GLOBAL_HIDE_BUTTON_ID).addEventListener('click', | 45 $(GLOBAL_HIDE_BUTTON_ID).addEventListener('click', |
42 this.onGlobalChangeVisibleClick_.bind(this, false)); | 46 this.onGlobalChangeVisibleClick_.bind(this, false)); |
43 $(REFRESH_LOGS_BUTTON_ID).addEventListener('click', | 47 $(REFRESH_LOGS_BUTTON_ID).addEventListener('click', |
44 this.onLogsRefresh_.bind(this)); | 48 this.onLogsRefresh_.bind(this)); |
45 } | 49 } |
46 | 50 |
| 51 cr.addSingletonGetter(LogsView); |
| 52 |
47 /** | 53 /** |
48 * Contains log keys we are interested in. | 54 * Contains log keys we are interested in. |
49 */ | 55 */ |
50 const kLogFilterList = [ | 56 var LOG_FILTER_LIST = [ |
51 { | 57 { |
52 key:'syslog', | 58 key:'syslog', |
53 }, | 59 }, |
54 { | 60 { |
55 key:'ui_log', | 61 key:'ui_log', |
56 }, | 62 }, |
57 { | 63 { |
58 key:'chrome_system_log', | 64 key:'chrome_system_log', |
59 }, | 65 }, |
60 { | 66 { |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
116 row.expandButton = expandButton; | 122 row.expandButton = expandButton; |
117 row.logDiv = logDiv; | 123 row.logDiv = logDiv; |
118 row.logVisible = false; | 124 row.logVisible = false; |
119 this.rows.push(row); | 125 this.rows.push(row); |
120 | 126 |
121 return row; | 127 return row; |
122 }, | 128 }, |
123 | 129 |
124 /** | 130 /** |
125 * Initializes |tableDiv| to represent data from |logList| which should be | 131 * Initializes |tableDiv| to represent data from |logList| which should be |
126 * of type kLogFilterList. | 132 * of type LOG_FILTER_LIST. |
127 */ | 133 */ |
128 populateTable: function(tableDiv, logList) { | 134 populateTable: function(tableDiv, logList) { |
129 for (var i = 0; i < logList.length; i++) { | 135 for (var i = 0; i < logList.length; i++) { |
130 var logSource = this.createTableRow(logList[i].key); | 136 var logSource = this.createTableRow(logList[i].key); |
131 tableDiv.appendChild(logSource); | 137 tableDiv.appendChild(logSource); |
132 } | 138 } |
133 }, | 139 }, |
134 | 140 |
135 /** | 141 /** |
136 * Processes clicks on buttons that show or hide log contents in log row. | 142 * Processes clicks on buttons that show or hide log contents in log row. |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
196 // In hidden rows we just clear potential log text, so we know we have to | 202 // In hidden rows we just clear potential log text, so we know we have to |
197 // get new contents when we show the row next time. | 203 // get new contents when we show the row next time. |
198 for (row in hiddenLogRows) { | 204 for (row in hiddenLogRows) { |
199 hiddenLogRows[row].logDiv.textContent = ''; | 205 hiddenLogRows[row].logDiv.textContent = ''; |
200 } | 206 } |
201 } | 207 } |
202 }; | 208 }; |
203 | 209 |
204 return LogsView; | 210 return LogsView; |
205 })(); | 211 })(); |
OLD | NEW |