Fixed 'Unknown sdkid' error in dashboard
[src/xds/xds-agent.git] / webapp / src / app / pages / build / settings / sdk-select-dropdown.component.ts
index a9eafe7..64de039 100644 (file)
@@ -25,19 +25,15 @@ import { ISdk, SdkService, StatusType } from '../../../@core-xds/services/sdk.se
   template: `
       <div class="form-group">
       <label>SDK</label>
-      <select class="form-control">
-        <option *ngFor="let sdk of sdks" (click)="select(sdk)">{{sdk.name}}</option>
+      <select class="form-control" [(ngModel)]="curSdk" (click)="select()">
+        <option *ngFor="let sdk of sdks" [ngValue]="sdk">{{sdk.name}}</option>
       </select>
     </div>
     `,
 })
 export class SdkSelectDropdownComponent implements OnInit {
 
-  // FIXME investigate to understand why not working with sdks as input
-  // <xds-sdk-select-dropdown [sdks]="(sdks$ | async)"></xds-sdk-select-dropdown>
-  // @Input() sdks: ISdk[];
   sdks: ISdk[];
-
   curSdk: ISdk;
 
   constructor(private sdkSvr: SdkService) { }
@@ -50,13 +46,16 @@ export class SdkSelectDropdownComponent implements OnInit {
         this.sdks = s.filter(ss => ss.status === StatusType.INSTALLED);
         if (this.curSdk === null || s.indexOf(this.curSdk) === -1) {
           this.sdkSvr.setCurrent(this.curSdk = this.sdks.length ? this.sdks[0] : null);
+          this.curSdk = this.sdkSvr.getCurrent();
         }
       }
     });
   }
 
   select(s) {
-    this.sdkSvr.setCurrent(this.curSdk = s);
+    if (this.curSdk) {
+      this.sdkSvr.setCurrent(this.curSdk);
+    }
   }
 }