d9229d56c894bd92f5466803a6c769f0665b0aca
[src/xds/xds-server.git] / webapp / src / app / config / config.component.html
1 <div class="panel panel-default">
2     <div class="panel-heading clearfix">
3         <h2 class="panel-title pull-left">Global Configuration</h2>
4         <div class="pull-right">
5             <span class="fa fa-fw fa-exchange fa-size-x2" [style.color]="((serverStatus$ | async)?.WS_connected)?'green':'red'"></span>
6         </div>
7     </div>
8     <div class="panel-body">
9         <div class="row">
10             <div class="col-xs-12">
11                 <table class="table table-condensed">
12                     <tbody>
13                         <tr [ngClass]="{'info': (agentStatus$ | async)?.connected, 'danger': !(agentStatus$ | async)?.connected}">
14                             <th><label>XDS local Agent URL</label></th>
15                             <td> <input type="text" [(ngModel)]="xdsAgentUrl"></td>
16                             <td style="white-space: nowrap">
17                                 <div class="btn-group">
18                                     <button class="btn btn-link" (click)="xdsAgentRestartConn()"><span class="fa fa-refresh fa-size-x2"></span></button>
19                                     <dl-xds-agent class="button" [packageUrls]="(config$ | async).xdsAgentPackages"></dl-xds-agent>
20                                 </div>
21                             </td>
22                         </tr>
23                         <tr class="info">
24                             <th><label>Local Agent connection retry</label></th>
25                             <td> <input type="text" [(ngModel)]="xdsAgentRetry" (ngModelChange)="showApplyBtn['retry'] = true"></td>
26                             <td>
27                                 <button *ngIf="showApplyBtn['retry']" class="btn btn-primary btn-xs" (click)="submitGlobConf('retry')">APPLY</button>
28                             </td>
29                         </tr>
30                         <tr [ngClass]="{'info': (localSTStatus$ | async)?.connected, 'danger': !(localSTStatus$ | async)?.connected}">
31                             <th><label>Local Sync-tool URL</label></th>
32                             <td> <input type="text" [(ngModel)]="syncToolUrl"></td>
33                             <td>
34                                 <button class="btn btn-link" (click)="xdsAgentRestartConn()"><span class="fa fa-refresh fa-size-x2"></span></button>
35                             </td>
36                         </tr>
37                         <tr class="info">
38                             <th><label>Local Projects root directory</label></th>
39                             <td> <input type="text" [(ngModel)]="projectsRootDir" (ngModelChange)="showApplyBtn['rootDir'] = true"></td>
40                             <td>
41                                 <button *ngIf="showApplyBtn['rootDir']" class="btn btn-primary btn-xs" (click)="submitGlobConf('rootDir')">APPLY</button>
42                             </td>
43                         </tr>
44                     </tbody>
45                 </table>
46             </div>
47         </div>
48     </div>
49 </div>
50
51 <div class="panel panel-default">
52     <div class="panel-heading">
53         <h2 class="panel-title">Cross SDKs Configuration</h2>
54     </div>
55     <div class="panel-body">
56         <div class="row col-xs-12">
57             <sdks-list-accordion [sdks]="(sdks$ | async)"></sdks-list-accordion>
58         </div>
59     </div>
60 </div>
61
62 <div class="panel panel-default">
63     <div class="panel-heading">
64         <h2 class="panel-title">Projects Configuration</h2>
65     </div>
66     <div class="panel-body">
67         <form [formGroup]="addProjectForm" (ngSubmit)="onSubmit()">
68             <div class="row ">
69                 <div class="col-xs-2">
70                     <button class="btn btn-primary" type="submit" [disabled]="!addProjectForm.valid"><i class="fa fa-plus"></i>&nbsp;Add Folder</button>
71                 </div>
72
73                 <div class="col-xs-6">
74                     <label>Folder Path </label>
75                     <input type="text" style="width:70%;" formControlName="path" placeholder="myProject">
76                 </div>
77                 <div class="col-xs-4">
78                     <label>Label </label>
79                     <input type="text" formControlName="label" (keyup)="onKeyLabel($event)">
80                 </div>
81             </div>
82         </form>
83
84         <div class="row col-xs-12">
85             <projects-list-accordion [projects]="(config$ | async).projects"></projects-list-accordion>
86         </div>
87     </div>
88 </div>
89
90
91 <!-- only for debug -->
92 <div *ngIf="false" class="row">
93     {{config$ | async | json}}
94 </div>