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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (520) hide show
  1. package/HeadlessCMS.js +33 -13
  2. package/HeadlessCMS.js.map +1 -1
  3. package/admin/components/ContentEntryForm/ContentEntryForm.js +61 -34
  4. package/admin/components/ContentEntryForm/ContentEntryForm.js.map +1 -1
  5. package/admin/components/ContentEntryForm/ContentEntryFormPreview.js +41 -18
  6. package/admin/components/ContentEntryForm/ContentEntryFormPreview.js.map +1 -1
  7. package/admin/components/ContentEntryForm/Fields.js +22 -9
  8. package/admin/components/ContentEntryForm/Fields.js.map +1 -1
  9. package/admin/components/ContentEntryForm/Label.js +23 -9
  10. package/admin/components/ContentEntryForm/Label.js.map +1 -1
  11. package/admin/components/ContentEntryForm/RenderFieldElement.js +31 -15
  12. package/admin/components/ContentEntryForm/RenderFieldElement.js.map +1 -1
  13. package/admin/components/ContentEntryForm/functions/createValidators.js +23 -8
  14. package/admin/components/ContentEntryForm/functions/createValidators.js.map +1 -1
  15. package/admin/components/ContentEntryForm/functions/getValue.js +11 -2
  16. package/admin/components/ContentEntryForm/functions/getValue.js.map +1 -1
  17. package/admin/components/ContentEntryForm/functions/setValue.js +16 -4
  18. package/admin/components/ContentEntryForm/functions/setValue.js.map +1 -1
  19. package/admin/components/ContentEntryForm/useBind.js +31 -27
  20. package/admin/components/ContentEntryForm/useBind.js.map +1 -1
  21. package/admin/components/ContentEntryForm/useContentEntryForm.js +77 -52
  22. package/admin/components/ContentEntryForm/useContentEntryForm.js.map +1 -1
  23. package/admin/components/ContentEntryForm/useRenderPlugins.js +14 -5
  24. package/admin/components/ContentEntryForm/useRenderPlugins.js.map +1 -1
  25. package/admin/components/ContentModelEditor/Context.js +73 -43
  26. package/admin/components/ContentModelEditor/Context.js.map +1 -1
  27. package/admin/components/ContentModelEditor/Editor.js +85 -50
  28. package/admin/components/ContentModelEditor/Editor.js.map +1 -1
  29. package/admin/components/ContentModelEditor/FieldsSidebar.js +37 -19
  30. package/admin/components/ContentModelEditor/FieldsSidebar.js.map +1 -1
  31. package/admin/components/ContentModelEditor/Header.js +24 -10
  32. package/admin/components/ContentModelEditor/Header.js.map +1 -1
  33. package/admin/components/ContentModelEditor/PreviewTab.js +36 -17
  34. package/admin/components/ContentModelEditor/PreviewTab.js.map +1 -1
  35. package/admin/components/ContentModelEditor/useContentModelEditor.js +15 -4
  36. package/admin/components/ContentModelEditor/useContentModelEditor.js.map +1 -1
  37. package/admin/components/DragPreview.js +27 -12
  38. package/admin/components/DragPreview.js.map +1 -1
  39. package/admin/components/Draggable.js +22 -8
  40. package/admin/components/Draggable.js.map +1 -1
  41. package/admin/components/DropZone/Center.js +26 -12
  42. package/admin/components/DropZone/Center.js.map +1 -1
  43. package/admin/components/DropZone/Horizontal.js +31 -17
  44. package/admin/components/DropZone/Horizontal.js.map +1 -1
  45. package/admin/components/DropZone/Vertical.js +29 -15
  46. package/admin/components/DropZone/Vertical.js.map +1 -1
  47. package/admin/components/DropZone/index.js +31 -4
  48. package/admin/components/DropZone/index.js.map +1 -1
  49. package/admin/components/Droppable.js +20 -6
  50. package/admin/components/Droppable.js.map +1 -1
  51. package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.js +50 -27
  52. package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.js.map +1 -1
  53. package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js +55 -36
  54. package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js.map +1 -1
  55. package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.js +60 -21
  56. package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.js.map +1 -1
  57. package/admin/components/FieldEditor/EditFieldDialog/ValidatorsTab.js +50 -32
  58. package/admin/components/FieldEditor/EditFieldDialog/ValidatorsTab.js.map +1 -1
  59. package/admin/components/FieldEditor/EditFieldDialog/functions/getValue.js +13 -3
  60. package/admin/components/FieldEditor/EditFieldDialog/functions/getValue.js.map +1 -1
  61. package/admin/components/FieldEditor/EditFieldDialog/functions/setValue.js +16 -6
  62. package/admin/components/FieldEditor/EditFieldDialog/functions/setValue.js.map +1 -1
  63. package/admin/components/FieldEditor/EditFieldDialog.js +105 -69
  64. package/admin/components/FieldEditor/EditFieldDialog.js.map +1 -1
  65. package/admin/components/FieldEditor/Field.js +86 -51
  66. package/admin/components/FieldEditor/Field.js.map +1 -1
  67. package/admin/components/FieldEditor/FieldEditor.js +66 -40
  68. package/admin/components/FieldEditor/FieldEditor.js.map +1 -1
  69. package/admin/components/FieldEditor/FieldEditorContext.js +51 -27
  70. package/admin/components/FieldEditor/FieldEditorContext.js.map +1 -1
  71. package/admin/components/FieldEditor/Styled.js +24 -8
  72. package/admin/components/FieldEditor/Styled.js.map +1 -1
  73. package/admin/components/FieldEditor/index.js +21 -2
  74. package/admin/components/FieldEditor/index.js.map +1 -1
  75. package/admin/components/FieldEditor/useFieldEditor.js +13 -4
  76. package/admin/components/FieldEditor/useFieldEditor.js.map +1 -1
  77. package/admin/components/FieldEditor/utils/deleteField.js +19 -5
  78. package/admin/components/FieldEditor/utils/deleteField.js.map +1 -1
  79. package/admin/components/FieldEditor/utils/getFieldPosition.js +11 -2
  80. package/admin/components/FieldEditor/utils/getFieldPosition.js.map +1 -1
  81. package/admin/components/FieldEditor/utils/index.js +39 -4
  82. package/admin/components/FieldEditor/utils/index.js.map +1 -1
  83. package/admin/components/FieldEditor/utils/moveField.js +30 -20
  84. package/admin/components/FieldEditor/utils/moveField.js.map +1 -1
  85. package/admin/components/FieldEditor/utils/moveRow.js +19 -6
  86. package/admin/components/FieldEditor/utils/moveRow.js.map +1 -1
  87. package/admin/constants/statusLabels.js +21 -9
  88. package/admin/constants/statusLabels.js.map +1 -1
  89. package/admin/contexts/Cms/NetworkError.js +14 -4
  90. package/admin/contexts/Cms/NetworkError.js.map +1 -1
  91. package/admin/contexts/Cms/index.js +29 -11
  92. package/admin/contexts/Cms/index.js.map +1 -1
  93. package/admin/elements/ContentGroupMenuElement.js +27 -12
  94. package/admin/elements/ContentGroupMenuElement.js.map +1 -1
  95. package/admin/elements/ContentModelMenuElement.js +27 -12
  96. package/admin/elements/ContentModelMenuElement.js.map +1 -1
  97. package/admin/elements/NothingToShowElement.js +51 -30
  98. package/admin/elements/NothingToShowElement.js.map +1 -1
  99. package/admin/graphql/contentEntries.js +84 -40
  100. package/admin/graphql/contentEntries.js.map +1 -1
  101. package/admin/graphql/contentModels.js +20 -6
  102. package/admin/graphql/contentModels.js.map +1 -1
  103. package/admin/graphql/createFieldsList.js +19 -6
  104. package/admin/graphql/createFieldsList.js.map +1 -1
  105. package/admin/hooks/index.js +68 -6
  106. package/admin/hooks/index.js.map +1 -1
  107. package/admin/hooks/useApolloClient.js +13 -3
  108. package/admin/hooks/useApolloClient.js.map +1 -1
  109. package/admin/hooks/useCms.js +13 -4
  110. package/admin/hooks/useCms.js.map +1 -1
  111. package/admin/hooks/useLazyQuery.js +18 -6
  112. package/admin/hooks/useLazyQuery.js.map +1 -1
  113. package/admin/hooks/useMutation.js +18 -6
  114. package/admin/hooks/useMutation.js.map +1 -1
  115. package/admin/hooks/usePermission.js +39 -23
  116. package/admin/hooks/usePermission.js.map +1 -1
  117. package/admin/hooks/useQuery.js +18 -6
  118. package/admin/hooks/useQuery.js.map +1 -1
  119. package/admin/hooks/useQueryLocale.js +21 -7
  120. package/admin/hooks/useQueryLocale.js.map +1 -1
  121. package/admin/menus/CmsMenuLoader.js +32 -14
  122. package/admin/menus/CmsMenuLoader.js.map +1 -1
  123. package/admin/menus/ContentGroupsMenuItems.js +43 -24
  124. package/admin/menus/ContentGroupsMenuItems.js.map +1 -1
  125. package/admin/menus/GlobalSearchPlugins.js +31 -15
  126. package/admin/menus/GlobalSearchPlugins.js.map +1 -1
  127. package/admin/menus/NothingToShowElement.js +26 -11
  128. package/admin/menus/NothingToShowElement.js.map +1 -1
  129. package/admin/plugins/apiInformation/index.js +17 -5
  130. package/admin/plugins/apiInformation/index.js.map +1 -1
  131. package/admin/plugins/definitions/CmsEditorFieldValidatorFileTypePlugin.js +33 -21
  132. package/admin/plugins/definitions/CmsEditorFieldValidatorFileTypePlugin.js.map +1 -1
  133. package/admin/plugins/definitions/CmsFieldValidatorFileTypePlugin.js +33 -20
  134. package/admin/plugins/definitions/CmsFieldValidatorFileTypePlugin.js.map +1 -1
  135. package/admin/plugins/editor/defaultBar/BackButton.js +28 -11
  136. package/admin/plugins/editor/defaultBar/BackButton.js.map +1 -1
  137. package/admin/plugins/editor/defaultBar/CreateContentButton.js +39 -20
  138. package/admin/plugins/editor/defaultBar/CreateContentButton.js.map +1 -1
  139. package/admin/plugins/editor/defaultBar/Divider.js +14 -3
  140. package/admin/plugins/editor/defaultBar/Divider.js.map +1 -1
  141. package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js +67 -39
  142. package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js.map +1 -1
  143. package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsButton.js +29 -13
  144. package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsButton.js.map +1 -1
  145. package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsStyled.js +30 -10
  146. package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsStyled.js.map +1 -1
  147. package/admin/plugins/editor/defaultBar/FormSettings/index.js +15 -1
  148. package/admin/plugins/editor/defaultBar/FormSettings/index.js.map +1 -1
  149. package/admin/plugins/editor/defaultBar/Name/Name.js +47 -30
  150. package/admin/plugins/editor/defaultBar/Name/Name.js.map +1 -1
  151. package/admin/plugins/editor/defaultBar/Name/NameStyled.js +22 -7
  152. package/admin/plugins/editor/defaultBar/Name/NameStyled.js.map +1 -1
  153. package/admin/plugins/editor/defaultBar/Name/index.js +13 -1
  154. package/admin/plugins/editor/defaultBar/Name/index.js.map +1 -1
  155. package/admin/plugins/editor/defaultBar/SaveContentModelButton.js +40 -20
  156. package/admin/plugins/editor/defaultBar/SaveContentModelButton.js.map +1 -1
  157. package/admin/plugins/editor/defaultBar/index.js +32 -15
  158. package/admin/plugins/editor/defaultBar/index.js.map +1 -1
  159. package/admin/plugins/editor/formSettings/components/GeneralSettings.js +33 -19
  160. package/admin/plugins/editor/formSettings/components/GeneralSettings.js.map +1 -1
  161. package/admin/plugins/editor/formSettings/components/GroupSelect.js +27 -10
  162. package/admin/plugins/editor/formSettings/components/GroupSelect.js.map +1 -1
  163. package/admin/plugins/editor/formSettings/index.js +21 -6
  164. package/admin/plugins/editor/formSettings/index.js.map +1 -1
  165. package/admin/plugins/fieldRenderers/Accordion.js +43 -25
  166. package/admin/plugins/fieldRenderers/Accordion.js.map +1 -1
  167. package/admin/plugins/fieldRenderers/DynamicSection.js +42 -24
  168. package/admin/plugins/fieldRenderers/DynamicSection.js.map +1 -1
  169. package/admin/plugins/fieldRenderers/boolean/booleanSwitch.js +27 -12
  170. package/admin/plugins/fieldRenderers/boolean/booleanSwitch.js.map +1 -1
  171. package/admin/plugins/fieldRenderers/boolean/index.js +13 -2
  172. package/admin/plugins/fieldRenderers/boolean/index.js.map +1 -1
  173. package/admin/plugins/fieldRenderers/checkboxes.js +30 -15
  174. package/admin/plugins/fieldRenderers/checkboxes.js.map +1 -1
  175. package/admin/plugins/fieldRenderers/dateTime/DateOnly.js +34 -15
  176. package/admin/plugins/fieldRenderers/dateTime/DateOnly.js.map +1 -1
  177. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.js +59 -36
  178. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.js.map +1 -1
  179. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.js +50 -30
  180. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.js.map +1 -1
  181. package/admin/plugins/fieldRenderers/dateTime/Input.js +24 -8
  182. package/admin/plugins/fieldRenderers/dateTime/Input.js.map +1 -1
  183. package/admin/plugins/fieldRenderers/dateTime/Select.js +18 -5
  184. package/admin/plugins/fieldRenderers/dateTime/Select.js.map +1 -1
  185. package/admin/plugins/fieldRenderers/dateTime/Time.js +34 -15
  186. package/admin/plugins/fieldRenderers/dateTime/Time.js.map +1 -1
  187. package/admin/plugins/fieldRenderers/dateTime/dateTimeField.js +36 -18
  188. package/admin/plugins/fieldRenderers/dateTime/dateTimeField.js.map +1 -1
  189. package/admin/plugins/fieldRenderers/dateTime/dateTimeFields.js +47 -26
  190. package/admin/plugins/fieldRenderers/dateTime/dateTimeFields.js.map +1 -1
  191. package/admin/plugins/fieldRenderers/dateTime/index.js +15 -3
  192. package/admin/plugins/fieldRenderers/dateTime/index.js.map +1 -1
  193. package/admin/plugins/fieldRenderers/dateTime/utils.js +48 -17
  194. package/admin/plugins/fieldRenderers/dateTime/utils.js.map +1 -1
  195. package/admin/plugins/fieldRenderers/file/File.js +34 -16
  196. package/admin/plugins/fieldRenderers/file/File.js.map +1 -1
  197. package/admin/plugins/fieldRenderers/file/fileField.js +30 -14
  198. package/admin/plugins/fieldRenderers/file/fileField.js.map +1 -1
  199. package/admin/plugins/fieldRenderers/file/fileFields.js +54 -33
  200. package/admin/plugins/fieldRenderers/file/fileFields.js.map +1 -1
  201. package/admin/plugins/fieldRenderers/file/index.js +15 -3
  202. package/admin/plugins/fieldRenderers/file/index.js.map +1 -1
  203. package/admin/plugins/fieldRenderers/file/utils.js +27 -10
  204. package/admin/plugins/fieldRenderers/file/utils.js.map +1 -1
  205. package/admin/plugins/fieldRenderers/longText/index.js +15 -3
  206. package/admin/plugins/fieldRenderers/longText/index.js.map +1 -1
  207. package/admin/plugins/fieldRenderers/longText/longText.js +27 -12
  208. package/admin/plugins/fieldRenderers/longText/longText.js.map +1 -1
  209. package/admin/plugins/fieldRenderers/longText/longTexts.js +33 -16
  210. package/admin/plugins/fieldRenderers/longText/longTexts.js.map +1 -1
  211. package/admin/plugins/fieldRenderers/number/index.js +15 -3
  212. package/admin/plugins/fieldRenderers/number/index.js.map +1 -1
  213. package/admin/plugins/fieldRenderers/number/numberInput.js +27 -12
  214. package/admin/plugins/fieldRenderers/number/numberInput.js.map +1 -1
  215. package/admin/plugins/fieldRenderers/number/numberInputs.js +33 -16
  216. package/admin/plugins/fieldRenderers/number/numberInputs.js.map +1 -1
  217. package/admin/plugins/fieldRenderers/object/StyledComponents.js +17 -5
  218. package/admin/plugins/fieldRenderers/object/StyledComponents.js.map +1 -1
  219. package/admin/plugins/fieldRenderers/object/index.js +15 -3
  220. package/admin/plugins/fieldRenderers/object/index.js.map +1 -1
  221. package/admin/plugins/fieldRenderers/object/multipleObjects.js +51 -29
  222. package/admin/plugins/fieldRenderers/object/multipleObjects.js.map +1 -1
  223. package/admin/plugins/fieldRenderers/object/singleObject.js +35 -17
  224. package/admin/plugins/fieldRenderers/object/singleObject.js.map +1 -1
  225. package/admin/plugins/fieldRenderers/radioButtons.js +29 -14
  226. package/admin/plugins/fieldRenderers/radioButtons.js.map +1 -1
  227. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.js +61 -36
  228. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.js.map +1 -1
  229. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.js +58 -35
  230. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.js.map +1 -1
  231. package/admin/plugins/fieldRenderers/ref/components/EntryStatus.js +37 -18
  232. package/admin/plugins/fieldRenderers/ref/components/EntryStatus.js.map +1 -1
  233. package/admin/plugins/fieldRenderers/ref/components/MissingEntryHelpText.js +38 -18
  234. package/admin/plugins/fieldRenderers/ref/components/MissingEntryHelpText.js.map +1 -1
  235. package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.js +87 -53
  236. package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.js.map +1 -1
  237. package/admin/plugins/fieldRenderers/ref/components/createEntryUrl.js +15 -3
  238. package/admin/plugins/fieldRenderers/ref/components/createEntryUrl.js.map +1 -1
  239. package/admin/plugins/fieldRenderers/ref/components/graphql.js +18 -5
  240. package/admin/plugins/fieldRenderers/ref/components/graphql.js.map +1 -1
  241. package/admin/plugins/fieldRenderers/ref/components/helpers.js +23 -5
  242. package/admin/plugins/fieldRenderers/ref/components/helpers.js.map +1 -1
  243. package/admin/plugins/fieldRenderers/ref/components/renderItem.js +42 -19
  244. package/admin/plugins/fieldRenderers/ref/components/renderItem.js.map +1 -1
  245. package/admin/plugins/fieldRenderers/ref/components/types.js +5 -1
  246. package/admin/plugins/fieldRenderers/ref/components/types.js.map +1 -1
  247. package/admin/plugins/fieldRenderers/ref/components/useReference.js +59 -41
  248. package/admin/plugins/fieldRenderers/ref/components/useReference.js.map +1 -1
  249. package/admin/plugins/fieldRenderers/ref/components/useReferences.js +60 -41
  250. package/admin/plugins/fieldRenderers/ref/components/useReferences.js.map +1 -1
  251. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntry.js +27 -10
  252. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntry.js.map +1 -1
  253. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntryDialog.js +30 -10
  254. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntryDialog.js.map +1 -1
  255. package/admin/plugins/fieldRenderers/ref/index.js +15 -3
  256. package/admin/plugins/fieldRenderers/ref/index.js.map +1 -1
  257. package/admin/plugins/fieldRenderers/ref/refInput.js +26 -11
  258. package/admin/plugins/fieldRenderers/ref/refInput.js.map +1 -1
  259. package/admin/plugins/fieldRenderers/ref/refInputs.js +25 -11
  260. package/admin/plugins/fieldRenderers/ref/refInputs.js.map +1 -1
  261. package/admin/plugins/fieldRenderers/richText/index.js +15 -3
  262. package/admin/plugins/fieldRenderers/richText/index.js.map +1 -1
  263. package/admin/plugins/fieldRenderers/richText/richTextInput.js +32 -15
  264. package/admin/plugins/fieldRenderers/richText/richTextInput.js.map +1 -1
  265. package/admin/plugins/fieldRenderers/richText/richTextInputs.js +43 -22
  266. package/admin/plugins/fieldRenderers/richText/richTextInputs.js.map +1 -1
  267. package/admin/plugins/fieldRenderers/select.js +26 -12
  268. package/admin/plugins/fieldRenderers/select.js.map +1 -1
  269. package/admin/plugins/fieldRenderers/text/index.js +15 -3
  270. package/admin/plugins/fieldRenderers/text/index.js.map +1 -1
  271. package/admin/plugins/fieldRenderers/text/textInput.js +27 -12
  272. package/admin/plugins/fieldRenderers/text/textInput.js.map +1 -1
  273. package/admin/plugins/fieldRenderers/text/textInputs.js +33 -16
  274. package/admin/plugins/fieldRenderers/text/textInputs.js.map +1 -1
  275. package/admin/plugins/fieldValidators/date/availableValidators.js +11 -2
  276. package/admin/plugins/fieldValidators/date/availableValidators.js.map +1 -1
  277. package/admin/plugins/fieldValidators/date/createDateInputField.js +27 -11
  278. package/admin/plugins/fieldValidators/date/createDateInputField.js.map +1 -1
  279. package/admin/plugins/fieldValidators/dateGte.js +32 -15
  280. package/admin/plugins/fieldValidators/dateGte.js.map +1 -1
  281. package/admin/plugins/fieldValidators/dateLte.js +32 -15
  282. package/admin/plugins/fieldValidators/dateLte.js.map +1 -1
  283. package/admin/plugins/fieldValidators/gte.js +23 -9
  284. package/admin/plugins/fieldValidators/gte.js.map +1 -1
  285. package/admin/plugins/fieldValidators/in.js +23 -9
  286. package/admin/plugins/fieldValidators/in.js.map +1 -1
  287. package/admin/plugins/fieldValidators/lte.js +23 -9
  288. package/admin/plugins/fieldValidators/lte.js.map +1 -1
  289. package/admin/plugins/fieldValidators/maxLength.js +23 -9
  290. package/admin/plugins/fieldValidators/maxLength.js.map +1 -1
  291. package/admin/plugins/fieldValidators/minLength.js +23 -9
  292. package/admin/plugins/fieldValidators/minLength.js.map +1 -1
  293. package/admin/plugins/fieldValidators/pattern.js +40 -22
  294. package/admin/plugins/fieldValidators/pattern.js.map +1 -1
  295. package/admin/plugins/fieldValidators/patternPlugins/email.js +8 -1
  296. package/admin/plugins/fieldValidators/patternPlugins/email.js.map +1 -1
  297. package/admin/plugins/fieldValidators/patternPlugins/lowerCase.js +8 -1
  298. package/admin/plugins/fieldValidators/patternPlugins/lowerCase.js.map +1 -1
  299. package/admin/plugins/fieldValidators/patternPlugins/lowerCaseSpace.js +8 -1
  300. package/admin/plugins/fieldValidators/patternPlugins/lowerCaseSpace.js.map +1 -1
  301. package/admin/plugins/fieldValidators/patternPlugins/upperCase.js +8 -1
  302. package/admin/plugins/fieldValidators/patternPlugins/upperCase.js.map +1 -1
  303. package/admin/plugins/fieldValidators/patternPlugins/upperCaseSpace.js +8 -1
  304. package/admin/plugins/fieldValidators/patternPlugins/upperCaseSpace.js.map +1 -1
  305. package/admin/plugins/fieldValidators/patternPlugins/url.js +8 -1
  306. package/admin/plugins/fieldValidators/patternPlugins/url.js.map +1 -1
  307. package/admin/plugins/fieldValidators/required.js +8 -1
  308. package/admin/plugins/fieldValidators/required.js.map +1 -1
  309. package/admin/plugins/fieldValidators/unique.js +11 -2
  310. package/admin/plugins/fieldValidators/unique.js.map +1 -1
  311. package/admin/plugins/fields/PredefinedValuesDynamicFieldset.d.ts +1 -2
  312. package/admin/plugins/fields/PredefinedValuesDynamicFieldset.js +72 -46
  313. package/admin/plugins/fields/PredefinedValuesDynamicFieldset.js.map +1 -1
  314. package/admin/plugins/fields/boolean.js +34 -18
  315. package/admin/plugins/fields/boolean.js.map +1 -1
  316. package/admin/plugins/fields/dateTime.js +60 -44
  317. package/admin/plugins/fields/dateTime.js.map +1 -1
  318. package/admin/plugins/fields/file.js +33 -17
  319. package/admin/plugins/fields/file.js.map +1 -1
  320. package/admin/plugins/fields/longText.js +33 -17
  321. package/admin/plugins/fields/longText.js.map +1 -1
  322. package/admin/plugins/fields/number.js +39 -22
  323. package/admin/plugins/fields/number.js.map +1 -1
  324. package/admin/plugins/fields/object/ObjectFields.js +28 -11
  325. package/admin/plugins/fields/object/ObjectFields.js.map +1 -1
  326. package/admin/plugins/fields/object.js +30 -14
  327. package/admin/plugins/fields/object.js.map +1 -1
  328. package/admin/plugins/fields/ref.js +60 -34
  329. package/admin/plugins/fields/ref.js.map +1 -1
  330. package/admin/plugins/fields/richText.js +33 -17
  331. package/admin/plugins/fields/richText.js.map +1 -1
  332. package/admin/plugins/fields/text.js +37 -20
  333. package/admin/plugins/fields/text.js.map +1 -1
  334. package/admin/plugins/getObjectId.js +8 -1
  335. package/admin/plugins/getObjectId.js.map +1 -1
  336. package/admin/plugins/icons.js +25 -10
  337. package/admin/plugins/icons.js.map +1 -1
  338. package/admin/plugins/index.d.ts +1 -1
  339. package/admin/plugins/index.js +32 -12
  340. package/admin/plugins/index.js.map +1 -1
  341. package/admin/plugins/install.js +55 -30
  342. package/admin/plugins/install.js.map +1 -1
  343. package/admin/plugins/permissionRenderer/CmsPermissions.js +74 -50
  344. package/admin/plugins/permissionRenderer/CmsPermissions.js.map +1 -1
  345. package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js +70 -46
  346. package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js.map +1 -1
  347. package/admin/plugins/permissionRenderer/components/ContentModelGroupPermission.js +54 -34
  348. package/admin/plugins/permissionRenderer/components/ContentModelGroupPermission.js.map +1 -1
  349. package/admin/plugins/permissionRenderer/components/ContentModelList.js +38 -20
  350. package/admin/plugins/permissionRenderer/components/ContentModelList.js.map +1 -1
  351. package/admin/plugins/permissionRenderer/components/ContentModelPermission.js +71 -46
  352. package/admin/plugins/permissionRenderer/components/ContentModelPermission.js.map +1 -1
  353. package/admin/plugins/permissionRenderer/components/PermissionRendererWrapper.js +27 -12
  354. package/admin/plugins/permissionRenderer/components/PermissionRendererWrapper.js.map +1 -1
  355. package/admin/plugins/permissionRenderer/components/PermissionSelector.js +44 -23
  356. package/admin/plugins/permissionRenderer/components/PermissionSelector.js.map +1 -1
  357. package/admin/plugins/permissionRenderer/components/StyledComponents.js +14 -3
  358. package/admin/plugins/permissionRenderer/components/StyledComponents.js.map +1 -1
  359. package/admin/plugins/permissionRenderer/components/types.js +5 -1
  360. package/admin/plugins/permissionRenderer/components/types.js.map +1 -1
  361. package/admin/plugins/permissionRenderer/components/useCmsData.js +43 -22
  362. package/admin/plugins/permissionRenderer/components/useCmsData.js.map +1 -1
  363. package/admin/plugins/permissionRenderer/index.js +22 -8
  364. package/admin/plugins/permissionRenderer/index.js.map +1 -1
  365. package/admin/plugins/routes.js +66 -37
  366. package/admin/plugins/routes.js.map +1 -1
  367. package/admin/plugins/transformers/dateTransformer.js +24 -11
  368. package/admin/plugins/transformers/dateTransformer.js.map +1 -1
  369. package/admin/plugins/transformers/index.js +18 -5
  370. package/admin/plugins/transformers/index.js.map +1 -1
  371. package/admin/plugins/transformers/numberTransformer.js +11 -2
  372. package/admin/plugins/transformers/numberTransformer.js.map +1 -1
  373. package/admin/plugins/upgrades/5.19.0/UpgradeItemsInfo.js +19 -7
  374. package/admin/plugins/upgrades/5.19.0/UpgradeItemsInfo.js.map +1 -1
  375. package/admin/plugins/upgrades/5.19.0/createCmsApolloClient.js +33 -15
  376. package/admin/plugins/upgrades/5.19.0/createCmsApolloClient.js.map +1 -1
  377. package/admin/plugins/upgrades/5.19.0/createListEntriesQuery.js +23 -9
  378. package/admin/plugins/upgrades/5.19.0/createListEntriesQuery.js.map +1 -1
  379. package/admin/plugins/upgrades/5.19.0/createListModelsQuery.js +17 -5
  380. package/admin/plugins/upgrades/5.19.0/createListModelsQuery.js.map +1 -1
  381. package/admin/plugins/upgrades/5.19.0/createRepublishMutation.js +20 -7
  382. package/admin/plugins/upgrades/5.19.0/createRepublishMutation.js.map +1 -1
  383. package/admin/plugins/upgrades/5.19.0/createUpgradeMutation.js +17 -5
  384. package/admin/plugins/upgrades/5.19.0/createUpgradeMutation.js.map +1 -1
  385. package/admin/plugins/upgrades/5.19.0/fetchModelEntries.js +27 -13
  386. package/admin/plugins/upgrades/5.19.0/fetchModelEntries.js.map +1 -1
  387. package/admin/plugins/upgrades/5.19.0/types.js +5 -1
  388. package/admin/plugins/upgrades/5.19.0/types.js.map +1 -1
  389. package/admin/plugins/upgrades/v5.0.0.js +58 -33
  390. package/admin/plugins/upgrades/v5.0.0.js.map +1 -1
  391. package/admin/plugins/upgrades/v5.19.0.js +118 -82
  392. package/admin/plugins/upgrades/v5.19.0.js.map +1 -1
  393. package/admin/plugins/upgrades/v5.5.0.js +58 -33
  394. package/admin/plugins/upgrades/v5.5.0.js.map +1 -1
  395. package/admin/plugins/upgrades/v5.8.0.js +58 -33
  396. package/admin/plugins/upgrades/v5.8.0.js.map +1 -1
  397. package/admin/plugins/validators/dateGte.js +23 -9
  398. package/admin/plugins/validators/dateGte.js.map +1 -1
  399. package/admin/plugins/validators/dateLte.js +23 -9
  400. package/admin/plugins/validators/dateLte.js.map +1 -1
  401. package/admin/plugins/validators/gte.js +20 -7
  402. package/admin/plugins/validators/gte.js.map +1 -1
  403. package/admin/plugins/validators/in.js +20 -7
  404. package/admin/plugins/validators/in.js.map +1 -1
  405. package/admin/plugins/validators/lte.js +20 -7
  406. package/admin/plugins/validators/lte.js.map +1 -1
  407. package/admin/plugins/validators/maxLength.js +20 -7
  408. package/admin/plugins/validators/maxLength.js.map +1 -1
  409. package/admin/plugins/validators/minLength.js +20 -7
  410. package/admin/plugins/validators/minLength.js.map +1 -1
  411. package/admin/plugins/validators/pattern.js +20 -7
  412. package/admin/plugins/validators/pattern.js.map +1 -1
  413. package/admin/plugins/validators/patternPlugins/email.js +8 -1
  414. package/admin/plugins/validators/patternPlugins/email.js.map +1 -1
  415. package/admin/plugins/validators/patternPlugins/lowerCase.js +8 -1
  416. package/admin/plugins/validators/patternPlugins/lowerCase.js.map +1 -1
  417. package/admin/plugins/validators/patternPlugins/lowerCaseSpace.js +8 -1
  418. package/admin/plugins/validators/patternPlugins/lowerCaseSpace.js.map +1 -1
  419. package/admin/plugins/validators/patternPlugins/upperCase.js +8 -1
  420. package/admin/plugins/validators/patternPlugins/upperCase.js.map +1 -1
  421. package/admin/plugins/validators/patternPlugins/upperCaseSpace.js +8 -1
  422. package/admin/plugins/validators/patternPlugins/upperCaseSpace.js.map +1 -1
  423. package/admin/plugins/validators/patternPlugins/url.js +8 -1
  424. package/admin/plugins/validators/patternPlugins/url.js.map +1 -1
  425. package/admin/plugins/validators/required.js +12 -3
  426. package/admin/plugins/validators/required.js.map +1 -1
  427. package/admin/plugins/validators/timeGte.js +22 -8
  428. package/admin/plugins/validators/timeGte.js.map +1 -1
  429. package/admin/plugins/validators/timeLte.js +22 -8
  430. package/admin/plugins/validators/timeLte.js.map +1 -1
  431. package/admin/plugins/validators/unique.js +18 -6
  432. package/admin/plugins/validators/unique.js.map +1 -1
  433. package/admin/plugins/welcomeScreenWidget.js +23 -9
  434. package/admin/plugins/welcomeScreenWidget.js.map +1 -1
  435. package/admin/views/contentEntries/ContentEntries.js +57 -31
  436. package/admin/views/contentEntries/ContentEntries.js.map +1 -1
  437. package/admin/views/contentEntries/ContentEntriesContext.js +43 -21
  438. package/admin/views/contentEntries/ContentEntriesContext.js.map +1 -1
  439. package/admin/views/contentEntries/ContentEntriesList.js +102 -75
  440. package/admin/views/contentEntries/ContentEntriesList.js.map +1 -1
  441. package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js +72 -41
  442. package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js.map +1 -1
  443. package/admin/views/contentEntries/ContentEntry/RevisionListItem.js +95 -67
  444. package/admin/views/contentEntries/ContentEntry/RevisionListItem.js.map +1 -1
  445. package/admin/views/contentEntries/ContentEntry/RevisionsList.js +38 -19
  446. package/admin/views/contentEntries/ContentEntry/RevisionsList.js.map +1 -1
  447. package/admin/views/contentEntries/ContentEntry/cache.js +65 -31
  448. package/admin/views/contentEntries/ContentEntry/cache.js.map +1 -1
  449. package/admin/views/contentEntries/ContentEntry/header/Header.js +31 -16
  450. package/admin/views/contentEntries/ContentEntry/header/Header.js.map +1 -1
  451. package/admin/views/contentEntries/ContentEntry/header/contentFormOptionsMenu/ContentFormOptionsMenu.js +90 -55
  452. package/admin/views/contentEntries/ContentEntry/header/contentFormOptionsMenu/ContentFormOptionsMenu.js.map +1 -1
  453. package/admin/views/contentEntries/ContentEntry/header/index.js +33 -14
  454. package/admin/views/contentEntries/ContentEntry/header/index.js.map +1 -1
  455. package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.js +47 -26
  456. package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.js.map +1 -1
  457. package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.js +50 -27
  458. package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.js.map +1 -1
  459. package/admin/views/contentEntries/ContentEntry/header/revisionSelector/RevisionSelector.js +47 -26
  460. package/admin/views/contentEntries/ContentEntry/header/revisionSelector/RevisionSelector.js.map +1 -1
  461. package/admin/views/contentEntries/ContentEntry/header/saveAndPublishContent/SaveAndPublishContent.js +45 -24
  462. package/admin/views/contentEntries/ContentEntry/header/saveAndPublishContent/SaveAndPublishContent.js.map +1 -1
  463. package/admin/views/contentEntries/ContentEntry/header/saveContent/SaveContent.js +27 -12
  464. package/admin/views/contentEntries/ContentEntry/header/saveContent/SaveContent.js.map +1 -1
  465. package/admin/views/contentEntries/ContentEntry/prepareFormData.js +19 -7
  466. package/admin/views/contentEntries/ContentEntry/prepareFormData.js.map +1 -1
  467. package/admin/views/contentEntries/ContentEntry/useRevision.js +57 -36
  468. package/admin/views/contentEntries/ContentEntry/useRevision.js.map +1 -1
  469. package/admin/views/contentEntries/ContentEntry.js +62 -35
  470. package/admin/views/contentEntries/ContentEntry.js.map +1 -1
  471. package/admin/views/contentEntries/experiment/ContentEntriesModule.js +42 -25
  472. package/admin/views/contentEntries/experiment/ContentEntriesModule.js.map +1 -1
  473. package/admin/views/contentEntries/experiment/ContentEntriesRenderer.js +29 -9
  474. package/admin/views/contentEntries/experiment/ContentEntriesRenderer.js.map +1 -1
  475. package/admin/views/contentEntries/experiment/ContentEntriesViewConfig.js +51 -29
  476. package/admin/views/contentEntries/experiment/ContentEntriesViewConfig.js.map +1 -1
  477. package/admin/views/contentEntries/experiment/Property.js +74 -58
  478. package/admin/views/contentEntries/experiment/Property.js.map +1 -1
  479. package/admin/views/contentEntries/hooks/useContentEntries.js +13 -4
  480. package/admin/views/contentEntries/hooks/useContentEntries.js.map +1 -1
  481. package/admin/views/contentEntries/hooks/useContentEntriesList.js +59 -39
  482. package/admin/views/contentEntries/hooks/useContentEntriesList.js.map +1 -1
  483. package/admin/views/contentEntries/hooks/useContentEntry.js +13 -4
  484. package/admin/views/contentEntries/hooks/useContentEntry.js.map +1 -1
  485. package/admin/views/contentModelGroups/ContentModelGroups.js +28 -12
  486. package/admin/views/contentModelGroups/ContentModelGroups.js.map +1 -1
  487. package/admin/views/contentModelGroups/ContentModelGroupsDataList.js +114 -77
  488. package/admin/views/contentModelGroups/ContentModelGroupsDataList.js.map +1 -1
  489. package/admin/views/contentModelGroups/ContentModelGroupsForm.js +117 -78
  490. package/admin/views/contentModelGroups/ContentModelGroupsForm.js.map +1 -1
  491. package/admin/views/contentModelGroups/DelayedOnChange.js +49 -48
  492. package/admin/views/contentModelGroups/DelayedOnChange.js.map +1 -1
  493. package/admin/views/contentModelGroups/IconPicker.js +56 -33
  494. package/admin/views/contentModelGroups/IconPicker.js.map +1 -1
  495. package/admin/views/contentModelGroups/graphql.js +22 -7
  496. package/admin/views/contentModelGroups/graphql.js.map +1 -1
  497. package/admin/views/contentModels/CloneContentModelDialog.js +104 -71
  498. package/admin/views/contentModels/CloneContentModelDialog.js.map +1 -1
  499. package/admin/views/contentModels/ContentModelEditor.js +30 -14
  500. package/admin/views/contentModels/ContentModelEditor.js.map +1 -1
  501. package/admin/views/contentModels/ContentModels.js +49 -30
  502. package/admin/views/contentModels/ContentModels.js.map +1 -1
  503. package/admin/views/contentModels/ContentModelsDataList.js +144 -108
  504. package/admin/views/contentModels/ContentModelsDataList.js.map +1 -1
  505. package/admin/views/contentModels/NewContentModelDialog.js +107 -70
  506. package/admin/views/contentModels/NewContentModelDialog.js.map +1 -1
  507. package/admin/views/contentModels/cache.js +41 -19
  508. package/admin/views/contentModels/cache.js.map +1 -1
  509. package/admin/views/contentModels/types.js +5 -1
  510. package/admin/views/contentModels/types.js.map +1 -1
  511. package/admin/views/utils.js +16 -4
  512. package/admin/views/utils.js.map +1 -1
  513. package/admin/viewsGraphql.js +22 -7
  514. package/admin/viewsGraphql.js.map +1 -1
  515. package/index.js +30 -11
  516. package/index.js.map +1 -1
  517. package/package.json +22 -22
  518. package/types.d.ts +3 -3
  519. package/types.js +5 -1
  520. package/types.js.map +1 -1
@@ -1,12 +1,29 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- import _objectSpread from "@babel/runtime/helpers/objectSpread2";
3
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
4
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
5
- import _regeneratorRuntime from "@babel/runtime/regenerator";
6
- import { useCallback, useEffect, useMemo, useRef, useState } from "react";
7
- import { useApolloClient } from "../../../../hooks";
8
- import { SEARCH_CONTENT_ENTRIES, GET_CONTENT_ENTRY } from "./graphql";
9
- import { convertReferenceEntriesToOptionCollection, convertReferenceEntryToOption } from "./helpers";
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.useReference = void 0;
9
+
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
12
+ var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
13
+
14
+ var _objectSpread3 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
15
+
16
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
17
+
18
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
+
20
+ var _react = require("react");
21
+
22
+ var _hooks = require("../../../../hooks");
23
+
24
+ var _graphql = require("./graphql");
25
+
26
+ var _helpers = require("./helpers");
10
27
 
11
28
  var getValueHash = function getValueHash(value) {
12
29
  if (!value || !value.id && !value.entryId) {
@@ -18,34 +35,34 @@ var getValueHash = function getValueHash(value) {
18
35
  return value.id.split("#").shift();
19
36
  };
20
37
 
21
- export var useReference = function useReference(_ref) {
38
+ var useReference = function useReference(_ref) {
22
39
  var bind = _ref.bind,
23
40
  field = _ref.field;
24
- var allEntries = useRef({});
25
- var client = useApolloClient();
41
+ var allEntries = (0, _react.useRef)({});
42
+ var client = (0, _hooks.useApolloClient)();
26
43
 
27
- var _useState = useState(""),
28
- _useState2 = _slicedToArray(_useState, 2),
44
+ var _useState = (0, _react.useState)(""),
45
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
29
46
  search = _useState2[0],
30
47
  setSearch = _useState2[1];
31
48
 
32
- var _useState3 = useState(false),
33
- _useState4 = _slicedToArray(_useState3, 2),
49
+ var _useState3 = (0, _react.useState)(false),
50
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
34
51
  loading = _useState4[0],
35
52
  setLoading = _useState4[1];
36
53
 
37
- var _useState5 = useState({}),
38
- _useState6 = _slicedToArray(_useState5, 2),
54
+ var _useState5 = (0, _react.useState)({}),
55
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
39
56
  entries = _useState6[0],
40
57
  setEntries = _useState6[1];
41
58
 
42
- var _useState7 = useState({}),
43
- _useState8 = _slicedToArray(_useState7, 2),
59
+ var _useState7 = (0, _react.useState)({}),
60
+ _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
44
61
  latestEntries = _useState8[0],
45
62
  setLatestEntries = _useState8[1];
46
63
 
47
- var _useState9 = useState(null),
48
- _useState10 = _slicedToArray(_useState9, 2),
64
+ var _useState9 = (0, _react.useState)(null),
65
+ _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
49
66
  valueEntry = _useState10[0],
50
67
  setValueEntry = _useState10[1];
51
68
 
@@ -57,10 +74,10 @@ export var useReference = function useReference(_ref) {
57
74
  var valueHash = getValueHash(value);
58
75
 
59
76
  var searchEntries = /*#__PURE__*/function () {
60
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
77
+ var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
61
78
  var _yield$client$query, data, collection;
62
79
 
63
- return _regeneratorRuntime.wrap(function _callee$(_context) {
80
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
64
81
  while (1) {
65
82
  switch (_context.prev = _context.next) {
66
83
  case 0:
@@ -75,7 +92,7 @@ export var useReference = function useReference(_ref) {
75
92
  setLoading(true);
76
93
  _context.next = 5;
77
94
  return client.query({
78
- query: SEARCH_CONTENT_ENTRIES,
95
+ query: _graphql.SEARCH_CONTENT_ENTRIES,
79
96
  variables: {
80
97
  modelIds: models.map(function (m) {
81
98
  return m.modelId;
@@ -89,13 +106,13 @@ export var useReference = function useReference(_ref) {
89
106
  _yield$client$query = _context.sent;
90
107
  data = _yield$client$query.data;
91
108
  setLoading(false);
92
- collection = convertReferenceEntriesToOptionCollection(data.content.data);
109
+ collection = (0, _helpers.convertReferenceEntriesToOptionCollection)(data.content.data);
93
110
 
94
111
  if (valueEntry) {
95
112
  collection[valueEntry.entryId] = valueEntry;
96
113
  }
97
114
 
98
- allEntries.current = _objectSpread(_objectSpread({}, allEntries.current), collection);
115
+ allEntries.current = (0, _objectSpread3.default)((0, _objectSpread3.default)({}, allEntries.current), collection);
99
116
  setEntries(collection);
100
117
 
101
118
  case 12:
@@ -111,16 +128,16 @@ export var useReference = function useReference(_ref) {
111
128
  };
112
129
  }();
113
130
 
114
- useEffect(function () {
131
+ (0, _react.useEffect)(function () {
115
132
  searchEntries();
116
133
  }, [search]);
117
- useEffect(function () {
134
+ (0, _react.useEffect)(function () {
118
135
  if (models.length === 0) {
119
136
  return;
120
137
  }
121
138
 
122
139
  client.query({
123
- query: SEARCH_CONTENT_ENTRIES,
140
+ query: _graphql.SEARCH_CONTENT_ENTRIES,
124
141
  variables: {
125
142
  modelIds: models.map(function (m) {
126
143
  return m.modelId;
@@ -135,17 +152,17 @@ export var useReference = function useReference(_ref) {
135
152
  fetchPolicy: "network-only"
136
153
  }).then(function (_ref3) {
137
154
  var data = _ref3.data;
138
- var latestEntryData = convertReferenceEntriesToOptionCollection(data.content.data);
155
+ var latestEntryData = (0, _helpers.convertReferenceEntriesToOptionCollection)(data.content.data);
139
156
 
140
157
  if (valueEntry) {
141
158
  latestEntryData[valueEntry.entryId] = valueEntry;
142
159
  }
143
160
 
144
161
  setLatestEntries(latestEntryData);
145
- allEntries.current = _objectSpread(_objectSpread({}, allEntries.current), latestEntryData);
162
+ allEntries.current = (0, _objectSpread3.default)((0, _objectSpread3.default)({}, allEntries.current), latestEntryData);
146
163
  });
147
164
  }, [modelsHash]);
148
- useEffect(function () {
165
+ (0, _react.useEffect)(function () {
149
166
  if (!value || !models) {
150
167
  setValueEntry(function () {
151
168
  return null;
@@ -172,7 +189,7 @@ export var useReference = function useReference(_ref) {
172
189
  */
173
190
 
174
191
  client.query({
175
- query: GET_CONTENT_ENTRY,
192
+ query: _graphql.GET_CONTENT_ENTRY,
176
193
  variables: {
177
194
  entry: {
178
195
  modelId: value.modelId,
@@ -187,14 +204,13 @@ export var useReference = function useReference(_ref) {
187
204
  return;
188
205
  }
189
206
 
190
- var option = _objectSpread(_objectSpread({}, convertReferenceEntryToOption(dataEntry)), {}, {
207
+ var option = (0, _objectSpread3.default)((0, _objectSpread3.default)({}, (0, _helpers.convertReferenceEntryToOption)(dataEntry)), {}, {
191
208
  latest: dataEntry.id,
192
209
  published: res.data.published.data ? res.data.published.data.id : null
193
210
  });
194
-
195
211
  allEntries.current[option.entryId] = option;
196
212
  setLatestEntries(function (prev) {
197
- return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, option.entryId, _objectSpread({}, option)));
213
+ return (0, _objectSpread3.default)((0, _objectSpread3.default)({}, prev), {}, (0, _defineProperty2.default)({}, option.entryId, (0, _objectSpread3.default)({}, option)));
198
214
  });
199
215
  /**
200
216
  * Calculate a couple of props for the Autocomplete component.
@@ -205,7 +221,7 @@ export var useReference = function useReference(_ref) {
205
221
  });
206
222
  });
207
223
  }, [valueHash, modelsHash]);
208
- var onChange = useCallback(function (value, entry) {
224
+ var onChange = (0, _react.useCallback)(function (value, entry) {
209
225
  if (value !== null) {
210
226
  setSearch("");
211
227
  setValueEntry(function () {
@@ -227,14 +243,14 @@ export var useReference = function useReference(_ref) {
227
243
  * Format options for the Autocomplete component.
228
244
  */
229
245
 
230
- var options = useMemo(function () {
246
+ var options = (0, _react.useMemo)(function () {
231
247
  return Object.values(entries);
232
248
  }, [valueHash, entries]);
233
249
  /**
234
250
  * Format default options for the Autocomplete component.
235
251
  */
236
252
 
237
- var defaultOptions = useMemo(function () {
253
+ var defaultOptions = (0, _react.useMemo)(function () {
238
254
  return Object.values(latestEntries);
239
255
  }, [valueHash, latestEntries]);
240
256
  var outputOptions = (search && options ? options : defaultOptions) || [];
@@ -252,4 +268,6 @@ export var useReference = function useReference(_ref) {
252
268
  loading: loading,
253
269
  options: outputOptions
254
270
  };
255
- };
271
+ };
272
+
273
+ exports.useReference = useReference;
@@ -1 +1 @@
1
- {"version":3,"sources":["useReference.ts"],"names":["useCallback","useEffect","useMemo","useRef","useState","useApolloClient","SEARCH_CONTENT_ENTRIES","GET_CONTENT_ENTRY","convertReferenceEntriesToOptionCollection","convertReferenceEntryToOption","getValueHash","value","id","entryId","split","shift","useReference","bind","field","allEntries","client","search","setSearch","loading","setLoading","entries","setEntries","latestEntries","setLatestEntries","valueEntry","setValueEntry","models","settings","modelsHash","map","model","modelId","join","valueHash","searchEntries","query","variables","modelIds","m","limit","data","collection","content","current","length","fetchPolicy","then","latestEntryData","entry","res","dataEntry","latest","option","published","prev","onChange","options","Object","values","defaultOptions","outputOptions","some","opt","push"],"mappings":"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","sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { useApolloClient } from \"~/admin/hooks\";\nimport {\n SEARCH_CONTENT_ENTRIES,\n GET_CONTENT_ENTRY,\n CmsEntryGetQueryResponse,\n CmsEntryGetQueryVariables,\n CmsEntrySearchQueryResponse,\n CmsEntrySearchQueryVariables\n} from \"./graphql\";\nimport { CmsEditorField, CmsModel } from \"~/types\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\nimport { OptionItem, OptionItemCollection } from \"./types\";\nimport {\n convertReferenceEntriesToOptionCollection,\n convertReferenceEntryToOption\n} from \"./helpers\";\n\ninterface UseReferenceHookArgs {\n bind: BindComponentRenderProp;\n field: CmsEditorField;\n}\n\ninterface UseReferenceHookValue {\n onChange: (value: any, entry: OptionItem) => void;\n setSearch: (value: string) => void;\n value: OptionItem | null;\n loading: boolean;\n options: OptionItem[];\n}\n\ntype UseReferenceHook = (args: UseReferenceHookArgs) => UseReferenceHookValue;\n\nconst getValueHash = (value: any): string | null => {\n if (!value || (!value.id && !value.entryId)) {\n return null;\n } else if (value.entryId) {\n return value.entryId;\n }\n return value.id.split(\"#\").shift();\n};\n\nexport const useReference: UseReferenceHook = ({ bind, field }) => {\n const allEntries = useRef<OptionItemCollection>({});\n const client = useApolloClient();\n const [search, setSearch] = useState<string>(\"\");\n const [loading, setLoading] = useState<boolean>(false);\n const [entries, setEntries] = useState<OptionItemCollection>({});\n const [latestEntries, setLatestEntries] = useState<OptionItemCollection>({});\n const [valueEntry, setValueEntry] = useState<OptionItem | null>(null);\n\n const models = (field.settings ? field.settings.models || [] : []) as Pick<\n CmsModel,\n \"modelId\" | \"name\"\n >[];\n const modelsHash = models.map(model => model.modelId).join(\",\");\n\n const value = bind.value;\n const valueHash = getValueHash(value);\n\n const searchEntries = async () => {\n if (!search) {\n return;\n }\n\n setLoading(true);\n const { data } = await client.query<\n CmsEntrySearchQueryResponse,\n CmsEntrySearchQueryVariables\n >({\n query: SEARCH_CONTENT_ENTRIES,\n variables: {\n modelIds: models.map(m => m.modelId),\n query: search,\n limit: 10\n }\n });\n setLoading(false);\n\n const collection = convertReferenceEntriesToOptionCollection(data.content.data);\n if (valueEntry) {\n collection[valueEntry.entryId] = valueEntry;\n }\n allEntries.current = {\n ...allEntries.current,\n ...collection\n };\n\n setEntries(collection);\n };\n\n useEffect(() => {\n searchEntries();\n }, [search]);\n\n useEffect(() => {\n if (models.length === 0) {\n return;\n }\n client\n .query<CmsEntrySearchQueryResponse, CmsEntrySearchQueryVariables>({\n query: SEARCH_CONTENT_ENTRIES,\n variables: {\n modelIds: models.map(m => m.modelId),\n limit: 10\n },\n /**\n * We cannot update this query response in cache after a reference entry being created/deleted,\n * which result in cached response being stale, therefore, we're setting the fetchPolicy to \"network-only\" to by passing cache.\n */\n fetchPolicy: \"network-only\"\n })\n .then(({ data }) => {\n const latestEntryData = convertReferenceEntriesToOptionCollection(\n data.content.data\n );\n if (valueEntry) {\n latestEntryData[valueEntry.entryId] = valueEntry;\n }\n\n setLatestEntries(latestEntryData);\n allEntries.current = {\n ...allEntries.current,\n ...latestEntryData\n };\n });\n }, [modelsHash]);\n\n useEffect(() => {\n if (!value || !models) {\n setValueEntry(() => null);\n return;\n }\n\n const entry = valueHash ? allEntries.current[valueHash] : null;\n if (entry) {\n /**\n * if entry exists set valueEntry to that one so we do not load new one\n */\n setValueEntry(() => {\n return entry;\n });\n return;\n }\n\n setLoading(true);\n /**\n * Query loads both latest and published entries.\n * We do this in a single query because there might not be a published entry so we can use the latest one.\n */\n client\n .query<CmsEntryGetQueryResponse, CmsEntryGetQueryVariables>({\n query: GET_CONTENT_ENTRY,\n variables: {\n entry: {\n modelId: value.modelId,\n id: value.id\n }\n }\n })\n .then(res => {\n setLoading(false);\n const dataEntry = res.data.latest.data;\n if (!dataEntry) {\n return;\n }\n const option: OptionItem = {\n ...convertReferenceEntryToOption(dataEntry),\n latest: dataEntry.id,\n published: res.data.published.data ? res.data.published.data.id : null\n };\n allEntries.current[option.entryId] = option;\n setLatestEntries(prev => {\n return {\n ...prev,\n [option.entryId]: {\n ...option\n }\n };\n });\n /**\n * Calculate a couple of props for the Autocomplete component.\n */\n setValueEntry(() => {\n return option;\n });\n });\n }, [valueHash, modelsHash]);\n\n const onChange = useCallback((value: string, entry: OptionItem) => {\n if (value !== null) {\n setSearch(\"\");\n\n setValueEntry(() => {\n return entry;\n });\n bind.onChange({\n modelId: entry.modelId,\n id: entry.id\n });\n return;\n }\n\n setValueEntry(() => null);\n bind.onChange(null);\n }, []);\n\n /**\n * Format options for the Autocomplete component.\n */\n const options = useMemo(() => Object.values(entries), [valueHash, entries]);\n\n /**\n * Format default options for the Autocomplete component.\n */\n const defaultOptions = useMemo(() => {\n return Object.values(latestEntries);\n }, [valueHash, latestEntries]);\n\n const outputOptions: OptionItem[] = (search && options ? options : defaultOptions) || [];\n\n if (valueEntry && outputOptions.some(opt => opt.entryId === valueEntry.entryId) === false) {\n outputOptions.push(valueEntry);\n }\n\n return {\n onChange,\n setSearch,\n value: valueEntry,\n loading,\n options: outputOptions\n };\n};\n"]}
1
+ {"version":3,"names":["getValueHash","value","id","entryId","split","shift","useReference","bind","field","allEntries","useRef","client","useApolloClient","useState","search","setSearch","loading","setLoading","entries","setEntries","latestEntries","setLatestEntries","valueEntry","setValueEntry","models","settings","modelsHash","map","model","modelId","join","valueHash","searchEntries","query","SEARCH_CONTENT_ENTRIES","variables","modelIds","m","limit","data","collection","convertReferenceEntriesToOptionCollection","content","current","useEffect","length","fetchPolicy","then","latestEntryData","entry","GET_CONTENT_ENTRY","res","dataEntry","latest","option","convertReferenceEntryToOption","published","prev","onChange","useCallback","options","useMemo","Object","values","defaultOptions","outputOptions","some","opt","push"],"sources":["useReference.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { useApolloClient } from \"~/admin/hooks\";\nimport {\n SEARCH_CONTENT_ENTRIES,\n GET_CONTENT_ENTRY,\n CmsEntryGetQueryResponse,\n CmsEntryGetQueryVariables,\n CmsEntrySearchQueryResponse,\n CmsEntrySearchQueryVariables\n} from \"./graphql\";\nimport { CmsEditorField, CmsModel } from \"~/types\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\nimport { OptionItem, OptionItemCollection } from \"./types\";\nimport {\n convertReferenceEntriesToOptionCollection,\n convertReferenceEntryToOption\n} from \"./helpers\";\n\ninterface UseReferenceHookArgs {\n bind: BindComponentRenderProp;\n field: CmsEditorField;\n}\n\ninterface UseReferenceHookValue {\n onChange: (value: any, entry: OptionItem) => void;\n setSearch: (value: string) => void;\n value: OptionItem | null;\n loading: boolean;\n options: OptionItem[];\n}\n\ntype UseReferenceHook = (args: UseReferenceHookArgs) => UseReferenceHookValue;\n\nconst getValueHash = (value: any): string | null => {\n if (!value || (!value.id && !value.entryId)) {\n return null;\n } else if (value.entryId) {\n return value.entryId;\n }\n return value.id.split(\"#\").shift();\n};\n\nexport const useReference: UseReferenceHook = ({ bind, field }) => {\n const allEntries = useRef<OptionItemCollection>({});\n const client = useApolloClient();\n const [search, setSearch] = useState<string>(\"\");\n const [loading, setLoading] = useState<boolean>(false);\n const [entries, setEntries] = useState<OptionItemCollection>({});\n const [latestEntries, setLatestEntries] = useState<OptionItemCollection>({});\n const [valueEntry, setValueEntry] = useState<OptionItem | null>(null);\n\n const models = (field.settings ? field.settings.models || [] : []) as Pick<\n CmsModel,\n \"modelId\" | \"name\"\n >[];\n const modelsHash = models.map(model => model.modelId).join(\",\");\n\n const value = bind.value;\n const valueHash = getValueHash(value);\n\n const searchEntries = async () => {\n if (!search) {\n return;\n }\n\n setLoading(true);\n const { data } = await client.query<\n CmsEntrySearchQueryResponse,\n CmsEntrySearchQueryVariables\n >({\n query: SEARCH_CONTENT_ENTRIES,\n variables: {\n modelIds: models.map(m => m.modelId),\n query: search,\n limit: 10\n }\n });\n setLoading(false);\n\n const collection = convertReferenceEntriesToOptionCollection(data.content.data);\n if (valueEntry) {\n collection[valueEntry.entryId] = valueEntry;\n }\n allEntries.current = {\n ...allEntries.current,\n ...collection\n };\n\n setEntries(collection);\n };\n\n useEffect(() => {\n searchEntries();\n }, [search]);\n\n useEffect(() => {\n if (models.length === 0) {\n return;\n }\n client\n .query<CmsEntrySearchQueryResponse, CmsEntrySearchQueryVariables>({\n query: SEARCH_CONTENT_ENTRIES,\n variables: {\n modelIds: models.map(m => m.modelId),\n limit: 10\n },\n /**\n * We cannot update this query response in cache after a reference entry being created/deleted,\n * which result in cached response being stale, therefore, we're setting the fetchPolicy to \"network-only\" to by passing cache.\n */\n fetchPolicy: \"network-only\"\n })\n .then(({ data }) => {\n const latestEntryData = convertReferenceEntriesToOptionCollection(\n data.content.data\n );\n if (valueEntry) {\n latestEntryData[valueEntry.entryId] = valueEntry;\n }\n\n setLatestEntries(latestEntryData);\n allEntries.current = {\n ...allEntries.current,\n ...latestEntryData\n };\n });\n }, [modelsHash]);\n\n useEffect(() => {\n if (!value || !models) {\n setValueEntry(() => null);\n return;\n }\n\n const entry = valueHash ? allEntries.current[valueHash] : null;\n if (entry) {\n /**\n * if entry exists set valueEntry to that one so we do not load new one\n */\n setValueEntry(() => {\n return entry;\n });\n return;\n }\n\n setLoading(true);\n /**\n * Query loads both latest and published entries.\n * We do this in a single query because there might not be a published entry so we can use the latest one.\n */\n client\n .query<CmsEntryGetQueryResponse, CmsEntryGetQueryVariables>({\n query: GET_CONTENT_ENTRY,\n variables: {\n entry: {\n modelId: value.modelId,\n id: value.id\n }\n }\n })\n .then(res => {\n setLoading(false);\n const dataEntry = res.data.latest.data;\n if (!dataEntry) {\n return;\n }\n const option: OptionItem = {\n ...convertReferenceEntryToOption(dataEntry),\n latest: dataEntry.id,\n published: res.data.published.data ? res.data.published.data.id : null\n };\n allEntries.current[option.entryId] = option;\n setLatestEntries(prev => {\n return {\n ...prev,\n [option.entryId]: {\n ...option\n }\n };\n });\n /**\n * Calculate a couple of props for the Autocomplete component.\n */\n setValueEntry(() => {\n return option;\n });\n });\n }, [valueHash, modelsHash]);\n\n const onChange = useCallback((value: string, entry: OptionItem) => {\n if (value !== null) {\n setSearch(\"\");\n\n setValueEntry(() => {\n return entry;\n });\n bind.onChange({\n modelId: entry.modelId,\n id: entry.id\n });\n return;\n }\n\n setValueEntry(() => null);\n bind.onChange(null);\n }, []);\n\n /**\n * Format options for the Autocomplete component.\n */\n const options = useMemo(() => Object.values(entries), [valueHash, entries]);\n\n /**\n * Format default options for the Autocomplete component.\n */\n const defaultOptions = useMemo(() => {\n return Object.values(latestEntries);\n }, [valueHash, latestEntries]);\n\n const outputOptions: OptionItem[] = (search && options ? options : defaultOptions) || [];\n\n if (valueEntry && outputOptions.some(opt => opt.entryId === valueEntry.entryId) === false) {\n outputOptions.push(valueEntry);\n }\n\n return {\n onChange,\n setSearch,\n value: valueEntry,\n loading,\n options: outputOptions\n };\n};\n"],"mappings":"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"}
@@ -1,40 +1,57 @@
1
- import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
- import _regeneratorRuntime from "@babel/runtime/regenerator";
5
- import { useCallback, useEffect, useMemo, useRef, useState } from "react";
6
- import { useApolloClient } from "../../../../hooks";
7
- import { SEARCH_CONTENT_ENTRIES, GET_CONTENT_ENTRIES } from "./graphql";
8
- import { convertReferenceEntriesToOptionCollection, convertReferenceEntryToOption } from "./helpers";
9
- export var useReferences = function useReferences(_ref) {
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.useReferences = void 0;
9
+
10
+ var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
11
+
12
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
13
+
14
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
+
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+
18
+ var _react = require("react");
19
+
20
+ var _hooks = require("../../../../hooks");
21
+
22
+ var _graphql = require("./graphql");
23
+
24
+ var _helpers = require("./helpers");
25
+
26
+ var useReferences = function useReferences(_ref) {
10
27
  var bind = _ref.bind,
11
28
  field = _ref.field;
12
- var isMounted = useRef(true);
13
- var allEntries = useRef({});
14
- var client = useApolloClient();
29
+ var isMounted = (0, _react.useRef)(true);
30
+ var allEntries = (0, _react.useRef)({});
31
+ var client = (0, _hooks.useApolloClient)();
15
32
 
16
- var _useState = useState(""),
17
- _useState2 = _slicedToArray(_useState, 2),
33
+ var _useState = (0, _react.useState)(""),
34
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
18
35
  search = _useState2[0],
19
36
  setSearch = _useState2[1];
20
37
 
21
- var _useState3 = useState(false),
22
- _useState4 = _slicedToArray(_useState3, 2),
38
+ var _useState3 = (0, _react.useState)(false),
39
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
23
40
  loading = _useState4[0],
24
41
  setLoading = _useState4[1];
25
42
 
26
- var _useState5 = useState({}),
27
- _useState6 = _slicedToArray(_useState5, 2),
43
+ var _useState5 = (0, _react.useState)({}),
44
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
28
45
  entries = _useState6[0],
29
46
  setEntries = _useState6[1];
30
47
 
31
- var _useState7 = useState([]),
32
- _useState8 = _slicedToArray(_useState7, 2),
48
+ var _useState7 = (0, _react.useState)([]),
49
+ _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
33
50
  latestEntries = _useState8[0],
34
51
  setLatestEntries = _useState8[1];
35
52
 
36
- var _useState9 = useState([]),
37
- _useState10 = _slicedToArray(_useState9, 2),
53
+ var _useState9 = (0, _react.useState)([]),
54
+ _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
38
55
  valueEntries = _useState10[0],
39
56
  setValueEntries = _useState10[1];
40
57
 
@@ -43,10 +60,10 @@ export var useReferences = function useReferences(_ref) {
43
60
  var values = bind.value ? bind.value : [];
44
61
 
45
62
  var searchEntries = /*#__PURE__*/function () {
46
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
63
+ var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
47
64
  var _yield$client$query, data, collection;
48
65
 
49
- return _regeneratorRuntime.wrap(function _callee$(_context) {
66
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
50
67
  while (1) {
51
68
  switch (_context.prev = _context.next) {
52
69
  case 0:
@@ -61,7 +78,7 @@ export var useReferences = function useReferences(_ref) {
61
78
  setLoading(true);
62
79
  _context.next = 5;
63
80
  return client.query({
64
- query: SEARCH_CONTENT_ENTRIES,
81
+ query: _graphql.SEARCH_CONTENT_ENTRIES,
65
82
  variables: {
66
83
  modelIds: models.map(function (m) {
67
84
  return m.modelId;
@@ -74,8 +91,8 @@ export var useReferences = function useReferences(_ref) {
74
91
  _yield$client$query = _context.sent;
75
92
  data = _yield$client$query.data;
76
93
  setLoading(false);
77
- collection = convertReferenceEntriesToOptionCollection(data.content.data);
78
- allEntries.current = _objectSpread(_objectSpread({}, allEntries.current), collection);
94
+ collection = (0, _helpers.convertReferenceEntriesToOptionCollection)(data.content.data);
95
+ allEntries.current = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, allEntries.current), collection);
79
96
  setEntries(collection);
80
97
 
81
98
  case 11:
@@ -91,17 +108,17 @@ export var useReferences = function useReferences(_ref) {
91
108
  };
92
109
  }();
93
110
 
94
- useEffect(function () {
111
+ (0, _react.useEffect)(function () {
95
112
  return function () {
96
113
  isMounted.current = false;
97
114
  };
98
115
  }, []);
99
- useEffect(function () {
116
+ (0, _react.useEffect)(function () {
100
117
  searchEntries();
101
118
  }, [search]);
102
- useEffect(function () {
119
+ (0, _react.useEffect)(function () {
103
120
  client.query({
104
- query: SEARCH_CONTENT_ENTRIES,
121
+ query: _graphql.SEARCH_CONTENT_ENTRIES,
105
122
  variables: {
106
123
  modelIds: models.map(function (m) {
107
124
  return m.modelId;
@@ -121,19 +138,19 @@ export var useReferences = function useReferences(_ref) {
121
138
  return;
122
139
  }
123
140
 
124
- var collection = convertReferenceEntriesToOptionCollection(data.content.data);
141
+ var collection = (0, _helpers.convertReferenceEntriesToOptionCollection)(data.content.data);
125
142
  setLatestEntries(Object.values(collection));
126
- allEntries.current = _objectSpread({}, collection);
143
+ allEntries.current = (0, _objectSpread2.default)({}, collection);
127
144
  });
128
145
  }, [modelsHash]);
129
- useEffect(function () {
146
+ (0, _react.useEffect)(function () {
130
147
  if (!values || values.length == 0) {
131
148
  return;
132
149
  }
133
150
 
134
151
  setLoading(true);
135
152
  client.query({
136
- query: GET_CONTENT_ENTRIES,
153
+ query: _graphql.GET_CONTENT_ENTRIES,
137
154
  variables: {
138
155
  /**
139
156
  * We need make sure nothing else other than modelId and id is passed to entries variable.
@@ -160,7 +177,7 @@ export var useReferences = function useReferences(_ref) {
160
177
  var existingItem = latest[entryId];
161
178
 
162
179
  if (existingItem) {
163
- collection[entryId] = _objectSpread(_objectSpread({}, existingItem), {}, {
180
+ collection[entryId] = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, existingItem), {}, {
164
181
  published: {
165
182
  id: item.id,
166
183
  entryId: item.entryId,
@@ -174,7 +191,7 @@ export var useReferences = function useReferences(_ref) {
174
191
  return collection;
175
192
  }, latest); // Calculate a couple of props for the Autocomplete component.
176
193
 
177
- setValueEntries(Object.values(entries).map(convertReferenceEntryToOption));
194
+ setValueEntries(Object.values(entries).map(_helpers.convertReferenceEntryToOption));
178
195
  });
179
196
  }, []);
180
197
  /**
@@ -182,7 +199,7 @@ export var useReferences = function useReferences(_ref) {
182
199
  * It will also format the value to store to the DB.
183
200
  */
184
201
 
185
- var onChange = useCallback(function (values) {
202
+ var onChange = (0, _react.useCallback)(function (values) {
186
203
  setSearch("");
187
204
  setValueEntries(values); // Update parent form
188
205
 
@@ -194,11 +211,11 @@ export var useReferences = function useReferences(_ref) {
194
211
  }));
195
212
  }, []); // Format options for the Autocomplete component.
196
213
 
197
- var options = useMemo(function () {
214
+ var options = (0, _react.useMemo)(function () {
198
215
  return Object.values(entries);
199
216
  }, [entries]); // Format default options for the Autocomplete component.
200
217
 
201
- var defaultOptions = useMemo(function () {
218
+ var defaultOptions = (0, _react.useMemo)(function () {
202
219
  return Object.values(latestEntries);
203
220
  }, [latestEntries]);
204
221
  return {
@@ -210,4 +227,6 @@ export var useReferences = function useReferences(_ref) {
210
227
  // Options to show when the autocomplete dropdown is visible
211
228
  options: search ? options : defaultOptions || []
212
229
  };
213
- };
230
+ };
231
+
232
+ exports.useReferences = useReferences;
@@ -1 +1 @@
1
- {"version":3,"sources":["useReferences.ts"],"names":["useCallback","useEffect","useMemo","useRef","useState","useApolloClient","SEARCH_CONTENT_ENTRIES","GET_CONTENT_ENTRIES","convertReferenceEntriesToOptionCollection","convertReferenceEntryToOption","useReferences","bind","field","isMounted","allEntries","client","search","setSearch","loading","setLoading","entries","setEntries","latestEntries","setLatestEntries","valueEntries","setValueEntries","models","settings","modelsHash","join","values","value","searchEntries","query","variables","modelIds","map","m","modelId","data","collection","content","current","limit","fetchPolicy","then","Object","length","id","res","latest","reduce","item","entryId","published","existingItem","title","onChange","options","defaultOptions"],"mappings":"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","sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { useApolloClient } from \"~/admin/hooks\";\nimport { CmsEditorField, CmsModel } from \"~/types\";\nimport {\n SEARCH_CONTENT_ENTRIES,\n GET_CONTENT_ENTRIES,\n CmsEntrySearchQueryResponse,\n CmsEntrySearchQueryVariables,\n CmsEntryGetListResponse,\n CmsEntryGetListVariables,\n CmsEntryGetEntryVariable\n} from \"./graphql\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\nimport { CmsReferenceContentEntry, OptionItem, OptionItemCollection } from \"./types\";\nimport {\n convertReferenceEntriesToOptionCollection,\n convertReferenceEntryToOption\n} from \"~/admin/plugins/fieldRenderers/ref/components/helpers\";\n\ninterface UseReferencesParams {\n bind: BindComponentRenderProp;\n field: CmsEditorField;\n}\nexport const useReferences = ({ bind, field }: UseReferencesParams) => {\n const isMounted = useRef(true);\n const allEntries = useRef<OptionItemCollection>({});\n const client = useApolloClient();\n const [search, setSearch] = useState<string>(\"\");\n const [loading, setLoading] = useState<boolean>(false);\n const [entries, setEntries] = useState<OptionItemCollection>({});\n const [latestEntries, setLatestEntries] = useState<OptionItem[]>([]);\n const [valueEntries, setValueEntries] = useState<OptionItem[]>([]);\n\n const models = (field.settings ? field.settings.models || [] : []) as Pick<\n CmsModel,\n \"modelId\"\n >[];\n const modelsHash = models.join(\",\");\n const values: CmsEntryGetEntryVariable[] = bind.value ? bind.value : [];\n\n const searchEntries = async (): Promise<void> => {\n if (!search) {\n return;\n }\n\n setLoading(true);\n const { data } = await client.query<\n CmsEntrySearchQueryResponse,\n CmsEntrySearchQueryVariables\n >({\n query: SEARCH_CONTENT_ENTRIES,\n variables: {\n modelIds: models.map(m => m.modelId),\n query: search\n }\n });\n setLoading(false);\n\n const collection = convertReferenceEntriesToOptionCollection(data.content.data);\n\n allEntries.current = {\n ...allEntries.current,\n ...collection\n };\n\n setEntries(collection);\n };\n\n useEffect(() => {\n return () => {\n isMounted.current = false;\n };\n }, []);\n\n useEffect(() => {\n searchEntries();\n }, [search]);\n\n useEffect(() => {\n client\n .query<CmsEntrySearchQueryResponse, CmsEntrySearchQueryVariables>({\n query: SEARCH_CONTENT_ENTRIES,\n variables: {\n modelIds: models.map(m => m.modelId),\n limit: 10\n },\n /**\n * We cannot update this query response in cache after a reference entry being created/deleted,\n * which result in cached response being stale, therefore, we're setting the fetchPolicy to \"network-only\" to by passing cache.\n */\n fetchPolicy: \"network-only\"\n })\n .then(({ data }) => {\n if (!isMounted.current) {\n return;\n }\n\n const collection = convertReferenceEntriesToOptionCollection(data.content.data);\n setLatestEntries(Object.values(collection));\n allEntries.current = {\n ...collection\n };\n });\n }, [modelsHash]);\n\n useEffect(() => {\n if (!values || values.length == 0) {\n return;\n }\n\n setLoading(true);\n\n client\n .query<CmsEntryGetListResponse, CmsEntryGetListVariables>({\n query: GET_CONTENT_ENTRIES,\n variables: {\n /**\n * We need make sure nothing else other than modelId and id is passed to entries variable.\n */\n entries: values.map(value => {\n return {\n modelId: value.modelId,\n id: value.id\n };\n })\n }\n })\n .then(res => {\n if (!isMounted.current) {\n return;\n }\n\n setLoading(false);\n\n const latest = (res.data.latest.data || []).reduce((collection, item) => {\n collection[item.entryId] = item;\n return collection;\n }, {} as Record<string, CmsReferenceContentEntry>);\n\n const entries = (res.data.published.data || []).reduce((collection, item) => {\n const entryId = item.entryId;\n const existingItem = latest[entryId];\n if (existingItem) {\n collection[entryId] = {\n ...existingItem,\n published: {\n id: item.id,\n entryId: item.entryId,\n title: item.title\n }\n };\n return collection;\n }\n collection[entryId] = item;\n return collection;\n }, latest);\n\n // Calculate a couple of props for the Autocomplete component.\n setValueEntries(Object.values(entries).map(convertReferenceEntryToOption));\n });\n }, []);\n\n /**\n * onChange callback will update internal component state using the previously loaded entries by IDs.\n * It will also format the value to store to the DB.\n */\n const onChange = useCallback((values: OptionItem[]): void => {\n setSearch(\"\");\n setValueEntries(values);\n\n // Update parent form\n bind.onChange(\n values.map(item => ({\n modelId: item.modelId,\n id: item.id\n }))\n );\n }, []);\n\n // Format options for the Autocomplete component.\n const options = useMemo(() => Object.values(entries), [entries]);\n\n // Format default options for the Autocomplete component.\n const defaultOptions = useMemo(() => Object.values(latestEntries), [latestEntries]);\n\n return {\n onChange,\n loading,\n setSearch,\n // Selected entries\n entries: valueEntries,\n // Options to show when the autocomplete dropdown is visible\n options: search ? options : defaultOptions || []\n };\n};\n"]}
1
+ {"version":3,"names":["useReferences","bind","field","isMounted","useRef","allEntries","client","useApolloClient","useState","search","setSearch","loading","setLoading","entries","setEntries","latestEntries","setLatestEntries","valueEntries","setValueEntries","models","settings","modelsHash","join","values","value","searchEntries","query","SEARCH_CONTENT_ENTRIES","variables","modelIds","map","m","modelId","data","collection","convertReferenceEntriesToOptionCollection","content","current","useEffect","limit","fetchPolicy","then","Object","length","GET_CONTENT_ENTRIES","id","res","latest","reduce","item","entryId","published","existingItem","title","convertReferenceEntryToOption","onChange","useCallback","options","useMemo","defaultOptions"],"sources":["useReferences.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { useApolloClient } from \"~/admin/hooks\";\nimport { CmsEditorField, CmsModel } from \"~/types\";\nimport {\n SEARCH_CONTENT_ENTRIES,\n GET_CONTENT_ENTRIES,\n CmsEntrySearchQueryResponse,\n CmsEntrySearchQueryVariables,\n CmsEntryGetListResponse,\n CmsEntryGetListVariables,\n CmsEntryGetEntryVariable\n} from \"./graphql\";\nimport { BindComponentRenderProp } from \"@webiny/form\";\nimport { CmsReferenceContentEntry, OptionItem, OptionItemCollection } from \"./types\";\nimport {\n convertReferenceEntriesToOptionCollection,\n convertReferenceEntryToOption\n} from \"~/admin/plugins/fieldRenderers/ref/components/helpers\";\n\ninterface UseReferencesParams {\n bind: BindComponentRenderProp;\n field: CmsEditorField;\n}\nexport const useReferences = ({ bind, field }: UseReferencesParams) => {\n const isMounted = useRef(true);\n const allEntries = useRef<OptionItemCollection>({});\n const client = useApolloClient();\n const [search, setSearch] = useState<string>(\"\");\n const [loading, setLoading] = useState<boolean>(false);\n const [entries, setEntries] = useState<OptionItemCollection>({});\n const [latestEntries, setLatestEntries] = useState<OptionItem[]>([]);\n const [valueEntries, setValueEntries] = useState<OptionItem[]>([]);\n\n const models = (field.settings ? field.settings.models || [] : []) as Pick<\n CmsModel,\n \"modelId\"\n >[];\n const modelsHash = models.join(\",\");\n const values: CmsEntryGetEntryVariable[] = bind.value ? bind.value : [];\n\n const searchEntries = async (): Promise<void> => {\n if (!search) {\n return;\n }\n\n setLoading(true);\n const { data } = await client.query<\n CmsEntrySearchQueryResponse,\n CmsEntrySearchQueryVariables\n >({\n query: SEARCH_CONTENT_ENTRIES,\n variables: {\n modelIds: models.map(m => m.modelId),\n query: search\n }\n });\n setLoading(false);\n\n const collection = convertReferenceEntriesToOptionCollection(data.content.data);\n\n allEntries.current = {\n ...allEntries.current,\n ...collection\n };\n\n setEntries(collection);\n };\n\n useEffect(() => {\n return () => {\n isMounted.current = false;\n };\n }, []);\n\n useEffect(() => {\n searchEntries();\n }, [search]);\n\n useEffect(() => {\n client\n .query<CmsEntrySearchQueryResponse, CmsEntrySearchQueryVariables>({\n query: SEARCH_CONTENT_ENTRIES,\n variables: {\n modelIds: models.map(m => m.modelId),\n limit: 10\n },\n /**\n * We cannot update this query response in cache after a reference entry being created/deleted,\n * which result in cached response being stale, therefore, we're setting the fetchPolicy to \"network-only\" to by passing cache.\n */\n fetchPolicy: \"network-only\"\n })\n .then(({ data }) => {\n if (!isMounted.current) {\n return;\n }\n\n const collection = convertReferenceEntriesToOptionCollection(data.content.data);\n setLatestEntries(Object.values(collection));\n allEntries.current = {\n ...collection\n };\n });\n }, [modelsHash]);\n\n useEffect(() => {\n if (!values || values.length == 0) {\n return;\n }\n\n setLoading(true);\n\n client\n .query<CmsEntryGetListResponse, CmsEntryGetListVariables>({\n query: GET_CONTENT_ENTRIES,\n variables: {\n /**\n * We need make sure nothing else other than modelId and id is passed to entries variable.\n */\n entries: values.map(value => {\n return {\n modelId: value.modelId,\n id: value.id\n };\n })\n }\n })\n .then(res => {\n if (!isMounted.current) {\n return;\n }\n\n setLoading(false);\n\n const latest = (res.data.latest.data || []).reduce((collection, item) => {\n collection[item.entryId] = item;\n return collection;\n }, {} as Record<string, CmsReferenceContentEntry>);\n\n const entries = (res.data.published.data || []).reduce((collection, item) => {\n const entryId = item.entryId;\n const existingItem = latest[entryId];\n if (existingItem) {\n collection[entryId] = {\n ...existingItem,\n published: {\n id: item.id,\n entryId: item.entryId,\n title: item.title\n }\n };\n return collection;\n }\n collection[entryId] = item;\n return collection;\n }, latest);\n\n // Calculate a couple of props for the Autocomplete component.\n setValueEntries(Object.values(entries).map(convertReferenceEntryToOption));\n });\n }, []);\n\n /**\n * onChange callback will update internal component state using the previously loaded entries by IDs.\n * It will also format the value to store to the DB.\n */\n const onChange = useCallback((values: OptionItem[]): void => {\n setSearch(\"\");\n setValueEntries(values);\n\n // Update parent form\n bind.onChange(\n values.map(item => ({\n modelId: item.modelId,\n id: item.id\n }))\n );\n }, []);\n\n // Format options for the Autocomplete component.\n const options = useMemo(() => Object.values(entries), [entries]);\n\n // Format default options for the Autocomplete component.\n const defaultOptions = useMemo(() => Object.values(latestEntries), [latestEntries]);\n\n return {\n onChange,\n loading,\n setSearch,\n // Selected entries\n entries: valueEntries,\n // Options to show when the autocomplete dropdown is visible\n options: search ? options : defaultOptions || []\n };\n};\n"],"mappings":"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"}
@@ -1,16 +1,31 @@
1
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
- import React, { useContext } from "react";
3
- import { Context as ContentEntriesContext } from "../../../../views/contentEntries/ContentEntriesContext";
4
- import MissingEntryHelpText, { ReferenceMultipleModelsHelpText } from "../components/MissingEntryHelpText";
5
- export var useNewRefEntry = function useNewRefEntry(_ref) {
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.useNewRefEntry = void 0;
11
+
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _ContentEntriesContext = require("../../../../views/contentEntries/ContentEntriesContext");
17
+
18
+ var _MissingEntryHelpText = _interopRequireWildcard(require("../components/MissingEntryHelpText"));
19
+
20
+ var useNewRefEntry = function useNewRefEntry(_ref) {
6
21
  var field = _ref.field;
7
22
  var models = (field.settings && field.settings.models ? field.settings.models : null) || [];
8
23
 
9
- var _models = _slicedToArray(models, 1),
24
+ var _models = (0, _slicedToArray2.default)(models, 1),
10
25
  refModelId = _models[0].modelId;
11
26
 
12
27
  var referenceMultipleModels = models.length > 1;
13
- var contentEntriesContextValue = useContext(ContentEntriesContext);
28
+ var contentEntriesContextValue = (0, _react.useContext)(_ContentEntriesContext.Context);
14
29
  /**
15
30
  * We don't wrap the "ContentEntryForm" with "ContentEntriesContextProvider"
16
31
  * when rendering it inside content model editor's preview tab.
@@ -42,9 +57,9 @@ export var useNewRefEntry = function useNewRefEntry(_ref) {
42
57
  var helpText = null;
43
58
 
44
59
  if (referenceMultipleModels) {
45
- helpText = /*#__PURE__*/React.createElement(ReferenceMultipleModelsHelpText, null);
60
+ helpText = /*#__PURE__*/_react.default.createElement(_MissingEntryHelpText.ReferenceMultipleModelsHelpText, null);
46
61
  } else {
47
- helpText = /*#__PURE__*/React.createElement(MissingEntryHelpText, {
62
+ helpText = /*#__PURE__*/_react.default.createElement(_MissingEntryHelpText.default, {
48
63
  refModelId: refModelId
49
64
  });
50
65
  }
@@ -54,4 +69,6 @@ export var useNewRefEntry = function useNewRefEntry(_ref) {
54
69
  refModelId: refModelId,
55
70
  helpText: helpText
56
71
  };
57
- };
72
+ };
73
+
74
+ exports.useNewRefEntry = useNewRefEntry;
@@ -1 +1 @@
1
- {"version":3,"sources":["useNewRefEntry.tsx"],"names":["React","useContext","Context","ContentEntriesContext","MissingEntryHelpText","ReferenceMultipleModelsHelpText","useNewRefEntry","field","models","settings","refModelId","modelId","referenceMultipleModels","length","contentEntriesContextValue","renderedInPreviewTab","renderNewEntryModal","insideDialog","helpText"],"mappings":";AAAA,OAAOA,KAAP,IAAgBC,UAAhB,QAAkC,OAAlC;AACA,SAASC,OAAO,IAAIC,qBAApB;AAEA,OAAOC,oBAAP,IACIC,+BADJ;AAcA,OAAO,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,OAAqD;AAAA,MAAlDC,KAAkD,QAAlDA,KAAkD;AAC/E,MAAMC,MAAM,GAAG,CAACD,KAAK,CAACE,QAAN,IAAkBF,KAAK,CAACE,QAAN,CAAeD,MAAjC,GAA0CD,KAAK,CAACE,QAAN,CAAeD,MAAzD,GAAkE,IAAnE,KAA4E,EAA3F;;AACA,+BAAkCA,MAAlC;AAAA,MAAkBE,UAAlB,cAASC,OAAT;;AACA,MAAMC,uBAAuB,GAAGJ,MAAM,CAACK,MAAP,GAAgB,CAAhD;AAEA,MAAMC,0BAA0B,GAAGb,UAAU,CAACE,qBAAD,CAA7C;AAEA;AACJ;AACA;AACA;AACA;AACA;AACA;;AACI,MAAMY,oBAAoB,GAAGD,0BAA0B,KAAK,IAA5D;AAEA;AACJ;AACA;;AACI,MAAIE,mBAAJ;;AAEA,MAAID,oBAAJ,EAA0B;AACtBC,IAAAA,mBAAmB,GAAG,KAAtB;AACH,GAFD,MAEO,IAAIJ,uBAAJ,EAA6B;AAChCI,IAAAA,mBAAmB,GAAG,KAAtB;AACH,GAFM,MAEA;AACH,QAAQC,YAAR,GAAyBH,0BAAzB,CAAQG,YAAR;AACAD,IAAAA,mBAAmB,GAAG,CAACC,YAAvB;AACH;AACD;AACJ;AACA;;;AACI,MAAIC,QAAQ,GAAG,IAAf;;AACA,MAAIN,uBAAJ,EAA6B;AACzBM,IAAAA,QAAQ,gBAAG,oBAAC,+BAAD,OAAX;AACH,GAFD,MAEO;AACHA,IAAAA,QAAQ,gBAAG,oBAAC,oBAAD;AAAsB,MAAA,UAAU,EAAER;AAAlC,MAAX;AACH;;AAED,SAAO;AACHM,IAAAA,mBAAmB,EAAnBA,mBADG;AAEHN,IAAAA,UAAU,EAAVA,UAFG;AAGHQ,IAAAA,QAAQ,EAARA;AAHG,GAAP;AAKH,CA5CM","sourcesContent":["import React, { useContext } from \"react\";\nimport { Context as ContentEntriesContext } from \"~/admin/views/contentEntries/ContentEntriesContext\";\nimport { CmsEditorField } from \"~/types\";\nimport MissingEntryHelpText, {\n ReferenceMultipleModelsHelpText\n} from \"../components/MissingEntryHelpText\";\n\ninterface UseNewRefEntryParams {\n field: CmsEditorField;\n}\n\ninterface UseNewRefEntry {\n renderNewEntryModal: boolean;\n refModelId: string;\n helpText: React.ReactElement;\n}\n\nexport const useNewRefEntry = ({ field }: UseNewRefEntryParams): UseNewRefEntry => {\n const models = (field.settings && field.settings.models ? field.settings.models : null) || [];\n const [{ modelId: refModelId }] = models;\n const referenceMultipleModels = models.length > 1;\n\n const contentEntriesContextValue = useContext(ContentEntriesContext);\n\n /**\n * We don't wrap the \"ContentEntryForm\" with \"ContentEntriesContextProvider\"\n * when rendering it inside content model editor's preview tab.\n *\n * And we also don't want to have new ref field Dialog in the preview tab.\n * Therefore, we check for \"contentEntriesContextValue\" to know that we're inside preview tab.\n */\n const renderedInPreviewTab = contentEntriesContextValue === null;\n\n /**\n * Set \"renderNewEntryModal\" value.\n */\n let renderNewEntryModal;\n\n if (renderedInPreviewTab) {\n renderNewEntryModal = false;\n } else if (referenceMultipleModels) {\n renderNewEntryModal = false;\n } else {\n const { insideDialog } = contentEntriesContextValue;\n renderNewEntryModal = !insideDialog;\n }\n /**\n * Set \"helpText\" value.\n */\n let helpText = null;\n if (referenceMultipleModels) {\n helpText = <ReferenceMultipleModelsHelpText />;\n } else {\n helpText = <MissingEntryHelpText refModelId={refModelId} />;\n }\n\n return {\n renderNewEntryModal,\n refModelId,\n helpText\n };\n};\n"]}
1
+ {"version":3,"names":["useNewRefEntry","field","models","settings","refModelId","modelId","referenceMultipleModels","length","contentEntriesContextValue","useContext","ContentEntriesContext","renderedInPreviewTab","renderNewEntryModal","insideDialog","helpText"],"sources":["useNewRefEntry.tsx"],"sourcesContent":["import React, { useContext } from \"react\";\nimport { Context as ContentEntriesContext } from \"~/admin/views/contentEntries/ContentEntriesContext\";\nimport { CmsEditorField } from \"~/types\";\nimport MissingEntryHelpText, {\n ReferenceMultipleModelsHelpText\n} from \"../components/MissingEntryHelpText\";\n\ninterface UseNewRefEntryParams {\n field: CmsEditorField;\n}\n\ninterface UseNewRefEntry {\n renderNewEntryModal: boolean;\n refModelId: string;\n helpText: React.ReactElement;\n}\n\nexport const useNewRefEntry = ({ field }: UseNewRefEntryParams): UseNewRefEntry => {\n const models = (field.settings && field.settings.models ? field.settings.models : null) || [];\n const [{ modelId: refModelId }] = models;\n const referenceMultipleModels = models.length > 1;\n\n const contentEntriesContextValue = useContext(ContentEntriesContext);\n\n /**\n * We don't wrap the \"ContentEntryForm\" with \"ContentEntriesContextProvider\"\n * when rendering it inside content model editor's preview tab.\n *\n * And we also don't want to have new ref field Dialog in the preview tab.\n * Therefore, we check for \"contentEntriesContextValue\" to know that we're inside preview tab.\n */\n const renderedInPreviewTab = contentEntriesContextValue === null;\n\n /**\n * Set \"renderNewEntryModal\" value.\n */\n let renderNewEntryModal;\n\n if (renderedInPreviewTab) {\n renderNewEntryModal = false;\n } else if (referenceMultipleModels) {\n renderNewEntryModal = false;\n } else {\n const { insideDialog } = contentEntriesContextValue;\n renderNewEntryModal = !insideDialog;\n }\n /**\n * Set \"helpText\" value.\n */\n let helpText = null;\n if (referenceMultipleModels) {\n helpText = <ReferenceMultipleModelsHelpText />;\n } else {\n helpText = <MissingEntryHelpText refModelId={refModelId} />;\n }\n\n return {\n renderNewEntryModal,\n refModelId,\n helpText\n };\n};\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AAEA;;AAcO,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,OAAqD;EAAA,IAAlDC,KAAkD,QAAlDA,KAAkD;EAC/E,IAAMC,MAAM,GAAG,CAACD,KAAK,CAACE,QAAN,IAAkBF,KAAK,CAACE,QAAN,CAAeD,MAAjC,GAA0CD,KAAK,CAACE,QAAN,CAAeD,MAAzD,GAAkE,IAAnE,KAA4E,EAA3F;;EACA,2CAAkCA,MAAlC;EAAA,IAAkBE,UAAlB,cAASC,OAAT;;EACA,IAAMC,uBAAuB,GAAGJ,MAAM,CAACK,MAAP,GAAgB,CAAhD;EAEA,IAAMC,0BAA0B,GAAG,IAAAC,iBAAA,EAAWC,8BAAX,CAAnC;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;;EACI,IAAMC,oBAAoB,GAAGH,0BAA0B,KAAK,IAA5D;EAEA;AACJ;AACA;;EACI,IAAII,mBAAJ;;EAEA,IAAID,oBAAJ,EAA0B;IACtBC,mBAAmB,GAAG,KAAtB;EACH,CAFD,MAEO,IAAIN,uBAAJ,EAA6B;IAChCM,mBAAmB,GAAG,KAAtB;EACH,CAFM,MAEA;IACH,IAAQC,YAAR,GAAyBL,0BAAzB,CAAQK,YAAR;IACAD,mBAAmB,GAAG,CAACC,YAAvB;EACH;EACD;AACJ;AACA;;;EACI,IAAIC,QAAQ,GAAG,IAAf;;EACA,IAAIR,uBAAJ,EAA6B;IACzBQ,QAAQ,gBAAG,6BAAC,qDAAD,OAAX;EACH,CAFD,MAEO;IACHA,QAAQ,gBAAG,6BAAC,6BAAD;MAAsB,UAAU,EAAEV;IAAlC,EAAX;EACH;;EAED,OAAO;IACHQ,mBAAmB,EAAnBA,mBADG;IAEHR,UAAU,EAAVA,UAFG;IAGHU,QAAQ,EAARA;EAHG,CAAP;AAKH,CA5CM"}