UNPKG

material-dynamic-table

Version:

Dynamic table component for angular built on top of angular material table. It offers sorting, pagination, filtering per column and the ability to specify content types and components used for displaying them.

30 lines 3.49 kB
import { Component, Input } from '@angular/core'; import { ColumnConfig } from '../../column-config.model'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; export class DateCellComponent { constructor() { this.dateFormat = 'short'; } ngOnInit() { if (this.column.options) { if (this.column.options.dateFormat) { this.dateFormat = this.column.options.dateFormat; } } } /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); } /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DateCellComponent, selector: "mdt-date-cell", inputs: { column: "column", row: "row" }, ngImport: i0, template: '{{ row[column.name] | date:dateFormat }}', isInline: true, dependencies: [{ kind: "pipe", type: i1.DatePipe, name: "date" }] }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateCellComponent, decorators: [{ type: Component, args: [{ selector: 'mdt-date-cell', template: '{{ row[column.name] | date:dateFormat }}' }] }], propDecorators: { column: [{ type: Input }], row: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1jZWxsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hdGVyaWFsLWR5bmFtaWMtdGFibGUvc3JjL2xpYi90YWJsZS1jZWxsL2NlbGwtdHlwZXMvZGF0ZS1jZWxsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQU16RCxNQUFNLE9BQU8saUJBQWlCO0lBSjlCO1FBUUksZUFBVSxHQUFHLE9BQU8sQ0FBQztLQVN4QjtJQVBHLFFBQVE7UUFDSixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDdEIsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDakMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7WUFDckQsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO2tJQVpRLGlCQUFpQjtzSEFBakIsaUJBQWlCLCtGQUZoQiwwQ0FBMEM7OzRGQUUzQyxpQkFBaUI7a0JBSjdCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFFBQVEsRUFBRSwwQ0FBMEM7aUJBQ3ZEOzhCQUVZLE1BQU07c0JBQWQsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ2VsbENvbXBvbmVudCB9IGZyb20gJy4vY2VsbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb2x1bW5Db25maWcgfSBmcm9tICcuLi8uLi9jb2x1bW4tY29uZmlnLm1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdtZHQtZGF0ZS1jZWxsJyxcclxuICAgIHRlbXBsYXRlOiAne3sgcm93W2NvbHVtbi5uYW1lXSB8IGRhdGU6ZGF0ZUZvcm1hdCB9fSdcclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGVDZWxsQ29tcG9uZW50IGltcGxlbWVudHMgQ2VsbENvbXBvbmVudCwgT25Jbml0IHtcclxuICAgIEBJbnB1dCgpIGNvbHVtbjogQ29sdW1uQ29uZmlnO1xyXG4gICAgQElucHV0KCkgcm93OiBvYmplY3Q7XHJcblxyXG4gICAgZGF0ZUZvcm1hdCA9ICdzaG9ydCc7XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuY29sdW1uLm9wdGlvbnMpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuY29sdW1uLm9wdGlvbnMuZGF0ZUZvcm1hdCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kYXRlRm9ybWF0ID0gdGhpcy5jb2x1bW4ub3B0aW9ucy5kYXRlRm9ybWF0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Il19