Ajout possibilité de fournir un ordre d'affichage différent de celui de la source de données.

This commit is contained in:
Fabrice PENHOËT 2022-01-17 16:42:24 +01:00
parent cd372474d9
commit 3a59afc3a5
3 changed files with 10 additions and 7 deletions

View File

@ -1,6 +1,6 @@
{ {
"name": "freedatas2html", "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.", "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", "main": "index.js",
"scripts": { "scripts": {

View File

@ -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 public checkField2Rend(nb: number) : boolean
{ {
if(this._fields2Rend.length === 0) if(this._fields2Rend.length === 0)
@ -196,11 +196,8 @@ export class FreeDatas2HTML
else else
{ {
const realFields=[]; const realFields=[];
for(let i=0; i < this._fields.length; i++) for(const fieldId of this._fields2Rend)
{ realFields.push(this._fields[fieldId]);
if(this._fields2Rend.indexOf(i) !== -1)
realFields.push(this._fields[i]);
}
return realFields; return realFields;
} }
} }

View File

@ -237,6 +237,12 @@ describe("Tests du script central de FreeDatas2HTML", () =>
expect(converter.realFields2Rend()).toEqual([converter.fields[1], converter.fields[3], converter.fields[4]]); 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.", () => 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); expect(() => { return converter.datasSortingFunctions=[{ datasFieldNb:10, sort:simpleSort }]; }).toThrowError(errors.converterFieldNotFound);