@webiny/app-aco 0.0.0-unstable.e6f0dc8ca7 → 0.0.0-unstable.eb81deee7e

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 (735) hide show
  1. package/app.js +7 -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.d.ts +2 -2
  14. package/components/AdvancedSearch/AdvancedSearch.js +67 -75
  15. package/components/AdvancedSearch/AdvancedSearch.js.map +1 -1
  16. package/components/AdvancedSearch/AdvancedSearchConfigs.js +37 -40
  17. package/components/AdvancedSearch/AdvancedSearchConfigs.js.map +1 -1
  18. package/components/AdvancedSearch/AdvancedSearchPresenter.js +178 -199
  19. package/components/AdvancedSearch/AdvancedSearchPresenter.js.map +1 -1
  20. package/components/AdvancedSearch/AdvancedSearchPresenter.test.js +653 -720
  21. package/components/AdvancedSearch/AdvancedSearchPresenter.test.js.map +1 -1
  22. package/components/AdvancedSearch/Button/Button.js +13 -16
  23. package/components/AdvancedSearch/Button/Button.js.map +1 -1
  24. package/components/AdvancedSearch/Button/index.js +0 -2
  25. package/components/AdvancedSearch/GraphQLInputMapper.js +29 -40
  26. package/components/AdvancedSearch/GraphQLInputMapper.js.map +1 -1
  27. package/components/AdvancedSearch/GraphQLInputMapper.test.js +179 -139
  28. package/components/AdvancedSearch/GraphQLInputMapper.test.js.map +1 -1
  29. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/QueryBuilder.js +57 -58
  30. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/QueryBuilder.js.map +1 -1
  31. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Details.js +25 -26
  32. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Details.js.map +1 -1
  33. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Filter.js +51 -71
  34. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Filter.js.map +1 -1
  35. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/FilterOperationLabel.js +9 -13
  36. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/FilterOperationLabel.js.map +1 -1
  37. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/GroupOperationLabel.js +14 -14
  38. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/GroupOperationLabel.js.map +1 -1
  39. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/InputField.js +11 -20
  40. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/InputField.js.map +1 -1
  41. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/OperationSelector.js +15 -25
  42. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/OperationSelector.js.map +1 -1
  43. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddFilter.js +14 -17
  44. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddFilter.js.map +1 -1
  45. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddGroup.js +11 -14
  46. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddGroup.js.map +1 -1
  47. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/RemoveFilter.js +14 -18
  48. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/RemoveFilter.js.map +1 -1
  49. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/index.js +0 -2
  50. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/index.js +0 -2
  51. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/index.js +0 -2
  52. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.d.ts +2 -2
  53. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.js +65 -67
  54. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.js.map +1 -1
  55. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.js +110 -139
  56. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.js.map +1 -1
  57. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.test.js +345 -328
  58. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.test.js.map +1 -1
  59. package/components/AdvancedSearch/QueryBuilderDrawer/index.js +0 -2
  60. package/components/AdvancedSearch/QueryManagerDialog/QueryManagerDialog.js +23 -27
  61. package/components/AdvancedSearch/QueryManagerDialog/QueryManagerDialog.js.map +1 -1
  62. package/components/AdvancedSearch/QueryManagerDialog/components/Description.js +8 -10
  63. package/components/AdvancedSearch/QueryManagerDialog/components/Description.js.map +1 -1
  64. package/components/AdvancedSearch/QueryManagerDialog/components/Empty.js +16 -17
  65. package/components/AdvancedSearch/QueryManagerDialog/components/Empty.js.map +1 -1
  66. package/components/AdvancedSearch/QueryManagerDialog/components/FilterList.js +41 -42
  67. package/components/AdvancedSearch/QueryManagerDialog/components/FilterList.js.map +1 -1
  68. package/components/AdvancedSearch/QueryManagerDialog/components/index.js +0 -2
  69. package/components/AdvancedSearch/QueryManagerDialog/index.js +0 -2
  70. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.js +52 -59
  71. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.js.map +1 -1
  72. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.js +39 -52
  73. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.js.map +1 -1
  74. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.test.js +58 -66
  75. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.test.js.map +1 -1
  76. package/components/AdvancedSearch/QuerySaverDialog/index.js +0 -2
  77. package/components/AdvancedSearch/SelectedFilter/SelectedFilter.js +18 -19
  78. package/components/AdvancedSearch/SelectedFilter/SelectedFilter.js.map +1 -1
  79. package/components/AdvancedSearch/SelectedFilter/index.js +0 -2
  80. package/components/AdvancedSearch/domain/Feedback.js +12 -11
  81. package/components/AdvancedSearch/domain/Feedback.js.map +1 -1
  82. package/components/AdvancedSearch/domain/Field.js +206 -190
  83. package/components/AdvancedSearch/domain/Field.js.map +1 -1
  84. package/components/AdvancedSearch/domain/FieldMapper.js +40 -41
  85. package/components/AdvancedSearch/domain/FieldMapper.js.map +1 -1
  86. package/components/AdvancedSearch/domain/Filter.d.ts +1 -1
  87. package/components/AdvancedSearch/domain/Filter.js +64 -47
  88. package/components/AdvancedSearch/domain/Filter.js.map +1 -1
  89. package/components/AdvancedSearch/domain/FilterMapper.js +35 -34
  90. package/components/AdvancedSearch/domain/FilterMapper.js.map +1 -1
  91. package/components/AdvancedSearch/domain/FilterRepository.js +84 -85
  92. package/components/AdvancedSearch/domain/FilterRepository.js.map +1 -1
  93. package/components/AdvancedSearch/domain/FilterRepositoryFactory.d.ts +2 -2
  94. package/components/AdvancedSearch/domain/FilterRepositoryFactory.js +8 -9
  95. package/components/AdvancedSearch/domain/FilterRepositoryFactory.js.map +1 -1
  96. package/components/AdvancedSearch/domain/Loading.js +47 -46
  97. package/components/AdvancedSearch/domain/Loading.js.map +1 -1
  98. package/components/AdvancedSearch/domain/Operation.js +5 -4
  99. package/components/AdvancedSearch/domain/Operation.js.map +1 -1
  100. package/components/AdvancedSearch/domain/Sorter.js +17 -16
  101. package/components/AdvancedSearch/domain/Sorter.js.map +1 -1
  102. package/components/AdvancedSearch/domain/index.js +0 -2
  103. package/components/AdvancedSearch/fields/Boolean.js +23 -25
  104. package/components/AdvancedSearch/fields/Boolean.js.map +1 -1
  105. package/components/AdvancedSearch/fields/DateWithTimezone.js +47 -52
  106. package/components/AdvancedSearch/fields/DateWithTimezone.js.map +1 -1
  107. package/components/AdvancedSearch/fields/DateWithoutTimezone.js +26 -30
  108. package/components/AdvancedSearch/fields/DateWithoutTimezone.js.map +1 -1
  109. package/components/AdvancedSearch/fields/Input.js +12 -14
  110. package/components/AdvancedSearch/fields/Input.js.map +1 -1
  111. package/components/AdvancedSearch/fields/PredefinedValues.js +17 -23
  112. package/components/AdvancedSearch/fields/PredefinedValues.js.map +1 -1
  113. package/components/AdvancedSearch/fields/index.js +0 -2
  114. package/components/AdvancedSearch/gateways/FiltersGatewayInterface.js +0 -3
  115. package/components/AdvancedSearch/gateways/FiltersGraphQLGateway.d.ts +2 -2
  116. package/components/AdvancedSearch/gateways/FiltersGraphQLGateway.js +68 -121
  117. package/components/AdvancedSearch/gateways/FiltersGraphQLGateway.js.map +1 -1
  118. package/components/AdvancedSearch/gateways/filters.gql.d.ts +5 -5
  119. package/components/AdvancedSearch/gateways/filters.gql.js +8 -8
  120. package/components/AdvancedSearch/gateways/filters.gql.js.map +1 -1
  121. package/components/AdvancedSearch/gateways/filters.types.js +0 -3
  122. package/components/AdvancedSearch/gateways/index.js +0 -2
  123. package/components/AdvancedSearch/index.js +22 -24
  124. package/components/AdvancedSearch/index.js.map +1 -1
  125. package/components/AdvancedSearch/useFilterRepository.js +10 -4
  126. package/components/AdvancedSearch/useFilterRepository.js.map +1 -1
  127. package/components/AdvancedSearch/useInputField.js +4 -6
  128. package/components/AdvancedSearch/useInputField.js.map +1 -1
  129. package/components/FolderGrid/FolderGridItem.js +67 -62
  130. package/components/FolderGrid/FolderGridItem.js.map +1 -1
  131. package/components/FolderGrid/index.js +0 -2
  132. package/components/FolderIcons/assets/folder-shared-icon.js +25 -0
  133. package/components/FolderIcons/assets/folder-shared-icon.js.map +1 -0
  134. package/components/FolderIcons/assets/folder.js +21 -0
  135. package/components/FolderIcons/assets/folder.js.map +1 -0
  136. package/components/FolderIcons/index.js +2 -5
  137. package/components/FolderPicker/FolderPicker.js +23 -20
  138. package/components/FolderPicker/FolderPicker.js.map +1 -1
  139. package/components/FolderTree/ButtonCreate/ButtonCreate.d.ts +1 -0
  140. package/components/FolderTree/ButtonCreate/ButtonCreate.js +17 -14
  141. package/components/FolderTree/ButtonCreate/ButtonCreate.js.map +1 -1
  142. package/components/FolderTree/ButtonCreate/index.js +0 -2
  143. package/components/FolderTree/Empty/Empty.js +5 -6
  144. package/components/FolderTree/Empty/Empty.js.map +1 -1
  145. package/components/FolderTree/Empty/index.js +0 -2
  146. package/components/FolderTree/List/List.js +128 -135
  147. package/components/FolderTree/List/List.js.map +1 -1
  148. package/components/FolderTree/List/index.js +0 -2
  149. package/components/FolderTree/List/utils.js +31 -64
  150. package/components/FolderTree/List/utils.js.map +1 -1
  151. package/components/FolderTree/Loader/Loader.js +15 -18
  152. package/components/FolderTree/Loader/Loader.js.map +1 -1
  153. package/components/FolderTree/Loader/index.js +0 -2
  154. package/components/FolderTree/MenuActions/MenuActions.js +19 -27
  155. package/components/FolderTree/MenuActions/MenuActions.js.map +1 -1
  156. package/components/FolderTree/MenuActions/index.js +0 -2
  157. package/components/FolderTree/Node/Node.js +27 -47
  158. package/components/FolderTree/Node/Node.js.map +1 -1
  159. package/components/FolderTree/Node/index.js +0 -2
  160. package/components/FolderTree/NodePreview/NodePreview.js +11 -14
  161. package/components/FolderTree/NodePreview/NodePreview.js.map +1 -1
  162. package/components/FolderTree/NodePreview/index.js +0 -2
  163. package/components/FolderTree/index.d.ts +2 -1
  164. package/components/FolderTree/index.js +47 -57
  165. package/components/FolderTree/index.js.map +1 -1
  166. package/components/Search/Search.js +15 -20
  167. package/components/Search/Search.js.map +1 -1
  168. package/components/Search/index.js +0 -2
  169. package/components/Table/cells/CellAuthor.d.ts +2 -0
  170. package/components/Table/cells/CellAuthor.js +10 -0
  171. package/components/Table/cells/CellAuthor.js.map +1 -0
  172. package/components/Table/cells/CellCreated.d.ts +2 -0
  173. package/components/Table/cells/CellCreated.js +13 -0
  174. package/components/Table/cells/CellCreated.js.map +1 -0
  175. package/components/Table/cells/CellModified.d.ts +2 -0
  176. package/components/Table/cells/CellModified.js +13 -0
  177. package/components/Table/cells/CellModified.js.map +1 -0
  178. package/components/Table/cells/index.d.ts +3 -0
  179. package/components/Table/cells/index.js +3 -0
  180. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityDecorator.js +19 -20
  181. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityDecorator.js.map +1 -1
  182. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.js +17 -18
  183. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.js.map +1 -1
  184. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.test.js +113 -130
  185. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.test.js.map +1 -1
  186. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepository.js +26 -25
  187. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepository.js.map +1 -1
  188. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepositoryFactory.js +12 -11
  189. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepositoryFactory.js.map +1 -1
  190. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityUpdater.js +11 -12
  191. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityUpdater.js.map +1 -1
  192. package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityRepository.js +0 -3
  193. package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityUpdater.js +0 -3
  194. package/components/Table/components/Table/ColumnVisibility/index.js +0 -2
  195. package/components/Table/components/Table/Columns/Column.js +18 -17
  196. package/components/Table/components/Table/Columns/Column.js.map +1 -1
  197. package/components/Table/components/Table/Columns/ColumnMapper.js +31 -31
  198. package/components/Table/components/Table/Columns/ColumnMapper.js.map +1 -1
  199. package/components/Table/components/Table/Columns/ColumnsPresenter.js +14 -13
  200. package/components/Table/components/Table/Columns/ColumnsPresenter.js.map +1 -1
  201. package/components/Table/components/Table/Columns/ColumnsPresenter.test.js +66 -60
  202. package/components/Table/components/Table/Columns/ColumnsPresenter.test.js.map +1 -1
  203. package/components/Table/components/Table/Columns/ColumnsRepository.js +15 -14
  204. package/components/Table/components/Table/Columns/ColumnsRepository.js.map +1 -1
  205. package/components/Table/components/Table/Columns/ColumnsRepositoryFactory.js +15 -11
  206. package/components/Table/components/Table/Columns/ColumnsRepositoryFactory.js.map +1 -1
  207. package/components/Table/components/Table/Columns/IColumnsRepository.js +0 -3
  208. package/components/Table/components/Table/Columns/index.js +0 -2
  209. package/components/Table/components/Table/Table.js +38 -32
  210. package/components/Table/components/Table/Table.js.map +1 -1
  211. package/components/Table/components/Table/TableInner.d.ts +2 -2
  212. package/components/Table/components/Table/TableInner.js +33 -40
  213. package/components/Table/components/Table/TableInner.js.map +1 -1
  214. package/components/Table/components/Table/TablePresenter.js +12 -9
  215. package/components/Table/components/Table/TablePresenter.js.map +1 -1
  216. package/components/Table/components/Table/gateways/ColumnsVisibilityLocalStorageGateway.js +12 -11
  217. package/components/Table/components/Table/gateways/ColumnsVisibilityLocalStorageGateway.js.map +1 -1
  218. package/components/Table/components/Table/gateways/IColumnsVisibilityGateway.js +0 -3
  219. package/components/Table/components/Table/gateways/index.js +0 -2
  220. package/components/Table/components/Table/index.js +0 -2
  221. package/components/Table/components/index.js +0 -2
  222. package/components/Table/createTableData.d.ts +7 -5
  223. package/components/Table/createTableData.js +27 -15
  224. package/components/Table/createTableData.js.map +1 -1
  225. package/components/Table/index.d.ts +2 -2
  226. package/components/Table/index.js +2 -4
  227. package/components/Table/useTableRow.js +17 -29
  228. package/components/Table/useTableRow.js.map +1 -1
  229. package/components/index.d.ts +0 -1
  230. package/components/index.js +0 -3
  231. package/config/AcoConfig.d.ts +8 -12
  232. package/config/AcoConfig.js +43 -30
  233. package/config/AcoConfig.js.map +1 -1
  234. package/config/advanced-search/FieldRenderer.d.ts +3 -1
  235. package/config/advanced-search/FieldRenderer.js +27 -30
  236. package/config/advanced-search/FieldRenderer.js.map +1 -1
  237. package/config/advanced-search/index.js +3 -2
  238. package/config/advanced-search/index.js.map +1 -1
  239. package/config/folder/Action.d.ts +1 -1
  240. package/config/folder/Action.js +27 -32
  241. package/config/folder/Action.js.map +1 -1
  242. package/config/folder/DropConfirmation.js +12 -13
  243. package/config/folder/DropConfirmation.js.map +1 -1
  244. package/config/folder/index.d.ts +3 -2
  245. package/config/folder/index.js +4 -3
  246. package/config/folder/index.js.map +1 -1
  247. package/config/index.d.ts +0 -1
  248. package/config/index.js +0 -3
  249. package/config/record/Action.d.ts +1 -1
  250. package/config/record/Action.js +28 -33
  251. package/config/record/Action.js.map +1 -1
  252. package/config/record/index.d.ts +1 -1
  253. package/config/record/index.js +3 -2
  254. package/config/record/index.js.map +1 -1
  255. package/config/table/Column.d.ts +8 -39
  256. package/config/table/Column.js +5 -84
  257. package/config/table/Column.js.map +1 -1
  258. package/config/table/Sorting.d.ts +2 -11
  259. package/config/table/Sorting.js +1 -31
  260. package/config/table/index.d.ts +5 -9
  261. package/config/table/index.js +4 -3
  262. package/config/table/index.js.map +1 -1
  263. package/constants.js +0 -2
  264. package/contexts/folder.js +11 -15
  265. package/contexts/folder.js.map +1 -1
  266. package/contexts/index.d.ts +0 -3
  267. package/contexts/index.js +0 -5
  268. package/dialogs/DialogSetPermissions/UsersTeamsMultiAutocomplete.js +22 -29
  269. package/dialogs/DialogSetPermissions/UsersTeamsMultiAutocomplete.js.map +1 -1
  270. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemGraphic.js +18 -21
  271. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemGraphic.js.map +1 -1
  272. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemMeta.js +110 -107
  273. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemMeta.js.map +1 -1
  274. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemText.js +11 -16
  275. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemText.js.map +1 -1
  276. package/dialogs/DialogSetPermissions/UsersTeamsSelection.js +29 -34
  277. package/dialogs/DialogSetPermissions/UsersTeamsSelection.js.map +1 -1
  278. package/dialogs/DialogSetPermissions/graphql.d.ts +1 -1
  279. package/dialogs/DialogSetPermissions/graphql.js +2 -2
  280. package/dialogs/DialogSetPermissions/graphql.js.map +1 -1
  281. package/dialogs/ParentFolderField.js +12 -13
  282. package/dialogs/ParentFolderField.js.map +1 -1
  283. package/dialogs/index.js +0 -2
  284. package/dialogs/useConfirmMoveFolderDialog.d.ts +1 -0
  285. package/dialogs/useConfirmMoveFolderDialog.js +17 -19
  286. package/dialogs/useConfirmMoveFolderDialog.js.map +1 -1
  287. package/dialogs/useCreateDialog.js +76 -95
  288. package/dialogs/useCreateDialog.js.map +1 -1
  289. package/dialogs/useDeleteDialog.js +27 -33
  290. package/dialogs/useDeleteDialog.js.map +1 -1
  291. package/dialogs/useEditDialog.js +78 -81
  292. package/dialogs/useEditDialog.js.map +1 -1
  293. package/dialogs/useMoveToFolderDialog.js +33 -49
  294. package/dialogs/useMoveToFolderDialog.js.map +1 -1
  295. package/dialogs/useSetPermissionsDialog.js +98 -88
  296. package/dialogs/useSetPermissionsDialog.js.map +1 -1
  297. package/domain/folder/Folder.d.ts +2 -1
  298. package/domain/folder/Folder.js +25 -24
  299. package/domain/folder/Folder.js.map +1 -1
  300. package/domain/folder/FolderDto.js +0 -3
  301. package/domain/folder/FolderDtoMapper.js +24 -25
  302. package/domain/folder/FolderDtoMapper.js.map +1 -1
  303. package/domain/folder/FolderIdentity.js +16 -17
  304. package/domain/folder/FolderIdentity.js.map +1 -1
  305. package/domain/folder/RootFolder.js +24 -23
  306. package/domain/folder/RootFolder.js.map +1 -1
  307. package/exports/admin/ui.js +0 -2
  308. package/features/folders/abstractions.js +6 -5
  309. package/features/folders/abstractions.js.map +1 -1
  310. package/features/folders/cache/FoldersCacheFactory.d.ts +3 -1
  311. package/features/folders/cache/FoldersCacheFactory.js +18 -12
  312. package/features/folders/cache/FoldersCacheFactory.js.map +1 -1
  313. package/features/folders/cache/ListCache.d.ts +2 -29
  314. package/features/folders/cache/ListCache.js +1 -43
  315. package/features/folders/cache/LoadedCache.js +33 -27
  316. package/features/folders/cache/LoadedCache.js.map +1 -1
  317. package/features/folders/cache/LoadedFoldersCacheFactory.js +13 -12
  318. package/features/folders/cache/LoadedFoldersCacheFactory.js.map +1 -1
  319. package/features/folders/cache/index.js +0 -2
  320. package/features/folders/cache/updateDescendantPermissions.d.ts +12 -0
  321. package/features/folders/cache/updateDescendantPermissions.js +27 -0
  322. package/features/folders/cache/updateDescendantPermissions.js.map +1 -0
  323. package/features/folders/createFolder/CreateFolder.test.js +44 -48
  324. package/features/folders/createFolder/CreateFolder.test.js.map +1 -1
  325. package/features/folders/createFolder/CreateFolderGqlGateway.d.ts +3 -3
  326. package/features/folders/createFolder/CreateFolderGqlGateway.js +37 -43
  327. package/features/folders/createFolder/CreateFolderGqlGateway.js.map +1 -1
  328. package/features/folders/createFolder/CreateFolderRepository.js +29 -24
  329. package/features/folders/createFolder/CreateFolderRepository.js.map +1 -1
  330. package/features/folders/createFolder/CreateFolderUseCase.js +20 -17
  331. package/features/folders/createFolder/CreateFolderUseCase.js.map +1 -1
  332. package/features/folders/createFolder/abstractions.js +4 -12
  333. package/features/folders/createFolder/abstractions.js.map +1 -1
  334. package/features/folders/createFolder/feature.js +15 -14
  335. package/features/folders/createFolder/feature.js.map +1 -1
  336. package/features/folders/createFolder/index.js +0 -2
  337. package/features/folders/createFolder/useCreateFolder.js +6 -9
  338. package/features/folders/createFolder/useCreateFolder.js.map +1 -1
  339. package/features/folders/deleteFolder/DeleteFolder.test.js +38 -39
  340. package/features/folders/deleteFolder/DeleteFolder.test.js.map +1 -1
  341. package/features/folders/deleteFolder/DeleteFolderGqlGateway.d.ts +3 -3
  342. package/features/folders/deleteFolder/DeleteFolderGqlGateway.js +21 -29
  343. package/features/folders/deleteFolder/DeleteFolderGqlGateway.js.map +1 -1
  344. package/features/folders/deleteFolder/DeleteFolderRepository.js +16 -13
  345. package/features/folders/deleteFolder/DeleteFolderRepository.js.map +1 -1
  346. package/features/folders/deleteFolder/DeleteFolderUseCase.js +13 -10
  347. package/features/folders/deleteFolder/DeleteFolderUseCase.js.map +1 -1
  348. package/features/folders/deleteFolder/abstractions.js +4 -12
  349. package/features/folders/deleteFolder/abstractions.js.map +1 -1
  350. package/features/folders/deleteFolder/feature.js +15 -14
  351. package/features/folders/deleteFolder/feature.js.map +1 -1
  352. package/features/folders/deleteFolder/index.js +0 -2
  353. package/features/folders/deleteFolder/useDeleteFolder.js +6 -9
  354. package/features/folders/deleteFolder/useDeleteFolder.js.map +1 -1
  355. package/features/folders/feature.js +23 -29
  356. package/features/folders/feature.js.map +1 -1
  357. package/features/folders/folderEvents/AddCreatedFolderToCache.d.ts +22 -0
  358. package/features/folders/folderEvents/AddCreatedFolderToCache.js +24 -0
  359. package/features/folders/folderEvents/AddCreatedFolderToCache.js.map +1 -0
  360. package/features/folders/folderEvents/FolderCreatedEvent.d.ts +14 -0
  361. package/features/folders/folderEvents/FolderCreatedEvent.js +13 -0
  362. package/features/folders/folderEvents/FolderCreatedEvent.js.map +1 -0
  363. package/features/folders/folderEvents/FolderDeletedEvent.d.ts +9 -0
  364. package/features/folders/folderEvents/FolderDeletedEvent.js +13 -0
  365. package/features/folders/folderEvents/FolderDeletedEvent.js.map +1 -0
  366. package/features/folders/folderEvents/FolderEvents.test.d.ts +1 -0
  367. package/features/folders/folderEvents/FolderEvents.test.js +238 -0
  368. package/features/folders/folderEvents/FolderEvents.test.js.map +1 -0
  369. package/features/folders/folderEvents/FolderUpdatedEvent.d.ts +12 -0
  370. package/features/folders/folderEvents/FolderUpdatedEvent.js +13 -0
  371. package/features/folders/folderEvents/FolderUpdatedEvent.js.map +1 -0
  372. package/features/folders/folderEvents/FolderWebsocketMessages.d.ts +15 -0
  373. package/features/folders/folderEvents/FolderWebsocketMessages.js +48 -0
  374. package/features/folders/folderEvents/FolderWebsocketMessages.js.map +1 -0
  375. package/features/folders/folderEvents/RefreshUpdatedFolderInCache.d.ts +19 -0
  376. package/features/folders/folderEvents/RefreshUpdatedFolderInCache.js +27 -0
  377. package/features/folders/folderEvents/RefreshUpdatedFolderInCache.js.map +1 -0
  378. package/features/folders/folderEvents/RemoveDeletedFolderFromCache.d.ts +13 -0
  379. package/features/folders/folderEvents/RemoveDeletedFolderFromCache.js +15 -0
  380. package/features/folders/folderEvents/RemoveDeletedFolderFromCache.js.map +1 -0
  381. package/features/folders/folderEvents/abstractions.d.ts +28 -0
  382. package/features/folders/folderEvents/abstractions.js +7 -0
  383. package/features/folders/folderEvents/abstractions.js.map +1 -0
  384. package/features/folders/folderEvents/feature.d.ts +9 -0
  385. package/features/folders/folderEvents/feature.js +21 -0
  386. package/features/folders/folderEvents/feature.js.map +1 -0
  387. package/features/folders/folderEvents/index.d.ts +5 -0
  388. package/features/folders/folderEvents/index.js +5 -0
  389. package/features/folders/folderModelProvider/FolderModelContext.js +17 -24
  390. package/features/folders/folderModelProvider/FolderModelContext.js.map +1 -1
  391. package/features/folders/folderModelProvider/FolderModelDto.js +0 -3
  392. package/features/folders/folderModelProvider/FolderModelProvider.js +48 -49
  393. package/features/folders/folderModelProvider/FolderModelProvider.js.map +1 -1
  394. package/features/folders/folderModelProvider/GetFolderModelGqlGateway.d.ts +3 -3
  395. package/features/folders/folderModelProvider/GetFolderModelGqlGateway.js +19 -27
  396. package/features/folders/folderModelProvider/GetFolderModelGqlGateway.js.map +1 -1
  397. package/features/folders/folderModelProvider/GetFolderModelRepository.js +25 -22
  398. package/features/folders/folderModelProvider/GetFolderModelRepository.js.map +1 -1
  399. package/features/folders/folderModelProvider/abstractions.js +3 -2
  400. package/features/folders/folderModelProvider/abstractions.js.map +1 -1
  401. package/features/folders/folderModelProvider/feature.js +15 -14
  402. package/features/folders/folderModelProvider/feature.js.map +1 -1
  403. package/features/folders/folderModelProvider/index.js +0 -2
  404. package/features/folders/getDescendantFolders/GetDescendantFolders.test.js +116 -110
  405. package/features/folders/getDescendantFolders/GetDescendantFolders.test.js.map +1 -1
  406. package/features/folders/getDescendantFolders/GetDescendantFoldersRepository.js +35 -35
  407. package/features/folders/getDescendantFolders/GetDescendantFoldersRepository.js.map +1 -1
  408. package/features/folders/getDescendantFolders/GetDescendantFoldersUseCase.js +13 -10
  409. package/features/folders/getDescendantFolders/GetDescendantFoldersUseCase.js.map +1 -1
  410. package/features/folders/getDescendantFolders/abstractions.js +3 -10
  411. package/features/folders/getDescendantFolders/abstractions.js.map +1 -1
  412. package/features/folders/getDescendantFolders/feature.js +14 -13
  413. package/features/folders/getDescendantFolders/feature.js.map +1 -1
  414. package/features/folders/getDescendantFolders/index.js +0 -2
  415. package/features/folders/getDescendantFolders/useGetDescendantFolders.js +6 -9
  416. package/features/folders/getDescendantFolders/useGetDescendantFolders.js.map +1 -1
  417. package/features/folders/getFolder/GetFolderGqlGateway.d.ts +3 -3
  418. package/features/folders/getFolder/GetFolderGqlGateway.js +25 -32
  419. package/features/folders/getFolder/GetFolderGqlGateway.js.map +1 -1
  420. package/features/folders/getFolder/GetFolderRepository.js +18 -13
  421. package/features/folders/getFolder/GetFolderRepository.js.map +1 -1
  422. package/features/folders/getFolder/GetFolderUseCase.js +13 -10
  423. package/features/folders/getFolder/GetFolderUseCase.js.map +1 -1
  424. package/features/folders/getFolder/abstractions.js +4 -12
  425. package/features/folders/getFolder/abstractions.js.map +1 -1
  426. package/features/folders/getFolder/feature.js +15 -14
  427. package/features/folders/getFolder/feature.js.map +1 -1
  428. package/features/folders/getFolder/index.js +0 -2
  429. package/features/folders/getFolder/useGetFolder.js +6 -9
  430. package/features/folders/getFolder/useGetFolder.js.map +1 -1
  431. package/features/folders/getFolderAncestors/GetFolderAncestors.test.js +108 -103
  432. package/features/folders/getFolderAncestors/GetFolderAncestors.test.js.map +1 -1
  433. package/features/folders/getFolderAncestors/GetFolderAncestorsRepository.js +32 -30
  434. package/features/folders/getFolderAncestors/GetFolderAncestorsRepository.js.map +1 -1
  435. package/features/folders/getFolderAncestors/GetFolderAncestorsUseCase.js +13 -10
  436. package/features/folders/getFolderAncestors/GetFolderAncestorsUseCase.js.map +1 -1
  437. package/features/folders/getFolderAncestors/abstractions.js +3 -10
  438. package/features/folders/getFolderAncestors/abstractions.js.map +1 -1
  439. package/features/folders/getFolderAncestors/feature.js +14 -13
  440. package/features/folders/getFolderAncestors/feature.js.map +1 -1
  441. package/features/folders/getFolderAncestors/index.js +0 -2
  442. package/features/folders/getFolderAncestors/useGetFolderAncestors.js +6 -9
  443. package/features/folders/getFolderAncestors/useGetFolderAncestors.js.map +1 -1
  444. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFields.test.js +190 -160
  445. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFields.test.js.map +1 -1
  446. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCase.d.ts +4 -3
  447. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCase.js +30 -29
  448. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCase.js.map +1 -1
  449. package/features/folders/getFolderExtensionsFields/abstractions.js +3 -8
  450. package/features/folders/getFolderExtensionsFields/abstractions.js.map +1 -1
  451. package/features/folders/getFolderExtensionsFields/feature.js +16 -18
  452. package/features/folders/getFolderExtensionsFields/feature.js.map +1 -1
  453. package/features/folders/getFolderExtensionsFields/filters/CmsNamespaceFilter.js +16 -17
  454. package/features/folders/getFolderExtensionsFields/filters/CmsNamespaceFilter.js.map +1 -1
  455. package/features/folders/getFolderExtensionsFields/filters/FmFileNamespaceFilter.js +13 -16
  456. package/features/folders/getFolderExtensionsFields/filters/FmFileNamespaceFilter.js.map +1 -1
  457. package/features/folders/getFolderExtensionsFields/filters/GlobalNamespaceFilter.js +7 -8
  458. package/features/folders/getFolderExtensionsFields/filters/GlobalNamespaceFilter.js.map +1 -1
  459. package/features/folders/getFolderExtensionsFields/index.js +0 -2
  460. package/features/folders/getFolderExtensionsFields/useFolderExtensionsFields.d.ts +4 -3
  461. package/features/folders/getFolderExtensionsFields/useFolderExtensionsFields.js +13 -14
  462. package/features/folders/getFolderExtensionsFields/useFolderExtensionsFields.js.map +1 -1
  463. package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.test.js +137 -170
  464. package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.test.js.map +1 -1
  465. package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionUseCase.js +8 -7
  466. package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionUseCase.js.map +1 -1
  467. package/features/folders/getFolderLevelPermission/abstractions.js +2 -1
  468. package/features/folders/getFolderLevelPermission/abstractions.js.map +1 -1
  469. package/features/folders/getFolderLevelPermission/decorators/GetFolderLevelPermissionWithFlpDecorator.d.ts +3 -3
  470. package/features/folders/getFolderLevelPermission/decorators/GetFolderLevelPermissionWithFlpDecorator.js +18 -21
  471. package/features/folders/getFolderLevelPermission/decorators/GetFolderLevelPermissionWithFlpDecorator.js.map +1 -1
  472. package/features/folders/getFolderLevelPermission/feature.js +14 -16
  473. package/features/folders/getFolderLevelPermission/feature.js.map +1 -1
  474. package/features/folders/getFolderLevelPermission/index.js +0 -2
  475. package/features/folders/getFolderLevelPermission/useGetFolderLevelPermission.js +9 -10
  476. package/features/folders/getFolderLevelPermission/useGetFolderLevelPermission.js.map +1 -1
  477. package/features/folders/listFolders/ListFolders.test.js +98 -111
  478. package/features/folders/listFolders/ListFolders.test.js.map +1 -1
  479. package/features/folders/listFolders/ListFoldersGqlGateway.d.ts +1 -1
  480. package/features/folders/listFolders/ListFoldersGqlGateway.js +28 -27
  481. package/features/folders/listFolders/ListFoldersGqlGateway.js.map +1 -1
  482. package/features/folders/listFolders/ListFoldersRepository.js +19 -14
  483. package/features/folders/listFolders/ListFoldersRepository.js.map +1 -1
  484. package/features/folders/listFolders/ListFoldersUseCase.js +13 -10
  485. package/features/folders/listFolders/ListFoldersUseCase.js.map +1 -1
  486. package/features/folders/listFolders/ListFoldersUseCaseWithLoading.js +14 -11
  487. package/features/folders/listFolders/ListFoldersUseCaseWithLoading.js.map +1 -1
  488. package/features/folders/listFolders/abstractions.js +4 -3
  489. package/features/folders/listFolders/abstractions.js.map +1 -1
  490. package/features/folders/listFolders/feature.js +17 -23
  491. package/features/folders/listFolders/feature.js.map +1 -1
  492. package/features/folders/listFolders/index.js +0 -2
  493. package/features/folders/listFolders/useListFolders.d.ts +1 -1
  494. package/features/folders/listFolders/useListFolders.js +35 -37
  495. package/features/folders/listFolders/useListFolders.js.map +1 -1
  496. package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.test.js +218 -203
  497. package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.test.js.map +1 -1
  498. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsGqlGateway.d.ts +3 -3
  499. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsGqlGateway.js +30 -34
  500. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsGqlGateway.js.map +1 -1
  501. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepository.js +18 -13
  502. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepository.js.map +1 -1
  503. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCase.js +18 -15
  504. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCase.js.map +1 -1
  505. package/features/folders/listFoldersByParentIds/abstractions.js +4 -3
  506. package/features/folders/listFoldersByParentIds/abstractions.js.map +1 -1
  507. package/features/folders/listFoldersByParentIds/decorators/RepositoryWithLoadedCache.js +20 -22
  508. package/features/folders/listFoldersByParentIds/decorators/RepositoryWithLoadedCache.js.map +1 -1
  509. package/features/folders/listFoldersByParentIds/decorators/UseCaseWithLoading.js +17 -18
  510. package/features/folders/listFoldersByParentIds/decorators/UseCaseWithLoading.js.map +1 -1
  511. package/features/folders/listFoldersByParentIds/feature.js +18 -26
  512. package/features/folders/listFoldersByParentIds/feature.js.map +1 -1
  513. package/features/folders/listFoldersByParentIds/index.js +0 -2
  514. package/features/folders/listFoldersByParentIds/useListFoldersByParentIds.d.ts +2 -2
  515. package/features/folders/listFoldersByParentIds/useListFoldersByParentIds.js +40 -42
  516. package/features/folders/listFoldersByParentIds/useListFoldersByParentIds.js.map +1 -1
  517. package/features/folders/loadFolderHierarchy/LoadFolderHierarchy.test.js +134 -136
  518. package/features/folders/loadFolderHierarchy/LoadFolderHierarchy.test.js.map +1 -1
  519. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyGqlGateway.js +31 -31
  520. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyGqlGateway.js.map +1 -1
  521. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyRepository.js +35 -40
  522. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyRepository.js.map +1 -1
  523. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyUseCase.js +13 -10
  524. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyUseCase.js.map +1 -1
  525. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyUseCaseWithLoading.js +14 -11
  526. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyUseCaseWithLoading.js.map +1 -1
  527. package/features/folders/loadFolderHierarchy/abstractions.js +4 -3
  528. package/features/folders/loadFolderHierarchy/abstractions.js.map +1 -1
  529. package/features/folders/loadFolderHierarchy/feature.js +17 -23
  530. package/features/folders/loadFolderHierarchy/feature.js.map +1 -1
  531. package/features/folders/loadFolderHierarchy/index.js +0 -2
  532. package/features/folders/loadFolderHierarchy/useLoadFolderHierarchy.d.ts +2 -2
  533. package/features/folders/loadFolderHierarchy/useLoadFolderHierarchy.js +37 -42
  534. package/features/folders/loadFolderHierarchy/useLoadFolderHierarchy.js.map +1 -1
  535. package/features/folders/updateFolder/UpdateFolder.test.js +372 -384
  536. package/features/folders/updateFolder/UpdateFolder.test.js.map +1 -1
  537. package/features/folders/updateFolder/UpdateFolderGqlGateway.d.ts +3 -3
  538. package/features/folders/updateFolder/UpdateFolderGqlGateway.js +33 -46
  539. package/features/folders/updateFolder/UpdateFolderGqlGateway.js.map +1 -1
  540. package/features/folders/updateFolder/UpdateFolderRepository.js +26 -24
  541. package/features/folders/updateFolder/UpdateFolderRepository.js.map +1 -1
  542. package/features/folders/updateFolder/UpdateFolderUseCase.js +13 -10
  543. package/features/folders/updateFolder/UpdateFolderUseCase.js.map +1 -1
  544. package/features/folders/updateFolder/abstractions.js +4 -3
  545. package/features/folders/updateFolder/abstractions.js.map +1 -1
  546. package/features/folders/updateFolder/decorators/RepositoryWithPathChange.js +43 -64
  547. package/features/folders/updateFolder/decorators/RepositoryWithPathChange.js.map +1 -1
  548. package/features/folders/updateFolder/decorators/RepositoryWithPermissionsChange.d.ts +1 -4
  549. package/features/folders/updateFolder/decorators/RepositoryWithPermissionsChange.js +22 -61
  550. package/features/folders/updateFolder/decorators/RepositoryWithPermissionsChange.js.map +1 -1
  551. package/features/folders/updateFolder/decorators/UseCaseWithLoading.js +14 -11
  552. package/features/folders/updateFolder/decorators/UseCaseWithLoading.js.map +1 -1
  553. package/features/folders/updateFolder/decorators/{UseCaseWithoutInheritedPermissions.d.ts → UseCaseWithoutReadOnlyPermissions.d.ts} +2 -2
  554. package/features/folders/updateFolder/decorators/UseCaseWithoutReadOnlyPermissions.js +20 -0
  555. package/features/folders/updateFolder/decorators/UseCaseWithoutReadOnlyPermissions.js.map +1 -0
  556. package/features/folders/updateFolder/feature.js +21 -29
  557. package/features/folders/updateFolder/feature.js.map +1 -1
  558. package/features/folders/updateFolder/index.js +0 -2
  559. package/features/folders/updateFolder/useUpdateFolder.js +17 -19
  560. package/features/folders/updateFolder/useUpdateFolder.js.map +1 -1
  561. package/hooks/index.d.ts +0 -6
  562. package/hooks/index.js +0 -8
  563. package/hooks/useFolder.js +6 -7
  564. package/hooks/useFolder.js.map +1 -1
  565. package/index.d.ts +4 -2
  566. package/index.js +5 -10
  567. package/package.json +27 -32
  568. package/presentation/folderTree/FolderTree.d.ts +19 -0
  569. package/presentation/folderTree/FolderTree.js +260 -0
  570. package/presentation/folderTree/FolderTree.js.map +1 -0
  571. package/presentation/folderTree/FolderTreeFieldRenderer.d.ts +13 -0
  572. package/presentation/folderTree/FolderTreeFieldRenderer.js +23 -0
  573. package/presentation/folderTree/FolderTreeFieldRenderer.js.map +1 -0
  574. package/presentation/folderTree/FolderTreePresenter.d.ts +55 -0
  575. package/presentation/folderTree/FolderTreePresenter.js +321 -0
  576. package/presentation/folderTree/FolderTreePresenter.js.map +1 -0
  577. package/presentation/folderTree/FolderTreePresenter.test.d.ts +1 -0
  578. package/presentation/folderTree/FolderTreePresenter.test.js +621 -0
  579. package/presentation/folderTree/FolderTreePresenter.test.js.map +1 -0
  580. package/presentation/folderTree/abstractions.d.ts +65 -0
  581. package/presentation/folderTree/abstractions.js +5 -0
  582. package/presentation/folderTree/abstractions.js.map +1 -0
  583. package/presentation/folderTree/feature.d.ts +3 -0
  584. package/presentation/folderTree/feature.js +17 -0
  585. package/presentation/folderTree/feature.js.map +1 -0
  586. package/presentation/folderTree/index.d.ts +5 -0
  587. package/presentation/folderTree/index.js +3 -0
  588. package/static/svg/folder-shared-icon.5d947e49.svg +5 -0
  589. package/static/svg/folder.f3d5c400.svg +4 -0
  590. package/table.types.d.ts +2 -9
  591. package/table.types.js +0 -3
  592. package/types.d.ts +5 -26
  593. package/types.js +10 -13
  594. package/types.js.map +1 -1
  595. package/components/Actions/DeleteFolder/index.js.map +0 -1
  596. package/components/Actions/EditFolder/index.js.map +0 -1
  597. package/components/Actions/SetFolderPemissions/index.js.map +0 -1
  598. package/components/Actions/index.js.map +0 -1
  599. package/components/AdvancedSearch/Button/index.js.map +0 -1
  600. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/index.js.map +0 -1
  601. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/index.js.map +0 -1
  602. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/index.js.map +0 -1
  603. package/components/AdvancedSearch/QueryBuilderDrawer/index.js.map +0 -1
  604. package/components/AdvancedSearch/QueryManagerDialog/components/index.js.map +0 -1
  605. package/components/AdvancedSearch/QueryManagerDialog/index.js.map +0 -1
  606. package/components/AdvancedSearch/QuerySaverDialog/index.js.map +0 -1
  607. package/components/AdvancedSearch/SelectedFilter/index.js.map +0 -1
  608. package/components/AdvancedSearch/domain/index.js.map +0 -1
  609. package/components/AdvancedSearch/fields/index.js.map +0 -1
  610. package/components/AdvancedSearch/gateways/FiltersGatewayInterface.js.map +0 -1
  611. package/components/AdvancedSearch/gateways/filters.types.js.map +0 -1
  612. package/components/AdvancedSearch/gateways/index.js.map +0 -1
  613. package/components/Extensions/Extensions.d.ts +0 -2
  614. package/components/Extensions/Extensions.js +0 -33
  615. package/components/Extensions/Extensions.js.map +0 -1
  616. package/components/Extensions/index.d.ts +0 -1
  617. package/components/Extensions/index.js +0 -3
  618. package/components/Extensions/index.js.map +0 -1
  619. package/components/FolderGrid/index.js.map +0 -1
  620. package/components/FolderIcons/index.js.map +0 -1
  621. package/components/FolderTree/ButtonCreate/index.js.map +0 -1
  622. package/components/FolderTree/Empty/index.js.map +0 -1
  623. package/components/FolderTree/List/index.js.map +0 -1
  624. package/components/FolderTree/Loader/index.js.map +0 -1
  625. package/components/FolderTree/MenuActions/index.js.map +0 -1
  626. package/components/FolderTree/Node/index.js.map +0 -1
  627. package/components/FolderTree/NodePreview/index.js.map +0 -1
  628. package/components/Search/index.js.map +0 -1
  629. package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityRepository.js.map +0 -1
  630. package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityUpdater.js.map +0 -1
  631. package/components/Table/components/Table/ColumnVisibility/index.js.map +0 -1
  632. package/components/Table/components/Table/Columns/IColumnsRepository.js.map +0 -1
  633. package/components/Table/components/Table/Columns/index.js.map +0 -1
  634. package/components/Table/components/Table/gateways/IColumnsVisibilityGateway.js.map +0 -1
  635. package/components/Table/components/Table/gateways/index.js.map +0 -1
  636. package/components/Table/components/Table/index.js.map +0 -1
  637. package/components/Table/components/index.js.map +0 -1
  638. package/components/Table/index.js.map +0 -1
  639. package/components/index.js.map +0 -1
  640. package/config/folder/createFolderFieldDecoratorFactory.d.ts +0 -13
  641. package/config/folder/createFolderFieldDecoratorFactory.js +0 -21
  642. package/config/folder/createFolderFieldDecoratorFactory.js.map +0 -1
  643. package/config/index.js.map +0 -1
  644. package/config/table/Sorting.js.map +0 -1
  645. package/constants.js.map +0 -1
  646. package/contexts/acoList.d.ts +0 -49
  647. package/contexts/acoList.js +0 -404
  648. package/contexts/acoList.js.map +0 -1
  649. package/contexts/app.d.ts +0 -33
  650. package/contexts/app.js +0 -60
  651. package/contexts/app.js.map +0 -1
  652. package/contexts/folders.d.ts +0 -12
  653. package/contexts/folders.js +0 -37
  654. package/contexts/folders.js.map +0 -1
  655. package/contexts/index.js.map +0 -1
  656. package/contexts/navigateFolder.d.ts +0 -17
  657. package/contexts/navigateFolder.js +0 -62
  658. package/contexts/navigateFolder.js.map +0 -1
  659. package/contexts/records.d.ts +0 -31
  660. package/contexts/records.js +0 -439
  661. package/contexts/records.js.map +0 -1
  662. package/dialogs/index.js.map +0 -1
  663. package/domain/folder/FolderDto.js.map +0 -1
  664. package/exports/admin/aco.d.ts +0 -2
  665. package/exports/admin/aco.js +0 -4
  666. package/exports/admin/aco.js.map +0 -1
  667. package/exports/admin/ui.js.map +0 -1
  668. package/features/folders/cache/ListCache.js.map +0 -1
  669. package/features/folders/cache/index.js.map +0 -1
  670. package/features/folders/createFolder/index.js.map +0 -1
  671. package/features/folders/deleteFolder/index.js.map +0 -1
  672. package/features/folders/folderModelProvider/FolderModelDto.js.map +0 -1
  673. package/features/folders/folderModelProvider/index.js.map +0 -1
  674. package/features/folders/getDescendantFolders/index.js.map +0 -1
  675. package/features/folders/getFolder/index.js.map +0 -1
  676. package/features/folders/getFolderAncestors/index.js.map +0 -1
  677. package/features/folders/getFolderExtensionsFields/index.js.map +0 -1
  678. package/features/folders/getFolderLevelPermission/index.js.map +0 -1
  679. package/features/folders/listFolders/index.js.map +0 -1
  680. package/features/folders/listFoldersByParentIds/index.js.map +0 -1
  681. package/features/folders/loadFolderHierarchy/index.js.map +0 -1
  682. package/features/folders/updateFolder/decorators/UseCaseWithoutInheritedPermissions.js +0 -20
  683. package/features/folders/updateFolder/decorators/UseCaseWithoutInheritedPermissions.js.map +0 -1
  684. package/features/folders/updateFolder/index.js.map +0 -1
  685. package/graphql/app.gql.d.ts +0 -17
  686. package/graphql/app.gql.js +0 -23
  687. package/graphql/app.gql.js.map +0 -1
  688. package/graphql/records/common.d.ts +0 -4
  689. package/graphql/records/common.js +0 -55
  690. package/graphql/records/common.js.map +0 -1
  691. package/graphql/records/getRecord.d.ts +0 -2
  692. package/graphql/records/getRecord.js +0 -6
  693. package/graphql/records/getRecord.js.map +0 -1
  694. package/graphql/records/listRecords.d.ts +0 -2
  695. package/graphql/records/listRecords.js +0 -17
  696. package/graphql/records/listRecords.js.map +0 -1
  697. package/graphql/records/moveRecord.d.ts +0 -2
  698. package/graphql/records/moveRecord.js +0 -17
  699. package/graphql/records/moveRecord.js.map +0 -1
  700. package/graphql/records/types.d.ts +0 -108
  701. package/graphql/records/types.js +0 -3
  702. package/graphql/records/types.js.map +0 -1
  703. package/graphql/records.gql.d.ts +0 -3
  704. package/graphql/records.gql.js +0 -5
  705. package/graphql/records.gql.js.map +0 -1
  706. package/handlers.d.ts +0 -23
  707. package/handlers.js +0 -45
  708. package/handlers.js.map +0 -1
  709. package/hooks/index.js.map +0 -1
  710. package/hooks/useAcoApp.d.ts +0 -2
  711. package/hooks/useAcoApp.js +0 -17
  712. package/hooks/useAcoApp.js.map +0 -1
  713. package/hooks/useAcoList.d.ts +0 -3
  714. package/hooks/useAcoList.js +0 -11
  715. package/hooks/useAcoList.js.map +0 -1
  716. package/hooks/useFolderModel.d.ts +0 -2
  717. package/hooks/useFolderModel.js +0 -18
  718. package/hooks/useFolderModel.js.map +0 -1
  719. package/hooks/useFoldersType.d.ts +0 -1
  720. package/hooks/useFoldersType.js +0 -17
  721. package/hooks/useFoldersType.js.map +0 -1
  722. package/hooks/useNavigateFolder.d.ts +0 -2
  723. package/hooks/useNavigateFolder.js +0 -11
  724. package/hooks/useNavigateFolder.js.map +0 -1
  725. package/hooks/useRecords.d.ts +0 -62
  726. package/hooks/useRecords.js +0 -85
  727. package/hooks/useRecords.js.map +0 -1
  728. package/hooks/useTags.d.ts +0 -14
  729. package/hooks/useTags.js +0 -36
  730. package/hooks/useTags.js.map +0 -1
  731. package/index.js.map +0 -1
  732. package/sorting.d.ts +0 -9
  733. package/sorting.js +0 -34
  734. package/sorting.js.map +0 -1
  735. package/table.types.js.map +0 -1
@@ -0,0 +1,321 @@
1
+ import { makeAutoObservable, reaction, runInAction } from "mobx";
2
+ import { StringFormatter } from "@webiny/app-admin/features/stringFormatter/abstractions.js";
3
+ import { FolderTreePresenter } from "./abstractions.js";
4
+ import { ROOT_FOLDER } from "../../constants.js";
5
+ import { FoldersCache, FoldersContext } from "../../features/folders/abstractions.js";
6
+ import { ListFoldersUseCase } from "../../features/folders/listFolders/abstractions.js";
7
+ import { ListFoldersByParentIdsUseCase } from "../../features/folders/listFoldersByParentIds/abstractions.js";
8
+ import { CreateFolderUseCase } from "../../features/folders/createFolder/abstractions.js";
9
+ import { UpdateFolderUseCase } from "../../features/folders/updateFolder/abstractions.js";
10
+ import { DeleteFolderUseCase } from "../../features/folders/deleteFolder/abstractions.js";
11
+ import { GetFolderAncestorsUseCase } from "../../features/folders/getFolderAncestors/abstractions.js";
12
+ import { GetFolderLevelPermissionUseCase } from "../../features/folders/getFolderLevelPermission/abstractions.js";
13
+ import { FormModelFactory } from "@webiny/app-admin/features/formModel/abstractions.js";
14
+ import { FolderDtoMapper } from "../../domain/folder/FolderDtoMapper.js";
15
+ class FolderTreePresenterImpl {
16
+ constructor(foldersContext, foldersCache, listFoldersUseCase, listFoldersByParentIdsUseCase, createFolderUseCase, updateFolderUseCase, deleteFolderUseCase, getFolderAncestorsUseCase, getFolderLevelPermissionUseCase, formModelFactory, stringFormatter){
17
+ this.foldersContext = foldersContext;
18
+ this.foldersCache = foldersCache;
19
+ this.listFoldersUseCase = listFoldersUseCase;
20
+ this.listFoldersByParentIdsUseCase = listFoldersByParentIdsUseCase;
21
+ this.createFolderUseCase = createFolderUseCase;
22
+ this.updateFolderUseCase = updateFolderUseCase;
23
+ this.deleteFolderUseCase = deleteFolderUseCase;
24
+ this.getFolderAncestorsUseCase = getFolderAncestorsUseCase;
25
+ this.getFolderLevelPermissionUseCase = getFolderLevelPermissionUseCase;
26
+ this.formModelFactory = formModelFactory;
27
+ this.stringFormatter = stringFormatter;
28
+ this.currentFolderId = null;
29
+ this.loading = false;
30
+ this._loadingNodeIds = [];
31
+ this.operation = {
32
+ active: false,
33
+ mode: null
34
+ };
35
+ this.callbacks = new Set();
36
+ this.disposed = false;
37
+ this.previousFolders = [];
38
+ makeAutoObservable(this, {
39
+ callbacks: false,
40
+ previousFolders: false
41
+ }, {
42
+ autoBind: true
43
+ });
44
+ reaction(()=>this.currentFolderId, (folderId)=>{
45
+ if (!this.disposed) this.callbacks.forEach((cb)=>cb(folderId));
46
+ });
47
+ reaction(()=>({
48
+ folders: this.foldersCache.getItems(),
49
+ currentFolderId: this.currentFolderId
50
+ }), ({ folders, currentFolderId })=>{
51
+ if (null !== currentFolderId) {
52
+ const stillExists = folders.some((f)=>f.id === currentFolderId);
53
+ const isTransientReloadClear = 0 === folders.length && this.loading;
54
+ if (!stillExists && !isTransientReloadClear) {
55
+ const resolvedId = this.resolveValidFolderId(currentFolderId, this.previousFolders);
56
+ this.selectFolder(resolvedId);
57
+ }
58
+ }
59
+ this.previousFolders = folders;
60
+ }, {
61
+ fireImmediately: true
62
+ });
63
+ this.loadFolders();
64
+ }
65
+ get vm() {
66
+ const tree = this.buildTree();
67
+ const allFolders = this.foldersCache.getItems();
68
+ const currentNode = this.findNode(this.currentFolderId, tree);
69
+ const currentFolder = this.findFolder(this.currentFolderId);
70
+ const childNodes = currentNode ? currentNode.children : tree.filter((n)=>n.id !== ROOT_FOLDER);
71
+ return {
72
+ folders: allFolders.map((f)=>FolderDtoMapper.toDTO(f)),
73
+ tree,
74
+ currentFolderId: this.currentFolderId,
75
+ currentFolder: currentFolder ? FolderDtoMapper.toDTO(currentFolder) : null,
76
+ isRootFolder: null === this.currentFolderId,
77
+ currentFolderTitle: currentNode?.name ?? "All Files",
78
+ childFolders: childNodes.map((n)=>{
79
+ const folder = allFolders.find((f)=>f.id === n.id);
80
+ return folder ? FolderDtoMapper.toDTO(folder) : null;
81
+ }).filter((f)=>null !== f),
82
+ loading: this.loading,
83
+ loadingNodeIds: this._loadingNodeIds,
84
+ operation: this.operation
85
+ };
86
+ }
87
+ selectFolder(folderId) {
88
+ const normalized = folderId === ROOT_FOLDER ? null : folderId;
89
+ this.currentFolderId = normalized;
90
+ if (normalized) this.loadChildFolders([
91
+ normalized
92
+ ]);
93
+ }
94
+ onFolderChange(callback) {
95
+ this.callbacks.add(callback);
96
+ return ()=>{
97
+ this.callbacks.delete(callback);
98
+ };
99
+ }
100
+ async loadChildFolders(parentIds) {
101
+ const fetchableIds = parentIds.filter((id)=>id !== ROOT_FOLDER && "0" !== id);
102
+ if (0 === fetchableIds.length) return;
103
+ runInAction(()=>{
104
+ this._loadingNodeIds = fetchableIds;
105
+ });
106
+ try {
107
+ await this.listFoldersByParentIdsUseCase.execute(fetchableIds);
108
+ } finally{
109
+ runInAction(()=>{
110
+ this._loadingNodeIds = [];
111
+ });
112
+ }
113
+ }
114
+ async moveFolder(folderId, targetParentId) {
115
+ const folders = this.foldersCache.getItems();
116
+ const folder = folders.find((f)=>f.id === folderId);
117
+ if (!folder) return;
118
+ await this.updateFolderUseCase.execute({
119
+ id: folderId,
120
+ title: folder.title,
121
+ slug: folder.slug,
122
+ type: this.foldersContext.type,
123
+ parentId: targetParentId,
124
+ permissions: folder.permissions
125
+ });
126
+ await this.loadFolders();
127
+ }
128
+ canManageStructure(folderId) {
129
+ return this.getFolderLevelPermissionUseCase.execute(folderId, "canManageStructure");
130
+ }
131
+ getAncestorIds(folderId) {
132
+ return this.getFolderAncestorsUseCase.execute(folderId).map((f)=>f.id);
133
+ }
134
+ createFolder(parentFolderId) {
135
+ const form = this.formModelFactory.create({
136
+ fields: (fields)=>({
137
+ title: fields.text().label("Title").required("Title is required"),
138
+ slug: fields.text().label("Slug").required("Slug is required").computedUntilDirty(({ form })=>{
139
+ const title = form.field("title").getValue();
140
+ return this.stringFormatter.slugify(String(title ?? ""));
141
+ }),
142
+ parentId: fields.text().label("Parent folder").renderer("folderTree")
143
+ }),
144
+ layout: (layout)=>[
145
+ layout.row("title"),
146
+ layout.row("slug"),
147
+ layout.row("parentId")
148
+ ]
149
+ });
150
+ form.setData({
151
+ parentId: parentFolderId ?? null
152
+ });
153
+ this.operation = {
154
+ active: true,
155
+ mode: "create",
156
+ parentFolderId,
157
+ form
158
+ };
159
+ }
160
+ editFolder(folderId) {
161
+ const folders = this.foldersCache.getItems();
162
+ const folder = folders.find((f)=>f.id === folderId);
163
+ if (!folder) return;
164
+ const form = this.formModelFactory.create({
165
+ fields: (fields)=>({
166
+ title: fields.text().label("Name").required("Name is required"),
167
+ slug: fields.text().label("Slug").required("Slug is required").computedUntilDirty(({ form })=>{
168
+ const title = form.field("title").getValue();
169
+ return this.stringFormatter.slugify(String(title ?? ""));
170
+ })
171
+ }),
172
+ layout: (layout)=>[
173
+ layout.row("title"),
174
+ layout.row("slug")
175
+ ]
176
+ });
177
+ form.setData({
178
+ title: folder.title,
179
+ slug: folder.slug
180
+ });
181
+ this.operation = {
182
+ active: true,
183
+ mode: "edit",
184
+ folderId,
185
+ form
186
+ };
187
+ }
188
+ async submitOperation() {
189
+ const { mode, form, parentFolderId, folderId } = this.operation;
190
+ if (!form || !mode) return false;
191
+ const data = await form.submit();
192
+ if (!data) return false;
193
+ if ("create" === mode) await this.createFolderUseCase.execute({
194
+ title: data.title,
195
+ slug: data.slug,
196
+ type: this.foldersContext.type,
197
+ parentId: data.parentId ?? parentFolderId ?? null,
198
+ permissions: []
199
+ });
200
+ else if ("edit" === mode && folderId) {
201
+ const folders = this.foldersCache.getItems();
202
+ const folder = folders.find((f)=>f.id === folderId);
203
+ await this.updateFolderUseCase.execute({
204
+ id: folderId,
205
+ title: data.title,
206
+ slug: data.slug,
207
+ type: this.foldersContext.type,
208
+ parentId: folder?.parentId ?? null,
209
+ permissions: folder?.permissions ?? []
210
+ });
211
+ }
212
+ runInAction(()=>{
213
+ this.operation = {
214
+ active: false,
215
+ mode: null
216
+ };
217
+ });
218
+ return true;
219
+ }
220
+ async deleteFolder(folderId) {
221
+ this.operation = {
222
+ active: true,
223
+ mode: "delete",
224
+ folderId
225
+ };
226
+ await this.deleteFolderUseCase.execute(folderId);
227
+ runInAction(()=>{
228
+ this.foldersCache.removeItems((f)=>f.id === folderId);
229
+ this.operation = {
230
+ active: false,
231
+ mode: null
232
+ };
233
+ });
234
+ }
235
+ cancelOperation() {
236
+ this.operation = {
237
+ active: false,
238
+ mode: null
239
+ };
240
+ }
241
+ async loadFolders() {
242
+ runInAction(()=>{
243
+ this.loading = true;
244
+ });
245
+ try {
246
+ await this.listFoldersUseCase.execute();
247
+ } finally{
248
+ runInAction(()=>{
249
+ this.loading = false;
250
+ });
251
+ }
252
+ }
253
+ resolveValidFolderId(folderId, previousFolders) {
254
+ let candidateId = folderId;
255
+ const visited = new Set();
256
+ while(null !== candidateId){
257
+ if (visited.has(candidateId)) break;
258
+ visited.add(candidateId);
259
+ if (this.foldersCache.getItem((f)=>f.id === candidateId)) return candidateId;
260
+ const prev = previousFolders.find((f)=>f.id === candidateId);
261
+ candidateId = prev?.parentId ?? null;
262
+ }
263
+ return null;
264
+ }
265
+ buildTree() {
266
+ const folders = this.foldersCache.getItems();
267
+ return this.buildTreeFromFolders(folders);
268
+ }
269
+ buildTreeFromFolders(folders) {
270
+ const nodeMap = new Map();
271
+ for (const folder of folders)nodeMap.set(folder.id, {
272
+ id: folder.id,
273
+ name: folder.title,
274
+ slug: folder.slug,
275
+ parentId: folder.parentId,
276
+ children: [],
277
+ hasNonInheritedPermissions: folder.hasNonInheritedPermissions ?? false,
278
+ canManagePermissions: folder.canManagePermissions ?? false,
279
+ canManageStructure: folder.canManageStructure ?? true
280
+ });
281
+ const roots = [];
282
+ for (const folder of folders){
283
+ const node = nodeMap.get(folder.id);
284
+ if (folder.parentId && nodeMap.has(folder.parentId)) nodeMap.get(folder.parentId).children.push(node);
285
+ else roots.push(node);
286
+ }
287
+ return roots;
288
+ }
289
+ findFolder(folderId) {
290
+ if (!folderId) return null;
291
+ return this.foldersCache.getItem((f)=>f.id === folderId) ?? null;
292
+ }
293
+ findNode(folderId, nodes) {
294
+ if (null === folderId) return null;
295
+ for (const node of nodes){
296
+ if (node.id === folderId) return node;
297
+ const found = this.findNode(folderId, node.children);
298
+ if (found) return found;
299
+ }
300
+ return null;
301
+ }
302
+ }
303
+ const FolderTreePresenter_FolderTreePresenter = FolderTreePresenter.createImplementation({
304
+ implementation: FolderTreePresenterImpl,
305
+ dependencies: [
306
+ FoldersContext,
307
+ FoldersCache,
308
+ ListFoldersUseCase,
309
+ ListFoldersByParentIdsUseCase,
310
+ CreateFolderUseCase,
311
+ UpdateFolderUseCase,
312
+ DeleteFolderUseCase,
313
+ GetFolderAncestorsUseCase,
314
+ GetFolderLevelPermissionUseCase,
315
+ FormModelFactory,
316
+ StringFormatter
317
+ ]
318
+ });
319
+ export { FolderTreePresenter_FolderTreePresenter as FolderTreePresenter };
320
+
321
+ //# sourceMappingURL=FolderTreePresenter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presentation/folderTree/FolderTreePresenter.js","sources":["../../../src/presentation/folderTree/FolderTreePresenter.ts"],"sourcesContent":["import { makeAutoObservable, reaction, runInAction } from \"mobx\";\nimport { StringFormatter } from \"@webiny/app-admin/features/stringFormatter/abstractions.js\";\nimport {\n FolderTreePresenter as Abstraction,\n type IFolderTreeNode,\n type IFolderTreeViewModel,\n type IFolderOperationState\n} from \"./abstractions.js\";\nimport { ROOT_FOLDER } from \"~/constants.js\";\nimport { FoldersCache, FoldersContext } from \"~/features/folders/abstractions.js\";\nimport { ListFoldersUseCase } from \"~/features/folders/listFolders/abstractions.js\";\nimport { ListFoldersByParentIdsUseCase } from \"~/features/folders/listFoldersByParentIds/abstractions.js\";\nimport { CreateFolderUseCase } from \"~/features/folders/createFolder/abstractions.js\";\nimport { UpdateFolderUseCase } from \"~/features/folders/updateFolder/abstractions.js\";\nimport { DeleteFolderUseCase } from \"~/features/folders/deleteFolder/abstractions.js\";\nimport { GetFolderAncestorsUseCase } from \"~/features/folders/getFolderAncestors/abstractions.js\";\nimport { GetFolderLevelPermissionUseCase } from \"~/features/folders/getFolderLevelPermission/abstractions.js\";\nimport { FormModelFactory } from \"@webiny/app-admin/features/formModel/abstractions.js\";\nimport type { Folder } from \"~/domain/folder/Folder.js\";\nimport type { FolderDto } from \"~/domain/folder/FolderDto.js\";\nimport { FolderDtoMapper } from \"~/domain/folder/FolderDtoMapper.js\";\n\ntype FolderChangeCallback = (folderId: string | null) => void;\n\nclass FolderTreePresenterImpl implements Abstraction.Interface {\n private currentFolderId: string | null = null;\n private loading = false;\n private _loadingNodeIds: string[] = [];\n private operation: IFolderOperationState = { active: false, mode: null };\n private callbacks: Set<FolderChangeCallback> = new Set();\n private disposed = false;\n\n private previousFolders: Folder[] = [];\n\n constructor(\n private foldersContext: FoldersContext.Interface,\n private foldersCache: FoldersCache.Interface,\n private listFoldersUseCase: ListFoldersUseCase.Interface,\n private listFoldersByParentIdsUseCase: ListFoldersByParentIdsUseCase.Interface,\n private createFolderUseCase: CreateFolderUseCase.Interface,\n private updateFolderUseCase: UpdateFolderUseCase.Interface,\n private deleteFolderUseCase: DeleteFolderUseCase.Interface,\n private getFolderAncestorsUseCase: GetFolderAncestorsUseCase.Interface,\n private getFolderLevelPermissionUseCase: GetFolderLevelPermissionUseCase.Interface,\n private formModelFactory: FormModelFactory.Interface,\n private stringFormatter: StringFormatter.Interface\n ) {\n makeAutoObservable<FolderTreePresenterImpl, \"callbacks\" | \"previousFolders\">(\n this,\n { callbacks: false, previousFolders: false },\n { autoBind: true }\n );\n\n reaction(\n () => this.currentFolderId,\n folderId => {\n if (!this.disposed) {\n this.callbacks.forEach(cb => cb(folderId));\n }\n }\n );\n\n reaction(\n () => ({\n folders: this.foldersCache.getItems(),\n currentFolderId: this.currentFolderId\n }),\n ({ folders, currentFolderId }) => {\n if (currentFolderId !== null) {\n const stillExists = folders.some(f => f.id === currentFolderId);\n // Skip when folders is empty *and* a reload is in flight — the cache is\n // cleared before being repopulated, so this is a transient state, not a\n // real \"all folders were removed\" event.\n const isTransientReloadClear = folders.length === 0 && this.loading;\n if (!stillExists && !isTransientReloadClear) {\n const resolvedId = this.resolveValidFolderId(\n currentFolderId,\n this.previousFolders\n );\n this.selectFolder(resolvedId);\n }\n }\n\n this.previousFolders = folders;\n },\n { fireImmediately: true }\n );\n\n void this.loadFolders();\n }\n\n get vm(): IFolderTreeViewModel {\n const tree = this.buildTree();\n const allFolders = this.foldersCache.getItems();\n const currentNode = this.findNode(this.currentFolderId, tree);\n const currentFolder = this.findFolder(this.currentFolderId);\n const childNodes = currentNode\n ? currentNode.children\n : tree.filter(n => n.id !== ROOT_FOLDER);\n return {\n folders: allFolders.map(f => FolderDtoMapper.toDTO(f)),\n tree,\n currentFolderId: this.currentFolderId,\n currentFolder: currentFolder ? FolderDtoMapper.toDTO(currentFolder) : null,\n isRootFolder: this.currentFolderId === null,\n currentFolderTitle: currentNode?.name ?? \"All Files\",\n childFolders: childNodes\n .map(n => {\n const folder = allFolders.find(f => f.id === n.id);\n return folder ? FolderDtoMapper.toDTO(folder) : null;\n })\n .filter((f): f is FolderDto => f !== null),\n loading: this.loading,\n loadingNodeIds: this._loadingNodeIds,\n operation: this.operation\n };\n }\n\n selectFolder(folderId: string | null): void {\n const normalized = folderId === ROOT_FOLDER ? null : folderId;\n this.currentFolderId = normalized;\n if (normalized) {\n void this.loadChildFolders([normalized]);\n }\n }\n\n onFolderChange(callback: FolderChangeCallback): () => void {\n this.callbacks.add(callback);\n return () => {\n this.callbacks.delete(callback);\n };\n }\n\n async loadChildFolders(parentIds: string[]): Promise<void> {\n const fetchableIds = parentIds.filter(id => id !== ROOT_FOLDER && id !== \"0\");\n if (fetchableIds.length === 0) {\n return;\n }\n\n runInAction(() => {\n this._loadingNodeIds = fetchableIds;\n });\n\n try {\n await this.listFoldersByParentIdsUseCase.execute(fetchableIds);\n } finally {\n runInAction(() => {\n this._loadingNodeIds = [];\n });\n }\n }\n\n async moveFolder(folderId: string, targetParentId: string | null): Promise<void> {\n const folders = this.foldersCache.getItems();\n const folder = folders.find(f => f.id === folderId);\n if (!folder) {\n return;\n }\n\n await this.updateFolderUseCase.execute({\n id: folderId,\n title: folder.title,\n slug: folder.slug,\n type: this.foldersContext.type,\n parentId: targetParentId,\n permissions: folder.permissions\n });\n\n await this.loadFolders();\n }\n\n canManageStructure(folderId: string): boolean {\n return this.getFolderLevelPermissionUseCase.execute(folderId, \"canManageStructure\");\n }\n\n getAncestorIds(folderId: string): string[] {\n return this.getFolderAncestorsUseCase.execute(folderId).map(f => f.id);\n }\n\n createFolder(parentFolderId?: string): void {\n const form = this.formModelFactory.create({\n fields: fields => ({\n title: fields.text().label(\"Title\").required(\"Title is required\"),\n slug: fields\n .text()\n .label(\"Slug\")\n .required(\"Slug is required\")\n .computedUntilDirty(({ form }) => {\n const title = form.field(\"title\").getValue();\n return this.stringFormatter.slugify(String(title ?? \"\"));\n }),\n parentId: fields\n .text()\n .label(\"Parent folder\")\n .renderer(\"folderTree\" as any)\n }),\n layout: layout => [layout.row(\"title\"), layout.row(\"slug\"), layout.row(\"parentId\")]\n });\n\n form.setData({ parentId: parentFolderId ?? null });\n\n this.operation = {\n active: true,\n mode: \"create\",\n parentFolderId,\n form\n };\n }\n\n editFolder(folderId: string): void {\n const folders = this.foldersCache.getItems();\n const folder = folders.find(f => f.id === folderId);\n if (!folder) {\n return;\n }\n\n const form = this.formModelFactory.create({\n fields: fields => ({\n title: fields.text().label(\"Name\").required(\"Name is required\"),\n slug: fields\n .text()\n .label(\"Slug\")\n .required(\"Slug is required\")\n .computedUntilDirty(({ form }) => {\n const title = form.field(\"title\").getValue();\n return this.stringFormatter.slugify(String(title ?? \"\"));\n })\n }),\n layout: layout => [layout.row(\"title\"), layout.row(\"slug\")]\n });\n\n form.setData({ title: folder.title, slug: folder.slug });\n\n this.operation = {\n active: true,\n mode: \"edit\",\n folderId,\n form\n };\n }\n\n async submitOperation(): Promise<boolean> {\n const { mode, form, parentFolderId, folderId } = this.operation;\n if (!form || !mode) {\n return false;\n }\n\n const data = await form.submit<{ title: string; slug: string; parentId?: string | null }>();\n if (!data) {\n return false;\n }\n\n if (mode === \"create\") {\n await this.createFolderUseCase.execute({\n title: data.title,\n slug: data.slug,\n type: this.foldersContext.type,\n parentId: data.parentId ?? parentFolderId ?? null,\n permissions: []\n });\n } else if (mode === \"edit\" && folderId) {\n const folders = this.foldersCache.getItems();\n const folder = folders.find(f => f.id === folderId);\n\n await this.updateFolderUseCase.execute({\n id: folderId,\n title: data.title,\n slug: data.slug,\n type: this.foldersContext.type,\n parentId: folder?.parentId ?? null,\n permissions: folder?.permissions ?? []\n });\n }\n\n runInAction(() => {\n this.operation = { active: false, mode: null };\n });\n\n return true;\n }\n\n async deleteFolder(folderId: string): Promise<void> {\n this.operation = {\n active: true,\n mode: \"delete\",\n folderId\n };\n\n await this.deleteFolderUseCase.execute(folderId);\n\n runInAction(() => {\n this.foldersCache.removeItems(f => f.id === folderId);\n this.operation = { active: false, mode: null };\n });\n }\n\n cancelOperation(): void {\n this.operation = { active: false, mode: null };\n }\n\n private async loadFolders(): Promise<void> {\n runInAction(() => {\n this.loading = true;\n });\n\n try {\n await this.listFoldersUseCase.execute();\n } finally {\n runInAction(() => {\n this.loading = false;\n });\n }\n }\n\n private resolveValidFolderId(\n folderId: string | null,\n previousFolders: Folder[]\n ): string | null {\n let candidateId = folderId;\n const visited = new Set<string>();\n\n while (candidateId !== null) {\n if (visited.has(candidateId)) {\n return null;\n }\n visited.add(candidateId);\n\n if (this.foldersCache.getItem(f => f.id === candidateId)) {\n return candidateId;\n }\n\n const prev = previousFolders.find(f => f.id === candidateId);\n candidateId = prev?.parentId ?? null;\n }\n\n return null;\n }\n\n private buildTree(): IFolderTreeNode[] {\n const folders = this.foldersCache.getItems();\n return this.buildTreeFromFolders(folders);\n }\n\n private buildTreeFromFolders(folders: Folder[]): IFolderTreeNode[] {\n const nodeMap = new Map<string, IFolderTreeNode>();\n\n for (const folder of folders) {\n nodeMap.set(folder.id, {\n id: folder.id,\n name: folder.title,\n slug: folder.slug,\n parentId: folder.parentId,\n children: [],\n hasNonInheritedPermissions: folder.hasNonInheritedPermissions ?? false,\n canManagePermissions: folder.canManagePermissions ?? false,\n canManageStructure: folder.canManageStructure ?? true\n });\n }\n\n const roots: IFolderTreeNode[] = [];\n for (const folder of folders) {\n const node = nodeMap.get(folder.id)!;\n if (folder.parentId && nodeMap.has(folder.parentId)) {\n nodeMap.get(folder.parentId)!.children.push(node);\n } else {\n roots.push(node);\n }\n }\n\n return roots;\n }\n\n private findFolder(folderId: string | null): Folder | null {\n if (!folderId) {\n return null;\n }\n\n return this.foldersCache.getItem(f => f.id === folderId) ?? null;\n }\n\n private findNode(folderId: string | null, nodes: IFolderTreeNode[]): IFolderTreeNode | null {\n if (folderId === null) {\n return null;\n }\n\n for (const node of nodes) {\n if (node.id === folderId) {\n return node;\n }\n const found = this.findNode(folderId, node.children);\n if (found) {\n return found;\n }\n }\n\n return null;\n }\n}\n\nexport const FolderTreePresenter = Abstraction.createImplementation({\n implementation: FolderTreePresenterImpl,\n dependencies: [\n FoldersContext,\n FoldersCache,\n ListFoldersUseCase,\n ListFoldersByParentIdsUseCase,\n CreateFolderUseCase,\n UpdateFolderUseCase,\n DeleteFolderUseCase,\n GetFolderAncestorsUseCase,\n GetFolderLevelPermissionUseCase,\n FormModelFactory,\n StringFormatter\n ]\n});\n"],"names":["FolderTreePresenterImpl","foldersContext","foldersCache","listFoldersUseCase","listFoldersByParentIdsUseCase","createFolderUseCase","updateFolderUseCase","deleteFolderUseCase","getFolderAncestorsUseCase","getFolderLevelPermissionUseCase","formModelFactory","stringFormatter","Set","makeAutoObservable","reaction","folderId","cb","folders","currentFolderId","stillExists","f","isTransientReloadClear","resolvedId","tree","allFolders","currentNode","currentFolder","childNodes","n","ROOT_FOLDER","FolderDtoMapper","folder","normalized","callback","parentIds","fetchableIds","id","runInAction","targetParentId","parentFolderId","form","fields","title","String","layout","mode","data","previousFolders","candidateId","visited","prev","nodeMap","Map","roots","node","nodes","found","FolderTreePresenter","Abstraction","FoldersContext","FoldersCache","ListFoldersUseCase","ListFoldersByParentIdsUseCase","CreateFolderUseCase","UpdateFolderUseCase","DeleteFolderUseCase","GetFolderAncestorsUseCase","GetFolderLevelPermissionUseCase","FormModelFactory","StringFormatter"],"mappings":"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"}