mirror of
https://github.com/xiaoshi930/xiaoshi-pad-card.git
synced 2026-01-13 07:04:59 +00:00
Update xiaoshi-device-ha-info-button.js
This commit is contained in:
@@ -93,7 +93,6 @@ class XiaoshiHaInfoButtonEditor extends LitElement {
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>按钮显示文本
|
<label>按钮显示文本
|
||||||
<input
|
<input
|
||||||
@@ -126,7 +125,21 @@ class XiaoshiHaInfoButtonEditor extends LitElement {
|
|||||||
id="transparent_bg"
|
id="transparent_bg"
|
||||||
/>
|
/>
|
||||||
<label for="transparent_bg" class="checkbox-label">
|
<label for="transparent_bg" class="checkbox-label">
|
||||||
透明背景(勾选后按钮背景透明)
|
(平板端特性)透明背景(勾选后按钮背景透明)
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="checkbox-group">
|
||||||
|
<input
|
||||||
|
type="checkbox"
|
||||||
|
class="checkbox-input"
|
||||||
|
@change=${this._entityChanged}
|
||||||
|
.checked=${this.config.lock_white_fg === true}
|
||||||
|
name="lock_white_fg"
|
||||||
|
id="lock_white_fg"
|
||||||
|
/>
|
||||||
|
<label for="lock_white_fg" class="checkbox-label">
|
||||||
|
(平板端特性)白色图标文字(勾选后锁定显示白色)
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -140,7 +153,7 @@ class XiaoshiHaInfoButtonEditor extends LitElement {
|
|||||||
id="hide_icon"
|
id="hide_icon"
|
||||||
/>
|
/>
|
||||||
<label for="hide_icon" class="checkbox-label">
|
<label for="hide_icon" class="checkbox-label">
|
||||||
隐藏图标(勾选后隐藏图标)
|
( 平板端特性)隐藏图标(勾选后隐藏图标)
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -154,7 +167,7 @@ class XiaoshiHaInfoButtonEditor extends LitElement {
|
|||||||
id="hide_colon"
|
id="hide_colon"
|
||||||
/>
|
/>
|
||||||
<label for="hide_colon" class="checkbox-label">
|
<label for="hide_colon" class="checkbox-label">
|
||||||
隐藏冒号(勾选后不显示冒号,改为空格)
|
(平板端特性)隐藏冒号(勾选后不显示冒号,改为空格)
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -168,7 +181,7 @@ class XiaoshiHaInfoButtonEditor extends LitElement {
|
|||||||
id="hide_zero"
|
id="hide_zero"
|
||||||
/>
|
/>
|
||||||
<label for="hide_zero" class="checkbox-label">
|
<label for="hide_zero" class="checkbox-label">
|
||||||
隐藏0值(勾选后数量为0时不显示数量)
|
(平板端特性)隐藏0值(勾选后数量为0时不显示数量)
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -342,7 +355,7 @@ template: 测试模板(最好引用模板,否则大概率会报错)'>
|
|||||||
if (type === 'checkbox') {
|
if (type === 'checkbox') {
|
||||||
finalValue = checked;
|
finalValue = checked;
|
||||||
} else {
|
} else {
|
||||||
if (!value && name !== 'theme' && name !== 'button_width' && name !== 'button_height' && name !== 'button_font_size' && name !== 'button_icon_size' && name !== 'width' && name !== 'tap_action') return;
|
if (!value && name !== 'theme' && name !== 'button_width' && name !== 'button_height' && name !== 'button_font_size' && name !== 'button_icon_size' && name !== 'width' && name !== 'tap_action' && name !== 'display_mode' && name !== 'decimal_precision') return;
|
||||||
finalValue = value
|
finalValue = value
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1781,6 +1794,7 @@ export class XiaoshiHaInfoButton extends LitElement {
|
|||||||
const hideColon = this.config.hide_colon === true;
|
const hideColon = this.config.hide_colon === true;
|
||||||
const hideZero = this.config.hide_zero === true;
|
const hideZero = this.config.hide_zero === true;
|
||||||
const autoHide = this.config.auto_hide === true;
|
const autoHide = this.config.auto_hide === true;
|
||||||
|
const lockWhiteFg = this.config.lock_white_fg === true;
|
||||||
const buttonText = this.config.button_text || 'HA';
|
const buttonText = this.config.button_text || 'HA';
|
||||||
const buttonIcon = this.config.button_icon || 'mdi:home-assistant';
|
const buttonIcon = this.config.button_icon || 'mdi:home-assistant';
|
||||||
|
|
||||||
@@ -1825,9 +1839,13 @@ export class XiaoshiHaInfoButton extends LitElement {
|
|||||||
displayText += '\u2002'; // 两个en空格,大约等于数字"0"的宽度
|
displayText += '\u2002'; // 两个en空格,大约等于数字"0"的宽度
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 应用锁定白色功能
|
||||||
|
const iconColor = lockWhiteFg ? 'rgb(255, 255, 255)' : fgColor;
|
||||||
|
const textColor = lockWhiteFg ? 'rgb(255, 255, 255)' : fgColor;
|
||||||
|
|
||||||
buttonHtml = html`
|
buttonHtml = html`
|
||||||
<div class="ha-info-status" style="--fg-color: ${fgColor}; --bg-color: ${buttonBgColor};" @click=${this._handleButtonClick}>
|
<div class="ha-info-status" style="--fg-color: ${textColor}; --bg-color: ${buttonBgColor};" @click=${this._handleButtonClick}>
|
||||||
${!hideIcon ? html`<ha-icon class="status-icon" style="color: ${fgColor};" icon="${buttonIcon}"></ha-icon>` : ''}
|
${!hideIcon ? html`<ha-icon class="status-icon" style="color: ${iconColor};" icon="${buttonIcon}"></ha-icon>` : ''}
|
||||||
${displayText}
|
${displayText}
|
||||||
</div>
|
</div>
|
||||||
`;
|
`;
|
||||||
@@ -1845,7 +1863,17 @@ export class XiaoshiHaInfoButton extends LitElement {
|
|||||||
`;
|
`;
|
||||||
} else {
|
} else {
|
||||||
// 普通模式:显示文本和数量
|
// 普通模式:显示文本和数量
|
||||||
const textColor = warningCount === 0 ? fgColor : 'rgb(255, 0, 0)';
|
// 应用锁定白色功能,但预警颜色(红色)不受影响
|
||||||
|
let textColor, iconColor;
|
||||||
|
if (warningCount === 0) {
|
||||||
|
// 非预警状态:根据锁定白色设置决定颜色
|
||||||
|
textColor = lockWhiteFg ? 'rgb(255, 255, 255)' : fgColor;
|
||||||
|
iconColor = lockWhiteFg ? 'rgb(255, 255, 255)' : fgColor;
|
||||||
|
} else {
|
||||||
|
// 预警状态:始终使用红色,不受锁定白色影响
|
||||||
|
textColor = 'rgb(255, 0, 0)';
|
||||||
|
iconColor = lockWhiteFg ? 'rgb(255, 255, 255)' : fgColor;
|
||||||
|
}
|
||||||
|
|
||||||
// 构建显示文本
|
// 构建显示文本
|
||||||
let displayText = buttonText;
|
let displayText = buttonText;
|
||||||
@@ -1867,7 +1895,7 @@ export class XiaoshiHaInfoButton extends LitElement {
|
|||||||
|
|
||||||
buttonHtml = html`
|
buttonHtml = html`
|
||||||
<div class="ha-info-status" style="--fg-color: ${textColor}; --bg-color: ${buttonBgColor};" @click=${this._handleButtonClick}>
|
<div class="ha-info-status" style="--fg-color: ${textColor}; --bg-color: ${buttonBgColor};" @click=${this._handleButtonClick}>
|
||||||
${!hideIcon ? html`<ha-icon class="status-icon" style="color: ${fgColor};" icon="${buttonIcon}"></ha-icon>` : ''}
|
${!hideIcon ? html`<ha-icon class="status-icon" style="color: ${iconColor};" icon="${buttonIcon}"></ha-icon>` : ''}
|
||||||
${displayText}
|
${displayText}
|
||||||
</div>
|
</div>
|
||||||
`;
|
`;
|
||||||
|
|||||||
Reference in New Issue
Block a user