my-lib/icon/icon.ts
changeDetection | ChangeDetectionStrategy.OnPush |
encapsulation | ViewEncapsulation.None |
selector | icon |
styleUrls | icon.less, |
templateUrl | ./icon.html |
Properties |
Inputs |
Accessors |
constructor(icon: IconStore)
|
||||||||
Defined in my-lib/icon/icon.ts:36
|
||||||||
Parameters :
|
loading
|
Type: |
Defined in my-lib/icon/icon.ts:34
|
name
|
Type: |
Defined in my-lib/icon/icon.ts:21
|
size
|
|
Defined in my-lib/icon/icon.ts:30
|
src
|
Type: |
Defined in my-lib/icon/icon.ts:25
|
type
|
Type: |
Defined in my-lib/icon/icon.ts:19
|
_classObj |
_classObj:
|
Type : Object
|
Default value : { [`am-icon`]: true }
|
Defined in my-lib/icon/icon.ts:18
|
Public icon |
icon:
|
Type : IconStore
|
Defined in my-lib/icon/icon.ts:39
|
name |
setname(val: string)
|
Defined in my-lib/icon/icon.ts:21
|
src |
setsrc(val: string)
|
Defined in my-lib/icon/icon.ts:25
|
size |
setsize(val: )
|
Defined in my-lib/icon/icon.ts:30
|
loading |
setloading(val: any)
|
Defined in my-lib/icon/icon.ts:34
|
import {
ViewEncapsulation, Component,
Input, HostBinding, OnInit,
InjectionToken, Inject, ChangeDetectionStrategy
} from '@angular/core';
import { setClassObj, isMeepoTrue } from 'meepo-utils';
import { HttpClient } from '@angular/common/http';
import { IconStore } from './icon.service';
@Component({
selector: 'icon',
templateUrl: './icon.html',
styleUrls: ['./icon.less', './patch.less'],
encapsulation: ViewEncapsulation.None,
changeDetection: ChangeDetectionStrategy.OnPush
})
export class IconComponent {
_classObj: Object = { [`am-icon`]: true };
@Input() type: string;
@Input()
set name(val: string) {
this.type = val;
}
@Input()
set src(val: string) {
this.type = val;
}
@Input()
set size(val: 'xss' | 'xs' | 'sm' | 'md' | 'lg') {
this._classObj = setClassObj('xss,xs,sm,md,lg', this._classObj, val, 'am-icon');
}
@Input()
set loading(val: any) {
this._classObj['am-icon-loading'] = isMeepoTrue(val);
}
constructor(
public icon: IconStore
) { }
}
<svg [ngClass]="_classObj">
<use [attr.xlinkHref]="'#'+type" [attr.href]="'#'+type" />
</svg>