@webiny/app-aco 6.0.0-alpha.0 → 6.0.0-alpha.2

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 (401) 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/Filter.d.ts +24 -24
  34. package/components/AdvancedSearch/domain/FilterMapper.d.ts +1 -1
  35. package/components/AdvancedSearch/domain/FilterMapper.js.map +1 -1
  36. package/components/AdvancedSearch/domain/FilterRepository.d.ts +2 -2
  37. package/components/AdvancedSearch/domain/FilterRepository.js.map +1 -1
  38. package/components/AdvancedSearch/domain/FilterRepositoryFactory.d.ts +1 -1
  39. package/components/AdvancedSearch/domain/FilterRepositoryFactory.js.map +1 -1
  40. package/components/AdvancedSearch/gateways/FiltersGatewayInterface.d.ts +2 -2
  41. package/components/AdvancedSearch/gateways/FiltersGatewayInterface.js.map +1 -1
  42. package/components/AdvancedSearch/gateways/FiltersGraphQLGateway.d.ts +3 -3
  43. package/components/AdvancedSearch/gateways/FiltersGraphQLGateway.js.map +1 -1
  44. package/components/AdvancedSearch/gateways/filters.types.d.ts +2 -2
  45. package/components/AdvancedSearch/gateways/filters.types.js.map +1 -1
  46. package/components/AdvancedSearch/index.d.ts +2 -2
  47. package/components/AdvancedSearch/index.js.map +1 -1
  48. package/components/AdvancedSearch/useInputField.d.ts +1 -1
  49. package/components/AdvancedSearch/useInputField.js.map +1 -1
  50. package/components/FolderTree/List/List.d.ts +1 -1
  51. package/components/FolderTree/List/List.js +15 -1
  52. package/components/FolderTree/List/List.js.map +1 -1
  53. package/components/FolderTree/List/utils.d.ts +1 -1
  54. package/components/FolderTree/List/utils.js.map +1 -1
  55. package/components/FolderTree/MenuActions/MenuActions.js +2 -0
  56. package/components/FolderTree/MenuActions/MenuActions.js.map +1 -1
  57. package/components/FolderTree/index.d.ts +1 -1
  58. package/components/FolderTree/index.js.map +1 -1
  59. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityDecorator.d.ts +2 -2
  60. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityDecorator.js.map +1 -1
  61. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.d.ts +1 -1
  62. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.js.map +1 -1
  63. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.test.js.map +1 -1
  64. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepository.d.ts +2 -2
  65. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepository.js.map +1 -1
  66. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepositoryFactory.d.ts +1 -1
  67. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepositoryFactory.js.map +1 -1
  68. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityUpdater.d.ts +2 -2
  69. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityUpdater.js.map +1 -1
  70. package/components/Table/components/Table/Columns/Column.d.ts +2 -2
  71. package/components/Table/components/Table/Columns/Column.js.map +1 -1
  72. package/components/Table/components/Table/Columns/ColumnMapper.d.ts +2 -2
  73. package/components/Table/components/Table/Columns/ColumnMapper.js.map +1 -1
  74. package/components/Table/components/Table/Columns/ColumnsPresenter.d.ts +1 -1
  75. package/components/Table/components/Table/Columns/ColumnsPresenter.js.map +1 -1
  76. package/components/Table/components/Table/Columns/ColumnsPresenter.test.js.map +1 -1
  77. package/components/Table/components/Table/Columns/ColumnsRepository.d.ts +2 -2
  78. package/components/Table/components/Table/Columns/ColumnsRepository.js.map +1 -1
  79. package/components/Table/components/Table/Columns/ColumnsRepositoryFactory.d.ts +1 -1
  80. package/components/Table/components/Table/Columns/ColumnsRepositoryFactory.js.map +1 -1
  81. package/components/Table/components/Table/Columns/IColumnsRepository.d.ts +1 -1
  82. package/components/Table/components/Table/Columns/IColumnsRepository.js.map +1 -1
  83. package/components/Table/components/Table/Table.d.ts +4 -3
  84. package/components/Table/components/Table/Table.js.map +1 -1
  85. package/components/Table/components/Table/TableInner.d.ts +8 -6
  86. package/components/Table/components/Table/TableInner.js.map +1 -1
  87. package/components/Table/components/Table/TablePresenter.d.ts +1 -1
  88. package/components/Table/components/Table/TablePresenter.js.map +1 -1
  89. package/components/Table/components/Table/gateways/ColumnsVisibilityLocalStorageGateway.d.ts +1 -1
  90. package/components/Table/components/Table/gateways/ColumnsVisibilityLocalStorageGateway.js.map +1 -1
  91. package/components/Table/createTableData.d.ts +6 -6
  92. package/components/Table/createTableData.js +8 -8
  93. package/components/Table/createTableData.js.map +1 -1
  94. package/components/Table/useTableRow.d.ts +9 -4
  95. package/components/Table/useTableRow.js +10 -3
  96. package/components/Table/useTableRow.js.map +1 -1
  97. package/config/AcoConfig.d.ts +12 -7
  98. package/config/AcoConfig.js +0 -5
  99. package/config/AcoConfig.js.map +1 -1
  100. package/config/advanced-search/index.d.ts +1 -1
  101. package/config/advanced-search/index.js.map +1 -1
  102. package/config/folder/createFolderFieldDecoratorFactory.d.ts +1 -1
  103. package/config/folder/createFolderFieldDecoratorFactory.js.map +1 -1
  104. package/config/folder/index.d.ts +1 -1
  105. package/config/folder/index.js.map +1 -1
  106. package/config/record/index.d.ts +1 -1
  107. package/config/record/index.js.map +1 -1
  108. package/config/table/Column.d.ts +10 -4
  109. package/config/table/Column.js.map +1 -1
  110. package/config/table/index.d.ts +9 -4
  111. package/config/table/index.js.map +1 -1
  112. package/contexts/acoList.d.ts +1 -1
  113. package/contexts/acoList.js.map +1 -1
  114. package/contexts/app.d.ts +2 -2
  115. package/contexts/app.js.map +1 -1
  116. package/contexts/folder.d.ts +1 -1
  117. package/contexts/folder.js.map +1 -1
  118. package/contexts/folders.d.ts +2 -1
  119. package/contexts/folders.js.map +1 -1
  120. package/contexts/index.d.ts +1 -1
  121. package/contexts/index.js +1 -1
  122. package/contexts/index.js.map +1 -1
  123. package/contexts/records.d.ts +3 -2
  124. package/contexts/records.js.map +1 -1
  125. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemGraphic.d.ts +1 -1
  126. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemGraphic.js.map +1 -1
  127. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemMeta.d.ts +1 -1
  128. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemMeta.js.map +1 -1
  129. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemText.d.ts +1 -1
  130. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemText.js.map +1 -1
  131. package/dialogs/DialogSetPermissions/UsersTeamsSelection.d.ts +1 -1
  132. package/dialogs/DialogSetPermissions/UsersTeamsSelection.js.map +1 -1
  133. package/dialogs/useCreateDialog.js.map +1 -1
  134. package/dialogs/useDeleteDialog.d.ts +1 -1
  135. package/dialogs/useDeleteDialog.js.map +1 -1
  136. package/dialogs/useEditDialog.d.ts +1 -1
  137. package/dialogs/useEditDialog.js.map +1 -1
  138. package/dialogs/useMoveToFolderDialog.d.ts +3 -2
  139. package/dialogs/useMoveToFolderDialog.js.map +1 -1
  140. package/dialogs/useSetPermissionsDialog.d.ts +1 -1
  141. package/dialogs/useSetPermissionsDialog.js.map +1 -1
  142. package/features/folders/Folder.d.ts +1 -1
  143. package/features/folders/Folder.js.map +1 -1
  144. package/features/folders/cache/FoldersCacheFactory.d.ts +1 -1
  145. package/features/folders/cache/FoldersCacheFactory.js.map +1 -1
  146. package/features/folders/createFolder/CreateFolder.d.ts +2 -2
  147. package/features/folders/createFolder/CreateFolder.js.map +1 -1
  148. package/features/folders/createFolder/CreateFolderGqlGateway.d.ts +4 -4
  149. package/features/folders/createFolder/CreateFolderGqlGateway.js.map +1 -1
  150. package/features/folders/createFolder/CreateFolderRepository.d.ts +3 -3
  151. package/features/folders/createFolder/CreateFolderRepository.js.map +1 -1
  152. package/features/folders/createFolder/CreateFolderUseCase.d.ts +2 -2
  153. package/features/folders/createFolder/CreateFolderUseCase.js.map +1 -1
  154. package/features/folders/createFolder/CreateFolderUseCaseWithLoading.d.ts +2 -2
  155. package/features/folders/createFolder/CreateFolderUseCaseWithLoading.js.map +1 -1
  156. package/features/folders/createFolder/FolderDto.d.ts +1 -1
  157. package/features/folders/createFolder/FolderDto.js.map +1 -1
  158. package/features/folders/createFolder/FolderGqlDto.d.ts +1 -1
  159. package/features/folders/createFolder/FolderGqlDto.js.map +1 -1
  160. package/features/folders/createFolder/ICreateFolderGateway.d.ts +2 -2
  161. package/features/folders/createFolder/ICreateFolderGateway.js.map +1 -1
  162. package/features/folders/createFolder/ICreateFolderRepository.d.ts +1 -1
  163. package/features/folders/createFolder/ICreateFolderRepository.js.map +1 -1
  164. package/features/folders/createFolder/ICreateFolderUseCase.d.ts +1 -1
  165. package/features/folders/createFolder/ICreateFolderUseCase.js.map +1 -1
  166. package/features/folders/createFolder/useCreateFolder.d.ts +1 -1
  167. package/features/folders/createFolder/useCreateFolder.js.map +1 -1
  168. package/features/folders/deleteFolder/DeleteFolder.d.ts +2 -2
  169. package/features/folders/deleteFolder/DeleteFolder.js.map +1 -1
  170. package/features/folders/deleteFolder/DeleteFolderGqlGateway.d.ts +3 -3
  171. package/features/folders/deleteFolder/DeleteFolderGqlGateway.js.map +1 -1
  172. package/features/folders/deleteFolder/DeleteFolderRepository.d.ts +4 -4
  173. package/features/folders/deleteFolder/DeleteFolderRepository.js.map +1 -1
  174. package/features/folders/deleteFolder/DeleteFolderUseCase.d.ts +2 -2
  175. package/features/folders/deleteFolder/DeleteFolderUseCase.js.map +1 -1
  176. package/features/folders/deleteFolder/DeleteFolderUseCaseWithLoading.d.ts +2 -2
  177. package/features/folders/deleteFolder/DeleteFolderUseCaseWithLoading.js.map +1 -1
  178. package/features/folders/deleteFolder/IDeleteFolderRepository.d.ts +1 -1
  179. package/features/folders/deleteFolder/IDeleteFolderRepository.js.map +1 -1
  180. package/features/folders/deleteFolder/IDeleteFolderUseCase.d.ts +1 -1
  181. package/features/folders/deleteFolder/IDeleteFolderUseCase.js.map +1 -1
  182. package/features/folders/deleteFolder/useDeleteFolder.d.ts +1 -1
  183. package/features/folders/deleteFolder/useDeleteFolder.js.map +1 -1
  184. package/features/folders/getDescendantFolders/FolderDto.d.ts +1 -1
  185. package/features/folders/getDescendantFolders/FolderDto.js.map +1 -1
  186. package/features/folders/getDescendantFolders/GetDescendantFolders.d.ts +1 -1
  187. package/features/folders/getDescendantFolders/GetDescendantFolders.js.map +1 -1
  188. package/features/folders/getDescendantFolders/GetDescendantFoldersRepository.d.ts +3 -3
  189. package/features/folders/getDescendantFolders/GetDescendantFoldersRepository.js.map +1 -1
  190. package/features/folders/getDescendantFolders/GetDescendantFoldersUseCase.d.ts +2 -2
  191. package/features/folders/getDescendantFolders/GetDescendantFoldersUseCase.js.map +1 -1
  192. package/features/folders/getDescendantFolders/IGetDescendantFoldersRepository.d.ts +1 -1
  193. package/features/folders/getDescendantFolders/IGetDescendantFoldersRepository.js.map +1 -1
  194. package/features/folders/getDescendantFolders/IGetDescendantFoldersUseCase.d.ts +1 -1
  195. package/features/folders/getDescendantFolders/IGetDescendantFoldersUseCase.js.map +1 -1
  196. package/features/folders/getFolder/GetFolder.d.ts +2 -2
  197. package/features/folders/getFolder/GetFolder.js.map +1 -1
  198. package/features/folders/getFolder/GetFolderGqlGateway.d.ts +3 -3
  199. package/features/folders/getFolder/GetFolderGqlGateway.js.map +1 -1
  200. package/features/folders/getFolder/GetFolderRepository.d.ts +3 -3
  201. package/features/folders/getFolder/GetFolderRepository.js.map +1 -1
  202. package/features/folders/getFolder/GetFolderUseCase.d.ts +2 -2
  203. package/features/folders/getFolder/GetFolderUseCase.js.map +1 -1
  204. package/features/folders/getFolder/GetFolderUseCaseWithLoading.d.ts +2 -2
  205. package/features/folders/getFolder/GetFolderUseCaseWithLoading.js.map +1 -1
  206. package/features/folders/getFolder/IGetFolderGateway.d.ts +1 -1
  207. package/features/folders/getFolder/IGetFolderGateway.js.map +1 -1
  208. package/features/folders/getFolder/useGetFolder.d.ts +1 -1
  209. package/features/folders/getFolder/useGetFolder.js.map +1 -1
  210. package/features/folders/getFolderAncestors/FolderDto.d.ts +9 -0
  211. package/features/folders/getFolderAncestors/FolderDto.js +3 -0
  212. package/features/folders/getFolderAncestors/FolderDto.js.map +1 -0
  213. package/features/folders/getFolderAncestors/GetFolderAncestors.d.ts +4 -0
  214. package/features/folders/getFolderAncestors/GetFolderAncestors.js +12 -0
  215. package/features/folders/getFolderAncestors/GetFolderAncestors.js.map +1 -0
  216. package/features/folders/getFolderAncestors/GetFolderAncestors.test.d.ts +1 -0
  217. package/features/folders/getFolderAncestors/GetFolderAncestors.test.js +97 -0
  218. package/features/folders/getFolderAncestors/GetFolderAncestors.test.js.map +1 -0
  219. package/features/folders/getFolderAncestors/GetFolderAncestorsRepository.d.ts +7 -0
  220. package/features/folders/getFolderAncestors/GetFolderAncestorsRepository.js +25 -0
  221. package/features/folders/getFolderAncestors/GetFolderAncestorsRepository.js.map +1 -0
  222. package/features/folders/getFolderAncestors/GetFolderAncestorsUseCase.d.ts +14 -0
  223. package/features/folders/getFolderAncestors/GetFolderAncestorsUseCase.js +18 -0
  224. package/features/folders/getFolderAncestors/GetFolderAncestorsUseCase.js.map +1 -0
  225. package/features/folders/getFolderAncestors/IGetFolderAncestorsRepository.d.ts +4 -0
  226. package/features/folders/getFolderAncestors/IGetFolderAncestorsRepository.js +3 -0
  227. package/features/folders/getFolderAncestors/IGetFolderAncestorsRepository.js.map +1 -0
  228. package/features/folders/getFolderAncestors/IGetFolderAncestorsUseCase.d.ts +7 -0
  229. package/features/folders/getFolderAncestors/IGetFolderAncestorsUseCase.js +3 -0
  230. package/features/folders/getFolderAncestors/IGetFolderAncestorsUseCase.js.map +1 -0
  231. package/features/folders/getFolderAncestors/index.d.ts +1 -0
  232. package/features/folders/getFolderAncestors/index.js +3 -0
  233. package/features/folders/getFolderAncestors/index.js.map +1 -0
  234. package/features/folders/getFolderAncestors/useGetFolderAncestors.d.ts +3 -0
  235. package/features/folders/getFolderAncestors/useGetFolderAncestors.js +17 -0
  236. package/features/folders/getFolderAncestors/useGetFolderAncestors.js.map +1 -0
  237. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsRepository.d.ts +1 -1
  238. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCase.d.ts +1 -1
  239. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCaseWithNamespace.d.ts +1 -1
  240. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCaseWithNamespaceAndModelId.d.ts +1 -1
  241. package/features/folders/getFolderExtensionsFields/IGetFolderExtensionsFieldsRepository.d.ts +1 -1
  242. package/features/folders/getFolderExtensionsFields/IGetFolderExtensionsFieldsRepository.js.map +1 -1
  243. package/features/folders/getFolderExtensionsFields/IGetFolderExtensionsFieldsUseCase.d.ts +1 -1
  244. package/features/folders/getFolderExtensionsFields/IGetFolderExtensionsFieldsUseCase.js.map +1 -1
  245. package/features/folders/getFolderExtensionsFields/useGetFolderExtensionsFields.d.ts +1 -1
  246. package/features/folders/getFolderHierarchy/FolderDto.d.ts +2 -2
  247. package/features/folders/getFolderHierarchy/FolderDto.js.map +1 -1
  248. package/features/folders/getFolderHierarchy/FolderGqlDto.d.ts +1 -1
  249. package/features/folders/getFolderHierarchy/FolderGqlDto.js.map +1 -1
  250. package/features/folders/getFolderHierarchy/GetFolderHierarchy.d.ts +5 -5
  251. package/features/folders/getFolderHierarchy/GetFolderHierarchy.js.map +1 -1
  252. package/features/folders/getFolderHierarchy/GetFolderHierarchyGqlGateway.d.ts +3 -3
  253. package/features/folders/getFolderHierarchy/GetFolderHierarchyGqlGateway.js.map +1 -1
  254. package/features/folders/getFolderHierarchy/GetFolderHierarchyRepository.d.ts +3 -3
  255. package/features/folders/getFolderHierarchy/GetFolderHierarchyRepository.js.map +1 -1
  256. package/features/folders/getFolderHierarchy/GetFolderHierarchyUseCase.d.ts +2 -2
  257. package/features/folders/getFolderHierarchy/GetFolderHierarchyUseCase.js.map +1 -1
  258. package/features/folders/getFolderHierarchy/GetFolderHierarchyUseCaseWithLoading.d.ts +2 -2
  259. package/features/folders/getFolderHierarchy/GetFolderHierarchyUseCaseWithLoading.js.map +1 -1
  260. package/features/folders/getFolderHierarchy/IGetFolderHierarchyGateway.d.ts +1 -1
  261. package/features/folders/getFolderHierarchy/IGetFolderHierarchyGateway.js.map +1 -1
  262. package/features/folders/getFolderHierarchy/useGetFolderHierarchy.d.ts +1 -1
  263. package/features/folders/getFolderHierarchy/useGetFolderHierarchy.js.map +1 -1
  264. package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.d.ts +2 -2
  265. package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.js.map +1 -1
  266. package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionRepository.d.ts +4 -4
  267. package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionRepository.js.map +1 -1
  268. package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionUseCase.d.ts +1 -1
  269. package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionUseCase.js.map +1 -1
  270. package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionWithFlpUseCase.d.ts +2 -2
  271. package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionWithFlpUseCase.js.map +1 -1
  272. package/features/folders/getFolderLevelPermission/useGetFolderLevelPermission.d.ts +1 -1
  273. package/features/folders/getFolderLevelPermission/useGetFolderLevelPermission.js.map +1 -1
  274. package/features/folders/getFolderModel/FolderModelContext.js.map +1 -1
  275. package/features/folders/getFolderModel/FolderModelDto.d.ts +1 -1
  276. package/features/folders/getFolderModel/FolderModelDto.js.map +1 -1
  277. package/features/folders/getFolderModel/GetFolderModel.d.ts +3 -3
  278. package/features/folders/getFolderModel/GetFolderModel.js.map +1 -1
  279. package/features/folders/getFolderModel/GetFolderModelGqlGateway.d.ts +4 -4
  280. package/features/folders/getFolderModel/GetFolderModelGqlGateway.js.map +1 -1
  281. package/features/folders/getFolderModel/GetFolderModelRepository.d.ts +2 -2
  282. package/features/folders/getFolderModel/GetFolderModelRepository.js.map +1 -1
  283. package/features/folders/getFolderModel/GetFolderModelUseCase.d.ts +2 -2
  284. package/features/folders/getFolderModel/GetFolderModelUseCase.js.map +1 -1
  285. package/features/folders/getFolderModel/IGetFolderModelGateway.d.ts +1 -1
  286. package/features/folders/getFolderModel/IGetFolderModelGateway.js.map +1 -1
  287. package/features/folders/getFolderModel/IGetFolderModelRepository.d.ts +1 -1
  288. package/features/folders/getFolderModel/IGetFolderModelRepository.js.map +1 -1
  289. package/features/folders/index.d.ts +1 -0
  290. package/features/folders/index.js +1 -0
  291. package/features/folders/index.js.map +1 -1
  292. package/features/folders/listFolders/FolderDto.d.ts +2 -2
  293. package/features/folders/listFolders/FolderDto.js.map +1 -1
  294. package/features/folders/listFolders/FolderGqlDto.d.ts +1 -1
  295. package/features/folders/listFolders/FolderGqlDto.js.map +1 -1
  296. package/features/folders/listFolders/IListFoldersGateway.d.ts +1 -1
  297. package/features/folders/listFolders/IListFoldersGateway.js.map +1 -1
  298. package/features/folders/listFolders/ListFolders.d.ts +5 -5
  299. package/features/folders/listFolders/ListFolders.js.map +1 -1
  300. package/features/folders/listFolders/ListFoldersCompressedGqlGateway.d.ts +3 -3
  301. package/features/folders/listFolders/ListFoldersCompressedGqlGateway.js.map +1 -1
  302. package/features/folders/listFolders/ListFoldersGqlGateway.d.ts +3 -3
  303. package/features/folders/listFolders/ListFoldersGqlGateway.js.map +1 -1
  304. package/features/folders/listFolders/ListFoldersRepository.d.ts +3 -3
  305. package/features/folders/listFolders/ListFoldersRepository.js.map +1 -1
  306. package/features/folders/listFolders/ListFoldersUseCase.d.ts +2 -2
  307. package/features/folders/listFolders/ListFoldersUseCase.js.map +1 -1
  308. package/features/folders/listFolders/ListFoldersUseCaseWithLoading.d.ts +2 -2
  309. package/features/folders/listFolders/ListFoldersUseCaseWithLoading.js.map +1 -1
  310. package/features/folders/listFolders/useListFolders.d.ts +1 -1
  311. package/features/folders/listFolders/useListFolders.js.map +1 -1
  312. package/features/folders/listFoldersByParentIds/FolderDto.d.ts +2 -2
  313. package/features/folders/listFoldersByParentIds/FolderDto.js.map +1 -1
  314. package/features/folders/listFoldersByParentIds/FolderGqlDto.d.ts +1 -1
  315. package/features/folders/listFoldersByParentIds/FolderGqlDto.js.map +1 -1
  316. package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsGateway.d.ts +1 -1
  317. package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsGateway.js.map +1 -1
  318. package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.d.ts +5 -5
  319. package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.js.map +1 -1
  320. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsGqlGateway.d.ts +3 -3
  321. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsGqlGateway.js.map +1 -1
  322. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepository.d.ts +3 -3
  323. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepository.js.map +1 -1
  324. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepositoryWithLoadedCache.d.ts +2 -2
  325. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepositoryWithLoadedCache.js.map +1 -1
  326. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCase.d.ts +2 -2
  327. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCase.js.map +1 -1
  328. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCaseWithLoading.d.ts +3 -3
  329. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCaseWithLoading.js.map +1 -1
  330. package/features/folders/listFoldersByParentIds/useListFoldersByParentIds.d.ts +1 -1
  331. package/features/folders/listFoldersByParentIds/useListFoldersByParentIds.js.map +1 -1
  332. package/features/folders/updateFolder/FolderDto.d.ts +1 -1
  333. package/features/folders/updateFolder/FolderDto.js.map +1 -1
  334. package/features/folders/updateFolder/FolderGqlDto.d.ts +1 -1
  335. package/features/folders/updateFolder/FolderGqlDto.js.map +1 -1
  336. package/features/folders/updateFolder/IUpdateFolderGateway.d.ts +2 -2
  337. package/features/folders/updateFolder/IUpdateFolderGateway.js.map +1 -1
  338. package/features/folders/updateFolder/IUpdateFolderRepository.d.ts +1 -1
  339. package/features/folders/updateFolder/IUpdateFolderRepository.js.map +1 -1
  340. package/features/folders/updateFolder/IUpdateFolderUseCase.d.ts +1 -1
  341. package/features/folders/updateFolder/IUpdateFolderUseCase.js.map +1 -1
  342. package/features/folders/updateFolder/UpdateFolder.d.ts +2 -2
  343. package/features/folders/updateFolder/UpdateFolder.js.map +1 -1
  344. package/features/folders/updateFolder/UpdateFolder.test.js.map +1 -1
  345. package/features/folders/updateFolder/UpdateFolderGqlGateway.d.ts +4 -4
  346. package/features/folders/updateFolder/UpdateFolderGqlGateway.js.map +1 -1
  347. package/features/folders/updateFolder/UpdateFolderRepository.d.ts +3 -3
  348. package/features/folders/updateFolder/UpdateFolderRepository.js.map +1 -1
  349. package/features/folders/updateFolder/UpdateFolderRepositoryWithPathChange.d.ts +2 -2
  350. package/features/folders/updateFolder/UpdateFolderRepositoryWithPathChange.js.map +1 -1
  351. package/features/folders/updateFolder/UpdateFolderRepositoryWithPermissionsChange.d.ts +2 -2
  352. package/features/folders/updateFolder/UpdateFolderRepositoryWithPermissionsChange.js.map +1 -1
  353. package/features/folders/updateFolder/UpdateFolderUseCase.d.ts +2 -2
  354. package/features/folders/updateFolder/UpdateFolderUseCase.js.map +1 -1
  355. package/features/folders/updateFolder/UpdateFolderUseCaseWithLoading.d.ts +2 -2
  356. package/features/folders/updateFolder/UpdateFolderUseCaseWithLoading.js.map +1 -1
  357. package/features/folders/updateFolder/UpdateFolderUseCaseWithoutInheritedPermissions.d.ts +1 -1
  358. package/features/folders/updateFolder/UpdateFolderUseCaseWithoutInheritedPermissions.js.map +1 -1
  359. package/features/folders/updateFolder/useUpdateFolder.d.ts +1 -1
  360. package/features/folders/updateFolder/useUpdateFolder.js.map +1 -1
  361. package/graphql/app.gql.d.ts +1 -1
  362. package/graphql/app.gql.js.map +1 -1
  363. package/graphql/records/common.d.ts +1 -1
  364. package/graphql/records/common.js.map +1 -1
  365. package/graphql/records/createRecord.d.ts +1 -1
  366. package/graphql/records/createRecord.js.map +1 -1
  367. package/graphql/records/deleteRecord.d.ts +1 -1
  368. package/graphql/records/deleteRecord.js.map +1 -1
  369. package/graphql/records/getRecord.d.ts +1 -1
  370. package/graphql/records/getRecord.js.map +1 -1
  371. package/graphql/records/listRecords.d.ts +1 -1
  372. package/graphql/records/listRecords.js.map +1 -1
  373. package/graphql/records/listTags.d.ts +1 -1
  374. package/graphql/records/listTags.js.map +1 -1
  375. package/graphql/records/moveRecord.d.ts +1 -1
  376. package/graphql/records/moveRecord.js.map +1 -1
  377. package/graphql/records/types.d.ts +1 -1
  378. package/graphql/records/types.js.map +1 -1
  379. package/graphql/records/updateRecord.d.ts +1 -1
  380. package/graphql/records/updateRecord.js.map +1 -1
  381. package/handlers.d.ts +4 -4
  382. package/handlers.js.map +1 -1
  383. package/hooks/useAcoApp.d.ts +1 -1
  384. package/hooks/useAcoApp.js.map +1 -1
  385. package/hooks/useAcoList.d.ts +2 -2
  386. package/hooks/useAcoList.js.map +1 -1
  387. package/hooks/useRecords.d.ts +2 -2
  388. package/hooks/useRecords.js.map +1 -1
  389. package/hooks/useTags.d.ts +1 -1
  390. package/hooks/useTags.js.map +1 -1
  391. package/index.d.ts +2 -0
  392. package/index.js +1 -0
  393. package/index.js.map +1 -1
  394. package/package.json +18 -18
  395. package/sorting.d.ts +1 -1
  396. package/sorting.js.map +1 -1
  397. package/table.types.d.ts +6 -4
  398. package/table.types.js.map +1 -1
  399. package/types.d.ts +2 -2
  400. package/types.js +0 -1
  401. package/types.js.map +1 -1
@@ -30,54 +30,54 @@ export declare const filterValidationSchema: zod.ZodObject<{
30
30
  condition: zod.ZodString;
31
31
  value: zod.ZodUnion<[zod.ZodBoolean, zod.ZodNumber, zod.ZodString, zod.ZodArray<zod.ZodUnion<[zod.ZodBoolean, zod.ZodNumber, zod.ZodString]>, "atleastone">]>;
32
32
  }, "strip", zod.ZodTypeAny, {
33
- value: string | number | boolean | [string | number | boolean, ...(string | number | boolean)[]];
34
33
  field: string;
35
34
  condition: string;
36
- }, {
37
35
  value: string | number | boolean | [string | number | boolean, ...(string | number | boolean)[]];
36
+ }, {
38
37
  field: string;
39
38
  condition: string;
39
+ value: string | number | boolean | [string | number | boolean, ...(string | number | boolean)[]];
40
40
  }>, "many">;
41
41
  }, "strip", zod.ZodTypeAny, {
42
+ operation: Operation;
42
43
  filters: {
43
- value: string | number | boolean | [string | number | boolean, ...(string | number | boolean)[]];
44
44
  field: string;
45
45
  condition: string;
46
+ value: string | number | boolean | [string | number | boolean, ...(string | number | boolean)[]];
46
47
  }[];
47
- operation: Operation;
48
48
  }, {
49
+ operation: Operation;
49
50
  filters: {
50
- value: string | number | boolean | [string | number | boolean, ...(string | number | boolean)[]];
51
51
  field: string;
52
52
  condition: string;
53
+ value: string | number | boolean | [string | number | boolean, ...(string | number | boolean)[]];
53
54
  }[];
54
- operation: Operation;
55
55
  }>, "many">;
56
56
  }, "strip", zod.ZodTypeAny, {
57
+ name: string;
58
+ description: string;
59
+ operation: Operation;
57
60
  groups: {
61
+ operation: Operation;
58
62
  filters: {
59
- value: string | number | boolean | [string | number | boolean, ...(string | number | boolean)[]];
60
63
  field: string;
61
64
  condition: string;
65
+ value: string | number | boolean | [string | number | boolean, ...(string | number | boolean)[]];
62
66
  }[];
63
- operation: Operation;
64
67
  }[];
68
+ id?: string | null | undefined;
69
+ }, {
65
70
  name: string;
66
71
  description: string;
67
72
  operation: Operation;
68
- id?: string | null | undefined;
69
- }, {
70
73
  groups: {
74
+ operation: Operation;
71
75
  filters: {
72
- value: string | number | boolean | [string | number | boolean, ...(string | number | boolean)[]];
73
76
  field: string;
74
77
  condition: string;
78
+ value: string | number | boolean | [string | number | boolean, ...(string | number | boolean)[]];
75
79
  }[];
76
- operation: Operation;
77
80
  }[];
78
- name: string;
79
- description: string;
80
- operation: Operation;
81
81
  id?: string | null | undefined;
82
82
  }>;
83
83
  export declare class Filter {
@@ -91,30 +91,30 @@ export declare class Filter {
91
91
  static createEmpty(): Filter;
92
92
  static create(data: FilterDTO): Filter;
93
93
  static validate(data: FilterDTO): zod.SafeParseReturnType<{
94
+ name: string;
95
+ description: string;
96
+ operation: Operation;
94
97
  groups: {
98
+ operation: Operation;
95
99
  filters: {
96
- value: string | number | boolean | [string | number | boolean, ...(string | number | boolean)[]];
97
100
  field: string;
98
101
  condition: string;
102
+ value: string | number | boolean | [string | number | boolean, ...(string | number | boolean)[]];
99
103
  }[];
100
- operation: Operation;
101
104
  }[];
105
+ id?: string | null | undefined;
106
+ }, {
102
107
  name: string;
103
108
  description: string;
104
109
  operation: Operation;
105
- id?: string | null | undefined;
106
- }, {
107
110
  groups: {
111
+ operation: Operation;
108
112
  filters: {
109
- value: string | number | boolean | [string | number | boolean, ...(string | number | boolean)[]];
110
113
  field: string;
111
114
  condition: string;
115
+ value: string | number | boolean | [string | number | boolean, ...(string | number | boolean)[]];
112
116
  }[];
113
- operation: Operation;
114
117
  }[];
115
- name: string;
116
- description: string;
117
- operation: Operation;
118
118
  id?: string | null | undefined;
119
119
  }>;
120
120
  protected constructor(data: {
@@ -1,4 +1,4 @@
1
- import { Filter, FilterDTO, FilterStorage } from "../domain";
1
+ import type { Filter, FilterDTO, FilterStorage } from "../domain";
2
2
  export declare class FilterMapper {
3
3
  static toDTO(configuration: Filter | FilterDTO): FilterDTO;
4
4
  static toStorage(configuration: Filter | FilterDTO): FilterStorage;
@@ -1 +1 @@
1
- {"version":3,"names":["FilterMapper","toDTO","configuration","id","name","description","operation","createdOn","groups","map","group","filters","filter","field","value","toString","condition","toStorage"],"sources":["FilterMapper.ts"],"sourcesContent":["import { Filter, FilterDTO, FilterStorage } from \"../domain\";\n\nexport class FilterMapper {\n static toDTO(configuration: Filter | FilterDTO): FilterDTO {\n return {\n id: configuration.id,\n name: configuration.name,\n description: configuration.description || \"\",\n operation: configuration.operation,\n createdOn: configuration.createdOn || \"\",\n groups: configuration.groups.map(group => ({\n operation: group.operation,\n filters: group.filters.map(filter => ({\n field: filter.field || \"\",\n value: (filter.value ?? \"\").toString(),\n condition: filter.condition || \"\"\n }))\n }))\n };\n }\n\n static toStorage(configuration: Filter | FilterDTO): FilterStorage {\n return {\n id: configuration.id,\n name: configuration.name,\n description: configuration.description,\n operation: configuration.operation,\n groups: configuration.groups.map(group => ({\n operation: group.operation,\n filters: group.filters.map(filter => ({\n field: filter.field || \"\",\n value: (filter.value ?? \"\").toString(),\n condition: filter.condition || \"\"\n }))\n }))\n };\n }\n}\n"],"mappings":"AAEA,OAAO,MAAMA,YAAY,CAAC;EACtB,OAAOC,KAAKA,CAACC,aAAiC,EAAa;IACvD,OAAO;MACHC,EAAE,EAAED,aAAa,CAACC,EAAE;MACpBC,IAAI,EAAEF,aAAa,CAACE,IAAI;MACxBC,WAAW,EAAEH,aAAa,CAACG,WAAW,IAAI,EAAE;MAC5CC,SAAS,EAAEJ,aAAa,CAACI,SAAS;MAClCC,SAAS,EAAEL,aAAa,CAACK,SAAS,IAAI,EAAE;MACxCC,MAAM,EAAEN,aAAa,CAACM,MAAM,CAACC,GAAG,CAACC,KAAK,KAAK;QACvCJ,SAAS,EAAEI,KAAK,CAACJ,SAAS;QAC1BK,OAAO,EAAED,KAAK,CAACC,OAAO,CAACF,GAAG,CAACG,MAAM,KAAK;UAClCC,KAAK,EAAED,MAAM,CAACC,KAAK,IAAI,EAAE;UACzBC,KAAK,EAAE,CAACF,MAAM,CAACE,KAAK,IAAI,EAAE,EAAEC,QAAQ,CAAC,CAAC;UACtCC,SAAS,EAAEJ,MAAM,CAACI,SAAS,IAAI;QACnC,CAAC,CAAC;MACN,CAAC,CAAC;IACN,CAAC;EACL;EAEA,OAAOC,SAASA,CAACf,aAAiC,EAAiB;IAC/D,OAAO;MACHC,EAAE,EAAED,aAAa,CAACC,EAAE;MACpBC,IAAI,EAAEF,aAAa,CAACE,IAAI;MACxBC,WAAW,EAAEH,aAAa,CAACG,WAAW;MACtCC,SAAS,EAAEJ,aAAa,CAACI,SAAS;MAClCE,MAAM,EAAEN,aAAa,CAACM,MAAM,CAACC,GAAG,CAACC,KAAK,KAAK;QACvCJ,SAAS,EAAEI,KAAK,CAACJ,SAAS;QAC1BK,OAAO,EAAED,KAAK,CAACC,OAAO,CAACF,GAAG,CAACG,MAAM,KAAK;UAClCC,KAAK,EAAED,MAAM,CAACC,KAAK,IAAI,EAAE;UACzBC,KAAK,EAAE,CAACF,MAAM,CAACE,KAAK,IAAI,EAAE,EAAEC,QAAQ,CAAC,CAAC;UACtCC,SAAS,EAAEJ,MAAM,CAACI,SAAS,IAAI;QACnC,CAAC,CAAC;MACN,CAAC,CAAC;IACN,CAAC;EACL;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["FilterMapper","toDTO","configuration","id","name","description","operation","createdOn","groups","map","group","filters","filter","field","value","toString","condition","toStorage"],"sources":["FilterMapper.ts"],"sourcesContent":["import type { Filter, FilterDTO, FilterStorage } from \"../domain\";\n\nexport class FilterMapper {\n static toDTO(configuration: Filter | FilterDTO): FilterDTO {\n return {\n id: configuration.id,\n name: configuration.name,\n description: configuration.description || \"\",\n operation: configuration.operation,\n createdOn: configuration.createdOn || \"\",\n groups: configuration.groups.map(group => ({\n operation: group.operation,\n filters: group.filters.map(filter => ({\n field: filter.field || \"\",\n value: (filter.value ?? \"\").toString(),\n condition: filter.condition || \"\"\n }))\n }))\n };\n }\n\n static toStorage(configuration: Filter | FilterDTO): FilterStorage {\n return {\n id: configuration.id,\n name: configuration.name,\n description: configuration.description,\n operation: configuration.operation,\n groups: configuration.groups.map(group => ({\n operation: group.operation,\n filters: group.filters.map(filter => ({\n field: filter.field || \"\",\n value: (filter.value ?? \"\").toString(),\n condition: filter.condition || \"\"\n }))\n }))\n };\n }\n}\n"],"mappings":"AAEA,OAAO,MAAMA,YAAY,CAAC;EACtB,OAAOC,KAAKA,CAACC,aAAiC,EAAa;IACvD,OAAO;MACHC,EAAE,EAAED,aAAa,CAACC,EAAE;MACpBC,IAAI,EAAEF,aAAa,CAACE,IAAI;MACxBC,WAAW,EAAEH,aAAa,CAACG,WAAW,IAAI,EAAE;MAC5CC,SAAS,EAAEJ,aAAa,CAACI,SAAS;MAClCC,SAAS,EAAEL,aAAa,CAACK,SAAS,IAAI,EAAE;MACxCC,MAAM,EAAEN,aAAa,CAACM,MAAM,CAACC,GAAG,CAACC,KAAK,KAAK;QACvCJ,SAAS,EAAEI,KAAK,CAACJ,SAAS;QAC1BK,OAAO,EAAED,KAAK,CAACC,OAAO,CAACF,GAAG,CAACG,MAAM,KAAK;UAClCC,KAAK,EAAED,MAAM,CAACC,KAAK,IAAI,EAAE;UACzBC,KAAK,EAAE,CAACF,MAAM,CAACE,KAAK,IAAI,EAAE,EAAEC,QAAQ,CAAC,CAAC;UACtCC,SAAS,EAAEJ,MAAM,CAACI,SAAS,IAAI;QACnC,CAAC,CAAC;MACN,CAAC,CAAC;IACN,CAAC;EACL;EAEA,OAAOC,SAASA,CAACf,aAAiC,EAAiB;IAC/D,OAAO;MACHC,EAAE,EAAED,aAAa,CAACC,EAAE;MACpBC,IAAI,EAAEF,aAAa,CAACE,IAAI;MACxBC,WAAW,EAAEH,aAAa,CAACG,WAAW;MACtCC,SAAS,EAAEJ,aAAa,CAACI,SAAS;MAClCE,MAAM,EAAEN,aAAa,CAACM,MAAM,CAACC,GAAG,CAACC,KAAK,KAAK;QACvCJ,SAAS,EAAEI,KAAK,CAACJ,SAAS;QAC1BK,OAAO,EAAED,KAAK,CAACC,OAAO,CAACF,GAAG,CAACG,MAAM,KAAK;UAClCC,KAAK,EAAED,MAAM,CAACC,KAAK,IAAI,EAAE;UACzBC,KAAK,EAAE,CAACF,MAAM,CAACE,KAAK,IAAI,EAAE,EAAEC,QAAQ,CAAC,CAAC;UACtCC,SAAS,EAAEJ,MAAM,CAACI,SAAS,IAAI;QACnC,CAAC,CAAC;MACN,CAAC,CAAC;IACN,CAAC;EACL;AACJ","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import { FilterDTO } from "../domain";
2
- import { FiltersGatewayInterface } from "../gateways";
1
+ import type { FilterDTO } from "../domain";
2
+ import type { FiltersGatewayInterface } from "../gateways";
3
3
  export declare class FilterRepository {
4
4
  private gateway;
5
5
  private sorter;
@@ -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":[]}