@webiny/app-headless-cms 0.0.0-mt-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (507) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +18 -0
  3. package/admin/components/ContentEntryForm/ContentEntryForm.d.ts +8 -0
  4. package/admin/components/ContentEntryForm/ContentEntryForm.js +68 -0
  5. package/admin/components/ContentEntryForm/ContentEntryFormPreview.d.ts +7 -0
  6. package/admin/components/ContentEntryForm/ContentEntryFormPreview.js +43 -0
  7. package/admin/components/ContentEntryForm/Fields.d.ts +12 -0
  8. package/admin/components/ContentEntryForm/Fields.js +33 -0
  9. package/admin/components/ContentEntryForm/Label.d.ts +5 -0
  10. package/admin/components/ContentEntryForm/Label.js +20 -0
  11. package/admin/components/ContentEntryForm/RenderFieldElement.d.ts +8 -0
  12. package/admin/components/ContentEntryForm/RenderFieldElement.js +40 -0
  13. package/admin/components/ContentEntryForm/functions/createValidators.d.ts +1 -0
  14. package/admin/components/ContentEntryForm/functions/createValidators.js +58 -0
  15. package/admin/components/ContentEntryForm/functions/getValue.d.ts +5 -0
  16. package/admin/components/ContentEntryForm/functions/getValue.js +20 -0
  17. package/admin/components/ContentEntryForm/functions/setValue.d.ts +6 -0
  18. package/admin/components/ContentEntryForm/functions/setValue.js +20 -0
  19. package/admin/components/ContentEntryForm/useBind.d.ts +10 -0
  20. package/admin/components/ContentEntryForm/useBind.js +76 -0
  21. package/admin/components/ContentEntryForm/useContentEntryForm.d.ts +22 -0
  22. package/admin/components/ContentEntryForm/useContentEntryForm.js +338 -0
  23. package/admin/components/ContentEntryForm/useRenderPlugins.d.ts +2 -0
  24. package/admin/components/ContentEntryForm/useRenderPlugins.js +7 -0
  25. package/admin/components/ContentModelEditor/Context.d.ts +23 -0
  26. package/admin/components/ContentModelEditor/Context.js +218 -0
  27. package/admin/components/ContentModelEditor/Editor.d.ts +3 -0
  28. package/admin/components/ContentModelEditor/Editor.js +138 -0
  29. package/admin/components/ContentModelEditor/FieldsSidebar.d.ts +4 -0
  30. package/admin/components/ContentModelEditor/FieldsSidebar.js +91 -0
  31. package/admin/components/ContentModelEditor/Header.d.ts +2 -0
  32. package/admin/components/ContentModelEditor/Header.js +24 -0
  33. package/admin/components/ContentModelEditor/PreviewTab.d.ts +2 -0
  34. package/admin/components/ContentModelEditor/PreviewTab.js +36 -0
  35. package/admin/components/ContentModelEditor/icons/round-assignment-24px.svg +4 -0
  36. package/admin/components/ContentModelEditor/icons/round-drag_indicator-24px.svg +4 -0
  37. package/admin/components/ContentModelEditor/useContentModelEditor.d.ts +1 -0
  38. package/admin/components/ContentModelEditor/useContentModelEditor.js +11 -0
  39. package/admin/components/DragPreview.d.ts +2 -0
  40. package/admin/components/DragPreview.js +98 -0
  41. package/admin/components/Draggable.d.ts +14 -0
  42. package/admin/components/Draggable.js +49 -0
  43. package/admin/components/DropZone/Center.d.ts +12 -0
  44. package/admin/components/DropZone/Center.js +60 -0
  45. package/admin/components/DropZone/Horizontal.d.ts +9 -0
  46. package/admin/components/DropZone/Horizontal.js +83 -0
  47. package/admin/components/DropZone/Vertical.d.ts +10 -0
  48. package/admin/components/DropZone/Vertical.js +79 -0
  49. package/admin/components/DropZone/index.d.ts +4 -0
  50. package/admin/components/DropZone/index.js +4 -0
  51. package/admin/components/Droppable.d.ts +23 -0
  52. package/admin/components/Droppable.js +45 -0
  53. package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.d.ts +3 -0
  54. package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.js +83 -0
  55. package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.d.ts +10 -0
  56. package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js +120 -0
  57. package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.d.ts +5 -0
  58. package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.js +55 -0
  59. package/admin/components/FieldEditor/EditFieldDialog/ValidatorsTab.d.ts +10 -0
  60. package/admin/components/FieldEditor/EditFieldDialog/ValidatorsTab.js +121 -0
  61. package/admin/components/FieldEditor/EditFieldDialog/functions/getValue.d.ts +6 -0
  62. package/admin/components/FieldEditor/EditFieldDialog/functions/getValue.js +16 -0
  63. package/admin/components/FieldEditor/EditFieldDialog/functions/setValue.d.ts +7 -0
  64. package/admin/components/FieldEditor/EditFieldDialog/functions/setValue.js +21 -0
  65. package/admin/components/FieldEditor/EditFieldDialog.d.ts +9 -0
  66. package/admin/components/FieldEditor/EditFieldDialog.js +231 -0
  67. package/admin/components/FieldEditor/Field.d.ts +3 -0
  68. package/admin/components/FieldEditor/Field.js +179 -0
  69. package/admin/components/FieldEditor/FieldEditor.d.ts +12 -0
  70. package/admin/components/FieldEditor/FieldEditor.js +166 -0
  71. package/admin/components/FieldEditor/FieldEditorContext.d.ts +53 -0
  72. package/admin/components/FieldEditor/FieldEditorContext.js +330 -0
  73. package/admin/components/FieldEditor/Styled.d.ts +6 -0
  74. package/admin/components/FieldEditor/Styled.js +54 -0
  75. package/admin/components/FieldEditor/index.d.ts +2 -0
  76. package/admin/components/FieldEditor/index.js +2 -0
  77. package/admin/components/FieldEditor/useFieldEditor.d.ts +1 -0
  78. package/admin/components/FieldEditor/useFieldEditor.js +5 -0
  79. package/admin/components/FieldEditor/utils/deleteField.d.ts +10 -0
  80. package/admin/components/FieldEditor/utils/deleteField.js +34 -0
  81. package/admin/components/FieldEditor/utils/getFieldPosition.d.ts +6 -0
  82. package/admin/components/FieldEditor/utils/getFieldPosition.js +20 -0
  83. package/admin/components/FieldEditor/utils/index.d.ts +4 -0
  84. package/admin/components/FieldEditor/utils/index.js +4 -0
  85. package/admin/components/FieldEditor/utils/moveField.d.ts +7 -0
  86. package/admin/components/FieldEditor/utils/moveField.js +51 -0
  87. package/admin/components/FieldEditor/utils/moveRow.d.ts +9 -0
  88. package/admin/components/FieldEditor/utils/moveRow.js +10 -0
  89. package/admin/constants/statusLabels.d.ts +8 -0
  90. package/admin/constants/statusLabels.js +13 -0
  91. package/admin/contexts/Cms/NetworkError.d.ts +2 -0
  92. package/admin/contexts/Cms/NetworkError.js +7 -0
  93. package/admin/contexts/Cms/index.d.ts +16 -0
  94. package/admin/contexts/Cms/index.js +43 -0
  95. package/admin/elements/ContentGroupMenuElement.d.ts +3 -0
  96. package/admin/elements/ContentGroupMenuElement.js +17 -0
  97. package/admin/elements/ContentModelMenuElement.d.ts +3 -0
  98. package/admin/elements/ContentModelMenuElement.js +17 -0
  99. package/admin/elements/NothingToShowElement.d.ts +15 -0
  100. package/admin/elements/NothingToShowElement.js +88 -0
  101. package/admin/graphql/contentEntries.d.ts +12 -0
  102. package/admin/graphql/contentEntries.js +68 -0
  103. package/admin/graphql/contentModels.d.ts +4 -0
  104. package/admin/graphql/contentModels.js +9 -0
  105. package/admin/graphql/createFieldsList.d.ts +2 -0
  106. package/admin/graphql/createFieldsList.js +21 -0
  107. package/admin/hooks/index.d.ts +5 -0
  108. package/admin/hooks/index.js +5 -0
  109. package/admin/hooks/useApolloClient.d.ts +2 -0
  110. package/admin/hooks/useApolloClient.js +10 -0
  111. package/admin/hooks/useCms.d.ts +3 -0
  112. package/admin/hooks/useCms.js +14 -0
  113. package/admin/hooks/useLazyQuery.d.ts +2 -0
  114. package/admin/hooks/useLazyQuery.js +16 -0
  115. package/admin/hooks/useMutation.d.ts +2 -0
  116. package/admin/hooks/useMutation.js +16 -0
  117. package/admin/hooks/usePermission.d.ts +27 -0
  118. package/admin/hooks/usePermission.js +218 -0
  119. package/admin/hooks/useQuery.d.ts +2 -0
  120. package/admin/hooks/useQuery.js +17 -0
  121. package/admin/icons/add.svg +5 -0
  122. package/admin/icons/arrow_forward-24px.svg +1 -0
  123. package/admin/icons/baseline-autorenew-24px.svg +4 -0
  124. package/admin/icons/beenhere.svg +1 -0
  125. package/admin/icons/call_split-24px.svg +4 -0
  126. package/admin/icons/close.svg +13 -0
  127. package/admin/icons/delete.svg +12 -0
  128. package/admin/icons/devices_other-black-24px.svg +1 -0
  129. package/admin/icons/done-24px.svg +1 -0
  130. package/admin/icons/edit.svg +17 -0
  131. package/admin/icons/emoji_people-24px.svg +1 -0
  132. package/admin/icons/gesture.svg +1 -0
  133. package/admin/icons/help_outline.svg +1 -0
  134. package/admin/icons/how_to_vote-24px.svg +4 -0
  135. package/admin/icons/info.svg +1 -0
  136. package/admin/icons/lock.svg +1 -0
  137. package/admin/icons/more_vert.svg +12 -0
  138. package/admin/icons/publish.svg +1 -0
  139. package/admin/icons/round-arrow_drop_down-24px.svg +12 -0
  140. package/admin/icons/round-drag_indicator-24px.svg +4 -0
  141. package/admin/icons/round-translate-24px.svg +4 -0
  142. package/admin/icons/rule-24px.svg +1 -0
  143. package/admin/icons/title-24px.svg +1 -0
  144. package/admin/icons/unpublish.svg +4 -0
  145. package/admin/icons/view_list.svg +1 -0
  146. package/admin/icons/visibility.svg +16 -0
  147. package/admin/plugins/apiInformation/index.d.ts +3 -0
  148. package/admin/plugins/apiInformation/index.js +59 -0
  149. package/admin/plugins/apiInformation/placeholder.manage.graphql +18 -0
  150. package/admin/plugins/apiInformation/placeholder.preview.graphql +15 -0
  151. package/admin/plugins/apiInformation/placeholder.read.graphql +16 -0
  152. package/admin/plugins/definitions/CmsEditorFieldValidatorFileTypePlugin.d.ts +21 -0
  153. package/admin/plugins/definitions/CmsEditorFieldValidatorFileTypePlugin.js +61 -0
  154. package/admin/plugins/definitions/CmsFieldValidatorFileTypePlugin.d.ts +10 -0
  155. package/admin/plugins/definitions/CmsFieldValidatorFileTypePlugin.js +36 -0
  156. package/admin/plugins/editor/defaultBar/BackButton.d.ts +3 -0
  157. package/admin/plugins/editor/defaultBar/BackButton.js +21 -0
  158. package/admin/plugins/editor/defaultBar/CreateContentButton.d.ts +3 -0
  159. package/admin/plugins/editor/defaultBar/CreateContentButton.js +46 -0
  160. package/admin/plugins/editor/defaultBar/Divider.d.ts +3 -0
  161. package/admin/plugins/editor/defaultBar/Divider.js +11 -0
  162. package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.d.ts +6 -0
  163. package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js +90 -0
  164. package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsButton.d.ts +3 -0
  165. package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsButton.js +27 -0
  166. package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsStyled.d.ts +6 -0
  167. package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsStyled.js +42 -0
  168. package/admin/plugins/editor/defaultBar/FormSettings/index.d.ts +1 -0
  169. package/admin/plugins/editor/defaultBar/FormSettings/index.js +1 -0
  170. package/admin/plugins/editor/defaultBar/Name/Name.d.ts +7 -0
  171. package/admin/plugins/editor/defaultBar/Name/Name.js +80 -0
  172. package/admin/plugins/editor/defaultBar/Name/NameStyled.d.ts +5 -0
  173. package/admin/plugins/editor/defaultBar/Name/NameStyled.js +48 -0
  174. package/admin/plugins/editor/defaultBar/Name/index.d.ts +1 -0
  175. package/admin/plugins/editor/defaultBar/Name/index.js +1 -0
  176. package/admin/plugins/editor/defaultBar/SaveContentModelButton.d.ts +3 -0
  177. package/admin/plugins/editor/defaultBar/SaveContentModelButton.js +63 -0
  178. package/admin/plugins/editor/defaultBar/icons/more_vert.svg +12 -0
  179. package/admin/plugins/editor/defaultBar/icons/round-arrow_back-24px.svg +13 -0
  180. package/admin/plugins/editor/defaultBar/icons/round-arrow_drop_down-24px.svg +12 -0
  181. package/admin/plugins/editor/defaultBar/icons/settings.svg +25 -0
  182. package/admin/plugins/editor/defaultBar/index.d.ts +7 -0
  183. package/admin/plugins/editor/defaultBar/index.js +44 -0
  184. package/admin/plugins/editor/formSettings/components/GeneralSettings.d.ts +7 -0
  185. package/admin/plugins/editor/formSettings/components/GeneralSettings.js +37 -0
  186. package/admin/plugins/editor/formSettings/components/GroupSelect.d.ts +3 -0
  187. package/admin/plugins/editor/formSettings/components/GroupSelect.js +30 -0
  188. package/admin/plugins/editor/formSettings/icons/round-settings-24px.svg +1 -0
  189. package/admin/plugins/editor/formSettings/index.d.ts +3 -0
  190. package/admin/plugins/editor/formSettings/index.js +14 -0
  191. package/admin/plugins/fieldRenderers/Accordion.d.ts +10 -0
  192. package/admin/plugins/fieldRenderers/Accordion.js +125 -0
  193. package/admin/plugins/fieldRenderers/DynamicSection.d.ts +14 -0
  194. package/admin/plugins/fieldRenderers/DynamicSection.js +103 -0
  195. package/admin/plugins/fieldRenderers/boolean/booleanSwitch.d.ts +3 -0
  196. package/admin/plugins/fieldRenderers/boolean/booleanSwitch.js +34 -0
  197. package/admin/plugins/fieldRenderers/boolean/index.d.ts +2 -0
  198. package/admin/plugins/fieldRenderers/boolean/index.js +2 -0
  199. package/admin/plugins/fieldRenderers/checkboxes.d.ts +3 -0
  200. package/admin/plugins/fieldRenderers/checkboxes.js +45 -0
  201. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.d.ts +9 -0
  202. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.js +148 -0
  203. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.d.ts +8 -0
  204. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.js +115 -0
  205. package/admin/plugins/fieldRenderers/dateTime/Input.d.ts +16 -0
  206. package/admin/plugins/fieldRenderers/dateTime/Input.js +26 -0
  207. package/admin/plugins/fieldRenderers/dateTime/Select.d.ts +3 -0
  208. package/admin/plugins/fieldRenderers/dateTime/Select.js +13 -0
  209. package/admin/plugins/fieldRenderers/dateTime/Time.d.ts +3 -0
  210. package/admin/plugins/fieldRenderers/dateTime/Time.js +13 -0
  211. package/admin/plugins/fieldRenderers/dateTime/dateTimeField.d.ts +3 -0
  212. package/admin/plugins/fieldRenderers/dateTime/dateTimeField.js +59 -0
  213. package/admin/plugins/fieldRenderers/dateTime/dateTimeFields.d.ts +3 -0
  214. package/admin/plugins/fieldRenderers/dateTime/dateTimeFields.js +84 -0
  215. package/admin/plugins/fieldRenderers/dateTime/index.d.ts +2 -0
  216. package/admin/plugins/fieldRenderers/dateTime/index.js +3 -0
  217. package/admin/plugins/fieldRenderers/dateTime/utils.d.ts +15 -0
  218. package/admin/plugins/fieldRenderers/dateTime/utils.js +153 -0
  219. package/admin/plugins/fieldRenderers/file/File.d.ts +15 -0
  220. package/admin/plugins/fieldRenderers/file/File.js +79 -0
  221. package/admin/plugins/fieldRenderers/file/fileField.d.ts +3 -0
  222. package/admin/plugins/fieldRenderers/file/fileField.js +64 -0
  223. package/admin/plugins/fieldRenderers/file/fileFields.d.ts +3 -0
  224. package/admin/plugins/fieldRenderers/file/fileFields.js +125 -0
  225. package/admin/plugins/fieldRenderers/file/index.d.ts +2 -0
  226. package/admin/plugins/fieldRenderers/file/index.js +3 -0
  227. package/admin/plugins/fieldRenderers/file/utils.d.ts +7 -0
  228. package/admin/plugins/fieldRenderers/file/utils.js +51 -0
  229. package/admin/plugins/fieldRenderers/longText/index.d.ts +2 -0
  230. package/admin/plugins/fieldRenderers/longText/index.js +3 -0
  231. package/admin/plugins/fieldRenderers/longText/longText.d.ts +3 -0
  232. package/admin/plugins/fieldRenderers/longText/longText.js +36 -0
  233. package/admin/plugins/fieldRenderers/longText/longTexts.d.ts +3 -0
  234. package/admin/plugins/fieldRenderers/longText/longTexts.js +43 -0
  235. package/admin/plugins/fieldRenderers/number/index.d.ts +2 -0
  236. package/admin/plugins/fieldRenderers/number/index.js +3 -0
  237. package/admin/plugins/fieldRenderers/number/numberInput.d.ts +3 -0
  238. package/admin/plugins/fieldRenderers/number/numberInput.js +39 -0
  239. package/admin/plugins/fieldRenderers/number/numberInputs.d.ts +3 -0
  240. package/admin/plugins/fieldRenderers/number/numberInputs.js +50 -0
  241. package/admin/plugins/fieldRenderers/object/StyledComponents.d.ts +4 -0
  242. package/admin/plugins/fieldRenderers/object/StyledComponents.js +5 -0
  243. package/admin/plugins/fieldRenderers/object/index.d.ts +2 -0
  244. package/admin/plugins/fieldRenderers/object/index.js +3 -0
  245. package/admin/plugins/fieldRenderers/object/multipleObjects.d.ts +3 -0
  246. package/admin/plugins/fieldRenderers/object/multipleObjects.js +72 -0
  247. package/admin/plugins/fieldRenderers/object/singleObject.d.ts +3 -0
  248. package/admin/plugins/fieldRenderers/object/singleObject.js +45 -0
  249. package/admin/plugins/fieldRenderers/radioButtons.d.ts +3 -0
  250. package/admin/plugins/fieldRenderers/radioButtons.js +45 -0
  251. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.d.ts +6 -0
  252. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.js +54 -0
  253. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.d.ts +6 -0
  254. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.js +65 -0
  255. package/admin/plugins/fieldRenderers/ref/components/getOptions.d.ts +1 -0
  256. package/admin/plugins/fieldRenderers/ref/components/getOptions.js +21 -0
  257. package/admin/plugins/fieldRenderers/ref/components/graphql.d.ts +4 -0
  258. package/admin/plugins/fieldRenderers/ref/components/graphql.js +10 -0
  259. package/admin/plugins/fieldRenderers/ref/components/renderItem.d.ts +2 -0
  260. package/admin/plugins/fieldRenderers/ref/components/renderItem.js +14 -0
  261. package/admin/plugins/fieldRenderers/ref/components/useReference.d.ts +22 -0
  262. package/admin/plugins/fieldRenderers/ref/components/useReference.js +240 -0
  263. package/admin/plugins/fieldRenderers/ref/components/useReferences.d.ts +19 -0
  264. package/admin/plugins/fieldRenderers/ref/components/useReferences.js +180 -0
  265. package/admin/plugins/fieldRenderers/ref/index.d.ts +2 -0
  266. package/admin/plugins/fieldRenderers/ref/index.js +3 -0
  267. package/admin/plugins/fieldRenderers/ref/refInput.d.ts +3 -0
  268. package/admin/plugins/fieldRenderers/ref/refInput.js +30 -0
  269. package/admin/plugins/fieldRenderers/ref/refInputs.d.ts +3 -0
  270. package/admin/plugins/fieldRenderers/ref/refInputs.js +37 -0
  271. package/admin/plugins/fieldRenderers/richText/index.d.ts +2 -0
  272. package/admin/plugins/fieldRenderers/richText/index.js +3 -0
  273. package/admin/plugins/fieldRenderers/richText/richTextInput.d.ts +3 -0
  274. package/admin/plugins/fieldRenderers/richText/richTextInput.js +50 -0
  275. package/admin/plugins/fieldRenderers/richText/richTextInputs.d.ts +3 -0
  276. package/admin/plugins/fieldRenderers/richText/richTextInputs.js +79 -0
  277. package/admin/plugins/fieldRenderers/select.d.ts +3 -0
  278. package/admin/plugins/fieldRenderers/select.js +34 -0
  279. package/admin/plugins/fieldRenderers/text/index.d.ts +2 -0
  280. package/admin/plugins/fieldRenderers/text/index.js +3 -0
  281. package/admin/plugins/fieldRenderers/text/textInput.d.ts +3 -0
  282. package/admin/plugins/fieldRenderers/text/textInput.js +35 -0
  283. package/admin/plugins/fieldRenderers/text/textInputs.d.ts +3 -0
  284. package/admin/plugins/fieldRenderers/text/textInputs.js +46 -0
  285. package/admin/plugins/fieldValidators/date/availableValidators.d.ts +1 -0
  286. package/admin/plugins/fieldValidators/date/availableValidators.js +11 -0
  287. package/admin/plugins/fieldValidators/date/createDateInputField.d.ts +3 -0
  288. package/admin/plugins/fieldValidators/date/createDateInputField.js +33 -0
  289. package/admin/plugins/fieldValidators/dateGte.d.ts +3 -0
  290. package/admin/plugins/fieldValidators/dateGte.js +40 -0
  291. package/admin/plugins/fieldValidators/dateLte.d.ts +3 -0
  292. package/admin/plugins/fieldValidators/dateLte.js +40 -0
  293. package/admin/plugins/fieldValidators/gte.d.ts +3 -0
  294. package/admin/plugins/fieldValidators/gte.js +27 -0
  295. package/admin/plugins/fieldValidators/in.d.ts +3 -0
  296. package/admin/plugins/fieldValidators/in.js +26 -0
  297. package/admin/plugins/fieldValidators/lte.d.ts +3 -0
  298. package/admin/plugins/fieldValidators/lte.js +27 -0
  299. package/admin/plugins/fieldValidators/maxLength.d.ts +3 -0
  300. package/admin/plugins/fieldValidators/maxLength.js +27 -0
  301. package/admin/plugins/fieldValidators/minLength.d.ts +3 -0
  302. package/admin/plugins/fieldValidators/minLength.js +27 -0
  303. package/admin/plugins/fieldValidators/pattern.d.ts +3 -0
  304. package/admin/plugins/fieldValidators/pattern.js +74 -0
  305. package/admin/plugins/fieldValidators/patternPlugins/email.d.ts +3 -0
  306. package/admin/plugins/fieldValidators/patternPlugins/email.js +9 -0
  307. package/admin/plugins/fieldValidators/patternPlugins/lowerCase.d.ts +3 -0
  308. package/admin/plugins/fieldValidators/patternPlugins/lowerCase.js +9 -0
  309. package/admin/plugins/fieldValidators/patternPlugins/upperCase.d.ts +3 -0
  310. package/admin/plugins/fieldValidators/patternPlugins/upperCase.js +9 -0
  311. package/admin/plugins/fieldValidators/patternPlugins/url.d.ts +3 -0
  312. package/admin/plugins/fieldValidators/patternPlugins/url.js +9 -0
  313. package/admin/plugins/fieldValidators/required.d.ts +3 -0
  314. package/admin/plugins/fieldValidators/required.js +10 -0
  315. package/admin/plugins/fields/PredefinedValuesDynamicFieldset.d.ts +6 -0
  316. package/admin/plugins/fields/PredefinedValuesDynamicFieldset.js +108 -0
  317. package/admin/plugins/fields/boolean.d.ts +3 -0
  318. package/admin/plugins/fields/boolean.js +31 -0
  319. package/admin/plugins/fields/dateTime.d.ts +3 -0
  320. package/admin/plugins/fields/dateTime.js +77 -0
  321. package/admin/plugins/fields/file.d.ts +3 -0
  322. package/admin/plugins/fields/file.js +46 -0
  323. package/admin/plugins/fields/icons/ballot_black_24dp.svg +1 -0
  324. package/admin/plugins/fields/icons/dropdown-icon.svg +16 -0
  325. package/admin/plugins/fields/icons/notes-black-24px.svg +1 -0
  326. package/admin/plugins/fields/icons/round-check_box-24px.svg +4 -0
  327. package/admin/plugins/fields/icons/round-link-24px.svg +1 -0
  328. package/admin/plugins/fields/icons/round-looks_3-24px.svg +4 -0
  329. package/admin/plugins/fields/icons/round-notes.svg +1 -0
  330. package/admin/plugins/fields/icons/round-radio_button_checked-24px.svg +5 -0
  331. package/admin/plugins/fields/icons/round-short_text.svg +1 -0
  332. package/admin/plugins/fields/icons/round-subject.svg +1 -0
  333. package/admin/plugins/fields/icons/round-text_fields-24px.svg +4 -0
  334. package/admin/plugins/fields/icons/round-visibility_off-24px.svg +4 -0
  335. package/admin/plugins/fields/icons/round_insert_drive_file-24px.svg +1 -0
  336. package/admin/plugins/fields/icons/schedule-black-24px.svg +1 -0
  337. package/admin/plugins/fields/icons/title-black-24px.svg +1 -0
  338. package/admin/plugins/fields/icons/toggle_on-black-24px.svg +1 -0
  339. package/admin/plugins/fields/longText.d.ts +3 -0
  340. package/admin/plugins/fields/longText.js +46 -0
  341. package/admin/plugins/fields/number.d.ts +3 -0
  342. package/admin/plugins/fields/number.js +63 -0
  343. package/admin/plugins/fields/object/ObjectFields.d.ts +4 -0
  344. package/admin/plugins/fields/object/ObjectFields.js +32 -0
  345. package/admin/plugins/fields/object.d.ts +3 -0
  346. package/admin/plugins/fields/object.js +46 -0
  347. package/admin/plugins/fields/ref.d.ts +3 -0
  348. package/admin/plugins/fields/ref.js +144 -0
  349. package/admin/plugins/fields/richText.d.ts +3 -0
  350. package/admin/plugins/fields/richText.js +45 -0
  351. package/admin/plugins/fields/text.d.ts +3 -0
  352. package/admin/plugins/fields/text.js +51 -0
  353. package/admin/plugins/getObjectId.d.ts +3 -0
  354. package/admin/plugins/getObjectId.js +13 -0
  355. package/admin/plugins/icons.d.ts +3 -0
  356. package/admin/plugins/icons.js +40 -0
  357. package/admin/plugins/index.d.ts +13 -0
  358. package/admin/plugins/index.js +14 -0
  359. package/admin/plugins/install.d.ts +3 -0
  360. package/admin/plugins/install.js +127 -0
  361. package/admin/plugins/menus/CmsMenuLoader.d.ts +7 -0
  362. package/admin/plugins/menus/CmsMenuLoader.js +76 -0
  363. package/admin/plugins/menus/ContentGroupsMenuItems.d.ts +6 -0
  364. package/admin/plugins/menus/ContentGroupsMenuItems.js +154 -0
  365. package/admin/plugins/menus/GlobalSearchPlugins.d.ts +8 -0
  366. package/admin/plugins/menus/GlobalSearchPlugins.js +53 -0
  367. package/admin/plugins/menus.d.ts +4 -0
  368. package/admin/plugins/menus.js +19 -0
  369. package/admin/plugins/permissionRenderer/CmsPermissions.d.ts +5 -0
  370. package/admin/plugins/permissionRenderer/CmsPermissions.js +340 -0
  371. package/admin/plugins/permissionRenderer/components/ContentEntryPermission.d.ts +8 -0
  372. package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js +117 -0
  373. package/admin/plugins/permissionRenderer/components/ContentModelGroupPermission.d.ts +9 -0
  374. package/admin/plugins/permissionRenderer/components/ContentModelGroupPermission.js +77 -0
  375. package/admin/plugins/permissionRenderer/components/ContentModelList.d.ts +7 -0
  376. package/admin/plugins/permissionRenderer/components/ContentModelList.js +53 -0
  377. package/admin/plugins/permissionRenderer/components/ContentModelPermission.d.ts +10 -0
  378. package/admin/plugins/permissionRenderer/components/ContentModelPermission.js +104 -0
  379. package/admin/plugins/permissionRenderer/components/PermissionRendererWrapper.d.ts +5 -0
  380. package/admin/plugins/permissionRenderer/components/PermissionRendererWrapper.js +28 -0
  381. package/admin/plugins/permissionRenderer/components/PermissionSelector.d.ts +34 -0
  382. package/admin/plugins/permissionRenderer/components/PermissionSelector.js +66 -0
  383. package/admin/plugins/permissionRenderer/components/StyledComponents.d.ts +2 -0
  384. package/admin/plugins/permissionRenderer/components/StyledComponents.js +10 -0
  385. package/admin/plugins/permissionRenderer/components/useCmsData.d.ts +1 -0
  386. package/admin/plugins/permissionRenderer/components/useCmsData.js +79 -0
  387. package/admin/plugins/permissionRenderer/index.d.ts +3 -0
  388. package/admin/plugins/permissionRenderer/index.js +16 -0
  389. package/admin/plugins/routes.d.ts +3 -0
  390. package/admin/plugins/routes.js +88 -0
  391. package/admin/plugins/transformers/dateTransformer.d.ts +3 -0
  392. package/admin/plugins/transformers/dateTransformer.js +44 -0
  393. package/admin/plugins/transformers/index.d.ts +3 -0
  394. package/admin/plugins/transformers/index.js +5 -0
  395. package/admin/plugins/transformers/numberTransformer.d.ts +3 -0
  396. package/admin/plugins/transformers/numberTransformer.js +14 -0
  397. package/admin/plugins/upgrades/v5.0.0.d.ts +5 -0
  398. package/admin/plugins/upgrades/v5.0.0.js +85 -0
  399. package/admin/plugins/upgrades/v5.5.0.d.ts +5 -0
  400. package/admin/plugins/upgrades/v5.5.0.js +85 -0
  401. package/admin/plugins/upgrades/v5.8.0.d.ts +5 -0
  402. package/admin/plugins/upgrades/v5.8.0.js +85 -0
  403. package/admin/plugins/validators/dateGte.d.ts +3 -0
  404. package/admin/plugins/validators/dateGte.js +23 -0
  405. package/admin/plugins/validators/dateLte.d.ts +3 -0
  406. package/admin/plugins/validators/dateLte.js +23 -0
  407. package/admin/plugins/validators/gte.d.ts +3 -0
  408. package/admin/plugins/validators/gte.js +15 -0
  409. package/admin/plugins/validators/in.d.ts +3 -0
  410. package/admin/plugins/validators/in.js +15 -0
  411. package/admin/plugins/validators/lte.d.ts +3 -0
  412. package/admin/plugins/validators/lte.js +15 -0
  413. package/admin/plugins/validators/maxLength.d.ts +3 -0
  414. package/admin/plugins/validators/maxLength.js +15 -0
  415. package/admin/plugins/validators/minLength.d.ts +3 -0
  416. package/admin/plugins/validators/minLength.js +15 -0
  417. package/admin/plugins/validators/pattern.d.ts +9 -0
  418. package/admin/plugins/validators/pattern.js +34 -0
  419. package/admin/plugins/validators/patternPlugins/email.d.ts +10 -0
  420. package/admin/plugins/validators/patternPlugins/email.js +9 -0
  421. package/admin/plugins/validators/patternPlugins/lowerCase.d.ts +10 -0
  422. package/admin/plugins/validators/patternPlugins/lowerCase.js +9 -0
  423. package/admin/plugins/validators/patternPlugins/upperCase.d.ts +10 -0
  424. package/admin/plugins/validators/patternPlugins/upperCase.js +9 -0
  425. package/admin/plugins/validators/patternPlugins/url.d.ts +10 -0
  426. package/admin/plugins/validators/patternPlugins/url.js +9 -0
  427. package/admin/plugins/validators/required.d.ts +3 -0
  428. package/admin/plugins/validators/required.js +11 -0
  429. package/admin/plugins/validators/timeGte.d.ts +3 -0
  430. package/admin/plugins/validators/timeGte.js +19 -0
  431. package/admin/plugins/validators/timeLte.d.ts +3 -0
  432. package/admin/plugins/validators/timeLte.js +19 -0
  433. package/admin/plugins/welcomeScreenWidget.d.ts +3 -0
  434. package/admin/plugins/welcomeScreenWidget.js +29 -0
  435. package/admin/views/contentEntries/ContentEntries.d.ts +3 -0
  436. package/admin/views/contentEntries/ContentEntries.js +73 -0
  437. package/admin/views/contentEntries/ContentEntriesContext.d.ts +24 -0
  438. package/admin/views/contentEntries/ContentEntriesContext.js +78 -0
  439. package/admin/views/contentEntries/ContentEntriesList.d.ts +3 -0
  440. package/admin/views/contentEntries/ContentEntriesList.js +180 -0
  441. package/admin/views/contentEntries/ContentEntry/ContentEntryContext.d.ts +28 -0
  442. package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js +113 -0
  443. package/admin/views/contentEntries/ContentEntry/RevisionListItem.d.ts +7 -0
  444. package/admin/views/contentEntries/ContentEntry/RevisionListItem.js +152 -0
  445. package/admin/views/contentEntries/ContentEntry/RevisionsList.d.ts +3 -0
  446. package/admin/views/contentEntries/ContentEntry/RevisionsList.js +59 -0
  447. package/admin/views/contentEntries/ContentEntry/cache.d.ts +7 -0
  448. package/admin/views/contentEntries/ContentEntry/cache.js +183 -0
  449. package/admin/views/contentEntries/ContentEntry/header/Header.d.ts +3 -0
  450. package/admin/views/contentEntries/ContentEntry/header/Header.js +32 -0
  451. package/admin/views/contentEntries/ContentEntry/header/contentFormOptionsMenu/ContentFormOptionsMenu.d.ts +3 -0
  452. package/admin/views/contentEntries/ContentEntry/header/contentFormOptionsMenu/ContentFormOptionsMenu.js +141 -0
  453. package/admin/views/contentEntries/ContentEntry/header/index.d.ts +3 -0
  454. package/admin/views/contentEntries/ContentEntry/header/index.js +45 -0
  455. package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.d.ts +3 -0
  456. package/admin/views/contentEntries/ContentEntry/header/requestChanges/RequestChanges.js +67 -0
  457. package/admin/views/contentEntries/ContentEntry/header/requestChanges/rule-24px.svg +1 -0
  458. package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.d.ts +3 -0
  459. package/admin/views/contentEntries/ContentEntry/header/requestReview/RequestReview.js +69 -0
  460. package/admin/views/contentEntries/ContentEntry/header/requestReview/emoji_people-24px.svg +1 -0
  461. package/admin/views/contentEntries/ContentEntry/header/revisionSelector/RevisionSelector.d.ts +3 -0
  462. package/admin/views/contentEntries/ContentEntry/header/revisionSelector/RevisionSelector.js +75 -0
  463. package/admin/views/contentEntries/ContentEntry/header/saveAndPublishContent/SaveAndPublishContent.d.ts +3 -0
  464. package/admin/views/contentEntries/ContentEntry/header/saveAndPublishContent/SaveAndPublishContent.js +84 -0
  465. package/admin/views/contentEntries/ContentEntry/header/saveContent/SaveContent.d.ts +3 -0
  466. package/admin/views/contentEntries/ContentEntry/header/saveContent/SaveContent.js +32 -0
  467. package/admin/views/contentEntries/ContentEntry/prepareFormData.d.ts +2 -0
  468. package/admin/views/contentEntries/ContentEntry/prepareFormData.js +79 -0
  469. package/admin/views/contentEntries/ContentEntry/useRevision.d.ts +13 -0
  470. package/admin/views/contentEntries/ContentEntry/useRevision.js +335 -0
  471. package/admin/views/contentEntries/ContentEntry.d.ts +12 -0
  472. package/admin/views/contentEntries/ContentEntry.js +99 -0
  473. package/admin/views/contentEntries/hooks/useContentEntries.d.ts +1 -0
  474. package/admin/views/contentEntries/hooks/useContentEntries.js +5 -0
  475. package/admin/views/contentEntries/hooks/useContentEntriesList.d.ts +21 -0
  476. package/admin/views/contentEntries/hooks/useContentEntriesList.js +152 -0
  477. package/admin/views/contentEntries/hooks/useContentEntry.d.ts +1 -0
  478. package/admin/views/contentEntries/hooks/useContentEntry.js +5 -0
  479. package/admin/views/contentModelGroups/ContentModelGroups.d.ts +3 -0
  480. package/admin/views/contentModelGroups/ContentModelGroups.js +35 -0
  481. package/admin/views/contentModelGroups/ContentModelGroupsDataList.d.ts +6 -0
  482. package/admin/views/contentModelGroups/ContentModelGroupsDataList.js +242 -0
  483. package/admin/views/contentModelGroups/ContentModelGroupsForm.d.ts +6 -0
  484. package/admin/views/contentModelGroups/ContentModelGroupsForm.js +231 -0
  485. package/admin/views/contentModelGroups/DelayedOnChange.d.ts +25 -0
  486. package/admin/views/contentModelGroups/DelayedOnChange.js +134 -0
  487. package/admin/views/contentModelGroups/IconPicker.d.ts +7 -0
  488. package/admin/views/contentModelGroups/IconPicker.js +204 -0
  489. package/admin/views/contentModelGroups/graphql.d.ts +5 -0
  490. package/admin/views/contentModelGroups/graphql.js +11 -0
  491. package/admin/views/contentModels/ContentModelEditor.d.ts +2 -0
  492. package/admin/views/contentModels/ContentModelEditor.js +35 -0
  493. package/admin/views/contentModels/ContentModels.d.ts +3 -0
  494. package/admin/views/contentModels/ContentModels.js +82 -0
  495. package/admin/views/contentModels/ContentModelsDataList.d.ts +7 -0
  496. package/admin/views/contentModels/ContentModelsDataList.js +281 -0
  497. package/admin/views/contentModels/NewContentModelDialog.d.ts +8 -0
  498. package/admin/views/contentModels/NewContentModelDialog.js +196 -0
  499. package/admin/views/contentModels/cache.d.ts +5 -0
  500. package/admin/views/contentModels/cache.js +68 -0
  501. package/admin/views/utils.d.ts +2 -0
  502. package/admin/views/utils.js +27 -0
  503. package/admin/viewsGraphql.d.ts +4 -0
  504. package/admin/viewsGraphql.js +12 -0
  505. package/package.json +109 -0
  506. package/types.d.ts +484 -0
  507. package/types.js +1 -0
@@ -0,0 +1,99 @@
1
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
+
3
+ var _templateObject, _templateObject2;
4
+
5
+ import React from "react";
6
+ import { css } from "emotion";
7
+ import styled from "@emotion/styled";
8
+ import EmptyView from "@webiny/app-admin/components/EmptyView";
9
+ import { ButtonDefault, ButtonIcon } from "@webiny/ui/Button";
10
+ import { ReactComponent as AddIcon } from "@svgr/webpack!@webiny/app-admin/assets/icons/add-18px.svg";
11
+ import { i18n } from "@webiny/app/i18n";
12
+ import { Tab, Tabs } from "@webiny/ui/Tabs";
13
+ import { Elevation } from "@webiny/ui/Elevation";
14
+ import { CircularProgress } from "@webiny/ui/Progress";
15
+ import RevisionsList from "./ContentEntry/RevisionsList";
16
+ import Header from "./ContentEntry/header/Header";
17
+ import { useContentEntry } from "./hooks/useContentEntry";
18
+ import { ContentEntryForm } from "../../components/ContentEntryForm/ContentEntryForm";
19
+ var t = i18n.namespace("app-headless-cms/admin/content-model-entries/details");
20
+ var DetailsContainer = /*#__PURE__*/styled("div", {
21
+ target: "e68rq0j0",
22
+ label: "DetailsContainer"
23
+ })({
24
+ height: "calc(100% - 10px)",
25
+ overflow: "hidden",
26
+ position: "relative",
27
+ nav: {
28
+ backgroundColor: "var(--mdc-theme-surface)"
29
+ }
30
+ });
31
+ var RenderBlock = /*#__PURE__*/styled("div", {
32
+ target: "e68rq0j1",
33
+ label: "RenderBlock"
34
+ })({
35
+ position: "relative",
36
+ zIndex: 0,
37
+ backgroundColor: "var(--mdc-theme-background)",
38
+ height: "100%",
39
+
40
+ /*overflow: "scroll",*/
41
+ padding: 25
42
+ });
43
+ var elevationStyles = /*#__PURE__*/css({
44
+ position: "relative"
45
+ }, "label:elevationStyles;");
46
+
47
+ var ContentEntry = function ContentEntry() {
48
+ var _useContentEntry = useContentEntry(),
49
+ contentModel = _useContentEntry.contentModel,
50
+ loading = _useContentEntry.loading,
51
+ entry = _useContentEntry.entry,
52
+ showEmptyView = _useContentEntry.showEmptyView,
53
+ canCreate = _useContentEntry.canCreate,
54
+ createEntry = _useContentEntry.createEntry,
55
+ setTabsRef = _useContentEntry.setTabsRef,
56
+ setFormRef = _useContentEntry.setFormRef; // Render "No content selected" view.
57
+
58
+
59
+ if (showEmptyView) {
60
+ return /*#__PURE__*/React.createElement(EmptyView, {
61
+ title: t(_templateObject || (_templateObject = _taggedTemplateLiteral(["Click on the left side list to display entry details {message}"])))({
62
+ message: canCreate ? "or create a..." : ""
63
+ }),
64
+ action: canCreate ? /*#__PURE__*/React.createElement(ButtonDefault, {
65
+ "data-testid": "new-record-button",
66
+ onClick: createEntry
67
+ }, /*#__PURE__*/React.createElement(ButtonIcon, {
68
+ icon: /*#__PURE__*/React.createElement(AddIcon, null)
69
+ }), " ", t(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["New Entry"])))) : null
70
+ });
71
+ }
72
+
73
+ return /*#__PURE__*/React.createElement(DetailsContainer, null, /*#__PURE__*/React.createElement("test-id", {
74
+ "data-testid": "cms-content-details"
75
+ }, /*#__PURE__*/React.createElement(Tabs, {
76
+ ref: function ref(tabs) {
77
+ return setTabsRef(tabs);
78
+ }
79
+ }, /*#__PURE__*/React.createElement(Tab, {
80
+ label: "Content",
81
+ disabled: loading,
82
+ "data-testid": "cms.content-form.tabs.content"
83
+ }, /*#__PURE__*/React.createElement(RenderBlock, null, /*#__PURE__*/React.createElement(Elevation, {
84
+ z: 2,
85
+ className: elevationStyles
86
+ }, loading && /*#__PURE__*/React.createElement(CircularProgress, null), /*#__PURE__*/React.createElement(Header, null), /*#__PURE__*/React.createElement(ContentEntryForm, {
87
+ contentModel: contentModel,
88
+ entry: entry,
89
+ onForm: function onForm(form) {
90
+ return setFormRef(form);
91
+ }
92
+ })))), /*#__PURE__*/React.createElement(Tab, {
93
+ label: "Revisions",
94
+ disabled: loading,
95
+ "data-testid": "cms.content-form.tabs.revisions"
96
+ }, /*#__PURE__*/React.createElement(RevisionsList, null)))));
97
+ };
98
+
99
+ export default ContentEntry;
@@ -0,0 +1 @@
1
+ export declare function useContentEntries(): import("../ContentEntriesContext").ContentEntriesContext;
@@ -0,0 +1,5 @@
1
+ import { useContext } from "react";
2
+ import { Context } from "../ContentEntriesContext";
3
+ export function useContentEntries() {
4
+ return useContext(Context);
5
+ }
@@ -0,0 +1,21 @@
1
+ /// <reference types="react" />
2
+ import { CmsEditorContentEntry } from "../../../../types";
3
+ export declare function useContentEntriesList(): {
4
+ contentModel: import("../../../../types").CmsEditorContentModel;
5
+ listQueryVariables: import("../ContentEntriesContext").ListQueryVariables;
6
+ setListQueryVariables: import("react").Dispatch<import("react").SetStateAction<import("../ContentEntriesContext").ListQueryVariables>>;
7
+ sorters: {
8
+ label: string;
9
+ value: string;
10
+ }[];
11
+ entryId: string;
12
+ loading: boolean;
13
+ data: any;
14
+ loadMore: () => void;
15
+ loadMoreLoading: boolean;
16
+ canCreate: boolean;
17
+ onCreate: () => void;
18
+ filter: string;
19
+ setFilter: import("react").Dispatch<import("react").SetStateAction<string>>;
20
+ editEntry: (entry: CmsEditorContentEntry) => () => void;
21
+ };
@@ -0,0 +1,152 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
+ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
3
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
+ import { useCallback, useEffect, useMemo, useState } from "react";
5
+ import get from "lodash/get";
6
+ import set from "lodash/set";
7
+ import unset from "lodash/unset";
8
+ import cloneDeep from "lodash/cloneDeep";
9
+ import debounce from "lodash/debounce";
10
+ import { useRouter } from "@webiny/react-router";
11
+ import { createListQuery } from "../../../graphql/contentEntries";
12
+ import { useQuery } from "../../../hooks";
13
+ import { useContentEntries } from "./useContentEntries";
14
+ export function useContentEntriesList() {
15
+ var _useContentEntries = useContentEntries(),
16
+ contentModel = _useContentEntries.contentModel,
17
+ listQueryVariables = _useContentEntries.listQueryVariables,
18
+ setListQueryVariables = _useContentEntries.setListQueryVariables,
19
+ sorters = _useContentEntries.sorters,
20
+ canCreate = _useContentEntries.canCreate;
21
+
22
+ var _useState = useState(false),
23
+ _useState2 = _slicedToArray(_useState, 2),
24
+ loadMoreLoading = _useState2[0],
25
+ setLoadMoreLoading = _useState2[1];
26
+
27
+ var _useState3 = useState(""),
28
+ _useState4 = _slicedToArray(_useState3, 2),
29
+ filter = _useState4[0],
30
+ setFilter = _useState4[1];
31
+
32
+ var _useRouter = useRouter(),
33
+ history = _useRouter.history;
34
+
35
+ var baseUrl = "/cms/content-entries/".concat(contentModel.modelId); // Get entry ID and search query (if any)
36
+
37
+ var query = new URLSearchParams(location.search);
38
+ var entryId = query.get("id");
39
+ var searchQuery = query.get("search");
40
+ var updateSearch = useCallback(debounce(function (_ref) {
41
+ var filter = _ref.filter,
42
+ query = _ref.query;
43
+ var search = query.get("search");
44
+
45
+ if (typeof search !== "string" && !filter) {
46
+ return;
47
+ } // We use the title field with the "contains" operator for doing basic searches.
48
+
49
+
50
+ var searchField = contentModel.titleFieldId + "_contains";
51
+ setListQueryVariables(function (prev) {
52
+ var next = cloneDeep(prev);
53
+
54
+ if (filter) {
55
+ set(next, "where.".concat(searchField), filter);
56
+ } else {
57
+ unset(next, "where.".concat(searchField));
58
+ }
59
+
60
+ return next;
61
+ });
62
+
63
+ if (search !== filter) {
64
+ query.set("search", filter);
65
+ history.push("".concat(baseUrl, "?").concat(query.toString()));
66
+ }
67
+ }, 250), [baseUrl]); // Set "filter" from search "query" on page load.
68
+
69
+ useEffect(function () {
70
+ if (searchQuery) {
71
+ setFilter(searchQuery);
72
+ }
73
+ }, [baseUrl, searchQuery]); // When filter changes, run GQL query
74
+
75
+ useEffect(function () {
76
+ return updateSearch({
77
+ filter: filter,
78
+ query: query
79
+ });
80
+ }, [baseUrl, filter]); // Generate a query based on current content model
81
+
82
+ var LIST_QUERY = useMemo(function () {
83
+ return createListQuery(contentModel);
84
+ }, [contentModel.modelId]);
85
+
86
+ var _useQuery = useQuery(LIST_QUERY, {
87
+ variables: listQueryVariables
88
+ }),
89
+ data = _useQuery.data,
90
+ loading = _useQuery.loading,
91
+ fetchMore = _useQuery.fetchMore;
92
+
93
+ var onCreate = useCallback(function () {
94
+ history.push("/cms/content-entries/".concat(contentModel.modelId, "?new=true"));
95
+ }, [contentModel]);
96
+ var filterByStatus = useCallback(function (entries, status) {
97
+ if (!status || status === "all") {
98
+ return entries;
99
+ }
100
+
101
+ return entries.filter(function (item) {
102
+ return item.meta.status === status;
103
+ });
104
+ }, []); // Load more entries on scroll
105
+
106
+ var loadMore = useCallback(function () {
107
+ var meta = get(data, "content.meta", {});
108
+
109
+ if (meta.hasMoreItems) {
110
+ setLoadMoreLoading(true);
111
+ fetchMore({
112
+ variables: {
113
+ after: meta.cursor
114
+ },
115
+ updateQuery: function updateQuery(prev, _ref2) {
116
+ var fetchMoreResult = _ref2.fetchMoreResult;
117
+
118
+ if (!fetchMoreResult) {
119
+ return prev;
120
+ }
121
+
122
+ var next = _objectSpread({}, fetchMoreResult);
123
+
124
+ next.content.data = [].concat(_toConsumableArray(prev.content.data), _toConsumableArray(fetchMoreResult.content.data));
125
+ setLoadMoreLoading(false);
126
+ return next;
127
+ }
128
+ });
129
+ }
130
+ }, [data]);
131
+ var editEntry = useCallback(function (entry) {
132
+ return function () {
133
+ history.push("/cms/content-entries/".concat(contentModel.modelId, "?id=").concat(encodeURIComponent(entry.id)));
134
+ };
135
+ }, [contentModel.modelId]);
136
+ return {
137
+ contentModel: contentModel,
138
+ listQueryVariables: listQueryVariables,
139
+ setListQueryVariables: setListQueryVariables,
140
+ sorters: sorters,
141
+ entryId: entryId,
142
+ loading: loading,
143
+ data: filterByStatus(get(data, "content.data", []), listQueryVariables.status),
144
+ loadMore: loadMore,
145
+ loadMoreLoading: loadMoreLoading,
146
+ canCreate: canCreate,
147
+ onCreate: onCreate,
148
+ filter: filter,
149
+ setFilter: setFilter,
150
+ editEntry: editEntry
151
+ };
152
+ }
@@ -0,0 +1 @@
1
+ export declare function useContentEntry(): import("../ContentEntry/ContentEntryContext").ContentEntryContext;
@@ -0,0 +1,5 @@
1
+ import { useContext } from "react";
2
+ import { Context } from "../ContentEntry/ContentEntryContext";
3
+ export function useContentEntry() {
4
+ return useContext(Context);
5
+ }
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare function ContentModelGroups(): JSX.Element;
3
+ export default ContentModelGroups;
@@ -0,0 +1,35 @@
1
+ import React, { useMemo } from "react";
2
+ import { useSecurity } from "@webiny/app-security";
3
+ import { SplitView, LeftPanel, RightPanel } from "@webiny/app-admin/components/SplitView";
4
+ import ContentModelGroupsDataList from "./ContentModelGroupsDataList";
5
+ import ContentModelGroupsForm from "./ContentModelGroupsForm";
6
+
7
+ function ContentModelGroups() {
8
+ var _useSecurity = useSecurity(),
9
+ identity = _useSecurity.identity;
10
+
11
+ var canCreate = useMemo(function () {
12
+ var permission = identity.getPermission("cms.contentModelGroup");
13
+
14
+ if (!permission) {
15
+ return false;
16
+ }
17
+
18
+ if (typeof permission.rwd !== "string") {
19
+ return true;
20
+ }
21
+
22
+ return permission.rwd.includes("w");
23
+ }, []);
24
+ return /*#__PURE__*/React.createElement(SplitView, null, /*#__PURE__*/React.createElement(LeftPanel, {
25
+ span: 4
26
+ }, /*#__PURE__*/React.createElement(ContentModelGroupsDataList, {
27
+ canCreate: canCreate
28
+ })), /*#__PURE__*/React.createElement(RightPanel, {
29
+ span: 8
30
+ }, /*#__PURE__*/React.createElement(ContentModelGroupsForm, {
31
+ canCreate: canCreate
32
+ })));
33
+ }
34
+
35
+ export default ContentModelGroups;
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ declare type ContentModelGroupsDataListProps = {
3
+ canCreate: boolean;
4
+ };
5
+ declare const ContentModelGroupsDataList: ({ canCreate }: ContentModelGroupsDataListProps) => JSX.Element;
6
+ export default ContentModelGroupsDataList;
@@ -0,0 +1,242 @@
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 _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
5
+
6
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11;
7
+
8
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
9
+ import React, { useCallback, useMemo, useState } from "react";
10
+ import get from "lodash/get";
11
+ import orderBy from "lodash/orderBy";
12
+ import dotProp from "dot-prop-immutable";
13
+ import { i18n } from "@webiny/app/i18n";
14
+ import { DeleteIcon } from "@webiny/ui/List/DataList/icons";
15
+ import { DataList, List, ListItem, ListItemText, ListItemTextSecondary, ListItemMeta, ListActions, DataListModalOverlay, DataListModalOverlayAction } from "@webiny/ui/List";
16
+ import { useRouter } from "@webiny/react-router";
17
+ import { useSnackbar } from "@webiny/app-admin/hooks/useSnackbar";
18
+ import { useQuery, useApolloClient } from "../../hooks";
19
+ import { useConfirmationDialog } from "@webiny/app-admin/hooks/useConfirmationDialog";
20
+ import * as GQL from "./graphql";
21
+ import { ButtonIcon, ButtonSecondary } from "@webiny/ui/Button";
22
+ import { Cell, Grid } from "@webiny/ui/Grid";
23
+ import { Select } from "@webiny/ui/Select";
24
+ import SearchUI from "@webiny/app-admin/components/SearchUI";
25
+ import { ReactComponent as AddIcon } from "@svgr/webpack!@webiny/app-admin/assets/icons/add-18px.svg";
26
+ import { ReactComponent as FilterIcon } from "@svgr/webpack!@webiny/app-admin/assets/icons/filter-24px.svg";
27
+ import { serializeSorters, deserializeSorters } from "../utils";
28
+ import usePermission from "../../hooks/usePermission";
29
+ import { Tooltip } from "@webiny/ui/Tooltip";
30
+ var t = i18n.ns("app-headless-cms/admin/content-model-groups/data-list");
31
+ var SORTERS = [{
32
+ label: t(_templateObject || (_templateObject = _taggedTemplateLiteral(["Newest to oldest"]))),
33
+ sorters: {
34
+ createdOn: "desc"
35
+ }
36
+ }, {
37
+ label: t(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["Oldest to newest"]))),
38
+ sorters: {
39
+ createdOn: "asc"
40
+ }
41
+ }, {
42
+ label: t(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["Name A-Z"]))),
43
+ sorters: {
44
+ name: "asc"
45
+ }
46
+ }, {
47
+ label: t(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["Name Z-A"]))),
48
+ sorters: {
49
+ name: "desc"
50
+ }
51
+ }];
52
+
53
+ var ContentModelGroupsDataList = function ContentModelGroupsDataList(_ref) {
54
+ var canCreate = _ref.canCreate;
55
+
56
+ var _useState = useState(""),
57
+ _useState2 = _slicedToArray(_useState, 2),
58
+ filter = _useState2[0],
59
+ setFilter = _useState2[1];
60
+
61
+ var _useState3 = useState(serializeSorters(SORTERS[0].sorters)),
62
+ _useState4 = _slicedToArray(_useState3, 2),
63
+ sort = _useState4[0],
64
+ setSort = _useState4[1];
65
+
66
+ var _useRouter = useRouter(),
67
+ history = _useRouter.history;
68
+
69
+ var _useSnackbar = useSnackbar(),
70
+ showSnackbar = _useSnackbar.showSnackbar;
71
+
72
+ var client = useApolloClient();
73
+ var listQuery = useQuery(GQL.LIST_CONTENT_MODEL_GROUPS);
74
+
75
+ var _useConfirmationDialo = useConfirmationDialog({
76
+ dataTestId: "cms.contentModelGroup.list-item.delete-dialog"
77
+ }),
78
+ showConfirmation = _useConfirmationDialo.showConfirmation;
79
+
80
+ var _usePermission = usePermission(),
81
+ canDelete = _usePermission.canDelete;
82
+
83
+ var filterData = useCallback(function (_ref2) {
84
+ var name = _ref2.name;
85
+ return name.toLowerCase().includes(filter);
86
+ }, [filter]);
87
+ var sortData = useCallback(function (list) {
88
+ if (!sort) {
89
+ return list;
90
+ }
91
+
92
+ var _Object$entries = Object.entries(deserializeSorters(sort)),
93
+ _Object$entries2 = _slicedToArray(_Object$entries, 1),
94
+ _Object$entries2$ = _slicedToArray(_Object$entries2[0], 2),
95
+ key = _Object$entries2$[0],
96
+ value = _Object$entries2$[1];
97
+
98
+ return orderBy(list, [key], [value]);
99
+ }, [sort]);
100
+ var data = listQuery.loading ? [] : get(listQuery, "data.listContentModelGroups.data", []);
101
+ var groupId = new URLSearchParams(location.search).get("id");
102
+ var deleteItem = useCallback(function (group) {
103
+ showConfirmation( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
104
+ var response, error;
105
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
106
+ while (1) {
107
+ switch (_context.prev = _context.next) {
108
+ case 0:
109
+ _context.next = 2;
110
+ return client.mutate({
111
+ mutation: GQL.DELETE_CONTENT_MODEL_GROUP,
112
+ variables: {
113
+ id: group.id
114
+ },
115
+ update: function update(cache, _ref4) {
116
+ var data = _ref4.data;
117
+ var error = data.deleteContentModelGroup.error;
118
+
119
+ if (error) {
120
+ return;
121
+ } // Delete the item from list cache
122
+
123
+
124
+ // Delete the item from list cache
125
+ var gqlParams = {
126
+ query: GQL.LIST_CONTENT_MODEL_GROUPS
127
+ };
128
+
129
+ var _cache$readQuery = cache.readQuery(gqlParams),
130
+ listContentModelGroups = _cache$readQuery.listContentModelGroups;
131
+
132
+ var index = listContentModelGroups.data.findIndex(function (item) {
133
+ return item.id === group.id;
134
+ });
135
+ cache.writeQuery(_objectSpread(_objectSpread({}, gqlParams), {}, {
136
+ data: {
137
+ listContentModelGroups: dotProp.delete(listContentModelGroups, "data.".concat(index))
138
+ }
139
+ }));
140
+ }
141
+ });
142
+
143
+ case 2:
144
+ response = _context.sent;
145
+ error = response.data.deleteContentModelGroup.error;
146
+
147
+ if (!error) {
148
+ _context.next = 6;
149
+ break;
150
+ }
151
+
152
+ return _context.abrupt("return", showSnackbar(error.message));
153
+
154
+ case 6:
155
+ showSnackbar(t(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["Content model group \"{name}\" deleted."])))({
156
+ name: group.name
157
+ }));
158
+
159
+ if (groupId === group.id) {
160
+ history.push("/cms/content-model-groups");
161
+ }
162
+
163
+ case 8:
164
+ case "end":
165
+ return _context.stop();
166
+ }
167
+ }
168
+ }, _callee);
169
+ })));
170
+ }, [groupId]);
171
+ var contentModelGroupsDataListModalOverlay = useMemo(function () {
172
+ return /*#__PURE__*/React.createElement(DataListModalOverlay, null, /*#__PURE__*/React.createElement(Grid, null, /*#__PURE__*/React.createElement(Cell, {
173
+ span: 12
174
+ }, /*#__PURE__*/React.createElement(Select, {
175
+ value: sort,
176
+ onChange: setSort,
177
+ label: t(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["Sort by"]))),
178
+ description: "Sort pages by"
179
+ }, SORTERS.map(function (_ref5) {
180
+ var label = _ref5.label,
181
+ sorters = _ref5.sorters;
182
+ return /*#__PURE__*/React.createElement("option", {
183
+ key: label,
184
+ value: serializeSorters(sorters)
185
+ }, label);
186
+ })))));
187
+ }, [sort]);
188
+ var filteredData = filter === "" ? data : data.filter(filterData);
189
+ var contentModelGroups = sortData(filteredData);
190
+ return /*#__PURE__*/React.createElement(DataList, {
191
+ loading: listQuery.loading,
192
+ data: contentModelGroups,
193
+ title: t(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["Content Model Groups"]))),
194
+ actions: canCreate ? /*#__PURE__*/React.createElement(ButtonSecondary, {
195
+ "data-testid": "new-record-button",
196
+ onClick: function onClick() {
197
+ return history.push("/cms/content-model-groups?new=true");
198
+ }
199
+ }, /*#__PURE__*/React.createElement(ButtonIcon, {
200
+ icon: /*#__PURE__*/React.createElement(AddIcon, null)
201
+ }), " ", t(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["New Group"])))) : null,
202
+ search: /*#__PURE__*/React.createElement(SearchUI, {
203
+ value: filter,
204
+ onChange: setFilter,
205
+ inputPlaceholder: t(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["Search content model group"])))
206
+ }),
207
+ modalOverlay: contentModelGroupsDataListModalOverlay,
208
+ modalOverlayAction: /*#__PURE__*/React.createElement(DataListModalOverlayAction, {
209
+ icon: /*#__PURE__*/React.createElement(FilterIcon, null),
210
+ "data-testid": "default-data-list.filter"
211
+ })
212
+ }, function (_ref6) {
213
+ var data = _ref6.data;
214
+ return /*#__PURE__*/React.createElement(List, {
215
+ "data-testid": "default-data-list"
216
+ }, data.map(function (item) {
217
+ return /*#__PURE__*/React.createElement(ListItem, {
218
+ key: item.id,
219
+ selected: item.id === groupId
220
+ }, /*#__PURE__*/React.createElement(ListItemText, {
221
+ onClick: function onClick() {
222
+ return history.push("/cms/content-model-groups?id=".concat(item.id));
223
+ }
224
+ }, item.name, /*#__PURE__*/React.createElement(ListItemTextSecondary, null, item.contentModels.length ? t(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["{contentModels|count:1:content model:default:content models}"])))({
225
+ contentModels: item.contentModels.length
226
+ }) : t(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["No content models"]))))), canDelete(item, "cms.contentModelGroup") && /*#__PURE__*/React.createElement(ListItemMeta, null, /*#__PURE__*/React.createElement(ListActions, null, item.plugin ? /*#__PURE__*/React.createElement(Tooltip, {
227
+ content: "Content model group is registered via a plugin.",
228
+ placement: "bottom"
229
+ }, /*#__PURE__*/React.createElement(DeleteIcon, {
230
+ disabled: true,
231
+ "data-testid": "cms.contentModelGroup.list-item.delete"
232
+ })) : /*#__PURE__*/React.createElement(DeleteIcon, {
233
+ onClick: function onClick() {
234
+ return deleteItem(item);
235
+ },
236
+ "data-testid": "cms.contentModelGroup.list-item.delete"
237
+ }))));
238
+ }));
239
+ });
240
+ };
241
+
242
+ export default ContentModelGroupsDataList;
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ declare type ContentModelGroupsFormProps = {
3
+ canCreate: boolean;
4
+ };
5
+ declare function ContentModelGroupsForm({ canCreate }: ContentModelGroupsFormProps): JSX.Element;
6
+ export default ContentModelGroupsForm;