gridjs
Version:
Advanced table plugin
88 lines (87 loc) • 3 kB
TypeScript
import { CSSDeclaration, OneDArray, ProtoExtends, TColumn, TData } from './types';
import Storage from './storage/storage';
import Pipeline from './pipeline/pipeline';
import Tabular from './tabular';
import { SearchConfig } from './view/plugin/search/search';
import { PaginationConfig } from './view/plugin/pagination';
import Header from './header';
import { ServerStorageOptions } from './storage/server';
import Dispatcher from './util/dispatcher';
import { GenericSortConfig } from './view/plugin/sort/sort';
import { Language, Translator } from './i18n/language';
import { Component, ComponentChild, RefObject } from 'preact';
import { EventEmitter } from './util/eventEmitter';
import { GridEvents } from './events';
import { PluginManager, Plugin } from './plugin';
import Grid from './grid';
export interface Config {
instance: Grid;
eventEmitter: EventEmitter<GridEvents>;
dispatcher: Dispatcher<any>;
plugin: PluginManager;
container?: Element;
tableRef?: RefObject<Component>;
tempRef?: RefObject<HTMLDivElement>;
data?: TData | (() => TData) | (() => Promise<TData>);
server?: ServerStorageOptions;
header?: Header;
from: HTMLElement;
storage: Storage<any>;
pipeline: Pipeline<Tabular>;
autoWidth: boolean;
width: string;
height: string;
pagination: PaginationConfig;
sort: GenericSortConfig;
translator: Translator;
style?: Partial<{
table: CSSDeclaration;
td: CSSDeclaration;
th: CSSDeclaration;
container: CSSDeclaration;
header: CSSDeclaration;
footer: CSSDeclaration;
}>;
className?: Partial<{
table: string;
th: string;
thead: string;
tbody: string;
tr: string;
td: string;
container: string;
footer: string;
header: string;
search: string;
sort: string;
pagination: string;
paginationSummary: string;
paginationButton: string;
paginationButtonNext: string;
paginationButtonCurrent: string;
paginationButtonPrev: string;
loading: string;
notfound: string;
error: string;
}>;
}
interface UserConfigExtend {
fixedHeader: boolean;
resizable: boolean;
columns: OneDArray<TColumn | string | ComponentChild>;
search: SearchConfig | boolean;
pagination: PaginationConfig | boolean;
sort: GenericSortConfig | boolean;
language: Language;
plugins?: Plugin<any>[];
}
export declare type UserConfig = ProtoExtends<Partial<Config>, Partial<UserConfigExtend>>;
export declare class Config {
private _userConfig;
constructor(config?: Partial<Config>);
assign(updatedConfig: Partial<Config>): Config;
update(userConfig: Partial<UserConfig>): Config;
static defaultConfig(): Config;
static fromUserConfig(userConfig: UserConfig): Config;
}
export {};