diff --git a/packages/ripple-tide-api/src/services/tide-page.ts b/packages/ripple-tide-api/src/services/tide-page.ts index 3f41a95ddc..0d36d86424 100644 --- a/packages/ripple-tide-api/src/services/tide-page.ts +++ b/packages/ripple-tide-api/src/services/tide-page.ts @@ -72,7 +72,7 @@ export default class TidePageApi extends TideApiBase { ...data }) } else if (typeof componentMapping === 'function') { - const data = componentMapping.apply(this, [cmpData, pageData]) + const data = componentMapping.apply(this, [cmpData, pageData, this]) mappedComponents.push({ uuid: cmpData.uuid || cmpData.id, ...data diff --git a/packages/ripple-tide-landing-page/components/global/TideLandingPage/ContentCollection.vue b/packages/ripple-tide-landing-page/components/global/TideLandingPage/ContentCollection.vue index 6591d702a7..809fa859d2 100644 --- a/packages/ripple-tide-landing-page/components/global/TideLandingPage/ContentCollection.vue +++ b/packages/ripple-tide-landing-page/components/global/TideLandingPage/ContentCollection.vue @@ -112,15 +112,6 @@ const searchResultsMappingFn = (item): any => { } } -const searchFilters = computed(() => { - if (!config.tide?.site) return props.filters - - return [ - ...props.filters, - { type: 'any', field: 'field_node_site', values: [config.tide.site] } - ] -}) - const searchDriverOptions = { trackUrlState: false, alwaysSearchOnInitialLoad: true, @@ -129,7 +120,7 @@ const searchDriverOptions = { sortList: props.sortBy }, searchQuery: { - filters: searchFilters.value, + filters: props.filters, result_fields: { title: { raw: { diff --git a/packages/ripple-tide-landing-page/mapping/components/content-collection/content-collection-mapping.ts b/packages/ripple-tide-landing-page/mapping/components/content-collection/content-collection-mapping.ts index d354deb14d..6292b9e1c4 100644 --- a/packages/ripple-tide-landing-page/mapping/components/content-collection/content-collection-mapping.ts +++ b/packages/ripple-tide-landing-page/mapping/components/content-collection/content-collection-mapping.ts @@ -49,7 +49,8 @@ export interface ITideContentCollectionConfig { } const getContentCollectionFiltersFromConfig = ( - config: ITideContentCollectionConfig + config: ITideContentCollectionConfig, + siteId?: string ): IContentCollectionFilter[] => { const filters = [] if (config.internal?.contentTypes) { @@ -69,6 +70,15 @@ const getContentCollectionFiltersFromConfig = ( ) filters.push(...contentFieldFilters) } + + if (siteId) { + filters.push({ + type: 'any', + field: 'field_node_site', + values: [siteId] + }) + } + return filters } @@ -91,7 +101,9 @@ const getContentCollectionSortBy = (config) => { } export const contentCollectionMapping = ( - field + field, + pageData, + TidePageApi ): TideDynamicPageComponent => { return { component: 'TideLandingPageContentCollection', @@ -104,7 +116,8 @@ export const contentCollectionMapping = ( 'callToAction' ]), filters: getContentCollectionFiltersFromConfig( - field.field_content_collection_config + field.field_content_collection_config, + TidePageApi?.site ), sortBy: getContentCollectionSortBy(field.field_content_collection_config), perPage: getField(