|
|
@ -0,0 +1,27 @@ |
|
|
|
import { Directive, Host, Input, TemplateRef, ViewContainerRef } from '@angular/core'; |
|
|
|
import { LimitDirective } from './limit.directive'; |
|
|
|
|
|
|
|
@Directive({ |
|
|
|
selector: '[appLimitCase]' |
|
|
|
}) |
|
|
|
export class LimitCaseDirective { |
|
|
|
|
|
|
|
constructor( private viewContainer: ViewContainerRef, |
|
|
|
private templateRef: TemplateRef<Object>, |
|
|
|
@Host() private limit: LimitDirective) {} |
|
|
|
private hasView=false; |
|
|
|
@Input() |
|
|
|
set appLimitCase(value:string){ |
|
|
|
const condition = value ===this.limit.appLimit; |
|
|
|
if(condition&&!this.hasView){ |
|
|
|
this.viewContainer.createEmbeddedView( |
|
|
|
this.templateRef |
|
|
|
); |
|
|
|
this.hasView=true; |
|
|
|
}else if(!condition && this.hasView) |
|
|
|
{ |
|
|
|
this.viewContainer.clear(); |
|
|
|
this.hasView=false; |
|
|
|
} |
|
|
|
} |
|
|
|
} |