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

Side by Side Diff: chrome/browser/resources/sync_internals/events.js

Issue 53153010: Introduce a button to toggle hiding/showing of the details in the events tab. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: For review. Created 7 years, 1 month 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 | Annotate | Revision Log
« no previous file with comments | « chrome/browser/resources/sync_internals/events.html ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 'use strict';
7 var toggleDisplayDetails = function() {
8 var detailsNode = this.parentNode.getElementsByClassName('details')[0];
9 if (detailsNode.classList.contains('hidden')) {
10 detailsNode.classList.remove('hidden');
11 } else {
12 detailsNode.classList.add('hidden');
13 }
14 }
kjiwa 2013/11/05 00:21:56 As a minor note this function can be generalized i
15
16 var makeLogEntryNode = function(entry) {
7 var timeNode = document.createElement('td'); 17 var timeNode = document.createElement('td');
8 timeNode.textContent = entry.date; 18 timeNode.textContent = entry.date;
9 19
10 var submoduleNode = document.createElement('td'); 20 var submoduleNode = document.createElement('td');
11 submoduleNode.textContent = entry.submodule; 21 submoduleNode.textContent = entry.submodule;
12 22
13 var eventNode = document.createElement('td'); 23 var eventNode = document.createElement('td');
14 eventNode.textContent = entry.event; 24 eventNode.textContent = entry.event;
15 25
16 var details = document.createElement('pre'); 26 var details = document.createElement('pre');
17 details.textContent = JSON.stringify(entry.details, null, 2); 27 details.textContent = JSON.stringify(entry.details, null, 2);
28 details.className = 'details';
29 details.classList.add('hidden');
kjiwa 2013/11/05 00:21:56 For consistency you may want to use: details.cl
30 var detailsToggleButton = document.createElement('button');
31 detailsToggleButton.addEventListener('click', toggleDisplayDetails, false);
32 detailsToggleButton.textContent = 'Show/Hide Details';
18 var detailsNode = document.createElement('td'); 33 var detailsNode = document.createElement('td');
34 detailsNode.appendChild(detailsToggleButton);
19 detailsNode.appendChild(details); 35 detailsNode.appendChild(details);
20 36
21 var node = document.createElement('tr'); 37 var node = document.createElement('tr');
22 node.appendChild(timeNode); 38 node.appendChild(timeNode);
23 node.appendChild(submoduleNode); 39 node.appendChild(submoduleNode);
24 node.appendChild(eventNode); 40 node.appendChild(eventNode);
25 node.appendChild(detailsNode); 41 node.appendChild(detailsNode);
26 42
27 return node; 43 return node;
28 } 44 }
29 45
30 var syncEvents = document.getElementById('sync-events'); 46 var syncEvents = document.getElementById('sync-events');
31 47
32 var entries = chrome.sync.log.entries; 48 var entries = chrome.sync.log.entries;
33 for (var i = 0; i < entries.length; ++i) { 49 for (var i = 0; i < entries.length; ++i) {
34 syncEvents.appendChild(makeLogEntryNode(entries[i])); 50 syncEvents.appendChild(makeLogEntryNode(entries[i]));
35 } 51 }
36 52
37 chrome.sync.log.addEventListener('append', function(event) { 53 chrome.sync.log.addEventListener('append', function(event) {
38 syncEvents.appendChild(makeLogEntryNode(event.detail)); 54 syncEvents.appendChild(makeLogEntryNode(event.detail));
39 }); 55 });
40 })(); 56 })();
OLDNEW
« no previous file with comments | « chrome/browser/resources/sync_internals/events.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698