Simplication appel interne/externe de la méthode actualisant l'affichage des données dans le DOM.

This commit is contained in:
Fabrice PENHOËT 2021-09-21 10:17:32 +02:00
parent fd127c5081
commit 40f50e03aa
4 changed files with 9 additions and 15 deletions

View File

@ -9,6 +9,7 @@ module.exports =
needPositiveInteger: "Merci de fournir un nombre entier supérieur à zéro pour désigner chaque option de pagination.", needPositiveInteger: "Merci de fournir un nombre entier supérieur à zéro pour désigner chaque option de pagination.",
needUrl: "Merci de fournir une url valide pour le fichier CSV à parser.", needUrl: "Merci de fournir une url valide pour le fichier CSV à parser.",
parserFail: "La lecture des données du fichier a échoué.", parserFail: "La lecture des données du fichier a échoué.",
refreshFail: "Le nom des champs et l'élement du DOM receveur sont nécessaires à l'affichage des données.",
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.", 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.", selectorCheckIsOkFail: "Le test est lancé sur un filtre incorrectement initialisé ou sur un attribut absent de la donnée à tester.",
selectorFieldNotFound: "Au moins une des colonnes devant servir à filtrer les données n'existe pas dans le fichier.", selectorFieldNotFound: "Au moins une des colonnes devant servir à filtrer les données n'existe pas dans le fichier.",

View File

@ -252,7 +252,6 @@ export class FreeDatas2HTML
} }
// Si tout est ok, affichage initial de toutes les données du fichier // Si tout est ok, affichage initial de toutes les données du fichier
this.datasHTML=this.createDatasHTML(this.parseMetas!.fields, this.parseDatas);
this.refreshView(); this.refreshView();
return true; return true;
} }
@ -260,21 +259,17 @@ export class FreeDatas2HTML
refreshView() : void refreshView() : void
{ {
if(this._datasViewElt.eltDOM !== undefined) if(this.parseMetas === undefined || this.parseMetas.fields === undefined || this._datasViewElt.eltDOM === undefined)
{ throw new Error(errors.refreshFail);
const converter=this; this.datasHTML=this.createDatasHTML(this.parseMetas.fields, this.parseDatas);
this._datasViewElt.eltDOM.innerHTML=this.datasHTML; this._datasViewElt.eltDOM.innerHTML=this.datasHTML;
// On réactive les éventuelles colonnes de classement // On réactive les éventuels champs de classement
if(this.datasSortingFields.length > 0)
{
for(let i in this.datasSortingFields) for(let i in this.datasSortingFields)
{ {
let field=this.datasSortingFields[i]; let field=this.datasSortingFields[i];
field.field2HTML(); field.field2HTML();
} }
} }
}
}
createDatasHTML(fields: string[], datas: any[]) : string createDatasHTML(fields: string[], datas: any[]) : string
{ {

View File

@ -104,7 +104,6 @@ export class Selector implements Selectors
const selectElement=document.getElementById("freeDatas2HTML_"+this._datasViewElt.id) as HTMLInputElement, mySelector=this; const selectElement=document.getElementById("freeDatas2HTML_"+this._datasViewElt.id) as HTMLInputElement, mySelector=this;
selectElement.addEventListener("change", function(e) selectElement.addEventListener("change", function(e)
{ {
mySelector._converter.datasHTML=mySelector._converter.createDatasHTML(mySelector._converter.parseMetas!.fields!, mySelector._converter.parseDatas);
mySelector._converter.refreshView(); mySelector._converter.refreshView();
}); });
} }

View File

@ -72,7 +72,6 @@ export class SortingField implements SortingFields
else else
field._order="desc"; field._order="desc";
field._converter.datasSortedField = field; field._converter.datasSortedField = field;
field._converter.datasHTML=field._converter.createDatasHTML(field._converter.parseMetas!.fields as string[], field._converter.parseDatas);
field._converter.refreshView(); field._converter.refreshView();
}); });
} }