@blaze-cms/plugin-data-ui 0.125.0-admin-updates.1 → 0.125.0-alpha.13

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 (172) hide show
  1. package/CHANGELOG.md +25 -8
  2. package/lib/components/EntityDataListing/EntityDataListing.js +17 -40
  3. package/lib/components/EntityDataListing/EntityDataListing.js.map +1 -1
  4. package/lib/components/EntityDataListing/index.js +0 -4
  5. package/lib/components/EntityDataListing/index.js.map +1 -1
  6. package/lib/components/EntityManager/Entity/Entity.js +85 -226
  7. package/lib/components/EntityManager/Entity/Entity.js.map +1 -1
  8. package/lib/components/EntityManager/Entity/EntityHeader/EntityHeader.js +13 -28
  9. package/lib/components/EntityManager/Entity/EntityHeader/EntityHeader.js.map +1 -1
  10. package/lib/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/HeaderPreviewButton.js +5 -26
  11. package/lib/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/HeaderPreviewButton.js.map +1 -1
  12. package/lib/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/index.js +0 -4
  13. package/lib/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/index.js.map +1 -1
  14. package/lib/components/EntityManager/Entity/EntityHeader/index.js +0 -4
  15. package/lib/components/EntityManager/Entity/EntityHeader/index.js.map +1 -1
  16. package/lib/components/EntityManager/Entity/SideBarRelations/index.js +18 -68
  17. package/lib/components/EntityManager/Entity/SideBarRelations/index.js.map +1 -1
  18. package/lib/components/EntityManager/Entity/actions-handlers/create/index.js +0 -3
  19. package/lib/components/EntityManager/Entity/actions-handlers/create/index.js.map +1 -1
  20. package/lib/components/EntityManager/Entity/actions-handlers/create/submit.js +0 -16
  21. package/lib/components/EntityManager/Entity/actions-handlers/create/submit.js.map +1 -1
  22. package/lib/components/EntityManager/Entity/actions-handlers/delete/delete.js +0 -11
  23. package/lib/components/EntityManager/Entity/actions-handlers/delete/delete.js.map +1 -1
  24. package/lib/components/EntityManager/Entity/actions-handlers/delete/index.js +0 -3
  25. package/lib/components/EntityManager/Entity/actions-handlers/delete/index.js.map +1 -1
  26. package/lib/components/EntityManager/Entity/actions-handlers/index.js +0 -7
  27. package/lib/components/EntityManager/Entity/actions-handlers/index.js.map +1 -1
  28. package/lib/components/EntityManager/Entity/actions-handlers/shared/index.js +0 -3
  29. package/lib/components/EntityManager/Entity/actions-handlers/shared/index.js.map +1 -1
  30. package/lib/components/EntityManager/Entity/actions-handlers/shared/publish.js +0 -18
  31. package/lib/components/EntityManager/Entity/actions-handlers/shared/publish.js.map +1 -1
  32. package/lib/components/EntityManager/Entity/actions-handlers/update/index.js +0 -3
  33. package/lib/components/EntityManager/Entity/actions-handlers/update/index.js.map +1 -1
  34. package/lib/components/EntityManager/Entity/actions-handlers/update/submit.js +0 -25
  35. package/lib/components/EntityManager/Entity/actions-handlers/update/submit.js.map +1 -1
  36. package/lib/components/EntityManager/Entity/index.js +0 -4
  37. package/lib/components/EntityManager/Entity/index.js.map +1 -1
  38. package/lib/components/EntityManager/EntityManager.js +24 -83
  39. package/lib/components/EntityManager/EntityManager.js.map +1 -1
  40. package/lib/components/EntityManager/index.js +0 -4
  41. package/lib/components/EntityManager/index.js.map +1 -1
  42. package/lib/components/EntityManager/utils/data-mappers.js +5 -38
  43. package/lib/components/EntityManager/utils/data-mappers.js.map +1 -1
  44. package/lib/components/EntityManager/utils/entity.js +3 -38
  45. package/lib/components/EntityManager/utils/entity.js.map +1 -1
  46. package/lib/components/EntityManager/utils/entityAvailableActions.js +17 -42
  47. package/lib/components/EntityManager/utils/entityAvailableActions.js.map +1 -1
  48. package/lib/components/EntityManager/utils/is-form-empty.js +0 -7
  49. package/lib/components/EntityManager/utils/is-form-empty.js.map +1 -1
  50. package/lib/components/EntityManager/utils/query.js +2 -11
  51. package/lib/components/EntityManager/utils/query.js.map +1 -1
  52. package/lib/components/ListingTable/ListingTable.js +31 -116
  53. package/lib/components/ListingTable/ListingTable.js.map +1 -1
  54. package/lib/components/ListingTable/ListingTableContent/ListingTableContent.js +9 -22
  55. package/lib/components/ListingTable/ListingTableContent/ListingTableContent.js.map +1 -1
  56. package/lib/components/ListingTable/ListingTableContent/index.js +0 -4
  57. package/lib/components/ListingTable/ListingTableContent/index.js.map +1 -1
  58. package/lib/components/ListingTable/TableActions/TableActions.js +2 -11
  59. package/lib/components/ListingTable/TableActions/TableActions.js.map +1 -1
  60. package/lib/components/ListingTable/TableActions/index.js +0 -4
  61. package/lib/components/ListingTable/TableActions/index.js.map +1 -1
  62. package/lib/components/ListingTable/index.js +0 -4
  63. package/lib/components/ListingTable/index.js.map +1 -1
  64. package/lib/components/ListingTable/mappers/populate-rows.js +13 -49
  65. package/lib/components/ListingTable/mappers/populate-rows.js.map +1 -1
  66. package/lib/components/ListingTable/service/index.js +0 -11
  67. package/lib/components/ListingTable/service/index.js.map +1 -1
  68. package/lib/components/Tabs/index.js +5 -16
  69. package/lib/components/Tabs/index.js.map +1 -1
  70. package/lib/constants.js +0 -1
  71. package/lib/constants.js.map +1 -1
  72. package/lib/index.js +0 -29
  73. package/lib/index.js.map +1 -1
  74. package/lib/utils/add-content-menu-items.js +2 -17
  75. package/lib/utils/add-content-menu-items.js.map +1 -1
  76. package/lib/utils/build-create-entity-mutation.js +0 -12
  77. package/lib/utils/build-create-entity-mutation.js.map +1 -1
  78. package/lib/utils/build-delete-entity-mutation.js +0 -10
  79. package/lib/utils/build-delete-entity-mutation.js.map +1 -1
  80. package/lib/utils/build-listing-query.js +0 -10
  81. package/lib/utils/build-listing-query.js.map +1 -1
  82. package/lib/utils/build-update-data-query.js +0 -12
  83. package/lib/utils/build-update-data-query.js.map +1 -1
  84. package/lib/utils/build-update-publish-unpublish-mutation.js +0 -9
  85. package/lib/utils/build-update-publish-unpublish-mutation.js.map +1 -1
  86. package/lib/utils/get-default-query-params.js +0 -3
  87. package/lib/utils/get-default-query-params.js.map +1 -1
  88. package/lib/utils/hoc/withContext.js +0 -7
  89. package/lib/utils/hoc/withContext.js.map +1 -1
  90. package/lib/utils/hooks/useToggle.js +3 -10
  91. package/lib/utils/hooks/useToggle.js.map +1 -1
  92. package/lib/utils/index.js +0 -3
  93. package/lib/utils/index.js.map +1 -1
  94. package/lib-es/components/EntityDataListing/EntityDataListing.js +0 -2
  95. package/lib-es/components/EntityDataListing/EntityDataListing.js.map +1 -1
  96. package/lib-es/components/EntityDataListing/index.js.map +1 -1
  97. package/lib-es/components/EntityManager/Entity/Entity.js +28 -77
  98. package/lib-es/components/EntityManager/Entity/Entity.js.map +1 -1
  99. package/lib-es/components/EntityManager/Entity/EntityHeader/EntityHeader.js +0 -2
  100. package/lib-es/components/EntityManager/Entity/EntityHeader/EntityHeader.js.map +1 -1
  101. package/lib-es/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/HeaderPreviewButton.js +2 -5
  102. package/lib-es/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/HeaderPreviewButton.js.map +1 -1
  103. package/lib-es/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/index.js.map +1 -1
  104. package/lib-es/components/EntityManager/Entity/EntityHeader/index.js.map +1 -1
  105. package/lib-es/components/EntityManager/Entity/SideBarRelations/index.js +7 -16
  106. package/lib-es/components/EntityManager/Entity/SideBarRelations/index.js.map +1 -1
  107. package/lib-es/components/EntityManager/Entity/actions-handlers/create/index.js.map +1 -1
  108. package/lib-es/components/EntityManager/Entity/actions-handlers/create/submit.js +0 -3
  109. package/lib-es/components/EntityManager/Entity/actions-handlers/create/submit.js.map +1 -1
  110. package/lib-es/components/EntityManager/Entity/actions-handlers/delete/delete.js +0 -3
  111. package/lib-es/components/EntityManager/Entity/actions-handlers/delete/delete.js.map +1 -1
  112. package/lib-es/components/EntityManager/Entity/actions-handlers/delete/index.js.map +1 -1
  113. package/lib-es/components/EntityManager/Entity/actions-handlers/index.js.map +1 -1
  114. package/lib-es/components/EntityManager/Entity/actions-handlers/shared/index.js.map +1 -1
  115. package/lib-es/components/EntityManager/Entity/actions-handlers/shared/publish.js +0 -5
  116. package/lib-es/components/EntityManager/Entity/actions-handlers/shared/publish.js.map +1 -1
  117. package/lib-es/components/EntityManager/Entity/actions-handlers/update/index.js.map +1 -1
  118. package/lib-es/components/EntityManager/Entity/actions-handlers/update/submit.js +0 -6
  119. package/lib-es/components/EntityManager/Entity/actions-handlers/update/submit.js.map +1 -1
  120. package/lib-es/components/EntityManager/Entity/index.js.map +1 -1
  121. package/lib-es/components/EntityManager/EntityManager.js +2 -14
  122. package/lib-es/components/EntityManager/EntityManager.js.map +1 -1
  123. package/lib-es/components/EntityManager/index.js.map +1 -1
  124. package/lib-es/components/EntityManager/utils/data-mappers.js +0 -11
  125. package/lib-es/components/EntityManager/utils/data-mappers.js.map +1 -1
  126. package/lib-es/components/EntityManager/utils/entity.js +0 -13
  127. package/lib-es/components/EntityManager/utils/entity.js.map +1 -1
  128. package/lib-es/components/EntityManager/utils/entityAvailableActions.js +0 -2
  129. package/lib-es/components/EntityManager/utils/entityAvailableActions.js.map +1 -1
  130. package/lib-es/components/EntityManager/utils/is-form-empty.js +0 -2
  131. package/lib-es/components/EntityManager/utils/is-form-empty.js.map +1 -1
  132. package/lib-es/components/EntityManager/utils/query.js +2 -4
  133. package/lib-es/components/EntityManager/utils/query.js.map +1 -1
  134. package/lib-es/components/ListingTable/ListingTable.js +0 -17
  135. package/lib-es/components/ListingTable/ListingTable.js.map +1 -1
  136. package/lib-es/components/ListingTable/ListingTableContent/ListingTableContent.js +0 -2
  137. package/lib-es/components/ListingTable/ListingTableContent/ListingTableContent.js.map +1 -1
  138. package/lib-es/components/ListingTable/ListingTableContent/index.js.map +1 -1
  139. package/lib-es/components/ListingTable/TableActions/TableActions.js +0 -2
  140. package/lib-es/components/ListingTable/TableActions/TableActions.js.map +1 -1
  141. package/lib-es/components/ListingTable/TableActions/index.js.map +1 -1
  142. package/lib-es/components/ListingTable/index.js.map +1 -1
  143. package/lib-es/components/ListingTable/mappers/populate-rows.js +0 -13
  144. package/lib-es/components/ListingTable/mappers/populate-rows.js.map +1 -1
  145. package/lib-es/components/ListingTable/service/index.js +0 -2
  146. package/lib-es/components/ListingTable/service/index.js.map +1 -1
  147. package/lib-es/components/Tabs/index.js +0 -2
  148. package/lib-es/components/Tabs/index.js.map +1 -1
  149. package/lib-es/constants.js.map +1 -1
  150. package/lib-es/index.js +2 -6
  151. package/lib-es/index.js.map +1 -1
  152. package/lib-es/utils/add-content-menu-items.js +0 -3
  153. package/lib-es/utils/add-content-menu-items.js.map +1 -1
  154. package/lib-es/utils/build-create-entity-mutation.js +0 -3
  155. package/lib-es/utils/build-create-entity-mutation.js.map +1 -1
  156. package/lib-es/utils/build-delete-entity-mutation.js +0 -3
  157. package/lib-es/utils/build-delete-entity-mutation.js.map +1 -1
  158. package/lib-es/utils/build-listing-query.js +0 -3
  159. package/lib-es/utils/build-listing-query.js.map +1 -1
  160. package/lib-es/utils/build-update-data-query.js +0 -3
  161. package/lib-es/utils/build-update-data-query.js.map +1 -1
  162. package/lib-es/utils/build-update-publish-unpublish-mutation.js +0 -3
  163. package/lib-es/utils/build-update-publish-unpublish-mutation.js.map +1 -1
  164. package/lib-es/utils/get-default-query-params.js +0 -1
  165. package/lib-es/utils/get-default-query-params.js.map +1 -1
  166. package/lib-es/utils/hoc/withContext.js.map +1 -1
  167. package/lib-es/utils/hooks/useToggle.js +0 -2
  168. package/lib-es/utils/hooks/useToggle.js.map +1 -1
  169. package/lib-es/utils/index.js.map +1 -1
  170. package/package.json +6 -6
  171. package/src/components/EntityManager/Entity/Entity.js +60 -64
  172. package/src/components/EntityManager/Entity/SideBarRelations/index.js +9 -23
@@ -1,11 +1,8 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
3
  const _excluded = ["isValid", "fields", "isNewValueSet", "valuesChecked", "currentField", "value"];
4
-
5
4
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6
-
7
5
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
8
-
9
6
  /* eslint-disable no-undef */
10
7
  import React, { useEffect, useState, useRef } from 'react';
11
8
  import { withRouter, Prompt } from 'react-router-dom';
@@ -25,7 +22,6 @@ import { ENTITY_PUBLISHED, TEXT_CONTENT_TYPE, LEAVE_PAGE_MESSAGE, PREVIEW_INTERF
25
22
  import EntityHeader from './EntityHeader';
26
23
  import { validateSideBarRelations, canViewPage, onViewUrlClick, getUpdatedFormValues, checkFulfilConditions } from '../utils/entity';
27
24
  import useToggle from '../../../utils/hooks/useToggle';
28
-
29
25
  const Entity = ({
30
26
  formData,
31
27
  entity,
@@ -38,7 +34,6 @@ const Entity = ({
38
34
  refetchRecord
39
35
  }) => {
40
36
  var _schema$interfaces, _schema$interfaces2;
41
-
42
37
  const [, setCurrentTabId] = useState(null);
43
38
  const [formValues, setFormValues] = useState(null);
44
39
  const [entitySchema, setEntitySchema] = useState(null);
@@ -64,8 +59,9 @@ const Entity = ({
64
59
  const clonedFormData = cloneDeep(formData);
65
60
  const {
66
61
  addToast
67
- } = useToasts(); // Here's how we'll keep track of our component's mounted state
62
+ } = useToasts();
68
63
 
64
+ // Here's how we'll keep track of our component's mounted state
69
65
  const componentIsMounted = useRef(true);
70
66
  useEffect(() => () => {
71
67
  componentIsMounted.current = false;
@@ -82,7 +78,6 @@ const Entity = ({
82
78
  setEntityIdentifier(schema.identifier);
83
79
  setEnablePreviewButton(!!schema.interfaces.includes(PREVIEW_INTERFACE));
84
80
  }
85
-
86
81
  if (formData && pageBuilderTemplateStatus) {
87
82
  const isPageBuilderTemplateSet = !!formData.values.pageBuilderTemplateId;
88
83
  client.writeQuery({
@@ -93,7 +88,6 @@ const Entity = ({
93
88
  }
94
89
  });
95
90
  }
96
-
97
91
  if (schema) {
98
92
  client.writeQuery({
99
93
  query: getQuery('GET_CURRENT_ENTITY'),
@@ -103,7 +97,6 @@ const Entity = ({
103
97
  });
104
98
  }
105
99
  }, [client, entity, entityData, formData, formValues, pageBuilderTemplateStatus, previousQuery, schema, shouldUpdateState]);
106
-
107
100
  const getFullUrl = async () => {
108
101
  const query = getQuery('GET_ENTITY_URL');
109
102
  const {
@@ -121,13 +114,11 @@ const Entity = ({
121
114
  });
122
115
  return getEntityUrl;
123
116
  };
124
-
125
117
  const getFormValues = values => {
126
118
  if (componentIsMounted.current) {
127
119
  setFormValues(values);
128
120
  }
129
121
  };
130
-
131
122
  const onChangeSideBarRelations = ({
132
123
  id,
133
124
  value
@@ -139,32 +130,27 @@ const Entity = ({
139
130
  formValues
140
131
  });
141
132
  const shouldActiveSaveButton = validateSideBarRelations(updatedFormValues, requiredChildField);
142
-
143
133
  if (isFormValid && shouldActiveSaveButton && componentIsMounted.current) {
144
134
  setIsSaveButtonAvailable(true);
145
135
  setSaveButtonText(SAVE_BUTTON_TEXTS.save);
146
136
  } else if (componentIsMounted.current) {
147
137
  setIsSaveButtonAvailable(false);
148
138
  }
149
-
150
139
  if (componentIsMounted.current) {
151
140
  setFormValues(updatedFormValues);
152
141
  }
153
142
  };
154
-
155
143
  const onChangeFormValues = async _ref => {
156
144
  let {
157
- isValid,
158
- fields,
159
- isNewValueSet,
160
- valuesChecked,
161
- currentField,
162
- value: fieldValue
163
- } = _ref,
164
- otherProps = _objectWithoutProperties(_ref, _excluded);
165
-
145
+ isValid,
146
+ fields,
147
+ isNewValueSet,
148
+ valuesChecked,
149
+ currentField,
150
+ value: fieldValue
151
+ } = _ref,
152
+ otherProps = _objectWithoutProperties(_ref, _excluded);
166
153
  let updatedFormValues = valuesChecked ? valuesChecked.slice() : [];
167
-
168
154
  if (currentField === PAGE_BUILDER_TEMPLATE_FIELD_ID) {
169
155
  const pageBuilderTemplateId = fieldValue;
170
156
  client.writeQuery({
@@ -174,13 +160,10 @@ const Entity = ({
174
160
  pageBuilderTemplateId
175
161
  }
176
162
  });
177
-
178
163
  if (componentIsMounted.current) {
179
164
  setPageBuilderTemplateStatus(false);
180
165
  }
181
-
182
166
  const pageBuilder = updatedFormValues.filter(formValue => formValue.id === PAGE_BUILDER_FIELD_ID);
183
-
184
167
  if (pageBuilderTemplateId) {
185
168
  const {
186
169
  data = {}
@@ -194,7 +177,6 @@ const Entity = ({
194
177
  entityIdentifier
195
178
  }
196
179
  });
197
-
198
180
  if (data && data.mergePageBuilderTemplateChanges) {
199
181
  updatedFormValues = updatedFormValues.map(updatedFormValue => {
200
182
  if (updatedFormValue.id === PAGE_BUILDER_FIELD_ID) {
@@ -202,50 +184,40 @@ const Entity = ({
202
184
  value: data.mergePageBuilderTemplateChanges
203
185
  });
204
186
  }
205
-
206
187
  return updatedFormValue;
207
188
  });
208
189
  }
209
190
  }
210
191
  }
211
-
212
192
  const itemsToAdd = [];
213
-
214
193
  if (formValues && formValues.length > updatedFormValues.length) {
215
194
  [...updatedFormValues, ...formValues].forEach(item => {
216
195
  const index = updatedFormValues.findIndex(value => value.id === item.id);
217
-
218
196
  if (index === -1) {
219
197
  itemsToAdd.push(item);
220
198
  }
221
199
  });
222
200
  }
223
-
224
201
  const [updatedEntity = null] = fields.filter(({
225
202
  id
226
203
  }) => id === 'name');
227
204
  updatedEntity && setPageTitle(updatedEntity.value);
228
205
  const isValidAndNewValueSet = isValid && isNewValueSet;
229
206
  const isNotValidOrNotNewValueSet = !isValid || !isNewValueSet;
230
-
231
207
  if (componentIsMounted.current) {
232
208
  setIsFormValid(isValid);
233
209
  }
234
-
235
210
  if (isValidAndNewValueSet && componentIsMounted.current) {
236
211
  setIsSaveButtonAvailable(true);
237
212
  setSaveButtonText(SAVE_BUTTON_TEXTS.save);
238
213
  }
239
-
240
214
  if (isNotValidOrNotNewValueSet && componentIsMounted.current) {
241
215
  setIsSaveButtonAvailable(false);
242
216
  }
243
-
244
217
  if (componentIsMounted.current) {
245
218
  setFormValues([...updatedFormValues, ...itemsToAdd]);
246
219
  }
247
220
  };
248
-
249
221
  const onSubmit = event => {
250
222
  event && event.preventDefault();
251
223
  if (!isSaveButtonAvailable) return null;
@@ -253,11 +225,9 @@ const Entity = ({
253
225
  const updatedFormValues = newUpdatedDate ? _objectSpread(_objectSpread({}, formData.values), {}, {
254
226
  update: newUpdatedDate
255
227
  }) : _objectSpread({}, formData.values);
256
-
257
228
  const handleUpdateFormData = () => updateFormData({
258
229
  values: _objectSpread(_objectSpread({}, updatedFormValues), parsedFormValues)
259
230
  }, true);
260
-
261
231
  const submitParams = {
262
232
  update: {
263
233
  entitySchema,
@@ -286,18 +256,15 @@ const Entity = ({
286
256
  const currentAction = submitParams[action];
287
257
  return availableActions[action].submit(currentAction, addToast);
288
258
  };
289
-
290
259
  const onDelete = async () => {
291
260
  const {
292
261
  values: {
293
262
  id
294
263
  }
295
264
  } = formData;
296
-
297
265
  if (componentIsMounted.current) {
298
266
  setIsSaveButtonAvailable(false);
299
267
  }
300
-
301
268
  await availableActions.delete.submit({
302
269
  entitySchema,
303
270
  client,
@@ -307,37 +274,31 @@ const Entity = ({
307
274
  }, addToast);
308
275
  history.push(`/data-listing/${entitySchema.id}`);
309
276
  };
310
-
311
277
  const onCopy = () => {
312
278
  if (formDataFromCopy && componentIsMounted.current) {
313
279
  updateFormData(formDataFromCopy);
314
280
  setShouldCopyData(true);
315
281
  setIsSaveButtonAvailable(true);
316
282
  setSaveButtonText(SAVE_BUTTON_TEXTS.save);
317
-
318
283
  if (formDataFromCopy.values.name) {
319
284
  setPageTitle(formDataFromCopy.values.name);
320
285
  }
321
286
  }
322
287
  };
323
-
324
288
  const updateCopyData = () => {
325
289
  setCopyModalStatus(!copyModalStatus);
326
290
  setShouldCopyData(false);
327
291
  };
328
-
329
292
  const handleCopyDataFromClose = () => {
330
293
  setCopyModalStatus(false);
331
294
  setFormDataFromCopy(null);
332
295
  };
333
-
334
296
  const getFormData = formDataValues => {
335
297
  const formDataUpdated = {
336
298
  values: _objectSpread({}, formDataValues)
337
299
  };
338
300
  setFormDataFromCopy(formDataUpdated);
339
301
  };
340
-
341
302
  const handlePublishAndUnpublish = async ({
342
303
  target: {
343
304
  textContent
@@ -346,17 +307,14 @@ const Entity = ({
346
307
  const isPublishButton = textContent === TEXT_CONTENT_TYPE;
347
308
  const isPublished = entityIsPublished === ENTITY_PUBLISHED;
348
309
  const isUnpublish = checkFulfilConditions(!isPublishButton, !isPublished);
349
-
350
310
  if (isUnpublish) {
351
311
  return addToast(UNPUBLISHED_WARNING, {
352
312
  appearance: 'warning',
353
313
  autoDismiss: true
354
314
  });
355
315
  }
356
-
357
316
  if (checkFulfilConditions(isPublishButton, isSaveButtonAvailable)) {
358
317
  const savedPageMessage = await onSubmit();
359
-
360
318
  if (savedPageMessage === ERROR) {
361
319
  return addToast(`Content not published`, {
362
320
  appearance: ERROR,
@@ -364,7 +322,6 @@ const Entity = ({
364
322
  });
365
323
  }
366
324
  }
367
-
368
325
  return availableActions.shared.triggerPublish({
369
326
  entityData,
370
327
  client,
@@ -374,7 +331,6 @@ const Entity = ({
374
331
  refetchRecord
375
332
  }, addToast);
376
333
  };
377
-
378
334
  const showModal = checkFulfilConditions(formData, modalStatus);
379
335
  const onViewUrlHandler = canViewPage(formData, entity, schema, entityIsPublished) ? () => onViewUrlClick(getFullUrl) : onViewUrl;
380
336
  const pageName = formData && formData.values && formData.values.name;
@@ -383,7 +339,22 @@ const Entity = ({
383
339
  const showSideBarRelations = checkFulfilConditions(schema, formData);
384
340
  const showPageBuilderTabs = (schema === null || schema === void 0 ? void 0 : (_schema$interfaces = schema.interfaces) === null || _schema$interfaces === void 0 ? void 0 : _schema$interfaces.includes('page-builder/page-builder-template')) || (schema === null || schema === void 0 ? void 0 : (_schema$interfaces2 = schema.interfaces) === null || _schema$interfaces2 === void 0 ? void 0 : _schema$interfaces2.includes('page-builder/page-builder'));
385
341
  return /*#__PURE__*/React.createElement("div", {
386
- className: "page-wrapper"
342
+ className: "page"
343
+ }, /*#__PURE__*/React.createElement(Prompt, {
344
+ when: hasToDisplayPrompt,
345
+ message: LEAVE_PAGE_MESSAGE
346
+ }), showModal && /*#__PURE__*/React.createElement(DeleteAction, {
347
+ onClose: setModalStatus,
348
+ deleteAction: onDelete,
349
+ itemName: formData.values.name
350
+ }), copyModalStatus && /*#__PURE__*/React.createElement(CopyDataFromAction, {
351
+ onClose: handleCopyDataFromClose,
352
+ copyAction: onCopy,
353
+ getFormData: getFormData
354
+ }), /*#__PURE__*/React.createElement("div", {
355
+ className: "row row--display-row"
356
+ }, /*#__PURE__*/React.createElement("div", {
357
+ className: "column column--three-quarters"
387
358
  }, /*#__PURE__*/React.createElement(EntityHeader, {
388
359
  entityData: entityData,
389
360
  entityIdentifier: entityIdentifier,
@@ -400,25 +371,6 @@ const Entity = ({
400
371
  onViewUrl: onViewUrlHandler,
401
372
  saveButtonText: saveButtonText
402
373
  }), /*#__PURE__*/React.createElement("div", {
403
- className: "page-wrapper__content"
404
- }, /*#__PURE__*/React.createElement("div", {
405
- className: "page page__tab"
406
- }, /*#__PURE__*/React.createElement(Prompt, {
407
- when: hasToDisplayPrompt,
408
- message: LEAVE_PAGE_MESSAGE
409
- }), showModal && /*#__PURE__*/React.createElement(DeleteAction, {
410
- onClose: setModalStatus,
411
- deleteAction: onDelete,
412
- itemName: formData.values.name
413
- }), copyModalStatus && /*#__PURE__*/React.createElement(CopyDataFromAction, {
414
- onClose: handleCopyDataFromClose,
415
- copyAction: onCopy,
416
- getFormData: getFormData
417
- }), /*#__PURE__*/React.createElement("div", {
418
- className: "row row--display-row"
419
- }, /*#__PURE__*/React.createElement("div", {
420
- className: "column"
421
- }, /*#__PURE__*/React.createElement("div", {
422
374
  className: "page__content"
423
375
  }, /*#__PURE__*/React.createElement("div", {
424
376
  className: "content"
@@ -443,8 +395,8 @@ const Entity = ({
443
395
  updateCopyData: updateCopyData,
444
396
  formValues: formValues,
445
397
  isNewEntity: isNewEntity
446
- }))))))), /*#__PURE__*/React.createElement("div", {
447
- className: "column column--one-third page-sidebar"
398
+ }))))), /*#__PURE__*/React.createElement("div", {
399
+ className: "column column--one-third"
448
400
  }, showSideBarRelations && /*#__PURE__*/React.createElement(SideBarRelations, {
449
401
  entity: entity,
450
402
  formData: formData.values,
@@ -452,7 +404,6 @@ const Entity = ({
452
404
  onChange: onChangeSideBarRelations
453
405
  }))));
454
406
  };
455
-
456
407
  Entity.propTypes = {
457
408
  entity: PropTypes.object,
458
409
  schema: PropTypes.object,
@@ -1 +1 @@
1
- {"version":3,"file":"Entity.js","names":["React","useEffect","useState","useRef","withRouter","Prompt","useApolloClient","PropTypes","getQuery","GET_CURRENT_TAB_ID","FormBuilder","parseFormValues","DeleteAction","CopyDataFromAction","useToasts","cloneDeep","getPageName","isFormEmpty","availableActions","SideBarRelations","Tabs","ENTITY_PUBLISHED","TEXT_CONTENT_TYPE","LEAVE_PAGE_MESSAGE","PREVIEW_INTERFACE","PAGE_BUILDER_FIELD_ID","PAGE_BUILDER_TEMPLATE_FIELD_ID","ERROR","SAVE_BUTTON_TEXTS","UNPUBLISHED_WARNING","EntityHeader","validateSideBarRelations","canViewPage","onViewUrlClick","getUpdatedFormValues","checkFulfilConditions","useToggle","Entity","formData","entity","schema","previousQuery","action","history","updateFormData","onViewUrl","refetchRecord","setCurrentTabId","formValues","setFormValues","entitySchema","setEntitySchema","entityData","setEntityData","entityIdentifier","setEntityIdentifier","pageTitle","setPageTitle","isSaveButtonAvailable","setIsSaveButtonAvailable","entityIsPublished","setEntityIsPublish","values","status","isEnablePublishButton","setEnablePublishButton","isEnablePreviewButton","setEnablePreviewButton","modalStatus","setModalStatus","copyModalStatus","setCopyModalStatus","pageBuilderTemplateStatus","setPageBuilderTemplateStatus","shouldCopyData","setShouldCopyData","isFormValid","setIsFormValid","formDataFromCopy","setFormDataFromCopy","newUpdatedDate","setNewUpdatedDate","saveButtonText","setSaveButtonText","save","isCreatePage","location","pathname","includes","isNewEntity","setIsNewEntity","client","shouldUpdateState","id","clonedFormData","addToast","componentIsMounted","current","displayProperties","actions","publish","identifier","interfaces","isPageBuilderTemplateSet","pageBuilderTemplateId","writeQuery","query","data","pageBuilderTemplateSet","currentEntity","getFullUrl","getEntityUrl","variables","itemId","itemEntity","fullUrl","fetchPolicy","getFormValues","onChangeSideBarRelations","value","requiredChildField","updatedFormValues","shouldActiveSaveButton","onChangeFormValues","isValid","fields","isNewValueSet","valuesChecked","currentField","fieldValue","otherProps","slice","pageBuilder","filter","formValue","parent","mergePageBuilderTemplateChanges","map","updatedFormValue","itemsToAdd","length","forEach","item","index","findIndex","push","updatedEntity","isValidAndNewValueSet","isNotValidOrNotNewValueSet","onSubmit","event","preventDefault","parsedFormValues","update","handleUpdateFormData","submitParams","create","currentAction","submit","onDelete","delete","onCopy","name","updateCopyData","handleCopyDataFromClose","getFormData","formDataValues","formDataUpdated","handlePublishAndUnpublish","target","textContent","isPublishButton","isPublished","isUnpublish","appearance","autoDismiss","savedPageMessage","shared","triggerPublish","showModal","onViewUrlHandler","pageName","hasNewFormValues","hasToDisplayPrompt","showSideBarRelations","showPageBuilderTabs","tabId","currentTabId","propTypes","object","string","isRequired","func","defaultProps"],"sources":["../../../../src/components/EntityManager/Entity/Entity.js"],"sourcesContent":["/* eslint-disable no-undef */\nimport React, { useEffect, useState, useRef } from 'react';\nimport { withRouter, Prompt } from 'react-router-dom';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { getQuery, GET_CURRENT_TAB_ID } from '@blaze-cms/admin-ui-utils';\nimport { FormBuilder, parseFormValues } from '@blaze-cms/react-form-builder';\nimport { DeleteAction, CopyDataFromAction } from '@blaze-cms/admin';\nimport { useToasts } from '@blaze-react/toaster';\nimport cloneDeep from 'lodash.clonedeep';\nimport { getPageName } from '../utils/data-mappers';\nimport isFormEmpty from '../utils/is-form-empty';\nimport availableActions from './actions-handlers';\nimport SideBarRelations from './SideBarRelations';\nimport Tabs from '../../Tabs';\n\nimport {\n ENTITY_PUBLISHED,\n TEXT_CONTENT_TYPE,\n LEAVE_PAGE_MESSAGE,\n PREVIEW_INTERFACE,\n PAGE_BUILDER_FIELD_ID,\n PAGE_BUILDER_TEMPLATE_FIELD_ID,\n ERROR,\n SAVE_BUTTON_TEXTS,\n UNPUBLISHED_WARNING\n} from '../../../constants';\nimport EntityHeader from './EntityHeader';\nimport {\n validateSideBarRelations,\n canViewPage,\n onViewUrlClick,\n getUpdatedFormValues,\n checkFulfilConditions\n} from '../utils/entity';\nimport useToggle from '../../../utils/hooks/useToggle';\n\nconst Entity = ({\n formData,\n entity,\n schema,\n previousQuery,\n action,\n history,\n updateFormData,\n onViewUrl,\n refetchRecord\n}) => {\n const [, setCurrentTabId] = useState(null);\n const [formValues, setFormValues] = useState(null);\n const [entitySchema, setEntitySchema] = useState(null);\n const [entityData, setEntityData] = useState(null);\n const [entityIdentifier, setEntityIdentifier] = useState(null);\n const [pageTitle, setPageTitle] = useState('');\n const [isSaveButtonAvailable, setIsSaveButtonAvailable] = useState(false);\n const [entityIsPublished, setEntityIsPublish] = useState(\n formData && formData.values && formData.values.status\n );\n const [isEnablePublishButton, setEnablePublishButton] = useState(false);\n const [isEnablePreviewButton, setEnablePreviewButton] = useState(false);\n const [modalStatus, setModalStatus] = useToggle(false);\n const [copyModalStatus, setCopyModalStatus] = useToggle(false);\n const [pageBuilderTemplateStatus, setPageBuilderTemplateStatus] = useState(true);\n const [shouldCopyData, setShouldCopyData] = useState(false);\n const [isFormValid, setIsFormValid] = useState(false);\n const [formDataFromCopy, setFormDataFromCopy] = useState(null);\n const [newUpdatedDate, setNewUpdatedDate] = useState(null);\n const [saveButtonText, setSaveButtonText] = useState(SAVE_BUTTON_TEXTS.save);\n\n const isCreatePage = history.location.pathname.includes('create');\n const [isNewEntity, setIsNewEntity] = useState(isCreatePage);\n\n const client = useApolloClient();\n const shouldUpdateState =\n !entityIdentifier ||\n checkFulfilConditions(entity, schema, previousQuery, !entityData) ||\n (entityData && entityData.id !== entity.id);\n const clonedFormData = cloneDeep(formData);\n const { addToast } = useToasts();\n\n // Here's how we'll keep track of our component's mounted state\n const componentIsMounted = useRef(true);\n useEffect(\n () => () => {\n componentIsMounted.current = false;\n },\n []\n ); // Using an empty dependency array ensures this only runs on unmount\n\n useEffect(\n () => {\n if (shouldUpdateState) {\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n setEntityData(entity);\n setPageTitle(getPageName(schema.displayProperties, entity));\n setEntityIsPublish(entity.status);\n setEntitySchema(schema);\n setEnablePublishButton(schema.actions.publish);\n setEntityIdentifier(schema.identifier);\n setEnablePreviewButton(!!schema.interfaces.includes(PREVIEW_INTERFACE));\n }\n\n if (formData && pageBuilderTemplateStatus) {\n const isPageBuilderTemplateSet = !!formData.values.pageBuilderTemplateId;\n client.writeQuery({\n query: getQuery('GET_PB_TEMPLATE_STATUS'),\n data: {\n pageBuilderTemplateSet: isPageBuilderTemplateSet,\n pageBuilderTemplateId: formData.values.pageBuilderTemplateId || ''\n }\n });\n }\n if (schema) {\n client.writeQuery({\n query: getQuery('GET_CURRENT_ENTITY'),\n data: {\n currentEntity: schema.id\n }\n });\n }\n },\n [\n client,\n entity,\n entityData,\n formData,\n formValues,\n pageBuilderTemplateStatus,\n previousQuery,\n schema,\n shouldUpdateState\n ]\n );\n\n const getFullUrl = async () => {\n const query = getQuery('GET_ENTITY_URL');\n const { data: { getEntityUrl = '' } = {} } = await client.query({\n query,\n variables: { itemId: entity.id, itemEntity: schema.id, fullUrl: true },\n fetchPolicy: 'network-only'\n });\n return getEntityUrl;\n };\n\n const getFormValues = values => {\n if (componentIsMounted.current) {\n setFormValues(values);\n }\n };\n\n const onChangeSideBarRelations = ({ id, value }, requiredChildField) => {\n const updatedFormValues = getUpdatedFormValues({ id, value, requiredChildField, formValues });\n\n const shouldActiveSaveButton = validateSideBarRelations(updatedFormValues, requiredChildField);\n\n if (isFormValid && shouldActiveSaveButton && componentIsMounted.current) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n } else if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n if (componentIsMounted.current) {\n setFormValues(updatedFormValues);\n }\n };\n\n const onChangeFormValues = async ({\n isValid,\n fields,\n isNewValueSet,\n valuesChecked,\n currentField,\n value: fieldValue,\n ...otherProps\n }) => {\n let updatedFormValues = valuesChecked ? valuesChecked.slice() : [];\n if (currentField === PAGE_BUILDER_TEMPLATE_FIELD_ID) {\n const pageBuilderTemplateId = fieldValue;\n client.writeQuery({\n query: getQuery('GET_PB_TEMPLATE_STATUS'),\n data: {\n pageBuilderTemplateSet: !!pageBuilderTemplateId,\n pageBuilderTemplateId\n }\n });\n\n if (componentIsMounted.current) {\n setPageBuilderTemplateStatus(false);\n }\n\n const pageBuilder = updatedFormValues.filter(\n formValue => formValue.id === PAGE_BUILDER_FIELD_ID\n );\n\n if (pageBuilderTemplateId) {\n const { data = {} } = await client.query({\n query: getQuery('MERGE_PB_TEMPLATE_CHANGES'),\n variables: {\n parent: {\n pageBuilder: pageBuilder[0].value,\n pageBuilderTemplateId\n },\n entityIdentifier\n }\n });\n\n if (data && data.mergePageBuilderTemplateChanges) {\n updatedFormValues = updatedFormValues.map(updatedFormValue => {\n if (updatedFormValue.id === PAGE_BUILDER_FIELD_ID) {\n return {\n ...updatedFormValue,\n value: data.mergePageBuilderTemplateChanges\n };\n }\n return updatedFormValue;\n });\n }\n }\n }\n const itemsToAdd = [];\n if (formValues && formValues.length > updatedFormValues.length) {\n [...updatedFormValues, ...formValues].forEach(item => {\n const index = updatedFormValues.findIndex(value => value.id === item.id);\n if (index === -1) {\n itemsToAdd.push(item);\n }\n });\n }\n\n const [updatedEntity = null] = fields.filter(({ id }) => id === 'name');\n updatedEntity && setPageTitle(updatedEntity.value);\n\n const isValidAndNewValueSet = isValid && isNewValueSet;\n const isNotValidOrNotNewValueSet = !isValid || !isNewValueSet;\n if (componentIsMounted.current) {\n setIsFormValid(isValid);\n }\n if (isValidAndNewValueSet && componentIsMounted.current) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n }\n\n if (isNotValidOrNotNewValueSet && componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n if (componentIsMounted.current) {\n setFormValues([...updatedFormValues, ...itemsToAdd]);\n }\n };\n\n const onSubmit = event => {\n event && event.preventDefault();\n\n if (!isSaveButtonAvailable) return null;\n const parsedFormValues = parseFormValues(formValues);\n\n const updatedFormValues = newUpdatedDate\n ? { ...formData.values, update: newUpdatedDate }\n : { ...formData.values };\n\n const handleUpdateFormData = () =>\n updateFormData(\n {\n values: { ...updatedFormValues, ...parsedFormValues }\n },\n true\n );\n\n const submitParams = {\n update: {\n entitySchema,\n entityData,\n parsedFormValues,\n client,\n setIsSaveButtonAvailable,\n setNewUpdatedDate,\n newUpdatedDate,\n previousQuery,\n setSaveButtonText,\n handleUpdateFormData\n },\n create: {\n entitySchema,\n parsedFormValues,\n client,\n setEntityData,\n setIsSaveButtonAvailable,\n history,\n setIsNewEntity,\n setSaveButtonText,\n handleUpdateFormData\n }\n };\n\n const currentAction = submitParams[action];\n return availableActions[action].submit(currentAction, addToast);\n };\n\n const onDelete = async () => {\n const {\n values: { id }\n } = formData;\n\n if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n await availableActions.delete.submit(\n {\n entitySchema,\n client,\n parsedFormValues: { id }\n },\n addToast\n );\n\n history.push(`/data-listing/${entitySchema.id}`);\n };\n\n const onCopy = () => {\n if (formDataFromCopy && componentIsMounted.current) {\n updateFormData(formDataFromCopy);\n setShouldCopyData(true);\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n if (formDataFromCopy.values.name) {\n setPageTitle(formDataFromCopy.values.name);\n }\n }\n };\n\n const updateCopyData = () => {\n setCopyModalStatus(!copyModalStatus);\n setShouldCopyData(false);\n };\n\n const handleCopyDataFromClose = () => {\n setCopyModalStatus(false);\n setFormDataFromCopy(null);\n };\n\n const getFormData = formDataValues => {\n const formDataUpdated = {\n values: { ...formDataValues }\n };\n setFormDataFromCopy(formDataUpdated);\n };\n\n const handlePublishAndUnpublish = async ({ target: { textContent } }) => {\n const isPublishButton = textContent === TEXT_CONTENT_TYPE;\n const isPublished = entityIsPublished === ENTITY_PUBLISHED;\n\n const isUnpublish = checkFulfilConditions(!isPublishButton, !isPublished);\n\n if (isUnpublish) {\n return addToast(UNPUBLISHED_WARNING, {\n appearance: 'warning',\n autoDismiss: true\n });\n }\n\n if (checkFulfilConditions(isPublishButton, isSaveButtonAvailable)) {\n const savedPageMessage = await onSubmit();\n\n if (savedPageMessage === ERROR) {\n return addToast(`Content not published`, {\n appearance: ERROR,\n autoDismiss: true\n });\n }\n }\n\n return availableActions.shared.triggerPublish(\n {\n entityData,\n client,\n setEntityIsPublish,\n entitySchema,\n textContent,\n refetchRecord\n },\n addToast\n );\n };\n\n const showModal = checkFulfilConditions(formData, modalStatus);\n\n const onViewUrlHandler = canViewPage(formData, entity, schema, entityIsPublished)\n ? () => onViewUrlClick(getFullUrl)\n : onViewUrl;\n\n const pageName = formData && formData.values && formData.values.name;\n\n const hasNewFormValues = checkFulfilConditions(isNewEntity, !isFormEmpty(formValues));\n const hasToDisplayPrompt = isSaveButtonAvailable || hasNewFormValues;\n\n const showSideBarRelations = checkFulfilConditions(schema, formData);\n const showPageBuilderTabs =\n schema?.interfaces?.includes('page-builder/page-builder-template') ||\n schema?.interfaces?.includes('page-builder/page-builder');\n\n return (\n <div className=\"page-wrapper\">\n <EntityHeader\n entityData={entityData}\n entityIdentifier={entityIdentifier}\n pageTitle={pageTitle}\n pageName={pageName}\n onSubmit={onSubmit}\n handlePublishAndUnpublish={handlePublishAndUnpublish}\n isSaveButtonAvailable={isSaveButtonAvailable}\n isEnablePublishButton={isEnablePublishButton}\n isEnablePreviewButton={isEnablePreviewButton}\n toggleCopyModal={setCopyModalStatus}\n toggleModal={setModalStatus}\n formData={formData}\n onViewUrl={onViewUrlHandler}\n saveButtonText={saveButtonText}\n />\n <div className=\"page-wrapper__content\">\n <div className=\"page page__tab\">\n <Prompt when={hasToDisplayPrompt} message={LEAVE_PAGE_MESSAGE} />\n {showModal && (\n <DeleteAction\n onClose={setModalStatus}\n deleteAction={onDelete}\n itemName={formData.values.name}\n />\n )}\n {copyModalStatus && (\n <CopyDataFromAction\n onClose={handleCopyDataFromClose}\n copyAction={onCopy}\n getFormData={getFormData}\n />\n )}\n\n <div className=\"row row--display-row\">\n <div className=\"column\">\n <div className=\"page__content\">\n <div className=\"content\">\n <Tabs\n enabled={showPageBuilderTabs}\n onTabChange={tabId => {\n client.writeQuery({\n query: GET_CURRENT_TAB_ID,\n data: { currentTabId: tabId }\n });\n setCurrentTabId(tabId);\n }}>\n <FormBuilder\n getIsFormValid={setIsFormValid}\n getFormValues={getFormValues}\n schema={schema}\n data={clonedFormData}\n onChange={onChangeFormValues}\n shouldCopyData={shouldCopyData}\n updateCopyData={updateCopyData}\n formValues={formValues}\n isNewEntity={isNewEntity}\n />\n </Tabs>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div className=\"column column--one-third page-sidebar\">\n {showSideBarRelations && (\n <SideBarRelations\n entity={entity}\n formData={formData.values}\n schema={schema}\n onChange={onChangeSideBarRelations}\n />\n )}\n </div>\n </div>\n </div>\n );\n};\n\nEntity.propTypes = {\n entity: PropTypes.object,\n schema: PropTypes.object,\n previousQuery: PropTypes.object,\n action: PropTypes.string.isRequired,\n history: PropTypes.object.isRequired,\n formData: PropTypes.object,\n updateFormData: PropTypes.func.isRequired,\n onViewUrl: PropTypes.func,\n refetchRecord: PropTypes.func.isRequired\n};\n\nEntity.defaultProps = {\n previousQuery: null,\n schema: null,\n entity: null,\n formData: null,\n onViewUrl: null\n};\n\nexport default withRouter(Entity);\n"],"mappings":"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"}
1
+ {"version":3,"file":"Entity.js","names":["React","useEffect","useState","useRef","withRouter","Prompt","useApolloClient","PropTypes","getQuery","GET_CURRENT_TAB_ID","FormBuilder","parseFormValues","DeleteAction","CopyDataFromAction","useToasts","cloneDeep","getPageName","isFormEmpty","availableActions","SideBarRelations","Tabs","ENTITY_PUBLISHED","TEXT_CONTENT_TYPE","LEAVE_PAGE_MESSAGE","PREVIEW_INTERFACE","PAGE_BUILDER_FIELD_ID","PAGE_BUILDER_TEMPLATE_FIELD_ID","ERROR","SAVE_BUTTON_TEXTS","UNPUBLISHED_WARNING","EntityHeader","validateSideBarRelations","canViewPage","onViewUrlClick","getUpdatedFormValues","checkFulfilConditions","useToggle","Entity","formData","entity","schema","previousQuery","action","history","updateFormData","onViewUrl","refetchRecord","setCurrentTabId","formValues","setFormValues","entitySchema","setEntitySchema","entityData","setEntityData","entityIdentifier","setEntityIdentifier","pageTitle","setPageTitle","isSaveButtonAvailable","setIsSaveButtonAvailable","entityIsPublished","setEntityIsPublish","values","status","isEnablePublishButton","setEnablePublishButton","isEnablePreviewButton","setEnablePreviewButton","modalStatus","setModalStatus","copyModalStatus","setCopyModalStatus","pageBuilderTemplateStatus","setPageBuilderTemplateStatus","shouldCopyData","setShouldCopyData","isFormValid","setIsFormValid","formDataFromCopy","setFormDataFromCopy","newUpdatedDate","setNewUpdatedDate","saveButtonText","setSaveButtonText","save","isCreatePage","location","pathname","includes","isNewEntity","setIsNewEntity","client","shouldUpdateState","id","clonedFormData","addToast","componentIsMounted","current","displayProperties","actions","publish","identifier","interfaces","isPageBuilderTemplateSet","pageBuilderTemplateId","writeQuery","query","data","pageBuilderTemplateSet","currentEntity","getFullUrl","getEntityUrl","variables","itemId","itemEntity","fullUrl","fetchPolicy","getFormValues","onChangeSideBarRelations","value","requiredChildField","updatedFormValues","shouldActiveSaveButton","onChangeFormValues","isValid","fields","isNewValueSet","valuesChecked","currentField","fieldValue","otherProps","slice","pageBuilder","filter","formValue","parent","mergePageBuilderTemplateChanges","map","updatedFormValue","itemsToAdd","length","forEach","item","index","findIndex","push","updatedEntity","isValidAndNewValueSet","isNotValidOrNotNewValueSet","onSubmit","event","preventDefault","parsedFormValues","update","handleUpdateFormData","submitParams","create","currentAction","submit","onDelete","delete","onCopy","name","updateCopyData","handleCopyDataFromClose","getFormData","formDataValues","formDataUpdated","handlePublishAndUnpublish","target","textContent","isPublishButton","isPublished","isUnpublish","appearance","autoDismiss","savedPageMessage","shared","triggerPublish","showModal","onViewUrlHandler","pageName","hasNewFormValues","hasToDisplayPrompt","showSideBarRelations","showPageBuilderTabs","tabId","currentTabId","propTypes","object","string","isRequired","func","defaultProps"],"sources":["../../../../src/components/EntityManager/Entity/Entity.js"],"sourcesContent":["/* eslint-disable no-undef */\nimport React, { useEffect, useState, useRef } from 'react';\nimport { withRouter, Prompt } from 'react-router-dom';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { getQuery, GET_CURRENT_TAB_ID } from '@blaze-cms/admin-ui-utils';\nimport { FormBuilder, parseFormValues } from '@blaze-cms/react-form-builder';\nimport { DeleteAction, CopyDataFromAction } from '@blaze-cms/admin';\nimport { useToasts } from '@blaze-react/toaster';\nimport cloneDeep from 'lodash.clonedeep';\nimport { getPageName } from '../utils/data-mappers';\nimport isFormEmpty from '../utils/is-form-empty';\nimport availableActions from './actions-handlers';\nimport SideBarRelations from './SideBarRelations';\nimport Tabs from '../../Tabs';\n\nimport {\n ENTITY_PUBLISHED,\n TEXT_CONTENT_TYPE,\n LEAVE_PAGE_MESSAGE,\n PREVIEW_INTERFACE,\n PAGE_BUILDER_FIELD_ID,\n PAGE_BUILDER_TEMPLATE_FIELD_ID,\n ERROR,\n SAVE_BUTTON_TEXTS,\n UNPUBLISHED_WARNING\n} from '../../../constants';\nimport EntityHeader from './EntityHeader';\nimport {\n validateSideBarRelations,\n canViewPage,\n onViewUrlClick,\n getUpdatedFormValues,\n checkFulfilConditions\n} from '../utils/entity';\nimport useToggle from '../../../utils/hooks/useToggle';\n\nconst Entity = ({\n formData,\n entity,\n schema,\n previousQuery,\n action,\n history,\n updateFormData,\n onViewUrl,\n refetchRecord\n}) => {\n const [, setCurrentTabId] = useState(null);\n const [formValues, setFormValues] = useState(null);\n const [entitySchema, setEntitySchema] = useState(null);\n const [entityData, setEntityData] = useState(null);\n const [entityIdentifier, setEntityIdentifier] = useState(null);\n const [pageTitle, setPageTitle] = useState('');\n const [isSaveButtonAvailable, setIsSaveButtonAvailable] = useState(false);\n const [entityIsPublished, setEntityIsPublish] = useState(\n formData && formData.values && formData.values.status\n );\n const [isEnablePublishButton, setEnablePublishButton] = useState(false);\n const [isEnablePreviewButton, setEnablePreviewButton] = useState(false);\n const [modalStatus, setModalStatus] = useToggle(false);\n const [copyModalStatus, setCopyModalStatus] = useToggle(false);\n const [pageBuilderTemplateStatus, setPageBuilderTemplateStatus] = useState(true);\n const [shouldCopyData, setShouldCopyData] = useState(false);\n const [isFormValid, setIsFormValid] = useState(false);\n const [formDataFromCopy, setFormDataFromCopy] = useState(null);\n const [newUpdatedDate, setNewUpdatedDate] = useState(null);\n const [saveButtonText, setSaveButtonText] = useState(SAVE_BUTTON_TEXTS.save);\n\n const isCreatePage = history.location.pathname.includes('create');\n const [isNewEntity, setIsNewEntity] = useState(isCreatePage);\n\n const client = useApolloClient();\n const shouldUpdateState =\n !entityIdentifier ||\n checkFulfilConditions(entity, schema, previousQuery, !entityData) ||\n (entityData && entityData.id !== entity.id);\n const clonedFormData = cloneDeep(formData);\n const { addToast } = useToasts();\n\n // Here's how we'll keep track of our component's mounted state\n const componentIsMounted = useRef(true);\n useEffect(\n () => () => {\n componentIsMounted.current = false;\n },\n []\n ); // Using an empty dependency array ensures this only runs on unmount\n\n useEffect(\n () => {\n if (shouldUpdateState) {\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n setEntityData(entity);\n setPageTitle(getPageName(schema.displayProperties, entity));\n setEntityIsPublish(entity.status);\n setEntitySchema(schema);\n setEnablePublishButton(schema.actions.publish);\n setEntityIdentifier(schema.identifier);\n setEnablePreviewButton(!!schema.interfaces.includes(PREVIEW_INTERFACE));\n }\n\n if (formData && pageBuilderTemplateStatus) {\n const isPageBuilderTemplateSet = !!formData.values.pageBuilderTemplateId;\n client.writeQuery({\n query: getQuery('GET_PB_TEMPLATE_STATUS'),\n data: {\n pageBuilderTemplateSet: isPageBuilderTemplateSet,\n pageBuilderTemplateId: formData.values.pageBuilderTemplateId || ''\n }\n });\n }\n if (schema) {\n client.writeQuery({\n query: getQuery('GET_CURRENT_ENTITY'),\n data: {\n currentEntity: schema.id\n }\n });\n }\n },\n [\n client,\n entity,\n entityData,\n formData,\n formValues,\n pageBuilderTemplateStatus,\n previousQuery,\n schema,\n shouldUpdateState\n ]\n );\n\n const getFullUrl = async () => {\n const query = getQuery('GET_ENTITY_URL');\n const { data: { getEntityUrl = '' } = {} } = await client.query({\n query,\n variables: { itemId: entity.id, itemEntity: schema.id, fullUrl: true },\n fetchPolicy: 'network-only'\n });\n return getEntityUrl;\n };\n\n const getFormValues = values => {\n if (componentIsMounted.current) {\n setFormValues(values);\n }\n };\n\n const onChangeSideBarRelations = ({ id, value }, requiredChildField) => {\n const updatedFormValues = getUpdatedFormValues({ id, value, requiredChildField, formValues });\n\n const shouldActiveSaveButton = validateSideBarRelations(updatedFormValues, requiredChildField);\n\n if (isFormValid && shouldActiveSaveButton && componentIsMounted.current) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n } else if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n if (componentIsMounted.current) {\n setFormValues(updatedFormValues);\n }\n };\n\n const onChangeFormValues = async ({\n isValid,\n fields,\n isNewValueSet,\n valuesChecked,\n currentField,\n value: fieldValue,\n ...otherProps\n }) => {\n let updatedFormValues = valuesChecked ? valuesChecked.slice() : [];\n if (currentField === PAGE_BUILDER_TEMPLATE_FIELD_ID) {\n const pageBuilderTemplateId = fieldValue;\n client.writeQuery({\n query: getQuery('GET_PB_TEMPLATE_STATUS'),\n data: {\n pageBuilderTemplateSet: !!pageBuilderTemplateId,\n pageBuilderTemplateId\n }\n });\n\n if (componentIsMounted.current) {\n setPageBuilderTemplateStatus(false);\n }\n\n const pageBuilder = updatedFormValues.filter(\n formValue => formValue.id === PAGE_BUILDER_FIELD_ID\n );\n\n if (pageBuilderTemplateId) {\n const { data = {} } = await client.query({\n query: getQuery('MERGE_PB_TEMPLATE_CHANGES'),\n variables: {\n parent: {\n pageBuilder: pageBuilder[0].value,\n pageBuilderTemplateId\n },\n entityIdentifier\n }\n });\n\n if (data && data.mergePageBuilderTemplateChanges) {\n updatedFormValues = updatedFormValues.map(updatedFormValue => {\n if (updatedFormValue.id === PAGE_BUILDER_FIELD_ID) {\n return {\n ...updatedFormValue,\n value: data.mergePageBuilderTemplateChanges\n };\n }\n return updatedFormValue;\n });\n }\n }\n }\n const itemsToAdd = [];\n if (formValues && formValues.length > updatedFormValues.length) {\n [...updatedFormValues, ...formValues].forEach(item => {\n const index = updatedFormValues.findIndex(value => value.id === item.id);\n if (index === -1) {\n itemsToAdd.push(item);\n }\n });\n }\n\n const [updatedEntity = null] = fields.filter(({ id }) => id === 'name');\n updatedEntity && setPageTitle(updatedEntity.value);\n\n const isValidAndNewValueSet = isValid && isNewValueSet;\n const isNotValidOrNotNewValueSet = !isValid || !isNewValueSet;\n if (componentIsMounted.current) {\n setIsFormValid(isValid);\n }\n if (isValidAndNewValueSet && componentIsMounted.current) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n }\n\n if (isNotValidOrNotNewValueSet && componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n if (componentIsMounted.current) {\n setFormValues([...updatedFormValues, ...itemsToAdd]);\n }\n };\n\n const onSubmit = event => {\n event && event.preventDefault();\n\n if (!isSaveButtonAvailable) return null;\n const parsedFormValues = parseFormValues(formValues);\n\n const updatedFormValues = newUpdatedDate\n ? { ...formData.values, update: newUpdatedDate }\n : { ...formData.values };\n\n const handleUpdateFormData = () =>\n updateFormData(\n {\n values: { ...updatedFormValues, ...parsedFormValues }\n },\n true\n );\n\n const submitParams = {\n update: {\n entitySchema,\n entityData,\n parsedFormValues,\n client,\n setIsSaveButtonAvailable,\n setNewUpdatedDate,\n newUpdatedDate,\n previousQuery,\n setSaveButtonText,\n handleUpdateFormData\n },\n create: {\n entitySchema,\n parsedFormValues,\n client,\n setEntityData,\n setIsSaveButtonAvailable,\n history,\n setIsNewEntity,\n setSaveButtonText,\n handleUpdateFormData\n }\n };\n\n const currentAction = submitParams[action];\n return availableActions[action].submit(currentAction, addToast);\n };\n\n const onDelete = async () => {\n const {\n values: { id }\n } = formData;\n\n if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n await availableActions.delete.submit(\n {\n entitySchema,\n client,\n parsedFormValues: { id }\n },\n addToast\n );\n\n history.push(`/data-listing/${entitySchema.id}`);\n };\n\n const onCopy = () => {\n if (formDataFromCopy && componentIsMounted.current) {\n updateFormData(formDataFromCopy);\n setShouldCopyData(true);\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n if (formDataFromCopy.values.name) {\n setPageTitle(formDataFromCopy.values.name);\n }\n }\n };\n\n const updateCopyData = () => {\n setCopyModalStatus(!copyModalStatus);\n setShouldCopyData(false);\n };\n\n const handleCopyDataFromClose = () => {\n setCopyModalStatus(false);\n setFormDataFromCopy(null);\n };\n\n const getFormData = formDataValues => {\n const formDataUpdated = {\n values: { ...formDataValues }\n };\n setFormDataFromCopy(formDataUpdated);\n };\n\n const handlePublishAndUnpublish = async ({ target: { textContent } }) => {\n const isPublishButton = textContent === TEXT_CONTENT_TYPE;\n const isPublished = entityIsPublished === ENTITY_PUBLISHED;\n\n const isUnpublish = checkFulfilConditions(!isPublishButton, !isPublished);\n\n if (isUnpublish) {\n return addToast(UNPUBLISHED_WARNING, {\n appearance: 'warning',\n autoDismiss: true\n });\n }\n\n if (checkFulfilConditions(isPublishButton, isSaveButtonAvailable)) {\n const savedPageMessage = await onSubmit();\n\n if (savedPageMessage === ERROR) {\n return addToast(`Content not published`, {\n appearance: ERROR,\n autoDismiss: true\n });\n }\n }\n\n return availableActions.shared.triggerPublish(\n {\n entityData,\n client,\n setEntityIsPublish,\n entitySchema,\n textContent,\n refetchRecord\n },\n addToast\n );\n };\n\n const showModal = checkFulfilConditions(formData, modalStatus);\n\n const onViewUrlHandler = canViewPage(formData, entity, schema, entityIsPublished)\n ? () => onViewUrlClick(getFullUrl)\n : onViewUrl;\n\n const pageName = formData && formData.values && formData.values.name;\n\n const hasNewFormValues = checkFulfilConditions(isNewEntity, !isFormEmpty(formValues));\n const hasToDisplayPrompt = isSaveButtonAvailable || hasNewFormValues;\n\n const showSideBarRelations = checkFulfilConditions(schema, formData);\n const showPageBuilderTabs =\n schema?.interfaces?.includes('page-builder/page-builder-template') ||\n schema?.interfaces?.includes('page-builder/page-builder');\n\n return (\n <div className=\"page\">\n <Prompt when={hasToDisplayPrompt} message={LEAVE_PAGE_MESSAGE} />\n {showModal && (\n <DeleteAction\n onClose={setModalStatus}\n deleteAction={onDelete}\n itemName={formData.values.name}\n />\n )}\n {copyModalStatus && (\n <CopyDataFromAction\n onClose={handleCopyDataFromClose}\n copyAction={onCopy}\n getFormData={getFormData}\n />\n )}\n\n <div className=\"row row--display-row\">\n <div className=\"column column--three-quarters\">\n <EntityHeader\n entityData={entityData}\n entityIdentifier={entityIdentifier}\n pageTitle={pageTitle}\n pageName={pageName}\n onSubmit={onSubmit}\n handlePublishAndUnpublish={handlePublishAndUnpublish}\n isSaveButtonAvailable={isSaveButtonAvailable}\n isEnablePublishButton={isEnablePublishButton}\n isEnablePreviewButton={isEnablePreviewButton}\n toggleCopyModal={setCopyModalStatus}\n toggleModal={setModalStatus}\n formData={formData}\n onViewUrl={onViewUrlHandler}\n saveButtonText={saveButtonText}\n />\n\n <div className=\"page__content\">\n <div className=\"content\">\n <Tabs\n enabled={showPageBuilderTabs}\n onTabChange={tabId => {\n client.writeQuery({\n query: GET_CURRENT_TAB_ID,\n data: { currentTabId: tabId }\n });\n setCurrentTabId(tabId);\n }}>\n <FormBuilder\n getIsFormValid={setIsFormValid}\n getFormValues={getFormValues}\n schema={schema}\n data={clonedFormData}\n onChange={onChangeFormValues}\n shouldCopyData={shouldCopyData}\n updateCopyData={updateCopyData}\n formValues={formValues}\n isNewEntity={isNewEntity}\n />\n </Tabs>\n </div>\n </div>\n </div>\n <div className=\"column column--one-third\">\n {showSideBarRelations && (\n <SideBarRelations\n entity={entity}\n formData={formData.values}\n schema={schema}\n onChange={onChangeSideBarRelations}\n />\n )}\n </div>\n </div>\n </div>\n );\n};\n\nEntity.propTypes = {\n entity: PropTypes.object,\n schema: PropTypes.object,\n previousQuery: PropTypes.object,\n action: PropTypes.string.isRequired,\n history: PropTypes.object.isRequired,\n formData: PropTypes.object,\n updateFormData: PropTypes.func.isRequired,\n onViewUrl: PropTypes.func,\n refetchRecord: PropTypes.func.isRequired\n};\n\nEntity.defaultProps = {\n previousQuery: null,\n schema: null,\n entity: null,\n formData: null,\n onViewUrl: null\n};\n\nexport default withRouter(Entity);\n"],"mappings":";;;;;AAAA;AACA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,EAAEC,MAAM,QAAQ,OAAO;AAC1D,SAASC,UAAU,EAAEC,MAAM,QAAQ,kBAAkB;AACrD,SAASC,eAAe,QAAQ,gBAAgB;AAChD,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,QAAQ,EAAEC,kBAAkB,QAAQ,2BAA2B;AACxE,SAASC,WAAW,EAAEC,eAAe,QAAQ,+BAA+B;AAC5E,SAASC,YAAY,EAAEC,kBAAkB,QAAQ,kBAAkB;AACnE,SAASC,SAAS,QAAQ,sBAAsB;AAChD,OAAOC,SAAS,MAAM,kBAAkB;AACxC,SAASC,WAAW,QAAQ,uBAAuB;AACnD,OAAOC,WAAW,MAAM,wBAAwB;AAChD,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,OAAOC,IAAI,MAAM,YAAY;AAE7B,SACEC,gBAAgB,EAChBC,iBAAiB,EACjBC,kBAAkB,EAClBC,iBAAiB,EACjBC,qBAAqB,EACrBC,8BAA8B,EAC9BC,KAAK,EACLC,iBAAiB,EACjBC,mBAAmB,QACd,oBAAoB;AAC3B,OAAOC,YAAY,MAAM,gBAAgB;AACzC,SACEC,wBAAwB,EACxBC,WAAW,EACXC,cAAc,EACdC,oBAAoB,EACpBC,qBAAqB,QAChB,iBAAiB;AACxB,OAAOC,SAAS,MAAM,gCAAgC;AAEtD,MAAMC,MAAM,GAAG,CAAC;EACdC,QAAQ;EACRC,MAAM;EACNC,MAAM;EACNC,aAAa;EACbC,MAAM;EACNC,OAAO;EACPC,cAAc;EACdC,SAAS;EACTC;AACF,CAAC,KAAK;EAAA;EACJ,MAAM,GAAGC,eAAe,CAAC,GAAG7C,QAAQ,CAAC,IAAI,CAAC;EAC1C,MAAM,CAAC8C,UAAU,EAAEC,aAAa,CAAC,GAAG/C,QAAQ,CAAC,IAAI,CAAC;EAClD,MAAM,CAACgD,YAAY,EAAEC,eAAe,CAAC,GAAGjD,QAAQ,CAAC,IAAI,CAAC;EACtD,MAAM,CAACkD,UAAU,EAAEC,aAAa,CAAC,GAAGnD,QAAQ,CAAC,IAAI,CAAC;EAClD,MAAM,CAACoD,gBAAgB,EAAEC,mBAAmB,CAAC,GAAGrD,QAAQ,CAAC,IAAI,CAAC;EAC9D,MAAM,CAACsD,SAAS,EAAEC,YAAY,CAAC,GAAGvD,QAAQ,CAAC,EAAE,CAAC;EAC9C,MAAM,CAACwD,qBAAqB,EAAEC,wBAAwB,CAAC,GAAGzD,QAAQ,CAAC,KAAK,CAAC;EACzE,MAAM,CAAC0D,iBAAiB,EAAEC,kBAAkB,CAAC,GAAG3D,QAAQ,CACtDoC,QAAQ,IAAIA,QAAQ,CAACwB,MAAM,IAAIxB,QAAQ,CAACwB,MAAM,CAACC,MAAM,CACtD;EACD,MAAM,CAACC,qBAAqB,EAAEC,sBAAsB,CAAC,GAAG/D,QAAQ,CAAC,KAAK,CAAC;EACvE,MAAM,CAACgE,qBAAqB,EAAEC,sBAAsB,CAAC,GAAGjE,QAAQ,CAAC,KAAK,CAAC;EACvE,MAAM,CAACkE,WAAW,EAAEC,cAAc,CAAC,GAAGjC,SAAS,CAAC,KAAK,CAAC;EACtD,MAAM,CAACkC,eAAe,EAAEC,kBAAkB,CAAC,GAAGnC,SAAS,CAAC,KAAK,CAAC;EAC9D,MAAM,CAACoC,yBAAyB,EAAEC,4BAA4B,CAAC,GAAGvE,QAAQ,CAAC,IAAI,CAAC;EAChF,MAAM,CAACwE,cAAc,EAAEC,iBAAiB,CAAC,GAAGzE,QAAQ,CAAC,KAAK,CAAC;EAC3D,MAAM,CAAC0E,WAAW,EAAEC,cAAc,CAAC,GAAG3E,QAAQ,CAAC,KAAK,CAAC;EACrD,MAAM,CAAC4E,gBAAgB,EAAEC,mBAAmB,CAAC,GAAG7E,QAAQ,CAAC,IAAI,CAAC;EAC9D,MAAM,CAAC8E,cAAc,EAAEC,iBAAiB,CAAC,GAAG/E,QAAQ,CAAC,IAAI,CAAC;EAC1D,MAAM,CAACgF,cAAc,EAAEC,iBAAiB,CAAC,GAAGjF,QAAQ,CAAC0B,iBAAiB,CAACwD,IAAI,CAAC;EAE5E,MAAMC,YAAY,GAAG1C,OAAO,CAAC2C,QAAQ,CAACC,QAAQ,CAACC,QAAQ,CAAC,QAAQ,CAAC;EACjE,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGxF,QAAQ,CAACmF,YAAY,CAAC;EAE5D,MAAMM,MAAM,GAAGrF,eAAe,EAAE;EAChC,MAAMsF,iBAAiB,GACrB,CAACtC,gBAAgB,IACjBnB,qBAAqB,CAACI,MAAM,EAAEC,MAAM,EAAEC,aAAa,EAAE,CAACW,UAAU,CAAC,IAChEA,UAAU,IAAIA,UAAU,CAACyC,EAAE,KAAKtD,MAAM,CAACsD,EAAG;EAC7C,MAAMC,cAAc,GAAG/E,SAAS,CAACuB,QAAQ,CAAC;EAC1C,MAAM;IAAEyD;EAAS,CAAC,GAAGjF,SAAS,EAAE;;EAEhC;EACA,MAAMkF,kBAAkB,GAAG7F,MAAM,CAAC,IAAI,CAAC;EACvCF,SAAS,CACP,MAAM,MAAM;IACV+F,kBAAkB,CAACC,OAAO,GAAG,KAAK;EACpC,CAAC,EACD,EAAE,CACH,CAAC,CAAC;;EAEHhG,SAAS,CACP,MAAM;IACJ,IAAI2F,iBAAiB,EAAE;MACrBT,iBAAiB,CAACvD,iBAAiB,CAACwD,IAAI,CAAC;MACzC/B,aAAa,CAACd,MAAM,CAAC;MACrBkB,YAAY,CAACzC,WAAW,CAACwB,MAAM,CAAC0D,iBAAiB,EAAE3D,MAAM,CAAC,CAAC;MAC3DsB,kBAAkB,CAACtB,MAAM,CAACwB,MAAM,CAAC;MACjCZ,eAAe,CAACX,MAAM,CAAC;MACvByB,sBAAsB,CAACzB,MAAM,CAAC2D,OAAO,CAACC,OAAO,CAAC;MAC9C7C,mBAAmB,CAACf,MAAM,CAAC6D,UAAU,CAAC;MACtClC,sBAAsB,CAAC,CAAC,CAAC3B,MAAM,CAAC8D,UAAU,CAACd,QAAQ,CAAChE,iBAAiB,CAAC,CAAC;IACzE;IAEA,IAAIc,QAAQ,IAAIkC,yBAAyB,EAAE;MACzC,MAAM+B,wBAAwB,GAAG,CAAC,CAACjE,QAAQ,CAACwB,MAAM,CAAC0C,qBAAqB;MACxEb,MAAM,CAACc,UAAU,CAAC;QAChBC,KAAK,EAAElG,QAAQ,CAAC,wBAAwB,CAAC;QACzCmG,IAAI,EAAE;UACJC,sBAAsB,EAAEL,wBAAwB;UAChDC,qBAAqB,EAAElE,QAAQ,CAACwB,MAAM,CAAC0C,qBAAqB,IAAI;QAClE;MACF,CAAC,CAAC;IACJ;IACA,IAAIhE,MAAM,EAAE;MACVmD,MAAM,CAACc,UAAU,CAAC;QAChBC,KAAK,EAAElG,QAAQ,CAAC,oBAAoB,CAAC;QACrCmG,IAAI,EAAE;UACJE,aAAa,EAAErE,MAAM,CAACqD;QACxB;MACF,CAAC,CAAC;IACJ;EACF,CAAC,EACD,CACEF,MAAM,EACNpD,MAAM,EACNa,UAAU,EACVd,QAAQ,EACRU,UAAU,EACVwB,yBAAyB,EACzB/B,aAAa,EACbD,MAAM,EACNoD,iBAAiB,CAClB,CACF;EAED,MAAMkB,UAAU,GAAG,YAAY;IAC7B,MAAMJ,KAAK,GAAGlG,QAAQ,CAAC,gBAAgB,CAAC;IACxC,MAAM;MAAEmG,IAAI,EAAE;QAAEI,YAAY,GAAG;MAAG,CAAC,GAAG,CAAC;IAAE,CAAC,GAAG,MAAMpB,MAAM,CAACe,KAAK,CAAC;MAC9DA,KAAK;MACLM,SAAS,EAAE;QAAEC,MAAM,EAAE1E,MAAM,CAACsD,EAAE;QAAEqB,UAAU,EAAE1E,MAAM,CAACqD,EAAE;QAAEsB,OAAO,EAAE;MAAK,CAAC;MACtEC,WAAW,EAAE;IACf,CAAC,CAAC;IACF,OAAOL,YAAY;EACrB,CAAC;EAED,MAAMM,aAAa,GAAGvD,MAAM,IAAI;IAC9B,IAAIkC,kBAAkB,CAACC,OAAO,EAAE;MAC9BhD,aAAa,CAACa,MAAM,CAAC;IACvB;EACF,CAAC;EAED,MAAMwD,wBAAwB,GAAG,CAAC;IAAEzB,EAAE;IAAE0B;EAAM,CAAC,EAAEC,kBAAkB,KAAK;IACtE,MAAMC,iBAAiB,GAAGvF,oBAAoB,CAAC;MAAE2D,EAAE;MAAE0B,KAAK;MAAEC,kBAAkB;MAAExE;IAAW,CAAC,CAAC;IAE7F,MAAM0E,sBAAsB,GAAG3F,wBAAwB,CAAC0F,iBAAiB,EAAED,kBAAkB,CAAC;IAE9F,IAAI5C,WAAW,IAAI8C,sBAAsB,IAAI1B,kBAAkB,CAACC,OAAO,EAAE;MACvEtC,wBAAwB,CAAC,IAAI,CAAC;MAC9BwB,iBAAiB,CAACvD,iBAAiB,CAACwD,IAAI,CAAC;IAC3C,CAAC,MAAM,IAAIY,kBAAkB,CAACC,OAAO,EAAE;MACrCtC,wBAAwB,CAAC,KAAK,CAAC;IACjC;IAEA,IAAIqC,kBAAkB,CAACC,OAAO,EAAE;MAC9BhD,aAAa,CAACwE,iBAAiB,CAAC;IAClC;EACF,CAAC;EAED,MAAME,kBAAkB,GAAG,cAQrB;IAAA,IAR4B;QAChCC,OAAO;QACPC,MAAM;QACNC,aAAa;QACbC,aAAa;QACbC,YAAY;QACZT,KAAK,EAAEU;MAET,CAAC;MADIC,UAAU;IAEb,IAAIT,iBAAiB,GAAGM,aAAa,GAAGA,aAAa,CAACI,KAAK,EAAE,GAAG,EAAE;IAClE,IAAIH,YAAY,KAAKtG,8BAA8B,EAAE;MACnD,MAAM8E,qBAAqB,GAAGyB,UAAU;MACxCtC,MAAM,CAACc,UAAU,CAAC;QAChBC,KAAK,EAAElG,QAAQ,CAAC,wBAAwB,CAAC;QACzCmG,IAAI,EAAE;UACJC,sBAAsB,EAAE,CAAC,CAACJ,qBAAqB;UAC/CA;QACF;MACF,CAAC,CAAC;MAEF,IAAIR,kBAAkB,CAACC,OAAO,EAAE;QAC9BxB,4BAA4B,CAAC,KAAK,CAAC;MACrC;MAEA,MAAM2D,WAAW,GAAGX,iBAAiB,CAACY,MAAM,CAC1CC,SAAS,IAAIA,SAAS,CAACzC,EAAE,KAAKpE,qBAAqB,CACpD;MAED,IAAI+E,qBAAqB,EAAE;QACzB,MAAM;UAAEG,IAAI,GAAG,CAAC;QAAE,CAAC,GAAG,MAAMhB,MAAM,CAACe,KAAK,CAAC;UACvCA,KAAK,EAAElG,QAAQ,CAAC,2BAA2B,CAAC;UAC5CwG,SAAS,EAAE;YACTuB,MAAM,EAAE;cACNH,WAAW,EAAEA,WAAW,CAAC,CAAC,CAAC,CAACb,KAAK;cACjCf;YACF,CAAC;YACDlD;UACF;QACF,CAAC,CAAC;QAEF,IAAIqD,IAAI,IAAIA,IAAI,CAAC6B,+BAA+B,EAAE;UAChDf,iBAAiB,GAAGA,iBAAiB,CAACgB,GAAG,CAACC,gBAAgB,IAAI;YAC5D,IAAIA,gBAAgB,CAAC7C,EAAE,KAAKpE,qBAAqB,EAAE;cACjD,uCACKiH,gBAAgB;gBACnBnB,KAAK,EAAEZ,IAAI,CAAC6B;cAA+B;YAE/C;YACA,OAAOE,gBAAgB;UACzB,CAAC,CAAC;QACJ;MACF;IACF;IACA,MAAMC,UAAU,GAAG,EAAE;IACrB,IAAI3F,UAAU,IAAIA,UAAU,CAAC4F,MAAM,GAAGnB,iBAAiB,CAACmB,MAAM,EAAE;MAC9D,CAAC,GAAGnB,iBAAiB,EAAE,GAAGzE,UAAU,CAAC,CAAC6F,OAAO,CAACC,IAAI,IAAI;QACpD,MAAMC,KAAK,GAAGtB,iBAAiB,CAACuB,SAAS,CAACzB,KAAK,IAAIA,KAAK,CAAC1B,EAAE,KAAKiD,IAAI,CAACjD,EAAE,CAAC;QACxE,IAAIkD,KAAK,KAAK,CAAC,CAAC,EAAE;UAChBJ,UAAU,CAACM,IAAI,CAACH,IAAI,CAAC;QACvB;MACF,CAAC,CAAC;IACJ;IAEA,MAAM,CAACI,aAAa,GAAG,IAAI,CAAC,GAAGrB,MAAM,CAACQ,MAAM,CAAC,CAAC;MAAExC;IAAG,CAAC,KAAKA,EAAE,KAAK,MAAM,CAAC;IACvEqD,aAAa,IAAIzF,YAAY,CAACyF,aAAa,CAAC3B,KAAK,CAAC;IAElD,MAAM4B,qBAAqB,GAAGvB,OAAO,IAAIE,aAAa;IACtD,MAAMsB,0BAA0B,GAAG,CAACxB,OAAO,IAAI,CAACE,aAAa;IAC7D,IAAI9B,kBAAkB,CAACC,OAAO,EAAE;MAC9BpB,cAAc,CAAC+C,OAAO,CAAC;IACzB;IACA,IAAIuB,qBAAqB,IAAInD,kBAAkB,CAACC,OAAO,EAAE;MACvDtC,wBAAwB,CAAC,IAAI,CAAC;MAC9BwB,iBAAiB,CAACvD,iBAAiB,CAACwD,IAAI,CAAC;IAC3C;IAEA,IAAIgE,0BAA0B,IAAIpD,kBAAkB,CAACC,OAAO,EAAE;MAC5DtC,wBAAwB,CAAC,KAAK,CAAC;IACjC;IAEA,IAAIqC,kBAAkB,CAACC,OAAO,EAAE;MAC9BhD,aAAa,CAAC,CAAC,GAAGwE,iBAAiB,EAAE,GAAGkB,UAAU,CAAC,CAAC;IACtD;EACF,CAAC;EAED,MAAMU,QAAQ,GAAGC,KAAK,IAAI;IACxBA,KAAK,IAAIA,KAAK,CAACC,cAAc,EAAE;IAE/B,IAAI,CAAC7F,qBAAqB,EAAE,OAAO,IAAI;IACvC,MAAM8F,gBAAgB,GAAG7I,eAAe,CAACqC,UAAU,CAAC;IAEpD,MAAMyE,iBAAiB,GAAGzC,cAAc,mCAC/B1C,QAAQ,CAACwB,MAAM;MAAE2F,MAAM,EAAEzE;IAAc,uBACvC1C,QAAQ,CAACwB,MAAM,CAAE;IAE1B,MAAM4F,oBAAoB,GAAG,MAC3B9G,cAAc,CACZ;MACEkB,MAAM,kCAAO2D,iBAAiB,GAAK+B,gBAAgB;IACrD,CAAC,EACD,IAAI,CACL;IAEH,MAAMG,YAAY,GAAG;MACnBF,MAAM,EAAE;QACNvG,YAAY;QACZE,UAAU;QACVoG,gBAAgB;QAChB7D,MAAM;QACNhC,wBAAwB;QACxBsB,iBAAiB;QACjBD,cAAc;QACdvC,aAAa;QACb0C,iBAAiB;QACjBuE;MACF,CAAC;MACDE,MAAM,EAAE;QACN1G,YAAY;QACZsG,gBAAgB;QAChB7D,MAAM;QACNtC,aAAa;QACbM,wBAAwB;QACxBhB,OAAO;QACP+C,cAAc;QACdP,iBAAiB;QACjBuE;MACF;IACF,CAAC;IAED,MAAMG,aAAa,GAAGF,YAAY,CAACjH,MAAM,CAAC;IAC1C,OAAOxB,gBAAgB,CAACwB,MAAM,CAAC,CAACoH,MAAM,CAACD,aAAa,EAAE9D,QAAQ,CAAC;EACjE,CAAC;EAED,MAAMgE,QAAQ,GAAG,YAAY;IAC3B,MAAM;MACJjG,MAAM,EAAE;QAAE+B;MAAG;IACf,CAAC,GAAGvD,QAAQ;IAEZ,IAAI0D,kBAAkB,CAACC,OAAO,EAAE;MAC9BtC,wBAAwB,CAAC,KAAK,CAAC;IACjC;IAEA,MAAMzC,gBAAgB,CAAC8I,MAAM,CAACF,MAAM,CAClC;MACE5G,YAAY;MACZyC,MAAM;MACN6D,gBAAgB,EAAE;QAAE3D;MAAG;IACzB,CAAC,EACDE,QAAQ,CACT;IAEDpD,OAAO,CAACsG,IAAI,CAAE,iBAAgB/F,YAAY,CAAC2C,EAAG,EAAC,CAAC;EAClD,CAAC;EAED,MAAMoE,MAAM,GAAG,MAAM;IACnB,IAAInF,gBAAgB,IAAIkB,kBAAkB,CAACC,OAAO,EAAE;MAClDrD,cAAc,CAACkC,gBAAgB,CAAC;MAChCH,iBAAiB,CAAC,IAAI,CAAC;MACvBhB,wBAAwB,CAAC,IAAI,CAAC;MAC9BwB,iBAAiB,CAACvD,iBAAiB,CAACwD,IAAI,CAAC;MACzC,IAAIN,gBAAgB,CAAChB,MAAM,CAACoG,IAAI,EAAE;QAChCzG,YAAY,CAACqB,gBAAgB,CAAChB,MAAM,CAACoG,IAAI,CAAC;MAC5C;IACF;EACF,CAAC;EAED,MAAMC,cAAc,GAAG,MAAM;IAC3B5F,kBAAkB,CAAC,CAACD,eAAe,CAAC;IACpCK,iBAAiB,CAAC,KAAK,CAAC;EAC1B,CAAC;EAED,MAAMyF,uBAAuB,GAAG,MAAM;IACpC7F,kBAAkB,CAAC,KAAK,CAAC;IACzBQ,mBAAmB,CAAC,IAAI,CAAC;EAC3B,CAAC;EAED,MAAMsF,WAAW,GAAGC,cAAc,IAAI;IACpC,MAAMC,eAAe,GAAG;MACtBzG,MAAM,oBAAOwG,cAAc;IAC7B,CAAC;IACDvF,mBAAmB,CAACwF,eAAe,CAAC;EACtC,CAAC;EAED,MAAMC,yBAAyB,GAAG,OAAO;IAAEC,MAAM,EAAE;MAAEC;IAAY;EAAE,CAAC,KAAK;IACvE,MAAMC,eAAe,GAAGD,WAAW,KAAKpJ,iBAAiB;IACzD,MAAMsJ,WAAW,GAAGhH,iBAAiB,KAAKvC,gBAAgB;IAE1D,MAAMwJ,WAAW,GAAG1I,qBAAqB,CAAC,CAACwI,eAAe,EAAE,CAACC,WAAW,CAAC;IAEzE,IAAIC,WAAW,EAAE;MACf,OAAO9E,QAAQ,CAAClE,mBAAmB,EAAE;QACnCiJ,UAAU,EAAE,SAAS;QACrBC,WAAW,EAAE;MACf,CAAC,CAAC;IACJ;IAEA,IAAI5I,qBAAqB,CAACwI,eAAe,EAAEjH,qBAAqB,CAAC,EAAE;MACjE,MAAMsH,gBAAgB,GAAG,MAAM3B,QAAQ,EAAE;MAEzC,IAAI2B,gBAAgB,KAAKrJ,KAAK,EAAE;QAC9B,OAAOoE,QAAQ,CAAE,uBAAsB,EAAE;UACvC+E,UAAU,EAAEnJ,KAAK;UACjBoJ,WAAW,EAAE;QACf,CAAC,CAAC;MACJ;IACF;IAEA,OAAO7J,gBAAgB,CAAC+J,MAAM,CAACC,cAAc,CAC3C;MACE9H,UAAU;MACVuC,MAAM;MACN9B,kBAAkB;MAClBX,YAAY;MACZwH,WAAW;MACX5H;IACF,CAAC,EACDiD,QAAQ,CACT;EACH,CAAC;EAED,MAAMoF,SAAS,GAAGhJ,qBAAqB,CAACG,QAAQ,EAAE8B,WAAW,CAAC;EAE9D,MAAMgH,gBAAgB,GAAGpJ,WAAW,CAACM,QAAQ,EAAEC,MAAM,EAAEC,MAAM,EAAEoB,iBAAiB,CAAC,GAC7E,MAAM3B,cAAc,CAAC6E,UAAU,CAAC,GAChCjE,SAAS;EAEb,MAAMwI,QAAQ,GAAG/I,QAAQ,IAAIA,QAAQ,CAACwB,MAAM,IAAIxB,QAAQ,CAACwB,MAAM,CAACoG,IAAI;EAEpE,MAAMoB,gBAAgB,GAAGnJ,qBAAqB,CAACsD,WAAW,EAAE,CAACxE,WAAW,CAAC+B,UAAU,CAAC,CAAC;EACrF,MAAMuI,kBAAkB,GAAG7H,qBAAqB,IAAI4H,gBAAgB;EAEpE,MAAME,oBAAoB,GAAGrJ,qBAAqB,CAACK,MAAM,EAAEF,QAAQ,CAAC;EACpE,MAAMmJ,mBAAmB,GACvB,CAAAjJ,MAAM,aAANA,MAAM,6CAANA,MAAM,CAAE8D,UAAU,uDAAlB,mBAAoBd,QAAQ,CAAC,oCAAoC,CAAC,MAClEhD,MAAM,aAANA,MAAM,8CAANA,MAAM,CAAE8D,UAAU,wDAAlB,oBAAoBd,QAAQ,CAAC,2BAA2B,CAAC;EAE3D,oBACE;IAAK,SAAS,EAAC;EAAM,gBACnB,oBAAC,MAAM;IAAC,IAAI,EAAE+F,kBAAmB;IAAC,OAAO,EAAEhK;EAAmB,EAAG,EAChE4J,SAAS,iBACR,oBAAC,YAAY;IACX,OAAO,EAAE9G,cAAe;IACxB,YAAY,EAAE0F,QAAS;IACvB,QAAQ,EAAEzH,QAAQ,CAACwB,MAAM,CAACoG;EAAK,EAElC,EACA5F,eAAe,iBACd,oBAAC,kBAAkB;IACjB,OAAO,EAAE8F,uBAAwB;IACjC,UAAU,EAAEH,MAAO;IACnB,WAAW,EAAEI;EAAY,EAE5B,eAED;IAAK,SAAS,EAAC;EAAsB,gBACnC;IAAK,SAAS,EAAC;EAA+B,gBAC5C,oBAAC,YAAY;IACX,UAAU,EAAEjH,UAAW;IACvB,gBAAgB,EAAEE,gBAAiB;IACnC,SAAS,EAAEE,SAAU;IACrB,QAAQ,EAAE6H,QAAS;IACnB,QAAQ,EAAEhC,QAAS;IACnB,yBAAyB,EAAEmB,yBAA0B;IACrD,qBAAqB,EAAE9G,qBAAsB;IAC7C,qBAAqB,EAAEM,qBAAsB;IAC7C,qBAAqB,EAAEE,qBAAsB;IAC7C,eAAe,EAAEK,kBAAmB;IACpC,WAAW,EAAEF,cAAe;IAC5B,QAAQ,EAAE/B,QAAS;IACnB,SAAS,EAAE8I,gBAAiB;IAC5B,cAAc,EAAElG;EAAe,EAC/B,eAEF;IAAK,SAAS,EAAC;EAAe,gBAC5B;IAAK,SAAS,EAAC;EAAS,gBACtB,oBAAC,IAAI;IACH,OAAO,EAAEuG,mBAAoB;IAC7B,WAAW,EAAEC,KAAK,IAAI;MACpB/F,MAAM,CAACc,UAAU,CAAC;QAChBC,KAAK,EAAEjG,kBAAkB;QACzBkG,IAAI,EAAE;UAAEgF,YAAY,EAAED;QAAM;MAC9B,CAAC,CAAC;MACF3I,eAAe,CAAC2I,KAAK,CAAC;IACxB;EAAE,gBACF,oBAAC,WAAW;IACV,cAAc,EAAE7G,cAAe;IAC/B,aAAa,EAAEwC,aAAc;IAC7B,MAAM,EAAE7E,MAAO;IACf,IAAI,EAAEsD,cAAe;IACrB,QAAQ,EAAE6B,kBAAmB;IAC7B,cAAc,EAAEjD,cAAe;IAC/B,cAAc,EAAEyF,cAAe;IAC/B,UAAU,EAAEnH,UAAW;IACvB,WAAW,EAAEyC;EAAY,EACzB,CACG,CACH,CACF,CACF,eACN;IAAK,SAAS,EAAC;EAA0B,GACtC+F,oBAAoB,iBACnB,oBAAC,gBAAgB;IACf,MAAM,EAAEjJ,MAAO;IACf,QAAQ,EAAED,QAAQ,CAACwB,MAAO;IAC1B,MAAM,EAAEtB,MAAO;IACf,QAAQ,EAAE8E;EAAyB,EAEtC,CACG,CACF,CACF;AAEV,CAAC;AAEDjF,MAAM,CAACuJ,SAAS,GAAG;EACjBrJ,MAAM,EAAEhC,SAAS,CAACsL,MAAM;EACxBrJ,MAAM,EAAEjC,SAAS,CAACsL,MAAM;EACxBpJ,aAAa,EAAElC,SAAS,CAACsL,MAAM;EAC/BnJ,MAAM,EAAEnC,SAAS,CAACuL,MAAM,CAACC,UAAU;EACnCpJ,OAAO,EAAEpC,SAAS,CAACsL,MAAM,CAACE,UAAU;EACpCzJ,QAAQ,EAAE/B,SAAS,CAACsL,MAAM;EAC1BjJ,cAAc,EAAErC,SAAS,CAACyL,IAAI,CAACD,UAAU;EACzClJ,SAAS,EAAEtC,SAAS,CAACyL,IAAI;EACzBlJ,aAAa,EAAEvC,SAAS,CAACyL,IAAI,CAACD;AAChC,CAAC;AAED1J,MAAM,CAAC4J,YAAY,GAAG;EACpBxJ,aAAa,EAAE,IAAI;EACnBD,MAAM,EAAE,IAAI;EACZD,MAAM,EAAE,IAAI;EACZD,QAAQ,EAAE,IAAI;EACdO,SAAS,EAAE;AACb,CAAC;AAED,eAAezC,UAAU,CAACiC,MAAM,CAAC"}
@@ -5,7 +5,6 @@ import More from '@blaze-react/more';
5
5
  import PropTypes from 'prop-types';
6
6
  import HeaderPreviewButton from './HeaderPreviewButton';
7
7
  import { SAVE_BUTTON_TEXTS } from '../../../../constants';
8
-
9
8
  const EntityHeader = ({
10
9
  saveButtonText,
11
10
  entityData,
@@ -62,7 +61,6 @@ const EntityHeader = ({
62
61
  onClick: toggleModal
63
62
  }, "Delete")))));
64
63
  };
65
-
66
64
  EntityHeader.propTypes = {
67
65
  entityData: PropTypes.object,
68
66
  entityIdentifier: PropTypes.string,
@@ -1 +1 @@
1
- {"version":3,"file":"EntityHeader.js","names":["React","PageHeader","Button","More","PropTypes","HeaderPreviewButton","SAVE_BUTTON_TEXTS","EntityHeader","saveButtonText","entityData","entityIdentifier","pageTitle","onSubmit","handlePublishAndUnpublish","isSaveButtonAvailable","isEnablePublishButton","isEnablePreviewButton","toggleCopyModal","toggleModal","formData","pageName","onViewUrl","SaveButtonModifiers","showPreviewButton","id","shouldDisableMoreMenu","saving","Object","keys","values","length","propTypes","object","string","isRequired","func","bool","oneOfType","defaultProps","displayName"],"sources":["../../../../../src/components/EntityManager/Entity/EntityHeader/EntityHeader.js"],"sourcesContent":["import React from 'react';\nimport { PageHeader } from '@blaze-cms/admin';\nimport Button from '@blaze-react/button';\nimport More from '@blaze-react/more';\nimport PropTypes from 'prop-types';\nimport HeaderPreviewButton from './HeaderPreviewButton';\nimport { SAVE_BUTTON_TEXTS } from '../../../../constants';\n\nconst EntityHeader = ({\n saveButtonText,\n entityData,\n entityIdentifier,\n pageTitle,\n onSubmit,\n handlePublishAndUnpublish,\n isSaveButtonAvailable,\n isEnablePublishButton,\n isEnablePreviewButton,\n toggleCopyModal,\n toggleModal,\n formData,\n pageName,\n onViewUrl\n}) => {\n const SaveButtonModifiers = isSaveButtonAvailable ? ['small'] : ['small', 'disabled'];\n const showPreviewButton = isEnablePreviewButton && entityIdentifier && entityData.id;\n const shouldDisableMoreMenu = saveButtonText === SAVE_BUTTON_TEXTS.saving;\n\n return (\n <PageHeader title={pageTitle} pageName={pageName} onViewUrl={onViewUrl}>\n <PageHeader.Actions>\n <Button onClick={onSubmit} modifiers={SaveButtonModifiers} data-testid=\"button-save\">\n {saveButtonText}\n </Button>\n <More disabled={shouldDisableMoreMenu}>\n <More.Avatar data-testid={`entity-header-${pageName}`} isMoreMenu>\n <span className=\"material-icons\">more_vert</span>\n </More.Avatar>\n <More.Content isMoreMenu>\n {isEnablePublishButton && (\n <Button className=\"more-menu__link\" onClick={handlePublishAndUnpublish}>\n Publish\n </Button>\n )}\n {isEnablePublishButton && (\n <Button className=\"more-menu__link\" onClick={handlePublishAndUnpublish}>\n Unpublish\n </Button>\n )}\n {showPreviewButton && (\n <HeaderPreviewButton itemId={entityData.id} itemEntity={entityIdentifier} />\n )}\n <Button className=\"more-menu__link\" onClick={toggleCopyModal}>\n Copy data from\n </Button>\n {onViewUrl && (\n <Button className=\"more-menu__link\" onClick={onViewUrl}>\n View\n </Button>\n )}\n {formData &&\n Object.keys(formData.values).length !== 0 && (\n <Button className=\"more-menu__link\" onClick={toggleModal}>\n Delete\n </Button>\n )}\n </More.Content>\n </More>\n </PageHeader.Actions>\n </PageHeader>\n );\n};\n\nEntityHeader.propTypes = {\n entityData: PropTypes.object,\n entityIdentifier: PropTypes.string,\n pageTitle: PropTypes.string.isRequired,\n pageName: PropTypes.string,\n onSubmit: PropTypes.func.isRequired,\n handlePublishAndUnpublish: PropTypes.func.isRequired,\n isSaveButtonAvailable: PropTypes.bool.isRequired,\n isEnablePublishButton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]).isRequired,\n isEnablePreviewButton: PropTypes.bool.isRequired,\n toggleCopyModal: PropTypes.func.isRequired,\n toggleModal: PropTypes.func.isRequired,\n formData: PropTypes.object,\n onViewUrl: PropTypes.func.isRequired,\n saveButtonText: PropTypes.string\n};\n\nEntityHeader.defaultProps = {\n entityData: {},\n entityIdentifier: '',\n formData: null,\n pageName: '',\n saveButtonText: 'save'\n};\n\nEntityHeader.displayName = 'EntityHeader';\n\nexport default EntityHeader;\n"],"mappings":"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"}
1
+ {"version":3,"file":"EntityHeader.js","names":["React","PageHeader","Button","More","PropTypes","HeaderPreviewButton","SAVE_BUTTON_TEXTS","EntityHeader","saveButtonText","entityData","entityIdentifier","pageTitle","onSubmit","handlePublishAndUnpublish","isSaveButtonAvailable","isEnablePublishButton","isEnablePreviewButton","toggleCopyModal","toggleModal","formData","pageName","onViewUrl","SaveButtonModifiers","showPreviewButton","id","shouldDisableMoreMenu","saving","Object","keys","values","length","propTypes","object","string","isRequired","func","bool","oneOfType","defaultProps","displayName"],"sources":["../../../../../src/components/EntityManager/Entity/EntityHeader/EntityHeader.js"],"sourcesContent":["import React from 'react';\nimport { PageHeader } from '@blaze-cms/admin';\nimport Button from '@blaze-react/button';\nimport More from '@blaze-react/more';\nimport PropTypes from 'prop-types';\nimport HeaderPreviewButton from './HeaderPreviewButton';\nimport { SAVE_BUTTON_TEXTS } from '../../../../constants';\n\nconst EntityHeader = ({\n saveButtonText,\n entityData,\n entityIdentifier,\n pageTitle,\n onSubmit,\n handlePublishAndUnpublish,\n isSaveButtonAvailable,\n isEnablePublishButton,\n isEnablePreviewButton,\n toggleCopyModal,\n toggleModal,\n formData,\n pageName,\n onViewUrl\n}) => {\n const SaveButtonModifiers = isSaveButtonAvailable ? ['small'] : ['small', 'disabled'];\n const showPreviewButton = isEnablePreviewButton && entityIdentifier && entityData.id;\n const shouldDisableMoreMenu = saveButtonText === SAVE_BUTTON_TEXTS.saving;\n\n return (\n <PageHeader title={pageTitle} pageName={pageName} onViewUrl={onViewUrl}>\n <PageHeader.Actions>\n <Button onClick={onSubmit} modifiers={SaveButtonModifiers} data-testid=\"button-save\">\n {saveButtonText}\n </Button>\n <More disabled={shouldDisableMoreMenu}>\n <More.Avatar data-testid={`entity-header-${pageName}`} isMoreMenu>\n <span className=\"material-icons\">more_vert</span>\n </More.Avatar>\n <More.Content isMoreMenu>\n {isEnablePublishButton && (\n <Button className=\"more-menu__link\" onClick={handlePublishAndUnpublish}>\n Publish\n </Button>\n )}\n {isEnablePublishButton && (\n <Button className=\"more-menu__link\" onClick={handlePublishAndUnpublish}>\n Unpublish\n </Button>\n )}\n {showPreviewButton && (\n <HeaderPreviewButton itemId={entityData.id} itemEntity={entityIdentifier} />\n )}\n <Button className=\"more-menu__link\" onClick={toggleCopyModal}>\n Copy data from\n </Button>\n {onViewUrl && (\n <Button className=\"more-menu__link\" onClick={onViewUrl}>\n View\n </Button>\n )}\n {formData &&\n Object.keys(formData.values).length !== 0 && (\n <Button className=\"more-menu__link\" onClick={toggleModal}>\n Delete\n </Button>\n )}\n </More.Content>\n </More>\n </PageHeader.Actions>\n </PageHeader>\n );\n};\n\nEntityHeader.propTypes = {\n entityData: PropTypes.object,\n entityIdentifier: PropTypes.string,\n pageTitle: PropTypes.string.isRequired,\n pageName: PropTypes.string,\n onSubmit: PropTypes.func.isRequired,\n handlePublishAndUnpublish: PropTypes.func.isRequired,\n isSaveButtonAvailable: PropTypes.bool.isRequired,\n isEnablePublishButton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]).isRequired,\n isEnablePreviewButton: PropTypes.bool.isRequired,\n toggleCopyModal: PropTypes.func.isRequired,\n toggleModal: PropTypes.func.isRequired,\n formData: PropTypes.object,\n onViewUrl: PropTypes.func.isRequired,\n saveButtonText: PropTypes.string\n};\n\nEntityHeader.defaultProps = {\n entityData: {},\n entityIdentifier: '',\n formData: null,\n pageName: '',\n saveButtonText: 'save'\n};\n\nEntityHeader.displayName = 'EntityHeader';\n\nexport default EntityHeader;\n"],"mappings":"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"}
@@ -3,14 +3,12 @@ import PropTypes from 'prop-types';
3
3
  import Button from '@blaze-react/button';
4
4
  import { useMutation } from '@apollo/client';
5
5
  import { getMutation } from '@blaze-cms/admin-ui-utils';
6
-
7
6
  const HeaderPreviewButton = ({
8
7
  itemId,
9
8
  itemEntity
10
9
  }) => {
11
10
  const [createPreviewToken] = useMutation(getMutation('PREVIEW_TOKEN_MUTATION'));
12
11
  if (process.env.BLAZE_DISABLE_PREVIEW) return null;
13
-
14
12
  const onViewPreview = async () => {
15
13
  try {
16
14
  const {
@@ -27,16 +25,15 @@ const HeaderPreviewButton = ({
27
25
  itemEntity
28
26
  }
29
27
  });
30
- if (url) window.open(url, '_blank'); // eslint-disable-next-line no-empty
28
+ if (url) window.open(url, '_blank');
29
+ // eslint-disable-next-line no-empty
31
30
  } catch (err) {}
32
31
  };
33
-
34
32
  return /*#__PURE__*/React.createElement(Button, {
35
33
  className: "more-menu__link",
36
34
  onClick: onViewPreview
37
35
  }, "Preview");
38
36
  };
39
-
40
37
  HeaderPreviewButton.propTypes = {
41
38
  itemId: PropTypes.string.isRequired,
42
39
  itemEntity: PropTypes.string.isRequired
@@ -1 +1 @@
1
- {"version":3,"file":"HeaderPreviewButton.js","names":["React","PropTypes","Button","useMutation","getMutation","HeaderPreviewButton","itemId","itemEntity","createPreviewToken","process","env","BLAZE_DISABLE_PREVIEW","onViewPreview","data","result","url","variables","window","open","err","propTypes","string","isRequired"],"sources":["../../../../../../src/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/HeaderPreviewButton.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '@blaze-react/button';\nimport { useMutation } from '@apollo/client';\nimport { getMutation } from '@blaze-cms/admin-ui-utils';\n\nconst HeaderPreviewButton = ({ itemId, itemEntity }) => {\n const [createPreviewToken] = useMutation(getMutation('PREVIEW_TOKEN_MUTATION'));\n if (process.env.BLAZE_DISABLE_PREVIEW) return null;\n\n const onViewPreview = async () => {\n try {\n const {\n data: {\n createPreviewToken: {\n result: { url }\n }\n } = {}\n } = await createPreviewToken({\n variables: {\n itemId,\n itemEntity\n }\n });\n\n if (url) window.open(url, '_blank');\n // eslint-disable-next-line no-empty\n } catch (err) {}\n };\n\n return (\n <Button className=\"more-menu__link\" onClick={onViewPreview}>\n Preview\n </Button>\n );\n};\n\nHeaderPreviewButton.propTypes = {\n itemId: PropTypes.string.isRequired,\n itemEntity: PropTypes.string.isRequired\n};\n\nexport default HeaderPreviewButton;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,MAAP,MAAmB,qBAAnB;AACA,SAASC,WAAT,QAA4B,gBAA5B;AACA,SAASC,WAAT,QAA4B,2BAA5B;;AAEA,MAAMC,mBAAmB,GAAG,CAAC;EAAEC,MAAF;EAAUC;AAAV,CAAD,KAA4B;EACtD,MAAM,CAACC,kBAAD,IAAuBL,WAAW,CAACC,WAAW,CAAC,wBAAD,CAAZ,CAAxC;EACA,IAAIK,OAAO,CAACC,GAAR,CAAYC,qBAAhB,EAAuC,OAAO,IAAP;;EAEvC,MAAMC,aAAa,GAAG,YAAY;IAChC,IAAI;MACF,MAAM;QACJC,IAAI,EAAE;UACJL,kBAAkB,EAAE;YAClBM,MAAM,EAAE;cAAEC;YAAF;UADU;QADhB,IAIF;MALA,IAMF,MAAMP,kBAAkB,CAAC;QAC3BQ,SAAS,EAAE;UACTV,MADS;UAETC;QAFS;MADgB,CAAD,CAN5B;MAaA,IAAIQ,GAAJ,EAASE,MAAM,CAACC,IAAP,CAAYH,GAAZ,EAAiB,QAAjB,EAdP,CAeF;IACD,CAhBD,CAgBE,OAAOI,GAAP,EAAY,CAAE;EACjB,CAlBD;;EAoBA,oBACE,oBAAC,MAAD;IAAQ,SAAS,EAAC,iBAAlB;IAAoC,OAAO,EAAEP;EAA7C,aADF;AAKD,CA7BD;;AA+BAP,mBAAmB,CAACe,SAApB,GAAgC;EAC9Bd,MAAM,EAAEL,SAAS,CAACoB,MAAV,CAAiBC,UADK;EAE9Bf,UAAU,EAAEN,SAAS,CAACoB,MAAV,CAAiBC;AAFC,CAAhC;AAKA,eAAejB,mBAAf"}
1
+ {"version":3,"file":"HeaderPreviewButton.js","names":["React","PropTypes","Button","useMutation","getMutation","HeaderPreviewButton","itemId","itemEntity","createPreviewToken","process","env","BLAZE_DISABLE_PREVIEW","onViewPreview","data","result","url","variables","window","open","err","propTypes","string","isRequired"],"sources":["../../../../../../src/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/HeaderPreviewButton.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '@blaze-react/button';\nimport { useMutation } from '@apollo/client';\nimport { getMutation } from '@blaze-cms/admin-ui-utils';\n\nconst HeaderPreviewButton = ({ itemId, itemEntity }) => {\n const [createPreviewToken] = useMutation(getMutation('PREVIEW_TOKEN_MUTATION'));\n if (process.env.BLAZE_DISABLE_PREVIEW) return null;\n\n const onViewPreview = async () => {\n try {\n const {\n data: {\n createPreviewToken: {\n result: { url }\n }\n } = {}\n } = await createPreviewToken({\n variables: {\n itemId,\n itemEntity\n }\n });\n\n if (url) window.open(url, '_blank');\n // eslint-disable-next-line no-empty\n } catch (err) {}\n };\n\n return (\n <Button className=\"more-menu__link\" onClick={onViewPreview}>\n Preview\n </Button>\n );\n};\n\nHeaderPreviewButton.propTypes = {\n itemId: PropTypes.string.isRequired,\n itemEntity: PropTypes.string.isRequired\n};\n\nexport default HeaderPreviewButton;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,MAAM,MAAM,qBAAqB;AACxC,SAASC,WAAW,QAAQ,gBAAgB;AAC5C,SAASC,WAAW,QAAQ,2BAA2B;AAEvD,MAAMC,mBAAmB,GAAG,CAAC;EAAEC,MAAM;EAAEC;AAAW,CAAC,KAAK;EACtD,MAAM,CAACC,kBAAkB,CAAC,GAAGL,WAAW,CAACC,WAAW,CAAC,wBAAwB,CAAC,CAAC;EAC/E,IAAIK,OAAO,CAACC,GAAG,CAACC,qBAAqB,EAAE,OAAO,IAAI;EAElD,MAAMC,aAAa,GAAG,YAAY;IAChC,IAAI;MACF,MAAM;QACJC,IAAI,EAAE;UACJL,kBAAkB,EAAE;YAClBM,MAAM,EAAE;cAAEC;YAAI;UAChB;QACF,CAAC,GAAG,CAAC;MACP,CAAC,GAAG,MAAMP,kBAAkB,CAAC;QAC3BQ,SAAS,EAAE;UACTV,MAAM;UACNC;QACF;MACF,CAAC,CAAC;MAEF,IAAIQ,GAAG,EAAEE,MAAM,CAACC,IAAI,CAACH,GAAG,EAAE,QAAQ,CAAC;MACnC;IACF,CAAC,CAAC,OAAOI,GAAG,EAAE,CAAC;EACjB,CAAC;EAED,oBACE,oBAAC,MAAM;IAAC,SAAS,EAAC,iBAAiB;IAAC,OAAO,EAAEP;EAAc,aAElD;AAEb,CAAC;AAEDP,mBAAmB,CAACe,SAAS,GAAG;EAC9Bd,MAAM,EAAEL,SAAS,CAACoB,MAAM,CAACC,UAAU;EACnCf,UAAU,EAAEN,SAAS,CAACoB,MAAM,CAACC;AAC/B,CAAC;AAED,eAAejB,mBAAmB"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["HeaderPreviewButton"],"sources":["../../../../../../src/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/index.js"],"sourcesContent":["import HeaderPreviewButton from './HeaderPreviewButton';\n\nexport default HeaderPreviewButton;\n"],"mappings":"AAAA,OAAOA,mBAAP,MAAgC,uBAAhC;AAEA,eAAeA,mBAAf"}
1
+ {"version":3,"file":"index.js","names":["HeaderPreviewButton"],"sources":["../../../../../../src/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/index.js"],"sourcesContent":["import HeaderPreviewButton from './HeaderPreviewButton';\n\nexport default HeaderPreviewButton;\n"],"mappings":"AAAA,OAAOA,mBAAmB,MAAM,uBAAuB;AAEvD,eAAeA,mBAAmB"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["EntityHeader"],"sources":["../../../../../src/components/EntityManager/Entity/EntityHeader/index.js"],"sourcesContent":["import EntityHeader from './EntityHeader';\n\nexport default EntityHeader;\n"],"mappings":"AAAA,OAAOA,YAAP,MAAyB,gBAAzB;AAEA,eAAeA,YAAf"}
1
+ {"version":3,"file":"index.js","names":["EntityHeader"],"sources":["../../../../../src/components/EntityManager/Entity/EntityHeader/index.js"],"sourcesContent":["import EntityHeader from './EntityHeader';\n\nexport default EntityHeader;\n"],"mappings":"AAAA,OAAOA,YAAY,MAAM,gBAAgB;AAEzC,eAAeA,YAAY"}