Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 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 | 1x 4x 4x 4x 4x 4x 4x | import { HttpClient } from '@angular/common/http';
import { ChangeDetectionStrategy, Component, HostBinding, Injector, Input, OnInit } from '@angular/core';
import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
import { Observable } from 'rxjs';
import { map } from 'rxjs/operators';
import { WvrBaseComponent } from '../shared/wvr-base.component';
/**
* A reference to an Icon currently available in the configured assets.
*/
@Component({
selector: 'wvr-icon-component',
templateUrl: './wvr-icon.component.html',
styleUrls: ['./wvr-icon.component.scss'],
changeDetection: ChangeDetectionStrategy.Default
})
export class WvrIconComponent extends WvrBaseComponent implements OnInit {
/** An attribute input describing the icon set to which this icon belongs. */
@Input() set: string;
/** An attribute input describing the icon name of this icon. */
@Input() name: string;
/** An attribute input bound to the css variable `--wvr-icon-color`. */
@HostBinding('style.--wvr-icon-color') @Input() color: string;
/** An attribute input bound to the css variable `--wvr-icon-size`. */
@HostBinding('style.--wvr-icon-size') @Input() size = '24px';
iconSvg: Observable<SafeHtml>;
constructor(injector: Injector, private readonly http: HttpClient, protected readonly sanitizer: DomSanitizer) {
super(injector);
}
ngOnInit(): void {
super.ngOnInit();
const iconSvgUrl = `${this.appConfig.assetsUrl}/icons/${this.set}/${this.name}.svg`;
this.iconSvg = this.http.get(iconSvgUrl, {
responseType: 'text'
}).pipe(map((svg: string) => this.sanitizer.bypassSecurityTrustHtml(svg)));
}
}
|