UNPKG

theme-lib

Version:

This is a simple example Angular Library published to npm.

103 lines 7.18 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /* * @license * Copyright Akveo. All Rights Reserved. * Licensed under the MIT License. See License.txt in the project root for license information. */ import { Component, ElementRef, ViewChild } from '@angular/core'; import { NbFocusTrapFactoryService, NbPortalOutletDirective, } from '../cdk'; import { NbDialogConfig } from './dialog-config'; /* * Container component for each dialog. * All the dialogs will be attached to it. * // TODO add animations * */ export class NbDialogContainerComponent { /** * @param {?} config * @param {?} elementRef * @param {?} focusTrapFactory */ constructor(config, elementRef, focusTrapFactory) { this.config = config; this.elementRef = elementRef; this.focusTrapFactory = focusTrapFactory; } /** * @return {?} */ ngOnInit() { if (this.config.autoFocus) { this.focusTrap = this.focusTrapFactory.create(this.elementRef.nativeElement); this.focusTrap.blurPreviouslyFocusedElement(); this.focusTrap.focusInitialElement(); } } /** * @return {?} */ ngOnDestroy() { if (this.config.autoFocus && this.focusTrap) { this.focusTrap.restoreFocus(); } } /** * @template T * @param {?} portal * @return {?} */ attachComponentPortal(portal) { return this.portalOutlet.attachComponentPortal(portal); } /** * @template C * @param {?} portal * @return {?} */ attachTemplatePortal(portal) { return this.portalOutlet.attachTemplatePortal(portal); } } NbDialogContainerComponent.decorators = [ { type: Component, args: [{ selector: 'nb-dialog-container', template: '<ng-template nbPortalOutlet></ng-template>' }] } ]; /** @nocollapse */ NbDialogContainerComponent.ctorParameters = () => [ { type: NbDialogConfig }, { type: ElementRef }, { type: NbFocusTrapFactoryService } ]; NbDialogContainerComponent.propDecorators = { portalOutlet: [{ type: ViewChild, args: [NbPortalOutletDirective,] }] }; if (false) { /** @type {?} */ NbDialogContainerComponent.prototype.portalOutlet; /** * @type {?} * @protected */ NbDialogContainerComponent.prototype.focusTrap; /** * @type {?} * @protected */ NbDialogContainerComponent.prototype.config; /** * @type {?} * @protected */ NbDialogContainerComponent.prototype.elementRef; /** * @type {?} * @protected */ NbDialogContainerComponent.prototype.focusTrapFactory; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNvbnRhaW5lci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL3RoZW1lLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2RpYWxvZy9kaWFsb2ctY29udGFpbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQU1BLE9BQU8sRUFBRSxTQUFTLEVBQWdCLFVBQVUsRUFBc0MsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ILE9BQU8sRUFHTCx5QkFBeUIsRUFDekIsdUJBQXVCLEdBRXhCLE1BQU0sUUFBUSxDQUFDO0FBQ2hCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7O0FBWWpELE1BQU0sT0FBTywwQkFBMEI7Ozs7OztJQUtyQyxZQUFzQixNQUFzQixFQUN0QixVQUFzQixFQUN0QixnQkFBMkM7UUFGM0MsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFDdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQTJCO0lBQ2pFLENBQUM7Ozs7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRTtZQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUM3RSxJQUFJLENBQUMsU0FBUyxDQUFDLDRCQUE0QixFQUFFLENBQUM7WUFDOUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1NBQ3RDO0lBQ0gsQ0FBQzs7OztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDM0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUMvQjtJQUNILENBQUM7Ozs7OztJQUVELHFCQUFxQixDQUFJLE1BQTRCO1FBQ25ELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6RCxDQUFDOzs7Ozs7SUFFRCxvQkFBb0IsQ0FBSSxNQUEyQjtRQUNqRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEQsQ0FBQzs7O1lBbENGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUscUJBQXFCO2dCQUMvQixRQUFRLEVBQUUsNENBQTRDO2FBQ3ZEOzs7O1lBWFEsY0FBYztZQVRXLFVBQVU7WUFLMUMseUJBQXlCOzs7MkJBaUJ4QixTQUFTLFNBQUMsdUJBQXVCOzs7O0lBQWxDLGtEQUEwRTs7Ozs7SUFFMUUsK0NBQWlDOzs7OztJQUVyQiw0Q0FBZ0M7Ozs7O0lBQ2hDLGdEQUFnQzs7Ozs7SUFDaEMsc0RBQXFEIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQGxpY2Vuc2VcclxuICogQ29weXJpZ2h0IEFrdmVvLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxyXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSBMaWNlbnNlLnR4dCBpbiB0aGUgcHJvamVjdCByb290IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uLlxyXG4gKi9cclxuXHJcbmltcG9ydCB7IENvbXBvbmVudCwgQ29tcG9uZW50UmVmLCBFbGVtZW50UmVmLCBFbWJlZGRlZFZpZXdSZWYsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7XHJcbiAgTmJDb21wb25lbnRQb3J0YWwsXHJcbiAgTmJGb2N1c1RyYXAsXHJcbiAgTmJGb2N1c1RyYXBGYWN0b3J5U2VydmljZSxcclxuICBOYlBvcnRhbE91dGxldERpcmVjdGl2ZSxcclxuICBOYlRlbXBsYXRlUG9ydGFsLFxyXG59IGZyb20gJy4uL2Nkayc7XHJcbmltcG9ydCB7IE5iRGlhbG9nQ29uZmlnIH0gZnJvbSAnLi9kaWFsb2ctY29uZmlnJztcclxuXHJcblxyXG4vKlxyXG4gKiBDb250YWluZXIgY29tcG9uZW50IGZvciBlYWNoIGRpYWxvZy5cclxuICogQWxsIHRoZSBkaWFsb2dzIHdpbGwgYmUgYXR0YWNoZWQgdG8gaXQuXHJcbiAqIC8vIFRPRE8gYWRkIGFuaW1hdGlvbnNcclxuICogKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICduYi1kaWFsb2ctY29udGFpbmVyJyxcclxuICB0ZW1wbGF0ZTogJzxuZy10ZW1wbGF0ZSBuYlBvcnRhbE91dGxldD48L25nLXRlbXBsYXRlPicsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOYkRpYWxvZ0NvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBAVmlld0NoaWxkKE5iUG9ydGFsT3V0bGV0RGlyZWN0aXZlKSBwb3J0YWxPdXRsZXQ6IE5iUG9ydGFsT3V0bGV0RGlyZWN0aXZlO1xyXG5cclxuICBwcm90ZWN0ZWQgZm9jdXNUcmFwOiBOYkZvY3VzVHJhcDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGNvbmZpZzogTmJEaWFsb2dDb25maWcsXHJcbiAgICAgICAgICAgICAgcHJvdGVjdGVkIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICAgICAgICAgICAgcHJvdGVjdGVkIGZvY3VzVHJhcEZhY3Rvcnk6IE5iRm9jdXNUcmFwRmFjdG9yeVNlcnZpY2UpIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMuY29uZmlnLmF1dG9Gb2N1cykge1xyXG4gICAgICB0aGlzLmZvY3VzVHJhcCA9IHRoaXMuZm9jdXNUcmFwRmFjdG9yeS5jcmVhdGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgICB0aGlzLmZvY3VzVHJhcC5ibHVyUHJldmlvdXNseUZvY3VzZWRFbGVtZW50KCk7XHJcbiAgICAgIHRoaXMuZm9jdXNUcmFwLmZvY3VzSW5pdGlhbEVsZW1lbnQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgaWYgKHRoaXMuY29uZmlnLmF1dG9Gb2N1cyAmJiB0aGlzLmZvY3VzVHJhcCkge1xyXG4gICAgICB0aGlzLmZvY3VzVHJhcC5yZXN0b3JlRm9jdXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGF0dGFjaENvbXBvbmVudFBvcnRhbDxUPihwb3J0YWw6IE5iQ29tcG9uZW50UG9ydGFsPFQ+KTogQ29tcG9uZW50UmVmPFQ+IHtcclxuICAgIHJldHVybiB0aGlzLnBvcnRhbE91dGxldC5hdHRhY2hDb21wb25lbnRQb3J0YWwocG9ydGFsKTtcclxuICB9XHJcblxyXG4gIGF0dGFjaFRlbXBsYXRlUG9ydGFsPEM+KHBvcnRhbDogTmJUZW1wbGF0ZVBvcnRhbDxDPik6IEVtYmVkZGVkVmlld1JlZjxDPiB7XHJcbiAgICByZXR1cm4gdGhpcy5wb3J0YWxPdXRsZXQuYXR0YWNoVGVtcGxhdGVQb3J0YWwocG9ydGFsKTtcclxuICB9XHJcbn1cclxuIl19