in source/web_site/js/dash.js [519:586]
var updateLineChart = function(data, chartData, chart, labelFunc=identity) {
var labels = chartData.labels;
var serviceCallTimes = chartData.times;
var serviceCallMap = chartData.values;
var items = data.Items;
for (var i=0; i<items.length; i++) {
var queryTime = items[i].EventTime;
serviceCallTimes.push(new Date(toUTC(queryTime)).getTime());
var timeToPut = queryTime.split('.')[0].split(' ')[1];
labels.push((timeToPut));
ddbitem = JSON.parse(items[i].Data);
ddbkeys = new Set(Object.keys(ddbitem));
for (var key in serviceCallMap) {
if (!ddbkeys.has(key)) {ddbitem[key]=0;}
}
for (let entry of Object.keys(ddbitem)) {
if (entry in serviceCallMap) {
serviceCallMap[entry].push(ddbitem[entry]);
}
else {
var newServiceEntry = new Array(labels.length-1);
newServiceEntry.fill(0);
newServiceEntry.push(ddbitem[entry]);
serviceCallMap[entry] = newServiceEntry;
}
}
}
dataObj=[];
datasetLabels = Object.keys(serviceCallMap);
for (var i=0; i<labels.length; i++) {
dataObj.push({'time': serviceCallTimes[i], 'label': labels[i], 'values': datasetLabels.map(function(label) { return serviceCallMap[label][i]; }) });
}
sortLabels(dataObj);
console.log(dataObj);
var labels=[]
var times=[]
var vals=datasetLabels.map(function(label) {return []; });
var dataLen = dataObj.length;
var datasetLabelLen = datasetLabels.length;
for (var i=0;i<dataLen;i++) {
labels.push(dataObj[i]['label']);
times.push(dataObj[i]['time']);
for(var j=0;j<datasetLabelLen;j++) {
vals[j].push(dataObj[i]['values'][j]);
}
}
normalizeValues(labels,times,vals);
limitValuesToOneHour(labels,times,vals);
var newCallMap={};
datasetLabels.forEach(function(label,index) { newCallMap[label]= vals[index];});
//console.log(labels);
updateData(chart, labels, Object.values(newCallMap), Object.keys(newCallMap).map(labelFunc));
return {'labels': labels, 'times': times, 'values': newCallMap};
}