diff --git a/src/app/app.module.ts b/src/app/app.module.ts index bf923cf..fe53cd9 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -6,7 +6,7 @@ import { RouterModule } from '@angular/router'; import { removeNgStyles, createNewHosts, createInputTransfer } from '@angularclass/hmr'; // Services -import { RegionSelectListService } from './services/regionselectlist.service'; +import { BusStopCreateService } from './services/busstopcreate.service'; /* * Platform and Environment providers/directives/pipes @@ -54,7 +54,7 @@ export type StoreType = { providers: [ // expose our Services and Providers into Angular's dependency injection ENV_PROVIDERS, APP_PROVIDERS, - RegionSelectListService + BusStopCreateService ] }) diff --git a/src/app/pages/statements/components/busStop2/busStop2.component.ts b/src/app/pages/statements/components/busStop2/busStop2.component.ts index af702ea..819d6b6 100644 --- a/src/app/pages/statements/components/busStop2/busStop2.component.ts +++ b/src/app/pages/statements/components/busStop2/busStop2.component.ts @@ -4,8 +4,12 @@ import { BusStop2Service } from './busStop2.service'; import { busStop2 } from './busStop2'; import { LocalDataSource } from 'ng2-smart-table'; import { GridOptions } from 'ag-grid/main'; -import { RegionSelectListService } from '../../../../services/regionselectlist.service'; +import { BusStopCreateService } from '../../../../services/busstopcreate.service'; import { RegionSelectList } from '../../../../models/regionselectlist'; +import { StateCommonSelectList } from '../../../../models/statecommonselectlist'; +import { RoadSelectList } from '../../../../models/roadselectlist'; +import { SettlementSelectList } from '../../../../models/settlementselectlist'; +import { SurfaceTypeSelectList } from '../../../../models/surfacetypeselectlist'; import { EditorComponent } from '../../../../components/editor.component'; import { RendererComponent } from '../../../../components/renderer.component'; @@ -24,15 +28,26 @@ export class BusStop2 { public rowData: any[]; public rowCount: string; public regions: RegionSelectList[]; + public states: StateCommonSelectList[]; + public surfaceTypes: SurfaceTypeSelectList[]; + public settlements: SettlementSelectList[]; + public roads: RoadSelectList[]; private gridOptions: GridOptions; private columnDefs: any[]; - constructor(protected service: BusStop2Service, private regionlistservice: RegionSelectListService) { - this.regionlistservice.getModels().then(models => { - this.regions = models; - this.createColumnDefs(); - }); + constructor( + protected service: BusStop2Service, + private dataService: BusStopCreateService, + ) { + this.dataService.getModels().then(models => { + this.regions = models.regionSelectListDsM as RegionSelectList[]; + this.states = models.stateCommonSelectListDsM as StateCommonSelectList[]; + this.surfaceTypes = models.surfaceTypeSelectListDsM as SurfaceTypeSelectList[]; + this.settlements = models.settlementSelectListDsM as SettlementSelectList[]; + this.roads = models.roadSelectListDsM as RoadSelectList[]; + this.createColumnDefs(); + }); this.gridOptions = {}; // this.gridOptions.rowModelType = 'virtual'; this.service.getData().then((data) => { @@ -75,7 +90,14 @@ export class BusStop2 { headerName: 'Назва дороги', field: 'roadId', editable: true, - width: 150 + width: 150, + cellEditorFramework: EditorComponent, + cellRendererFramework: RendererComponent, + cellEditorParams: { + data: this.roads, + valueCol: 'roadId', + labelCol: 'name' + } }, { headerName: 'Область', @@ -106,7 +128,14 @@ export class BusStop2 { headerName: 'Технічний стан', field: 'stateCommonId', editable: true, - width: 150 + width: 150, + cellEditorFramework: EditorComponent, + cellRendererFramework: RendererComponent, + cellEditorParams: { + data: this.states, + valueCol: 'commonStateId', + labelCol: 'value' + } } ]; } diff --git a/src/app/pages/statements/components/busStop2/busStop2.scss b/src/app/pages/statements/components/busStop2/busStop2.scss index 6852454..4be0421 100644 --- a/src/app/pages/statements/components/busStop2/busStop2.scss +++ b/src/app/pages/statements/components/busStop2/busStop2.scss @@ -57,3 +57,16 @@ nav.ng2-smart-pagination-nav { display: flex; justify-content: center; } + +editor-cell div { + background: black; + height: 300px; + overflow-y: auto; + p { + padding: 5px; + cursor: pointer; + &:hover { + color: lightslategray; + } + } +} diff --git a/src/app/services/busstopcreate.service.ts b/src/app/services/busstopcreate.service.ts new file mode 100644 index 0000000..4261c09 --- /dev/null +++ b/src/app/services/busstopcreate.service.ts @@ -0,0 +1,21 @@ +import { Injectable } from '@angular/core'; +import { Headers, Http } from '@angular/http'; + +import 'rxjs/add/operator/toPromise'; + +@Injectable() +export class BusStopCreateService { + private apiUrl = 'http://localhost:5000/busstop'; + private headers = new Headers({'Content-Type': 'applicaton/json'}); + constructor(private http: Http) { } + getModels(): Promise { + return this.http.get(this.apiUrl) + .toPromise() + .then(response => response.json()) + .catch(this.handleError); + } + private handleError(error: any): Promise { + console.error('An error occured', error); + return Promise.reject(error.message || error); + } +} diff --git a/src/app/services/statecommonselectlist.service.ts b/src/app/services/statecommonselectlist.service.ts index e69de29..11634b7 100644 --- a/src/app/services/statecommonselectlist.service.ts +++ b/src/app/services/statecommonselectlist.service.ts @@ -0,0 +1,23 @@ +import { Injectable } from '@angular/core'; +import { Headers, Http } from '@angular/http'; + +import 'rxjs/add/operator/toPromise'; + +import { StateCommonSelectList } from '../models/statecommonselectlist'; + +@Injectable() +export class StateCommonSelectListService { + private apiUrl = 'http://localhost:5000/directory/statecommonds'; + private headers = new Headers({'Content-Type': 'applicaton/json'}); + constructor(private http: Http) { } + getModels(): Promise { + return this.http.get(this.apiUrl) + .toPromise() + .then(response => response.json().stateCommonSelectListDsM as StateCommonSelectList[]) + .catch(this.handleError); + } + private handleError(error: any): Promise { + console.error('An error occured', error); + return Promise.reject(error.message || error); + } +} -- libgit2 0.21.4