UNPKG

@userfrosting/sprinkle-core

Version:
52 lines (51 loc) 1.56 kB
import { Ref, ComputedRef } from 'vue'; import { ApiErrorResponse, AssociativeArray } from '.'; export interface Sprunjer { dataUrl: string | (() => string); size: Ref<number>; page: Ref<number>; sorts: Ref<AssociativeArray>; filters: Ref<AssociativeArray>; data: Ref<SprunjerData>; fetch: () => void; loading: Ref<boolean>; error: Ref<ApiErrorResponse | null>; totalPages: ComputedRef<number>; downloadCsv: () => void; countFiltered: ComputedRef<number>; count: ComputedRef<number>; rows: ComputedRef<any[]>; first: ComputedRef<number>; last: ComputedRef<number>; toggleSort: (column: string) => void; } /** * Sprunjer Data. Represents the data that is returned from any Sprunjer * Composable. It is different than SprunjerResponse, as the response if what * the API return, Data is what Vue provides. Both are similar, but Data doesn't * have optional values. * * N.B.: "rows" uses a generic array. It can contain any object, and should * actually be can be extended for each Sprunjer */ export interface SprunjerData { count: number; count_filtered: number; rows: any[]; listable: SprunjerListable; sortable: string[]; filterable: string[]; } /** * Sprunjer Listable. Represents a listable for a Sprunjer. */ export interface SprunjerListable { [key: string]: SprunjerListableOption[]; } /** * Sprunjer Listable Option. Represents a listable option for a Sprunjer. */ export interface SprunjerListableOption { value: string; text: string; }