@blaze-cms/react-page-builder 0.130.0-admin-updates.8 → 0.130.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -60
- package/lib/components/Code/Code.js +3 -7
- package/lib/components/Code/Code.js.map +1 -1
- package/lib/components/DataSummary/helpers/build-loop-props-content.js +1 -3
- package/lib/components/DataSummary/helpers/build-loop-props-content.js.map +1 -1
- package/lib/components/DataSummary/helpers/build-props-to-display-with-content.js +2 -3
- package/lib/components/DataSummary/helpers/build-props-to-display-with-content.js.map +1 -1
- package/lib/components/Layout/Layout.js +10 -4
- package/lib/components/Layout/Layout.js.map +1 -1
- package/lib/components/SearchContent/SearchContent.js +6 -8
- package/lib/components/SearchContent/SearchContent.js.map +1 -1
- package/lib/components/SearchFilter/SearchFilterContainer.js +1 -2
- package/lib/components/SearchFilter/SearchFilterContainer.js.map +1 -1
- package/lib/components/SearchFilter/helpers/build-new-query.js +2 -3
- package/lib/components/SearchFilter/helpers/build-new-query.js.map +1 -1
- package/lib/components/SearchFilterSort/helpers/handle-sort-update.js +2 -5
- package/lib/components/SearchFilterSort/helpers/handle-sort-update.js.map +1 -1
- package/lib/components/SearchFilterSort/helpers/update-sort.js +1 -2
- package/lib/components/SearchFilterSort/helpers/update-sort.js.map +1 -1
- package/lib/helpers/build-props-query.js +2 -5
- package/lib/helpers/build-props-query.js.map +1 -1
- package/lib/helpers/get-wrapped-value-with-link.js +3 -2
- package/lib/helpers/get-wrapped-value-with-link.js.map +1 -1
- package/lib/helpers/index.js +0 -7
- package/lib/helpers/index.js.map +1 -1
- package/lib/helpers/parse-props-to-display.js +8 -13
- package/lib/helpers/parse-props-to-display.js.map +1 -1
- package/lib-es/components/Code/Code.js +4 -8
- package/lib-es/components/Code/Code.js.map +1 -1
- package/lib-es/components/DataSummary/helpers/build-loop-props-content.js +1 -3
- package/lib-es/components/DataSummary/helpers/build-loop-props-content.js.map +1 -1
- package/lib-es/components/DataSummary/helpers/build-props-to-display-with-content.js +3 -4
- package/lib-es/components/DataSummary/helpers/build-props-to-display-with-content.js.map +1 -1
- package/lib-es/components/Layout/Layout.js +11 -5
- package/lib-es/components/Layout/Layout.js.map +1 -1
- package/lib-es/components/SearchContent/SearchContent.js +6 -8
- package/lib-es/components/SearchContent/SearchContent.js.map +1 -1
- package/lib-es/components/SearchFilter/SearchFilterContainer.js +1 -2
- package/lib-es/components/SearchFilter/SearchFilterContainer.js.map +1 -1
- package/lib-es/components/SearchFilter/helpers/build-new-query.js +2 -3
- package/lib-es/components/SearchFilter/helpers/build-new-query.js.map +1 -1
- package/lib-es/components/SearchFilterSort/helpers/handle-sort-update.js +2 -7
- package/lib-es/components/SearchFilterSort/helpers/handle-sort-update.js.map +1 -1
- package/lib-es/components/SearchFilterSort/helpers/update-sort.js +2 -2
- package/lib-es/components/SearchFilterSort/helpers/update-sort.js.map +1 -1
- package/lib-es/helpers/build-props-query.js +2 -4
- package/lib-es/helpers/build-props-query.js.map +1 -1
- package/lib-es/helpers/get-wrapped-value-with-link.js +2 -2
- package/lib-es/helpers/get-wrapped-value-with-link.js.map +1 -1
- package/lib-es/helpers/index.js +0 -1
- package/lib-es/helpers/index.js.map +1 -1
- package/lib-es/helpers/parse-props-to-display.js +9 -12
- package/lib-es/helpers/parse-props-to-display.js.map +1 -1
- package/package.json +10 -10
- package/src/components/Code/Code.js +3 -7
- package/src/components/DataSummary/helpers/build-loop-props-content.js +1 -4
- package/src/components/DataSummary/helpers/build-props-to-display-with-content.js +3 -6
- package/src/components/Layout/Layout.js +9 -2
- package/src/components/SearchContent/SearchContent.js +6 -8
- package/src/components/SearchFilter/SearchFilterContainer.js +1 -2
- package/src/components/SearchFilter/helpers/build-new-query.js +2 -3
- package/src/components/SearchFilterSort/helpers/handle-sort-update.js +3 -7
- package/src/components/SearchFilterSort/helpers/update-sort.js +2 -2
- package/src/helpers/build-props-query.js +2 -4
- package/src/helpers/get-wrapped-value-with-link.js +3 -6
- package/src/helpers/index.js +0 -1
- package/src/helpers/parse-props-to-display.js +21 -25
- package/tests/unit/src/components/Code/Code.test.js +0 -5
- package/tests/unit/src/components/Code/__snapshots__/Code.test.js.snap +0 -8
- package/tests/unit/src/components/DataSummary/helpers/build-loop-props-content.test.js +0 -9
- package/tests/unit/src/components/SearchFilter/helpers/build-new-query.test.js +1 -15
- package/tests/unit/src/components/SearchFilterSort/helpers/handle-sort-update.test.js +3 -9
- package/tests/unit/src/components/SearchFilterSort/helpers/update-sort.test.js +1 -10
- package/tests/unit/src/helpers/build-props-query.test.js +0 -25
- package/tests/unit/src/helpers/get-wrapped-value-with-link.test.js +2 -2
- package/tests/unit/src/helpers/parse-props-to-display.test.js +0 -4
- package/lib/helpers/process-data-summary-value.js +0 -56
- package/lib/helpers/process-data-summary-value.js.map +0 -1
- package/lib-es/helpers/process-data-summary-value.js +0 -36
- package/lib-es/helpers/process-data-summary-value.js.map +0 -1
- package/src/helpers/process-data-summary-value.js +0 -22
- package/tests/unit/src/helpers/__snapshots__/get-wrapped-value-with-link.test.js.snap +0 -18
- package/tests/unit/src/helpers/prcoess-data-summary-value.test.js +0 -52
|
@@ -9,12 +9,12 @@ const SearchContent = ({
|
|
|
9
9
|
searchInputAlignment,
|
|
10
10
|
searchInputWrapperMobile,
|
|
11
11
|
searchInputWrapperDesktop,
|
|
12
|
+
collapsible,
|
|
12
13
|
isMobile,
|
|
13
14
|
placeholder,
|
|
14
|
-
modifier
|
|
15
|
-
collapsedSearch
|
|
15
|
+
modifier
|
|
16
16
|
}) => {
|
|
17
|
-
const [collapsed, setCollapsed] = useState(
|
|
17
|
+
const [collapsed, setCollapsed] = useState(collapsible);
|
|
18
18
|
const router = useRouter();
|
|
19
19
|
const {
|
|
20
20
|
results,
|
|
@@ -44,7 +44,7 @@ const SearchContent = ({
|
|
|
44
44
|
}
|
|
45
45
|
};
|
|
46
46
|
const handleOnBlur = () => {
|
|
47
|
-
if (!
|
|
47
|
+
if (!collapsible) return;
|
|
48
48
|
if (!debouncedSearchTerm || debouncedSearchTerm === '') setCollapsed(true);
|
|
49
49
|
};
|
|
50
50
|
const handleClearSearchResults = () => {
|
|
@@ -106,8 +106,7 @@ SearchContent.propTypes = {
|
|
|
106
106
|
isMobile: PropTypes.bool,
|
|
107
107
|
collapsible: PropTypes.bool,
|
|
108
108
|
entities: PropTypes.array.isRequired,
|
|
109
|
-
modifier: PropTypes.string
|
|
110
|
-
collapsedSearch: PropTypes.bool
|
|
109
|
+
modifier: PropTypes.string
|
|
111
110
|
};
|
|
112
111
|
SearchContent.defaultProps = {
|
|
113
112
|
searchInputAlignment: '',
|
|
@@ -116,8 +115,7 @@ SearchContent.defaultProps = {
|
|
|
116
115
|
placeholder: '',
|
|
117
116
|
isMobile: false,
|
|
118
117
|
collapsible: false,
|
|
119
|
-
modifier: ''
|
|
120
|
-
collapsedSearch: false
|
|
118
|
+
modifier: ''
|
|
121
119
|
};
|
|
122
120
|
export default SearchContent;
|
|
123
121
|
//# sourceMappingURL=SearchContent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchContent.js","names":["React","useState","useEffect","PropTypes","useRouter","useDebounceSearch","SearchContentResults","SearchContentToggleIcon","SearchContent","entities","searchInputAlignment","searchInputWrapperMobile","searchInputWrapperDesktop","isMobile","placeholder","modifier","
|
|
1
|
+
{"version":3,"file":"SearchContent.js","names":["React","useState","useEffect","PropTypes","useRouter","useDebounceSearch","SearchContentResults","SearchContentToggleIcon","SearchContent","entities","searchInputAlignment","searchInputWrapperMobile","searchInputWrapperDesktop","collapsible","isMobile","placeholder","modifier","collapsed","setCollapsed","router","results","searchTerm","setSearchTerm","debouncedSearchTerm","initialSearchTerm","resultKeys","handleRouteChange","events","on","off","responsiveClasses","handleClick","e","url","preventDefault","push","handleKeyPress","key","target","value","handleOnBlur","handleClearSearchResults","className","filter","Boolean","join","createElement","viewBox","fillRule","d","clipRule","onFocus","onChange","type","name","Fragment","onClear","onKeyPress","onBlur","propTypes","string","bool","array","isRequired","defaultProps"],"sources":["../../../src/components/SearchContent/SearchContent.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { useDebounceSearch } from '@blaze-cms/plugin-search-ui';\nimport SearchContentResults from './SearchContentResults';\nimport SearchContentToggleIcon from './SearchContentToggleIcon';\n\nconst SearchContent = ({\n entities,\n searchInputAlignment,\n searchInputWrapperMobile,\n searchInputWrapperDesktop,\n collapsible,\n isMobile,\n placeholder,\n modifier\n}) => {\n const [collapsed, setCollapsed] = useState(collapsible);\n const router = useRouter();\n\n const { results, searchTerm, setSearchTerm, debouncedSearchTerm } = useDebounceSearch({\n entities,\n initialSearchTerm: '',\n resultKeys: 'id, name, image { url }, url'\n });\n\n useEffect(\n () => {\n const handleRouteChange = () => setSearchTerm('');\n router.events.on('routeChangeStart', handleRouteChange);\n\n return () => {\n router.events.off('routeChangeStart', handleRouteChange);\n };\n },\n [router.events, setSearchTerm]\n );\n\n const responsiveClasses = isMobile ? searchInputWrapperMobile : searchInputWrapperDesktop;\n\n const handleClick = (e, url) => {\n e.preventDefault();\n router.push(url);\n };\n\n const handleKeyPress = e => {\n if (e.key === 'Enter' && e.target.value !== '') {\n router.push(`/search?search_term=${e.target.value}`);\n }\n };\n\n const handleOnBlur = () => {\n if (!collapsible) return;\n if (!debouncedSearchTerm || debouncedSearchTerm === '') setCollapsed(true);\n };\n\n const handleClearSearchResults = () => {\n setSearchTerm('');\n };\n\n const className = ['search-content', modifier, responsiveClasses].filter(Boolean).join(' ');\n return collapsed ? (\n <div className={className}>\n <div className=\"search-content--collapse__wrapper\">\n <label className=\"search-content--collapse__label\">\n <span className=\"search-content--collapse__icon_wrapper\">\n <svg className=\"search-content--collapse__icon\" viewBox=\"0 0 20 20\">\n <path\n fillRule=\"evenodd\"\n d=\"M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z\"\n clipRule=\"evenodd\"\n />\n </svg>\n </span>\n <input\n onFocus={() => setCollapsed(false)}\n onChange={e => setSearchTerm(e.target.value)}\n type=\"text\"\n name=\"search\"\n className=\"search-content--collapse__input\"\n />\n </label>\n </div>\n </div>\n ) : (\n <>\n <div className={className}>\n <div className=\"search-content--expanded__wrapper\">\n <label className=\"search-content--expanded__label\">\n <span className=\"search-content--expanded__icon_wrapper\">\n <SearchContentToggleIcon results={results} onClear={handleClearSearchResults} />\n </span>\n <input\n type=\"text\"\n name=\"search\"\n onChange={e => setSearchTerm(e.target.value)}\n onKeyPress={handleKeyPress}\n className=\"search-content--expanded__input\"\n placeholder={placeholder}\n value={searchTerm}\n onBlur={handleOnBlur}\n />\n </label>\n </div>\n <SearchContentResults\n results={results}\n debouncedSearchTerm={debouncedSearchTerm}\n handleClick={handleClick}\n />\n </div>\n </>\n );\n};\n\nSearchContent.propTypes = {\n searchInputAlignment: PropTypes.string,\n searchInputWrapperMobile: PropTypes.string,\n searchInputWrapperDesktop: PropTypes.string,\n placeholder: PropTypes.string,\n isMobile: PropTypes.bool,\n collapsible: PropTypes.bool,\n entities: PropTypes.array.isRequired,\n modifier: PropTypes.string\n};\n\nSearchContent.defaultProps = {\n searchInputAlignment: '',\n searchInputWrapperMobile: '',\n searchInputWrapperDesktop: '',\n placeholder: '',\n isMobile: false,\n collapsible: false,\n modifier: ''\n};\n\nexport default SearchContent;\n"],"mappings":"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"}
|
|
@@ -139,8 +139,7 @@ const SearchFilterContainer = ({
|
|
|
139
139
|
});
|
|
140
140
|
}
|
|
141
141
|
|
|
142
|
-
const
|
|
143
|
-
const newUrl = buildNewQuery(url, currentUrl, newQuery, sortValues, hashBit);
|
|
142
|
+
const newUrl = buildNewQuery(url, currentUrl, newQuery, sortValues);
|
|
144
143
|
scrollToFirstList();
|
|
145
144
|
setUrlPath(newUrl);
|
|
146
145
|
return router.push('/Resolver', newUrl, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchFilterContainer.js","names":["React","useState","useRef","useReducer","useEffect","useRouter","useQuery","PropTypes","parseUrl","stringify","SearchFilter","withTitle","getSearchPublishedContent","buildNewQuery","buildRawQueryStringified","getInitialFilterValues","buildFiltersQuery","getEntityData","RAW_RESULTS","RANGE","CHECKBOX_SELECT","SCROLL_OFFSET","reducer","state","action","newValues","type","shouldSearch","_objectSpread","Error","SearchFilterContainer","entity","url","filters","name","isCollapsedOnResponsive","groupAfterMobile","groupAfterDesktop","filterBy","filterByProperty","shouldAddFilters","router","asPath","searchFilterRef","key","setKey","displaySearchFilter","setDisplaySearchFilter","urlPath","setUrlPath","currentUrl","query","sort","sortby","filterValues","dispatch","hasUrl","sortValues","baseQuery","checkboxSelectValues","rangeValues","forEach","propsToDisplay","includes","push","docType","filtersQuery","queryKeys","Object","keys","rawQueryStringified","data","error","variables","limit","skip","message","length","searchPublishedContent","rawResults","aggregations","filterData","dataNotSet","initialFilterValues","handleSearch","newQuery","scrollToFirstList","shallow","scroll","then","Date","now","hashBit","split","newUrl","list","document","getElementsByClassName","shouldScrollToFirstList","window","scrollTo","left","top","pageYOffset","getBoundingClientRect","createElement","setAppliedFilters","propTypes","string","array","isRequired","bool","number","defaultProps"],"sources":["../../../src/components/SearchFilter/SearchFilterContainer.js"],"sourcesContent":["import React, { useState, useRef, useReducer, useEffect } from 'react';\nimport { useRouter } from 'next/router';\nimport { useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { parseUrl, stringify } from 'query-string';\nimport SearchFilter from './SearchFilter';\nimport { withTitle } from '../../HOC';\nimport { getSearchPublishedContent } from '../../application/query';\nimport {\n buildNewQuery,\n buildRawQueryStringified,\n getInitialFilterValues,\n buildFiltersQuery\n} from './helpers';\nimport { getEntityData } from '../../helpers';\nimport { RAW_RESULTS, RANGE, CHECKBOX_SELECT } from './constants';\nimport { SCROLL_OFFSET } from '../../constants';\n\nconst reducer = (state, action) => {\n const { newValues, type, shouldSearch = true } = action;\n\n switch (type) {\n case 'update':\n return { ...state, ...newValues, shouldSearch };\n case 'resetSearch':\n return { ...state, shouldSearch: false };\n case 'reset':\n return { ...newValues, shouldSearch: false };\n default:\n throw new Error();\n }\n};\n\nconst SearchFilterContainer = ({\n entity,\n url,\n filters,\n name,\n isCollapsedOnResponsive,\n groupAfterMobile,\n groupAfterDesktop,\n filterBy,\n filterByProperty,\n shouldAddFilters\n}) => {\n const router = useRouter();\n const { asPath } = router;\n const searchFilterRef = useRef(null);\n const [key, setKey] = useState(`filter-${name}`);\n const [displaySearchFilter, setDisplaySearchFilter] = useState(false);\n const [urlPath, setUrlPath] = useState(asPath); // used as asPath can take too long to update\n const {\n url: currentUrl,\n query: { sort, sortby },\n query\n } = parseUrl(urlPath);\n const [filterValues, dispatch] = useReducer(\n reducer,\n getInitialFilterValues(null, filters, query)\n );\n\n useEffect(\n () => {\n if (asPath) setUrlPath(asPath);\n },\n [asPath]\n );\n\n const hasUrl = !!url;\n\n const sortValues = sort && sortby ? stringify({ sort, sortby }) : '';\n const baseQuery = sortValues ? `${currentUrl}?${sortValues}` : currentUrl;\n\n const action = getSearchPublishedContent(RAW_RESULTS);\n const checkboxSelectValues = [];\n const rangeValues = [];\n\n filters.forEach(({ type, propsToDisplay }) => {\n if (CHECKBOX_SELECT.includes(type)) {\n checkboxSelectValues.push(propsToDisplay[0]);\n } else if (type === RANGE) {\n rangeValues.push(...propsToDisplay);\n }\n });\n\n const { docType } = getEntityData(entity);\n\n const filtersQuery = shouldAddFilters\n ? buildFiltersQuery({\n query: filterValues,\n filterBy,\n filterByProperty,\n rangeValues,\n queryKeys: Object.keys(query)\n })\n : [];\n\n const rawQueryStringified = buildRawQueryStringified(\n checkboxSelectValues,\n rangeValues,\n docType,\n filtersQuery\n );\n\n const { data, error } = useQuery(action, {\n variables: { rawQueryStringified, limit: 0 }, // we only want aggs so limit=0 for no search results\n skip: !rawQueryStringified\n });\n\n if (error) return error.message;\n if (!filters.length) return null;\n\n const { searchPublishedContent: { rawResults: { aggregations: filterData } = {} } = {} } =\n data || {};\n\n if (filterValues.dataNotSet && filterData) {\n const initialFilterValues = getInitialFilterValues(filterData, filters, query);\n dispatch({ newValues: initialFilterValues, shouldSearch: false, type: 'update' });\n }\n\n const handleSearch = newQuery => {\n setDisplaySearchFilter(false);\n\n if (!newQuery) {\n scrollToFirstList();\n setUrlPath(baseQuery);\n return router.push('/Resolver', baseQuery, { shallow: !hasUrl, scroll: false }).then(() => {\n setKey(`filter-${name}:${Date.now()}`); // remove after range component update\n });\n }\n const hashBit = asPath.split('#')[1];\n const newUrl = buildNewQuery(url, currentUrl, newQuery, sortValues, hashBit);\n scrollToFirstList();\n setUrlPath(newUrl);\n return router.push('/Resolver', newUrl, { shallow: !hasUrl, scroll: false });\n };\n\n const scrollToFirstList = () => {\n const [list] = document.getElementsByClassName('list-top');\n const shouldScrollToFirstList = !hasUrl && list;\n\n if (shouldScrollToFirstList) {\n window.scrollTo({\n left: 0,\n top: window.pageYOffset - SCROLL_OFFSET + list.getBoundingClientRect().top\n });\n } else {\n window.scrollTo(0, 0);\n }\n };\n if (!filterValues) return '';\n\n return (\n <SearchFilter\n key={key}\n setAppliedFilters={dispatch}\n searchFilterRef={searchFilterRef}\n data={filterData}\n filters={filters}\n hasUrl={hasUrl}\n entity={entity}\n handleSearch={handleSearch}\n filterValues={filterValues}\n name={name}\n isCollapsedOnResponsive={isCollapsedOnResponsive}\n displaySearchFilter={displaySearchFilter}\n setDisplaySearchFilter={setDisplaySearchFilter}\n groupAfterMobile={groupAfterMobile}\n groupAfterDesktop={groupAfterDesktop}\n />\n );\n};\n\nSearchFilterContainer.propTypes = {\n entity: PropTypes.string,\n url: PropTypes.string,\n filters: PropTypes.array,\n name: PropTypes.string.isRequired,\n isCollapsedOnResponsive: PropTypes.bool,\n groupAfterMobile: PropTypes.number,\n groupAfterDesktop: PropTypes.number,\n filterBy: PropTypes.array,\n filterByProperty: PropTypes.array,\n shouldAddFilters: PropTypes.bool\n};\n\nSearchFilterContainer.defaultProps = {\n url: null,\n filters: [],\n entity: '',\n isCollapsedOnResponsive: true,\n groupAfterMobile: 0,\n groupAfterDesktop: 0,\n filterBy: [],\n filterByProperty: [],\n shouldAddFilters: false\n};\n\nexport default withTitle(SearchFilterContainer);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SearchFilterContainer.js","names":["React","useState","useRef","useReducer","useEffect","useRouter","useQuery","PropTypes","parseUrl","stringify","SearchFilter","withTitle","getSearchPublishedContent","buildNewQuery","buildRawQueryStringified","getInitialFilterValues","buildFiltersQuery","getEntityData","RAW_RESULTS","RANGE","CHECKBOX_SELECT","SCROLL_OFFSET","reducer","state","action","newValues","type","shouldSearch","_objectSpread","Error","SearchFilterContainer","entity","url","filters","name","isCollapsedOnResponsive","groupAfterMobile","groupAfterDesktop","filterBy","filterByProperty","shouldAddFilters","router","asPath","searchFilterRef","key","setKey","displaySearchFilter","setDisplaySearchFilter","urlPath","setUrlPath","currentUrl","query","sort","sortby","filterValues","dispatch","hasUrl","sortValues","baseQuery","checkboxSelectValues","rangeValues","forEach","propsToDisplay","includes","push","docType","filtersQuery","queryKeys","Object","keys","rawQueryStringified","data","error","variables","limit","skip","message","length","searchPublishedContent","rawResults","aggregations","filterData","dataNotSet","initialFilterValues","handleSearch","newQuery","scrollToFirstList","shallow","scroll","then","Date","now","newUrl","list","document","getElementsByClassName","shouldScrollToFirstList","window","scrollTo","left","top","pageYOffset","getBoundingClientRect","createElement","setAppliedFilters","propTypes","string","array","isRequired","bool","number","defaultProps"],"sources":["../../../src/components/SearchFilter/SearchFilterContainer.js"],"sourcesContent":["import React, { useState, useRef, useReducer, useEffect } from 'react';\nimport { useRouter } from 'next/router';\nimport { useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { parseUrl, stringify } from 'query-string';\nimport SearchFilter from './SearchFilter';\nimport { withTitle } from '../../HOC';\nimport { getSearchPublishedContent } from '../../application/query';\nimport {\n buildNewQuery,\n buildRawQueryStringified,\n getInitialFilterValues,\n buildFiltersQuery\n} from './helpers';\nimport { getEntityData } from '../../helpers';\nimport { RAW_RESULTS, RANGE, CHECKBOX_SELECT } from './constants';\nimport { SCROLL_OFFSET } from '../../constants';\n\nconst reducer = (state, action) => {\n const { newValues, type, shouldSearch = true } = action;\n\n switch (type) {\n case 'update':\n return { ...state, ...newValues, shouldSearch };\n case 'resetSearch':\n return { ...state, shouldSearch: false };\n case 'reset':\n return { ...newValues, shouldSearch: false };\n default:\n throw new Error();\n }\n};\n\nconst SearchFilterContainer = ({\n entity,\n url,\n filters,\n name,\n isCollapsedOnResponsive,\n groupAfterMobile,\n groupAfterDesktop,\n filterBy,\n filterByProperty,\n shouldAddFilters\n}) => {\n const router = useRouter();\n const { asPath } = router;\n const searchFilterRef = useRef(null);\n const [key, setKey] = useState(`filter-${name}`);\n const [displaySearchFilter, setDisplaySearchFilter] = useState(false);\n const [urlPath, setUrlPath] = useState(asPath); // used as asPath can take too long to update\n const {\n url: currentUrl,\n query: { sort, sortby },\n query\n } = parseUrl(urlPath);\n const [filterValues, dispatch] = useReducer(\n reducer,\n getInitialFilterValues(null, filters, query)\n );\n\n useEffect(\n () => {\n if (asPath) setUrlPath(asPath);\n },\n [asPath]\n );\n\n const hasUrl = !!url;\n\n const sortValues = sort && sortby ? stringify({ sort, sortby }) : '';\n const baseQuery = sortValues ? `${currentUrl}?${sortValues}` : currentUrl;\n\n const action = getSearchPublishedContent(RAW_RESULTS);\n const checkboxSelectValues = [];\n const rangeValues = [];\n\n filters.forEach(({ type, propsToDisplay }) => {\n if (CHECKBOX_SELECT.includes(type)) {\n checkboxSelectValues.push(propsToDisplay[0]);\n } else if (type === RANGE) {\n rangeValues.push(...propsToDisplay);\n }\n });\n\n const { docType } = getEntityData(entity);\n\n const filtersQuery = shouldAddFilters\n ? buildFiltersQuery({\n query: filterValues,\n filterBy,\n filterByProperty,\n rangeValues,\n queryKeys: Object.keys(query)\n })\n : [];\n\n const rawQueryStringified = buildRawQueryStringified(\n checkboxSelectValues,\n rangeValues,\n docType,\n filtersQuery\n );\n\n const { data, error } = useQuery(action, {\n variables: { rawQueryStringified, limit: 0 }, // we only want aggs so limit=0 for no search results\n skip: !rawQueryStringified\n });\n\n if (error) return error.message;\n if (!filters.length) return null;\n\n const { searchPublishedContent: { rawResults: { aggregations: filterData } = {} } = {} } =\n data || {};\n\n if (filterValues.dataNotSet && filterData) {\n const initialFilterValues = getInitialFilterValues(filterData, filters, query);\n dispatch({ newValues: initialFilterValues, shouldSearch: false, type: 'update' });\n }\n\n const handleSearch = newQuery => {\n setDisplaySearchFilter(false);\n\n if (!newQuery) {\n scrollToFirstList();\n setUrlPath(baseQuery);\n return router.push('/Resolver', baseQuery, { shallow: !hasUrl, scroll: false }).then(() => {\n setKey(`filter-${name}:${Date.now()}`); // remove after range component update\n });\n }\n const newUrl = buildNewQuery(url, currentUrl, newQuery, sortValues);\n scrollToFirstList();\n setUrlPath(newUrl);\n return router.push('/Resolver', newUrl, { shallow: !hasUrl, scroll: false });\n };\n\n const scrollToFirstList = () => {\n const [list] = document.getElementsByClassName('list-top');\n const shouldScrollToFirstList = !hasUrl && list;\n\n if (shouldScrollToFirstList) {\n window.scrollTo({\n left: 0,\n top: window.pageYOffset - SCROLL_OFFSET + list.getBoundingClientRect().top\n });\n } else {\n window.scrollTo(0, 0);\n }\n };\n if (!filterValues) return '';\n\n return (\n <SearchFilter\n key={key}\n setAppliedFilters={dispatch}\n searchFilterRef={searchFilterRef}\n data={filterData}\n filters={filters}\n hasUrl={hasUrl}\n entity={entity}\n handleSearch={handleSearch}\n filterValues={filterValues}\n name={name}\n isCollapsedOnResponsive={isCollapsedOnResponsive}\n displaySearchFilter={displaySearchFilter}\n setDisplaySearchFilter={setDisplaySearchFilter}\n groupAfterMobile={groupAfterMobile}\n groupAfterDesktop={groupAfterDesktop}\n />\n );\n};\n\nSearchFilterContainer.propTypes = {\n entity: PropTypes.string,\n url: PropTypes.string,\n filters: PropTypes.array,\n name: PropTypes.string.isRequired,\n isCollapsedOnResponsive: PropTypes.bool,\n groupAfterMobile: PropTypes.number,\n groupAfterDesktop: PropTypes.number,\n filterBy: PropTypes.array,\n filterByProperty: PropTypes.array,\n shouldAddFilters: PropTypes.bool\n};\n\nSearchFilterContainer.defaultProps = {\n url: null,\n filters: [],\n entity: '',\n isCollapsedOnResponsive: true,\n groupAfterMobile: 0,\n groupAfterDesktop: 0,\n filterBy: [],\n filterByProperty: [],\n shouldAddFilters: false\n};\n\nexport default withTitle(SearchFilterContainer);\n"],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
const buildNewQuery = (url, currentUrl, queryParams, sortValues
|
|
1
|
+
const buildNewQuery = (url, currentUrl, queryParams, sortValues) => {
|
|
2
2
|
const newUrl = url ? `${url}?${queryParams}` : `${currentUrl}?${queryParams}`;
|
|
3
|
-
|
|
4
|
-
return hashBit ? `${withSortValues}#${hashBit}` : withSortValues;
|
|
3
|
+
return sortValues ? `${newUrl}&${sortValues}` : newUrl;
|
|
5
4
|
};
|
|
6
5
|
export default buildNewQuery;
|
|
7
6
|
//# sourceMappingURL=build-new-query.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-new-query.js","names":["buildNewQuery","url","currentUrl","queryParams","sortValues","
|
|
1
|
+
{"version":3,"file":"build-new-query.js","names":["buildNewQuery","url","currentUrl","queryParams","sortValues","newUrl"],"sources":["../../../../src/components/SearchFilter/helpers/build-new-query.js"],"sourcesContent":["const buildNewQuery = (url, currentUrl, queryParams, sortValues) => {\n const newUrl = url ? `${url}?${queryParams}` : `${currentUrl}?${queryParams}`;\n return sortValues ? `${newUrl}&${sortValues}` : newUrl;\n};\n\nexport default buildNewQuery;\n"],"mappings":"AAAA,MAAMA,aAAa,GAAGA,CAACC,GAAG,EAAEC,UAAU,EAAEC,WAAW,EAAEC,UAAU,KAAK;EAClE,MAAMC,MAAM,GAAGJ,GAAG,GAAI,GAAEA,GAAI,IAAGE,WAAY,EAAC,GAAI,GAAED,UAAW,IAAGC,WAAY,EAAC;EAC7E,OAAOC,UAAU,GAAI,GAAEC,MAAO,IAAGD,UAAW,EAAC,GAAGC,MAAM;AACxD,CAAC;AAED,eAAeL,aAAa"}
|
|
@@ -7,20 +7,15 @@ const handleSortUpdate = (router, value, query, url, selectLabel) => {
|
|
|
7
7
|
shallow: true,
|
|
8
8
|
scroll: false
|
|
9
9
|
};
|
|
10
|
-
const {
|
|
11
|
-
asPath
|
|
12
|
-
} = router;
|
|
13
|
-
const hashBit = asPath.split('#')[1];
|
|
14
|
-
const parsedHash = hashBit ? `#${hashBit}` : '';
|
|
15
10
|
Object.keys(query).forEach(key => {
|
|
16
11
|
if (key.indexOf(PAGINATION_QUERY) !== -1) return;
|
|
17
12
|
if (key !== SORTBY && key !== SORT) queryWithoutSort[key] = query[key];
|
|
18
13
|
});
|
|
19
14
|
if (value === DEFAULT_SORT || value === selectLabel) {
|
|
20
15
|
const stringifiedQuery = stringify(queryWithoutSort);
|
|
21
|
-
return stringifiedQuery ? router.push(`/Resolver`, `${url}?${stringifiedQuery}
|
|
16
|
+
return stringifiedQuery ? router.push(`/Resolver`, `${url}?${stringifiedQuery}`, routerOptions) : router.push(`/Resolver`, url, routerOptions);
|
|
22
17
|
}
|
|
23
|
-
const updatedSortUrl = updateSort(value, queryWithoutSort, url
|
|
18
|
+
const updatedSortUrl = updateSort(value, queryWithoutSort, url);
|
|
24
19
|
return router.push('/Resolver', updatedSortUrl, routerOptions);
|
|
25
20
|
};
|
|
26
21
|
export default handleSortUpdate;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handle-sort-update.js","names":["stringify","DEFAULT_SORT","SORT","SORTBY","PAGINATION_QUERY","updateSort","handleSortUpdate","router","value","query","url","selectLabel","queryWithoutSort","routerOptions","shallow","scroll","
|
|
1
|
+
{"version":3,"file":"handle-sort-update.js","names":["stringify","DEFAULT_SORT","SORT","SORTBY","PAGINATION_QUERY","updateSort","handleSortUpdate","router","value","query","url","selectLabel","queryWithoutSort","routerOptions","shallow","scroll","Object","keys","forEach","key","indexOf","stringifiedQuery","push","updatedSortUrl"],"sources":["../../../../src/components/SearchFilterSort/helpers/handle-sort-update.js"],"sourcesContent":["import { stringify } from 'query-string';\nimport { DEFAULT_SORT, SORT, SORTBY, PAGINATION_QUERY } from '../constants';\nimport updateSort from './update-sort';\n\nconst handleSortUpdate = (router, value, query, url, selectLabel) => {\n const queryWithoutSort = {};\n const routerOptions = { shallow: true, scroll: false };\n Object.keys(query).forEach(key => {\n if (key.indexOf(PAGINATION_QUERY) !== -1) return;\n if (key !== SORTBY && key !== SORT) queryWithoutSort[key] = query[key];\n });\n if (value === DEFAULT_SORT || value === selectLabel) {\n const stringifiedQuery = stringify(queryWithoutSort);\n\n return stringifiedQuery\n ? router.push(`/Resolver`, `${url}?${stringifiedQuery}`, routerOptions)\n : router.push(`/Resolver`, url, routerOptions);\n }\n const updatedSortUrl = updateSort(value, queryWithoutSort, url);\n return router.push('/Resolver', updatedSortUrl, routerOptions);\n};\n\nexport default handleSortUpdate;\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,cAAc;AACxC,SAASC,YAAY,EAAEC,IAAI,EAAEC,MAAM,EAAEC,gBAAgB,QAAQ,cAAc;AAC3E,OAAOC,UAAU,MAAM,eAAe;AAEtC,MAAMC,gBAAgB,GAAGA,CAACC,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAEC,GAAG,EAAEC,WAAW,KAAK;EACnE,MAAMC,gBAAgB,GAAG,CAAC,CAAC;EAC3B,MAAMC,aAAa,GAAG;IAAEC,OAAO,EAAE,IAAI;IAAEC,MAAM,EAAE;EAAM,CAAC;EACtDC,MAAM,CAACC,IAAI,CAACR,KAAK,CAAC,CAACS,OAAO,CAACC,GAAG,IAAI;IAChC,IAAIA,GAAG,CAACC,OAAO,CAAChB,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE;IAC1C,IAAIe,GAAG,KAAKhB,MAAM,IAAIgB,GAAG,KAAKjB,IAAI,EAAEU,gBAAgB,CAACO,GAAG,CAAC,GAAGV,KAAK,CAACU,GAAG,CAAC;EACxE,CAAC,CAAC;EACF,IAAIX,KAAK,KAAKP,YAAY,IAAIO,KAAK,KAAKG,WAAW,EAAE;IACnD,MAAMU,gBAAgB,GAAGrB,SAAS,CAACY,gBAAgB,CAAC;IAEpD,OAAOS,gBAAgB,GACnBd,MAAM,CAACe,IAAI,CAAE,WAAU,EAAG,GAAEZ,GAAI,IAAGW,gBAAiB,EAAC,EAAER,aAAa,CAAC,GACrEN,MAAM,CAACe,IAAI,CAAE,WAAU,EAAEZ,GAAG,EAAEG,aAAa,CAAC;EAClD;EACA,MAAMU,cAAc,GAAGlB,UAAU,CAACG,KAAK,EAAEI,gBAAgB,EAAEF,GAAG,CAAC;EAC/D,OAAOH,MAAM,CAACe,IAAI,CAAC,WAAW,EAAEC,cAAc,EAAEV,aAAa,CAAC;AAChE,CAAC;AAED,eAAeP,gBAAgB"}
|
|
@@ -2,14 +2,14 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
|
2
2
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
3
3
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
4
4
|
import { stringify } from 'query-string';
|
|
5
|
-
const updateSort = (value, query, url
|
|
5
|
+
const updateSort = (value, query, url) => {
|
|
6
6
|
const [newSortBy, newSort] = value.split(':');
|
|
7
7
|
const updatedQuery = _objectSpread(_objectSpread({}, query), {}, {
|
|
8
8
|
sortby: newSortBy,
|
|
9
9
|
sort: newSort
|
|
10
10
|
});
|
|
11
11
|
const parsedQuery = stringify(updatedQuery);
|
|
12
|
-
return `${url}?${parsedQuery}
|
|
12
|
+
return `${url}?${parsedQuery}`;
|
|
13
13
|
};
|
|
14
14
|
export default updateSort;
|
|
15
15
|
//# sourceMappingURL=update-sort.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-sort.js","names":["stringify","updateSort","value","query","url","
|
|
1
|
+
{"version":3,"file":"update-sort.js","names":["stringify","updateSort","value","query","url","newSortBy","newSort","split","updatedQuery","_objectSpread","sortby","sort","parsedQuery"],"sources":["../../../../src/components/SearchFilterSort/helpers/update-sort.js"],"sourcesContent":["import { stringify } from 'query-string';\n\nconst updateSort = (value, query, url) => {\n const [newSortBy, newSort] = value.split(':');\n const updatedQuery = { ...query, sortby: newSortBy, sort: newSort };\n const parsedQuery = stringify(updatedQuery);\n return `${url}?${parsedQuery}`;\n};\n\nexport default updateSort;\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,cAAc;AAExC,MAAMC,UAAU,GAAGA,CAACC,KAAK,EAAEC,KAAK,EAAEC,GAAG,KAAK;EACxC,MAAM,CAACC,SAAS,EAAEC,OAAO,CAAC,GAAGJ,KAAK,CAACK,KAAK,CAAC,GAAG,CAAC;EAC7C,MAAMC,YAAY,GAAAC,aAAA,CAAAA,aAAA,KAAQN,KAAK;IAAEO,MAAM,EAAEL,SAAS;IAAEM,IAAI,EAAEL;EAAO,EAAE;EACnE,MAAMM,WAAW,GAAGZ,SAAS,CAACQ,YAAY,CAAC;EAC3C,OAAQ,GAAEJ,GAAI,IAAGQ,WAAY,EAAC;AAChC,CAAC;AAED,eAAeX,UAAU"}
|
|
@@ -28,18 +28,16 @@ const buildPropsQuery = (entitySchema, extraProps = [], cardOptions = null, link
|
|
|
28
28
|
};
|
|
29
29
|
const buildComplexProps = (shouldAddCategoryProps, props, {
|
|
30
30
|
relations = [],
|
|
31
|
-
dynamicProperties = {}
|
|
32
|
-
properties = {}
|
|
31
|
+
dynamicProperties = {}
|
|
33
32
|
}, linkProps) => Object.keys(props).map(base => {
|
|
34
33
|
const nestedProps = props[base];
|
|
35
34
|
const hasLink = !!linkProps.find(linkProp => linkProp.includes(base));
|
|
36
|
-
const matchingProperty = !!properties[base];
|
|
37
35
|
const matchingRelation = relations.find(({
|
|
38
36
|
localField
|
|
39
37
|
}) => localField === base);
|
|
40
38
|
const matchingDynamicProp = Object.keys(dynamicProperties).find(dynamicKey => dynamicKey === base);
|
|
41
39
|
if (matchingRelation && !nestedProps.includes('id')) nestedProps.push('id');
|
|
42
|
-
if (hasLink && (!!
|
|
40
|
+
if (hasLink && (!!matchingRelation || !!matchingDynamicProp)) nestedProps.push('url');
|
|
43
41
|
const jointNestedProps = nestedProps.join(',');
|
|
44
42
|
if (base === 'category' && shouldAddCategoryProps) return `${base}{${jointNestedProps}, ${categoryProps}}`;
|
|
45
43
|
if (base.includes('published')) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-props-query.js","names":["CATEGORY_ID","ID","PREHEADER_PROP","HEADLINE_PROP","defaultProps","categoryProps","checkProps","props","Object","keys","filter","prop","length","buildPropsQuery","entitySchema","extraProps","cardOptions","linkProps","parsedSchema","getEntitySchema","extraPropsHaveCategory","includes","typeBasedProps","shouldAddCategoryProps","getTypeBaseProps","allProps","uniqueProps","Set","basicProps","nestedProps","forEach","push","base","nested","split","complexProps","buildComplexProps","join","relations","dynamicProperties","
|
|
1
|
+
{"version":3,"file":"build-props-query.js","names":["CATEGORY_ID","ID","PREHEADER_PROP","HEADLINE_PROP","defaultProps","categoryProps","checkProps","props","Object","keys","filter","prop","length","buildPropsQuery","entitySchema","extraProps","cardOptions","linkProps","parsedSchema","getEntitySchema","extraPropsHaveCategory","includes","typeBasedProps","shouldAddCategoryProps","getTypeBaseProps","allProps","uniqueProps","Set","basicProps","nestedProps","forEach","push","base","nested","split","complexProps","buildComplexProps","join","relations","dynamicProperties","map","hasLink","find","linkProp","matchingRelation","localField","matchingDynamicProp","dynamicKey","jointNestedProps","isCard","displayCategory","displayThumbnail","interfaces","properties","isContent","hasCategory","hasPreheader","getCategoyProps","getContentProps","url"],"sources":["../../src/helpers/build-props-query.js"],"sourcesContent":["import { CATEGORY_ID, ID, PREHEADER_PROP, HEADLINE_PROP } from '../constants';\n\nconst defaultProps = [ID, 'name'];\nconst categoryProps = 'id publishedListingPage{id, url}';\n\nconst checkProps = props =>\n !!(props && Object.keys(props).filter(prop => prop === CATEGORY_ID).length);\n\nconst buildPropsQuery = (entitySchema, extraProps = [], cardOptions = null, linkProps = []) => {\n const parsedSchema = entitySchema.getEntitySchema ? entitySchema.getEntitySchema : entitySchema;\n const extraPropsHaveCategory = !!extraProps.filter(prop => prop.includes('category.')).length;\n const { typeBasedProps, shouldAddCategoryProps } = getTypeBaseProps(\n parsedSchema,\n cardOptions,\n extraPropsHaveCategory\n );\n\n const allProps = [...typeBasedProps, ...extraProps];\n const uniqueProps = [...new Set([...allProps])];\n const basicProps = [];\n const nestedProps = {};\n uniqueProps.forEach(prop => {\n if (prop) {\n if (!prop.includes('.')) {\n basicProps.push(prop);\n return;\n }\n const [base, nested] = prop.split('.');\n if (!nestedProps[base]) nestedProps[base] = [nested];\n else nestedProps[base].push(nested);\n }\n });\n\n const complexProps = buildComplexProps(\n shouldAddCategoryProps,\n nestedProps,\n parsedSchema,\n linkProps\n );\n\n return [...basicProps, ...complexProps].join(',');\n};\n\nconst buildComplexProps = (\n shouldAddCategoryProps,\n props,\n { relations = [], dynamicProperties = {} },\n linkProps\n) =>\n Object.keys(props).map(base => {\n const nestedProps = props[base];\n const hasLink = !!linkProps.find(linkProp => linkProp.includes(base));\n const matchingRelation = relations.find(({ localField }) => localField === base);\n const matchingDynamicProp = Object.keys(dynamicProperties).find(\n dynamicKey => dynamicKey === base\n );\n\n if (matchingRelation && !nestedProps.includes('id')) nestedProps.push('id');\n if (hasLink && (!!matchingRelation || !!matchingDynamicProp)) nestedProps.push('url');\n const jointNestedProps = nestedProps.join(',');\n if (base === 'category' && shouldAddCategoryProps)\n return `${base}{${jointNestedProps}, ${categoryProps}}`;\n if (base.includes('published')) {\n return `${base}{${jointNestedProps},url}`;\n }\n return `${base}{${jointNestedProps}}`;\n });\n\nconst getTypeBaseProps = (entitySchema, cardOptions, extraPropsHaveCategory) => {\n const isCard = !!cardOptions;\n const { displayCategory = true, displayThumbnail = true } = cardOptions || {};\n\n const shouldAddCategoryProps =\n (isCard && displayCategory) || (!isCard && !extraPropsHaveCategory);\n\n if (!isCard) return { typeBasedProps: [ID], shouldAddCategoryProps };\n\n const { interfaces, properties, dynamicProperties, relations } = entitySchema;\n\n const isContent = !!interfaces.includes('content/content');\n const hasCategory = checkProps(properties) || checkProps(dynamicProperties);\n const hasPreheader = properties[PREHEADER_PROP];\n\n const typeBasedProps = [...defaultProps];\n\n typeBasedProps.push(...getCategoyProps(shouldAddCategoryProps, hasCategory, hasPreheader));\n typeBasedProps.push(...getContentProps(isContent));\n\n if (properties.url || dynamicProperties.url) typeBasedProps.push('url');\n\n if (displayThumbnail && relations.find(({ localField }) => localField === 'image')) {\n typeBasedProps.push('image.id', 'image.url', 'image.data');\n }\n\n return { typeBasedProps, shouldAddCategoryProps };\n};\n\nconst getContentProps = isContent => (isContent ? ['url', 'sponsored', 'featured'] : []);\n\nconst getCategoyProps = (shouldAddCategoryProps, hasCategory, hasPreheader) => {\n if (!shouldAddCategoryProps) return [];\n const props = [];\n if (hasCategory)\n props.push('category.name', 'category.listingPageId', 'category.listingPageEntity');\n\n if (hasPreheader) {\n props.push(`${PREHEADER_PROP}{name}`);\n props.push(HEADLINE_PROP);\n }\n\n return props;\n};\n\nexport default buildPropsQuery;\n"],"mappings":"AAAA,SAASA,WAAW,EAAEC,EAAE,EAAEC,cAAc,EAAEC,aAAa,QAAQ,cAAc;AAE7E,MAAMC,YAAY,GAAG,CAACH,EAAE,EAAE,MAAM,CAAC;AACjC,MAAMI,aAAa,GAAG,kCAAkC;AAExD,MAAMC,UAAU,GAAGC,KAAK,IACtB,CAAC,EAAEA,KAAK,IAAIC,MAAM,CAACC,IAAI,CAACF,KAAK,CAAC,CAACG,MAAM,CAACC,IAAI,IAAIA,IAAI,KAAKX,WAAW,CAAC,CAACY,MAAM,CAAC;AAE7E,MAAMC,eAAe,GAAGA,CAACC,YAAY,EAAEC,UAAU,GAAG,EAAE,EAAEC,WAAW,GAAG,IAAI,EAAEC,SAAS,GAAG,EAAE,KAAK;EAC7F,MAAMC,YAAY,GAAGJ,YAAY,CAACK,eAAe,GAAGL,YAAY,CAACK,eAAe,GAAGL,YAAY;EAC/F,MAAMM,sBAAsB,GAAG,CAAC,CAACL,UAAU,CAACL,MAAM,CAACC,IAAI,IAAIA,IAAI,CAACU,QAAQ,CAAC,WAAW,CAAC,CAAC,CAACT,MAAM;EAC7F,MAAM;IAAEU,cAAc;IAAEC;EAAuB,CAAC,GAAGC,gBAAgB,CACjEN,YAAY,EACZF,WAAW,EACXI,sBACF,CAAC;EAED,MAAMK,QAAQ,GAAG,CAAC,GAAGH,cAAc,EAAE,GAAGP,UAAU,CAAC;EACnD,MAAMW,WAAW,GAAG,CAAC,GAAG,IAAIC,GAAG,CAAC,CAAC,GAAGF,QAAQ,CAAC,CAAC,CAAC;EAC/C,MAAMG,UAAU,GAAG,EAAE;EACrB,MAAMC,WAAW,GAAG,CAAC,CAAC;EACtBH,WAAW,CAACI,OAAO,CAACnB,IAAI,IAAI;IAC1B,IAAIA,IAAI,EAAE;MACR,IAAI,CAACA,IAAI,CAACU,QAAQ,CAAC,GAAG,CAAC,EAAE;QACvBO,UAAU,CAACG,IAAI,CAACpB,IAAI,CAAC;QACrB;MACF;MACA,MAAM,CAACqB,IAAI,EAAEC,MAAM,CAAC,GAAGtB,IAAI,CAACuB,KAAK,CAAC,GAAG,CAAC;MACtC,IAAI,CAACL,WAAW,CAACG,IAAI,CAAC,EAAEH,WAAW,CAACG,IAAI,CAAC,GAAG,CAACC,MAAM,CAAC,CAAC,KAChDJ,WAAW,CAACG,IAAI,CAAC,CAACD,IAAI,CAACE,MAAM,CAAC;IACrC;EACF,CAAC,CAAC;EAEF,MAAME,YAAY,GAAGC,iBAAiB,CACpCb,sBAAsB,EACtBM,WAAW,EACXX,YAAY,EACZD,SACF,CAAC;EAED,OAAO,CAAC,GAAGW,UAAU,EAAE,GAAGO,YAAY,CAAC,CAACE,IAAI,CAAC,GAAG,CAAC;AACnD,CAAC;AAED,MAAMD,iBAAiB,GAAGA,CACxBb,sBAAsB,EACtBhB,KAAK,EACL;EAAE+B,SAAS,GAAG,EAAE;EAAEC,iBAAiB,GAAG,CAAC;AAAE,CAAC,EAC1CtB,SAAS,KAETT,MAAM,CAACC,IAAI,CAACF,KAAK,CAAC,CAACiC,GAAG,CAACR,IAAI,IAAI;EAC7B,MAAMH,WAAW,GAAGtB,KAAK,CAACyB,IAAI,CAAC;EAC/B,MAAMS,OAAO,GAAG,CAAC,CAACxB,SAAS,CAACyB,IAAI,CAACC,QAAQ,IAAIA,QAAQ,CAACtB,QAAQ,CAACW,IAAI,CAAC,CAAC;EACrE,MAAMY,gBAAgB,GAAGN,SAAS,CAACI,IAAI,CAAC,CAAC;IAAEG;EAAW,CAAC,KAAKA,UAAU,KAAKb,IAAI,CAAC;EAChF,MAAMc,mBAAmB,GAAGtC,MAAM,CAACC,IAAI,CAAC8B,iBAAiB,CAAC,CAACG,IAAI,CAC7DK,UAAU,IAAIA,UAAU,KAAKf,IAC/B,CAAC;EAED,IAAIY,gBAAgB,IAAI,CAACf,WAAW,CAACR,QAAQ,CAAC,IAAI,CAAC,EAAEQ,WAAW,CAACE,IAAI,CAAC,IAAI,CAAC;EAC3E,IAAIU,OAAO,KAAK,CAAC,CAACG,gBAAgB,IAAI,CAAC,CAACE,mBAAmB,CAAC,EAAEjB,WAAW,CAACE,IAAI,CAAC,KAAK,CAAC;EACrF,MAAMiB,gBAAgB,GAAGnB,WAAW,CAACQ,IAAI,CAAC,GAAG,CAAC;EAC9C,IAAIL,IAAI,KAAK,UAAU,IAAIT,sBAAsB,EAC/C,OAAQ,GAAES,IAAK,IAAGgB,gBAAiB,KAAI3C,aAAc,GAAE;EACzD,IAAI2B,IAAI,CAACX,QAAQ,CAAC,WAAW,CAAC,EAAE;IAC9B,OAAQ,GAAEW,IAAK,IAAGgB,gBAAiB,OAAM;EAC3C;EACA,OAAQ,GAAEhB,IAAK,IAAGgB,gBAAiB,GAAE;AACvC,CAAC,CAAC;AAEJ,MAAMxB,gBAAgB,GAAGA,CAACV,YAAY,EAAEE,WAAW,EAAEI,sBAAsB,KAAK;EAC9E,MAAM6B,MAAM,GAAG,CAAC,CAACjC,WAAW;EAC5B,MAAM;IAAEkC,eAAe,GAAG,IAAI;IAAEC,gBAAgB,GAAG;EAAK,CAAC,GAAGnC,WAAW,IAAI,CAAC,CAAC;EAE7E,MAAMO,sBAAsB,GACzB0B,MAAM,IAAIC,eAAe,IAAM,CAACD,MAAM,IAAI,CAAC7B,sBAAuB;EAErE,IAAI,CAAC6B,MAAM,EAAE,OAAO;IAAE3B,cAAc,EAAE,CAACrB,EAAE,CAAC;IAAEsB;EAAuB,CAAC;EAEpE,MAAM;IAAE6B,UAAU;IAAEC,UAAU;IAAEd,iBAAiB;IAAED;EAAU,CAAC,GAAGxB,YAAY;EAE7E,MAAMwC,SAAS,GAAG,CAAC,CAACF,UAAU,CAAC/B,QAAQ,CAAC,iBAAiB,CAAC;EAC1D,MAAMkC,WAAW,GAAGjD,UAAU,CAAC+C,UAAU,CAAC,IAAI/C,UAAU,CAACiC,iBAAiB,CAAC;EAC3E,MAAMiB,YAAY,GAAGH,UAAU,CAACnD,cAAc,CAAC;EAE/C,MAAMoB,cAAc,GAAG,CAAC,GAAGlB,YAAY,CAAC;EAExCkB,cAAc,CAACS,IAAI,CAAC,GAAG0B,eAAe,CAAClC,sBAAsB,EAAEgC,WAAW,EAAEC,YAAY,CAAC,CAAC;EAC1FlC,cAAc,CAACS,IAAI,CAAC,GAAG2B,eAAe,CAACJ,SAAS,CAAC,CAAC;EAElD,IAAID,UAAU,CAACM,GAAG,IAAIpB,iBAAiB,CAACoB,GAAG,EAAErC,cAAc,CAACS,IAAI,CAAC,KAAK,CAAC;EAEvE,IAAIoB,gBAAgB,IAAIb,SAAS,CAACI,IAAI,CAAC,CAAC;IAAEG;EAAW,CAAC,KAAKA,UAAU,KAAK,OAAO,CAAC,EAAE;IAClFvB,cAAc,CAACS,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,YAAY,CAAC;EAC5D;EAEA,OAAO;IAAET,cAAc;IAAEC;EAAuB,CAAC;AACnD,CAAC;AAED,MAAMmC,eAAe,GAAGJ,SAAS,IAAKA,SAAS,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,GAAG,EAAG;AAExF,MAAMG,eAAe,GAAGA,CAAClC,sBAAsB,EAAEgC,WAAW,EAAEC,YAAY,KAAK;EAC7E,IAAI,CAACjC,sBAAsB,EAAE,OAAO,EAAE;EACtC,MAAMhB,KAAK,GAAG,EAAE;EAChB,IAAIgD,WAAW,EACbhD,KAAK,CAACwB,IAAI,CAAC,eAAe,EAAE,wBAAwB,EAAE,4BAA4B,CAAC;EAErF,IAAIyB,YAAY,EAAE;IAChBjD,KAAK,CAACwB,IAAI,CAAE,GAAE7B,cAAe,QAAO,CAAC;IACrCK,KAAK,CAACwB,IAAI,CAAC5B,aAAa,CAAC;EAC3B;EAEA,OAAOI,KAAK;AACd,CAAC;AAED,eAAeM,eAAe"}
|
|
@@ -9,11 +9,11 @@ const getWrappedValueWithLink = (value, link, keyPrefix = '') => {
|
|
|
9
9
|
} = arrValue;
|
|
10
10
|
const keyValue = arrValue[keyField];
|
|
11
11
|
const isLastItem = index === value.length - 1;
|
|
12
|
-
const keyFieldValue = isLastItem ? keyValue :
|
|
12
|
+
const keyFieldValue = isLastItem ? keyValue : keyValue.concat(',');
|
|
13
13
|
return url ? /*#__PURE__*/React.createElement(BlazeLink, {
|
|
14
14
|
key: [keyPrefix, index].join('-'),
|
|
15
15
|
href: url
|
|
16
|
-
},
|
|
16
|
+
}, `${keyFieldValue} `) : `${keyFieldValue} `;
|
|
17
17
|
});
|
|
18
18
|
return arrayResults.length ? arrayResults : null;
|
|
19
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-wrapped-value-with-link.js","names":["React","BlazeLink","getWrappedValueWithLink","value","link","keyPrefix","Array","isArray","arrayResults","map","arrValue","index","keyField","url","keyValue","isLastItem","length","keyFieldValue","
|
|
1
|
+
{"version":3,"file":"get-wrapped-value-with-link.js","names":["React","BlazeLink","getWrappedValueWithLink","value","link","keyPrefix","Array","isArray","arrayResults","map","arrValue","index","keyField","url","keyValue","isLastItem","length","keyFieldValue","concat","createElement","key","join","href"],"sources":["../../src/helpers/get-wrapped-value-with-link.js"],"sourcesContent":["import React from 'react';\nimport BlazeLink from '../components/BlazeLink';\n\nconst getWrappedValueWithLink = (value, link, keyPrefix = '') => {\n if (Array.isArray(value)) {\n const arrayResults = value.map((arrValue, index) => {\n const { keyField, url } = arrValue;\n const keyValue = arrValue[keyField];\n const isLastItem = index === value.length - 1;\n const keyFieldValue = isLastItem ? keyValue : keyValue.concat(',');\n\n return url ? (\n <BlazeLink key={[keyPrefix, index].join('-')} href={url}>{`${keyFieldValue} `}</BlazeLink>\n ) : (\n `${keyFieldValue} `\n );\n });\n\n return arrayResults.length ? arrayResults : null;\n }\n\n return link ? <BlazeLink href={link}>{value}</BlazeLink> : value;\n};\n\nexport default getWrappedValueWithLink;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,yBAAyB;AAE/C,MAAMC,uBAAuB,GAAGA,CAACC,KAAK,EAAEC,IAAI,EAAEC,SAAS,GAAG,EAAE,KAAK;EAC/D,IAAIC,KAAK,CAACC,OAAO,CAACJ,KAAK,CAAC,EAAE;IACxB,MAAMK,YAAY,GAAGL,KAAK,CAACM,GAAG,CAAC,CAACC,QAAQ,EAAEC,KAAK,KAAK;MAClD,MAAM;QAAEC,QAAQ;QAAEC;MAAI,CAAC,GAAGH,QAAQ;MAClC,MAAMI,QAAQ,GAAGJ,QAAQ,CAACE,QAAQ,CAAC;MACnC,MAAMG,UAAU,GAAGJ,KAAK,KAAKR,KAAK,CAACa,MAAM,GAAG,CAAC;MAC7C,MAAMC,aAAa,GAAGF,UAAU,GAAGD,QAAQ,GAAGA,QAAQ,CAACI,MAAM,CAAC,GAAG,CAAC;MAElE,OAAOL,GAAG,gBACRb,KAAA,CAAAmB,aAAA,CAAClB,SAAS;QAACmB,GAAG,EAAE,CAACf,SAAS,EAAEM,KAAK,CAAC,CAACU,IAAI,CAAC,GAAG,CAAE;QAACC,IAAI,EAAET;MAAI,GAAG,GAAEI,aAAc,GAAc,CAAC,GAEzF,GAAEA,aAAc,GAClB;IACH,CAAC,CAAC;IAEF,OAAOT,YAAY,CAACQ,MAAM,GAAGR,YAAY,GAAG,IAAI;EAClD;EAEA,OAAOJ,IAAI,gBAAGJ,KAAA,CAAAmB,aAAA,CAAClB,SAAS;IAACqB,IAAI,EAAElB;EAAK,GAAED,KAAiB,CAAC,GAAGA,KAAK;AAClE,CAAC;AAED,eAAeD,uBAAuB"}
|
package/lib-es/helpers/index.js
CHANGED
|
@@ -51,5 +51,4 @@ export { default as getParsedPropValues } from './get-parsed-prop-values';
|
|
|
51
51
|
export { default as getSanitizedPropValues } from './get-sanitized-prop-values';
|
|
52
52
|
export { default as appendImages } from './append-images';
|
|
53
53
|
export { default as parseTextBlock } from './parse-TextBlock';
|
|
54
|
-
export { default as processDataSummaryValue } from './process-data-summary-value';
|
|
55
54
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["default","buildInheritedFilters","buildLinkExtraProps","buildPropsQuery","buildQueryFields","buildRawQuery","buildRawQueryBase","buildSearchValuesCheckboxSelect","buildSearchValuesText","buildSetFilters","checkPropsToUse","getElasticsearchOperator","getClickWrapperOptions","getEntitiesWithBanner","getEntityData","getEntityRenderProps","getGenericProps","getGenericRenderVariables","getImageIds","getInheritedFilters","getModifiers","getNotEqualQuery","getPaginationIndex","getParsedSummaryValue","getQueryFilters","getQueryProps","getRequiredSchemas","getSearchFilterType","getUnpublishedEntityName","getWrappedValueWithLink","getItemsToDisplayIds","isBrowser","isFilterEntitysId","isObject","isUsingRelationImage","parsePropsToDisplay","renderChildren","shouldRenderWaypoint","shouldShowProperty","sortResponseData","splitChildren","getCurrentOffset","updateChildrensParent","getDisplayCountData","buildImageProperties","getUpdatedFilterBy","checkForError","removeUnwantedCharacters","hasChildren","removeExtraItems","getParsedPropValues","getSanitizedPropValues","appendImages","parseTextBlock"
|
|
1
|
+
{"version":3,"file":"index.js","names":["default","buildInheritedFilters","buildLinkExtraProps","buildPropsQuery","buildQueryFields","buildRawQuery","buildRawQueryBase","buildSearchValuesCheckboxSelect","buildSearchValuesText","buildSetFilters","checkPropsToUse","getElasticsearchOperator","getClickWrapperOptions","getEntitiesWithBanner","getEntityData","getEntityRenderProps","getGenericProps","getGenericRenderVariables","getImageIds","getInheritedFilters","getModifiers","getNotEqualQuery","getPaginationIndex","getParsedSummaryValue","getQueryFilters","getQueryProps","getRequiredSchemas","getSearchFilterType","getUnpublishedEntityName","getWrappedValueWithLink","getItemsToDisplayIds","isBrowser","isFilterEntitysId","isObject","isUsingRelationImage","parsePropsToDisplay","renderChildren","shouldRenderWaypoint","shouldShowProperty","sortResponseData","splitChildren","getCurrentOffset","updateChildrensParent","getDisplayCountData","buildImageProperties","getUpdatedFilterBy","checkForError","removeUnwantedCharacters","hasChildren","removeExtraItems","getParsedPropValues","getSanitizedPropValues","appendImages","parseTextBlock"],"sources":["../../src/helpers/index.js"],"sourcesContent":["export { default as buildInheritedFilters } from './build-inherited-filters';\nexport { default as buildLinkExtraProps } from './build-link-extra-props';\nexport { default as buildPropsQuery } from './build-props-query';\nexport { default as buildQueryFields } from './build-query-fields';\nexport { default as buildRawQuery } from './build-raw-query';\nexport { default as buildRawQueryBase } from './build-raw-query-base';\nexport { default as buildSearchValuesCheckboxSelect } from './build-search-values-checkbox-select';\nexport { default as buildSearchValuesText } from './build-search-values-text';\nexport { default as buildSetFilters } from './build-set-filters';\nexport { default as checkPropsToUse } from './check-props-to-use';\nexport { default as getElasticsearchOperator } from './get-elasticsearch-operator';\nexport { default as getClickWrapperOptions } from './get-click-wrapper-options';\nexport { default as getEntitiesWithBanner } from './get-entities-with-banner';\nexport { default as getEntityData } from './get-entity-data';\nexport { default as getEntityRenderProps } from './get-entity-render-props';\nexport { default as getGenericProps } from './get-generic-props';\nexport { default as getGenericRenderVariables } from './get-generic-render-variables';\nexport { default as getImageIds } from './get-image-ids';\nexport { default as getInheritedFilters } from './get-inherited-filters';\nexport { default as getModifiers } from './get-modifiers';\nexport { default as getNotEqualQuery } from './get-not-equal-query';\nexport { default as getPaginationIndex } from './get-pagination-index';\nexport { default as getParsedSummaryValue } from './get-parsed-summary-value';\nexport { default as getQueryFilters } from './get-query-filters';\nexport { default as getQueryProps } from './get-query-props';\nexport { default as getRequiredSchemas } from './get-required-schemas';\nexport { default as getSearchFilterType } from './get-search-filter-type';\nexport { default as getUnpublishedEntityName } from './get-unpublished-entity-name';\nexport { default as getWrappedValueWithLink } from './get-wrapped-value-with-link';\nexport { default as getItemsToDisplayIds } from './get-items-to-display-ids';\nexport { default as isBrowser } from './is-browser';\nexport { default as isFilterEntitysId } from './is-filter-entitys-id';\nexport { default as isObject } from './is-object';\nexport { default as isUsingRelationImage } from './is-using-relation-image';\nexport { default as parsePropsToDisplay } from './parse-props-to-display';\nexport { default as renderChildren } from './render-children';\nexport { default as shouldRenderWaypoint } from './should-render-waypoint';\nexport { default as shouldShowProperty } from './should-show-property';\nexport { default as sortResponseData } from './sort-response-data';\nexport { default as splitChildren } from './split-children';\nexport { default as getCurrentOffset } from './get-current-offset';\nexport { default as updateChildrensParent } from './update-childrens-parent';\nexport { default as getDisplayCountData } from './get-display-count-data';\nexport { default as buildImageProperties } from './build-image-properties';\nexport { default as getUpdatedFilterBy } from './get-updated-filter-by';\nexport { default as checkForError } from './check-for-error';\nexport { default as removeUnwantedCharacters } from './remove-unwanted-characters';\nexport { default as hasChildren } from './has-children';\nexport { default as removeExtraItems } from './remove-extra-items';\nexport { default as getParsedPropValues } from './get-parsed-prop-values';\nexport { default as getSanitizedPropValues } from './get-sanitized-prop-values';\nexport { default as appendImages } from './append-images';\nexport { default as parseTextBlock } from './parse-TextBlock';\n"],"mappings":"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"}
|
|
@@ -4,20 +4,18 @@ import isObject from './is-object';
|
|
|
4
4
|
import getParsedPropValues from './get-parsed-prop-values';
|
|
5
5
|
import getSanitizedPropValues from './get-sanitized-prop-values';
|
|
6
6
|
import { BOLD_TAG, BLANK_SPACE_UNICODE_STRING } from '../constants';
|
|
7
|
-
import processDataSummaryValue from './process-data-summary-value';
|
|
8
7
|
|
|
9
8
|
// TODO this helper should be removed if database is wiped clean and all elements change to new props struc
|
|
10
9
|
const parsePropsToDisplay = (props = {}, propsToDisplay = []) => {
|
|
11
10
|
if (!isObject(propsToDisplay[0])) return at(props, propsToDisplay).filter(Boolean);
|
|
12
|
-
return propsToDisplay.map((
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
} = options;
|
|
11
|
+
return propsToDisplay.map(({
|
|
12
|
+
bold,
|
|
13
|
+
propertiesToDisplay,
|
|
14
|
+
prefix,
|
|
15
|
+
suffix,
|
|
16
|
+
shouldStrip,
|
|
17
|
+
enableLink
|
|
18
|
+
}, currentIndex) => {
|
|
21
19
|
const Wrapper = bold ? BOLD_TAG : Fragment;
|
|
22
20
|
const parsedPropValues = getParsedPropValues({
|
|
23
21
|
propertiesToDisplay,
|
|
@@ -28,8 +26,7 @@ const parsePropsToDisplay = (props = {}, propsToDisplay = []) => {
|
|
|
28
26
|
const sanitizedPropValues = getSanitizedPropValues(parsedPropValues);
|
|
29
27
|
if (!sanitizedPropValues || !sanitizedPropValues.length) return null;
|
|
30
28
|
const stringEndBlank = currentIndex + 1 === propsToDisplay.length ? '' : BLANK_SPACE_UNICODE_STRING;
|
|
31
|
-
|
|
32
|
-
return /*#__PURE__*/React.createElement(Wrapper, null, prefix, " ", processedValue, " ", suffix, stringEndBlank);
|
|
29
|
+
return /*#__PURE__*/React.createElement(Wrapper, null, prefix, " ", sanitizedPropValues, " ", suffix, stringEndBlank);
|
|
33
30
|
});
|
|
34
31
|
};
|
|
35
32
|
export default parsePropsToDisplay;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-props-to-display.js","names":["React","Fragment","at","isObject","getParsedPropValues","getSanitizedPropValues","BOLD_TAG","BLANK_SPACE_UNICODE_STRING","
|
|
1
|
+
{"version":3,"file":"parse-props-to-display.js","names":["React","Fragment","at","isObject","getParsedPropValues","getSanitizedPropValues","BOLD_TAG","BLANK_SPACE_UNICODE_STRING","parsePropsToDisplay","props","propsToDisplay","filter","Boolean","map","bold","propertiesToDisplay","prefix","suffix","shouldStrip","enableLink","currentIndex","Wrapper","parsedPropValues","sanitizedPropValues","length","stringEndBlank","createElement"],"sources":["../../src/helpers/parse-props-to-display.js"],"sourcesContent":["import React, { Fragment } from 'react';\nimport at from 'lodash.at';\nimport isObject from './is-object';\nimport getParsedPropValues from './get-parsed-prop-values';\nimport getSanitizedPropValues from './get-sanitized-prop-values';\nimport { BOLD_TAG, BLANK_SPACE_UNICODE_STRING } from '../constants';\n\n// TODO this helper should be removed if database is wiped clean and all elements change to new props struc\nconst parsePropsToDisplay = (props = {}, propsToDisplay = []) => {\n if (!isObject(propsToDisplay[0])) return at(props, propsToDisplay).filter(Boolean);\n\n return propsToDisplay.map(\n ({ bold, propertiesToDisplay, prefix, suffix, shouldStrip, enableLink }, currentIndex) => {\n const Wrapper = bold ? BOLD_TAG : Fragment;\n\n const parsedPropValues = getParsedPropValues({\n propertiesToDisplay,\n props,\n enableLink,\n shouldStrip\n });\n\n const sanitizedPropValues = getSanitizedPropValues(parsedPropValues);\n if (!sanitizedPropValues || !sanitizedPropValues.length) return null;\n const stringEndBlank =\n currentIndex + 1 === propsToDisplay.length ? '' : BLANK_SPACE_UNICODE_STRING;\n\n return (\n <Wrapper>\n {prefix} {sanitizedPropValues} {suffix}\n {stringEndBlank}\n </Wrapper>\n );\n }\n );\n};\n\nexport default parsePropsToDisplay;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,QAAQ,MAAM,aAAa;AAClC,OAAOC,mBAAmB,MAAM,0BAA0B;AAC1D,OAAOC,sBAAsB,MAAM,6BAA6B;AAChE,SAASC,QAAQ,EAAEC,0BAA0B,QAAQ,cAAc;;AAEnE;AACA,MAAMC,mBAAmB,GAAGA,CAACC,KAAK,GAAG,CAAC,CAAC,EAAEC,cAAc,GAAG,EAAE,KAAK;EAC/D,IAAI,CAACP,QAAQ,CAACO,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,OAAOR,EAAE,CAACO,KAAK,EAAEC,cAAc,CAAC,CAACC,MAAM,CAACC,OAAO,CAAC;EAElF,OAAOF,cAAc,CAACG,GAAG,CACvB,CAAC;IAAEC,IAAI;IAAEC,mBAAmB;IAAEC,MAAM;IAAEC,MAAM;IAAEC,WAAW;IAAEC;EAAW,CAAC,EAAEC,YAAY,KAAK;IACxF,MAAMC,OAAO,GAAGP,IAAI,GAAGR,QAAQ,GAAGL,QAAQ;IAE1C,MAAMqB,gBAAgB,GAAGlB,mBAAmB,CAAC;MAC3CW,mBAAmB;MACnBN,KAAK;MACLU,UAAU;MACVD;IACF,CAAC,CAAC;IAEF,MAAMK,mBAAmB,GAAGlB,sBAAsB,CAACiB,gBAAgB,CAAC;IACpE,IAAI,CAACC,mBAAmB,IAAI,CAACA,mBAAmB,CAACC,MAAM,EAAE,OAAO,IAAI;IACpE,MAAMC,cAAc,GAClBL,YAAY,GAAG,CAAC,KAAKV,cAAc,CAACc,MAAM,GAAG,EAAE,GAAGjB,0BAA0B;IAE9E,oBACEP,KAAA,CAAA0B,aAAA,CAACL,OAAO,QACLL,MAAM,EAAC,GAAC,EAACO,mBAAmB,EAAC,GAAC,EAACN,MAAM,EACrCQ,cACM,CAAC;EAEd,CACF,CAAC;AACH,CAAC;AAED,eAAejB,mBAAmB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blaze-cms/react-page-builder",
|
|
3
|
-
"version": "0.130.0-
|
|
3
|
+
"version": "0.130.0-alpha.0",
|
|
4
4
|
"description": "Blaze react page builder",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib-es/index.js",
|
|
@@ -27,15 +27,15 @@
|
|
|
27
27
|
},
|
|
28
28
|
"license": "GPL-3.0",
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@blaze-cms/core-auth-ui": "0.130.0-
|
|
31
|
-
"@blaze-cms/core-errors": "0.
|
|
32
|
-
"@blaze-cms/core-errors-ui": "0.
|
|
30
|
+
"@blaze-cms/core-auth-ui": "0.130.0-alpha.0",
|
|
31
|
+
"@blaze-cms/core-errors": "^0.127.0",
|
|
32
|
+
"@blaze-cms/core-errors-ui": "^0.128.1",
|
|
33
33
|
"@blaze-cms/image-cdn-react": "0.3.0-alpha.5",
|
|
34
|
-
"@blaze-cms/nextjs-components": "0.
|
|
35
|
-
"@blaze-cms/plugin-search-ui": "0.130.0-
|
|
36
|
-
"@blaze-cms/setup-ui": "0.
|
|
37
|
-
"@blaze-cms/utils": "0.130.0-
|
|
38
|
-
"@blaze-cms/utils-handlebars": "0.
|
|
34
|
+
"@blaze-cms/nextjs-components": "^0.128.1",
|
|
35
|
+
"@blaze-cms/plugin-search-ui": "0.130.0-alpha.0",
|
|
36
|
+
"@blaze-cms/setup-ui": "^0.128.1",
|
|
37
|
+
"@blaze-cms/utils": "0.130.0-alpha.0",
|
|
38
|
+
"@blaze-cms/utils-handlebars": "^0.128.1",
|
|
39
39
|
"@blaze-react/breadcrumb": "0.8.0-alpha.60",
|
|
40
40
|
"@blaze-react/button": "0.5.19",
|
|
41
41
|
"@blaze-react/checkboxes": "0.5.31",
|
|
@@ -89,5 +89,5 @@
|
|
|
89
89
|
"lib/*",
|
|
90
90
|
"lib-es/*"
|
|
91
91
|
],
|
|
92
|
-
"gitHead": "
|
|
92
|
+
"gitHead": "62334acab51d27cf32429e515a33604ae259a6c8"
|
|
93
93
|
}
|
|
@@ -7,30 +7,26 @@ import { getClassModifiers } from '../../utils';
|
|
|
7
7
|
import { CODE } from '../../constants';
|
|
8
8
|
import { wrapScriptTags } from './helpers';
|
|
9
9
|
|
|
10
|
-
const Code = memo(({ code: embedCode, parserOptions,
|
|
10
|
+
const Code = memo(({ code: embedCode, parserOptions, ...otherProps }) => {
|
|
11
11
|
if (!embedCode) return null;
|
|
12
12
|
|
|
13
13
|
const parsedCode = parseHTML(embedCode, parserOptions);
|
|
14
14
|
const wrappedCode = wrapScriptTags(parsedCode);
|
|
15
15
|
const modifiers = getClassModifiers(CODE, { ...otherProps });
|
|
16
16
|
|
|
17
|
-
if (disableWrapper) return wrappedCode;
|
|
18
|
-
|
|
19
17
|
return <Wrapper modifiers={modifiers}>{wrappedCode}</Wrapper>;
|
|
20
18
|
});
|
|
21
19
|
|
|
22
20
|
Code.propTypes = {
|
|
23
21
|
code: PropTypes.string,
|
|
24
22
|
modifier: PropTypes.string,
|
|
25
|
-
parserOptions: PropTypes.object
|
|
26
|
-
disableWrapper: PropTypes.bool
|
|
23
|
+
parserOptions: PropTypes.object
|
|
27
24
|
};
|
|
28
25
|
|
|
29
26
|
Code.defaultProps = {
|
|
30
27
|
code: '',
|
|
31
28
|
modifier: '',
|
|
32
|
-
parserOptions: {}
|
|
33
|
-
disableWrapper: false
|
|
29
|
+
parserOptions: {}
|
|
34
30
|
};
|
|
35
31
|
|
|
36
32
|
export default withTitle(Code);
|
|
@@ -3,7 +3,6 @@ import flatten from 'lodash.flatten';
|
|
|
3
3
|
import getLinkToPublishedContent from './get-link-to-published-content';
|
|
4
4
|
import getLoopPropsLimit from './get-loop-props-limit';
|
|
5
5
|
import getPropValue from './get-prop-value';
|
|
6
|
-
import { processDataSummaryValue } from '../../../helpers';
|
|
7
6
|
|
|
8
7
|
const getLoopValue = value => {
|
|
9
8
|
const { keyField } = value;
|
|
@@ -47,10 +46,8 @@ const buildLoopPropsContent = (loopProps = [], propsToDisplay = [], limit = 0, d
|
|
|
47
46
|
const loopValue = loopValues[key];
|
|
48
47
|
const propValue = loopValue ? getLoopValue(loopValue[i]) : regularValues[key];
|
|
49
48
|
if (!propValue) return null;
|
|
50
|
-
|
|
51
|
-
const processedValue = processDataSummaryValue(propValue, options);
|
|
52
49
|
const linkToPublishedContent = getLinkToPublishedContent(key, data);
|
|
53
|
-
return [upperFirst(label),
|
|
50
|
+
return [upperFirst(label), propValue, linkToPublishedContent, modifier];
|
|
54
51
|
});
|
|
55
52
|
})
|
|
56
53
|
).filter(Boolean);
|