Adaptation du code à la nouvelle version de la classe principale du module.
This commit is contained in:
parent
739b83f365
commit
80b90f98a5
@ -18,7 +18,7 @@ export class Pagination implements Paginations
|
||||
// L'élément du DOM devant recevoir la liste des pages doit exister
|
||||
constructor(converter: FreeDatas2HTML, pagesElt: DOMElement, pagesName="Pages")
|
||||
{
|
||||
if(converter.fields === undefined)
|
||||
if(converter.fields.length === 0)
|
||||
throw new Error(errors.paginationNeedDatas);
|
||||
else
|
||||
{
|
||||
@ -114,13 +114,13 @@ export class Pagination implements Paginations
|
||||
}
|
||||
|
||||
// Création du <select> permettant de se déplacer entre les pages
|
||||
public pages2HTML(nbTotal:number) : void
|
||||
public pages2HTML() : void
|
||||
{
|
||||
if (this._selectedValue === undefined || nbTotal <= this._selectedValue)
|
||||
if (this._selectedValue === undefined || this._converter.nbDatasValid <= this._selectedValue)
|
||||
this.pages.displayElement.eltDOM!.innerHTML=""; // "!" car displayElement testé par le constructeur
|
||||
else
|
||||
{
|
||||
let nbPages=Math.ceil(nbTotal/this._selectedValue);
|
||||
let nbPages=Math.ceil(this._converter.nbDatasValid/this._selectedValue);
|
||||
let selectorsHTML="<label for='freeDatas2HTMLPagesSelector'>"+this.pages.name+"</label><select name='freeDatas2HTMLPagesSelector' id='freeDatas2HTMLPagesSelector'>";
|
||||
this.pages.values=[];
|
||||
for(let j=1; j <= nbPages; j++)
|
||||
|
@ -17,7 +17,7 @@ export class Selector implements Selectors
|
||||
// Le champ duquel le sélecteur tire ses données doit exister ?
|
||||
constructor(converter: FreeDatas2HTML, datasFieldNb: number, elt: DOMElement, separator?: string)
|
||||
{
|
||||
if(converter.fields === undefined || converter.datas.length === 0)
|
||||
if(converter.fields.length === 0 || converter.datas.length === 0)
|
||||
throw new Error(errors.filterNeedDatas);
|
||||
else if(! converter.checkFieldExist(Number(datasFieldNb)))
|
||||
throw new Error(errors.selectorFieldNotFound);
|
||||
|
@ -13,7 +13,7 @@ export class SortingField implements SortingFields
|
||||
// Injection de la classe principale, mais uniquement si les noms des champs ont été importés et affichés correctement
|
||||
constructor(converter: FreeDatas2HTML, datasFieldNb: number, fieldsDOMSelector: string="th")
|
||||
{
|
||||
if(converter.fields === undefined)
|
||||
if(converter.fields.length === 0)
|
||||
throw new Error(errors.sortingFieldNeedDatas);
|
||||
else if(! converter.checkFieldExist(datasFieldNb))
|
||||
throw new Error(errors.sortingFieldNotFound);
|
||||
|
@ -56,7 +56,7 @@ const initialise = async () =>
|
||||
pagination.options2HTML();
|
||||
|
||||
// Affichage initial
|
||||
converter.datasCounter={ id:"compteur" };
|
||||
converter.datasCounterElt={ id:"compteur" };
|
||||
await converter.run();
|
||||
|
||||
// Création d'outils permettant de filtrer les données des champs de données
|
||||
|
@ -38,7 +38,7 @@ const initialise = async () =>
|
||||
pagination.options2HTML();
|
||||
|
||||
// Affichage initial
|
||||
converter.datasCounter={ id:"compteur" };
|
||||
converter.datasCounterElt={ id:"compteur" };
|
||||
await converter.run();
|
||||
|
||||
// Création d'un filtre par auteur :
|
||||
|
@ -39,7 +39,7 @@ const initialise = async () =>
|
||||
pagination.options2HTML();
|
||||
|
||||
// Affichage initial
|
||||
converter.datasCounter={ id:"compteur" };
|
||||
converter.datasCounterElt={ id:"compteur" };
|
||||
await converter.run();
|
||||
|
||||
// Création d'un filtre par auteur :
|
||||
|
@ -149,42 +149,40 @@ describe("Test de la pagination.", () =>
|
||||
it("S'il n'y a pas de pagination définie, le sélecteur de pages ne doit pas être proposé.", () =>
|
||||
{
|
||||
pagination.selectedValue=undefined;
|
||||
pagination.pages2HTML(118);
|
||||
pagination.pages2HTML();
|
||||
const selectElement=document.getElementById("pages").innerHTML;
|
||||
expect(selectElement).toEqual("");
|
||||
});
|
||||
|
||||
it("S'il n'y pa plus de données que le nombre de lignes par page, le sélecteur de pages ne doit pas être proposé.", () =>
|
||||
{
|
||||
pagination.pages2HTML(10);
|
||||
pagination.selectedValue=500;
|
||||
pagination.pages2HTML();
|
||||
const selectElement=document.getElementById("pages").innerHTML;
|
||||
expect(selectElement).toEqual("");
|
||||
});
|
||||
|
||||
it("Si il y a plus de données que le nombre de lignes autorisées par page, un <select> listant les pages doit être affiché.", () =>
|
||||
it("S'il y a plus de données que le nombre de lignes autorisées par page, un <select> listant les pages doit être affiché.", () =>
|
||||
{
|
||||
pagination.pages2HTML(11);
|
||||
let selectElement=document.getElementById("pages").innerHTML;
|
||||
expect(selectElement).toEqual(fixtures.selectorFor2Pages);
|
||||
pagination.pages2HTML(118);
|
||||
selectElement=document.getElementById("pages").innerHTML;
|
||||
pagination.pages2HTML();
|
||||
const selectElement=document.getElementById("pages").innerHTML;
|
||||
expect(selectElement).toEqual(fixtures.selectorForManyPages);
|
||||
});
|
||||
|
||||
it("Après chaque actualisation de la liste de pages, la valeur sélectionnée est remise à 0.", () =>
|
||||
{
|
||||
pagination.pages2HTML(11);
|
||||
pagination.pages2HTML();
|
||||
let selectElement=document.getElementById("freeDatas2HTMLPagesSelector") as HTMLInputElement;
|
||||
expect(pagination.pages.selectedValue).toEqual(1);
|
||||
pagination.pages.selectedValue=2;
|
||||
pagination.pages2HTML(11);
|
||||
pagination.pages2HTML();
|
||||
selectElement=document.getElementById("freeDatas2HTMLPagesSelector") as HTMLInputElement;
|
||||
expect(pagination.pages.selectedValue).toEqual(1);
|
||||
});
|
||||
|
||||
it("La manipulation du sélecteur de pages doit enregistrer la valeur sélectionnée et appeler la fonction actualisant l'affichage.", () =>
|
||||
{
|
||||
pagination.pages2HTML(31);
|
||||
pagination.pages2HTML();
|
||||
spyOn(converter, "refreshView");
|
||||
const selectElement=document.getElementById("freeDatas2HTMLPagesSelector") as HTMLInputElement;
|
||||
selectElement.value="4";
|
||||
|
Loading…
Reference in New Issue
Block a user