imio.smartweb.core 1.2.47__py3-none-any.whl → 1.2.48__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.
Files changed (72) hide show
  1. imio/smartweb/core/contents/sections/events/view.py +2 -1
  2. imio/smartweb/core/contents/sections/news/view.py +2 -1
  3. imio/smartweb/core/contents/sections/text/views.py +2 -0
  4. imio/smartweb/core/contents/sections/views.py +2 -0
  5. imio/smartweb/core/tests/resources/json_rest_events.json +4 -1
  6. imio/smartweb/core/tests/test_rest.py +4 -1
  7. imio/smartweb/core/tests/test_section_events.py +9 -8
  8. imio/smartweb/core/tests/test_section_news.py +6 -6
  9. imio/smartweb/core/tests/test_vocabularies.py +2 -2
  10. imio/smartweb/core/utils.py +1 -1
  11. imio/smartweb/core/viewlets/footer.pt +5 -0
  12. imio/smartweb/core/viewlets/footer.py +5 -0
  13. imio/smartweb/core/vocabularies.py +2 -2
  14. imio/smartweb/core/webcomponents/build/css/373.smartweb-webcomponents-compiled.css +1 -1
  15. imio/smartweb/core/webcomponents/build/css/486.smartweb-webcomponents-compiled.css +1 -1
  16. imio/smartweb/core/webcomponents/build/css/884.smartweb-webcomponents-compiled.css +1 -0
  17. imio/smartweb/core/webcomponents/build/css/smartweb-webcomponents-compiled.css +1 -1
  18. imio/smartweb/core/webcomponents/build/js/218.smartweb-webcomponents-compiled.js +1 -1
  19. imio/smartweb/core/webcomponents/build/js/218.smartweb-webcomponents-compiled.js.LICENSE.txt +5 -0
  20. imio/smartweb/core/webcomponents/build/js/373.smartweb-webcomponents-compiled.js +1 -1
  21. imio/smartweb/core/webcomponents/build/js/486.smartweb-webcomponents-compiled.js +1 -1
  22. imio/smartweb/core/webcomponents/build/js/736.smartweb-webcomponents-compiled.js +1 -1
  23. imio/smartweb/core/webcomponents/build/js/736.smartweb-webcomponents-compiled.js.LICENSE.txt +3 -3
  24. imio/smartweb/core/webcomponents/build/js/884.smartweb-webcomponents-compiled.js +1 -0
  25. imio/smartweb/core/webcomponents/build/js/919.smartweb-webcomponents-compiled.js +1 -1
  26. imio/smartweb/core/webcomponents/build/js/smartweb-webcomponents-compiled.js +1 -1
  27. imio/smartweb/core/webcomponents/src/components/Annuaire/Annuaire.jsx +101 -74
  28. imio/smartweb/core/webcomponents/src/components/Annuaire/Annuaire.scss +4 -22
  29. imio/smartweb/core/webcomponents/src/components/Annuaire/ContactCard/ContactCard.jsx +22 -18
  30. imio/smartweb/core/webcomponents/src/components/Annuaire/ContactContent/ContactContent.jsx +4 -2
  31. imio/smartweb/core/webcomponents/src/components/Annuaire/ContactList/ContactList.jsx +7 -2
  32. imio/smartweb/core/webcomponents/src/components/Annuaire/Filters/Filter.jsx +211 -98
  33. imio/smartweb/core/webcomponents/src/components/Events/EventContent/EventContent.jsx +506 -378
  34. imio/smartweb/core/webcomponents/src/components/Events/EventList/EventList.jsx +13 -4
  35. imio/smartweb/core/webcomponents/src/components/Events/Events.jsx +117 -82
  36. imio/smartweb/core/webcomponents/src/components/Events/Events.scss +52 -28
  37. imio/smartweb/core/webcomponents/src/components/Events/Filters/Filter.jsx +257 -90
  38. imio/smartweb/core/webcomponents/src/components/Filters/DateFilter.jsx +62 -54
  39. imio/smartweb/core/webcomponents/src/components/Filters/DateFilter.scss +60 -12
  40. imio/smartweb/core/webcomponents/src/components/Filters/IamData.jsx +42 -0
  41. imio/smartweb/core/webcomponents/src/components/Filters/MainFilter.scss +217 -0
  42. imio/smartweb/core/webcomponents/src/components/Filters/PublicTargetData.jsx +94 -0
  43. imio/smartweb/core/webcomponents/src/components/Filters/SelectStyles.js +58 -0
  44. imio/smartweb/core/webcomponents/src/components/Filters/TaxonomyFilter.jsx +149 -0
  45. imio/smartweb/core/webcomponents/src/components/Filters/TaxonomyFilter.scss +70 -0
  46. imio/smartweb/core/webcomponents/src/components/News/Filters/Filter.jsx +127 -82
  47. imio/smartweb/core/webcomponents/src/components/News/News.jsx +86 -53
  48. imio/smartweb/core/webcomponents/src/components/News/News.scss +29 -9
  49. imio/smartweb/core/webcomponents/src/components/News/NewsCard/NewsCard.jsx +34 -31
  50. imio/smartweb/core/webcomponents/src/components/News/NewsContent/NewsContent.jsx +264 -244
  51. imio/smartweb/core/webcomponents/src/components/News/NewsList/NewsList.jsx +13 -8
  52. imio/smartweb/core/webcomponents/src/components/Search/ContactResult/ContactResult.jsx +23 -12
  53. imio/smartweb/core/webcomponents/src/components/Search/EventsResult/EventsResult.jsx +23 -12
  54. imio/smartweb/core/webcomponents/src/components/Search/Filters/Filter.jsx +5 -5
  55. imio/smartweb/core/webcomponents/src/components/Search/NewsResult/NewsResult.jsx +23 -12
  56. imio/smartweb/core/webcomponents/src/components/Search/Search.jsx +4 -4
  57. imio/smartweb/core/webcomponents/src/components/Search/WebResult/WebResult.jsx +13 -4
  58. imio/smartweb/core/webcomponents/src/index.jsx +3 -3
  59. imio/smartweb/core/webcomponents/src/index.scss +11 -65
  60. imio/smartweb/core/webcomponents/src/utils/Map.jsx +18 -9
  61. imio/smartweb/core/webcomponents/src/utils/translation.js +18 -0
  62. imio.smartweb.core-1.2.48-py3.10-nspkg.pth +3 -0
  63. {imio.smartweb.core-1.2.47.dist-info → imio.smartweb.core-1.2.48.dist-info}/METADATA +22 -3
  64. {imio.smartweb.core-1.2.47.dist-info → imio.smartweb.core-1.2.48.dist-info}/RECORD +69 -63
  65. {imio.smartweb.core-1.2.47.dist-info → imio.smartweb.core-1.2.48.dist-info}/WHEEL +1 -1
  66. imio/smartweb/core/webcomponents/build/css/686.smartweb-webcomponents-compiled.css +0 -1
  67. imio/smartweb/core/webcomponents/build/js/686.smartweb-webcomponents-compiled.js +0 -1
  68. imio.smartweb.core-1.2.47-py3.8-nspkg.pth +0 -2
  69. {imio.smartweb.core-1.2.47.dist-info → imio.smartweb.core-1.2.48.dist-info}/LICENSE.GPL +0 -0
  70. {imio.smartweb.core-1.2.47.dist-info → imio.smartweb.core-1.2.48.dist-info}/LICENSE.rst +0 -0
  71. {imio.smartweb.core-1.2.47.dist-info → imio.smartweb.core-1.2.48.dist-info}/namespace_packages.txt +0 -0
  72. {imio.smartweb.core-1.2.47.dist-info → imio.smartweb.core-1.2.48.dist-info}/top_level.txt +0 -0
@@ -13,7 +13,10 @@ const ContactResult = (props) => {
13
13
  headers: {
14
14
  Accept: "application/json",
15
15
  },
16
- params: (props.urlParams.SearchableText || props.urlParams.iam || props.urlParams.topics) ? props.urlParams : {},
16
+ params:
17
+ props.urlParams.SearchableText || props.urlParams.iam || props.urlParams.topics
18
+ ? props.urlParams
19
+ : {},
17
20
  },
18
21
  [props]
19
22
  );
@@ -32,7 +35,14 @@ const ContactResult = (props) => {
32
35
  <Translate text="Contacts" />
33
36
  </h2>
34
37
  <p className="r-search-header-count">
35
- {resultArray.length > 0 ? <> {resultArray.length} {" "} <Translate text='Résultats' /> </> : <Translate text='Aucun résultat' />}
38
+ {resultArray.length > 0 ? (
39
+ <>
40
+ {" "}
41
+ {resultArray.length} <Translate text="Résultats" />{" "}
42
+ </>
43
+ ) : (
44
+ <Translate text="Aucun résultat" />
45
+ )}
36
46
  </p>
37
47
  </div>
38
48
  <ul className="r-search-list">
@@ -40,15 +50,16 @@ const ContactResult = (props) => {
40
50
  <li key={i} className="r-search-item">
41
51
  <a href={item["_url"]}>
42
52
  <div className="r-search-img">
43
- {
44
- item.has_leadimage[0] ? (
45
- <div className="r-search-img" style={{
46
- backgroundImage: "url(" + item.image_url + ")"
47
- }}></div>
48
- ) : (
49
- <div className="r-search-img no-search-item-img"></div>
50
- )
51
- }
53
+ {item.has_leadimage[0] ? (
54
+ <div
55
+ className="r-search-img"
56
+ style={{
57
+ backgroundImage: "url(" + item.image_url + ")",
58
+ }}
59
+ ></div>
60
+ ) : (
61
+ <div className="r-search-img no-search-item-img"></div>
62
+ )}
52
63
  </div>
53
64
  <Highlighter
54
65
  highlightClassName="r-search-highlighter"
@@ -62,4 +73,4 @@ const ContactResult = (props) => {
62
73
  </div>
63
74
  );
64
75
  };
65
- export default ContactResult;
76
+ export default ContactResult;
@@ -13,7 +13,10 @@ const EventsResult = (props) => {
13
13
  headers: {
14
14
  Accept: "application/json",
15
15
  },
16
- params: (props.urlParams.SearchableText || props.urlParams.iam || props.urlParams.topics) ? props.urlParams : {},
16
+ params:
17
+ props.urlParams.SearchableText || props.urlParams.iam || props.urlParams.topics
18
+ ? props.urlParams
19
+ : {},
17
20
  },
18
21
  [props]
19
22
  );
@@ -32,7 +35,14 @@ const EventsResult = (props) => {
32
35
  <Translate text="Événements" />
33
36
  </h2>
34
37
  <p className="r-search-header-count">
35
- {resultArray.length > 0 ? <> {resultArray.length} {" "} <Translate text='Résultats' /> </> : <Translate text='Aucun résultat' />}
38
+ {resultArray.length > 0 ? (
39
+ <>
40
+ {" "}
41
+ {resultArray.length} <Translate text="Résultats" />{" "}
42
+ </>
43
+ ) : (
44
+ <Translate text="Aucun résultat" />
45
+ )}
36
46
  </p>
37
47
  </div>
38
48
  <ul className="r-search-list">
@@ -40,15 +50,16 @@ const EventsResult = (props) => {
40
50
  <li key={i} className="r-search-item">
41
51
  <a href={item["_url"]}>
42
52
  <div className="r-search-img">
43
- {
44
- item.has_leadimage[0] ? (
45
- <div className="r-search-img" style={{
46
- backgroundImage: "url(" + item.image_url + ")"
47
- }}></div>
48
- ) : (
49
- <div className="r-search-img no-search-item-img"></div>
50
- )
51
- }
53
+ {item.has_leadimage[0] ? (
54
+ <div
55
+ className="r-search-img"
56
+ style={{
57
+ backgroundImage: "url(" + item.image_url + ")",
58
+ }}
59
+ ></div>
60
+ ) : (
61
+ <div className="r-search-img no-search-item-img"></div>
62
+ )}
52
63
  </div>
53
64
  <Highlighter
54
65
  highlightClassName="r-search-highlighter"
@@ -62,4 +73,4 @@ const EventsResult = (props) => {
62
73
  </div>
63
74
  );
64
75
  };
65
- export default EventsResult;
76
+ export default EventsResult;
@@ -3,7 +3,7 @@ import Select from "react-select";
3
3
  import { useNavigate } from "react-router-dom";
4
4
  import axios from "axios";
5
5
  import { Translate, Translator } from "react-translated";
6
- import queryString from 'query-string';
6
+ import queryString from "query-string";
7
7
 
8
8
  function Filters(props) {
9
9
  let navigate = useNavigate();
@@ -153,7 +153,7 @@ function Filters(props) {
153
153
  onChange={HandlerText}
154
154
  value={searchValues.SearchableText}
155
155
  placeholder={translate({
156
- text: 'Recherche'
156
+ text: "Recherche",
157
157
  })}
158
158
  />
159
159
  )}
@@ -173,7 +173,7 @@ function Filters(props) {
173
173
  onChange={onChangeHandlerSelect}
174
174
  options={iamFilter && iamFilter}
175
175
  placeholder={translate({
176
- text: 'Je suis'
176
+ text: "Je suis",
177
177
  })}
178
178
  value={actIam && actIam[0]}
179
179
  />
@@ -191,7 +191,7 @@ function Filters(props) {
191
191
  onChange={onChangeHandlerSelect}
192
192
  options={topicsFilter && topicsFilter}
193
193
  placeholder={translate({
194
- text: 'Thématiques'
194
+ text: "Thématiques",
195
195
  })}
196
196
  value={actTopi && actTopi[0]}
197
197
  />
@@ -202,4 +202,4 @@ function Filters(props) {
202
202
  );
203
203
  }
204
204
 
205
- export default Filters;
205
+ export default Filters;
@@ -13,7 +13,10 @@ const NewsResult = (props) => {
13
13
  headers: {
14
14
  Accept: "application/json",
15
15
  },
16
- params: (props.urlParams.SearchableText || props.urlParams.iam || props.urlParams.topics) ? props.urlParams : {},
16
+ params:
17
+ props.urlParams.SearchableText || props.urlParams.iam || props.urlParams.topics
18
+ ? props.urlParams
19
+ : {},
17
20
  },
18
21
  [props]
19
22
  );
@@ -32,7 +35,14 @@ const NewsResult = (props) => {
32
35
  <Translate text="Actualités" />
33
36
  </h2>
34
37
  <p className="r-search-header-count">
35
- {resultArray.length > 0 ? <> {resultArray.length} {" "} <Translate text='Résultats' /> </> : <Translate text='Aucun résultat' />}
38
+ {resultArray.length > 0 ? (
39
+ <>
40
+ {" "}
41
+ {resultArray.length} <Translate text="Résultats" />{" "}
42
+ </>
43
+ ) : (
44
+ <Translate text="Aucun résultat" />
45
+ )}
36
46
  </p>
37
47
  </div>
38
48
  <ul className="r-search-list">
@@ -40,15 +50,16 @@ const NewsResult = (props) => {
40
50
  <li key={i} className="r-search-item">
41
51
  <a href={item["_url"]}>
42
52
  <div className="r-search-img">
43
- {
44
- item.has_leadimage[0] ? (
45
- <div className="r-search-img" style={{
46
- backgroundImage: "url(" + item.image_url + ")"
47
- }}></div>
48
- ) : (
49
- <div className="r-search-img no-search-item-img"></div>
50
- )
51
- }
53
+ {item.has_leadimage[0] ? (
54
+ <div
55
+ className="r-search-img"
56
+ style={{
57
+ backgroundImage: "url(" + item.image_url + ")",
58
+ }}
59
+ ></div>
60
+ ) : (
61
+ <div className="r-search-img no-search-item-img"></div>
62
+ )}
52
63
  </div>
53
64
  <Highlighter
54
65
  highlightClassName="r-search-highlighter"
@@ -62,4 +73,4 @@ const NewsResult = (props) => {
62
73
  </div>
63
74
  );
64
75
  };
65
- export default NewsResult;
76
+ export default NewsResult;
@@ -7,8 +7,8 @@ import EventsResult from "./EventsResult/EventsResult";
7
7
  import WebResult from "./WebResult/WebResult";
8
8
  import useFilterQuery from "../../hooks/useFilterQuery";
9
9
  import { Provider } from "react-translated";
10
- import translation from '../../utils/translation';
11
- import queryString from 'query-string';
10
+ import translation from "../../utils/translation";
11
+ import queryString from "query-string";
12
12
 
13
13
  import "./Search.scss";
14
14
 
@@ -22,13 +22,13 @@ export default function Search(props) {
22
22
  resultOption={JSON.parse(props.resultOption)}
23
23
  />
24
24
  </Provider>
25
- </BrowserRouter >
25
+ </BrowserRouter>
26
26
  );
27
27
  }
28
28
  const SearchView = (props) => {
29
29
  const parsed = queryString.parse(useFilterQuery().toString());
30
30
  const { SearchableText, iam, topics } = parsed;
31
- const parsed2 = { 'SearchableText': SearchableText, 'iam': iam, 'topics': topics };
31
+ const parsed2 = { SearchableText: SearchableText, iam: iam, topics: topics };
32
32
  // const parsed2 = { ...parsed };
33
33
  const [filters, setFilters] = useState(parsed2);
34
34
  const [batchSize, setBatchSize] = useState(6);
@@ -13,7 +13,10 @@ const WebResult = (props) => {
13
13
  headers: {
14
14
  Accept: "application/json",
15
15
  },
16
- params: (props.urlParams.SearchableText || props.urlParams.iam || props.urlParams.topics) ? props.urlParams : {},
16
+ params:
17
+ props.urlParams.SearchableText || props.urlParams.iam || props.urlParams.topics
18
+ ? props.urlParams
19
+ : {},
17
20
  },
18
21
  [props]
19
22
  );
@@ -30,10 +33,16 @@ const WebResult = (props) => {
30
33
  <div className="r-search-header">
31
34
  <h2 className="r-search-header-title">
32
35
  <Translate text="Infos pratiques" />
33
-
34
36
  </h2>
35
37
  <p className="r-search-header-count">
36
- {resultArray.length > 0 ? <> {resultArray.length} {" "} <Translate text='Résultats' /> </> : <Translate text='Aucun résultat' />}
38
+ {resultArray.length > 0 ? (
39
+ <>
40
+ {" "}
41
+ {resultArray.length} <Translate text="Résultats" />{" "}
42
+ </>
43
+ ) : (
44
+ <Translate text="Aucun résultat" />
45
+ )}
37
46
  </p>
38
47
  </div>
39
48
  <ul className="r-search-list">
@@ -52,4 +61,4 @@ const WebResult = (props) => {
52
61
  </div>
53
62
  );
54
63
  };
55
- export default WebResult;
64
+ export default WebResult;
@@ -16,6 +16,6 @@ ReactWebComponent.create(<Events />, "smartweb-events", false);
16
16
  ReactWebComponent.create(<Search />, "smartweb-search", false);
17
17
 
18
18
  if (module.hot) {
19
- // Accept hot module replacement (HMR) while live-reloading
20
- module.hot.accept();
21
- }
19
+ // Accept hot module replacement (HMR) while live-reloading
20
+ module.hot.accept();
21
+ }
@@ -12,7 +12,6 @@
12
12
  }
13
13
  }
14
14
 
15
- /* Filters */
16
15
  .r-wrapper {
17
16
  position: relative;
18
17
 
@@ -21,67 +20,12 @@
21
20
  }
22
21
  }
23
22
 
24
- .r-result-filter-container,
25
23
  .r-actu-wrapper {
26
24
  padding-top: 1rem;
27
25
  }
28
26
 
29
27
  .r-result {
30
28
  position: relative;
31
-
32
- &-filter {
33
- display: flex;
34
- flex-wrap: wrap;
35
- gap: 20px;
36
- padding-bottom: 20px;
37
- border-bottom: solid 1px #cccc;
38
- align-items: center;
39
-
40
- .r-filter {
41
- width: 100%;
42
- max-width: 200px;
43
-
44
- label {
45
- display: block;
46
- }
47
-
48
- .r-filter-search {
49
- position: relative;
50
-
51
- .input-custom-class {
52
- line-height: 50px;
53
- border: 1px solid #CCCCCC;
54
- height: 50px;
55
- padding: 0 10px;
56
- font-weight: bold;
57
- color: #000;
58
- width: 100%;
59
- letter-spacing: 1.2px;
60
-
61
- &::placeholder {
62
- color: #000;
63
- font-size: 12px;
64
- opacity: 1;
65
- text-transform: uppercase;
66
- letter-spacing: '1.2px';
67
- }
68
- }
69
-
70
- button {
71
- background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg id='Calque_2' data-name='Calque 2'%3E%3Cg id='Calque_1-2' data-name='Calque 1'%3E%3Cg id='search'%3E%3Cpath id='Shape' d='M11.08,6.77a4.31,4.31,0,1,0-4.31,4.31h0A4.32,4.32,0,0,0,11.08,6.77Zm4.92,8A1.24,1.24,0,0,1,14.77,16a1.17,1.17,0,0,1-.86-.37l-3.3-3.28a6.77,6.77,0,1,1,1.74-1.74l3.3,3.3A1.25,1.25,0,0,1,16,14.77Z' style='fill:%23141414;fill-rule:evenodd'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E") no-repeat;
72
- background-position: center;
73
- background-size: 80%;
74
- border: none;
75
- width: 20px;
76
- position: absolute;
77
- right: 10px;
78
- top: 0;
79
- bottom: 0;
80
- }
81
- }
82
-
83
- }
84
- }
85
29
  }
86
30
 
87
31
  .r-add-event,
@@ -121,15 +65,7 @@
121
65
  }
122
66
 
123
67
  //// for bla ////
124
- /* filters */
125
- .r-filter {
126
- label {
127
- text-transform: uppercase;
128
- font-weight: bold;
129
- font-size: 13px;
130
- margin-bottom: 10px;
131
- }
132
- }
68
+
133
69
 
134
70
  // content
135
71
  .r-content-description {
@@ -372,4 +308,14 @@
372
308
 
373
309
  .r-search-img {
374
310
  background-color: #c9c9c9 !important;
311
+ }
312
+
313
+ .portaltype-imio-smartweb-eventsview,
314
+ .portaltype-imio-smartweb-directoryview,
315
+ .portaltype-imio-smartweb-newsview {
316
+
317
+ #portal-breadcrumbs,
318
+ #portal-header {
319
+ margin-bottom: 0 !important;
320
+ }
375
321
  }
@@ -8,7 +8,7 @@ import { Link } from "react-router-dom";
8
8
  import "./Map.scss";
9
9
  import "leaflet/dist/leaflet.css";
10
10
  import removeAccents from "remove-accents";
11
- import queryString from 'query-string';
11
+ import queryString from "query-string";
12
12
 
13
13
  function ChangeMapView({ activeItem, arrayOfLatLngs }) {
14
14
  const map = useMap();
@@ -28,12 +28,17 @@ function Map(props) {
28
28
  const [activeItem, setActiveItem] = useState(null);
29
29
  const [filterGeoArray, setFilterGeoArray] = useState([]);
30
30
  const [allPosition, setAllPosition] = useState(null);
31
- const { u, ...parsed } = Object.assign(
32
- { UID: queryString.parse(useFilterQuery().toString())['u'] },
33
- );
31
+ const { u, ...parsed } = Object.assign({
32
+ UID: queryString.parse(useFilterQuery().toString())["u"],
33
+ });
34
34
  // Delete Imio positions
35
35
  useEffect(() => {
36
- const filterArray = props.items.filter((isgeo) => isgeo.geolocation.latitude && isgeo.geolocation.latitude !== 50.4989185 && isgeo.geolocation.longitude !== 4.7184485);
36
+ const filterArray = props.items.filter(
37
+ (isgeo) =>
38
+ isgeo.geolocation.latitude &&
39
+ isgeo.geolocation.latitude !== 50.4989185 &&
40
+ isgeo.geolocation.longitude !== 4.7184485
41
+ );
37
42
  setFilterGeoArray(filterArray);
38
43
  }, [props]);
39
44
 
@@ -43,7 +48,7 @@ function Map(props) {
43
48
  iconUrl: url,
44
49
  iconSize: [29, 37],
45
50
  });
46
- }
51
+ };
47
52
  // Get Marker Icon and Z-index
48
53
  const getMarkerIcon = (index) => {
49
54
  if (index === parsed.UID) {
@@ -73,7 +78,6 @@ function Map(props) {
73
78
  setActiveItem(result[0]);
74
79
  }, [filterGeoArray]);
75
80
 
76
-
77
81
  useEffect(() => {
78
82
  if (filterGeoArray.length > 0) {
79
83
  let posArray = [];
@@ -107,7 +111,12 @@ function Map(props) {
107
111
  className="r-map-popup"
108
112
  style={{ textDecoration: "none" }}
109
113
  to={{
110
- pathname: "/" + removeAccents(mark.title).replace(/[^a-zA-Z ]/g, "").replace(/\s/g, "-").toLowerCase(),
114
+ pathname:
115
+ "/" +
116
+ removeAccents(mark.title)
117
+ .replace(/[^a-zA-Z ]/g, "")
118
+ .replace(/\s/g, "-")
119
+ .toLowerCase(),
111
120
  search: `?u=${mark.UID}`,
112
121
  state: {
113
122
  idItem: mark.UID,
@@ -147,4 +156,4 @@ function Map(props) {
147
156
  );
148
157
  }
149
158
 
150
- export default Map;
159
+ export default Map;
@@ -66,6 +66,18 @@ export default {
66
66
  de: "Kategorien",
67
67
  nl: "Categorieën",
68
68
  },
69
+ "Catégories locale": {
70
+ en: 'Local categories',
71
+ fr: "Catégories locale",
72
+ de: "Lokale Kategorien",
73
+ nl: "Lokale categorieën",
74
+ },
75
+ "Quoi": {
76
+ en: 'What',
77
+ fr: "Quoi",
78
+ de: "Was",
79
+ nl: "Wat",
80
+ },
69
81
  "Facilités": {
70
82
  en: 'Facilities',
71
83
  fr: "Facilités",
@@ -210,6 +222,12 @@ export default {
210
222
  de: 'Kontakt vorschlagen',
211
223
  nl: 'Contact voorstellen',
212
224
  },
225
+ "Quand": {
226
+ en: 'When',
227
+ fr: "Quand",
228
+ de: 'Wann',
229
+ nl: 'Wanneer',
230
+ },
213
231
  "Toutes les dates": {
214
232
  en: 'All dates',
215
233
  fr: "Toutes les dates",
@@ -0,0 +1,3 @@
1
+ import sys, types, os;has_mfs = sys.version_info > (3, 5);p = os.path.join(sys._getframe(1).f_locals['sitedir'], *('imio',));importlib = has_mfs and __import__('importlib.util');has_mfs and __import__('importlib.machinery');m = has_mfs and sys.modules.setdefault('imio', importlib.util.module_from_spec(importlib.machinery.PathFinder.find_spec('imio', [os.path.dirname(p)])));m = m or sys.modules.setdefault('imio', types.ModuleType('imio'));mp = (m or []) and m.__dict__.setdefault('__path__',[]);(p not in mp) and mp.append(p)
2
+ import sys, types, os;has_mfs = sys.version_info > (3, 5);p = os.path.join(sys._getframe(1).f_locals['sitedir'], *('imio',));importlib = has_mfs and __import__('importlib.util');has_mfs and __import__('importlib.machinery');m = has_mfs and sys.modules.setdefault('imio', importlib.util.module_from_spec(importlib.machinery.PathFinder.find_spec('imio', [os.path.dirname(p)])));m = m or sys.modules.setdefault('imio', types.ModuleType('imio'));mp = (m or []) and m.__dict__.setdefault('__path__',[]);(p not in mp) and mp.append(p)
3
+ import sys, types, os;has_mfs = sys.version_info > (3, 5);p = os.path.join(sys._getframe(1).f_locals['sitedir'], *('imio', 'smartweb'));importlib = has_mfs and __import__('importlib.util');has_mfs and __import__('importlib.machinery');m = has_mfs and sys.modules.setdefault('imio.smartweb', importlib.util.module_from_spec(importlib.machinery.PathFinder.find_spec('imio.smartweb', [os.path.dirname(p)])));m = m or sys.modules.setdefault('imio.smartweb', types.ModuleType('imio.smartweb'));mp = (m or []) and m.__dict__.setdefault('__path__',[]);(p not in mp) and mp.append(p);m and setattr(sys.modules['imio'], 'smartweb', m)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: imio.smartweb.core
3
- Version: 1.2.47
3
+ Version: 1.2.48
4
4
  Summary: Core product for iMio websites
5
5
  Home-page: https://github.com/imio/imio.smartweb.core
6
6
  Author: Christophe Boulanger
@@ -26,7 +26,7 @@ License-File: LICENSE.rst
26
26
  Requires-Dist: setuptools
27
27
  Requires-Dist: z3c.jbot
28
28
  Requires-Dist: z3c.unconfigure
29
- Requires-Dist: plone.api >=1.8.4
29
+ Requires-Dist: plone.api (>=1.8.4)
30
30
  Requires-Dist: plone.gallery
31
31
  Requires-Dist: plone.restapi
32
32
  Requires-Dist: plone.app.dexterity
@@ -48,7 +48,7 @@ Requires-Dist: imio.smartweb.common
48
48
  Requires-Dist: imio.smartweb.locales
49
49
  Provides-Extra: test
50
50
  Requires-Dist: plone.app.testing ; extra == 'test'
51
- Requires-Dist: plone.testing >=5.0.0 ; extra == 'test'
51
+ Requires-Dist: plone.testing (>=5.0.0) ; extra == 'test'
52
52
  Requires-Dist: plone.app.contenttypes ; extra == 'test'
53
53
  Requires-Dist: plone.app.robotframework[debug] ; extra == 'test'
54
54
  Requires-Dist: plone.restapi[test] ; extra == 'test'
@@ -189,6 +189,25 @@ Changelog
189
189
  =========
190
190
 
191
191
 
192
+ 1.2.48 (2024-05-27)
193
+ -------------------
194
+
195
+ - WEB-3802: Add grouped filter for category and local category in React filters
196
+ [thomlamb]
197
+
198
+ - WEB-4101 : Handle (local) categories translations correctly
199
+ [laulaz]
200
+
201
+ - SUP-36937: Add Recurrence dates in React event content view
202
+ [thomlamb]
203
+
204
+ - WEB-4104 : When change section size (front-office method), reindexParent to refresh cache
205
+ [boulch]
206
+
207
+ - WEB-4105 : Make text section smarter about its lead image format (portrait / landscape)
208
+ [boulch]
209
+
210
+
192
211
  1.2.47 (2024-05-07)
193
212
  -------------------
194
213