UNPKG

@doku-dev/doku-fragment

Version:

A new Angular UI library that moving away from Bootstrap and built from scratch.

100 lines (99 loc) 3.79 kB
import { NgClass } from '@angular/common'; import { AfterViewInit, ApplicationRef, ElementRef, EnvironmentInjector, EventEmitter, Injector, NgZone, OnChanges, OnDestroy, OnInit, Renderer2, SimpleChanges, TemplateRef } from '@angular/core'; import { DokuActiveSorter } from './table.interface'; import * as i0 from "@angular/core"; export declare class DokuTable implements AfterViewInit, OnChanges, OnDestroy, OnInit { private elementRef; private renderer; private ngZone; private envInjector; private appRef; private injector; /** * Initial active sorter for column. * @default undefined */ activeSorter?: DokuActiveSorter; /** * The status of the data. * * - `loading`, will show loading content on the table body * - `empty`, will show no data content on the table body * - `error`, will show error content on the table body * * If status is `undefined`, it means data is provided. * * @default undefined */ status?: 'loading' | 'empty' | 'error'; /** * Custom text or template on the table body when status is `empty`. * * @default undefined */ customNoData?: string | TemplateRef<unknown>; /** * Custom text or template on the table body when status is `loading`. * * @default undefined */ customLoading?: string | TemplateRef<unknown>; /** * Custom text or template on the table body when status is `error`. */ customError?: string | TemplateRef<unknown>; /** * Listen for column sort changes. */ sortChange: EventEmitter<DokuActiveSorter | undefined>; protected _sortChange: EventEmitter<{ activeSorter?: DokuActiveSorter | undefined; options?: { emitEvent?: boolean | undefined; } | undefined; }>; protected sortChange$: import("rxjs").Observable<{ activeSorter?: DokuActiveSorter | undefined; options?: { emitEvent?: boolean | undefined; } | undefined; }>; private containerElement?; private filledElement?; private noDataElement?; private noDataContentRef?; private loadingElement?; private loadingContentRef?; private errorElement?; private errorContentRef?; private destroy$; constructor(elementRef: ElementRef, renderer: Renderer2, ngZone: NgZone, envInjector: EnvironmentInjector, appRef: ApplicationRef, injector: Injector); protected get classes(): NgClass['ngClass']; protected get totalColumn(): number; ngOnInit(): void; ngOnDestroy(): void; ngOnChanges(changes: SimpleChanges): void; ngAfterViewInit(): void; /** * Change active sorter programmatically. * @param activeSorter Value of the active sorter. Provide `undefined` to clear sorter. * @param options.emitEvent Whether to emit an event for `sortChange`. Default is `true`. */ changeActiveSorter(activeSorter?: DokuActiveSorter, options?: { emitEvent?: boolean; }): void; private onResize; private createContainer; private initNoDataElement; private handleCustomNoData; private resizeNoDataElementWidth; private initLoadingElement; private resizeLoadingElementWidth; private handleCustomLoading; private initErrorElement; private handleCustomError; private resizeErrorElementWidth; private handleBodyVisibilityByStatus; static ɵfac: i0.ɵɵFactoryDeclaration<DokuTable, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<DokuTable, "[doku-table]", ["dokuTable"], { "activeSorter": "activeSorter"; "status": "status"; "customNoData": "customNoData"; "customLoading": "customLoading"; "customError": "customError"; }, { "sortChange": "sortChange"; }, never, never, true>; }