@blaze-cms/react-page-builder 0.124.0-alpha.13 → 0.124.0-alpha.18

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.
Files changed (79) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/lib/application/query/index.js +8 -2
  3. package/lib/application/query/index.js.map +1 -1
  4. package/lib/components/Card/CardFactory.js +6 -3
  5. package/lib/components/Card/CardFactory.js.map +1 -1
  6. package/lib/components/ItemListButton/ItemListButton.js +171 -0
  7. package/lib/components/ItemListButton/ItemListButton.js.map +1 -0
  8. package/lib/components/ItemListButton/index.js +16 -0
  9. package/lib/components/ItemListButton/index.js.map +1 -0
  10. package/lib/components/ItemListCounter/ItemListCounter.js +114 -0
  11. package/lib/components/ItemListCounter/ItemListCounter.js.map +1 -0
  12. package/lib/components/ItemListCounter/index.js +16 -0
  13. package/lib/components/ItemListCounter/index.js.map +1 -0
  14. package/lib/components/List/ListBuilder.js +12 -6
  15. package/lib/components/List/ListBuilder.js.map +1 -1
  16. package/lib/components/List/ListFactory.js +32 -7
  17. package/lib/components/List/ListFactory.js.map +1 -1
  18. package/lib/components/index.js +10 -0
  19. package/lib/components/index.js.map +1 -1
  20. package/lib/constants/index.js +4 -2
  21. package/lib/constants/index.js.map +1 -1
  22. package/lib/helpers/build-raw-query.js.map +1 -1
  23. package/lib/helpers/get-item-list-data.js +17 -0
  24. package/lib/helpers/get-item-list-data.js.map +1 -0
  25. package/lib/helpers/get-item-list-id.js +23 -0
  26. package/lib/helpers/get-item-list-id.js.map +1 -0
  27. package/lib/helpers/get-item-list-ids.js +28 -0
  28. package/lib/helpers/get-item-list-ids.js.map +1 -0
  29. package/lib/helpers/index.js +24 -0
  30. package/lib/helpers/index.js.map +1 -1
  31. package/lib-es/application/query/index.js +44 -1
  32. package/lib-es/application/query/index.js.map +1 -1
  33. package/lib-es/components/Card/CardFactory.js +7 -4
  34. package/lib-es/components/Card/CardFactory.js.map +1 -1
  35. package/lib-es/components/ItemListButton/ItemListButton.js +118 -0
  36. package/lib-es/components/ItemListButton/ItemListButton.js.map +1 -0
  37. package/lib-es/components/ItemListButton/index.js +3 -0
  38. package/lib-es/components/ItemListButton/index.js.map +1 -0
  39. package/lib-es/components/ItemListCounter/ItemListCounter.js +67 -0
  40. package/lib-es/components/ItemListCounter/ItemListCounter.js.map +1 -0
  41. package/lib-es/components/ItemListCounter/index.js +3 -0
  42. package/lib-es/components/ItemListCounter/index.js.map +1 -0
  43. package/lib-es/components/List/ListBuilder.js +12 -6
  44. package/lib-es/components/List/ListBuilder.js.map +1 -1
  45. package/lib-es/components/List/ListFactory.js +33 -9
  46. package/lib-es/components/List/ListFactory.js.map +1 -1
  47. package/lib-es/components/index.js +6 -0
  48. package/lib-es/components/index.js.map +1 -1
  49. package/lib-es/constants/index.js +2 -1
  50. package/lib-es/constants/index.js.map +1 -1
  51. package/lib-es/helpers/build-raw-query.js.map +1 -1
  52. package/lib-es/helpers/get-item-list-data.js +7 -0
  53. package/lib-es/helpers/get-item-list-data.js.map +1 -0
  54. package/lib-es/helpers/get-item-list-id.js +11 -0
  55. package/lib-es/helpers/get-item-list-id.js.map +1 -0
  56. package/lib-es/helpers/get-item-list-ids.js +13 -0
  57. package/lib-es/helpers/get-item-list-ids.js.map +1 -0
  58. package/lib-es/helpers/index.js +3 -0
  59. package/lib-es/helpers/index.js.map +1 -1
  60. package/package.json +2 -2
  61. package/src/application/query/index.js +50 -1
  62. package/src/components/Card/CardFactory.js +5 -3
  63. package/src/components/ItemListButton/ItemListButton.js +107 -0
  64. package/src/components/ItemListButton/index.js +3 -0
  65. package/src/components/ItemListCounter/ItemListCounter.js +68 -0
  66. package/src/components/ItemListCounter/index.js +3 -0
  67. package/src/components/List/ListBuilder.js +10 -5
  68. package/src/components/List/ListFactory.js +50 -12
  69. package/src/components/index.js +6 -0
  70. package/src/constants/index.js +4 -1
  71. package/src/helpers/build-raw-query.js +1 -0
  72. package/src/helpers/get-item-list-data.js +6 -0
  73. package/src/helpers/get-item-list-id.js +11 -0
  74. package/src/helpers/get-item-list-ids.js +10 -0
  75. package/src/helpers/index.js +3 -0
  76. package/tests/unit/src/components/__snapshots__/index.test.js.snap +8 -0
  77. package/tests/unit/src/helpers/get-item-list-data.test.js +28 -0
  78. package/tests/unit/src/helpers/get-item-list-id.test.js +20 -0
  79. package/tests/unit/src/helpers/get-item-list-ids.test.js +19 -0
@@ -165,5 +165,48 @@ const getPublishedContent = entity => `
165
165
  }
166
166
  `;
167
167
 
168
- export { getEntitySchema, getSingleEntitySchema, getAction, getFiles, getFileById, generateMultiItemQuery, generateSingleItemQuery, getPublishedContent, getSearchPublishedContent, getCount, getMultipleSchema, getUser, getRecordParents };
168
+ const getItemList = gql`
169
+ query getItemList($id: String!) {
170
+ getItemList(id: $id) {
171
+ listItems {
172
+ itemId
173
+ itemEntity
174
+ }
175
+ }
176
+ }
177
+ `;
178
+ const addItemsToList = gql`
179
+ mutation addItemsToList(
180
+ $name: String!
181
+ $id: String
182
+ $listItems: [AddItemsToListInputListItemsItem]!
183
+ ) {
184
+ addItemsToList(input: { name: $name, id: $id, listItems: $listItems }) {
185
+ result {
186
+ id
187
+ listItems {
188
+ itemId
189
+ itemEntity
190
+ }
191
+ }
192
+ }
193
+ }
194
+ `;
195
+ const removeItemsFromList = gql`
196
+ mutation removeItemsFromList(
197
+ $listId: String!
198
+ $listItems: [RemoveItemsFromListInputListItemsItem]!
199
+ ) {
200
+ removeItemsFromList(input: { id: $listId, listItems: $listItems }) {
201
+ result {
202
+ id
203
+ listItems {
204
+ itemId
205
+ itemEntity
206
+ }
207
+ }
208
+ }
209
+ }
210
+ `;
211
+ export { getEntitySchema, getSingleEntitySchema, getAction, getFiles, getFileById, generateMultiItemQuery, generateSingleItemQuery, getPublishedContent, getSearchPublishedContent, getCount, getMultipleSchema, getUser, getRecordParents, getItemList, addItemsToList, removeItemsFromList };
169
212
  //# sourceMappingURL=index.js.map
@@ -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"],"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\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};\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,SACErB,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"}
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,CATA;AAWA,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,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- const _excluded = ["entity", "propsToDisplay", "itemsToDisplay"],
3
+ const _excluded = ["entity", "propsToDisplay", "itemsToDisplay", "itemListName"],
4
4
  _excluded2 = ["gridModifier"];
5
5
  import React from 'react';
6
6
  import { useQuery } from '@apollo/client';
@@ -14,7 +14,8 @@ const CardFactory = _ref => {
14
14
  let {
15
15
  entity,
16
16
  propsToDisplay,
17
- itemsToDisplay
17
+ itemsToDisplay,
18
+ itemListName
18
19
  } = _ref,
19
20
  cardProps = _objectWithoutProperties(_ref, _excluded);
20
21
 
@@ -53,11 +54,13 @@ const CardFactory = _ref => {
53
54
  CardFactory.propTypes = {
54
55
  entity: PropTypes.string.isRequired,
55
56
  propsToDisplay: PropTypes.array,
56
- itemsToDisplay: PropTypes.array
57
+ itemsToDisplay: PropTypes.array,
58
+ itemListName: PropTypes.string
57
59
  };
58
60
  CardFactory.defaultProps = {
59
61
  propsToDisplay: [],
60
- itemsToDisplay: []
62
+ itemsToDisplay: [],
63
+ itemListName: ''
61
64
  };
62
65
  export default CardFactory;
63
66
  //# sourceMappingURL=CardFactory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CardFactory.js","names":["React","useQuery","PropTypes","getSingleEntitySchema","CardRender","buildPropsQuery","getGenericProps","checkPropsToUse","WITH_BANNER","CardFactory","entity","propsToDisplay","itemsToDisplay","cardProps","data","error","loading","variables","id","message","propsToDisplayValues","extraProps","gridModifier","cardRenderProps","extraModifierForBanner","banner","propTypes","string","isRequired","array","defaultProps"],"sources":["../../../src/components/Card/CardFactory.js"],"sourcesContent":["import React from 'react';\nimport { useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { getSingleEntitySchema } from '../../application/query';\nimport CardRender from './CardRender';\nimport { buildPropsQuery, getGenericProps, checkPropsToUse } from '../../helpers';\nimport { WITH_BANNER } from '../../constants';\n\nconst CardFactory = ({ entity, propsToDisplay, itemsToDisplay, ...cardProps }) => {\n const { data, error, loading } = useQuery(getSingleEntitySchema, {\n variables: { id: entity }\n });\n\n if (loading) return '';\n if (error) return error.message;\n if (!data) return null;\n\n const propsToDisplayValues = checkPropsToUse(propsToDisplay);\n const extraProps = buildPropsQuery(data, propsToDisplayValues, cardProps) || '';\n const { gridModifier, ...cardRenderProps } = getGenericProps(cardProps);\n const extraModifierForBanner = cardRenderProps.banner ? WITH_BANNER : '';\n\n return (\n <CardRender\n gridModifier={`${gridModifier}${extraModifierForBanner}`}\n bannerModifier={extraModifierForBanner}\n entity={entity}\n itemsToDisplay={itemsToDisplay}\n propsToDisplay={propsToDisplay}\n entityFields={extraProps}\n {...cardRenderProps}\n />\n );\n};\n\nCardFactory.propTypes = {\n entity: PropTypes.string.isRequired,\n propsToDisplay: PropTypes.array,\n itemsToDisplay: PropTypes.array\n};\n\nCardFactory.defaultProps = {\n propsToDisplay: [],\n itemsToDisplay: []\n};\n\nexport default CardFactory;\n"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,QAAT,QAAyB,gBAAzB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,qBAAT,QAAsC,yBAAtC;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,SAASC,eAAT,EAA0BC,eAA1B,EAA2CC,eAA3C,QAAkE,eAAlE;AACA,SAASC,WAAT,QAA4B,iBAA5B;;AAEA,MAAMC,WAAW,GAAG,QAA8D;EAAA,IAA7D;IAAEC,MAAF;IAAUC,cAAV;IAA0BC;EAA1B,CAA6D;EAAA,IAAhBC,SAAgB;;EAChF,MAAM;IAAEC,IAAF;IAAQC,KAAR;IAAeC;EAAf,IAA2Bf,QAAQ,CAACE,qBAAD,EAAwB;IAC/Dc,SAAS,EAAE;MAAEC,EAAE,EAAER;IAAN;EADoD,CAAxB,CAAzC;EAIA,IAAIM,OAAJ,EAAa,OAAO,EAAP;EACb,IAAID,KAAJ,EAAW,OAAOA,KAAK,CAACI,OAAb;EACX,IAAI,CAACL,IAAL,EAAW,OAAO,IAAP;EAEX,MAAMM,oBAAoB,GAAGb,eAAe,CAACI,cAAD,CAA5C;EACA,MAAMU,UAAU,GAAGhB,eAAe,CAACS,IAAD,EAAOM,oBAAP,EAA6BP,SAA7B,CAAf,IAA0D,EAA7E;;EACA,yBAA6CP,eAAe,CAACO,SAAD,CAA5D;EAAA,MAAM;IAAES;EAAF,CAAN;EAAA,MAAyBC,eAAzB;;EACA,MAAMC,sBAAsB,GAAGD,eAAe,CAACE,MAAhB,GAAyBjB,WAAzB,GAAuC,EAAtE;EAEA,oBACE,oBAAC,UAAD;IACE,YAAY,EAAG,GAAEc,YAAa,GAAEE,sBAAuB,EADzD;IAEE,cAAc,EAAEA,sBAFlB;IAGE,MAAM,EAAEd,MAHV;IAIE,cAAc,EAAEE,cAJlB;IAKE,cAAc,EAAED,cALlB;IAME,YAAY,EAAEU;EANhB,GAOME,eAPN,EADF;AAWD,CAzBD;;AA2BAd,WAAW,CAACiB,SAAZ,GAAwB;EACtBhB,MAAM,EAAER,SAAS,CAACyB,MAAV,CAAiBC,UADH;EAEtBjB,cAAc,EAAET,SAAS,CAAC2B,KAFJ;EAGtBjB,cAAc,EAAEV,SAAS,CAAC2B;AAHJ,CAAxB;AAMApB,WAAW,CAACqB,YAAZ,GAA2B;EACzBnB,cAAc,EAAE,EADS;EAEzBC,cAAc,EAAE;AAFS,CAA3B;AAKA,eAAeH,WAAf"}
1
+ {"version":3,"file":"CardFactory.js","names":["React","useQuery","PropTypes","getSingleEntitySchema","CardRender","buildPropsQuery","getGenericProps","checkPropsToUse","WITH_BANNER","CardFactory","entity","propsToDisplay","itemsToDisplay","itemListName","cardProps","data","error","loading","variables","id","message","propsToDisplayValues","extraProps","gridModifier","cardRenderProps","extraModifierForBanner","banner","propTypes","string","isRequired","array","defaultProps"],"sources":["../../../src/components/Card/CardFactory.js"],"sourcesContent":["import React from 'react';\nimport { useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { getSingleEntitySchema } from '../../application/query';\nimport CardRender from './CardRender';\nimport { buildPropsQuery, getGenericProps, checkPropsToUse } from '../../helpers';\nimport { WITH_BANNER } from '../../constants';\n\nconst CardFactory = ({ entity, propsToDisplay, itemsToDisplay, itemListName, ...cardProps }) => {\n const { data, error, loading } = useQuery(getSingleEntitySchema, {\n variables: { id: entity }\n });\n\n if (loading) return '';\n if (error) return error.message;\n if (!data) return null;\n\n const propsToDisplayValues = checkPropsToUse(propsToDisplay);\n const extraProps = buildPropsQuery(data, propsToDisplayValues, cardProps) || '';\n const { gridModifier, ...cardRenderProps } = getGenericProps(cardProps);\n const extraModifierForBanner = cardRenderProps.banner ? WITH_BANNER : '';\n\n return (\n <CardRender\n gridModifier={`${gridModifier}${extraModifierForBanner}`}\n bannerModifier={extraModifierForBanner}\n entity={entity}\n itemsToDisplay={itemsToDisplay}\n propsToDisplay={propsToDisplay}\n entityFields={extraProps}\n {...cardRenderProps}\n />\n );\n};\n\nCardFactory.propTypes = {\n entity: PropTypes.string.isRequired,\n propsToDisplay: PropTypes.array,\n itemsToDisplay: PropTypes.array,\n itemListName: PropTypes.string\n};\n\nCardFactory.defaultProps = {\n propsToDisplay: [],\n itemsToDisplay: [],\n itemListName: ''\n};\n\nexport default CardFactory;\n"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,QAAT,QAAyB,gBAAzB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,qBAAT,QAAsC,yBAAtC;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,SAASC,eAAT,EAA0BC,eAA1B,EAA2CC,eAA3C,QAAkE,eAAlE;AACA,SAASC,WAAT,QAA4B,iBAA5B;;AAEA,MAAMC,WAAW,GAAG,QAA4E;EAAA,IAA3E;IAAEC,MAAF;IAAUC,cAAV;IAA0BC,cAA1B;IAA0CC;EAA1C,CAA2E;EAAA,IAAhBC,SAAgB;;EAC9F,MAAM;IAAEC,IAAF;IAAQC,KAAR;IAAeC;EAAf,IAA2BhB,QAAQ,CAACE,qBAAD,EAAwB;IAC/De,SAAS,EAAE;MAAEC,EAAE,EAAET;IAAN;EADoD,CAAxB,CAAzC;EAIA,IAAIO,OAAJ,EAAa,OAAO,EAAP;EACb,IAAID,KAAJ,EAAW,OAAOA,KAAK,CAACI,OAAb;EACX,IAAI,CAACL,IAAL,EAAW,OAAO,IAAP;EAEX,MAAMM,oBAAoB,GAAGd,eAAe,CAACI,cAAD,CAA5C;EACA,MAAMW,UAAU,GAAGjB,eAAe,CAACU,IAAD,EAAOM,oBAAP,EAA6BP,SAA7B,CAAf,IAA0D,EAA7E;;EACA,yBAA6CR,eAAe,CAACQ,SAAD,CAA5D;EAAA,MAAM;IAAES;EAAF,CAAN;EAAA,MAAyBC,eAAzB;;EACA,MAAMC,sBAAsB,GAAGD,eAAe,CAACE,MAAhB,GAAyBlB,WAAzB,GAAuC,EAAtE;EAEA,oBACE,oBAAC,UAAD;IACE,YAAY,EAAG,GAAEe,YAAa,GAAEE,sBAAuB,EADzD;IAEE,cAAc,EAAEA,sBAFlB;IAGE,MAAM,EAAEf,MAHV;IAIE,cAAc,EAAEE,cAJlB;IAKE,cAAc,EAAED,cALlB;IAME,YAAY,EAAEW;EANhB,GAOME,eAPN,EADF;AAWD,CAzBD;;AA2BAf,WAAW,CAACkB,SAAZ,GAAwB;EACtBjB,MAAM,EAAER,SAAS,CAAC0B,MAAV,CAAiBC,UADH;EAEtBlB,cAAc,EAAET,SAAS,CAAC4B,KAFJ;EAGtBlB,cAAc,EAAEV,SAAS,CAAC4B,KAHJ;EAItBjB,YAAY,EAAEX,SAAS,CAAC0B;AAJF,CAAxB;AAOAnB,WAAW,CAACsB,YAAZ,GAA2B;EACzBpB,cAAc,EAAE,EADS;EAEzBC,cAAc,EAAE,EAFS;EAGzBC,YAAY,EAAE;AAHW,CAA3B;AAMA,eAAeJ,WAAf"}
@@ -0,0 +1,118 @@
1
+ import React, { useState, useEffect } from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { BsBookmarkStarFill, BsBookmarkCheckFill, BsBookmarkStar, BsBookmarkXFill } from 'react-icons/bs';
4
+ import { useQuery, useMutation } from '@apollo/client';
5
+ import { getItemList, addItemsToList, removeItemsFromList } from '../../application/query';
6
+ import { getItemListData, getItemListId } from '../../helpers';
7
+ import { LIST_ITEM_LOCAL_KEY } from '../../constants';
8
+
9
+ const ItemListButton = ({
10
+ listName,
11
+ parent,
12
+ modifier
13
+ }) => {
14
+ const {
15
+ itemId,
16
+ itemEntity
17
+ } = parent;
18
+ const idFromStorage = getItemListId(listName);
19
+ const [listId, setListId] = useState(idFromStorage);
20
+ const [isHover, setIsHover] = useState(false);
21
+ useEffect(() => {
22
+ const storageEventHandler = () => {
23
+ const newId = getItemListId(listName);
24
+ setListId(newId);
25
+ };
26
+
27
+ window.addEventListener('storage', storageEventHandler);
28
+ return () => {
29
+ window.removeEventListener('storage', storageEventHandler);
30
+ };
31
+ }, [listName]);
32
+
33
+ const getIcon = () => {
34
+ if (isInList) return isHover ? BsBookmarkXFill : BsBookmarkCheckFill;
35
+ return isHover ? BsBookmarkStarFill : BsBookmarkStar;
36
+ };
37
+
38
+ const {
39
+ data,
40
+ error,
41
+ loading
42
+ } = useQuery(getItemList, {
43
+ variables: {
44
+ id: listId
45
+ },
46
+ skip: !listId
47
+ });
48
+ const [addListItem] = useMutation(addItemsToList, {
49
+ onCompleted: ({
50
+ addItemsToList: listAddResult
51
+ }) => {
52
+ const {
53
+ result: {
54
+ id
55
+ }
56
+ } = listAddResult;
57
+
58
+ if (!listId) {
59
+ const localListName = `${LIST_ITEM_LOCAL_KEY}${listName}`;
60
+ localStorage.setItem(localListName, id);
61
+ window.dispatchEvent(new Event('storage'));
62
+ }
63
+ }
64
+ });
65
+ const [removeListItem] = useMutation(removeItemsFromList);
66
+
67
+ const clickHandler = () => {
68
+ setIsHover(false);
69
+ isInList ? removeListItem({
70
+ variables: {
71
+ listId,
72
+ listItems: [{
73
+ itemId,
74
+ itemEntity
75
+ }]
76
+ },
77
+ skip: !listId
78
+ }) : addListItem({
79
+ variables: {
80
+ name: listName,
81
+ id: listId,
82
+ listItems: [{
83
+ itemId,
84
+ itemEntity
85
+ }]
86
+ },
87
+ skip: !listId
88
+ });
89
+ };
90
+
91
+ if (loading) return '';
92
+ if (error) return error.message;
93
+ const listItems = getItemListData(data);
94
+ const isInList = !!listItems.find(({
95
+ itemId: idToCheck
96
+ }) => idToCheck === itemId);
97
+ const Icon = getIcon();
98
+ return /*#__PURE__*/React.createElement("div", {
99
+ className: `item-list-button ${modifier}`,
100
+ role: "button",
101
+ onClick: clickHandler,
102
+ onMouseEnter: () => setIsHover(true),
103
+ onMouseLeave: () => setIsHover(false)
104
+ }, /*#__PURE__*/React.createElement("i", null, /*#__PURE__*/React.createElement(Icon, null)));
105
+ };
106
+
107
+ ItemListButton.propTypes = {
108
+ parent: PropTypes.object,
109
+ listName: PropTypes.string,
110
+ modifier: PropTypes.string
111
+ };
112
+ ItemListButton.defaultProps = {
113
+ parent: {},
114
+ listName: '',
115
+ modifier: ''
116
+ };
117
+ export default ItemListButton;
118
+ //# sourceMappingURL=ItemListButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ItemListButton.js","names":["React","useState","useEffect","PropTypes","BsBookmarkStarFill","BsBookmarkCheckFill","BsBookmarkStar","BsBookmarkXFill","useQuery","useMutation","getItemList","addItemsToList","removeItemsFromList","getItemListData","getItemListId","LIST_ITEM_LOCAL_KEY","ItemListButton","listName","parent","modifier","itemId","itemEntity","idFromStorage","listId","setListId","isHover","setIsHover","storageEventHandler","newId","window","addEventListener","removeEventListener","getIcon","isInList","data","error","loading","variables","id","skip","addListItem","onCompleted","listAddResult","result","localListName","localStorage","setItem","dispatchEvent","Event","removeListItem","clickHandler","listItems","name","message","find","idToCheck","Icon","propTypes","object","string","defaultProps"],"sources":["../../../src/components/ItemListButton/ItemListButton.js"],"sourcesContent":["import React, { useState, useEffect } 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, getItemListId } from '../../helpers';\nimport { LIST_ITEM_LOCAL_KEY } from '../../constants';\n\nconst ItemListButton = ({ listName, parent, modifier }) => {\n const { itemId, itemEntity } = parent;\n const idFromStorage = getItemListId(listName);\n const [listId, setListId] = useState(idFromStorage);\n const [isHover, setIsHover] = useState(false);\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 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 const localListName = `${LIST_ITEM_LOCAL_KEY}${listName}`;\n localStorage.setItem(localListName, id);\n window.dispatchEvent(new Event('storage'));\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(({ itemId: idToCheck }) => idToCheck === itemId);\n const Icon = getIcon();\n\n return (\n <div\n className={`item-list-button ${modifier}`}\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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"}
@@ -0,0 +1,3 @@
1
+ import ItemListButton from './ItemListButton';
2
+ export default ItemListButton;
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["ItemListButton"],"sources":["../../../src/components/ItemListButton/index.js"],"sourcesContent":["import ItemListButton from './ItemListButton';\n\nexport default ItemListButton;\n"],"mappings":"AAAA,OAAOA,cAAP,MAA2B,kBAA3B;AAEA,eAAeA,cAAf"}
@@ -0,0 +1,67 @@
1
+ import React, { useState, useEffect } from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { useRouter } from 'next/router';
4
+ import { useQuery } from '@apollo/client';
5
+ import { BsBookmarkStarFill, BsBookmarkStar } from 'react-icons/bs';
6
+ import { getItemList } from '../../application/query';
7
+ import { getItemListData, getItemListId } from '../../helpers';
8
+
9
+ const ItemListCounter = ({
10
+ listName,
11
+ modifier,
12
+ url
13
+ }) => {
14
+ const router = useRouter();
15
+ const idFromStorage = getItemListId(listName);
16
+ const [listId, setListId] = useState(idFromStorage);
17
+ useEffect(() => {
18
+ const storageEventHandler = () => {
19
+ const newId = getItemListId(listName);
20
+ setListId(newId);
21
+ };
22
+
23
+ window.addEventListener('storage', storageEventHandler);
24
+ return () => {
25
+ window.removeEventListener('storage', storageEventHandler);
26
+ };
27
+ }, [listName]);
28
+ const {
29
+ data,
30
+ error,
31
+ loading
32
+ } = useQuery(getItemList, {
33
+ variables: {
34
+ id: listId
35
+ },
36
+ skip: !listId
37
+ });
38
+ if (loading) return '';
39
+ if (error) return error.message;
40
+ const listItems = getItemListData(data);
41
+ const listLength = listItems.length;
42
+ const CounterIcon = listLength ? BsBookmarkStarFill : BsBookmarkStar;
43
+
44
+ const handleClick = () => router.push('/Resolver', `${url}?itemListId=${listId}`);
45
+
46
+ return /*#__PURE__*/React.createElement("div", {
47
+ role: "button",
48
+ type: "button",
49
+ className: `item-list-counter ${modifier}`,
50
+ onClick: handleClick
51
+ }, /*#__PURE__*/React.createElement(CounterIcon, null), /*#__PURE__*/React.createElement("span", {
52
+ className: "item-list-counter__badge"
53
+ }, listLength));
54
+ };
55
+
56
+ ItemListCounter.propTypes = {
57
+ url: PropTypes.string,
58
+ listName: PropTypes.string,
59
+ modifier: PropTypes.string
60
+ };
61
+ ItemListCounter.defaultProps = {
62
+ url: '',
63
+ listName: '',
64
+ modifier: ''
65
+ };
66
+ export default ItemListCounter;
67
+ //# sourceMappingURL=ItemListCounter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ItemListCounter.js","names":["React","useState","useEffect","PropTypes","useRouter","useQuery","BsBookmarkStarFill","BsBookmarkStar","getItemList","getItemListData","getItemListId","ItemListCounter","listName","modifier","url","router","idFromStorage","listId","setListId","storageEventHandler","newId","window","addEventListener","removeEventListener","data","error","loading","variables","id","skip","message","listItems","listLength","length","CounterIcon","handleClick","push","propTypes","string","defaultProps"],"sources":["../../../src/components/ItemListCounter/ItemListCounter.js"],"sourcesContent":["import React, { useState, useEffect } 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 { getItemListData, getItemListId } from '../../helpers';\n\nconst ItemListCounter = ({ listName, modifier, url }) => {\n const router = useRouter();\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 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,IAAgBC,QAAhB,EAA0BC,SAA1B,QAA2C,OAA3C;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,yBAA5B;AACA,SAASC,eAAT,EAA0BC,aAA1B,QAA+C,eAA/C;;AAEA,MAAMC,eAAe,GAAG,CAAC;EAAEC,QAAF;EAAYC,QAAZ;EAAsBC;AAAtB,CAAD,KAAiC;EACvD,MAAMC,MAAM,GAAGX,SAAS,EAAxB;EACA,MAAMY,aAAa,GAAGN,aAAa,CAACE,QAAD,CAAnC;EACA,MAAM,CAACK,MAAD,EAASC,SAAT,IAAsBjB,QAAQ,CAACe,aAAD,CAApC;EAEAd,SAAS,CACP,MAAM;IACJ,MAAMiB,mBAAmB,GAAG,MAAM;MAChC,MAAMC,KAAK,GAAGV,aAAa,CAACE,QAAD,CAA3B;MACAM,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,CAACP,QAAD,CAbO,CAAT;EAgBA,MAAM;IAAEY,IAAF;IAAQC,KAAR;IAAeC;EAAf,IAA2BrB,QAAQ,CAACG,WAAD,EAAc;IACrDmB,SAAS,EAAE;MAAEC,EAAE,EAAEX;IAAN,CAD0C;IAErDY,IAAI,EAAE,CAACZ;EAF8C,CAAd,CAAzC;EAKA,IAAIS,OAAJ,EAAa,OAAO,EAAP;EACb,IAAID,KAAJ,EAAW,OAAOA,KAAK,CAACK,OAAb;EAEX,MAAMC,SAAS,GAAGtB,eAAe,CAACe,IAAD,CAAjC;EACA,MAAMQ,UAAU,GAAGD,SAAS,CAACE,MAA7B;EACA,MAAMC,WAAW,GAAGF,UAAU,GAAG1B,kBAAH,GAAwBC,cAAtD;;EAEA,MAAM4B,WAAW,GAAG,MAAMpB,MAAM,CAACqB,IAAP,CAAY,WAAZ,EAA0B,GAAEtB,GAAI,eAAcG,MAAO,EAArD,CAA1B;;EAEA,oBACE;IACE,IAAI,EAAC,QADP;IAEE,IAAI,EAAC,QAFP;IAGE,SAAS,EAAG,qBAAoBJ,QAAS,EAH3C;IAIE,OAAO,EAAEsB;EAJX,gBAKE,oBAAC,WAAD,OALF,eAME;IAAM,SAAS,EAAC;EAAhB,GAA4CH,UAA5C,CANF,CADF;AAUD,CA7CD;;AA+CArB,eAAe,CAAC0B,SAAhB,GAA4B;EAC1BvB,GAAG,EAAEX,SAAS,CAACmC,MADW;EAE1B1B,QAAQ,EAAET,SAAS,CAACmC,MAFM;EAG1BzB,QAAQ,EAAEV,SAAS,CAACmC;AAHM,CAA5B;AAMA3B,eAAe,CAAC4B,YAAhB,GAA+B;EAC7BzB,GAAG,EAAE,EADwB;EAE7BF,QAAQ,EAAE,EAFmB;EAG7BC,QAAQ,EAAE;AAHmB,CAA/B;AAMA,eAAeF,eAAf"}
@@ -0,0 +1,3 @@
1
+ import ItemListCounter from './ItemListCounter';
2
+ export default ItemListCounter;
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["ItemListCounter"],"sources":["../../../src/components/ItemListCounter/index.js"],"sourcesContent":["import ItemListCounter from './ItemListCounter';\n\nexport default ItemListCounter;\n"],"mappings":"AAAA,OAAOA,eAAP,MAA4B,mBAA5B;AAEA,eAAeA,eAAf"}
@@ -46,13 +46,15 @@ const ListBuilder = props => {
46
46
  requiredSchema,
47
47
  searchValues,
48
48
  azFilter,
49
- sortProperties
49
+ sortProperties,
50
+ itemListIds
50
51
  } = props;
51
52
  const isInfinite = paginationType === INFINITE;
52
53
  const listComponent = getListComponent(isCard, paginationType);
53
54
  const propsToDisplayValues = checkPropsToUse(propsToDisplay);
54
55
  const entityFields = buildPropsQuery(entitySchema, propsToDisplayValues, props) || '';
55
- const limitToUse = limit || itemsToDisplay.length;
56
+ const itemsToDisplayToUse = itemListIds || itemsToDisplay;
57
+ const limitToUse = limit || itemsToDisplayToUse.length;
56
58
  const shouldApplyDefaultSort = !sortProperties || !sortProperties.length;
57
59
  const itemsPerPageToUse = getItemsPerPageToUse(itemsPerPage, limitToUse);
58
60
  const initialOffset = getCurrentOffset(offset, itemsPerPageToUse, paginationIndex, limitToUse);
@@ -76,7 +78,7 @@ const ListBuilder = props => {
76
78
  filterOperator,
77
79
  relations,
78
80
  stringProps
79
- }, itemId, itemsToDisplay, shouldApplyDefaultSort, {
81
+ }, itemId, itemsToDisplayToUse, shouldApplyDefaultSort, {
80
82
  shouldReturnAggs: true,
81
83
  isAZ
82
84
  });
@@ -106,7 +108,7 @@ const ListBuilder = props => {
106
108
  relations,
107
109
  stringProps,
108
110
  azFilter
109
- }, itemId, itemsToDisplay, shouldApplyDefaultSort, {
111
+ }, itemId, itemsToDisplayToUse, shouldApplyDefaultSort, {
110
112
  shouldReturnAggs: false,
111
113
  isAZ
112
114
  });
@@ -130,7 +132,9 @@ const ListBuilder = props => {
130
132
  listAggregations: updatedAggregations,
131
133
  isAZ: isAZ,
132
134
  azFilter: azFilter
133
- }, props));
135
+ }, props, {
136
+ itemsToDisplay: itemsToDisplayToUse
137
+ }));
134
138
  };
135
139
 
136
140
  ListBuilder.propTypes = {
@@ -159,11 +163,13 @@ ListBuilder.propTypes = {
159
163
  filterOperator: PropTypes.string.isRequired,
160
164
  paginationType: PropTypes.string,
161
165
  azFilter: PropTypes.string,
162
- sortProperties: PropTypes.array
166
+ sortProperties: PropTypes.array,
167
+ itemListIds: PropTypes.array
163
168
  };
164
169
  ListBuilder.defaultProps = {
165
170
  entityData: {},
166
171
  itemsToDisplay: [],
172
+ itemListIds: null,
167
173
  limit: 0,
168
174
  omitWrappers: false,
169
175
  offset: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"ListBuilder.js","names":["React","PropTypes","useQuery","getStringTypeProps","CardRenderWithInfiniteScroll","CardsRender","FullRender","FullRenderWithInfiniteScroll","ListRender","getSearchPublishedContent","buildRawQuery","buildQueryFields","buildSetFilters","getGenericRenderVariables","getEntityData","getCurrentOffset","getUpdatedFilterBy","checkPropsToUse","buildPropsQuery","sortAggs","getItemsPerPageToUse","buildAzAggregations","SEARCH_PUBLISHED_CONTENT","INFINITE","CLASSIC","RAW_RESULTS","ListBuilder","props","entitySchema","isCard","isAZ","inheritedFilters","paginationType","entity","isTextSearchFilterApplied","parent","itemId","itemsPerPage","itemsToDisplay","limit","propsToDisplay","offset","entityData","sortby","sort","paginationIndex","omitWrappers","operator","filterOperator","currentSchema","filterEntitySchema","requiredSchema","searchValues","azFilter","sortProperties","isInfinite","listComponent","getListComponent","propsToDisplayValues","entityFields","limitToUse","length","shouldApplyDefaultSort","itemsPerPageToUse","initialOffset","entityType","docType","fields","action","actionKey","updatedFilterBy","filterValues","filterBy","relations","stringProps","Object","values","azRawQuery","shouldReturnAggs","azVariables","azAction","data","error","loading","variables","skip","message","listAggregations","updatedAggregations","rawQuery","propTypes","string","isRequired","object","bool","number","array","defaultProps","isNotClassic"],"sources":["../../../src/components/List/ListBuilder.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useQuery } from '@apollo/client';\nimport { getStringTypeProps } from '@blaze-cms/utils/src/helpers';\nimport {\n CardRenderWithInfiniteScroll,\n CardsRender,\n FullRender,\n FullRenderWithInfiniteScroll\n} from './components';\nimport ListRender from './ListRender';\nimport { getSearchPublishedContent } from '../../application/query';\nimport {\n buildRawQuery,\n buildQueryFields,\n buildSetFilters,\n getGenericRenderVariables,\n getEntityData,\n getCurrentOffset,\n getUpdatedFilterBy,\n checkPropsToUse,\n buildPropsQuery\n} from '../../helpers';\nimport { sortAggs, getItemsPerPageToUse, buildAzAggregations } from './helpers';\nimport { SEARCH_PUBLISHED_CONTENT, INFINITE, CLASSIC } from '../../constants';\nimport { RAW_RESULTS } from './constants';\n\nconst ListBuilder = props => {\n const {\n entitySchema,\n isCard,\n isAZ,\n inheritedFilters,\n paginationType,\n entity,\n isTextSearchFilterApplied,\n parent: { itemId },\n itemsPerPage,\n itemsToDisplay,\n limit,\n propsToDisplay,\n offset,\n entityData,\n sortby,\n sort,\n paginationIndex,\n omitWrappers,\n operator,\n filterOperator,\n currentSchema,\n filterEntitySchema,\n requiredSchema,\n searchValues,\n azFilter,\n sortProperties\n } = props;\n const isInfinite = paginationType === INFINITE;\n const listComponent = getListComponent(isCard, paginationType);\n const propsToDisplayValues = checkPropsToUse(propsToDisplay);\n const entityFields = buildPropsQuery(entitySchema, propsToDisplayValues, props) || '';\n const limitToUse = limit || itemsToDisplay.length;\n const shouldApplyDefaultSort = !sortProperties || !sortProperties.length;\n const itemsPerPageToUse = getItemsPerPageToUse(itemsPerPage, limitToUse);\n const initialOffset = getCurrentOffset(offset, itemsPerPageToUse, paginationIndex, limitToUse);\n const { entityType, docType } = getEntityData(entity, requiredSchema);\n const fields = buildQueryFields(entityFields, entityType, !isCard);\n const action = getSearchPublishedContent(fields);\n const actionKey = SEARCH_PUBLISHED_CONTENT;\n const updatedFilterBy = getUpdatedFilterBy(\n inheritedFilters,\n entityData,\n currentSchema,\n filterEntitySchema,\n itemId,\n props\n );\n\n const filterValues =\n updatedFilterBy && updatedFilterBy.length\n ? buildSetFilters({ ...props, filterBy: updatedFilterBy })\n : buildSetFilters({ ...props });\n\n const { relations = [] } = filterEntitySchema;\n const stringProps = getStringTypeProps(entity, relations, Object.values(requiredSchema));\n\n const azRawQuery = buildRawQuery(\n docType,\n operator,\n searchValues,\n {\n filterValues,\n filterOperator,\n relations,\n stringProps\n },\n itemId,\n itemsToDisplay,\n shouldApplyDefaultSort,\n { shouldReturnAggs: true, isAZ }\n );\n\n const azVariables = getGenericRenderVariables(\n relations,\n {\n ...props,\n limit: itemsPerPageToUse,\n offset: initialOffset,\n sort,\n sortby,\n sortProperties\n },\n stringProps,\n azRawQuery,\n isTextSearchFilterApplied\n );\n\n const azAction = getSearchPublishedContent(RAW_RESULTS);\n const { data, error, loading } = useQuery(azAction, {\n variables: azVariables,\n skip: !isAZ\n });\n if (loading) return '';\n if (error) return error.message;\n\n const listAggregations = isAZ ? sortAggs(data) : [];\n const updatedAggregations = buildAzAggregations(listAggregations);\n\n const rawQuery = buildRawQuery(\n docType,\n operator,\n searchValues,\n {\n filterValues,\n filterOperator,\n relations,\n stringProps,\n azFilter\n },\n itemId,\n itemsToDisplay,\n shouldApplyDefaultSort,\n { shouldReturnAggs: false, isAZ }\n );\n\n const variables = getGenericRenderVariables(\n relations,\n {\n ...props,\n limit: itemsPerPageToUse,\n offset: initialOffset,\n sort,\n sortby,\n sortProperties\n },\n stringProps,\n rawQuery,\n isTextSearchFilterApplied\n );\n\n return (\n <ListRender\n variables={variables}\n isInfinite={isInfinite}\n initialOffset={initialOffset}\n actionKey={actionKey}\n limitToUse={limitToUse}\n itemsPerPageToUse={itemsPerPageToUse}\n action={action}\n omitWrappers={omitWrappers}\n listComponent={listComponent}\n listAggregations={updatedAggregations}\n isAZ={isAZ}\n azFilter={azFilter}\n {...props}\n />\n );\n};\n\nListBuilder.propTypes = {\n entity: PropTypes.string.isRequired,\n entitySchema: PropTypes.object.isRequired,\n isCard: PropTypes.bool.isRequired,\n isAZ: PropTypes.bool.isRequired,\n isTextSearchFilterApplied: PropTypes.bool.isRequired,\n parent: PropTypes.object.isRequired,\n itemsPerPage: PropTypes.number.isRequired,\n paginationIndex: PropTypes.number.isRequired,\n propsToDisplay: PropTypes.array.isRequired,\n currentSchema: PropTypes.object.isRequired,\n filterEntitySchema: PropTypes.object.isRequired,\n requiredSchema: PropTypes.object.isRequired,\n searchValues: PropTypes.object.isRequired,\n inheritedFilters: PropTypes.array,\n entityData: PropTypes.object,\n itemsToDisplay: PropTypes.array,\n limit: PropTypes.number,\n omitWrappers: PropTypes.bool,\n offset: PropTypes.number,\n sortby: PropTypes.array.isRequired,\n sort: PropTypes.string.isRequired,\n operator: PropTypes.string.isRequired,\n filterOperator: PropTypes.string.isRequired,\n paginationType: PropTypes.string,\n azFilter: PropTypes.string,\n sortProperties: PropTypes.array\n};\n\nListBuilder.defaultProps = {\n entityData: {},\n itemsToDisplay: [],\n limit: 0,\n omitWrappers: false,\n offset: 0,\n paginationType: 'infinite',\n inheritedFilters: [],\n azFilter: '',\n sortProperties: []\n};\n\nexport default ListBuilder;\nfunction getListComponent(isCard, paginationType) {\n const isNotClassic = paginationType !== CLASSIC;\n\n if (isCard) return isNotClassic ? CardRenderWithInfiniteScroll : CardsRender;\n\n return isNotClassic ? FullRenderWithInfiniteScroll : FullRender;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ListBuilder.js","names":["React","PropTypes","useQuery","getStringTypeProps","CardRenderWithInfiniteScroll","CardsRender","FullRender","FullRenderWithInfiniteScroll","ListRender","getSearchPublishedContent","buildRawQuery","buildQueryFields","buildSetFilters","getGenericRenderVariables","getEntityData","getCurrentOffset","getUpdatedFilterBy","checkPropsToUse","buildPropsQuery","sortAggs","getItemsPerPageToUse","buildAzAggregations","SEARCH_PUBLISHED_CONTENT","INFINITE","CLASSIC","RAW_RESULTS","ListBuilder","props","entitySchema","isCard","isAZ","inheritedFilters","paginationType","entity","isTextSearchFilterApplied","parent","itemId","itemsPerPage","itemsToDisplay","limit","propsToDisplay","offset","entityData","sortby","sort","paginationIndex","omitWrappers","operator","filterOperator","currentSchema","filterEntitySchema","requiredSchema","searchValues","azFilter","sortProperties","itemListIds","isInfinite","listComponent","getListComponent","propsToDisplayValues","entityFields","itemsToDisplayToUse","limitToUse","length","shouldApplyDefaultSort","itemsPerPageToUse","initialOffset","entityType","docType","fields","action","actionKey","updatedFilterBy","filterValues","filterBy","relations","stringProps","Object","values","azRawQuery","shouldReturnAggs","azVariables","azAction","data","error","loading","variables","skip","message","listAggregations","updatedAggregations","rawQuery","propTypes","string","isRequired","object","bool","number","array","defaultProps","isNotClassic"],"sources":["../../../src/components/List/ListBuilder.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useQuery } from '@apollo/client';\nimport { getStringTypeProps } from '@blaze-cms/utils/src/helpers';\nimport {\n CardRenderWithInfiniteScroll,\n CardsRender,\n FullRender,\n FullRenderWithInfiniteScroll\n} from './components';\nimport ListRender from './ListRender';\nimport { getSearchPublishedContent } from '../../application/query';\nimport {\n buildRawQuery,\n buildQueryFields,\n buildSetFilters,\n getGenericRenderVariables,\n getEntityData,\n getCurrentOffset,\n getUpdatedFilterBy,\n checkPropsToUse,\n buildPropsQuery\n} from '../../helpers';\nimport { sortAggs, getItemsPerPageToUse, buildAzAggregations } from './helpers';\nimport { SEARCH_PUBLISHED_CONTENT, INFINITE, CLASSIC } from '../../constants';\nimport { RAW_RESULTS } from './constants';\n\nconst ListBuilder = props => {\n const {\n entitySchema,\n isCard,\n isAZ,\n inheritedFilters,\n paginationType,\n entity,\n isTextSearchFilterApplied,\n parent: { itemId },\n itemsPerPage,\n itemsToDisplay,\n limit,\n propsToDisplay,\n offset,\n entityData,\n sortby,\n sort,\n paginationIndex,\n omitWrappers,\n operator,\n filterOperator,\n currentSchema,\n filterEntitySchema,\n requiredSchema,\n searchValues,\n azFilter,\n sortProperties,\n itemListIds\n } = props;\n const isInfinite = paginationType === INFINITE;\n const listComponent = getListComponent(isCard, paginationType);\n const propsToDisplayValues = checkPropsToUse(propsToDisplay);\n const entityFields = buildPropsQuery(entitySchema, propsToDisplayValues, props) || '';\n const itemsToDisplayToUse = itemListIds || itemsToDisplay;\n const limitToUse = limit || itemsToDisplayToUse.length;\n const shouldApplyDefaultSort = !sortProperties || !sortProperties.length;\n const itemsPerPageToUse = getItemsPerPageToUse(itemsPerPage, limitToUse);\n const initialOffset = getCurrentOffset(offset, itemsPerPageToUse, paginationIndex, limitToUse);\n const { entityType, docType } = getEntityData(entity, requiredSchema);\n const fields = buildQueryFields(entityFields, entityType, !isCard);\n const action = getSearchPublishedContent(fields);\n const actionKey = SEARCH_PUBLISHED_CONTENT;\n const updatedFilterBy = getUpdatedFilterBy(\n inheritedFilters,\n entityData,\n currentSchema,\n filterEntitySchema,\n itemId,\n props\n );\n\n const filterValues =\n updatedFilterBy && updatedFilterBy.length\n ? buildSetFilters({ ...props, filterBy: updatedFilterBy })\n : buildSetFilters({ ...props });\n\n const { relations = [] } = filterEntitySchema;\n const stringProps = getStringTypeProps(entity, relations, Object.values(requiredSchema));\n\n const azRawQuery = buildRawQuery(\n docType,\n operator,\n searchValues,\n {\n filterValues,\n filterOperator,\n relations,\n stringProps\n },\n itemId,\n itemsToDisplayToUse,\n shouldApplyDefaultSort,\n { shouldReturnAggs: true, isAZ }\n );\n\n const azVariables = getGenericRenderVariables(\n relations,\n {\n ...props,\n limit: itemsPerPageToUse,\n offset: initialOffset,\n sort,\n sortby,\n sortProperties\n },\n stringProps,\n azRawQuery,\n isTextSearchFilterApplied\n );\n\n const azAction = getSearchPublishedContent(RAW_RESULTS);\n const { data, error, loading } = useQuery(azAction, {\n variables: azVariables,\n skip: !isAZ\n });\n if (loading) return '';\n if (error) return error.message;\n\n const listAggregations = isAZ ? sortAggs(data) : [];\n const updatedAggregations = buildAzAggregations(listAggregations);\n\n const rawQuery = buildRawQuery(\n docType,\n operator,\n searchValues,\n {\n filterValues,\n filterOperator,\n relations,\n stringProps,\n azFilter\n },\n itemId,\n itemsToDisplayToUse,\n shouldApplyDefaultSort,\n { shouldReturnAggs: false, isAZ }\n );\n\n const variables = getGenericRenderVariables(\n relations,\n {\n ...props,\n limit: itemsPerPageToUse,\n offset: initialOffset,\n sort,\n sortby,\n sortProperties\n },\n stringProps,\n rawQuery,\n isTextSearchFilterApplied\n );\n\n return (\n <ListRender\n variables={variables}\n isInfinite={isInfinite}\n initialOffset={initialOffset}\n actionKey={actionKey}\n limitToUse={limitToUse}\n itemsPerPageToUse={itemsPerPageToUse}\n action={action}\n omitWrappers={omitWrappers}\n listComponent={listComponent}\n listAggregations={updatedAggregations}\n isAZ={isAZ}\n azFilter={azFilter}\n {...props}\n itemsToDisplay={itemsToDisplayToUse}\n />\n );\n};\n\nListBuilder.propTypes = {\n entity: PropTypes.string.isRequired,\n entitySchema: PropTypes.object.isRequired,\n isCard: PropTypes.bool.isRequired,\n isAZ: PropTypes.bool.isRequired,\n isTextSearchFilterApplied: PropTypes.bool.isRequired,\n parent: PropTypes.object.isRequired,\n itemsPerPage: PropTypes.number.isRequired,\n paginationIndex: PropTypes.number.isRequired,\n propsToDisplay: PropTypes.array.isRequired,\n currentSchema: PropTypes.object.isRequired,\n filterEntitySchema: PropTypes.object.isRequired,\n requiredSchema: PropTypes.object.isRequired,\n searchValues: PropTypes.object.isRequired,\n inheritedFilters: PropTypes.array,\n entityData: PropTypes.object,\n itemsToDisplay: PropTypes.array,\n limit: PropTypes.number,\n omitWrappers: PropTypes.bool,\n offset: PropTypes.number,\n sortby: PropTypes.array.isRequired,\n sort: PropTypes.string.isRequired,\n operator: PropTypes.string.isRequired,\n filterOperator: PropTypes.string.isRequired,\n paginationType: PropTypes.string,\n azFilter: PropTypes.string,\n sortProperties: PropTypes.array,\n itemListIds: PropTypes.array\n};\n\nListBuilder.defaultProps = {\n entityData: {},\n itemsToDisplay: [],\n itemListIds: null,\n limit: 0,\n omitWrappers: false,\n offset: 0,\n paginationType: 'infinite',\n inheritedFilters: [],\n azFilter: '',\n sortProperties: []\n};\n\nexport default ListBuilder;\nfunction getListComponent(isCard, paginationType) {\n const isNotClassic = paginationType !== CLASSIC;\n\n if (isCard) return isNotClassic ? CardRenderWithInfiniteScroll : CardsRender;\n\n return isNotClassic ? FullRenderWithInfiniteScroll : FullRender;\n}\n"],"mappings":"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"}
@@ -10,11 +10,11 @@ import { parseUrl } from 'query-string';
10
10
  import PropTypes from 'prop-types';
11
11
  import { useRouter } from 'next/router';
12
12
  import { MainContext } from '@blaze-cms/nextjs-components';
13
- import { getSingleEntitySchema, generateSingleItemQuery } from '../../application/query';
13
+ import { getSingleEntitySchema, generateSingleItemQuery, getItemList } from '../../application/query';
14
14
  import ListBuilder from './ListBuilder';
15
15
  import { AZ_LIST_TYPE } from './constants';
16
16
  import { getAzQueryFilter, getSortProps } from './helpers';
17
- import { getGenericProps, getRequiredSchemas, checkForError, getUnpublishedEntityName, getPaginationIndex, getSearchFilterType, getElasticsearchOperator, buildSearchValuesText, getQueryFilters, getInheritedFilters, getQueryProps } from '../../helpers';
17
+ import { getGenericProps, getRequiredSchemas, checkForError, getUnpublishedEntityName, getPaginationIndex, getSearchFilterType, getElasticsearchOperator, buildSearchValuesText, getQueryFilters, getInheritedFilters, getQueryProps, getItemListId, getItemListIds } from '../../helpers';
18
18
  import { useGetEntitySchemasAsObj } from '../../hooks';
19
19
  import { AND_OPERATOR, TEXT_SEARCH, ID, AND, FULL } from '../../constants';
20
20
 
@@ -31,7 +31,8 @@ const ListFactory = props => {
31
31
  sort: defaultSort,
32
32
  searchFilter,
33
33
  operator: filterOperator,
34
- sortProperties
34
+ sortProperties,
35
+ itemListName
35
36
  } = props;
36
37
  const {
37
38
  isPreview
@@ -46,7 +47,8 @@ const ListFactory = props => {
46
47
  url,
47
48
  query: {
48
49
  sort: querySort,
49
- sortby: querySortBy
50
+ sortby: querySortBy,
51
+ itemListId: queryItemListId
50
52
  } = {}
51
53
  } = parseUrl(parsedQuery);
52
54
  const {
@@ -59,6 +61,7 @@ const ListFactory = props => {
59
61
  querySortBy,
60
62
  defaultSortBy
61
63
  });
64
+ const itemListId = getItemListId(itemListName, queryItemListId);
62
65
  const {
63
66
  itemEntity,
64
67
  itemId
@@ -107,14 +110,32 @@ const ListFactory = props => {
107
110
  },
108
111
  skip: schemasLoading || !inheritedFilters.length && queryProps === ID
109
112
  });
110
- const errorsToCheck = [schemaError, schemasError, requiredSchemaError, itemQueryError];
113
+ const {
114
+ data: itemListData = {},
115
+ error: itemListError,
116
+ loading: itemListLoading
117
+ } = useQuery(getItemList, {
118
+ variables: {
119
+ id: itemListId
120
+ },
121
+ skip: !itemListId
122
+ });
123
+
124
+ if (!queryItemListId && itemListId) {
125
+ router.push('/Resolver', `${asPath}?itemListId=${itemListId}`, {
126
+ shallow: true
127
+ });
128
+ }
129
+
130
+ const errorsToCheck = [schemaError, schemasError, requiredSchemaError, itemQueryError, itemListError];
111
131
  const {
112
132
  hasErr,
113
133
  errMsg
114
134
  } = checkForError(errorsToCheck);
115
- if (requiredSchemaLoading || schemasLoading || schemaLoading || itemQueryLoading) return '';
135
+ if (requiredSchemaLoading || schemasLoading || schemaLoading || itemQueryLoading || itemListLoading) return '';
116
136
  if (hasErr) return errMsg;
117
137
  if (!entitySchema) return null;
138
+ const itemListIds = getItemListIds(itemListData);
118
139
  const isCard = type !== FULL;
119
140
  const isAZ = type === AZ_LIST_TYPE;
120
141
  const genericProps = getGenericProps(props);
@@ -154,7 +175,8 @@ const ListFactory = props => {
154
175
  paginationIndex,
155
176
  entityData,
156
177
  inheritedFilters,
157
- filterOperator
178
+ filterOperator,
179
+ itemListIds
158
180
  });
159
181
 
160
182
  return /*#__PURE__*/React.createElement(ListBuilder, listProps);
@@ -172,7 +194,8 @@ ListFactory.propTypes = {
172
194
  sortby: PropTypes.array,
173
195
  sort: PropTypes.string,
174
196
  searchFilter: PropTypes.object,
175
- sortProperties: PropTypes.array
197
+ sortProperties: PropTypes.array,
198
+ itemListName: PropTypes.string
176
199
  };
177
200
  ListFactory.defaultProps = {
178
201
  filterBy: [],
@@ -183,7 +206,8 @@ ListFactory.defaultProps = {
183
206
  sortProperties: [],
184
207
  sort: '',
185
208
  operator: AND,
186
- searchFilter: {}
209
+ searchFilter: {},
210
+ itemListName: ''
187
211
  };
188
212
  export default ListFactory;
189
213
  //# sourceMappingURL=ListFactory.js.map