med-table
Version:
Wrapper over table of primeng library for Ministry of Health
65 lines (64 loc) • 3.58 kB
TypeScript
import { Table } from 'primeng/table';
import { FilterService, PrimeNGConfig } from 'primeng/api';
import { ElementRef, EventEmitter, ChangeDetectorRef, AfterViewInit } from '@angular/core';
import { FILTER_TYPES } from './types/filterTypes';
import { PrimeOnFilterEvent } from './types/PrimeFilter';
import { MedSelectOption } from './types/MedSelectOption';
import { MedTableSettings } from './types/MedTableSettings';
import { PrimengConfigMixin } from './mixins/PrimengConfigMixin';
import { MedTableService } from './services/med-table.service';
import { CellDataConfigLocal } from './types/CellDataConfigLocal';
import { MedUpdateTableEvent } from './types/MedUpdateTableEvent';
import { MedTableColumnConfig } from './types/MedTableColumnConfig';
import { MedUpdateEvent } from './types/MedUpdateEvent';
import { MedTableSettingsLocal } from './types/MedTableSettingsLocal';
import { PrimeTableLazyLoadEvent } from './types/PrimeTableLazyLoadEvent';
import { FilterDataHandler } from './services/FilterDataHandler/FilterDataHandler';
import * as i0 from "@angular/core";
export declare class MedTableComponent<ItemType> extends PrimengConfigMixin implements AfterViewInit {
private cb;
private store;
constructor(primeConfig: PrimeNGConfig, filterService: FilterService, cb: ChangeDetectorRef, store: MedTableService);
readonly FILTER_TYPES: typeof FILTER_TYPES;
readonly filterDataHandler: FilterDataHandler<ItemType>;
columnsConfig: MedTableColumnConfig[];
private _data;
private _config;
loading: boolean;
settings: MedTableSettings;
set config(newValue: MedTableColumnConfig[]);
get config(): CellDataConfigLocal[];
set data(newValue: ItemType[]);
get data(): ItemType[];
updateTable: EventEmitter<MedUpdateTableEvent>;
updateRow: EventEmitter<MedUpdateEvent<ItemType>>;
focusCell: EventEmitter<MedUpdateEvent<ItemType>>;
tableRef: Table;
upScrollRef: ElementRef<HTMLElement>;
upScrollItemRef: ElementRef<HTMLElement>;
get filterableFields(): string[];
get localSettings(): MedTableSettingsLocal;
get colspan(): number;
get maxDeepKeyLevel(): number;
get tableHeadLevels(): number[];
ngAfterViewInit(): void;
clearFilters(): void;
exportData(data?: ItemType[]): void;
/**
* Call this method when updated dynamic height of outside content
*/
updateDynamicHeight(): void;
getHeadColumnClasses({ headCellClass, sticky }: MedTableColumnConfig): string;
getDataColumnClasses({ dataCellClass, sticky }: MedTableColumnConfig, row: ItemType): string;
getHeadRowConfigByLevel(level: number): Array<MedTableColumnConfig | undefined>;
getColspan(column: MedTableColumnConfig): number;
getRowspan(column: MedTableColumnConfig, level: number): number;
getCellMinWidth({ minWidth }: MedTableColumnConfig): string;
getCellMaxWidth({ maxWidth }: MedTableColumnConfig): string;
getFilterSelectOptions({ key, sortKey }: CellDataConfigLocal): MedSelectOption<string>[];
onFilter({ filters }: PrimeOnFilterEvent<ItemType>): void;
onLazyLoad({ first, rows, globalFilter, sortField, sortOrder, filters }: PrimeTableLazyLoadEvent): void;
private addDoubleScrollbar;
static ɵfac: i0.ɵɵFactoryDeclaration<MedTableComponent<any>, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<MedTableComponent<any>, "med-table", never, { "loading": "loading"; "settings": "settings"; "config": "config"; "data": "data"; }, { "updateTable": "updateTable"; "updateRow": "updateRow"; "focusCell": "focusCell"; }, never, never>;
}