Mercurial > hg > ng2-query-ismi
comparison app/query-app.component.ts @ 8:fa646ee46c19
more query generation.
author | casties |
---|---|
date | Mon, 18 Jan 2016 09:52:46 +0100 |
parents | 6cd6c09032aa |
children | 66dce99cef4e |
comparison
equal
deleted
inserted
replaced
7:6cd6c09032aa | 8:fa646ee46c19 |
---|---|
1 import {Component} from 'angular2/core'; | 1 import {Component} from 'angular2/core'; |
2 import {HTTP_PROVIDERS} from 'angular2/http'; | 2 import {HTTP_PROVIDERS} from 'angular2/http'; |
3 | 3 |
4 import {QueryService} from './query.service'; | 4 import {QueryService} from './query.service'; |
5 import {QueryState} from './query-state'; | 5 import {QueryState} from './query-state'; |
6 import {QueryStep} from './query-step'; | |
7 | |
6 import {QuerySelectComponent} from './query-select.component'; | 8 import {QuerySelectComponent} from './query-select.component'; |
7 import {QueryResultComponent} from './query-result.component'; | 9 import {QueryResultComponent} from './query-result.component'; |
8 | 10 |
9 @Component({ | 11 @Component({ |
10 selector: 'query-app', | 12 selector: 'query-app', |
11 template: ` | 13 template: ` |
12 <h1>My Angular 2 Text: {{title}}</h1> | 14 <h1>Angular2 query builder</h1> |
13 <p>Selected query: {{selectedQuery}}</p> | 15 <div>Select a query step:</div> |
14 <query-select (queryChanged)="onQueryChanged($event)"></query-select> | 16 <query-select *ngFor="#step of querySteps; #i=index;" |
17 [queryStep]="step" [index]="i" | |
18 (queryChanged)="onQueryChanged($event)"></query-select> | |
19 <div> | |
20 <button (click)="addQueryStep()">add step</button> | |
21 <button (click)="removeQueryStep()">remove step</button> | |
22 </div> | |
15 <query-result [queryState]="queryState"></query-result> | 23 <query-result [queryState]="queryState"></query-result> |
16 `, | 24 `, |
17 directives: [QuerySelectComponent, QueryResultComponent], | 25 directives: [QuerySelectComponent, QueryResultComponent], |
18 providers: [QueryService, HTTP_PROVIDERS] | 26 providers: [QueryService, HTTP_PROVIDERS] |
19 }) | 27 }) |
20 | 28 |
21 export class QueryAppComponent { | 29 export class QueryAppComponent { |
22 public title = 'huhu!'; | |
23 public selectedQuery: string; | |
24 public queryState: QueryState; | 30 public queryState: QueryState; |
31 public querySteps: QueryStep[]; | |
25 | 32 |
26 constructor(private _queryService: QueryService) { | 33 constructor(private _queryService: QueryService) { |
34 this._queryService.setup(); | |
35 this.querySteps = []; | |
36 this.addQueryStep(); | |
37 } | |
38 | |
39 addQueryStep() { | |
40 this.querySteps.push({'mode': null}); | |
41 //this.queryState = this._queryService.getState(); | |
42 } | |
43 | |
44 removeQueryStep() { | |
45 this._queryService.state.steps.pop(); | |
46 //this.queryState = this._queryService.getState(); | |
27 } | 47 } |
28 | 48 |
29 onQueryChanged(event: any) { | 49 onQueryChanged(event: any) { |
30 console.debug("app.onquerychanged! event=", event); | 50 console.debug("app.onquerychanged! event=", event); |
31 this._queryService.updateQuery(); | 51 this._queryService.updateQuery(); |