ngx-ui-builder
Version:
Angular - Render component ui with configurations
38 lines • 4.46 kB
JavaScript
import { ChangeDetectionStrategy, Component, Input, ViewContainerRef } from '@angular/core';
import * as i0 from "@angular/core";
class NubTableCellComponent {
// Common cell properties
set cell(cell) {
this.localConfigs.cell = { ...cell };
}
;
set metadata(metadata) {
this.localConfigs.metadata = { ...metadata };
}
;
constructor(viewContainerRef) {
this.viewContainerRef = viewContainerRef;
this.localConfigs = {};
}
ngOnInit() {
const cell = this.viewContainerRef.createComponent(this.localConfigs.metadata.component);
cell.instance.cell = this.localConfigs.cell;
cell.instance.metadata = this.localConfigs.metadata;
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: NubTableCellComponent, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: NubTableCellComponent, selector: "nub-table-cell", inputs: { cell: "cell", metadata: "metadata" }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
}
export { NubTableCellComponent };
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: NubTableCellComponent, decorators: [{
type: Component,
args: [{
selector: 'nub-table-cell',
template: '',
changeDetection: ChangeDetectionStrategy.OnPush,
}]
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { cell: [{
type: Input
}], metadata: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25neC11aS1idWlsZGVyL3RhYmxlL3NyYy9jb21wb25lbnQvY2VsbC9jZWxsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFcEcsTUFLYSxxQkFBcUI7SUFDaEMseUJBQXlCO0lBQ3pCLElBQWEsSUFBSSxDQUFDLElBQVM7UUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEdBQUcsRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFBQSxDQUFDO0lBQ0YsSUFBYSxRQUFRLENBQUMsUUFBYTtRQUNqQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsR0FBRyxFQUFFLEdBQUcsUUFBUSxFQUFFLENBQUM7SUFDL0MsQ0FBQztJQUFBLENBQUM7SUFJRixZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUZ0RCxpQkFBWSxHQUFtQyxFQUFFLENBQUM7SUFFTyxDQUFDO0lBRTFELFFBQVE7UUFDTixNQUFNLElBQUksR0FBUSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzlGLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO1FBQzVDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDO0lBQ3RELENBQUM7OEdBakJVLHFCQUFxQjtrR0FBckIscUJBQXFCLHNHQUh0QixFQUFFOztTQUdELHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQUxqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDt1R0FHYyxJQUFJO3NCQUFoQixLQUFLO2dCQUdPLFFBQVE7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ251Yi10YWJsZS1jZWxsJyxcbiAgdGVtcGxhdGU6ICcnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTnViVGFibGVDZWxsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLy8gQ29tbW9uIGNlbGwgcHJvcGVydGllc1xuICBASW5wdXQoKSBzZXQgY2VsbChjZWxsOiBhbnkpIHtcbiAgICB0aGlzLmxvY2FsQ29uZmlncy5jZWxsID0geyAuLi5jZWxsIH07XG4gIH07XG4gIEBJbnB1dCgpIHNldCBtZXRhZGF0YShtZXRhZGF0YTogYW55KSB7XG4gICAgdGhpcy5sb2NhbENvbmZpZ3MubWV0YWRhdGEgPSB7IC4uLm1ldGFkYXRhIH07XG4gIH07XG5cbiAgbG9jYWxDb25maWdzOiB7IGNlbGw/OiBhbnksIG1ldGFkYXRhPzogYW55IH0gPSB7fTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgY2VsbDogYW55ID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudCh0aGlzLmxvY2FsQ29uZmlncy5tZXRhZGF0YS5jb21wb25lbnQpO1xuICAgIGNlbGwuaW5zdGFuY2UuY2VsbCA9IHRoaXMubG9jYWxDb25maWdzLmNlbGw7XG4gICAgY2VsbC5pbnN0YW5jZS5tZXRhZGF0YSA9IHRoaXMubG9jYWxDb25maWdzLm1ldGFkYXRhO1xuICB9XG59XG4iXX0=