b35a17fd8196fd18ad53af0a87bc22c76032e6c9
[src/xds/xds-server.git] / webapp / src / app / config / downloadXdsAgent.component.ts
1 import { Component, Input, Pipe, PipeTransform } from '@angular/core';
2
3 import { IxdsAgentPackage } from "../services/config.service";
4
5 @Component({
6     selector: 'dl-xds-agent',
7     /* XXX - cleanup
8     template: `
9         <template #popTemplate>
10             <h3>Download xds-agent packages:</h3>
11             <ul>
12                 <li *ngFor="let p of packageUrls">
13                     <a href="{{p.url}}">{{p.os | capitalize}} - {{p.arch}} ({{p.version}}) </a>
14                 </li>
15             </ul>
16             <button type="button" class="btn btn-sm" (click)="pop.hide()"> Cancel </button>
17         </template>
18         <button type="button" class="btn btn-link fa fa-download fa-size-x2"
19             [popover]="popTemplate"
20             #pop="bs-popover"
21             placement="left">
22         </button>
23     `,
24 */
25     template: `
26         <template #popTemplate>
27             <h3>Install xds-agent:</h3>
28             <ul>
29                 <li>On Linux machine <a href="{{url_OS_Linux}}" target="_blank">
30                 <span class="fa fa-external-link"></span></a></li>
31
32                 <li>On Windows machine <a href="{{url_OS_Other}}" target="_blank"><span class="fa fa-external-link"></span></a></li>
33
34                 <li>On MacOS machine <a href="{{url_OS_Other}}" target="_blank"><span class="fa fa-external-link"></span></a></li>
35             </ul>
36             <button type="button" class="btn btn-sm" (click)="pop.hide()"> Cancel </button>
37         </template>
38         <button type="button" class="btn btn-link fa fa-download fa-size-x2"
39             [popover]="popTemplate"
40             #pop="bs-popover"
41             placement="left">
42         </button>
43         `,
44     styles: [`
45         .fa-size-x2 {
46             font-size: 20px;
47         }
48     `]
49 })
50
51 export class DlXdsAgentComponent {
52
53     @Input() packageUrls: IxdsAgentPackage[];
54
55     public url_OS_Linux = "https://en.opensuse.org/LinuxAutomotive#Installation_AGL_XDS";
56     public url_OS_Other = "https://github.com/iotbzh/xds-agent#how-to-install-on-other-platform";
57 }
58
59 @Pipe({
60     name: 'capitalize'
61 })
62 export class CapitalizePipe implements PipeTransform {
63     transform(value: string): string {
64         if (value) {
65             return value.charAt(0).toUpperCase() + value.slice(1);
66         }
67         return value;
68     }
69 }