From 3a59afc3a5766935b81b65abf0eee20373fb2f65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabrice=20PENHO=C3=8BT?= Date: Mon, 17 Jan 2022 16:42:24 +0100 Subject: [PATCH] =?UTF-8?q?Ajout=20possibilit=C3=A9=20de=20fournir=20un=20?= =?UTF-8?q?ordre=20d'affichage=20diff=C3=A9rent=20de=20celui=20de=20la=20s?= =?UTF-8?q?ource=20de=20donn=C3=A9es.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- src/FreeDatas2HTML.ts | 9 +++------ tests/freeDatas2HTMLSpec.ts | 6 ++++++ 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index a840ff0..09a5f32 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "freedatas2html", - "version": "1.2.0", + "version": "1.2.1", "description": "Conversion and display of data in different formats (CSV, JSON, HTML) with the possibility of filtering, classifying and paginating the results.", "main": "index.js", "scripts": { diff --git a/src/FreeDatas2HTML.ts b/src/FreeDatas2HTML.ts index 1787214..4d0c6e7 100644 --- a/src/FreeDatas2HTML.ts +++ b/src/FreeDatas2HTML.ts @@ -163,7 +163,7 @@ export class FreeDatas2HTML } } - // Vérifie qu'un champ faire partie de ceux à afficher. + // Vérifie qu'un champ fait partie de ceux à afficher. public checkField2Rend(nb: number) : boolean { if(this._fields2Rend.length === 0) @@ -196,11 +196,8 @@ export class FreeDatas2HTML else { const realFields=[]; - for(let i=0; i < this._fields.length; i++) - { - if(this._fields2Rend.indexOf(i) !== -1) - realFields.push(this._fields[i]); - } + for(const fieldId of this._fields2Rend) + realFields.push(this._fields[fieldId]); return realFields; } } diff --git a/tests/freeDatas2HTMLSpec.ts b/tests/freeDatas2HTMLSpec.ts index 2646beb..9f4ed6c 100644 --- a/tests/freeDatas2HTMLSpec.ts +++ b/tests/freeDatas2HTMLSpec.ts @@ -237,6 +237,12 @@ describe("Tests du script central de FreeDatas2HTML", () => expect(converter.realFields2Rend()).toEqual([converter.fields[1], converter.fields[3], converter.fields[4]]); }); + it("Doit retourner la liste des champs devant être affichés en respectant l'ordre demandé.", () => + { + converter.fields2Rend=[3,4,1]; + expect(converter.realFields2Rend()).toEqual([converter.fields[3], converter.fields[4], converter.fields[1]]); + }); + it("Doit générer une erreur si une fonction est associée à un champ n'existant pas dans les données.", () => { expect(() => { return converter.datasSortingFunctions=[{ datasFieldNb:10, sort:simpleSort }]; }).toThrowError(errors.converterFieldNotFound);