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

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 (412) 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 -2
  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.js +1 -1
  116. package/admin/menus/GlobalSearchPlugins.js.map +1 -0
  117. package/admin/menus/NothingToShowElement.js.map +1 -0
  118. package/admin/plugins/apiInformation/index.js +3 -3
  119. package/admin/plugins/apiInformation/index.js.map +1 -0
  120. package/admin/plugins/definitions/CmsEditorFieldValidatorFileTypePlugin.js.map +1 -0
  121. package/admin/plugins/definitions/CmsFieldValidatorFileTypePlugin.js.map +1 -0
  122. package/admin/plugins/editor/defaultBar/BackButton.js.map +1 -0
  123. package/admin/plugins/editor/defaultBar/CreateContentButton.js.map +1 -0
  124. package/admin/plugins/editor/defaultBar/Divider.d.ts +1 -1
  125. package/admin/plugins/editor/defaultBar/Divider.js.map +1 -0
  126. package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js +11 -1
  127. package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js.map +1 -0
  128. package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsButton.js.map +1 -0
  129. package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsStyled.d.ts +2 -2
  130. package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsStyled.js.map +1 -0
  131. package/admin/plugins/editor/defaultBar/FormSettings/index.js.map +1 -0
  132. package/admin/plugins/editor/defaultBar/Name/Name.js +1 -1
  133. package/admin/plugins/editor/defaultBar/Name/Name.js.map +1 -0
  134. package/admin/plugins/editor/defaultBar/Name/NameStyled.d.ts +3 -3
  135. package/admin/plugins/editor/defaultBar/Name/NameStyled.js.map +1 -0
  136. package/admin/plugins/editor/defaultBar/Name/index.js.map +1 -0
  137. package/admin/plugins/editor/defaultBar/SaveContentModelButton.js +37 -32
  138. package/admin/plugins/editor/defaultBar/SaveContentModelButton.js.map +1 -0
  139. package/admin/plugins/editor/defaultBar/index.js.map +1 -0
  140. package/admin/plugins/editor/formSettings/components/GeneralSettings.js.map +1 -0
  141. package/admin/plugins/editor/formSettings/components/GroupSelect.js +1 -1
  142. package/admin/plugins/editor/formSettings/components/GroupSelect.js.map +1 -0
  143. package/admin/plugins/editor/formSettings/index.js.map +1 -0
  144. package/admin/plugins/fieldRenderers/Accordion.d.ts +1 -1
  145. package/admin/plugins/fieldRenderers/Accordion.js +1 -1
  146. package/admin/plugins/fieldRenderers/Accordion.js.map +1 -0
  147. package/admin/plugins/fieldRenderers/DynamicSection.d.ts +7 -1
  148. package/admin/plugins/fieldRenderers/DynamicSection.js +7 -4
  149. package/admin/plugins/fieldRenderers/DynamicSection.js.map +1 -0
  150. package/admin/plugins/fieldRenderers/boolean/booleanSwitch.js +0 -1
  151. package/admin/plugins/fieldRenderers/boolean/booleanSwitch.js.map +1 -0
  152. package/admin/plugins/fieldRenderers/boolean/index.js.map +1 -0
  153. package/admin/plugins/fieldRenderers/checkboxes.js +11 -6
  154. package/admin/plugins/fieldRenderers/checkboxes.js.map +1 -0
  155. package/admin/plugins/fieldRenderers/dateTime/DateOnly.d.ts +2 -1
  156. package/admin/plugins/fieldRenderers/dateTime/DateOnly.js +40 -9
  157. package/admin/plugins/fieldRenderers/dateTime/DateOnly.js.map +1 -0
  158. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.d.ts +2 -2
  159. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.js +74 -18
  160. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.js.map +1 -0
  161. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.d.ts +2 -2
  162. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.js +72 -16
  163. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.js.map +1 -0
  164. package/admin/plugins/fieldRenderers/dateTime/Input.js.map +1 -0
  165. package/admin/plugins/fieldRenderers/dateTime/Select.js.map +1 -0
  166. package/admin/plugins/fieldRenderers/dateTime/Time.js.map +1 -0
  167. package/admin/plugins/fieldRenderers/dateTime/dateTimeField.js +4 -4
  168. package/admin/plugins/fieldRenderers/dateTime/dateTimeField.js.map +1 -0
  169. package/admin/plugins/fieldRenderers/dateTime/dateTimeFields.js +15 -10
  170. package/admin/plugins/fieldRenderers/dateTime/dateTimeFields.js.map +1 -0
  171. package/admin/plugins/fieldRenderers/dateTime/index.js.map +1 -0
  172. package/admin/plugins/fieldRenderers/dateTime/utils.d.ts +3 -3
  173. package/admin/plugins/fieldRenderers/dateTime/utils.js.map +1 -0
  174. package/admin/plugins/fieldRenderers/file/File.d.ts +4 -4
  175. package/admin/plugins/fieldRenderers/file/File.js +9 -3
  176. package/admin/plugins/fieldRenderers/file/File.js.map +1 -0
  177. package/admin/plugins/fieldRenderers/file/fileField.js +4 -4
  178. package/admin/plugins/fieldRenderers/file/fileField.js.map +1 -0
  179. package/admin/plugins/fieldRenderers/file/fileFields.js +10 -5
  180. package/admin/plugins/fieldRenderers/file/fileFields.js.map +1 -0
  181. package/admin/plugins/fieldRenderers/file/index.js.map +1 -0
  182. package/admin/plugins/fieldRenderers/file/utils.js +2 -2
  183. package/admin/plugins/fieldRenderers/file/utils.js.map +1 -0
  184. package/admin/plugins/fieldRenderers/longText/index.js.map +1 -0
  185. package/admin/plugins/fieldRenderers/longText/longText.js +0 -1
  186. package/admin/plugins/fieldRenderers/longText/longText.js.map +1 -0
  187. package/admin/plugins/fieldRenderers/longText/longTexts.js +1 -1
  188. package/admin/plugins/fieldRenderers/longText/longTexts.js.map +1 -0
  189. package/admin/plugins/fieldRenderers/number/index.js.map +1 -0
  190. package/admin/plugins/fieldRenderers/number/numberInput.js +0 -1
  191. package/admin/plugins/fieldRenderers/number/numberInput.js.map +1 -0
  192. package/admin/plugins/fieldRenderers/number/numberInputs.js +1 -1
  193. package/admin/plugins/fieldRenderers/number/numberInputs.js.map +1 -0
  194. package/admin/plugins/fieldRenderers/object/StyledComponents.js.map +1 -0
  195. package/admin/plugins/fieldRenderers/object/index.js.map +1 -0
  196. package/admin/plugins/fieldRenderers/object/multipleObjects.js +5 -5
  197. package/admin/plugins/fieldRenderers/object/multipleObjects.js.map +1 -0
  198. package/admin/plugins/fieldRenderers/object/singleObject.js +3 -2
  199. package/admin/plugins/fieldRenderers/object/singleObject.js.map +1 -0
  200. package/admin/plugins/fieldRenderers/radioButtons.js +11 -5
  201. package/admin/plugins/fieldRenderers/radioButtons.js.map +1 -0
  202. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.d.ts +2 -1
  203. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.js +2 -4
  204. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.js.map +1 -0
  205. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.d.ts +2 -1
  206. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.js.map +1 -0
  207. package/admin/plugins/fieldRenderers/ref/components/MissingEntryHelpText.d.ts +3 -2
  208. package/admin/plugins/fieldRenderers/ref/components/MissingEntryHelpText.js.map +1 -0
  209. package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.js +14 -8
  210. package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.js.map +1 -0
  211. package/admin/plugins/fieldRenderers/ref/components/createEntryUrl.js.map +1 -0
  212. package/admin/plugins/fieldRenderers/ref/components/getOptions.d.ts +4 -3
  213. package/admin/plugins/fieldRenderers/ref/components/getOptions.js +1 -1
  214. package/admin/plugins/fieldRenderers/ref/components/getOptions.js.map +1 -0
  215. package/admin/plugins/fieldRenderers/ref/components/graphql.d.ts +4 -14
  216. package/admin/plugins/fieldRenderers/ref/components/graphql.js +1 -1
  217. package/admin/plugins/fieldRenderers/ref/components/graphql.js.map +1 -0
  218. package/admin/plugins/fieldRenderers/ref/components/renderItem.js.map +1 -0
  219. package/admin/plugins/fieldRenderers/ref/components/useReference.d.ts +6 -11
  220. package/admin/plugins/fieldRenderers/ref/components/useReference.js +4 -3
  221. package/admin/plugins/fieldRenderers/ref/components/useReference.js.map +1 -0
  222. package/admin/plugins/fieldRenderers/ref/components/useReferences.d.ts +3 -8
  223. package/admin/plugins/fieldRenderers/ref/components/useReferences.js +1 -2
  224. package/admin/plugins/fieldRenderers/ref/components/useReferences.js.map +1 -0
  225. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntry.js +4 -3
  226. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntry.js.map +1 -0
  227. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntryDialog.js +6 -1
  228. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntryDialog.js.map +1 -0
  229. package/admin/plugins/fieldRenderers/ref/index.js.map +1 -0
  230. package/admin/plugins/fieldRenderers/ref/refInput.js +0 -1
  231. package/admin/plugins/fieldRenderers/ref/refInput.js.map +1 -0
  232. package/admin/plugins/fieldRenderers/ref/refInputs.js +1 -2
  233. package/admin/plugins/fieldRenderers/ref/refInputs.js.map +1 -0
  234. package/admin/plugins/fieldRenderers/richText/index.js.map +1 -0
  235. package/admin/plugins/fieldRenderers/richText/richTextInput.js +5 -1
  236. package/admin/plugins/fieldRenderers/richText/richTextInput.js.map +1 -0
  237. package/admin/plugins/fieldRenderers/richText/richTextInputs.js +9 -3
  238. package/admin/plugins/fieldRenderers/richText/richTextInputs.js.map +1 -0
  239. package/admin/plugins/fieldRenderers/select.js +28 -7
  240. package/admin/plugins/fieldRenderers/select.js.map +1 -0
  241. package/admin/plugins/fieldRenderers/text/index.js.map +1 -0
  242. package/admin/plugins/fieldRenderers/text/textInput.js +0 -1
  243. package/admin/plugins/fieldRenderers/text/textInput.js.map +1 -0
  244. package/admin/plugins/fieldRenderers/text/textInputs.js +1 -1
  245. package/admin/plugins/fieldRenderers/text/textInputs.js.map +1 -0
  246. package/admin/plugins/fieldValidators/date/availableValidators.d.ts +1 -1
  247. package/admin/plugins/fieldValidators/date/availableValidators.js.map +1 -0
  248. package/admin/plugins/fieldValidators/date/createDateInputField.js +5 -3
  249. package/admin/plugins/fieldValidators/date/createDateInputField.js.map +1 -0
  250. package/admin/plugins/fieldValidators/dateGte.js +1 -1
  251. package/admin/plugins/fieldValidators/dateGte.js.map +1 -0
  252. package/admin/plugins/fieldValidators/dateLte.js +1 -1
  253. package/admin/plugins/fieldValidators/dateLte.js.map +1 -0
  254. package/admin/plugins/fieldValidators/gte.js.map +1 -0
  255. package/admin/plugins/fieldValidators/in.js.map +1 -0
  256. package/admin/plugins/fieldValidators/lte.js.map +1 -0
  257. package/admin/plugins/fieldValidators/maxLength.js.map +1 -0
  258. package/admin/plugins/fieldValidators/minLength.js.map +1 -0
  259. package/admin/plugins/fieldValidators/pattern.js +6 -0
  260. package/admin/plugins/fieldValidators/pattern.js.map +1 -0
  261. package/admin/plugins/fieldValidators/patternPlugins/email.js.map +1 -0
  262. package/admin/plugins/fieldValidators/patternPlugins/lowerCase.js.map +1 -0
  263. package/admin/plugins/fieldValidators/patternPlugins/lowerCaseSpace.js.map +1 -0
  264. package/admin/plugins/fieldValidators/patternPlugins/upperCase.js.map +1 -0
  265. package/admin/plugins/fieldValidators/patternPlugins/upperCaseSpace.js.map +1 -0
  266. package/admin/plugins/fieldValidators/patternPlugins/url.js.map +1 -0
  267. package/admin/plugins/fieldValidators/required.js.map +1 -0
  268. package/admin/plugins/fieldValidators/unique.js.map +1 -0
  269. package/admin/plugins/fields/PredefinedValuesDynamicFieldset.js.map +1 -0
  270. package/admin/plugins/fields/boolean.js.map +1 -0
  271. package/admin/plugins/fields/dateTime.js.map +1 -0
  272. package/admin/plugins/fields/file.js.map +1 -0
  273. package/admin/plugins/fields/longText.js.map +1 -0
  274. package/admin/plugins/fields/number.js.map +1 -0
  275. package/admin/plugins/fields/object/ObjectFields.js +2 -2
  276. package/admin/plugins/fields/object/ObjectFields.js.map +1 -0
  277. package/admin/plugins/fields/object.js +1 -1
  278. package/admin/plugins/fields/object.js.map +1 -0
  279. package/admin/plugins/fields/ref.js +5 -5
  280. package/admin/plugins/fields/ref.js.map +1 -0
  281. package/admin/plugins/fields/richText.js.map +1 -0
  282. package/admin/plugins/fields/text.js.map +1 -0
  283. package/admin/plugins/getObjectId.js.map +1 -0
  284. package/admin/plugins/icons.js +9 -3
  285. package/admin/plugins/icons.js.map +1 -0
  286. package/admin/plugins/index.js.map +1 -0
  287. package/admin/plugins/install.js +11 -7
  288. package/admin/plugins/install.js.map +1 -0
  289. package/admin/plugins/permissionRenderer/CmsPermissions.js +14 -9
  290. package/admin/plugins/permissionRenderer/CmsPermissions.js.map +1 -0
  291. package/admin/plugins/permissionRenderer/components/ContentEntryPermission.d.ts +2 -2
  292. package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js +7 -6
  293. package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js.map +1 -0
  294. package/admin/plugins/permissionRenderer/components/ContentModelGroupPermission.d.ts +2 -2
  295. package/admin/plugins/permissionRenderer/components/ContentModelGroupPermission.js +7 -6
  296. package/admin/plugins/permissionRenderer/components/ContentModelGroupPermission.js.map +1 -0
  297. package/admin/plugins/permissionRenderer/components/ContentModelList.js.map +1 -0
  298. package/admin/plugins/permissionRenderer/components/ContentModelPermission.d.ts +2 -2
  299. package/admin/plugins/permissionRenderer/components/ContentModelPermission.js +7 -6
  300. package/admin/plugins/permissionRenderer/components/ContentModelPermission.js.map +1 -0
  301. package/admin/plugins/permissionRenderer/components/PermissionRendererWrapper.js.map +1 -0
  302. package/admin/plugins/permissionRenderer/components/PermissionSelector.d.ts +1 -1
  303. package/admin/plugins/permissionRenderer/components/PermissionSelector.js +13 -1
  304. package/admin/plugins/permissionRenderer/components/PermissionSelector.js.map +1 -0
  305. package/admin/plugins/permissionRenderer/components/StyledComponents.d.ts +1 -1
  306. package/admin/plugins/permissionRenderer/components/StyledComponents.js.map +1 -0
  307. package/admin/plugins/permissionRenderer/components/types.js.map +1 -0
  308. package/admin/plugins/permissionRenderer/components/useCmsData.js +4 -6
  309. package/admin/plugins/permissionRenderer/components/useCmsData.js.map +1 -0
  310. package/admin/plugins/permissionRenderer/index.js.map +1 -0
  311. package/admin/plugins/routes.js.map +1 -0
  312. package/admin/plugins/transformers/dateTransformer.js +20 -24
  313. package/admin/plugins/transformers/dateTransformer.js.map +1 -0
  314. package/admin/plugins/transformers/index.js.map +1 -0
  315. package/admin/plugins/transformers/numberTransformer.js.map +1 -0
  316. package/admin/plugins/upgrades/5.19.0/UpgradeItemsInfo.d.ts +1 -1
  317. package/admin/plugins/upgrades/5.19.0/UpgradeItemsInfo.js.map +1 -0
  318. package/admin/plugins/upgrades/5.19.0/createCmsApolloClient.d.ts +2 -2
  319. package/admin/plugins/upgrades/5.19.0/createCmsApolloClient.js.map +1 -0
  320. package/admin/plugins/upgrades/5.19.0/createListEntriesQuery.js.map +1 -0
  321. package/admin/plugins/upgrades/5.19.0/createListModelsQuery.js.map +1 -0
  322. package/admin/plugins/upgrades/5.19.0/createRepublishMutation.js.map +1 -0
  323. package/admin/plugins/upgrades/5.19.0/createUpgradeMutation.js.map +1 -0
  324. package/admin/plugins/upgrades/5.19.0/fetchModelEntries.d.ts +2 -2
  325. package/admin/plugins/upgrades/5.19.0/fetchModelEntries.js.map +1 -0
  326. package/admin/plugins/upgrades/5.19.0/types.js.map +1 -0
  327. package/admin/plugins/upgrades/v5.0.0.js.map +1 -0
  328. package/admin/plugins/upgrades/v5.19.0.js.map +1 -0
  329. package/admin/plugins/upgrades/v5.5.0.js.map +1 -0
  330. package/admin/plugins/upgrades/v5.8.0.js.map +1 -0
  331. package/admin/plugins/validators/dateGte.js.map +1 -0
  332. package/admin/plugins/validators/dateLte.js.map +1 -0
  333. package/admin/plugins/validators/gte.js.map +1 -0
  334. package/admin/plugins/validators/in.js.map +1 -0
  335. package/admin/plugins/validators/lte.js.map +1 -0
  336. package/admin/plugins/validators/maxLength.js.map +1 -0
  337. package/admin/plugins/validators/minLength.js.map +1 -0
  338. package/admin/plugins/validators/pattern.js.map +1 -0
  339. package/admin/plugins/validators/patternPlugins/email.js.map +1 -0
  340. package/admin/plugins/validators/patternPlugins/lowerCase.js.map +1 -0
  341. package/admin/plugins/validators/patternPlugins/lowerCaseSpace.js.map +1 -0
  342. package/admin/plugins/validators/patternPlugins/upperCase.js.map +1 -0
  343. package/admin/plugins/validators/patternPlugins/upperCaseSpace.js.map +1 -0
  344. package/admin/plugins/validators/patternPlugins/url.js.map +1 -0
  345. package/admin/plugins/validators/required.js.map +1 -0
  346. package/admin/plugins/validators/timeGte.js.map +1 -0
  347. package/admin/plugins/validators/timeLte.js.map +1 -0
  348. package/admin/plugins/validators/unique.js.map +1 -0
  349. package/admin/plugins/welcomeScreenWidget.js.map +1 -0
  350. package/admin/views/contentEntries/ContentEntries.js.map +1 -0
  351. package/admin/views/contentEntries/ContentEntriesContext.js +13 -4
  352. package/admin/views/contentEntries/ContentEntriesContext.js.map +1 -0
  353. package/admin/views/contentEntries/ContentEntriesList.js.map +1 -0
  354. package/admin/views/contentEntries/ContentEntry/ContentEntryContext.d.ts +10 -7
  355. package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js +85 -4
  356. package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js.map +1 -0
  357. package/admin/views/contentEntries/ContentEntry/RevisionListItem.js +4 -2
  358. package/admin/views/contentEntries/ContentEntry/RevisionListItem.js.map +1 -0
  359. package/admin/views/contentEntries/ContentEntry/RevisionsList.js.map +1 -0
  360. package/admin/views/contentEntries/ContentEntry/cache.js +19 -23
  361. package/admin/views/contentEntries/ContentEntry/cache.js.map +1 -0
  362. package/admin/views/contentEntries/ContentEntry/header/Header.js.map +1 -0
  363. package/admin/views/contentEntries/ContentEntry/header/contentFormOptionsMenu/ContentFormOptionsMenu.js +15 -8
  364. package/admin/views/contentEntries/ContentEntry/header/contentFormOptionsMenu/ContentFormOptionsMenu.js.map +1 -0
  365. package/admin/views/contentEntries/ContentEntry/header/index.js.map +1 -0
  366. package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.d.ts +1 -1
  367. package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.js.map +1 -0
  368. package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.js.map +1 -0
  369. package/admin/views/contentEntries/ContentEntry/header/revisionSelector/RevisionSelector.js +8 -7
  370. package/admin/views/contentEntries/ContentEntry/header/revisionSelector/RevisionSelector.js.map +1 -0
  371. package/admin/views/contentEntries/ContentEntry/header/saveAndPublishContent/SaveAndPublishContent.js +2 -2
  372. package/admin/views/contentEntries/ContentEntry/header/saveAndPublishContent/SaveAndPublishContent.js.map +1 -0
  373. package/admin/views/contentEntries/ContentEntry/header/saveContent/SaveContent.js +2 -2
  374. package/admin/views/contentEntries/ContentEntry/header/saveContent/SaveContent.js.map +1 -0
  375. package/admin/views/contentEntries/ContentEntry/prepareFormData.js +2 -1
  376. package/admin/views/contentEntries/ContentEntry/prepareFormData.js.map +1 -0
  377. package/admin/views/contentEntries/ContentEntry/useRevision.js +105 -47
  378. package/admin/views/contentEntries/ContentEntry/useRevision.js.map +1 -0
  379. package/admin/views/contentEntries/ContentEntry.js.map +1 -0
  380. package/admin/views/contentEntries/hooks/useContentEntries.js.map +1 -0
  381. package/admin/views/contentEntries/hooks/useContentEntriesList.d.ts +1 -1
  382. package/admin/views/contentEntries/hooks/useContentEntriesList.js +4 -4
  383. package/admin/views/contentEntries/hooks/useContentEntriesList.js.map +1 -0
  384. package/admin/views/contentEntries/hooks/useContentEntry.js.map +1 -0
  385. package/admin/views/contentModelGroups/ContentModelGroups.js +4 -3
  386. package/admin/views/contentModelGroups/ContentModelGroups.js.map +1 -0
  387. package/admin/views/contentModelGroups/ContentModelGroupsDataList.js +6 -3
  388. package/admin/views/contentModelGroups/ContentModelGroupsDataList.js.map +1 -0
  389. package/admin/views/contentModelGroups/ContentModelGroupsForm.js +23 -8
  390. package/admin/views/contentModelGroups/ContentModelGroupsForm.js.map +1 -0
  391. package/admin/views/contentModelGroups/DelayedOnChange.js.map +1 -0
  392. package/admin/views/contentModelGroups/IconPicker.js +11 -3
  393. package/admin/views/contentModelGroups/IconPicker.js.map +1 -0
  394. package/admin/views/contentModelGroups/graphql.js.map +1 -0
  395. package/admin/views/contentModels/CloneContentModelDialog.js +25 -34
  396. package/admin/views/contentModels/CloneContentModelDialog.js.map +1 -0
  397. package/admin/views/contentModels/ContentModelEditor.js.map +1 -0
  398. package/admin/views/contentModels/ContentModels.js +5 -4
  399. package/admin/views/contentModels/ContentModels.js.map +1 -0
  400. package/admin/views/contentModels/ContentModelsDataList.js +9 -2
  401. package/admin/views/contentModels/ContentModelsDataList.js.map +1 -0
  402. package/admin/views/contentModels/NewContentModelDialog.js +17 -3
  403. package/admin/views/contentModels/NewContentModelDialog.js.map +1 -0
  404. package/admin/views/contentModels/cache.js +38 -12
  405. package/admin/views/contentModels/cache.js.map +1 -0
  406. package/admin/views/contentModels/types.js.map +1 -0
  407. package/admin/views/utils.js.map +1 -0
  408. package/admin/viewsGraphql.js.map +1 -0
  409. package/index.js.map +1 -0
  410. package/package.json +25 -24
  411. package/types.d.ts +41 -7
  412. package/types.js.map +1 -0
@@ -130,12 +130,19 @@ var ContentModelsDataList = function ContentModelsDataList(_ref) {
130
130
  },
131
131
  update: function update(cache, _ref5) {
132
132
  var data = _ref5.data;
133
+
134
+ if (!data) {
135
+ showSnackbar("Missing data on Delete Content Model Mutation Response.");
136
+ return;
137
+ }
138
+
133
139
  var error = data.deleteContentModel.error;
134
140
 
135
141
  if (error) {
136
- return showSnackbar(error.message, {
142
+ showSnackbar(error.message, {
137
143
  title: t(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["Something unexpected happened."])))
138
144
  });
145
+ return;
139
146
  }
140
147
 
141
148
  removeModelFromListCache(cache, item);
@@ -175,7 +182,7 @@ var ContentModelsDataList = function ContentModelsDataList(_ref) {
175
182
  return function () {
176
183
  return history.push("/cms/content-entries/" + contentModel.modelId);
177
184
  };
178
- }, undefined);
185
+ }, []);
179
186
  var contentModelsDataListModalOverlay = useMemo(function () {
180
187
  return /*#__PURE__*/React.createElement(UIL.DataListModalOverlay, null, /*#__PURE__*/React.createElement(Grid, null, /*#__PURE__*/React.createElement(Cell, {
181
188
  span: 12
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["ContentModelsDataList.tsx"],"names":["React","useCallback","useMemo","useState","TimeAgo","css","get","useRouter","DeleteIcon","EditIcon","ReactComponent","ViewListIcon","CloneIcon","useApolloClient","useQuery","useSnackbar","UIL","ButtonIcon","ButtonSecondary","IconButton","Tooltip","i18n","useConfirmationDialog","removeModelFromGroupCache","removeModelFromListCache","GQL","AddIcon","SearchUI","deserializeSorters","orderBy","Cell","Grid","Select","FilterIcon","usePermission","t","namespace","SORTERS","label","sorters","rightAlign","alignItems","justifyContent","listItemMinHeight","minHeight","ContentModelsDataList","canCreate","onCreate","onClone","filter","setFilter","sort","setSort","history","client","showSnackbar","dataTestId","showConfirmation","LIST_CONTENT_MODELS","data","loading","canDelete","canEdit","filterData","name","toLowerCase","includes","sortData","list","sortField","sortOrderBy","models","deleteRecord","item","mutate","mutation","DELETE_CONTENT_MODEL","variables","modelId","update","cache","error","deleteContentModel","message","title","editRecord","contentModel","push","viewContentEntries","contentModelsDataListModalOverlay","map","filteredData","contentModels","disableViewContent","fields","length","time","savedOn","plugin"],"mappings":"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","sourcesContent":["import React, { useCallback, useMemo, useState } from \"react\";\n/**\n * Package timeago-react does not have types.\n */\n// @ts-ignore\nimport TimeAgo from \"timeago-react\";\nimport { css } from \"emotion\";\nimport get from \"lodash/get\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { DeleteIcon, EditIcon } from \"@webiny/ui/List/DataList/icons\";\nimport { ReactComponent as ViewListIcon } from \"../../icons/view_list.svg\";\nimport { ReactComponent as CloneIcon } from \"../../icons/clone.svg\";\nimport { useApolloClient, useQuery } from \"../../hooks\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport * as UIL from \"@webiny/ui/List\";\nimport { ButtonIcon, ButtonSecondary, IconButton } from \"@webiny/ui/Button\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { useConfirmationDialog } from \"@webiny/app-admin/hooks/useConfirmationDialog\";\nimport { removeModelFromGroupCache, removeModelFromListCache } from \"./cache\";\nimport * as GQL from \"../../viewsGraphql\";\nimport { ReactComponent as AddIcon } from \"@webiny/app-admin/assets/icons/add-18px.svg\";\nimport SearchUI from \"@webiny/app-admin/components/SearchUI\";\nimport { deserializeSorters } from \"../utils\";\nimport orderBy from \"lodash/orderBy\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { Select } from \"@webiny/ui/Select\";\nimport { ReactComponent as FilterIcon } from \"@webiny/app-admin/assets/icons/filter-24px.svg\";\nimport { CmsEditorContentModel, CmsModel } from \"~/types\";\nimport {\n DeleteCmsModelMutationResponse,\n DeleteCmsModelMutationVariables,\n ListCmsModelsQueryResponse\n} from \"../../viewsGraphql\";\nimport usePermission from \"~/admin/hooks/usePermission\";\n\nconst t = i18n.namespace(\"FormsApp.ContentModelsDataList\");\n\ninterface Sorter {\n label: string;\n sorters: string;\n}\nconst SORTERS: Sorter[] = [\n {\n label: t`Newest to oldest`,\n sorters: \"savedOn_DESC\"\n },\n {\n label: t`Oldest to newest`,\n sorters: \"savedOn_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\nconst rightAlign = css({\n alignItems: \"flex-end !important\",\n justifyContent: \"center !important\"\n});\n\nconst listItemMinHeight = css({\n minHeight: \"66px !important\"\n});\n\ninterface ContentModelsDataListProps {\n canCreate: boolean;\n onCreate: () => void;\n onClone: (contentModel: CmsEditorContentModel) => void;\n}\nconst ContentModelsDataList: React.FC<ContentModelsDataListProps> = ({\n canCreate,\n onCreate,\n onClone\n}) => {\n const [filter, setFilter] = useState<string>(\"\");\n const [sort, setSort] = useState<string>(SORTERS[0].sorters);\n const { history } = useRouter();\n const client = useApolloClient();\n const { showSnackbar } = useSnackbar();\n const { showConfirmation } = useConfirmationDialog({\n dataTestId: \"cms-delete-content-model-dialog\"\n });\n const { data, loading } = useQuery<ListCmsModelsQueryResponse>(GQL.LIST_CONTENT_MODELS);\n const { canDelete, canEdit } = usePermission();\n\n const filterData = useCallback(\n ({ name }: Pick<CmsModel, \"name\">): boolean => {\n return name.toLowerCase().includes(filter);\n },\n [filter]\n );\n\n const sortData = useCallback(\n (list: CmsModel[]): CmsModel[] => {\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 models: CmsModel[] = loading ? [] : get(data, \"listContentModels.data\", []);\n\n const deleteRecord = async (item: CmsModel): Promise<void> => {\n showConfirmation(async () => {\n await client.mutate<DeleteCmsModelMutationResponse, DeleteCmsModelMutationVariables>({\n mutation: GQL.DELETE_CONTENT_MODEL,\n variables: { modelId: item.modelId },\n update(cache, { data }) {\n if (!data) {\n showSnackbar(\"Missing data on Delete Content Model Mutation Response.\");\n return;\n }\n const { error } = data.deleteContentModel;\n\n if (error) {\n showSnackbar(error.message, {\n title: t`Something unexpected happened.`\n });\n return;\n }\n\n removeModelFromListCache(cache, item);\n removeModelFromGroupCache(cache, item);\n\n showSnackbar(\n t`Content model {name} deleted successfully!.`({ name: item.name })\n );\n }\n });\n });\n };\n\n const editRecord = (contentModel: CmsModel): void => {\n history.push(\"/cms/content-models/\" + contentModel.modelId);\n };\n\n const viewContentEntries = useCallback(contentModel => {\n return () => history.push(\"/cms/content-entries/\" + contentModel.modelId);\n }, []);\n\n const contentModelsDataListModalOverlay = useMemo(\n () => (\n <UIL.DataListModalOverlay>\n <Grid>\n <Cell span={12}>\n <Select\n value={sort}\n onChange={setSort}\n label={t`Sort by`}\n description={\"Sort content models 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 </UIL.DataListModalOverlay>\n ),\n [sort]\n );\n\n const filteredData = filter === \"\" ? models : models.filter(filterData);\n const contentModels = sortData(filteredData);\n\n return (\n <UIL.DataList\n loading={loading}\n data={contentModels}\n title={t`Content Models`}\n actions={\n canCreate ? (\n <ButtonSecondary data-testid=\"new-record-button\" onClick={onCreate}>\n <ButtonIcon icon={<AddIcon />} /> {t`New Model`}\n </ButtonSecondary>\n ) : null\n }\n search={\n <SearchUI\n value={filter}\n onChange={setFilter}\n inputPlaceholder={t`Search content models`}\n />\n }\n modalOverlay={contentModelsDataListModalOverlay}\n modalOverlayAction={\n <UIL.DataListModalOverlayAction\n icon={<FilterIcon />}\n data-testid={\"default-data-list.filter\"}\n />\n }\n >\n {({ data = [] }: { data: CmsModel[] }) => (\n <UIL.List data-testid=\"default-data-list\">\n {data.map(contentModel => {\n const disableViewContent = contentModel.fields.length === 0;\n const message = disableViewContent\n ? \"To view the content, you first need to add a field and save the model\"\n : \"View content\";\n return (\n <UIL.ListItem key={contentModel.modelId} className={listItemMinHeight}>\n <UIL.ListItemText>\n {contentModel.name}\n <UIL.ListItemTextSecondary>\n {t`Last modified: {time}.`({\n time: <TimeAgo datetime={contentModel.savedOn} />\n })}\n </UIL.ListItemTextSecondary>\n </UIL.ListItemText>\n <UIL.ListItemMeta className={rightAlign}>\n <UIL.ListActions>\n {canEdit(contentModel, \"cms.contentModel\") && (\n <>\n <Tooltip\n content={t`{message}`({ message })}\n placement={\"top\"}\n >\n <IconButton\n data-testid={\n \"cms-view-content-model-button\"\n }\n icon={<ViewListIcon />}\n label={t`View entries`}\n onClick={viewContentEntries(contentModel)}\n disabled={disableViewContent}\n />\n </Tooltip>\n {contentModel.plugin ? (\n <Tooltip\n content={t`Content model is registered via a plugin.`}\n placement={\"top\"}\n >\n <EditIcon\n disabled\n data-testid={\n \"cms-edit-content-model-button\"\n }\n />\n </Tooltip>\n ) : (\n <Tooltip\n content={t`Edit content model`}\n placement={\"top\"}\n >\n <EditIcon\n onClick={() => editRecord(contentModel)}\n data-testid={\n \"cms-edit-content-model-button\"\n }\n />\n </Tooltip>\n )}\n </>\n )}\n\n <Tooltip content={\"Clone content model\"} placement={\"top\"}>\n <IconButton\n data-testid={\"cms-clone-content-model-button\"}\n icon={<CloneIcon />}\n label={t`View entries`}\n onClick={() => onClone(contentModel)}\n />\n </Tooltip>\n\n {canDelete(contentModel, \"cms.contentModel\") &&\n contentModel.plugin ? (\n <Tooltip\n content={t`Content model is registered via a plugin.`}\n placement={\"top\"}\n >\n <DeleteIcon\n disabled\n data-testid={\"cms-delete-content-model-button\"}\n />\n </Tooltip>\n ) : (\n <Tooltip\n content={t`Delete content model`}\n placement={\"top\"}\n >\n <DeleteIcon\n onClick={() => deleteRecord(contentModel)}\n data-testid={\"cms-delete-content-model-button\"}\n />\n </Tooltip>\n )}\n </UIL.ListActions>\n </UIL.ListItemMeta>\n </UIL.ListItem>\n );\n })}\n </UIL.List>\n )}\n </UIL.DataList>\n );\n};\n\nexport default ContentModelsDataList;\n"]}
@@ -62,6 +62,13 @@ var NewContentModelDialog = function NewContentModelDialog(_ref) {
62
62
  var _useMutation = useMutation(GQL.CREATE_CONTENT_MODEL, {
63
63
  update: function update(cache, _ref2) {
64
64
  var data = _ref2.data;
65
+
66
+ if (!data) {
67
+ setLoading(false);
68
+ showSnackbar("Missing data on Create Content Model Mutation Response.");
69
+ return;
70
+ }
71
+
65
72
  var _data$createContentMo = data.createContentModel,
66
73
  model = _data$createContentMo.data,
67
74
  error = _data$createContentMo.error;
@@ -191,7 +198,7 @@ var NewContentModelDialog = function NewContentModelDialog(_ref) {
191
198
  }(), [client]);
192
199
  var group = (contentModelGroups === null || contentModelGroups === void 0 ? void 0 : contentModelGroups.length) > 0 ? contentModelGroups[0].value : null;
193
200
 
194
- var onSubmit = /*#__PURE__*/function () {
201
+ var _onSubmit = /*#__PURE__*/function () {
195
202
  var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(data) {
196
203
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
197
204
  while (1) {
@@ -227,7 +234,12 @@ var NewContentModelDialog = function NewContentModelDialog(_ref) {
227
234
  data: {
228
235
  group: group
229
236
  },
230
- onSubmit: onSubmit
237
+ onSubmit: function onSubmit(data) {
238
+ /**
239
+ * We are positive that data is CmsModelData.
240
+ */
241
+ _onSubmit(data);
242
+ }
231
243
  }, function (_ref5) {
232
244
  var Bind = _ref5.Bind,
233
245
  submit = _ref5.submit;
@@ -264,7 +276,9 @@ var NewContentModelDialog = function NewContentModelDialog(_ref) {
264
276
  label: t(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["Description"])))
265
277
  }));
266
278
  })))), /*#__PURE__*/React.createElement(UID.DialogActions, null, /*#__PURE__*/React.createElement(ButtonPrimary, {
267
- onClick: submit
279
+ onClick: function onClick(ev) {
280
+ submit(ev);
281
+ }
268
282
  }, "+ ", t(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["Create Model"]))))));
269
283
  }));
270
284
  };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["NewContentModelDialog.tsx"],"names":["React","useCallback","gql","css","get","useRouter","Form","Input","Select","useSnackbar","CircularProgress","validation","useQuery","useMutation","useApolloClient","i18n","ButtonPrimary","UID","Grid","Cell","addModelToGroupCache","addModelToListCache","GQL","t","ns","narrowDialog","width","minWidth","noPadding","padding","disallowedModelIdEndingList","SCHEMA_TYPES","NewContentModelDialog","open","onClose","useState","loading","setLoading","showSnackbar","history","client","CREATE_CONTENT_MODEL","update","cache","data","createContentModel","model","error","message","push","modelId","listMenuGroupsQuery","LIST_MENU_CONTENT_GROUPS_MODELS","skip","contentModelGroups","map","item","value","id","label","name","nameValidator","target","trim","charAt","match","Error","ending","re","RegExp","matched","query","fetchPolicy","types","__schema","includes","group","length","onSubmit","variables","Bind","submit","create","props","ev"],"mappings":"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","sourcesContent":["import React, { useCallback } from \"react\";\nimport gql from \"graphql-tag\";\nimport { css } from \"emotion\";\nimport get from \"lodash/get\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { Form } from \"@webiny/form\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { Select } from \"@webiny/ui/Select\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { validation } from \"@webiny/validation\";\nimport { useQuery, useMutation, useApolloClient } from \"../../hooks\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { ButtonPrimary } from \"@webiny/ui/Button\";\nimport * as UID from \"@webiny/ui/Dialog\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { addModelToGroupCache, addModelToListCache } from \"./cache\";\nimport * as GQL from \"../../viewsGraphql\";\nimport {\n CreateCmsModelMutationResponse,\n CreateCmsModelMutationVariables,\n ListMenuCmsGroupsQueryResponse\n} from \"../../viewsGraphql\";\nimport { CmsGroup } from \"~/types\";\nimport { CmsGroupOption } from \"./types\";\n\nconst t = i18n.ns(\"app-headless-cms/admin/views/content-models/new-content-model-dialog\");\n\nconst narrowDialog = css({\n \".mdc-dialog__surface\": {\n width: 600,\n minWidth: 600\n }\n});\n\nconst noPadding = css({\n padding: \"5px !important\"\n});\n\n/**\n * This list is to disallow creating models that might interfere with GraphQL schema creation.\n * Add more if required.\n */\nconst disallowedModelIdEndingList: string[] = [\"Response\", \"List\", \"Meta\", \"Input\", \"Sorter\"];\n\nexport interface NewContentModelDialogProps {\n open: boolean;\n onClose: UID.DialogOnClose;\n}\n\nconst SCHEMA_TYPES = gql`\n query ListSchemaTypes {\n __schema {\n types {\n name\n }\n }\n }\n`;\n\ninterface SchemaTypes {\n __schema: {\n types: { name: string }[];\n };\n}\n\ninterface CmsModelData {\n name: string;\n description: string;\n group: string;\n}\n\nconst NewContentModelDialog: React.FC<NewContentModelDialogProps> = ({ open, onClose }) => {\n const [loading, setLoading] = React.useState(false);\n const { showSnackbar } = useSnackbar();\n const { history } = useRouter();\n const client = useApolloClient();\n\n const [createContentModel] = useMutation<\n CreateCmsModelMutationResponse,\n CreateCmsModelMutationVariables\n >(GQL.CREATE_CONTENT_MODEL, {\n update(cache, { data }) {\n if (!data) {\n setLoading(false);\n showSnackbar(\"Missing data on Create Content Model Mutation Response.\");\n return;\n }\n const { data: model, error } = data.createContentModel;\n\n if (error) {\n setLoading(false);\n showSnackbar(error.message);\n return;\n }\n\n addModelToListCache(cache, model);\n addModelToGroupCache(cache, model);\n\n history.push(\"/cms/content-models/\" + model.modelId);\n }\n });\n\n const listMenuGroupsQuery = useQuery<ListMenuCmsGroupsQueryResponse>(\n GQL.LIST_MENU_CONTENT_GROUPS_MODELS,\n {\n skip: !open\n }\n );\n\n const contentModelGroups = get(listMenuGroupsQuery, \"data.listContentModelGroups.data\", []).map(\n (item: CmsGroup): CmsGroupOption => {\n return {\n value: item.id,\n label: item.name\n };\n }\n );\n\n const nameValidator = useCallback(\n async (name: string): Promise<boolean> => {\n const target = (name || \"\").trim();\n if (!target.charAt(0).match(/[a-zA-Z]/)) {\n throw new Error(\"Model name can't start with a number.\");\n }\n\n for (const ending of disallowedModelIdEndingList) {\n const re = new RegExp(`${ending}$`, \"i\");\n const matched = target.match(re);\n if (matched === null) {\n continue;\n }\n throw new Error(`Model must not end with \"${ending}\".`);\n }\n\n // Validate GraphQL Schema type\n const { data } = await client.query<SchemaTypes>({\n query: SCHEMA_TYPES,\n fetchPolicy: \"network-only\"\n });\n\n const types = data.__schema.types.map(t => t.name);\n\n if (types.includes(name)) {\n throw new Error(\n `\"${name}\" type already exists in the GraphQL schema. Please pick a different name.`\n );\n }\n\n return true;\n },\n [client]\n );\n\n const group = contentModelGroups?.length > 0 ? contentModelGroups[0].value : null;\n\n const onSubmit = async (data: CmsModelData) => {\n setLoading(true);\n await createContentModel({\n variables: { data }\n });\n };\n\n return (\n <UID.Dialog\n open={open}\n onClose={onClose}\n className={narrowDialog}\n data-testid=\"cms-new-content-model-modal\"\n >\n {open && (\n <Form\n data={{ group }}\n onSubmit={data => {\n /**\n * We are positive that data is CmsModelData.\n */\n onSubmit(data as unknown as CmsModelData);\n }}\n >\n {({ Bind, submit }) => (\n <>\n {loading && <CircularProgress label={\"Creating content model...\"} />}\n <UID.DialogTitle>{t`New Content Model`}</UID.DialogTitle>\n <UID.DialogContent>\n <Grid className={noPadding}>\n <Cell span={12}>\n <Bind\n name={\"name\"}\n validators={[\n validation.create(\"required,maxLength:100\"),\n nameValidator\n ]}\n >\n <Input\n label={t`Name`}\n description={t`The name of the content model. Use the singular form, e.g. Person, not Persons.`}\n />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind\n name={\"group\"}\n validators={validation.create(\"required\")}\n >\n <Select\n description={t`Choose a content model group`}\n label={t`Content model group`}\n options={contentModelGroups}\n />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind name=\"description\">\n {props => (\n <Input\n {...props}\n rows={4}\n maxLength={200}\n characterCount\n label={t`Description`}\n />\n )}\n </Bind>\n </Cell>\n </Grid>\n </UID.DialogContent>\n <UID.DialogActions>\n <ButtonPrimary\n onClick={ev => {\n submit(ev);\n }}\n >\n + {t`Create Model`}\n </ButtonPrimary>\n </UID.DialogActions>\n </>\n )}\n </Form>\n )}\n </UID.Dialog>\n );\n};\n\nexport default NewContentModelDialog;\n"]}
@@ -1,11 +1,15 @@
1
1
  import dotProp from "dot-prop-immutable";
2
2
  import { LIST_CONTENT_MODELS, LIST_MENU_CONTENT_GROUPS_MODELS } from "../../viewsGraphql";
3
3
  export var addModelToListCache = function addModelToListCache(cache, model) {
4
- var _cache$readQuery = cache.readQuery({
4
+ var response = cache.readQuery({
5
5
  query: LIST_CONTENT_MODELS
6
- }),
7
- listContentModels = _cache$readQuery.listContentModels;
6
+ });
7
+
8
+ if (!response || !response.listContentModels) {
9
+ return;
10
+ }
8
11
 
12
+ var listContentModels = response.listContentModels;
9
13
  var newModelIndex = listContentModels.data.length;
10
14
  cache.writeQuery({
11
15
  query: LIST_CONTENT_MODELS,
@@ -15,11 +19,15 @@ export var addModelToListCache = function addModelToListCache(cache, model) {
15
19
  });
16
20
  };
17
21
  export var addModelToGroupCache = function addModelToGroupCache(cache, model) {
18
- var _cache$readQuery2 = cache.readQuery({
22
+ var response = cache.readQuery({
19
23
  query: LIST_MENU_CONTENT_GROUPS_MODELS
20
- }),
21
- groupsList = _cache$readQuery2.listContentModelGroups;
24
+ });
22
25
 
26
+ if (!response || !response.listContentModelGroups) {
27
+ return;
28
+ }
29
+
30
+ var groupsList = response.listContentModelGroups;
23
31
  var groupIndex = groupsList.data.findIndex(function (g) {
24
32
  return g.id === model.group.id;
25
33
  });
@@ -32,11 +40,15 @@ export var addModelToGroupCache = function addModelToGroupCache(cache, model) {
32
40
  });
33
41
  };
34
42
  export var removeModelFromListCache = function removeModelFromListCache(cache, model) {
35
- var _cache$readQuery3 = cache.readQuery({
43
+ var response = cache.readQuery({
36
44
  query: LIST_CONTENT_MODELS
37
- }),
38
- listContentModels = _cache$readQuery3.listContentModels;
45
+ });
46
+
47
+ if (!response || !response.listContentModels) {
48
+ return;
49
+ }
39
50
 
51
+ var listContentModels = response.listContentModels;
40
52
  var modelIndex = listContentModels.data.findIndex(function (m) {
41
53
  return m.modelId === model.modelId;
42
54
  });
@@ -48,17 +60,31 @@ export var removeModelFromListCache = function removeModelFromListCache(cache, m
48
60
  });
49
61
  };
50
62
  export var removeModelFromGroupCache = function removeModelFromGroupCache(cache, model) {
51
- var _cache$readQuery4 = cache.readQuery({
63
+ var response = cache.readQuery({
52
64
  query: LIST_MENU_CONTENT_GROUPS_MODELS
53
- }),
54
- groupsList = _cache$readQuery4.listContentModelGroups;
65
+ });
66
+
67
+ if (!response || !response.listContentModelGroups) {
68
+ return;
69
+ }
55
70
 
71
+ var groupsList = response.listContentModelGroups;
56
72
  var groupIndex = groupsList.data.findIndex(function (g) {
57
73
  return g.id === model.group.id;
58
74
  });
75
+
76
+ if (groupIndex < 0) {
77
+ return;
78
+ }
79
+
59
80
  var modelIndex = groupsList.data[groupIndex].contentModels.findIndex(function (m) {
60
81
  return m.modelId === model.modelId;
61
82
  });
83
+
84
+ if (modelIndex < 0) {
85
+ return;
86
+ }
87
+
62
88
  cache.writeQuery({
63
89
  query: LIST_MENU_CONTENT_GROUPS_MODELS,
64
90
  data: {
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["cache.ts"],"names":["dotProp","LIST_CONTENT_MODELS","LIST_MENU_CONTENT_GROUPS_MODELS","addModelToListCache","cache","model","response","readQuery","query","listContentModels","newModelIndex","data","length","writeQuery","set","addModelToGroupCache","listContentModelGroups","groupsList","groupIndex","findIndex","g","id","group","newGroupModelIndex","contentModels","removeModelFromListCache","modelIndex","m","modelId","delete","removeModelFromGroupCache"],"mappings":"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","sourcesContent":["import dotProp from \"dot-prop-immutable\";\nimport { LIST_CONTENT_MODELS, LIST_MENU_CONTENT_GROUPS_MODELS } from \"../../viewsGraphql\";\nimport { CmsEditorContentModel } from \"~/types\";\nimport { DataProxy } from \"apollo-cache\";\nimport { ListCmsModelsQueryResponse, ListMenuCmsGroupsQueryResponse } from \"../../viewsGraphql\";\n\nexport const addModelToListCache = (cache: DataProxy, model: CmsEditorContentModel): void => {\n const response = cache.readQuery<ListCmsModelsQueryResponse>({\n query: LIST_CONTENT_MODELS\n });\n if (!response || !response.listContentModels) {\n return;\n }\n const { listContentModels } = response;\n const newModelIndex = listContentModels.data.length;\n\n cache.writeQuery({\n query: LIST_CONTENT_MODELS,\n data: {\n listContentModels: dotProp.set(listContentModels, `data.${newModelIndex}`, model)\n }\n });\n};\n\nexport const addModelToGroupCache = (cache: DataProxy, model: CmsEditorContentModel): void => {\n const response = cache.readQuery<ListMenuCmsGroupsQueryResponse>({\n query: LIST_MENU_CONTENT_GROUPS_MODELS\n });\n if (!response || !response.listContentModelGroups) {\n return;\n }\n\n const { listContentModelGroups: groupsList } = response;\n\n const groupIndex = groupsList.data.findIndex(g => g.id === model.group.id);\n const newGroupModelIndex = groupsList.data[groupIndex].contentModels.length;\n\n cache.writeQuery({\n query: LIST_MENU_CONTENT_GROUPS_MODELS,\n data: {\n listContentModelGroups: dotProp.set(\n groupsList,\n `data.${groupIndex}.contentModels.${newGroupModelIndex}`,\n model\n )\n }\n });\n};\n\nexport const removeModelFromListCache = (cache: DataProxy, model: CmsEditorContentModel): void => {\n const response = cache.readQuery<ListCmsModelsQueryResponse>({\n query: LIST_CONTENT_MODELS\n });\n if (!response || !response.listContentModels) {\n return;\n }\n const { listContentModels } = response;\n const modelIndex = listContentModels.data.findIndex(m => m.modelId === model.modelId);\n\n cache.writeQuery({\n query: LIST_CONTENT_MODELS,\n data: {\n listContentModels: dotProp.delete(listContentModels, `data.${modelIndex}`)\n }\n });\n};\n\nexport const removeModelFromGroupCache = (cache: DataProxy, model: CmsEditorContentModel): void => {\n const response = cache.readQuery<ListMenuCmsGroupsQueryResponse>({\n query: LIST_MENU_CONTENT_GROUPS_MODELS\n });\n if (!response || !response.listContentModelGroups) {\n return;\n }\n const { listContentModelGroups: groupsList } = response;\n\n const groupIndex = groupsList.data.findIndex(g => g.id === model.group.id);\n if (groupIndex < 0) {\n return;\n }\n const modelIndex = groupsList.data[groupIndex].contentModels.findIndex(\n m => m.modelId === model.modelId\n );\n\n if (modelIndex < 0) {\n return;\n }\n\n cache.writeQuery({\n query: LIST_MENU_CONTENT_GROUPS_MODELS,\n data: {\n listContentModelGroups: dotProp.delete(\n groupsList,\n `data.${groupIndex}.contentModels.${modelIndex}`\n )\n }\n });\n};\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["utils.ts"],"names":["deserializeSorters","data","split","field","orderBy","order","String","toLowerCase"],"mappings":";AACA,OAAO,IAAMA,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,IAAD,EAAuC;AACrE,MAAI,OAAOA,IAAP,KAAgB,QAApB,EAA8B;AAC1B,WAAOA,IAAP;AACH;;AACD,aAAyBA,IAAI,CAACC,KAAL,CAAW,GAAX,CAAzB;AAAA;AAAA,MAAOC,KAAP;AAAA,MAAcC,OAAd;;AACA,MAAMC,KAAK,GAAGC,MAAM,CAACF,OAAD,CAAN,CAAgBG,WAAhB,OAAkC,KAAlC,GAA0C,KAA1C,GAAkD,MAAhE;AACA,SAAO,CAACJ,KAAD,EAAQE,KAAR,CAAP;AACH,CAPM","sourcesContent":["type SortTypes = \"asc\" | \"desc\";\nexport const deserializeSorters = (data: string): [string, SortTypes] => {\n if (typeof data !== \"string\") {\n return data;\n }\n const [field, orderBy] = data.split(\"_\") as [string, SortTypes];\n const order = String(orderBy).toLowerCase() === \"asc\" ? \"asc\" : \"desc\";\n return [field, order];\n};\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["viewsGraphql.ts"],"names":["gql","ERROR_FIELDS","BASE_CONTENT_MODEL_FIELDS","LIST_MENU_CONTENT_GROUPS_MODELS","LIST_CONTENT_MODELS","CREATE_CONTENT_MODEL","CREATE_CONTENT_MODEL_FROM","DELETE_CONTENT_MODEL"],"mappings":";;;;AAAA,OAAOA,GAAP,MAAgB,aAAhB;AAGA,IAAMC,YAAY,wCAAlB;AAMA,IAAMC,yBAAyB,8NAA/B;AAoBA;AACA;AACA;AACA;AACA;;AAOA,OAAO,IAAMC,+BAA+B,GAAGH,GAAH,2nBAoB1BC,YApB0B,CAArC;AAyBP;AACA;AACA;AACA;;AAOA,OAAO,IAAMG,mBAAmB,GAAGJ,GAAH,8QAIdE,yBAJc,EAOdD,YAPc,CAAzB;AAYP;AACA;AACA;AACA;;AAWA,OAAO,IAAMI,oBAAoB,GAAGL,GAAH,oUAIfE,yBAJe,EAOfD,YAPe,CAA1B;AAYP;AACA;AACA;AACA;;AAWA,OAAO,IAAMK,yBAAyB,GAAGN,GAAH,kXAIpBE,yBAJoB,EAOpBD,YAPoB,CAA/B;AAaP;AACA;AACA;AACA;;AAUA,OAAO,IAAMM,oBAAoB,GAAGP,GAAH,8QAKfC,YALe,CAA1B","sourcesContent":["import gql from \"graphql-tag\";\nimport { CmsErrorResponse, CmsGroup, CmsModel } from \"~/types\";\n\nconst ERROR_FIELDS = `\n code\n message\n data\n`;\n\nconst BASE_CONTENT_MODEL_FIELDS = `\n description\n modelId\n name\n savedOn\n plugin\n fields {\n id\n }\n group {\n id\n name\n }\n createdBy {\n id\n displayName\n type\n }\n`;\n\n/**\n * ############################\n * List groups with models Query\n * * Fetches data needed for constructing content models list in the main menu.\n */\nexport interface ListMenuCmsGroupsQueryResponse {\n listContentModelGroups: {\n data: CmsGroup[];\n error?: CmsErrorResponse;\n };\n}\nexport const LIST_MENU_CONTENT_GROUPS_MODELS = gql`\n query CmsListMenuContentGroupsModels {\n listContentModelGroups {\n data {\n id\n name\n icon\n plugin\n contentModels {\n name\n modelId\n plugin\n createdBy {\n id\n displayName\n type\n }\n }\n }\n error {\n ${ERROR_FIELDS}\n }\n }\n }\n`;\n/**\n * ############################\n * List Query\n */\nexport interface ListCmsModelsQueryResponse {\n listContentModels: {\n data: CmsModel[];\n error?: CmsErrorResponse;\n };\n}\nexport const LIST_CONTENT_MODELS = gql`\n query CmsListContentModels {\n listContentModels {\n data {\n ${BASE_CONTENT_MODEL_FIELDS}\n }\n error {\n ${ERROR_FIELDS}\n }\n }\n }\n`;\n/**\n * ############################\n * Create Mutation\n */\nexport interface CreateCmsModelMutationResponse {\n createContentModel: {\n data: CmsModel;\n error?: CmsErrorResponse;\n };\n}\nexport interface CreateCmsModelMutationVariables {\n // @ts-refactor write the types.\n data: Record<string, any>;\n}\nexport const CREATE_CONTENT_MODEL = gql`\n mutation CmsCreateContentModel($data: CmsContentModelCreateInput!) {\n createContentModel(data: $data) {\n data {\n ${BASE_CONTENT_MODEL_FIELDS}\n }\n error {\n ${ERROR_FIELDS}\n }\n }\n }\n`;\n/**\n * ############################\n * Create From Mutation\n */\nexport interface CreateCmsModelFromMutationResponse {\n createContentModelFrom: {\n data: CmsModel;\n error?: CmsErrorResponse;\n };\n}\nexport interface CreateCmsModelFromMutationVariables {\n modelId: string;\n data: CmsModel;\n}\nexport const CREATE_CONTENT_MODEL_FROM = gql`\n mutation CmsCreateContentModelFrom($modelId: ID!, $data: CmsContentModelCreateFromInput!) {\n createContentModelFrom(modelId: $modelId, data: $data) {\n data {\n ${BASE_CONTENT_MODEL_FIELDS}\n }\n error {\n ${ERROR_FIELDS}\n }\n }\n }\n`;\n\n/**\n * ############################\n * Delete Mutation\n */\nexport interface DeleteCmsModelMutationResponse {\n deleteContentModel: {\n data: boolean;\n error?: CmsErrorResponse;\n };\n}\nexport interface DeleteCmsModelMutationVariables {\n modelId: string;\n}\nexport const DELETE_CONTENT_MODEL = gql`\n mutation CmsDeleteContentModel($modelId: ID!) {\n deleteContentModel(modelId: $modelId) {\n data\n error {\n ${ERROR_FIELDS}\n }\n }\n }\n`;\n"]}
package/index.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"names":[],"mappings":"AAAA","sourcesContent":["export * from \"./HeadlessCMS\";\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/app-headless-cms",
3
- "version": "5.24.0-beta.0",
3
+ "version": "5.25.0-beta.1",
4
4
  "main": "index.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -15,30 +15,30 @@
15
15
  "dependencies": {
16
16
  "@apollo/react-common": "3.1.4",
17
17
  "@apollo/react-hooks": "3.1.5",
18
- "@babel/runtime": "7.16.7",
18
+ "@babel/runtime": "7.17.2",
19
19
  "@emotion/core": "10.3.1",
20
20
  "@emotion/styled": "10.3.0",
21
- "@fortawesome/fontawesome-common-types": "0.2.36",
22
- "@fortawesome/fontawesome-svg-core": "1.2.36",
23
- "@fortawesome/free-brands-svg-icons": "5.15.4",
24
- "@fortawesome/free-regular-svg-icons": "5.15.4",
25
- "@fortawesome/free-solid-svg-icons": "5.15.4",
21
+ "@fortawesome/fontawesome-common-types": "0.3.0",
22
+ "@fortawesome/fontawesome-svg-core": "1.3.0",
23
+ "@fortawesome/free-brands-svg-icons": "6.0.0",
24
+ "@fortawesome/free-regular-svg-icons": "6.0.0",
25
+ "@fortawesome/free-solid-svg-icons": "6.0.0",
26
26
  "@fortawesome/react-fontawesome": "0.1.17",
27
27
  "@svgr/webpack": "6.2.1",
28
28
  "@types/react": "16.14.2",
29
- "@webiny/app": "5.24.0-beta.0",
30
- "@webiny/app-admin": "5.24.0-beta.0",
31
- "@webiny/app-graphql-playground": "5.24.0-beta.0",
32
- "@webiny/app-i18n": "5.24.0-beta.0",
33
- "@webiny/app-plugin-admin-welcome-screen": "5.24.0-beta.0",
34
- "@webiny/app-security": "5.24.0-beta.0",
35
- "@webiny/error": "5.24.0-beta.0",
36
- "@webiny/form": "5.24.0-beta.0",
37
- "@webiny/plugins": "5.24.0-beta.0",
38
- "@webiny/react-router": "5.24.0-beta.0",
39
- "@webiny/ui": "5.24.0-beta.0",
40
- "@webiny/utils": "5.24.0-beta.0",
41
- "@webiny/validation": "5.24.0-beta.0",
29
+ "@webiny/app": "5.25.0-beta.1",
30
+ "@webiny/app-admin": "5.25.0-beta.1",
31
+ "@webiny/app-graphql-playground": "5.25.0-beta.1",
32
+ "@webiny/app-i18n": "5.25.0-beta.1",
33
+ "@webiny/app-plugin-admin-welcome-screen": "5.25.0-beta.1",
34
+ "@webiny/app-security": "5.25.0-beta.1",
35
+ "@webiny/error": "5.25.0-beta.1",
36
+ "@webiny/form": "5.25.0-beta.1",
37
+ "@webiny/plugins": "5.25.0-beta.1",
38
+ "@webiny/react-router": "5.25.0-beta.1",
39
+ "@webiny/ui": "5.25.0-beta.1",
40
+ "@webiny/utils": "5.25.0-beta.1",
41
+ "@webiny/validation": "5.25.0-beta.1",
42
42
  "apollo-cache": "1.3.5",
43
43
  "apollo-client": "2.6.10",
44
44
  "apollo-link": "1.2.14",
@@ -49,6 +49,7 @@
49
49
  "emotion": "10.0.27",
50
50
  "graphql": "15.8.0",
51
51
  "graphql-tag": "2.12.6",
52
+ "invariant": "2.2.4",
52
53
  "lodash": "4.17.21",
53
54
  "pluralize": "8.0.0",
54
55
  "prop-types": "15.8.1",
@@ -71,15 +72,15 @@
71
72
  "@babel/preset-env": "^7.16.4",
72
73
  "@babel/preset-react": "^7.16.0",
73
74
  "@babel/preset-typescript": "^7.16.0",
74
- "@webiny/cli": "^5.24.0-beta.0",
75
- "@webiny/project-utils": "^5.24.0-beta.0",
75
+ "@webiny/cli": "^5.25.0-beta.1",
76
+ "@webiny/project-utils": "^5.25.0-beta.1",
76
77
  "babel-plugin-emotion": "^9.2.8",
77
78
  "babel-plugin-lodash": "^3.3.4",
78
79
  "babel-plugin-module-resolver": "^4.1.0",
79
80
  "execa": "^5.0.0",
80
81
  "rimraf": "^3.0.2",
81
82
  "ttypescript": "^1.5.12",
82
- "typescript": "^4.1.3"
83
+ "typescript": "4.5.5"
83
84
  },
84
85
  "publishConfig": {
85
86
  "access": "public",
@@ -104,5 +105,5 @@
104
105
  ]
105
106
  }
106
107
  },
107
- "gitHead": "05b90b92bbaf2ef3adf275d008c4641580cf5f42"
108
+ "gitHead": "c5cbc36b39a28e3f1c58de7d768fdcd113ad8e15"
108
109
  }
package/types.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as React from "react";
2
2
  import { Plugin } from "@webiny/plugins/types";
3
3
  import { ReactElement, ReactNode } from "react";
4
- import { BindComponent, FormRenderPropParams, FormAPI } from "@webiny/form/types";
4
+ import { FormRenderPropParams, FormAPI, BindComponentRenderProp as BaseBindComponentRenderProp, BindComponentProps as BaseBindComponentProps } from "@webiny/form/types";
5
5
  import { ApolloClient } from "apollo-client";
6
6
  import { IconPrefix, IconName } from "@fortawesome/fontawesome-svg-core";
7
7
  import Label from "./admin/components/ContentEntryForm/Label";
@@ -103,7 +103,7 @@ export interface CmsEditorFieldTypePlugin extends Plugin {
103
103
  * })
104
104
  * ```
105
105
  */
106
- createField: () => CmsEditorField;
106
+ createField: () => Pick<CmsEditorField, "type" | "validation" | "renderer" | "settings">;
107
107
  /**
108
108
  * A ReactNode that you can add in the section below the help text when creating/editing field.
109
109
  *
@@ -246,9 +246,9 @@ export interface CmsEditorFieldPredefinedValues {
246
246
  values: CmsEditorFieldPredefinedValuesEntry[];
247
247
  }
248
248
  export declare type CmsEditorField<T = unknown> = T & {
249
- id?: string;
249
+ id: string;
250
250
  type: string;
251
- fieldId?: CmsEditorFieldId;
251
+ fieldId: CmsEditorFieldId;
252
252
  label?: string;
253
253
  helpText?: string;
254
254
  placeholderText?: string;
@@ -258,6 +258,12 @@ export declare type CmsEditorField<T = unknown> = T & {
258
258
  predefinedValues?: CmsEditorFieldPredefinedValues;
259
259
  settings?: {
260
260
  defaultValue?: string | null | undefined;
261
+ defaultSetValue?: string;
262
+ type?: string;
263
+ fields?: CmsEditorField<any>[];
264
+ layout?: string[][];
265
+ models?: Pick<CmsModel, "modelId" | "name">[];
266
+ imagesOnly?: boolean;
261
267
  [key: string]: any;
262
268
  };
263
269
  renderer: {
@@ -294,7 +300,6 @@ export interface CmsEditorContentEntry {
294
300
  savedOn: string;
295
301
  modelId: string;
296
302
  createdBy: CmsCreatedBy;
297
- [key: string]: any;
298
303
  meta: {
299
304
  title: string;
300
305
  publishedOn: string;
@@ -302,6 +307,13 @@ export interface CmsEditorContentEntry {
302
307
  status: "draft" | "published" | "unpublished" | "changesRequested" | "reviewRequested";
303
308
  version: number;
304
309
  };
310
+ [key: string]: any;
311
+ }
312
+ export interface CmsLatestContentEntry {
313
+ id: string;
314
+ status: "published" | "draft";
315
+ title: string;
316
+ model: Pick<CmsModel, "modelId" | "name">;
305
317
  }
306
318
  export interface CmsContentEntryRevision {
307
319
  id: string;
@@ -339,7 +351,7 @@ export interface CmsEditorFieldValidatorPlugin extends Plugin {
339
351
  type: "cms-editor-field-validator";
340
352
  validator: CmsEditorFieldValidatorPluginValidator;
341
353
  }
342
- export declare type CmsEditorContentTab = React.FunctionComponent<{
354
+ export declare type CmsEditorContentTab = React.FC<{
343
355
  activeTab: boolean;
344
356
  }>;
345
357
  export interface CmsEditorFieldOptionPlugin extends Plugin {
@@ -403,7 +415,7 @@ export interface CmsModelFieldValidatorPatternPlugin extends Plugin {
403
415
  }
404
416
  export interface FieldLayoutPosition {
405
417
  row: number;
406
- index: number;
418
+ index: number | null;
407
419
  }
408
420
  export interface CmsEditorFormSettingsPlugin extends Plugin {
409
421
  type: "cms-editor-form-settings";
@@ -503,6 +515,11 @@ export interface CmsSecurityPermission extends SecurityPermission {
503
515
  accessLevel?: "full" | "no" | "custom";
504
516
  models?: Record<string, string>;
505
517
  groups?: Record<string, string>;
518
+ endpoints?: string[];
519
+ locales?: string[];
520
+ rwd?: string;
521
+ own?: boolean;
522
+ pw?: string;
506
523
  }
507
524
  export interface CmsCreatedBy {
508
525
  id: string;
@@ -549,4 +566,21 @@ export interface CmsMetaResponse {
549
566
  cursor: string | null;
550
567
  hasMoreItems: boolean;
551
568
  }
569
+ /***
570
+ * ###### FORM ########
571
+ */
572
+ interface BindComponentRenderProp extends BaseBindComponentRenderProp {
573
+ parentName: string;
574
+ appendValue: (value: any) => void;
575
+ prependValue: (value: any) => void;
576
+ appendValues: (values: any[]) => void;
577
+ removeValue: (index: number) => void;
578
+ }
579
+ interface BindComponentProps extends Omit<BaseBindComponentProps, "children" | "name"> {
580
+ name?: string;
581
+ children?: ((props: BindComponentRenderProp) => React.ReactElement) | React.ReactElement;
582
+ }
583
+ export declare type BindComponent = React.FC<BindComponentProps> & {
584
+ parentName?: string;
585
+ };
552
586
  export {};
package/types.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}