UNPKG

@bhplugin/vue3-datatable

Version:

Vue3 Datatable - fully customizable & easy to use datatable library

33 lines (32 loc) 1.37 kB
import { type Ref } from 'vue'; import type { IColumnDefinition, IFilterCondition } from '../types'; import { type INormalizedColumn } from '../filter-strategies'; interface IColumnFilterState { value: string | number | boolean | undefined; condition: IFilterCondition; } interface IUseFilteringOptions { rows: Ref<Array<Record<string, unknown>>>; columns: Ref<IColumnDefinition[]>; isServerMode: Ref<boolean>; columnFilter: Ref<boolean>; sortable: Ref<boolean>; sortColumn: Ref<string>; sortDirection: Ref<string>; search: Ref<string>; totalRows: Ref<number>; } export declare function useFiltering(options: IUseFilteringOptions): { currentSearch: Ref<string, string>; isOpenFilter: Ref<string | null, string | null>; normalizedColumns: import("vue").ComputedRef<INormalizedColumn[]>; filteredRows: import("vue").ComputedRef<Record<string, unknown>[]>; filterRowCount: import("vue").ComputedRef<number>; columnFilterState: import("vue").Reactive<Map<string, IColumnFilterState>>; setFilterValue: (field: string, value: string | number | boolean | undefined) => void; setFilterCondition: (field: string, condition: IFilterCondition) => void; toggleFilterMenu: (field: string | null) => void; getColumnsWithFilterState: () => IColumnDefinition[]; resetFilters: () => void; }; export {};