diff --git a/integrations/src/segal.ts b/integrations/src/segal.ts index 0da7c0c..e06087c 100644 --- a/integrations/src/segal.ts +++ b/integrations/src/segal.ts @@ -1,4 +1,4 @@ -import { FreeDatas2HTML, Selector } from "../../src/FreeDatas2HTML"; +import { FreeDatas2HTML, Pagination, Selector } from "../../src/FreeDatas2HTML"; import { MixedFieldsRender } from "../../src/extensions/MixedFieldsRender"; const initialise=async () => @@ -7,7 +7,7 @@ const initialise=async () => { // Création d'un convertisseur parsant des données transmises en JSON : 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 : await converter.run(); // Chaînes à utiliser par le moteur de rendu : @@ -15,41 +15,63 @@ const initialise=async () => { allBegining: "", allEnding: "", - datasLinesDisplaying: `

##0##

Activités : ##8##
Lieux d'activité : ##7##
Téléphone(s) : ##10## ##11####4####12##

` + datasLinesDisplaying: `

##0##

##8##.
Lieux d'activité : ##7##.##10## ##11####4####12##

` }; // Fonctions spécifiques pour créer les liens hypertextes : const rendName2HTML=(values: {[index: string]:string} ) : string => { - if(values["Présentation"] !== undefined && values["Présentation"] !== "") - return `${values["Nom commercial"]}`; + if(values["Présentation"] !== undefined && values["Présentation"].trim() !== "") + return `${values["Nom commercial"].trim()}`; else - return values["Nom commercial"]; + return values["Nom commercial"].trim(); }; const rendSite2HTML=(values: {[index: string]:string} ) : string => { - if(values["Site"] !== "") - return `
Page internet`; + if(values["Site"].trim() !== "") + return `
Page internet`; else return ""; }; const rendEmail2HTML=(values: {[index: string]:string} ) : string => { - if(values["E-mail"] !== "") - return `
E-Mail`; + if(values["E-mail"].trim() !== "") + return `
E-Mail`; else return ""; }; + const rendTel2HTML=(values: {[index: string]:string} ) : string => + { + if(values["Fixe"].trim() !== "") + return `
${values['Fixe'].trim()}`; + else + return ""; + }; + const rendMobile2HTML=(values: {[index: string]:string} ) : string => + { + if(values["Portable"].trim() !== "") + return `
${values['Portable'].trim()}`; + else + return ""; + }; + 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; // 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"}, "," ); filtre1.filter2HTML("Domaine d'activité"); filtre2.filter2HTML("Lieux"); 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 : converter.datasViewElt={ id:"partenaires" }; converter.refreshView();