@blaze-cms/plugin-media-ui 0.147.0-rc-eagle.2 → 0.147.0-rc-eagle.4

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 (81) hide show
  1. package/lib/components/CardMedia/CardMedia.js +94 -51
  2. package/lib/components/CardMedia/CardMedia.js.map +1 -1
  3. package/lib/components/EditMediaFile/EditMediaFile.js +24 -40
  4. package/lib/components/EditMediaFile/EditMediaFile.js.map +1 -1
  5. package/lib/components/EditMediaFile/EditMediaFilePage.js +14 -7
  6. package/lib/components/EditMediaFile/EditMediaFilePage.js.map +1 -1
  7. package/lib/components/FileList/useGetFiles/getFiles.js +6 -3
  8. package/lib/components/FileList/useGetFiles/getFiles.js.map +1 -1
  9. package/lib/components/FileList/useGetFiles/useGetFiles.js +7 -2
  10. package/lib/components/FileList/useGetFiles/useGetFiles.js.map +1 -1
  11. package/lib/components/FileList/useGetFilesList/useGetFilesList.js +4 -1
  12. package/lib/components/FileList/useGetFilesList/useGetFilesList.js.map +1 -1
  13. package/lib/components/FilePreview/Image/imageSchema.js +8 -4
  14. package/lib/components/FilePreview/Image/imageSchema.js.map +1 -1
  15. package/lib/components/FilePreview/PDF/schema.js +2 -1
  16. package/lib/components/FilePreview/PDF/schema.js.map +1 -1
  17. package/lib/components/FilePreview/index.js +47 -3
  18. package/lib/components/FilePreview/index.js.map +1 -1
  19. package/lib/components/FilePreview/previewDefault/previewDefaultSchema.js +2 -1
  20. package/lib/components/FilePreview/previewDefault/previewDefaultSchema.js.map +1 -1
  21. package/lib/components/FileUploadAdapter/FileUploadAdapter.js +33 -22
  22. package/lib/components/FileUploadAdapter/FileUploadAdapter.js.map +1 -1
  23. package/lib/components/FilterPanel/FilterPanel.js +43 -125
  24. package/lib/components/FilterPanel/FilterPanel.js.map +1 -1
  25. package/lib/components/FilterPanel/MediaSearchFilter.js +41 -0
  26. package/lib/components/FilterPanel/MediaSearchFilter.js.map +1 -0
  27. package/lib/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js +5 -4
  28. package/lib/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js.map +1 -1
  29. package/lib/components/ListingContainer/ListingContainer.js +4 -1
  30. package/lib/components/ListingContainer/ListingContainer.js.map +1 -1
  31. package/lib/constants.js +2 -1
  32. package/lib/constants.js.map +1 -1
  33. package/lib-es/components/CardMedia/CardMedia.js +96 -53
  34. package/lib-es/components/CardMedia/CardMedia.js.map +1 -1
  35. package/lib-es/components/EditMediaFile/EditMediaFile.js +26 -42
  36. package/lib-es/components/EditMediaFile/EditMediaFile.js.map +1 -1
  37. package/lib-es/components/EditMediaFile/EditMediaFilePage.js +15 -8
  38. package/lib-es/components/EditMediaFile/EditMediaFilePage.js.map +1 -1
  39. package/lib-es/components/FileList/useGetFiles/getFiles.js +6 -3
  40. package/lib-es/components/FileList/useGetFiles/getFiles.js.map +1 -1
  41. package/lib-es/components/FileList/useGetFiles/useGetFiles.js +7 -2
  42. package/lib-es/components/FileList/useGetFiles/useGetFiles.js.map +1 -1
  43. package/lib-es/components/FileList/useGetFilesList/useGetFilesList.js +4 -1
  44. package/lib-es/components/FileList/useGetFilesList/useGetFilesList.js.map +1 -1
  45. package/lib-es/components/FilePreview/Image/imageSchema.js +8 -4
  46. package/lib-es/components/FilePreview/Image/imageSchema.js.map +1 -1
  47. package/lib-es/components/FilePreview/PDF/schema.js +2 -1
  48. package/lib-es/components/FilePreview/PDF/schema.js.map +1 -1
  49. package/lib-es/components/FilePreview/index.js +47 -3
  50. package/lib-es/components/FilePreview/index.js.map +1 -1
  51. package/lib-es/components/FilePreview/previewDefault/previewDefaultSchema.js +2 -1
  52. package/lib-es/components/FilePreview/previewDefault/previewDefaultSchema.js.map +1 -1
  53. package/lib-es/components/FileUploadAdapter/FileUploadAdapter.js +34 -23
  54. package/lib-es/components/FileUploadAdapter/FileUploadAdapter.js.map +1 -1
  55. package/lib-es/components/FilterPanel/FilterPanel.js +43 -123
  56. package/lib-es/components/FilterPanel/FilterPanel.js.map +1 -1
  57. package/lib-es/components/FilterPanel/MediaSearchFilter.js +34 -0
  58. package/lib-es/components/FilterPanel/MediaSearchFilter.js.map +1 -0
  59. package/lib-es/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js +5 -4
  60. package/lib-es/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js.map +1 -1
  61. package/lib-es/components/ListingContainer/ListingContainer.js +4 -1
  62. package/lib-es/components/ListingContainer/ListingContainer.js.map +1 -1
  63. package/lib-es/constants.js +2 -1
  64. package/lib-es/constants.js.map +1 -1
  65. package/package.json +8 -9
  66. package/src/components/CardMedia/CardMedia.js +120 -90
  67. package/src/components/EditMediaFile/EditMediaFile.js +26 -29
  68. package/src/components/EditMediaFile/EditMediaFilePage.js +12 -7
  69. package/src/components/FileList/useGetFiles/getFiles.js +12 -4
  70. package/src/components/FileList/useGetFiles/useGetFiles.js +3 -4
  71. package/src/components/FileList/useGetFilesList/useGetFilesList.js +2 -1
  72. package/src/components/FilePreview/Image/imageSchema.js +8 -4
  73. package/src/components/FilePreview/PDF/schema.js +2 -1
  74. package/src/components/FilePreview/index.js +36 -2
  75. package/src/components/FilePreview/previewDefault/previewDefaultSchema.js +2 -1
  76. package/src/components/FileUploadAdapter/FileUploadAdapter.js +24 -14
  77. package/src/components/FilterPanel/FilterPanel.js +44 -129
  78. package/src/components/FilterPanel/MediaSearchFilter.js +32 -0
  79. package/src/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js +5 -2
  80. package/src/components/ListingContainer/ListingContainer.js +4 -1
  81. package/src/constants.js +15 -1
@@ -6,8 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = void 0;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
- var _more = _interopRequireDefault(require("@blaze-react/more"));
10
- var _button = _interopRequireDefault(require("@blaze-react/button"));
11
9
  var _admin = require("@blaze-cms/admin");
12
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
11
  var _adminUiUtils = require("@blaze-cms/admin-ui-utils");
@@ -17,6 +15,7 @@ var _toaster = require("@blaze-react/toaster");
17
15
  var _modal = _interopRequireDefault(require("@blaze-react/modal"));
18
16
  var _reactDom = require("react-dom");
19
17
  var _reactRouterDom = require("react-router-dom");
18
+ var _pluginPageBuilderUi = require("@blaze-cms/plugin-page-builder-ui");
20
19
  var _EditMediaFile = _interopRequireDefault(require("../EditMediaFile"));
21
20
  var _bustUrl = _interopRequireDefault(require("../../utils/bustUrl"));
22
21
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
@@ -46,6 +45,16 @@ const CardMedia = ({
46
45
  const [deleteFile] = (0, _client.useMutation)((0, _adminUiUtils.getMutation)('DELETE_FILE_BY_ID'));
47
46
  const [type, extension] = mimetype.split('/');
48
47
  const client = (0, _client.useApolloClient)();
48
+ const {
49
+ data: {
50
+ getEntitySchemas: [schemaData] = []
51
+ } = {},
52
+ loading: schemaLoading
53
+ } = (0, _client.useQuery)((0, _adminUiUtils.getQuery)('GET_ENTITY_SCHEMA'), {
54
+ variables: {
55
+ identifier: 'file'
56
+ }
57
+ });
49
58
  const deleteFileById = async () => {
50
59
  setDisplayDeleteModal(false);
51
60
  try {
@@ -70,24 +79,33 @@ const CardMedia = ({
70
79
  });
71
80
  }
72
81
  };
73
- const handleClick = () => {
82
+ const handleRowClick = () => onSelected({
83
+ id,
84
+ url,
85
+ name,
86
+ data
87
+ });
88
+ const handleCheckboxToggle = (0, _react.useCallback)(e => {
89
+ e.preventDefault();
90
+ e.stopPropagation();
74
91
  onSelected({
75
92
  id,
76
93
  url,
77
94
  name,
78
95
  data
79
96
  });
97
+ }, [id, url, name, data, onSelected]);
98
+ const handleKeyDown = e => {
99
+ if (e.key === ' ' || e.key === 'Enter') {
100
+ e.preventDefault();
101
+ handleRowClick();
102
+ }
80
103
  };
81
- const cardMediaClassNames = (0, _classnames.default)('card card--media-list', {
82
- 'card--media-list--selected': selected,
83
- [`card--media-${displayLayout}`]: displayLayout
104
+ const cardMediaClassNames = (0, _classnames.default)('card card--media-list card--media-list-row', `card--media-${displayLayout}`, {
105
+ 'card--media-list--selected': selected
84
106
  });
85
- const handleCloseModal = () => {
86
- setDisplayEditModal(false);
87
- };
88
- const handleSaveButtonStatus = state => {
89
- setEnableSaveButton(state);
90
- };
107
+ const handleCloseModal = () => setDisplayEditModal(false);
108
+ const handleSaveButtonStatus = state => setEnableSaveButton(state);
91
109
  const modalActions = [{
92
110
  textButton: 'Cancel',
93
111
  callback: handleCloseModal,
@@ -97,9 +115,8 @@ const CardMedia = ({
97
115
  callback: () => handleFormSave(),
98
116
  modifiers: enableSaveButton ? [] : ['disabled']
99
117
  }];
100
- const handleFileChange = file => {
101
- setFileData(file);
102
- };
118
+ const handleFileChange = file => setFileData(file);
119
+ const handleStopPropagation = e => e.stopPropagation();
103
120
  const handleFormSave = async () => {
104
121
  try {
105
122
  const {
@@ -109,7 +126,7 @@ const CardMedia = ({
109
126
  } = await client.mutate({
110
127
  mutation: (0, _adminUiUtils.getMutation)('UPDATE_FILE'),
111
128
  variables: {
112
- input: fileData
129
+ input: fileData.formData
113
130
  },
114
131
  update(cache, {
115
132
  data: {
@@ -145,6 +162,7 @@ const CardMedia = ({
145
162
  handleCloseModal();
146
163
  setEnableSaveButton(false);
147
164
  };
165
+ if (schemaLoading) return null;
148
166
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, displayEditModal && /*#__PURE__*/(0, _reactDom.createPortal)(/*#__PURE__*/_react.default.createElement(_modal.default, {
149
167
  title: "Edit",
150
168
  actions: modalActions,
@@ -154,16 +172,28 @@ const CardMedia = ({
154
172
  fileId: id,
155
173
  handleSaveButtonStatus: handleSaveButtonStatus,
156
174
  handleFormSave: handleFormSave,
157
- enableSaveButton: enableSaveButton
158
- })), modalTargetRef.current), /*#__PURE__*/_react.default.createElement("div", {
159
- className: cardMediaClassNames,
160
- role: "button",
161
- onClick: handleClick
162
- }, displayDeleteModal && /*#__PURE__*/(0, _reactDom.createPortal)(/*#__PURE__*/_react.default.createElement(_admin.DeleteAction, {
175
+ enableSaveButton: enableSaveButton,
176
+ schemaData: schemaData
177
+ })), modalTargetRef.current), displayDeleteModal && /*#__PURE__*/(0, _reactDom.createPortal)(/*#__PURE__*/_react.default.createElement(_admin.DeleteAction, {
163
178
  onClose: () => setDisplayDeleteModal(false),
164
179
  deleteAction: () => deleteFileById(),
165
180
  itemName: name
166
- }), modalTargetRef.current), type === 'image' ? /*#__PURE__*/_react.default.createElement("div", {
181
+ }), modalTargetRef.current), /*#__PURE__*/_react.default.createElement("div", {
182
+ className: cardMediaClassNames,
183
+ role: "option",
184
+ "aria-selected": selected,
185
+ tabIndex: 0,
186
+ onClick: handleRowClick,
187
+ onKeyDown: handleKeyDown
188
+ }, openEditInModal && /*#__PURE__*/_react.default.createElement("div", {
189
+ className: "card__select"
190
+ }, /*#__PURE__*/_react.default.createElement("input", {
191
+ type: "checkbox",
192
+ "aria-label": `Select ${name}`,
193
+ checked: !!selected,
194
+ onChange: handleCheckboxToggle,
195
+ onClick: handleStopPropagation
196
+ })), type === 'image' ? /*#__PURE__*/_react.default.createElement("div", {
167
197
  className: `card__image card__image--media-${displayLayout}`
168
198
  }, /*#__PURE__*/_react.default.createElement("img", {
169
199
  src: (0, _bustUrl.default)(url, updated),
@@ -174,7 +204,8 @@ const CardMedia = ({
174
204
  xmlns: "http://www.w3.org/2000/svg",
175
205
  width: "100",
176
206
  height: "100",
177
- viewBox: "0 0 8 8"
207
+ viewBox: "0 0 8 8",
208
+ "aria-hidden": "true"
178
209
  }, /*#__PURE__*/_react.default.createElement("path", {
179
210
  d: "M0 0v8h7v-4h-4v-4h-3zm4 0v3h3l-3-3zm-3 2h1v1h-1v-1zm0 2h1v1h-1v-1zm0 2h4v1h-4v-1z"
180
211
  }))), /*#__PURE__*/_react.default.createElement("footer", {
@@ -183,36 +214,48 @@ const CardMedia = ({
183
214
  className: `card__details card__details--media-${displayLayout}`
184
215
  }, /*#__PURE__*/_react.default.createElement("div", {
185
216
  className: `card__title card__title--media-${displayLayout}`
186
- }, /*#__PURE__*/_react.default.createElement("h2", null, name)), /*#__PURE__*/_react.default.createElement("p", null, /*#__PURE__*/_react.default.createElement("span", null, "format: ", extension))), /*#__PURE__*/_react.default.createElement("div", {
187
- className: `card__menu card__menu--${displayLayout}`
188
- }, /*#__PURE__*/_react.default.createElement("div", {
189
- className: "more-menu__wrapper more-menu__wrapper--card"
190
- }, /*#__PURE__*/_react.default.createElement(_more.default, {
191
- displayBg: true
192
- }, /*#__PURE__*/_react.default.createElement(_more.default.Avatar, {
193
- isMoreMenu: true
194
- }, /*#__PURE__*/_react.default.createElement("span", {
195
- className: "material-icons"
196
- }, "more_vert")), /*#__PURE__*/_react.default.createElement(_more.default.Content, {
197
- isMoreMenu: true
198
- }, openEditInModal ? /*#__PURE__*/_react.default.createElement(_button.default, {
199
- onClick: event => {
200
- event.preventDefault();
201
- event.stopPropagation();
217
+ }, /*#__PURE__*/_react.default.createElement("h2", {
218
+ className: "card__file-name"
219
+ }, name)), /*#__PURE__*/_react.default.createElement("p", {
220
+ className: "card__meta"
221
+ }, /*#__PURE__*/_react.default.createElement("span", null, "Format: ", extension))), /*#__PURE__*/_react.default.createElement("div", {
222
+ className: `card__menu card__menu--icons card__menu--${displayLayout}`
223
+ }, openEditInModal ? /*#__PURE__*/_react.default.createElement("button", {
224
+ type: "button",
225
+ className: "card__icon-btn",
226
+ title: "Edit",
227
+ "aria-label": "Edit",
228
+ onClick: e => {
229
+ e.preventDefault();
230
+ e.stopPropagation();
202
231
  setDisplayEditModal(true);
203
- },
204
- className: "more-menu__link"
205
- }, "Edit") : /*#__PURE__*/_react.default.createElement(_reactRouterDom.Link, {
232
+ }
233
+ }, /*#__PURE__*/_react.default.createElement(_pluginPageBuilderUi.EditIcon, {
234
+ width: "20px",
235
+ height: "20px"
236
+ })) : /*#__PURE__*/_react.default.createElement(_reactRouterDom.Link, {
206
237
  to: `/media/edit/${id}`,
207
- className: "more-menu__link"
208
- }, "Edit"), /*#__PURE__*/_react.default.createElement(_button.default, {
209
- onClick: event => {
210
- event.preventDefault();
211
- event.stopPropagation();
238
+ className: "card__icon-btn",
239
+ title: "Edit",
240
+ "aria-label": "Edit",
241
+ onClick: e => e.stopPropagation()
242
+ }, /*#__PURE__*/_react.default.createElement(_pluginPageBuilderUi.EditIcon, {
243
+ width: "20px",
244
+ height: "20px"
245
+ })), /*#__PURE__*/_react.default.createElement("button", {
246
+ type: "button",
247
+ className: "card__icon-btn",
248
+ title: "Delete",
249
+ "aria-label": "Delete",
250
+ onClick: e => {
251
+ e.preventDefault();
252
+ e.stopPropagation();
212
253
  setDisplayDeleteModal(true);
213
- },
214
- className: "more-menu__link"
215
- }, "Delete"))))))));
254
+ }
255
+ }, /*#__PURE__*/_react.default.createElement(_pluginPageBuilderUi.DeleteIcon, {
256
+ width: "18px",
257
+ height: "18px"
258
+ }))))));
216
259
  };
217
260
  CardMedia.propTypes = {
218
261
  name: _propTypes.default.string.isRequired,
@@ -1 +1 @@
1
- {"version":3,"file":"CardMedia.js","names":["_react","_interopRequireWildcard","require","_more","_interopRequireDefault","_button","_admin","_propTypes","_adminUiUtils","_client","_classnames","_toaster","_modal","_reactDom","_reactRouterDom","_EditMediaFile","_bustUrl","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","CardMedia","onSelected","name","url","mimetype","id","selected","displayLayout","data","updated","modalTargetRef","updateFile","removeFile","index","openEditInModal","displayDeleteModal","setDisplayDeleteModal","useState","displayEditModal","setDisplayEditModal","enableSaveButton","setEnableSaveButton","fileData","setFileData","addToast","useToasts","deleteFile","useMutation","getMutation","type","extension","split","client","useApolloClient","deleteFileById","variables","input","appearance","autoDismiss","error","message","handleClick","cardMediaClassNames","classnames","handleCloseModal","handleSaveButtonStatus","state","modalActions","textButton","callback","modifiers","handleFormSave","handleFileChange","file","updatedFile","mutate","mutation","update","cache","fileUpdated","writeQuery","query","getQuery","result","console","createElement","Fragment","createPortal","title","actions","onClose","onChange","fileId","current","className","role","onClick","DeleteAction","deleteAction","itemName","src","bustUrl","alt","xmlns","width","height","viewBox","d","displayBg","Avatar","isMoreMenu","Content","event","preventDefault","stopPropagation","Link","to","propTypes","PropTypes","string","isRequired","object","oneOfType","number","func","bool","defaultProps","_default","exports"],"sources":["../../../src/components/CardMedia/CardMedia.js"],"sourcesContent":["import React, { useState } from 'react';\nimport More from '@blaze-react/more';\nimport Button from '@blaze-react/button';\nimport { DeleteAction } from '@blaze-cms/admin';\nimport PropTypes from 'prop-types';\nimport { getQuery, getMutation } from '@blaze-cms/admin-ui-utils';\nimport { useMutation, useApolloClient } from '@apollo/client';\nimport classnames from 'classnames';\nimport { useToasts } from '@blaze-react/toaster';\nimport Modal from '@blaze-react/modal';\nimport { createPortal } from 'react-dom';\nimport { Link } from 'react-router-dom';\nimport EditMediaFile from '../EditMediaFile';\nimport bustUrl from '../../utils/bustUrl';\n\nconst CardMedia = ({\n onSelected,\n name,\n url,\n mimetype,\n id,\n selected,\n displayLayout,\n data,\n updated,\n modalTargetRef,\n updateFile,\n removeFile,\n index,\n openEditInModal\n}) => {\n const [displayDeleteModal, setDisplayDeleteModal] = useState(false);\n const [displayEditModal, setDisplayEditModal] = useState(false);\n const [enableSaveButton, setEnableSaveButton] = useState(false);\n const [fileData, setFileData] = useState(null);\n const { addToast } = useToasts();\n const [deleteFile] = useMutation(getMutation('DELETE_FILE_BY_ID'));\n const [type, extension] = mimetype.split('/');\n const client = useApolloClient();\n\n const deleteFileById = async () => {\n setDisplayDeleteModal(false);\n try {\n await deleteFile({\n variables: { input: { id } }\n });\n\n removeFile({\n index\n });\n\n addToast(`File: ${name} has been deleted`, {\n appearance: 'success',\n autoDismiss: true\n });\n } catch (error) {\n addToast(error.message, {\n appearance: 'error',\n autoDismiss: true\n });\n }\n };\n\n const handleClick = () => {\n onSelected({ id, url, name, data });\n };\n\n const cardMediaClassNames = classnames('card card--media-list', {\n 'card--media-list--selected': selected,\n [`card--media-${displayLayout}`]: displayLayout\n });\n\n const handleCloseModal = () => {\n setDisplayEditModal(false);\n };\n\n const handleSaveButtonStatus = state => {\n setEnableSaveButton(state);\n };\n\n const modalActions = [\n {\n textButton: 'Cancel',\n callback: handleCloseModal,\n modifiers: ['cancel']\n },\n {\n textButton: 'Apply',\n callback: () => handleFormSave(),\n modifiers: enableSaveButton ? [] : ['disabled']\n }\n ];\n\n const handleFileChange = file => {\n setFileData(file);\n };\n\n const handleFormSave = async () => {\n try {\n const {\n data: { updateFile: updatedFile }\n } = await client.mutate({\n mutation: getMutation('UPDATE_FILE'),\n variables: { input: fileData },\n update(cache, { data: { updateFile: fileUpdated } }) {\n cache.writeQuery({\n query: getQuery('GET_FILE_BY_ID'),\n variables: { id },\n data: { file: fileUpdated.result }\n });\n }\n });\n\n updateFile({ file: updatedFile.result, index });\n addToast(`File: ${fileData.name} has been updated`, {\n appearance: 'success',\n autoDismiss: true\n });\n } catch (e) {\n addToast(`File: ${fileData.name} has not been updated`, {\n appearance: 'error',\n autoDismiss: true\n });\n console.error(e); //eslint-disable-line\n }\n handleCloseModal();\n setEnableSaveButton(false);\n };\n\n return (\n <>\n {displayEditModal &&\n createPortal(\n <Modal title=\"Edit\" actions={modalActions} onClose={handleCloseModal}>\n <EditMediaFile\n onChange={handleFileChange}\n fileId={id}\n handleSaveButtonStatus={handleSaveButtonStatus}\n handleFormSave={handleFormSave}\n enableSaveButton={enableSaveButton}\n />\n </Modal>,\n modalTargetRef.current\n )}\n <div className={cardMediaClassNames} role=\"button\" onClick={handleClick}>\n {displayDeleteModal &&\n createPortal(\n <DeleteAction\n onClose={() => setDisplayDeleteModal(false)}\n deleteAction={() => deleteFileById()}\n itemName={name}\n />,\n modalTargetRef.current\n )}\n\n {type === 'image' ? (\n <div className={`card__image card__image--media-${displayLayout}`}>\n <img src={bustUrl(url, updated)} alt={name} />\n </div>\n ) : (\n <div className=\"card__image card__image--media-list-document\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"100\" height=\"100\" viewBox=\"0 0 8 8\">\n <path d=\"M0 0v8h7v-4h-4v-4h-3zm4 0v3h3l-3-3zm-3 2h1v1h-1v-1zm0 2h1v1h-1v-1zm0 2h4v1h-4v-1z\" />\n </svg>\n </div>\n )}\n\n <footer className={`card__footer card__footer--media-${displayLayout}`}>\n <div className={`card__details card__details--media-${displayLayout}`}>\n <div className={`card__title card__title--media-${displayLayout}`}>\n <h2>{name}</h2>\n </div>\n <p>\n <span>format: {extension}</span>\n </p>\n </div>\n <div className={`card__menu card__menu--${displayLayout}`}>\n <div className=\"more-menu__wrapper more-menu__wrapper--card\">\n <More displayBg>\n <More.Avatar isMoreMenu>\n <span className=\"material-icons\">more_vert</span>\n </More.Avatar>\n <More.Content isMoreMenu>\n {openEditInModal ? (\n <Button\n onClick={event => {\n event.preventDefault();\n event.stopPropagation();\n setDisplayEditModal(true);\n }}\n className=\"more-menu__link\">\n Edit\n </Button>\n ) : (\n <Link to={`/media/edit/${id}`} className=\"more-menu__link\">\n Edit\n </Link>\n )}\n <Button\n onClick={event => {\n event.preventDefault();\n event.stopPropagation();\n setDisplayDeleteModal(true);\n }}\n className=\"more-menu__link\">\n Delete\n </Button>\n </More.Content>\n </More>\n </div>\n </div>\n </footer>\n </div>\n </>\n );\n};\n\nCardMedia.propTypes = {\n name: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired,\n mimetype: PropTypes.string.isRequired,\n displayLayout: PropTypes.string.isRequired,\n data: PropTypes.object,\n updated: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n onSelected: PropTypes.func,\n updateFile: PropTypes.func.isRequired,\n removeFile: PropTypes.func.isRequired,\n selected: PropTypes.bool,\n modalTargetRef: PropTypes.object.isRequired,\n index: PropTypes.number.isRequired,\n openEditInModal: PropTypes.bool\n};\n\nCardMedia.defaultProps = {\n onSelected: () => {},\n selected: false,\n data: {},\n updated: null,\n openEditInModal: false\n};\n\nexport default CardMedia;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"CardMedia.js","names":["_react","_interopRequireWildcard","require","_admin","_propTypes","_interopRequireDefault","_adminUiUtils","_client","_classnames","_toaster","_modal","_reactDom","_reactRouterDom","_pluginPageBuilderUi","_EditMediaFile","_bustUrl","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","CardMedia","onSelected","name","url","mimetype","id","selected","displayLayout","data","updated","modalTargetRef","updateFile","removeFile","index","openEditInModal","displayDeleteModal","setDisplayDeleteModal","useState","displayEditModal","setDisplayEditModal","enableSaveButton","setEnableSaveButton","fileData","setFileData","addToast","useToasts","deleteFile","useMutation","getMutation","type","extension","split","client","useApolloClient","getEntitySchemas","schemaData","loading","schemaLoading","useQuery","getQuery","variables","identifier","deleteFileById","input","appearance","autoDismiss","error","message","handleRowClick","handleCheckboxToggle","useCallback","preventDefault","stopPropagation","handleKeyDown","key","cardMediaClassNames","classnames","handleCloseModal","handleSaveButtonStatus","state","modalActions","textButton","callback","modifiers","handleFormSave","handleFileChange","file","handleStopPropagation","updatedFile","mutate","mutation","formData","update","cache","fileUpdated","writeQuery","query","result","console","createElement","Fragment","createPortal","title","actions","onClose","onChange","fileId","current","DeleteAction","deleteAction","itemName","className","role","tabIndex","onClick","onKeyDown","checked","src","bustUrl","alt","xmlns","width","height","viewBox","d","EditIcon","Link","to","DeleteIcon","propTypes","PropTypes","string","isRequired","object","oneOfType","number","func","bool","defaultProps","_default","exports"],"sources":["../../../src/components/CardMedia/CardMedia.js"],"sourcesContent":["import React, { useState, useCallback } from 'react';\nimport { DeleteAction } from '@blaze-cms/admin';\nimport PropTypes from 'prop-types';\nimport { getQuery, getMutation } from '@blaze-cms/admin-ui-utils';\nimport { useMutation, useApolloClient, useQuery } from '@apollo/client';\nimport classnames from 'classnames';\nimport { useToasts } from '@blaze-react/toaster';\nimport Modal from '@blaze-react/modal';\nimport { createPortal } from 'react-dom';\nimport { Link } from 'react-router-dom';\nimport { DeleteIcon, EditIcon } from '@blaze-cms/plugin-page-builder-ui';\nimport EditMediaFile from '../EditMediaFile';\nimport bustUrl from '../../utils/bustUrl';\n\nconst CardMedia = ({\n onSelected,\n name,\n url,\n mimetype,\n id,\n selected,\n displayLayout,\n data,\n updated,\n modalTargetRef,\n updateFile,\n removeFile,\n index,\n openEditInModal\n}) => {\n const [displayDeleteModal, setDisplayDeleteModal] = useState(false);\n const [displayEditModal, setDisplayEditModal] = useState(false);\n const [enableSaveButton, setEnableSaveButton] = useState(false);\n const [fileData, setFileData] = useState(null);\n const { addToast } = useToasts();\n const [deleteFile] = useMutation(getMutation('DELETE_FILE_BY_ID'));\n const [type, extension] = mimetype.split('/');\n const client = useApolloClient();\n\n const { data: { getEntitySchemas: [schemaData] = [] } = {}, loading: schemaLoading } = useQuery(\n getQuery('GET_ENTITY_SCHEMA'),\n {\n variables: { identifier: 'file' }\n }\n );\n\n const deleteFileById = async () => {\n setDisplayDeleteModal(false);\n try {\n await deleteFile({ variables: { input: { id } } });\n removeFile({ index });\n addToast(`File: ${name} has been deleted`, { appearance: 'success', autoDismiss: true });\n } catch (error) {\n addToast(error.message, { appearance: 'error', autoDismiss: true });\n }\n };\n\n const handleRowClick = () => onSelected({ id, url, name, data });\n\n const handleCheckboxToggle = useCallback(\n e => {\n e.preventDefault();\n e.stopPropagation();\n onSelected({ id, url, name, data });\n },\n [id, url, name, data, onSelected]\n );\n\n const handleKeyDown = e => {\n if (e.key === ' ' || e.key === 'Enter') {\n e.preventDefault();\n handleRowClick();\n }\n };\n\n const cardMediaClassNames = classnames(\n 'card card--media-list card--media-list-row',\n `card--media-${displayLayout}`,\n { 'card--media-list--selected': selected }\n );\n\n const handleCloseModal = () => setDisplayEditModal(false);\n const handleSaveButtonStatus = state => setEnableSaveButton(state);\n\n const modalActions = [\n { textButton: 'Cancel', callback: handleCloseModal, modifiers: ['cancel'] },\n {\n textButton: 'Apply',\n callback: () => handleFormSave(),\n modifiers: enableSaveButton ? [] : ['disabled']\n }\n ];\n\n const handleFileChange = file => setFileData(file);\n\n const handleStopPropagation = e => e.stopPropagation();\n\n const handleFormSave = async () => {\n try {\n const {\n data: { updateFile: updatedFile }\n } = await client.mutate({\n mutation: getMutation('UPDATE_FILE'),\n variables: { input: fileData.formData },\n update(cache, { data: { updateFile: fileUpdated } }) {\n cache.writeQuery({\n query: getQuery('GET_FILE_BY_ID'),\n variables: { id },\n data: { file: fileUpdated.result }\n });\n }\n });\n\n updateFile({ file: updatedFile.result, index });\n addToast(`File: ${fileData.name} has been updated`, {\n appearance: 'success',\n autoDismiss: true\n });\n } catch (e) {\n addToast(`File: ${fileData.name} has not been updated`, {\n appearance: 'error',\n autoDismiss: true\n });\n console.error(e); //eslint-disable-line\n }\n handleCloseModal();\n setEnableSaveButton(false);\n };\n\n if (schemaLoading) return null;\n\n return (\n <>\n {displayEditModal &&\n createPortal(\n <Modal title=\"Edit\" actions={modalActions} onClose={handleCloseModal}>\n <EditMediaFile\n onChange={handleFileChange}\n fileId={id}\n handleSaveButtonStatus={handleSaveButtonStatus}\n handleFormSave={handleFormSave}\n enableSaveButton={enableSaveButton}\n schemaData={schemaData}\n />\n </Modal>,\n modalTargetRef.current\n )}\n\n {displayDeleteModal &&\n createPortal(\n <DeleteAction\n onClose={() => setDisplayDeleteModal(false)}\n deleteAction={() => deleteFileById()}\n itemName={name}\n />,\n modalTargetRef.current\n )}\n\n <div\n className={cardMediaClassNames}\n role=\"option\"\n aria-selected={selected}\n tabIndex={0}\n onClick={handleRowClick}\n onKeyDown={handleKeyDown}>\n {openEditInModal && (\n <div className=\"card__select\">\n <input\n type=\"checkbox\"\n aria-label={`Select ${name}`}\n checked={!!selected}\n onChange={handleCheckboxToggle}\n onClick={handleStopPropagation}\n />\n </div>\n )}\n {type === 'image' ? (\n <div className={`card__image card__image--media-${displayLayout}`}>\n <img src={bustUrl(url, updated)} alt={name} />\n </div>\n ) : (\n <div className=\"card__image card__image--media-list-document\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"100\"\n height=\"100\"\n viewBox=\"0 0 8 8\"\n aria-hidden=\"true\">\n <path d=\"M0 0v8h7v-4h-4v-4h-3zm4 0v3h3l-3-3zm-3 2h1v1h-1v-1zm0 2h1v1h-1v-1zm0 2h4v1h-4v-1z\" />\n </svg>\n </div>\n )}\n\n <footer className={`card__footer card__footer--media-${displayLayout}`}>\n <div className={`card__details card__details--media-${displayLayout}`}>\n <div className={`card__title card__title--media-${displayLayout}`}>\n <h2 className=\"card__file-name\">{name}</h2>\n </div>\n <p className=\"card__meta\">\n <span>Format: {extension}</span>\n </p>\n </div>\n\n <div className={`card__menu card__menu--icons card__menu--${displayLayout}`}>\n {openEditInModal ? (\n <button\n type=\"button\"\n className=\"card__icon-btn\"\n title=\"Edit\"\n aria-label=\"Edit\"\n onClick={e => {\n e.preventDefault();\n e.stopPropagation();\n setDisplayEditModal(true);\n }}>\n <EditIcon width=\"20px\" height=\"20px\" />\n </button>\n ) : (\n <Link\n to={`/media/edit/${id}`}\n className=\"card__icon-btn\"\n title=\"Edit\"\n aria-label=\"Edit\"\n onClick={e => e.stopPropagation()}>\n <EditIcon width=\"20px\" height=\"20px\" />\n </Link>\n )}\n\n <button\n type=\"button\"\n className=\"card__icon-btn\"\n title=\"Delete\"\n aria-label=\"Delete\"\n onClick={e => {\n e.preventDefault();\n e.stopPropagation();\n setDisplayDeleteModal(true);\n }}>\n <DeleteIcon width=\"18px\" height=\"18px\" />\n </button>\n </div>\n </footer>\n </div>\n </>\n );\n};\n\nCardMedia.propTypes = {\n name: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired,\n mimetype: PropTypes.string.isRequired,\n displayLayout: PropTypes.string.isRequired,\n data: PropTypes.object,\n updated: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n onSelected: PropTypes.func,\n updateFile: PropTypes.func.isRequired,\n removeFile: PropTypes.func.isRequired,\n selected: PropTypes.bool,\n modalTargetRef: PropTypes.object.isRequired,\n index: PropTypes.number.isRequired,\n openEditInModal: PropTypes.bool\n};\n\nCardMedia.defaultProps = {\n onSelected: () => { },\n selected: false,\n data: {},\n updated: null,\n openEditInModal: false\n};\n\nexport default CardMedia;\n"],"mappings":"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","ignoreList":[]}
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
9
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
9
  var _react = _interopRequireWildcard(require("react"));
11
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -15,7 +14,6 @@ var _toaster = require("@blaze-react/toaster");
15
14
  var _FilePreview = _interopRequireDefault(require("../FilePreview"));
16
15
  var _FileUploadModal = _interopRequireDefault(require("../FileUploadModal"));
17
16
  var _constants = require("../../constants");
18
- const _excluded = ["__typename"];
19
17
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
20
18
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
21
19
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -24,18 +22,19 @@ const EditMediaFile = ({
24
22
  handleSaveButtonStatus,
25
23
  fileId,
26
24
  showChangeButton,
27
- fileUpdated
25
+ fileUpdated,
26
+ schemaData
28
27
  }) => {
29
28
  const [formValues, setFormValues] = (0, _react.useState)(null);
30
29
  const [displayFileUploadModal, setDisplayFileUploadModal] = (0, _react.useState)(false);
31
30
  const {
32
31
  addToast
33
32
  } = (0, _toaster.useToasts)();
34
- const fileQuery = (0, _adminUiUtils.getQuery)('GET_FILE_BY_ID');
33
+ const fileQuery = (0, _adminUiUtils.getDynamicQuery)('DATA_QUERY')(schemaData, fileId, null, _constants.FILE_DEFAULT_PROPS);
35
34
  const {
36
35
  loading,
37
36
  data: {
38
- file
37
+ entityData: file
39
38
  } = {},
40
39
  refetch: refetchFile
41
40
  } = (0, _client.useQuery)(fileQuery, {
@@ -75,45 +74,30 @@ const EditMediaFile = ({
75
74
  valuesChecked
76
75
  }) => {
77
76
  const baseFile = formValues || file;
78
- const valuesCheckedWithoutName = valuesChecked.filter(({
79
- id
80
- }) => id !== _constants.NAME && id !== _constants.STORE_KEY);
81
- const dataValues = valuesCheckedWithoutName.reduce((acc, {
77
+ const dataValues = valuesChecked.reduce((acc, {
82
78
  id,
83
- value
79
+ value,
80
+ isDataPropery
84
81
  }) => {
85
- acc[id] = value;
82
+ if (isDataPropery) {
83
+ acc.data[id] = value;
84
+ } else {
85
+ acc[id] = value;
86
+ }
86
87
  return acc;
87
- }, {});
88
- const {
89
- value: newFileName
90
- } = valuesChecked.find(({
91
- id
92
- }) => id === _constants.NAME) || {};
93
- const {
94
- value: storeKey
95
- } = valuesChecked.find(({
96
- id
97
- }) => id === _constants.STORE_KEY) || {};
88
+ }, {
89
+ id: baseFile.id,
90
+ data: _objectSpread({}, baseFile.data)
91
+ });
92
+ delete dataValues.data.__typename; // Remove __typename if it exists in data to avoid issues with Apollo cache.
93
+
98
94
  const shouldEnableSaveButton = isNewValueSet && isValid;
99
95
  handleSaveButtonStatus(shouldEnableSaveButton);
100
- const updatedFile = _objectSpread(_objectSpread({}, baseFile), {}, {
101
- name: newFileName || baseFile.name,
102
- storeKey: storeKey || baseFile.storeKey,
103
- data: _objectSpread(_objectSpread({}, baseFile.data || {}), dataValues)
104
- });
96
+ const updatedFile = _objectSpread(_objectSpread({}, baseFile), dataValues);
105
97
  setFormValues(updatedFile);
106
- // Strip GraphQL metadata field __typename before passing data to onChange.
107
- const _ref = updatedFile.data || {},
108
- {
109
- __typename
110
- } = _ref,
111
- cleanData = (0, _objectWithoutProperties2.default)(_ref, _excluded);
112
- onChange({
113
- id: updatedFile.id,
114
- name: updatedFile.name,
115
- data: cleanData
116
- });
98
+ onChange(_objectSpread(_objectSpread({}, updatedFile), {}, {
99
+ formData: dataValues
100
+ }));
117
101
  };
118
102
  const getFileWithStoreType = sourceFile => {
119
103
  const base = sourceFile || file;
@@ -163,7 +147,7 @@ const EditMediaFile = ({
163
147
  if (loading) return /*#__PURE__*/_react.default.createElement("div", null, "loading...");
164
148
  const fileToRender = formValues || file;
165
149
  const fileWithStoreType = getFileWithStoreType(fileToRender);
166
- return !loading ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !!file && /*#__PURE__*/_react.default.createElement(_FilePreview.default, {
150
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !!file && /*#__PURE__*/_react.default.createElement(_FilePreview.default, {
167
151
  file: fileWithStoreType,
168
152
  handleFormChange: handleFormChange,
169
153
  handleChangeFile: () => setDisplayFileUploadModal(true),
@@ -178,7 +162,7 @@ const EditMediaFile = ({
178
162
  fileId: fileId,
179
163
  storeKey: file && file.storeKey,
180
164
  getSelectedFiles: () => {}
181
- }))) : /*#__PURE__*/_react.default.createElement("div", null, "loading...");
165
+ })));
182
166
  };
183
167
  EditMediaFile.propTypes = {
184
168
  fileId: _propTypes.default.string.isRequired,
@@ -1 +1 @@
1
- {"version":3,"file":"EditMediaFile.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_adminUiUtils","_client","_toaster","_FilePreview","_FileUploadModal","_constants","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","EditMediaFile","onChange","handleSaveButtonStatus","fileId","showChangeButton","fileUpdated","formValues","setFormValues","useState","displayFileUploadModal","setDisplayFileUploadModal","addToast","useToasts","fileQuery","getQuery","loading","data","file","refetch","refetchFile","useQuery","variables","id","fetchPolicy","fileStoresType","getFileStores","storeType","visibleInAdmin","useEffect","prevFormValues","updated","handleFormChange","isValid","isNewValueSet","valuesChecked","baseFile","valuesCheckedWithoutName","NAME","STORE_KEY","dataValues","reduce","acc","value","newFileName","find","storeKey","shouldEnableSaveButton","updatedFile","name","_ref","__typename","cleanData","_objectWithoutProperties2","getFileWithStoreType","sourceFile","base","storeOptions","map","type","key","defaultStore","isDefault","store","closeModalAndSetValue","isSaving","values","toastMessage","appearance","autoDismiss","url","refreshedFile","timestamp","Date","now","createElement","fileToRender","fileWithStoreType","Fragment","handleChangeFile","displayForm","className","onClose","simpleLayout","getSelectedFiles","propTypes","PropTypes","string","isRequired","func","bool","object","defaultProps","_default","exports"],"sources":["../../../src/components/EditMediaFile/EditMediaFile.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { getQuery } from '@blaze-cms/admin-ui-utils';\nimport { useQuery } from '@apollo/client';\nimport { useToasts } from '@blaze-react/toaster';\nimport FilePreview from '../FilePreview';\nimport FileUploadModal from '../FileUploadModal';\nimport { STORE_KEY, NAME } from '../../constants';\n\nconst EditMediaFile = ({\n onChange,\n handleSaveButtonStatus,\n fileId,\n showChangeButton,\n fileUpdated\n}) => {\n const [formValues, setFormValues] = useState(null);\n const [displayFileUploadModal, setDisplayFileUploadModal] = useState(false);\n const { addToast } = useToasts();\n\n const fileQuery = getQuery('GET_FILE_BY_ID');\n const {\n loading,\n data: { file } = {},\n refetch: refetchFile\n } = useQuery(fileQuery, {\n variables: { id: fileId },\n fetchPolicy: 'cache-and-network'\n });\n\n const fileStoresType = getQuery('GET_FILE_STORES');\n const { data: { getFileStores: storeType = [] } = {} } = useQuery(fileStoresType, {\n variables: { visibleInAdmin: true }\n });\n\n useEffect(() => {\n if (file) {\n setFormValues(prevFormValues => {\n if (!prevFormValues || prevFormValues.updated !== file.updated) {\n return file;\n }\n return prevFormValues;\n });\n }\n }, [file]);\n\n useEffect(() => {\n if (fileUpdated && fileUpdated.updated) {\n setFormValues(fileUpdated);\n }\n }, [fileUpdated]);\n\n const handleFormChange = ({ isValid, isNewValueSet, valuesChecked }) => {\n const baseFile = formValues || file;\n const valuesCheckedWithoutName = valuesChecked.filter(\n ({ id }) => id !== NAME && id !== STORE_KEY\n );\n\n const dataValues = valuesCheckedWithoutName.reduce((acc, { id, value }) => {\n acc[id] = value;\n return acc;\n }, {});\n\n const { value: newFileName } = valuesChecked.find(({ id }) => id === NAME) || {};\n const { value: storeKey } = valuesChecked.find(({ id }) => id === STORE_KEY) || {};\n\n const shouldEnableSaveButton = isNewValueSet && isValid;\n handleSaveButtonStatus(shouldEnableSaveButton);\n\n const updatedFile = {\n ...baseFile,\n name: newFileName || baseFile.name,\n storeKey: storeKey || baseFile.storeKey,\n data: { ...(baseFile.data || {}), ...dataValues }\n };\n\n setFormValues(updatedFile);\n // Strip GraphQL metadata field __typename before passing data to onChange.\n const { __typename, ...cleanData } = updatedFile.data || {};\n onChange({ id: updatedFile.id, name: updatedFile.name, data: cleanData });\n };\n\n const getFileWithStoreType = sourceFile => {\n const base = sourceFile || file;\n if (storeType && base) {\n const storeOptions = storeType.map(type => [type.key, type.name]);\n const defaultStore = storeType.find(type => type.isDefault) || null;\n return { ...base, store: { defaultStore, storeOptions } };\n }\n return base;\n };\n\n const closeModalAndSetValue = async (isSaving, values, toastMessage) => {\n if (toastMessage) {\n addToast(toastMessage, { appearance: 'success', autoDismiss: true });\n }\n\n if (values) {\n const updated =\n values.id === fileId\n ? values\n : {\n ...(formValues || file),\n ...values,\n url: values.url || (formValues || file).url\n };\n setFormValues(updated);\n onChange(updated);\n handleSaveButtonStatus(true);\n } else {\n const { data: { file: refreshedFile } = {} } = await refetchFile({\n id: fileId,\n timestamp: Date.now()\n });\n if (refreshedFile) {\n setFormValues(refreshedFile);\n onChange(refreshedFile);\n handleSaveButtonStatus(true);\n }\n }\n\n setDisplayFileUploadModal(false);\n };\n\n if (loading) return <div>loading...</div>;\n\n const fileToRender = formValues || file;\n const fileWithStoreType = getFileWithStoreType(fileToRender);\n\n return !loading ? (\n <>\n {!!file && (\n <FilePreview\n file={fileWithStoreType}\n handleFormChange={handleFormChange}\n handleChangeFile={() => setDisplayFileUploadModal(true)}\n displayForm\n showChangeButton={showChangeButton}\n />\n )}\n {displayFileUploadModal && (\n <div className=\"file-upload-modal-wrapper\">\n <FileUploadModal\n onClose={() => setDisplayFileUploadModal(false)}\n closeModalAndSetValue={closeModalAndSetValue}\n simpleLayout\n fileId={fileId}\n storeKey={file && file.storeKey}\n getSelectedFiles={() => {}}\n />\n </div>\n )}\n </>\n ) : (\n <div>loading...</div>\n );\n};\n\nEditMediaFile.propTypes = {\n fileId: PropTypes.string.isRequired,\n onChange: PropTypes.func.isRequired,\n handleSaveButtonStatus: PropTypes.func.isRequired,\n showChangeButton: PropTypes.bool,\n fileUpdated: PropTypes.object\n};\n\nEditMediaFile.defaultProps = {\n showChangeButton: false,\n fileUpdated: null\n};\n\nexport default EditMediaFile;\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,YAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,gBAAA,GAAAL,sBAAA,CAAAF,OAAA;AACA,IAAAQ,UAAA,GAAAR,OAAA;AAAkD,MAAAS,SAAA;AAAA,SAAAV,wBAAAW,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAb,uBAAA,YAAAA,CAAAW,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAAA,SAAAkB,QAAAnB,CAAA,EAAAG,CAAA,QAAAF,CAAA,GAAAe,MAAA,CAAAI,IAAA,CAAApB,CAAA,OAAAgB,MAAA,CAAAK,qBAAA,QAAAf,CAAA,GAAAU,MAAA,CAAAK,qBAAA,CAAArB,CAAA,GAAAG,CAAA,KAAAG,CAAA,GAAAA,CAAA,CAAAgB,MAAA,WAAAnB,CAAA,WAAAa,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAG,CAAA,EAAAoB,UAAA,OAAAtB,CAAA,CAAAuB,IAAA,CAAAC,KAAA,CAAAxB,CAAA,EAAAK,CAAA,YAAAL,CAAA;AAAA,SAAAyB,cAAA1B,CAAA,aAAAG,CAAA,MAAAA,CAAA,GAAAwB,SAAA,CAAAC,MAAA,EAAAzB,CAAA,UAAAF,CAAA,WAAA0B,SAAA,CAAAxB,CAAA,IAAAwB,SAAA,CAAAxB,CAAA,QAAAA,CAAA,OAAAgB,OAAA,CAAAH,MAAA,CAAAf,CAAA,OAAA4B,OAAA,WAAA1B,CAAA,QAAA2B,gBAAA,CAAApB,OAAA,EAAAV,CAAA,EAAAG,CAAA,EAAAF,CAAA,CAAAE,CAAA,SAAAa,MAAA,CAAAe,yBAAA,GAAAf,MAAA,CAAAgB,gBAAA,CAAAhC,CAAA,EAAAgB,MAAA,CAAAe,yBAAA,CAAA9B,CAAA,KAAAkB,OAAA,CAAAH,MAAA,CAAAf,CAAA,GAAA4B,OAAA,WAAA1B,CAAA,IAAAa,MAAA,CAAAC,cAAA,CAAAjB,CAAA,EAAAG,CAAA,EAAAa,MAAA,CAAAE,wBAAA,CAAAjB,CAAA,EAAAE,CAAA,iBAAAH,CAAA;AAElD,MAAMiC,aAAa,GAAGA,CAAC;EACrBC,QAAQ;EACRC,sBAAsB;EACtBC,MAAM;EACNC,gBAAgB;EAChBC;AACF,CAAC,KAAK;EACJ,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAC,eAAQ,EAAC,IAAI,CAAC;EAClD,MAAM,CAACC,sBAAsB,EAAEC,yBAAyB,CAAC,GAAG,IAAAF,eAAQ,EAAC,KAAK,CAAC;EAC3E,MAAM;IAAEG;EAAS,CAAC,GAAG,IAAAC,kBAAS,EAAC,CAAC;EAEhC,MAAMC,SAAS,GAAG,IAAAC,sBAAQ,EAAC,gBAAgB,CAAC;EAC5C,MAAM;IACJC,OAAO;IACPC,IAAI,EAAE;MAAEC;IAAK,CAAC,GAAG,CAAC,CAAC;IACnBC,OAAO,EAAEC;EACX,CAAC,GAAG,IAAAC,gBAAQ,EAACP,SAAS,EAAE;IACtBQ,SAAS,EAAE;MAAEC,EAAE,EAAEnB;IAAO,CAAC;IACzBoB,WAAW,EAAE;EACf,CAAC,CAAC;EAEF,MAAMC,cAAc,GAAG,IAAAV,sBAAQ,EAAC,iBAAiB,CAAC;EAClD,MAAM;IAAEE,IAAI,EAAE;MAAES,aAAa,EAAEC,SAAS,GAAG;IAAG,CAAC,GAAG,CAAC;EAAE,CAAC,GAAG,IAAAN,gBAAQ,EAACI,cAAc,EAAE;IAChFH,SAAS,EAAE;MAAEM,cAAc,EAAE;IAAK;EACpC,CAAC,CAAC;EAEF,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAIX,IAAI,EAAE;MACRV,aAAa,CAACsB,cAAc,IAAI;QAC9B,IAAI,CAACA,cAAc,IAAIA,cAAc,CAACC,OAAO,KAAKb,IAAI,CAACa,OAAO,EAAE;UAC9D,OAAOb,IAAI;QACb;QACA,OAAOY,cAAc;MACvB,CAAC,CAAC;IACJ;EACF,CAAC,EAAE,CAACZ,IAAI,CAAC,CAAC;EAEV,IAAAW,gBAAS,EAAC,MAAM;IACd,IAAIvB,WAAW,IAAIA,WAAW,CAACyB,OAAO,EAAE;MACtCvB,aAAa,CAACF,WAAW,CAAC;IAC5B;EACF,CAAC,EAAE,CAACA,WAAW,CAAC,CAAC;EAEjB,MAAM0B,gBAAgB,GAAGA,CAAC;IAAEC,OAAO;IAAEC,aAAa;IAAEC;EAAc,CAAC,KAAK;IACtE,MAAMC,QAAQ,GAAG7B,UAAU,IAAIW,IAAI;IACnC,MAAMmB,wBAAwB,GAAGF,aAAa,CAAC7C,MAAM,CACnD,CAAC;MAAEiC;IAAG,CAAC,KAAKA,EAAE,KAAKe,eAAI,IAAIf,EAAE,KAAKgB,oBACpC,CAAC;IAED,MAAMC,UAAU,GAAGH,wBAAwB,CAACI,MAAM,CAAC,CAACC,GAAG,EAAE;MAAEnB,EAAE;MAAEoB;IAAM,CAAC,KAAK;MACzED,GAAG,CAACnB,EAAE,CAAC,GAAGoB,KAAK;MACf,OAAOD,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;IAEN,MAAM;MAAEC,KAAK,EAAEC;IAAY,CAAC,GAAGT,aAAa,CAACU,IAAI,CAAC,CAAC;MAAEtB;IAAG,CAAC,KAAKA,EAAE,KAAKe,eAAI,CAAC,IAAI,CAAC,CAAC;IAChF,MAAM;MAAEK,KAAK,EAAEG;IAAS,CAAC,GAAGX,aAAa,CAACU,IAAI,CAAC,CAAC;MAAEtB;IAAG,CAAC,KAAKA,EAAE,KAAKgB,oBAAS,CAAC,IAAI,CAAC,CAAC;IAElF,MAAMQ,sBAAsB,GAAGb,aAAa,IAAID,OAAO;IACvD9B,sBAAsB,CAAC4C,sBAAsB,CAAC;IAE9C,MAAMC,WAAW,GAAAtD,aAAA,CAAAA,aAAA,KACZ0C,QAAQ;MACXa,IAAI,EAAEL,WAAW,IAAIR,QAAQ,CAACa,IAAI;MAClCH,QAAQ,EAAEA,QAAQ,IAAIV,QAAQ,CAACU,QAAQ;MACvC7B,IAAI,EAAAvB,aAAA,CAAAA,aAAA,KAAQ0C,QAAQ,CAACnB,IAAI,IAAI,CAAC,CAAC,GAAMuB,UAAU;IAAE,EAClD;IAEDhC,aAAa,CAACwC,WAAW,CAAC;IAC1B;IACA,MAAAE,IAAA,GAAqCF,WAAW,CAAC/B,IAAI,IAAI,CAAC,CAAC;MAArD;QAAEkC;MAAyB,CAAC,GAAAD,IAAA;MAAXE,SAAS,OAAAC,yBAAA,CAAA3E,OAAA,EAAAwE,IAAA,EAAAnF,SAAA;IAChCmC,QAAQ,CAAC;MAAEqB,EAAE,EAAEyB,WAAW,CAACzB,EAAE;MAAE0B,IAAI,EAAED,WAAW,CAACC,IAAI;MAAEhC,IAAI,EAAEmC;IAAU,CAAC,CAAC;EAC3E,CAAC;EAED,MAAME,oBAAoB,GAAGC,UAAU,IAAI;IACzC,MAAMC,IAAI,GAAGD,UAAU,IAAIrC,IAAI;IAC/B,IAAIS,SAAS,IAAI6B,IAAI,EAAE;MACrB,MAAMC,YAAY,GAAG9B,SAAS,CAAC+B,GAAG,CAACC,IAAI,IAAI,CAACA,IAAI,CAACC,GAAG,EAAED,IAAI,CAACV,IAAI,CAAC,CAAC;MACjE,MAAMY,YAAY,GAAGlC,SAAS,CAACkB,IAAI,CAACc,IAAI,IAAIA,IAAI,CAACG,SAAS,CAAC,IAAI,IAAI;MACnE,OAAApE,aAAA,CAAAA,aAAA,KAAY8D,IAAI;QAAEO,KAAK,EAAE;UAAEF,YAAY;UAAEJ;QAAa;MAAC;IACzD;IACA,OAAOD,IAAI;EACb,CAAC;EAED,MAAMQ,qBAAqB,GAAG,MAAAA,CAAOC,QAAQ,EAAEC,MAAM,EAAEC,YAAY,KAAK;IACtE,IAAIA,YAAY,EAAE;MAChBvD,QAAQ,CAACuD,YAAY,EAAE;QAAEC,UAAU,EAAE,SAAS;QAAEC,WAAW,EAAE;MAAK,CAAC,CAAC;IACtE;IAEA,IAAIH,MAAM,EAAE;MACV,MAAMnC,OAAO,GACXmC,MAAM,CAAC3C,EAAE,KAAKnB,MAAM,GAChB8D,MAAM,GAAAxE,aAAA,CAAAA,aAAA,CAAAA,aAAA,KAEAa,UAAU,IAAIW,IAAI,GACnBgD,MAAM;QACTI,GAAG,EAAEJ,MAAM,CAACI,GAAG,IAAI,CAAC/D,UAAU,IAAIW,IAAI,EAAEoD;MAAG,EAC5C;MACP9D,aAAa,CAACuB,OAAO,CAAC;MACtB7B,QAAQ,CAAC6B,OAAO,CAAC;MACjB5B,sBAAsB,CAAC,IAAI,CAAC;IAC9B,CAAC,MAAM;MACL,MAAM;QAAEc,IAAI,EAAE;UAAEC,IAAI,EAAEqD;QAAc,CAAC,GAAG,CAAC;MAAE,CAAC,GAAG,MAAMnD,WAAW,CAAC;QAC/DG,EAAE,EAAEnB,MAAM;QACVoE,SAAS,EAAEC,IAAI,CAACC,GAAG,CAAC;MACtB,CAAC,CAAC;MACF,IAAIH,aAAa,EAAE;QACjB/D,aAAa,CAAC+D,aAAa,CAAC;QAC5BrE,QAAQ,CAACqE,aAAa,CAAC;QACvBpE,sBAAsB,CAAC,IAAI,CAAC;MAC9B;IACF;IAEAQ,yBAAyB,CAAC,KAAK,CAAC;EAClC,CAAC;EAED,IAAIK,OAAO,EAAE,oBAAO5D,MAAA,CAAAsB,OAAA,CAAAiG,aAAA,cAAK,YAAe,CAAC;EAEzC,MAAMC,YAAY,GAAGrE,UAAU,IAAIW,IAAI;EACvC,MAAM2D,iBAAiB,GAAGvB,oBAAoB,CAACsB,YAAY,CAAC;EAE5D,OAAO,CAAC5D,OAAO,gBACb5D,MAAA,CAAAsB,OAAA,CAAAiG,aAAA,CAAAvH,MAAA,CAAAsB,OAAA,CAAAoG,QAAA,QACG,CAAC,CAAC5D,IAAI,iBACL9D,MAAA,CAAAsB,OAAA,CAAAiG,aAAA,CAAC/G,YAAA,CAAAc,OAAW;IACVwC,IAAI,EAAE2D,iBAAkB;IACxB7C,gBAAgB,EAAEA,gBAAiB;IACnC+C,gBAAgB,EAAEA,CAAA,KAAMpE,yBAAyB,CAAC,IAAI,CAAE;IACxDqE,WAAW;IACX3E,gBAAgB,EAAEA;EAAiB,CACpC,CACF,EACAK,sBAAsB,iBACrBtD,MAAA,CAAAsB,OAAA,CAAAiG,aAAA;IAAKM,SAAS,EAAC;EAA2B,gBACxC7H,MAAA,CAAAsB,OAAA,CAAAiG,aAAA,CAAC9G,gBAAA,CAAAa,OAAe;IACdwG,OAAO,EAAEA,CAAA,KAAMvE,yBAAyB,CAAC,KAAK,CAAE;IAChDqD,qBAAqB,EAAEA,qBAAsB;IAC7CmB,YAAY;IACZ/E,MAAM,EAAEA,MAAO;IACf0C,QAAQ,EAAE5B,IAAI,IAAIA,IAAI,CAAC4B,QAAS;IAChCsC,gBAAgB,EAAEA,CAAA,KAAM,CAAC;EAAE,CAC5B,CACE,CAEP,CAAC,gBAEHhI,MAAA,CAAAsB,OAAA,CAAAiG,aAAA,cAAK,YAAe,CACrB;AACH,CAAC;AAED1E,aAAa,CAACoF,SAAS,GAAG;EACxBjF,MAAM,EAAEkF,kBAAS,CAACC,MAAM,CAACC,UAAU;EACnCtF,QAAQ,EAAEoF,kBAAS,CAACG,IAAI,CAACD,UAAU;EACnCrF,sBAAsB,EAAEmF,kBAAS,CAACG,IAAI,CAACD,UAAU;EACjDnF,gBAAgB,EAAEiF,kBAAS,CAACI,IAAI;EAChCpF,WAAW,EAAEgF,kBAAS,CAACK;AACzB,CAAC;AAED1F,aAAa,CAAC2F,YAAY,GAAG;EAC3BvF,gBAAgB,EAAE,KAAK;EACvBC,WAAW,EAAE;AACf,CAAC;AAAC,IAAAuF,QAAA,GAAAC,OAAA,CAAApH,OAAA,GAEauB,aAAa","ignoreList":[]}
1
+ {"version":3,"file":"EditMediaFile.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_adminUiUtils","_client","_toaster","_FilePreview","_FileUploadModal","_constants","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","EditMediaFile","onChange","handleSaveButtonStatus","fileId","showChangeButton","fileUpdated","schemaData","formValues","setFormValues","useState","displayFileUploadModal","setDisplayFileUploadModal","addToast","useToasts","fileQuery","getDynamicQuery","FILE_DEFAULT_PROPS","loading","data","entityData","file","refetch","refetchFile","useQuery","variables","id","fetchPolicy","fileStoresType","getQuery","getFileStores","storeType","visibleInAdmin","useEffect","prevFormValues","updated","handleFormChange","isValid","isNewValueSet","valuesChecked","baseFile","dataValues","reduce","acc","value","isDataPropery","__typename","shouldEnableSaveButton","updatedFile","formData","getFileWithStoreType","sourceFile","base","storeOptions","map","type","key","name","defaultStore","find","isDefault","store","closeModalAndSetValue","isSaving","values","toastMessage","appearance","autoDismiss","url","refreshedFile","timestamp","Date","now","createElement","fileToRender","fileWithStoreType","Fragment","handleChangeFile","displayForm","className","onClose","simpleLayout","storeKey","getSelectedFiles","propTypes","PropTypes","string","isRequired","func","bool","object","defaultProps","_default","exports"],"sources":["../../../src/components/EditMediaFile/EditMediaFile.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { getQuery, getDynamicQuery } from '@blaze-cms/admin-ui-utils';\nimport { useQuery } from '@apollo/client';\nimport { useToasts } from '@blaze-react/toaster';\nimport FilePreview from '../FilePreview';\nimport FileUploadModal from '../FileUploadModal';\nimport { FILE_DEFAULT_PROPS } from '../../constants';\n\nconst EditMediaFile = ({\n onChange,\n handleSaveButtonStatus,\n fileId,\n showChangeButton,\n fileUpdated,\n schemaData\n}) => {\n const [formValues, setFormValues] = useState(null);\n const [displayFileUploadModal, setDisplayFileUploadModal] = useState(false);\n const { addToast } = useToasts();\n\n const fileQuery = getDynamicQuery('DATA_QUERY')(schemaData, fileId, null, FILE_DEFAULT_PROPS);\n const {\n loading,\n data: { entityData: file } = {},\n refetch: refetchFile\n } = useQuery(fileQuery, {\n variables: { id: fileId },\n fetchPolicy: 'cache-and-network'\n });\n\n const fileStoresType = getQuery('GET_FILE_STORES');\n const { data: { getFileStores: storeType = [] } = {} } = useQuery(fileStoresType, {\n variables: { visibleInAdmin: true }\n });\n\n useEffect(() => {\n if (file) {\n setFormValues(prevFormValues => {\n if (!prevFormValues || prevFormValues.updated !== file.updated) {\n return file;\n }\n return prevFormValues;\n });\n }\n }, [file]);\n\n useEffect(() => {\n if (fileUpdated && fileUpdated.updated) {\n setFormValues(fileUpdated);\n }\n }, [fileUpdated]);\n\n const handleFormChange = ({ isValid, isNewValueSet, valuesChecked }) => {\n const baseFile = formValues || file;\n\n const dataValues = valuesChecked.reduce(\n (acc, { id, value, isDataPropery }) => {\n if (isDataPropery) {\n acc.data[id] = value;\n } else {\n acc[id] = value;\n }\n return acc;\n },\n { id: baseFile.id, data: { ...baseFile.data } }\n );\n delete dataValues.data.__typename; // Remove __typename if it exists in data to avoid issues with Apollo cache.\n\n const shouldEnableSaveButton = isNewValueSet && isValid;\n handleSaveButtonStatus(shouldEnableSaveButton);\n\n const updatedFile = {\n ...baseFile,\n ...dataValues\n };\n\n setFormValues(updatedFile);\n onChange({ ...updatedFile, formData: dataValues });\n };\n\n const getFileWithStoreType = sourceFile => {\n const base = sourceFile || file;\n if (storeType && base) {\n const storeOptions = storeType.map(type => [type.key, type.name]);\n const defaultStore = storeType.find(type => type.isDefault) || null;\n return { ...base, store: { defaultStore, storeOptions } };\n }\n return base;\n };\n\n const closeModalAndSetValue = async (isSaving, values, toastMessage) => {\n if (toastMessage) {\n addToast(toastMessage, { appearance: 'success', autoDismiss: true });\n }\n\n if (values) {\n const updated =\n values.id === fileId\n ? values\n : {\n ...(formValues || file),\n ...values,\n url: values.url || (formValues || file).url\n };\n setFormValues(updated);\n onChange(updated);\n handleSaveButtonStatus(true);\n } else {\n const { data: { file: refreshedFile } = {} } = await refetchFile({\n id: fileId,\n timestamp: Date.now()\n });\n if (refreshedFile) {\n setFormValues(refreshedFile);\n onChange(refreshedFile);\n handleSaveButtonStatus(true);\n }\n }\n\n setDisplayFileUploadModal(false);\n };\n\n if (loading) return <div>loading...</div>;\n\n const fileToRender = formValues || file;\n const fileWithStoreType = getFileWithStoreType(fileToRender);\n\n return (\n <>\n {!!file && (\n <FilePreview\n file={fileWithStoreType}\n handleFormChange={handleFormChange}\n handleChangeFile={() => setDisplayFileUploadModal(true)}\n displayForm\n showChangeButton={showChangeButton}\n />\n )}\n {displayFileUploadModal && (\n <div className=\"file-upload-modal-wrapper\">\n <FileUploadModal\n onClose={() => setDisplayFileUploadModal(false)}\n closeModalAndSetValue={closeModalAndSetValue}\n simpleLayout\n fileId={fileId}\n storeKey={file && file.storeKey}\n getSelectedFiles={() => { }}\n />\n </div>\n )}\n </>\n );\n};\n\nEditMediaFile.propTypes = {\n fileId: PropTypes.string.isRequired,\n onChange: PropTypes.func.isRequired,\n handleSaveButtonStatus: PropTypes.func.isRequired,\n showChangeButton: PropTypes.bool,\n fileUpdated: PropTypes.object\n};\n\nEditMediaFile.defaultProps = {\n showChangeButton: false,\n fileUpdated: null\n};\n\nexport default EditMediaFile;\n"],"mappings":"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","ignoreList":[]}
@@ -24,6 +24,16 @@ const EditMediaFilePage = ({
24
24
  const {
25
25
  addToast
26
26
  } = (0, _toaster.useToasts)();
27
+ const {
28
+ data: {
29
+ getEntitySchemas: [schemaData] = []
30
+ } = {},
31
+ loading: schemaLoading
32
+ } = (0, _client.useQuery)((0, _adminUiUtils.getQuery)('GET_ENTITY_SCHEMA'), {
33
+ variables: {
34
+ identifier: 'file'
35
+ }
36
+ });
27
37
  const handleFileChange = values => setFile(values);
28
38
  const handleSaveButtonStatus = value => {
29
39
  setShouldEnableSaveButton(value);
@@ -37,12 +47,7 @@ const EditMediaFilePage = ({
37
47
  return;
38
48
  }
39
49
  try {
40
- const inputData = {
41
- id: file.id,
42
- name: file.name,
43
- data: file.data,
44
- storeKey: file.storeKey
45
- };
50
+ const inputData = file.formData;
46
51
  const {
47
52
  data: {
48
53
  updateFile: updatedFile
@@ -87,6 +92,7 @@ const EditMediaFilePage = ({
87
92
  };
88
93
  const pushBack = () => history.push('/media');
89
94
  const buttonModifiers = shouldEnableSaveButton ? [] : ['disabled'];
95
+ if (schemaLoading) return null;
90
96
  return /*#__PURE__*/_react.default.createElement("div", {
91
97
  className: "page"
92
98
  }, /*#__PURE__*/_react.default.createElement("div", {
@@ -99,7 +105,8 @@ const EditMediaFilePage = ({
99
105
  handleSaveButtonStatus: handleSaveButtonStatus,
100
106
  handleFormSave: handleFormSave,
101
107
  showChangeButton: true,
102
- fileUpdated: file
108
+ fileUpdated: file,
109
+ schemaData: schemaData
103
110
  }), /*#__PURE__*/_react.default.createElement("div", {
104
111
  className: "page__content__mediaWrapperActions"
105
112
  }, /*#__PURE__*/_react.default.createElement(_button.default, {
@@ -1 +1 @@
1
- {"version":3,"file":"EditMediaFilePage.js","names":["_react","_interopRequireWildcard","require","_reactRouterDom","_propTypes","_interopRequireDefault","_button","_client","_adminUiUtils","_toaster","_EditMediaFile","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","EditMediaFilePage","match","history","shouldEnableSaveButton","setShouldEnableSaveButton","useState","file","setFile","client","useApolloClient","addToast","useToasts","handleFileChange","values","handleSaveButtonStatus","value","handleFormSave","appearance","autoDismiss","inputData","id","name","data","storeKey","updateFile","updatedFile","mutate","mutation","getMutation","variables","input","update","cache","fileUpdated","writeQuery","query","getQuery","params","fileId","result","console","error","pushBack","push","buttonModifiers","createElement","className","onChange","showChangeButton","onClick","modifiers","propTypes","PropTypes","object","isRequired","_default","exports","withRouter"],"sources":["../../../src/components/EditMediaFile/EditMediaFilePage.js"],"sourcesContent":["import React, { useState } from 'react';\nimport { withRouter } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport Button from '@blaze-react/button';\nimport { useApolloClient } from '@apollo/client';\nimport { getQuery, getMutation } from '@blaze-cms/admin-ui-utils';\nimport { useToasts } from '@blaze-react/toaster';\nimport EditMediaFile from './EditMediaFile';\n\nconst EditMediaFilePage = ({ match, history }) => {\n const [shouldEnableSaveButton, setShouldEnableSaveButton] = useState(false);\n const [file, setFile] = useState(null);\n const client = useApolloClient();\n const { addToast } = useToasts();\n\n const handleFileChange = values => setFile(values);\n\n const handleSaveButtonStatus = value => {\n setShouldEnableSaveButton(value);\n };\n\n const handleFormSave = async () => {\n if (!file) {\n addToast('No file data to update', {\n appearance: 'error',\n autoDismiss: true\n });\n return;\n }\n\n try {\n const inputData = {\n id: file.id,\n name: file.name,\n data: file.data,\n storeKey: file.storeKey\n };\n\n const {\n data: { updateFile: updatedFile }\n } = await client.mutate({\n mutation: getMutation('UPDATE_FILE'),\n variables: {\n input: inputData\n },\n update(cache, { data: { updateFile: fileUpdated } }) {\n try {\n cache.writeQuery({\n query: getQuery('GET_FILE_BY_ID'),\n variables: { id: match.params.fileId },\n data: { file: fileUpdated.result }\n });\n } catch (e) {\n console.error(e); //eslint-disable-line\n }\n }\n });\n\n setFile(updatedFile.result);\n\n addToast(`File: ${file.name} has been updated`, {\n appearance: 'success',\n autoDismiss: true\n });\n } catch (e) {\n addToast(`File: ${file.name} has not been updated`, {\n appearance: 'error',\n autoDismiss: true\n });\n }\n setShouldEnableSaveButton(false);\n };\n\n const pushBack = () => history.push('/media');\n\n const buttonModifiers = shouldEnableSaveButton ? [] : ['disabled'];\n\n return (\n <div className=\"page\">\n <div className=\"page__content\">\n <div className=\"page__content__mediaWrapper\">\n <EditMediaFile\n onChange={handleFileChange}\n fileId={match.params.fileId}\n handleSaveButtonStatus={handleSaveButtonStatus}\n handleFormSave={handleFormSave}\n showChangeButton\n fileUpdated={file}\n />\n <div className=\"page__content__mediaWrapperActions\">\n <Button onClick={pushBack}>Cancel</Button>\n <Button onClick={handleFormSave} modifiers={buttonModifiers}>\n Apply\n </Button>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nEditMediaFilePage.propTypes = {\n match: PropTypes.object.isRequired,\n history: PropTypes.object.isRequired\n};\n\nexport default withRouter(EditMediaFilePage);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"EditMediaFilePage.js","names":["_react","_interopRequireWildcard","require","_reactRouterDom","_propTypes","_interopRequireDefault","_button","_client","_adminUiUtils","_toaster","_EditMediaFile","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","EditMediaFilePage","match","history","shouldEnableSaveButton","setShouldEnableSaveButton","useState","file","setFile","client","useApolloClient","addToast","useToasts","data","getEntitySchemas","schemaData","loading","schemaLoading","useQuery","getQuery","variables","identifier","handleFileChange","values","handleSaveButtonStatus","value","handleFormSave","appearance","autoDismiss","inputData","formData","updateFile","updatedFile","mutate","mutation","getMutation","input","update","cache","fileUpdated","writeQuery","query","id","params","fileId","result","console","error","name","pushBack","push","buttonModifiers","createElement","className","onChange","showChangeButton","onClick","modifiers","propTypes","PropTypes","object","isRequired","_default","exports","withRouter"],"sources":["../../../src/components/EditMediaFile/EditMediaFilePage.js"],"sourcesContent":["import React, { useState } from 'react';\nimport { withRouter } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport Button from '@blaze-react/button';\nimport { useApolloClient, useQuery } from '@apollo/client';\nimport { getQuery, getMutation } from '@blaze-cms/admin-ui-utils';\nimport { useToasts } from '@blaze-react/toaster';\nimport EditMediaFile from './EditMediaFile';\n\nconst EditMediaFilePage = ({ match, history }) => {\n const [shouldEnableSaveButton, setShouldEnableSaveButton] = useState(false);\n const [file, setFile] = useState(null);\n const client = useApolloClient();\n const { addToast } = useToasts();\n\n const { data: { getEntitySchemas: [schemaData] = [] } = {}, loading: schemaLoading } = useQuery(\n getQuery('GET_ENTITY_SCHEMA'),\n {\n variables: { identifier: 'file' }\n }\n );\n\n const handleFileChange = values => setFile(values);\n\n const handleSaveButtonStatus = value => {\n setShouldEnableSaveButton(value);\n };\n\n const handleFormSave = async () => {\n if (!file) {\n addToast('No file data to update', {\n appearance: 'error',\n autoDismiss: true\n });\n return;\n }\n\n try {\n const inputData = file.formData;\n\n const {\n data: { updateFile: updatedFile }\n } = await client.mutate({\n mutation: getMutation('UPDATE_FILE'),\n variables: {\n input: inputData\n },\n update(cache, { data: { updateFile: fileUpdated } }) {\n try {\n cache.writeQuery({\n query: getQuery('GET_FILE_BY_ID'),\n variables: { id: match.params.fileId },\n data: { file: fileUpdated.result }\n });\n } catch (e) {\n console.error(e); //eslint-disable-line\n }\n }\n });\n\n setFile(updatedFile.result);\n\n addToast(`File: ${file.name} has been updated`, {\n appearance: 'success',\n autoDismiss: true\n });\n } catch (e) {\n addToast(`File: ${file.name} has not been updated`, {\n appearance: 'error',\n autoDismiss: true\n });\n }\n setShouldEnableSaveButton(false);\n };\n\n const pushBack = () => history.push('/media');\n\n const buttonModifiers = shouldEnableSaveButton ? [] : ['disabled'];\n\n if (schemaLoading) return null;\n\n return (\n <div className=\"page\">\n <div className=\"page__content\">\n <div className=\"page__content__mediaWrapper\">\n <EditMediaFile\n onChange={handleFileChange}\n fileId={match.params.fileId}\n handleSaveButtonStatus={handleSaveButtonStatus}\n handleFormSave={handleFormSave}\n showChangeButton\n fileUpdated={file}\n schemaData={schemaData}\n />\n <div className=\"page__content__mediaWrapperActions\">\n <Button onClick={pushBack}>Cancel</Button>\n <Button onClick={handleFormSave} modifiers={buttonModifiers}>\n Apply\n </Button>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nEditMediaFilePage.propTypes = {\n match: PropTypes.object.isRequired,\n history: PropTypes.object.isRequired\n};\n\nexport default withRouter(EditMediaFilePage);\n"],"mappings":"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","ignoreList":[]}