@blaze-cms/react-page-builder 0.124.0-alpha.31 → 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 +30 -0
- package/README.md +8 -0
- package/lib/application/query/index.js +1 -1
- package/lib/application/query/index.js.map +1 -1
- package/lib/components/{ItemListButton → ItemList/ItemListButton}/ItemListButton.js +22 -32
- package/lib/components/ItemList/ItemListButton/ItemListButton.js.map +1 -0
- package/lib/components/{ItemListButton → ItemList/ItemListButton}/index.js +0 -0
- package/lib/components/ItemList/ItemListButton/index.js.map +1 -0
- package/lib/components/ItemList/ItemListCounter/ItemListCounter.js +83 -0
- package/lib/components/ItemList/ItemListCounter/ItemListCounter.js.map +1 -0
- package/lib/components/{ItemListCounter → ItemList/ItemListCounter}/index.js +0 -0
- package/lib/components/ItemList/ItemListCounter/index.js.map +1 -0
- package/lib/components/ItemList/ItemListNew/ItemListNew.js +87 -0
- package/lib/components/ItemList/ItemListNew/ItemListNew.js.map +1 -0
- package/lib/components/ItemList/ItemListNew/index.js +16 -0
- package/lib/components/ItemList/ItemListNew/index.js.map +1 -0
- package/lib/components/ItemList/constants.js +19 -0
- package/lib/components/ItemList/constants.js.map +1 -0
- package/lib/{helpers → components/ItemList/helpers}/get-item-list-data.js +0 -0
- package/lib/components/ItemList/helpers/get-item-list-data.js.map +1 -0
- package/lib/{helpers → components/ItemList/helpers}/get-item-list-id.js +0 -0
- package/lib/components/ItemList/helpers/get-item-list-id.js.map +1 -0
- package/lib/{helpers → components/ItemList/helpers}/get-item-list-ids.js +0 -0
- package/lib/components/ItemList/helpers/get-item-list-ids.js.map +1 -0
- package/lib/components/ItemList/helpers/index.js +50 -0
- package/lib/components/ItemList/helpers/index.js.map +1 -0
- package/lib/components/ItemList/helpers/set-item-list-id.js +22 -0
- package/lib/components/ItemList/helpers/set-item-list-id.js.map +1 -0
- package/lib/components/ItemList/helpers/set-param-and-redirect.js +51 -0
- package/lib/components/ItemList/helpers/set-param-and-redirect.js.map +1 -0
- package/lib/components/ItemList/hooks/index.js +18 -0
- package/lib/components/ItemList/hooks/index.js.map +1 -0
- package/lib/components/ItemList/hooks/use-item-list-id.js +45 -0
- package/lib/components/ItemList/hooks/use-item-list-id.js.map +1 -0
- package/lib/components/List/ListFactory.js +10 -8
- 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/components/SearchContent/SearchContent.js +11 -1
- package/lib/components/SearchContent/SearchContent.js.map +1 -1
- package/lib/components/index.js +7 -2
- package/lib/components/index.js.map +1 -1
- package/lib/constants/index.js +2 -4
- package/lib/constants/index.js.map +1 -1
- package/lib/helpers/index.js +0 -24
- package/lib/helpers/index.js.map +1 -1
- package/lib-es/application/query/index.js +1 -0
- package/lib-es/application/query/index.js.map +1 -1
- package/lib-es/components/{ItemListButton → ItemList/ItemListButton}/ItemListButton.js +16 -23
- package/lib-es/components/ItemList/ItemListButton/ItemListButton.js.map +1 -0
- package/lib-es/components/{ItemListButton → ItemList/ItemListButton}/index.js +0 -0
- package/lib-es/components/ItemList/ItemListButton/index.js.map +1 -0
- package/lib-es/components/{ItemListCounter → ItemList/ItemListCounter}/ItemListCounter.js +9 -16
- package/lib-es/components/ItemList/ItemListCounter/ItemListCounter.js.map +1 -0
- package/lib-es/components/{ItemListCounter → ItemList/ItemListCounter}/index.js +0 -0
- package/lib-es/components/ItemList/ItemListCounter/index.js.map +1 -0
- package/lib-es/components/ItemList/ItemListNew/ItemListNew.js +64 -0
- package/lib-es/components/ItemList/ItemListNew/ItemListNew.js.map +1 -0
- package/lib-es/components/ItemList/ItemListNew/index.js +3 -0
- package/lib-es/components/ItemList/ItemListNew/index.js.map +1 -0
- package/lib-es/components/ItemList/constants.js +6 -0
- package/lib-es/components/ItemList/constants.js.map +1 -0
- package/lib-es/{helpers → components/ItemList/helpers}/get-item-list-data.js +0 -0
- package/lib-es/components/ItemList/helpers/get-item-list-data.js.map +1 -0
- package/lib-es/{helpers → components/ItemList/helpers}/get-item-list-id.js +0 -0
- package/lib-es/components/ItemList/helpers/get-item-list-id.js.map +1 -0
- package/lib-es/{helpers → components/ItemList/helpers}/get-item-list-ids.js +0 -0
- package/lib-es/components/ItemList/helpers/get-item-list-ids.js.map +1 -0
- package/lib-es/components/ItemList/helpers/index.js +6 -0
- package/lib-es/components/ItemList/helpers/index.js.map +1 -0
- package/lib-es/components/ItemList/helpers/set-item-list-id.js +10 -0
- package/lib-es/components/ItemList/helpers/set-item-list-id.js.map +1 -0
- package/lib-es/components/ItemList/helpers/set-param-and-redirect.js +20 -0
- package/lib-es/components/ItemList/helpers/set-param-and-redirect.js.map +1 -0
- package/lib-es/components/ItemList/hooks/index.js +2 -0
- package/lib-es/components/ItemList/hooks/index.js.map +1 -0
- package/lib-es/components/ItemList/hooks/use-item-list-id.js +26 -0
- package/lib-es/components/ItemList/hooks/use-item-list-id.js.map +1 -0
- package/lib-es/components/List/ListFactory.js +9 -9
- 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/lib-es/components/SearchContent/SearchContent.js +10 -2
- package/lib-es/components/SearchContent/SearchContent.js.map +1 -1
- package/lib-es/components/index.js +5 -2
- package/lib-es/components/index.js.map +1 -1
- package/lib-es/constants/index.js +1 -2
- package/lib-es/constants/index.js.map +1 -1
- package/lib-es/helpers/index.js +0 -3
- package/lib-es/helpers/index.js.map +1 -1
- package/package.json +2 -2
- package/src/application/query/index.js +1 -0
- package/src/components/{ItemListButton → ItemList/ItemListButton}/ItemListButton.js +13 -26
- package/src/components/{ItemListButton → ItemList/ItemListButton}/index.js +0 -0
- package/src/components/{ItemListCounter → ItemList/ItemListCounter}/ItemListCounter.js +5 -21
- package/src/components/{ItemListCounter → ItemList/ItemListCounter}/index.js +0 -0
- package/src/components/ItemList/ItemListNew/ItemListNew.js +51 -0
- package/src/components/ItemList/ItemListNew/index.js +3 -0
- package/src/components/ItemList/constants.js +5 -0
- package/src/{helpers → components/ItemList/helpers}/get-item-list-data.js +0 -0
- package/src/{helpers → components/ItemList/helpers}/get-item-list-id.js +0 -0
- package/src/{helpers → components/ItemList/helpers}/get-item-list-ids.js +0 -0
- package/src/components/ItemList/helpers/index.js +5 -0
- package/src/components/ItemList/helpers/set-item-list-id.js +9 -0
- package/src/components/ItemList/helpers/set-param-and-redirect.js +20 -0
- package/src/components/ItemList/hooks/index.js +1 -0
- package/src/components/ItemList/hooks/use-item-list-id.js +27 -0
- package/src/components/List/ListFactory.js +5 -7
- package/src/components/List/helpers/has-required-item-list-details.js +14 -0
- package/src/components/List/helpers/index.js +1 -0
- package/src/components/SearchContent/SearchContent.js +14 -2
- package/src/components/index.js +5 -2
- package/src/constants/index.js +1 -4
- package/src/helpers/index.js +0 -3
- package/tests/unit/src/components/ItemList/ItemListButton.test.js +175 -0
- package/tests/unit/src/components/ItemList/ItemListCounter.test.js +65 -0
- package/tests/unit/src/components/ItemList/ItemListNew.test.js +164 -0
- package/tests/unit/src/components/ItemList/__snapshots__/ItemListButton.test.js.snap +107 -0
- package/tests/unit/src/components/ItemList/__snapshots__/ItemListCounter.test.js.snap +31 -0
- package/tests/unit/src/components/ItemList/__snapshots__/ItemListNew.test.js.snap +27 -0
- package/tests/unit/src/{helpers → components/ItemList/helpers}/get-item-list-data.test.js +1 -1
- package/tests/unit/src/{helpers → components/ItemList/helpers}/get-item-list-id.test.js +1 -1
- package/tests/unit/src/{helpers → components/ItemList/helpers}/get-item-list-ids.test.js +1 -1
- package/tests/unit/src/components/ItemList/helpers/set-item-list-id.test.js +13 -0
- package/tests/unit/src/components/ItemList/helpers/set-param-and-redirect.test.js +30 -0
- package/tests/unit/src/components/ItemList/hooks/use-item-list-id.test.js +32 -0
- package/tests/unit/src/components/List/helpers/has-required-item-list-details.test.js +30 -0
- package/tests/unit/src/components/__snapshots__/index.test.js.snap +4 -0
- package/lib/components/ItemListButton/ItemListButton.js.map +0 -1
- package/lib/components/ItemListButton/index.js.map +0 -1
- package/lib/components/ItemListCounter/ItemListCounter.js +0 -114
- package/lib/components/ItemListCounter/ItemListCounter.js.map +0 -1
- package/lib/components/ItemListCounter/index.js.map +0 -1
- package/lib/helpers/get-item-list-data.js.map +0 -1
- package/lib/helpers/get-item-list-id.js.map +0 -1
- package/lib/helpers/get-item-list-ids.js.map +0 -1
- package/lib-es/components/ItemListButton/ItemListButton.js.map +0 -1
- package/lib-es/components/ItemListButton/index.js.map +0 -1
- package/lib-es/components/ItemListCounter/ItemListCounter.js.map +0 -1
- package/lib-es/components/ItemListCounter/index.js.map +0 -1
- package/lib-es/helpers/get-item-list-data.js.map +0 -1
- package/lib-es/helpers/get-item-list-id.js.map +0 -1
- package/lib-es/helpers/get-item-list-ids.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["gql","upperFirst","defaultSchemaProps","getSearchPublishedContent","fields","getUser","userProps","getEntitySchema","getSingleEntitySchema","getRecordParents","queryName","getMultipleSchema","identifiers","queryString","map","id","join","getFiles","getFileById","getCount","action","generateQuery","props","generateMultiItemQuery","generateSingleItemQuery","getAction","query","getPublishedContent","entity","getItemList","addItemsToList","removeItemsFromList"],"sources":["../../../src/application/query/index.js"],"sourcesContent":["import { gql } from '@apollo/client';\nimport upperFirst from 'lodash.upperfirst';\n\nconst defaultSchemaProps = `\n id\n identifier\n properties\n dynamicProperties\n actions\n interfaces\n relations\n __typename\n`;\n\nconst getSearchPublishedContent = fields => gql`\n query searchPublishedContent($rawQueryStringified: String!, $offset: Int, $limit: Int, $sort: String) {\n searchPublishedContent(rawQueryStringified: $rawQueryStringified, offset: $offset, limit: $limit, sort: $sort) {\n ${fields}\n }\n }\n `;\n\nconst getUser = userProps => gql`\n query getUser($id: String!) {\n getUser(id: $id) {\n id\n ${userProps}\n }\n }\n`;\n\nconst getEntitySchema = gql`\n query getEntitySchemas($identifier: String!) {\n getEntitySchemas(identifier: $identifier) {\n ${defaultSchemaProps}\n }\n }\n`;\n\nconst getSingleEntitySchema = gql`\n query getEntitySchema($id: String!) {\n getEntitySchema: getEntitySchema(id: $id) {\n ${defaultSchemaProps}\n }\n }\n`;\n\nconst getRecordParents = queryName => gql`\nquery getRecordParents($id: String!){\n recordParents: ${queryName}(id: $id){\n id,\n name,\n url,\n parents {\n id,\n name\n url\n }\n }\n}`;\n\nconst getMultipleSchema = identifiers => {\n const queryString = identifiers\n .map(\n id => `${id}: getEntitySchema(id: \"${id}\") {\n ${defaultSchemaProps}\n }`\n )\n .join(`\\n`);\n return gql`\n query {\n ${queryString}\n }`;\n};\n\nconst getFiles = gql`\n query getFiles($where: JSON!) {\n getFiles(where: $where) {\n id\n url\n data\n }\n }\n`;\n\nconst getFileById = gql`\n query getFile($id: String!) {\n getFile(id: $id) {\n id\n url\n data\n }\n }\n`;\n\nconst getCount = action => gql`query countData($where: JSON!) {\n ${action} (where: $where)\n }\n`;\n\nconst generateQuery = (action, props) => `\n query getEntityData(\n $where: JSON\n $limit: Int\n $offset: Int\n $sort: [${upperFirst(action)}SortItem]){\n ${action} (where: $where, limit: $limit, offset: $offset, sort: $sort){\n ${props}\n id\n __typename\n }\n }\n `;\nconst generateMultiItemQuery = (action, props) => gql`\n query getEntityData($where: JSON){\n ${action} (where: $where){\n ${props}\n id\n __typename\n }\n }\n `;\n\nconst generateSingleItemQuery = (action, props) => gql`\n query getEntityData($id: String!){\n entityData: ${action}(id: $id){\n ${props},\n id,\n __typename\n }\n }\n `;\n\n// TODO: extend function to handle properties and make them dynamic with a config schema for each entity.\nconst getAction = (action, props) => {\n const query = generateQuery(action, props);\n return gql`\n ${query}\n `;\n};\n\nconst getPublishedContent = entity => `\n query searchPublishedContent(\n $rawQueryStringified: String!\n $offset: Int\n $limit: Int\n $sort: String\n ) {\n searchPublishedContent(\n rawQueryStringified: $rawQueryStringified\n offset: $offset\n limit: $limit\n sort: $sort\n ) {\n results {\n ... on ${entity} {\n id\n name\n image {\n url\n __typename\n }\n url\n __typename\n }\n __typename\n }\n total\n __typename\n }\n }\n`;\n\nconst getItemList = gql`\n query getItemList($id: String!) {\n getItemList(id: $id) {\n listItems {\n itemId\n itemEntity\n }\n }\n }\n`;\n\nconst addItemsToList = gql`\n mutation addItemsToList(\n $name: String!\n $id: String\n $listItems: [AddItemsToListInputListItemsItem]!\n ) {\n addItemsToList(input: { name: $name, id: $id, listItems: $listItems }) {\n result {\n id\n listItems {\n itemId\n itemEntity\n }\n }\n }\n }\n`;\n\nconst removeItemsFromList = gql`\n mutation removeItemsFromList(\n $listId: String!\n $listItems: [RemoveItemsFromListInputListItemsItem]!\n ) {\n removeItemsFromList(input: { id: $listId, listItems: $listItems }) {\n result {\n id\n listItems {\n itemId\n itemEntity\n }\n }\n }\n }\n`;\n\nexport {\n getEntitySchema,\n getSingleEntitySchema,\n getAction,\n getFiles,\n getFileById,\n generateMultiItemQuery,\n generateSingleItemQuery,\n getPublishedContent,\n getSearchPublishedContent,\n getCount,\n getMultipleSchema,\n getUser,\n getRecordParents,\n getItemList,\n addItemsToList,\n removeItemsFromList\n};\n"],"mappings":"AAAA,SAASA,GAAT,QAAoB,gBAApB;AACA,OAAOC,UAAP,MAAuB,mBAAvB;AAEA,MAAMC,kBAAkB,GAAI;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CATA;;AAWA,MAAMC,yBAAyB,GAAGC,MAAM,IAAIJ,GAAI;AAChD;AACA;AACA,UAAUI,MAAO;AACjB;AACA;AACA,GANA;;AAQA,MAAMC,OAAO,GAAGC,SAAS,IAAIN,GAAI;AACjC;AACA;AACA;AACA,QAAQM,SAAU;AAClB;AACA;AACA,CAPA;;AASA,MAAMC,eAAe,GAAGP,GAAI;AAC5B;AACA;AACA,QAAQE,kBAAmB;AAC3B;AACA;AACA,CANA;AAQA,MAAMM,qBAAqB,GAAGR,GAAI;AAClC;AACA;AACA,QAAQE,kBAAmB;AAC3B;AACA;AACA,CANA;;AAQA,MAAMO,gBAAgB,GAAGC,SAAS,IAAIV,GAAI;AAC1C;AACA,mBAAmBU,SAAU;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAZA;;AAcA,MAAMC,iBAAiB,GAAGC,WAAW,IAAI;EACvC,MAAMC,WAAW,GAAGD,WAAW,CAC5BE,GADiB,CAEhBC,EAAE,IAAK,GAAEA,EAAG,0BAAyBA,EAAG;AAC9C,cAAcb,kBAAmB;AACjC,QAJsB,EAMjBc,IANiB,CAMX,IANW,CAApB;EAOA,OAAOhB,GAAI;AACb;AACA,QAAQa,WAAY;AACpB,MAHE;AAID,CAZD;;AAcA,MAAMI,QAAQ,GAAGjB,GAAI;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CARA;AAUA,MAAMkB,WAAW,GAAGlB,GAAI;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CARA;;AAUA,MAAMmB,QAAQ,GAAGC,MAAM,IAAIpB,GAAI;AAC/B,MAAMoB,MAAO;AACb;AACA,CAHA;;AAKA,MAAMC,aAAa,GAAG,CAACD,MAAD,EAASE,KAAT,KAAoB;AAC1C;AACA;AACA;AACA;AACA,cAAcrB,UAAU,CAACmB,MAAD,CAAS;AACjC,MAAMA,MAAO;AACb,QAAQE,KAAM;AACd;AACA;AACA;AACA;AACA,GAZA;;AAaA,MAAMC,sBAAsB,GAAG,CAACH,MAAD,EAASE,KAAT,KAAmBtB,GAAI;AACtD;AACA,MAAMoB,MAAO;AACb,QAAQE,KAAM;AACd;AACA;AACA;AACA;AACA,GARA;;AAUA,MAAME,uBAAuB,GAAG,CAACJ,MAAD,EAASE,KAAT,KAAmBtB,GAAI;AACvD;AACA,kBAAkBoB,MAAO;AACzB,MAAME,KAAM;AACZ;AACA;AACA;AACA;AACA,GARA,C,CAUA;;;AACA,MAAMG,SAAS,GAAG,CAACL,MAAD,EAASE,KAAT,KAAmB;EACnC,MAAMI,KAAK,GAAGL,aAAa,CAACD,MAAD,EAASE,KAAT,CAA3B;EACA,OAAOtB,GAAI;AACb,MAAM0B,KAAM;AACZ,GAFE;AAGD,CALD;;AAOA,MAAMC,mBAAmB,GAAGC,MAAM,IAAK;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiBA,MAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CA9BA;;AAgCA,MAAMC,WAAW,GAAG7B,GAAI;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,
|
|
1
|
+
{"version":3,"file":"index.js","names":["gql","upperFirst","defaultSchemaProps","getSearchPublishedContent","fields","getUser","userProps","getEntitySchema","getSingleEntitySchema","getRecordParents","queryName","getMultipleSchema","identifiers","queryString","map","id","join","getFiles","getFileById","getCount","action","generateQuery","props","generateMultiItemQuery","generateSingleItemQuery","getAction","query","getPublishedContent","entity","getItemList","addItemsToList","removeItemsFromList"],"sources":["../../../src/application/query/index.js"],"sourcesContent":["import { gql } from '@apollo/client';\nimport upperFirst from 'lodash.upperfirst';\n\nconst defaultSchemaProps = `\n id\n identifier\n properties\n dynamicProperties\n actions\n interfaces\n relations\n __typename\n`;\n\nconst getSearchPublishedContent = fields => gql`\n query searchPublishedContent($rawQueryStringified: String!, $offset: Int, $limit: Int, $sort: String) {\n searchPublishedContent(rawQueryStringified: $rawQueryStringified, offset: $offset, limit: $limit, sort: $sort) {\n ${fields}\n }\n }\n `;\n\nconst getUser = userProps => gql`\n query getUser($id: String!) {\n getUser(id: $id) {\n id\n ${userProps}\n }\n }\n`;\n\nconst getEntitySchema = gql`\n query getEntitySchemas($identifier: String!) {\n getEntitySchemas(identifier: $identifier) {\n ${defaultSchemaProps}\n }\n }\n`;\n\nconst getSingleEntitySchema = gql`\n query getEntitySchema($id: String!) {\n getEntitySchema: getEntitySchema(id: $id) {\n ${defaultSchemaProps}\n }\n }\n`;\n\nconst getRecordParents = queryName => gql`\nquery getRecordParents($id: String!){\n recordParents: ${queryName}(id: $id){\n id,\n name,\n url,\n parents {\n id,\n name\n url\n }\n }\n}`;\n\nconst getMultipleSchema = identifiers => {\n const queryString = identifiers\n .map(\n id => `${id}: getEntitySchema(id: \"${id}\") {\n ${defaultSchemaProps}\n }`\n )\n .join(`\\n`);\n return gql`\n query {\n ${queryString}\n }`;\n};\n\nconst getFiles = gql`\n query getFiles($where: JSON!) {\n getFiles(where: $where) {\n id\n url\n data\n }\n }\n`;\n\nconst getFileById = gql`\n query getFile($id: String!) {\n getFile(id: $id) {\n id\n url\n data\n }\n }\n`;\n\nconst getCount = action => gql`query countData($where: JSON!) {\n ${action} (where: $where)\n }\n`;\n\nconst generateQuery = (action, props) => `\n query getEntityData(\n $where: JSON\n $limit: Int\n $offset: Int\n $sort: [${upperFirst(action)}SortItem]){\n ${action} (where: $where, limit: $limit, offset: $offset, sort: $sort){\n ${props}\n id\n __typename\n }\n }\n `;\nconst generateMultiItemQuery = (action, props) => gql`\n query getEntityData($where: JSON){\n ${action} (where: $where){\n ${props}\n id\n __typename\n }\n }\n `;\n\nconst generateSingleItemQuery = (action, props) => gql`\n query getEntityData($id: String!){\n entityData: ${action}(id: $id){\n ${props},\n id,\n __typename\n }\n }\n `;\n\n// TODO: extend function to handle properties and make them dynamic with a config schema for each entity.\nconst getAction = (action, props) => {\n const query = generateQuery(action, props);\n return gql`\n ${query}\n `;\n};\n\nconst getPublishedContent = entity => `\n query searchPublishedContent(\n $rawQueryStringified: String!\n $offset: Int\n $limit: Int\n $sort: String\n ) {\n searchPublishedContent(\n rawQueryStringified: $rawQueryStringified\n offset: $offset\n limit: $limit\n sort: $sort\n ) {\n results {\n ... on ${entity} {\n id\n name\n image {\n url\n __typename\n }\n url\n __typename\n }\n __typename\n }\n total\n __typename\n }\n }\n`;\n\nconst getItemList = gql`\n query getItemList($id: String!) {\n getItemList(id: $id) {\n id\n listItems {\n itemId\n itemEntity\n }\n }\n }\n`;\n\nconst addItemsToList = gql`\n mutation addItemsToList(\n $name: String!\n $id: String\n $listItems: [AddItemsToListInputListItemsItem]!\n ) {\n addItemsToList(input: { name: $name, id: $id, listItems: $listItems }) {\n result {\n id\n listItems {\n itemId\n itemEntity\n }\n }\n }\n }\n`;\n\nconst removeItemsFromList = gql`\n mutation removeItemsFromList(\n $listId: String!\n $listItems: [RemoveItemsFromListInputListItemsItem]!\n ) {\n removeItemsFromList(input: { id: $listId, listItems: $listItems }) {\n result {\n id\n listItems {\n itemId\n itemEntity\n }\n }\n }\n }\n`;\n\nexport {\n getEntitySchema,\n getSingleEntitySchema,\n getAction,\n getFiles,\n getFileById,\n generateMultiItemQuery,\n generateSingleItemQuery,\n getPublishedContent,\n getSearchPublishedContent,\n getCount,\n getMultipleSchema,\n getUser,\n getRecordParents,\n getItemList,\n addItemsToList,\n removeItemsFromList\n};\n"],"mappings":"AAAA,SAASA,GAAT,QAAoB,gBAApB;AACA,OAAOC,UAAP,MAAuB,mBAAvB;AAEA,MAAMC,kBAAkB,GAAI;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CATA;;AAWA,MAAMC,yBAAyB,GAAGC,MAAM,IAAIJ,GAAI;AAChD;AACA;AACA,UAAUI,MAAO;AACjB;AACA;AACA,GANA;;AAQA,MAAMC,OAAO,GAAGC,SAAS,IAAIN,GAAI;AACjC;AACA;AACA;AACA,QAAQM,SAAU;AAClB;AACA;AACA,CAPA;;AASA,MAAMC,eAAe,GAAGP,GAAI;AAC5B;AACA;AACA,QAAQE,kBAAmB;AAC3B;AACA;AACA,CANA;AAQA,MAAMM,qBAAqB,GAAGR,GAAI;AAClC;AACA;AACA,QAAQE,kBAAmB;AAC3B;AACA;AACA,CANA;;AAQA,MAAMO,gBAAgB,GAAGC,SAAS,IAAIV,GAAI;AAC1C;AACA,mBAAmBU,SAAU;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAZA;;AAcA,MAAMC,iBAAiB,GAAGC,WAAW,IAAI;EACvC,MAAMC,WAAW,GAAGD,WAAW,CAC5BE,GADiB,CAEhBC,EAAE,IAAK,GAAEA,EAAG,0BAAyBA,EAAG;AAC9C,cAAcb,kBAAmB;AACjC,QAJsB,EAMjBc,IANiB,CAMX,IANW,CAApB;EAOA,OAAOhB,GAAI;AACb;AACA,QAAQa,WAAY;AACpB,MAHE;AAID,CAZD;;AAcA,MAAMI,QAAQ,GAAGjB,GAAI;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CARA;AAUA,MAAMkB,WAAW,GAAGlB,GAAI;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CARA;;AAUA,MAAMmB,QAAQ,GAAGC,MAAM,IAAIpB,GAAI;AAC/B,MAAMoB,MAAO;AACb;AACA,CAHA;;AAKA,MAAMC,aAAa,GAAG,CAACD,MAAD,EAASE,KAAT,KAAoB;AAC1C;AACA;AACA;AACA;AACA,cAAcrB,UAAU,CAACmB,MAAD,CAAS;AACjC,MAAMA,MAAO;AACb,QAAQE,KAAM;AACd;AACA;AACA;AACA;AACA,GAZA;;AAaA,MAAMC,sBAAsB,GAAG,CAACH,MAAD,EAASE,KAAT,KAAmBtB,GAAI;AACtD;AACA,MAAMoB,MAAO;AACb,QAAQE,KAAM;AACd;AACA;AACA;AACA;AACA,GARA;;AAUA,MAAME,uBAAuB,GAAG,CAACJ,MAAD,EAASE,KAAT,KAAmBtB,GAAI;AACvD;AACA,kBAAkBoB,MAAO;AACzB,MAAME,KAAM;AACZ;AACA;AACA;AACA;AACA,GARA,C,CAUA;;;AACA,MAAMG,SAAS,GAAG,CAACL,MAAD,EAASE,KAAT,KAAmB;EACnC,MAAMI,KAAK,GAAGL,aAAa,CAACD,MAAD,EAASE,KAAT,CAA3B;EACA,OAAOtB,GAAI;AACb,MAAM0B,KAAM;AACZ,GAFE;AAGD,CALD;;AAOA,MAAMC,mBAAmB,GAAGC,MAAM,IAAK;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiBA,MAAO;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CA9BA;;AAgCA,MAAMC,WAAW,GAAG7B,GAAI;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAVA;AAYA,MAAM8B,cAAc,GAAG9B,GAAI;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAhBA;AAkBA,MAAM+B,mBAAmB,GAAG/B,GAAI;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAfA;AAiBA,SACEO,eADF,EAEEC,qBAFF,EAGEiB,SAHF,EAIER,QAJF,EAKEC,WALF,EAMEK,sBANF,EAOEC,uBAPF,EAQEG,mBARF,EASExB,yBATF,EAUEgB,QAVF,EAWER,iBAXF,EAYEN,OAZF,EAaEI,gBAbF,EAcEoB,WAdF,EAeEC,cAfF,EAgBEC,mBAhBF"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import React, { useState
|
|
1
|
+
import React, { useState } from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import { BsBookmarkStarFill, BsBookmarkCheckFill, BsBookmarkStar, BsBookmarkXFill } from 'react-icons/bs';
|
|
4
4
|
import { useQuery, useMutation } from '@apollo/client';
|
|
5
|
-
import { getItemList, addItemsToList, removeItemsFromList } from '
|
|
6
|
-
import { getItemListData,
|
|
7
|
-
import {
|
|
5
|
+
import { getItemList, addItemsToList, removeItemsFromList } from '../../../application/query';
|
|
6
|
+
import { getItemListData, setItemListId } from '../helpers';
|
|
7
|
+
import { useItemListId } from '../hooks';
|
|
8
8
|
|
|
9
9
|
const ItemListButton = ({
|
|
10
10
|
listName,
|
|
@@ -15,20 +15,12 @@ const ItemListButton = ({
|
|
|
15
15
|
itemId,
|
|
16
16
|
itemEntity
|
|
17
17
|
} = parent;
|
|
18
|
-
const idFromStorage = getItemListId(listName);
|
|
19
|
-
const [listId, setListId] = useState(idFromStorage);
|
|
20
18
|
const [isHover, setIsHover] = useState(false);
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
window.addEventListener('storage', storageEventHandler);
|
|
28
|
-
return () => {
|
|
29
|
-
window.removeEventListener('storage', storageEventHandler);
|
|
30
|
-
};
|
|
31
|
-
}, [listName]);
|
|
19
|
+
const {
|
|
20
|
+
listId
|
|
21
|
+
} = useItemListId({
|
|
22
|
+
listName
|
|
23
|
+
});
|
|
32
24
|
|
|
33
25
|
const getIcon = () => {
|
|
34
26
|
if (isInList) return isHover ? BsBookmarkXFill : BsBookmarkCheckFill;
|
|
@@ -56,9 +48,7 @@ const ItemListButton = ({
|
|
|
56
48
|
} = listAddResult;
|
|
57
49
|
|
|
58
50
|
if (!listId) {
|
|
59
|
-
|
|
60
|
-
localStorage.setItem(localListName, id);
|
|
61
|
-
window.dispatchEvent(new Event('storage'));
|
|
51
|
+
setItemListId(listName, id);
|
|
62
52
|
}
|
|
63
53
|
}
|
|
64
54
|
});
|
|
@@ -92,11 +82,14 @@ const ItemListButton = ({
|
|
|
92
82
|
if (error) return error.message;
|
|
93
83
|
const listItems = getItemListData(data);
|
|
94
84
|
const isInList = !!listItems.find(({
|
|
95
|
-
itemId: idToCheck
|
|
96
|
-
|
|
85
|
+
itemId: idToCheck,
|
|
86
|
+
itemEntity: entityToCheck
|
|
87
|
+
}) => idToCheck === itemId && entityToCheck === itemEntity);
|
|
97
88
|
const Icon = getIcon();
|
|
89
|
+
const stateClassName = isInList ? 'item-list-button--selected' : '';
|
|
90
|
+
const className = ['item-list-button', stateClassName, modifier].filter(Boolean).join(' ');
|
|
98
91
|
return /*#__PURE__*/React.createElement("div", {
|
|
99
|
-
className:
|
|
92
|
+
className: className,
|
|
100
93
|
role: "button",
|
|
101
94
|
onClick: clickHandler,
|
|
102
95
|
onMouseEnter: () => setIsHover(true),
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ItemListButton.js","names":["React","useState","PropTypes","BsBookmarkStarFill","BsBookmarkCheckFill","BsBookmarkStar","BsBookmarkXFill","useQuery","useMutation","getItemList","addItemsToList","removeItemsFromList","getItemListData","setItemListId","useItemListId","ItemListButton","listName","parent","modifier","itemId","itemEntity","isHover","setIsHover","listId","getIcon","isInList","data","error","loading","variables","id","skip","addListItem","onCompleted","listAddResult","result","removeListItem","clickHandler","listItems","name","message","find","idToCheck","entityToCheck","Icon","stateClassName","className","filter","Boolean","join","propTypes","object","string","defaultProps"],"sources":["../../../../src/components/ItemList/ItemListButton/ItemListButton.js"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport {\n BsBookmarkStarFill,\n BsBookmarkCheckFill,\n BsBookmarkStar,\n BsBookmarkXFill\n} from 'react-icons/bs';\nimport { useQuery, useMutation } from '@apollo/client';\nimport { getItemList, addItemsToList, removeItemsFromList } from '../../../application/query';\nimport { getItemListData, setItemListId } from '../helpers';\nimport { useItemListId } from '../hooks';\n\nconst ItemListButton = ({ listName, parent, modifier }) => {\n const { itemId, itemEntity } = parent;\n const [isHover, setIsHover] = useState(false);\n const { listId } = useItemListId({ listName });\n\n const getIcon = () => {\n if (isInList) return isHover ? BsBookmarkXFill : BsBookmarkCheckFill;\n return isHover ? BsBookmarkStarFill : BsBookmarkStar;\n };\n\n const { data, error, loading } = useQuery(getItemList, {\n variables: { id: listId },\n skip: !listId\n });\n\n const [addListItem] = useMutation(addItemsToList, {\n onCompleted: ({ addItemsToList: listAddResult }) => {\n const {\n result: { id }\n } = listAddResult;\n\n if (!listId) {\n setItemListId(listName, id);\n }\n }\n });\n\n const [removeListItem] = useMutation(removeItemsFromList);\n\n const clickHandler = () => {\n setIsHover(false);\n isInList\n ? removeListItem({\n variables: { listId, listItems: [{ itemId, itemEntity }] },\n skip: !listId\n })\n : addListItem({\n variables: { name: listName, id: listId, listItems: [{ itemId, itemEntity }] },\n skip: !listId\n });\n };\n\n if (loading) return '';\n if (error) return error.message;\n\n const listItems = getItemListData(data);\n const isInList = !!listItems.find(\n ({ itemId: idToCheck, itemEntity: entityToCheck }) =>\n idToCheck === itemId && entityToCheck === itemEntity\n );\n const Icon = getIcon();\n const stateClassName = isInList ? 'item-list-button--selected' : '';\n const className = ['item-list-button', stateClassName, modifier].filter(Boolean).join(' ');\n\n return (\n <div\n className={className}\n role=\"button\"\n onClick={clickHandler}\n onMouseEnter={() => setIsHover(true)}\n onMouseLeave={() => setIsHover(false)}>\n <i>\n <Icon />\n </i>\n </div>\n );\n};\n\nItemListButton.propTypes = {\n parent: PropTypes.object,\n listName: PropTypes.string,\n modifier: PropTypes.string\n};\n\nItemListButton.defaultProps = {\n parent: {},\n listName: '',\n modifier: ''\n};\n\nexport default ItemListButton;\n"],"mappings":"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"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["ItemListButton"],"sources":["../../../../src/components/ItemList/ItemListButton/index.js"],"sourcesContent":["import ItemListButton from './ItemListButton';\n\nexport default ItemListButton;\n"],"mappings":"AAAA,OAAOA,cAAP,MAA2B,kBAA3B;AAEA,eAAeA,cAAf"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import { useRouter } from 'next/router';
|
|
4
4
|
import { useQuery } from '@apollo/client';
|
|
5
5
|
import { BsBookmarkStarFill, BsBookmarkStar } from 'react-icons/bs';
|
|
6
|
-
import { getItemList } from '
|
|
7
|
-
import {
|
|
6
|
+
import { getItemList } from '../../../application/query';
|
|
7
|
+
import { useItemListId } from '../hooks';
|
|
8
|
+
import { getItemListData } from '../helpers';
|
|
8
9
|
|
|
9
10
|
const ItemListCounter = ({
|
|
10
11
|
listName,
|
|
@@ -12,19 +13,11 @@ const ItemListCounter = ({
|
|
|
12
13
|
url
|
|
13
14
|
}) => {
|
|
14
15
|
const router = useRouter();
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
setListId(newId);
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
window.addEventListener('storage', storageEventHandler);
|
|
24
|
-
return () => {
|
|
25
|
-
window.removeEventListener('storage', storageEventHandler);
|
|
26
|
-
};
|
|
27
|
-
}, [listName]);
|
|
16
|
+
const {
|
|
17
|
+
listId
|
|
18
|
+
} = useItemListId({
|
|
19
|
+
listName
|
|
20
|
+
});
|
|
28
21
|
const {
|
|
29
22
|
data,
|
|
30
23
|
error,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ItemListCounter.js","names":["React","PropTypes","useRouter","useQuery","BsBookmarkStarFill","BsBookmarkStar","getItemList","useItemListId","getItemListData","ItemListCounter","listName","modifier","url","router","listId","data","error","loading","variables","id","skip","message","listItems","listLength","length","CounterIcon","handleClick","push","propTypes","string","defaultProps"],"sources":["../../../../src/components/ItemList/ItemListCounter/ItemListCounter.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { useQuery } from '@apollo/client';\nimport { BsBookmarkStarFill, BsBookmarkStar } from 'react-icons/bs';\nimport { getItemList } from '../../../application/query';\nimport { useItemListId } from '../hooks';\nimport { getItemListData } from '../helpers';\n\nconst ItemListCounter = ({ listName, modifier, url }) => {\n const router = useRouter();\n const { listId } = useItemListId({ listName });\n\n const { data, error, loading } = useQuery(getItemList, {\n variables: { id: listId },\n skip: !listId\n });\n\n if (loading) return '';\n if (error) return error.message;\n\n const listItems = getItemListData(data);\n const listLength = listItems.length;\n const CounterIcon = listLength ? BsBookmarkStarFill : BsBookmarkStar;\n\n const handleClick = () => router.push('/Resolver', `${url}?itemListId=${listId}`);\n\n return (\n <div\n role=\"button\"\n type=\"button\"\n className={`item-list-counter ${modifier}`}\n onClick={handleClick}>\n <CounterIcon />\n <span className=\"item-list-counter__badge\">{listLength}</span>\n </div>\n );\n};\n\nItemListCounter.propTypes = {\n url: PropTypes.string,\n listName: PropTypes.string,\n modifier: PropTypes.string\n};\n\nItemListCounter.defaultProps = {\n url: '',\n listName: '',\n modifier: ''\n};\n\nexport default ItemListCounter;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,SAAT,QAA0B,aAA1B;AACA,SAASC,QAAT,QAAyB,gBAAzB;AACA,SAASC,kBAAT,EAA6BC,cAA7B,QAAmD,gBAAnD;AACA,SAASC,WAAT,QAA4B,4BAA5B;AACA,SAASC,aAAT,QAA8B,UAA9B;AACA,SAASC,eAAT,QAAgC,YAAhC;;AAEA,MAAMC,eAAe,GAAG,CAAC;EAAEC,QAAF;EAAYC,QAAZ;EAAsBC;AAAtB,CAAD,KAAiC;EACvD,MAAMC,MAAM,GAAGX,SAAS,EAAxB;EACA,MAAM;IAAEY;EAAF,IAAaP,aAAa,CAAC;IAAEG;EAAF,CAAD,CAAhC;EAEA,MAAM;IAAEK,IAAF;IAAQC,KAAR;IAAeC;EAAf,IAA2Bd,QAAQ,CAACG,WAAD,EAAc;IACrDY,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,GAAGd,eAAe,CAACO,IAAD,CAAjC;EACA,MAAMQ,UAAU,GAAGD,SAAS,CAACE,MAA7B;EACA,MAAMC,WAAW,GAAGF,UAAU,GAAGnB,kBAAH,GAAwBC,cAAtD;;EAEA,MAAMqB,WAAW,GAAG,MAAMb,MAAM,CAACc,IAAP,CAAY,WAAZ,EAA0B,GAAEf,GAAI,eAAcE,MAAO,EAArD,CAA1B;;EAEA,oBACE;IACE,IAAI,EAAC,QADP;IAEE,IAAI,EAAC,QAFP;IAGE,SAAS,EAAG,qBAAoBH,QAAS,EAH3C;IAIE,OAAO,EAAEe;EAJX,gBAKE,oBAAC,WAAD,OALF,eAME;IAAM,SAAS,EAAC;EAAhB,GAA4CH,UAA5C,CANF,CADF;AAUD,CA5BD;;AA8BAd,eAAe,CAACmB,SAAhB,GAA4B;EAC1BhB,GAAG,EAAEX,SAAS,CAAC4B,MADW;EAE1BnB,QAAQ,EAAET,SAAS,CAAC4B,MAFM;EAG1BlB,QAAQ,EAAEV,SAAS,CAAC4B;AAHM,CAA5B;AAMApB,eAAe,CAACqB,YAAhB,GAA+B;EAC7BlB,GAAG,EAAE,EADwB;EAE7BF,QAAQ,EAAE,EAFmB;EAG7BC,QAAQ,EAAE;AAHmB,CAA/B;AAMA,eAAeF,eAAf"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["ItemListCounter"],"sources":["../../../../src/components/ItemList/ItemListCounter/index.js"],"sourcesContent":["import ItemListCounter from './ItemListCounter';\n\nexport default ItemListCounter;\n"],"mappings":"AAAA,OAAOA,eAAP,MAA4B,mBAA5B;AAEA,eAAeA,eAAf"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import { useRouter } from 'next/router';
|
|
4
|
+
import { useQuery } from '@apollo/client';
|
|
5
|
+
import BlazeButton from '@blaze-react/button';
|
|
6
|
+
import { parseUrl } from 'query-string';
|
|
7
|
+
import { getItemList } from '../../../application/query';
|
|
8
|
+
import { useItemListId } from '../hooks';
|
|
9
|
+
import { getItemListData, setItemListId, setParamAndRedirect } from '../helpers';
|
|
10
|
+
import { LIST_ITEM_QUERY_PARAM } from '../constants';
|
|
11
|
+
|
|
12
|
+
const ItemListNew = ({
|
|
13
|
+
listName,
|
|
14
|
+
modifier,
|
|
15
|
+
text
|
|
16
|
+
}) => {
|
|
17
|
+
const router = useRouter();
|
|
18
|
+
const {
|
|
19
|
+
query: {
|
|
20
|
+
[LIST_ITEM_QUERY_PARAM]: listItemId
|
|
21
|
+
} = {}
|
|
22
|
+
} = parseUrl(router.asPath);
|
|
23
|
+
const {
|
|
24
|
+
listId
|
|
25
|
+
} = useItemListId({
|
|
26
|
+
listName
|
|
27
|
+
});
|
|
28
|
+
const listIdToUse = listItemId || listId;
|
|
29
|
+
const {
|
|
30
|
+
data,
|
|
31
|
+
error,
|
|
32
|
+
loading
|
|
33
|
+
} = useQuery(getItemList, {
|
|
34
|
+
variables: {
|
|
35
|
+
id: listIdToUse
|
|
36
|
+
},
|
|
37
|
+
skip: !listIdToUse
|
|
38
|
+
});
|
|
39
|
+
if (loading) return '';
|
|
40
|
+
if (error) return error.message;
|
|
41
|
+
const listItems = getItemListData(data);
|
|
42
|
+
if (!listItems.length) return '';
|
|
43
|
+
|
|
44
|
+
const handleClick = () => {
|
|
45
|
+
setItemListId(listName, '');
|
|
46
|
+
setParamAndRedirect(router);
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
return /*#__PURE__*/React.createElement(BlazeButton, {
|
|
50
|
+
className: `item-list-new ${modifier}`,
|
|
51
|
+
onClick: handleClick
|
|
52
|
+
}, text);
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
ItemListNew.propTypes = {
|
|
56
|
+
listName: PropTypes.string.isRequired,
|
|
57
|
+
modifier: PropTypes.string,
|
|
58
|
+
text: PropTypes.string.isRequired
|
|
59
|
+
};
|
|
60
|
+
ItemListNew.defaultProps = {
|
|
61
|
+
modifier: ''
|
|
62
|
+
};
|
|
63
|
+
export default ItemListNew;
|
|
64
|
+
//# sourceMappingURL=ItemListNew.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["ItemListNew"],"sources":["../../../../src/components/ItemList/ItemListNew/index.js"],"sourcesContent":["import ItemListNew from './ItemListNew';\n\nexport default ItemListNew;\n"],"mappings":"AAAA,OAAOA,WAAP,MAAwB,eAAxB;AAEA,eAAeA,WAAf"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export const ITEM_LIST_BUTTON = 'itemlistbutton';
|
|
2
|
+
export const ITEM_LIST_COUNTER = 'itemlistcounter';
|
|
3
|
+
export const ITEM_LIST_NEW = 'itemlistnew';
|
|
4
|
+
export const LIST_ITEM_LOCAL_KEY = 'blaze_item_list_';
|
|
5
|
+
export const LIST_ITEM_QUERY_PARAM = 'itemListId';
|
|
6
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","names":["ITEM_LIST_BUTTON","ITEM_LIST_COUNTER","ITEM_LIST_NEW","LIST_ITEM_LOCAL_KEY","LIST_ITEM_QUERY_PARAM"],"sources":["../../../src/components/ItemList/constants.js"],"sourcesContent":["export const ITEM_LIST_BUTTON = 'itemlistbutton';\nexport const ITEM_LIST_COUNTER = 'itemlistcounter';\nexport const ITEM_LIST_NEW = 'itemlistnew';\nexport const LIST_ITEM_LOCAL_KEY = 'blaze_item_list_';\nexport const LIST_ITEM_QUERY_PARAM = 'itemListId';\n"],"mappings":"AAAA,OAAO,MAAMA,gBAAgB,GAAG,gBAAzB;AACP,OAAO,MAAMC,iBAAiB,GAAG,iBAA1B;AACP,OAAO,MAAMC,aAAa,GAAG,aAAtB;AACP,OAAO,MAAMC,mBAAmB,GAAG,kBAA5B;AACP,OAAO,MAAMC,qBAAqB,GAAG,YAA9B"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-item-list-data.js","names":["getItemListData","data","getItemList","listItems"],"sources":["../../../../src/components/ItemList/helpers/get-item-list-data.js"],"sourcesContent":["const getItemListData = data => {\n if (data && data.getItemList && data.getItemList.listItems) return data.getItemList.listItems;\n return [];\n};\n\nexport default getItemListData;\n"],"mappings":"AAAA,MAAMA,eAAe,GAAGC,IAAI,IAAI;EAC9B,IAAIA,IAAI,IAAIA,IAAI,CAACC,WAAb,IAA4BD,IAAI,CAACC,WAAL,CAAiBC,SAAjD,EAA4D,OAAOF,IAAI,CAACC,WAAL,CAAiBC,SAAxB;EAC5D,OAAO,EAAP;AACD,CAHD;;AAKA,eAAeH,eAAf"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-item-list-id.js","names":["LIST_ITEM_LOCAL_KEY","getItemListId","listName","queryId","localStorage","localListName","getItem"],"sources":["../../../../src/components/ItemList/helpers/get-item-list-id.js"],"sourcesContent":["import { LIST_ITEM_LOCAL_KEY } from '../constants';\n\nconst getItemListId = (listName, queryId) => {\n if (queryId) return queryId;\n if (!listName || typeof localStorage === 'undefined') return '';\n\n const localListName = `${LIST_ITEM_LOCAL_KEY}${listName}`;\n return localStorage.getItem(localListName) || '';\n};\n\nexport default getItemListId;\n"],"mappings":"AAAA,SAASA,mBAAT,QAAoC,cAApC;;AAEA,MAAMC,aAAa,GAAG,CAACC,QAAD,EAAWC,OAAX,KAAuB;EAC3C,IAAIA,OAAJ,EAAa,OAAOA,OAAP;EACb,IAAI,CAACD,QAAD,IAAa,OAAOE,YAAP,KAAwB,WAAzC,EAAsD,OAAO,EAAP;EAEtD,MAAMC,aAAa,GAAI,GAAEL,mBAAoB,GAAEE,QAAS,EAAxD;EACA,OAAOE,YAAY,CAACE,OAAb,CAAqBD,aAArB,KAAuC,EAA9C;AACD,CAND;;AAQA,eAAeJ,aAAf"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-item-list-ids.js","names":["getItemListData","getItemListIds","data","itemListElements","length","map","itemId","displayItems"],"sources":["../../../../src/components/ItemList/helpers/get-item-list-ids.js"],"sourcesContent":["import getItemListData from './get-item-list-data';\n\nconst getItemListIds = data => {\n const itemListElements = getItemListData(data);\n return itemListElements.length\n ? itemListElements.map(({ itemId }) => ({ displayItems: [itemId] }))\n : null;\n};\n\nexport default getItemListIds;\n"],"mappings":"AAAA,OAAOA,eAAP,MAA4B,sBAA5B;;AAEA,MAAMC,cAAc,GAAGC,IAAI,IAAI;EAC7B,MAAMC,gBAAgB,GAAGH,eAAe,CAACE,IAAD,CAAxC;EACA,OAAOC,gBAAgB,CAACC,MAAjB,GACHD,gBAAgB,CAACE,GAAjB,CAAqB,CAAC;IAAEC;EAAF,CAAD,MAAiB;IAAEC,YAAY,EAAE,CAACD,MAAD;EAAhB,CAAjB,CAArB,CADG,GAEH,IAFJ;AAGD,CALD;;AAOA,eAAeL,cAAf"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { default as getItemListId } from './get-item-list-id';
|
|
2
|
+
export { default as getItemListIds } from './get-item-list-ids';
|
|
3
|
+
export { default as getItemListData } from './get-item-list-data';
|
|
4
|
+
export { default as setItemListId } from './set-item-list-id';
|
|
5
|
+
export { default as setParamAndRedirect } from './set-param-and-redirect';
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["default","getItemListId","getItemListIds","getItemListData","setItemListId","setParamAndRedirect"],"sources":["../../../../src/components/ItemList/helpers/index.js"],"sourcesContent":["export { default as getItemListId } from './get-item-list-id';\nexport { default as getItemListIds } from './get-item-list-ids';\nexport { default as getItemListData } from './get-item-list-data';\nexport { default as setItemListId } from './set-item-list-id';\nexport { default as setParamAndRedirect } from './set-param-and-redirect';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,aAApB,QAAyC,oBAAzC;AACA,SAASD,OAAO,IAAIE,cAApB,QAA0C,qBAA1C;AACA,SAASF,OAAO,IAAIG,eAApB,QAA2C,sBAA3C;AACA,SAASH,OAAO,IAAII,aAApB,QAAyC,oBAAzC;AACA,SAASJ,OAAO,IAAIK,mBAApB,QAA+C,0BAA/C"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { LIST_ITEM_LOCAL_KEY } from '../constants';
|
|
2
|
+
|
|
3
|
+
const setItemListId = (listName, id) => {
|
|
4
|
+
const localListName = `${LIST_ITEM_LOCAL_KEY}${listName}`;
|
|
5
|
+
localStorage.setItem(localListName, id);
|
|
6
|
+
window.dispatchEvent(new Event('storage'));
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export default setItemListId;
|
|
10
|
+
//# sourceMappingURL=set-item-list-id.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"set-item-list-id.js","names":["LIST_ITEM_LOCAL_KEY","setItemListId","listName","id","localListName","localStorage","setItem","window","dispatchEvent","Event"],"sources":["../../../../src/components/ItemList/helpers/set-item-list-id.js"],"sourcesContent":["import { LIST_ITEM_LOCAL_KEY } from '../constants';\n\nconst setItemListId = (listName, id) => {\n const localListName = `${LIST_ITEM_LOCAL_KEY}${listName}`;\n localStorage.setItem(localListName, id);\n window.dispatchEvent(new Event('storage'));\n};\n\nexport default setItemListId;\n"],"mappings":"AAAA,SAASA,mBAAT,QAAoC,cAApC;;AAEA,MAAMC,aAAa,GAAG,CAACC,QAAD,EAAWC,EAAX,KAAkB;EACtC,MAAMC,aAAa,GAAI,GAAEJ,mBAAoB,GAAEE,QAAS,EAAxD;EACAG,YAAY,CAACC,OAAb,CAAqBF,aAArB,EAAoCD,EAApC;EACAI,MAAM,CAACC,aAAP,CAAqB,IAAIC,KAAJ,CAAU,SAAV,CAArB;AACD,CAJD;;AAMA,eAAeR,aAAf"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { LIST_ITEM_QUERY_PARAM } from '../constants';
|
|
2
|
+
const placeholderBase = 'https://blazecms.app'; // placeholder for URL, removed later
|
|
3
|
+
|
|
4
|
+
const setParamAndRedirect = (router, value) => {
|
|
5
|
+
const currentUrl = new URL(router.asPath, placeholderBase);
|
|
6
|
+
|
|
7
|
+
if (value) {
|
|
8
|
+
currentUrl.searchParams.set(LIST_ITEM_QUERY_PARAM, value);
|
|
9
|
+
} else if (!currentUrl.searchParams.get(LIST_ITEM_QUERY_PARAM)) return;else {
|
|
10
|
+
currentUrl.searchParams.delete(LIST_ITEM_QUERY_PARAM);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
const newUrl = currentUrl.toString().replace(placeholderBase, '');
|
|
14
|
+
router.push('/Resolver', newUrl, {
|
|
15
|
+
shallow: true
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export default setParamAndRedirect;
|
|
20
|
+
//# sourceMappingURL=set-param-and-redirect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"set-param-and-redirect.js","names":["LIST_ITEM_QUERY_PARAM","placeholderBase","setParamAndRedirect","router","value","currentUrl","URL","asPath","searchParams","set","get","delete","newUrl","toString","replace","push","shallow"],"sources":["../../../../src/components/ItemList/helpers/set-param-and-redirect.js"],"sourcesContent":["import { LIST_ITEM_QUERY_PARAM } from '../constants';\n\nconst placeholderBase = 'https://blazecms.app'; // placeholder for URL, removed later\n\nconst setParamAndRedirect = (router, value) => {\n const currentUrl = new URL(router.asPath, placeholderBase);\n if (value) {\n currentUrl.searchParams.set(LIST_ITEM_QUERY_PARAM, value);\n } else if (!currentUrl.searchParams.get(LIST_ITEM_QUERY_PARAM)) return;\n else {\n currentUrl.searchParams.delete(LIST_ITEM_QUERY_PARAM);\n }\n\n const newUrl = currentUrl.toString().replace(placeholderBase, '');\n router.push('/Resolver', newUrl, {\n shallow: true\n });\n};\n\nexport default setParamAndRedirect;\n"],"mappings":"AAAA,SAASA,qBAAT,QAAsC,cAAtC;AAEA,MAAMC,eAAe,GAAG,sBAAxB,C,CAAgD;;AAEhD,MAAMC,mBAAmB,GAAG,CAACC,MAAD,EAASC,KAAT,KAAmB;EAC7C,MAAMC,UAAU,GAAG,IAAIC,GAAJ,CAAQH,MAAM,CAACI,MAAf,EAAuBN,eAAvB,CAAnB;;EACA,IAAIG,KAAJ,EAAW;IACTC,UAAU,CAACG,YAAX,CAAwBC,GAAxB,CAA4BT,qBAA5B,EAAmDI,KAAnD;EACD,CAFD,MAEO,IAAI,CAACC,UAAU,CAACG,YAAX,CAAwBE,GAAxB,CAA4BV,qBAA5B,CAAL,EAAyD,OAAzD,KACF;IACHK,UAAU,CAACG,YAAX,CAAwBG,MAAxB,CAA+BX,qBAA/B;EACD;;EAED,MAAMY,MAAM,GAAGP,UAAU,CAACQ,QAAX,GAAsBC,OAAtB,CAA8Bb,eAA9B,EAA+C,EAA/C,CAAf;EACAE,MAAM,CAACY,IAAP,CAAY,WAAZ,EAAyBH,MAAzB,EAAiC;IAC/BI,OAAO,EAAE;EADsB,CAAjC;AAGD,CAbD;;AAeA,eAAed,mBAAf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["default","useItemListId"],"sources":["../../../../src/components/ItemList/hooks/index.js"],"sourcesContent":["export { default as useItemListId } from './use-item-list-id';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,aAApB,QAAyC,oBAAzC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { useState, useEffect } from 'react';
|
|
2
|
+
import { getItemListId } from '../helpers';
|
|
3
|
+
|
|
4
|
+
const useItemListId = ({
|
|
5
|
+
listName
|
|
6
|
+
}) => {
|
|
7
|
+
const idFromStorage = getItemListId(listName);
|
|
8
|
+
const [listId, setListId] = useState(idFromStorage);
|
|
9
|
+
useEffect(() => {
|
|
10
|
+
const storageEventHandler = () => {
|
|
11
|
+
const newId = getItemListId(listName);
|
|
12
|
+
setListId(newId);
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
window.addEventListener('storage', storageEventHandler);
|
|
16
|
+
return () => {
|
|
17
|
+
window.removeEventListener('storage', storageEventHandler);
|
|
18
|
+
};
|
|
19
|
+
}, [listName]);
|
|
20
|
+
return {
|
|
21
|
+
listId
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export default useItemListId;
|
|
26
|
+
//# sourceMappingURL=use-item-list-id.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-item-list-id.js","names":["useState","useEffect","getItemListId","useItemListId","listName","idFromStorage","listId","setListId","storageEventHandler","newId","window","addEventListener","removeEventListener"],"sources":["../../../../src/components/ItemList/hooks/use-item-list-id.js"],"sourcesContent":["import { useState, useEffect } from 'react';\nimport { getItemListId } from '../helpers';\n\nconst useItemListId = ({ listName }) => {\n const idFromStorage = getItemListId(listName);\n const [listId, setListId] = useState(idFromStorage);\n\n useEffect(\n () => {\n const storageEventHandler = () => {\n const newId = getItemListId(listName);\n setListId(newId);\n };\n\n window.addEventListener('storage', storageEventHandler);\n\n return () => {\n window.removeEventListener('storage', storageEventHandler);\n };\n },\n [listName]\n );\n\n return { listId };\n};\n\nexport default useItemListId;\n"],"mappings":"AAAA,SAASA,QAAT,EAAmBC,SAAnB,QAAoC,OAApC;AACA,SAASC,aAAT,QAA8B,YAA9B;;AAEA,MAAMC,aAAa,GAAG,CAAC;EAAEC;AAAF,CAAD,KAAkB;EACtC,MAAMC,aAAa,GAAGH,aAAa,CAACE,QAAD,CAAnC;EACA,MAAM,CAACE,MAAD,EAASC,SAAT,IAAsBP,QAAQ,CAACK,aAAD,CAApC;EAEAJ,SAAS,CACP,MAAM;IACJ,MAAMO,mBAAmB,GAAG,MAAM;MAChC,MAAMC,KAAK,GAAGP,aAAa,CAACE,QAAD,CAA3B;MACAG,SAAS,CAACE,KAAD,CAAT;IACD,CAHD;;IAKAC,MAAM,CAACC,gBAAP,CAAwB,SAAxB,EAAmCH,mBAAnC;IAEA,OAAO,MAAM;MACXE,MAAM,CAACE,mBAAP,CAA2B,SAA3B,EAAsCJ,mBAAtC;IACD,CAFD;EAGD,CAZM,EAaP,CAACJ,QAAD,CAbO,CAAT;EAgBA,OAAO;IAAEE;EAAF,CAAP;AACD,CArBD;;AAuBA,eAAeH,aAAf"}
|
|
@@ -13,8 +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';
|
|
17
|
-
import { getGenericProps, getRequiredSchemas, checkForError, getUnpublishedEntityName, getPaginationIndex, getSearchFilterType, getElasticsearchOperator, buildSearchValuesText, getQueryFilters, getInheritedFilters, getQueryProps
|
|
16
|
+
import { getAzQueryFilter, getSortProps, hasRequiredItemListDetails } from './helpers';
|
|
17
|
+
import { getGenericProps, getRequiredSchemas, checkForError, getUnpublishedEntityName, getPaginationIndex, getSearchFilterType, getElasticsearchOperator, buildSearchValuesText, getQueryFilters, getInheritedFilters, getQueryProps } from '../../helpers';
|
|
18
|
+
import { getItemListId, getItemListIds } from '../ItemList/helpers';
|
|
18
19
|
import { useGetEntitySchemasAsObj } from '../../hooks';
|
|
19
20
|
import { AND_OPERATOR, TEXT_SEARCH, ID, AND, FULL } from '../../constants';
|
|
20
21
|
|
|
@@ -120,13 +121,12 @@ const ListFactory = props => {
|
|
|
120
121
|
},
|
|
121
122
|
skip: !itemListId
|
|
122
123
|
});
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
router
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
}
|
|
129
|
-
|
|
124
|
+
if (!hasRequiredItemListDetails({
|
|
125
|
+
itemListName,
|
|
126
|
+
router,
|
|
127
|
+
itemListId,
|
|
128
|
+
queryItemListId
|
|
129
|
+
})) return '';
|
|
130
130
|
const errorsToCheck = [schemaError, schemasError, requiredSchemaError, itemQueryError, itemListError];
|
|
131
131
|
const {
|
|
132
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","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","push","shallow","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 getItemListId,\n getItemListIds\n} from '../../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 router.push('/Resolver', `${asPath}?itemListId=${itemListId}`, { shallow: true });\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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { useState } from 'react';
|
|
1
|
+
import React, { useState, useEffect } from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import { useRouter } from 'next/router';
|
|
4
4
|
import { useDebounceSearch } from '@blaze-cms/plugin-search-ui';
|
|
@@ -15,7 +15,7 @@ const SearchContent = ({
|
|
|
15
15
|
placeholder,
|
|
16
16
|
modifier
|
|
17
17
|
}) => {
|
|
18
|
-
const [collapsed, setCollapsed] = useState(
|
|
18
|
+
const [collapsed, setCollapsed] = useState(collapsible);
|
|
19
19
|
const router = useRouter();
|
|
20
20
|
const {
|
|
21
21
|
results,
|
|
@@ -27,6 +27,14 @@ const SearchContent = ({
|
|
|
27
27
|
initialSearchTerm: '',
|
|
28
28
|
resultKeys: 'id, name, image { url }, url'
|
|
29
29
|
});
|
|
30
|
+
useEffect(() => {
|
|
31
|
+
const handleRouteChange = () => setSearchTerm('');
|
|
32
|
+
|
|
33
|
+
router.events.on('routeChangeStart', handleRouteChange);
|
|
34
|
+
return () => {
|
|
35
|
+
router.events.off('routeChangeStart', handleRouteChange);
|
|
36
|
+
};
|
|
37
|
+
}, [router.events, setSearchTerm]);
|
|
30
38
|
const responsiveClasses = isMobile ? searchInputWrapperMobile : searchInputWrapperDesktop;
|
|
31
39
|
|
|
32
40
|
const handleClick = (e, url) => {
|