@zengenti/contensis-react-base 3.0.2-beta.2 → 3.0.2-beta.21
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/cjs/{App-ee485b92.js → App-21a7d836.js} +120 -432
- package/cjs/App-21a7d836.js.map +1 -0
- package/cjs/ContensisDeliveryApi-c079b03a.js +231 -0
- package/cjs/ContensisDeliveryApi-c079b03a.js.map +1 -0
- package/cjs/{RouteLoader-3aa6456e.js → RouteLoader-7f0d107a.js} +23 -37
- package/{esm/RouteLoader-5171c63f.js.map → cjs/RouteLoader-7f0d107a.js.map} +1 -1
- package/cjs/{ToJs-a9a8522b.js → ToJs-6e9cfa69.js} +3 -4
- package/cjs/{ToJs-a9a8522b.js.map → ToJs-6e9cfa69.js.map} +1 -1
- package/cjs/client.js +20 -27
- package/cjs/client.js.map +1 -1
- package/cjs/contensis-react-base.js +124 -188
- package/cjs/contensis-react-base.js.map +1 -1
- package/cjs/forms.js +1488 -272
- package/cjs/forms.js.map +1 -1
- package/cjs/{fromJSLeaveImmer-e74c673c.js → fromJSLeaveImmer-7c363211.js} +1 -4
- package/cjs/{fromJSLeaveImmer-e74c673c.js.map → fromJSLeaveImmer-7c363211.js.map} +1 -1
- package/cjs/{login-840860bc.js → login-2a6b5be0.js} +64 -113
- package/cjs/login-2a6b5be0.js.map +1 -0
- package/cjs/{reducers-3a4f8971.js → reducers-9afb5f89.js} +14 -31
- package/cjs/reducers-9afb5f89.js.map +1 -0
- package/cjs/redux.js +17 -17
- package/cjs/redux.js.map +1 -1
- package/cjs/routing.js +6 -7
- package/cjs/routing.js.map +1 -1
- package/cjs/{sagas-8a20e424.js → sagas-e04b94c1.js} +225 -301
- package/cjs/sagas-e04b94c1.js.map +1 -0
- package/cjs/search.js +68 -94
- package/cjs/search.js.map +1 -1
- package/cjs/{selectors-656da4b7.js → selectors-bcca60f4.js} +89 -8
- package/cjs/selectors-bcca60f4.js.map +1 -0
- package/cjs/urls-6fcaf4c6.js.map +1 -1
- package/cjs/user.js +4 -13
- package/cjs/user.js.map +1 -1
- package/cjs/util.js +45 -53
- package/cjs/util.js.map +1 -1
- package/cjs/{version-78dfc3bd.js → version-4077e706.js} +50 -159
- package/cjs/version-4077e706.js.map +1 -0
- package/cjs/version-fe28099e.js +98 -0
- package/cjs/version-fe28099e.js.map +1 -0
- package/esm/{App-640239d2.js → App-2af18a99.js} +102 -412
- package/esm/App-2af18a99.js.map +1 -0
- package/esm/ContensisDeliveryApi-5660ee0e.js +227 -0
- package/esm/ContensisDeliveryApi-5660ee0e.js.map +1 -0
- package/esm/{RouteLoader-5171c63f.js → RouteLoader-6eac364e.js} +22 -36
- package/{cjs/RouteLoader-3aa6456e.js.map → esm/RouteLoader-6eac364e.js.map} +1 -1
- package/esm/{ToJs-4e02a04d.js → ToJs-9b30636a.js} +3 -4
- package/esm/{ToJs-4e02a04d.js.map → ToJs-9b30636a.js.map} +1 -1
- package/esm/client.js +15 -22
- package/esm/client.js.map +1 -1
- package/esm/contensis-react-base.js +119 -183
- package/esm/contensis-react-base.js.map +1 -1
- package/esm/forms.js +1490 -274
- package/esm/forms.js.map +1 -1
- package/esm/{fromJSLeaveImmer-0114ffcf.js → fromJSLeaveImmer-e2dacd63.js} +1 -4
- package/esm/{fromJSLeaveImmer-0114ffcf.js.map → fromJSLeaveImmer-e2dacd63.js.map} +1 -1
- package/esm/{login-57395c9c.js → login-71ff3fcb.js} +63 -112
- package/esm/login-71ff3fcb.js.map +1 -0
- package/esm/{reducers-8e5d6232.js → reducers-3d5c37d1.js} +14 -31
- package/esm/reducers-3d5c37d1.js.map +1 -0
- package/esm/redux.js +9 -8
- package/esm/redux.js.map +1 -1
- package/esm/routing.js +3 -4
- package/esm/routing.js.map +1 -1
- package/esm/{sagas-e576b6f6.js → sagas-933a8fc8.js} +177 -254
- package/esm/sagas-933a8fc8.js.map +1 -0
- package/esm/search.js +69 -95
- package/esm/search.js.map +1 -1
- package/esm/{selectors-a5e5835b.js → selectors-74de49a3.js} +75 -8
- package/esm/selectors-74de49a3.js.map +1 -0
- package/esm/urls-eac9a747.js.map +1 -1
- package/esm/user.js +6 -15
- package/esm/user.js.map +1 -1
- package/esm/util.js +42 -53
- package/esm/util.js.map +1 -1
- package/esm/version-b15807c5.js +87 -0
- package/esm/version-b15807c5.js.map +1 -0
- package/esm/{version-e3a5ec66.js → version-ef107106.js} +37 -142
- package/esm/version-ef107106.js.map +1 -0
- package/models/redux/appstate.d.ts +1 -0
- package/models/routing/redux/selectors.d.ts +2 -1
- package/models/search/models/Queries.d.ts +2 -1
- package/models/search/models/Search.d.ts +2 -0
- package/models/search/models/SearchActions.d.ts +3 -3
- package/models/search/redux/actions.d.ts +6 -6
- package/models/search/redux/util.d.ts +1 -1
- package/models/search/search/expressions.d.ts +1 -1
- package/models/server/features/linkdepth-api/search.d.ts +1 -1
- package/models/util/ContensisDeliveryApi.d.ts +6 -0
- package/models/util/index.d.ts +1 -0
- package/package.json +1 -1
- package/cjs/App-ee485b92.js.map +0 -1
- package/cjs/actions-8dc9e8de.js +0 -87
- package/cjs/actions-8dc9e8de.js.map +0 -1
- package/cjs/login-840860bc.js.map +0 -1
- package/cjs/reducers-3a4f8971.js.map +0 -1
- package/cjs/sagas-8a20e424.js.map +0 -1
- package/cjs/selectors-656da4b7.js.map +0 -1
- package/cjs/version-78dfc3bd.js.map +0 -1
- package/cjs/version-eba6d09b.js +0 -20
- package/cjs/version-eba6d09b.js.map +0 -1
- package/esm/App-640239d2.js.map +0 -1
- package/esm/actions-180948dd.js +0 -72
- package/esm/actions-180948dd.js.map +0 -1
- package/esm/login-57395c9c.js.map +0 -1
- package/esm/reducers-8e5d6232.js.map +0 -1
- package/esm/sagas-e576b6f6.js.map +0 -1
- package/esm/selectors-a5e5835b.js.map +0 -1
- package/esm/version-2485e2fb.js +0 -15
- package/esm/version-2485e2fb.js.map +0 -1
- package/esm/version-e3a5ec66.js.map +0 -1
package/esm/search.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sources":["../node_modules/zengenti-search-package/src/app/zengenti-search-package/search/ToJs.tsx","../node_modules/zengenti-search-package/src/app/zengenti-search-package/containers/withSearch.tsx","../node_modules/zengenti-search-package/src/app/zengenti-search-package/containers/withListing.tsx","../node_modules/zengenti-search-package/src/app/zengenti-search-package/transformations/index.ts","../node_modules/zengenti-search-package/src/app/zengenti-search-package/hooks/useFacets.hook.tsx","../node_modules/zengenti-search-package/src/app/zengenti-search-package/hooks/useListing.hook.tsx","../node_modules/zengenti-search-package/src/app/zengenti-search-package/hooks/useMinilist.hook.tsx","../node_modules/zengenti-search-package/src/app/zengenti-search-package/redux/schema.ts","../node_modules/zengenti-search-package/src/app/zengenti-search-package/redux/reducers.ts","../node_modules/zengenti-search-package/src/app/zengenti-search-package/index.ts"],"sourcesContent":["/* eslint-disable import/default */\n/* eslint-disable react/display-name */\n/* eslint-disable @typescript-eslint/naming-convention */\nimport React from 'react';\n\nexport const toJS =\n <Props extends { [key: string]: any }>(\n WrappedComponent: React.ComponentType<Props>\n ): React.ComponentType<Props> =>\n (wrappedComponentProps: Props) => {\n const KEY = 0;\n const VALUE = 1;\n\n const propsJS = Object.entries(wrappedComponentProps).reduce<Props>(\n (newProps: any, wrappedComponentProp) => {\n const propKey = wrappedComponentProp[KEY];\n const propValue = wrappedComponentProp[VALUE];\n newProps[propKey] =\n propValue && typeof propValue === 'object' && 'toJS' in propValue\n ? propValue.toJS()\n : propValue;\n return newProps as Props;\n },\n {} as Props\n );\n\n return <WrappedComponent {...propsJS} />;\n };\n","// eslint-disable-next-line import/default\nimport React from 'react';\nimport { connect } from 'react-redux';\n\nimport { toJS } from '../search/ToJs';\nimport {\n clearFilters,\n updateCurrentFacet,\n updateCurrentTab,\n updatePageIndex,\n updatePageSize,\n updateSearchTerm,\n updateSelectedFilters,\n updateSortOrder,\n withMappers,\n} from '../redux/actions';\nimport {\n getCurrentFacet,\n getCurrentTab,\n getFacet,\n getFacetTitles,\n getFacetsTotalCount,\n getFeaturedResults,\n getIsLoading,\n getPageIndex,\n getPageIsLoading,\n getPaging,\n getQueryParameter,\n getRenderableFilters,\n getResults,\n getSearchTerm,\n getSearchTotalCount,\n getSelectedFilters,\n getTabFacets,\n getTabsAndFacets,\n getTotalCount,\n} from '../redux/selectors';\nimport { Mappers } from '../models/Search';\nimport { SearchProps } from '../models/SearchProps';\nimport { AppState } from '../models/SearchState';\n\nconst withSearch =\n (mappers: Mappers) =>\n <Props extends Record<string, any>>(\n SearchComponent: React.ComponentType<Props>\n ) => {\n const Wrapper: React.FC<Props & SearchProps<any>> = props => {\n return <SearchComponent {...props} />;\n };\n\n Wrapper.displayName = `withSearch(${\n SearchComponent.displayName || SearchComponent.name\n })`;\n\n const mapStateToProps = (state: AppState) => {\n return {\n currentFacet: getCurrentFacet(state),\n currentPageIndex: getPageIndex(state),\n currentTabIndex: getCurrentTab(state),\n facet: getFacet(state),\n facets: getTabFacets(state),\n facetsTotalCount: getFacetsTotalCount(state),\n facetTitles: getFacetTitles(state),\n featuredResults: getFeaturedResults(state),\n filters: getRenderableFilters(state),\n isLoading: getIsLoading(state),\n paging: getPaging(state),\n pageIsLoading: getPageIsLoading(state),\n results: getResults(state),\n resultsInfo: mappers?.resultsInfo && mappers.resultsInfo(state),\n searchTerm: getSearchTerm(state),\n searchTotalCount: getSearchTotalCount(state),\n selectedFilters: getSelectedFilters(state),\n sortOrder: getQueryParameter({ state }, 'dynamicOrderBy', []),\n tabsAndFacets: getTabsAndFacets(state),\n totalCount: getTotalCount(state),\n };\n };\n\n const mapDispatchToProps = {\n clearFilters: (filterKey?: string) =>\n withMappers(clearFilters(filterKey), mappers),\n updateCurrentFacet: (facet: string) =>\n withMappers(updateCurrentFacet(facet), mappers),\n updateCurrentTab: (id: number) =>\n withMappers(updateCurrentTab(id), mappers),\n updatePageIndex: (pageIndex: number, scrollYPos?: number) =>\n withMappers(updatePageIndex(pageIndex, scrollYPos), mappers),\n updatePageSize: (pageSize: number, scrollYPos?: number) =>\n withMappers(updatePageSize(pageSize, scrollYPos), mappers),\n updateSearchTerm: (term: string) =>\n withMappers(updateSearchTerm(term), mappers),\n updateSelectedFilters: (\n filter: string,\n key: string,\n isUnknownItem = false,\n scrollYPos?: number\n ) =>\n withMappers(\n updateSelectedFilters(filter, key, isUnknownItem, scrollYPos),\n mappers\n ),\n updateSortOrder: (orderBy: string) =>\n withMappers(updateSortOrder(orderBy), mappers),\n };\n\n const connector = connect(mapStateToProps, mapDispatchToProps);\n\n return connector(toJS(Wrapper) as any);\n };\n\nexport default withSearch;\n","/* eslint-disable @typescript-eslint/naming-convention */\n// eslint-disable-next-line import/default\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport { toJS } from '../search/ToJs';\nimport {\n clearFilters,\n updateCurrentFacet,\n updatePageIndex,\n updatePageSize,\n updateSearchTerm,\n updateSelectedFilters,\n updateSortOrder,\n withMappers,\n} from '../redux/actions';\nimport { selectListing } from '../redux/selectors';\nimport { Mappers } from '../models/Search';\nimport { AppState } from '../models/SearchState';\nimport { ListingProps } from '../models/SearchProps';\n\nconst withListing =\n (mappers: Mappers) =>\n <Props extends Record<string, any>>(ListingComponent: React.FC<Props>) => {\n const Wrapper: React.FC<Props & ListingProps<any>> = props => {\n return <ListingComponent {...props} />;\n };\n\n Wrapper.displayName = `withListing(${\n ListingComponent.displayName || ListingComponent.name\n })`;\n\n const {\n getCurrent,\n getFeaturedResults,\n getIsLoading,\n getListing,\n getPageIndex,\n getPaging,\n getQueryParameter,\n getRenderableFilters,\n getResults,\n getSearchTerm,\n getSelectedFilters,\n } = selectListing;\n\n const mapStateToProps = (state: AppState) => {\n return {\n currentListing: getCurrent(state),\n currentPageIndex: getPageIndex(state),\n listing: getListing(state),\n featured: getFeaturedResults(state),\n filters: getRenderableFilters(state),\n isLoading: getIsLoading(state),\n paging: getPaging(state),\n results: getResults(state),\n resultsInfo:\n mappers &&\n typeof mappers.resultsInfo === 'function' &&\n mappers.resultsInfo(state),\n searchTerm: getSearchTerm(state),\n selectedFilters: getSelectedFilters(state),\n sortOrder: getQueryParameter({ state }, 'dynamicOrderBy', []),\n };\n };\n\n const mapDispatchToProps = {\n clearFilters: (filterKey?: string) =>\n withMappers(clearFilters(filterKey), mappers),\n updateCurrentFacet: (facet: string) =>\n withMappers(updateCurrentFacet(facet), mappers),\n updatePageIndex: (pageIndex: number, scrollYPos?: number) =>\n withMappers(updatePageIndex(pageIndex, scrollYPos), mappers),\n updatePageSize: (pageSize: number, scrollYPos?: number) =>\n withMappers(updatePageSize(pageSize, scrollYPos), mappers),\n updateSearchTerm: (term: string) =>\n withMappers(updateSearchTerm(term), mappers),\n updateSelectedFilters: (\n filter: string,\n key: string,\n isUnknownItem = false,\n scrollYPos?: number\n ) =>\n withMappers(\n updateSelectedFilters(filter, key, isUnknownItem, scrollYPos),\n mappers\n ),\n updateSortOrder: (orderBy: string) =>\n withMappers(updateSortOrder(orderBy), mappers),\n };\n\n return connect(mapStateToProps, mapDispatchToProps)(toJS(Wrapper) as any);\n };\n\nexport default withListing;\n","import { Mappers } from '../models/Search';\nimport mapStateToSearchUri from './state-to-searchuri';\n\nexport default {\n results: entries => entries,\n navigate: mapStateToSearchUri,\n} as Mappers;\n","import { useMemo } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { createSelector } from 'reselect';\nimport {\n clearFilters,\n updateCurrentFacet,\n updateCurrentTab,\n updatePageIndex,\n updatePageSize,\n updateSearchTerm,\n updateSelectedFilters,\n updateSortOrder,\n withMappers,\n} from '../redux/actions';\nimport defaultMappers from '../transformations';\nimport { Context } from '../models/Enums';\nimport { SearchProps, UseFacetsProps } from '../models/SearchProps';\nimport { AppState } from '../models/SearchState';\nimport {\n getPaging,\n getResults,\n getSelectedFilters,\n selectFacets,\n} from '../redux/selectors';\nimport { Mappers } from '../models/Search';\nconst {\n getCurrent,\n getCurrentTab,\n getFacet,\n getFacetsTotalCount,\n getFacetTitles,\n getFeaturedResults,\n getIsLoading,\n getPageIndex,\n getPageIsLoading,\n getQueryParameter,\n getRenderableFilters,\n getSearchTerm,\n getSearchTotalCount,\n getTabFacets,\n getTabsAndFacets,\n getTotalCount,\n} = selectFacets;\n\nconst makeSelectFacetsProps = () =>\n createSelector(\n (state: AppState) => state,\n (_: any, mappers: Mappers) => mappers,\n (state: AppState, mappers: Mappers) => ({\n currentFacet: getCurrent(state),\n currentPageIndex: getPageIndex(state),\n currentTabIndex: getCurrentTab(state),\n facet: getFacet(state),\n facetTitles: getFacetTitles(state),\n facets: getTabFacets(state),\n facetsTotalCount: getFacetsTotalCount(state),\n featured: getFeaturedResults(state),\n filters: getRenderableFilters(state),\n isLoading: getIsLoading(state),\n pageIsLoading: getPageIsLoading(state),\n paging: getPaging(state, '', Context.facets, 'js'),\n results: getResults(state, '', Context.facets, 'js'),\n resultsInfo:\n mappers &&\n typeof mappers.resultsInfo === 'function' &&\n mappers.resultsInfo(state),\n searchTerm: getSearchTerm(state),\n searchTotalCount: getSearchTotalCount(state),\n selectedFilters: getSelectedFilters(state, '', Context.facets, 'js'),\n sortOrder: getQueryParameter({ state }, 'dynamicOrderBy', []),\n tabsAndFacets: getTabsAndFacets(state),\n totalCount: getTotalCount(state),\n })\n );\n\nconst useFacets = <SearchResults extends Record<string, any>>(\n { mappers }: UseFacetsProps = {\n id: '',\n }\n) => {\n const dispatch = useDispatch();\n\n const m = mappers || defaultMappers;\n\n const selectListingProps = useMemo(makeSelectFacetsProps, [m]);\n\n const dispatchProps = {\n clearFilters: (filterKey?: string) =>\n dispatch(withMappers(clearFilters(filterKey), m)),\n updateCurrentFacet: (facet: string) =>\n dispatch(withMappers(updateCurrentFacet(facet), m)),\n updateCurrentTab: (id: number) => withMappers(updateCurrentTab(id), m),\n updatePageIndex: (pageIndex: number, scrollYPos?: number) =>\n dispatch(withMappers(updatePageIndex(pageIndex, scrollYPos), m)),\n updatePageSize: (pageSize: number, scrollYPos?: number) =>\n dispatch(withMappers(updatePageSize(pageSize, scrollYPos), m)),\n updateSearchTerm: (term: string) =>\n dispatch(withMappers(updateSearchTerm(term), m)),\n updateSelectedFilters: (\n filter: string,\n key: string,\n isUnknownItem = false,\n scrollYPos?: number\n ) =>\n dispatch(\n withMappers(\n updateSelectedFilters(filter, key, isUnknownItem, scrollYPos),\n m\n )\n ),\n updateSortOrder: (orderBy: string) =>\n dispatch(withMappers(updateSortOrder(orderBy), m)),\n };\n\n const {\n currentFacet,\n currentPageIndex,\n currentTabIndex,\n facet,\n facets,\n facetsTotalCount,\n facetTitles,\n featured,\n filters,\n isLoading,\n paging,\n pageIsLoading,\n results,\n resultsInfo,\n searchTerm,\n searchTotalCount,\n selectedFilters,\n sortOrder,\n tabsAndFacets,\n totalCount,\n } = useSelector((state: AppState) => selectListingProps(state, m));\n\n return {\n currentFacet,\n currentPageIndex,\n currentTabIndex,\n facet,\n facets,\n facetsTotalCount,\n facetTitles,\n featured,\n filters,\n isLoading,\n paging,\n pageIsLoading,\n results,\n resultsInfo,\n searchTerm,\n searchTotalCount,\n selectedFilters,\n sortOrder,\n tabsAndFacets,\n totalCount,\n ...dispatchProps,\n } as SearchProps<SearchResults>;\n};\n\nexport default useFacets;\n","import { useMemo } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { createSelector } from 'reselect';\nimport {\n clearFilters,\n updateCurrentFacet,\n updatePageIndex,\n updatePageSize,\n updateSearchTerm,\n updateSelectedFilters,\n updateSortOrder,\n withMappers,\n} from '../redux/actions';\nimport defaultMappers from '../transformations';\nimport { Context } from '../models/Enums';\nimport { ListingProps, UseListingProps } from '../models/SearchProps';\nimport { AppState } from '../models/SearchState';\nimport {\n getPaging,\n getResults,\n getSelectedFilters,\n selectListing,\n} from '../redux/selectors';\nimport { Mappers } from '../models/Search';\nconst {\n getCurrent,\n getFeaturedResults,\n getIsLoading,\n getListing,\n getPageIndex,\n getPageIsLoading,\n getQueryParameter,\n getRenderableFilters,\n getSearchTerm,\n} = selectListing;\n\nconst makeSelectListingProps = () =>\n createSelector(\n (state: AppState) => state,\n (_: any, mappers: Mappers) => mappers,\n (state: AppState, mappers: Mappers) => ({\n currentListing: getCurrent(state),\n currentPageIndex: getPageIndex(state),\n listing: getListing(state),\n featured: getFeaturedResults(state),\n filters: getRenderableFilters(state),\n isLoading: getIsLoading(state),\n pageIsLoading: getPageIsLoading(state),\n paging: getPaging(state, '', Context.listings, 'js'),\n results: getResults(state, '', Context.listings, 'js'),\n resultsInfo:\n mappers &&\n typeof mappers.resultsInfo === 'function' &&\n mappers.resultsInfo(state),\n searchTerm: getSearchTerm(state),\n selectedFilters: getSelectedFilters(state, '', Context.listings, 'js'),\n sortOrder: getQueryParameter({ state }, 'dynamicOrderBy', []),\n })\n );\n\nconst useListing = <SearchResults extends Record<string, any>>(\n { mappers }: UseListingProps = {\n id: '',\n }\n) => {\n const dispatch = useDispatch();\n\n const m = mappers || defaultMappers;\n\n const selectListingProps = useMemo(makeSelectListingProps, [m]);\n\n const dispatchProps = {\n clearFilters: (filterKey?: string) =>\n dispatch(withMappers(clearFilters(filterKey), m)),\n updateCurrentFacet: (facet: string) =>\n dispatch(withMappers(updateCurrentFacet(facet), m)),\n updatePageIndex: (pageIndex: number, scrollYPos?: number) =>\n dispatch(withMappers(updatePageIndex(pageIndex, scrollYPos), m)),\n updatePageSize: (pageSize: number, scrollYPos?: number) =>\n dispatch(withMappers(updatePageSize(pageSize, scrollYPos), m)),\n updateSearchTerm: (term: string) =>\n dispatch(withMappers(updateSearchTerm(term), m)),\n updateSelectedFilters: (\n filter: string,\n key: string,\n isUnknownItem = false,\n scrollYPos?: number\n ) =>\n dispatch(\n withMappers(\n updateSelectedFilters(filter, key, isUnknownItem, scrollYPos),\n m\n )\n ),\n updateSortOrder: (orderBy: string) =>\n dispatch(withMappers(updateSortOrder(orderBy), m)),\n };\n\n const {\n currentListing,\n currentPageIndex,\n featured,\n filters,\n isLoading,\n listing,\n paging,\n pageIsLoading,\n results,\n resultsInfo,\n searchTerm,\n selectedFilters,\n sortOrder,\n } = useSelector((state: AppState) => selectListingProps(state, m));\n\n return {\n currentListing,\n currentPageIndex,\n featured,\n filters,\n isLoading,\n listing,\n pageIsLoading,\n paging,\n results,\n resultsInfo,\n searchTerm,\n selectedFilters,\n sortOrder,\n title: listing.title,\n ...dispatchProps,\n } as ListingProps<SearchResults>;\n};\n\nexport default useListing;\n","import { useEffect, useMemo } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { createSelector } from 'reselect';\n\nimport { Context } from '../models/Enums';\nimport { MinilistProps, UseMinilistProps } from '../models/SearchProps';\nimport { AppState, Facet, Filters } from '../models/SearchState';\n\nimport { triggerSearch } from '../redux/actions';\nimport {\n getResults,\n getIsLoading,\n getFacet,\n getPaging,\n getSearchTerm,\n getFilters,\n} from '../redux/selectors';\n\nconst makeSelectMinilistProps = () =>\n createSelector(\n (state: AppState) => state,\n (_: any, id: string) => id,\n (state: AppState, id: string) =>\n id\n ? {\n facet: getFacet(state, id, Context.minilist, 'js'),\n filters: getFilters(state, id, Context.minilist, 'js'),\n isLoading: getIsLoading(state, Context.minilist, id),\n pagingInfo: getPaging(state, id, Context.minilist, 'js'),\n results: getResults(state, id, Context.minilist, 'js'),\n searchTerm: getSearchTerm(state),\n }\n : null\n );\n\nconst useMinilist = <SearchResults extends Record<string, any>>(\n {\n id,\n config,\n excludeIds,\n mapper,\n mappers,\n params,\n defaultLang,\n debug,\n }: UseMinilistProps = { id: '' }\n) => {\n const dispatch = useDispatch();\n\n const selectMinilistProps = useMemo(makeSelectMinilistProps, [id]);\n\n const { facet, filters, isLoading, pagingInfo, results, searchTerm } =\n useSelector((state: AppState) => selectMinilistProps(state, id)) || {\n facet: {} as Facet,\n filters: {} as Filters,\n isLoading: false,\n pagingInfo: {} as Facet['pagingInfo'],\n results: [] as SearchResults[],\n searchTerm: '',\n };\n // useSelector((state: AppState) => ({\n // facet: getFacet(state, id, Context.minilist).toJS(),\n // filters: getFilters(state, id, Context.minilist).toJS(),\n // isLoading: getIsLoading(state, Context.minilist, id),\n // pagingInfo: getPaging(state, id, Context.minilist).toJS(),\n // results: getResults(state, id, Context.minilist).toJS(),\n // searchTerm: getSearchTerm(state),\n // }));\n\n useEffect(() => {\n if (id && (mapper || mappers?.results)) {\n dispatch(\n triggerSearch({\n config,\n context: Context.minilist,\n defaultLang,\n facet: id,\n mapper,\n mappers,\n params,\n excludeIds,\n debug,\n })\n );\n }\n }, [dispatch, excludeIds, id, defaultLang, params]);\n\n return {\n filters,\n isLoading,\n paging: pagingInfo,\n results,\n searchTerm,\n title: facet.title,\n } as MinilistProps<SearchResults>;\n};\n\nexport default useMinilist;\n","import { CustomWhereClause } from '../models/Search';\nimport { Filter, FilterItem, SearchState } from '../models/SearchState';\n\nexport const entries = {\n isLoading: false,\n isError: false,\n items: [],\n};\n\nexport const pagingInfo = {\n isLoading: false,\n pageCount: 0,\n pageIndex: 0,\n pageSize: 0,\n pagesLoaded: [],\n prevPageIndex: 0,\n totalCount: 0,\n};\n\nexport const searchFacet = {\n title: null,\n featuredEntries: entries,\n featuredResults: [],\n entries,\n results: [],\n queryParams: {},\n filters: {},\n queryDuration: 0,\n pagingInfo,\n projectId: '',\n};\n\nexport const searchTab = {\n currentFacet: undefined,\n facets: {},\n id: 0,\n label: undefined,\n totalCount: '',\n};\n\nexport const filtering = {\n isLoading: false,\n isError: false,\n isGrouped: false,\n title: undefined,\n contentTypeId: undefined,\n customWhere: [],\n fieldId: undefined,\n items: [],\n} as Omit<Filter, 'customWhere' | 'items'> & {\n customWhere?: CustomWhereClause[];\n items?: FilterItem[];\n};\n\nexport const filterItem = {\n key: '',\n type: undefined,\n title: undefined,\n path: undefined,\n isSelected: false,\n} as FilterItem;\n\nconst config = {\n isLoaded: false,\n isError: false,\n};\n\nconst searchState: SearchState = {\n context: 'facets',\n currentFacet: '',\n currentListing: '',\n facets: {},\n listings: {},\n minilist: {},\n term: '',\n tabs: [],\n config,\n};\n\nexport const initialState = searchState;\n","import { Draft, produce } from 'immer';\nimport equals from 'deep-equal';\nimport merge from 'deepmerge';\n\nimport {\n entries,\n filterItem,\n pagingInfo,\n searchFacet,\n initialState,\n} from './schema';\nimport {\n APPLY_CONFIG,\n CLEAR_FILTERS,\n EXECUTE_SEARCH,\n EXECUTE_SEARCH_ERROR,\n LOAD_FILTERS,\n LOAD_FILTERS_COMPLETE,\n LOAD_FILTERS_ERROR,\n SET_ROUTE_FILTERS,\n SET_SEARCH_FILTERS,\n SET_SEARCH_ENTRIES,\n UPDATE_SEARCH_TERM,\n UPDATE_SELECTED_FILTERS,\n UPDATE_SORT_ORDER,\n UPDATE_PAGE_INDEX,\n UPDATE_PAGE_SIZE,\n} from './types';\nimport { toArray } from '../search/util';\nimport {\n ConfigTypes,\n SearchFacet,\n Listing,\n SearchConfig,\n} from '../models/Search';\nimport { Context } from '../models/Enums';\nimport {\n Facet,\n Facets,\n SearchState,\n Filter,\n Filters,\n FilterItem,\n} from '../models/SearchState';\n\nconst addConfigToState = (state: SearchState, action: any) => {\n const { context, facet, config } = action as {\n context: keyof typeof Context;\n facet: string;\n config: any;\n };\n // Adding or changing the config of a single facet, listing or minilist\n if (context && facet && config) {\n state[context][facet] = { ...searchFacet, ...config };\n } else if (config) {\n // Changing the entire search config\n state = { ...config, config: initialState.config };\n }\n return state;\n};\n\nconst generateSearchFacets = (context: Context, config: SearchConfig) => {\n const facets = {} as Facets;\n if (config) {\n const thisConfig: ConfigTypes = config[context] || {};\n if (Object.keys(thisConfig).length > 0) {\n Object.entries(thisConfig).map(\n ([facetName, facet]: [string, SearchFacet | Listing]) => {\n const newFacet = merge(searchFacet, facet);\n if (!('isDisabled' in facet) || facet.isDisabled !== true)\n facets[facetName] = newFacet;\n }\n );\n }\n }\n return facets;\n};\n\nconst generateFiltersState = (\n {\n facet,\n params,\n context,\n isCurrentFacet,\n }: {\n facet: string;\n params: { [k: string]: string };\n context: keyof typeof Context;\n isCurrentFacet: boolean;\n },\n state: SearchState\n) => {\n // Remove filters we know about from params\n const filterParams = {\n ...params,\n facet: undefined,\n orderBy: undefined,\n pageIndex: undefined,\n term: undefined,\n } as { [k: string]: string | undefined };\n\n // Get any existing filters and normalise the items[]\n // so we can start off with isSelected is false\n let filters: [string, Filter][] = Object.entries(\n (state[context][facet].filters || []) as Filters\n ).map(([key, filter]: [string, Filter]) => {\n if (isCurrentFacet || filter.isGrouped) {\n return [\n key,\n {\n ...filter,\n items: filter.items?.map(item => ({ ...item, isSelected: false })),\n } as Filter,\n ];\n }\n return [key, filter];\n });\n\n const addFilterItem = (\n filters: [string, Filter][],\n paramKey: string,\n paramValue: string\n ) =>\n // Iterate through all filters within the facet,\n // if the paramKey matches the filter key\n // get the existing items list, and see if that filter\n // already exists, if so set isSelected to true,\n // if not create a new filterItem, setting the key only\n // so we can match this key later on when we load the filters\n filters.map<[string, Filter]>(([key, filter]) => {\n if (paramKey !== key || (!isCurrentFacet && !filter.isGrouped)) {\n return [key, filter];\n } else {\n const items = (filter.items || []) as FilterItem[];\n const itemIndex = items.findIndex(item => item?.key === paramValue);\n if (items.length > 0 && itemIndex !== -1) {\n items[itemIndex].isSelected = true;\n } else {\n items.push({\n ...filterItem,\n key: paramValue,\n isSelected: true,\n });\n }\n\n return [\n key,\n {\n ...filter,\n items,\n } as Filter,\n ];\n }\n });\n\n // For each value found in filterParams\n // we are looking to split that value into multiple by any comma\n // and then either set isSelected for an existing filterItem\n // or push an item to the filters.{ key }.items[] array\n // giving it only the key (entry guid) that can be taken to filter\n // the search results during SSR without needing to fetch the filters first\n Object.entries(filterParams).map(([paramName = '', paramValue]) => {\n if (typeof paramValue === 'string')\n return paramValue\n .split(',')\n .map(pVal => (filters = addFilterItem(filters, paramName, pVal)));\n if (typeof paramValue === 'boolean')\n filters = addFilterItem(filters, paramName, paramValue);\n });\n\n return Object.fromEntries(filters) as Filters;\n};\n\nconst resetFacets = (state: SearchState, context: keyof typeof Context) =>\n Object.fromEntries(\n Object.entries(state[context] as Facets).map(([k, v]) => [k, resetFacet(v)])\n ) as Facets;\n\nconst resetFacet = (facet: Facet) => {\n facet.pagingInfo.pagesLoaded = [];\n facet.pagingInfo.pageIndex = 0;\n facet.queryDuration = 0;\n return facet;\n};\n\nexport default (config: SearchConfig) => {\n // Add facets from SearchConfig to initialState\n const initState: SearchState = {\n ...initialState,\n tabs: config.tabs as any,\n facets: generateSearchFacets(Context.facets, config),\n listings: generateSearchFacets(Context.listings, config),\n minilist: generateSearchFacets(Context.minilist, config),\n };\n\n return produce(\n (\n state: Draft<SearchState> = initState,\n action: {\n [key: string]: any;\n context: keyof typeof Context;\n facet: string;\n params: { [key: string]: string };\n }\n ) => {\n const context = state.context as keyof typeof Context;\n const current =\n context !== 'listings' ? state.currentFacet : state.currentListing;\n\n switch (action.type) {\n case APPLY_CONFIG: {\n state = addConfigToState(state, action);\n return state;\n }\n case CLEAR_FILTERS: {\n const currentFilters = state[context][current].filters as Filters;\n\n state[context][current].filters = Object.fromEntries(\n Object.entries(currentFilters).map(([filterKey, filter]) => {\n if (\n typeof action.filterKey === 'undefined' ||\n action.filterKey === filterKey\n ) {\n const filterItems = (filter.items || []) as FilterItem[];\n\n filter.items = filterItems.map(item => ({\n ...item,\n isSelected: false,\n })) as FilterItem[];\n }\n\n return [filterKey, filter];\n })\n );\n state[context][current].queryDuration = 0;\n state[context][current].pagingInfo.pagesLoaded = [];\n\n return;\n }\n case EXECUTE_SEARCH: {\n state[action.context][action.facet].entries = {\n ...(state[action.context][action.facet].entries || entries),\n isLoading: true,\n };\n return;\n }\n case EXECUTE_SEARCH_ERROR: {\n state[action.context][action.facet].entries = {\n ...entries,\n isError: true,\n error: action.error,\n };\n return;\n }\n case LOAD_FILTERS: {\n const { facetKey, filtersToLoad } = action;\n const filters = state[action.context][facetKey].filters as Filters;\n\n Object.entries(filters).map(([filterKey, filter]) => {\n if (filtersToLoad.find((f: string) => f === filterKey))\n return { ...filter, isLoading: true } as Filter;\n return filter;\n });\n\n state[action.context][facetKey].filters = Object.fromEntries(\n Object.entries(filters).map(([filterKey, filter]) => {\n if (filtersToLoad.find((f: string) => f === filterKey))\n return [filterKey, { ...filter, isLoading: true }];\n return [filterKey, filter];\n })\n );\n\n return;\n }\n case LOAD_FILTERS_ERROR:\n case LOAD_FILTERS_COMPLETE: {\n const { facetKey, filterKey, nextFilter } = action;\n const filter = state[action.context][facetKey].filters[\n filterKey\n ] as Filter;\n\n if (\n !(nextFilter.items && nextFilter.items.length > 0) &&\n (filter.items || []).length >= nextFilter.items.length\n ) {\n // Preserve items already in state\n state[action.context][facetKey].filters[filterKey] = {\n ...filter,\n isLoading: false,\n isError: nextFilter.isError,\n };\n return;\n }\n\n state[action.context][facetKey].filters[filterKey] = merge(\n filter,\n nextFilter,\n {\n arrayMerge: (source, inbound) => inbound,\n }\n );\n\n return;\n }\n case SET_ROUTE_FILTERS: {\n const { facet, params, context } = action;\n const { term = '', pageIndex, pageSize, orderBy } = params;\n\n const stateTerm = state.term;\n const tabId = state[context][facet].tabId || 0;\n\n // Reset the facet if the search term has changed, or if the any of\n // the filters have changed\n const resetAllFacets = stateTerm && term !== stateTerm;\n let resetCurrentFacet = false;\n\n // Add filter values in params to the matched filters in state for the current facet\n // causing unfetched filter items to be generated with isSelected: true\n // or existing filter items to be tagged with isSelected: true\n const nextFacets = Object.fromEntries(\n Object.entries(state[context] as Facets).map(\n ([facetName = '', stateFacet]) => {\n const isCurrentFacet = facetName === facet;\n const nextFilters = generateFiltersState(\n {\n facet: facetName,\n params,\n context,\n isCurrentFacet,\n },\n state\n );\n\n resetCurrentFacet =\n state.config.isLoaded === true &&\n !equals(nextFilters, stateFacet.filters);\n\n stateFacet = resetCurrentFacet\n ? resetFacet(stateFacet)\n : stateFacet;\n stateFacet.filters = nextFilters;\n stateFacet.queryParams.dynamicOrderBy = toArray(orderBy) || [];\n return [facetName, stateFacet];\n }\n )\n );\n\n state.context = context;\n state[context] = nextFacets;\n state[\n action.context === Context.facets\n ? 'currentFacet'\n : 'currentListing'\n ] = facet;\n state.term = term;\n state.tabs[tabId].currentFacet = facet;\n state[context][facet].pagingInfo = {\n ...(state[context][facet].pagingInfo || pagingInfo),\n pageIndex:\n Number(pageIndex) - 1 ||\n (state[context][facet].queryParams.loadMorePaging\n ? state[context][facet].pagingInfo?.pageIndex || 0\n : 0),\n pageSize:\n Number(pageSize) || state[context][facet].queryParams.pageSize,\n };\n state.config.isLoaded = true;\n state.config.ssr = typeof window === 'undefined';\n\n if (resetAllFacets) state[context] = resetFacets(state, context);\n\n return;\n }\n case SET_SEARCH_ENTRIES: {\n const thisContext = action.context || context;\n const currentFacet = state[thisContext][action.facet];\n state[thisContext][action.facet] = merge(\n currentFacet,\n action.nextFacet,\n {\n arrayMerge: (source, inbound) => inbound,\n }\n );\n return;\n }\n case SET_SEARCH_FILTERS: {\n // DO SEARCH then SET_SEARCH_FILTERS is for when we cannot use SET_ROUTE_FILTERS\n // for example in a minilist scenario where the route filters\n // are used for the primary page / listing navigation\n\n // Add filter values in params to the matched filters in state\n // causing unfetched filter items to be generated with isSelected: true\n const filters = generateFiltersState(\n { ...action, isCurrentFacet: true },\n state\n );\n\n const term = action?.params?.term;\n const useSearchTerm =\n state[action.context || Context.minilist][action.facet].queryParams\n .useSearchTerm || false;\n state[action.context || Context.minilist][action.facet].filters =\n filters;\n state[action.context || Context.minilist][\n action.facet\n ].queryParams.excludeIds = action.excludeIds;\n state.term = useSearchTerm ? term : state.term;\n state.config.ssr = typeof window === 'undefined';\n\n return;\n }\n case UPDATE_PAGE_INDEX: {\n const { pageIndex } = action;\n const internalPaging =\n state[context][current].queryParams.internalPaging || false;\n\n const currentPageIndex =\n state[context][current].pagingInfo.pageIndex || 0;\n\n state[context][current].pagingInfo.pageIndex = Number(pageIndex) || 0;\n state[context][current].pagingInfo.prevPageIndex = currentPageIndex;\n state[context][current].pagingInfo.isLoading = true;\n\n if (internalPaging) return;\n\n state[context][current].queryDuration = 0;\n return;\n }\n case UPDATE_PAGE_SIZE: {\n const { pageSize } = action;\n\n state[context][current].pagingInfo.pageSize = pageSize;\n state[context][current].pagingInfo.pageIndex = 0;\n state[context][current].pagingInfo.isLoading = true;\n state[context][current].queryDuration = 0;\n return;\n }\n case UPDATE_SEARCH_TERM: {\n state.term = action.term;\n state[context] = resetFacets(state, context);\n\n return;\n }\n case UPDATE_SELECTED_FILTERS: {\n const { filter, key, isUnknownItem } = action;\n\n const isSingleSelect =\n state[context][current].filters[filter].isSingleSelect || false;\n const isGrouped =\n state[context][current].filters[filter].isGrouped || false;\n\n const currentItems = state[context][current].filters[filter].items;\n if (isGrouped) state[context] = resetFacets(state, context);\n state[context][current] = resetFacet(state[context][current]);\n\n if (\n isUnknownItem &&\n currentItems?.findIndex(item => item?.key === key) === -1\n ) {\n currentItems?.push({\n key,\n isSelected: false,\n });\n }\n state[context][current].filters[filter].items = currentItems?.map(\n item => {\n if (item.key === key) {\n return { ...item, isSelected: !item.isSelected };\n }\n if (isSingleSelect) return { ...item, isSelected: false };\n return item;\n }\n );\n\n return;\n }\n case UPDATE_SORT_ORDER: {\n const { orderBy, facet } = action;\n state[context] = resetFacets(state, context);\n const currentFacet = facet || current;\n state[context][currentFacet].queryParams.dynamicOrderBy = orderBy\n ? toArray(orderBy) || []\n : [];\n\n return;\n }\n default:\n return;\n }\n },\n initState\n );\n};\n","export const Context = {\n facets: 'facets',\n listings: 'listings',\n minilist: 'minilist',\n};\nexport * from './models';\n\nexport { default as withSearch } from './containers/withSearch';\nexport { default as withListing } from './containers/withListing';\n\nexport { default as useFacets } from './hooks/useFacets.hook';\nexport { default as useListing } from './hooks/useListing.hook';\nexport { default as useMinilist } from './hooks/useMinilist.hook';\n\nexport * as actions from './redux/actions';\nexport {\n doSearch,\n setRouteFilters,\n searchSagas as sagas,\n triggerListingSsr,\n triggerMinilistSsr,\n triggerSearchSsr,\n} from './redux/sagas';\nexport { default as reducer } from './redux/reducers';\nexport * as schema from './redux/schema';\nexport * as selectors from './redux/selectors';\nexport * as types from './redux/types';\n\nexport * as expressions from './search/expressions';\nexport * as queries from './search/queries';\nexport { routeParams } from './search/util';\n"],"names":["toJS","WrappedComponent","wrappedComponentProps","KEY","VALUE","propsJS","Object","entries","reduce","newProps","wrappedComponentProp","propKey","propValue","withSearch","mappers","SearchComponent","Wrapper","props","displayName","name","mapStateToProps","state","currentFacet","getCurrentFacet","currentPageIndex","getPageIndex","currentTabIndex","getCurrentTab","facet","getFacet","facets","getTabFacets","facetsTotalCount","getFacetsTotalCount","facetTitles","getFacetTitles","featuredResults","getFeaturedResults","filters","getRenderableFilters","isLoading","getIsLoading","paging","getPaging","pageIsLoading","getPageIsLoading","results","getResults","resultsInfo","searchTerm","getSearchTerm","searchTotalCount","getSearchTotalCount","selectedFilters","getSelectedFilters","sortOrder","getQueryParameter","tabsAndFacets","getTabsAndFacets","totalCount","getTotalCount","mapDispatchToProps","clearFilters","filterKey","withMappers","updateCurrentFacet","updateCurrentTab","id","updatePageIndex","pageIndex","scrollYPos","updatePageSize","pageSize","updateSearchTerm","term","updateSelectedFilters","filter","key","isUnknownItem","updateSortOrder","orderBy","connector","connect","withListing","ListingComponent","getCurrent","getListing","selectListing","currentListing","listing","featured","navigate","mapStateToSearchUri","selectFacets","makeSelectFacetsProps","createSelector","_","Context","useFacets","dispatch","useDispatch","m","defaultMappers","selectListingProps","useMemo","dispatchProps","useSelector","makeSelectListingProps","listings","useListing","title","makeSelectMinilistProps","minilist","getFilters","pagingInfo","useMinilist","config","excludeIds","mapper","params","defaultLang","debug","selectMinilistProps","useEffect","triggerSearch","context","isError","items","pageCount","pagesLoaded","prevPageIndex","searchFacet","featuredEntries","queryParams","queryDuration","projectId","searchTab","undefined","label","filtering","isGrouped","contentTypeId","customWhere","fieldId","filterItem","type","path","isSelected","isLoaded","searchState","tabs","initialState","addConfigToState","action","generateSearchFacets","thisConfig","keys","length","map","facetName","newFacet","merge","isDisabled","generateFiltersState","isCurrentFacet","filterParams","item","addFilterItem","paramKey","paramValue","itemIndex","findIndex","push","paramName","split","pVal","fromEntries","resetFacets","k","v","resetFacet","initState","produce","current","APPLY_CONFIG","CLEAR_FILTERS","currentFilters","filterItems","EXECUTE_SEARCH","EXECUTE_SEARCH_ERROR","error","LOAD_FILTERS","facetKey","filtersToLoad","find","f","LOAD_FILTERS_ERROR","LOAD_FILTERS_COMPLETE","nextFilter","arrayMerge","source","inbound","SET_ROUTE_FILTERS","stateTerm","tabId","resetAllFacets","resetCurrentFacet","nextFacets","stateFacet","nextFilters","equals","dynamicOrderBy","toArray","Number","loadMorePaging","ssr","window","SET_SEARCH_ENTRIES","thisContext","nextFacet","SET_SEARCH_FILTERS","useSearchTerm","UPDATE_PAGE_INDEX","internalPaging","UPDATE_PAGE_SIZE","UPDATE_SEARCH_TERM","UPDATE_SELECTED_FILTERS","isSingleSelect","currentItems","UPDATE_SORT_ORDER"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"search.js","sources":["../node_modules/zengenti-search-package/src/app/zengenti-search-package/search/ToJs.tsx","../node_modules/zengenti-search-package/src/app/zengenti-search-package/containers/withSearch.tsx","../node_modules/zengenti-search-package/src/app/zengenti-search-package/containers/withListing.tsx","../node_modules/zengenti-search-package/src/app/zengenti-search-package/transformations/index.ts","../node_modules/zengenti-search-package/src/app/zengenti-search-package/hooks/useFacets.hook.tsx","../node_modules/zengenti-search-package/src/app/zengenti-search-package/hooks/useListing.hook.tsx","../node_modules/zengenti-search-package/src/app/zengenti-search-package/hooks/useMinilist.hook.tsx","../node_modules/zengenti-search-package/src/app/zengenti-search-package/redux/schema.ts","../node_modules/zengenti-search-package/src/app/zengenti-search-package/redux/reducers.ts","../node_modules/zengenti-search-package/src/app/zengenti-search-package/index.ts"],"sourcesContent":["/* eslint-disable import/default */\n/* eslint-disable react/display-name */\n/* eslint-disable @typescript-eslint/naming-convention */\nimport React from 'react';\n\nexport const toJS =\n <Props extends { [key: string]: any }>(\n WrappedComponent: React.ComponentType<Props>\n ): React.ComponentType<Props> =>\n (wrappedComponentProps: Props) => {\n const KEY = 0;\n const VALUE = 1;\n\n const propsJS = Object.entries(wrappedComponentProps).reduce<Props>(\n (newProps: any, wrappedComponentProp) => {\n const propKey = wrappedComponentProp[KEY];\n const propValue = wrappedComponentProp[VALUE];\n newProps[propKey] =\n propValue && typeof propValue === 'object' && 'toJS' in propValue\n ? propValue.toJS()\n : propValue;\n return newProps as Props;\n },\n {} as Props\n );\n\n return <WrappedComponent {...propsJS} />;\n };\n","// eslint-disable-next-line import/default\nimport React from 'react';\nimport { connect } from 'react-redux';\n\nimport { toJS } from '../search/ToJs';\nimport {\n clearFilters,\n updateCurrentFacet,\n updateCurrentTab,\n updatePageIndex,\n updatePageSize,\n updateSearchTerm,\n updateSelectedFilters,\n updateSortOrder,\n withMappers,\n} from '../redux/actions';\nimport {\n getCurrentFacet,\n getCurrentTab,\n getFacet,\n getFacetTitles,\n getFacetsTotalCount,\n getFeaturedResults,\n getIsLoading,\n getPageIndex,\n getPageIsLoading,\n getPaging,\n getQueryParameter,\n getRenderableFilters,\n getResults,\n getSearchTerm,\n getSearchTotalCount,\n getSelectedFilters,\n getTabFacets,\n getTabsAndFacets,\n getTotalCount,\n} from '../redux/selectors';\nimport { Mappers } from '../models/Search';\nimport { SearchProps } from '../models/SearchProps';\nimport { AppState } from '../models/SearchState';\n\nconst withSearch =\n (mappers: Mappers) =>\n <Props extends Record<string, any>>(\n SearchComponent: React.ComponentType<Props>\n ) => {\n const Wrapper: React.FC<Props & SearchProps<any>> = props => {\n return <SearchComponent {...props} />;\n };\n\n Wrapper.displayName = `withSearch(${\n SearchComponent.displayName || SearchComponent.name\n })`;\n\n const mapStateToProps = (state: AppState) => {\n return {\n currentFacet: getCurrentFacet(state),\n currentPageIndex: getPageIndex(state),\n currentTabIndex: getCurrentTab(state),\n facet: getFacet(state),\n facets: getTabFacets(state),\n facetsTotalCount: getFacetsTotalCount(state),\n facetTitles: getFacetTitles(state),\n featuredResults: getFeaturedResults(state),\n filters: getRenderableFilters(state),\n isLoading: getIsLoading(state),\n paging: getPaging(state),\n pageIsLoading: getPageIsLoading(state),\n results: getResults(state),\n resultsInfo: mappers?.resultsInfo && mappers.resultsInfo(state),\n searchTerm: getSearchTerm(state),\n searchTotalCount: getSearchTotalCount(state),\n selectedFilters: getSelectedFilters(state),\n sortOrder: getQueryParameter({ state }, 'dynamicOrderBy', []),\n tabsAndFacets: getTabsAndFacets(state),\n totalCount: getTotalCount(state),\n };\n };\n\n const mapDispatchToProps = {\n clearFilters: (filterKey?: string) =>\n withMappers(clearFilters(filterKey), mappers),\n updateCurrentFacet: (facet: string) =>\n withMappers(updateCurrentFacet(facet), mappers),\n updateCurrentTab: (id: number) =>\n withMappers(updateCurrentTab(id), mappers),\n updatePageIndex: (pageIndex: number, scrollToElement?: string) =>\n withMappers(updatePageIndex(pageIndex, scrollToElement), mappers),\n updatePageSize: (pageSize: number, scrollToElement?: string) =>\n withMappers(updatePageSize(pageSize, scrollToElement), mappers),\n updateSearchTerm: (term: string) =>\n withMappers(updateSearchTerm(term), mappers),\n updateSelectedFilters: (\n filter: string,\n key: string,\n isUnknownItem = false,\n scrollToElement?: string\n ) =>\n withMappers(\n updateSelectedFilters(filter, key, isUnknownItem, scrollToElement),\n mappers\n ),\n updateSortOrder: (orderBy: string) =>\n withMappers(updateSortOrder(orderBy), mappers),\n };\n\n const connector = connect(mapStateToProps, mapDispatchToProps);\n\n return connector(toJS(Wrapper) as any);\n };\n\nexport default withSearch;\n","/* eslint-disable @typescript-eslint/naming-convention */\n// eslint-disable-next-line import/default\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport { toJS } from '../search/ToJs';\nimport {\n clearFilters,\n updateCurrentFacet,\n updatePageIndex,\n updatePageSize,\n updateSearchTerm,\n updateSelectedFilters,\n updateSortOrder,\n withMappers,\n} from '../redux/actions';\nimport { selectListing } from '../redux/selectors';\nimport { Mappers } from '../models/Search';\nimport { AppState } from '../models/SearchState';\nimport { ListingProps } from '../models/SearchProps';\n\nconst withListing =\n (mappers: Mappers) =>\n <Props extends Record<string, any>>(ListingComponent: React.FC<Props>) => {\n const Wrapper: React.FC<Props & ListingProps<any>> = props => {\n return <ListingComponent {...props} />;\n };\n\n Wrapper.displayName = `withListing(${\n ListingComponent.displayName || ListingComponent.name\n })`;\n\n const {\n getCurrent,\n getFeaturedResults,\n getIsLoading,\n getListing,\n getPageIndex,\n getPaging,\n getQueryParameter,\n getRenderableFilters,\n getResults,\n getSearchTerm,\n getSelectedFilters,\n } = selectListing;\n\n const mapStateToProps = (state: AppState) => {\n return {\n currentListing: getCurrent(state),\n currentPageIndex: getPageIndex(state),\n listing: getListing(state),\n featured: getFeaturedResults(state),\n filters: getRenderableFilters(state),\n isLoading: getIsLoading(state),\n paging: getPaging(state),\n results: getResults(state),\n resultsInfo:\n mappers &&\n typeof mappers.resultsInfo === 'function' &&\n mappers.resultsInfo(state),\n searchTerm: getSearchTerm(state),\n selectedFilters: getSelectedFilters(state),\n sortOrder: getQueryParameter({ state }, 'dynamicOrderBy', []),\n };\n };\n\n const mapDispatchToProps = {\n clearFilters: (filterKey?: string) =>\n withMappers(clearFilters(filterKey), mappers),\n updateCurrentFacet: (facet: string) =>\n withMappers(updateCurrentFacet(facet), mappers),\n updatePageIndex: (pageIndex: number, scrollToElement?: string) =>\n withMappers(updatePageIndex(pageIndex, scrollToElement), mappers),\n updatePageSize: (pageSize: number, scrollToElement?: string) =>\n withMappers(updatePageSize(pageSize, scrollToElement), mappers),\n updateSearchTerm: (term: string) =>\n withMappers(updateSearchTerm(term), mappers),\n updateSelectedFilters: (\n filter: string,\n key: string,\n isUnknownItem = false,\n scrollToElement?: string\n ) =>\n withMappers(\n updateSelectedFilters(filter, key, isUnknownItem, scrollToElement),\n mappers\n ),\n updateSortOrder: (orderBy: string) =>\n withMappers(updateSortOrder(orderBy), mappers),\n };\n\n return connect(mapStateToProps, mapDispatchToProps)(toJS(Wrapper) as any);\n };\n\nexport default withListing;\n","import { Mappers } from '../models/Search';\nimport mapStateToSearchUri from './state-to-searchuri';\n\nexport default {\n results: entries => entries,\n navigate: mapStateToSearchUri,\n} as Mappers;\n","import { useMemo } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { createSelector } from 'reselect';\nimport {\n clearFilters,\n updateCurrentFacet,\n updateCurrentTab,\n updatePageIndex,\n updatePageSize,\n updateSearchTerm,\n updateSelectedFilters,\n updateSortOrder,\n withMappers,\n} from '../redux/actions';\nimport defaultMappers from '../transformations';\nimport { Context } from '../models/Enums';\nimport { SearchProps, UseFacetsProps } from '../models/SearchProps';\nimport { AppState } from '../models/SearchState';\nimport {\n getPaging,\n getResults,\n getSelectedFilters,\n selectFacets,\n} from '../redux/selectors';\nimport { Mappers } from '../models/Search';\nconst {\n getCurrent,\n getCurrentTab,\n getFacet,\n getFacetsTotalCount,\n getFacetTitles,\n getFeaturedResults,\n getIsLoading,\n getPageIndex,\n getPageIsLoading,\n getQueryParameter,\n getRenderableFilters,\n getSearchTerm,\n getSearchTotalCount,\n getTabFacets,\n getTabsAndFacets,\n getTotalCount,\n} = selectFacets;\n\nconst makeSelectFacetsProps = () =>\n createSelector(\n (state: AppState) => state,\n (_: any, mappers: Mappers) => mappers,\n (state: AppState, mappers: Mappers) => ({\n currentFacet: getCurrent(state),\n currentPageIndex: getPageIndex(state),\n currentTabIndex: getCurrentTab(state),\n facet: getFacet(state),\n facetTitles: getFacetTitles(state),\n facets: getTabFacets(state),\n facetsTotalCount: getFacetsTotalCount(state),\n featured: getFeaturedResults(state),\n filters: getRenderableFilters(state),\n isLoading: getIsLoading(state),\n pageIsLoading: getPageIsLoading(state),\n paging: getPaging(state, '', Context.facets, 'js'),\n results: getResults(state, '', Context.facets, 'js'),\n resultsInfo:\n mappers &&\n typeof mappers.resultsInfo === 'function' &&\n mappers.resultsInfo(state),\n searchTerm: getSearchTerm(state),\n searchTotalCount: getSearchTotalCount(state),\n selectedFilters: getSelectedFilters(state, '', Context.facets, 'js'),\n sortOrder: getQueryParameter({ state }, 'dynamicOrderBy', []),\n tabsAndFacets: getTabsAndFacets(state),\n totalCount: getTotalCount(state),\n })\n );\n\nconst useFacets = <SearchResults extends Record<string, any>>(\n { mappers }: UseFacetsProps = {\n id: '',\n }\n) => {\n const dispatch = useDispatch();\n\n const m = mappers || defaultMappers;\n\n const selectListingProps = useMemo(makeSelectFacetsProps, [m]);\n\n const dispatchProps = {\n clearFilters: (filterKey?: string) =>\n dispatch(withMappers(clearFilters(filterKey), m)),\n updateCurrentFacet: (facet: string) =>\n dispatch(withMappers(updateCurrentFacet(facet), m)),\n updateCurrentTab: (id: number) => withMappers(updateCurrentTab(id), m),\n updatePageIndex: (pageIndex: number, scrollToElement?: string) =>\n dispatch(withMappers(updatePageIndex(pageIndex, scrollToElement), m)),\n updatePageSize: (pageSize: number, scrollToElement?: string) =>\n dispatch(withMappers(updatePageSize(pageSize, scrollToElement), m)),\n updateSearchTerm: (term: string) =>\n dispatch(withMappers(updateSearchTerm(term), m)),\n updateSelectedFilters: (\n filter: string,\n key: string,\n isUnknownItem = false,\n scrollToElement?: string\n ) =>\n dispatch(\n withMappers(\n updateSelectedFilters(filter, key, isUnknownItem, scrollToElement),\n m\n )\n ),\n updateSortOrder: (orderBy: string) =>\n dispatch(withMappers(updateSortOrder(orderBy), m)),\n };\n\n const {\n currentFacet,\n currentPageIndex,\n currentTabIndex,\n facet,\n facets,\n facetsTotalCount,\n facetTitles,\n featured,\n filters,\n isLoading,\n paging,\n pageIsLoading,\n results,\n resultsInfo,\n searchTerm,\n searchTotalCount,\n selectedFilters,\n sortOrder,\n tabsAndFacets,\n totalCount,\n } = useSelector((state: AppState) => selectListingProps(state, m));\n\n return {\n currentFacet,\n currentPageIndex,\n currentTabIndex,\n facet,\n facets,\n facetsTotalCount,\n facetTitles,\n featured,\n filters,\n isLoading,\n paging,\n pageIsLoading,\n results,\n resultsInfo,\n searchTerm,\n searchTotalCount,\n selectedFilters,\n sortOrder,\n tabsAndFacets,\n totalCount,\n ...dispatchProps,\n } as SearchProps<SearchResults>;\n};\n\nexport default useFacets;\n","import { useMemo } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { createSelector } from 'reselect';\nimport {\n clearFilters,\n updateCurrentFacet,\n updatePageIndex,\n updatePageSize,\n updateSearchTerm,\n updateSelectedFilters,\n updateSortOrder,\n withMappers,\n} from '../redux/actions';\nimport defaultMappers from '../transformations';\nimport { Context } from '../models/Enums';\nimport { ListingProps, UseListingProps } from '../models/SearchProps';\nimport { AppState } from '../models/SearchState';\nimport {\n getPaging,\n getResults,\n getSelectedFilters,\n selectListing,\n} from '../redux/selectors';\nimport { Mappers } from '../models/Search';\nconst {\n getCurrent,\n getFeaturedResults,\n getIsLoading,\n getListing,\n getPageIndex,\n getPageIsLoading,\n getQueryParameter,\n getRenderableFilters,\n getSearchTerm,\n} = selectListing;\n\nconst makeSelectListingProps = () =>\n createSelector(\n (state: AppState) => state,\n (_: any, mappers: Mappers) => mappers,\n (state: AppState, mappers: Mappers) => ({\n currentListing: getCurrent(state),\n currentPageIndex: getPageIndex(state),\n listing: getListing(state),\n featured: getFeaturedResults(state),\n filters: getRenderableFilters(state),\n isLoading: getIsLoading(state),\n pageIsLoading: getPageIsLoading(state),\n paging: getPaging(state, '', Context.listings, 'js'),\n results: getResults(state, '', Context.listings, 'js'),\n resultsInfo:\n mappers &&\n typeof mappers.resultsInfo === 'function' &&\n mappers.resultsInfo(state),\n searchTerm: getSearchTerm(state),\n selectedFilters: getSelectedFilters(state, '', Context.listings, 'js'),\n sortOrder: getQueryParameter({ state }, 'dynamicOrderBy', []),\n })\n );\n\nconst useListing = <SearchResults extends Record<string, any>>(\n { mappers }: UseListingProps = {\n id: '',\n }\n) => {\n const dispatch = useDispatch();\n\n const m = mappers || defaultMappers;\n\n const selectListingProps = useMemo(makeSelectListingProps, [m]);\n\n const dispatchProps = {\n clearFilters: (filterKey?: string) =>\n dispatch(withMappers(clearFilters(filterKey), m)),\n updateCurrentFacet: (facet: string) =>\n dispatch(withMappers(updateCurrentFacet(facet), m)),\n updatePageIndex: (pageIndex: number, scrollToElement?: string) =>\n dispatch(withMappers(updatePageIndex(pageIndex, scrollToElement), m)),\n updatePageSize: (pageSize: number, scrollToElement?: string) =>\n dispatch(withMappers(updatePageSize(pageSize, scrollToElement), m)),\n updateSearchTerm: (term: string) =>\n dispatch(withMappers(updateSearchTerm(term), m)),\n updateSelectedFilters: (\n filter: string,\n key: string,\n isUnknownItem = false,\n scrollToElement?: string\n ) =>\n dispatch(\n withMappers(\n updateSelectedFilters(filter, key, isUnknownItem, scrollToElement),\n m\n )\n ),\n updateSortOrder: (orderBy: string) =>\n dispatch(withMappers(updateSortOrder(orderBy), m)),\n };\n\n const {\n currentListing,\n currentPageIndex,\n featured,\n filters,\n isLoading,\n listing,\n paging,\n pageIsLoading,\n results,\n resultsInfo,\n searchTerm,\n selectedFilters,\n sortOrder,\n } = useSelector((state: AppState) => selectListingProps(state, m));\n\n return {\n currentListing,\n currentPageIndex,\n featured,\n filters,\n isLoading,\n listing,\n pageIsLoading,\n paging,\n results,\n resultsInfo,\n searchTerm,\n selectedFilters,\n sortOrder,\n title: listing.title,\n ...dispatchProps,\n } as ListingProps<SearchResults>;\n};\n\nexport default useListing;\n","import { useEffect, useMemo } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { createSelector } from 'reselect';\n\nimport { Context } from '../models/Enums';\nimport { MinilistProps, UseMinilistProps } from '../models/SearchProps';\nimport { AppState, Facet, Filters } from '../models/SearchState';\n\nimport { triggerSearch } from '../redux/actions';\nimport {\n getResults,\n getIsLoading,\n getFacet,\n getPaging,\n getSearchTerm,\n getFilters,\n} from '../redux/selectors';\n\nconst makeSelectMinilistProps = () =>\n createSelector(\n (state: AppState) => state,\n (_: any, id: string) => id,\n (state: AppState, id: string) =>\n id\n ? {\n facet: getFacet(state, id, Context.minilist, 'js'),\n filters: getFilters(state, id, Context.minilist, 'js'),\n isLoading: getIsLoading(state, Context.minilist, id),\n pagingInfo: getPaging(state, id, Context.minilist, 'js'),\n results: getResults(state, id, Context.minilist, 'js'),\n searchTerm: getSearchTerm(state),\n }\n : null\n );\n\nconst useMinilist = <SearchResults extends Record<string, any>>(\n {\n id,\n config,\n excludeIds,\n mapper,\n mappers,\n params,\n defaultLang,\n debug,\n }: UseMinilistProps = { id: '' }\n) => {\n const dispatch = useDispatch();\n\n const selectMinilistProps = useMemo(makeSelectMinilistProps, [id]);\n\n const { facet, filters, isLoading, pagingInfo, results, searchTerm } =\n useSelector((state: AppState) => selectMinilistProps(state, id)) || {\n facet: {} as Facet,\n filters: {} as Filters,\n isLoading: false,\n pagingInfo: {} as Facet['pagingInfo'],\n results: [] as SearchResults[],\n searchTerm: '',\n };\n // useSelector((state: AppState) => ({\n // facet: getFacet(state, id, Context.minilist).toJS(),\n // filters: getFilters(state, id, Context.minilist).toJS(),\n // isLoading: getIsLoading(state, Context.minilist, id),\n // pagingInfo: getPaging(state, id, Context.minilist).toJS(),\n // results: getResults(state, id, Context.minilist).toJS(),\n // searchTerm: getSearchTerm(state),\n // }));\n\n useEffect(() => {\n if (id && (mapper || mappers?.results)) {\n dispatch(\n triggerSearch({\n config,\n context: Context.minilist,\n defaultLang,\n facet: id,\n mapper,\n mappers,\n params,\n excludeIds,\n debug,\n })\n );\n }\n }, [dispatch, excludeIds, id, defaultLang, params]);\n\n return {\n filters,\n isLoading,\n paging: pagingInfo,\n results,\n searchTerm,\n title: facet.title,\n } as MinilistProps<SearchResults>;\n};\n\nexport default useMinilist;\n","import { CustomWhereClause } from '../models/Search';\nimport { Filter, FilterItem, SearchState } from '../models/SearchState';\n\nexport const entries = {\n isLoading: false,\n isError: false,\n items: [],\n};\n\nexport const pagingInfo = {\n isLoading: false,\n pageCount: 0,\n pageIndex: 0,\n pageSize: 0,\n pagesLoaded: [],\n prevPageIndex: 0,\n totalCount: 0,\n};\n\nexport const searchFacet = {\n title: null,\n featuredEntries: entries,\n featuredResults: [],\n entries,\n results: [],\n queryParams: {},\n filters: {},\n queryDuration: 0,\n pagingInfo,\n projectId: '',\n};\n\nexport const searchTab = {\n currentFacet: undefined,\n facets: {},\n id: 0,\n label: undefined,\n totalCount: '',\n};\n\nexport const filtering = {\n isLoading: false,\n isError: false,\n isGrouped: false,\n title: undefined,\n contentTypeId: undefined,\n customWhere: [],\n fieldId: undefined,\n items: [],\n} as Omit<Filter, 'customWhere' | 'items'> & {\n customWhere?: CustomWhereClause[];\n items?: FilterItem[];\n};\n\nexport const filterItem = {\n key: '',\n type: undefined,\n title: undefined,\n path: undefined,\n isSelected: false,\n} as FilterItem;\n\nconst config = {\n isLoaded: false,\n isError: false,\n};\n\nconst searchState: SearchState = {\n context: 'facets',\n currentFacet: '',\n currentListing: '',\n facets: {},\n listings: {},\n minilist: {},\n term: '',\n tabs: [],\n config,\n};\n\nexport const initialState = searchState;\n","import { Draft, produce } from 'immer';\nimport equals from 'deep-equal';\nimport merge from 'deepmerge';\n\nimport {\n entries,\n filterItem,\n pagingInfo,\n searchFacet,\n initialState,\n} from './schema';\nimport {\n APPLY_CONFIG,\n CLEAR_FILTERS,\n EXECUTE_SEARCH,\n EXECUTE_SEARCH_ERROR,\n LOAD_FILTERS,\n LOAD_FILTERS_COMPLETE,\n LOAD_FILTERS_ERROR,\n SET_ROUTE_FILTERS,\n SET_SEARCH_FILTERS,\n SET_SEARCH_ENTRIES,\n UPDATE_SEARCH_TERM,\n UPDATE_SELECTED_FILTERS,\n UPDATE_SORT_ORDER,\n UPDATE_PAGE_INDEX,\n UPDATE_PAGE_SIZE,\n} from './types';\nimport { toArray } from '../search/util';\nimport {\n ConfigTypes,\n SearchFacet,\n Listing,\n SearchConfig,\n} from '../models/Search';\nimport { Context } from '../models/Enums';\nimport {\n Facet,\n Facets,\n SearchState,\n Filter,\n Filters,\n FilterItem,\n} from '../models/SearchState';\n\nconst addConfigToState = (state: SearchState, action: any) => {\n const { context, facet, config } = action as {\n context: keyof typeof Context;\n facet: string;\n config: any;\n };\n // Adding or changing the config of a single facet, listing or minilist\n if (context && facet && config) {\n state[context][facet] = { ...searchFacet, ...config };\n } else if (config) {\n // Changing the entire search config\n state = { ...config, config: initialState.config };\n }\n return state;\n};\n\nconst generateSearchFacets = (context: Context, config: SearchConfig) => {\n const facets = {} as Facets;\n if (config) {\n const thisConfig: ConfigTypes = config[context] || {};\n if (Object.keys(thisConfig).length > 0) {\n Object.entries(thisConfig).map(\n ([facetName, facet]: [string, SearchFacet | Listing]) => {\n const newFacet = merge(searchFacet, facet);\n if (!('isDisabled' in facet) || facet.isDisabled !== true)\n facets[facetName] = newFacet;\n }\n );\n }\n }\n return facets;\n};\n\nconst generateFiltersState = (\n {\n facet,\n params,\n context,\n isCurrentFacet,\n }: {\n facet: string;\n params: { [k: string]: string };\n context: keyof typeof Context;\n isCurrentFacet: boolean;\n },\n state: SearchState\n) => {\n // Remove filters we know about from params\n const filterParams = {\n ...params,\n facet: undefined,\n orderBy: undefined,\n pageIndex: undefined,\n term: undefined,\n } as { [k: string]: string | undefined };\n\n // Get any existing filters and normalise the items[]\n // so we can start off with isSelected is false\n let filters: [string, Filter][] = Object.entries(\n (state[context][facet].filters || []) as Filters\n ).map(([key, filter]: [string, Filter]) => {\n if (isCurrentFacet || filter.isGrouped) {\n return [\n key,\n {\n ...filter,\n items: filter.items?.map(item => ({ ...item, isSelected: false })),\n } as Filter,\n ];\n }\n return [key, filter];\n });\n\n const addFilterItem = (\n filters: [string, Filter][],\n paramKey: string,\n paramValue: string\n ) =>\n // Iterate through all filters within the facet,\n // if the paramKey matches the filter key\n // get the existing items list, and see if that filter\n // already exists, if so set isSelected to true,\n // if not create a new filterItem, setting the key only\n // so we can match this key later on when we load the filters\n filters.map<[string, Filter]>(([key, filter]) => {\n if (paramKey !== key || (!isCurrentFacet && !filter.isGrouped)) {\n return [key, filter];\n } else {\n const items = (filter.items || []) as FilterItem[];\n const itemIndex = items.findIndex(item => item?.key === paramValue);\n if (items.length > 0 && itemIndex !== -1) {\n items[itemIndex].isSelected = true;\n } else {\n items.push({\n ...filterItem,\n key: paramValue,\n isSelected: true,\n });\n }\n\n return [\n key,\n {\n ...filter,\n items,\n } as Filter,\n ];\n }\n });\n\n // For each value found in filterParams\n // we are looking to split that value into multiple by any comma\n // and then either set isSelected for an existing filterItem\n // or push an item to the filters.{ key }.items[] array\n // giving it only the key (entry guid) that can be taken to filter\n // the search results during SSR without needing to fetch the filters first\n Object.entries(filterParams).map(([paramName = '', paramValue]) => {\n if (typeof paramValue === 'string')\n return paramValue\n .split(',')\n .map(pVal => (filters = addFilterItem(filters, paramName, pVal)));\n if (typeof paramValue === 'boolean')\n filters = addFilterItem(filters, paramName, paramValue);\n });\n\n return Object.fromEntries(filters) as Filters;\n};\n\nconst resetFacets = (state: SearchState, context: keyof typeof Context) =>\n Object.fromEntries(\n Object.entries(state[context] as Facets).map(([k, v]) => [k, resetFacet(v)])\n ) as Facets;\n\nconst resetFacet = (facet: Facet) => {\n facet.pagingInfo.pagesLoaded = [];\n facet.pagingInfo.pageIndex = 0;\n facet.queryDuration = 0;\n return facet;\n};\n\nexport default (config: SearchConfig) => {\n // Add facets from SearchConfig to initialState\n const initState: SearchState = {\n ...initialState,\n tabs: config.tabs as any,\n facets: generateSearchFacets(Context.facets, config),\n listings: generateSearchFacets(Context.listings, config),\n minilist: generateSearchFacets(Context.minilist, config),\n };\n\n return produce(\n (\n state: Draft<SearchState> = initState,\n action: {\n [key: string]: any;\n context: keyof typeof Context;\n facet: string;\n params: { [key: string]: string };\n }\n ) => {\n const context = state.context as keyof typeof Context;\n const current =\n context !== 'listings' ? state.currentFacet : state.currentListing;\n\n switch (action.type) {\n case APPLY_CONFIG: {\n state = addConfigToState(state, action);\n return state;\n }\n case CLEAR_FILTERS: {\n const currentFilters = state[context][current].filters as Filters;\n\n state[context][current].filters = Object.fromEntries(\n Object.entries(currentFilters).map(([filterKey, filter]) => {\n if (\n typeof action.filterKey === 'undefined' ||\n action.filterKey === filterKey\n ) {\n const filterItems = (filter.items || []) as FilterItem[];\n\n filter.items = filterItems.map(item => ({\n ...item,\n isSelected: false,\n })) as FilterItem[];\n }\n\n return [filterKey, filter];\n })\n );\n state[context][current].queryDuration = 0;\n state[context][current].pagingInfo.pagesLoaded = [];\n\n return;\n }\n case EXECUTE_SEARCH: {\n state[action.context][action.facet].entries = {\n ...(state[action.context][action.facet].entries || entries),\n isLoading: true,\n };\n return;\n }\n case EXECUTE_SEARCH_ERROR: {\n state[action.context][action.facet].entries = {\n ...entries,\n isError: true,\n error: action.error,\n };\n return;\n }\n case LOAD_FILTERS: {\n const { facetKey, filtersToLoad } = action;\n const filters = state[action.context][facetKey].filters as Filters;\n\n Object.entries(filters).map(([filterKey, filter]) => {\n if (filtersToLoad.find((f: string) => f === filterKey))\n return { ...filter, isLoading: true } as Filter;\n return filter;\n });\n\n state[action.context][facetKey].filters = Object.fromEntries(\n Object.entries(filters).map(([filterKey, filter]) => {\n if (filtersToLoad.find((f: string) => f === filterKey))\n return [filterKey, { ...filter, isLoading: true }];\n return [filterKey, filter];\n })\n );\n\n return;\n }\n case LOAD_FILTERS_ERROR:\n case LOAD_FILTERS_COMPLETE: {\n const { facetKey, filterKey, nextFilter } = action;\n const filter = state[action.context][facetKey].filters[\n filterKey\n ] as Filter;\n\n if (\n !(nextFilter.items && nextFilter.items.length > 0) &&\n (filter.items || []).length >= nextFilter.items.length\n ) {\n // Preserve items already in state\n state[action.context][facetKey].filters[filterKey] = {\n ...filter,\n isLoading: false,\n isError: nextFilter.isError,\n };\n return;\n }\n\n state[action.context][facetKey].filters[filterKey] = merge(\n filter,\n nextFilter,\n {\n arrayMerge: (source, inbound) => inbound,\n }\n );\n\n return;\n }\n case SET_ROUTE_FILTERS: {\n const { facet, params, context } = action;\n const { term = '', pageIndex, pageSize, orderBy } = params;\n\n const stateTerm = state.term;\n const tabId = state[context][facet].tabId || 0;\n\n // Reset the facet if the search term has changed, or if the any of\n // the filters have changed\n const resetAllFacets = stateTerm && term !== stateTerm;\n let resetCurrentFacet = false;\n\n // Add filter values in params to the matched filters in state for the current facet\n // causing unfetched filter items to be generated with isSelected: true\n // or existing filter items to be tagged with isSelected: true\n const nextFacets = Object.fromEntries(\n Object.entries(state[context] as Facets).map(\n ([facetName = '', stateFacet]) => {\n const isCurrentFacet = facetName === facet;\n const nextFilters = generateFiltersState(\n {\n facet: facetName,\n params,\n context,\n isCurrentFacet,\n },\n state\n );\n\n resetCurrentFacet =\n state.config.isLoaded === true &&\n !equals(nextFilters, stateFacet.filters);\n\n stateFacet = resetCurrentFacet\n ? resetFacet(stateFacet)\n : stateFacet;\n stateFacet.filters = nextFilters;\n stateFacet.queryParams.dynamicOrderBy = toArray(orderBy) || [];\n return [facetName, stateFacet];\n }\n )\n );\n\n state.context = context;\n state[context] = nextFacets;\n state[\n action.context === Context.facets\n ? 'currentFacet'\n : 'currentListing'\n ] = facet;\n state.term = term;\n state.tabs[tabId].currentFacet = facet;\n state[context][facet].pagingInfo = {\n ...(state[context][facet].pagingInfo || pagingInfo),\n pageIndex:\n Number(pageIndex) - 1 ||\n (state[context][facet].queryParams.loadMorePaging\n ? state[context][facet].pagingInfo?.pageIndex || 0\n : 0),\n pageSize:\n Number(pageSize) || state[context][facet].queryParams.pageSize,\n };\n state.config.isLoaded = true;\n state.config.ssr = typeof window === 'undefined';\n\n if (resetAllFacets) state[context] = resetFacets(state, context);\n\n return;\n }\n case SET_SEARCH_ENTRIES: {\n const thisContext = action.context || context;\n const currentFacet = state[thisContext][action.facet];\n state[thisContext][action.facet] = merge(\n currentFacet,\n action.nextFacet,\n {\n arrayMerge: (source, inbound) => inbound,\n }\n );\n return;\n }\n case SET_SEARCH_FILTERS: {\n // DO SEARCH then SET_SEARCH_FILTERS is for when we cannot use SET_ROUTE_FILTERS\n // for example in a minilist scenario where the route filters\n // are used for the primary page / listing navigation\n\n // Add filter values in params to the matched filters in state\n // causing unfetched filter items to be generated with isSelected: true\n const filters = generateFiltersState(\n { ...action, isCurrentFacet: true },\n state\n );\n\n const term = action?.params?.term;\n const useSearchTerm =\n state[action.context || Context.minilist][action.facet].queryParams\n .useSearchTerm || false;\n state[action.context || Context.minilist][action.facet].filters =\n filters;\n state[action.context || Context.minilist][\n action.facet\n ].queryParams.excludeIds = action.excludeIds;\n state.term = useSearchTerm ? term : state.term;\n state.config.ssr = typeof window === 'undefined';\n\n return;\n }\n case UPDATE_PAGE_INDEX: {\n const { pageIndex } = action;\n const internalPaging =\n state[context][current].queryParams.internalPaging || false;\n\n const currentPageIndex =\n state[context][current].pagingInfo.pageIndex || 0;\n\n state[context][current].pagingInfo.pageIndex = Number(pageIndex) || 0;\n state[context][current].pagingInfo.prevPageIndex = currentPageIndex;\n state[context][current].pagingInfo.isLoading = true;\n\n if (internalPaging) return;\n\n state[context][current].queryDuration = 0;\n return;\n }\n case UPDATE_PAGE_SIZE: {\n const { pageSize } = action;\n\n state[context][current].pagingInfo.pageSize = pageSize;\n state[context][current].pagingInfo.pageIndex = 0;\n state[context][current].pagingInfo.isLoading = true;\n state[context][current].queryDuration = 0;\n return;\n }\n case UPDATE_SEARCH_TERM: {\n state.term = action.term;\n state[context] = resetFacets(state, context);\n\n return;\n }\n case UPDATE_SELECTED_FILTERS: {\n const { filter, key, isUnknownItem } = action;\n\n const isSingleSelect =\n state[context][current].filters[filter].isSingleSelect || false;\n const isGrouped =\n state[context][current].filters[filter].isGrouped || false;\n\n const currentItems = state[context][current].filters[filter].items;\n if (isGrouped) state[context] = resetFacets(state, context);\n state[context][current] = resetFacet(state[context][current]);\n\n if (\n isUnknownItem &&\n currentItems?.findIndex(item => item?.key === key) === -1\n ) {\n currentItems?.push({\n key,\n isSelected: false,\n });\n }\n state[context][current].filters[filter].items = currentItems?.map(\n item => {\n if (item.key === key) {\n return { ...item, isSelected: !item.isSelected };\n }\n if (isSingleSelect) return { ...item, isSelected: false };\n return item;\n }\n );\n\n return;\n }\n case UPDATE_SORT_ORDER: {\n const { orderBy, facet } = action;\n state[context] = resetFacets(state, context);\n const currentFacet = facet || current;\n state[context][currentFacet].queryParams.dynamicOrderBy = orderBy\n ? toArray(orderBy) || []\n : [];\n\n return;\n }\n default:\n return;\n }\n },\n initState\n );\n};\n","export const Context = {\n facets: 'facets',\n listings: 'listings',\n minilist: 'minilist',\n};\nexport * from './models';\n\nexport { default as withSearch } from './containers/withSearch';\nexport { default as withListing } from './containers/withListing';\n\nexport { default as useFacets } from './hooks/useFacets.hook';\nexport { default as useListing } from './hooks/useListing.hook';\nexport { default as useMinilist } from './hooks/useMinilist.hook';\n\nexport * as actions from './redux/actions';\nexport {\n doSearch,\n setRouteFilters,\n searchSagas as sagas,\n triggerListingSsr,\n triggerMinilistSsr,\n triggerSearchSsr,\n} from './redux/sagas';\nexport { default as reducer } from './redux/reducers';\nexport * as schema from './redux/schema';\nexport * as selectors from './redux/selectors';\nexport * as types from './redux/types';\n\nexport * as expressions from './search/expressions';\nexport * as queries from './search/queries';\nexport { routeParams } from './search/util';\n"],"names":["toJS","WrappedComponent","wrappedComponentProps","KEY","VALUE","propsJS","Object","entries","reduce","newProps","wrappedComponentProp","propKey","propValue","React","createElement","withSearch","mappers","SearchComponent","Wrapper","props","displayName","name","mapStateToProps","state","currentFacet","getCurrentFacet","currentPageIndex","getPageIndex","currentTabIndex","getCurrentTab","facet","getFacet","facets","getTabFacets","facetsTotalCount","getFacetsTotalCount","facetTitles","getFacetTitles","featuredResults","getFeaturedResults","filters","getRenderableFilters","isLoading","getIsLoading","paging","getPaging","pageIsLoading","getPageIsLoading","results","getResults","resultsInfo","searchTerm","getSearchTerm","searchTotalCount","getSearchTotalCount","selectedFilters","getSelectedFilters","sortOrder","getQueryParameter","tabsAndFacets","getTabsAndFacets","totalCount","getTotalCount","mapDispatchToProps","clearFilters","filterKey","withMappers","updateCurrentFacet","updateCurrentTab","id","updatePageIndex","pageIndex","scrollToElement","updatePageSize","pageSize","updateSearchTerm","term","updateSelectedFilters","filter","key","isUnknownItem","updateSortOrder","orderBy","connector","connect","withListing","ListingComponent","getCurrent","getListing","selectListing","currentListing","listing","featured","navigate","mapStateToSearchUri","selectFacets","makeSelectFacetsProps","createSelector","_","Context","useFacets","dispatch","useDispatch","m","defaultMappers","selectListingProps","useMemo","dispatchProps","useSelector","makeSelectListingProps","listings","useListing","title","makeSelectMinilistProps","minilist","getFilters","pagingInfo","useMinilist","config","excludeIds","mapper","params","defaultLang","debug","selectMinilistProps","useEffect","triggerSearch","context","isError","items","pageCount","pagesLoaded","prevPageIndex","searchFacet","featuredEntries","queryParams","queryDuration","projectId","searchTab","undefined","label","filtering","isGrouped","contentTypeId","customWhere","fieldId","filterItem","type","path","isSelected","isLoaded","searchState","tabs","initialState","addConfigToState","action","generateSearchFacets","thisConfig","keys","length","map","facetName","newFacet","merge","isDisabled","generateFiltersState","isCurrentFacet","filterParams","_filter$items","item","addFilterItem","paramKey","paramValue","itemIndex","findIndex","push","paramName","split","pVal","fromEntries","resetFacets","k","v","resetFacet","initState","produce","current","APPLY_CONFIG","CLEAR_FILTERS","currentFilters","filterItems","EXECUTE_SEARCH","EXECUTE_SEARCH_ERROR","error","LOAD_FILTERS","facetKey","filtersToLoad","find","f","LOAD_FILTERS_ERROR","LOAD_FILTERS_COMPLETE","nextFilter","arrayMerge","source","inbound","SET_ROUTE_FILTERS","_state$context$facet$","stateTerm","tabId","resetAllFacets","resetCurrentFacet","nextFacets","stateFacet","nextFilters","equals","dynamicOrderBy","toArray","Number","loadMorePaging","ssr","window","SET_SEARCH_ENTRIES","thisContext","nextFacet","SET_SEARCH_FILTERS","_action$params","useSearchTerm","UPDATE_PAGE_INDEX","internalPaging","UPDATE_PAGE_SIZE","UPDATE_SEARCH_TERM","UPDATE_SELECTED_FILTERS","isSingleSelect","currentItems","UPDATE_SORT_ORDER"],"mappings":"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"}
|
|
@@ -9,32 +9,95 @@ const getJS = (state, stateKey) => {
|
|
|
9
9
|
if ('get' in state && typeof state.get === 'function' && 'toJS' in state && typeof state.toJS === 'function') {
|
|
10
10
|
return state.get(stateKey);
|
|
11
11
|
}
|
|
12
|
-
|
|
13
12
|
return state[stateKey];
|
|
14
13
|
};
|
|
15
14
|
const getImmutableOrJS = (state, stateKey, fallbackValue, returnType = globalThis.STATE_TYPE) => {
|
|
16
15
|
var _globalThis$immutable, _globalThis$immutable2;
|
|
17
|
-
|
|
18
16
|
// Find a fromJS function from global that is dynamically loaded in createStore
|
|
19
17
|
// or replace with a stub function for non-immutable gets
|
|
20
18
|
const fromJS = returnType === 'immutable' ? ((_globalThis$immutable = globalThis.immutable) === null || _globalThis$immutable === void 0 ? void 0 : _globalThis$immutable.fromJSOrdered) || ((_globalThis$immutable2 = globalThis.immutable) === null || _globalThis$immutable2 === void 0 ? void 0 : _globalThis$immutable2.fromJS) : v => v;
|
|
21
|
-
|
|
22
19
|
if (state && 'get' in state && typeof state.get === 'function' && 'getIn' in state && typeof state.getIn === 'function' && 'toJS' in state && typeof state.toJS === 'function') {
|
|
23
20
|
if (Array.isArray(stateKey)) return fromJS(state.getIn(stateKey, fallbackValue));
|
|
24
21
|
return fromJS(state.get(stateKey, fallbackValue));
|
|
25
22
|
}
|
|
26
|
-
|
|
27
23
|
if (Array.isArray(stateKey) && state && typeof state === 'object') {
|
|
28
24
|
const result = jpath(stateKey.join('.'), state);
|
|
29
25
|
if (typeof result === 'undefined') return fallbackValue;
|
|
30
26
|
return result;
|
|
31
27
|
}
|
|
32
|
-
|
|
33
28
|
const result = state && typeof state === 'object' ? state[stateKey] : undefined;
|
|
34
29
|
if (typeof result === 'undefined') return fallbackValue;
|
|
35
30
|
return result;
|
|
36
31
|
};
|
|
37
32
|
|
|
33
|
+
const ROUTING_PREFIX = '@ROUTING/';
|
|
34
|
+
const GET_ENTRY = `${ROUTING_PREFIX}_GET_ENTRY`;
|
|
35
|
+
const SET_ENTRY = `${ROUTING_PREFIX}_SET_ENTRY`;
|
|
36
|
+
const SET_NODE = `${ROUTING_PREFIX}_SET_NODE`;
|
|
37
|
+
const SET_ANCESTORS = `${ROUTING_PREFIX}_SET_ANCESTORS`;
|
|
38
|
+
const SET_SIBLINGS = `${ROUTING_PREFIX}_SET_SIBLINGS`;
|
|
39
|
+
const SET_ENTRY_ID = `${ROUTING_PREFIX}_SET_ENTRY_ID`;
|
|
40
|
+
const SET_SURROGATE_KEYS = `${ROUTING_PREFIX}_SET_SURROGATE_KEYS`;
|
|
41
|
+
const SET_NAVIGATION_NOT_FOUND = `${ROUTING_PREFIX}_SET_NOT_FOUND`;
|
|
42
|
+
const SET_NAVIGATION_PATH = `${ROUTING_PREFIX}_SET_NAVIGATION_PATH`;
|
|
43
|
+
const SET_TARGET_PROJECT = `${ROUTING_PREFIX}_SET_TARGET_PROJECT`;
|
|
44
|
+
const SET_ROUTE = `${ROUTING_PREFIX}_SET_ROUTE`;
|
|
45
|
+
const UPDATE_LOADING_STATE = `${ROUTING_PREFIX}_UPDATE_LOADING_STATE`;
|
|
46
|
+
|
|
47
|
+
var routing$2 = /*#__PURE__*/Object.freeze({
|
|
48
|
+
__proto__: null,
|
|
49
|
+
GET_ENTRY: GET_ENTRY,
|
|
50
|
+
SET_ENTRY: SET_ENTRY,
|
|
51
|
+
SET_NODE: SET_NODE,
|
|
52
|
+
SET_ANCESTORS: SET_ANCESTORS,
|
|
53
|
+
SET_SIBLINGS: SET_SIBLINGS,
|
|
54
|
+
SET_ENTRY_ID: SET_ENTRY_ID,
|
|
55
|
+
SET_SURROGATE_KEYS: SET_SURROGATE_KEYS,
|
|
56
|
+
SET_NAVIGATION_NOT_FOUND: SET_NAVIGATION_NOT_FOUND,
|
|
57
|
+
SET_NAVIGATION_PATH: SET_NAVIGATION_PATH,
|
|
58
|
+
SET_TARGET_PROJECT: SET_TARGET_PROJECT,
|
|
59
|
+
SET_ROUTE: SET_ROUTE,
|
|
60
|
+
UPDATE_LOADING_STATE: UPDATE_LOADING_STATE
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
const setNotFound = notFound => action(SET_NAVIGATION_NOT_FOUND, {
|
|
64
|
+
notFound
|
|
65
|
+
});
|
|
66
|
+
const setNavigationPath = (path, location, staticRoute, withEvents, statePath, routes) => action(SET_NAVIGATION_PATH, {
|
|
67
|
+
path,
|
|
68
|
+
location,
|
|
69
|
+
staticRoute,
|
|
70
|
+
withEvents,
|
|
71
|
+
statePath,
|
|
72
|
+
routes
|
|
73
|
+
});
|
|
74
|
+
const setCurrentProject = (project, allowedGroups, hostname) => action(SET_TARGET_PROJECT, {
|
|
75
|
+
project,
|
|
76
|
+
allowedGroups,
|
|
77
|
+
hostname
|
|
78
|
+
});
|
|
79
|
+
const setRoute = (path, state) => action(SET_ROUTE, {
|
|
80
|
+
path,
|
|
81
|
+
state
|
|
82
|
+
});
|
|
83
|
+
const setRouteEntry = entry => action(SET_ENTRY, {
|
|
84
|
+
entry
|
|
85
|
+
});
|
|
86
|
+
const setSurrogateKeys = (keys, url) => action(SET_SURROGATE_KEYS, {
|
|
87
|
+
keys,
|
|
88
|
+
url
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
var routing$1 = /*#__PURE__*/Object.freeze({
|
|
92
|
+
__proto__: null,
|
|
93
|
+
setNotFound: setNotFound,
|
|
94
|
+
setNavigationPath: setNavigationPath,
|
|
95
|
+
setCurrentProject: setCurrentProject,
|
|
96
|
+
setRoute: setRoute,
|
|
97
|
+
setRouteEntry: setRouteEntry,
|
|
98
|
+
setSurrogateKeys: setSurrogateKeys
|
|
99
|
+
});
|
|
100
|
+
|
|
38
101
|
function queryParams(search) {
|
|
39
102
|
return queryString.parse(typeof window != 'undefined' ? window.location.search : search);
|
|
40
103
|
}
|
|
@@ -61,6 +124,9 @@ const selectRouteEntrySlug = state => {
|
|
|
61
124
|
return getImmutableOrJS(entry, ['sys', 'slug'], null);
|
|
62
125
|
};
|
|
63
126
|
const selectRouteEntryID = state => getImmutableOrJS(state, ['routing', 'entryID']);
|
|
127
|
+
const selectCanonicalPath = state => {
|
|
128
|
+
return getImmutableOrJS(state, ['routing', 'canonicalPath']);
|
|
129
|
+
};
|
|
64
130
|
const selectCurrentPath = state => getImmutableOrJS(state, ['routing', 'currentPath']);
|
|
65
131
|
const selectCurrentLocation = state => getImmutableOrJS(state, ['routing', 'location']);
|
|
66
132
|
const selectCurrentSearch = state => getImmutableOrJS(state, ['routing', 'location', 'search']);
|
|
@@ -73,7 +139,7 @@ const selectCurrentSiblings = state => getImmutableOrJS(state, ['routing', 'curr
|
|
|
73
139
|
const selectCurrentNode = (state, returnType) => getImmutableOrJS(state, ['routing', 'currentNode'], null, returnType);
|
|
74
140
|
const selectCurrentChildren = state => getImmutableOrJS(state, ['routing', 'currentNode', 'children'], []);
|
|
75
141
|
const selectBreadcrumb = state => {
|
|
76
|
-
return selectCurrentAncestors(state)
|
|
142
|
+
return [...selectCurrentAncestors(state), selectCurrentNode(state)];
|
|
77
143
|
};
|
|
78
144
|
const selectRouteErrorMessage = state => {
|
|
79
145
|
const error = getImmutableOrJS(state, ['routing', 'error']);
|
|
@@ -96,6 +162,7 @@ var routing = /*#__PURE__*/Object.freeze({
|
|
|
96
162
|
selectRouteEntryLanguage: selectRouteEntryLanguage,
|
|
97
163
|
selectRouteEntrySlug: selectRouteEntrySlug,
|
|
98
164
|
selectRouteEntryID: selectRouteEntryID,
|
|
165
|
+
selectCanonicalPath: selectCanonicalPath,
|
|
99
166
|
selectCurrentPath: selectCurrentPath,
|
|
100
167
|
selectCurrentLocation: selectCurrentLocation,
|
|
101
168
|
selectCurrentSearch: selectCurrentSearch,
|
|
@@ -115,5 +182,5 @@ var routing = /*#__PURE__*/Object.freeze({
|
|
|
115
182
|
selectStaticRoute: selectStaticRoute
|
|
116
183
|
});
|
|
117
184
|
|
|
118
|
-
export { selectRouteEntry as a, selectCurrentProject as b,
|
|
119
|
-
//# sourceMappingURL=selectors-
|
|
185
|
+
export { setSurrogateKeys as A, SET_TARGET_PROJECT as B, SET_SURROGATE_KEYS as C, action as D, routing$2 as E, routing$1 as F, routing as G, getJS as H, SET_NAVIGATION_PATH as S, UPDATE_LOADING_STATE as U, selectRouteEntry as a, selectCurrentProject as b, setCurrentProject as c, SET_ROUTE as d, selectCurrentNode as e, selectCurrentAncestors as f, getImmutableOrJS as g, selectCurrentSiblings as h, selectRouteEntryEntryId as i, selectRouteEntryLanguage as j, selectMappedEntry as k, SET_ENTRY as l, SET_ANCESTORS as m, SET_SIBLINGS as n, selectCurrentSearch as o, setRoute as p, queryParams as q, selectRouteEntryContentTypeId as r, selectSurrogateKeys as s, selectRouteIsError as t, selectIsNotFound as u, selectRouteLoading as v, selectCurrentPath as w, selectRouteStatusCode as x, selectRouteErrorMessage as y, setNavigationPath as z };
|
|
186
|
+
//# sourceMappingURL=selectors-74de49a3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selectors-74de49a3.js","sources":["../src/redux/util.ts","../src/routing/redux/types.ts","../src/routing/redux/actions.ts","../src/util/navigation.js","../src/routing/redux/selectors.ts"],"sourcesContent":["import { jpath } from '~/util/json-mapper';\n\nexport const action = (type: string, payload: any = {}) => ({\n type,\n ...payload,\n});\n\nexport const getJS = <S extends Record<string, unknown>, T extends keyof S>(\n state: S,\n stateKey: T\n) => {\n if (\n 'get' in state &&\n typeof state.get === 'function' &&\n 'toJS' in state &&\n typeof state.toJS === 'function'\n ) {\n return state.get(stateKey) as S[T];\n }\n return state[stateKey];\n};\n\nexport const getImmutableOrJS = <\n S extends Record<string, unknown>,\n T extends keyof S | any\n>(\n state: S,\n stateKey: T | T[],\n fallbackValue?: any,\n returnType: 'immutable' | 'js' = globalThis.STATE_TYPE\n) => {\n // Find a fromJS function from global that is dynamically loaded in createStore\n // or replace with a stub function for non-immutable gets\n const fromJS =\n returnType === 'immutable'\n ? globalThis.immutable?.fromJSOrdered || globalThis.immutable?.fromJS\n : v => v;\n\n if (\n state &&\n 'get' in state &&\n typeof state.get === 'function' &&\n 'getIn' in state &&\n typeof state.getIn === 'function' &&\n 'toJS' in state &&\n typeof state.toJS === 'function'\n ) {\n if (Array.isArray(stateKey))\n return fromJS(state.getIn(stateKey, fallbackValue));\n return fromJS(state.get(stateKey, fallbackValue)) as S[T | any];\n }\n\n if (Array.isArray(stateKey) && state && typeof state === 'object') {\n const result = jpath(stateKey.join('.'), state);\n if (typeof result === 'undefined') return fallbackValue;\n return result;\n }\n\n const result =\n state && typeof state === 'object' ? state[stateKey as string] : undefined;\n if (typeof result === 'undefined') return fallbackValue;\n return result;\n};\n","const ROUTING_PREFIX = '@ROUTING/';\nexport const GET_ENTRY = `${ROUTING_PREFIX}_GET_ENTRY`;\nexport const SET_ENTRY = `${ROUTING_PREFIX}_SET_ENTRY`;\nexport const SET_NODE = `${ROUTING_PREFIX}_SET_NODE`;\nexport const SET_ANCESTORS = `${ROUTING_PREFIX}_SET_ANCESTORS`;\nexport const SET_SIBLINGS = `${ROUTING_PREFIX}_SET_SIBLINGS`;\nexport const SET_ENTRY_ID = `${ROUTING_PREFIX}_SET_ENTRY_ID`;\nexport const SET_SURROGATE_KEYS = `${ROUTING_PREFIX}_SET_SURROGATE_KEYS`;\n\nexport const SET_NAVIGATION_NOT_FOUND = `${ROUTING_PREFIX}_SET_NOT_FOUND`;\nexport const SET_NAVIGATION_PATH = `${ROUTING_PREFIX}_SET_NAVIGATION_PATH`;\n\nexport const SET_TARGET_PROJECT = `${ROUTING_PREFIX}_SET_TARGET_PROJECT`;\n\nexport const SET_ROUTE = `${ROUTING_PREFIX}_SET_ROUTE`;\n\nexport const UPDATE_LOADING_STATE = `${ROUTING_PREFIX}_UPDATE_LOADING_STATE`;\n","import { action } from '~/redux/util';\nimport {\n SET_ENTRY,\n SET_NAVIGATION_NOT_FOUND,\n SET_NAVIGATION_PATH,\n SET_TARGET_PROJECT,\n SET_ROUTE,\n SET_SURROGATE_KEYS,\n} from './types';\n\nexport const setNotFound = notFound =>\n action(SET_NAVIGATION_NOT_FOUND, { notFound });\nexport const setNavigationPath = (\n path,\n location,\n staticRoute,\n withEvents,\n statePath,\n routes\n) =>\n action(SET_NAVIGATION_PATH, {\n path,\n location,\n staticRoute,\n withEvents,\n statePath,\n routes,\n });\nexport const setCurrentProject = (project, allowedGroups, hostname) =>\n action(SET_TARGET_PROJECT, { project, allowedGroups, hostname });\nexport const setRoute = (path, state) => action(SET_ROUTE, { path, state });\nexport const setRouteEntry = entry => action(SET_ENTRY, { entry });\nexport const setSurrogateKeys = (keys, url) =>\n action(SET_SURROGATE_KEYS, { keys, url });\n","import queryString from 'query-string';\n\nexport function queryParams(search) {\n return queryString.parse(\n typeof window != 'undefined' ? window.location.search : search\n );\n}\nexport const routeParams = staticRoute =>\n staticRoute && staticRoute.match ? staticRoute.match.params : {};\n\nexport const buildUrl = (route, params) => {\n const qs = queryString.stringify(params);\n const path = qs ? `${route}?${qs}` : route;\n return path;\n};\n\nexport const clientHostname = () =>\n `${window.location.protocol}//${window.location.hostname}:${window.location.port}`;\n","import { Entry } from 'contensis-delivery-api/lib/models';\nimport { StateType } from '~/config';\nimport { AppState } from '~/redux/appstate';\nimport { getImmutableOrJS as getIn } from '~/redux/util';\nimport { queryParams } from '~/util/navigation';\n\nexport const selectRouteEntry = (state: AppState, returnType?: StateType) =>\n getIn(state, ['routing', 'entry'], {} as Entry, returnType);\n\nexport const selectMappedEntry = (state: AppState, returnType?: StateType) =>\n getIn(state, ['routing', 'mappedEntry'], null, returnType);\n\nexport const selectSurrogateKeys = (state: AppState) => {\n const keys = getIn(state, ['routing', 'surrogateKeys'], [], 'js');\n return keys.join(' ');\n};\nexport const selectCurrentHostname = (state: AppState) =>\n getIn(state, ['routing', 'currentHostname']);\n\nexport const selectCurrentTreeID = (state: AppState) =>\n getIn(state, ['routing', 'currentHostname']);\n\nexport const selectRouteEntryEntryId = (state: AppState) =>\n getIn(state, ['routing', 'entry', 'sys', 'id'], null);\n\nexport const selectRouteEntryContentTypeId = (state: AppState) => {\n const entry = selectRouteEntry(state);\n return getIn(entry, ['sys', 'contentTypeId'], null);\n};\n\nexport const selectRouteEntryLanguage = (state: AppState) => {\n const entry = selectRouteEntry(state);\n return getIn(entry, ['sys', 'language'], null);\n};\n\nexport const selectRouteEntrySlug = (state: AppState) => {\n const entry = selectRouteEntry(state);\n return getIn(entry, ['sys', 'slug'], null);\n};\n\nexport const selectRouteEntryID = (state: AppState) =>\n getIn(state, ['routing', 'entryID']);\n\nexport const selectCanonicalPath = (state: AppState) => {\n return getIn(state, ['routing', 'canonicalPath']);\n};\n\nexport const selectCurrentPath = (state: AppState) =>\n getIn(state, ['routing', 'currentPath']);\n\nexport const selectCurrentLocation = (state: AppState) =>\n getIn(state, ['routing', 'location']);\nexport const selectCurrentSearch = (state: AppState) =>\n getIn(state, ['routing', 'location', 'search']);\nexport const selectCurrentHash = (state: AppState) =>\n getIn(state, ['routing', 'location', 'hash']);\nexport const selectQueryStringAsObject = (state: AppState) =>\n queryParams(selectCurrentSearch(state));\nexport const selectCurrentProject = (state: AppState) =>\n getIn(state, ['routing', 'currentProject']);\nexport const selectIsNotFound = (state: AppState) =>\n getIn(state, ['routing', 'notFound']);\nexport const selectCurrentAncestors = (state: AppState) =>\n getIn(state, ['routing', 'currentNodeAncestors'], []);\nexport const selectCurrentSiblings = (state: AppState) =>\n getIn(state, ['routing', 'currentNodeSiblings'], []);\nexport const selectCurrentNode = (state: AppState, returnType?: StateType) =>\n getIn(state, ['routing', 'currentNode'], null, returnType);\nexport const selectCurrentChildren = state =>\n getIn(state, ['routing', 'currentNode', 'children'], []);\n\nexport const selectBreadcrumb = (state: AppState) => {\n return [...selectCurrentAncestors(state), selectCurrentNode(state)];\n};\nexport const selectRouteErrorMessage = (state: AppState) => {\n const error = getIn(state, ['routing', 'error']);\n return getIn(error, ['data', 'message'], getIn(error, 'statusText'));\n};\nexport const selectRouteIsError = (state: AppState) =>\n getIn(state, ['routing', 'isError']);\nexport const selectRouteLoading = (state: AppState) =>\n getIn(state, ['routing', 'isLoading']);\nexport const selectRouteStatusCode = (state: AppState) =>\n getIn(state, ['routing', 'statusCode']);\nexport const selectStaticRoute = (state: AppState) =>\n getIn(state, ['routing', 'staticRoute']);\n"],"names":["action","type","payload","getJS","state","stateKey","get","toJS","getImmutableOrJS","fallbackValue","returnType","globalThis","STATE_TYPE","_globalThis$immutable","_globalThis$immutable2","fromJS","immutable","fromJSOrdered","v","getIn","Array","isArray","result","jpath","join","undefined","ROUTING_PREFIX","GET_ENTRY","SET_ENTRY","SET_NODE","SET_ANCESTORS","SET_SIBLINGS","SET_ENTRY_ID","SET_SURROGATE_KEYS","SET_NAVIGATION_NOT_FOUND","SET_NAVIGATION_PATH","SET_TARGET_PROJECT","SET_ROUTE","UPDATE_LOADING_STATE","setNotFound","notFound","setNavigationPath","path","location","staticRoute","withEvents","statePath","routes","setCurrentProject","project","allowedGroups","hostname","setRoute","setRouteEntry","entry","setSurrogateKeys","keys","url","queryParams","search","queryString","parse","window","selectRouteEntry","selectMappedEntry","selectSurrogateKeys","selectCurrentHostname","selectCurrentTreeID","selectRouteEntryEntryId","selectRouteEntryContentTypeId","selectRouteEntryLanguage","selectRouteEntrySlug","selectRouteEntryID","selectCanonicalPath","selectCurrentPath","selectCurrentLocation","selectCurrentSearch","selectCurrentHash","selectQueryStringAsObject","selectCurrentProject","selectIsNotFound","selectCurrentAncestors","selectCurrentSiblings","selectCurrentNode","selectCurrentChildren","selectBreadcrumb","selectRouteErrorMessage","error","selectRouteIsError","selectRouteLoading","selectRouteStatusCode","selectStaticRoute"],"mappings":"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"}
|
package/esm/urls-eac9a747.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"urls-eac9a747.js","sources":["../src/server/features/caching/setCachingHeaders.ts","../src/util/urls.ts"],"sourcesContent":["import { Response } from 'express';\n\nconst setCachingHeaders = (\n response: Response,\n { cacheControl = 'private', surrogateControl = '3600' },\n method = 'header'\n) => {\n if (cacheControl) response[method]('Cache-Control', cacheControl);\n if (surrogateControl)\n response[method](\n 'Surrogate-Control',\n `max-age=${surrogateControl.toString()}`\n );\n};\n\nexport default setCachingHeaders;\n","const url = (alias: string, project: string) => {\n const projectAndAlias =\n project && project.toLowerCase() !== 'website'\n ? `${project.toLowerCase()}-${alias}`\n : alias;\n return {\n api: `https://api-${alias}.cloud.contensis.com`,\n cms: `https://cms-${alias}.cloud.contensis.com`,\n liveWeb: `https://live-${projectAndAlias}.cloud.contensis.com`,\n previewWeb: `https://preview-${projectAndAlias}.cloud.contensis.com`,\n iisWeb: `https://iis-live-${projectAndAlias}.cloud.contensis.com`,\n iisPreviewWeb: `https://iis-preview-${projectAndAlias}.cloud.contensis.com`,\n };\n};\n\nexport default url;\n"],"names":["setCachingHeaders","response","cacheControl","surrogateControl","method","toString","url","alias","project","projectAndAlias","toLowerCase","api","cms","liveWeb","previewWeb","iisWeb","iisPreviewWeb"],"mappings":"AAEA,MAAMA,iBAAiB,
|
|
1
|
+
{"version":3,"file":"urls-eac9a747.js","sources":["../src/server/features/caching/setCachingHeaders.ts","../src/util/urls.ts"],"sourcesContent":["import { Response } from 'express';\n\nconst setCachingHeaders = (\n response: Response,\n { cacheControl = 'private', surrogateControl = '3600' },\n method = 'header'\n) => {\n if (cacheControl) response[method]('Cache-Control', cacheControl);\n if (surrogateControl)\n response[method](\n 'Surrogate-Control',\n `max-age=${surrogateControl.toString()}`\n );\n};\n\nexport default setCachingHeaders;\n","const url = (alias: string, project: string) => {\n const projectAndAlias =\n project && project.toLowerCase() !== 'website'\n ? `${project.toLowerCase()}-${alias}`\n : alias;\n return {\n api: `https://api-${alias}.cloud.contensis.com`,\n cms: `https://cms-${alias}.cloud.contensis.com`,\n liveWeb: `https://live-${projectAndAlias}.cloud.contensis.com`,\n previewWeb: `https://preview-${projectAndAlias}.cloud.contensis.com`,\n iisWeb: `https://iis-live-${projectAndAlias}.cloud.contensis.com`,\n iisPreviewWeb: `https://iis-preview-${projectAndAlias}.cloud.contensis.com`,\n };\n};\n\nexport default url;\n"],"names":["setCachingHeaders","response","cacheControl","surrogateControl","method","toString","url","alias","project","projectAndAlias","toLowerCase","api","cms","liveWeb","previewWeb","iisWeb","iisPreviewWeb"],"mappings":"AAEA,MAAMA,iBAAiB,GAAGA,CACxBC,QAAkB,EAClB;AAAEC,EAAAA,YAAY,GAAG,SAAS;AAAEC,EAAAA,gBAAgB,GAAG,MAAA;AAAO,CAAC,EACvDC,MAAM,GAAG,QAAQ,KACd;EACH,IAAIF,YAAY,EAAED,QAAQ,CAACG,MAAM,CAAC,CAAC,eAAe,EAAEF,YAAY,CAAC,CAAA;AACjE,EAAA,IAAIC,gBAAgB,EAClBF,QAAQ,CAACG,MAAM,CAAC,CACd,mBAAmB,EAClB,WAAUD,gBAAgB,CAACE,QAAQ,EAAG,EAAC,CACzC,CAAA;AACL;;ACbA,MAAMC,GAAG,GAAGA,CAACC,KAAa,EAAEC,OAAe,KAAK;EAC9C,MAAMC,eAAe,GACnBD,OAAO,IAAIA,OAAO,CAACE,WAAW,EAAE,KAAK,SAAS,GACzC,CAAEF,EAAAA,OAAO,CAACE,WAAW,EAAG,IAAGH,KAAM,CAAA,CAAC,GACnCA,KAAK,CAAA;EACX,OAAO;IACLI,GAAG,EAAG,CAAcJ,YAAAA,EAAAA,KAAM,CAAqB,oBAAA,CAAA;IAC/CK,GAAG,EAAG,CAAcL,YAAAA,EAAAA,KAAM,CAAqB,oBAAA,CAAA;IAC/CM,OAAO,EAAG,CAAeJ,aAAAA,EAAAA,eAAgB,CAAqB,oBAAA,CAAA;IAC9DK,UAAU,EAAG,CAAkBL,gBAAAA,EAAAA,eAAgB,CAAqB,oBAAA,CAAA;IACpEM,MAAM,EAAG,CAAmBN,iBAAAA,EAAAA,eAAgB,CAAqB,oBAAA,CAAA;IACjEO,aAAa,EAAG,uBAAsBP,eAAgB,CAAA,oBAAA,CAAA;GACvD,CAAA;AACH;;;;"}
|