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",
"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": {

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

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