Fix SDKs init when no sdk found in Webapp.
authorSebastien Douheret <sebastien.douheret@iot.bzh>
Thu, 18 May 2017 13:36:21 +0000 (15:36 +0200)
committerSebastien Douheret <sebastien.douheret@iot.bzh>
Thu, 18 May 2017 13:36:21 +0000 (15:36 +0200)
webapp/src/app/common/sdk.service.ts
webapp/src/app/sdks/sdkSelectDropdown.component.ts

index 3f2f32a..19c49d9 100644 (file)
@@ -34,6 +34,10 @@ export class SdkService {
         this.current = s;
     }
 
+    public getCurrent(): ISdk {
+        return this.current;
+    }
+
     public getCurrentId(): string {
         if (this.current && this.current.id) {
             return this.current.id;
index 5122cd2..f213db0 100644 (file)
@@ -29,15 +29,19 @@ export class SdkSelectDropdownComponent {
     constructor(private sdkSvr: SdkService) { }
 
     ngOnInit() {
+        this.curSdk = this.sdkSvr.getCurrent();
         this.sdkSvr.Sdks$.subscribe((s) => {
-            this.sdks = s;
-            this.curSdk = this.sdks.length ? this.sdks[0] : null;
-            this.sdkSvr.setCurrent(this.curSdk);
+            if (s) {
+                this.sdks = s;
+                if (this.curSdk === null || s.indexOf(this.curSdk) === -1) {
+                    this.sdkSvr.setCurrent(this.curSdk = s.length ? s[0] : null);
+                }
+            }
         });
     }
 
     select(s) {
-         this.sdkSvr.setCurrent(this.curSdk = s);
+        this.sdkSvr.setCurrent(this.curSdk = s);
     }
 }