Blame view

src/app/components/renderer.component.ts 1.4 KB
abf7c25f   Yarik   Dropdown
1
2
3
4
5
6
7
8
  import { Component } from '@angular/core';
  
  import { AgRendererComponent } from 'ag-grid-ng2/main';
  
  import { RegionSelectList } from '../models/regionselectlist';
  
  @Component({
      selector: 'render-cell',
35438055   Administrator   refactor bus stop
9
      template: `<span *ngIf="this.model">{{this.label}}</span>`
abf7c25f   Yarik   Dropdown
10
11
12
  })
  export class RendererComponent implements AgRendererComponent {
      private params: any;
18ac329f   Yarik   Editors
13
14
15
      private valueCol: string = 'id';
      private labelCol: string = 'name';
      private model: Object = null;
35438055   Administrator   refactor bus stop
16
      private label: string = null;
abf7c25f   Yarik   Dropdown
17
18
      agInit(params: any): void {
          this.params = params;
18ac329f   Yarik   Editors
19
20
21
22
23
24
          if (params.colDef.cellEditorParams && params.colDef.cellEditorParams.valueCol) {
              this.valueCol = params.colDef.cellEditorParams.valueCol;
          }
          if (params.colDef.cellEditorParams && params.colDef.cellEditorParams.labelCol) {
              this.labelCol = params.colDef.cellEditorParams.labelCol;
          }
abf7c25f   Yarik   Dropdown
25
26
27
28
          this.setValue(params);
      }
      refresh(params: any): void {
          this.params = params;
abf7c25f   Yarik   Dropdown
29
30
31
          this.setValue(params);
      }
      private setValue(params) {
18ac329f   Yarik   Editors
32
          this.model = params.value;
35438055   Administrator   refactor bus stop
33
34
35
36
37
38
39
40
41
          let label = this.params.colDef.cellEditorParams.data.find((element, index, array) => {
              if (element[this.valueCol] === params.value) {
                  return true;
              }
          });
          console.log(label, params);
          if (label) {
              this.label = label[this.labelCol];
          }
abf7c25f   Yarik   Dropdown
42
43
      }
  }