@webiny/app-aco 6.3.0-beta.4 → 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,76 +1,74 @@
1
- import React, { useEffect, useMemo, useRef } from "react";
1
+ import react, { useEffect, useMemo, useRef } from "react";
2
2
  import { observer } from "mobx-react-lite";
3
3
  import { Button, Drawer } from "@webiny/admin-ui";
4
4
  import { useHotkeys } from "@webiny/app-admin";
5
5
  import { QueryBuilder } from "./QueryBuilder/index.js";
6
6
  import { QueryBuilderDrawerPresenter } from "./QueryBuilderDrawerPresenter.js";
7
- export const QueryBuilderDrawer = observer(({
8
- filter,
9
- ...props
10
- }) => {
11
- const presenter = useMemo(() => {
12
- return new QueryBuilderDrawerPresenter();
13
- }, []);
14
- useEffect(() => {
15
- presenter.load(filter);
16
- }, [filter]);
17
- const onChange = data => {
18
- presenter.setFilter(data);
19
- };
20
- const onApply = () => {
21
- presenter.onApply(filter => {
22
- props.onApply(filter);
23
- }, () => {
24
- props.onValidationError(presenter.vm.invalidMessage);
7
+ const QueryBuilderDrawer = observer(({ filter, ...props })=>{
8
+ const presenter = useMemo(()=>new QueryBuilderDrawerPresenter(), []);
9
+ useEffect(()=>{
10
+ presenter.load(filter);
11
+ }, [
12
+ filter
13
+ ]);
14
+ const onChange = (data)=>{
15
+ presenter.setFilter(data);
16
+ };
17
+ const onApply = ()=>{
18
+ presenter.onApply((filter)=>{
19
+ props.onApply(filter);
20
+ }, ()=>{
21
+ props.onValidationError(presenter.vm.invalidMessage);
22
+ });
23
+ };
24
+ const onSave = ()=>{
25
+ presenter.onSave((filter)=>{
26
+ props.onSave(filter);
27
+ }, ()=>{
28
+ props.onValidationError(presenter.vm.invalidMessage);
29
+ });
30
+ };
31
+ useHotkeys({
32
+ zIndex: 55,
33
+ disabled: !props.vm.isOpen,
34
+ keys: {
35
+ esc: props.onClose
36
+ }
25
37
  });
26
- };
27
- const onSave = () => {
28
- presenter.onSave(filter => {
29
- props.onSave(filter);
30
- }, () => {
31
- props.onValidationError(presenter.vm.invalidMessage);
32
- });
33
- };
34
- useHotkeys({
35
- zIndex: 55,
36
- disabled: !props.vm.isOpen,
37
- keys: {
38
- esc: props.onClose
39
- }
40
- });
41
- const ref = useRef(null);
42
- return /*#__PURE__*/React.createElement(Drawer, {
43
- open: props.vm.isOpen,
44
- onClose: props.onClose,
45
- modal: true,
46
- width: 1000,
47
- title: "Advanced search filter",
48
- description: "Create a filter to search for specific content.",
49
- info: /*#__PURE__*/React.createElement(Button, {
50
- onClick: onSave,
51
- text: "Save filter",
52
- variant: "secondary"
53
- }),
54
- actions: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Drawer.CancelButton, {
55
- text: "Cancel"
56
- }), /*#__PURE__*/React.createElement(Drawer.ConfirmButton, {
57
- onClick: () => ref.current?.submit(),
58
- text: "Apply filter"
59
- })),
60
- headerSeparator: true,
61
- footerSeparator: true
62
- }, /*#__PURE__*/React.createElement(QueryBuilder, {
63
- onForm: form => ref.current = form,
64
- onSubmit: onApply,
65
- onChange: data => onChange(data),
66
- onDeleteGroup: groupIndex => presenter.deleteGroup(groupIndex),
67
- onSetFilterFieldData: (groupIndex, filterIndex, data) => presenter.setFilterFieldData(groupIndex, filterIndex, data),
68
- onDeleteFilterFromGroup: (groupIndex, filterIndex) => presenter.deleteFilterFromGroup(groupIndex, filterIndex),
69
- onAddNewFilterToGroup: groupIndex => presenter.addNewFilterToGroup(groupIndex),
70
- onAddGroup: () => presenter.addGroup(),
71
- fields: props.fields,
72
- vm: presenter.vm
73
- }));
38
+ const ref = useRef(null);
39
+ return /*#__PURE__*/ react.createElement(Drawer, {
40
+ open: props.vm.isOpen,
41
+ onClose: props.onClose,
42
+ modal: true,
43
+ width: 1000,
44
+ title: "Advanced search filter",
45
+ description: "Create a filter to search for specific content.",
46
+ info: /*#__PURE__*/ react.createElement(Button, {
47
+ onClick: onSave,
48
+ text: "Save filter",
49
+ variant: "secondary"
50
+ }),
51
+ actions: /*#__PURE__*/ react.createElement(react.Fragment, null, /*#__PURE__*/ react.createElement(Drawer.CancelButton, {
52
+ text: "Cancel"
53
+ }), /*#__PURE__*/ react.createElement(Drawer.ConfirmButton, {
54
+ onClick: ()=>ref.current?.submit(),
55
+ text: "Apply filter"
56
+ })),
57
+ headerSeparator: true,
58
+ footerSeparator: true
59
+ }, /*#__PURE__*/ react.createElement(QueryBuilder, {
60
+ onForm: (form)=>ref.current = form,
61
+ onSubmit: onApply,
62
+ onChange: (data)=>onChange(data),
63
+ onDeleteGroup: (groupIndex)=>presenter.deleteGroup(groupIndex),
64
+ onSetFilterFieldData: (groupIndex, filterIndex, data)=>presenter.setFilterFieldData(groupIndex, filterIndex, data),
65
+ onDeleteFilterFromGroup: (groupIndex, filterIndex)=>presenter.deleteFilterFromGroup(groupIndex, filterIndex),
66
+ onAddNewFilterToGroup: (groupIndex)=>presenter.addNewFilterToGroup(groupIndex),
67
+ onAddGroup: ()=>presenter.addGroup(),
68
+ fields: props.fields,
69
+ vm: presenter.vm
70
+ }));
74
71
  });
72
+ export { QueryBuilderDrawer };
75
73
 
76
74
  //# sourceMappingURL=QueryBuilderDrawer.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useMemo","useRef","observer","Button","Drawer","useHotkeys","QueryBuilder","QueryBuilderDrawerPresenter","QueryBuilderDrawer","filter","props","presenter","load","onChange","data","setFilter","onApply","onValidationError","vm","invalidMessage","onSave","zIndex","disabled","isOpen","keys","esc","onClose","ref","createElement","open","modal","width","title","description","info","onClick","text","variant","actions","Fragment","CancelButton","ConfirmButton","current","submit","headerSeparator","footerSeparator","onForm","form","onSubmit","onDeleteGroup","groupIndex","deleteGroup","onSetFilterFieldData","filterIndex","setFilterFieldData","onDeleteFilterFromGroup","deleteFilterFromGroup","onAddNewFilterToGroup","addNewFilterToGroup","onAddGroup","addGroup","fields"],"sources":["QueryBuilderDrawer.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useRef } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { Button, Drawer } from \"@webiny/admin-ui\";\nimport { useHotkeys } from \"@webiny/app-admin\";\nimport type { FormAPI } from \"@webiny/form\";\nimport { QueryBuilder } from \"./QueryBuilder/index.js\";\n\nimport type { FieldDTOWithElement, FilterDTO } from \"~/components/AdvancedSearch/domain/index.js\";\n\nimport type { QueryBuilderFormData } from \"./QueryBuilderDrawerPresenter.js\";\nimport { QueryBuilderDrawerPresenter } from \"./QueryBuilderDrawerPresenter.js\";\n\ninterface QueryBuilderDrawerProps {\n fields: FieldDTOWithElement[];\n onClose: () => void;\n onSave: (data: FilterDTO) => void;\n onApply: (data: FilterDTO) => void;\n onValidationError: (message: string) => void;\n filter: FilterDTO;\n vm: {\n isOpen: boolean;\n };\n}\n\nexport const QueryBuilderDrawer = observer(({ filter, ...props }: QueryBuilderDrawerProps) => {\n const presenter = useMemo<QueryBuilderDrawerPresenter>(() => {\n return new QueryBuilderDrawerPresenter();\n }, []);\n\n useEffect(() => {\n presenter.load(filter);\n }, [filter]);\n\n const onChange = (data: QueryBuilderFormData) => {\n presenter.setFilter(data);\n };\n\n const onApply = () => {\n presenter.onApply(\n filter => {\n props.onApply(filter);\n },\n () => {\n props.onValidationError(presenter.vm.invalidMessage);\n }\n );\n };\n\n const onSave = () => {\n presenter.onSave(\n filter => {\n props.onSave(filter);\n },\n () => {\n props.onValidationError(presenter.vm.invalidMessage);\n }\n );\n };\n\n useHotkeys({\n zIndex: 55,\n disabled: !props.vm.isOpen,\n keys: {\n esc: props.onClose\n }\n });\n\n const ref = useRef<FormAPI | null>(null);\n\n return (\n <Drawer\n open={props.vm.isOpen}\n onClose={props.onClose}\n modal={true}\n width={1000}\n title={\"Advanced search filter\"}\n description={\"Create a filter to search for specific content.\"}\n info={<Button onClick={onSave} text={\"Save filter\"} variant={\"secondary\"} />}\n actions={\n <>\n <Drawer.CancelButton text={\"Cancel\"} />\n <Drawer.ConfirmButton\n onClick={() => ref.current?.submit()}\n text={\"Apply filter\"}\n />\n </>\n }\n headerSeparator={true}\n footerSeparator={true}\n >\n <QueryBuilder\n onForm={form => (ref.current = form)}\n onSubmit={onApply}\n onChange={data => onChange(data)}\n onDeleteGroup={groupIndex => presenter.deleteGroup(groupIndex)}\n onSetFilterFieldData={(groupIndex, filterIndex, data) =>\n presenter.setFilterFieldData(groupIndex, filterIndex, data)\n }\n onDeleteFilterFromGroup={(groupIndex, filterIndex) =>\n presenter.deleteFilterFromGroup(groupIndex, filterIndex)\n }\n onAddNewFilterToGroup={groupIndex => presenter.addNewFilterToGroup(groupIndex)}\n onAddGroup={() => presenter.addGroup()}\n fields={props.fields}\n vm={presenter.vm}\n />\n </Drawer>\n );\n});\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,OAAO,EAAEC,MAAM,QAAQ,OAAO;AACzD,SAASC,QAAQ,QAAQ,iBAAiB;AAC1C,SAASC,MAAM,EAAEC,MAAM,QAAQ,kBAAkB;AACjD,SAASC,UAAU,QAAQ,mBAAmB;AAE9C,SAASC,YAAY;AAKrB,SAASC,2BAA2B;AAcpC,OAAO,MAAMC,kBAAkB,GAAGN,QAAQ,CAAC,CAAC;EAAEO,MAAM;EAAE,GAAGC;AAA+B,CAAC,KAAK;EAC1F,MAAMC,SAAS,GAAGX,OAAO,CAA8B,MAAM;IACzD,OAAO,IAAIO,2BAA2B,CAAC,CAAC;EAC5C,CAAC,EAAE,EAAE,CAAC;EAENR,SAAS,CAAC,MAAM;IACZY,SAAS,CAACC,IAAI,CAACH,MAAM,CAAC;EAC1B,CAAC,EAAE,CAACA,MAAM,CAAC,CAAC;EAEZ,MAAMI,QAAQ,GAAIC,IAA0B,IAAK;IAC7CH,SAAS,CAACI,SAAS,CAACD,IAAI,CAAC;EAC7B,CAAC;EAED,MAAME,OAAO,GAAGA,CAAA,KAAM;IAClBL,SAAS,CAACK,OAAO,CACbP,MAAM,IAAI;MACNC,KAAK,CAACM,OAAO,CAACP,MAAM,CAAC;IACzB,CAAC,EACD,MAAM;MACFC,KAAK,CAACO,iBAAiB,CAACN,SAAS,CAACO,EAAE,CAACC,cAAc,CAAC;IACxD,CACJ,CAAC;EACL,CAAC;EAED,MAAMC,MAAM,GAAGA,CAAA,KAAM;IACjBT,SAAS,CAACS,MAAM,CACZX,MAAM,IAAI;MACNC,KAAK,CAACU,MAAM,CAACX,MAAM,CAAC;IACxB,CAAC,EACD,MAAM;MACFC,KAAK,CAACO,iBAAiB,CAACN,SAAS,CAACO,EAAE,CAACC,cAAc,CAAC;IACxD,CACJ,CAAC;EACL,CAAC;EAEDd,UAAU,CAAC;IACPgB,MAAM,EAAE,EAAE;IACVC,QAAQ,EAAE,CAACZ,KAAK,CAACQ,EAAE,CAACK,MAAM;IAC1BC,IAAI,EAAE;MACFC,GAAG,EAAEf,KAAK,CAACgB;IACf;EACJ,CAAC,CAAC;EAEF,MAAMC,GAAG,GAAG1B,MAAM,CAAiB,IAAI,CAAC;EAExC,oBACIH,KAAA,CAAA8B,aAAA,CAACxB,MAAM;IACHyB,IAAI,EAAEnB,KAAK,CAACQ,EAAE,CAACK,MAAO;IACtBG,OAAO,EAAEhB,KAAK,CAACgB,OAAQ;IACvBI,KAAK,EAAE,IAAK;IACZC,KAAK,EAAE,IAAK;IACZC,KAAK,EAAE,wBAAyB;IAChCC,WAAW,EAAE,iDAAkD;IAC/DC,IAAI,eAAEpC,KAAA,CAAA8B,aAAA,CAACzB,MAAM;MAACgC,OAAO,EAAEf,MAAO;MAACgB,IAAI,EAAE,aAAc;MAACC,OAAO,EAAE;IAAY,CAAE,CAAE;IAC7EC,OAAO,eACHxC,KAAA,CAAA8B,aAAA,CAAA9B,KAAA,CAAAyC,QAAA,qBACIzC,KAAA,CAAA8B,aAAA,CAACxB,MAAM,CAACoC,YAAY;MAACJ,IAAI,EAAE;IAAS,CAAE,CAAC,eACvCtC,KAAA,CAAA8B,aAAA,CAACxB,MAAM,CAACqC,aAAa;MACjBN,OAAO,EAAEA,CAAA,KAAMR,GAAG,CAACe,OAAO,EAAEC,MAAM,CAAC,CAAE;MACrCP,IAAI,EAAE;IAAe,CACxB,CACH,CACL;IACDQ,eAAe,EAAE,IAAK;IACtBC,eAAe,EAAE;EAAK,gBAEtB/C,KAAA,CAAA8B,aAAA,CAACtB,YAAY;IACTwC,MAAM,EAAEC,IAAI,IAAKpB,GAAG,CAACe,OAAO,GAAGK,IAAM;IACrCC,QAAQ,EAAEhC,OAAQ;IAClBH,QAAQ,EAAEC,IAAI,IAAID,QAAQ,CAACC,IAAI,CAAE;IACjCmC,aAAa,EAAEC,UAAU,IAAIvC,SAAS,CAACwC,WAAW,CAACD,UAAU,CAAE;IAC/DE,oBAAoB,EAAEA,CAACF,UAAU,EAAEG,WAAW,EAAEvC,IAAI,KAChDH,SAAS,CAAC2C,kBAAkB,CAACJ,UAAU,EAAEG,WAAW,EAAEvC,IAAI,CAC7D;IACDyC,uBAAuB,EAAEA,CAACL,UAAU,EAAEG,WAAW,KAC7C1C,SAAS,CAAC6C,qBAAqB,CAACN,UAAU,EAAEG,WAAW,CAC1D;IACDI,qBAAqB,EAAEP,UAAU,IAAIvC,SAAS,CAAC+C,mBAAmB,CAACR,UAAU,CAAE;IAC/ES,UAAU,EAAEA,CAAA,KAAMhD,SAAS,CAACiD,QAAQ,CAAC,CAAE;IACvCC,MAAM,EAAEnD,KAAK,CAACmD,MAAO;IACrB3C,EAAE,EAAEP,SAAS,CAACO;EAAG,CACpB,CACG,CAAC;AAEjB,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.js","sources":["../../../../src/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useRef } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { Button, Drawer } from \"@webiny/admin-ui\";\nimport { useHotkeys } from \"@webiny/app-admin\";\nimport type { FormAPI } from \"@webiny/form\";\nimport { QueryBuilder } from \"./QueryBuilder/index.js\";\n\nimport type { FieldDTOWithElement, FilterDTO } from \"~/components/AdvancedSearch/domain/index.js\";\n\nimport type { QueryBuilderFormData } from \"./QueryBuilderDrawerPresenter.js\";\nimport { QueryBuilderDrawerPresenter } from \"./QueryBuilderDrawerPresenter.js\";\n\ninterface QueryBuilderDrawerProps {\n fields: FieldDTOWithElement[];\n onClose: () => void;\n onSave: (data: FilterDTO) => void;\n onApply: (data: FilterDTO) => void;\n onValidationError: (message: string) => void;\n filter: FilterDTO;\n vm: {\n isOpen: boolean;\n };\n}\n\nexport const QueryBuilderDrawer = observer(({ filter, ...props }: QueryBuilderDrawerProps) => {\n const presenter = useMemo<QueryBuilderDrawerPresenter>(() => {\n return new QueryBuilderDrawerPresenter();\n }, []);\n\n useEffect(() => {\n presenter.load(filter);\n }, [filter]);\n\n const onChange = (data: QueryBuilderFormData) => {\n presenter.setFilter(data);\n };\n\n const onApply = () => {\n presenter.onApply(\n filter => {\n props.onApply(filter);\n },\n () => {\n props.onValidationError(presenter.vm.invalidMessage);\n }\n );\n };\n\n const onSave = () => {\n presenter.onSave(\n filter => {\n props.onSave(filter);\n },\n () => {\n props.onValidationError(presenter.vm.invalidMessage);\n }\n );\n };\n\n useHotkeys({\n zIndex: 55,\n disabled: !props.vm.isOpen,\n keys: {\n esc: props.onClose\n }\n });\n\n const ref = useRef<FormAPI | null>(null);\n\n return (\n <Drawer\n open={props.vm.isOpen}\n onClose={props.onClose}\n modal={true}\n width={1000}\n title={\"Advanced search filter\"}\n description={\"Create a filter to search for specific content.\"}\n info={<Button onClick={onSave} text={\"Save filter\"} variant={\"secondary\"} />}\n actions={\n <>\n <Drawer.CancelButton text={\"Cancel\"} />\n <Drawer.ConfirmButton\n onClick={() => ref.current?.submit()}\n text={\"Apply filter\"}\n />\n </>\n }\n headerSeparator={true}\n footerSeparator={true}\n >\n <QueryBuilder\n onForm={form => (ref.current = form)}\n onSubmit={onApply}\n onChange={data => onChange(data)}\n onDeleteGroup={groupIndex => presenter.deleteGroup(groupIndex)}\n onSetFilterFieldData={(groupIndex, filterIndex, data) =>\n presenter.setFilterFieldData(groupIndex, filterIndex, data)\n }\n onDeleteFilterFromGroup={(groupIndex, filterIndex) =>\n presenter.deleteFilterFromGroup(groupIndex, filterIndex)\n }\n onAddNewFilterToGroup={groupIndex => presenter.addNewFilterToGroup(groupIndex)}\n onAddGroup={() => presenter.addGroup()}\n fields={props.fields}\n vm={presenter.vm}\n />\n </Drawer>\n );\n});\n"],"names":["QueryBuilderDrawer","observer","filter","props","presenter","useMemo","QueryBuilderDrawerPresenter","useEffect","onChange","data","onApply","onSave","useHotkeys","ref","useRef","Drawer","Button","QueryBuilder","form","groupIndex","filterIndex"],"mappings":";;;;;;AAwBO,MAAMA,qBAAqBC,SAAS,CAAC,EAAEC,MAAM,EAAE,GAAGC,OAAgC;IACrF,MAAMC,YAAYC,QAAqC,IAC5C,IAAIC,+BACZ,EAAE;IAELC,UAAU;QACNH,UAAU,IAAI,CAACF;IACnB,GAAG;QAACA;KAAO;IAEX,MAAMM,WAAW,CAACC;QACdL,UAAU,SAAS,CAACK;IACxB;IAEA,MAAMC,UAAU;QACZN,UAAU,OAAO,CACbF,CAAAA;YACIC,MAAM,OAAO,CAACD;QAClB,GACA;YACIC,MAAM,iBAAiB,CAACC,UAAU,EAAE,CAAC,cAAc;QACvD;IAER;IAEA,MAAMO,SAAS;QACXP,UAAU,MAAM,CACZF,CAAAA;YACIC,MAAM,MAAM,CAACD;QACjB,GACA;YACIC,MAAM,iBAAiB,CAACC,UAAU,EAAE,CAAC,cAAc;QACvD;IAER;IAEAQ,WAAW;QACP,QAAQ;QACR,UAAU,CAACT,MAAM,EAAE,CAAC,MAAM;QAC1B,MAAM;YACF,KAAKA,MAAM,OAAO;QACtB;IACJ;IAEA,MAAMU,MAAMC,OAAuB;IAEnC,OAAO,WAAP,GACI,oBAACC,QAAMA;QACH,MAAMZ,MAAM,EAAE,CAAC,MAAM;QACrB,SAASA,MAAM,OAAO;QACtB,OAAO;QACP,OAAO;QACP,OAAO;QACP,aAAa;QACb,oBAAM,oBAACa,QAAMA;YAAC,SAASL;YAAQ,MAAM;YAAe,SAAS;;QAC7D,uBACI,wDACI,oBAACI,OAAO,YAAY;YAAC,MAAM;0BAC3B,oBAACA,OAAO,aAAa;YACjB,SAAS,IAAMF,IAAI,OAAO,EAAE;YAC5B,MAAM;;QAIlB,iBAAiB;QACjB,iBAAiB;qBAEjB,oBAACI,cAAYA;QACT,QAAQC,CAAAA,OAASL,IAAI,OAAO,GAAGK;QAC/B,UAAUR;QACV,UAAUD,CAAAA,OAAQD,SAASC;QAC3B,eAAeU,CAAAA,aAAcf,UAAU,WAAW,CAACe;QACnD,sBAAsB,CAACA,YAAYC,aAAaX,OAC5CL,UAAU,kBAAkB,CAACe,YAAYC,aAAaX;QAE1D,yBAAyB,CAACU,YAAYC,cAClChB,UAAU,qBAAqB,CAACe,YAAYC;QAEhD,uBAAuBD,CAAAA,aAAcf,UAAU,mBAAmB,CAACe;QACnE,YAAY,IAAMf,UAAU,QAAQ;QACpC,QAAQD,MAAM,MAAM;QACpB,IAAIC,UAAU,EAAE;;AAIhC"}
@@ -1,156 +1,127 @@
1
1
  import { makeAutoObservable } from "mobx";
2
2
  import { Filter, Operation } from "../domain/index.js";
3
- export class QueryBuilderDrawerPresenter {
4
- formWasSubmitted = false;
5
- invalidFields = {};
6
- invalidMessage = "";
7
- constructor() {
8
- this.filter = undefined;
9
- makeAutoObservable(this);
10
- }
11
- load(filter) {
12
- this.filter = filter;
13
- }
14
- get vm() {
15
- return {
16
- name: this.filter?.name || "",
17
- description: this.filter?.description || "",
18
- invalidFields: this.invalidFields,
19
- invalidMessage: this.invalidMessage,
20
- data: {
21
- operation: this.filter?.operation || Operation.AND,
22
- groups: this.filter?.groups.map((group, groupIndex) => {
23
- return {
24
- title: `Filter group #${groupIndex + 1}`,
25
- open: true,
26
- operation: group.operation,
27
- canDelete: groupIndex !== 0,
28
- filters: group.filters.map((filter, filterIndex) => ({
29
- field: filter.field,
30
- condition: filter.condition,
31
- value: filter.value,
32
- canDelete: filterIndex !== 0
33
- }))
34
- };
35
- }) || []
36
- }
37
- };
38
- }
39
- addGroup() {
40
- if (!this.filter) {
41
- return;
3
+ class QueryBuilderDrawerPresenter {
4
+ constructor(){
5
+ this.formWasSubmitted = false;
6
+ this.invalidFields = {};
7
+ this.invalidMessage = "";
8
+ this.filter = void 0;
9
+ makeAutoObservable(this);
42
10
  }
43
- this.filter.groups.push({
44
- operation: Operation.AND,
45
- filters: [{
46
- field: "",
47
- value: "",
48
- condition: ""
49
- }]
50
- });
51
- }
52
- deleteGroup(groupIndex) {
53
- if (!this.filter) {
54
- return;
11
+ load(filter) {
12
+ this.filter = filter;
55
13
  }
56
- this.filter.groups = this.filter.groups.filter((_, index) => index !== groupIndex);
57
-
58
- // Make sure we always have at least 1 group!
59
- if (this.filter.groups.length === 0) {
60
- this.addGroup();
61
- }
62
- }
63
- addNewFilterToGroup(groupIndex) {
64
- if (!this.filter) {
65
- return;
14
+ get vm() {
15
+ return {
16
+ name: this.filter?.name || "",
17
+ description: this.filter?.description || "",
18
+ invalidFields: this.invalidFields,
19
+ invalidMessage: this.invalidMessage,
20
+ data: {
21
+ operation: this.filter?.operation || Operation.AND,
22
+ groups: this.filter?.groups.map((group, groupIndex)=>({
23
+ title: `Filter group #${groupIndex + 1}`,
24
+ open: true,
25
+ operation: group.operation,
26
+ canDelete: 0 !== groupIndex,
27
+ filters: group.filters.map((filter, filterIndex)=>({
28
+ field: filter.field,
29
+ condition: filter.condition,
30
+ value: filter.value,
31
+ canDelete: 0 !== filterIndex
32
+ }))
33
+ })) || []
34
+ }
35
+ };
66
36
  }
67
- this.filter.groups[groupIndex].filters.push({
68
- field: "",
69
- value: "",
70
- condition: ""
71
- });
72
- }
73
- deleteFilterFromGroup(groupIndex, filterIndex) {
74
- if (!this.filter) {
75
- return;
37
+ addGroup() {
38
+ if (!this.filter) return;
39
+ this.filter.groups.push({
40
+ operation: Operation.AND,
41
+ filters: [
42
+ {
43
+ field: "",
44
+ value: "",
45
+ condition: ""
46
+ }
47
+ ]
48
+ });
76
49
  }
77
- const filters = this.filter.groups[groupIndex].filters;
78
- this.filter.groups[groupIndex].filters = filters.filter((_, index) => index !== filterIndex);
79
-
80
- // Make sure we always have at least 1 filter!
81
- if (this.filter.groups[groupIndex].filters.length === 0) {
82
- this.filter.groups[groupIndex].filters.push({
83
- field: "",
84
- value: "",
85
- condition: ""
86
- });
50
+ deleteGroup(groupIndex) {
51
+ if (!this.filter) return;
52
+ this.filter.groups = this.filter.groups.filter((_, index)=>index !== groupIndex);
53
+ if (0 === this.filter.groups.length) this.addGroup();
87
54
  }
88
- }
89
- setFilterFieldData(groupIndex, filterIndex, data) {
90
- if (!this.filter) {
91
- return;
55
+ addNewFilterToGroup(groupIndex) {
56
+ if (!this.filter) return;
57
+ this.filter.groups[groupIndex].filters.push({
58
+ field: "",
59
+ value: "",
60
+ condition: ""
61
+ });
92
62
  }
93
- this.filter.groups[groupIndex].filters = [...this.filter.groups[groupIndex].filters.slice(0, filterIndex), {
94
- field: data,
95
- value: "",
96
- condition: ""
97
- }, ...this.filter.groups[groupIndex].filters.slice(filterIndex + 1)];
98
- }
99
- setFilter(data) {
100
- if (!this.filter) {
101
- return;
63
+ deleteFilterFromGroup(groupIndex, filterIndex) {
64
+ if (!this.filter) return;
65
+ const filters = this.filter.groups[groupIndex].filters;
66
+ this.filter.groups[groupIndex].filters = filters.filter((_, index)=>index !== filterIndex);
67
+ if (0 === this.filter.groups[groupIndex].filters.length) this.filter.groups[groupIndex].filters.push({
68
+ field: "",
69
+ value: "",
70
+ condition: ""
71
+ });
102
72
  }
103
- this.filter = {
104
- ...this.filter,
105
- operation: data.operation,
106
- groups: data.groups.map(group => ({
107
- operation: group.operation,
108
- filters: group.filters
109
- }))
110
- };
111
- if (this.formWasSubmitted) {
112
- this.validateFilter(this.filter);
73
+ setFilterFieldData(groupIndex, filterIndex, data) {
74
+ if (!this.filter) return;
75
+ this.filter.groups[groupIndex].filters = [
76
+ ...this.filter.groups[groupIndex].filters.slice(0, filterIndex),
77
+ {
78
+ field: data,
79
+ value: "",
80
+ condition: ""
81
+ },
82
+ ...this.filter.groups[groupIndex].filters.slice(filterIndex + 1)
83
+ ];
113
84
  }
114
- }
115
- onApply(onSuccess, onError) {
116
- if (!this.filter) {
117
- return;
118
- }
119
- const result = this.validateFilter(this.filter);
120
- if (result.success) {
121
- onSuccess && onSuccess(this.filter);
122
- } else {
123
- onError && onError(this.filter);
85
+ setFilter(data) {
86
+ if (!this.filter) return;
87
+ this.filter = {
88
+ ...this.filter,
89
+ operation: data.operation,
90
+ groups: data.groups.map((group)=>({
91
+ operation: group.operation,
92
+ filters: group.filters
93
+ }))
94
+ };
95
+ if (this.formWasSubmitted) this.validateFilter(this.filter);
124
96
  }
125
- }
126
- onSave(onSuccess, onError) {
127
- if (!this.filter) {
128
- return;
97
+ onApply(onSuccess, onError) {
98
+ if (!this.filter) return;
99
+ const result = this.validateFilter(this.filter);
100
+ if (result.success) onSuccess && onSuccess(this.filter);
101
+ else onError && onError(this.filter);
129
102
  }
130
- const result = this.validateFilter(this.filter);
131
- if (result.success) {
132
- onSuccess && onSuccess(this.filter);
133
- } else {
134
- onError && onError(this.filter);
103
+ onSave(onSuccess, onError) {
104
+ if (!this.filter) return;
105
+ const result = this.validateFilter(this.filter);
106
+ if (result.success) onSuccess && onSuccess(this.filter);
107
+ else onError && onError(this.filter);
135
108
  }
136
- }
137
- validateFilter(data) {
138
- this.formWasSubmitted = true;
139
- const validation = Filter.validate(data);
140
- if (!validation.success) {
141
- this.invalidMessage = "Error during the validation: check the filter configuration.";
142
- this.invalidFields = validation.error.issues.reduce((acc, issue) => {
143
- return {
144
- ...acc,
145
- [issue.path.join(".")]: issue.message
146
- };
147
- }, {});
148
- } else {
149
- this.invalidMessage = "";
150
- this.invalidFields = {};
109
+ validateFilter(data) {
110
+ this.formWasSubmitted = true;
111
+ const validation = Filter.validate(data);
112
+ if (validation.success) {
113
+ this.invalidMessage = "";
114
+ this.invalidFields = {};
115
+ } else {
116
+ this.invalidMessage = "Error during the validation: check the filter configuration.";
117
+ this.invalidFields = validation.error.issues.reduce((acc, issue)=>({
118
+ ...acc,
119
+ [issue.path.join(".")]: issue.message
120
+ }), {});
121
+ }
122
+ return validation;
151
123
  }
152
- return validation;
153
- }
154
124
  }
125
+ export { QueryBuilderDrawerPresenter };
155
126
 
156
127
  //# sourceMappingURL=QueryBuilderDrawerPresenter.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["makeAutoObservable","Filter","Operation","QueryBuilderDrawerPresenter","formWasSubmitted","invalidFields","invalidMessage","constructor","filter","undefined","load","vm","name","description","data","operation","AND","groups","map","group","groupIndex","title","open","canDelete","filters","filterIndex","field","condition","value","addGroup","push","deleteGroup","_","index","length","addNewFilterToGroup","deleteFilterFromGroup","setFilterFieldData","slice","setFilter","validateFilter","onApply","onSuccess","onError","result","success","onSave","validation","validate","error","issues","reduce","acc","issue","path","join","message"],"sources":["QueryBuilderDrawerPresenter.ts"],"sourcesContent":["import { makeAutoObservable } from \"mobx\";\nimport type { FilterDTO, FilterGroupDTO, FilterGroupFilterDTO } from \"../domain/index.js\";\nimport { Filter, Operation } from \"../domain/index.js\";\nimport type { FormInvalidFields } from \"@webiny/form\";\n\nexport interface QueryBuilderDrawerPresenterInterface {\n load(filter: FilterDTO): void;\n addGroup(): void;\n deleteGroup(groupIndex: number): void;\n addNewFilterToGroup(groupIndex: number): void;\n deleteFilterFromGroup(groupIndex: number, filterIndex: number): void;\n setFilterFieldData(groupIndex: number, filterIndex: number, data: string): void;\n setFilter(data: QueryBuilderFormData): void;\n onApply(onSuccess?: (filter: FilterDTO) => void, onError?: (filter: FilterDTO) => void): void;\n onSave(onSuccess?: (filter: FilterDTO) => void, onError?: (filter: FilterDTO) => void): void;\n get vm(): QueryBuilderViewModel;\n}\n\nexport interface QueryBuilderViewModel {\n name: string;\n description: string;\n invalidFields: FormInvalidFields;\n invalidMessage: string;\n data: QueryBuilderFormData;\n}\n\nexport interface QueryBuilderFormData {\n operation: Operation;\n groups: {\n operation: Operation;\n title: string;\n open: boolean;\n canDelete: boolean;\n filters: (FilterGroupFilterDTO & { canDelete: boolean })[];\n }[];\n}\n\nexport class QueryBuilderDrawerPresenter implements QueryBuilderDrawerPresenterInterface {\n private formWasSubmitted = false;\n private invalidFields: QueryBuilderViewModel[\"invalidFields\"] = {};\n private invalidMessage = \"\";\n private filter: FilterDTO | undefined;\n\n constructor() {\n this.filter = undefined;\n makeAutoObservable(this);\n }\n\n load(filter: FilterDTO) {\n this.filter = filter;\n }\n\n get vm() {\n return {\n name: this.filter?.name || \"\",\n description: this.filter?.description || \"\",\n invalidFields: this.invalidFields,\n invalidMessage: this.invalidMessage,\n data: {\n operation: this.filter?.operation || Operation.AND,\n groups:\n this.filter?.groups.map((group: FilterGroupDTO, groupIndex) => {\n return {\n title: `Filter group #${groupIndex + 1}`,\n open: true,\n operation: group.operation,\n canDelete: groupIndex !== 0,\n filters: group.filters.map((filter, filterIndex) => ({\n field: filter.field,\n condition: filter.condition,\n value: filter.value,\n canDelete: filterIndex !== 0\n }))\n };\n }) || []\n }\n };\n }\n\n addGroup() {\n if (!this.filter) {\n return;\n }\n\n this.filter.groups.push({\n operation: Operation.AND,\n filters: [{ field: \"\", value: \"\", condition: \"\" }]\n });\n }\n\n deleteGroup(groupIndex: number) {\n if (!this.filter) {\n return;\n }\n\n this.filter.groups = this.filter.groups.filter((_, index) => index !== groupIndex);\n\n // Make sure we always have at least 1 group!\n if (this.filter.groups.length === 0) {\n this.addGroup();\n }\n }\n\n addNewFilterToGroup(groupIndex: number) {\n if (!this.filter) {\n return;\n }\n\n this.filter.groups[groupIndex].filters.push({\n field: \"\",\n value: \"\",\n condition: \"\"\n });\n }\n\n deleteFilterFromGroup(groupIndex: number, filterIndex: number) {\n if (!this.filter) {\n return;\n }\n\n const filters = this.filter.groups[groupIndex].filters;\n this.filter.groups[groupIndex].filters = filters.filter(\n (_, index) => index !== filterIndex\n );\n\n // Make sure we always have at least 1 filter!\n if (this.filter.groups[groupIndex].filters.length === 0) {\n this.filter.groups[groupIndex].filters.push({\n field: \"\",\n value: \"\",\n condition: \"\"\n });\n }\n }\n\n setFilterFieldData(groupIndex: number, filterIndex: number, data: string) {\n if (!this.filter) {\n return;\n }\n\n this.filter.groups[groupIndex].filters = [\n ...this.filter.groups[groupIndex].filters.slice(0, filterIndex),\n {\n field: data,\n value: \"\",\n condition: \"\"\n },\n ...this.filter.groups[groupIndex].filters.slice(filterIndex + 1)\n ];\n }\n\n setFilter(data: QueryBuilderFormData) {\n if (!this.filter) {\n return;\n }\n\n this.filter = {\n ...this.filter,\n operation: data.operation,\n groups: data.groups.map(group => ({\n operation: group.operation,\n filters: group.filters\n }))\n };\n\n if (this.formWasSubmitted) {\n this.validateFilter(this.filter);\n }\n }\n\n onApply(onSuccess?: (filter: FilterDTO) => void, onError?: (filter: FilterDTO) => void) {\n if (!this.filter) {\n return;\n }\n\n const result = this.validateFilter(this.filter);\n if (result.success) {\n onSuccess && onSuccess(this.filter);\n } else {\n onError && onError(this.filter);\n }\n }\n\n onSave(onSuccess?: (filter: FilterDTO) => void, onError?: (filter: FilterDTO) => void) {\n if (!this.filter) {\n return;\n }\n\n const result = this.validateFilter(this.filter);\n if (result.success) {\n onSuccess && onSuccess(this.filter);\n } else {\n onError && onError(this.filter);\n }\n }\n\n private validateFilter(data: FilterDTO) {\n this.formWasSubmitted = true;\n const validation = Filter.validate(data);\n\n if (!validation.success) {\n this.invalidMessage = \"Error during the validation: check the filter configuration.\";\n this.invalidFields = validation.error.issues.reduce((acc, issue) => {\n return {\n ...acc,\n [issue.path.join(\".\")]: issue.message\n };\n }, {});\n } else {\n this.invalidMessage = \"\";\n this.invalidFields = {};\n }\n\n return validation;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.js","sources":["../../../../src/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.ts"],"sourcesContent":["import { makeAutoObservable } from \"mobx\";\nimport type { FilterDTO, FilterGroupDTO, FilterGroupFilterDTO } from \"../domain/index.js\";\nimport { Filter, Operation } from \"../domain/index.js\";\nimport type { FormInvalidFields } from \"@webiny/form\";\n\nexport interface QueryBuilderDrawerPresenterInterface {\n load(filter: FilterDTO): void;\n addGroup(): void;\n deleteGroup(groupIndex: number): void;\n addNewFilterToGroup(groupIndex: number): void;\n deleteFilterFromGroup(groupIndex: number, filterIndex: number): void;\n setFilterFieldData(groupIndex: number, filterIndex: number, data: string): void;\n setFilter(data: QueryBuilderFormData): void;\n onApply(onSuccess?: (filter: FilterDTO) => void, onError?: (filter: FilterDTO) => void): void;\n onSave(onSuccess?: (filter: FilterDTO) => void, onError?: (filter: FilterDTO) => void): void;\n get vm(): QueryBuilderViewModel;\n}\n\nexport interface QueryBuilderViewModel {\n name: string;\n description: string;\n invalidFields: FormInvalidFields;\n invalidMessage: string;\n data: QueryBuilderFormData;\n}\n\nexport interface QueryBuilderFormData {\n operation: Operation;\n groups: {\n operation: Operation;\n title: string;\n open: boolean;\n canDelete: boolean;\n filters: (FilterGroupFilterDTO & { canDelete: boolean })[];\n }[];\n}\n\nexport class QueryBuilderDrawerPresenter implements QueryBuilderDrawerPresenterInterface {\n private formWasSubmitted = false;\n private invalidFields: QueryBuilderViewModel[\"invalidFields\"] = {};\n private invalidMessage = \"\";\n private filter: FilterDTO | undefined;\n\n constructor() {\n this.filter = undefined;\n makeAutoObservable(this);\n }\n\n load(filter: FilterDTO) {\n this.filter = filter;\n }\n\n get vm() {\n return {\n name: this.filter?.name || \"\",\n description: this.filter?.description || \"\",\n invalidFields: this.invalidFields,\n invalidMessage: this.invalidMessage,\n data: {\n operation: this.filter?.operation || Operation.AND,\n groups:\n this.filter?.groups.map((group: FilterGroupDTO, groupIndex) => {\n return {\n title: `Filter group #${groupIndex + 1}`,\n open: true,\n operation: group.operation,\n canDelete: groupIndex !== 0,\n filters: group.filters.map((filter, filterIndex) => ({\n field: filter.field,\n condition: filter.condition,\n value: filter.value,\n canDelete: filterIndex !== 0\n }))\n };\n }) || []\n }\n };\n }\n\n addGroup() {\n if (!this.filter) {\n return;\n }\n\n this.filter.groups.push({\n operation: Operation.AND,\n filters: [{ field: \"\", value: \"\", condition: \"\" }]\n });\n }\n\n deleteGroup(groupIndex: number) {\n if (!this.filter) {\n return;\n }\n\n this.filter.groups = this.filter.groups.filter((_, index) => index !== groupIndex);\n\n // Make sure we always have at least 1 group!\n if (this.filter.groups.length === 0) {\n this.addGroup();\n }\n }\n\n addNewFilterToGroup(groupIndex: number) {\n if (!this.filter) {\n return;\n }\n\n this.filter.groups[groupIndex].filters.push({\n field: \"\",\n value: \"\",\n condition: \"\"\n });\n }\n\n deleteFilterFromGroup(groupIndex: number, filterIndex: number) {\n if (!this.filter) {\n return;\n }\n\n const filters = this.filter.groups[groupIndex].filters;\n this.filter.groups[groupIndex].filters = filters.filter(\n (_, index) => index !== filterIndex\n );\n\n // Make sure we always have at least 1 filter!\n if (this.filter.groups[groupIndex].filters.length === 0) {\n this.filter.groups[groupIndex].filters.push({\n field: \"\",\n value: \"\",\n condition: \"\"\n });\n }\n }\n\n setFilterFieldData(groupIndex: number, filterIndex: number, data: string) {\n if (!this.filter) {\n return;\n }\n\n this.filter.groups[groupIndex].filters = [\n ...this.filter.groups[groupIndex].filters.slice(0, filterIndex),\n {\n field: data,\n value: \"\",\n condition: \"\"\n },\n ...this.filter.groups[groupIndex].filters.slice(filterIndex + 1)\n ];\n }\n\n setFilter(data: QueryBuilderFormData) {\n if (!this.filter) {\n return;\n }\n\n this.filter = {\n ...this.filter,\n operation: data.operation,\n groups: data.groups.map(group => ({\n operation: group.operation,\n filters: group.filters\n }))\n };\n\n if (this.formWasSubmitted) {\n this.validateFilter(this.filter);\n }\n }\n\n onApply(onSuccess?: (filter: FilterDTO) => void, onError?: (filter: FilterDTO) => void) {\n if (!this.filter) {\n return;\n }\n\n const result = this.validateFilter(this.filter);\n if (result.success) {\n onSuccess && onSuccess(this.filter);\n } else {\n onError && onError(this.filter);\n }\n }\n\n onSave(onSuccess?: (filter: FilterDTO) => void, onError?: (filter: FilterDTO) => void) {\n if (!this.filter) {\n return;\n }\n\n const result = this.validateFilter(this.filter);\n if (result.success) {\n onSuccess && onSuccess(this.filter);\n } else {\n onError && onError(this.filter);\n }\n }\n\n private validateFilter(data: FilterDTO) {\n this.formWasSubmitted = true;\n const validation = Filter.validate(data);\n\n if (!validation.success) {\n this.invalidMessage = \"Error during the validation: check the filter configuration.\";\n this.invalidFields = validation.error.issues.reduce((acc, issue) => {\n return {\n ...acc,\n [issue.path.join(\".\")]: issue.message\n };\n }, {});\n } else {\n this.invalidMessage = \"\";\n this.invalidFields = {};\n }\n\n return validation;\n }\n}\n"],"names":["QueryBuilderDrawerPresenter","undefined","makeAutoObservable","filter","Operation","group","groupIndex","filterIndex","_","index","filters","data","onSuccess","onError","result","validation","Filter","acc","issue"],"mappings":"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"}