@webiny/app-headless-cms 5.24.0 → 5.25.0-beta.2

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 (427) hide show
  1. package/HeadlessCMS.d.ts +4 -3
  2. package/HeadlessCMS.js.map +1 -0
  3. package/admin/components/ContentEntryForm/ContentEntryForm.js +27 -6
  4. package/admin/components/ContentEntryForm/ContentEntryForm.js.map +1 -0
  5. package/admin/components/ContentEntryForm/ContentEntryFormPreview.js +18 -2
  6. package/admin/components/ContentEntryForm/ContentEntryFormPreview.js.map +1 -0
  7. package/admin/components/ContentEntryForm/Fields.d.ts +1 -2
  8. package/admin/components/ContentEntryForm/Fields.js +1 -1
  9. package/admin/components/ContentEntryForm/Fields.js.map +1 -0
  10. package/admin/components/ContentEntryForm/Label.js.map +1 -0
  11. package/admin/components/ContentEntryForm/RenderFieldElement.d.ts +1 -2
  12. package/admin/components/ContentEntryForm/RenderFieldElement.js.map +1 -0
  13. package/admin/components/ContentEntryForm/functions/createValidators.d.ts +2 -1
  14. package/admin/components/ContentEntryForm/functions/createValidators.js +8 -5
  15. package/admin/components/ContentEntryForm/functions/createValidators.js.map +1 -0
  16. package/admin/components/ContentEntryForm/functions/getValue.d.ts +4 -3
  17. package/admin/components/ContentEntryForm/functions/getValue.js +0 -1
  18. package/admin/components/ContentEntryForm/functions/getValue.js.map +1 -0
  19. package/admin/components/ContentEntryForm/functions/setValue.d.ts +4 -3
  20. package/admin/components/ContentEntryForm/functions/setValue.js +0 -1
  21. package/admin/components/ContentEntryForm/functions/setValue.js.map +1 -0
  22. package/admin/components/ContentEntryForm/useBind.d.ts +3 -7
  23. package/admin/components/ContentEntryForm/useBind.js +6 -0
  24. package/admin/components/ContentEntryForm/useBind.js.map +1 -0
  25. package/admin/components/ContentEntryForm/useContentEntryForm.d.ts +2 -4
  26. package/admin/components/ContentEntryForm/useContentEntryForm.js +75 -26
  27. package/admin/components/ContentEntryForm/useContentEntryForm.js.map +1 -0
  28. package/admin/components/ContentEntryForm/useRenderPlugins.js.map +1 -0
  29. package/admin/components/ContentModelEditor/Context.d.ts +9 -7
  30. package/admin/components/ContentModelEditor/Context.js +158 -36
  31. package/admin/components/ContentModelEditor/Context.js.map +1 -0
  32. package/admin/components/ContentModelEditor/Editor.d.ts +1 -1
  33. package/admin/components/ContentModelEditor/Editor.js +5 -3
  34. package/admin/components/ContentModelEditor/Editor.js.map +1 -0
  35. package/admin/components/ContentModelEditor/FieldsSidebar.js.map +1 -0
  36. package/admin/components/ContentModelEditor/Header.js.map +1 -0
  37. package/admin/components/ContentModelEditor/PreviewTab.js.map +1 -0
  38. package/admin/components/ContentModelEditor/useContentModelEditor.d.ts +1 -1
  39. package/admin/components/ContentModelEditor/useContentModelEditor.js.map +1 -0
  40. package/admin/components/DragPreview.js +6 -1
  41. package/admin/components/DragPreview.js.map +1 -0
  42. package/admin/components/Draggable.js.map +1 -0
  43. package/admin/components/DropZone/Center.js.map +1 -0
  44. package/admin/components/DropZone/Horizontal.js +1 -1
  45. package/admin/components/DropZone/Horizontal.js.map +1 -0
  46. package/admin/components/DropZone/Vertical.js +1 -1
  47. package/admin/components/DropZone/Vertical.js.map +1 -0
  48. package/admin/components/DropZone/index.js.map +1 -0
  49. package/admin/components/Droppable.js.map +1 -0
  50. package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.js.map +1 -0
  51. package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js +14 -4
  52. package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js.map +1 -0
  53. package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.js +5 -1
  54. package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.js.map +1 -0
  55. package/admin/components/FieldEditor/EditFieldDialog/ValidatorsTab.d.ts +9 -4
  56. package/admin/components/FieldEditor/EditFieldDialog/ValidatorsTab.js +13 -6
  57. package/admin/components/FieldEditor/EditFieldDialog/ValidatorsTab.js.map +1 -0
  58. package/admin/components/FieldEditor/EditFieldDialog/functions/getValue.d.ts +2 -1
  59. package/admin/components/FieldEditor/EditFieldDialog/functions/getValue.js.map +1 -0
  60. package/admin/components/FieldEditor/EditFieldDialog/functions/setValue.d.ts +2 -1
  61. package/admin/components/FieldEditor/EditFieldDialog/functions/setValue.js +0 -1
  62. package/admin/components/FieldEditor/EditFieldDialog/functions/setValue.js.map +1 -0
  63. package/admin/components/FieldEditor/EditFieldDialog.d.ts +1 -1
  64. package/admin/components/FieldEditor/EditFieldDialog.js +35 -18
  65. package/admin/components/FieldEditor/EditFieldDialog.js.map +1 -0
  66. package/admin/components/FieldEditor/Field.js +2 -2
  67. package/admin/components/FieldEditor/Field.js.map +1 -0
  68. package/admin/components/FieldEditor/FieldEditor.js.map +1 -0
  69. package/admin/components/FieldEditor/FieldEditorContext.d.ts +9 -9
  70. package/admin/components/FieldEditor/FieldEditorContext.js +43 -15
  71. package/admin/components/FieldEditor/FieldEditorContext.js.map +1 -0
  72. package/admin/components/FieldEditor/Styled.d.ts +2 -3
  73. package/admin/components/FieldEditor/Styled.js.map +1 -0
  74. package/admin/components/FieldEditor/index.js.map +1 -0
  75. package/admin/components/FieldEditor/useFieldEditor.js.map +1 -0
  76. package/admin/components/FieldEditor/utils/deleteField.d.ts +5 -5
  77. package/admin/components/FieldEditor/utils/deleteField.js +4 -0
  78. package/admin/components/FieldEditor/utils/deleteField.js.map +1 -0
  79. package/admin/components/FieldEditor/utils/getFieldPosition.d.ts +2 -2
  80. package/admin/components/FieldEditor/utils/getFieldPosition.js +3 -2
  81. package/admin/components/FieldEditor/utils/getFieldPosition.js.map +1 -0
  82. package/admin/components/FieldEditor/utils/index.js.map +1 -0
  83. package/admin/components/FieldEditor/utils/moveField.d.ts +2 -2
  84. package/admin/components/FieldEditor/utils/moveField.js +3 -1
  85. package/admin/components/FieldEditor/utils/moveField.js.map +1 -0
  86. package/admin/components/FieldEditor/utils/moveRow.js.map +1 -0
  87. package/admin/constants/statusLabels.js.map +1 -0
  88. package/admin/contexts/Cms/NetworkError.js.map +1 -0
  89. package/admin/contexts/Cms/index.js +22 -7
  90. package/admin/contexts/Cms/index.js.map +1 -0
  91. package/admin/elements/ContentGroupMenuElement.js.map +1 -0
  92. package/admin/elements/ContentModelMenuElement.js.map +1 -0
  93. package/admin/elements/NothingToShowElement.js.map +1 -0
  94. package/admin/graphql/contentEntries.d.ts +8 -8
  95. package/admin/graphql/contentEntries.js.map +1 -0
  96. package/admin/graphql/contentModels.d.ts +2 -2
  97. package/admin/graphql/contentModels.js.map +1 -0
  98. package/admin/graphql/createFieldsList.js.map +1 -0
  99. package/admin/hooks/index.js.map +1 -0
  100. package/admin/hooks/useApolloClient.js.map +1 -0
  101. package/admin/hooks/useCms.js.map +1 -0
  102. package/admin/hooks/useLazyQuery.d.ts +2 -1
  103. package/admin/hooks/useLazyQuery.js.map +1 -0
  104. package/admin/hooks/useMutation.d.ts +2 -1
  105. package/admin/hooks/useMutation.js.map +1 -0
  106. package/admin/hooks/usePermission.js +20 -19
  107. package/admin/hooks/usePermission.js.map +1 -0
  108. package/admin/hooks/useQuery.d.ts +2 -2
  109. package/admin/hooks/useQuery.js.map +1 -0
  110. package/admin/hooks/useQueryLocale.d.ts +2 -2
  111. package/admin/hooks/useQueryLocale.js.map +1 -0
  112. package/admin/menus/CmsMenuLoader.js.map +1 -0
  113. package/admin/menus/ContentGroupsMenuItems.js +1 -1
  114. package/admin/menus/ContentGroupsMenuItems.js.map +1 -0
  115. package/admin/menus/GlobalSearchPlugins.d.ts +0 -1
  116. package/admin/menus/GlobalSearchPlugins.js +1 -1
  117. package/admin/menus/GlobalSearchPlugins.js.map +1 -0
  118. package/admin/menus/NothingToShowElement.js.map +1 -0
  119. package/admin/plugins/apiInformation/index.js +3 -3
  120. package/admin/plugins/apiInformation/index.js.map +1 -0
  121. package/admin/plugins/definitions/CmsEditorFieldValidatorFileTypePlugin.js.map +1 -0
  122. package/admin/plugins/definitions/CmsFieldValidatorFileTypePlugin.js.map +1 -0
  123. package/admin/plugins/editor/defaultBar/BackButton.js +4 -2
  124. package/admin/plugins/editor/defaultBar/BackButton.js.map +1 -0
  125. package/admin/plugins/editor/defaultBar/CreateContentButton.js.map +1 -0
  126. package/admin/plugins/editor/defaultBar/Divider.d.ts +1 -2
  127. package/admin/plugins/editor/defaultBar/Divider.js.map +1 -0
  128. package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js +11 -1
  129. package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js.map +1 -0
  130. package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsButton.js.map +1 -0
  131. package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsStyled.d.ts +2 -2
  132. package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsStyled.js.map +1 -0
  133. package/admin/plugins/editor/defaultBar/FormSettings/index.js.map +1 -0
  134. package/admin/plugins/editor/defaultBar/Name/Name.js +1 -1
  135. package/admin/plugins/editor/defaultBar/Name/Name.js.map +1 -0
  136. package/admin/plugins/editor/defaultBar/Name/NameStyled.d.ts +3 -4
  137. package/admin/plugins/editor/defaultBar/Name/NameStyled.js.map +1 -0
  138. package/admin/plugins/editor/defaultBar/Name/index.js.map +1 -0
  139. package/admin/plugins/editor/defaultBar/SaveContentModelButton.js +37 -32
  140. package/admin/plugins/editor/defaultBar/SaveContentModelButton.js.map +1 -0
  141. package/admin/plugins/editor/defaultBar/index.d.ts +0 -1
  142. package/admin/plugins/editor/defaultBar/index.js.map +1 -0
  143. package/admin/plugins/editor/formSettings/components/GeneralSettings.d.ts +0 -1
  144. package/admin/plugins/editor/formSettings/components/GeneralSettings.js.map +1 -0
  145. package/admin/plugins/editor/formSettings/components/GroupSelect.d.ts +0 -1
  146. package/admin/plugins/editor/formSettings/components/GroupSelect.js +1 -1
  147. package/admin/plugins/editor/formSettings/components/GroupSelect.js.map +1 -0
  148. package/admin/plugins/editor/formSettings/index.js.map +1 -0
  149. package/admin/plugins/fieldRenderers/Accordion.d.ts +1 -1
  150. package/admin/plugins/fieldRenderers/Accordion.js +1 -1
  151. package/admin/plugins/fieldRenderers/Accordion.js.map +1 -0
  152. package/admin/plugins/fieldRenderers/DynamicSection.d.ts +7 -1
  153. package/admin/plugins/fieldRenderers/DynamicSection.js +7 -4
  154. package/admin/plugins/fieldRenderers/DynamicSection.js.map +1 -0
  155. package/admin/plugins/fieldRenderers/boolean/booleanSwitch.js +0 -1
  156. package/admin/plugins/fieldRenderers/boolean/booleanSwitch.js.map +1 -0
  157. package/admin/plugins/fieldRenderers/boolean/index.js.map +1 -0
  158. package/admin/plugins/fieldRenderers/checkboxes.js +11 -6
  159. package/admin/plugins/fieldRenderers/checkboxes.js.map +1 -0
  160. package/admin/plugins/fieldRenderers/dateTime/DateOnly.d.ts +2 -1
  161. package/admin/plugins/fieldRenderers/dateTime/DateOnly.js +40 -9
  162. package/admin/plugins/fieldRenderers/dateTime/DateOnly.js.map +1 -0
  163. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.d.ts +2 -2
  164. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.js +74 -18
  165. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.js.map +1 -0
  166. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.d.ts +2 -2
  167. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.js +72 -16
  168. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.js.map +1 -0
  169. package/admin/plugins/fieldRenderers/dateTime/Input.js.map +1 -0
  170. package/admin/plugins/fieldRenderers/dateTime/Select.js.map +1 -0
  171. package/admin/plugins/fieldRenderers/dateTime/Time.js.map +1 -0
  172. package/admin/plugins/fieldRenderers/dateTime/dateTimeField.js +4 -4
  173. package/admin/plugins/fieldRenderers/dateTime/dateTimeField.js.map +1 -0
  174. package/admin/plugins/fieldRenderers/dateTime/dateTimeFields.js +15 -10
  175. package/admin/plugins/fieldRenderers/dateTime/dateTimeFields.js.map +1 -0
  176. package/admin/plugins/fieldRenderers/dateTime/index.js.map +1 -0
  177. package/admin/plugins/fieldRenderers/dateTime/utils.d.ts +3 -3
  178. package/admin/plugins/fieldRenderers/dateTime/utils.js.map +1 -0
  179. package/admin/plugins/fieldRenderers/file/File.d.ts +4 -4
  180. package/admin/plugins/fieldRenderers/file/File.js +9 -3
  181. package/admin/plugins/fieldRenderers/file/File.js.map +1 -0
  182. package/admin/plugins/fieldRenderers/file/fileField.js +4 -4
  183. package/admin/plugins/fieldRenderers/file/fileField.js.map +1 -0
  184. package/admin/plugins/fieldRenderers/file/fileFields.js +10 -5
  185. package/admin/plugins/fieldRenderers/file/fileFields.js.map +1 -0
  186. package/admin/plugins/fieldRenderers/file/index.js.map +1 -0
  187. package/admin/plugins/fieldRenderers/file/utils.d.ts +0 -1
  188. package/admin/plugins/fieldRenderers/file/utils.js +2 -2
  189. package/admin/plugins/fieldRenderers/file/utils.js.map +1 -0
  190. package/admin/plugins/fieldRenderers/longText/index.js.map +1 -0
  191. package/admin/plugins/fieldRenderers/longText/longText.js +0 -1
  192. package/admin/plugins/fieldRenderers/longText/longText.js.map +1 -0
  193. package/admin/plugins/fieldRenderers/longText/longTexts.js +1 -1
  194. package/admin/plugins/fieldRenderers/longText/longTexts.js.map +1 -0
  195. package/admin/plugins/fieldRenderers/number/index.js.map +1 -0
  196. package/admin/plugins/fieldRenderers/number/numberInput.js +0 -1
  197. package/admin/plugins/fieldRenderers/number/numberInput.js.map +1 -0
  198. package/admin/plugins/fieldRenderers/number/numberInputs.js +1 -1
  199. package/admin/plugins/fieldRenderers/number/numberInputs.js.map +1 -0
  200. package/admin/plugins/fieldRenderers/object/StyledComponents.js.map +1 -0
  201. package/admin/plugins/fieldRenderers/object/index.js.map +1 -0
  202. package/admin/plugins/fieldRenderers/object/multipleObjects.js +5 -5
  203. package/admin/plugins/fieldRenderers/object/multipleObjects.js.map +1 -0
  204. package/admin/plugins/fieldRenderers/object/singleObject.js +3 -2
  205. package/admin/plugins/fieldRenderers/object/singleObject.js.map +1 -0
  206. package/admin/plugins/fieldRenderers/radioButtons.js +11 -5
  207. package/admin/plugins/fieldRenderers/radioButtons.js.map +1 -0
  208. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.d.ts +2 -1
  209. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.js +2 -4
  210. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.js.map +1 -0
  211. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.d.ts +2 -1
  212. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.js.map +1 -0
  213. package/admin/plugins/fieldRenderers/ref/components/MissingEntryHelpText.d.ts +3 -2
  214. package/admin/plugins/fieldRenderers/ref/components/MissingEntryHelpText.js.map +1 -0
  215. package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.js +14 -8
  216. package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.js.map +1 -0
  217. package/admin/plugins/fieldRenderers/ref/components/createEntryUrl.js.map +1 -0
  218. package/admin/plugins/fieldRenderers/ref/components/getOptions.d.ts +4 -3
  219. package/admin/plugins/fieldRenderers/ref/components/getOptions.js +1 -1
  220. package/admin/plugins/fieldRenderers/ref/components/getOptions.js.map +1 -0
  221. package/admin/plugins/fieldRenderers/ref/components/graphql.d.ts +4 -14
  222. package/admin/plugins/fieldRenderers/ref/components/graphql.js +1 -1
  223. package/admin/plugins/fieldRenderers/ref/components/graphql.js.map +1 -0
  224. package/admin/plugins/fieldRenderers/ref/components/renderItem.js.map +1 -0
  225. package/admin/plugins/fieldRenderers/ref/components/useReference.d.ts +6 -11
  226. package/admin/plugins/fieldRenderers/ref/components/useReference.js +4 -3
  227. package/admin/plugins/fieldRenderers/ref/components/useReference.js.map +1 -0
  228. package/admin/plugins/fieldRenderers/ref/components/useReferences.d.ts +3 -9
  229. package/admin/plugins/fieldRenderers/ref/components/useReferences.js +1 -2
  230. package/admin/plugins/fieldRenderers/ref/components/useReferences.js.map +1 -0
  231. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntry.js +4 -3
  232. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntry.js.map +1 -0
  233. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntryDialog.js +6 -1
  234. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntryDialog.js.map +1 -0
  235. package/admin/plugins/fieldRenderers/ref/index.js.map +1 -0
  236. package/admin/plugins/fieldRenderers/ref/refInput.js +0 -1
  237. package/admin/plugins/fieldRenderers/ref/refInput.js.map +1 -0
  238. package/admin/plugins/fieldRenderers/ref/refInputs.js +1 -2
  239. package/admin/plugins/fieldRenderers/ref/refInputs.js.map +1 -0
  240. package/admin/plugins/fieldRenderers/richText/index.js.map +1 -0
  241. package/admin/plugins/fieldRenderers/richText/richTextInput.js +5 -1
  242. package/admin/plugins/fieldRenderers/richText/richTextInput.js.map +1 -0
  243. package/admin/plugins/fieldRenderers/richText/richTextInputs.js +9 -3
  244. package/admin/plugins/fieldRenderers/richText/richTextInputs.js.map +1 -0
  245. package/admin/plugins/fieldRenderers/select.js +28 -7
  246. package/admin/plugins/fieldRenderers/select.js.map +1 -0
  247. package/admin/plugins/fieldRenderers/text/index.js.map +1 -0
  248. package/admin/plugins/fieldRenderers/text/textInput.js +0 -1
  249. package/admin/plugins/fieldRenderers/text/textInput.js.map +1 -0
  250. package/admin/plugins/fieldRenderers/text/textInputs.js +1 -1
  251. package/admin/plugins/fieldRenderers/text/textInputs.js.map +1 -0
  252. package/admin/plugins/fieldValidators/date/availableValidators.d.ts +1 -1
  253. package/admin/plugins/fieldValidators/date/availableValidators.js.map +1 -0
  254. package/admin/plugins/fieldValidators/date/createDateInputField.d.ts +0 -1
  255. package/admin/plugins/fieldValidators/date/createDateInputField.js +5 -3
  256. package/admin/plugins/fieldValidators/date/createDateInputField.js.map +1 -0
  257. package/admin/plugins/fieldValidators/dateGte.js +1 -1
  258. package/admin/plugins/fieldValidators/dateGte.js.map +1 -0
  259. package/admin/plugins/fieldValidators/dateLte.js +1 -1
  260. package/admin/plugins/fieldValidators/dateLte.js.map +1 -0
  261. package/admin/plugins/fieldValidators/gte.js.map +1 -0
  262. package/admin/plugins/fieldValidators/in.js.map +1 -0
  263. package/admin/plugins/fieldValidators/lte.js.map +1 -0
  264. package/admin/plugins/fieldValidators/maxLength.js.map +1 -0
  265. package/admin/plugins/fieldValidators/minLength.js.map +1 -0
  266. package/admin/plugins/fieldValidators/pattern.js +6 -0
  267. package/admin/plugins/fieldValidators/pattern.js.map +1 -0
  268. package/admin/plugins/fieldValidators/patternPlugins/email.js.map +1 -0
  269. package/admin/plugins/fieldValidators/patternPlugins/lowerCase.js.map +1 -0
  270. package/admin/plugins/fieldValidators/patternPlugins/lowerCaseSpace.js.map +1 -0
  271. package/admin/plugins/fieldValidators/patternPlugins/upperCase.js.map +1 -0
  272. package/admin/plugins/fieldValidators/patternPlugins/upperCaseSpace.js.map +1 -0
  273. package/admin/plugins/fieldValidators/patternPlugins/url.js.map +1 -0
  274. package/admin/plugins/fieldValidators/required.js.map +1 -0
  275. package/admin/plugins/fieldValidators/unique.js.map +1 -0
  276. package/admin/plugins/fields/PredefinedValuesDynamicFieldset.js.map +1 -0
  277. package/admin/plugins/fields/boolean.js.map +1 -0
  278. package/admin/plugins/fields/dateTime.js.map +1 -0
  279. package/admin/plugins/fields/file.js +2 -2
  280. package/admin/plugins/fields/file.js.map +1 -0
  281. package/admin/plugins/fields/longText.js.map +1 -0
  282. package/admin/plugins/fields/number.js.map +1 -0
  283. package/admin/plugins/fields/object/ObjectFields.js +2 -2
  284. package/admin/plugins/fields/object/ObjectFields.js.map +1 -0
  285. package/admin/plugins/fields/object.js +1 -1
  286. package/admin/plugins/fields/object.js.map +1 -0
  287. package/admin/plugins/fields/ref.js +5 -5
  288. package/admin/plugins/fields/ref.js.map +1 -0
  289. package/admin/plugins/fields/richText.js.map +1 -0
  290. package/admin/plugins/fields/text.js.map +1 -0
  291. package/admin/plugins/getObjectId.js.map +1 -0
  292. package/admin/plugins/icons.js +10 -3
  293. package/admin/plugins/icons.js.map +1 -0
  294. package/admin/plugins/index.d.ts +0 -1
  295. package/admin/plugins/index.js.map +1 -0
  296. package/admin/plugins/install.js +11 -7
  297. package/admin/plugins/install.js.map +1 -0
  298. package/admin/plugins/permissionRenderer/CmsPermissions.js +14 -9
  299. package/admin/plugins/permissionRenderer/CmsPermissions.js.map +1 -0
  300. package/admin/plugins/permissionRenderer/components/ContentEntryPermission.d.ts +2 -2
  301. package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js +7 -6
  302. package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js.map +1 -0
  303. package/admin/plugins/permissionRenderer/components/ContentModelGroupPermission.d.ts +2 -2
  304. package/admin/plugins/permissionRenderer/components/ContentModelGroupPermission.js +7 -6
  305. package/admin/plugins/permissionRenderer/components/ContentModelGroupPermission.js.map +1 -0
  306. package/admin/plugins/permissionRenderer/components/ContentModelList.js.map +1 -0
  307. package/admin/plugins/permissionRenderer/components/ContentModelPermission.d.ts +2 -2
  308. package/admin/plugins/permissionRenderer/components/ContentModelPermission.js +7 -6
  309. package/admin/plugins/permissionRenderer/components/ContentModelPermission.js.map +1 -0
  310. package/admin/plugins/permissionRenderer/components/PermissionRendererWrapper.js.map +1 -0
  311. package/admin/plugins/permissionRenderer/components/PermissionSelector.d.ts +1 -1
  312. package/admin/plugins/permissionRenderer/components/PermissionSelector.js +13 -1
  313. package/admin/plugins/permissionRenderer/components/PermissionSelector.js.map +1 -0
  314. package/admin/plugins/permissionRenderer/components/StyledComponents.d.ts +1 -2
  315. package/admin/plugins/permissionRenderer/components/StyledComponents.js.map +1 -0
  316. package/admin/plugins/permissionRenderer/components/types.js.map +1 -0
  317. package/admin/plugins/permissionRenderer/components/useCmsData.js +4 -6
  318. package/admin/plugins/permissionRenderer/components/useCmsData.js.map +1 -0
  319. package/admin/plugins/permissionRenderer/index.js.map +1 -0
  320. package/admin/plugins/routes.js.map +1 -0
  321. package/admin/plugins/transformers/dateTransformer.js +20 -24
  322. package/admin/plugins/transformers/dateTransformer.js.map +1 -0
  323. package/admin/plugins/transformers/index.js.map +1 -0
  324. package/admin/plugins/transformers/numberTransformer.js.map +1 -0
  325. package/admin/plugins/upgrades/5.19.0/UpgradeItemsInfo.d.ts +1 -1
  326. package/admin/plugins/upgrades/5.19.0/UpgradeItemsInfo.js.map +1 -0
  327. package/admin/plugins/upgrades/5.19.0/createCmsApolloClient.d.ts +2 -2
  328. package/admin/plugins/upgrades/5.19.0/createCmsApolloClient.js.map +1 -0
  329. package/admin/plugins/upgrades/5.19.0/createListEntriesQuery.js.map +1 -0
  330. package/admin/plugins/upgrades/5.19.0/createListModelsQuery.js.map +1 -0
  331. package/admin/plugins/upgrades/5.19.0/createRepublishMutation.js.map +1 -0
  332. package/admin/plugins/upgrades/5.19.0/createUpgradeMutation.js.map +1 -0
  333. package/admin/plugins/upgrades/5.19.0/fetchModelEntries.d.ts +2 -2
  334. package/admin/plugins/upgrades/5.19.0/fetchModelEntries.js.map +1 -0
  335. package/admin/plugins/upgrades/5.19.0/types.js.map +1 -0
  336. package/admin/plugins/upgrades/v5.0.0.d.ts +0 -1
  337. package/admin/plugins/upgrades/v5.0.0.js.map +1 -0
  338. package/admin/plugins/upgrades/v5.19.0.d.ts +0 -1
  339. package/admin/plugins/upgrades/v5.19.0.js.map +1 -0
  340. package/admin/plugins/upgrades/v5.5.0.d.ts +0 -1
  341. package/admin/plugins/upgrades/v5.5.0.js.map +1 -0
  342. package/admin/plugins/upgrades/v5.8.0.d.ts +0 -1
  343. package/admin/plugins/upgrades/v5.8.0.js.map +1 -0
  344. package/admin/plugins/validators/dateGte.js.map +1 -0
  345. package/admin/plugins/validators/dateLte.js.map +1 -0
  346. package/admin/plugins/validators/gte.js.map +1 -0
  347. package/admin/plugins/validators/in.js.map +1 -0
  348. package/admin/plugins/validators/lte.js.map +1 -0
  349. package/admin/plugins/validators/maxLength.js.map +1 -0
  350. package/admin/plugins/validators/minLength.js.map +1 -0
  351. package/admin/plugins/validators/pattern.js.map +1 -0
  352. package/admin/plugins/validators/patternPlugins/email.js.map +1 -0
  353. package/admin/plugins/validators/patternPlugins/lowerCase.js.map +1 -0
  354. package/admin/plugins/validators/patternPlugins/lowerCaseSpace.js.map +1 -0
  355. package/admin/plugins/validators/patternPlugins/upperCase.js.map +1 -0
  356. package/admin/plugins/validators/patternPlugins/upperCaseSpace.js.map +1 -0
  357. package/admin/plugins/validators/patternPlugins/url.js.map +1 -0
  358. package/admin/plugins/validators/required.js.map +1 -0
  359. package/admin/plugins/validators/timeGte.js.map +1 -0
  360. package/admin/plugins/validators/timeLte.js.map +1 -0
  361. package/admin/plugins/validators/unique.js.map +1 -0
  362. package/admin/plugins/welcomeScreenWidget.js.map +1 -0
  363. package/admin/views/contentEntries/ContentEntries.js +2 -2
  364. package/admin/views/contentEntries/ContentEntries.js.map +1 -0
  365. package/admin/views/contentEntries/ContentEntriesContext.js +13 -4
  366. package/admin/views/contentEntries/ContentEntriesContext.js.map +1 -0
  367. package/admin/views/contentEntries/ContentEntriesList.js.map +1 -0
  368. package/admin/views/contentEntries/ContentEntry/ContentEntryContext.d.ts +10 -7
  369. package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js +85 -4
  370. package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js.map +1 -0
  371. package/admin/views/contentEntries/ContentEntry/RevisionListItem.js +4 -2
  372. package/admin/views/contentEntries/ContentEntry/RevisionListItem.js.map +1 -0
  373. package/admin/views/contentEntries/ContentEntry/RevisionsList.js.map +1 -0
  374. package/admin/views/contentEntries/ContentEntry/cache.js +19 -23
  375. package/admin/views/contentEntries/ContentEntry/cache.js.map +1 -0
  376. package/admin/views/contentEntries/ContentEntry/header/Header.js.map +1 -0
  377. package/admin/views/contentEntries/ContentEntry/header/contentFormOptionsMenu/ContentFormOptionsMenu.js +15 -8
  378. package/admin/views/contentEntries/ContentEntry/header/contentFormOptionsMenu/ContentFormOptionsMenu.js.map +1 -0
  379. package/admin/views/contentEntries/ContentEntry/header/index.js.map +1 -0
  380. package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.d.ts +1 -2
  381. package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.js.map +1 -0
  382. package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.js.map +1 -0
  383. package/admin/views/contentEntries/ContentEntry/header/revisionSelector/RevisionSelector.js +8 -7
  384. package/admin/views/contentEntries/ContentEntry/header/revisionSelector/RevisionSelector.js.map +1 -0
  385. package/admin/views/contentEntries/ContentEntry/header/saveAndPublishContent/SaveAndPublishContent.js +2 -2
  386. package/admin/views/contentEntries/ContentEntry/header/saveAndPublishContent/SaveAndPublishContent.js.map +1 -0
  387. package/admin/views/contentEntries/ContentEntry/header/saveContent/SaveContent.js +2 -2
  388. package/admin/views/contentEntries/ContentEntry/header/saveContent/SaveContent.js.map +1 -0
  389. package/admin/views/contentEntries/ContentEntry/prepareFormData.js +2 -1
  390. package/admin/views/contentEntries/ContentEntry/prepareFormData.js.map +1 -0
  391. package/admin/views/contentEntries/ContentEntry/useRevision.js +105 -47
  392. package/admin/views/contentEntries/ContentEntry/useRevision.js.map +1 -0
  393. package/admin/views/contentEntries/ContentEntry.js.map +1 -0
  394. package/admin/views/contentEntries/hooks/useContentEntries.js.map +1 -0
  395. package/admin/views/contentEntries/hooks/useContentEntriesList.d.ts +1 -2
  396. package/admin/views/contentEntries/hooks/useContentEntriesList.js +4 -4
  397. package/admin/views/contentEntries/hooks/useContentEntriesList.js.map +1 -0
  398. package/admin/views/contentEntries/hooks/useContentEntry.js.map +1 -0
  399. package/admin/views/contentModelGroups/ContentModelGroups.js +4 -3
  400. package/admin/views/contentModelGroups/ContentModelGroups.js.map +1 -0
  401. package/admin/views/contentModelGroups/ContentModelGroupsDataList.js +6 -3
  402. package/admin/views/contentModelGroups/ContentModelGroupsDataList.js.map +1 -0
  403. package/admin/views/contentModelGroups/ContentModelGroupsForm.js +23 -8
  404. package/admin/views/contentModelGroups/ContentModelGroupsForm.js.map +1 -0
  405. package/admin/views/contentModelGroups/DelayedOnChange.js.map +1 -0
  406. package/admin/views/contentModelGroups/IconPicker.js +11 -3
  407. package/admin/views/contentModelGroups/IconPicker.js.map +1 -0
  408. package/admin/views/contentModelGroups/graphql.js.map +1 -0
  409. package/admin/views/contentModels/CloneContentModelDialog.js +25 -34
  410. package/admin/views/contentModels/CloneContentModelDialog.js.map +1 -0
  411. package/admin/views/contentModels/ContentModelEditor.js +2 -2
  412. package/admin/views/contentModels/ContentModelEditor.js.map +1 -0
  413. package/admin/views/contentModels/ContentModels.js +5 -4
  414. package/admin/views/contentModels/ContentModels.js.map +1 -0
  415. package/admin/views/contentModels/ContentModelsDataList.js +9 -2
  416. package/admin/views/contentModels/ContentModelsDataList.js.map +1 -0
  417. package/admin/views/contentModels/NewContentModelDialog.js +17 -3
  418. package/admin/views/contentModels/NewContentModelDialog.js.map +1 -0
  419. package/admin/views/contentModels/cache.js +38 -12
  420. package/admin/views/contentModels/cache.js.map +1 -0
  421. package/admin/views/contentModels/types.js.map +1 -0
  422. package/admin/views/utils.js.map +1 -0
  423. package/admin/viewsGraphql.js.map +1 -0
  424. package/index.js.map +1 -0
  425. package/package.json +26 -25
  426. package/types.d.ts +41 -7
  427. package/types.js.map +1 -0
@@ -49,7 +49,7 @@ export var useRevision = function useRevision(_ref) {
49
49
  createRevision: function createRevision() {
50
50
  return /*#__PURE__*/function () {
51
51
  var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(id) {
52
- var _yield$client$mutate, res, _res$content, data, error;
52
+ var createResponse, _createResponse$data$, data, error;
53
53
 
54
54
  return _regeneratorRuntime.wrap(function _callee$(_context) {
55
55
  while (1) {
@@ -62,31 +62,60 @@ export var useRevision = function useRevision(_ref) {
62
62
  variables: {
63
63
  revision: id || revision.id
64
64
  },
65
- update: function update(cache, _ref3) {
66
- var data = _ref3.data;
67
- var newRevision = data.content.data;
65
+ update: function update(cache, result) {
66
+ if (!result || !result.data) {
67
+ showSnackbar("Missing result in update callback on Create Revision Mutation.");
68
+ return;
69
+ }
70
+
71
+ var newRevision = result.data.content.data;
72
+
73
+ if (!newRevision) {
74
+ showSnackbar("Missing revision data in update callback on Create Revision Mutation.");
75
+ return;
76
+ }
77
+
68
78
  GQLCache.updateLatestRevisionInListCache(contentModel, cache, newRevision, listQueryVariables);
69
79
  GQLCache.addRevisionToRevisionsCache(contentModel, cache, newRevision);
70
80
  }
71
81
  });
72
82
 
73
83
  case 3:
74
- _yield$client$mutate = _context.sent;
75
- res = _yield$client$mutate.data;
84
+ createResponse = _context.sent;
76
85
  setLoading(false);
77
- _res$content = res.content, data = _res$content.data, error = _res$content.error;
86
+
87
+ if (!(!createResponse || !createResponse.data)) {
88
+ _context.next = 8;
89
+ break;
90
+ }
91
+
92
+ showSnackbar("Missing response data in Create Revision Callable.");
93
+ return _context.abrupt("return");
94
+
95
+ case 8:
96
+ _createResponse$data$ = createResponse.data.content, data = _createResponse$data$.data, error = _createResponse$data$.error;
78
97
 
79
98
  if (!error) {
80
- _context.next = 9;
99
+ _context.next = 14;
81
100
  break;
82
101
  }
83
102
 
84
- return _context.abrupt("return", showSnackbar(error.message));
103
+ showSnackbar(error.message);
104
+ return _context.abrupt("return");
105
+
106
+ case 14:
107
+ if (data) {
108
+ _context.next = 17;
109
+ break;
110
+ }
111
+
112
+ showSnackbar("Missing data in Create Revision callable.");
113
+ return _context.abrupt("return");
85
114
 
86
- case 9:
115
+ case 17:
87
116
  history.push("/cms/content-entries/".concat(modelId, "?id=").concat(encodeURIComponent(data.id)));
88
117
 
89
- case 10:
118
+ case 18:
90
119
  case "end":
91
120
  return _context.stop();
92
121
  }
@@ -104,10 +133,10 @@ export var useRevision = function useRevision(_ref) {
104
133
  history.push("/cms/content-entries/".concat(modelId, "/?id=").concat(encodeURIComponent(id || revision.id)));
105
134
  };
106
135
  },
107
- deleteRevision: function deleteRevision(_ref4) {
108
- var entry = _ref4.entry;
136
+ deleteRevision: function deleteRevision(_ref3) {
137
+ var entry = _ref3.entry;
109
138
  return /*#__PURE__*/function () {
110
- var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(id) {
139
+ var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(id) {
111
140
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
112
141
  while (1) {
113
142
  switch (_context2.prev = _context2.next) {
@@ -119,9 +148,13 @@ export var useRevision = function useRevision(_ref) {
119
148
  variables: {
120
149
  revision: id || revision.id
121
150
  },
122
- update: function update(cache, _ref6) {
123
- var data = _ref6.data;
124
- var error = data.content.error;
151
+ update: function update(cache, result) {
152
+ if (!result || !result.data) {
153
+ showSnackbar("Missing result in update callback on Delete Mutation.");
154
+ return;
155
+ }
156
+
157
+ var error = result.data.content.error;
125
158
 
126
159
  if (error) {
127
160
  showSnackbar(error.message);
@@ -155,13 +188,13 @@ export var useRevision = function useRevision(_ref) {
155
188
  }));
156
189
 
157
190
  return function (_x2) {
158
- return _ref5.apply(this, arguments);
191
+ return _ref4.apply(this, arguments);
159
192
  };
160
193
  }();
161
194
  },
162
195
  publishRevision: function publishRevision() {
163
196
  return /*#__PURE__*/function () {
164
- var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(id) {
197
+ var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(id) {
165
198
  return _regeneratorRuntime.wrap(function _callee3$(_context3) {
166
199
  while (1) {
167
200
  switch (_context3.prev = _context3.next) {
@@ -173,14 +206,22 @@ export var useRevision = function useRevision(_ref) {
173
206
  variables: {
174
207
  revision: id || revision.id
175
208
  },
176
- update: function update(cache, _ref8) {
177
- var data = _ref8.data;
178
- var _data$content = data.content,
179
- published = _data$content.data,
180
- error = _data$content.error;
209
+ update: function update(cache, result) {
210
+ if (!result || !result.data) {
211
+ showSnackbar("Missing result in update callback on Publish Mutation.");
212
+ return;
213
+ }
214
+
215
+ var _result$data$content = result.data.content,
216
+ published = _result$data$content.data,
217
+ error = _result$data$content.error;
181
218
 
182
219
  if (error) {
183
- return showSnackbar(error.message);
220
+ showSnackbar(error.message);
221
+ return;
222
+ } else if (!published) {
223
+ showSnackbar("Missing published data on Publish Mutation Response.");
224
+ return;
184
225
  }
185
226
 
186
227
  GQLCache.unpublishPreviouslyPublishedRevision(contentModel, cache, published.id);
@@ -200,15 +241,14 @@ export var useRevision = function useRevision(_ref) {
200
241
  }));
201
242
 
202
243
  return function (_x3) {
203
- return _ref7.apply(this, arguments);
244
+ return _ref5.apply(this, arguments);
204
245
  };
205
246
  }();
206
247
  },
207
248
  unpublishRevision: function unpublishRevision() {
208
249
  return /*#__PURE__*/function () {
209
- var _ref9 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(id) {
210
- var _yield$client$mutate2, data, error;
211
-
250
+ var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(id) {
251
+ var result, error;
212
252
  return _regeneratorRuntime.wrap(function _callee4$(_context4) {
213
253
  while (1) {
214
254
  switch (_context4.prev = _context4.next) {
@@ -223,23 +263,32 @@ export var useRevision = function useRevision(_ref) {
223
263
  });
224
264
 
225
265
  case 3:
226
- _yield$client$mutate2 = _context4.sent;
227
- data = _yield$client$mutate2.data;
266
+ result = _context4.sent;
228
267
  setLoading(false);
229
- error = data.content.error;
268
+
269
+ if (!(!result || !result.data)) {
270
+ _context4.next = 8;
271
+ break;
272
+ }
273
+
274
+ showSnackbar("Missing result in update callback on Unpublish Mutation.");
275
+ return _context4.abrupt("return");
276
+
277
+ case 8:
278
+ error = result.data.content.error;
230
279
 
231
280
  if (!error) {
232
- _context4.next = 10;
281
+ _context4.next = 12;
233
282
  break;
234
283
  }
235
284
 
236
285
  showSnackbar(error.message);
237
286
  return _context4.abrupt("return");
238
287
 
239
- case 10:
288
+ case 12:
240
289
  showSnackbar( /*#__PURE__*/React.createElement("span", null, "Successfully unpublished revision", " ", /*#__PURE__*/React.createElement("strong", null, "#", revision.meta.version), "!"));
241
290
 
242
- case 11:
291
+ case 13:
243
292
  case "end":
244
293
  return _context4.stop();
245
294
  }
@@ -248,13 +297,13 @@ export var useRevision = function useRevision(_ref) {
248
297
  }));
249
298
 
250
299
  return function (_x4) {
251
- return _ref9.apply(this, arguments);
300
+ return _ref6.apply(this, arguments);
252
301
  };
253
302
  }();
254
303
  },
255
304
  requestReview: function requestReview() {
256
305
  return /*#__PURE__*/function () {
257
- var _ref10 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(id) {
306
+ var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(id) {
258
307
  return _regeneratorRuntime.wrap(function _callee5$(_context5) {
259
308
  while (1) {
260
309
  switch (_context5.prev = _context5.next) {
@@ -266,9 +315,13 @@ export var useRevision = function useRevision(_ref) {
266
315
  variables: {
267
316
  revision: id || revision.id
268
317
  },
269
- update: function update(_, _ref11) {
270
- var data = _ref11.data;
271
- var error = data.content.error;
318
+ update: function update(_, result) {
319
+ if (!result || !result.data) {
320
+ showSnackbar("Missing result in update callback on Request Review Mutation.");
321
+ return;
322
+ }
323
+
324
+ var error = result.data.content.error;
272
325
 
273
326
  if (error) {
274
327
  return showSnackbar(error.message);
@@ -290,13 +343,13 @@ export var useRevision = function useRevision(_ref) {
290
343
  }));
291
344
 
292
345
  return function (_x5) {
293
- return _ref10.apply(this, arguments);
346
+ return _ref7.apply(this, arguments);
294
347
  };
295
348
  }();
296
349
  },
297
350
  requestChanges: function requestChanges() {
298
351
  return /*#__PURE__*/function () {
299
- var _ref12 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6(id) {
352
+ var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6(id) {
300
353
  return _regeneratorRuntime.wrap(function _callee6$(_context6) {
301
354
  while (1) {
302
355
  switch (_context6.prev = _context6.next) {
@@ -308,12 +361,17 @@ export var useRevision = function useRevision(_ref) {
308
361
  variables: {
309
362
  revision: id || revision.id
310
363
  },
311
- update: function update(_, _ref13) {
312
- var data = _ref13.data;
313
- var error = data.content.error;
364
+ update: function update(_, result) {
365
+ if (!result || !result.data) {
366
+ showSnackbar("Missing result in update callback on Request Changes Mutation.");
367
+ return;
368
+ }
369
+
370
+ var error = result.data.content.error;
314
371
 
315
372
  if (error) {
316
- return showSnackbar(error.message);
373
+ showSnackbar(error.message);
374
+ return;
317
375
  }
318
376
 
319
377
  showSnackbar( /*#__PURE__*/React.createElement("span", null, "Changes requested successfully!"));
@@ -332,7 +390,7 @@ export var useRevision = function useRevision(_ref) {
332
390
  }));
333
391
 
334
392
  return function (_x6) {
335
- return _ref12.apply(this, arguments);
393
+ return _ref8.apply(this, arguments);
336
394
  };
337
395
  }();
338
396
  }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useRevision.tsx"],"names":["React","useMemo","useRouter","useHandlers","useSnackbar","GQL","GQLCache","useApolloClient","useContentEntry","useRevision","revision","contentModel","entry","setLoading","listQueryVariables","history","showSnackbar","client","modelId","CREATE_REVISION","createCreateFromMutation","DELETE_REVISION","createDeleteMutation","PUBLISH_REVISION","createPublishMutation","UNPUBLISH_REVISION","createUnpublishMutation","REQUEST_REVIEW","createRequestReviewMutation","REQUEST_CHANGES","createRequestChangesMutation","createRevision","id","mutate","mutation","variables","update","cache","result","data","newRevision","content","updateLatestRevisionInListCache","addRevisionToRevisionsCache","createResponse","error","message","push","encodeURIComponent","editRevision","deleteRevision","revisions","removeRevisionFromEntryCache","publishRevision","published","unpublishPreviouslyPublishedRevision","meta","version","unpublishRevision","requestReview","_","requestChanges"],"mappings":"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","sourcesContent":["import React, { useMemo } from \"react\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { useHandlers } from \"@webiny/app/hooks/useHandlers\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { CmsEditorContentEntry } from \"~/types\";\nimport * as GQL from \"~/admin/graphql/contentEntries\";\nimport * as GQLCache from \"./cache\";\nimport { useApolloClient } from \"~/admin/hooks\";\nimport { useContentEntry } from \"~/admin/views/contentEntries/hooks/useContentEntry\";\nimport {\n CmsEntryCreateFromMutationResponse,\n CmsEntryCreateFromMutationVariables,\n CmsEntryDeleteMutationResponse,\n CmsEntryDeleteMutationVariables,\n CmsEntryPublishMutationResponse,\n CmsEntryPublishMutationVariables,\n CmsEntryRequestChangesMutationResponse,\n CmsEntryRequestChangesMutationVariables,\n CmsEntryRequestReviewMutationResponse,\n CmsEntryRequestReviewMutationVariables,\n CmsEntryUnpublishMutationResponse,\n CmsEntryUnpublishMutationVariables\n} from \"~/admin/graphql/contentEntries\";\n\ninterface CreateRevisionHandler {\n (id?: string): Promise<void>;\n}\ninterface EditRevisionHandler {\n (id?: string): void;\n}\ninterface DeleteRevisionHandler {\n (id?: string): Promise<void>;\n}\ninterface PublishRevisionHandler {\n (id?: string): Promise<void>;\n}\ninterface UnpublishRevisionHandler {\n (id?: string): Promise<void>;\n}\ninterface RequestReviewHandler {\n (id?: string): Promise<void>;\n}\ninterface RequestChangesHandler {\n (id?: string): Promise<void>;\n}\ninterface UseRevisionHandlers {\n createRevision: CreateRevisionHandler;\n editRevision: EditRevisionHandler;\n deleteRevision: DeleteRevisionHandler;\n publishRevision: PublishRevisionHandler;\n unpublishRevision: UnpublishRevisionHandler;\n requestReview: RequestReviewHandler;\n requestChanges: RequestChangesHandler;\n}\n\nexport interface UseRevisionProps {\n revision: CmsEditorContentEntry;\n}\n\nexport const useRevision = ({ revision }: UseRevisionProps) => {\n const { contentModel, entry, setLoading, listQueryVariables } = useContentEntry();\n\n const { history } = useRouter();\n const { showSnackbar } = useSnackbar();\n const client = useApolloClient();\n const { modelId } = contentModel;\n\n const {\n CREATE_REVISION,\n DELETE_REVISION,\n PUBLISH_REVISION,\n UNPUBLISH_REVISION,\n REQUEST_REVIEW,\n REQUEST_CHANGES\n } = useMemo(() => {\n return {\n CREATE_REVISION: GQL.createCreateFromMutation(contentModel),\n DELETE_REVISION: GQL.createDeleteMutation(contentModel),\n PUBLISH_REVISION: GQL.createPublishMutation(contentModel),\n UNPUBLISH_REVISION: GQL.createUnpublishMutation(contentModel),\n REQUEST_REVIEW: GQL.createRequestReviewMutation(contentModel),\n REQUEST_CHANGES: GQL.createRequestChangesMutation(contentModel)\n };\n }, [modelId]);\n\n const {\n createRevision,\n editRevision,\n deleteRevision,\n publishRevision,\n unpublishRevision,\n requestReview,\n requestChanges\n } = useHandlers<UseRevisionHandlers>(\n { entry },\n {\n createRevision:\n (): CreateRevisionHandler =>\n async (id): Promise<void> => {\n setLoading(true);\n const createResponse = await client.mutate<\n CmsEntryCreateFromMutationResponse,\n CmsEntryCreateFromMutationVariables\n >({\n mutation: CREATE_REVISION,\n variables: {\n revision: id || revision.id\n },\n update(cache, result) {\n if (!result || !result.data) {\n showSnackbar(\n `Missing result in update callback on Create Revision Mutation.`\n );\n return;\n }\n const newRevision = result.data.content.data;\n if (!newRevision) {\n showSnackbar(\n \"Missing revision data in update callback on Create Revision Mutation.\"\n );\n return;\n }\n\n GQLCache.updateLatestRevisionInListCache(\n contentModel,\n cache,\n newRevision,\n listQueryVariables\n );\n GQLCache.addRevisionToRevisionsCache(contentModel, cache, newRevision);\n }\n });\n\n setLoading(false);\n if (!createResponse || !createResponse.data) {\n showSnackbar(`Missing response data in Create Revision Callable.`);\n return;\n }\n\n const { data, error } = createResponse.data.content;\n\n if (error) {\n showSnackbar(error.message);\n return;\n } else if (!data) {\n showSnackbar(`Missing data in Create Revision callable.`);\n return;\n }\n\n history.push(\n `/cms/content-entries/${modelId}?id=${encodeURIComponent(data.id)}`\n );\n },\n editRevision:\n (): EditRevisionHandler =>\n (id): void => {\n history.push(\n `/cms/content-entries/${modelId}/?id=${encodeURIComponent(\n id || revision.id\n )}`\n );\n },\n deleteRevision:\n ({ entry }): DeleteRevisionHandler =>\n async (id): Promise<void> => {\n setLoading(true);\n await client.mutate<\n CmsEntryDeleteMutationResponse,\n CmsEntryDeleteMutationVariables\n >({\n mutation: DELETE_REVISION,\n variables: {\n revision: id || revision.id\n },\n update: (cache, result) => {\n if (!result || !result.data) {\n showSnackbar(\n `Missing result in update callback on Delete Mutation.`\n );\n return;\n }\n const { error } = result.data.content;\n if (error) {\n showSnackbar(error.message);\n return;\n }\n\n // We have other revisions, update entry's cache\n const revisions = GQLCache.removeRevisionFromEntryCache(\n contentModel,\n cache,\n revision\n );\n\n if (revision.id !== entry.id) {\n return;\n }\n GQLCache.updateLatestRevisionInListCache(\n contentModel,\n cache,\n revisions[0],\n listQueryVariables\n );\n // Redirect to the first revision in the list of all entry revisions.\n history.push(\n `/cms/content-entries/${modelId}?id=` +\n encodeURIComponent(revisions[0].id)\n );\n }\n });\n\n setLoading(false);\n },\n publishRevision: (): PublishRevisionHandler => async id => {\n setLoading(true);\n await client.mutate<\n CmsEntryPublishMutationResponse,\n CmsEntryPublishMutationVariables\n >({\n mutation: PUBLISH_REVISION,\n variables: {\n revision: id || revision.id\n },\n update(cache, result) {\n if (!result || !result.data) {\n showSnackbar(`Missing result in update callback on Publish Mutation.`);\n return;\n }\n const { data: published, error } = result.data.content;\n if (error) {\n showSnackbar(error.message);\n return;\n } else if (!published) {\n showSnackbar(\"Missing published data on Publish Mutation Response.\");\n return;\n }\n\n GQLCache.unpublishPreviouslyPublishedRevision(\n contentModel,\n cache,\n published.id\n );\n\n showSnackbar(\n <span>\n Successfully published revision{\" \"}\n <strong>#{published.meta.version}</strong>!\n </span>\n );\n }\n });\n\n setLoading(false);\n },\n unpublishRevision:\n (): UnpublishRevisionHandler =>\n async (id): Promise<void> => {\n setLoading(true);\n const result = await client.mutate<\n CmsEntryUnpublishMutationResponse,\n CmsEntryUnpublishMutationVariables\n >({\n mutation: UNPUBLISH_REVISION,\n variables: {\n revision: id || revision.id\n }\n });\n setLoading(false);\n if (!result || !result.data) {\n showSnackbar(`Missing result in update callback on Unpublish Mutation.`);\n return;\n }\n\n const { error } = result.data.content;\n if (error) {\n showSnackbar(error.message);\n return;\n }\n\n showSnackbar(\n <span>\n Successfully unpublished revision{\" \"}\n <strong>#{revision.meta.version}</strong>!\n </span>\n );\n },\n requestReview:\n (): RequestReviewHandler =>\n async (id): Promise<void> => {\n setLoading(true);\n await client.mutate<\n CmsEntryRequestReviewMutationResponse,\n CmsEntryRequestReviewMutationVariables\n >({\n mutation: REQUEST_REVIEW,\n variables: {\n revision: id || revision.id\n },\n update(_, result) {\n if (!result || !result.data) {\n showSnackbar(\n `Missing result in update callback on Request Review Mutation.`\n );\n return;\n }\n const { error } = result.data.content;\n if (error) {\n return showSnackbar(error.message);\n }\n\n showSnackbar(<span>Review requested successfully!</span>);\n }\n });\n\n setLoading(false);\n },\n requestChanges:\n (): RequestChangesHandler =>\n async (id): Promise<void> => {\n setLoading(true);\n await client.mutate<\n CmsEntryRequestChangesMutationResponse,\n CmsEntryRequestChangesMutationVariables\n >({\n mutation: REQUEST_CHANGES,\n variables: {\n revision: id || revision.id\n },\n update(_, result) {\n if (!result || !result.data) {\n showSnackbar(\n `Missing result in update callback on Request Changes Mutation.`\n );\n return;\n }\n const { error } = result.data.content;\n if (error) {\n showSnackbar(error.message);\n return;\n }\n\n showSnackbar(<span>Changes requested successfully!</span>);\n }\n });\n\n setLoading(false);\n }\n }\n );\n\n return {\n createRevision,\n editRevision,\n deleteRevision,\n publishRevision,\n unpublishRevision,\n requestReview,\n requestChanges\n };\n};\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["ContentEntry.tsx"],"names":["React","css","styled","EmptyView","ButtonDefault","ButtonIcon","ReactComponent","AddIcon","i18n","Tab","Tabs","Elevation","CircularProgress","RevisionsList","Header","useContentEntry","ContentEntryForm","t","namespace","DetailsContainer","height","overflow","position","nav","backgroundColor","RenderBlock","zIndex","padding","elevationStyles","ContentEntry","contentModel","loading","entry","showEmptyView","canCreate","createEntry","setTabsRef","setFormRef","message","tabs","form"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport styled from \"@emotion/styled\";\nimport EmptyView from \"@webiny/app-admin/components/EmptyView\";\nimport { ButtonDefault, ButtonIcon } from \"@webiny/ui/Button\";\nimport { ReactComponent as AddIcon } from \"@webiny/app-admin/assets/icons/add-18px.svg\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { Tab, Tabs } from \"@webiny/ui/Tabs\";\nimport { Elevation } from \"@webiny/ui/Elevation\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport RevisionsList from \"./ContentEntry/RevisionsList\";\nimport Header from \"./ContentEntry/header/Header\";\nimport { useContentEntry } from \"./hooks/useContentEntry\";\nimport { ContentEntryForm } from \"~/admin/components/ContentEntryForm/ContentEntryForm\";\n\nconst t = i18n.namespace(\"app-headless-cms/admin/content-model-entries/details\");\n\nconst DetailsContainer = styled(\"div\")({\n height: \"calc(100% - 10px)\",\n overflow: \"hidden\",\n position: \"relative\",\n nav: {\n backgroundColor: \"var(--mdc-theme-surface)\"\n }\n});\n\nconst RenderBlock = styled(\"div\")({\n position: \"relative\",\n zIndex: 0,\n backgroundColor: \"var(--mdc-theme-background)\",\n height: \"100%\",\n /*overflow: \"scroll\",*/\n padding: 25\n});\n\nconst elevationStyles = css({\n position: \"relative\"\n});\n\ndeclare global {\n // eslint-disable-next-line\n namespace JSX {\n interface IntrinsicElements {\n \"test-id\": {\n children?: React.ReactNode;\n };\n }\n }\n}\n\nexport const ContentEntry: React.FC = () => {\n const {\n contentModel,\n loading,\n entry,\n showEmptyView,\n canCreate,\n createEntry,\n setTabsRef,\n setFormRef\n } = useContentEntry();\n\n // Render \"No content selected\" view.\n if (showEmptyView) {\n return (\n <EmptyView\n title={t`Click on the left side list to display entry details {message}`({\n message: canCreate ? \"or create a...\" : \"\"\n })}\n action={\n canCreate ? (\n <ButtonDefault data-testid=\"new-record-button\" onClick={createEntry}>\n <ButtonIcon icon={<AddIcon />} /> {t`New Entry`}\n </ButtonDefault>\n ) : null\n }\n />\n );\n }\n\n return (\n <DetailsContainer>\n <test-id data-testid=\"cms-content-details\">\n <Tabs ref={tabs => setTabsRef(tabs as Tabs)}>\n <Tab\n label={\"Content\"}\n disabled={loading}\n data-testid={\"cms.content-form.tabs.content\"}\n >\n <RenderBlock>\n <Elevation z={2} className={elevationStyles}>\n {loading && <CircularProgress />}\n <Header />\n <ContentEntryForm\n contentModel={contentModel}\n entry={entry}\n onForm={form => setFormRef(form)}\n addEntryToListCache={true}\n />\n </Elevation>\n </RenderBlock>\n </Tab>\n <Tab\n label={\"Revisions\"}\n disabled={loading}\n data-testid={\"cms.content-form.tabs.revisions\"}\n >\n <RevisionsList />\n </Tab>\n </Tabs>\n </test-id>\n </DetailsContainer>\n );\n};\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useContentEntries.ts"],"names":["useContext","Context","useContentEntries"],"mappings":"AAAA,SAASA,UAAT,QAA2B,OAA3B;AACA,SAASC,OAAT;AAEA,OAAO,SAASC,iBAAT,GAA6B;AAChC,SAAOF,UAAU,CAACC,OAAD,CAAjB;AACH","sourcesContent":["import { useContext } from \"react\";\nimport { Context } from \"../ContentEntriesContext\";\n\nexport function useContentEntries() {\n return useContext(Context);\n}\n"]}
@@ -1,11 +1,10 @@
1
- /// <reference types="react" />
2
1
  import { CmsEditorContentEntry } from "../../../../types";
3
2
  export declare function useContentEntriesList(): {
4
3
  contentModel: import("../../../../types").CmsEditorContentModel;
5
4
  listQueryVariables: import("../ContentEntriesContext").ListQueryVariables;
6
5
  setListQueryVariables: import("react").Dispatch<import("react").SetStateAction<import("../ContentEntriesContext").ListQueryVariables>>;
7
6
  sorters: import("../ContentEntriesContext").CmsEntriesSorter[];
8
- id: string;
7
+ id: string | null;
9
8
  loading: boolean;
10
9
  data: CmsEditorContentEntry[];
11
10
  loadMore: () => void;
@@ -112,13 +112,13 @@ export function useContentEntriesList() {
112
112
  variables: {
113
113
  after: meta.cursor
114
114
  },
115
- updateQuery: function updateQuery(prev, _ref2) {
116
- var fetchMoreResult = _ref2.fetchMoreResult;
117
-
118
- if (!fetchMoreResult) {
115
+ updateQuery: function updateQuery(prev, result) {
116
+ if (!result || !result.fetchMoreResult) {
119
117
  return prev;
120
118
  }
121
119
 
120
+ var fetchMoreResult = result.fetchMoreResult;
121
+
122
122
  var next = _objectSpread({}, fetchMoreResult);
123
123
 
124
124
  next.content.data = [].concat(_toConsumableArray(prev.content.data), _toConsumableArray(fetchMoreResult.content.data));
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useContentEntriesList.ts"],"names":["useCallback","useEffect","useMemo","useState","get","set","unset","cloneDeep","debounce","useRouter","createListQuery","useQuery","useContentEntries","useContentEntriesList","contentModel","listQueryVariables","setListQueryVariables","sorters","canCreate","loadMoreLoading","setLoadMoreLoading","filter","setFilter","history","baseUrl","modelId","query","URLSearchParams","location","search","id","searchQuery","updateSearch","searchField","titleFieldId","prev","next","push","toString","LIST_QUERY","variables","data","loading","fetchMore","onCreate","filterByStatus","entries","status","item","meta","loadMore","hasMoreItems","after","cursor","updateQuery","result","fetchMoreResult","content","editEntry","entry","encodeURIComponent"],"mappings":"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","sourcesContent":["import { useCallback, useEffect, useMemo, useState } from \"react\";\nimport get from \"lodash/get\";\nimport set from \"lodash/set\";\nimport unset from \"lodash/unset\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport debounce from \"lodash/debounce\";\nimport { useRouter } from \"@webiny/react-router\";\nimport {\n createListQuery,\n CmsEntriesListQueryVariables,\n CmsEntriesListQueryResponse\n} from \"~/admin/graphql/contentEntries\";\nimport { useQuery } from \"~/admin/hooks\";\nimport { useContentEntries } from \"./useContentEntries\";\nimport { CmsEditorContentEntry, CmsMetaResponse } from \"~/types\";\n\ninterface UpdateSearchCallableParams {\n filter: string;\n query: URLSearchParams;\n}\ninterface UpdateSearchCallable {\n (params: UpdateSearchCallableParams): void;\n}\n\nexport function useContentEntriesList() {\n const { contentModel, listQueryVariables, setListQueryVariables, sorters, canCreate } =\n useContentEntries();\n\n const [loadMoreLoading, setLoadMoreLoading] = useState<boolean>(false);\n const [filter, setFilter] = useState<string>(\"\");\n\n const { history } = useRouter();\n const baseUrl = `/cms/content-entries/${contentModel.modelId}`;\n\n // Get entry ID and search query (if any)\n const query = new URLSearchParams(location.search);\n const id = query.get(\"id\");\n const searchQuery = query.get(\"search\");\n const updateSearch = useCallback(\n debounce<UpdateSearchCallable>(({ filter, query }) => {\n const search = query.get(\"search\");\n if (typeof search !== \"string\" && !filter) {\n return;\n }\n\n // We use the title field with the \"contains\" operator for doing basic searches.\n const searchField = contentModel.titleFieldId + \"_contains\";\n setListQueryVariables(prev => {\n const next = cloneDeep(prev);\n if (filter) {\n set(next, `where.${searchField}`, filter);\n } else {\n unset(next, `where.${searchField}`);\n }\n\n return next;\n });\n\n if (search !== filter) {\n query.set(\"search\", filter);\n history.push(`${baseUrl}?${query.toString()}`);\n }\n }, 250),\n [baseUrl]\n );\n\n // Set \"filter\" from search \"query\" on page load.\n useEffect(() => {\n if (searchQuery) {\n setFilter(searchQuery);\n }\n }, [baseUrl, searchQuery]);\n\n // When filter changes, run GQL query\n useEffect(() => updateSearch({ filter, query }), [baseUrl, filter]);\n\n // Generate a query based on current content model\n const LIST_QUERY = useMemo(() => createListQuery(contentModel), [contentModel.modelId]);\n const { data, loading, fetchMore } = useQuery<\n CmsEntriesListQueryResponse,\n CmsEntriesListQueryVariables\n >(LIST_QUERY, { variables: listQueryVariables });\n\n const onCreate = useCallback(() => {\n history.push(`/cms/content-entries/${contentModel.modelId}?new=true`);\n }, [contentModel]);\n\n const filterByStatus = useCallback((entries: CmsEditorContentEntry[], status?: string) => {\n if (!status || status === \"all\") {\n return entries;\n }\n return entries.filter(item => item.meta.status === status);\n }, []);\n\n // Load more entries on scroll\n const loadMore = useCallback((): void => {\n const meta: CmsMetaResponse = get(data, \"content.meta\", {});\n if (meta.hasMoreItems) {\n setLoadMoreLoading(true);\n fetchMore({\n variables: {\n after: meta.cursor\n },\n updateQuery: (prev: CmsEntriesListQueryResponse, result) => {\n if (!result || !result.fetchMoreResult) {\n return prev;\n }\n const fetchMoreResult = result.fetchMoreResult;\n\n const next = { ...fetchMoreResult };\n\n next.content.data = [...prev.content.data, ...fetchMoreResult.content.data];\n setLoadMoreLoading(false);\n return next;\n }\n });\n }\n }, [data]);\n\n const editEntry = useCallback(\n (entry: CmsEditorContentEntry) => () => {\n history.push(\n `/cms/content-entries/${contentModel.modelId}?id=${encodeURIComponent(entry.id)}`\n );\n },\n [contentModel.modelId]\n );\n\n return {\n contentModel,\n listQueryVariables,\n setListQueryVariables,\n sorters,\n id,\n loading,\n data: filterByStatus(get(data, \"content.data\", []), listQueryVariables.status),\n loadMore,\n loadMoreLoading,\n canCreate,\n onCreate,\n filter,\n setFilter,\n editEntry\n };\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useContentEntry.ts"],"names":["useContext","Context","useContentEntry"],"mappings":"AAAA,SAASA,UAAT,QAA2B,OAA3B;AACA,SAASC,OAAT;AAEA,OAAO,SAASC,eAAT,GAA2B;AAC9B,SAAOF,UAAU,CAACC,OAAD,CAAjB;AACH","sourcesContent":["import { useContext } from \"react\";\nimport { Context } from \"../ContentEntry/ContentEntryContext\";\n\nexport function useContentEntry() {\n return useContext(Context);\n}\n"]}
@@ -6,10 +6,11 @@ import ContentModelGroupsForm from "./ContentModelGroupsForm";
6
6
 
7
7
  var ContentModelGroups = function ContentModelGroups() {
8
8
  var _useSecurity = useSecurity(),
9
- identity = _useSecurity.identity;
9
+ identity = _useSecurity.identity,
10
+ getPermission = _useSecurity.getPermission;
10
11
 
11
12
  var canCreate = useMemo(function () {
12
- var permission = identity.getPermission("cms.contentModelGroup");
13
+ var permission = getPermission("cms.contentModelGroup");
13
14
 
14
15
  if (!permission) {
15
16
  return false;
@@ -20,7 +21,7 @@ var ContentModelGroups = function ContentModelGroups() {
20
21
  }
21
22
 
22
23
  return permission.rwd.includes("w");
23
- }, []);
24
+ }, [identity]);
24
25
  return /*#__PURE__*/React.createElement(SplitView, null, /*#__PURE__*/React.createElement(LeftPanel, {
25
26
  span: 4
26
27
  }, /*#__PURE__*/React.createElement(ContentModelGroupsDataList, {
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["ContentModelGroups.tsx"],"names":["React","useMemo","useSecurity","SplitView","LeftPanel","RightPanel","ContentModelGroupsDataList","ContentModelGroupsForm","ContentModelGroups","identity","getPermission","canCreate","permission","rwd","includes"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,OAAhB,QAA+B,OAA/B;AACA,SAASC,WAAT,QAA4B,sBAA5B;AACA,SAASC,SAAT,EAAoBC,SAApB,EAA+BC,UAA/B,QAAiD,wCAAjD;AACA,OAAOC,0BAAP;AACA,OAAOC,sBAAP;;AAGA,IAAMC,kBAA4B,GAAG,SAA/BA,kBAA+B,GAAM;AACvC,qBAAoCN,WAAW,EAA/C;AAAA,MAAQO,QAAR,gBAAQA,QAAR;AAAA,MAAkBC,aAAlB,gBAAkBA,aAAlB;;AAEA,MAAMC,SAAS,GAAGV,OAAO,CAAC,YAAe;AACrC,QAAMW,UAAU,GAAGF,aAAa,CAAwB,uBAAxB,CAAhC;;AACA,QAAI,CAACE,UAAL,EAAiB;AACb,aAAO,KAAP;AACH;;AAED,QAAI,OAAOA,UAAU,CAACC,GAAlB,KAA0B,QAA9B,EAAwC;AACpC,aAAO,IAAP;AACH;;AAED,WAAOD,UAAU,CAACC,GAAX,CAAeC,QAAf,CAAwB,GAAxB,CAAP;AACH,GAXwB,EAWtB,CAACL,QAAD,CAXsB,CAAzB;AAaA,sBACI,oBAAC,SAAD,qBACI,oBAAC,SAAD;AAAW,IAAA,IAAI,EAAE;AAAjB,kBACI,oBAAC,0BAAD;AAA4B,IAAA,SAAS,EAAEE;AAAvC,IADJ,CADJ,eAII,oBAAC,UAAD;AAAY,IAAA,IAAI,EAAE;AAAlB,kBACI,oBAAC,sBAAD;AAAwB,IAAA,SAAS,EAAEA;AAAnC,IADJ,CAJJ,CADJ;AAUH,CA1BD;;AA4BA,eAAeH,kBAAf","sourcesContent":["import React, { useMemo } from \"react\";\nimport { useSecurity } from \"@webiny/app-security\";\nimport { SplitView, LeftPanel, RightPanel } from \"@webiny/app-admin/components/SplitView\";\nimport ContentModelGroupsDataList from \"./ContentModelGroupsDataList\";\nimport ContentModelGroupsForm from \"./ContentModelGroupsForm\";\nimport { CmsSecurityPermission } from \"~/types\";\n\nconst ContentModelGroups: React.FC = () => {\n const { identity, getPermission } = useSecurity();\n\n const canCreate = useMemo((): boolean => {\n const permission = getPermission<CmsSecurityPermission>(\"cms.contentModelGroup\");\n if (!permission) {\n return false;\n }\n\n if (typeof permission.rwd !== \"string\") {\n return true;\n }\n\n return permission.rwd.includes(\"w\");\n }, [identity]);\n\n return (\n <SplitView>\n <LeftPanel span={4}>\n <ContentModelGroupsDataList canCreate={canCreate} />\n </LeftPanel>\n <RightPanel span={8}>\n <ContentModelGroupsForm canCreate={canCreate} />\n </RightPanel>\n </SplitView>\n );\n};\n\nexport default ContentModelGroups;\n"]}
@@ -117,10 +117,13 @@ var ContentModelGroupsDataList = function ContentModelGroupsDataList(_ref) {
117
117
  var gqlParams = {
118
118
  query: GQL.LIST_CONTENT_MODEL_GROUPS
119
119
  };
120
+ var result = cache.readQuery(gqlParams);
120
121
 
121
- var _cache$readQuery = cache.readQuery(gqlParams),
122
- listContentModelGroups = _cache$readQuery.listContentModelGroups;
122
+ if (!result || !result.listContentModelGroups) {
123
+ return;
124
+ }
123
125
 
126
+ var listContentModelGroups = result.listContentModelGroups;
124
127
  var index = listContentModelGroups.data.findIndex(function (item) {
125
128
  return item.id === group.id;
126
129
  });
@@ -167,7 +170,7 @@ var ContentModelGroupsDataList = function ContentModelGroupsDataList(_ref) {
167
170
  value: sort,
168
171
  onChange: setSort,
169
172
  label: t(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["Sort by"]))),
170
- description: "Sort pages by"
173
+ description: "Sort groups by"
171
174
  }, SORTERS.map(function (_ref5) {
172
175
  var label = _ref5.label,
173
176
  sorters = _ref5.sorters;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["ContentModelGroupsDataList.tsx"],"names":["React","useCallback","useMemo","useState","get","orderBy","dotProp","i18n","DeleteIcon","DataList","List","ListItem","ListItemText","ListItemTextSecondary","ListItemMeta","ListActions","DataListModalOverlay","DataListModalOverlayAction","useRouter","useSnackbar","useQuery","useApolloClient","useConfirmationDialog","GQL","ButtonIcon","ButtonSecondary","Cell","Grid","Select","SearchUI","ReactComponent","AddIcon","FilterIcon","deserializeSorters","usePermission","Tooltip","t","ns","SORTERS","label","sorters","ContentModelGroupsDataList","canCreate","filter","setFilter","sort","setSort","history","showSnackbar","client","listQuery","LIST_CONTENT_MODEL_GROUPS","dataTestId","showConfirmation","canDelete","filterData","name","toLowerCase","includes","sortData","list","sortField","sortOrderBy","data","loading","groupId","URLSearchParams","location","search","deleteItem","group","mutate","mutation","DELETE_CONTENT_MODEL_GROUP","variables","id","update","cache","error","deleteContentModelGroup","message","gqlParams","query","result","readQuery","listContentModelGroups","index","findIndex","item","writeQuery","delete","response","push","contentModelGroupsDataListModalOverlay","map","filteredData","contentModelGroups","contentModels","length","plugin"],"mappings":"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","sourcesContent":["import React, { useCallback, useMemo, useState } from \"react\";\nimport get from \"lodash/get\";\nimport orderBy from \"lodash/orderBy\";\nimport dotProp from \"dot-prop-immutable\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { DeleteIcon } from \"@webiny/ui/List/DataList/icons\";\nimport {\n DataList,\n List,\n ListItem,\n ListItemText,\n ListItemTextSecondary,\n ListItemMeta,\n ListActions,\n DataListModalOverlay,\n DataListModalOverlayAction\n} from \"@webiny/ui/List\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { useQuery, useApolloClient } from \"../../hooks\";\nimport { useConfirmationDialog } from \"@webiny/app-admin/hooks/useConfirmationDialog\";\nimport * as GQL from \"./graphql\";\nimport { ButtonIcon, ButtonSecondary } from \"@webiny/ui/Button\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { Select } from \"@webiny/ui/Select\";\nimport SearchUI from \"@webiny/app-admin/components/SearchUI\";\nimport { ReactComponent as AddIcon } from \"@webiny/app-admin/assets/icons/add-18px.svg\";\nimport { ReactComponent as FilterIcon } from \"@webiny/app-admin/assets/icons/filter-24px.svg\";\nimport { deserializeSorters } from \"../utils\";\nimport usePermission from \"../../hooks/usePermission\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\nimport { ListCmsGroupsQueryResponse, CmsGroupWithModels } from \"./graphql\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/content-model-groups/data-list\");\n\ninterface Sort {\n label: string;\n sorters: string;\n}\nconst SORTERS: Sort[] = [\n {\n label: t`Newest to oldest`,\n sorters: \"createdOn_DESC\"\n },\n {\n label: t`Oldest to newest`,\n sorters: \"createdOn_ASC\"\n },\n {\n label: t`Name A-Z`,\n sorters: \"name_ASC\"\n },\n {\n label: t`Name Z-A`,\n sorters: \"name_DESC\"\n }\n];\n\ninterface ContentModelGroupsDataListProps {\n canCreate: boolean;\n}\nconst ContentModelGroupsDataList: React.FC<ContentModelGroupsDataListProps> = ({ canCreate }) => {\n const [filter, setFilter] = useState<string>(\"\");\n const [sort, setSort] = useState<string>(SORTERS[0].sorters);\n const { history } = useRouter();\n const { showSnackbar } = useSnackbar();\n const client = useApolloClient();\n const listQuery = useQuery(GQL.LIST_CONTENT_MODEL_GROUPS);\n\n const { showConfirmation } = useConfirmationDialog({\n dataTestId: \"cms.contentModelGroup.list-item.delete-dialog\"\n });\n const { canDelete } = usePermission();\n\n const filterData = useCallback(\n ({ name }) => {\n return name.toLowerCase().includes(filter);\n },\n [filter]\n );\n\n const sortData = useCallback(\n (list: CmsGroupWithModels[]): CmsGroupWithModels[] => {\n if (!sort) {\n return list;\n }\n const [sortField, sortOrderBy] = deserializeSorters(sort);\n return orderBy(list, [sortField], [sortOrderBy]);\n },\n [sort]\n );\n\n const data: CmsGroupWithModels[] = listQuery.loading\n ? []\n : get(listQuery, \"data.listContentModelGroups.data\", []);\n const groupId = new URLSearchParams(location.search).get(\"id\");\n\n const deleteItem = useCallback(\n group => {\n showConfirmation(async () => {\n const response = await client.mutate({\n mutation: GQL.DELETE_CONTENT_MODEL_GROUP,\n variables: { id: group.id },\n update(cache, { data }) {\n const { error } = data.deleteContentModelGroup;\n if (error) {\n showSnackbar(error.message);\n return;\n }\n\n // Delete the item from list cache\n const gqlParams = { query: GQL.LIST_CONTENT_MODEL_GROUPS };\n const result = cache.readQuery<ListCmsGroupsQueryResponse>(gqlParams);\n if (!result || !result.listContentModelGroups) {\n return;\n }\n const { listContentModelGroups } = result;\n const index = listContentModelGroups.data.findIndex(\n item => item.id === group.id\n );\n\n cache.writeQuery({\n ...gqlParams,\n data: {\n listContentModelGroups: dotProp.delete(\n listContentModelGroups,\n `data.${index}`\n )\n }\n });\n }\n });\n\n const { error } = response.data.deleteContentModelGroup;\n if (error) {\n return showSnackbar(error.message);\n }\n\n showSnackbar(t`Content model group \"{name}\" deleted.`({ name: group.name }));\n\n if (groupId === group.id) {\n history.push(`/cms/content-model-groups`);\n }\n });\n },\n [groupId]\n );\n\n const contentModelGroupsDataListModalOverlay = useMemo(\n () => (\n <DataListModalOverlay>\n <Grid>\n <Cell span={12}>\n <Select\n value={sort}\n onChange={setSort}\n label={t`Sort by`}\n description={\"Sort groups by\"}\n >\n {SORTERS.map(({ label, sorters }) => {\n return (\n <option key={label} value={sorters}>\n {label}\n </option>\n );\n })}\n </Select>\n </Cell>\n </Grid>\n </DataListModalOverlay>\n ),\n [sort]\n );\n\n const filteredData = filter === \"\" ? data : data.filter(filterData);\n const contentModelGroups = sortData(filteredData);\n\n return (\n <DataList\n loading={listQuery.loading}\n data={contentModelGroups}\n title={t`Content Model Groups`}\n actions={\n canCreate ? (\n <ButtonSecondary\n data-testid=\"new-record-button\"\n onClick={() => history.push(\"/cms/content-model-groups?new=true\")}\n >\n <ButtonIcon icon={<AddIcon />} /> {t`New Group`}\n </ButtonSecondary>\n ) : null\n }\n search={\n <SearchUI\n value={filter}\n onChange={setFilter}\n inputPlaceholder={t`Search content model group`}\n />\n }\n modalOverlay={contentModelGroupsDataListModalOverlay}\n modalOverlayAction={\n <DataListModalOverlayAction\n icon={<FilterIcon />}\n data-testid={\"default-data-list.filter\"}\n />\n }\n >\n {({ data }: { data: CmsGroupWithModels[] }) => (\n <List data-testid=\"default-data-list\">\n {data.map(item => (\n <ListItem key={item.id} selected={item.id === groupId}>\n <ListItemText\n onClick={() =>\n history.push(`/cms/content-model-groups?id=${item.id}`)\n }\n >\n {item.name}\n <ListItemTextSecondary>\n {item.contentModels.length\n ? t`{contentModels|count:1:content model:default:content models}`(\n {\n contentModels: item.contentModels.length\n }\n )\n : t`No content models`}\n </ListItemTextSecondary>\n </ListItemText>\n {canDelete(item, \"cms.contentModelGroup\") && (\n <ListItemMeta>\n <ListActions>\n {item.plugin ? (\n <Tooltip\n content={\n \"Content model group is registered via a plugin.\"\n }\n placement={\"bottom\"}\n >\n <DeleteIcon\n disabled\n data-testid={\n \"cms.contentModelGroup.list-item.delete\"\n }\n />\n </Tooltip>\n ) : (\n <DeleteIcon\n onClick={() => deleteItem(item)}\n data-testid={\n \"cms.contentModelGroup.list-item.delete\"\n }\n />\n )}\n </ListActions>\n </ListItemMeta>\n )}\n </ListItem>\n ))}\n </List>\n )}\n </DataList>\n );\n};\n\nexport default ContentModelGroupsDataList;\n"]}
@@ -75,17 +75,20 @@ var ContentModelGroupsForm = function ContentModelGroupsForm(_ref) {
75
75
  update: function update(cache, _ref2) {
76
76
  var data = _ref2.data;
77
77
 
78
- if (data.contentModelGroup.error) {
78
+ if (!data || data.contentModelGroup.error) {
79
79
  return;
80
80
  }
81
81
 
82
82
  var gqlParams = {
83
83
  query: GQL.LIST_CONTENT_MODEL_GROUPS
84
84
  };
85
+ var result = cache.readQuery(gqlParams);
85
86
 
86
- var _cache$readQuery = cache.readQuery(gqlParams),
87
- listContentModelGroups = _cache$readQuery.listContentModelGroups;
87
+ if (!result || !result.listContentModelGroups) {
88
+ return;
89
+ }
88
90
 
91
+ var listContentModelGroups = result.listContentModelGroups;
89
92
  cache.writeQuery(_objectSpread(_objectSpread({}, gqlParams), {}, {
90
93
  data: {
91
94
  listContentModelGroups: _objectSpread(_objectSpread({}, listContentModelGroups), {}, {
@@ -144,17 +147,27 @@ var ContentModelGroupsForm = function ContentModelGroupsForm(_ref) {
144
147
 
145
148
  case 2:
146
149
  response = _context.sent;
150
+
151
+ if (response.data) {
152
+ _context.next = 6;
153
+ break;
154
+ }
155
+
156
+ showSnackbar("Missing response data ain Content Model Group Mutation Response.");
157
+ return _context.abrupt("return");
158
+
159
+ case 6:
147
160
  _response$data$conten = response.data.contentModelGroup, data = _response$data$conten.data, error = _response$data$conten.error;
148
161
 
149
162
  if (!error) {
150
- _context.next = 7;
163
+ _context.next = 10;
151
164
  break;
152
165
  }
153
166
 
154
167
  showSnackbar(error.message);
155
168
  return _context.abrupt("return");
156
169
 
157
- case 7:
170
+ case 10:
158
171
  /**
159
172
  * Redirect to a new group
160
173
  */
@@ -164,7 +177,7 @@ var ContentModelGroupsForm = function ContentModelGroupsForm(_ref) {
164
177
 
165
178
  showSnackbar(t(_templateObject || (_templateObject = _taggedTemplateLiteral(["Content model group saved successfully!"]))));
166
179
 
167
- case 9:
180
+ case 12:
168
181
  case "end":
169
182
  return _context.stop();
170
183
  }
@@ -191,7 +204,7 @@ var ContentModelGroupsForm = function ContentModelGroupsForm(_ref) {
191
204
  }
192
205
  }, /*#__PURE__*/React.createElement(ButtonIcon, {
193
206
  icon: /*#__PURE__*/React.createElement(AddIcon, null)
194
- }), " ", t(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["New Group"])))) : null
207
+ }), " ", t(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["New Group"])))) : /*#__PURE__*/React.createElement(React.Fragment, null)
195
208
  });
196
209
  }
197
210
 
@@ -235,7 +248,9 @@ var ContentModelGroupsForm = function ContentModelGroupsForm(_ref) {
235
248
  return history.push("/cms/content-model-groups");
236
249
  }
237
250
  }, t(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["Cancel"])))), canEdit(data, "cms.contentModelGroup") && /*#__PURE__*/React.createElement(React.Fragment, null, !data.plugin ? /*#__PURE__*/React.createElement(ButtonPrimary, {
238
- onClick: form.submit
251
+ onClick: function onClick(ev) {
252
+ form.submit(ev);
253
+ }
239
254
  }, t(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["Save content model group"])))) : /*#__PURE__*/React.createElement(Tooltip, {
240
255
  content: "Content model group is registered via a plugin.",
241
256
  placement: "bottom"