Using and showing always local time
routes/api.js
- console.log deleted
public/javascripts/global.js
- made 'params' to const
- added setNoUTC in main
public/javascripts/showcharts.js
- added setNiUTC to set global at highcharts
package.json
- added luxon
"version": "3.0.4",
"date": "2023-04-24 18:00 UTC",
This commit is contained in:
Generated
+43
-41
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "laerm-web-sensorapi",
|
||||
"version": "3.0.0",
|
||||
"version": "3.0.3",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "laerm-web-sensorapi",
|
||||
"version": "3.0.0",
|
||||
"version": "3.0.3",
|
||||
"dependencies": {
|
||||
"axios": "^1.3.4",
|
||||
"cookie-parser": "~1.4.4",
|
||||
@@ -17,7 +17,8 @@
|
||||
"i18next": "^22.4.14",
|
||||
"i18next-express-middleware": "^2.0.0",
|
||||
"i18next-http-middleware": "^3.3.0",
|
||||
"i18next-node-fs-backend": "^1.2.1",
|
||||
"i18next-node-fs-backend": "^2.1.3",
|
||||
"luxon": "^3.3.0",
|
||||
"morgan": "~1.9.1",
|
||||
"pug": "^3.0.2",
|
||||
"sass": "^1.58.3"
|
||||
@@ -320,18 +321,6 @@
|
||||
"fsevents": "~2.3.2"
|
||||
}
|
||||
},
|
||||
"node_modules/coffeescript": {
|
||||
"version": "1.12.7",
|
||||
"resolved": "https://registry.npmjs.org/coffeescript/-/coffeescript-1.12.7.tgz",
|
||||
"integrity": "sha512-pLXHFxQMPklVoEekowk8b3erNynC+DVJzChxS/LCBBgR6/8AJkHivkm//zbowcfc7BTCAjryuhx6gPqPRfsFoA==",
|
||||
"bin": {
|
||||
"cake": "bin/cake",
|
||||
"coffee": "bin/coffee"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.8.0"
|
||||
}
|
||||
},
|
||||
"node_modules/combined-stream": {
|
||||
"version": "1.0.8",
|
||||
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
|
||||
@@ -439,14 +428,6 @@
|
||||
"node": ">= 0.10"
|
||||
}
|
||||
},
|
||||
"node_modules/cson-parser": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/cson-parser/-/cson-parser-3.0.0.tgz",
|
||||
"integrity": "sha512-khmLtNmwe6SSlWz5vrhay9yWd/Fwwyiel+vt+1vIcCT9AsdqNuLXuK9tYhhAw1FdSSHjLc56PW8xa565/x73XQ==",
|
||||
"dependencies": {
|
||||
"coffeescript": "^1.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/debug": {
|
||||
"version": "2.6.9",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
|
||||
@@ -504,15 +485,15 @@
|
||||
"integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
|
||||
},
|
||||
"node_modules/esprima": {
|
||||
"version": "2.7.3",
|
||||
"resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
|
||||
"integrity": "sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A==",
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
|
||||
"integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
|
||||
"bin": {
|
||||
"esparse": "bin/esparse.js",
|
||||
"esvalidate": "bin/esvalidate.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
"node": ">=4"
|
||||
}
|
||||
},
|
||||
"node_modules/etag": {
|
||||
@@ -867,14 +848,13 @@
|
||||
"integrity": "sha512-WX6uqxNwXccdNm/md5VJ+Q47DF2gjqLvygvgNzb2tCJWPM86FCi2LIvKco70EttlpV9IkfkCVNVF07/56EsSEw=="
|
||||
},
|
||||
"node_modules/i18next-node-fs-backend": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/i18next-node-fs-backend/-/i18next-node-fs-backend-1.2.1.tgz",
|
||||
"integrity": "sha512-lMd/tWsdgDFb158FwXHff63WZpTXggO3j8YOFEko+EvzRPzoIWkvfqdU5Oogn/p4nYfOMnCeEns29ksPF6rZBQ==",
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/i18next-node-fs-backend/-/i18next-node-fs-backend-2.1.3.tgz",
|
||||
"integrity": "sha512-CreMFiVl3ChlMc5ys/e0QfuLFOZyFcL40Jj6jaKD6DxZ/GCUMxPI9BpU43QMWUgC7r+PClpxg2cGXAl0CjG04g==",
|
||||
"deprecated": "replaced by i18next-fs-backend",
|
||||
"dependencies": {
|
||||
"cson-parser": "3.0.0",
|
||||
"js-yaml": "3.5.4",
|
||||
"json5": "0.5.0"
|
||||
"js-yaml": "3.13.1",
|
||||
"json5": "2.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/iconv-lite": {
|
||||
@@ -990,23 +970,29 @@
|
||||
"integrity": "sha512-rtS5ATOo2Q5k1G+DADISilDA6lv79zIiwFd6CcjuIxGKLFm5C+RLImRscVap9k55i+MOZwgliw+NejvkLuGD5g=="
|
||||
},
|
||||
"node_modules/js-yaml": {
|
||||
"version": "3.5.4",
|
||||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.5.4.tgz",
|
||||
"integrity": "sha512-XBGnYi4i/XkEeSclkcRmBKOR9t7SLViumIhaIqwHSkO7FU0F3xW/sqAQ1/y+AcYX2EcnwdKFY1nXWzjJHqBRoA==",
|
||||
"version": "3.13.1",
|
||||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
|
||||
"integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
|
||||
"dependencies": {
|
||||
"argparse": "^1.0.2",
|
||||
"esprima": "^2.6.0"
|
||||
"argparse": "^1.0.7",
|
||||
"esprima": "^4.0.0"
|
||||
},
|
||||
"bin": {
|
||||
"js-yaml": "bin/js-yaml.js"
|
||||
}
|
||||
},
|
||||
"node_modules/json5": {
|
||||
"version": "0.5.0",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-0.5.0.tgz",
|
||||
"integrity": "sha512-WDgahySBucTVnQuzQHoVh6BKKg3TFBUExSwYOPwA4it9xtspn3erHYkdEx1AXXkHN38L7O6v6lmqLiXh/GnxhA==",
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-2.0.0.tgz",
|
||||
"integrity": "sha512-0EdQvHuLm7yJ7lyG5dp7Q3X2ku++BG5ZHaJ5FTnaXpKqDrw4pMxel5Bt3oAYMthnrthFBdnZ1FcsXTPyrQlV0w==",
|
||||
"dependencies": {
|
||||
"minimist": "^1.2.0"
|
||||
},
|
||||
"bin": {
|
||||
"json5": "lib/cli.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/jstransformer": {
|
||||
@@ -1026,6 +1012,14 @@
|
||||
"node": ">= 0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/luxon": {
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/luxon/-/luxon-3.3.0.tgz",
|
||||
"integrity": "sha512-An0UCfG/rSiqtAIiBPO0Y9/zAnHUZxAMiCpTd5h2smgsj7GGmcenvrvww2cqNA8/4A5ZrD1gJpHN2mIHZQF+Mg==",
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/media-typer": {
|
||||
"version": "0.3.0",
|
||||
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
|
||||
@@ -1077,6 +1071,14 @@
|
||||
"node": ">= 0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/minimist": {
|
||||
"version": "1.2.8",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
|
||||
"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/morgan": {
|
||||
"version": "1.9.1",
|
||||
"resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz",
|
||||
|
||||
+4
-3
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "laerm-web-sensorapi",
|
||||
"version": "3.0.3",
|
||||
"date": "2023-04-21 14:00 UTC",
|
||||
"version": "3.0.4",
|
||||
"date": "2023-04-24 18:00 UTC",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"start": "node bin/www.js >>log/laerm_web.log 2>&1"
|
||||
@@ -20,7 +20,8 @@
|
||||
"i18next": "^22.4.14",
|
||||
"i18next-express-middleware": "^2.0.0",
|
||||
"i18next-http-middleware": "^3.3.0",
|
||||
"i18next-node-fs-backend": "^1.2.1",
|
||||
"i18next-node-fs-backend": "^2.1.3",
|
||||
"luxon": "^3.3.0",
|
||||
"morgan": "~1.9.1",
|
||||
"pug": "^3.0.2",
|
||||
"sass": "^1.58.3"
|
||||
|
||||
@@ -10,6 +10,31 @@ export const showDate = (sofort) => {
|
||||
|
||||
}
|
||||
|
||||
/* 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')
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
import * as map from './map.js'
|
||||
import * as dt from './datetime.js'
|
||||
import {loadAll, showChart} from './showcharts.js'
|
||||
import {loadAll, showChart, setNoUTC} from './showcharts.js'
|
||||
import { DateTime } from './luxon.min.js'
|
||||
import {setCurrentTab, getCurrentTab, showError, fetchfromserver} from "./chart_utilities.js";
|
||||
|
||||
@@ -14,7 +14,7 @@ import {setCurrentTab, getCurrentTab, showError, fetchfromserver} from "./chart_
|
||||
// END global constants
|
||||
|
||||
// global variables
|
||||
let params = { // set defaults
|
||||
const params = { // set defaults
|
||||
center: Stuttgart,
|
||||
zoom: 10,
|
||||
span: 1,
|
||||
@@ -125,6 +125,8 @@ import {setCurrentTab, getCurrentTab, showError, fetchfromserver} from "./chart_
|
||||
// show the map if called w/o any parameter
|
||||
// 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') {
|
||||
|
||||
@@ -19,7 +19,7 @@ export async function showChart(params, typ, container) {
|
||||
function form() {
|
||||
for (let item of tabtable) {
|
||||
if (item.type === typ) {
|
||||
const d = DateTime.fromMillis(this.x, {zone: 'utc'})
|
||||
const d = DateTime.fromMillis(this.x)
|
||||
const d1 = d.plus({days: 1})
|
||||
let fmt = d.toFormat(item.dformat)
|
||||
if (((typ === 'daynight') && (this.series.name.startsWith('N'))) || (typ === 'lden')) {
|
||||
@@ -112,3 +112,11 @@ export const loadAll = async (params, start = 2) => {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export const setNoUTC = () => {
|
||||
Highcharts.setOptions({
|
||||
global: {
|
||||
useUTC: false // Don't use UTC on the charts
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -23,7 +23,6 @@ router.get('/:cmd', async function(req, res, next) {
|
||||
// req.i18n.changeLanguage(req.query.lng)
|
||||
const cmd = req.params.cmd
|
||||
const lng = getLanguage()
|
||||
// console.log('api.js: cmd = ' + cmd + ', language = ' + lng)
|
||||
let url = APIHOST
|
||||
url += (req.originalUrl + `&lng=${lng}`)
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user