@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":["cloneDeep","makeAutoObservable","runInAction","mdbid","FilterMapper","Loading","Sorter","FilterRepository","filters","constructor","gateway","namespace","loading","sorter","getFilters","getLoading","isLoading","loadingLabel","message","feedback","runWithLoading","action","successMessage","failureMessage","runCallbackWithLoading","listFilters","response","list","sort","map","filter","toDTO","getFilterById","id","filterInCache","find","get","filterDTO","createFilter","filterStorage","toStorage","create","name","updateFilter","update","filterIndex","findIndex","f","slice","deleteFilter","delete"],"sources":["FilterRepository.ts"],"sourcesContent":["import cloneDeep from \"lodash/cloneDeep\";\nimport { makeAutoObservable, runInAction } from \"mobx\";\nimport { mdbid } from \"@webiny/utils\";\n\nimport { FilterDTO, FilterMapper, Loading, Sorter } from \"../domain\";\nimport { FiltersGatewayInterface } from \"../gateways\";\n\nexport class FilterRepository {\n private gateway: FiltersGatewayInterface;\n private sorter: Sorter<FilterDTO>;\n private loading: Loading;\n private filters: FilterDTO[] = [];\n public readonly namespace: string;\n\n constructor(gateway: FiltersGatewayInterface, namespace: string) {\n this.gateway = gateway;\n this.loading = new Loading();\n this.namespace = namespace;\n this.sorter = new Sorter([\"createdOn_DESC\"]);\n makeAutoObservable(this);\n }\n\n getFilters() {\n return cloneDeep(this.filters);\n }\n\n getLoading() {\n return {\n isLoading: this.loading.isLoading,\n loadingLabel: this.loading.loadingLabel,\n message: this.loading.feedback\n };\n }\n\n private async runWithLoading<T>(\n action: Promise<T>,\n loadingLabel?: string,\n successMessage?: string,\n failureMessage?: string\n ) {\n return await this.loading.runCallbackWithLoading(\n action,\n loadingLabel,\n successMessage,\n failureMessage\n );\n }\n\n async listFilters() {\n const response = await this.runWithLoading<FilterDTO[]>(\n this.gateway.list(this.namespace),\n \"Listing filters\"\n );\n\n if (!response) {\n return;\n }\n\n runInAction(() => {\n this.filters = this.sorter.sort(response.map(filter => FilterMapper.toDTO(filter)));\n });\n }\n\n async getFilterById(id: string) {\n const filterInCache = this.filters.find(filter => filter.id === id);\n\n if (filterInCache) {\n return cloneDeep(filterInCache);\n }\n\n const response = await this.runWithLoading<FilterDTO>(this.gateway.get(id));\n\n if (!response) {\n return;\n }\n\n const filterDTO = FilterMapper.toDTO(response);\n runInAction(() => {\n this.filters = this.sorter.sort([filterDTO, ...this.filters]);\n });\n\n return cloneDeep(filterDTO);\n }\n\n async createFilter(filter: FilterDTO) {\n const filterStorage = FilterMapper.toStorage(filter);\n const id = mdbid();\n\n const response = await this.runWithLoading<FilterDTO>(\n this.gateway.create({ ...filterStorage, id, namespace: this.namespace }),\n \"Creating filter...\",\n `Filter \"${filterStorage.name}\" was successfully created.`\n );\n\n if (!response) {\n return;\n }\n\n const filterDTO = FilterMapper.toDTO(response);\n runInAction(() => {\n this.filters = this.sorter.sort([filterDTO, ...this.filters]);\n });\n\n return cloneDeep(filterDTO);\n }\n\n async updateFilter(filter: FilterDTO) {\n const filterStorage = FilterMapper.toStorage(filter);\n const response = await this.runWithLoading<FilterDTO>(\n this.gateway.update(filterStorage),\n \"Updating filter...\",\n `Filter \"${filterStorage.name}\" was successfully updated.`\n );\n\n if (!response) {\n return;\n }\n\n const filterIndex = this.filters.findIndex(f => f.id === filter.id);\n if (filterIndex > -1) {\n const filterDTO = FilterMapper.toDTO(response);\n\n runInAction(() => {\n this.filters = this.sorter.sort([\n ...this.filters.slice(0, filterIndex),\n {\n ...this.filters[filterIndex],\n ...filterDTO\n },\n ...this.filters.slice(filterIndex + 1)\n ]);\n });\n }\n }\n\n async deleteFilter(id: string) {\n const filter = await this.getFilterById(id);\n\n if (!filter) {\n return;\n }\n\n const response = await this.runWithLoading<boolean>(\n this.gateway.delete(id),\n \"Deleting filter...\",\n `Filter \"${filter.name}\" was successfully deleted.`\n );\n\n if (response) {\n runInAction(() => {\n this.filters = this.sorter.sort(this.filters.filter(filter => filter.id !== id));\n });\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["cloneDeep","makeAutoObservable","runInAction","mdbid","FilterMapper","Loading","Sorter","FilterRepository","filters","constructor","gateway","namespace","loading","sorter","getFilters","getLoading","isLoading","loadingLabel","message","feedback","runWithLoading","action","successMessage","failureMessage","runCallbackWithLoading","listFilters","response","list","sort","map","filter","toDTO","getFilterById","id","filterInCache","find","get","filterDTO","createFilter","filterStorage","toStorage","create","name","updateFilter","update","filterIndex","findIndex","f","slice","deleteFilter","delete"],"sources":["FilterRepository.ts"],"sourcesContent":["import cloneDeep from \"lodash/cloneDeep\";\nimport { makeAutoObservable, runInAction } from \"mobx\";\nimport { mdbid } from \"@webiny/utils\";\n\nimport type { FilterDTO } from \"../domain\";\nimport { FilterMapper, Loading, Sorter } from \"../domain\";\nimport type { FiltersGatewayInterface } from \"../gateways\";\n\nexport class FilterRepository {\n private gateway: FiltersGatewayInterface;\n private sorter: Sorter<FilterDTO>;\n private loading: Loading;\n private filters: FilterDTO[] = [];\n public readonly namespace: string;\n\n constructor(gateway: FiltersGatewayInterface, namespace: string) {\n this.gateway = gateway;\n this.loading = new Loading();\n this.namespace = namespace;\n this.sorter = new Sorter([\"createdOn_DESC\"]);\n makeAutoObservable(this);\n }\n\n getFilters() {\n return cloneDeep(this.filters);\n }\n\n getLoading() {\n return {\n isLoading: this.loading.isLoading,\n loadingLabel: this.loading.loadingLabel,\n message: this.loading.feedback\n };\n }\n\n private async runWithLoading<T>(\n action: Promise<T>,\n loadingLabel?: string,\n successMessage?: string,\n failureMessage?: string\n ) {\n return await this.loading.runCallbackWithLoading(\n action,\n loadingLabel,\n successMessage,\n failureMessage\n );\n }\n\n async listFilters() {\n const response = await this.runWithLoading<FilterDTO[]>(\n this.gateway.list(this.namespace),\n \"Listing filters\"\n );\n\n if (!response) {\n return;\n }\n\n runInAction(() => {\n this.filters = this.sorter.sort(response.map(filter => FilterMapper.toDTO(filter)));\n });\n }\n\n async getFilterById(id: string) {\n const filterInCache = this.filters.find(filter => filter.id === id);\n\n if (filterInCache) {\n return cloneDeep(filterInCache);\n }\n\n const response = await this.runWithLoading<FilterDTO>(this.gateway.get(id));\n\n if (!response) {\n return;\n }\n\n const filterDTO = FilterMapper.toDTO(response);\n runInAction(() => {\n this.filters = this.sorter.sort([filterDTO, ...this.filters]);\n });\n\n return cloneDeep(filterDTO);\n }\n\n async createFilter(filter: FilterDTO) {\n const filterStorage = FilterMapper.toStorage(filter);\n const id = mdbid();\n\n const response = await this.runWithLoading<FilterDTO>(\n this.gateway.create({ ...filterStorage, id, namespace: this.namespace }),\n \"Creating filter...\",\n `Filter \"${filterStorage.name}\" was successfully created.`\n );\n\n if (!response) {\n return;\n }\n\n const filterDTO = FilterMapper.toDTO(response);\n runInAction(() => {\n this.filters = this.sorter.sort([filterDTO, ...this.filters]);\n });\n\n return cloneDeep(filterDTO);\n }\n\n async updateFilter(filter: FilterDTO) {\n const filterStorage = FilterMapper.toStorage(filter);\n const response = await this.runWithLoading<FilterDTO>(\n this.gateway.update(filterStorage),\n \"Updating filter...\",\n `Filter \"${filterStorage.name}\" was successfully updated.`\n );\n\n if (!response) {\n return;\n }\n\n const filterIndex = this.filters.findIndex(f => f.id === filter.id);\n if (filterIndex > -1) {\n const filterDTO = FilterMapper.toDTO(response);\n\n runInAction(() => {\n this.filters = this.sorter.sort([\n ...this.filters.slice(0, filterIndex),\n {\n ...this.filters[filterIndex],\n ...filterDTO\n },\n ...this.filters.slice(filterIndex + 1)\n ]);\n });\n }\n }\n\n async deleteFilter(id: string) {\n const filter = await this.getFilterById(id);\n\n if (!filter) {\n return;\n }\n\n const response = await this.runWithLoading<boolean>(\n this.gateway.delete(id),\n \"Deleting filter...\",\n `Filter \"${filter.name}\" was successfully deleted.`\n );\n\n if (response) {\n runInAction(() => {\n this.filters = this.sorter.sort(this.filters.filter(filter => filter.id !== id));\n });\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { ApolloClient } from "apollo-client";
1
+ import type { ApolloClient } from "apollo-client";
2
2
  import { FilterRepository } from "./FilterRepository";
3
3
  declare class FilterRepositoryFactory {
4
4
  private gateway;
@@ -1 +1 @@
1
- {"version":3,"names":["FiltersGraphQLGateway","FilterRepository","FilterRepositoryFactory","cache","Map","getRepository","client","namespace","gateway","has","set","get","filterRepositoryFactory"],"sources":["FilterRepositoryFactory.ts"],"sourcesContent":["import { ApolloClient } from \"apollo-client\";\nimport {\n FiltersGatewayInterface,\n FiltersGraphQLGateway\n} from \"~/components/AdvancedSearch/gateways\";\nimport { FilterRepository } from \"./FilterRepository\";\n\nclass FilterRepositoryFactory {\n private gateway: FiltersGatewayInterface | undefined;\n private cache: Map<string, FilterRepository> = new Map();\n\n getRepository(client: ApolloClient<any>, namespace: string) {\n if (!this.gateway) {\n this.gateway = new FiltersGraphQLGateway(client);\n }\n\n if (!this.cache.has(namespace)) {\n this.cache.set(namespace, new FilterRepository(this.gateway, namespace));\n }\n\n return this.cache.get(namespace) as FilterRepository;\n }\n}\n\nexport const filterRepositoryFactory = new FilterRepositoryFactory();\n"],"mappings":"AACA,SAEIA,qBAAqB;AAEzB,SAASC,gBAAgB;AAEzB,MAAMC,uBAAuB,CAAC;EAElBC,KAAK,GAAkC,IAAIC,GAAG,CAAC,CAAC;EAExDC,aAAaA,CAACC,MAAyB,EAAEC,SAAiB,EAAE;IACxD,IAAI,CAAC,IAAI,CAACC,OAAO,EAAE;MACf,IAAI,CAACA,OAAO,GAAG,IAAIR,qBAAqB,CAACM,MAAM,CAAC;IACpD;IAEA,IAAI,CAAC,IAAI,CAACH,KAAK,CAACM,GAAG,CAACF,SAAS,CAAC,EAAE;MAC5B,IAAI,CAACJ,KAAK,CAACO,GAAG,CAACH,SAAS,EAAE,IAAIN,gBAAgB,CAAC,IAAI,CAACO,OAAO,EAAED,SAAS,CAAC,CAAC;IAC5E;IAEA,OAAO,IAAI,CAACJ,KAAK,CAACQ,GAAG,CAACJ,SAAS,CAAC;EACpC;AACJ;AAEA,OAAO,MAAMK,uBAAuB,GAAG,IAAIV,uBAAuB,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["FiltersGraphQLGateway","FilterRepository","FilterRepositoryFactory","cache","Map","getRepository","client","namespace","gateway","has","set","get","filterRepositoryFactory"],"sources":["FilterRepositoryFactory.ts"],"sourcesContent":["import type { ApolloClient } from \"apollo-client\";\nimport type { FiltersGatewayInterface } from \"~/components/AdvancedSearch/gateways\";\nimport { FiltersGraphQLGateway } from \"~/components/AdvancedSearch/gateways\";\nimport { FilterRepository } from \"./FilterRepository\";\n\nclass FilterRepositoryFactory {\n private gateway: FiltersGatewayInterface | undefined;\n private cache: Map<string, FilterRepository> = new Map();\n\n getRepository(client: ApolloClient<any>, namespace: string) {\n if (!this.gateway) {\n this.gateway = new FiltersGraphQLGateway(client);\n }\n\n if (!this.cache.has(namespace)) {\n this.cache.set(namespace, new FilterRepository(this.gateway, namespace));\n }\n\n return this.cache.get(namespace) as FilterRepository;\n }\n}\n\nexport const filterRepositoryFactory = new FilterRepositoryFactory();\n"],"mappings":"AAEA,SAASA,qBAAqB;AAC9B,SAASC,gBAAgB;AAEzB,MAAMC,uBAAuB,CAAC;EAElBC,KAAK,GAAkC,IAAIC,GAAG,CAAC,CAAC;EAExDC,aAAaA,CAACC,MAAyB,EAAEC,SAAiB,EAAE;IACxD,IAAI,CAAC,IAAI,CAACC,OAAO,EAAE;MACf,IAAI,CAACA,OAAO,GAAG,IAAIR,qBAAqB,CAACM,MAAM,CAAC;IACpD;IAEA,IAAI,CAAC,IAAI,CAACH,KAAK,CAACM,GAAG,CAACF,SAAS,CAAC,EAAE;MAC5B,IAAI,CAACJ,KAAK,CAACO,GAAG,CAACH,SAAS,EAAE,IAAIN,gBAAgB,CAAC,IAAI,CAACO,OAAO,EAAED,SAAS,CAAC,CAAC;IAC5E;IAEA,OAAO,IAAI,CAACJ,KAAK,CAACQ,GAAG,CAACJ,SAAS,CAAC;EACpC;AACJ;AAEA,OAAO,MAAMK,uBAAuB,GAAG,IAAIV,uBAAuB,CAAC,CAAC","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import { FilterDTO } from "../domain";
2
- import { CreateFilterPayload, UpdateFilterPayload } from "./filters.types";
1
+ import type { FilterDTO } from "../domain";
2
+ import type { CreateFilterPayload, UpdateFilterPayload } from "./filters.types";
3
3
  export interface FiltersGatewayInterface {
4
4
  list: (namespace: string) => Promise<FilterDTO[]>;
5
5
  get: (id: string) => Promise<FilterDTO>;
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["FiltersGatewayInterface.ts"],"sourcesContent":["import { FilterDTO } from \"../domain\";\nimport {\n CreateFilterPayload,\n UpdateFilterPayload\n} from \"~/components/AdvancedSearch/gateways/filters.types\";\n\nexport interface FiltersGatewayInterface {\n list: (namespace: string) => Promise<FilterDTO[]>;\n get: (id: string) => Promise<FilterDTO>;\n create: (filter: CreateFilterPayload) => Promise<FilterDTO>;\n update: (filter: UpdateFilterPayload) => Promise<FilterDTO>;\n delete: (id: string) => Promise<boolean>;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["FiltersGatewayInterface.ts"],"sourcesContent":["import type { FilterDTO } from \"../domain\";\nimport type {\n CreateFilterPayload,\n UpdateFilterPayload\n} from \"~/components/AdvancedSearch/gateways/filters.types\";\n\nexport interface FiltersGatewayInterface {\n list: (namespace: string) => Promise<FilterDTO[]>;\n get: (id: string) => Promise<FilterDTO>;\n create: (filter: CreateFilterPayload) => Promise<FilterDTO>;\n update: (filter: UpdateFilterPayload) => Promise<FilterDTO>;\n delete: (id: string) => Promise<boolean>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1,6 +1,6 @@
1
- import { ApolloClient } from "apollo-client";
2
- import { CreateFilterPayload, UpdateFilterPayload } from "./filters.types";
3
- import { FiltersGatewayInterface } from "./FiltersGatewayInterface";
1
+ import type { ApolloClient } from "apollo-client";
2
+ import type { CreateFilterPayload, UpdateFilterPayload } from "./filters.types";
3
+ import type { FiltersGatewayInterface } from "./FiltersGatewayInterface";
4
4
  export declare class FiltersGraphQLGateway implements FiltersGatewayInterface {
5
5
  private client;
6
6
  constructor(client: ApolloClient<any>);
@@ -1 +1 @@
1
- {"version":3,"names":["CREATE_FILTER","DELETE_FILTER","GET_FILTER","LIST_FILTERS","UPDATE_FILTER","FiltersGraphQLGateway","constructor","client","list","namespace","data","response","query","variables","limit","fetchPolicy","Error","error","aco","listFilters","message","get","id","getFilter","create","filter","mutate","mutation","createFilter","update","name","description","operation","groups","updateFilter","delete","deleteFilter"],"sources":["FiltersGraphQLGateway.ts"],"sourcesContent":["import { ApolloClient } from \"apollo-client\";\n\nimport {\n CreateFilterPayload,\n CreateFilterResponse,\n CreateFilterVariables,\n DeleteFilterResponse,\n DeleteFilterVariables,\n GetFilterQueryVariables,\n GetFilterResponse,\n ListFiltersQueryVariables,\n ListFiltersResponse,\n UpdateFilterPayload,\n UpdateFilterResponse,\n UpdateFilterVariables\n} from \"./filters.types\";\nimport { FiltersGatewayInterface } from \"./FiltersGatewayInterface\";\nimport {\n CREATE_FILTER,\n DELETE_FILTER,\n GET_FILTER,\n LIST_FILTERS,\n UPDATE_FILTER\n} from \"./filters.gql\";\n\nexport class FiltersGraphQLGateway implements FiltersGatewayInterface {\n private client: ApolloClient<any>;\n\n constructor(client: ApolloClient<any>) {\n this.client = client;\n }\n\n async list(namespace: string) {\n const { data: response } = await this.client.query<\n ListFiltersResponse,\n ListFiltersQueryVariables\n >({\n query: LIST_FILTERS,\n variables: {\n namespace,\n limit: 10000\n },\n fetchPolicy: \"network-only\"\n });\n\n if (!response) {\n throw new Error(\"Network error while listing filters.\");\n }\n\n const { data, error } = response.aco.listFilters;\n\n if (!data) {\n throw new Error(error?.message || \"Could not fetch filters.\");\n }\n\n return data;\n }\n\n async get(id: string) {\n const { data: response } = await this.client.query<\n GetFilterResponse,\n GetFilterQueryVariables\n >({\n query: GET_FILTER,\n variables: { id }\n });\n\n if (!response) {\n throw new Error(\"Network error while fetch filter.\");\n }\n\n const { data, error } = response.aco.getFilter;\n\n if (!data) {\n throw new Error(error?.message || `Could not fetch filter with id: ${id}`);\n }\n\n return data;\n }\n\n async create(filter: CreateFilterPayload) {\n const { data: response } = await this.client.mutate<\n CreateFilterResponse,\n CreateFilterVariables\n >({\n mutation: CREATE_FILTER,\n variables: {\n data: filter\n }\n });\n\n if (!response) {\n throw new Error(\"Network error while creating filter.\");\n }\n\n const { data, error } = response.aco.createFilter;\n\n if (!data) {\n throw new Error(error?.message || \"Could not create filter.\");\n }\n\n return data;\n }\n\n async update(filter: UpdateFilterPayload) {\n const { id, name, description, operation, groups } = filter;\n\n if (!id) {\n throw new Error(\"Error while updating filter, missing id.\");\n }\n\n const { data: response } = await this.client.mutate<\n UpdateFilterResponse,\n UpdateFilterVariables\n >({\n mutation: UPDATE_FILTER,\n variables: {\n id,\n data: {\n name,\n description,\n operation,\n groups\n }\n }\n });\n\n if (!response) {\n throw new Error(\"Network error while updating filter.\");\n }\n\n const { data, error } = response.aco.updateFilter;\n\n if (!data) {\n throw new Error(error?.message || \"Could not update filter.\");\n }\n\n return data;\n }\n\n async delete(id: string) {\n const { data: response } = await this.client.mutate<\n DeleteFilterResponse,\n DeleteFilterVariables\n >({\n mutation: DELETE_FILTER,\n variables: {\n id\n }\n });\n\n if (!response) {\n throw new Error(\"Network error while deleting filter.\");\n }\n\n const { data, error } = response.aco.deleteFilter;\n\n if (!data) {\n throw new Error(error?.message || \"Could not delete filter.\");\n }\n\n return true;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["CREATE_FILTER","DELETE_FILTER","GET_FILTER","LIST_FILTERS","UPDATE_FILTER","FiltersGraphQLGateway","constructor","client","list","namespace","data","response","query","variables","limit","fetchPolicy","Error","error","aco","listFilters","message","get","id","getFilter","create","filter","mutate","mutation","createFilter","update","name","description","operation","groups","updateFilter","delete","deleteFilter"],"sources":["FiltersGraphQLGateway.ts"],"sourcesContent":["import type { ApolloClient } from \"apollo-client\";\n\nimport type {\n CreateFilterPayload,\n CreateFilterResponse,\n CreateFilterVariables,\n DeleteFilterResponse,\n DeleteFilterVariables,\n GetFilterQueryVariables,\n GetFilterResponse,\n ListFiltersQueryVariables,\n ListFiltersResponse,\n UpdateFilterPayload,\n UpdateFilterResponse,\n UpdateFilterVariables\n} from \"./filters.types\";\nimport type { FiltersGatewayInterface } from \"./FiltersGatewayInterface\";\nimport {\n CREATE_FILTER,\n DELETE_FILTER,\n GET_FILTER,\n LIST_FILTERS,\n UPDATE_FILTER\n} from \"./filters.gql\";\n\nexport class FiltersGraphQLGateway implements FiltersGatewayInterface {\n private client: ApolloClient<any>;\n\n constructor(client: ApolloClient<any>) {\n this.client = client;\n }\n\n async list(namespace: string) {\n const { data: response } = await this.client.query<\n ListFiltersResponse,\n ListFiltersQueryVariables\n >({\n query: LIST_FILTERS,\n variables: {\n namespace,\n limit: 10000\n },\n fetchPolicy: \"network-only\"\n });\n\n if (!response) {\n throw new Error(\"Network error while listing filters.\");\n }\n\n const { data, error } = response.aco.listFilters;\n\n if (!data) {\n throw new Error(error?.message || \"Could not fetch filters.\");\n }\n\n return data;\n }\n\n async get(id: string) {\n const { data: response } = await this.client.query<\n GetFilterResponse,\n GetFilterQueryVariables\n >({\n query: GET_FILTER,\n variables: { id }\n });\n\n if (!response) {\n throw new Error(\"Network error while fetch filter.\");\n }\n\n const { data, error } = response.aco.getFilter;\n\n if (!data) {\n throw new Error(error?.message || `Could not fetch filter with id: ${id}`);\n }\n\n return data;\n }\n\n async create(filter: CreateFilterPayload) {\n const { data: response } = await this.client.mutate<\n CreateFilterResponse,\n CreateFilterVariables\n >({\n mutation: CREATE_FILTER,\n variables: {\n data: filter\n }\n });\n\n if (!response) {\n throw new Error(\"Network error while creating filter.\");\n }\n\n const { data, error } = response.aco.createFilter;\n\n if (!data) {\n throw new Error(error?.message || \"Could not create filter.\");\n }\n\n return data;\n }\n\n async update(filter: UpdateFilterPayload) {\n const { id, name, description, operation, groups } = filter;\n\n if (!id) {\n throw new Error(\"Error while updating filter, missing id.\");\n }\n\n const { data: response } = await this.client.mutate<\n UpdateFilterResponse,\n UpdateFilterVariables\n >({\n mutation: UPDATE_FILTER,\n variables: {\n id,\n data: {\n name,\n description,\n operation,\n groups\n }\n }\n });\n\n if (!response) {\n throw new Error(\"Network error while updating filter.\");\n }\n\n const { data, error } = response.aco.updateFilter;\n\n if (!data) {\n throw new Error(error?.message || \"Could not update filter.\");\n }\n\n return data;\n }\n\n async delete(id: string) {\n const { data: response } = await this.client.mutate<\n DeleteFilterResponse,\n DeleteFilterVariables\n >({\n mutation: DELETE_FILTER,\n variables: {\n id\n }\n });\n\n if (!response) {\n throw new Error(\"Network error while deleting filter.\");\n }\n\n const { data, error } = response.aco.deleteFilter;\n\n if (!data) {\n throw new Error(error?.message || \"Could not delete filter.\");\n }\n\n return true;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import { FilterDTO, FilterStorage } from "../domain";
2
- import { AcoError } from "../../../types";
1
+ import type { FilterDTO, FilterStorage } from "../domain";
2
+ import type { AcoError } from "../../../types";
3
3
  export interface ListFiltersQueryVariables {
4
4
  namespace: string;
5
5
  limit: number;
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["filters.types.ts"],"sourcesContent":["import { FilterDTO, FilterStorage } from \"~/components/AdvancedSearch/domain\";\nimport { AcoError } from \"~/types\";\n\nexport interface ListFiltersQueryVariables {\n namespace: string;\n limit: number;\n sort?: Record<string, any>;\n after?: string | null;\n}\n\nexport interface ListFiltersResponse {\n aco: {\n listFilters: {\n data: FilterDTO[] | null;\n error: AcoError | null;\n };\n };\n}\n\nexport interface GetFilterResponse {\n aco: {\n getFilter: {\n data: FilterDTO | null;\n error: AcoError | null;\n };\n };\n}\n\nexport interface GetFilterQueryVariables {\n id: string;\n}\n\nexport interface CreateFilterPayload extends FilterStorage {\n namespace: string;\n}\n\nexport interface CreateFilterVariables {\n data: CreateFilterPayload;\n}\n\nexport interface CreateFilterResponse {\n aco: {\n createFilter: {\n data: FilterDTO;\n error: AcoError | null;\n };\n };\n}\n\nexport type UpdateFilterPayload = Partial<FilterStorage>;\n\nexport interface UpdateFilterVariables {\n id: string;\n data: Omit<UpdateFilterPayload, \"id\">;\n}\n\nexport interface UpdateFilterResponse {\n aco: {\n updateFilter: {\n data: FilterDTO;\n error: AcoError | null;\n };\n };\n}\n\nexport interface DeleteFilterVariables {\n id: string;\n}\n\nexport interface DeleteFilterResponse {\n aco: {\n deleteFilter: {\n data: boolean;\n error: AcoError | null;\n };\n };\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["filters.types.ts"],"sourcesContent":["import type { FilterDTO, FilterStorage } from \"~/components/AdvancedSearch/domain\";\nimport type { AcoError } from \"~/types\";\n\nexport interface ListFiltersQueryVariables {\n namespace: string;\n limit: number;\n sort?: Record<string, any>;\n after?: string | null;\n}\n\nexport interface ListFiltersResponse {\n aco: {\n listFilters: {\n data: FilterDTO[] | null;\n error: AcoError | null;\n };\n };\n}\n\nexport interface GetFilterResponse {\n aco: {\n getFilter: {\n data: FilterDTO | null;\n error: AcoError | null;\n };\n };\n}\n\nexport interface GetFilterQueryVariables {\n id: string;\n}\n\nexport interface CreateFilterPayload extends FilterStorage {\n namespace: string;\n}\n\nexport interface CreateFilterVariables {\n data: CreateFilterPayload;\n}\n\nexport interface CreateFilterResponse {\n aco: {\n createFilter: {\n data: FilterDTO;\n error: AcoError | null;\n };\n };\n}\n\nexport type UpdateFilterPayload = Partial<FilterStorage>;\n\nexport interface UpdateFilterVariables {\n id: string;\n data: Omit<UpdateFilterPayload, \"id\">;\n}\n\nexport interface UpdateFilterResponse {\n aco: {\n updateFilter: {\n data: FilterDTO;\n error: AcoError | null;\n };\n };\n}\n\nexport interface DeleteFilterVariables {\n id: string;\n}\n\nexport interface DeleteFilterResponse {\n aco: {\n deleteFilter: {\n data: boolean;\n error: AcoError | null;\n };\n };\n}\n"],"mappings":"","ignoreList":[]}
@@ -1,8 +1,8 @@
1
1
  import React from "react";
2
- import { AdvancedSearchProps } from "./AdvancedSearch";
2
+ import type { AdvancedSearchProps } from "./AdvancedSearch";
3
3
  export * from "./GraphQLInputMapper";
4
4
  export * from "./gateways";
5
- import { FieldRaw } from "./domain";
5
+ import type { FieldRaw } from "./domain";
6
6
  export * from "./useFilterRepository";
7
7
  export * from "./useInputField";
8
8
  interface AdvancedSearchWithFieldRenderersProps extends Omit<AdvancedSearchProps, "fields"> {
@@ -1 +1 @@
1
- {"version":3,"names":["React","useMemo","AdvancedSearch","AdvancedSearchComponent","AdvancedSearchConfigs","AcoWithConfig","useAcoConfig","Field","FieldMapper","AdvancedSearchDebounceRenderer","AdvancedSearchWithFieldRenderers","fields","props","advancedSearch","fieldsWithRenderer","fieldDTOs","toDTO","map","field","createFromRaw","config","fieldRenderers","find","type","element","createElement","Object","assign","Fragment"],"sources":["index.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\n\nimport { AdvancedSearch as AdvancedSearchComponent, AdvancedSearchProps } from \"./AdvancedSearch\";\nimport { AdvancedSearchConfigs } from \"./AdvancedSearchConfigs\";\nimport { AcoWithConfig, useAcoConfig } from \"~/config\";\n\nexport * from \"./GraphQLInputMapper\";\nexport * from \"./gateways\";\nimport { Field, FieldMapper, FieldRaw } from \"./domain\";\nimport { AdvancedSearchDebounceRenderer } from \"./AdvancedSearchDebounceRender\";\nexport * from \"./useFilterRepository\";\nexport * from \"./useInputField\";\n\ninterface AdvancedSearchWithFieldRenderersProps extends Omit<AdvancedSearchProps, \"fields\"> {\n fields: FieldRaw[];\n}\n\nconst AdvancedSearchWithFieldRenderers = ({\n fields,\n ...props\n}: AdvancedSearchWithFieldRenderersProps) => {\n const { advancedSearch } = useAcoConfig();\n\n const fieldsWithRenderer = useMemo(() => {\n const fieldDTOs = FieldMapper.toDTO(fields.map(field => Field.createFromRaw(field)));\n\n return fieldDTOs.map(field => {\n const config = advancedSearch.fieldRenderers.find(config => config.type === field.type);\n const element = config?.element ?? null;\n return { ...field, element };\n });\n }, [fields]);\n\n return <AdvancedSearchComponent {...props} fields={fieldsWithRenderer} />;\n};\n\nexport const AdvancedSearch = (props: AdvancedSearchWithFieldRenderersProps) => {\n return (\n <>\n <AcoWithConfig>\n <AdvancedSearchDebounceRenderer>\n <AdvancedSearchWithFieldRenderers {...props} />\n </AdvancedSearchDebounceRenderer>\n </AcoWithConfig>\n <AdvancedSearchConfigs />\n </>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AAEtC,SAASC,cAAc,IAAIC,uBAAuB;AAClD,SAASC,qBAAqB;AAC9B,SAASC,aAAa,EAAEC,YAAY;AAEpC;AACA;AACA,SAASC,KAAK,EAAEC,WAAW;AAC3B,SAASC,8BAA8B;AACvC;AACA;AAMA,MAAMC,gCAAgC,GAAGA,CAAC;EACtCC,MAAM;EACN,GAAGC;AACgC,CAAC,KAAK;EACzC,MAAM;IAAEC;EAAe,CAAC,GAAGP,YAAY,CAAC,CAAC;EAEzC,MAAMQ,kBAAkB,GAAGb,OAAO,CAAC,MAAM;IACrC,MAAMc,SAAS,GAAGP,WAAW,CAACQ,KAAK,CAACL,MAAM,CAACM,GAAG,CAACC,KAAK,IAAIX,KAAK,CAACY,aAAa,CAACD,KAAK,CAAC,CAAC,CAAC;IAEpF,OAAOH,SAAS,CAACE,GAAG,CAACC,KAAK,IAAI;MAC1B,MAAME,MAAM,GAAGP,cAAc,CAACQ,cAAc,CAACC,IAAI,CAACF,MAAM,IAAIA,MAAM,CAACG,IAAI,KAAKL,KAAK,CAACK,IAAI,CAAC;MACvF,MAAMC,OAAO,GAAGJ,MAAM,EAAEI,OAAO,IAAI,IAAI;MACvC,OAAO;QAAE,GAAGN,KAAK;QAAEM;MAAQ,CAAC;IAChC,CAAC,CAAC;EACN,CAAC,EAAE,CAACb,MAAM,CAAC,CAAC;EAEZ,oBAAOX,KAAA,CAAAyB,aAAA,CAACtB,uBAAuB,EAAAuB,MAAA,CAAAC,MAAA,KAAKf,KAAK;IAAED,MAAM,EAAEG;EAAmB,EAAE,CAAC;AAC7E,CAAC;AAED,OAAO,MAAMZ,cAAc,GAAIU,KAA4C,IAAK;EAC5E,oBACIZ,KAAA,CAAAyB,aAAA,CAAAzB,KAAA,CAAA4B,QAAA,qBACI5B,KAAA,CAAAyB,aAAA,CAACpB,aAAa,qBACVL,KAAA,CAAAyB,aAAA,CAAChB,8BAA8B,qBAC3BT,KAAA,CAAAyB,aAAA,CAACf,gCAAgC,EAAKE,KAAQ,CAClB,CACrB,CAAC,eAChBZ,KAAA,CAAAyB,aAAA,CAACrB,qBAAqB,MAAE,CAC1B,CAAC;AAEX,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useMemo","AdvancedSearch","AdvancedSearchComponent","AdvancedSearchConfigs","AcoWithConfig","useAcoConfig","Field","FieldMapper","AdvancedSearchDebounceRenderer","AdvancedSearchWithFieldRenderers","fields","props","advancedSearch","fieldsWithRenderer","fieldDTOs","toDTO","map","field","createFromRaw","config","fieldRenderers","find","type","element","createElement","Object","assign","Fragment"],"sources":["index.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\n\nimport type { AdvancedSearchProps } from \"./AdvancedSearch\";\nimport { AdvancedSearch as AdvancedSearchComponent } from \"./AdvancedSearch\";\nimport { AdvancedSearchConfigs } from \"./AdvancedSearchConfigs\";\nimport { AcoWithConfig, useAcoConfig } from \"~/config\";\n\nexport * from \"./GraphQLInputMapper\";\nexport * from \"./gateways\";\nimport type { FieldRaw } from \"./domain\";\nimport { Field, FieldMapper } from \"./domain\";\nimport { AdvancedSearchDebounceRenderer } from \"./AdvancedSearchDebounceRender\";\nexport * from \"./useFilterRepository\";\nexport * from \"./useInputField\";\n\ninterface AdvancedSearchWithFieldRenderersProps extends Omit<AdvancedSearchProps, \"fields\"> {\n fields: FieldRaw[];\n}\n\nconst AdvancedSearchWithFieldRenderers = ({\n fields,\n ...props\n}: AdvancedSearchWithFieldRenderersProps) => {\n const { advancedSearch } = useAcoConfig();\n\n const fieldsWithRenderer = useMemo(() => {\n const fieldDTOs = FieldMapper.toDTO(fields.map(field => Field.createFromRaw(field)));\n\n return fieldDTOs.map(field => {\n const config = advancedSearch.fieldRenderers.find(config => config.type === field.type);\n const element = config?.element ?? null;\n return { ...field, element };\n });\n }, [fields]);\n\n return <AdvancedSearchComponent {...props} fields={fieldsWithRenderer} />;\n};\n\nexport const AdvancedSearch = (props: AdvancedSearchWithFieldRenderersProps) => {\n return (\n <>\n <AcoWithConfig>\n <AdvancedSearchDebounceRenderer>\n <AdvancedSearchWithFieldRenderers {...props} />\n </AdvancedSearchDebounceRenderer>\n </AcoWithConfig>\n <AdvancedSearchConfigs />\n </>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AAGtC,SAASC,cAAc,IAAIC,uBAAuB;AAClD,SAASC,qBAAqB;AAC9B,SAASC,aAAa,EAAEC,YAAY;AAEpC;AACA;AAEA,SAASC,KAAK,EAAEC,WAAW;AAC3B,SAASC,8BAA8B;AACvC;AACA;AAMA,MAAMC,gCAAgC,GAAGA,CAAC;EACtCC,MAAM;EACN,GAAGC;AACgC,CAAC,KAAK;EACzC,MAAM;IAAEC;EAAe,CAAC,GAAGP,YAAY,CAAC,CAAC;EAEzC,MAAMQ,kBAAkB,GAAGb,OAAO,CAAC,MAAM;IACrC,MAAMc,SAAS,GAAGP,WAAW,CAACQ,KAAK,CAACL,MAAM,CAACM,GAAG,CAACC,KAAK,IAAIX,KAAK,CAACY,aAAa,CAACD,KAAK,CAAC,CAAC,CAAC;IAEpF,OAAOH,SAAS,CAACE,GAAG,CAACC,KAAK,IAAI;MAC1B,MAAME,MAAM,GAAGP,cAAc,CAACQ,cAAc,CAACC,IAAI,CAACF,MAAM,IAAIA,MAAM,CAACG,IAAI,KAAKL,KAAK,CAACK,IAAI,CAAC;MACvF,MAAMC,OAAO,GAAGJ,MAAM,EAAEI,OAAO,IAAI,IAAI;MACvC,OAAO;QAAE,GAAGN,KAAK;QAAEM;MAAQ,CAAC;IAChC,CAAC,CAAC;EACN,CAAC,EAAE,CAACb,MAAM,CAAC,CAAC;EAEZ,oBAAOX,KAAA,CAAAyB,aAAA,CAACtB,uBAAuB,EAAAuB,MAAA,CAAAC,MAAA,KAAKf,KAAK;IAAED,MAAM,EAAEG;EAAmB,EAAE,CAAC;AAC7E,CAAC;AAED,OAAO,MAAMZ,cAAc,GAAIU,KAA4C,IAAK;EAC5E,oBACIZ,KAAA,CAAAyB,aAAA,CAAAzB,KAAA,CAAA4B,QAAA,qBACI5B,KAAA,CAAAyB,aAAA,CAACpB,aAAa,qBACVL,KAAA,CAAAyB,aAAA,CAAChB,8BAA8B,qBAC3BT,KAAA,CAAAyB,aAAA,CAACf,gCAAgC,EAAKE,KAAQ,CAClB,CACrB,CAAC,eAChBZ,KAAA,CAAAyB,aAAA,CAACrB,qBAAqB,MAAE,CAC1B,CAAC;AAEX,CAAC","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { FieldDTO } from "./domain";
2
+ import type { FieldDTO } from "./domain";
3
3
  export interface InputFieldContext {
4
4
  field: FieldDTO;
5
5
  name: string;
@@ -1 +1 @@
1
- {"version":3,"names":["createGenericContext","Provider","useHook","useInputField","InputFieldProvider"],"sources":["useInputField.tsx"],"sourcesContent":["import { createGenericContext } from \"@webiny/app-admin\";\nimport { FieldDTO } from \"~/components/AdvancedSearch/domain\";\n\nexport interface InputFieldContext {\n field: FieldDTO;\n name: string;\n}\n\nconst { Provider, useHook } = createGenericContext<InputFieldContext>(\"InputFieldContext\");\n\nexport const useInputField = useHook;\nexport const InputFieldProvider = Provider;\n"],"mappings":"AAAA,SAASA,oBAAoB,QAAQ,mBAAmB;AAQxD,MAAM;EAAEC,QAAQ;EAAEC;AAAQ,CAAC,GAAGF,oBAAoB,CAAoB,mBAAmB,CAAC;AAE1F,OAAO,MAAMG,aAAa,GAAGD,OAAO;AACpC,OAAO,MAAME,kBAAkB,GAAGH,QAAQ","ignoreList":[]}
1
+ {"version":3,"names":["createGenericContext","Provider","useHook","useInputField","InputFieldProvider"],"sources":["useInputField.tsx"],"sourcesContent":["import { createGenericContext } from \"@webiny/app-admin\";\nimport type { FieldDTO } from \"~/components/AdvancedSearch/domain\";\n\nexport interface InputFieldContext {\n field: FieldDTO;\n name: string;\n}\n\nconst { Provider, useHook } = createGenericContext<InputFieldContext>(\"InputFieldContext\");\n\nexport const useInputField = useHook;\nexport const InputFieldProvider = Provider;\n"],"mappings":"AAAA,SAASA,oBAAoB,QAAQ,mBAAmB;AAQxD,MAAM;EAAEC,QAAQ;EAAEC;AAAQ,CAAC,GAAGF,oBAAoB,CAAoB,mBAAmB,CAAC;AAE1F,OAAO,MAAMG,aAAa,GAAGD,OAAO;AACpC,OAAO,MAAME,kBAAkB,GAAGH,QAAQ","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { FolderItem } from "../../../types";
2
+ import type { FolderItem } from "../../../types";
3
3
  interface ListProps {
4
4
  folders: FolderItem[];
5
5
  focusedFolderId?: string;
@@ -3,7 +3,7 @@ import { Tree } from "@webiny/admin-ui";
3
3
  import { useSnackbar } from "@webiny/app-admin";
4
4
  import { Node } from "../Node";
5
5
  import { createInitialOpenList, createTreeData } from "./utils";
6
- import { useGetFolderLevelPermission, useListFoldersByParentIds, useUpdateFolder } from "../../../features";
6
+ import { useGetFolderAncestors, useGetFolderLevelPermission, useListFoldersByParentIds, useUpdateFolder } from "../../../features";
7
7
  import { ROOT_FOLDER } from "../../../constants";
8
8
  import { FolderProvider } from "../../../contexts/folder";
9
9
  export const List = ({
@@ -23,6 +23,9 @@ export const List = ({
23
23
  const {
24
24
  getFolderLevelPermission: canManageStructure
25
25
  } = useGetFolderLevelPermission("canManageStructure");
26
+ const {
27
+ getFolderAncestors
28
+ } = useGetFolderAncestors();
26
29
  const {
27
30
  showSnackbar
28
31
  } = useSnackbar();
@@ -70,6 +73,16 @@ export const List = ({
70
73
  });
71
74
  }, []);
72
75
  const canDrag = useCallback(node => node.id !== ROOT_FOLDER && canManageStructure(node.id), [canManageStructure]);
76
+ const canDrop = (_, options) => {
77
+ const {
78
+ dragSourceId,
79
+ dropTargetId
80
+ } = options;
81
+ const dropTagetAncestorIds = getFolderAncestors(dropTargetId).map(item => item.id);
82
+
83
+ // Prevent dropping a folder into itself or its descendants
84
+ return !(dragSourceId && dropTagetAncestorIds.includes(dragSourceId));
85
+ };
73
86
  const nodeRenderer = node => {
74
87
  const folder = folders.find(folder => folder.id === node.id);
75
88
  return /*#__PURE__*/React.createElement(FolderProvider, {
@@ -90,6 +103,7 @@ export const List = ({
90
103
  onNodeClick: handleNodeClick,
91
104
  sort: sort,
92
105
  canDrag: canDrag,
106
+ canDrop: canDrop,
93
107
  renderer: nodeRenderer,
94
108
  defaultLockedOpenNodeIds: [ROOT_FOLDER],
95
109
  loadingNodeIds: loading
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useEffect","useMemo","useState","Tree","useSnackbar","Node","createInitialOpenList","createTreeData","useGetFolderLevelPermission","useListFoldersByParentIds","useUpdateFolder","ROOT_FOLDER","FolderProvider","List","folders","onFolderClick","focusedFolderId","hiddenFolderIds","enableActions","listFoldersByParentIds","loading","updateFolder","getFolderLevelPermission","canManageStructure","showSnackbar","treeData","setTreeData","openFolderIds","setOpenFolderIds","prev","expanded","Set","handleChangeOpen","nodes","folderIds","map","node","id","updatedOpenIds","fetchableIds","filter","handleDrop","_","dragSourceId","dropTargetId","item","find","folder","Error","parentId","error","message","sort","a","b","label","localeCompare","undefined","numeric","canDrag","nodeRenderer","createElement","handleNodeClick","rootId","defaultOpenNodeIds","onChangeOpen","onDrop","onNodeClick","renderer","defaultLockedOpenNodeIds","loadingNodeIds"],"sources":["List.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { Tree, type NodeDto, type TreeProps, type WithDefaultNodeData } from \"@webiny/admin-ui\";\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport { Node } from \"../Node\";\nimport { createInitialOpenList, createTreeData } from \"./utils\";\nimport {\n useGetFolderLevelPermission,\n useListFoldersByParentIds,\n useUpdateFolder\n} from \"~/features\";\nimport { ROOT_FOLDER } from \"~/constants\";\nimport { FolderItem } from \"~/types\";\nimport { FolderProvider } from \"~/contexts/folder\";\n\ninterface ListProps {\n folders: FolderItem[];\n focusedFolderId?: string;\n hiddenFolderIds?: string[];\n enableActions?: boolean;\n onFolderClick: (data: FolderItem) => void;\n}\n\nexport const List = ({\n folders,\n onFolderClick,\n focusedFolderId,\n hiddenFolderIds,\n enableActions\n}: ListProps) => {\n const { listFoldersByParentIds, loading } = useListFoldersByParentIds();\n const { updateFolder } = useUpdateFolder();\n const { getFolderLevelPermission: canManageStructure } =\n useGetFolderLevelPermission(\"canManageStructure\");\n const { showSnackbar } = useSnackbar();\n\n const [treeData, setTreeData] = useState<NodeDto<FolderItem>[]>([]);\n const [openFolderIds, setOpenFolderIds] = useState<string[]>([ROOT_FOLDER]);\n\n useEffect(() => {\n setTreeData(createTreeData(folders, focusedFolderId, hiddenFolderIds));\n }, [folders, focusedFolderId, hiddenFolderIds]);\n\n useEffect(() => {\n setOpenFolderIds(prev => {\n const expanded = createInitialOpenList(folders, prev, focusedFolderId);\n return [...new Set([ROOT_FOLDER, ...expanded])];\n });\n }, [focusedFolderId, folders, setOpenFolderIds]);\n\n const handleChangeOpen: TreeProps[\"onChangeOpen\"] = async nodes => {\n const folderIds = nodes.map(node => node.id);\n const updatedOpenIds = [...new Set([ROOT_FOLDER, ...folderIds])];\n setOpenFolderIds(updatedOpenIds);\n\n const fetchableIds = folderIds.filter(id => id !== ROOT_FOLDER && id !== \"0\");\n await listFoldersByParentIds(fetchableIds);\n };\n\n const handleDrop: TreeProps[\"onDrop\"] = async (_, { dragSourceId, dropTargetId }) => {\n try {\n const item = folders.find(folder => folder.id === dragSourceId);\n if (!item) {\n throw new Error(\"Folder not found!\");\n }\n\n await updateFolder({\n ...item,\n parentId: dropTargetId !== ROOT_FOLDER ? (dropTargetId as string) : null\n });\n } catch (error) {\n showSnackbar(error.message);\n }\n };\n\n const sort = useMemo(\n () => (a: NodeDto<any>, b: NodeDto<any>) => {\n if (a.id === ROOT_FOLDER || b.id === ROOT_FOLDER) {\n return 1;\n }\n return a.label.localeCompare(b.label, undefined, { numeric: true });\n },\n []\n );\n\n const canDrag: TreeProps<FolderItem>[\"canDrag\"] = useCallback(\n (node: NodeDto<FolderItem>) => node.id !== ROOT_FOLDER && canManageStructure(node.id),\n [canManageStructure]\n );\n\n const nodeRenderer: TreeProps<FolderItem>[\"renderer\"] = node => {\n const folder = folders.find(folder => folder.id === node.id);\n return (\n <FolderProvider folder={folder}>\n <Node enableActions={enableActions} />\n </FolderProvider>\n );\n };\n\n const handleNodeClick = useCallback(\n (node: WithDefaultNodeData<FolderItem>) => {\n onFolderClick(node);\n },\n [onFolderClick]\n );\n\n return (\n <Tree<FolderItem>\n nodes={treeData}\n rootId={\"0\"}\n defaultOpenNodeIds={openFolderIds}\n onChangeOpen={handleChangeOpen}\n onDrop={handleDrop}\n onNodeClick={handleNodeClick}\n sort={sort}\n canDrag={canDrag}\n renderer={nodeRenderer}\n defaultLockedOpenNodeIds={[ROOT_FOLDER]}\n loadingNodeIds={loading}\n />\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useEffect","useMemo","useState","Tree","useSnackbar","Node","createInitialOpenList","createTreeData","useGetFolderAncestors","useGetFolderLevelPermission","useListFoldersByParentIds","useUpdateFolder","ROOT_FOLDER","FolderProvider","List","folders","onFolderClick","focusedFolderId","hiddenFolderIds","enableActions","listFoldersByParentIds","loading","updateFolder","getFolderLevelPermission","canManageStructure","getFolderAncestors","showSnackbar","treeData","setTreeData","openFolderIds","setOpenFolderIds","prev","expanded","Set","handleChangeOpen","nodes","folderIds","map","node","id","updatedOpenIds","fetchableIds","filter","handleDrop","_","dragSourceId","dropTargetId","item","find","folder","Error","parentId","error","message","sort","a","b","label","localeCompare","undefined","numeric","canDrag","canDrop","options","dropTagetAncestorIds","includes","nodeRenderer","createElement","handleNodeClick","rootId","defaultOpenNodeIds","onChangeOpen","onDrop","onNodeClick","renderer","defaultLockedOpenNodeIds","loadingNodeIds"],"sources":["List.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport {\n Tree,\n type NodeDto,\n type TreeProps,\n type WithDefaultNodeData,\n type DropOptions\n} from \"@webiny/admin-ui\";\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport { Node } from \"../Node\";\nimport { createInitialOpenList, createTreeData } from \"./utils\";\nimport {\n useGetFolderAncestors,\n useGetFolderLevelPermission,\n useListFoldersByParentIds,\n useUpdateFolder\n} from \"~/features\";\nimport { ROOT_FOLDER } from \"~/constants\";\nimport type { FolderItem } from \"~/types\";\nimport { FolderProvider } from \"~/contexts/folder\";\n\ninterface ListProps {\n folders: FolderItem[];\n focusedFolderId?: string;\n hiddenFolderIds?: string[];\n enableActions?: boolean;\n onFolderClick: (data: FolderItem) => void;\n}\n\nexport const List = ({\n folders,\n onFolderClick,\n focusedFolderId,\n hiddenFolderIds,\n enableActions\n}: ListProps) => {\n const { listFoldersByParentIds, loading } = useListFoldersByParentIds();\n const { updateFolder } = useUpdateFolder();\n const { getFolderLevelPermission: canManageStructure } =\n useGetFolderLevelPermission(\"canManageStructure\");\n const { getFolderAncestors } = useGetFolderAncestors();\n const { showSnackbar } = useSnackbar();\n\n const [treeData, setTreeData] = useState<NodeDto<FolderItem>[]>([]);\n const [openFolderIds, setOpenFolderIds] = useState<string[]>([ROOT_FOLDER]);\n\n useEffect(() => {\n setTreeData(createTreeData(folders, focusedFolderId, hiddenFolderIds));\n }, [folders, focusedFolderId, hiddenFolderIds]);\n\n useEffect(() => {\n setOpenFolderIds(prev => {\n const expanded = createInitialOpenList(folders, prev, focusedFolderId);\n return [...new Set([ROOT_FOLDER, ...expanded])];\n });\n }, [focusedFolderId, folders, setOpenFolderIds]);\n\n const handleChangeOpen: TreeProps[\"onChangeOpen\"] = async nodes => {\n const folderIds = nodes.map(node => node.id);\n const updatedOpenIds = [...new Set([ROOT_FOLDER, ...folderIds])];\n setOpenFolderIds(updatedOpenIds);\n\n const fetchableIds = folderIds.filter(id => id !== ROOT_FOLDER && id !== \"0\");\n await listFoldersByParentIds(fetchableIds);\n };\n\n const handleDrop: TreeProps[\"onDrop\"] = async (_, { dragSourceId, dropTargetId }) => {\n try {\n const item = folders.find(folder => folder.id === dragSourceId);\n if (!item) {\n throw new Error(\"Folder not found!\");\n }\n\n await updateFolder({\n ...item,\n parentId: dropTargetId !== ROOT_FOLDER ? (dropTargetId as string) : null\n });\n } catch (error) {\n showSnackbar(error.message);\n }\n };\n\n const sort = useMemo(\n () => (a: NodeDto<any>, b: NodeDto<any>) => {\n if (a.id === ROOT_FOLDER || b.id === ROOT_FOLDER) {\n return 1;\n }\n return a.label.localeCompare(b.label, undefined, { numeric: true });\n },\n []\n );\n\n const canDrag: TreeProps<FolderItem>[\"canDrag\"] = useCallback(\n (node: NodeDto<FolderItem>) => node.id !== ROOT_FOLDER && canManageStructure(node.id),\n [canManageStructure]\n );\n\n const canDrop: TreeProps<FolderItem>[\"canDrop\"] = (_, options: DropOptions<FolderItem>) => {\n const { dragSourceId, dropTargetId } = options;\n const dropTagetAncestorIds = getFolderAncestors(dropTargetId).map(item => item.id);\n\n // Prevent dropping a folder into itself or its descendants\n return !(dragSourceId && dropTagetAncestorIds.includes(dragSourceId));\n };\n\n const nodeRenderer: TreeProps<FolderItem>[\"renderer\"] = node => {\n const folder = folders.find(folder => folder.id === node.id);\n return (\n <FolderProvider folder={folder}>\n <Node enableActions={enableActions} />\n </FolderProvider>\n );\n };\n\n const handleNodeClick = useCallback(\n (node: WithDefaultNodeData<FolderItem>) => {\n onFolderClick(node);\n },\n [onFolderClick]\n );\n\n return (\n <Tree<FolderItem>\n nodes={treeData}\n rootId={\"0\"}\n defaultOpenNodeIds={openFolderIds}\n onChangeOpen={handleChangeOpen}\n onDrop={handleDrop}\n onNodeClick={handleNodeClick}\n sort={sort}\n canDrag={canDrag}\n canDrop={canDrop}\n renderer={nodeRenderer}\n defaultLockedOpenNodeIds={[ROOT_FOLDER]}\n loadingNodeIds={loading}\n />\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { FolderItem } from "../../../types";
1
+ import type { FolderItem } from "../../../types";
2
2
  import type { NodeDto } from "@webiny/admin-ui";
3
3
  /**
4
4
  * Transform an array of folders returned by folders cache into an array of elements for the tree component.
@@ -1 +1 @@
1
- {"version":3,"names":["ROOT_FOLDER","createTreeData","folders","focusedNodeId","hiddenFolderIds","map","item","id","parentId","title","toLowerCase","label","droppable","active","filter","includes","createInitialOpenList","openIds","focusedId","folderMap","Map","folder","result","currentId","push","get","Set"],"sources":["utils.ts"],"sourcesContent":["import { FolderItem } from \"~/types\";\nimport { ROOT_FOLDER } from \"~/constants\";\nimport type { NodeDto } from \"@webiny/admin-ui\";\n\n/**\n * Transform an array of folders returned by folders cache into an array of elements for the tree component.\n *\n * @param folders list of folders returned by folders cache.\n * @param focusedNodeId id of the current folder selected/focused.\n * @param hiddenFolderIds list ids of the folder you don't want to show within the list.\n * @return array of elements to render the tree component.\n */\nexport const createTreeData = (\n folders: FolderItem[] = [],\n focusedNodeId?: string,\n hiddenFolderIds: string[] = []\n): NodeDto<FolderItem>[] => {\n return folders\n .map(item => {\n const { id, parentId, title } = item;\n\n return {\n id,\n // toLowerCase() fixes a bug introduced by 5.36.0: accidentally we stored \"ROOT\" as parentId, instead of null\n parentId: parentId?.toLowerCase() || ROOT_FOLDER,\n label: title,\n droppable: true,\n active: focusedNodeId === id\n };\n })\n .filter(item => !hiddenFolderIds.includes(item.id));\n};\n\n/**\n * Return an array of ids of open folders, based on the current focused folder id, its parent folders and the folders\n * opened by user interaction.\n *\n * @param folders list of folders returned by folders cache.\n * @param openIds list of open folders ids.\n * @param focusedId id of the current folder selected/focused.\n * @return array of ids of open folders.\n */\nexport const createInitialOpenList = (\n folders: FolderItem[] = [],\n openIds: string[] = [],\n focusedId?: string\n): string[] => {\n // There is always a root folder, opened by default\n if (!focusedId) {\n return openIds;\n }\n\n // Create a map for quick folder lookup by id\n const folderMap = new Map(folders.map(folder => [folder.id, folder]));\n // Store the chain of folder ids from the focused folder up to the root\n const result: string[] = [];\n\n let currentId: string | undefined = focusedId;\n\n // Traverse up the folder tree, collecting parent ids\n while (currentId) {\n // Add the current folder id if not already in the result\n if (!result.includes(currentId)) {\n result.push(currentId);\n }\n // Get the folder object for the current id\n const folder = folderMap.get(currentId) as FolderItem | undefined;\n // Get the parent id of the current folder\n const parentId = folder?.parentId;\n // Stop if there is no parent or we've already added this parent\n if (!parentId || result.includes(parentId)) {\n break;\n }\n // Move up to the parent folder\n currentId = parentId;\n }\n\n return [...new Set([...result, ...openIds])];\n};\n"],"mappings":"AACA,SAASA,WAAW;AAGpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,cAAc,GAAGA,CAC1BC,OAAqB,GAAG,EAAE,EAC1BC,aAAsB,EACtBC,eAAyB,GAAG,EAAE,KACN;EACxB,OAAOF,OAAO,CACTG,GAAG,CAACC,IAAI,IAAI;IACT,MAAM;MAAEC,EAAE;MAAEC,QAAQ;MAAEC;IAAM,CAAC,GAAGH,IAAI;IAEpC,OAAO;MACHC,EAAE;MACF;MACAC,QAAQ,EAAEA,QAAQ,EAAEE,WAAW,CAAC,CAAC,IAAIV,WAAW;MAChDW,KAAK,EAAEF,KAAK;MACZG,SAAS,EAAE,IAAI;MACfC,MAAM,EAAEV,aAAa,KAAKI;IAC9B,CAAC;EACL,CAAC,CAAC,CACDO,MAAM,CAACR,IAAI,IAAI,CAACF,eAAe,CAACW,QAAQ,CAACT,IAAI,CAACC,EAAE,CAAC,CAAC;AAC3D,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMS,qBAAqB,GAAGA,CACjCd,OAAqB,GAAG,EAAE,EAC1Be,OAAiB,GAAG,EAAE,EACtBC,SAAkB,KACP;EACX;EACA,IAAI,CAACA,SAAS,EAAE;IACZ,OAAOD,OAAO;EAClB;;EAEA;EACA,MAAME,SAAS,GAAG,IAAIC,GAAG,CAAClB,OAAO,CAACG,GAAG,CAACgB,MAAM,IAAI,CAACA,MAAM,CAACd,EAAE,EAAEc,MAAM,CAAC,CAAC,CAAC;EACrE;EACA,MAAMC,MAAgB,GAAG,EAAE;EAE3B,IAAIC,SAA6B,GAAGL,SAAS;;EAE7C;EACA,OAAOK,SAAS,EAAE;IACd;IACA,IAAI,CAACD,MAAM,CAACP,QAAQ,CAACQ,SAAS,CAAC,EAAE;MAC7BD,MAAM,CAACE,IAAI,CAACD,SAAS,CAAC;IAC1B;IACA;IACA,MAAMF,MAAM,GAAGF,SAAS,CAACM,GAAG,CAACF,SAAS,CAA2B;IACjE;IACA,MAAMf,QAAQ,GAAGa,MAAM,EAAEb,QAAQ;IACjC;IACA,IAAI,CAACA,QAAQ,IAAIc,MAAM,CAACP,QAAQ,CAACP,QAAQ,CAAC,EAAE;MACxC;IACJ;IACA;IACAe,SAAS,GAAGf,QAAQ;EACxB;EAEA,OAAO,CAAC,GAAG,IAAIkB,GAAG,CAAC,CAAC,GAAGJ,MAAM,EAAE,GAAGL,OAAO,CAAC,CAAC,CAAC;AAChD,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["ROOT_FOLDER","createTreeData","folders","focusedNodeId","hiddenFolderIds","map","item","id","parentId","title","toLowerCase","label","droppable","active","filter","includes","createInitialOpenList","openIds","focusedId","folderMap","Map","folder","result","currentId","push","get","Set"],"sources":["utils.ts"],"sourcesContent":["import type { FolderItem } from \"~/types\";\nimport { ROOT_FOLDER } from \"~/constants\";\nimport type { NodeDto } from \"@webiny/admin-ui\";\n\n/**\n * Transform an array of folders returned by folders cache into an array of elements for the tree component.\n *\n * @param folders list of folders returned by folders cache.\n * @param focusedNodeId id of the current folder selected/focused.\n * @param hiddenFolderIds list ids of the folder you don't want to show within the list.\n * @return array of elements to render the tree component.\n */\nexport const createTreeData = (\n folders: FolderItem[] = [],\n focusedNodeId?: string,\n hiddenFolderIds: string[] = []\n): NodeDto<FolderItem>[] => {\n return folders\n .map(item => {\n const { id, parentId, title } = item;\n\n return {\n id,\n // toLowerCase() fixes a bug introduced by 5.36.0: accidentally we stored \"ROOT\" as parentId, instead of null\n parentId: parentId?.toLowerCase() || ROOT_FOLDER,\n label: title,\n droppable: true,\n active: focusedNodeId === id\n };\n })\n .filter(item => !hiddenFolderIds.includes(item.id));\n};\n\n/**\n * Return an array of ids of open folders, based on the current focused folder id, its parent folders and the folders\n * opened by user interaction.\n *\n * @param folders list of folders returned by folders cache.\n * @param openIds list of open folders ids.\n * @param focusedId id of the current folder selected/focused.\n * @return array of ids of open folders.\n */\nexport const createInitialOpenList = (\n folders: FolderItem[] = [],\n openIds: string[] = [],\n focusedId?: string\n): string[] => {\n // There is always a root folder, opened by default\n if (!focusedId) {\n return openIds;\n }\n\n // Create a map for quick folder lookup by id\n const folderMap = new Map(folders.map(folder => [folder.id, folder]));\n // Store the chain of folder ids from the focused folder up to the root\n const result: string[] = [];\n\n let currentId: string | undefined = focusedId;\n\n // Traverse up the folder tree, collecting parent ids\n while (currentId) {\n // Add the current folder id if not already in the result\n if (!result.includes(currentId)) {\n result.push(currentId);\n }\n // Get the folder object for the current id\n const folder = folderMap.get(currentId) as FolderItem | undefined;\n // Get the parent id of the current folder\n const parentId = folder?.parentId;\n // Stop if there is no parent or we've already added this parent\n if (!parentId || result.includes(parentId)) {\n break;\n }\n // Move up to the parent folder\n currentId = parentId;\n }\n\n return [...new Set([...result, ...openIds])];\n};\n"],"mappings":"AACA,SAASA,WAAW;AAGpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,cAAc,GAAGA,CAC1BC,OAAqB,GAAG,EAAE,EAC1BC,aAAsB,EACtBC,eAAyB,GAAG,EAAE,KACN;EACxB,OAAOF,OAAO,CACTG,GAAG,CAACC,IAAI,IAAI;IACT,MAAM;MAAEC,EAAE;MAAEC,QAAQ;MAAEC;IAAM,CAAC,GAAGH,IAAI;IAEpC,OAAO;MACHC,EAAE;MACF;MACAC,QAAQ,EAAEA,QAAQ,EAAEE,WAAW,CAAC,CAAC,IAAIV,WAAW;MAChDW,KAAK,EAAEF,KAAK;MACZG,SAAS,EAAE,IAAI;MACfC,MAAM,EAAEV,aAAa,KAAKI;IAC9B,CAAC;EACL,CAAC,CAAC,CACDO,MAAM,CAACR,IAAI,IAAI,CAACF,eAAe,CAACW,QAAQ,CAACT,IAAI,CAACC,EAAE,CAAC,CAAC;AAC3D,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMS,qBAAqB,GAAGA,CACjCd,OAAqB,GAAG,EAAE,EAC1Be,OAAiB,GAAG,EAAE,EACtBC,SAAkB,KACP;EACX;EACA,IAAI,CAACA,SAAS,EAAE;IACZ,OAAOD,OAAO;EAClB;;EAEA;EACA,MAAME,SAAS,GAAG,IAAIC,GAAG,CAAClB,OAAO,CAACG,GAAG,CAACgB,MAAM,IAAI,CAACA,MAAM,CAACd,EAAE,EAAEc,MAAM,CAAC,CAAC,CAAC;EACrE;EACA,MAAMC,MAAgB,GAAG,EAAE;EAE3B,IAAIC,SAA6B,GAAGL,SAAS;;EAE7C;EACA,OAAOK,SAAS,EAAE;IACd;IACA,IAAI,CAACD,MAAM,CAACP,QAAQ,CAACQ,SAAS,CAAC,EAAE;MAC7BD,MAAM,CAACE,IAAI,CAACD,SAAS,CAAC;IAC1B;IACA;IACA,MAAMF,MAAM,GAAGF,SAAS,CAACM,GAAG,CAACF,SAAS,CAA2B;IACjE;IACA,MAAMf,QAAQ,GAAGa,MAAM,EAAEb,QAAQ;IACjC;IACA,IAAI,CAACA,QAAQ,IAAIc,MAAM,CAACP,QAAQ,CAACP,QAAQ,CAAC,EAAE;MACxC;IACJ;IACA;IACAe,SAAS,GAAGf,QAAQ;EACxB;EAEA,OAAO,CAAC,GAAG,IAAIkB,GAAG,CAAC,CAAC,GAAGJ,MAAM,EAAE,GAAGL,OAAO,CAAC,CAAC,CAAC;AAChD,CAAC","ignoreList":[]}
@@ -17,6 +17,8 @@ export const MenuActions = () => {
17
17
  return null;
18
18
  }
19
19
  return /*#__PURE__*/React.createElement("div", {
20
+ // Let's stop click event propagation, otherwise opening the OptionsMenu event will propagate up to the main Tree Item
21
+ onClick: e => e.stopPropagation(),
20
22
  className: cn("wby-invisible group-hover:wby-visible", "wby-size-md wby-cursor-pointer", "wby-absolute wby-top-1/2 wby-right-sm wby--translate-y-1/2")
21
23
  }, /*#__PURE__*/React.createElement(OptionsMenu, {
22
24
  trigger: /*#__PURE__*/React.createElement(IconButton, {
@@ -1 +1 @@
1
- {"version":3,"names":["React","OptionsMenu","cn","IconButton","ReactComponent","MoreVerticalIcon","useAcoConfig","useFolder","MenuActions","folder","folderConfig","canManageStructure","createElement","className","trigger","icon","size","variant","actions"],"sources":["MenuActions.tsx"],"sourcesContent":["import React from \"react\";\nimport { OptionsMenu } from \"@webiny/app-admin\";\nimport { cn, IconButton } from \"@webiny/admin-ui\";\nimport { ReactComponent as MoreVerticalIcon } from \"@webiny/icons/more_vert.svg\";\nimport { useAcoConfig } from \"~/config\";\nimport { useFolder } from \"~/hooks\";\n\nexport const MenuActions = () => {\n const { folder } = useFolder();\n const { folder: folderConfig } = useAcoConfig();\n\n // If the user cannot manage folder structure, no need to show the menu.\n if (!folder.canManageStructure) {\n return null;\n }\n\n return (\n <div\n className={cn(\n \"wby-invisible group-hover:wby-visible\",\n \"wby-size-md wby-cursor-pointer\",\n \"wby-absolute wby-top-1/2 wby-right-sm wby--translate-y-1/2\"\n )}\n >\n <OptionsMenu\n trigger={<IconButton icon={<MoreVerticalIcon />} size={\"xs\"} variant={\"ghost\"} />}\n actions={folderConfig.actions}\n data-testid={\"folder.tree.menu-action\"}\n />\n </div>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,WAAW,QAAQ,mBAAmB;AAC/C,SAASC,EAAE,EAAEC,UAAU,QAAQ,kBAAkB;AACjD,SAASC,cAAc,IAAIC,gBAAgB,QAAQ,6BAA6B;AAChF,SAASC,YAAY;AACrB,SAASC,SAAS;AAElB,OAAO,MAAMC,WAAW,GAAGA,CAAA,KAAM;EAC7B,MAAM;IAAEC;EAAO,CAAC,GAAGF,SAAS,CAAC,CAAC;EAC9B,MAAM;IAAEE,MAAM,EAAEC;EAAa,CAAC,GAAGJ,YAAY,CAAC,CAAC;;EAE/C;EACA,IAAI,CAACG,MAAM,CAACE,kBAAkB,EAAE;IAC5B,OAAO,IAAI;EACf;EAEA,oBACIX,KAAA,CAAAY,aAAA;IACIC,SAAS,EAAEX,EAAE,CACT,uCAAuC,EACvC,gCAAgC,EAChC,6DACJ;EAAE,gBAEFF,KAAA,CAAAY,aAAA,CAACX,WAAW;IACRa,OAAO,eAAEd,KAAA,CAAAY,aAAA,CAACT,UAAU;MAACY,IAAI,eAAEf,KAAA,CAAAY,aAAA,CAACP,gBAAgB,MAAE,CAAE;MAACW,IAAI,EAAE,IAAK;MAACC,OAAO,EAAE;IAAQ,CAAE,CAAE;IAClFC,OAAO,EAAER,YAAY,CAACQ,OAAQ;IAC9B,eAAa;EAA0B,CAC1C,CACA,CAAC;AAEd,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","OptionsMenu","cn","IconButton","ReactComponent","MoreVerticalIcon","useAcoConfig","useFolder","MenuActions","folder","folderConfig","canManageStructure","createElement","onClick","e","stopPropagation","className","trigger","icon","size","variant","actions"],"sources":["MenuActions.tsx"],"sourcesContent":["import React from \"react\";\nimport { OptionsMenu } from \"@webiny/app-admin\";\nimport { cn, IconButton } from \"@webiny/admin-ui\";\nimport { ReactComponent as MoreVerticalIcon } from \"@webiny/icons/more_vert.svg\";\nimport { useAcoConfig } from \"~/config\";\nimport { useFolder } from \"~/hooks\";\n\nexport const MenuActions = () => {\n const { folder } = useFolder();\n const { folder: folderConfig } = useAcoConfig();\n\n // If the user cannot manage folder structure, no need to show the menu.\n if (!folder.canManageStructure) {\n return null;\n }\n\n return (\n <div\n // Let's stop click event propagation, otherwise opening the OptionsMenu event will propagate up to the main Tree Item\n onClick={e => e.stopPropagation()}\n className={cn(\n \"wby-invisible group-hover:wby-visible\",\n \"wby-size-md wby-cursor-pointer\",\n \"wby-absolute wby-top-1/2 wby-right-sm wby--translate-y-1/2\"\n )}\n >\n <OptionsMenu\n trigger={<IconButton icon={<MoreVerticalIcon />} size={\"xs\"} variant={\"ghost\"} />}\n actions={folderConfig.actions}\n data-testid={\"folder.tree.menu-action\"}\n />\n </div>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,WAAW,QAAQ,mBAAmB;AAC/C,SAASC,EAAE,EAAEC,UAAU,QAAQ,kBAAkB;AACjD,SAASC,cAAc,IAAIC,gBAAgB,QAAQ,6BAA6B;AAChF,SAASC,YAAY;AACrB,SAASC,SAAS;AAElB,OAAO,MAAMC,WAAW,GAAGA,CAAA,KAAM;EAC7B,MAAM;IAAEC;EAAO,CAAC,GAAGF,SAAS,CAAC,CAAC;EAC9B,MAAM;IAAEE,MAAM,EAAEC;EAAa,CAAC,GAAGJ,YAAY,CAAC,CAAC;;EAE/C;EACA,IAAI,CAACG,MAAM,CAACE,kBAAkB,EAAE;IAC5B,OAAO,IAAI;EACf;EAEA,oBACIX,KAAA,CAAAY,aAAA;IACI;IACAC,OAAO,EAAEC,CAAC,IAAIA,CAAC,CAACC,eAAe,CAAC,CAAE;IAClCC,SAAS,EAAEd,EAAE,CACT,uCAAuC,EACvC,gCAAgC,EAChC,6DACJ;EAAE,gBAEFF,KAAA,CAAAY,aAAA,CAACX,WAAW;IACRgB,OAAO,eAAEjB,KAAA,CAAAY,aAAA,CAACT,UAAU;MAACe,IAAI,eAAElB,KAAA,CAAAY,aAAA,CAACP,gBAAgB,MAAE,CAAE;MAACc,IAAI,EAAE,IAAK;MAACC,OAAO,EAAE;IAAQ,CAAE,CAAE;IAClFC,OAAO,EAAEX,YAAY,CAACW,OAAQ;IAC9B,eAAa;EAA0B,CAC1C,CACA,CAAC;AAEd,CAAC","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
2
  import { Loader } from "./Loader";
3
- import { FolderItem } from "../../types";
3
+ import type { FolderItem } from "../../types";
4
4
  export { Loader };
5
5
  export interface FolderTreeProps {
6
6
  onFolderClick: (data: FolderItem) => void;
@@ -1 +1 @@
1
- {"version":3,"names":["React","useMemo","Tooltip","useGetFolderHierarchy","useGetFolderLevelPermission","ButtonCreate","Loader","List","ROOT_FOLDER","AcoWithConfig","FolderTree","focusedFolderId","hiddenFolderIds","enableActions","enableCreate","onFolderClick","rootFolderLabel","folders","getIsFolderLoading","getFolderLevelPermission","canManageStructure","localFolders","map","item","id","title","createButton","canCreate","button","createElement","disabled","content","trigger","className"],"sources":["index.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { Tooltip } from \"@webiny/admin-ui\";\nimport { useGetFolderHierarchy, useGetFolderLevelPermission } from \"~/features\";\nimport { ButtonCreate } from \"./ButtonCreate\";\nimport { Loader } from \"./Loader\";\nimport { List } from \"./List\";\nimport { FolderItem } from \"~/types\";\nimport { ROOT_FOLDER } from \"~/constants\";\nimport { AcoWithConfig } from \"~/config\";\n\nexport { Loader };\n\nexport interface FolderTreeProps {\n onFolderClick: (data: FolderItem) => void;\n enableCreate?: boolean;\n rootFolderLabel?: string;\n enableActions?: boolean;\n focusedFolderId?: string;\n hiddenFolderIds?: string[];\n}\n\nexport const FolderTree = ({\n focusedFolderId,\n hiddenFolderIds,\n enableActions,\n enableCreate,\n onFolderClick,\n rootFolderLabel\n}: FolderTreeProps) => {\n const { folders, getIsFolderLoading } = useGetFolderHierarchy();\n const { getFolderLevelPermission: canManageStructure } =\n useGetFolderLevelPermission(\"canManageStructure\");\n\n const localFolders = useMemo(() => {\n if (!folders) {\n return [];\n }\n\n return folders.map(item =>\n item.id === ROOT_FOLDER && rootFolderLabel ? { ...item, title: rootFolderLabel } : item\n );\n }, [folders, rootFolderLabel]);\n\n const createButton = useMemo(() => {\n if (!enableCreate) {\n return null;\n }\n\n const canCreate = canManageStructure(focusedFolderId!);\n const button = <ButtonCreate disabled={!canCreate} />;\n\n return canCreate ? (\n button\n ) : (\n <Tooltip\n content={`Cannot create folder because you're not an owner.`}\n trigger={button}\n />\n );\n }, [enableCreate, canManageStructure, focusedFolderId, localFolders]);\n\n if (getIsFolderLoading()) {\n return <Loader />;\n }\n\n return (\n <div className=\"wby-my-xs\">\n <AcoWithConfig>\n <List\n folders={localFolders}\n onFolderClick={onFolderClick}\n focusedFolderId={focusedFolderId}\n hiddenFolderIds={hiddenFolderIds}\n enableActions={enableActions}\n />\n {enableCreate && (\n <div className={\"wby-m-xs-plus wby-mt-sm-plus wby-mb-lg wby-pl-sm-extra\"}>\n {createButton}\n </div>\n )}\n </AcoWithConfig>\n </div>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,SAASC,OAAO,QAAQ,kBAAkB;AAC1C,SAASC,qBAAqB,EAAEC,2BAA2B;AAC3D,SAASC,YAAY;AACrB,SAASC,MAAM;AACf,SAASC,IAAI;AAEb,SAASC,WAAW;AACpB,SAASC,aAAa;AAEtB,SAASH,MAAM;AAWf,OAAO,MAAMI,UAAU,GAAGA,CAAC;EACvBC,eAAe;EACfC,eAAe;EACfC,aAAa;EACbC,YAAY;EACZC,aAAa;EACbC;AACa,CAAC,KAAK;EACnB,MAAM;IAAEC,OAAO;IAAEC;EAAmB,CAAC,GAAGf,qBAAqB,CAAC,CAAC;EAC/D,MAAM;IAAEgB,wBAAwB,EAAEC;EAAmB,CAAC,GAClDhB,2BAA2B,CAAC,oBAAoB,CAAC;EAErD,MAAMiB,YAAY,GAAGpB,OAAO,CAAC,MAAM;IAC/B,IAAI,CAACgB,OAAO,EAAE;MACV,OAAO,EAAE;IACb;IAEA,OAAOA,OAAO,CAACK,GAAG,CAACC,IAAI,IACnBA,IAAI,CAACC,EAAE,KAAKhB,WAAW,IAAIQ,eAAe,GAAG;MAAE,GAAGO,IAAI;MAAEE,KAAK,EAAET;IAAgB,CAAC,GAAGO,IACvF,CAAC;EACL,CAAC,EAAE,CAACN,OAAO,EAAED,eAAe,CAAC,CAAC;EAE9B,MAAMU,YAAY,GAAGzB,OAAO,CAAC,MAAM;IAC/B,IAAI,CAACa,YAAY,EAAE;MACf,OAAO,IAAI;IACf;IAEA,MAAMa,SAAS,GAAGP,kBAAkB,CAACT,eAAgB,CAAC;IACtD,MAAMiB,MAAM,gBAAG5B,KAAA,CAAA6B,aAAA,CAACxB,YAAY;MAACyB,QAAQ,EAAE,CAACH;IAAU,CAAE,CAAC;IAErD,OAAOA,SAAS,GACZC,MAAM,gBAEN5B,KAAA,CAAA6B,aAAA,CAAC3B,OAAO;MACJ6B,OAAO,EAAE,mDAAoD;MAC7DC,OAAO,EAAEJ;IAAO,CACnB,CACJ;EACL,CAAC,EAAE,CAACd,YAAY,EAAEM,kBAAkB,EAAET,eAAe,EAAEU,YAAY,CAAC,CAAC;EAErE,IAAIH,kBAAkB,CAAC,CAAC,EAAE;IACtB,oBAAOlB,KAAA,CAAA6B,aAAA,CAACvB,MAAM,MAAE,CAAC;EACrB;EAEA,oBACIN,KAAA,CAAA6B,aAAA;IAAKI,SAAS,EAAC;EAAW,gBACtBjC,KAAA,CAAA6B,aAAA,CAACpB,aAAa,qBACVT,KAAA,CAAA6B,aAAA,CAACtB,IAAI;IACDU,OAAO,EAAEI,YAAa;IACtBN,aAAa,EAAEA,aAAc;IAC7BJ,eAAe,EAAEA,eAAgB;IACjCC,eAAe,EAAEA,eAAgB;IACjCC,aAAa,EAAEA;EAAc,CAChC,CAAC,EACDC,YAAY,iBACTd,KAAA,CAAA6B,aAAA;IAAKI,SAAS,EAAE;EAAyD,GACpEP,YACA,CAEE,CACd,CAAC;AAEd,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useMemo","Tooltip","useGetFolderHierarchy","useGetFolderLevelPermission","ButtonCreate","Loader","List","ROOT_FOLDER","AcoWithConfig","FolderTree","focusedFolderId","hiddenFolderIds","enableActions","enableCreate","onFolderClick","rootFolderLabel","folders","getIsFolderLoading","getFolderLevelPermission","canManageStructure","localFolders","map","item","id","title","createButton","canCreate","button","createElement","disabled","content","trigger","className"],"sources":["index.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { Tooltip } from \"@webiny/admin-ui\";\nimport { useGetFolderHierarchy, useGetFolderLevelPermission } from \"~/features\";\nimport { ButtonCreate } from \"./ButtonCreate\";\nimport { Loader } from \"./Loader\";\nimport { List } from \"./List\";\nimport type { FolderItem } from \"~/types\";\nimport { ROOT_FOLDER } from \"~/constants\";\nimport { AcoWithConfig } from \"~/config\";\n\nexport { Loader };\n\nexport interface FolderTreeProps {\n onFolderClick: (data: FolderItem) => void;\n enableCreate?: boolean;\n rootFolderLabel?: string;\n enableActions?: boolean;\n focusedFolderId?: string;\n hiddenFolderIds?: string[];\n}\n\nexport const FolderTree = ({\n focusedFolderId,\n hiddenFolderIds,\n enableActions,\n enableCreate,\n onFolderClick,\n rootFolderLabel\n}: FolderTreeProps) => {\n const { folders, getIsFolderLoading } = useGetFolderHierarchy();\n const { getFolderLevelPermission: canManageStructure } =\n useGetFolderLevelPermission(\"canManageStructure\");\n\n const localFolders = useMemo(() => {\n if (!folders) {\n return [];\n }\n\n return folders.map(item =>\n item.id === ROOT_FOLDER && rootFolderLabel ? { ...item, title: rootFolderLabel } : item\n );\n }, [folders, rootFolderLabel]);\n\n const createButton = useMemo(() => {\n if (!enableCreate) {\n return null;\n }\n\n const canCreate = canManageStructure(focusedFolderId!);\n const button = <ButtonCreate disabled={!canCreate} />;\n\n return canCreate ? (\n button\n ) : (\n <Tooltip\n content={`Cannot create folder because you're not an owner.`}\n trigger={button}\n />\n );\n }, [enableCreate, canManageStructure, focusedFolderId, localFolders]);\n\n if (getIsFolderLoading()) {\n return <Loader />;\n }\n\n return (\n <div className=\"wby-my-xs\">\n <AcoWithConfig>\n <List\n folders={localFolders}\n onFolderClick={onFolderClick}\n focusedFolderId={focusedFolderId}\n hiddenFolderIds={hiddenFolderIds}\n enableActions={enableActions}\n />\n {enableCreate && (\n <div className={\"wby-m-xs-plus wby-mt-sm-plus wby-mb-lg wby-pl-sm-extra\"}>\n {createButton}\n </div>\n )}\n </AcoWithConfig>\n </div>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,SAASC,OAAO,QAAQ,kBAAkB;AAC1C,SAASC,qBAAqB,EAAEC,2BAA2B;AAC3D,SAASC,YAAY;AACrB,SAASC,MAAM;AACf,SAASC,IAAI;AAEb,SAASC,WAAW;AACpB,SAASC,aAAa;AAEtB,SAASH,MAAM;AAWf,OAAO,MAAMI,UAAU,GAAGA,CAAC;EACvBC,eAAe;EACfC,eAAe;EACfC,aAAa;EACbC,YAAY;EACZC,aAAa;EACbC;AACa,CAAC,KAAK;EACnB,MAAM;IAAEC,OAAO;IAAEC;EAAmB,CAAC,GAAGf,qBAAqB,CAAC,CAAC;EAC/D,MAAM;IAAEgB,wBAAwB,EAAEC;EAAmB,CAAC,GAClDhB,2BAA2B,CAAC,oBAAoB,CAAC;EAErD,MAAMiB,YAAY,GAAGpB,OAAO,CAAC,MAAM;IAC/B,IAAI,CAACgB,OAAO,EAAE;MACV,OAAO,EAAE;IACb;IAEA,OAAOA,OAAO,CAACK,GAAG,CAACC,IAAI,IACnBA,IAAI,CAACC,EAAE,KAAKhB,WAAW,IAAIQ,eAAe,GAAG;MAAE,GAAGO,IAAI;MAAEE,KAAK,EAAET;IAAgB,CAAC,GAAGO,IACvF,CAAC;EACL,CAAC,EAAE,CAACN,OAAO,EAAED,eAAe,CAAC,CAAC;EAE9B,MAAMU,YAAY,GAAGzB,OAAO,CAAC,MAAM;IAC/B,IAAI,CAACa,YAAY,EAAE;MACf,OAAO,IAAI;IACf;IAEA,MAAMa,SAAS,GAAGP,kBAAkB,CAACT,eAAgB,CAAC;IACtD,MAAMiB,MAAM,gBAAG5B,KAAA,CAAA6B,aAAA,CAACxB,YAAY;MAACyB,QAAQ,EAAE,CAACH;IAAU,CAAE,CAAC;IAErD,OAAOA,SAAS,GACZC,MAAM,gBAEN5B,KAAA,CAAA6B,aAAA,CAAC3B,OAAO;MACJ6B,OAAO,EAAE,mDAAoD;MAC7DC,OAAO,EAAEJ;IAAO,CACnB,CACJ;EACL,CAAC,EAAE,CAACd,YAAY,EAAEM,kBAAkB,EAAET,eAAe,EAAEU,YAAY,CAAC,CAAC;EAErE,IAAIH,kBAAkB,CAAC,CAAC,EAAE;IACtB,oBAAOlB,KAAA,CAAA6B,aAAA,CAACvB,MAAM,MAAE,CAAC;EACrB;EAEA,oBACIN,KAAA,CAAA6B,aAAA;IAAKI,SAAS,EAAC;EAAW,gBACtBjC,KAAA,CAAA6B,aAAA,CAACpB,aAAa,qBACVT,KAAA,CAAA6B,aAAA,CAACtB,IAAI;IACDU,OAAO,EAAEI,YAAa;IACtBN,aAAa,EAAEA,aAAc;IAC7BJ,eAAe,EAAEA,eAAgB;IACjCC,eAAe,EAAEA,eAAgB;IACjCC,aAAa,EAAEA;EAAc,CAChC,CAAC,EACDC,YAAY,iBACTd,KAAA,CAAA6B,aAAA;IAAKI,SAAS,EAAE;EAAyD,GACpEP,YACA,CAEE,CACd,CAAC;AAEd,CAAC","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import { IColumnsVisibilityRepository } from "./IColumnsVisibilityRepository";
2
- import { IColumnsRepository } from "../Columns";
1
+ import type { IColumnsVisibilityRepository } from "./IColumnsVisibilityRepository";
2
+ import type { IColumnsRepository } from "../Columns";
3
3
  export declare class ColumnsVisibilityDecorator implements IColumnsRepository {
4
4
  private columnsVisibilityRepository;
5
5
  private columnsRepository;
@@ -1 +1 @@
1
- {"version":3,"names":["makeAutoObservable","ColumnsVisibilityDecorator","constructor","visibilityRepository","columnsRepository","columnsVisibilityRepository","init","getColumns","columns","visibility","getVisibility","map","column","visible","name"],"sources":["ColumnsVisibilityDecorator.ts"],"sourcesContent":["import { makeAutoObservable } from \"mobx\";\nimport { IColumnsVisibilityRepository } from \"./IColumnsVisibilityRepository\";\nimport { IColumnsRepository } from \"../Columns\";\n\nexport class ColumnsVisibilityDecorator implements IColumnsRepository {\n private columnsVisibilityRepository: IColumnsVisibilityRepository;\n private columnsRepository: IColumnsRepository;\n\n constructor(\n visibilityRepository: IColumnsVisibilityRepository,\n columnsRepository: IColumnsRepository\n ) {\n this.columnsRepository = columnsRepository;\n this.columnsVisibilityRepository = visibilityRepository;\n makeAutoObservable(this);\n }\n\n async init() {\n this.columnsRepository.init();\n this.columnsVisibilityRepository.init();\n }\n\n getColumns() {\n const columns = this.columnsRepository.getColumns();\n const visibility = this.columnsVisibilityRepository.getVisibility();\n\n return visibility\n ? columns.map(column => {\n return { ...column, visible: visibility[column.name] ?? column.visible };\n })\n : columns;\n }\n}\n"],"mappings":"AAAA,SAASA,kBAAkB,QAAQ,MAAM;AAIzC,OAAO,MAAMC,0BAA0B,CAA+B;EAIlEC,WAAWA,CACPC,oBAAkD,EAClDC,iBAAqC,EACvC;IACE,IAAI,CAACA,iBAAiB,GAAGA,iBAAiB;IAC1C,IAAI,CAACC,2BAA2B,GAAGF,oBAAoB;IACvDH,kBAAkB,CAAC,IAAI,CAAC;EAC5B;EAEA,MAAMM,IAAIA,CAAA,EAAG;IACT,IAAI,CAACF,iBAAiB,CAACE,IAAI,CAAC,CAAC;IAC7B,IAAI,CAACD,2BAA2B,CAACC,IAAI,CAAC,CAAC;EAC3C;EAEAC,UAAUA,CAAA,EAAG;IACT,MAAMC,OAAO,GAAG,IAAI,CAACJ,iBAAiB,CAACG,UAAU,CAAC,CAAC;IACnD,MAAME,UAAU,GAAG,IAAI,CAACJ,2BAA2B,CAACK,aAAa,CAAC,CAAC;IAEnE,OAAOD,UAAU,GACXD,OAAO,CAACG,GAAG,CAACC,MAAM,IAAI;MAClB,OAAO;QAAE,GAAGA,MAAM;QAAEC,OAAO,EAAEJ,UAAU,CAACG,MAAM,CAACE,IAAI,CAAC,IAAIF,MAAM,CAACC;MAAQ,CAAC;IAC5E,CAAC,CAAC,GACFL,OAAO;EACjB;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["makeAutoObservable","ColumnsVisibilityDecorator","constructor","visibilityRepository","columnsRepository","columnsVisibilityRepository","init","getColumns","columns","visibility","getVisibility","map","column","visible","name"],"sources":["ColumnsVisibilityDecorator.ts"],"sourcesContent":["import { makeAutoObservable } from \"mobx\";\nimport type { IColumnsVisibilityRepository } from \"./IColumnsVisibilityRepository\";\nimport type { IColumnsRepository } from \"../Columns\";\n\nexport class ColumnsVisibilityDecorator implements IColumnsRepository {\n private columnsVisibilityRepository: IColumnsVisibilityRepository;\n private columnsRepository: IColumnsRepository;\n\n constructor(\n visibilityRepository: IColumnsVisibilityRepository,\n columnsRepository: IColumnsRepository\n ) {\n this.columnsRepository = columnsRepository;\n this.columnsVisibilityRepository = visibilityRepository;\n makeAutoObservable(this);\n }\n\n async init() {\n this.columnsRepository.init();\n this.columnsVisibilityRepository.init();\n }\n\n getColumns() {\n const columns = this.columnsRepository.getColumns();\n const visibility = this.columnsVisibilityRepository.getVisibility();\n\n return visibility\n ? columns.map(column => {\n return { ...column, visible: visibility[column.name] ?? column.visible };\n })\n : columns;\n }\n}\n"],"mappings":"AAAA,SAASA,kBAAkB,QAAQ,MAAM;AAIzC,OAAO,MAAMC,0BAA0B,CAA+B;EAIlEC,WAAWA,CACPC,oBAAkD,EAClDC,iBAAqC,EACvC;IACE,IAAI,CAACA,iBAAiB,GAAGA,iBAAiB;IAC1C,IAAI,CAACC,2BAA2B,GAAGF,oBAAoB;IACvDH,kBAAkB,CAAC,IAAI,CAAC;EAC5B;EAEA,MAAMM,IAAIA,CAAA,EAAG;IACT,IAAI,CAACF,iBAAiB,CAACE,IAAI,CAAC,CAAC;IAC7B,IAAI,CAACD,2BAA2B,CAACC,IAAI,CAAC,CAAC;EAC3C;EAEAC,UAAUA,CAAA,EAAG;IACT,MAAMC,OAAO,GAAG,IAAI,CAACJ,iBAAiB,CAACG,UAAU,CAAC,CAAC;IACnD,MAAME,UAAU,GAAG,IAAI,CAACJ,2BAA2B,CAACK,aAAa,CAAC,CAAC;IAEnE,OAAOD,UAAU,GACXD,OAAO,CAACG,GAAG,CAACC,MAAM,IAAI;MAClB,OAAO;QAAE,GAAGA,MAAM;QAAEC,OAAO,EAAEJ,UAAU,CAACG,MAAM,CAACE,IAAI,CAAC,IAAIF,MAAM,CAACC;MAAQ,CAAC;IAC5E,CAAC,CAAC,GACFL,OAAO;EACjB;AACJ","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { ColumnsPresenter } from "../Columns/ColumnsPresenter";
1
+ import type { ColumnsPresenter } from "../Columns/ColumnsPresenter";
2
2
  export declare class ColumnsVisibilityPresenter {
3
3
  private columnsPresenter;
4
4
  constructor(columnsPresenter: ColumnsPresenter);
@@ -1 +1 @@
1
- {"version":3,"names":["makeAutoObservable","ColumnsVisibilityPresenter","constructor","columnsPresenter","vm","columnsVisibility","getColumnsVisibility","columns","reduce","acc","column","name","visible"],"sources":["ColumnsVisibilityPresenter.ts"],"sourcesContent":["import { makeAutoObservable } from \"mobx\";\nimport { ColumnsPresenter } from \"../Columns/ColumnsPresenter\";\n\nexport class ColumnsVisibilityPresenter {\n private columnsPresenter: ColumnsPresenter;\n\n constructor(columnsPresenter: ColumnsPresenter) {\n this.columnsPresenter = columnsPresenter;\n makeAutoObservable(this);\n }\n\n get vm() {\n return {\n columnsVisibility: this.getColumnsVisibility()\n };\n }\n\n private getColumnsVisibility() {\n return this.columnsPresenter.vm.columns.reduce((acc, column) => {\n return { ...acc, [column.name]: column.visible };\n }, {});\n }\n}\n"],"mappings":"AAAA,SAASA,kBAAkB,QAAQ,MAAM;AAGzC,OAAO,MAAMC,0BAA0B,CAAC;EAGpCC,WAAWA,CAACC,gBAAkC,EAAE;IAC5C,IAAI,CAACA,gBAAgB,GAAGA,gBAAgB;IACxCH,kBAAkB,CAAC,IAAI,CAAC;EAC5B;EAEA,IAAII,EAAEA,CAAA,EAAG;IACL,OAAO;MACHC,iBAAiB,EAAE,IAAI,CAACC,oBAAoB,CAAC;IACjD,CAAC;EACL;EAEQA,oBAAoBA,CAAA,EAAG;IAC3B,OAAO,IAAI,CAACH,gBAAgB,CAACC,EAAE,CAACG,OAAO,CAACC,MAAM,CAAC,CAACC,GAAG,EAAEC,MAAM,KAAK;MAC5D,OAAO;QAAE,GAAGD,GAAG;QAAE,CAACC,MAAM,CAACC,IAAI,GAAGD,MAAM,CAACE;MAAQ,CAAC;IACpD,CAAC,EAAE,CAAC,CAAC,CAAC;EACV;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["makeAutoObservable","ColumnsVisibilityPresenter","constructor","columnsPresenter","vm","columnsVisibility","getColumnsVisibility","columns","reduce","acc","column","name","visible"],"sources":["ColumnsVisibilityPresenter.ts"],"sourcesContent":["import { makeAutoObservable } from \"mobx\";\nimport type { ColumnsPresenter } from \"../Columns/ColumnsPresenter\";\n\nexport class ColumnsVisibilityPresenter {\n private columnsPresenter: ColumnsPresenter;\n\n constructor(columnsPresenter: ColumnsPresenter) {\n this.columnsPresenter = columnsPresenter;\n makeAutoObservable(this);\n }\n\n get vm() {\n return {\n columnsVisibility: this.getColumnsVisibility()\n };\n }\n\n private getColumnsVisibility() {\n return this.columnsPresenter.vm.columns.reduce((acc, column) => {\n return { ...acc, [column.name]: column.visible };\n }, {});\n }\n}\n"],"mappings":"AAAA,SAASA,kBAAkB,QAAQ,MAAM;AAGzC,OAAO,MAAMC,0BAA0B,CAAC;EAGpCC,WAAWA,CAACC,gBAAkC,EAAE;IAC5C,IAAI,CAACA,gBAAgB,GAAGA,gBAAgB;IACxCH,kBAAkB,CAAC,IAAI,CAAC;EAC5B;EAEA,IAAII,EAAEA,CAAA,EAAG;IACL,OAAO;MACHC,iBAAiB,EAAE,IAAI,CAACC,oBAAoB,CAAC;IACjD,CAAC;EACL;EAEQA,oBAAoBA,CAAA,EAAG;IAC3B,OAAO,IAAI,CAACH,gBAAgB,CAACC,EAAE,CAACG,OAAO,CAACC,MAAM,CAAC,CAACC,GAAG,EAAEC,MAAM,KAAK;MAC5D,OAAO;QAAE,GAAGD,GAAG;QAAE,CAACC,MAAM,CAACC,IAAI,GAAGD,MAAM,CAACE;MAAQ,CAAC;IACpD,CAAC,EAAE,CAAC,CAAC,CAAC;EACV;AACJ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["ColumnsVisibilityPresenter","Column","ColumnsPresenter","ColumnsRepository","ColumnsVisibilityRepository","ColumnsVisibilityDecorator","ColumnsVisibilityUpdater","defaultGateway","get","jest","fn","set","createMockGateway","describe","columnConfigs","cell","className","header","hideable","name","resizable","size","sortable","visible","beforeEach","clearAllMocks","it","columnsRepo","map","config","createFromConfig","visibilityRepo","repo","columnsPresenter","columnsVisibilityPresenter","init","expect","toBeCalledTimes","vm","toEqual","columnsVisibility","id","title","date","gateway","mockImplementation","columnsVisibilityUpdater","initial","updater","current","update"],"sources":["ColumnsVisibilityPresenter.test.ts"],"sourcesContent":["import { ColumnsVisibilityPresenter } from \"./ColumnsVisibilityPresenter\";\nimport { IColumnsVisibilityGateway } from \"../gateways\";\nimport { ColumnConfig } from \"~/config/table/Column\";\nimport { Column, ColumnsPresenter, ColumnsRepository } from \"../Columns\";\nimport { ColumnsVisibilityRepository } from \"./ColumnsVisibilityRepository\";\nimport { ColumnsVisibilityDecorator } from \"./ColumnsVisibilityDecorator\";\nimport { ColumnsVisibilityUpdater } from \"~/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityUpdater\";\n\nconst defaultGateway: IColumnsVisibilityGateway = {\n get: jest.fn(),\n set: jest.fn()\n};\n\nconst createMockGateway = ({\n get,\n set\n}: Partial<IColumnsVisibilityGateway>): IColumnsVisibilityGateway => ({\n ...defaultGateway,\n ...(get && { get }),\n ...(set && { set })\n});\n\ndescribe(\"ColumnsVisibilityPresenter\", () => {\n const columnConfigs: ColumnConfig[] = [\n {\n cell: \"Id Cell Content\",\n className: \"id-class\",\n header: \"Id\",\n hideable: true,\n name: \"id\",\n resizable: true,\n size: 200,\n sortable: true,\n visible: true\n },\n {\n cell: \"Title Cell Content\",\n className: \"title-class\",\n header: \"Title\",\n hideable: true,\n name: \"title\",\n resizable: true,\n size: 200,\n sortable: true,\n visible: true\n },\n {\n cell: \"Date Cell Content\",\n className: \"date-class\",\n header: \"Date\",\n hideable: true,\n name: \"date\",\n resizable: true,\n size: 200,\n sortable: true,\n visible: false\n }\n ];\n\n beforeEach(() => {\n jest.clearAllMocks();\n });\n\n it(\"should return the columns visibility from the column config\", async () => {\n // Let's create repositories and presenters\n const columnsRepo = new ColumnsRepository(\n columnConfigs.map(config => Column.createFromConfig(config))\n );\n const visibilityRepo = new ColumnsVisibilityRepository(defaultGateway);\n const repo = new ColumnsVisibilityDecorator(visibilityRepo, columnsRepo);\n\n const columnsPresenter = new ColumnsPresenter(repo);\n const columnsVisibilityPresenter = new ColumnsVisibilityPresenter(columnsPresenter);\n\n // Let's init the ColumnsPresenter\n await columnsPresenter.init();\n\n expect(defaultGateway.get).toBeCalledTimes(1);\n\n expect(columnsVisibilityPresenter.vm).toEqual({\n columnsVisibility: {\n id: true,\n title: true,\n date: false\n }\n });\n });\n\n it(\"should return the columns visibility from both the column configs and the gateway\", async () => {\n // Let's create a mocked gateway\n const gateway = createMockGateway({\n get: jest.fn().mockImplementation(() => ({ title: false }))\n });\n\n // Let's create repositories and presenters\n const columnsRepo = new ColumnsRepository(\n columnConfigs.map(config => Column.createFromConfig(config))\n );\n const visibilityRepo = new ColumnsVisibilityRepository(gateway);\n const repo = new ColumnsVisibilityDecorator(visibilityRepo, columnsRepo);\n\n const columnsPresenter = new ColumnsPresenter(repo);\n const columnsVisibilityPresenter = new ColumnsVisibilityPresenter(columnsPresenter);\n\n // Let's init the ColumnsPresenter\n await columnsPresenter.init();\n\n expect(gateway.get).toBeCalledTimes(1);\n\n expect(columnsVisibilityPresenter.vm).toEqual({\n columnsVisibility: {\n id: true,\n title: false, // title is defined true in the config, but defined false in the gateway\n date: false\n }\n });\n });\n\n it(\"should be able to update the visibility via `ColumnsVisibilityUpdater`\", async () => {\n // Let's create repositories and presenters\n const columnsRepo = new ColumnsRepository(\n columnConfigs.map(config => Column.createFromConfig(config))\n );\n const visibilityRepo = new ColumnsVisibilityRepository(defaultGateway);\n const repo = new ColumnsVisibilityDecorator(visibilityRepo, columnsRepo);\n\n const columnsPresenter = new ColumnsPresenter(repo);\n const columnsVisibilityPresenter = new ColumnsVisibilityPresenter(columnsPresenter);\n\n // Let's create ColumnsVisibilityUpdater\n const columnsVisibilityUpdater = new ColumnsVisibilityUpdater(visibilityRepo);\n\n // Let's init the ColumnsPresenter\n await columnsPresenter.init();\n\n // Let's check the initial state\n const initial = columnsVisibilityPresenter.vm.columnsVisibility;\n expect(initial).toEqual({\n id: true,\n title: true,\n date: false\n });\n\n // Let's update the visibility\n const updater = jest.fn().mockImplementation(current => ({ ...current, title: false }));\n await columnsVisibilityUpdater.update(updater);\n\n expect(columnsVisibilityPresenter.vm).toEqual({\n columnsVisibility: {\n id: true,\n title: false,\n date: false\n }\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["ColumnsVisibilityPresenter","Column","ColumnsPresenter","ColumnsRepository","ColumnsVisibilityRepository","ColumnsVisibilityDecorator","ColumnsVisibilityUpdater","defaultGateway","get","jest","fn","set","createMockGateway","describe","columnConfigs","cell","className","header","hideable","name","resizable","size","sortable","visible","beforeEach","clearAllMocks","it","columnsRepo","map","config","createFromConfig","visibilityRepo","repo","columnsPresenter","columnsVisibilityPresenter","init","expect","toBeCalledTimes","vm","toEqual","columnsVisibility","id","title","date","gateway","mockImplementation","columnsVisibilityUpdater","initial","updater","current","update"],"sources":["ColumnsVisibilityPresenter.test.ts"],"sourcesContent":["import { ColumnsVisibilityPresenter } from \"./ColumnsVisibilityPresenter\";\nimport type { IColumnsVisibilityGateway } from \"../gateways\";\nimport type { ColumnConfig } from \"~/config/table/Column\";\nimport { Column, ColumnsPresenter, ColumnsRepository } from \"../Columns\";\nimport { ColumnsVisibilityRepository } from \"./ColumnsVisibilityRepository\";\nimport { ColumnsVisibilityDecorator } from \"./ColumnsVisibilityDecorator\";\nimport { ColumnsVisibilityUpdater } from \"~/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityUpdater\";\n\nconst defaultGateway: IColumnsVisibilityGateway = {\n get: jest.fn(),\n set: jest.fn()\n};\n\nconst createMockGateway = ({\n get,\n set\n}: Partial<IColumnsVisibilityGateway>): IColumnsVisibilityGateway => ({\n ...defaultGateway,\n ...(get && { get }),\n ...(set && { set })\n});\n\ndescribe(\"ColumnsVisibilityPresenter\", () => {\n const columnConfigs: ColumnConfig[] = [\n {\n cell: \"Id Cell Content\",\n className: \"id-class\",\n header: \"Id\",\n hideable: true,\n name: \"id\",\n resizable: true,\n size: 200,\n sortable: true,\n visible: true\n },\n {\n cell: \"Title Cell Content\",\n className: \"title-class\",\n header: \"Title\",\n hideable: true,\n name: \"title\",\n resizable: true,\n size: 200,\n sortable: true,\n visible: true\n },\n {\n cell: \"Date Cell Content\",\n className: \"date-class\",\n header: \"Date\",\n hideable: true,\n name: \"date\",\n resizable: true,\n size: 200,\n sortable: true,\n visible: false\n }\n ];\n\n beforeEach(() => {\n jest.clearAllMocks();\n });\n\n it(\"should return the columns visibility from the column config\", async () => {\n // Let's create repositories and presenters\n const columnsRepo = new ColumnsRepository(\n columnConfigs.map(config => Column.createFromConfig(config))\n );\n const visibilityRepo = new ColumnsVisibilityRepository(defaultGateway);\n const repo = new ColumnsVisibilityDecorator(visibilityRepo, columnsRepo);\n\n const columnsPresenter = new ColumnsPresenter(repo);\n const columnsVisibilityPresenter = new ColumnsVisibilityPresenter(columnsPresenter);\n\n // Let's init the ColumnsPresenter\n await columnsPresenter.init();\n\n expect(defaultGateway.get).toBeCalledTimes(1);\n\n expect(columnsVisibilityPresenter.vm).toEqual({\n columnsVisibility: {\n id: true,\n title: true,\n date: false\n }\n });\n });\n\n it(\"should return the columns visibility from both the column configs and the gateway\", async () => {\n // Let's create a mocked gateway\n const gateway = createMockGateway({\n get: jest.fn().mockImplementation(() => ({ title: false }))\n });\n\n // Let's create repositories and presenters\n const columnsRepo = new ColumnsRepository(\n columnConfigs.map(config => Column.createFromConfig(config))\n );\n const visibilityRepo = new ColumnsVisibilityRepository(gateway);\n const repo = new ColumnsVisibilityDecorator(visibilityRepo, columnsRepo);\n\n const columnsPresenter = new ColumnsPresenter(repo);\n const columnsVisibilityPresenter = new ColumnsVisibilityPresenter(columnsPresenter);\n\n // Let's init the ColumnsPresenter\n await columnsPresenter.init();\n\n expect(gateway.get).toBeCalledTimes(1);\n\n expect(columnsVisibilityPresenter.vm).toEqual({\n columnsVisibility: {\n id: true,\n title: false, // title is defined true in the config, but defined false in the gateway\n date: false\n }\n });\n });\n\n it(\"should be able to update the visibility via `ColumnsVisibilityUpdater`\", async () => {\n // Let's create repositories and presenters\n const columnsRepo = new ColumnsRepository(\n columnConfigs.map(config => Column.createFromConfig(config))\n );\n const visibilityRepo = new ColumnsVisibilityRepository(defaultGateway);\n const repo = new ColumnsVisibilityDecorator(visibilityRepo, columnsRepo);\n\n const columnsPresenter = new ColumnsPresenter(repo);\n const columnsVisibilityPresenter = new ColumnsVisibilityPresenter(columnsPresenter);\n\n // Let's create ColumnsVisibilityUpdater\n const columnsVisibilityUpdater = new ColumnsVisibilityUpdater(visibilityRepo);\n\n // Let's init the ColumnsPresenter\n await columnsPresenter.init();\n\n // Let's check the initial state\n const initial = columnsVisibilityPresenter.vm.columnsVisibility;\n expect(initial).toEqual({\n id: true,\n title: true,\n date: false\n });\n\n // Let's update the visibility\n const updater = jest.fn().mockImplementation(current => ({ ...current, title: false }));\n await columnsVisibilityUpdater.update(updater);\n\n expect(columnsVisibilityPresenter.vm).toEqual({\n columnsVisibility: {\n id: true,\n title: false,\n date: false\n }\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import { IColumnsVisibilityGateway } from "../gateways/IColumnsVisibilityGateway";
2
- import { IColumnsVisibilityRepository } from "./IColumnsVisibilityRepository";
1
+ import type { IColumnsVisibilityGateway } from "../gateways/IColumnsVisibilityGateway";
2
+ import type { IColumnsVisibilityRepository } from "./IColumnsVisibilityRepository";
3
3
  export declare class ColumnsVisibilityRepository implements IColumnsVisibilityRepository {
4
4
  private gateway;
5
5
  private state;
@@ -1 +1 @@
1
- {"version":3,"names":["makeAutoObservable","runInAction","ColumnsVisibilityRepository","constructor","gateway","state","init","visibility","get","getVisibility","update","value","newState","set"],"sources":["ColumnsVisibilityRepository.ts"],"sourcesContent":["import { makeAutoObservable, runInAction } from \"mobx\";\nimport { IColumnsVisibilityGateway } from \"../gateways/IColumnsVisibilityGateway\";\nimport { IColumnsVisibilityRepository } from \"./IColumnsVisibilityRepository\";\n\nexport class ColumnsVisibilityRepository implements IColumnsVisibilityRepository {\n private gateway: IColumnsVisibilityGateway;\n private state: Record<string, boolean>;\n\n constructor(gateway: IColumnsVisibilityGateway) {\n this.gateway = gateway;\n this.state = {};\n makeAutoObservable(this);\n }\n\n async init() {\n const visibility = await this.gateway.get();\n runInAction(() => {\n this.state = visibility ?? {};\n });\n }\n\n getVisibility() {\n return this.state;\n }\n\n async update(value: Record<string, boolean>) {\n const newState = {\n ...this.state,\n ...value\n };\n\n await this.gateway.set(newState);\n\n runInAction(() => {\n this.state = newState;\n });\n }\n}\n"],"mappings":"AAAA,SAASA,kBAAkB,EAAEC,WAAW,QAAQ,MAAM;AAItD,OAAO,MAAMC,2BAA2B,CAAyC;EAI7EC,WAAWA,CAACC,OAAkC,EAAE;IAC5C,IAAI,CAACA,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,KAAK,GAAG,CAAC,CAAC;IACfL,kBAAkB,CAAC,IAAI,CAAC;EAC5B;EAEA,MAAMM,IAAIA,CAAA,EAAG;IACT,MAAMC,UAAU,GAAG,MAAM,IAAI,CAACH,OAAO,CAACI,GAAG,CAAC,CAAC;IAC3CP,WAAW,CAAC,MAAM;MACd,IAAI,CAACI,KAAK,GAAGE,UAAU,IAAI,CAAC,CAAC;IACjC,CAAC,CAAC;EACN;EAEAE,aAAaA,CAAA,EAAG;IACZ,OAAO,IAAI,CAACJ,KAAK;EACrB;EAEA,MAAMK,MAAMA,CAACC,KAA8B,EAAE;IACzC,MAAMC,QAAQ,GAAG;MACb,GAAG,IAAI,CAACP,KAAK;MACb,GAAGM;IACP,CAAC;IAED,MAAM,IAAI,CAACP,OAAO,CAACS,GAAG,CAACD,QAAQ,CAAC;IAEhCX,WAAW,CAAC,MAAM;MACd,IAAI,CAACI,KAAK,GAAGO,QAAQ;IACzB,CAAC,CAAC;EACN;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["makeAutoObservable","runInAction","ColumnsVisibilityRepository","constructor","gateway","state","init","visibility","get","getVisibility","update","value","newState","set"],"sources":["ColumnsVisibilityRepository.ts"],"sourcesContent":["import { makeAutoObservable, runInAction } from \"mobx\";\nimport type { IColumnsVisibilityGateway } from \"../gateways/IColumnsVisibilityGateway\";\nimport type { IColumnsVisibilityRepository } from \"./IColumnsVisibilityRepository\";\n\nexport class ColumnsVisibilityRepository implements IColumnsVisibilityRepository {\n private gateway: IColumnsVisibilityGateway;\n private state: Record<string, boolean>;\n\n constructor(gateway: IColumnsVisibilityGateway) {\n this.gateway = gateway;\n this.state = {};\n makeAutoObservable(this);\n }\n\n async init() {\n const visibility = await this.gateway.get();\n runInAction(() => {\n this.state = visibility ?? {};\n });\n }\n\n getVisibility() {\n return this.state;\n }\n\n async update(value: Record<string, boolean>) {\n const newState = {\n ...this.state,\n ...value\n };\n\n await this.gateway.set(newState);\n\n runInAction(() => {\n this.state = newState;\n });\n }\n}\n"],"mappings":"AAAA,SAASA,kBAAkB,EAAEC,WAAW,QAAQ,MAAM;AAItD,OAAO,MAAMC,2BAA2B,CAAyC;EAI7EC,WAAWA,CAACC,OAAkC,EAAE;IAC5C,IAAI,CAACA,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,KAAK,GAAG,CAAC,CAAC;IACfL,kBAAkB,CAAC,IAAI,CAAC;EAC5B;EAEA,MAAMM,IAAIA,CAAA,EAAG;IACT,MAAMC,UAAU,GAAG,MAAM,IAAI,CAACH,OAAO,CAACI,GAAG,CAAC,CAAC;IAC3CP,WAAW,CAAC,MAAM;MACd,IAAI,CAACI,KAAK,GAAGE,UAAU,IAAI,CAAC,CAAC;IACjC,CAAC,CAAC;EACN;EAEAE,aAAaA,CAAA,EAAG;IACZ,OAAO,IAAI,CAACJ,KAAK;EACrB;EAEA,MAAMK,MAAMA,CAACC,KAA8B,EAAE;IACzC,MAAMC,QAAQ,GAAG;MACb,GAAG,IAAI,CAACP,KAAK;MACb,GAAGM;IACP,CAAC;IAED,MAAM,IAAI,CAACP,OAAO,CAACS,GAAG,CAACD,QAAQ,CAAC;IAEhCX,WAAW,CAAC,MAAM;MACd,IAAI,CAACI,KAAK,GAAGO,QAAQ;IACzB,CAAC,CAAC;EACN;AACJ","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import { ColumnsVisibilityRepository } from "./ColumnsVisibilityRepository";
2
- import { IColumnsVisibilityGateway } from "../gateways/IColumnsVisibilityGateway";
2
+ import type { IColumnsVisibilityGateway } from "../gateways/IColumnsVisibilityGateway";
3
3
  declare class ColumnsVisibilityRepositoryFactory {
4
4
  private cache;
5
5
  getRepository(namespace: string, gateway: IColumnsVisibilityGateway): ColumnsVisibilityRepository;
@@ -1 +1 @@
1
- {"version":3,"names":["ColumnsVisibilityRepository","ColumnsVisibilityRepositoryFactory","cache","Map","getRepository","namespace","gateway","cacheKey","getCacheKey","has","set","get","columnsVisibilityRepositoryFactory"],"sources":["ColumnsVisibilityRepositoryFactory.ts"],"sourcesContent":["import { ColumnsVisibilityRepository } from \"./ColumnsVisibilityRepository\";\nimport { IColumnsVisibilityGateway } from \"../gateways/IColumnsVisibilityGateway\";\n\nclass ColumnsVisibilityRepositoryFactory {\n private cache: Map<string, ColumnsVisibilityRepository> = new Map();\n\n getRepository(namespace: string, gateway: IColumnsVisibilityGateway) {\n const cacheKey = this.getCacheKey(namespace);\n\n if (!this.cache.has(cacheKey)) {\n this.cache.set(cacheKey, new ColumnsVisibilityRepository(gateway));\n }\n\n return this.cache.get(cacheKey) as ColumnsVisibilityRepository;\n }\n\n private getCacheKey(namespace: string) {\n return namespace;\n }\n}\n\nexport const columnsVisibilityRepositoryFactory = new ColumnsVisibilityRepositoryFactory();\n"],"mappings":"AAAA,SAASA,2BAA2B;AAGpC,MAAMC,kCAAkC,CAAC;EAC7BC,KAAK,GAA6C,IAAIC,GAAG,CAAC,CAAC;EAEnEC,aAAaA,CAACC,SAAiB,EAAEC,OAAkC,EAAE;IACjE,MAAMC,QAAQ,GAAG,IAAI,CAACC,WAAW,CAACH,SAAS,CAAC;IAE5C,IAAI,CAAC,IAAI,CAACH,KAAK,CAACO,GAAG,CAACF,QAAQ,CAAC,EAAE;MAC3B,IAAI,CAACL,KAAK,CAACQ,GAAG,CAACH,QAAQ,EAAE,IAAIP,2BAA2B,CAACM,OAAO,CAAC,CAAC;IACtE;IAEA,OAAO,IAAI,CAACJ,KAAK,CAACS,GAAG,CAACJ,QAAQ,CAAC;EACnC;EAEQC,WAAWA,CAACH,SAAiB,EAAE;IACnC,OAAOA,SAAS;EACpB;AACJ;AAEA,OAAO,MAAMO,kCAAkC,GAAG,IAAIX,kCAAkC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["ColumnsVisibilityRepository","ColumnsVisibilityRepositoryFactory","cache","Map","getRepository","namespace","gateway","cacheKey","getCacheKey","has","set","get","columnsVisibilityRepositoryFactory"],"sources":["ColumnsVisibilityRepositoryFactory.ts"],"sourcesContent":["import { ColumnsVisibilityRepository } from \"./ColumnsVisibilityRepository\";\nimport type { IColumnsVisibilityGateway } from \"../gateways/IColumnsVisibilityGateway\";\n\nclass ColumnsVisibilityRepositoryFactory {\n private cache: Map<string, ColumnsVisibilityRepository> = new Map();\n\n getRepository(namespace: string, gateway: IColumnsVisibilityGateway) {\n const cacheKey = this.getCacheKey(namespace);\n\n if (!this.cache.has(cacheKey)) {\n this.cache.set(cacheKey, new ColumnsVisibilityRepository(gateway));\n }\n\n return this.cache.get(cacheKey) as ColumnsVisibilityRepository;\n }\n\n private getCacheKey(namespace: string) {\n return namespace;\n }\n}\n\nexport const columnsVisibilityRepositoryFactory = new ColumnsVisibilityRepositoryFactory();\n"],"mappings":"AAAA,SAASA,2BAA2B;AAGpC,MAAMC,kCAAkC,CAAC;EAC7BC,KAAK,GAA6C,IAAIC,GAAG,CAAC,CAAC;EAEnEC,aAAaA,CAACC,SAAiB,EAAEC,OAAkC,EAAE;IACjE,MAAMC,QAAQ,GAAG,IAAI,CAACC,WAAW,CAACH,SAAS,CAAC;IAE5C,IAAI,CAAC,IAAI,CAACH,KAAK,CAACO,GAAG,CAACF,QAAQ,CAAC,EAAE;MAC3B,IAAI,CAACL,KAAK,CAACQ,GAAG,CAACH,QAAQ,EAAE,IAAIP,2BAA2B,CAACM,OAAO,CAAC,CAAC;IACtE;IAEA,OAAO,IAAI,CAACJ,KAAK,CAACS,GAAG,CAACJ,QAAQ,CAAC;EACnC;EAEQC,WAAWA,CAACH,SAAiB,EAAE;IACnC,OAAOA,SAAS;EACpB;AACJ;AAEA,OAAO,MAAMO,kCAAkC,GAAG,IAAIX,kCAAkC,CAAC,CAAC","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import type { OnDataTableColumnVisibilityChange } from "@webiny/admin-ui";
2
- import { IColumnsVisibilityRepository } from "./IColumnsVisibilityRepository";
3
- import { IColumnsVisibilityUpdater } from "./IColumnsVisibilityUpdater";
2
+ import type { IColumnsVisibilityRepository } from "./IColumnsVisibilityRepository";
3
+ import type { IColumnsVisibilityUpdater } from "./IColumnsVisibilityUpdater";
4
4
  export declare class ColumnsVisibilityUpdater implements IColumnsVisibilityUpdater {
5
5
  private repository;
6
6
  constructor(repository: IColumnsVisibilityRepository);
@@ -1 +1 @@
1
- {"version":3,"names":["makeAutoObservable","ColumnsVisibilityUpdater","constructor","repository","update","updaterOrValue","currentVisibility","getVisibility","newVisibility"],"sources":["ColumnsVisibilityUpdater.ts"],"sourcesContent":["import { makeAutoObservable } from \"mobx\";\nimport type { OnDataTableColumnVisibilityChange } from \"@webiny/admin-ui\";\nimport { IColumnsVisibilityRepository } from \"./IColumnsVisibilityRepository\";\nimport { IColumnsVisibilityUpdater } from \"./IColumnsVisibilityUpdater\";\n\nexport class ColumnsVisibilityUpdater implements IColumnsVisibilityUpdater {\n private repository: IColumnsVisibilityRepository;\n\n constructor(repository: IColumnsVisibilityRepository) {\n this.repository = repository;\n makeAutoObservable(this);\n }\n\n public update: OnDataTableColumnVisibilityChange = async updaterOrValue => {\n const currentVisibility = this.repository.getVisibility();\n let newVisibility = currentVisibility;\n\n if (typeof updaterOrValue === \"function\") {\n newVisibility = updaterOrValue(currentVisibility || {});\n }\n\n this.repository.update(newVisibility || {});\n };\n}\n"],"mappings":"AAAA,SAASA,kBAAkB,QAAQ,MAAM;AAKzC,OAAO,MAAMC,wBAAwB,CAAsC;EAGvEC,WAAWA,CAACC,UAAwC,EAAE;IAClD,IAAI,CAACA,UAAU,GAAGA,UAAU;IAC5BH,kBAAkB,CAAC,IAAI,CAAC;EAC5B;EAEOI,MAAM,GAAsC,MAAMC,cAAc,IAAI;IACvE,MAAMC,iBAAiB,GAAG,IAAI,CAACH,UAAU,CAACI,aAAa,CAAC,CAAC;IACzD,IAAIC,aAAa,GAAGF,iBAAiB;IAErC,IAAI,OAAOD,cAAc,KAAK,UAAU,EAAE;MACtCG,aAAa,GAAGH,cAAc,CAACC,iBAAiB,IAAI,CAAC,CAAC,CAAC;IAC3D;IAEA,IAAI,CAACH,UAAU,CAACC,MAAM,CAACI,aAAa,IAAI,CAAC,CAAC,CAAC;EAC/C,CAAC;AACL","ignoreList":[]}
1
+ {"version":3,"names":["makeAutoObservable","ColumnsVisibilityUpdater","constructor","repository","update","updaterOrValue","currentVisibility","getVisibility","newVisibility"],"sources":["ColumnsVisibilityUpdater.ts"],"sourcesContent":["import { makeAutoObservable } from \"mobx\";\nimport type { OnDataTableColumnVisibilityChange } from \"@webiny/admin-ui\";\nimport type { IColumnsVisibilityRepository } from \"./IColumnsVisibilityRepository\";\nimport type { IColumnsVisibilityUpdater } from \"./IColumnsVisibilityUpdater\";\n\nexport class ColumnsVisibilityUpdater implements IColumnsVisibilityUpdater {\n private repository: IColumnsVisibilityRepository;\n\n constructor(repository: IColumnsVisibilityRepository) {\n this.repository = repository;\n makeAutoObservable(this);\n }\n\n public update: OnDataTableColumnVisibilityChange = async updaterOrValue => {\n const currentVisibility = this.repository.getVisibility();\n let newVisibility = currentVisibility;\n\n if (typeof updaterOrValue === \"function\") {\n newVisibility = updaterOrValue(currentVisibility || {});\n }\n\n this.repository.update(newVisibility || {});\n };\n}\n"],"mappings":"AAAA,SAASA,kBAAkB,QAAQ,MAAM;AAKzC,OAAO,MAAMC,wBAAwB,CAAsC;EAGvEC,WAAWA,CAACC,UAAwC,EAAE;IAClD,IAAI,CAACA,UAAU,GAAGA,UAAU;IAC5BH,kBAAkB,CAAC,IAAI,CAAC;EAC5B;EAEOI,MAAM,GAAsC,MAAMC,cAAc,IAAI;IACvE,MAAMC,iBAAiB,GAAG,IAAI,CAACH,UAAU,CAACI,aAAa,CAAC,CAAC;IACzD,IAAIC,aAAa,GAAGF,iBAAiB;IAErC,IAAI,OAAOD,cAAc,KAAK,UAAU,EAAE;MACtCG,aAAa,GAAGH,cAAc,CAACC,iBAAiB,IAAI,CAAC,CAAC,CAAC;IAC3D;IAEA,IAAI,CAACH,UAAU,CAACC,MAAM,CAACI,aAAa,IAAI,CAAC,CAAC,CAAC;EAC/C,CAAC;AACL","ignoreList":[]}