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
|
// L'élément du DOM devant recevoir la liste des pages doit exister
|
||||||
constructor(converter: FreeDatas2HTML, pagesElt: DOMElement, pagesName="Pages")
|
constructor(converter: FreeDatas2HTML, pagesElt: DOMElement, pagesName="Pages")
|
||||||
{
|
{
|
||||||
if(converter.fields === undefined)
|
if(converter.fields.length === 0)
|
||||||
throw new Error(errors.paginationNeedDatas);
|
throw new Error(errors.paginationNeedDatas);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -114,13 +114,13 @@ export class Pagination implements Paginations
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Création du <select> permettant de se déplacer entre les pages
|
// 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
|
this.pages.displayElement.eltDOM!.innerHTML=""; // "!" car displayElement testé par le constructeur
|
||||||
else
|
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'>";
|
let selectorsHTML="<label for='freeDatas2HTMLPagesSelector'>"+this.pages.name+"</label><select name='freeDatas2HTMLPagesSelector' id='freeDatas2HTMLPagesSelector'>";
|
||||||
this.pages.values=[];
|
this.pages.values=[];
|
||||||
for(let j=1; j <= nbPages; j++)
|
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 ?
|
// Le champ duquel le sélecteur tire ses données doit exister ?
|
||||||
constructor(converter: FreeDatas2HTML, datasFieldNb: number, elt: DOMElement, separator?: string)
|
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);
|
throw new Error(errors.filterNeedDatas);
|
||||||
else if(! converter.checkFieldExist(Number(datasFieldNb)))
|
else if(! converter.checkFieldExist(Number(datasFieldNb)))
|
||||||
throw new Error(errors.selectorFieldNotFound);
|
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
|
// 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")
|
constructor(converter: FreeDatas2HTML, datasFieldNb: number, fieldsDOMSelector: string="th")
|
||||||
{
|
{
|
||||||
if(converter.fields === undefined)
|
if(converter.fields.length === 0)
|
||||||
throw new Error(errors.sortingFieldNeedDatas);
|
throw new Error(errors.sortingFieldNeedDatas);
|
||||||
else if(! converter.checkFieldExist(datasFieldNb))
|
else if(! converter.checkFieldExist(datasFieldNb))
|
||||||
throw new Error(errors.sortingFieldNotFound);
|
throw new Error(errors.sortingFieldNotFound);
|
||||||
|
@ -56,7 +56,7 @@ const initialise = async () =>
|
|||||||
pagination.options2HTML();
|
pagination.options2HTML();
|
||||||
|
|
||||||
// Affichage initial
|
// Affichage initial
|
||||||
converter.datasCounter={ id:"compteur" };
|
converter.datasCounterElt={ id:"compteur" };
|
||||||
await converter.run();
|
await converter.run();
|
||||||
|
|
||||||
// Création d'outils permettant de filtrer les données des champs de données
|
// Création d'outils permettant de filtrer les données des champs de données
|
||||||
|
@ -38,7 +38,7 @@ const initialise = async () =>
|
|||||||
pagination.options2HTML();
|
pagination.options2HTML();
|
||||||
|
|
||||||
// Affichage initial
|
// Affichage initial
|
||||||
converter.datasCounter={ id:"compteur" };
|
converter.datasCounterElt={ id:"compteur" };
|
||||||
await converter.run();
|
await converter.run();
|
||||||
|
|
||||||
// Création d'un filtre par auteur :
|
// Création d'un filtre par auteur :
|
||||||
|
@ -39,7 +39,7 @@ const initialise = async () =>
|
|||||||
pagination.options2HTML();
|
pagination.options2HTML();
|
||||||
|
|
||||||
// Affichage initial
|
// Affichage initial
|
||||||
converter.datasCounter={ id:"compteur" };
|
converter.datasCounterElt={ id:"compteur" };
|
||||||
await converter.run();
|
await converter.run();
|
||||||
|
|
||||||
// Création d'un filtre par auteur :
|
// 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é.", () =>
|
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.selectedValue=undefined;
|
||||||
pagination.pages2HTML(118);
|
pagination.pages2HTML();
|
||||||
const selectElement=document.getElementById("pages").innerHTML;
|
const selectElement=document.getElementById("pages").innerHTML;
|
||||||
expect(selectElement).toEqual("");
|
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é.", () =>
|
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;
|
const selectElement=document.getElementById("pages").innerHTML;
|
||||||
expect(selectElement).toEqual("");
|
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);
|
pagination.pages2HTML();
|
||||||
let selectElement=document.getElementById("pages").innerHTML;
|
const selectElement=document.getElementById("pages").innerHTML;
|
||||||
expect(selectElement).toEqual(fixtures.selectorFor2Pages);
|
|
||||||
pagination.pages2HTML(118);
|
|
||||||
selectElement=document.getElementById("pages").innerHTML;
|
|
||||||
expect(selectElement).toEqual(fixtures.selectorForManyPages);
|
expect(selectElement).toEqual(fixtures.selectorForManyPages);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("Après chaque actualisation de la liste de pages, la valeur sélectionnée est remise à 0.", () =>
|
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;
|
let selectElement=document.getElementById("freeDatas2HTMLPagesSelector") as HTMLInputElement;
|
||||||
expect(pagination.pages.selectedValue).toEqual(1);
|
expect(pagination.pages.selectedValue).toEqual(1);
|
||||||
pagination.pages.selectedValue=2;
|
pagination.pages.selectedValue=2;
|
||||||
pagination.pages2HTML(11);
|
pagination.pages2HTML();
|
||||||
selectElement=document.getElementById("freeDatas2HTMLPagesSelector") as HTMLInputElement;
|
selectElement=document.getElementById("freeDatas2HTMLPagesSelector") as HTMLInputElement;
|
||||||
expect(pagination.pages.selectedValue).toEqual(1);
|
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.", () =>
|
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");
|
spyOn(converter, "refreshView");
|
||||||
const selectElement=document.getElementById("freeDatas2HTMLPagesSelector") as HTMLInputElement;
|
const selectElement=document.getElementById("freeDatas2HTMLPagesSelector") as HTMLInputElement;
|
||||||
selectElement.value="4";
|
selectElement.value="4";
|
||||||
|
Loading…
Reference in New Issue
Block a user