UNPKG

@anjuna/angular-core

Version:

<p align="center"> <img src="//cdn.zuora.com/theme/0.6.0/assets/anjuna/anjuna-logo.svg"/> <br/><br/> </p>

154 lines 10 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var DomOutlet = /** @class */ (function () { function DomOutlet(targetElement) { this.targetElement = targetElement; } /** * @template C * @param {?} template * @return {?} */ DomOutlet.prototype.attachTemplate = /** * @template C * @param {?} template * @return {?} */ function (template) { var _this = this; if (this.template.zone.isStable) { this._viewRef = this.template.zone.run((/** * @return {?} */ function () { return template.viewContainerRef.createEmbeddedView(template.templateRef, template.context); })); } else { this._viewRef = template.viewContainerRef.createEmbeddedView(template.templateRef, template.context); } this._viewRef.rootNodes.forEach((/** * @param {?} rootNode * @return {?} */ function (rootNode) { return _this.targetElement.appendChild(rootNode); })); this._viewRef.detectChanges(); this.setDisposeFn(((/** * @return {?} */ function () { /** @type {?} */ var index = template.viewContainerRef.indexOf(_this._viewRef); if (index !== -1) { template.viewContainerRef.remove(index); } }))); return this._viewRef; }; /** * @param {?} context * @return {?} */ DomOutlet.prototype.updateContext = /** * @param {?} context * @return {?} */ function (context) { for (var prop in context) { if (context.hasOwnProperty(prop)) { this._viewRef.context[prop] = context[prop]; } } this._viewRef.detectChanges(); }; /** * @param {?} fn * @return {?} */ DomOutlet.prototype.setDisposeFn = /** * @param {?} fn * @return {?} */ function (fn) { this.disposeFn = fn; }; /** * @param {?} template * @return {?} */ DomOutlet.prototype.attach = /** * @param {?} template * @return {?} */ function (template) { this.template = template; return this.attachTemplate(template); }; /** * @return {?} */ DomOutlet.prototype.detach = /** * @return {?} */ function () { if (this.template) { this.template.setAttachedHost(null); this.template = null; } this.invokeDisposeFn(); }; /** * @param {?=} removeParent * @return {?} */ DomOutlet.prototype.dispose = /** * @param {?=} removeParent * @return {?} */ function (removeParent) { if (removeParent === void 0) { removeParent = true; } this.disposeFn(); if (removeParent && this.targetElement.parentNode != null) { this.targetElement.parentNode.removeChild(this.targetElement); } return undefined; }; /** * @private * @return {?} */ DomOutlet.prototype.invokeDisposeFn = /** * @private * @return {?} */ function () { if (this.disposeFn) { this.disposeFn(); this.disposeFn = null; } }; return DomOutlet; }()); export { DomOutlet }; if (false) { /** * @type {?} * @private */ DomOutlet.prototype.disposeFn; /** * @type {?} * @private */ DomOutlet.prototype.template; /** * @type {?} * @private */ DomOutlet.prototype._viewRef; /** @type {?} */ DomOutlet.prototype.targetElement; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRG9tT3V0bGV0LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFuanVuYS9hbmd1bGFyLWNvcmUvIiwic291cmNlcyI6WyJsaWIvY29tbW9uL3RlbXBsYXRlL0RvbU91dGxldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBUUE7SUFLSSxtQkFBbUIsYUFBc0I7UUFBdEIsa0JBQWEsR0FBYixhQUFhLENBQVM7SUFBRyxDQUFDOzs7Ozs7SUFFN0Msa0NBQWM7Ozs7O0lBQWQsVUFBa0IsUUFBa0I7UUFBcEMsaUJBb0JDO1FBbkJHLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRzs7O1lBQUM7Z0JBQ25DLE9BQU8sUUFBUSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2hHLENBQUMsRUFBQyxDQUFDO1NBQ047YUFBTTtZQUNILElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3hHO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTzs7OztRQUFDLFVBQUEsUUFBUSxJQUFJLE9BQUEsS0FBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEVBQXhDLENBQXdDLEVBQUMsQ0FBQztRQUN0RixJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRTlCLElBQUksQ0FBQyxZQUFZLENBQUM7OztRQUFDOztnQkFDVCxLQUFLLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxLQUFJLENBQUMsUUFBUSxDQUFDO1lBQzlELElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxFQUFFO2dCQUNkLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDM0M7UUFDTCxDQUFDLEVBQUMsQ0FBQyxDQUFDO1FBRUosT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7Ozs7O0lBRUQsaUNBQWE7Ozs7SUFBYixVQUFjLE9BQThCO1FBQ3hDLEtBQUssSUFBTSxJQUFJLElBQUksT0FBTyxFQUFFO1lBQ3hCLElBQUksT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQy9DO1NBQ0o7UUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ2xDLENBQUM7Ozs7O0lBRUQsZ0NBQVk7Ozs7SUFBWixVQUFhLEVBQWM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDeEIsQ0FBQzs7Ozs7SUFFRCwwQkFBTTs7OztJQUFOLFVBQU8sUUFBa0I7UUFDckIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7Ozs7SUFFRCwwQkFBTTs7O0lBQU47UUFDSSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDZixJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztTQUN4QjtRQUVELElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMzQixDQUFDOzs7OztJQUVELDJCQUFPOzs7O0lBQVAsVUFBUSxZQUFtQjtRQUFuQiw2QkFBQSxFQUFBLG1CQUFtQjtRQUN2QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakIsSUFBSSxZQUFZLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLElBQUksSUFBSSxFQUFFO1lBQ3ZELElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDakU7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDOzs7OztJQUVPLG1DQUFlOzs7O0lBQXZCO1FBQ0ksSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztTQUN6QjtJQUNMLENBQUM7SUFDTCxnQkFBQztBQUFELENBQUMsQUF2RUQsSUF1RUM7Ozs7Ozs7SUF0RUcsOEJBQXVDOzs7OztJQUN2Qyw2QkFBa0M7Ozs7O0lBQ2xDLDZCQUF1Qzs7SUFFM0Isa0NBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUaGlzIGlzIGJhc2VkIGhlYXZpbHkgb24gdGhlIE1hdGVyaWFsIENESyBEb21Qb3J0YWxPdXRsZXQuXG4gKiBJIGp1c3QgdHJpbW1lZCBpdCBkb3duIGEgYnVuY2guXG4gKi9cbmltcG9ydCB7IEVtYmVkZGVkVmlld1JlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBUZW1wbGF0ZSB9IGZyb20gJy4vVGVtcGxhdGUnO1xuXG5leHBvcnQgY2xhc3MgRG9tT3V0bGV0IHtcbiAgICBwcml2YXRlIGRpc3Bvc2VGbjogKCgpID0+IHZvaWQpIHwgbnVsbDtcbiAgICBwcml2YXRlIHRlbXBsYXRlOiBUZW1wbGF0ZSB8IG51bGw7XG4gICAgcHJpdmF0ZSBfdmlld1JlZjogRW1iZWRkZWRWaWV3UmVmPGFueT47XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgdGFyZ2V0RWxlbWVudDogRWxlbWVudCkge31cblxuICAgIGF0dGFjaFRlbXBsYXRlPEM+KHRlbXBsYXRlOiBUZW1wbGF0ZSk6IEVtYmVkZGVkVmlld1JlZjxDPiB7XG4gICAgICAgIGlmICh0aGlzLnRlbXBsYXRlLnpvbmUuaXNTdGFibGUpIHtcbiAgICAgICAgICAgIHRoaXMuX3ZpZXdSZWYgPSB0aGlzLnRlbXBsYXRlLnpvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGVtcGxhdGUudmlld0NvbnRhaW5lclJlZi5jcmVhdGVFbWJlZGRlZFZpZXcodGVtcGxhdGUudGVtcGxhdGVSZWYsIHRlbXBsYXRlLmNvbnRleHQpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl92aWV3UmVmID0gdGVtcGxhdGUudmlld0NvbnRhaW5lclJlZi5jcmVhdGVFbWJlZGRlZFZpZXcodGVtcGxhdGUudGVtcGxhdGVSZWYsIHRlbXBsYXRlLmNvbnRleHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fdmlld1JlZi5yb290Tm9kZXMuZm9yRWFjaChyb290Tm9kZSA9PiB0aGlzLnRhcmdldEVsZW1lbnQuYXBwZW5kQ2hpbGQocm9vdE5vZGUpKTtcbiAgICAgICAgdGhpcy5fdmlld1JlZi5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAgICAgdGhpcy5zZXREaXNwb3NlRm4oKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGVtcGxhdGUudmlld0NvbnRhaW5lclJlZi5pbmRleE9mKHRoaXMuX3ZpZXdSZWYpO1xuICAgICAgICAgICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgICAgICAgICAgIHRlbXBsYXRlLnZpZXdDb250YWluZXJSZWYucmVtb3ZlKGluZGV4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLl92aWV3UmVmO1xuICAgIH1cblxuICAgIHVwZGF0ZUNvbnRleHQoY29udGV4dDoge1twcm9wOiBzdHJpbmddOiBhbnl9KTogdm9pZCB7XG4gICAgICAgIGZvciAoY29uc3QgcHJvcCBpbiBjb250ZXh0KSB7XG4gICAgICAgICAgICBpZiAoY29udGV4dC5oYXNPd25Qcm9wZXJ0eShwcm9wKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3ZpZXdSZWYuY29udGV4dFtwcm9wXSA9IGNvbnRleHRbcHJvcF07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl92aWV3UmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBzZXREaXNwb3NlRm4oZm46ICgpID0+IHZvaWQpIHtcbiAgICAgICAgdGhpcy5kaXNwb3NlRm4gPSBmbjtcbiAgICB9XG5cbiAgICBhdHRhY2godGVtcGxhdGU6IFRlbXBsYXRlKTogRW1iZWRkZWRWaWV3UmVmPGFueT4ge1xuICAgICAgICB0aGlzLnRlbXBsYXRlID0gdGVtcGxhdGU7XG4gICAgICAgIHJldHVybiB0aGlzLmF0dGFjaFRlbXBsYXRlKHRlbXBsYXRlKTtcbiAgICB9XG5cbiAgICBkZXRhY2goKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnRlbXBsYXRlKSB7XG4gICAgICAgICAgICB0aGlzLnRlbXBsYXRlLnNldEF0dGFjaGVkSG9zdChudWxsKTtcbiAgICAgICAgICAgIHRoaXMudGVtcGxhdGUgPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pbnZva2VEaXNwb3NlRm4oKTtcbiAgICB9XG5cbiAgICBkaXNwb3NlKHJlbW92ZVBhcmVudCA9IHRydWUpOiB1bmRlZmluZWQge1xuICAgICAgICB0aGlzLmRpc3Bvc2VGbigpO1xuICAgICAgICBpZiAocmVtb3ZlUGFyZW50ICYmIHRoaXMudGFyZ2V0RWxlbWVudC5wYXJlbnROb2RlICE9IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMudGFyZ2V0RWxlbWVudC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMudGFyZ2V0RWxlbWVudCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGludm9rZURpc3Bvc2VGbigpIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzcG9zZUZuKSB7XG4gICAgICAgICAgICB0aGlzLmRpc3Bvc2VGbigpO1xuICAgICAgICAgICAgdGhpcy5kaXNwb3NlRm4gPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbiJdfQ==