UNPKG

systelab-components

Version:

systelab-components is a set of components that use wide accepted and adopted standard technologies like Angular and Bootstrap, as well as other popular libraries. Please read the ATTRIBUTION.md file for a complete list of dependencies.

64 lines 7.8 kB
import { Component, Input, ViewChild, ViewContainerRef } from '@angular/core'; import * as i0 from "@angular/core"; export class ComboBoxInputRendererComponent { constructor(componentFactoryResolver) { this.componentFactoryResolver = componentFactoryResolver; this.isViewInitialized = false; } ngOnChanges() { this.updateComponent(); } ngAfterViewInit() { this.isViewInitialized = true; this.updateComponent(); } ngOnDestroy() { if (this.cmpRef) { this.cmpRef.destroy(); } } updateComponent() { if (!this.isViewInitialized) { return; } if (this.cmpRef) { this.cmpRef.destroy(); } const factory = this.componentFactoryResolver.resolveComponentFactory(this.componentType); this.cmpRef = this.target.createComponent(factory); this.target.insert(this.cmpRef.hostView); this.updateComponentInputs(); } updateComponentInputs() { this.cmpRef.instance.id = this.id; this.cmpRef.instance.description = this.description; this.cmpRef.instance.selectedData = this.selectedData; this.cmpRef.instance.initialParams = this.initialParams; this.cmpRef.changeDetectorRef.detectChanges(); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ComboBoxInputRendererComponent, deps: [{ token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: ComboBoxInputRendererComponent, selector: "combobox-input-renderer", inputs: { componentType: "componentType", id: "id", description: "description", selectedData: "selectedData", initialParams: "initialParams" }, viewQueries: [{ propertyName: "target", first: true, predicate: ["target"], descendants: true, read: ViewContainerRef }], usesOnChanges: true, ngImport: i0, template: ` <div #target></div>`, isInline: true }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ComboBoxInputRendererComponent, decorators: [{ type: Component, args: [{ selector: 'combobox-input-renderer', template: ` <div #target></div>` }] }], ctorParameters: () => [{ type: i0.ComponentFactoryResolver }], propDecorators: { target: [{ type: ViewChild, args: ['target', { read: ViewContainerRef, static: false }] }], componentType: [{ type: Input }], id: [{ type: Input }], description: [{ type: Input }], selectedData: [{ type: Input }], initialParams: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYm9ib3gtaW5wdXQtcmVuZGVyZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3lzdGVsYWItY29tcG9uZW50cy9zcmMvbGliL2NvbWJvYm94L3JlbmRlcmVyL2NvbWJvYm94LWlucHV0LXJlbmRlcmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBMEMsS0FBSyxFQUF3QixTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUzNKLE1BQU0sT0FBTyw4QkFBOEI7SUFVMUMsWUFBb0Isd0JBQWtEO1FBQWxELDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFGOUQsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO0lBR2xDLENBQUM7SUFFRCxXQUFXO1FBQ1YsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxlQUFlO1FBQ2QsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztRQUM5QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELFdBQVc7UUFDVixJQUFLLElBQUksQ0FBQyxNQUFNLEVBQUc7WUFDbEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUN0QjtJQUNGLENBQUM7SUFFTyxlQUFlO1FBQ3RCLElBQUssQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUc7WUFDOUIsT0FBTztTQUNQO1FBQ0QsSUFBSyxJQUFJLENBQUMsTUFBTSxFQUFHO1lBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDdEI7UUFDRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsdUJBQXVCLENBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBRSxDQUFDO1FBQzVGLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUUsT0FBTyxDQUFFLENBQUM7UUFDckQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUUsQ0FBQztRQUUzQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU8scUJBQXFCO1FBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3BELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQ3RELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3hELElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDL0MsQ0FBQzs4R0FoRFcsOEJBQThCO2tHQUE5Qiw4QkFBOEIsNFJBQ1osZ0JBQWdCLGtEQUxwQztzQ0FDMkI7OzJGQUd6Qiw4QkFBOEI7a0JBTjFDLFNBQVM7bUJBQUU7b0JBQ1gsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsUUFBUSxFQUFFO3NDQUMyQjtpQkFDckM7NkZBR2tFLE1BQU07c0JBQXZFLFNBQVM7dUJBQUUsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBQ3RELGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIENvbXBvbmVudFJlZiwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbWJvQm94SW5wdXRSZW5kZXJlciB9IGZyb20gJy4vY29tYm9ib3gtaW5wdXQtcmVuZGVyZXInO1xuXG5AQ29tcG9uZW50KCB7XG5cdHNlbGVjdG9yOiAnY29tYm9ib3gtaW5wdXQtcmVuZGVyZXInLFxuXHR0ZW1wbGF0ZTogYFxuICAgICAgICAgICAgICAgICAgPGRpdiAjdGFyZ2V0PjwvZGl2PmBcbn0gKVxuXG5leHBvcnQgY2xhc3MgQ29tYm9Cb3hJbnB1dFJlbmRlcmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXHRAVmlld0NoaWxkKCAndGFyZ2V0JywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmLCBzdGF0aWM6IGZhbHNlIH0gKSB0YXJnZXQ7XG5cdEBJbnB1dCgpIGNvbXBvbmVudFR5cGU6IGFueTtcblx0QElucHV0KCkgaWQ6IG51bWJlciB8IHN0cmluZztcblx0QElucHV0KCkgZGVzY3JpcHRpb246IHN0cmluZztcblx0QElucHV0KCkgc2VsZWN0ZWREYXRhOiBhbnk7XG5cdEBJbnB1dCgpIGluaXRpYWxQYXJhbXM6IGFueTtcblx0Y21wUmVmOiBDb21wb25lbnRSZWY8Q29tYm9Cb3hJbnB1dFJlbmRlcmVyPjtcblx0cHJpdmF0ZSBpc1ZpZXdJbml0aWFsaXplZCA9IGZhbHNlO1xuXG5cdGNvbnN0cnVjdG9yKCBwdWJsaWMgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIgKSB7XG5cdH1cblxuXHRuZ09uQ2hhbmdlcygpOiB2b2lkIHtcblx0XHR0aGlzLnVwZGF0ZUNvbXBvbmVudCgpO1xuXHR9XG5cblx0bmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuXHRcdHRoaXMuaXNWaWV3SW5pdGlhbGl6ZWQgPSB0cnVlO1xuXHRcdHRoaXMudXBkYXRlQ29tcG9uZW50KCk7XG5cdH1cblxuXHRuZ09uRGVzdHJveSgpOiB2b2lkIHtcblx0XHRpZiAoIHRoaXMuY21wUmVmICkge1xuXHRcdFx0dGhpcy5jbXBSZWYuZGVzdHJveSgpO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgdXBkYXRlQ29tcG9uZW50KCkge1xuXHRcdGlmICggIXRoaXMuaXNWaWV3SW5pdGlhbGl6ZWQgKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdGlmICggdGhpcy5jbXBSZWYgKSB7XG5cdFx0XHR0aGlzLmNtcFJlZi5kZXN0cm95KCk7XG5cdFx0fVxuXHRcdGNvbnN0IGZhY3RvcnkgPSB0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeSggdGhpcy5jb21wb25lbnRUeXBlICk7XG5cdFx0dGhpcy5jbXBSZWYgPSB0aGlzLnRhcmdldC5jcmVhdGVDb21wb25lbnQoIGZhY3RvcnkgKTtcblx0XHR0aGlzLnRhcmdldC5pbnNlcnQoIHRoaXMuY21wUmVmLmhvc3RWaWV3ICk7XG5cblx0XHR0aGlzLnVwZGF0ZUNvbXBvbmVudElucHV0cygpO1xuXHR9XG5cblx0cHJpdmF0ZSB1cGRhdGVDb21wb25lbnRJbnB1dHMoKSB7XG5cdFx0dGhpcy5jbXBSZWYuaW5zdGFuY2UuaWQgPSB0aGlzLmlkO1xuXHRcdHRoaXMuY21wUmVmLmluc3RhbmNlLmRlc2NyaXB0aW9uID0gdGhpcy5kZXNjcmlwdGlvbjtcblx0XHR0aGlzLmNtcFJlZi5pbnN0YW5jZS5zZWxlY3RlZERhdGEgPSB0aGlzLnNlbGVjdGVkRGF0YTtcblx0XHR0aGlzLmNtcFJlZi5pbnN0YW5jZS5pbml0aWFsUGFyYW1zID0gdGhpcy5pbml0aWFsUGFyYW1zO1xuXHRcdHRoaXMuY21wUmVmLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcblx0fVxufVxuIl19