UNPKG

dynamic-mat-table

Version:

dynamic-mat-table is an Angular component for presenting large and complex data with a lightning fast performance (at least 10x faster) and excellent level of control over the presentation.

120 lines 18.1 kB
import { Compiler, CompilerFactory, COMPILER_OPTIONS, NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { MatIconModule } from '@angular/material/icon'; import { MatSortModule } from '@angular/material/sort'; import { DragDropModule } from '@angular/cdk/drag-drop'; import { MatTableModule } from '@angular/material/table'; import { ScrollingModule } from '@angular/cdk/scrolling'; import { MatInputModule } from '@angular/material/input'; import { MatButtonModule } from '@angular/material/button'; import { MatDialogModule } from '@angular/material/dialog'; import { MatCheckboxModule } from '@angular/material/checkbox'; import { MatFormFieldModule } from '@angular/material/form-field'; import { MatProgressBarModule } from '@angular/material/progress-bar'; import { MatPaginatorIntl, MatPaginatorModule } from '@angular/material/paginator'; import { MatDividerModule } from '@angular/material/divider'; import { TableIntl } from '../international/table-Intl'; import { TableCoreDirective } from '../cores/table.core.directive'; import { RowMenuModule } from './extensions/row-menu/row-menu.module'; import { DynamicMatTableComponent } from './dynamic-mat-table.component'; import { TableMenuModule } from './extensions/table-menu/table-menu.module'; import { HeaderFilterModule } from './extensions/filter/header-filter.module'; import { TableVirtualScrollModule } from '../cores/table-virtual-scroll.module'; import { PrintTableDialogComponent } from './extensions/print-dialog/print-dialog.component'; import { DynamicCellDirective } from '../cores/dynamic-cell/dynamic-cell.directive'; import { JitCompilerFactory } from '@angular/platform-browser-dynamic'; import { MatMenuModule } from '@angular/material/menu'; import { MatTooltipModule } from '@angular/material/tooltip'; import { MatRippleModule } from '@angular/material/core'; import { TooltipComponent } from '../tooltip/tooltip.component'; import { OverlayModule } from '@angular/cdk/overlay'; import { TooltipDirective } from '../tooltip/tooltip.directive'; import { TemplateOrStringDirective } from '../tooltip/template-or-string.directive'; import { FormsModule } from '@angular/forms'; import { TableSetting } from '../models/table-setting.model'; import { PaginationModule } from '../modules/pagination/pagination.module'; export function createCompiler(compilerFactory) { return compilerFactory.createCompiler(); } export function paginatorLabels(tableIntl) { var _a, _b, _c, _d, _e, _f; const paginatorIntl = new MatPaginatorIntl(); paginatorIntl.firstPageLabel = (_a = tableIntl === null || tableIntl === void 0 ? void 0 : tableIntl.paginatorLabels) === null || _a === void 0 ? void 0 : _a.firstPageLabel; paginatorIntl.getRangeLabel = (_b = tableIntl === null || tableIntl === void 0 ? void 0 : tableIntl.paginatorLabels) === null || _b === void 0 ? void 0 : _b.getRangeLabel; paginatorIntl.itemsPerPageLabel = (_c = tableIntl === null || tableIntl === void 0 ? void 0 : tableIntl.paginatorLabels) === null || _c === void 0 ? void 0 : _c.itemsPerPageLabel; paginatorIntl.lastPageLabel = (_d = tableIntl === null || tableIntl === void 0 ? void 0 : tableIntl.paginatorLabels) === null || _d === void 0 ? void 0 : _d.lastPageLabel; paginatorIntl.nextPageLabel = (_e = tableIntl === null || tableIntl === void 0 ? void 0 : tableIntl.paginatorLabels) === null || _e === void 0 ? void 0 : _e.nextPageLabel; paginatorIntl.previousPageLabel = (_f = tableIntl === null || tableIntl === void 0 ? void 0 : tableIntl.paginatorLabels) === null || _f === void 0 ? void 0 : _f.previousPageLabel; return paginatorIntl || null; } const ExtensionsModule = [HeaderFilterModule, RowMenuModule]; const ɵ0 = {}; export class DynamicMatTableModule { static forRoot(config) { return { ngModule: DynamicMatTableModule, providers: [ { provide: TableSetting, useValue: config, }, ], }; } } /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */ DynamicMatTableModule.decorators = [ { type: NgModule, args: [{ imports: [ CommonModule, FormsModule, MatTableModule, ScrollingModule, TableVirtualScrollModule, MatCheckboxModule, MatFormFieldModule, MatInputModule, MatSortModule, MatProgressBarModule, MatIconModule, DragDropModule, TableMenuModule, MatPaginatorModule, MatDialogModule, MatButtonModule, MatMenuModule, MatDividerModule, MatTooltipModule, MatRippleModule, OverlayModule, ExtensionsModule, PaginationModule, // NoopAnimationsModule ], exports: [DynamicMatTableComponent], providers: [ // bugfixes in library compiler not load and must create library { provide: COMPILER_OPTIONS, useValue: ɵ0, multi: true }, { provide: CompilerFactory, useClass: JitCompilerFactory, deps: [COMPILER_OPTIONS] }, { provide: Compiler, useFactory: createCompiler, deps: [CompilerFactory] }, TableIntl, { provide: MatPaginatorIntl, useFactory: paginatorLabels, deps: [TableIntl], }, ], declarations: [ DynamicMatTableComponent, PrintTableDialogComponent, TableCoreDirective, DynamicCellDirective, TooltipComponent, TooltipDirective, TemplateOrStringDirective ], entryComponents: [PrintTableDialogComponent, TooltipComponent], },] } ]; export { ɵ0 }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1tYXQtdGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHluYW1pYy1tYXQtdGFibGUvc3JjL2xpYi9keW5hbWljLW1hdC10YWJsZS9keW5hbWljLW1hdC10YWJsZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUNsRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3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Q0QsZUFBZSxFQUFFLENBQUMseUJBQXlCLEVBQUUsZ0JBQWdCLENBQUM7YUFDL0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21waWxlciwgQ29tcGlsZXJGYWN0b3J5LCBDT01QSUxFUl9PUFRJT05TLCBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdFNvcnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcclxuaW1wb3J0IHsgRHJhZ0Ryb3BNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgTWF0VGFibGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XHJcbmltcG9ydCB7IFNjcm9sbGluZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XHJcbmltcG9ydCB7IE1hdFBhZ2luYXRvckludGwsIE1hdFBhZ2luYXRvck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgTWF0RGl2aWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInO1xyXG5pbXBvcnQgeyBUYWJsZUludGwgfSBmcm9tICcuLi9pbnRlcm5hdGlvbmFsL3RhYmxlLUludGwnO1xyXG5pbXBvcnQgeyBUYWJsZUNvcmVEaXJlY3RpdmUgfSBmcm9tICcuLi9jb3Jlcy90YWJsZS5jb3JlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFJvd01lbnVNb2R1bGUgfSBmcm9tICcuL2V4dGVuc2lvbnMvcm93LW1lbnUvcm93LW1lbnUubW9kdWxlJztcclxuaW1wb3J0IHsgRHluYW1pY01hdFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLW1hdC10YWJsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUYWJsZU1lbnVNb2R1bGUgfSBmcm9tICcuL2V4dGVuc2lvbnMvdGFibGUtbWVudS90YWJsZS1tZW51Lm1vZHVsZSc7XHJcbmltcG9ydCB7IEhlYWRlckZpbHRlck1vZHVsZSB9IGZyb20gJy4vZXh0ZW5zaW9ucy9maWx0ZXIvaGVhZGVyLWZpbHRlci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBUYWJsZVZpcnR1YWxTY3JvbGxNb2R1bGUgfSBmcm9tICcuLi9jb3Jlcy90YWJsZS12aXJ0dWFsLXNjcm9sbC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBQcmludFRhYmxlRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9leHRlbnNpb25zL3ByaW50LWRpYWxvZy9wcmludC1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRHluYW1pY0NlbGxEaXJlY3RpdmUgfSBmcm9tICcuLi9jb3Jlcy9keW5hbWljLWNlbGwvZHluYW1pYy1jZWxsLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEppdENvbXBpbGVyRmFjdG9yeSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXItZHluYW1pYyc7XHJcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBNYXRSaXBwbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4uL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBUb29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnLi4vdG9vbHRpcC90b29sdGlwLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFRlbXBsYXRlT3JTdHJpbmdEaXJlY3RpdmUgfSBmcm9tICcuLi90b29sdGlwL3RlbXBsYXRlLW9yLXN0cmluZy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVGFibGVTZXR0aW5nIH0gZnJvbSAnLi4vbW9kZWxzL3RhYmxlLXNldHRpbmcubW9kZWwnO1xyXG5pbXBvcnQge1BhZ2luYXRpb25Nb2R1bGV9IGZyb20gJy4uL21vZHVsZXMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLm1vZHVsZSc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQ29tcGlsZXIoY29tcGlsZXJGYWN0b3J5OiBDb21waWxlckZhY3RvcnkpOiBDb21waWxlciB7XHJcbiAgcmV0dXJuIGNvbXBpbGVyRmFjdG9yeS5jcmVhdGVDb21waWxlcigpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcGFnaW5hdG9yTGFiZWxzKHRhYmxlSW50bDogVGFibGVJbnRsKSB7XHJcbiAgY29uc3QgcGFnaW5hdG9ySW50bCA9IG5ldyBNYXRQYWdpbmF0b3JJbnRsKCk7XHJcbiAgcGFnaW5hdG9ySW50bC5maXJzdFBhZ2VMYWJlbCA9IHRhYmxlSW50bD8ucGFnaW5hdG9yTGFiZWxzPy5maXJzdFBhZ2VMYWJlbDtcclxuICBwYWdpbmF0b3JJbnRsLmdldFJhbmdlTGFiZWwgPSB0YWJsZUludGw/LnBhZ2luYXRvckxhYmVscz8uZ2V0UmFuZ2VMYWJlbDtcclxuICBwYWdpbmF0b3JJbnRsLml0ZW1zUGVyUGFnZUxhYmVsID0gdGFibGVJbnRsPy5wYWdpbmF0b3JMYWJlbHM/Lml0ZW1zUGVyUGFnZUxhYmVsO1xyXG4gIHBhZ2luYXRvckludGwubGFzdFBhZ2VMYWJlbCA9IHRhYmxlSW50bD8ucGFnaW5hdG9yTGFiZWxzPy5sYXN0UGFnZUxhYmVsO1xyXG4gIHBhZ2luYXRvckludGwubmV4dFBhZ2VMYWJlbCA9IHRhYmxlSW50bD8ucGFnaW5hdG9yTGFiZWxzPy5uZXh0UGFnZUxhYmVsO1xyXG4gIHBhZ2luYXRvckludGwucHJldmlvdXNQYWdlTGFiZWwgPSB0YWJsZUludGw/LnBhZ2luYXRvckxhYmVscz8ucHJldmlvdXNQYWdlTGFiZWw7XHJcbiAgcmV0dXJuIHBhZ2luYXRvckludGwgfHwgbnVsbDtcclxufVxyXG5cclxuY29uc3QgRXh0ZW5zaW9uc01vZHVsZSA9IFtIZWFkZXJGaWx0ZXJNb2R1bGUsIFJvd01lbnVNb2R1bGVdO1xyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgTWF0VGFibGVNb2R1bGUsXHJcbiAgICBTY3JvbGxpbmdNb2R1bGUsXHJcbiAgICBUYWJsZVZpcnR1YWxTY3JvbGxNb2R1bGUsXHJcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgTWF0U29ydE1vZHVsZSxcclxuICAgIE1hdFByb2dyZXNzQmFyTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIERyYWdEcm9wTW9kdWxlLFxyXG4gICAgVGFibGVNZW51TW9kdWxlLFxyXG4gICAgTWF0UGFnaW5hdG9yTW9kdWxlLFxyXG4gICAgTWF0RGlhbG9nTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgTWF0TWVudU1vZHVsZSxcclxuICAgIE1hdERpdmlkZXJNb2R1bGUsXHJcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxyXG4gICAgTWF0UmlwcGxlTW9kdWxlLFxyXG4gICAgT3ZlcmxheU1vZHVsZSxcclxuICAgIEV4dGVuc2lvbnNNb2R1bGUsXHJcbiAgICBQYWdpbmF0aW9uTW9kdWxlLFxyXG4gICAgLy8gTm9vcEFuaW1hdGlvbnNNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtEeW5hbWljTWF0VGFibGVDb21wb25lbnRdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgLy8gYnVnZml4ZXMgaW4gbGlicmFyeSBjb21waWxlciBub3QgbG9hZCBhbmQgbXVzdCBjcmVhdGUgbGlicmFyeVxyXG4gICAge3Byb3ZpZGU6IENPTVBJTEVSX09QVElPTlMsIHVzZVZhbHVlOiB7fSwgbXVsdGk6IHRydWV9LFxyXG4gICAge3Byb3ZpZGU6IENvbXBpbGVyRmFjdG9yeSwgdXNlQ2xhc3M6IEppdENvbXBpbGVyRmFjdG9yeSwgZGVwczogW0NPTVBJTEVSX09QVElPTlNdfSxcclxuICAgIHtwcm92aWRlOiBDb21waWxlciwgdXNlRmFjdG9yeTogY3JlYXRlQ29tcGlsZXIsIGRlcHM6IFtDb21waWxlckZhY3RvcnldfSxcclxuICAgIFRhYmxlSW50bCxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTWF0UGFnaW5hdG9ySW50bCxcclxuICAgICAgdXNlRmFjdG9yeTogcGFnaW5hdG9yTGFiZWxzLFxyXG4gICAgICBkZXBzOiBbVGFibGVJbnRsXSxcclxuICAgIH0sXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIER5bmFtaWNNYXRUYWJsZUNvbXBvbmVudCxcclxuICAgIFByaW50VGFibGVEaWFsb2dDb21wb25lbnQsXHJcbiAgICBUYWJsZUNvcmVEaXJlY3RpdmUsXHJcbiAgICBEeW5hbWljQ2VsbERpcmVjdGl2ZSxcclxuICAgIFRvb2x0aXBDb21wb25lbnQsXHJcbiAgICBUb29sdGlwRGlyZWN0aXZlLFxyXG4gICAgVGVtcGxhdGVPclN0cmluZ0RpcmVjdGl2ZVxyXG4gIF0sXHJcbiAgZW50cnlDb21wb25lbnRzOiBbUHJpbnRUYWJsZURpYWxvZ0NvbXBvbmVudCwgVG9vbHRpcENvbXBvbmVudF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljTWF0VGFibGVNb2R1bGUge1xyXG4gIHN0YXRpYyBmb3JSb290KGNvbmZpZzogVGFibGVTZXR0aW5nKTogTW9kdWxlV2l0aFByb3ZpZGVyczxEeW5hbWljTWF0VGFibGVNb2R1bGU+XHJcbiAge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IER5bmFtaWNNYXRUYWJsZU1vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogVGFibGVTZXR0aW5nLFxyXG4gICAgICAgICAgdXNlVmFsdWU6IGNvbmZpZyxcclxuICAgICAgICB9LFxyXG4gICAgICBdLFxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19