Fix in preparation for thomasloven/lovelace-card-modder#32 and other... stuff...

This commit is contained in:
Thomas Lovén 2019-04-21 22:04:45 +02:00
parent 4d3408560d
commit 6e58241949

View File

@ -13,10 +13,15 @@ class LayoutCard extends cardTools.LitElement {
this.rtl = config.rtl || false; this.rtl = config.rtl || false;
this.cardSize = 1; this.cardSize = 1;
this.make_cards();
window.addEventListener('resize', () => this.build()); window.addEventListener('resize', () => this.build());
window.addEventListener('hass-open-menu', () => setTimeout(() => this.build(), 100)); window.addEventListener('hass-open-menu', () => setTimeout(() => this.build(), 100));
window.addEventListener('hass-close-menu', () => setTimeout(() => this.build(), 100)); window.addEventListener('hass-close-menu', () => setTimeout(() => this.build(), 100));
window.addEventListener('location-changed', () => setTimeout(() => this.build(), 100)); window.addEventListener('location-changed', () => {
if(location.hash === "") setTimeout(() =>
this.build(), 100)
});
if(config.rebuild) if(config.rebuild)
window.setTimeout(() => this.build(), config.rebuild); window.setTimeout(() => this.build(), config.rebuild);
} }
@ -72,7 +77,7 @@ class LayoutCard extends cardTools.LitElement {
} }
make_cards() { make_cards() {
this.cards = this.config.cards.map((c) => { this._cards = this.config.cards.map((c) => {
if (typeof c === 'string') return c; if (typeof c === 'string') return c;
const card = cardTools.createCard(c); const card = cardTools.createCard(c);
if(this._hass) card.hass = this._hass; if(this._hass) card.hass = this._hass;
@ -97,7 +102,7 @@ class LayoutCard extends cardTools.LitElement {
this.update_columns(); this.update_columns();
if(!this.cards) this.make_cards(); if(!this._cards) this.make_cards();
let cols = []; let cols = [];
let colSize = []; let colSize = [];
@ -118,7 +123,7 @@ class LayoutCard extends cardTools.LitElement {
} }
let i = 0; let i = 0;
this.cards.forEach((c) => { this._cards.forEach((c) => {
const isBreak = (typeof(c) === 'string'); const isBreak = (typeof(c) === 'string');
const sz = c.getCardSize ? c.getCardSize() : 1; const sz = c.getCardSize ? c.getCardSize() : 1;
@ -167,8 +172,8 @@ class LayoutCard extends cardTools.LitElement {
set hass(hass) { set hass(hass) {
this._hass = hass; this._hass = hass;
if(this.cards) if(this._cards)
this.cards this._cards
.filter((c) => typeof(c) !== 'string') .filter((c) => typeof(c) !== 'string')
.forEach((c) => c.hass = hass); .forEach((c) => c.hass = hass);
} }