| // Copyright 2020 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| import page from 'page'; |
| import {LitElement, html, css} from 'lit-element'; |
| |
| /** |
| * `<mr-issue-entry-page>` |
| * |
| * This is the main details section for a given issue. |
| * |
| */ |
| export class MrIssueEntryPage extends LitElement { |
| /** @override */ |
| static get styles() { |
| return css` |
| :host { |
| margin: 0; |
| } |
| `; |
| } |
| |
| /** @override */ |
| static get properties() { |
| return { |
| userDisplayName: {type: String}, |
| loginUrl: {type: String}, |
| }; |
| } |
| |
| /** @override */ |
| constructor() { |
| super(); |
| |
| /* dependency injection for testing purpose */ |
| this._page = page; |
| } |
| |
| /** @override */ |
| connectedCallback() { |
| super.connectedCallback(); |
| if (!this.userDisplayName) { |
| this._page(this.loginUrl); |
| } |
| } |
| |
| /** @override */ |
| render() { |
| return html` |
| <div>SPA issue entry page place holder</div> |
| `; |
| } |
| } |
| |
| customElements.define('mr-issue-entry-page', MrIssueEntryPage); |