@webiny/app-aco 6.3.0 → 6.4.0-beta.0

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 (620) hide show
  1. package/app.js +3 -4
  2. package/app.js.map +1 -1
  3. package/components/Actions/DeleteFolder/DeleteFolder.js +21 -26
  4. package/components/Actions/DeleteFolder/DeleteFolder.js.map +1 -1
  5. package/components/Actions/DeleteFolder/index.js +0 -2
  6. package/components/Actions/EditFolder/EditFolder.js +20 -25
  7. package/components/Actions/EditFolder/EditFolder.js.map +1 -1
  8. package/components/Actions/EditFolder/index.js +0 -2
  9. package/components/Actions/SetFolderPemissions/SetFolderPermissions.js +20 -25
  10. package/components/Actions/SetFolderPemissions/SetFolderPermissions.js.map +1 -1
  11. package/components/Actions/SetFolderPemissions/index.js +0 -2
  12. package/components/Actions/index.js +0 -2
  13. package/components/AdvancedSearch/AdvancedSearch.js +67 -75
  14. package/components/AdvancedSearch/AdvancedSearch.js.map +1 -1
  15. package/components/AdvancedSearch/AdvancedSearchConfigs.js +37 -40
  16. package/components/AdvancedSearch/AdvancedSearchConfigs.js.map +1 -1
  17. package/components/AdvancedSearch/AdvancedSearchPresenter.js +178 -199
  18. package/components/AdvancedSearch/AdvancedSearchPresenter.js.map +1 -1
  19. package/components/AdvancedSearch/AdvancedSearchPresenter.test.js +653 -720
  20. package/components/AdvancedSearch/AdvancedSearchPresenter.test.js.map +1 -1
  21. package/components/AdvancedSearch/Button/Button.js +13 -16
  22. package/components/AdvancedSearch/Button/Button.js.map +1 -1
  23. package/components/AdvancedSearch/Button/index.js +0 -2
  24. package/components/AdvancedSearch/GraphQLInputMapper.js +29 -40
  25. package/components/AdvancedSearch/GraphQLInputMapper.js.map +1 -1
  26. package/components/AdvancedSearch/GraphQLInputMapper.test.js +179 -139
  27. package/components/AdvancedSearch/GraphQLInputMapper.test.js.map +1 -1
  28. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/QueryBuilder.js +57 -58
  29. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/QueryBuilder.js.map +1 -1
  30. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Details.js +25 -26
  31. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Details.js.map +1 -1
  32. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Filter.js +51 -71
  33. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Filter.js.map +1 -1
  34. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/FilterOperationLabel.js +9 -13
  35. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/FilterOperationLabel.js.map +1 -1
  36. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/GroupOperationLabel.js +14 -14
  37. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/GroupOperationLabel.js.map +1 -1
  38. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/InputField.js +11 -20
  39. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/InputField.js.map +1 -1
  40. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/OperationSelector.js +15 -25
  41. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/OperationSelector.js.map +1 -1
  42. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddFilter.js +14 -17
  43. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddFilter.js.map +1 -1
  44. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddGroup.js +11 -14
  45. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddGroup.js.map +1 -1
  46. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/RemoveFilter.js +14 -18
  47. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/RemoveFilter.js.map +1 -1
  48. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/index.js +0 -2
  49. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/index.js +0 -2
  50. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/index.js +0 -2
  51. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.js +65 -67
  52. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.js.map +1 -1
  53. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.js +110 -139
  54. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.js.map +1 -1
  55. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.test.js +345 -328
  56. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.test.js.map +1 -1
  57. package/components/AdvancedSearch/QueryBuilderDrawer/index.js +0 -2
  58. package/components/AdvancedSearch/QueryManagerDialog/QueryManagerDialog.js +23 -27
  59. package/components/AdvancedSearch/QueryManagerDialog/QueryManagerDialog.js.map +1 -1
  60. package/components/AdvancedSearch/QueryManagerDialog/components/Description.js +8 -10
  61. package/components/AdvancedSearch/QueryManagerDialog/components/Description.js.map +1 -1
  62. package/components/AdvancedSearch/QueryManagerDialog/components/Empty.js +16 -17
  63. package/components/AdvancedSearch/QueryManagerDialog/components/Empty.js.map +1 -1
  64. package/components/AdvancedSearch/QueryManagerDialog/components/FilterList.js +41 -42
  65. package/components/AdvancedSearch/QueryManagerDialog/components/FilterList.js.map +1 -1
  66. package/components/AdvancedSearch/QueryManagerDialog/components/index.js +0 -2
  67. package/components/AdvancedSearch/QueryManagerDialog/index.js +0 -2
  68. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.js +52 -59
  69. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.js.map +1 -1
  70. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.js +39 -52
  71. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.js.map +1 -1
  72. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.test.js +58 -66
  73. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.test.js.map +1 -1
  74. package/components/AdvancedSearch/QuerySaverDialog/index.js +0 -2
  75. package/components/AdvancedSearch/SelectedFilter/SelectedFilter.js +18 -19
  76. package/components/AdvancedSearch/SelectedFilter/SelectedFilter.js.map +1 -1
  77. package/components/AdvancedSearch/SelectedFilter/index.js +0 -2
  78. package/components/AdvancedSearch/domain/Feedback.js +12 -11
  79. package/components/AdvancedSearch/domain/Feedback.js.map +1 -1
  80. package/components/AdvancedSearch/domain/Field.js +206 -190
  81. package/components/AdvancedSearch/domain/Field.js.map +1 -1
  82. package/components/AdvancedSearch/domain/FieldMapper.js +40 -41
  83. package/components/AdvancedSearch/domain/FieldMapper.js.map +1 -1
  84. package/components/AdvancedSearch/domain/Filter.js +64 -47
  85. package/components/AdvancedSearch/domain/Filter.js.map +1 -1
  86. package/components/AdvancedSearch/domain/FilterMapper.js +35 -34
  87. package/components/AdvancedSearch/domain/FilterMapper.js.map +1 -1
  88. package/components/AdvancedSearch/domain/FilterRepository.js +84 -85
  89. package/components/AdvancedSearch/domain/FilterRepository.js.map +1 -1
  90. package/components/AdvancedSearch/domain/FilterRepositoryFactory.js +8 -9
  91. package/components/AdvancedSearch/domain/FilterRepositoryFactory.js.map +1 -1
  92. package/components/AdvancedSearch/domain/Loading.js +47 -46
  93. package/components/AdvancedSearch/domain/Loading.js.map +1 -1
  94. package/components/AdvancedSearch/domain/Operation.js +5 -4
  95. package/components/AdvancedSearch/domain/Operation.js.map +1 -1
  96. package/components/AdvancedSearch/domain/Sorter.js +17 -16
  97. package/components/AdvancedSearch/domain/Sorter.js.map +1 -1
  98. package/components/AdvancedSearch/domain/index.js +0 -2
  99. package/components/AdvancedSearch/fields/Boolean.js +23 -25
  100. package/components/AdvancedSearch/fields/Boolean.js.map +1 -1
  101. package/components/AdvancedSearch/fields/DateWithTimezone.js +47 -52
  102. package/components/AdvancedSearch/fields/DateWithTimezone.js.map +1 -1
  103. package/components/AdvancedSearch/fields/DateWithoutTimezone.js +26 -30
  104. package/components/AdvancedSearch/fields/DateWithoutTimezone.js.map +1 -1
  105. package/components/AdvancedSearch/fields/Input.js +12 -14
  106. package/components/AdvancedSearch/fields/Input.js.map +1 -1
  107. package/components/AdvancedSearch/fields/PredefinedValues.js +17 -23
  108. package/components/AdvancedSearch/fields/PredefinedValues.js.map +1 -1
  109. package/components/AdvancedSearch/fields/index.js +0 -2
  110. package/components/AdvancedSearch/gateways/FiltersGatewayInterface.js +0 -3
  111. package/components/AdvancedSearch/gateways/FiltersGraphQLGateway.js +69 -121
  112. package/components/AdvancedSearch/gateways/FiltersGraphQLGateway.js.map +1 -1
  113. package/components/AdvancedSearch/gateways/filters.gql.js +9 -8
  114. package/components/AdvancedSearch/gateways/filters.gql.js.map +1 -1
  115. package/components/AdvancedSearch/gateways/filters.types.js +0 -3
  116. package/components/AdvancedSearch/gateways/index.js +0 -2
  117. package/components/AdvancedSearch/index.js +22 -24
  118. package/components/AdvancedSearch/index.js.map +1 -1
  119. package/components/AdvancedSearch/useFilterRepository.js +4 -3
  120. package/components/AdvancedSearch/useFilterRepository.js.map +1 -1
  121. package/components/AdvancedSearch/useInputField.js +4 -6
  122. package/components/AdvancedSearch/useInputField.js.map +1 -1
  123. package/components/Extensions/Extensions.js +23 -26
  124. package/components/Extensions/Extensions.js.map +1 -1
  125. package/components/Extensions/index.js +0 -2
  126. package/components/FolderGrid/FolderGridItem.js +67 -62
  127. package/components/FolderGrid/FolderGridItem.js.map +1 -1
  128. package/components/FolderGrid/index.js +0 -2
  129. package/components/FolderIcons/assets/folder-shared-icon.js +25 -0
  130. package/components/FolderIcons/assets/folder-shared-icon.js.map +1 -0
  131. package/components/FolderIcons/assets/folder.js +21 -0
  132. package/components/FolderIcons/assets/folder.js.map +1 -0
  133. package/components/FolderIcons/index.js +2 -5
  134. package/components/FolderPicker/FolderPicker.js +23 -20
  135. package/components/FolderPicker/FolderPicker.js.map +1 -1
  136. package/components/FolderTree/ButtonCreate/ButtonCreate.d.ts +1 -0
  137. package/components/FolderTree/ButtonCreate/ButtonCreate.js +17 -14
  138. package/components/FolderTree/ButtonCreate/ButtonCreate.js.map +1 -1
  139. package/components/FolderTree/ButtonCreate/index.js +0 -2
  140. package/components/FolderTree/Empty/Empty.js +5 -6
  141. package/components/FolderTree/Empty/Empty.js.map +1 -1
  142. package/components/FolderTree/Empty/index.js +0 -2
  143. package/components/FolderTree/List/List.js +120 -135
  144. package/components/FolderTree/List/List.js.map +1 -1
  145. package/components/FolderTree/List/index.js +0 -2
  146. package/components/FolderTree/List/utils.js +31 -64
  147. package/components/FolderTree/List/utils.js.map +1 -1
  148. package/components/FolderTree/Loader/Loader.js +15 -18
  149. package/components/FolderTree/Loader/Loader.js.map +1 -1
  150. package/components/FolderTree/Loader/index.js +0 -2
  151. package/components/FolderTree/MenuActions/MenuActions.js +19 -27
  152. package/components/FolderTree/MenuActions/MenuActions.js.map +1 -1
  153. package/components/FolderTree/MenuActions/index.js +0 -2
  154. package/components/FolderTree/Node/Node.js +27 -47
  155. package/components/FolderTree/Node/Node.js.map +1 -1
  156. package/components/FolderTree/Node/index.js +0 -2
  157. package/components/FolderTree/NodePreview/NodePreview.js +11 -14
  158. package/components/FolderTree/NodePreview/NodePreview.js.map +1 -1
  159. package/components/FolderTree/NodePreview/index.js +0 -2
  160. package/components/FolderTree/index.d.ts +2 -1
  161. package/components/FolderTree/index.js +47 -57
  162. package/components/FolderTree/index.js.map +1 -1
  163. package/components/Search/Search.js +15 -20
  164. package/components/Search/Search.js.map +1 -1
  165. package/components/Search/index.js +0 -2
  166. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityDecorator.js +19 -20
  167. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityDecorator.js.map +1 -1
  168. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.js +17 -18
  169. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.js.map +1 -1
  170. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.test.js +113 -130
  171. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.test.js.map +1 -1
  172. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepository.js +26 -25
  173. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepository.js.map +1 -1
  174. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepositoryFactory.js +12 -11
  175. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepositoryFactory.js.map +1 -1
  176. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityUpdater.js +11 -12
  177. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityUpdater.js.map +1 -1
  178. package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityRepository.js +0 -3
  179. package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityUpdater.js +0 -3
  180. package/components/Table/components/Table/ColumnVisibility/index.js +0 -2
  181. package/components/Table/components/Table/Columns/Column.js +18 -17
  182. package/components/Table/components/Table/Columns/Column.js.map +1 -1
  183. package/components/Table/components/Table/Columns/ColumnMapper.js +31 -31
  184. package/components/Table/components/Table/Columns/ColumnMapper.js.map +1 -1
  185. package/components/Table/components/Table/Columns/ColumnsPresenter.js +14 -13
  186. package/components/Table/components/Table/Columns/ColumnsPresenter.js.map +1 -1
  187. package/components/Table/components/Table/Columns/ColumnsPresenter.test.js +66 -60
  188. package/components/Table/components/Table/Columns/ColumnsPresenter.test.js.map +1 -1
  189. package/components/Table/components/Table/Columns/ColumnsRepository.js +15 -14
  190. package/components/Table/components/Table/Columns/ColumnsRepository.js.map +1 -1
  191. package/components/Table/components/Table/Columns/ColumnsRepositoryFactory.js +15 -11
  192. package/components/Table/components/Table/Columns/ColumnsRepositoryFactory.js.map +1 -1
  193. package/components/Table/components/Table/Columns/IColumnsRepository.js +0 -3
  194. package/components/Table/components/Table/Columns/index.js +0 -2
  195. package/components/Table/components/Table/Table.js +38 -32
  196. package/components/Table/components/Table/Table.js.map +1 -1
  197. package/components/Table/components/Table/TableInner.js +33 -40
  198. package/components/Table/components/Table/TableInner.js.map +1 -1
  199. package/components/Table/components/Table/TablePresenter.js +12 -9
  200. package/components/Table/components/Table/TablePresenter.js.map +1 -1
  201. package/components/Table/components/Table/gateways/ColumnsVisibilityLocalStorageGateway.js +12 -11
  202. package/components/Table/components/Table/gateways/ColumnsVisibilityLocalStorageGateway.js.map +1 -1
  203. package/components/Table/components/Table/gateways/IColumnsVisibilityGateway.js +0 -3
  204. package/components/Table/components/Table/gateways/index.js +0 -2
  205. package/components/Table/components/Table/index.js +0 -2
  206. package/components/Table/components/index.js +0 -2
  207. package/components/Table/createTableData.js +13 -16
  208. package/components/Table/createTableData.js.map +1 -1
  209. package/components/Table/index.js +0 -2
  210. package/components/Table/useTableRow.js +17 -29
  211. package/components/Table/useTableRow.js.map +1 -1
  212. package/components/index.js +0 -2
  213. package/config/AcoConfig.js +43 -30
  214. package/config/AcoConfig.js.map +1 -1
  215. package/config/advanced-search/FieldRenderer.js +27 -30
  216. package/config/advanced-search/FieldRenderer.js.map +1 -1
  217. package/config/advanced-search/index.js +3 -2
  218. package/config/advanced-search/index.js.map +1 -1
  219. package/config/folder/Action.js +27 -32
  220. package/config/folder/Action.js.map +1 -1
  221. package/config/folder/DropConfirmation.js +12 -13
  222. package/config/folder/DropConfirmation.js.map +1 -1
  223. package/config/folder/createFolderFieldDecoratorFactory.js +14 -18
  224. package/config/folder/createFolderFieldDecoratorFactory.js.map +1 -1
  225. package/config/folder/index.js +4 -3
  226. package/config/folder/index.js.map +1 -1
  227. package/config/index.js +0 -2
  228. package/config/record/Action.js +28 -33
  229. package/config/record/Action.js.map +1 -1
  230. package/config/record/index.js +3 -2
  231. package/config/record/index.js.map +1 -1
  232. package/config/table/Column.js +65 -81
  233. package/config/table/Column.js.map +1 -1
  234. package/config/table/Sorting.js +24 -27
  235. package/config/table/Sorting.js.map +1 -1
  236. package/config/table/index.js +4 -3
  237. package/config/table/index.js.map +1 -1
  238. package/constants.js +0 -2
  239. package/contexts/acoList.js +283 -384
  240. package/contexts/acoList.js.map +1 -1
  241. package/contexts/app.js +40 -53
  242. package/contexts/app.js.map +1 -1
  243. package/contexts/folder.js +11 -15
  244. package/contexts/folder.js.map +1 -1
  245. package/contexts/folders.js +27 -32
  246. package/contexts/folders.js.map +1 -1
  247. package/contexts/index.js +0 -2
  248. package/contexts/navigateFolder.js +49 -57
  249. package/contexts/navigateFolder.js.map +1 -1
  250. package/contexts/records.js +299 -422
  251. package/contexts/records.js.map +1 -1
  252. package/dialogs/DialogSetPermissions/UsersTeamsMultiAutocomplete.js +22 -29
  253. package/dialogs/DialogSetPermissions/UsersTeamsMultiAutocomplete.js.map +1 -1
  254. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemGraphic.js +18 -21
  255. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemGraphic.js.map +1 -1
  256. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemMeta.js +105 -107
  257. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemMeta.js.map +1 -1
  258. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemText.js +11 -16
  259. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemText.js.map +1 -1
  260. package/dialogs/DialogSetPermissions/UsersTeamsSelection.js +29 -34
  261. package/dialogs/DialogSetPermissions/UsersTeamsSelection.js.map +1 -1
  262. package/dialogs/DialogSetPermissions/graphql.js +3 -2
  263. package/dialogs/DialogSetPermissions/graphql.js.map +1 -1
  264. package/dialogs/ParentFolderField.js +12 -13
  265. package/dialogs/ParentFolderField.js.map +1 -1
  266. package/dialogs/index.js +0 -2
  267. package/dialogs/useConfirmMoveFolderDialog.js +16 -19
  268. package/dialogs/useConfirmMoveFolderDialog.js.map +1 -1
  269. package/dialogs/useCreateDialog.js +78 -93
  270. package/dialogs/useCreateDialog.js.map +1 -1
  271. package/dialogs/useDeleteDialog.js +27 -33
  272. package/dialogs/useDeleteDialog.js.map +1 -1
  273. package/dialogs/useEditDialog.js +77 -80
  274. package/dialogs/useEditDialog.js.map +1 -1
  275. package/dialogs/useMoveToFolderDialog.d.ts +1 -1
  276. package/dialogs/useMoveToFolderDialog.js +33 -49
  277. package/dialogs/useMoveToFolderDialog.js.map +1 -1
  278. package/dialogs/useSetPermissionsDialog.js +85 -87
  279. package/dialogs/useSetPermissionsDialog.js.map +1 -1
  280. package/domain/folder/Folder.js +25 -24
  281. package/domain/folder/Folder.js.map +1 -1
  282. package/domain/folder/FolderDto.js +0 -3
  283. package/domain/folder/FolderDtoMapper.js +24 -25
  284. package/domain/folder/FolderDtoMapper.js.map +1 -1
  285. package/domain/folder/FolderIdentity.js +16 -17
  286. package/domain/folder/FolderIdentity.js.map +1 -1
  287. package/domain/folder/RootFolder.js +24 -23
  288. package/domain/folder/RootFolder.js.map +1 -1
  289. package/exports/admin/aco.js +0 -2
  290. package/exports/admin/ui.js +0 -2
  291. package/features/folders/abstractions.js +6 -5
  292. package/features/folders/abstractions.js.map +1 -1
  293. package/features/folders/cache/FoldersCacheFactory.js +13 -12
  294. package/features/folders/cache/FoldersCacheFactory.js.map +1 -1
  295. package/features/folders/cache/ListCache.d.ts +2 -29
  296. package/features/folders/cache/ListCache.js +1 -43
  297. package/features/folders/cache/LoadedCache.js +33 -27
  298. package/features/folders/cache/LoadedCache.js.map +1 -1
  299. package/features/folders/cache/LoadedFoldersCacheFactory.js +13 -12
  300. package/features/folders/cache/LoadedFoldersCacheFactory.js.map +1 -1
  301. package/features/folders/cache/index.js +0 -2
  302. package/features/folders/createFolder/CreateFolder.test.js +44 -48
  303. package/features/folders/createFolder/CreateFolder.test.js.map +1 -1
  304. package/features/folders/createFolder/CreateFolderGqlGateway.js +27 -32
  305. package/features/folders/createFolder/CreateFolderGqlGateway.js.map +1 -1
  306. package/features/folders/createFolder/CreateFolderRepository.js +29 -24
  307. package/features/folders/createFolder/CreateFolderRepository.js.map +1 -1
  308. package/features/folders/createFolder/CreateFolderUseCase.js +20 -17
  309. package/features/folders/createFolder/CreateFolderUseCase.js.map +1 -1
  310. package/features/folders/createFolder/abstractions.js +4 -12
  311. package/features/folders/createFolder/abstractions.js.map +1 -1
  312. package/features/folders/createFolder/feature.js +15 -14
  313. package/features/folders/createFolder/feature.js.map +1 -1
  314. package/features/folders/createFolder/index.js +0 -2
  315. package/features/folders/createFolder/useCreateFolder.js +6 -9
  316. package/features/folders/createFolder/useCreateFolder.js.map +1 -1
  317. package/features/folders/deleteFolder/DeleteFolder.test.js +38 -39
  318. package/features/folders/deleteFolder/DeleteFolder.test.js.map +1 -1
  319. package/features/folders/deleteFolder/DeleteFolderGqlGateway.js +21 -28
  320. package/features/folders/deleteFolder/DeleteFolderGqlGateway.js.map +1 -1
  321. package/features/folders/deleteFolder/DeleteFolderRepository.js +16 -13
  322. package/features/folders/deleteFolder/DeleteFolderRepository.js.map +1 -1
  323. package/features/folders/deleteFolder/DeleteFolderUseCase.js +13 -10
  324. package/features/folders/deleteFolder/DeleteFolderUseCase.js.map +1 -1
  325. package/features/folders/deleteFolder/abstractions.js +4 -12
  326. package/features/folders/deleteFolder/abstractions.js.map +1 -1
  327. package/features/folders/deleteFolder/feature.js +15 -14
  328. package/features/folders/deleteFolder/feature.js.map +1 -1
  329. package/features/folders/deleteFolder/index.js +0 -2
  330. package/features/folders/deleteFolder/useDeleteFolder.js +6 -9
  331. package/features/folders/deleteFolder/useDeleteFolder.js.map +1 -1
  332. package/features/folders/feature.js +23 -29
  333. package/features/folders/feature.js.map +1 -1
  334. package/features/folders/folderModelProvider/FolderModelContext.js +17 -24
  335. package/features/folders/folderModelProvider/FolderModelContext.js.map +1 -1
  336. package/features/folders/folderModelProvider/FolderModelDto.js +0 -3
  337. package/features/folders/folderModelProvider/FolderModelProvider.js +23 -23
  338. package/features/folders/folderModelProvider/FolderModelProvider.js.map +1 -1
  339. package/features/folders/folderModelProvider/GetFolderModelGqlGateway.js +20 -26
  340. package/features/folders/folderModelProvider/GetFolderModelGqlGateway.js.map +1 -1
  341. package/features/folders/folderModelProvider/GetFolderModelRepository.js +25 -22
  342. package/features/folders/folderModelProvider/GetFolderModelRepository.js.map +1 -1
  343. package/features/folders/folderModelProvider/abstractions.js +3 -2
  344. package/features/folders/folderModelProvider/abstractions.js.map +1 -1
  345. package/features/folders/folderModelProvider/feature.js +15 -14
  346. package/features/folders/folderModelProvider/feature.js.map +1 -1
  347. package/features/folders/folderModelProvider/index.js +0 -2
  348. package/features/folders/getDescendantFolders/GetDescendantFolders.test.js +116 -110
  349. package/features/folders/getDescendantFolders/GetDescendantFolders.test.js.map +1 -1
  350. package/features/folders/getDescendantFolders/GetDescendantFoldersRepository.js +35 -35
  351. package/features/folders/getDescendantFolders/GetDescendantFoldersRepository.js.map +1 -1
  352. package/features/folders/getDescendantFolders/GetDescendantFoldersUseCase.js +13 -10
  353. package/features/folders/getDescendantFolders/GetDescendantFoldersUseCase.js.map +1 -1
  354. package/features/folders/getDescendantFolders/abstractions.js +3 -10
  355. package/features/folders/getDescendantFolders/abstractions.js.map +1 -1
  356. package/features/folders/getDescendantFolders/feature.js +14 -13
  357. package/features/folders/getDescendantFolders/feature.js.map +1 -1
  358. package/features/folders/getDescendantFolders/index.js +0 -2
  359. package/features/folders/getDescendantFolders/useGetDescendantFolders.js +6 -9
  360. package/features/folders/getDescendantFolders/useGetDescendantFolders.js.map +1 -1
  361. package/features/folders/getFolder/GetFolderGqlGateway.js +26 -31
  362. package/features/folders/getFolder/GetFolderGqlGateway.js.map +1 -1
  363. package/features/folders/getFolder/GetFolderRepository.js +18 -13
  364. package/features/folders/getFolder/GetFolderRepository.js.map +1 -1
  365. package/features/folders/getFolder/GetFolderUseCase.js +13 -10
  366. package/features/folders/getFolder/GetFolderUseCase.js.map +1 -1
  367. package/features/folders/getFolder/abstractions.js +4 -12
  368. package/features/folders/getFolder/abstractions.js.map +1 -1
  369. package/features/folders/getFolder/feature.js +15 -14
  370. package/features/folders/getFolder/feature.js.map +1 -1
  371. package/features/folders/getFolder/index.js +0 -2
  372. package/features/folders/getFolder/useGetFolder.js +6 -9
  373. package/features/folders/getFolder/useGetFolder.js.map +1 -1
  374. package/features/folders/getFolderAncestors/GetFolderAncestors.test.js +108 -103
  375. package/features/folders/getFolderAncestors/GetFolderAncestors.test.js.map +1 -1
  376. package/features/folders/getFolderAncestors/GetFolderAncestorsRepository.js +32 -30
  377. package/features/folders/getFolderAncestors/GetFolderAncestorsRepository.js.map +1 -1
  378. package/features/folders/getFolderAncestors/GetFolderAncestorsUseCase.js +13 -10
  379. package/features/folders/getFolderAncestors/GetFolderAncestorsUseCase.js.map +1 -1
  380. package/features/folders/getFolderAncestors/abstractions.js +3 -10
  381. package/features/folders/getFolderAncestors/abstractions.js.map +1 -1
  382. package/features/folders/getFolderAncestors/feature.js +14 -13
  383. package/features/folders/getFolderAncestors/feature.js.map +1 -1
  384. package/features/folders/getFolderAncestors/index.js +0 -2
  385. package/features/folders/getFolderAncestors/useGetFolderAncestors.js +6 -9
  386. package/features/folders/getFolderAncestors/useGetFolderAncestors.js.map +1 -1
  387. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFields.test.js +190 -160
  388. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFields.test.js.map +1 -1
  389. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCase.js +30 -29
  390. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCase.js.map +1 -1
  391. package/features/folders/getFolderExtensionsFields/abstractions.js +3 -8
  392. package/features/folders/getFolderExtensionsFields/abstractions.js.map +1 -1
  393. package/features/folders/getFolderExtensionsFields/feature.js +16 -18
  394. package/features/folders/getFolderExtensionsFields/feature.js.map +1 -1
  395. package/features/folders/getFolderExtensionsFields/filters/CmsNamespaceFilter.js +16 -17
  396. package/features/folders/getFolderExtensionsFields/filters/CmsNamespaceFilter.js.map +1 -1
  397. package/features/folders/getFolderExtensionsFields/filters/FmFileNamespaceFilter.js +13 -16
  398. package/features/folders/getFolderExtensionsFields/filters/FmFileNamespaceFilter.js.map +1 -1
  399. package/features/folders/getFolderExtensionsFields/filters/GlobalNamespaceFilter.js +7 -8
  400. package/features/folders/getFolderExtensionsFields/filters/GlobalNamespaceFilter.js.map +1 -1
  401. package/features/folders/getFolderExtensionsFields/index.js +0 -2
  402. package/features/folders/getFolderExtensionsFields/useFolderExtensionsFields.js +13 -14
  403. package/features/folders/getFolderExtensionsFields/useFolderExtensionsFields.js.map +1 -1
  404. package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.test.js +135 -164
  405. package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.test.js.map +1 -1
  406. package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionUseCase.js +8 -7
  407. package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionUseCase.js.map +1 -1
  408. package/features/folders/getFolderLevelPermission/abstractions.js +2 -1
  409. package/features/folders/getFolderLevelPermission/abstractions.js.map +1 -1
  410. package/features/folders/getFolderLevelPermission/decorators/GetFolderLevelPermissionWithFlpDecorator.js +17 -20
  411. package/features/folders/getFolderLevelPermission/decorators/GetFolderLevelPermissionWithFlpDecorator.js.map +1 -1
  412. package/features/folders/getFolderLevelPermission/feature.js +14 -16
  413. package/features/folders/getFolderLevelPermission/feature.js.map +1 -1
  414. package/features/folders/getFolderLevelPermission/index.js +0 -2
  415. package/features/folders/getFolderLevelPermission/useGetFolderLevelPermission.js +9 -10
  416. package/features/folders/getFolderLevelPermission/useGetFolderLevelPermission.js.map +1 -1
  417. package/features/folders/listFolders/ListFolders.test.js +98 -111
  418. package/features/folders/listFolders/ListFolders.test.js.map +1 -1
  419. package/features/folders/listFolders/ListFoldersGqlGateway.js +29 -27
  420. package/features/folders/listFolders/ListFoldersGqlGateway.js.map +1 -1
  421. package/features/folders/listFolders/ListFoldersRepository.js +19 -14
  422. package/features/folders/listFolders/ListFoldersRepository.js.map +1 -1
  423. package/features/folders/listFolders/ListFoldersUseCase.js +13 -10
  424. package/features/folders/listFolders/ListFoldersUseCase.js.map +1 -1
  425. package/features/folders/listFolders/ListFoldersUseCaseWithLoading.js +14 -11
  426. package/features/folders/listFolders/ListFoldersUseCaseWithLoading.js.map +1 -1
  427. package/features/folders/listFolders/abstractions.js +4 -3
  428. package/features/folders/listFolders/abstractions.js.map +1 -1
  429. package/features/folders/listFolders/feature.js +17 -23
  430. package/features/folders/listFolders/feature.js.map +1 -1
  431. package/features/folders/listFolders/index.js +0 -2
  432. package/features/folders/listFolders/useListFolders.js +35 -37
  433. package/features/folders/listFolders/useListFolders.js.map +1 -1
  434. package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.test.js +218 -203
  435. package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.test.js.map +1 -1
  436. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsGqlGateway.js +31 -33
  437. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsGqlGateway.js.map +1 -1
  438. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepository.js +18 -13
  439. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepository.js.map +1 -1
  440. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCase.js +18 -15
  441. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCase.js.map +1 -1
  442. package/features/folders/listFoldersByParentIds/abstractions.js +4 -3
  443. package/features/folders/listFoldersByParentIds/abstractions.js.map +1 -1
  444. package/features/folders/listFoldersByParentIds/decorators/RepositoryWithLoadedCache.js +20 -22
  445. package/features/folders/listFoldersByParentIds/decorators/RepositoryWithLoadedCache.js.map +1 -1
  446. package/features/folders/listFoldersByParentIds/decorators/UseCaseWithLoading.js +17 -18
  447. package/features/folders/listFoldersByParentIds/decorators/UseCaseWithLoading.js.map +1 -1
  448. package/features/folders/listFoldersByParentIds/feature.js +18 -26
  449. package/features/folders/listFoldersByParentIds/feature.js.map +1 -1
  450. package/features/folders/listFoldersByParentIds/index.js +0 -2
  451. package/features/folders/listFoldersByParentIds/useListFoldersByParentIds.js +40 -42
  452. package/features/folders/listFoldersByParentIds/useListFoldersByParentIds.js.map +1 -1
  453. package/features/folders/loadFolderHierarchy/LoadFolderHierarchy.test.js +134 -136
  454. package/features/folders/loadFolderHierarchy/LoadFolderHierarchy.test.js.map +1 -1
  455. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyGqlGateway.js +31 -31
  456. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyGqlGateway.js.map +1 -1
  457. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyRepository.js +35 -40
  458. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyRepository.js.map +1 -1
  459. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyUseCase.js +13 -10
  460. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyUseCase.js.map +1 -1
  461. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyUseCaseWithLoading.js +14 -11
  462. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyUseCaseWithLoading.js.map +1 -1
  463. package/features/folders/loadFolderHierarchy/abstractions.js +4 -3
  464. package/features/folders/loadFolderHierarchy/abstractions.js.map +1 -1
  465. package/features/folders/loadFolderHierarchy/feature.js +17 -23
  466. package/features/folders/loadFolderHierarchy/feature.js.map +1 -1
  467. package/features/folders/loadFolderHierarchy/index.js +0 -2
  468. package/features/folders/loadFolderHierarchy/useLoadFolderHierarchy.js +37 -42
  469. package/features/folders/loadFolderHierarchy/useLoadFolderHierarchy.js.map +1 -1
  470. package/features/folders/updateFolder/UpdateFolder.test.js +372 -384
  471. package/features/folders/updateFolder/UpdateFolder.test.js.map +1 -1
  472. package/features/folders/updateFolder/UpdateFolderGqlGateway.js +33 -45
  473. package/features/folders/updateFolder/UpdateFolderGqlGateway.js.map +1 -1
  474. package/features/folders/updateFolder/UpdateFolderRepository.js +26 -24
  475. package/features/folders/updateFolder/UpdateFolderRepository.js.map +1 -1
  476. package/features/folders/updateFolder/UpdateFolderUseCase.js +13 -10
  477. package/features/folders/updateFolder/UpdateFolderUseCase.js.map +1 -1
  478. package/features/folders/updateFolder/abstractions.js +4 -3
  479. package/features/folders/updateFolder/abstractions.js.map +1 -1
  480. package/features/folders/updateFolder/decorators/RepositoryWithPathChange.js +43 -64
  481. package/features/folders/updateFolder/decorators/RepositoryWithPathChange.js.map +1 -1
  482. package/features/folders/updateFolder/decorators/RepositoryWithPermissionsChange.js +44 -56
  483. package/features/folders/updateFolder/decorators/RepositoryWithPermissionsChange.js.map +1 -1
  484. package/features/folders/updateFolder/decorators/UseCaseWithLoading.js +14 -11
  485. package/features/folders/updateFolder/decorators/UseCaseWithLoading.js.map +1 -1
  486. package/features/folders/updateFolder/decorators/UseCaseWithoutInheritedPermissions.js +15 -15
  487. package/features/folders/updateFolder/decorators/UseCaseWithoutInheritedPermissions.js.map +1 -1
  488. package/features/folders/updateFolder/feature.js +20 -28
  489. package/features/folders/updateFolder/feature.js.map +1 -1
  490. package/features/folders/updateFolder/index.js +0 -2
  491. package/features/folders/updateFolder/useUpdateFolder.js +17 -19
  492. package/features/folders/updateFolder/useUpdateFolder.js.map +1 -1
  493. package/graphql/app.gql.js +3 -4
  494. package/graphql/app.gql.js.map +1 -1
  495. package/graphql/records/common.js +41 -39
  496. package/graphql/records/common.js.map +1 -1
  497. package/graphql/records/getRecord.js +2 -3
  498. package/graphql/records/getRecord.js.map +1 -1
  499. package/graphql/records/listRecords.js +22 -13
  500. package/graphql/records/listRecords.js.map +1 -1
  501. package/graphql/records/moveRecord.js +5 -6
  502. package/graphql/records/moveRecord.js.map +1 -1
  503. package/graphql/records/types.js +0 -3
  504. package/graphql/records.gql.js +0 -2
  505. package/handlers.js +17 -40
  506. package/handlers.js.map +1 -1
  507. package/hooks/index.js +0 -2
  508. package/hooks/useAcoApp.js +11 -12
  509. package/hooks/useAcoApp.js.map +1 -1
  510. package/hooks/useAcoList.js +5 -6
  511. package/hooks/useAcoList.js.map +1 -1
  512. package/hooks/useFolder.js +6 -7
  513. package/hooks/useFolder.js.map +1 -1
  514. package/hooks/useFolderModel.js +11 -13
  515. package/hooks/useFolderModel.js.map +1 -1
  516. package/hooks/useFoldersType.js +7 -12
  517. package/hooks/useFoldersType.js.map +1 -1
  518. package/hooks/useNavigateFolder.js +5 -6
  519. package/hooks/useNavigateFolder.js.map +1 -1
  520. package/hooks/useRecords.js +56 -77
  521. package/hooks/useRecords.js.map +1 -1
  522. package/hooks/useTags.js +21 -30
  523. package/hooks/useTags.js.map +1 -1
  524. package/index.d.ts +1 -0
  525. package/index.js +3 -8
  526. package/package.json +21 -21
  527. package/presentation/folderTree/FolderTree.d.ts +19 -0
  528. package/presentation/folderTree/FolderTree.js +252 -0
  529. package/presentation/folderTree/FolderTree.js.map +1 -0
  530. package/presentation/folderTree/FolderTreeFieldRenderer.d.ts +13 -0
  531. package/presentation/folderTree/FolderTreeFieldRenderer.js +23 -0
  532. package/presentation/folderTree/FolderTreeFieldRenderer.js.map +1 -0
  533. package/presentation/folderTree/FolderTreePresenter.d.ts +51 -0
  534. package/presentation/folderTree/FolderTreePresenter.js +303 -0
  535. package/presentation/folderTree/FolderTreePresenter.js.map +1 -0
  536. package/presentation/folderTree/FolderTreePresenter.test.d.ts +1 -0
  537. package/presentation/folderTree/FolderTreePresenter.test.js +517 -0
  538. package/presentation/folderTree/FolderTreePresenter.test.js.map +1 -0
  539. package/presentation/folderTree/abstractions.d.ts +65 -0
  540. package/presentation/folderTree/abstractions.js +5 -0
  541. package/presentation/folderTree/abstractions.js.map +1 -0
  542. package/presentation/folderTree/feature.d.ts +3 -0
  543. package/presentation/folderTree/feature.js +17 -0
  544. package/presentation/folderTree/feature.js.map +1 -0
  545. package/presentation/folderTree/index.d.ts +5 -0
  546. package/presentation/folderTree/index.js +3 -0
  547. package/sorting.js +25 -28
  548. package/sorting.js.map +1 -1
  549. package/static/svg/folder-shared-icon.5d947e49.svg +5 -0
  550. package/static/svg/folder.f3d5c400.svg +4 -0
  551. package/table.types.js +0 -3
  552. package/types.js +10 -13
  553. package/types.js.map +1 -1
  554. package/components/Actions/DeleteFolder/index.js.map +0 -1
  555. package/components/Actions/EditFolder/index.js.map +0 -1
  556. package/components/Actions/SetFolderPemissions/index.js.map +0 -1
  557. package/components/Actions/index.js.map +0 -1
  558. package/components/AdvancedSearch/Button/index.js.map +0 -1
  559. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/index.js.map +0 -1
  560. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/index.js.map +0 -1
  561. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/index.js.map +0 -1
  562. package/components/AdvancedSearch/QueryBuilderDrawer/index.js.map +0 -1
  563. package/components/AdvancedSearch/QueryManagerDialog/components/index.js.map +0 -1
  564. package/components/AdvancedSearch/QueryManagerDialog/index.js.map +0 -1
  565. package/components/AdvancedSearch/QuerySaverDialog/index.js.map +0 -1
  566. package/components/AdvancedSearch/SelectedFilter/index.js.map +0 -1
  567. package/components/AdvancedSearch/domain/index.js.map +0 -1
  568. package/components/AdvancedSearch/fields/index.js.map +0 -1
  569. package/components/AdvancedSearch/gateways/FiltersGatewayInterface.js.map +0 -1
  570. package/components/AdvancedSearch/gateways/filters.types.js.map +0 -1
  571. package/components/AdvancedSearch/gateways/index.js.map +0 -1
  572. package/components/Extensions/index.js.map +0 -1
  573. package/components/FolderGrid/index.js.map +0 -1
  574. package/components/FolderIcons/index.js.map +0 -1
  575. package/components/FolderTree/ButtonCreate/index.js.map +0 -1
  576. package/components/FolderTree/Empty/index.js.map +0 -1
  577. package/components/FolderTree/List/index.js.map +0 -1
  578. package/components/FolderTree/Loader/index.js.map +0 -1
  579. package/components/FolderTree/MenuActions/index.js.map +0 -1
  580. package/components/FolderTree/Node/index.js.map +0 -1
  581. package/components/FolderTree/NodePreview/index.js.map +0 -1
  582. package/components/Search/index.js.map +0 -1
  583. package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityRepository.js.map +0 -1
  584. package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityUpdater.js.map +0 -1
  585. package/components/Table/components/Table/ColumnVisibility/index.js.map +0 -1
  586. package/components/Table/components/Table/Columns/IColumnsRepository.js.map +0 -1
  587. package/components/Table/components/Table/Columns/index.js.map +0 -1
  588. package/components/Table/components/Table/gateways/IColumnsVisibilityGateway.js.map +0 -1
  589. package/components/Table/components/Table/gateways/index.js.map +0 -1
  590. package/components/Table/components/Table/index.js.map +0 -1
  591. package/components/Table/components/index.js.map +0 -1
  592. package/components/Table/index.js.map +0 -1
  593. package/components/index.js.map +0 -1
  594. package/config/index.js.map +0 -1
  595. package/constants.js.map +0 -1
  596. package/contexts/index.js.map +0 -1
  597. package/dialogs/index.js.map +0 -1
  598. package/domain/folder/FolderDto.js.map +0 -1
  599. package/exports/admin/aco.js.map +0 -1
  600. package/exports/admin/ui.js.map +0 -1
  601. package/features/folders/cache/ListCache.js.map +0 -1
  602. package/features/folders/cache/index.js.map +0 -1
  603. package/features/folders/createFolder/index.js.map +0 -1
  604. package/features/folders/deleteFolder/index.js.map +0 -1
  605. package/features/folders/folderModelProvider/FolderModelDto.js.map +0 -1
  606. package/features/folders/folderModelProvider/index.js.map +0 -1
  607. package/features/folders/getDescendantFolders/index.js.map +0 -1
  608. package/features/folders/getFolder/index.js.map +0 -1
  609. package/features/folders/getFolderAncestors/index.js.map +0 -1
  610. package/features/folders/getFolderExtensionsFields/index.js.map +0 -1
  611. package/features/folders/getFolderLevelPermission/index.js.map +0 -1
  612. package/features/folders/listFolders/index.js.map +0 -1
  613. package/features/folders/listFoldersByParentIds/index.js.map +0 -1
  614. package/features/folders/loadFolderHierarchy/index.js.map +0 -1
  615. package/features/folders/updateFolder/index.js.map +0 -1
  616. package/graphql/records/types.js.map +0 -1
  617. package/graphql/records.gql.js.map +0 -1
  618. package/hooks/index.js.map +0 -1
  619. package/index.js.map +0 -1
  620. package/table.types.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import React, { useCallback, useEffect, useMemo, useState } from "react";
1
+ import react, { useCallback, useEffect, useMemo, useState } from "react";
2
2
  import { Tree } from "@webiny/admin-ui";
3
3
  import { useSnackbar } from "@webiny/app-admin";
4
4
  import { useGetFolderLevelPermission } from "../../../features/folders/getFolderLevelPermission/index.js";
@@ -10,141 +10,126 @@ import { createInitialOpenList, createTreeData } from "./utils.js";
10
10
  import { ROOT_FOLDER } from "../../../constants.js";
11
11
  import { FolderProvider } from "../../../contexts/folder.js";
12
12
  import { useConfirmMoveFolderDialog } from "../../../dialogs/index.js";
13
- export const List = ({
14
- folders,
15
- folderActions,
16
- onFolderClick,
17
- focusedFolderId,
18
- hiddenFolderIds,
19
- enableActions,
20
- dropConfirmation = false
21
- }) => {
22
- const {
23
- listFoldersByParentIds,
24
- loading
25
- } = useListFoldersByParentIds();
26
- const {
27
- updateFolder
28
- } = useUpdateFolder();
29
- const {
30
- getFolderLevelPermission: canManageStructure
31
- } = useGetFolderLevelPermission("canManageStructure");
32
- const {
33
- getFolderAncestors
34
- } = useGetFolderAncestors();
35
- const {
36
- showSnackbar
37
- } = useSnackbar();
38
- const [treeData, setTreeData] = useState([]);
39
- const [openFolderIds, setOpenFolderIds] = useState([ROOT_FOLDER]);
40
- const {
41
- showDialog: showConfirmMoveFolderDialog
42
- } = useConfirmMoveFolderDialog();
43
- useEffect(() => {
44
- setTreeData(createTreeData(folders, focusedFolderId, hiddenFolderIds));
45
- }, [folders, focusedFolderId, hiddenFolderIds]);
46
- useEffect(() => {
47
- setOpenFolderIds(prev => {
48
- const expanded = createInitialOpenList(folders, prev, focusedFolderId);
49
- return [...new Set([ROOT_FOLDER, ...expanded])];
13
+ const List = ({ folders, folderActions, onFolderClick, focusedFolderId, hiddenFolderIds, enableActions, dropConfirmation = false })=>{
14
+ const { listFoldersByParentIds, loading } = useListFoldersByParentIds();
15
+ const { updateFolder } = useUpdateFolder();
16
+ const { getFolderLevelPermission: canManageStructure } = useGetFolderLevelPermission("canManageStructure");
17
+ const { getFolderAncestors } = useGetFolderAncestors();
18
+ const { showSnackbar } = useSnackbar();
19
+ const [treeData, setTreeData] = useState([]);
20
+ const [openFolderIds, setOpenFolderIds] = useState([
21
+ ROOT_FOLDER
22
+ ]);
23
+ const { showDialog: showConfirmMoveFolderDialog } = useConfirmMoveFolderDialog();
24
+ useEffect(()=>{
25
+ setTreeData(createTreeData(folders, focusedFolderId, hiddenFolderIds));
26
+ }, [
27
+ folders,
28
+ focusedFolderId,
29
+ hiddenFolderIds
30
+ ]);
31
+ useEffect(()=>{
32
+ setOpenFolderIds((prev)=>{
33
+ const expanded = createInitialOpenList(folders, prev, focusedFolderId);
34
+ return [
35
+ ...new Set([
36
+ ROOT_FOLDER,
37
+ ...expanded
38
+ ])
39
+ ];
40
+ });
41
+ }, [
42
+ focusedFolderId,
43
+ folders,
44
+ setOpenFolderIds
45
+ ]);
46
+ const handleChangeOpen = async (nodes)=>{
47
+ const folderIds = nodes.map((node)=>node.id);
48
+ const updatedOpenIds = [
49
+ ...new Set([
50
+ ROOT_FOLDER,
51
+ ...folderIds
52
+ ])
53
+ ];
54
+ setOpenFolderIds(updatedOpenIds);
55
+ const fetchableIds = folderIds.filter((id)=>id !== ROOT_FOLDER && "0" !== id);
56
+ await listFoldersByParentIds(fetchableIds);
57
+ };
58
+ const handleDrop = async (_, { dragSourceId, dropTargetId })=>{
59
+ try {
60
+ const item = folders.find((folder)=>folder.id === dragSourceId);
61
+ if (!item) throw new Error("Folder not found!");
62
+ await updateFolder({
63
+ ...item,
64
+ parentId: dropTargetId !== ROOT_FOLDER ? dropTargetId : null
65
+ });
66
+ } catch (error) {
67
+ showSnackbar(error.message);
68
+ }
69
+ };
70
+ const onDrop = useCallback(async (newTree, options)=>{
71
+ const runDrop = async ()=>handleDrop(newTree, options);
72
+ if (dropConfirmation) {
73
+ const { dragSourceId, dropTargetId } = options;
74
+ const folder = folders.find((f)=>f.id === dragSourceId);
75
+ const targetFolder = folders.find((f)=>f.id === dropTargetId);
76
+ if (!folder || !targetFolder) return;
77
+ showConfirmMoveFolderDialog({
78
+ folder,
79
+ targetFolder,
80
+ onAccept: runDrop
81
+ });
82
+ } else await runDrop();
83
+ }, [
84
+ folders,
85
+ dropConfirmation,
86
+ showConfirmMoveFolderDialog
87
+ ]);
88
+ const sort = useMemo(()=>(a, b)=>{
89
+ if (a.id === ROOT_FOLDER || b.id === ROOT_FOLDER) return 1;
90
+ return a.label.localeCompare(b.label, void 0, {
91
+ numeric: true
92
+ });
93
+ }, []);
94
+ const canDrag = useCallback((node)=>node.id !== ROOT_FOLDER && canManageStructure(node.id), [
95
+ canManageStructure
96
+ ]);
97
+ const canDrop = (_, options)=>{
98
+ const { dragSourceId, dropTargetId } = options;
99
+ const dropTagetAncestorIds = getFolderAncestors(dropTargetId).map((item)=>item.id);
100
+ return !(dragSourceId && dropTagetAncestorIds.includes(dragSourceId));
101
+ };
102
+ const nodeRenderer = (node)=>{
103
+ const folder = folders.find((folder)=>folder.id === node.id);
104
+ return /*#__PURE__*/ react.createElement(FolderProvider, {
105
+ folder: folder
106
+ }, /*#__PURE__*/ react.createElement(Node, {
107
+ enableActions: enableActions,
108
+ folderActions: folderActions
109
+ }));
110
+ };
111
+ const handleNodeClick = useCallback((node)=>{
112
+ onFolderClick(node);
113
+ }, [
114
+ onFolderClick
115
+ ]);
116
+ return /*#__PURE__*/ react.createElement(Tree, {
117
+ nodes: treeData,
118
+ rootId: "0",
119
+ defaultOpenNodeIds: openFolderIds,
120
+ onChangeOpen: handleChangeOpen,
121
+ onDrop: onDrop,
122
+ onNodeClick: handleNodeClick,
123
+ sort: sort,
124
+ canDrag: canDrag,
125
+ canDrop: canDrop,
126
+ renderer: nodeRenderer,
127
+ defaultLockedOpenNodeIds: [
128
+ ROOT_FOLDER
129
+ ],
130
+ loadingNodeIds: loading
50
131
  });
51
- }, [focusedFolderId, folders, setOpenFolderIds]);
52
- const handleChangeOpen = async nodes => {
53
- const folderIds = nodes.map(node => node.id);
54
- const updatedOpenIds = [...new Set([ROOT_FOLDER, ...folderIds])];
55
- setOpenFolderIds(updatedOpenIds);
56
- const fetchableIds = folderIds.filter(id => id !== ROOT_FOLDER && id !== "0");
57
- await listFoldersByParentIds(fetchableIds);
58
- };
59
- const handleDrop = async (_, {
60
- dragSourceId,
61
- dropTargetId
62
- }) => {
63
- try {
64
- const item = folders.find(folder => folder.id === dragSourceId);
65
- if (!item) {
66
- throw new Error("Folder not found!");
67
- }
68
- await updateFolder({
69
- ...item,
70
- parentId: dropTargetId !== ROOT_FOLDER ? dropTargetId : null
71
- });
72
- } catch (error) {
73
- showSnackbar(error.message);
74
- }
75
- };
76
- const onDrop = useCallback(async (newTree, options) => {
77
- // Function to execute the drop logic
78
- const runDrop = async () => handleDrop(newTree, options);
79
-
80
- // If drop confirmation is enabled, show dialog before proceeding
81
- if (dropConfirmation) {
82
- const {
83
- dragSourceId,
84
- dropTargetId
85
- } = options;
86
- const folder = folders.find(f => f.id === dragSourceId);
87
- const targetFolder = folders.find(f => f.id === dropTargetId);
88
-
89
- // Abort if either folder is not found
90
- if (!folder || !targetFolder) {
91
- return;
92
- }
93
- showConfirmMoveFolderDialog({
94
- folder,
95
- targetFolder,
96
- onAccept: runDrop
97
- });
98
- } else {
99
- // Otherwise, perform the drop immediately
100
- await runDrop();
101
- }
102
- }, [folders, dropConfirmation, showConfirmMoveFolderDialog]);
103
- const sort = useMemo(() => (a, b) => {
104
- if (a.id === ROOT_FOLDER || b.id === ROOT_FOLDER) {
105
- return 1;
106
- }
107
- return a.label.localeCompare(b.label, undefined, {
108
- numeric: true
109
- });
110
- }, []);
111
- const canDrag = useCallback(node => node.id !== ROOT_FOLDER && canManageStructure(node.id), [canManageStructure]);
112
- const canDrop = (_, options) => {
113
- const {
114
- dragSourceId,
115
- dropTargetId
116
- } = options;
117
- const dropTagetAncestorIds = getFolderAncestors(dropTargetId).map(item => item.id);
118
-
119
- // Prevent dropping a folder into itself or its descendants
120
- return !(dragSourceId && dropTagetAncestorIds.includes(dragSourceId));
121
- };
122
- const nodeRenderer = node => {
123
- const folder = folders.find(folder => folder.id === node.id);
124
- return /*#__PURE__*/React.createElement(FolderProvider, {
125
- folder: folder
126
- }, /*#__PURE__*/React.createElement(Node, {
127
- enableActions: enableActions,
128
- folderActions: folderActions
129
- }));
130
- };
131
- const handleNodeClick = useCallback(node => {
132
- onFolderClick(node);
133
- }, [onFolderClick]);
134
- return /*#__PURE__*/React.createElement(Tree, {
135
- nodes: treeData,
136
- rootId: "0",
137
- defaultOpenNodeIds: openFolderIds,
138
- onChangeOpen: handleChangeOpen,
139
- onDrop: onDrop,
140
- onNodeClick: handleNodeClick,
141
- sort: sort,
142
- canDrag: canDrag,
143
- canDrop: canDrop,
144
- renderer: nodeRenderer,
145
- defaultLockedOpenNodeIds: [ROOT_FOLDER],
146
- loadingNodeIds: loading
147
- });
148
132
  };
133
+ export { List };
149
134
 
150
135
  //# sourceMappingURL=List.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useEffect","useMemo","useState","Tree","useSnackbar","useGetFolderLevelPermission","useListFoldersByParentIds","useGetFolderAncestors","useUpdateFolder","Node","createInitialOpenList","createTreeData","ROOT_FOLDER","FolderProvider","useConfirmMoveFolderDialog","List","folders","folderActions","onFolderClick","focusedFolderId","hiddenFolderIds","enableActions","dropConfirmation","listFoldersByParentIds","loading","updateFolder","getFolderLevelPermission","canManageStructure","getFolderAncestors","showSnackbar","treeData","setTreeData","openFolderIds","setOpenFolderIds","showDialog","showConfirmMoveFolderDialog","prev","expanded","Set","handleChangeOpen","nodes","folderIds","map","node","id","updatedOpenIds","fetchableIds","filter","handleDrop","_","dragSourceId","dropTargetId","item","find","folder","Error","parentId","error","message","onDrop","newTree","options","runDrop","f","targetFolder","onAccept","sort","a","b","label","localeCompare","undefined","numeric","canDrag","canDrop","dropTagetAncestorIds","includes","nodeRenderer","createElement","handleNodeClick","rootId","defaultOpenNodeIds","onChangeOpen","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 type { FolderDto } from \"~/domain/folder/FolderDto.js\";\nimport { useGetFolderLevelPermission } from \"~/features/folders/getFolderLevelPermission/index.js\";\nimport { useListFoldersByParentIds } from \"~/features/folders/listFoldersByParentIds/index.js\";\nimport { useGetFolderAncestors } from \"~/features/folders/getFolderAncestors/index.js\";\nimport { useUpdateFolder } from \"~/features/folders/updateFolder/index.js\";\nimport { Node } from \"../Node/index.js\";\nimport { createInitialOpenList, createTreeData } from \"./utils.js\";\nimport { ROOT_FOLDER } from \"~/constants.js\";\nimport { FolderProvider } from \"~/contexts/folder.js\";\nimport { useConfirmMoveFolderDialog } from \"~/dialogs/index.js\";\nimport type { FolderActionConfig } from \"~/config/AcoConfig.js\";\n\ninterface ListProps {\n folders: FolderDto[];\n folderActions: FolderActionConfig[];\n dropConfirmation?: boolean;\n focusedFolderId?: string;\n hiddenFolderIds?: string[];\n enableActions?: boolean;\n onFolderClick: (data: FolderDto) => void;\n}\n\nexport const List = ({\n folders,\n folderActions,\n onFolderClick,\n focusedFolderId,\n hiddenFolderIds,\n enableActions,\n dropConfirmation = false\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<FolderDto>[]>([]);\n const [openFolderIds, setOpenFolderIds] = useState<string[]>([ROOT_FOLDER]);\n const { showDialog: showConfirmMoveFolderDialog } = useConfirmMoveFolderDialog();\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 onDrop = useCallback<NonNullable<TreeProps[\"onDrop\"]>>(\n async (newTree, options: DropOptions) => {\n // Function to execute the drop logic\n const runDrop = async () => handleDrop(newTree, options);\n\n // If drop confirmation is enabled, show dialog before proceeding\n if (dropConfirmation) {\n const { dragSourceId, dropTargetId } = options;\n const folder = folders.find(f => f.id === dragSourceId);\n const targetFolder = folders.find(f => f.id === dropTargetId);\n\n // Abort if either folder is not found\n if (!folder || !targetFolder) {\n return;\n }\n\n showConfirmMoveFolderDialog({\n folder,\n targetFolder,\n onAccept: runDrop\n });\n } else {\n // Otherwise, perform the drop immediately\n await runDrop();\n }\n },\n [folders, dropConfirmation, showConfirmMoveFolderDialog]\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<FolderDto>[\"canDrag\"] = useCallback(\n (node: NodeDto<FolderDto>) => node.id !== ROOT_FOLDER && canManageStructure(node.id),\n [canManageStructure]\n );\n\n const canDrop: TreeProps<FolderDto>[\"canDrop\"] = (_, options: DropOptions<FolderDto>) => {\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<FolderDto>[\"renderer\"] = node => {\n const folder = folders.find(folder => folder.id === node.id);\n return (\n <FolderProvider folder={folder}>\n <Node enableActions={enableActions} folderActions={folderActions} />\n </FolderProvider>\n );\n };\n\n const handleNodeClick = useCallback(\n (node: WithDefaultNodeData<FolderDto>) => {\n onFolderClick(node);\n },\n [onFolderClick]\n );\n\n return (\n <Tree<FolderDto>\n nodes={treeData}\n rootId={\"0\"}\n defaultOpenNodeIds={openFolderIds}\n onChangeOpen={handleChangeOpen}\n onDrop={onDrop}\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
+ {"version":3,"file":"components/FolderTree/List/List.js","sources":["../../../../src/components/FolderTree/List/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 type { FolderDto } from \"~/domain/folder/FolderDto.js\";\nimport { useGetFolderLevelPermission } from \"~/features/folders/getFolderLevelPermission/index.js\";\nimport { useListFoldersByParentIds } from \"~/features/folders/listFoldersByParentIds/index.js\";\nimport { useGetFolderAncestors } from \"~/features/folders/getFolderAncestors/index.js\";\nimport { useUpdateFolder } from \"~/features/folders/updateFolder/index.js\";\nimport { Node } from \"../Node/index.js\";\nimport { createInitialOpenList, createTreeData } from \"./utils.js\";\nimport { ROOT_FOLDER } from \"~/constants.js\";\nimport { FolderProvider } from \"~/contexts/folder.js\";\nimport { useConfirmMoveFolderDialog } from \"~/dialogs/index.js\";\nimport type { FolderActionConfig } from \"~/config/AcoConfig.js\";\n\ninterface ListProps {\n folders: FolderDto[];\n folderActions: FolderActionConfig[];\n dropConfirmation?: boolean;\n focusedFolderId?: string;\n hiddenFolderIds?: string[];\n enableActions?: boolean;\n onFolderClick: (data: FolderDto) => void;\n}\n\nexport const List = ({\n folders,\n folderActions,\n onFolderClick,\n focusedFolderId,\n hiddenFolderIds,\n enableActions,\n dropConfirmation = false\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<FolderDto>[]>([]);\n const [openFolderIds, setOpenFolderIds] = useState<string[]>([ROOT_FOLDER]);\n const { showDialog: showConfirmMoveFolderDialog } = useConfirmMoveFolderDialog();\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 onDrop = useCallback<NonNullable<TreeProps[\"onDrop\"]>>(\n async (newTree, options: DropOptions) => {\n // Function to execute the drop logic\n const runDrop = async () => handleDrop(newTree, options);\n\n // If drop confirmation is enabled, show dialog before proceeding\n if (dropConfirmation) {\n const { dragSourceId, dropTargetId } = options;\n const folder = folders.find(f => f.id === dragSourceId);\n const targetFolder = folders.find(f => f.id === dropTargetId);\n\n // Abort if either folder is not found\n if (!folder || !targetFolder) {\n return;\n }\n\n showConfirmMoveFolderDialog({\n folder,\n targetFolder,\n onAccept: runDrop\n });\n } else {\n // Otherwise, perform the drop immediately\n await runDrop();\n }\n },\n [folders, dropConfirmation, showConfirmMoveFolderDialog]\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<FolderDto>[\"canDrag\"] = useCallback(\n (node: NodeDto<FolderDto>) => node.id !== ROOT_FOLDER && canManageStructure(node.id),\n [canManageStructure]\n );\n\n const canDrop: TreeProps<FolderDto>[\"canDrop\"] = (_, options: DropOptions<FolderDto>) => {\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<FolderDto>[\"renderer\"] = node => {\n const folder = folders.find(folder => folder.id === node.id);\n return (\n <FolderProvider folder={folder}>\n <Node enableActions={enableActions} folderActions={folderActions} />\n </FolderProvider>\n );\n };\n\n const handleNodeClick = useCallback(\n (node: WithDefaultNodeData<FolderDto>) => {\n onFolderClick(node);\n },\n [onFolderClick]\n );\n\n return (\n <Tree<FolderDto>\n nodes={treeData}\n rootId={\"0\"}\n defaultOpenNodeIds={openFolderIds}\n onChangeOpen={handleChangeOpen}\n onDrop={onDrop}\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"],"names":["List","folders","folderActions","onFolderClick","focusedFolderId","hiddenFolderIds","enableActions","dropConfirmation","listFoldersByParentIds","loading","useListFoldersByParentIds","updateFolder","useUpdateFolder","canManageStructure","useGetFolderLevelPermission","getFolderAncestors","useGetFolderAncestors","showSnackbar","useSnackbar","treeData","setTreeData","useState","openFolderIds","setOpenFolderIds","ROOT_FOLDER","showConfirmMoveFolderDialog","useConfirmMoveFolderDialog","useEffect","createTreeData","prev","expanded","createInitialOpenList","Set","handleChangeOpen","nodes","folderIds","node","updatedOpenIds","fetchableIds","id","handleDrop","_","dragSourceId","dropTargetId","item","folder","Error","error","onDrop","useCallback","newTree","options","runDrop","f","targetFolder","sort","useMemo","a","b","undefined","canDrag","canDrop","dropTagetAncestorIds","nodeRenderer","FolderProvider","Node","handleNodeClick","Tree"],"mappings":"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"}
@@ -1,3 +1 @@
1
1
  export * from "./List.js";
2
-
3
- //# sourceMappingURL=index.js.map
@@ -1,69 +1,36 @@
1
1
  import { ROOT_FOLDER } from "../../../constants.js";
2
- /**
3
- * Transform an array of folders returned by folders cache into an array of elements for the tree component.
4
- *
5
- * @param folders list of folders returned by folders cache.
6
- * @param focusedNodeId id of the current folder selected/focused.
7
- * @param hiddenFolderIds list ids of the folder you don't want to show within the list.
8
- * @return array of elements to render the tree component.
9
- */
10
- export const createTreeData = (folders = [], focusedNodeId, hiddenFolderIds = []) => {
11
- return folders.map(item => {
12
- const {
13
- id,
14
- parentId,
15
- title
16
- } = item;
17
- return {
18
- id,
19
- // toLowerCase() fixes a bug introduced by 5.36.0: accidentally we stored "ROOT" as parentId, instead of null
20
- parentId: parentId?.toLowerCase() || ROOT_FOLDER,
21
- label: title,
22
- droppable: true,
23
- active: focusedNodeId === id
24
- };
25
- }).filter(item => !hiddenFolderIds.includes(item.id));
26
- };
27
-
28
- /**
29
- * Return an array of ids of open folders, based on the current focused folder id, its parent folders and the folders
30
- * opened by user interaction.
31
- *
32
- * @param folders list of folders returned by folders cache.
33
- * @param openIds list of open folders ids.
34
- * @param focusedId id of the current folder selected/focused.
35
- * @return array of ids of open folders.
36
- */
37
- export const createInitialOpenList = (folders = [], openIds = [], focusedId) => {
38
- // There is always a root folder, opened by default
39
- if (!focusedId) {
40
- return openIds;
41
- }
42
-
43
- // Create a map for quick folder lookup by id
44
- const folderMap = new Map(folders.map(folder => [folder.id, folder]));
45
- // Store the chain of folder ids from the focused folder up to the root
46
- const result = [];
47
- let currentId = focusedId;
48
-
49
- // Traverse up the folder tree, collecting parent ids
50
- while (currentId) {
51
- // Add the current folder id if not already in the result
52
- if (!result.includes(currentId)) {
53
- result.push(currentId);
54
- }
55
- // Get the folder object for the current id
56
- const folder = folderMap.get(currentId);
57
- // Get the parent id of the current folder
58
- const parentId = folder?.parentId;
59
- // Stop if there is no parent or we've already added this parent
60
- if (!parentId || result.includes(parentId)) {
61
- break;
2
+ const createTreeData = (folders = [], focusedNodeId, hiddenFolderIds = [])=>folders.map((item)=>{
3
+ const { id, parentId, title } = item;
4
+ return {
5
+ id,
6
+ parentId: parentId?.toLowerCase() || ROOT_FOLDER,
7
+ label: title,
8
+ droppable: true,
9
+ active: focusedNodeId === id
10
+ };
11
+ }).filter((item)=>!hiddenFolderIds.includes(item.id));
12
+ const createInitialOpenList = (folders = [], openIds = [], focusedId)=>{
13
+ if (!focusedId) return openIds;
14
+ const folderMap = new Map(folders.map((folder)=>[
15
+ folder.id,
16
+ folder
17
+ ]));
18
+ const result = [];
19
+ let currentId = focusedId;
20
+ while(currentId){
21
+ if (!result.includes(currentId)) result.push(currentId);
22
+ const folder = folderMap.get(currentId);
23
+ const parentId = folder?.parentId;
24
+ if (!parentId || result.includes(parentId)) break;
25
+ currentId = parentId;
62
26
  }
63
- // Move up to the parent folder
64
- currentId = parentId;
65
- }
66
- return [...new Set([...result, ...openIds])];
27
+ return [
28
+ ...new Set([
29
+ ...result,
30
+ ...openIds
31
+ ])
32
+ ];
67
33
  };
34
+ export { createInitialOpenList, createTreeData };
68
35
 
69
36
  //# sourceMappingURL=utils.js.map
@@ -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 { ROOT_FOLDER } from \"~/constants.js\";\nimport type { NodeDto } from \"@webiny/admin-ui\";\nimport type { FolderDto } from \"~/domain/folder/FolderDto.js\";\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: FolderDto[] = [],\n focusedNodeId?: string,\n hiddenFolderIds: string[] = []\n): NodeDto<FolderDto>[] => {\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: FolderDto[] = [],\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 FolderDto | 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":"AAAA,SAASA,WAAW;AAIpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,cAAc,GAAGA,CAC1BC,OAAoB,GAAG,EAAE,EACzBC,aAAsB,EACtBC,eAAyB,GAAG,EAAE,KACP;EACvB,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,OAAoB,GAAG,EAAE,EACzBe,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,CAA0B;IAChE;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,"file":"components/FolderTree/List/utils.js","sources":["../../../../src/components/FolderTree/List/utils.ts"],"sourcesContent":["import { ROOT_FOLDER } from \"~/constants.js\";\nimport type { NodeDto } from \"@webiny/admin-ui\";\nimport type { FolderDto } from \"~/domain/folder/FolderDto.js\";\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: FolderDto[] = [],\n focusedNodeId?: string,\n hiddenFolderIds: string[] = []\n): NodeDto<FolderDto>[] => {\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: FolderDto[] = [],\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 FolderDto | 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"],"names":["createTreeData","folders","focusedNodeId","hiddenFolderIds","item","id","parentId","title","ROOT_FOLDER","createInitialOpenList","openIds","focusedId","folderMap","Map","folder","result","currentId","Set"],"mappings":";AAYO,MAAMA,iBAAiB,CAC1BC,UAAuB,EAAE,EACzBC,eACAC,kBAA4B,EAAE,GAEvBF,QACF,GAAG,CAACG,CAAAA;QACD,MAAM,EAAEC,EAAE,EAAEC,QAAQ,EAAEC,KAAK,EAAE,GAAGH;QAEhC,OAAO;YACHC;YAEA,UAAUC,UAAU,iBAAiBE;YACrC,OAAOD;YACP,WAAW;YACX,QAAQL,kBAAkBG;QAC9B;IACJ,GACC,MAAM,CAACD,CAAAA,OAAQ,CAACD,gBAAgB,QAAQ,CAACC,KAAK,EAAE;AAYlD,MAAMK,wBAAwB,CACjCR,UAAuB,EAAE,EACzBS,UAAoB,EAAE,EACtBC;IAGA,IAAI,CAACA,WACD,OAAOD;IAIX,MAAME,YAAY,IAAIC,IAAIZ,QAAQ,GAAG,CAACa,CAAAA,SAAU;YAACA,OAAO,EAAE;YAAEA;SAAO;IAEnE,MAAMC,SAAmB,EAAE;IAE3B,IAAIC,YAAgCL;IAGpC,MAAOK,UAAW;QAEd,IAAI,CAACD,OAAO,QAAQ,CAACC,YACjBD,OAAO,IAAI,CAACC;QAGhB,MAAMF,SAASF,UAAU,GAAG,CAACI;QAE7B,MAAMV,WAAWQ,QAAQ;QAEzB,IAAI,CAACR,YAAYS,OAAO,QAAQ,CAACT,WAC7B;QAGJU,YAAYV;IAChB;IAEA,OAAO;WAAI,IAAIW,IAAI;eAAIF;eAAWL;SAAQ;KAAE;AAChD"}
@@ -1,22 +1,19 @@
1
- import React from "react";
1
+ import react from "react";
2
2
  import { Skeleton } from "@webiny/admin-ui";
3
- export const Loader = ({
4
- count = 4
5
- }) => {
6
- const lines = Array.from({
7
- length: count
8
- });
9
- return /*#__PURE__*/React.createElement("div", {
10
- className: "my-md p-xs"
11
- }, lines.map((_, index) => {
12
- return /*#__PURE__*/React.createElement("div", {
13
- key: `folder-skeleton-${index}`,
14
- className: "mb-xs px-sm py-xs-plus"
15
- }, /*#__PURE__*/React.createElement(Skeleton, {
16
- type: "text",
17
- size: "md"
18
- }));
19
- }));
3
+ const Loader = ({ count = 4 })=>{
4
+ const lines = Array.from({
5
+ length: count
6
+ });
7
+ return /*#__PURE__*/ react.createElement("div", {
8
+ className: "my-md p-xs"
9
+ }, lines.map((_, index)=>/*#__PURE__*/ react.createElement("div", {
10
+ key: `folder-skeleton-${index}`,
11
+ className: "mb-xs px-sm py-xs-plus"
12
+ }, /*#__PURE__*/ react.createElement(Skeleton, {
13
+ type: "text",
14
+ size: "md"
15
+ }))));
20
16
  };
17
+ export { Loader };
21
18
 
22
19
  //# sourceMappingURL=Loader.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","Skeleton","Loader","count","lines","Array","from","length","createElement","className","map","_","index","key","type","size"],"sources":["Loader.tsx"],"sourcesContent":["import React from \"react\";\nimport { Skeleton } from \"@webiny/admin-ui\";\n\ninterface LoaderProps {\n count?: number;\n}\n\nexport const Loader = ({ count = 4 }: LoaderProps) => {\n const lines = Array.from({ length: count });\n\n return (\n <div className={\"my-md p-xs\"}>\n {lines.map((_, index) => {\n return (\n <div key={`folder-skeleton-${index}`} className={\"mb-xs px-sm py-xs-plus\"}>\n <Skeleton type={\"text\"} size={\"md\"} />\n </div>\n );\n })}\n </div>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,QAAQ,kBAAkB;AAM3C,OAAO,MAAMC,MAAM,GAAGA,CAAC;EAAEC,KAAK,GAAG;AAAe,CAAC,KAAK;EAClD,MAAMC,KAAK,GAAGC,KAAK,CAACC,IAAI,CAAC;IAAEC,MAAM,EAAEJ;EAAM,CAAC,CAAC;EAE3C,oBACIH,KAAA,CAAAQ,aAAA;IAAKC,SAAS,EAAE;EAAa,GACxBL,KAAK,CAACM,GAAG,CAAC,CAACC,CAAC,EAAEC,KAAK,KAAK;IACrB,oBACIZ,KAAA,CAAAQ,aAAA;MAAKK,GAAG,EAAE,mBAAmBD,KAAK,EAAG;MAACH,SAAS,EAAE;IAAyB,gBACtET,KAAA,CAAAQ,aAAA,CAACP,QAAQ;MAACa,IAAI,EAAE,MAAO;MAACC,IAAI,EAAE;IAAK,CAAE,CACpC,CAAC;EAEd,CAAC,CACA,CAAC;AAEd,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"components/FolderTree/Loader/Loader.js","sources":["../../../../src/components/FolderTree/Loader/Loader.tsx"],"sourcesContent":["import React from \"react\";\nimport { Skeleton } from \"@webiny/admin-ui\";\n\ninterface LoaderProps {\n count?: number;\n}\n\nexport const Loader = ({ count = 4 }: LoaderProps) => {\n const lines = Array.from({ length: count });\n\n return (\n <div className={\"my-md p-xs\"}>\n {lines.map((_, index) => {\n return (\n <div key={`folder-skeleton-${index}`} className={\"mb-xs px-sm py-xs-plus\"}>\n <Skeleton type={\"text\"} size={\"md\"} />\n </div>\n );\n })}\n </div>\n );\n};\n"],"names":["Loader","count","lines","Array","_","index","Skeleton"],"mappings":";;AAOO,MAAMA,SAAS,CAAC,EAAEC,QAAQ,CAAC,EAAe;IAC7C,MAAMC,QAAQC,MAAM,IAAI,CAAC;QAAE,QAAQF;IAAM;IAEzC,OAAO,WAAP,GACI,oBAAC;QAAI,WAAW;OACXC,MAAM,GAAG,CAAC,CAACE,GAAGC,QACJ,WAAP,GACI,oBAAC;YAAI,KAAK,CAAC,gBAAgB,EAAEA,OAAO;YAAE,WAAW;yBAC7C,oBAACC,UAAQA;YAAC,MAAM;YAAQ,MAAM;;AAMtD"}
@@ -1,3 +1 @@
1
1
  export * from "./Loader.js";
2
-
3
- //# sourceMappingURL=index.js.map
@@ -1,32 +1,24 @@
1
- import React from "react";
1
+ import react from "react";
2
2
  import { OptionsMenu } from "@webiny/app-admin";
3
- import { cn, IconButton } from "@webiny/admin-ui";
4
- import { ReactComponent as MoreVerticalIcon } from "@webiny/icons/more_vert.svg";
3
+ import { IconButton, cn } from "@webiny/admin-ui";
4
+ import { ReactComponent } from "@webiny/icons/more_vert.svg";
5
5
  import { useFolder } from "../../../hooks/index.js";
6
- export const MenuActions = ({
7
- folderActions
8
- }) => {
9
- const {
10
- folder
11
- } = useFolder();
12
-
13
- // If the user cannot manage folder structure, no need to show the menu.
14
- if (!folder.canManageStructure) {
15
- return null;
16
- }
17
- return /*#__PURE__*/React.createElement("div", {
18
- // Let's stop click event propagation, otherwise opening the OptionsMenu event will propagate up to the main Tree Item
19
- onClick: e => e.stopPropagation(),
20
- className: cn("invisible group-hover:visible", "size-md cursor-pointer", "absolute top-1/2 right-sm -translate-y-1/2")
21
- }, /*#__PURE__*/React.createElement(OptionsMenu, {
22
- trigger: /*#__PURE__*/React.createElement(IconButton, {
23
- icon: /*#__PURE__*/React.createElement(MoreVerticalIcon, null),
24
- size: "xs",
25
- variant: "ghost"
26
- }),
27
- actions: folderActions,
28
- "data-testid": "folder.tree.menu-action"
29
- }));
6
+ const MenuActions = ({ folderActions })=>{
7
+ const { folder } = useFolder();
8
+ if (!folder.canManageStructure) return null;
9
+ return /*#__PURE__*/ react.createElement("div", {
10
+ onClick: (e)=>e.stopPropagation(),
11
+ className: cn("invisible group-hover:visible", "size-md cursor-pointer", "absolute top-1/2 right-sm -translate-y-1/2")
12
+ }, /*#__PURE__*/ react.createElement(OptionsMenu, {
13
+ trigger: /*#__PURE__*/ react.createElement(IconButton, {
14
+ icon: /*#__PURE__*/ react.createElement(ReactComponent, null),
15
+ size: "xs",
16
+ variant: "ghost"
17
+ }),
18
+ actions: folderActions,
19
+ "data-testid": "folder.tree.menu-action"
20
+ }));
30
21
  };
22
+ export { MenuActions };
31
23
 
32
24
  //# sourceMappingURL=MenuActions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","OptionsMenu","cn","IconButton","ReactComponent","MoreVerticalIcon","useFolder","MenuActions","folderActions","folder","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 type { FolderActionConfig } from \"~/config/index.js\";\nimport { useFolder } from \"~/hooks/index.js\";\n\ninterface MenuActionsProps {\n folderActions: FolderActionConfig[];\n}\n\nexport const MenuActions = ({ folderActions }: MenuActionsProps) => {\n const { folder } = useFolder();\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 \"invisible group-hover:visible\",\n \"size-md cursor-pointer\",\n \"absolute top-1/2 right-sm -translate-y-1/2\"\n )}\n >\n <OptionsMenu\n trigger={<IconButton icon={<MoreVerticalIcon />} size={\"xs\"} variant={\"ghost\"} />}\n actions={folderActions}\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;AAEhF,SAASC,SAAS;AAMlB,OAAO,MAAMC,WAAW,GAAGA,CAAC;EAAEC;AAAgC,CAAC,KAAK;EAChE,MAAM;IAAEC;EAAO,CAAC,GAAGH,SAAS,CAAC,CAAC;;EAE9B;EACA,IAAI,CAACG,MAAM,CAACC,kBAAkB,EAAE;IAC5B,OAAO,IAAI;EACf;EAEA,oBACIV,KAAA,CAAAW,aAAA;IACI;IACAC,OAAO,EAAEC,CAAC,IAAIA,CAAC,CAACC,eAAe,CAAC,CAAE;IAClCC,SAAS,EAAEb,EAAE,CACT,+BAA+B,EAC/B,wBAAwB,EACxB,6CACJ;EAAE,gBAEFF,KAAA,CAAAW,aAAA,CAACV,WAAW;IACRe,OAAO,eAAEhB,KAAA,CAAAW,aAAA,CAACR,UAAU;MAACc,IAAI,eAAEjB,KAAA,CAAAW,aAAA,CAACN,gBAAgB,MAAE,CAAE;MAACa,IAAI,EAAE,IAAK;MAACC,OAAO,EAAE;IAAQ,CAAE,CAAE;IAClFC,OAAO,EAAEZ,aAAc;IACvB,eAAa;EAA0B,CAC1C,CACA,CAAC;AAEd,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"components/FolderTree/MenuActions/MenuActions.js","sources":["../../../../src/components/FolderTree/MenuActions/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 type { FolderActionConfig } from \"~/config/index.js\";\nimport { useFolder } from \"~/hooks/index.js\";\n\ninterface MenuActionsProps {\n folderActions: FolderActionConfig[];\n}\n\nexport const MenuActions = ({ folderActions }: MenuActionsProps) => {\n const { folder } = useFolder();\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 \"invisible group-hover:visible\",\n \"size-md cursor-pointer\",\n \"absolute top-1/2 right-sm -translate-y-1/2\"\n )}\n >\n <OptionsMenu\n trigger={<IconButton icon={<MoreVerticalIcon />} size={\"xs\"} variant={\"ghost\"} />}\n actions={folderActions}\n data-testid={\"folder.tree.menu-action\"}\n />\n </div>\n );\n};\n"],"names":["MenuActions","folderActions","folder","useFolder","e","cn","OptionsMenu","IconButton","MoreVerticalIcon"],"mappings":";;;;;AAWO,MAAMA,cAAc,CAAC,EAAEC,aAAa,EAAoB;IAC3D,MAAM,EAAEC,MAAM,EAAE,GAAGC;IAGnB,IAAI,CAACD,OAAO,kBAAkB,EAC1B,OAAO;IAGX,OAAO,WAAP,GACI,oBAAC;QAEG,SAASE,CAAAA,IAAKA,EAAE,eAAe;QAC/B,WAAWC,GACP,iCACA,0BACA;qBAGJ,oBAACC,aAAWA;QACR,uBAAS,oBAACC,YAAUA;YAAC,oBAAM,oBAACC,gBAAgBA;YAAK,MAAM;YAAM,SAAS;;QACtE,SAASP;QACT,eAAa;;AAI7B"}
@@ -1,3 +1 @@
1
1
  export * from "./MenuActions.js";
2
-
3
- //# sourceMappingURL=index.js.map