annotate src/app/query-app.component.ts @ 48:f8d6f8479e77 ng2-final

first working version with angular 2.4 (using old table w/o pager).
author casties
date Mon, 20 Mar 2017 18:12:48 +0100
parents b65a031c4967
children 308c96f734c8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
45
dc4f0541f04d update to angular2-rc1. mostly working ;-(
casties
parents: 40
diff changeset
1 import {Component} from '@angular/core';
47
b65a031c4967 first step to angular2-final (2.4) version of the query browser.
casties
parents: 45
diff changeset
2 //import {HTTP_PROVIDERS} from '@angular/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';
48
f8d6f8479e77 first working version with angular 2.4 (using old table w/o pager).
casties
parents: 47
diff changeset
11 import {QueryResultComponent} from './query-result.component';
f8d6f8479e77 first working version with angular 2.4 (using old table w/o pager).
casties
parents: 47
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>
26
991bf349bb04 re-display table more often.
casties
parents: 25
diff changeset
19 </div>
991bf349bb04 re-display table more often.
casties
parents: 25
diff changeset
20 <div class="container">
8
fa646ee46c19 more query generation.
casties
parents: 7
diff changeset
21 <div>Select a query step:</div>
45
dc4f0541f04d update to angular2-rc1. mostly working ;-(
casties
parents: 40
diff changeset
22 <query-select *ngFor="let step of queryStepList; let i=index;"
8
fa646ee46c19 more query generation.
casties
parents: 7
diff changeset
23 [queryStep]="step" [index]="i"
fa646ee46c19 more query generation.
casties
parents: 7
diff changeset
24 (queryChanged)="onQueryChanged($event)"></query-select>
fa646ee46c19 more query generation.
casties
parents: 7
diff changeset
25 <div>
fa646ee46c19 more query generation.
casties
parents: 7
diff changeset
26 <button (click)="addQueryStep()">add step</button>
fa646ee46c19 more query generation.
casties
parents: 7
diff changeset
27 <button (click)="removeQueryStep()">remove step</button>
fa646ee46c19 more query generation.
casties
parents: 7
diff changeset
28 </div>
26
991bf349bb04 re-display table more often.
casties
parents: 25
diff changeset
29 </div>
27
c2946b7135cd working on larger results.
casties
parents: 26
diff changeset
30 <div class="container">
33
739eb38ec2a2 more elvis operator :-)
casties
parents: 27
diff changeset
31 <query-result *ngIf="queryState?.results"
27
c2946b7135cd working on larger results.
casties
parents: 26
diff changeset
32 [resultInfo]="queryState.resultInfo"
c2946b7135cd working on larger results.
casties
parents: 26
diff changeset
33 [queryState]="queryState">
c2946b7135cd working on larger results.
casties
parents: 26
diff changeset
34 </query-result>
25
0795207f3b90 ng2-table now with pager, sorting and styling.
casties
parents: 24
diff changeset
35 </div>
0
39ec75917ef7 first checkin
casties
parents:
diff changeset
36 `,
47
b65a031c4967 first step to angular2-final (2.4) version of the query browser.
casties
parents: 45
diff changeset
37 //directives: [QuerySelectComponent, QueryResultTableComponent],
b65a031c4967 first step to angular2-final (2.4) version of the query browser.
casties
parents: 45
diff changeset
38 //providers: [QueryService, NormalizationService, HTTP_PROVIDERS]
0
39ec75917ef7 first checkin
casties
parents:
diff changeset
39 })
1
59b7c3afcc6b first interface and http request.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 0
diff changeset
40
7
6cd6c09032aa object type query with results!
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
41 export class QueryAppComponent {
6cd6c09032aa object type query with results!
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
42 public queryState: QueryState;
20
34cd764e234b make interfaces into classes. factor out NormalizationService.
casties
parents: 13
diff changeset
43 public queryStepList: string[];
5
b06a5d61afed new query state stuff.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 4
diff changeset
44
7
6cd6c09032aa object type query with results!
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
45 constructor(private _queryService: QueryService) {
8
fa646ee46c19 more query generation.
casties
parents: 7
diff changeset
46 this._queryService.setup();
20
34cd764e234b make interfaces into classes. factor out NormalizationService.
casties
parents: 13
diff changeset
47 this.queryStepList = [];
8
fa646ee46c19 more query generation.
casties
parents: 7
diff changeset
48 this.addQueryStep();
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 addQueryStep() {
20
34cd764e234b make interfaces into classes. factor out NormalizationService.
casties
parents: 13
diff changeset
52 this.queryStepList.push('step');
8
fa646ee46c19 more query generation.
casties
parents: 7
diff changeset
53 }
fa646ee46c19 more query generation.
casties
parents: 7
diff changeset
54
fa646ee46c19 more query generation.
casties
parents: 7
diff changeset
55 removeQueryStep() {
20
34cd764e234b make interfaces into classes. factor out NormalizationService.
casties
parents: 13
diff changeset
56 this.queryStepList.pop();
8
fa646ee46c19 more query generation.
casties
parents: 7
diff changeset
57 this._queryService.state.steps.pop();
5
b06a5d61afed new query state stuff.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 4
diff changeset
58 }
4
351c3df28602 work on result component.
casties
parents: 1
diff changeset
59
7
6cd6c09032aa object type query with results!
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
60 onQueryChanged(event: any) {
6cd6c09032aa object type query with results!
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
61 console.debug("app.onquerychanged! event=", event);
40
896ae7eefb33 fix relation type queries.
casties
parents: 33
diff changeset
62 this._queryService.runQuery();
7
6cd6c09032aa object type query with results!
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
63 this.queryState = this._queryService.getState();
6cd6c09032aa object type query with results!
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 6
diff changeset
64 }
0
39ec75917ef7 first checkin
casties
parents:
diff changeset
65 }