MMM-HomeAssistant-Touch/UIClasses/Base.js

43 lines
988 B
JavaScript

class Base {
constructor(id, mm, name = "") {
this.id = id;
this.type = id.split(".")[0];
if (name == "")
this.name = id;
else
this.name = name;
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);
if (container) {
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);
}
}
}