diff --git a/public/javascripts/chart_utilities.js b/public/javascripts/chart_utilities.js
index 4b5d4c2..7b26ee3 100644
--- a/public/javascripts/chart_utilities.js
+++ b/public/javascripts/chart_utilities.js
@@ -209,5 +209,7 @@ export const fetchfromserver = async (url) => {
.catch(e => {
showError(e)
});
- return await ret.json()
+// return await ret.json()
+ let x = await ret.json()
+ return x
}
\ No newline at end of file
diff --git a/public/javascripts/datetime.js b/public/javascripts/datetime.js
index aa99aa8..07a7f3b 100644
--- a/public/javascripts/datetime.js
+++ b/public/javascripts/datetime.js
@@ -15,10 +15,9 @@ export const showDate = (sofort, params) => {
let start = 1
console.log(params.refreshRate, 'Minuten um, Grafik wird erneuert');
let ct = getCurrentTab()
- if (ct === 'maptab') {
- start = 0
+ if (ct !== 'maptab') {
+ loadAll(params, start)
}
- loadAll(params, start)
}
}
diff --git a/public/javascripts/global.js b/public/javascripts/global.js
index 099d628..8282c74 100644
--- a/public/javascripts/global.js
+++ b/public/javascripts/global.js
@@ -126,7 +126,6 @@ import {setCurrentTab, getCurrentTab, showError, fetchfromserver} from "./chart_
// if called with a sensor-ID, show the live chart for this sensor
async function main() {
setNoUTC() // no UTC for HighCharts
- console.log(Intl.DateTimeFormat().resolvedOptions().timeZone)
// set correct language
const currentLang = localStorage.getItem('curlang')
if(currentLang === 'en') {
@@ -167,8 +166,6 @@ import {setCurrentTab, getCurrentTab, showError, fetchfromserver} from "./chart_
showError('Sensor ID ' + csid + ' is not of type noise')
return
}
- let triggerEl = document.querySelector('#livetab')
- bootstrap.Tab.getInstance(triggerEl).show() // Select tab by name
params.sid = csid
let ok = await showChart(params, 'live', 'dlive')
setCurrentTab('livetab')
diff --git a/public/javascripts/map.js b/public/javascripts/map.js
index 985a7b3..97a408a 100644
--- a/public/javascripts/map.js
+++ b/public/javascripts/map.js
@@ -52,25 +52,27 @@ export async function showMap(params) {
let lastdate = await buildMarkers(params)
showLastDate(lastdate);
- map.on('popupopen', function () {
- document.querySelector('.speciallink').addEventListener('click', async function (x) {
- console.log(`Event clicked: ${clickedSensor}`)
- utils.showTabs()
- document.querySelector('#odth').style.display = 'none'
- document.querySelector('#nbday').style.display = 'inline'
- params.sid = clickedSensor
- let triggerEl = document.querySelector('#livetab')
- bootstrap.Tab.getInstance(triggerEl).show() // Select tab by name
- localStorage.setItem('activeTab', 'livetab')
- utils.setCurrentTab('livetab')
- let ok = await showChart(params, 'live', 'dlive')
- if (ok) {
- await loadAll(params)
- }
- params.center = [clickedcoords.lat, clickedcoords.lng]
- map.setView([clickedcoords.lat, clickedcoords.lng]);
- })
- })
+ // map.on('popupopen', function () {
+ // let link = document.querySelector('.speciallink')
+ // link.addEventListener('click', async function (ev) {
+ // console.log(`Event clicked: ${clickedSensor}`)
+ // utils.showTabs()
+ // document.querySelector('#odth').style.display = 'none'
+ // document.querySelector('#nbday').style.display = 'inline'
+ // params.sid = clickedSensor
+ // let triggerEl = document.querySelector('#livetab')
+ // bootstrap.Tab.getInstance(triggerEl).show() // Select tab by name
+ // localStorage.setItem('activeTab', 'livetab')
+ // utils.setCurrentTab('livetab')
+ // let ok = await showChart(params, 'live', 'dlive')
+ // if (ok) {
+ // await loadAll(params)
+ // }
+ // params.center = [clickedcoords.lat, clickedcoords.lng]
+ // map.setView([clickedcoords.lat, clickedcoords.lng]);
+ // ev.preventDefault()
+ // })
+ // })
}
@@ -205,8 +207,8 @@ export async function buildMarkers(params) {
lastseen: dt.formatISODate(x.lastseen),
indoor: x.indoor
})
- .on('click', e => onMarkerClick(e, true, sensors.popuptxt)) // define click- and
- .bindPopup(popuptext); // and bint the popup text
+ .on('click', e => onMarkerClick(e, true, sensors.popuptxt, params)) // define click- and
+ .bindPopup(popuptext); // and bind the popup text
markers.addLayer(marker);
}
map.addLayer(markers);
@@ -216,40 +218,70 @@ export async function buildMarkers(params) {
}
}
-
- async function onMarkerClick(e, click, txts) {
- let item = e.target.options;
- clickedSensor = item.name;
- clickedcoords = e.latlng
-
+async function bauPopupText(item, txts) {
+ let addr = await addAddress(item.name)
let offlinetext = `
| ${txts.offline} |
| ${txts.lastseen}: | ${item.lastseen} |
`
+
let normaltext = `
|
| LA_max: | ${item.value} |
`
let popuptext = `
-
${txts.sensor}: ${item.name}
-
-
- | ${item.indoor==1 ? "indoor" : ""} |
- ${item.value < 0 ? offlinetext : normaltext}
-
-
+
${txts.sensor}: ${item.name}
+
${addr}
+
+
+ | ${item.indoor==1 ? "indoor" : ""} |
+ ${item.value < 0 ? offlinetext : normaltext}
+
+
+
`
- let popup = e.target.getPopup();
- popup.setContent(popuptext); // set text into popup
- e.target.openPopup(); // show the popup
- if (click == true) { // if we clicked
- e.target.closePopup(); // show the popup
- }
-
+return popuptext
}
+async function onMarkerClick(e, click, txts, params) {
+ let item = e.target.options;
+ let popup = e.target.getPopup();
+ let popuptext = await bauPopupText(item, txts)
+ popup.setContent(popuptext); // set text into popup
+ e.target.openPopup(); // show the popup
+
+
+ let link = document.querySelector('.speciallink')
+ link.addEventListener('click', async function (ev) {
+ console.log(`Event clicked: ${clickedSensor}`)
+ params.sid = item.name
+ let ok = await showChart(params, 'live', 'dlive')
+ if (ok) {
+ params.center = [clickedcoords.lat, clickedcoords.lng]
+ map.setView([clickedcoords.lat, clickedcoords.lng]);
+ ev.preventDefault()
+ await loadAll(params)
+ }
+ })
+
+
+
+// if (click == true) { // if we clicked
+// e.target.closePopup(); // show the popup
+// }
+}
+
+// add address to PopUp
+async function addAddress(sid) {
+ let url = `/api/getaddress?sensorid=${sid}`
+ let erg = await fetchfromserver(url)
+ if (!erg.err) {
+ return erg.address
+ } else {
+ return "no address"
+ }
+}
/*
async function getCoords(city) {
let url = NOMINATIM_URL + city;
diff --git a/public/javascripts/showcharts.js b/public/javascripts/showcharts.js
index f6bb78a..15a63fb 100644
--- a/public/javascripts/showcharts.js
+++ b/public/javascripts/showcharts.js
@@ -63,6 +63,22 @@ export async function showChart(params, typ, container) {
}
let erg = await fetchfromserver(url)
if (!erg.err) {
+ let tabt = ""
+ for (let x of tabtable) {
+ if(x.type === typ) {
+ tabt = x.id
+ break
+ }
+ }
+ utils.showTabs()
+ document.querySelector('#odth').style.display = 'none'
+ document.querySelector('#nbday').style.display = 'inline'
+ let triggerEl = document.querySelector(`#${tabt}`)
+ bootstrap.Tab.getInstance(triggerEl).show() // Select tab by name
+ localStorage.setItem('activeTab', tabt)
+ utils.setCurrentTab(tabt)
+
+
erg.options.xAxis.labels.formatter = xformat
erg.options.tooltip.formatter = form
let chart = Highcharts.chart(container, erg.options, function (chart) {
diff --git a/public/stylesheets/style.css b/public/stylesheets/style.css
index 12cf669..2e69399 100644
--- a/public/stylesheets/style.css
+++ b/public/stylesheets/style.css
@@ -255,4 +255,9 @@ footer #author #versn {
text-align: center;
}
+.addr {
+ font-weight: bold;
+ margin-bottom: 10px;
+}
+
/*# sourceMappingURL=style.css.map */
diff --git a/public/stylesheets/style.css.map b/public/stylesheets/style.css.map
index 3d6deb5..c4c6c5c 100644
--- a/public/stylesheets/style.css.map
+++ b/public/stylesheets/style.css.map
@@ -1 +1 @@
-{"version":3,"sourceRoot":"","sources":["style.sass"],"names":[],"mappings":"AAYA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAEF;EACE;EACA;EACA;EAEA;EACA;EACA;;;AAEF;EACE;;;AAEF;EACE,kBA9BoB;;AAgCpB;EACE;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;;AAEF;EACE;EACA;;;AAEJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAEF;EACE;EACA;;AACA;EACE;;;AAEN;EACE;EAEA;EACA;EACA,eA5Ec;EA6Ed;EACA;EACA;;AAEA;EACE;EACA;EACA;;AACF;EACE;EACA;;;AAEJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;AACF;EACE;EACA;;;AAEJ;EACE,kBAhGoB;;AAkGpB;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAEF;EACE;;;AAGN;EACE;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;;;AAEF;EACE;;;AAEF;EACE;EACA;;;AAEF;EACE;;;AAEF;EACE;EACA;EACA;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;;;AAEF;EACE;EACA;;;AAGF;EAEE;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;EACA;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;EACA;;;AAEF;EACE;;;AAEF;EACE;EACA;EACA;EACA;EACA;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;IACE;;;AAEJ;EACE,kBAnNa;EAoNb;;;AAEF;EACE,OAvNa;EAwNb;;;AAGF;EACE;;;AAKF;EACE;EACA;EACA;EACA","file":"style.css"}
\ No newline at end of file
+{"version":3,"sourceRoot":"","sources":["style.sass"],"names":[],"mappings":"AAYA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAEF;EACE;EACA;EACA;EAEA;EACA;EACA;;;AAEF;EACE;;;AAEF;EACE,kBA9BoB;;AAgCpB;EACE;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;;AAEF;EACE;EACA;;;AAEJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAEF;EACE;EACA;;AACA;EACE;;;AAEN;EACE;EAEA;EACA;EACA,eA5Ec;EA6Ed;EACA;EACA;;AAEA;EACE;EACA;EACA;;AACF;EACE;EACA;;;AAEJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;AACF;EACE;EACA;;;AAEJ;EACE,kBAhGoB;;AAkGpB;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAEF;EACE;;;AAGN;EACE;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;;;AAEF;EACE;;;AAEF;EACE;EACA;;;AAEF;EACE;;;AAEF;EACE;EACA;EACA;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;EACE;;;AAEF;EACE;EACA;;;AAGF;EAEE;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;EACA;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;EACA;;;AAEF;EACE;;;AAEF;EACE;EACA;EACA;EACA;EACA;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;IACE;;;AAEJ;EACE,kBAnNa;EAoNb;;;AAEF;EACE,OAvNa;EAwNb;;;AAGF;EACE;;;AAKF;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA","file":"style.css"}
\ No newline at end of file
diff --git a/public/stylesheets/style.sass b/public/stylesheets/style.sass
index 4128ac3..5528605 100644
--- a/public/stylesheets/style.sass
+++ b/public/stylesheets/style.sass
@@ -239,3 +239,6 @@ footer
justify-content: center
text-align: center
+.addr
+ font-weight: bold
+ margin-bottom: 10px
\ No newline at end of file
diff --git a/routes/api.js b/routes/api.js
index 039eaec..413dbab 100644
--- a/routes/api.js
+++ b/routes/api.js
@@ -34,7 +34,7 @@ router.get('/:cmd', async function(req, res, next) {
res.json(response.data)
return
}
- if (cmd === 'getoneproperty') {
+ if ((cmd === 'getoneproperty') || (cmd === 'getaddress')) {
res.json(response.data)
return
}