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)
}
}
}
|