UNPKG

@codenameryuu/adonis-datatable

Version:
47 lines (46 loc) 3.57 kB
import { DataTableAbstract } from '../datatable_abstract.js'; import { DatabaseQueryBuilderContract, Dictionary } from '@adonisjs/lucid/types/querybuilder'; import { LucidModel, ModelQueryBuilderContract } from '@adonisjs/lucid/types/model'; export default class DatabaseDataTable extends DataTableAbstract { protected query: DatabaseQueryBuilderContract<Dictionary<any, string>> | ModelQueryBuilderContract<LucidModel, any>; protected nullsLast: boolean; protected prepared: boolean; protected keepSelectBindings: boolean; protected disableUserOrdering: boolean; constructor(query: DatabaseQueryBuilderContract<Dictionary<any, string>> | ModelQueryBuilderContract<LucidModel, any>); static canCreate(source: any): boolean; protected getConnection(): import("knex").Knex.Client; protected defaultOrdering(): any; protected hasOrderColumn(column: string): boolean; protected applyOrderColumn(column: string, orderable: Record<string, any>): void; protected getNullsLastSql(column: string, direction: string): string; protected attachAppends(data: Record<string, any>): Record<string, any>; protected getColumnSearchKeyword(i: number, raw?: boolean): string; protected applyFilterColumn(query: DatabaseQueryBuilderContract<Dictionary<any, string>> | ModelQueryBuilderContract<LucidModel, any>, columnName: string, keyword: string): void; protected resolveRelationColumn(column: string): string; protected compileColumnSearch(i: number, column: string, keyword: string): void; protected regexColumnSearch(column: string, keyword: string): void; protected compileQuerySearch(query: ModelQueryBuilderContract<LucidModel, any> | DatabaseQueryBuilderContract<Dictionary<any, string>>, columnName: string, keyword: string, boolean?: string): void; protected prepareKeyword(keyword: string): string; protected prepareQuery(): Promise<this>; protected filterRecords(): Promise<void>; protected hasFilterColumn(columnName: string): boolean; protected wrapColumn(column: string): string; protected getBaseQueryBuilder(instance?: DatabaseQueryBuilderContract<Dictionary<any, string>> | ModelQueryBuilderContract<LucidModel, any> | undefined): DatabaseQueryBuilderContract<Dictionary<any, string>> | ModelQueryBuilderContract<LucidModel, any>; protected castColumn(column: string): string; protected addTablePrefix(query: DatabaseQueryBuilderContract<Dictionary<any, string>> | ModelQueryBuilderContract<LucidModel, any>, column: string): string; protected getFilteredQuery(): DatabaseQueryBuilderContract<Dictionary<any, string>> | ModelQueryBuilderContract<LucidModel, any>; protected resolveCallback(): any; results(): Promise<void | Record<string, any>>; dataResults(): Promise<Record<string, any>[]>; count(): Promise<number>; columnSearch(): void; filterColumn(column: string, callback: <T extends abstract new (...args: any) => any>(query: InstanceType<T>, keyword: string) => void): this; orderColumns(columns: Record<string, any>, sql: string, bindings?: any[]): this; orderColumn(column: string, sql: (<T extends abstract new (...args: any) => any>(query: InstanceType<T>, direction: string) => void) | string | boolean, bindings?: any[]): this; orderByNullsLast(): this; paging(): void; addColumn(name: string, content: (<T extends abstract new (...args: any) => any>(row: InstanceType<T>) => string | number) | string | number, order?: boolean): this; globalSearch(keyword: string): void; ordering(): void; }