Add radio support

This commit is contained in:
sepehr 2024-07-20 16:11:27 +03:30
parent 8d4a8f453d
commit d593919fc0
6 changed files with 167 additions and 48 deletions

View file

@ -1,18 +1,16 @@
<c-row >
<c-col *ngFor="let sensor of devicedata['sensors']; index as i" [sm]="6" [xl]="count_calc(devicedata)" >
<c-widget-stat-a
class="mb-2"
[color]="colors[i]"
[title]="sensor"
>
<c-row>
<c-col *ngFor="let sensor of devicedata['sensors']; index as i" [sm]="6" [xl]="count_calc(devicedata)">
<c-widget-stat-a class="mb-2" [color]="colors[i]" [title]="sensor">
<ng-template cTemplateId="widgetValueTemplate" ngPreserveWhitespaces>
{{show_number(sensor,devicedata)}}
</ng-template>
<ng-template cTemplateId="widgetChartTemplate">
<c-chart [data]="devicedata[sensor]" [options]="(sensor=='rxp/txp-total') ? options[4] :options[2]" class="mt-3 mx-3" height="70" [type]="(sensor=='rxp/txp-total') ? 'bar' :'line'"></c-chart>
<div [innerHTML]='show_date(devicedata[sensor]["labels"][devicedata[sensor]["datasets"][0]["data"].length-1])' class="fs-6 fw-normal" style="
<c-chart [data]="devicedata[sensor]" [options]="(check_options(sensor)) ? options[4] :options[2]"
class="mt-3 mx-3" height="70" [type]="(check_options(sensor)) ? 'bar' :'line'"></c-chart>
<div [innerHTML]='show_date(devicedata[sensor]["labels"][devicedata[sensor]["datasets"][0]["data"].length-1])'
class="fs-6 fw-normal" style="
padding: 5px;
width: 200px;
text-align: center;
@ -20,9 +18,9 @@
border-top: 1px solid #d5d5d55e;
display: inline-block;
margin: 0 auto;
"></div>
"></div>
</ng-template>
</c-widget-stat-a>
</c-col>
</c-row>

View file

@ -0,0 +1,3 @@
::ng-deep .fs-4.fw-semibold{
font-size: 0.8rem!important;
}

View file

@ -53,23 +53,18 @@ export class WidgetsDropdownComponent implements OnInit, AfterContentInit {
'danger',
'warning',
'info',
'light',
'dark',
'primary',
'success',
'danger',
'warning',
'info',
'light',
'dark',
'primary',
'success',
'danger',
'warning',
'info',
'light',
'dark',
'light',
'dark',
'primary',
'success',
@ -177,7 +172,6 @@ export class WidgetsDropdownComponent implements OnInit, AfterContentInit {
mynumber /= 1024;
unitIndex++;
}
console.dir(mynumber)
switch (unit) {
case 'rx':
return mynumber.toFixed(3) + ' ' + units[unitIndex];
@ -190,7 +184,12 @@ export class WidgetsDropdownComponent implements OnInit, AfterContentInit {
break;
}
}
check_options(sensor:string){
if(sensor.indexOf('total')>-1)
return true;
else
return false;
}
show_number(sensor:string,data:any){
if(sensor=='rxp/txp-total'){
let mynumber=data[sensor]["datasets"][0]["data"][data[sensor]["datasets"][0]["data"].length-1];
@ -199,6 +198,13 @@ export class WidgetsDropdownComponent implements OnInit, AfterContentInit {
let res2=this.convert_bw_human(mynumber1,data[sensor]["datasets"][1]['unit']);
return res1 + " / " + res2;
}
else if(sensor=='rx/tx-total'){
let mynumber=data[sensor]["datasets"][0]["data"][data[sensor]["datasets"][0]["data"].length-1];
let mynumber1=data[sensor]["datasets"][1]["data"][data[sensor]["datasets"][1]["data"].length-1];
let res1=this.convert_bw_human(mynumber,data[sensor]["datasets"][0]['unit']);
let res2=this.convert_bw_human(mynumber1,data[sensor]["datasets"][1]['unit']);
return res1 + " / " + res2;
}
else{
let mynumber=data[sensor]["datasets"][0]["data"][data[sensor]["datasets"][0]["data"].length-1];
return mynumber
@ -284,7 +290,6 @@ export class WidgetsDropdownComponent implements OnInit, AfterContentInit {
res /= 1024;
unitIndex++;
}
console.dir(res)
switch (context.dataset.unit) {
case 'rx':
return "rx/s :" + res.toFixed(3) + ' ' + units[unitIndex];
@ -399,7 +404,6 @@ export class ChartSample implements AfterViewInit {
let { datasets, labels } = { ...this.data };
// @ts-ignore
const before = this.chartComponent?.chart?.data.datasets.length;
console.log('before', before);
// console.log('datasets, labels', datasets, labels)
// @ts-ignore
// this.data = data()
@ -416,7 +420,6 @@ export class ChartSample implements AfterViewInit {
// @ts-ignore
setTimeout(() => {
const after = this.chartComponent?.chart?.data.datasets.length;
console.log('after', after);
});
}, 5000);
}