@strapi/content-type-builder 5.13.1 → 5.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (510) hide show
  1. package/dist/admin/components/AttributeIcon.js +1 -0
  2. package/dist/admin/components/AttributeIcon.js.map +1 -1
  3. package/dist/admin/components/AttributeIcon.mjs +1 -0
  4. package/dist/admin/components/AttributeIcon.mjs.map +1 -1
  5. package/dist/admin/components/AttributeOptions/AttributeOption.js +1 -1
  6. package/dist/admin/components/AttributeOptions/AttributeOption.js.map +1 -1
  7. package/dist/admin/components/AttributeOptions/AttributeOption.mjs +1 -1
  8. package/dist/admin/components/AttributeOptions/AttributeOption.mjs.map +1 -1
  9. package/dist/admin/components/AttributeOptions/CustomFieldOption.js +1 -1
  10. package/dist/admin/components/AttributeOptions/CustomFieldOption.js.map +1 -1
  11. package/dist/admin/components/AttributeOptions/CustomFieldOption.mjs +1 -1
  12. package/dist/admin/components/AttributeOptions/CustomFieldOption.mjs.map +1 -1
  13. package/dist/admin/components/AttributeRow.js +342 -0
  14. package/dist/admin/components/AttributeRow.js.map +1 -0
  15. package/dist/admin/components/AttributeRow.mjs +339 -0
  16. package/dist/admin/components/AttributeRow.mjs.map +1 -0
  17. package/dist/admin/components/AutoReloadOverlayBlocker.js +5 -2
  18. package/dist/admin/components/AutoReloadOverlayBlocker.js.map +1 -1
  19. package/dist/admin/components/AutoReloadOverlayBlocker.mjs +5 -2
  20. package/dist/admin/components/AutoReloadOverlayBlocker.mjs.map +1 -1
  21. package/dist/admin/components/ComponentCard/ComponentCard.js +13 -11
  22. package/dist/admin/components/ComponentCard/ComponentCard.js.map +1 -1
  23. package/dist/admin/components/ComponentCard/ComponentCard.mjs +13 -11
  24. package/dist/admin/components/ComponentCard/ComponentCard.mjs.map +1 -1
  25. package/dist/admin/components/ComponentList.js +12 -26
  26. package/dist/admin/components/ComponentList.js.map +1 -1
  27. package/dist/admin/components/ComponentList.mjs +12 -26
  28. package/dist/admin/components/ComponentList.mjs.map +1 -1
  29. package/dist/admin/components/{Tr.js → ComponentRow.js} +9 -15
  30. package/dist/admin/components/ComponentRow.js.map +1 -0
  31. package/dist/admin/components/{Tr.mjs → ComponentRow.mjs} +9 -15
  32. package/dist/admin/components/ComponentRow.mjs.map +1 -0
  33. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.js +253 -70
  34. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.js.map +1 -1
  35. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.mjs +256 -73
  36. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.mjs.map +1 -1
  37. package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.js +53 -81
  38. package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.js.map +1 -1
  39. package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.mjs +54 -82
  40. package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.mjs.map +1 -1
  41. package/dist/admin/components/DataManager/DataManagerContext.js.map +1 -0
  42. package/dist/admin/components/DataManager/DataManagerContext.mjs.map +1 -0
  43. package/dist/admin/components/DataManager/DataManagerProvider.js +344 -0
  44. package/dist/admin/components/DataManager/DataManagerProvider.js.map +1 -0
  45. package/dist/admin/components/DataManager/DataManagerProvider.mjs +323 -0
  46. package/dist/admin/components/DataManager/DataManagerProvider.mjs.map +1 -0
  47. package/dist/admin/components/DataManager/reducer.js +546 -0
  48. package/dist/admin/components/DataManager/reducer.js.map +1 -0
  49. package/dist/admin/components/DataManager/reducer.mjs +542 -0
  50. package/dist/admin/components/DataManager/reducer.mjs.map +1 -0
  51. package/dist/admin/components/DataManager/undoRedo.js +102 -0
  52. package/dist/admin/components/DataManager/undoRedo.js.map +1 -0
  53. package/dist/admin/components/DataManager/undoRedo.mjs +100 -0
  54. package/dist/admin/components/DataManager/undoRedo.mjs.map +1 -0
  55. package/dist/admin/{hooks → components/DataManager}/useDataManager.js +1 -1
  56. package/dist/admin/components/DataManager/useDataManager.js.map +1 -0
  57. package/dist/admin/{hooks → components/DataManager}/useDataManager.mjs +1 -1
  58. package/dist/admin/components/DataManager/useDataManager.mjs.map +1 -0
  59. package/dist/admin/components/DataManager/useServerRestartWatcher.js +35 -0
  60. package/dist/admin/components/DataManager/useServerRestartWatcher.js.map +1 -0
  61. package/dist/admin/components/DataManager/useServerRestartWatcher.mjs +33 -0
  62. package/dist/admin/components/DataManager/useServerRestartWatcher.mjs.map +1 -0
  63. package/dist/admin/components/DataManager/utils/cleanData.js +128 -0
  64. package/dist/admin/components/DataManager/utils/cleanData.js.map +1 -0
  65. package/dist/admin/components/DataManager/utils/cleanData.mjs +125 -0
  66. package/dist/admin/components/DataManager/utils/cleanData.mjs.map +1 -0
  67. package/dist/admin/components/DataManager/utils/formatSchemas.js +21 -0
  68. package/dist/admin/components/DataManager/utils/formatSchemas.js.map +1 -0
  69. package/dist/admin/components/DataManager/utils/formatSchemas.mjs +18 -0
  70. package/dist/admin/components/DataManager/utils/formatSchemas.mjs.map +1 -0
  71. package/dist/admin/components/{DataManagerProvider → DataManager}/utils/retrieveComponentsThatHaveComponents.js +1 -5
  72. package/dist/admin/components/DataManager/utils/retrieveComponentsThatHaveComponents.js.map +1 -0
  73. package/dist/admin/components/{DataManagerProvider → DataManager}/utils/retrieveComponentsThatHaveComponents.mjs +1 -5
  74. package/dist/admin/components/DataManager/utils/retrieveComponentsThatHaveComponents.mjs.map +1 -0
  75. package/dist/admin/components/{DataManagerProvider → DataManager}/utils/retrieveNestedComponents.js +3 -3
  76. package/dist/admin/components/DataManager/utils/retrieveNestedComponents.js.map +1 -0
  77. package/dist/admin/components/{DataManagerProvider → DataManager}/utils/retrieveNestedComponents.mjs +3 -3
  78. package/dist/admin/components/DataManager/utils/retrieveNestedComponents.mjs.map +1 -0
  79. package/dist/admin/components/DataManager/utils/retrieveSpecificInfoFromComponents.js.map +1 -0
  80. package/dist/admin/components/DataManager/utils/retrieveSpecificInfoFromComponents.mjs.map +1 -0
  81. package/dist/admin/components/DisplayedType.js +14 -14
  82. package/dist/admin/components/DisplayedType.js.map +1 -1
  83. package/dist/admin/components/DisplayedType.mjs +15 -15
  84. package/dist/admin/components/DisplayedType.mjs.map +1 -1
  85. package/dist/admin/components/DynamicZoneList.js +34 -38
  86. package/dist/admin/components/DynamicZoneList.js.map +1 -1
  87. package/dist/admin/components/DynamicZoneList.mjs +36 -40
  88. package/dist/admin/components/DynamicZoneList.mjs.map +1 -1
  89. package/dist/admin/components/ExitPrompt.js +50 -0
  90. package/dist/admin/components/ExitPrompt.js.map +1 -0
  91. package/dist/admin/components/ExitPrompt.mjs +48 -0
  92. package/dist/admin/components/ExitPrompt.mjs.map +1 -0
  93. package/dist/admin/components/{NestedFooter.js → Footers.js} +35 -2
  94. package/dist/admin/components/Footers.js.map +1 -0
  95. package/dist/admin/components/{NestedFooter.mjs → Footers.mjs} +36 -4
  96. package/dist/admin/components/Footers.mjs.map +1 -0
  97. package/dist/admin/components/FormModal/FormModal.js +198 -164
  98. package/dist/admin/components/FormModal/FormModal.js.map +1 -1
  99. package/dist/admin/components/FormModal/FormModal.mjs +198 -165
  100. package/dist/admin/components/FormModal/FormModal.mjs.map +1 -1
  101. package/dist/admin/components/FormModal/attributes/types.js.map +1 -1
  102. package/dist/admin/components/FormModal/attributes/types.mjs.map +1 -1
  103. package/dist/admin/components/FormModal/attributes/validation/common.js.map +1 -1
  104. package/dist/admin/components/FormModal/attributes/validation/common.mjs.map +1 -1
  105. package/dist/admin/components/FormModal/component/createComponentSchema.js +2 -2
  106. package/dist/admin/components/FormModal/component/createComponentSchema.js.map +1 -1
  107. package/dist/admin/components/FormModal/component/createComponentSchema.mjs +1 -1
  108. package/dist/admin/components/FormModal/component/createComponentSchema.mjs.map +1 -1
  109. package/dist/admin/components/FormModal/forms/forms.js +10 -27
  110. package/dist/admin/components/FormModal/forms/forms.js.map +1 -1
  111. package/dist/admin/components/FormModal/forms/forms.mjs +10 -27
  112. package/dist/admin/components/FormModal/forms/forms.mjs.map +1 -1
  113. package/dist/admin/components/FormModal/forms/utils/getUsedAttributeNames.js.map +1 -1
  114. package/dist/admin/components/FormModal/forms/utils/getUsedAttributeNames.mjs.map +1 -1
  115. package/dist/admin/components/FormModal/reducer.js +4 -4
  116. package/dist/admin/components/FormModal/reducer.js.map +1 -1
  117. package/dist/admin/components/FormModal/reducer.mjs +4 -4
  118. package/dist/admin/components/FormModal/reducer.mjs.map +1 -1
  119. package/dist/admin/components/FormModal/utils/canEditContentType.js +9 -14
  120. package/dist/admin/components/FormModal/utils/canEditContentType.js.map +1 -1
  121. package/dist/admin/components/FormModal/utils/canEditContentType.mjs +9 -14
  122. package/dist/admin/components/FormModal/utils/canEditContentType.mjs.map +1 -1
  123. package/dist/admin/components/FormModal/utils/getAttributesToDisplay.js.map +1 -1
  124. package/dist/admin/components/FormModal/utils/getAttributesToDisplay.mjs.map +1 -1
  125. package/dist/admin/components/FormModalEndActions.js +1 -34
  126. package/dist/admin/components/FormModalEndActions.js.map +1 -1
  127. package/dist/admin/components/FormModalEndActions.mjs +1 -34
  128. package/dist/admin/components/FormModalEndActions.mjs.map +1 -1
  129. package/dist/admin/components/FormModalHeader.js +10 -28
  130. package/dist/admin/components/FormModalHeader.js.map +1 -1
  131. package/dist/admin/components/FormModalHeader.mjs +10 -28
  132. package/dist/admin/components/FormModalHeader.mjs.map +1 -1
  133. package/dist/admin/components/FormModalNavigation/FormModalNavigationContext.js.map +1 -0
  134. package/dist/admin/components/FormModalNavigation/FormModalNavigationContext.mjs.map +1 -0
  135. package/dist/admin/components/{FormModalNavigationProvider → FormModalNavigation}/FormModalNavigationProvider.js +91 -114
  136. package/dist/admin/components/FormModalNavigation/FormModalNavigationProvider.js.map +1 -0
  137. package/dist/admin/components/{FormModalNavigationProvider → FormModalNavigation}/FormModalNavigationProvider.mjs +91 -96
  138. package/dist/admin/components/FormModalNavigation/FormModalNavigationProvider.mjs.map +1 -0
  139. package/dist/admin/{hooks → components/FormModalNavigation}/useFormModalNavigation.js +1 -1
  140. package/dist/admin/components/FormModalNavigation/useFormModalNavigation.js.map +1 -0
  141. package/dist/admin/{hooks → components/FormModalNavigation}/useFormModalNavigation.mjs +1 -1
  142. package/dist/admin/components/FormModalNavigation/useFormModalNavigation.mjs.map +1 -0
  143. package/dist/admin/components/FormModalSubHeader.js.map +1 -1
  144. package/dist/admin/components/FormModalSubHeader.mjs.map +1 -1
  145. package/dist/admin/components/GenericInputs.js +9 -5
  146. package/dist/admin/components/GenericInputs.js.map +1 -1
  147. package/dist/admin/components/GenericInputs.mjs +9 -5
  148. package/dist/admin/components/GenericInputs.mjs.map +1 -1
  149. package/dist/admin/components/List.js +149 -199
  150. package/dist/admin/components/List.js.map +1 -1
  151. package/dist/admin/components/List.mjs +151 -202
  152. package/dist/admin/components/List.mjs.map +1 -1
  153. package/dist/admin/components/Relation/Relation.js +3 -2
  154. package/dist/admin/components/Relation/Relation.js.map +1 -1
  155. package/dist/admin/components/Relation/Relation.mjs +3 -2
  156. package/dist/admin/components/Relation/Relation.mjs.map +1 -1
  157. package/dist/admin/components/Relation/RelationField/RelationField.js +1 -1
  158. package/dist/admin/components/Relation/RelationField/RelationField.js.map +1 -1
  159. package/dist/admin/components/Relation/RelationField/RelationField.mjs +1 -1
  160. package/dist/admin/components/Relation/RelationField/RelationField.mjs.map +1 -1
  161. package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.js +6 -5
  162. package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.js.map +1 -1
  163. package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.mjs +6 -5
  164. package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.mjs.map +1 -1
  165. package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.js +19 -21
  166. package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.js.map +1 -1
  167. package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.mjs +19 -21
  168. package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.mjs.map +1 -1
  169. package/dist/admin/components/SelectCategory.js +1 -1
  170. package/dist/admin/components/SelectCategory.js.map +1 -1
  171. package/dist/admin/components/SelectCategory.mjs +1 -1
  172. package/dist/admin/components/SelectCategory.mjs.map +1 -1
  173. package/dist/admin/components/SelectComponent.js +3 -6
  174. package/dist/admin/components/SelectComponent.js.map +1 -1
  175. package/dist/admin/components/SelectComponent.mjs +3 -6
  176. package/dist/admin/components/SelectComponent.mjs.map +1 -1
  177. package/dist/admin/components/SelectComponents.js +9 -6
  178. package/dist/admin/components/SelectComponents.js.map +1 -1
  179. package/dist/admin/components/SelectComponents.mjs +9 -6
  180. package/dist/admin/components/SelectComponents.mjs.map +1 -1
  181. package/dist/admin/components/SelectNumber.js +0 -4
  182. package/dist/admin/components/SelectNumber.js.map +1 -1
  183. package/dist/admin/components/SelectNumber.mjs +0 -4
  184. package/dist/admin/components/SelectNumber.mjs.map +1 -1
  185. package/dist/admin/components/Status.js +73 -0
  186. package/dist/admin/components/Status.js.map +1 -0
  187. package/dist/admin/components/Status.mjs +70 -0
  188. package/dist/admin/components/Status.mjs.map +1 -0
  189. package/dist/admin/components/TabForm.js +2 -1
  190. package/dist/admin/components/TabForm.js.map +1 -1
  191. package/dist/admin/components/TabForm.mjs +2 -1
  192. package/dist/admin/components/TabForm.mjs.map +1 -1
  193. package/dist/admin/icons/Curve.js +1 -1
  194. package/dist/admin/icons/Curve.js.map +1 -1
  195. package/dist/admin/icons/Curve.mjs +1 -1
  196. package/dist/admin/icons/Curve.mjs.map +1 -1
  197. package/dist/admin/pages/App/index.js +39 -19
  198. package/dist/admin/pages/App/index.js.map +1 -1
  199. package/dist/admin/pages/App/index.mjs +41 -21
  200. package/dist/admin/pages/App/index.mjs.map +1 -1
  201. package/dist/admin/pages/ListView/EmptyState.js +38 -0
  202. package/dist/admin/pages/ListView/EmptyState.js.map +1 -0
  203. package/dist/admin/pages/ListView/EmptyState.mjs +36 -0
  204. package/dist/admin/pages/ListView/EmptyState.mjs.map +1 -0
  205. package/dist/admin/pages/ListView/LinkToCMSettingsView.js +26 -17
  206. package/dist/admin/pages/ListView/LinkToCMSettingsView.js.map +1 -1
  207. package/dist/admin/pages/ListView/LinkToCMSettingsView.mjs +26 -17
  208. package/dist/admin/pages/ListView/LinkToCMSettingsView.mjs.map +1 -1
  209. package/dist/admin/pages/ListView/ListView.js +105 -158
  210. package/dist/admin/pages/ListView/ListView.js.map +1 -1
  211. package/dist/admin/pages/ListView/ListView.mjs +110 -163
  212. package/dist/admin/pages/ListView/ListView.mjs.map +1 -1
  213. package/dist/admin/reducers.js +3 -4
  214. package/dist/admin/reducers.js.map +1 -1
  215. package/dist/admin/reducers.mjs +3 -4
  216. package/dist/admin/reducers.mjs.map +1 -1
  217. package/dist/admin/src/components/AttributeRow.d.ts +28 -0
  218. package/dist/admin/src/components/AutoReloadOverlayBlocker.d.ts +2 -2
  219. package/dist/admin/src/components/ComponentCard/ComponentCard.d.ts +5 -1
  220. package/dist/admin/src/components/ComponentList.d.ts +4 -6
  221. package/dist/admin/src/components/{BoxWrapper.d.ts → ComponentRow.d.ts} +5 -2
  222. package/dist/admin/src/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.d.ts +29 -14
  223. package/dist/admin/src/components/DataManager/DataManagerContext.d.ts +138 -0
  224. package/dist/admin/src/components/DataManager/DataManagerProvider.d.ts +6 -0
  225. package/dist/admin/src/components/DataManager/reducer.d.ts +278 -0
  226. package/dist/admin/src/components/DataManager/undoRedo.d.ts +23 -0
  227. package/dist/admin/src/components/DataManager/useDataManager.d.ts +1 -0
  228. package/dist/admin/src/components/DataManager/useServerRestartWatcher.d.ts +1 -0
  229. package/dist/admin/src/components/DataManager/utils/cleanData.d.ts +311 -0
  230. package/dist/admin/src/components/DataManager/utils/formatSchemas.d.ts +3 -0
  231. package/dist/admin/src/components/{DataManagerProvider → DataManager}/utils/retrieveComponentsThatHaveComponents.d.ts +3 -3
  232. package/dist/admin/src/components/{DataManagerProvider → DataManager}/utils/retrieveNestedComponents.d.ts +4 -4
  233. package/dist/admin/src/components/DisplayedType.d.ts +2 -1
  234. package/dist/admin/src/components/DynamicZoneList.d.ts +8 -5
  235. package/dist/admin/src/components/ExitPrompt.d.ts +1 -0
  236. package/dist/admin/src/components/{NestedFooter.d.ts → Footers.d.ts} +5 -1
  237. package/dist/admin/src/components/FormModal/forms/forms.d.ts +2 -38
  238. package/dist/admin/src/components/FormModal/forms/utils/getUsedAttributeNames.d.ts +3 -2
  239. package/dist/admin/src/components/FormModal/reducer.d.ts +10 -4
  240. package/dist/admin/src/components/FormModal/utils/canEditContentType.d.ts +4 -4
  241. package/dist/admin/src/components/FormModal/utils/getAttributesToDisplay.d.ts +1 -1
  242. package/dist/admin/src/components/FormModalEndActions.d.ts +1 -5
  243. package/dist/admin/src/components/FormModalHeader.d.ts +10 -7
  244. package/dist/admin/src/components/FormModalNavigation/FormModalNavigationContext.d.ts +19 -0
  245. package/dist/admin/src/components/FormModalNavigation/FormModalNavigationProvider.d.ts +54 -0
  246. package/dist/admin/src/components/FormModalNavigation/useFormModalNavigation.d.ts +1 -0
  247. package/dist/admin/src/components/FormModalSubHeader.d.ts +3 -3
  248. package/dist/admin/src/components/GenericInputs.d.ts +2 -1
  249. package/dist/admin/src/components/List.d.ts +16 -13
  250. package/dist/admin/src/components/Relation/Relation.d.ts +2 -1
  251. package/dist/admin/src/components/Relation/RelationField/RelationField.d.ts +2 -1
  252. package/dist/admin/src/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.d.ts +3 -2
  253. package/dist/admin/src/components/Relation/RelationNaturePicker/RelationNaturePicker.d.ts +2 -1
  254. package/dist/admin/src/components/SelectComponents.d.ts +3 -1
  255. package/dist/admin/src/components/SelectNumber.d.ts +1 -7
  256. package/dist/admin/src/components/Status.d.ts +6 -0
  257. package/dist/admin/src/pages/ListView/EmptyState.d.ts +1 -0
  258. package/dist/admin/src/pages/ListView/LinkToCMSettingsView.d.ts +3 -4
  259. package/dist/admin/src/pages/ListView/ListView.d.ts +1 -1
  260. package/dist/admin/src/reducers.d.ts +2 -8
  261. package/dist/admin/src/types.d.ts +40 -43
  262. package/dist/admin/src/utils/findAttribute.d.ts +2 -2
  263. package/dist/admin/src/utils/formAPI.d.ts +43 -1
  264. package/dist/admin/src/utils/getMaxDepth.d.ts +2 -2
  265. package/dist/admin/src/utils/getRelationType.d.ts +1 -1
  266. package/dist/admin/src/utils/isAllowedContentTypesForRelations.d.ts +1 -1
  267. package/dist/admin/translations/de.json.js +0 -1
  268. package/dist/admin/translations/de.json.js.map +1 -1
  269. package/dist/admin/translations/de.json.mjs +0 -1
  270. package/dist/admin/translations/de.json.mjs.map +1 -1
  271. package/dist/admin/translations/dk.json.js +0 -1
  272. package/dist/admin/translations/dk.json.js.map +1 -1
  273. package/dist/admin/translations/dk.json.mjs +0 -1
  274. package/dist/admin/translations/dk.json.mjs.map +1 -1
  275. package/dist/admin/translations/en.json.js +4 -2
  276. package/dist/admin/translations/en.json.js.map +1 -1
  277. package/dist/admin/translations/en.json.mjs +4 -2
  278. package/dist/admin/translations/en.json.mjs.map +1 -1
  279. package/dist/admin/translations/es.json.js +0 -1
  280. package/dist/admin/translations/es.json.js.map +1 -1
  281. package/dist/admin/translations/es.json.mjs +0 -1
  282. package/dist/admin/translations/es.json.mjs.map +1 -1
  283. package/dist/admin/translations/ko.json.js +0 -1
  284. package/dist/admin/translations/ko.json.js.map +1 -1
  285. package/dist/admin/translations/ko.json.mjs +0 -1
  286. package/dist/admin/translations/ko.json.mjs.map +1 -1
  287. package/dist/admin/translations/pl.json.js +0 -1
  288. package/dist/admin/translations/pl.json.js.map +1 -1
  289. package/dist/admin/translations/pl.json.mjs +0 -1
  290. package/dist/admin/translations/pl.json.mjs.map +1 -1
  291. package/dist/admin/translations/pt-BR.json.js +0 -1
  292. package/dist/admin/translations/pt-BR.json.js.map +1 -1
  293. package/dist/admin/translations/pt-BR.json.mjs +0 -1
  294. package/dist/admin/translations/pt-BR.json.mjs.map +1 -1
  295. package/dist/admin/translations/sv.json.js +0 -1
  296. package/dist/admin/translations/sv.json.js.map +1 -1
  297. package/dist/admin/translations/sv.json.mjs +0 -1
  298. package/dist/admin/translations/sv.json.mjs.map +1 -1
  299. package/dist/admin/translations/tr.json.js +0 -1
  300. package/dist/admin/translations/tr.json.js.map +1 -1
  301. package/dist/admin/translations/tr.json.mjs +0 -1
  302. package/dist/admin/translations/tr.json.mjs.map +1 -1
  303. package/dist/admin/translations/zh.json.js +0 -1
  304. package/dist/admin/translations/zh.json.js.map +1 -1
  305. package/dist/admin/translations/zh.json.mjs +0 -1
  306. package/dist/admin/translations/zh.json.mjs.map +1 -1
  307. package/dist/admin/utils/findAttribute.js.map +1 -1
  308. package/dist/admin/utils/findAttribute.mjs.map +1 -1
  309. package/dist/admin/utils/formAPI.js +0 -1
  310. package/dist/admin/utils/formAPI.js.map +1 -1
  311. package/dist/admin/utils/formAPI.mjs +0 -1
  312. package/dist/admin/utils/formAPI.mjs.map +1 -1
  313. package/dist/admin/utils/getMaxDepth.js.map +1 -1
  314. package/dist/admin/utils/getMaxDepth.mjs.map +1 -1
  315. package/dist/admin/utils/getRelationType.js.map +1 -1
  316. package/dist/admin/utils/getRelationType.mjs.map +1 -1
  317. package/dist/admin/utils/isAllowedContentTypesForRelations.js.map +1 -1
  318. package/dist/admin/utils/isAllowedContentTypesForRelations.mjs.map +1 -1
  319. package/dist/server/controllers/index.js +3 -1
  320. package/dist/server/controllers/index.js.map +1 -1
  321. package/dist/server/controllers/index.mjs +3 -1
  322. package/dist/server/controllers/index.mjs.map +1 -1
  323. package/dist/server/controllers/schema.js +55 -0
  324. package/dist/server/controllers/schema.js.map +1 -0
  325. package/dist/server/controllers/schema.mjs +53 -0
  326. package/dist/server/controllers/schema.mjs.map +1 -0
  327. package/dist/server/controllers/validation/common.js +2 -0
  328. package/dist/server/controllers/validation/common.js.map +1 -1
  329. package/dist/server/controllers/validation/common.mjs +2 -1
  330. package/dist/server/controllers/validation/common.mjs.map +1 -1
  331. package/dist/server/controllers/validation/content-type.js.map +1 -1
  332. package/dist/server/controllers/validation/content-type.mjs.map +1 -1
  333. package/dist/server/controllers/validation/schema.js +612 -0
  334. package/dist/server/controllers/validation/schema.js.map +1 -0
  335. package/dist/server/controllers/validation/schema.mjs +610 -0
  336. package/dist/server/controllers/validation/schema.mjs.map +1 -0
  337. package/dist/server/routes/admin.js +51 -0
  338. package/dist/server/routes/admin.js.map +1 -1
  339. package/dist/server/routes/admin.mjs +51 -0
  340. package/dist/server/routes/admin.mjs.map +1 -1
  341. package/dist/server/services/index.js +3 -1
  342. package/dist/server/services/index.js.map +1 -1
  343. package/dist/server/services/index.mjs +3 -1
  344. package/dist/server/services/index.mjs.map +1 -1
  345. package/dist/server/services/schema-builder/component-builder.js +12 -2
  346. package/dist/server/services/schema-builder/component-builder.js.map +1 -1
  347. package/dist/server/services/schema-builder/component-builder.mjs +12 -2
  348. package/dist/server/services/schema-builder/component-builder.mjs.map +1 -1
  349. package/dist/server/services/schema-builder/content-type-builder.js +43 -28
  350. package/dist/server/services/schema-builder/content-type-builder.js.map +1 -1
  351. package/dist/server/services/schema-builder/content-type-builder.mjs +43 -28
  352. package/dist/server/services/schema-builder/content-type-builder.mjs.map +1 -1
  353. package/dist/server/services/schema-builder/index.js +51 -49
  354. package/dist/server/services/schema-builder/index.js.map +1 -1
  355. package/dist/server/services/schema-builder/index.mjs +51 -49
  356. package/dist/server/services/schema-builder/index.mjs.map +1 -1
  357. package/dist/server/services/schema.js +246 -0
  358. package/dist/server/services/schema.js.map +1 -0
  359. package/dist/server/services/schema.mjs +242 -0
  360. package/dist/server/services/schema.mjs.map +1 -0
  361. package/dist/server/src/controllers/index.d.ts +5 -0
  362. package/dist/server/src/controllers/index.d.ts.map +1 -1
  363. package/dist/server/src/controllers/schema.d.ts +8 -0
  364. package/dist/server/src/controllers/schema.d.ts.map +1 -0
  365. package/dist/server/src/controllers/validation/common.d.ts +1 -0
  366. package/dist/server/src/controllers/validation/common.d.ts.map +1 -1
  367. package/dist/server/src/controllers/validation/content-type.d.ts +3 -2
  368. package/dist/server/src/controllers/validation/content-type.d.ts.map +1 -1
  369. package/dist/server/src/controllers/validation/schema.d.ts +80968 -0
  370. package/dist/server/src/controllers/validation/schema.d.ts.map +1 -0
  371. package/dist/server/src/index.d.ts +6 -0
  372. package/dist/server/src/index.d.ts.map +1 -1
  373. package/dist/server/src/routes/admin.d.ts.map +1 -1
  374. package/dist/server/src/services/index.d.ts +2 -0
  375. package/dist/server/src/services/index.d.ts.map +1 -1
  376. package/dist/server/src/services/schema-builder/component-builder.d.ts +1 -0
  377. package/dist/server/src/services/schema-builder/component-builder.d.ts.map +1 -1
  378. package/dist/server/src/services/schema-builder/content-type-builder.d.ts +2 -3
  379. package/dist/server/src/services/schema-builder/content-type-builder.d.ts.map +1 -1
  380. package/dist/server/src/services/schema-builder/index.d.ts +3 -0
  381. package/dist/server/src/services/schema-builder/index.d.ts.map +1 -1
  382. package/dist/server/src/services/schema.d.ts +2756 -0
  383. package/dist/server/src/services/schema.d.ts.map +1 -0
  384. package/dist/server/src/utils/index.d.ts +2 -0
  385. package/dist/server/src/utils/index.d.ts.map +1 -1
  386. package/dist/server/utils/index.js.map +1 -1
  387. package/dist/server/utils/index.mjs.map +1 -1
  388. package/package.json +13 -8
  389. package/dist/admin/components/BoxWrapper.js +0 -44
  390. package/dist/admin/components/BoxWrapper.js.map +0 -1
  391. package/dist/admin/components/BoxWrapper.mjs +0 -42
  392. package/dist/admin/components/BoxWrapper.mjs.map +0 -1
  393. package/dist/admin/components/DataManagerProvider/DataManagerProvider.js +0 -520
  394. package/dist/admin/components/DataManagerProvider/DataManagerProvider.js.map +0 -1
  395. package/dist/admin/components/DataManagerProvider/DataManagerProvider.mjs +0 -518
  396. package/dist/admin/components/DataManagerProvider/DataManagerProvider.mjs.map +0 -1
  397. package/dist/admin/components/DataManagerProvider/reducer.js +0 -583
  398. package/dist/admin/components/DataManagerProvider/reducer.js.map +0 -1
  399. package/dist/admin/components/DataManagerProvider/reducer.mjs +0 -579
  400. package/dist/admin/components/DataManagerProvider/reducer.mjs.map +0 -1
  401. package/dist/admin/components/DataManagerProvider/selectors.js +0 -20
  402. package/dist/admin/components/DataManagerProvider/selectors.js.map +0 -1
  403. package/dist/admin/components/DataManagerProvider/selectors.mjs +0 -17
  404. package/dist/admin/components/DataManagerProvider/selectors.mjs.map +0 -1
  405. package/dist/admin/components/DataManagerProvider/utils/cleanData.js +0 -126
  406. package/dist/admin/components/DataManagerProvider/utils/cleanData.js.map +0 -1
  407. package/dist/admin/components/DataManagerProvider/utils/cleanData.mjs +0 -120
  408. package/dist/admin/components/DataManagerProvider/utils/cleanData.mjs.map +0 -1
  409. package/dist/admin/components/DataManagerProvider/utils/createDataObject.js +0 -9
  410. package/dist/admin/components/DataManagerProvider/utils/createDataObject.js.map +0 -1
  411. package/dist/admin/components/DataManagerProvider/utils/createDataObject.mjs +0 -7
  412. package/dist/admin/components/DataManagerProvider/utils/createDataObject.mjs.map +0 -1
  413. package/dist/admin/components/DataManagerProvider/utils/createModifiedDataSchema.js +0 -20
  414. package/dist/admin/components/DataManagerProvider/utils/createModifiedDataSchema.js.map +0 -1
  415. package/dist/admin/components/DataManagerProvider/utils/createModifiedDataSchema.mjs +0 -18
  416. package/dist/admin/components/DataManagerProvider/utils/createModifiedDataSchema.mjs.map +0 -1
  417. package/dist/admin/components/DataManagerProvider/utils/formatSchemas.js +0 -30
  418. package/dist/admin/components/DataManagerProvider/utils/formatSchemas.js.map +0 -1
  419. package/dist/admin/components/DataManagerProvider/utils/formatSchemas.mjs +0 -27
  420. package/dist/admin/components/DataManagerProvider/utils/formatSchemas.mjs.map +0 -1
  421. package/dist/admin/components/DataManagerProvider/utils/retrieveComponentsFromSchema.js +0 -46
  422. package/dist/admin/components/DataManagerProvider/utils/retrieveComponentsFromSchema.js.map +0 -1
  423. package/dist/admin/components/DataManagerProvider/utils/retrieveComponentsFromSchema.mjs +0 -44
  424. package/dist/admin/components/DataManagerProvider/utils/retrieveComponentsFromSchema.mjs.map +0 -1
  425. package/dist/admin/components/DataManagerProvider/utils/retrieveComponentsThatHaveComponents.js.map +0 -1
  426. package/dist/admin/components/DataManagerProvider/utils/retrieveComponentsThatHaveComponents.mjs.map +0 -1
  427. package/dist/admin/components/DataManagerProvider/utils/retrieveNestedComponents.js.map +0 -1
  428. package/dist/admin/components/DataManagerProvider/utils/retrieveNestedComponents.mjs.map +0 -1
  429. package/dist/admin/components/DataManagerProvider/utils/retrieveSpecificInfoFromComponents.js.map +0 -1
  430. package/dist/admin/components/DataManagerProvider/utils/retrieveSpecificInfoFromComponents.mjs.map +0 -1
  431. package/dist/admin/components/DataManagerProvider/utils/serverRestartWatcher.js +0 -37
  432. package/dist/admin/components/DataManagerProvider/utils/serverRestartWatcher.js.map +0 -1
  433. package/dist/admin/components/DataManagerProvider/utils/serverRestartWatcher.mjs +0 -35
  434. package/dist/admin/components/DataManagerProvider/utils/serverRestartWatcher.mjs.map +0 -1
  435. package/dist/admin/components/DataManagerProvider/utils/validateSchema.js +0 -9
  436. package/dist/admin/components/DataManagerProvider/utils/validateSchema.js.map +0 -1
  437. package/dist/admin/components/DataManagerProvider/utils/validateSchema.mjs +0 -7
  438. package/dist/admin/components/DataManagerProvider/utils/validateSchema.mjs.map +0 -1
  439. package/dist/admin/components/FormModal/category/createCategorySchema.js +0 -43
  440. package/dist/admin/components/FormModal/category/createCategorySchema.js.map +0 -1
  441. package/dist/admin/components/FormModal/category/createCategorySchema.mjs +0 -22
  442. package/dist/admin/components/FormModal/category/createCategorySchema.mjs.map +0 -1
  443. package/dist/admin/components/FormModal/category/form.js +0 -34
  444. package/dist/admin/components/FormModal/category/form.js.map +0 -1
  445. package/dist/admin/components/FormModal/category/form.mjs +0 -32
  446. package/dist/admin/components/FormModal/category/form.mjs.map +0 -1
  447. package/dist/admin/components/FormModal/category/regex.js +0 -6
  448. package/dist/admin/components/FormModal/category/regex.js.map +0 -1
  449. package/dist/admin/components/FormModal/category/regex.mjs +0 -4
  450. package/dist/admin/components/FormModal/category/regex.mjs.map +0 -1
  451. package/dist/admin/components/FormModal/selectors.js +0 -20
  452. package/dist/admin/components/FormModal/selectors.js.map +0 -1
  453. package/dist/admin/components/FormModal/selectors.mjs +0 -17
  454. package/dist/admin/components/FormModal/selectors.mjs.map +0 -1
  455. package/dist/admin/components/FormModalNavigationProvider/FormModalNavigationProvider.js.map +0 -1
  456. package/dist/admin/components/FormModalNavigationProvider/FormModalNavigationProvider.mjs.map +0 -1
  457. package/dist/admin/components/FormModalNavigationProvider/constants.js +0 -21
  458. package/dist/admin/components/FormModalNavigationProvider/constants.js.map +0 -1
  459. package/dist/admin/components/FormModalNavigationProvider/constants.mjs +0 -19
  460. package/dist/admin/components/FormModalNavigationProvider/constants.mjs.map +0 -1
  461. package/dist/admin/components/ListRow.js +0 -164
  462. package/dist/admin/components/ListRow.js.map +0 -1
  463. package/dist/admin/components/ListRow.mjs +0 -161
  464. package/dist/admin/components/ListRow.mjs.map +0 -1
  465. package/dist/admin/components/NestedFooter.js.map +0 -1
  466. package/dist/admin/components/NestedFooter.mjs.map +0 -1
  467. package/dist/admin/components/Tr.js.map +0 -1
  468. package/dist/admin/components/Tr.mjs.map +0 -1
  469. package/dist/admin/components/UpperFirst.js +0 -11
  470. package/dist/admin/components/UpperFirst.js.map +0 -1
  471. package/dist/admin/components/UpperFirst.mjs +0 -9
  472. package/dist/admin/components/UpperFirst.mjs.map +0 -1
  473. package/dist/admin/contexts/DataManagerContext.js.map +0 -1
  474. package/dist/admin/contexts/DataManagerContext.mjs.map +0 -1
  475. package/dist/admin/contexts/FormModalNavigationContext.js.map +0 -1
  476. package/dist/admin/contexts/FormModalNavigationContext.mjs.map +0 -1
  477. package/dist/admin/hooks/useDataManager.js.map +0 -1
  478. package/dist/admin/hooks/useDataManager.mjs.map +0 -1
  479. package/dist/admin/hooks/useFormModalNavigation.js.map +0 -1
  480. package/dist/admin/hooks/useFormModalNavigation.mjs.map +0 -1
  481. package/dist/admin/src/components/DataManagerProvider/DataManagerProvider.d.ts +0 -6
  482. package/dist/admin/src/components/DataManagerProvider/reducer.d.ts +0 -103
  483. package/dist/admin/src/components/DataManagerProvider/selectors.d.ts +0 -17
  484. package/dist/admin/src/components/DataManagerProvider/utils/cleanData.d.ts +0 -23
  485. package/dist/admin/src/components/DataManagerProvider/utils/createDataObject.d.ts +0 -2
  486. package/dist/admin/src/components/DataManagerProvider/utils/createModifiedDataSchema.d.ts +0 -6
  487. package/dist/admin/src/components/DataManagerProvider/utils/formatSchemas.d.ts +0 -6
  488. package/dist/admin/src/components/DataManagerProvider/utils/retrieveComponentsFromSchema.d.ts +0 -4
  489. package/dist/admin/src/components/DataManagerProvider/utils/serverRestartWatcher.d.ts +0 -6
  490. package/dist/admin/src/components/DataManagerProvider/utils/validateSchema.d.ts +0 -1
  491. package/dist/admin/src/components/FormModal/category/createCategorySchema.d.ts +0 -5
  492. package/dist/admin/src/components/FormModal/category/form.d.ts +0 -20
  493. package/dist/admin/src/components/FormModal/category/regex.d.ts +0 -1
  494. package/dist/admin/src/components/FormModal/selectors.d.ts +0 -16
  495. package/dist/admin/src/components/FormModalNavigationProvider/FormModalNavigationProvider.d.ts +0 -22
  496. package/dist/admin/src/components/FormModalNavigationProvider/constants.d.ts +0 -17
  497. package/dist/admin/src/components/ListRow.d.ts +0 -27
  498. package/dist/admin/src/components/Tr.d.ts +0 -5
  499. package/dist/admin/src/components/UpperFirst.d.ts +0 -3
  500. package/dist/admin/src/contexts/DataManagerContext.d.ts +0 -41
  501. package/dist/admin/src/contexts/FormModalNavigationContext.d.ts +0 -40
  502. package/dist/admin/src/hooks/useDataManager.d.ts +0 -1
  503. package/dist/admin/src/hooks/useFormModalNavigation.d.ts +0 -1
  504. /package/dist/admin/{contexts → components/DataManager}/DataManagerContext.js +0 -0
  505. /package/dist/admin/{contexts → components/DataManager}/DataManagerContext.mjs +0 -0
  506. /package/dist/admin/components/{DataManagerProvider → DataManager}/utils/retrieveSpecificInfoFromComponents.js +0 -0
  507. /package/dist/admin/components/{DataManagerProvider → DataManager}/utils/retrieveSpecificInfoFromComponents.mjs +0 -0
  508. /package/dist/admin/{contexts → components/FormModalNavigation}/FormModalNavigationContext.js +0 -0
  509. /package/dist/admin/{contexts → components/FormModalNavigation}/FormModalNavigationContext.mjs +0 -0
  510. /package/dist/admin/src/components/{DataManagerProvider → DataManager}/utils/retrieveSpecificInfoFromComponents.d.ts +0 -0
@@ -1,583 +0,0 @@
1
- 'use strict';
2
-
3
- var toolkit = require('@reduxjs/toolkit');
4
- var immer = require('immer');
5
- var get = require('lodash/get');
6
- var set = require('lodash/set');
7
- var getRelationType = require('../../utils/getRelationType.js');
8
- var makeUnique = require('../../utils/makeUnique.js');
9
- var retrieveComponentsFromSchema = require('./utils/retrieveComponentsFromSchema.js');
10
-
11
- const DEFAULT_MODIFIED_DATA = {
12
- components: {},
13
- contentTypes: {}
14
- };
15
- const initialState = {
16
- components: {},
17
- contentTypes: {},
18
- initialComponents: {},
19
- initialContentTypes: {},
20
- initialData: {},
21
- modifiedData: {
22
- ...DEFAULT_MODIFIED_DATA
23
- },
24
- reservedNames: {},
25
- isLoading: true
26
- };
27
- const ONE_SIDE_RELATIONS = [
28
- 'oneWay',
29
- 'manyWay'
30
- ];
31
- const getOppositeRelation = (originalRelation)=>{
32
- if (originalRelation === 'manyToOne') {
33
- return 'oneToMany';
34
- }
35
- if (originalRelation === 'oneToMany') {
36
- return 'manyToOne';
37
- }
38
- return originalRelation;
39
- };
40
- const findAttributeIndex = (schema, attributeToFind)=>{
41
- return schema.schema.attributes.findIndex(({ name })=>name === attributeToFind);
42
- };
43
- const slice = toolkit.createSlice({
44
- name: 'data-manager',
45
- initialState,
46
- reducers: {
47
- init: (state, action)=>{
48
- const { components, contentTypes, reservedNames } = action.payload;
49
- state.components = components;
50
- state.initialComponents = components;
51
- state.initialContentTypes = contentTypes;
52
- state.contentTypes = contentTypes;
53
- state.reservedNames = reservedNames;
54
- state.isLoading = false;
55
- state.modifiedData = {
56
- ...DEFAULT_MODIFIED_DATA,
57
- component: state.modifiedData.component ? components[state.modifiedData.component.uid] : undefined,
58
- contentType: state.modifiedData.contentType ? contentTypes[state.modifiedData.contentType.uid] : undefined,
59
- components: state.modifiedData.components ? Object.keys(state.modifiedData.components).reduce((acc, key)=>{
60
- acc[key] = components[key];
61
- return acc;
62
- }, {}) : {},
63
- contentTypes: state.modifiedData.contentTypes ? Object.keys(state.modifiedData.contentTypes).reduce((acc, key)=>{
64
- acc[key] = contentTypes[key];
65
- return acc;
66
- }, {}) : {}
67
- };
68
- state.initialData = state.modifiedData;
69
- },
70
- addAttribute: (state, action)=>{
71
- const { attributeToSet, forTarget, targetUid, shouldAddComponentToData } = action.payload;
72
- const { name, ...rest } = attributeToSet;
73
- delete rest.createComponent;
74
- const pathToDataToEdit = [
75
- 'component',
76
- 'contentType'
77
- ].includes(forTarget) ? [
78
- forTarget
79
- ] : [
80
- forTarget,
81
- targetUid
82
- ];
83
- const currentAttributes = get(state, [
84
- 'modifiedData',
85
- ...pathToDataToEdit,
86
- 'schema',
87
- 'attributes'
88
- ], []).slice();
89
- // Add the createdAttribute
90
- const updatedAttributes = [
91
- ...currentAttributes,
92
- {
93
- ...rest,
94
- name
95
- }
96
- ];
97
- set(state, [
98
- 'modifiedData',
99
- ...pathToDataToEdit,
100
- 'schema',
101
- 'attributes'
102
- ], updatedAttributes);
103
- if (shouldAddComponentToData) {
104
- const componentToAddUID = rest.component;
105
- const componentToAdd = state.components[componentToAddUID];
106
- const isTemporaryComponent = componentToAdd?.isTemporary;
107
- const hasComponentAlreadyBeenAdded = state.modifiedData.components?.[componentToAddUID] !== undefined;
108
- if (isTemporaryComponent || hasComponentAlreadyBeenAdded) {
109
- return;
110
- }
111
- // Initialize modifiedData.components if it is undefined
112
- if (!state.modifiedData.components) {
113
- state.modifiedData.components = {};
114
- }
115
- // Add the added component to the modifiedData.components
116
- state.modifiedData.components[componentToAddUID] = componentToAdd;
117
- const nestedComponents = retrieveComponentsFromSchema.retrieveComponentsFromSchema(componentToAdd.schema.attributes, state.components);
118
- // We dont' need to set the already added components otherwise all modifications will be lost so we need to only add the not modified ones
119
- const nestedComponentsToAddInModifiedData = nestedComponents.filter((compoUID)=>{
120
- return get(state, [
121
- 'modifiedData',
122
- 'components',
123
- compoUID
124
- ]) === undefined;
125
- });
126
- nestedComponentsToAddInModifiedData.forEach((compoUID)=>{
127
- const compoSchema = get(state, [
128
- 'components',
129
- compoUID
130
- ], {});
131
- const isTemporary = compoSchema.isTemporary || false;
132
- // If the nested component has not been saved we don't need to add them as they are already in the state
133
- if (!isTemporary) {
134
- if (!state.modifiedData.components) {
135
- state.modifiedData.components = {};
136
- }
137
- state.modifiedData.components[compoUID] = compoSchema;
138
- }
139
- });
140
- return;
141
- }
142
- const isCreatingRelationAttribute = rest.type === 'relation';
143
- if (isCreatingRelationAttribute) {
144
- const target = rest.target;
145
- const targetAttribute = rest.targetAttribute || null;
146
- const relation = rest.relation;
147
- const relationType = getRelationType.getRelationType(relation, targetAttribute);
148
- const currentUid = get(state, [
149
- 'modifiedData',
150
- ...pathToDataToEdit,
151
- 'uid'
152
- ]);
153
- // When the user in creating a relation with the same content type we need to create another attribute
154
- // that is the opposite of the created one
155
- if (rest.type === 'relation' && relationType !== 'oneWay' && relationType !== 'manyWay' && target === currentUid) {
156
- const oppositeAttribute = {
157
- name: targetAttribute,
158
- relation: getOppositeRelation(relationType),
159
- target,
160
- targetAttribute: name,
161
- type: 'relation'
162
- };
163
- if (rest.private) {
164
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
165
- oppositeAttribute.private = rest.private;
166
- }
167
- const attributesToSet = [
168
- ...updatedAttributes,
169
- oppositeAttribute
170
- ];
171
- set(state, [
172
- 'modifiedData',
173
- ...pathToDataToEdit,
174
- 'schema',
175
- 'attributes'
176
- ], attributesToSet);
177
- }
178
- }
179
- },
180
- addCreatedComponentToDynamicZone: (state, action)=>{
181
- const { dynamicZoneTarget, componentsToAdd } = action.payload;
182
- const dzAttributeIndex = findAttributeIndex(state.modifiedData.contentType, dynamicZoneTarget);
183
- componentsToAdd.forEach((componentUid)=>{
184
- if (!state.modifiedData.contentType) {
185
- return;
186
- }
187
- if (!state.modifiedData.contentType.schema.attributes[dzAttributeIndex].components) {
188
- state.modifiedData.contentType.schema.attributes[dzAttributeIndex].components = [];
189
- }
190
- state.modifiedData.contentType.schema.attributes[dzAttributeIndex].components.push(componentUid);
191
- });
192
- },
193
- addCustomFieldAttribute: (state, action)=>{
194
- const { attributeToSet, forTarget, targetUid } = action.payload;
195
- const { name, ...rest } = attributeToSet;
196
- const pathToDataToEdit = [
197
- 'component',
198
- 'contentType'
199
- ].includes(forTarget) ? [
200
- forTarget
201
- ] : [
202
- forTarget,
203
- targetUid
204
- ];
205
- const currentAttributes = get(state, [
206
- 'modifiedData',
207
- ...pathToDataToEdit,
208
- 'schema',
209
- 'attributes'
210
- ], []).slice();
211
- // Add the createdAttribute
212
- const updatedAttributes = [
213
- ...currentAttributes,
214
- {
215
- ...rest,
216
- name
217
- }
218
- ];
219
- set(state, [
220
- 'modifiedData',
221
- ...pathToDataToEdit,
222
- 'schema',
223
- 'attributes'
224
- ], updatedAttributes);
225
- },
226
- changeDynamicZoneComponents: (state, action)=>{
227
- const { dynamicZoneTarget, newComponents } = action.payload;
228
- const dzAttributeIndex = findAttributeIndex(state.modifiedData.contentType, dynamicZoneTarget);
229
- const currentDZComponents = (state.modifiedData.contentType?.schema.attributes[dzAttributeIndex]).components;
230
- const updatedComponents = makeUnique.makeUnique([
231
- ...currentDZComponents,
232
- ...newComponents
233
- ]);
234
- (state.modifiedData.contentType?.schema.attributes[dzAttributeIndex]).components = updatedComponents;
235
- // Retrieve all the components that needs to be added to the modifiedData.components
236
- const nestedComponents = retrieveComponentsFromSchema.retrieveComponentsFromSchema(immer.current(state.modifiedData.contentType?.schema.attributes), state.components);
237
- // We dont' need to set the already added components otherwise all modifications will be lost so we need to only add the not modified ones
238
- const nestedComponentsToAddInModifiedData = nestedComponents.filter((compoUID)=>{
239
- return get(state, [
240
- 'modifiedData',
241
- 'components',
242
- compoUID
243
- ]) === undefined;
244
- });
245
- nestedComponentsToAddInModifiedData.forEach((compoUID)=>{
246
- const compoSchema = get(state, [
247
- 'components',
248
- compoUID
249
- ], {});
250
- const isTemporary = compoSchema.isTemporary || false;
251
- // If the nested component has not been saved we don't need to add them as they are already in the state
252
- if (!isTemporary) {
253
- if (!state.modifiedData.components) {
254
- state.modifiedData.components = {};
255
- }
256
- state.modifiedData.components[compoUID] = compoSchema;
257
- }
258
- });
259
- },
260
- createComponentSchema: (state, action)=>{
261
- const { uid, data, componentCategory, shouldAddComponentToData } = action.payload;
262
- const newSchema = {
263
- uid: uid,
264
- isTemporary: true,
265
- category: componentCategory,
266
- schema: {
267
- ...data,
268
- attributes: []
269
- }
270
- };
271
- state.components[uid] = newSchema;
272
- if (shouldAddComponentToData) {
273
- state.modifiedData.components[uid] = newSchema;
274
- }
275
- },
276
- createSchema: (state, action)=>{
277
- const { uid, data } = action.payload;
278
- const newSchema = {
279
- uid: uid,
280
- isTemporary: true,
281
- schema: {
282
- ...data,
283
- attributes: []
284
- }
285
- };
286
- state.contentTypes[uid] = newSchema;
287
- },
288
- editAttribute: (state, action)=>{
289
- const { attributeToSet, forTarget, targetUid, initialAttribute } = action.payload;
290
- const { name, ...rest } = attributeToSet;
291
- const initialAttributeName = initialAttribute.name;
292
- const pathToDataToEdit = [
293
- 'component',
294
- 'contentType'
295
- ].includes(forTarget) ? [
296
- forTarget
297
- ] : [
298
- forTarget,
299
- targetUid
300
- ];
301
- const initialAttributeIndex = findAttributeIndex(get(state, [
302
- 'modifiedData',
303
- ...pathToDataToEdit
304
- ]), initialAttributeName);
305
- const isEditingRelation = rest.type === 'relation';
306
- if (!isEditingRelation) {
307
- set(state, [
308
- 'modifiedData',
309
- ...pathToDataToEdit,
310
- 'schema',
311
- 'attributes',
312
- initialAttributeIndex
313
- ], attributeToSet);
314
- return;
315
- }
316
- const updatedAttributes = get(state, [
317
- 'modifiedData',
318
- ...pathToDataToEdit,
319
- 'schema',
320
- 'attributes'
321
- ]).slice();
322
- // First create the current relation attribute updated
323
- const toSet = {
324
- name,
325
- relation: rest.relation,
326
- target: rest.target,
327
- targetAttribute: rest.targetAttribute,
328
- type: 'relation'
329
- };
330
- if (rest.private) {
331
- toSet.private = rest.private;
332
- }
333
- if (rest.pluginOptions) {
334
- toSet.pluginOptions = rest.pluginOptions;
335
- }
336
- const currentAttributeIndex = updatedAttributes.findIndex((value)=>{
337
- return value.name !== undefined && value.name === initialAttribute.name;
338
- });
339
- // First set it in the updatedAttributes
340
- if (currentAttributeIndex !== -1) {
341
- updatedAttributes.splice(currentAttributeIndex, 1, toSet);
342
- }
343
- let oppositeAttributeNameToRemove = null;
344
- let oppositeAttributeNameToUpdate = null;
345
- let oppositeAttributeToCreate = null;
346
- let initialOppositeAttribute = null;
347
- const currentUid = get(state, [
348
- 'modifiedData',
349
- ...pathToDataToEdit,
350
- 'uid'
351
- ]);
352
- const didChangeTargetRelation = initialAttribute.target !== rest.target;
353
- const didCreateInternalRelation = rest.target === currentUid;
354
- const relationType = getRelationType.getRelationType(rest.relation, rest.targetAttribute);
355
- const initialRelationType = getRelationType.getRelationType(initialAttribute.relation, initialAttribute.targetAttribute);
356
- const hadInternalRelation = initialAttribute.target === currentUid;
357
- const didChangeRelationType = initialRelationType !== relationType;
358
- const shouldRemoveOppositeAttributeBecauseOfTargetChange = didChangeTargetRelation && !didCreateInternalRelation && hadInternalRelation && isEditingRelation;
359
- const shouldRemoveOppositeAttributeBecauseOfRelationTypeChange = didChangeRelationType && hadInternalRelation && [
360
- 'oneWay',
361
- 'manyWay'
362
- ].includes(relationType) && isEditingRelation;
363
- const shouldUpdateOppositeAttributeBecauseOfRelationTypeChange = !ONE_SIDE_RELATIONS.includes(initialRelationType) && !ONE_SIDE_RELATIONS.includes(relationType) && hadInternalRelation && didCreateInternalRelation && isEditingRelation;
364
- const shouldCreateOppositeAttributeBecauseOfRelationTypeChange = ONE_SIDE_RELATIONS.includes(initialRelationType) && !ONE_SIDE_RELATIONS.includes(relationType) && hadInternalRelation && didCreateInternalRelation && isEditingRelation;
365
- const shouldCreateOppositeAttributeBecauseOfTargetChange = didChangeTargetRelation && didCreateInternalRelation && !ONE_SIDE_RELATIONS.includes(relationType);
366
- // Store opposite attribute name to remove at the end of the loop
367
- if (shouldRemoveOppositeAttributeBecauseOfTargetChange || shouldRemoveOppositeAttributeBecauseOfRelationTypeChange) {
368
- oppositeAttributeNameToRemove = initialAttribute.targetAttribute;
369
- }
370
- // In case of oneWay or manyWay relation there isn't an opposite attribute
371
- if (oppositeAttributeNameToRemove) {
372
- const indexToRemove = updatedAttributes.findIndex((value)=>value.name === oppositeAttributeNameToRemove);
373
- updatedAttributes.splice(indexToRemove, 1);
374
- }
375
- // In order to preserve plugin options need to get the initial opposite attribute settings
376
- if (!shouldRemoveOppositeAttributeBecauseOfTargetChange) {
377
- const initialTargetContentType = get(state, [
378
- 'initialContentTypes',
379
- initialAttribute.target
380
- ]);
381
- if (initialTargetContentType) {
382
- const oppositeAttributeIndex = findAttributeIndex(initialTargetContentType, initialAttribute.targetAttribute);
383
- initialOppositeAttribute = get(state, [
384
- 'initialContentTypes',
385
- initialAttribute.target,
386
- 'schema',
387
- 'attributes',
388
- oppositeAttributeIndex
389
- ]);
390
- }
391
- }
392
- // Create the opposite attribute
393
- if (shouldCreateOppositeAttributeBecauseOfRelationTypeChange || shouldCreateOppositeAttributeBecauseOfTargetChange) {
394
- oppositeAttributeToCreate = {
395
- name: rest.targetAttribute,
396
- relation: getOppositeRelation(relationType),
397
- target: rest.target,
398
- targetAttribute: name,
399
- type: 'relation'
400
- };
401
- if (rest.private) {
402
- oppositeAttributeToCreate.private = rest.private;
403
- }
404
- if (initialOppositeAttribute && initialOppositeAttribute.pluginOptions) {
405
- oppositeAttributeToCreate.pluginOptions = initialOppositeAttribute.pluginOptions;
406
- }
407
- const indexOfInitialAttribute = updatedAttributes.findIndex(({ name })=>name === initialAttribute.name);
408
- const indexOfUpdatedAttribute = updatedAttributes.findIndex(({ name: attrName })=>name === attrName);
409
- const indexToInsert = (indexOfInitialAttribute === -1 ? indexOfUpdatedAttribute : indexOfInitialAttribute) + 1;
410
- updatedAttributes.splice(indexToInsert, 0, oppositeAttributeToCreate);
411
- }
412
- if (shouldUpdateOppositeAttributeBecauseOfRelationTypeChange) {
413
- oppositeAttributeNameToUpdate = initialAttribute.targetAttribute;
414
- oppositeAttributeToCreate = {
415
- name: rest.targetAttribute,
416
- relation: getOppositeRelation(relationType),
417
- target: rest.target,
418
- targetAttribute: name,
419
- type: 'relation'
420
- };
421
- if (rest.private) {
422
- oppositeAttributeToCreate.private = rest.private;
423
- }
424
- if (initialOppositeAttribute && initialOppositeAttribute.pluginOptions) {
425
- oppositeAttributeToCreate.pluginOptions = initialOppositeAttribute.pluginOptions;
426
- }
427
- if (oppositeAttributeNameToUpdate) {
428
- const indexToUpdate = updatedAttributes.findIndex(({ name })=>name === oppositeAttributeNameToUpdate);
429
- updatedAttributes.splice(indexToUpdate, 1, oppositeAttributeToCreate);
430
- }
431
- }
432
- set(state, [
433
- 'modifiedData',
434
- ...pathToDataToEdit,
435
- 'schema',
436
- 'attributes'
437
- ], updatedAttributes);
438
- },
439
- editCustomFieldAttribute: (state, action)=>{
440
- const { forTarget, targetUid, initialAttribute, attributeToSet } = action.payload;
441
- const initialAttributeName = initialAttribute.name;
442
- const pathToDataToEdit = [
443
- 'component',
444
- 'contentType'
445
- ].includes(forTarget) ? [
446
- forTarget
447
- ] : [
448
- forTarget,
449
- targetUid
450
- ];
451
- const initialAttributeIndex = findAttributeIndex(get(state, [
452
- 'modifiedData',
453
- ...pathToDataToEdit
454
- ]), initialAttributeName);
455
- set(state, [
456
- 'modifiedData',
457
- ...pathToDataToEdit,
458
- 'schema',
459
- 'attributes',
460
- initialAttributeIndex
461
- ], attributeToSet);
462
- },
463
- updateInitialState: (state)=>{
464
- state.initialData = state.modifiedData;
465
- },
466
- deleteNotSavedType: (state)=>{
467
- // Doing so will also reset the modified and the initial data
468
- state.contentTypes = state.initialContentTypes;
469
- state.components = state.initialComponents;
470
- },
471
- reloadPlugin: ()=>{
472
- return initialState;
473
- },
474
- removeComponentFromDynamicZone: (state, action)=>{
475
- const { dzName, componentToRemoveIndex } = action.payload;
476
- const dzAttributeIndex = findAttributeIndex(state.modifiedData.contentType, dzName);
477
- if (state.modifiedData.contentType) {
478
- state.modifiedData.contentType.schema.attributes[dzAttributeIndex].components.splice(componentToRemoveIndex, 1);
479
- }
480
- },
481
- removeField: (state, action)=>{
482
- const { mainDataKey, attributeToRemoveName } = action.payload;
483
- const pathToAttributes = [
484
- 'modifiedData',
485
- mainDataKey,
486
- 'schema',
487
- 'attributes'
488
- ];
489
- const attributeToRemoveIndex = findAttributeIndex(state.modifiedData[mainDataKey], attributeToRemoveName);
490
- const pathToAttributeToRemove = [
491
- ...pathToAttributes,
492
- attributeToRemoveIndex
493
- ];
494
- const attributeToRemoveData = get(state, pathToAttributeToRemove);
495
- const isRemovingRelationAttribute = attributeToRemoveData.type === 'relation';
496
- // Only content types can have relations with themselves since
497
- // components can only have oneWay or manyWay relations
498
- const canTheAttributeToRemoveHaveARelationWithItself = mainDataKey === 'contentType';
499
- if (isRemovingRelationAttribute && canTheAttributeToRemoveHaveARelationWithItself) {
500
- const { target, relation, targetAttribute } = attributeToRemoveData;
501
- const relationType = getRelationType.getRelationType(relation, targetAttribute);
502
- const uid = state.modifiedData.contentType?.uid;
503
- const shouldRemoveOppositeAttribute = target === uid && !ONE_SIDE_RELATIONS.includes(relationType);
504
- if (shouldRemoveOppositeAttribute) {
505
- const attributes = state.modifiedData[mainDataKey]?.schema.attributes.slice();
506
- const nextAttributes = attributes.filter((attribute)=>{
507
- if (attribute.name === attributeToRemoveName) {
508
- return false;
509
- }
510
- if (attribute.target === uid && attribute.targetAttribute === attributeToRemoveName) {
511
- return false;
512
- }
513
- return true;
514
- });
515
- const schema = state.modifiedData[mainDataKey];
516
- if (schema) {
517
- schema.schema.attributes = nextAttributes;
518
- }
519
- return;
520
- }
521
- }
522
- // Find all uid fields that have the targetField set to the field we are removing
523
- const uidFieldsToUpdate = state.modifiedData[mainDataKey].schema.attributes.slice().reduce((acc, current)=>{
524
- if (current.type !== 'uid') {
525
- return acc;
526
- }
527
- if (current.targetField !== attributeToRemoveName) {
528
- return acc;
529
- }
530
- acc.push(current.name);
531
- return acc;
532
- }, []);
533
- uidFieldsToUpdate.forEach((fieldName)=>{
534
- const fieldIndex = findAttributeIndex(state.modifiedData[mainDataKey], fieldName);
535
- delete state.modifiedData[mainDataKey]?.schema.attributes[fieldIndex].targetField;
536
- });
537
- state.modifiedData[mainDataKey]?.schema.attributes.splice(attributeToRemoveIndex, 1);
538
- },
539
- removeFieldFromDisplayedComponent: (state, action)=>{
540
- const { attributeToRemoveName, componentUid } = action.payload;
541
- const attributeToRemoveIndex = findAttributeIndex(state.modifiedData.components?.[componentUid], attributeToRemoveName);
542
- state.modifiedData.components?.[componentUid]?.schema?.attributes?.splice(attributeToRemoveIndex, 1);
543
- },
544
- setModifiedData: (state, action)=>{
545
- const { schemaToSet, hasJustCreatedSchema } = action.payload;
546
- const schema = {
547
- ...DEFAULT_MODIFIED_DATA,
548
- ...schemaToSet
549
- };
550
- state.initialData = schema;
551
- state.modifiedData = schema;
552
- // Reset the state with the initial data
553
- // All created components and content types will be lost
554
- if (!hasJustCreatedSchema) {
555
- state.components = state.initialComponents;
556
- state.contentTypes = state.initialContentTypes;
557
- }
558
- },
559
- updateSchema: (state, action)=>{
560
- const { data, schemaType } = action.payload;
561
- const schema = state.modifiedData[schemaType];
562
- if (!schema) {
563
- return;
564
- }
565
- schema.schema.displayName = data.displayName;
566
- if (schemaType === 'component') {
567
- const { uid } = action.payload;
568
- schema.category = data.category;
569
- schema.schema.icon = data.icon;
570
- const addedComponent = immer.current(schema);
571
- state.components[uid] = addedComponent;
572
- } else {
573
- schema.schema.kind = data.kind;
574
- }
575
- }
576
- }
577
- });
578
- const { reducer, actions } = slice;
579
-
580
- exports.actions = actions;
581
- exports.initialState = initialState;
582
- exports.reducer = reducer;
583
- //# sourceMappingURL=reducer.js.map