@strapi/content-manager 0.0.0-experimental.f56bca7c4d88bc4c61b6de9f65648d857cf242d9 → 0.0.0-experimental.f600e084b864385e72758f0425ff073b2c4f84ee

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 (337) hide show
  1. package/dist/admin/components/ConfigurationForm/Fields.js +300 -204
  2. package/dist/admin/components/ConfigurationForm/Fields.js.map +1 -1
  3. package/dist/admin/components/ConfigurationForm/Fields.mjs +304 -209
  4. package/dist/admin/components/ConfigurationForm/Fields.mjs.map +1 -1
  5. package/dist/admin/components/LeftMenu.js +34 -30
  6. package/dist/admin/components/LeftMenu.js.map +1 -1
  7. package/dist/admin/components/LeftMenu.mjs +36 -32
  8. package/dist/admin/components/LeftMenu.mjs.map +1 -1
  9. package/dist/admin/components/Widgets.js +413 -0
  10. package/dist/admin/components/Widgets.js.map +1 -0
  11. package/dist/admin/components/Widgets.mjs +390 -0
  12. package/dist/admin/components/Widgets.mjs.map +1 -0
  13. package/dist/admin/history/components/VersionContent.js +24 -3
  14. package/dist/admin/history/components/VersionContent.js.map +1 -1
  15. package/dist/admin/history/components/VersionContent.mjs +25 -4
  16. package/dist/admin/history/components/VersionContent.mjs.map +1 -1
  17. package/dist/admin/history/components/VersionHeader.js +6 -0
  18. package/dist/admin/history/components/VersionHeader.js.map +1 -1
  19. package/dist/admin/history/components/VersionHeader.mjs +7 -1
  20. package/dist/admin/history/components/VersionHeader.mjs.map +1 -1
  21. package/dist/admin/hooks/useDocumentActions.js +12 -7
  22. package/dist/admin/hooks/useDocumentActions.js.map +1 -1
  23. package/dist/admin/hooks/useDocumentActions.mjs +13 -8
  24. package/dist/admin/hooks/useDocumentActions.mjs.map +1 -1
  25. package/dist/admin/hooks/useDocumentContext.js.map +1 -1
  26. package/dist/admin/hooks/useDocumentContext.mjs.map +1 -1
  27. package/dist/admin/index.js +81 -5
  28. package/dist/admin/index.js.map +1 -1
  29. package/dist/admin/index.mjs +80 -3
  30. package/dist/admin/index.mjs.map +1 -1
  31. package/dist/admin/layout.js +1 -27
  32. package/dist/admin/layout.js.map +1 -1
  33. package/dist/admin/layout.mjs +2 -9
  34. package/dist/admin/layout.mjs.map +1 -1
  35. package/dist/admin/pages/EditView/EditViewPage.js +97 -75
  36. package/dist/admin/pages/EditView/EditViewPage.js.map +1 -1
  37. package/dist/admin/pages/EditView/EditViewPage.mjs +99 -77
  38. package/dist/admin/pages/EditView/EditViewPage.mjs.map +1 -1
  39. package/dist/admin/pages/EditView/components/DocumentActions.js +289 -91
  40. package/dist/admin/pages/EditView/components/DocumentActions.js.map +1 -1
  41. package/dist/admin/pages/EditView/components/DocumentActions.mjs +293 -95
  42. package/dist/admin/pages/EditView/components/DocumentActions.mjs.map +1 -1
  43. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js +12 -15
  44. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js.map +1 -1
  45. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs +12 -15
  46. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs.map +1 -1
  47. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.js +61 -26
  48. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.js.map +1 -1
  49. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs +63 -28
  50. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs.map +1 -1
  51. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js +21 -35
  52. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js.map +1 -1
  53. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs +21 -35
  54. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs.map +1 -1
  55. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.js +46 -95
  56. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.js.map +1 -1
  57. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs +48 -78
  58. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs.map +1 -1
  59. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js +12 -1
  60. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js.map +1 -1
  61. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs +13 -2
  62. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs.map +1 -1
  63. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js +15 -2
  64. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js.map +1 -1
  65. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs +16 -3
  66. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs.map +1 -1
  67. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js +18 -5
  68. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js.map +1 -1
  69. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs +20 -7
  70. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs.map +1 -1
  71. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js +129 -55
  72. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js.map +1 -1
  73. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs +129 -55
  74. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs.map +1 -1
  75. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js +124 -33
  76. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js.map +1 -1
  77. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs +128 -37
  78. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs.map +1 -1
  79. package/dist/admin/pages/EditView/components/FormInputs/UID.js +4 -2
  80. package/dist/admin/pages/EditView/components/FormInputs/UID.js.map +1 -1
  81. package/dist/admin/pages/EditView/components/FormInputs/UID.mjs +4 -2
  82. package/dist/admin/pages/EditView/components/FormInputs/UID.mjs.map +1 -1
  83. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.js +1 -1
  84. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.js.map +1 -1
  85. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.mjs +1 -1
  86. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.mjs.map +1 -1
  87. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.js +50 -97
  88. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.js.map +1 -1
  89. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.mjs +51 -79
  90. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.mjs.map +1 -1
  91. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.js +86 -118
  92. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.js.map +1 -1
  93. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs +86 -118
  94. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs.map +1 -1
  95. package/dist/admin/pages/EditView/components/FormLayout.js +47 -27
  96. package/dist/admin/pages/EditView/components/FormLayout.js.map +1 -1
  97. package/dist/admin/pages/EditView/components/FormLayout.mjs +47 -27
  98. package/dist/admin/pages/EditView/components/FormLayout.mjs.map +1 -1
  99. package/dist/admin/pages/EditView/utils/data.js +128 -0
  100. package/dist/admin/pages/EditView/utils/data.js.map +1 -1
  101. package/dist/admin/pages/EditView/utils/data.mjs +128 -1
  102. package/dist/admin/pages/EditView/utils/data.mjs.map +1 -1
  103. package/dist/admin/pages/ListView/ListViewPage.js +223 -132
  104. package/dist/admin/pages/ListView/ListViewPage.js.map +1 -1
  105. package/dist/admin/pages/ListView/ListViewPage.mjs +225 -134
  106. package/dist/admin/pages/ListView/ListViewPage.mjs.map +1 -1
  107. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js +2 -1
  108. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js.map +1 -1
  109. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs +2 -1
  110. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs.map +1 -1
  111. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js +12 -2
  112. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js.map +1 -1
  113. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs +12 -2
  114. package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs.map +1 -1
  115. package/dist/admin/pages/ListView/components/Filters.js +4 -1
  116. package/dist/admin/pages/ListView/components/Filters.js.map +1 -1
  117. package/dist/admin/pages/ListView/components/Filters.mjs +4 -1
  118. package/dist/admin/pages/ListView/components/Filters.mjs.map +1 -1
  119. package/dist/admin/pages/ListView/components/TableActions.js +13 -3
  120. package/dist/admin/pages/ListView/components/TableActions.js.map +1 -1
  121. package/dist/admin/pages/ListView/components/TableActions.mjs +13 -3
  122. package/dist/admin/pages/ListView/components/TableActions.mjs.map +1 -1
  123. package/dist/admin/preview/components/PreviewHeader.js +1 -1
  124. package/dist/admin/preview/components/PreviewHeader.js.map +1 -1
  125. package/dist/admin/preview/components/PreviewHeader.mjs +1 -1
  126. package/dist/admin/preview/components/PreviewHeader.mjs.map +1 -1
  127. package/dist/admin/preview/components/PreviewSidePanel.js +31 -4
  128. package/dist/admin/preview/components/PreviewSidePanel.js.map +1 -1
  129. package/dist/admin/preview/components/PreviewSidePanel.mjs +32 -5
  130. package/dist/admin/preview/components/PreviewSidePanel.mjs.map +1 -1
  131. package/dist/admin/preview/pages/Preview.js +136 -35
  132. package/dist/admin/preview/pages/Preview.js.map +1 -1
  133. package/dist/admin/preview/pages/Preview.mjs +137 -36
  134. package/dist/admin/preview/pages/Preview.mjs.map +1 -1
  135. package/dist/admin/preview/utils/constants.js +21 -0
  136. package/dist/admin/preview/utils/constants.js.map +1 -0
  137. package/dist/admin/preview/utils/constants.mjs +19 -0
  138. package/dist/admin/preview/utils/constants.mjs.map +1 -0
  139. package/dist/admin/preview/utils/previewScript.js +28 -0
  140. package/dist/admin/preview/utils/previewScript.js.map +1 -0
  141. package/dist/admin/preview/utils/previewScript.mjs +26 -0
  142. package/dist/admin/preview/utils/previewScript.mjs.map +1 -0
  143. package/dist/admin/services/api.js +4 -1
  144. package/dist/admin/services/api.js.map +1 -1
  145. package/dist/admin/services/api.mjs +4 -1
  146. package/dist/admin/services/api.mjs.map +1 -1
  147. package/dist/admin/services/documents.js +43 -16
  148. package/dist/admin/services/documents.js.map +1 -1
  149. package/dist/admin/services/documents.mjs +43 -16
  150. package/dist/admin/services/documents.mjs.map +1 -1
  151. package/dist/admin/services/homepage.js +30 -0
  152. package/dist/admin/services/homepage.js.map +1 -0
  153. package/dist/admin/services/homepage.mjs +28 -0
  154. package/dist/admin/services/homepage.mjs.map +1 -0
  155. package/dist/admin/src/components/ConfigurationForm/Fields.d.ts +6 -4
  156. package/dist/admin/src/components/Widgets.d.ts +4 -0
  157. package/dist/admin/src/exports.d.ts +1 -0
  158. package/dist/admin/src/history/services/historyVersion.d.ts +1 -1
  159. package/dist/admin/src/hooks/useDocumentActions.d.ts +1 -0
  160. package/dist/admin/src/hooks/useDocumentContext.d.ts +1 -1
  161. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.d.ts +2 -2
  162. package/dist/admin/src/pages/EditView/components/FormInputs/Relations/RelationModal.d.ts +26 -5
  163. package/dist/admin/src/pages/EditView/components/FormInputs/UID.d.ts +1 -0
  164. package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +7 -8
  165. package/dist/admin/src/pages/EditView/utils/data.d.ts +19 -1
  166. package/dist/admin/src/preview/services/preview.d.ts +1 -1
  167. package/dist/admin/src/preview/utils/constants.d.ts +17 -0
  168. package/dist/admin/src/preview/utils/previewScript.d.ts +16 -0
  169. package/dist/admin/src/services/api.d.ts +1 -1
  170. package/dist/admin/src/services/components.d.ts +2 -2
  171. package/dist/admin/src/services/contentTypes.d.ts +3 -3
  172. package/dist/admin/src/services/documents.d.ts +23 -17
  173. package/dist/admin/src/services/homepage.d.ts +5 -0
  174. package/dist/admin/src/services/init.d.ts +1 -1
  175. package/dist/admin/src/services/relations.d.ts +2 -2
  176. package/dist/admin/src/services/uid.d.ts +3 -3
  177. package/dist/admin/src/utils/api.d.ts +1 -1
  178. package/dist/admin/src/utils/validation.d.ts +1 -0
  179. package/dist/admin/translations/en.json.js +9 -1
  180. package/dist/admin/translations/en.json.js.map +1 -1
  181. package/dist/admin/translations/en.json.mjs +9 -1
  182. package/dist/admin/translations/en.json.mjs.map +1 -1
  183. package/dist/admin/translations/es.json.js +5 -2
  184. package/dist/admin/translations/es.json.js.map +1 -1
  185. package/dist/admin/translations/es.json.mjs +5 -2
  186. package/dist/admin/translations/es.json.mjs.map +1 -1
  187. package/dist/admin/translations/fr.json.js +10 -2
  188. package/dist/admin/translations/fr.json.js.map +1 -1
  189. package/dist/admin/translations/fr.json.mjs +10 -2
  190. package/dist/admin/translations/fr.json.mjs.map +1 -1
  191. package/dist/admin/translations/ru.json.js +235 -226
  192. package/dist/admin/translations/ru.json.js.map +1 -1
  193. package/dist/admin/translations/ru.json.mjs +230 -226
  194. package/dist/admin/translations/ru.json.mjs.map +1 -1
  195. package/dist/admin/utils/api.js +1 -1
  196. package/dist/admin/utils/api.js.map +1 -1
  197. package/dist/admin/utils/api.mjs +1 -1
  198. package/dist/admin/utils/api.mjs.map +1 -1
  199. package/dist/admin/utils/validation.js +19 -7
  200. package/dist/admin/utils/validation.js.map +1 -1
  201. package/dist/admin/utils/validation.mjs +19 -7
  202. package/dist/admin/utils/validation.mjs.map +1 -1
  203. package/dist/server/controllers/content-types.js +11 -1
  204. package/dist/server/controllers/content-types.js.map +1 -1
  205. package/dist/server/controllers/content-types.mjs +11 -1
  206. package/dist/server/controllers/content-types.mjs.map +1 -1
  207. package/dist/server/controllers/index.js +3 -1
  208. package/dist/server/controllers/index.js.map +1 -1
  209. package/dist/server/controllers/index.mjs +3 -1
  210. package/dist/server/controllers/index.mjs.map +1 -1
  211. package/dist/server/controllers/relations.js +2 -2
  212. package/dist/server/controllers/relations.js.map +1 -1
  213. package/dist/server/controllers/relations.mjs +2 -2
  214. package/dist/server/controllers/relations.mjs.map +1 -1
  215. package/dist/server/controllers/validation/index.js +14 -2
  216. package/dist/server/controllers/validation/index.js.map +1 -1
  217. package/dist/server/controllers/validation/index.mjs +14 -2
  218. package/dist/server/controllers/validation/index.mjs.map +1 -1
  219. package/dist/server/history/services/lifecycles.js +23 -19
  220. package/dist/server/history/services/lifecycles.js.map +1 -1
  221. package/dist/server/history/services/lifecycles.mjs +23 -19
  222. package/dist/server/history/services/lifecycles.mjs.map +1 -1
  223. package/dist/server/homepage/controllers/homepage.js +62 -0
  224. package/dist/server/homepage/controllers/homepage.js.map +1 -0
  225. package/dist/server/homepage/controllers/homepage.mjs +41 -0
  226. package/dist/server/homepage/controllers/homepage.mjs.map +1 -0
  227. package/dist/server/homepage/controllers/index.js +10 -0
  228. package/dist/server/homepage/controllers/index.js.map +1 -0
  229. package/dist/server/homepage/controllers/index.mjs +8 -0
  230. package/dist/server/homepage/controllers/index.mjs.map +1 -0
  231. package/dist/server/homepage/index.js +14 -0
  232. package/dist/server/homepage/index.js.map +1 -0
  233. package/dist/server/homepage/index.mjs +12 -0
  234. package/dist/server/homepage/index.mjs.map +1 -0
  235. package/dist/server/homepage/routes/homepage.js +36 -0
  236. package/dist/server/homepage/routes/homepage.js.map +1 -0
  237. package/dist/server/homepage/routes/homepage.mjs +34 -0
  238. package/dist/server/homepage/routes/homepage.mjs.map +1 -0
  239. package/dist/server/homepage/routes/index.js +13 -0
  240. package/dist/server/homepage/routes/index.js.map +1 -0
  241. package/dist/server/homepage/routes/index.mjs +11 -0
  242. package/dist/server/homepage/routes/index.mjs.map +1 -0
  243. package/dist/server/homepage/services/homepage.js +197 -0
  244. package/dist/server/homepage/services/homepage.js.map +1 -0
  245. package/dist/server/homepage/services/homepage.mjs +195 -0
  246. package/dist/server/homepage/services/homepage.mjs.map +1 -0
  247. package/dist/server/homepage/services/index.js +10 -0
  248. package/dist/server/homepage/services/index.js.map +1 -0
  249. package/dist/server/homepage/services/index.mjs +8 -0
  250. package/dist/server/homepage/services/index.mjs.map +1 -0
  251. package/dist/server/preview/services/preview-config.js +5 -1
  252. package/dist/server/preview/services/preview-config.js.map +1 -1
  253. package/dist/server/preview/services/preview-config.mjs +5 -1
  254. package/dist/server/preview/services/preview-config.mjs.map +1 -1
  255. package/dist/server/preview/services/preview.js +4 -1
  256. package/dist/server/preview/services/preview.js.map +1 -1
  257. package/dist/server/preview/services/preview.mjs +4 -1
  258. package/dist/server/preview/services/preview.mjs.map +1 -1
  259. package/dist/server/routes/index.js +3 -1
  260. package/dist/server/routes/index.js.map +1 -1
  261. package/dist/server/routes/index.mjs +3 -1
  262. package/dist/server/routes/index.mjs.map +1 -1
  263. package/dist/server/services/data-mapper.js +4 -1
  264. package/dist/server/services/data-mapper.js.map +1 -1
  265. package/dist/server/services/data-mapper.mjs +4 -1
  266. package/dist/server/services/data-mapper.mjs.map +1 -1
  267. package/dist/server/services/document-manager.js +8 -1
  268. package/dist/server/services/document-manager.js.map +1 -1
  269. package/dist/server/services/document-manager.mjs +8 -1
  270. package/dist/server/services/document-manager.mjs.map +1 -1
  271. package/dist/server/services/document-metadata.js +3 -1
  272. package/dist/server/services/document-metadata.js.map +1 -1
  273. package/dist/server/services/document-metadata.mjs +3 -1
  274. package/dist/server/services/document-metadata.mjs.map +1 -1
  275. package/dist/server/services/index.js +3 -1
  276. package/dist/server/services/index.js.map +1 -1
  277. package/dist/server/services/index.mjs +3 -1
  278. package/dist/server/services/index.mjs.map +1 -1
  279. package/dist/server/services/utils/configuration/attributes.js +1 -1
  280. package/dist/server/services/utils/configuration/attributes.js.map +1 -1
  281. package/dist/server/services/utils/configuration/attributes.mjs +1 -1
  282. package/dist/server/services/utils/configuration/attributes.mjs.map +1 -1
  283. package/dist/server/services/utils/configuration/layouts.js +1 -1
  284. package/dist/server/services/utils/configuration/layouts.js.map +1 -1
  285. package/dist/server/services/utils/configuration/layouts.mjs +1 -1
  286. package/dist/server/services/utils/configuration/layouts.mjs.map +1 -1
  287. package/dist/server/services/utils/configuration/metadatas.js +8 -0
  288. package/dist/server/services/utils/configuration/metadatas.js.map +1 -1
  289. package/dist/server/services/utils/configuration/metadatas.mjs +8 -0
  290. package/dist/server/services/utils/configuration/metadatas.mjs.map +1 -1
  291. package/dist/server/services/utils/populate.js +11 -0
  292. package/dist/server/services/utils/populate.js.map +1 -1
  293. package/dist/server/services/utils/populate.mjs +11 -0
  294. package/dist/server/services/utils/populate.mjs.map +1 -1
  295. package/dist/server/src/controllers/content-types.d.ts.map +1 -1
  296. package/dist/server/src/controllers/index.d.ts.map +1 -1
  297. package/dist/server/src/controllers/validation/index.d.ts +6 -1
  298. package/dist/server/src/controllers/validation/index.d.ts.map +1 -1
  299. package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
  300. package/dist/server/src/homepage/controllers/homepage.d.ts +8 -0
  301. package/dist/server/src/homepage/controllers/homepage.d.ts.map +1 -0
  302. package/dist/server/src/homepage/controllers/index.d.ts +2 -0
  303. package/dist/server/src/homepage/controllers/index.d.ts.map +1 -0
  304. package/dist/server/src/homepage/index.d.ts +23 -0
  305. package/dist/server/src/homepage/index.d.ts.map +1 -0
  306. package/dist/server/src/homepage/routes/homepage.d.ts +4 -0
  307. package/dist/server/src/homepage/routes/homepage.d.ts.map +1 -0
  308. package/dist/server/src/homepage/routes/index.d.ts +8 -0
  309. package/dist/server/src/homepage/routes/index.d.ts.map +1 -0
  310. package/dist/server/src/homepage/services/homepage.d.ts +14 -0
  311. package/dist/server/src/homepage/services/homepage.d.ts.map +1 -0
  312. package/dist/server/src/homepage/services/index.d.ts +16 -0
  313. package/dist/server/src/homepage/services/index.d.ts.map +1 -0
  314. package/dist/server/src/index.d.ts +15 -0
  315. package/dist/server/src/index.d.ts.map +1 -1
  316. package/dist/server/src/preview/services/index.d.ts +1 -0
  317. package/dist/server/src/preview/services/index.d.ts.map +1 -1
  318. package/dist/server/src/preview/services/preview-config.d.ts +1 -0
  319. package/dist/server/src/preview/services/preview-config.d.ts.map +1 -1
  320. package/dist/server/src/preview/services/preview.d.ts.map +1 -1
  321. package/dist/server/src/preview/utils.d.ts +1 -0
  322. package/dist/server/src/preview/utils.d.ts.map +1 -1
  323. package/dist/server/src/routes/index.d.ts +1 -0
  324. package/dist/server/src/routes/index.d.ts.map +1 -1
  325. package/dist/server/src/services/data-mapper.d.ts +1 -0
  326. package/dist/server/src/services/data-mapper.d.ts.map +1 -1
  327. package/dist/server/src/services/document-manager.d.ts.map +1 -1
  328. package/dist/server/src/services/document-metadata.d.ts.map +1 -1
  329. package/dist/server/src/services/index.d.ts +14 -0
  330. package/dist/server/src/services/index.d.ts.map +1 -1
  331. package/dist/server/src/services/utils/configuration/metadatas.d.ts.map +1 -1
  332. package/dist/server/src/services/utils/populate.d.ts.map +1 -1
  333. package/dist/shared/contracts/collection-types.d.ts +0 -1
  334. package/dist/shared/contracts/collection-types.d.ts.map +1 -1
  335. package/dist/shared/contracts/homepage.d.ts +38 -0
  336. package/dist/shared/contracts/homepage.d.ts.map +1 -0
  337. package/package.json +11 -9
@@ -6,9 +6,11 @@ var strapiAdmin = require('@strapi/admin/strapi-admin');
6
6
  var designSystem = require('@strapi/design-system');
7
7
  var Icons = require('@strapi/icons');
8
8
  var mapValues = require('lodash/fp/mapValues');
9
+ var get = require('lodash/get');
10
+ var merge = require('lodash/merge');
11
+ var set = require('lodash/set');
9
12
  var reactIntl = require('react-intl');
10
13
  var reactRouterDom = require('react-router-dom');
11
- var styledComponents = require('styled-components');
12
14
  var attributes = require('../../../constants/attributes.js');
13
15
  var collections = require('../../../constants/collections.js');
14
16
  var DocumentRBAC = require('../../../features/DocumentRBAC.js');
@@ -20,6 +22,8 @@ var router = require('../../../router.js');
20
22
  var documents = require('../../../services/documents.js');
21
23
  var api = require('../../../utils/api.js');
22
24
  var translations = require('../../../utils/translations.js');
25
+ var data = require('../utils/data.js');
26
+ var RelationModal = require('./FormInputs/Relations/RelationModal.js');
23
27
 
24
28
  function _interopNamespaceDefault(e) {
25
29
  var n = Object.create(null);
@@ -40,6 +44,38 @@ function _interopNamespaceDefault(e) {
40
44
 
41
45
  var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
42
46
 
47
+ const connectRelationToParent = (parentDataToUpdate, fieldToConnect, data, fieldToConnectUID)=>{
48
+ /*
49
+ * Check if the fieldToConnect is already present in the parentDataToUpdate.
50
+ * This happens in particular when in the parentDocument you have created
51
+ * a new component without saving.
52
+ */ const isFieldPresent = !!get(parentDataToUpdate, fieldToConnect);
53
+ const fieldToConnectPath = isFieldPresent ? fieldToConnect : fieldToConnect.split('.').slice(0, -1).join('.');
54
+ const fieldToConnectValue = isFieldPresent ? {
55
+ connect: [
56
+ {
57
+ id: data.documentId,
58
+ documentId: data.documentId,
59
+ locale: data.locale
60
+ }
61
+ ]
62
+ } : {
63
+ [fieldToConnect.split('.').pop()]: {
64
+ connect: [
65
+ {
66
+ id: data.documentId,
67
+ documentId: data.documentId,
68
+ locale: data.locale
69
+ }
70
+ ],
71
+ disconnect: []
72
+ },
73
+ // In case the object was not present you need to pass the componentUID of the parent document
74
+ __component: fieldToConnectUID
75
+ };
76
+ const objectToConnect = set({}, fieldToConnectPath, fieldToConnectValue);
77
+ return merge(parentDataToUpdate, objectToConnect);
78
+ };
43
79
  const DocumentActions = ({ actions })=>{
44
80
  const { formatMessage } = reactIntl.useIntl();
45
81
  const [primaryAction, secondaryAction, ...restActions] = actions.filter((action)=>{
@@ -60,23 +96,33 @@ const DocumentActions = ({ actions })=>{
60
96
  alignItems: "stretch",
61
97
  width: "100%",
62
98
  children: [
63
- /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
64
- gap: 2,
65
- children: [
66
- /*#__PURE__*/ jsxRuntime.jsx(DocumentActionButton, {
67
- ...primaryAction,
68
- variant: primaryAction.variant || 'default'
69
- }),
70
- restActions.length > 0 ? /*#__PURE__*/ jsxRuntime.jsx(DocumentActionsMenu, {
71
- actions: restActions,
72
- label: formatMessage({
73
- id: 'content-manager.containers.edit.panels.default.more-actions',
74
- defaultMessage: 'More document actions'
75
- })
76
- }) : null
77
- ]
99
+ /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.tours.contentManager.Publish, {
100
+ children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
101
+ gap: 2,
102
+ children: [
103
+ primaryAction.label === 'Publish' ? /*#__PURE__*/ jsxRuntime.jsx(DocumentActionButton, {
104
+ ...primaryAction,
105
+ variant: primaryAction.variant || 'default'
106
+ }) : /*#__PURE__*/ jsxRuntime.jsx(DocumentActionButton, {
107
+ ...primaryAction,
108
+ variant: primaryAction.variant || 'default'
109
+ }),
110
+ restActions.length > 0 ? /*#__PURE__*/ jsxRuntime.jsx(DocumentActionsMenu, {
111
+ actions: restActions,
112
+ label: formatMessage({
113
+ id: 'content-manager.containers.edit.panels.default.more-actions',
114
+ defaultMessage: 'More document actions'
115
+ })
116
+ }) : null
117
+ ]
118
+ })
78
119
  }),
79
- secondaryAction ? /*#__PURE__*/ jsxRuntime.jsx(DocumentActionButton, {
120
+ secondaryAction ? secondaryAction.label === 'Publish' ? /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.tours.contentManager.Publish, {
121
+ children: /*#__PURE__*/ jsxRuntime.jsx(DocumentActionButton, {
122
+ ...secondaryAction,
123
+ variant: secondaryAction.variant || 'secondary'
124
+ })
125
+ }) : /*#__PURE__*/ jsxRuntime.jsx(DocumentActionButton, {
80
126
  ...secondaryAction,
81
127
  variant: secondaryAction.variant || 'secondary'
82
128
  }) : null
@@ -138,11 +184,6 @@ const DocumentActionButton = (action)=>{
138
184
  ]
139
185
  });
140
186
  };
141
- const MenuItem = styledComponents.styled(designSystem.Menu.Item)`
142
- &:hover {
143
- background: ${({ theme, isVariantDanger, isDisabled })=>isVariantDanger && !isDisabled ? theme.colors.danger100 : 'neutral'};
144
- }
145
- `;
146
187
  const DocumentActionsMenu = ({ actions, children, label, variant = 'tertiary' })=>{
147
188
  const [isOpen, setIsOpen] = React__namespace.useState(false);
148
189
  const [dialogId, setDialogId] = React__namespace.useState(null);
@@ -204,27 +245,19 @@ const DocumentActionsMenu = ({ actions, children, label, variant = 'tertiary' })
204
245
  popoverPlacement: "bottom-end",
205
246
  children: [
206
247
  actions.map((action)=>{
207
- return /*#__PURE__*/ jsxRuntime.jsx(MenuItem, {
248
+ return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Menu.Item, {
208
249
  disabled: action.disabled,
209
250
  /* @ts-expect-error – TODO: this is an error in the DS where it is most likely a synthetic event, not regular. */ onSelect: handleClick(action),
210
251
  display: "block",
211
- isVariantDanger: action.variant === 'danger',
212
- isDisabled: action.disabled,
252
+ variant: action.variant === 'danger' ? action.variant : 'default',
253
+ startIcon: action.icon,
213
254
  children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
214
255
  justifyContent: "space-between",
215
256
  gap: 4,
216
- children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
217
- color: !action.disabled ? convertActionVariantToColor(action.variant) : 'inherit',
257
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
218
258
  gap: 2,
219
259
  tag: "span",
220
- children: [
221
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
222
- tag: "span",
223
- color: !action.disabled ? convertActionVariantToIconColor(action.variant) : 'inherit',
224
- children: action.icon
225
- }),
226
- action.label
227
- ]
260
+ children: action.label
228
261
  })
229
262
  })
230
263
  }, action.id);
@@ -252,30 +285,6 @@ const DocumentActionsMenu = ({ actions, children, label, variant = 'tertiary' })
252
285
  ]
253
286
  });
254
287
  };
255
- const convertActionVariantToColor = (variant = 'secondary')=>{
256
- switch(variant){
257
- case 'danger':
258
- return 'danger600';
259
- case 'secondary':
260
- return undefined;
261
- case 'success':
262
- return 'success600';
263
- default:
264
- return 'primary600';
265
- }
266
- };
267
- const convertActionVariantToIconColor = (variant = 'secondary')=>{
268
- switch(variant){
269
- case 'danger':
270
- return 'danger600';
271
- case 'secondary':
272
- return 'neutral500';
273
- case 'success':
274
- return 'success600';
275
- default:
276
- return 'primary600';
277
- }
278
- };
279
288
  const DocumentActionConfirmDialog = ({ onClose, onCancel, onConfirm, title, content, isOpen, variant = 'secondary', loading })=>{
280
289
  const { formatMessage } = reactIntl.useIntl();
281
290
  const handleClose = async ()=>{
@@ -381,7 +390,10 @@ const transformData = (data)=>{
381
390
  const isCloning = reactRouterDom.useMatch(router.CLONE_PATH) !== null;
382
391
  const { id } = reactRouterDom.useParams();
383
392
  const { formatMessage } = reactIntl.useIntl();
384
- const canPublish = DocumentRBAC.useDocumentRBAC('PublishAction', ({ canPublish })=>canPublish);
393
+ const { canPublish, canReadFields } = DocumentRBAC.useDocumentRBAC('PublishAction', ({ canPublish, canReadFields })=>({
394
+ canPublish,
395
+ canReadFields
396
+ }));
385
397
  const { publish, isLoading } = useDocumentActions.useDocumentActions();
386
398
  const onPreview = Preview.usePreviewContext('UpdateAction', (state)=>state.onPreview, false);
387
399
  const [countDraftRelations, { isLoading: isLoadingDraftRelations, isError: isErrorDraftRelations }] = documents.useGetDraftRelationCountQuery();
@@ -395,7 +407,18 @@ const transformData = (data)=>{
395
407
  const setErrors = strapiAdmin.useForm('PublishAction', (state)=>state.setErrors);
396
408
  const formValues = strapiAdmin.useForm('PublishAction', ({ values })=>values);
397
409
  const resetForm = strapiAdmin.useForm('PublishAction', ({ resetForm })=>resetForm);
410
+ const { currentDocument: { components } } = useDocumentContext.useDocumentContext('PublishAction');
411
+ // need to discriminate if the publish is coming from a relation modal or in the edit view
412
+ const relationContext = RelationModal.useRelationModal('PublishAction', ()=>true, false);
413
+ const fromRelationModal = relationContext != undefined;
414
+ const dispatch = RelationModal.useRelationModal('PublishAction', (state)=>state.dispatch);
415
+ const fieldToConnect = RelationModal.useRelationModal('PublishAction', (state)=>state.state.fieldToConnect, false);
416
+ const fieldToConnectUID = RelationModal.useRelationModal('PublishAction', (state)=>state.state.fieldToConnectUID, false);
417
+ const documentHistory = RelationModal.useRelationModal('PublishAction', (state)=>state.state.documentHistory, false);
418
+ const rootDocumentMeta = RelationModal.useRelationModal('PublishAction', (state)=>state.rootDocumentMeta);
398
419
  const { currentDocumentMeta } = useDocumentContext.useDocumentContext('PublishAction');
420
+ const [updateDocumentMutation] = documents.useUpdateDocumentMutation();
421
+ const { _unstableFormatAPIError: formatAPIError } = strapiAdmin.useAPIErrorHandler();
399
422
  const idToPublish = currentDocumentMeta.documentId || id;
400
423
  React__namespace.useEffect(()=>{
401
424
  if (isErrorDraftRelations) {
@@ -479,6 +502,16 @@ const transformData = (data)=>{
479
502
  model,
480
503
  currentDocumentMeta.params
481
504
  ]);
505
+ const parentDocumentMetaToUpdate = documentHistory?.at(-2) ?? rootDocumentMeta;
506
+ const parentDocumentData = useDocument.useDocument({
507
+ documentId: parentDocumentMetaToUpdate?.documentId,
508
+ model: parentDocumentMetaToUpdate?.model,
509
+ collectionType: parentDocumentMetaToUpdate?.collectionType,
510
+ params: parentDocumentMetaToUpdate?.params
511
+ }, {
512
+ skip: !parentDocumentMetaToUpdate
513
+ });
514
+ const { getInitialFormValues } = useDocument.useDoc();
482
515
  const isDocumentPublished = (document?.[attributes.PUBLISHED_AT_ATTRIBUTE_NAME] || meta?.availableStatus.some((doc)=>doc[attributes.PUBLISHED_AT_ATTRIBUTE_NAME] !== null)) && document?.status !== 'modified';
483
516
  if (!schema?.options?.draftAndPublish) {
484
517
  return null;
@@ -490,21 +523,39 @@ const transformData = (data)=>{
490
523
  status: 'published'
491
524
  });
492
525
  if (errors) {
493
- toggleNotification({
494
- type: 'danger',
495
- message: formatMessage({
496
- id: 'content-manager.validation.error',
497
- defaultMessage: 'There are validation errors in your document. Please fix them before saving.'
498
- })
526
+ const hasUnreadableRequiredField = Object.keys(schema.attributes).some((fieldName)=>{
527
+ const attribute = schema.attributes[fieldName];
528
+ return attribute?.required && !(canReadFields ?? []).includes(fieldName);
499
529
  });
530
+ if (hasUnreadableRequiredField) {
531
+ toggleNotification({
532
+ type: 'danger',
533
+ message: formatMessage({
534
+ id: 'content-manager.validation.error.unreadable-required-field',
535
+ defaultMessage: 'Your current permissions prevent access to certain required fields. Please request access from an administrator to proceed.'
536
+ })
537
+ });
538
+ } else {
539
+ toggleNotification({
540
+ type: 'danger',
541
+ message: formatMessage({
542
+ id: 'content-manager.validation.error',
543
+ defaultMessage: 'There are validation errors in your document. Please fix them before saving.'
544
+ })
545
+ });
546
+ }
500
547
  return;
501
548
  }
549
+ const { data: data$1 } = data.handleInvisibleAttributes(transformData(formValues), {
550
+ schema,
551
+ components
552
+ });
502
553
  const res = await publish({
503
554
  collectionType,
504
555
  model,
505
556
  documentId,
506
557
  params: currentDocumentMeta.params
507
- }, transformData(formValues));
558
+ }, data$1);
508
559
  // Reset form if successful
509
560
  if ('data' in res) {
510
561
  resetForm();
@@ -512,11 +563,59 @@ const transformData = (data)=>{
512
563
  if ('data' in res && collectionType !== collections.SINGLE_TYPES) {
513
564
  /**
514
565
  * TODO: refactor the router so we can just do `../${res.data.documentId}` instead of this.
515
- */ if (idToPublish === 'create') {
566
+ */ if (idToPublish === 'create' && !fromRelationModal) {
516
567
  navigate({
517
568
  pathname: `../${collectionType}/${model}/${res.data.documentId}`,
518
569
  search: rawQuery
519
570
  });
571
+ } else if (fromRelationModal) {
572
+ const newRelation = {
573
+ documentId: res.data.documentId,
574
+ collectionType,
575
+ model,
576
+ params: currentDocumentMeta.params
577
+ };
578
+ /*
579
+ * Update, if needed, the parent relation with the newly published document.
580
+ * Check if in history we have the parent relation otherwise use the
581
+ * rootDocument
582
+ */ if (fieldToConnect && documentHistory && (parentDocumentMetaToUpdate.documentId || parentDocumentMetaToUpdate.collectionType === collections.SINGLE_TYPES)) {
583
+ const parentDataToUpdate = parentDocumentMetaToUpdate.collectionType === collections.SINGLE_TYPES ? getInitialFormValues() : parentDocumentData.getInitialFormValues();
584
+ const metaDocumentToUpdate = documentHistory.at(-2) ?? rootDocumentMeta;
585
+ const dataToUpdate = connectRelationToParent(parentDataToUpdate, fieldToConnect, res.data, fieldToConnectUID);
586
+ try {
587
+ const updateRes = await updateDocumentMutation({
588
+ collectionType: metaDocumentToUpdate.collectionType,
589
+ model: metaDocumentToUpdate.model,
590
+ documentId: metaDocumentToUpdate.collectionType !== collections.SINGLE_TYPES ? metaDocumentToUpdate.documentId : undefined,
591
+ params: metaDocumentToUpdate.params,
592
+ data: dataToUpdate
593
+ });
594
+ if ('error' in updateRes) {
595
+ toggleNotification({
596
+ type: 'danger',
597
+ message: formatAPIError(updateRes.error)
598
+ });
599
+ return;
600
+ }
601
+ } catch (err) {
602
+ toggleNotification({
603
+ type: 'danger',
604
+ message: formatMessage({
605
+ id: 'notification.error',
606
+ defaultMessage: 'An error occurred'
607
+ })
608
+ });
609
+ throw err;
610
+ }
611
+ }
612
+ dispatch({
613
+ type: 'GO_TO_CREATED_RELATION',
614
+ payload: {
615
+ document: newRelation,
616
+ shouldBypassConfirmation: true
617
+ }
618
+ });
520
619
  }
521
620
  } else if ('error' in res && api.isBaseQueryError(res.error) && res.error.name === 'ValidationError') {
522
621
  setErrors(formatValidationErrors(res.error));
@@ -590,16 +689,40 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
590
689
  const isCloning = cloneMatch !== null;
591
690
  const { formatMessage } = reactIntl.useIntl();
592
691
  const { create, update, clone, isLoading } = useDocumentActions.useDocumentActions();
692
+ const { currentDocument: { components } } = useDocumentContext.useDocumentContext('UpdateAction');
593
693
  const [{ rawQuery }] = strapiAdmin.useQueryParams();
594
694
  const onPreview = Preview.usePreviewContext('UpdateAction', (state)=>state.onPreview, false);
695
+ const { getInitialFormValues } = useDocument.useDoc();
595
696
  const isSubmitting = strapiAdmin.useForm('UpdateAction', ({ isSubmitting })=>isSubmitting);
596
697
  const modified = strapiAdmin.useForm('UpdateAction', ({ modified })=>modified);
597
698
  const setSubmitting = strapiAdmin.useForm('UpdateAction', ({ setSubmitting })=>setSubmitting);
699
+ const initialValues = strapiAdmin.useForm('UpdateAction', ({ initialValues })=>initialValues);
598
700
  const document = strapiAdmin.useForm('UpdateAction', ({ values })=>values);
599
701
  const validate = strapiAdmin.useForm('UpdateAction', (state)=>state.validate);
600
702
  const setErrors = strapiAdmin.useForm('UpdateAction', (state)=>state.setErrors);
601
- const resetForm = strapiAdmin.useForm('PublishAction', ({ resetForm })=>resetForm);
703
+ const resetForm = strapiAdmin.useForm('UpdateAction', ({ resetForm })=>resetForm);
704
+ const dispatch = RelationModal.useRelationModal('UpdateAction', (state)=>state.dispatch);
705
+ // need to discriminate if the update is coming from a relation modal or in the edit view
706
+ const relationContext = RelationModal.useRelationModal('UpdateAction', ()=>true, false);
707
+ const relationalModalSchema = RelationModal.useRelationModal('UpdateAction', (state)=>state.currentDocument.schema, false);
708
+ const fieldToConnect = RelationModal.useRelationModal('UpdateAction', (state)=>state.state.fieldToConnect, false);
709
+ const fieldToConnectUID = RelationModal.useRelationModal('PublishAction', (state)=>state.state.fieldToConnectUID, false);
710
+ const documentHistory = RelationModal.useRelationModal('UpdateAction', (state)=>state.state.documentHistory, false);
711
+ const rootDocumentMeta = RelationModal.useRelationModal('UpdateAction', (state)=>state.rootDocumentMeta);
712
+ const fromRelationModal = relationContext != undefined;
602
713
  const { currentDocumentMeta } = useDocumentContext.useDocumentContext('UpdateAction');
714
+ const [updateDocumentMutation] = documents.useUpdateDocumentMutation();
715
+ const { _unstableFormatAPIError: formatAPIError } = strapiAdmin.useAPIErrorHandler();
716
+ const parentDocumentMetaToUpdate = documentHistory?.at(-2) ?? rootDocumentMeta;
717
+ const parentDocumentData = useDocument.useDocument({
718
+ documentId: parentDocumentMetaToUpdate?.documentId,
719
+ model: parentDocumentMetaToUpdate?.model,
720
+ collectionType: parentDocumentMetaToUpdate?.collectionType,
721
+ params: parentDocumentMetaToUpdate?.params
722
+ }, {
723
+ skip: !parentDocumentMetaToUpdate
724
+ });
725
+ const { schema } = useDocument.useDoc();
603
726
  const handleUpdate = React__namespace.useCallback(async ()=>{
604
727
  setSubmitting(true);
605
728
  try {
@@ -636,30 +759,91 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
636
759
  setErrors(formatValidationErrors(res.error));
637
760
  }
638
761
  } else if (documentId || collectionType === collections.SINGLE_TYPES) {
762
+ const { data: data$1 } = data.handleInvisibleAttributes(transformData(document), {
763
+ schema: fromRelationModal ? relationalModalSchema : schema,
764
+ initialValues,
765
+ components
766
+ });
639
767
  const res = await update({
640
768
  collectionType,
641
769
  model,
642
770
  documentId,
643
771
  params: currentDocumentMeta.params
644
- }, transformData(document));
772
+ }, data$1);
645
773
  if ('error' in res && api.isBaseQueryError(res.error) && res.error.name === 'ValidationError') {
646
774
  setErrors(formatValidationErrors(res.error));
647
775
  } else {
648
776
  resetForm();
649
777
  }
650
778
  } else {
779
+ const { data: data$1 } = data.handleInvisibleAttributes(transformData(document), {
780
+ schema: fromRelationModal ? relationalModalSchema : schema,
781
+ initialValues,
782
+ components
783
+ });
651
784
  const res = await create({
652
785
  model,
653
786
  params: currentDocumentMeta.params
654
- }, transformData(document));
787
+ }, data$1);
655
788
  if ('data' in res && collectionType !== collections.SINGLE_TYPES) {
656
- navigate({
657
- pathname: `../${res.data.documentId}`,
658
- search: rawQuery
659
- }, {
660
- replace: true,
661
- relative: 'path'
662
- });
789
+ if (fromRelationModal) {
790
+ const createdRelation = {
791
+ documentId: res.data.documentId,
792
+ collectionType,
793
+ model,
794
+ params: currentDocumentMeta.params
795
+ };
796
+ /*
797
+ * Update, if needed, the parent relation with the newly published document.
798
+ * Check if in history we have the parent relation otherwise use the
799
+ * rootDocument
800
+ */ if (fieldToConnect && documentHistory && (parentDocumentMetaToUpdate.documentId || parentDocumentMetaToUpdate.collectionType === collections.SINGLE_TYPES)) {
801
+ const parentDataToUpdate = parentDocumentMetaToUpdate.collectionType === collections.SINGLE_TYPES ? getInitialFormValues() : parentDocumentData.getInitialFormValues();
802
+ const dataToUpdate = connectRelationToParent(parentDataToUpdate, fieldToConnect, res.data, fieldToConnectUID);
803
+ try {
804
+ const updateRes = await updateDocumentMutation({
805
+ collectionType: parentDocumentMetaToUpdate.collectionType,
806
+ model: parentDocumentMetaToUpdate.model,
807
+ documentId: parentDocumentMetaToUpdate.collectionType !== collections.SINGLE_TYPES ? parentDocumentMetaToUpdate.documentId : undefined,
808
+ params: parentDocumentMetaToUpdate.params,
809
+ data: {
810
+ ...dataToUpdate
811
+ }
812
+ });
813
+ if ('error' in updateRes) {
814
+ toggleNotification({
815
+ type: 'danger',
816
+ message: formatAPIError(updateRes.error)
817
+ });
818
+ return;
819
+ }
820
+ } catch (err) {
821
+ toggleNotification({
822
+ type: 'danger',
823
+ message: formatMessage({
824
+ id: 'notification.error',
825
+ defaultMessage: 'An error occurred'
826
+ })
827
+ });
828
+ throw err;
829
+ }
830
+ }
831
+ dispatch({
832
+ type: 'GO_TO_CREATED_RELATION',
833
+ payload: {
834
+ document: createdRelation,
835
+ shouldBypassConfirmation: true
836
+ }
837
+ });
838
+ } else {
839
+ navigate({
840
+ pathname: `../${res.data.documentId}`,
841
+ search: rawQuery
842
+ }, {
843
+ replace: true,
844
+ relative: 'path'
845
+ });
846
+ }
663
847
  } else if ('error' in res && api.isBaseQueryError(res.error) && res.error.name === 'ValidationError') {
664
848
  setErrors(formatValidationErrors(res.error));
665
849
  }
@@ -671,27 +855,41 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
671
855
  }
672
856
  }
673
857
  }, [
858
+ setSubmitting,
859
+ modified,
860
+ validate,
861
+ isCloning,
862
+ documentId,
863
+ collectionType,
864
+ toggleNotification,
865
+ formatMessage,
674
866
  clone,
867
+ model,
675
868
  cloneMatch?.params.origin,
676
- collectionType,
677
- create,
678
869
  currentDocumentMeta.params,
679
870
  document,
680
- documentId,
681
- formatMessage,
682
- formatValidationErrors,
683
- isCloning,
684
- model,
685
- modified,
686
871
  navigate,
687
872
  rawQuery,
688
- resetForm,
689
873
  setErrors,
690
- setSubmitting,
691
- toggleNotification,
874
+ formatValidationErrors,
692
875
  update,
693
- validate,
694
- onPreview
876
+ resetForm,
877
+ create,
878
+ fromRelationModal,
879
+ fieldToConnect,
880
+ documentHistory,
881
+ parentDocumentMetaToUpdate,
882
+ dispatch,
883
+ getInitialFormValues,
884
+ parentDocumentData,
885
+ fieldToConnectUID,
886
+ updateDocumentMutation,
887
+ formatAPIError,
888
+ onPreview,
889
+ initialValues,
890
+ schema,
891
+ components,
892
+ relationalModalSchema
695
893
  ]);
696
894
  // Auto-save on CMD+S or CMD+Enter on macOS, and CTRL+S or CTRL+Enter on Windows/Linux
697
895
  React__namespace.useEffect(()=>{