@ngneat/transloco
Version:
The internationalization (i18n) library for Angular
83 lines • 5.5 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: lib/template-handler.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { TemplateRef, ComponentFactoryResolver } from '@angular/core';
import { isString } from './helpers';
import { TranslocoLoaderComponent } from './loader-component.component';
var TemplateHandler = /** @class */ (function () {
function TemplateHandler(view, vcr) {
this.view = view;
this.vcr = vcr;
this.injector = this.vcr.injector;
}
/**
* @return {?}
*/
TemplateHandler.prototype.attachView = /**
* @return {?}
*/
function () {
if (this.view instanceof TemplateRef) {
this.vcr.createEmbeddedView(this.view);
}
else if (isString(this.view)) {
/** @type {?} */
var componentRef = this.createComponent(TranslocoLoaderComponent);
componentRef.instance.html = this.view;
componentRef.hostView.detectChanges();
}
else {
this.createComponent(this.view);
}
};
/**
* @return {?}
*/
TemplateHandler.prototype.detachView = /**
* @return {?}
*/
function () {
this.vcr.clear();
};
/**
* @private
* @template T
* @param {?} cmp
* @return {?}
*/
TemplateHandler.prototype.createComponent = /**
* @private
* @template T
* @param {?} cmp
* @return {?}
*/
function (cmp) {
/** @type {?} */
var cfr = this.injector.get(ComponentFactoryResolver);
/** @type {?} */
var factory = cfr.resolveComponentFactory(cmp);
return this.vcr.createComponent(factory);
};
return TemplateHandler;
}());
export { TemplateHandler };
if (false) {
/**
* @type {?}
* @private
*/
TemplateHandler.prototype.injector;
/**
* @type {?}
* @private
*/
TemplateHandler.prototype.view;
/**
* @type {?}
* @private
*/
TemplateHandler.prototype.vcr;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZ25lYXQvdHJhbnNsb2NvLyIsInNvdXJjZXMiOlsibGliL3RlbXBsYXRlLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQWdCLFdBQVcsRUFBb0Isd0JBQXdCLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBQ3RILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDckMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFJeEU7SUFHRSx5QkFBb0IsSUFBVSxFQUFVLEdBQXFCO1FBQXpDLFNBQUksR0FBSixJQUFJLENBQU07UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFrQjtRQUMzRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO0lBQ3BDLENBQUM7Ozs7SUFFRCxvQ0FBVTs7O0lBQVY7UUFDRSxJQUFJLElBQUksQ0FBQyxJQUFJLFlBQVksV0FBVyxFQUFFO1lBQ3BDLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3hDO2FBQU0sSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFOztnQkFDeEIsWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQTJCLHdCQUF3QixDQUFDO1lBQzdGLFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDdkMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUN2QzthQUFNO1lBQ0wsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDakM7SUFDSCxDQUFDOzs7O0lBRUQsb0NBQVU7OztJQUFWO1FBQ0UsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNuQixDQUFDOzs7Ozs7O0lBRU8seUNBQWU7Ozs7OztJQUF2QixVQUEyQixHQUFjOztZQUNqQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUM7O1lBQ2pELE9BQU8sR0FBRyxHQUFHLENBQUMsdUJBQXVCLENBQUMsR0FBRyxDQUFDO1FBRWhELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUNILHNCQUFDO0FBQUQsQ0FBQyxBQTdCRCxJQTZCQzs7Ozs7OztJQTVCQyxtQ0FBMkI7Ozs7O0lBRWYsK0JBQWtCOzs7OztJQUFFLDhCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFJlZiwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYsIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgSW5qZWN0b3IsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgaXNTdHJpbmcgfSBmcm9tICcuL2hlbHBlcnMnO1xyXG5pbXBvcnQgeyBUcmFuc2xvY29Mb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL2xvYWRlci1jb21wb25lbnQuY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCB0eXBlIFZpZXcgPSBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+IHwgVHlwZTxhbnk+O1xyXG5cclxuZXhwb3J0IGNsYXNzIFRlbXBsYXRlSGFuZGxlciB7XHJcbiAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3I7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdmlldzogVmlldywgcHJpdmF0ZSB2Y3I6IFZpZXdDb250YWluZXJSZWYpIHtcclxuICAgIHRoaXMuaW5qZWN0b3IgPSB0aGlzLnZjci5pbmplY3RvcjtcclxuICB9XHJcblxyXG4gIGF0dGFjaFZpZXcoKSB7XHJcbiAgICBpZiAodGhpcy52aWV3IGluc3RhbmNlb2YgVGVtcGxhdGVSZWYpIHtcclxuICAgICAgdGhpcy52Y3IuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudmlldyk7XHJcbiAgICB9IGVsc2UgaWYgKGlzU3RyaW5nKHRoaXMudmlldykpIHtcclxuICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy5jcmVhdGVDb21wb25lbnQ8VHJhbnNsb2NvTG9hZGVyQ29tcG9uZW50PihUcmFuc2xvY29Mb2FkZXJDb21wb25lbnQpO1xyXG4gICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuaHRtbCA9IHRoaXMudmlldztcclxuICAgICAgY29tcG9uZW50UmVmLmhvc3RWaWV3LmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY3JlYXRlQ29tcG9uZW50KHRoaXMudmlldyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBkZXRhY2hWaWV3KCkge1xyXG4gICAgdGhpcy52Y3IuY2xlYXIoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlQ29tcG9uZW50PFQ+KGNtcDogVHlwZTxhbnk+KTogQ29tcG9uZW50UmVmPFQ+IHtcclxuICAgIGNvbnN0IGNmciA9IHRoaXMuaW5qZWN0b3IuZ2V0KENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcik7XHJcbiAgICBjb25zdCBmYWN0b3J5ID0gY2ZyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGNtcCk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMudmNyLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcclxuICB9XHJcbn1cclxuIl19