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();