UNPKG

@duoduo-oba/ng-devui

Version:

DevUI components based on Angular

86 lines 5.78 kB
/** * @fileoverview added by tsickle * Generated from: overlay-container-ref.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Injectable, ApplicationRef, Injector } from '@angular/core'; import { DocumentRef } from '@duoduo-oba/ng-devui/window-ref'; export class OverlayContainerRef { /** * @param {?} _appRef * @param {?} documentRef * @param {?} _injector */ constructor(_appRef, documentRef, _injector) { this._appRef = _appRef; this.documentRef = documentRef; this._injector = _injector; } /** * @param {?} viewRef * @return {?} */ insert(viewRef) { this._appRef.attachView(viewRef); this.documentRef.body.appendChild(((/** @type {?} */ (viewRef))).rootNodes[0]); return viewRef; } /** * @param {?} viewRef * @return {?} */ remove(viewRef) { viewRef.destroy(); } /** * @template C * @param {?} templateRef * @param {?=} context * @return {?} */ createEmbeddedView(templateRef, context) { /** @type {?} */ const viewRef = templateRef.createEmbeddedView(context || {}); return this.insert(viewRef); } /** * @template C * @param {?} componentFactory * @param {?=} injector * @param {?=} projectableNodes * @return {?} */ createComponent(componentFactory, injector, projectableNodes) { /** @type {?} */ const componentRef = (/** @type {?} */ (componentFactory.create(injector || this._injector, projectableNodes))); this.insert(componentRef.hostView); return componentRef; } } OverlayContainerRef.decorators = [ { type: Injectable } ]; /** @nocollapse */ OverlayContainerRef.ctorParameters = () => [ { type: ApplicationRef }, { type: DocumentRef }, { type: Injector } ]; if (false) { /** * @type {?} * @private */ OverlayContainerRef.prototype._appRef; /** * @type {?} * @private */ OverlayContainerRef.prototype.documentRef; /** * @type {?} * @private */ OverlayContainerRef.prototype._injector; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1jb250YWluZXItcmVmLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZGV2dWkvb3ZlcmxheS1jb250YWluZXIvIiwic291cmNlcyI6WyJvdmVybGF5LWNvbnRhaW5lci1yZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQ0wsVUFBVSxFQUNWLGNBQWMsRUFDZCxRQUFRLEVBT1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBR2xELE1BQU0sT0FBTyxtQkFBbUI7Ozs7OztJQUU5QixZQUFvQixPQUF1QixFQUN2QixXQUF3QixFQUN4QixTQUFtQjtRQUZuQixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixjQUFTLEdBQVQsU0FBUyxDQUFVO0lBQ3ZDLENBQUM7Ozs7O0lBR0QsTUFBTSxDQUFDLE9BQWdCO1FBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLG1CQUFBLE9BQU8sRUFBd0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xGLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Ozs7O0lBRUQsTUFBTSxDQUFDLE9BQWdCO1FBQ3JCLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNwQixDQUFDOzs7Ozs7O0lBRUQsa0JBQWtCLENBQUksV0FBNkIsRUFBRSxPQUFXOztjQUN4RCxPQUFPLEdBQUcsV0FBVyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDN0QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlCLENBQUM7Ozs7Ozs7O0lBRUQsZUFBZSxDQUFJLGdCQUFxQyxFQUNyQyxRQUFtQixFQUNuQixnQkFBMEI7O2NBQ3JDLFlBQVksR0FBRyxtQkFBQSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsRUFBbUI7UUFDN0csSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkMsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQzs7O1lBOUJGLFVBQVU7Ozs7WUFaVCxjQUFjO1lBVVAsV0FBVztZQVRsQixRQUFROzs7Ozs7O0lBY0ksc0NBQStCOzs7OztJQUMvQiwwQ0FBZ0M7Ozs7O0lBQ2hDLHdDQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgSW5qZWN0YWJsZSxcclxuICBBcHBsaWNhdGlvblJlZixcclxuICBJbmplY3RvcixcclxuICBFbGVtZW50UmVmLFxyXG4gIFZpZXdSZWYsXHJcbiAgRW1iZWRkZWRWaWV3UmVmLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIENvbXBvbmVudEZhY3RvcnksXHJcbiAgQ29tcG9uZW50UmVmXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBEb2N1bWVudFJlZiB9IGZyb20gJ25nLWRldnVpL3dpbmRvdy1yZWYnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgT3ZlcmxheUNvbnRhaW5lclJlZiB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2FwcFJlZjogQXBwbGljYXRpb25SZWYsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBkb2N1bWVudFJlZjogRG9jdW1lbnRSZWYsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgfVxyXG5cclxuXHJcbiAgaW5zZXJ0KHZpZXdSZWY6IFZpZXdSZWYpOiBWaWV3UmVmIHtcclxuICAgIHRoaXMuX2FwcFJlZi5hdHRhY2hWaWV3KHZpZXdSZWYpO1xyXG4gICAgdGhpcy5kb2N1bWVudFJlZi5ib2R5LmFwcGVuZENoaWxkKCh2aWV3UmVmIGFzIEVtYmVkZGVkVmlld1JlZjxhbnk+KS5yb290Tm9kZXNbMF0pO1xyXG4gICAgcmV0dXJuIHZpZXdSZWY7XHJcbiAgfVxyXG5cclxuICByZW1vdmUodmlld1JlZjogVmlld1JlZikge1xyXG4gICAgdmlld1JlZi5kZXN0cm95KCk7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVFbWJlZGRlZFZpZXc8Qz4odGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sIGNvbnRleHQ/OiBDKSB7XHJcbiAgICBjb25zdCB2aWV3UmVmID0gdGVtcGxhdGVSZWYuY3JlYXRlRW1iZWRkZWRWaWV3KGNvbnRleHQgfHwge30pO1xyXG4gICAgcmV0dXJuIHRoaXMuaW5zZXJ0KHZpZXdSZWYpO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlQ29tcG9uZW50PEM+KGNvbXBvbmVudEZhY3Rvcnk6IENvbXBvbmVudEZhY3Rvcnk8Qz4sXHJcbiAgICAgICAgICAgICAgICAgICAgIGluamVjdG9yPzogSW5qZWN0b3IsXHJcbiAgICAgICAgICAgICAgICAgICAgIHByb2plY3RhYmxlTm9kZXM/OiBhbnlbXVtdKSB7XHJcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSBjb21wb25lbnRGYWN0b3J5LmNyZWF0ZShpbmplY3RvciB8fCB0aGlzLl9pbmplY3RvciwgcHJvamVjdGFibGVOb2RlcykgYXMgQ29tcG9uZW50UmVmPEM+O1xyXG4gICAgdGhpcy5pbnNlcnQoY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcclxuICAgIHJldHVybiBjb21wb25lbnRSZWY7XHJcbiAgfVxyXG59XHJcbiJdfQ==