@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
JavaScript
/**
* @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==