@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,82 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import React, { useCallback, useMemo } from "react";
3
+ import { css } from "emotion";
4
+ import { useSecurity } from "@webiny/app-security";
5
+ import ContentModelsDataList from "./ContentModelsDataList";
6
+ import NewContentModelDialog from "./NewContentModelDialog";
7
+ import { Cell } from "@webiny/ui/Grid";
8
+ import { Grid } from "@webiny/ui/Grid";
9
+ var grid = /*#__PURE__*/css({
10
+ "&.mdc-layout-grid": {
11
+ padding: 0,
12
+ backgroundColor: "var(--mdc-theme-background)",
13
+ ">.mdc-layout-grid__inner": {
14
+ gridGap: 0
15
+ }
16
+ }
17
+ }, "label:grid;");
18
+ var centeredContent = /*#__PURE__*/css({
19
+ backgroundColor: "var(--mdc-theme-surface)",
20
+ ">.webiny-data-list": {
21
+ display: "flex",
22
+ flexDirection: "column",
23
+ height: "calc(100vh - 70px)",
24
+ ".mdc-list": {
25
+ overflow: "auto"
26
+ }
27
+ },
28
+ ">.mdc-list": {
29
+ display: "flex",
30
+ flexDirection: "column",
31
+ maxHeight: "calc(100vh - 70px)",
32
+ overflow: "auto"
33
+ }
34
+ }, "label:centeredContent;");
35
+
36
+ function ContentModels() {
37
+ var _React$useState = React.useState(false),
38
+ _React$useState2 = _slicedToArray(_React$useState, 2),
39
+ newContentModelDialogOpened = _React$useState2[0],
40
+ openNewContentModelDialog = _React$useState2[1];
41
+
42
+ var _useSecurity = useSecurity(),
43
+ identity = _useSecurity.identity;
44
+
45
+ var canCreate = useMemo(function () {
46
+ var permission = identity.getPermission("cms.contentModel");
47
+
48
+ if (!permission) {
49
+ return false;
50
+ }
51
+
52
+ if (typeof permission.rwd !== "string") {
53
+ return true;
54
+ }
55
+
56
+ return permission.rwd.includes("w");
57
+ }, []);
58
+ var onCreate = useCallback(function () {
59
+ return openNewContentModelDialog(true);
60
+ }, []);
61
+ var onClose = useCallback(function () {
62
+ return openNewContentModelDialog(false);
63
+ }, []);
64
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(NewContentModelDialog, {
65
+ open: newContentModelDialogOpened,
66
+ onClose: onClose
67
+ }), /*#__PURE__*/React.createElement(Grid, {
68
+ className: grid
69
+ }, /*#__PURE__*/React.createElement(Cell, {
70
+ span: 3
71
+ }), /*#__PURE__*/React.createElement(Cell, {
72
+ span: 6,
73
+ className: centeredContent
74
+ }, /*#__PURE__*/React.createElement(ContentModelsDataList, {
75
+ canCreate: canCreate,
76
+ onCreate: onCreate
77
+ })), /*#__PURE__*/React.createElement(Cell, {
78
+ span: 3
79
+ })));
80
+ }
81
+
82
+ export default ContentModels;
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ declare type ContentModelsDataListProps = {
3
+ canCreate: boolean;
4
+ onCreate: () => void;
5
+ };
6
+ declare const ContentModelsDataList: ({ canCreate, onCreate }: ContentModelsDataListProps) => JSX.Element;
7
+ export default ContentModelsDataList;
@@ -0,0 +1,281 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
4
+
5
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17;
6
+
7
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
8
+ import React, { useCallback, useMemo, useState } from "react";
9
+ import TimeAgo from "timeago-react";
10
+ import { css } from "emotion";
11
+ import get from "lodash/get";
12
+ import { useRouter } from "@webiny/react-router";
13
+ import { DeleteIcon, EditIcon } from "@webiny/ui/List/DataList/icons";
14
+ import { ReactComponent as ViewListIcon } from "@svgr/webpack!../../icons/view_list.svg";
15
+ import { useApolloClient, useQuery } from "../../hooks";
16
+ import { useSnackbar } from "@webiny/app-admin/hooks/useSnackbar";
17
+ import * as UIL from "@webiny/ui/List";
18
+ import { ButtonIcon, ButtonSecondary, IconButton } from "@webiny/ui/Button";
19
+ import { Tooltip } from "@webiny/ui/Tooltip";
20
+ import { i18n } from "@webiny/app/i18n";
21
+ import { useConfirmationDialog } from "@webiny/app-admin/hooks/useConfirmationDialog";
22
+ import { removeModelFromGroupCache, removeModelFromListCache } from "./cache";
23
+ import * as GQL from "../../viewsGraphql";
24
+ import { ReactComponent as AddIcon } from "@svgr/webpack!@webiny/app-admin/assets/icons/add-18px.svg";
25
+ import SearchUI from "@webiny/app-admin/components/SearchUI";
26
+ import { deserializeSorters, serializeSorters } from "../utils";
27
+ import orderBy from "lodash/orderBy";
28
+ import { Cell, Grid } from "@webiny/ui/Grid";
29
+ import { Select } from "@webiny/ui/Select";
30
+ import { ReactComponent as FilterIcon } from "@svgr/webpack!@webiny/app-admin/assets/icons/filter-24px.svg";
31
+ import usePermission from "../../hooks/usePermission";
32
+ var t = i18n.namespace("FormsApp.ContentModelsDataList");
33
+ var SORTERS = [{
34
+ label: t(_templateObject || (_templateObject = _taggedTemplateLiteral(["Newest to oldest"]))),
35
+ sorters: {
36
+ savedOn: "desc"
37
+ }
38
+ }, {
39
+ label: t(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["Oldest to newest"]))),
40
+ sorters: {
41
+ savedOn: "asc"
42
+ }
43
+ }, {
44
+ label: t(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["Name A-Z"]))),
45
+ sorters: {
46
+ name: "asc"
47
+ }
48
+ }, {
49
+ label: t(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["Name Z-A"]))),
50
+ sorters: {
51
+ name: "desc"
52
+ }
53
+ }];
54
+ var rightAlign = /*#__PURE__*/css({
55
+ alignItems: "flex-end !important",
56
+ justifyContent: "center !important"
57
+ }, "label:rightAlign;");
58
+ var listItemMinHeight = /*#__PURE__*/css({
59
+ minHeight: "66px !important"
60
+ }, "label:listItemMinHeight;");
61
+
62
+ var ContentModelsDataList = function ContentModelsDataList(_ref) {
63
+ var canCreate = _ref.canCreate,
64
+ onCreate = _ref.onCreate;
65
+
66
+ var _useState = useState(""),
67
+ _useState2 = _slicedToArray(_useState, 2),
68
+ filter = _useState2[0],
69
+ setFilter = _useState2[1];
70
+
71
+ var _useState3 = useState(serializeSorters(SORTERS[0].sorters)),
72
+ _useState4 = _slicedToArray(_useState3, 2),
73
+ sort = _useState4[0],
74
+ setSort = _useState4[1];
75
+
76
+ var _useRouter = useRouter(),
77
+ history = _useRouter.history;
78
+
79
+ var client = useApolloClient();
80
+
81
+ var _useSnackbar = useSnackbar(),
82
+ showSnackbar = _useSnackbar.showSnackbar;
83
+
84
+ var _useConfirmationDialo = useConfirmationDialog({
85
+ dataTestId: "cms-delete-content-model-dialog"
86
+ }),
87
+ showConfirmation = _useConfirmationDialo.showConfirmation;
88
+
89
+ var _useQuery = useQuery(GQL.LIST_CONTENT_MODELS),
90
+ data = _useQuery.data,
91
+ loading = _useQuery.loading;
92
+
93
+ var _usePermission = usePermission(),
94
+ canDelete = _usePermission.canDelete,
95
+ canEdit = _usePermission.canEdit;
96
+
97
+ var filterData = useCallback(function (_ref2) {
98
+ var name = _ref2.name;
99
+ return name.toLowerCase().includes(filter);
100
+ }, [filter]);
101
+ var sortData = useCallback(function (list) {
102
+ if (!sort) {
103
+ return list;
104
+ }
105
+
106
+ var _Object$entries = Object.entries(deserializeSorters(sort)),
107
+ _Object$entries2 = _slicedToArray(_Object$entries, 1),
108
+ _Object$entries2$ = _slicedToArray(_Object$entries2[0], 2),
109
+ key = _Object$entries2$[0],
110
+ value = _Object$entries2$[1];
111
+
112
+ return orderBy(list, [key], [value]);
113
+ }, [sort]);
114
+ var models = loading ? [] : get(data, "listContentModels.data", []);
115
+
116
+ var deleteRecord = /*#__PURE__*/function () {
117
+ var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(item) {
118
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
119
+ while (1) {
120
+ switch (_context2.prev = _context2.next) {
121
+ case 0:
122
+ showConfirmation( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
123
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
124
+ while (1) {
125
+ switch (_context.prev = _context.next) {
126
+ case 0:
127
+ _context.next = 2;
128
+ return client.mutate({
129
+ mutation: GQL.DELETE_CONTENT_MODEL,
130
+ variables: {
131
+ modelId: item.modelId
132
+ },
133
+ update: function update(cache, _ref5) {
134
+ var data = _ref5.data;
135
+ var error = data.deleteContentModel.error;
136
+
137
+ if (error) {
138
+ return showSnackbar(error.message, {
139
+ title: t(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["Something unexpected happened."])))
140
+ });
141
+ }
142
+
143
+ removeModelFromListCache(cache, item);
144
+ removeModelFromGroupCache(cache, item);
145
+ showSnackbar(t(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["Content model {name} deleted successfully!."])))({
146
+ name: item.name
147
+ }));
148
+ }
149
+ });
150
+
151
+ case 2:
152
+ case "end":
153
+ return _context.stop();
154
+ }
155
+ }
156
+ }, _callee);
157
+ })));
158
+
159
+ case 1:
160
+ case "end":
161
+ return _context2.stop();
162
+ }
163
+ }
164
+ }, _callee2);
165
+ }));
166
+
167
+ return function deleteRecord(_x) {
168
+ return _ref3.apply(this, arguments);
169
+ };
170
+ }();
171
+
172
+ var editRecord = function editRecord(contentModel) {
173
+ history.push("/cms/content-models/" + contentModel.modelId);
174
+ };
175
+
176
+ var viewContentEntries = useCallback(function (contentModel) {
177
+ return function () {
178
+ return history.push("/cms/content-entries/" + contentModel.modelId);
179
+ };
180
+ }, undefined);
181
+ var contentModelsDataListModalOverlay = useMemo(function () {
182
+ return /*#__PURE__*/React.createElement(UIL.DataListModalOverlay, null, /*#__PURE__*/React.createElement(Grid, null, /*#__PURE__*/React.createElement(Cell, {
183
+ span: 12
184
+ }, /*#__PURE__*/React.createElement(Select, {
185
+ value: sort,
186
+ onChange: setSort,
187
+ label: t(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["Sort by"]))),
188
+ description: "Sort content models by"
189
+ }, SORTERS.map(function (_ref6) {
190
+ var label = _ref6.label,
191
+ sorters = _ref6.sorters;
192
+ return /*#__PURE__*/React.createElement("option", {
193
+ key: label,
194
+ value: serializeSorters(sorters)
195
+ }, label);
196
+ })))));
197
+ }, [sort]);
198
+ var filteredData = filter === "" ? models : models.filter(filterData);
199
+ var contentModels = sortData(filteredData);
200
+ return /*#__PURE__*/React.createElement(UIL.DataList, {
201
+ loading: loading,
202
+ data: contentModels,
203
+ title: t(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["Content Models"]))),
204
+ actions: canCreate ? /*#__PURE__*/React.createElement(ButtonSecondary, {
205
+ "data-testid": "new-record-button",
206
+ onClick: onCreate
207
+ }, /*#__PURE__*/React.createElement(ButtonIcon, {
208
+ icon: /*#__PURE__*/React.createElement(AddIcon, null)
209
+ }), " ", t(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["New Model"])))) : null,
210
+ search: /*#__PURE__*/React.createElement(SearchUI, {
211
+ value: filter,
212
+ onChange: setFilter,
213
+ inputPlaceholder: t(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["Search content models"])))
214
+ }),
215
+ modalOverlay: contentModelsDataListModalOverlay,
216
+ modalOverlayAction: /*#__PURE__*/React.createElement(UIL.DataListModalOverlayAction, {
217
+ icon: /*#__PURE__*/React.createElement(FilterIcon, null),
218
+ "data-testid": "default-data-list.filter"
219
+ })
220
+ }, function (_ref7) {
221
+ var _ref7$data = _ref7.data,
222
+ data = _ref7$data === void 0 ? [] : _ref7$data;
223
+ return /*#__PURE__*/React.createElement(UIL.List, {
224
+ "data-testid": "default-data-list"
225
+ }, data.map(function (contentModel) {
226
+ var disableViewContent = contentModel.fields.length === 0;
227
+ var message = disableViewContent ? "To view the content, you first need to add a field and save the model" : "View content";
228
+ return /*#__PURE__*/React.createElement(UIL.ListItem, {
229
+ key: contentModel.modelId,
230
+ className: listItemMinHeight
231
+ }, /*#__PURE__*/React.createElement(UIL.ListItemText, null, contentModel.name, /*#__PURE__*/React.createElement(UIL.ListItemTextSecondary, null, t(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["Last modified: {time}."])))({
232
+ time: /*#__PURE__*/React.createElement(TimeAgo, {
233
+ datetime: contentModel.savedOn
234
+ })
235
+ }))), /*#__PURE__*/React.createElement(UIL.ListItemMeta, {
236
+ className: rightAlign
237
+ }, /*#__PURE__*/React.createElement(UIL.ListActions, null, canEdit(contentModel, "cms.contentModel") && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Tooltip, {
238
+ content: t(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral(["{message}"])))({
239
+ message: message
240
+ }),
241
+ placement: "top"
242
+ }, /*#__PURE__*/React.createElement(IconButton, {
243
+ "data-testid": "cms-view-content-model-button",
244
+ icon: /*#__PURE__*/React.createElement(ViewListIcon, null),
245
+ label: t(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral(["View entries"]))),
246
+ onClick: viewContentEntries(contentModel),
247
+ disabled: disableViewContent
248
+ })), contentModel.plugin ? /*#__PURE__*/React.createElement(Tooltip, {
249
+ content: t(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral(["Content model is registered via a plugin."]))),
250
+ placement: "top"
251
+ }, /*#__PURE__*/React.createElement(EditIcon, {
252
+ disabled: true,
253
+ "data-testid": "cms-edit-content-model-button"
254
+ })) : /*#__PURE__*/React.createElement(Tooltip, {
255
+ content: t(_templateObject15 || (_templateObject15 = _taggedTemplateLiteral(["Edit content model"]))),
256
+ placement: "top"
257
+ }, /*#__PURE__*/React.createElement(EditIcon, {
258
+ onClick: function onClick() {
259
+ return editRecord(contentModel);
260
+ },
261
+ "data-testid": "cms-edit-content-model-button"
262
+ }))), canDelete(contentModel, "cms.contentModel") && contentModel.plugin ? /*#__PURE__*/React.createElement(Tooltip, {
263
+ content: t(_templateObject16 || (_templateObject16 = _taggedTemplateLiteral(["Content model is registered via a plugin."]))),
264
+ placement: "top"
265
+ }, /*#__PURE__*/React.createElement(DeleteIcon, {
266
+ disabled: true,
267
+ "data-testid": "cms-delete-content-model-button"
268
+ })) : /*#__PURE__*/React.createElement(Tooltip, {
269
+ content: t(_templateObject17 || (_templateObject17 = _taggedTemplateLiteral(["Delete content model"]))),
270
+ placement: "top"
271
+ }, /*#__PURE__*/React.createElement(DeleteIcon, {
272
+ onClick: function onClick() {
273
+ return deleteRecord(contentModel);
274
+ },
275
+ "data-testid": "cms-delete-content-model-button"
276
+ })))));
277
+ }));
278
+ });
279
+ };
280
+
281
+ export default ContentModelsDataList;
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ import * as UID from "@webiny/ui/Dialog";
3
+ export declare type NewContentModelDialogProps = {
4
+ open: boolean;
5
+ onClose: UID.DialogOnClose;
6
+ };
7
+ declare const NewContentModelDialog: React.FC<NewContentModelDialogProps>;
8
+ export default NewContentModelDialog;
@@ -0,0 +1,196 @@
1
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
+ import _createForOfIteratorHelper from "@babel/runtime/helpers/createForOfIteratorHelper";
4
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
5
+
6
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
7
+
8
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
9
+ import React, { useCallback } from "react";
10
+ import { css } from "emotion";
11
+ import get from "lodash/get";
12
+ import { useRouter } from "@webiny/react-router";
13
+ import { Form } from "@webiny/form";
14
+ import { Input } from "@webiny/ui/Input";
15
+ import { Select } from "@webiny/ui/Select";
16
+ import { useSnackbar } from "@webiny/app-admin/hooks/useSnackbar";
17
+ import { CircularProgress } from "@webiny/ui/Progress";
18
+ import { validation } from "@webiny/validation";
19
+ import { useQuery, useMutation } from "../../hooks";
20
+ import { i18n } from "@webiny/app/i18n";
21
+ import { ButtonDefault } from "@webiny/ui/Button";
22
+ import * as UID from "@webiny/ui/Dialog";
23
+ import { Grid, Cell } from "@webiny/ui/Grid";
24
+ import { addModelToGroupCache, addModelToListCache } from "./cache";
25
+ import * as GQL from "../../viewsGraphql";
26
+ var t = i18n.ns("app-headless-cms/admin/views/content-models/new-content-model-dialog");
27
+ var narrowDialog = /*#__PURE__*/css({
28
+ ".mdc-dialog__surface": {
29
+ width: 600,
30
+ minWidth: 600
31
+ }
32
+ }, "label:narrowDialog;");
33
+ var noPadding = /*#__PURE__*/css({
34
+ padding: "5px !important"
35
+ }, "label:noPadding;");
36
+
37
+ /**
38
+ * This list is to disallow creating models that might interfere with GraphQL schema creation.
39
+ * Add more if required.
40
+ */
41
+ var disallowedModelIdEndingList = ["Response", "List", "Meta", "Input", "Sorter"];
42
+
43
+ var NewContentModelDialog = function NewContentModelDialog(_ref) {
44
+ var open = _ref.open,
45
+ onClose = _ref.onClose;
46
+
47
+ var _React$useState = React.useState(false),
48
+ _React$useState2 = _slicedToArray(_React$useState, 2),
49
+ loading = _React$useState2[0],
50
+ setLoading = _React$useState2[1];
51
+
52
+ var _useSnackbar = useSnackbar(),
53
+ showSnackbar = _useSnackbar.showSnackbar;
54
+
55
+ var _useRouter = useRouter(),
56
+ history = _useRouter.history;
57
+
58
+ var _useMutation = useMutation(GQL.CREATE_CONTENT_MODEL, {
59
+ update: function update(cache, _ref2) {
60
+ var data = _ref2.data;
61
+ var _data$createContentMo = data.createContentModel,
62
+ model = _data$createContentMo.data,
63
+ error = _data$createContentMo.error;
64
+
65
+ if (error) {
66
+ return showSnackbar(error.message);
67
+ }
68
+
69
+ addModelToListCache(cache, model);
70
+ addModelToGroupCache(cache, model);
71
+ history.push("/cms/content-models/" + model.modelId);
72
+ }
73
+ }),
74
+ _useMutation2 = _slicedToArray(_useMutation, 1),
75
+ createContentModel = _useMutation2[0];
76
+
77
+ var _useQuery = useQuery(GQL.LIST_MENU_CONTENT_GROUPS_MODELS, {
78
+ skip: !open
79
+ }),
80
+ data = _useQuery.data;
81
+
82
+ var contentModelGroups = get(data, "listContentModelGroups.data", []).map(function (item) {
83
+ return {
84
+ value: item.id,
85
+ label: item.name
86
+ };
87
+ });
88
+ var nameValidator = useCallback(function (name) {
89
+ var target = (name || "").trim();
90
+
91
+ if (!target.charAt(0).match(/[a-zA-Z]/)) {
92
+ throw new Error("Value is not valid - must not start with a number.");
93
+ }
94
+
95
+ if (target.toLowerCase() === "id") {
96
+ throw new Error('Value is not valid - "id" is an auto-generated field.');
97
+ }
98
+
99
+ var _iterator = _createForOfIteratorHelper(disallowedModelIdEndingList),
100
+ _step;
101
+
102
+ try {
103
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
104
+ var ending = _step.value;
105
+ var re = new RegExp("".concat(ending, "$"), "i");
106
+ var matched = target.match(re);
107
+
108
+ if (matched === null) {
109
+ continue;
110
+ }
111
+
112
+ throw new Error("Model name that ends with \"".concat(ending, "\" is not allowed."));
113
+ }
114
+ } catch (err) {
115
+ _iterator.e(err);
116
+ } finally {
117
+ _iterator.f();
118
+ }
119
+
120
+ return true;
121
+ }, undefined);
122
+ return /*#__PURE__*/React.createElement(UID.Dialog, {
123
+ open: open,
124
+ onClose: onClose,
125
+ className: narrowDialog,
126
+ "data-testid": "cms-new-content-model-modal"
127
+ }, open && /*#__PURE__*/React.createElement(Form, {
128
+ data: {
129
+ group: get(contentModelGroups, "0.value")
130
+ },
131
+ onSubmit: /*#__PURE__*/function () {
132
+ var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(data) {
133
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
134
+ while (1) {
135
+ switch (_context.prev = _context.next) {
136
+ case 0:
137
+ setLoading(true);
138
+ _context.next = 3;
139
+ return createContentModel({
140
+ variables: {
141
+ data: data
142
+ }
143
+ });
144
+
145
+ case 3:
146
+ case "end":
147
+ return _context.stop();
148
+ }
149
+ }
150
+ }, _callee);
151
+ }));
152
+
153
+ return function (_x) {
154
+ return _ref3.apply(this, arguments);
155
+ };
156
+ }()
157
+ }, function (_ref4) {
158
+ var Bind = _ref4.Bind,
159
+ submit = _ref4.submit;
160
+ return /*#__PURE__*/React.createElement(React.Fragment, null, loading && /*#__PURE__*/React.createElement(CircularProgress, null), /*#__PURE__*/React.createElement(UID.DialogTitle, null, t(_templateObject || (_templateObject = _taggedTemplateLiteral(["New Content Model"])))), /*#__PURE__*/React.createElement(UID.DialogContent, null, /*#__PURE__*/React.createElement(Grid, {
161
+ className: noPadding
162
+ }, /*#__PURE__*/React.createElement(Cell, {
163
+ span: 12
164
+ }, /*#__PURE__*/React.createElement(Bind, {
165
+ name: "name",
166
+ validators: [validation.create("required,maxLength:100"), nameValidator]
167
+ }, /*#__PURE__*/React.createElement(Input, {
168
+ label: t(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["Name"]))),
169
+ description: t(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["The name of the content model"])))
170
+ }))), /*#__PURE__*/React.createElement(Cell, {
171
+ span: 12
172
+ }, /*#__PURE__*/React.createElement(Bind, {
173
+ name: "group",
174
+ validators: validation.create("required")
175
+ }, /*#__PURE__*/React.createElement(Select, {
176
+ description: t(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["Choose a content model group"]))),
177
+ label: t(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["Content model group"]))),
178
+ options: contentModelGroups
179
+ }))), /*#__PURE__*/React.createElement(Cell, {
180
+ span: 12
181
+ }, /*#__PURE__*/React.createElement(Bind, {
182
+ name: "description"
183
+ }, function (props) {
184
+ return /*#__PURE__*/React.createElement(Input, Object.assign({}, props, {
185
+ rows: 4,
186
+ maxLength: 200,
187
+ characterCount: true,
188
+ label: t(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["Description"])))
189
+ }));
190
+ })))), /*#__PURE__*/React.createElement(UID.DialogActions, null, /*#__PURE__*/React.createElement(ButtonDefault, {
191
+ onClick: submit
192
+ }, "+ ", t(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["Create"]))))));
193
+ }));
194
+ };
195
+
196
+ export default NewContentModelDialog;
@@ -0,0 +1,5 @@
1
+ import { CmsEditorContentModel } from "../../../types";
2
+ export declare const addModelToListCache: (cache: any, model: CmsEditorContentModel) => void;
3
+ export declare const addModelToGroupCache: (cache: any, model: CmsEditorContentModel) => void;
4
+ export declare const removeModelFromListCache: (cache: any, model: CmsEditorContentModel) => void;
5
+ export declare const removeModelFromGroupCache: (cache: any, model: CmsEditorContentModel) => void;
@@ -0,0 +1,68 @@
1
+ import dotProp from "dot-prop-immutable";
2
+ import * as GQL from "../../viewsGraphql";
3
+ export var addModelToListCache = function addModelToListCache(cache, model) {
4
+ var _cache$readQuery = cache.readQuery({
5
+ query: GQL.LIST_CONTENT_MODELS
6
+ }),
7
+ listContentModels = _cache$readQuery.listContentModels;
8
+
9
+ var newModelIndex = listContentModels.data.length;
10
+ cache.writeQuery({
11
+ query: GQL.LIST_CONTENT_MODELS,
12
+ data: {
13
+ listContentModels: dotProp.set(listContentModels, "data.".concat(newModelIndex), model)
14
+ }
15
+ });
16
+ };
17
+ export var addModelToGroupCache = function addModelToGroupCache(cache, model) {
18
+ var _cache$readQuery2 = cache.readQuery({
19
+ query: GQL.LIST_MENU_CONTENT_GROUPS_MODELS
20
+ }),
21
+ groupsList = _cache$readQuery2.listContentModelGroups;
22
+
23
+ var groupIndex = groupsList.data.findIndex(function (g) {
24
+ return g.id === model.group.id;
25
+ });
26
+ var newGroupModelIndex = groupsList.data[groupIndex].contentModels.length;
27
+ cache.writeQuery({
28
+ query: GQL.LIST_MENU_CONTENT_GROUPS_MODELS,
29
+ data: {
30
+ listContentModelGroups: dotProp.set(groupsList, "data.".concat(groupIndex, ".contentModels.").concat(newGroupModelIndex), model)
31
+ }
32
+ });
33
+ };
34
+ export var removeModelFromListCache = function removeModelFromListCache(cache, model) {
35
+ var _cache$readQuery3 = cache.readQuery({
36
+ query: GQL.LIST_CONTENT_MODELS
37
+ }),
38
+ listContentModels = _cache$readQuery3.listContentModels;
39
+
40
+ var modelIndex = listContentModels.data.findIndex(function (m) {
41
+ return m.modelId === model.modelId;
42
+ });
43
+ cache.writeQuery({
44
+ query: GQL.LIST_CONTENT_MODELS,
45
+ data: {
46
+ listContentModels: dotProp.delete(listContentModels, "data.".concat(modelIndex))
47
+ }
48
+ });
49
+ };
50
+ export var removeModelFromGroupCache = function removeModelFromGroupCache(cache, model) {
51
+ var _cache$readQuery4 = cache.readQuery({
52
+ query: GQL.LIST_MENU_CONTENT_GROUPS_MODELS
53
+ }),
54
+ groupsList = _cache$readQuery4.listContentModelGroups;
55
+
56
+ var groupIndex = groupsList.data.findIndex(function (g) {
57
+ return g.id === model.group.id;
58
+ });
59
+ var modelIndex = groupsList.data[groupIndex].contentModels.findIndex(function (m) {
60
+ return m.modelId === model.modelId;
61
+ });
62
+ cache.writeQuery({
63
+ query: GQL.LIST_MENU_CONTENT_GROUPS_MODELS,
64
+ data: {
65
+ listContentModelGroups: dotProp.delete(groupsList, "data.".concat(groupIndex, ".contentModels.").concat(modelIndex))
66
+ }
67
+ });
68
+ };
@@ -0,0 +1,2 @@
1
+ export declare const serializeSorters: (data: any) => any;
2
+ export declare const deserializeSorters: (data: string) => Record<string, "asc" | "desc" | boolean>;
@@ -0,0 +1,27 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
+ export var serializeSorters = function serializeSorters(data) {
4
+ if (!data) {
5
+ return data;
6
+ }
7
+
8
+ var _Object$entries = Object.entries(data),
9
+ _Object$entries2 = _slicedToArray(_Object$entries, 1),
10
+ _Object$entries2$ = _slicedToArray(_Object$entries2[0], 2),
11
+ key = _Object$entries2$[0],
12
+ value = _Object$entries2$[1];
13
+
14
+ return "".concat(key, ":").concat(value);
15
+ };
16
+ export var deserializeSorters = function deserializeSorters(data) {
17
+ if (typeof data !== "string") {
18
+ return data;
19
+ }
20
+
21
+ var _ref = data.split(":"),
22
+ _ref2 = _slicedToArray(_ref, 2),
23
+ key = _ref2[0],
24
+ value = _ref2[1];
25
+
26
+ return _defineProperty({}, key, value);
27
+ };