UNPKG

ngx-ui-builder

Version:

Angular - Render component ui with configurations

46 lines 5.63 kB
import { ChangeDetectionStrategy, Component, forwardRef, Injector, Input, ViewContainerRef, } from '@angular/core'; import { NG_VALUE_ACCESSOR, NgControl } from '@angular/forms'; import * as i0 from "@angular/core"; class NubFilterComponent { // Common cell properties set column(column) { this.localConfigs.column = { ...column }; } constructor(injector, viewContainerRef) { this.injector = injector; this.viewContainerRef = viewContainerRef; this.localConfigs = {}; } ngOnInit() { const injectorControl = this.injector.get(NgControl); const cell = this.viewContainerRef.createComponent(this.localConfigs.column?.filter?.component); injectorControl.valueAccessor = cell.instance; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: NubFilterComponent, deps: [{ token: i0.Injector }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: NubFilterComponent, selector: "nub-table-filter", inputs: { column: "column" }, providers: [ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => NubFilterComponent), multi: true } ], ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); } } export { NubFilterComponent }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: NubFilterComponent, decorators: [{ type: Component, args: [{ selector: 'nub-table-filter', template: '', changeDetection: ChangeDetectionStrategy.OnPush, providers: [ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => NubFilterComponent), multi: true } ] }] }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ViewContainerRef }]; }, propDecorators: { column: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmd4LXVpLWJ1aWxkZXIvdGFibGUvc3JjL2NvbXBvbmVudC9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsUUFBUSxFQUNSLEtBQUssRUFFTCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUU5RCxNQVlhLGtCQUFrQjtJQUM3Qix5QkFBeUI7SUFDekIsSUFBYSxNQUFNLENBQUMsTUFBNEI7UUFDOUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsRUFBQyxHQUFHLE1BQU0sRUFBQyxDQUFDO0lBQ3pDLENBQUM7SUFJRCxZQUNTLFFBQWtCLEVBQ2pCLGdCQUFrQztRQURuQyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2pCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFKNUMsaUJBQVksR0FBc0MsRUFBRSxDQUFDO0lBS2xELENBQUM7SUFFSixRQUFRO1FBQ04sTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDckQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBTSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFFckcsZUFBZSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ2hELENBQUM7OEdBbEJVLGtCQUFrQjtrR0FBbEIsa0JBQWtCLHlFQVJsQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLENBQUM7Z0JBQ2pELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRiwwQkFSUyxFQUFFOztTQVVELGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQVo5QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsbUJBQW1CLENBQUM7NEJBQ2pELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2lCQUNGOzhIQUdjLE1BQU07c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBmb3J3YXJkUmVmLFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOdWJUYWJsZUNvbHVtbkNvbmZpZyB9IGZyb20gJy4uLy4uL3RhYmxlLnR5cGVzJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SLCBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ251Yi10YWJsZS1maWx0ZXInLFxuICB0ZW1wbGF0ZTogJycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE51YkZpbHRlckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBOdWJGaWx0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvLyBDb21tb24gY2VsbCBwcm9wZXJ0aWVzXG4gIEBJbnB1dCgpIHNldCBjb2x1bW4oY29sdW1uOiBOdWJUYWJsZUNvbHVtbkNvbmZpZykge1xuICAgIHRoaXMubG9jYWxDb25maWdzLmNvbHVtbiA9IHsuLi5jb2x1bW59O1xuICB9XG5cbiAgbG9jYWxDb25maWdzOiB7IGNvbHVtbj86IE51YlRhYmxlQ29sdW1uQ29uZmlnIH0gPSB7fTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZlxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgaW5qZWN0b3JDb250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQoTmdDb250cm9sKTtcbiAgICBjb25zdCBjZWxsID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudDxhbnk+KHRoaXMubG9jYWxDb25maWdzLmNvbHVtbj8uZmlsdGVyPy5jb21wb25lbnQpO1xuXG4gICAgaW5qZWN0b3JDb250cm9sLnZhbHVlQWNjZXNzb3IgPSBjZWxsLmluc3RhbmNlO1xuICB9XG59XG4iXX0=