MMM-HomeAssistant-Touch/UIClasses/Base.js
2021-04-04 19:38:03 +02:00

37 lines
1016 B
JavaScript

class Base {
constructor(id, mm) {
this.id = id;
this.type = id.split('.')[0]
this.name = id;
this.mm = mm;
}
updateState(state) {
this.name = (state.attributes || {}).friendly_name || this.id;
this.state = state.state;
this.render();
}
getContainer() {
const entity = document.createElement("div");
entity.classList.add("ha-entity");
entity.classList.add(`ha-${this.type}`)
entity.id = this.id;
entity.innerHTML = "Loading...";
return entity;
}
render() {
const container = document.getElementById(this.id);
container.className = ""
container.classList.add("ha-entity");
container.classList.add(`ha-${this.type}`)
const title = document.createElement("span");
title.className = "title";
title.innerHTML = this.name;
container.innerHTML = "";
container.appendChild(title);
}
}