Add name attribute to autocomplete fields (#14258)

This commit is contained in:
Steve Repsher 2022-11-02 13:22:02 -04:00 committed by GitHub
parent ffbcb0a343
commit 98a32041d4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 17 additions and 2 deletions

View File

@ -92,6 +92,7 @@ export class HaPasswordManagerPolyfill extends LitElement {
<input <input
tabindex="-1" tabindex="-1"
.id=${schema.name} .id=${schema.name}
.name=${schema.name}
.type=${inputType} .type=${inputType}
.value=${this.stepData[schema.name] || ""} .value=${this.stepData[schema.name] || ""}
.autocomplete=${schema.autocomplete} .autocomplete=${schema.autocomplete}

View File

@ -60,6 +60,7 @@ export class HaFormString extends LitElement implements HaFormElement {
.disabled=${this.disabled} .disabled=${this.disabled}
.required=${this.schema.required} .required=${this.schema.required}
.autoValidate=${this.schema.required} .autoValidate=${this.schema.required}
.name=${this.schema.name}
.autocomplete=${this.schema.autocomplete} .autocomplete=${this.schema.autocomplete}
.suffix=${isPassword .suffix=${isPassword
? // reserve some space for the icon. ? // reserve some space for the icon.

View File

@ -81,6 +81,7 @@ export class HaForm extends LitElement implements HaFormElement {
? html`<ha-selector ? html`<ha-selector
.schema=${item} .schema=${item}
.hass=${this.hass} .hass=${this.hass}
.name=${item.name}
.selector=${item.selector} .selector=${item.selector}
.value=${getValue(this.data, item)} .value=${getValue(this.data, item)}
.label=${this._computeLabel(item, this.data)} .label=${this._computeLabel(item, this.data)}

View File

@ -14,6 +14,8 @@ export class HaTextSelector extends LitElement {
@property() public value?: any; @property() public value?: any;
@property() public name?: string;
@property() public label?: string; @property() public label?: string;
@property() public placeholder?: string; @property() public placeholder?: string;
@ -31,6 +33,7 @@ export class HaTextSelector extends LitElement {
protected render() { protected render() {
if (this.selector.text?.multiline) { if (this.selector.text?.multiline) {
return html`<ha-textarea return html`<ha-textarea
.name=${this.name}
.label=${this.label} .label=${this.label}
.placeholder=${this.placeholder} .placeholder=${this.placeholder}
.value=${this.value || ""} .value=${this.value || ""}
@ -46,6 +49,7 @@ export class HaTextSelector extends LitElement {
></ha-textarea>`; ></ha-textarea>`;
} }
return html`<ha-textfield return html`<ha-textfield
.name=${this.name}
.value=${this.value || ""} .value=${this.value || ""}
.placeholder=${this.placeholder || ""} .placeholder=${this.placeholder || ""}
.helper=${this.helper} .helper=${this.helper}

View File

@ -40,6 +40,8 @@ const LOAD_ELEMENTS = {
export class HaSelector extends LitElement { export class HaSelector extends LitElement {
@property() public hass!: HomeAssistant; @property() public hass!: HomeAssistant;
@property() public name?: string;
@property() public selector!: Selector; @property() public selector!: Selector;
@property() public value?: any; @property() public value?: any;
@ -74,6 +76,7 @@ export class HaSelector extends LitElement {
return html` return html`
${dynamicElement(`ha-selector-${this._type}`, { ${dynamicElement(`ha-selector-${this._type}`, {
hass: this.hass, hass: this.hass,
name: this.name,
selector: this.selector, selector: this.selector,
value: this.value, value: this.value,
label: this.label, label: this.label,

View File

@ -113,6 +113,7 @@ export class CloudLogin extends LitElement {
"ui.panel.config.cloud.login.email" "ui.panel.config.cloud.login.email"
)} )}
id="email" id="email"
name="username"
type="email" type="email"
autocomplete="username" autocomplete="username"
required required
@ -125,6 +126,7 @@ export class CloudLogin extends LitElement {
></ha-textfield> ></ha-textfield>
<ha-textfield <ha-textfield
id="password" id="password"
name="password"
.label=${this.hass.localize( .label=${this.hass.localize(
"ui.panel.config.cloud.login.password" "ui.panel.config.cloud.login.password"
)} )}

View File

@ -132,6 +132,7 @@ export class CloudRegister extends LitElement {
<ha-textfield <ha-textfield
autofocus autofocus
id="email" id="email"
name="email"
.label=${this.hass.localize( .label=${this.hass.localize(
"ui.panel.config.cloud.register.email_address" "ui.panel.config.cloud.register.email_address"
)} )}
@ -146,6 +147,7 @@ export class CloudRegister extends LitElement {
></ha-textfield> ></ha-textfield>
<ha-textfield <ha-textfield
id="password" id="password"
name="password"
label="Password" label="Password"
.value=${this._password} .value=${this._password}
type="password" type="password"

View File

@ -20,7 +20,7 @@ const SCHEMA = [
selector: { selector: {
text: { text: {
type: "password", type: "password",
autofill: "new-password", autocomplete: "new-password",
}, },
}, },
}, },
@ -30,7 +30,7 @@ const SCHEMA = [
selector: { selector: {
text: { text: {
type: "password", type: "password",
autofill: "new-password", autocomplete: "new-password",
}, },
}, },
}, },

View File

@ -51,6 +51,7 @@ class HaChangePasswordCard extends LitElement {
<ha-textfield <ha-textfield
id="currentPassword" id="currentPassword"
name="currentPassword"
.label=${this.hass.localize( .label=${this.hass.localize(
"ui.panel.profile.change_password.current_password" "ui.panel.profile.change_password.current_password"
)} )}