-
+
{intl.formatMessage(messages.searchResults)}
diff --git a/src/components/ItaliaTheme/View/ServizioView/ServizioMetatag.jsx b/src/components/ItaliaTheme/View/ServizioView/ServizioMetatag.jsx
index 0e89643ac..975927c43 100644
--- a/src/components/ItaliaTheme/View/ServizioView/ServizioMetatag.jsx
+++ b/src/components/ItaliaTheme/View/ServizioView/ServizioMetatag.jsx
@@ -44,7 +44,7 @@ const ServizioMetatag = ({ content }) => {
if (richTextHasContent(content.a_chi_si_rivolge)) {
schemaOrg.audience = {
'@type': 'Audience',
- name: fieldDataToPlainText(content.a_chi_si_rivolge),
+ audienceType: fieldDataToPlainText(content.a_chi_si_rivolge),
};
}
@@ -52,8 +52,6 @@ const ServizioMetatag = ({ content }) => {
schemaOrg.availableChannel.serviceUrl = toPublicURL(
content.canale_digitale_link,
);
- } else {
- schemaOrg.availableChannel.serviceUrl = '';
}
if (content.ufficio_responsabile[0]) {
diff --git a/src/config/Blocks/ListingOptions/utils.js b/src/config/Blocks/ListingOptions/utils.js
index b9eb9f7d9..97bcdd542 100644
--- a/src/config/Blocks/ListingOptions/utils.js
+++ b/src/config/Blocks/ListingOptions/utils.js
@@ -164,7 +164,6 @@ export const addLighthouseField = (schema, intl, position = 0) => {
['service-category-link', 'service-category-link'],
['topic-element', 'topic-element'],
['service-link', 'service-link'],
- ['administration-element', 'administration-element'],
['management-category-link', 'management-category-link'],
['news-category-link', 'news-category-link'],
['custom-category-link', 'custom-category-link'],
diff --git a/src/config/italiaConfig.js b/src/config/italiaConfig.js
index a764c70d3..c1d0fd3de 100644
--- a/src/config/italiaConfig.js
+++ b/src/config/italiaConfig.js
@@ -6,7 +6,7 @@ import contentSVG from '@plone/volto/icons/content.svg';
import bookSVG from '@plone/volto/icons/book.svg';
import shareSVG from '@plone/volto/icons/share.svg';
import searchIcon from 'bootstrap-italia/src/svg/it-search.svg';
-
+import { defineMessages } from 'react-intl';
import { Search } from '@plone/volto/components';
import {
@@ -69,6 +69,13 @@ const ReleaseLog = loadable(
() => import('design-comuni-plone-theme/components/ReleaseLog/ReleaseLog'),
);
+const messages = defineMessages({
+ search_brdc: {
+ id: 'search_brdc',
+ defaultMessage: 'Ricerca',
+ },
+});
+
export default function applyConfig(voltoConfig) {
let config = applyItaliaSlateConfig(voltoConfig);
@@ -457,6 +464,7 @@ export default function applyConfig(voltoConfig) {
{
path: '/**/search',
component: Search,
+ breadcrumbs_title: messages.search_brdc,
},
{
path: ['/login', '/**/login'],
diff --git a/src/customizations/volto/components/manage/Blocks/Listing/ListingBody.jsx b/src/customizations/volto/components/manage/Blocks/Listing/ListingBody.jsx
index c9c980914..cad27aa3f 100644
--- a/src/customizations/volto/components/manage/Blocks/Listing/ListingBody.jsx
+++ b/src/customizations/volto/components/manage/Blocks/Listing/ListingBody.jsx
@@ -93,13 +93,6 @@ const ListingBody = React.memo(
// Also need to purge title from searchblock schema, it's the name of the listing template used
const listingBodyProps =
variation?.['@type'] !== 'search' ? data : { ...variation, title: '' };
-
- // Need to know if data-element is "service-link"
- // to add data-element="pager-link" to pagination links
- const isServiceLink =
- data?.id_lighthouse === 'service-link' ||
- variation?.id_lighthouse === 'service-link';
-
return (
{loadingQuery && (
@@ -130,7 +123,6 @@ const ListingBody = React.memo(
activePage={currentPage}
totalPages={totalPages}
onPageChange={onPaginationChange}
- isServiceLink={isServiceLink}
/>
)}
diff --git a/src/reducers/breadcrumbs.js b/src/reducers/breadcrumbs.js
new file mode 100644
index 000000000..ffc4f58c9
--- /dev/null
+++ b/src/reducers/breadcrumbs.js
@@ -0,0 +1,89 @@
+/**
+ * Breadcrumbs reducer.
+ * @module reducers/breadcrumbs/breadcrumbs
+ */
+
+import { map } from 'lodash';
+import {
+ flattenToAppURL,
+ getBaseUrl,
+ hasApiExpander,
+} from '@plone/volto/helpers';
+
+import {
+ GET_BREADCRUMBS,
+ GET_CONTENT,
+} from '@plone/volto/constants/ActionTypes';
+
+const initialState = {
+ error: null,
+ items: [],
+ root: null,
+ loaded: false,
+ loading: false,
+};
+
+/**
+ * Breadcrumbs reducer.
+ * @function breadcrumbs
+ * @param {Object} state Current state.
+ * @param {Object} action Action to be handled.
+ * @returns {Object} New state.
+ */
+export function breadcrumbs(state = initialState, action = {}) {
+ let hasExpander;
+ switch (action.type) {
+ case `${GET_BREADCRUMBS}_PENDING`:
+ return {
+ ...state,
+ error: null,
+ loaded: false,
+ loading: true,
+ };
+ case `${GET_CONTENT}_SUCCESS`:
+ hasExpander = hasApiExpander(
+ 'breadcrumbs',
+ getBaseUrl(flattenToAppURL(action.result['@id'])),
+ );
+ if (hasExpander && !action.subrequest) {
+ return {
+ ...state,
+ error: null,
+ items: map(
+ action.result['@components'].breadcrumbs.items,
+ (item) => ({
+ title: item.title,
+ url: flattenToAppURL(item['@id']),
+ }),
+ ),
+ root: flattenToAppURL(action.result['@components'].breadcrumbs.root),
+ loaded: true,
+ loading: false,
+ };
+ }
+ return state;
+ case `${GET_BREADCRUMBS}_SUCCESS`:
+ return {
+ ...state,
+ error: null,
+ items: map(action.result.items, (item) => ({
+ title: item.title,
+ url: flattenToAppURL(item['@id']),
+ })),
+ root: flattenToAppURL(action.result.root),
+ loaded: true,
+ loading: false,
+ };
+
+ case `${GET_BREADCRUMBS}_FAIL`:
+ return {
+ ...state,
+ error: action.error,
+ items: [],
+ loaded: false,
+ loading: false,
+ };
+ default:
+ return state;
+ }
+}
diff --git a/src/reducers/index.js b/src/reducers/index.js
index 0f5675576..9ec3c1e5c 100644
--- a/src/reducers/index.js
+++ b/src/reducers/index.js
@@ -12,6 +12,7 @@ import { dettagliProcedimento } from './dettagliProcedimento';
import { modulisticaItems } from './modulisticaItems';
import { originalQueryReducer } from './originalQueryReducer';
import { searchBandiFiltersReducer } from './searchBandiFiltersReducer';
+import { breadcrumbs } from './breadcrumbs';
/**
* Root reducer.
@@ -30,6 +31,7 @@ const reducers = {
modulisticaItems,
originalQuery: originalQueryReducer,
searchBandiFilters: searchBandiFiltersReducer,
+ breadcrumbs: breadcrumbs,
};
export default reducers;
diff --git a/src/theme/ItaliaTheme/Blocks/_calendar.scss b/src/theme/ItaliaTheme/Blocks/_calendar.scss
index ed2f7999c..7377381ee 100644
--- a/src/theme/ItaliaTheme/Blocks/_calendar.scss
+++ b/src/theme/ItaliaTheme/Blocks/_calendar.scss
@@ -6,6 +6,11 @@
}
.template-header {
+ h2 {
+ @include rem-size(font-size, 32);
+ @include rem-size(line-height, 32);
+ }
+
&.with-filters {
/* border-bottom: 1px solid $neutral-1-a2;*/
margin-bottom: 1em;
diff --git a/src/theme/ItaliaTheme/Views/_common.scss b/src/theme/ItaliaTheme/Views/_common.scss
index 2074766d5..f9e4e2aca 100644
--- a/src/theme/ItaliaTheme/Views/_common.scss
+++ b/src/theme/ItaliaTheme/Views/_common.scss
@@ -102,6 +102,11 @@ picture.volto-image.responsive img.full-width {
}
.genericcard {
+ .img-wrapper {
+ display: flex;
+ // align-items: center;
+ }
+
.card-title {
margin: 0 !important;
margin-bottom: 0.625rem !important;
diff --git a/src/theme/ItaliaTheme/Widgets/_dataGridWidget.scss b/src/theme/ItaliaTheme/Widgets/_dataGridWidget.scss
index 59388159b..0591509f2 100644
--- a/src/theme/ItaliaTheme/Widgets/_dataGridWidget.scss
+++ b/src/theme/ItaliaTheme/Widgets/_dataGridWidget.scss
@@ -32,21 +32,10 @@
}
.row {
- position: relative;
- flex-direction: row;
- flex-wrap: wrap;
-
.column.field-column {
width: unset !important ;
flex-basis: 45%;
-
- &:not(:nth-last-child(2)) {
- flex-grow: 0;
- }
-
- &:nth-child(2n) {
- flex-grow: 0;
- }
+ flex-grow: 0;
.ui.input {
width: 100% !important;
diff --git a/yarn.lock b/yarn.lock
index 81757174e..a74e5389f 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -6572,7 +6572,7 @@ __metadata:
typeface-roboto-mono: 0.0.75
typeface-titillium-web: 0.0.72
volto-blocks-widget: 3.1.0
- volto-data-grid-widget: 2.2.3
+ volto-data-grid-widget: 2.3.1
volto-dropdownmenu: 4.1.0
volto-editablefooter: 5.0.3
volto-feedback: 0.1.5
@@ -6580,6 +6580,7 @@ __metadata:
volto-gdpr-privacy: 2.1.0
volto-google-analytics: 2.0.0
volto-multilingual-widget: 3.0.0
+ volto-querywidget-with-browser: 0.4.0
volto-rss-block: 3.0.0
volto-secondarymenu: 4.0.0
volto-social-settings: 3.0.0
@@ -14384,12 +14385,12 @@ __metadata:
languageName: node
linkType: hard
-"volto-data-grid-widget@npm:2.2.3":
- version: 2.2.3
- resolution: "volto-data-grid-widget@npm:2.2.3"
+"volto-data-grid-widget@npm:2.3.1":
+ version: 2.3.1
+ resolution: "volto-data-grid-widget@npm:2.3.1"
peerDependencies:
"@plone/volto": ">=16.0.0-alpha.38"
- checksum: 17f680b8b4f4d598b32c536df098befe8dc0eef275dc93cb887b391dbe09b34724989380c2e2f6d008660ef5d8ed66d5b377b6f0a92fcc543d7a896950ea6f12
+ checksum: a464c7cbc7a4eef49bb0753c713fdd54842c425cb58dfb06c2debe85714ca5ca00e563bcefc00b21d4d3d05d225f16cf642b4a95197022953faf4f0071cdb0ea
languageName: node
linkType: hard
@@ -14474,6 +14475,15 @@ __metadata:
languageName: node
linkType: hard
+"volto-querywidget-with-browser@npm:0.4.0":
+ version: 0.4.0
+ resolution: "volto-querywidget-with-browser@npm:0.4.0"
+ peerDependencies:
+ "@plone/volto": ^17.0.0
+ checksum: ac57171aa9aa89617afb25814cdcf7e434f3efbeb6e1477db6163aee1b8ec08173e8df86cb2a2ef05d21c9a64b66174e72fd5ba621412a25fb809dc89058b9e9
+ languageName: node
+ linkType: hard
+
"volto-rss-block@npm:3.0.0":
version: 3.0.0
resolution: "volto-rss-block@npm:3.0.0"