UNPKG

@duoduo-oba/ng-devui

Version:

DevUI components based on Angular

85 lines 6.37 kB
/** * @fileoverview added by tsickle * Generated from: portal.component.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, ViewChild, TemplateRef, ApplicationRef, } from '@angular/core'; import { forEach } from 'lodash-es'; var PortalComponent = /** @class */ (function () { function PortalComponent(appRef) { this.appRef = appRef; } /** * @return {?} */ PortalComponent.prototype.addContent = /** * @return {?} */ function () { var _this = this; this.portalContainer = document.createElement('div'); this.viewRef = this.templateRef.createEmbeddedView(this); forEach(this.viewRef.rootNodes, (/** * @param {?} node * @return {?} */ function (node) { _this.portalContainer.appendChild(node); })); this.appRef.attachView(this.viewRef); document.body.appendChild(this.portalContainer); }; /** * @return {?} */ PortalComponent.prototype.open = /** * @return {?} */ function () { this.close(); this.addContent(); }; /** * @return {?} */ PortalComponent.prototype.close = /** * @return {?} */ function () { if (this.viewRef && this.portalContainer) { document.body.removeChild(this.portalContainer); this.viewRef.destroy(); this.viewRef = null; this.portalContainer = null; } }; PortalComponent.decorators = [ { type: Component, args: [{ selector: 'd-portal', template: "\n <ng-template #templateRef>\n <ng-content></ng-content>\n </ng-template>" }] } ]; /** @nocollapse */ PortalComponent.ctorParameters = function () { return [ { type: ApplicationRef } ]; }; PortalComponent.propDecorators = { templateRef: [{ type: ViewChild, args: ['templateRef', { static: true },] }] }; return PortalComponent; }()); export { PortalComponent }; if (false) { /** @type {?} */ PortalComponent.prototype.viewRef; /** @type {?} */ PortalComponent.prototype.portalContainer; /** @type {?} */ PortalComponent.prototype.templateRef; /** * @type {?} * @private */ PortalComponent.prototype.appRef; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWRldnVpL3BvcnRhbC8iLCJzb3VyY2VzIjpbInBvcnRhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUVULFNBQVMsRUFDVCxXQUFXLEVBQ1gsY0FBYyxHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBRWxDO0lBWUkseUJBQW9CLE1BQXNCO1FBQXRCLFdBQU0sR0FBTixNQUFNLENBQWdCO0lBQzFDLENBQUM7Ozs7SUFFRCxvQ0FBVTs7O0lBQVY7UUFBQSxpQkFRQztRQVBHLElBQUksQ0FBQyxlQUFlLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekQsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUzs7OztRQUFFLFVBQUMsSUFBSTtZQUNqQyxLQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQyxDQUFDLEVBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDcEQsQ0FBQzs7OztJQUVELDhCQUFJOzs7SUFBSjtRQUNJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN0QixDQUFDOzs7O0lBRUQsK0JBQUs7OztJQUFMO1FBQ0ksSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDdEMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ2hELElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDcEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7U0FDL0I7SUFDTCxDQUFDOztnQkFyQ0osU0FBUyxTQUFDO29CQUNQLFFBQVEsRUFBRSxVQUFVO29CQUNwQixRQUFRLEVBQUUsd0lBR3FCO2lCQUNsQzs7OztnQkFYRyxjQUFjOzs7OEJBZWIsU0FBUyxTQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7O0lBNEI5QyxzQkFBQztDQUFBLEFBdENELElBc0NDO1NBL0JZLGVBQWU7OztJQUN4QixrQ0FBOEI7O0lBQzlCLDBDQUE2Qjs7SUFDN0Isc0NBQTBFOzs7OztJQUU5RCxpQ0FBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgRW1iZWRkZWRWaWV3UmVmLFxyXG4gICAgVmlld0NoaWxkLFxyXG4gICAgVGVtcGxhdGVSZWYsXHJcbiAgICBBcHBsaWNhdGlvblJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7Zm9yRWFjaH0gZnJvbSAnbG9kYXNoLWVzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdkLXBvcnRhbCcsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZVJlZj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+YCxcclxufSlcclxuZXhwb3J0IGNsYXNzIFBvcnRhbENvbXBvbmVudCB7XHJcbiAgICB2aWV3UmVmOiBFbWJlZGRlZFZpZXdSZWY8YW55PjtcclxuICAgIHBvcnRhbENvbnRhaW5lcjogSFRNTEVsZW1lbnQ7XHJcbiAgICBAVmlld0NoaWxkKCd0ZW1wbGF0ZVJlZicsIHsgc3RhdGljOiB0cnVlIH0pIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBwUmVmOiBBcHBsaWNhdGlvblJlZikge1xyXG4gICAgfVxyXG5cclxuICAgIGFkZENvbnRlbnQoKSB7XHJcbiAgICAgICAgdGhpcy5wb3J0YWxDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICB0aGlzLnZpZXdSZWYgPSB0aGlzLnRlbXBsYXRlUmVmLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzKTtcclxuICAgICAgICBmb3JFYWNoKHRoaXMudmlld1JlZi5yb290Tm9kZXMsIChub2RlKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMucG9ydGFsQ29udGFpbmVyLmFwcGVuZENoaWxkKG5vZGUpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuYXBwUmVmLmF0dGFjaFZpZXcodGhpcy52aWV3UmVmKTtcclxuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMucG9ydGFsQ29udGFpbmVyKTtcclxuICAgIH1cclxuXHJcbiAgICBvcGVuKCkge1xyXG4gICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgICB0aGlzLmFkZENvbnRlbnQoKTtcclxuICAgIH1cclxuXHJcbiAgICBjbG9zZSgpIHtcclxuICAgICAgICBpZiAodGhpcy52aWV3UmVmICYmIHRoaXMucG9ydGFsQ29udGFpbmVyKSB7XHJcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGhpcy5wb3J0YWxDb250YWluZXIpO1xyXG4gICAgICAgICAgICB0aGlzLnZpZXdSZWYuZGVzdHJveSgpO1xyXG4gICAgICAgICAgICB0aGlzLnZpZXdSZWYgPSBudWxsO1xyXG4gICAgICAgICAgICB0aGlzLnBvcnRhbENvbnRhaW5lciA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==