FreeDatas2HTML/src/freeDatas2HTMLInterfaces.ts

43 lines
1.1 KiB
TypeScript

export interface DOMElement
{
id: string;
eltDOM?: HTMLElement;
}
export interface Selectors
{
datasViewElt: DOMElement;
datasFieldNb: number|undefined;
separator?: string|undefined;
name?: string;
values?: string[];
selector2HTML() : void;
dataIsOk(data: any) : boolean;
}
export interface SortingFields
{
datasFieldNb: number|undefined;
order?: "asc"|"desc"|undefined;
field2HTML() : void;
}
export interface SortingFunctions
{
datasFieldNb: number;
sort(a: any,b: any, order?: "asc"|"desc"): number; // cf. https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
}
export interface Pagination
{
options?:
{
displayElement: DOMElement;
name?: string; // rendre obligatoire ?
values: number[];
};
selectedValue?: number; // on peut utiliser une Pagination sans proposer d'options à l'utilisateur.
pages?:
{
displayElement: DOMElement;
name?: string; // rendre obligatoire ?
values?: number[];
selectedValue?: number;
}
}