@circe/table
Version:
Circe Components for Angular :: Table Component
90 lines (89 loc) • 4.25 kB
TypeScript
import { AfterViewInit, ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, QueryList, Renderer2, SimpleChanges } from '@angular/core';
import { EventsService, NpaId, ToolService } from '@circe/core';
import { NpaActionConfig } from './table-actions/table-actions.types';
import { BehaviorSubject, Observable, Subject, Subscription } from 'rxjs';
import { TableService } from './table.service';
import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
import { SelectComponent } from '@circe/select';
import { TableSource } from './table-source';
import { TableActionsComponent } from './table-actions/table-actions.component';
import { NpaTableConfiguration } from './configurations/table.configuration';
import { NpaTableActionsConfiguration } from './configurations/table-actions.configuration';
import { NpaTableCheckboxSelection, NpaTableColumn, NpaTableColumnConfigurationModel, NpaTableConfigModel, NpaTableRowValue, NpaTableSort } from './table.types';
export declare class TableComponent<T> implements OnInit, OnChanges, AfterViewInit, OnDestroy {
ev: EventsService;
tools: ToolService;
tableService: TableService;
private _renderer;
_table: ElementRef<HTMLElement>;
_tableBody: ElementRef<HTMLElement>;
_tableRow: ElementRef<HTMLElement>;
_tableHeader: ElementRef<HTMLElement>;
_viewPort: CdkVirtualScrollViewport;
tableActions: QueryList<TableActionsComponent<T>>;
selects: QueryList<SelectComponent>;
id: string;
config: NpaTableConfigModel<T>;
data: T[] | Observable<T[]> | TableSource<T>;
showSpinner: boolean;
showLoadOnScrollSpinner: boolean;
hotRender: boolean;
get sort(): NpaTableSort | BehaviorSubject<NpaTableSort>;
set sort(sort: NpaTableSort | BehaviorSubject<NpaTableSort>);
internalUpdate: EventEmitter<NpaTableRowValue<T>[]>;
sortChange: EventEmitter<NpaTableSort>;
scrolledToBottom: EventEmitter<void>;
internalId: string;
dataSource$: Observable<any[]>;
dataSourceSubscription: Subscription;
rows$: BehaviorSubject<NpaTableColumn<T>[][]>;
tableConfiguration: NpaTableConfiguration<T>;
tableActionsConfiguration: NpaTableActionsConfiguration<T>;
checkboxColumnsModel: Record<NpaId, NpaTableCheckboxSelection>;
rowsHoverState: boolean[];
defaultAction: NpaActionConfig<T>;
groupActions$: BehaviorSubject<boolean>;
showInternalSpinner$: BehaviorSubject<boolean>;
manualActionsHide$: Subject<void>;
sort$: BehaviorSubject<NpaTableSort>;
private _originalDataCopy;
private _sortSubscription;
private _scrollSubscription;
private _iconHandler;
private _componentDestroyed$;
onResize(): void;
constructor(ev: EventsService, tools: ToolService, tableService: TableService, _renderer: Renderer2);
private _setDataStream;
private _processRows;
private _processColumn;
private _processCheckboxColumn;
private _processRadioColumn;
private _processSelectColumn;
private _processIconColumn;
private _processBadgeColumn;
private _processDateColumn;
private _getBadgeType;
private _getIcon;
private _getTableValue;
private _hideAllDropdowns;
private _setScrollListener;
private _setResizeListener;
private _processConfiguration;
ngOnInit(): void;
ngAfterViewInit(): void;
ngOnChanges(changes: SimpleChanges): void;
checkColumnCheckboxes(columnId: NpaId): void;
sortTableRows(column: NpaTableColumnConfigurationModel<T>): void;
updateRadioColumn(columnId: NpaId, newValue: number): void;
updateCheckboxColumn(column: NpaTableColumn<T>, row: NpaTableColumn<T>[], rowIndex: number, newValue: any, bypassCheck?: boolean): void;
updateColumnValue(column: NpaTableColumn<T>, row: NpaTableColumn<T>[], rowIndex: number, newValue: any): void;
linkAction(column: NpaTableColumn<T>, row: NpaTableColumn<T>[], rowIndex: number): void;
setColumnCheckboxes(columnId: NpaId): void;
rowHover(columnIndex: number): void;
tableMouseLeave(): void;
rowMouseLeave(rowIndex: number): void;
checkScroll(): void;
getRowValue(row: NpaTableColumn<T>[], rowIndex: number): NpaTableRowValue<T>;
private _checkBiggerTableActions;
ngOnDestroy(): void;
}