| // Copyright 2024 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| import {html} from '//resources/lit/v3_0/lit.rollup.js'; |
| |
| import type {TraceReportElement} from './trace_report.js'; |
| import {ReportUploadState} from './trace_report.mojom-webui.js'; |
| |
| export function getHtml(this: TraceReportElement) { |
| // clang-format off |
| return html` |
| ${this.isLoading_ ? html`<div class="spinner"></div>` : |
| html` |
| <div class="trace-id-container"> |
| <button class="clickable-field copiable" title="${this.getTokenAsString_()}" |
| @click="${this.onCopyUuidClick_}"> |
| ${this.getTokenAsString_()} |
| </button> |
| <div class="info">Trace ID</div> |
| </div> |
| <div class="trace-date-created-container"> |
| <div class="date-creation-value"> |
| ${this.dateToString_(this.trace.creationTime)} |
| </div> |
| <div class="info">Date created</div> |
| </div> |
| <div class="trace-scenario-container"> |
| <button class="clickable-field copiable" title="${this.trace.scenarioName}" |
| @click="${this.onCopyScenarioClick_}"> |
| ${this.trace.scenarioName} |
| </button> |
| </div> |
| <div class="trace-trigger-container"> |
| <button class="clickable-field copiable" title="${this.trace.uploadRuleName}" |
| @click="${this.onCopyUploadRuleClick_}"> |
| ${this.trace.uploadRuleName} |
| </button> |
| <div class="info">Trigger rule</div> |
| </div> |
| <div class="trace-size-container"> |
| <div class="trace-size-value">${this.getTraceSize_()}</div> |
| <div class="info">Uncompressed size</div> |
| </div> |
| <div class="trace-upload-state-container"> |
| <div class="upload-state-card ${this.getStateCssClass_()}" |
| title="${this.getStateText_()}"> |
| ${this.getStateText_()} |
| </div> |
| </div> |
| <div class="actions-container"> |
| <cr-icon-button class="action-button" title="Upload Trace" |
| iron-icon="trace-report-icons:cloud_upload" |
| ?hidden="${!this.uploadStateEqual_(ReportUploadState.kNotUploaded)}" |
| ?disabled="${!this.isManualUploadPermitted_()}" |
| @click="${this.onUploadTraceClick_}"> |
| </cr-icon-button> |
| <cr-icon-button class="action-button download" |
| iron-icon="cr:file-download" title="${this.getDownloadTooltip_()}" |
| @click="${this.onDownloadTraceClick_}" |
| ?disabled="${this.isDownloadDisabled_()}"> |
| </cr-icon-button> |
| <cr-icon-button class="action-button" iron-icon="cr:delete" |
| title="Delete Trace" @click="${this.onDeleteTraceClick_}" |
| ?disabled="${this.isLoading_}"> |
| </cr-icon-button> |
| </div> |
| `}`; |
| // clang-format on |
| } |