@webiny/app-aco 5.42.0 → 5.42.1-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 (310) hide show
  1. package/components/AdvancedSearch/domain/Filter.d.ts +8 -8
  2. package/components/FolderTree/List/index.js +8 -9
  3. package/components/FolderTree/List/index.js.map +1 -1
  4. package/components/FolderTree/List/utils.d.ts +3 -3
  5. package/components/FolderTree/List/utils.js +3 -3
  6. package/components/FolderTree/List/utils.js.map +1 -1
  7. package/components/FolderTree/index.js +8 -6
  8. package/components/FolderTree/index.js.map +1 -1
  9. package/contexts/acoList.js +10 -8
  10. package/contexts/acoList.js.map +1 -1
  11. package/contexts/folders.d.ts +1 -17
  12. package/contexts/folders.js +2 -127
  13. package/contexts/folders.js.map +1 -1
  14. package/dialogs/useCreateDialog.js +3 -3
  15. package/dialogs/useCreateDialog.js.map +1 -1
  16. package/dialogs/useDeleteDialog.js +5 -9
  17. package/dialogs/useDeleteDialog.js.map +1 -1
  18. package/dialogs/useEditDialog.js +5 -9
  19. package/dialogs/useEditDialog.js.map +1 -1
  20. package/dialogs/useSetPermissionsDialog.js +4 -6
  21. package/dialogs/useSetPermissionsDialog.js.map +1 -1
  22. package/features/folders/Folder.d.ts +39 -0
  23. package/features/folders/Folder.js +38 -0
  24. package/features/folders/Folder.js.map +1 -0
  25. package/features/folders/cache/FoldersCacheFactory.d.ts +8 -0
  26. package/features/folders/cache/FoldersCacheFactory.js +35 -0
  27. package/features/folders/cache/FoldersCacheFactory.js.map +1 -0
  28. package/features/folders/cache/ListCache.d.ts +29 -0
  29. package/features/folders/cache/ListCache.js +82 -0
  30. package/features/folders/cache/ListCache.js.map +1 -0
  31. package/features/folders/cache/index.d.ts +2 -0
  32. package/features/folders/cache/index.js +29 -0
  33. package/features/folders/cache/index.js.map +1 -0
  34. package/features/folders/createFolder/CreateFolder.d.ts +5 -0
  35. package/features/folders/createFolder/CreateFolder.js +31 -0
  36. package/features/folders/createFolder/CreateFolder.js.map +1 -0
  37. package/features/folders/createFolder/CreateFolder.test.d.ts +1 -0
  38. package/features/folders/createFolder/CreateFolder.test.js +42 -0
  39. package/features/folders/createFolder/CreateFolder.test.js.map +1 -0
  40. package/features/folders/createFolder/CreateFolderGqlGateway.d.ts +21 -0
  41. package/features/folders/createFolder/CreateFolderGqlGateway.js +44 -0
  42. package/features/folders/createFolder/CreateFolderGqlGateway.js.map +1 -0
  43. package/features/folders/createFolder/CreateFolderRepository.d.ts +11 -0
  44. package/features/folders/createFolder/CreateFolderRepository.js +34 -0
  45. package/features/folders/createFolder/CreateFolderRepository.js.map +1 -0
  46. package/features/folders/createFolder/CreateFolderUseCase.d.ts +7 -0
  47. package/features/folders/createFolder/CreateFolderUseCase.js +30 -0
  48. package/features/folders/createFolder/CreateFolderUseCase.js.map +1 -0
  49. package/features/folders/createFolder/CreateFolderUseCaseWithLoading.d.ts +8 -0
  50. package/features/folders/createFolder/CreateFolderUseCaseWithLoading.js +25 -0
  51. package/features/folders/createFolder/CreateFolderUseCaseWithLoading.js.map +1 -0
  52. package/features/folders/createFolder/FolderDto.d.ts +8 -0
  53. package/features/folders/createFolder/FolderDto.js +7 -0
  54. package/features/folders/createFolder/FolderDto.js.map +1 -0
  55. package/features/folders/createFolder/FolderGqlDto.d.ts +19 -0
  56. package/features/folders/createFolder/FolderGqlDto.js +7 -0
  57. package/features/folders/createFolder/FolderGqlDto.js.map +1 -0
  58. package/features/folders/createFolder/ICreateFolderGateway.d.ts +5 -0
  59. package/features/folders/createFolder/ICreateFolderGateway.js +7 -0
  60. package/features/folders/createFolder/ICreateFolderGateway.js.map +1 -0
  61. package/features/folders/createFolder/ICreateFolderRepository.d.ts +4 -0
  62. package/features/folders/createFolder/ICreateFolderRepository.js +7 -0
  63. package/features/folders/createFolder/ICreateFolderRepository.js.map +1 -0
  64. package/features/folders/createFolder/ICreateFolderUseCase.d.ts +11 -0
  65. package/features/folders/createFolder/ICreateFolderUseCase.js +7 -0
  66. package/features/folders/createFolder/ICreateFolderUseCase.js.map +1 -0
  67. package/features/folders/createFolder/index.d.ts +1 -0
  68. package/features/folders/createFolder/index.js +18 -0
  69. package/features/folders/createFolder/index.js.map +1 -0
  70. package/features/folders/createFolder/useCreateFolder.d.ts +4 -0
  71. package/features/folders/createFolder/useCreateFolder.js +25 -0
  72. package/features/folders/createFolder/useCreateFolder.js.map +1 -0
  73. package/features/folders/deleteFolder/DeleteFolder.d.ts +5 -0
  74. package/features/folders/deleteFolder/DeleteFolder.js +31 -0
  75. package/features/folders/deleteFolder/DeleteFolder.js.map +1 -0
  76. package/features/folders/deleteFolder/DeleteFolder.test.d.ts +1 -0
  77. package/features/folders/deleteFolder/DeleteFolder.test.js +43 -0
  78. package/features/folders/deleteFolder/DeleteFolder.test.js.map +1 -0
  79. package/features/folders/deleteFolder/DeleteFolderGqlGateway.d.ts +20 -0
  80. package/features/folders/deleteFolder/DeleteFolderGqlGateway.js +43 -0
  81. package/features/folders/deleteFolder/DeleteFolderGqlGateway.js.map +1 -0
  82. package/features/folders/deleteFolder/DeleteFolderRepository.d.ts +10 -0
  83. package/features/folders/deleteFolder/DeleteFolderRepository.js +27 -0
  84. package/features/folders/deleteFolder/DeleteFolderRepository.js.map +1 -0
  85. package/features/folders/deleteFolder/DeleteFolderUseCase.d.ts +7 -0
  86. package/features/folders/deleteFolder/DeleteFolderUseCase.js +31 -0
  87. package/features/folders/deleteFolder/DeleteFolderUseCase.js.map +1 -0
  88. package/features/folders/deleteFolder/DeleteFolderUseCaseWithLoading.d.ts +8 -0
  89. package/features/folders/deleteFolder/DeleteFolderUseCaseWithLoading.js +25 -0
  90. package/features/folders/deleteFolder/DeleteFolderUseCaseWithLoading.js.map +1 -0
  91. package/features/folders/deleteFolder/IDeleteFolderGateway.d.ts +3 -0
  92. package/features/folders/deleteFolder/IDeleteFolderGateway.js +7 -0
  93. package/features/folders/deleteFolder/IDeleteFolderGateway.js.map +1 -0
  94. package/features/folders/deleteFolder/IDeleteFolderRepository.d.ts +4 -0
  95. package/features/folders/deleteFolder/IDeleteFolderRepository.js +7 -0
  96. package/features/folders/deleteFolder/IDeleteFolderRepository.js.map +1 -0
  97. package/features/folders/deleteFolder/IDeleteFolderUseCase.d.ts +12 -0
  98. package/features/folders/deleteFolder/IDeleteFolderUseCase.js +7 -0
  99. package/features/folders/deleteFolder/IDeleteFolderUseCase.js.map +1 -0
  100. package/features/folders/deleteFolder/index.d.ts +1 -0
  101. package/features/folders/deleteFolder/index.js +18 -0
  102. package/features/folders/deleteFolder/index.js.map +1 -0
  103. package/features/folders/deleteFolder/useDeleteFolder.d.ts +4 -0
  104. package/features/folders/deleteFolder/useDeleteFolder.js +25 -0
  105. package/features/folders/deleteFolder/useDeleteFolder.js.map +1 -0
  106. package/features/folders/getDescendantFolders/FolderDto.d.ts +9 -0
  107. package/features/folders/getDescendantFolders/FolderDto.js +7 -0
  108. package/features/folders/getDescendantFolders/FolderDto.js.map +1 -0
  109. package/features/folders/getDescendantFolders/GetDescendantFolders.d.ts +4 -0
  110. package/features/folders/getDescendantFolders/GetDescendantFolders.js +27 -0
  111. package/features/folders/getDescendantFolders/GetDescendantFolders.js.map +1 -0
  112. package/features/folders/getDescendantFolders/GetDescendantFolders.test.d.ts +1 -0
  113. package/features/folders/getDescendantFolders/GetDescendantFolders.test.js +106 -0
  114. package/features/folders/getDescendantFolders/GetDescendantFolders.test.js.map +1 -0
  115. package/features/folders/getDescendantFolders/GetDescendantFoldersRepository.d.ts +8 -0
  116. package/features/folders/getDescendantFolders/GetDescendantFoldersRepository.js +45 -0
  117. package/features/folders/getDescendantFolders/GetDescendantFoldersRepository.js.map +1 -0
  118. package/features/folders/getDescendantFolders/GetDescendantFoldersUseCase.d.ts +14 -0
  119. package/features/folders/getDescendantFolders/GetDescendantFoldersUseCase.js +33 -0
  120. package/features/folders/getDescendantFolders/GetDescendantFoldersUseCase.js.map +1 -0
  121. package/features/folders/getDescendantFolders/IGetDescendantFoldersRepository.d.ts +4 -0
  122. package/features/folders/getDescendantFolders/IGetDescendantFoldersRepository.js +7 -0
  123. package/features/folders/getDescendantFolders/IGetDescendantFoldersRepository.js.map +1 -0
  124. package/features/folders/getDescendantFolders/IGetDescendantFoldersUseCase.d.ts +7 -0
  125. package/features/folders/getDescendantFolders/IGetDescendantFoldersUseCase.js +7 -0
  126. package/features/folders/getDescendantFolders/IGetDescendantFoldersUseCase.js.map +1 -0
  127. package/features/folders/getDescendantFolders/index.d.ts +1 -0
  128. package/features/folders/getDescendantFolders/index.js +18 -0
  129. package/features/folders/getDescendantFolders/index.js.map +1 -0
  130. package/features/folders/getDescendantFolders/useGetDescendantFolders.d.ts +3 -0
  131. package/features/folders/getDescendantFolders/useGetDescendantFolders.js +23 -0
  132. package/features/folders/getDescendantFolders/useGetDescendantFolders.js.map +1 -0
  133. package/features/folders/getFolder/GetFolder.d.ts +5 -0
  134. package/features/folders/getFolder/GetFolder.js +31 -0
  135. package/features/folders/getFolder/GetFolder.js.map +1 -0
  136. package/features/folders/getFolder/GetFolderGqlGateway.d.ts +20 -0
  137. package/features/folders/getFolder/GetFolderGqlGateway.js +47 -0
  138. package/features/folders/getFolder/GetFolderGqlGateway.js.map +1 -0
  139. package/features/folders/getFolder/GetFolderRepository.d.ts +10 -0
  140. package/features/folders/getFolder/GetFolderRepository.js +26 -0
  141. package/features/folders/getFolder/GetFolderRepository.js.map +1 -0
  142. package/features/folders/getFolder/GetFolderUseCase.d.ts +7 -0
  143. package/features/folders/getFolder/GetFolderUseCase.js +23 -0
  144. package/features/folders/getFolder/GetFolderUseCase.js.map +1 -0
  145. package/features/folders/getFolder/GetFolderUseCaseWithLoading.d.ts +8 -0
  146. package/features/folders/getFolder/GetFolderUseCaseWithLoading.js +25 -0
  147. package/features/folders/getFolder/GetFolderUseCaseWithLoading.js.map +1 -0
  148. package/features/folders/getFolder/IGetFolderGateway.d.ts +22 -0
  149. package/features/folders/getFolder/IGetFolderGateway.js +7 -0
  150. package/features/folders/getFolder/IGetFolderGateway.js.map +1 -0
  151. package/features/folders/getFolder/IGetFolderRepository.d.ts +3 -0
  152. package/features/folders/getFolder/IGetFolderRepository.js +7 -0
  153. package/features/folders/getFolder/IGetFolderRepository.js.map +1 -0
  154. package/features/folders/getFolder/IGetFolderUseCase.d.ts +6 -0
  155. package/features/folders/getFolder/IGetFolderUseCase.js +7 -0
  156. package/features/folders/getFolder/IGetFolderUseCase.js.map +1 -0
  157. package/features/folders/getFolder/index.d.ts +1 -0
  158. package/features/folders/getFolder/index.js +18 -0
  159. package/features/folders/getFolder/index.js.map +1 -0
  160. package/features/folders/getFolder/useGetFolder.d.ts +4 -0
  161. package/features/folders/getFolder/useGetFolder.js +25 -0
  162. package/features/folders/getFolder/useGetFolder.js.map +1 -0
  163. package/features/folders/getFolderLevelPermission/FolderPermissionName.d.ts +1 -0
  164. package/features/folders/getFolderLevelPermission/FolderPermissionName.js +7 -0
  165. package/features/folders/getFolderLevelPermission/FolderPermissionName.js.map +1 -0
  166. package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.d.ts +5 -0
  167. package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.js +31 -0
  168. package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.js.map +1 -0
  169. package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.test.d.ts +1 -0
  170. package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.test.js +158 -0
  171. package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.test.js.map +1 -0
  172. package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionRepository.d.ts +10 -0
  173. package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionRepository.js +30 -0
  174. package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionRepository.js.map +1 -0
  175. package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionUseCase.d.ts +4 -0
  176. package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionUseCase.js +22 -0
  177. package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionUseCase.js.map +1 -0
  178. package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionWithFlpUseCase.d.ts +7 -0
  179. package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionWithFlpUseCase.js +23 -0
  180. package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionWithFlpUseCase.js.map +1 -0
  181. package/features/folders/getFolderLevelPermission/IGetFolderLevelPermissionRepository.d.ts +3 -0
  182. package/features/folders/getFolderLevelPermission/IGetFolderLevelPermissionRepository.js +7 -0
  183. package/features/folders/getFolderLevelPermission/IGetFolderLevelPermissionRepository.js.map +1 -0
  184. package/features/folders/getFolderLevelPermission/IGetFolderLevelPermissionUseCase.d.ts +6 -0
  185. package/features/folders/getFolderLevelPermission/IGetFolderLevelPermissionUseCase.js +7 -0
  186. package/features/folders/getFolderLevelPermission/IGetFolderLevelPermissionUseCase.js.map +1 -0
  187. package/features/folders/getFolderLevelPermission/index.d.ts +1 -0
  188. package/features/folders/getFolderLevelPermission/index.js +18 -0
  189. package/features/folders/getFolderLevelPermission/index.js.map +1 -0
  190. package/features/folders/getFolderLevelPermission/useGetFolderLevelPermission.d.ts +4 -0
  191. package/features/folders/getFolderLevelPermission/useGetFolderLevelPermission.js +25 -0
  192. package/features/folders/getFolderLevelPermission/useGetFolderLevelPermission.js.map +1 -0
  193. package/features/folders/index.d.ts +9 -0
  194. package/features/folders/index.js +106 -0
  195. package/features/folders/index.js.map +1 -0
  196. package/features/folders/listFolders/FolderDto.d.ts +24 -0
  197. package/features/folders/listFolders/FolderDto.js +49 -0
  198. package/features/folders/listFolders/FolderDto.js.map +1 -0
  199. package/features/folders/listFolders/FolderGqlDto.d.ts +19 -0
  200. package/features/folders/listFolders/FolderGqlDto.js +7 -0
  201. package/features/folders/listFolders/FolderGqlDto.js.map +1 -0
  202. package/features/folders/listFolders/IListFoldersGateway.d.ts +7 -0
  203. package/features/folders/listFolders/IListFoldersGateway.js +7 -0
  204. package/features/folders/listFolders/IListFoldersGateway.js.map +1 -0
  205. package/features/folders/listFolders/IListFoldersRepository.d.ts +3 -0
  206. package/features/folders/listFolders/IListFoldersRepository.js +7 -0
  207. package/features/folders/listFolders/IListFoldersRepository.js.map +1 -0
  208. package/features/folders/listFolders/IListFoldersUseCase.d.ts +3 -0
  209. package/features/folders/listFolders/IListFoldersUseCase.js +7 -0
  210. package/features/folders/listFolders/IListFoldersUseCase.js.map +1 -0
  211. package/features/folders/listFolders/ListFolders.d.ts +14 -0
  212. package/features/folders/listFolders/ListFolders.js +36 -0
  213. package/features/folders/listFolders/ListFolders.js.map +1 -0
  214. package/features/folders/listFolders/ListFolders.test.d.ts +1 -0
  215. package/features/folders/listFolders/ListFolders.test.js +90 -0
  216. package/features/folders/listFolders/ListFolders.test.js.map +1 -0
  217. package/features/folders/listFolders/ListFoldersGqlGateway.d.ts +24 -0
  218. package/features/folders/listFolders/ListFoldersGqlGateway.js +77 -0
  219. package/features/folders/listFolders/ListFoldersGqlGateway.js.map +1 -0
  220. package/features/folders/listFolders/ListFoldersRepository.d.ts +11 -0
  221. package/features/folders/listFolders/ListFoldersRepository.js +32 -0
  222. package/features/folders/listFolders/ListFoldersRepository.js.map +1 -0
  223. package/features/folders/listFolders/ListFoldersUseCase.d.ts +7 -0
  224. package/features/folders/listFolders/ListFoldersUseCase.js +23 -0
  225. package/features/folders/listFolders/ListFoldersUseCase.js.map +1 -0
  226. package/features/folders/listFolders/ListFoldersUseCaseWithLoading.d.ts +8 -0
  227. package/features/folders/listFolders/ListFoldersUseCaseWithLoading.js +25 -0
  228. package/features/folders/listFolders/ListFoldersUseCaseWithLoading.js.map +1 -0
  229. package/features/folders/listFolders/index.d.ts +2 -0
  230. package/features/folders/listFolders/index.js +29 -0
  231. package/features/folders/listFolders/index.js.map +1 -0
  232. package/features/folders/listFolders/useListFolders.d.ts +6 -0
  233. package/features/folders/listFolders/useListFolders.js +72 -0
  234. package/features/folders/listFolders/useListFolders.js.map +1 -0
  235. package/features/folders/updateFolder/FolderDto.d.ts +8 -0
  236. package/features/folders/updateFolder/FolderDto.js +7 -0
  237. package/features/folders/updateFolder/FolderDto.js.map +1 -0
  238. package/features/folders/updateFolder/FolderGqlDto.d.ts +19 -0
  239. package/features/folders/updateFolder/FolderGqlDto.js +7 -0
  240. package/features/folders/updateFolder/FolderGqlDto.js.map +1 -0
  241. package/features/folders/updateFolder/IUpdateFolderGateway.d.ts +5 -0
  242. package/features/folders/updateFolder/IUpdateFolderGateway.js +7 -0
  243. package/features/folders/updateFolder/IUpdateFolderGateway.js.map +1 -0
  244. package/features/folders/updateFolder/IUpdateFolderRepository.d.ts +4 -0
  245. package/features/folders/updateFolder/IUpdateFolderRepository.js +7 -0
  246. package/features/folders/updateFolder/IUpdateFolderRepository.js.map +1 -0
  247. package/features/folders/updateFolder/IUpdateFolderUseCase.d.ts +12 -0
  248. package/features/folders/updateFolder/IUpdateFolderUseCase.js +7 -0
  249. package/features/folders/updateFolder/IUpdateFolderUseCase.js.map +1 -0
  250. package/features/folders/updateFolder/UpdateFolder.d.ts +5 -0
  251. package/features/folders/updateFolder/UpdateFolder.js +33 -0
  252. package/features/folders/updateFolder/UpdateFolder.js.map +1 -0
  253. package/features/folders/updateFolder/UpdateFolder.test.d.ts +1 -0
  254. package/features/folders/updateFolder/UpdateFolder.test.js +99 -0
  255. package/features/folders/updateFolder/UpdateFolder.test.js.map +1 -0
  256. package/features/folders/updateFolder/UpdateFolderGqlGateway.d.ts +22 -0
  257. package/features/folders/updateFolder/UpdateFolderGqlGateway.js +57 -0
  258. package/features/folders/updateFolder/UpdateFolderGqlGateway.js.map +1 -0
  259. package/features/folders/updateFolder/UpdateFolderRepository.d.ts +10 -0
  260. package/features/folders/updateFolder/UpdateFolderRepository.js +38 -0
  261. package/features/folders/updateFolder/UpdateFolderRepository.js.map +1 -0
  262. package/features/folders/updateFolder/UpdateFolderUseCase.d.ts +7 -0
  263. package/features/folders/updateFolder/UpdateFolderUseCase.js +31 -0
  264. package/features/folders/updateFolder/UpdateFolderUseCase.js.map +1 -0
  265. package/features/folders/updateFolder/UpdateFolderUseCaseWithLoading.d.ts +8 -0
  266. package/features/folders/updateFolder/UpdateFolderUseCaseWithLoading.js +25 -0
  267. package/features/folders/updateFolder/UpdateFolderUseCaseWithLoading.js.map +1 -0
  268. package/features/folders/updateFolder/UpdateFolderUseCaseWithoutInheritedPermissions.d.ts +6 -0
  269. package/features/folders/updateFolder/UpdateFolderUseCaseWithoutInheritedPermissions.js +30 -0
  270. package/features/folders/updateFolder/UpdateFolderUseCaseWithoutInheritedPermissions.js.map +1 -0
  271. package/features/folders/updateFolder/index.d.ts +1 -0
  272. package/features/folders/updateFolder/index.js +18 -0
  273. package/features/folders/updateFolder/index.js.map +1 -0
  274. package/features/folders/updateFolder/useUpdateFolder.d.ts +4 -0
  275. package/features/folders/updateFolder/useUpdateFolder.js +25 -0
  276. package/features/folders/updateFolder/useUpdateFolder.js.map +1 -0
  277. package/features/index.d.ts +1 -0
  278. package/features/index.js +18 -0
  279. package/features/index.js.map +1 -0
  280. package/hooks/index.d.ts +1 -1
  281. package/hooks/index.js +11 -17
  282. package/hooks/index.js.map +1 -1
  283. package/hooks/useFolders.d.ts +18 -15
  284. package/hooks/useFolders.js +41 -38
  285. package/hooks/useFolders.js.map +1 -1
  286. package/hooks/useFoldersType.d.ts +1 -0
  287. package/hooks/useFoldersType.js +21 -0
  288. package/hooks/useFoldersType.js.map +1 -0
  289. package/index.d.ts +1 -1
  290. package/index.js +8 -8
  291. package/index.js.map +1 -1
  292. package/package.json +17 -16
  293. package/types.d.ts +11 -1
  294. package/types.js +20 -0
  295. package/types.js.map +1 -1
  296. package/Folders.d.ts +0 -2
  297. package/Folders.js +0 -23
  298. package/Folders.js.map +0 -1
  299. package/contexts/FoldersApi/FoldersApiProvider.d.ts +0 -26
  300. package/contexts/FoldersApi/FoldersApiProvider.js +0 -255
  301. package/contexts/FoldersApi/FoldersApiProvider.js.map +0 -1
  302. package/contexts/FoldersApi/index.d.ts +0 -2
  303. package/contexts/FoldersApi/index.js +0 -29
  304. package/contexts/FoldersApi/index.js.map +0 -1
  305. package/contexts/FoldersApi/useFoldersApi.d.ts +0 -2
  306. package/contexts/FoldersApi/useFoldersApi.js +0 -17
  307. package/contexts/FoldersApi/useFoldersApi.js.map +0 -1
  308. package/graphql/folders.gql.d.ts +0 -5
  309. package/graphql/folders.gql.js +0 -19
  310. package/graphql/folders.gql.js.map +0 -1
@@ -6,150 +6,25 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.FoldersProvider = exports.FoldersContext = void 0;
9
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
10
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
9
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
12
10
  var _react = _interopRequireWildcard(require("react"));
13
- var _useWcp2 = require("@webiny/app-wcp/hooks/useWcp");
14
- var _appAdmin = require("@webiny/app-admin");
15
- var _handlers = require("../handlers");
16
11
  var _app = require("./app");
17
- var _hooks = require("../hooks");
18
- var _constants = require("../constants");
19
12
  var _excluded = ["children"];
20
13
  var FoldersContext = exports.FoldersContext = /*#__PURE__*/_react.default.createContext(undefined);
21
- var defaultLoading = {
22
- INIT: true,
23
- LIST: false,
24
- LIST_MORE: false,
25
- GET: false,
26
- MOVE: false,
27
- CREATE: false,
28
- UPDATE: false,
29
- DELETE: false
30
- };
31
14
  var FoldersProvider = exports.FoldersProvider = function FoldersProvider(_ref) {
32
15
  var children = _ref.children,
33
16
  props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
34
17
  var appContext = (0, _react.useContext)(_app.AcoAppContext);
35
- var _useStateIfMounted = (0, _appAdmin.useStateIfMounted)(null),
36
- _useStateIfMounted2 = (0, _slicedToArray2.default)(_useStateIfMounted, 2),
37
- folders = _useStateIfMounted2[0],
38
- setFolders = _useStateIfMounted2[1];
39
- var _useStateIfMounted3 = (0, _appAdmin.useStateIfMounted)(defaultLoading),
40
- _useStateIfMounted4 = (0, _slicedToArray2.default)(_useStateIfMounted3, 2),
41
- loading = _useStateIfMounted4[0],
42
- setLoading = _useStateIfMounted4[1];
43
- var foldersApi = (0, _hooks.useFoldersApi)();
44
- var _useWcp = (0, _useWcp2.useWcp)(),
45
- canUseFolderLevelPermissions = _useWcp.canUseFolderLevelPermissions;
46
18
  var app = appContext ? appContext.app : undefined;
47
19
  var type = props.type ?? app?.id;
48
20
  if (!type) {
49
21
  throw Error("FoldersProvider requires a \"type\" prop or an AcoAppContext to be available!");
50
22
  }
51
- (0, _react.useEffect)(function () {
52
- return foldersApi.onFoldersChanged(type, function (folders) {
53
- setFolders(folders);
54
- });
55
- }, []);
56
- var folderLevelPermissions = (0, _react.useMemo)(function () {
57
- var createCanManage = function createCanManage(callback) {
58
- return function (folderId) {
59
- if (!canUseFolderLevelPermissions() || folderId === _constants.ROOT_FOLDER) {
60
- return true;
61
- }
62
- var folder = folders?.find(function (folder) {
63
- return folder.id === folderId;
64
- });
65
- if (!folder) {
66
- return false;
67
- }
68
- return callback(folder);
69
- };
70
- };
71
- return {
72
- canManageStructure: createCanManage(function (folder) {
73
- return folder.canManageStructure;
74
- }),
75
- canManagePermissions: createCanManage(function (folder) {
76
- return folder.canManagePermissions;
77
- }),
78
- canManageContent: createCanManage(function (folder) {
79
- return folder.canManageContent;
80
- })
81
- };
82
- }, [folders]);
83
23
  var context = (0, _react.useMemo)(function () {
84
24
  return {
85
- folders: folders,
86
- loading: loading,
87
- listFolders: async function listFolders() {
88
- var folders = await (0, _handlers.dataLoader)((0, _handlers.loadingHandler)("LIST", setLoading), function () {
89
- return foldersApi.listFolders(type);
90
- });
91
- setFolders(function () {
92
- return folders;
93
- });
94
- setLoading(function (prev) {
95
- return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, prev), {}, {
96
- INIT: false
97
- });
98
- });
99
- return folders;
100
- },
101
- getFolder: async function getFolder(id) {
102
- if (!id) {
103
- throw new Error("Folder `id` is mandatory");
104
- }
105
- return await (0, _handlers.dataLoader)((0, _handlers.loadingHandler)("GET", setLoading), function () {
106
- return foldersApi.getFolder(type, id);
107
- });
108
- },
109
- createFolder: async function createFolder(folder) {
110
- return await (0, _handlers.dataLoader)((0, _handlers.loadingHandler)("CREATE", setLoading), function () {
111
- return foldersApi.createFolder(type, folder);
112
- });
113
- },
114
- updateFolder: async function updateFolder(folder, options) {
115
- var id = folder.id,
116
- title = folder.title,
117
- slug = folder.slug,
118
- permissions = folder.permissions,
119
- parentId = folder.parentId;
120
-
121
- // We must omit all inherited permissions.
122
- var filteredPermissions = permissions.filter(function (p) {
123
- return !p.inheritedFrom;
124
- });
125
- return await (0, _handlers.dataLoader)((0, _handlers.loadingHandler)("UPDATE", setLoading), async function () {
126
- var response = await foldersApi.updateFolder(type, {
127
- id: id,
128
- title: title,
129
- slug: slug,
130
- permissions: filteredPermissions,
131
- parentId: parentId
132
- });
133
- if (options?.refetchFoldersList) {
134
- foldersApi.listFolders(type, {
135
- invalidateCache: true
136
- }).then(setFolders);
137
- }
138
- return response;
139
- });
140
- },
141
- deleteFolder: async function deleteFolder(folder) {
142
- var id = folder.id;
143
- return await (0, _handlers.dataLoader)((0, _handlers.loadingHandler)("DELETE", setLoading), function () {
144
- return foldersApi.deleteFolder(type, id);
145
- });
146
- },
147
- getDescendantFolders: function getDescendantFolders(id) {
148
- return foldersApi.getDescendantFolders(type, id);
149
- },
150
- folderLevelPermissions: folderLevelPermissions
25
+ type: type
151
26
  };
152
- }, [folders, loading, setLoading, setFolders]);
27
+ }, [type]);
153
28
  return /*#__PURE__*/_react.default.createElement(FoldersContext.Provider, {
154
29
  value: context
155
30
  }, children);
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_useWcp2","_appAdmin","_handlers","_app","_hooks","_constants","_excluded","FoldersContext","exports","React","createContext","undefined","defaultLoading","INIT","LIST","LIST_MORE","GET","MOVE","CREATE","UPDATE","DELETE","FoldersProvider","_ref","children","props","_objectWithoutProperties2","default","appContext","useContext","AcoAppContext","_useStateIfMounted","useStateIfMounted","_useStateIfMounted2","_slicedToArray2","folders","setFolders","_useStateIfMounted3","_useStateIfMounted4","loading","setLoading","foldersApi","useFoldersApi","_useWcp","useWcp","canUseFolderLevelPermissions","app","type","id","Error","useEffect","onFoldersChanged","folderLevelPermissions","useMemo","createCanManage","callback","folderId","ROOT_FOLDER","folder","find","canManageStructure","canManagePermissions","canManageContent","context","listFolders","dataLoader","loadingHandler","prev","_objectSpread2","getFolder","createFolder","updateFolder","options","title","slug","permissions","parentId","filteredPermissions","filter","p","inheritedFrom","response","refetchFoldersList","invalidateCache","then","deleteFolder","getDescendantFolders","createElement","Provider","value"],"sources":["folders.tsx"],"sourcesContent":["import React, { ReactNode, useContext, useEffect, useMemo } from \"react\";\nimport { useWcp } from \"@webiny/app-wcp/hooks/useWcp\";\nimport { useStateIfMounted } from \"@webiny/app-admin\";\nimport { dataLoader, loadingHandler } from \"~/handlers\";\nimport { FolderItem, Loading, LoadingActions } from \"~/types\";\nimport { AcoAppContext } from \"~/contexts/app\";\nimport { useFoldersApi } from \"~/hooks\";\nimport { ROOT_FOLDER } from \"~/constants\";\n\nexport interface FoldersContextFolderLevelPermissions {\n canManageStructure(folderId: string): boolean;\n\n canManagePermissions(folderId: string): boolean;\n\n canManageContent(folderId: string): boolean;\n}\n\ninterface FoldersContext {\n folders?: FolderItem[] | null;\n loading: Loading<LoadingActions>;\n listFolders: () => Promise<FolderItem[]>;\n getFolder: (id: string) => Promise<FolderItem>;\n createFolder: (folder: Omit<FolderItem, \"id\" | \"type\">) => Promise<FolderItem>;\n updateFolder: (\n folder: Omit<FolderItem, \"type\">,\n options?: Partial<{\n refetchFoldersList: boolean;\n }>\n ) => Promise<FolderItem>;\n\n deleteFolder(folder: Pick<FolderItem, \"id\">): Promise<true>;\n\n getDescendantFolders(id?: string): FolderItem[];\n\n folderLevelPermissions: FoldersContextFolderLevelPermissions;\n}\n\nexport const FoldersContext = React.createContext<FoldersContext | undefined>(undefined);\n\ninterface Props {\n type?: string;\n children: ReactNode;\n}\n\nconst defaultLoading: Record<LoadingActions, boolean> = {\n INIT: true,\n LIST: false,\n LIST_MORE: false,\n GET: false,\n MOVE: false,\n CREATE: false,\n UPDATE: false,\n DELETE: false\n};\n\nexport const FoldersProvider = ({ children, ...props }: Props) => {\n const appContext = useContext(AcoAppContext);\n const [folders, setFolders] = useStateIfMounted<FolderItem[] | null>(null);\n const [loading, setLoading] = useStateIfMounted<Loading<LoadingActions>>(defaultLoading);\n const foldersApi = useFoldersApi();\n const { canUseFolderLevelPermissions } = useWcp();\n\n const app = appContext ? appContext.app : undefined;\n\n const type = props.type ?? app?.id;\n if (!type) {\n throw Error(`FoldersProvider requires a \"type\" prop or an AcoAppContext to be available!`);\n }\n\n useEffect(() => {\n return foldersApi.onFoldersChanged(type, folders => {\n setFolders(folders);\n });\n }, []);\n\n const folderLevelPermissions: FoldersContextFolderLevelPermissions = useMemo(() => {\n const createCanManage =\n (callback: (folder: FolderItem) => boolean) => (folderId: string) => {\n if (!canUseFolderLevelPermissions() || folderId === ROOT_FOLDER) {\n return true;\n }\n\n const folder = folders?.find(folder => folder.id === folderId);\n if (!folder) {\n return false;\n }\n\n return callback(folder);\n };\n\n return {\n canManageStructure: createCanManage(folder => folder.canManageStructure),\n canManagePermissions: createCanManage(folder => folder.canManagePermissions),\n canManageContent: createCanManage(folder => folder.canManageContent)\n };\n }, [folders]);\n\n const context = useMemo<FoldersContext>(() => {\n return {\n folders,\n loading,\n async listFolders() {\n const folders = await dataLoader(loadingHandler(\"LIST\", setLoading), () =>\n foldersApi.listFolders(type)\n );\n\n setFolders(() => folders);\n\n setLoading(prev => ({\n ...prev,\n INIT: false\n }));\n\n return folders;\n },\n\n async getFolder(id) {\n if (!id) {\n throw new Error(\"Folder `id` is mandatory\");\n }\n\n return await dataLoader(loadingHandler(\"GET\", setLoading), () =>\n foldersApi.getFolder(type, id)\n );\n },\n\n async createFolder(folder) {\n return await dataLoader(loadingHandler(\"CREATE\", setLoading), () =>\n foldersApi.createFolder(type, folder)\n );\n },\n\n async updateFolder(folder, options) {\n const { id, title, slug, permissions, parentId } = folder;\n\n // We must omit all inherited permissions.\n const filteredPermissions = permissions.filter(p => !p.inheritedFrom);\n\n return await dataLoader(loadingHandler(\"UPDATE\", setLoading), async () => {\n const response = await foldersApi.updateFolder(type, {\n id,\n title,\n slug,\n permissions: filteredPermissions,\n parentId\n });\n\n if (options?.refetchFoldersList) {\n foldersApi.listFolders(type, { invalidateCache: true }).then(setFolders);\n }\n\n return response;\n });\n },\n\n async deleteFolder(folder) {\n const { id } = folder;\n\n return await dataLoader(loadingHandler(\"DELETE\", setLoading), () =>\n foldersApi.deleteFolder(type, id)\n );\n },\n\n getDescendantFolders(id) {\n return foldersApi.getDescendantFolders(type, id);\n },\n\n folderLevelPermissions\n };\n }, [folders, loading, setLoading, setFolders]);\n\n return <FoldersContext.Provider value={context}>{children}</FoldersContext.Provider>;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_app","_excluded","FoldersContext","exports","React","createContext","undefined","FoldersProvider","_ref","children","props","_objectWithoutProperties2","default","appContext","useContext","AcoAppContext","app","type","id","Error","context","useMemo","createElement","Provider","value"],"sources":["folders.tsx"],"sourcesContent":["import React, { ReactNode, useContext, useMemo } from \"react\";\nimport { AcoAppContext } from \"~/contexts/app\";\n\ninterface FoldersContext {\n type?: string | null;\n}\n\nexport const FoldersContext = React.createContext<FoldersContext | undefined>(undefined);\n\ninterface Props {\n type?: string;\n children: ReactNode;\n}\n\nexport const FoldersProvider = ({ children, ...props }: Props) => {\n const appContext = useContext(AcoAppContext);\n\n const app = appContext ? appContext.app : undefined;\n\n const type = props.type ?? app?.id;\n\n if (!type) {\n throw Error(`FoldersProvider requires a \"type\" prop or an AcoAppContext to be available!`);\n }\n\n const context = useMemo<FoldersContext>(() => {\n return {\n type\n };\n }, [type]);\n\n return <FoldersContext.Provider value={context}>{children}</FoldersContext.Provider>;\n};\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AAA+C,IAAAE,SAAA;AAMxC,IAAMC,cAAc,GAAAC,OAAA,CAAAD,cAAA,gBAAGE,cAAK,CAACC,aAAa,CAA6BC,SAAS,CAAC;AAOjF,IAAMC,eAAe,GAAAJ,OAAA,CAAAI,eAAA,GAAG,SAAlBA,eAAeA,CAAAC,IAAA,EAAsC;EAAA,IAAhCC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAKC,KAAK,OAAAC,yBAAA,CAAAC,OAAA,EAAAJ,IAAA,EAAAP,SAAA;EAChD,IAAMY,UAAU,GAAG,IAAAC,iBAAU,EAACC,kBAAa,CAAC;EAE5C,IAAMC,GAAG,GAAGH,UAAU,GAAGA,UAAU,CAACG,GAAG,GAAGV,SAAS;EAEnD,IAAMW,IAAI,GAAGP,KAAK,CAACO,IAAI,IAAID,GAAG,EAAEE,EAAE;EAElC,IAAI,CAACD,IAAI,EAAE;IACP,MAAME,KAAK,gFAA8E,CAAC;EAC9F;EAEA,IAAMC,OAAO,GAAG,IAAAC,cAAO,EAAiB,YAAM;IAC1C,OAAO;MACHJ,IAAI,EAAJA;IACJ,CAAC;EACL,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,oBAAOpB,MAAA,CAAAe,OAAA,CAAAU,aAAA,CAACpB,cAAc,CAACqB,QAAQ;IAACC,KAAK,EAAEJ;EAAQ,GAAEX,QAAkC,CAAC;AACxF,CAAC","ignoreList":[]}
@@ -18,7 +18,7 @@ var _Typography = require("@webiny/ui/Typography");
18
18
  var _validation = require("@webiny/validation");
19
19
  var _components = require("../components");
20
20
  var _styled = require("./styled");
21
- var _hooks = require("../hooks");
21
+ var _features = require("../features");
22
22
  var _constants = require("../constants");
23
23
  var FormComponent = function FormComponent(_ref) {
24
24
  var _ref$currentParentId = _ref.currentParentId,
@@ -78,8 +78,8 @@ var FormComponent = function FormComponent(_ref) {
78
78
  };
79
79
  var useCreateDialog = exports.useCreateDialog = function useCreateDialog() {
80
80
  var dialogs = (0, _appAdmin.useDialogs)();
81
- var _useFolders = (0, _hooks.useFolders)(),
82
- createFolder = _useFolders.createFolder;
81
+ var _useCreateFolder = (0, _features.useCreateFolder)(),
82
+ createFolder = _useCreateFolder.createFolder;
83
83
  var _useSnackbar = (0, _appAdmin.useSnackbar)(),
84
84
  showSnackbar = _useSnackbar.showSnackbar;
85
85
  var onAccept = (0, _react.useCallback)(async function (data) {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_slugify","_interopRequireDefault","_appAdmin","_form","_Grid","_Input","_Typography","_validation","_components","_styled","_hooks","_constants","FormComponent","_ref","_ref$currentParentId","currentParentId","_useState","useState","_useState2","_slicedToArray2","default","parentId","setParentId","form","useForm","generateSlug","data","slug","title","setValue","slugify","replacement","lower","remove","trim","createElement","Grid","Cell","span","Bind","name","validators","validation","create","bind","Input","Object","assign","label","onBlur","Typography","use","DialogFoldersContainer","defaultValue","_ref2","onChange","FolderTree","focusedFolderId","ROOT_FOLDER","onFolderClick","folder","id","useCreateDialog","exports","dialogs","useDialogs","_useFolders","useFolders","createFolder","_useSnackbar","useSnackbar","showSnackbar","onAccept","useCallback","_objectSpread2","error","message","showDialog","params","_ref3","_ref3$currentParentId","content","acceptLabel","cancelLabel","loadingLabel"],"sources":["useCreateDialog.tsx"],"sourcesContent":["import React, { useCallback, useState } from \"react\";\nimport slugify from \"slugify\";\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport { Bind, GenericFormData, useForm } from \"@webiny/form\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { validation } from \"@webiny/validation\";\n\nimport { FolderTree } from \"~/components\";\nimport { useDialogs } from \"@webiny/app-admin\";\nimport { DialogFoldersContainer } from \"~/dialogs/styled\";\nimport { useFolders } from \"~/hooks\";\nimport { ROOT_FOLDER } from \"~/constants\";\nimport { FolderItem } from \"~/types\";\n\ninterface ShowDialogParams {\n currentParentId?: string | null;\n}\n\ninterface UseCreateDialogResponse {\n showDialog: (params?: ShowDialogParams) => void;\n}\n\ninterface FormComponentProps {\n currentParentId?: string | null;\n}\n\nconst FormComponent = ({ currentParentId = null }: FormComponentProps) => {\n const [parentId, setParentId] = useState<string | null>(currentParentId);\n const form = useForm();\n\n const generateSlug = () => {\n if (form.data.slug || !form.data.title) {\n return;\n }\n\n // We want to update slug only when the folder is first being created.\n form.setValue(\n \"slug\",\n slugify(form.data.title, {\n replacement: \"-\",\n lower: true,\n remove: /[*#\\?<>_\\{\\}\\[\\]+~.()'\"!:;@]/g,\n trim: false\n })\n );\n };\n\n return (\n <Grid>\n <Cell span={12}>\n <Bind name={\"title\"} validators={validation.create(\"required\")}>\n {bind => <Input {...bind} label={\"Title\"} onBlur={generateSlug} />}\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind name={\"slug\"} validators={validation.create(\"required,slug\")}>\n <Input label={\"Slug\"} />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Typography use=\"body1\">{\"Parent folder\"}</Typography>\n <DialogFoldersContainer>\n <Bind name={\"parentId\"} defaultValue={parentId}>\n {({ onChange }) => (\n <FolderTree\n focusedFolderId={parentId || ROOT_FOLDER}\n onFolderClick={folder => {\n setParentId(folder.id);\n onChange(folder.id === ROOT_FOLDER ? null : folder.id);\n }}\n />\n )}\n </Bind>\n </DialogFoldersContainer>\n </Cell>\n </Grid>\n );\n};\n\nexport const useCreateDialog = (): UseCreateDialogResponse => {\n const dialogs = useDialogs();\n const { createFolder } = useFolders();\n const { showSnackbar } = useSnackbar();\n\n const onAccept = useCallback(async (data: FolderItem) => {\n try {\n await createFolder({\n ...data,\n parentId: data.parentId === ROOT_FOLDER ? null : data.parentId\n });\n showSnackbar(\"Folder created successfully!\");\n } catch (error) {\n showSnackbar(error.message);\n }\n }, []);\n\n const showDialog = (params?: ShowDialogParams) => {\n const { currentParentId = null } = params ?? {};\n\n dialogs.showDialog({\n title: \"Create a new folder\",\n content: <FormComponent currentParentId={currentParentId} />,\n acceptLabel: \"Create folder\",\n cancelLabel: \"Cancel\",\n loadingLabel: \"Creating folder...\",\n /**\n * We need to cast as there are no generics to pass for the onAccept function.\n */\n onAccept: onAccept as (data: GenericFormData) => Promise<void>\n });\n };\n\n return {\n showDialog\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_slugify","_interopRequireDefault","_appAdmin","_form","_Grid","_Input","_Typography","_validation","_components","_styled","_features","_constants","FormComponent","_ref","_ref$currentParentId","currentParentId","_useState","useState","_useState2","_slicedToArray2","default","parentId","setParentId","form","useForm","generateSlug","data","slug","title","setValue","slugify","replacement","lower","remove","trim","createElement","Grid","Cell","span","Bind","name","validators","validation","create","bind","Input","Object","assign","label","onBlur","Typography","use","DialogFoldersContainer","defaultValue","_ref2","onChange","FolderTree","focusedFolderId","ROOT_FOLDER","onFolderClick","folder","id","useCreateDialog","exports","dialogs","useDialogs","_useCreateFolder","useCreateFolder","createFolder","_useSnackbar","useSnackbar","showSnackbar","onAccept","useCallback","_objectSpread2","error","message","showDialog","params","_ref3","_ref3$currentParentId","content","acceptLabel","cancelLabel","loadingLabel"],"sources":["useCreateDialog.tsx"],"sourcesContent":["import React, { useCallback, useState } from \"react\";\nimport slugify from \"slugify\";\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport { Bind, GenericFormData, useForm } from \"@webiny/form\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { validation } from \"@webiny/validation\";\n\nimport { FolderTree } from \"~/components\";\nimport { useDialogs } from \"@webiny/app-admin\";\nimport { DialogFoldersContainer } from \"~/dialogs/styled\";\nimport { useCreateFolder } from \"~/features\";\nimport { ROOT_FOLDER } from \"~/constants\";\nimport { FolderItem } from \"~/types\";\n\ninterface ShowDialogParams {\n currentParentId?: string | null;\n}\n\ninterface UseCreateDialogResponse {\n showDialog: (params?: ShowDialogParams) => void;\n}\n\ninterface FormComponentProps {\n currentParentId?: string | null;\n}\n\nconst FormComponent = ({ currentParentId = null }: FormComponentProps) => {\n const [parentId, setParentId] = useState<string | null>(currentParentId);\n const form = useForm();\n\n const generateSlug = () => {\n if (form.data.slug || !form.data.title) {\n return;\n }\n\n // We want to update slug only when the folder is first being created.\n form.setValue(\n \"slug\",\n slugify(form.data.title, {\n replacement: \"-\",\n lower: true,\n remove: /[*#\\?<>_\\{\\}\\[\\]+~.()'\"!:;@]/g,\n trim: false\n })\n );\n };\n\n return (\n <Grid>\n <Cell span={12}>\n <Bind name={\"title\"} validators={validation.create(\"required\")}>\n {bind => <Input {...bind} label={\"Title\"} onBlur={generateSlug} />}\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind name={\"slug\"} validators={validation.create(\"required,slug\")}>\n <Input label={\"Slug\"} />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Typography use=\"body1\">{\"Parent folder\"}</Typography>\n <DialogFoldersContainer>\n <Bind name={\"parentId\"} defaultValue={parentId}>\n {({ onChange }) => (\n <FolderTree\n focusedFolderId={parentId || ROOT_FOLDER}\n onFolderClick={folder => {\n setParentId(folder.id);\n onChange(folder.id === ROOT_FOLDER ? null : folder.id);\n }}\n />\n )}\n </Bind>\n </DialogFoldersContainer>\n </Cell>\n </Grid>\n );\n};\n\nexport const useCreateDialog = (): UseCreateDialogResponse => {\n const dialogs = useDialogs();\n const { createFolder } = useCreateFolder();\n const { showSnackbar } = useSnackbar();\n\n const onAccept = useCallback(async (data: FolderItem) => {\n try {\n await createFolder({\n ...data,\n parentId: data.parentId === ROOT_FOLDER ? null : data.parentId\n });\n showSnackbar(\"Folder created successfully!\");\n } catch (error) {\n showSnackbar(error.message);\n }\n }, []);\n\n const showDialog = (params?: ShowDialogParams) => {\n const { currentParentId = null } = params ?? {};\n\n dialogs.showDialog({\n title: \"Create a new folder\",\n content: <FormComponent currentParentId={currentParentId} />,\n acceptLabel: \"Create folder\",\n cancelLabel: \"Cancel\",\n loadingLabel: \"Creating folder...\",\n /**\n * We need to cast as there are no generics to pass for the onAccept function.\n */\n onAccept: onAccept as (data: GenericFormData) => Promise<void>\n });\n };\n\n return {\n showDialog\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -5,22 +5,18 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.useDeleteDialog = void 0;
7
7
  var _appAdmin = require("@webiny/app-admin");
8
- var _hooks = require("../hooks");
8
+ var _features = require("../features");
9
9
  var _react = require("react");
10
10
  var useDeleteDialog = exports.useDeleteDialog = function useDeleteDialog() {
11
11
  var dialogs = (0, _appAdmin.useDialogs)();
12
- var _useFolders = (0, _hooks.useFolders)(),
13
- deleteFolder = _useFolders.deleteFolder;
12
+ var _useDeleteFolder = (0, _features.useDeleteFolder)(),
13
+ deleteFolder = _useDeleteFolder.deleteFolder;
14
14
  var _useSnackbar = (0, _appAdmin.useSnackbar)(),
15
15
  showSnackbar = _useSnackbar.showSnackbar;
16
16
  var _onAccept = (0, _react.useCallback)(async function (folder) {
17
17
  try {
18
- var result = await deleteFolder(folder);
19
- if (result) {
20
- showSnackbar("The folder \"".concat(folder.title, "\" was deleted successfully."));
21
- } else {
22
- throw new Error("Error while deleting folder \"".concat(folder.title, "\"!"));
23
- }
18
+ await deleteFolder(folder);
19
+ showSnackbar("The folder \"".concat(folder.title, "\" was deleted successfully."));
24
20
  } catch (error) {
25
21
  showSnackbar(error.message);
26
22
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_appAdmin","require","_hooks","_react","useDeleteDialog","exports","dialogs","useDialogs","_useFolders","useFolders","deleteFolder","_useSnackbar","useSnackbar","showSnackbar","onAccept","useCallback","folder","result","concat","title","Error","error","message","showDialog","_ref","content","acceptLabel","cancelLabel","loadingLabel"],"sources":["useDeleteDialog.tsx"],"sourcesContent":["import { useSnackbar } from \"@webiny/app-admin\";\n\nimport { useDialogs } from \"@webiny/app-admin\";\nimport { useFolders } from \"~/hooks\";\nimport { FolderItem } from \"~/types\";\nimport { useCallback } from \"react\";\n\ninterface ShowDialogParams {\n folder: FolderItem;\n}\n\ninterface UseDeleteDialogResponse {\n showDialog: (params: ShowDialogParams) => void;\n}\n\nexport const useDeleteDialog = (): UseDeleteDialogResponse => {\n const dialogs = useDialogs();\n const { deleteFolder } = useFolders();\n const { showSnackbar } = useSnackbar();\n\n const onAccept = useCallback(async (folder: FolderItem) => {\n try {\n const result = await deleteFolder(folder);\n\n if (result) {\n showSnackbar(`The folder \"${folder.title}\" was deleted successfully.`);\n } else {\n throw new Error(`Error while deleting folder \"${folder.title}\"!`);\n }\n } catch (error) {\n showSnackbar(error.message);\n }\n }, []);\n\n const showDialog = ({ folder }: ShowDialogParams) => {\n dialogs.showDialog({\n title: \"Delete folder\",\n content: `You are about to delete the folder \"${folder.title}\"! Are you sure you want to continue?`,\n acceptLabel: \"Delete folder\",\n cancelLabel: \"Cancel\",\n loadingLabel: \"Deleting folder...\",\n onAccept: () => onAccept(folder)\n });\n };\n\n return {\n showDialog\n };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAGA,IAAAC,MAAA,GAAAD,OAAA;AAEA,IAAAE,MAAA,GAAAF,OAAA;AAUO,IAAMG,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAG,SAAlBA,eAAeA,CAAA,EAAkC;EAC1D,IAAME,OAAO,GAAG,IAAAC,oBAAU,EAAC,CAAC;EAC5B,IAAAC,WAAA,GAAyB,IAAAC,iBAAU,EAAC,CAAC;IAA7BC,YAAY,GAAAF,WAAA,CAAZE,YAAY;EACpB,IAAAC,YAAA,GAAyB,IAAAC,qBAAW,EAAC,CAAC;IAA9BC,YAAY,GAAAF,YAAA,CAAZE,YAAY;EAEpB,IAAMC,SAAQ,GAAG,IAAAC,kBAAW,EAAC,gBAAOC,MAAkB,EAAK;IACvD,IAAI;MACA,IAAMC,MAAM,GAAG,MAAMP,YAAY,CAACM,MAAM,CAAC;MAEzC,IAAIC,MAAM,EAAE;QACRJ,YAAY,iBAAAK,MAAA,CAAgBF,MAAM,CAACG,KAAK,iCAA6B,CAAC;MAC1E,CAAC,MAAM;QACH,MAAM,IAAIC,KAAK,kCAAAF,MAAA,CAAiCF,MAAM,CAACG,KAAK,QAAI,CAAC;MACrE;IACJ,CAAC,CAAC,OAAOE,KAAK,EAAE;MACZR,YAAY,CAACQ,KAAK,CAACC,OAAO,CAAC;IAC/B;EACJ,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAAC,IAAA,EAAqC;IAAA,IAA/BR,MAAM,GAAAQ,IAAA,CAANR,MAAM;IACxBV,OAAO,CAACiB,UAAU,CAAC;MACfJ,KAAK,EAAE,eAAe;MACtBM,OAAO,0CAAAP,MAAA,CAAyCF,MAAM,CAACG,KAAK,2CAAuC;MACnGO,WAAW,EAAE,eAAe;MAC5BC,WAAW,EAAE,QAAQ;MACrBC,YAAY,EAAE,oBAAoB;MAClCd,QAAQ,EAAE,SAAVA,QAAQA,CAAA;QAAA,OAAQA,SAAQ,CAACE,MAAM,CAAC;MAAA;IACpC,CAAC,CAAC;EACN,CAAC;EAED,OAAO;IACHO,UAAU,EAAVA;EACJ,CAAC;AACL,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_appAdmin","require","_features","_react","useDeleteDialog","exports","dialogs","useDialogs","_useDeleteFolder","useDeleteFolder","deleteFolder","_useSnackbar","useSnackbar","showSnackbar","onAccept","useCallback","folder","concat","title","error","message","showDialog","_ref","content","acceptLabel","cancelLabel","loadingLabel"],"sources":["useDeleteDialog.tsx"],"sourcesContent":["import { useSnackbar } from \"@webiny/app-admin\";\n\nimport { useDialogs } from \"@webiny/app-admin\";\nimport { useDeleteFolder } from \"~/features\";\nimport { FolderItem } from \"~/types\";\nimport { useCallback } from \"react\";\n\ninterface ShowDialogParams {\n folder: FolderItem;\n}\n\ninterface UseDeleteDialogResponse {\n showDialog: (params: ShowDialogParams) => void;\n}\n\nexport const useDeleteDialog = (): UseDeleteDialogResponse => {\n const dialogs = useDialogs();\n const { deleteFolder } = useDeleteFolder();\n const { showSnackbar } = useSnackbar();\n\n const onAccept = useCallback(async (folder: FolderItem) => {\n try {\n await deleteFolder(folder);\n showSnackbar(`The folder \"${folder.title}\" was deleted successfully.`);\n } catch (error) {\n showSnackbar(error.message);\n }\n }, []);\n\n const showDialog = ({ folder }: ShowDialogParams) => {\n dialogs.showDialog({\n title: \"Delete folder\",\n content: `You are about to delete the folder \"${folder.title}\"! Are you sure you want to continue?`,\n acceptLabel: \"Delete folder\",\n cancelLabel: \"Cancel\",\n loadingLabel: \"Deleting folder...\",\n onAccept: () => onAccept(folder)\n });\n };\n\n return {\n showDialog\n };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAGA,IAAAC,SAAA,GAAAD,OAAA;AAEA,IAAAE,MAAA,GAAAF,OAAA;AAUO,IAAMG,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAG,SAAlBA,eAAeA,CAAA,EAAkC;EAC1D,IAAME,OAAO,GAAG,IAAAC,oBAAU,EAAC,CAAC;EAC5B,IAAAC,gBAAA,GAAyB,IAAAC,yBAAe,EAAC,CAAC;IAAlCC,YAAY,GAAAF,gBAAA,CAAZE,YAAY;EACpB,IAAAC,YAAA,GAAyB,IAAAC,qBAAW,EAAC,CAAC;IAA9BC,YAAY,GAAAF,YAAA,CAAZE,YAAY;EAEpB,IAAMC,SAAQ,GAAG,IAAAC,kBAAW,EAAC,gBAAOC,MAAkB,EAAK;IACvD,IAAI;MACA,MAAMN,YAAY,CAACM,MAAM,CAAC;MAC1BH,YAAY,iBAAAI,MAAA,CAAgBD,MAAM,CAACE,KAAK,iCAA6B,CAAC;IAC1E,CAAC,CAAC,OAAOC,KAAK,EAAE;MACZN,YAAY,CAACM,KAAK,CAACC,OAAO,CAAC;IAC/B;EACJ,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAAC,IAAA,EAAqC;IAAA,IAA/BN,MAAM,GAAAM,IAAA,CAANN,MAAM;IACxBV,OAAO,CAACe,UAAU,CAAC;MACfH,KAAK,EAAE,eAAe;MACtBK,OAAO,0CAAAN,MAAA,CAAyCD,MAAM,CAACE,KAAK,2CAAuC;MACnGM,WAAW,EAAE,eAAe;MAC5BC,WAAW,EAAE,QAAQ;MACrBC,YAAY,EAAE,oBAAoB;MAClCZ,QAAQ,EAAE,SAAVA,QAAQA,CAAA;QAAA,OAAQA,SAAQ,CAACE,MAAM,CAAC;MAAA;IACpC,CAAC,CAAC;EACN,CAAC;EAED,OAAO;IACHK,UAAU,EAAVA;EACJ,CAAC;AACL,CAAC","ignoreList":[]}
@@ -18,7 +18,7 @@ var _Typography = require("@webiny/ui/Typography");
18
18
  var _components = require("../components");
19
19
  var _constants = require("../constants");
20
20
  var _styled = require("./styled");
21
- var _hooks = require("../hooks");
21
+ var _features = require("../features");
22
22
  var FormComponent = function FormComponent(_ref) {
23
23
  var folder = _ref.folder;
24
24
  var _useState = (0, _react.useState)(folder.parentId),
@@ -63,18 +63,14 @@ var FormComponent = function FormComponent(_ref) {
63
63
  };
64
64
  var useEditDialog = exports.useEditDialog = function useEditDialog() {
65
65
  var dialog = (0, _appAdmin.useDialogs)();
66
- var _useFolders = (0, _hooks.useFolders)(),
67
- updateFolder = _useFolders.updateFolder;
66
+ var _useUpdateFolder = (0, _features.useUpdateFolder)(),
67
+ updateFolder = _useUpdateFolder.updateFolder;
68
68
  var _useSnackbar = (0, _appAdmin.useSnackbar)(),
69
69
  showSnackbar = _useSnackbar.showSnackbar;
70
70
  var _onAccept = (0, _react.useCallback)(async function (folder, data) {
71
71
  try {
72
- var result = await updateFolder((0, _objectSpread2.default)((0, _objectSpread2.default)({}, folder), data));
73
- if (result) {
74
- showSnackbar("The folder \"".concat(result.title, "\" was updated successfully!"));
75
- } else {
76
- throw new Error("Error while updating folder \"".concat(folder.title, "\"!"));
77
- }
72
+ await updateFolder((0, _objectSpread2.default)((0, _objectSpread2.default)({}, folder), data));
73
+ showSnackbar("The folder \"".concat(data.title, "\" was updated successfully!"));
78
74
  } catch (error) {
79
75
  showSnackbar(error.message);
80
76
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_appAdmin","_form","_validation","_Grid","_Input","_Typography","_components","_constants","_styled","_hooks","FormComponent","_ref","folder","_useState","useState","parentId","_useState2","_slicedToArray2","default","setParentId","createElement","Grid","Cell","span","Bind","name","defaultValue","title","validators","validation","create","Input","label","slug","Typography","use","DialogFoldersContainer","_ref2","onChange","FolderTree","focusedFolderId","ROOT_FOLDER","hiddenFolderIds","id","onFolderClick","enableCreate","useEditDialog","exports","dialog","useDialogs","_useFolders","useFolders","updateFolder","_useSnackbar","useSnackbar","showSnackbar","onAccept","useCallback","data","result","_objectSpread2","concat","Error","error","message","showDialog","_ref3","content","acceptLabel","cancelLabel","loadingLabel"],"sources":["useEditDialog.tsx"],"sourcesContent":["import React, { useCallback, useState } from \"react\";\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport { Bind, GenericFormData } from \"@webiny/form\";\nimport { validation } from \"@webiny/validation\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { Typography } from \"@webiny/ui/Typography\";\n\nimport { FolderTree } from \"~/components\";\nimport { ROOT_FOLDER } from \"~/constants\";\nimport { useDialogs } from \"@webiny/app-admin\";\nimport { DialogFoldersContainer } from \"~/dialogs/styled\";\nimport { useFolders } from \"~/hooks\";\nimport { FolderItem } from \"~/types\";\n\ninterface ShowDialogParams {\n folder: FolderItem;\n}\n\ninterface UseEditDialogResponse {\n showDialog: (params: ShowDialogParams) => void;\n}\n\ninterface FormComponentProps {\n folder: FolderItem;\n}\n\nconst FormComponent = ({ folder }: FormComponentProps) => {\n const [parentId, setParentId] = useState<string | null>(folder.parentId);\n\n return (\n <Grid>\n <Cell span={12}>\n <Bind\n name={\"title\"}\n defaultValue={folder.title}\n validators={[validation.create(\"required\")]}\n >\n <Input label={\"Title\"} />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind\n name={\"slug\"}\n defaultValue={folder.slug}\n validators={[validation.create(\"required,slug\")]}\n >\n <Input label={\"Slug\"} />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Typography use=\"body1\">{\"Parent folder\"}</Typography>\n <DialogFoldersContainer>\n <Bind name={\"parentId\"} defaultValue={parentId}>\n {({ onChange }) => (\n <FolderTree\n focusedFolderId={parentId || ROOT_FOLDER}\n hiddenFolderIds={[folder.id]}\n onFolderClick={folder => {\n setParentId(folder.id);\n onChange(folder.id === ROOT_FOLDER ? null : folder.id);\n }}\n enableCreate={true}\n />\n )}\n </Bind>\n </DialogFoldersContainer>\n </Cell>\n </Grid>\n );\n};\n\nexport const useEditDialog = (): UseEditDialogResponse => {\n const dialog = useDialogs();\n const { updateFolder } = useFolders();\n const { showSnackbar } = useSnackbar();\n\n const onAccept = useCallback(async (folder: FolderItem, data: GenericFormData) => {\n try {\n const result = await updateFolder({\n ...folder,\n ...data\n });\n\n if (result) {\n showSnackbar(`The folder \"${result.title}\" was updated successfully!`);\n } else {\n throw new Error(`Error while updating folder \"${folder.title}\"!`);\n }\n } catch (error) {\n showSnackbar(error.message);\n }\n }, []);\n\n const showDialog = ({ folder }: ShowDialogParams) => {\n dialog.showDialog({\n title: \"Edit folder\",\n content: <FormComponent folder={folder} />,\n acceptLabel: \"Edit folder\",\n cancelLabel: \"Cancel\",\n loadingLabel: \"Editing folder...\",\n onAccept: (data: GenericFormData) => onAccept(folder, data)\n });\n };\n\n return {\n showDialog\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_appAdmin","_form","_validation","_Grid","_Input","_Typography","_components","_constants","_styled","_features","FormComponent","_ref","folder","_useState","useState","parentId","_useState2","_slicedToArray2","default","setParentId","createElement","Grid","Cell","span","Bind","name","defaultValue","title","validators","validation","create","Input","label","slug","Typography","use","DialogFoldersContainer","_ref2","onChange","FolderTree","focusedFolderId","ROOT_FOLDER","hiddenFolderIds","id","onFolderClick","enableCreate","useEditDialog","exports","dialog","useDialogs","_useUpdateFolder","useUpdateFolder","updateFolder","_useSnackbar","useSnackbar","showSnackbar","onAccept","useCallback","data","_objectSpread2","concat","error","message","showDialog","_ref3","content","acceptLabel","cancelLabel","loadingLabel"],"sources":["useEditDialog.tsx"],"sourcesContent":["import React, { useCallback, useState } from \"react\";\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport { Bind, GenericFormData } from \"@webiny/form\";\nimport { validation } from \"@webiny/validation\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { Typography } from \"@webiny/ui/Typography\";\n\nimport { FolderTree } from \"~/components\";\nimport { ROOT_FOLDER } from \"~/constants\";\nimport { useDialogs } from \"@webiny/app-admin\";\nimport { DialogFoldersContainer } from \"~/dialogs/styled\";\nimport { useUpdateFolder } from \"~/features\";\nimport { FolderItem } from \"~/types\";\n\ninterface ShowDialogParams {\n folder: FolderItem;\n}\n\ninterface UseEditDialogResponse {\n showDialog: (params: ShowDialogParams) => void;\n}\n\ninterface FormComponentProps {\n folder: FolderItem;\n}\n\nconst FormComponent = ({ folder }: FormComponentProps) => {\n const [parentId, setParentId] = useState<string | null>(folder.parentId);\n\n return (\n <Grid>\n <Cell span={12}>\n <Bind\n name={\"title\"}\n defaultValue={folder.title}\n validators={[validation.create(\"required\")]}\n >\n <Input label={\"Title\"} />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind\n name={\"slug\"}\n defaultValue={folder.slug}\n validators={[validation.create(\"required,slug\")]}\n >\n <Input label={\"Slug\"} />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Typography use=\"body1\">{\"Parent folder\"}</Typography>\n <DialogFoldersContainer>\n <Bind name={\"parentId\"} defaultValue={parentId}>\n {({ onChange }) => (\n <FolderTree\n focusedFolderId={parentId || ROOT_FOLDER}\n hiddenFolderIds={[folder.id]}\n onFolderClick={folder => {\n setParentId(folder.id);\n onChange(folder.id === ROOT_FOLDER ? null : folder.id);\n }}\n enableCreate={true}\n />\n )}\n </Bind>\n </DialogFoldersContainer>\n </Cell>\n </Grid>\n );\n};\n\nexport const useEditDialog = (): UseEditDialogResponse => {\n const dialog = useDialogs();\n const { updateFolder } = useUpdateFolder();\n const { showSnackbar } = useSnackbar();\n\n const onAccept = useCallback(async (folder: FolderItem, data: GenericFormData) => {\n try {\n await updateFolder({\n ...folder,\n ...data\n });\n showSnackbar(`The folder \"${data.title}\" was updated successfully!`);\n } catch (error) {\n showSnackbar(error.message);\n }\n }, []);\n\n const showDialog = ({ folder }: ShowDialogParams) => {\n dialog.showDialog({\n title: \"Edit folder\",\n content: <FormComponent folder={folder} />,\n acceptLabel: \"Edit folder\",\n cancelLabel: \"Cancel\",\n loadingLabel: \"Editing folder...\",\n onAccept: (data: GenericFormData) => onAccept(folder, data)\n });\n };\n\n return {\n showDialog\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -17,7 +17,7 @@ var _Grid = require("@webiny/ui/Grid");
17
17
  var _UsersTeamsMultiAutocomplete = require("./DialogSetPermissions/UsersTeamsMultiAutocomplete");
18
18
  var _UsersTeamsSelection = require("./DialogSetPermissions/UsersTeamsSelection");
19
19
  var _graphql = require("./DialogSetPermissions/graphql");
20
- var _hooks = require("../hooks");
20
+ var _features = require("../features");
21
21
  var FormComponent = function FormComponent(_ref) {
22
22
  var folder = _ref.folder;
23
23
  var _useState = (0, _react.useState)(folder.permissions || []),
@@ -74,16 +74,14 @@ var FormComponent = function FormComponent(_ref) {
74
74
  };
75
75
  var useSetPermissionsDialog = exports.useSetPermissionsDialog = function useSetPermissionsDialog() {
76
76
  var dialogs = (0, _appAdmin.useDialogs)();
77
- var _useFolders = (0, _hooks.useFolders)(),
78
- updateFolder = _useFolders.updateFolder;
77
+ var _useUpdateFolder = (0, _features.useUpdateFolder)(),
78
+ updateFolder = _useUpdateFolder.updateFolder;
79
79
  var _useSnackbar = (0, _appAdmin.useSnackbar)(),
80
80
  showSnackbar = _useSnackbar.showSnackbar;
81
81
  var _onAccept = (0, _react.useCallback)(async function (folder, data) {
82
82
  var updateData = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, folder), data);
83
83
  try {
84
- await updateFolder(updateData, {
85
- refetchFoldersList: true
86
- });
84
+ await updateFolder(updateData);
87
85
  showSnackbar("Folder permissions updated successfully!");
88
86
  } catch (error) {
89
87
  showSnackbar(error.message);
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactHooks","_appAdmin","_form","_Grid","_UsersTeamsMultiAutocomplete","_UsersTeamsSelection","_graphql","_hooks","FormComponent","_ref","folder","_useState","useState","permissions","_useState2","_slicedToArray2","default","setPermissions","listTargetsQuery","useQuery","LIST_FOLDER_LEVEL_PERMISSIONS_TARGETS","targetsList","data","aco","listFolderLevelPermissionsTargets","bind","useBind","name","useEffect","onChange","addPermission","useCallback","value","selectedUserOrTeam","length","newPermission","target","level","concat","_toConsumableArray2","slice","updatePermission","_ref2","updatedPermission","permission","map","removeUserTeam","item","filter","createElement","Grid","Cell","span","UsersTeamsMultiAutocomplete","options","UsersTeamsSelection","onRemoveAccess","onUpdatePermission","useSetPermissionsDialog","exports","dialogs","useDialogs","_useFolders","useFolders","updateFolder","_useSnackbar","useSnackbar","showSnackbar","onAccept","updateData","_objectSpread2","refetchFoldersList","error","message","showDialog","_ref3","title","content","acceptLabel","cancelLabel","loadingLabel"],"sources":["useSetPermissionsDialog.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from \"react\";\nimport { useQuery } from \"@apollo/react-hooks\";\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport { GenericFormData, useBind } from \"@webiny/form\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\n\nimport { UsersTeamsMultiAutocomplete } from \"./DialogSetPermissions/UsersTeamsMultiAutocomplete\";\nimport { UsersTeamsSelection } from \"./DialogSetPermissions/UsersTeamsSelection\";\nimport { LIST_FOLDER_LEVEL_PERMISSIONS_TARGETS } from \"./DialogSetPermissions/graphql\";\n\nimport { useDialogs } from \"@webiny/app-admin\";\nimport { useFolders } from \"~/hooks\";\nimport { FolderItem, FolderLevelPermissionsTarget, FolderPermission } from \"~/types\";\n\ninterface ShowDialogParams {\n folder: FolderItem;\n}\n\ninterface UseSetPermissionsDialogResponse {\n showDialog: (params: ShowDialogParams) => void;\n}\n\ninterface FormComponentProps {\n folder: FolderItem;\n}\n\ninterface UpdatePermissionCallableParams {\n permission: FolderPermission;\n}\n\ninterface UpdatePermissionCallable {\n (params: UpdatePermissionCallableParams): void;\n}\n\ninterface RemoveUserTeamCallableParams {\n permission: FolderPermission;\n}\n\ninterface RemoveUserTeamCallable {\n (params: RemoveUserTeamCallableParams): void;\n}\n\nconst FormComponent = ({ folder }: FormComponentProps) => {\n const [permissions, setPermissions] = useState<FolderPermission[]>(folder.permissions || []); // Moved useState outside showDialog\n const listTargetsQuery = useQuery(LIST_FOLDER_LEVEL_PERMISSIONS_TARGETS);\n const targetsList: FolderLevelPermissionsTarget[] =\n listTargetsQuery.data?.aco.listFolderLevelPermissionsTargets.data || [];\n\n const bind = useBind({\n name: \"permissions\"\n });\n\n useEffect(() => {\n bind.onChange(permissions);\n }, [permissions]);\n\n const addPermission = useCallback(\n (value: FolderPermission[]) => {\n const selectedUserOrTeam = value[value.length - 1];\n const newPermission: FolderPermission = {\n target: selectedUserOrTeam.target,\n level: \"editor\"\n };\n\n // We want to add the new permission to the 2nd position in the array.\n // The 1st position is reserved for the \"current user\" permission.\n setPermissions([permissions[0], newPermission, ...permissions.slice(1)]);\n },\n [permissions]\n );\n\n const updatePermission = useCallback<UpdatePermissionCallable>(\n ({ permission: updatedPermission }) => {\n setPermissions(\n permissions.map(permission => {\n if (permission.target === updatedPermission.target) {\n return updatedPermission;\n }\n return permission;\n })\n );\n },\n [permissions]\n );\n\n const removeUserTeam = useCallback<RemoveUserTeamCallable>(\n item => {\n setPermissions(\n permissions.filter(permission => permission.target !== item.permission.target)\n );\n },\n [permissions]\n );\n\n return (\n <Grid>\n <Cell span={12}>\n <UsersTeamsMultiAutocomplete\n options={targetsList}\n value={permissions}\n onChange={addPermission}\n />\n </Cell>\n <Cell span={12}>\n <UsersTeamsSelection\n permissions={permissions}\n targetsList={targetsList}\n onRemoveAccess={removeUserTeam}\n onUpdatePermission={updatePermission}\n />\n </Cell>\n </Grid>\n );\n};\n\nexport const useSetPermissionsDialog = (): UseSetPermissionsDialogResponse => {\n const dialogs = useDialogs();\n const { updateFolder } = useFolders();\n const { showSnackbar } = useSnackbar();\n\n const onAccept = useCallback(async (folder: FolderItem, data: Partial<FolderItem>) => {\n const updateData = { ...folder, ...data };\n\n try {\n await updateFolder(updateData, { refetchFoldersList: true });\n showSnackbar(\"Folder permissions updated successfully!\");\n } catch (error) {\n showSnackbar(error.message);\n }\n }, []);\n\n const showDialog = ({ folder }: ShowDialogParams) => {\n dialogs.showDialog({\n title: `Manage permissions - ${folder.title}`,\n content: <FormComponent folder={folder} />,\n acceptLabel: \"Save\",\n cancelLabel: \"Cancel\",\n loadingLabel: \"Updating permissions...\",\n onAccept: (data: GenericFormData) => onAccept(folder, data)\n });\n };\n\n return {\n showDialog\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactHooks","_appAdmin","_form","_Grid","_UsersTeamsMultiAutocomplete","_UsersTeamsSelection","_graphql","_features","FormComponent","_ref","folder","_useState","useState","permissions","_useState2","_slicedToArray2","default","setPermissions","listTargetsQuery","useQuery","LIST_FOLDER_LEVEL_PERMISSIONS_TARGETS","targetsList","data","aco","listFolderLevelPermissionsTargets","bind","useBind","name","useEffect","onChange","addPermission","useCallback","value","selectedUserOrTeam","length","newPermission","target","level","concat","_toConsumableArray2","slice","updatePermission","_ref2","updatedPermission","permission","map","removeUserTeam","item","filter","createElement","Grid","Cell","span","UsersTeamsMultiAutocomplete","options","UsersTeamsSelection","onRemoveAccess","onUpdatePermission","useSetPermissionsDialog","exports","dialogs","useDialogs","_useUpdateFolder","useUpdateFolder","updateFolder","_useSnackbar","useSnackbar","showSnackbar","onAccept","updateData","_objectSpread2","error","message","showDialog","_ref3","title","content","acceptLabel","cancelLabel","loadingLabel"],"sources":["useSetPermissionsDialog.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from \"react\";\nimport { useQuery } from \"@apollo/react-hooks\";\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport { GenericFormData, useBind } from \"@webiny/form\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\n\nimport { UsersTeamsMultiAutocomplete } from \"./DialogSetPermissions/UsersTeamsMultiAutocomplete\";\nimport { UsersTeamsSelection } from \"./DialogSetPermissions/UsersTeamsSelection\";\nimport { LIST_FOLDER_LEVEL_PERMISSIONS_TARGETS } from \"./DialogSetPermissions/graphql\";\n\nimport { useDialogs } from \"@webiny/app-admin\";\nimport { useUpdateFolder } from \"~/features\";\nimport { FolderItem, FolderLevelPermissionsTarget, FolderPermission } from \"~/types\";\n\ninterface ShowDialogParams {\n folder: FolderItem;\n}\n\ninterface UseSetPermissionsDialogResponse {\n showDialog: (params: ShowDialogParams) => void;\n}\n\ninterface FormComponentProps {\n folder: FolderItem;\n}\n\ninterface UpdatePermissionCallableParams {\n permission: FolderPermission;\n}\n\ninterface UpdatePermissionCallable {\n (params: UpdatePermissionCallableParams): void;\n}\n\ninterface RemoveUserTeamCallableParams {\n permission: FolderPermission;\n}\n\ninterface RemoveUserTeamCallable {\n (params: RemoveUserTeamCallableParams): void;\n}\n\nconst FormComponent = ({ folder }: FormComponentProps) => {\n const [permissions, setPermissions] = useState<FolderPermission[]>(folder.permissions || []); // Moved useState outside showDialog\n const listTargetsQuery = useQuery(LIST_FOLDER_LEVEL_PERMISSIONS_TARGETS);\n const targetsList: FolderLevelPermissionsTarget[] =\n listTargetsQuery.data?.aco.listFolderLevelPermissionsTargets.data || [];\n\n const bind = useBind({\n name: \"permissions\"\n });\n\n useEffect(() => {\n bind.onChange(permissions);\n }, [permissions]);\n\n const addPermission = useCallback(\n (value: FolderPermission[]) => {\n const selectedUserOrTeam = value[value.length - 1];\n const newPermission: FolderPermission = {\n target: selectedUserOrTeam.target,\n level: \"editor\"\n };\n\n // We want to add the new permission to the 2nd position in the array.\n // The 1st position is reserved for the \"current user\" permission.\n setPermissions([permissions[0], newPermission, ...permissions.slice(1)]);\n },\n [permissions]\n );\n\n const updatePermission = useCallback<UpdatePermissionCallable>(\n ({ permission: updatedPermission }) => {\n setPermissions(\n permissions.map(permission => {\n if (permission.target === updatedPermission.target) {\n return updatedPermission;\n }\n return permission;\n })\n );\n },\n [permissions]\n );\n\n const removeUserTeam = useCallback<RemoveUserTeamCallable>(\n item => {\n setPermissions(\n permissions.filter(permission => permission.target !== item.permission.target)\n );\n },\n [permissions]\n );\n\n return (\n <Grid>\n <Cell span={12}>\n <UsersTeamsMultiAutocomplete\n options={targetsList}\n value={permissions}\n onChange={addPermission}\n />\n </Cell>\n <Cell span={12}>\n <UsersTeamsSelection\n permissions={permissions}\n targetsList={targetsList}\n onRemoveAccess={removeUserTeam}\n onUpdatePermission={updatePermission}\n />\n </Cell>\n </Grid>\n );\n};\n\nexport const useSetPermissionsDialog = (): UseSetPermissionsDialogResponse => {\n const dialogs = useDialogs();\n const { updateFolder } = useUpdateFolder();\n const { showSnackbar } = useSnackbar();\n\n const onAccept = useCallback(async (folder: FolderItem, data: Partial<FolderItem>) => {\n const updateData = { ...folder, ...data };\n\n try {\n await updateFolder(updateData);\n showSnackbar(\"Folder permissions updated successfully!\");\n } catch (error) {\n showSnackbar(error.message);\n }\n }, []);\n\n const showDialog = ({ folder }: ShowDialogParams) => {\n dialogs.showDialog({\n title: `Manage permissions - ${folder.title}`,\n content: <FormComponent folder={folder} />,\n acceptLabel: \"Save\",\n cancelLabel: \"Cancel\",\n loadingLabel: \"Updating permissions...\",\n onAccept: (data: GenericFormData) => onAccept(folder, data)\n });\n };\n\n return {\n showDialog\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,39 @@
1
+ import { CmsIdentity, FolderPermission } from "../../types";
2
+ export interface FolderData {
3
+ id?: string;
4
+ title: string;
5
+ slug: string;
6
+ type: string;
7
+ parentId: string | null;
8
+ permissions: FolderPermission[];
9
+ hasNonInheritedPermissions?: boolean;
10
+ canManagePermissions?: boolean;
11
+ canManageStructure?: boolean;
12
+ canManageContent?: boolean;
13
+ createdBy?: CmsIdentity;
14
+ createdOn?: string;
15
+ savedBy?: CmsIdentity;
16
+ savedOn?: string;
17
+ modifiedBy?: CmsIdentity | null;
18
+ modifiedOn?: string | null;
19
+ }
20
+ export declare class Folder {
21
+ id: string;
22
+ title: string;
23
+ slug: string;
24
+ type: string;
25
+ parentId: string | null;
26
+ permissions: FolderPermission[];
27
+ hasNonInheritedPermissions?: boolean;
28
+ canManagePermissions?: boolean;
29
+ canManageStructure?: boolean;
30
+ canManageContent?: boolean;
31
+ createdBy?: CmsIdentity;
32
+ createdOn?: string;
33
+ savedBy?: CmsIdentity;
34
+ savedOn?: string;
35
+ modifiedBy?: CmsIdentity | null;
36
+ modifiedOn?: string | null;
37
+ protected constructor(folder: FolderData);
38
+ static create(folder: FolderData): Folder;
39
+ }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.Folder = void 0;
8
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
+ var Folder = exports.Folder = /*#__PURE__*/function () {
11
+ function Folder(folder) {
12
+ (0, _classCallCheck2.default)(this, Folder);
13
+ this.id = folder.id ?? "";
14
+ this.title = folder.title;
15
+ this.slug = folder.slug;
16
+ this.type = folder.type;
17
+ this.parentId = folder.parentId;
18
+ this.permissions = folder.permissions;
19
+ this.hasNonInheritedPermissions = folder.hasNonInheritedPermissions;
20
+ this.canManagePermissions = folder.canManagePermissions;
21
+ this.canManageStructure = folder.canManageStructure;
22
+ this.canManageContent = folder.canManageContent;
23
+ this.createdBy = folder.createdBy;
24
+ this.createdOn = folder.createdOn;
25
+ this.savedBy = folder.savedBy;
26
+ this.savedOn = folder.savedOn;
27
+ this.modifiedBy = folder.modifiedBy;
28
+ this.modifiedOn = folder.modifiedOn;
29
+ }
30
+ return (0, _createClass2.default)(Folder, null, [{
31
+ key: "create",
32
+ value: function create(folder) {
33
+ return new Folder(folder);
34
+ }
35
+ }]);
36
+ }();
37
+
38
+ //# sourceMappingURL=Folder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Folder","exports","folder","_classCallCheck2","default","id","title","slug","type","parentId","permissions","hasNonInheritedPermissions","canManagePermissions","canManageStructure","canManageContent","createdBy","createdOn","savedBy","savedOn","modifiedBy","modifiedOn","_createClass2","key","value","create"],"sources":["Folder.ts"],"sourcesContent":["import { CmsIdentity, FolderPermission } from \"~/types\";\n\nexport interface FolderData {\n id?: string;\n title: string;\n slug: string;\n type: string;\n parentId: string | null;\n permissions: FolderPermission[];\n hasNonInheritedPermissions?: boolean;\n canManagePermissions?: boolean;\n canManageStructure?: boolean;\n canManageContent?: boolean;\n createdBy?: CmsIdentity;\n createdOn?: string;\n savedBy?: CmsIdentity;\n savedOn?: string;\n modifiedBy?: CmsIdentity | null;\n modifiedOn?: string | null;\n}\n\nexport class Folder {\n public id: string;\n public title: string;\n public slug: string;\n public type: string;\n public parentId: string | null;\n public permissions: FolderPermission[];\n public hasNonInheritedPermissions?: boolean;\n public canManagePermissions?: boolean;\n public canManageStructure?: boolean;\n public canManageContent?: boolean;\n public createdBy?: CmsIdentity;\n public createdOn?: string;\n public savedBy?: CmsIdentity;\n public savedOn?: string;\n public modifiedBy?: CmsIdentity | null;\n public modifiedOn?: string | null;\n\n protected constructor(folder: FolderData) {\n this.id = folder.id ?? \"\";\n this.title = folder.title;\n this.slug = folder.slug;\n this.type = folder.type;\n this.parentId = folder.parentId;\n this.permissions = folder.permissions;\n this.hasNonInheritedPermissions = folder.hasNonInheritedPermissions;\n this.canManagePermissions = folder.canManagePermissions;\n this.canManageStructure = folder.canManageStructure;\n this.canManageContent = folder.canManageContent;\n this.createdBy = folder.createdBy;\n this.createdOn = folder.createdOn;\n this.savedBy = folder.savedBy;\n this.savedOn = folder.savedOn;\n this.modifiedBy = folder.modifiedBy;\n this.modifiedOn = folder.modifiedOn;\n }\n\n static create(folder: FolderData) {\n return new Folder(folder);\n }\n}\n"],"mappings":";;;;;;;;;IAqBaA,MAAM,GAAAC,OAAA,CAAAD,MAAA;EAkBf,SAAAA,OAAsBE,MAAkB,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAJ,MAAA;IACtC,IAAI,CAACK,EAAE,GAAGH,MAAM,CAACG,EAAE,IAAI,EAAE;IACzB,IAAI,CAACC,KAAK,GAAGJ,MAAM,CAACI,KAAK;IACzB,IAAI,CAACC,IAAI,GAAGL,MAAM,CAACK,IAAI;IACvB,IAAI,CAACC,IAAI,GAAGN,MAAM,CAACM,IAAI;IACvB,IAAI,CAACC,QAAQ,GAAGP,MAAM,CAACO,QAAQ;IAC/B,IAAI,CAACC,WAAW,GAAGR,MAAM,CAACQ,WAAW;IACrC,IAAI,CAACC,0BAA0B,GAAGT,MAAM,CAACS,0BAA0B;IACnE,IAAI,CAACC,oBAAoB,GAAGV,MAAM,CAACU,oBAAoB;IACvD,IAAI,CAACC,kBAAkB,GAAGX,MAAM,CAACW,kBAAkB;IACnD,IAAI,CAACC,gBAAgB,GAAGZ,MAAM,CAACY,gBAAgB;IAC/C,IAAI,CAACC,SAAS,GAAGb,MAAM,CAACa,SAAS;IACjC,IAAI,CAACC,SAAS,GAAGd,MAAM,CAACc,SAAS;IACjC,IAAI,CAACC,OAAO,GAAGf,MAAM,CAACe,OAAO;IAC7B,IAAI,CAACC,OAAO,GAAGhB,MAAM,CAACgB,OAAO;IAC7B,IAAI,CAACC,UAAU,GAAGjB,MAAM,CAACiB,UAAU;IACnC,IAAI,CAACC,UAAU,GAAGlB,MAAM,CAACkB,UAAU;EACvC;EAAC,WAAAC,aAAA,CAAAjB,OAAA,EAAAJ,MAAA;IAAAsB,GAAA;IAAAC,KAAA,EAED,SAAOC,MAAMA,CAACtB,MAAkB,EAAE;MAC9B,OAAO,IAAIF,MAAM,CAACE,MAAM,CAAC;IAC7B;EAAC;AAAA","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ import { Folder } from "../Folder";
2
+ import { ListCache } from "./ListCache";
3
+ export declare class FoldersCacheFactory {
4
+ private cache;
5
+ getCache(namespace: string): ListCache<Folder>;
6
+ private getCacheKey;
7
+ }
8
+ export declare const folderCacheFactory: FoldersCacheFactory;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.folderCacheFactory = exports.FoldersCacheFactory = void 0;
8
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+ var _ListCache = require("./ListCache");
12
+ var FoldersCacheFactory = exports.FoldersCacheFactory = /*#__PURE__*/function () {
13
+ function FoldersCacheFactory() {
14
+ (0, _classCallCheck2.default)(this, FoldersCacheFactory);
15
+ (0, _defineProperty2.default)(this, "cache", new Map());
16
+ }
17
+ return (0, _createClass2.default)(FoldersCacheFactory, [{
18
+ key: "getCache",
19
+ value: function getCache(namespace) {
20
+ var cacheKey = this.getCacheKey(namespace);
21
+ if (!this.cache.has(cacheKey)) {
22
+ this.cache.set(cacheKey, new _ListCache.ListCache());
23
+ }
24
+ return this.cache.get(cacheKey);
25
+ }
26
+ }, {
27
+ key: "getCacheKey",
28
+ value: function getCacheKey(namespace) {
29
+ return namespace;
30
+ }
31
+ }]);
32
+ }();
33
+ var folderCacheFactory = exports.folderCacheFactory = new FoldersCacheFactory();
34
+
35
+ //# sourceMappingURL=FoldersCacheFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_ListCache","require","FoldersCacheFactory","exports","_classCallCheck2","default","_defineProperty2","Map","_createClass2","key","value","getCache","namespace","cacheKey","getCacheKey","cache","has","set","ListCache","get","folderCacheFactory"],"sources":["FoldersCacheFactory.ts"],"sourcesContent":["import { Folder } from \"../Folder\";\nimport { ListCache } from \"~/features/folders/cache/ListCache\";\n\nexport class FoldersCacheFactory {\n private cache: Map<string, ListCache<Folder>> = new Map();\n\n getCache(namespace: string) {\n const cacheKey = this.getCacheKey(namespace);\n\n if (!this.cache.has(cacheKey)) {\n this.cache.set(cacheKey, new ListCache<Folder>());\n }\n\n return this.cache.get(cacheKey) as ListCache<Folder>;\n }\n\n private getCacheKey(namespace: string) {\n return namespace;\n }\n}\n\nexport const folderCacheFactory = new FoldersCacheFactory();\n"],"mappings":";;;;;;;;;;AACA,IAAAA,UAAA,GAAAC,OAAA;AAA+D,IAElDC,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA;EAAA,SAAAA,oBAAA;IAAA,IAAAE,gBAAA,CAAAC,OAAA,QAAAH,mBAAA;IAAA,IAAAI,gBAAA,CAAAD,OAAA,iBACoB,IAAIE,GAAG,CAAC,CAAC;EAAA;EAAA,WAAAC,aAAA,CAAAH,OAAA,EAAAH,mBAAA;IAAAO,GAAA;IAAAC,KAAA,EAEzD,SAAAC,QAAQA,CAACC,SAAiB,EAAE;MACxB,IAAMC,QAAQ,GAAG,IAAI,CAACC,WAAW,CAACF,SAAS,CAAC;MAE5C,IAAI,CAAC,IAAI,CAACG,KAAK,CAACC,GAAG,CAACH,QAAQ,CAAC,EAAE;QAC3B,IAAI,CAACE,KAAK,CAACE,GAAG,CAACJ,QAAQ,EAAE,IAAIK,oBAAS,CAAS,CAAC,CAAC;MACrD;MAEA,OAAO,IAAI,CAACH,KAAK,CAACI,GAAG,CAACN,QAAQ,CAAC;IACnC;EAAC;IAAAJ,GAAA;IAAAC,KAAA,EAED,SAAQI,WAAWA,CAACF,SAAiB,EAAE;MACnC,OAAOA,SAAS;IACpB;EAAC;AAAA;AAGE,IAAMQ,kBAAkB,GAAAjB,OAAA,CAAAiB,kBAAA,GAAG,IAAIlB,mBAAmB,CAAC,CAAC","ignoreList":[]}