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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
39ec75917ef7 first checkin
casties
parents:
diff changeset
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
39ec75917ef7 first checkin
casties
parents:
diff changeset
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
fa646ee46c19 more query generation.
casties
parents: 7
diff changeset
5 import {QueryStep} from './query-step';
fa646ee46c19 more query generation.
casties
parents: 7
diff changeset
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
39ec75917ef7 first checkin
casties
parents:
diff changeset
10 import {QuerySelectComponent} from './query-select.component';
24
f6f4177d0a81 use ng2-table for results.
casties
parents: 20
diff changeset
11 //import {QueryResultComponent} from './query-result.component';
f6f4177d0a81 use ng2-table for results.
casties
parents: 20
diff changeset
12 import {QueryResultTableComponent} from './query-result-table.component';
0
39ec75917ef7 first checkin
casties
parents:
diff changeset
13
39ec75917ef7 first checkin
casties
parents:
diff changeset
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
39ec75917ef7 first checkin
casties
parents:
diff changeset
16 template: `
25
0795207f3b90 ng2-table now with pager, sorting and styling.
casties
parents: 24
diff changeset
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
fa646ee46c19 more query generation.
casties
parents: 7
diff changeset
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
fa646ee46c19 more query generation.
casties
parents: 7
diff changeset
21 [queryStep]="step" [index]="i"
fa646ee46c19 more query generation.
casties
parents: 7
diff changeset
22 (queryChanged)="onQueryChanged($event)"></query-select>
fa646ee46c19 more query generation.
casties
parents: 7
diff changeset
23 <div>
fa646ee46c19 more query generation.
casties
parents: 7
diff changeset
24 <button (click)="addQueryStep()">add step</button>
fa646ee46c19 more query generation.
casties
parents: 7
diff changeset
25 <button (click)="removeQueryStep()">remove step</button>
fa646ee46c19 more query generation.
casties
parents: 7
diff changeset
26 </div>
25
0795207f3b90 ng2-table now with pager, sorting and styling.
casties
parents: 24
diff changeset
27 <query-result-table *ngIf="queryState && queryState.results"
0795207f3b90 ng2-table now with pager, sorting and styling.
casties
parents: 24
diff changeset
28 [queryState]="queryState"
0795207f3b90 ng2-table now with pager, sorting and styling.
casties
parents: 24
diff changeset
29 [data]="queryState.results" [columns]="queryState.resultColumns">
0795207f3b90 ng2-table now with pager, sorting and styling.
casties
parents: 24
diff changeset
30 </query-result-table>
0795207f3b90 ng2-table now with pager, sorting and styling.
casties
parents: 24
diff changeset
31 </div>
0
39ec75917ef7 first checkin
casties
parents:
diff changeset
32 `,
24
f6f4177d0a81 use ng2-table for results.
casties
parents: 20
diff changeset
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
39ec75917ef7 first checkin
casties
parents:
diff changeset
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
fa646ee46c19 more query generation.
casties
parents: 7
diff changeset
42 this._queryService.setup();
20
34cd764e234b make interfaces into classes. factor out NormalizationService.
casties
parents: 13
diff changeset
43 this.queryStepList = [];
8
fa646ee46c19 more query generation.
casties
parents: 7
diff changeset
44 this.addQueryStep();
fa646ee46c19 more query generation.
casties
parents: 7
diff changeset
45 }
fa646ee46c19 more query generation.
casties
parents: 7
diff changeset
46
fa646ee46c19 more query generation.
casties
parents: 7
diff changeset
47 addQueryStep() {
20
34cd764e234b make interfaces into classes. factor out NormalizationService.
casties
parents: 13
diff changeset
48 this.queryStepList.push('step');
8
fa646ee46c19 more query generation.
casties
parents: 7
diff changeset
49 }
fa646ee46c19 more query generation.
casties
parents: 7
diff changeset
50
fa646ee46c19 more query generation.
casties
parents: 7
diff changeset
51 removeQueryStep() {
20
34cd764e234b make interfaces into classes. factor out NormalizationService.
casties
parents: 13
diff changeset
52 this.queryStepList.pop();
8
fa646ee46c19 more query generation.
casties
parents: 7
diff changeset
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
351c3df28602 work on result component.
casties
parents: 1
diff changeset
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
39ec75917ef7 first checkin
casties
parents:
diff changeset
61 }