| // Copyright 2017 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| export default class ReleaseNoteView extends UI.VBox { |
| constructor() { |
| super(true); |
| this.registerRequiredCSS('help/releaseNote.css'); |
| const releaseNoteElement = this._createReleaseNoteElement(Help.latestReleaseNote()); |
| const topSection = this.contentElement.createChild('div', 'release-note-top-section'); |
| topSection.textContent = Common.UIString(Help.latestReleaseNote().header); |
| this.contentElement.appendChild(releaseNoteElement); |
| } |
| |
| /** |
| * @param {!Help.ReleaseNote} releaseNote |
| * @return {!Element} |
| */ |
| _createReleaseNoteElement(releaseNote) { |
| const hbox = createElementWithClass('div', 'hbox'); |
| const container = hbox.createChild('div', 'release-note-container'); |
| const contentContainer = container.createChild('ul'); |
| for (const highlight of releaseNote.highlights) { |
| const listItem = contentContainer.createChild('li'); |
| const title = UI.XLink.create(highlight.link, highlight.title + ' ', 'release-note-title'); |
| title.title = ''; |
| listItem.appendChild(title); |
| const subtitle = UI.XLink.create(highlight.link, highlight.subtitle + ' ', 'release-note-subtitle'); |
| subtitle.title = ''; |
| listItem.appendChild(subtitle); |
| } |
| |
| const actionContainer = container.createChild('div', 'release-note-action-container'); |
| actionContainer.appendChild(UI.createTextButton(Common.UIString('Learn more'), event => { |
| event.consume(true); |
| Host.InspectorFrontendHost.openInNewTab(releaseNote.link); |
| })); |
| actionContainer.appendChild(UI.createTextButton(Common.UIString('Close'), event => { |
| event.consume(true); |
| UI.inspectorView.closeDrawerTab(Help.releaseNoteViewId, true); |
| }, 'close-release-note')); |
| |
| const imageLink = UI.XLink.create(releaseNote.link, ' '); |
| imageLink.classList.add('release-note-image'); |
| imageLink.title = ''; |
| hbox.appendChild(imageLink); |
| const image = imageLink.createChild('img'); |
| image.src = 'Images/whatsnew.png'; |
| return hbox; |
| } |
| } |
| |
| /* Legacy exported object */ |
| self.Help = self.Help || {}; |
| |
| /* Legacy exported object */ |
| Help = Help || {}; |
| |
| /** |
| * @constructor |
| */ |
| Help.ReleaseNoteView = ReleaseNoteView; |