Commit 076bf122ece39313614aef837265edf26b81db24
1 parent
919f866f
Styles
Showing
5 changed files
with
96 additions
and
10 deletions
Show diff stats
src/app/app.module.ts
... | ... | @@ -6,7 +6,7 @@ import { RouterModule } from '@angular/router'; |
6 | 6 | import { removeNgStyles, createNewHosts, createInputTransfer } from '@angularclass/hmr'; |
7 | 7 | |
8 | 8 | // Services |
9 | -import { RegionSelectListService } from './services/regionselectlist.service'; | |
9 | +import { BusStopCreateService } from './services/busstopcreate.service'; | |
10 | 10 | |
11 | 11 | /* |
12 | 12 | * Platform and Environment providers/directives/pipes |
... | ... | @@ -54,7 +54,7 @@ export type StoreType = { |
54 | 54 | providers: [ // expose our Services and Providers into Angular's dependency injection |
55 | 55 | ENV_PROVIDERS, |
56 | 56 | APP_PROVIDERS, |
57 | - RegionSelectListService | |
57 | + BusStopCreateService | |
58 | 58 | ] |
59 | 59 | }) |
60 | 60 | ... | ... |
src/app/pages/statements/components/busStop2/busStop2.component.ts
... | ... | @@ -4,8 +4,12 @@ import { BusStop2Service } from './busStop2.service'; |
4 | 4 | import { busStop2 } from './busStop2'; |
5 | 5 | import { LocalDataSource } from 'ng2-smart-table'; |
6 | 6 | import { GridOptions } from 'ag-grid/main'; |
7 | -import { RegionSelectListService } from '../../../../services/regionselectlist.service'; | |
7 | +import { BusStopCreateService } from '../../../../services/busstopcreate.service'; | |
8 | 8 | import { RegionSelectList } from '../../../../models/regionselectlist'; |
9 | +import { StateCommonSelectList } from '../../../../models/statecommonselectlist'; | |
10 | +import { RoadSelectList } from '../../../../models/roadselectlist'; | |
11 | +import { SettlementSelectList } from '../../../../models/settlementselectlist'; | |
12 | +import { SurfaceTypeSelectList } from '../../../../models/surfacetypeselectlist'; | |
9 | 13 | import { EditorComponent } from '../../../../components/editor.component'; |
10 | 14 | import { RendererComponent } from '../../../../components/renderer.component'; |
11 | 15 | |
... | ... | @@ -24,15 +28,26 @@ export class BusStop2 { |
24 | 28 | public rowData: any[]; |
25 | 29 | public rowCount: string; |
26 | 30 | public regions: RegionSelectList[]; |
31 | + public states: StateCommonSelectList[]; | |
32 | + public surfaceTypes: SurfaceTypeSelectList[]; | |
33 | + public settlements: SettlementSelectList[]; | |
34 | + public roads: RoadSelectList[]; | |
27 | 35 | private gridOptions: GridOptions; |
28 | 36 | private columnDefs: any[]; |
29 | 37 | |
30 | 38 | |
31 | - constructor(protected service: BusStop2Service, private regionlistservice: RegionSelectListService) { | |
32 | - this.regionlistservice.getModels().then(models => { | |
33 | - this.regions = models; | |
34 | - this.createColumnDefs(); | |
35 | - }); | |
39 | + constructor( | |
40 | + protected service: BusStop2Service, | |
41 | + private dataService: BusStopCreateService, | |
42 | + ) { | |
43 | + this.dataService.getModels().then(models => { | |
44 | + this.regions = models.regionSelectListDsM as RegionSelectList[]; | |
45 | + this.states = models.stateCommonSelectListDsM as StateCommonSelectList[]; | |
46 | + this.surfaceTypes = models.surfaceTypeSelectListDsM as SurfaceTypeSelectList[]; | |
47 | + this.settlements = models.settlementSelectListDsM as SettlementSelectList[]; | |
48 | + this.roads = models.roadSelectListDsM as RoadSelectList[]; | |
49 | + this.createColumnDefs(); | |
50 | + }); | |
36 | 51 | this.gridOptions = <GridOptions>{}; |
37 | 52 | // this.gridOptions.rowModelType = 'virtual'; |
38 | 53 | this.service.getData().then((data) => { |
... | ... | @@ -75,7 +90,14 @@ export class BusStop2 { |
75 | 90 | headerName: 'Назва дороги', |
76 | 91 | field: 'roadId', |
77 | 92 | editable: true, |
78 | - width: 150 | |
93 | + width: 150, | |
94 | + cellEditorFramework: EditorComponent, | |
95 | + cellRendererFramework: RendererComponent, | |
96 | + cellEditorParams: { | |
97 | + data: this.roads, | |
98 | + valueCol: 'roadId', | |
99 | + labelCol: 'name' | |
100 | + } | |
79 | 101 | }, |
80 | 102 | { |
81 | 103 | headerName: 'Область', |
... | ... | @@ -106,7 +128,14 @@ export class BusStop2 { |
106 | 128 | headerName: 'Технічний стан', |
107 | 129 | field: 'stateCommonId', |
108 | 130 | editable: true, |
109 | - width: 150 | |
131 | + width: 150, | |
132 | + cellEditorFramework: EditorComponent, | |
133 | + cellRendererFramework: RendererComponent, | |
134 | + cellEditorParams: { | |
135 | + data: this.states, | |
136 | + valueCol: 'commonStateId', | |
137 | + labelCol: 'value' | |
138 | + } | |
110 | 139 | } |
111 | 140 | ]; |
112 | 141 | } | ... | ... |
src/app/pages/statements/components/busStop2/busStop2.scss
... | ... | @@ -57,3 +57,16 @@ nav.ng2-smart-pagination-nav { |
57 | 57 | display: flex; |
58 | 58 | justify-content: center; |
59 | 59 | } |
60 | + | |
61 | +editor-cell div { | |
62 | + background: black; | |
63 | + height: 300px; | |
64 | + overflow-y: auto; | |
65 | + p { | |
66 | + padding: 5px; | |
67 | + cursor: pointer; | |
68 | + &:hover { | |
69 | + color: lightslategray; | |
70 | + } | |
71 | + } | |
72 | +} | ... | ... |
1 | +import { Injectable } from '@angular/core'; | |
2 | +import { Headers, Http } from '@angular/http'; | |
3 | + | |
4 | +import 'rxjs/add/operator/toPromise'; | |
5 | + | |
6 | +@Injectable() | |
7 | +export class BusStopCreateService { | |
8 | + private apiUrl = 'http://localhost:5000/busstop'; | |
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); | |
20 | + } | |
21 | +} | ... | ... |
src/app/services/statecommonselectlist.service.ts
1 | +import { Injectable } from '@angular/core'; | |
2 | +import { Headers, Http } from '@angular/http'; | |
3 | + | |
4 | +import 'rxjs/add/operator/toPromise'; | |
5 | + | |
6 | +import { StateCommonSelectList } from '../models/statecommonselectlist'; | |
7 | + | |
8 | +@Injectable() | |
9 | +export class StateCommonSelectListService { | |
10 | + private apiUrl = 'http://localhost:5000/directory/statecommonds'; | |
11 | + private headers = new Headers({'Content-Type': 'applicaton/json'}); | |
12 | + constructor(private http: Http) { } | |
13 | + getModels(): Promise<StateCommonSelectList[]> { | |
14 | + return this.http.get(this.apiUrl) | |
15 | + .toPromise() | |
16 | + .then(response => response.json().stateCommonSelectListDsM as StateCommonSelectList[]) | |
17 | + .catch(this.handleError); | |
18 | + } | |
19 | + private handleError(error: any): Promise<any> { | |
20 | + console.error('An error occured', error); | |
21 | + return Promise.reject(error.message || error); | |
22 | + } | |
23 | +} | ... | ... |