OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 | |
5 /** | 4 /** |
6 * @constructor | 5 * @unrestricted |
7 * @extends {WebInspector.VBox} | |
8 * @param {!WebInspector.NetworkRequest} request | |
9 */ | 6 */ |
10 WebInspector.EventSourceMessagesView = function(request) | 7 WebInspector.EventSourceMessagesView = class extends WebInspector.VBox { |
11 { | 8 /** |
12 WebInspector.VBox.call(this); | 9 * @param {!WebInspector.NetworkRequest} request |
13 this.registerRequiredCSS("network/eventSourceMessagesView.css"); | 10 */ |
14 this.element.classList.add("event-source-messages-view"); | 11 constructor(request) { |
| 12 super(); |
| 13 this.registerRequiredCSS('network/eventSourceMessagesView.css'); |
| 14 this.element.classList.add('event-source-messages-view'); |
15 this._request = request; | 15 this._request = request; |
16 | 16 |
17 var columns = /** @type {!Array<!WebInspector.DataGrid.ColumnDescriptor>} */
([ | 17 var columns = /** @type {!Array<!WebInspector.DataGrid.ColumnDescriptor>} */
([ |
18 {id: "id", title: WebInspector.UIString("Id"), sortable: true, weight: 8
}, | 18 {id: 'id', title: WebInspector.UIString('Id'), sortable: true, weight: 8}, |
19 {id: "type", title: WebInspector.UIString("Type"), sortable: true, weigh
t: 8}, | 19 {id: 'type', title: WebInspector.UIString('Type'), sortable: true, weight:
8}, |
20 {id: "data", title: WebInspector.UIString("Data"), sortable: false, weig
ht: 88}, | 20 {id: 'data', title: WebInspector.UIString('Data'), sortable: false, weight
: 88}, |
21 {id: "time", title: WebInspector.UIString("Time"), sortable: true, weigh
t: 8} | 21 {id: 'time', title: WebInspector.UIString('Time'), sortable: true, weight:
8} |
22 ]); | 22 ]); |
23 | 23 |
24 this._dataGrid = new WebInspector.SortableDataGrid(columns); | 24 this._dataGrid = new WebInspector.SortableDataGrid(columns); |
25 this._dataGrid.setStickToBottom(true); | 25 this._dataGrid.setStickToBottom(true); |
26 this._dataGrid.markColumnAsSortedBy("time", WebInspector.DataGrid.Order.Asce
nding); | 26 this._dataGrid.markColumnAsSortedBy('time', WebInspector.DataGrid.Order.Asce
nding); |
27 this._sortItems(); | 27 this._sortItems(); |
28 this._dataGrid.addEventListener(WebInspector.DataGrid.Events.SortingChanged,
this._sortItems, this); | 28 this._dataGrid.addEventListener(WebInspector.DataGrid.Events.SortingChanged,
this._sortItems, this); |
29 | 29 |
30 this._dataGrid.setName("EventSourceMessagesView"); | 30 this._dataGrid.setName('EventSourceMessagesView'); |
31 this._dataGrid.asWidget().show(this.element); | 31 this._dataGrid.asWidget().show(this.element); |
32 }; | 32 } |
33 | 33 |
34 WebInspector.EventSourceMessagesView.prototype = { | 34 /** |
35 wasShown: function() | 35 * @override |
36 { | 36 */ |
37 this._dataGrid.rootNode().removeChildren(); | 37 wasShown() { |
38 var messages = this._request.eventSourceMessages(); | 38 this._dataGrid.rootNode().removeChildren(); |
39 for (var i = 0; i < messages.length; ++i) | 39 var messages = this._request.eventSourceMessages(); |
40 this._dataGrid.insertChild(new WebInspector.EventSourceMessageNode(m
essages[i])); | 40 for (var i = 0; i < messages.length; ++i) |
| 41 this._dataGrid.insertChild(new WebInspector.EventSourceMessageNode(message
s[i])); |
41 | 42 |
42 this._request.addEventListener(WebInspector.NetworkRequest.Events.EventS
ourceMessageAdded, this._messageAdded, this); | 43 this._request.addEventListener( |
43 }, | 44 WebInspector.NetworkRequest.Events.EventSourceMessageAdded, this._messag
eAdded, this); |
| 45 } |
44 | 46 |
45 willHide: function() | 47 /** |
46 { | 48 * @override |
47 this._request.removeEventListener(WebInspector.NetworkRequest.Events.Eve
ntSourceMessageAdded, this._messageAdded, this); | 49 */ |
48 }, | 50 willHide() { |
| 51 this._request.removeEventListener( |
| 52 WebInspector.NetworkRequest.Events.EventSourceMessageAdded, this._messag
eAdded, this); |
| 53 } |
49 | 54 |
50 /** | 55 /** |
51 * @param {!WebInspector.Event} event | 56 * @param {!WebInspector.Event} event |
52 */ | 57 */ |
53 _messageAdded: function(event) | 58 _messageAdded(event) { |
54 { | 59 var message = /** @type {!WebInspector.NetworkRequest.EventSourceMessage} */
(event.data); |
55 var message = /** @type {!WebInspector.NetworkRequest.EventSourceMessage
} */ (event.data); | 60 this._dataGrid.insertChild(new WebInspector.EventSourceMessageNode(message))
; |
56 this._dataGrid.insertChild(new WebInspector.EventSourceMessageNode(messa
ge)); | 61 } |
57 }, | |
58 | 62 |
59 _sortItems: function() | 63 _sortItems() { |
60 { | 64 var sortColumnId = this._dataGrid.sortColumnId(); |
61 var sortColumnId = this._dataGrid.sortColumnId(); | 65 if (!sortColumnId) |
62 if (!sortColumnId) | 66 return; |
63 return; | 67 var comparator = WebInspector.EventSourceMessageNode.Comparators[sortColumnI
d]; |
64 var comparator = WebInspector.EventSourceMessageNode.Comparators[sortCol
umnId]; | 68 if (!comparator) |
65 if (!comparator) | 69 return; |
66 return; | 70 this._dataGrid.sortNodes(comparator, !this._dataGrid.isSortOrderAscending())
; |
67 this._dataGrid.sortNodes(comparator, !this._dataGrid.isSortOrderAscendin
g()); | 71 } |
68 }, | |
69 | |
70 __proto__: WebInspector.VBox.prototype | |
71 }; | 72 }; |
72 | 73 |
73 /** | 74 /** |
74 * @constructor | 75 * @unrestricted |
75 * @extends {WebInspector.SortableDataGridNode} | |
76 * @param {!WebInspector.NetworkRequest.EventSourceMessage} message | |
77 */ | 76 */ |
78 WebInspector.EventSourceMessageNode = function(message) | 77 WebInspector.EventSourceMessageNode = class extends WebInspector.SortableDataGri
dNode { |
79 { | 78 /** |
| 79 * @param {!WebInspector.NetworkRequest.EventSourceMessage} message |
| 80 */ |
| 81 constructor(message) { |
80 var time = new Date(message.time * 1000); | 82 var time = new Date(message.time * 1000); |
81 var timeText = ("0" + time.getHours()).substr(-2) + ":" + ("0" + time.getMin
utes()).substr(-2) + ":" + ("0" + time.getSeconds()).substr(-2) + "." + ("00" +
time.getMilliseconds()).substr(-3); | 83 var timeText = ('0' + time.getHours()).substr(-2) + ':' + ('0' + time.getMin
utes()).substr(-2) + ':' + |
82 var timeNode = createElement("div"); | 84 ('0' + time.getSeconds()).substr(-2) + '.' + ('00' + time.getMillisecond
s()).substr(-3); |
| 85 var timeNode = createElement('div'); |
83 timeNode.createTextChild(timeText); | 86 timeNode.createTextChild(timeText); |
84 timeNode.title = time.toLocaleString(); | 87 timeNode.title = time.toLocaleString(); |
85 WebInspector.SortableDataGridNode.call(this, {id: message.eventId, type: mes
sage.eventName, data: message.data, time: timeNode}); | 88 super({id: message.eventId, type: message.eventName, data: message.data, tim
e: timeNode}); |
86 this._message = message; | 89 this._message = message; |
87 }; | 90 } |
88 | |
89 WebInspector.EventSourceMessageNode.prototype = { | |
90 __proto__: WebInspector.SortableDataGridNode.prototype | |
91 }; | 91 }; |
92 | 92 |
93 /** | 93 /** |
94 * @param {string} field | 94 * @param {string} field |
95 * @param {!WebInspector.EventSourceMessageNode} a | 95 * @param {!WebInspector.EventSourceMessageNode} a |
96 * @param {!WebInspector.EventSourceMessageNode} b | 96 * @param {!WebInspector.EventSourceMessageNode} b |
97 * @return {number} | 97 * @return {number} |
98 */ | 98 */ |
99 WebInspector.EventSourceMessageNodeComparator = function(field, a, b) | 99 WebInspector.EventSourceMessageNodeComparator = function(field, a, b) { |
100 { | 100 var aValue = a._message[field]; |
101 var aValue = a._message[field]; | 101 var bValue = b._message[field]; |
102 var bValue = b._message[field]; | 102 return aValue < bValue ? -1 : aValue > bValue ? 1 : 0; |
103 return aValue < bValue ? -1 : aValue > bValue ? 1 : 0; | |
104 }; | 103 }; |
105 | 104 |
106 /** @type {!Object.<string, !WebInspector.SortableDataGrid.NodeComparator>} */ | 105 /** @type {!Object.<string, !WebInspector.SortableDataGrid.NodeComparator>} */ |
107 WebInspector.EventSourceMessageNode.Comparators = { | 106 WebInspector.EventSourceMessageNode.Comparators = { |
108 "id": WebInspector.EventSourceMessageNodeComparator.bind(null, "eventId"), | 107 'id': WebInspector.EventSourceMessageNodeComparator.bind(null, 'eventId'), |
109 "type": WebInspector.EventSourceMessageNodeComparator.bind(null, "eventName"
), | 108 'type': WebInspector.EventSourceMessageNodeComparator.bind(null, 'eventName'), |
110 "time": WebInspector.EventSourceMessageNodeComparator.bind(null, "time") | 109 'time': WebInspector.EventSourceMessageNodeComparator.bind(null, 'time') |
111 }; | 110 }; |
OLD | NEW |