src/app/component/popover/popover.component.ts
| changeDetection | ChangeDetectionStrategy.OnPush |
| exportAs | stbuiPopover |
| moduleId | module.id |
| providers |
PopoverService
|
| selector | stbui-popover |
| styleUrls | ./popover.component.scss |
| templateUrl | ./popover.component.html |
Properties |
|
Methods |
constructor(_popoverService: PopoverService, changeDetectorRef: ChangeDetectorRef)
|
|||||||||
|
Parameters :
|
| close |
close()
|
|
Returns :
void
|
| ngAfterContentInit |
ngAfterContentInit()
|
|
Returns :
void
|
| open |
open()
|
|
Returns :
void
|
| toggle |
toggle()
|
|
Returns :
void
|
| Private _focusTrapElement |
Type : ElementRef
|
Decorators :
@ViewChild('focusTrapElement', {static: false})
|
| templateRef |
Type : TemplateRef<any>
|
Decorators :
@ViewChild(TemplateRef, {static: false})
|
import {
Component,
ElementRef,
ViewChild,
TemplateRef,
AfterContentInit,
ChangeDetectionStrategy,
ChangeDetectorRef
} from '@angular/core';
import { FocusTrap, FocusTrapFactory } from '@angular/cdk/a11y';
import { PopoverService } from './popover.service';
@Component({
moduleId: module.id,
selector: 'stbui-popover',
templateUrl: './popover.component.html',
styleUrls: ['./popover.component.scss'],
exportAs: 'stbuiPopover',
changeDetection: ChangeDetectionStrategy.OnPush,
providers: [PopoverService]
})
export class PopoverComponent implements AfterContentInit {
@ViewChild(TemplateRef, { static: false }) templateRef: TemplateRef<any>;
@ViewChild('focusTrapElement', { static: false }) private _focusTrapElement: ElementRef;
constructor(
private _popoverService: PopoverService,
private changeDetectorRef: ChangeDetectorRef
) { }
ngAfterContentInit() { }
open() {
this._popoverService.afterOpened();
}
close() {
console.log('close');
}
toggle() {
console.log('toggle');
}
}
<ng-template>
<div class="stbui-popover-container" #focusTrapElement>
<ng-content></ng-content>
</div>
</ng-template>
./popover.component.scss