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; } }