Commit 026fffbd1e6d662f0744057dfdf8e7c89f0cdd2f

Authored by Yarik
1 parent 1392e7de

Awesome

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 };
src/services/create.base.service.ts 0 โ†’ 100644
  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);