Commit 026fffbd1e6d662f0744057dfdf8e7c89f0cdd2f
1 parent
1392e7de
Awesome
Showing
10 changed files
with
106 additions
and
105 deletions
Show diff stats
src/app/data/bus-stop/bus-stop.component.ts
@@ -42,21 +42,6 @@ export class BusStopComponent extends StatementBase { | @@ -42,21 +42,6 @@ export class BusStopComponent extends StatementBase { | ||
42 | protected loadingService: TdLoadingService, | 42 | protected loadingService: TdLoadingService, |
43 | ) { | 43 | ) { |
44 | super(); | 44 | super(); |
45 | - this.initGrid(); | ||
46 | - this.booleanService.getModels().then((models: BooleanSelectList[]) => this.boolean = models); | ||
47 | - this.dataService.getModels().then((models: any) => { | ||
48 | - this.regions = models.regionSelectListDsM as RegionSelectList[]; | ||
49 | - this.states = models.stateCommonSelectListDsM as StateCommonSelectList[]; | ||
50 | - this.surfaceTypes = models.surfaceTypeSelectListDsM as SurfaceTypeSelectList[]; | ||
51 | - this.settlements = models.settlementSelectListDsM as SettlementSelectList[]; | ||
52 | - this.roads = models.roadSelectListDsM as RoadSelectList[]; | ||
53 | - }).then(() => { | ||
54 | - this.bootstrapGrid(); | ||
55 | - }); | ||
56 | - } | ||
57 | - | ||
58 | - protected createModel(): Object { | ||
59 | - return new BusStop(); | ||
60 | } | 45 | } |
61 | 46 | ||
62 | protected createColumnDefs(): any[] { | 47 | protected createColumnDefs(): any[] { |
@@ -192,4 +177,17 @@ export class BusStopComponent extends StatementBase { | @@ -192,4 +177,17 @@ export class BusStopComponent extends StatementBase { | ||
192 | }, | 177 | }, |
193 | ]; | 178 | ]; |
194 | } | 179 | } |
180 | + | ||
181 | + protected initFunction(): void { | ||
182 | + this.booleanService.getModels().then((models: BooleanSelectList[]) => this.boolean = models); | ||
183 | + this.dataService.getModels().then((models: any) => { | ||
184 | + this.regions = models.regionSelectListDsM as RegionSelectList[]; | ||
185 | + this.states = models.stateCommonSelectListDsM as StateCommonSelectList[]; | ||
186 | + this.surfaceTypes = models.surfaceTypeSelectListDsM as SurfaceTypeSelectList[]; | ||
187 | + this.settlements = models.settlementSelectListDsM as SettlementSelectList[]; | ||
188 | + this.roads = models.roadSelectListDsM as RoadSelectList[]; | ||
189 | + }).then(() => { | ||
190 | + this.bootstrapGrid(); | ||
191 | + }); | ||
192 | + } | ||
195 | } | 193 | } |
src/app/data/service-object/service-object.component.ts
@@ -35,25 +35,10 @@ export class ServiceObjectComponent extends StatementBase { | @@ -35,25 +35,10 @@ export class ServiceObjectComponent extends StatementBase { | ||
35 | 35 | ||
36 | constructor( | 36 | constructor( |
37 | protected service: ServiceObjectService, | 37 | protected service: ServiceObjectService, |
38 | - private dataService: ServiceObjectCreateService, | ||
39 | - private booleanService: BooleanSelectListService, | 38 | + protected dataService: ServiceObjectCreateService, |
39 | + protected booleanService: BooleanSelectListService, | ||
40 | ) { | 40 | ) { |
41 | super(); | 41 | super(); |
42 | - this.initGrid(); | ||
43 | - this.booleanService.getModels().then((models: BooleanSelectList[]) => this.boolean = models); | ||
44 | - this.dataService.getModels().then((models: any) => { | ||
45 | - this.regions = models.regionSelectListDsM as RegionSelectList[]; | ||
46 | - this.states = models.stateCommonSelectListDsM as StateCommonSelectList[]; | ||
47 | - this.departmentAffiliation = models.departmentAffiliationListDsM as DepartmentAffiliationList[]; | ||
48 | - this.settlements = models.settlementSelectListDsM as SettlementSelectList[]; | ||
49 | - this.roads = models.roadSelectListDsM as RoadSelectList[]; | ||
50 | - }).then(() => { | ||
51 | - this.bootstrapGrid(); | ||
52 | - }); | ||
53 | - } | ||
54 | - | ||
55 | - protected createModel(): Object { | ||
56 | - return new ServiceObject(); | ||
57 | } | 42 | } |
58 | 43 | ||
59 | protected createColumnDefs(): any[] { | 44 | protected createColumnDefs(): any[] { |
@@ -106,4 +91,17 @@ export class ServiceObjectComponent extends StatementBase { | @@ -106,4 +91,17 @@ export class ServiceObjectComponent extends StatementBase { | ||
106 | }, | 91 | }, |
107 | ]; | 92 | ]; |
108 | } | 93 | } |
94 | + | ||
95 | + protected initFunction(): void { | ||
96 | + this.booleanService.getModels().then((models: BooleanSelectList[]) => this.boolean = models); | ||
97 | + this.dataService.getModels().then((models: any) => { | ||
98 | + this.regions = models.regionSelectListDsM as RegionSelectList[]; | ||
99 | + this.states = models.stateCommonSelectListDsM as StateCommonSelectList[]; | ||
100 | + this.departmentAffiliation = models.departmentAffiliationListDsM as DepartmentAffiliationList[]; | ||
101 | + this.settlements = models.settlementSelectListDsM as SettlementSelectList[]; | ||
102 | + this.roads = models.roadSelectListDsM as RoadSelectList[]; | ||
103 | + }).then(() => { | ||
104 | + this.bootstrapGrid(); | ||
105 | + }); | ||
106 | + } | ||
109 | } | 107 | } |
src/models/statement.base.ts
1 | -import { AfterViewInit } from '@angular/core'; | 1 | +import { AfterViewInit, OnInit } from '@angular/core'; |
2 | import { TdLoadingService } from '@covalent/core'; | 2 | import { TdLoadingService } from '@covalent/core'; |
3 | import { GridOptions, IGetRowsParams, IRowModel, RowNode } from 'ag-grid/main'; | 3 | import { GridOptions, IGetRowsParams, IRowModel, RowNode } from 'ag-grid/main'; |
4 | +import { StatementBaseService } from '../services/statement.base.service'; | ||
4 | 5 | ||
5 | -export abstract class StatementBase implements AfterViewInit { | 6 | +export abstract class StatementBase implements AfterViewInit, OnInit { |
6 | protected columnDefs: any[]; | 7 | protected columnDefs: any[]; |
7 | protected gridOptions: GridOptions; | 8 | protected gridOptions: GridOptions; |
8 | - protected service: any; | 9 | + protected service: StatementBaseService; |
9 | protected loadingService: TdLoadingService; | 10 | protected loadingService: TdLoadingService; |
10 | public showGrid: boolean; | 11 | public showGrid: boolean; |
11 | public rowCount: string; | 12 | public rowCount: string; |
@@ -14,6 +15,11 @@ export abstract class StatementBase implements AfterViewInit { | @@ -14,6 +15,11 @@ export abstract class StatementBase implements AfterViewInit { | ||
14 | public isSelected: boolean = false; | 15 | public isSelected: boolean = false; |
15 | public isNew: boolean = false; | 16 | public isNew: boolean = false; |
16 | 17 | ||
18 | + ngOnInit(): void { | ||
19 | + this.initGrid(); | ||
20 | + this.initFunction(); | ||
21 | + } | ||
22 | + | ||
17 | ngAfterViewInit(): void { | 23 | ngAfterViewInit(): void { |
18 | this.gridOptions.api.setDatasource(this.setRowData()); | 24 | this.gridOptions.api.setDatasource(this.setRowData()); |
19 | } | 25 | } |
@@ -46,6 +52,7 @@ export abstract class StatementBase implements AfterViewInit { | @@ -46,6 +52,7 @@ export abstract class StatementBase implements AfterViewInit { | ||
46 | this.gridOptions.enableServerSideSorting = true; | 52 | this.gridOptions.enableServerSideSorting = true; |
47 | this.showGrid = true; | 53 | this.showGrid = true; |
48 | this.gridOptions.rowModelType = 'virtual'; | 54 | this.gridOptions.rowModelType = 'virtual'; |
55 | + this.gridOptions.paginationPageSize = 25; | ||
49 | } | 56 | } |
50 | 57 | ||
51 | protected bootstrapGrid(): void { | 58 | protected bootstrapGrid(): void { |
@@ -212,6 +219,9 @@ export abstract class StatementBase implements AfterViewInit { | @@ -212,6 +219,9 @@ export abstract class StatementBase implements AfterViewInit { | ||
212 | console.log('onColumnEvent: ' + $event); | 219 | console.log('onColumnEvent: ' + $event); |
213 | } | 220 | } |
214 | 221 | ||
215 | - protected abstract createModel(): Object; | 222 | + protected createModel(): Object { |
223 | + return this.service.createModel(); | ||
224 | + }; | ||
216 | protected abstract createColumnDefs(): any[]; | 225 | protected abstract createColumnDefs(): any[]; |
226 | + protected abstract initFunction(): void; | ||
217 | } | 227 | } |
src/services/boolean-select-list.service.ts
1 | import { Injectable } from '@angular/core'; | 1 | import { Injectable } from '@angular/core'; |
2 | +import { Http } from '@angular/http'; | ||
3 | + | ||
4 | +import { CreateBaseService } from './create.base.service'; | ||
2 | 5 | ||
3 | import { BooleanSelectList } from '../models/boolean-select-list'; | 6 | import { BooleanSelectList } from '../models/boolean-select-list'; |
4 | 7 | ||
5 | @Injectable() | 8 | @Injectable() |
6 | -export class BooleanSelectListService { | 9 | +export class BooleanSelectListService extends CreateBaseService { |
10 | + protected apiUrl: string = ''; | ||
11 | + constructor(protected http: Http) { | ||
12 | + super(http); | ||
13 | + } | ||
7 | getModels(): Promise<BooleanSelectList[]> { | 14 | getModels(): Promise<BooleanSelectList[]> { |
8 | - let values = []; | ||
9 | - let trueValue = new BooleanSelectList(); | 15 | + let values: BooleanSelectList[] = []; |
16 | + let trueValue: BooleanSelectList = new BooleanSelectList(); | ||
10 | trueValue.value = 1; | 17 | trueValue.value = 1; |
11 | trueValue.label = 'ะะฐ'; | 18 | trueValue.label = 'ะะฐ'; |
12 | - let falseValue = new BooleanSelectList(); | 19 | + let falseValue: BooleanSelectList = new BooleanSelectList(); |
13 | falseValue.value = 0; | 20 | falseValue.value = 0; |
14 | falseValue.label = 'ะะตั'; | 21 | falseValue.label = 'ะะตั'; |
15 | values.push(falseValue); | 22 | values.push(falseValue); |
src/services/bus-stop-create.service.ts
1 | import { Injectable } from '@angular/core'; | 1 | import { Injectable } from '@angular/core'; |
2 | -import { Headers, Http } from '@angular/http'; | 2 | +import { Http } from '@angular/http'; |
3 | 3 | ||
4 | -import 'rxjs/add/operator/toPromise'; | 4 | +import { CreateBaseService } from './create.base.service'; |
5 | 5 | ||
6 | @Injectable() | 6 | @Injectable() |
7 | -export class BusStopCreateService { | ||
8 | - private apiUrl = 'http://localhost:5000/busstop/directory'; | ||
9 | - private headers = new Headers({'Content-Type': 'applicaton/json'}); | ||
10 | - constructor(private http: Http) { } | ||
11 | - getModels(): Promise<any> { | ||
12 | - return this.http.get(this.apiUrl) | ||
13 | - .toPromise() | ||
14 | - .then(response => response.json()) | ||
15 | - .catch(this.handleError); | ||
16 | - } | ||
17 | - private handleError(error: any): Promise<any> { | ||
18 | - console.error('An error occured', error); | ||
19 | - return Promise.reject(error.message || error); | 7 | +export class BusStopCreateService extends CreateBaseService { |
8 | + protected apiUrl: string = 'http://localhost:5000/busstop/directory'; | ||
9 | + constructor(protected http: Http) { | ||
10 | + super(http); | ||
20 | } | 11 | } |
21 | } | 12 | } |
src/services/bus-stop.service.ts
1 | -import { BusStop } from '../models/bus-stop'; | ||
2 | import { Injectable } from '@angular/core'; | 1 | import { Injectable } from '@angular/core'; |
3 | -import { StatementBaseService } from '../services/statement.base.service'; | ||
4 | import { Http } from '@angular/http'; | 2 | import { Http } from '@angular/http'; |
5 | 3 | ||
4 | +import { StatementBaseService } from './statement.base.service'; | ||
5 | + | ||
6 | +import { BusStop } from '../models/bus-stop'; | ||
7 | + | ||
6 | @Injectable() | 8 | @Injectable() |
7 | export class BusStopService extends StatementBaseService { | 9 | export class BusStopService extends StatementBaseService { |
8 | protected url: string = 'http://localhost:5000/busstop'; | 10 | protected url: string = 'http://localhost:5000/busstop'; |
9 | constructor(protected http: Http) { | 11 | constructor(protected http: Http) { |
10 | super(http); | 12 | super(http); |
11 | } | 13 | } |
14 | + public createModel(): Object { | ||
15 | + return new BusStop(); | ||
16 | + } | ||
12 | protected parseModels(json: any): any[] { | 17 | protected parseModels(json: any): any[] { |
13 | return json.busStopEditDsM as BusStop[]; | 18 | return json.busStopEditDsM as BusStop[]; |
14 | }; | 19 | }; |
1 | +import { Headers, Http, Response } from '@angular/http'; | ||
2 | + | ||
3 | +export abstract class CreateBaseService { | ||
4 | + protected abstract apiUrl: string; | ||
5 | + protected headers: Headers = new Headers({'Content-Type': 'applicaton/json'}); | ||
6 | + constructor(protected http: Http) { } | ||
7 | + getModels(): Promise<any> { | ||
8 | + return this.http.get(this.apiUrl) | ||
9 | + .toPromise() | ||
10 | + .then((response: Response) => response.json()) | ||
11 | + .catch(this.handleError); | ||
12 | + } | ||
13 | + protected handleError(error: any): Promise<any> { | ||
14 | + console.error('An error occured', error); | ||
15 | + return Promise.reject(error.message || error); | ||
16 | + } | ||
17 | +} |
src/services/service-object-create.service.ts
1 | import { Injectable } from '@angular/core'; | 1 | import { Injectable } from '@angular/core'; |
2 | -import { Headers, Http } from '@angular/http'; | 2 | +import { Http } from '@angular/http'; |
3 | 3 | ||
4 | -import 'rxjs/add/operator/toPromise'; | 4 | +import { CreateBaseService } from './create.base.service'; |
5 | 5 | ||
6 | @Injectable() | 6 | @Injectable() |
7 | -export class ServiceObjectCreateService { | ||
8 | - private apiUrl = 'http://localhost:5000/serviceobject/directory'; | ||
9 | - private headers = new Headers({'Content-Type': 'applicaton/json'}); | ||
10 | - constructor(private http: Http) { } | ||
11 | - getModels(): Promise<any> { | ||
12 | - return this.http.get(this.apiUrl) | ||
13 | - .toPromise() | ||
14 | - .then(response => response.json()) | ||
15 | - .catch(this.handleError); | ||
16 | - } | ||
17 | - private handleError(error: any): Promise<any> { | ||
18 | - console.error('An error occured', error); | ||
19 | - return Promise.reject(error.message || error); | 7 | +export class ServiceObjectCreateService extends CreateBaseService { |
8 | + protected apiUrl: string = 'http://localhost:5000/serviceobject/directory'; | ||
9 | + constructor(protected http: Http) { | ||
10 | + super(http); | ||
20 | } | 11 | } |
21 | } | 12 | } |
src/services/service-object.service.ts
1 | import { Injectable } from '@angular/core'; | 1 | import { Injectable } from '@angular/core'; |
2 | import { Headers, Http } from '@angular/http'; | 2 | import { Headers, Http } from '@angular/http'; |
3 | 3 | ||
4 | -import 'rxjs/add/operator/toPromise'; | 4 | +import { StatementBaseService } from './statement.base.service'; |
5 | 5 | ||
6 | import { ServiceObject } from '../models/service-object'; | 6 | import { ServiceObject } from '../models/service-object'; |
7 | 7 | ||
8 | @Injectable() | 8 | @Injectable() |
9 | -export class ServiceObjectService { | ||
10 | - private url = 'http://localhost:5000/serviceobject'; | ||
11 | - private headers = new Headers({'Content-Type': 'application/json'}); | ||
12 | - constructor(private http: Http) { } | ||
13 | - getData(): Promise<ServiceObject[]> { | ||
14 | - return this.http.get(this.url) | ||
15 | - .toPromise() | ||
16 | - .then(response => response.json().serviceObjectEditDsM as ServiceObject[]) | ||
17 | - .catch(this.handleError); | ||
18 | - } | ||
19 | - update(id: number, data: string): Promise<any> { | ||
20 | - return this.http.post(this.url + '/update?id=' + id, data, { headers: this.headers }) | ||
21 | - .toPromise() | ||
22 | - .then(response => response.json()) | ||
23 | - .catch(this.handleError); | ||
24 | - } | ||
25 | - create(data: string): Promise<ServiceObject> { | ||
26 | - return this.http.post(this.url + '/create', data, { headers: this.headers }) | ||
27 | - .toPromise() | ||
28 | - .then(response => response.json() as ServiceObject) | ||
29 | - .catch(this.handleError); | ||
30 | - } | ||
31 | - delete(id: number): Promise<any> { | ||
32 | - return this.http.delete(this.url + '/delete?id=' + id, { headers: this.headers }) | ||
33 | - .toPromise() | ||
34 | - .then(response => response.json()) | ||
35 | - .catch(this.handleError); | ||
36 | - } | ||
37 | - private handleError(error: any): Promise<any> { | ||
38 | - console.error('An error occured', error); | ||
39 | - return Promise.reject(error.message || error); | ||
40 | - } | 9 | +export class ServiceObjectService extends StatementBaseService { |
10 | + protected url: string = 'http://localhost:5000/serviceobject'; | ||
11 | + constructor(protected http: Http) { | ||
12 | + super(http); | ||
13 | + } | ||
14 | + public createModel(): Object { | ||
15 | + return new ServiceObject(); | ||
16 | + } | ||
17 | + protected parseModels(json: any): any { | ||
18 | + return json.serviceObjectEditDsM as ServiceObject[]; | ||
19 | + } | ||
20 | + protected parseModel(json: any): any { | ||
21 | + return json as ServiceObject; | ||
22 | + } | ||
41 | } | 23 | } |
src/services/statement.base.service.ts
@@ -41,6 +41,8 @@ export abstract class StatementBaseService { | @@ -41,6 +41,8 @@ export abstract class StatementBaseService { | ||
41 | .catch(this.handleError); | 41 | .catch(this.handleError); |
42 | } | 42 | } |
43 | 43 | ||
44 | + public abstract createModel(): Object; | ||
45 | + | ||
44 | protected handleError(error: any): Promise<any> { | 46 | protected handleError(error: any): Promise<any> { |
45 | console.error('An error occured', error); | 47 | console.error('An error occured', error); |
46 | return Promise.reject(error.message || error); | 48 | return Promise.reject(error.message || error); |