Mercurial > hg > ng2-query-ismi
view 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 |
line wrap: on
line source
import {Component} from 'angular2/core'; import {HTTP_PROVIDERS} from 'angular2/http'; import {QueryService} from './query.service'; import {QueryState} from './query-state'; import {QueryStep} from './query-step'; import {QuerySelectComponent} from './query-select.component'; import {QueryResultComponent} from './query-result.component'; @Component({ selector: 'query-app', template: ` <h1>Angular2 query builder</h1> <div>Select a query step:</div> <query-select *ngFor="#step of querySteps; #i=index;" [queryStep]="step" [index]="i" (queryChanged)="onQueryChanged($event)"></query-select> <div> <button (click)="addQueryStep()">add step</button> <button (click)="removeQueryStep()">remove step</button> </div> <query-result [queryState]="queryState"></query-result> `, directives: [QuerySelectComponent, QueryResultComponent], providers: [QueryService, HTTP_PROVIDERS] }) export class QueryAppComponent { public queryState: QueryState; public querySteps: QueryStep[]; constructor(private _queryService: QueryService) { this._queryService.setup(); this.querySteps = []; this.addQueryStep(); } addQueryStep() { this.querySteps.push({'mode': null}); //this.queryState = this._queryService.getState(); } removeQueryStep() { this._queryService.state.steps.pop(); //this.queryState = this._queryService.getState(); } onQueryChanged(event: any) { console.debug("app.onquerychanged! event=", event); this._queryService.updateQuery(); this.queryState = this._queryService.getState(); } }