Mercurial > hg > ng2-query-ismi
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); } }