Ajout contrôle de la cohérence de la pagination par défaut avec les options proposées.

This commit is contained in:
Fabrice PENHOËT 2021-09-22 11:35:36 +02:00
parent f8bbdb716f
commit f306beafe6
3 changed files with 5 additions and 3 deletions

View File

@ -1,6 +1,6 @@
{
"name": "freedatas2html",
"version": "0.4.0",
"version": "0.4.1",
"description": "Visualization of data from various sources (CSV, API, HTML...) with filters, classification, pagination, etc.",
"main": "index.js",
"scripts": {

View File

@ -66,6 +66,8 @@ export class Pagination implements Paginations
if(!Pagination.isPositiveInteger(options.values[i]))
throw new Error(errors.needPositiveInteger);
}
if(this.selectedValue !== undefined && options.values.indexOf(this.selectedValue) === -1)
throw new Error(errors.paginationNeedByfaultValueBeInOptions);
options.name= (options.name===undefined) ? "Pagination" : options.name ; // on garde la possibilité d'une chaîne vide, si souhaité
this._options=options;
}

View File

@ -78,8 +78,8 @@ describe("Test de la pagination.", () =>
it("Doit générer une erreur si la Pagination par défaut ne fait pas partie des valeurs proposées en option.", () =>
{
pagination.options={ displayElement: { id:"paginationOptions" }, values: [10,20,50] };
expect(() => { return pagination.selectedValue=15; }).toThrowError(errors.paginationNeedByfaultValueBeInOptions);
expect(() => { pagination.options={ displayElement: { id:"paginationOptions" }, values: [10,20,50] }; return pagination.selectedValue=15; }).toThrowError(errors.paginationNeedByfaultValueBeInOptions);
expect(() => { pagination.selectedValue=15; return pagination.options={ displayElement: { id:"paginationOptions" }, values: [10,20,50] }; }).toThrowError(errors.paginationNeedByfaultValueBeInOptions);
});
it("Doit accepter une pagination par défaut correcte, avec ou sans options proposées.", () =>