@siemens/ngx-datatable
Version:
ngx-datatable is an Angular table grid component for presenting large and complex data.
77 lines • 8.04 kB
JavaScript
import { Component, Directive, inject, InjectionToken, Injector, Input, ViewContainerRef } from '@angular/core';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
/**
* This component is passed as ng-template and rendered by BodyComponent.
* BodyComponent uses rowDefInternal to first inject actual row template.
* This component will render that actual row template.
*/
export class DatatableRowDefComponent {
constructor() {
this.rowDef = inject(RowDefToken);
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: DatatableRowDefComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: DatatableRowDefComponent, selector: "datatable-row-def", ngImport: i0, template: `<ng-container
*ngIf="rowDef.rowDefInternal.rowTemplate"
[ngTemplateOutlet]="rowDef.rowDefInternal.rowTemplate"
[ngTemplateOutletContext]="rowDef"
/>`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: DatatableRowDefComponent, decorators: [{
type: Component,
args: [{
selector: 'datatable-row-def',
template: `<ng-container
*ngIf="rowDef.rowDefInternal.rowTemplate"
[ngTemplateOutlet]="rowDef.rowDefInternal.rowTemplate"
[ngTemplateOutletContext]="rowDef"
/>`
}]
}] });
export class DatatableRowDefDirective {
static ngTemplateContextGuard(_dir, ctx) {
return true;
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: DatatableRowDefDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.6", type: DatatableRowDefDirective, selector: "[rowDef]", ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: DatatableRowDefDirective, decorators: [{
type: Directive,
args: [{
selector: '[rowDef]'
}]
}] });
/**
* @internal To be used internally by ngx-datatable.
*/
export class DatatableRowDefInternalDirective {
constructor() {
this.vc = inject(ViewContainerRef);
}
ngOnInit() {
this.vc.createEmbeddedView(this.rowDefInternal.template, {
...this.rowDefInternal
}, {
injector: Injector.create({
providers: [
{
provide: RowDefToken,
useValue: this
}
]
})
});
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: DatatableRowDefInternalDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.6", type: DatatableRowDefInternalDirective, selector: "[rowDefInternal]", inputs: { rowDefInternal: "rowDefInternal" }, ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: DatatableRowDefInternalDirective, decorators: [{
type: Directive,
args: [{
selector: '[rowDefInternal]'
}]
}], propDecorators: { rowDefInternal: [{
type: Input
}] } });
const RowDefToken = new InjectionToken('RowDef');
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9keS1yb3ctZGVmLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1kYXRhdGFibGUvc3JjL2xpYi9jb21wb25lbnRzL2JvZHkvYm9keS1yb3ctZGVmLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFDVCxNQUFNLEVBQ04sY0FBYyxFQUNkLFFBQVEsRUFDUixLQUFLLEVBR0wsZ0JBQWdCLEVBQ2pCLE1BQU0sZUFBZSxDQUFDOzs7QUFFdkI7Ozs7R0FJRztBQVNILE1BQU0sT0FBTyx3QkFBd0I7SUFSckM7UUFTRSxXQUFNLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0tBQzlCOzhHQUZZLHdCQUF3QjtrR0FBeEIsd0JBQXdCLHlEQU56Qjs7OztLQUlQOzsyRkFFUSx3QkFBd0I7a0JBUnBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsUUFBUSxFQUFFOzs7O0tBSVA7aUJBQ0o7O0FBUUQsTUFBTSxPQUFPLHdCQUF3QjtJQUNuQyxNQUFNLENBQUMsc0JBQXNCLENBQzNCLElBQThCLEVBQzlCLEdBQVk7UUFFWixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7OEdBTlUsd0JBQXdCO2tHQUF4Qix3QkFBd0I7OzJGQUF4Qix3QkFBd0I7a0JBSHBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFVBQVU7aUJBQ3JCOztBQVVEOztHQUVHO0FBSUgsTUFBTSxPQUFPLGdDQUFnQztJQUg3QztRQUlFLE9BQUUsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztLQXNCL0I7SUFsQkMsUUFBUTtRQUNOLElBQUksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQ3hCLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUM1QjtZQUNFLEdBQUcsSUFBSSxDQUFDLGNBQWM7U0FDdkIsRUFDRDtZQUNFLFFBQVEsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDO2dCQUN4QixTQUFTLEVBQUU7b0JBQ1Q7d0JBQ0UsT0FBTyxFQUFFLFdBQVc7d0JBQ3BCLFFBQVEsRUFBRSxJQUFJO3FCQUNmO2lCQUNGO2FBQ0YsQ0FBQztTQUNILENBQ0YsQ0FBQztJQUNKLENBQUM7OEdBdEJVLGdDQUFnQztrR0FBaEMsZ0NBQWdDOzsyRkFBaEMsZ0NBQWdDO2tCQUg1QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7aUJBQzdCOzhCQUlVLGNBQWM7c0JBQXRCLEtBQUs7O0FBcUJSLE1BQU0sV0FBVyxHQUFHLElBQUksY0FBYyxDQUNwQyxRQUFRLENBQ1QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRGlyZWN0aXZlLFxuICBpbmplY3QsXG4gIEluamVjdGlvblRva2VuLFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogVGhpcyBjb21wb25lbnQgaXMgcGFzc2VkIGFzIG5nLXRlbXBsYXRlIGFuZCByZW5kZXJlZCBieSBCb2R5Q29tcG9uZW50LlxuICogQm9keUNvbXBvbmVudCB1c2VzIHJvd0RlZkludGVybmFsIHRvIGZpcnN0IGluamVjdCBhY3R1YWwgcm93IHRlbXBsYXRlLlxuICogVGhpcyBjb21wb25lbnQgd2lsbCByZW5kZXIgdGhhdCBhY3R1YWwgcm93IHRlbXBsYXRlLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYXRhdGFibGUtcm93LWRlZicsXG4gIHRlbXBsYXRlOiBgPG5nLWNvbnRhaW5lclxuICAgICpuZ0lmPVwicm93RGVmLnJvd0RlZkludGVybmFsLnJvd1RlbXBsYXRlXCJcbiAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJyb3dEZWYucm93RGVmSW50ZXJuYWwucm93VGVtcGxhdGVcIlxuICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJyb3dEZWZcIlxuICAvPmBcbn0pXG5leHBvcnQgY2xhc3MgRGF0YXRhYmxlUm93RGVmQ29tcG9uZW50IHtcbiAgcm93RGVmID0gaW5qZWN0KFJvd0RlZlRva2VuKTtcbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3Jvd0RlZl0nXG59KVxuZXhwb3J0IGNsYXNzIERhdGF0YWJsZVJvd0RlZkRpcmVjdGl2ZSB7XG4gIHN0YXRpYyBuZ1RlbXBsYXRlQ29udGV4dEd1YXJkKFxuICAgIF9kaXI6IERhdGF0YWJsZVJvd0RlZkRpcmVjdGl2ZSxcbiAgICBjdHg6IHVua25vd25cbiAgKTogY3R4IGlzIFJvd0RlZkNvbnRleHQge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG5cbi8qKlxuICogQGludGVybmFsIFRvIGJlIHVzZWQgaW50ZXJuYWxseSBieSBuZ3gtZGF0YXRhYmxlLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbcm93RGVmSW50ZXJuYWxdJ1xufSlcbmV4cG9ydCBjbGFzcyBEYXRhdGFibGVSb3dEZWZJbnRlcm5hbERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHZjID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuXG4gIEBJbnB1dCgpIHJvd0RlZkludGVybmFsPzogUm93RGVmQ29udGV4dDtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnZjLmNyZWF0ZUVtYmVkZGVkVmlldyhcbiAgICAgIHRoaXMucm93RGVmSW50ZXJuYWwudGVtcGxhdGUsXG4gICAgICB7XG4gICAgICAgIC4uLnRoaXMucm93RGVmSW50ZXJuYWxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGluamVjdG9yOiBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBwcm92aWRlOiBSb3dEZWZUb2tlbixcbiAgICAgICAgICAgICAgdXNlVmFsdWU6IHRoaXNcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgKTtcbiAgfVxufVxuY29uc3QgUm93RGVmVG9rZW4gPSBuZXcgSW5qZWN0aW9uVG9rZW48RGF0YXRhYmxlUm93RGVmSW50ZXJuYWxEaXJlY3RpdmU+KFxuICAnUm93RGVmJ1xuKTtcbnR5cGUgUm93RGVmQ29udGV4dCA9IHtcbiAgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuICByb3dUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG4gIHJvdzogYW55O1xuICBpbmRleDogbnVtYmVyO1xufTtcbiJdfQ==