Relecture code.

This commit is contained in:
Fabrice PENHOËT 2021-09-27 12:11:05 +02:00
parent a7dce830c8
commit 9526bf094f
2 changed files with 9 additions and 4 deletions

View File

@ -12,7 +12,8 @@ module.exports =
parserDatasNotFound : "Aucune donnée n'a été trouvée.",
parserFail: "La lecture des données du fichier a échoué.",
parserNeedUrl: "Merci de fournir une url valide pour le fichier à parser.",
renderNeedDatas: "Il ne peut y avoir de pagination, si les données n'ont pas été récupérées.",
renderNeedDatas: "Il ne peut y avoir de pagination, si les données n'ont pas été récupérées.",
renderUnknownField: "Un champ non attendu a été trouvé dans les données à afficher : ",
selector2HTMLFail: "Le création d'un filtre dans le DOM nécessite l'initialisation de l'élément HTML et du numéro du champs à filter.",
selectorCheckIsOkFail: "Le test est lancé sur un filtre incorrectement initialisé ou sur un attribut absent de la donnée à tester.",
selectorFieldNotFound: "Au moins un des champs devant servir à filtrer les données n'existe pas dans le fichier.",

View File

@ -27,16 +27,17 @@ export class Render implements DatasRenders
this.settings=settings;
}
// Reçoit les données à afficher et créer le HTML correspondant
// Reçoit les données à afficher et retourne le HTML correspondant.
public rend2HTML(datas: any[]) : string
{
// Il peut n'y avoir aucune donnée (filtres...), mais les noms des champs doivent être connus.
if(this._converter.parseMetas === undefined || this._converter.parseMetas.fields === undefined)
throw new Error(errors.renderNeedDatas);
else
{
let datasHTML=this.settings.allBegining;
// On ne souhaite pas nécessairement afficher les noms de colonne
if(this.settings.fieldsBegining !== undefined && this.settings.fieldDisplaying !== undefined)
// On ne souhaite pas nécessairement afficher les noms des champs
if(this.settings.fieldsBegining !== undefined && this.settings.fieldDisplaying !== undefined && this.settings.fieldsEnding !== undefined )
{
datasHTML+=this.settings.fieldsBegining;
for (let i in this._converter.parseMetas!.fields)
@ -49,8 +50,11 @@ export class Render implements DatasRenders
datasHTML+=this.settings.lineBegining;
for(let field in datas[row])
{
// On n'affiche que les champs attendus et signale les erreurs dans la console
if(this._converter.parseMetas.fields.indexOf(field) !== -1)
datasHTML+=this.settings.dataDisplaying.replace("#VALUE" , datas[row][field]).replace("#FIELDNAME" , field);
else
console.log(errors.renderUnknownField+field);
}
datasHTML+=this.settings.lineEnding;
}