Mercurial > hg > ng2-query-ismi
diff src/app/query-app.component.ts @ 49:781a5387ca93
Merge with angular2-final branch
f8d6f8479e77011fd043c5feb2b14a476d0aaffc
author | casties |
---|---|
date | Mon, 20 Mar 2017 18:50:31 +0100 |
parents | f8d6f8479e77 |
children | 308c96f734c8 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/app/query-app.component.ts Mon Mar 20 18:50:31 2017 +0100 @@ -0,0 +1,65 @@ +import {Component} from '@angular/core'; +//import {HTTP_PROVIDERS} from '@angular/http'; + +import {QueryState} from './query-state'; +import {QueryStep} from './query-step'; + +import {QueryService} from './query.service'; +import {NormalizationService} from './normalization.service'; + +import {QuerySelectComponent} from './query-select.component'; +import {QueryResultComponent} from './query-result.component'; +//import {QueryResultTableComponent} from './query-result-table.component'; + +@Component({ + selector: 'query-app', + template: ` + <div class="container"> + <h1>ISMI-Lab Query Builder</h1> + </div> + <div class="container"> + <div>Select a query step:</div> + <query-select *ngFor="let step of queryStepList; let 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> + </div> + <div class="container"> + <query-result *ngIf="queryState?.results" + [resultInfo]="queryState.resultInfo" + [queryState]="queryState"> + </query-result> + </div> + `, + //directives: [QuerySelectComponent, QueryResultTableComponent], + //providers: [QueryService, NormalizationService, HTTP_PROVIDERS] +}) + +export class QueryAppComponent { + public queryState: QueryState; + public queryStepList: string[]; + + constructor(private _queryService: QueryService) { + this._queryService.setup(); + this.queryStepList = []; + this.addQueryStep(); + } + + addQueryStep() { + this.queryStepList.push('step'); + } + + removeQueryStep() { + this.queryStepList.pop(); + this._queryService.state.steps.pop(); + } + + onQueryChanged(event: any) { + console.debug("app.onquerychanged! event=", event); + this._queryService.runQuery(); + this.queryState = this._queryService.getState(); + } +}