@webiny/app-headless-cms 5.37.8 → 5.38.0-beta.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 (540) hide show
  1. package/HeadlessCMS.js +5 -2
  2. package/HeadlessCMS.js.map +1 -1
  3. package/admin/components/ContentEntries/BulkActions/ActionDelete.d.ts +4 -0
  4. package/admin/components/ContentEntries/BulkActions/ActionDelete.js +125 -0
  5. package/admin/components/ContentEntries/BulkActions/ActionDelete.js.map +1 -0
  6. package/admin/components/ContentEntries/BulkActions/ActionMove.d.ts +4 -0
  7. package/admin/components/ContentEntries/BulkActions/ActionMove.js +141 -0
  8. package/admin/components/ContentEntries/BulkActions/ActionMove.js.map +1 -0
  9. package/admin/components/ContentEntries/BulkActions/ActionPublish.d.ts +4 -0
  10. package/admin/components/ContentEntries/BulkActions/ActionPublish.js +131 -0
  11. package/admin/components/ContentEntries/BulkActions/ActionPublish.js.map +1 -0
  12. package/admin/components/ContentEntries/BulkActions/ActionUnpublish.d.ts +4 -0
  13. package/admin/components/ContentEntries/BulkActions/ActionUnpublish.js +131 -0
  14. package/admin/components/ContentEntries/BulkActions/ActionUnpublish.js.map +1 -0
  15. package/admin/components/ContentEntries/BulkActions/BulkActions.d.ts +3 -0
  16. package/admin/components/ContentEntries/BulkActions/BulkActions.js +53 -0
  17. package/admin/components/ContentEntries/BulkActions/BulkActions.js.map +1 -0
  18. package/admin/components/ContentEntries/BulkActions/BulkActions.styled.d.ts +15 -0
  19. package/admin/components/ContentEntries/BulkActions/BulkActions.styled.js +26 -0
  20. package/admin/components/ContentEntries/BulkActions/BulkActions.styled.js.map +1 -0
  21. package/admin/components/ContentEntries/BulkActions/index.d.ts +5 -0
  22. package/admin/components/ContentEntries/BulkActions/index.js +53 -0
  23. package/admin/components/ContentEntries/BulkActions/index.js.map +1 -0
  24. package/admin/components/ContentEntries/Empty/index.js +3 -1
  25. package/admin/components/ContentEntries/Empty/styled.js +3 -1
  26. package/admin/components/ContentEntries/Filters/FieldsMapper.d.ts +7 -0
  27. package/admin/components/ContentEntries/Filters/FieldsMapper.js +74 -0
  28. package/admin/components/ContentEntries/Filters/FieldsMapper.js.map +1 -0
  29. package/admin/components/ContentEntries/Filters/FilterByStatus.js +3 -1
  30. package/admin/components/ContentEntries/Filters/Filters.d.ts +1 -1
  31. package/admin/components/ContentEntries/Filters/Filters.js +36 -3
  32. package/admin/components/ContentEntries/Filters/Filters.js.map +1 -1
  33. package/admin/components/ContentEntries/Filters/index.js +3 -1
  34. package/admin/components/ContentEntries/Filters/styles.js +3 -1
  35. package/admin/components/ContentEntries/Header/ButtonFilters/ButtonFilters.js +3 -1
  36. package/admin/components/ContentEntries/Header/ButtonFilters/index.js +3 -1
  37. package/admin/components/ContentEntries/Header/ButtonsCreate/ButtonsCreate.js +3 -1
  38. package/admin/components/ContentEntries/Header/ButtonsCreate/index.js +3 -1
  39. package/admin/components/ContentEntries/Header/ButtonsCreate/styled.js +3 -1
  40. package/admin/components/ContentEntries/Header/Header.js +3 -1
  41. package/admin/components/ContentEntries/Header/Title/Title.js +3 -1
  42. package/admin/components/ContentEntries/Header/Title/index.js +3 -1
  43. package/admin/components/ContentEntries/Header/Title/styled.js +3 -1
  44. package/admin/components/ContentEntries/Header/index.js +3 -1
  45. package/admin/components/ContentEntries/Header/styled.js +3 -1
  46. package/admin/components/ContentEntries/LoadMoreButton/LoadMoreButton.js +3 -1
  47. package/admin/components/ContentEntries/LoadMoreButton/index.js +3 -1
  48. package/admin/components/ContentEntries/LoadMoreButton/styled.js +3 -1
  49. package/admin/components/ContentEntries/LoadingMore/index.js +3 -1
  50. package/admin/components/ContentEntries/LoadingMore/styled.js +3 -1
  51. package/admin/components/ContentEntries/Table/Row/Folder/FolderActionDelete.js +3 -1
  52. package/admin/components/ContentEntries/Table/Row/Folder/FolderActionEdit.js +3 -1
  53. package/admin/components/ContentEntries/Table/Row/Folder/FolderActionManagePermissions.d.ts +6 -0
  54. package/admin/components/ContentEntries/Table/Row/Folder/FolderActionManagePermissions.js +27 -0
  55. package/admin/components/ContentEntries/Table/Row/Folder/FolderActionManagePermissions.js.map +1 -0
  56. package/admin/components/ContentEntries/Table/Row/Name.js +12 -2
  57. package/admin/components/ContentEntries/Table/Row/Name.js.map +1 -1
  58. package/admin/components/ContentEntries/Table/Row/Record/RecordActionDelete.js +3 -1
  59. package/admin/components/ContentEntries/Table/Row/Record/RecordActionEdit.js +3 -1
  60. package/admin/components/ContentEntries/Table/Row/Record/RecordActionMove.js +3 -1
  61. package/admin/components/ContentEntries/Table/Row/Record/RecordActionPublish.js +3 -1
  62. package/admin/components/ContentEntries/Table/index.d.ts +8 -6
  63. package/admin/components/ContentEntries/Table/index.js +50 -18
  64. package/admin/components/ContentEntries/Table/index.js.map +1 -1
  65. package/admin/components/ContentEntries/Table/styled.js +3 -1
  66. package/admin/components/ContentEntries/Table/types.d.ts +1 -0
  67. package/admin/components/ContentEntries/Table/types.js +3 -1
  68. package/admin/components/ContentEntries/Table/types.js.map +1 -1
  69. package/admin/components/ContentEntryForm/ContentEntryForm.js +3 -1
  70. package/admin/components/ContentEntryForm/ContentEntryFormPreview.js +3 -1
  71. package/admin/components/ContentEntryForm/Fields.js +3 -1
  72. package/admin/components/ContentEntryForm/Header/ContentFormOptionsMenu/ContentFormOptionsMenu.js +3 -1
  73. package/admin/components/ContentEntryForm/Header/ContentFormOptionsMenu/ContentFormOptionsMenu.styles.js +3 -1
  74. package/admin/components/ContentEntryForm/Header/ContentFormOptionsMenu/index.js +3 -1
  75. package/admin/components/ContentEntryForm/Header/DeleteEntry/DeleteEntry.js +3 -1
  76. package/admin/components/ContentEntryForm/Header/DeleteEntry/index.js +3 -1
  77. package/admin/components/ContentEntryForm/Header/DeleteEntry/useDeleteEntry.js +3 -1
  78. package/admin/components/ContentEntryForm/Header/Header.js +3 -1
  79. package/admin/components/ContentEntryForm/Header/RevisionSelector/RevisionSelector.js +3 -1
  80. package/admin/components/ContentEntryForm/Header/RevisionSelector/RevisionSelector.styles.d.ts +4 -1
  81. package/admin/components/ContentEntryForm/Header/RevisionSelector/RevisionSelector.styles.js +3 -1
  82. package/admin/components/ContentEntryForm/Header/RevisionSelector/index.js +3 -1
  83. package/admin/components/ContentEntryForm/Header/SaveAndPublishContent/SaveAndPublishContent.js +3 -1
  84. package/admin/components/ContentEntryForm/Header/SaveAndPublishContent/index.js +3 -1
  85. package/admin/components/ContentEntryForm/Header/SaveAndPublishContent/useSaveAndPublish.js +3 -1
  86. package/admin/components/ContentEntryForm/Header/SaveContent/SaveContent.js +9 -2
  87. package/admin/components/ContentEntryForm/Header/SaveContent/SaveContent.js.map +1 -1
  88. package/admin/components/ContentEntryForm/Header/SaveContent/index.js +3 -1
  89. package/admin/components/ContentEntryForm/Header/index.js +3 -1
  90. package/admin/components/ContentEntryForm/Label.js +3 -1
  91. package/admin/components/ContentEntryForm/RenderFieldElement.js +3 -1
  92. package/admin/components/ContentEntryForm/functions/getValue.js +3 -1
  93. package/admin/components/ContentEntryForm/functions/setValue.js +3 -1
  94. package/admin/components/ContentEntryForm/useBind.js +4 -2
  95. package/admin/components/ContentEntryForm/useBind.js.map +1 -1
  96. package/admin/components/ContentEntryForm/useContentEntryForm.js +23 -13
  97. package/admin/components/ContentEntryForm/useContentEntryForm.js.map +1 -1
  98. package/admin/components/ContentEntryForm/useRenderPlugins.js +3 -1
  99. package/admin/components/ContentModelEditor/ContentModelEditorProvider.js +3 -1
  100. package/admin/components/ContentModelEditor/Editor.js +3 -1
  101. package/admin/components/ContentModelEditor/FieldsSidebar.js +3 -1
  102. package/admin/components/ContentModelEditor/Header.js +3 -1
  103. package/admin/components/ContentModelEditor/PreviewTab.js +3 -1
  104. package/admin/components/ContentModelEditor/index.js +3 -1
  105. package/admin/components/ContentModelEditor/useModelEditor.js +3 -1
  106. package/admin/components/DelayedOnChange.js +3 -1
  107. package/admin/components/Dialog.js +3 -1
  108. package/admin/components/DragPreview.js +3 -1
  109. package/admin/components/Draggable.js +3 -1
  110. package/admin/components/DropZone/Center.js +3 -1
  111. package/admin/components/DropZone/Horizontal.js +3 -1
  112. package/admin/components/DropZone/Vertical.js +3 -1
  113. package/admin/components/DropZone/index.js +3 -1
  114. package/admin/components/Droppable.js +3 -1
  115. package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.js +3 -1
  116. package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js +3 -1
  117. package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.js +3 -1
  118. package/admin/components/FieldEditor/EditFieldDialog/ValidationsSection.js +3 -1
  119. package/admin/components/FieldEditor/EditFieldDialog/ValidatorsList.js +3 -1
  120. package/admin/components/FieldEditor/EditFieldDialog/functions/getValue.js +3 -1
  121. package/admin/components/FieldEditor/EditFieldDialog/functions/setValue.js +3 -1
  122. package/admin/components/FieldEditor/EditFieldDialog/getValidators.js +3 -1
  123. package/admin/components/FieldEditor/EditFieldDialog.js +3 -1
  124. package/admin/components/FieldEditor/Field.js +3 -1
  125. package/admin/components/FieldEditor/FieldEditor.js +3 -1
  126. package/admin/components/FieldEditor/FieldEditorContext.js +3 -1
  127. package/admin/components/FieldEditor/Styled.js +3 -1
  128. package/admin/components/FieldEditor/index.js +3 -1
  129. package/admin/components/FieldEditor/useModelFieldEditor.js +3 -1
  130. package/admin/components/FieldEditor/utils/deleteField.js +3 -1
  131. package/admin/components/FieldEditor/utils/getFieldPosition.js +3 -1
  132. package/admin/components/FieldEditor/utils/index.js +3 -1
  133. package/admin/components/FieldEditor/utils/moveField.js +3 -1
  134. package/admin/components/FieldEditor/utils/moveRow.js +3 -1
  135. package/admin/components/IconPicker.js +3 -1
  136. package/admin/components/LexicalCmsEditor/LexicalCmsEditor.js +3 -1
  137. package/admin/components/LexicalCmsEditor/LexicalEditorCmsPlugin.js +3 -1
  138. package/admin/components/LexicalCmsEditor/TypographyDropDown.js +39 -28
  139. package/admin/components/LexicalCmsEditor/TypographyDropDown.js.map +1 -1
  140. package/admin/components/ModelFieldProvider/ModelFieldContext.js +3 -1
  141. package/admin/components/ModelFieldProvider/index.js +3 -1
  142. package/admin/components/ModelFieldProvider/useModelField.js +3 -1
  143. package/admin/components/ModelProvider/ModelContext.js +3 -1
  144. package/admin/components/ModelProvider/index.js +3 -1
  145. package/admin/components/ModelProvider/useModel.js +3 -1
  146. package/admin/config/contentEntries/editor/Actions/BaseAction.js +3 -1
  147. package/admin/config/contentEntries/editor/Actions/ButtonAction.js +3 -1
  148. package/admin/config/contentEntries/editor/Actions/MenuItemAction.js +3 -1
  149. package/admin/config/contentEntries/editor/Actions/index.js +3 -1
  150. package/admin/config/contentEntries/editor/ContentEntryEditorConfig.js +3 -1
  151. package/admin/config/contentEntries/editor/index.js +3 -1
  152. package/admin/config/contentEntries/index.js +3 -1
  153. package/admin/config/contentEntries/list/Browser/BulkAction.d.ts +27 -0
  154. package/admin/config/contentEntries/list/Browser/BulkAction.js +103 -0
  155. package/admin/config/contentEntries/list/Browser/BulkAction.js.map +1 -0
  156. package/admin/config/contentEntries/list/Browser/Filter.js +3 -1
  157. package/admin/config/contentEntries/list/Browser/FiltersToWhere.js +3 -1
  158. package/admin/config/contentEntries/list/Browser/index.d.ts +13 -0
  159. package/admin/config/contentEntries/list/Browser/index.js +5 -1
  160. package/admin/config/contentEntries/list/Browser/index.js.map +1 -1
  161. package/admin/config/contentEntries/list/ContentEntryListConfig.d.ts +12 -0
  162. package/admin/config/contentEntries/list/ContentEntryListConfig.js +4 -1
  163. package/admin/config/contentEntries/list/ContentEntryListConfig.js.map +1 -1
  164. package/admin/config/contentEntries/list/index.js +3 -1
  165. package/admin/constants/folders.js +3 -1
  166. package/admin/constants/statusLabels.js +3 -1
  167. package/admin/constants.js +3 -1
  168. package/admin/contexts/Cms/NetworkError.js +3 -1
  169. package/admin/contexts/Cms/index.d.ts +26 -3
  170. package/admin/contexts/Cms/index.js +40 -5
  171. package/admin/contexts/Cms/index.js.map +1 -1
  172. package/admin/elements/ContentGroupMenuElement.js +3 -1
  173. package/admin/elements/ContentModelMenuElement.js +3 -1
  174. package/admin/elements/NothingToShowElement.js +3 -1
  175. package/admin/graphql/contentModels.js +3 -1
  176. package/admin/hooks/index.js +3 -1
  177. package/admin/hooks/useApolloClient.js +3 -1
  178. package/admin/hooks/useCms.js +3 -1
  179. package/admin/hooks/useContentModels.js +3 -1
  180. package/admin/hooks/useLazyQuery.js +3 -1
  181. package/admin/hooks/useModelFieldGraphqlContext.js +3 -1
  182. package/admin/hooks/useMutation.js +3 -1
  183. package/admin/hooks/usePermission.js +3 -1
  184. package/admin/hooks/useQuery.js +3 -1
  185. package/admin/hooks/useQueryLocale.js +3 -1
  186. package/admin/lexicalConfig/LexicalEditorConfig.js +3 -1
  187. package/admin/menus/CmsMenuLoader.js +29 -9
  188. package/admin/menus/CmsMenuLoader.js.map +1 -1
  189. package/admin/menus/ContentGroupsMenuItems.js +3 -1
  190. package/admin/menus/GlobalSearchPlugins.js +3 -1
  191. package/admin/menus/NothingToShowElement.js +3 -1
  192. package/admin/plugins/apiInformation/index.js +3 -1
  193. package/admin/plugins/arrayUtils.js +3 -1
  194. package/admin/plugins/definitions/CmsEditorFieldValidatorFileTypePlugin.js +3 -1
  195. package/admin/plugins/definitions/CmsFieldValidatorFileTypePlugin.js +3 -1
  196. package/admin/plugins/editor/defaultBar/BackButton.js +3 -1
  197. package/admin/plugins/editor/defaultBar/CreateContentButton.js +3 -1
  198. package/admin/plugins/editor/defaultBar/Divider.js +3 -1
  199. package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js +3 -1
  200. package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsButton.js +3 -1
  201. package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsStyled.js +3 -1
  202. package/admin/plugins/editor/defaultBar/FormSettings/index.js +3 -1
  203. package/admin/plugins/editor/defaultBar/Name/Name.js +3 -1
  204. package/admin/plugins/editor/defaultBar/Name/NameStyled.js +3 -1
  205. package/admin/plugins/editor/defaultBar/Name/index.js +3 -1
  206. package/admin/plugins/editor/defaultBar/SaveContentModelButton.js +3 -1
  207. package/admin/plugins/editor/defaultBar/index.js +3 -1
  208. package/admin/plugins/editor/formSettings/components/GeneralSettings.js +3 -1
  209. package/admin/plugins/editor/formSettings/components/GroupSelect.js +3 -1
  210. package/admin/plugins/editor/formSettings/index.js +3 -1
  211. package/admin/plugins/entry/DefaultOnEntryDelete.js +3 -1
  212. package/admin/plugins/entry/DefaultOnEntryPublish.js +3 -1
  213. package/admin/plugins/entry/DefaultOnEntryUnpublish.d.ts +2 -0
  214. package/admin/plugins/entry/DefaultOnEntryUnpublish.js +127 -0
  215. package/admin/plugins/entry/DefaultOnEntryUnpublish.js.map +1 -0
  216. package/admin/plugins/fieldRenderers/Accordion.js +3 -1
  217. package/admin/plugins/fieldRenderers/DynamicSection.js +3 -1
  218. package/admin/plugins/fieldRenderers/boolean/booleanSwitch.js +3 -1
  219. package/admin/plugins/fieldRenderers/boolean/index.js +3 -1
  220. package/admin/plugins/fieldRenderers/checkboxes.js +3 -1
  221. package/admin/plugins/fieldRenderers/dateTime/DateOnly.js +3 -1
  222. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.js +3 -1
  223. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.js +3 -1
  224. package/admin/plugins/fieldRenderers/dateTime/Input.js +3 -1
  225. package/admin/plugins/fieldRenderers/dateTime/Select.js +3 -1
  226. package/admin/plugins/fieldRenderers/dateTime/Time.js +3 -1
  227. package/admin/plugins/fieldRenderers/dateTime/dateTimeField.js +3 -1
  228. package/admin/plugins/fieldRenderers/dateTime/dateTimeFields.js +3 -1
  229. package/admin/plugins/fieldRenderers/dateTime/index.js +3 -1
  230. package/admin/plugins/fieldRenderers/dateTime/utils.js +3 -1
  231. package/admin/plugins/fieldRenderers/dynamicZone/AddTemplate.js +3 -1
  232. package/admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone.js +3 -1
  233. package/admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone.js +3 -1
  234. package/admin/plugins/fieldRenderers/dynamicZone/TemplateCard.js +3 -1
  235. package/admin/plugins/fieldRenderers/dynamicZone/TemplateGallery.js +3 -1
  236. package/admin/plugins/fieldRenderers/dynamicZone/TemplateIcon.js +3 -1
  237. package/admin/plugins/fieldRenderers/dynamicZone/dynamicZoneRenderer.d.ts +2 -2
  238. package/admin/plugins/fieldRenderers/dynamicZone/dynamicZoneRenderer.js +9 -1
  239. package/admin/plugins/fieldRenderers/dynamicZone/dynamicZoneRenderer.js.map +1 -1
  240. package/admin/plugins/fieldRenderers/file/File.js +3 -1
  241. package/admin/plugins/fieldRenderers/file/fileField.js +3 -1
  242. package/admin/plugins/fieldRenderers/file/fileFields.js +3 -1
  243. package/admin/plugins/fieldRenderers/file/index.js +3 -1
  244. package/admin/plugins/fieldRenderers/file/utils.js +3 -1
  245. package/admin/plugins/fieldRenderers/lexicalText/index.js +3 -1
  246. package/admin/plugins/fieldRenderers/lexicalText/lexicalTextInput.js +3 -1
  247. package/admin/plugins/fieldRenderers/lexicalText/lexicalTextInputs.js +3 -1
  248. package/admin/plugins/fieldRenderers/lexicalText/utils.js +3 -1
  249. package/admin/plugins/fieldRenderers/longText/index.js +3 -1
  250. package/admin/plugins/fieldRenderers/longText/longText.js +3 -1
  251. package/admin/plugins/fieldRenderers/longText/longTexts.js +3 -1
  252. package/admin/plugins/fieldRenderers/number/index.js +3 -1
  253. package/admin/plugins/fieldRenderers/number/numberInput.js +3 -1
  254. package/admin/plugins/fieldRenderers/number/numberInputs.js +3 -1
  255. package/admin/plugins/fieldRenderers/object/FieldSettings.d.ts +42 -0
  256. package/admin/plugins/fieldRenderers/object/FieldSettings.js +68 -0
  257. package/admin/plugins/fieldRenderers/object/FieldSettings.js.map +1 -0
  258. package/admin/plugins/fieldRenderers/object/StyledComponents.js +3 -1
  259. package/admin/plugins/fieldRenderers/object/index.js +3 -1
  260. package/admin/plugins/fieldRenderers/object/multipleObjects.d.ts +2 -2
  261. package/admin/plugins/fieldRenderers/object/multipleObjects.js +12 -3
  262. package/admin/plugins/fieldRenderers/object/multipleObjects.js.map +1 -1
  263. package/admin/plugins/fieldRenderers/object/multipleObjectsAccordion.d.ts +2 -2
  264. package/admin/plugins/fieldRenderers/object/multipleObjectsAccordion.js +12 -3
  265. package/admin/plugins/fieldRenderers/object/multipleObjectsAccordion.js.map +1 -1
  266. package/admin/plugins/fieldRenderers/object/singleObjectAccordion.d.ts +2 -2
  267. package/admin/plugins/fieldRenderers/object/singleObjectAccordion.js +10 -2
  268. package/admin/plugins/fieldRenderers/object/singleObjectAccordion.js.map +1 -1
  269. package/admin/plugins/fieldRenderers/object/singleObjectInline.d.ts +2 -2
  270. package/admin/plugins/fieldRenderers/object/singleObjectInline.js +12 -4
  271. package/admin/plugins/fieldRenderers/object/singleObjectInline.js.map +1 -1
  272. package/admin/plugins/fieldRenderers/radioButtons.js +3 -1
  273. package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedMultipleReferenceField.js +19 -8
  274. package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedMultipleReferenceField.js.map +1 -1
  275. package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedSingleReferenceField.js +11 -2
  276. package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedSingleReferenceField.js.map +1 -1
  277. package/admin/plugins/fieldRenderers/ref/advanced/components/Entries.js +3 -1
  278. package/admin/plugins/fieldRenderers/ref/advanced/components/Entry.js +3 -1
  279. package/admin/plugins/fieldRenderers/ref/advanced/components/Loader.js +3 -1
  280. package/admin/plugins/fieldRenderers/ref/advanced/components/Options.js +3 -1
  281. package/admin/plugins/fieldRenderers/ref/advanced/components/ReferencesDialog.js +3 -1
  282. package/admin/plugins/fieldRenderers/ref/advanced/components/Search.js +3 -1
  283. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Box.js +3 -1
  284. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/CreatedBy.js +3 -1
  285. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Description.js +3 -1
  286. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Image.js +3 -1
  287. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/ModelName.js +3 -1
  288. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/ModifiedBy.js +3 -1
  289. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/MoveDown.js +3 -1
  290. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/MoveUp.js +3 -1
  291. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Remove.js +3 -1
  292. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Select.js +3 -1
  293. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Status.js +3 -1
  294. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Title.js +3 -1
  295. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/View.js +3 -1
  296. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/elements/ButtonLink.js +3 -1
  297. package/admin/plugins/fieldRenderers/ref/advanced/components/options/OptionsModelList.js +3 -1
  298. package/admin/plugins/fieldRenderers/ref/advanced/components/options/OptionsModelListItem.js +3 -1
  299. package/admin/plugins/fieldRenderers/ref/advanced/detailedReferenceRenderer.js +3 -1
  300. package/admin/plugins/fieldRenderers/ref/advanced/detailedReferencesRenderer.js +3 -1
  301. package/admin/plugins/fieldRenderers/ref/advanced/hooks/graphql.js +3 -1
  302. package/admin/plugins/fieldRenderers/ref/advanced/hooks/useEntries.js +3 -1
  303. package/admin/plugins/fieldRenderers/ref/advanced/hooks/useReferences.js +3 -1
  304. package/admin/plugins/fieldRenderers/ref/advanced/index.js +3 -1
  305. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.js +3 -1
  306. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.js +3 -1
  307. package/admin/plugins/fieldRenderers/ref/components/EntryStatus.js +3 -1
  308. package/admin/plugins/fieldRenderers/ref/components/MissingEntryHelpText.js +3 -1
  309. package/admin/plugins/fieldRenderers/ref/components/NewEntryButton.js +3 -1
  310. package/admin/plugins/fieldRenderers/ref/components/NewReferencedEntryDialog.js +3 -1
  311. package/admin/plugins/fieldRenderers/ref/components/createEntryUrl.js +3 -1
  312. package/admin/plugins/fieldRenderers/ref/components/dialog/Dialog.js +3 -1
  313. package/admin/plugins/fieldRenderers/ref/components/dialog/DialogHeader.js +3 -1
  314. package/admin/plugins/fieldRenderers/ref/components/graphql.js +3 -1
  315. package/admin/plugins/fieldRenderers/ref/components/helpers.js +3 -1
  316. package/admin/plugins/fieldRenderers/ref/components/renderItem.js +3 -1
  317. package/admin/plugins/fieldRenderers/ref/components/types.js +3 -1
  318. package/admin/plugins/fieldRenderers/ref/components/useReference.js +3 -1
  319. package/admin/plugins/fieldRenderers/ref/components/useReferences.js +3 -1
  320. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntry.js +3 -1
  321. package/admin/plugins/fieldRenderers/ref/index.js +3 -1
  322. package/admin/plugins/fieldRenderers/ref/refInput.js +3 -1
  323. package/admin/plugins/fieldRenderers/ref/refInputs.js +3 -1
  324. package/admin/plugins/fieldRenderers/ref/simple/components/SimpleItems.js +3 -1
  325. package/admin/plugins/fieldRenderers/ref/simple/components/SimpleMultipleRenderer.js +3 -1
  326. package/admin/plugins/fieldRenderers/ref/simple/components/SimpleSingleRenderer.js +3 -1
  327. package/admin/plugins/fieldRenderers/ref/simple/components/useContentModels.js +3 -1
  328. package/admin/plugins/fieldRenderers/ref/simple/components/useReferences.js +3 -1
  329. package/admin/plugins/fieldRenderers/ref/simple/index.js +3 -1
  330. package/admin/plugins/fieldRenderers/ref/simple/simpleMultipleRenderer.js +3 -1
  331. package/admin/plugins/fieldRenderers/ref/simple/simpleSingleRenderer.js +3 -1
  332. package/admin/plugins/fieldRenderers/richText/index.js +3 -1
  333. package/admin/plugins/fieldRenderers/richText/richTextInput.js +3 -1
  334. package/admin/plugins/fieldRenderers/richText/richTextInputs.js +3 -1
  335. package/admin/plugins/fieldRenderers/richText/utils.js +3 -1
  336. package/admin/plugins/fieldRenderers/select.js +3 -1
  337. package/admin/plugins/fieldRenderers/text/index.js +3 -1
  338. package/admin/plugins/fieldRenderers/text/textInput.js +3 -1
  339. package/admin/plugins/fieldRenderers/text/textInputs.js +3 -1
  340. package/admin/plugins/fieldValidators/date/availableValidators.js +3 -1
  341. package/admin/plugins/fieldValidators/date/createDateInputField.js +3 -1
  342. package/admin/plugins/fieldValidators/dateGte.js +3 -1
  343. package/admin/plugins/fieldValidators/dateLte.js +3 -1
  344. package/admin/plugins/fieldValidators/dynamicZone.js +3 -1
  345. package/admin/plugins/fieldValidators/gte.js +3 -1
  346. package/admin/plugins/fieldValidators/in.js +3 -1
  347. package/admin/plugins/fieldValidators/lte.js +3 -1
  348. package/admin/plugins/fieldValidators/maxLength.js +3 -1
  349. package/admin/plugins/fieldValidators/minLength.js +3 -1
  350. package/admin/plugins/fieldValidators/pattern.js +3 -1
  351. package/admin/plugins/fieldValidators/patternPlugins/email.js +3 -1
  352. package/admin/plugins/fieldValidators/patternPlugins/lowerCase.js +3 -1
  353. package/admin/plugins/fieldValidators/patternPlugins/lowerCaseSpace.js +3 -1
  354. package/admin/plugins/fieldValidators/patternPlugins/upperCase.js +3 -1
  355. package/admin/plugins/fieldValidators/patternPlugins/upperCaseSpace.js +3 -1
  356. package/admin/plugins/fieldValidators/patternPlugins/url.js +3 -1
  357. package/admin/plugins/fieldValidators/required.js +3 -1
  358. package/admin/plugins/fieldValidators/unique.js +3 -1
  359. package/admin/plugins/fields/PredefinedValuesDynamicFieldset.js +3 -1
  360. package/admin/plugins/fields/boolean.js +3 -1
  361. package/admin/plugins/fields/dateTime.js +3 -1
  362. package/admin/plugins/fields/dynamicZone/AddTemplate.js +3 -1
  363. package/admin/plugins/fields/dynamicZone/DynamicZone.js +3 -1
  364. package/admin/plugins/fields/dynamicZone/DynamicZoneTemplate.js +3 -1
  365. package/admin/plugins/fields/dynamicZone/TemplateDialog.js +3 -1
  366. package/admin/plugins/fields/dynamicZone/commonValidators.js +3 -1
  367. package/admin/plugins/fields/dynamicZone.js +14 -9
  368. package/admin/plugins/fields/dynamicZone.js.map +1 -1
  369. package/admin/plugins/fields/file.js +3 -1
  370. package/admin/plugins/fields/longText.js +3 -1
  371. package/admin/plugins/fields/number.js +3 -1
  372. package/admin/plugins/fields/object/ObjectFields.js +3 -1
  373. package/admin/plugins/fields/object.js +11 -8
  374. package/admin/plugins/fields/object.js.map +1 -1
  375. package/admin/plugins/fields/ref/graphql.js +3 -1
  376. package/admin/plugins/fields/ref/renderInfo.js +3 -1
  377. package/admin/plugins/fields/ref.js +3 -1
  378. package/admin/plugins/fields/richText.js +3 -1
  379. package/admin/plugins/fields/text.js +3 -1
  380. package/admin/plugins/getObjectId.js +3 -1
  381. package/admin/plugins/icons.js +3 -1
  382. package/admin/plugins/index.d.ts +2 -2
  383. package/admin/plugins/index.js +3 -1
  384. package/admin/plugins/install.js +17 -21
  385. package/admin/plugins/install.js.map +1 -1
  386. package/admin/plugins/permissionRenderer/CmsPermissions.js +3 -1
  387. package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js +3 -1
  388. package/admin/plugins/permissionRenderer/components/ContentModelGroupPermission.js +3 -1
  389. package/admin/plugins/permissionRenderer/components/ContentModelList.js +3 -1
  390. package/admin/plugins/permissionRenderer/components/ContentModelPermission.js +3 -1
  391. package/admin/plugins/permissionRenderer/components/PermissionRendererWrapper.js +3 -1
  392. package/admin/plugins/permissionRenderer/components/PermissionSelector.js +3 -1
  393. package/admin/plugins/permissionRenderer/components/StyledComponents.js +3 -1
  394. package/admin/plugins/permissionRenderer/components/types.js +3 -1
  395. package/admin/plugins/permissionRenderer/components/useCmsData.js +3 -1
  396. package/admin/plugins/permissionRenderer/index.js +3 -1
  397. package/admin/plugins/routes.js +3 -1
  398. package/admin/plugins/routes.js.map +1 -1
  399. package/admin/plugins/transformers/dateTransformer.js +3 -2
  400. package/admin/plugins/transformers/dateTransformer.js.map +1 -1
  401. package/admin/plugins/transformers/dynamicZoneTransformer.js +6 -5
  402. package/admin/plugins/transformers/dynamicZoneTransformer.js.map +1 -1
  403. package/admin/plugins/transformers/index.js +5 -2
  404. package/admin/plugins/transformers/index.js.map +1 -1
  405. package/admin/plugins/transformers/numberTransformer.js +11 -2
  406. package/admin/plugins/transformers/numberTransformer.js.map +1 -1
  407. package/admin/plugins/transformers/objectTransformer.d.ts +2 -0
  408. package/admin/plugins/transformers/objectTransformer.js +25 -0
  409. package/admin/plugins/transformers/objectTransformer.js.map +1 -0
  410. package/admin/plugins/welcomeScreenWidget.js +3 -1
  411. package/admin/views/contentEntries/ContentEntries.js +3 -1
  412. package/admin/views/contentEntries/ContentEntriesContainer.js +3 -1
  413. package/admin/views/contentEntries/ContentEntriesContext.js +3 -1
  414. package/admin/views/contentEntries/ContentEntriesModule.js +16 -1
  415. package/admin/views/contentEntries/ContentEntriesModule.js.map +1 -1
  416. package/admin/views/contentEntries/ContentEntry/ContentEntryContext.d.ts +2 -1
  417. package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js +3 -1
  418. package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js.map +1 -1
  419. package/admin/views/contentEntries/ContentEntry/PublishEntryRevisionListItem.js +3 -1
  420. package/admin/views/contentEntries/ContentEntry/RevisionListItem.js +4 -2
  421. package/admin/views/contentEntries/ContentEntry/RevisionListItem.js.map +1 -1
  422. package/admin/views/contentEntries/ContentEntry/RevisionsList.js +3 -1
  423. package/admin/views/contentEntries/ContentEntry/useRevision.js +3 -1
  424. package/admin/views/contentEntries/ContentEntry.js +3 -1
  425. package/admin/views/contentEntries/Table/Main.js +8 -3
  426. package/admin/views/contentEntries/Table/Main.js.map +1 -1
  427. package/admin/views/contentEntries/Table/Sidebar.js +3 -1
  428. package/admin/views/contentEntries/Table/index.js +5 -2
  429. package/admin/views/contentEntries/Table/index.js.map +1 -1
  430. package/admin/views/contentEntries/Table/styled.js +3 -1
  431. package/admin/views/contentEntries/hooks/index.js +3 -1
  432. package/admin/views/contentEntries/hooks/useContentEntries.js +3 -1
  433. package/admin/views/contentEntries/hooks/useContentEntriesList.d.ts +13 -2
  434. package/admin/views/contentEntries/hooks/useContentEntriesList.js +37 -8
  435. package/admin/views/contentEntries/hooks/useContentEntriesList.js.map +1 -1
  436. package/admin/views/contentEntries/hooks/useContentEntry.js +3 -1
  437. package/admin/views/contentEntries/hooks/useMoveContentEntryToFolder.js +3 -1
  438. package/admin/views/contentModelGroups/ContentModelGroups.js +3 -1
  439. package/admin/views/contentModelGroups/ContentModelGroupsDataList.js +3 -1
  440. package/admin/views/contentModelGroups/ContentModelGroupsForm.js +3 -1
  441. package/admin/views/contentModelGroups/graphql.js +3 -1
  442. package/admin/views/contentModels/CloneContentModelDialog.js +3 -1
  443. package/admin/views/contentModels/ContentModelEditor.js +3 -1
  444. package/admin/views/contentModels/ContentModels.js +19 -3
  445. package/admin/views/contentModels/ContentModels.js.map +1 -1
  446. package/admin/views/contentModels/ContentModelsDataList.d.ts +1 -0
  447. package/admin/views/contentModels/ContentModelsDataList.js +46 -13
  448. package/admin/views/contentModels/ContentModelsDataList.js.map +1 -1
  449. package/admin/views/contentModels/NewContentModelDialog.js +3 -1
  450. package/admin/views/contentModels/OptionsMenu.d.ts +13 -0
  451. package/admin/views/contentModels/OptionsMenu.js +50 -0
  452. package/admin/views/contentModels/OptionsMenu.js.map +1 -0
  453. package/admin/views/contentModels/cache.js +3 -1
  454. package/admin/views/contentModels/exporting/download.d.ts +7 -0
  455. package/admin/views/contentModels/exporting/download.js +32 -0
  456. package/admin/views/contentModels/exporting/download.js.map +1 -0
  457. package/admin/views/contentModels/exporting/graphql.d.ts +1 -0
  458. package/admin/views/contentModels/exporting/graphql.js +14 -0
  459. package/admin/views/contentModels/exporting/graphql.js.map +1 -0
  460. package/admin/views/contentModels/exporting/runExport.d.ts +16 -0
  461. package/admin/views/contentModels/exporting/runExport.js +95 -0
  462. package/admin/views/contentModels/exporting/runExport.js.map +1 -0
  463. package/admin/views/contentModels/exporting/useModelExport.d.ts +5 -0
  464. package/admin/views/contentModels/exporting/useModelExport.js +65 -0
  465. package/admin/views/contentModels/exporting/useModelExport.js.map +1 -0
  466. package/admin/views/contentModels/helpers/apiNameValidator.js +3 -1
  467. package/admin/views/contentModels/helpers/nameValidator.js +3 -1
  468. package/admin/views/contentModels/importing/ImportContentModelsDialog.d.ts +5 -0
  469. package/admin/views/contentModels/importing/ImportContentModelsDialog.js +55 -0
  470. package/admin/views/contentModels/importing/ImportContentModelsDialog.js.map +1 -0
  471. package/admin/views/contentModels/importing/ImportContext.d.ts +58 -0
  472. package/admin/views/contentModels/importing/ImportContext.js +495 -0
  473. package/admin/views/contentModels/importing/ImportContext.js.map +1 -0
  474. package/admin/views/contentModels/importing/components/DataList.d.ts +2 -0
  475. package/admin/views/contentModels/importing/components/DataList.js +36 -0
  476. package/admin/views/contentModels/importing/components/DataList.js.map +1 -0
  477. package/admin/views/contentModels/importing/components/DataListGroup.d.ts +8 -0
  478. package/admin/views/contentModels/importing/components/DataListGroup.js +42 -0
  479. package/admin/views/contentModels/importing/components/DataListGroup.js.map +1 -0
  480. package/admin/views/contentModels/importing/components/Errors.d.ts +8 -0
  481. package/admin/views/contentModels/importing/components/Errors.js +50 -0
  482. package/admin/views/contentModels/importing/components/Errors.js.map +1 -0
  483. package/admin/views/contentModels/importing/components/FileUpload.d.ts +2 -0
  484. package/admin/views/contentModels/importing/components/FileUpload.js +75 -0
  485. package/admin/views/contentModels/importing/components/FileUpload.js.map +1 -0
  486. package/admin/views/contentModels/importing/components/ImportButton.d.ts +8 -0
  487. package/admin/views/contentModels/importing/components/ImportButton.js +26 -0
  488. package/admin/views/contentModels/importing/components/ImportButton.js.map +1 -0
  489. package/admin/views/contentModels/importing/components/Model/DataListInstructions.d.ts +2 -0
  490. package/admin/views/contentModels/importing/components/Model/DataListInstructions.js +24 -0
  491. package/admin/views/contentModels/importing/components/Model/DataListInstructions.js.map +1 -0
  492. package/admin/views/contentModels/importing/components/Model/DataListModelItem.d.ts +10 -0
  493. package/admin/views/contentModels/importing/components/Model/DataListModelItem.js +160 -0
  494. package/admin/views/contentModels/importing/components/Model/DataListModelItem.js.map +1 -0
  495. package/admin/views/contentModels/importing/components/Model/DataListModelItemError.d.ts +7 -0
  496. package/admin/views/contentModels/importing/components/Model/DataListModelItemError.js +75 -0
  497. package/admin/views/contentModels/importing/components/Model/DataListModelItemError.js.map +1 -0
  498. package/admin/views/contentModels/importing/components/Model/DataListModelItemInfo.d.ts +7 -0
  499. package/admin/views/contentModels/importing/components/Model/DataListModelItemInfo.js +37 -0
  500. package/admin/views/contentModels/importing/components/Model/DataListModelItemInfo.js.map +1 -0
  501. package/admin/views/contentModels/importing/components/Model/DataListModels.d.ts +7 -0
  502. package/admin/views/contentModels/importing/components/Model/DataListModels.js +37 -0
  503. package/admin/views/contentModels/importing/components/Model/DataListModels.js.map +1 -0
  504. package/admin/views/contentModels/importing/components/Model/index.d.ts +1 -0
  505. package/admin/views/contentModels/importing/components/Model/index.js +18 -0
  506. package/admin/views/contentModels/importing/components/Model/index.js.map +1 -0
  507. package/admin/views/contentModels/importing/graphql.d.ts +46 -0
  508. package/admin/views/contentModels/importing/graphql.js +17 -0
  509. package/admin/views/contentModels/importing/graphql.js.map +1 -0
  510. package/admin/views/contentModels/importing/types.d.ts +50 -0
  511. package/admin/views/contentModels/importing/types.js +16 -0
  512. package/admin/views/contentModels/importing/types.js.map +1 -0
  513. package/admin/views/contentModels/importing/useImport.d.ts +1 -0
  514. package/admin/views/contentModels/importing/useImport.js +19 -0
  515. package/admin/views/contentModels/importing/useImport.js.map +1 -0
  516. package/admin/views/contentModels/types.js +3 -1
  517. package/admin/views/utils.js +3 -1
  518. package/admin/viewsGraphql.js +3 -1
  519. package/allPlugins.d.ts +2 -2
  520. package/allPlugins.js +3 -1
  521. package/index.d.ts +1 -0
  522. package/index.js +11 -1
  523. package/index.js.map +1 -1
  524. package/package.json +29 -24
  525. package/types.js +3 -1
  526. package/utils/CmsModelFieldValidatorConfigAdapter.js +3 -1
  527. package/utils/acoRecordTransform.js +5 -1
  528. package/utils/acoRecordTransform.js.map +1 -1
  529. package/utils/allowCmsLegacyRichTextInput.js +3 -1
  530. package/utils/createTypeName.js +3 -1
  531. package/utils/createValidators.js +8 -1
  532. package/utils/createValidators.js.map +1 -1
  533. package/utils/getFetchPolicy.js +3 -1
  534. package/utils/getModelTitleFieldId.js +3 -1
  535. package/admin/graphql/createFieldsList.d.ts +0 -7
  536. package/admin/graphql/createFieldsList.js +0 -33
  537. package/admin/graphql/createFieldsList.js.map +0 -1
  538. package/admin/views/contentEntries/ContentEntry/prepareFormData.d.ts +0 -2
  539. package/admin/views/contentEntries/ContentEntry/prepareFormData.js +0 -115
  540. package/admin/views/contentEntries/ContentEntry/prepareFormData.js.map +0 -1
@@ -0,0 +1,495 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.ImportContextProvider = exports.ImportContext = void 0;
9
+ var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
10
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
14
+ var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelper"));
15
+ var _react = _interopRequireWildcard(require("react"));
16
+ var _hooks = require("../../../hooks");
17
+ var _graphql = require("./graphql");
18
+ var _types = require("./types");
19
+ var _appAdmin = require("@webiny/app-admin");
20
+ var parseFileData = function parseFileData(input) {
21
+ var _data$groups, _data$models;
22
+ var data = {};
23
+ try {
24
+ data = JSON.parse(input);
25
+ } catch (ex) {
26
+ throw new Error("Could not parse the uploaded file. Make sure it's a valid JSON file.");
27
+ }
28
+ if (!((_data$groups = data.groups) !== null && _data$groups !== void 0 && _data$groups.length) && !((_data$models = data.models) !== null && _data$models !== void 0 && _data$models.length)) {
29
+ throw new Error("No groups and models in the uploaded file.");
30
+ } else if (data.groups.length === 0) {
31
+ throw new Error("No groups in the uploaded file. There must be at least one group.");
32
+ }
33
+ return {
34
+ groups: data.groups,
35
+ models: data.models
36
+ };
37
+ };
38
+ var parseFileContent = function parseFileContent(content) {
39
+ if (!content) {
40
+ throw new Error("Missing data in uploaded file.");
41
+ } else if (content instanceof ArrayBuffer) {
42
+ var data = Buffer.from(content).toString("utf8");
43
+ return parseFileData(data);
44
+ }
45
+ return parseFileData(content);
46
+ };
47
+ var createSelected = function createSelected(params) {
48
+ var previous = params.previous,
49
+ models = params.models,
50
+ item = params.item;
51
+ var selected = new Map(previous);
52
+ selected.set(item.id, item.related);
53
+ var _iterator = (0, _createForOfIteratorHelper2.default)(item.related),
54
+ _step;
55
+ try {
56
+ var _loop = function _loop() {
57
+ var id = _step.value;
58
+ var model = models.find(function (model) {
59
+ return model.id === id;
60
+ });
61
+ if (!model) {
62
+ return "continue";
63
+ } else if (selected.has(model.id) || model.imported) {
64
+ return "continue";
65
+ }
66
+ var related = createSelected({
67
+ previous: selected,
68
+ models: models,
69
+ item: model
70
+ });
71
+ selected = new Map([].concat((0, _toConsumableArray2.default)(selected), (0, _toConsumableArray2.default)(related)));
72
+ };
73
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
74
+ var _ret = _loop();
75
+ if (_ret === "continue") continue;
76
+ }
77
+ } catch (err) {
78
+ _iterator.e(err);
79
+ } finally {
80
+ _iterator.f();
81
+ }
82
+ return selected;
83
+ };
84
+ var getDataToImport = function getDataToImport(state) {
85
+ var selected = Array.from(state.selected.keys());
86
+ var groups = new Map();
87
+ var models = new Map();
88
+ var noAction = [_types.ImportAction.CODE, _types.ImportAction.NONE];
89
+ var _loop2 = function _loop2() {
90
+ var _state$models, _state$data, _state$data$models, _state$groups, _state$data2, _state$data2$groups;
91
+ var id = _selected[_i];
92
+ var validatedModel = (_state$models = state.models) === null || _state$models === void 0 ? void 0 : _state$models.find(function (model) {
93
+ return model.id === id;
94
+ });
95
+ if (!(validatedModel !== null && validatedModel !== void 0 && validatedModel.action) || validatedModel.error || noAction.includes(validatedModel.action)) {
96
+ return "continue";
97
+ }
98
+ var model = (_state$data = state.data) === null || _state$data === void 0 ? void 0 : (_state$data$models = _state$data.models) === null || _state$data$models === void 0 ? void 0 : _state$data$models.find(function (model) {
99
+ return model.modelId === id;
100
+ });
101
+ if (!model) {
102
+ return "continue";
103
+ }
104
+ models.set(id, model);
105
+ var validatedGroup = (_state$groups = state.groups) === null || _state$groups === void 0 ? void 0 : _state$groups.find(function (group) {
106
+ return group.id === validatedModel.group;
107
+ });
108
+ if (!(validatedGroup !== null && validatedGroup !== void 0 && validatedGroup.action) || validatedGroup.error || noAction.includes(validatedGroup.action)) {
109
+ return "continue";
110
+ }
111
+ var group = (_state$data2 = state.data) === null || _state$data2 === void 0 ? void 0 : (_state$data2$groups = _state$data2.groups) === null || _state$data2$groups === void 0 ? void 0 : _state$data2$groups.find(function (group) {
112
+ return group.id === validatedModel.group;
113
+ });
114
+ if (!group) {
115
+ return "continue";
116
+ }
117
+ groups.set(group.id, group);
118
+ };
119
+ for (var _i = 0, _selected = selected; _i < _selected.length; _i++) {
120
+ var _ret2 = _loop2();
121
+ if (_ret2 === "continue") continue;
122
+ }
123
+ return {
124
+ groups: Array.from(groups.values()),
125
+ models: Array.from(models.values())
126
+ };
127
+ };
128
+ var ImportContext = /*#__PURE__*/_react.default.createContext(undefined);
129
+ exports.ImportContext = ImportContext;
130
+ var ImportContextProvider = function ImportContextProvider(_ref) {
131
+ var children = _ref.children;
132
+ var client = (0, _hooks.useApolloClient)();
133
+ var _useSnackbar = (0, _appAdmin.useSnackbar)(),
134
+ showSnackbar = _useSnackbar.showSnackbar;
135
+ var _useState = (0, _react.useState)({
136
+ data: null,
137
+ file: null,
138
+ loading: false,
139
+ validated: false,
140
+ selected: new Map()
141
+ }),
142
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
143
+ state = _useState2[0],
144
+ setState = _useState2[1];
145
+ var hasSelected = (0, _react.useCallback)(function () {
146
+ return Array.from(state.selected.keys()).length > 0;
147
+ }, [state.selected]);
148
+ var handleModelsValidation = (0, _react.useCallback)( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
149
+ var _result$data;
150
+ var result, _ref3, data, error;
151
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
152
+ while (1) switch (_context.prev = _context.next) {
153
+ case 0:
154
+ if (state.data) {
155
+ _context.next = 3;
156
+ break;
157
+ }
158
+ console.error("Cannot import models without any data.");
159
+ return _context.abrupt("return");
160
+ case 3:
161
+ setState(function (prev) {
162
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, prev), {}, {
163
+ loading: true
164
+ });
165
+ });
166
+ _context.prev = 4;
167
+ _context.next = 7;
168
+ return client.mutate({
169
+ mutation: _graphql.VALIDATE_IMPORT_STRUCTURE,
170
+ variables: {
171
+ data: state.data
172
+ }
173
+ });
174
+ case 7:
175
+ result = _context.sent;
176
+ _context.next = 14;
177
+ break;
178
+ case 10:
179
+ _context.prev = 10;
180
+ _context.t0 = _context["catch"](4);
181
+ setState(function (prev) {
182
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, prev), {}, {
183
+ loading: false,
184
+ errors: [_context.t0.message]
185
+ });
186
+ });
187
+ return _context.abrupt("return");
188
+ case 14:
189
+ _ref3 = ((_result$data = result.data) === null || _result$data === void 0 ? void 0 : _result$data.validateImportStructure) || {}, data = _ref3.data, error = _ref3.error;
190
+ if (!error) {
191
+ _context.next = 20;
192
+ break;
193
+ }
194
+ setState(function (prev) {
195
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, prev), {}, {
196
+ loading: false,
197
+ errors: [error.message]
198
+ });
199
+ });
200
+ return _context.abrupt("return");
201
+ case 20:
202
+ if (data) {
203
+ _context.next = 23;
204
+ break;
205
+ }
206
+ setState(function (prev) {
207
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, prev), {}, {
208
+ loading: false,
209
+ errors: ["No validation data received."]
210
+ });
211
+ });
212
+ return _context.abrupt("return");
213
+ case 23:
214
+ setState(function (prev) {
215
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, prev), {}, {
216
+ loading: false,
217
+ groups: data.groups.map(function (group) {
218
+ return {
219
+ id: group.group.id,
220
+ name: group.group.name,
221
+ error: group.error,
222
+ action: group.action
223
+ };
224
+ }),
225
+ models: data.models.map(function (model) {
226
+ return {
227
+ id: model.model.modelId,
228
+ name: model.model.name,
229
+ group: model.model.group,
230
+ related: model.related || [],
231
+ error: model.error,
232
+ action: model.action
233
+ };
234
+ }),
235
+ validated: true
236
+ });
237
+ });
238
+ case 24:
239
+ case "end":
240
+ return _context.stop();
241
+ }
242
+ }, _callee, null, [[4, 10]]);
243
+ })), [state.data, setState]);
244
+ var handleModelsImport = (0, _react.useCallback)( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee2() {
245
+ var _state$groups2, _state$models2, _result$data2;
246
+ var dataToImport, result, _ref5, data, error;
247
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee2$(_context2) {
248
+ while (1) switch (_context2.prev = _context2.next) {
249
+ case 0:
250
+ if (state.data) {
251
+ _context2.next = 5;
252
+ break;
253
+ }
254
+ console.error("Cannot import models without any data.");
255
+ return _context2.abrupt("return");
256
+ case 5:
257
+ if ((_state$groups2 = state.groups) !== null && _state$groups2 !== void 0 && _state$groups2.length) {
258
+ _context2.next = 10;
259
+ break;
260
+ }
261
+ console.error("Cannot import models without any groups.");
262
+ return _context2.abrupt("return");
263
+ case 10:
264
+ if ((_state$models2 = state.models) !== null && _state$models2 !== void 0 && _state$models2.length) {
265
+ _context2.next = 15;
266
+ break;
267
+ }
268
+ console.error("Cannot import models because none are selected.");
269
+ return _context2.abrupt("return");
270
+ case 15:
271
+ if (!(Array.from(state.selected.keys()).length === 0)) {
272
+ _context2.next = 18;
273
+ break;
274
+ }
275
+ console.error("Cannot import models because none are selected.");
276
+ return _context2.abrupt("return");
277
+ case 18:
278
+ setState(function (prev) {
279
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, prev), {}, {
280
+ loading: true
281
+ });
282
+ });
283
+ dataToImport = getDataToImport(state);
284
+ _context2.prev = 20;
285
+ _context2.next = 23;
286
+ return client.mutate({
287
+ mutation: _graphql.IMPORT_STRUCTURE,
288
+ variables: {
289
+ data: dataToImport
290
+ },
291
+ errorPolicy: "all"
292
+ });
293
+ case 23:
294
+ result = _context2.sent;
295
+ _context2.next = 30;
296
+ break;
297
+ case 26:
298
+ _context2.prev = 26;
299
+ _context2.t0 = _context2["catch"](20);
300
+ setState(function (prev) {
301
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, prev), {}, {
302
+ loading: false,
303
+ errors: [_context2.t0.message]
304
+ });
305
+ });
306
+ return _context2.abrupt("return");
307
+ case 30:
308
+ _ref5 = ((_result$data2 = result.data) === null || _result$data2 === void 0 ? void 0 : _result$data2.importStructure) || {}, data = _ref5.data, error = _ref5.error;
309
+ if (!error) {
310
+ _context2.next = 36;
311
+ break;
312
+ }
313
+ setState(function (prev) {
314
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, prev), {}, {
315
+ loading: false,
316
+ errors: [error.message]
317
+ });
318
+ });
319
+ return _context2.abrupt("return");
320
+ case 36:
321
+ if (data) {
322
+ _context2.next = 39;
323
+ break;
324
+ }
325
+ setState(function (prev) {
326
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, prev), {}, {
327
+ loading: false,
328
+ validated: false,
329
+ errors: ["No structure import data received."]
330
+ });
331
+ });
332
+ return _context2.abrupt("return");
333
+ case 39:
334
+ setState(function (prev) {
335
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, prev), {}, {
336
+ loading: false,
337
+ selected: new Map(),
338
+ groups: state.groups.map(function (group) {
339
+ var result = data.groups.find(function (item) {
340
+ return item.group.id === group.id;
341
+ });
342
+ return {
343
+ id: (result === null || result === void 0 ? void 0 : result.group.id) || group.id,
344
+ name: (result === null || result === void 0 ? void 0 : result.group.name) || group.name,
345
+ error: (result === null || result === void 0 ? void 0 : result.error) || group.error,
346
+ imported: result ? result.imported : group.imported
347
+ };
348
+ }),
349
+ models: state.models.map(function (model) {
350
+ var result = data.models.find(function (item) {
351
+ return item.model.modelId === model.id;
352
+ });
353
+ return {
354
+ id: (result === null || result === void 0 ? void 0 : result.model.modelId) || model.id,
355
+ name: (result === null || result === void 0 ? void 0 : result.model.name) || model.name,
356
+ group: (result === null || result === void 0 ? void 0 : result.model.group) || model.group,
357
+ related: (result === null || result === void 0 ? void 0 : result.related) || model.related || [],
358
+ action: (result === null || result === void 0 ? void 0 : result.action) || model.action,
359
+ error: (result === null || result === void 0 ? void 0 : result.error) || model.error,
360
+ imported: result ? result.imported : model.imported
361
+ };
362
+ }),
363
+ validated: true
364
+ });
365
+ });
366
+ case 40:
367
+ case "end":
368
+ return _context2.stop();
369
+ }
370
+ }, _callee2, null, [[20, 26]]);
371
+ })), [state.selected, state.data, setState]);
372
+ var onFile = (0, _react.useCallback)(function (file) {
373
+ var reader = new FileReader();
374
+ reader.addEventListener("load", function (event) {
375
+ try {
376
+ var _event$target;
377
+ var data = parseFileContent((_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.result);
378
+ setState(function (prev) {
379
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, prev), {}, {
380
+ models: undefined,
381
+ groups: undefined,
382
+ selected: new Map(),
383
+ errors: null,
384
+ validated: false,
385
+ file: file,
386
+ data: data
387
+ });
388
+ });
389
+ } catch (ex) {
390
+ setState(function (prev) {
391
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, prev), {}, {
392
+ file: file,
393
+ selected: new Map(),
394
+ validated: false,
395
+ groups: undefined,
396
+ models: undefined,
397
+ data: null,
398
+ errors: [ex.message]
399
+ });
400
+ });
401
+ }
402
+ });
403
+ reader.readAsText(file);
404
+ }, [state.data, setState]);
405
+ var onFileError = (0, _react.useCallback)(function (error) {
406
+ setState(function (prev) {
407
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, prev), {}, {
408
+ file: null,
409
+ errors: [error]
410
+ });
411
+ });
412
+ }, [state, setState]);
413
+ var isModelSelected = (0, _react.useCallback)(function (item) {
414
+ return state.selected.has(item.id);
415
+ }, [state.selected]);
416
+ var isModelRelated = (0, _react.useCallback)(function (_ref6) {
417
+ var target = _ref6.id;
418
+ var _iterator2 = (0, _createForOfIteratorHelper2.default)(state.selected.keys()),
419
+ _step2;
420
+ try {
421
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
422
+ var id = _step2.value;
423
+ if (id === target) {
424
+ continue;
425
+ }
426
+ var related = state.selected.get(id);
427
+ if (related !== null && related !== void 0 && related.includes(id)) {
428
+ return true;
429
+ }
430
+ }
431
+ } catch (err) {
432
+ _iterator2.e(err);
433
+ } finally {
434
+ _iterator2.f();
435
+ }
436
+ return false;
437
+ }, [state.selected]);
438
+ var addModel = (0, _react.useCallback)(function (item) {
439
+ if (isModelSelected(item)) {
440
+ return;
441
+ }
442
+ setState(function (prev) {
443
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, prev), {}, {
444
+ selected: createSelected({
445
+ previous: prev.selected,
446
+ models: state.models || [],
447
+ item: item
448
+ })
449
+ });
450
+ });
451
+ }, [isModelSelected, state.models, state.selected]);
452
+ var removeModel = (0, _react.useCallback)(function (item) {
453
+ if (isModelRelated(item)) {
454
+ showSnackbar("Model \"".concat(item.name, "\" is required due to another model having a relation to it."));
455
+ return;
456
+ }
457
+ setState(function (prev) {
458
+ var selected = prev.selected;
459
+ selected.delete(item.id);
460
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, prev), {}, {
461
+ selected: selected
462
+ });
463
+ });
464
+ }, [state, setState]);
465
+ var toggleModel = (0, _react.useCallback)(function (item) {
466
+ if (isModelSelected(item)) {
467
+ removeModel(item);
468
+ return;
469
+ }
470
+ addModel(item);
471
+ }, [isModelSelected, addModel, removeModel]);
472
+ var value = {
473
+ data: state.data || null,
474
+ loading: state.loading || false,
475
+ groups: state.groups || [],
476
+ models: state.models || [],
477
+ errors: state.errors || [],
478
+ validated: state.validated || false,
479
+ hasSelected: hasSelected,
480
+ isModelRelated: isModelRelated,
481
+ file: state.file,
482
+ onFile: onFile,
483
+ onFileError: onFileError,
484
+ handleModelsValidation: handleModelsValidation,
485
+ handleModelsImport: handleModelsImport,
486
+ toggleModel: toggleModel,
487
+ isModelSelected: isModelSelected
488
+ };
489
+ return /*#__PURE__*/_react.default.createElement(ImportContext.Provider, {
490
+ value: value
491
+ }, children(value));
492
+ };
493
+ exports.ImportContextProvider = ImportContextProvider;
494
+
495
+ //# sourceMappingURL=ImportContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_hooks","_graphql","_types","_appAdmin","parseFileData","input","_data$groups","_data$models","data","JSON","parse","ex","Error","groups","length","models","parseFileContent","content","ArrayBuffer","Buffer","from","toString","createSelected","params","previous","item","selected","Map","set","id","related","_iterator","_createForOfIteratorHelper2","default","_step","_loop","value","model","find","has","imported","concat","_toConsumableArray2","s","n","done","_ret","err","e","f","getDataToImport","state","Array","keys","noAction","ImportAction","CODE","NONE","_loop2","_state$models","_state$data","_state$data$models","_state$groups","_state$data2","_state$data2$groups","_selected","_i","validatedModel","action","error","includes","modelId","validatedGroup","group","_ret2","values","ImportContext","React","createContext","undefined","exports","ImportContextProvider","_ref","children","client","useApolloClient","_useSnackbar","useSnackbar","showSnackbar","_useState","useState","file","loading","validated","_useState2","_slicedToArray2","setState","hasSelected","useCallback","handleModelsValidation","_asyncToGenerator2","_regeneratorRuntime2","mark","_callee","_result$data","result","_ref3","wrap","_callee$","_context","prev","next","console","abrupt","_objectSpread2","mutate","mutation","VALIDATE_IMPORT_STRUCTURE","variables","sent","t0","errors","message","validateImportStructure","map","name","stop","handleModelsImport","_callee2","_state$groups2","_state$models2","_result$data2","dataToImport","_ref5","_callee2$","_context2","IMPORT_STRUCTURE","errorPolicy","importStructure","onFile","reader","FileReader","addEventListener","event","_event$target","target","readAsText","onFileError","isModelSelected","isModelRelated","_ref6","_iterator2","_step2","get","addModel","removeModel","delete","toggleModel","createElement","Provider"],"sources":["ImportContext.tsx"],"sourcesContent":["import React, { useCallback, useState } from \"react\";\nimport { useApolloClient } from \"~/admin/hooks\";\nimport {\n IMPORT_STRUCTURE,\n ImportStructureResponse,\n VALIDATE_IMPORT_STRUCTURE,\n ValidateImportStructureResponse\n} from \"~/admin/views/contentModels/importing/graphql\";\nimport { CmsGroup, CmsModel } from \"@webiny/app-headless-cms-common/types\";\nimport { ImportAction, ImportGroupData, ImportModelData } from \"./types\";\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport { FetchResult } from \"apollo-link\";\n\nconst parseFileData = (input: string) => {\n let data: Record<string, any> = {};\n try {\n data = JSON.parse(input);\n } catch (ex) {\n throw new Error(`Could not parse the uploaded file. Make sure it's a valid JSON file.`);\n }\n if (!data.groups?.length && !data.models?.length) {\n throw new Error(`No groups and models in the uploaded file.`);\n } else if (data.groups.length === 0) {\n throw new Error(`No groups in the uploaded file. There must be at least one group.`);\n }\n return {\n groups: data.groups,\n models: data.models\n };\n};\n\nconst parseFileContent = (content?: string | ArrayBuffer | null) => {\n if (!content) {\n throw new Error(`Missing data in uploaded file.`);\n } else if (content instanceof ArrayBuffer) {\n const data = Buffer.from(content).toString(\"utf8\");\n return parseFileData(data);\n }\n return parseFileData(content);\n};\n\ninterface Data {\n groups: CmsGroup[];\n models: CmsModel[];\n}\n\ntype Selected = Map<string, string[]>;\n\ninterface State {\n data: Data | null;\n loading: boolean;\n groups?: ImportGroupData[];\n models?: ImportModelData[];\n file: File | null;\n errors?: string[] | null;\n validated: boolean;\n selected: Selected;\n}\n\nexport interface OnFileCb {\n (file: File): void;\n}\n\nexport interface OnFileErrorCb {\n (error: string): void;\n}\n\nexport interface HandleModelsValidationCb {\n (): Promise<void>;\n}\n\nexport interface HandleModelsImportCb {\n (): Promise<void>;\n}\n\nexport interface IsModelSelectedCb {\n (item: Pick<ImportModelData, \"id\">): boolean;\n}\n\nexport interface IsModelRelatedCb {\n (item: Pick<ImportModelData, \"id\">): boolean;\n}\n\nexport interface AddModelCb {\n (item: Pick<ImportModelData, \"id\" | \"name\" | \"related\">): void;\n}\n\nexport interface RemoveModelCb {\n (item: Pick<ImportModelData, \"id\" | \"name\" | \"related\">): void;\n}\n\nexport interface ToggleModelCb {\n (item: Pick<ImportModelData, \"id\" | \"name\" | \"related\">): void;\n}\n\nexport interface ImportContextProperties {\n data: Data | null;\n loading: boolean;\n groups?: ImportGroupData[];\n models?: ImportModelData[];\n hasSelected: () => boolean;\n file: File | null;\n errors: string[];\n validated: boolean;\n onFile: OnFileCb;\n onFileError: OnFileErrorCb;\n handleModelsValidation: HandleModelsValidationCb;\n handleModelsImport: HandleModelsImportCb;\n toggleModel: ToggleModelCb;\n isModelSelected: IsModelSelectedCb;\n isModelRelated: IsModelRelatedCb;\n}\n\ninterface CreateSelectedParams {\n previous: Selected;\n models: Pick<ImportModelData, \"id\" | \"related\" | \"imported\">[];\n item: Pick<ImportModelData, \"id\" | \"related\">;\n}\n\nconst createSelected = (params: CreateSelectedParams): Selected => {\n const { previous, models, item } = params;\n let selected = new Map(previous);\n\n selected.set(item.id, item.related);\n for (const id of item.related) {\n const model = models.find(model => model.id === id);\n if (!model) {\n continue;\n } else if (selected.has(model.id) || model.imported) {\n continue;\n }\n const related = createSelected({\n previous: selected,\n models,\n item: model\n });\n selected = new Map([...selected, ...related]);\n }\n\n return selected;\n};\n\nconst getDataToImport = (state: State) => {\n const selected = Array.from(state.selected.keys());\n\n const groups: Map<string, CmsGroup> = new Map();\n const models: Map<string, CmsModel> = new Map();\n const noAction = [ImportAction.CODE, ImportAction.NONE];\n\n for (const id of selected) {\n const validatedModel = state.models?.find(model => model.id === id);\n if (\n !validatedModel?.action ||\n validatedModel.error ||\n noAction.includes(validatedModel.action)\n ) {\n continue;\n }\n\n const model = state.data?.models?.find(model => model.modelId === id);\n if (!model) {\n continue;\n }\n models.set(id, model);\n\n const validatedGroup = state.groups?.find(group => group.id === validatedModel.group);\n if (\n !validatedGroup?.action ||\n validatedGroup.error ||\n noAction.includes(validatedGroup.action)\n ) {\n continue;\n }\n const group = state.data?.groups?.find(group => group.id === validatedModel.group);\n if (!group) {\n continue;\n }\n groups.set(group.id, group);\n }\n\n return {\n groups: Array.from(groups.values()),\n models: Array.from(models.values())\n };\n};\n\nexport const ImportContext = React.createContext<ImportContextProperties | undefined>(undefined);\n\nexport interface ImportContextProviderProps {\n children: (props: ImportContextProperties) => React.ReactNode;\n}\n\nexport const ImportContextProvider: React.VFC<ImportContextProviderProps> = ({ children }) => {\n const client = useApolloClient();\n\n const { showSnackbar } = useSnackbar();\n\n const [state, setState] = useState<State>({\n data: null,\n file: null,\n loading: false,\n validated: false,\n selected: new Map()\n });\n\n const hasSelected = useCallback(() => {\n return Array.from(state.selected.keys()).length > 0;\n }, [state.selected]);\n\n const handleModelsValidation = useCallback(async () => {\n if (!state.data) {\n console.error(\"Cannot import models without any data.\");\n return;\n }\n setState(prev => {\n return {\n ...prev,\n loading: true\n };\n });\n\n let result: FetchResult<ValidateImportStructureResponse> | undefined;\n try {\n result = await client.mutate<ValidateImportStructureResponse>({\n mutation: VALIDATE_IMPORT_STRUCTURE,\n variables: {\n data: state.data\n }\n });\n } catch (ex) {\n setState(prev => {\n return {\n ...prev,\n loading: false,\n errors: [ex.message]\n };\n });\n return;\n }\n\n const { data, error } = result.data?.validateImportStructure || {};\n if (error) {\n setState(prev => {\n return {\n ...prev,\n loading: false,\n errors: [error.message]\n };\n });\n return;\n } else if (!data) {\n setState(prev => {\n return {\n ...prev,\n loading: false,\n errors: [\"No validation data received.\"]\n };\n });\n return;\n }\n setState(prev => {\n return {\n ...prev,\n loading: false,\n groups: data.groups.map(group => {\n return {\n id: group.group.id,\n name: group.group.name,\n error: group.error,\n action: group.action\n };\n }),\n models: data.models.map(model => {\n return {\n id: model.model.modelId,\n name: model.model.name,\n group: model.model.group,\n related: model.related || [],\n error: model.error,\n action: model.action\n };\n }),\n validated: true\n };\n });\n }, [state.data, setState]);\n\n const handleModelsImport = useCallback(async () => {\n if (!state.data) {\n console.error(\"Cannot import models without any data.\");\n return;\n } else if (!state.groups?.length) {\n console.error(\"Cannot import models without any groups.\");\n return;\n } else if (!state.models?.length) {\n console.error(\"Cannot import models because none are selected.\");\n return;\n } else if (Array.from(state.selected.keys()).length === 0) {\n console.error(\"Cannot import models because none are selected.\");\n return;\n }\n setState(prev => {\n return {\n ...prev,\n loading: true\n };\n });\n\n const dataToImport = getDataToImport(state);\n\n let result: FetchResult<ImportStructureResponse> | undefined;\n try {\n result = await client.mutate<ImportStructureResponse>({\n mutation: IMPORT_STRUCTURE,\n variables: {\n data: dataToImport\n },\n errorPolicy: \"all\"\n });\n } catch (ex) {\n setState(prev => {\n return {\n ...prev,\n loading: false,\n errors: [ex.message]\n };\n });\n return;\n }\n const { data, error } = result.data?.importStructure || {};\n if (error) {\n setState(prev => {\n return {\n ...prev,\n loading: false,\n errors: [error.message]\n };\n });\n return;\n } else if (!data) {\n setState(prev => {\n return {\n ...prev,\n loading: false,\n validated: false,\n errors: [\"No structure import data received.\"]\n };\n });\n return;\n }\n setState(prev => {\n return {\n ...prev,\n loading: false,\n selected: new Map(),\n groups: state.groups!.map(group => {\n const result = data.groups.find(item => item.group.id === group.id);\n return {\n id: result?.group.id || group.id,\n name: result?.group.name || group.name,\n error: result?.error || group.error,\n imported: result ? result.imported : group.imported\n };\n }),\n models: state.models!.map(model => {\n const result = data.models.find(item => item.model.modelId === model.id);\n return {\n id: result?.model.modelId || model.id,\n name: result?.model.name || model.name,\n group: result?.model.group || model.group,\n related: result?.related || model.related || [],\n action: result?.action || model.action,\n error: result?.error || model.error,\n imported: result ? result.imported : model.imported\n };\n }),\n validated: true\n };\n });\n }, [state.selected, state.data, setState]);\n\n const onFile = useCallback(\n (file: File) => {\n const reader = new FileReader();\n reader.addEventListener(\"load\", event => {\n try {\n const data = parseFileContent(event.target?.result);\n setState(prev => {\n return {\n ...prev,\n models: undefined,\n groups: undefined,\n selected: new Map(),\n errors: null,\n validated: false,\n file,\n data\n };\n });\n } catch (ex) {\n setState(prev => {\n return {\n ...prev,\n file,\n selected: new Map(),\n validated: false,\n groups: undefined,\n models: undefined,\n data: null,\n errors: [ex.message]\n };\n });\n }\n });\n reader.readAsText(file);\n },\n [state.data, setState]\n );\n\n const onFileError = useCallback(\n (error: string) => {\n setState(prev => {\n return {\n ...prev,\n file: null,\n errors: [error]\n };\n });\n },\n [state, setState]\n );\n\n const isModelSelected = useCallback<IsModelSelectedCb>(\n item => {\n return state.selected.has(item.id);\n },\n [state.selected]\n );\n\n const isModelRelated = useCallback<IsModelRelatedCb>(\n ({ id: target }) => {\n for (const id of state.selected.keys()) {\n if (id === target) {\n continue;\n }\n const related = state.selected.get(id);\n if (related?.includes(id)) {\n return true;\n }\n }\n return false;\n },\n [state.selected]\n );\n\n const addModel = useCallback<AddModelCb>(\n item => {\n if (isModelSelected(item)) {\n return;\n }\n setState(prev => {\n return {\n ...prev,\n selected: createSelected({\n previous: prev.selected,\n models: state.models || [],\n item\n })\n };\n });\n },\n [isModelSelected, state.models, state.selected]\n );\n const removeModel = useCallback<RemoveModelCb>(\n item => {\n if (isModelRelated(item)) {\n showSnackbar(\n `Model \"${item.name}\" is required due to another model having a relation to it.`\n );\n return;\n }\n setState(prev => {\n const selected = prev.selected;\n selected.delete(item.id);\n return {\n ...prev,\n selected\n };\n });\n },\n [state, setState]\n );\n\n const toggleModel = useCallback<ToggleModelCb>(\n item => {\n if (isModelSelected(item)) {\n removeModel(item);\n return;\n }\n addModel(item);\n },\n [isModelSelected, addModel, removeModel]\n );\n\n const value: ImportContextProperties = {\n data: state.data || null,\n loading: state.loading || false,\n groups: state.groups || [],\n models: state.models || [],\n errors: state.errors || [],\n validated: state.validated || false,\n hasSelected,\n isModelRelated,\n file: state.file,\n onFile,\n onFileError,\n handleModelsValidation,\n handleModelsImport,\n toggleModel,\n isModelSelected\n };\n\n return <ImportContext.Provider value={value}>{children(value)}</ImportContext.Provider>;\n};\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAOA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AAGA,IAAMK,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,KAAa,EAAK;EAAA,IAAAC,YAAA,EAAAC,YAAA;EACrC,IAAIC,IAAyB,GAAG,CAAC,CAAC;EAClC,IAAI;IACAA,IAAI,GAAGC,IAAI,CAACC,KAAK,CAACL,KAAK,CAAC;EAC5B,CAAC,CAAC,OAAOM,EAAE,EAAE;IACT,MAAM,IAAIC,KAAK,uEAAuE,CAAC;EAC3F;EACA,IAAI,GAAAN,YAAA,GAACE,IAAI,CAACK,MAAM,cAAAP,YAAA,eAAXA,YAAA,CAAaQ,MAAM,KAAI,GAAAP,YAAA,GAACC,IAAI,CAACO,MAAM,cAAAR,YAAA,eAAXA,YAAA,CAAaO,MAAM,GAAE;IAC9C,MAAM,IAAIF,KAAK,6CAA6C,CAAC;EACjE,CAAC,MAAM,IAAIJ,IAAI,CAACK,MAAM,CAACC,MAAM,KAAK,CAAC,EAAE;IACjC,MAAM,IAAIF,KAAK,oEAAoE,CAAC;EACxF;EACA,OAAO;IACHC,MAAM,EAAEL,IAAI,CAACK,MAAM;IACnBE,MAAM,EAAEP,IAAI,CAACO;EACjB,CAAC;AACL,CAAC;AAED,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,OAAqC,EAAK;EAChE,IAAI,CAACA,OAAO,EAAE;IACV,MAAM,IAAIL,KAAK,iCAAiC,CAAC;EACrD,CAAC,MAAM,IAAIK,OAAO,YAAYC,WAAW,EAAE;IACvC,IAAMV,IAAI,GAAGW,MAAM,CAACC,IAAI,CAACH,OAAO,CAAC,CAACI,QAAQ,CAAC,MAAM,CAAC;IAClD,OAAOjB,aAAa,CAACI,IAAI,CAAC;EAC9B;EACA,OAAOJ,aAAa,CAACa,OAAO,CAAC;AACjC,CAAC;AAgFD,IAAMK,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,MAA4B,EAAe;EAC/D,IAAQC,QAAQ,GAAmBD,MAAM,CAAjCC,QAAQ;IAAET,MAAM,GAAWQ,MAAM,CAAvBR,MAAM;IAAEU,IAAI,GAAKF,MAAM,CAAfE,IAAI;EAC9B,IAAIC,QAAQ,GAAG,IAAIC,GAAG,CAACH,QAAQ,CAAC;EAEhCE,QAAQ,CAACE,GAAG,CAACH,IAAI,CAACI,EAAE,EAAEJ,IAAI,CAACK,OAAO,CAAC;EAAC,IAAAC,SAAA,OAAAC,2BAAA,CAAAC,OAAA,EACnBR,IAAI,CAACK,OAAO;IAAAI,KAAA;EAAA;IAAA,IAAAC,KAAA,YAAAA,MAAA,EAAE;MAAA,IAApBN,EAAE,GAAAK,KAAA,CAAAE,KAAA;MACT,IAAMC,KAAK,GAAGtB,MAAM,CAACuB,IAAI,CAAC,UAAAD,KAAK;QAAA,OAAIA,KAAK,CAACR,EAAE,KAAKA,EAAE;MAAA,EAAC;MACnD,IAAI,CAACQ,KAAK,EAAE;QAAA;MAEZ,CAAC,MAAM,IAAIX,QAAQ,CAACa,GAAG,CAACF,KAAK,CAACR,EAAE,CAAC,IAAIQ,KAAK,CAACG,QAAQ,EAAE;QAAA;MAErD;MACA,IAAMV,OAAO,GAAGR,cAAc,CAAC;QAC3BE,QAAQ,EAAEE,QAAQ;QAClBX,MAAM,EAANA,MAAM;QACNU,IAAI,EAAEY;MACV,CAAC,CAAC;MACFX,QAAQ,GAAG,IAAIC,GAAG,IAAAc,MAAA,KAAAC,mBAAA,CAAAT,OAAA,EAAKP,QAAQ,OAAAgB,mBAAA,CAAAT,OAAA,EAAKH,OAAO,EAAC,CAAC;IACjD,CAAC;IAbD,KAAAC,SAAA,CAAAY,CAAA,MAAAT,KAAA,GAAAH,SAAA,CAAAa,CAAA,IAAAC,IAAA;MAAA,IAAAC,IAAA,GAAAX,KAAA;MAAA,IAAAW,IAAA,iBAGQ;IAAS;EAUhB,SAAAC,GAAA;IAAAhB,SAAA,CAAAiB,CAAA,CAAAD,GAAA;EAAA;IAAAhB,SAAA,CAAAkB,CAAA;EAAA;EAED,OAAOvB,QAAQ;AACnB,CAAC;AAED,IAAMwB,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,KAAY,EAAK;EACtC,IAAMzB,QAAQ,GAAG0B,KAAK,CAAChC,IAAI,CAAC+B,KAAK,CAACzB,QAAQ,CAAC2B,IAAI,CAAC,CAAC,CAAC;EAElD,IAAMxC,MAA6B,GAAG,IAAIc,GAAG,CAAC,CAAC;EAC/C,IAAMZ,MAA6B,GAAG,IAAIY,GAAG,CAAC,CAAC;EAC/C,IAAM2B,QAAQ,GAAG,CAACC,mBAAY,CAACC,IAAI,EAAED,mBAAY,CAACE,IAAI,CAAC;EAAC,IAAAC,MAAA,YAAAA,OAAA,EAE7B;IAAA,IAAAC,aAAA,EAAAC,WAAA,EAAAC,kBAAA,EAAAC,aAAA,EAAAC,YAAA,EAAAC,mBAAA;IAAtB,IAAMnC,EAAE,GAAAoC,SAAA,CAAAC,EAAA;IACT,IAAMC,cAAc,IAAAR,aAAA,GAAGR,KAAK,CAACpC,MAAM,cAAA4C,aAAA,uBAAZA,aAAA,CAAcrB,IAAI,CAAC,UAAAD,KAAK;MAAA,OAAIA,KAAK,CAACR,EAAE,KAAKA,EAAE;IAAA,EAAC;IACnE,IACI,EAACsC,cAAc,aAAdA,cAAc,eAAdA,cAAc,CAAEC,MAAM,KACvBD,cAAc,CAACE,KAAK,IACpBf,QAAQ,CAACgB,QAAQ,CAACH,cAAc,CAACC,MAAM,CAAC,EAC1C;MAAA;IAEF;IAEA,IAAM/B,KAAK,IAAAuB,WAAA,GAAGT,KAAK,CAAC3C,IAAI,cAAAoD,WAAA,wBAAAC,kBAAA,GAAVD,WAAA,CAAY7C,MAAM,cAAA8C,kBAAA,uBAAlBA,kBAAA,CAAoBvB,IAAI,CAAC,UAAAD,KAAK;MAAA,OAAIA,KAAK,CAACkC,OAAO,KAAK1C,EAAE;IAAA,EAAC;IACrE,IAAI,CAACQ,KAAK,EAAE;MAAA;IAEZ;IACAtB,MAAM,CAACa,GAAG,CAACC,EAAE,EAAEQ,KAAK,CAAC;IAErB,IAAMmC,cAAc,IAAAV,aAAA,GAAGX,KAAK,CAACtC,MAAM,cAAAiD,aAAA,uBAAZA,aAAA,CAAcxB,IAAI,CAAC,UAAAmC,KAAK;MAAA,OAAIA,KAAK,CAAC5C,EAAE,KAAKsC,cAAc,CAACM,KAAK;IAAA,EAAC;IACrF,IACI,EAACD,cAAc,aAAdA,cAAc,eAAdA,cAAc,CAAEJ,MAAM,KACvBI,cAAc,CAACH,KAAK,IACpBf,QAAQ,CAACgB,QAAQ,CAACE,cAAc,CAACJ,MAAM,CAAC,EAC1C;MAAA;IAEF;IACA,IAAMK,KAAK,IAAAV,YAAA,GAAGZ,KAAK,CAAC3C,IAAI,cAAAuD,YAAA,wBAAAC,mBAAA,GAAVD,YAAA,CAAYlD,MAAM,cAAAmD,mBAAA,uBAAlBA,mBAAA,CAAoB1B,IAAI,CAAC,UAAAmC,KAAK;MAAA,OAAIA,KAAK,CAAC5C,EAAE,KAAKsC,cAAc,CAACM,KAAK;IAAA,EAAC;IAClF,IAAI,CAACA,KAAK,EAAE;MAAA;IAEZ;IACA5D,MAAM,CAACe,GAAG,CAAC6C,KAAK,CAAC5C,EAAE,EAAE4C,KAAK,CAAC;EAC/B,CAAC;EA7BD,SAAAP,EAAA,MAAAD,SAAA,GAAiBvC,QAAQ,EAAAwC,EAAA,GAAAD,SAAA,CAAAnD,MAAA,EAAAoD,EAAA;IAAA,IAAAQ,KAAA,GAAAhB,MAAA;IAAA,IAAAgB,KAAA,iBAOjB;EAAS;EAwBjB,OAAO;IACH7D,MAAM,EAAEuC,KAAK,CAAChC,IAAI,CAACP,MAAM,CAAC8D,MAAM,CAAC,CAAC,CAAC;IACnC5D,MAAM,EAAEqC,KAAK,CAAChC,IAAI,CAACL,MAAM,CAAC4D,MAAM,CAAC,CAAC;EACtC,CAAC;AACL,CAAC;AAEM,IAAMC,aAAa,gBAAGC,cAAK,CAACC,aAAa,CAAsCC,SAAS,CAAC;AAACC,OAAA,CAAAJ,aAAA,GAAAA,aAAA;AAM1F,IAAMK,qBAA4D,GAAG,SAA/DA,qBAA4DA,CAAAC,IAAA,EAAqB;EAAA,IAAfC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;EACnF,IAAMC,MAAM,GAAG,IAAAC,sBAAe,EAAC,CAAC;EAEhC,IAAAC,YAAA,GAAyB,IAAAC,qBAAW,EAAC,CAAC;IAA9BC,YAAY,GAAAF,YAAA,CAAZE,YAAY;EAEpB,IAAAC,SAAA,GAA0B,IAAAC,eAAQ,EAAQ;MACtClF,IAAI,EAAE,IAAI;MACVmF,IAAI,EAAE,IAAI;MACVC,OAAO,EAAE,KAAK;MACdC,SAAS,EAAE,KAAK;MAChBnE,QAAQ,EAAE,IAAIC,GAAG,CAAC;IACtB,CAAC,CAAC;IAAAmE,UAAA,OAAAC,eAAA,CAAA9D,OAAA,EAAAwD,SAAA;IANKtC,KAAK,GAAA2C,UAAA;IAAEE,QAAQ,GAAAF,UAAA;EAQtB,IAAMG,WAAW,GAAG,IAAAC,kBAAW,EAAC,YAAM;IAClC,OAAO9C,KAAK,CAAChC,IAAI,CAAC+B,KAAK,CAACzB,QAAQ,CAAC2B,IAAI,CAAC,CAAC,CAAC,CAACvC,MAAM,GAAG,CAAC;EACvD,CAAC,EAAE,CAACqC,KAAK,CAACzB,QAAQ,CAAC,CAAC;EAEpB,IAAMyE,sBAAsB,GAAG,IAAAD,kBAAW,oBAAAE,kBAAA,CAAAnE,OAAA,oBAAAoE,oBAAA,CAAApE,OAAA,IAAAqE,IAAA,CAAC,SAAAC,QAAA;IAAA,IAAAC,YAAA;IAAA,IAAAC,MAAA,EAAAC,KAAA,EAAAlG,IAAA,EAAA6D,KAAA;IAAA,WAAAgC,oBAAA,CAAApE,OAAA,IAAA0E,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAAA,IAClC5D,KAAK,CAAC3C,IAAI;YAAAqG,QAAA,CAAAE,IAAA;YAAA;UAAA;UACXC,OAAO,CAAC3C,KAAK,CAAC,wCAAwC,CAAC;UAAC,OAAAwC,QAAA,CAAAI,MAAA;QAAA;UAG5DjB,QAAQ,CAAC,UAAAc,IAAI,EAAI;YACb,WAAAI,cAAA,CAAAjF,OAAA,MAAAiF,cAAA,CAAAjF,OAAA,MACO6E,IAAI;cACPlB,OAAO,EAAE;YAAI;UAErB,CAAC,CAAC;UAACiB,QAAA,CAAAC,IAAA;UAAAD,QAAA,CAAAE,IAAA;UAAA,OAIgB3B,MAAM,CAAC+B,MAAM,CAAkC;YAC1DC,QAAQ,EAAEC,kCAAyB;YACnCC,SAAS,EAAE;cACP9G,IAAI,EAAE2C,KAAK,CAAC3C;YAChB;UACJ,CAAC,CAAC;QAAA;UALFiG,MAAM,GAAAI,QAAA,CAAAU,IAAA;UAAAV,QAAA,CAAAE,IAAA;UAAA;QAAA;UAAAF,QAAA,CAAAC,IAAA;UAAAD,QAAA,CAAAW,EAAA,GAAAX,QAAA;UAONb,QAAQ,CAAC,UAAAc,IAAI,EAAI;YACb,WAAAI,cAAA,CAAAjF,OAAA,MAAAiF,cAAA,CAAAjF,OAAA,MACO6E,IAAI;cACPlB,OAAO,EAAE,KAAK;cACd6B,MAAM,EAAE,CAACZ,QAAA,CAAAW,EAAA,CAAGE,OAAO;YAAC;UAE5B,CAAC,CAAC;UAAC,OAAAb,QAAA,CAAAI,MAAA;QAAA;UAAAP,KAAA,GAIiB,EAAAF,YAAA,GAAAC,MAAM,CAACjG,IAAI,cAAAgG,YAAA,uBAAXA,YAAA,CAAamB,uBAAuB,KAAI,CAAC,CAAC,EAA1DnH,IAAI,GAAAkG,KAAA,CAAJlG,IAAI,EAAE6D,KAAK,GAAAqC,KAAA,CAALrC,KAAK;UAAA,KACfA,KAAK;YAAAwC,QAAA,CAAAE,IAAA;YAAA;UAAA;UACLf,QAAQ,CAAC,UAAAc,IAAI,EAAI;YACb,WAAAI,cAAA,CAAAjF,OAAA,MAAAiF,cAAA,CAAAjF,OAAA,MACO6E,IAAI;cACPlB,OAAO,EAAE,KAAK;cACd6B,MAAM,EAAE,CAACpD,KAAK,CAACqD,OAAO;YAAC;UAE/B,CAAC,CAAC;UAAC,OAAAb,QAAA,CAAAI,MAAA;QAAA;UAAA,IAEKzG,IAAI;YAAAqG,QAAA,CAAAE,IAAA;YAAA;UAAA;UACZf,QAAQ,CAAC,UAAAc,IAAI,EAAI;YACb,WAAAI,cAAA,CAAAjF,OAAA,MAAAiF,cAAA,CAAAjF,OAAA,MACO6E,IAAI;cACPlB,OAAO,EAAE,KAAK;cACd6B,MAAM,EAAE,CAAC,8BAA8B;YAAC;UAEhD,CAAC,CAAC;UAAC,OAAAZ,QAAA,CAAAI,MAAA;QAAA;UAGPjB,QAAQ,CAAC,UAAAc,IAAI,EAAI;YACb,WAAAI,cAAA,CAAAjF,OAAA,MAAAiF,cAAA,CAAAjF,OAAA,MACO6E,IAAI;cACPlB,OAAO,EAAE,KAAK;cACd/E,MAAM,EAAEL,IAAI,CAACK,MAAM,CAAC+G,GAAG,CAAC,UAAAnD,KAAK,EAAI;gBAC7B,OAAO;kBACH5C,EAAE,EAAE4C,KAAK,CAACA,KAAK,CAAC5C,EAAE;kBAClBgG,IAAI,EAAEpD,KAAK,CAACA,KAAK,CAACoD,IAAI;kBACtBxD,KAAK,EAAEI,KAAK,CAACJ,KAAK;kBAClBD,MAAM,EAAEK,KAAK,CAACL;gBAClB,CAAC;cACL,CAAC,CAAC;cACFrD,MAAM,EAAEP,IAAI,CAACO,MAAM,CAAC6G,GAAG,CAAC,UAAAvF,KAAK,EAAI;gBAC7B,OAAO;kBACHR,EAAE,EAAEQ,KAAK,CAACA,KAAK,CAACkC,OAAO;kBACvBsD,IAAI,EAAExF,KAAK,CAACA,KAAK,CAACwF,IAAI;kBACtBpD,KAAK,EAAEpC,KAAK,CAACA,KAAK,CAACoC,KAAK;kBACxB3C,OAAO,EAAEO,KAAK,CAACP,OAAO,IAAI,EAAE;kBAC5BuC,KAAK,EAAEhC,KAAK,CAACgC,KAAK;kBAClBD,MAAM,EAAE/B,KAAK,CAAC+B;gBAClB,CAAC;cACL,CAAC,CAAC;cACFyB,SAAS,EAAE;YAAI;UAEvB,CAAC,CAAC;QAAC;QAAA;UAAA,OAAAgB,QAAA,CAAAiB,IAAA;MAAA;IAAA,GAAAvB,OAAA;EAAA,CACN,IAAE,CAACpD,KAAK,CAAC3C,IAAI,EAAEwF,QAAQ,CAAC,CAAC;EAE1B,IAAM+B,kBAAkB,GAAG,IAAA7B,kBAAW,oBAAAE,kBAAA,CAAAnE,OAAA,oBAAAoE,oBAAA,CAAApE,OAAA,IAAAqE,IAAA,CAAC,SAAA0B,SAAA;IAAA,IAAAC,cAAA,EAAAC,cAAA,EAAAC,aAAA;IAAA,IAAAC,YAAA,EAAA3B,MAAA,EAAA4B,KAAA,EAAA7H,IAAA,EAAA6D,KAAA;IAAA,WAAAgC,oBAAA,CAAApE,OAAA,IAAA0E,IAAA,UAAA2B,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAAzB,IAAA,GAAAyB,SAAA,CAAAxB,IAAA;QAAA;UAAA,IAC9B5D,KAAK,CAAC3C,IAAI;YAAA+H,SAAA,CAAAxB,IAAA;YAAA;UAAA;UACXC,OAAO,CAAC3C,KAAK,CAAC,wCAAwC,CAAC;UAAC,OAAAkE,SAAA,CAAAtB,MAAA;QAAA;UAAA,KAAAgB,cAAA,GAEhD9E,KAAK,CAACtC,MAAM,cAAAoH,cAAA,eAAZA,cAAA,CAAcnH,MAAM;YAAAyH,SAAA,CAAAxB,IAAA;YAAA;UAAA;UAC5BC,OAAO,CAAC3C,KAAK,CAAC,0CAA0C,CAAC;UAAC,OAAAkE,SAAA,CAAAtB,MAAA;QAAA;UAAA,KAAAiB,cAAA,GAElD/E,KAAK,CAACpC,MAAM,cAAAmH,cAAA,eAAZA,cAAA,CAAcpH,MAAM;YAAAyH,SAAA,CAAAxB,IAAA;YAAA;UAAA;UAC5BC,OAAO,CAAC3C,KAAK,CAAC,iDAAiD,CAAC;UAAC,OAAAkE,SAAA,CAAAtB,MAAA;QAAA;UAAA,MAE1D7D,KAAK,CAAChC,IAAI,CAAC+B,KAAK,CAACzB,QAAQ,CAAC2B,IAAI,CAAC,CAAC,CAAC,CAACvC,MAAM,KAAK,CAAC;YAAAyH,SAAA,CAAAxB,IAAA;YAAA;UAAA;UACrDC,OAAO,CAAC3C,KAAK,CAAC,iDAAiD,CAAC;UAAC,OAAAkE,SAAA,CAAAtB,MAAA;QAAA;UAGrEjB,QAAQ,CAAC,UAAAc,IAAI,EAAI;YACb,WAAAI,cAAA,CAAAjF,OAAA,MAAAiF,cAAA,CAAAjF,OAAA,MACO6E,IAAI;cACPlB,OAAO,EAAE;YAAI;UAErB,CAAC,CAAC;UAEIwC,YAAY,GAAGlF,eAAe,CAACC,KAAK,CAAC;UAAAoF,SAAA,CAAAzB,IAAA;UAAAyB,SAAA,CAAAxB,IAAA;UAAA,OAIxB3B,MAAM,CAAC+B,MAAM,CAA0B;YAClDC,QAAQ,EAAEoB,yBAAgB;YAC1BlB,SAAS,EAAE;cACP9G,IAAI,EAAE4H;YACV,CAAC;YACDK,WAAW,EAAE;UACjB,CAAC,CAAC;QAAA;UANFhC,MAAM,GAAA8B,SAAA,CAAAhB,IAAA;UAAAgB,SAAA,CAAAxB,IAAA;UAAA;QAAA;UAAAwB,SAAA,CAAAzB,IAAA;UAAAyB,SAAA,CAAAf,EAAA,GAAAe,SAAA;UAQNvC,QAAQ,CAAC,UAAAc,IAAI,EAAI;YACb,WAAAI,cAAA,CAAAjF,OAAA,MAAAiF,cAAA,CAAAjF,OAAA,MACO6E,IAAI;cACPlB,OAAO,EAAE,KAAK;cACd6B,MAAM,EAAE,CAACc,SAAA,CAAAf,EAAA,CAAGE,OAAO;YAAC;UAE5B,CAAC,CAAC;UAAC,OAAAa,SAAA,CAAAtB,MAAA;QAAA;UAAAoB,KAAA,GAGiB,EAAAF,aAAA,GAAA1B,MAAM,CAACjG,IAAI,cAAA2H,aAAA,uBAAXA,aAAA,CAAaO,eAAe,KAAI,CAAC,CAAC,EAAlDlI,IAAI,GAAA6H,KAAA,CAAJ7H,IAAI,EAAE6D,KAAK,GAAAgE,KAAA,CAALhE,KAAK;UAAA,KACfA,KAAK;YAAAkE,SAAA,CAAAxB,IAAA;YAAA;UAAA;UACLf,QAAQ,CAAC,UAAAc,IAAI,EAAI;YACb,WAAAI,cAAA,CAAAjF,OAAA,MAAAiF,cAAA,CAAAjF,OAAA,MACO6E,IAAI;cACPlB,OAAO,EAAE,KAAK;cACd6B,MAAM,EAAE,CAACpD,KAAK,CAACqD,OAAO;YAAC;UAE/B,CAAC,CAAC;UAAC,OAAAa,SAAA,CAAAtB,MAAA;QAAA;UAAA,IAEKzG,IAAI;YAAA+H,SAAA,CAAAxB,IAAA;YAAA;UAAA;UACZf,QAAQ,CAAC,UAAAc,IAAI,EAAI;YACb,WAAAI,cAAA,CAAAjF,OAAA,MAAAiF,cAAA,CAAAjF,OAAA,MACO6E,IAAI;cACPlB,OAAO,EAAE,KAAK;cACdC,SAAS,EAAE,KAAK;cAChB4B,MAAM,EAAE,CAAC,oCAAoC;YAAC;UAEtD,CAAC,CAAC;UAAC,OAAAc,SAAA,CAAAtB,MAAA;QAAA;UAGPjB,QAAQ,CAAC,UAAAc,IAAI,EAAI;YACb,WAAAI,cAAA,CAAAjF,OAAA,MAAAiF,cAAA,CAAAjF,OAAA,MACO6E,IAAI;cACPlB,OAAO,EAAE,KAAK;cACdlE,QAAQ,EAAE,IAAIC,GAAG,CAAC,CAAC;cACnBd,MAAM,EAAEsC,KAAK,CAACtC,MAAM,CAAE+G,GAAG,CAAC,UAAAnD,KAAK,EAAI;gBAC/B,IAAMgC,MAAM,GAAGjG,IAAI,CAACK,MAAM,CAACyB,IAAI,CAAC,UAAAb,IAAI;kBAAA,OAAIA,IAAI,CAACgD,KAAK,CAAC5C,EAAE,KAAK4C,KAAK,CAAC5C,EAAE;gBAAA,EAAC;gBACnE,OAAO;kBACHA,EAAE,EAAE,CAAA4E,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEhC,KAAK,CAAC5C,EAAE,KAAI4C,KAAK,CAAC5C,EAAE;kBAChCgG,IAAI,EAAE,CAAApB,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEhC,KAAK,CAACoD,IAAI,KAAIpD,KAAK,CAACoD,IAAI;kBACtCxD,KAAK,EAAE,CAAAoC,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEpC,KAAK,KAAII,KAAK,CAACJ,KAAK;kBACnC7B,QAAQ,EAAEiE,MAAM,GAAGA,MAAM,CAACjE,QAAQ,GAAGiC,KAAK,CAACjC;gBAC/C,CAAC;cACL,CAAC,CAAC;cACFzB,MAAM,EAAEoC,KAAK,CAACpC,MAAM,CAAE6G,GAAG,CAAC,UAAAvF,KAAK,EAAI;gBAC/B,IAAMoE,MAAM,GAAGjG,IAAI,CAACO,MAAM,CAACuB,IAAI,CAAC,UAAAb,IAAI;kBAAA,OAAIA,IAAI,CAACY,KAAK,CAACkC,OAAO,KAAKlC,KAAK,CAACR,EAAE;gBAAA,EAAC;gBACxE,OAAO;kBACHA,EAAE,EAAE,CAAA4E,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEpE,KAAK,CAACkC,OAAO,KAAIlC,KAAK,CAACR,EAAE;kBACrCgG,IAAI,EAAE,CAAApB,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEpE,KAAK,CAACwF,IAAI,KAAIxF,KAAK,CAACwF,IAAI;kBACtCpD,KAAK,EAAE,CAAAgC,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEpE,KAAK,CAACoC,KAAK,KAAIpC,KAAK,CAACoC,KAAK;kBACzC3C,OAAO,EAAE,CAAA2E,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAE3E,OAAO,KAAIO,KAAK,CAACP,OAAO,IAAI,EAAE;kBAC/CsC,MAAM,EAAE,CAAAqC,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAErC,MAAM,KAAI/B,KAAK,CAAC+B,MAAM;kBACtCC,KAAK,EAAE,CAAAoC,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEpC,KAAK,KAAIhC,KAAK,CAACgC,KAAK;kBACnC7B,QAAQ,EAAEiE,MAAM,GAAGA,MAAM,CAACjE,QAAQ,GAAGH,KAAK,CAACG;gBAC/C,CAAC;cACL,CAAC,CAAC;cACFqD,SAAS,EAAE;YAAI;UAEvB,CAAC,CAAC;QAAC;QAAA;UAAA,OAAA0C,SAAA,CAAAT,IAAA;MAAA;IAAA,GAAAE,QAAA;EAAA,CACN,IAAE,CAAC7E,KAAK,CAACzB,QAAQ,EAAEyB,KAAK,CAAC3C,IAAI,EAAEwF,QAAQ,CAAC,CAAC;EAE1C,IAAM2C,MAAM,GAAG,IAAAzC,kBAAW,EACtB,UAACP,IAAU,EAAK;IACZ,IAAMiD,MAAM,GAAG,IAAIC,UAAU,CAAC,CAAC;IAC/BD,MAAM,CAACE,gBAAgB,CAAC,MAAM,EAAE,UAAAC,KAAK,EAAI;MACrC,IAAI;QAAA,IAAAC,aAAA;QACA,IAAMxI,IAAI,GAAGQ,gBAAgB,EAAAgI,aAAA,GAACD,KAAK,CAACE,MAAM,cAAAD,aAAA,uBAAZA,aAAA,CAAcvC,MAAM,CAAC;QACnDT,QAAQ,CAAC,UAAAc,IAAI,EAAI;UACb,WAAAI,cAAA,CAAAjF,OAAA,MAAAiF,cAAA,CAAAjF,OAAA,MACO6E,IAAI;YACP/F,MAAM,EAAEgE,SAAS;YACjBlE,MAAM,EAAEkE,SAAS;YACjBrD,QAAQ,EAAE,IAAIC,GAAG,CAAC,CAAC;YACnB8F,MAAM,EAAE,IAAI;YACZ5B,SAAS,EAAE,KAAK;YAChBF,IAAI,EAAJA,IAAI;YACJnF,IAAI,EAAJA;UAAI;QAEZ,CAAC,CAAC;MACN,CAAC,CAAC,OAAOG,EAAE,EAAE;QACTqF,QAAQ,CAAC,UAAAc,IAAI,EAAI;UACb,WAAAI,cAAA,CAAAjF,OAAA,MAAAiF,cAAA,CAAAjF,OAAA,MACO6E,IAAI;YACPnB,IAAI,EAAJA,IAAI;YACJjE,QAAQ,EAAE,IAAIC,GAAG,CAAC,CAAC;YACnBkE,SAAS,EAAE,KAAK;YAChBhF,MAAM,EAAEkE,SAAS;YACjBhE,MAAM,EAAEgE,SAAS;YACjBvE,IAAI,EAAE,IAAI;YACViH,MAAM,EAAE,CAAC9G,EAAE,CAAC+G,OAAO;UAAC;QAE5B,CAAC,CAAC;MACN;IACJ,CAAC,CAAC;IACFkB,MAAM,CAACM,UAAU,CAACvD,IAAI,CAAC;EAC3B,CAAC,EACD,CAACxC,KAAK,CAAC3C,IAAI,EAAEwF,QAAQ,CACzB,CAAC;EAED,IAAMmD,WAAW,GAAG,IAAAjD,kBAAW,EAC3B,UAAC7B,KAAa,EAAK;IACf2B,QAAQ,CAAC,UAAAc,IAAI,EAAI;MACb,WAAAI,cAAA,CAAAjF,OAAA,MAAAiF,cAAA,CAAAjF,OAAA,MACO6E,IAAI;QACPnB,IAAI,EAAE,IAAI;QACV8B,MAAM,EAAE,CAACpD,KAAK;MAAC;IAEvB,CAAC,CAAC;EACN,CAAC,EACD,CAAClB,KAAK,EAAE6C,QAAQ,CACpB,CAAC;EAED,IAAMoD,eAAe,GAAG,IAAAlD,kBAAW,EAC/B,UAAAzE,IAAI,EAAI;IACJ,OAAO0B,KAAK,CAACzB,QAAQ,CAACa,GAAG,CAACd,IAAI,CAACI,EAAE,CAAC;EACtC,CAAC,EACD,CAACsB,KAAK,CAACzB,QAAQ,CACnB,CAAC;EAED,IAAM2H,cAAc,GAAG,IAAAnD,kBAAW,EAC9B,UAAAoD,KAAA,EAAoB;IAAA,IAAbL,MAAM,GAAAK,KAAA,CAAVzH,EAAE;IAAA,IAAA0H,UAAA,OAAAvH,2BAAA,CAAAC,OAAA,EACgBkB,KAAK,CAACzB,QAAQ,CAAC2B,IAAI,CAAC,CAAC;MAAAmG,MAAA;IAAA;MAAtC,KAAAD,UAAA,CAAA5G,CAAA,MAAA6G,MAAA,GAAAD,UAAA,CAAA3G,CAAA,IAAAC,IAAA,GAAwC;QAAA,IAA7BhB,EAAE,GAAA2H,MAAA,CAAApH,KAAA;QACT,IAAIP,EAAE,KAAKoH,MAAM,EAAE;UACf;QACJ;QACA,IAAMnH,OAAO,GAAGqB,KAAK,CAACzB,QAAQ,CAAC+H,GAAG,CAAC5H,EAAE,CAAC;QACtC,IAAIC,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEwC,QAAQ,CAACzC,EAAE,CAAC,EAAE;UACvB,OAAO,IAAI;QACf;MACJ;IAAC,SAAAkB,GAAA;MAAAwG,UAAA,CAAAvG,CAAA,CAAAD,GAAA;IAAA;MAAAwG,UAAA,CAAAtG,CAAA;IAAA;IACD,OAAO,KAAK;EAChB,CAAC,EACD,CAACE,KAAK,CAACzB,QAAQ,CACnB,CAAC;EAED,IAAMgI,QAAQ,GAAG,IAAAxD,kBAAW,EACxB,UAAAzE,IAAI,EAAI;IACJ,IAAI2H,eAAe,CAAC3H,IAAI,CAAC,EAAE;MACvB;IACJ;IACAuE,QAAQ,CAAC,UAAAc,IAAI,EAAI;MACb,WAAAI,cAAA,CAAAjF,OAAA,MAAAiF,cAAA,CAAAjF,OAAA,MACO6E,IAAI;QACPpF,QAAQ,EAAEJ,cAAc,CAAC;UACrBE,QAAQ,EAAEsF,IAAI,CAACpF,QAAQ;UACvBX,MAAM,EAAEoC,KAAK,CAACpC,MAAM,IAAI,EAAE;UAC1BU,IAAI,EAAJA;QACJ,CAAC;MAAC;IAEV,CAAC,CAAC;EACN,CAAC,EACD,CAAC2H,eAAe,EAAEjG,KAAK,CAACpC,MAAM,EAAEoC,KAAK,CAACzB,QAAQ,CAClD,CAAC;EACD,IAAMiI,WAAW,GAAG,IAAAzD,kBAAW,EAC3B,UAAAzE,IAAI,EAAI;IACJ,IAAI4H,cAAc,CAAC5H,IAAI,CAAC,EAAE;MACtB+D,YAAY,YAAA/C,MAAA,CACEhB,IAAI,CAACoG,IAAI,iEACvB,CAAC;MACD;IACJ;IACA7B,QAAQ,CAAC,UAAAc,IAAI,EAAI;MACb,IAAMpF,QAAQ,GAAGoF,IAAI,CAACpF,QAAQ;MAC9BA,QAAQ,CAACkI,MAAM,CAACnI,IAAI,CAACI,EAAE,CAAC;MACxB,WAAAqF,cAAA,CAAAjF,OAAA,MAAAiF,cAAA,CAAAjF,OAAA,MACO6E,IAAI;QACPpF,QAAQ,EAARA;MAAQ;IAEhB,CAAC,CAAC;EACN,CAAC,EACD,CAACyB,KAAK,EAAE6C,QAAQ,CACpB,CAAC;EAED,IAAM6D,WAAW,GAAG,IAAA3D,kBAAW,EAC3B,UAAAzE,IAAI,EAAI;IACJ,IAAI2H,eAAe,CAAC3H,IAAI,CAAC,EAAE;MACvBkI,WAAW,CAAClI,IAAI,CAAC;MACjB;IACJ;IACAiI,QAAQ,CAACjI,IAAI,CAAC;EAClB,CAAC,EACD,CAAC2H,eAAe,EAAEM,QAAQ,EAAEC,WAAW,CAC3C,CAAC;EAED,IAAMvH,KAA8B,GAAG;IACnC5B,IAAI,EAAE2C,KAAK,CAAC3C,IAAI,IAAI,IAAI;IACxBoF,OAAO,EAAEzC,KAAK,CAACyC,OAAO,IAAI,KAAK;IAC/B/E,MAAM,EAAEsC,KAAK,CAACtC,MAAM,IAAI,EAAE;IAC1BE,MAAM,EAAEoC,KAAK,CAACpC,MAAM,IAAI,EAAE;IAC1B0G,MAAM,EAAEtE,KAAK,CAACsE,MAAM,IAAI,EAAE;IAC1B5B,SAAS,EAAE1C,KAAK,CAAC0C,SAAS,IAAI,KAAK;IACnCI,WAAW,EAAXA,WAAW;IACXoD,cAAc,EAAdA,cAAc;IACd1D,IAAI,EAAExC,KAAK,CAACwC,IAAI;IAChBgD,MAAM,EAANA,MAAM;IACNQ,WAAW,EAAXA,WAAW;IACXhD,sBAAsB,EAAtBA,sBAAsB;IACtB4B,kBAAkB,EAAlBA,kBAAkB;IAClB8B,WAAW,EAAXA,WAAW;IACXT,eAAe,EAAfA;EACJ,CAAC;EAED,oBAAOvJ,MAAA,CAAAoC,OAAA,CAAA6H,aAAA,CAAClF,aAAa,CAACmF,QAAQ;IAAC3H,KAAK,EAAEA;EAAM,GAAE+C,QAAQ,CAAC/C,KAAK,CAA0B,CAAC;AAC3F,CAAC;AAAC4C,OAAA,CAAAC,qBAAA,GAAAA,qBAAA"}
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const DataList: React.VFC;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.DataList = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _DataListGroup = require("./DataListGroup");
10
+ var _useImport2 = require("../useImport");
11
+ var getGroupModels = function getGroupModels(group, models) {
12
+ if (!models) {
13
+ return [];
14
+ }
15
+ return models.filter(function (model) {
16
+ return model.group === group.id;
17
+ });
18
+ };
19
+ var DataList = function DataList() {
20
+ var _useImport = (0, _useImport2.useImport)(),
21
+ groups = _useImport.groups,
22
+ models = _useImport.models;
23
+ if (!groups) {
24
+ return null;
25
+ }
26
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, groups.map(function (group, index) {
27
+ return /*#__PURE__*/_react.default.createElement(_DataListGroup.DataListGroup, {
28
+ key: "group-".concat(index),
29
+ group: group,
30
+ models: getGroupModels(group, models)
31
+ });
32
+ }));
33
+ };
34
+ exports.DataList = DataList;
35
+
36
+ //# sourceMappingURL=DataList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_DataListGroup","_useImport2","getGroupModels","group","models","filter","model","id","DataList","_useImport","useImport","groups","default","createElement","Fragment","map","index","DataListGroup","key","concat","exports"],"sources":["DataList.tsx"],"sourcesContent":["import React from \"react\";\nimport { DataListGroup } from \"./DataListGroup\";\nimport { ImportGroupData, ImportModelData } from \"../types\";\nimport { useImport } from \"~/admin/views/contentModels/importing/useImport\";\n\nconst getGroupModels = (group: ImportGroupData, models?: ImportModelData[] | null) => {\n if (!models) {\n return [];\n }\n return models.filter(model => model.group === group.id);\n};\n\nexport const DataList: React.VFC = () => {\n const { groups, models } = useImport();\n if (!groups) {\n return null;\n }\n return (\n <>\n {groups.map((group, index) => {\n return (\n <DataListGroup\n key={`group-${index}`}\n group={group}\n models={getGroupModels(group, models)}\n />\n );\n })}\n </>\n );\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AAEA,IAAAE,WAAA,GAAAF,OAAA;AAEA,IAAMG,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,KAAsB,EAAEC,MAAiC,EAAK;EAClF,IAAI,CAACA,MAAM,EAAE;IACT,OAAO,EAAE;EACb;EACA,OAAOA,MAAM,CAACC,MAAM,CAAC,UAAAC,KAAK;IAAA,OAAIA,KAAK,CAACH,KAAK,KAAKA,KAAK,CAACI,EAAE;EAAA,EAAC;AAC3D,CAAC;AAEM,IAAMC,QAAmB,GAAG,SAAtBA,QAAmBA,CAAA,EAAS;EACrC,IAAAC,UAAA,GAA2B,IAAAC,qBAAS,EAAC,CAAC;IAA9BC,MAAM,GAAAF,UAAA,CAANE,MAAM;IAAEP,MAAM,GAAAK,UAAA,CAANL,MAAM;EACtB,IAAI,CAACO,MAAM,EAAE;IACT,OAAO,IAAI;EACf;EACA,oBACId,MAAA,CAAAe,OAAA,CAAAC,aAAA,CAAAhB,MAAA,CAAAe,OAAA,CAAAE,QAAA,QACKH,MAAM,CAACI,GAAG,CAAC,UAACZ,KAAK,EAAEa,KAAK,EAAK;IAC1B,oBACInB,MAAA,CAAAe,OAAA,CAAAC,aAAA,CAACb,cAAA,CAAAiB,aAAa;MACVC,GAAG,WAAAC,MAAA,CAAWH,KAAK,CAAG;MACtBb,KAAK,EAAEA,KAAM;MACbC,MAAM,EAAEF,cAAc,CAACC,KAAK,EAAEC,MAAM;IAAE,CACzC,CAAC;EAEV,CAAC,CACH,CAAC;AAEX,CAAC;AAACgB,OAAA,CAAAZ,QAAA,GAAAA,QAAA"}
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ import { ImportGroupData, ImportModelData } from "../types";
3
+ interface DataListGroupProps {
4
+ group: Pick<ImportGroupData, "id" | "name">;
5
+ models: ImportModelData[];
6
+ }
7
+ export declare const DataListGroup: React.VFC<DataListGroupProps>;
8
+ export {};