@codenameryuu/adonis-datatable
Version:
Package server side datatables on AdonisJS 6
47 lines (46 loc) • 3.57 kB
TypeScript
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;
}