@ -228,7 +228,7 @@ export class FreeDatas2HTML
else
this . datasRender . fields = this . realFields2Rend ( ) ;
this . _datas2Rend = this . datas2HTML ( ) ;
this . _datas2Rend = this . datas2HTML ( paginationSelected ) ;
this . datasRender . datas = this . _datas2Rend ;
this . _datasViewElt . eltDOM ! . innerHTML = this . datasRender . rend2HTML ( ) ; // "!", car l'existence de "eltDOM" est testée par le setter.
@ -236,12 +236,12 @@ export class FreeDatas2HTML
// car l'élément HTML du compteur peut être dans le template du Render.
this . datasCounter2HTML ( ) ;
// (ré)activation des éventuels liens de classement, s i ils sont affichés en même temps que le reste des données :
// (ré)activation des éventuels liens de classement, s ' ils sont affichés en même temps que le reste des données :
for ( let field of this . datasSortingFields )
field . field2HTML ( ) ;
// Tout réaffichage peut entraîner une modification du nombre de pages (évolution filtres, etc.)
// Mais ne pas recharger si l'appel vient du choix de la page à afficher
// Sauf si la demande de réaffichage vient du choix de la page à afficher
if ( this . pagination !== undefined && ! paginationSelected )
this . pagination . pages2HTML ( ) ;
}
@ -260,7 +260,7 @@ export class FreeDatas2HTML
}
// Fonction sélectionnant les données à afficher en prenant en compte les éventuels filtres, la pagination, etc.
public datas2HTML ( ) : { [ index : string ] : string } [ ]
public datas2HTML ( paginationSelected : boolean ) : { [ index : string ] : string } [ ]
{
// Dois-je classer les données par rapport à un champ ?
if ( this . datasSortedField !== undefined )
@ -282,6 +282,11 @@ export class FreeDatas2HTML
if ( this . pagination !== undefined && this . pagination . selectedValue !== undefined && this . pagination . pages !== undefined && this . pagination . pages . selectedValue !== undefined )
firstData = this . pagination . selectedValue * ( this . pagination . pages . selectedValue - 1 ) ;
let maxData = ( this . pagination !== undefined && this . pagination . selectedValue !== undefined ) ? this . pagination.selectedValue : this._datas.length ;
// Sauf si l'utilisateur vient de choisir la page à afficher, on revient à la première page
// Car dans les autres cas le nombre d'enregistrements peut avoir évolué et donc le nombre de pages proposées :
if ( this . pagination !== undefined && this . pagination . pages !== undefined && this . pagination . pages . selectedValue !== undefined && ! paginationSelected )
this . pagination . pages . selectedValue = 1 ; // ajouter un test unitaire ?
// Création du tableau des données à afficher :
let datas2Display = [ ] ;