UNPKG

@ctodev/cclibrary-typings

Version:

Library typings for use with CLARC INFINITY

170 lines (169 loc) 6.27 kB
import { EventEmitter, OnInit, TemplateRef, AfterViewInit, QueryList } from '@angular/core'; import { MatSort } from '@angular/material/sort'; import { MatTable, MatTableDataSource } from '@angular/material/table'; import { TccContextMenu } from '../../../shared/components/tcc-context-menu/tcc-context-menu.component'; import { TccTableCheckboxControllerDirective } from '../../../shared/directives/tcc-table-checkbox-controller/tcc-table-checkbox-controller.directive'; import { TccInfinityScroll, TccInfinityScrollComponent } from '../../../shared/components/tcc-infinity-scroll/tcc-infinity-scroll.component'; import { TccContextMenuServiceNamespace } from '../../../shared/services/tcc-context-menu/tcc-context-menu.service'; import { TccClarcDateFormat, TccClarcDatePipe } from '../../../shared/pipes/tcc-clarc-date/tcc-clarc-date.pipe'; import { SpecialColDirective } from './directives/special-col.directive'; export declare namespace TccTable { interface TableInputs<T> { tableOptions: TccTable.TableOptions; columnDef: Array<TccTable.ColumnDef<T>>; } interface TableOptions { rowHover: boolean; dragAndDrop: boolean; sort: sortConfig; infinityScroll: infinityScrollConfig; classes?: Array<string>; checkbox: boolean; disabledCheckboxes?: Array<string>; contextMenuOptions?: contextMenuConfig; placeholder: placeholderConfig; density?: tableDensity; stickyHeader?: boolean; rowSelected?: boolean; } interface ColumnDef<T> { id: string; path: Array<string>; tooltip?: boolean; transformFunction?: ((value: any, row?: T) => string); useDatePipe?: TccClarcDateFormat; useTranslationPipe?: boolean; useResolveIdPipe?: boolean; ngContent?: ngContentConfig; hover?: boolean; displayName: string; disableSort?: boolean; breakCol?: boolean; colSize?: cellSize; sortingDataAccessorFunction?: ((value?: any) => string | number); } interface contextMenuConfig { MenuOptions: TccContextMenu.option[]; Name?: string[]; Id?: string[]; Delete?: boolean; GetSelectedEntities?: TccContextMenu.getSelectedEntitiesFunction; } enum tableDensity { density1 = "density1", density2 = "density2", density3 = "density3", density4 = "density4" } interface sortConfig { sortEnabled: boolean; sortLocally: boolean; } interface rowClickEvent { rowObject: Object; index: number; isDoubleClick?: boolean; } interface checkboxEvent { Entity?: Object; Value: boolean; } interface sortTableEvent { active: string; direction: "asc" | "desc" | ""; } interface infinityScrollConfig { enabled: boolean; firstElementPath?: Array<string | number>; altMode?: boolean; } interface ngContentConfig { enabled: boolean; index?: number; } interface placeholderConfig { placeholderText: string; placeholderImage: string; placeholderImageSize?: placeholderImageSize; } enum placeholderImageSize { sizeMedium = "mediumSize", sizeLarge = "largeSize" } enum cellSize { small = "smallCell", medium = "mediumCell", large = "largeCell", extraLarge = "extraLargeCell" } } export declare class TccTableComponent<T> implements OnInit, AfterViewInit { private clarcDatePipe; specialColumnsList: QueryList<SpecialColDirective>; table: MatTable<any>; checkDir: TccTableCheckboxControllerDirective<T>; infinityScroll: TccInfinityScrollComponent; set content(sort: MatSort); set TableInput(value: TccTable.TableInputs<any>); set TableData(value: Array<object>); set DisplayedColumns(value: Array<string>); _hide: boolean; /** sets the table to display: none */ set hide(value: boolean); get hide(): boolean; cellClickEmitter: EventEmitter<any>; rowClickEmitter: EventEmitter<TccTable.rowClickEvent>; scrollDownEmitter: EventEmitter<boolean>; checkboxEmitter: EventEmitter<TccTable.checkboxEvent>; sortTableEmitter: EventEmitter<TccTable.sortTableEvent>; contextMenuEmitter: EventEmitter<TccContextMenuServiceNamespace.contextMenuClickEvent>; tableLoadedEmitter: EventEmitter<boolean>; _tableInput: TccTable.TableInputs<any>; _rawData: Array<any>; _dataSource: MatTableDataSource<any>; _displayedColumns: Array<string>; _tableOptions: TccTable.TableOptions; _columnDef: Array<TccTable.ColumnDef<any>>; tableClasses: Array<string>; backupColumns: Array<string>; columndef: { [columnId: string]: TccTable.ColumnDef<any>; }; selectedRows: string[]; isSingleClick: boolean; selectedRow: number; _refreshTransform: number; infinityScrollContentType: TccInfinityScroll.contentType; specialColumns: Array<TemplateRef<any>>; disabledCheckboxesIndex: Array<number>; constructor(clarcDatePipe: TccClarcDatePipe); ngOnInit(): void; ngAfterViewInit(): void; generateDisplayedColumns(coldef: Array<TccTable.ColumnDef<any>>, displayCols?: Array<string>): void; cellClickEvent($event: Object): void; rowClickEvent($event: any, isDoubleClick?: boolean, index?: number): void; scrollDownEvent($event: boolean): void; checkboxEvent($event: { Entity: Object; Value: boolean; } | { Value: boolean; }): void; sortTable($event: { active: string; direction: "asc" | "desc" | ""; }): void; dropEvent($event: any): void; contextMenuOptionClick(event: TccContextMenuServiceNamespace.contextMenuClickEvent): void; getCheckedBoxes(): T[]; getCheckedIndex(): { [rowIndex: number]: Object; }; toggleCheckbox(index: number): void; filterLocal(filter: any): void; setDisplayedColumns(cols: Array<string>): void; refreshTransformedValues(): void; checkForSystemEntities(entities: Array<any>): void; private buildSortingDataAccessor; private getColumnDefById; }