@webiny/app-aco 6.0.0-alpha.0 → 6.0.0-alpha.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 (395) hide show
  1. package/components/AdvancedSearch/AdvancedSearch.d.ts +1 -1
  2. package/components/AdvancedSearch/AdvancedSearch.js.map +1 -1
  3. package/components/AdvancedSearch/AdvancedSearchPresenter.d.ts +1 -1
  4. package/components/AdvancedSearch/AdvancedSearchPresenter.js.map +1 -1
  5. package/components/AdvancedSearch/AdvancedSearchPresenter.test.js.map +1 -1
  6. package/components/AdvancedSearch/GraphQLInputMapper.d.ts +1 -1
  7. package/components/AdvancedSearch/GraphQLInputMapper.js.map +1 -1
  8. package/components/AdvancedSearch/GraphQLInputMapper.test.js.map +1 -1
  9. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/QueryBuilder.d.ts +3 -3
  10. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/QueryBuilder.js.map +1 -1
  11. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Filter.d.ts +1 -1
  12. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Filter.js.map +1 -1
  13. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/InputField.d.ts +1 -1
  14. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/InputField.js.map +1 -1
  15. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.d.ts +1 -1
  16. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.js.map +1 -1
  17. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.d.ts +3 -2
  18. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.js.map +1 -1
  19. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.test.js.map +1 -1
  20. package/components/AdvancedSearch/QueryManagerDialog/components/FilterList.d.ts +1 -1
  21. package/components/AdvancedSearch/QueryManagerDialog/components/FilterList.js.map +1 -1
  22. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.d.ts +1 -1
  23. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.js.map +1 -1
  24. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.d.ts +2 -2
  25. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.js.map +1 -1
  26. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.test.js.map +1 -1
  27. package/components/AdvancedSearch/SelectedFilter/SelectedFilter.d.ts +1 -1
  28. package/components/AdvancedSearch/SelectedFilter/SelectedFilter.js.map +1 -1
  29. package/components/AdvancedSearch/domain/Field.d.ts +1 -1
  30. package/components/AdvancedSearch/domain/Field.js.map +1 -1
  31. package/components/AdvancedSearch/domain/FieldMapper.d.ts +1 -1
  32. package/components/AdvancedSearch/domain/FieldMapper.js.map +1 -1
  33. package/components/AdvancedSearch/domain/FilterMapper.d.ts +1 -1
  34. package/components/AdvancedSearch/domain/FilterMapper.js.map +1 -1
  35. package/components/AdvancedSearch/domain/FilterRepository.d.ts +2 -2
  36. package/components/AdvancedSearch/domain/FilterRepository.js.map +1 -1
  37. package/components/AdvancedSearch/domain/FilterRepositoryFactory.d.ts +1 -1
  38. package/components/AdvancedSearch/domain/FilterRepositoryFactory.js.map +1 -1
  39. package/components/AdvancedSearch/gateways/FiltersGatewayInterface.d.ts +2 -2
  40. package/components/AdvancedSearch/gateways/FiltersGatewayInterface.js.map +1 -1
  41. package/components/AdvancedSearch/gateways/FiltersGraphQLGateway.d.ts +3 -3
  42. package/components/AdvancedSearch/gateways/FiltersGraphQLGateway.js.map +1 -1
  43. package/components/AdvancedSearch/gateways/filters.types.d.ts +2 -2
  44. package/components/AdvancedSearch/gateways/filters.types.js.map +1 -1
  45. package/components/AdvancedSearch/index.d.ts +2 -2
  46. package/components/AdvancedSearch/index.js.map +1 -1
  47. package/components/AdvancedSearch/useInputField.d.ts +1 -1
  48. package/components/AdvancedSearch/useInputField.js.map +1 -1
  49. package/components/FolderTree/List/List.d.ts +1 -1
  50. package/components/FolderTree/List/List.js +15 -1
  51. package/components/FolderTree/List/List.js.map +1 -1
  52. package/components/FolderTree/List/utils.d.ts +1 -1
  53. package/components/FolderTree/List/utils.js.map +1 -1
  54. package/components/FolderTree/MenuActions/MenuActions.js +2 -0
  55. package/components/FolderTree/MenuActions/MenuActions.js.map +1 -1
  56. package/components/FolderTree/index.d.ts +1 -1
  57. package/components/FolderTree/index.js.map +1 -1
  58. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityDecorator.d.ts +2 -2
  59. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityDecorator.js.map +1 -1
  60. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.d.ts +1 -1
  61. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.js.map +1 -1
  62. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.test.js.map +1 -1
  63. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepository.d.ts +2 -2
  64. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepository.js.map +1 -1
  65. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepositoryFactory.d.ts +1 -1
  66. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepositoryFactory.js.map +1 -1
  67. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityUpdater.d.ts +2 -2
  68. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityUpdater.js.map +1 -1
  69. package/components/Table/components/Table/Columns/Column.d.ts +2 -2
  70. package/components/Table/components/Table/Columns/Column.js.map +1 -1
  71. package/components/Table/components/Table/Columns/ColumnMapper.d.ts +2 -2
  72. package/components/Table/components/Table/Columns/ColumnMapper.js.map +1 -1
  73. package/components/Table/components/Table/Columns/ColumnsPresenter.d.ts +1 -1
  74. package/components/Table/components/Table/Columns/ColumnsPresenter.js.map +1 -1
  75. package/components/Table/components/Table/Columns/ColumnsPresenter.test.js.map +1 -1
  76. package/components/Table/components/Table/Columns/ColumnsRepository.d.ts +2 -2
  77. package/components/Table/components/Table/Columns/ColumnsRepository.js.map +1 -1
  78. package/components/Table/components/Table/Columns/ColumnsRepositoryFactory.d.ts +1 -1
  79. package/components/Table/components/Table/Columns/ColumnsRepositoryFactory.js.map +1 -1
  80. package/components/Table/components/Table/Columns/IColumnsRepository.d.ts +1 -1
  81. package/components/Table/components/Table/Columns/IColumnsRepository.js.map +1 -1
  82. package/components/Table/components/Table/Table.d.ts +4 -3
  83. package/components/Table/components/Table/Table.js.map +1 -1
  84. package/components/Table/components/Table/TableInner.d.ts +8 -6
  85. package/components/Table/components/Table/TableInner.js.map +1 -1
  86. package/components/Table/components/Table/TablePresenter.d.ts +1 -1
  87. package/components/Table/components/Table/TablePresenter.js.map +1 -1
  88. package/components/Table/components/Table/gateways/ColumnsVisibilityLocalStorageGateway.d.ts +1 -1
  89. package/components/Table/components/Table/gateways/ColumnsVisibilityLocalStorageGateway.js.map +1 -1
  90. package/components/Table/createTableData.d.ts +6 -6
  91. package/components/Table/createTableData.js +8 -8
  92. package/components/Table/createTableData.js.map +1 -1
  93. package/components/Table/useTableRow.d.ts +9 -4
  94. package/components/Table/useTableRow.js +10 -3
  95. package/components/Table/useTableRow.js.map +1 -1
  96. package/config/AcoConfig.d.ts +12 -7
  97. package/config/AcoConfig.js +0 -5
  98. package/config/AcoConfig.js.map +1 -1
  99. package/config/advanced-search/index.d.ts +1 -1
  100. package/config/advanced-search/index.js.map +1 -1
  101. package/config/folder/createFolderFieldDecoratorFactory.d.ts +1 -1
  102. package/config/folder/createFolderFieldDecoratorFactory.js.map +1 -1
  103. package/config/folder/index.d.ts +1 -1
  104. package/config/folder/index.js.map +1 -1
  105. package/config/record/index.d.ts +1 -1
  106. package/config/record/index.js.map +1 -1
  107. package/config/table/Column.d.ts +10 -4
  108. package/config/table/Column.js.map +1 -1
  109. package/config/table/index.d.ts +9 -4
  110. package/config/table/index.js.map +1 -1
  111. package/contexts/acoList.d.ts +1 -1
  112. package/contexts/acoList.js.map +1 -1
  113. package/contexts/app.d.ts +2 -2
  114. package/contexts/app.js.map +1 -1
  115. package/contexts/folder.d.ts +1 -1
  116. package/contexts/folder.js.map +1 -1
  117. package/contexts/folders.d.ts +2 -1
  118. package/contexts/folders.js.map +1 -1
  119. package/contexts/index.d.ts +1 -1
  120. package/contexts/index.js +1 -1
  121. package/contexts/index.js.map +1 -1
  122. package/contexts/records.d.ts +3 -2
  123. package/contexts/records.js.map +1 -1
  124. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemGraphic.d.ts +1 -1
  125. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemGraphic.js.map +1 -1
  126. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemMeta.d.ts +1 -1
  127. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemMeta.js.map +1 -1
  128. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemText.d.ts +1 -1
  129. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemText.js.map +1 -1
  130. package/dialogs/DialogSetPermissions/UsersTeamsSelection.d.ts +1 -1
  131. package/dialogs/DialogSetPermissions/UsersTeamsSelection.js.map +1 -1
  132. package/dialogs/useCreateDialog.js.map +1 -1
  133. package/dialogs/useDeleteDialog.d.ts +1 -1
  134. package/dialogs/useDeleteDialog.js.map +1 -1
  135. package/dialogs/useEditDialog.d.ts +1 -1
  136. package/dialogs/useEditDialog.js.map +1 -1
  137. package/dialogs/useMoveToFolderDialog.d.ts +3 -2
  138. package/dialogs/useMoveToFolderDialog.js.map +1 -1
  139. package/dialogs/useSetPermissionsDialog.d.ts +1 -1
  140. package/dialogs/useSetPermissionsDialog.js.map +1 -1
  141. package/features/folders/Folder.d.ts +1 -1
  142. package/features/folders/Folder.js.map +1 -1
  143. package/features/folders/cache/FoldersCacheFactory.d.ts +1 -1
  144. package/features/folders/cache/FoldersCacheFactory.js.map +1 -1
  145. package/features/folders/createFolder/CreateFolder.d.ts +2 -2
  146. package/features/folders/createFolder/CreateFolder.js.map +1 -1
  147. package/features/folders/createFolder/CreateFolderGqlGateway.d.ts +4 -4
  148. package/features/folders/createFolder/CreateFolderGqlGateway.js.map +1 -1
  149. package/features/folders/createFolder/CreateFolderRepository.d.ts +3 -3
  150. package/features/folders/createFolder/CreateFolderRepository.js.map +1 -1
  151. package/features/folders/createFolder/CreateFolderUseCase.d.ts +2 -2
  152. package/features/folders/createFolder/CreateFolderUseCase.js.map +1 -1
  153. package/features/folders/createFolder/CreateFolderUseCaseWithLoading.d.ts +2 -2
  154. package/features/folders/createFolder/CreateFolderUseCaseWithLoading.js.map +1 -1
  155. package/features/folders/createFolder/FolderDto.d.ts +1 -1
  156. package/features/folders/createFolder/FolderDto.js.map +1 -1
  157. package/features/folders/createFolder/FolderGqlDto.d.ts +1 -1
  158. package/features/folders/createFolder/FolderGqlDto.js.map +1 -1
  159. package/features/folders/createFolder/ICreateFolderGateway.d.ts +2 -2
  160. package/features/folders/createFolder/ICreateFolderGateway.js.map +1 -1
  161. package/features/folders/createFolder/ICreateFolderRepository.d.ts +1 -1
  162. package/features/folders/createFolder/ICreateFolderRepository.js.map +1 -1
  163. package/features/folders/createFolder/ICreateFolderUseCase.d.ts +1 -1
  164. package/features/folders/createFolder/ICreateFolderUseCase.js.map +1 -1
  165. package/features/folders/createFolder/useCreateFolder.d.ts +1 -1
  166. package/features/folders/createFolder/useCreateFolder.js.map +1 -1
  167. package/features/folders/deleteFolder/DeleteFolder.d.ts +2 -2
  168. package/features/folders/deleteFolder/DeleteFolder.js.map +1 -1
  169. package/features/folders/deleteFolder/DeleteFolderGqlGateway.d.ts +3 -3
  170. package/features/folders/deleteFolder/DeleteFolderGqlGateway.js.map +1 -1
  171. package/features/folders/deleteFolder/DeleteFolderRepository.d.ts +4 -4
  172. package/features/folders/deleteFolder/DeleteFolderRepository.js.map +1 -1
  173. package/features/folders/deleteFolder/DeleteFolderUseCase.d.ts +2 -2
  174. package/features/folders/deleteFolder/DeleteFolderUseCase.js.map +1 -1
  175. package/features/folders/deleteFolder/DeleteFolderUseCaseWithLoading.d.ts +2 -2
  176. package/features/folders/deleteFolder/DeleteFolderUseCaseWithLoading.js.map +1 -1
  177. package/features/folders/deleteFolder/IDeleteFolderRepository.d.ts +1 -1
  178. package/features/folders/deleteFolder/IDeleteFolderRepository.js.map +1 -1
  179. package/features/folders/deleteFolder/IDeleteFolderUseCase.d.ts +1 -1
  180. package/features/folders/deleteFolder/IDeleteFolderUseCase.js.map +1 -1
  181. package/features/folders/deleteFolder/useDeleteFolder.d.ts +1 -1
  182. package/features/folders/deleteFolder/useDeleteFolder.js.map +1 -1
  183. package/features/folders/getDescendantFolders/FolderDto.d.ts +1 -1
  184. package/features/folders/getDescendantFolders/FolderDto.js.map +1 -1
  185. package/features/folders/getDescendantFolders/GetDescendantFolders.d.ts +1 -1
  186. package/features/folders/getDescendantFolders/GetDescendantFolders.js.map +1 -1
  187. package/features/folders/getDescendantFolders/GetDescendantFoldersRepository.d.ts +3 -3
  188. package/features/folders/getDescendantFolders/GetDescendantFoldersRepository.js.map +1 -1
  189. package/features/folders/getDescendantFolders/GetDescendantFoldersUseCase.d.ts +2 -2
  190. package/features/folders/getDescendantFolders/GetDescendantFoldersUseCase.js.map +1 -1
  191. package/features/folders/getDescendantFolders/IGetDescendantFoldersRepository.d.ts +1 -1
  192. package/features/folders/getDescendantFolders/IGetDescendantFoldersRepository.js.map +1 -1
  193. package/features/folders/getDescendantFolders/IGetDescendantFoldersUseCase.d.ts +1 -1
  194. package/features/folders/getDescendantFolders/IGetDescendantFoldersUseCase.js.map +1 -1
  195. package/features/folders/getFolder/GetFolder.d.ts +2 -2
  196. package/features/folders/getFolder/GetFolder.js.map +1 -1
  197. package/features/folders/getFolder/GetFolderGqlGateway.d.ts +3 -3
  198. package/features/folders/getFolder/GetFolderGqlGateway.js.map +1 -1
  199. package/features/folders/getFolder/GetFolderRepository.d.ts +3 -3
  200. package/features/folders/getFolder/GetFolderRepository.js.map +1 -1
  201. package/features/folders/getFolder/GetFolderUseCase.d.ts +2 -2
  202. package/features/folders/getFolder/GetFolderUseCase.js.map +1 -1
  203. package/features/folders/getFolder/GetFolderUseCaseWithLoading.d.ts +2 -2
  204. package/features/folders/getFolder/GetFolderUseCaseWithLoading.js.map +1 -1
  205. package/features/folders/getFolder/IGetFolderGateway.d.ts +1 -1
  206. package/features/folders/getFolder/IGetFolderGateway.js.map +1 -1
  207. package/features/folders/getFolder/useGetFolder.d.ts +1 -1
  208. package/features/folders/getFolder/useGetFolder.js.map +1 -1
  209. package/features/folders/getFolderAncestors/FolderDto.d.ts +9 -0
  210. package/features/folders/getFolderAncestors/FolderDto.js +3 -0
  211. package/features/folders/getFolderAncestors/FolderDto.js.map +1 -0
  212. package/features/folders/getFolderAncestors/GetFolderAncestors.d.ts +4 -0
  213. package/features/folders/getFolderAncestors/GetFolderAncestors.js +12 -0
  214. package/features/folders/getFolderAncestors/GetFolderAncestors.js.map +1 -0
  215. package/features/folders/getFolderAncestors/GetFolderAncestors.test.d.ts +1 -0
  216. package/features/folders/getFolderAncestors/GetFolderAncestors.test.js +97 -0
  217. package/features/folders/getFolderAncestors/GetFolderAncestors.test.js.map +1 -0
  218. package/features/folders/getFolderAncestors/GetFolderAncestorsRepository.d.ts +7 -0
  219. package/features/folders/getFolderAncestors/GetFolderAncestorsRepository.js +25 -0
  220. package/features/folders/getFolderAncestors/GetFolderAncestorsRepository.js.map +1 -0
  221. package/features/folders/getFolderAncestors/GetFolderAncestorsUseCase.d.ts +14 -0
  222. package/features/folders/getFolderAncestors/GetFolderAncestorsUseCase.js +18 -0
  223. package/features/folders/getFolderAncestors/GetFolderAncestorsUseCase.js.map +1 -0
  224. package/features/folders/getFolderAncestors/IGetFolderAncestorsRepository.d.ts +4 -0
  225. package/features/folders/getFolderAncestors/IGetFolderAncestorsRepository.js +3 -0
  226. package/features/folders/getFolderAncestors/IGetFolderAncestorsRepository.js.map +1 -0
  227. package/features/folders/getFolderAncestors/IGetFolderAncestorsUseCase.d.ts +7 -0
  228. package/features/folders/getFolderAncestors/IGetFolderAncestorsUseCase.js +3 -0
  229. package/features/folders/getFolderAncestors/IGetFolderAncestorsUseCase.js.map +1 -0
  230. package/features/folders/getFolderAncestors/index.d.ts +1 -0
  231. package/features/folders/getFolderAncestors/index.js +3 -0
  232. package/features/folders/getFolderAncestors/index.js.map +1 -0
  233. package/features/folders/getFolderAncestors/useGetFolderAncestors.d.ts +3 -0
  234. package/features/folders/getFolderAncestors/useGetFolderAncestors.js +17 -0
  235. package/features/folders/getFolderAncestors/useGetFolderAncestors.js.map +1 -0
  236. package/features/folders/getFolderExtensionsFields/IGetFolderExtensionsFieldsRepository.d.ts +1 -1
  237. package/features/folders/getFolderExtensionsFields/IGetFolderExtensionsFieldsRepository.js.map +1 -1
  238. package/features/folders/getFolderExtensionsFields/IGetFolderExtensionsFieldsUseCase.d.ts +1 -1
  239. package/features/folders/getFolderExtensionsFields/IGetFolderExtensionsFieldsUseCase.js.map +1 -1
  240. package/features/folders/getFolderHierarchy/FolderDto.d.ts +2 -2
  241. package/features/folders/getFolderHierarchy/FolderDto.js.map +1 -1
  242. package/features/folders/getFolderHierarchy/FolderGqlDto.d.ts +1 -1
  243. package/features/folders/getFolderHierarchy/FolderGqlDto.js.map +1 -1
  244. package/features/folders/getFolderHierarchy/GetFolderHierarchy.d.ts +5 -5
  245. package/features/folders/getFolderHierarchy/GetFolderHierarchy.js.map +1 -1
  246. package/features/folders/getFolderHierarchy/GetFolderHierarchyGqlGateway.d.ts +3 -3
  247. package/features/folders/getFolderHierarchy/GetFolderHierarchyGqlGateway.js.map +1 -1
  248. package/features/folders/getFolderHierarchy/GetFolderHierarchyRepository.d.ts +3 -3
  249. package/features/folders/getFolderHierarchy/GetFolderHierarchyRepository.js.map +1 -1
  250. package/features/folders/getFolderHierarchy/GetFolderHierarchyUseCase.d.ts +2 -2
  251. package/features/folders/getFolderHierarchy/GetFolderHierarchyUseCase.js.map +1 -1
  252. package/features/folders/getFolderHierarchy/GetFolderHierarchyUseCaseWithLoading.d.ts +2 -2
  253. package/features/folders/getFolderHierarchy/GetFolderHierarchyUseCaseWithLoading.js.map +1 -1
  254. package/features/folders/getFolderHierarchy/IGetFolderHierarchyGateway.d.ts +1 -1
  255. package/features/folders/getFolderHierarchy/IGetFolderHierarchyGateway.js.map +1 -1
  256. package/features/folders/getFolderHierarchy/useGetFolderHierarchy.d.ts +1 -1
  257. package/features/folders/getFolderHierarchy/useGetFolderHierarchy.js.map +1 -1
  258. package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.d.ts +2 -2
  259. package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.js.map +1 -1
  260. package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionRepository.d.ts +4 -4
  261. package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionRepository.js.map +1 -1
  262. package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionUseCase.d.ts +1 -1
  263. package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionUseCase.js.map +1 -1
  264. package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionWithFlpUseCase.d.ts +2 -2
  265. package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionWithFlpUseCase.js.map +1 -1
  266. package/features/folders/getFolderLevelPermission/useGetFolderLevelPermission.d.ts +1 -1
  267. package/features/folders/getFolderLevelPermission/useGetFolderLevelPermission.js.map +1 -1
  268. package/features/folders/getFolderModel/FolderModelContext.js.map +1 -1
  269. package/features/folders/getFolderModel/FolderModelDto.d.ts +1 -1
  270. package/features/folders/getFolderModel/FolderModelDto.js.map +1 -1
  271. package/features/folders/getFolderModel/GetFolderModel.d.ts +3 -3
  272. package/features/folders/getFolderModel/GetFolderModel.js.map +1 -1
  273. package/features/folders/getFolderModel/GetFolderModelGqlGateway.d.ts +4 -4
  274. package/features/folders/getFolderModel/GetFolderModelGqlGateway.js.map +1 -1
  275. package/features/folders/getFolderModel/GetFolderModelRepository.d.ts +2 -2
  276. package/features/folders/getFolderModel/GetFolderModelRepository.js.map +1 -1
  277. package/features/folders/getFolderModel/GetFolderModelUseCase.d.ts +2 -2
  278. package/features/folders/getFolderModel/GetFolderModelUseCase.js.map +1 -1
  279. package/features/folders/getFolderModel/IGetFolderModelGateway.d.ts +1 -1
  280. package/features/folders/getFolderModel/IGetFolderModelGateway.js.map +1 -1
  281. package/features/folders/getFolderModel/IGetFolderModelRepository.d.ts +1 -1
  282. package/features/folders/getFolderModel/IGetFolderModelRepository.js.map +1 -1
  283. package/features/folders/index.d.ts +1 -0
  284. package/features/folders/index.js +1 -0
  285. package/features/folders/index.js.map +1 -1
  286. package/features/folders/listFolders/FolderDto.d.ts +2 -2
  287. package/features/folders/listFolders/FolderDto.js.map +1 -1
  288. package/features/folders/listFolders/FolderGqlDto.d.ts +1 -1
  289. package/features/folders/listFolders/FolderGqlDto.js.map +1 -1
  290. package/features/folders/listFolders/IListFoldersGateway.d.ts +1 -1
  291. package/features/folders/listFolders/IListFoldersGateway.js.map +1 -1
  292. package/features/folders/listFolders/ListFolders.d.ts +5 -5
  293. package/features/folders/listFolders/ListFolders.js.map +1 -1
  294. package/features/folders/listFolders/ListFoldersCompressedGqlGateway.d.ts +3 -3
  295. package/features/folders/listFolders/ListFoldersCompressedGqlGateway.js.map +1 -1
  296. package/features/folders/listFolders/ListFoldersGqlGateway.d.ts +3 -3
  297. package/features/folders/listFolders/ListFoldersGqlGateway.js.map +1 -1
  298. package/features/folders/listFolders/ListFoldersRepository.d.ts +3 -3
  299. package/features/folders/listFolders/ListFoldersRepository.js.map +1 -1
  300. package/features/folders/listFolders/ListFoldersUseCase.d.ts +2 -2
  301. package/features/folders/listFolders/ListFoldersUseCase.js.map +1 -1
  302. package/features/folders/listFolders/ListFoldersUseCaseWithLoading.d.ts +2 -2
  303. package/features/folders/listFolders/ListFoldersUseCaseWithLoading.js.map +1 -1
  304. package/features/folders/listFolders/useListFolders.d.ts +1 -1
  305. package/features/folders/listFolders/useListFolders.js.map +1 -1
  306. package/features/folders/listFoldersByParentIds/FolderDto.d.ts +2 -2
  307. package/features/folders/listFoldersByParentIds/FolderDto.js.map +1 -1
  308. package/features/folders/listFoldersByParentIds/FolderGqlDto.d.ts +1 -1
  309. package/features/folders/listFoldersByParentIds/FolderGqlDto.js.map +1 -1
  310. package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsGateway.d.ts +1 -1
  311. package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsGateway.js.map +1 -1
  312. package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.d.ts +5 -5
  313. package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.js.map +1 -1
  314. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsGqlGateway.d.ts +3 -3
  315. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsGqlGateway.js.map +1 -1
  316. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepository.d.ts +3 -3
  317. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepository.js.map +1 -1
  318. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepositoryWithLoadedCache.d.ts +2 -2
  319. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepositoryWithLoadedCache.js.map +1 -1
  320. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCase.d.ts +2 -2
  321. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCase.js.map +1 -1
  322. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCaseWithLoading.d.ts +3 -3
  323. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCaseWithLoading.js.map +1 -1
  324. package/features/folders/listFoldersByParentIds/useListFoldersByParentIds.d.ts +1 -1
  325. package/features/folders/listFoldersByParentIds/useListFoldersByParentIds.js.map +1 -1
  326. package/features/folders/updateFolder/FolderDto.d.ts +1 -1
  327. package/features/folders/updateFolder/FolderDto.js.map +1 -1
  328. package/features/folders/updateFolder/FolderGqlDto.d.ts +1 -1
  329. package/features/folders/updateFolder/FolderGqlDto.js.map +1 -1
  330. package/features/folders/updateFolder/IUpdateFolderGateway.d.ts +2 -2
  331. package/features/folders/updateFolder/IUpdateFolderGateway.js.map +1 -1
  332. package/features/folders/updateFolder/IUpdateFolderRepository.d.ts +1 -1
  333. package/features/folders/updateFolder/IUpdateFolderRepository.js.map +1 -1
  334. package/features/folders/updateFolder/IUpdateFolderUseCase.d.ts +1 -1
  335. package/features/folders/updateFolder/IUpdateFolderUseCase.js.map +1 -1
  336. package/features/folders/updateFolder/UpdateFolder.d.ts +2 -2
  337. package/features/folders/updateFolder/UpdateFolder.js.map +1 -1
  338. package/features/folders/updateFolder/UpdateFolder.test.js.map +1 -1
  339. package/features/folders/updateFolder/UpdateFolderGqlGateway.d.ts +4 -4
  340. package/features/folders/updateFolder/UpdateFolderGqlGateway.js.map +1 -1
  341. package/features/folders/updateFolder/UpdateFolderRepository.d.ts +3 -3
  342. package/features/folders/updateFolder/UpdateFolderRepository.js.map +1 -1
  343. package/features/folders/updateFolder/UpdateFolderRepositoryWithPathChange.d.ts +2 -2
  344. package/features/folders/updateFolder/UpdateFolderRepositoryWithPathChange.js.map +1 -1
  345. package/features/folders/updateFolder/UpdateFolderRepositoryWithPermissionsChange.d.ts +2 -2
  346. package/features/folders/updateFolder/UpdateFolderRepositoryWithPermissionsChange.js.map +1 -1
  347. package/features/folders/updateFolder/UpdateFolderUseCase.d.ts +2 -2
  348. package/features/folders/updateFolder/UpdateFolderUseCase.js.map +1 -1
  349. package/features/folders/updateFolder/UpdateFolderUseCaseWithLoading.d.ts +2 -2
  350. package/features/folders/updateFolder/UpdateFolderUseCaseWithLoading.js.map +1 -1
  351. package/features/folders/updateFolder/UpdateFolderUseCaseWithoutInheritedPermissions.d.ts +1 -1
  352. package/features/folders/updateFolder/UpdateFolderUseCaseWithoutInheritedPermissions.js.map +1 -1
  353. package/features/folders/updateFolder/useUpdateFolder.d.ts +1 -1
  354. package/features/folders/updateFolder/useUpdateFolder.js.map +1 -1
  355. package/graphql/app.gql.d.ts +1 -1
  356. package/graphql/app.gql.js.map +1 -1
  357. package/graphql/records/common.d.ts +1 -1
  358. package/graphql/records/common.js.map +1 -1
  359. package/graphql/records/createRecord.d.ts +1 -1
  360. package/graphql/records/createRecord.js.map +1 -1
  361. package/graphql/records/deleteRecord.d.ts +1 -1
  362. package/graphql/records/deleteRecord.js.map +1 -1
  363. package/graphql/records/getRecord.d.ts +1 -1
  364. package/graphql/records/getRecord.js.map +1 -1
  365. package/graphql/records/listRecords.d.ts +1 -1
  366. package/graphql/records/listRecords.js.map +1 -1
  367. package/graphql/records/listTags.d.ts +1 -1
  368. package/graphql/records/listTags.js.map +1 -1
  369. package/graphql/records/moveRecord.d.ts +1 -1
  370. package/graphql/records/moveRecord.js.map +1 -1
  371. package/graphql/records/types.d.ts +1 -1
  372. package/graphql/records/types.js.map +1 -1
  373. package/graphql/records/updateRecord.d.ts +1 -1
  374. package/graphql/records/updateRecord.js.map +1 -1
  375. package/handlers.d.ts +4 -4
  376. package/handlers.js.map +1 -1
  377. package/hooks/useAcoApp.d.ts +1 -1
  378. package/hooks/useAcoApp.js.map +1 -1
  379. package/hooks/useAcoList.d.ts +2 -2
  380. package/hooks/useAcoList.js.map +1 -1
  381. package/hooks/useRecords.d.ts +2 -2
  382. package/hooks/useRecords.js.map +1 -1
  383. package/hooks/useTags.d.ts +1 -1
  384. package/hooks/useTags.js.map +1 -1
  385. package/index.d.ts +2 -0
  386. package/index.js +1 -0
  387. package/index.js.map +1 -1
  388. package/package.json +18 -18
  389. package/sorting.d.ts +1 -1
  390. package/sorting.js.map +1 -1
  391. package/table.types.d.ts +6 -4
  392. package/table.types.js.map +1 -1
  393. package/types.d.ts +2 -2
  394. package/types.js +0 -1
  395. package/types.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["React","Property","useIdGenerator","createUseTableRow","BaseColumn","after","undefined","before","cell","className","header","hideable","name","remove","resizable","size","sortable","visible","getId","placeAfter","placeBefore","createElement","id","array","value","isFolderRow","row","$type","Column","Object","assign"],"sources":["Column.tsx"],"sourcesContent":["import React, { ReactElement } from \"react\";\nimport { Property, useIdGenerator } from \"@webiny/react-properties\";\nimport { createUseTableRow } from \"~/components/Table/useTableRow\";\nimport { FolderTableItem, BaseTableItem } from \"~/types\";\n\nexport interface ColumnConfig {\n cell: string | ReactElement;\n className: string;\n header: string | ReactElement;\n hideable: boolean;\n name: string;\n resizable: boolean;\n size: number;\n sortable: boolean;\n visible: boolean;\n}\n\nexport interface ColumnProps {\n after?: string;\n before?: string;\n cell?: string | ReactElement;\n className?: string;\n header?: string | ReactElement;\n hideable?: boolean;\n name: string;\n remove?: boolean;\n resizable?: boolean;\n size?: number;\n sortable?: boolean;\n visible?: boolean;\n}\n\nconst BaseColumn: React.FC<ColumnProps> = ({\n after = undefined,\n before = undefined,\n cell,\n className = undefined,\n header = undefined,\n hideable = true,\n name,\n remove = false,\n resizable = true,\n size = 100,\n sortable = false,\n visible = true\n}) => {\n const getId = useIdGenerator(\"tableColumn\");\n\n const placeAfter = after !== undefined ? getId(after) : undefined;\n const placeBefore = before !== undefined ? getId(before) : undefined;\n\n return (\n <Property id=\"table\" name={\"table\"}>\n <Property\n id={getId(name)}\n name={\"columns\"}\n remove={remove}\n array={true}\n before={placeBefore}\n after={placeAfter}\n >\n <Property id={getId(name, \"name\")} name={\"name\"} value={name} />\n <Property id={getId(name, \"sortable\")} name={\"sortable\"} value={sortable} />\n <Property id={getId(name, \"resizable\")} name={\"resizable\"} value={resizable} />\n <Property id={getId(name, \"hideable\")} name={\"hideable\"} value={hideable} />\n <Property id={getId(name, \"size\")} name={\"size\"} value={size} />\n <Property id={getId(name, \"visible\")} name={\"visible\"} value={visible} />\n {header ? (\n <Property id={getId(name, \"header\")} name={\"header\"} value={header} />\n ) : null}\n {cell ? <Property id={getId(name, \"cell\")} name={\"cell\"} value={cell} /> : null}\n {className ? (\n <Property id={getId(name, \"className\")} name={\"className\"} value={className} />\n ) : null}\n </Property>\n </Property>\n );\n};\n\nconst isFolderRow = (row: BaseTableItem): row is FolderTableItem => {\n return row.$type === \"FOLDER\";\n};\n\nexport const Column = Object.assign(BaseColumn, { isFolderRow, createUseTableRow });\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Property","useIdGenerator","createUseTableRow","BaseColumn","after","undefined","before","cell","className","header","hideable","name","remove","resizable","size","sortable","visible","getId","placeAfter","placeBefore","createElement","id","array","value","isFolderRow","row","$type","Column","Object","assign"],"sources":["Column.tsx"],"sourcesContent":["import type { ReactElement } from \"react\";\nimport React from \"react\";\nimport { Property, useIdGenerator } from \"@webiny/react-properties\";\nimport { createUseTableRow } from \"~/components/Table/useTableRow\";\nimport type { FolderTableRow, TableRow } from \"~/table.types\";\n\nexport interface ColumnConfig {\n cell: string | ReactElement;\n className: string;\n header: string | ReactElement;\n hideable: boolean;\n name: string;\n resizable: boolean;\n size: number;\n sortable: boolean;\n visible: boolean;\n}\n\nexport interface ColumnProps {\n after?: string;\n before?: string;\n cell?: string | ReactElement;\n className?: string;\n header?: string | ReactElement;\n hideable?: boolean;\n name: string;\n remove?: boolean;\n resizable?: boolean;\n size?: number;\n sortable?: boolean;\n visible?: boolean;\n}\n\nconst BaseColumn: React.FC<ColumnProps> = ({\n after = undefined,\n before = undefined,\n cell,\n className = undefined,\n header = undefined,\n hideable = true,\n name,\n remove = false,\n resizable = true,\n size = 100,\n sortable = false,\n visible = true\n}) => {\n const getId = useIdGenerator(\"tableColumn\");\n\n const placeAfter = after !== undefined ? getId(after) : undefined;\n const placeBefore = before !== undefined ? getId(before) : undefined;\n\n return (\n <Property id=\"table\" name={\"table\"}>\n <Property\n id={getId(name)}\n name={\"columns\"}\n remove={remove}\n array={true}\n before={placeBefore}\n after={placeAfter}\n >\n <Property id={getId(name, \"name\")} name={\"name\"} value={name} />\n <Property id={getId(name, \"sortable\")} name={\"sortable\"} value={sortable} />\n <Property id={getId(name, \"resizable\")} name={\"resizable\"} value={resizable} />\n <Property id={getId(name, \"hideable\")} name={\"hideable\"} value={hideable} />\n <Property id={getId(name, \"size\")} name={\"size\"} value={size} />\n <Property id={getId(name, \"visible\")} name={\"visible\"} value={visible} />\n {header ? (\n <Property id={getId(name, \"header\")} name={\"header\"} value={header} />\n ) : null}\n {cell ? <Property id={getId(name, \"cell\")} name={\"cell\"} value={cell} /> : null}\n {className ? (\n <Property id={getId(name, \"className\")} name={\"className\"} value={className} />\n ) : null}\n </Property>\n </Property>\n );\n};\n\nconst isFolderRow = (row: TableRow): row is FolderTableRow => {\n return row.$type === \"FOLDER\";\n};\n\nexport const Column = Object.assign(BaseColumn, { isFolderRow, createUseTableRow });\n"],"mappings":"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","ignoreList":[]}
@@ -1,14 +1,19 @@
1
1
  /// <reference types="react" />
2
- import { ColumnConfig } from "./Column";
3
- import { SortingConfig } from "./Sorting";
2
+ import type { ColumnConfig } from "./Column";
3
+ import type { SortingConfig } from "./Sorting";
4
4
  export interface TableConfig {
5
5
  columns: ColumnConfig[];
6
6
  sorting: SortingConfig[];
7
7
  }
8
8
  export declare const Table: {
9
9
  Column: import("react").FC<import("./Column").ColumnProps> & {
10
- isFolderRow: (row: import("../../table.types").BaseTableItem) => row is import("../../table.types").FolderTableItem;
11
- createUseTableRow: <TBaseRow = Record<string, any>>() => <TUserRow = Record<string, any>>() => import("../..").TableRowContextData<TBaseRow & import("@webiny/admin-ui/DataTable/DataTable").DataTableDefaultData & TUserRow>;
10
+ isFolderRow: (row: import("../..").TableRow<unknown>) => row is import("../..").FolderTableRow;
11
+ createUseTableRow: <TBaseRow = Record<string, any>>() => {
12
+ (): import("../..").TableRowContextData<TBaseRow>;
13
+ <TUserRow>(): import("../..").TableRowContextData<TBaseRow & {
14
+ data: TUserRow;
15
+ }>;
16
+ };
12
17
  };
13
18
  Sorting: ({ name, field, order }: import("./Sorting").SortingProps) => import("react").JSX.Element;
14
19
  };
@@ -1 +1 @@
1
- {"version":3,"names":["Column","Sorting","Table"],"sources":["index.ts"],"sourcesContent":["import { Column, ColumnConfig } from \"./Column\";\nimport { Sorting, SortingConfig } from \"./Sorting\";\nexport interface TableConfig {\n columns: ColumnConfig[];\n sorting: SortingConfig[];\n}\n\nexport const Table = {\n Column,\n Sorting\n};\n"],"mappings":"AAAA,SAASA,MAAM;AACf,SAASC,OAAO;AAMhB,OAAO,MAAMC,KAAK,GAAG;EACjBF,MAAM;EACNC;AACJ,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["Column","Sorting","Table"],"sources":["index.ts"],"sourcesContent":["import type { ColumnConfig } from \"./Column\";\nimport { Column } from \"./Column\";\nimport type { SortingConfig } from \"./Sorting\";\nimport { Sorting } from \"./Sorting\";\nexport interface TableConfig {\n columns: ColumnConfig[];\n sorting: SortingConfig[];\n}\n\nexport const Table = {\n Column,\n Sorting\n};\n"],"mappings":"AACA,SAASA,MAAM;AAEf,SAASC,OAAO;AAMhB,OAAO,MAAMC,KAAK,GAAG;EACjBF,MAAM;EACNC;AACJ,CAAC","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { FolderItem, GenericSearchData, ListMeta, ListSearchRecordsSort } from "../types";
2
+ import type { FolderItem, GenericSearchData, ListMeta, ListSearchRecordsSort } from "../types";
3
3
  export interface AcoListContextData<T> {
4
4
  folders: FolderItem[];
5
5
  hideFilters: () => void;
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useContext","useEffect","dotPropImmutable","pick","useStateIfMounted","useSecurity","useAcoApp","useNavigateFolder","useGetDescendantFolders","useGetFolderHierarchy","useListFoldersByParentIds","FoldersContext","SearchRecordsContext","sortTableItems","validateOrGetDefaultDbSort","ROOT_FOLDER","AcoListContext","createContext","undefined","initializeAcoListState","after","filters","folderId","isSearch","limit","listSort","searchQuery","selected","showingFilters","showingSelectAll","isSelectedAll","getCurrentFolderList","folders","currentFolderId","toLowerCase","filter","folder","parentId","getCurrentRecordList","records","folderIdPath","record","get","AcoListProvider","children","props","identity","folderIdInPath","originalFolders","getIsFolderLoading","getFolderHierarchy","getDescendantFolders","listFoldersByParentIds","folderContext","searchContext","Error","setFolders","setRecords","listTitle","setListTitle","state","setState","originalRecords","loading","recordsLoading","listRecords","meta","length","currentFolder","find","id","title","subFolders","subRecords","prev","titleField","titleFieldId","listMoreRecords","hasMoreItems","cursor","getWhere","where","descendantFolderIds","map","set","createdBy","own","listItems","Boolean","Object","values","params","sort","search","folderWithChildren","foldersLength","recordsLength","selectedLength","folderWithChildrenLength","getAllRecordsAreSelected","prevState","context","isListLoading","INIT","LIST","isListLoadingMore","LIST_MORE","setSearchQuery","query","setFilters","data","fromEntries","entries","value","keys","setListSort","setSelected","hideFilters","showFilters","selectAll","unselectAll","createElement","Provider"],"sources":["acoList.tsx"],"sourcesContent":["import React, { useCallback, useContext, useEffect } from \"react\";\nimport dotPropImmutable from \"dot-prop-immutable\";\nimport pick from \"lodash/pick\";\nimport { useStateIfMounted } from \"@webiny/app-admin\";\nimport { useSecurity } from \"@webiny/app-security\";\nimport {\n FolderItem,\n GenericSearchData,\n ListMeta,\n ListSearchRecordsQueryVariables,\n ListSearchRecordsSort,\n SearchRecordItem\n} from \"~/types\";\nimport { useAcoApp, useNavigateFolder } from \"~/hooks\";\nimport {\n useGetDescendantFolders,\n useGetFolderHierarchy,\n useListFoldersByParentIds\n} from \"~/features\";\nimport { FoldersContext } from \"~/contexts/folders\";\nimport { SearchRecordsContext } from \"~/contexts/records\";\nimport { sortTableItems, validateOrGetDefaultDbSort } from \"~/sorting\";\nimport { ROOT_FOLDER } from \"~/constants\";\n\nexport interface AcoListContextData<T> {\n folders: FolderItem[];\n hideFilters: () => void;\n isListLoading: boolean;\n isListLoadingMore: boolean;\n isSearch: boolean;\n listMoreRecords: () => void;\n listTitle?: string;\n meta: ListMeta;\n records: T[];\n selected: T[];\n setFilters: (data: Record<string, any>) => void;\n setListSort: (state: ListSearchRecordsSort) => void;\n setSearchQuery: (query: string) => void;\n setSelected: (selected: T[]) => void;\n showFilters: () => void;\n showingFilters: boolean;\n showingSelectAll: boolean;\n searchQuery: string;\n isSelectedAll: boolean;\n selectAll: () => void;\n unselectAll: () => void;\n getWhere: () => Record<string, any>;\n}\n\nexport const AcoListContext = React.createContext<\n AcoListContextData<GenericSearchData> | undefined\n>(undefined);\n\nexport interface State<T> {\n after?: string;\n filters?: Record<string, any>;\n folderId?: string;\n isSearch: boolean;\n limit: number;\n listSort: ListSearchRecordsSort;\n searchQuery: string;\n selected: T[];\n showingFilters: boolean;\n showingSelectAll: boolean;\n isSelectedAll: boolean;\n}\n\nconst initializeAcoListState = (): State<GenericSearchData> => {\n return {\n after: undefined,\n filters: undefined,\n folderId: undefined,\n isSearch: false,\n limit: 50,\n listSort: [],\n searchQuery: \"\",\n selected: [],\n showingFilters: false,\n showingSelectAll: false,\n isSelectedAll: false\n };\n};\n\nconst getCurrentFolderList = (\n folders?: FolderItem[] | null,\n currentFolderId?: string\n): FolderItem[] | [] => {\n if (!folders) {\n return [];\n }\n if (!currentFolderId || currentFolderId.toLowerCase() === ROOT_FOLDER) {\n return folders.filter(\n folder => !folder.parentId || folder.parentId.toLowerCase() === ROOT_FOLDER\n );\n }\n return folders.filter(folder => folder.parentId === currentFolderId);\n};\n\nconst getCurrentRecordList = <T extends GenericSearchData = GenericSearchData>(\n records: SearchRecordItem<T>[],\n folderIdPath: string,\n currentFolderId?: string\n): SearchRecordItem<T>[] => {\n if (!records) {\n return [];\n }\n\n if (!currentFolderId) {\n return records;\n }\n\n return records.filter(\n (record): record is SearchRecordItem<T> =>\n dotPropImmutable.get(record, folderIdPath) === currentFolderId\n );\n};\n\nexport interface AcoListProviderProps {\n children: React.ReactNode;\n own?: boolean;\n titleFieldId: string | null;\n}\n\nexport const AcoListProvider = ({ children, ...props }: AcoListProviderProps) => {\n const { identity } = useSecurity();\n const { currentFolderId } = useNavigateFolder();\n const { folderIdPath, folderIdInPath } = useAcoApp();\n const {\n folders: originalFolders,\n getIsFolderLoading,\n getFolderHierarchy\n } = useGetFolderHierarchy();\n const { getDescendantFolders } = useGetDescendantFolders();\n const { listFoldersByParentIds } = useListFoldersByParentIds();\n const folderContext = useContext(FoldersContext);\n const searchContext = useContext(SearchRecordsContext);\n\n if (!folderContext || !searchContext) {\n throw new Error(\"useAcoList must be used within a ACOProvider\");\n }\n\n const [folders, setFolders] = useStateIfMounted<FolderItem[]>([]);\n const [records, setRecords] = useStateIfMounted<SearchRecordItem[]>([]);\n const [listTitle, setListTitle] = useStateIfMounted<string | undefined>(undefined);\n const [state, setState] = useStateIfMounted<State<GenericSearchData>>(initializeAcoListState());\n\n const { records: originalRecords, loading: recordsLoading, listRecords, meta } = searchContext;\n\n /**\n * On first mount, call `getFolderHierarchy` and `setState`, which will either issue a network request, or load folders and records from cache.\n * We don't need to store the result of it to any local state; that is managed by the context provider.\n *\n * We don't call `listRecords` directly, instead we call `setState` making it the only driver to fetch records from the apis.\n */\n useEffect(() => {\n // The folders collection is empty, it must be the first render, let's load the full hierarchy.\n if (folders.length === 0) {\n getFolderHierarchy(currentFolderId);\n } else {\n // Otherwise let's load only the current folder sub-tree\n listFoldersByParentIds([currentFolderId]);\n }\n\n setState(state => {\n return {\n ...state,\n after: undefined,\n filters: undefined,\n folderId: currentFolderId,\n isSearch: false,\n searchQuery: \"\",\n selected: [],\n showingFilters: false,\n showingSelectAll: false,\n isSelectedAll: false\n };\n });\n }, [currentFolderId]);\n\n /**\n * Any time we receive a `folders` list update:\n * - we set an empty array in case of search;\n * - we set the list filtered by the current `type` and parent `folderId`, sorted according to the current `sort` value;\n * - we set the current folder name.\n */\n useEffect(() => {\n const currentFolder = originalFolders?.find(\n folder => folder.id === (state.folderId || ROOT_FOLDER)\n );\n\n setListTitle(currentFolder?.title);\n\n if (state.isSearch) {\n setFolders([]);\n return;\n }\n\n const subFolders = getCurrentFolderList(originalFolders, state.folderId);\n setFolders(() => {\n return sortTableItems(subFolders, state.listSort);\n });\n }, [originalFolders, state.folderId, state.isSearch]);\n\n /**\n * Any time we receive a `records` list or `folderId` update:\n * - we set all `records` in case of search query;\n * - we set the `records` list filtered by the current `folderId`.\n */\n useEffect(() => {\n if (state.isSearch) {\n setRecords(originalRecords as SearchRecordItem[]);\n return;\n }\n\n const subRecords = getCurrentRecordList(\n originalRecords as SearchRecordItem[],\n folderIdPath,\n state.folderId\n );\n setRecords(subRecords);\n }, [originalRecords, state.folderId, state.isSearch]);\n\n /**\n * Any time we receive a new `sort` value:\n * - we sort the current `folders` list according to `sorting` value;\n */\n useEffect(() => {\n setFolders(prev => {\n const titleField = props?.titleFieldId || \"id\";\n return sortTableItems(prev, state.listSort, {\n [titleField]: \"title\"\n });\n });\n }, [state.listSort]);\n\n /**\n * Utility function to list/load more records, the `meta` state is tracked internally.\n */\n const listMoreRecords = useCallback(() => {\n const { hasMoreItems, cursor } = meta;\n if (hasMoreItems && cursor) {\n setState(state => ({ ...state, after: cursor }));\n }\n }, [meta]);\n\n /**\n * Constructs a \"where\" condition object based on the current state and properties.\n *\n * This function creates a \"where\" object used to filter data based on the current folder ID,\n * ownership status, and other existing filters in the state.\n *\n * @returns {Object} A \"where\" condition object containing filters for querying data.\n */\n const getWhere = useCallback(() => {\n // Initialize an empty object\n let where = {};\n\n if (!state.folderId) {\n return where;\n }\n\n // Check if the current folder ID is not the ROOT_FOLDER folder\n if (state.folderId !== ROOT_FOLDER) {\n // Get descendant folder IDs of the current folder\n const descendantFolderIds = getDescendantFolders(state.folderId).map(\n folder => folder.id\n );\n\n // Set the locationWhere object with descendant folder IDs\n where = dotPropImmutable.set({}, folderIdInPath, descendantFolderIds);\n }\n\n return {\n createdBy: props.own ? identity?.id : undefined, // Set 'createdBy' based on the ownership status\n ...state.filters, // Merge existing filters into the 'where' condition\n ...where // Include where condition if applicable\n };\n }, [folders, state.folderId, state.filters, props.own, identity]);\n\n /**\n * Any time we receive new useful `state` params:\n * - we fetch records according to the new params\n */\n useEffect(() => {\n const listItems = async () => {\n if (!state.folderId) {\n return;\n }\n\n const isSearch = Boolean(\n state.searchQuery ||\n (state.filters && Object.values(state.filters).filter(Boolean).length)\n );\n\n let where = dotPropImmutable.set({}, folderIdPath, state.folderId);\n\n // In case of a search or filters applied, let's get the where condition based on the current folder ID,\n // ownership status, and other existing filters in the state.\n if (isSearch) {\n where = getWhere();\n }\n\n const params: ListSearchRecordsQueryVariables = {\n limit: state.limit,\n sort: validateOrGetDefaultDbSort(state.listSort),\n search: state.searchQuery,\n after: state.after,\n where\n };\n\n await listRecords(params);\n\n setState(state => ({ ...state, isSearch }));\n };\n\n listItems();\n }, [\n state.folderId,\n state.filters,\n state.searchQuery,\n state.after,\n state.listSort,\n state.limit,\n props.own,\n identity\n ]);\n\n /**\n * useEffect hook to determine if the \"Select All\" option should be displayed based on the current state and meta properties:\n * - if in the root folder with no folders, checks if all records are selected.\n * - if in a non-root folder with multiple descendant folders, checks if all records are selected.\n * - if there are more items to load, checks if all records are selected.\n */\n useEffect(() => {\n // Destructure relevant properties from state and meta\n const { selected, folderId } = state;\n const { hasMoreItems } = meta;\n\n // Retrieve all descendant folders of the current folderId\n const folderWithChildren = folderId ? getDescendantFolders(folderId) : [];\n\n // Compute the lengths of various arrays for later comparisons\n const foldersLength = folders.length;\n const recordsLength = records.length;\n const selectedLength = selected.length;\n const folderWithChildrenLength = folderWithChildren.length;\n\n // Function to determine if all records are selected\n const getAllRecordsAreSelected = () => !!recordsLength && recordsLength === selectedLength;\n\n // Initialize a flag to determine if the \"Select All\" option should be shown\n let showingSelectAll = false;\n\n // If in the root folder and there are some folders, check if all records are selected\n if (folderId === ROOT_FOLDER && foldersLength > 0) {\n showingSelectAll = getAllRecordsAreSelected();\n }\n\n // If not in the root folder and there are multiple descendant folders, check if all records are selected\n if (folderId !== ROOT_FOLDER && folderWithChildrenLength > 1) {\n showingSelectAll = getAllRecordsAreSelected();\n }\n\n // If there are more items to load, check if all records are selected\n if (hasMoreItems) {\n showingSelectAll = getAllRecordsAreSelected();\n }\n\n // Update the component's state based on the computed showingSelectAll flag\n setState(prevState => {\n // Only update if there is a change in showingSelectAll or if isSelectedAll was true previously\n if (!prevState.isSelectedAll && prevState.showingSelectAll === showingSelectAll) {\n return prevState;\n }\n\n // Return the new state with updated showingSelectAll and reset isSelectedAll to false\n return {\n ...prevState,\n isSelectedAll: false,\n showingSelectAll\n };\n });\n }, [\n records.length,\n folders.length,\n state.isSearch,\n meta.hasMoreItems,\n state.selected.length,\n state.folderId\n ]);\n\n const context: AcoListContextData<GenericSearchData> = {\n ...pick(state, [\n \"isSearch\",\n \"searchQuery\",\n \"selected\",\n \"showingFilters\",\n \"showingSelectAll\",\n \"isSelectedAll\"\n ]),\n folders,\n records,\n listTitle,\n isListLoading: Boolean(\n recordsLoading.INIT || recordsLoading.LIST || getIsFolderLoading(currentFolderId)\n ),\n isListLoadingMore: Boolean(recordsLoading.LIST_MORE),\n meta,\n setSearchQuery(query) {\n setState(state => ({ ...state, searchQuery: query, after: undefined }));\n },\n setFilters(data) {\n setState(state => ({ ...state, filters: data, after: undefined }));\n // Create filters object excluding entries with `undefined` values\n const filters = Object.fromEntries(\n Object.entries(data).filter(([, value]) => value !== undefined)\n );\n\n setState(state => ({\n ...state,\n filters: Object.keys(filters).length ? filters : undefined,\n after: undefined\n }));\n },\n setListSort(sort: ListSearchRecordsSort) {\n setState(state => ({ ...state, listSort: sort, after: undefined }));\n },\n setSelected(selected) {\n setState(state => ({ ...state, selected }));\n },\n hideFilters() {\n setState(state => ({\n ...state,\n filters: undefined,\n showingFilters: false,\n after: undefined\n }));\n },\n showFilters() {\n setState(state => ({ ...state, showingFilters: true }));\n },\n selectAll() {\n setState(state => ({ ...state, isSelectedAll: true }));\n },\n unselectAll() {\n setState(state => ({\n ...state,\n selected: [],\n isSelectedAll: false\n }));\n },\n getWhere,\n listMoreRecords\n };\n\n return <AcoListContext.Provider value={context}>{children}</AcoListContext.Provider>;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useContext","useEffect","dotPropImmutable","pick","useStateIfMounted","useSecurity","useAcoApp","useNavigateFolder","useGetDescendantFolders","useGetFolderHierarchy","useListFoldersByParentIds","FoldersContext","SearchRecordsContext","sortTableItems","validateOrGetDefaultDbSort","ROOT_FOLDER","AcoListContext","createContext","undefined","initializeAcoListState","after","filters","folderId","isSearch","limit","listSort","searchQuery","selected","showingFilters","showingSelectAll","isSelectedAll","getCurrentFolderList","folders","currentFolderId","toLowerCase","filter","folder","parentId","getCurrentRecordList","records","folderIdPath","record","get","AcoListProvider","children","props","identity","folderIdInPath","originalFolders","getIsFolderLoading","getFolderHierarchy","getDescendantFolders","listFoldersByParentIds","folderContext","searchContext","Error","setFolders","setRecords","listTitle","setListTitle","state","setState","originalRecords","loading","recordsLoading","listRecords","meta","length","currentFolder","find","id","title","subFolders","subRecords","prev","titleField","titleFieldId","listMoreRecords","hasMoreItems","cursor","getWhere","where","descendantFolderIds","map","set","createdBy","own","listItems","Boolean","Object","values","params","sort","search","folderWithChildren","foldersLength","recordsLength","selectedLength","folderWithChildrenLength","getAllRecordsAreSelected","prevState","context","isListLoading","INIT","LIST","isListLoadingMore","LIST_MORE","setSearchQuery","query","setFilters","data","fromEntries","entries","value","keys","setListSort","setSelected","hideFilters","showFilters","selectAll","unselectAll","createElement","Provider"],"sources":["acoList.tsx"],"sourcesContent":["import React, { useCallback, useContext, useEffect } from \"react\";\nimport dotPropImmutable from \"dot-prop-immutable\";\nimport pick from \"lodash/pick\";\nimport { useStateIfMounted } from \"@webiny/app-admin\";\nimport { useSecurity } from \"@webiny/app-security\";\nimport type {\n FolderItem,\n GenericSearchData,\n ListMeta,\n ListSearchRecordsQueryVariables,\n ListSearchRecordsSort,\n SearchRecordItem\n} from \"~/types\";\nimport { useAcoApp, useNavigateFolder } from \"~/hooks\";\nimport {\n useGetDescendantFolders,\n useGetFolderHierarchy,\n useListFoldersByParentIds\n} from \"~/features\";\nimport { FoldersContext } from \"~/contexts/folders\";\nimport { SearchRecordsContext } from \"~/contexts/records\";\nimport { sortTableItems, validateOrGetDefaultDbSort } from \"~/sorting\";\nimport { ROOT_FOLDER } from \"~/constants\";\n\nexport interface AcoListContextData<T> {\n folders: FolderItem[];\n hideFilters: () => void;\n isListLoading: boolean;\n isListLoadingMore: boolean;\n isSearch: boolean;\n listMoreRecords: () => void;\n listTitle?: string;\n meta: ListMeta;\n records: T[];\n selected: T[];\n setFilters: (data: Record<string, any>) => void;\n setListSort: (state: ListSearchRecordsSort) => void;\n setSearchQuery: (query: string) => void;\n setSelected: (selected: T[]) => void;\n showFilters: () => void;\n showingFilters: boolean;\n showingSelectAll: boolean;\n searchQuery: string;\n isSelectedAll: boolean;\n selectAll: () => void;\n unselectAll: () => void;\n getWhere: () => Record<string, any>;\n}\n\nexport const AcoListContext = React.createContext<\n AcoListContextData<GenericSearchData> | undefined\n>(undefined);\n\nexport interface State<T> {\n after?: string;\n filters?: Record<string, any>;\n folderId?: string;\n isSearch: boolean;\n limit: number;\n listSort: ListSearchRecordsSort;\n searchQuery: string;\n selected: T[];\n showingFilters: boolean;\n showingSelectAll: boolean;\n isSelectedAll: boolean;\n}\n\nconst initializeAcoListState = (): State<GenericSearchData> => {\n return {\n after: undefined,\n filters: undefined,\n folderId: undefined,\n isSearch: false,\n limit: 50,\n listSort: [],\n searchQuery: \"\",\n selected: [],\n showingFilters: false,\n showingSelectAll: false,\n isSelectedAll: false\n };\n};\n\nconst getCurrentFolderList = (\n folders?: FolderItem[] | null,\n currentFolderId?: string\n): FolderItem[] | [] => {\n if (!folders) {\n return [];\n }\n if (!currentFolderId || currentFolderId.toLowerCase() === ROOT_FOLDER) {\n return folders.filter(\n folder => !folder.parentId || folder.parentId.toLowerCase() === ROOT_FOLDER\n );\n }\n return folders.filter(folder => folder.parentId === currentFolderId);\n};\n\nconst getCurrentRecordList = <T extends GenericSearchData = GenericSearchData>(\n records: SearchRecordItem<T>[],\n folderIdPath: string,\n currentFolderId?: string\n): SearchRecordItem<T>[] => {\n if (!records) {\n return [];\n }\n\n if (!currentFolderId) {\n return records;\n }\n\n return records.filter(\n (record): record is SearchRecordItem<T> =>\n dotPropImmutable.get(record, folderIdPath) === currentFolderId\n );\n};\n\nexport interface AcoListProviderProps {\n children: React.ReactNode;\n own?: boolean;\n titleFieldId: string | null;\n}\n\nexport const AcoListProvider = ({ children, ...props }: AcoListProviderProps) => {\n const { identity } = useSecurity();\n const { currentFolderId } = useNavigateFolder();\n const { folderIdPath, folderIdInPath } = useAcoApp();\n const {\n folders: originalFolders,\n getIsFolderLoading,\n getFolderHierarchy\n } = useGetFolderHierarchy();\n const { getDescendantFolders } = useGetDescendantFolders();\n const { listFoldersByParentIds } = useListFoldersByParentIds();\n const folderContext = useContext(FoldersContext);\n const searchContext = useContext(SearchRecordsContext);\n\n if (!folderContext || !searchContext) {\n throw new Error(\"useAcoList must be used within a ACOProvider\");\n }\n\n const [folders, setFolders] = useStateIfMounted<FolderItem[]>([]);\n const [records, setRecords] = useStateIfMounted<SearchRecordItem[]>([]);\n const [listTitle, setListTitle] = useStateIfMounted<string | undefined>(undefined);\n const [state, setState] = useStateIfMounted<State<GenericSearchData>>(initializeAcoListState());\n\n const { records: originalRecords, loading: recordsLoading, listRecords, meta } = searchContext;\n\n /**\n * On first mount, call `getFolderHierarchy` and `setState`, which will either issue a network request, or load folders and records from cache.\n * We don't need to store the result of it to any local state; that is managed by the context provider.\n *\n * We don't call `listRecords` directly, instead we call `setState` making it the only driver to fetch records from the apis.\n */\n useEffect(() => {\n // The folders collection is empty, it must be the first render, let's load the full hierarchy.\n if (folders.length === 0) {\n getFolderHierarchy(currentFolderId);\n } else {\n // Otherwise let's load only the current folder sub-tree\n listFoldersByParentIds([currentFolderId]);\n }\n\n setState(state => {\n return {\n ...state,\n after: undefined,\n filters: undefined,\n folderId: currentFolderId,\n isSearch: false,\n searchQuery: \"\",\n selected: [],\n showingFilters: false,\n showingSelectAll: false,\n isSelectedAll: false\n };\n });\n }, [currentFolderId]);\n\n /**\n * Any time we receive a `folders` list update:\n * - we set an empty array in case of search;\n * - we set the list filtered by the current `type` and parent `folderId`, sorted according to the current `sort` value;\n * - we set the current folder name.\n */\n useEffect(() => {\n const currentFolder = originalFolders?.find(\n folder => folder.id === (state.folderId || ROOT_FOLDER)\n );\n\n setListTitle(currentFolder?.title);\n\n if (state.isSearch) {\n setFolders([]);\n return;\n }\n\n const subFolders = getCurrentFolderList(originalFolders, state.folderId);\n setFolders(() => {\n return sortTableItems(subFolders, state.listSort);\n });\n }, [originalFolders, state.folderId, state.isSearch]);\n\n /**\n * Any time we receive a `records` list or `folderId` update:\n * - we set all `records` in case of search query;\n * - we set the `records` list filtered by the current `folderId`.\n */\n useEffect(() => {\n if (state.isSearch) {\n setRecords(originalRecords as SearchRecordItem[]);\n return;\n }\n\n const subRecords = getCurrentRecordList(\n originalRecords as SearchRecordItem[],\n folderIdPath,\n state.folderId\n );\n setRecords(subRecords);\n }, [originalRecords, state.folderId, state.isSearch]);\n\n /**\n * Any time we receive a new `sort` value:\n * - we sort the current `folders` list according to `sorting` value;\n */\n useEffect(() => {\n setFolders(prev => {\n const titleField = props?.titleFieldId || \"id\";\n return sortTableItems(prev, state.listSort, {\n [titleField]: \"title\"\n });\n });\n }, [state.listSort]);\n\n /**\n * Utility function to list/load more records, the `meta` state is tracked internally.\n */\n const listMoreRecords = useCallback(() => {\n const { hasMoreItems, cursor } = meta;\n if (hasMoreItems && cursor) {\n setState(state => ({ ...state, after: cursor }));\n }\n }, [meta]);\n\n /**\n * Constructs a \"where\" condition object based on the current state and properties.\n *\n * This function creates a \"where\" object used to filter data based on the current folder ID,\n * ownership status, and other existing filters in the state.\n *\n * @returns {Object} A \"where\" condition object containing filters for querying data.\n */\n const getWhere = useCallback(() => {\n // Initialize an empty object\n let where = {};\n\n if (!state.folderId) {\n return where;\n }\n\n // Check if the current folder ID is not the ROOT_FOLDER folder\n if (state.folderId !== ROOT_FOLDER) {\n // Get descendant folder IDs of the current folder\n const descendantFolderIds = getDescendantFolders(state.folderId).map(\n folder => folder.id\n );\n\n // Set the locationWhere object with descendant folder IDs\n where = dotPropImmutable.set({}, folderIdInPath, descendantFolderIds);\n }\n\n return {\n createdBy: props.own ? identity?.id : undefined, // Set 'createdBy' based on the ownership status\n ...state.filters, // Merge existing filters into the 'where' condition\n ...where // Include where condition if applicable\n };\n }, [folders, state.folderId, state.filters, props.own, identity]);\n\n /**\n * Any time we receive new useful `state` params:\n * - we fetch records according to the new params\n */\n useEffect(() => {\n const listItems = async () => {\n if (!state.folderId) {\n return;\n }\n\n const isSearch = Boolean(\n state.searchQuery ||\n (state.filters && Object.values(state.filters).filter(Boolean).length)\n );\n\n let where = dotPropImmutable.set({}, folderIdPath, state.folderId);\n\n // In case of a search or filters applied, let's get the where condition based on the current folder ID,\n // ownership status, and other existing filters in the state.\n if (isSearch) {\n where = getWhere();\n }\n\n const params: ListSearchRecordsQueryVariables = {\n limit: state.limit,\n sort: validateOrGetDefaultDbSort(state.listSort),\n search: state.searchQuery,\n after: state.after,\n where\n };\n\n await listRecords(params);\n\n setState(state => ({ ...state, isSearch }));\n };\n\n listItems();\n }, [\n state.folderId,\n state.filters,\n state.searchQuery,\n state.after,\n state.listSort,\n state.limit,\n props.own,\n identity\n ]);\n\n /**\n * useEffect hook to determine if the \"Select All\" option should be displayed based on the current state and meta properties:\n * - if in the root folder with no folders, checks if all records are selected.\n * - if in a non-root folder with multiple descendant folders, checks if all records are selected.\n * - if there are more items to load, checks if all records are selected.\n */\n useEffect(() => {\n // Destructure relevant properties from state and meta\n const { selected, folderId } = state;\n const { hasMoreItems } = meta;\n\n // Retrieve all descendant folders of the current folderId\n const folderWithChildren = folderId ? getDescendantFolders(folderId) : [];\n\n // Compute the lengths of various arrays for later comparisons\n const foldersLength = folders.length;\n const recordsLength = records.length;\n const selectedLength = selected.length;\n const folderWithChildrenLength = folderWithChildren.length;\n\n // Function to determine if all records are selected\n const getAllRecordsAreSelected = () => !!recordsLength && recordsLength === selectedLength;\n\n // Initialize a flag to determine if the \"Select All\" option should be shown\n let showingSelectAll = false;\n\n // If in the root folder and there are some folders, check if all records are selected\n if (folderId === ROOT_FOLDER && foldersLength > 0) {\n showingSelectAll = getAllRecordsAreSelected();\n }\n\n // If not in the root folder and there are multiple descendant folders, check if all records are selected\n if (folderId !== ROOT_FOLDER && folderWithChildrenLength > 1) {\n showingSelectAll = getAllRecordsAreSelected();\n }\n\n // If there are more items to load, check if all records are selected\n if (hasMoreItems) {\n showingSelectAll = getAllRecordsAreSelected();\n }\n\n // Update the component's state based on the computed showingSelectAll flag\n setState(prevState => {\n // Only update if there is a change in showingSelectAll or if isSelectedAll was true previously\n if (!prevState.isSelectedAll && prevState.showingSelectAll === showingSelectAll) {\n return prevState;\n }\n\n // Return the new state with updated showingSelectAll and reset isSelectedAll to false\n return {\n ...prevState,\n isSelectedAll: false,\n showingSelectAll\n };\n });\n }, [\n records.length,\n folders.length,\n state.isSearch,\n meta.hasMoreItems,\n state.selected.length,\n state.folderId\n ]);\n\n const context: AcoListContextData<GenericSearchData> = {\n ...pick(state, [\n \"isSearch\",\n \"searchQuery\",\n \"selected\",\n \"showingFilters\",\n \"showingSelectAll\",\n \"isSelectedAll\"\n ]),\n folders,\n records,\n listTitle,\n isListLoading: Boolean(\n recordsLoading.INIT || recordsLoading.LIST || getIsFolderLoading(currentFolderId)\n ),\n isListLoadingMore: Boolean(recordsLoading.LIST_MORE),\n meta,\n setSearchQuery(query) {\n setState(state => ({ ...state, searchQuery: query, after: undefined }));\n },\n setFilters(data) {\n setState(state => ({ ...state, filters: data, after: undefined }));\n // Create filters object excluding entries with `undefined` values\n const filters = Object.fromEntries(\n Object.entries(data).filter(([, value]) => value !== undefined)\n );\n\n setState(state => ({\n ...state,\n filters: Object.keys(filters).length ? filters : undefined,\n after: undefined\n }));\n },\n setListSort(sort: ListSearchRecordsSort) {\n setState(state => ({ ...state, listSort: sort, after: undefined }));\n },\n setSelected(selected) {\n setState(state => ({ ...state, selected }));\n },\n hideFilters() {\n setState(state => ({\n ...state,\n filters: undefined,\n showingFilters: false,\n after: undefined\n }));\n },\n showFilters() {\n setState(state => ({ ...state, showingFilters: true }));\n },\n selectAll() {\n setState(state => ({ ...state, isSelectedAll: true }));\n },\n unselectAll() {\n setState(state => ({\n ...state,\n selected: [],\n isSelectedAll: false\n }));\n },\n getWhere,\n listMoreRecords\n };\n\n return <AcoListContext.Provider value={context}>{children}</AcoListContext.Provider>;\n};\n"],"mappings":"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","ignoreList":[]}
package/contexts/app.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
- import { ApolloClient } from "apollo-client";
3
- import { AcoApp, AcoAppMode, AcoError, AcoModel, AcoModelField } from "../types";
2
+ import type { ApolloClient } from "apollo-client";
3
+ import type { AcoApp, AcoAppMode, AcoError, AcoModel, AcoModelField } from "../types";
4
4
  export interface AcoAppProviderContext {
5
5
  app: AcoApp;
6
6
  folderIdPath: string;
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useMemo","useState","DialogsProvider","createGetAppQuery","FoldersProvider","FoldersContextProvider","SearchRecordsProvider","SearchRecordsContextProvider","DisplayError","Loading","NavigateFolderWithRouterProvider","AcoListProvider","AcoAppContext","createContext","undefined","createAppFromModel","data","getFields","model","fields","createApiApp","console","error","dataField","find","f","fieldId","id","settings","AcoAppProvider","children","client","inputModel","folderIdQueryString","createNavigateFolderListLink","createNavigateFolderStorageKey","folderIdPath","initialFolderIdPath","own","state","setState","loading","app","mode","folderIdInPath","prev","query","variables","then","response","aco","message","code","modelId","value","createElement","Provider","createListLink","createStorageKey","titleFieldId"],"sources":["app.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from \"react\";\nimport { ApolloClient } from \"apollo-client\";\nimport { DialogsProvider } from \"@webiny/app-admin\";\nimport { AcoApp, AcoAppMode, AcoError, AcoModel, AcoModelField } from \"~/types\";\nimport { createGetAppQuery, GetAppResult, GetAppVariables } from \"~/graphql/app.gql\";\nimport { FoldersProvider as FoldersContextProvider } from \"./folders\";\nimport { SearchRecordsProvider as SearchRecordsContextProvider } from \"./records\";\nimport { DisplayError } from \"./DisplayError\";\nimport { Loading } from \"./Loading\";\nimport { NavigateFolderWithRouterProvider } from \"~/contexts/navigateFolderWithRouter\";\nimport { AcoListProvider } from \"~/contexts/acoList\";\n\nexport interface AcoAppProviderContext {\n app: AcoApp;\n folderIdPath: string;\n folderIdInPath: string;\n model: AcoModel;\n client: ApolloClient<any>;\n loading: boolean;\n error?: AcoError | null;\n mode: AcoAppMode;\n}\n\ninterface AcoAppProviderState {\n loading: boolean;\n app?: AcoApp | null;\n model?: AcoModel | null;\n error?: AcoError | null;\n mode: AcoAppMode;\n}\n\nexport const AcoAppContext = React.createContext<AcoAppProviderContext | undefined>(undefined);\n\ninterface BaseAcoAppProviderProps {\n children: React.ReactNode;\n id: string;\n folderIdPath?: string;\n folderIdQueryString?: string;\n client: ApolloClient<any>;\n createNavigateFolderListLink?: () => string;\n createNavigateFolderStorageKey: () => string;\n own?: boolean;\n}\n\nexport interface AcoAppProviderPropsApi extends BaseAcoAppProviderProps {\n model?: never;\n getFields?: never;\n}\n\nexport interface AcoAppProviderPropsManual extends BaseAcoAppProviderProps {\n model: AcoModel;\n getFields?: () => AcoModelField[];\n}\n\nexport type AcoAppProviderProps = AcoAppProviderPropsApi | AcoAppProviderPropsManual;\n\ninterface CreateAppParams {\n id: string;\n model: AcoModel;\n getFields?: () => AcoModelField[];\n}\n\nexport const createAppFromModel = (data: CreateAppParams): AcoApp => {\n return {\n ...data,\n getFields:\n data.getFields ||\n (() => {\n return data.model.fields;\n })\n };\n};\n\ninterface CreateApiAppParams {\n id: string;\n model: AcoModel;\n}\n\nconst createApiApp = (data: CreateApiAppParams | null): AcoApp | null => {\n if (!data) {\n console.error(`The APP could not be created. No data received.`);\n return null;\n }\n const dataField = data.model.fields.find(f => f.fieldId === \"data\");\n if (!dataField) {\n console.error(`The APP \"${data.id}\" does not have the data field.`);\n return null;\n }\n return {\n ...data,\n getFields: () => {\n return dataField?.settings?.fields || [];\n }\n };\n};\n\nexport const AcoAppProvider = ({\n children,\n id,\n client,\n model: inputModel,\n getFields,\n folderIdQueryString,\n createNavigateFolderListLink,\n createNavigateFolderStorageKey,\n folderIdPath: initialFolderIdPath,\n own\n}: AcoAppProviderProps) => {\n const [state, setState] = useState<AcoAppProviderState>({\n loading: false,\n app: null,\n model: null,\n error: null,\n mode: \"aco\"\n });\n const folderIdPath = initialFolderIdPath || \"location.folderId\";\n const folderIdInPath = folderIdPath + \"_in\";\n\n /**\n * The APP Provider can operate in two modes:\n * * `app` - when the `id` is provided, the app is fetched from the API\n * * `model` - when the `model` is provided, the app is created from the model\n */\n useEffect(() => {\n if (!id) {\n return;\n }\n /**\n * In the `model` mode, we don't need to fetch the app from the API.\n * BUT, the input model must be `undefined`. In case it's `null`, just return because there will be a model at a point.\n */\n if (inputModel !== undefined) {\n if (!inputModel) {\n return;\n }\n setState(prev => {\n return {\n ...prev,\n loading: false,\n model: inputModel,\n app: createAppFromModel({\n id,\n model: inputModel,\n getFields\n }),\n mode: \"cms\"\n };\n });\n return;\n }\n if (id === state.app?.id) {\n return;\n }\n setState(prev => {\n return {\n ...prev,\n loading: true\n };\n });\n client\n .query<GetAppResult, GetAppVariables>({\n query: createGetAppQuery(),\n variables: {\n id\n }\n })\n .then(response => {\n const { data, error } = response.data.aco?.app || {};\n\n if (error) {\n setState(prev => {\n return {\n ...prev,\n loading: false,\n app: null,\n model: null,\n error,\n mode: \"aco\"\n };\n });\n return;\n }\n\n setState(prev => {\n const app = createApiApp(data);\n if (!app) {\n return {\n ...prev,\n loading: false,\n app: null,\n model: null,\n mode: \"aco\",\n error: {\n message: `App \"${id}\" not found!`,\n code: \"APP_NOT_FOUND\"\n }\n };\n }\n return {\n ...prev,\n loading: false,\n app,\n model: app.model,\n error: null,\n mode: \"aco\"\n };\n });\n });\n }, [id, inputModel?.modelId]);\n\n const { app, model, error, loading, mode } = state;\n\n const value = useMemo<AcoAppProviderContext>(() => {\n return {\n app: app as AcoApp,\n folderIdPath,\n folderIdInPath,\n loading,\n client,\n model: model as AcoModel,\n error,\n mode\n };\n }, [app?.id, loading, error, model, client, mode]);\n /**\n * Do not render anything yet if there is no application.\n */\n if (error) {\n return <div>Error: {error.message}</div>;\n } else if (loading) {\n return <Loading />;\n } else if (!app) {\n return (\n <DisplayError>\n There is no ACO App: <strong>{id}</strong>!\n </DisplayError>\n );\n } else if (!model) {\n return (\n <DisplayError>\n There is no model for the ACO App: <strong>{id}</strong>!\n </DisplayError>\n );\n }\n\n return (\n <AcoAppContext.Provider value={value}>\n <FoldersContextProvider>\n <SearchRecordsContextProvider>\n <NavigateFolderWithRouterProvider\n folderIdQueryString={folderIdQueryString}\n createListLink={createNavigateFolderListLink}\n createStorageKey={createNavigateFolderStorageKey}\n >\n <AcoListProvider own={own} titleFieldId={model.titleFieldId}>\n <DialogsProvider>{children}</DialogsProvider>\n </AcoListProvider>\n </NavigateFolderWithRouterProvider>\n </SearchRecordsContextProvider>\n </FoldersContextProvider>\n </AcoAppContext.Provider>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useMemo","useState","DialogsProvider","createGetAppQuery","FoldersProvider","FoldersContextProvider","SearchRecordsProvider","SearchRecordsContextProvider","DisplayError","Loading","NavigateFolderWithRouterProvider","AcoListProvider","AcoAppContext","createContext","undefined","createAppFromModel","data","getFields","model","fields","createApiApp","console","error","dataField","find","f","fieldId","id","settings","AcoAppProvider","children","client","inputModel","folderIdQueryString","createNavigateFolderListLink","createNavigateFolderStorageKey","folderIdPath","initialFolderIdPath","own","state","setState","loading","app","mode","folderIdInPath","prev","query","variables","then","response","aco","message","code","modelId","value","createElement","Provider","createListLink","createStorageKey","titleFieldId"],"sources":["app.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from \"react\";\nimport type { ApolloClient } from \"apollo-client\";\nimport { DialogsProvider } from \"@webiny/app-admin\";\nimport type { AcoApp, AcoAppMode, AcoError, AcoModel, AcoModelField } from \"~/types\";\nimport type { GetAppResult, GetAppVariables } from \"~/graphql/app.gql\";\nimport { createGetAppQuery } from \"~/graphql/app.gql\";\nimport { FoldersProvider as FoldersContextProvider } from \"./folders\";\nimport { SearchRecordsProvider as SearchRecordsContextProvider } from \"./records\";\nimport { DisplayError } from \"./DisplayError\";\nimport { Loading } from \"./Loading\";\nimport { NavigateFolderWithRouterProvider } from \"~/contexts/navigateFolderWithRouter\";\nimport { AcoListProvider } from \"~/contexts/acoList\";\n\nexport interface AcoAppProviderContext {\n app: AcoApp;\n folderIdPath: string;\n folderIdInPath: string;\n model: AcoModel;\n client: ApolloClient<any>;\n loading: boolean;\n error?: AcoError | null;\n mode: AcoAppMode;\n}\n\ninterface AcoAppProviderState {\n loading: boolean;\n app?: AcoApp | null;\n model?: AcoModel | null;\n error?: AcoError | null;\n mode: AcoAppMode;\n}\n\nexport const AcoAppContext = React.createContext<AcoAppProviderContext | undefined>(undefined);\n\ninterface BaseAcoAppProviderProps {\n children: React.ReactNode;\n id: string;\n folderIdPath?: string;\n folderIdQueryString?: string;\n client: ApolloClient<any>;\n createNavigateFolderListLink?: () => string;\n createNavigateFolderStorageKey: () => string;\n own?: boolean;\n}\n\nexport interface AcoAppProviderPropsApi extends BaseAcoAppProviderProps {\n model?: never;\n getFields?: never;\n}\n\nexport interface AcoAppProviderPropsManual extends BaseAcoAppProviderProps {\n model: AcoModel;\n getFields?: () => AcoModelField[];\n}\n\nexport type AcoAppProviderProps = AcoAppProviderPropsApi | AcoAppProviderPropsManual;\n\ninterface CreateAppParams {\n id: string;\n model: AcoModel;\n getFields?: () => AcoModelField[];\n}\n\nexport const createAppFromModel = (data: CreateAppParams): AcoApp => {\n return {\n ...data,\n getFields:\n data.getFields ||\n (() => {\n return data.model.fields;\n })\n };\n};\n\ninterface CreateApiAppParams {\n id: string;\n model: AcoModel;\n}\n\nconst createApiApp = (data: CreateApiAppParams | null): AcoApp | null => {\n if (!data) {\n console.error(`The APP could not be created. No data received.`);\n return null;\n }\n const dataField = data.model.fields.find(f => f.fieldId === \"data\");\n if (!dataField) {\n console.error(`The APP \"${data.id}\" does not have the data field.`);\n return null;\n }\n return {\n ...data,\n getFields: () => {\n return dataField?.settings?.fields || [];\n }\n };\n};\n\nexport const AcoAppProvider = ({\n children,\n id,\n client,\n model: inputModel,\n getFields,\n folderIdQueryString,\n createNavigateFolderListLink,\n createNavigateFolderStorageKey,\n folderIdPath: initialFolderIdPath,\n own\n}: AcoAppProviderProps) => {\n const [state, setState] = useState<AcoAppProviderState>({\n loading: false,\n app: null,\n model: null,\n error: null,\n mode: \"aco\"\n });\n const folderIdPath = initialFolderIdPath || \"location.folderId\";\n const folderIdInPath = folderIdPath + \"_in\";\n\n /**\n * The APP Provider can operate in two modes:\n * * `app` - when the `id` is provided, the app is fetched from the API\n * * `model` - when the `model` is provided, the app is created from the model\n */\n useEffect(() => {\n if (!id) {\n return;\n }\n /**\n * In the `model` mode, we don't need to fetch the app from the API.\n * BUT, the input model must be `undefined`. In case it's `null`, just return because there will be a model at a point.\n */\n if (inputModel !== undefined) {\n if (!inputModel) {\n return;\n }\n setState(prev => {\n return {\n ...prev,\n loading: false,\n model: inputModel,\n app: createAppFromModel({\n id,\n model: inputModel,\n getFields\n }),\n mode: \"cms\"\n };\n });\n return;\n }\n if (id === state.app?.id) {\n return;\n }\n setState(prev => {\n return {\n ...prev,\n loading: true\n };\n });\n client\n .query<GetAppResult, GetAppVariables>({\n query: createGetAppQuery(),\n variables: {\n id\n }\n })\n .then(response => {\n const { data, error } = response.data.aco?.app || {};\n\n if (error) {\n setState(prev => {\n return {\n ...prev,\n loading: false,\n app: null,\n model: null,\n error,\n mode: \"aco\"\n };\n });\n return;\n }\n\n setState(prev => {\n const app = createApiApp(data);\n if (!app) {\n return {\n ...prev,\n loading: false,\n app: null,\n model: null,\n mode: \"aco\",\n error: {\n message: `App \"${id}\" not found!`,\n code: \"APP_NOT_FOUND\"\n }\n };\n }\n return {\n ...prev,\n loading: false,\n app,\n model: app.model,\n error: null,\n mode: \"aco\"\n };\n });\n });\n }, [id, inputModel?.modelId]);\n\n const { app, model, error, loading, mode } = state;\n\n const value = useMemo<AcoAppProviderContext>(() => {\n return {\n app: app as AcoApp,\n folderIdPath,\n folderIdInPath,\n loading,\n client,\n model: model as AcoModel,\n error,\n mode\n };\n }, [app?.id, loading, error, model, client, mode]);\n /**\n * Do not render anything yet if there is no application.\n */\n if (error) {\n return <div>Error: {error.message}</div>;\n } else if (loading) {\n return <Loading />;\n } else if (!app) {\n return (\n <DisplayError>\n There is no ACO App: <strong>{id}</strong>!\n </DisplayError>\n );\n } else if (!model) {\n return (\n <DisplayError>\n There is no model for the ACO App: <strong>{id}</strong>!\n </DisplayError>\n );\n }\n\n return (\n <AcoAppContext.Provider value={value}>\n <FoldersContextProvider>\n <SearchRecordsContextProvider>\n <NavigateFolderWithRouterProvider\n folderIdQueryString={folderIdQueryString}\n createListLink={createNavigateFolderListLink}\n createStorageKey={createNavigateFolderStorageKey}\n >\n <AcoListProvider own={own} titleFieldId={model.titleFieldId}>\n <DialogsProvider>{children}</DialogsProvider>\n </AcoListProvider>\n </NavigateFolderWithRouterProvider>\n </SearchRecordsContextProvider>\n </FoldersContextProvider>\n </AcoAppContext.Provider>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { FolderItem } from "../types";
2
+ import type { FolderItem } from "../types";
3
3
  export interface FolderContext {
4
4
  folder: FolderItem;
5
5
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","createContext","FolderContext","undefined","FolderProvider","folder","children","value","createElement","Provider"],"sources":["folder.tsx"],"sourcesContent":["import React, { createContext } from \"react\";\nimport { FolderItem } from \"~/types\";\n\nexport interface FolderContext {\n folder: FolderItem;\n}\n\nexport const FolderContext = createContext<FolderContext | undefined>(undefined);\n\ninterface FolderProviderProps {\n folder: FolderItem | undefined;\n children: React.ReactNode;\n}\n\nexport const FolderProvider = ({ folder, children }: FolderProviderProps) => {\n if (!folder) {\n return null;\n }\n\n const value: FolderContext = { folder };\n\n return <FolderContext.Provider value={value}>{children}</FolderContext.Provider>;\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,aAAa,QAAQ,OAAO;AAO5C,OAAO,MAAMC,aAAa,gBAAGD,aAAa,CAA4BE,SAAS,CAAC;AAOhF,OAAO,MAAMC,cAAc,GAAGA,CAAC;EAAEC,MAAM;EAAEC;AAA8B,CAAC,KAAK;EACzE,IAAI,CAACD,MAAM,EAAE;IACT,OAAO,IAAI;EACf;EAEA,MAAME,KAAoB,GAAG;IAAEF;EAAO,CAAC;EAEvC,oBAAOL,KAAA,CAAAQ,aAAA,CAACN,aAAa,CAACO,QAAQ;IAACF,KAAK,EAAEA;EAAM,GAAED,QAAiC,CAAC;AACpF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","createContext","FolderContext","undefined","FolderProvider","folder","children","value","createElement","Provider"],"sources":["folder.tsx"],"sourcesContent":["import React, { createContext } from \"react\";\nimport type { FolderItem } from \"~/types\";\n\nexport interface FolderContext {\n folder: FolderItem;\n}\n\nexport const FolderContext = createContext<FolderContext | undefined>(undefined);\n\ninterface FolderProviderProps {\n folder: FolderItem | undefined;\n children: React.ReactNode;\n}\n\nexport const FolderProvider = ({ folder, children }: FolderProviderProps) => {\n if (!folder) {\n return null;\n }\n\n const value: FolderContext = { folder };\n\n return <FolderContext.Provider value={value}>{children}</FolderContext.Provider>;\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,aAAa,QAAQ,OAAO;AAO5C,OAAO,MAAMC,aAAa,gBAAGD,aAAa,CAA4BE,SAAS,CAAC;AAOhF,OAAO,MAAMC,cAAc,GAAGA,CAAC;EAAEC,MAAM;EAAEC;AAA8B,CAAC,KAAK;EACzE,IAAI,CAACD,MAAM,EAAE;IACT,OAAO,IAAI;EACf;EAEA,MAAME,KAAoB,GAAG;IAAEF;EAAO,CAAC;EAEvC,oBAAOL,KAAA,CAAAQ,aAAA,CAACN,aAAa,CAACO,QAAQ;IAACF,KAAK,EAAEA;EAAM,GAAED,QAAiC,CAAC;AACpF,CAAC","ignoreList":[]}
@@ -1,4 +1,5 @@
1
- import React, { ReactNode } from "react";
1
+ import type { ReactNode } from "react";
2
+ import React from "react";
2
3
  interface FoldersContext {
3
4
  type?: string | null;
4
5
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","useContext","useMemo","AcoAppContext","FoldersContext","createContext","undefined","FoldersProvider","children","props","appContext","app","type","id","Error","context","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,OAAOA,KAAK,IAAeC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAC7D,SAASC,aAAa;AAMtB,OAAO,MAAMC,cAAc,gBAAGJ,KAAK,CAACK,aAAa,CAA6BC,SAAS,CAAC;AAOxF,OAAO,MAAMC,eAAe,GAAGA,CAAC;EAAEC,QAAQ;EAAE,GAAGC;AAAa,CAAC,KAAK;EAC9D,MAAMC,UAAU,GAAGT,UAAU,CAACE,aAAa,CAAC;EAE5C,MAAMQ,GAAG,GAAGD,UAAU,GAAGA,UAAU,CAACC,GAAG,GAAGL,SAAS;EAEnD,MAAMM,IAAI,GAAGH,KAAK,CAACG,IAAI,IAAID,GAAG,EAAEE,EAAE;EAElC,IAAI,CAACD,IAAI,EAAE;IACP,MAAME,KAAK,CAAC,6EAA6E,CAAC;EAC9F;EAEA,MAAMC,OAAO,GAAGb,OAAO,CAAiB,MAAM;IAC1C,OAAO;MACHU;IACJ,CAAC;EACL,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,oBAAOZ,KAAA,CAAAgB,aAAA,CAACZ,cAAc,CAACa,QAAQ;IAACC,KAAK,EAAEH;EAAQ,GAAEP,QAAkC,CAAC;AACxF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useContext","useMemo","AcoAppContext","FoldersContext","createContext","undefined","FoldersProvider","children","props","appContext","app","type","id","Error","context","createElement","Provider","value"],"sources":["folders.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport React, { 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":"AACA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAClD,SAASC,aAAa;AAMtB,OAAO,MAAMC,cAAc,gBAAGJ,KAAK,CAACK,aAAa,CAA6BC,SAAS,CAAC;AAOxF,OAAO,MAAMC,eAAe,GAAGA,CAAC;EAAEC,QAAQ;EAAE,GAAGC;AAAa,CAAC,KAAK;EAC9D,MAAMC,UAAU,GAAGT,UAAU,CAACE,aAAa,CAAC;EAE5C,MAAMQ,GAAG,GAAGD,UAAU,GAAGA,UAAU,CAACC,GAAG,GAAGL,SAAS;EAEnD,MAAMM,IAAI,GAAGH,KAAK,CAACG,IAAI,IAAID,GAAG,EAAEE,EAAE;EAElC,IAAI,CAACD,IAAI,EAAE;IACP,MAAME,KAAK,CAAC,6EAA6E,CAAC;EAC9F;EAEA,MAAMC,OAAO,GAAGb,OAAO,CAAiB,MAAM;IAC1C,OAAO;MACHU;IACJ,CAAC;EACL,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,oBAAOZ,KAAA,CAAAgB,aAAA,CAACZ,cAAc,CAACa,QAAQ;IAACC,KAAK,EAAEH;EAAQ,GAAEP,QAAkC,CAAC;AACxF,CAAC","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- export { AcoAppProvider as AcoProvider, AcoAppProviderProps } from "./app";
1
+ export { AcoAppProvider as AcoProvider, type AcoAppProviderProps } from "./app";
2
2
  export * from "./folder";
package/contexts/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { AcoAppProvider as AcoProvider, AcoAppProviderProps } from "./app";
1
+ export { AcoAppProvider as AcoProvider } from "./app";
2
2
  export * from "./folder";
3
3
 
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["AcoAppProvider","AcoProvider","AcoAppProviderProps"],"sources":["index.tsx"],"sourcesContent":["export { AcoAppProvider as AcoProvider, AcoAppProviderProps } from \"~/contexts/app\";\nexport * from \"./folder\";\n"],"mappings":"AAAA,SAASA,cAAc,IAAIC,WAAW,EAAEC,mBAAmB;AAC3D","ignoreList":[]}
1
+ {"version":3,"names":["AcoAppProvider","AcoProvider"],"sources":["index.tsx"],"sourcesContent":["export { AcoAppProvider as AcoProvider, type AcoAppProviderProps } from \"~/contexts/app\";\nexport * from \"./folder\";\n"],"mappings":"AAAA,SAASA,cAAc,IAAIC,WAAW;AACtC","ignoreList":[]}
@@ -1,5 +1,6 @@
1
- import React, { ReactNode } from "react";
2
- import { DeletableSearchRecordItem, ListMeta, ListSearchRecordsQueryVariables, ListTagsWhereQueryVariables, Loading, LoadingActions, MovableSearchRecordItem, SearchRecordItem, TagItem } from "../types";
1
+ import type { ReactNode } from "react";
2
+ import React from "react";
3
+ import type { DeletableSearchRecordItem, ListMeta, ListSearchRecordsQueryVariables, ListTagsWhereQueryVariables, Loading, LoadingActions, MovableSearchRecordItem, SearchRecordItem, TagItem } from "../types";
3
4
  interface ListTagsParams {
4
5
  where?: ListTagsWhereQueryVariables;
5
6
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","useMemo","sortBy","unionBy","lodashMerge","apolloFetchingHandler","loadingHandler","createCreateRecord","createDeleteRecord","createGetRecord","createListRecords","createListTags","createMoveRecord","createUpdateRecord","validateOrGetDefaultDbSort","useAcoApp","parseIdentifier","useStateIfMounted","useAcoConfig","SearchRecordsContext","createContext","undefined","defaultLoading","INIT","LIST","LIST_MORE","GET","MOVE","CREATE","UPDATE","DELETE","mergeAndSortTags","oldTagItems","newTags","length","newTagItems","map","tag","mergedTagItems","getResponseData","response","mode","content","search","defaultMeta","totalCount","hasMoreItems","cursor","SearchRecordsProvider","children","app","client","model","table","fieldIds","columns","config","name","filter","Boolean","records","setRecords","tags","setTags","loading","setLoading","meta","setMeta","Object","create","GET_RECORD","LIST_RECORDS","UPDATE_RECORD","MOVE_RECORD","DELETE_RECORD","CREATE_RECORD","LIST_TAGS","id","modelId","context","addRecordToCache","record","prev","updateRecordInCache","recordId","index","findIndex","item","itemId","next","removeRecordFromCache","startsWith","listRecords","params","after","limit","sort","sorting","where","action","data","variables","query","fetchPolicy","Error","responseMeta","error","message","getRecord","entryId","code","createRecord","mutate","mutation","updateRecord","contextFolderId","location","title","result","moveRecord","folderId","deleteRecord","listTags","createElement","Provider","value"],"sources":["records.tsx"],"sourcesContent":["import React, { ReactNode, useMemo } from \"react\";\nimport sortBy from \"lodash/sortBy\";\nimport unionBy from \"lodash/unionBy\";\nimport lodashMerge from \"lodash/merge\";\nimport { apolloFetchingHandler, loadingHandler } from \"~/handlers\";\nimport {\n createCreateRecord,\n createDeleteRecord,\n createGetRecord,\n createListRecords,\n createListTags,\n createMoveRecord,\n createUpdateRecord\n} from \"~/graphql/records.gql\";\nimport {\n AcoAppMode,\n CreateSearchRecordResponse,\n CreateSearchRecordVariables,\n DeletableSearchRecordItem,\n DeleteSearchRecordResponse,\n DeleteSearchRecordVariables,\n GetSearchRecordQueryVariables,\n GetSearchRecordResponse,\n ListMeta,\n ListSearchRecordsQueryVariables,\n ListSearchRecordsResponse,\n ListTagsQueryVariables,\n ListTagsResponse,\n ListTagsWhereQueryVariables,\n Loading,\n LoadingActions,\n MovableSearchRecordItem,\n MoveSearchRecordResponse,\n MoveSearchRecordVariables,\n SearchRecordItem,\n TagItem,\n UpdateSearchRecordResponse,\n UpdateSearchRecordVariables\n} from \"~/types\";\nimport { validateOrGetDefaultDbSort } from \"~/sorting\";\nimport { useAcoApp } from \"~/hooks\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport { useStateIfMounted } from \"@webiny/app-admin\";\nimport { useAcoConfig } from \"~/config\";\n\ninterface ListTagsParams {\n where?: ListTagsWhereQueryVariables;\n}\n\nexport type ListRecordsParams = ListSearchRecordsQueryVariables;\n\ninterface SearchRecordsContext {\n records: SearchRecordItem[];\n tags: TagItem[];\n loading: Loading<LoadingActions>;\n meta: ListMeta;\n listRecords: (params: ListRecordsParams) => Promise<SearchRecordItem[]>;\n getRecord: (id: string) => Promise<SearchRecordItem | null>;\n createRecord: (record: Omit<SearchRecordItem, \"id\">) => Promise<SearchRecordItem>;\n updateRecord: (record: SearchRecordItem, contextFolderId?: string) => Promise<SearchRecordItem>;\n moveRecord: (record: MovableSearchRecordItem) => Promise<void>;\n deleteRecord(record: DeletableSearchRecordItem): Promise<true>;\n listTags: (params: ListTagsParams) => Promise<TagItem[]>;\n addRecordToCache: (record: any) => void;\n updateRecordInCache: (record: any) => void;\n removeRecordFromCache: (id: string) => void;\n}\n\nexport const SearchRecordsContext = React.createContext<SearchRecordsContext | undefined>(\n undefined\n);\n\ninterface Props {\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\nconst mergeAndSortTags = (oldTagItems: TagItem[], newTags: string[]): TagItem[] => {\n if (!newTags.length) {\n return oldTagItems;\n }\n\n const newTagItems = newTags.map((tag: string) => ({ tag })); // create TagItem[] from array of strings\n const mergedTagItems = unionBy(oldTagItems, newTagItems, \"tag\"); // merge the two arrays\n\n return sortBy(mergedTagItems, [\"tag\"]);\n};\n\nconst getResponseData = (response: any, mode: AcoAppMode): any => {\n if (mode === \"cms\") {\n return response?.content || {};\n }\n return response.search?.content || {};\n};\n\nconst defaultMeta: ListMeta = {\n totalCount: 0,\n hasMoreItems: false,\n cursor: null\n};\n\nexport const SearchRecordsProvider = ({ children }: Props) => {\n const { app, client, mode } = useAcoApp();\n const { model } = app;\n\n /**\n * Retrieve all `fieldIds` from the ACO configuration, considering field `name`:\n * The result is a deduplicated flat array of unique field IDs.\n */\n const { table } = useAcoConfig();\n const fieldIds = table.columns.map(config => config.name).filter(Boolean);\n\n const [records, setRecords] = useStateIfMounted<SearchRecordItem[]>([]);\n const [tags, setTags] = useStateIfMounted<TagItem[]>([]);\n const [loading, setLoading] = useStateIfMounted<Loading<LoadingActions>>(defaultLoading);\n const [meta, setMeta] = useStateIfMounted<ListMeta>(Object.create(defaultMeta));\n\n const {\n GET_RECORD,\n LIST_RECORDS,\n UPDATE_RECORD,\n MOVE_RECORD,\n DELETE_RECORD,\n CREATE_RECORD,\n LIST_TAGS\n } = useMemo(() => {\n return {\n LIST_RECORDS: createListRecords(model, mode, fieldIds),\n UPDATE_RECORD: createUpdateRecord(model, mode),\n MOVE_RECORD: createMoveRecord(model, mode),\n GET_RECORD: createGetRecord(model, mode),\n LIST_TAGS: createListTags(model, mode),\n DELETE_RECORD: createDeleteRecord(model, mode),\n CREATE_RECORD: createCreateRecord(model, mode)\n };\n }, [app.id, model.modelId, fieldIds]);\n\n const context = useMemo<SearchRecordsContext>(() => {\n return {\n records,\n tags,\n loading,\n meta,\n addRecordToCache: (record: any) => {\n setRecords(prev => {\n return [record, ...prev];\n });\n setMeta(meta => ({\n ...meta,\n totalCount: ++meta.totalCount\n }));\n },\n updateRecordInCache: (record: any) => {\n const { id: recordId } = parseIdentifier(record.id);\n\n setRecords(prev => {\n const index = prev.findIndex(item => {\n const { id: itemId } = parseIdentifier(item.id);\n return itemId === recordId;\n });\n\n if (index >= 0) {\n const next = [...prev];\n next[index] = lodashMerge({}, prev[index], record);\n return next;\n }\n return [record, ...prev];\n });\n },\n removeRecordFromCache: (id: string) => {\n setRecords(prev => {\n return prev.filter(\n record => record.id !== id && !record.id.startsWith(`${id}#`)\n );\n });\n setMeta(meta => ({\n ...meta,\n totalCount: --meta.totalCount\n }));\n },\n\n async listRecords(params) {\n const { after, limit, sort: sorting, search, where } = params;\n\n /**\n * Avoiding fetching records in case they have already been fetched.\n * This happens when visiting a list with all records loaded and receives \"after\" param.\n */\n const totalCount = meta?.totalCount || 0;\n if (after && records.length === totalCount) {\n return records;\n }\n\n const action = after ? \"LIST_MORE\" : \"LIST\";\n const sort = validateOrGetDefaultDbSort(sorting);\n\n const { data: response } = await apolloFetchingHandler<ListSearchRecordsResponse>(\n loadingHandler(action, setLoading),\n () => {\n const variables: ListSearchRecordsQueryVariables = {\n where,\n search,\n limit,\n after,\n sort\n };\n return client.query<\n ListSearchRecordsResponse,\n ListSearchRecordsQueryVariables\n >({\n query: LIST_RECORDS,\n variables,\n fetchPolicy: \"network-only\"\n });\n }\n );\n\n if (!response) {\n throw new Error(\"Could not fetch records - no response.\");\n }\n\n const { data, meta: responseMeta, error } = getResponseData(response, mode);\n\n if (!data || !responseMeta) {\n throw new Error(error?.message || \"Could not fetch records.\");\n }\n\n setRecords(prev => {\n // If there's no cursor, it means we're receiving a new list of records from scratch.\n if (!after) {\n return data;\n }\n\n return [...prev, ...data];\n });\n\n setMeta(() => responseMeta);\n\n setLoading(prev => {\n return {\n ...prev,\n INIT: false\n };\n });\n\n return data;\n },\n async getRecord(id) {\n if (!id) {\n throw new Error(\"Record `id` is mandatory\");\n }\n\n const { id: recordId } = parseIdentifier(id);\n\n const { data: response } = await apolloFetchingHandler<GetSearchRecordResponse>(\n loadingHandler(\"GET\", setLoading),\n () =>\n client.query<GetSearchRecordResponse, GetSearchRecordQueryVariables>({\n query: GET_RECORD,\n variables: { entryId: recordId },\n fetchPolicy: \"network-only\"\n })\n );\n\n if (!response) {\n throw new Error(`Could not fetch record \"${recordId}\" - no response.`);\n }\n\n const { data, error } = getResponseData(response, mode);\n\n if (error && error.code !== \"NOT_FOUND\") {\n throw new Error(\"Network error while syncing record\");\n }\n\n if (!data) {\n // No record found - must be deleted by previous operation\n setRecords(prev => {\n return prev.filter(record => record.id !== recordId);\n });\n setMeta(meta => ({\n ...meta,\n totalCount: --meta.totalCount\n }));\n return data;\n }\n setRecords(prev => {\n const index = prev.findIndex(record => record.id === recordId);\n\n // No record found in the list - must be added by previous operation\n if (index === -1) {\n return [data, ...prev];\n }\n const next = [...prev];\n next[index] = data;\n return next;\n });\n\n setMeta(meta => ({\n ...meta,\n totalCount: ++meta.totalCount\n }));\n\n setTags(tags => {\n if (!data.tags || data.tags.length === 0) {\n return tags;\n }\n\n return mergeAndSortTags(tags, data.tags);\n });\n\n return data;\n },\n async createRecord(record) {\n if (!CREATE_RECORD) {\n throw new Error(\"Missing CREATE_RECORD operation.\");\n }\n\n const { data: response } = await apolloFetchingHandler<CreateSearchRecordResponse>(\n loadingHandler(\"CREATE\", setLoading),\n () =>\n client.mutate<CreateSearchRecordResponse, CreateSearchRecordVariables>({\n mutation: CREATE_RECORD,\n variables: {\n data: record\n }\n })\n );\n\n if (!response) {\n throw new Error(\"Network error while creating search record.\");\n }\n\n const { data, error } = getResponseData(response, mode);\n\n if (!data) {\n throw new Error(error?.message || \"Could not create record\");\n }\n\n setRecords(prev => {\n return [...prev, data];\n });\n\n setMeta(meta => ({\n ...meta,\n totalCount: ++meta.totalCount\n }));\n\n setTags(tags => {\n if (!data.tags || data.tags.length === 0) {\n return tags;\n }\n\n return mergeAndSortTags(tags, data.tags);\n });\n\n return data;\n },\n async updateRecord(record, contextFolderId) {\n if (!contextFolderId) {\n throw new Error(\"`folderId` is mandatory\");\n }\n if (!UPDATE_RECORD) {\n throw new Error(\"Missing UPDATE_RECORD operation.\");\n }\n\n const { id, location, data, title, content } = record;\n\n const { data: response } = await apolloFetchingHandler(\n loadingHandler(\"UPDATE\", setLoading),\n () =>\n client.mutate<UpdateSearchRecordResponse, UpdateSearchRecordVariables>({\n mutation: UPDATE_RECORD,\n variables: { id, data: { title, content, location, data } }\n })\n );\n\n if (!response) {\n throw new Error(\"Network error while updating record\");\n }\n\n const { data: result, error } = getResponseData(response, mode);\n\n if (!result) {\n throw new Error(error?.message || \"Could not update record\");\n }\n\n setRecords(records => {\n const index = records.findIndex(record => record.id === id);\n if (index === -1) {\n return [result, ...records];\n }\n\n const next = [...records];\n\n next[index] = result;\n\n return next;\n });\n\n setTags(tags => {\n if (!data.tags || data.tags.length === 0) {\n return tags;\n }\n\n return mergeAndSortTags(tags, data.tags);\n });\n\n return result;\n },\n moveRecord: async (record: MovableSearchRecordItem) => {\n const { id, location } = record;\n const { folderId } = location;\n\n const { data: response } = await apolloFetchingHandler(\n loadingHandler(\"MOVE\", setLoading),\n () =>\n client.mutate<MoveSearchRecordResponse, MoveSearchRecordVariables>({\n mutation: MOVE_RECORD,\n variables: {\n id,\n folderId\n }\n })\n );\n\n if (!response) {\n throw new Error(\"Network error while moving record.\");\n }\n\n const { data, error } = getResponseData(response, mode);\n\n if (!data) {\n throw new Error(error?.message || \"Could not move record.\");\n }\n setRecords(prev => {\n return prev.filter(record => record.id !== id);\n });\n setMeta(meta => ({\n ...meta,\n totalCount: --meta.totalCount\n }));\n },\n async deleteRecord(record) {\n if (!DELETE_RECORD) {\n throw new Error(\"Missing DELETE_RECORD operation.\");\n }\n const { id } = record;\n\n const { data: response } = await apolloFetchingHandler(\n loadingHandler(\"DELETE\", setLoading),\n () =>\n client.mutate<DeleteSearchRecordResponse, DeleteSearchRecordVariables>({\n mutation: DELETE_RECORD,\n variables: { id }\n })\n );\n\n if (!response) {\n throw new Error(\"Network error while deleting record.\");\n }\n\n const { data, error } = getResponseData(response, mode);\n\n if (!data) {\n throw new Error(error?.message || \"Could not delete record\");\n }\n\n setRecords(prev => {\n return prev.filter(record => record.id !== id);\n });\n\n setMeta(meta => ({\n ...meta,\n totalCount: --meta.totalCount\n }));\n\n return true;\n },\n async listTags(params) {\n if (!LIST_TAGS) {\n throw new Error(\"Missing LIST_TAGS operation.\");\n }\n\n const { data: response } = await apolloFetchingHandler(\n loadingHandler(\"LIST\", setLoading),\n () =>\n client.query<ListTagsResponse, ListTagsQueryVariables>({\n query: LIST_TAGS,\n variables: {\n where: params.where\n }\n })\n );\n\n if (!response) {\n throw new Error(\"Network error while fetching tags.\");\n }\n\n const { data, error } = getResponseData(response, mode);\n\n if (!data) {\n throw new Error(error?.message || \"Could not fetch tags\");\n }\n\n setTags(data);\n\n return data;\n }\n };\n }, [\n app.id,\n model.modelId,\n records,\n setRecords,\n tags,\n meta,\n loading,\n GET_RECORD,\n LIST_RECORDS,\n UPDATE_RECORD,\n DELETE_RECORD,\n MOVE_RECORD,\n CREATE_RECORD,\n LIST_TAGS\n ]);\n\n return (\n <SearchRecordsContext.Provider value={context}>{children}</SearchRecordsContext.Provider>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useMemo","sortBy","unionBy","lodashMerge","apolloFetchingHandler","loadingHandler","createCreateRecord","createDeleteRecord","createGetRecord","createListRecords","createListTags","createMoveRecord","createUpdateRecord","validateOrGetDefaultDbSort","useAcoApp","parseIdentifier","useStateIfMounted","useAcoConfig","SearchRecordsContext","createContext","undefined","defaultLoading","INIT","LIST","LIST_MORE","GET","MOVE","CREATE","UPDATE","DELETE","mergeAndSortTags","oldTagItems","newTags","length","newTagItems","map","tag","mergedTagItems","getResponseData","response","mode","content","search","defaultMeta","totalCount","hasMoreItems","cursor","SearchRecordsProvider","children","app","client","model","table","fieldIds","columns","config","name","filter","Boolean","records","setRecords","tags","setTags","loading","setLoading","meta","setMeta","Object","create","GET_RECORD","LIST_RECORDS","UPDATE_RECORD","MOVE_RECORD","DELETE_RECORD","CREATE_RECORD","LIST_TAGS","id","modelId","context","addRecordToCache","record","prev","updateRecordInCache","recordId","index","findIndex","item","itemId","next","removeRecordFromCache","startsWith","listRecords","params","after","limit","sort","sorting","where","action","data","variables","query","fetchPolicy","Error","responseMeta","error","message","getRecord","entryId","code","createRecord","mutate","mutation","updateRecord","contextFolderId","location","title","result","moveRecord","folderId","deleteRecord","listTags","createElement","Provider","value"],"sources":["records.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport React, { useMemo } from \"react\";\nimport sortBy from \"lodash/sortBy\";\nimport unionBy from \"lodash/unionBy\";\nimport lodashMerge from \"lodash/merge\";\nimport { apolloFetchingHandler, loadingHandler } from \"~/handlers\";\nimport {\n createCreateRecord,\n createDeleteRecord,\n createGetRecord,\n createListRecords,\n createListTags,\n createMoveRecord,\n createUpdateRecord\n} from \"~/graphql/records.gql\";\nimport type {\n AcoAppMode,\n CreateSearchRecordResponse,\n CreateSearchRecordVariables,\n DeletableSearchRecordItem,\n DeleteSearchRecordResponse,\n DeleteSearchRecordVariables,\n GetSearchRecordQueryVariables,\n GetSearchRecordResponse,\n ListMeta,\n ListSearchRecordsQueryVariables,\n ListSearchRecordsResponse,\n ListTagsQueryVariables,\n ListTagsResponse,\n ListTagsWhereQueryVariables,\n Loading,\n LoadingActions,\n MovableSearchRecordItem,\n MoveSearchRecordResponse,\n MoveSearchRecordVariables,\n SearchRecordItem,\n TagItem,\n UpdateSearchRecordResponse,\n UpdateSearchRecordVariables\n} from \"~/types\";\nimport { validateOrGetDefaultDbSort } from \"~/sorting\";\nimport { useAcoApp } from \"~/hooks\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport { useStateIfMounted } from \"@webiny/app-admin\";\nimport { useAcoConfig } from \"~/config\";\n\ninterface ListTagsParams {\n where?: ListTagsWhereQueryVariables;\n}\n\nexport type ListRecordsParams = ListSearchRecordsQueryVariables;\n\ninterface SearchRecordsContext {\n records: SearchRecordItem[];\n tags: TagItem[];\n loading: Loading<LoadingActions>;\n meta: ListMeta;\n listRecords: (params: ListRecordsParams) => Promise<SearchRecordItem[]>;\n getRecord: (id: string) => Promise<SearchRecordItem | null>;\n createRecord: (record: Omit<SearchRecordItem, \"id\">) => Promise<SearchRecordItem>;\n updateRecord: (record: SearchRecordItem, contextFolderId?: string) => Promise<SearchRecordItem>;\n moveRecord: (record: MovableSearchRecordItem) => Promise<void>;\n deleteRecord(record: DeletableSearchRecordItem): Promise<true>;\n listTags: (params: ListTagsParams) => Promise<TagItem[]>;\n addRecordToCache: (record: any) => void;\n updateRecordInCache: (record: any) => void;\n removeRecordFromCache: (id: string) => void;\n}\n\nexport const SearchRecordsContext = React.createContext<SearchRecordsContext | undefined>(\n undefined\n);\n\ninterface Props {\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\nconst mergeAndSortTags = (oldTagItems: TagItem[], newTags: string[]): TagItem[] => {\n if (!newTags.length) {\n return oldTagItems;\n }\n\n const newTagItems = newTags.map((tag: string) => ({ tag })); // create TagItem[] from array of strings\n const mergedTagItems = unionBy(oldTagItems, newTagItems, \"tag\"); // merge the two arrays\n\n return sortBy(mergedTagItems, [\"tag\"]);\n};\n\nconst getResponseData = (response: any, mode: AcoAppMode): any => {\n if (mode === \"cms\") {\n return response?.content || {};\n }\n return response.search?.content || {};\n};\n\nconst defaultMeta: ListMeta = {\n totalCount: 0,\n hasMoreItems: false,\n cursor: null\n};\n\nexport const SearchRecordsProvider = ({ children }: Props) => {\n const { app, client, mode } = useAcoApp();\n const { model } = app;\n\n /**\n * Retrieve all `fieldIds` from the ACO configuration, considering field `name`:\n * The result is a deduplicated flat array of unique field IDs.\n */\n const { table } = useAcoConfig();\n const fieldIds = table.columns.map(config => config.name).filter(Boolean);\n\n const [records, setRecords] = useStateIfMounted<SearchRecordItem[]>([]);\n const [tags, setTags] = useStateIfMounted<TagItem[]>([]);\n const [loading, setLoading] = useStateIfMounted<Loading<LoadingActions>>(defaultLoading);\n const [meta, setMeta] = useStateIfMounted<ListMeta>(Object.create(defaultMeta));\n\n const {\n GET_RECORD,\n LIST_RECORDS,\n UPDATE_RECORD,\n MOVE_RECORD,\n DELETE_RECORD,\n CREATE_RECORD,\n LIST_TAGS\n } = useMemo(() => {\n return {\n LIST_RECORDS: createListRecords(model, mode, fieldIds),\n UPDATE_RECORD: createUpdateRecord(model, mode),\n MOVE_RECORD: createMoveRecord(model, mode),\n GET_RECORD: createGetRecord(model, mode),\n LIST_TAGS: createListTags(model, mode),\n DELETE_RECORD: createDeleteRecord(model, mode),\n CREATE_RECORD: createCreateRecord(model, mode)\n };\n }, [app.id, model.modelId, fieldIds]);\n\n const context = useMemo<SearchRecordsContext>(() => {\n return {\n records,\n tags,\n loading,\n meta,\n addRecordToCache: (record: any) => {\n setRecords(prev => {\n return [record, ...prev];\n });\n setMeta(meta => ({\n ...meta,\n totalCount: ++meta.totalCount\n }));\n },\n updateRecordInCache: (record: any) => {\n const { id: recordId } = parseIdentifier(record.id);\n\n setRecords(prev => {\n const index = prev.findIndex(item => {\n const { id: itemId } = parseIdentifier(item.id);\n return itemId === recordId;\n });\n\n if (index >= 0) {\n const next = [...prev];\n next[index] = lodashMerge({}, prev[index], record);\n return next;\n }\n return [record, ...prev];\n });\n },\n removeRecordFromCache: (id: string) => {\n setRecords(prev => {\n return prev.filter(\n record => record.id !== id && !record.id.startsWith(`${id}#`)\n );\n });\n setMeta(meta => ({\n ...meta,\n totalCount: --meta.totalCount\n }));\n },\n\n async listRecords(params) {\n const { after, limit, sort: sorting, search, where } = params;\n\n /**\n * Avoiding fetching records in case they have already been fetched.\n * This happens when visiting a list with all records loaded and receives \"after\" param.\n */\n const totalCount = meta?.totalCount || 0;\n if (after && records.length === totalCount) {\n return records;\n }\n\n const action = after ? \"LIST_MORE\" : \"LIST\";\n const sort = validateOrGetDefaultDbSort(sorting);\n\n const { data: response } = await apolloFetchingHandler<ListSearchRecordsResponse>(\n loadingHandler(action, setLoading),\n () => {\n const variables: ListSearchRecordsQueryVariables = {\n where,\n search,\n limit,\n after,\n sort\n };\n return client.query<\n ListSearchRecordsResponse,\n ListSearchRecordsQueryVariables\n >({\n query: LIST_RECORDS,\n variables,\n fetchPolicy: \"network-only\"\n });\n }\n );\n\n if (!response) {\n throw new Error(\"Could not fetch records - no response.\");\n }\n\n const { data, meta: responseMeta, error } = getResponseData(response, mode);\n\n if (!data || !responseMeta) {\n throw new Error(error?.message || \"Could not fetch records.\");\n }\n\n setRecords(prev => {\n // If there's no cursor, it means we're receiving a new list of records from scratch.\n if (!after) {\n return data;\n }\n\n return [...prev, ...data];\n });\n\n setMeta(() => responseMeta);\n\n setLoading(prev => {\n return {\n ...prev,\n INIT: false\n };\n });\n\n return data;\n },\n async getRecord(id) {\n if (!id) {\n throw new Error(\"Record `id` is mandatory\");\n }\n\n const { id: recordId } = parseIdentifier(id);\n\n const { data: response } = await apolloFetchingHandler<GetSearchRecordResponse>(\n loadingHandler(\"GET\", setLoading),\n () =>\n client.query<GetSearchRecordResponse, GetSearchRecordQueryVariables>({\n query: GET_RECORD,\n variables: { entryId: recordId },\n fetchPolicy: \"network-only\"\n })\n );\n\n if (!response) {\n throw new Error(`Could not fetch record \"${recordId}\" - no response.`);\n }\n\n const { data, error } = getResponseData(response, mode);\n\n if (error && error.code !== \"NOT_FOUND\") {\n throw new Error(\"Network error while syncing record\");\n }\n\n if (!data) {\n // No record found - must be deleted by previous operation\n setRecords(prev => {\n return prev.filter(record => record.id !== recordId);\n });\n setMeta(meta => ({\n ...meta,\n totalCount: --meta.totalCount\n }));\n return data;\n }\n setRecords(prev => {\n const index = prev.findIndex(record => record.id === recordId);\n\n // No record found in the list - must be added by previous operation\n if (index === -1) {\n return [data, ...prev];\n }\n const next = [...prev];\n next[index] = data;\n return next;\n });\n\n setMeta(meta => ({\n ...meta,\n totalCount: ++meta.totalCount\n }));\n\n setTags(tags => {\n if (!data.tags || data.tags.length === 0) {\n return tags;\n }\n\n return mergeAndSortTags(tags, data.tags);\n });\n\n return data;\n },\n async createRecord(record) {\n if (!CREATE_RECORD) {\n throw new Error(\"Missing CREATE_RECORD operation.\");\n }\n\n const { data: response } = await apolloFetchingHandler<CreateSearchRecordResponse>(\n loadingHandler(\"CREATE\", setLoading),\n () =>\n client.mutate<CreateSearchRecordResponse, CreateSearchRecordVariables>({\n mutation: CREATE_RECORD,\n variables: {\n data: record\n }\n })\n );\n\n if (!response) {\n throw new Error(\"Network error while creating search record.\");\n }\n\n const { data, error } = getResponseData(response, mode);\n\n if (!data) {\n throw new Error(error?.message || \"Could not create record\");\n }\n\n setRecords(prev => {\n return [...prev, data];\n });\n\n setMeta(meta => ({\n ...meta,\n totalCount: ++meta.totalCount\n }));\n\n setTags(tags => {\n if (!data.tags || data.tags.length === 0) {\n return tags;\n }\n\n return mergeAndSortTags(tags, data.tags);\n });\n\n return data;\n },\n async updateRecord(record, contextFolderId) {\n if (!contextFolderId) {\n throw new Error(\"`folderId` is mandatory\");\n }\n if (!UPDATE_RECORD) {\n throw new Error(\"Missing UPDATE_RECORD operation.\");\n }\n\n const { id, location, data, title, content } = record;\n\n const { data: response } = await apolloFetchingHandler(\n loadingHandler(\"UPDATE\", setLoading),\n () =>\n client.mutate<UpdateSearchRecordResponse, UpdateSearchRecordVariables>({\n mutation: UPDATE_RECORD,\n variables: { id, data: { title, content, location, data } }\n })\n );\n\n if (!response) {\n throw new Error(\"Network error while updating record\");\n }\n\n const { data: result, error } = getResponseData(response, mode);\n\n if (!result) {\n throw new Error(error?.message || \"Could not update record\");\n }\n\n setRecords(records => {\n const index = records.findIndex(record => record.id === id);\n if (index === -1) {\n return [result, ...records];\n }\n\n const next = [...records];\n\n next[index] = result;\n\n return next;\n });\n\n setTags(tags => {\n if (!data.tags || data.tags.length === 0) {\n return tags;\n }\n\n return mergeAndSortTags(tags, data.tags);\n });\n\n return result;\n },\n moveRecord: async (record: MovableSearchRecordItem) => {\n const { id, location } = record;\n const { folderId } = location;\n\n const { data: response } = await apolloFetchingHandler(\n loadingHandler(\"MOVE\", setLoading),\n () =>\n client.mutate<MoveSearchRecordResponse, MoveSearchRecordVariables>({\n mutation: MOVE_RECORD,\n variables: {\n id,\n folderId\n }\n })\n );\n\n if (!response) {\n throw new Error(\"Network error while moving record.\");\n }\n\n const { data, error } = getResponseData(response, mode);\n\n if (!data) {\n throw new Error(error?.message || \"Could not move record.\");\n }\n setRecords(prev => {\n return prev.filter(record => record.id !== id);\n });\n setMeta(meta => ({\n ...meta,\n totalCount: --meta.totalCount\n }));\n },\n async deleteRecord(record) {\n if (!DELETE_RECORD) {\n throw new Error(\"Missing DELETE_RECORD operation.\");\n }\n const { id } = record;\n\n const { data: response } = await apolloFetchingHandler(\n loadingHandler(\"DELETE\", setLoading),\n () =>\n client.mutate<DeleteSearchRecordResponse, DeleteSearchRecordVariables>({\n mutation: DELETE_RECORD,\n variables: { id }\n })\n );\n\n if (!response) {\n throw new Error(\"Network error while deleting record.\");\n }\n\n const { data, error } = getResponseData(response, mode);\n\n if (!data) {\n throw new Error(error?.message || \"Could not delete record\");\n }\n\n setRecords(prev => {\n return prev.filter(record => record.id !== id);\n });\n\n setMeta(meta => ({\n ...meta,\n totalCount: --meta.totalCount\n }));\n\n return true;\n },\n async listTags(params) {\n if (!LIST_TAGS) {\n throw new Error(\"Missing LIST_TAGS operation.\");\n }\n\n const { data: response } = await apolloFetchingHandler(\n loadingHandler(\"LIST\", setLoading),\n () =>\n client.query<ListTagsResponse, ListTagsQueryVariables>({\n query: LIST_TAGS,\n variables: {\n where: params.where\n }\n })\n );\n\n if (!response) {\n throw new Error(\"Network error while fetching tags.\");\n }\n\n const { data, error } = getResponseData(response, mode);\n\n if (!data) {\n throw new Error(error?.message || \"Could not fetch tags\");\n }\n\n setTags(data);\n\n return data;\n }\n };\n }, [\n app.id,\n model.modelId,\n records,\n setRecords,\n tags,\n meta,\n loading,\n GET_RECORD,\n LIST_RECORDS,\n UPDATE_RECORD,\n DELETE_RECORD,\n MOVE_RECORD,\n CREATE_RECORD,\n LIST_TAGS\n ]);\n\n return (\n <SearchRecordsContext.Provider value={context}>{children}</SearchRecordsContext.Provider>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { FolderLevelPermissionsTarget } from "../../../types";
2
+ import type { FolderLevelPermissionsTarget } from "../../../types";
3
3
  interface ListItemGraphicProps {
4
4
  target: FolderLevelPermissionsTarget;
5
5
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","Avatar","ListItemGraphic","target","type","createElement","size","image","Image","src","meta","alt","fallback","Fallback","delayMs","name","charAt"],"sources":["ListItemGraphic.tsx"],"sourcesContent":["import React from \"react\";\nimport { Avatar } from \"@webiny/admin-ui\";\nimport { FolderLevelPermissionsTarget } from \"~/types\";\n\ninterface ListItemGraphicProps {\n target: FolderLevelPermissionsTarget;\n}\n\nexport const ListItemGraphic = ({ target }: ListItemGraphicProps) => {\n if (target.type === \"admin\") {\n return (\n <Avatar\n size={\"md\"}\n image={<Avatar.Image src={target.meta.image} alt={\"User's avatar.\"} />}\n fallback={<Avatar.Fallback delayMs={0}>{target.name.charAt(0)}</Avatar.Fallback>}\n />\n );\n }\n\n return (\n <Avatar\n size={\"md\"}\n fallback={<Avatar.Fallback delayMs={0}>{target.name.charAt(0)}</Avatar.Fallback>}\n />\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,MAAM,QAAQ,kBAAkB;AAOzC,OAAO,MAAMC,eAAe,GAAGA,CAAC;EAAEC;AAA6B,CAAC,KAAK;EACjE,IAAIA,MAAM,CAACC,IAAI,KAAK,OAAO,EAAE;IACzB,oBACIJ,KAAA,CAAAK,aAAA,CAACJ,MAAM;MACHK,IAAI,EAAE,IAAK;MACXC,KAAK,eAAEP,KAAA,CAAAK,aAAA,CAACJ,MAAM,CAACO,KAAK;QAACC,GAAG,EAAEN,MAAM,CAACO,IAAI,CAACH,KAAM;QAACI,GAAG,EAAE;MAAiB,CAAE,CAAE;MACvEC,QAAQ,eAAEZ,KAAA,CAAAK,aAAA,CAACJ,MAAM,CAACY,QAAQ;QAACC,OAAO,EAAE;MAAE,GAAEX,MAAM,CAACY,IAAI,CAACC,MAAM,CAAC,CAAC,CAAmB;IAAE,CACpF,CAAC;EAEV;EAEA,oBACIhB,KAAA,CAAAK,aAAA,CAACJ,MAAM;IACHK,IAAI,EAAE,IAAK;IACXM,QAAQ,eAAEZ,KAAA,CAAAK,aAAA,CAACJ,MAAM,CAACY,QAAQ;MAACC,OAAO,EAAE;IAAE,GAAEX,MAAM,CAACY,IAAI,CAACC,MAAM,CAAC,CAAC,CAAmB;EAAE,CACpF,CAAC;AAEV,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","Avatar","ListItemGraphic","target","type","createElement","size","image","Image","src","meta","alt","fallback","Fallback","delayMs","name","charAt"],"sources":["ListItemGraphic.tsx"],"sourcesContent":["import React from \"react\";\nimport { Avatar } from \"@webiny/admin-ui\";\nimport type { FolderLevelPermissionsTarget } from \"~/types\";\n\ninterface ListItemGraphicProps {\n target: FolderLevelPermissionsTarget;\n}\n\nexport const ListItemGraphic = ({ target }: ListItemGraphicProps) => {\n if (target.type === \"admin\") {\n return (\n <Avatar\n size={\"md\"}\n image={<Avatar.Image src={target.meta.image} alt={\"User's avatar.\"} />}\n fallback={<Avatar.Fallback delayMs={0}>{target.name.charAt(0)}</Avatar.Fallback>}\n />\n );\n }\n\n return (\n <Avatar\n size={\"md\"}\n fallback={<Avatar.Fallback delayMs={0}>{target.name.charAt(0)}</Avatar.Fallback>}\n />\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,MAAM,QAAQ,kBAAkB;AAOzC,OAAO,MAAMC,eAAe,GAAGA,CAAC;EAAEC;AAA6B,CAAC,KAAK;EACjE,IAAIA,MAAM,CAACC,IAAI,KAAK,OAAO,EAAE;IACzB,oBACIJ,KAAA,CAAAK,aAAA,CAACJ,MAAM;MACHK,IAAI,EAAE,IAAK;MACXC,KAAK,eAAEP,KAAA,CAAAK,aAAA,CAACJ,MAAM,CAACO,KAAK;QAACC,GAAG,EAAEN,MAAM,CAACO,IAAI,CAACH,KAAM;QAACI,GAAG,EAAE;MAAiB,CAAE,CAAE;MACvEC,QAAQ,eAAEZ,KAAA,CAAAK,aAAA,CAACJ,MAAM,CAACY,QAAQ;QAACC,OAAO,EAAE;MAAE,GAAEX,MAAM,CAACY,IAAI,CAACC,MAAM,CAAC,CAAC,CAAmB;IAAE,CACpF,CAAC;EAEV;EAEA,oBACIhB,KAAA,CAAAK,aAAA,CAACJ,MAAM;IACHK,IAAI,EAAE,IAAK;IACXM,QAAQ,eAAEZ,KAAA,CAAAK,aAAA,CAACJ,MAAM,CAACY,QAAQ;MAACC,OAAO,EAAE;IAAE,GAAEX,MAAM,CAACY,IAAI,CAACC,MAAM,CAAC,CAAC,CAAmB;EAAE,CACpF,CAAC;AAEV,CAAC","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { FolderLevelPermissionsTarget, FolderPermission } from "../../../types";
2
+ import type { FolderLevelPermissionsTarget, FolderPermission } from "../../../types";
3
3
  interface ListItemMetaProps {
4
4
  permission: FolderPermission;
5
5
  target: FolderLevelPermissionsTarget;