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.

86 lines 10.3 kB
import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { MatColumnResizeModule } from './column-resize/column-resize-module'; import { MatTableModule } from '@angular/material/table'; import { MatSortModule } from '@angular/material/sort'; import { MatPaginatorModule } from '@angular/material/paginator'; import { MatIconModule } from '@angular/material/icon'; import { MatDialogModule } from '@angular/material/dialog'; import { MatTooltipModule } from '@angular/material/tooltip'; import { MdtMultiSort } from './multi-sort/multi-sort.directive'; import { MdtMultiSortHeader } from './multi-sort/multi-sort-header'; import { DynamicTableComponent } from './dynamic-table.component'; import { TableCellComponent } from './table-cell/table-cell.component'; import { CellService } from './table-cell/cell-types/cell.service'; import { CellDirective } from './table-cell/cell.directive'; import { ColumnFilterService } from './table-cell/cell-types/column-filter.service'; import { TextCellComponent } from './table-cell/cell-types/text-cell.component'; import { DateCellComponent } from './table-cell/cell-types/date-cell.component'; import * as i0 from "@angular/core"; import * as i1 from "./table-cell/cell-types/cell.service"; export { CellService, CellDirective, ColumnFilterService }; export { ColumnFilter } from './column-filter.model'; export { ColumnConfig } from './column-config.model'; export class DynamicTableModule { constructor(cellService) { this.cellService = cellService; cellService.registerCell('string', TextCellComponent); cellService.registerCell('date', DateCellComponent); } /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicTableModule, deps: [{ token: i1.CellService }], target: i0.ɵɵFactoryTarget.NgModule }); } /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DynamicTableModule, declarations: [DynamicTableComponent, TableCellComponent, CellDirective, TextCellComponent, DateCellComponent, MdtMultiSort, MdtMultiSortHeader], imports: [CommonModule, MatTableModule, MatSortModule, MatPaginatorModule, MatIconModule, MatDialogModule, MatTooltipModule, MatColumnResizeModule], exports: [DynamicTableComponent, MdtMultiSort, MatColumnResizeModule] }); } /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicTableModule, providers: [ CellService, ColumnFilterService ], imports: [CommonModule, MatTableModule, MatSortModule, MatPaginatorModule, MatIconModule, MatDialogModule, MatTooltipModule, MatColumnResizeModule, MatColumnResizeModule] }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicTableModule, decorators: [{ type: NgModule, args: [{ imports: [ CommonModule, MatTableModule, MatSortModule, MatPaginatorModule, MatIconModule, MatDialogModule, MatTooltipModule, MatColumnResizeModule ], declarations: [ DynamicTableComponent, TableCellComponent, CellDirective, TextCellComponent, DateCellComponent, MdtMultiSort, MdtMultiSortHeader ], exports: [DynamicTableComponent, MdtMultiSort, MatColumnResizeModule], providers: [ CellService, ColumnFilterService ] }] }], ctorParameters: () => [{ type: i1.CellService }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy10YWJsZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRlcmlhbC1keW5hbWljLXRhYmxlL3NyYy9saWIvZHluYW1pYy10YWJsZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFN0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVwRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUV2RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBUXBGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDOzs7QUFQaEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQztBQUUzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBZ0NyRCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQTZCLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ25ELFdBQVcsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFDdEQsV0FBVyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUN0RCxDQUFDO2tJQUpVLGtCQUFrQjttSUFBbEIsa0JBQWtCLGlCQWQzQixxQkFBcUI7WUFDckIsa0JBQWtCO1lBQ2xCLGFBQWE7WUFDYixpQkFBaUI7WUFDakIsaUJBQWlCO1lBQ2pCLFlBQVk7WUFDWixrQkFBa0IsYUFoQmxCLFlBQVk7WUFDWixjQUFjO1lBQ2QsYUFBYTtZQUNiLGtCQUFrQjtZQUNsQixhQUFhO1lBQ2IsZUFBZTtZQUNmLGdCQUFnQjtZQUNoQixxQkFBcUIsYUFXYixxQkFBcUIsRUFBRSxZQUFZLEVBQUUscUJBQXFCO21JQU16RCxrQkFBa0IsYUFMbEI7WUFDVCxXQUFXO1lBQ1gsbUJBQW1CO1NBQ3BCLFlBdEJDLFlBQVk7WUFDWixjQUFjO1lBQ2QsYUFBYTtZQUNiLGtCQUFrQjtZQUNsQixhQUFhO1lBQ2IsZUFBZTtZQUNmLGdCQUFnQjtZQUNoQixxQkFBcUIsRUFXd0IscUJBQXFCOzs0RkFNekQsa0JBQWtCO2tCQTFCOUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixjQUFjO3dCQUNkLGFBQWE7d0JBQ2Isa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixxQkFBcUI7cUJBQ3RCO29CQUNELFlBQVksRUFBRTt3QkFDWixxQkFBcUI7d0JBQ3JCLGtCQUFrQjt3QkFDbEIsYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIsWUFBWTt3QkFDWixrQkFBa0I7cUJBQ25CO29CQUNELE9BQU8sRUFBRSxDQUFDLHFCQUFxQixFQUFFLFlBQVksRUFBRSxxQkFBcUIsQ0FBQztvQkFDckUsU0FBUyxFQUFFO3dCQUNULFdBQVc7d0JBQ1gsbUJBQW1CO3FCQUNwQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBNYXRDb2x1bW5SZXNpemVNb2R1bGUgfSBmcm9tICcuL2NvbHVtbi1yZXNpemUvY29sdW1uLXJlc2l6ZS1tb2R1bGUnO1xyXG5cclxuaW1wb3J0IHsgTWF0VGFibGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XHJcbmltcG9ydCB7IE1hdFNvcnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7IE1kdE11bHRpU29ydCB9IGZyb20gJy4vbXVsdGktc29ydC9tdWx0aS1zb3J0LmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE1kdE11bHRpU29ydEhlYWRlciB9IGZyb20gJy4vbXVsdGktc29ydC9tdWx0aS1zb3J0LWhlYWRlcic7XHJcblxyXG5pbXBvcnQgeyBEeW5hbWljVGFibGVDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtdGFibGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGFibGVDZWxsQ29tcG9uZW50IH0gZnJvbSAnLi90YWJsZS1jZWxsL3RhYmxlLWNlbGwuY29tcG9uZW50JztcclxuXHJcbmltcG9ydCB7IENlbGxTZXJ2aWNlIH0gZnJvbSAnLi90YWJsZS1jZWxsL2NlbGwtdHlwZXMvY2VsbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2VsbERpcmVjdGl2ZSB9IGZyb20gJy4vdGFibGUtY2VsbC9jZWxsLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IENvbHVtbkZpbHRlclNlcnZpY2UgfSBmcm9tICcuL3RhYmxlLWNlbGwvY2VsbC10eXBlcy9jb2x1bW4tZmlsdGVyLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IHsgQ2VsbFNlcnZpY2UsIENlbGxEaXJlY3RpdmUsIENvbHVtbkZpbHRlclNlcnZpY2UgfTtcclxuZXhwb3J0IHsgQ2VsbENvbXBvbmVudCB9IGZyb20gJy4vdGFibGUtY2VsbC9jZWxsLXR5cGVzL2NlbGwuY29tcG9uZW50JztcclxuZXhwb3J0IHsgQ29sdW1uRmlsdGVyIH0gZnJvbSAnLi9jb2x1bW4tZmlsdGVyLm1vZGVsJztcclxuZXhwb3J0IHsgQ29sdW1uQ29uZmlnIH0gZnJvbSAnLi9jb2x1bW4tY29uZmlnLm1vZGVsJztcclxuZXhwb3J0IHsgRmlsdGVyRGVzY3JpcHRpb24gfSBmcm9tICcuL2ZpbHRlci1kZXNjcmlwdGlvbic7XHJcblxyXG5pbXBvcnQgeyBUZXh0Q2VsbENvbXBvbmVudCB9IGZyb20gJy4vdGFibGUtY2VsbC9jZWxsLXR5cGVzL3RleHQtY2VsbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEYXRlQ2VsbENvbXBvbmVudCB9IGZyb20gJy4vdGFibGUtY2VsbC9jZWxsLXR5cGVzL2RhdGUtY2VsbC5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBNYXRUYWJsZU1vZHVsZSxcclxuICAgIE1hdFNvcnRNb2R1bGUsXHJcbiAgICBNYXRQYWdpbmF0b3JNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0RGlhbG9nTW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIE1hdENvbHVtblJlc2l6ZU1vZHVsZVxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBEeW5hbWljVGFibGVDb21wb25lbnQsXHJcbiAgICBUYWJsZUNlbGxDb21wb25lbnQsXHJcbiAgICBDZWxsRGlyZWN0aXZlLFxyXG4gICAgVGV4dENlbGxDb21wb25lbnQsXHJcbiAgICBEYXRlQ2VsbENvbXBvbmVudCxcclxuICAgIE1kdE11bHRpU29ydCxcclxuICAgIE1kdE11bHRpU29ydEhlYWRlclxyXG4gIF0sXHJcbiAgZXhwb3J0czogW0R5bmFtaWNUYWJsZUNvbXBvbmVudCwgTWR0TXVsdGlTb3J0LCBNYXRDb2x1bW5SZXNpemVNb2R1bGVdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgQ2VsbFNlcnZpY2UsXHJcbiAgICBDb2x1bW5GaWx0ZXJTZXJ2aWNlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY1RhYmxlTW9kdWxlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNlbGxTZXJ2aWNlOiBDZWxsU2VydmljZSkge1xyXG4gICAgY2VsbFNlcnZpY2UucmVnaXN0ZXJDZWxsKCdzdHJpbmcnLCBUZXh0Q2VsbENvbXBvbmVudCk7XHJcbiAgICBjZWxsU2VydmljZS5yZWdpc3RlckNlbGwoJ2RhdGUnLCBEYXRlQ2VsbENvbXBvbmVudCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==