blob: 54644da1e1cb5b53af969d70634ceb0ee88e105f [file] [log] [blame]
// Copyright 2025 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 {MlFieldPredictionLog} from './autofill_ml_internals.mojom-webui.js';
import type {LogDetailsElement} from './log_details.js';
export function getHtml(this: LogDetailsElement) {
// clang-format off
return html`
<h2>Details</h2>
<div class="row">
<span class="label">Form Signature</span>
<span>${this.log.formSignature}</span>
</div>
<div class="row">
<span class="label">URL</span>
<span>${this.log.formUrl.url}</span>
</div>
<div class="row">
<span class="label">Optimization Target</span>
<span>
${this.getOptimizationTargetText_(this.log.optimizationTarget)}
</span>
</div>
<div class="row">
<span class="label">Duration</span>
<span>${this.log.duration.microseconds} μs</span>
</div>
<h3>Fields</h3>
${this.log.fieldPredictions.map((field: MlFieldPredictionLog) => html`
<div class="field">
<div class="field-details-row">
<div class="field-properties">
<div class="row">
<span class="label">Label</span>
<span>${field.label}</span>
</div>
<div class="row">
<span class="label">Placeholder</span>
<span>${field.placeholder}</span>
</div>
<div class="row">
<span class="label">Name</span>
<span>${field.name}</span>
</div>
<div class="row">
<span class="label">ID</span>
<span>${field.id}</span>
</div>
<div class="row">
<span class="label">Autocomplete</span>
<span>${field.autocomplete}</span>
</div>
<div class="row">
<span class="label">Form Control Type</span>
<span>${field.formControlType}</span>
</div>
</div>
<div class="histogram">
${this.getTopPredictions_(field.probabilities).map(p => html`
<div class="histogram-row">
<div class="histogram-label" title="${p.type}">
${p.type}
</div>
<div class="histogram-bar-container">
<div class="histogram-bar"
style="width: ${p.percentage}">
</div>
</div>
<div class="histogram-value">${p.percentage}</div>
</div>
`)}
</div>
</div>
<div class="row">
<span class="label">Tokens</span>
<span>
${this.formatFieldTokens_(field.tokenizedFieldRepresentation)}
</span>
</div>
`)}
</div>
`;
// clang-format on
}