diff app/query-select.component.ts @ 5:b06a5d61afed

new query state stuff.
author Robert Casties <casties@mpiwg-berlin.mpg.de>
date Wed, 13 Jan 2016 18:57:31 +0100
parents 351c3df28602
children 9f5473536a98
line wrap: on
line diff
--- a/app/query-select.component.ts	Wed Jan 13 16:01:47 2016 +0100
+++ b/app/query-select.component.ts	Wed Jan 13 18:57:31 2016 +0100
@@ -1,8 +1,8 @@
 import {Component, OnInit} from 'angular2/core';
-import {HTTP_PROVIDERS} from 'angular2/http';
 
 import {QueryService} from './query.service';
 import {QueryMode} from './query-mode';
+import {QueryStep} from './query-step';
 
 
 @Component({
@@ -14,17 +14,17 @@
                 {{mode.label}}
             </option>
         </select>
-        <select [(ngModel)]="selectedQuery">
+        <select (change)="onSelectOption($event)">
             <option *ngFor="#option of query2Options" [value]="option">
                 {{option}}
             </option>
         </select>
-        `,
-    providers: [QueryService, HTTP_PROVIDERS]
+        `
 })
    
 export class QuerySelectComponent implements OnInit { 
     public queryModes;
+    public selectedMode;
     public selectedQuery = 'unknown';
     public query2Options;
     
@@ -35,14 +35,24 @@
     }
     
     setup() {
+        this._queryService.setupIsmiObjectTypes();
         this.queryModes = this._queryService.getQueryModes();
-        this._queryService.setupIsmiObjectTypes();
+        // select first mode
+        this.selectedMode = this.queryModes[0];
+        this.query2Options = this._queryService.getQueryOptions(this.selectedMode);
     }
     
     onSelectMode(event: any) {
         var selected = event.target.value;
-        var mode = this.queryModes.find(mode => mode.id === selected);
-        this._queryService.getQueryOptions(mode).then(
-            options => this.query2Options = options);
+        this.selectedMode = this.queryModes.find(mode => mode.id === selected);
+        this.query2Options = this._queryService.getQueryOptions(this.selectedMode);
+    }
+    
+    onSelectOption(event: any) {
+        var selected = event.target.value;
+        this.selectedQuery = selected;
+        console.debug("selected option:", selected);
+        var query = {'mode': this.selectedMode, 'objectType': selected};
+        this._queryService.queryState.queries.push(query);    
     }
 }