Add mediaquery selector

This commit is contained in:
2019-12-10 21:38:12 +01:00
parent ac934da820
commit 3d88f953d3
3 changed files with 40 additions and 2 deletions

View File

@@ -25,6 +25,12 @@ class StateSwitch extends LitElement {
if(config.entity === 'hash') {
window.addEventListener("location-changed", () => this.updated(new Map()));
}
if(config.entity === 'mediaquery') {
for(const q in this.cards) {
console.log("Register " + q);
window.matchMedia(q).addEventListener("change", this.update_state.bind(this));
}
}
}
update_state() {
@@ -42,6 +48,17 @@ class StateSwitch extends LitElement {
case "hash":
newstate = location.hash.substr(1);
break;
case "mediaquery":
for(const q in this.cards) {
console.log("Check " + q);
console.log(window.matchMedia(q));
if(window.matchMedia(q).matches) {
newstate = q;
console.log(newstate);
break;
}
}
break;
default:
newstate = this.hass.states[this._config.entity];
newstate = newstate ? newstate.state : undefined;