mise à jour de la page d'informations
This commit is contained in:
@@ -29,6 +29,7 @@ import { MatProgressBarModule } from '@angular/material/progress-bar';
|
||||
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
||||
import { MatGridListModule } from '@angular/material/grid-list';
|
||||
import { MatTabsModule } from '@angular/material/tabs';
|
||||
import { MatSliderModule } from '@angular/material/slider';
|
||||
import { ToastrModule } from 'ngx-toastr';
|
||||
import { CodeInputModule } from 'angular-code-input';
|
||||
|
||||
@@ -89,6 +90,7 @@ import { LogsComponent } from './components/home/workspace/logs/logs.component';
|
||||
MatSlideToggleModule,
|
||||
MatGridListModule,
|
||||
MatTabsModule,
|
||||
MatSliderModule,
|
||||
FlexLayoutModule,
|
||||
RouterModule,
|
||||
FontAwesomeModule,
|
||||
|
||||
@@ -5,5 +5,43 @@
|
||||
</div>
|
||||
<div *ngIf="!isProcessing" class="container"
|
||||
fxLayout="column"
|
||||
fxLayoutAlign="space-around center">
|
||||
fxLayoutAlign="space-around start">
|
||||
<ng-container *ngIf="infos">
|
||||
<h3 style="margin-left: 2rem;">Module GSM</h3>
|
||||
<div fxLayout="row" style="width:100%;">
|
||||
<span fxFlexOffset="5" fxFlex="30"><b>Fabricant:</b></span>
|
||||
<span>{{infos.manufacturer.identification}}</span>
|
||||
</div>
|
||||
<div fxLayout="row" style="width:100%;">
|
||||
<span fxFlexOffset="5" fxFlex="30"><b>Modèle:</b></span>
|
||||
<span>{{infos.manufacturer.model}}</span>
|
||||
</div>
|
||||
<div fxLayout="row" style="width:100%;">
|
||||
<span fxFlexOffset="5" fxFlex="30"><b>Révision matérielle:</b></span>
|
||||
<span>{{infos.manufacturer.hardware_rev}}</span>
|
||||
</div>
|
||||
<div fxLayout="row" style="width:100%;">
|
||||
<span fxFlexOffset="5" fxFlex="30"><b>Numéro de série:</b></span>
|
||||
<span>{{infos.manufacturer.serial_number}}</span>
|
||||
</div>
|
||||
<h3 style="margin-left: 2rem;">Contrôle</h3>
|
||||
<div fxLayout="row" style="width:100%;">
|
||||
<span fxFlexOffset="5" fxFlex="30"><b>Opérateur:</b></span>
|
||||
<span>{{infos.operator}}</span>
|
||||
</div>
|
||||
<div fxLayout="row" style="width:100%;">
|
||||
<span fxFlexOffset="5" fxFlex="30"><b>Provider:</b></span>
|
||||
<span>{{infos.provider}}</span>
|
||||
</div>
|
||||
<div fxLayout="row" fxLayoutAlign="none center" style="width:100%;">
|
||||
<span fxFlexOffset="5" fxFlex="30"><b>Signal:</b></span>
|
||||
<mat-slider fxFlex="50" min="-109" max="-53" step="2" value="info.signal_dbm"></mat-slider>
|
||||
<span> ({{infos.signal_qos}})</span>
|
||||
</div>
|
||||
<div fxLayout="row" style="width:100%;">
|
||||
<span fxFlexOffset="5" fxFlex="30"><b>carte SIM:</b></span>
|
||||
<div *ngIf="infos.sim_inserted"><mat-icon style="color: green;">check_circle</mat-icon></div>
|
||||
<div *ngIf="!infos.sim_inserted"><mat-icon style="color: red;">cancel</mat-icon></div>
|
||||
</div>
|
||||
</ng-container>
|
||||
</div>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { Router } from '@angular/router';
|
||||
import { BackendService } from '../../../../services/backend/backend.service';
|
||||
import { Log } from '../../../../models/log.model';
|
||||
import { Info } from '../../../../models/info.model';
|
||||
import { ToastrService } from 'ngx-toastr';
|
||||
|
||||
@Component({
|
||||
@@ -10,6 +10,7 @@ import { ToastrService } from 'ngx-toastr';
|
||||
styleUrls: ['./infos.component.css']
|
||||
})
|
||||
export class InfosComponent implements OnInit {
|
||||
infos:Info;
|
||||
isProcessing:boolean = true;
|
||||
|
||||
constructor( private bs:BackendService,
|
||||
@@ -17,6 +18,19 @@ export class InfosComponent implements OnInit {
|
||||
private toast:ToastrService ) { }
|
||||
|
||||
ngOnInit(): void {
|
||||
this.bs.retreiveInfos().subscribe(
|
||||
(data:Info) => {
|
||||
this.infos = data;
|
||||
console.log(this.infos);
|
||||
this.isProcessing = false;
|
||||
}, err => {
|
||||
if(err.status == 401) {
|
||||
this.router.navigateByUrl("/login");
|
||||
} else {
|
||||
this.toast.error(err.error.description);
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
16
src/app/models/info.model.ts
Normal file
16
src/app/models/info.model.ts
Normal file
@@ -0,0 +1,16 @@
|
||||
export interface Manufacturer {
|
||||
identification:string;
|
||||
model:string;
|
||||
hardware_rev:string;
|
||||
serial_number:string;
|
||||
}
|
||||
|
||||
export interface Info {
|
||||
manufacturer:Manufacturer;
|
||||
operator:string;
|
||||
provider:string;
|
||||
signal_dbm:string;
|
||||
signal_qos:string;
|
||||
sim_inserted:boolean;
|
||||
call_ready:boolean;
|
||||
}
|
||||
@@ -6,6 +6,7 @@ import { Utilisateur } from '../../models/utilisateur.model';
|
||||
import { Parameters } from '../../models/parameters.model';
|
||||
import { Scheduler } from '../../models/scheduler.model';
|
||||
import { Log } from '../../models/log.model';
|
||||
import { Info } from '../../models/info.model';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
@@ -138,4 +139,15 @@ export class BackendService {
|
||||
};
|
||||
return this.http.get<Log[]>(host+"/api/configurateur/app_logs", options);
|
||||
}
|
||||
|
||||
retreiveInfos():Observable<Info> {
|
||||
let host=environment.host;
|
||||
const options = {
|
||||
headers: new HttpHeaders({
|
||||
'Content-Type' : 'application/json',
|
||||
}),
|
||||
withCredentials: true
|
||||
};
|
||||
return this.http.get<Info>(host+"/api/configurateur/infos", options);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user