Browse Source

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

master
Fabrice PENHOËT 5 months ago
parent
commit
3a59afc3a5
  1. 2
      package.json
  2. 9
      src/FreeDatas2HTML.ts
  3. 6
      tests/freeDatas2HTMLSpec.ts

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

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

6
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);

Loading…
Cancel
Save