import FilterHelper from './helpers/FilterHelper'; import AdvancedFilterHelper from './helpers/AdvancedFilterHelper'; import CalculationHelper from './helpers/CalculationHelper'; import type { Readable, Writable } from 'svelte/store'; import type { Internationalization, Row, Field, Comparator } from './'; export type Params = { rowsPerPage?: number; i18n?: Internationalization; }; export default class DataHandler { private context; private sortHandler; private selectHandler; private pageHandler; private searchHandler; private filterHandler; i18n: Internationalization; constructor(data?: T[], params?: Params); setRows(data: T[]): void; getRows(): Readable; getAllRows(): Readable; getRowCount(): Readable<{ total: number; start: number; end: number; }>; getRowsPerPage(): Writable; getPages(param?: { ellipsis: boolean; }): Readable; getPageCount(): Readable; getPageNumber(): Readable; setPage(value: number | 'previous' | 'next'): void; search(value: string, scope?: Field[]): void; clearSearch(): void; sort(orderBy: Field, identifier?: string): void; sortAsc(orderBy: Field, identifier?: string): void; sortDesc(orderBy: Field, identifier?: string): void; getSort(): Writable<{ identifier?: string; direction?: 'asc' | 'desc'; }>; applySort(params?: { orderBy: Field; direction?: 'asc' | 'desc'; }): void; defineSort(orderBy: Field, direction?: 'asc' | 'desc'): void; clearSort(): void; filter(value: string | number | null | undefined | boolean | number[], filterBy: Field, comparator?: Comparator): void; getFilters(): Readable<{ value: unknown; filterBy: Field; check: string; }[]>; createFilter(filterBy: Field, comparator?: Comparator): FilterHelper; createAdvancedFilter(filterBy: Field): AdvancedFilterHelper; getFilterCount(): Readable; clearFilters(): void; select(value: T | T[keyof T]): void; getSelected(): Writable<(T | T[keyof T])[]>; selectAll(params?: { selectBy?: keyof T; scope?: 'all' | 'currentPage'; }): void; isAllSelected(): Readable; on(event: 'change' | 'clearFilters' | 'clearSearch', callback: () => void): void; createCalculation(field: Field, param?: { precision: number; }): CalculationHelper; translate(i18n: Internationalization): Internationalization; /** * @deprecated use setRows() instead * @since v0.9.99 2023-01-16 */ update(data: any[]): void; /** * @deprecated use applySort() instead * @since v1.11.0 2023-07-11 */ applySorting(params?: { orderBy: Field; direction?: 'asc' | 'desc'; }): void; /** * @deprecated use getSort() instead * @since v1.11.0 2023-07-11 */ getSorted(): Writable<{ identifier?: string; direction?: "asc" | "desc"; }>; getTriggerChange(): Writable; }