@webiny/app-headless-cms 5.27.0-beta.0 → 5.28.0

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 (520) hide show
  1. package/HeadlessCMS.js +33 -13
  2. package/HeadlessCMS.js.map +1 -1
  3. package/admin/components/ContentEntryForm/ContentEntryForm.js +61 -34
  4. package/admin/components/ContentEntryForm/ContentEntryForm.js.map +1 -1
  5. package/admin/components/ContentEntryForm/ContentEntryFormPreview.js +41 -18
  6. package/admin/components/ContentEntryForm/ContentEntryFormPreview.js.map +1 -1
  7. package/admin/components/ContentEntryForm/Fields.js +22 -9
  8. package/admin/components/ContentEntryForm/Fields.js.map +1 -1
  9. package/admin/components/ContentEntryForm/Label.js +23 -9
  10. package/admin/components/ContentEntryForm/Label.js.map +1 -1
  11. package/admin/components/ContentEntryForm/RenderFieldElement.js +31 -15
  12. package/admin/components/ContentEntryForm/RenderFieldElement.js.map +1 -1
  13. package/admin/components/ContentEntryForm/functions/createValidators.js +23 -8
  14. package/admin/components/ContentEntryForm/functions/createValidators.js.map +1 -1
  15. package/admin/components/ContentEntryForm/functions/getValue.js +11 -2
  16. package/admin/components/ContentEntryForm/functions/getValue.js.map +1 -1
  17. package/admin/components/ContentEntryForm/functions/setValue.js +16 -4
  18. package/admin/components/ContentEntryForm/functions/setValue.js.map +1 -1
  19. package/admin/components/ContentEntryForm/useBind.js +31 -27
  20. package/admin/components/ContentEntryForm/useBind.js.map +1 -1
  21. package/admin/components/ContentEntryForm/useContentEntryForm.js +77 -52
  22. package/admin/components/ContentEntryForm/useContentEntryForm.js.map +1 -1
  23. package/admin/components/ContentEntryForm/useRenderPlugins.js +14 -5
  24. package/admin/components/ContentEntryForm/useRenderPlugins.js.map +1 -1
  25. package/admin/components/ContentModelEditor/Context.js +73 -43
  26. package/admin/components/ContentModelEditor/Context.js.map +1 -1
  27. package/admin/components/ContentModelEditor/Editor.js +85 -50
  28. package/admin/components/ContentModelEditor/Editor.js.map +1 -1
  29. package/admin/components/ContentModelEditor/FieldsSidebar.js +37 -19
  30. package/admin/components/ContentModelEditor/FieldsSidebar.js.map +1 -1
  31. package/admin/components/ContentModelEditor/Header.js +24 -10
  32. package/admin/components/ContentModelEditor/Header.js.map +1 -1
  33. package/admin/components/ContentModelEditor/PreviewTab.js +36 -17
  34. package/admin/components/ContentModelEditor/PreviewTab.js.map +1 -1
  35. package/admin/components/ContentModelEditor/useContentModelEditor.js +15 -4
  36. package/admin/components/ContentModelEditor/useContentModelEditor.js.map +1 -1
  37. package/admin/components/DragPreview.js +27 -12
  38. package/admin/components/DragPreview.js.map +1 -1
  39. package/admin/components/Draggable.js +22 -8
  40. package/admin/components/Draggable.js.map +1 -1
  41. package/admin/components/DropZone/Center.js +26 -12
  42. package/admin/components/DropZone/Center.js.map +1 -1
  43. package/admin/components/DropZone/Horizontal.js +31 -17
  44. package/admin/components/DropZone/Horizontal.js.map +1 -1
  45. package/admin/components/DropZone/Vertical.js +29 -15
  46. package/admin/components/DropZone/Vertical.js.map +1 -1
  47. package/admin/components/DropZone/index.js +31 -4
  48. package/admin/components/DropZone/index.js.map +1 -1
  49. package/admin/components/Droppable.js +20 -6
  50. package/admin/components/Droppable.js.map +1 -1
  51. package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.js +50 -27
  52. package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.js.map +1 -1
  53. package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js +55 -36
  54. package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js.map +1 -1
  55. package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.js +60 -21
  56. package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.js.map +1 -1
  57. package/admin/components/FieldEditor/EditFieldDialog/ValidatorsTab.js +50 -32
  58. package/admin/components/FieldEditor/EditFieldDialog/ValidatorsTab.js.map +1 -1
  59. package/admin/components/FieldEditor/EditFieldDialog/functions/getValue.js +13 -3
  60. package/admin/components/FieldEditor/EditFieldDialog/functions/getValue.js.map +1 -1
  61. package/admin/components/FieldEditor/EditFieldDialog/functions/setValue.js +16 -6
  62. package/admin/components/FieldEditor/EditFieldDialog/functions/setValue.js.map +1 -1
  63. package/admin/components/FieldEditor/EditFieldDialog.js +105 -69
  64. package/admin/components/FieldEditor/EditFieldDialog.js.map +1 -1
  65. package/admin/components/FieldEditor/Field.js +86 -51
  66. package/admin/components/FieldEditor/Field.js.map +1 -1
  67. package/admin/components/FieldEditor/FieldEditor.js +66 -40
  68. package/admin/components/FieldEditor/FieldEditor.js.map +1 -1
  69. package/admin/components/FieldEditor/FieldEditorContext.js +51 -27
  70. package/admin/components/FieldEditor/FieldEditorContext.js.map +1 -1
  71. package/admin/components/FieldEditor/Styled.js +24 -8
  72. package/admin/components/FieldEditor/Styled.js.map +1 -1
  73. package/admin/components/FieldEditor/index.js +21 -2
  74. package/admin/components/FieldEditor/index.js.map +1 -1
  75. package/admin/components/FieldEditor/useFieldEditor.js +13 -4
  76. package/admin/components/FieldEditor/useFieldEditor.js.map +1 -1
  77. package/admin/components/FieldEditor/utils/deleteField.js +19 -5
  78. package/admin/components/FieldEditor/utils/deleteField.js.map +1 -1
  79. package/admin/components/FieldEditor/utils/getFieldPosition.js +11 -2
  80. package/admin/components/FieldEditor/utils/getFieldPosition.js.map +1 -1
  81. package/admin/components/FieldEditor/utils/index.js +39 -4
  82. package/admin/components/FieldEditor/utils/index.js.map +1 -1
  83. package/admin/components/FieldEditor/utils/moveField.js +30 -20
  84. package/admin/components/FieldEditor/utils/moveField.js.map +1 -1
  85. package/admin/components/FieldEditor/utils/moveRow.js +19 -6
  86. package/admin/components/FieldEditor/utils/moveRow.js.map +1 -1
  87. package/admin/constants/statusLabels.js +21 -9
  88. package/admin/constants/statusLabels.js.map +1 -1
  89. package/admin/contexts/Cms/NetworkError.js +14 -4
  90. package/admin/contexts/Cms/NetworkError.js.map +1 -1
  91. package/admin/contexts/Cms/index.js +29 -11
  92. package/admin/contexts/Cms/index.js.map +1 -1
  93. package/admin/elements/ContentGroupMenuElement.js +27 -12
  94. package/admin/elements/ContentGroupMenuElement.js.map +1 -1
  95. package/admin/elements/ContentModelMenuElement.js +27 -12
  96. package/admin/elements/ContentModelMenuElement.js.map +1 -1
  97. package/admin/elements/NothingToShowElement.js +51 -30
  98. package/admin/elements/NothingToShowElement.js.map +1 -1
  99. package/admin/graphql/contentEntries.js +84 -40
  100. package/admin/graphql/contentEntries.js.map +1 -1
  101. package/admin/graphql/contentModels.js +20 -6
  102. package/admin/graphql/contentModels.js.map +1 -1
  103. package/admin/graphql/createFieldsList.js +19 -6
  104. package/admin/graphql/createFieldsList.js.map +1 -1
  105. package/admin/hooks/index.js +68 -6
  106. package/admin/hooks/index.js.map +1 -1
  107. package/admin/hooks/useApolloClient.js +13 -3
  108. package/admin/hooks/useApolloClient.js.map +1 -1
  109. package/admin/hooks/useCms.js +13 -4
  110. package/admin/hooks/useCms.js.map +1 -1
  111. package/admin/hooks/useLazyQuery.js +18 -6
  112. package/admin/hooks/useLazyQuery.js.map +1 -1
  113. package/admin/hooks/useMutation.js +18 -6
  114. package/admin/hooks/useMutation.js.map +1 -1
  115. package/admin/hooks/usePermission.js +39 -23
  116. package/admin/hooks/usePermission.js.map +1 -1
  117. package/admin/hooks/useQuery.js +18 -6
  118. package/admin/hooks/useQuery.js.map +1 -1
  119. package/admin/hooks/useQueryLocale.js +21 -7
  120. package/admin/hooks/useQueryLocale.js.map +1 -1
  121. package/admin/menus/CmsMenuLoader.js +32 -14
  122. package/admin/menus/CmsMenuLoader.js.map +1 -1
  123. package/admin/menus/ContentGroupsMenuItems.js +43 -24
  124. package/admin/menus/ContentGroupsMenuItems.js.map +1 -1
  125. package/admin/menus/GlobalSearchPlugins.js +31 -15
  126. package/admin/menus/GlobalSearchPlugins.js.map +1 -1
  127. package/admin/menus/NothingToShowElement.js +26 -11
  128. package/admin/menus/NothingToShowElement.js.map +1 -1
  129. package/admin/plugins/apiInformation/index.js +17 -5
  130. package/admin/plugins/apiInformation/index.js.map +1 -1
  131. package/admin/plugins/definitions/CmsEditorFieldValidatorFileTypePlugin.js +33 -21
  132. package/admin/plugins/definitions/CmsEditorFieldValidatorFileTypePlugin.js.map +1 -1
  133. package/admin/plugins/definitions/CmsFieldValidatorFileTypePlugin.js +33 -20
  134. package/admin/plugins/definitions/CmsFieldValidatorFileTypePlugin.js.map +1 -1
  135. package/admin/plugins/editor/defaultBar/BackButton.js +28 -11
  136. package/admin/plugins/editor/defaultBar/BackButton.js.map +1 -1
  137. package/admin/plugins/editor/defaultBar/CreateContentButton.js +39 -20
  138. package/admin/plugins/editor/defaultBar/CreateContentButton.js.map +1 -1
  139. package/admin/plugins/editor/defaultBar/Divider.js +14 -3
  140. package/admin/plugins/editor/defaultBar/Divider.js.map +1 -1
  141. package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js +67 -39
  142. package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js.map +1 -1
  143. package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsButton.js +29 -13
  144. package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsButton.js.map +1 -1
  145. package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsStyled.js +30 -10
  146. package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsStyled.js.map +1 -1
  147. package/admin/plugins/editor/defaultBar/FormSettings/index.js +15 -1
  148. package/admin/plugins/editor/defaultBar/FormSettings/index.js.map +1 -1
  149. package/admin/plugins/editor/defaultBar/Name/Name.js +47 -30
  150. package/admin/plugins/editor/defaultBar/Name/Name.js.map +1 -1
  151. package/admin/plugins/editor/defaultBar/Name/NameStyled.js +22 -7
  152. package/admin/plugins/editor/defaultBar/Name/NameStyled.js.map +1 -1
  153. package/admin/plugins/editor/defaultBar/Name/index.js +13 -1
  154. package/admin/plugins/editor/defaultBar/Name/index.js.map +1 -1
  155. package/admin/plugins/editor/defaultBar/SaveContentModelButton.js +40 -20
  156. package/admin/plugins/editor/defaultBar/SaveContentModelButton.js.map +1 -1
  157. package/admin/plugins/editor/defaultBar/index.js +32 -15
  158. package/admin/plugins/editor/defaultBar/index.js.map +1 -1
  159. package/admin/plugins/editor/formSettings/components/GeneralSettings.js +33 -19
  160. package/admin/plugins/editor/formSettings/components/GeneralSettings.js.map +1 -1
  161. package/admin/plugins/editor/formSettings/components/GroupSelect.js +27 -10
  162. package/admin/plugins/editor/formSettings/components/GroupSelect.js.map +1 -1
  163. package/admin/plugins/editor/formSettings/index.js +21 -6
  164. package/admin/plugins/editor/formSettings/index.js.map +1 -1
  165. package/admin/plugins/fieldRenderers/Accordion.js +43 -25
  166. package/admin/plugins/fieldRenderers/Accordion.js.map +1 -1
  167. package/admin/plugins/fieldRenderers/DynamicSection.js +42 -24
  168. package/admin/plugins/fieldRenderers/DynamicSection.js.map +1 -1
  169. package/admin/plugins/fieldRenderers/boolean/booleanSwitch.js +27 -12
  170. package/admin/plugins/fieldRenderers/boolean/booleanSwitch.js.map +1 -1
  171. package/admin/plugins/fieldRenderers/boolean/index.js +13 -2
  172. package/admin/plugins/fieldRenderers/boolean/index.js.map +1 -1
  173. package/admin/plugins/fieldRenderers/checkboxes.js +30 -15
  174. package/admin/plugins/fieldRenderers/checkboxes.js.map +1 -1
  175. package/admin/plugins/fieldRenderers/dateTime/DateOnly.js +34 -15
  176. package/admin/plugins/fieldRenderers/dateTime/DateOnly.js.map +1 -1
  177. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.js +59 -36
  178. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.js.map +1 -1
  179. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.js +50 -30
  180. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.js.map +1 -1
  181. package/admin/plugins/fieldRenderers/dateTime/Input.js +24 -8
  182. package/admin/plugins/fieldRenderers/dateTime/Input.js.map +1 -1
  183. package/admin/plugins/fieldRenderers/dateTime/Select.js +18 -5
  184. package/admin/plugins/fieldRenderers/dateTime/Select.js.map +1 -1
  185. package/admin/plugins/fieldRenderers/dateTime/Time.js +34 -15
  186. package/admin/plugins/fieldRenderers/dateTime/Time.js.map +1 -1
  187. package/admin/plugins/fieldRenderers/dateTime/dateTimeField.js +36 -18
  188. package/admin/plugins/fieldRenderers/dateTime/dateTimeField.js.map +1 -1
  189. package/admin/plugins/fieldRenderers/dateTime/dateTimeFields.js +47 -26
  190. package/admin/plugins/fieldRenderers/dateTime/dateTimeFields.js.map +1 -1
  191. package/admin/plugins/fieldRenderers/dateTime/index.js +15 -3
  192. package/admin/plugins/fieldRenderers/dateTime/index.js.map +1 -1
  193. package/admin/plugins/fieldRenderers/dateTime/utils.js +48 -17
  194. package/admin/plugins/fieldRenderers/dateTime/utils.js.map +1 -1
  195. package/admin/plugins/fieldRenderers/file/File.js +34 -16
  196. package/admin/plugins/fieldRenderers/file/File.js.map +1 -1
  197. package/admin/plugins/fieldRenderers/file/fileField.js +30 -14
  198. package/admin/plugins/fieldRenderers/file/fileField.js.map +1 -1
  199. package/admin/plugins/fieldRenderers/file/fileFields.js +54 -33
  200. package/admin/plugins/fieldRenderers/file/fileFields.js.map +1 -1
  201. package/admin/plugins/fieldRenderers/file/index.js +15 -3
  202. package/admin/plugins/fieldRenderers/file/index.js.map +1 -1
  203. package/admin/plugins/fieldRenderers/file/utils.js +27 -10
  204. package/admin/plugins/fieldRenderers/file/utils.js.map +1 -1
  205. package/admin/plugins/fieldRenderers/longText/index.js +15 -3
  206. package/admin/plugins/fieldRenderers/longText/index.js.map +1 -1
  207. package/admin/plugins/fieldRenderers/longText/longText.js +27 -12
  208. package/admin/plugins/fieldRenderers/longText/longText.js.map +1 -1
  209. package/admin/plugins/fieldRenderers/longText/longTexts.js +33 -16
  210. package/admin/plugins/fieldRenderers/longText/longTexts.js.map +1 -1
  211. package/admin/plugins/fieldRenderers/number/index.js +15 -3
  212. package/admin/plugins/fieldRenderers/number/index.js.map +1 -1
  213. package/admin/plugins/fieldRenderers/number/numberInput.js +27 -12
  214. package/admin/plugins/fieldRenderers/number/numberInput.js.map +1 -1
  215. package/admin/plugins/fieldRenderers/number/numberInputs.js +33 -16
  216. package/admin/plugins/fieldRenderers/number/numberInputs.js.map +1 -1
  217. package/admin/plugins/fieldRenderers/object/StyledComponents.js +17 -5
  218. package/admin/plugins/fieldRenderers/object/StyledComponents.js.map +1 -1
  219. package/admin/plugins/fieldRenderers/object/index.js +15 -3
  220. package/admin/plugins/fieldRenderers/object/index.js.map +1 -1
  221. package/admin/plugins/fieldRenderers/object/multipleObjects.js +51 -29
  222. package/admin/plugins/fieldRenderers/object/multipleObjects.js.map +1 -1
  223. package/admin/plugins/fieldRenderers/object/singleObject.js +35 -17
  224. package/admin/plugins/fieldRenderers/object/singleObject.js.map +1 -1
  225. package/admin/plugins/fieldRenderers/radioButtons.js +29 -14
  226. package/admin/plugins/fieldRenderers/radioButtons.js.map +1 -1
  227. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.js +61 -36
  228. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.js.map +1 -1
  229. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.js +58 -35
  230. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.js.map +1 -1
  231. package/admin/plugins/fieldRenderers/ref/components/EntryStatus.js +37 -18
  232. package/admin/plugins/fieldRenderers/ref/components/EntryStatus.js.map +1 -1
  233. package/admin/plugins/fieldRenderers/ref/components/MissingEntryHelpText.js +38 -18
  234. package/admin/plugins/fieldRenderers/ref/components/MissingEntryHelpText.js.map +1 -1
  235. package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.js +87 -53
  236. package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.js.map +1 -1
  237. package/admin/plugins/fieldRenderers/ref/components/createEntryUrl.js +15 -3
  238. package/admin/plugins/fieldRenderers/ref/components/createEntryUrl.js.map +1 -1
  239. package/admin/plugins/fieldRenderers/ref/components/graphql.js +18 -5
  240. package/admin/plugins/fieldRenderers/ref/components/graphql.js.map +1 -1
  241. package/admin/plugins/fieldRenderers/ref/components/helpers.js +23 -5
  242. package/admin/plugins/fieldRenderers/ref/components/helpers.js.map +1 -1
  243. package/admin/plugins/fieldRenderers/ref/components/renderItem.js +42 -19
  244. package/admin/plugins/fieldRenderers/ref/components/renderItem.js.map +1 -1
  245. package/admin/plugins/fieldRenderers/ref/components/types.js +5 -1
  246. package/admin/plugins/fieldRenderers/ref/components/types.js.map +1 -1
  247. package/admin/plugins/fieldRenderers/ref/components/useReference.js +59 -41
  248. package/admin/plugins/fieldRenderers/ref/components/useReference.js.map +1 -1
  249. package/admin/plugins/fieldRenderers/ref/components/useReferences.js +60 -41
  250. package/admin/plugins/fieldRenderers/ref/components/useReferences.js.map +1 -1
  251. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntry.js +27 -10
  252. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntry.js.map +1 -1
  253. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntryDialog.js +30 -10
  254. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntryDialog.js.map +1 -1
  255. package/admin/plugins/fieldRenderers/ref/index.js +15 -3
  256. package/admin/plugins/fieldRenderers/ref/index.js.map +1 -1
  257. package/admin/plugins/fieldRenderers/ref/refInput.js +26 -11
  258. package/admin/plugins/fieldRenderers/ref/refInput.js.map +1 -1
  259. package/admin/plugins/fieldRenderers/ref/refInputs.js +25 -11
  260. package/admin/plugins/fieldRenderers/ref/refInputs.js.map +1 -1
  261. package/admin/plugins/fieldRenderers/richText/index.js +15 -3
  262. package/admin/plugins/fieldRenderers/richText/index.js.map +1 -1
  263. package/admin/plugins/fieldRenderers/richText/richTextInput.js +32 -15
  264. package/admin/plugins/fieldRenderers/richText/richTextInput.js.map +1 -1
  265. package/admin/plugins/fieldRenderers/richText/richTextInputs.js +43 -22
  266. package/admin/plugins/fieldRenderers/richText/richTextInputs.js.map +1 -1
  267. package/admin/plugins/fieldRenderers/select.js +26 -12
  268. package/admin/plugins/fieldRenderers/select.js.map +1 -1
  269. package/admin/plugins/fieldRenderers/text/index.js +15 -3
  270. package/admin/plugins/fieldRenderers/text/index.js.map +1 -1
  271. package/admin/plugins/fieldRenderers/text/textInput.js +27 -12
  272. package/admin/plugins/fieldRenderers/text/textInput.js.map +1 -1
  273. package/admin/plugins/fieldRenderers/text/textInputs.js +33 -16
  274. package/admin/plugins/fieldRenderers/text/textInputs.js.map +1 -1
  275. package/admin/plugins/fieldValidators/date/availableValidators.js +11 -2
  276. package/admin/plugins/fieldValidators/date/availableValidators.js.map +1 -1
  277. package/admin/plugins/fieldValidators/date/createDateInputField.js +27 -11
  278. package/admin/plugins/fieldValidators/date/createDateInputField.js.map +1 -1
  279. package/admin/plugins/fieldValidators/dateGte.js +32 -15
  280. package/admin/plugins/fieldValidators/dateGte.js.map +1 -1
  281. package/admin/plugins/fieldValidators/dateLte.js +32 -15
  282. package/admin/plugins/fieldValidators/dateLte.js.map +1 -1
  283. package/admin/plugins/fieldValidators/gte.js +23 -9
  284. package/admin/plugins/fieldValidators/gte.js.map +1 -1
  285. package/admin/plugins/fieldValidators/in.js +23 -9
  286. package/admin/plugins/fieldValidators/in.js.map +1 -1
  287. package/admin/plugins/fieldValidators/lte.js +23 -9
  288. package/admin/plugins/fieldValidators/lte.js.map +1 -1
  289. package/admin/plugins/fieldValidators/maxLength.js +23 -9
  290. package/admin/plugins/fieldValidators/maxLength.js.map +1 -1
  291. package/admin/plugins/fieldValidators/minLength.js +23 -9
  292. package/admin/plugins/fieldValidators/minLength.js.map +1 -1
  293. package/admin/plugins/fieldValidators/pattern.js +40 -22
  294. package/admin/plugins/fieldValidators/pattern.js.map +1 -1
  295. package/admin/plugins/fieldValidators/patternPlugins/email.js +8 -1
  296. package/admin/plugins/fieldValidators/patternPlugins/email.js.map +1 -1
  297. package/admin/plugins/fieldValidators/patternPlugins/lowerCase.js +8 -1
  298. package/admin/plugins/fieldValidators/patternPlugins/lowerCase.js.map +1 -1
  299. package/admin/plugins/fieldValidators/patternPlugins/lowerCaseSpace.js +8 -1
  300. package/admin/plugins/fieldValidators/patternPlugins/lowerCaseSpace.js.map +1 -1
  301. package/admin/plugins/fieldValidators/patternPlugins/upperCase.js +8 -1
  302. package/admin/plugins/fieldValidators/patternPlugins/upperCase.js.map +1 -1
  303. package/admin/plugins/fieldValidators/patternPlugins/upperCaseSpace.js +8 -1
  304. package/admin/plugins/fieldValidators/patternPlugins/upperCaseSpace.js.map +1 -1
  305. package/admin/plugins/fieldValidators/patternPlugins/url.js +8 -1
  306. package/admin/plugins/fieldValidators/patternPlugins/url.js.map +1 -1
  307. package/admin/plugins/fieldValidators/required.js +8 -1
  308. package/admin/plugins/fieldValidators/required.js.map +1 -1
  309. package/admin/plugins/fieldValidators/unique.js +11 -2
  310. package/admin/plugins/fieldValidators/unique.js.map +1 -1
  311. package/admin/plugins/fields/PredefinedValuesDynamicFieldset.d.ts +1 -2
  312. package/admin/plugins/fields/PredefinedValuesDynamicFieldset.js +72 -46
  313. package/admin/plugins/fields/PredefinedValuesDynamicFieldset.js.map +1 -1
  314. package/admin/plugins/fields/boolean.js +34 -18
  315. package/admin/plugins/fields/boolean.js.map +1 -1
  316. package/admin/plugins/fields/dateTime.js +60 -44
  317. package/admin/plugins/fields/dateTime.js.map +1 -1
  318. package/admin/plugins/fields/file.js +33 -17
  319. package/admin/plugins/fields/file.js.map +1 -1
  320. package/admin/plugins/fields/longText.js +33 -17
  321. package/admin/plugins/fields/longText.js.map +1 -1
  322. package/admin/plugins/fields/number.js +39 -22
  323. package/admin/plugins/fields/number.js.map +1 -1
  324. package/admin/plugins/fields/object/ObjectFields.js +28 -11
  325. package/admin/plugins/fields/object/ObjectFields.js.map +1 -1
  326. package/admin/plugins/fields/object.js +30 -14
  327. package/admin/plugins/fields/object.js.map +1 -1
  328. package/admin/plugins/fields/ref.js +60 -34
  329. package/admin/plugins/fields/ref.js.map +1 -1
  330. package/admin/plugins/fields/richText.js +33 -17
  331. package/admin/plugins/fields/richText.js.map +1 -1
  332. package/admin/plugins/fields/text.js +37 -20
  333. package/admin/plugins/fields/text.js.map +1 -1
  334. package/admin/plugins/getObjectId.js +8 -1
  335. package/admin/plugins/getObjectId.js.map +1 -1
  336. package/admin/plugins/icons.js +25 -10
  337. package/admin/plugins/icons.js.map +1 -1
  338. package/admin/plugins/index.d.ts +1 -1
  339. package/admin/plugins/index.js +32 -12
  340. package/admin/plugins/index.js.map +1 -1
  341. package/admin/plugins/install.js +55 -30
  342. package/admin/plugins/install.js.map +1 -1
  343. package/admin/plugins/permissionRenderer/CmsPermissions.js +74 -50
  344. package/admin/plugins/permissionRenderer/CmsPermissions.js.map +1 -1
  345. package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js +70 -46
  346. package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js.map +1 -1
  347. package/admin/plugins/permissionRenderer/components/ContentModelGroupPermission.js +54 -34
  348. package/admin/plugins/permissionRenderer/components/ContentModelGroupPermission.js.map +1 -1
  349. package/admin/plugins/permissionRenderer/components/ContentModelList.js +38 -20
  350. package/admin/plugins/permissionRenderer/components/ContentModelList.js.map +1 -1
  351. package/admin/plugins/permissionRenderer/components/ContentModelPermission.js +71 -46
  352. package/admin/plugins/permissionRenderer/components/ContentModelPermission.js.map +1 -1
  353. package/admin/plugins/permissionRenderer/components/PermissionRendererWrapper.js +27 -12
  354. package/admin/plugins/permissionRenderer/components/PermissionRendererWrapper.js.map +1 -1
  355. package/admin/plugins/permissionRenderer/components/PermissionSelector.js +44 -23
  356. package/admin/plugins/permissionRenderer/components/PermissionSelector.js.map +1 -1
  357. package/admin/plugins/permissionRenderer/components/StyledComponents.js +14 -3
  358. package/admin/plugins/permissionRenderer/components/StyledComponents.js.map +1 -1
  359. package/admin/plugins/permissionRenderer/components/types.js +5 -1
  360. package/admin/plugins/permissionRenderer/components/types.js.map +1 -1
  361. package/admin/plugins/permissionRenderer/components/useCmsData.js +43 -22
  362. package/admin/plugins/permissionRenderer/components/useCmsData.js.map +1 -1
  363. package/admin/plugins/permissionRenderer/index.js +22 -8
  364. package/admin/plugins/permissionRenderer/index.js.map +1 -1
  365. package/admin/plugins/routes.js +66 -37
  366. package/admin/plugins/routes.js.map +1 -1
  367. package/admin/plugins/transformers/dateTransformer.js +24 -11
  368. package/admin/plugins/transformers/dateTransformer.js.map +1 -1
  369. package/admin/plugins/transformers/index.js +18 -5
  370. package/admin/plugins/transformers/index.js.map +1 -1
  371. package/admin/plugins/transformers/numberTransformer.js +11 -2
  372. package/admin/plugins/transformers/numberTransformer.js.map +1 -1
  373. package/admin/plugins/upgrades/5.19.0/UpgradeItemsInfo.js +19 -7
  374. package/admin/plugins/upgrades/5.19.0/UpgradeItemsInfo.js.map +1 -1
  375. package/admin/plugins/upgrades/5.19.0/createCmsApolloClient.js +33 -15
  376. package/admin/plugins/upgrades/5.19.0/createCmsApolloClient.js.map +1 -1
  377. package/admin/plugins/upgrades/5.19.0/createListEntriesQuery.js +23 -9
  378. package/admin/plugins/upgrades/5.19.0/createListEntriesQuery.js.map +1 -1
  379. package/admin/plugins/upgrades/5.19.0/createListModelsQuery.js +17 -5
  380. package/admin/plugins/upgrades/5.19.0/createListModelsQuery.js.map +1 -1
  381. package/admin/plugins/upgrades/5.19.0/createRepublishMutation.js +20 -7
  382. package/admin/plugins/upgrades/5.19.0/createRepublishMutation.js.map +1 -1
  383. package/admin/plugins/upgrades/5.19.0/createUpgradeMutation.js +17 -5
  384. package/admin/plugins/upgrades/5.19.0/createUpgradeMutation.js.map +1 -1
  385. package/admin/plugins/upgrades/5.19.0/fetchModelEntries.js +27 -13
  386. package/admin/plugins/upgrades/5.19.0/fetchModelEntries.js.map +1 -1
  387. package/admin/plugins/upgrades/5.19.0/types.js +5 -1
  388. package/admin/plugins/upgrades/5.19.0/types.js.map +1 -1
  389. package/admin/plugins/upgrades/v5.0.0.js +58 -33
  390. package/admin/plugins/upgrades/v5.0.0.js.map +1 -1
  391. package/admin/plugins/upgrades/v5.19.0.js +118 -82
  392. package/admin/plugins/upgrades/v5.19.0.js.map +1 -1
  393. package/admin/plugins/upgrades/v5.5.0.js +58 -33
  394. package/admin/plugins/upgrades/v5.5.0.js.map +1 -1
  395. package/admin/plugins/upgrades/v5.8.0.js +58 -33
  396. package/admin/plugins/upgrades/v5.8.0.js.map +1 -1
  397. package/admin/plugins/validators/dateGte.js +23 -9
  398. package/admin/plugins/validators/dateGte.js.map +1 -1
  399. package/admin/plugins/validators/dateLte.js +23 -9
  400. package/admin/plugins/validators/dateLte.js.map +1 -1
  401. package/admin/plugins/validators/gte.js +20 -7
  402. package/admin/plugins/validators/gte.js.map +1 -1
  403. package/admin/plugins/validators/in.js +20 -7
  404. package/admin/plugins/validators/in.js.map +1 -1
  405. package/admin/plugins/validators/lte.js +20 -7
  406. package/admin/plugins/validators/lte.js.map +1 -1
  407. package/admin/plugins/validators/maxLength.js +20 -7
  408. package/admin/plugins/validators/maxLength.js.map +1 -1
  409. package/admin/plugins/validators/minLength.js +20 -7
  410. package/admin/plugins/validators/minLength.js.map +1 -1
  411. package/admin/plugins/validators/pattern.js +20 -7
  412. package/admin/plugins/validators/pattern.js.map +1 -1
  413. package/admin/plugins/validators/patternPlugins/email.js +8 -1
  414. package/admin/plugins/validators/patternPlugins/email.js.map +1 -1
  415. package/admin/plugins/validators/patternPlugins/lowerCase.js +8 -1
  416. package/admin/plugins/validators/patternPlugins/lowerCase.js.map +1 -1
  417. package/admin/plugins/validators/patternPlugins/lowerCaseSpace.js +8 -1
  418. package/admin/plugins/validators/patternPlugins/lowerCaseSpace.js.map +1 -1
  419. package/admin/plugins/validators/patternPlugins/upperCase.js +8 -1
  420. package/admin/plugins/validators/patternPlugins/upperCase.js.map +1 -1
  421. package/admin/plugins/validators/patternPlugins/upperCaseSpace.js +8 -1
  422. package/admin/plugins/validators/patternPlugins/upperCaseSpace.js.map +1 -1
  423. package/admin/plugins/validators/patternPlugins/url.js +8 -1
  424. package/admin/plugins/validators/patternPlugins/url.js.map +1 -1
  425. package/admin/plugins/validators/required.js +12 -3
  426. package/admin/plugins/validators/required.js.map +1 -1
  427. package/admin/plugins/validators/timeGte.js +22 -8
  428. package/admin/plugins/validators/timeGte.js.map +1 -1
  429. package/admin/plugins/validators/timeLte.js +22 -8
  430. package/admin/plugins/validators/timeLte.js.map +1 -1
  431. package/admin/plugins/validators/unique.js +18 -6
  432. package/admin/plugins/validators/unique.js.map +1 -1
  433. package/admin/plugins/welcomeScreenWidget.js +23 -9
  434. package/admin/plugins/welcomeScreenWidget.js.map +1 -1
  435. package/admin/views/contentEntries/ContentEntries.js +57 -31
  436. package/admin/views/contentEntries/ContentEntries.js.map +1 -1
  437. package/admin/views/contentEntries/ContentEntriesContext.js +43 -21
  438. package/admin/views/contentEntries/ContentEntriesContext.js.map +1 -1
  439. package/admin/views/contentEntries/ContentEntriesList.js +102 -75
  440. package/admin/views/contentEntries/ContentEntriesList.js.map +1 -1
  441. package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js +72 -41
  442. package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js.map +1 -1
  443. package/admin/views/contentEntries/ContentEntry/RevisionListItem.js +95 -67
  444. package/admin/views/contentEntries/ContentEntry/RevisionListItem.js.map +1 -1
  445. package/admin/views/contentEntries/ContentEntry/RevisionsList.js +38 -19
  446. package/admin/views/contentEntries/ContentEntry/RevisionsList.js.map +1 -1
  447. package/admin/views/contentEntries/ContentEntry/cache.js +65 -31
  448. package/admin/views/contentEntries/ContentEntry/cache.js.map +1 -1
  449. package/admin/views/contentEntries/ContentEntry/header/Header.js +31 -16
  450. package/admin/views/contentEntries/ContentEntry/header/Header.js.map +1 -1
  451. package/admin/views/contentEntries/ContentEntry/header/contentFormOptionsMenu/ContentFormOptionsMenu.js +90 -55
  452. package/admin/views/contentEntries/ContentEntry/header/contentFormOptionsMenu/ContentFormOptionsMenu.js.map +1 -1
  453. package/admin/views/contentEntries/ContentEntry/header/index.js +33 -14
  454. package/admin/views/contentEntries/ContentEntry/header/index.js.map +1 -1
  455. package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.js +47 -26
  456. package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.js.map +1 -1
  457. package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.js +50 -27
  458. package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.js.map +1 -1
  459. package/admin/views/contentEntries/ContentEntry/header/revisionSelector/RevisionSelector.js +47 -26
  460. package/admin/views/contentEntries/ContentEntry/header/revisionSelector/RevisionSelector.js.map +1 -1
  461. package/admin/views/contentEntries/ContentEntry/header/saveAndPublishContent/SaveAndPublishContent.js +45 -24
  462. package/admin/views/contentEntries/ContentEntry/header/saveAndPublishContent/SaveAndPublishContent.js.map +1 -1
  463. package/admin/views/contentEntries/ContentEntry/header/saveContent/SaveContent.js +27 -12
  464. package/admin/views/contentEntries/ContentEntry/header/saveContent/SaveContent.js.map +1 -1
  465. package/admin/views/contentEntries/ContentEntry/prepareFormData.js +19 -7
  466. package/admin/views/contentEntries/ContentEntry/prepareFormData.js.map +1 -1
  467. package/admin/views/contentEntries/ContentEntry/useRevision.js +57 -36
  468. package/admin/views/contentEntries/ContentEntry/useRevision.js.map +1 -1
  469. package/admin/views/contentEntries/ContentEntry.js +62 -35
  470. package/admin/views/contentEntries/ContentEntry.js.map +1 -1
  471. package/admin/views/contentEntries/experiment/ContentEntriesModule.js +42 -25
  472. package/admin/views/contentEntries/experiment/ContentEntriesModule.js.map +1 -1
  473. package/admin/views/contentEntries/experiment/ContentEntriesRenderer.js +29 -9
  474. package/admin/views/contentEntries/experiment/ContentEntriesRenderer.js.map +1 -1
  475. package/admin/views/contentEntries/experiment/ContentEntriesViewConfig.js +51 -29
  476. package/admin/views/contentEntries/experiment/ContentEntriesViewConfig.js.map +1 -1
  477. package/admin/views/contentEntries/experiment/Property.js +74 -58
  478. package/admin/views/contentEntries/experiment/Property.js.map +1 -1
  479. package/admin/views/contentEntries/hooks/useContentEntries.js +13 -4
  480. package/admin/views/contentEntries/hooks/useContentEntries.js.map +1 -1
  481. package/admin/views/contentEntries/hooks/useContentEntriesList.js +59 -39
  482. package/admin/views/contentEntries/hooks/useContentEntriesList.js.map +1 -1
  483. package/admin/views/contentEntries/hooks/useContentEntry.js +13 -4
  484. package/admin/views/contentEntries/hooks/useContentEntry.js.map +1 -1
  485. package/admin/views/contentModelGroups/ContentModelGroups.js +28 -12
  486. package/admin/views/contentModelGroups/ContentModelGroups.js.map +1 -1
  487. package/admin/views/contentModelGroups/ContentModelGroupsDataList.js +114 -77
  488. package/admin/views/contentModelGroups/ContentModelGroupsDataList.js.map +1 -1
  489. package/admin/views/contentModelGroups/ContentModelGroupsForm.js +117 -78
  490. package/admin/views/contentModelGroups/ContentModelGroupsForm.js.map +1 -1
  491. package/admin/views/contentModelGroups/DelayedOnChange.js +49 -48
  492. package/admin/views/contentModelGroups/DelayedOnChange.js.map +1 -1
  493. package/admin/views/contentModelGroups/IconPicker.js +56 -33
  494. package/admin/views/contentModelGroups/IconPicker.js.map +1 -1
  495. package/admin/views/contentModelGroups/graphql.js +22 -7
  496. package/admin/views/contentModelGroups/graphql.js.map +1 -1
  497. package/admin/views/contentModels/CloneContentModelDialog.js +104 -71
  498. package/admin/views/contentModels/CloneContentModelDialog.js.map +1 -1
  499. package/admin/views/contentModels/ContentModelEditor.js +30 -14
  500. package/admin/views/contentModels/ContentModelEditor.js.map +1 -1
  501. package/admin/views/contentModels/ContentModels.js +49 -30
  502. package/admin/views/contentModels/ContentModels.js.map +1 -1
  503. package/admin/views/contentModels/ContentModelsDataList.js +144 -108
  504. package/admin/views/contentModels/ContentModelsDataList.js.map +1 -1
  505. package/admin/views/contentModels/NewContentModelDialog.js +107 -70
  506. package/admin/views/contentModels/NewContentModelDialog.js.map +1 -1
  507. package/admin/views/contentModels/cache.js +41 -19
  508. package/admin/views/contentModels/cache.js.map +1 -1
  509. package/admin/views/contentModels/types.js +5 -1
  510. package/admin/views/contentModels/types.js.map +1 -1
  511. package/admin/views/utils.js +16 -4
  512. package/admin/views/utils.js.map +1 -1
  513. package/admin/viewsGraphql.js +22 -7
  514. package/admin/viewsGraphql.js.map +1 -1
  515. package/index.js +30 -11
  516. package/index.js.map +1 -1
  517. package/package.json +22 -22
  518. package/types.d.ts +3 -3
  519. package/types.js +5 -1
  520. package/types.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["useContentEntryForm.ts"],"names":["useCallback","useMemo","useState","pick","useRouter","useSnackbar","createCreateFromMutation","createCreateMutation","createUpdateMutation","useMutation","GQLCache","prepareFormData","useContentEntry","plugins","convertDefaultValue","field","value","type","Boolean","Number","useContentEntryForm","params","listQueryVariables","contentModel","entry","history","showSnackbar","invalidFields","setInvalidFields","loading","setLoading","renderPlugins","byType","goToRevision","id","push","modelId","encodeURIComponent","CREATE_CONTENT","UPDATE_CONTENT","CREATE_CONTENT_FROM","createMutation","updateMutation","createFromMutation","setInvalidFieldValues","errors","values","reduce","acc","er","fieldId","error","resetInvalidFieldValues","createContent","data","variables","update","cache","response","content","message","addEntryToListCache","name","onSubmit","updateContent","revision","createContentFrom","formData","newRevision","updateLatestRevisionInListCache","addRevisionToRevisionsCache","onChange","form","fieldsIds","fields","map","item","gqlData","meta","isLocked","locked","defaultValues","settings","multipleValues","defaultValue","undefined","predefinedValues","enabled","Array","isArray","selectedValue","find","selected","filter"],"mappings":"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","sourcesContent":["import { Dispatch, SetStateAction, useCallback, useMemo, useState } from \"react\";\nimport pick from \"lodash/pick\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { FormOnSubmit } from \"@webiny/form\";\nimport {\n createCreateFromMutation,\n createCreateMutation,\n createUpdateMutation,\n CmsEntryCreateMutationResponse,\n CmsEntryCreateMutationVariables,\n CmsEntryUpdateMutationResponse,\n CmsEntryUpdateMutationVariables,\n CmsEntryCreateFromMutationResponse,\n CmsEntryCreateFromMutationVariables\n} from \"~/admin/graphql/contentEntries\";\nimport { useMutation } from \"~/admin/hooks\";\nimport * as GQLCache from \"~/admin/views/contentEntries/ContentEntry/cache\";\nimport { prepareFormData } from \"~/admin/views/contentEntries/ContentEntry/prepareFormData\";\nimport {\n CmsEditorContentEntry,\n CmsEditorContentModel,\n CmsEditorField,\n CmsEditorFieldRendererPlugin\n} from \"~/types\";\nimport { useContentEntry } from \"~/admin/views/contentEntries/hooks/useContentEntry\";\nimport { plugins } from \"@webiny/plugins\";\n\n/**\n * Used for some fields to convert their values.\n */\nconst convertDefaultValue = (field: CmsEditorField, value: any): string | number | boolean => {\n switch (field.type) {\n case \"boolean\":\n return Boolean(value);\n case \"number\":\n return Number(value);\n default:\n return value;\n }\n};\n\ninterface InvalidFieldError {\n fieldId: string;\n error: string;\n}\n\ninterface UseContentEntryForm {\n data: Record<string, any>;\n loading: boolean;\n setLoading: Dispatch<SetStateAction<boolean>>;\n onChange: FormOnSubmit;\n onSubmit: FormOnSubmit;\n invalidFields: Record<string, string>;\n renderPlugins: CmsEditorFieldRendererPlugin[];\n}\n\nexport interface UseContentEntryFormParams {\n contentModel: CmsEditorContentModel;\n entry: Partial<CmsEditorContentEntry>;\n onChange?: FormOnSubmit;\n onSubmit?: FormOnSubmit;\n addEntryToListCache: boolean;\n}\n\nexport function useContentEntryForm(params: UseContentEntryFormParams): UseContentEntryForm {\n const { listQueryVariables } = useContentEntry();\n const { contentModel, entry } = params;\n const { history } = useRouter();\n const { showSnackbar } = useSnackbar();\n const [invalidFields, setInvalidFields] = useState<Record<string, string>>({});\n const [loading, setLoading] = useState(false);\n\n const renderPlugins = useMemo(\n () => plugins.byType<CmsEditorFieldRendererPlugin>(\"cms-editor-field-renderer\"),\n []\n );\n\n const goToRevision = useCallback(id => {\n history.push(`/cms/content-entries/${contentModel.modelId}?id=${encodeURIComponent(id)}`);\n }, []);\n\n const { CREATE_CONTENT, UPDATE_CONTENT, CREATE_CONTENT_FROM } = useMemo(() => {\n return {\n // LIST_CONTENT: createListQuery(contentModel),\n CREATE_CONTENT: createCreateMutation(contentModel),\n UPDATE_CONTENT: createUpdateMutation(contentModel),\n CREATE_CONTENT_FROM: createCreateFromMutation(contentModel)\n };\n }, [contentModel.modelId]);\n\n const [createMutation] = useMutation<\n CmsEntryCreateMutationResponse,\n CmsEntryCreateMutationVariables\n >(CREATE_CONTENT);\n const [updateMutation] = useMutation<\n CmsEntryUpdateMutationResponse,\n CmsEntryUpdateMutationVariables\n >(UPDATE_CONTENT);\n const [createFromMutation] = useMutation<\n CmsEntryCreateFromMutationResponse,\n CmsEntryCreateFromMutationVariables\n >(CREATE_CONTENT_FROM);\n\n /**\n * Note that when passing error.data variable we cast as InvalidFieldError[] because we know it is so.\n */\n const setInvalidFieldValues = (errors?: InvalidFieldError[]): void => {\n const values = (errors || []).reduce((acc, er) => {\n acc[er.fieldId] = er.error;\n return acc;\n }, {} as Record<string, string>);\n setInvalidFields(() => values);\n };\n\n const resetInvalidFieldValues = (): void => {\n setInvalidFields(() => ({}));\n };\n\n const createContent = useCallback(\n async data => {\n setLoading(true);\n const response = await createMutation({\n variables: { data },\n update(cache, response) {\n if (!response.data) {\n showSnackbar(\"Missing response data in Create Entry.\");\n return;\n }\n const { data } = response;\n const { data: entry, error } = data.content || {};\n if (error) {\n showSnackbar(error.message);\n setInvalidFieldValues(error.data as InvalidFieldError[]);\n return;\n } else if (!entry) {\n showSnackbar(\n \"Missing entry data in update callback on Create Entry Response.\"\n );\n return;\n }\n resetInvalidFieldValues();\n if (params.addEntryToListCache) {\n GQLCache.addEntryToListCache(\n contentModel,\n cache,\n entry,\n listQueryVariables\n );\n }\n }\n });\n setLoading(false);\n\n const { error, data: entry } = response.data?.content || {};\n if (error) {\n showSnackbar(error.message);\n setInvalidFieldValues(error.data as InvalidFieldError[]);\n return null;\n } else if (!entry) {\n showSnackbar(\"Missing entry data in Create Entry Response.\");\n return null;\n }\n resetInvalidFieldValues();\n showSnackbar(`${contentModel.name} entry created successfully!`);\n if (typeof params.onSubmit === \"function\") {\n params.onSubmit(entry);\n } else {\n goToRevision(entry.id);\n }\n return entry;\n },\n [contentModel.modelId, listQueryVariables, params.onSubmit, params.addEntryToListCache]\n );\n\n const updateContent = useCallback(\n async (revision, data) => {\n setLoading(true);\n const response = await updateMutation({\n variables: { revision, data }\n });\n setLoading(false);\n if (!response.data) {\n showSnackbar(\"Missing response data on Update Entry Response.\");\n return;\n }\n\n const { error } = response.data.content;\n if (error) {\n showSnackbar(error.message);\n setInvalidFieldValues(error.data as InvalidFieldError[]);\n return null;\n }\n\n resetInvalidFieldValues();\n showSnackbar(\"Content saved successfully.\");\n const { data: entry } = response.data.content;\n return entry;\n },\n [contentModel.modelId]\n );\n\n const createContentFrom = useCallback(\n async (revision: string, formData: Record<string, any>) => {\n setLoading(true);\n const response = await createFromMutation({\n variables: { revision, data: formData },\n update(cache, response) {\n if (!response.data) {\n showSnackbar(\n \"Missing data in update callback on Create From Entry Response.\"\n );\n return;\n }\n const { data: newRevision, error } = response.data.content;\n if (error) {\n showSnackbar(error.message);\n setInvalidFieldValues(error.data as InvalidFieldError[]);\n return;\n } else if (!newRevision) {\n showSnackbar(\"Missing entry data in update callback on Create From Entry.\");\n return;\n }\n resetInvalidFieldValues();\n GQLCache.updateLatestRevisionInListCache(\n contentModel,\n cache,\n newRevision,\n listQueryVariables\n );\n GQLCache.addRevisionToRevisionsCache(contentModel, cache, newRevision);\n\n showSnackbar(\"A new revision was created!\");\n goToRevision(newRevision.id);\n }\n });\n setLoading(false);\n\n if (!response.data) {\n showSnackbar(\"Missing response data on Create From Entry Mutation.\");\n return;\n }\n\n const { data, error } = response.data.content;\n if (error) {\n showSnackbar(error.message);\n setInvalidFieldValues(error.data as InvalidFieldError[]);\n return null;\n }\n resetInvalidFieldValues();\n\n return data;\n },\n [contentModel.modelId, listQueryVariables]\n );\n\n const onChange: FormOnSubmit = (data, form) => {\n if (!params.onChange) {\n return;\n }\n return params.onChange(data, form);\n };\n\n const onSubmit = async (data: Record<string, any>) => {\n const fieldsIds = contentModel.fields.map(item => item.fieldId);\n const formData = pick(data, [...fieldsIds]);\n\n const gqlData = prepareFormData(formData, contentModel);\n if (!entry.id) {\n return createContent(gqlData);\n }\n\n const { meta } = entry;\n const { locked: isLocked } = meta || {};\n\n if (!isLocked) {\n return updateContent(entry.id, gqlData);\n }\n return createContentFrom(entry.id, gqlData);\n };\n\n const defaultValues = useMemo((): Record<string, any> => {\n const values: Record<string, any> = {};\n /**\n * Assign the default values:\n * * check the settings.defaultValue\n * * check the predefinedValues for selected value\n */\n for (const field of contentModel.fields) {\n /**\n * When checking if defaultValue is set in settings, we do the undefined check because it can be null, 0, empty string, false, etc...\n */\n const { settings, multipleValues = false } = field;\n if (settings && settings.defaultValue !== undefined) {\n /**\n * Special type of field is the boolean one.\n * We MUST set true/false for default value.\n */\n values[field.fieldId] = convertDefaultValue(field, settings.defaultValue);\n continue;\n }\n /**\n * No point in going further if predefined values are not enabled.\n */\n const { predefinedValues } = field;\n if (\n !predefinedValues ||\n !predefinedValues.enabled ||\n Array.isArray(predefinedValues.values) === false\n ) {\n continue;\n }\n /**\n * When field is not a multiple values one, we find the first possible default selected value and set it as field value.\n */\n if (!multipleValues) {\n const selectedValue = predefinedValues.values.find(({ selected }) => {\n return !!selected;\n });\n if (selectedValue) {\n values[field.fieldId] = convertDefaultValue(field, selectedValue.value);\n }\n continue;\n }\n /**\n *\n */\n values[field.fieldId] = predefinedValues.values\n .filter(({ selected }) => !!selected)\n .map(({ value }) => {\n return convertDefaultValue(field, value);\n });\n }\n return values;\n }, [contentModel.modelId]);\n\n return {\n /**\n * If entry is not set or entry.id does not exist, it means that form is for the new entry, so fetch default values.\n */\n data: entry && entry.id ? entry : defaultValues,\n loading,\n setLoading,\n onChange,\n onSubmit,\n invalidFields,\n renderPlugins\n };\n}\n"]}
1
+ {"version":3,"names":["convertDefaultValue","field","value","type","Boolean","Number","useContentEntryForm","params","useContentEntry","listQueryVariables","contentModel","entry","useRouter","history","useSnackbar","showSnackbar","useState","invalidFields","setInvalidFields","loading","setLoading","renderPlugins","useMemo","plugins","byType","goToRevision","useCallback","id","push","modelId","encodeURIComponent","CREATE_CONTENT","createCreateMutation","UPDATE_CONTENT","createUpdateMutation","CREATE_CONTENT_FROM","createCreateFromMutation","useMutation","createMutation","updateMutation","createFromMutation","setInvalidFieldValues","errors","values","reduce","acc","er","fieldId","error","resetInvalidFieldValues","createContent","data","variables","update","cache","response","content","message","addEntryToListCache","GQLCache","name","onSubmit","updateContent","revision","createContentFrom","formData","newRevision","updateLatestRevisionInListCache","addRevisionToRevisionsCache","onChange","form","fieldsIds","fields","map","item","pick","gqlData","prepareFormData","meta","isLocked","locked","defaultValues","settings","multipleValues","defaultValue","undefined","predefinedValues","enabled","Array","isArray","selectedValue","find","selected","filter"],"sources":["useContentEntryForm.ts"],"sourcesContent":["import { Dispatch, SetStateAction, useCallback, useMemo, useState } from \"react\";\nimport pick from \"lodash/pick\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { FormOnSubmit } from \"@webiny/form\";\nimport {\n createCreateFromMutation,\n createCreateMutation,\n createUpdateMutation,\n CmsEntryCreateMutationResponse,\n CmsEntryCreateMutationVariables,\n CmsEntryUpdateMutationResponse,\n CmsEntryUpdateMutationVariables,\n CmsEntryCreateFromMutationResponse,\n CmsEntryCreateFromMutationVariables\n} from \"~/admin/graphql/contentEntries\";\nimport { useMutation } from \"~/admin/hooks\";\nimport * as GQLCache from \"~/admin/views/contentEntries/ContentEntry/cache\";\nimport { prepareFormData } from \"~/admin/views/contentEntries/ContentEntry/prepareFormData\";\nimport {\n CmsEditorContentEntry,\n CmsEditorContentModel,\n CmsEditorField,\n CmsEditorFieldRendererPlugin\n} from \"~/types\";\nimport { useContentEntry } from \"~/admin/views/contentEntries/hooks/useContentEntry\";\nimport { plugins } from \"@webiny/plugins\";\n\n/**\n * Used for some fields to convert their values.\n */\nconst convertDefaultValue = (field: CmsEditorField, value: any): string | number | boolean => {\n switch (field.type) {\n case \"boolean\":\n return Boolean(value);\n case \"number\":\n return Number(value);\n default:\n return value;\n }\n};\n\ninterface InvalidFieldError {\n fieldId: string;\n error: string;\n}\n\ninterface UseContentEntryForm {\n data: Record<string, any>;\n loading: boolean;\n setLoading: Dispatch<SetStateAction<boolean>>;\n onChange: FormOnSubmit;\n onSubmit: FormOnSubmit;\n invalidFields: Record<string, string>;\n renderPlugins: CmsEditorFieldRendererPlugin[];\n}\n\nexport interface UseContentEntryFormParams {\n contentModel: CmsEditorContentModel;\n entry: Partial<CmsEditorContentEntry>;\n onChange?: FormOnSubmit;\n onSubmit?: FormOnSubmit;\n addEntryToListCache: boolean;\n}\n\nexport function useContentEntryForm(params: UseContentEntryFormParams): UseContentEntryForm {\n const { listQueryVariables } = useContentEntry();\n const { contentModel, entry } = params;\n const { history } = useRouter();\n const { showSnackbar } = useSnackbar();\n const [invalidFields, setInvalidFields] = useState<Record<string, string>>({});\n const [loading, setLoading] = useState(false);\n\n const renderPlugins = useMemo(\n () => plugins.byType<CmsEditorFieldRendererPlugin>(\"cms-editor-field-renderer\"),\n []\n );\n\n const goToRevision = useCallback(id => {\n history.push(`/cms/content-entries/${contentModel.modelId}?id=${encodeURIComponent(id)}`);\n }, []);\n\n const { CREATE_CONTENT, UPDATE_CONTENT, CREATE_CONTENT_FROM } = useMemo(() => {\n return {\n // LIST_CONTENT: createListQuery(contentModel),\n CREATE_CONTENT: createCreateMutation(contentModel),\n UPDATE_CONTENT: createUpdateMutation(contentModel),\n CREATE_CONTENT_FROM: createCreateFromMutation(contentModel)\n };\n }, [contentModel.modelId]);\n\n const [createMutation] = useMutation<\n CmsEntryCreateMutationResponse,\n CmsEntryCreateMutationVariables\n >(CREATE_CONTENT);\n const [updateMutation] = useMutation<\n CmsEntryUpdateMutationResponse,\n CmsEntryUpdateMutationVariables\n >(UPDATE_CONTENT);\n const [createFromMutation] = useMutation<\n CmsEntryCreateFromMutationResponse,\n CmsEntryCreateFromMutationVariables\n >(CREATE_CONTENT_FROM);\n\n /**\n * Note that when passing error.data variable we cast as InvalidFieldError[] because we know it is so.\n */\n const setInvalidFieldValues = (errors?: InvalidFieldError[]): void => {\n const values = (errors || []).reduce((acc, er) => {\n acc[er.fieldId] = er.error;\n return acc;\n }, {} as Record<string, string>);\n setInvalidFields(() => values);\n };\n\n const resetInvalidFieldValues = (): void => {\n setInvalidFields(() => ({}));\n };\n\n const createContent = useCallback(\n async data => {\n setLoading(true);\n const response = await createMutation({\n variables: { data },\n update(cache, response) {\n if (!response.data) {\n showSnackbar(\"Missing response data in Create Entry.\");\n return;\n }\n const { data } = response;\n const { data: entry, error } = data.content || {};\n if (error) {\n showSnackbar(error.message);\n setInvalidFieldValues(error.data as InvalidFieldError[]);\n return;\n } else if (!entry) {\n showSnackbar(\n \"Missing entry data in update callback on Create Entry Response.\"\n );\n return;\n }\n resetInvalidFieldValues();\n if (params.addEntryToListCache) {\n GQLCache.addEntryToListCache(\n contentModel,\n cache,\n entry,\n listQueryVariables\n );\n }\n }\n });\n setLoading(false);\n\n const { error, data: entry } = response.data?.content || {};\n if (error) {\n showSnackbar(error.message);\n setInvalidFieldValues(error.data as InvalidFieldError[]);\n return null;\n } else if (!entry) {\n showSnackbar(\"Missing entry data in Create Entry Response.\");\n return null;\n }\n resetInvalidFieldValues();\n showSnackbar(`${contentModel.name} entry created successfully!`);\n if (typeof params.onSubmit === \"function\") {\n params.onSubmit(entry);\n } else {\n goToRevision(entry.id);\n }\n return entry;\n },\n [contentModel.modelId, listQueryVariables, params.onSubmit, params.addEntryToListCache]\n );\n\n const updateContent = useCallback(\n async (revision, data) => {\n setLoading(true);\n const response = await updateMutation({\n variables: { revision, data }\n });\n setLoading(false);\n if (!response.data) {\n showSnackbar(\"Missing response data on Update Entry Response.\");\n return;\n }\n\n const { error } = response.data.content;\n if (error) {\n showSnackbar(error.message);\n setInvalidFieldValues(error.data as InvalidFieldError[]);\n return null;\n }\n\n resetInvalidFieldValues();\n showSnackbar(\"Content saved successfully.\");\n const { data: entry } = response.data.content;\n return entry;\n },\n [contentModel.modelId]\n );\n\n const createContentFrom = useCallback(\n async (revision: string, formData: Record<string, any>) => {\n setLoading(true);\n const response = await createFromMutation({\n variables: { revision, data: formData },\n update(cache, response) {\n if (!response.data) {\n showSnackbar(\n \"Missing data in update callback on Create From Entry Response.\"\n );\n return;\n }\n const { data: newRevision, error } = response.data.content;\n if (error) {\n showSnackbar(error.message);\n setInvalidFieldValues(error.data as InvalidFieldError[]);\n return;\n } else if (!newRevision) {\n showSnackbar(\"Missing entry data in update callback on Create From Entry.\");\n return;\n }\n resetInvalidFieldValues();\n GQLCache.updateLatestRevisionInListCache(\n contentModel,\n cache,\n newRevision,\n listQueryVariables\n );\n GQLCache.addRevisionToRevisionsCache(contentModel, cache, newRevision);\n\n showSnackbar(\"A new revision was created!\");\n goToRevision(newRevision.id);\n }\n });\n setLoading(false);\n\n if (!response.data) {\n showSnackbar(\"Missing response data on Create From Entry Mutation.\");\n return;\n }\n\n const { data, error } = response.data.content;\n if (error) {\n showSnackbar(error.message);\n setInvalidFieldValues(error.data as InvalidFieldError[]);\n return null;\n }\n resetInvalidFieldValues();\n\n return data;\n },\n [contentModel.modelId, listQueryVariables]\n );\n\n const onChange: FormOnSubmit = (data, form) => {\n if (!params.onChange) {\n return;\n }\n return params.onChange(data, form);\n };\n\n const onSubmit = async (data: Record<string, any>) => {\n const fieldsIds = contentModel.fields.map(item => item.fieldId);\n const formData = pick(data, [...fieldsIds]);\n\n const gqlData = prepareFormData(formData, contentModel);\n if (!entry.id) {\n return createContent(gqlData);\n }\n\n const { meta } = entry;\n const { locked: isLocked } = meta || {};\n\n if (!isLocked) {\n return updateContent(entry.id, gqlData);\n }\n return createContentFrom(entry.id, gqlData);\n };\n\n const defaultValues = useMemo((): Record<string, any> => {\n const values: Record<string, any> = {};\n /**\n * Assign the default values:\n * * check the settings.defaultValue\n * * check the predefinedValues for selected value\n */\n for (const field of contentModel.fields) {\n /**\n * When checking if defaultValue is set in settings, we do the undefined check because it can be null, 0, empty string, false, etc...\n */\n const { settings, multipleValues = false } = field;\n if (settings && settings.defaultValue !== undefined) {\n /**\n * Special type of field is the boolean one.\n * We MUST set true/false for default value.\n */\n values[field.fieldId] = convertDefaultValue(field, settings.defaultValue);\n continue;\n }\n /**\n * No point in going further if predefined values are not enabled.\n */\n const { predefinedValues } = field;\n if (\n !predefinedValues ||\n !predefinedValues.enabled ||\n Array.isArray(predefinedValues.values) === false\n ) {\n continue;\n }\n /**\n * When field is not a multiple values one, we find the first possible default selected value and set it as field value.\n */\n if (!multipleValues) {\n const selectedValue = predefinedValues.values.find(({ selected }) => {\n return !!selected;\n });\n if (selectedValue) {\n values[field.fieldId] = convertDefaultValue(field, selectedValue.value);\n }\n continue;\n }\n /**\n *\n */\n values[field.fieldId] = predefinedValues.values\n .filter(({ selected }) => !!selected)\n .map(({ value }) => {\n return convertDefaultValue(field, value);\n });\n }\n return values;\n }, [contentModel.modelId]);\n\n return {\n /**\n * If entry is not set or entry.id does not exist, it means that form is for the new entry, so fetch default values.\n */\n data: entry && entry.id ? entry : defaultValues,\n loading,\n setLoading,\n onChange,\n onSubmit,\n invalidFields,\n renderPlugins\n };\n}\n"],"mappings":"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"}
@@ -1,7 +1,16 @@
1
- import { plugins } from "@webiny/plugins";
2
- import { useMemo } from "react";
3
- export function useRenderPlugins() {
4
- return useMemo(function () {
5
- return plugins.byType("cms-editor-field-renderer");
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useRenderPlugins = useRenderPlugins;
7
+
8
+ var _plugins = require("@webiny/plugins");
9
+
10
+ var _react = require("react");
11
+
12
+ function useRenderPlugins() {
13
+ return (0, _react.useMemo)(function () {
14
+ return _plugins.plugins.byType("cms-editor-field-renderer");
6
15
  }, []);
7
16
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["useRenderPlugins.ts"],"names":["plugins","useMemo","useRenderPlugins","byType"],"mappings":"AAAA,SAASA,OAAT,QAAwB,iBAAxB;AACA,SAASC,OAAT,QAAwB,OAAxB;AAGA,OAAO,SAASC,gBAAT,GAA4B;AAC/B,SAAOD,OAAO,CACV;AAAA,WAAMD,OAAO,CAACG,MAAR,CAA6C,2BAA7C,CAAN;AAAA,GADU,EAEV,EAFU,CAAd;AAIH","sourcesContent":["import { plugins } from \"@webiny/plugins\";\nimport { useMemo } from \"react\";\nimport { CmsEditorFieldRendererPlugin } from \"~/types\";\n\nexport function useRenderPlugins() {\n return useMemo(\n () => plugins.byType<CmsEditorFieldRendererPlugin>(\"cms-editor-field-renderer\"),\n []\n );\n}\n"]}
1
+ {"version":3,"names":["useRenderPlugins","useMemo","plugins","byType"],"sources":["useRenderPlugins.ts"],"sourcesContent":["import { plugins } from \"@webiny/plugins\";\nimport { useMemo } from \"react\";\nimport { CmsEditorFieldRendererPlugin } from \"~/types\";\n\nexport function useRenderPlugins() {\n return useMemo(\n () => plugins.byType<CmsEditorFieldRendererPlugin>(\"cms-editor-field-renderer\"),\n []\n );\n}\n"],"mappings":";;;;;;;AAAA;;AACA;;AAGO,SAASA,gBAAT,GAA4B;EAC/B,OAAO,IAAAC,cAAA,EACH;IAAA,OAAMC,gBAAA,CAAQC,MAAR,CAA6C,2BAA7C,CAAN;EAAA,CADG,EAEH,EAFG,CAAP;AAIH"}
@@ -1,22 +1,44 @@
1
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
- import _objectSpread from "@babel/runtime/helpers/objectSpread2";
3
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
4
- import _regeneratorRuntime from "@babel/runtime/regenerator";
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.contentModelEditorReducer = exports.contentModelEditorContext = exports.ContentModelEditorProvider = void 0;
11
+
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
14
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
15
+
16
+ var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
17
+
18
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
19
+
20
+ var _react = _interopRequireWildcard(require("react"));
21
+
22
+ var _get2 = _interopRequireDefault(require("lodash/get"));
23
+
24
+ var _pick = _interopRequireDefault(require("lodash/pick"));
25
+
26
+ var _reactRouter = require("@webiny/react-router");
27
+
28
+ var _useSnackbar2 = require("@webiny/app-admin/hooks/useSnackbar");
29
+
30
+ var _contentModels = require("../../graphql/contentModels");
31
+
32
+ var _viewsGraphql = require("../../viewsGraphql");
33
+
5
34
  // TODO @ts-refactor verify that types are correct
6
- import React, { useEffect, useMemo, useReducer } from "react";
7
- import get from "lodash/get";
8
- import pick from "lodash/pick";
9
- import { useRouter } from "@webiny/react-router";
10
- import { useSnackbar } from "@webiny/app-admin/hooks/useSnackbar";
11
- import { GET_CONTENT_MODEL, UPDATE_CONTENT_MODEL } from "../../graphql/contentModels";
12
- import { LIST_MENU_CONTENT_GROUPS_MODELS } from "../../viewsGraphql";
13
- export var contentModelEditorContext = /*#__PURE__*/React.createContext({
35
+ var contentModelEditorContext = /*#__PURE__*/_react.default.createContext({
14
36
  apolloClient: null,
15
37
  data: null,
16
38
  isPristine: false,
17
39
  getContentModel: function () {
18
- var _getContentModel = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
19
- return _regeneratorRuntime.wrap(function _callee$(_context) {
40
+ var _getContentModel = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
41
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
20
42
  while (1) {
21
43
  switch (_context.prev = _context.next) {
22
44
  case 0:
@@ -39,8 +61,8 @@ export var contentModelEditorContext = /*#__PURE__*/React.createContext({
39
61
  return getContentModel;
40
62
  }(),
41
63
  saveContentModel: function () {
42
- var _saveContentModel = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
43
- return _regeneratorRuntime.wrap(function _callee2$(_context2) {
64
+ var _saveContentModel = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee2() {
65
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee2$(_context2) {
44
66
  while (1) {
45
67
  switch (_context2.prev = _context2.next) {
46
68
  case 0:
@@ -64,8 +86,8 @@ export var contentModelEditorContext = /*#__PURE__*/React.createContext({
64
86
  return saveContentModel;
65
87
  }(),
66
88
  setData: function () {
67
- var _setData = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
68
- return _regeneratorRuntime.wrap(function _callee3$(_context3) {
89
+ var _setData = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee3() {
90
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee3$(_context3) {
69
91
  while (1) {
70
92
  switch (_context3.prev = _context3.next) {
71
93
  case 0:
@@ -86,16 +108,19 @@ export var contentModelEditorContext = /*#__PURE__*/React.createContext({
86
108
  return setData;
87
109
  }()
88
110
  });
89
- export var contentModelEditorReducer = function contentModelEditorReducer(prev, action) {
111
+
112
+ exports.contentModelEditorContext = contentModelEditorContext;
113
+
114
+ var contentModelEditorReducer = function contentModelEditorReducer(prev, action) {
90
115
  var data = action.data,
91
116
  type = action.type;
92
117
 
93
118
  switch (type) {
94
119
  case "state":
95
- return _objectSpread(_objectSpread({}, prev), data);
120
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, prev), data);
96
121
 
97
122
  case "data":
98
- return _objectSpread(_objectSpread({}, prev), {}, {
123
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, prev), {}, {
99
124
  data: data
100
125
  });
101
126
 
@@ -107,6 +132,9 @@ export var contentModelEditorReducer = function contentModelEditorReducer(prev,
107
132
  * Cleanup is required because backend always expects string value in predefined values entries
108
133
  */
109
134
 
135
+
136
+ exports.contentModelEditorReducer = contentModelEditorReducer;
137
+
110
138
  var cleanupModelDataFields = function cleanupModelDataFields(fields) {
111
139
  return fields.map(function (field) {
112
140
  var predefinedValues = field.predefinedValues;
@@ -117,7 +145,7 @@ var cleanupModelDataFields = function cleanupModelDataFields(fields) {
117
145
  _ref$values = _ref.values,
118
146
  values = _ref$values === void 0 ? [] : _ref$values;
119
147
 
120
- return _objectSpread(_objectSpread({}, field), {}, {
148
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, field), {}, {
121
149
  predefinedValues: {
122
150
  enabled: enabled,
123
151
  values: values.map(function (_ref2) {
@@ -136,29 +164,29 @@ var cleanupModelDataFields = function cleanupModelDataFields(fields) {
136
164
  };
137
165
 
138
166
  var cleanupModelData = function cleanupModelData(data) {
139
- return _objectSpread(_objectSpread({}, data), {}, {
167
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, data), {}, {
140
168
  fields: cleanupModelDataFields(data.fields)
141
169
  });
142
170
  };
143
171
 
144
- export var ContentModelEditorProvider = function ContentModelEditorProvider(_ref3) {
172
+ var ContentModelEditorProvider = function ContentModelEditorProvider(_ref3) {
145
173
  var children = _ref3.children,
146
174
  apolloClient = _ref3.apolloClient,
147
175
  modelId = _ref3.modelId;
148
176
 
149
- var _useReducer = useReducer(contentModelEditorReducer, {
177
+ var _useReducer = (0, _react.useReducer)(contentModelEditorReducer, {
150
178
  modelId: modelId || null,
151
179
  isPristine: true,
152
180
  data: null
153
181
  }),
154
- _useReducer2 = _slicedToArray(_useReducer, 2),
182
+ _useReducer2 = (0, _slicedToArray2.default)(_useReducer, 2),
155
183
  state = _useReducer2[0],
156
184
  dispatch = _useReducer2[1];
157
185
 
158
- var _useRouter = useRouter(),
186
+ var _useRouter = (0, _reactRouter.useRouter)(),
159
187
  history = _useRouter.history;
160
188
 
161
- var _useSnackbar = useSnackbar(),
189
+ var _useSnackbar = (0, _useSnackbar2.useSnackbar)(),
162
190
  showSnackbar = _useSnackbar.showSnackbar;
163
191
 
164
192
  var setPristine = function setPristine(flag) {
@@ -171,9 +199,9 @@ export var ContentModelEditorProvider = function ContentModelEditorProvider(_ref
171
199
  };
172
200
 
173
201
  var saveContentModel = /*#__PURE__*/function () {
174
- var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(data) {
202
+ var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee4(data) {
175
203
  var modelData, response;
176
- return _regeneratorRuntime.wrap(function _callee4$(_context4) {
204
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee4$(_context4) {
177
205
  while (1) {
178
206
  switch (_context4.prev = _context4.next) {
179
207
  case 0:
@@ -181,16 +209,16 @@ export var ContentModelEditorProvider = function ContentModelEditorProvider(_ref
181
209
  data = state.data;
182
210
  }
183
211
 
184
- modelData = pick(data, ["group", "layout", "fields", "name", "settings", "description", "titleFieldId"]);
212
+ modelData = (0, _pick.default)(data, ["group", "layout", "fields", "name", "settings", "description", "titleFieldId"]);
185
213
  _context4.next = 4;
186
214
  return apolloClient.mutate({
187
- mutation: UPDATE_CONTENT_MODEL,
215
+ mutation: _contentModels.UPDATE_CONTENT_MODEL,
188
216
  variables: {
189
217
  modelId: data.modelId,
190
218
  data: cleanupModelData(modelData)
191
219
  },
192
220
  refetchQueries: [{
193
- query: LIST_MENU_CONTENT_GROUPS_MODELS
221
+ query: _viewsGraphql.LIST_MENU_CONTENT_GROUPS_MODELS
194
222
  }]
195
223
  });
196
224
 
@@ -230,11 +258,11 @@ export var ContentModelEditorProvider = function ContentModelEditorProvider(_ref
230
258
 
231
259
 
232
260
  var setData = /*#__PURE__*/function () {
233
- var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(setter) {
261
+ var _ref5 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee5(setter) {
234
262
  var saveModel,
235
263
  data,
236
264
  _args5 = arguments;
237
- return _regeneratorRuntime.wrap(function _callee5$(_context5) {
265
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee5$(_context5) {
238
266
  while (1) {
239
267
  switch (_context5.prev = _context5.next) {
240
268
  case 0:
@@ -271,16 +299,16 @@ export var ContentModelEditorProvider = function ContentModelEditorProvider(_ref
271
299
  }();
272
300
 
273
301
  var getContentModel = /*#__PURE__*/function () {
274
- var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6(modelId) {
302
+ var _ref6 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee6(modelId) {
275
303
  var response, _get, data, error;
276
304
 
277
- return _regeneratorRuntime.wrap(function _callee6$(_context6) {
305
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee6$(_context6) {
278
306
  while (1) {
279
307
  switch (_context6.prev = _context6.next) {
280
308
  case 0:
281
309
  _context6.next = 2;
282
310
  return apolloClient.query({
283
- query: GET_CONTENT_MODEL,
311
+ query: _contentModels.GET_CONTENT_MODEL,
284
312
  variables: {
285
313
  modelId: modelId
286
314
  }
@@ -288,7 +316,7 @@ export var ContentModelEditorProvider = function ContentModelEditorProvider(_ref
288
316
 
289
317
  case 2:
290
318
  response = _context6.sent;
291
- _get = get(response, "data.getContentModel"), data = _get.data, error = _get.error;
319
+ _get = (0, _get2.default)(response, "data.getContentModel"), data = _get.data, error = _get.error;
292
320
 
293
321
  if (!error) {
294
322
  _context6.next = 6;
@@ -320,7 +348,7 @@ export var ContentModelEditorProvider = function ContentModelEditorProvider(_ref
320
348
  };
321
349
  }();
322
350
 
323
- useEffect(function () {
351
+ (0, _react.useEffect)(function () {
324
352
  if (!modelId) {
325
353
  return;
326
354
  }
@@ -330,7 +358,7 @@ export var ContentModelEditorProvider = function ContentModelEditorProvider(_ref
330
358
  showSnackbar("Could not load content model with given ID.");
331
359
  });
332
360
  }, [modelId]);
333
- var value = useMemo(function () {
361
+ var value = (0, _react.useMemo)(function () {
334
362
  return {
335
363
  data: state.data,
336
364
  modelId: modelId,
@@ -343,7 +371,9 @@ export var ContentModelEditorProvider = function ContentModelEditorProvider(_ref
343
371
  };
344
372
  }, [state, apolloClient]);
345
373
  var Provider = contentModelEditorContext.Provider;
346
- return /*#__PURE__*/React.createElement(Provider, {
374
+ return /*#__PURE__*/_react.default.createElement(Provider, {
347
375
  value: value
348
376
  }, children);
349
- };
377
+ };
378
+
379
+ exports.ContentModelEditorProvider = ContentModelEditorProvider;
@@ -1 +1 @@
1
- {"version":3,"sources":["Context.tsx"],"names":["React","useEffect","useMemo","useReducer","get","pick","useRouter","useSnackbar","GET_CONTENT_MODEL","UPDATE_CONTENT_MODEL","LIST_MENU_CONTENT_GROUPS_MODELS","contentModelEditorContext","createContext","apolloClient","data","isPristine","getContentModel","saveContentModel","error","setData","contentModelEditorReducer","prev","action","type","cleanupModelDataFields","fields","map","field","predefinedValues","enabled","values","label","value","selected","String","cleanupModelData","ContentModelEditorProvider","children","modelId","state","dispatch","history","showSnackbar","setPristine","flag","modelData","mutate","mutation","variables","refetchQueries","query","response","updateContentModel","setter","saveModel","Error","catch","push","Provider"],"mappings":"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","sourcesContent":["// TODO @ts-refactor verify that types are correct\nimport React, { useEffect, useMemo, useReducer } from \"react\";\nimport get from \"lodash/get\";\nimport pick from \"lodash/pick\";\nimport { ApolloClient } from \"apollo-client\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport {\n GET_CONTENT_MODEL,\n GetCmsModelQueryResponse,\n GetCmsModelQueryVariables,\n UPDATE_CONTENT_MODEL,\n UpdateCmsModelMutationResponse,\n UpdateCmsModelMutationVariables\n} from \"~/admin/graphql/contentModels\";\nimport { LIST_MENU_CONTENT_GROUPS_MODELS } from \"~/admin/viewsGraphql\";\nimport { CmsEditorContentModel, CmsEditorField, CmsModel } from \"~/types\";\nimport { FetchResult } from \"apollo-link\";\n\nexport interface ContentModelEditorProviderContext {\n apolloClient: ApolloClient<any>;\n data: CmsEditorContentModel;\n isPristine: boolean;\n getContentModel: (modelId: string) => Promise<FetchResult<GetCmsModelQueryResponse>>;\n saveContentModel: (\n data?: CmsModel\n ) => Promise<UpdateCmsModelMutationResponse[\"updateContentModel\"]>;\n setData: (setter: (model: CmsModel) => void, saveContentModel?: boolean) => Promise<any>;\n}\n\nexport const contentModelEditorContext = React.createContext<ContentModelEditorProviderContext>({\n apolloClient: null as unknown as ApolloClient<any>,\n data: null as unknown as CmsEditorContentModel,\n isPristine: false,\n getContentModel: async () => {\n return {\n data: null\n };\n },\n saveContentModel: async () => {\n return {\n data: null,\n error: null\n };\n },\n setData: async () => {\n return void 0;\n }\n});\n\ntype PickedCmsEditorContentModel = Pick<\n CmsEditorContentModel,\n \"layout\" | \"fields\" | \"name\" | \"settings\" | \"description\" | \"titleFieldId\" | \"group\"\n>;\ninterface State {\n modelId: string | null;\n isPristine: boolean;\n data: CmsModel;\n}\ninterface Action {\n data: Partial<State> | Partial<CmsModel>;\n type: \"state\" | \"data\";\n}\ninterface Reducer {\n (prev: State, action: Action): State;\n}\nexport const contentModelEditorReducer: Reducer = (prev: State, action: Action): State => {\n const { data, type } = action;\n switch (type) {\n case \"state\":\n return { ...prev, ...data };\n\n case \"data\":\n return { ...prev, data: data as CmsModel };\n default:\n return prev;\n }\n};\n\n/**\n * Cleanup is required because backend always expects string value in predefined values entries\n */\nconst cleanupModelDataFields = (fields: CmsEditorField[]): CmsEditorField[] => {\n return fields.map(field => {\n const { predefinedValues } = field;\n const { enabled = false, values = [] } = predefinedValues || {};\n return {\n ...field,\n predefinedValues: {\n enabled,\n values: values.map(({ label, value, selected }) => {\n return {\n label,\n selected: selected || false,\n value: String(value)\n };\n })\n }\n };\n });\n};\n\nconst cleanupModelData = (data: PickedCmsEditorContentModel): PickedCmsEditorContentModel => {\n return {\n ...data,\n fields: cleanupModelDataFields(data.fields)\n };\n};\n\ninterface ContentModelEditorProviderProps {\n apolloClient: ApolloClient<any>;\n modelId?: string;\n children: React.ReactElement;\n}\n\nexport const ContentModelEditorProvider: React.FC<ContentModelEditorProviderProps> = ({\n children,\n apolloClient,\n modelId\n}) => {\n const [state, dispatch] = useReducer<Reducer>(contentModelEditorReducer, {\n modelId: modelId || null,\n isPristine: true,\n data: null as unknown as CmsModel\n });\n const { history } = useRouter();\n const { showSnackbar } = useSnackbar();\n\n const setPristine = (flag: boolean): void => {\n dispatch({ type: \"state\", data: { isPristine: flag } });\n };\n\n const saveContentModel = async (\n data?: CmsModel\n ): Promise<UpdateCmsModelMutationResponse[\"updateContentModel\"]> => {\n if (!data) {\n data = state.data;\n }\n const modelData: PickedCmsEditorContentModel = pick(data, [\n \"group\",\n \"layout\",\n \"fields\",\n \"name\",\n \"settings\",\n \"description\",\n \"titleFieldId\"\n ]);\n const response = await apolloClient.mutate<\n UpdateCmsModelMutationResponse,\n UpdateCmsModelMutationVariables\n >({\n mutation: UPDATE_CONTENT_MODEL,\n variables: {\n modelId: data.modelId,\n data: cleanupModelData(modelData)\n },\n refetchQueries: [\n {\n query: LIST_MENU_CONTENT_GROUPS_MODELS\n }\n ]\n });\n\n setPristine(true);\n\n if (!response.data || !response.data.updateContentModel) {\n return {\n data: null,\n error: null\n };\n }\n\n return response.data.updateContentModel;\n };\n\n /**\n * Set form data by providing a callback, which receives a fresh copy of data on which you can work on.\n * Return new data once finished.\n */\n const setData = async (setter: (value: any) => any, saveModel = false): Promise<void> => {\n setPristine(false);\n const data = setter(state.data);\n dispatch({ type: \"data\", data });\n if (!saveModel) {\n return;\n }\n await saveContentModel(data);\n };\n\n const getContentModel = async (\n modelId: string\n ): Promise<FetchResult<GetCmsModelQueryResponse>> => {\n const response = await apolloClient.query<\n GetCmsModelQueryResponse,\n GetCmsModelQueryVariables\n >({\n query: GET_CONTENT_MODEL,\n variables: {\n modelId\n }\n });\n\n const { data, error } = get(response, \"data.getContentModel\");\n if (error) {\n throw new Error(error);\n }\n\n await setData(() => data, false);\n setPristine(true);\n return response;\n };\n\n useEffect(() => {\n if (!modelId) {\n return;\n }\n getContentModel(modelId).catch(() => {\n history.push(`/cms/content-models`);\n showSnackbar(`Could not load content model with given ID.`);\n });\n }, [modelId]);\n\n const value = useMemo(\n () => ({\n data: state.data,\n modelId,\n apolloClient,\n dispatch,\n isPristine: state.isPristine,\n getContentModel,\n saveContentModel,\n setData\n }),\n [state, apolloClient]\n );\n\n const { Provider } = contentModelEditorContext;\n\n return <Provider value={value}>{children}</Provider>;\n};\n"]}
1
+ {"version":3,"names":["contentModelEditorContext","React","createContext","apolloClient","data","isPristine","getContentModel","saveContentModel","error","setData","contentModelEditorReducer","prev","action","type","cleanupModelDataFields","fields","map","field","predefinedValues","enabled","values","label","value","selected","String","cleanupModelData","ContentModelEditorProvider","children","modelId","useReducer","state","dispatch","useRouter","history","useSnackbar","showSnackbar","setPristine","flag","modelData","pick","mutate","mutation","UPDATE_CONTENT_MODEL","variables","refetchQueries","query","LIST_MENU_CONTENT_GROUPS_MODELS","response","updateContentModel","setter","saveModel","GET_CONTENT_MODEL","get","Error","useEffect","catch","push","useMemo","Provider"],"sources":["Context.tsx"],"sourcesContent":["// TODO @ts-refactor verify that types are correct\nimport React, { useEffect, useMemo, useReducer } from \"react\";\nimport get from \"lodash/get\";\nimport pick from \"lodash/pick\";\nimport { ApolloClient } from \"apollo-client\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport {\n GET_CONTENT_MODEL,\n GetCmsModelQueryResponse,\n GetCmsModelQueryVariables,\n UPDATE_CONTENT_MODEL,\n UpdateCmsModelMutationResponse,\n UpdateCmsModelMutationVariables\n} from \"~/admin/graphql/contentModels\";\nimport { LIST_MENU_CONTENT_GROUPS_MODELS } from \"~/admin/viewsGraphql\";\nimport { CmsEditorContentModel, CmsEditorField, CmsModel } from \"~/types\";\nimport { FetchResult } from \"apollo-link\";\n\nexport interface ContentModelEditorProviderContext {\n apolloClient: ApolloClient<any>;\n data: CmsEditorContentModel;\n isPristine: boolean;\n getContentModel: (modelId: string) => Promise<FetchResult<GetCmsModelQueryResponse>>;\n saveContentModel: (\n data?: CmsModel\n ) => Promise<UpdateCmsModelMutationResponse[\"updateContentModel\"]>;\n setData: (setter: (model: CmsModel) => void, saveContentModel?: boolean) => Promise<any>;\n}\n\nexport const contentModelEditorContext = React.createContext<ContentModelEditorProviderContext>({\n apolloClient: null as unknown as ApolloClient<any>,\n data: null as unknown as CmsEditorContentModel,\n isPristine: false,\n getContentModel: async () => {\n return {\n data: null\n };\n },\n saveContentModel: async () => {\n return {\n data: null,\n error: null\n };\n },\n setData: async () => {\n return void 0;\n }\n});\n\ntype PickedCmsEditorContentModel = Pick<\n CmsEditorContentModel,\n \"layout\" | \"fields\" | \"name\" | \"settings\" | \"description\" | \"titleFieldId\" | \"group\"\n>;\ninterface State {\n modelId: string | null;\n isPristine: boolean;\n data: CmsModel;\n}\ninterface Action {\n data: Partial<State> | Partial<CmsModel>;\n type: \"state\" | \"data\";\n}\ninterface Reducer {\n (prev: State, action: Action): State;\n}\nexport const contentModelEditorReducer: Reducer = (prev: State, action: Action): State => {\n const { data, type } = action;\n switch (type) {\n case \"state\":\n return { ...prev, ...data };\n\n case \"data\":\n return { ...prev, data: data as CmsModel };\n default:\n return prev;\n }\n};\n\n/**\n * Cleanup is required because backend always expects string value in predefined values entries\n */\nconst cleanupModelDataFields = (fields: CmsEditorField[]): CmsEditorField[] => {\n return fields.map(field => {\n const { predefinedValues } = field;\n const { enabled = false, values = [] } = predefinedValues || {};\n return {\n ...field,\n predefinedValues: {\n enabled,\n values: values.map(({ label, value, selected }) => {\n return {\n label,\n selected: selected || false,\n value: String(value)\n };\n })\n }\n };\n });\n};\n\nconst cleanupModelData = (data: PickedCmsEditorContentModel): PickedCmsEditorContentModel => {\n return {\n ...data,\n fields: cleanupModelDataFields(data.fields)\n };\n};\n\ninterface ContentModelEditorProviderProps {\n apolloClient: ApolloClient<any>;\n modelId?: string;\n children: React.ReactElement;\n}\n\nexport const ContentModelEditorProvider: React.FC<ContentModelEditorProviderProps> = ({\n children,\n apolloClient,\n modelId\n}) => {\n const [state, dispatch] = useReducer<Reducer>(contentModelEditorReducer, {\n modelId: modelId || null,\n isPristine: true,\n data: null as unknown as CmsModel\n });\n const { history } = useRouter();\n const { showSnackbar } = useSnackbar();\n\n const setPristine = (flag: boolean): void => {\n dispatch({ type: \"state\", data: { isPristine: flag } });\n };\n\n const saveContentModel = async (\n data?: CmsModel\n ): Promise<UpdateCmsModelMutationResponse[\"updateContentModel\"]> => {\n if (!data) {\n data = state.data;\n }\n const modelData: PickedCmsEditorContentModel = pick(data, [\n \"group\",\n \"layout\",\n \"fields\",\n \"name\",\n \"settings\",\n \"description\",\n \"titleFieldId\"\n ]);\n const response = await apolloClient.mutate<\n UpdateCmsModelMutationResponse,\n UpdateCmsModelMutationVariables\n >({\n mutation: UPDATE_CONTENT_MODEL,\n variables: {\n modelId: data.modelId,\n data: cleanupModelData(modelData)\n },\n refetchQueries: [\n {\n query: LIST_MENU_CONTENT_GROUPS_MODELS\n }\n ]\n });\n\n setPristine(true);\n\n if (!response.data || !response.data.updateContentModel) {\n return {\n data: null,\n error: null\n };\n }\n\n return response.data.updateContentModel;\n };\n\n /**\n * Set form data by providing a callback, which receives a fresh copy of data on which you can work on.\n * Return new data once finished.\n */\n const setData = async (setter: (value: any) => any, saveModel = false): Promise<void> => {\n setPristine(false);\n const data = setter(state.data);\n dispatch({ type: \"data\", data });\n if (!saveModel) {\n return;\n }\n await saveContentModel(data);\n };\n\n const getContentModel = async (\n modelId: string\n ): Promise<FetchResult<GetCmsModelQueryResponse>> => {\n const response = await apolloClient.query<\n GetCmsModelQueryResponse,\n GetCmsModelQueryVariables\n >({\n query: GET_CONTENT_MODEL,\n variables: {\n modelId\n }\n });\n\n const { data, error } = get(response, \"data.getContentModel\");\n if (error) {\n throw new Error(error);\n }\n\n await setData(() => data, false);\n setPristine(true);\n return response;\n };\n\n useEffect(() => {\n if (!modelId) {\n return;\n }\n getContentModel(modelId).catch(() => {\n history.push(`/cms/content-models`);\n showSnackbar(`Could not load content model with given ID.`);\n });\n }, [modelId]);\n\n const value = useMemo(\n () => ({\n data: state.data,\n modelId,\n apolloClient,\n dispatch,\n isPristine: state.isPristine,\n getContentModel,\n saveContentModel,\n setData\n }),\n [state, apolloClient]\n );\n\n const { Provider } = contentModelEditorContext;\n\n return <Provider value={value}>{children}</Provider>;\n};\n"],"mappings":"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"}