@blaze-cms/react-page-builder 0.146.0-alpha.4 → 0.146.0-alpha.7

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 (76) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/lib/components/Card/helpers/index.js +6 -6
  3. package/lib/components/Card/helpers/index.js.map +1 -1
  4. package/lib/components/MenuItem/MenuEntitiesItem.js +203 -0
  5. package/lib/components/MenuItem/MenuEntitiesItem.js.map +1 -0
  6. package/lib/components/MenuItem/MenuItem.js +25 -68
  7. package/lib/components/MenuItem/MenuItem.js.map +1 -1
  8. package/lib/components/MenuItem/MenuItemRender.js +103 -0
  9. package/lib/components/MenuItem/MenuItemRender.js.map +1 -0
  10. package/lib/{components/Card/helpers → helpers}/filter-query-setup.js +10 -7
  11. package/lib/helpers/filter-query-setup.js.map +1 -0
  12. package/lib/{components/Card/helpers → helpers}/filters-setup.js +8 -5
  13. package/lib/helpers/filters-setup.js.map +1 -0
  14. package/lib/helpers/get-updated-items-to-display.js.map +1 -0
  15. package/lib/helpers/get-updated-sort-properties.js.map +1 -0
  16. package/lib/helpers/index.js +42 -0
  17. package/lib/helpers/index.js.map +1 -1
  18. package/lib/helpers/should-return.js.map +1 -0
  19. package/lib/{components/Card/helpers → helpers}/should-skip-single-query.js +1 -1
  20. package/lib/helpers/should-skip-single-query.js.map +1 -0
  21. package/lib-es/components/Card/helpers/index.js +6 -6
  22. package/lib-es/components/Card/helpers/index.js.map +1 -1
  23. package/lib-es/components/MenuItem/MenuEntitiesItem.js +177 -0
  24. package/lib-es/components/MenuItem/MenuEntitiesItem.js.map +1 -0
  25. package/lib-es/components/MenuItem/MenuItem.js +28 -57
  26. package/lib-es/components/MenuItem/MenuItem.js.map +1 -1
  27. package/lib-es/components/MenuItem/MenuItemRender.js +83 -0
  28. package/lib-es/components/MenuItem/MenuItemRender.js.map +1 -0
  29. package/lib-es/{components/Card/helpers → helpers}/filter-query-setup.js +5 -3
  30. package/lib-es/helpers/filter-query-setup.js.map +1 -0
  31. package/lib-es/{components/Card/helpers → helpers}/filters-setup.js +4 -2
  32. package/lib-es/helpers/filters-setup.js.map +1 -0
  33. package/lib-es/helpers/get-updated-items-to-display.js.map +1 -0
  34. package/lib-es/helpers/get-updated-sort-properties.js.map +1 -0
  35. package/lib-es/helpers/index.js +6 -0
  36. package/lib-es/helpers/index.js.map +1 -1
  37. package/lib-es/helpers/should-return.js.map +1 -0
  38. package/lib-es/{components/Card/helpers → helpers}/should-skip-single-query.js +1 -1
  39. package/lib-es/helpers/should-skip-single-query.js.map +1 -0
  40. package/package.json +2 -2
  41. package/src/components/Card/helpers/index.js +6 -6
  42. package/src/components/MenuItem/MenuEntitiesItem.js +202 -0
  43. package/src/components/MenuItem/MenuItem.js +15 -58
  44. package/src/components/MenuItem/MenuItemRender.js +91 -0
  45. package/src/{components/Card/helpers → helpers}/filter-query-setup.js +5 -3
  46. package/src/{components/Card/helpers → helpers}/filters-setup.js +5 -2
  47. package/src/helpers/index.js +6 -0
  48. package/src/{components/Card/helpers → helpers}/should-skip-single-query.js +1 -1
  49. package/tests/unit/src/components/Card/helpers/get-updated-items-to-display.test.js +1 -1
  50. package/tests/unit/src/components/MenuItem/MenuEntitiesItem.test.js +23 -0
  51. package/tests/unit/src/components/MenuItem/MenuItem.test.js +30 -11
  52. package/tests/unit/src/components/MenuItem/MenuItemRender.test.js +55 -0
  53. package/tests/unit/src/components/MenuItem/__snapshots__/MenuEntitiesItem.test.js.snap +3 -0
  54. package/tests/unit/src/components/MenuItem/__snapshots__/MenuItem.test.js.snap +5 -51
  55. package/tests/unit/src/components/MenuItem/mocks.js +71 -0
  56. package/lib/components/Card/helpers/filter-query-setup.js.map +0 -1
  57. package/lib/components/Card/helpers/filters-setup.js.map +0 -1
  58. package/lib/components/Card/helpers/get-updated-items-to-display.js.map +0 -1
  59. package/lib/components/Card/helpers/get-updated-sort-properties.js.map +0 -1
  60. package/lib/components/Card/helpers/should-return.js.map +0 -1
  61. package/lib/components/Card/helpers/should-skip-single-query.js.map +0 -1
  62. package/lib-es/components/Card/helpers/filter-query-setup.js.map +0 -1
  63. package/lib-es/components/Card/helpers/filters-setup.js.map +0 -1
  64. package/lib-es/components/Card/helpers/get-updated-items-to-display.js.map +0 -1
  65. package/lib-es/components/Card/helpers/get-updated-sort-properties.js.map +0 -1
  66. package/lib-es/components/Card/helpers/should-return.js.map +0 -1
  67. package/lib-es/components/Card/helpers/should-skip-single-query.js.map +0 -1
  68. /package/lib/{components/Card/helpers → helpers}/get-updated-items-to-display.js +0 -0
  69. /package/lib/{components/Card/helpers → helpers}/get-updated-sort-properties.js +0 -0
  70. /package/lib/{components/Card/helpers → helpers}/should-return.js +0 -0
  71. /package/lib-es/{components/Card/helpers → helpers}/get-updated-items-to-display.js +0 -0
  72. /package/lib-es/{components/Card/helpers → helpers}/get-updated-sort-properties.js +0 -0
  73. /package/lib-es/{components/Card/helpers → helpers}/should-return.js +0 -0
  74. /package/src/{components/Card/helpers → helpers}/get-updated-items-to-display.js +0 -0
  75. /package/src/{components/Card/helpers → helpers}/get-updated-sort-properties.js +0 -0
  76. /package/src/{components/Card/helpers → helpers}/should-return.js +0 -0
package/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [0.146.0-alpha.7](https://github.com/thebyte9/blaze/compare/v0.146.0-alpha.6...v0.146.0-alpha.7) (2024-09-19)
7
+
8
+
9
+ ### Features
10
+
11
+ * dynamic menu items ([#4099](https://github.com/thebyte9/blaze/issues/4099)) ([c1e052b](https://github.com/thebyte9/blaze/commit/c1e052ba93218d4f603c697cf8b533d2d0befbf1))
12
+
13
+
14
+
15
+
16
+
6
17
  # [0.146.0-alpha.4](https://github.com/thebyte9/blaze/compare/v0.146.0-alpha.3...v0.146.0-alpha.4) (2024-09-13)
7
18
 
8
19
 
@@ -62,10 +62,10 @@ Object.defineProperty(exports, "useDynamicSizeKey", {
62
62
  var _getPublishedListingUrl = _interopRequireDefault(require("./get-published-listing-url"));
63
63
  var _useDynamicSizeKey = _interopRequireDefault(require("./use-dynamic-size-key"));
64
64
  var _getDynamicGridClasses = _interopRequireDefault(require("./get-dynamic-grid-classes"));
65
- var _filtersSetup = _interopRequireDefault(require("./filters-setup"));
66
- var _filterQuerySetup = _interopRequireDefault(require("./filter-query-setup"));
67
- var _shouldReturn = _interopRequireDefault(require("./should-return"));
68
- var _shouldSkipSingleQuery = _interopRequireDefault(require("./should-skip-single-query"));
69
- var _getUpdatedSortProperties = _interopRequireDefault(require("./get-updated-sort-properties"));
70
- var _getUpdatedItemsToDisplay = _interopRequireDefault(require("./get-updated-items-to-display"));
65
+ var _filtersSetup = _interopRequireDefault(require("../../../helpers/filters-setup"));
66
+ var _filterQuerySetup = _interopRequireDefault(require("../../../helpers/filter-query-setup"));
67
+ var _shouldReturn = _interopRequireDefault(require("../../../helpers/should-return"));
68
+ var _shouldSkipSingleQuery = _interopRequireDefault(require("../../../helpers/should-skip-single-query"));
69
+ var _getUpdatedSortProperties = _interopRequireDefault(require("../../../helpers/get-updated-sort-properties"));
70
+ var _getUpdatedItemsToDisplay = _interopRequireDefault(require("../../../helpers/get-updated-items-to-display"));
71
71
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_getPublishedListingUrl","_interopRequireDefault","require","_useDynamicSizeKey","_getDynamicGridClasses","_filtersSetup","_filterQuerySetup","_shouldReturn","_shouldSkipSingleQuery","_getUpdatedSortProperties","_getUpdatedItemsToDisplay"],"sources":["../../../../src/components/Card/helpers/index.js"],"sourcesContent":["export { default as getPublishedListingUrl } from './get-published-listing-url';\nexport { default as useDynamicSizeKey } from './use-dynamic-size-key';\nexport { default as getDynamicGridClasses } from './get-dynamic-grid-classes';\nexport { default as filtersSetup } from './filters-setup';\nexport { default as filterQuerySetup } from './filter-query-setup';\nexport { default as shouldReturn } from './should-return';\nexport { default as shouldSkipSingleQuery } from './should-skip-single-query';\nexport { default as getUpdatedSortProperties } from './get-updated-sort-properties';\nexport { default as getUpdatedItemsToDisplay } from './get-updated-items-to-display';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,uBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,sBAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,aAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,iBAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,aAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,sBAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,yBAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,yBAAA,GAAAT,sBAAA,CAAAC,OAAA"}
1
+ {"version":3,"file":"index.js","names":["_getPublishedListingUrl","_interopRequireDefault","require","_useDynamicSizeKey","_getDynamicGridClasses","_filtersSetup","_filterQuerySetup","_shouldReturn","_shouldSkipSingleQuery","_getUpdatedSortProperties","_getUpdatedItemsToDisplay"],"sources":["../../../../src/components/Card/helpers/index.js"],"sourcesContent":["export { default as getPublishedListingUrl } from './get-published-listing-url';\nexport { default as useDynamicSizeKey } from './use-dynamic-size-key';\nexport { default as getDynamicGridClasses } from './get-dynamic-grid-classes';\nexport { default as filtersSetup } from '../../../helpers/filters-setup';\nexport { default as filterQuerySetup } from '../../../helpers/filter-query-setup';\nexport { default as shouldReturn } from '../../../helpers/should-return';\nexport { default as shouldSkipSingleQuery } from '../../../helpers/should-skip-single-query';\nexport { default as getUpdatedSortProperties } from '../../../helpers/get-updated-sort-properties';\nexport { default as getUpdatedItemsToDisplay } from '../../../helpers/get-updated-items-to-display';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,uBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,sBAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,aAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,iBAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,aAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,sBAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,yBAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,yBAAA,GAAAT,sBAAA,CAAAC,OAAA"}
@@ -0,0 +1,203 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.keys.js");
4
+ require("core-js/modules/es.symbol.js");
5
+ require("core-js/modules/es.array.filter.js");
6
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
7
+ require("core-js/modules/es.array.for-each.js");
8
+ require("core-js/modules/web.dom-collections.for-each.js");
9
+ require("core-js/modules/es.object.get-own-property-descriptors.js");
10
+ require("core-js/modules/es.object.define-properties.js");
11
+ require("core-js/modules/es.object.define-property.js");
12
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
13
+ Object.defineProperty(exports, "__esModule", {
14
+ value: true
15
+ });
16
+ exports["default"] = void 0;
17
+ require("core-js/modules/es.array.sort.js");
18
+ require("core-js/modules/es.array.concat.js");
19
+ require("core-js/modules/es.array.map.js");
20
+ require("core-js/modules/es.array.reduce.js");
21
+ require("core-js/modules/es.object.to-string.js");
22
+ require("core-js/modules/es.object.values.js");
23
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
24
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
26
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
27
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
28
+ var _react = _interopRequireDefault(require("react"));
29
+ var _propTypes = _interopRequireDefault(require("prop-types"));
30
+ var _client = require("@apollo/client");
31
+ var _MenuItemRender = _interopRequireDefault(require("./MenuItemRender"));
32
+ var _helpers = require("../../helpers");
33
+ var _hooks = require("../../hooks");
34
+ var _query = require("../../application/query");
35
+ var _constants = require("../../constants");
36
+ var _excluded = ["entities", "parent"];
37
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
38
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
39
+ var MenuEntitiesItem = function MenuEntitiesItem(_ref) {
40
+ var entities = _ref.entities,
41
+ parent = _ref.parent,
42
+ props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
43
+ var parentEntity = parent.itemEntity,
44
+ parentId = parent.itemId;
45
+ var _props$operator = props.operator,
46
+ filterOperator = _props$operator === void 0 ? _constants.AND : _props$operator,
47
+ _props$filterByProper = props.filterByProperty,
48
+ filterByProperty = _props$filterByProper === void 0 ? [] : _props$filterByProper,
49
+ _props$sortProperties = props.sortProperties,
50
+ sortProperties = _props$sortProperties === void 0 ? [] : _props$sortProperties,
51
+ itemsToDisplay = props.itemsToDisplay,
52
+ _props$filterBy = props.filterBy,
53
+ filterBy = _props$filterBy === void 0 ? [] : _props$filterBy,
54
+ sortby = props.sortby,
55
+ sort = props.sort;
56
+ var unpublishedEntityName = (0, _helpers.getUnpublishedEntityName)(parentEntity);
57
+ var _getUpdatedSortProper = (0, _helpers.getUpdatedSortProperties)(sort, sortby, sortProperties),
58
+ _getUpdatedSortProper2 = (0, _slicedToArray2["default"])(_getUpdatedSortProper, 2),
59
+ updatedSortProperties = _getUpdatedSortProper2[0],
60
+ sortbyFilters = _getUpdatedSortProper2[1];
61
+ var _useGetEntitySchemasA = (0, _hooks.useGetEntitySchemasAsObj)([unpublishedEntityName].concat((0, _toConsumableArray2["default"])(entities))),
62
+ _useGetEntitySchemasA2 = _useGetEntitySchemasA.data,
63
+ mainSchemas = _useGetEntitySchemasA2 === void 0 ? {} : _useGetEntitySchemasA2,
64
+ entityObjloading = _useGetEntitySchemasA.loading,
65
+ entityObjError = _useGetEntitySchemasA.error;
66
+ var _entities = (0, _slicedToArray2["default"])(entities, 1),
67
+ filterEntity = _entities[0];
68
+ var _mainSchemas$filterEn = mainSchemas[filterEntity],
69
+ filterEntitySchema = _mainSchemas$filterEn === void 0 ? {} : _mainSchemas$filterEn;
70
+ var entitiesTypes = entities.map(function (entity) {
71
+ return (0, _helpers.getEntityData)(entity, mainSchemas[entity]);
72
+ });
73
+ var graphqlEntityMap = entitiesTypes.reduce(function (acc, entityType) {
74
+ return _objectSpread(_objectSpread({}, acc), {}, (0, _defineProperty2["default"])({}, entityType.entityType, entityType.entity));
75
+ }, {});
76
+ var docTypes = entitiesTypes.map(function (_ref2) {
77
+ var docType = _ref2.docType;
78
+ return docType;
79
+ });
80
+ var entityTypes = entitiesTypes.map(function (_ref3) {
81
+ var entityType = _ref3.entityType;
82
+ return entityType;
83
+ });
84
+ var entityFields = (0, _helpers.buildPropsQuery)(filterEntitySchema, ['name', 'url']) || '';
85
+ var parentSchema = mainSchemas[unpublishedEntityName] || {};
86
+ var _filtersSetup = (0, _helpers.filtersSetup)({
87
+ itemEntityUpdated: unpublishedEntityName,
88
+ currentSchema: parentSchema,
89
+ filterEntitySchema: filterEntitySchema,
90
+ filterByProperty: filterByProperty,
91
+ entityFields: entityFields,
92
+ entityTypes: entityTypes,
93
+ filterBy: filterBy,
94
+ entities: entities
95
+ }),
96
+ entitySameAsCurrentItemEntity = _filtersSetup.entitySameAsCurrentItemEntity,
97
+ filterEntityRelations = _filtersSetup.filterEntityRelations,
98
+ inheritedFilters = _filtersSetup.inheritedFilters,
99
+ queryProps = _filtersSetup.queryProps,
100
+ getAction = _filtersSetup.getAction,
101
+ action = _filtersSetup.action;
102
+ var _useQuery = (0, _client.useQuery)((0, _query.generateSingleItemQuery)(getAction, queryProps), {
103
+ variables: {
104
+ id: parentId
105
+ },
106
+ skip: (0, _helpers.shouldSkipSingleQuery)(entityObjloading, getAction, queryProps)
107
+ }),
108
+ _useQuery$data = _useQuery.data,
109
+ _useQuery$data2 = _useQuery$data === void 0 ? {} : _useQuery$data,
110
+ _useQuery$data2$entit = _useQuery$data2.entityData,
111
+ parentEntityData = _useQuery$data2$entit === void 0 ? {} : _useQuery$data2$entit,
112
+ singleItemQueryError = _useQuery.error,
113
+ singleItemQueryLoading = _useQuery.loading;
114
+ var _useGetEntitySchemasA3 = (0, _hooks.useGetEntitySchemasAsObj)((0, _helpers.getRequiredSchemas)([].concat((0, _toConsumableArray2["default"])(filterByProperty), (0, _toConsumableArray2["default"])(sortbyFilters)), filterEntitySchema), entityObjloading),
115
+ _useGetEntitySchemasA4 = _useGetEntitySchemasA3.data,
116
+ requiredSchema = _useGetEntitySchemasA4 === void 0 ? {} : _useGetEntitySchemasA4,
117
+ schemaLoading = _useGetEntitySchemasA3.loading,
118
+ schemaError = _useGetEntitySchemasA3.error;
119
+ var getEntitySchemas = Object.values(requiredSchema);
120
+ var updatedItemsToDisplay = (0, _helpers.getUpdatedItemsToDisplay)({
121
+ inheritedFilters: inheritedFilters,
122
+ parentEntityData: parentEntityData,
123
+ itemsToDisplay: itemsToDisplay,
124
+ parentSchema: parentSchema
125
+ });
126
+ var variableProps = {
127
+ sortProperties: updatedSortProperties,
128
+ filterByProperty: filterByProperty,
129
+ sortby: null,
130
+ sort: null,
131
+ filterBy: filterBy
132
+ };
133
+ var updatedFilterBy = (0, _helpers.getUpdatedFilterBy)(inheritedFilters, parentEntityData, filterEntitySchema, parentSchema, parentId, variableProps);
134
+ var _filterQuerySetup = (0, _helpers.filterQuerySetup)({
135
+ itemsToDisplay: updatedItemsToDisplay,
136
+ entitySameAsCurrentItemEntity: entitySameAsCurrentItemEntity,
137
+ filterEntityRelations: filterEntityRelations,
138
+ entity: filterEntity,
139
+ docType: docTypes,
140
+ getEntitySchemas: getEntitySchemas,
141
+ updatedFilterBy: updatedFilterBy,
142
+ variableProps: variableProps,
143
+ filterOperator: filterOperator
144
+ }),
145
+ variables = _filterQuerySetup.variables;
146
+ var hasNoItemsToDisplayOrFilter = !updatedItemsToDisplay.length && !updatedFilterBy;
147
+ var _useQuery2 = (0, _client.useQuery)(action, {
148
+ variables: variables,
149
+ skip: (0, _helpers.shouldReturn)(hasNoItemsToDisplayOrFilter, singleItemQueryLoading, singleItemQueryError, entityObjloading, entityObjError, schemaLoading, schemaError)
150
+ }),
151
+ _useQuery2$data = _useQuery2.data,
152
+ data = _useQuery2$data === void 0 ? {} : _useQuery2$data;
153
+ var _ref4 = data[_constants.SEARCH_PUBLISHED_CONTENT] || {},
154
+ results = _ref4.results;
155
+ if (!results) return null;
156
+ return results.map(function (item) {
157
+ var itemParent = {
158
+ itemId: item.id,
159
+ itemEntity: graphqlEntityMap[item.__typename]
160
+ };
161
+ return /*#__PURE__*/_react["default"].createElement(_MenuItemRender["default"], (0, _extends2["default"])({}, props, {
162
+ parent: itemParent,
163
+ url: item.url || props.url
164
+ }));
165
+ });
166
+ };
167
+ MenuEntitiesItem.propTypes = {
168
+ children: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].node), _propTypes["default"].node]),
169
+ eventType: _propTypes["default"].string.isRequired,
170
+ modifier: _propTypes["default"].string,
171
+ parent: _propTypes["default"].object,
172
+ text: _propTypes["default"].string,
173
+ url: _propTypes["default"].string,
174
+ entities: _propTypes["default"].array,
175
+ limit: _propTypes["default"].number,
176
+ offset: _propTypes["default"].number,
177
+ sortby: _propTypes["default"].array,
178
+ filterBy: _propTypes["default"].array,
179
+ sort: _propTypes["default"].string,
180
+ operator: _propTypes["default"].string.isRequired,
181
+ filterOperator: _propTypes["default"].string.isRequired,
182
+ sortProperties: _propTypes["default"].array,
183
+ filterByProperty: _propTypes["default"].array,
184
+ itemsToDisplay: _propTypes["default"].array
185
+ };
186
+ MenuEntitiesItem.defaultProps = {
187
+ children: null,
188
+ modifier: '',
189
+ limit: 0,
190
+ offset: 0,
191
+ itemsToDisplay: [],
192
+ sort: '',
193
+ sortby: [],
194
+ sortProperties: [],
195
+ filterByProperty: [],
196
+ parent: {},
197
+ filterBy: [],
198
+ text: '',
199
+ url: '',
200
+ entities: []
201
+ };
202
+ var _default = exports["default"] = MenuEntitiesItem;
203
+ //# sourceMappingURL=MenuEntitiesItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuEntitiesItem.js","names":["_react","_interopRequireDefault","require","_propTypes","_client","_MenuItemRender","_helpers","_hooks","_query","_constants","_excluded","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","MenuEntitiesItem","_ref","entities","parent","props","_objectWithoutProperties2","parentEntity","itemEntity","parentId","itemId","_props$operator","operator","filterOperator","AND","_props$filterByProper","filterByProperty","_props$sortProperties","sortProperties","itemsToDisplay","_props$filterBy","filterBy","sortby","sort","unpublishedEntityName","getUnpublishedEntityName","_getUpdatedSortProper","getUpdatedSortProperties","_getUpdatedSortProper2","_slicedToArray2","updatedSortProperties","sortbyFilters","_useGetEntitySchemasA","useGetEntitySchemasAsObj","concat","_toConsumableArray2","_useGetEntitySchemasA2","data","mainSchemas","entityObjloading","loading","entityObjError","error","_entities","filterEntity","_mainSchemas$filterEn","filterEntitySchema","entitiesTypes","map","entity","getEntityData","graphqlEntityMap","reduce","acc","entityType","docTypes","_ref2","docType","entityTypes","_ref3","entityFields","buildPropsQuery","parentSchema","_filtersSetup","filtersSetup","itemEntityUpdated","currentSchema","entitySameAsCurrentItemEntity","filterEntityRelations","inheritedFilters","queryProps","getAction","action","_useQuery","useQuery","generateSingleItemQuery","variables","id","skip","shouldSkipSingleQuery","_useQuery$data","_useQuery$data2","_useQuery$data2$entit","entityData","parentEntityData","singleItemQueryError","singleItemQueryLoading","_useGetEntitySchemasA3","getRequiredSchemas","_useGetEntitySchemasA4","requiredSchema","schemaLoading","schemaError","getEntitySchemas","values","updatedItemsToDisplay","getUpdatedItemsToDisplay","variableProps","updatedFilterBy","getUpdatedFilterBy","_filterQuerySetup","filterQuerySetup","hasNoItemsToDisplayOrFilter","_useQuery2","shouldReturn","_useQuery2$data","_ref4","SEARCH_PUBLISHED_CONTENT","results","item","itemParent","__typename","createElement","_extends2","url","propTypes","children","PropTypes","oneOfType","arrayOf","node","eventType","string","isRequired","modifier","object","text","array","limit","number","offset","defaultProps","_default","exports"],"sources":["../../../src/components/MenuItem/MenuEntitiesItem.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useQuery } from '@apollo/client';\nimport MenuItemRender from './MenuItemRender';\nimport {\n buildPropsQuery,\n getEntityData,\n getRequiredSchemas,\n getUnpublishedEntityName,\n getUpdatedFilterBy,\n filterQuerySetup,\n filtersSetup,\n getUpdatedItemsToDisplay,\n getUpdatedSortProperties,\n shouldReturn,\n shouldSkipSingleQuery\n} from '../../helpers';\nimport { useGetEntitySchemasAsObj } from '../../hooks';\nimport { generateSingleItemQuery } from '../../application/query';\nimport { AND, SEARCH_PUBLISHED_CONTENT } from '../../constants';\n\nconst MenuEntitiesItem = ({ entities, parent, ...props }) => {\n const { itemEntity: parentEntity, itemId: parentId } = parent;\n const {\n operator: filterOperator = AND,\n filterByProperty = [],\n sortProperties = [],\n itemsToDisplay,\n filterBy = [],\n sortby,\n sort\n } = props;\n\n const unpublishedEntityName = getUnpublishedEntityName(parentEntity);\n\n const [updatedSortProperties, sortbyFilters] = getUpdatedSortProperties(\n sort,\n sortby,\n sortProperties\n );\n\n const {\n data: mainSchemas = {},\n loading: entityObjloading,\n error: entityObjError\n } = useGetEntitySchemasAsObj([unpublishedEntityName, ...entities]);\n\n const [filterEntity] = entities;\n\n const { [filterEntity]: filterEntitySchema = {} } = mainSchemas;\n\n const entitiesTypes = entities.map(entity => getEntityData(entity, mainSchemas[entity]));\n const graphqlEntityMap = entitiesTypes.reduce(\n (acc, entityType) => ({ ...acc, [entityType.entityType]: entityType.entity }),\n {}\n );\n const docTypes = entitiesTypes.map(({ docType }) => docType);\n const entityTypes = entitiesTypes.map(({ entityType }) => entityType);\n\n const entityFields = buildPropsQuery(filterEntitySchema, ['name', 'url']) || '';\n const parentSchema = mainSchemas[unpublishedEntityName] || {};\n\n const {\n entitySameAsCurrentItemEntity,\n filterEntityRelations,\n inheritedFilters,\n queryProps,\n getAction,\n action\n } = filtersSetup({\n itemEntityUpdated: unpublishedEntityName,\n currentSchema: parentSchema,\n filterEntitySchema,\n filterByProperty,\n entityFields,\n entityTypes,\n filterBy,\n entities\n });\n\n const {\n data: { entityData: parentEntityData = {} } = {},\n error: singleItemQueryError,\n loading: singleItemQueryLoading\n } = useQuery(generateSingleItemQuery(getAction, queryProps), {\n variables: { id: parentId },\n skip: shouldSkipSingleQuery(entityObjloading, getAction, queryProps)\n });\n\n const {\n data: requiredSchema = {},\n loading: schemaLoading,\n error: schemaError\n } = useGetEntitySchemasAsObj(\n getRequiredSchemas([...filterByProperty, ...sortbyFilters], filterEntitySchema),\n entityObjloading\n );\n\n const getEntitySchemas = Object.values(requiredSchema);\n\n const updatedItemsToDisplay = getUpdatedItemsToDisplay({\n inheritedFilters,\n parentEntityData,\n itemsToDisplay,\n parentSchema\n });\n\n const variableProps = {\n sortProperties: updatedSortProperties,\n filterByProperty,\n sortby: null,\n sort: null,\n filterBy\n };\n\n const updatedFilterBy = getUpdatedFilterBy(\n inheritedFilters,\n parentEntityData,\n filterEntitySchema,\n parentSchema,\n parentId,\n variableProps\n );\n\n const { variables } = filterQuerySetup({\n itemsToDisplay: updatedItemsToDisplay,\n entitySameAsCurrentItemEntity,\n filterEntityRelations,\n entity: filterEntity,\n docType: docTypes,\n getEntitySchemas,\n updatedFilterBy,\n variableProps,\n filterOperator\n });\n\n const hasNoItemsToDisplayOrFilter = !updatedItemsToDisplay.length && !updatedFilterBy;\n\n const { data = {} } = useQuery(action, {\n variables,\n skip: shouldReturn(\n hasNoItemsToDisplayOrFilter,\n singleItemQueryLoading,\n singleItemQueryError,\n entityObjloading,\n entityObjError,\n schemaLoading,\n schemaError\n )\n });\n\n const { results } = data[SEARCH_PUBLISHED_CONTENT] || {};\n\n if (!results) return null;\n\n return results.map(item => {\n const itemParent = {\n itemId: item.id,\n itemEntity: graphqlEntityMap[item.__typename]\n };\n return <MenuItemRender {...props} parent={itemParent} url={item.url || props.url} />;\n });\n};\n\nMenuEntitiesItem.propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n eventType: PropTypes.string.isRequired,\n modifier: PropTypes.string,\n parent: PropTypes.object,\n text: PropTypes.string,\n url: PropTypes.string,\n entities: PropTypes.array,\n limit: PropTypes.number,\n offset: PropTypes.number,\n sortby: PropTypes.array,\n filterBy: PropTypes.array,\n sort: PropTypes.string,\n operator: PropTypes.string.isRequired,\n filterOperator: PropTypes.string.isRequired,\n sortProperties: PropTypes.array,\n filterByProperty: PropTypes.array,\n itemsToDisplay: PropTypes.array\n};\n\nMenuEntitiesItem.defaultProps = {\n children: null,\n modifier: '',\n limit: 0,\n offset: 0,\n itemsToDisplay: [],\n sort: '',\n sortby: [],\n sortProperties: [],\n filterByProperty: [],\n parent: {},\n filterBy: [],\n text: '',\n url: '',\n entities: []\n};\n\nexport default MenuEntitiesItem;\n"],"mappings":"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"}
@@ -1,90 +1,47 @@
1
1
  "use strict";
2
2
 
3
- require("core-js/modules/es.array.iterator.js");
4
- require("core-js/modules/es.object.to-string.js");
5
- require("core-js/modules/es.string.iterator.js");
6
- require("core-js/modules/es.weak-map.js");
7
- require("core-js/modules/web.dom-collections.iterator.js");
8
3
  require("core-js/modules/es.object.define-property.js");
9
- require("core-js/modules/es.object.get-own-property-descriptor.js");
10
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
11
- var _typeof = require("@babel/runtime/helpers/typeof");
12
5
  Object.defineProperty(exports, "__esModule", {
13
6
  value: true
14
7
  });
15
8
  exports["default"] = void 0;
16
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
- var _react = _interopRequireWildcard(require("react"));
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
+ var _react = _interopRequireDefault(require("react"));
18
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
19
- var _fa = require("react-icons/fa");
20
- var _constants = require("../../constants");
21
- var _helpers = require("../../helpers");
22
- var _BlazeLink = _interopRequireDefault(require("../BlazeLink"));
23
- var _MenuContext = _interopRequireDefault(require("../Menu/MenuContext"));
24
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
25
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
13
+ var _MenuItemRender = _interopRequireDefault(require("./MenuItemRender"));
14
+ var _MenuEntitiesItem = _interopRequireDefault(require("./MenuEntitiesItem"));
15
+ var _excluded = ["entities", "parent"];
26
16
  var MenuItem = function MenuItem(_ref) {
27
- var children = _ref.children,
28
- eventType = _ref.eventType,
29
- text = _ref.text,
30
- modifier = _ref.modifier,
31
- url = _ref.url;
32
- var _useState = (0, _react.useState)(false),
33
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
34
- displayChildren = _useState2[0],
35
- setDisplayChildren = _useState2[1];
36
- var _useContext = (0, _react.useContext)(_MenuContext["default"]),
37
- showMobileMenu = _useContext.showMobileMenu;
38
- (0, _react.useEffect)(function () {
39
- if (!showMobileMenu) setDisplayChildren(false);
40
- }, [showMobileMenu]);
41
- var isHoverEvent = eventType === _constants.HOVER;
42
- var childrenDisplayClass = displayChildren ? '' : _constants.HIDDEN;
43
- var handleItemEvent = function handleItemEvent(_ref2) {
44
- var type = _ref2.type;
45
- if (isHoverEvent) {
46
- if (type === _constants.MOUSE_ENTER) {
47
- setDisplayChildren(true);
48
- }
49
- if (type === _constants.MOUSE_LEAVE) {
50
- setDisplayChildren(false);
51
- }
52
- }
53
- };
54
- var hasValidChildren = (0, _helpers.hasChildren)(children);
55
- return /*#__PURE__*/_react["default"].createElement("li", {
56
- className: modifier,
57
- onMouseEnter: handleItemEvent,
58
- onMouseLeave: handleItemEvent
59
- }, /*#__PURE__*/_react["default"].createElement("div", {
60
- className: "menu--item--link"
61
- }, url ? /*#__PURE__*/_react["default"].createElement(_BlazeLink["default"], {
62
- href: url
63
- }, text) : /*#__PURE__*/_react["default"].createElement("span", {
64
- role: "button",
65
- onClick: handleItemEvent
66
- }, text), hasValidChildren && /*#__PURE__*/_react["default"].createElement("i", {
67
- role: "button",
68
- className: "menu--item--link--icon",
69
- onClick: function onClick() {
70
- return setDisplayChildren(!displayChildren);
71
- }
72
- }, displayChildren ? /*#__PURE__*/_react["default"].createElement(_fa.FaChevronUp, null) : /*#__PURE__*/_react["default"].createElement(_fa.FaChevronDown, null))), hasValidChildren && /*#__PURE__*/_react["default"].createElement("div", {
73
- className: "menu--item-children ".concat(childrenDisplayClass)
74
- }, children));
17
+ var entities = _ref.entities,
18
+ parent = _ref.parent,
19
+ props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
20
+ var hasEntities = entities && entities.length;
21
+ if (!hasEntities) return /*#__PURE__*/_react["default"].createElement(_MenuItemRender["default"], (0, _extends2["default"])({
22
+ parent: parent
23
+ }, props));
24
+ return /*#__PURE__*/_react["default"].createElement(_MenuEntitiesItem["default"], (0, _extends2["default"])({
25
+ entities: entities,
26
+ parent: parent
27
+ }, props));
75
28
  };
76
29
  MenuItem.propTypes = {
30
+ children: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].node), _propTypes["default"].node]),
31
+ eventType: _propTypes["default"].string.isRequired,
77
32
  modifier: _propTypes["default"].string,
33
+ parent: _propTypes["default"].object,
78
34
  text: _propTypes["default"].string,
79
35
  url: _propTypes["default"].string,
80
- eventType: _propTypes["default"].string.isRequired,
81
- children: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].node), _propTypes["default"].node])
36
+ entities: _propTypes["default"].array
82
37
  };
83
38
  MenuItem.defaultProps = {
84
- url: '',
39
+ children: null,
85
40
  modifier: '',
41
+ parent: {},
86
42
  text: '',
87
- children: null
43
+ url: '',
44
+ entities: []
88
45
  };
89
46
  var _default = exports["default"] = MenuItem;
90
47
  //# sourceMappingURL=MenuItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItem.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_fa","_constants","_helpers","_BlazeLink","_MenuContext","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","MenuItem","_ref","children","eventType","text","modifier","url","_useState","useState","_useState2","_slicedToArray2","displayChildren","setDisplayChildren","_useContext","useContext","MenuContext","showMobileMenu","useEffect","isHoverEvent","HOVER","childrenDisplayClass","HIDDEN","handleItemEvent","_ref2","type","MOUSE_ENTER","MOUSE_LEAVE","hasValidChildren","hasChildren","createElement","className","onMouseEnter","onMouseLeave","href","role","onClick","FaChevronUp","FaChevronDown","concat","propTypes","PropTypes","string","isRequired","oneOfType","arrayOf","node","defaultProps","_default","exports"],"sources":["../../../src/components/MenuItem/MenuItem.js"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { FaChevronDown, FaChevronUp } from 'react-icons/fa';\nimport { HOVER, MOUSE_ENTER, MOUSE_LEAVE, HIDDEN } from '../../constants';\nimport { hasChildren } from '../../helpers';\nimport BlazeLink from '../BlazeLink';\nimport MenuContext from '../Menu/MenuContext';\n\nconst MenuItem = ({ children, eventType, text, modifier, url }) => {\n const [displayChildren, setDisplayChildren] = useState(false);\n const { showMobileMenu } = useContext(MenuContext);\n\n useEffect(\n () => {\n if (!showMobileMenu) setDisplayChildren(false);\n },\n [showMobileMenu]\n );\n\n const isHoverEvent = eventType === HOVER;\n const childrenDisplayClass = displayChildren ? '' : HIDDEN;\n\n const handleItemEvent = ({ type }) => {\n if (isHoverEvent) {\n if (type === MOUSE_ENTER) {\n setDisplayChildren(true);\n }\n if (type === MOUSE_LEAVE) {\n setDisplayChildren(false);\n }\n }\n };\n const hasValidChildren = hasChildren(children);\n\n return (\n <li className={modifier} onMouseEnter={handleItemEvent} onMouseLeave={handleItemEvent}>\n <div className=\"menu--item--link\">\n {url ? (\n <BlazeLink href={url}>{text}</BlazeLink>\n ) : (\n <span role=\"button\" onClick={handleItemEvent}>\n {text}\n </span>\n )}\n {hasValidChildren && (\n <i\n role=\"button\"\n className=\"menu--item--link--icon\"\n onClick={() => setDisplayChildren(!displayChildren)}>\n {displayChildren ? <FaChevronUp /> : <FaChevronDown />}\n </i>\n )}\n </div>\n {hasValidChildren && (\n <div className={`menu--item-children ${childrenDisplayClass}`}>{children}</div>\n )}\n </li>\n );\n};\n\nMenuItem.propTypes = {\n modifier: PropTypes.string,\n text: PropTypes.string,\n url: PropTypes.string,\n eventType: PropTypes.string.isRequired,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nMenuItem.defaultProps = {\n url: '',\n modifier: '',\n text: '',\n children: null\n};\n\nexport default MenuItem;\n"],"mappings":"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"}
1
+ {"version":3,"file":"MenuItem.js","names":["_react","_interopRequireDefault","require","_propTypes","_MenuItemRender","_MenuEntitiesItem","_excluded","MenuItem","_ref","entities","parent","props","_objectWithoutProperties2","hasEntities","length","createElement","_extends2","propTypes","children","PropTypes","oneOfType","arrayOf","node","eventType","string","isRequired","modifier","object","text","url","array","defaultProps","_default","exports"],"sources":["../../../src/components/MenuItem/MenuItem.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport MenuItemRender from './MenuItemRender';\nimport MenuEntitiesItem from './MenuEntitiesItem';\n\nconst MenuItem = ({ entities, parent, ...props }) => {\n const hasEntities = entities && entities.length;\n\n if (!hasEntities) return <MenuItemRender parent={parent} {...props} />;\n\n return <MenuEntitiesItem entities={entities} parent={parent} {...props} />;\n};\n\nMenuItem.propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n eventType: PropTypes.string.isRequired,\n modifier: PropTypes.string,\n parent: PropTypes.object,\n text: PropTypes.string,\n url: PropTypes.string,\n entities: PropTypes.array\n};\n\nMenuItem.defaultProps = {\n children: null,\n modifier: '',\n parent: {},\n text: '',\n url: '',\n entities: []\n};\n\nexport default MenuItem;\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,eAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,iBAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAAkD,IAAAI,SAAA;AAElD,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,CAAAC,IAAA,EAAuC;EAAA,IAAjCC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAEC,MAAM,GAAAF,IAAA,CAANE,MAAM;IAAKC,KAAK,OAAAC,yBAAA,aAAAJ,IAAA,EAAAF,SAAA;EAC5C,IAAMO,WAAW,GAAGJ,QAAQ,IAAIA,QAAQ,CAACK,MAAM;EAE/C,IAAI,CAACD,WAAW,EAAE,oBAAOb,MAAA,YAAAe,aAAA,CAACX,eAAA,WAAc,MAAAY,SAAA;IAACN,MAAM,EAAEA;EAAO,GAAKC,KAAK,CAAG,CAAC;EAEtE,oBAAOX,MAAA,YAAAe,aAAA,CAACV,iBAAA,WAAgB,MAAAW,SAAA;IAACP,QAAQ,EAAEA,QAAS;IAACC,MAAM,EAAEA;EAAO,GAAKC,KAAK,CAAG,CAAC;AAC5E,CAAC;AAEDJ,QAAQ,CAACU,SAAS,GAAG;EACnBC,QAAQ,EAAEC,qBAAS,CAACC,SAAS,CAAC,CAACD,qBAAS,CAACE,OAAO,CAACF,qBAAS,CAACG,IAAI,CAAC,EAAEH,qBAAS,CAACG,IAAI,CAAC,CAAC;EAClFC,SAAS,EAAEJ,qBAAS,CAACK,MAAM,CAACC,UAAU;EACtCC,QAAQ,EAAEP,qBAAS,CAACK,MAAM;EAC1Bd,MAAM,EAAES,qBAAS,CAACQ,MAAM;EACxBC,IAAI,EAAET,qBAAS,CAACK,MAAM;EACtBK,GAAG,EAAEV,qBAAS,CAACK,MAAM;EACrBf,QAAQ,EAAEU,qBAAS,CAACW;AACtB,CAAC;AAEDvB,QAAQ,CAACwB,YAAY,GAAG;EACtBb,QAAQ,EAAE,IAAI;EACdQ,QAAQ,EAAE,EAAE;EACZhB,MAAM,EAAE,CAAC,CAAC;EACVkB,IAAI,EAAE,EAAE;EACRC,GAAG,EAAE,EAAE;EACPpB,QAAQ,EAAE;AACZ,CAAC;AAAC,IAAAuB,QAAA,GAAAC,OAAA,cAEa1B,QAAQ"}
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.array.iterator.js");
4
+ require("core-js/modules/es.object.to-string.js");
5
+ require("core-js/modules/es.string.iterator.js");
6
+ require("core-js/modules/es.weak-map.js");
7
+ require("core-js/modules/web.dom-collections.iterator.js");
8
+ require("core-js/modules/es.object.define-property.js");
9
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
10
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
11
+ var _typeof = require("@babel/runtime/helpers/typeof");
12
+ Object.defineProperty(exports, "__esModule", {
13
+ value: true
14
+ });
15
+ exports["default"] = void 0;
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+ var _react = _interopRequireWildcard(require("react"));
18
+ var _propTypes = _interopRequireDefault(require("prop-types"));
19
+ var _fa = require("react-icons/fa");
20
+ var _utilsHandlebars = require("@blaze-cms/utils-handlebars");
21
+ var _constants = require("../../constants");
22
+ var _helpers = require("../../helpers");
23
+ var _BlazeLink = _interopRequireDefault(require("../BlazeLink"));
24
+ var _MenuContext = _interopRequireDefault(require("../Menu/MenuContext"));
25
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
26
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
27
+ var MenuItemRender = function MenuItemRender(_ref) {
28
+ var children = _ref.children,
29
+ eventType = _ref.eventType,
30
+ text = _ref.text,
31
+ modifier = _ref.modifier,
32
+ url = _ref.url,
33
+ parent = _ref.parent;
34
+ var _useState = (0, _react.useState)(false),
35
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
36
+ displayChildren = _useState2[0],
37
+ setDisplayChildren = _useState2[1];
38
+ var _useContext = (0, _react.useContext)(_MenuContext["default"]),
39
+ showMobileMenu = _useContext.showMobileMenu;
40
+ var _useStringTemplate = (0, _utilsHandlebars.useStringTemplate)(parent, [text]),
41
+ loadingText = _useStringTemplate.loading,
42
+ _useStringTemplate$da = (0, _slicedToArray2["default"])(_useStringTemplate.data, 1),
43
+ textToUse = _useStringTemplate$da[0];
44
+ var _useStringTemplate2 = (0, _utilsHandlebars.useStringTemplate)(parent, [url]),
45
+ loadingUrl = _useStringTemplate2.loading,
46
+ _useStringTemplate2$d = (0, _slicedToArray2["default"])(_useStringTemplate2.data, 1),
47
+ urlToUse = _useStringTemplate2$d[0];
48
+ (0, _react.useEffect)(function () {
49
+ if (!showMobileMenu) setDisplayChildren(false);
50
+ }, [showMobileMenu]);
51
+ if (loadingUrl || loadingText) return '';
52
+ var isHoverEvent = eventType === _constants.HOVER;
53
+ var childrenDisplayClass = displayChildren ? '' : _constants.HIDDEN;
54
+ var handleItemEvent = function handleItemEvent(_ref2) {
55
+ var type = _ref2.type;
56
+ if (isHoverEvent) {
57
+ if (type === _constants.MOUSE_ENTER) {
58
+ setDisplayChildren(true);
59
+ }
60
+ if (type === _constants.MOUSE_LEAVE) {
61
+ setDisplayChildren(false);
62
+ }
63
+ }
64
+ };
65
+ var hasValidChildren = (0, _helpers.hasChildren)(children);
66
+ return /*#__PURE__*/_react["default"].createElement("li", {
67
+ className: modifier,
68
+ onMouseEnter: handleItemEvent,
69
+ onMouseLeave: handleItemEvent
70
+ }, /*#__PURE__*/_react["default"].createElement("div", {
71
+ className: "menu--item--link"
72
+ }, urlToUse ? /*#__PURE__*/_react["default"].createElement(_BlazeLink["default"], {
73
+ href: urlToUse
74
+ }, textToUse) : /*#__PURE__*/_react["default"].createElement("span", {
75
+ role: "button",
76
+ onClick: handleItemEvent
77
+ }, textToUse), hasValidChildren && /*#__PURE__*/_react["default"].createElement("i", {
78
+ role: "button",
79
+ className: "menu--item--link--icon",
80
+ onClick: function onClick() {
81
+ return setDisplayChildren(!displayChildren);
82
+ }
83
+ }, displayChildren ? /*#__PURE__*/_react["default"].createElement(_fa.FaChevronUp, null) : /*#__PURE__*/_react["default"].createElement(_fa.FaChevronDown, null))), hasValidChildren && /*#__PURE__*/_react["default"].createElement("div", {
84
+ className: "menu--item-children ".concat(childrenDisplayClass)
85
+ }, children));
86
+ };
87
+ MenuItemRender.propTypes = {
88
+ modifier: _propTypes["default"].string,
89
+ text: _propTypes["default"].string,
90
+ url: _propTypes["default"].string,
91
+ eventType: _propTypes["default"].string.isRequired,
92
+ parent: _propTypes["default"].object,
93
+ children: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].node), _propTypes["default"].node])
94
+ };
95
+ MenuItemRender.defaultProps = {
96
+ url: '',
97
+ modifier: '',
98
+ text: '',
99
+ children: null,
100
+ parent: {}
101
+ };
102
+ var _default = exports["default"] = MenuItemRender;
103
+ //# sourceMappingURL=MenuItemRender.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuItemRender.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_fa","_utilsHandlebars","_constants","_helpers","_BlazeLink","_MenuContext","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","MenuItemRender","_ref","children","eventType","text","modifier","url","parent","_useState","useState","_useState2","_slicedToArray2","displayChildren","setDisplayChildren","_useContext","useContext","MenuContext","showMobileMenu","_useStringTemplate","useStringTemplate","loadingText","loading","_useStringTemplate$da","data","textToUse","_useStringTemplate2","loadingUrl","_useStringTemplate2$d","urlToUse","useEffect","isHoverEvent","HOVER","childrenDisplayClass","HIDDEN","handleItemEvent","_ref2","type","MOUSE_ENTER","MOUSE_LEAVE","hasValidChildren","hasChildren","createElement","className","onMouseEnter","onMouseLeave","href","role","onClick","FaChevronUp","FaChevronDown","concat","propTypes","PropTypes","string","isRequired","object","oneOfType","arrayOf","node","defaultProps","_default","exports"],"sources":["../../../src/components/MenuItem/MenuItemRender.js"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { FaChevronDown, FaChevronUp } from 'react-icons/fa';\nimport { useStringTemplate } from '@blaze-cms/utils-handlebars';\nimport { HOVER, MOUSE_ENTER, MOUSE_LEAVE, HIDDEN } from '../../constants';\nimport { hasChildren } from '../../helpers';\nimport BlazeLink from '../BlazeLink';\nimport MenuContext from '../Menu/MenuContext';\n\nconst MenuItemRender = ({ children, eventType, text, modifier, url, parent }) => {\n const [displayChildren, setDisplayChildren] = useState(false);\n const { showMobileMenu } = useContext(MenuContext);\n const {\n loading: loadingText,\n data: [textToUse]\n } = useStringTemplate(parent, [text]);\n\n const {\n loading: loadingUrl,\n data: [urlToUse]\n } = useStringTemplate(parent, [url]);\n\n useEffect(\n () => {\n if (!showMobileMenu) setDisplayChildren(false);\n },\n [showMobileMenu]\n );\n\n if (loadingUrl || loadingText) return '';\n\n const isHoverEvent = eventType === HOVER;\n const childrenDisplayClass = displayChildren ? '' : HIDDEN;\n\n const handleItemEvent = ({ type }) => {\n if (isHoverEvent) {\n if (type === MOUSE_ENTER) {\n setDisplayChildren(true);\n }\n if (type === MOUSE_LEAVE) {\n setDisplayChildren(false);\n }\n }\n };\n const hasValidChildren = hasChildren(children);\n\n return (\n <li className={modifier} onMouseEnter={handleItemEvent} onMouseLeave={handleItemEvent}>\n <div className=\"menu--item--link\">\n {urlToUse ? (\n <BlazeLink href={urlToUse}>{textToUse}</BlazeLink>\n ) : (\n <span role=\"button\" onClick={handleItemEvent}>\n {textToUse}\n </span>\n )}\n {hasValidChildren && (\n <i\n role=\"button\"\n className=\"menu--item--link--icon\"\n onClick={() => setDisplayChildren(!displayChildren)}>\n {displayChildren ? <FaChevronUp /> : <FaChevronDown />}\n </i>\n )}\n </div>\n\n {hasValidChildren && (\n <div className={`menu--item-children ${childrenDisplayClass}`}>{children}</div>\n )}\n </li>\n );\n};\n\nMenuItemRender.propTypes = {\n modifier: PropTypes.string,\n text: PropTypes.string,\n url: PropTypes.string,\n eventType: PropTypes.string.isRequired,\n parent: PropTypes.object,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nMenuItemRender.defaultProps = {\n url: '',\n modifier: '',\n text: '',\n children: null,\n parent: {}\n};\n\nexport default MenuItemRender;\n"],"mappings":"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"}
@@ -18,8 +18,10 @@ exports["default"] = void 0;
18
18
  require("core-js/modules/es.number.constructor.js");
19
19
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
20
20
  var _helpers = require("@blaze-cms/utils/src/helpers");
21
- var _helpers2 = require("../../../helpers");
22
- var _constants = require("../../../constants");
21
+ var _getGenericRenderVariables = _interopRequireDefault(require("./get-generic-render-variables"));
22
+ var _buildRawQueryBase = _interopRequireDefault(require("./build-raw-query-base"));
23
+ var _buildSetFilters = _interopRequireDefault(require("./build-set-filters"));
24
+ var _constants = require("../constants");
23
25
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
24
26
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
25
27
  var filterQuerySetup = function filterQuerySetup(_ref) {
@@ -33,13 +35,14 @@ var filterQuerySetup = function filterQuerySetup(_ref) {
33
35
  itemsToDisplay = _ref.itemsToDisplay,
34
36
  entitySameAsCurrentItemEntity = _ref.entitySameAsCurrentItemEntity,
35
37
  entitySchema = _ref.entitySchema,
36
- useRandomSort = _ref.useRandomSort;
38
+ _ref$useRandomSort = _ref.useRandomSort,
39
+ useRandomSort = _ref$useRandomSort === void 0 ? false : _ref$useRandomSort;
37
40
  var stringProps = (0, _helpers.getStringTypeProps)(entity, filterEntityRelations, getEntitySchemas);
38
- var filterValues = updatedFilterBy && updatedFilterBy.length ? (0, _helpers2.buildSetFilters)(_objectSpread(_objectSpread({}, variableProps), {}, {
41
+ var filterValues = updatedFilterBy && updatedFilterBy.length ? (0, _buildSetFilters["default"])(_objectSpread(_objectSpread({}, variableProps), {}, {
39
42
  filterBy: updatedFilterBy
40
- })) : (0, _helpers2.buildSetFilters)(variableProps);
43
+ })) : (0, _buildSetFilters["default"])(variableProps);
41
44
  var rawQuery = {
42
- bool: (0, _helpers2.buildRawQueryBase)({
45
+ bool: (0, _buildRawQueryBase["default"])({
43
46
  docType: docType,
44
47
  filterValues: filterValues,
45
48
  filterOperator: filterOperator,
@@ -56,7 +59,7 @@ var filterQuerySetup = function filterQuerySetup(_ref) {
56
59
  var settingsLimit = variableProps.limit;
57
60
  var limit = settingsLimit || _constants.DEFAULT_LIMIT; // all falsey should use default
58
61
  var requestLimit = entitySameAsCurrentItemEntity ? Number(limit) + 1 : limit;
59
- var variables = (0, _helpers2.getGenericRenderVariables)({
62
+ var variables = (0, _getGenericRenderVariables["default"])({
60
63
  relations: filterEntityRelations,
61
64
  filterProps: _objectSpread(_objectSpread({}, variableProps), {}, {
62
65
  limit: requestLimit