@blaze-cms/react-page-builder 0.124.0-alpha.33 → 0.124.0-alpha.34
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 +11 -0
- package/lib/components/ItemList/ItemListNew/ItemListNew.js +14 -2
- package/lib/components/ItemList/ItemListNew/ItemListNew.js.map +1 -1
- package/lib/components/List/ListFactory.js +6 -4
- package/lib/components/List/ListFactory.js.map +1 -1
- package/lib/components/List/helpers/has-required-item-list-details.js +29 -0
- package/lib/components/List/helpers/has-required-item-list-details.js.map +1 -0
- package/lib/components/List/helpers/index.js +8 -0
- package/lib/components/List/helpers/index.js.map +1 -1
- package/lib-es/components/ItemList/ItemListNew/ItemListNew.js +10 -2
- package/lib-es/components/ItemList/ItemListNew/ItemListNew.js.map +1 -1
- package/lib-es/components/List/ListFactory.js +8 -7
- package/lib-es/components/List/ListFactory.js.map +1 -1
- package/lib-es/components/List/helpers/has-required-item-list-details.js +20 -0
- package/lib-es/components/List/helpers/has-required-item-list-details.js.map +1 -0
- package/lib-es/components/List/helpers/index.js +1 -0
- package/lib-es/components/List/helpers/index.js.map +1 -1
- package/package.json +2 -2
- package/src/components/ItemList/ItemListNew/ItemListNew.js +7 -3
- package/src/components/List/ListFactory.js +4 -5
- package/src/components/List/helpers/has-required-item-list-details.js +14 -0
- package/src/components/List/helpers/index.js +1 -0
- package/tests/unit/src/components/ItemList/ItemListNew.test.js +37 -1
- package/tests/unit/src/components/ItemList/__snapshots__/ItemListNew.test.js.snap +11 -0
- package/tests/unit/src/components/List/helpers/has-required-item-list-details.test.js +30 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [0.124.0-alpha.34](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.33...v0.124.0-alpha.34) (2022-06-24)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* show clear list button when list in query string ([#3518](https://github.com/thebyte9/blaze/issues/3518)) ([0066907](https://github.com/thebyte9/blaze/commit/00669078ef9177300fcf388f9a01bfd874d20eca))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
# [0.124.0-alpha.33](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.32...v0.124.0-alpha.33) (2022-06-21)
|
|
7
18
|
|
|
8
19
|
|
|
@@ -19,28 +19,40 @@ var _client = require("@apollo/client");
|
|
|
19
19
|
|
|
20
20
|
var _button = _interopRequireDefault(require("@blaze-react/button"));
|
|
21
21
|
|
|
22
|
+
var _queryString = require("query-string");
|
|
23
|
+
|
|
22
24
|
var _query = require("../../../application/query");
|
|
23
25
|
|
|
24
26
|
var _hooks = require("../hooks");
|
|
25
27
|
|
|
26
28
|
var _helpers = require("../helpers");
|
|
27
29
|
|
|
30
|
+
var _constants = require("../constants");
|
|
31
|
+
|
|
28
32
|
var ItemListNew = function ItemListNew(_ref) {
|
|
29
33
|
var listName = _ref.listName,
|
|
30
34
|
modifier = _ref.modifier,
|
|
31
35
|
text = _ref.text;
|
|
32
36
|
var router = (0, _router.useRouter)();
|
|
33
37
|
|
|
38
|
+
var _parseUrl = (0, _queryString.parseUrl)(router.asPath),
|
|
39
|
+
_parseUrl$query = _parseUrl.query;
|
|
40
|
+
|
|
41
|
+
_parseUrl$query = _parseUrl$query === void 0 ? {} : _parseUrl$query;
|
|
42
|
+
var listItemId = _parseUrl$query[_constants.LIST_ITEM_QUERY_PARAM];
|
|
43
|
+
|
|
34
44
|
var _useItemListId = (0, _hooks.useItemListId)({
|
|
35
45
|
listName: listName
|
|
36
46
|
}),
|
|
37
47
|
listId = _useItemListId.listId;
|
|
38
48
|
|
|
49
|
+
var listIdToUse = listItemId || listId;
|
|
50
|
+
|
|
39
51
|
var _useQuery = (0, _client.useQuery)(_query.getItemList, {
|
|
40
52
|
variables: {
|
|
41
|
-
id:
|
|
53
|
+
id: listIdToUse
|
|
42
54
|
},
|
|
43
|
-
skip: !
|
|
55
|
+
skip: !listIdToUse
|
|
44
56
|
}),
|
|
45
57
|
data = _useQuery.data,
|
|
46
58
|
error = _useQuery.error,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ItemListNew.js","names":["ItemListNew","listName","modifier","text","router","useRouter","useItemListId","listId","useQuery","getItemList","variables","id","skip","data","error","loading","message","listItems","getItemListData","length","handleClick","setItemListId","setParamAndRedirect","propTypes","PropTypes","string","isRequired","defaultProps"],"sources":["../../../../src/components/ItemList/ItemListNew/ItemListNew.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { useQuery } from '@apollo/client';\nimport BlazeButton from '@blaze-react/button';\nimport { getItemList } from '../../../application/query';\nimport { useItemListId } from '../hooks';\nimport { getItemListData, setItemListId, setParamAndRedirect } from '../helpers';\n\nconst ItemListNew = ({ listName, modifier, text }) => {\n const router = useRouter();\n const { listId } = useItemListId({ listName });\n
|
|
1
|
+
{"version":3,"file":"ItemListNew.js","names":["ItemListNew","listName","modifier","text","router","useRouter","parseUrl","asPath","query","listItemId","LIST_ITEM_QUERY_PARAM","useItemListId","listId","listIdToUse","useQuery","getItemList","variables","id","skip","data","error","loading","message","listItems","getItemListData","length","handleClick","setItemListId","setParamAndRedirect","propTypes","PropTypes","string","isRequired","defaultProps"],"sources":["../../../../src/components/ItemList/ItemListNew/ItemListNew.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { useQuery } from '@apollo/client';\nimport BlazeButton from '@blaze-react/button';\nimport { parseUrl } from 'query-string';\nimport { getItemList } from '../../../application/query';\nimport { useItemListId } from '../hooks';\nimport { getItemListData, setItemListId, setParamAndRedirect } from '../helpers';\nimport { LIST_ITEM_QUERY_PARAM } from '../constants';\n\nconst ItemListNew = ({ listName, modifier, text }) => {\n const router = useRouter();\n const { query: { [LIST_ITEM_QUERY_PARAM]: listItemId } = {} } = parseUrl(router.asPath);\n\n const { listId } = useItemListId({ listName });\n const listIdToUse = listItemId || listId;\n const { data, error, loading } = useQuery(getItemList, {\n variables: { id: listIdToUse },\n skip: !listIdToUse\n });\n\n if (loading) return '';\n if (error) return error.message;\n\n const listItems = getItemListData(data);\n if (!listItems.length) return '';\n\n const handleClick = () => {\n setItemListId(listName, '');\n setParamAndRedirect(router);\n };\n\n return (\n <BlazeButton className={`item-list-new ${modifier}`} onClick={handleClick}>\n {text}\n </BlazeButton>\n );\n};\n\nItemListNew.propTypes = {\n listName: PropTypes.string.isRequired,\n modifier: PropTypes.string,\n text: PropTypes.string.isRequired\n};\n\nItemListNew.defaultProps = {\n modifier: ''\n};\n\nexport default ItemListNew;\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA,IAAMA,WAAW,GAAG,SAAdA,WAAc,OAAkC;EAAA,IAA/BC,QAA+B,QAA/BA,QAA+B;EAAA,IAArBC,QAAqB,QAArBA,QAAqB;EAAA,IAAXC,IAAW,QAAXA,IAAW;EACpD,IAAMC,MAAM,GAAG,IAAAC,iBAAA,GAAf;;EACA,gBAAgE,IAAAC,qBAAA,EAASF,MAAM,CAACG,MAAhB,CAAhE;EAAA,gCAAQC,KAAR;;EAAA,+CAAyD,EAAzD;EAAA,IAA0CC,UAA1C,mBAAkBC,gCAAlB;;EAEA,qBAAmB,IAAAC,oBAAA,EAAc;IAAEV,QAAQ,EAARA;EAAF,CAAd,CAAnB;EAAA,IAAQW,MAAR,kBAAQA,MAAR;;EACA,IAAMC,WAAW,GAAGJ,UAAU,IAAIG,MAAlC;;EACA,gBAAiC,IAAAE,gBAAA,EAASC,kBAAT,EAAsB;IACrDC,SAAS,EAAE;MAAEC,EAAE,EAAEJ;IAAN,CAD0C;IAErDK,IAAI,EAAE,CAACL;EAF8C,CAAtB,CAAjC;EAAA,IAAQM,IAAR,aAAQA,IAAR;EAAA,IAAcC,KAAd,aAAcA,KAAd;EAAA,IAAqBC,OAArB,aAAqBA,OAArB;;EAKA,IAAIA,OAAJ,EAAa,OAAO,EAAP;EACb,IAAID,KAAJ,EAAW,OAAOA,KAAK,CAACE,OAAb;EAEX,IAAMC,SAAS,GAAG,IAAAC,wBAAA,EAAgBL,IAAhB,CAAlB;EACA,IAAI,CAACI,SAAS,CAACE,MAAf,EAAuB,OAAO,EAAP;;EAEvB,IAAMC,WAAW,GAAG,SAAdA,WAAc,GAAM;IACxB,IAAAC,sBAAA,EAAc1B,QAAd,EAAwB,EAAxB;IACA,IAAA2B,4BAAA,EAAoBxB,MAApB;EACD,CAHD;;EAKA,oBACE,gCAAC,kBAAD;IAAa,SAAS,0BAAmBF,QAAnB,CAAtB;IAAqD,OAAO,EAAEwB;EAA9D,GACGvB,IADH,CADF;AAKD,CA3BD;;AA6BAH,WAAW,CAAC6B,SAAZ,GAAwB;EACtB5B,QAAQ,EAAE6B,qBAAA,CAAUC,MAAV,CAAiBC,UADL;EAEtB9B,QAAQ,EAAE4B,qBAAA,CAAUC,MAFE;EAGtB5B,IAAI,EAAE2B,qBAAA,CAAUC,MAAV,CAAiBC;AAHD,CAAxB;AAMAhC,WAAW,CAACiC,YAAZ,GAA2B;EACzB/B,QAAQ,EAAE;AADe,CAA3B;eAIeF,W"}
|
|
@@ -198,10 +198,12 @@ var ListFactory = function ListFactory(props) {
|
|
|
198
198
|
itemListError = _useQuery3.error,
|
|
199
199
|
itemListLoading = _useQuery3.loading;
|
|
200
200
|
|
|
201
|
-
if (!
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
201
|
+
if (!(0, _helpers.hasRequiredItemListDetails)({
|
|
202
|
+
itemListName: itemListName,
|
|
203
|
+
router: router,
|
|
204
|
+
itemListId: itemListId,
|
|
205
|
+
queryItemListId: queryItemListId
|
|
206
|
+
})) return '';
|
|
205
207
|
var errorsToCheck = [schemaError, schemasError, requiredSchemaError, itemQueryError, itemListError];
|
|
206
208
|
|
|
207
209
|
var _checkForError = (0, _helpers2.checkForError)(errorsToCheck),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListFactory.js","names":["ListFactory","props","entity","parent","name","filterByProperty","filterBy","omitWrappers","type","defaultSortBy","sortby","defaultSort","sort","searchFilter","filterOperator","operator","sortProperties","itemListName","useContext","MainContext","isPreview","router","useRouter","asPath","parsedQuery","replace","parseUrl","query","url","querySort","querySortBy","queryItemListId","itemListId","getSortProps","sortbyFilters","updatedSortProperties","getItemListId","itemEntity","itemId","itemEntityUpdated","getUnpublishedEntityName","paginationIndex","getPaginationIndex","azFilter","getAzQueryFilter","useQuery","getSingleEntitySchema","variables","id","entitySchema","data","schemaError","error","schemaLoading","loading","useGetEntitySchemasAsObj","mainSchemas","schemasLoading","schemasError","currentSchema","filterEntitySchema","getRequiredSchemas","requiredSchema","requiredSchemaLoading","requiredSchemaError","inheritedFilters","getInheritedFilters","queryProps","getQueryProps","actions","getAction","get","getPublished","generateSingleItemQuery","skip","length","ID","entityData","itemQueryError","itemQueryLoading","getItemList","itemListData","itemListError","itemListLoading","setParamAndRedirect","errorsToCheck","checkForError","hasErr","errMsg","itemListIds","getItemListIds","isCard","FULL","isAZ","AZ_LIST_TYPE","genericProps","getGenericProps","getSearchFilterType","TEXT_SEARCH","textFilter","shouldApplyTextFilter","propsToDisplay","getElasticsearchOperator","AND_OPERATOR","valuesText","buildSearchValuesText","getQueryFilters","valuesAnd","valuesOr","isTextSearchFilterApplied","search_term","searchValues","searchValuesText","searchValuesCheckboxSelectRange","searchValuesCheckboxOr","listProps","propTypes","PropTypes","object","isRequired","string","array","bool","defaultProps","AND"],"sources":["../../../src/components/List/ListFactory.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport { useQuery } from '@apollo/client';\nimport { parseUrl } from 'query-string';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport {\n getSingleEntitySchema,\n generateSingleItemQuery,\n getItemList\n} from '../../application/query';\nimport ListBuilder from './ListBuilder';\nimport { AZ_LIST_TYPE } from './constants';\nimport { getAzQueryFilter, getSortProps } from './helpers';\nimport {\n getGenericProps,\n getRequiredSchemas,\n checkForError,\n getUnpublishedEntityName,\n getPaginationIndex,\n getSearchFilterType,\n getElasticsearchOperator,\n buildSearchValuesText,\n getQueryFilters,\n getInheritedFilters,\n getQueryProps\n} from '../../helpers';\nimport { getItemListId, getItemListIds, setParamAndRedirect } from '../ItemList/helpers';\nimport { useGetEntitySchemasAsObj } from '../../hooks';\nimport { AND_OPERATOR, TEXT_SEARCH, ID, AND, FULL } from '../../constants';\n\nconst ListFactory = props => {\n const {\n entity,\n parent,\n name,\n filterByProperty,\n filterBy,\n omitWrappers,\n type,\n sortby: defaultSortBy,\n sort: defaultSort,\n searchFilter,\n operator: filterOperator,\n sortProperties,\n itemListName\n } = props;\n const { isPreview } = useContext(MainContext);\n const router = useRouter();\n const { asPath } = router;\n const parsedQuery = asPath.replace(/%5D/g, ']').replace(/%5B/g, '[');\n const {\n query,\n url,\n query: { sort: querySort, sortby: querySortBy, itemListId: queryItemListId } = {}\n } = parseUrl(parsedQuery);\n const { sortbyFilters, updatedSortProperties } = getSortProps({\n querySort,\n sortProperties,\n defaultSort,\n querySortBy,\n defaultSortBy\n });\n\n const itemListId = getItemListId(itemListName, queryItemListId);\n const { itemEntity, itemId } = parent;\n const itemEntityUpdated = getUnpublishedEntityName(itemEntity);\n const paginationIndex = getPaginationIndex(query, name);\n const azFilter = getAzQueryFilter(query, name);\n\n const { data: entitySchema, error: schemaError, loading: schemaLoading } = useQuery(\n getSingleEntitySchema,\n {\n variables: { id: entity }\n }\n );\n const {\n data: mainSchemas = {},\n loading: schemasLoading,\n error: schemasError\n } = useGetEntitySchemasAsObj([itemEntityUpdated, entity]);\n\n const {\n [itemEntityUpdated]: currentSchema = {},\n [entity]: filterEntitySchema = {}\n } = mainSchemas;\n\n const {\n data: requiredSchema = {},\n loading: requiredSchemaLoading,\n error: requiredSchemaError\n } = useGetEntitySchemasAsObj(\n getRequiredSchemas([...filterByProperty, ...sortbyFilters], filterEntitySchema),\n schemasLoading\n );\n const inheritedFilters = getInheritedFilters(filterBy, filterByProperty);\n const queryProps = getQueryProps(inheritedFilters, currentSchema, filterEntitySchema);\n const { actions = {} } = currentSchema || {};\n const getAction = isPreview ? actions.get : actions.getPublished;\n\n const {\n data: { entityData = {} } = {},\n error: itemQueryError,\n loading: itemQueryLoading\n } = useQuery(generateSingleItemQuery(getAction, queryProps), {\n variables: { id: itemId },\n skip: schemasLoading || (!inheritedFilters.length && queryProps === ID)\n });\n\n const { data: itemListData = {}, error: itemListError, loading: itemListLoading } = useQuery(\n getItemList,\n {\n variables: { id: itemListId },\n skip: !itemListId\n }\n );\n if (!queryItemListId && itemListId) {\n setParamAndRedirect(router, itemListId);\n }\n\n const errorsToCheck = [\n schemaError,\n schemasError,\n requiredSchemaError,\n itemQueryError,\n itemListError\n ];\n const { hasErr, errMsg } = checkForError(errorsToCheck);\n\n if (\n requiredSchemaLoading ||\n schemasLoading ||\n schemaLoading ||\n itemQueryLoading ||\n itemListLoading\n )\n return '';\n if (hasErr) return errMsg;\n if (!entitySchema) return null;\n\n const itemListIds = getItemListIds(itemListData);\n const isCard = type !== FULL;\n const isAZ = type === AZ_LIST_TYPE;\n const genericProps = getGenericProps(props);\n const [textFilter] = getSearchFilterType(searchFilter, TEXT_SEARCH);\n const shouldApplyTextFilter = textFilter && textFilter.propsToDisplay.length;\n const operator = shouldApplyTextFilter ? getElasticsearchOperator(textFilter) : AND_OPERATOR;\n const valuesText = shouldApplyTextFilter ? buildSearchValuesText(textFilter, query) : [];\n const { valuesAnd, valuesOr } = getQueryFilters(searchFilter, query);\n const isTextSearchFilterApplied = !!(\n query.search_term &&\n searchFilter &&\n getSearchFilterType(searchFilter, TEXT_SEARCH).length\n );\n\n const searchValues = {\n searchValuesText: valuesText,\n searchValuesCheckboxSelectRange: valuesAnd,\n searchValuesCheckboxOr: valuesOr\n };\n const listProps = {\n ...props,\n ...genericProps,\n query,\n url,\n isCard,\n isAZ,\n router,\n entitySchema,\n sort: null,\n sortby: null,\n sortProperties: updatedSortProperties,\n azFilter,\n searchValues,\n filterEntitySchema,\n requiredSchema,\n currentSchema,\n omitWrappers,\n operator,\n isTextSearchFilterApplied,\n paginationIndex,\n entityData,\n inheritedFilters,\n filterOperator,\n itemListIds\n };\n\n return <ListBuilder {...listProps} />;\n};\n\nListFactory.propTypes = {\n parent: PropTypes.object.isRequired,\n entity: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n filterBy: PropTypes.array,\n filterByProperty: PropTypes.array,\n omitWrappers: PropTypes.bool,\n operator: PropTypes.string,\n name: PropTypes.string,\n sortby: PropTypes.array,\n sort: PropTypes.string,\n searchFilter: PropTypes.object,\n sortProperties: PropTypes.array,\n itemListName: PropTypes.string\n};\n\nListFactory.defaultProps = {\n filterBy: [],\n filterByProperty: [],\n omitWrappers: false,\n name: '',\n sortby: [],\n sortProperties: [],\n sort: '',\n operator: AND,\n searchFilter: {},\n itemListName: ''\n};\n\nexport default ListFactory;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ListFactory.js","names":["ListFactory","props","entity","parent","name","filterByProperty","filterBy","omitWrappers","type","defaultSortBy","sortby","defaultSort","sort","searchFilter","filterOperator","operator","sortProperties","itemListName","useContext","MainContext","isPreview","router","useRouter","asPath","parsedQuery","replace","parseUrl","query","url","querySort","querySortBy","queryItemListId","itemListId","getSortProps","sortbyFilters","updatedSortProperties","getItemListId","itemEntity","itemId","itemEntityUpdated","getUnpublishedEntityName","paginationIndex","getPaginationIndex","azFilter","getAzQueryFilter","useQuery","getSingleEntitySchema","variables","id","entitySchema","data","schemaError","error","schemaLoading","loading","useGetEntitySchemasAsObj","mainSchemas","schemasLoading","schemasError","currentSchema","filterEntitySchema","getRequiredSchemas","requiredSchema","requiredSchemaLoading","requiredSchemaError","inheritedFilters","getInheritedFilters","queryProps","getQueryProps","actions","getAction","get","getPublished","generateSingleItemQuery","skip","length","ID","entityData","itemQueryError","itemQueryLoading","getItemList","itemListData","itemListError","itemListLoading","hasRequiredItemListDetails","errorsToCheck","checkForError","hasErr","errMsg","itemListIds","getItemListIds","isCard","FULL","isAZ","AZ_LIST_TYPE","genericProps","getGenericProps","getSearchFilterType","TEXT_SEARCH","textFilter","shouldApplyTextFilter","propsToDisplay","getElasticsearchOperator","AND_OPERATOR","valuesText","buildSearchValuesText","getQueryFilters","valuesAnd","valuesOr","isTextSearchFilterApplied","search_term","searchValues","searchValuesText","searchValuesCheckboxSelectRange","searchValuesCheckboxOr","listProps","propTypes","PropTypes","object","isRequired","string","array","bool","defaultProps","AND"],"sources":["../../../src/components/List/ListFactory.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport { useQuery } from '@apollo/client';\nimport { parseUrl } from 'query-string';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport {\n getSingleEntitySchema,\n generateSingleItemQuery,\n getItemList\n} from '../../application/query';\nimport ListBuilder from './ListBuilder';\nimport { AZ_LIST_TYPE } from './constants';\nimport { getAzQueryFilter, getSortProps, hasRequiredItemListDetails } from './helpers';\nimport {\n getGenericProps,\n getRequiredSchemas,\n checkForError,\n getUnpublishedEntityName,\n getPaginationIndex,\n getSearchFilterType,\n getElasticsearchOperator,\n buildSearchValuesText,\n getQueryFilters,\n getInheritedFilters,\n getQueryProps\n} from '../../helpers';\nimport { getItemListId, getItemListIds } from '../ItemList/helpers';\nimport { useGetEntitySchemasAsObj } from '../../hooks';\nimport { AND_OPERATOR, TEXT_SEARCH, ID, AND, FULL } from '../../constants';\n\nconst ListFactory = props => {\n const {\n entity,\n parent,\n name,\n filterByProperty,\n filterBy,\n omitWrappers,\n type,\n sortby: defaultSortBy,\n sort: defaultSort,\n searchFilter,\n operator: filterOperator,\n sortProperties,\n itemListName\n } = props;\n const { isPreview } = useContext(MainContext);\n const router = useRouter();\n const { asPath } = router;\n const parsedQuery = asPath.replace(/%5D/g, ']').replace(/%5B/g, '[');\n const {\n query,\n url,\n query: { sort: querySort, sortby: querySortBy, itemListId: queryItemListId } = {}\n } = parseUrl(parsedQuery);\n const { sortbyFilters, updatedSortProperties } = getSortProps({\n querySort,\n sortProperties,\n defaultSort,\n querySortBy,\n defaultSortBy\n });\n\n const itemListId = getItemListId(itemListName, queryItemListId);\n const { itemEntity, itemId } = parent;\n const itemEntityUpdated = getUnpublishedEntityName(itemEntity);\n const paginationIndex = getPaginationIndex(query, name);\n const azFilter = getAzQueryFilter(query, name);\n\n const { data: entitySchema, error: schemaError, loading: schemaLoading } = useQuery(\n getSingleEntitySchema,\n {\n variables: { id: entity }\n }\n );\n const {\n data: mainSchemas = {},\n loading: schemasLoading,\n error: schemasError\n } = useGetEntitySchemasAsObj([itemEntityUpdated, entity]);\n\n const {\n [itemEntityUpdated]: currentSchema = {},\n [entity]: filterEntitySchema = {}\n } = mainSchemas;\n\n const {\n data: requiredSchema = {},\n loading: requiredSchemaLoading,\n error: requiredSchemaError\n } = useGetEntitySchemasAsObj(\n getRequiredSchemas([...filterByProperty, ...sortbyFilters], filterEntitySchema),\n schemasLoading\n );\n const inheritedFilters = getInheritedFilters(filterBy, filterByProperty);\n const queryProps = getQueryProps(inheritedFilters, currentSchema, filterEntitySchema);\n const { actions = {} } = currentSchema || {};\n const getAction = isPreview ? actions.get : actions.getPublished;\n\n const {\n data: { entityData = {} } = {},\n error: itemQueryError,\n loading: itemQueryLoading\n } = useQuery(generateSingleItemQuery(getAction, queryProps), {\n variables: { id: itemId },\n skip: schemasLoading || (!inheritedFilters.length && queryProps === ID)\n });\n\n const { data: itemListData = {}, error: itemListError, loading: itemListLoading } = useQuery(\n getItemList,\n {\n variables: { id: itemListId },\n skip: !itemListId\n }\n );\n\n if (!hasRequiredItemListDetails({ itemListName, router, itemListId, queryItemListId })) return '';\n\n const errorsToCheck = [\n schemaError,\n schemasError,\n requiredSchemaError,\n itemQueryError,\n itemListError\n ];\n const { hasErr, errMsg } = checkForError(errorsToCheck);\n\n if (\n requiredSchemaLoading ||\n schemasLoading ||\n schemaLoading ||\n itemQueryLoading ||\n itemListLoading\n )\n return '';\n if (hasErr) return errMsg;\n if (!entitySchema) return null;\n\n const itemListIds = getItemListIds(itemListData);\n const isCard = type !== FULL;\n const isAZ = type === AZ_LIST_TYPE;\n const genericProps = getGenericProps(props);\n const [textFilter] = getSearchFilterType(searchFilter, TEXT_SEARCH);\n const shouldApplyTextFilter = textFilter && textFilter.propsToDisplay.length;\n const operator = shouldApplyTextFilter ? getElasticsearchOperator(textFilter) : AND_OPERATOR;\n const valuesText = shouldApplyTextFilter ? buildSearchValuesText(textFilter, query) : [];\n const { valuesAnd, valuesOr } = getQueryFilters(searchFilter, query);\n const isTextSearchFilterApplied = !!(\n query.search_term &&\n searchFilter &&\n getSearchFilterType(searchFilter, TEXT_SEARCH).length\n );\n\n const searchValues = {\n searchValuesText: valuesText,\n searchValuesCheckboxSelectRange: valuesAnd,\n searchValuesCheckboxOr: valuesOr\n };\n const listProps = {\n ...props,\n ...genericProps,\n query,\n url,\n isCard,\n isAZ,\n router,\n entitySchema,\n sort: null,\n sortby: null,\n sortProperties: updatedSortProperties,\n azFilter,\n searchValues,\n filterEntitySchema,\n requiredSchema,\n currentSchema,\n omitWrappers,\n operator,\n isTextSearchFilterApplied,\n paginationIndex,\n entityData,\n inheritedFilters,\n filterOperator,\n itemListIds\n };\n\n return <ListBuilder {...listProps} />;\n};\n\nListFactory.propTypes = {\n parent: PropTypes.object.isRequired,\n entity: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n filterBy: PropTypes.array,\n filterByProperty: PropTypes.array,\n omitWrappers: PropTypes.bool,\n operator: PropTypes.string,\n name: PropTypes.string,\n sortby: PropTypes.array,\n sort: PropTypes.string,\n searchFilter: PropTypes.object,\n sortProperties: PropTypes.array,\n itemListName: PropTypes.string\n};\n\nListFactory.defaultProps = {\n filterBy: [],\n filterByProperty: [],\n omitWrappers: false,\n name: '',\n sortby: [],\n sortProperties: [],\n sort: '',\n operator: AND,\n searchFilter: {},\n itemListName: ''\n};\n\nexport default ListFactory;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.object.define-property.js");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _helpers = require("../../ItemList/helpers");
|
|
11
|
+
|
|
12
|
+
var hasRequiredItemListDetails = function hasRequiredItemListDetails(_ref) {
|
|
13
|
+
var itemListName = _ref.itemListName,
|
|
14
|
+
router = _ref.router,
|
|
15
|
+
itemListId = _ref.itemListId,
|
|
16
|
+
queryItemListId = _ref.queryItemListId;
|
|
17
|
+
if (!itemListName) return true;
|
|
18
|
+
|
|
19
|
+
if (!queryItemListId && itemListId) {
|
|
20
|
+
(0, _helpers.setParamAndRedirect)(router, itemListId);
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
return !!queryItemListId;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
var _default = hasRequiredItemListDetails;
|
|
28
|
+
exports["default"] = _default;
|
|
29
|
+
//# sourceMappingURL=has-required-item-list-details.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"has-required-item-list-details.js","names":["hasRequiredItemListDetails","itemListName","router","itemListId","queryItemListId","setParamAndRedirect"],"sources":["../../../../src/components/List/helpers/has-required-item-list-details.js"],"sourcesContent":["import { setParamAndRedirect } from '../../ItemList/helpers';\n\nconst hasRequiredItemListDetails = ({ itemListName, router, itemListId, queryItemListId }) => {\n if (!itemListName) return true;\n\n if (!queryItemListId && itemListId) {\n setParamAndRedirect(router, itemListId);\n return false;\n }\n\n return !!queryItemListId;\n};\n\nexport default hasRequiredItemListDetails;\n"],"mappings":";;;;;;;;;AAAA;;AAEA,IAAMA,0BAA0B,GAAG,SAA7BA,0BAA6B,OAA2D;EAAA,IAAxDC,YAAwD,QAAxDA,YAAwD;EAAA,IAA1CC,MAA0C,QAA1CA,MAA0C;EAAA,IAAlCC,UAAkC,QAAlCA,UAAkC;EAAA,IAAtBC,eAAsB,QAAtBA,eAAsB;EAC5F,IAAI,CAACH,YAAL,EAAmB,OAAO,IAAP;;EAEnB,IAAI,CAACG,eAAD,IAAoBD,UAAxB,EAAoC;IAClC,IAAAE,4BAAA,EAAoBH,MAApB,EAA4BC,UAA5B;IACA,OAAO,KAAP;EACD;;EAED,OAAO,CAAC,CAACC,eAAT;AACD,CATD;;eAWeJ,0B"}
|
|
@@ -43,6 +43,12 @@ Object.defineProperty(exports, "getSortProps", {
|
|
|
43
43
|
return _getSortProps["default"];
|
|
44
44
|
}
|
|
45
45
|
});
|
|
46
|
+
Object.defineProperty(exports, "hasRequiredItemListDetails", {
|
|
47
|
+
enumerable: true,
|
|
48
|
+
get: function get() {
|
|
49
|
+
return _hasRequiredItemListDetails["default"];
|
|
50
|
+
}
|
|
51
|
+
});
|
|
46
52
|
Object.defineProperty(exports, "sortAggs", {
|
|
47
53
|
enumerable: true,
|
|
48
54
|
get: function get() {
|
|
@@ -63,4 +69,6 @@ var _sortAggs = _interopRequireDefault(require("./sort-aggs"));
|
|
|
63
69
|
var _getItemsPerPageToUse = _interopRequireDefault(require("./get-items-per-page-to-use"));
|
|
64
70
|
|
|
65
71
|
var _getSortProps = _interopRequireDefault(require("./get-sort-props"));
|
|
72
|
+
|
|
73
|
+
var _hasRequiredItemListDetails = _interopRequireDefault(require("./has-required-item-list-details"));
|
|
66
74
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/List/helpers/index.js"],"sourcesContent":["export { default as buildPaginationItems } from './build-pagination-items';\nexport { default as getAzQueryFilter } from './get-az-query-filter';\nexport { default as buildAzAggregations } from './build-az-aggregations';\nexport { default as buildAzUrl } from './build-az-url';\nexport { default as sortAggs } from './sort-aggs';\nexport { default as getItemsPerPageToUse } from './get-items-per-page-to-use';\nexport { default as getSortProps } from './get-sort-props';\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/List/helpers/index.js"],"sourcesContent":["export { default as buildPaginationItems } from './build-pagination-items';\nexport { default as getAzQueryFilter } from './get-az-query-filter';\nexport { default as buildAzAggregations } from './build-az-aggregations';\nexport { default as buildAzUrl } from './build-az-url';\nexport { default as sortAggs } from './sort-aggs';\nexport { default as getItemsPerPageToUse } from './get-items-per-page-to-use';\nexport { default as getSortProps } from './get-sort-props';\nexport { default as hasRequiredItemListDetails } from './has-required-item-list-details';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA"}
|
|
@@ -3,9 +3,11 @@ import PropTypes from 'prop-types';
|
|
|
3
3
|
import { useRouter } from 'next/router';
|
|
4
4
|
import { useQuery } from '@apollo/client';
|
|
5
5
|
import BlazeButton from '@blaze-react/button';
|
|
6
|
+
import { parseUrl } from 'query-string';
|
|
6
7
|
import { getItemList } from '../../../application/query';
|
|
7
8
|
import { useItemListId } from '../hooks';
|
|
8
9
|
import { getItemListData, setItemListId, setParamAndRedirect } from '../helpers';
|
|
10
|
+
import { LIST_ITEM_QUERY_PARAM } from '../constants';
|
|
9
11
|
|
|
10
12
|
const ItemListNew = ({
|
|
11
13
|
listName,
|
|
@@ -13,20 +15,26 @@ const ItemListNew = ({
|
|
|
13
15
|
text
|
|
14
16
|
}) => {
|
|
15
17
|
const router = useRouter();
|
|
18
|
+
const {
|
|
19
|
+
query: {
|
|
20
|
+
[LIST_ITEM_QUERY_PARAM]: listItemId
|
|
21
|
+
} = {}
|
|
22
|
+
} = parseUrl(router.asPath);
|
|
16
23
|
const {
|
|
17
24
|
listId
|
|
18
25
|
} = useItemListId({
|
|
19
26
|
listName
|
|
20
27
|
});
|
|
28
|
+
const listIdToUse = listItemId || listId;
|
|
21
29
|
const {
|
|
22
30
|
data,
|
|
23
31
|
error,
|
|
24
32
|
loading
|
|
25
33
|
} = useQuery(getItemList, {
|
|
26
34
|
variables: {
|
|
27
|
-
id:
|
|
35
|
+
id: listIdToUse
|
|
28
36
|
},
|
|
29
|
-
skip: !
|
|
37
|
+
skip: !listIdToUse
|
|
30
38
|
});
|
|
31
39
|
if (loading) return '';
|
|
32
40
|
if (error) return error.message;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ItemListNew.js","names":["React","PropTypes","useRouter","useQuery","BlazeButton","getItemList","useItemListId","getItemListData","setItemListId","setParamAndRedirect","ItemListNew","listName","modifier","text","router","listId","data","error","loading","variables","id","skip","message","listItems","length","handleClick","propTypes","string","isRequired","defaultProps"],"sources":["../../../../src/components/ItemList/ItemListNew/ItemListNew.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { useQuery } from '@apollo/client';\nimport BlazeButton from '@blaze-react/button';\nimport { getItemList } from '../../../application/query';\nimport { useItemListId } from '../hooks';\nimport { getItemListData, setItemListId, setParamAndRedirect } from '../helpers';\n\nconst ItemListNew = ({ listName, modifier, text }) => {\n const router = useRouter();\n const { listId } = useItemListId({ listName });\n
|
|
1
|
+
{"version":3,"file":"ItemListNew.js","names":["React","PropTypes","useRouter","useQuery","BlazeButton","parseUrl","getItemList","useItemListId","getItemListData","setItemListId","setParamAndRedirect","LIST_ITEM_QUERY_PARAM","ItemListNew","listName","modifier","text","router","query","listItemId","asPath","listId","listIdToUse","data","error","loading","variables","id","skip","message","listItems","length","handleClick","propTypes","string","isRequired","defaultProps"],"sources":["../../../../src/components/ItemList/ItemListNew/ItemListNew.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { useQuery } from '@apollo/client';\nimport BlazeButton from '@blaze-react/button';\nimport { parseUrl } from 'query-string';\nimport { getItemList } from '../../../application/query';\nimport { useItemListId } from '../hooks';\nimport { getItemListData, setItemListId, setParamAndRedirect } from '../helpers';\nimport { LIST_ITEM_QUERY_PARAM } from '../constants';\n\nconst ItemListNew = ({ listName, modifier, text }) => {\n const router = useRouter();\n const { query: { [LIST_ITEM_QUERY_PARAM]: listItemId } = {} } = parseUrl(router.asPath);\n\n const { listId } = useItemListId({ listName });\n const listIdToUse = listItemId || listId;\n const { data, error, loading } = useQuery(getItemList, {\n variables: { id: listIdToUse },\n skip: !listIdToUse\n });\n\n if (loading) return '';\n if (error) return error.message;\n\n const listItems = getItemListData(data);\n if (!listItems.length) return '';\n\n const handleClick = () => {\n setItemListId(listName, '');\n setParamAndRedirect(router);\n };\n\n return (\n <BlazeButton className={`item-list-new ${modifier}`} onClick={handleClick}>\n {text}\n </BlazeButton>\n );\n};\n\nItemListNew.propTypes = {\n listName: PropTypes.string.isRequired,\n modifier: PropTypes.string,\n text: PropTypes.string.isRequired\n};\n\nItemListNew.defaultProps = {\n modifier: ''\n};\n\nexport default ItemListNew;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,SAAT,QAA0B,aAA1B;AACA,SAASC,QAAT,QAAyB,gBAAzB;AACA,OAAOC,WAAP,MAAwB,qBAAxB;AACA,SAASC,QAAT,QAAyB,cAAzB;AACA,SAASC,WAAT,QAA4B,4BAA5B;AACA,SAASC,aAAT,QAA8B,UAA9B;AACA,SAASC,eAAT,EAA0BC,aAA1B,EAAyCC,mBAAzC,QAAoE,YAApE;AACA,SAASC,qBAAT,QAAsC,cAAtC;;AAEA,MAAMC,WAAW,GAAG,CAAC;EAAEC,QAAF;EAAYC,QAAZ;EAAsBC;AAAtB,CAAD,KAAkC;EACpD,MAAMC,MAAM,GAAGd,SAAS,EAAxB;EACA,MAAM;IAAEe,KAAK,EAAE;MAAE,CAACN,qBAAD,GAAyBO;IAA3B,IAA0C;EAAnD,IAA0Db,QAAQ,CAACW,MAAM,CAACG,MAAR,CAAxE;EAEA,MAAM;IAAEC;EAAF,IAAab,aAAa,CAAC;IAAEM;EAAF,CAAD,CAAhC;EACA,MAAMQ,WAAW,GAAGH,UAAU,IAAIE,MAAlC;EACA,MAAM;IAAEE,IAAF;IAAQC,KAAR;IAAeC;EAAf,IAA2BrB,QAAQ,CAACG,WAAD,EAAc;IACrDmB,SAAS,EAAE;MAAEC,EAAE,EAAEL;IAAN,CAD0C;IAErDM,IAAI,EAAE,CAACN;EAF8C,CAAd,CAAzC;EAKA,IAAIG,OAAJ,EAAa,OAAO,EAAP;EACb,IAAID,KAAJ,EAAW,OAAOA,KAAK,CAACK,OAAb;EAEX,MAAMC,SAAS,GAAGrB,eAAe,CAACc,IAAD,CAAjC;EACA,IAAI,CAACO,SAAS,CAACC,MAAf,EAAuB,OAAO,EAAP;;EAEvB,MAAMC,WAAW,GAAG,MAAM;IACxBtB,aAAa,CAACI,QAAD,EAAW,EAAX,CAAb;IACAH,mBAAmB,CAACM,MAAD,CAAnB;EACD,CAHD;;EAKA,oBACE,oBAAC,WAAD;IAAa,SAAS,EAAG,iBAAgBF,QAAS,EAAlD;IAAqD,OAAO,EAAEiB;EAA9D,GACGhB,IADH,CADF;AAKD,CA3BD;;AA6BAH,WAAW,CAACoB,SAAZ,GAAwB;EACtBnB,QAAQ,EAAEZ,SAAS,CAACgC,MAAV,CAAiBC,UADL;EAEtBpB,QAAQ,EAAEb,SAAS,CAACgC,MAFE;EAGtBlB,IAAI,EAAEd,SAAS,CAACgC,MAAV,CAAiBC;AAHD,CAAxB;AAMAtB,WAAW,CAACuB,YAAZ,GAA2B;EACzBrB,QAAQ,EAAE;AADe,CAA3B;AAIA,eAAeF,WAAf"}
|
|
@@ -13,9 +13,9 @@ import { MainContext } from '@blaze-cms/nextjs-components';
|
|
|
13
13
|
import { getSingleEntitySchema, generateSingleItemQuery, getItemList } from '../../application/query';
|
|
14
14
|
import ListBuilder from './ListBuilder';
|
|
15
15
|
import { AZ_LIST_TYPE } from './constants';
|
|
16
|
-
import { getAzQueryFilter, getSortProps } from './helpers';
|
|
16
|
+
import { getAzQueryFilter, getSortProps, hasRequiredItemListDetails } from './helpers';
|
|
17
17
|
import { getGenericProps, getRequiredSchemas, checkForError, getUnpublishedEntityName, getPaginationIndex, getSearchFilterType, getElasticsearchOperator, buildSearchValuesText, getQueryFilters, getInheritedFilters, getQueryProps } from '../../helpers';
|
|
18
|
-
import { getItemListId, getItemListIds
|
|
18
|
+
import { getItemListId, getItemListIds } from '../ItemList/helpers';
|
|
19
19
|
import { useGetEntitySchemasAsObj } from '../../hooks';
|
|
20
20
|
import { AND_OPERATOR, TEXT_SEARCH, ID, AND, FULL } from '../../constants';
|
|
21
21
|
|
|
@@ -121,11 +121,12 @@ const ListFactory = props => {
|
|
|
121
121
|
},
|
|
122
122
|
skip: !itemListId
|
|
123
123
|
});
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
124
|
+
if (!hasRequiredItemListDetails({
|
|
125
|
+
itemListName,
|
|
126
|
+
router,
|
|
127
|
+
itemListId,
|
|
128
|
+
queryItemListId
|
|
129
|
+
})) return '';
|
|
129
130
|
const errorsToCheck = [schemaError, schemasError, requiredSchemaError, itemQueryError, itemListError];
|
|
130
131
|
const {
|
|
131
132
|
hasErr,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListFactory.js","names":["React","useContext","useQuery","parseUrl","PropTypes","useRouter","MainContext","getSingleEntitySchema","generateSingleItemQuery","getItemList","ListBuilder","AZ_LIST_TYPE","getAzQueryFilter","getSortProps","getGenericProps","getRequiredSchemas","checkForError","getUnpublishedEntityName","getPaginationIndex","getSearchFilterType","getElasticsearchOperator","buildSearchValuesText","getQueryFilters","getInheritedFilters","getQueryProps","getItemListId","getItemListIds","setParamAndRedirect","useGetEntitySchemasAsObj","AND_OPERATOR","TEXT_SEARCH","ID","AND","FULL","ListFactory","props","entity","parent","name","filterByProperty","filterBy","omitWrappers","type","sortby","defaultSortBy","sort","defaultSort","searchFilter","operator","filterOperator","sortProperties","itemListName","isPreview","router","asPath","parsedQuery","replace","query","url","querySort","querySortBy","itemListId","queryItemListId","sortbyFilters","updatedSortProperties","itemEntity","itemId","itemEntityUpdated","paginationIndex","azFilter","data","entitySchema","error","schemaError","loading","schemaLoading","variables","id","mainSchemas","schemasLoading","schemasError","currentSchema","filterEntitySchema","requiredSchema","requiredSchemaLoading","requiredSchemaError","inheritedFilters","queryProps","actions","getAction","get","getPublished","entityData","itemQueryError","itemQueryLoading","skip","length","itemListData","itemListError","itemListLoading","errorsToCheck","hasErr","errMsg","itemListIds","isCard","isAZ","genericProps","textFilter","shouldApplyTextFilter","propsToDisplay","valuesText","valuesAnd","valuesOr","isTextSearchFilterApplied","search_term","searchValues","searchValuesText","searchValuesCheckboxSelectRange","searchValuesCheckboxOr","listProps","propTypes","object","isRequired","string","array","bool","defaultProps"],"sources":["../../../src/components/List/ListFactory.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport { useQuery } from '@apollo/client';\nimport { parseUrl } from 'query-string';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport {\n getSingleEntitySchema,\n generateSingleItemQuery,\n getItemList\n} from '../../application/query';\nimport ListBuilder from './ListBuilder';\nimport { AZ_LIST_TYPE } from './constants';\nimport { getAzQueryFilter, getSortProps } from './helpers';\nimport {\n getGenericProps,\n getRequiredSchemas,\n checkForError,\n getUnpublishedEntityName,\n getPaginationIndex,\n getSearchFilterType,\n getElasticsearchOperator,\n buildSearchValuesText,\n getQueryFilters,\n getInheritedFilters,\n getQueryProps\n} from '../../helpers';\nimport { getItemListId, getItemListIds, setParamAndRedirect } from '../ItemList/helpers';\nimport { useGetEntitySchemasAsObj } from '../../hooks';\nimport { AND_OPERATOR, TEXT_SEARCH, ID, AND, FULL } from '../../constants';\n\nconst ListFactory = props => {\n const {\n entity,\n parent,\n name,\n filterByProperty,\n filterBy,\n omitWrappers,\n type,\n sortby: defaultSortBy,\n sort: defaultSort,\n searchFilter,\n operator: filterOperator,\n sortProperties,\n itemListName\n } = props;\n const { isPreview } = useContext(MainContext);\n const router = useRouter();\n const { asPath } = router;\n const parsedQuery = asPath.replace(/%5D/g, ']').replace(/%5B/g, '[');\n const {\n query,\n url,\n query: { sort: querySort, sortby: querySortBy, itemListId: queryItemListId } = {}\n } = parseUrl(parsedQuery);\n const { sortbyFilters, updatedSortProperties } = getSortProps({\n querySort,\n sortProperties,\n defaultSort,\n querySortBy,\n defaultSortBy\n });\n\n const itemListId = getItemListId(itemListName, queryItemListId);\n const { itemEntity, itemId } = parent;\n const itemEntityUpdated = getUnpublishedEntityName(itemEntity);\n const paginationIndex = getPaginationIndex(query, name);\n const azFilter = getAzQueryFilter(query, name);\n\n const { data: entitySchema, error: schemaError, loading: schemaLoading } = useQuery(\n getSingleEntitySchema,\n {\n variables: { id: entity }\n }\n );\n const {\n data: mainSchemas = {},\n loading: schemasLoading,\n error: schemasError\n } = useGetEntitySchemasAsObj([itemEntityUpdated, entity]);\n\n const {\n [itemEntityUpdated]: currentSchema = {},\n [entity]: filterEntitySchema = {}\n } = mainSchemas;\n\n const {\n data: requiredSchema = {},\n loading: requiredSchemaLoading,\n error: requiredSchemaError\n } = useGetEntitySchemasAsObj(\n getRequiredSchemas([...filterByProperty, ...sortbyFilters], filterEntitySchema),\n schemasLoading\n );\n const inheritedFilters = getInheritedFilters(filterBy, filterByProperty);\n const queryProps = getQueryProps(inheritedFilters, currentSchema, filterEntitySchema);\n const { actions = {} } = currentSchema || {};\n const getAction = isPreview ? actions.get : actions.getPublished;\n\n const {\n data: { entityData = {} } = {},\n error: itemQueryError,\n loading: itemQueryLoading\n } = useQuery(generateSingleItemQuery(getAction, queryProps), {\n variables: { id: itemId },\n skip: schemasLoading || (!inheritedFilters.length && queryProps === ID)\n });\n\n const { data: itemListData = {}, error: itemListError, loading: itemListLoading } = useQuery(\n getItemList,\n {\n variables: { id: itemListId },\n skip: !itemListId\n }\n );\n if (!queryItemListId && itemListId) {\n setParamAndRedirect(router, itemListId);\n }\n\n const errorsToCheck = [\n schemaError,\n schemasError,\n requiredSchemaError,\n itemQueryError,\n itemListError\n ];\n const { hasErr, errMsg } = checkForError(errorsToCheck);\n\n if (\n requiredSchemaLoading ||\n schemasLoading ||\n schemaLoading ||\n itemQueryLoading ||\n itemListLoading\n )\n return '';\n if (hasErr) return errMsg;\n if (!entitySchema) return null;\n\n const itemListIds = getItemListIds(itemListData);\n const isCard = type !== FULL;\n const isAZ = type === AZ_LIST_TYPE;\n const genericProps = getGenericProps(props);\n const [textFilter] = getSearchFilterType(searchFilter, TEXT_SEARCH);\n const shouldApplyTextFilter = textFilter && textFilter.propsToDisplay.length;\n const operator = shouldApplyTextFilter ? getElasticsearchOperator(textFilter) : AND_OPERATOR;\n const valuesText = shouldApplyTextFilter ? buildSearchValuesText(textFilter, query) : [];\n const { valuesAnd, valuesOr } = getQueryFilters(searchFilter, query);\n const isTextSearchFilterApplied = !!(\n query.search_term &&\n searchFilter &&\n getSearchFilterType(searchFilter, TEXT_SEARCH).length\n );\n\n const searchValues = {\n searchValuesText: valuesText,\n searchValuesCheckboxSelectRange: valuesAnd,\n searchValuesCheckboxOr: valuesOr\n };\n const listProps = {\n ...props,\n ...genericProps,\n query,\n url,\n isCard,\n isAZ,\n router,\n entitySchema,\n sort: null,\n sortby: null,\n sortProperties: updatedSortProperties,\n azFilter,\n searchValues,\n filterEntitySchema,\n requiredSchema,\n currentSchema,\n omitWrappers,\n operator,\n isTextSearchFilterApplied,\n paginationIndex,\n entityData,\n inheritedFilters,\n filterOperator,\n itemListIds\n };\n\n return <ListBuilder {...listProps} />;\n};\n\nListFactory.propTypes = {\n parent: PropTypes.object.isRequired,\n entity: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n filterBy: PropTypes.array,\n filterByProperty: PropTypes.array,\n omitWrappers: PropTypes.bool,\n operator: PropTypes.string,\n name: PropTypes.string,\n sortby: PropTypes.array,\n sort: PropTypes.string,\n searchFilter: PropTypes.object,\n sortProperties: PropTypes.array,\n itemListName: PropTypes.string\n};\n\nListFactory.defaultProps = {\n filterBy: [],\n filterByProperty: [],\n omitWrappers: false,\n name: '',\n sortby: [],\n sortProperties: [],\n sort: '',\n operator: AND,\n searchFilter: {},\n itemListName: ''\n};\n\nexport default ListFactory;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ListFactory.js","names":["React","useContext","useQuery","parseUrl","PropTypes","useRouter","MainContext","getSingleEntitySchema","generateSingleItemQuery","getItemList","ListBuilder","AZ_LIST_TYPE","getAzQueryFilter","getSortProps","hasRequiredItemListDetails","getGenericProps","getRequiredSchemas","checkForError","getUnpublishedEntityName","getPaginationIndex","getSearchFilterType","getElasticsearchOperator","buildSearchValuesText","getQueryFilters","getInheritedFilters","getQueryProps","getItemListId","getItemListIds","useGetEntitySchemasAsObj","AND_OPERATOR","TEXT_SEARCH","ID","AND","FULL","ListFactory","props","entity","parent","name","filterByProperty","filterBy","omitWrappers","type","sortby","defaultSortBy","sort","defaultSort","searchFilter","operator","filterOperator","sortProperties","itemListName","isPreview","router","asPath","parsedQuery","replace","query","url","querySort","querySortBy","itemListId","queryItemListId","sortbyFilters","updatedSortProperties","itemEntity","itemId","itemEntityUpdated","paginationIndex","azFilter","data","entitySchema","error","schemaError","loading","schemaLoading","variables","id","mainSchemas","schemasLoading","schemasError","currentSchema","filterEntitySchema","requiredSchema","requiredSchemaLoading","requiredSchemaError","inheritedFilters","queryProps","actions","getAction","get","getPublished","entityData","itemQueryError","itemQueryLoading","skip","length","itemListData","itemListError","itemListLoading","errorsToCheck","hasErr","errMsg","itemListIds","isCard","isAZ","genericProps","textFilter","shouldApplyTextFilter","propsToDisplay","valuesText","valuesAnd","valuesOr","isTextSearchFilterApplied","search_term","searchValues","searchValuesText","searchValuesCheckboxSelectRange","searchValuesCheckboxOr","listProps","propTypes","object","isRequired","string","array","bool","defaultProps"],"sources":["../../../src/components/List/ListFactory.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport { useQuery } from '@apollo/client';\nimport { parseUrl } from 'query-string';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport {\n getSingleEntitySchema,\n generateSingleItemQuery,\n getItemList\n} from '../../application/query';\nimport ListBuilder from './ListBuilder';\nimport { AZ_LIST_TYPE } from './constants';\nimport { getAzQueryFilter, getSortProps, hasRequiredItemListDetails } from './helpers';\nimport {\n getGenericProps,\n getRequiredSchemas,\n checkForError,\n getUnpublishedEntityName,\n getPaginationIndex,\n getSearchFilterType,\n getElasticsearchOperator,\n buildSearchValuesText,\n getQueryFilters,\n getInheritedFilters,\n getQueryProps\n} from '../../helpers';\nimport { getItemListId, getItemListIds } from '../ItemList/helpers';\nimport { useGetEntitySchemasAsObj } from '../../hooks';\nimport { AND_OPERATOR, TEXT_SEARCH, ID, AND, FULL } from '../../constants';\n\nconst ListFactory = props => {\n const {\n entity,\n parent,\n name,\n filterByProperty,\n filterBy,\n omitWrappers,\n type,\n sortby: defaultSortBy,\n sort: defaultSort,\n searchFilter,\n operator: filterOperator,\n sortProperties,\n itemListName\n } = props;\n const { isPreview } = useContext(MainContext);\n const router = useRouter();\n const { asPath } = router;\n const parsedQuery = asPath.replace(/%5D/g, ']').replace(/%5B/g, '[');\n const {\n query,\n url,\n query: { sort: querySort, sortby: querySortBy, itemListId: queryItemListId } = {}\n } = parseUrl(parsedQuery);\n const { sortbyFilters, updatedSortProperties } = getSortProps({\n querySort,\n sortProperties,\n defaultSort,\n querySortBy,\n defaultSortBy\n });\n\n const itemListId = getItemListId(itemListName, queryItemListId);\n const { itemEntity, itemId } = parent;\n const itemEntityUpdated = getUnpublishedEntityName(itemEntity);\n const paginationIndex = getPaginationIndex(query, name);\n const azFilter = getAzQueryFilter(query, name);\n\n const { data: entitySchema, error: schemaError, loading: schemaLoading } = useQuery(\n getSingleEntitySchema,\n {\n variables: { id: entity }\n }\n );\n const {\n data: mainSchemas = {},\n loading: schemasLoading,\n error: schemasError\n } = useGetEntitySchemasAsObj([itemEntityUpdated, entity]);\n\n const {\n [itemEntityUpdated]: currentSchema = {},\n [entity]: filterEntitySchema = {}\n } = mainSchemas;\n\n const {\n data: requiredSchema = {},\n loading: requiredSchemaLoading,\n error: requiredSchemaError\n } = useGetEntitySchemasAsObj(\n getRequiredSchemas([...filterByProperty, ...sortbyFilters], filterEntitySchema),\n schemasLoading\n );\n const inheritedFilters = getInheritedFilters(filterBy, filterByProperty);\n const queryProps = getQueryProps(inheritedFilters, currentSchema, filterEntitySchema);\n const { actions = {} } = currentSchema || {};\n const getAction = isPreview ? actions.get : actions.getPublished;\n\n const {\n data: { entityData = {} } = {},\n error: itemQueryError,\n loading: itemQueryLoading\n } = useQuery(generateSingleItemQuery(getAction, queryProps), {\n variables: { id: itemId },\n skip: schemasLoading || (!inheritedFilters.length && queryProps === ID)\n });\n\n const { data: itemListData = {}, error: itemListError, loading: itemListLoading } = useQuery(\n getItemList,\n {\n variables: { id: itemListId },\n skip: !itemListId\n }\n );\n\n if (!hasRequiredItemListDetails({ itemListName, router, itemListId, queryItemListId })) return '';\n\n const errorsToCheck = [\n schemaError,\n schemasError,\n requiredSchemaError,\n itemQueryError,\n itemListError\n ];\n const { hasErr, errMsg } = checkForError(errorsToCheck);\n\n if (\n requiredSchemaLoading ||\n schemasLoading ||\n schemaLoading ||\n itemQueryLoading ||\n itemListLoading\n )\n return '';\n if (hasErr) return errMsg;\n if (!entitySchema) return null;\n\n const itemListIds = getItemListIds(itemListData);\n const isCard = type !== FULL;\n const isAZ = type === AZ_LIST_TYPE;\n const genericProps = getGenericProps(props);\n const [textFilter] = getSearchFilterType(searchFilter, TEXT_SEARCH);\n const shouldApplyTextFilter = textFilter && textFilter.propsToDisplay.length;\n const operator = shouldApplyTextFilter ? getElasticsearchOperator(textFilter) : AND_OPERATOR;\n const valuesText = shouldApplyTextFilter ? buildSearchValuesText(textFilter, query) : [];\n const { valuesAnd, valuesOr } = getQueryFilters(searchFilter, query);\n const isTextSearchFilterApplied = !!(\n query.search_term &&\n searchFilter &&\n getSearchFilterType(searchFilter, TEXT_SEARCH).length\n );\n\n const searchValues = {\n searchValuesText: valuesText,\n searchValuesCheckboxSelectRange: valuesAnd,\n searchValuesCheckboxOr: valuesOr\n };\n const listProps = {\n ...props,\n ...genericProps,\n query,\n url,\n isCard,\n isAZ,\n router,\n entitySchema,\n sort: null,\n sortby: null,\n sortProperties: updatedSortProperties,\n azFilter,\n searchValues,\n filterEntitySchema,\n requiredSchema,\n currentSchema,\n omitWrappers,\n operator,\n isTextSearchFilterApplied,\n paginationIndex,\n entityData,\n inheritedFilters,\n filterOperator,\n itemListIds\n };\n\n return <ListBuilder {...listProps} />;\n};\n\nListFactory.propTypes = {\n parent: PropTypes.object.isRequired,\n entity: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n filterBy: PropTypes.array,\n filterByProperty: PropTypes.array,\n omitWrappers: PropTypes.bool,\n operator: PropTypes.string,\n name: PropTypes.string,\n sortby: PropTypes.array,\n sort: PropTypes.string,\n searchFilter: PropTypes.object,\n sortProperties: PropTypes.array,\n itemListName: PropTypes.string\n};\n\nListFactory.defaultProps = {\n filterBy: [],\n filterByProperty: [],\n omitWrappers: false,\n name: '',\n sortby: [],\n sortProperties: [],\n sort: '',\n operator: AND,\n searchFilter: {},\n itemListName: ''\n};\n\nexport default ListFactory;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { setParamAndRedirect } from '../../ItemList/helpers';
|
|
2
|
+
|
|
3
|
+
const hasRequiredItemListDetails = ({
|
|
4
|
+
itemListName,
|
|
5
|
+
router,
|
|
6
|
+
itemListId,
|
|
7
|
+
queryItemListId
|
|
8
|
+
}) => {
|
|
9
|
+
if (!itemListName) return true;
|
|
10
|
+
|
|
11
|
+
if (!queryItemListId && itemListId) {
|
|
12
|
+
setParamAndRedirect(router, itemListId);
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
return !!queryItemListId;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export default hasRequiredItemListDetails;
|
|
20
|
+
//# sourceMappingURL=has-required-item-list-details.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"has-required-item-list-details.js","names":["setParamAndRedirect","hasRequiredItemListDetails","itemListName","router","itemListId","queryItemListId"],"sources":["../../../../src/components/List/helpers/has-required-item-list-details.js"],"sourcesContent":["import { setParamAndRedirect } from '../../ItemList/helpers';\n\nconst hasRequiredItemListDetails = ({ itemListName, router, itemListId, queryItemListId }) => {\n if (!itemListName) return true;\n\n if (!queryItemListId && itemListId) {\n setParamAndRedirect(router, itemListId);\n return false;\n }\n\n return !!queryItemListId;\n};\n\nexport default hasRequiredItemListDetails;\n"],"mappings":"AAAA,SAASA,mBAAT,QAAoC,wBAApC;;AAEA,MAAMC,0BAA0B,GAAG,CAAC;EAAEC,YAAF;EAAgBC,MAAhB;EAAwBC,UAAxB;EAAoCC;AAApC,CAAD,KAA2D;EAC5F,IAAI,CAACH,YAAL,EAAmB,OAAO,IAAP;;EAEnB,IAAI,CAACG,eAAD,IAAoBD,UAAxB,EAAoC;IAClCJ,mBAAmB,CAACG,MAAD,EAASC,UAAT,CAAnB;IACA,OAAO,KAAP;EACD;;EAED,OAAO,CAAC,CAACC,eAAT;AACD,CATD;;AAWA,eAAeJ,0BAAf"}
|
|
@@ -5,4 +5,5 @@ export { default as buildAzUrl } from './build-az-url';
|
|
|
5
5
|
export { default as sortAggs } from './sort-aggs';
|
|
6
6
|
export { default as getItemsPerPageToUse } from './get-items-per-page-to-use';
|
|
7
7
|
export { default as getSortProps } from './get-sort-props';
|
|
8
|
+
export { default as hasRequiredItemListDetails } from './has-required-item-list-details';
|
|
8
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["default","buildPaginationItems","getAzQueryFilter","buildAzAggregations","buildAzUrl","sortAggs","getItemsPerPageToUse","getSortProps"],"sources":["../../../../src/components/List/helpers/index.js"],"sourcesContent":["export { default as buildPaginationItems } from './build-pagination-items';\nexport { default as getAzQueryFilter } from './get-az-query-filter';\nexport { default as buildAzAggregations } from './build-az-aggregations';\nexport { default as buildAzUrl } from './build-az-url';\nexport { default as sortAggs } from './sort-aggs';\nexport { default as getItemsPerPageToUse } from './get-items-per-page-to-use';\nexport { default as getSortProps } from './get-sort-props';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,oBAApB,QAAgD,0BAAhD;AACA,SAASD,OAAO,IAAIE,gBAApB,QAA4C,uBAA5C;AACA,SAASF,OAAO,IAAIG,mBAApB,QAA+C,yBAA/C;AACA,SAASH,OAAO,IAAII,UAApB,QAAsC,gBAAtC;AACA,SAASJ,OAAO,IAAIK,QAApB,QAAoC,aAApC;AACA,SAASL,OAAO,IAAIM,oBAApB,QAAgD,6BAAhD;AACA,SAASN,OAAO,IAAIO,YAApB,QAAwC,kBAAxC"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["default","buildPaginationItems","getAzQueryFilter","buildAzAggregations","buildAzUrl","sortAggs","getItemsPerPageToUse","getSortProps","hasRequiredItemListDetails"],"sources":["../../../../src/components/List/helpers/index.js"],"sourcesContent":["export { default as buildPaginationItems } from './build-pagination-items';\nexport { default as getAzQueryFilter } from './get-az-query-filter';\nexport { default as buildAzAggregations } from './build-az-aggregations';\nexport { default as buildAzUrl } from './build-az-url';\nexport { default as sortAggs } from './sort-aggs';\nexport { default as getItemsPerPageToUse } from './get-items-per-page-to-use';\nexport { default as getSortProps } from './get-sort-props';\nexport { default as hasRequiredItemListDetails } from './has-required-item-list-details';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,oBAApB,QAAgD,0BAAhD;AACA,SAASD,OAAO,IAAIE,gBAApB,QAA4C,uBAA5C;AACA,SAASF,OAAO,IAAIG,mBAApB,QAA+C,yBAA/C;AACA,SAASH,OAAO,IAAII,UAApB,QAAsC,gBAAtC;AACA,SAASJ,OAAO,IAAIK,QAApB,QAAoC,aAApC;AACA,SAASL,OAAO,IAAIM,oBAApB,QAAgD,6BAAhD;AACA,SAASN,OAAO,IAAIO,YAApB,QAAwC,kBAAxC;AACA,SAASP,OAAO,IAAIQ,0BAApB,QAAsD,kCAAtD"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blaze-cms/react-page-builder",
|
|
3
|
-
"version": "0.124.0-alpha.
|
|
3
|
+
"version": "0.124.0-alpha.34",
|
|
4
4
|
"description": "Blaze react page builder",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib-es/index.js",
|
|
@@ -85,5 +85,5 @@
|
|
|
85
85
|
"lib/*",
|
|
86
86
|
"lib-es/*"
|
|
87
87
|
],
|
|
88
|
-
"gitHead": "
|
|
88
|
+
"gitHead": "a4f72388709e1c0f77565e5cbce6d8ed8b553d17"
|
|
89
89
|
}
|
|
@@ -3,17 +3,21 @@ import PropTypes from 'prop-types';
|
|
|
3
3
|
import { useRouter } from 'next/router';
|
|
4
4
|
import { useQuery } from '@apollo/client';
|
|
5
5
|
import BlazeButton from '@blaze-react/button';
|
|
6
|
+
import { parseUrl } from 'query-string';
|
|
6
7
|
import { getItemList } from '../../../application/query';
|
|
7
8
|
import { useItemListId } from '../hooks';
|
|
8
9
|
import { getItemListData, setItemListId, setParamAndRedirect } from '../helpers';
|
|
10
|
+
import { LIST_ITEM_QUERY_PARAM } from '../constants';
|
|
9
11
|
|
|
10
12
|
const ItemListNew = ({ listName, modifier, text }) => {
|
|
11
13
|
const router = useRouter();
|
|
12
|
-
const {
|
|
14
|
+
const { query: { [LIST_ITEM_QUERY_PARAM]: listItemId } = {} } = parseUrl(router.asPath);
|
|
13
15
|
|
|
16
|
+
const { listId } = useItemListId({ listName });
|
|
17
|
+
const listIdToUse = listItemId || listId;
|
|
14
18
|
const { data, error, loading } = useQuery(getItemList, {
|
|
15
|
-
variables: { id:
|
|
16
|
-
skip: !
|
|
19
|
+
variables: { id: listIdToUse },
|
|
20
|
+
skip: !listIdToUse
|
|
17
21
|
});
|
|
18
22
|
|
|
19
23
|
if (loading) return '';
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
} from '../../application/query';
|
|
12
12
|
import ListBuilder from './ListBuilder';
|
|
13
13
|
import { AZ_LIST_TYPE } from './constants';
|
|
14
|
-
import { getAzQueryFilter, getSortProps } from './helpers';
|
|
14
|
+
import { getAzQueryFilter, getSortProps, hasRequiredItemListDetails } from './helpers';
|
|
15
15
|
import {
|
|
16
16
|
getGenericProps,
|
|
17
17
|
getRequiredSchemas,
|
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
getInheritedFilters,
|
|
26
26
|
getQueryProps
|
|
27
27
|
} from '../../helpers';
|
|
28
|
-
import { getItemListId, getItemListIds
|
|
28
|
+
import { getItemListId, getItemListIds } from '../ItemList/helpers';
|
|
29
29
|
import { useGetEntitySchemasAsObj } from '../../hooks';
|
|
30
30
|
import { AND_OPERATOR, TEXT_SEARCH, ID, AND, FULL } from '../../constants';
|
|
31
31
|
|
|
@@ -114,9 +114,8 @@ const ListFactory = props => {
|
|
|
114
114
|
skip: !itemListId
|
|
115
115
|
}
|
|
116
116
|
);
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
}
|
|
117
|
+
|
|
118
|
+
if (!hasRequiredItemListDetails({ itemListName, router, itemListId, queryItemListId })) return '';
|
|
120
119
|
|
|
121
120
|
const errorsToCheck = [
|
|
122
121
|
schemaError,
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { setParamAndRedirect } from '../../ItemList/helpers';
|
|
2
|
+
|
|
3
|
+
const hasRequiredItemListDetails = ({ itemListName, router, itemListId, queryItemListId }) => {
|
|
4
|
+
if (!itemListName) return true;
|
|
5
|
+
|
|
6
|
+
if (!queryItemListId && itemListId) {
|
|
7
|
+
setParamAndRedirect(router, itemListId);
|
|
8
|
+
return false;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
return !!queryItemListId;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export default hasRequiredItemListDetails;
|
|
@@ -5,3 +5,4 @@ export { default as buildAzUrl } from './build-az-url';
|
|
|
5
5
|
export { default as sortAggs } from './sort-aggs';
|
|
6
6
|
export { default as getItemsPerPageToUse } from './get-items-per-page-to-use';
|
|
7
7
|
export { default as getSortProps } from './get-sort-props';
|
|
8
|
+
export { default as hasRequiredItemListDetails } from './has-required-item-list-details';
|
|
@@ -2,13 +2,19 @@ import React from 'react';
|
|
|
2
2
|
import '@testing-library/jest-dom/extend-expect';
|
|
3
3
|
import { render, waitFor, fireEvent } from '@testing-library/react';
|
|
4
4
|
import { MockedProvider } from '@apollo/client/testing';
|
|
5
|
-
|
|
5
|
+
import { useRouter } from 'next/router';
|
|
6
6
|
import ItemListNew from '../../../../../src/components/ItemList/ItemListNew';
|
|
7
7
|
import { getItemList } from '../../../../../src/application/query';
|
|
8
8
|
import userItemListId from '../../../../../src/components/ItemList/hooks/use-item-list-id';
|
|
9
9
|
import getItemListData from '../../../../../src/components/ItemList/helpers/get-item-list-data';
|
|
10
10
|
import setItemListId from '../../../../../src/components/ItemList/helpers/set-item-list-id';
|
|
11
11
|
import setParamAndRedirect from '../../../../../src/components/ItemList/helpers/set-param-and-redirect';
|
|
12
|
+
import { LIST_ITEM_QUERY_PARAM } from '../../../../../src/components/ItemList/constants';
|
|
13
|
+
|
|
14
|
+
jest.mock('next/router', () => {
|
|
15
|
+
const useRouterMock = jest.fn(() => ({ asPath: '/test' }));
|
|
16
|
+
return { useRouter: useRouterMock };
|
|
17
|
+
});
|
|
12
18
|
|
|
13
19
|
jest.mock('../../../../../src/components/ItemList/hooks/use-item-list-id', () =>
|
|
14
20
|
jest.fn(() => ({ listId: 'LIST ID' }))
|
|
@@ -33,6 +39,8 @@ jest.mock('../../../../../src/components/ItemList/helpers/get-item-list-data', (
|
|
|
33
39
|
const listId = 'LIST ID';
|
|
34
40
|
const missingListId = 'MISSING';
|
|
35
41
|
const emptyListId = 'EMPTY';
|
|
42
|
+
const queryListId = 'QUERY-LIST-ID';
|
|
43
|
+
const queryListItem = { itemId: 'ID FROM QUERY', itemEntity: 'ENTITY' };
|
|
36
44
|
const mocks = [
|
|
37
45
|
{
|
|
38
46
|
request: {
|
|
@@ -66,6 +74,17 @@ const mocks = [
|
|
|
66
74
|
getItemList: { id: emptyListId, listItems: [] }
|
|
67
75
|
}
|
|
68
76
|
}
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
request: {
|
|
80
|
+
query: getItemList,
|
|
81
|
+
variables: { id: queryListId }
|
|
82
|
+
},
|
|
83
|
+
result: {
|
|
84
|
+
data: {
|
|
85
|
+
getItemList: { id: queryListId, listItems: [queryListItem] }
|
|
86
|
+
}
|
|
87
|
+
}
|
|
69
88
|
}
|
|
70
89
|
];
|
|
71
90
|
|
|
@@ -102,6 +121,23 @@ describe('ItemListNew component', () => {
|
|
|
102
121
|
expect(asFragment()).toMatchSnapshot();
|
|
103
122
|
});
|
|
104
123
|
|
|
124
|
+
it('should render using listId from query', async () => {
|
|
125
|
+
userItemListId.mockReturnValue({ listId });
|
|
126
|
+
const queryStringPath = { asPath: `/test?${LIST_ITEM_QUERY_PARAM}=${queryListId}` };
|
|
127
|
+
useRouter.mockReturnValueOnce(queryStringPath).mockReturnValueOnce(queryStringPath);
|
|
128
|
+
const { asFragment } = render(
|
|
129
|
+
<MockedProvider mocks={mocks}>
|
|
130
|
+
<ItemListNew {...props} listName={queryListId} />
|
|
131
|
+
</MockedProvider>
|
|
132
|
+
);
|
|
133
|
+
|
|
134
|
+
await waitFor(() => expect(getItemListData).toHaveBeenCalled());
|
|
135
|
+
expect(getItemListData).toHaveBeenCalledWith({
|
|
136
|
+
getItemList: { id: queryListId, listItems: [queryListItem] }
|
|
137
|
+
});
|
|
138
|
+
expect(asFragment()).toMatchSnapshot();
|
|
139
|
+
});
|
|
140
|
+
|
|
105
141
|
it('should not render if list has not items', async () => {
|
|
106
142
|
userItemListId.mockReturnValue({ listId: emptyListId });
|
|
107
143
|
const { asFragment } = render(
|
|
@@ -14,3 +14,14 @@ exports[`ItemListNew component should match snapshot and render without throwing
|
|
|
14
14
|
exports[`ItemListNew component should not render if list has not items 1`] = `<DocumentFragment />`;
|
|
15
15
|
|
|
16
16
|
exports[`ItemListNew component should not render if list not found 1`] = `<DocumentFragment />`;
|
|
17
|
+
|
|
18
|
+
exports[`ItemListNew component should render using listId from query 1`] = `
|
|
19
|
+
<DocumentFragment>
|
|
20
|
+
<button
|
|
21
|
+
class="item-list-new button"
|
|
22
|
+
type="button"
|
|
23
|
+
>
|
|
24
|
+
Clear list
|
|
25
|
+
</button>
|
|
26
|
+
</DocumentFragment>
|
|
27
|
+
`;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import hasRequiredItemListDetails from '../../../../../../src/components/List/helpers/has-required-item-list-details';
|
|
2
|
+
import setParamAndRedirect from '../../../../../../src/components/ItemList/helpers/set-param-and-redirect';
|
|
3
|
+
|
|
4
|
+
jest.mock('../../../../../../src/components/ItemList/helpers/set-param-and-redirect', () =>
|
|
5
|
+
jest.fn()
|
|
6
|
+
);
|
|
7
|
+
|
|
8
|
+
describe('hasRequiredItemListDetails helper function', () => {
|
|
9
|
+
const itemListId = 'localstorage id';
|
|
10
|
+
const router = {};
|
|
11
|
+
const itemListName = 'LIST NAME';
|
|
12
|
+
const queryItemListId = 'query id';
|
|
13
|
+
|
|
14
|
+
it('should return true if no itemListName', () => {
|
|
15
|
+
expect(hasRequiredItemListDetails({})).toEqual(true);
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
it('should call setParamAndRedirect if queryItemListId not set and itemListId is', () => {
|
|
19
|
+
expect(hasRequiredItemListDetails({ itemListName, itemListId, router })).toEqual(false);
|
|
20
|
+
expect(setParamAndRedirect).toHaveBeenCalledWith(router, itemListId);
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
it('should return false if no queryItemListId and itemListId', () => {
|
|
24
|
+
expect(hasRequiredItemListDetails({ itemListName })).toEqual(false);
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
it('should return true queryItemListId is set', () => {
|
|
28
|
+
expect(hasRequiredItemListDetails({ itemListName, queryItemListId })).toEqual(true);
|
|
29
|
+
});
|
|
30
|
+
});
|