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.
99 lines (98 loc) • 4.95 kB
TypeScript
import { OnInit, AfterViewInit, QueryList, ElementRef, TemplateRef, Renderer2, ChangeDetectorRef, OnDestroy } from '@angular/core';
import { TableCoreDirective } from '../cores/table.core.directive';
import { TableService } from './dynamic-mat-table.service';
import { TableField } from '../models/table-field.model';
import { AbstractFilter } from './extensions/filter/compare/abstract-filter';
import { HeaderFilterComponent } from './extensions/filter/header-filter.component';
import { MatDialog } from '@angular/material/dialog';
import { ResizeColumn } from '../models/resize-column.mode';
import { TableIntl } from '../international/table-Intl';
import { TableMenuActionChange } from './extensions/table-menu/table-menu.component';
import { CdkDragDrop, CdkDragStart } from '@angular/cdk/drag-drop';
import { HashMap } from '../cores/type';
import { TableSetting } from '../models/table-setting.model';
import { MatMenuTrigger } from '@angular/material/menu';
import { ContextMenuItem } from '../models/context-menu.model';
import { Overlay, OverlayContainer, OverlayPositionBuilder, OverlayRef } from '@angular/cdk/overlay';
import { PageEvent } from '@angular/material/paginator';
import { TableRow } from '../models/table-row.model';
export declare const tableAnimation: import("@angular/animations").AnimationTriggerMetadata;
export declare const expandAnimation: import("@angular/animations").AnimationTriggerMetadata;
export declare class DynamicMatTableComponent<T extends TableRow> extends TableCoreDirective<T> implements OnInit, AfterViewInit, OnDestroy {
dialog: MatDialog;
private renderer;
languagePack: TableIntl;
tableService: TableService;
cdr: ChangeDetectorRef;
overlay: Overlay;
private overlayContainer;
private overlayPositionBuilder;
readonly config: TableSetting;
tbl: any;
get setting(): TableSetting;
set setting(value: TableSetting);
init: boolean;
height: any;
tooltipRef: TemplateRef<any>;
contextMenu: MatMenuTrigger;
contextMenuPosition: {
x: string;
y: string;
};
printRef: TemplateRef<any>;
printContentRef: ElementRef;
headerFilterList: QueryList<HeaderFilterComponent>;
private dragDropData;
private eventsSubscription;
printing: boolean;
printTemplate: TemplateRef<any>;
resizeColumn: ResizeColumn;
resizableMousemove: () => void;
resizableMouseup: () => void;
overlayRef: OverlayRef;
constructor(dialog: MatDialog, renderer: Renderer2, languagePack: TableIntl, tableService: TableService, cdr: ChangeDetectorRef, overlay: Overlay, overlayContainer: OverlayContainer, overlayPositionBuilder: OverlayPositionBuilder, config: TableSetting);
ngAfterViewInit(): void;
tooltip_onChanged(column: TableField<T>, row: any, elementRef: any, show: boolean): void;
closeTooltip(): void;
ellipsis(column: TableField<T>, cell?: boolean): {
display: string;
"-webkit-line-clamp": number;
"-webkit-box-orient": string;
overflow: string;
"white-space": string;
};
indexTrackFn: (index: number) => number;
trackColumn(index: number, item: TableField<T>): string;
ngOnDestroy(): void;
refreshUI(): void;
ngOnInit(): void;
get inverseOfTranslation(): number;
headerClass(column: TableField<T>): string;
rowStyle(row: any): any;
cellClass(option: any, column: any): any;
cellStyle(option: HashMap<any>, column: any): any;
cellIcon(option: any, cellName: any): any;
filter_onChanged(column: TableField<T>, filter: AbstractFilter[]): void;
currentContextMenuSender: any;
onContextMenu(event: MouseEvent, column: TableField<T>, row: any): void;
onContextMenuItemClick(data: ContextMenuItem): void;
tableMenuActionChange(e: TableMenuActionChange): void;
rowMenuActionChange(contextMenuItem: ContextMenuItem, row: any): void;
pagination_onChange(e: PageEvent): void;
autoHeight(): string;
reload_onClick(): void;
onResizeColumn(event: MouseEvent, index: number, type: "left" | "right"): void;
mouseMove(index: number): void;
expandRow(rowIndex: number, mode?: boolean): void;
onRowSelection(e: any, row: any, column: TableField<T>): void;
onCellClick(e: any, row: any, column: TableField<T>): void;
onLabelClick(e: any, row: any, column: TableField<T>): void;
onRowDblClick(e: any, row: any): void;
onRowClick(e: any, row: any): void;
/************************************ Drag & Drop Column *******************************************/
dragStarted(event: CdkDragStart): void;
dropListDropped(event: CdkDragDrop<string[]>): void;
drop(event: CdkDragDrop<string[]>): void;
/************************************ *******************************************/
copyProperty(from: any, to: any): void;
}