annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
59b7c3afcc6b first interface and http request.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
1 import {Component, OnInit} from 'angular2/core';
59b7c3afcc6b first interface and http request.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
2
59b7c3afcc6b first interface and http request.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
3 import {QueryService} from './query.service';
59b7c3afcc6b first interface and http request.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
4 import {QueryMode} from './query-mode';
5
b06a5d61afed new query state stuff.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 4
diff changeset
5 import {QueryStep} from './query-step';
1
59b7c3afcc6b first interface and http request.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
6
0
39ec75917ef7 first checkin
casties
parents:
diff changeset
7
39ec75917ef7 first checkin
casties
parents:
diff changeset
8 @Component({
39ec75917ef7 first checkin
casties
parents:
diff changeset
9 selector: 'query-select',
39ec75917ef7 first checkin
casties
parents:
diff changeset
10 template: `
39ec75917ef7 first checkin
casties
parents:
diff changeset
11 <p>Selected option: {{selectedQuery}}</p>
3
c741a00d38de first list of object types :-)
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 1
diff changeset
12 <select (change)="onSelectMode($event)">
1
59b7c3afcc6b first interface and http request.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
13 <option *ngFor="#mode of queryModes" [value]="mode.id">
59b7c3afcc6b first interface and http request.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
14 {{mode.label}}
0
39ec75917ef7 first checkin
casties
parents:
diff changeset
15 </option>
39ec75917ef7 first checkin
casties
parents:
diff changeset
16 </select>
5
b06a5d61afed new query state stuff.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 4
diff changeset
17 <select (change)="onSelectOption($event)">
1
59b7c3afcc6b first interface and http request.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
18 <option *ngFor="#option of query2Options" [value]="option">
0
39ec75917ef7 first checkin
casties
parents:
diff changeset
19 {{option}}
39ec75917ef7 first checkin
casties
parents:
diff changeset
20 </option>
39ec75917ef7 first checkin
casties
parents:
diff changeset
21 </select>
5
b06a5d61afed new query state stuff.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 4
diff changeset
22 `
0
39ec75917ef7 first checkin
casties
parents:
diff changeset
23 })
1
59b7c3afcc6b first interface and http request.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
24
59b7c3afcc6b first interface and http request.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
25 export class QuerySelectComponent implements OnInit {
59b7c3afcc6b first interface and http request.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
26 public queryModes;
5
b06a5d61afed new query state stuff.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 4
diff changeset
27 public selectedMode;
0
39ec75917ef7 first checkin
casties
parents:
diff changeset
28 public selectedQuery = 'unknown';
1
59b7c3afcc6b first interface and http request.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
29 public query2Options;
59b7c3afcc6b first interface and http request.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
30
59b7c3afcc6b first interface and http request.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
31 constructor(private _queryService: QueryService) {}
59b7c3afcc6b first interface and http request.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
32
59b7c3afcc6b first interface and http request.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
33 ngOnInit() {
4
351c3df28602 work on result component.
casties
parents: 3
diff changeset
34 this.setup();
1
59b7c3afcc6b first interface and http request.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
35 }
59b7c3afcc6b first interface and http request.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
36
4
351c3df28602 work on result component.
casties
parents: 3
diff changeset
37 setup() {
5
b06a5d61afed new query state stuff.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 4
diff changeset
38 this._queryService.setupIsmiObjectTypes();
1
59b7c3afcc6b first interface and http request.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
39 this.queryModes = this._queryService.getQueryModes();
5
b06a5d61afed new query state stuff.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 4
diff changeset
40 // select first mode
b06a5d61afed new query state stuff.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 4
diff changeset
41 this.selectedMode = this.queryModes[0];
b06a5d61afed new query state stuff.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 4
diff changeset
42 this.query2Options = this._queryService.getQueryOptions(this.selectedMode);
1
59b7c3afcc6b first interface and http request.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
43 }
0
39ec75917ef7 first checkin
casties
parents:
diff changeset
44
3
c741a00d38de first list of object types :-)
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 1
diff changeset
45 onSelectMode(event: any) {
1
59b7c3afcc6b first interface and http request.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
46 var selected = event.target.value;
5
b06a5d61afed new query state stuff.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 4
diff changeset
47 this.selectedMode = this.queryModes.find(mode => mode.id === selected);
b06a5d61afed new query state stuff.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 4
diff changeset
48 this.query2Options = this._queryService.getQueryOptions(this.selectedMode);
b06a5d61afed new query state stuff.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 4
diff changeset
49 }
b06a5d61afed new query state stuff.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 4
diff changeset
50
b06a5d61afed new query state stuff.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 4
diff changeset
51 onSelectOption(event: any) {
b06a5d61afed new query state stuff.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 4
diff changeset
52 var selected = event.target.value;
b06a5d61afed new query state stuff.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 4
diff changeset
53 this.selectedQuery = selected;
b06a5d61afed new query state stuff.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 4
diff changeset
54 console.debug("selected option:", selected);
b06a5d61afed new query state stuff.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 4
diff changeset
55 var query = {'mode': this.selectedMode, 'objectType': selected};
b06a5d61afed new query state stuff.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 4
diff changeset
56 this._queryService.queryState.queries.push(query);
0
39ec75917ef7 first checkin
casties
parents:
diff changeset
57 }
39ec75917ef7 first checkin
casties
parents:
diff changeset
58 }