152 lines
4.1 KiB
JavaScript
152 lines
4.1 KiB
JavaScript
// Utility routine for plotting the data
|
|
|
|
import { translate as trans } from '../routes/index.js'
|
|
|
|
let language = 'en'
|
|
|
|
export const colors = {'eq': '#0000FF', 'max': '#FF0000', 'min': '#008000', 'peaks': '#DAA520'};
|
|
export const noise_ymin = 20;
|
|
export const noise_ymax = 120;
|
|
|
|
export function createGlobObtions() {
|
|
// Options, die für alle Plots identisch sind
|
|
let globObject = {
|
|
chart: {
|
|
spacingRight: 20,
|
|
spacingLeft: 20,
|
|
spacingTop: 25,
|
|
backgroundColor: {
|
|
linearGradient: [0, 400, 0, 0],
|
|
stops: [
|
|
[0, '#eee'],//[0, '#ACD0AA'], //[0, '#A18D99'], // [0, '#886A8B'], // [0, '#F2D0B5'],
|
|
[1, '#fff']
|
|
]
|
|
},
|
|
type: 'line',
|
|
borderWidth: '2',
|
|
// events: {
|
|
// selection: function (event) {
|
|
// if (event.xAxis) {
|
|
// doUpdate = false;
|
|
// } else {
|
|
// doUpdate = true;
|
|
// }
|
|
// }
|
|
// }
|
|
},
|
|
title: {
|
|
align: 'left',
|
|
style: {'fontSize': '25px'},
|
|
useHTML: true,
|
|
},
|
|
subtitle: {
|
|
align: 'left',
|
|
},
|
|
tooltip: {
|
|
valueDecimals: 1,
|
|
backgroundColor: '#ffffff',
|
|
borderWidth: 0,
|
|
borderRadius: 0,
|
|
useHTML: true,
|
|
},
|
|
xAxis: {
|
|
type: 'datetime',
|
|
title: {
|
|
text: trans('datetime'),
|
|
},
|
|
gridLineWidth: 2,
|
|
labels: {
|
|
formatter: function () {
|
|
let v = this.axis.defaultLabelFormatter.call(this);
|
|
if (v.indexOf(':') == -1) {
|
|
return '<span style="font-weight:bold;color:red">' + v + '<span>';
|
|
} else {
|
|
return v;
|
|
}
|
|
}
|
|
},
|
|
},
|
|
legend: {
|
|
enabled: true,
|
|
layout: 'horizontal',
|
|
// verticalAlign: 'top',
|
|
borderWidth: 1,
|
|
align: 'center',
|
|
},
|
|
plotOptions: {
|
|
series: {
|
|
animation: false,
|
|
turboThreshold: 0,
|
|
marker: {
|
|
enabled: false,
|
|
},
|
|
},
|
|
}
|
|
};
|
|
return globObject;
|
|
}
|
|
|
|
export function calcWeekends(data, isyear) {
|
|
/* let weekend = [];
|
|
let oldDay = 8;
|
|
for (let i = 0; i < data.length; i++) {
|
|
let mom = moment(data[i].date);
|
|
if (isyear) {
|
|
mom = moment(data[i]._id)
|
|
}
|
|
let day = mom.day();
|
|
let st = mom.startOf('day');
|
|
if (day != oldDay) {
|
|
if (day == 6) {
|
|
weekend.push({
|
|
color: 'rgba(169,235,158,0.4)',
|
|
from: st.valueOf(),
|
|
to: st.add(1, 'days').valueOf(),
|
|
zIndex: 0
|
|
})
|
|
} else if (day == 0) {
|
|
weekend.push({
|
|
color: 'rgba(169,235,158,0.4)',
|
|
from: st.valueOf(),
|
|
to: st.add(1, 'days').valueOf(),
|
|
zIndex: 0
|
|
})
|
|
}
|
|
oldDay = day;
|
|
}
|
|
}
|
|
return weekend;
|
|
*/}
|
|
|
|
export function calcDays(data, isyear) {
|
|
let days = [];
|
|
if (data.length == 0) {
|
|
return days
|
|
}
|
|
let oldday = moment(data[0].date).day();
|
|
if (isyear) {
|
|
oldday = moment(data[0]._id).day();
|
|
}
|
|
for (let i = 0; i < data.length; i++) {
|
|
let m = moment(data[i].date);
|
|
if (isyear) {
|
|
m = moment(data[i]._id);
|
|
}
|
|
let tag = m.day()
|
|
if (tag != oldday) {
|
|
m.startOf('day');
|
|
days.push({color: 'lightgray', value: m.valueOf(), width: 1, zIndex: 2});
|
|
oldday = tag;
|
|
}
|
|
}
|
|
return days;
|
|
};
|
|
|
|
export const setLanguage = (lng) => {
|
|
language = lng
|
|
}
|
|
|
|
export const getLanguage = () => {
|
|
return language
|
|
}
|