import {Component, ViewEncapsulation} from '@angular/core'; import {GridOptions} from 'ag-grid/main'; import { TdLoadingService } from '@covalent/core'; import { StatementBase } from '../../../models/statement.base'; import { RoadWidth } from '../../../models/road-width'; import { EditorComponent } from '../../../helpers/editor.component'; import { RendererComponent } from '../../../helpers/renderer.component'; import { RoadWidthService } from '../../../services/road-width.service'; import { RoadWidthCreateService } from '../../../services/road-width-create.service'; import { RegionSelectList } from '../../../models/region-select-list'; import { RoadSelectList } from '../../../models/road-select-list'; import { routerTransition } from '../../../animations/router.animation'; @Component({ selector: 'road-width', templateUrl: 'road-width.component.html', styleUrls: ['road-width.scss'], encapsulation: ViewEncapsulation.None, }) export class RoadWidthComponent extends StatementBase { public regions: RegionSelectList[]; public roads: RoadSelectList[]; constructor( protected service: RoadWidthService, protected dataService: RoadWidthCreateService, protected loadingService: TdLoadingService, ) { super(); } protected createColumnDefs(): any[] { return [ { headerName: '#', width: 30, checkboxSelection: true, suppressSorting: true, suppressMenu: true, pinned: true, }, { headerName: 'ID', field: 'id', }, { headerName: 'Назва дороги', field: 'roadId', editable: true, cellEditorFramework: EditorComponent, cellRendererFramework: RendererComponent, cellEditorParams: { data: this.roads, valueCol: 'roadId', labelCol: 'name', }, }, { headerName: 'Область', field: 'regionId', editable: true, cellEditorFramework: EditorComponent, cellRendererFramework: RendererComponent, cellEditorParams: { data: this.regions, valueCol: 'regionId', labelCol: 'name', }, }, { headerName: 'Місцезнаходження, км+ початок', field: 'begin', editable: true, }, { headerName: 'Місцезнаходженя, км+ кінець', field: 'end', editable: true, }, { headerName: 'Ширина, узбіччя зліва', field: 'widthRoadsideLeft', editable: true, }, { headerName: 'Ширина, проїзна зворотнього напрямку', field: 'widthReverseRoad', editable: true, }, { headerName: 'Ширина, розподільча смуга', field: 'widthStrip', editable: true, }, { headerName: 'Ширина, проїзна прямого напрямку', field: 'widthRoadwayForward', editable: true, }, { headerName: 'Ширина, узбіччя справа', field: 'widthRoadsideRight', editable: true, }, { headerName: 'Кількість смуг руху зліва', field: 'countLaneLeft', editable: true, }, { headerName: 'Кількість смуг руху справа', field: 'countLaneRight', editable: true, }, ]; } protected initFunction(): void { this.dataService.getModels().then((models: any) => { this.regions = models.regionSelectListDsM as RegionSelectList[]; this.roads = models.roadSelectListDsM as RoadSelectList[]; }).then(() => { this.bootstrapGrid(); }); } // tslint:disable-next-line:member-ordering public CreateModel(): Object { return new RoadWidth(); } }