Skip to content
Snippets Groups Projects

merge dev into main

Merged Zoe Michaela Dietmar Pfister requested to merge develop into main
4 files
+ 123
43
Compare changes
  • Side-by-side
  • Inline
Files
4
@@ -26,7 +26,10 @@ export class CjsTimelineMultiple implements OnInit,OnChanges{
@Input() chartId:String="test"
@Input() sensorData!:SensorData[]
@Input() sensorDataArray!:[SensorData[]]
dataParent:Number[]=[]
dataParentArray:[Number[]]=[[]]
timeStampsAsHour:any
coloredData:any
colorMapper = new Map<String, String>([
@@ -82,11 +85,17 @@ export class CjsTimelineMultiple implements OnInit,OnChanges{
let datePipe = new DatePipe('en-US');
this.timeStampsAsHour=timeStamp.map(x=>datePipe.transform(x,'HH:mm'))
this.logger.info("Timeline got from Server #gS",this.timeStampsAsHour)
// @ts-ignore
this.coloredData=this.sensorData[0].readings.map(y=>this.colorMapper.get(y.fluctuationType))
// @ts-ignore
this.logger.info("Data Code #gS",this.coloredData);
this.logger.info("Finished Mapping data")
console.log("from childArray",this.sensorDataArray)
// this.dataParentArray=this.sensorDataArray.map(x=>x.map(y=>y.readings.map(z=>z.value).flat()))
this.dataParentArray=[[]]
this.sensorDataArray.forEach(
sensDat=>{
this.dataParentArray.push(sensDat.map(x=>x.readings.map(y=>y.value)).flat())
}
)
console.log("filterd array child",this.dataParentArray)
}
ngAfterViewInit() {
@@ -101,13 +110,43 @@ export class CjsTimelineMultiple implements OnInit,OnChanges{
/**********THIS FUNCTION WILL TRIGGER WHEN PARENT COMPONENT UPDATES 'someInput'**************/
//Write your code here
this.mapData()
this.linConfig.data.labels=this.timeStampsAsHour
this.linConfig.data.datasets[0].data=this.dataParent
this.linConfig.data.labels=this.timeStampsAsHour
// this.linConfig.data.labels= Array(47).fill(0).map((_, i) => i);
// for (let i = 0; i < 3; i++) {
// if(i>1)
// this.linConfig.data.datasets[i-2].data=this.dataParentArray[i]
let names: string[] = [];
this.sensorDataArray.forEach(dat => {
if (dat && dat[0] && dat[0].sensorName) {
names.push(dat[0].sensorName);
}})
console.log("sensorname",names)
const data = Array.from({ length: this.sensorDataArray.length }, (_, i) => (
{
label:`Dataset ${i+1}`+names.at(i),
backgroundColor:( getRandomColor()+'0.1)'),
fill:true,
borderColor:(getRandomColor()+'0.8)'),
tension:0.2,
data:this.dataParentArray.at(i+2),
}));
function getRandomColor(): string {
const r = Math.floor(Math.random() * 256);
const g = Math.floor(Math.random() * 256);
const b = Math.floor(Math.random() * 256);
return `rgba(${r}, ${g}, ${b}, `;
}
this.linConfig.data.datasets=data
// }
// if(this.dataParentArray.length<3)
// this.linConfig.data.datasets[0].data=this.dataParent
// this.linConfig.data.datasets[0].pointBorderColor=this.coloredData
// this.linConfig.data.datasets[0].pointBackgroundColor=this.coloredData
// this.linechart.data = this.linConfig.data;
console.log("channnged")
this.linechart.update();
if(this.linechart !== undefined)
this.linechart.update();
}
}
Loading