@duoduo-oba/ng-devui
Version:
DevUI components based on Angular
86 lines • 5.78 kB
JavaScript
/**
* @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==