annotate app/query-select.component.ts @ 7:6cd6c09032aa

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