Mercurial > hg > ng2-query-ismi
annotate app/query-app.component.ts @ 25:0795207f3b90
ng2-table now with pager, sorting and styling.
author | casties |
---|---|
date | Tue, 26 Jan 2016 19:19:23 +0100 |
parents | f6f4177d0a81 |
children | 991bf349bb04 |
rev | line source |
---|---|
0 | 1 import {Component} from 'angular2/core'; |
5
b06a5d61afed
new query state stuff.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
4
diff
changeset
|
2 import {HTTP_PROVIDERS} from 'angular2/http'; |
0 | 3 |
7
6cd6c09032aa
object type query with results!
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
6
diff
changeset
|
4 import {QueryState} from './query-state'; |
8 | 5 import {QueryStep} from './query-step'; |
6 | |
20
34cd764e234b
make interfaces into classes. factor out NormalizationService.
casties
parents:
13
diff
changeset
|
7 import {QueryService} from './query.service'; |
34cd764e234b
make interfaces into classes. factor out NormalizationService.
casties
parents:
13
diff
changeset
|
8 import {NormalizationService} from './normalization.service'; |
34cd764e234b
make interfaces into classes. factor out NormalizationService.
casties
parents:
13
diff
changeset
|
9 |
0 | 10 import {QuerySelectComponent} from './query-select.component'; |
24 | 11 //import {QueryResultComponent} from './query-result.component'; |
12 import {QueryResultTableComponent} from './query-result-table.component'; | |
0 | 13 |
14 @Component({ | |
7
6cd6c09032aa
object type query with results!
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
6
diff
changeset
|
15 selector: 'query-app', |
0 | 16 template: ` |
25 | 17 <div class="container"> |
13
98b435bb6c0c
more query work.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
10
diff
changeset
|
18 <h1>ISMI-Lab Query Builder</h1> |
8 | 19 <div>Select a query step:</div> |
20
34cd764e234b
make interfaces into classes. factor out NormalizationService.
casties
parents:
13
diff
changeset
|
20 <query-select *ngFor="#step of queryStepList; #i=index;" |
8 | 21 [queryStep]="step" [index]="i" |
22 (queryChanged)="onQueryChanged($event)"></query-select> | |
23 <div> | |
24 <button (click)="addQueryStep()">add step</button> | |
25 <button (click)="removeQueryStep()">remove step</button> | |
26 </div> | |
25 | 27 <query-result-table *ngIf="queryState && queryState.results" |
28 [queryState]="queryState" | |
29 [data]="queryState.results" [columns]="queryState.resultColumns"> | |
30 </query-result-table> | |
31 </div> | |
0 | 32 `, |
24 | 33 directives: [QuerySelectComponent, QueryResultTableComponent], |
20
34cd764e234b
make interfaces into classes. factor out NormalizationService.
casties
parents:
13
diff
changeset
|
34 providers: [QueryService, NormalizationService, HTTP_PROVIDERS] |
0 | 35 }) |
1
59b7c3afcc6b
first interface and http request.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
0
diff
changeset
|
36 |
7
6cd6c09032aa
object type query with results!
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
6
diff
changeset
|
37 export class QueryAppComponent { |
6cd6c09032aa
object type query with results!
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
6
diff
changeset
|
38 public queryState: QueryState; |
20
34cd764e234b
make interfaces into classes. factor out NormalizationService.
casties
parents:
13
diff
changeset
|
39 public queryStepList: string[]; |
5
b06a5d61afed
new query state stuff.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
4
diff
changeset
|
40 |
7
6cd6c09032aa
object type query with results!
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
6
diff
changeset
|
41 constructor(private _queryService: QueryService) { |
8 | 42 this._queryService.setup(); |
20
34cd764e234b
make interfaces into classes. factor out NormalizationService.
casties
parents:
13
diff
changeset
|
43 this.queryStepList = []; |
8 | 44 this.addQueryStep(); |
45 } | |
46 | |
47 addQueryStep() { | |
20
34cd764e234b
make interfaces into classes. factor out NormalizationService.
casties
parents:
13
diff
changeset
|
48 this.queryStepList.push('step'); |
8 | 49 } |
50 | |
51 removeQueryStep() { | |
20
34cd764e234b
make interfaces into classes. factor out NormalizationService.
casties
parents:
13
diff
changeset
|
52 this.queryStepList.pop(); |
8 | 53 this._queryService.state.steps.pop(); |
5
b06a5d61afed
new query state stuff.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
4
diff
changeset
|
54 } |
4 | 55 |
7
6cd6c09032aa
object type query with results!
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
6
diff
changeset
|
56 onQueryChanged(event: any) { |
6cd6c09032aa
object type query with results!
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
6
diff
changeset
|
57 console.debug("app.onquerychanged! event=", event); |
6cd6c09032aa
object type query with results!
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
6
diff
changeset
|
58 this._queryService.updateQuery(); |
6cd6c09032aa
object type query with results!
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
6
diff
changeset
|
59 this.queryState = this._queryService.getState(); |
6cd6c09032aa
object type query with results!
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents:
6
diff
changeset
|
60 } |
0 | 61 } |