df08461446ec0e05e0a481416145bdc5a542e2be
[src/xds/xds-agent.git] / webapp / src / app / pages / about / about-modal / about-modal.component.ts
1 import { Component, OnInit } from '@angular/core';
2 import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
3
4 import { XDSAgentService, IXDSVersions, IXDSVer } from '../../../@core-xds/services/xdsagent.service';
5
6
7 @Component({
8   selector: 'xds-about-modal',
9   template: `
10     <div class="modal-header">
11       <span>About <b>X</b>(cross) Development System</span>
12       <button class="close" aria-label="Close" (click)="closeModal()">
13         <span aria-hidden="true">&times;</span>
14       </button>
15     </div>
16
17     <div class="modal-body row">
18       <div class="col-12">
19         <label class="col-sm-4">Developed by IoT.bzh</label>
20         <span class="col-sm-8"><a href="http://iot.bzh/en/author" target="_blank">http://iot.bzh</a></span>
21       </div>
22       <div class="col-12">
23         <label class="col-sm-4">Powered by</label>
24         <span class="col-sm-8"><a href="https://github.com/akveo/ngx-admin" target="_blank">akveo/ngx-admin</a></span>
25       </div>
26
27       <br><br>
28
29       <div class="col-12">
30           <label class="col-sm-4">XDS Agent ID</label>
31           <span class="col-sm-8">{{agent?.id}}</span>
32       </div>
33       <div class="col-12">
34         <label class="col-sm-4">XDS Agent Version</label>
35         <span class="col-sm-8">{{agent?.version}}</span>
36       </div>
37       <div class="col-12">
38         <label class="col-sm-4">XDS Agent Sub-Version</label>
39         <span class="col-sm-8">{{agent?.gitTag}}</span>
40       </div>
41
42       <div class="col-12">
43         <label class="col-sm-4">XDS Server ID</label>
44         <span class="col-sm-8">{{server?.id}}</span>
45       </div>
46       <div class="col-12">
47         <label class="col-sm-4">XDS Server Version</label>
48         <span class="col-sm-8">{{server?.version}}</span>
49       </div>
50       <div class="col-12">
51         <label class="col-sm-4">XDS Server Sub-Version</label>
52         <span class="col-sm-8">{{server?.gitTag}}</span>
53       </div>
54
55     </div>
56   `,
57 })
58
59 export class AboutModalComponent implements OnInit {
60
61   agent: IXDSVer;
62   server: IXDSVer;
63
64   constructor(
65     private activeModal: NgbActiveModal,
66     private xdsSvr: XDSAgentService,
67   ) { }
68
69   ngOnInit() {
70     this.xdsSvr.getVersion().subscribe(v => {
71       this.agent = v.client;
72       if (v && v.servers.length > 0 && !v.servers[0].version.startsWith('Cannot retrieve')) {
73         this.server = v.servers[0];
74       }
75     });
76   }
77
78   closeModal() {
79     this.activeModal.close();
80   }
81 }