mirror of
https://github.com/beestat/app.git
synced 2025-05-24 02:14:03 -04:00
66 lines
2.0 KiB
JavaScript
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';
|
|
};
|