1
0
mirror of https://github.com/beestat/app.git synced 2025-05-24 02:14:03 -04:00
beestat/js/component/modal/change_thermostat.js
2023-11-15 06:48:13 -05:00

66 lines
2.0 KiB
JavaScript

/**
* Change thermostat
*/
beestat.component.modal.change_thermostat = function() {
beestat.component.modal.apply(this, arguments);
};
beestat.extend(beestat.component.modal.change_thermostat, beestat.component.modal);
/**
* Decorate
*
* @param {rocket.Elements} parent
*/
beestat.component.modal.change_thermostat.prototype.decorate_contents_ = function(parent) {
const p = document.createElement('p');
p.innerText = 'You have multiple thermostats; which one would you like to view?';
parent.appendChild(p);
const grid = document.createElement('div');
grid.style.display = 'grid';
grid.style.gridTemplateColumns = 'repeat(auto-fit, minmax(150px, 1fr))';
grid.style.columnGap = beestat.style.size.gutter + 'px';
grid.style.rowGap = beestat.style.size.gutter + 'px';
parent.appendChild(grid);
var sorted_thermostats = $.values(beestat.cache.thermostat)
.sort(function(a, b) {
return a.name > b.name;
});
let div;
sorted_thermostats.forEach(function(thermostat) {
div = document.createElement('div');
grid.appendChild(div);
const tile = new beestat.component.tile.thermostat(thermostat.thermostat_id)
.set_size('large')
.set_text_color('#fff')
.set_display('block');
if (thermostat.thermostat_id === beestat.setting('thermostat_id')) {
tile.set_background_color(beestat.style.color.lightblue.base);
} else {
tile
.set_background_color(beestat.style.color.bluegray.base)
.set_background_hover_color(beestat.style.color.lightblue.base)
.addEventListener('click', function() {
beestat.setting('thermostat_id', thermostat.thermostat_id, function() {
window.location.reload();
});
});
}
tile.render($(div));
});
};
/**
* Get title.
*
* @return {string} Title.
*/
beestat.component.modal.change_thermostat.prototype.get_title_ = function() {
return 'Change Thermostat';
};