@blaze-cms/plugin-data-ui 0.125.0-alpha.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.
- package/CHANGELOG.md +24 -0
- package/lib/components/EntityDataListing/EntityDataListing.js +17 -40
- package/lib/components/EntityDataListing/EntityDataListing.js.map +1 -1
- package/lib/components/EntityDataListing/index.js +0 -4
- package/lib/components/EntityDataListing/index.js.map +1 -1
- package/lib/components/EntityManager/Entity/Entity.js +67 -204
- package/lib/components/EntityManager/Entity/Entity.js.map +1 -1
- package/lib/components/EntityManager/Entity/EntityHeader/EntityHeader.js +13 -28
- package/lib/components/EntityManager/Entity/EntityHeader/EntityHeader.js.map +1 -1
- package/lib/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/HeaderPreviewButton.js +5 -26
- package/lib/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/HeaderPreviewButton.js.map +1 -1
- package/lib/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/index.js +0 -4
- package/lib/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/index.js.map +1 -1
- package/lib/components/EntityManager/Entity/EntityHeader/index.js +0 -4
- package/lib/components/EntityManager/Entity/EntityHeader/index.js.map +1 -1
- package/lib/components/EntityManager/Entity/SideBarRelations/index.js +13 -57
- package/lib/components/EntityManager/Entity/SideBarRelations/index.js.map +1 -1
- package/lib/components/EntityManager/Entity/actions-handlers/create/index.js +0 -3
- package/lib/components/EntityManager/Entity/actions-handlers/create/index.js.map +1 -1
- package/lib/components/EntityManager/Entity/actions-handlers/create/submit.js +0 -16
- package/lib/components/EntityManager/Entity/actions-handlers/create/submit.js.map +1 -1
- package/lib/components/EntityManager/Entity/actions-handlers/delete/delete.js +0 -11
- package/lib/components/EntityManager/Entity/actions-handlers/delete/delete.js.map +1 -1
- package/lib/components/EntityManager/Entity/actions-handlers/delete/index.js +0 -3
- package/lib/components/EntityManager/Entity/actions-handlers/delete/index.js.map +1 -1
- package/lib/components/EntityManager/Entity/actions-handlers/index.js +0 -7
- package/lib/components/EntityManager/Entity/actions-handlers/index.js.map +1 -1
- package/lib/components/EntityManager/Entity/actions-handlers/shared/index.js +0 -3
- package/lib/components/EntityManager/Entity/actions-handlers/shared/index.js.map +1 -1
- package/lib/components/EntityManager/Entity/actions-handlers/shared/publish.js +0 -18
- package/lib/components/EntityManager/Entity/actions-handlers/shared/publish.js.map +1 -1
- package/lib/components/EntityManager/Entity/actions-handlers/update/index.js +0 -3
- package/lib/components/EntityManager/Entity/actions-handlers/update/index.js.map +1 -1
- package/lib/components/EntityManager/Entity/actions-handlers/update/submit.js +0 -25
- package/lib/components/EntityManager/Entity/actions-handlers/update/submit.js.map +1 -1
- package/lib/components/EntityManager/Entity/index.js +0 -4
- package/lib/components/EntityManager/Entity/index.js.map +1 -1
- package/lib/components/EntityManager/EntityManager.js +24 -83
- package/lib/components/EntityManager/EntityManager.js.map +1 -1
- package/lib/components/EntityManager/index.js +0 -4
- package/lib/components/EntityManager/index.js.map +1 -1
- package/lib/components/EntityManager/utils/data-mappers.js +5 -38
- package/lib/components/EntityManager/utils/data-mappers.js.map +1 -1
- package/lib/components/EntityManager/utils/entity.js +3 -38
- package/lib/components/EntityManager/utils/entity.js.map +1 -1
- package/lib/components/EntityManager/utils/entityAvailableActions.js +17 -42
- package/lib/components/EntityManager/utils/entityAvailableActions.js.map +1 -1
- package/lib/components/EntityManager/utils/is-form-empty.js +0 -7
- package/lib/components/EntityManager/utils/is-form-empty.js.map +1 -1
- package/lib/components/EntityManager/utils/query.js +2 -11
- package/lib/components/EntityManager/utils/query.js.map +1 -1
- package/lib/components/ListingTable/ListingTable.js +31 -116
- package/lib/components/ListingTable/ListingTable.js.map +1 -1
- package/lib/components/ListingTable/ListingTableContent/ListingTableContent.js +9 -22
- package/lib/components/ListingTable/ListingTableContent/ListingTableContent.js.map +1 -1
- package/lib/components/ListingTable/ListingTableContent/index.js +0 -4
- package/lib/components/ListingTable/ListingTableContent/index.js.map +1 -1
- package/lib/components/ListingTable/TableActions/TableActions.js +2 -11
- package/lib/components/ListingTable/TableActions/TableActions.js.map +1 -1
- package/lib/components/ListingTable/TableActions/index.js +0 -4
- package/lib/components/ListingTable/TableActions/index.js.map +1 -1
- package/lib/components/ListingTable/index.js +0 -4
- package/lib/components/ListingTable/index.js.map +1 -1
- package/lib/components/ListingTable/mappers/populate-rows.js +13 -49
- package/lib/components/ListingTable/mappers/populate-rows.js.map +1 -1
- package/lib/components/ListingTable/service/index.js +0 -11
- package/lib/components/ListingTable/service/index.js.map +1 -1
- package/lib/components/Tabs/index.js +5 -16
- package/lib/components/Tabs/index.js.map +1 -1
- package/lib/constants.js +0 -1
- package/lib/constants.js.map +1 -1
- package/lib/index.js +0 -29
- package/lib/index.js.map +1 -1
- package/lib/utils/add-content-menu-items.js +2 -17
- package/lib/utils/add-content-menu-items.js.map +1 -1
- package/lib/utils/build-create-entity-mutation.js +0 -12
- package/lib/utils/build-create-entity-mutation.js.map +1 -1
- package/lib/utils/build-delete-entity-mutation.js +0 -10
- package/lib/utils/build-delete-entity-mutation.js.map +1 -1
- package/lib/utils/build-listing-query.js +0 -10
- package/lib/utils/build-listing-query.js.map +1 -1
- package/lib/utils/build-update-data-query.js +0 -12
- package/lib/utils/build-update-data-query.js.map +1 -1
- package/lib/utils/build-update-publish-unpublish-mutation.js +0 -9
- package/lib/utils/build-update-publish-unpublish-mutation.js.map +1 -1
- package/lib/utils/get-default-query-params.js +0 -3
- package/lib/utils/get-default-query-params.js.map +1 -1
- package/lib/utils/hoc/withContext.js +0 -7
- package/lib/utils/hoc/withContext.js.map +1 -1
- package/lib/utils/hooks/useToggle.js +3 -10
- package/lib/utils/hooks/useToggle.js.map +1 -1
- package/lib/utils/index.js +0 -3
- package/lib/utils/index.js.map +1 -1
- package/lib-es/components/EntityDataListing/EntityDataListing.js +0 -2
- package/lib-es/components/EntityDataListing/EntityDataListing.js.map +1 -1
- package/lib-es/components/EntityDataListing/index.js.map +1 -1
- package/lib-es/components/EntityManager/Entity/Entity.js +10 -55
- package/lib-es/components/EntityManager/Entity/Entity.js.map +1 -1
- package/lib-es/components/EntityManager/Entity/EntityHeader/EntityHeader.js +0 -2
- package/lib-es/components/EntityManager/Entity/EntityHeader/EntityHeader.js.map +1 -1
- package/lib-es/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/HeaderPreviewButton.js +2 -5
- package/lib-es/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/HeaderPreviewButton.js.map +1 -1
- package/lib-es/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/index.js.map +1 -1
- package/lib-es/components/EntityManager/Entity/EntityHeader/index.js.map +1 -1
- package/lib-es/components/EntityManager/Entity/SideBarRelations/index.js +0 -3
- package/lib-es/components/EntityManager/Entity/SideBarRelations/index.js.map +1 -1
- package/lib-es/components/EntityManager/Entity/actions-handlers/create/index.js.map +1 -1
- package/lib-es/components/EntityManager/Entity/actions-handlers/create/submit.js +0 -3
- package/lib-es/components/EntityManager/Entity/actions-handlers/create/submit.js.map +1 -1
- package/lib-es/components/EntityManager/Entity/actions-handlers/delete/delete.js +0 -3
- package/lib-es/components/EntityManager/Entity/actions-handlers/delete/delete.js.map +1 -1
- package/lib-es/components/EntityManager/Entity/actions-handlers/delete/index.js.map +1 -1
- package/lib-es/components/EntityManager/Entity/actions-handlers/index.js.map +1 -1
- package/lib-es/components/EntityManager/Entity/actions-handlers/shared/index.js.map +1 -1
- package/lib-es/components/EntityManager/Entity/actions-handlers/shared/publish.js +0 -5
- package/lib-es/components/EntityManager/Entity/actions-handlers/shared/publish.js.map +1 -1
- package/lib-es/components/EntityManager/Entity/actions-handlers/update/index.js.map +1 -1
- package/lib-es/components/EntityManager/Entity/actions-handlers/update/submit.js +0 -6
- package/lib-es/components/EntityManager/Entity/actions-handlers/update/submit.js.map +1 -1
- package/lib-es/components/EntityManager/Entity/index.js.map +1 -1
- package/lib-es/components/EntityManager/EntityManager.js +2 -14
- package/lib-es/components/EntityManager/EntityManager.js.map +1 -1
- package/lib-es/components/EntityManager/index.js.map +1 -1
- package/lib-es/components/EntityManager/utils/data-mappers.js +0 -11
- package/lib-es/components/EntityManager/utils/data-mappers.js.map +1 -1
- package/lib-es/components/EntityManager/utils/entity.js +0 -13
- package/lib-es/components/EntityManager/utils/entity.js.map +1 -1
- package/lib-es/components/EntityManager/utils/entityAvailableActions.js +0 -2
- package/lib-es/components/EntityManager/utils/entityAvailableActions.js.map +1 -1
- package/lib-es/components/EntityManager/utils/is-form-empty.js +0 -2
- package/lib-es/components/EntityManager/utils/is-form-empty.js.map +1 -1
- package/lib-es/components/EntityManager/utils/query.js +2 -4
- package/lib-es/components/EntityManager/utils/query.js.map +1 -1
- package/lib-es/components/ListingTable/ListingTable.js +0 -17
- package/lib-es/components/ListingTable/ListingTable.js.map +1 -1
- package/lib-es/components/ListingTable/ListingTableContent/ListingTableContent.js +0 -2
- package/lib-es/components/ListingTable/ListingTableContent/ListingTableContent.js.map +1 -1
- package/lib-es/components/ListingTable/ListingTableContent/index.js.map +1 -1
- package/lib-es/components/ListingTable/TableActions/TableActions.js +0 -2
- package/lib-es/components/ListingTable/TableActions/TableActions.js.map +1 -1
- package/lib-es/components/ListingTable/TableActions/index.js.map +1 -1
- package/lib-es/components/ListingTable/index.js.map +1 -1
- package/lib-es/components/ListingTable/mappers/populate-rows.js +0 -13
- package/lib-es/components/ListingTable/mappers/populate-rows.js.map +1 -1
- package/lib-es/components/ListingTable/service/index.js +0 -2
- package/lib-es/components/ListingTable/service/index.js.map +1 -1
- package/lib-es/components/Tabs/index.js +0 -2
- package/lib-es/components/Tabs/index.js.map +1 -1
- package/lib-es/constants.js.map +1 -1
- package/lib-es/index.js +2 -6
- package/lib-es/index.js.map +1 -1
- package/lib-es/utils/add-content-menu-items.js +0 -3
- package/lib-es/utils/add-content-menu-items.js.map +1 -1
- package/lib-es/utils/build-create-entity-mutation.js +0 -3
- package/lib-es/utils/build-create-entity-mutation.js.map +1 -1
- package/lib-es/utils/build-delete-entity-mutation.js +0 -3
- package/lib-es/utils/build-delete-entity-mutation.js.map +1 -1
- package/lib-es/utils/build-listing-query.js +0 -3
- package/lib-es/utils/build-listing-query.js.map +1 -1
- package/lib-es/utils/build-update-data-query.js +0 -3
- package/lib-es/utils/build-update-data-query.js.map +1 -1
- package/lib-es/utils/build-update-publish-unpublish-mutation.js +0 -3
- package/lib-es/utils/build-update-publish-unpublish-mutation.js.map +1 -1
- package/lib-es/utils/get-default-query-params.js +0 -1
- package/lib-es/utils/get-default-query-params.js.map +1 -1
- package/lib-es/utils/hoc/withContext.js.map +1 -1
- package/lib-es/utils/hooks/useToggle.js +0 -2
- package/lib-es/utils/hooks/useToggle.js.map +1 -1
- package/lib-es/utils/index.js.map +1 -1
- package/package.json +3 -3
|
@@ -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();
|
|
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
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
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;
|
|
@@ -448,7 +404,6 @@ const Entity = ({
|
|
|
448
404
|
onChange: onChangeSideBarRelations
|
|
449
405
|
}))));
|
|
450
406
|
};
|
|
451
|
-
|
|
452
407
|
Entity.propTypes = {
|
|
453
408
|
entity: PropTypes.object,
|
|
454
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\">\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":"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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":"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"}
|
|
@@ -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":"AAAA,OAAOA,
|
|
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');
|
|
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,
|
|
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"}
|
package/lib-es/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/index.js.map
CHANGED
|
@@ -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,
|
|
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,
|
|
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"}
|
|
@@ -7,7 +7,6 @@ import { formFieldTypes } from '@blaze-cms/react-form-builder';
|
|
|
7
7
|
import Badge from '@blaze-react/badge';
|
|
8
8
|
import { VersionsList } from '@blaze-cms/versioning-ui';
|
|
9
9
|
import { PUBLISHED } from '../../../../constants';
|
|
10
|
-
|
|
11
10
|
const SideBarRelations = ({
|
|
12
11
|
schema,
|
|
13
12
|
onChange,
|
|
@@ -43,7 +42,6 @@ const SideBarRelations = ({
|
|
|
43
42
|
});
|
|
44
43
|
return relationSchema;
|
|
45
44
|
};
|
|
46
|
-
|
|
47
45
|
if (!relationsComponents && schema) {
|
|
48
46
|
const allRelationComponents = await Promise.all(schema.relations.filter(({
|
|
49
47
|
showInForm,
|
|
@@ -90,7 +88,6 @@ const SideBarRelations = ({
|
|
|
90
88
|
onSelect: onChange
|
|
91
89
|
}))));
|
|
92
90
|
};
|
|
93
|
-
|
|
94
91
|
SideBarRelations.propTypes = {
|
|
95
92
|
schema: PropTypes.object.isRequired,
|
|
96
93
|
onChange: PropTypes.func.isRequired,
|