mirror of
https://github.com/Laxilef/OTGateway.git
synced 2026-05-20 08:18:15 +05:00
refactor: improved dashboard & restore settings
This commit is contained in:
@@ -351,9 +351,14 @@
|
|||||||
value = -(step);
|
value = -(step);
|
||||||
}
|
}
|
||||||
|
|
||||||
newSettings[purpose].target = parseFloat(constrain(newSettings[purpose].target + value, minTemp, maxTemp).toFixed(2));
|
const newValue = parseFloat(constrain(newSettings[purpose].target + value, minTemp, maxTemp).toFixed(2));
|
||||||
modifiedTime = Date.now();
|
if (newSettings[purpose].target != newValue) {
|
||||||
setValue('.targetTemp', newSettings[purpose].target, tContainer);
|
newSettings[purpose].target = newValue;
|
||||||
|
modifiedTime = Date.now();
|
||||||
|
|
||||||
|
setValue('.targetTemp', newValue, tContainer);
|
||||||
|
tContainer.querySelector('.thermostat-header').setAttribute("aria-busy", "true");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -383,27 +388,46 @@
|
|||||||
value = -(bigStep);
|
value = -(bigStep);
|
||||||
}
|
}
|
||||||
|
|
||||||
newSettings[purpose].target = parseFloat(constrain(newSettings[purpose].target + value, minTemp, maxTemp).toFixed(2));
|
const newValue = parseFloat(constrain(newSettings[purpose].target + value, minTemp, maxTemp).toFixed(2));
|
||||||
modifiedTime = Date.now();
|
if (newSettings[purpose].target != newValue) {
|
||||||
|
newSettings[purpose].target = newValue;
|
||||||
|
modifiedTime = Date.now();
|
||||||
|
|
||||||
setValue('.targetTemp', newSettings[purpose].target, tContainer);
|
setValue('.targetTemp', newSettings[purpose].target, tContainer);
|
||||||
|
tContainer.querySelector('.thermostat-header').setAttribute("aria-busy", "true");
|
||||||
|
}
|
||||||
}, 500);
|
}, 500);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
document.querySelector('#tHeatEnabled').addEventListener('change', (event) => {
|
document.querySelector('#tHeatEnabled').addEventListener('change', (event) => {
|
||||||
|
if (newSettings.heating.enabled == event.currentTarget.checked) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
modifiedTime = Date.now();
|
modifiedTime = Date.now();
|
||||||
newSettings.heating.enabled = event.currentTarget.checked;
|
newSettings.heating.enabled = event.currentTarget.checked;
|
||||||
|
document.querySelector('.tHeat .thermostat-header').setAttribute("aria-busy", "true");
|
||||||
});
|
});
|
||||||
|
|
||||||
document.querySelector('#tHeatTurbo').addEventListener('change', (event) => {
|
document.querySelector('#tHeatTurbo').addEventListener('change', (event) => {
|
||||||
|
if (newSettings.heating.turbo == event.currentTarget.checked) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
modifiedTime = Date.now();
|
modifiedTime = Date.now();
|
||||||
newSettings.heating.turbo = event.currentTarget.checked;
|
newSettings.heating.turbo = event.currentTarget.checked;
|
||||||
|
document.querySelector('.tHeat .thermostat-header').setAttribute("aria-busy", "true");
|
||||||
});
|
});
|
||||||
|
|
||||||
document.querySelector('#tDhwEnabled').addEventListener('change', (event) => {
|
document.querySelector('#tDhwEnabled').addEventListener('change', (event) => {
|
||||||
|
if (newSettings.dhw.enabled == event.currentTarget.checked) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
modifiedTime = Date.now();
|
modifiedTime = Date.now();
|
||||||
newSettings.dhw.enabled = event.currentTarget.checked;
|
newSettings.dhw.enabled = event.currentTarget.checked;
|
||||||
|
document.querySelector('.tDhw .thermostat-header').setAttribute("aria-busy", "true");
|
||||||
});
|
});
|
||||||
|
|
||||||
document.querySelector('.notify-fault .reset').addEventListener('click', async (event) => {
|
document.querySelector('.notify-fault .reset').addEventListener('click', async (event) => {
|
||||||
@@ -531,6 +555,10 @@
|
|||||||
setValue('.pressureUnit', pressureUnit(unitSystem));
|
setValue('.pressureUnit', pressureUnit(unitSystem));
|
||||||
setValue('.volumeUnit', volumeUnit(unitSystem));
|
setValue('.volumeUnit', volumeUnit(unitSystem));
|
||||||
|
|
||||||
|
document.querySelectorAll('.thermostat-header').forEach((item) => {
|
||||||
|
item.setAttribute("aria-busy", "false");
|
||||||
|
});
|
||||||
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log(error);
|
console.log(error);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -318,7 +318,7 @@ const setupRestoreBackupForm = (formSelector) => {
|
|||||||
console.log("Backup: ", data);
|
console.log("Backup: ", data);
|
||||||
|
|
||||||
if (data.settings != undefined) {
|
if (data.settings != undefined) {
|
||||||
for (var key in data.settings) {
|
for (const key in data.settings) {
|
||||||
let response = await fetch(url, {
|
let response = await fetch(url, {
|
||||||
method: "POST",
|
method: "POST",
|
||||||
cache: "no-cache",
|
cache: "no-cache",
|
||||||
@@ -338,6 +338,41 @@ const setupRestoreBackupForm = (formSelector) => {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let finalPayload = {};
|
||||||
|
if (data.settings.emergency?.target !== undefined) {
|
||||||
|
finalPayload.emergency ??= {};
|
||||||
|
finalPayload.emergency.target = data.settings.emergency.target;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (data.settings.heating?.target !== undefined) {
|
||||||
|
finalPayload.heating ??= {};
|
||||||
|
finalPayload.heating.target = data.settings.heating.target;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (data.settings.dhw?.target !== undefined) {
|
||||||
|
finalPayload.dhw ??= {};
|
||||||
|
finalPayload.dhw.target = data.settings.dhw.target;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Object.keys(finalPayload).length) {
|
||||||
|
let response = await fetch(url, {
|
||||||
|
method: "POST",
|
||||||
|
cache: "no-cache",
|
||||||
|
credentials: "include",
|
||||||
|
headers: {
|
||||||
|
"Content-Type": "application/json"
|
||||||
|
},
|
||||||
|
body: JSON.stringify({
|
||||||
|
"settings": finalPayload
|
||||||
|
})
|
||||||
|
});
|
||||||
|
|
||||||
|
if (!response.ok) {
|
||||||
|
onFailed();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (data.sensors != undefined) {
|
if (data.sensors != undefined) {
|
||||||
|
|||||||
Reference in New Issue
Block a user