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

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/help/ReleaseNote.js

Issue 2719013005: DevTools: improve design of What's New (Closed)
Patch Set: cl fb Created 3 years, 9 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 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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 Help.ReleaseNoteView = class extends UI.VBox { 5 Help.ReleaseNoteView = class extends UI.VBox {
6 constructor() { 6 constructor() {
7 super(true); 7 super(true);
8 this.registerRequiredCSS('help/releaseNote.css'); 8 this.registerRequiredCSS('help/releaseNote.css');
9 var releaseNoteElement = this._createReleaseNoteElement(Help.latestReleaseNo te()); 9 var releaseNoteElement = this._createReleaseNoteElement(Help.latestReleaseNo te());
10 this.contentElement.appendChild(releaseNoteElement); 10 this.contentElement.appendChild(releaseNoteElement);
11 } 11 }
12 12
13 /** 13 /**
14 * @param {!Help.ReleaseNote} releaseNote 14 * @param {!Help.ReleaseNote} releaseNote
15 * @return {!Element} 15 * @return {!Element}
16 */ 16 */
17 _createReleaseNoteElement(releaseNote) { 17 _createReleaseNoteElement(releaseNote) {
18 var container = createElementWithClass('div', 'release-note-container'); 18 var container = createElementWithClass('div', 'release-note-container');
19 var textContainer = container.createChild('div', 'release-note-text-containe r'); 19 var contentContainer = container.createChild('div', 'release-note-content-co ntainer');
20 textContainer.createChild('div', 'release-note-header').textContent = 20 var textContainer = contentContainer.createChild('div', 'release-note-text-c ontainer');
21 Common.UIString('New in DevTools %d', releaseNote.version); 21 textContainer.createChild('div', 'release-note-update-text')
22 .createTextChild(Common.UIString('Chrome has been updated to version %d. ', releaseNote.version));
23 textContainer.createChild('div').createTextChild(Common.UIString(`Here's wha t's new in DevTools:`));
22 var highlightContainer = textContainer.createChild('ul', 'release-note-highl ight-container'); 24 var highlightContainer = textContainer.createChild('ul', 'release-note-highl ight-container');
23 for (var highlight of releaseNote.highlights) { 25 for (var highlight of releaseNote.highlights) {
24 var className = highlight.featured ? 'release-note-featured-link' : 'relea se-note-link'; 26 var listItem = highlightContainer.createChild('li');
25 var highlightLink = UI.createExternalLink(highlight.link, highlight.text, className); 27 for (var content of highlight.contents) {
26 highlightContainer.createChild('li').appendChild(highlightLink); 28 if (content.link) {
29 var className = highlight.featured ? 'release-note-featured-link' : 'r elease-note-link';
30 listItem.appendChild(UI.createExternalLink(content.link, content.text + ' ', className));
31 } else {
32 listItem.createTextChild(content.text + ' ');
33 }
34 }
27 } 35 }
28 36
29 var viewMoreButton = UI.createTextButton(Common.UIString('And more...'), eve nt => { 37 var actionContainer = container.createChild('div', 'release-note-action-cont ainer');
38 var viewMoreButton = UI.createTextButton(Common.UIString('Learn more'), even t => {
30 event.consume(true); 39 event.consume(true);
31 InspectorFrontendHost.openInNewTab(releaseNote.link); 40 InspectorFrontendHost.openInNewTab(releaseNote.link);
32 }); 41 });
33 textContainer.appendChild(viewMoreButton); 42 actionContainer.appendChild(viewMoreButton);
34 43
35 var closeButton = UI.createTextButton(Common.UIString('Dismiss'), event => { 44 var closeButton = UI.createTextButton(Common.UIString('Close'), event => {
36 event.consume(true); 45 event.consume(true);
37 UI.inspectorView.closeDrawerTab(Help._releaseNoteViewId, true); 46 UI.inspectorView.closeDrawerTab(Help._releaseNoteViewId, true);
38 }, 'close-release-note'); 47 }, 'close-release-note');
39 textContainer.appendChild(closeButton); 48 actionContainer.appendChild(closeButton);
40 49
41 var imageLink = UI.createExternalLink(releaseNote.link, ' ', 'release-note-i mage-container'); 50 var imageLink = UI.createExternalLink(releaseNote.link, ' ');
42 container.appendChild(imageLink); 51 contentContainer.appendChild(imageLink);
43 var image = imageLink.createChild('img', 'release-note-image'); 52 var image = imageLink.createChild('img', 'release-note-image');
44 image.src = releaseNote.image.src; 53 image.src = releaseNote.image.src;
45 image.addEventListener('mouseover', e => container.classList.add('image-hove r')); 54 image.addEventListener('mouseover', e => container.classList.add('image-hove r'));
46 image.addEventListener('mouseout', e => container.classList.remove('image-ho ver')); 55 image.addEventListener('mouseout', e => container.classList.remove('image-ho ver'));
47 return container; 56 return container;
48 } 57 }
49 }; 58 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698