imio.smartweb.core 1.3.2__py3-none-any.whl → 1.3.4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- imio/smartweb/core/browser/controlpanel.py +25 -1
- imio/smartweb/core/contents/rest/base.py +4 -0
- imio/smartweb/core/contents/rest/campaign/endpoint.py +18 -1
- imio/smartweb/core/tests/test_ideabox.py +5 -3
- imio/smartweb/core/tests/test_rest.py +21 -3
- imio/smartweb/core/webcomponents/build/css/666.smartweb-webcomponents-compiled.css +1 -1
- imio/smartweb/core/webcomponents/build/css/smartweb-webcomponents-compiled.css +1 -1
- imio/smartweb/core/webcomponents/build/js/373.smartweb-webcomponents-compiled.js +1 -1
- imio/smartweb/core/webcomponents/build/js/486.smartweb-webcomponents-compiled.js +1 -1
- imio/smartweb/core/webcomponents/build/js/666.smartweb-webcomponents-compiled.js +1 -1
- imio/smartweb/core/webcomponents/build/js/884.smartweb-webcomponents-compiled.js +1 -1
- imio/smartweb/core/webcomponents/build/js/919.smartweb-webcomponents-compiled.js +1 -1
- imio/smartweb/core/webcomponents/build/js/922.smartweb-webcomponents-compiled.js +1 -1
- imio/smartweb/core/webcomponents/src/components/Annuaire/Annuaire.jsx +3 -2
- imio/smartweb/core/webcomponents/src/components/Annuaire/ContactContent/ContactContent.jsx +16 -2
- imio/smartweb/core/webcomponents/src/components/Campaign/Campaign.jsx +26 -19
- imio/smartweb/core/webcomponents/src/components/Campaign/Campaign.scss +161 -0
- imio/smartweb/core/webcomponents/src/components/Campaign/CampaignCard/CampaignCard.jsx +9 -3
- imio/smartweb/core/webcomponents/src/components/Campaign/CampaignContent/CampaignContent.jsx +48 -8
- imio/smartweb/core/webcomponents/src/components/Campaign/CampaignList/CampaignList.jsx +1 -0
- imio/smartweb/core/webcomponents/src/components/Campaign/Filters/Filter.jsx +12 -80
- imio/smartweb/core/webcomponents/src/components/Events/EventContent/EventContent.jsx +15 -1
- imio/smartweb/core/webcomponents/src/components/Events/Events.jsx +4 -5
- imio/smartweb/core/webcomponents/src/components/News/News.jsx +4 -5
- imio/smartweb/core/webcomponents/src/components/News/NewsContent/NewsContent.jsx +16 -1
- imio/smartweb/core/webcomponents/src/hooks/useAxios.js +3 -1
- imio/smartweb/core/webcomponents/src/index.scss +13 -3
- imio/smartweb/core/webcomponents/src/utils/translation.js +12 -0
- {imio.smartweb.core-1.3.2.dist-info → imio.smartweb.core-1.3.4.dist-info}/METADATA +29 -14
- {imio.smartweb.core-1.3.2.dist-info → imio.smartweb.core-1.3.4.dist-info}/RECORD +36 -36
- {imio.smartweb.core-1.3.2.dist-info → imio.smartweb.core-1.3.4.dist-info}/WHEEL +1 -1
- /imio.smartweb.core-1.3.2-py3.12-nspkg.pth → /imio.smartweb.core-1.3.4-py3.8-nspkg.pth +0 -0
- {imio.smartweb.core-1.3.2.dist-info → imio.smartweb.core-1.3.4.dist-info}/LICENSE.GPL +0 -0
- {imio.smartweb.core-1.3.2.dist-info → imio.smartweb.core-1.3.4.dist-info}/LICENSE.rst +0 -0
- {imio.smartweb.core-1.3.2.dist-info → imio.smartweb.core-1.3.4.dist-info}/namespace_packages.txt +0 -0
- {imio.smartweb.core-1.3.2.dist-info → imio.smartweb.core-1.3.4.dist-info}/top_level.txt +0 -0
@@ -1 +1 @@
|
|
1
|
-
"use strict";(self.webpackChunkimio_smartweb_core_webcomponents=self.webpackChunkimio_smartweb_core_webcomponents||[]).push([[922],{14541:(e,n,t)=>{t.d(n,{A:()=>r});t(25602);const r=t.p+"assets/pin-react-active.07d154037a15be5525b823fdc626cf29.svg"},62678:(e,n,t)=>{t.d(n,{A:()=>r});t(25602);const r=t.p+"assets/pin-react.fda934b5daf26dd4da2a71a7e7e44431.svg"},94274:(e,n,t)=>{t.d(n,{c:()=>r});const r=[{label:"Commerçant",value:"merchant"},{label:"Demandeur d'emploi",value:"job_seeker"},{label:"En situation de handicap",value:"disabled_person"},{label:"Jeune",value:"young"},{label:"Journaliste",value:"journalist"},{label:"Nouvel arrivant",value:"newcomer"},{label:"Organisateur d'événement",value:"event_planner"},{label:"Parent",value:"parent"},{label:"Senior",value:"elder"},{label:"Touriste",value:"tourist"}]},68473:(e,n,t)=>{function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function o(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?r(Object(t),!0).forEach((function(n){a(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):r(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function a(e,n,t){return(n=function(e){var n=function(e,n){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,n||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==typeof n?n:n+""}(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}t.d(n,{E:()=>i,o:()=>l});const i={control:e=>o(o({},e),{},{backgroundColor:"white",borderColor:"transparent",borderRadius:"10px",minWidth:"150px",height:"40px"}),menu:e=>o(o({},e),{},{width:"max-content",maxWidth:"250px"}),placeholder:e=>o(o({},e),{},{color:"000",fontWeight:"bold",fontSize:"14px",letterSpacing:"1.4px"}),indicators:e=>o(o({},e),{},{color:"blue"}),option:e=>o({},e)},l={control:e=>o(o({},e),{},{backgroundColor:"white",borderRadius:"10px",height:"30px",minWidth:"150px"}),placeholder:e=>o(o({},e),{},{color:"000",fontWeight:"bold",fontSize:"12px",letterSpacing:"1.4px"}),menu:e=>o(o({},e),{},{width:"max-content",maxWidth:"250px"}),option:(e,n)=>{let{data:t,isDisabled:r,isFocused:a,isSelected:i}=n;return o({},e)}}},64651:(e,n,t)=>{t.d(n,{z:()=>r});const r=(0,t(25602).createContext)()},86110:(e,n,t)=>{t.d(n,{A:()=>s});var r=t(25602),o=t(37178);function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function i(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?a(Object(t),!0).forEach((function(n){l(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function l(e,n,t){return(n=function(e){var n=function(e,n){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,n||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==typeof n?n:n+""}(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}const s=e=>{const[n,t]=(0,r.useState)(null),[a,l]=(0,r.useState)(""),[s,u]=(0,r.useState)(!0),[c,d]=(0,r.useState)(!1),f=new AbortController;return(0,r.useEffect)((()=>((async e=>{if(u(!0),e.load?d(!0):d(!1),0!==Object.keys(e.params).length)try{if(Array.isArray(e.url)){const n=e.url.map(((n,t)=>{const{url:r,identifier:a}="string"==typeof n?{url:n,identifier:"request_".concat(t)}:n;return o.A.request(i(i({},e),{},{url:r,signal:f.signal})).then((e=>({identifier:a,data:e.data})))})),r=(await Promise.all(n)).reduce(((e,n)=>{let{identifier:t,data:r}=n;return e[t]=r,e}),{});t(r)}else{const n=await o.A.request(e);t(n.data)}u(!1),l(null)}catch(e){l(e),u(!1)}else t(null)})(i(i({},e),{},{signal:f.signal})),()=>f.abort())),[e.params]),{response:n,error:a,isLoading:s,isMore:c}}},18874:(e,n,t)=>{t.d(n,{A:()=>o});var r=t(41665);const o=function(){return new URLSearchParams((0,r.zy)().search)}},97378:(e,n,t)=>{t.d(n,{A:()=>P});var r=t(25602),o=t(28009),a=t(77059),i=t(60055),l=t(69780),s=t(16545),u=t(18874),c=t(97284),d=t.n(c),f=t(62678),g=t(14541),p=t(8174),v=t(75681),m=t.n(v),h=t(72668);const b=["u"];function y(e){let{activeItem:n,arrayOfLatLngs:t}=e;const r=(0,o.ko)();if(n){const e=[];e.push(n.geolocation.latitude),e.push(n.geolocation.longitude),r.setView(e,15)}else{let e=new(d().LatLngBounds)(t);r.fitBounds(e)}return null}const P=function(e){const[n,t]=(0,r.useState)(null),[o,c]=(0,r.useState)([]),[v,P]=(0,r.useState)(null),j=Object.assign({UID:h.A.parse((0,u.A)().toString()).u}),{u:w}=j,O=function(e,n){if(null==e)return{};var t,r,o=function(e,n){if(null==e)return{};var t={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==n.indexOf(r))continue;t[r]=e[r]}return t}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)t=a[r],-1===n.indexOf(t)&&{}.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}(j,b);(0,r.useEffect)((()=>{const n=e.items.filter((e=>e.geolocation.latitude&&50.4989185!==e.geolocation.latitude&&4.7184485!==e.geolocation.longitude));c(n)}),[e]);const k=e=>new(d().Icon)({iconUrl:e,iconSize:[29,37]}),A=n=>n===e.clickId||n===e.hoverId?999:1;(0,r.useEffect)((()=>{var e=o&&o.filter((e=>e.UID===O.UID));t(e[0])}),[o]),(0,r.useEffect)((()=>{if(o.length>0){let e=[];o.map(((n,t)=>{let r=n.geolocation.latitude,o=n.geolocation.longitude;e.push([r,o])})),P(e)}}),[o]);const D=o.map(((n,t)=>{return r.createElement(a.p,{key:t,icon:(o=n.UID,o===O.UID||o===e.hoverId?k(g.A):k(f.A)),zIndexOffset:A(n.UID),position:[n.geolocation?n.geolocation.latitude:"",n.geolocation?n.geolocation.longitude:""],eventHandlers:{mouseover:e=>{}}},r.createElement(i.z,{closeButton:!1},r.createElement(p.N_,{className:"r-map-popup",style:{textDecoration:"none"},to:{pathname:"/"+m()(n.title).replace(/[^a-zA-Z ]/g,"").replace(/\s/g,"-").toLowerCase(),search:"?u=".concat(n.UID),state:{idItem:n.UID}}},r.createElement("span",{className:"r-map-popup-title"},n.title),r.createElement("p",{className:"r-map-popup-category"},n.category&&n.category.title))));var o}));return r.createElement("div",null,r.createElement(l.W,{style:{height:"calc(100vh - ".concat(e.headerHeight,"px)"),minHeight:"600px"},center:[50.85034,4.35171],zoom:15},r.createElement(s.e,{attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors',url:"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"}),null!=v?r.createElement(y,{activeItem:n,activeItemUID:O.UID,arrayOfLatLngs:v&&v}):"",o&&D))}},48743:(e,n,t)=>{t.d(n,{A:()=>r});const r={Publié:{en:"Published",fr:"Publié",de:"Veröffentlicht",nl:"Gepubliceerd"},Actualisé:{en:"Updated",fr:"Actualisé",de:"Aktualisiert",nl:"Bijgewerkt"},Événements:{en:"Events",fr:"Événements",de:"Veranstaltungen",nl:"Evenementen"},Actualités:{en:"News",fr:"Actualités",de:"Nachrichten",nl:"Nieuws"},Contacts:{en:"Contacts",fr:"Contacts",de:"Kontakte",nl:"Contacten"},"Infos pratiques":{en:"Practical information",fr:"Infos pratiques",de:"Praktische Informationen",nl:"Praktische informatie"},"Chargement...":{en:"Loading",fr:"Chargement...",de:"Laden",nl:"Laden..."},Recherche:{en:"Search",fr:"Recherche",de:"Suche",nl:"Zoeken"},Thématiques:{en:"Themes",fr:"Thématiques",de:"Themen",nl:"Thema's"},"Je suis":{en:"I am",fr:"Je suis",de:"Ich bin",nl:"Ik ben"},Catégories:{en:"Categories",fr:"Catégories",de:"Kategorien",nl:"Categorieën"},"Catégories locale":{en:"Local categories",fr:"Catégories locale",de:"Lokale Kategorien",nl:"Lokale categorieën"},"Catégories spécifiques":{en:"Specific categories",fr:"Catégories spécifiques",de:"Spezifische Kategorien",nl:"Specifieke categorieën"},Quoi:{en:"What",fr:"Quoi",de:"Was",nl:"Wat"},Facilités:{en:"Facilities",fr:"Facilités",de:"Einrichtungen",nl:"Faciliteiten"},"Plus de résultats":{en:"More results",fr:"Plus de résultats",de:"Mehr Ergebnisse",nl:"Meer resultaten"},"Aucun résultat":{en:"No result",fr:"Aucun résultat",de:"Kein Ergebnis",nl:"Geen resultaat"},Résultats:{en:"Results",fr:"Résultats",de:"Ergebnisse",nl:"Resultaten"},Retour:{en:"Return",fr:"Retour",de:"Zurück",nl:"Terug"},Téléchargements:{en:"Downloads",fr:"Téléchargements",de:"Downloads",nl:"Downloads"},Billetterie:{en:"Ticketing",fr:"Billetterie",de:"Tickets",nl:"Ticketverkoop"},"Lien vers la vidéo":{en:"Link to video",fr:"Lien vers la vidéo",de:"Link zum Video",nl:"Link naar video"},"Participation en ligne":{en:"Join online",fr:"Participation en ligne",de:"Online teilnehmen",nl:"Doe online mee"},"Actualités trouvées":{en:" News found",fr:" Actualités trouvées",de:" Nachrichten gefunden",nl:" Nieuws gevonden"},"Actualité trouvée":{en:" News found",fr:" Actualité trouvée",de:" Nachricht gefunden",nl:" Nieuws gevonden"},"Aucune actualité n'a été trouvée":{en:"No news was found",fr:"Aucune actualité n'a été trouvée",de:"Keine Nachrichten gefunden",nl:"Geen nieuws gevonden"},"Proposer une actualité":{en:"Suggest a news",fr:"Proposer une actualité",de:"Nachricht vorschlagen",nl:"Nieuws voorstellen"},"événements trouvés":{en:" Events found",fr:" Événements trouvés",de:" Veranstaltungen gefunden",nl:" Evenementen gevonden"},"projets trouvés":{en:" Projects found",fr:" Projets trouvés",de:" Projekte gefunden",nl:" Projecten gevonden"},"projet trouvé":{en:" Project found",fr:" Projet trouvé",de:" Projekt gefunden",nl:" Project gevonden"},"événement trouvé":{en:" Event found",fr:" Événement trouvé",de:" Veranstaltung gefunden",nl:" Evenement gevonden"},Gratuit:{en:"Free",fr:"Gratuit",de:"Kostenlos",nl:"Gratis"},"Aucun événement n'a été trouvé":{en:"No event was found",fr:"Aucun événement n'a été trouvé",de:"Keine Veranstaltungen gefunden",nl:"Geen evenement gevonden"},"Proposer un événement":{en:"Suggest a event",fr:"Proposer un événement",de:"Veranstaltung vorschlagen",nl:"Evenement voorstellen"},"Infos pratiques":{en:"Practical information",fr:"Infos pratiques",de:"Praktische Informationen",nl:"Praktische informatie"},"Accessible aux PMR":{en:"Accessibility for PRM",fr:"Accessible aux PMR",de:"Barrierefreiheit für PMR",nl:"Toegankelijk voor PRM"},"Lien de l'événement":{en:"Event link",fr:"Lien de l'événement",de:"Veranstaltungslink",nl:"Evenement link"},"contacts trouvés":{en:" Contact found",fr:" Contacts trouvés",de:" Kontakt gefunden",nl:" Contact gevonden"},"contact trouvé":{en:" Contact found",fr:" Contact trouvé",de:" Kontakt gefunden",nl:" Contact gevonden"},"Aucun contact n'a été trouvé":{en:"No contact was found",fr:"Aucun contact n'a été trouvé",de:"Kein Kontakt gefunden",nl:"Geen contact gevonden"},"Proposer un contact":{en:"Suggest a contact",fr:"Proposer un contact",de:"Kontakt vorschlagen",nl:"Contact voorstellen"},"projets trouvés":{en:" Projects found",fr:" Projets trouvés",de:" Projekte gefunden",nl:" Projecten gevonden"},"projet trouvé":{en:" Project found",fr:" Projet trouvé",de:" Projekt gefunden",nl:" Project gevonden"},"Aucun projet n'a été trouvé":{en:"No project was found",fr:"Aucun projet n'a été trouvé",de:"Kein Projekt gefunden",nl:"Geen project gevonden"},"Proposer un projet":{en:"Suggest a project",fr:"Proposer un projet",de:"Projekt vorschlagen",nl:"Project voorstellen"},Quand:{en:"When",fr:"Quand",de:"Wann",nl:"Wanneer"},"Toutes les dates":{en:"All dates",fr:"Toutes les dates",de:"Alle Daten",nl:"Alle data"},"Aujourd'hui":{en:"Today",fr:"Aujourd'hui",de:"Heute",nl:"Vandaag"},Demain:{en:"Tomorrow",fr:"Demain",de:"Morgen",nl:"Morgen"},"Ce week-end":{en:"This weekend",fr:"Ce week-end",de:"Dieses Wochenende",nl:"Dit weekend"},"Cette semaine":{en:"This week",fr:"Cette semaine",de:"Diese Woche",nl:"Deze week"},"Ce mois-ci":{en:"This month",fr:"Ce mois-ci",de:"Diesen Monat",nl:"Deze maand"},"Personnalisé (Du ... au ...)":{en:"Custom (From ... to ...)",fr:"Personnalisé (Du ... au ...)",de:"Benutzerdefiniert (Von ... bis ...)",nl:"Aangepast (Van ... tot ...)"},Le:{en:"On",fr:"Le",de:"Am",nl:"Op"},de:{en:"of",fr:"de",de:"von",nl:"van"},à:{en:"at",fr:"à",de:"um",nl:"om"},Du:{en:"From",fr:"Du",de:"Von",nl:"Van"},au:{en:"to",fr:"au",de:"bis",nl:"tot"},Personnalisé:{en:"Custom",fr:"Personnalisé",de:"Benutzerdefiniert",nl:"Aangepast"},Monday:{en:"Monday",fr:"Lundi",de:"Montag",nl:"Maandag"},Tuesday:{en:"Tuesday",fr:"Mardi",de:"Dienstag",nl:"Dinsdag"},Wednesday:{en:"Wednesday",fr:"Mercredi",de:"Mittwoch",nl:"Woensdag"},Thursday:{en:"Thursday",fr:"Jeudi",de:"Donnerstag",nl:"Donderdag"},Friday:{en:"Friday",fr:"Vendredi",de:"Freitag",nl:"Vrijdag"},Saturday:{en:"Saturday",fr:"Samedi",de:"Samstag",nl:"Zaterdag"},Sunday:{en:"Sunday",fr:"Dimanche",de:"Sonntag",nl:"Zondag"},Fermé:{en:"Closed",fr:"Fermé",de:"Geschlossen",nl:"Gesloten"},Ouvert:{en:"Open",fr:"Ouvert",de:"Geöffnet",nl:"Open"},Itinéraire:{en:"Itinerary",fr:"Itinéraire",de:"Route",nl:"Route"},"Filtrer par profil":{en:"Filter by profile",fr:"Filtrer par profil",de:"Nach Profile filtern",nl:"Filteren op profiel"},"Filtrer par thématique":{en:"Filter by theme",fr:"Filtrer par thématique",de:"Nach Thema filtern",nl:"Filteren op thema"}}}}]);
|
1
|
+
"use strict";(self.webpackChunkimio_smartweb_core_webcomponents=self.webpackChunkimio_smartweb_core_webcomponents||[]).push([[922],{14541:(e,n,t)=>{t.d(n,{A:()=>r});t(25602);const r=t.p+"assets/pin-react-active.07d154037a15be5525b823fdc626cf29.svg"},62678:(e,n,t)=>{t.d(n,{A:()=>r});t(25602);const r=t.p+"assets/pin-react.fda934b5daf26dd4da2a71a7e7e44431.svg"},94274:(e,n,t)=>{t.d(n,{c:()=>r});const r=[{label:"Commerçant",value:"merchant"},{label:"Demandeur d'emploi",value:"job_seeker"},{label:"En situation de handicap",value:"disabled_person"},{label:"Jeune",value:"young"},{label:"Journaliste",value:"journalist"},{label:"Nouvel arrivant",value:"newcomer"},{label:"Organisateur d'événement",value:"event_planner"},{label:"Parent",value:"parent"},{label:"Senior",value:"elder"},{label:"Touriste",value:"tourist"}]},68473:(e,n,t)=>{function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function o(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?r(Object(t),!0).forEach((function(n){a(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):r(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function a(e,n,t){return(n=function(e){var n=function(e,n){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,n||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==typeof n?n:n+""}(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}t.d(n,{E:()=>i,o:()=>l});const i={control:e=>o(o({},e),{},{backgroundColor:"white",borderColor:"transparent",borderRadius:"10px",minWidth:"150px",height:"40px"}),menu:e=>o(o({},e),{},{width:"max-content",maxWidth:"250px"}),placeholder:e=>o(o({},e),{},{color:"000",fontWeight:"bold",fontSize:"14px",letterSpacing:"1.4px"}),indicators:e=>o(o({},e),{},{color:"blue"}),option:e=>o({},e)},l={control:e=>o(o({},e),{},{backgroundColor:"white",borderRadius:"10px",height:"30px",minWidth:"150px"}),placeholder:e=>o(o({},e),{},{color:"000",fontWeight:"bold",fontSize:"12px",letterSpacing:"1.4px"}),menu:e=>o(o({},e),{},{width:"max-content",maxWidth:"250px"}),option:(e,n)=>{let{data:t,isDisabled:r,isFocused:a,isSelected:i}=n;return o({},e)}}},64651:(e,n,t)=>{t.d(n,{z:()=>r});const r=(0,t(25602).createContext)()},86110:(e,n,t)=>{t.d(n,{A:()=>s});var r=t(25602),o=t(37178);function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function i(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?a(Object(t),!0).forEach((function(n){l(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function l(e,n,t){return(n=function(e){var n=function(e,n){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,n||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==typeof n?n:n+""}(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}const s=e=>{const[n,t]=(0,r.useState)(null),[a,l]=(0,r.useState)(""),[s,u]=(0,r.useState)(!0),[c,d]=(0,r.useState)(!1),f=new AbortController;return(0,r.useEffect)((()=>((async e=>{if(u(!0),e.load?d(!0):d(!1),0===Object.keys(e.params).length)return t(null),void u(!1);try{if(Array.isArray(e.url)){const n=e.url.map(((n,t)=>{const{url:r,identifier:a}="string"==typeof n?{url:n,identifier:"request_".concat(t)}:n;return o.A.request(i(i({},e),{},{url:r,signal:f.signal})).then((e=>({identifier:a,data:e.data})))})),r=(await Promise.all(n)).reduce(((e,n)=>{let{identifier:t,data:r}=n;return e[t]=r,e}),{});t(r)}else{const n=await o.A.request(e);t(n.data)}l(null)}catch(e){l(e),t(null)}finally{u(!1)}})(i(i({},e),{},{signal:f.signal})),()=>f.abort())),[e.params]),{response:n,error:a,isLoading:s,isMore:c}}},18874:(e,n,t)=>{t.d(n,{A:()=>o});var r=t(41665);const o=function(){return new URLSearchParams((0,r.zy)().search)}},97378:(e,n,t)=>{t.d(n,{A:()=>P});var r=t(25602),o=t(28009),a=t(77059),i=t(60055),l=t(69780),s=t(16545),u=t(18874),c=t(97284),d=t.n(c),f=t(62678),g=t(14541),p=t(8174),m=t(75681),v=t.n(m),h=t(72668);const b=["u"];function y(e){let{activeItem:n,arrayOfLatLngs:t}=e;const r=(0,o.ko)();if(n){const e=[];e.push(n.geolocation.latitude),e.push(n.geolocation.longitude),r.setView(e,15)}else{let e=new(d().LatLngBounds)(t);r.fitBounds(e)}return null}const P=function(e){const[n,t]=(0,r.useState)(null),[o,c]=(0,r.useState)([]),[m,P]=(0,r.useState)(null),j=Object.assign({UID:h.A.parse((0,u.A)().toString()).u}),{u:w}=j,O=function(e,n){if(null==e)return{};var t,r,o=function(e,n){if(null==e)return{};var t={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==n.indexOf(r))continue;t[r]=e[r]}return t}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)t=a[r],-1===n.indexOf(t)&&{}.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}(j,b);(0,r.useEffect)((()=>{const n=e.items.filter((e=>e.geolocation.latitude&&50.4989185!==e.geolocation.latitude&&4.7184485!==e.geolocation.longitude));c(n)}),[e]);const k=e=>new(d().Icon)({iconUrl:e,iconSize:[29,37]}),A=n=>n===e.clickId||n===e.hoverId?999:1;(0,r.useEffect)((()=>{var e=o&&o.filter((e=>e.UID===O.UID));t(e[0])}),[o]),(0,r.useEffect)((()=>{if(o.length>0){let e=[];o.map(((n,t)=>{let r=n.geolocation.latitude,o=n.geolocation.longitude;e.push([r,o])})),P(e)}}),[o]);const D=o.map(((n,t)=>{return r.createElement(a.p,{key:t,icon:(o=n.UID,o===O.UID||o===e.hoverId?k(g.A):k(f.A)),zIndexOffset:A(n.UID),position:[n.geolocation?n.geolocation.latitude:"",n.geolocation?n.geolocation.longitude:""],eventHandlers:{mouseover:e=>{}}},r.createElement(i.z,{closeButton:!1},r.createElement(p.N_,{className:"r-map-popup",style:{textDecoration:"none"},to:{pathname:"/"+v()(n.title).replace(/[^a-zA-Z ]/g,"").replace(/\s/g,"-").toLowerCase(),search:"?u=".concat(n.UID),state:{idItem:n.UID}}},r.createElement("span",{className:"r-map-popup-title"},n.title),r.createElement("p",{className:"r-map-popup-category"},n.category&&n.category.title))));var o}));return r.createElement("div",null,r.createElement(l.W,{style:{height:"calc(100vh - ".concat(e.headerHeight,"px)"),minHeight:"600px"},center:[50.85034,4.35171],zoom:15},r.createElement(s.e,{attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors',url:"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"}),null!=m?r.createElement(y,{activeItem:n,activeItemUID:O.UID,arrayOfLatLngs:m&&m}):"",o&&D))}},48743:(e,n,t)=>{t.d(n,{A:()=>r});const r={Publié:{en:"Published",fr:"Publié",de:"Veröffentlicht",nl:"Gepubliceerd"},Actualisé:{en:"Updated",fr:"Actualisé",de:"Aktualisiert",nl:"Bijgewerkt"},Événements:{en:"Events",fr:"Événements",de:"Veranstaltungen",nl:"Evenementen"},Actualités:{en:"News",fr:"Actualités",de:"Nachrichten",nl:"Nieuws"},Contacts:{en:"Contacts",fr:"Contacts",de:"Kontakte",nl:"Contacten"},"Infos pratiques":{en:"Practical information",fr:"Infos pratiques",de:"Praktische Informationen",nl:"Praktische informatie"},"Chargement...":{en:"Loading",fr:"Chargement...",de:"Laden",nl:"Laden..."},Recherche:{en:"Search",fr:"Recherche",de:"Suche",nl:"Zoeken"},Thématiques:{en:"Themes",fr:"Thématiques",de:"Themen",nl:"Thema's"},"Je suis":{en:"I am",fr:"Je suis",de:"Ich bin",nl:"Ik ben"},Catégories:{en:"Categories",fr:"Catégories",de:"Kategorien",nl:"Categorieën"},"Catégories locale":{en:"Local categories",fr:"Catégories locale",de:"Lokale Kategorien",nl:"Lokale categorieën"},"Catégories spécifiques":{en:"Specific categories",fr:"Catégories spécifiques",de:"Spezifische Kategorien",nl:"Specifieke categorieën"},Quoi:{en:"What",fr:"Quoi",de:"Was",nl:"Wat"},Facilités:{en:"Facilities",fr:"Facilités",de:"Einrichtungen",nl:"Faciliteiten"},"Plus de résultats":{en:"More results",fr:"Plus de résultats",de:"Mehr Ergebnisse",nl:"Meer resultaten"},"Aucun résultat":{en:"No result",fr:"Aucun résultat",de:"Kein Ergebnis",nl:"Geen resultaat"},Résultats:{en:"Results",fr:"Résultats",de:"Ergebnisse",nl:"Resultaten"},Retour:{en:"Return",fr:"Retour",de:"Zurück",nl:"Terug"},Téléchargements:{en:"Downloads",fr:"Téléchargements",de:"Downloads",nl:"Downloads"},Billetterie:{en:"Ticketing",fr:"Billetterie",de:"Tickets",nl:"Ticketverkoop"},"Lien vers la vidéo":{en:"Link to video",fr:"Lien vers la vidéo",de:"Link zum Video",nl:"Link naar video"},"Participation en ligne":{en:"Join online",fr:"Participation en ligne",de:"Online teilnehmen",nl:"Doe online mee"},"Actualités trouvées":{en:" News found",fr:" Actualités trouvées",de:" Nachrichten gefunden",nl:" Nieuws gevonden"},"Actualité trouvée":{en:" News found",fr:" Actualité trouvée",de:" Nachricht gefunden",nl:" Nieuws gevonden"},"Aucune actualité n'a été trouvée":{en:"No news was found",fr:"Aucune actualité n'a été trouvée",de:"Keine Nachrichten gefunden",nl:"Geen nieuws gevonden"},"Proposer une actualité":{en:"Suggest a news",fr:"Proposer une actualité",de:"Nachricht vorschlagen",nl:"Nieuws voorstellen"},"événements trouvés":{en:" Events found",fr:" Événements trouvés",de:" Veranstaltungen gefunden",nl:" Evenementen gevonden"},"projets trouvés":{en:" Projects found",fr:" Projets trouvés",de:" Projekte gefunden",nl:" Projecten gevonden"},"projet trouvé":{en:" Project found",fr:" Projet trouvé",de:" Projekt gefunden",nl:" Project gevonden"},"événement trouvé":{en:" Event found",fr:" Événement trouvé",de:" Veranstaltung gefunden",nl:" Evenement gevonden"},Gratuit:{en:"Free",fr:"Gratuit",de:"Kostenlos",nl:"Gratis"},"Aucun événement n'a été trouvé":{en:"No event was found",fr:"Aucun événement n'a été trouvé",de:"Keine Veranstaltungen gefunden",nl:"Geen evenement gevonden"},"Proposer un événement":{en:"Suggest a event",fr:"Proposer un événement",de:"Veranstaltung vorschlagen",nl:"Evenement voorstellen"},"Infos pratiques":{en:"Practical information",fr:"Infos pratiques",de:"Praktische Informationen",nl:"Praktische informatie"},"Accessible aux PMR":{en:"Accessibility for PRM",fr:"Accessible aux PMR",de:"Barrierefreiheit für PMR",nl:"Toegankelijk voor PRM"},"Lien de l'événement":{en:"Event link",fr:"Lien de l'événement",de:"Veranstaltungslink",nl:"Evenement link"},"contacts trouvés":{en:" Contact found",fr:" Contacts trouvés",de:" Kontakt gefunden",nl:" Contact gevonden"},"contact trouvé":{en:" Contact found",fr:" Contact trouvé",de:" Kontakt gefunden",nl:" Contact gevonden"},"Aucun contact n'a été trouvé":{en:"No contact was found",fr:"Aucun contact n'a été trouvé",de:"Kein Kontakt gefunden",nl:"Geen contact gevonden"},"Proposer un contact":{en:"Suggest a contact",fr:"Proposer un contact",de:"Kontakt vorschlagen",nl:"Contact voorstellen"},"projets trouvés":{en:" Projects found",fr:" Projets trouvés",de:" Projekte gefunden",nl:" Projecten gevonden"},"projet trouvé":{en:" Project found",fr:" Projet trouvé",de:" Projekt gefunden",nl:" Project gevonden"},"Aucun projet n'a été trouvé":{en:"No project was found",fr:"Aucun projet n'a été trouvé",de:"Kein Projekt gefunden",nl:"Geen project gevonden"},"Proposer un projet":{en:"Suggest a project",fr:"Proposer un projet",de:"Projekt vorschlagen",nl:"Project voorstellen"},Quand:{en:"When",fr:"Quand",de:"Wann",nl:"Wanneer"},"Toutes les dates":{en:"All dates",fr:"Toutes les dates",de:"Alle Daten",nl:"Alle data"},"Aujourd'hui":{en:"Today",fr:"Aujourd'hui",de:"Heute",nl:"Vandaag"},Demain:{en:"Tomorrow",fr:"Demain",de:"Morgen",nl:"Morgen"},"Ce week-end":{en:"This weekend",fr:"Ce week-end",de:"Dieses Wochenende",nl:"Dit weekend"},"Cette semaine":{en:"This week",fr:"Cette semaine",de:"Diese Woche",nl:"Deze week"},"Ce mois-ci":{en:"This month",fr:"Ce mois-ci",de:"Diesen Monat",nl:"Deze maand"},"Personnalisé (Du ... au ...)":{en:"Custom (From ... to ...)",fr:"Personnalisé (Du ... au ...)",de:"Benutzerdefiniert (Von ... bis ...)",nl:"Aangepast (Van ... tot ...)"},Le:{en:"On",fr:"Le",de:"Am",nl:"Op"},de:{en:"of",fr:"de",de:"von",nl:"van"},à:{en:"at",fr:"à",de:"um",nl:"om"},Du:{en:"From",fr:"Du",de:"Von",nl:"Van"},au:{en:"to",fr:"au",de:"bis",nl:"tot"},Personnalisé:{en:"Custom",fr:"Personnalisé",de:"Benutzerdefiniert",nl:"Aangepast"},Monday:{en:"Monday",fr:"Lundi",de:"Montag",nl:"Maandag"},Tuesday:{en:"Tuesday",fr:"Mardi",de:"Dienstag",nl:"Dinsdag"},Wednesday:{en:"Wednesday",fr:"Mercredi",de:"Mittwoch",nl:"Woensdag"},Thursday:{en:"Thursday",fr:"Jeudi",de:"Donnerstag",nl:"Donderdag"},Friday:{en:"Friday",fr:"Vendredi",de:"Freitag",nl:"Vrijdag"},Saturday:{en:"Saturday",fr:"Samedi",de:"Samstag",nl:"Zaterdag"},Sunday:{en:"Sunday",fr:"Dimanche",de:"Sonntag",nl:"Zondag"},Fermé:{en:"Closed",fr:"Fermé",de:"Geschlossen",nl:"Gesloten"},Ouvert:{en:"Open",fr:"Ouvert",de:"Geöffnet",nl:"Open"},Itinéraire:{en:"Itinerary",fr:"Itinéraire",de:"Route",nl:"Route"},"Filtrer par profil":{en:"Filter by profile",fr:"Filtrer par profil",de:"Nach Profile filtern",nl:"Filteren op profiel"},"Filtrer par thématique":{en:"Filter by theme",fr:"Filtrer par thématique",de:"Nach Thema filtern",nl:"Filteren op thema"},Commentaires:{en:"Comments",fr:"Commentaires",de:"Kommentare",nl:"Reacties"},"Ajouter un commentaire":{en:"Add a comment",fr:"Ajouter un commentaire",de:"Kommentar hinzufügen",nl:"Reactie toevoegen"}}}}]);
|
@@ -43,7 +43,7 @@ function AnnuaireView(props) {
|
|
43
43
|
queryString.parse(useFilterQuery().toString())
|
44
44
|
);
|
45
45
|
const { scrollPos, updateScrollPos } = useContext(ScrollContext);
|
46
|
-
const [contactArray, setcontactArray] = useState(
|
46
|
+
const [contactArray, setcontactArray] = useState(null);
|
47
47
|
const [contactNumber, setcontactNumber] = useState([]);
|
48
48
|
const [clickId, setClickId] = useState(null);
|
49
49
|
const [hoverId, setHoverId] = useState(null);
|
@@ -155,6 +155,7 @@ function AnnuaireView(props) {
|
|
155
155
|
|
156
156
|
const divLoader = (
|
157
157
|
<div className="lds-roller-container">
|
158
|
+
<Translate text="Chargement..." />
|
158
159
|
<div className="lds-roller">
|
159
160
|
<div></div>
|
160
161
|
<div></div>
|
@@ -224,7 +225,7 @@ function AnnuaireView(props) {
|
|
224
225
|
element={
|
225
226
|
<div className="r-wrapper container r-annuaire-wrapper">
|
226
227
|
<div className="r-result r-annuaire-result">
|
227
|
-
<div>{listRender}</div>
|
228
|
+
<div>{contactArray !== null ? listRender : divLoader}</div>
|
228
229
|
<div className="r-load-more">
|
229
230
|
{contactNumber - props.batchSize > batchStart ? (
|
230
231
|
<div>
|
@@ -22,7 +22,7 @@ const ContactContent = ({ queryUrl, onChange, contextAuthenticatedUser }) => {
|
|
22
22
|
const [image, setImage] = useState();
|
23
23
|
const [isSchedulVisible, setSchedulVisibility] = useState(true);
|
24
24
|
|
25
|
-
const { response } = useAxios(
|
25
|
+
const { response, isLoading, error } = useAxios(
|
26
26
|
{
|
27
27
|
method: "get",
|
28
28
|
url: "",
|
@@ -98,7 +98,21 @@ const ContactContent = ({ queryUrl, onChange, contextAuthenticatedUser }) => {
|
|
98
98
|
const toggleSchedul = () => {
|
99
99
|
setSchedulVisibility(!isSchedulVisible);
|
100
100
|
};
|
101
|
-
return (
|
101
|
+
return isLoading ? (
|
102
|
+
<div className="lds-roller-container">
|
103
|
+
<Translate text="Chargement..." />
|
104
|
+
<div className="lds-roller">
|
105
|
+
<div></div>
|
106
|
+
<div></div>
|
107
|
+
<div></div>
|
108
|
+
<div></div>
|
109
|
+
<div></div>
|
110
|
+
<div></div>
|
111
|
+
<div></div>
|
112
|
+
<div></div>
|
113
|
+
</div>
|
114
|
+
</div>
|
115
|
+
) : (
|
102
116
|
<div className="annuaire-content r-content">
|
103
117
|
<button type="button" onClick={handleClick}>
|
104
118
|
<Translate text="Retour" />
|
@@ -55,6 +55,7 @@ function CampaignView(props) {
|
|
55
55
|
const [clickId, setClickId] = useState(null);
|
56
56
|
const [hoverId, setHoverId] = useState(null);
|
57
57
|
const [filters, setFilters] = useState({ b_start: 0 });
|
58
|
+
const [searchValue, setSearchValue] = useState(null);
|
58
59
|
const [batchStart, setBatchStart] = useState(0);
|
59
60
|
const [loadMoreLaunch, setLoadMoreLaunch] = useState(false);
|
60
61
|
const displayMap = props.displayMap === "True" ? true : false;
|
@@ -76,14 +77,25 @@ function CampaignView(props) {
|
|
76
77
|
// set all campaigns state
|
77
78
|
useEffect(() => {
|
78
79
|
if (response !== null) {
|
80
|
+
let filteredItems = response.items;
|
81
|
+
|
82
|
+
// Filter items if searchValue exists
|
83
|
+
if (searchValue && searchValue.trim() !== "") {
|
84
|
+
const searchLower = searchValue.toLowerCase();
|
85
|
+
filteredItems = response.items.filter((item) => {
|
86
|
+
const title = item.fields.nom?.toLowerCase() || "";
|
87
|
+
return title.includes(searchLower);
|
88
|
+
});
|
89
|
+
}
|
90
|
+
|
79
91
|
if (isMore) {
|
80
|
-
setItemsArray((itemsArray) => [...itemsArray, ...
|
92
|
+
setItemsArray((itemsArray) => [...itemsArray, ...filteredItems]);
|
81
93
|
} else {
|
82
|
-
setItemsArray(
|
94
|
+
setItemsArray(filteredItems);
|
83
95
|
}
|
84
|
-
setItemsNumber(
|
96
|
+
setItemsNumber(filteredItems.length);
|
85
97
|
}
|
86
|
-
}, [response]);
|
98
|
+
}, [response, searchValue]);
|
87
99
|
|
88
100
|
// set state id when clicked on list element
|
89
101
|
const clickID = (id) => {
|
@@ -103,6 +115,13 @@ function CampaignView(props) {
|
|
103
115
|
window.scrollTo(0, 0);
|
104
116
|
};
|
105
117
|
|
118
|
+
//set search SearchableText
|
119
|
+
const filtersChangeSearch = (value) => {
|
120
|
+
setLoadMoreLaunch(false);
|
121
|
+
setBatchStart(() => 0);
|
122
|
+
setSearchValue(value);
|
123
|
+
};
|
124
|
+
|
106
125
|
// set batch
|
107
126
|
const loadMore = () => {
|
108
127
|
updateScrollPos(window.scrollY);
|
@@ -154,6 +173,7 @@ function CampaignView(props) {
|
|
154
173
|
}
|
155
174
|
const divLoader = (
|
156
175
|
<div className="lds-roller-container">
|
176
|
+
<Translate text="Chargement..." />
|
157
177
|
<div className="lds-roller">
|
158
178
|
<div></div>
|
159
179
|
<div></div>
|
@@ -171,7 +191,7 @@ function CampaignView(props) {
|
|
171
191
|
<div
|
172
192
|
className="r-result-filter-container"
|
173
193
|
ref={filterRef}
|
174
|
-
style={{ top: headerHeight }}
|
194
|
+
style={displayMap ? { top: headerHeight } : {}}
|
175
195
|
>
|
176
196
|
<div
|
177
197
|
id="r-result-filter"
|
@@ -182,6 +202,7 @@ function CampaignView(props) {
|
|
182
202
|
queryTopicsUrl={props.queryTopicsUrl}
|
183
203
|
activeFilter={filters}
|
184
204
|
onChange={filtersChange}
|
205
|
+
onChangeSearch={filtersChangeSearch}
|
185
206
|
/>
|
186
207
|
{props.proposeUrl && (
|
187
208
|
<div className="r-add-contact">
|
@@ -224,20 +245,6 @@ function CampaignView(props) {
|
|
224
245
|
element={
|
225
246
|
<div className="r-wrapper container r-campaign-wrapper">
|
226
247
|
<div className="r-result r-campaign-result">
|
227
|
-
{itemsNumber > 0 ? (
|
228
|
-
<p className="r-results-numbers">
|
229
|
-
<span>{itemsNumber}</span>
|
230
|
-
{itemsNumber > 1 ? (
|
231
|
-
<Translate text="projets trouvés" />
|
232
|
-
) : (
|
233
|
-
<Translate text="projet trouvé" />
|
234
|
-
)}
|
235
|
-
</p>
|
236
|
-
) : (
|
237
|
-
<p className="r-results-numbers">
|
238
|
-
<Translate text="Aucun résultat" />
|
239
|
-
</p>
|
240
|
-
)}
|
241
248
|
<div>{listRender}</div>
|
242
249
|
<div className="r-load-more">
|
243
250
|
{itemsNumber - props.batchSize > batchStart ? (
|
@@ -590,6 +590,50 @@ smartweb-campaign {
|
|
590
590
|
min-height: 80vh;
|
591
591
|
display: block;
|
592
592
|
}
|
593
|
+
|
594
|
+
.campaign-comment-container {
|
595
|
+
margin-top: 2rem;
|
596
|
+
padding: 24px;
|
597
|
+
border: solid 1px #cbcbcb;
|
598
|
+
border-radius: 5px;
|
599
|
+
font-size: 14px;
|
600
|
+
color: #6c6c6c;
|
601
|
+
}
|
602
|
+
.campaign-comment-title {
|
603
|
+
font-size: 18px;
|
604
|
+
font-weight: 400;
|
605
|
+
margin-bottom: 2rem;
|
606
|
+
color: #0f0f0f;
|
607
|
+
border-bottom: solid 1px #cbcbcb;
|
608
|
+
}
|
609
|
+
.campaign-comment {
|
610
|
+
p {
|
611
|
+
margin-bottom: 0;
|
612
|
+
margin-top: 5px;
|
613
|
+
font-size: 1rem;
|
614
|
+
color: #171717;
|
615
|
+
}
|
616
|
+
}
|
617
|
+
|
618
|
+
.campaign-comment-actions {
|
619
|
+
text-align: center;
|
620
|
+
}
|
621
|
+
.campaign-comment-action-button {
|
622
|
+
margin: 1rem 0;
|
623
|
+
background: #f5f5f5;
|
624
|
+
display: inline-block;
|
625
|
+
padding: 9px;
|
626
|
+
border-radius: 5px;
|
627
|
+
text-transform: uppercase;
|
628
|
+
font-size: 14px;
|
629
|
+
font-weight: 500;
|
630
|
+
text-align: center;
|
631
|
+
border: solid 1px transparent;
|
632
|
+
&:hover,
|
633
|
+
&:focus {
|
634
|
+
border: solid 1px #bbbbbb;
|
635
|
+
}
|
636
|
+
}
|
593
637
|
// // No Map
|
594
638
|
// // Main
|
595
639
|
.no-map {
|
@@ -670,3 +714,120 @@ smartweb-campaign {
|
|
670
714
|
margin: 0 auto;
|
671
715
|
}
|
672
716
|
}
|
717
|
+
|
718
|
+
.no-map .r-result-filter-container {
|
719
|
+
position: relative;
|
720
|
+
top: inherit;
|
721
|
+
}
|
722
|
+
|
723
|
+
.no-map {
|
724
|
+
.r-item-title {
|
725
|
+
margin-bottom: 1rem !important;
|
726
|
+
}
|
727
|
+
.r-item-text {
|
728
|
+
padding-bottom: 2rem;
|
729
|
+
}
|
730
|
+
}
|
731
|
+
|
732
|
+
// // No Map
|
733
|
+
// // Main
|
734
|
+
.no-map {
|
735
|
+
@media screen and (min-width: 600px) {
|
736
|
+
.r-campaign-wrapper {
|
737
|
+
display: block;
|
738
|
+
}
|
739
|
+
|
740
|
+
.r-result-list {
|
741
|
+
max-width: 1296px;
|
742
|
+
display: grid;
|
743
|
+
grid-template-columns: 1fr 1fr 1fr;
|
744
|
+
gap: 20px;
|
745
|
+
}
|
746
|
+
|
747
|
+
.r-list-item-group {
|
748
|
+
transition: all 0.2s ease;
|
749
|
+
|
750
|
+
&:hover,
|
751
|
+
&:focus {
|
752
|
+
transform: translateY(-10px) !important;
|
753
|
+
}
|
754
|
+
|
755
|
+
.r-list-item {
|
756
|
+
flex-direction: column !important;
|
757
|
+
box-shadow: 0 8px 26px rgba(0, 0, 0, 0.08);
|
758
|
+
|
759
|
+
.r-item-img {
|
760
|
+
border-radius: 0 !important;
|
761
|
+
width: 100% !important;
|
762
|
+
height: 0 !important;
|
763
|
+
padding-bottom: 60% !important;
|
764
|
+
margin-bottom: 0.5rem;
|
765
|
+
}
|
766
|
+
|
767
|
+
.r-item-text {
|
768
|
+
display: grid;
|
769
|
+
grid-template-columns: 1fr 1fr;
|
770
|
+
margin-right: 1.5rem;
|
771
|
+
|
772
|
+
&:after {
|
773
|
+
display: none;
|
774
|
+
}
|
775
|
+
|
776
|
+
.r-item-categorie {
|
777
|
+
grid-row-start: 1;
|
778
|
+
}
|
779
|
+
|
780
|
+
.r-item-title {
|
781
|
+
font-weight: 500 !important;
|
782
|
+
grid-row-start: 2;
|
783
|
+
grid-column-start: 1;
|
784
|
+
grid-column-end: 3;
|
785
|
+
margin-bottom: 2rem;
|
786
|
+
margin-top: 1rem;
|
787
|
+
}
|
788
|
+
|
789
|
+
.r-item-date {
|
790
|
+
grid-row-start: 1;
|
791
|
+
grid-column-start: 2;
|
792
|
+
justify-self: end;
|
793
|
+
}
|
794
|
+
}
|
795
|
+
}
|
796
|
+
}
|
797
|
+
}
|
798
|
+
}
|
799
|
+
|
800
|
+
// content
|
801
|
+
|
802
|
+
.no-map {
|
803
|
+
.r-result.r-campaign-result {
|
804
|
+
max-width: 1296px;
|
805
|
+
}
|
806
|
+
|
807
|
+
.campaign-content {
|
808
|
+
max-width: 700px;
|
809
|
+
margin: 0 auto;
|
810
|
+
}
|
811
|
+
}
|
812
|
+
|
813
|
+
// vote workflow
|
814
|
+
|
815
|
+
.r-list-item,
|
816
|
+
figure {
|
817
|
+
&.Publié sans vote {
|
818
|
+
.campaign-vote {
|
819
|
+
display: none;
|
820
|
+
}
|
821
|
+
}
|
822
|
+
}
|
823
|
+
|
824
|
+
.vote_nodisplay {
|
825
|
+
display: none;
|
826
|
+
}
|
827
|
+
|
828
|
+
.vote_noactif {
|
829
|
+
opacity: 0.6;
|
830
|
+
pointer-events: none;
|
831
|
+
filter: grayscale(30%);
|
832
|
+
color: #c7c7c7;
|
833
|
+
}
|
@@ -4,6 +4,13 @@ import { Translate } from "react-translated";
|
|
4
4
|
const CampaignCard = (props) => {
|
5
5
|
const [image, setImage] = useState(new Image());
|
6
6
|
const [imageClassName, setImageClassName] = useState("");
|
7
|
+
const status = props.voteContext;
|
8
|
+
const voteContext =
|
9
|
+
status === "Publié sans vote" || status === "Publié"
|
10
|
+
? "vote_nodisplay"
|
11
|
+
: ["Clôture", "Retenu", "Rejeté"].includes(status)
|
12
|
+
? "vote_noactif"
|
13
|
+
: "vote_display";
|
7
14
|
|
8
15
|
// Set image and image className
|
9
16
|
useEffect(() => {
|
@@ -28,7 +35,6 @@ const CampaignCard = (props) => {
|
|
28
35
|
loadImage();
|
29
36
|
}
|
30
37
|
}, [props.item]);
|
31
|
-
|
32
38
|
return (
|
33
39
|
<>
|
34
40
|
<div className="r-list-item">
|
@@ -53,7 +59,7 @@ const CampaignCard = (props) => {
|
|
53
59
|
)}
|
54
60
|
<div className="r-item-text">
|
55
61
|
<span className="r-item-title">{props.item.nom}</span>
|
56
|
-
<div className="campaign-vote">
|
62
|
+
<div className={"campaign-vote " + voteContext}>
|
57
63
|
<div className="campaign-vote-pour">
|
58
64
|
<i className="bi bi-hand-thumbs-up-fill"></i>
|
59
65
|
<span className="campaign-vote-pour-count">
|
@@ -69,7 +75,7 @@ const CampaignCard = (props) => {
|
|
69
75
|
</div>
|
70
76
|
</div>
|
71
77
|
<div className="r-item-arrow">
|
72
|
-
<i
|
78
|
+
<i className="bi bi-chevron-right"></i>
|
73
79
|
</div>
|
74
80
|
</div>
|
75
81
|
</>
|
imio/smartweb/core/webcomponents/src/components/Campaign/CampaignContent/CampaignContent.jsx
CHANGED
@@ -15,9 +15,10 @@ export default function CampaignContent({ queryUrl, onChange }) {
|
|
15
15
|
});
|
16
16
|
const [params, setParams] = useState(parsed);
|
17
17
|
const [item, setitem] = useState(null);
|
18
|
+
const [voteContext, setVoteContext] = useState("");
|
18
19
|
const [urlVotePour, setUrlVotePour] = useState(null);
|
19
20
|
const [urlVoteContre, setUrlVoteContre] = useState(null);
|
20
|
-
|
21
|
+
const [urlComment, setUrlComment] = useState(null);
|
21
22
|
const [files, setFiles] = useState();
|
22
23
|
const { response, error, isLoading } = useAxios(
|
23
24
|
{
|
@@ -35,12 +36,23 @@ export default function CampaignContent({ queryUrl, onChange }) {
|
|
35
36
|
// set all contacts state
|
36
37
|
useEffect(() => {
|
37
38
|
if (response !== null) {
|
39
|
+
console.log(response && response);
|
40
|
+
|
41
|
+
const status = response.workflow.fields.statut;
|
42
|
+
if (status === "Publié sans vote" || status === "Publié") {
|
43
|
+
setVoteContext("vote_nodisplay");
|
44
|
+
} else if (["Clôture", "Retenu", "Rejeté"].includes(status)) {
|
45
|
+
setVoteContext("vote_noactif");
|
46
|
+
} else {
|
47
|
+
setVoteContext("vote_display");
|
48
|
+
}
|
38
49
|
setitem(response.fields);
|
39
50
|
const parsedUrl = new URL(response.url);
|
40
51
|
const baseUrl = `${parsedUrl.protocol}//${parsedUrl.hostname}`;
|
41
52
|
const fullUrlPour = `${baseUrl}/ideabox-voter-pour-un-projet/?projet=${response.id}`;
|
42
53
|
const fullUrlContre = `${baseUrl}/ideabox-voter-contre-un-projet/?projet=${response.id}`;
|
43
|
-
|
54
|
+
const urlComment = `${baseUrl}/ideabox-commenter-un-projet/`;
|
55
|
+
setUrlComment(urlComment);
|
44
56
|
setUrlVotePour(fullUrlPour);
|
45
57
|
setUrlVoteContre(fullUrlContre);
|
46
58
|
}
|
@@ -61,10 +73,17 @@ export default function CampaignContent({ queryUrl, onChange }) {
|
|
61
73
|
<button type="button" onClick={handleClick}>
|
62
74
|
<Translate text="Retour" />
|
63
75
|
</button>
|
64
|
-
<ContentText
|
76
|
+
<ContentText
|
77
|
+
item={item}
|
78
|
+
urlVotePour={urlVotePour}
|
79
|
+
urlVoteContre={urlVoteContre}
|
80
|
+
voteContext={voteContext}
|
81
|
+
urlComment={urlComment}
|
82
|
+
/>
|
65
83
|
</div>
|
66
84
|
) : (
|
67
85
|
<div className="lds-roller-container">
|
86
|
+
<Translate text="Chargement..." />
|
68
87
|
<div className="lds-roller">
|
69
88
|
<div></div>
|
70
89
|
<div></div>
|
@@ -79,7 +98,7 @@ export default function CampaignContent({ queryUrl, onChange }) {
|
|
79
98
|
);
|
80
99
|
}
|
81
100
|
|
82
|
-
function ContentText({ item, urlVotePour, urlVoteContre }) {
|
101
|
+
function ContentText({ item, urlVotePour, urlVoteContre, urlComment, voteContext }) {
|
83
102
|
const [image, setImage] = useState(new Image());
|
84
103
|
const [imageClassName, setImageClassName] = useState("");
|
85
104
|
|
@@ -102,6 +121,7 @@ function ContentText({ item, urlVotePour, urlVoteContre }) {
|
|
102
121
|
};
|
103
122
|
}
|
104
123
|
}, [item]);
|
124
|
+
|
105
125
|
return (
|
106
126
|
<>
|
107
127
|
<article>
|
@@ -109,7 +129,7 @@ function ContentText({ item, urlVotePour, urlVoteContre }) {
|
|
109
129
|
<h2 className="r-content-title">{item.nom}</h2>
|
110
130
|
</header>
|
111
131
|
<figure>
|
112
|
-
<div className=
|
132
|
+
<div className={`campaign-vote ${voteContext}`} style={{ marginTop: "1.5rem" }}>
|
113
133
|
<a href={urlVotePour} target="_blank" className="campaign-vote-pour">
|
114
134
|
<i className="bi bi-hand-thumbs-up-fill"></i>
|
115
135
|
<span className="campaign-vote-pour-count">({item.votes_pour})</span>
|
@@ -144,7 +164,7 @@ function ContentText({ item, urlVotePour, urlVoteContre }) {
|
|
144
164
|
</article>
|
145
165
|
<div className="contactCard">
|
146
166
|
<div className="contactText">
|
147
|
-
<div className="r-content-
|
167
|
+
<div className="r-content-text">
|
148
168
|
{item.description && (
|
149
169
|
<div
|
150
170
|
className="campaign-description"
|
@@ -154,8 +174,28 @@ function ContentText({ item, urlVotePour, urlVoteContre }) {
|
|
154
174
|
/>
|
155
175
|
)}
|
156
176
|
</div>
|
157
|
-
|
158
|
-
|
177
|
+
{item.commentaires && (
|
178
|
+
<div className="campaign-comment-container">
|
179
|
+
<p className="campaign-comment-title">
|
180
|
+
<Translate text="Commentaires" />:
|
181
|
+
</p>
|
182
|
+
<div
|
183
|
+
className="campaign-comment"
|
184
|
+
dangerouslySetInnerHTML={{
|
185
|
+
__html: item.commentaires,
|
186
|
+
}}
|
187
|
+
/>
|
188
|
+
<div className="campaign-comment-actions">
|
189
|
+
<a
|
190
|
+
href={urlComment}
|
191
|
+
target="_blank"
|
192
|
+
className="campaign-comment-action-button"
|
193
|
+
>
|
194
|
+
<Translate text="Ajouter un commentaire" />
|
195
|
+
</a>
|
196
|
+
</div>
|
197
|
+
</div>
|
198
|
+
)}
|
159
199
|
</div>
|
160
200
|
{/* add files to download */}
|
161
201
|
{/* {files && (
|