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 (function() { | 5 (function() { |
6 function makeLogEntryNode(entry) { | 6 var toggleDisplayDetails = function() { |
kjiwa
2013/11/04 23:48:45
You can also add 'use strict' to enable strict mod
| |
7 var detailsNode = this.parentNode.getElementsByClassName('details')[0]; | |
8 if (detailsNode.style.display == 'block') { | |
9 detailsNode.style.display = 'none'; | |
10 } else { | |
11 detailsNode.style.display = 'block'; | |
12 } | |
13 } | |
14 | |
15 var makeLogEntryNode = function(entry) { | |
7 var timeNode = document.createElement('td'); | 16 var timeNode = document.createElement('td'); |
8 timeNode.textContent = entry.date; | 17 timeNode.textContent = entry.date; |
9 | 18 |
10 var submoduleNode = document.createElement('td'); | 19 var submoduleNode = document.createElement('td'); |
11 submoduleNode.textContent = entry.submodule; | 20 submoduleNode.textContent = entry.submodule; |
12 | 21 |
13 var eventNode = document.createElement('td'); | 22 var eventNode = document.createElement('td'); |
14 eventNode.textContent = entry.event; | 23 eventNode.textContent = entry.event; |
15 | 24 |
16 var details = document.createElement('pre'); | 25 var details = document.createElement('pre'); |
17 details.textContent = JSON.stringify(entry.details, null, 2); | 26 details.textContent = JSON.stringify(entry.details, null, 2); |
27 details.style.display = 'none'; | |
28 details.className = 'details'; | |
29 var detailsToggleButton = document.createElement('button'); | |
30 detailsToggleButton.addEventListener('click', toggleDisplayDetails, false); | |
31 detailsToggleButton.textContent = 'Show/Hide Details'; | |
18 var detailsNode = document.createElement('td'); | 32 var detailsNode = document.createElement('td'); |
33 detailsNode.appendChild(detailsToggleButton); | |
19 detailsNode.appendChild(details); | 34 detailsNode.appendChild(details); |
20 | 35 |
21 var node = document.createElement('tr'); | 36 var node = document.createElement('tr'); |
22 node.appendChild(timeNode); | 37 node.appendChild(timeNode); |
23 node.appendChild(submoduleNode); | 38 node.appendChild(submoduleNode); |
24 node.appendChild(eventNode); | 39 node.appendChild(eventNode); |
25 node.appendChild(detailsNode); | 40 node.appendChild(detailsNode); |
26 | 41 |
27 return node; | 42 return node; |
28 } | 43 } |
29 | 44 |
30 var syncEvents = document.getElementById('sync-events'); | 45 var syncEvents = document.getElementById('sync-events'); |
31 | 46 |
32 var entries = chrome.sync.log.entries; | 47 var entries = chrome.sync.log.entries; |
33 for (var i = 0; i < entries.length; ++i) { | 48 for (var i = 0; i < entries.length; ++i) { |
34 syncEvents.appendChild(makeLogEntryNode(entries[i])); | 49 syncEvents.appendChild(makeLogEntryNode(entries[i])); |
35 } | 50 } |
36 | 51 |
37 chrome.sync.log.addEventListener('append', function(event) { | 52 chrome.sync.log.addEventListener('append', function(event) { |
38 syncEvents.appendChild(makeLogEntryNode(event.detail)); | 53 syncEvents.appendChild(makeLogEntryNode(event.detail)); |
39 }); | 54 }); |
40 })(); | 55 })(); |
OLD | NEW |