Blame view

src/app/data/road/road.component.ts 2.82 KB
e74fdc9c   Yarik   Button
1
  import { Component, ViewEncapsulation, AfterViewInit, ViewChild } from '@angular/core';
ad296a58   Yarik   Road
2
3
4
5
  import { TdLoadingService } from '@covalent/core';
  import { GridOptions, IGetRowsParams, IRowModel } from 'ag-grid/main';
  
  import { StatementBase } from '../../../models/statement.base';
e74fdc9c   Yarik   Button
6
  import { RoadMapComponent } from '../../../components/road-map.component';
ad296a58   Yarik   Road
7
8
9
10
11
12
13
14
15
  
  import { RoadService } from '../../../services/road.service';
  import { RoadCreateService } from '../../../services/road-create.service';
  import { Road } from '../../../models/road';
  import { EditorComponent } from '../../../helpers/editor.component';
  import { RendererComponent } from '../../../helpers/renderer.component';
  import { RoadTypeSelectList } from '../../../models/road-type-select-list';
  
  import { routerTransition } from '../../../animations/router.animation';
dc9a0e3c   Yarik   Road fatality
16
  import {Way} from "../../../models/way";
ad296a58   Yarik   Road
17
18
19
20
21
22
23
24
25
  
  @Component({
      // tslint:disable-next-line:component-selector
      selector: 'road-grid',
      templateUrl: 'road.component.html',
      styleUrls: ['road.scss'],
      encapsulation: ViewEncapsulation.None,
  })
  export class RoadComponent extends StatementBase {
e74fdc9c   Yarik   Button
26
27
    @ViewChild(RoadMapComponent)
    protected mapComponent: RoadMapComponent;
ad296a58   Yarik   Road
28
29
30
31
32
33
34
35
36
37
      public roadTypes: RoadTypeSelectList[];
  
      constructor(
          protected service: RoadService,
          protected dataService: RoadCreateService,
          protected loadingService: TdLoadingService,
      ) {
          super();
      }
  
e74fdc9c   Yarik   Button
38
      public showOnMap(): void {
dc9a0e3c   Yarik   Road fatality
39
40
41
42
43
44
45
46
        let selectedRows: any[] = this.gridOptions.api.getSelectedRows();
          if (selectedRows.length) {
              let id = selectedRows[0].id;
              this.service.getRelation(id).then(x =>  {
                  this.mapComponent.setWays(x);
                  return x;
              });
          }
e74fdc9c   Yarik   Button
47
48
      }
  
ad296a58   Yarik   Road
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
    protected createColumnDefs(): any[] {
      return [
        {
          headerName: '#',
          width: 30,
          checkboxSelection: true,
          suppressSorting: true,
          suppressMenu: true,
          pinned: true,
        },
        {
          headerName: 'ID',
          field: 'id',
        },
        {
          headerName: 'Назва дороги',
          field: 'name',
          editable: true,
        },
        {
          headerName: 'Індекс дороги',
          field: 'index',
          editable: true,
        },
        {
          headerName: 'Тип дороги',
          field: 'roadTypeId',
          editable: true,
          cellEditorFramework: EditorComponent,
          cellRendererFramework: RendererComponent,
          cellEditorParams: {
            data: this.roadTypes,
            valueCol: 'roadTypeId',
            labelCol: 'name',
          },
        },
      ];
    }
  
    protected initFunction(): void {
      this.dataService.getModels().then((models: any) => {
              this.roadTypes = models.roadTypeSelectListDsM as RoadTypeSelectList[];
        }).then(() => {
              this.bootstrapGrid();
        });
    }
  }