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>
8 <div class="panel-body">
10 <div class="col-xs-12">
11 <table class="table table-condensed">
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>
17 <button class="btn btn-link" (click)="xdsAgentRestartConn()"><span class="fa fa-refresh fa-size-x2"></span></button>
18 <button [disabled]="xdsAgentZipUrl==''" class="btn btn-link">
19 <a *ngIf="xdsAgentZipUrl!=''" class="fa fa-download fa-size-x2" [href]="xdsAgentZipUrl" target="_blank"></a>
20 <a *ngIf="xdsAgentZipUrl==''" class="fa fa-download fa-size-x2" href="javascript:void(0);" target="_blank"></a>
25 <th><label>Local Agent connection retry</label></th>
26 <td> <input type="text" [(ngModel)]="xdsAgentRetry" (ngModelChange)="showApplyBtn['retry'] = true"></td>
28 <button *ngIf="showApplyBtn['retry']" class="btn btn-primary btn-xs" (click)="submitGlobConf('retry')">APPLY</button>
31 <tr [ngClass]="{'info': (localSTStatus$ | async)?.connected, 'danger': !(localSTStatus$ | async)?.connected}">
32 <th><label>Local Sync-tool URL</label></th>
33 <td> <input type="text" [(ngModel)]="syncToolUrl"></td>
35 <button class="btn btn-link" (click)="xdsAgentRestartConn()"><span class="fa fa-refresh fa-size-x2"></span></button>
39 <th><label>Local Projects root directory</label></th>
40 <td> <input type="text" [(ngModel)]="projectsRootDir" (ngModelChange)="showApplyBtn['rootDir'] = true"></td>
42 <button *ngIf="showApplyBtn['rootDir']" class="btn btn-primary btn-xs" (click)="submitGlobConf('rootDir')">APPLY</button>
52 <div class="panel panel-default">
53 <div class="panel-heading">
54 <h2 class="panel-title">Cross SDKs Configuration</h2>
56 <div class="panel-body">
57 <div class="row col-xs-12">
58 <sdks-list-accordion [sdks]="(sdks$ | async)"></sdks-list-accordion>
63 <div class="panel panel-default">
64 <div class="panel-heading">
65 <h2 class="panel-title">Projects Configuration</h2>
67 <div class="panel-body">
68 <form [formGroup]="addProjectForm" (ngSubmit)="onSubmit()">
70 <div class="col-xs-2">
71 <button class="btn btn-primary" type="submit" [disabled]="!addProjectForm.valid"><i class="fa fa-plus"></i> New Folder</button>
74 <div class="col-xs-6">
75 <label>Folder Path </label>
76 <input type="text" style="width:70%;" formControlName="path" placeholder="myProject">
78 <div class="col-xs-4">
80 <input type="text" formControlName="label" (keyup)="onKeyLabel($event)">
85 <div class="row col-xs-12">
86 <projects-list-accordion [projects]="(config$ | async).projects"></projects-list-accordion>
92 <!-- only for debug -->
93 <div *ngIf="false" class="row">
94 {{config$ | async | json}}