Address on markers and on graph
public/javascripts/chart_utilities.js
- add address in #addSensorID'
- function 'addAddress' added
public/javascripts/datetime.js
- removed unnecessary comment
public/javascripts/global.js
- refreshrate changed to 5 min
- typo 'autohide' corrected
views/index.pug
- removed text 'only for live ...'
views/layout.pug
- removed superflous links and variables
public/javascripts/maps.js
- added address to marker popup
charts/preparecharts.js
- translate legend texts
public/javascripts/showcharts.js
- dont show selected tab
public/stylesheets/style.sass
- add style for sensornumber on chart
loclae/[de|en]/translation.json
- added translations for legend
charts/utilities.js
- ymax for live set to 120
This commit is contained in:
@@ -162,8 +162,9 @@ export function calcDays(data, isyear) {
|
||||
|
||||
export async function addSensorID2chart(chart, sensor, width) {
|
||||
let indoor = sensor.indoor || false
|
||||
let addr = await addAddress(sensor.sid)
|
||||
let sens = chart.renderer.label(
|
||||
`Sensor: ${sensor.sid} ${indoor ? ' (indoor)' : ''}`,
|
||||
`Sensor: <span class="bigger">${sensor.sid}</span> ${indoor ? ' (indoor)' : ''} ${addr}`,
|
||||
width / 2 - 100, 65,
|
||||
'text', 0, 0, true)
|
||||
.css({
|
||||
@@ -212,4 +213,14 @@ export const fetchfromserver = async (url) => {
|
||||
// return await ret.json()
|
||||
let x = await ret.json()
|
||||
return x
|
||||
}
|
||||
}
|
||||
|
||||
export const addAddress = async (sid) => {
|
||||
let url = `/api/getaddress?sensorid=${sid}`
|
||||
let erg = await fetchfromserver(url)
|
||||
if (!erg.err) {
|
||||
return erg.address
|
||||
} else {
|
||||
return "no address"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,31 +21,6 @@ export const showDate = (sofort, params) => {
|
||||
}
|
||||
}
|
||||
|
||||
/* ToDo:
|
||||
// Alle Minute die ktuelle Urzeit anzeigen und
|
||||
// den Plot für Tages - und Wochendaten updaten.
|
||||
// Alle 'refreshRate' plus 15sec die Grafiken neu zeichnen
|
||||
// Die Funktion wird alle Sekunde aufgerufen !
|
||||
//
|
||||
function showUhrzeit(sofort) {
|
||||
var d = moment() // akt. Zeit holen
|
||||
if (sofort || (d.second() == 0)) { // Wenn Minute grade um
|
||||
$('#h1uhr').html(d.format('HH:mm'));
|
||||
$('#subtitle').html(d.format('YYYY-MM-DD')); // dann zeit anzeigen
|
||||
}
|
||||
if (((d.minute() % refreshRate) == 0) && (d.second() == 15)) { // alle ganzen refreshRate Minuten, 15sec danach
|
||||
console.log(refreshRate, 'Minuten um, Grafik wird erneuert');
|
||||
if ((aktsensorid != 'map') && (doUpdate == true)) { // Wenn nicht die Karte, dann
|
||||
doPlot('oneday',startDay); // Tages- und
|
||||
doPlot('oneweek',startDay); // Wochenplot erneuern
|
||||
}
|
||||
else {
|
||||
fetchAktualData();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
export const formatJSDate = (d) => {
|
||||
return DateTime.fromJSDate(d).toFormat('yyyy-LL-dd HH:mm:ss')
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ import {setCurrentTab, getCurrentTab, showError, fetchfromserver} from "./chart_
|
||||
weeks: 4,
|
||||
datetime: '',
|
||||
seldate: '',
|
||||
refreshRate: 1,
|
||||
refreshRate: 5,
|
||||
sid: -1
|
||||
}
|
||||
|
||||
@@ -81,7 +81,7 @@ import {setCurrentTab, getCurrentTab, showError, fetchfromserver} from "./chart_
|
||||
const elem = document.querySelector('#startday')
|
||||
const datepicker = new Datepicker(elem, {
|
||||
buttonClass: 'btn',
|
||||
autoHide: true,
|
||||
autohide: true,
|
||||
format: 'yyyy-mm-dd',
|
||||
language: lang,
|
||||
maxDate: new Date(),
|
||||
|
||||
+17
-56
@@ -3,7 +3,7 @@
|
||||
import * as dt from './datetime.js'
|
||||
import * as utils from "./chart_utilities.js"
|
||||
import { showChart, loadAll } from './showcharts.js'
|
||||
import {fetchfromserver} from "./chart_utilities.js";
|
||||
import {fetchfromserver, addAddress} from "./chart_utilities.js";
|
||||
|
||||
let map = null
|
||||
let bounds
|
||||
@@ -51,28 +51,6 @@ export async function showMap(params) {
|
||||
|
||||
let lastdate = await buildMarkers(params)
|
||||
showLastDate(lastdate);
|
||||
|
||||
// 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()
|
||||
// })
|
||||
// })
|
||||
}
|
||||
|
||||
|
||||
@@ -208,7 +186,6 @@ export async function buildMarkers(params) {
|
||||
indoor: x.indoor
|
||||
})
|
||||
.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);
|
||||
@@ -246,42 +223,26 @@ 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
|
||||
// }
|
||||
e.target.bindPopup(popuptext).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) {
|
||||
let triggerEl = document.querySelector(`#livetab`)
|
||||
bootstrap.Tab.getInstance(triggerEl).show() // Select tab by name
|
||||
utils.setCurrentTab('livetab')
|
||||
params.center = [e.latlng.lat, e.latlng.lng]
|
||||
map.setView([e.latlng.lat, e.latlng.lng]);
|
||||
ev.preventDefault()
|
||||
await loadAll(params)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 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;
|
||||
|
||||
@@ -63,22 +63,9 @@ 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) {
|
||||
@@ -119,7 +106,6 @@ export const loadAll = async (params, start = 2) => {
|
||||
start++
|
||||
}
|
||||
if (params.sid !== -1) {
|
||||
utils.showTabs()
|
||||
for (let i = start; i < tabtable.length; i++) {
|
||||
let ok = await showChart(params, tabtable[i].type, tabtable[i].container)
|
||||
if (!ok) {
|
||||
|
||||
Reference in New Issue
Block a user