From 2abba7e4458cf1cfb66ff9b8a2190c14e7dd0717 Mon Sep 17 00:00:00 2001 From: Josh McCarty Date: Thu, 4 Mar 2021 02:08:16 -0700 Subject: [PATCH] Alarm numeric inputmode (#8521) --- .../controls/more-info-alarm_control_panel.js | 35 ++++++++++++------- .../lovelace/cards/hui-alarm-panel-card.ts | 3 ++ 2 files changed, 26 insertions(+), 12 deletions(-) diff --git a/src/dialogs/more-info/controls/more-info-alarm_control_panel.js b/src/dialogs/more-info/controls/more-info-alarm_control_panel.js index 2f7f4fd357..99be49908f 100644 --- a/src/dialogs/more-info/controls/more-info-alarm_control_panel.js +++ b/src/dialogs/more-info/controls/more-info-alarm_control_panel.js @@ -5,6 +5,7 @@ import { html } from "@polymer/polymer/lib/utils/html-tag"; /* eslint-plugin-disable lit */ import { PolymerElement } from "@polymer/polymer/polymer-element"; import { fireEvent } from "../../../common/dom/fire_event"; +import { FORMAT_NUMBER } from "../../../data/alarm_control_panel"; import LocalizeMixin from "../../../mixins/localize-mixin"; class MoreInfoAlarmControlPanel extends LocalizeMixin(PolymerElement) { @@ -26,6 +27,7 @@ class MoreInfoAlarmControlPanel extends LocalizeMixin(PolymerElement) { flex-direction: column; } .pad mwc-button { + padding: 8px; width: 80px; } .actions mwc-button { @@ -43,6 +45,7 @@ class MoreInfoAlarmControlPanel extends LocalizeMixin(PolymerElement) { label="[[localize('ui.card.alarm_control_panel.code')]]" value="{{_enteredCode}}" type="password" + inputmode="[[_inputMode]]" disabled="[[!_inputEnabled]]" > @@ -53,21 +56,21 @@ class MoreInfoAlarmControlPanel extends LocalizeMixin(PolymerElement) { on-click="_digitClicked" disabled="[[!_inputEnabled]]" data-digit="1" - raised + outlined >1 4 7 @@ -76,28 +79,28 @@ class MoreInfoAlarmControlPanel extends LocalizeMixin(PolymerElement) { on-click="_digitClicked" disabled="[[!_inputEnabled]]" data-digit="2" - raised + outlined >2 5 8 0 @@ -106,27 +109,27 @@ class MoreInfoAlarmControlPanel extends LocalizeMixin(PolymerElement) { on-click="_digitClicked" disabled="[[!_inputEnabled]]" data-digit="3" - raised + outlined >3 6 9 [[localize('ui.card.alarm_control_panel.clear_code')]] @@ -201,6 +204,10 @@ class MoreInfoAlarmControlPanel extends LocalizeMixin(PolymerElement) { type: Boolean, value: false, }, + _inputMode: { + type: String, + computed: "_getInputMode(_codeFormat)", + }, }; } @@ -237,8 +244,12 @@ class MoreInfoAlarmControlPanel extends LocalizeMixin(PolymerElement) { } } + _getInputMode(format) { + return this._isNumber(format) ? "numeric" : "text"; + } + _isNumber(format) { - return format === "Number"; + return format === FORMAT_NUMBER; } _validateCode(code, format, armVisible, codeArmRequired) { diff --git a/src/panels/lovelace/cards/hui-alarm-panel-card.ts b/src/panels/lovelace/cards/hui-alarm-panel-card.ts index 2b3298b425..66b53d16a5 100644 --- a/src/panels/lovelace/cards/hui-alarm-panel-card.ts +++ b/src/panels/lovelace/cards/hui-alarm-panel-card.ts @@ -191,6 +191,9 @@ class HuiAlarmPanelCard extends LitElement implements LovelaceCard { id="alarmCode" .label=${this.hass.localize("ui.card.alarm_control_panel.code")} type="password" + .inputmode=${stateObj.attributes.code_format === FORMAT_NUMBER + ? "numeric" + : "text"} > `} ${stateObj.attributes.code_format !== FORMAT_NUMBER