io-sanita-theme 2.25.1 → 2.27.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 +27 -0
- package/RELEASE.md +13 -1
- package/locales/de/LC_MESSAGES/volto.po +10 -5
- package/locales/en/LC_MESSAGES/volto.po +10 -5
- package/locales/es/LC_MESSAGES/volto.po +10 -5
- package/locales/fr/LC_MESSAGES/volto.po +10 -5
- package/locales/it/LC_MESSAGES/volto.po +10 -5
- package/locales/volto.pot +11 -6
- package/package.json +1 -1
- package/src/components/View/AggregationPage/AggregationPage.jsx +2 -0
- package/src/components/View/Bando/BandoView.jsx +2 -0
- package/src/components/View/CartellaModulistica/CartellaModulisticaView.jsx +8 -1
- package/src/components/View/ComeFarePer/ComeFarePerView.jsx +2 -0
- package/src/components/View/Documento/DocumentoView.jsx +2 -0
- package/src/components/View/Evento/EventoDove.jsx +6 -8
- package/src/components/View/Evento/EventoView.jsx +2 -0
- package/src/components/View/FAQ/Faq/FaqView.jsx +2 -0
- package/src/components/View/FAQ/FaqFolder/FaqFolderView.jsx +3 -1
- package/src/components/View/Farmacia/FarmaciaDove.jsx +3 -102
- package/src/components/View/Farmacia/FarmaciaView.jsx +2 -2
- package/src/components/View/Modulo/ModuloView.jsx +3 -0
- package/src/components/View/NewsItem/NewsItemView.jsx +2 -0
- package/src/components/View/Page/PageView.jsx +2 -1
- package/src/components/View/Persona/PersonaView.jsx +2 -0
- package/src/components/View/PuntoDiContatto/PuntoDiContattoView.jsx +2 -0
- package/src/components/View/Servizio/ServizioView.jsx +2 -0
- package/src/components/View/Struttura/StrutturaContatti.jsx +16 -5
- package/src/components/View/Struttura/StrutturaDove.jsx +4 -4
- package/src/components/View/Struttura/StrutturaResponsabile.jsx +18 -5
- package/src/components/View/Struttura/StrutturaView.jsx +2 -0
- package/src/components/View/UOView/UODove.jsx +4 -4
- package/src/components/View/UOView/UOView.jsx +2 -0
- package/src/components/View/commons/Locations/Locations.jsx +6 -6
- package/src/components/View/commons/RelatedItemInEvidence/ItemInEvidence.jsx +56 -0
- package/src/components/View/commons/RelatedItemInEvidence/RelatedItemInEvidence.jsx +54 -0
- package/src/components/View/commons/index.js +5 -0
- package/src/helpers/Address/Address.jsx +8 -1
- package/src/helpers/Item/item.js +2 -0
- package/src/stories/Cards/mock.js +1 -1
- package/src/theme/io-sanita/components/_relatedItemInEvidence.scss +3 -0
- package/src/theme/main.scss +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,32 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [2.27.0](https://github.com/RedTurtle/io-sanita-theme/compare/2.26.0...2.27.0) (2026-04-29)
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
* rimosso circoscrizione (non usato), aggiunto distretto ([#136](https://github.com/RedTurtle/io-sanita-theme/issues/136)) ([1cc9a79](https://github.com/RedTurtle/io-sanita-theme/commit/1cc9a7957b4a1b6ccc6c7677081fd6a1ebc1aedd))
|
|
8
|
+
|
|
9
|
+
### Maintenance
|
|
10
|
+
|
|
11
|
+
* locales ([2ca5e63](https://github.com/RedTurtle/io-sanita-theme/commit/2ca5e639814709a0bdfcb5ee512e06c391cd8ee8))
|
|
12
|
+
* typo ([6d0e641](https://github.com/RedTurtle/io-sanita-theme/commit/6d0e641b0a1b28c254d237bdc3abef79cc4a33cb))
|
|
13
|
+
|
|
14
|
+
## [2.26.0](https://github.com/RedTurtle/io-sanita-theme/compare/2.25.1...2.26.0) (2026-04-22)
|
|
15
|
+
|
|
16
|
+
### Features
|
|
17
|
+
|
|
18
|
+
* struttura ct altenative text fields ([#134](https://github.com/RedTurtle/io-sanita-theme/issues/134)) ([3018de8](https://github.com/RedTurtle/io-sanita-theme/commit/3018de8fd18fa8b94a7b5f47dcfe69698fb318ed))
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
* loop request in cartella modulistica view ([#133](https://github.com/RedTurtle/io-sanita-theme/issues/133)) ([8305465](https://github.com/RedTurtle/io-sanita-theme/commit/830546574623fc41e2a29095de5c1b999d392a17))
|
|
23
|
+
* show related content in evidence in ct views ([#132](https://github.com/RedTurtle/io-sanita-theme/issues/132)) ([f990f59](https://github.com/RedTurtle/io-sanita-theme/commit/f990f595182c60f8a5137c9e8f848318195893f2))
|
|
24
|
+
|
|
25
|
+
### Maintenance
|
|
26
|
+
|
|
27
|
+
* i18n ([d64f454](https://github.com/RedTurtle/io-sanita-theme/commit/d64f4547124576ec7be26ad791aad37013968739))
|
|
28
|
+
* releaselog ([861ee72](https://github.com/RedTurtle/io-sanita-theme/commit/861ee72b55d6e0568655d962f7de35b2b1ab1290))
|
|
29
|
+
|
|
3
30
|
## [2.25.1](https://github.com/RedTurtle/io-sanita-theme/compare/2.25.0...2.25.1) (2026-04-21)
|
|
4
31
|
|
|
5
32
|
### Bug Fixes
|
package/RELEASE.md
CHANGED
|
@@ -41,6 +41,19 @@
|
|
|
41
41
|
- ...
|
|
42
42
|
-->
|
|
43
43
|
|
|
44
|
+
## Versione 2.26.1 (29/04/2026)
|
|
45
|
+
|
|
46
|
+
### Novità
|
|
47
|
+
|
|
48
|
+
- Aggiunto distretto (opzionale) tra i campi degli indirizzi.
|
|
49
|
+
|
|
50
|
+
## Versione 2.26.0 (22/04/2026)
|
|
51
|
+
|
|
52
|
+
### Fix
|
|
53
|
+
|
|
54
|
+
- Aggiunta la sezione Documenti correlati in ComeFarePer CT
|
|
55
|
+
- Mostrare contenuto correlato in evidenza nella Pagina
|
|
56
|
+
|
|
44
57
|
## Versione 2.25.0 (21/04/2026)
|
|
45
58
|
|
|
46
59
|
### Fix
|
|
@@ -53,7 +66,6 @@
|
|
|
53
66
|
- Mostrare il testo della descrizione del Punto di contatto all'interno della card Contatti
|
|
54
67
|
- Modifica icona Struttura in Folder Content
|
|
55
68
|
- Sistemata la visualizzazione dell'etichetta "Programmato" accanto al titolo dei contenuti in Folder Content: ora viene mostrata come badge ben distinguibile dal titolo.
|
|
56
|
-
- Aggiunta la sezione Documenti correlati in ComeFarePer CT
|
|
57
69
|
|
|
58
70
|
## Versione 2.24.0 (10/04/2026)
|
|
59
71
|
|
|
@@ -1892,6 +1892,11 @@ msgstr ""
|
|
|
1892
1892
|
msgid "expire"
|
|
1893
1893
|
msgstr ""
|
|
1894
1894
|
|
|
1895
|
+
#. Default: "Esplora"
|
|
1896
|
+
#: components/View/commons/RelatedItemInEvidence/ItemInEvidence
|
|
1897
|
+
msgid "explore"
|
|
1898
|
+
msgstr ""
|
|
1899
|
+
|
|
1895
1900
|
#. Default: "Inserisci una parola chiave per trovare una risposta"
|
|
1896
1901
|
#: components/View/FAQ/FaqFolder/FaqFolderView
|
|
1897
1902
|
msgid "faq_search"
|
|
@@ -1907,11 +1912,6 @@ msgstr ""
|
|
|
1907
1912
|
msgid "farmacia_area_territoriale"
|
|
1908
1913
|
msgstr ""
|
|
1909
1914
|
|
|
1910
|
-
#. Default: "Circoscrizione"
|
|
1911
|
-
#: components/View/Farmacia/FarmaciaDove
|
|
1912
|
-
msgid "farmacia_circoscrizione"
|
|
1913
|
-
msgstr ""
|
|
1914
|
-
|
|
1915
1915
|
#. Default: "Comune"
|
|
1916
1916
|
#: components/View/Farmacia/FarmaciaDove
|
|
1917
1917
|
msgid "farmacia_comune"
|
|
@@ -2092,6 +2092,11 @@ msgstr ""
|
|
|
2092
2092
|
msgid "icons_linkMoreTitle"
|
|
2093
2093
|
msgstr ""
|
|
2094
2094
|
|
|
2095
|
+
#. Default: "Contenuti in evidenza"
|
|
2096
|
+
#: components/View/commons/RelatedItemInEvidence/RelatedItemInEvidence
|
|
2097
|
+
msgid "inEvidenceItems"
|
|
2098
|
+
msgstr ""
|
|
2099
|
+
|
|
2095
2100
|
#. Default: "Indice della pagina"
|
|
2096
2101
|
#: components/View/commons/SideMenu/SideMenu
|
|
2097
2102
|
msgid "index"
|
|
@@ -1887,6 +1887,11 @@ msgstr "Other informations"
|
|
|
1887
1887
|
msgid "expire"
|
|
1888
1888
|
msgstr "Expire"
|
|
1889
1889
|
|
|
1890
|
+
#. Default: "Esplora"
|
|
1891
|
+
#: components/View/commons/RelatedItemInEvidence/ItemInEvidence
|
|
1892
|
+
msgid "explore"
|
|
1893
|
+
msgstr ""
|
|
1894
|
+
|
|
1890
1895
|
#. Default: "Inserisci una parola chiave per trovare una risposta"
|
|
1891
1896
|
#: components/View/FAQ/FaqFolder/FaqFolderView
|
|
1892
1897
|
msgid "faq_search"
|
|
@@ -1902,11 +1907,6 @@ msgstr "Search results for FAQ"
|
|
|
1902
1907
|
msgid "farmacia_area_territoriale"
|
|
1903
1908
|
msgstr "Territorial area"
|
|
1904
1909
|
|
|
1905
|
-
#. Default: "Circoscrizione"
|
|
1906
|
-
#: components/View/Farmacia/FarmaciaDove
|
|
1907
|
-
msgid "farmacia_circoscrizione"
|
|
1908
|
-
msgstr "Constituency"
|
|
1909
|
-
|
|
1910
1910
|
#. Default: "Comune"
|
|
1911
1911
|
#: components/View/Farmacia/FarmaciaDove
|
|
1912
1912
|
msgid "farmacia_comune"
|
|
@@ -2087,6 +2087,11 @@ msgstr ""
|
|
|
2087
2087
|
msgid "icons_linkMoreTitle"
|
|
2088
2088
|
msgstr ""
|
|
2089
2089
|
|
|
2090
|
+
#. Default: "Contenuti in evidenza"
|
|
2091
|
+
#: components/View/commons/RelatedItemInEvidence/RelatedItemInEvidence
|
|
2092
|
+
msgid "inEvidenceItems"
|
|
2093
|
+
msgstr ""
|
|
2094
|
+
|
|
2090
2095
|
#. Default: "Indice della pagina"
|
|
2091
2096
|
#: components/View/commons/SideMenu/SideMenu
|
|
2092
2097
|
msgid "index"
|
|
@@ -1894,6 +1894,11 @@ msgstr ""
|
|
|
1894
1894
|
msgid "expire"
|
|
1895
1895
|
msgstr "Expirar"
|
|
1896
1896
|
|
|
1897
|
+
#. Default: "Esplora"
|
|
1898
|
+
#: components/View/commons/RelatedItemInEvidence/ItemInEvidence
|
|
1899
|
+
msgid "explore"
|
|
1900
|
+
msgstr ""
|
|
1901
|
+
|
|
1897
1902
|
#. Default: "Inserisci una parola chiave per trovare una risposta"
|
|
1898
1903
|
#: components/View/FAQ/FaqFolder/FaqFolderView
|
|
1899
1904
|
msgid "faq_search"
|
|
@@ -1909,11 +1914,6 @@ msgstr ""
|
|
|
1909
1914
|
msgid "farmacia_area_territoriale"
|
|
1910
1915
|
msgstr ""
|
|
1911
1916
|
|
|
1912
|
-
#. Default: "Circoscrizione"
|
|
1913
|
-
#: components/View/Farmacia/FarmaciaDove
|
|
1914
|
-
msgid "farmacia_circoscrizione"
|
|
1915
|
-
msgstr ""
|
|
1916
|
-
|
|
1917
1917
|
#. Default: "Comune"
|
|
1918
1918
|
#: components/View/Farmacia/FarmaciaDove
|
|
1919
1919
|
msgid "farmacia_comune"
|
|
@@ -2094,6 +2094,11 @@ msgstr ""
|
|
|
2094
2094
|
msgid "icons_linkMoreTitle"
|
|
2095
2095
|
msgstr ""
|
|
2096
2096
|
|
|
2097
|
+
#. Default: "Contenuti in evidenza"
|
|
2098
|
+
#: components/View/commons/RelatedItemInEvidence/RelatedItemInEvidence
|
|
2099
|
+
msgid "inEvidenceItems"
|
|
2100
|
+
msgstr ""
|
|
2101
|
+
|
|
2097
2102
|
#. Default: "Indice della pagina"
|
|
2098
2103
|
#: components/View/commons/SideMenu/SideMenu
|
|
2099
2104
|
msgid "index"
|
|
@@ -1894,6 +1894,11 @@ msgstr ""
|
|
|
1894
1894
|
msgid "expire"
|
|
1895
1895
|
msgstr "Expiration"
|
|
1896
1896
|
|
|
1897
|
+
#. Default: "Esplora"
|
|
1898
|
+
#: components/View/commons/RelatedItemInEvidence/ItemInEvidence
|
|
1899
|
+
msgid "explore"
|
|
1900
|
+
msgstr ""
|
|
1901
|
+
|
|
1897
1902
|
#. Default: "Inserisci una parola chiave per trovare una risposta"
|
|
1898
1903
|
#: components/View/FAQ/FaqFolder/FaqFolderView
|
|
1899
1904
|
msgid "faq_search"
|
|
@@ -1909,11 +1914,6 @@ msgstr ""
|
|
|
1909
1914
|
msgid "farmacia_area_territoriale"
|
|
1910
1915
|
msgstr ""
|
|
1911
1916
|
|
|
1912
|
-
#. Default: "Circoscrizione"
|
|
1913
|
-
#: components/View/Farmacia/FarmaciaDove
|
|
1914
|
-
msgid "farmacia_circoscrizione"
|
|
1915
|
-
msgstr ""
|
|
1916
|
-
|
|
1917
1917
|
#. Default: "Comune"
|
|
1918
1918
|
#: components/View/Farmacia/FarmaciaDove
|
|
1919
1919
|
msgid "farmacia_comune"
|
|
@@ -2094,6 +2094,11 @@ msgstr ""
|
|
|
2094
2094
|
msgid "icons_linkMoreTitle"
|
|
2095
2095
|
msgstr ""
|
|
2096
2096
|
|
|
2097
|
+
#. Default: "Contenuti in evidenza"
|
|
2098
|
+
#: components/View/commons/RelatedItemInEvidence/RelatedItemInEvidence
|
|
2099
|
+
msgid "inEvidenceItems"
|
|
2100
|
+
msgstr ""
|
|
2101
|
+
|
|
2097
2102
|
#. Default: "Indice della pagina"
|
|
2098
2103
|
#: components/View/commons/SideMenu/SideMenu
|
|
2099
2104
|
msgid "index"
|
|
@@ -1887,6 +1887,11 @@ msgstr ""
|
|
|
1887
1887
|
msgid "expire"
|
|
1888
1888
|
msgstr "Scadenza"
|
|
1889
1889
|
|
|
1890
|
+
#. Default: "Esplora"
|
|
1891
|
+
#: components/View/commons/RelatedItemInEvidence/ItemInEvidence
|
|
1892
|
+
msgid "explore"
|
|
1893
|
+
msgstr ""
|
|
1894
|
+
|
|
1890
1895
|
#. Default: "Inserisci una parola chiave per trovare una risposta"
|
|
1891
1896
|
#: components/View/FAQ/FaqFolder/FaqFolderView
|
|
1892
1897
|
msgid "faq_search"
|
|
@@ -1902,11 +1907,6 @@ msgstr ""
|
|
|
1902
1907
|
msgid "farmacia_area_territoriale"
|
|
1903
1908
|
msgstr ""
|
|
1904
1909
|
|
|
1905
|
-
#. Default: "Circoscrizione"
|
|
1906
|
-
#: components/View/Farmacia/FarmaciaDove
|
|
1907
|
-
msgid "farmacia_circoscrizione"
|
|
1908
|
-
msgstr ""
|
|
1909
|
-
|
|
1910
1910
|
#. Default: "Comune"
|
|
1911
1911
|
#: components/View/Farmacia/FarmaciaDove
|
|
1912
1912
|
msgid "farmacia_comune"
|
|
@@ -2087,6 +2087,11 @@ msgstr ""
|
|
|
2087
2087
|
msgid "icons_linkMoreTitle"
|
|
2088
2088
|
msgstr ""
|
|
2089
2089
|
|
|
2090
|
+
#. Default: "Contenuti in evidenza"
|
|
2091
|
+
#: components/View/commons/RelatedItemInEvidence/RelatedItemInEvidence
|
|
2092
|
+
msgid "inEvidenceItems"
|
|
2093
|
+
msgstr ""
|
|
2094
|
+
|
|
2090
2095
|
#. Default: "Indice della pagina"
|
|
2091
2096
|
#: components/View/commons/SideMenu/SideMenu
|
|
2092
2097
|
msgid "index"
|
package/locales/volto.pot
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
msgid ""
|
|
2
2
|
msgstr ""
|
|
3
3
|
"Project-Id-Version: Plone\n"
|
|
4
|
-
"POT-Creation-Date: 2026-04-
|
|
4
|
+
"POT-Creation-Date: 2026-04-29T13:30:21.407Z\n"
|
|
5
5
|
"Last-Translator: Plone i18n <plone-i18n@lists.sourceforge.net>\n"
|
|
6
6
|
"Language-Team: Plone i18n <plone-i18n@lists.sourceforge.net>\n"
|
|
7
7
|
"Content-Type: text/plain; charset=utf-8\n"
|
|
@@ -1889,6 +1889,11 @@ msgstr ""
|
|
|
1889
1889
|
msgid "expire"
|
|
1890
1890
|
msgstr ""
|
|
1891
1891
|
|
|
1892
|
+
#. Default: "Esplora"
|
|
1893
|
+
#: components/View/commons/RelatedItemInEvidence/ItemInEvidence
|
|
1894
|
+
msgid "explore"
|
|
1895
|
+
msgstr ""
|
|
1896
|
+
|
|
1892
1897
|
#. Default: "Inserisci una parola chiave per trovare una risposta"
|
|
1893
1898
|
#: components/View/FAQ/FaqFolder/FaqFolderView
|
|
1894
1899
|
msgid "faq_search"
|
|
@@ -1904,11 +1909,6 @@ msgstr ""
|
|
|
1904
1909
|
msgid "farmacia_area_territoriale"
|
|
1905
1910
|
msgstr ""
|
|
1906
1911
|
|
|
1907
|
-
#. Default: "Circoscrizione"
|
|
1908
|
-
#: components/View/Farmacia/FarmaciaDove
|
|
1909
|
-
msgid "farmacia_circoscrizione"
|
|
1910
|
-
msgstr ""
|
|
1911
|
-
|
|
1912
1912
|
#. Default: "Comune"
|
|
1913
1913
|
#: components/View/Farmacia/FarmaciaDove
|
|
1914
1914
|
msgid "farmacia_comune"
|
|
@@ -2089,6 +2089,11 @@ msgstr ""
|
|
|
2089
2089
|
msgid "icons_linkMoreTitle"
|
|
2090
2090
|
msgstr ""
|
|
2091
2091
|
|
|
2092
|
+
#. Default: "Contenuti in evidenza"
|
|
2093
|
+
#: components/View/commons/RelatedItemInEvidence/RelatedItemInEvidence
|
|
2094
|
+
msgid "inEvidenceItems"
|
|
2095
|
+
msgstr ""
|
|
2096
|
+
|
|
2092
2097
|
#. Default: "Indice della pagina"
|
|
2093
2098
|
#: components/View/commons/SideMenu/SideMenu
|
|
2094
2099
|
msgid "index"
|
package/package.json
CHANGED
|
@@ -17,6 +17,7 @@ import {
|
|
|
17
17
|
PageHeader,
|
|
18
18
|
SkipToMainContent,
|
|
19
19
|
commonIntlMessages,
|
|
20
|
+
RelatedItemInEvidence,
|
|
20
21
|
} from 'io-sanita-theme/components/View/commons';
|
|
21
22
|
import {
|
|
22
23
|
CardSimple,
|
|
@@ -252,6 +253,7 @@ const AggregationPage = ({ match, route, location }) => {
|
|
|
252
253
|
</section>
|
|
253
254
|
</div>
|
|
254
255
|
</div>
|
|
256
|
+
<RelatedItemInEvidence content={content}/>
|
|
255
257
|
</>
|
|
256
258
|
);
|
|
257
259
|
};
|
|
@@ -27,6 +27,7 @@ import {
|
|
|
27
27
|
useSideMenu,
|
|
28
28
|
Placeholder,
|
|
29
29
|
commonIntlMessages,
|
|
30
|
+
RelatedItemInEvidence,
|
|
30
31
|
} from 'io-sanita-theme/components/View/commons';
|
|
31
32
|
|
|
32
33
|
export const BandoViewSectionsOrder = [
|
|
@@ -93,6 +94,7 @@ const BandoView = ({ content, location }) => {
|
|
|
93
94
|
</div>
|
|
94
95
|
<Placeholder position="afterContent" content={content} />
|
|
95
96
|
<RelatedItems content={content} />
|
|
97
|
+
<RelatedItemInEvidence content={content} />
|
|
96
98
|
<Placeholder position="afterRelatedItems" content={content} />
|
|
97
99
|
</>
|
|
98
100
|
);
|
|
@@ -17,6 +17,7 @@ import {
|
|
|
17
17
|
RelatedItems,
|
|
18
18
|
Placeholder,
|
|
19
19
|
Metadata,
|
|
20
|
+
RelatedItemInEvidence,
|
|
20
21
|
} from 'io-sanita-theme/components/View/commons';
|
|
21
22
|
import { TextOrBlocks } from 'io-sanita-theme/helpers';
|
|
22
23
|
|
|
@@ -58,7 +59,12 @@ const CartellaModulisticaView = ({ content }) => {
|
|
|
58
59
|
const modulistica = modulisticaItems?.data?.items ?? [];
|
|
59
60
|
|
|
60
61
|
useEffect(() => {
|
|
61
|
-
if (
|
|
62
|
+
if (
|
|
63
|
+
hasItems &&
|
|
64
|
+
!modulisticaItems.loading &&
|
|
65
|
+
!modulisticaItems.loaded &&
|
|
66
|
+
!modulisticaItems.error
|
|
67
|
+
) {
|
|
62
68
|
dispatch(getModulisticaItems(flattenToAppURL(modulistica_items_url)));
|
|
63
69
|
}
|
|
64
70
|
}, [dispatch, hasItems, modulisticaItems, modulistica_items_url]);
|
|
@@ -210,6 +216,7 @@ const CartellaModulisticaView = ({ content }) => {
|
|
|
210
216
|
|
|
211
217
|
<Placeholder position="afterContent" content={content} />
|
|
212
218
|
<RelatedItems content={content} list={content?.servizi_collegati ?? []} />
|
|
219
|
+
<RelatedItemInEvidence content={content} />
|
|
213
220
|
<Placeholder position="afterRelatedItems" content={content} />
|
|
214
221
|
</>
|
|
215
222
|
);
|
|
@@ -17,6 +17,7 @@ import {
|
|
|
17
17
|
Metadata,
|
|
18
18
|
Placeholder,
|
|
19
19
|
commonIntlMessages,
|
|
20
|
+
RelatedItemInEvidence,
|
|
20
21
|
} from 'io-sanita-theme/components/View/commons';
|
|
21
22
|
|
|
22
23
|
import {
|
|
@@ -89,6 +90,7 @@ const ComeFarePerView = ({ content, location }) => {
|
|
|
89
90
|
</div>
|
|
90
91
|
<Placeholder position="afterContent" content={content} />
|
|
91
92
|
<RelatedItems content={content} />
|
|
93
|
+
<RelatedItemInEvidence content={content} />
|
|
92
94
|
<Placeholder position="afterRelatedItems" content={content} />
|
|
93
95
|
</>
|
|
94
96
|
);
|
|
@@ -16,6 +16,7 @@ import {
|
|
|
16
16
|
RelatedItems,
|
|
17
17
|
Placeholder,
|
|
18
18
|
commonIntlMessages,
|
|
19
|
+
RelatedItemInEvidence,
|
|
19
20
|
} from 'io-sanita-theme/components/View/commons';
|
|
20
21
|
|
|
21
22
|
import {
|
|
@@ -87,6 +88,7 @@ const DocumentoView = ({ content }) => {
|
|
|
87
88
|
</div>
|
|
88
89
|
<Placeholder position="afterContent" content={content} />
|
|
89
90
|
<RelatedItems content={content} />
|
|
91
|
+
<RelatedItemInEvidence content={content} />
|
|
90
92
|
<Placeholder position="afterRelatedItems" content={content} />
|
|
91
93
|
</>
|
|
92
94
|
);
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
|
|
4
|
-
import { defineMessages, useIntl } from 'react-intl';
|
|
5
|
-
|
|
6
1
|
import {
|
|
7
|
-
RichTextSection,
|
|
8
|
-
richTextHasContent,
|
|
9
2
|
RichText,
|
|
3
|
+
RichTextSection,
|
|
10
4
|
hasGeolocation,
|
|
5
|
+
richTextHasContent,
|
|
11
6
|
} from 'io-sanita-theme/helpers';
|
|
7
|
+
import { defineMessages, useIntl } from 'react-intl';
|
|
8
|
+
|
|
12
9
|
import { Locations } from 'io-sanita-theme/components/View/commons';
|
|
10
|
+
import PropTypes from 'prop-types';
|
|
11
|
+
import React from 'react';
|
|
13
12
|
|
|
14
13
|
const messages = defineMessages({
|
|
15
14
|
dove: {
|
|
@@ -28,7 +27,6 @@ const EventoDove = ({ content }) => {
|
|
|
28
27
|
content?.zip_code?.length > 0 ||
|
|
29
28
|
content?.city?.length > 0 ||
|
|
30
29
|
content?.quartiere?.length > 0 ||
|
|
31
|
-
content?.circoscrizione?.length > 0 ||
|
|
32
30
|
content?.country?.length > 0 ||
|
|
33
31
|
richTextHasContent(content?.webinar) ? (
|
|
34
32
|
<RichTextSection tag_id="dove" title={intl.formatMessage(messages.dove)}>
|
|
@@ -17,6 +17,7 @@ import {
|
|
|
17
17
|
Metadata,
|
|
18
18
|
Placeholder,
|
|
19
19
|
commonIntlMessages,
|
|
20
|
+
RelatedItemInEvidence,
|
|
20
21
|
} from 'io-sanita-theme/components/View/commons';
|
|
21
22
|
|
|
22
23
|
import {
|
|
@@ -104,6 +105,7 @@ const EventoView = ({ content, location }) => {
|
|
|
104
105
|
</div>
|
|
105
106
|
<Placeholder position="afterContent" content={content} />
|
|
106
107
|
<RelatedItems content={content} />
|
|
108
|
+
<RelatedItemInEvidence content={content} />
|
|
107
109
|
<Placeholder position="afterRelatedItems" content={content} />
|
|
108
110
|
</>
|
|
109
111
|
);
|
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
RelatedItems,
|
|
12
12
|
Metadata,
|
|
13
13
|
Placeholder,
|
|
14
|
+
RelatedItemInEvidence,
|
|
14
15
|
} from 'io-sanita-theme/components/View/commons';
|
|
15
16
|
|
|
16
17
|
import { TextOrBlocks } from 'io-sanita-theme/helpers';
|
|
@@ -39,6 +40,7 @@ const FaqView = ({ content }) => {
|
|
|
39
40
|
|
|
40
41
|
<Placeholder position="afterContent" content={content} />
|
|
41
42
|
<RelatedItems content={content} />
|
|
43
|
+
<RelatedItemInEvidence content={content} />
|
|
42
44
|
<Placeholder position="afterRelatedItems" content={content} />
|
|
43
45
|
</div>
|
|
44
46
|
);
|
|
@@ -174,7 +174,9 @@ const FaqFolderView = ({ content }) => {
|
|
|
174
174
|
|
|
175
175
|
<RelatedItems content={content} list={content?.servizi_collegati ?? []} />
|
|
176
176
|
|
|
177
|
-
<
|
|
177
|
+
<RelatedItemInEvidence content={content} />
|
|
178
|
+
|
|
179
|
+
<Placeholder position="afterRelatedItems" content={content} />
|
|
178
180
|
</>
|
|
179
181
|
);
|
|
180
182
|
};
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import PropTypes from 'prop-types';
|
|
2
1
|
import { defineMessages, useIntl } from 'react-intl';
|
|
2
|
+
|
|
3
|
+
import { Locations } from 'io-sanita-theme/components/View/commons';
|
|
4
|
+
import PropTypes from 'prop-types';
|
|
3
5
|
// import { CardPlace } from 'io-sanita-theme/components';
|
|
4
6
|
import { RichTextSection } from 'io-sanita-theme/helpers';
|
|
5
|
-
import { Locations } from 'io-sanita-theme/components/View/commons';
|
|
6
7
|
|
|
7
8
|
const messages = defineMessages({
|
|
8
9
|
dove: {
|
|
@@ -21,10 +22,6 @@ const messages = defineMessages({
|
|
|
21
22
|
id: 'farmacia_localita',
|
|
22
23
|
defaultMessage: 'Località',
|
|
23
24
|
},
|
|
24
|
-
circoscrizione: {
|
|
25
|
-
id: 'farmacia_circoscrizione',
|
|
26
|
-
defaultMessage: 'Circoscrizione',
|
|
27
|
-
},
|
|
28
25
|
quartiere: {
|
|
29
26
|
id: 'farmacia_quartiere',
|
|
30
27
|
defaultMessage: 'Quartiere',
|
|
@@ -40,108 +37,12 @@ const FarmaciaDove = ({ content }) => {
|
|
|
40
37
|
content.city ||
|
|
41
38
|
content.provincia ||
|
|
42
39
|
content.country ||
|
|
43
|
-
content.circoscrizione ||
|
|
44
40
|
content.quartiere ||
|
|
45
41
|
content.area_territoriale?.title ||
|
|
46
42
|
content.comune ||
|
|
47
43
|
content.localita ? (
|
|
48
44
|
<RichTextSection tag_id="dove" title={intl.formatMessage(messages.dove)}>
|
|
49
|
-
{/* <CardPlace
|
|
50
|
-
item={{
|
|
51
|
-
...content,
|
|
52
|
-
city: content.comune,
|
|
53
|
-
province: content.provincia,
|
|
54
|
-
area_territoriale: content.area_territoriale?.title,
|
|
55
|
-
street: `${content.street} - ${content.localita}`,
|
|
56
|
-
}}
|
|
57
|
-
showDistance={false}
|
|
58
|
-
showMap={true}
|
|
59
|
-
/> */}
|
|
60
|
-
|
|
61
45
|
<Locations content={content} />
|
|
62
|
-
|
|
63
|
-
{/* -- codice originale versione auslfe
|
|
64
|
-
|
|
65
|
-
<Card className="card card-teaser shadow mt-3 rounded mb-4" tag="div">
|
|
66
|
-
<Icon icon={'it-pin'} />
|
|
67
|
-
<CardBody>
|
|
68
|
-
<CardTitle tag="h5" className="card-title">
|
|
69
|
-
{content.title}
|
|
70
|
-
</CardTitle>
|
|
71
|
-
<CardText tag="div">
|
|
72
|
-
{content.area_territoriale && (
|
|
73
|
-
<p>
|
|
74
|
-
<strong>{`${intl.formatMessage(messages.area_territoriale)}: `}</strong>
|
|
75
|
-
{content.area_territoriale.title}
|
|
76
|
-
</p>
|
|
77
|
-
)}
|
|
78
|
-
|
|
79
|
-
{content.comune && (
|
|
80
|
-
<p>
|
|
81
|
-
<strong>{`${intl.formatMessage(messages.comune)}: `}</strong>
|
|
82
|
-
{content.comune}
|
|
83
|
-
</p>
|
|
84
|
-
)}
|
|
85
|
-
|
|
86
|
-
{content.localita && (
|
|
87
|
-
<p>
|
|
88
|
-
<strong>{`${intl.formatMessage(messages.localita)}: `}</strong>
|
|
89
|
-
{content.localita}
|
|
90
|
-
</p>
|
|
91
|
-
)}
|
|
92
|
-
|
|
93
|
-
<p>
|
|
94
|
-
{[content.street, content.city]
|
|
95
|
-
.filter((v) => v !== null)
|
|
96
|
-
.join(' - ')}
|
|
97
|
-
{(content.street || content.city) &&
|
|
98
|
-
(content.zip_code || content.country) &&
|
|
99
|
-
!content.provincia && <br />}
|
|
100
|
-
|
|
101
|
-
{content.provincia && ' (' + content.provincia + ')\n'}
|
|
102
|
-
|
|
103
|
-
{content.zip_code && content.country?.title
|
|
104
|
-
? [content.zip_code, content.country?.title]
|
|
105
|
-
.filter((v) => v !== null)
|
|
106
|
-
.join(' - ')
|
|
107
|
-
: content.zip_code || content.country?.title}
|
|
108
|
-
</p>
|
|
109
|
-
</CardText>
|
|
110
|
-
</CardBody>
|
|
111
|
-
</Card>
|
|
112
|
-
{
|
|
113
|
-
content.geolocation?.latitude &&
|
|
114
|
-
content.geolocation?.longitude && (
|
|
115
|
-
<>{__CLIENT__ ?
|
|
116
|
-
<OSMMap
|
|
117
|
-
markers={[
|
|
118
|
-
{
|
|
119
|
-
latitude: content.geolocation.latitude,
|
|
120
|
-
longitude: content.geolocation.longitude,
|
|
121
|
-
title: content.title,
|
|
122
|
-
},
|
|
123
|
-
]}
|
|
124
|
-
mapOptions={{
|
|
125
|
-
scrollWheelZoom: false,
|
|
126
|
-
// tap: false,
|
|
127
|
-
// dragging: false,
|
|
128
|
-
}}
|
|
129
|
-
/>:<div>Loading...</>}</>
|
|
130
|
-
)}
|
|
131
|
-
{content.circoscrizione && (
|
|
132
|
-
<div className="circoscrizione">
|
|
133
|
-
<h5 className="mt-3">
|
|
134
|
-
{intl.formatMessage(messages.circoscrizione)}:
|
|
135
|
-
</h5>
|
|
136
|
-
<div className="text-serif">{content.circoscrizione}</div>
|
|
137
|
-
</div>
|
|
138
|
-
)}
|
|
139
|
-
{content.quartiere && (
|
|
140
|
-
<div className="quartiere">
|
|
141
|
-
<h5 className="mt-3">{intl.formatMessage(messages.quartiere)}:</h5>
|
|
142
|
-
<div className="text-serif">{content.quartiere}</div>
|
|
143
|
-
</div>
|
|
144
|
-
)} */}
|
|
145
46
|
</RichTextSection>
|
|
146
47
|
) : (
|
|
147
48
|
<></>
|
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
useSideMenu,
|
|
8
8
|
Metadata,
|
|
9
9
|
commonIntlMessages,
|
|
10
|
+
RelatedItemInEvidence,
|
|
10
11
|
} from 'io-sanita-theme/components/View/commons';
|
|
11
12
|
import { ContentTypeViewSections } from 'io-sanita-theme/helpers';
|
|
12
13
|
import PropTypes from 'prop-types';
|
|
@@ -92,8 +93,7 @@ const FarmaciaView = ({ content }) => {
|
|
|
92
93
|
...(content.related_news ?? []),
|
|
93
94
|
]}
|
|
94
95
|
/>
|
|
95
|
-
{
|
|
96
|
-
<RelatedItemInEvidence content={content} /> */}
|
|
96
|
+
<RelatedItemInEvidence content={content} />
|
|
97
97
|
</>
|
|
98
98
|
);
|
|
99
99
|
};
|
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
RelatedItems,
|
|
11
11
|
Metadata,
|
|
12
12
|
Placeholder,
|
|
13
|
+
RelatedItemInEvidence,
|
|
13
14
|
} from 'io-sanita-theme/components/View/commons';
|
|
14
15
|
|
|
15
16
|
import {
|
|
@@ -46,6 +47,8 @@ const ModuloView = ({ content }) => {
|
|
|
46
47
|
|
|
47
48
|
<RelatedItems content={content} />
|
|
48
49
|
|
|
50
|
+
<RelatedItemInEvidence content={content} />
|
|
51
|
+
|
|
49
52
|
<Placeholder position="afterRelatedItems" content={content} />
|
|
50
53
|
</>
|
|
51
54
|
);
|
|
@@ -19,6 +19,7 @@ import {
|
|
|
19
19
|
Metadata,
|
|
20
20
|
Placeholder,
|
|
21
21
|
commonIntlMessages,
|
|
22
|
+
RelatedItemInEvidence,
|
|
22
23
|
} from 'io-sanita-theme/components/View/commons';
|
|
23
24
|
|
|
24
25
|
import {
|
|
@@ -112,6 +113,7 @@ const NewsItemView = ({ content, location }) => {
|
|
|
112
113
|
|
|
113
114
|
<Placeholder position="afterContent" content={content} />
|
|
114
115
|
<RelatedItems list={related_items} />
|
|
116
|
+
<RelatedItemInEvidence content={content} />
|
|
115
117
|
<Placeholder position="afterRelatedItems" content={content} />
|
|
116
118
|
</>
|
|
117
119
|
);
|
|
@@ -17,6 +17,7 @@ import {
|
|
|
17
17
|
Placeholder,
|
|
18
18
|
Metadata,
|
|
19
19
|
RelatedItems,
|
|
20
|
+
RelatedItemInEvidence,
|
|
20
21
|
} from 'io-sanita-theme/components/View/commons';
|
|
21
22
|
|
|
22
23
|
import { defineMessages, useIntl } from 'react-intl';
|
|
@@ -71,7 +72,6 @@ const PageView = ({ content, token, location, history }) => {
|
|
|
71
72
|
{content?.title}
|
|
72
73
|
</h1>
|
|
73
74
|
</Placeholder>
|
|
74
|
-
|
|
75
75
|
<p className="description">{content?.description}</p>
|
|
76
76
|
</div>
|
|
77
77
|
{rightHeaderHasContent && (
|
|
@@ -113,6 +113,7 @@ const PageView = ({ content, token, location, history }) => {
|
|
|
113
113
|
/>
|
|
114
114
|
</div>
|
|
115
115
|
<RelatedItems content={content} />
|
|
116
|
+
<RelatedItemInEvidence content={content} />
|
|
116
117
|
<Placeholder position="afterContent" content={content} />
|
|
117
118
|
</>
|
|
118
119
|
);
|
|
@@ -31,6 +31,7 @@ import {
|
|
|
31
31
|
RelatedItems,
|
|
32
32
|
Placeholder,
|
|
33
33
|
commonIntlMessages,
|
|
34
|
+
RelatedItemInEvidence,
|
|
34
35
|
} from 'io-sanita-theme/components/View/commons';
|
|
35
36
|
|
|
36
37
|
export const PersonaViewSectionsOrder = [
|
|
@@ -98,6 +99,7 @@ const PersonaView = ({ content }) => {
|
|
|
98
99
|
</div>
|
|
99
100
|
<Placeholder position="afterContent" content={content} />
|
|
100
101
|
<RelatedItems content={content} />
|
|
102
|
+
<RelatedItemInEvidence content={content} />
|
|
101
103
|
<Placeholder position="afterRelatedItems" content={content} />
|
|
102
104
|
</>
|
|
103
105
|
);
|
|
@@ -21,6 +21,7 @@ import {
|
|
|
21
21
|
useSideMenu,
|
|
22
22
|
Metadata,
|
|
23
23
|
commonIntlMessages,
|
|
24
|
+
RelatedItemInEvidence,
|
|
24
25
|
} from 'io-sanita-theme/components/View/commons';
|
|
25
26
|
|
|
26
27
|
import { ContentTypeViewSections } from 'io-sanita-theme/helpers';
|
|
@@ -78,6 +79,7 @@ const PuntoDiContattoView = ({ content }) => {
|
|
|
78
79
|
</div>
|
|
79
80
|
<Placeholder position="afterContent" content={content} />
|
|
80
81
|
<RelatedItems list={content?.relatedItems} />
|
|
82
|
+
<RelatedItemInEvidence content={content} />
|
|
81
83
|
<Placeholder position="afterRelatedItems" content={content} />
|
|
82
84
|
</>
|
|
83
85
|
);
|
|
@@ -37,6 +37,7 @@ import {
|
|
|
37
37
|
useSideMenu,
|
|
38
38
|
Metadata,
|
|
39
39
|
commonIntlMessages,
|
|
40
|
+
RelatedItemInEvidence,
|
|
40
41
|
} from 'io-sanita-theme/components/View/commons';
|
|
41
42
|
|
|
42
43
|
export const ServizioSectionsOrder = [
|
|
@@ -110,6 +111,7 @@ const ServizioView = ({ content }) => {
|
|
|
110
111
|
</div>
|
|
111
112
|
<Placeholder position="afterContent" content={content} />
|
|
112
113
|
<RelatedItems content={content} list={content?.related_news ?? []} />
|
|
114
|
+
<RelatedItemInEvidence content={content} />
|
|
113
115
|
<Placeholder position="afterRelatedItems" content={content} />
|
|
114
116
|
</>
|
|
115
117
|
);
|
|
@@ -1,8 +1,13 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Col, Row } from 'design-react-kit';
|
|
2
|
+
import {
|
|
3
|
+
RichText,
|
|
4
|
+
RichTextSection,
|
|
5
|
+
richTextHasContent,
|
|
6
|
+
} from 'io-sanita-theme/helpers';
|
|
2
7
|
import { defineMessages, useIntl } from 'react-intl';
|
|
8
|
+
|
|
3
9
|
import { CardContatti } from 'io-sanita-theme/components';
|
|
4
|
-
import
|
|
5
|
-
import { Row, Col } from 'design-react-kit';
|
|
10
|
+
import PropTypes from 'prop-types';
|
|
6
11
|
|
|
7
12
|
const messages = defineMessages({
|
|
8
13
|
contatti: {
|
|
@@ -13,8 +18,8 @@ const messages = defineMessages({
|
|
|
13
18
|
|
|
14
19
|
const StrutturaContatti = ({ content }) => {
|
|
15
20
|
const intl = useIntl();
|
|
16
|
-
|
|
17
|
-
return content?.pdc_correlato?.length > 0 ? (
|
|
21
|
+
const has_richTextContent = richTextHasContent(content?.pdc_correlato_text);
|
|
22
|
+
return content?.pdc_correlato?.length > 0 || has_richTextContent ? (
|
|
18
23
|
<RichTextSection
|
|
19
24
|
tag_id="contatti"
|
|
20
25
|
title={intl.formatMessage(messages.contatti)}
|
|
@@ -27,6 +32,12 @@ const StrutturaContatti = ({ content }) => {
|
|
|
27
32
|
</Col>
|
|
28
33
|
))}
|
|
29
34
|
</Row>
|
|
35
|
+
{/* Contenuto testuale alternativo, usato ad esempio con il sync virtualdesk */}
|
|
36
|
+
{has_richTextContent && (
|
|
37
|
+
<div className="richtext-blocks font-serif">
|
|
38
|
+
<RichText data={content?.pdc_correlato_text} />
|
|
39
|
+
</div>
|
|
40
|
+
)}
|
|
30
41
|
</RichTextSection>
|
|
31
42
|
) : null;
|
|
32
43
|
};
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
import { defineMessages, useIntl } from 'react-intl';
|
|
4
1
|
import { RichTextSection, hasGeolocation } from 'io-sanita-theme/helpers';
|
|
2
|
+
import { defineMessages, useIntl } from 'react-intl';
|
|
3
|
+
|
|
5
4
|
import { Locations } from 'io-sanita-theme/components/View/commons';
|
|
5
|
+
import PropTypes from 'prop-types';
|
|
6
|
+
import React from 'react';
|
|
6
7
|
|
|
7
8
|
const messages = defineMessages({
|
|
8
9
|
dove: {
|
|
@@ -20,7 +21,6 @@ const StrutturaDove = ({ content }) => {
|
|
|
20
21
|
content?.zip_code?.length > 0 ||
|
|
21
22
|
content?.city?.length > 0 ||
|
|
22
23
|
content?.quartiere?.length > 0 ||
|
|
23
|
-
content?.circoscrizione?.length > 0 ||
|
|
24
24
|
content?.country?.length > 0 ? (
|
|
25
25
|
<RichTextSection tag_id="dove" title={intl.formatMessage(messages.dove)}>
|
|
26
26
|
<Locations content={content} />
|
|
@@ -1,8 +1,13 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Col, Row } from 'design-react-kit';
|
|
2
|
+
import {
|
|
3
|
+
RichText,
|
|
4
|
+
RichTextSection,
|
|
5
|
+
richTextHasContent,
|
|
6
|
+
} from 'io-sanita-theme/helpers';
|
|
2
7
|
import { defineMessages, useIntl } from 'react-intl';
|
|
3
|
-
|
|
8
|
+
|
|
4
9
|
import { CardPersona } from 'io-sanita-theme/components';
|
|
5
|
-
import
|
|
10
|
+
import React from 'react';
|
|
6
11
|
|
|
7
12
|
const messages = defineMessages({
|
|
8
13
|
responsabile: {
|
|
@@ -13,8 +18,10 @@ const messages = defineMessages({
|
|
|
13
18
|
|
|
14
19
|
const StrutturaResponsabile = ({ content }) => {
|
|
15
20
|
const intl = useIntl();
|
|
16
|
-
|
|
17
|
-
|
|
21
|
+
const has_richTextContent = richTextHasContent(
|
|
22
|
+
content?.responsabile_correlato_text,
|
|
23
|
+
);
|
|
24
|
+
return content?.responsabile_correlato?.length > 0 || has_richTextContent ? (
|
|
18
25
|
<RichTextSection
|
|
19
26
|
tag_id="responsabile"
|
|
20
27
|
title={intl.formatMessage(messages.responsabile)}
|
|
@@ -28,6 +35,12 @@ const StrutturaResponsabile = ({ content }) => {
|
|
|
28
35
|
);
|
|
29
36
|
})}
|
|
30
37
|
</Row>
|
|
38
|
+
{/* Contenuto testuale alternativo, usato ad esempio con il sync virtualdesk */}
|
|
39
|
+
{has_richTextContent && (
|
|
40
|
+
<div className="richtext-blocks font-serif">
|
|
41
|
+
<RichText data={content?.responsabile_correlato_text} />
|
|
42
|
+
</div>
|
|
43
|
+
)}
|
|
31
44
|
</RichTextSection>
|
|
32
45
|
) : (
|
|
33
46
|
<></>
|
|
@@ -37,6 +37,7 @@ import {
|
|
|
37
37
|
useSideMenu,
|
|
38
38
|
Metadata,
|
|
39
39
|
commonIntlMessages,
|
|
40
|
+
RelatedItemInEvidence,
|
|
40
41
|
} from 'io-sanita-theme/components/View/commons';
|
|
41
42
|
|
|
42
43
|
export const StrutturaSectionsOrder = [
|
|
@@ -110,6 +111,7 @@ const StrutturaView = ({ content }) => {
|
|
|
110
111
|
</div>
|
|
111
112
|
<Placeholder position="afterContent" content={content} />
|
|
112
113
|
<RelatedItems content={content} list={content?.related_news ?? []} />
|
|
114
|
+
<RelatedItemInEvidence content={content} />
|
|
113
115
|
<Placeholder position="afterRelatedItems" content={content} />
|
|
114
116
|
</>
|
|
115
117
|
);
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
import { defineMessages, useIntl } from 'react-intl';
|
|
4
1
|
import { RichTextSection, hasGeolocation } from 'io-sanita-theme/helpers';
|
|
2
|
+
import { defineMessages, useIntl } from 'react-intl';
|
|
3
|
+
|
|
5
4
|
import { Locations } from 'io-sanita-theme/components/View/commons';
|
|
5
|
+
import PropTypes from 'prop-types';
|
|
6
|
+
import React from 'react';
|
|
6
7
|
|
|
7
8
|
const messages = defineMessages({
|
|
8
9
|
dove: {
|
|
@@ -21,7 +22,6 @@ const UODove = ({ content }) => {
|
|
|
21
22
|
content?.zip_code?.length > 0 ||
|
|
22
23
|
content?.city?.length > 0 ||
|
|
23
24
|
content?.quartiere?.length > 0 ||
|
|
24
|
-
content?.circoscrizione?.length > 0 ||
|
|
25
25
|
content?.country?.length > 0 ? (
|
|
26
26
|
<RichTextSection tag_id="luoghi" title={intl.formatMessage(messages.dove)}>
|
|
27
27
|
{/* INDIRIZZI E STRUTTURE */}
|
|
@@ -33,6 +33,7 @@ import {
|
|
|
33
33
|
useSideMenu,
|
|
34
34
|
Metadata,
|
|
35
35
|
commonIntlMessages,
|
|
36
|
+
RelatedItemInEvidence,
|
|
36
37
|
} from 'io-sanita-theme/components/View/commons';
|
|
37
38
|
|
|
38
39
|
export const UOViewSectionsOrder = [
|
|
@@ -102,6 +103,7 @@ const UOView = ({ content }) => {
|
|
|
102
103
|
</div>
|
|
103
104
|
<Placeholder position="afterContent" content={content} />
|
|
104
105
|
<RelatedItems content={content} list={content?.related_news ?? []} />
|
|
106
|
+
<RelatedItemInEvidence content={content} />
|
|
105
107
|
<Placeholder position="afterRelatedItems" content={content} />
|
|
106
108
|
</>
|
|
107
109
|
);
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Col, Row } from 'design-react-kit';
|
|
2
|
+
|
|
3
|
+
import { CardPlace } from 'io-sanita-theme/components';
|
|
4
|
+
import { LocationsMap } from 'io-sanita-theme/components/View/commons';
|
|
2
5
|
import PropTypes from 'prop-types';
|
|
6
|
+
import React from 'react';
|
|
3
7
|
import omit from 'lodash/omit';
|
|
4
|
-
import { Row, Col } from 'design-react-kit';
|
|
5
|
-
import { LocationsMap } from 'io-sanita-theme/components/View/commons';
|
|
6
|
-
import { CardPlace } from 'io-sanita-theme/components';
|
|
7
8
|
|
|
8
9
|
/**
|
|
9
10
|
* Locations view component class.
|
|
@@ -18,8 +19,7 @@ const Locations = ({ content = {}, locations = [] }) => {
|
|
|
18
19
|
content.street ||
|
|
19
20
|
content.city ||
|
|
20
21
|
content.zip_code ||
|
|
21
|
-
content.quartiere
|
|
22
|
-
content.circoscrizione
|
|
22
|
+
content.quartiere
|
|
23
23
|
) {
|
|
24
24
|
location_items.push(omit(content, ['@id']));
|
|
25
25
|
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import { defineMessages, useIntl } from 'react-intl';
|
|
4
|
+
import {
|
|
5
|
+
Card,
|
|
6
|
+
CardBody,
|
|
7
|
+
CardTitle,
|
|
8
|
+
CardText,
|
|
9
|
+
CardReadMore,
|
|
10
|
+
} from 'design-react-kit';
|
|
11
|
+
import { flattenToAppURL } from '@plone/volto/helpers';
|
|
12
|
+
|
|
13
|
+
const messages = defineMessages({
|
|
14
|
+
explore: {
|
|
15
|
+
id: 'explore',
|
|
16
|
+
defaultMessage: 'Esplora',
|
|
17
|
+
},
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* ItemInEvidence view component class.
|
|
22
|
+
* @function ItemInEvidence
|
|
23
|
+
* @params {object} location: object.
|
|
24
|
+
* @returns {string} Markup of the component.
|
|
25
|
+
*/
|
|
26
|
+
const ItemInEvidence = ({ content }) => {
|
|
27
|
+
const intl = useIntl();
|
|
28
|
+
const correlato_in_evidenza = content.correlato_in_evidenza[0];
|
|
29
|
+
return (
|
|
30
|
+
<div className="card-wrapper">
|
|
31
|
+
<Card className="card-bg rounded " noWrapper={true} tag="div">
|
|
32
|
+
<CardBody tag="div">
|
|
33
|
+
<CardTitle className="h3">{correlato_in_evidenza.title}</CardTitle>
|
|
34
|
+
<CardText tag="p">{correlato_in_evidenza.description}</CardText>
|
|
35
|
+
<CardReadMore
|
|
36
|
+
iconName="it-arrow-right"
|
|
37
|
+
tag="a"
|
|
38
|
+
text={intl.formatMessage(messages.explore)}
|
|
39
|
+
href={flattenToAppURL(correlato_in_evidenza['@id'])}
|
|
40
|
+
/>
|
|
41
|
+
</CardBody>
|
|
42
|
+
</Card>
|
|
43
|
+
</div>
|
|
44
|
+
);
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
export default ItemInEvidence;
|
|
48
|
+
|
|
49
|
+
ItemInEvidence.propTypes = {
|
|
50
|
+
content: PropTypes.shape({
|
|
51
|
+
'@id': PropTypes.string,
|
|
52
|
+
'@type': PropTypes.string,
|
|
53
|
+
title: PropTypes.string,
|
|
54
|
+
correlato_in_evidenza: PropTypes.array,
|
|
55
|
+
}),
|
|
56
|
+
};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import ItemInEvidence from 'io-sanita-theme/components/View/commons/RelatedItemInEvidence/ItemInEvidence';
|
|
4
|
+
import { Container, Row, Col } from 'design-react-kit';
|
|
5
|
+
import { defineMessages, useIntl } from 'react-intl';
|
|
6
|
+
|
|
7
|
+
const messages = defineMessages({
|
|
8
|
+
inEvidenceItems: {
|
|
9
|
+
id: 'inEvidenceItems',
|
|
10
|
+
defaultMessage: 'Contenuti in evidenza',
|
|
11
|
+
},
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* RelatedItems view component class.
|
|
16
|
+
* @function RelatedItems
|
|
17
|
+
* @params {object} location: object.
|
|
18
|
+
* @returns {string} Markup of the component.
|
|
19
|
+
*/
|
|
20
|
+
const RelatedItemInEvidence = ({ content }) => {
|
|
21
|
+
const intl = useIntl();
|
|
22
|
+
return (
|
|
23
|
+
content?.correlato_in_evidenza?.length > 0 && (
|
|
24
|
+
<section
|
|
25
|
+
id="correlato-in-evidenza"
|
|
26
|
+
role="complementary"
|
|
27
|
+
aria-label={intl.formatMessage(messages.inEvidenceItems)}
|
|
28
|
+
>
|
|
29
|
+
<section className="section bg-primary">
|
|
30
|
+
<div className="section-content">
|
|
31
|
+
<Container>
|
|
32
|
+
<Row className="m-4">
|
|
33
|
+
<Col md={6} className="px-3">
|
|
34
|
+
<ItemInEvidence content={content} />
|
|
35
|
+
</Col>
|
|
36
|
+
</Row>
|
|
37
|
+
</Container>
|
|
38
|
+
</div>
|
|
39
|
+
</section>
|
|
40
|
+
</section>
|
|
41
|
+
)
|
|
42
|
+
);
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
export default RelatedItemInEvidence;
|
|
46
|
+
|
|
47
|
+
RelatedItemInEvidence.propTypes = {
|
|
48
|
+
content: PropTypes.shape({
|
|
49
|
+
'@id': PropTypes.string,
|
|
50
|
+
'@type': PropTypes.string,
|
|
51
|
+
title: PropTypes.string,
|
|
52
|
+
correlato_in_evidenza: PropTypes.array,
|
|
53
|
+
}),
|
|
54
|
+
};
|
|
@@ -105,6 +105,11 @@ export const RelatedItems = loadable(() =>
|
|
|
105
105
|
/* webpackChunkName: "ISViewsCommons" */ 'io-sanita-theme/components/View/commons/RelatedItems'
|
|
106
106
|
),
|
|
107
107
|
);
|
|
108
|
+
export const RelatedItemInEvidence = loadable(() =>
|
|
109
|
+
import(
|
|
110
|
+
/* webpackChunkName: "ISViewsCommons" */ 'io-sanita-theme/components/View/commons/RelatedItemInEvidence/RelatedItemInEvidence'
|
|
111
|
+
),
|
|
112
|
+
);
|
|
108
113
|
export const SearchSectionForm = loadable(() =>
|
|
109
114
|
import(
|
|
110
115
|
/* webpackChunkName: "ISViewsCommons" */ 'io-sanita-theme/components/View/commons/PageHeader/SearchSectionForm'
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import { Icon } from 'io-sanita-theme/components';
|
|
1
2
|
/*TODO:
|
|
2
3
|
- implementare il calcolo della distanza
|
|
3
4
|
*/
|
|
4
5
|
import React from 'react';
|
|
5
|
-
import { Icon } from 'io-sanita-theme/components';
|
|
6
6
|
|
|
7
7
|
const Address = ({ item, showAddress = true, showDistance, tag }) => {
|
|
8
8
|
const address_row_2 = ['zip_code', 'city', 'province']
|
|
@@ -15,6 +15,7 @@ const Address = ({ item, showAddress = true, showDistance, tag }) => {
|
|
|
15
15
|
typeof item.area_territoriale === 'object'
|
|
16
16
|
? item.area_territoriale && item.area_territoriale.value
|
|
17
17
|
: item.area_territoriale;
|
|
18
|
+
const distretto = item.distretto;
|
|
18
19
|
|
|
19
20
|
return item.street?.length > 0 || address_row_2.length ? (
|
|
20
21
|
<>
|
|
@@ -33,6 +34,12 @@ const Address = ({ item, showAddress = true, showDistance, tag }) => {
|
|
|
33
34
|
{address_row_2}
|
|
34
35
|
</>
|
|
35
36
|
)}
|
|
37
|
+
{distretto && (
|
|
38
|
+
<>
|
|
39
|
+
<br />
|
|
40
|
+
{item.distretto}
|
|
41
|
+
</>
|
|
42
|
+
)}
|
|
36
43
|
</AddressWrapperTag>
|
|
37
44
|
)}
|
|
38
45
|
{showDistance && (
|
package/src/helpers/Item/item.js
CHANGED
|
@@ -38,6 +38,8 @@ export const getItemIcon = (item) => {
|
|
|
38
38
|
export const hasGeolocation = (item) => {
|
|
39
39
|
return (
|
|
40
40
|
item?.geolocation &&
|
|
41
|
+
item?.geolocation?.latitude &&
|
|
42
|
+
item?.geolocation?.longitude &&
|
|
41
43
|
item?.geolocation?.latitude !== 0 &&
|
|
42
44
|
item?.geolocation?.longitude !== 0
|
|
43
45
|
);
|
package/src/theme/main.scss
CHANGED
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
@import './io-sanita/components/cards';
|
|
28
28
|
@import './io-sanita/components/mapPinDirections';
|
|
29
29
|
@import './io-sanita/components/view/commons/pageHeader';
|
|
30
|
+
@import './io-sanita/components/relatedItemInEvidence';
|
|
30
31
|
|
|
31
32
|
@import './io-sanita/components/blocks/common';
|
|
32
33
|
@import './io-sanita/components/blocks/skeleton';
|