Évolution exemple d'intégration pour le site du segal.
This commit is contained in:
parent
913ef435d8
commit
bafd5c9a3c
@ -1,4 +1,4 @@
|
|||||||
import { FreeDatas2HTML, Selector } from "../../src/FreeDatas2HTML";
|
import { FreeDatas2HTML, Pagination, Selector } from "../../src/FreeDatas2HTML";
|
||||||
import { MixedFieldsRender } from "../../src/extensions/MixedFieldsRender";
|
import { MixedFieldsRender } from "../../src/extensions/MixedFieldsRender";
|
||||||
|
|
||||||
const initialise=async () =>
|
const initialise=async () =>
|
||||||
@ -7,7 +7,7 @@ const initialise=async () =>
|
|||||||
{
|
{
|
||||||
// Création d'un convertisseur parsant des données transmises en JSON :
|
// Création d'un convertisseur parsant des données transmises en JSON :
|
||||||
const converter=new FreeDatas2HTML("CSV");
|
const converter=new FreeDatas2HTML("CSV");
|
||||||
converter.parser.setRemoteSource({ url: "http://pluxml.segal.bzh/data/medias/partenaires/partenaires.csv"});
|
converter.parser.setRemoteSource({ url: "https://pluxml.segal.bzh/data/medias/partenaires/partenaires.csv"});
|
||||||
// Parsage des données, qui ne sont pas encore affichées :
|
// Parsage des données, qui ne sont pas encore affichées :
|
||||||
await converter.run();
|
await converter.run();
|
||||||
// Chaînes à utiliser par le moteur de rendu :
|
// Chaînes à utiliser par le moteur de rendu :
|
||||||
@ -15,41 +15,63 @@ const initialise=async () =>
|
|||||||
{
|
{
|
||||||
allBegining: "",
|
allBegining: "",
|
||||||
allEnding: "",
|
allEnding: "",
|
||||||
datasLinesDisplaying: `<h4>##0##</h4><p>Activités : ##8##<br>Lieux d'activité : ##7##<br>Téléphone(s) : ##10## ##11####4####12##</p>`
|
datasLinesDisplaying: `<h3>##0##</h3><p>##8##.<br>Lieux d'activité : ##7##.##10## ##11####4####12##</p>`
|
||||||
};
|
};
|
||||||
// Fonctions spécifiques pour créer les liens hypertextes :
|
// Fonctions spécifiques pour créer les liens hypertextes :
|
||||||
const rendName2HTML=(values: {[index: string]:string} ) : string =>
|
const rendName2HTML=(values: {[index: string]:string} ) : string =>
|
||||||
{
|
{
|
||||||
if(values["Présentation"] !== undefined && values["Présentation"] !== "")
|
if(values["Présentation"] !== undefined && values["Présentation"].trim() !== "")
|
||||||
return `<a href="${values['Présentation']}">${values["Nom commercial"]}</a>`;
|
return `<a href="${values['Présentation'].trim()}" title="Lire notre article de présentation de ce partenaire">${values["Nom commercial"].trim()}</a>`;
|
||||||
else
|
else
|
||||||
return values["Nom commercial"];
|
return values["Nom commercial"].trim();
|
||||||
};
|
};
|
||||||
const rendSite2HTML=(values: {[index: string]:string} ) : string =>
|
const rendSite2HTML=(values: {[index: string]:string} ) : string =>
|
||||||
{
|
{
|
||||||
if(values["Site"] !== "")
|
if(values["Site"].trim() !== "")
|
||||||
return `<br><a href="${values['Site']}" target="_blank" title="Visiter le site de ${values['Nom commercial']}">Page internet</a>`;
|
return `<br><a href="${values['Site'].trim()}" target="_blank" title="Visiter le site de ${values['Nom commercial'].trim()}">Page internet</a>`;
|
||||||
else
|
else
|
||||||
return "";
|
return "";
|
||||||
};
|
};
|
||||||
const rendEmail2HTML=(values: {[index: string]:string} ) : string =>
|
const rendEmail2HTML=(values: {[index: string]:string} ) : string =>
|
||||||
{
|
{
|
||||||
if(values["E-mail"] !== "")
|
if(values["E-mail"].trim() !== "")
|
||||||
return `<br><a href="mailto:${values['E-mail']}" title="Contactez ${values['Nom commercial']}">E-Mail</a>`;
|
return `<br><a href="mailto:${values['E-mail'].trim()}" title="Contactez ${values['Nom commercial'].trim()}">E-Mail</a>`;
|
||||||
else
|
else
|
||||||
return "";
|
return "";
|
||||||
};
|
};
|
||||||
|
const rendTel2HTML=(values: {[index: string]:string} ) : string =>
|
||||||
|
{
|
||||||
|
if(values["Fixe"].trim() !== "")
|
||||||
|
return `<br><a href="tel:${values['Fixe'].trim()}" title="Appelez ${values['Nom commercial'].trim()}">${values['Fixe'].trim()}</a>`;
|
||||||
|
else
|
||||||
|
return "";
|
||||||
|
};
|
||||||
|
const rendMobile2HTML=(values: {[index: string]:string} ) : string =>
|
||||||
|
{
|
||||||
|
if(values["Portable"].trim() !== "")
|
||||||
|
return `<br><a href="tel:${values['Portable'].trim()}" title="Appelez ${values['Portable'].trim()}">${values['Portable'].trim()}</a>`;
|
||||||
|
else
|
||||||
|
return "";
|
||||||
|
};
|
||||||
|
|
||||||
const myRender=new MixedFieldsRender(renderSettings);
|
const myRender=new MixedFieldsRender(renderSettings);
|
||||||
myRender.fieldRenders=[{ name:"Nom commercial", rend2HTML: rendName2HTML}, { name:"E-mail", rend2HTML: rendEmail2HTML}, { name:"Site", rend2HTML: rendSite2HTML}];
|
myRender.fieldRenders=[{ name:"Nom commercial", rend2HTML: rendName2HTML}, { name:"E-mail", rend2HTML: rendEmail2HTML}, { name:"Site", rend2HTML: rendSite2HTML}, { name:"Fixe", rend2HTML: rendTel2HTML}, { name:"Portable", rend2HTML: rendMobile2HTML}];
|
||||||
converter.datasRender=myRender;
|
converter.datasRender=myRender;
|
||||||
|
|
||||||
// Création de filtres :
|
// Création de filtres :
|
||||||
const filtre1=new Selector(converter, 8, { id:"filtrePartenaires"} );
|
const filtre1=new Selector(converter, 8, { id:"filtreActivites"} );
|
||||||
let filtre2=new Selector(converter, 7, { id:"filtreLieux"}, "," );
|
let filtre2=new Selector(converter, 7, { id:"filtreLieux"}, "," );
|
||||||
filtre1.filter2HTML("Domaine d'activité");
|
filtre1.filter2HTML("Domaine d'activité");
|
||||||
filtre2.filter2HTML("Lieux");
|
filtre2.filter2HTML("Lieux");
|
||||||
converter.datasFilters=[filtre1,filtre2];
|
converter.datasFilters=[filtre1,filtre2];
|
||||||
|
|
||||||
|
// Configuration de la pagination :
|
||||||
|
const pagination=new Pagination(converter, { id:"pages" }, "Page à afficher :");
|
||||||
|
pagination.options={ displayElement: { id:"pagination" }, values: [10,20,50,100] , name: "Choix de pagination :" };
|
||||||
|
pagination.selectedValue=10;
|
||||||
|
converter.pagination=pagination;
|
||||||
|
pagination.options2HTML();
|
||||||
|
|
||||||
// Affichage initial avec l'id de l'élément HTML devant afficher le compteur :
|
// Affichage initial avec l'id de l'élément HTML devant afficher le compteur :
|
||||||
converter.datasViewElt={ id:"partenaires" };
|
converter.datasViewElt={ id:"partenaires" };
|
||||||
converter.refreshView();
|
converter.refreshView();
|
||||||
|
Loading…
Reference in New Issue
Block a user