design-comuni-plone-theme 10.5.0 → 10.6.0

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
 
2
2
 
3
+ ## [10.6.0](https://github.com/RedTurtle/design-comuni-plone-theme/compare/v10.5.0...v10.6.0) (2023-12-12)
4
+
5
+
6
+ ### Features
7
+
8
+ * added breadcrumbs for static routes ([#392](https://github.com/RedTurtle/design-comuni-plone-theme/issues/392)) ([55f9512](https://github.com/RedTurtle/design-comuni-plone-theme/commit/55f95123bcc69b6c15a3faf0ffa530937fe746f7))
9
+ * new data grid widget version with allow_reorder param ([#435](https://github.com/RedTurtle/design-comuni-plone-theme/issues/435)) ([560576c](https://github.com/RedTurtle/design-comuni-plone-theme/commit/560576cdb2b1cb75a3c39e58192c3f78ad5969cd))
10
+
11
+
12
+ ### Bug Fixes
13
+
14
+ * removed automatic pager-link and updated available manual data-elements ([2553322](https://github.com/RedTurtle/design-comuni-plone-theme/commit/2553322f8e8e61d877546bc7303d3a1c460a70f6))
15
+ * schema.org metadata per i servizi ([ee21c7d](https://github.com/RedTurtle/design-comuni-plone-theme/commit/ee21c7d4b0a4b4362f42239bb2ff7b4b7f6ac3b9))
16
+ * traduzioni mancanti ([#432](https://github.com/RedTurtle/design-comuni-plone-theme/issues/432)) ([14ee678](https://github.com/RedTurtle/design-comuni-plone-theme/commit/14ee678fc710f15b0db8018ac508c5c5b13964ef))
17
+
18
+
19
+ ### Documentation
20
+
21
+ * update publiccode.yml con nuovi comuni ([#157](https://github.com/RedTurtle/design-comuni-plone-theme/issues/157)) ([43afda6](https://github.com/RedTurtle/design-comuni-plone-theme/commit/43afda6b780b5c6e5b1b86af49959108067d8b13))
22
+ * updated publiccode and release log ([7e3dc2f](https://github.com/RedTurtle/design-comuni-plone-theme/commit/7e3dc2f915ae1b8d13753a3ff24b87a20cd9a7d2))
23
+
3
24
  ## [10.5.0](https://github.com/RedTurtle/design-comuni-plone-theme/compare/v10.4.3...v10.5.0) (2023-12-06)
4
25
 
5
26
 
package/RELEASE.md CHANGED
@@ -41,6 +41,20 @@
41
41
  - ...
42
42
  -->
43
43
 
44
+ ## Versione X.X.X (dd/mm/yyyy)
45
+
46
+ ### Migliorie
47
+
48
+ - ...
49
+
50
+ ### Novità
51
+
52
+ - ... [`Istruzioni`](url della documentazione relativa alla novità)
53
+
54
+ ### Fix
55
+
56
+ - Rimosso pager-link automatico dal paginatore perché non riconosciuto dal validatore. È ora possibile inserire a mano il data-element pager-link nei blocchi di testo.
57
+
44
58
  ## Versione 10.5.0 (06/12/2023)
45
59
 
46
60
  ### Novità
@@ -87,6 +101,7 @@
87
101
  ### Novità
88
102
 
89
103
  - Aggiunta la possibilità di selezionare la dimensione dell'immagine nel blocco Alert, inoltre è stato aggiornato anche il widget per la selezione del colore di sfondo.
104
+ - Aggiunte le breadcrumbs nella pagina dei risultati della ricerca
90
105
 
91
106
  ### Fix
92
107
 
@@ -3123,6 +3123,11 @@ msgstr ""
3123
3123
  msgid "search_adv_filters"
3124
3124
  msgstr ""
3125
3125
 
3126
+ #: config/italiaConfig
3127
+ # defaultMessage: Ricerca
3128
+ msgid "search_brdc"
3129
+ msgstr ""
3130
+
3126
3131
  #: components/ItaliaTheme/Search/Search
3127
3132
  # defaultMessage: Tipologia
3128
3133
  msgid "search_content_types"
@@ -3108,6 +3108,11 @@ msgstr "Search site"
3108
3108
  msgid "search_adv_filters"
3109
3109
  msgstr "Advanced filters"
3110
3110
 
3111
+ #: config/italiaConfig
3112
+ # defaultMessage: Ricerca
3113
+ msgid "search_brdc"
3114
+ msgstr "Search"
3115
+
3111
3116
  #: components/ItaliaTheme/Search/Search
3112
3117
  # defaultMessage: Tipologia
3113
3118
  msgid "search_content_types"
@@ -3117,6 +3117,11 @@ msgstr "Busca en el sitio"
3117
3117
  msgid "search_adv_filters"
3118
3118
  msgstr "Filtros avanzados"
3119
3119
 
3120
+ #: config/italiaConfig
3121
+ # defaultMessage: Ricerca
3122
+ msgid "search_brdc"
3123
+ msgstr ""
3124
+
3120
3125
  #: components/ItaliaTheme/Search/Search
3121
3126
  # defaultMessage: Tipologia
3122
3127
  msgid "search_content_types"
@@ -3125,6 +3125,11 @@ msgstr "Rechercher sur le site"
3125
3125
  msgid "search_adv_filters"
3126
3126
  msgstr "Filtres avancés"
3127
3127
 
3128
+ #: config/italiaConfig
3129
+ # defaultMessage: Ricerca
3130
+ msgid "search_brdc"
3131
+ msgstr ""
3132
+
3128
3133
  #: components/ItaliaTheme/Search/Search
3129
3134
  # defaultMessage: Tipologia
3130
3135
  msgid "search_content_types"
@@ -152,17 +152,17 @@ msgstr "Date aggiuntive"
152
152
  #: helpers/Translations/searchBlockExtendedTranslations
153
153
  # defaultMessage: Al {end}
154
154
  msgid "DateRangeFacetFilterListEntryAl"
155
- msgstr ""
155
+ msgstr "Al {end}"
156
156
 
157
157
  #: helpers/Translations/searchBlockExtendedTranslations
158
158
  # defaultMessage: Dal {start}
159
159
  msgid "DateRangeFacetFilterListEntryDal"
160
- msgstr ""
160
+ msgstr "Dal {start}"
161
161
 
162
162
  #: helpers/Translations/searchBlockExtendedTranslations
163
163
  # defaultMessage: Dal {start} al {end}
164
164
  msgid "DateRangeFacetFilterListEntryDalAl"
165
- msgstr ""
165
+ msgstr "Dal {start} al {end}"
166
166
 
167
167
  #: components/ItaliaTheme/Blocks/ContactsBlock/Edit
168
168
  #: components/ItaliaTheme/Blocks/NumbersBlock/Edit
@@ -189,7 +189,7 @@ msgstr "Dimensione della mappa"
189
189
  #: components/ItaliaTheme/View/Commons/TrasparenzaFields
190
190
  # defaultMessage: Download
191
191
  msgid "Download"
192
- msgstr ""
192
+ msgstr "Download"
193
193
 
194
194
  #: config/RichTextEditor/Plugins/AnchorPlugin/components/LinkButton/AddLinkForm
195
195
  # defaultMessage: Enter URL or select an item
@@ -268,7 +268,7 @@ msgstr "Identificativo di servizio a solo uso interno, utilizzato per le verific
268
268
  #: components/ItaliaTheme/manage/Widgets/SubFooterConfigurationForm
269
269
  # defaultMessage: ID lighthouse
270
270
  msgid "ID lighthouse"
271
- msgstr ""
271
+ msgstr "ID lighthouse"
272
272
 
273
273
  #: components/ItaliaTheme/Blocks/NumbersBlock/Edit
274
274
  # defaultMessage: Seleziona le icone dalla barra a lato
@@ -283,7 +283,7 @@ msgstr "Immagine"
283
283
  #: components/ItaliaTheme/View/Commons/Events
284
284
  # defaultMessage: Immagine
285
285
  msgid "Immagine"
286
- msgstr ""
286
+ msgstr "Immagine"
287
287
 
288
288
  #: components/ItaliaTheme/Footer/FooterSmall
289
289
  # defaultMessage: Impostazioni cookie
@@ -383,7 +383,7 @@ msgstr "Mostra i filtri per percorso"
383
383
  #: components/ItaliaTheme/Blocks/Calendar/ListingSidebar
384
384
  # defaultMessage: Mostra le immagini di anteprima
385
385
  msgid "Mostra le immagini di anteprima"
386
- msgstr ""
386
+ msgstr "Mostra le immagini di anteprima"
387
387
 
388
388
  #: components/ItaliaTheme/Blocks/Calendar/ListingSidebar
389
389
  #: components/ItaliaTheme/Blocks/HeroImageLeft/HeroSidebar
@@ -501,7 +501,7 @@ msgstr "Ricerca bandi"
501
501
  #: helpers/Translations/searchBlockExtendedTranslations
502
502
  # defaultMessage: Cerca una parola chiave
503
503
  msgid "SearchSearchBlock"
504
- msgstr ""
504
+ msgstr "Cerca una parola chiave"
505
505
 
506
506
  #: helpers/Translations/searchBlockExtendedTranslations
507
507
  # defaultMessage: Search
@@ -878,7 +878,7 @@ msgstr "Usa le frecce Su e Giu per scegliere un'opzione"
878
878
  #: components/SelectInput/SelectInput
879
879
  # defaultMessage: Annulla
880
880
  msgid "ay11_select cancel"
881
- msgstr ""
881
+ msgstr "Annulla"
882
882
 
883
883
  #: components/SelectInput/SelectInput
884
884
  # defaultMessage: deselezionata
@@ -1087,7 +1087,7 @@ msgstr "Precedente"
1087
1087
  #: components/ItaliaTheme/manage/Widgets/CanaleDigitaleWidget
1088
1088
  # defaultMessage: Accedere al servizio
1089
1089
  msgid "canale_digitale_widget_title"
1090
- msgstr ""
1090
+ msgstr "Accedere al servizio"
1091
1091
 
1092
1092
  #: components/ItaliaTheme/Blocks/TextCard/CardWithImage/Sidebar
1093
1093
  # defaultMessage: Seleziona l'immagine da mostrare
@@ -1161,7 +1161,7 @@ msgstr "Circoscrizione"
1161
1161
  #: helpers/Translations/searchBlockExtendedTranslations
1162
1162
  # defaultMessage: Clear all filters
1163
1163
  msgid "clearAllFilters"
1164
- msgstr ""
1164
+ msgstr "Rimuovi tutti i filtri"
1165
1165
 
1166
1166
  #: helpers/Translations/searchBlockExtendedTranslations
1167
1167
  # defaultMessage: Clear {filterName} filter
@@ -1176,7 +1176,7 @@ msgstr "Rimuovi ricerca testuale"
1176
1176
  #: components/Collapse
1177
1177
  # defaultMessage: Chiudi menu
1178
1178
  msgid "close-menu"
1179
- msgstr ""
1179
+ msgstr "Chiudi menu"
1180
1180
 
1181
1181
  #: components/ItaliaTheme/Header/HeaderSearch/SearchModal
1182
1182
  # defaultMessage: Chiudi cerca
@@ -1191,12 +1191,12 @@ msgstr "Codice dell'ente erogatore (ipa)"
1191
1191
  #: components/ItaliaTheme/Blocks/Alert/Sidebar
1192
1192
  # defaultMessage: Rosso
1193
1193
  msgid "color_danger"
1194
- msgstr ""
1194
+ msgstr "Rosso"
1195
1195
 
1196
1196
  #: components/ItaliaTheme/Blocks/Alert/Sidebar
1197
1197
  # defaultMessage: Arancione
1198
1198
  msgid "color_orange"
1199
- msgstr ""
1199
+ msgstr "Arancione"
1200
1200
 
1201
1201
  #: components/ItaliaTheme/Blocks/ContactsBlock/Sidebar
1202
1202
  #: components/ItaliaTheme/Blocks/HighlightedContent/Sidebar
@@ -1212,7 +1212,7 @@ msgstr "Trasparente"
1212
1212
  #: components/ItaliaTheme/Blocks/Alert/Sidebar
1213
1213
  # defaultMessage: Giallo
1214
1214
  msgid "color_warning"
1215
- msgstr ""
1215
+ msgstr "Giallo"
1216
1216
 
1217
1217
  #: components/ItaliaTheme/View/IncaricoView/IncaricoView
1218
1218
  #: components/ItaliaTheme/View/PersonaView/PersonaDocumenti
@@ -1373,7 +1373,7 @@ msgstr "Risultati indagini di customer satisfaction"
1373
1373
  #: components/ItaliaTheme/View/Commons/PageHeader/PageHeaderEventDates
1374
1374
  # defaultMessage: dal {dateStart} fino a conclusione
1375
1375
  msgid "dal {dateStart} fino a conclusione"
1376
- msgstr ""
1376
+ msgstr "dal {dateStart} fino a conclusione"
1377
1377
 
1378
1378
  #: components/ItaliaTheme/View/IncaricoView/IncaricoView
1379
1379
  # defaultMessage: Data conclusione incarico
@@ -1583,7 +1583,7 @@ msgstr "Descrizione"
1583
1583
  #: components/ItaliaTheme/View/BandoView/BandoText
1584
1584
  # defaultMessage: Descrizione
1585
1585
  msgid "descrizione_bando"
1586
- msgstr ""
1586
+ msgstr "Descrizione"
1587
1587
 
1588
1588
  #: components/ItaliaTheme/Header/HeaderSearch/SearchModal
1589
1589
  # defaultMessage: Non cercare nella sezione
@@ -1695,7 +1695,7 @@ msgstr "Fatto"
1695
1695
  #: components/ItaliaTheme/Blocks/Listing/SliderTemplate
1696
1696
  # defaultMessage: Navigazione elementi slider
1697
1697
  msgid "dots"
1698
- msgstr ""
1698
+ msgstr "Navigazione elementi slider"
1699
1699
 
1700
1700
  #: components/ItaliaTheme/View/VenueView/VenueWhere
1701
1701
  # defaultMessage: Indirizzo
@@ -1711,7 +1711,7 @@ msgstr "Scarica"
1711
1711
  #: components/ItaliaTheme/View/Commons/EmbeddedVideo
1712
1712
  # defaultMessage: Download and Play video
1713
1713
  msgid "downloadPlayVideo"
1714
- msgstr ""
1714
+ msgstr "Scarica e riproduci video"
1715
1715
 
1716
1716
  #: components/ItaliaTheme/manage/Widgets/MenuConfigurationForm
1717
1717
  # defaultMessage: Additional classes
@@ -1816,7 +1816,7 @@ msgstr "E-mail"
1816
1816
  #: components/ItaliaTheme/View/Commons/EmbeddedVideo
1817
1817
  # defaultMessage: YouTube Video {id}
1818
1818
  msgid "embedVideo"
1819
- msgstr ""
1819
+ msgstr "YouTube Video {id}"
1820
1820
 
1821
1821
  #: components/ItaliaTheme/Blocks/HighlightedContent/Edit
1822
1822
  # defaultMessage: Please select an item in the sidebar in order to show it here
@@ -1851,7 +1851,7 @@ msgstr "Documenti"
1851
1851
  #: helpers/FormValidation/FormValidationHelpers
1852
1852
  # defaultMessage: La data di fine deve essere successiva alla data di inizio
1853
1853
  msgid "event_end"
1854
- msgstr ""
1854
+ msgstr "La data di fine deve essere successiva alla data di inizio"
1855
1855
 
1856
1856
  #: components/ItaliaTheme/Blocks/EventSearch/Edit
1857
1857
  #: components/ItaliaTheme/Blocks/UOSearch/Edit
@@ -2243,7 +2243,7 @@ msgstr "Collegamento"
2243
2243
  #: components/ItaliaTheme/Header/HeaderCenter
2244
2244
  # defaultMessage: homepage
2245
2245
  msgid "link-subsite-homepage-title"
2246
- msgstr ""
2246
+ msgstr "Home page"
2247
2247
 
2248
2248
  #: components/ItaliaTheme/Blocks/Accordion/Sidebar
2249
2249
  #: components/ItaliaTheme/Blocks/ContactsBlock/Sidebar
@@ -2356,7 +2356,7 @@ msgstr "Accedi con Spid"
2356
2356
  #: components/ItaliaTheme/Header/HeaderCenter
2357
2357
  # defaultMessage: Logo
2358
2358
  msgid "logo-subsite-alt"
2359
- msgstr ""
2359
+ msgstr "Logo"
2360
2360
 
2361
2361
  #: components/ItaliaTheme/View/PuntoDiContattoView/RelatedItemsChipsPDC
2362
2362
  #: components/ItaliaTheme/View/VenueView/VenueLuoghiCorrelati
@@ -2377,7 +2377,7 @@ msgstr "Luogo"
2377
2377
  #: components/ItaliaTheme/Footer/FooterNewsletterSubscribe
2378
2378
  # defaultMessage: mail@example.com
2379
2379
  msgid "mail@example.com"
2380
- msgstr ""
2380
+ msgstr "mail@example.com"
2381
2381
 
2382
2382
  #: components/ItaliaTheme/View/Commons/Actions
2383
2383
  # defaultMessage: Invia
@@ -2624,7 +2624,7 @@ msgstr "Ulteriori informazioni"
2624
2624
  #: config/Blocks/ListingOptions/smallBlockLinksTemplate
2625
2625
  # defaultMessage: Non mostrare l'icona di accessibilità per i link a siti esterni
2626
2626
  msgid "override_links_accessibility_marker"
2627
- msgstr ""
2627
+ msgstr "Non mostrare l'icona di accessibilità per i link a siti esterni"
2628
2628
 
2629
2629
  #: components/ItaliaTheme/View/Commons/TrasparenzaFields
2630
2630
  # defaultMessage: Pagamenti previsti e modalità
@@ -2695,7 +2695,7 @@ msgstr "PlayStore Link"
2695
2695
  #: components/ItaliaTheme/Blocks/Listing/SliderTemplate
2696
2696
  # defaultMessage: Precedente
2697
2697
  msgid "precedente"
2698
- msgstr ""
2698
+ msgstr "Precedente"
2699
2699
 
2700
2700
  #: components/ItaliaTheme/manage/Widgets/IconPreviewWidget
2701
2701
  # defaultMessage: Anteprima dell'icona scelta
@@ -3108,6 +3108,11 @@ msgstr "Cerca nel sito"
3108
3108
  msgid "search_adv_filters"
3109
3109
  msgstr "Filtri avanzati"
3110
3110
 
3111
+ #: config/italiaConfig
3112
+ # defaultMessage: Ricerca
3113
+ msgid "search_brdc"
3114
+ msgstr ""
3115
+
3111
3116
  #: components/ItaliaTheme/Search/Search
3112
3117
  # defaultMessage: Tipologia
3113
3118
  msgid "search_content_types"
@@ -3146,7 +3151,7 @@ msgstr "Data inizio"
3146
3151
  #: helpers/Translations/searchBlockExtendedTranslations
3147
3152
  # defaultMessage: Ricerca per: <em>{searchedtext}</em>.
3148
3153
  msgid "searchedFor"
3149
- msgstr ""
3154
+ msgstr "Ricerca per: <em>{searchedtext}</em>."
3150
3155
 
3151
3156
  #: components/ItaliaTheme/manage/Widgets/SearchSectionsConfigurationWidget/SearchSectionsConfigurationWidget
3152
3157
  # defaultMessage: Add path
@@ -3504,7 +3509,7 @@ msgstr "Qui puoi selezionare, per il template 'Card semplice', un aspetto divers
3504
3509
  #: config/Blocks/ListingOptions/simpleCardTemplate
3505
3510
  # defaultMessage: Un elemento per riga
3506
3511
  msgid "simplecard_listing_appearance_oneforrow"
3507
- msgstr ""
3512
+ msgstr "Un elemento per riga"
3508
3513
 
3509
3514
  #: components/ItaliaTheme/View/PersonaView/PersonaDocumenti
3510
3515
  # defaultMessage: Situazione patrimoniale
@@ -3534,7 +3539,7 @@ msgstr "Skype"
3534
3539
  #: components/ItaliaTheme/Blocks/Listing/SliderTemplate
3535
3540
  # defaultMessage: Vai alla slide {index}
3536
3541
  msgid "slideDot"
3537
- msgstr ""
3542
+ msgstr "Vai alla slide {index}"
3538
3543
 
3539
3544
  #: config/Blocks/ListingOptions/sliderTemplate
3540
3545
  # defaultMessage: N° slide da mostrare
@@ -3679,7 +3684,7 @@ msgstr "Tags"
3679
3684
  #: components/ItaliaTheme/Blocks/Listing/SliderTemplate
3680
3685
  # defaultMessage: Successivo
3681
3686
  msgid "successivo"
3682
- msgstr ""
3687
+ msgstr "Successivo"
3683
3688
 
3684
3689
  #: components/ItaliaTheme/View/EventoView/EventoContattiSupportatoDa
3685
3690
  # defaultMessage: Con il supporto di
@@ -3728,7 +3733,7 @@ msgstr "Termini del procedimento"
3728
3733
  #: config/RichTextEditor/ToolbarButtons/TextSizeButton
3729
3734
  # defaultMessage: Dimensione del testo
3730
3735
  msgid "text-size-button"
3731
- msgstr ""
3736
+ msgstr "Dimensione del testo"
3732
3737
 
3733
3738
  #: components/ItaliaTheme/Blocks/Common/SearchFilters/TextFilter
3734
3739
  # defaultMessage: Inserisci un valore
@@ -3738,7 +3743,7 @@ msgstr "Inserisci un valore"
3738
3743
  #: helpers/FormValidation/DataGridFormValidationHelpers
3739
3744
  # defaultMessage: Impossibile aggiungere un elemento alla timeline senza aver compilato il campo "Titolo"
3740
3745
  msgid "timeline_tempi_scadenze_validation_error"
3741
- msgstr ""
3746
+ msgstr "Impossibile aggiungere un elemento alla timeline senza aver compilato il campo "Titolo""
3742
3747
 
3743
3748
  #: components/ItaliaTheme/View/BandoView/BandoTextTipologia
3744
3749
  # defaultMessage: Tipologia del bando
package/locales/volto.pot CHANGED
@@ -3110,6 +3110,11 @@ msgstr ""
3110
3110
  msgid "search_adv_filters"
3111
3111
  msgstr ""
3112
3112
 
3113
+ #: config/italiaConfig
3114
+ # defaultMessage: Ricerca
3115
+ msgid "search_brdc"
3116
+ msgstr ""
3117
+
3113
3118
  #: components/ItaliaTheme/Search/Search
3114
3119
  # defaultMessage: Tipologia
3115
3120
  msgid "search_content_types"
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "design-comuni-plone-theme",
3
3
  "description": "Volto Theme for Italia design guidelines",
4
4
  "license": "GPL-v3",
5
- "version": "10.5.0",
5
+ "version": "10.6.0",
6
6
  "main": "src/index.js",
7
7
  "keywords": [
8
8
  "volto-addon",
@@ -141,7 +141,7 @@
141
141
  "typeface-roboto-mono": "0.0.75",
142
142
  "typeface-titillium-web": "0.0.72",
143
143
  "volto-blocks-widget": "3.1.0",
144
- "volto-data-grid-widget": "2.2.3",
144
+ "volto-data-grid-widget": "2.3.0",
145
145
  "volto-dropdownmenu": "4.1.0",
146
146
  "volto-editablefooter": "5.0.1",
147
147
  "volto-feedback": "0.1.5",
package/publiccode.yml CHANGED
@@ -227,9 +227,9 @@ maintenance:
227
227
  name: io-Comune - Il sito AgID per Comuni ed Enti Pubblici
228
228
  platforms:
229
229
  - web
230
- releaseDate: '2023-12-06'
230
+ releaseDate: '2023-12-12'
231
231
  softwareType: standalone/web
232
- softwareVersion: 10.5.0
232
+ softwareVersion: 10.6.0
233
233
  url: 'https://github.com/italia/design-comuni-plone-theme'
234
234
  usedBy:
235
235
  - ASP Comuni Modenesi Area Nord
@@ -246,8 +246,11 @@ usedBy:
246
246
  - Comune di Bibbiano
247
247
  - Comune di Camposanto
248
248
  - Comune di Cantagallo
249
+ - Comune di Cavezzo
249
250
  - Comune di Cavriago
251
+ - Comune di Concordia sul Secchia
250
252
  - Comune di Gattatico
253
+ - Comune di Finale Emilia
251
254
  - Comune di Imola
252
255
  - Comune di Medolla
253
256
  - Comune di Mirandola
@@ -257,9 +260,11 @@ usedBy:
257
260
  - Comune di Parma
258
261
  - Comune di Piacenza
259
262
  - Comune di Reggio Emilia
263
+ - Comune di San Felice sul Panaro
260
264
  - Comune di San Lazzaro di Savena
261
265
  - Comune di San Polo d'Enza
262
266
  - Comune di San Possidonio
267
+ - Comune di San Prospero
263
268
  - Comune di Santilario d'Enza
264
269
  - Comune di Vaiano
265
270
  - Comune di Vernio
@@ -7,13 +7,17 @@ import React, { useEffect } from 'react';
7
7
  import PropTypes from 'prop-types';
8
8
  import { useDispatch, useSelector } from 'react-redux';
9
9
  import { defineMessages, useIntl } from 'react-intl';
10
- import { isEqual } from 'lodash';
10
+ import { matchPath } from 'react-router';
11
+
12
+ import { useLocation } from 'react-router-dom';
13
+ import { isEqual, isEmpty } from 'lodash';
11
14
  import { getBreadcrumbs } from '@plone/volto/actions';
12
15
  import { getBaseUrl, flattenToAppURL } from '@plone/volto/helpers';
13
16
 
14
17
  import { UniversalLink } from '@plone/volto/components';
15
18
  import { Row, Col, BreadcrumbItem } from 'design-react-kit';
16
19
  import GoogleBreadcrumbs from 'design-comuni-plone-theme/components/ItaliaTheme/Breadcrumbs/GoogleBreadcrumbs';
20
+ import config from '@plone/volto/registry';
17
21
 
18
22
  const messages = defineMessages({
19
23
  home: {
@@ -25,17 +29,58 @@ const messages = defineMessages({
25
29
  const Breadcrumbs = ({ pathname }) => {
26
30
  const intl = useIntl();
27
31
  const dispatch = useDispatch();
32
+ const location = useLocation();
28
33
 
29
- let items = useSelector((state) => state.breadcrumbs.items, isEqual);
34
+ let items =
35
+ useSelector((state) => {
36
+ return state.breadcrumbs.items;
37
+ }, isEqual) || [];
30
38
  const subsite = useSelector((state) => state.subsite?.data);
39
+ const bcLoaded = useSelector((state) => {
40
+ return state.breadcrumbs.loaded;
41
+ });
42
+
43
+ // Funzione per fare match di routes
44
+ const getMatchingRoute = (p) =>
45
+ matchPath(location.pathname, p) !== null ||
46
+ matchPath(location.pathname, p.replace('**/', '')) !== null;
47
+
48
+ // Funzione per riconoscere se siamo in una route statica
49
+ const getCurrentPathFromAddonRoutes = () =>
50
+ config.addonRoutes.find((route) => {
51
+ const paths = typeof route.path === 'string' ? [route.path] : route.path;
52
+ return paths.find(getMatchingRoute);
53
+ }) || {};
54
+
55
+ // Gestione delle rotte statiche. Se definito nel config della rotta un breadcrumbs_title, lo aggiungo alle breadcrumbs
56
+ const route = getCurrentPathFromAddonRoutes();
57
+ if (
58
+ (!(items === null || isEmpty(route)) &&
59
+ items.length > 0 &&
60
+ route.breadcrumbs_title &&
61
+ items[items.length - 1].url !== location.pathname) ||
62
+ (items.length === 0 && bcLoaded && route.breadcrumbs_title)
63
+ ) {
64
+ items.push({
65
+ url: location.pathname,
66
+ title: intl.formatMessage(route.breadcrumbs_title),
67
+ });
68
+ }
69
+ /** fine della gestione delle rotte statiche */
31
70
 
32
71
  useEffect(() => {
33
- dispatch(getBreadcrumbs(getBaseUrl(pathname)));
72
+ let actualPathForBreadcrumbs = pathname;
73
+ const { path, buildFullNavTree } = getCurrentPathFromAddonRoutes();
74
+ if (buildFullNavTree) {
75
+ const replacedPath = path.replace('**/', '');
76
+ actualPathForBreadcrumbs = pathname.replace(replacedPath, '');
77
+ }
78
+ dispatch(getBreadcrumbs(getBaseUrl(actualPathForBreadcrumbs)));
34
79
  // eslint-disable-next-line react-hooks/exhaustive-deps
35
80
  }, [pathname]);
36
81
 
82
+ // Se siamo nella root di un sottosito, non mostriamo le breadcrumbs. Serve anche per nasconderle dalla pagina dei risultati di ricerca quando si fa la ricerca in un sottosito
37
83
  if (subsite) {
38
- //se siamo nella root di un sottosito, non mostriamo le breadcrumbs. Serve anche per nasconderle dalla pagina dei risultati di ricerca quando si fa la ricerca in un sottosito
39
84
  if (
40
85
  items.length === 1 &&
41
86
  items[0].url === flattenToAppURL(subsite['@id'])
@@ -43,9 +43,6 @@ class Pagination extends Component {
43
43
  /** Total number of pages. */
44
44
  totalPages: PropTypes.oneOfType([PropTypes.number, PropTypes.string])
45
45
  .isRequired,
46
-
47
- /** Lighthouse ID to set Agid data-element on pager link for CT Servizio*/
48
- isServiceLink: PropTypes.bool,
49
46
  };
50
47
 
51
48
  static defaultProps = {
@@ -72,13 +69,8 @@ class Pagination extends Component {
72
69
  };
73
70
 
74
71
  render() {
75
- const {
76
- boundaryRange,
77
- ellipsisItem,
78
- siblingRange,
79
- totalPages,
80
- isServiceLink,
81
- } = this.props;
72
+ const { boundaryRange, ellipsisItem, siblingRange, totalPages } =
73
+ this.props;
82
74
  const { activePage } = this.state;
83
75
 
84
76
  const items = createPaginationItems({
@@ -104,7 +96,6 @@ class Pagination extends Component {
104
96
  onClick={this.handleItemClick}
105
97
  type={type}
106
98
  ellipsisItem={ellipsisItem}
107
- isServiceLink={isServiceLink}
108
99
  >
109
100
  {value}
110
101
  </PaginationItem>
@@ -46,9 +46,6 @@ class PaginationItem extends Component {
46
46
  'nextItem',
47
47
  'lastItem',
48
48
  ]),
49
-
50
- /** Lighthouse ID to set Agid data-element on pager link for CT Servizio*/
51
- isServiceLink: PropTypes.bool,
52
49
  };
53
50
 
54
51
  handleClick = (e) => {
@@ -62,8 +59,7 @@ class PaginationItem extends Component {
62
59
  };
63
60
 
64
61
  render() {
65
- const { active, type, children, intl, ellipsisItem, isServiceLink } =
66
- this.props;
62
+ const { active, type, children, intl, ellipsisItem } = this.props;
67
63
  const disabled = this.props.disabled || type === 'ellipsisItem';
68
64
  return (
69
65
  <PagerItem disabled={disabled}>
@@ -72,9 +68,6 @@ class PaginationItem extends Component {
72
68
  onClick={this.handleClick}
73
69
  onKeyDown={this.handleKeyDown}
74
70
  aria-current={active ? 'page' : null}
75
- data-element={
76
- isServiceLink && type !== 'prevItem' ? 'pager-link' : null
77
- }
78
71
  >
79
72
  {type === 'prevItem' && (
80
73
  <>
@@ -358,7 +358,7 @@ const Search = () => {
358
358
  <Row>
359
359
  <Col>
360
360
  <Row>
361
- <Col className="py-3 py-lg-5">
361
+ <Col className="pb-3 pb-lg-5">
362
362
  <h1>{intl.formatMessage(messages.searchResults)}</h1>
363
363
  </Col>
364
364
  </Row>
@@ -44,7 +44,7 @@ const ServizioMetatag = ({ content }) => {
44
44
  if (richTextHasContent(content.a_chi_si_rivolge)) {
45
45
  schemaOrg.audience = {
46
46
  '@type': 'Audience',
47
- name: fieldDataToPlainText(content.a_chi_si_rivolge),
47
+ audienceType: fieldDataToPlainText(content.a_chi_si_rivolge),
48
48
  };
49
49
  }
50
50
 
@@ -52,8 +52,6 @@ const ServizioMetatag = ({ content }) => {
52
52
  schemaOrg.availableChannel.serviceUrl = toPublicURL(
53
53
  content.canale_digitale_link,
54
54
  );
55
- } else {
56
- schemaOrg.availableChannel.serviceUrl = '';
57
55
  }
58
56
 
59
57
  if (content.ufficio_responsabile[0]) {
@@ -165,7 +165,6 @@ export const addLighthouseField = (schema, intl, position = 0) => {
165
165
  ['service-category-link', 'service-category-link'],
166
166
  ['topic-element', 'topic-element'],
167
167
  ['service-link', 'service-link'],
168
- ['administration-element', 'administration-element'],
169
168
  ['management-category-link', 'management-category-link'],
170
169
  ['news-category-link', 'news-category-link'],
171
170
  ['custom-category-link', 'custom-category-link'],
@@ -87,6 +87,7 @@ class AddLinkForm extends Component {
87
87
  ['accessibility-link', 'accessibility-link'],
88
88
  ['privacy-policy-link', 'privacy-policy-link'],
89
89
  ['legal-notes', 'legal-notes'],
90
+ ['pager-link', 'pager-link'],
90
91
  ];
91
92
  }
92
93
 
@@ -6,7 +6,7 @@ import contentSVG from '@plone/volto/icons/content.svg';
6
6
  import bookSVG from '@plone/volto/icons/book.svg';
7
7
  import shareSVG from '@plone/volto/icons/share.svg';
8
8
  import searchIcon from 'bootstrap-italia/src/svg/it-search.svg';
9
-
9
+ import { defineMessages } from 'react-intl';
10
10
  import { Search } from '@plone/volto/components';
11
11
 
12
12
  import {
@@ -69,6 +69,13 @@ const ReleaseLog = loadable(
69
69
  () => import('design-comuni-plone-theme/components/ReleaseLog/ReleaseLog'),
70
70
  );
71
71
 
72
+ const messages = defineMessages({
73
+ search_brdc: {
74
+ id: 'search_brdc',
75
+ defaultMessage: 'Ricerca',
76
+ },
77
+ });
78
+
72
79
  export default function applyConfig(voltoConfig) {
73
80
  let config = applyRichTextConfig(voltoConfig);
74
81
 
@@ -496,6 +503,7 @@ export default function applyConfig(voltoConfig) {
496
503
  {
497
504
  path: '/**/search',
498
505
  component: Search,
506
+ breadcrumbs_title: messages.search_brdc,
499
507
  },
500
508
  {
501
509
  path: ['/login', '/**/login'],
@@ -93,13 +93,6 @@ const ListingBody = React.memo(
93
93
  // Also need to purge title from searchblock schema, it's the name of the listing template used
94
94
  const listingBodyProps =
95
95
  variation?.['@type'] !== 'search' ? data : { ...variation, title: '' };
96
-
97
- // Need to know if data-element is "service-link"
98
- // to add data-element="pager-link" to pagination links
99
- const isServiceLink =
100
- data?.id_lighthouse === 'service-link' ||
101
- variation?.id_lighthouse === 'service-link';
102
-
103
96
  return (
104
97
  <div className="public-ui">
105
98
  {loadingQuery && (
@@ -130,7 +123,6 @@ const ListingBody = React.memo(
130
123
  activePage={currentPage}
131
124
  totalPages={totalPages}
132
125
  onPageChange={onPaginationChange}
133
- isServiceLink={isServiceLink}
134
126
  />
135
127
  </div>
136
128
  )}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Breadcrumbs reducer.
3
+ * @module reducers/breadcrumbs/breadcrumbs
4
+ */
5
+
6
+ import { map } from 'lodash';
7
+ import {
8
+ flattenToAppURL,
9
+ getBaseUrl,
10
+ hasApiExpander,
11
+ } from '@plone/volto/helpers';
12
+
13
+ import {
14
+ GET_BREADCRUMBS,
15
+ GET_CONTENT,
16
+ } from '@plone/volto/constants/ActionTypes';
17
+
18
+ const initialState = {
19
+ error: null,
20
+ items: [],
21
+ root: null,
22
+ loaded: false,
23
+ loading: false,
24
+ };
25
+
26
+ /**
27
+ * Breadcrumbs reducer.
28
+ * @function breadcrumbs
29
+ * @param {Object} state Current state.
30
+ * @param {Object} action Action to be handled.
31
+ * @returns {Object} New state.
32
+ */
33
+ export function breadcrumbs(state = initialState, action = {}) {
34
+ let hasExpander;
35
+ switch (action.type) {
36
+ case `${GET_BREADCRUMBS}_PENDING`:
37
+ return {
38
+ ...state,
39
+ error: null,
40
+ loaded: false,
41
+ loading: true,
42
+ };
43
+ case `${GET_CONTENT}_SUCCESS`:
44
+ hasExpander = hasApiExpander(
45
+ 'breadcrumbs',
46
+ getBaseUrl(flattenToAppURL(action.result['@id'])),
47
+ );
48
+ if (hasExpander && !action.subrequest) {
49
+ return {
50
+ ...state,
51
+ error: null,
52
+ items: map(
53
+ action.result['@components'].breadcrumbs.items,
54
+ (item) => ({
55
+ title: item.title,
56
+ url: flattenToAppURL(item['@id']),
57
+ }),
58
+ ),
59
+ root: flattenToAppURL(action.result['@components'].breadcrumbs.root),
60
+ loaded: true,
61
+ loading: false,
62
+ };
63
+ }
64
+ return state;
65
+ case `${GET_BREADCRUMBS}_SUCCESS`:
66
+ return {
67
+ ...state,
68
+ error: null,
69
+ items: map(action.result.items, (item) => ({
70
+ title: item.title,
71
+ url: flattenToAppURL(item['@id']),
72
+ })),
73
+ root: flattenToAppURL(action.result.root),
74
+ loaded: true,
75
+ loading: false,
76
+ };
77
+
78
+ case `${GET_BREADCRUMBS}_FAIL`:
79
+ return {
80
+ ...state,
81
+ error: action.error,
82
+ items: [],
83
+ loaded: false,
84
+ loading: false,
85
+ };
86
+ default:
87
+ return state;
88
+ }
89
+ }
@@ -12,6 +12,7 @@ import { dettagliProcedimento } from './dettagliProcedimento';
12
12
  import { modulisticaItems } from './modulisticaItems';
13
13
  import { originalQueryReducer } from './originalQueryReducer';
14
14
  import { searchBandiFiltersReducer } from './searchBandiFiltersReducer';
15
+ import { breadcrumbs } from './breadcrumbs';
15
16
 
16
17
  /**
17
18
  * Root reducer.
@@ -30,6 +31,7 @@ const reducers = {
30
31
  modulisticaItems,
31
32
  originalQuery: originalQueryReducer,
32
33
  searchBandiFilters: searchBandiFiltersReducer,
34
+ breadcrumbs: breadcrumbs,
33
35
  };
34
36
 
35
37
  export default reducers;
@@ -32,21 +32,10 @@
32
32
  }
33
33
 
34
34
  .row {
35
- position: relative;
36
- flex-direction: row;
37
- flex-wrap: wrap;
38
-
39
35
  .column.field-column {
40
36
  width: unset !important ;
41
37
  flex-basis: 45%;
42
-
43
- &:not(:nth-last-child(2)) {
44
- flex-grow: 0;
45
- }
46
-
47
- &:nth-child(2n) {
48
- flex-grow: 0;
49
- }
38
+ flex-grow: 0;
50
39
 
51
40
  .ui.input {
52
41
  width: 100% !important;