Fotobot
Get data from your photovoltaic plant
mainpagecontroller.cpp
Go to the documentation of this file.
1 
7 #include "mainpagecontroller.h"
8 #include "version.h"
9 #include <QVariant>
10 #include <QDateTime>
11 
13  m_needs_access_data = true;
14  m_needs_change_settings = false;
15  m_javascript.append("var updateInterval = 1000;\n"
16  "var xhring = 0;\n"
17  "function getJSON(callback, url) {\n"
18  " var http_request = new XMLHttpRequest();\n"
19  " http_request.open('GET', url, true);\n"
20  " http_request.onreadystatechange = function () {\n"
21  " var done = 4, ok = 200;\n"
22  " if (http_request.readyState == done) { xhring = 0;\n"
23  " if (http_request.status == ok) {\n"
24  " callback(JSON.parse(http_request.responseText));\n"
25  " } } };\n"
26  " http_request.send(null);\n"
27  " xhring = 1;\n"
28  "};\n"
29  "function myCall(data) {\n"
30  " var t = document.getElementById('statusTable');\n"
31  " for(var i=t.rows.length; i>0; i--) {\n"
32  " t.deleteRow(0);\n"
33  " }\n"
34  " for(var i=0; i<data.status.length; i++) {\n"
35  " var oRow = t.insertRow(-1);\n"
36  " for(j in data.status[i]) {\n"
37  " var x = oRow.insertCell(-1);\n"
38  " x.innerHTML = data.status[i][j];"
39  "} } };\n"
40  "setInterval(function() { if(!xhring) {\n"
41  " getJSON(myCall, '/status');\n"
42  " } }, updateInterval);\n");
43 }
44 
45 void MainPageController::servicePrivate(HttpRequest& request) {
46  Q_UNUSED(request);
47  // Status
48  write(QString("<h2>%1</h2>\n").arg(tr("Status")));
49  write("<table class=\"status\">\n");
50  write(QString(
51  "<thead><tr><th>%1</th><th>%2</th><th>%3</th><th>%4</th><th>%5</th><th>%6</th><th>%7</th><th>%8</th></tr></thead>"
52  "<tbody id=\"statusTable\">\n")
53  .arg(tr("Line"),
54  tr("Line Description"),
55  tr("Address"),
56  tr("Retries"),
57  tr("Command"),
58  tr("Working"),
59  tr("Number"),
60  tr("Status"))
61  );
62  write("</tbody></table>\n");
63 
64  about();
65 }
void servicePrivate(HttpRequest &request)