summaryrefslogtreecommitdiffstats
path: root/vid-webpack-master/src/app/shared/components/svg/svg-component.ts
blob: 2e464243247c7a8ccf7f623769a9e3a9af90cb88 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import {
  AfterViewChecked,
  Component,
  ElementRef,
  EventEmitter,
  Input,
  Output
} from "@angular/core";
import * as _ from 'lodash';

@Component({
  selector : 'vid-svg-icon',
  template: `    
      <svg-icon
        [mode]="mode"
        [size]="size"
        [name]="name"
        [testId]="testId"
        [clickable]="clickable">
    </svg-icon>
  `,


})
export class SvgComponent implements AfterViewChecked{
  @Input() mode : string = 'primary';
  @Input() size : string = 'large';
  @Input() testId : string = null;
  @Input() name : string = null;
  @Input() clickable : boolean = false;
  @Input() fill : string ;
  @Input() widthViewBox: string = null;
  @Input() heightViewBox: string = null;

  constructor(private elRef: ElementRef) {}

  ngAfterViewChecked(): void {
    if(!_.isNil(this.fill)){
      this.elRef.nativeElement.children[0].children[0].children[0].style.fill = this.fill;
    }

    if(this.widthViewBox && this.heightViewBox){
      this.elRef.nativeElement.children[0].children[0].children[0].setAttribute('viewBox', "1 1 " + this.widthViewBox + " " + this.heightViewBox)
    }

  }
}