@blaze-cms/react-page-builder 0.124.0-alpha.4 → 0.124.0-alpha.8

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 CHANGED
@@ -3,6 +3,33 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [0.124.0-alpha.8](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.7...v0.124.0-alpha.8) (2022-05-06)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * enable changing filter aggregation size ([#3459](https://github.com/thebyte9/blaze/issues/3459)) ([#3460](https://github.com/thebyte9/blaze/issues/3460)) ([04ea731](https://github.com/thebyte9/blaze/commit/04ea7311902ac195f0badd7807fa827e00f1f946))
12
+
13
+
14
+
15
+
16
+
17
+ # [0.124.0-alpha.7](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.6...v0.124.0-alpha.7) (2022-05-06)
18
+
19
+ **Note:** Version bump only for package @blaze-cms/react-page-builder
20
+
21
+
22
+
23
+
24
+
25
+ # [0.124.0-alpha.6](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.5...v0.124.0-alpha.6) (2022-05-06)
26
+
27
+ **Note:** Version bump only for package @blaze-cms/react-page-builder
28
+
29
+
30
+
31
+
32
+
6
33
  # [0.124.0-alpha.4](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.3...v0.124.0-alpha.4) (2022-05-03)
7
34
 
8
35
 
package/README.md CHANGED
@@ -357,3 +357,4 @@ after: ITEM ITEM _BANNER_ ITEM ITEM ITEM _BANNER_ ITEM ITEM _BANNER_ ITEM ITEM I
357
357
  | --------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | ------- |
358
358
  | BLAZE_PB_TEXTBLOCK_WRAPPER_ENABLE | Render legacy texblock component wrapper | false |
359
359
  | BLAZE_SCROLL_OFFSET | Offest to use when scrolling after an event. Can be set if there are sticky elements on the page to take them into account | false |
360
+ | BLAZE_PB_SEARCH_FILETER_AGG_SIZE | Override default size property for search filter aggregations | 500 |
package/example.env CHANGED
@@ -1,3 +1,4 @@
1
1
  JW_PLAYER_KEY'=UVQWMA4o-kGWxh33Q'
2
2
  BLAZE_SCROLL_OFFSET=0
3
3
  BLAZE_PB_TEXTBLOCK_WRAPPER_ENABLE=false
4
+ BLAZE_PB_SEARCH_FILETER_AGG_SIZE=500
@@ -91,7 +91,7 @@ var getAction = function getAction(action, props) {
91
91
  exports.getAction = getAction;
92
92
 
93
93
  var getPublishedContent = function getPublishedContent(entity) {
94
- return "\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 ".concat(entity, " {\n id\n name\n url\n __typename\n }\n __typename\n }\n total\n __typename\n }\n }\n");
94
+ return "\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 ".concat(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");
95
95
  };
96
96
 
97
97
  exports.getPublishedContent = getPublishedContent;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["defaultSchemaProps","getSearchPublishedContent","fields","gql","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 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;;AACA;;;;AAEA,IAAMA,kBAAkB,kHAAxB;;AAWA,IAAMC,yBAAyB,GAAG,SAA5BA,yBAA4B,CAAAC,MAAM;EAAA,WAAIC,WAAJ,+VAG9BD,MAH8B;AAAA,CAAxC;;;;AAQA,IAAME,OAAO,GAAG,SAAVA,OAAU,CAAAC,SAAS;EAAA,WAAIF,WAAJ,uLAIjBE,SAJiB;AAAA,CAAzB;;;AASA,IAAMC,eAAe,OAAGH,WAAH,uNAGbH,kBAHa,CAArB;;AAQA,IAAMO,qBAAqB,OAAGJ,WAAH,8MAGnBH,kBAHmB,CAA3B;;;AAQA,IAAMQ,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAAC,SAAS;EAAA,WAAIN,WAAJ,gQAEfM,SAFe;AAAA,CAAlC;;;;AAcA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAAAC,WAAW,EAAI;EACvC,IAAMC,WAAW,GAAGD,WAAW,CAC5BE,GADiB,CAEhB,UAAAC,EAAE;IAAA,iBAAOA,EAAP,qCAAmCA,EAAnC,gCACMd,kBADN;EAAA,CAFc,EAMjBe,IANiB,MAApB;EAOA,WAAOZ,WAAP,0HAEMS,WAFN;AAID,CAZD;;;AAcA,IAAMI,QAAQ,OAAGb,WAAH,0MAAd;;AAUA,IAAMc,WAAW,OAAGd,WAAH,iMAAjB;;;AAUA,IAAMe,QAAQ,GAAG,SAAXA,QAAW,CAAAC,MAAM;EAAA,WAAIhB,WAAJ,2JACjBgB,MADiB;AAAA,CAAvB;;;;AAKA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACD,MAAD,EAASE,KAAT;EAAA,4GAKR,wBAAWF,MAAX,CALQ,8BAMhBA,MANgB,mFAOdE,KAPc;AAAA,CAAtB;;AAaA,IAAMC,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACH,MAAD,EAASE,KAAT;EAAA,WAAmBlB,WAAnB,qNAEzBgB,MAFyB,EAGvBE,KAHuB;AAAA,CAA/B;;;;AAUA,IAAME,uBAAuB,GAAG,SAA1BA,uBAA0B,CAACJ,MAAD,EAASE,KAAT;EAAA,WAAmBlB,WAAnB,sNAEdgB,MAFc,EAG1BE,KAH0B;AAAA,CAAhC,C,CAUA;;;;;AACA,IAAMG,SAAS,GAAG,SAAZA,SAAY,CAACL,MAAD,EAASE,KAAT,EAAmB;EACnC,IAAMI,KAAK,GAAGL,aAAa,CAACD,MAAD,EAASE,KAAT,CAA3B;EACA,WAAOlB,WAAP,0GACIsB,KADJ;AAGD,CALD;;;;AAOA,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,CAAAC,MAAM;EAAA,0UAcjBA,MAdiB;AAAA,CAAlC"}
1
+ {"version":3,"file":"index.js","names":["defaultSchemaProps","getSearchPublishedContent","fields","gql","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;;AACA;;;;AAEA,IAAMA,kBAAkB,kHAAxB;;AAWA,IAAMC,yBAAyB,GAAG,SAA5BA,yBAA4B,CAAAC,MAAM;EAAA,WAAIC,WAAJ,+VAG9BD,MAH8B;AAAA,CAAxC;;;;AAQA,IAAME,OAAO,GAAG,SAAVA,OAAU,CAAAC,SAAS;EAAA,WAAIF,WAAJ,uLAIjBE,SAJiB;AAAA,CAAzB;;;AASA,IAAMC,eAAe,OAAGH,WAAH,uNAGbH,kBAHa,CAArB;;AAQA,IAAMO,qBAAqB,OAAGJ,WAAH,8MAGnBH,kBAHmB,CAA3B;;;AAQA,IAAMQ,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAAC,SAAS;EAAA,WAAIN,WAAJ,gQAEfM,SAFe;AAAA,CAAlC;;;;AAcA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAAAC,WAAW,EAAI;EACvC,IAAMC,WAAW,GAAGD,WAAW,CAC5BE,GADiB,CAEhB,UAAAC,EAAE;IAAA,iBAAOA,EAAP,qCAAmCA,EAAnC,gCACMd,kBADN;EAAA,CAFc,EAMjBe,IANiB,MAApB;EAOA,WAAOZ,WAAP,0HAEMS,WAFN;AAID,CAZD;;;AAcA,IAAMI,QAAQ,OAAGb,WAAH,0MAAd;;AAUA,IAAMc,WAAW,OAAGd,WAAH,iMAAjB;;;AAUA,IAAMe,QAAQ,GAAG,SAAXA,QAAW,CAAAC,MAAM;EAAA,WAAIhB,WAAJ,2JACjBgB,MADiB;AAAA,CAAvB;;;;AAKA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACD,MAAD,EAASE,KAAT;EAAA,4GAKR,wBAAWF,MAAX,CALQ,8BAMhBA,MANgB,mFAOdE,KAPc;AAAA,CAAtB;;AAaA,IAAMC,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACH,MAAD,EAASE,KAAT;EAAA,WAAmBlB,WAAnB,qNAEzBgB,MAFyB,EAGvBE,KAHuB;AAAA,CAA/B;;;;AAUA,IAAME,uBAAuB,GAAG,SAA1BA,uBAA0B,CAACJ,MAAD,EAASE,KAAT;EAAA,WAAmBlB,WAAnB,sNAEdgB,MAFc,EAG1BE,KAH0B;AAAA,CAAhC,C,CAUA;;;;;AACA,IAAMG,SAAS,GAAG,SAAZA,SAAY,CAACL,MAAD,EAASE,KAAT,EAAmB;EACnC,IAAMI,KAAK,GAAGL,aAAa,CAACD,MAAD,EAASE,KAAT,CAA3B;EACA,WAAOlB,WAAP,0GACIsB,KADJ;AAGD,CALD;;;;AAOA,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,CAAAC,MAAM;EAAA,0UAcjBA,MAdiB;AAAA,CAAlC"}
@@ -1,15 +1,7 @@
1
1
  "use strict";
2
2
 
3
- require("core-js/modules/es.array.iterator.js");
4
-
5
- require("core-js/modules/es.object.to-string.js");
6
-
7
- require("core-js/modules/es.string.iterator.js");
8
-
9
3
  require("core-js/modules/es.weak-map.js");
10
4
 
11
- require("core-js/modules/web.dom-collections.iterator.js");
12
-
13
5
  require("core-js/modules/es.object.define-property.js");
14
6
 
15
7
  require("core-js/modules/es.object.get-own-property-descriptor.js");
@@ -23,15 +15,33 @@ Object.defineProperty(exports, "__esModule", {
23
15
  });
24
16
  exports["default"] = void 0;
25
17
 
18
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
19
+
20
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
21
+
26
22
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
27
23
 
28
24
  require("core-js/modules/es.array.slice.js");
29
25
 
26
+ require("core-js/modules/es.array.map.js");
27
+
30
28
  require("core-js/modules/es.regexp.exec.js");
31
29
 
32
30
  require("core-js/modules/es.string.split.js");
33
31
 
34
- require("core-js/modules/es.array.map.js");
32
+ require("core-js/modules/es.array.iterator.js");
33
+
34
+ require("core-js/modules/es.object.to-string.js");
35
+
36
+ require("core-js/modules/es.promise.js");
37
+
38
+ require("core-js/modules/es.string.iterator.js");
39
+
40
+ require("core-js/modules/web.dom-collections.iterator.js");
41
+
42
+ require("core-js/modules/es.array.flat.js");
43
+
44
+ require("core-js/modules/es.array.unscopables.flat.js");
35
45
 
36
46
  require("core-js/modules/es.function.name.js");
37
47
 
@@ -59,8 +69,12 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
59
69
 
60
70
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
61
71
 
72
+ var logError = function logError(error) {
73
+ return error;
74
+ };
75
+
62
76
  var SearchContent = function SearchContent(_ref) {
63
- var entity = _ref.entity,
77
+ var entities = _ref.entities,
64
78
  searchInputAlignment = _ref.searchInputAlignment,
65
79
  searchInputWrapperMobile = _ref.searchInputWrapperMobile,
66
80
  searchInputWrapperDesktop = _ref.searchInputWrapperDesktop,
@@ -78,47 +92,94 @@ var SearchContent = function SearchContent(_ref) {
78
92
  searchTerm = _useState4[0],
79
93
  setSearchTerm = _useState4[1];
80
94
 
95
+ var _useState5 = (0, _react.useState)([]),
96
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
97
+ data = _useState6[0],
98
+ setData = _useState6[1];
99
+
81
100
  var router = (0, _router.useRouter)();
101
+ var client = (0, _client.useApolloClient)();
82
102
 
83
103
  var capitalize = function capitalize(s) {
84
104
  if (typeof s !== 'string') return '';
85
105
  return s.charAt(0).toUpperCase() + s.slice(1);
86
106
  };
87
107
 
88
- var _entity$split = entity.split('_'),
89
- _entity$split2 = (0, _slicedToArray2["default"])(_entity$split, 2),
90
- a = _entity$split2[0],
91
- b = _entity$split2[1];
92
-
93
- var entityName = capitalize(a) + capitalize(b);
94
- var rawQueryStringified = JSON.stringify({
95
- size: 0,
96
- query: {
97
- bool: {
98
- should: [{
99
- match: {
100
- docType: entity
108
+ _react["default"].useEffect(function () {
109
+ if (data && data.length !== 0) return;
110
+ var promises = entities.map(function (entity) {
111
+ var _entity$split = entity.split('_'),
112
+ _entity$split2 = (0, _slicedToArray2["default"])(_entity$split, 2),
113
+ a = _entity$split2[0],
114
+ b = _entity$split2[1];
115
+
116
+ var entityName = capitalize(a) + capitalize(b);
117
+ var rawQueryStringified = JSON.stringify({
118
+ size: 0,
119
+ query: {
120
+ bool: {
121
+ should: [{
122
+ match: {
123
+ docType: entity
124
+ }
125
+ }],
126
+ minimum_should_match: 1
101
127
  }
102
- }],
103
- minimum_should_match: 1
128
+ }
129
+ });
130
+ var query = (0, _client.gql)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n "])), (0, _query.getPublishedContent)(entityName));
131
+
132
+ try {
133
+ return client.query({
134
+ query: query,
135
+ variables: {
136
+ rawQueryStringified: rawQueryStringified,
137
+ offset: 0,
138
+ limit: 5
139
+ }
140
+ });
141
+ } catch (e) {
142
+ return [];
104
143
  }
144
+ });
145
+
146
+ try {
147
+ (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
148
+ var fetchResults, searchResults;
149
+ return _regenerator["default"].wrap(function _callee$(_context) {
150
+ while (1) {
151
+ switch (_context.prev = _context.next) {
152
+ case 0:
153
+ _context.prev = 0;
154
+ _context.next = 3;
155
+ return Promise.all(promises);
156
+
157
+ case 3:
158
+ fetchResults = _context.sent;
159
+ searchResults = fetchResults.map(function (result) {
160
+ var resultData = result.data;
161
+ return resultData.searchPublishedContent.results;
162
+ }).flat();
163
+ setData(searchResults);
164
+ _context.next = 11;
165
+ break;
166
+
167
+ case 8:
168
+ _context.prev = 8;
169
+ _context.t0 = _context["catch"](0);
170
+ logError(_context.t0);
171
+
172
+ case 11:
173
+ case "end":
174
+ return _context.stop();
175
+ }
176
+ }
177
+ }, _callee, null, [[0, 8]]);
178
+ }))();
179
+ } catch (e) {
180
+ logError(e);
105
181
  }
106
182
  });
107
- var query = (0, _client.gql)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n "])), (0, _query.getPublishedContent)(entityName));
108
-
109
- var _useQuery = (0, _client.useQuery)(query, {
110
- variables: {
111
- rawQueryStringified: rawQueryStringified,
112
- offset: 0,
113
- limit: 5
114
- }
115
- }),
116
- loading = _useQuery.loading,
117
- error = _useQuery.error,
118
- data = _useQuery.data;
119
-
120
- if (loading) return null;
121
- if (error) return null;
122
183
 
123
184
  var handleClick = function handleClick(e, url) {
124
185
  e.preventDefault();
@@ -132,29 +193,36 @@ var SearchContent = function SearchContent(_ref) {
132
193
  };
133
194
 
134
195
  var renderResults = function renderResults() {
135
- // eslint-disable-next-line no-undef
136
- var _data$searchPublished = data === null || data === void 0 ? void 0 : data.searchPublishedContent,
137
- results = _data$searchPublished.results;
138
-
139
- if (results && searchTerm && searchTerm !== '') {
140
- return results.map(function (_ref2) {
141
- var name = _ref2.name,
142
- url = _ref2.url;
143
-
144
- if (name.includes(searchTerm)) {
145
- return /*#__PURE__*/_react["default"].createElement(_BlazeLink["default"], {
146
- href: url,
147
- onClick: function onClick(e) {
148
- return handleClick(e, url);
149
- }
150
- }, name);
151
- }
152
-
153
- return null;
154
- });
155
- }
196
+ return (// eslint-disable-next-line no-undef
197
+ data === null || data === void 0 ? void 0 : data.map(function (dataItem) {
198
+ var name = dataItem.name,
199
+ image = dataItem.image,
200
+ url = dataItem.url;
201
+
202
+ if (searchTerm && searchTerm !== '') {
203
+ if (name.includes(searchTerm)) {
204
+ return /*#__PURE__*/_react["default"].createElement(_BlazeLink["default"], {
205
+ href: url,
206
+ onClick: function onClick(e) {
207
+ return handleClick(e, url);
208
+ }
209
+ }, /*#__PURE__*/_react["default"].createElement("div", {
210
+ className: "mt-2 mb-1"
211
+ }, /*#__PURE__*/_react["default"].createElement("div", {
212
+ className: "flex justify-start items-center"
213
+ }, image.url ? /*#__PURE__*/_react["default"].createElement("img", {
214
+ src: image.url,
215
+ alt: name,
216
+ className: "w-20 h-14"
217
+ }) : null, /*#__PURE__*/_react["default"].createElement("span", {
218
+ className: "ml-2"
219
+ }, name))));
220
+ }
156
221
 
157
- return [];
222
+ return null;
223
+ }
224
+ })
225
+ );
158
226
  };
159
227
 
160
228
  var searchResultsMessage = searchTerm ? "Search results for: ".concat(searchTerm) : '';
@@ -232,7 +300,7 @@ SearchContent.propTypes = {
232
300
  placeholder: _propTypes["default"].string,
233
301
  isMobile: _propTypes["default"].bool,
234
302
  collapsible: _propTypes["default"].bool,
235
- entity: _propTypes["default"].string.isRequired
303
+ entities: _propTypes["default"].array.isRequired
236
304
  };
237
305
  SearchContent.defaultProps = {
238
306
  searchInputAlignment: '',
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["SearchContent","entity","searchInputAlignment","searchInputWrapperMobile","searchInputWrapperDesktop","collapsible","isMobile","placeholder","collapsed","setCollapsed","searchTerm","setSearchTerm","router","capitalize","s","charAt","toUpperCase","slice","split","a","b","entityName","rawQueryStringified","JSON","stringify","size","query","bool","should","match","docType","minimum_should_match","gql","variables","offset","limit","loading","error","data","handleClick","e","url","preventDefault","push","handleKeyPress","key","target","value","renderResults","searchPublishedContent","results","map","name","includes","searchResultsMessage","propTypes","PropTypes","string","isRequired","defaultProps"],"sources":["../../../src/components/SearchContent/index.js"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { gql, useQuery } from '@apollo/client';\nimport { useRouter } from 'next/router';\nimport { getPublishedContent } from '../../application/query';\nimport BlazeLink from '../BlazeLink';\n\nconst SearchContent = ({\n entity,\n searchInputAlignment,\n searchInputWrapperMobile,\n searchInputWrapperDesktop,\n collapsible,\n isMobile,\n placeholder\n}) => {\n const [collapsed, setCollapsed] = useState(collapsible);\n const [searchTerm, setSearchTerm] = useState(null);\n const router = useRouter();\n\n const capitalize = s => {\n if (typeof s !== 'string') return '';\n return s.charAt(0).toUpperCase() + s.slice(1);\n };\n\n const [a, b] = entity.split('_');\n\n const entityName = capitalize(a) + capitalize(b);\n\n const rawQueryStringified = JSON.stringify({\n size: 0,\n query: {\n bool: {\n should: [\n {\n match: {\n docType: entity\n }\n }\n ],\n minimum_should_match: 1\n }\n }\n });\n\n const query = gql`\n ${getPublishedContent(entityName)}\n `;\n\n const { loading, error, data } = useQuery(query, {\n variables: { rawQueryStringified, offset: 0, limit: 5 }\n });\n\n if (loading) return null;\n if (error) return null;\n\n const handleClick = (e, url) => {\n e.preventDefault();\n router.push(url);\n };\n\n const handleKeyPress = e => {\n if (e.key === 'Enter' && e.target.value !== '') {\n router.push(`/search?search_term=${e.target.value}`);\n }\n };\n\n const renderResults = () => {\n // eslint-disable-next-line no-undef\n const { results } = data?.searchPublishedContent;\n\n if (results && searchTerm && searchTerm !== '') {\n return results.map(({ name, url }) => {\n if (name.includes(searchTerm)) {\n return (\n <BlazeLink href={url} onClick={e => handleClick(e, url)}>\n {name}\n </BlazeLink>\n );\n }\n\n return null;\n });\n }\n\n return [];\n };\n\n const searchResultsMessage = searchTerm ? `Search results for: ${searchTerm}` : '';\n\n return collapsed ? (\n <div className={isMobile ? searchInputWrapperMobile : searchInputWrapperDesktop}>\n <div className=\"search-content--collapse__wrapper\">\n <label className=\"search-content--collapse__label\">\n <span className=\"search-content--collapse__icon_wrapper\">\n <svg className=\"search-content--collapse__icon\" viewBox=\"0 0 20 20\">\n <path\n fillRule=\"evenodd\"\n d=\"M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z\"\n clipRule=\"evenodd\"\n />\n </svg>\n </span>\n <input\n onFocus={() => setCollapsed(false)}\n onChange={e => setSearchTerm(e.target.value)}\n type=\"text\"\n name=\"search\"\n value=\"\"\n className=\"search-content--collapse__input\"\n />\n </label>\n </div>\n </div>\n ) : (\n <>\n <div className={`${isMobile ? searchInputWrapperMobile : searchInputWrapperDesktop}`}>\n <div className=\"search-content--expanded__wrapper\">\n <label className=\"search-content--expanded__label\">\n <span className=\"search-content--expanded__icon_wrapper\">\n <svg className=\"search-content--expanded__icon\" viewBox=\"0 0 20 20\">\n <path\n fillRule=\"evenodd\"\n d=\"M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z\"\n clipRule=\"evenodd\"\n />\n </svg>\n </span>\n <input\n type=\"text\"\n name=\"search\"\n onChange={e => setSearchTerm(e.target.value)}\n onKeyPress={handleKeyPress}\n className=\"search-content--expanded__input\"\n placeholder={placeholder}\n onBlur={() => {\n if (!collapsible) return;\n if (!searchTerm || searchTerm === '') setCollapsed(true);\n }}\n />\n </label>\n </div>\n {data &&\n searchResultsMessage !== '' && (\n <div className=\"search-content--results__wrapper\">\n <div className=\"search-content--results__wrapper--message\">\n <div className=\"text-sm pt-2\">{searchResultsMessage}</div>\n\n <div className=\"search-content--results__message\">\n <div className=\"search-content--results__content\">{renderResults()}</div>\n </div>\n </div>\n </div>\n )}\n </div>\n </>\n );\n};\n\nSearchContent.propTypes = {\n searchInputAlignment: PropTypes.string,\n searchInputWrapperMobile: PropTypes.string,\n searchInputWrapperDesktop: PropTypes.string,\n placeholder: PropTypes.string,\n isMobile: PropTypes.bool,\n collapsible: PropTypes.bool,\n entity: PropTypes.string.isRequired\n};\n\nSearchContent.defaultProps = {\n searchInputAlignment: '',\n searchInputWrapperMobile: '',\n searchInputWrapperDesktop: '',\n placeholder: '',\n isMobile: false,\n collapsible: false\n};\n\nexport default SearchContent;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["logError","error","SearchContent","entities","searchInputAlignment","searchInputWrapperMobile","searchInputWrapperDesktop","collapsible","isMobile","placeholder","collapsed","setCollapsed","searchTerm","setSearchTerm","data","setData","router","client","capitalize","s","charAt","toUpperCase","slice","React","useEffect","length","promises","map","entity","split","a","b","entityName","rawQueryStringified","JSON","stringify","size","query","bool","should","match","docType","minimum_should_match","gql","variables","offset","limit","e","Promise","all","fetchResults","searchResults","result","resultData","searchPublishedContent","results","flat","handleClick","url","preventDefault","push","handleKeyPress","key","target","value","renderResults","dataItem","name","image","includes","searchResultsMessage","propTypes","PropTypes","string","array","isRequired","defaultProps"],"sources":["../../../src/components/SearchContent/index.js"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { gql, useApolloClient } from '@apollo/client';\n\nimport { useRouter } from 'next/router';\nimport { getPublishedContent } from '../../application/query';\nimport BlazeLink from '../BlazeLink';\n\nconst logError = error => error;\n\nconst SearchContent = ({\n entities,\n searchInputAlignment,\n searchInputWrapperMobile,\n searchInputWrapperDesktop,\n collapsible,\n isMobile,\n placeholder\n}) => {\n const [collapsed, setCollapsed] = useState(collapsible);\n const [searchTerm, setSearchTerm] = useState(null);\n const [data, setData] = useState([]);\n\n const router = useRouter();\n const client = useApolloClient();\n\n const capitalize = s => {\n if (typeof s !== 'string') return '';\n return s.charAt(0).toUpperCase() + s.slice(1);\n };\n\n React.useEffect(() => {\n if (data && data.length !== 0) return;\n\n const promises = entities.map(entity => {\n const [a, b] = entity.split('_');\n\n const entityName = capitalize(a) + capitalize(b);\n\n const rawQueryStringified = JSON.stringify({\n size: 0,\n query: {\n bool: {\n should: [\n {\n match: {\n docType: entity\n }\n }\n ],\n minimum_should_match: 1\n }\n }\n });\n\n const query = gql`\n ${getPublishedContent(entityName)}\n `;\n\n try {\n return client.query({\n query,\n variables: {\n rawQueryStringified,\n offset: 0,\n limit: 5\n }\n });\n } catch (e) {\n return [];\n }\n });\n\n try {\n (async () => {\n try {\n const fetchResults = await Promise.all(promises);\n const searchResults = fetchResults\n .map(result => {\n const { data: resultData } = result;\n return resultData.searchPublishedContent.results;\n })\n .flat();\n\n setData(searchResults);\n } catch (e) {\n logError(e);\n }\n })();\n } catch (e) {\n logError(e);\n }\n });\n\n const handleClick = (e, url) => {\n e.preventDefault();\n router.push(url);\n };\n\n const handleKeyPress = e => {\n if (e.key === 'Enter' && e.target.value !== '') {\n router.push(`/search?search_term=${e.target.value}`);\n }\n };\n\n const renderResults = () =>\n // eslint-disable-next-line no-undef\n data?.map(dataItem => {\n const { name, image, url } = dataItem;\n\n if (searchTerm && searchTerm !== '') {\n if (name.includes(searchTerm)) {\n return (\n <BlazeLink href={url} onClick={e => handleClick(e, url)}>\n <div className=\"mt-2 mb-1\">\n <div className=\"flex justify-start items-center\">\n {image.url ? <img src={image.url} alt={name} className=\"w-20 h-14\" /> : null}\n <span className=\"ml-2\">{name}</span>\n </div>\n </div>\n </BlazeLink>\n );\n }\n\n return null;\n }\n });\n\n const searchResultsMessage = searchTerm ? `Search results for: ${searchTerm}` : '';\n\n return collapsed ? (\n <div className={isMobile ? searchInputWrapperMobile : searchInputWrapperDesktop}>\n <div className=\"search-content--collapse__wrapper\">\n <label className=\"search-content--collapse__label\">\n <span className=\"search-content--collapse__icon_wrapper\">\n <svg className=\"search-content--collapse__icon\" viewBox=\"0 0 20 20\">\n <path\n fillRule=\"evenodd\"\n d=\"M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z\"\n clipRule=\"evenodd\"\n />\n </svg>\n </span>\n <input\n onFocus={() => setCollapsed(false)}\n onChange={e => setSearchTerm(e.target.value)}\n type=\"text\"\n name=\"search\"\n value=\"\"\n className=\"search-content--collapse__input\"\n />\n </label>\n </div>\n </div>\n ) : (\n <>\n <div className={`${isMobile ? searchInputWrapperMobile : searchInputWrapperDesktop}`}>\n <div className=\"search-content--expanded__wrapper\">\n <label className=\"search-content--expanded__label\">\n <span className=\"search-content--expanded__icon_wrapper\">\n <svg className=\"search-content--expanded__icon\" viewBox=\"0 0 20 20\">\n <path\n fillRule=\"evenodd\"\n d=\"M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z\"\n clipRule=\"evenodd\"\n />\n </svg>\n </span>\n <input\n type=\"text\"\n name=\"search\"\n onChange={e => setSearchTerm(e.target.value)}\n onKeyPress={handleKeyPress}\n className=\"search-content--expanded__input\"\n placeholder={placeholder}\n onBlur={() => {\n if (!collapsible) return;\n if (!searchTerm || searchTerm === '') setCollapsed(true);\n }}\n />\n </label>\n </div>\n {data &&\n searchResultsMessage !== '' && (\n <div className=\"search-content--results__wrapper\">\n <div className=\"search-content--results__wrapper--message\">\n <div className=\"text-sm pt-2\">{searchResultsMessage}</div>\n\n <div className=\"search-content--results__message\">\n <div className=\"search-content--results__content\">{renderResults()}</div>\n </div>\n </div>\n </div>\n )}\n </div>\n </>\n );\n};\n\nSearchContent.propTypes = {\n searchInputAlignment: PropTypes.string,\n searchInputWrapperMobile: PropTypes.string,\n searchInputWrapperDesktop: PropTypes.string,\n placeholder: PropTypes.string,\n isMobile: PropTypes.bool,\n collapsible: PropTypes.bool,\n entities: PropTypes.array.isRequired\n};\n\nSearchContent.defaultProps = {\n searchInputAlignment: '',\n searchInputWrapperMobile: '',\n searchInputWrapperDesktop: '',\n placeholder: '',\n isMobile: false,\n collapsible: false\n};\n\nexport default SearchContent;\n"],"mappings":"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"}
@@ -14,7 +14,7 @@ var TEXT_SEARCH = 'text-search';
14
14
  exports.TEXT_SEARCH = TEXT_SEARCH;
15
15
  var SEARCH_TERM = 'search_term';
16
16
  exports.SEARCH_TERM = SEARCH_TERM;
17
- var SIZE = 50;
17
+ var SIZE = process.env.BLAZE_PB_SEARCH_FILETER_AGG_SIZE || 500;
18
18
  exports.SIZE = SIZE;
19
19
  var KEYWORD = 'keyword';
20
20
  exports.KEYWORD = KEYWORD;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","names":["CHECKBOX","SELECT","TEXT_SEARCH","SEARCH_TERM","SIZE","KEYWORD","RAW_RESULTS","DEFAULT_OPTION","DEFAULT_VALUES","RANGE","CHECKBOX_SELECT","LIMIT_MIN","LIMIT_MAX","MORE","LESS","UPDATED_RANGES","MIN_VALUE","MAX_VALUE","TABLET_WIDTH","RESET","SEARCH","REFINE","MOBILE_REFINEMENT_TITLE","MORE_FILTERS_CLASSES_BASE","MORE_FILTERS_CLASSES","MOBILE_WRAPPER","MOBILE_CONTENT","MOBILE_TOGGLER","MOBILE_BUTTONS","DESKTOP_WRAPPER","DESKTOP_CONTENT","DESKTOP_TOGGLER","DESKTOP_BUTTONS"],"sources":["../../../src/components/SearchFilter/constants.js"],"sourcesContent":["const CHECKBOX = 'checkbox';\nconst SELECT = 'select';\nconst TEXT_SEARCH = 'text-search';\nconst SEARCH_TERM = 'search_term';\nconst SIZE = 50;\nconst KEYWORD = 'keyword';\nconst RAW_RESULTS = 'rawResults';\nconst DEFAULT_OPTION = 'Any';\nconst DEFAULT_VALUES = ['Any', 'Please Choose...'];\nconst RANGE = 'range';\nconst CHECKBOX_SELECT = ['checkbox', 'select'];\nconst LIMIT_MIN = 5;\nconst LIMIT_MAX = 1000;\nconst MORE = 'more';\nconst LESS = 'less';\nconst UPDATED_RANGES = 'updated_ranges';\nconst MIN_VALUE = 'min-value';\nconst MAX_VALUE = 'max-value';\nconst TABLET_WIDTH = 768;\nconst RESET = 'Reset all filters';\nconst SEARCH = 'Search';\nconst REFINE = `Refine Search`;\nconst MOBILE_REFINEMENT_TITLE = 'Search refinement';\n\nconst MORE_FILTERS_CLASSES_BASE = 'filter__more-filters';\nconst MORE_FILTERS_CLASSES = {\n MOBILE_WRAPPER: `${MORE_FILTERS_CLASSES_BASE}-mobile-wrapper`,\n MOBILE_CONTENT: `${MORE_FILTERS_CLASSES_BASE}-mobile-content`,\n MOBILE_TOGGLER: `${MORE_FILTERS_CLASSES_BASE}-mobile-toggler`,\n MOBILE_BUTTONS: `${MORE_FILTERS_CLASSES_BASE}-mobile-buttons`,\n DESKTOP_WRAPPER: `${MORE_FILTERS_CLASSES_BASE}-desktop-wrapper`,\n DESKTOP_CONTENT: `${MORE_FILTERS_CLASSES_BASE}-desktop-content`,\n DESKTOP_TOGGLER: `${MORE_FILTERS_CLASSES_BASE}-desktop-toggler`,\n DESKTOP_BUTTONS: `${MORE_FILTERS_CLASSES_BASE}-desktop-buttons`\n};\n\nexport {\n CHECKBOX,\n SELECT,\n TEXT_SEARCH,\n SEARCH_TERM,\n SIZE,\n KEYWORD,\n RAW_RESULTS,\n DEFAULT_OPTION,\n DEFAULT_VALUES,\n RANGE,\n CHECKBOX_SELECT,\n LIMIT_MIN,\n LIMIT_MAX,\n MORE,\n LESS,\n UPDATED_RANGES,\n MIN_VALUE,\n MAX_VALUE,\n TABLET_WIDTH,\n RESET,\n SEARCH,\n REFINE,\n MOBILE_REFINEMENT_TITLE,\n MORE_FILTERS_CLASSES\n};\n"],"mappings":";;;;;;;;AAAA,IAAMA,QAAQ,GAAG,UAAjB;;AACA,IAAMC,MAAM,GAAG,QAAf;;AACA,IAAMC,WAAW,GAAG,aAApB;;AACA,IAAMC,WAAW,GAAG,aAApB;;AACA,IAAMC,IAAI,GAAG,EAAb;;AACA,IAAMC,OAAO,GAAG,SAAhB;;AACA,IAAMC,WAAW,GAAG,YAApB;;AACA,IAAMC,cAAc,GAAG,KAAvB;;AACA,IAAMC,cAAc,GAAG,CAAC,KAAD,EAAQ,kBAAR,CAAvB;;AACA,IAAMC,KAAK,GAAG,OAAd;;AACA,IAAMC,eAAe,GAAG,CAAC,UAAD,EAAa,QAAb,CAAxB;;AACA,IAAMC,SAAS,GAAG,CAAlB;;AACA,IAAMC,SAAS,GAAG,IAAlB;;AACA,IAAMC,IAAI,GAAG,MAAb;;AACA,IAAMC,IAAI,GAAG,MAAb;;AACA,IAAMC,cAAc,GAAG,gBAAvB;;AACA,IAAMC,SAAS,GAAG,WAAlB;;AACA,IAAMC,SAAS,GAAG,WAAlB;;AACA,IAAMC,YAAY,GAAG,GAArB;;AACA,IAAMC,KAAK,GAAG,mBAAd;;AACA,IAAMC,MAAM,GAAG,QAAf;;AACA,IAAMC,MAAM,kBAAZ;;AACA,IAAMC,uBAAuB,GAAG,mBAAhC;;AAEA,IAAMC,yBAAyB,GAAG,sBAAlC;AACA,IAAMC,oBAAoB,GAAG;EAC3BC,cAAc,YAAKF,yBAAL,oBADa;EAE3BG,cAAc,YAAKH,yBAAL,oBAFa;EAG3BI,cAAc,YAAKJ,yBAAL,oBAHa;EAI3BK,cAAc,YAAKL,yBAAL,oBAJa;EAK3BM,eAAe,YAAKN,yBAAL,qBALY;EAM3BO,eAAe,YAAKP,yBAAL,qBANY;EAO3BQ,eAAe,YAAKR,yBAAL,qBAPY;EAQ3BS,eAAe,YAAKT,yBAAL;AARY,CAA7B"}
1
+ {"version":3,"file":"constants.js","names":["CHECKBOX","SELECT","TEXT_SEARCH","SEARCH_TERM","SIZE","process","env","BLAZE_PB_SEARCH_FILETER_AGG_SIZE","KEYWORD","RAW_RESULTS","DEFAULT_OPTION","DEFAULT_VALUES","RANGE","CHECKBOX_SELECT","LIMIT_MIN","LIMIT_MAX","MORE","LESS","UPDATED_RANGES","MIN_VALUE","MAX_VALUE","TABLET_WIDTH","RESET","SEARCH","REFINE","MOBILE_REFINEMENT_TITLE","MORE_FILTERS_CLASSES_BASE","MORE_FILTERS_CLASSES","MOBILE_WRAPPER","MOBILE_CONTENT","MOBILE_TOGGLER","MOBILE_BUTTONS","DESKTOP_WRAPPER","DESKTOP_CONTENT","DESKTOP_TOGGLER","DESKTOP_BUTTONS"],"sources":["../../../src/components/SearchFilter/constants.js"],"sourcesContent":["const CHECKBOX = 'checkbox';\nconst SELECT = 'select';\nconst TEXT_SEARCH = 'text-search';\nconst SEARCH_TERM = 'search_term';\nconst SIZE = process.env.BLAZE_PB_SEARCH_FILETER_AGG_SIZE || 500;\nconst KEYWORD = 'keyword';\nconst RAW_RESULTS = 'rawResults';\nconst DEFAULT_OPTION = 'Any';\nconst DEFAULT_VALUES = ['Any', 'Please Choose...'];\nconst RANGE = 'range';\nconst CHECKBOX_SELECT = ['checkbox', 'select'];\nconst LIMIT_MIN = 5;\nconst LIMIT_MAX = 1000;\nconst MORE = 'more';\nconst LESS = 'less';\nconst UPDATED_RANGES = 'updated_ranges';\nconst MIN_VALUE = 'min-value';\nconst MAX_VALUE = 'max-value';\nconst TABLET_WIDTH = 768;\nconst RESET = 'Reset all filters';\nconst SEARCH = 'Search';\nconst REFINE = `Refine Search`;\nconst MOBILE_REFINEMENT_TITLE = 'Search refinement';\n\nconst MORE_FILTERS_CLASSES_BASE = 'filter__more-filters';\nconst MORE_FILTERS_CLASSES = {\n MOBILE_WRAPPER: `${MORE_FILTERS_CLASSES_BASE}-mobile-wrapper`,\n MOBILE_CONTENT: `${MORE_FILTERS_CLASSES_BASE}-mobile-content`,\n MOBILE_TOGGLER: `${MORE_FILTERS_CLASSES_BASE}-mobile-toggler`,\n MOBILE_BUTTONS: `${MORE_FILTERS_CLASSES_BASE}-mobile-buttons`,\n DESKTOP_WRAPPER: `${MORE_FILTERS_CLASSES_BASE}-desktop-wrapper`,\n DESKTOP_CONTENT: `${MORE_FILTERS_CLASSES_BASE}-desktop-content`,\n DESKTOP_TOGGLER: `${MORE_FILTERS_CLASSES_BASE}-desktop-toggler`,\n DESKTOP_BUTTONS: `${MORE_FILTERS_CLASSES_BASE}-desktop-buttons`\n};\n\nexport {\n CHECKBOX,\n SELECT,\n TEXT_SEARCH,\n SEARCH_TERM,\n SIZE,\n KEYWORD,\n RAW_RESULTS,\n DEFAULT_OPTION,\n DEFAULT_VALUES,\n RANGE,\n CHECKBOX_SELECT,\n LIMIT_MIN,\n LIMIT_MAX,\n MORE,\n LESS,\n UPDATED_RANGES,\n MIN_VALUE,\n MAX_VALUE,\n TABLET_WIDTH,\n RESET,\n SEARCH,\n REFINE,\n MOBILE_REFINEMENT_TITLE,\n MORE_FILTERS_CLASSES\n};\n"],"mappings":";;;;;;;;AAAA,IAAMA,QAAQ,GAAG,UAAjB;;AACA,IAAMC,MAAM,GAAG,QAAf;;AACA,IAAMC,WAAW,GAAG,aAApB;;AACA,IAAMC,WAAW,GAAG,aAApB;;AACA,IAAMC,IAAI,GAAGC,OAAO,CAACC,GAAR,CAAYC,gCAAZ,IAAgD,GAA7D;;AACA,IAAMC,OAAO,GAAG,SAAhB;;AACA,IAAMC,WAAW,GAAG,YAApB;;AACA,IAAMC,cAAc,GAAG,KAAvB;;AACA,IAAMC,cAAc,GAAG,CAAC,KAAD,EAAQ,kBAAR,CAAvB;;AACA,IAAMC,KAAK,GAAG,OAAd;;AACA,IAAMC,eAAe,GAAG,CAAC,UAAD,EAAa,QAAb,CAAxB;;AACA,IAAMC,SAAS,GAAG,CAAlB;;AACA,IAAMC,SAAS,GAAG,IAAlB;;AACA,IAAMC,IAAI,GAAG,MAAb;;AACA,IAAMC,IAAI,GAAG,MAAb;;AACA,IAAMC,cAAc,GAAG,gBAAvB;;AACA,IAAMC,SAAS,GAAG,WAAlB;;AACA,IAAMC,SAAS,GAAG,WAAlB;;AACA,IAAMC,YAAY,GAAG,GAArB;;AACA,IAAMC,KAAK,GAAG,mBAAd;;AACA,IAAMC,MAAM,GAAG,QAAf;;AACA,IAAMC,MAAM,kBAAZ;;AACA,IAAMC,uBAAuB,GAAG,mBAAhC;;AAEA,IAAMC,yBAAyB,GAAG,sBAAlC;AACA,IAAMC,oBAAoB,GAAG;EAC3BC,cAAc,YAAKF,yBAAL,oBADa;EAE3BG,cAAc,YAAKH,yBAAL,oBAFa;EAG3BI,cAAc,YAAKJ,yBAAL,oBAHa;EAI3BK,cAAc,YAAKL,yBAAL,oBAJa;EAK3BM,eAAe,YAAKN,yBAAL,qBALY;EAM3BO,eAAe,YAAKP,yBAAL,qBANY;EAO3BQ,eAAe,YAAKR,yBAAL,qBAPY;EAQ3BS,eAAe,YAAKT,yBAAL;AARY,CAA7B"}
@@ -150,6 +150,10 @@ const getPublishedContent = entity => `
150
150
  ... on ${entity} {
151
151
  id
152
152
  name
153
+ image {
154
+ url
155
+ __typename
156
+ }
153
157
  url
154
158
  __typename
155
159
  }
@@ -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 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,CA1BA;;AA4BA,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"],"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,12 +1,14 @@
1
1
  import React, { useState } from 'react';
2
2
  import PropTypes from 'prop-types';
3
- import { gql, useQuery } from '@apollo/client';
3
+ import { gql, useApolloClient } from '@apollo/client';
4
4
  import { useRouter } from 'next/router';
5
5
  import { getPublishedContent } from '../../application/query';
6
6
  import BlazeLink from '../BlazeLink';
7
7
 
8
+ const logError = error => error;
9
+
8
10
  const SearchContent = ({
9
- entity,
11
+ entities,
10
12
  searchInputAlignment,
11
13
  searchInputWrapperMobile,
12
14
  searchInputWrapperDesktop,
@@ -16,44 +18,70 @@ const SearchContent = ({
16
18
  }) => {
17
19
  const [collapsed, setCollapsed] = useState(collapsible);
18
20
  const [searchTerm, setSearchTerm] = useState(null);
21
+ const [data, setData] = useState([]);
19
22
  const router = useRouter();
23
+ const client = useApolloClient();
20
24
 
21
25
  const capitalize = s => {
22
26
  if (typeof s !== 'string') return '';
23
27
  return s.charAt(0).toUpperCase() + s.slice(1);
24
28
  };
25
29
 
26
- const [a, b] = entity.split('_');
27
- const entityName = capitalize(a) + capitalize(b);
28
- const rawQueryStringified = JSON.stringify({
29
- size: 0,
30
- query: {
31
- bool: {
32
- should: [{
33
- match: {
34
- docType: entity
30
+ React.useEffect(() => {
31
+ if (data && data.length !== 0) return;
32
+ const promises = entities.map(entity => {
33
+ const [a, b] = entity.split('_');
34
+ const entityName = capitalize(a) + capitalize(b);
35
+ const rawQueryStringified = JSON.stringify({
36
+ size: 0,
37
+ query: {
38
+ bool: {
39
+ should: [{
40
+ match: {
41
+ docType: entity
42
+ }
43
+ }],
44
+ minimum_should_match: 1
45
+ }
46
+ }
47
+ });
48
+ const query = gql`
49
+ ${getPublishedContent(entityName)}
50
+ `;
51
+
52
+ try {
53
+ return client.query({
54
+ query,
55
+ variables: {
56
+ rawQueryStringified,
57
+ offset: 0,
58
+ limit: 5
35
59
  }
36
- }],
37
- minimum_should_match: 1
60
+ });
61
+ } catch (e) {
62
+ return [];
38
63
  }
64
+ });
65
+
66
+ try {
67
+ (async () => {
68
+ try {
69
+ const fetchResults = await Promise.all(promises);
70
+ const searchResults = fetchResults.map(result => {
71
+ const {
72
+ data: resultData
73
+ } = result;
74
+ return resultData.searchPublishedContent.results;
75
+ }).flat();
76
+ setData(searchResults);
77
+ } catch (e) {
78
+ logError(e);
79
+ }
80
+ })();
81
+ } catch (e) {
82
+ logError(e);
39
83
  }
40
84
  });
41
- const query = gql`
42
- ${getPublishedContent(entityName)}
43
- `;
44
- const {
45
- loading,
46
- error,
47
- data
48
- } = useQuery(query, {
49
- variables: {
50
- rawQueryStringified,
51
- offset: 0,
52
- limit: 5
53
- }
54
- });
55
- if (loading) return null;
56
- if (error) return null;
57
85
 
58
86
  const handleClick = (e, url) => {
59
87
  e.preventDefault();
@@ -66,30 +94,35 @@ const SearchContent = ({
66
94
  }
67
95
  };
68
96
 
69
- const renderResults = () => {
70
- // eslint-disable-next-line no-undef
97
+ const renderResults = () => // eslint-disable-next-line no-undef
98
+ data === null || data === void 0 ? void 0 : data.map(dataItem => {
71
99
  const {
72
- results
73
- } = data === null || data === void 0 ? void 0 : data.searchPublishedContent;
100
+ name,
101
+ image,
102
+ url
103
+ } = dataItem;
74
104
 
75
- if (results && searchTerm && searchTerm !== '') {
76
- return results.map(({
77
- name,
78
- url
79
- }) => {
80
- if (name.includes(searchTerm)) {
81
- return /*#__PURE__*/React.createElement(BlazeLink, {
82
- href: url,
83
- onClick: e => handleClick(e, url)
84
- }, name);
85
- }
105
+ if (searchTerm && searchTerm !== '') {
106
+ if (name.includes(searchTerm)) {
107
+ return /*#__PURE__*/React.createElement(BlazeLink, {
108
+ href: url,
109
+ onClick: e => handleClick(e, url)
110
+ }, /*#__PURE__*/React.createElement("div", {
111
+ className: "mt-2 mb-1"
112
+ }, /*#__PURE__*/React.createElement("div", {
113
+ className: "flex justify-start items-center"
114
+ }, image.url ? /*#__PURE__*/React.createElement("img", {
115
+ src: image.url,
116
+ alt: name,
117
+ className: "w-20 h-14"
118
+ }) : null, /*#__PURE__*/React.createElement("span", {
119
+ className: "ml-2"
120
+ }, name))));
121
+ }
86
122
 
87
- return null;
88
- });
123
+ return null;
89
124
  }
90
-
91
- return [];
92
- };
125
+ });
93
126
 
94
127
  const searchResultsMessage = searchTerm ? `Search results for: ${searchTerm}` : '';
95
128
  return collapsed ? /*#__PURE__*/React.createElement("div", {
@@ -160,7 +193,7 @@ SearchContent.propTypes = {
160
193
  placeholder: PropTypes.string,
161
194
  isMobile: PropTypes.bool,
162
195
  collapsible: PropTypes.bool,
163
- entity: PropTypes.string.isRequired
196
+ entities: PropTypes.array.isRequired
164
197
  };
165
198
  SearchContent.defaultProps = {
166
199
  searchInputAlignment: '',
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useState","PropTypes","gql","useQuery","useRouter","getPublishedContent","BlazeLink","SearchContent","entity","searchInputAlignment","searchInputWrapperMobile","searchInputWrapperDesktop","collapsible","isMobile","placeholder","collapsed","setCollapsed","searchTerm","setSearchTerm","router","capitalize","s","charAt","toUpperCase","slice","a","b","split","entityName","rawQueryStringified","JSON","stringify","size","query","bool","should","match","docType","minimum_should_match","loading","error","data","variables","offset","limit","handleClick","e","url","preventDefault","push","handleKeyPress","key","target","value","renderResults","results","searchPublishedContent","map","name","includes","searchResultsMessage","propTypes","string","isRequired","defaultProps"],"sources":["../../../src/components/SearchContent/index.js"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { gql, useQuery } from '@apollo/client';\nimport { useRouter } from 'next/router';\nimport { getPublishedContent } from '../../application/query';\nimport BlazeLink from '../BlazeLink';\n\nconst SearchContent = ({\n entity,\n searchInputAlignment,\n searchInputWrapperMobile,\n searchInputWrapperDesktop,\n collapsible,\n isMobile,\n placeholder\n}) => {\n const [collapsed, setCollapsed] = useState(collapsible);\n const [searchTerm, setSearchTerm] = useState(null);\n const router = useRouter();\n\n const capitalize = s => {\n if (typeof s !== 'string') return '';\n return s.charAt(0).toUpperCase() + s.slice(1);\n };\n\n const [a, b] = entity.split('_');\n\n const entityName = capitalize(a) + capitalize(b);\n\n const rawQueryStringified = JSON.stringify({\n size: 0,\n query: {\n bool: {\n should: [\n {\n match: {\n docType: entity\n }\n }\n ],\n minimum_should_match: 1\n }\n }\n });\n\n const query = gql`\n ${getPublishedContent(entityName)}\n `;\n\n const { loading, error, data } = useQuery(query, {\n variables: { rawQueryStringified, offset: 0, limit: 5 }\n });\n\n if (loading) return null;\n if (error) return null;\n\n const handleClick = (e, url) => {\n e.preventDefault();\n router.push(url);\n };\n\n const handleKeyPress = e => {\n if (e.key === 'Enter' && e.target.value !== '') {\n router.push(`/search?search_term=${e.target.value}`);\n }\n };\n\n const renderResults = () => {\n // eslint-disable-next-line no-undef\n const { results } = data?.searchPublishedContent;\n\n if (results && searchTerm && searchTerm !== '') {\n return results.map(({ name, url }) => {\n if (name.includes(searchTerm)) {\n return (\n <BlazeLink href={url} onClick={e => handleClick(e, url)}>\n {name}\n </BlazeLink>\n );\n }\n\n return null;\n });\n }\n\n return [];\n };\n\n const searchResultsMessage = searchTerm ? `Search results for: ${searchTerm}` : '';\n\n return collapsed ? (\n <div className={isMobile ? searchInputWrapperMobile : searchInputWrapperDesktop}>\n <div className=\"search-content--collapse__wrapper\">\n <label className=\"search-content--collapse__label\">\n <span className=\"search-content--collapse__icon_wrapper\">\n <svg className=\"search-content--collapse__icon\" viewBox=\"0 0 20 20\">\n <path\n fillRule=\"evenodd\"\n d=\"M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z\"\n clipRule=\"evenodd\"\n />\n </svg>\n </span>\n <input\n onFocus={() => setCollapsed(false)}\n onChange={e => setSearchTerm(e.target.value)}\n type=\"text\"\n name=\"search\"\n value=\"\"\n className=\"search-content--collapse__input\"\n />\n </label>\n </div>\n </div>\n ) : (\n <>\n <div className={`${isMobile ? searchInputWrapperMobile : searchInputWrapperDesktop}`}>\n <div className=\"search-content--expanded__wrapper\">\n <label className=\"search-content--expanded__label\">\n <span className=\"search-content--expanded__icon_wrapper\">\n <svg className=\"search-content--expanded__icon\" viewBox=\"0 0 20 20\">\n <path\n fillRule=\"evenodd\"\n d=\"M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z\"\n clipRule=\"evenodd\"\n />\n </svg>\n </span>\n <input\n type=\"text\"\n name=\"search\"\n onChange={e => setSearchTerm(e.target.value)}\n onKeyPress={handleKeyPress}\n className=\"search-content--expanded__input\"\n placeholder={placeholder}\n onBlur={() => {\n if (!collapsible) return;\n if (!searchTerm || searchTerm === '') setCollapsed(true);\n }}\n />\n </label>\n </div>\n {data &&\n searchResultsMessage !== '' && (\n <div className=\"search-content--results__wrapper\">\n <div className=\"search-content--results__wrapper--message\">\n <div className=\"text-sm pt-2\">{searchResultsMessage}</div>\n\n <div className=\"search-content--results__message\">\n <div className=\"search-content--results__content\">{renderResults()}</div>\n </div>\n </div>\n </div>\n )}\n </div>\n </>\n );\n};\n\nSearchContent.propTypes = {\n searchInputAlignment: PropTypes.string,\n searchInputWrapperMobile: PropTypes.string,\n searchInputWrapperDesktop: PropTypes.string,\n placeholder: PropTypes.string,\n isMobile: PropTypes.bool,\n collapsible: PropTypes.bool,\n entity: PropTypes.string.isRequired\n};\n\nSearchContent.defaultProps = {\n searchInputAlignment: '',\n searchInputWrapperMobile: '',\n searchInputWrapperDesktop: '',\n placeholder: '',\n isMobile: false,\n collapsible: false\n};\n\nexport default SearchContent;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","useState","PropTypes","gql","useApolloClient","useRouter","getPublishedContent","BlazeLink","logError","error","SearchContent","entities","searchInputAlignment","searchInputWrapperMobile","searchInputWrapperDesktop","collapsible","isMobile","placeholder","collapsed","setCollapsed","searchTerm","setSearchTerm","data","setData","router","client","capitalize","s","charAt","toUpperCase","slice","useEffect","length","promises","map","entity","a","b","split","entityName","rawQueryStringified","JSON","stringify","size","query","bool","should","match","docType","minimum_should_match","variables","offset","limit","e","fetchResults","Promise","all","searchResults","result","resultData","searchPublishedContent","results","flat","handleClick","url","preventDefault","push","handleKeyPress","key","target","value","renderResults","dataItem","name","image","includes","searchResultsMessage","propTypes","string","array","isRequired","defaultProps"],"sources":["../../../src/components/SearchContent/index.js"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { gql, useApolloClient } from '@apollo/client';\n\nimport { useRouter } from 'next/router';\nimport { getPublishedContent } from '../../application/query';\nimport BlazeLink from '../BlazeLink';\n\nconst logError = error => error;\n\nconst SearchContent = ({\n entities,\n searchInputAlignment,\n searchInputWrapperMobile,\n searchInputWrapperDesktop,\n collapsible,\n isMobile,\n placeholder\n}) => {\n const [collapsed, setCollapsed] = useState(collapsible);\n const [searchTerm, setSearchTerm] = useState(null);\n const [data, setData] = useState([]);\n\n const router = useRouter();\n const client = useApolloClient();\n\n const capitalize = s => {\n if (typeof s !== 'string') return '';\n return s.charAt(0).toUpperCase() + s.slice(1);\n };\n\n React.useEffect(() => {\n if (data && data.length !== 0) return;\n\n const promises = entities.map(entity => {\n const [a, b] = entity.split('_');\n\n const entityName = capitalize(a) + capitalize(b);\n\n const rawQueryStringified = JSON.stringify({\n size: 0,\n query: {\n bool: {\n should: [\n {\n match: {\n docType: entity\n }\n }\n ],\n minimum_should_match: 1\n }\n }\n });\n\n const query = gql`\n ${getPublishedContent(entityName)}\n `;\n\n try {\n return client.query({\n query,\n variables: {\n rawQueryStringified,\n offset: 0,\n limit: 5\n }\n });\n } catch (e) {\n return [];\n }\n });\n\n try {\n (async () => {\n try {\n const fetchResults = await Promise.all(promises);\n const searchResults = fetchResults\n .map(result => {\n const { data: resultData } = result;\n return resultData.searchPublishedContent.results;\n })\n .flat();\n\n setData(searchResults);\n } catch (e) {\n logError(e);\n }\n })();\n } catch (e) {\n logError(e);\n }\n });\n\n const handleClick = (e, url) => {\n e.preventDefault();\n router.push(url);\n };\n\n const handleKeyPress = e => {\n if (e.key === 'Enter' && e.target.value !== '') {\n router.push(`/search?search_term=${e.target.value}`);\n }\n };\n\n const renderResults = () =>\n // eslint-disable-next-line no-undef\n data?.map(dataItem => {\n const { name, image, url } = dataItem;\n\n if (searchTerm && searchTerm !== '') {\n if (name.includes(searchTerm)) {\n return (\n <BlazeLink href={url} onClick={e => handleClick(e, url)}>\n <div className=\"mt-2 mb-1\">\n <div className=\"flex justify-start items-center\">\n {image.url ? <img src={image.url} alt={name} className=\"w-20 h-14\" /> : null}\n <span className=\"ml-2\">{name}</span>\n </div>\n </div>\n </BlazeLink>\n );\n }\n\n return null;\n }\n });\n\n const searchResultsMessage = searchTerm ? `Search results for: ${searchTerm}` : '';\n\n return collapsed ? (\n <div className={isMobile ? searchInputWrapperMobile : searchInputWrapperDesktop}>\n <div className=\"search-content--collapse__wrapper\">\n <label className=\"search-content--collapse__label\">\n <span className=\"search-content--collapse__icon_wrapper\">\n <svg className=\"search-content--collapse__icon\" viewBox=\"0 0 20 20\">\n <path\n fillRule=\"evenodd\"\n d=\"M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z\"\n clipRule=\"evenodd\"\n />\n </svg>\n </span>\n <input\n onFocus={() => setCollapsed(false)}\n onChange={e => setSearchTerm(e.target.value)}\n type=\"text\"\n name=\"search\"\n value=\"\"\n className=\"search-content--collapse__input\"\n />\n </label>\n </div>\n </div>\n ) : (\n <>\n <div className={`${isMobile ? searchInputWrapperMobile : searchInputWrapperDesktop}`}>\n <div className=\"search-content--expanded__wrapper\">\n <label className=\"search-content--expanded__label\">\n <span className=\"search-content--expanded__icon_wrapper\">\n <svg className=\"search-content--expanded__icon\" viewBox=\"0 0 20 20\">\n <path\n fillRule=\"evenodd\"\n d=\"M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z\"\n clipRule=\"evenodd\"\n />\n </svg>\n </span>\n <input\n type=\"text\"\n name=\"search\"\n onChange={e => setSearchTerm(e.target.value)}\n onKeyPress={handleKeyPress}\n className=\"search-content--expanded__input\"\n placeholder={placeholder}\n onBlur={() => {\n if (!collapsible) return;\n if (!searchTerm || searchTerm === '') setCollapsed(true);\n }}\n />\n </label>\n </div>\n {data &&\n searchResultsMessage !== '' && (\n <div className=\"search-content--results__wrapper\">\n <div className=\"search-content--results__wrapper--message\">\n <div className=\"text-sm pt-2\">{searchResultsMessage}</div>\n\n <div className=\"search-content--results__message\">\n <div className=\"search-content--results__content\">{renderResults()}</div>\n </div>\n </div>\n </div>\n )}\n </div>\n </>\n );\n};\n\nSearchContent.propTypes = {\n searchInputAlignment: PropTypes.string,\n searchInputWrapperMobile: PropTypes.string,\n searchInputWrapperDesktop: PropTypes.string,\n placeholder: PropTypes.string,\n isMobile: PropTypes.bool,\n collapsible: PropTypes.bool,\n entities: PropTypes.array.isRequired\n};\n\nSearchContent.defaultProps = {\n searchInputAlignment: '',\n searchInputWrapperMobile: '',\n searchInputWrapperDesktop: '',\n placeholder: '',\n isMobile: false,\n collapsible: false\n};\n\nexport default SearchContent;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,QAAhB,QAAgC,OAAhC;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,GAAT,EAAcC,eAAd,QAAqC,gBAArC;AAEA,SAASC,SAAT,QAA0B,aAA1B;AACA,SAASC,mBAAT,QAAoC,yBAApC;AACA,OAAOC,SAAP,MAAsB,cAAtB;;AAEA,MAAMC,QAAQ,GAAGC,KAAK,IAAIA,KAA1B;;AAEA,MAAMC,aAAa,GAAG,CAAC;EACrBC,QADqB;EAErBC,oBAFqB;EAGrBC,wBAHqB;EAIrBC,yBAJqB;EAKrBC,WALqB;EAMrBC,QANqB;EAOrBC;AAPqB,CAAD,KAQhB;EACJ,MAAM,CAACC,SAAD,EAAYC,YAAZ,IAA4BlB,QAAQ,CAACc,WAAD,CAA1C;EACA,MAAM,CAACK,UAAD,EAAaC,aAAb,IAA8BpB,QAAQ,CAAC,IAAD,CAA5C;EACA,MAAM,CAACqB,IAAD,EAAOC,OAAP,IAAkBtB,QAAQ,CAAC,EAAD,CAAhC;EAEA,MAAMuB,MAAM,GAAGnB,SAAS,EAAxB;EACA,MAAMoB,MAAM,GAAGrB,eAAe,EAA9B;;EAEA,MAAMsB,UAAU,GAAGC,CAAC,IAAI;IACtB,IAAI,OAAOA,CAAP,KAAa,QAAjB,EAA2B,OAAO,EAAP;IAC3B,OAAOA,CAAC,CAACC,MAAF,CAAS,CAAT,EAAYC,WAAZ,KAA4BF,CAAC,CAACG,KAAF,CAAQ,CAAR,CAAnC;EACD,CAHD;;EAKA9B,KAAK,CAAC+B,SAAN,CAAgB,MAAM;IACpB,IAAIT,IAAI,IAAIA,IAAI,CAACU,MAAL,KAAgB,CAA5B,EAA+B;IAE/B,MAAMC,QAAQ,GAAGtB,QAAQ,CAACuB,GAAT,CAAaC,MAAM,IAAI;MACtC,MAAM,CAACC,CAAD,EAAIC,CAAJ,IAASF,MAAM,CAACG,KAAP,CAAa,GAAb,CAAf;MAEA,MAAMC,UAAU,GAAGb,UAAU,CAACU,CAAD,CAAV,GAAgBV,UAAU,CAACW,CAAD,CAA7C;MAEA,MAAMG,mBAAmB,GAAGC,IAAI,CAACC,SAAL,CAAe;QACzCC,IAAI,EAAE,CADmC;QAEzCC,KAAK,EAAE;UACLC,IAAI,EAAE;YACJC,MAAM,EAAE,CACN;cACEC,KAAK,EAAE;gBACLC,OAAO,EAAEb;cADJ;YADT,CADM,CADJ;YAQJc,oBAAoB,EAAE;UARlB;QADD;MAFkC,CAAf,CAA5B;MAgBA,MAAML,KAAK,GAAGzC,GAAI;AACxB,UAAUG,mBAAmB,CAACiC,UAAD,CAAa;AAC1C,OAFM;;MAIA,IAAI;QACF,OAAOd,MAAM,CAACmB,KAAP,CAAa;UAClBA,KADkB;UAElBM,SAAS,EAAE;YACTV,mBADS;YAETW,MAAM,EAAE,CAFC;YAGTC,KAAK,EAAE;UAHE;QAFO,CAAb,CAAP;MAQD,CATD,CASE,OAAOC,CAAP,EAAU;QACV,OAAO,EAAP;MACD;IACF,CArCgB,CAAjB;;IAuCA,IAAI;MACF,CAAC,YAAY;QACX,IAAI;UACF,MAAMC,YAAY,GAAG,MAAMC,OAAO,CAACC,GAAR,CAAYvB,QAAZ,CAA3B;UACA,MAAMwB,aAAa,GAAGH,YAAY,CAC/BpB,GADmB,CACfwB,MAAM,IAAI;YACb,MAAM;cAAEpC,IAAI,EAAEqC;YAAR,IAAuBD,MAA7B;YACA,OAAOC,UAAU,CAACC,sBAAX,CAAkCC,OAAzC;UACD,CAJmB,EAKnBC,IALmB,EAAtB;UAOAvC,OAAO,CAACkC,aAAD,CAAP;QACD,CAVD,CAUE,OAAOJ,CAAP,EAAU;UACV7C,QAAQ,CAAC6C,CAAD,CAAR;QACD;MACF,CAdD;IAeD,CAhBD,CAgBE,OAAOA,CAAP,EAAU;MACV7C,QAAQ,CAAC6C,CAAD,CAAR;IACD;EACF,CA7DD;;EA+DA,MAAMU,WAAW,GAAG,CAACV,CAAD,EAAIW,GAAJ,KAAY;IAC9BX,CAAC,CAACY,cAAF;IACAzC,MAAM,CAAC0C,IAAP,CAAYF,GAAZ;EACD,CAHD;;EAKA,MAAMG,cAAc,GAAGd,CAAC,IAAI;IAC1B,IAAIA,CAAC,CAACe,GAAF,KAAU,OAAV,IAAqBf,CAAC,CAACgB,MAAF,CAASC,KAAT,KAAmB,EAA5C,EAAgD;MAC9C9C,MAAM,CAAC0C,IAAP,CAAa,uBAAsBb,CAAC,CAACgB,MAAF,CAASC,KAAM,EAAlD;IACD;EACF,CAJD;;EAMA,MAAMC,aAAa,GAAG,MACpB;EACAjD,IAFoB,aAEpBA,IAFoB,uBAEpBA,IAAI,CAAEY,GAAN,CAAUsC,QAAQ,IAAI;IACpB,MAAM;MAAEC,IAAF;MAAQC,KAAR;MAAeV;IAAf,IAAuBQ,QAA7B;;IAEA,IAAIpD,UAAU,IAAIA,UAAU,KAAK,EAAjC,EAAqC;MACnC,IAAIqD,IAAI,CAACE,QAAL,CAAcvD,UAAd,CAAJ,EAA+B;QAC7B,oBACE,oBAAC,SAAD;UAAW,IAAI,EAAE4C,GAAjB;UAAsB,OAAO,EAAEX,CAAC,IAAIU,WAAW,CAACV,CAAD,EAAIW,GAAJ;QAA/C,gBACE;UAAK,SAAS,EAAC;QAAf,gBACE;UAAK,SAAS,EAAC;QAAf,GACGU,KAAK,CAACV,GAAN,gBAAY;UAAK,GAAG,EAAEU,KAAK,CAACV,GAAhB;UAAqB,GAAG,EAAES,IAA1B;UAAgC,SAAS,EAAC;QAA1C,EAAZ,GAAuE,IAD1E,eAEE;UAAM,SAAS,EAAC;QAAhB,GAAwBA,IAAxB,CAFF,CADF,CADF,CADF;MAUD;;MAED,OAAO,IAAP;IACD;EACF,CAnBD,CAFF;;EAuBA,MAAMG,oBAAoB,GAAGxD,UAAU,GAAI,uBAAsBA,UAAW,EAArC,GAAyC,EAAhF;EAEA,OAAOF,SAAS,gBACd;IAAK,SAAS,EAAEF,QAAQ,GAAGH,wBAAH,GAA8BC;EAAtD,gBACE;IAAK,SAAS,EAAC;EAAf,gBACE;IAAO,SAAS,EAAC;EAAjB,gBACE;IAAM,SAAS,EAAC;EAAhB,gBACE;IAAK,SAAS,EAAC,gCAAf;IAAgD,OAAO,EAAC;EAAxD,gBACE;IACE,QAAQ,EAAC,SADX;IAEE,CAAC,EAAC,kHAFJ;IAGE,QAAQ,EAAC;EAHX,EADF,CADF,CADF,eAUE;IACE,OAAO,EAAE,MAAMK,YAAY,CAAC,KAAD,CAD7B;IAEE,QAAQ,EAAEkC,CAAC,IAAIhC,aAAa,CAACgC,CAAC,CAACgB,MAAF,CAASC,KAAV,CAF9B;IAGE,IAAI,EAAC,MAHP;IAIE,IAAI,EAAC,QAJP;IAKE,KAAK,EAAC,EALR;IAME,SAAS,EAAC;EANZ,EAVF,CADF,CADF,CADc,gBAyBd,uDACE;IAAK,SAAS,EAAG,GAAEtD,QAAQ,GAAGH,wBAAH,GAA8BC,yBAA0B;EAAnF,gBACE;IAAK,SAAS,EAAC;EAAf,gBACE;IAAO,SAAS,EAAC;EAAjB,gBACE;IAAM,SAAS,EAAC;EAAhB,gBACE;IAAK,SAAS,EAAC,gCAAf;IAAgD,OAAO,EAAC;EAAxD,gBACE;IACE,QAAQ,EAAC,SADX;IAEE,CAAC,EAAC,kHAFJ;IAGE,QAAQ,EAAC;EAHX,EADF,CADF,CADF,eAUE;IACE,IAAI,EAAC,MADP;IAEE,IAAI,EAAC,QAFP;IAGE,QAAQ,EAAEuC,CAAC,IAAIhC,aAAa,CAACgC,CAAC,CAACgB,MAAF,CAASC,KAAV,CAH9B;IAIE,UAAU,EAAEH,cAJd;IAKE,SAAS,EAAC,iCALZ;IAME,WAAW,EAAElD,WANf;IAOE,MAAM,EAAE,MAAM;MACZ,IAAI,CAACF,WAAL,EAAkB;MAClB,IAAI,CAACK,UAAD,IAAeA,UAAU,KAAK,EAAlC,EAAsCD,YAAY,CAAC,IAAD,CAAZ;IACvC;EAVH,EAVF,CADF,CADF,EA0BGG,IAAI,IACHsD,oBAAoB,KAAK,EAD1B,iBAEG;IAAK,SAAS,EAAC;EAAf,gBACE;IAAK,SAAS,EAAC;EAAf,gBACE;IAAK,SAAS,EAAC;EAAf,GAA+BA,oBAA/B,CADF,eAGE;IAAK,SAAS,EAAC;EAAf,gBACE;IAAK,SAAS,EAAC;EAAf,GAAmDL,aAAa,EAAhE,CADF,CAHF,CADF,CA5BN,CADF,CAzBF;AAmED,CA3LD;;AA6LA7D,aAAa,CAACmE,SAAd,GAA0B;EACxBjE,oBAAoB,EAAEV,SAAS,CAAC4E,MADR;EAExBjE,wBAAwB,EAAEX,SAAS,CAAC4E,MAFZ;EAGxBhE,yBAAyB,EAAEZ,SAAS,CAAC4E,MAHb;EAIxB7D,WAAW,EAAEf,SAAS,CAAC4E,MAJC;EAKxB9D,QAAQ,EAAEd,SAAS,CAAC2C,IALI;EAMxB9B,WAAW,EAAEb,SAAS,CAAC2C,IANC;EAOxBlC,QAAQ,EAAET,SAAS,CAAC6E,KAAV,CAAgBC;AAPF,CAA1B;AAUAtE,aAAa,CAACuE,YAAd,GAA6B;EAC3BrE,oBAAoB,EAAE,EADK;EAE3BC,wBAAwB,EAAE,EAFC;EAG3BC,yBAAyB,EAAE,EAHA;EAI3BG,WAAW,EAAE,EAJc;EAK3BD,QAAQ,EAAE,KALiB;EAM3BD,WAAW,EAAE;AANc,CAA7B;AASA,eAAeL,aAAf"}
@@ -2,7 +2,7 @@ const CHECKBOX = 'checkbox';
2
2
  const SELECT = 'select';
3
3
  const TEXT_SEARCH = 'text-search';
4
4
  const SEARCH_TERM = 'search_term';
5
- const SIZE = 50;
5
+ const SIZE = process.env.BLAZE_PB_SEARCH_FILETER_AGG_SIZE || 500;
6
6
  const KEYWORD = 'keyword';
7
7
  const RAW_RESULTS = 'rawResults';
8
8
  const DEFAULT_OPTION = 'Any';
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","names":["CHECKBOX","SELECT","TEXT_SEARCH","SEARCH_TERM","SIZE","KEYWORD","RAW_RESULTS","DEFAULT_OPTION","DEFAULT_VALUES","RANGE","CHECKBOX_SELECT","LIMIT_MIN","LIMIT_MAX","MORE","LESS","UPDATED_RANGES","MIN_VALUE","MAX_VALUE","TABLET_WIDTH","RESET","SEARCH","REFINE","MOBILE_REFINEMENT_TITLE","MORE_FILTERS_CLASSES_BASE","MORE_FILTERS_CLASSES","MOBILE_WRAPPER","MOBILE_CONTENT","MOBILE_TOGGLER","MOBILE_BUTTONS","DESKTOP_WRAPPER","DESKTOP_CONTENT","DESKTOP_TOGGLER","DESKTOP_BUTTONS"],"sources":["../../../src/components/SearchFilter/constants.js"],"sourcesContent":["const CHECKBOX = 'checkbox';\nconst SELECT = 'select';\nconst TEXT_SEARCH = 'text-search';\nconst SEARCH_TERM = 'search_term';\nconst SIZE = 50;\nconst KEYWORD = 'keyword';\nconst RAW_RESULTS = 'rawResults';\nconst DEFAULT_OPTION = 'Any';\nconst DEFAULT_VALUES = ['Any', 'Please Choose...'];\nconst RANGE = 'range';\nconst CHECKBOX_SELECT = ['checkbox', 'select'];\nconst LIMIT_MIN = 5;\nconst LIMIT_MAX = 1000;\nconst MORE = 'more';\nconst LESS = 'less';\nconst UPDATED_RANGES = 'updated_ranges';\nconst MIN_VALUE = 'min-value';\nconst MAX_VALUE = 'max-value';\nconst TABLET_WIDTH = 768;\nconst RESET = 'Reset all filters';\nconst SEARCH = 'Search';\nconst REFINE = `Refine Search`;\nconst MOBILE_REFINEMENT_TITLE = 'Search refinement';\n\nconst MORE_FILTERS_CLASSES_BASE = 'filter__more-filters';\nconst MORE_FILTERS_CLASSES = {\n MOBILE_WRAPPER: `${MORE_FILTERS_CLASSES_BASE}-mobile-wrapper`,\n MOBILE_CONTENT: `${MORE_FILTERS_CLASSES_BASE}-mobile-content`,\n MOBILE_TOGGLER: `${MORE_FILTERS_CLASSES_BASE}-mobile-toggler`,\n MOBILE_BUTTONS: `${MORE_FILTERS_CLASSES_BASE}-mobile-buttons`,\n DESKTOP_WRAPPER: `${MORE_FILTERS_CLASSES_BASE}-desktop-wrapper`,\n DESKTOP_CONTENT: `${MORE_FILTERS_CLASSES_BASE}-desktop-content`,\n DESKTOP_TOGGLER: `${MORE_FILTERS_CLASSES_BASE}-desktop-toggler`,\n DESKTOP_BUTTONS: `${MORE_FILTERS_CLASSES_BASE}-desktop-buttons`\n};\n\nexport {\n CHECKBOX,\n SELECT,\n TEXT_SEARCH,\n SEARCH_TERM,\n SIZE,\n KEYWORD,\n RAW_RESULTS,\n DEFAULT_OPTION,\n DEFAULT_VALUES,\n RANGE,\n CHECKBOX_SELECT,\n LIMIT_MIN,\n LIMIT_MAX,\n MORE,\n LESS,\n UPDATED_RANGES,\n MIN_VALUE,\n MAX_VALUE,\n TABLET_WIDTH,\n RESET,\n SEARCH,\n REFINE,\n MOBILE_REFINEMENT_TITLE,\n MORE_FILTERS_CLASSES\n};\n"],"mappings":"AAAA,MAAMA,QAAQ,GAAG,UAAjB;AACA,MAAMC,MAAM,GAAG,QAAf;AACA,MAAMC,WAAW,GAAG,aAApB;AACA,MAAMC,WAAW,GAAG,aAApB;AACA,MAAMC,IAAI,GAAG,EAAb;AACA,MAAMC,OAAO,GAAG,SAAhB;AACA,MAAMC,WAAW,GAAG,YAApB;AACA,MAAMC,cAAc,GAAG,KAAvB;AACA,MAAMC,cAAc,GAAG,CAAC,KAAD,EAAQ,kBAAR,CAAvB;AACA,MAAMC,KAAK,GAAG,OAAd;AACA,MAAMC,eAAe,GAAG,CAAC,UAAD,EAAa,QAAb,CAAxB;AACA,MAAMC,SAAS,GAAG,CAAlB;AACA,MAAMC,SAAS,GAAG,IAAlB;AACA,MAAMC,IAAI,GAAG,MAAb;AACA,MAAMC,IAAI,GAAG,MAAb;AACA,MAAMC,cAAc,GAAG,gBAAvB;AACA,MAAMC,SAAS,GAAG,WAAlB;AACA,MAAMC,SAAS,GAAG,WAAlB;AACA,MAAMC,YAAY,GAAG,GAArB;AACA,MAAMC,KAAK,GAAG,mBAAd;AACA,MAAMC,MAAM,GAAG,QAAf;AACA,MAAMC,MAAM,GAAI,eAAhB;AACA,MAAMC,uBAAuB,GAAG,mBAAhC;AAEA,MAAMC,yBAAyB,GAAG,sBAAlC;AACA,MAAMC,oBAAoB,GAAG;EAC3BC,cAAc,EAAG,GAAEF,yBAA0B,iBADlB;EAE3BG,cAAc,EAAG,GAAEH,yBAA0B,iBAFlB;EAG3BI,cAAc,EAAG,GAAEJ,yBAA0B,iBAHlB;EAI3BK,cAAc,EAAG,GAAEL,yBAA0B,iBAJlB;EAK3BM,eAAe,EAAG,GAAEN,yBAA0B,kBALnB;EAM3BO,eAAe,EAAG,GAAEP,yBAA0B,kBANnB;EAO3BQ,eAAe,EAAG,GAAER,yBAA0B,kBAPnB;EAQ3BS,eAAe,EAAG,GAAET,yBAA0B;AARnB,CAA7B;AAWA,SACEvB,QADF,EAEEC,MAFF,EAGEC,WAHF,EAIEC,WAJF,EAKEC,IALF,EAMEC,OANF,EAOEC,WAPF,EAQEC,cARF,EASEC,cATF,EAUEC,KAVF,EAWEC,eAXF,EAYEC,SAZF,EAaEC,SAbF,EAcEC,IAdF,EAeEC,IAfF,EAgBEC,cAhBF,EAiBEC,SAjBF,EAkBEC,SAlBF,EAmBEC,YAnBF,EAoBEC,KApBF,EAqBEC,MArBF,EAsBEC,MAtBF,EAuBEC,uBAvBF,EAwBEE,oBAxBF"}
1
+ {"version":3,"file":"constants.js","names":["CHECKBOX","SELECT","TEXT_SEARCH","SEARCH_TERM","SIZE","process","env","BLAZE_PB_SEARCH_FILETER_AGG_SIZE","KEYWORD","RAW_RESULTS","DEFAULT_OPTION","DEFAULT_VALUES","RANGE","CHECKBOX_SELECT","LIMIT_MIN","LIMIT_MAX","MORE","LESS","UPDATED_RANGES","MIN_VALUE","MAX_VALUE","TABLET_WIDTH","RESET","SEARCH","REFINE","MOBILE_REFINEMENT_TITLE","MORE_FILTERS_CLASSES_BASE","MORE_FILTERS_CLASSES","MOBILE_WRAPPER","MOBILE_CONTENT","MOBILE_TOGGLER","MOBILE_BUTTONS","DESKTOP_WRAPPER","DESKTOP_CONTENT","DESKTOP_TOGGLER","DESKTOP_BUTTONS"],"sources":["../../../src/components/SearchFilter/constants.js"],"sourcesContent":["const CHECKBOX = 'checkbox';\nconst SELECT = 'select';\nconst TEXT_SEARCH = 'text-search';\nconst SEARCH_TERM = 'search_term';\nconst SIZE = process.env.BLAZE_PB_SEARCH_FILETER_AGG_SIZE || 500;\nconst KEYWORD = 'keyword';\nconst RAW_RESULTS = 'rawResults';\nconst DEFAULT_OPTION = 'Any';\nconst DEFAULT_VALUES = ['Any', 'Please Choose...'];\nconst RANGE = 'range';\nconst CHECKBOX_SELECT = ['checkbox', 'select'];\nconst LIMIT_MIN = 5;\nconst LIMIT_MAX = 1000;\nconst MORE = 'more';\nconst LESS = 'less';\nconst UPDATED_RANGES = 'updated_ranges';\nconst MIN_VALUE = 'min-value';\nconst MAX_VALUE = 'max-value';\nconst TABLET_WIDTH = 768;\nconst RESET = 'Reset all filters';\nconst SEARCH = 'Search';\nconst REFINE = `Refine Search`;\nconst MOBILE_REFINEMENT_TITLE = 'Search refinement';\n\nconst MORE_FILTERS_CLASSES_BASE = 'filter__more-filters';\nconst MORE_FILTERS_CLASSES = {\n MOBILE_WRAPPER: `${MORE_FILTERS_CLASSES_BASE}-mobile-wrapper`,\n MOBILE_CONTENT: `${MORE_FILTERS_CLASSES_BASE}-mobile-content`,\n MOBILE_TOGGLER: `${MORE_FILTERS_CLASSES_BASE}-mobile-toggler`,\n MOBILE_BUTTONS: `${MORE_FILTERS_CLASSES_BASE}-mobile-buttons`,\n DESKTOP_WRAPPER: `${MORE_FILTERS_CLASSES_BASE}-desktop-wrapper`,\n DESKTOP_CONTENT: `${MORE_FILTERS_CLASSES_BASE}-desktop-content`,\n DESKTOP_TOGGLER: `${MORE_FILTERS_CLASSES_BASE}-desktop-toggler`,\n DESKTOP_BUTTONS: `${MORE_FILTERS_CLASSES_BASE}-desktop-buttons`\n};\n\nexport {\n CHECKBOX,\n SELECT,\n TEXT_SEARCH,\n SEARCH_TERM,\n SIZE,\n KEYWORD,\n RAW_RESULTS,\n DEFAULT_OPTION,\n DEFAULT_VALUES,\n RANGE,\n CHECKBOX_SELECT,\n LIMIT_MIN,\n LIMIT_MAX,\n MORE,\n LESS,\n UPDATED_RANGES,\n MIN_VALUE,\n MAX_VALUE,\n TABLET_WIDTH,\n RESET,\n SEARCH,\n REFINE,\n MOBILE_REFINEMENT_TITLE,\n MORE_FILTERS_CLASSES\n};\n"],"mappings":"AAAA,MAAMA,QAAQ,GAAG,UAAjB;AACA,MAAMC,MAAM,GAAG,QAAf;AACA,MAAMC,WAAW,GAAG,aAApB;AACA,MAAMC,WAAW,GAAG,aAApB;AACA,MAAMC,IAAI,GAAGC,OAAO,CAACC,GAAR,CAAYC,gCAAZ,IAAgD,GAA7D;AACA,MAAMC,OAAO,GAAG,SAAhB;AACA,MAAMC,WAAW,GAAG,YAApB;AACA,MAAMC,cAAc,GAAG,KAAvB;AACA,MAAMC,cAAc,GAAG,CAAC,KAAD,EAAQ,kBAAR,CAAvB;AACA,MAAMC,KAAK,GAAG,OAAd;AACA,MAAMC,eAAe,GAAG,CAAC,UAAD,EAAa,QAAb,CAAxB;AACA,MAAMC,SAAS,GAAG,CAAlB;AACA,MAAMC,SAAS,GAAG,IAAlB;AACA,MAAMC,IAAI,GAAG,MAAb;AACA,MAAMC,IAAI,GAAG,MAAb;AACA,MAAMC,cAAc,GAAG,gBAAvB;AACA,MAAMC,SAAS,GAAG,WAAlB;AACA,MAAMC,SAAS,GAAG,WAAlB;AACA,MAAMC,YAAY,GAAG,GAArB;AACA,MAAMC,KAAK,GAAG,mBAAd;AACA,MAAMC,MAAM,GAAG,QAAf;AACA,MAAMC,MAAM,GAAI,eAAhB;AACA,MAAMC,uBAAuB,GAAG,mBAAhC;AAEA,MAAMC,yBAAyB,GAAG,sBAAlC;AACA,MAAMC,oBAAoB,GAAG;EAC3BC,cAAc,EAAG,GAAEF,yBAA0B,iBADlB;EAE3BG,cAAc,EAAG,GAAEH,yBAA0B,iBAFlB;EAG3BI,cAAc,EAAG,GAAEJ,yBAA0B,iBAHlB;EAI3BK,cAAc,EAAG,GAAEL,yBAA0B,iBAJlB;EAK3BM,eAAe,EAAG,GAAEN,yBAA0B,kBALnB;EAM3BO,eAAe,EAAG,GAAEP,yBAA0B,kBANnB;EAO3BQ,eAAe,EAAG,GAAER,yBAA0B,kBAPnB;EAQ3BS,eAAe,EAAG,GAAET,yBAA0B;AARnB,CAA7B;AAWA,SACE1B,QADF,EAEEC,MAFF,EAGEC,WAHF,EAIEC,WAJF,EAKEC,IALF,EAMEI,OANF,EAOEC,WAPF,EAQEC,cARF,EASEC,cATF,EAUEC,KAVF,EAWEC,eAXF,EAYEC,SAZF,EAaEC,SAbF,EAcEC,IAdF,EAeEC,IAfF,EAgBEC,cAhBF,EAiBEC,SAjBF,EAkBEC,SAlBF,EAmBEC,YAnBF,EAoBEC,KApBF,EAqBEC,MArBF,EAsBEC,MAtBF,EAuBEC,uBAvBF,EAwBEE,oBAxBF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blaze-cms/react-page-builder",
3
- "version": "0.124.0-alpha.4",
3
+ "version": "0.124.0-alpha.8",
4
4
  "description": "Blaze react page builder",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-es/index.js",
@@ -84,5 +84,5 @@
84
84
  "lib/*",
85
85
  "lib-es/*"
86
86
  ],
87
- "gitHead": "b64d7bf5579ccdf2cdbd4930ed07f27f8c8658a1"
87
+ "gitHead": "b1315a8be908a92e7f0c103166ce2ace52cc4b1c"
88
88
  }
@@ -156,6 +156,10 @@ const getPublishedContent = entity => `
156
156
  ... on ${entity} {
157
157
  id
158
158
  name
159
+ image {
160
+ url
161
+ __typename
162
+ }
159
163
  url
160
164
  __typename
161
165
  }
@@ -1,12 +1,15 @@
1
1
  import React, { useState } from 'react';
2
2
  import PropTypes from 'prop-types';
3
- import { gql, useQuery } from '@apollo/client';
3
+ import { gql, useApolloClient } from '@apollo/client';
4
+
4
5
  import { useRouter } from 'next/router';
5
6
  import { getPublishedContent } from '../../application/query';
6
7
  import BlazeLink from '../BlazeLink';
7
8
 
9
+ const logError = error => error;
10
+
8
11
  const SearchContent = ({
9
- entity,
12
+ entities,
10
13
  searchInputAlignment,
11
14
  searchInputWrapperMobile,
12
15
  searchInputWrapperDesktop,
@@ -16,44 +19,79 @@ const SearchContent = ({
16
19
  }) => {
17
20
  const [collapsed, setCollapsed] = useState(collapsible);
18
21
  const [searchTerm, setSearchTerm] = useState(null);
22
+ const [data, setData] = useState([]);
23
+
19
24
  const router = useRouter();
25
+ const client = useApolloClient();
20
26
 
21
27
  const capitalize = s => {
22
28
  if (typeof s !== 'string') return '';
23
29
  return s.charAt(0).toUpperCase() + s.slice(1);
24
30
  };
25
31
 
26
- const [a, b] = entity.split('_');
27
-
28
- const entityName = capitalize(a) + capitalize(b);
32
+ React.useEffect(() => {
33
+ if (data && data.length !== 0) return;
34
+
35
+ const promises = entities.map(entity => {
36
+ const [a, b] = entity.split('_');
37
+
38
+ const entityName = capitalize(a) + capitalize(b);
39
+
40
+ const rawQueryStringified = JSON.stringify({
41
+ size: 0,
42
+ query: {
43
+ bool: {
44
+ should: [
45
+ {
46
+ match: {
47
+ docType: entity
48
+ }
49
+ }
50
+ ],
51
+ minimum_should_match: 1
52
+ }
53
+ }
54
+ });
29
55
 
30
- const rawQueryStringified = JSON.stringify({
31
- size: 0,
32
- query: {
33
- bool: {
34
- should: [
35
- {
36
- match: {
37
- docType: entity
38
- }
56
+ const query = gql`
57
+ ${getPublishedContent(entityName)}
58
+ `;
59
+
60
+ try {
61
+ return client.query({
62
+ query,
63
+ variables: {
64
+ rawQueryStringified,
65
+ offset: 0,
66
+ limit: 5
39
67
  }
40
- ],
41
- minimum_should_match: 1
68
+ });
69
+ } catch (e) {
70
+ return [];
42
71
  }
72
+ });
73
+
74
+ try {
75
+ (async () => {
76
+ try {
77
+ const fetchResults = await Promise.all(promises);
78
+ const searchResults = fetchResults
79
+ .map(result => {
80
+ const { data: resultData } = result;
81
+ return resultData.searchPublishedContent.results;
82
+ })
83
+ .flat();
84
+
85
+ setData(searchResults);
86
+ } catch (e) {
87
+ logError(e);
88
+ }
89
+ })();
90
+ } catch (e) {
91
+ logError(e);
43
92
  }
44
93
  });
45
94
 
46
- const query = gql`
47
- ${getPublishedContent(entityName)}
48
- `;
49
-
50
- const { loading, error, data } = useQuery(query, {
51
- variables: { rawQueryStringified, offset: 0, limit: 5 }
52
- });
53
-
54
- if (loading) return null;
55
- if (error) return null;
56
-
57
95
  const handleClick = (e, url) => {
58
96
  e.preventDefault();
59
97
  router.push(url);
@@ -65,26 +103,28 @@ const SearchContent = ({
65
103
  }
66
104
  };
67
105
 
68
- const renderResults = () => {
106
+ const renderResults = () =>
69
107
  // eslint-disable-next-line no-undef
70
- const { results } = data?.searchPublishedContent;
108
+ data?.map(dataItem => {
109
+ const { name, image, url } = dataItem;
71
110
 
72
- if (results && searchTerm && searchTerm !== '') {
73
- return results.map(({ name, url }) => {
111
+ if (searchTerm && searchTerm !== '') {
74
112
  if (name.includes(searchTerm)) {
75
113
  return (
76
114
  <BlazeLink href={url} onClick={e => handleClick(e, url)}>
77
- {name}
115
+ <div className="mt-2 mb-1">
116
+ <div className="flex justify-start items-center">
117
+ {image.url ? <img src={image.url} alt={name} className="w-20 h-14" /> : null}
118
+ <span className="ml-2">{name}</span>
119
+ </div>
120
+ </div>
78
121
  </BlazeLink>
79
122
  );
80
123
  }
81
124
 
82
125
  return null;
83
- });
84
- }
85
-
86
- return [];
87
- };
126
+ }
127
+ });
88
128
 
89
129
  const searchResultsMessage = searchTerm ? `Search results for: ${searchTerm}` : '';
90
130
 
@@ -164,7 +204,7 @@ SearchContent.propTypes = {
164
204
  placeholder: PropTypes.string,
165
205
  isMobile: PropTypes.bool,
166
206
  collapsible: PropTypes.bool,
167
- entity: PropTypes.string.isRequired
207
+ entities: PropTypes.array.isRequired
168
208
  };
169
209
 
170
210
  SearchContent.defaultProps = {
@@ -2,7 +2,7 @@ const CHECKBOX = 'checkbox';
2
2
  const SELECT = 'select';
3
3
  const TEXT_SEARCH = 'text-search';
4
4
  const SEARCH_TERM = 'search_term';
5
- const SIZE = 50;
5
+ const SIZE = process.env.BLAZE_PB_SEARCH_FILETER_AGG_SIZE || 500;
6
6
  const KEYWORD = 'keyword';
7
7
  const RAW_RESULTS = 'rawResults';
8
8
  const DEFAULT_OPTION = 'Any';
@@ -1521,13 +1521,13 @@ const RAW_QUERY_ALL_SEARCH_VALUE_DIFFERENT_OPERATOR_TEXT_CHECKBOX_HAS_OR_OPERATO
1521
1521
  };
1522
1522
 
1523
1523
  const RAW_QUERY_STRINGIFIED =
1524
- '{"aggs":{"tags.name":{"terms":{"field":"tags.name.keyword","size":50}},"category.name"' +
1525
- ':{"terms":{"field":"category.name.keyword","size":50}}},"size":0,"query":{"bool":{"filter":{"bool"' +
1524
+ '{"aggs":{"tags.name":{"terms":{"field":"tags.name.keyword","size":500}},"category.name"' +
1525
+ ':{"terms":{"field":"category.name.keyword","size":500}}},"size":0,"query":{"bool":{"filter":{"bool"' +
1526
1526
  ':{"should":[{"match":{"docType":"published_page"}}],"minimum_should_match":1}}}}}';
1527
1527
 
1528
1528
  const RAW_QUERY_STRINGIFIED_WITH_RANGE =
1529
- '{"aggs":{"tags.name":{"terms":{"field":"tags.name.keyword","size":50}},"category.name":{"' +
1530
- 'terms":{"field":"category.name.keyword","size":50}},"price":{"stats":{"field":"price"}},"length":' +
1529
+ '{"aggs":{"tags.name":{"terms":{"field":"tags.name.keyword","size":500}},"category.name":{"' +
1530
+ 'terms":{"field":"category.name.keyword","size":500}},"price":{"stats":{"field":"price"}},"length":' +
1531
1531
  '{"stats":{"field":"length"}}},"size":0,"query":{"bool":{"filter":{"bool":{"should":[{"match":' +
1532
1532
  '{"docType":"published_page"}}],"minimum_should_match":1}}}}}';
1533
1533