diff --git a/README.md b/README.md index 0276fde..ccf3145 100644 --- a/README.md +++ b/README.md @@ -248,5 +248,6 @@ More can be found by exploring `cardTools.hass().resources`. - Updated recommendation for how to check if `card-tools` exists. - Added `hasTemplate()` to documentation. - Added `args()` function. +- Added `localize()` function. --- diff --git a/card-modder.js b/card-modder.js deleted file mode 100644 index 18927e8..0000000 --- a/card-modder.js +++ /dev/null @@ -1,74 +0,0 @@ -customElements.whenDefined('card-tools').then(() => { -class CardModder extends cardTools.litElement() { - - setConfig(config) { - cardTools.checkVersion(0.3); - - if(!config || !config.card) { - throw new Error("Card config incorrect"); - } - if(Array.isArray(config.card)) { - throw new Error("It says 'card', not 'cardS'. Remove the dash."); - } - this._config = config; - this.card = cardTools.createCard(config.card); - this.templated = []; - this.attempts = 0; - } - - render() { - return cardTools.litHtml()` -
${this.card}
- `; - } - - firstUpdated() { - this._cardMod(); - } - - _cardMod() { - if(!this._config.style) return; - - let target = null; - target = target || this.card.querySelector("ha-card"); - target = target || this.card.shadowRoot && this.card.shadowRoot.querySelector("ha-card"); - target = target || this.card.firstChild && this.card.firstChild.shadowRoot && this.card.firstChild.shadowRoot.querySelector("ha-card"); - if(!target && !this.attempts) // Try twice - setTimeout(() => this._cardMod(), 100); - this.attempts++; - target = target || this.card; - - for(var k in this._config.style) { - if(cardTools.hasTemplate(this._config.style[k])) - this.templated.push(k); - target.style.setProperty(k, cardTools.parseTemplate(this._config.style[k])); - } - this.target = target; - } - - set hass(hass) { - if(this.card) this.card.hass = hass; - if(this.templated) - this.templated.forEach((k) => { - this.target.style.setProperty(k, cardTools.parseTemplate(this._config.style[k], '')); - }); - } - - getCardSize() { - if(this._config && this._config.report_size) - return this._config.report_size; - if(this.card) - return typeof this.card.getCardSize === "function" ? this.card.getCardSize() : 1; - return 1; - } -} - -customElements.define('card-modder', CardModder); -}); - -window.setTimeout(() => { - if(customElements.get('card-tools')) return; - customElements.define('card-modder', class extends HTMLElement{ - setConfig() { throw new Error("Can't find card-tools. See https://github.com/thomasloven/lovelace-card-tools");} - }); -}, 2000); diff --git a/card-tools.js b/card-tools.js index 9c47acb..bc96e44 100644 --- a/card-tools.js +++ b/card-tools.js @@ -181,6 +181,7 @@ class { } static parseTemplate(text, error) { + if(typeof(text) !== "string") return text; const _parse = (str) => { try { str = str.replace(/^\[\[\s+|\s+\]\]$/g, '')