mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-07 04:26:32 +08:00
Bug: 1006759 Change-Id: I9d140fd412cfe4938f58a89d8ad1852712dbde09 Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/1928928 Commit-Queue: Paul Lewis <aerotwist@chromium.org> Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
63 lines
2.3 KiB
JavaScript
63 lines
2.3 KiB
JavaScript
// 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;
|