Mutualisation de la méthode testant l'existence d'un élément dans le DOM.
This commit is contained in:
parent
82a2ef3f69
commit
fb9e69a2b7
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "freedatas2html",
|
"name": "freedatas2html",
|
||||||
"version": "0.4.1",
|
"version": "0.4.2",
|
||||||
"description": "Visualization of data from various sources (CSV, API, HTML...) with filters, classification, pagination, etc.",
|
"description": "Visualization of data from various sources (CSV, API, HTML...) with filters, classification, pagination, etc.",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
@ -38,17 +38,23 @@ export class FreeDatas2HTML
|
|||||||
// La Pagination :
|
// La Pagination :
|
||||||
pagination: Paginations|undefined;
|
pagination: Paginations|undefined;
|
||||||
|
|
||||||
|
// Vérifie s'il y a bien un élément dans le DOM pour l'id fourni
|
||||||
|
public static checkInDOMById(checkedElt: DOMElement) : DOMElement
|
||||||
|
{
|
||||||
|
let searchEltInDOM=document.getElementById(checkedElt.id);
|
||||||
|
if(searchEltInDOM === null)
|
||||||
|
throw new Error(errors.converterElementNotFound+checkedElt.id);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
checkedElt.eltDOM=searchEltInDOM;
|
||||||
|
return checkedElt;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Vérifie que l'élément devant afficher les données existe dans le DOM :
|
// Vérifie que l'élément devant afficher les données existe dans le DOM :
|
||||||
set datasViewElt(elt: DOMElement)
|
set datasViewElt(elt: DOMElement)
|
||||||
{
|
{
|
||||||
let checkContainerExist=document.getElementById(elt.id);
|
this._datasViewElt=FreeDatas2HTML.checkInDOMById(elt);
|
||||||
if(checkContainerExist === null)
|
|
||||||
throw new Error(errors.converterElementNotFound+elt.id);
|
|
||||||
else
|
|
||||||
{
|
|
||||||
this._datasViewElt.id=elt.id;
|
|
||||||
this._datasViewElt.eltDOM=checkContainerExist;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Vérifie que l'url où chercher les données n'est pas vide : inutile si données dans page ou tranmises
|
// Vérifie que l'url où chercher les données n'est pas vide : inutile si données dans page ou tranmises
|
||||||
|
@ -25,14 +25,8 @@ export class Pagination implements Paginations
|
|||||||
throw new Error(errors.paginationNeedDatas);
|
throw new Error(errors.paginationNeedDatas);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
let checkContainerExist=document.getElementById(pagesElt.id);
|
this._pages={ displayElement: FreeDatas2HTML.checkInDOMById(pagesElt), name: pagesName };
|
||||||
if(checkContainerExist === null)
|
|
||||||
throw new Error(errors.converterElementNotFound+pagesElt.id);
|
|
||||||
else
|
|
||||||
{
|
|
||||||
this._converter=converter;
|
this._converter=converter;
|
||||||
this._pages={ displayElement: { id:pagesElt.id, eltDOM:checkContainerExist }, name: pagesName };
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -54,11 +48,7 @@ export class Pagination implements Paginations
|
|||||||
{
|
{
|
||||||
if(options !== undefined)
|
if(options !== undefined)
|
||||||
{
|
{
|
||||||
let checkContainerExist=document.getElementById(options.displayElement.id);
|
options.displayElement=FreeDatas2HTML.checkInDOMById(options.displayElement);
|
||||||
if(checkContainerExist === null)
|
|
||||||
throw new Error(errors.converterElementNotFound+options.displayElement.id);
|
|
||||||
else
|
|
||||||
options.displayElement.eltDOM=checkContainerExist;
|
|
||||||
if(options.values.length === 0)
|
if(options.values.length === 0)
|
||||||
throw new Error(errors.paginationNeedOptionsValues);
|
throw new Error(errors.paginationNeedOptionsValues);
|
||||||
for(let i in options.values)
|
for(let i in options.values)
|
||||||
|
@ -24,14 +24,7 @@ export class Selector implements Selectors
|
|||||||
// Vérifie que l'élément devant recevoir le filtre existe dans la page
|
// Vérifie que l'élément devant recevoir le filtre existe dans la page
|
||||||
set datasViewElt(elt: DOMElement)
|
set datasViewElt(elt: DOMElement)
|
||||||
{
|
{
|
||||||
let checkContainerExist=document.getElementById(elt.id);
|
this._datasViewElt=FreeDatas2HTML.checkInDOMById(elt);
|
||||||
if(checkContainerExist === null)
|
|
||||||
throw new Error(errors.converterElementNotFound+elt.id);
|
|
||||||
else
|
|
||||||
{
|
|
||||||
this._datasViewElt.id=elt.id;
|
|
||||||
this._datasViewElt.eltDOM=checkContainerExist;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
get datasViewElt() : DOMElement
|
get datasViewElt() : DOMElement
|
||||||
|
@ -24,14 +24,16 @@ describe("Test du script central de FreeDatas2HTML", () =>
|
|||||||
|
|
||||||
describe("Test des données de configuration reçues.", () =>
|
describe("Test des données de configuration reçues.", () =>
|
||||||
{
|
{
|
||||||
it("Doit générer une erreur s'il n'y a pas d'élément dans la page pour l'id fourni pour afficher les données.", () =>
|
it("Doit générer une erreur s'il n'y a pas d'élément dans la page pour l'id fourni.", () =>
|
||||||
{
|
{
|
||||||
expect(() => { return converter.datasViewElt={ id:"dontExist" }; }).toThrowError(errors.converterElementNotFound+"dontExist");
|
expect(() => { return FreeDatas2HTML.checkInDOMById({ id:"dontExist" }); }).toThrowError(errors.converterElementNotFound+"dontExist");
|
||||||
});
|
});
|
||||||
|
|
||||||
it("Ne doit pas générer une erreur s'il y a bien un élément dans la page pour l'id fourni pour afficher les données.", () =>
|
it("S'il y a bien un élément dans la page pour l'id fourni, doit retourner l'élement DOM complété.", () =>
|
||||||
{
|
{
|
||||||
expect(() => { return converter.datasViewElt={ id:"datas" }; }).not.toThrowError();
|
const eltInDOM=document.getElementById("datas");
|
||||||
|
const checkElt=FreeDatas2HTML.checkInDOMById({ id:"datas" });
|
||||||
|
expect(checkElt).toEqual({ id:"datas", eltDOM: eltInDOM });
|
||||||
});
|
});
|
||||||
|
|
||||||
it("Doit générer une erreur si l'url fournie pour le fichier de données est vide.", () =>
|
it("Doit générer une erreur si l'url fournie pour le fichier de données est vide.", () =>
|
||||||
|
@ -39,21 +39,11 @@ describe("Test de la pagination.", () =>
|
|||||||
expect(() => { return new Pagination(converter, { id:"pages" }); }).toThrowError(errors.paginationNeedDatas);
|
expect(() => { return new Pagination(converter, { id:"pages" }); }).toThrowError(errors.paginationNeedDatas);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("Doit générer une erreur si initialisé en fournissant l'id d'un élément n'existant pas pour recevoir la liste des pages.", () =>
|
|
||||||
{
|
|
||||||
expect(() => { return new Pagination(converter, { id:"dontExist" }); }).toThrowError(errors.converterElementNotFound+"dontExist");
|
|
||||||
});
|
|
||||||
|
|
||||||
it("Ne doit pas générer d'erreur si initialisé correctement", () =>
|
it("Ne doit pas générer d'erreur si initialisé correctement", () =>
|
||||||
{
|
{
|
||||||
expect(() => { return new Pagination(converter, { id:"pages" }); }).not.toThrowError();
|
expect(() => { return new Pagination(converter, { id:"pages" }); }).not.toThrowError();
|
||||||
});
|
});
|
||||||
|
|
||||||
it("Doit générer une erreur si l'id fourni pour l'élément devant recevoir le sélecteur de pagination n'existe pas dans le DOM.", () =>
|
|
||||||
{
|
|
||||||
expect(() => { return pagination.options={ displayElement: { id:"dontExist" }, values: [10,20] }; }).toThrowError(errors.converterElementNotFound+"dontExist");
|
|
||||||
});
|
|
||||||
|
|
||||||
it("Doit générer une erreur si les options de pagination sont initialisées avec un tableau de valeurs vide.", () =>
|
it("Doit générer une erreur si les options de pagination sont initialisées avec un tableau de valeurs vide.", () =>
|
||||||
{
|
{
|
||||||
expect(() => { return pagination.options={ displayElement: { id:"paginationOptions" }, values: [] }; }).toThrowError(errors.paginationNeedOptionsValues);
|
expect(() => { return pagination.options={ displayElement: { id:"paginationOptions" }, values: [] }; }).toThrowError(errors.paginationNeedOptionsValues);
|
||||||
|
@ -36,18 +36,6 @@ describe("Test des filtres de données", () =>
|
|||||||
expect(() => { return new Selector(converter); }).not.toThrowError();
|
expect(() => { return new Selector(converter); }).not.toThrowError();
|
||||||
});
|
});
|
||||||
|
|
||||||
it("Doit générer une erreur s'il n'y a aucun élément trouvé dans le DOM pour l'id fourni.", () =>
|
|
||||||
{
|
|
||||||
expect(() => { return converter.datasViewElt={ id:"dontExist" }; }).toThrowError(errors.converterElementNotFound+"dontExist");
|
|
||||||
});
|
|
||||||
|
|
||||||
it("Si un élément est trouvé dans le DOM pour l'id fourni, doit l'accepter.", () =>
|
|
||||||
{
|
|
||||||
selector.datasViewElt={ id:"selector1"};
|
|
||||||
let myContainer=document.getElementById("selector1");
|
|
||||||
expect(selector.datasViewElt).toEqual({ id:"selector1", "eltDOM": myContainer });
|
|
||||||
});
|
|
||||||
|
|
||||||
it("Doit générer une erreur, si le numéro de champ fourni n'existe pas dans les données.", () =>
|
it("Doit générer une erreur, si le numéro de champ fourni n'existe pas dans les données.", () =>
|
||||||
{
|
{
|
||||||
expect(() => { return selector.datasFieldNb=9; }).toThrowError(errors.selectorFieldNotFound);
|
expect(() => { return selector.datasFieldNb=9; }).toThrowError(errors.selectorFieldNotFound);
|
||||||
|
Loading…
Reference in New Issue
Block a user