UNPKG

@bi8/am-data-table

Version:

ng update @angular/cli --migrate-only --from=1.7.4 ng update @angular/core yarn add ng-packagr yarn add @angular/material yarn add core-js yarn add @angular/flex-layout yarn add lodash yarn add material-design-icons yarn add roboto-fontface yarn

306 lines (305 loc) 10.6 kB
import { AfterContentChecked, AfterContentInit, AfterViewInit, ChangeDetectorRef, ComponentFactoryResolver, ElementRef, EventEmitter, InjectionToken, IterableChanges, IterableDiffers, OnChanges, OnDestroy, OnInit, QueryList, Renderer2, SimpleChanges, TemplateRef, Type, ViewContainerRef } from '@angular/core'; import { Subject } from 'rxjs/Subject'; import { Subscription } from 'rxjs/Subscription'; import { CollectionViewer, DataSource } from '@angular/cdk/collections'; import { BehaviorSubject } from 'rxjs/BehaviorSubject'; export interface GridDateFormat { format: string; } export declare const AM_GRID_DATE_FORMAT: InjectionToken<GridDateFormat>; export declare const AM_GRID_DATE_DEFAULT: GridDateFormat; export declare class HeaderRowOutlet { viewContainer: ViewContainerRef; constructor(viewContainer: ViewContainerRef); } export declare class DataRowOutlet { viewContainer: ViewContainerRef; constructor(viewContainer: ViewContainerRef); } export declare class RowOutlet { viewContainer: ViewContainerRef; constructor(viewContainer: ViewContainerRef); } export declare class ExpanderOutlet { viewContainer: ViewContainerRef; constructor(viewContainer: ViewContainerRef); } export declare class CellOutlet { viewContainer: ViewContainerRef; constructor(viewContainer: ViewContainerRef); } export declare class HeaderRowDef { templateRef: TemplateRef<any>; viewContainer: ViewContainerRef; model: GridModel; constructor(templateRef: TemplateRef<any>, viewContainer: ViewContainerRef); } export declare class HeaderCellDef { templateRef: TemplateRef<any>; viewContainer: ViewContainerRef; column: GridColumn; constructor(templateRef: TemplateRef<any>, viewContainer: ViewContainerRef); } export declare class HeaderCell implements OnInit, OnDestroy, AfterContentInit, OnChanges { protected componentFactoryResolver: ComponentFactoryResolver; protected elementRef: ElementRef; protected renderer: Renderer2; column: GridColumn; _cellOutlet: CellOutlet; constructor(componentFactoryResolver: ComponentFactoryResolver, elementRef: ElementRef, renderer: Renderer2); ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; ngAfterContentInit(): void; renderCell(): void; } export declare class HeaderRow implements AfterContentInit { protected _changeDetectorRef: ChangeDetectorRef; events$: EventEmitter<GridEvent>; _rowOutlet: RowOutlet; _headerCellDef: HeaderCellDef; headerCells: QueryList<HeaderCell>; model: GridModel; constructor(_changeDetectorRef: ChangeDetectorRef); ngAfterContentInit(): void; renderHeaderCell(column: GridColumn, index?: number): void; clearCells(): void; /** * Iterate the changes and apply add/remove/insert operations to the collection of header cells (columns) * @todo - can still do the TODO one for moving a column (look at material2 data table sort for an example * */ applyColumnChanges(changes: IterableChanges<GridColumn>): void; } export interface RowContext { data: any; model: GridModel; index?: number; count?: number; first?: boolean; last?: boolean; even?: boolean; odd?: boolean; expanded?: boolean; selected?: boolean; } export declare class DataRowDef { templateRef: TemplateRef<any>; viewContainer: ViewContainerRef; constructor(templateRef: TemplateRef<any>, viewContainer: ViewContainerRef); } export declare class DataCellDef { templateRef: TemplateRef<any>; viewContainer: ViewContainerRef; constructor(templateRef: TemplateRef<any>, viewContainer: ViewContainerRef); } export declare class DataCell implements OnInit, AfterContentInit { protected componentFactoryResolver: ComponentFactoryResolver; protected elementRef: ElementRef; protected renderer: Renderer2; column: GridColumn; row: RowContext; _cellOutlet: CellOutlet; constructor(componentFactoryResolver: ComponentFactoryResolver, elementRef: ElementRef, renderer: Renderer2); ngOnInit(): void; ngAfterContentInit(): void; renderCell(): void; } export interface DataRowStyleResolver { (row: RowContext): string[]; } export interface DataCellStyleResolver { (row: RowContext, column: GridColumn): string[]; } export declare class DataRow implements AfterContentInit { protected _changeDetectorRef: ChangeDetectorRef; events$: EventEmitter<GridEvent>; _rowOutlet: RowOutlet; _dataCellDef: DataCellDef; dataCells: QueryList<DataCell>; _expanderOutlet: ExpanderOutlet; selected: boolean; row: RowContext; expanderIcon: string; constructor(_changeDetectorRef: ChangeDetectorRef); rowClicked(event: any): void; selectRow(): void; deselectRow(): void; isSelected(): boolean; rowClass(): string[]; cellClass(column: GridColumn): string[]; ngAfterContentInit(): void; renderDataCell(column: GridColumn, index?: number): void; /** * Iterate the changes and apply add/remove/insert operations to the collection of header cells (columns) * @todo - can still do the TODO one for moving a column (look at material2 data table sort for an example * */ applyColumnChanges(changes: IterableChanges<GridColumn>): void; toggleExpander(): void; } export declare class GridComponent<T> implements OnInit, AfterViewInit, OnDestroy, AfterContentInit, AfterContentChecked, OnChanges, CollectionViewer { protected _differs: IterableDiffers; protected _changeDetectorRef: ChangeDetectorRef; events$: EventEmitter<GridEvent>; data: any[]; model: GridModel; private _dataSource; private onDestroy; private dataSubscription; dataSource: DataSource<T>; _headerRowOutlet: HeaderRowOutlet; _headerRowDef: HeaderRowDef; headerRowTemplate: TemplateRef<any>; headerRow: HeaderRow; _dataRowOutlet: DataRowOutlet; _dataRowDef: DataRowDef; dataRows: QueryList<DataRow>; private columnsDiffer; private dataDiffer; modelSubscription: Subscription; viewChange: BehaviorSubject<{ start: number; end: number; }>; gridDefaults: GridDefaults; constructor(_differs: IterableDiffers, _changeDetectorRef: ChangeDetectorRef); toggleRowExpander(index: number): void; emit(event: GridEvent): void; ngOnInit(): void; ngAfterContentInit(): void; ngAfterContentChecked(): void; ngAfterViewInit(): void; ngAfterViewChecked(): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; setupHeader(): void; gridModelChanged(event?: GridModelEvent): void; dataSourceDataChanged(): void; private switchDataSource; private observeModel; private observeDataSource; } export declare enum GridEventType { RowExpanded = 0, RowContracted = 1, RowRemoved = 2, RowAdded = 3, Reloaded = 4, ColumnRemoved = 5, ColumnAdded = 6, DataChange = 7, Initialized = 8, RowClicked = 9, RowSelected = 10, RowDeselected = 11 } export interface GridEvent { type: GridEventType; data?: any; } export interface GridModelConfig { selection?: boolean; showExpander?: boolean; expanderFormatter?: Type<GridExpanderFormatter>; expanderTemplate?: TemplateRef<any>; expandRowIndex?: number; } export interface GridModelStyles { containerClasses?: string[]; gridClasses?: string[]; scrollX?: boolean; minColumnWidth?: string; dataRowStyleResolver?: DataRowStyleResolver; } export declare enum GridModelEventType { ADD = 0, REMOVE = 1, UPDATE = 2 } export interface GridModelEvent { type: GridModelEventType; column?: GridColumn; columns: GridColumn[]; } export declare class GridModel { config: GridModelConfig; styles: GridModelStyles; columns: GridColumn[]; _changes: Subject<GridModelEvent>; grid: GridComponent<any>; constructor(config: GridModelConfig, styles?: GridModelStyles); toggleExpander(index: number): void; addColumn(column: GridColumn): void; getColumnByKey(key: string): GridColumn; insertColumn(column: GridColumn, index: number): void; removeColumn(column: GridColumn): void; removeColumnByIndex(index: number): void; removeColumnsByKey(key: string): void; updateStyles(): void; updateColumn(column: GridColumn): void; removeAll(): void; notifyChanges(type: GridModelEventType, column?: GridColumn): void; } export interface GridColumnConfig { key: string; type?: string; heading?: string; sortable?: boolean; noHeading?: boolean; headingFormatter?: Type<GridHeaderFormatter>; formatter?: Type<GridDataFormatter>; context?: any; headingTemplate?: TemplateRef<any>; dataTemplate?: TemplateRef<any>; options?: any; } export interface GridColumnStyle { headerCellStyleClasses?: string[]; filterCellStyleClasses?: string[]; dataCellStyleClasses?: string[]; flex?: number; minWidth?: string; maxWidth?: string; dataCellStyleResolver?: DataCellStyleResolver; } export declare class GridColumn { model: GridModel; config: GridColumnConfig; styles: GridColumnStyle; options: any; refresh: boolean; constructor(config: GridColumnConfig, styles?: GridColumnStyle, options?: any); } export interface GridDataFormatter { column: GridColumn; row: any; } export declare class GridPropertyFormatter implements GridDataFormatter { column: GridColumn; row: RowContext; getValue(): any; } export declare class GridDateFormatter extends GridPropertyFormatter { gridDateFormat: GridDateFormat; column: GridColumn; row: RowContext; constructor(gridDateFormat: GridDateFormat); getFormat(): any; } export interface GridHeaderFormatter { column: GridColumn; } export declare class GridKeyHeaderFormatter implements GridHeaderFormatter { column: GridColumn; } export interface GridExpanderFormatter { row: RowContext; } export declare class GridDefaults { columns: Map<string, GridColumn>; constructor(); setDefaultColumn(type: string, column: GridColumn): void; getDefaultColumn(type: string): GridColumn; applyDefaults(columns: GridColumn[]): void; }