diff --git a/package.json b/package.json index 759c690..728d59a 100644 --- a/package.json +++ b/package.json @@ -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": { diff --git a/src/freeDatas2HTMLPagination.ts b/src/freeDatas2HTMLPagination.ts index 3dc49a9..84acb1f 100644 --- a/src/freeDatas2HTMLPagination.ts +++ b/src/freeDatas2HTMLPagination.ts @@ -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; } diff --git a/tests/paginationSpec.ts b/tests/paginationSpec.ts index d65f6f7..6709f4f 100644 --- a/tests/paginationSpec.ts +++ b/tests/paginationSpec.ts @@ -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.", () =>