@jsverse/transloco
Version:
The internationalization (i18n) library for Angular
28 lines • 3.2 kB
JavaScript
import { TemplateRef } from '@angular/core';
import { isString } from '@jsverse/utils';
import { TranslocoLoaderComponent } from './loader-component.component';
export class TemplateHandler {
view;
vcr;
constructor(view, vcr) {
this.view = view;
this.vcr = vcr;
}
attachView() {
if (this.view instanceof TemplateRef) {
this.vcr.createEmbeddedView(this.view);
}
else if (isString(this.view)) {
const componentRef = this.vcr.createComponent(TranslocoLoaderComponent);
componentRef.instance.html = this.view;
componentRef.hostView.detectChanges();
}
else {
this.vcr.createComponent(this.view);
}
}
detachView() {
this.vcr.clear();
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdHJhbnNsb2NvL3NyYy9saWIvdGVtcGxhdGUtaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUEwQixNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFMUMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFJeEUsTUFBTSxPQUFPLGVBQWU7SUFFaEI7SUFDQTtJQUZWLFlBQ1UsSUFBYSxFQUNiLEdBQXFCO1FBRHJCLFNBQUksR0FBSixJQUFJLENBQVM7UUFDYixRQUFHLEdBQUgsR0FBRyxDQUFrQjtJQUM1QixDQUFDO0lBRUosVUFBVTtRQUNSLElBQUksSUFBSSxDQUFDLElBQUksWUFBWSxXQUFXLEVBQUUsQ0FBQztZQUNyQyxJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QyxDQUFDO2FBQU0sSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDL0IsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsd0JBQXdCLENBQUMsQ0FBQztZQUN4RSxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ3ZDLFlBQVksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDeEMsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEMsQ0FBQztJQUNILENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNuQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZW1wbGF0ZVJlZiwgVHlwZSwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNTdHJpbmcgfSBmcm9tICdAanN2ZXJzZS91dGlscyc7XG5cbmltcG9ydCB7IFRyYW5zbG9jb0xvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vbG9hZGVyLWNvbXBvbmVudC5jb21wb25lbnQnO1xuXG5leHBvcnQgdHlwZSBDb250ZW50ID0gc3RyaW5nIHwgVGVtcGxhdGVSZWY8dW5rbm93bj4gfCBUeXBlPHVua25vd24+O1xuXG5leHBvcnQgY2xhc3MgVGVtcGxhdGVIYW5kbGVyIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB2aWV3OiBDb250ZW50LFxuICAgIHByaXZhdGUgdmNyOiBWaWV3Q29udGFpbmVyUmVmLFxuICApIHt9XG5cbiAgYXR0YWNoVmlldygpIHtcbiAgICBpZiAodGhpcy52aWV3IGluc3RhbmNlb2YgVGVtcGxhdGVSZWYpIHtcbiAgICAgIHRoaXMudmNyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnZpZXcpO1xuICAgIH0gZWxzZSBpZiAoaXNTdHJpbmcodGhpcy52aWV3KSkge1xuICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy52Y3IuY3JlYXRlQ29tcG9uZW50KFRyYW5zbG9jb0xvYWRlckNvbXBvbmVudCk7XG4gICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuaHRtbCA9IHRoaXMudmlldztcbiAgICAgIGNvbXBvbmVudFJlZi5ob3N0Vmlldy5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmNyLmNyZWF0ZUNvbXBvbmVudCh0aGlzLnZpZXcpO1xuICAgIH1cbiAgfVxuXG4gIGRldGFjaFZpZXcoKSB7XG4gICAgdGhpcy52Y3IuY2xlYXIoKTtcbiAgfVxufVxuIl19