imio.smartweb.core 1.2.65__py3-none-any.whl → 1.2.66__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 (37) hide show
  1. imio/smartweb/core/browser/faceted/block_view.pt +4 -4
  2. imio/smartweb/core/browser/faceted/summary_view.pt +4 -4
  3. imio/smartweb/core/browser/static/smartweb-view-compiled.css +1 -1
  4. imio/smartweb/core/browser/static/src/view.less +4 -0
  5. imio/smartweb/core/contents/folder/block_view.pt +8 -8
  6. imio/smartweb/core/contents/folder/summary_view.pt +4 -4
  7. imio/smartweb/core/contents/rest/directory/view.pt +2 -1
  8. imio/smartweb/core/contents/rest/events/view.pt +2 -1
  9. imio/smartweb/core/contents/rest/news/view.pt +2 -1
  10. imio/smartweb/core/contents/rest/view.py +4 -0
  11. imio/smartweb/core/contents/sections/external_content/view.pt +1 -1
  12. imio/smartweb/core/webcomponents/build/css/smartweb-webcomponents-compiled.css +1 -1
  13. imio/smartweb/core/webcomponents/build/js/373.smartweb-webcomponents-compiled.js +1 -1
  14. imio/smartweb/core/webcomponents/build/js/486.smartweb-webcomponents-compiled.js +1 -1
  15. imio/smartweb/core/webcomponents/build/js/884.smartweb-webcomponents-compiled.js +1 -1
  16. imio/smartweb/core/webcomponents/src/components/Annuaire/Annuaire.jsx +12 -2
  17. imio/smartweb/core/webcomponents/src/components/Annuaire/ContactCard/ContactCard.jsx +76 -61
  18. imio/smartweb/core/webcomponents/src/components/Annuaire/ContactContent/ContactContent.jsx +14 -1
  19. imio/smartweb/core/webcomponents/src/components/Annuaire/ContactList/ContactList.jsx +6 -2
  20. imio/smartweb/core/webcomponents/src/components/Events/EventCard/EventCard.jsx +56 -39
  21. imio/smartweb/core/webcomponents/src/components/Events/EventContent/EventContent.jsx +17 -3
  22. imio/smartweb/core/webcomponents/src/components/Events/EventList/EventList.jsx +10 -7
  23. imio/smartweb/core/webcomponents/src/components/Events/Events.jsx +4 -2
  24. imio/smartweb/core/webcomponents/src/components/News/News.jsx +3 -0
  25. imio/smartweb/core/webcomponents/src/components/News/NewsCard/NewsCard.jsx +60 -48
  26. imio/smartweb/core/webcomponents/src/components/News/NewsContent/NewsContent.jsx +17 -3
  27. imio/smartweb/core/webcomponents/src/components/News/NewsList/NewsList.jsx +15 -7
  28. imio/smartweb/core/webcomponents/src/index.scss +188 -174
  29. imio.smartweb.core-1.2.66-py3.8-nspkg.pth +2 -0
  30. {imio.smartweb.core-1.2.65.dist-info → imio.smartweb.core-1.2.66.dist-info}/METADATA +15 -3
  31. {imio.smartweb.core-1.2.65.dist-info → imio.smartweb.core-1.2.66.dist-info}/RECORD +36 -36
  32. {imio.smartweb.core-1.2.65.dist-info → imio.smartweb.core-1.2.66.dist-info}/WHEEL +1 -1
  33. imio.smartweb.core-1.2.65-py3.10-nspkg.pth +0 -3
  34. {imio.smartweb.core-1.2.65.dist-info → imio.smartweb.core-1.2.66.dist-info}/LICENSE.GPL +0 -0
  35. {imio.smartweb.core-1.2.65.dist-info → imio.smartweb.core-1.2.66.dist-info}/LICENSE.rst +0 -0
  36. {imio.smartweb.core-1.2.65.dist-info → imio.smartweb.core-1.2.66.dist-info}/namespace_packages.txt +0 -0
  37. {imio.smartweb.core-1.2.65.dist-info → imio.smartweb.core-1.2.66.dist-info}/top_level.txt +0 -0
@@ -3,27 +3,34 @@ import NewsCard from "../NewsCard/NewsCard";
3
3
  import { Link } from "react-router-dom";
4
4
  import removeAccents from "remove-accents";
5
5
  import { ScrollContext } from "../../../hooks/ScrollContext";
6
- const NewsList = ({ itemsArray, onChange, showCategoriesOrTopics }) => {
7
-
6
+ const NewsList = ({ itemsArray, onChange, showCategoriesOrTopics, contextAuthenticatedUser }) => {
8
7
  const { scrollPos, updateScrollPos } = useContext(ScrollContext);
9
8
 
10
-
11
9
  function handleClick(event) {
12
10
  onChange(event);
13
11
  updateScrollPos(window.scrollY);
14
12
  }
15
13
 
16
14
  useEffect(() => {
17
- window.scrollTo(
18
- { top: scrollPos,
19
- left: 0,
20
- behavior: 'instant'});
15
+ window.scrollTo({ top: scrollPos, left: 0, behavior: "instant" });
21
16
  }, [itemsArray]);
22
17
  return (
23
18
  <React.Fragment>
24
19
  <ul className="r-result-list actu-result-list">
25
20
  {itemsArray.map((item, i) => (
26
21
  <li key={i} className="r-list-item-group" onClick={() => handleClick(item.UID)}>
22
+ {contextAuthenticatedUser === "False" ? (
23
+ <a
24
+ href={item["@id"]}
25
+ target="_blank"
26
+ title="Editer la fiche"
27
+ className="edit-rest-elements edit-rest-elements-news"
28
+ >
29
+ <i class="bi bi-pencil-square"></i>
30
+ </a>
31
+ ) : (
32
+ ""
33
+ )}
27
34
  <Link
28
35
  className="r-news-list-item-link"
29
36
  style={{ textDecoration: "none" }}
@@ -44,6 +51,7 @@ const NewsList = ({ itemsArray, onChange, showCategoriesOrTopics }) => {
44
51
  item={item}
45
52
  showCategoriesOrTopics={showCategoriesOrTopics}
46
53
  key={item.created}
54
+ contextAuthenticatedUser={contextAuthenticatedUser}
47
55
  />
48
56
  </Link>
49
57
  </li>
@@ -1,273 +1,292 @@
1
1
  .portaltype-imio-smartweb-directoryview {
2
- #portal-header {
3
- margin-bottom: 0 !important;
4
- }
2
+ #portal-header {
3
+ margin-bottom: 0 !important;
4
+ }
5
5
 
6
- #portal-breadcrumbs {
7
- margin-bottom: 0 !important;
6
+ #portal-breadcrumbs {
7
+ margin-bottom: 0 !important;
8
8
 
9
- .breadcrumb {
10
- margin-bottom: 0 !important;
9
+ .breadcrumb {
10
+ margin-bottom: 0 !important;
11
+ }
11
12
  }
12
- }
13
13
  }
14
14
 
15
15
  .r-wrapper {
16
- position: relative;
16
+ position: relative;
17
17
 
18
- figure {
19
- display: block;
20
- }
18
+ figure {
19
+ display: block;
20
+ }
21
21
  }
22
22
 
23
23
  .r-actu-wrapper {
24
- padding-top: 1rem;
24
+ padding-top: 1rem;
25
25
  }
26
26
 
27
27
  .r-result {
28
- position: relative;
28
+ position: relative;
29
29
  }
30
30
 
31
31
  .r-add-event,
32
32
  .r-add-news,
33
33
  .r-add-contact {
34
- @media screen and (min-width: 992px) {
35
- position: absolute;
36
- right: 0;
37
- bottom: 0px;
38
- padding-bottom: 1rem;
39
- }
40
- a {
41
- color: #2d2d2d;
42
- text-decoration: none;
43
- display: flex;
44
- flex-direction: row;
45
- align-items: center;
46
- gap: 7px;
47
- &:hover,&:focus {
48
- text-decoration: underline;
34
+ @media screen and (min-width: 992px) {
35
+ position: absolute;
36
+ right: 0;
37
+ bottom: 0px;
38
+ padding-bottom: 1rem;
39
+ }
40
+ a {
41
+ color: #2d2d2d;
42
+ text-decoration: none;
43
+ display: flex;
44
+ flex-direction: row;
45
+ align-items: center;
46
+ gap: 7px;
47
+ &:hover,
48
+ &:focus {
49
+ text-decoration: underline;
50
+ }
49
51
  }
50
- }
51
52
  }
52
53
 
53
54
  /* list item */
54
55
  .r-list-item-link {
55
- inset: 0px !important;
56
- position: absolute !important;
56
+ inset: 0px !important;
57
+ position: absolute !important;
57
58
  }
58
59
 
59
60
  .r-list-item-group {
60
- margin: 15px 0;
61
- position: relative;
61
+ margin: 15px 0;
62
+ position: relative;
62
63
  }
63
64
 
64
65
  .r-list-item {
65
- display: flex;
66
- height: 100%;
67
- align-items: stretch;
66
+ display: flex;
67
+ height: 100%;
68
+ align-items: stretch;
68
69
  }
69
70
 
70
71
  /* load-more-link */
71
72
  .load-more-link {
72
- background: transparent;
73
- margin: 0 auto;
74
- border: none;
75
- display: block;
73
+ background: transparent;
74
+ margin: 0 auto;
75
+ border: none;
76
+ display: block;
76
77
  }
77
78
 
78
79
  //// for bla ////
79
80
 
80
-
81
81
  // content
82
82
  .r-content-description {
83
- font-weight: 500;
83
+ font-weight: 500;
84
84
  }
85
85
 
86
86
  .r-wrapper .r-result-list .r-list-item-group .r-list-item .r-item-text {
87
- flex: min-content;
87
+ flex: min-content;
88
88
  }
89
89
 
90
90
  // map
91
91
 
92
92
  .leaflet-popup {
93
- padding: 0 !important;
93
+ padding: 0 !important;
94
94
  }
95
95
 
96
96
  .leaflet-container {
97
- opacity: 1 !important;
97
+ opacity: 1 !important;
98
98
  }
99
99
 
100
-
101
100
  // Flies and gallery
102
101
 
103
-
104
102
  .r-content-files {
105
- margin: 2rem 0;
106
-
107
- &-title {
108
- margin-bottom: 1rem;
109
- }
110
-
111
- .r-content-file {
112
- margin: 1rem 0;
113
-
114
- &-link {
115
- text-decoration: none;
116
- display: flex;
117
- gap: 20px;
118
- padding: 1rem;
119
- border: solid 1px #e6e6e6;
120
- justify-content: space-between;
121
-
122
- &:hover {
123
- border: solid 1px #868686;
124
- }
103
+ margin: 2rem 0;
104
+
105
+ &-title {
106
+ margin-bottom: 1rem;
125
107
  }
126
- }
127
108
 
128
- span {
129
- display: block;
130
- }
109
+ .r-content-file {
110
+ margin: 1rem 0;
111
+
112
+ &-link {
113
+ text-decoration: none;
114
+ display: flex;
115
+ gap: 20px;
116
+ padding: 1rem;
117
+ border: solid 1px #e6e6e6;
118
+ justify-content: space-between;
119
+
120
+ &:hover {
121
+ border: solid 1px #868686;
122
+ }
123
+ }
124
+ }
125
+
126
+ span {
127
+ display: block;
128
+ }
131
129
  }
132
130
 
133
131
  .r-content-gallery {
134
- margin: 2rem 0;
132
+ margin: 2rem 0;
135
133
 
136
- &.flexbin>*>img {
137
- height: 226px;
138
- }
134
+ &.flexbin > * > img {
135
+ height: 226px;
136
+ }
139
137
 
140
- &.flexbin>* {
141
- height: 226px;
142
- }
138
+ &.flexbin > * {
139
+ height: 226px;
140
+ }
143
141
  }
144
142
 
145
143
  // loaer
146
144
  .lds-roller-container {
147
- position: absolute;
148
- bottom: 0;
149
- top: 0;
150
- left: 0;
151
- right: 0;
152
- background: hsla(0, 0%, 100%, 0.82);
145
+ position: absolute;
146
+ bottom: 0;
147
+ top: 0;
148
+ left: 0;
149
+ right: 0;
150
+ background: hsla(0, 0%, 100%, 0.82);
153
151
  }
154
152
 
155
153
  .lds-roller {
156
- display: inline-block;
157
- position: absolute;
158
- width: 80px;
159
- height: 80px;
160
- top: 5rem;
161
- left: 50%;
162
- transform: translate(-50%, -50%);
163
- z-index: 0;
154
+ display: inline-block;
155
+ position: absolute;
156
+ width: 80px;
157
+ height: 80px;
158
+ top: 5rem;
159
+ left: 50%;
160
+ transform: translate(-50%, -50%);
161
+ z-index: 0;
164
162
  }
165
163
 
166
164
  .lds-roller div {
167
- animation: lds-roller 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
168
- transform-origin: 40px 40px;
165
+ animation: lds-roller 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
166
+ transform-origin: 40px 40px;
169
167
  }
170
168
 
171
169
  .lds-roller div:after {
172
- content: " ";
173
- display: block;
174
- position: absolute;
175
- width: 7px;
176
- height: 7px;
177
- border-radius: 50%;
178
- background: rgb(51, 51, 51);
179
- margin: -4px 0 0 -4px;
170
+ content: " ";
171
+ display: block;
172
+ position: absolute;
173
+ width: 7px;
174
+ height: 7px;
175
+ border-radius: 50%;
176
+ background: rgb(51, 51, 51);
177
+ margin: -4px 0 0 -4px;
180
178
  }
181
179
 
182
180
  .lds-roller div:nth-child(1) {
183
- animation-delay: -0.036s;
181
+ animation-delay: -0.036s;
184
182
  }
185
183
 
186
184
  .lds-roller div:nth-child(1):after {
187
- top: 63px;
188
- left: 63px;
185
+ top: 63px;
186
+ left: 63px;
189
187
  }
190
188
 
191
189
  .lds-roller div:nth-child(2) {
192
- animation-delay: -0.072s;
190
+ animation-delay: -0.072s;
193
191
  }
194
192
 
195
193
  .lds-roller div:nth-child(2):after {
196
- top: 68px;
197
- left: 56px;
194
+ top: 68px;
195
+ left: 56px;
198
196
  }
199
197
 
200
198
  .lds-roller div:nth-child(3) {
201
- animation-delay: -0.108s;
199
+ animation-delay: -0.108s;
202
200
  }
203
201
 
204
202
  .lds-roller div:nth-child(3):after {
205
- top: 71px;
206
- left: 48px;
203
+ top: 71px;
204
+ left: 48px;
207
205
  }
208
206
 
209
207
  .lds-roller div:nth-child(4) {
210
- animation-delay: -0.144s;
208
+ animation-delay: -0.144s;
211
209
  }
212
210
 
213
211
  .lds-roller div:nth-child(4):after {
214
- top: 72px;
215
- left: 40px;
212
+ top: 72px;
213
+ left: 40px;
216
214
  }
217
215
 
218
216
  .lds-roller div:nth-child(5) {
219
- animation-delay: -0.18s;
217
+ animation-delay: -0.18s;
220
218
  }
221
219
 
222
220
  .lds-roller div:nth-child(5):after {
223
- top: 71px;
224
- left: 32px;
221
+ top: 71px;
222
+ left: 32px;
225
223
  }
226
224
 
227
225
  .lds-roller div:nth-child(6) {
228
- animation-delay: -0.216s;
226
+ animation-delay: -0.216s;
229
227
  }
230
228
 
231
229
  .lds-roller div:nth-child(6):after {
232
- top: 68px;
233
- left: 24px;
230
+ top: 68px;
231
+ left: 24px;
234
232
  }
235
233
 
236
234
  .lds-roller div:nth-child(7) {
237
- animation-delay: -0.252s;
235
+ animation-delay: -0.252s;
238
236
  }
239
237
 
240
238
  .lds-roller div:nth-child(7):after {
241
- top: 63px;
242
- left: 17px;
239
+ top: 63px;
240
+ left: 17px;
243
241
  }
244
242
 
245
243
  .lds-roller div:nth-child(8) {
246
- animation-delay: -0.288s;
244
+ animation-delay: -0.288s;
247
245
  }
248
246
 
249
247
  .lds-roller div:nth-child(8):after {
250
- top: 56px;
251
- left: 12px;
248
+ top: 56px;
249
+ left: 12px;
252
250
  }
253
251
 
254
252
  @keyframes lds-roller {
255
- 0% {
256
- transform: rotate(0deg);
257
- }
253
+ 0% {
254
+ transform: rotate(0deg);
255
+ }
258
256
 
259
- 100% {
260
- transform: rotate(360deg);
261
- }
257
+ 100% {
258
+ transform: rotate(360deg);
259
+ }
262
260
  }
263
261
 
264
262
  // image figure
265
263
  .r-content-figure {
266
- position: relative;
267
- aspect-ratio: 16/9;
268
- background-color: #000;
264
+ position: relative;
265
+ aspect-ratio: 16/9;
266
+ background-color: #000;
267
+
268
+ &-blur {
269
+ position: absolute;
270
+ width: 100%;
271
+ height: 100%;
272
+ top: 0;
273
+ left: 0;
274
+ background-size: cover;
275
+ background-position: center;
276
+ opacity: 0.8;
277
+ }
269
278
 
270
- &-blur {
279
+ &-img {
280
+ position: absolute;
281
+ width: 100%;
282
+ height: 100%;
283
+ object-fit: cover;
284
+ object-position: center;
285
+ backdrop-filter: blur(10px);
286
+ }
287
+ }
288
+
289
+ .r-content-img-blur {
271
290
  position: absolute;
272
291
  width: 100%;
273
292
  height: 100%;
@@ -275,58 +294,53 @@
275
294
  left: 0;
276
295
  background-size: cover;
277
296
  background-position: center;
278
- opacity: 0.8;
279
- }
280
-
281
- &-img {
282
- position: absolute;
283
- width: 100%;
284
- height: 100%;
285
- object-fit: cover;
286
- object-position: center;
287
- backdrop-filter: blur(10px);
288
- }
289
- }
290
-
291
- .r-content-img-blur {
292
- position: absolute;
293
- width: 100%;
294
- height: 100%;
295
- top: 0;
296
- left: 0;
297
- background-size: cover;
298
- background-position: center;
299
297
  }
300
298
 
301
299
  .img-cover {
302
- background-size: cover;
303
- background-position: center;
300
+ background-size: cover;
301
+ background-position: center;
304
302
  }
305
303
 
306
304
  .img-contain {
307
- object-fit: contain;
308
- object-position: center;
309
- background-size: contain;
310
- background-repeat: no-repeat;
311
- background-position: center;
305
+ object-fit: contain;
306
+ object-position: center;
307
+ background-size: contain;
308
+ background-repeat: no-repeat;
309
+ background-position: center;
312
310
  }
313
311
 
314
312
  .no-search-item-img {
315
- background: black;
316
- background-color: #c9c9c9 !important;
317
- background-position: center !important;
313
+ background: black;
314
+ background-color: #c9c9c9 !important;
315
+ background-position: center !important;
318
316
  }
319
317
 
320
318
  .r-search-img {
321
- background-color: #c9c9c9 !important;
319
+ background-color: #c9c9c9 !important;
322
320
  }
323
321
 
324
322
  .portaltype-imio-smartweb-eventsview,
325
323
  .portaltype-imio-smartweb-directoryview,
326
324
  .portaltype-imio-smartweb-newsview {
325
+ #portal-breadcrumbs,
326
+ #portal-header {
327
+ margin-bottom: 0 !important;
328
+ }
329
+ }
327
330
 
328
- #portal-breadcrumbs,
329
- #portal-header {
330
- margin-bottom: 0 !important;
331
- }
332
- }
331
+ .edit-rest-elements {
332
+ position: absolute;
333
+ right: 5px;
334
+ top: 5px;
335
+ display: flex;
336
+ flex-direction: column;
337
+ align-items: center;
338
+ padding: 10px;
339
+ }
340
+
341
+ .edit-rest-elements-content {
342
+ top: 10px;
343
+ }
344
+ .edit-rest-elements-news {
345
+ padding: 10px;
346
+ }
@@ -0,0 +1,2 @@
1
+ import sys, types, os;p = os.path.join(sys._getframe(1).f_locals['sitedir'], *('imio',));importlib = __import__('importlib.util');__import__('importlib.machinery');m = 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;p = os.path.join(sys._getframe(1).f_locals['sitedir'], *('imio', 'smartweb'));importlib = __import__('importlib.util');__import__('importlib.machinery');m = 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.65
3
+ Version: 1.2.66
4
4
  Summary: Core product for iMio websites
5
5
  Home-page: https://github.com/imio/imio.smartweb.core
6
6
  Author: Christophe Boulanger
@@ -28,7 +28,7 @@ License-File: LICENSE.rst
28
28
  Requires-Dist: setuptools
29
29
  Requires-Dist: z3c.jbot
30
30
  Requires-Dist: z3c.unconfigure
31
- Requires-Dist: plone.api (>=1.8.4)
31
+ Requires-Dist: plone.api >=1.8.4
32
32
  Requires-Dist: plone.gallery
33
33
  Requires-Dist: plone.restapi
34
34
  Requires-Dist: plone.app.dexterity
@@ -50,7 +50,7 @@ Requires-Dist: imio.smartweb.common
50
50
  Requires-Dist: imio.smartweb.locales
51
51
  Provides-Extra: test
52
52
  Requires-Dist: plone.app.testing ; extra == 'test'
53
- Requires-Dist: plone.testing (>=5.0.0) ; extra == 'test'
53
+ Requires-Dist: plone.testing >=5.0.0 ; extra == 'test'
54
54
  Requires-Dist: plone.app.contenttypes ; extra == 'test'
55
55
  Requires-Dist: plone.app.robotframework[debug] ; extra == 'test'
56
56
  Requires-Dist: plone.restapi[test] ; extra == 'test'
@@ -191,6 +191,18 @@ Changelog
191
191
  =========
192
192
 
193
193
 
194
+ 1.2.66 (2024-08-27)
195
+ -------------------
196
+
197
+ - Fix: Transform all folder view template to list elements
198
+ [thomlamb]
199
+
200
+ - Fix: delete ratio class to external content section
201
+ [thomlamb]
202
+
203
+ - WEB-4138 : Adding link on React elements to edit them
204
+ [thomlamb]
205
+
194
206
  1.2.65 (2024-08-13)
195
207
  -------------------
196
208