diff --git a/Webserver/Templates/dashboard/dashboard.html b/Webserver/Templates/dashboard/dashboard.html index 8047d81..6f3cfbc 100644 --- a/Webserver/Templates/dashboard/dashboard.html +++ b/Webserver/Templates/dashboard/dashboard.html @@ -26,6 +26,16 @@ + + + @@ -78,42 +88,5 @@ - {% include "footer.html" %} \ No newline at end of file diff --git a/Webserver/Templates/footer.html b/Webserver/Templates/footer.html index 149a04d..11ba61e 100644 --- a/Webserver/Templates/footer.html +++ b/Webserver/Templates/footer.html @@ -10,6 +10,6 @@ \ No newline at end of file diff --git a/Webserver/Templates/header.html b/Webserver/Templates/header.html index 5af1b2b..20ded42 100644 --- a/Webserver/Templates/header.html +++ b/Webserver/Templates/header.html @@ -5,60 +5,25 @@ - + + + function executeAction(command, index, value, handleResponse) { + var url = '{{url_for("executeAction")}}'; + var messageString = 'no'; + var varString = 'command=' + command + '&index=' + index + '&value=' + value; + send_web_request(url, messageString, varString, handleResponse); + } + function executeActionByValueID(command, index, valueID, valueFactor){ + var value = document.getElementById(valueID).value * valueFactor; + executeAction(command, index, value); + } + + @@ -84,8 +49,6 @@ - - diff --git a/Webserver/static/js/action.js b/Webserver/static/js/action.js index 8b13789..cea92f2 100644 --- a/Webserver/static/js/action.js +++ b/Webserver/static/js/action.js @@ -1 +1,32 @@ +function switchZoneMode(autoMode, zone) { + executeAction('switch_zone_mode' ,zone, (autoMode ? 'automatic' : 'manual')); + sleep(1000).then(() => { + refreshContent(); + }); + +} +function switchZoneState(command, zone, value) { + executeAction(command, zone, value); + sleep(1000).then(() => { + refreshContent(); + }); +} +function switchZoneStateByValueID(command, zone, valueID, valueFactor) { + executeActionByValueID(command, zone, valueID, valueFactor); + sleep(1000).then(() => { + refreshContent(); + }); +} +function deleteJobsForZone(command, zone) { + executeAction(command, zone); + sleep(1000).then(() => { + refreshContent(); + }); +} +function deleteJobById(command, jobId) { + executeAction(command, jobId); + sleep(1000).then(() => { + refreshContent(); + }); +} \ No newline at end of file diff --git a/Webserver/static/js/dashboard.js b/Webserver/static/js/dashboard.js new file mode 100644 index 0000000..5e79593 --- /dev/null +++ b/Webserver/static/js/dashboard.js @@ -0,0 +1,27 @@ +function refreshZone(zone_json) { + const zone = JSON.parse(zone_json); + document.getElementById("name_zone_" + zone.number).innerHTML = zone.name; + document.getElementById("inner_icon_state_zone_" + zone.number).className = 'inner_icon ' + (zone.state ? 'dot_green' : 'dot_red'); + document.getElementById("state_text_zone_" + zone.number).innerHTML = zone.state_text; + document.getElementById("end_time_row_zone_" + zone.number).style.display = ((zone.setState == 1 || zone.setState == 2) ? 'table-row' : 'none'); + document.getElementById("end_time_zone_" + zone.number).innerHTML = zone.endTimeSetState; + document.getElementById("planed_duration_row_zone_" + zone.number).style.display = ((zone.planedDuration > 0) ? 'table-row' : 'none'); + document.getElementById("planed_duration_zone" + zone.number).innerHTML = zone.planedDuration/60; + document.getElementById("inner_icon_mode_zone_" + zone.number).innerHTML = zone.autoMode ? 'A' : 'M'; + document.getElementById("slider_state_zone_" + zone.number).checked = zone.autoMode ? true : false; + document.getElementById("mode_text_zone_" + zone.number).innerHTML = zone.operationMode_text; + document.getElementById("inner_icon_humidity_zone_" + zone.number).className = 'inner_icon ' + ((zone.actualHumidity >= zone.desiredHumidity) ? 'dot_green' : 'dot_red'); + document.getElementById("acutal_humidity_zone_" + zone.number).innerHTML = zone.actualHumidity; + document.getElementById("desired_humidity_zone_" + zone.number).innerHTML = zone.desiredHumidity; +} + +function buttonDeleteJobById(jobId) { + deleteJobById('delete_job_by_id',jobId); + var jobToDelete = document.getElementById("job_" + jobId); + document.getElementById("jobListBody").removeChild(jobToDelete); +} + +function refreshPipeline(pipeline_html) { + document.getElementById("jobListBody").innerHTML = pipeline_html; +} +