@webiny/app-aco 6.0.0-alpha.5 → 6.0.0-rc.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 (1051) hide show
  1. package/README.md +6 -404
  2. package/app.js +1 -1
  3. package/app.js.map +1 -1
  4. package/components/Actions/DeleteFolder/DeleteFolder.js +4 -4
  5. package/components/Actions/DeleteFolder/DeleteFolder.js.map +1 -1
  6. package/components/Actions/DeleteFolder/index.d.ts +1 -1
  7. package/components/Actions/DeleteFolder/index.js +1 -1
  8. package/components/Actions/DeleteFolder/index.js.map +1 -1
  9. package/components/Actions/EditFolder/EditFolder.js +3 -3
  10. package/components/Actions/EditFolder/EditFolder.js.map +1 -1
  11. package/components/Actions/EditFolder/index.d.ts +1 -1
  12. package/components/Actions/EditFolder/index.js +1 -1
  13. package/components/Actions/EditFolder/index.js.map +1 -1
  14. package/components/Actions/SetFolderPemissions/SetFolderPermissions.js +3 -3
  15. package/components/Actions/SetFolderPemissions/SetFolderPermissions.js.map +1 -1
  16. package/components/Actions/SetFolderPemissions/index.d.ts +1 -1
  17. package/components/Actions/SetFolderPemissions/index.js +1 -1
  18. package/components/Actions/SetFolderPemissions/index.js.map +1 -1
  19. package/components/Actions/index.d.ts +3 -3
  20. package/components/Actions/index.js +3 -3
  21. package/components/Actions/index.js.map +1 -1
  22. package/components/AdvancedSearch/AdvancedSearch.d.ts +1 -1
  23. package/components/AdvancedSearch/AdvancedSearch.js +7 -7
  24. package/components/AdvancedSearch/AdvancedSearch.js.map +1 -1
  25. package/components/AdvancedSearch/AdvancedSearchConfigs.js +4 -4
  26. package/components/AdvancedSearch/AdvancedSearchConfigs.js.map +1 -1
  27. package/components/AdvancedSearch/AdvancedSearchPresenter.d.ts +1 -1
  28. package/components/AdvancedSearch/AdvancedSearchPresenter.js +1 -1
  29. package/components/AdvancedSearch/AdvancedSearchPresenter.js.map +1 -1
  30. package/components/AdvancedSearch/AdvancedSearchPresenter.test.js +18 -17
  31. package/components/AdvancedSearch/AdvancedSearchPresenter.test.js.map +1 -1
  32. package/components/AdvancedSearch/Button/index.d.ts +1 -1
  33. package/components/AdvancedSearch/Button/index.js +1 -1
  34. package/components/AdvancedSearch/Button/index.js.map +1 -1
  35. package/components/AdvancedSearch/GraphQLInputMapper.d.ts +2 -2
  36. package/components/AdvancedSearch/GraphQLInputMapper.js +1 -1
  37. package/components/AdvancedSearch/GraphQLInputMapper.js.map +1 -1
  38. package/components/AdvancedSearch/GraphQLInputMapper.test.js +3 -2
  39. package/components/AdvancedSearch/GraphQLInputMapper.test.js.map +1 -1
  40. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/QueryBuilder.d.ts +2 -2
  41. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/QueryBuilder.js +4 -5
  42. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/QueryBuilder.js.map +1 -1
  43. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Details.js +6 -6
  44. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Details.js.map +1 -1
  45. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Filter.d.ts +1 -1
  46. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Filter.js +6 -6
  47. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Filter.js.map +1 -1
  48. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/FilterOperationLabel.js +1 -1
  49. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/FilterOperationLabel.js.map +1 -1
  50. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/GroupOperationLabel.js +1 -1
  51. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/GroupOperationLabel.js.map +1 -1
  52. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/InputField.d.ts +1 -1
  53. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/InputField.js +1 -1
  54. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/InputField.js.map +1 -1
  55. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/OperationSelector.js +1 -1
  56. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/OperationSelector.js.map +1 -1
  57. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddFilter.js +1 -1
  58. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddFilter.js.map +1 -1
  59. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddGroup.js +1 -1
  60. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddGroup.js.map +1 -1
  61. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/index.d.ts +3 -3
  62. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/index.js +3 -3
  63. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/index.js.map +1 -1
  64. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/index.d.ts +7 -7
  65. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/index.js +7 -7
  66. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/index.js.map +1 -1
  67. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/index.d.ts +1 -1
  68. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/index.js +1 -1
  69. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/index.js.map +1 -1
  70. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.d.ts +1 -1
  71. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.js +2 -2
  72. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.js.map +1 -1
  73. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.d.ts +2 -2
  74. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.js +1 -1
  75. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.js.map +1 -1
  76. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.test.js +11 -10
  77. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.test.js.map +1 -1
  78. package/components/AdvancedSearch/QueryBuilderDrawer/index.d.ts +1 -1
  79. package/components/AdvancedSearch/QueryBuilderDrawer/index.js +1 -1
  80. package/components/AdvancedSearch/QueryBuilderDrawer/index.js.map +1 -1
  81. package/components/AdvancedSearch/QueryManagerDialog/QueryManagerDialog.js +3 -3
  82. package/components/AdvancedSearch/QueryManagerDialog/QueryManagerDialog.js.map +1 -1
  83. package/components/AdvancedSearch/QueryManagerDialog/components/Empty.js +5 -5
  84. package/components/AdvancedSearch/QueryManagerDialog/components/Empty.js.map +1 -1
  85. package/components/AdvancedSearch/QueryManagerDialog/components/FilterList.d.ts +1 -1
  86. package/components/AdvancedSearch/QueryManagerDialog/components/FilterList.js +1 -1
  87. package/components/AdvancedSearch/QueryManagerDialog/components/FilterList.js.map +1 -1
  88. package/components/AdvancedSearch/QueryManagerDialog/components/index.d.ts +2 -2
  89. package/components/AdvancedSearch/QueryManagerDialog/components/index.js +2 -2
  90. package/components/AdvancedSearch/QueryManagerDialog/components/index.js.map +1 -1
  91. package/components/AdvancedSearch/QueryManagerDialog/index.d.ts +1 -1
  92. package/components/AdvancedSearch/QueryManagerDialog/index.js +1 -1
  93. package/components/AdvancedSearch/QueryManagerDialog/index.js.map +1 -1
  94. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.d.ts +1 -1
  95. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.js +3 -3
  96. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.js.map +1 -1
  97. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.d.ts +1 -1
  98. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.js +1 -1
  99. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.js.map +1 -1
  100. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.test.js +5 -4
  101. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.test.js.map +1 -1
  102. package/components/AdvancedSearch/QuerySaverDialog/index.d.ts +1 -1
  103. package/components/AdvancedSearch/QuerySaverDialog/index.js +1 -1
  104. package/components/AdvancedSearch/QuerySaverDialog/index.js.map +1 -1
  105. package/components/AdvancedSearch/SelectedFilter/SelectedFilter.d.ts +1 -1
  106. package/components/AdvancedSearch/SelectedFilter/SelectedFilter.js +2 -2
  107. package/components/AdvancedSearch/SelectedFilter/SelectedFilter.js.map +1 -1
  108. package/components/AdvancedSearch/SelectedFilter/index.d.ts +1 -1
  109. package/components/AdvancedSearch/SelectedFilter/index.js +1 -1
  110. package/components/AdvancedSearch/SelectedFilter/index.js.map +1 -1
  111. package/components/AdvancedSearch/domain/Field.d.ts +2 -3
  112. package/components/AdvancedSearch/domain/Field.js.map +1 -1
  113. package/components/AdvancedSearch/domain/FieldMapper.d.ts +1 -1
  114. package/components/AdvancedSearch/domain/FieldMapper.js.map +1 -1
  115. package/components/AdvancedSearch/domain/Filter.d.ts +5 -5
  116. package/components/AdvancedSearch/domain/Filter.js +1 -1
  117. package/components/AdvancedSearch/domain/Filter.js.map +1 -1
  118. package/components/AdvancedSearch/domain/FilterMapper.d.ts +1 -1
  119. package/components/AdvancedSearch/domain/FilterMapper.js.map +1 -1
  120. package/components/AdvancedSearch/domain/FilterRepository.d.ts +2 -2
  121. package/components/AdvancedSearch/domain/FilterRepository.js +2 -2
  122. package/components/AdvancedSearch/domain/FilterRepository.js.map +1 -1
  123. package/components/AdvancedSearch/domain/FilterRepositoryFactory.d.ts +1 -1
  124. package/components/AdvancedSearch/domain/FilterRepositoryFactory.js +2 -2
  125. package/components/AdvancedSearch/domain/FilterRepositoryFactory.js.map +1 -1
  126. package/components/AdvancedSearch/domain/Sorter.js +1 -1
  127. package/components/AdvancedSearch/domain/Sorter.js.map +1 -1
  128. package/components/AdvancedSearch/domain/index.d.ts +10 -10
  129. package/components/AdvancedSearch/domain/index.js +10 -10
  130. package/components/AdvancedSearch/domain/index.js.map +1 -1
  131. package/components/AdvancedSearch/fields/Boolean.js +2 -2
  132. package/components/AdvancedSearch/fields/Boolean.js.map +1 -1
  133. package/components/AdvancedSearch/fields/DateWithTimezone.js +4 -4
  134. package/components/AdvancedSearch/fields/DateWithTimezone.js.map +1 -1
  135. package/components/AdvancedSearch/fields/DateWithoutTimezone.js +1 -1
  136. package/components/AdvancedSearch/fields/DateWithoutTimezone.js.map +1 -1
  137. package/components/AdvancedSearch/fields/Input.js +1 -1
  138. package/components/AdvancedSearch/fields/Input.js.map +1 -1
  139. package/components/AdvancedSearch/fields/PredefinedValues.js +1 -1
  140. package/components/AdvancedSearch/fields/PredefinedValues.js.map +1 -1
  141. package/components/AdvancedSearch/fields/index.d.ts +5 -5
  142. package/components/AdvancedSearch/fields/index.js +5 -5
  143. package/components/AdvancedSearch/fields/index.js.map +1 -1
  144. package/components/AdvancedSearch/gateways/FiltersGatewayInterface.d.ts +2 -2
  145. package/components/AdvancedSearch/gateways/FiltersGatewayInterface.js.map +1 -1
  146. package/components/AdvancedSearch/gateways/FiltersGraphQLGateway.d.ts +6 -6
  147. package/components/AdvancedSearch/gateways/FiltersGraphQLGateway.js +1 -1
  148. package/components/AdvancedSearch/gateways/FiltersGraphQLGateway.js.map +1 -1
  149. package/components/AdvancedSearch/gateways/filters.types.d.ts +2 -2
  150. package/components/AdvancedSearch/gateways/filters.types.js.map +1 -1
  151. package/components/AdvancedSearch/gateways/index.d.ts +2 -2
  152. package/components/AdvancedSearch/gateways/index.js +1 -2
  153. package/components/AdvancedSearch/gateways/index.js.map +1 -1
  154. package/components/AdvancedSearch/index.d.ts +8 -6
  155. package/components/AdvancedSearch/index.js +10 -14
  156. package/components/AdvancedSearch/index.js.map +1 -1
  157. package/components/AdvancedSearch/useFilterRepository.d.ts +1 -1
  158. package/components/AdvancedSearch/useFilterRepository.js +1 -1
  159. package/components/AdvancedSearch/useFilterRepository.js.map +1 -1
  160. package/components/AdvancedSearch/useInputField.d.ts +3 -4
  161. package/components/AdvancedSearch/useInputField.js.map +1 -1
  162. package/components/Extensions/Extensions.js +5 -7
  163. package/components/Extensions/Extensions.js.map +1 -1
  164. package/components/Extensions/index.d.ts +1 -1
  165. package/components/Extensions/index.js +1 -1
  166. package/components/Extensions/index.js.map +1 -1
  167. package/components/FolderGrid/FolderGridItem.d.ts +4 -2
  168. package/components/FolderGrid/FolderGridItem.js +22 -17
  169. package/components/FolderGrid/FolderGridItem.js.map +1 -1
  170. package/components/FolderGrid/index.d.ts +1 -1
  171. package/components/FolderGrid/index.js +1 -1
  172. package/components/FolderGrid/index.js.map +1 -1
  173. package/components/FolderTree/ButtonCreate/ButtonCreate.js +2 -2
  174. package/components/FolderTree/ButtonCreate/ButtonCreate.js.map +1 -1
  175. package/components/FolderTree/ButtonCreate/index.d.ts +1 -1
  176. package/components/FolderTree/ButtonCreate/index.js +1 -1
  177. package/components/FolderTree/ButtonCreate/index.js.map +1 -1
  178. package/components/FolderTree/Empty/Empty.js +1 -1
  179. package/components/FolderTree/Empty/Empty.js.map +1 -1
  180. package/components/FolderTree/Empty/index.d.ts +1 -1
  181. package/components/FolderTree/Empty/index.js +1 -1
  182. package/components/FolderTree/Empty/index.js.map +1 -1
  183. package/components/FolderTree/List/List.d.ts +7 -4
  184. package/components/FolderTree/List/List.js +45 -8
  185. package/components/FolderTree/List/List.js.map +1 -1
  186. package/components/FolderTree/List/index.d.ts +1 -1
  187. package/components/FolderTree/List/index.js +1 -1
  188. package/components/FolderTree/List/index.js.map +1 -1
  189. package/components/FolderTree/List/utils.d.ts +3 -3
  190. package/components/FolderTree/List/utils.js +1 -1
  191. package/components/FolderTree/List/utils.js.map +1 -1
  192. package/components/FolderTree/Loader/Loader.js +2 -2
  193. package/components/FolderTree/Loader/Loader.js.map +1 -1
  194. package/components/FolderTree/Loader/index.d.ts +1 -1
  195. package/components/FolderTree/Loader/index.js +1 -1
  196. package/components/FolderTree/Loader/index.js.map +1 -1
  197. package/components/FolderTree/MenuActions/MenuActions.d.ts +6 -1
  198. package/components/FolderTree/MenuActions/MenuActions.js +6 -8
  199. package/components/FolderTree/MenuActions/MenuActions.js.map +1 -1
  200. package/components/FolderTree/MenuActions/index.d.ts +1 -1
  201. package/components/FolderTree/MenuActions/index.js +1 -1
  202. package/components/FolderTree/MenuActions/index.js.map +1 -1
  203. package/components/FolderTree/Node/Node.d.ts +3 -1
  204. package/components/FolderTree/Node/Node.js +8 -5
  205. package/components/FolderTree/Node/Node.js.map +1 -1
  206. package/components/FolderTree/Node/index.d.ts +1 -1
  207. package/components/FolderTree/Node/index.js +1 -1
  208. package/components/FolderTree/Node/index.js.map +1 -1
  209. package/components/FolderTree/NodePreview/NodePreview.js +2 -2
  210. package/components/FolderTree/NodePreview/NodePreview.js.map +1 -1
  211. package/components/FolderTree/NodePreview/index.d.ts +1 -1
  212. package/components/FolderTree/NodePreview/index.js +1 -1
  213. package/components/FolderTree/NodePreview/index.js.map +1 -1
  214. package/components/FolderTree/index.d.ts +7 -4
  215. package/components/FolderTree/index.js +15 -11
  216. package/components/FolderTree/index.js.map +1 -1
  217. package/components/Search/Search.d.ts +1 -1
  218. package/components/Search/Search.js +1 -1
  219. package/components/Search/Search.js.map +1 -1
  220. package/components/Search/index.d.ts +1 -1
  221. package/components/Search/index.js +1 -1
  222. package/components/Search/index.js.map +1 -1
  223. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityDecorator.d.ts +3 -3
  224. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityDecorator.js.map +1 -1
  225. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.d.ts +1 -1
  226. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.js.map +1 -1
  227. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.test.js +11 -10
  228. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.test.js.map +1 -1
  229. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepository.d.ts +2 -2
  230. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepository.js.map +1 -1
  231. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepositoryFactory.d.ts +2 -2
  232. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepositoryFactory.js +1 -1
  233. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepositoryFactory.js.map +1 -1
  234. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityUpdater.d.ts +2 -2
  235. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityUpdater.js.map +1 -1
  236. package/components/Table/components/Table/ColumnVisibility/index.d.ts +7 -7
  237. package/components/Table/components/Table/ColumnVisibility/index.js +5 -7
  238. package/components/Table/components/Table/ColumnVisibility/index.js.map +1 -1
  239. package/components/Table/components/Table/Columns/Column.d.ts +4 -1
  240. package/components/Table/components/Table/Columns/Column.js +1 -0
  241. package/components/Table/components/Table/Columns/Column.js.map +1 -1
  242. package/components/Table/components/Table/Columns/ColumnMapper.d.ts +1 -1
  243. package/components/Table/components/Table/Columns/ColumnMapper.js +4 -0
  244. package/components/Table/components/Table/Columns/ColumnMapper.js.map +1 -1
  245. package/components/Table/components/Table/Columns/ColumnsPresenter.d.ts +2 -2
  246. package/components/Table/components/Table/Columns/ColumnsPresenter.js.map +1 -1
  247. package/components/Table/components/Table/Columns/ColumnsPresenter.test.js +7 -4
  248. package/components/Table/components/Table/Columns/ColumnsPresenter.test.js.map +1 -1
  249. package/components/Table/components/Table/Columns/ColumnsRepository.d.ts +2 -2
  250. package/components/Table/components/Table/Columns/ColumnsRepository.js.map +1 -1
  251. package/components/Table/components/Table/Columns/ColumnsRepositoryFactory.d.ts +2 -2
  252. package/components/Table/components/Table/Columns/ColumnsRepositoryFactory.js +1 -1
  253. package/components/Table/components/Table/Columns/ColumnsRepositoryFactory.js.map +1 -1
  254. package/components/Table/components/Table/Columns/IColumnsRepository.d.ts +1 -1
  255. package/components/Table/components/Table/Columns/IColumnsRepository.js.map +1 -1
  256. package/components/Table/components/Table/Columns/index.d.ts +6 -6
  257. package/components/Table/components/Table/Columns/index.js +5 -6
  258. package/components/Table/components/Table/Columns/index.js.map +1 -1
  259. package/components/Table/components/Table/Table.d.ts +4 -2
  260. package/components/Table/components/Table/Table.js +11 -12
  261. package/components/Table/components/Table/Table.js.map +1 -1
  262. package/components/Table/components/Table/TableInner.d.ts +5 -5
  263. package/components/Table/components/Table/TableInner.js +2 -2
  264. package/components/Table/components/Table/TableInner.js.map +1 -1
  265. package/components/Table/components/Table/gateways/ColumnsVisibilityLocalStorageGateway.d.ts +5 -3
  266. package/components/Table/components/Table/gateways/ColumnsVisibilityLocalStorageGateway.js +5 -5
  267. package/components/Table/components/Table/gateways/ColumnsVisibilityLocalStorageGateway.js.map +1 -1
  268. package/components/Table/components/Table/gateways/index.d.ts +2 -2
  269. package/components/Table/components/Table/gateways/index.js +1 -2
  270. package/components/Table/components/Table/gateways/index.js.map +1 -1
  271. package/components/Table/components/Table/index.d.ts +1 -1
  272. package/components/Table/components/Table/index.js +1 -1
  273. package/components/Table/components/Table/index.js.map +1 -1
  274. package/components/Table/components/index.d.ts +1 -1
  275. package/components/Table/components/index.js +1 -1
  276. package/components/Table/components/index.js.map +1 -1
  277. package/components/Table/createTableData.d.ts +4 -3
  278. package/components/Table/createTableData.js +1 -1
  279. package/components/Table/createTableData.js.map +1 -1
  280. package/components/Table/index.d.ts +3 -3
  281. package/components/Table/index.js +3 -3
  282. package/components/Table/index.js.map +1 -1
  283. package/components/index.d.ts +8 -8
  284. package/components/index.js +8 -8
  285. package/components/index.js.map +1 -1
  286. package/config/AcoConfig.d.ts +31 -36
  287. package/config/AcoConfig.js +8 -9
  288. package/config/AcoConfig.js.map +1 -1
  289. package/config/advanced-search/FieldRenderer.d.ts +2 -2
  290. package/config/advanced-search/FieldRenderer.js +2 -2
  291. package/config/advanced-search/FieldRenderer.js.map +1 -1
  292. package/config/advanced-search/index.d.ts +4 -5
  293. package/config/advanced-search/index.js +1 -1
  294. package/config/advanced-search/index.js.map +1 -1
  295. package/config/folder/DropConfirmation.d.ts +5 -0
  296. package/config/folder/DropConfirmation.js +17 -0
  297. package/config/folder/DropConfirmation.js.map +1 -0
  298. package/config/folder/index.d.ts +5 -4
  299. package/config/folder/index.js +4 -2
  300. package/config/folder/index.js.map +1 -1
  301. package/config/index.d.ts +2 -2
  302. package/config/index.js +2 -2
  303. package/config/index.js.map +1 -1
  304. package/config/record/index.d.ts +4 -5
  305. package/config/record/index.js +1 -1
  306. package/config/record/index.js.map +1 -1
  307. package/config/table/Column.d.ts +4 -3
  308. package/config/table/Column.js +6 -1
  309. package/config/table/Column.js.map +1 -1
  310. package/config/table/index.d.ts +7 -8
  311. package/config/table/index.js +2 -2
  312. package/config/table/index.js.map +1 -1
  313. package/constants.d.ts +1 -1
  314. package/constants.js +1 -1
  315. package/constants.js.map +1 -1
  316. package/contexts/acoList.d.ts +4 -2
  317. package/contexts/acoList.js +20 -15
  318. package/contexts/acoList.js.map +1 -1
  319. package/contexts/app.d.ts +10 -18
  320. package/contexts/app.js +25 -156
  321. package/contexts/app.js.map +1 -1
  322. package/contexts/folder.d.ts +3 -3
  323. package/contexts/folder.js.map +1 -1
  324. package/contexts/folders.js +16 -3
  325. package/contexts/folders.js.map +1 -1
  326. package/contexts/index.d.ts +4 -2
  327. package/contexts/index.js +4 -2
  328. package/contexts/index.js.map +1 -1
  329. package/contexts/navigateFolder.d.ts +0 -2
  330. package/contexts/navigateFolder.js +14 -16
  331. package/contexts/navigateFolder.js.map +1 -1
  332. package/contexts/records.d.ts +4 -2
  333. package/contexts/records.js +27 -34
  334. package/contexts/records.js.map +1 -1
  335. package/dialogs/DialogSetPermissions/UsersTeamsMultiAutocomplete.d.ts +1 -1
  336. package/dialogs/DialogSetPermissions/UsersTeamsMultiAutocomplete.js.map +1 -1
  337. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemGraphic.d.ts +1 -1
  338. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemGraphic.js.map +1 -1
  339. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemMeta.d.ts +1 -1
  340. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemMeta.js +2 -2
  341. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemMeta.js.map +1 -1
  342. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemText.d.ts +1 -1
  343. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemText.js +2 -2
  344. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemText.js.map +1 -1
  345. package/dialogs/DialogSetPermissions/UsersTeamsSelection.d.ts +1 -1
  346. package/dialogs/DialogSetPermissions/UsersTeamsSelection.js +4 -4
  347. package/dialogs/DialogSetPermissions/UsersTeamsSelection.js.map +1 -1
  348. package/dialogs/ParentFolderField.js +1 -1
  349. package/dialogs/ParentFolderField.js.map +1 -1
  350. package/dialogs/index.d.ts +6 -5
  351. package/dialogs/index.js +6 -5
  352. package/dialogs/index.js.map +1 -1
  353. package/dialogs/useConfirmMoveFolderDialog.d.ts +11 -0
  354. package/dialogs/useConfirmMoveFolderDialog.js +23 -0
  355. package/dialogs/useConfirmMoveFolderDialog.js.map +1 -0
  356. package/dialogs/useCreateDialog.js +4 -4
  357. package/dialogs/useCreateDialog.js.map +1 -1
  358. package/dialogs/useDeleteDialog.d.ts +2 -2
  359. package/dialogs/useDeleteDialog.js +2 -2
  360. package/dialogs/useDeleteDialog.js.map +1 -1
  361. package/dialogs/useEditDialog.d.ts +2 -2
  362. package/dialogs/useEditDialog.js +4 -4
  363. package/dialogs/useEditDialog.js.map +1 -1
  364. package/dialogs/useMoveToFolderDialog.js +3 -3
  365. package/dialogs/useMoveToFolderDialog.js.map +1 -1
  366. package/dialogs/useSetPermissionsDialog.d.ts +2 -2
  367. package/dialogs/useSetPermissionsDialog.js +4 -4
  368. package/dialogs/useSetPermissionsDialog.js.map +1 -1
  369. package/{features/folders → domain/folder}/Folder.d.ts +1 -1
  370. package/{features/folders → domain/folder}/Folder.js +1 -1
  371. package/domain/folder/Folder.js.map +1 -0
  372. package/{features/folders/createFolder/FolderGqlDto.d.ts → domain/folder/FolderDto.d.ts} +9 -8
  373. package/domain/folder/FolderDto.js.map +1 -0
  374. package/domain/folder/FolderDtoMapper.d.ts +5 -0
  375. package/{features/folders/listFoldersByParentIds/FolderDto.js → domain/folder/FolderDtoMapper.js} +15 -19
  376. package/domain/folder/FolderDtoMapper.js.map +1 -0
  377. package/domain/folder/FolderIdentity.d.ts +10 -0
  378. package/domain/folder/FolderIdentity.js +21 -0
  379. package/domain/folder/FolderIdentity.js.map +1 -0
  380. package/domain/folder/RootFolder.d.ts +4 -0
  381. package/domain/folder/RootFolder.js +28 -0
  382. package/domain/folder/RootFolder.js.map +1 -0
  383. package/exports/admin/aco.d.ts +2 -0
  384. package/exports/admin/aco.js +4 -0
  385. package/exports/admin/aco.js.map +1 -0
  386. package/features/folders/abstractions.d.ts +32 -0
  387. package/features/folders/abstractions.js +8 -0
  388. package/features/folders/abstractions.js.map +1 -0
  389. package/features/folders/cache/FoldersCacheFactory.d.ts +2 -2
  390. package/features/folders/cache/FoldersCacheFactory.js +1 -1
  391. package/features/folders/cache/FoldersCacheFactory.js.map +1 -1
  392. package/features/folders/cache/ListCache.js +1 -1
  393. package/features/folders/cache/ListCache.js.map +1 -1
  394. package/features/folders/cache/LoadedFoldersCacheFactory.d.ts +1 -1
  395. package/features/folders/cache/LoadedFoldersCacheFactory.js +1 -1
  396. package/features/folders/cache/LoadedFoldersCacheFactory.js.map +1 -1
  397. package/features/folders/cache/index.d.ts +4 -4
  398. package/features/folders/cache/index.js +4 -4
  399. package/features/folders/cache/index.js.map +1 -1
  400. package/features/folders/createFolder/CreateFolder.test.js +34 -14
  401. package/features/folders/createFolder/CreateFolder.test.js.map +1 -1
  402. package/features/folders/createFolder/CreateFolderGqlGateway.d.ts +16 -10
  403. package/features/folders/createFolder/CreateFolderGqlGateway.js +12 -4
  404. package/features/folders/createFolder/CreateFolderGqlGateway.js.map +1 -1
  405. package/features/folders/createFolder/CreateFolderRepository.d.ts +12 -7
  406. package/features/folders/createFolder/CreateFolderRepository.js +13 -5
  407. package/features/folders/createFolder/CreateFolderRepository.js.map +1 -1
  408. package/features/folders/createFolder/CreateFolderUseCase.d.ts +8 -5
  409. package/features/folders/createFolder/CreateFolderUseCase.js +7 -2
  410. package/features/folders/createFolder/CreateFolderUseCase.js.map +1 -1
  411. package/features/folders/createFolder/abstractions.d.ts +41 -0
  412. package/features/folders/createFolder/abstractions.js +15 -0
  413. package/features/folders/createFolder/abstractions.js.map +1 -0
  414. package/features/folders/createFolder/feature.d.ts +3 -0
  415. package/features/folders/createFolder/feature.js +20 -0
  416. package/features/folders/createFolder/feature.js.map +1 -0
  417. package/features/folders/createFolder/index.d.ts +1 -1
  418. package/features/folders/createFolder/index.js +1 -1
  419. package/features/folders/createFolder/index.js.map +1 -1
  420. package/features/folders/createFolder/useCreateFolder.d.ts +2 -2
  421. package/features/folders/createFolder/useCreateFolder.js +8 -14
  422. package/features/folders/createFolder/useCreateFolder.js.map +1 -1
  423. package/features/folders/deleteFolder/DeleteFolder.test.js +29 -19
  424. package/features/folders/deleteFolder/DeleteFolder.test.js.map +1 -1
  425. package/features/folders/deleteFolder/DeleteFolderGqlGateway.d.ts +9 -5
  426. package/features/folders/deleteFolder/DeleteFolderGqlGateway.js +7 -1
  427. package/features/folders/deleteFolder/DeleteFolderGqlGateway.js.map +1 -1
  428. package/features/folders/deleteFolder/DeleteFolderRepository.d.ts +10 -7
  429. package/features/folders/deleteFolder/DeleteFolderRepository.js +11 -4
  430. package/features/folders/deleteFolder/DeleteFolderRepository.js.map +1 -1
  431. package/features/folders/deleteFolder/DeleteFolderUseCase.d.ts +8 -5
  432. package/features/folders/deleteFolder/DeleteFolderUseCase.js +8 -11
  433. package/features/folders/deleteFolder/DeleteFolderUseCase.js.map +1 -1
  434. package/features/folders/deleteFolder/abstractions.d.ts +21 -0
  435. package/features/folders/deleteFolder/abstractions.js +15 -0
  436. package/features/folders/deleteFolder/abstractions.js.map +1 -0
  437. package/features/folders/deleteFolder/feature.d.ts +3 -0
  438. package/features/folders/deleteFolder/feature.js +20 -0
  439. package/features/folders/deleteFolder/feature.js.map +1 -0
  440. package/features/folders/deleteFolder/index.d.ts +1 -1
  441. package/features/folders/deleteFolder/index.js +1 -1
  442. package/features/folders/deleteFolder/index.js.map +1 -1
  443. package/features/folders/deleteFolder/useDeleteFolder.d.ts +1 -2
  444. package/features/folders/deleteFolder/useDeleteFolder.js +8 -13
  445. package/features/folders/deleteFolder/useDeleteFolder.js.map +1 -1
  446. package/features/folders/feature.d.ts +1 -0
  447. package/features/folders/feature.js +45 -0
  448. package/features/folders/feature.js.map +1 -0
  449. package/features/folders/folderModelProvider/FolderModelContext.d.ts +2 -0
  450. package/features/folders/folderModelProvider/FolderModelContext.js +28 -0
  451. package/features/folders/folderModelProvider/FolderModelContext.js.map +1 -0
  452. package/features/folders/{getFolderModel → folderModelProvider}/FolderModelDto.d.ts +1 -1
  453. package/features/folders/{getFolderModel → folderModelProvider}/FolderModelDto.js.map +1 -1
  454. package/features/folders/folderModelProvider/FolderModelProvider.d.ts +13 -0
  455. package/features/folders/folderModelProvider/FolderModelProvider.js +58 -0
  456. package/features/folders/folderModelProvider/FolderModelProvider.js.map +1 -0
  457. package/features/folders/folderModelProvider/GetFolderModelGqlGateway.d.ts +22 -0
  458. package/features/folders/{getFolderModel → folderModelProvider}/GetFolderModelGqlGateway.js +7 -1
  459. package/features/folders/folderModelProvider/GetFolderModelGqlGateway.js.map +1 -0
  460. package/features/folders/folderModelProvider/GetFolderModelRepository.d.ts +13 -0
  461. package/features/folders/{getFolderModel → folderModelProvider}/GetFolderModelRepository.js +6 -1
  462. package/features/folders/folderModelProvider/GetFolderModelRepository.js.map +1 -0
  463. package/features/folders/folderModelProvider/abstractions.d.ts +20 -0
  464. package/features/folders/folderModelProvider/abstractions.js +5 -0
  465. package/features/folders/folderModelProvider/abstractions.js.map +1 -0
  466. package/features/folders/folderModelProvider/feature.d.ts +3 -0
  467. package/features/folders/folderModelProvider/feature.js +20 -0
  468. package/features/folders/folderModelProvider/feature.js.map +1 -0
  469. package/features/folders/folderModelProvider/index.d.ts +1 -0
  470. package/features/folders/folderModelProvider/index.js +3 -0
  471. package/features/folders/folderModelProvider/index.js.map +1 -0
  472. package/features/folders/getDescendantFolders/GetDescendantFolders.test.js +34 -19
  473. package/features/folders/getDescendantFolders/GetDescendantFolders.test.js.map +1 -1
  474. package/features/folders/getDescendantFolders/GetDescendantFoldersRepository.d.ts +11 -7
  475. package/features/folders/getDescendantFolders/GetDescendantFoldersRepository.js +16 -3
  476. package/features/folders/getDescendantFolders/GetDescendantFoldersRepository.js.map +1 -1
  477. package/features/folders/getDescendantFolders/GetDescendantFoldersUseCase.d.ts +8 -12
  478. package/features/folders/getDescendantFolders/GetDescendantFoldersUseCase.js +8 -11
  479. package/features/folders/getDescendantFolders/GetDescendantFoldersUseCase.js.map +1 -1
  480. package/features/folders/getDescendantFolders/abstractions.d.ts +23 -0
  481. package/features/folders/getDescendantFolders/abstractions.js +13 -0
  482. package/features/folders/getDescendantFolders/abstractions.js.map +1 -0
  483. package/features/folders/getDescendantFolders/feature.d.ts +3 -0
  484. package/features/folders/getDescendantFolders/feature.js +18 -0
  485. package/features/folders/getDescendantFolders/feature.js.map +1 -0
  486. package/features/folders/getDescendantFolders/index.d.ts +1 -1
  487. package/features/folders/getDescendantFolders/index.js +1 -1
  488. package/features/folders/getDescendantFolders/index.js.map +1 -1
  489. package/features/folders/getDescendantFolders/useGetDescendantFolders.d.ts +1 -1
  490. package/features/folders/getDescendantFolders/useGetDescendantFolders.js +8 -11
  491. package/features/folders/getDescendantFolders/useGetDescendantFolders.js.map +1 -1
  492. package/features/folders/getFolder/GetFolderGqlGateway.d.ts +18 -9
  493. package/features/folders/getFolder/GetFolderGqlGateway.js +12 -7
  494. package/features/folders/getFolder/GetFolderGqlGateway.js.map +1 -1
  495. package/features/folders/getFolder/GetFolderRepository.d.ts +9 -6
  496. package/features/folders/getFolder/GetFolderRepository.js +9 -2
  497. package/features/folders/getFolder/GetFolderRepository.js.map +1 -1
  498. package/features/folders/getFolder/GetFolderUseCase.d.ts +8 -5
  499. package/features/folders/getFolder/GetFolderUseCase.js +8 -3
  500. package/features/folders/getFolder/GetFolderUseCase.js.map +1 -1
  501. package/features/folders/getFolder/abstractions.d.ts +22 -0
  502. package/features/folders/getFolder/abstractions.js +15 -0
  503. package/features/folders/getFolder/abstractions.js.map +1 -0
  504. package/features/folders/getFolder/feature.d.ts +3 -0
  505. package/features/folders/getFolder/feature.js +20 -0
  506. package/features/folders/getFolder/feature.js.map +1 -0
  507. package/features/folders/getFolder/index.d.ts +1 -1
  508. package/features/folders/getFolder/index.js +1 -1
  509. package/features/folders/getFolder/index.js.map +1 -1
  510. package/features/folders/getFolder/useGetFolder.d.ts +1 -2
  511. package/features/folders/getFolder/useGetFolder.js +8 -14
  512. package/features/folders/getFolder/useGetFolder.js.map +1 -1
  513. package/features/folders/getFolderAncestors/GetFolderAncestors.test.js +34 -19
  514. package/features/folders/getFolderAncestors/GetFolderAncestors.test.js.map +1 -1
  515. package/features/folders/getFolderAncestors/GetFolderAncestorsRepository.d.ts +11 -6
  516. package/features/folders/getFolderAncestors/GetFolderAncestorsRepository.js +15 -2
  517. package/features/folders/getFolderAncestors/GetFolderAncestorsRepository.js.map +1 -1
  518. package/features/folders/getFolderAncestors/GetFolderAncestorsUseCase.d.ts +8 -12
  519. package/features/folders/getFolderAncestors/GetFolderAncestorsUseCase.js +8 -11
  520. package/features/folders/getFolderAncestors/GetFolderAncestorsUseCase.js.map +1 -1
  521. package/features/folders/getFolderAncestors/abstractions.d.ts +23 -0
  522. package/features/folders/getFolderAncestors/abstractions.js +13 -0
  523. package/features/folders/getFolderAncestors/abstractions.js.map +1 -0
  524. package/features/folders/getFolderAncestors/feature.d.ts +3 -0
  525. package/features/folders/getFolderAncestors/feature.js +18 -0
  526. package/features/folders/getFolderAncestors/feature.js.map +1 -0
  527. package/features/folders/getFolderAncestors/index.d.ts +1 -1
  528. package/features/folders/getFolderAncestors/index.js +1 -1
  529. package/features/folders/getFolderAncestors/index.js.map +1 -1
  530. package/features/folders/getFolderAncestors/useGetFolderAncestors.d.ts +1 -1
  531. package/features/folders/getFolderAncestors/useGetFolderAncestors.js +8 -11
  532. package/features/folders/getFolderAncestors/useGetFolderAncestors.js.map +1 -1
  533. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFields.test.js +55 -33
  534. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFields.test.js.map +1 -1
  535. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCase.d.ts +31 -27
  536. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCase.js +30 -9
  537. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCase.js.map +1 -1
  538. package/features/folders/getFolderExtensionsFields/abstractions.d.ts +15 -0
  539. package/features/folders/getFolderExtensionsFields/abstractions.js +11 -0
  540. package/features/folders/getFolderExtensionsFields/abstractions.js.map +1 -0
  541. package/features/folders/getFolderExtensionsFields/feature.d.ts +3 -0
  542. package/features/folders/getFolderExtensionsFields/feature.js +25 -0
  543. package/features/folders/getFolderExtensionsFields/feature.js.map +1 -0
  544. package/features/folders/getFolderExtensionsFields/filters/CmsNamespaceFilter.d.ts +12 -0
  545. package/features/folders/getFolderExtensionsFields/filters/CmsNamespaceFilter.js +25 -0
  546. package/features/folders/getFolderExtensionsFields/filters/CmsNamespaceFilter.js.map +1 -0
  547. package/features/folders/getFolderExtensionsFields/filters/FmFileNamespaceFilter.d.ts +12 -0
  548. package/features/folders/getFolderExtensionsFields/filters/FmFileNamespaceFilter.js +24 -0
  549. package/features/folders/getFolderExtensionsFields/filters/FmFileNamespaceFilter.js.map +1 -0
  550. package/features/folders/getFolderExtensionsFields/filters/GlobalNamespaceFilter.d.ts +9 -0
  551. package/features/folders/getFolderExtensionsFields/filters/GlobalNamespaceFilter.js +14 -0
  552. package/features/folders/getFolderExtensionsFields/filters/GlobalNamespaceFilter.js.map +1 -0
  553. package/features/folders/getFolderExtensionsFields/index.d.ts +1 -1
  554. package/features/folders/getFolderExtensionsFields/index.js +1 -1
  555. package/features/folders/getFolderExtensionsFields/index.js.map +1 -1
  556. package/features/folders/getFolderExtensionsFields/useFolderExtensionsFields.d.ts +23 -0
  557. package/features/folders/getFolderExtensionsFields/useFolderExtensionsFields.js +19 -0
  558. package/features/folders/getFolderExtensionsFields/useFolderExtensionsFields.js.map +1 -0
  559. package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.test.js +98 -70
  560. package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.test.js.map +1 -1
  561. package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionUseCase.d.ts +6 -2
  562. package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionUseCase.js +6 -1
  563. package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionUseCase.js.map +1 -1
  564. package/features/folders/getFolderLevelPermission/abstractions.d.ts +8 -0
  565. package/features/folders/getFolderLevelPermission/abstractions.js +4 -0
  566. package/features/folders/getFolderLevelPermission/abstractions.js.map +1 -0
  567. package/features/folders/getFolderLevelPermission/decorators/GetFolderLevelPermissionWithFlpDecorator.d.ts +15 -0
  568. package/features/folders/getFolderLevelPermission/decorators/GetFolderLevelPermissionWithFlpDecorator.js +29 -0
  569. package/features/folders/getFolderLevelPermission/decorators/GetFolderLevelPermissionWithFlpDecorator.js.map +1 -0
  570. package/features/folders/getFolderLevelPermission/feature.d.ts +3 -0
  571. package/features/folders/getFolderLevelPermission/feature.js +21 -0
  572. package/features/folders/getFolderLevelPermission/feature.js.map +1 -0
  573. package/features/folders/getFolderLevelPermission/index.d.ts +1 -1
  574. package/features/folders/getFolderLevelPermission/index.js +1 -1
  575. package/features/folders/getFolderLevelPermission/index.js.map +1 -1
  576. package/features/folders/getFolderLevelPermission/useGetFolderLevelPermission.d.ts +1 -1
  577. package/features/folders/getFolderLevelPermission/useGetFolderLevelPermission.js +7 -10
  578. package/features/folders/getFolderLevelPermission/useGetFolderLevelPermission.js.map +1 -1
  579. package/features/folders/listFolders/ListFolders.test.js +87 -53
  580. package/features/folders/listFolders/ListFolders.test.js.map +1 -1
  581. package/features/folders/listFolders/ListFoldersGqlGateway.d.ts +14 -9
  582. package/features/folders/listFolders/ListFoldersGqlGateway.js +18 -46
  583. package/features/folders/listFolders/ListFoldersGqlGateway.js.map +1 -1
  584. package/features/folders/listFolders/ListFoldersRepository.d.ts +9 -7
  585. package/features/folders/listFolders/ListFoldersRepository.js +11 -7
  586. package/features/folders/listFolders/ListFoldersRepository.js.map +1 -1
  587. package/features/folders/listFolders/ListFoldersUseCase.d.ts +7 -4
  588. package/features/folders/listFolders/ListFoldersUseCase.js +6 -1
  589. package/features/folders/listFolders/ListFoldersUseCase.js.map +1 -1
  590. package/features/folders/listFolders/ListFoldersUseCaseWithLoading.d.ts +9 -5
  591. package/features/folders/listFolders/ListFoldersUseCaseWithLoading.js +11 -5
  592. package/features/folders/listFolders/ListFoldersUseCaseWithLoading.js.map +1 -1
  593. package/features/folders/listFolders/abstractions.d.ts +22 -0
  594. package/features/folders/listFolders/abstractions.js +6 -0
  595. package/features/folders/listFolders/abstractions.js.map +1 -0
  596. package/features/folders/listFolders/feature.d.ts +4 -0
  597. package/features/folders/listFolders/feature.js +31 -0
  598. package/features/folders/listFolders/feature.js.map +1 -0
  599. package/features/folders/listFolders/index.d.ts +2 -2
  600. package/features/folders/listFolders/index.js +2 -2
  601. package/features/folders/listFolders/index.js.map +1 -1
  602. package/features/folders/listFolders/useListFolders.d.ts +2 -2
  603. package/features/folders/listFolders/useListFolders.js +11 -17
  604. package/features/folders/listFolders/useListFolders.js.map +1 -1
  605. package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.test.js +180 -206
  606. package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.test.js.map +1 -1
  607. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsGqlGateway.d.ts +14 -9
  608. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsGqlGateway.js +16 -41
  609. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsGqlGateway.js.map +1 -1
  610. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepository.d.ts +10 -8
  611. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepository.js +12 -9
  612. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepository.js.map +1 -1
  613. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCase.d.ts +8 -5
  614. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCase.js +9 -6
  615. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCase.js.map +1 -1
  616. package/features/folders/listFoldersByParentIds/abstractions.d.ts +22 -0
  617. package/features/folders/listFoldersByParentIds/abstractions.js +6 -0
  618. package/features/folders/listFoldersByParentIds/abstractions.js.map +1 -0
  619. package/features/folders/listFoldersByParentIds/decorators/RepositoryWithLoadedCache.d.ts +12 -0
  620. package/features/folders/listFoldersByParentIds/decorators/RepositoryWithLoadedCache.js +30 -0
  621. package/features/folders/listFoldersByParentIds/decorators/RepositoryWithLoadedCache.js.map +1 -0
  622. package/features/folders/listFoldersByParentIds/decorators/UseCaseWithLoading.d.ts +13 -0
  623. package/features/folders/listFoldersByParentIds/decorators/UseCaseWithLoading.js +27 -0
  624. package/features/folders/listFoldersByParentIds/decorators/UseCaseWithLoading.js.map +1 -0
  625. package/features/folders/listFoldersByParentIds/feature.d.ts +4 -0
  626. package/features/folders/listFoldersByParentIds/feature.js +35 -0
  627. package/features/folders/listFoldersByParentIds/feature.js.map +1 -0
  628. package/features/folders/listFoldersByParentIds/index.d.ts +1 -1
  629. package/features/folders/listFoldersByParentIds/index.js +1 -1
  630. package/features/folders/listFoldersByParentIds/index.js.map +1 -1
  631. package/features/folders/listFoldersByParentIds/useListFoldersByParentIds.d.ts +2 -2
  632. package/features/folders/listFoldersByParentIds/useListFoldersByParentIds.js +13 -21
  633. package/features/folders/listFoldersByParentIds/useListFoldersByParentIds.js.map +1 -1
  634. package/features/folders/loadFolderHierarchy/LoadFolderHierarchy.test.js +150 -0
  635. package/features/folders/loadFolderHierarchy/LoadFolderHierarchy.test.js.map +1 -0
  636. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyGqlGateway.d.ts +35 -0
  637. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyGqlGateway.js +57 -0
  638. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyGqlGateway.js.map +1 -0
  639. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyRepository.d.ts +16 -0
  640. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyRepository.js +49 -0
  641. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyRepository.js.map +1 -0
  642. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyUseCase.d.ts +10 -0
  643. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyUseCase.js +15 -0
  644. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyUseCase.js.map +1 -0
  645. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyUseCaseWithLoading.d.ts +12 -0
  646. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyUseCaseWithLoading.js +18 -0
  647. package/features/folders/loadFolderHierarchy/LoadFolderHierarchyUseCaseWithLoading.js.map +1 -0
  648. package/features/folders/loadFolderHierarchy/abstractions.d.ts +27 -0
  649. package/features/folders/loadFolderHierarchy/abstractions.js +6 -0
  650. package/features/folders/loadFolderHierarchy/abstractions.js.map +1 -0
  651. package/features/folders/loadFolderHierarchy/feature.d.ts +4 -0
  652. package/features/folders/loadFolderHierarchy/feature.js +31 -0
  653. package/features/folders/loadFolderHierarchy/feature.js.map +1 -0
  654. package/features/folders/loadFolderHierarchy/index.d.ts +1 -0
  655. package/features/folders/loadFolderHierarchy/index.js +3 -0
  656. package/features/folders/loadFolderHierarchy/index.js.map +1 -0
  657. package/features/folders/loadFolderHierarchy/useLoadFolderHierarchy.d.ts +7 -0
  658. package/features/folders/loadFolderHierarchy/useLoadFolderHierarchy.js +53 -0
  659. package/features/folders/loadFolderHierarchy/useLoadFolderHierarchy.js.map +1 -0
  660. package/features/folders/updateFolder/UpdateFolder.test.js +154 -112
  661. package/features/folders/updateFolder/UpdateFolder.test.js.map +1 -1
  662. package/features/folders/updateFolder/UpdateFolderGqlGateway.d.ts +16 -10
  663. package/features/folders/updateFolder/UpdateFolderGqlGateway.js +13 -5
  664. package/features/folders/updateFolder/UpdateFolderGqlGateway.js.map +1 -1
  665. package/features/folders/updateFolder/UpdateFolderRepository.d.ts +9 -6
  666. package/features/folders/updateFolder/UpdateFolderRepository.js +12 -7
  667. package/features/folders/updateFolder/UpdateFolderRepository.js.map +1 -1
  668. package/features/folders/updateFolder/UpdateFolderUseCase.d.ts +9 -5
  669. package/features/folders/updateFolder/UpdateFolderUseCase.js +9 -12
  670. package/features/folders/updateFolder/UpdateFolderUseCase.js.map +1 -1
  671. package/features/folders/updateFolder/abstractions.d.ts +42 -0
  672. package/features/folders/updateFolder/abstractions.js +6 -0
  673. package/features/folders/updateFolder/abstractions.js.map +1 -0
  674. package/features/folders/updateFolder/decorators/RepositoryWithPathChange.d.ts +15 -0
  675. package/features/folders/updateFolder/{UpdateFolderRepositoryWithPathChange.js → decorators/RepositoryWithPathChange.js} +12 -6
  676. package/features/folders/updateFolder/decorators/RepositoryWithPathChange.js.map +1 -0
  677. package/features/folders/updateFolder/decorators/RepositoryWithPermissionsChange.d.ts +16 -0
  678. package/features/folders/updateFolder/{UpdateFolderRepositoryWithPermissionsChange.js → decorators/RepositoryWithPermissionsChange.js} +13 -7
  679. package/features/folders/updateFolder/decorators/RepositoryWithPermissionsChange.js.map +1 -0
  680. package/features/folders/updateFolder/decorators/UseCaseWithLoading.d.ts +12 -0
  681. package/features/folders/updateFolder/decorators/UseCaseWithLoading.js +18 -0
  682. package/features/folders/updateFolder/decorators/UseCaseWithLoading.js.map +1 -0
  683. package/features/folders/updateFolder/decorators/UseCaseWithoutInheritedPermissions.d.ts +10 -0
  684. package/features/folders/updateFolder/decorators/UseCaseWithoutInheritedPermissions.js +20 -0
  685. package/features/folders/updateFolder/decorators/UseCaseWithoutInheritedPermissions.js.map +1 -0
  686. package/features/folders/updateFolder/feature.d.ts +4 -0
  687. package/features/folders/updateFolder/feature.js +39 -0
  688. package/features/folders/updateFolder/feature.js.map +1 -0
  689. package/features/folders/updateFolder/index.d.ts +1 -1
  690. package/features/folders/updateFolder/index.js +1 -1
  691. package/features/folders/updateFolder/index.js.map +1 -1
  692. package/features/folders/updateFolder/useUpdateFolder.d.ts +3 -2
  693. package/features/folders/updateFolder/useUpdateFolder.js +20 -14
  694. package/features/folders/updateFolder/useUpdateFolder.js.map +1 -1
  695. package/graphql/app.gql.d.ts +1 -1
  696. package/graphql/app.gql.js.map +1 -1
  697. package/graphql/records/common.d.ts +1 -1
  698. package/graphql/records/common.js.map +1 -1
  699. package/graphql/records/getRecord.d.ts +2 -2
  700. package/graphql/records/getRecord.js +2 -21
  701. package/graphql/records/getRecord.js.map +1 -1
  702. package/graphql/records/listRecords.d.ts +2 -2
  703. package/graphql/records/listRecords.js +13 -34
  704. package/graphql/records/listRecords.js.map +1 -1
  705. package/graphql/records/moveRecord.d.ts +2 -2
  706. package/graphql/records/moveRecord.js +3 -15
  707. package/graphql/records/moveRecord.js.map +1 -1
  708. package/graphql/records/types.d.ts +1 -1
  709. package/graphql/records/types.js.map +1 -1
  710. package/graphql/records.gql.d.ts +3 -7
  711. package/graphql/records.gql.js +3 -7
  712. package/graphql/records.gql.js.map +1 -1
  713. package/handlers.d.ts +2 -2
  714. package/handlers.js.map +1 -1
  715. package/hooks/index.d.ts +7 -9
  716. package/hooks/index.js +7 -9
  717. package/hooks/index.js.map +1 -1
  718. package/hooks/useAcoApp.d.ts +1 -1
  719. package/hooks/useAcoApp.js +2 -5
  720. package/hooks/useAcoApp.js.map +1 -1
  721. package/hooks/useAcoList.d.ts +2 -2
  722. package/hooks/useAcoList.js +1 -1
  723. package/hooks/useAcoList.js.map +1 -1
  724. package/hooks/useFolder.d.ts +1 -1
  725. package/hooks/useFolder.js +1 -1
  726. package/hooks/useFolder.js.map +1 -1
  727. package/hooks/useFolderModel.d.ts +2 -0
  728. package/hooks/useFolderModel.js +18 -0
  729. package/hooks/useFolderModel.js.map +1 -0
  730. package/hooks/useFoldersType.js +1 -1
  731. package/hooks/useFoldersType.js.map +1 -1
  732. package/hooks/useNavigateFolder.d.ts +1 -1
  733. package/hooks/useNavigateFolder.js +1 -1
  734. package/hooks/useNavigateFolder.js.map +1 -1
  735. package/hooks/useRecords.d.ts +24 -25
  736. package/hooks/useRecords.js +3 -3
  737. package/hooks/useRecords.js.map +1 -1
  738. package/hooks/useTags.d.ts +2 -2
  739. package/hooks/useTags.js +2 -2
  740. package/hooks/useTags.js.map +1 -1
  741. package/index.d.ts +22 -10
  742. package/index.js +23 -8
  743. package/index.js.map +1 -1
  744. package/package.json +27 -30
  745. package/sorting.d.ts +1 -1
  746. package/sorting.js +1 -1
  747. package/sorting.js.map +1 -1
  748. package/table.types.d.ts +7 -5
  749. package/table.types.js.map +1 -1
  750. package/types.d.ts +5 -93
  751. package/types.js +0 -8
  752. package/types.js.map +1 -1
  753. package/components/AdvancedSearch/AdvancedSearchDebounceRender.d.ts +0 -15
  754. package/components/AdvancedSearch/AdvancedSearchDebounceRender.js +0 -36
  755. package/components/AdvancedSearch/AdvancedSearchDebounceRender.js.map +0 -1
  756. package/components/Table/components/Table/gateways/LocalStorage.d.ts +0 -6
  757. package/components/Table/components/Table/gateways/LocalStorage.js +0 -14
  758. package/components/Table/components/Table/gateways/LocalStorage.js.map +0 -1
  759. package/contexts/DisplayError/index.d.ts +0 -6
  760. package/contexts/DisplayError/index.js +0 -12
  761. package/contexts/DisplayError/index.js.map +0 -1
  762. package/contexts/Loading/Loading.d.ts +0 -2
  763. package/contexts/Loading/Loading.js +0 -9
  764. package/contexts/Loading/Loading.js.map +0 -1
  765. package/contexts/Loading/index.d.ts +0 -1
  766. package/contexts/Loading/index.js +0 -3
  767. package/contexts/Loading/index.js.map +0 -1
  768. package/contexts/navigateFolderWithRouter.d.ts +0 -8
  769. package/contexts/navigateFolderWithRouter.js +0 -81
  770. package/contexts/navigateFolderWithRouter.js.map +0 -1
  771. package/features/folders/Folder.js.map +0 -1
  772. package/features/folders/createFolder/CreateFolder.d.ts +0 -5
  773. package/features/folders/createFolder/CreateFolder.js +0 -16
  774. package/features/folders/createFolder/CreateFolder.js.map +0 -1
  775. package/features/folders/createFolder/CreateFolderUseCaseWithLoading.d.ts +0 -8
  776. package/features/folders/createFolder/CreateFolderUseCaseWithLoading.js +0 -12
  777. package/features/folders/createFolder/CreateFolderUseCaseWithLoading.js.map +0 -1
  778. package/features/folders/createFolder/FolderDto.d.ts +0 -9
  779. package/features/folders/createFolder/FolderDto.js.map +0 -1
  780. package/features/folders/createFolder/FolderGqlDto.js +0 -3
  781. package/features/folders/createFolder/FolderGqlDto.js.map +0 -1
  782. package/features/folders/createFolder/ICreateFolderGateway.d.ts +0 -5
  783. package/features/folders/createFolder/ICreateFolderGateway.js +0 -3
  784. package/features/folders/createFolder/ICreateFolderGateway.js.map +0 -1
  785. package/features/folders/createFolder/ICreateFolderRepository.d.ts +0 -4
  786. package/features/folders/createFolder/ICreateFolderRepository.js +0 -3
  787. package/features/folders/createFolder/ICreateFolderRepository.js.map +0 -1
  788. package/features/folders/createFolder/ICreateFolderUseCase.d.ts +0 -12
  789. package/features/folders/createFolder/ICreateFolderUseCase.js +0 -3
  790. package/features/folders/createFolder/ICreateFolderUseCase.js.map +0 -1
  791. package/features/folders/deleteFolder/DeleteFolder.d.ts +0 -5
  792. package/features/folders/deleteFolder/DeleteFolder.js +0 -16
  793. package/features/folders/deleteFolder/DeleteFolder.js.map +0 -1
  794. package/features/folders/deleteFolder/DeleteFolderUseCaseWithLoading.d.ts +0 -8
  795. package/features/folders/deleteFolder/DeleteFolderUseCaseWithLoading.js +0 -12
  796. package/features/folders/deleteFolder/DeleteFolderUseCaseWithLoading.js.map +0 -1
  797. package/features/folders/deleteFolder/IDeleteFolderGateway.d.ts +0 -3
  798. package/features/folders/deleteFolder/IDeleteFolderGateway.js +0 -3
  799. package/features/folders/deleteFolder/IDeleteFolderGateway.js.map +0 -1
  800. package/features/folders/deleteFolder/IDeleteFolderRepository.d.ts +0 -4
  801. package/features/folders/deleteFolder/IDeleteFolderRepository.js +0 -3
  802. package/features/folders/deleteFolder/IDeleteFolderRepository.js.map +0 -1
  803. package/features/folders/deleteFolder/IDeleteFolderUseCase.d.ts +0 -12
  804. package/features/folders/deleteFolder/IDeleteFolderUseCase.js +0 -3
  805. package/features/folders/deleteFolder/IDeleteFolderUseCase.js.map +0 -1
  806. package/features/folders/getDescendantFolders/FolderDto.d.ts +0 -9
  807. package/features/folders/getDescendantFolders/FolderDto.js +0 -3
  808. package/features/folders/getDescendantFolders/FolderDto.js.map +0 -1
  809. package/features/folders/getDescendantFolders/GetDescendantFolders.d.ts +0 -4
  810. package/features/folders/getDescendantFolders/GetDescendantFolders.js +0 -12
  811. package/features/folders/getDescendantFolders/GetDescendantFolders.js.map +0 -1
  812. package/features/folders/getDescendantFolders/IGetDescendantFoldersRepository.d.ts +0 -4
  813. package/features/folders/getDescendantFolders/IGetDescendantFoldersRepository.js +0 -3
  814. package/features/folders/getDescendantFolders/IGetDescendantFoldersRepository.js.map +0 -1
  815. package/features/folders/getDescendantFolders/IGetDescendantFoldersUseCase.d.ts +0 -7
  816. package/features/folders/getDescendantFolders/IGetDescendantFoldersUseCase.js +0 -3
  817. package/features/folders/getDescendantFolders/IGetDescendantFoldersUseCase.js.map +0 -1
  818. package/features/folders/getFolder/GetFolder.d.ts +0 -5
  819. package/features/folders/getFolder/GetFolder.js +0 -16
  820. package/features/folders/getFolder/GetFolder.js.map +0 -1
  821. package/features/folders/getFolder/GetFolderUseCaseWithLoading.d.ts +0 -8
  822. package/features/folders/getFolder/GetFolderUseCaseWithLoading.js +0 -12
  823. package/features/folders/getFolder/GetFolderUseCaseWithLoading.js.map +0 -1
  824. package/features/folders/getFolder/IGetFolderGateway.d.ts +0 -22
  825. package/features/folders/getFolder/IGetFolderGateway.js +0 -3
  826. package/features/folders/getFolder/IGetFolderGateway.js.map +0 -1
  827. package/features/folders/getFolder/IGetFolderRepository.d.ts +0 -3
  828. package/features/folders/getFolder/IGetFolderRepository.js +0 -3
  829. package/features/folders/getFolder/IGetFolderRepository.js.map +0 -1
  830. package/features/folders/getFolder/IGetFolderUseCase.d.ts +0 -6
  831. package/features/folders/getFolder/IGetFolderUseCase.js +0 -3
  832. package/features/folders/getFolder/IGetFolderUseCase.js.map +0 -1
  833. package/features/folders/getFolderAncestors/FolderDto.d.ts +0 -9
  834. package/features/folders/getFolderAncestors/FolderDto.js +0 -3
  835. package/features/folders/getFolderAncestors/FolderDto.js.map +0 -1
  836. package/features/folders/getFolderAncestors/GetFolderAncestors.d.ts +0 -4
  837. package/features/folders/getFolderAncestors/GetFolderAncestors.js +0 -12
  838. package/features/folders/getFolderAncestors/GetFolderAncestors.js.map +0 -1
  839. package/features/folders/getFolderAncestors/IGetFolderAncestorsRepository.d.ts +0 -4
  840. package/features/folders/getFolderAncestors/IGetFolderAncestorsRepository.js +0 -3
  841. package/features/folders/getFolderAncestors/IGetFolderAncestorsRepository.js.map +0 -1
  842. package/features/folders/getFolderAncestors/IGetFolderAncestorsUseCase.d.ts +0 -7
  843. package/features/folders/getFolderAncestors/IGetFolderAncestorsUseCase.js +0 -3
  844. package/features/folders/getFolderAncestors/IGetFolderAncestorsUseCase.js.map +0 -1
  845. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFields.d.ts +0 -5
  846. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFields.js +0 -22
  847. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFields.js.map +0 -1
  848. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsRepository.d.ts +0 -26
  849. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsRepository.js +0 -10
  850. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsRepository.js.map +0 -1
  851. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCaseWithNamespace.d.ts +0 -28
  852. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCaseWithNamespace.js +0 -22
  853. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCaseWithNamespace.js.map +0 -1
  854. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCaseWithNamespaceAndModelId.d.ts +0 -29
  855. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCaseWithNamespaceAndModelId.js +0 -24
  856. package/features/folders/getFolderExtensionsFields/GetFolderExtensionsFieldsUseCaseWithNamespaceAndModelId.js.map +0 -1
  857. package/features/folders/getFolderExtensionsFields/IGetFolderExtensionsFieldsRepository.d.ts +0 -4
  858. package/features/folders/getFolderExtensionsFields/IGetFolderExtensionsFieldsRepository.js +0 -3
  859. package/features/folders/getFolderExtensionsFields/IGetFolderExtensionsFieldsRepository.js.map +0 -1
  860. package/features/folders/getFolderExtensionsFields/IGetFolderExtensionsFieldsUseCase.d.ts +0 -6
  861. package/features/folders/getFolderExtensionsFields/IGetFolderExtensionsFieldsUseCase.js +0 -3
  862. package/features/folders/getFolderExtensionsFields/IGetFolderExtensionsFieldsUseCase.js.map +0 -1
  863. package/features/folders/getFolderExtensionsFields/useGetFolderExtensionsFields.d.ts +0 -24
  864. package/features/folders/getFolderExtensionsFields/useGetFolderExtensionsFields.js +0 -17
  865. package/features/folders/getFolderExtensionsFields/useGetFolderExtensionsFields.js.map +0 -1
  866. package/features/folders/getFolderHierarchy/FolderDto.d.ts +0 -26
  867. package/features/folders/getFolderHierarchy/FolderDto.js +0 -34
  868. package/features/folders/getFolderHierarchy/FolderDto.js.map +0 -1
  869. package/features/folders/getFolderHierarchy/FolderGqlDto.d.ts +0 -21
  870. package/features/folders/getFolderHierarchy/FolderGqlDto.js +0 -3
  871. package/features/folders/getFolderHierarchy/FolderGqlDto.js.map +0 -1
  872. package/features/folders/getFolderHierarchy/GetFolderHierarchy.d.ts +0 -14
  873. package/features/folders/getFolderHierarchy/GetFolderHierarchy.js +0 -22
  874. package/features/folders/getFolderHierarchy/GetFolderHierarchy.js.map +0 -1
  875. package/features/folders/getFolderHierarchy/GetFolderHierarchy.test.js +0 -205
  876. package/features/folders/getFolderHierarchy/GetFolderHierarchy.test.js.map +0 -1
  877. package/features/folders/getFolderHierarchy/GetFolderHierarchyGqlGateway.d.ts +0 -31
  878. package/features/folders/getFolderHierarchy/GetFolderHierarchyGqlGateway.js +0 -82
  879. package/features/folders/getFolderHierarchy/GetFolderHierarchyGqlGateway.js.map +0 -1
  880. package/features/folders/getFolderHierarchy/GetFolderHierarchyRepository.d.ts +0 -12
  881. package/features/folders/getFolderHierarchy/GetFolderHierarchyRepository.js +0 -28
  882. package/features/folders/getFolderHierarchy/GetFolderHierarchyRepository.js.map +0 -1
  883. package/features/folders/getFolderHierarchy/GetFolderHierarchyUseCase.d.ts +0 -7
  884. package/features/folders/getFolderHierarchy/GetFolderHierarchyUseCase.js +0 -14
  885. package/features/folders/getFolderHierarchy/GetFolderHierarchyUseCase.js.map +0 -1
  886. package/features/folders/getFolderHierarchy/GetFolderHierarchyUseCaseWithLoading.d.ts +0 -8
  887. package/features/folders/getFolderHierarchy/GetFolderHierarchyUseCaseWithLoading.js +0 -12
  888. package/features/folders/getFolderHierarchy/GetFolderHierarchyUseCaseWithLoading.js.map +0 -1
  889. package/features/folders/getFolderHierarchy/IGetFolderHierarchyGateway.d.ts +0 -12
  890. package/features/folders/getFolderHierarchy/IGetFolderHierarchyGateway.js +0 -3
  891. package/features/folders/getFolderHierarchy/IGetFolderHierarchyGateway.js.map +0 -1
  892. package/features/folders/getFolderHierarchy/IGetFolderHierarchyRepository.d.ts +0 -6
  893. package/features/folders/getFolderHierarchy/IGetFolderHierarchyRepository.js +0 -3
  894. package/features/folders/getFolderHierarchy/IGetFolderHierarchyRepository.js.map +0 -1
  895. package/features/folders/getFolderHierarchy/IGetFolderHierarchyUseCase.d.ts +0 -6
  896. package/features/folders/getFolderHierarchy/IGetFolderHierarchyUseCase.js +0 -3
  897. package/features/folders/getFolderHierarchy/IGetFolderHierarchyUseCase.js.map +0 -1
  898. package/features/folders/getFolderHierarchy/index.d.ts +0 -1
  899. package/features/folders/getFolderHierarchy/index.js +0 -3
  900. package/features/folders/getFolderHierarchy/index.js.map +0 -1
  901. package/features/folders/getFolderHierarchy/useGetFolderHierarchy.d.ts +0 -6
  902. package/features/folders/getFolderHierarchy/useGetFolderHierarchy.js +0 -51
  903. package/features/folders/getFolderHierarchy/useGetFolderHierarchy.js.map +0 -1
  904. package/features/folders/getFolderLevelPermission/FolderPermissionName.d.ts +0 -1
  905. package/features/folders/getFolderLevelPermission/FolderPermissionName.js +0 -3
  906. package/features/folders/getFolderLevelPermission/FolderPermissionName.js.map +0 -1
  907. package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.d.ts +0 -5
  908. package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.js +0 -16
  909. package/features/folders/getFolderLevelPermission/GetFolderLevelPermission.js.map +0 -1
  910. package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionRepository.d.ts +0 -10
  911. package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionRepository.js +0 -15
  912. package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionRepository.js.map +0 -1
  913. package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionWithFlpUseCase.d.ts +0 -7
  914. package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionWithFlpUseCase.js +0 -10
  915. package/features/folders/getFolderLevelPermission/GetFolderLevelPermissionWithFlpUseCase.js.map +0 -1
  916. package/features/folders/getFolderLevelPermission/IGetFolderLevelPermissionRepository.d.ts +0 -3
  917. package/features/folders/getFolderLevelPermission/IGetFolderLevelPermissionRepository.js +0 -3
  918. package/features/folders/getFolderLevelPermission/IGetFolderLevelPermissionRepository.js.map +0 -1
  919. package/features/folders/getFolderLevelPermission/IGetFolderLevelPermissionUseCase.d.ts +0 -6
  920. package/features/folders/getFolderLevelPermission/IGetFolderLevelPermissionUseCase.js +0 -3
  921. package/features/folders/getFolderLevelPermission/IGetFolderLevelPermissionUseCase.js.map +0 -1
  922. package/features/folders/getFolderModel/FolderModelContext.d.ts +0 -3
  923. package/features/folders/getFolderModel/FolderModelContext.js +0 -60
  924. package/features/folders/getFolderModel/FolderModelContext.js.map +0 -1
  925. package/features/folders/getFolderModel/GetFolderModel.d.ts +0 -11
  926. package/features/folders/getFolderModel/GetFolderModel.js +0 -14
  927. package/features/folders/getFolderModel/GetFolderModel.js.map +0 -1
  928. package/features/folders/getFolderModel/GetFolderModel.test.d.ts +0 -1
  929. package/features/folders/getFolderModel/GetFolderModel.test.js +0 -74
  930. package/features/folders/getFolderModel/GetFolderModel.test.js.map +0 -1
  931. package/features/folders/getFolderModel/GetFolderModelGqlGateway.d.ts +0 -18
  932. package/features/folders/getFolderModel/GetFolderModelGqlGateway.js.map +0 -1
  933. package/features/folders/getFolderModel/GetFolderModelRepository.d.ts +0 -10
  934. package/features/folders/getFolderModel/GetFolderModelRepository.js.map +0 -1
  935. package/features/folders/getFolderModel/GetFolderModelUseCase.d.ts +0 -7
  936. package/features/folders/getFolderModel/GetFolderModelUseCase.js +0 -10
  937. package/features/folders/getFolderModel/GetFolderModelUseCase.js.map +0 -1
  938. package/features/folders/getFolderModel/IGetFolderModelGateway.d.ts +0 -4
  939. package/features/folders/getFolderModel/IGetFolderModelGateway.js +0 -3
  940. package/features/folders/getFolderModel/IGetFolderModelGateway.js.map +0 -1
  941. package/features/folders/getFolderModel/IGetFolderModelRepository.d.ts +0 -6
  942. package/features/folders/getFolderModel/IGetFolderModelRepository.js +0 -3
  943. package/features/folders/getFolderModel/IGetFolderModelRepository.js.map +0 -1
  944. package/features/folders/getFolderModel/IGetFolderModelUseCase.d.ts +0 -3
  945. package/features/folders/getFolderModel/IGetFolderModelUseCase.js +0 -3
  946. package/features/folders/getFolderModel/IGetFolderModelUseCase.js.map +0 -1
  947. package/features/folders/getFolderModel/index.d.ts +0 -3
  948. package/features/folders/getFolderModel/index.js +0 -5
  949. package/features/folders/getFolderModel/index.js.map +0 -1
  950. package/features/folders/getFolderModel/useFolderModel.d.ts +0 -1
  951. package/features/folders/getFolderModel/useFolderModel.js +0 -11
  952. package/features/folders/getFolderModel/useFolderModel.js.map +0 -1
  953. package/features/folders/index.d.ts +0 -14
  954. package/features/folders/index.js +0 -16
  955. package/features/folders/index.js.map +0 -1
  956. package/features/folders/listFolders/FolderDto.d.ts +0 -26
  957. package/features/folders/listFolders/FolderDto.js +0 -34
  958. package/features/folders/listFolders/FolderDto.js.map +0 -1
  959. package/features/folders/listFolders/FolderGqlDto.d.ts +0 -21
  960. package/features/folders/listFolders/FolderGqlDto.js +0 -3
  961. package/features/folders/listFolders/FolderGqlDto.js.map +0 -1
  962. package/features/folders/listFolders/IListFoldersGateway.d.ts +0 -7
  963. package/features/folders/listFolders/IListFoldersGateway.js +0 -3
  964. package/features/folders/listFolders/IListFoldersGateway.js.map +0 -1
  965. package/features/folders/listFolders/IListFoldersRepository.d.ts +0 -3
  966. package/features/folders/listFolders/IListFoldersRepository.js +0 -3
  967. package/features/folders/listFolders/IListFoldersRepository.js.map +0 -1
  968. package/features/folders/listFolders/IListFoldersUseCase.d.ts +0 -3
  969. package/features/folders/listFolders/IListFoldersUseCase.js +0 -3
  970. package/features/folders/listFolders/IListFoldersUseCase.js.map +0 -1
  971. package/features/folders/listFolders/ListFolders.d.ts +0 -14
  972. package/features/folders/listFolders/ListFolders.js +0 -21
  973. package/features/folders/listFolders/ListFolders.js.map +0 -1
  974. package/features/folders/listFolders/ListFoldersCompressedGqlGateway.d.ts +0 -26
  975. package/features/folders/listFolders/ListFoldersCompressedGqlGateway.js +0 -83
  976. package/features/folders/listFolders/ListFoldersCompressedGqlGateway.js.map +0 -1
  977. package/features/folders/listFoldersByParentIds/FolderDto.d.ts +0 -26
  978. package/features/folders/listFoldersByParentIds/FolderDto.js.map +0 -1
  979. package/features/folders/listFoldersByParentIds/FolderGqlDto.d.ts +0 -21
  980. package/features/folders/listFoldersByParentIds/FolderGqlDto.js +0 -3
  981. package/features/folders/listFoldersByParentIds/FolderGqlDto.js.map +0 -1
  982. package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsGateway.d.ts +0 -8
  983. package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsGateway.js +0 -3
  984. package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsGateway.js.map +0 -1
  985. package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsRepository.d.ts +0 -6
  986. package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsRepository.js +0 -3
  987. package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsRepository.js.map +0 -1
  988. package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsUseCase.d.ts +0 -6
  989. package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsUseCase.js +0 -3
  990. package/features/folders/listFoldersByParentIds/IListFoldersByParentIdsUseCase.js.map +0 -1
  991. package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.d.ts +0 -14
  992. package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.js +0 -24
  993. package/features/folders/listFoldersByParentIds/ListFoldersByParentIds.js.map +0 -1
  994. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepositoryWithLoadedCache.d.ts +0 -8
  995. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepositoryWithLoadedCache.js +0 -23
  996. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsRepositoryWithLoadedCache.js.map +0 -1
  997. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCaseWithLoading.d.ts +0 -10
  998. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCaseWithLoading.js +0 -21
  999. package/features/folders/listFoldersByParentIds/ListFoldersByParentIdsUseCaseWithLoading.js.map +0 -1
  1000. package/features/folders/updateFolder/FolderDto.d.ts +0 -9
  1001. package/features/folders/updateFolder/FolderDto.js +0 -3
  1002. package/features/folders/updateFolder/FolderDto.js.map +0 -1
  1003. package/features/folders/updateFolder/FolderGqlDto.d.ts +0 -21
  1004. package/features/folders/updateFolder/FolderGqlDto.js +0 -3
  1005. package/features/folders/updateFolder/FolderGqlDto.js.map +0 -1
  1006. package/features/folders/updateFolder/IUpdateFolderGateway.d.ts +0 -5
  1007. package/features/folders/updateFolder/IUpdateFolderGateway.js +0 -3
  1008. package/features/folders/updateFolder/IUpdateFolderGateway.js.map +0 -1
  1009. package/features/folders/updateFolder/IUpdateFolderRepository.d.ts +0 -4
  1010. package/features/folders/updateFolder/IUpdateFolderRepository.js +0 -3
  1011. package/features/folders/updateFolder/IUpdateFolderRepository.js.map +0 -1
  1012. package/features/folders/updateFolder/IUpdateFolderUseCase.d.ts +0 -13
  1013. package/features/folders/updateFolder/IUpdateFolderUseCase.js +0 -3
  1014. package/features/folders/updateFolder/IUpdateFolderUseCase.js.map +0 -1
  1015. package/features/folders/updateFolder/UpdateFolder.d.ts +0 -5
  1016. package/features/folders/updateFolder/UpdateFolder.js +0 -22
  1017. package/features/folders/updateFolder/UpdateFolder.js.map +0 -1
  1018. package/features/folders/updateFolder/UpdateFolderRepositoryWithPathChange.d.ts +0 -11
  1019. package/features/folders/updateFolder/UpdateFolderRepositoryWithPathChange.js.map +0 -1
  1020. package/features/folders/updateFolder/UpdateFolderRepositoryWithPermissionsChange.d.ts +0 -12
  1021. package/features/folders/updateFolder/UpdateFolderRepositoryWithPermissionsChange.js.map +0 -1
  1022. package/features/folders/updateFolder/UpdateFolderUseCaseWithLoading.d.ts +0 -8
  1023. package/features/folders/updateFolder/UpdateFolderUseCaseWithLoading.js +0 -12
  1024. package/features/folders/updateFolder/UpdateFolderUseCaseWithLoading.js.map +0 -1
  1025. package/features/folders/updateFolder/UpdateFolderUseCaseWithoutInheritedPermissions.d.ts +0 -6
  1026. package/features/folders/updateFolder/UpdateFolderUseCaseWithoutInheritedPermissions.js +0 -15
  1027. package/features/folders/updateFolder/UpdateFolderUseCaseWithoutInheritedPermissions.js.map +0 -1
  1028. package/features/index.d.ts +0 -1
  1029. package/features/index.js +0 -3
  1030. package/features/index.js.map +0 -1
  1031. package/graphql/records/createRecord.d.ts +0 -2
  1032. package/graphql/records/createRecord.js +0 -24
  1033. package/graphql/records/createRecord.js.map +0 -1
  1034. package/graphql/records/deleteRecord.d.ts +0 -2
  1035. package/graphql/records/deleteRecord.js +0 -22
  1036. package/graphql/records/deleteRecord.js.map +0 -1
  1037. package/graphql/records/listTags.d.ts +0 -2
  1038. package/graphql/records/listTags.js +0 -25
  1039. package/graphql/records/listTags.js.map +0 -1
  1040. package/graphql/records/updateRecord.d.ts +0 -2
  1041. package/graphql/records/updateRecord.js +0 -24
  1042. package/graphql/records/updateRecord.js.map +0 -1
  1043. package/hooks/useFolders.d.ts +0 -20
  1044. package/hooks/useFolders.js +0 -56
  1045. package/hooks/useFolders.js.map +0 -1
  1046. package/hooks/useGetFolderGraphQLSelection.d.ts +0 -1
  1047. package/hooks/useGetFolderGraphQLSelection.js +0 -42
  1048. package/hooks/useGetFolderGraphQLSelection.js.map +0 -1
  1049. /package/{features/folders/createFolder → domain/folder}/FolderDto.js +0 -0
  1050. /package/features/folders/{getFolderModel → folderModelProvider}/FolderModelDto.js +0 -0
  1051. /package/features/folders/{getFolderHierarchy/GetFolderHierarchy.test.d.ts → loadFolderHierarchy/LoadFolderHierarchy.test.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useMemo","observer","useToast","AdvancedSearchPresenter","Button","QueryManagerDialog","QueryBuilderDrawer","QuerySaverDialog","SelectedFilter","AdvancedSearch","fields","repository","onApplyFilter","showToast","presenter","load","applyFilter","filter","vm","appliedFilter","unsetFilter","deleteFilter","filterId","id","persistAndApplyFilter","persistFilter","feedbackVm","isOpen","title","message","createElement","Fragment","className","onClick","openManager","onEdit","editAppliedFilter","onDelete","onClose","closeManager","onCreate","createFilter","editFilter","onRename","renameFilter","onClone","cloneFilter","onSelect","managerVm","currentFilter","closeBuilder","onSave","saveFilter","onApply","onValidationError","showFeedback","builderVm","closeSaver","saverVm"],"sources":["AdvancedSearch.tsx"],"sourcesContent":["import React, { useEffect, useMemo } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useToast } from \"@webiny/admin-ui\";\n\nimport type { FieldDTOWithElement, FilterDTO, FilterRepository } from \"./domain\";\n\nimport { AdvancedSearchPresenter } from \"./AdvancedSearchPresenter\";\n\nimport { Button } from \"./Button\";\nimport { QueryManagerDialog } from \"./QueryManagerDialog\";\nimport { QueryBuilderDrawer } from \"./QueryBuilderDrawer\";\nimport { QuerySaverDialog } from \"./QuerySaverDialog\";\nimport { SelectedFilter } from \"./SelectedFilter\";\n\nexport interface AdvancedSearchProps {\n fields: FieldDTOWithElement[];\n repository: FilterRepository;\n onApplyFilter: (data: FilterDTO | null) => void;\n}\n\nexport const AdvancedSearch = observer(\n ({ fields, repository, onApplyFilter }: AdvancedSearchProps) => {\n const { showToast } = useToast();\n\n const presenter = useMemo<AdvancedSearchPresenter>(() => {\n return new AdvancedSearchPresenter(repository);\n }, [repository]);\n\n useEffect(() => {\n presenter.load();\n }, []);\n\n const applyFilter = async (filter: string | FilterDTO) => {\n await presenter.applyFilter(filter);\n if (presenter.vm.appliedFilter) {\n onApplyFilter(presenter.vm.appliedFilter);\n }\n };\n\n const unsetFilter = () => {\n if (presenter.vm.appliedFilter) {\n presenter.unsetFilter();\n onApplyFilter(null);\n }\n };\n\n const deleteFilter = async (filterId: string) => {\n await presenter.deleteFilter(filterId);\n if (filterId === presenter.vm.appliedFilter?.id) {\n unsetFilter();\n }\n };\n\n const persistAndApplyFilter = async (filter: FilterDTO) => {\n await presenter.persistFilter(filter);\n onApplyFilter(filter);\n };\n\n useEffect(() => {\n if (presenter.vm.feedbackVm.isOpen) {\n showToast({\n title: presenter.vm.feedbackVm.message\n });\n }\n }, [presenter.vm.feedbackVm.isOpen, presenter.vm.feedbackVm.message]);\n\n return (\n <>\n <div\n className={\n \"wby-flex wby-flex-row-reverse wby-justify-between wby-items-center wby-gap-sm\"\n }\n >\n <Button onClick={() => presenter.openManager()} />\n {presenter.vm.appliedFilter ? (\n <SelectedFilter\n filter={presenter.vm.appliedFilter}\n onEdit={() => presenter.editAppliedFilter()}\n onDelete={unsetFilter}\n />\n ) : null}\n </div>\n <QueryManagerDialog\n onClose={() => presenter.closeManager()}\n onCreate={() => presenter.createFilter()}\n onEdit={filterId => presenter.editFilter(filterId)}\n onRename={filterId => presenter.renameFilter(filterId)}\n onClone={filterId => presenter.cloneFilter(filterId)}\n onDelete={deleteFilter}\n onSelect={applyFilter}\n vm={presenter.vm.managerVm}\n />\n {presenter.vm.currentFilter ? (\n <>\n <QueryBuilderDrawer\n fields={fields}\n onClose={() => presenter.closeBuilder()}\n onSave={filter => presenter.saveFilter(filter)}\n onApply={applyFilter}\n onValidationError={message => presenter.showFeedback(message)}\n filter={presenter.vm.currentFilter}\n vm={presenter.vm.builderVm}\n />\n <QuerySaverDialog\n onSave={persistAndApplyFilter}\n onClose={() => presenter.closeSaver()}\n filter={presenter.vm.currentFilter}\n vm={presenter.vm.saverVm}\n />\n </>\n ) : null}\n </>\n );\n }\n);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useMemo","observer","useToast","AdvancedSearchPresenter","Button","QueryManagerDialog","QueryBuilderDrawer","QuerySaverDialog","SelectedFilter","AdvancedSearch","fields","repository","onApplyFilter","showToast","presenter","load","applyFilter","filter","vm","appliedFilter","unsetFilter","deleteFilter","filterId","id","persistAndApplyFilter","persistFilter","feedbackVm","isOpen","title","message","createElement","Fragment","className","onClick","openManager","onEdit","editAppliedFilter","onDelete","onClose","closeManager","onCreate","createFilter","editFilter","onRename","renameFilter","onClone","cloneFilter","onSelect","managerVm","currentFilter","closeBuilder","onSave","saveFilter","onApply","onValidationError","showFeedback","builderVm","closeSaver","saverVm"],"sources":["AdvancedSearch.tsx"],"sourcesContent":["import React, { useEffect, useMemo } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useToast } from \"@webiny/admin-ui\";\n\nimport type { FieldDTOWithElement, FilterDTO, FilterRepository } from \"./domain/index.js\";\n\nimport { AdvancedSearchPresenter } from \"./AdvancedSearchPresenter.js\";\n\nimport { Button } from \"./Button/index.js\";\nimport { QueryManagerDialog } from \"./QueryManagerDialog/index.js\";\nimport { QueryBuilderDrawer } from \"./QueryBuilderDrawer/index.js\";\nimport { QuerySaverDialog } from \"./QuerySaverDialog/index.js\";\nimport { SelectedFilter } from \"./SelectedFilter/index.js\";\n\nexport interface AdvancedSearchProps {\n fields: FieldDTOWithElement[];\n repository: FilterRepository;\n onApplyFilter: (data: FilterDTO | null) => void;\n}\n\nexport const AdvancedSearch = observer(\n ({ fields, repository, onApplyFilter }: AdvancedSearchProps) => {\n const { showToast } = useToast();\n\n const presenter = useMemo<AdvancedSearchPresenter>(() => {\n return new AdvancedSearchPresenter(repository);\n }, [repository]);\n\n useEffect(() => {\n presenter.load();\n }, []);\n\n const applyFilter = async (filter: string | FilterDTO) => {\n await presenter.applyFilter(filter);\n if (presenter.vm.appliedFilter) {\n onApplyFilter(presenter.vm.appliedFilter);\n }\n };\n\n const unsetFilter = () => {\n if (presenter.vm.appliedFilter) {\n presenter.unsetFilter();\n onApplyFilter(null);\n }\n };\n\n const deleteFilter = async (filterId: string) => {\n await presenter.deleteFilter(filterId);\n if (filterId === presenter.vm.appliedFilter?.id) {\n unsetFilter();\n }\n };\n\n const persistAndApplyFilter = async (filter: FilterDTO) => {\n await presenter.persistFilter(filter);\n onApplyFilter(filter);\n };\n\n useEffect(() => {\n if (presenter.vm.feedbackVm.isOpen) {\n showToast({\n title: presenter.vm.feedbackVm.message\n });\n }\n }, [presenter.vm.feedbackVm.isOpen, presenter.vm.feedbackVm.message]);\n\n return (\n <>\n <div className={\"flex flex-row-reverse justify-between items-center gap-sm\"}>\n <Button onClick={() => presenter.openManager()} />\n {presenter.vm.appliedFilter ? (\n <SelectedFilter\n filter={presenter.vm.appliedFilter}\n onEdit={() => presenter.editAppliedFilter()}\n onDelete={unsetFilter}\n />\n ) : null}\n </div>\n <QueryManagerDialog\n onClose={() => presenter.closeManager()}\n onCreate={() => presenter.createFilter()}\n onEdit={filterId => presenter.editFilter(filterId)}\n onRename={filterId => presenter.renameFilter(filterId)}\n onClone={filterId => presenter.cloneFilter(filterId)}\n onDelete={deleteFilter}\n onSelect={applyFilter}\n vm={presenter.vm.managerVm}\n />\n {presenter.vm.currentFilter ? (\n <>\n <QueryBuilderDrawer\n fields={fields}\n onClose={() => presenter.closeBuilder()}\n onSave={filter => presenter.saveFilter(filter)}\n onApply={applyFilter}\n onValidationError={message => presenter.showFeedback(message)}\n filter={presenter.vm.currentFilter}\n vm={presenter.vm.builderVm}\n />\n <QuerySaverDialog\n onSave={persistAndApplyFilter}\n onClose={() => presenter.closeSaver()}\n filter={presenter.vm.currentFilter}\n vm={presenter.vm.saverVm}\n />\n </>\n ) : null}\n </>\n );\n }\n);\n"],"mappings":"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","ignoreList":[]}
@@ -1,12 +1,12 @@
1
1
  import React from "react";
2
- import { AcoConfig } from "../../config";
3
- import { FieldType } from "./domain";
4
- import { Boolean, DateWithoutTimezone, DateWithTimezone, Input, PredefinedValues } from "./fields";
2
+ import { AcoConfig } from "../../config/index.js";
3
+ import { FieldType } from "./domain/index.js";
4
+ import { Boolean, DateWithoutTimezone, DateWithTimezone, Input, PredefinedValues } from "./fields/index.js";
5
5
  const {
6
6
  AdvancedSearch
7
7
  } = AcoConfig;
8
8
  export const AdvancedSearchConfigs = /*#__PURE__*/React.memo(() => {
9
- return /*#__PURE__*/React.createElement(AcoConfig, null, /*#__PURE__*/React.createElement(AdvancedSearch.FieldRenderer, {
9
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(AdvancedSearch.FieldRenderer, {
10
10
  name: "text",
11
11
  type: FieldType.TEXT,
12
12
  element: /*#__PURE__*/React.createElement(Input, null)
@@ -1 +1 @@
1
- {"version":3,"names":["React","AcoConfig","FieldType","Boolean","DateWithoutTimezone","DateWithTimezone","Input","PredefinedValues","AdvancedSearch","AdvancedSearchConfigs","memo","createElement","FieldRenderer","name","type","TEXT","element","DATE","TIME","NUMBER","BOOLEAN","DATETIME_WITH_TIMEZONE","DATETIME_WITHOUT_TIMEZONE","PREDEFINED_VALUES","displayName"],"sources":["AdvancedSearchConfigs.tsx"],"sourcesContent":["import React from \"react\";\nimport { AcoConfig } from \"~/config\";\nimport { FieldType } from \"~/components/AdvancedSearch/domain\";\nimport {\n Boolean,\n DateWithoutTimezone,\n DateWithTimezone,\n Input,\n PredefinedValues\n} from \"~/components/AdvancedSearch/fields\";\n\nconst { AdvancedSearch } = AcoConfig;\n\nexport const AdvancedSearchConfigs = React.memo(() => {\n return (\n <AcoConfig>\n <AdvancedSearch.FieldRenderer name={\"text\"} type={FieldType.TEXT} element={<Input />} />\n <AdvancedSearch.FieldRenderer name={\"date\"} type={FieldType.DATE} element={<Input />} />\n <AdvancedSearch.FieldRenderer name={\"time\"} type={FieldType.TIME} element={<Input />} />\n <AdvancedSearch.FieldRenderer\n name={\"number\"}\n type={FieldType.NUMBER}\n element={<Input />}\n />\n <AdvancedSearch.FieldRenderer\n name={\"boolean\"}\n type={FieldType.BOOLEAN}\n element={<Boolean />}\n />\n <AdvancedSearch.FieldRenderer\n name={\"dateTimeWithTimezone\"}\n type={FieldType.DATETIME_WITH_TIMEZONE}\n element={<DateWithTimezone />}\n />\n <AdvancedSearch.FieldRenderer\n name={\"dateTimeWithoutTimezone\"}\n type={FieldType.DATETIME_WITHOUT_TIMEZONE}\n element={<DateWithoutTimezone />}\n />\n <AdvancedSearch.FieldRenderer\n name={\"predefinedValues\"}\n type={FieldType.PREDEFINED_VALUES}\n element={<PredefinedValues />}\n />\n </AcoConfig>\n );\n});\n\nAdvancedSearchConfigs.displayName = \"AdvancedSearchConfigs\";\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,SAAS;AAClB,SAASC,SAAS;AAClB,SACIC,OAAO,EACPC,mBAAmB,EACnBC,gBAAgB,EAChBC,KAAK,EACLC,gBAAgB;AAGpB,MAAM;EAAEC;AAAe,CAAC,GAAGP,SAAS;AAEpC,OAAO,MAAMQ,qBAAqB,gBAAGT,KAAK,CAACU,IAAI,CAAC,MAAM;EAClD,oBACIV,KAAA,CAAAW,aAAA,CAACV,SAAS,qBACND,KAAA,CAAAW,aAAA,CAACH,cAAc,CAACI,aAAa;IAACC,IAAI,EAAE,MAAO;IAACC,IAAI,EAAEZ,SAAS,CAACa,IAAK;IAACC,OAAO,eAAEhB,KAAA,CAAAW,aAAA,CAACL,KAAK,MAAE;EAAE,CAAE,CAAC,eACxFN,KAAA,CAAAW,aAAA,CAACH,cAAc,CAACI,aAAa;IAACC,IAAI,EAAE,MAAO;IAACC,IAAI,EAAEZ,SAAS,CAACe,IAAK;IAACD,OAAO,eAAEhB,KAAA,CAAAW,aAAA,CAACL,KAAK,MAAE;EAAE,CAAE,CAAC,eACxFN,KAAA,CAAAW,aAAA,CAACH,cAAc,CAACI,aAAa;IAACC,IAAI,EAAE,MAAO;IAACC,IAAI,EAAEZ,SAAS,CAACgB,IAAK;IAACF,OAAO,eAAEhB,KAAA,CAAAW,aAAA,CAACL,KAAK,MAAE;EAAE,CAAE,CAAC,eACxFN,KAAA,CAAAW,aAAA,CAACH,cAAc,CAACI,aAAa;IACzBC,IAAI,EAAE,QAAS;IACfC,IAAI,EAAEZ,SAAS,CAACiB,MAAO;IACvBH,OAAO,eAAEhB,KAAA,CAAAW,aAAA,CAACL,KAAK,MAAE;EAAE,CACtB,CAAC,eACFN,KAAA,CAAAW,aAAA,CAACH,cAAc,CAACI,aAAa;IACzBC,IAAI,EAAE,SAAU;IAChBC,IAAI,EAAEZ,SAAS,CAACkB,OAAQ;IACxBJ,OAAO,eAAEhB,KAAA,CAAAW,aAAA,CAACR,OAAO,MAAE;EAAE,CACxB,CAAC,eACFH,KAAA,CAAAW,aAAA,CAACH,cAAc,CAACI,aAAa;IACzBC,IAAI,EAAE,sBAAuB;IAC7BC,IAAI,EAAEZ,SAAS,CAACmB,sBAAuB;IACvCL,OAAO,eAAEhB,KAAA,CAAAW,aAAA,CAACN,gBAAgB,MAAE;EAAE,CACjC,CAAC,eACFL,KAAA,CAAAW,aAAA,CAACH,cAAc,CAACI,aAAa;IACzBC,IAAI,EAAE,yBAA0B;IAChCC,IAAI,EAAEZ,SAAS,CAACoB,yBAA0B;IAC1CN,OAAO,eAAEhB,KAAA,CAAAW,aAAA,CAACP,mBAAmB,MAAE;EAAE,CACpC,CAAC,eACFJ,KAAA,CAAAW,aAAA,CAACH,cAAc,CAACI,aAAa;IACzBC,IAAI,EAAE,kBAAmB;IACzBC,IAAI,EAAEZ,SAAS,CAACqB,iBAAkB;IAClCP,OAAO,eAAEhB,KAAA,CAAAW,aAAA,CAACJ,gBAAgB,MAAE;EAAE,CACjC,CACM,CAAC;AAEpB,CAAC,CAAC;AAEFE,qBAAqB,CAACe,WAAW,GAAG,uBAAuB","ignoreList":[]}
1
+ {"version":3,"names":["React","AcoConfig","FieldType","Boolean","DateWithoutTimezone","DateWithTimezone","Input","PredefinedValues","AdvancedSearch","AdvancedSearchConfigs","memo","createElement","Fragment","FieldRenderer","name","type","TEXT","element","DATE","TIME","NUMBER","BOOLEAN","DATETIME_WITH_TIMEZONE","DATETIME_WITHOUT_TIMEZONE","PREDEFINED_VALUES","displayName"],"sources":["AdvancedSearchConfigs.tsx"],"sourcesContent":["import React from \"react\";\nimport { AcoConfig } from \"~/config/index.js\";\nimport { FieldType } from \"~/components/AdvancedSearch/domain/index.js\";\nimport {\n Boolean,\n DateWithoutTimezone,\n DateWithTimezone,\n Input,\n PredefinedValues\n} from \"~/components/AdvancedSearch/fields/index.js\";\n\nconst { AdvancedSearch } = AcoConfig;\n\nexport const AdvancedSearchConfigs = React.memo(() => {\n return (\n <>\n <AdvancedSearch.FieldRenderer name={\"text\"} type={FieldType.TEXT} element={<Input />} />\n <AdvancedSearch.FieldRenderer name={\"date\"} type={FieldType.DATE} element={<Input />} />\n <AdvancedSearch.FieldRenderer name={\"time\"} type={FieldType.TIME} element={<Input />} />\n <AdvancedSearch.FieldRenderer\n name={\"number\"}\n type={FieldType.NUMBER}\n element={<Input />}\n />\n <AdvancedSearch.FieldRenderer\n name={\"boolean\"}\n type={FieldType.BOOLEAN}\n element={<Boolean />}\n />\n <AdvancedSearch.FieldRenderer\n name={\"dateTimeWithTimezone\"}\n type={FieldType.DATETIME_WITH_TIMEZONE}\n element={<DateWithTimezone />}\n />\n <AdvancedSearch.FieldRenderer\n name={\"dateTimeWithoutTimezone\"}\n type={FieldType.DATETIME_WITHOUT_TIMEZONE}\n element={<DateWithoutTimezone />}\n />\n <AdvancedSearch.FieldRenderer\n name={\"predefinedValues\"}\n type={FieldType.PREDEFINED_VALUES}\n element={<PredefinedValues />}\n />\n </>\n );\n});\n\nAdvancedSearchConfigs.displayName = \"AdvancedSearchConfigs\";\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,SAAS;AAClB,SAASC,SAAS;AAClB,SACIC,OAAO,EACPC,mBAAmB,EACnBC,gBAAgB,EAChBC,KAAK,EACLC,gBAAgB;AAGpB,MAAM;EAAEC;AAAe,CAAC,GAAGP,SAAS;AAEpC,OAAO,MAAMQ,qBAAqB,gBAAGT,KAAK,CAACU,IAAI,CAAC,MAAM;EAClD,oBACIV,KAAA,CAAAW,aAAA,CAAAX,KAAA,CAAAY,QAAA,qBACIZ,KAAA,CAAAW,aAAA,CAACH,cAAc,CAACK,aAAa;IAACC,IAAI,EAAE,MAAO;IAACC,IAAI,EAAEb,SAAS,CAACc,IAAK;IAACC,OAAO,eAAEjB,KAAA,CAAAW,aAAA,CAACL,KAAK,MAAE;EAAE,CAAE,CAAC,eACxFN,KAAA,CAAAW,aAAA,CAACH,cAAc,CAACK,aAAa;IAACC,IAAI,EAAE,MAAO;IAACC,IAAI,EAAEb,SAAS,CAACgB,IAAK;IAACD,OAAO,eAAEjB,KAAA,CAAAW,aAAA,CAACL,KAAK,MAAE;EAAE,CAAE,CAAC,eACxFN,KAAA,CAAAW,aAAA,CAACH,cAAc,CAACK,aAAa;IAACC,IAAI,EAAE,MAAO;IAACC,IAAI,EAAEb,SAAS,CAACiB,IAAK;IAACF,OAAO,eAAEjB,KAAA,CAAAW,aAAA,CAACL,KAAK,MAAE;EAAE,CAAE,CAAC,eACxFN,KAAA,CAAAW,aAAA,CAACH,cAAc,CAACK,aAAa;IACzBC,IAAI,EAAE,QAAS;IACfC,IAAI,EAAEb,SAAS,CAACkB,MAAO;IACvBH,OAAO,eAAEjB,KAAA,CAAAW,aAAA,CAACL,KAAK,MAAE;EAAE,CACtB,CAAC,eACFN,KAAA,CAAAW,aAAA,CAACH,cAAc,CAACK,aAAa;IACzBC,IAAI,EAAE,SAAU;IAChBC,IAAI,EAAEb,SAAS,CAACmB,OAAQ;IACxBJ,OAAO,eAAEjB,KAAA,CAAAW,aAAA,CAACR,OAAO,MAAE;EAAE,CACxB,CAAC,eACFH,KAAA,CAAAW,aAAA,CAACH,cAAc,CAACK,aAAa;IACzBC,IAAI,EAAE,sBAAuB;IAC7BC,IAAI,EAAEb,SAAS,CAACoB,sBAAuB;IACvCL,OAAO,eAAEjB,KAAA,CAAAW,aAAA,CAACN,gBAAgB,MAAE;EAAE,CACjC,CAAC,eACFL,KAAA,CAAAW,aAAA,CAACH,cAAc,CAACK,aAAa;IACzBC,IAAI,EAAE,yBAA0B;IAChCC,IAAI,EAAEb,SAAS,CAACqB,yBAA0B;IAC1CN,OAAO,eAAEjB,KAAA,CAAAW,aAAA,CAACP,mBAAmB,MAAE;EAAE,CACpC,CAAC,eACFJ,KAAA,CAAAW,aAAA,CAACH,cAAc,CAACK,aAAa;IACzBC,IAAI,EAAE,kBAAmB;IACzBC,IAAI,EAAEb,SAAS,CAACsB,iBAAkB;IAClCP,OAAO,eAAEjB,KAAA,CAAAW,aAAA,CAACJ,gBAAgB,MAAE;EAAE,CACjC,CACH,CAAC;AAEX,CAAC,CAAC;AAEFE,qBAAqB,CAACgB,WAAW,GAAG,uBAAuB","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import type { FilterDTO, FilterRepository } from "./domain";
1
+ import type { FilterDTO, FilterRepository } from "../../components/AdvancedSearch/domain/index.js";
2
2
  export interface AdvancedSearchPresenterInterface {
3
3
  load(): Promise<void>;
4
4
  openManager(): void;
@@ -1,5 +1,5 @@
1
1
  import { makeAutoObservable, runInAction } from "mobx";
2
- import { Feedback, Filter, FilterMapper } from "./domain";
2
+ import { Feedback, Filter, FilterMapper } from "./domain/index.js";
3
3
  export class AdvancedSearchPresenter {
4
4
  showBuilder = false;
5
5
  showManager = false;
@@ -1 +1 @@
1
- {"version":3,"names":["makeAutoObservable","runInAction","Feedback","Filter","FilterMapper","AdvancedSearchPresenter","showBuilder","showManager","showSaver","currentFilter","appliedFilter","constructor","repository","feedback","load","listFilters","managerVm","vm","isOpen","view","isLoading","getLoading","loadingLabel","filters","getFilters","map","filter","id","name","description","createdOn","length","feedbackVm","Boolean","message","builderVm","saverVm","openManager","closeManager","openBuilder","closeBuilder","openSaver","closeSaver","showFeedback","applyFilter","filterDto","result","getFilterById","unsetFilter","editAppliedFilter","renameFilter","filterId","createFilter","toDTO","createEmpty","cloneFilter","create","editFilter","deleteFilter","saveFilter","persistFilter","updateFilterIntoRepository","createFilterIntoRepository","newFilter","updateFilter"],"sources":["AdvancedSearchPresenter.ts"],"sourcesContent":["import { makeAutoObservable, runInAction } from \"mobx\";\nimport type { FilterDTO, FilterRepository } from \"~/components/AdvancedSearch/domain\";\nimport { Feedback, Filter, FilterMapper } from \"~/components/AdvancedSearch/domain\";\n\nexport interface AdvancedSearchPresenterInterface {\n load(): Promise<void>;\n openManager(): void;\n closeManager(): void;\n openBuilder(): void;\n closeBuilder(): void;\n openSaver(): void;\n closeSaver(): void;\n showFeedback(message: string): void;\n applyFilter(filter: string | FilterDTO): Promise<void>;\n unsetFilter(): void;\n editAppliedFilter(): void;\n createFilter(): void;\n editFilter(filterId: string): Promise<void>;\n deleteFilter(id: string): Promise<void>;\n saveFilter(filter: FilterDTO): void;\n renameFilter(filterId: string): Promise<void>;\n cloneFilter(filterId: string): Promise<void>;\n persistFilter(filter: FilterDTO): Promise<void>;\n get vm(): {\n currentFilter: FilterDTO | null;\n appliedFilter: FilterDTO | null;\n feedbackVm: {\n isOpen: boolean;\n message: string;\n };\n managerVm: {\n isOpen: boolean;\n view: string;\n isLoading: boolean;\n loadingLabel: string;\n filters: Array<{\n id: string;\n name: string;\n description: string;\n createdOn: string;\n }>;\n };\n builderVm: {\n isOpen: boolean;\n };\n saverVm: {\n isOpen: boolean;\n isLoading: boolean;\n loadingLabel: string;\n };\n };\n}\n\nexport class AdvancedSearchPresenter implements AdvancedSearchPresenterInterface {\n private repository: FilterRepository;\n private readonly feedback: Feedback;\n private showBuilder = false;\n private showManager = false;\n private showSaver = false;\n private currentFilter: FilterDTO | null = null;\n private appliedFilter: FilterDTO | null = null;\n\n constructor(repository: FilterRepository) {\n this.repository = repository;\n this.feedback = new Feedback();\n makeAutoObservable(this);\n }\n\n async load() {\n await this.repository.listFilters();\n }\n\n private get managerVm() {\n const vm = {\n isOpen: this.showManager,\n view: \"EMPTY\",\n isLoading: this.repository.getLoading().isLoading,\n loadingLabel: this.repository.getLoading().loadingLabel,\n filters: this.repository.getFilters().map(filter => ({\n id: filter.id,\n name: filter.name,\n description: filter.description || \"\",\n createdOn: filter.createdOn || \"\"\n }))\n };\n\n if (this.repository.getFilters().length !== 0) {\n vm.view = \"LIST\";\n }\n\n return vm;\n }\n\n private get feedbackVm() {\n return {\n isOpen: Boolean(this.feedback.message || this.repository.getLoading().message),\n message: this.feedback.message || this.repository.getLoading().message\n };\n }\n\n private get builderVm() {\n return {\n isOpen: this.showBuilder\n };\n }\n\n private get saverVm() {\n return {\n isOpen: this.showSaver,\n isLoading: this.repository.getLoading().isLoading,\n loadingLabel: this.repository.getLoading().loadingLabel\n };\n }\n\n get vm() {\n return {\n appliedFilter: this.appliedFilter,\n currentFilter: this.currentFilter,\n feedbackVm: this.feedbackVm,\n managerVm: this.managerVm,\n builderVm: this.builderVm,\n saverVm: this.saverVm\n };\n }\n\n openManager() {\n this.showManager = true;\n }\n\n closeManager() {\n this.showManager = false;\n }\n\n openBuilder() {\n this.showBuilder = true;\n }\n\n closeBuilder() {\n this.showBuilder = false;\n }\n\n openSaver() {\n this.showSaver = true;\n }\n\n closeSaver() {\n this.showSaver = false;\n }\n\n showFeedback(message: string) {\n this.feedback.message = message;\n }\n\n async applyFilter(filter: string | FilterDTO): Promise<void> {\n let filterDto: FilterDTO;\n\n if (typeof filter === \"string\") {\n const result = await this.repository.getFilterById(filter);\n\n if (!result) {\n return;\n }\n\n filterDto = result;\n } else {\n filterDto = filter;\n }\n\n runInAction(() => {\n this.appliedFilter = filterDto;\n this.currentFilter = null;\n this.closeManager();\n this.closeBuilder();\n this.closeSaver();\n });\n }\n\n unsetFilter() {\n this.appliedFilter = null;\n this.currentFilter = null;\n }\n\n editAppliedFilter() {\n this.currentFilter = this.appliedFilter;\n this.openBuilder();\n }\n\n async renameFilter(filterId: string) {\n const filter = await this.repository.getFilterById(filterId);\n\n if (!filter) {\n return;\n }\n\n runInAction(() => {\n this.currentFilter = filter;\n this.closeManager();\n this.closeBuilder();\n this.openSaver();\n });\n }\n\n createFilter() {\n this.currentFilter = FilterMapper.toDTO(Filter.createEmpty());\n this.closeManager();\n this.openBuilder();\n this.closeSaver();\n }\n\n async cloneFilter(filterId: string) {\n const filter = await this.repository.getFilterById(filterId);\n\n if (!filter) {\n return;\n }\n\n runInAction(() => {\n this.currentFilter = FilterMapper.toDTO(\n Filter.create({ ...filter, id: \"\", name: `Clone of ${filter.name}` })\n );\n this.closeManager();\n this.openBuilder();\n this.closeSaver();\n });\n }\n\n async editFilter(filterId: string) {\n const filter = await this.repository.getFilterById(filterId);\n\n if (!filter) {\n return;\n }\n\n runInAction(() => {\n this.currentFilter = filter;\n this.closeManager();\n this.openBuilder();\n this.closeSaver();\n });\n }\n\n async deleteFilter(filterId: string) {\n await this.repository.deleteFilter(filterId);\n\n runInAction(() => {\n this.currentFilter = null;\n });\n }\n\n saveFilter(filter: FilterDTO) {\n this.currentFilter = filter;\n this.closeManager();\n this.openBuilder();\n this.openSaver();\n }\n\n async persistFilter(filter: FilterDTO) {\n if (filter.id) {\n await this.updateFilterIntoRepository(filter);\n } else {\n await this.createFilterIntoRepository(filter);\n }\n\n runInAction(() => {\n this.closeManager();\n this.closeBuilder();\n this.closeSaver();\n });\n }\n\n private async createFilterIntoRepository(filterDto: FilterDTO) {\n const newFilter = await this.repository.createFilter(filterDto);\n\n if (!newFilter) {\n return;\n }\n\n /**\n * repository.createFilter returns generates the filter id.\n * We need to set it back as appliedFilter, otherwise further actions on the filter would fail (update/delete).\n */\n runInAction(() => {\n this.appliedFilter = newFilter;\n this.currentFilter = null;\n });\n }\n\n private async updateFilterIntoRepository(filter: FilterDTO) {\n await this.repository.updateFilter(filter);\n\n runInAction(() => {\n this.appliedFilter = filter;\n this.currentFilter = null;\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["makeAutoObservable","runInAction","Feedback","Filter","FilterMapper","AdvancedSearchPresenter","showBuilder","showManager","showSaver","currentFilter","appliedFilter","constructor","repository","feedback","load","listFilters","managerVm","vm","isOpen","view","isLoading","getLoading","loadingLabel","filters","getFilters","map","filter","id","name","description","createdOn","length","feedbackVm","Boolean","message","builderVm","saverVm","openManager","closeManager","openBuilder","closeBuilder","openSaver","closeSaver","showFeedback","applyFilter","filterDto","result","getFilterById","unsetFilter","editAppliedFilter","renameFilter","filterId","createFilter","toDTO","createEmpty","cloneFilter","create","editFilter","deleteFilter","saveFilter","persistFilter","updateFilterIntoRepository","createFilterIntoRepository","newFilter","updateFilter"],"sources":["AdvancedSearchPresenter.ts"],"sourcesContent":["import { makeAutoObservable, runInAction } from \"mobx\";\nimport type { FilterDTO, FilterRepository } from \"~/components/AdvancedSearch/domain/index.js\";\nimport { Feedback, Filter, FilterMapper } from \"~/components/AdvancedSearch/domain/index.js\";\n\nexport interface AdvancedSearchPresenterInterface {\n load(): Promise<void>;\n openManager(): void;\n closeManager(): void;\n openBuilder(): void;\n closeBuilder(): void;\n openSaver(): void;\n closeSaver(): void;\n showFeedback(message: string): void;\n applyFilter(filter: string | FilterDTO): Promise<void>;\n unsetFilter(): void;\n editAppliedFilter(): void;\n createFilter(): void;\n editFilter(filterId: string): Promise<void>;\n deleteFilter(id: string): Promise<void>;\n saveFilter(filter: FilterDTO): void;\n renameFilter(filterId: string): Promise<void>;\n cloneFilter(filterId: string): Promise<void>;\n persistFilter(filter: FilterDTO): Promise<void>;\n get vm(): {\n currentFilter: FilterDTO | null;\n appliedFilter: FilterDTO | null;\n feedbackVm: {\n isOpen: boolean;\n message: string;\n };\n managerVm: {\n isOpen: boolean;\n view: string;\n isLoading: boolean;\n loadingLabel: string;\n filters: Array<{\n id: string;\n name: string;\n description: string;\n createdOn: string;\n }>;\n };\n builderVm: {\n isOpen: boolean;\n };\n saverVm: {\n isOpen: boolean;\n isLoading: boolean;\n loadingLabel: string;\n };\n };\n}\n\nexport class AdvancedSearchPresenter implements AdvancedSearchPresenterInterface {\n private repository: FilterRepository;\n private readonly feedback: Feedback;\n private showBuilder = false;\n private showManager = false;\n private showSaver = false;\n private currentFilter: FilterDTO | null = null;\n private appliedFilter: FilterDTO | null = null;\n\n constructor(repository: FilterRepository) {\n this.repository = repository;\n this.feedback = new Feedback();\n makeAutoObservable(this);\n }\n\n async load() {\n await this.repository.listFilters();\n }\n\n private get managerVm() {\n const vm = {\n isOpen: this.showManager,\n view: \"EMPTY\",\n isLoading: this.repository.getLoading().isLoading,\n loadingLabel: this.repository.getLoading().loadingLabel,\n filters: this.repository.getFilters().map(filter => ({\n id: filter.id,\n name: filter.name,\n description: filter.description || \"\",\n createdOn: filter.createdOn || \"\"\n }))\n };\n\n if (this.repository.getFilters().length !== 0) {\n vm.view = \"LIST\";\n }\n\n return vm;\n }\n\n private get feedbackVm() {\n return {\n isOpen: Boolean(this.feedback.message || this.repository.getLoading().message),\n message: this.feedback.message || this.repository.getLoading().message\n };\n }\n\n private get builderVm() {\n return {\n isOpen: this.showBuilder\n };\n }\n\n private get saverVm() {\n return {\n isOpen: this.showSaver,\n isLoading: this.repository.getLoading().isLoading,\n loadingLabel: this.repository.getLoading().loadingLabel\n };\n }\n\n get vm() {\n return {\n appliedFilter: this.appliedFilter,\n currentFilter: this.currentFilter,\n feedbackVm: this.feedbackVm,\n managerVm: this.managerVm,\n builderVm: this.builderVm,\n saverVm: this.saverVm\n };\n }\n\n openManager() {\n this.showManager = true;\n }\n\n closeManager() {\n this.showManager = false;\n }\n\n openBuilder() {\n this.showBuilder = true;\n }\n\n closeBuilder() {\n this.showBuilder = false;\n }\n\n openSaver() {\n this.showSaver = true;\n }\n\n closeSaver() {\n this.showSaver = false;\n }\n\n showFeedback(message: string) {\n this.feedback.message = message;\n }\n\n async applyFilter(filter: string | FilterDTO): Promise<void> {\n let filterDto: FilterDTO;\n\n if (typeof filter === \"string\") {\n const result = await this.repository.getFilterById(filter);\n\n if (!result) {\n return;\n }\n\n filterDto = result;\n } else {\n filterDto = filter;\n }\n\n runInAction(() => {\n this.appliedFilter = filterDto;\n this.currentFilter = null;\n this.closeManager();\n this.closeBuilder();\n this.closeSaver();\n });\n }\n\n unsetFilter() {\n this.appliedFilter = null;\n this.currentFilter = null;\n }\n\n editAppliedFilter() {\n this.currentFilter = this.appliedFilter;\n this.openBuilder();\n }\n\n async renameFilter(filterId: string) {\n const filter = await this.repository.getFilterById(filterId);\n\n if (!filter) {\n return;\n }\n\n runInAction(() => {\n this.currentFilter = filter;\n this.closeManager();\n this.closeBuilder();\n this.openSaver();\n });\n }\n\n createFilter() {\n this.currentFilter = FilterMapper.toDTO(Filter.createEmpty());\n this.closeManager();\n this.openBuilder();\n this.closeSaver();\n }\n\n async cloneFilter(filterId: string) {\n const filter = await this.repository.getFilterById(filterId);\n\n if (!filter) {\n return;\n }\n\n runInAction(() => {\n this.currentFilter = FilterMapper.toDTO(\n Filter.create({ ...filter, id: \"\", name: `Clone of ${filter.name}` })\n );\n this.closeManager();\n this.openBuilder();\n this.closeSaver();\n });\n }\n\n async editFilter(filterId: string) {\n const filter = await this.repository.getFilterById(filterId);\n\n if (!filter) {\n return;\n }\n\n runInAction(() => {\n this.currentFilter = filter;\n this.closeManager();\n this.openBuilder();\n this.closeSaver();\n });\n }\n\n async deleteFilter(filterId: string) {\n await this.repository.deleteFilter(filterId);\n\n runInAction(() => {\n this.currentFilter = null;\n });\n }\n\n saveFilter(filter: FilterDTO) {\n this.currentFilter = filter;\n this.closeManager();\n this.openBuilder();\n this.openSaver();\n }\n\n async persistFilter(filter: FilterDTO) {\n if (filter.id) {\n await this.updateFilterIntoRepository(filter);\n } else {\n await this.createFilterIntoRepository(filter);\n }\n\n runInAction(() => {\n this.closeManager();\n this.closeBuilder();\n this.closeSaver();\n });\n }\n\n private async createFilterIntoRepository(filterDto: FilterDTO) {\n const newFilter = await this.repository.createFilter(filterDto);\n\n if (!newFilter) {\n return;\n }\n\n /**\n * repository.createFilter returns generates the filter id.\n * We need to set it back as appliedFilter, otherwise further actions on the filter would fail (update/delete).\n */\n runInAction(() => {\n this.appliedFilter = newFilter;\n this.currentFilter = null;\n });\n }\n\n private async updateFilterIntoRepository(filter: FilterDTO) {\n await this.repository.updateFilter(filter);\n\n runInAction(() => {\n this.appliedFilter = filter;\n this.currentFilter = null;\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,11 +1,12 @@
1
- import { AdvancedSearchPresenter } from "./AdvancedSearchPresenter";
2
- import { FilterRepository, Operation } from "./domain";
1
+ import { describe, it, vi, expect, beforeEach } from "vitest";
2
+ import { AdvancedSearchPresenter } from "./AdvancedSearchPresenter.js";
3
+ import { FilterRepository, Operation } from "./domain/index.js";
3
4
  const mockGateway = {
4
- list: jest.fn(),
5
- get: jest.fn(),
6
- create: jest.fn(),
7
- update: jest.fn(),
8
- delete: jest.fn()
5
+ list: vi.fn(),
6
+ get: vi.fn(),
7
+ create: vi.fn(),
8
+ update: vi.fn(),
9
+ delete: vi.fn()
9
10
  };
10
11
  const createMockGateway = ({
11
12
  list,
@@ -58,28 +59,28 @@ describe("AdvancedSearchPresenter", () => {
58
59
  createdOn: new Date().toString()
59
60
  };
60
61
  const gateway = createMockGateway({
61
- list: jest.fn().mockImplementation(() => {
62
+ list: vi.fn().mockImplementation(() => {
62
63
  return Promise.resolve([filter1, filter2]);
63
64
  }),
64
- get: jest.fn().mockImplementation(() => {
65
+ get: vi.fn().mockImplementation(() => {
65
66
  return Promise.resolve(filter1);
66
67
  }),
67
- create: jest.fn().mockImplementation(() => {
68
+ create: vi.fn().mockImplementation(() => {
68
69
  return Promise.resolve(filter1);
69
70
  }),
70
- update: jest.fn().mockImplementation(() => {
71
+ update: vi.fn().mockImplementation(() => {
71
72
  return Promise.resolve({
72
73
  ...filter1,
73
74
  name: "Filter 1 - Edit"
74
75
  });
75
76
  }),
76
- delete: jest.fn().mockImplementation(() => {
77
+ delete: vi.fn().mockImplementation(() => {
77
78
  return Promise.resolve(true);
78
79
  })
79
80
  });
80
81
  let presenter;
81
82
  beforeEach(() => {
82
- jest.clearAllMocks();
83
+ vi.clearAllMocks();
83
84
  const repository = new FilterRepository(gateway, namespace);
84
85
  presenter = new AdvancedSearchPresenter(repository);
85
86
  });
@@ -614,7 +615,7 @@ describe("AdvancedSearchPresenter", () => {
614
615
  it("should be able to handle an empty list - error from the gateway", async () => {
615
616
  const message = "Gateway error while listing filters";
616
617
  const gateway = createMockGateway({
617
- list: jest.fn().mockRejectedValue(new Error(message))
618
+ list: vi.fn().mockRejectedValue(new Error(message))
618
619
  });
619
620
  const repository = new FilterRepository(gateway, namespace);
620
621
  const presenter = new AdvancedSearchPresenter(repository);
@@ -638,7 +639,7 @@ describe("AdvancedSearchPresenter", () => {
638
639
  const message = "Gateway error while creating filter";
639
640
  const createGateway = createMockGateway({
640
641
  ...gateway,
641
- create: jest.fn().mockRejectedValue(new Error(message))
642
+ create: vi.fn().mockRejectedValue(new Error(message))
642
643
  });
643
644
  const repository = new FilterRepository(createGateway, namespace);
644
645
  const presenter = new AdvancedSearchPresenter(repository);
@@ -673,7 +674,7 @@ describe("AdvancedSearchPresenter", () => {
673
674
  const message = "Gateway error while updating filter";
674
675
  const updateGateway = createMockGateway({
675
676
  ...gateway,
676
- update: jest.fn().mockRejectedValue(new Error(message))
677
+ update: vi.fn().mockRejectedValue(new Error(message))
677
678
  });
678
679
  const repository = new FilterRepository(updateGateway, namespace);
679
680
  const presenter = new AdvancedSearchPresenter(repository);
@@ -698,7 +699,7 @@ describe("AdvancedSearchPresenter", () => {
698
699
  const message = "Gateway error while deleting filter";
699
700
  const updateGateway = createMockGateway({
700
701
  ...gateway,
701
- delete: jest.fn().mockRejectedValue(new Error(message))
702
+ delete: vi.fn().mockRejectedValue(new Error(message))
702
703
  });
703
704
  const repository = new FilterRepository(updateGateway, namespace);
704
705
  const presenter = new AdvancedSearchPresenter(repository);
@@ -1 +1 @@
1
- {"version":3,"names":["AdvancedSearchPresenter","FilterRepository","Operation","mockGateway","list","jest","fn","get","create","update","delete","createMockGateway","deleteFn","describe","namespace","demoFilter","field","value","condition","demoGroup","operation","AND","filters","filter1","id","name","description","groups","createdOn","Date","toString","filter2","gateway","mockImplementation","Promise","resolve","presenter","beforeEach","clearAllMocks","repository","it","load","expect","toBeCalledTimes","vm","toEqual","appliedFilter","currentFilter","feedbackVm","isOpen","message","managerVm","view","isLoading","loadingLabel","builderVm","saverVm","loadPromise","toMatchObject","applyFilter","unsetFilter","editAppliedFilter","openManager","createFilter","filter","OR","saveFilter","persistPromise","persistFilter","toHaveBeenCalledWith","any","String","length","toBe","editFilter","renameFilter","cloneFilter","clonedFilter","deleteFilter","mockRejectedValue","Error","createGateway","updateGateway","showFeedback"],"sources":["AdvancedSearchPresenter.test.ts"],"sourcesContent":["import { AdvancedSearchPresenter } from \"./AdvancedSearchPresenter\";\nimport type { FilterDTO, FilterGroupDTO, FilterGroupFilterDTO } from \"./domain\";\nimport { FilterRepository, Operation } from \"./domain\";\nimport type { FiltersGatewayInterface } from \"./gateways\";\n\nconst mockGateway: FiltersGatewayInterface = {\n list: jest.fn(),\n get: jest.fn(),\n create: jest.fn(),\n update: jest.fn(),\n delete: jest.fn()\n};\n\nconst createMockGateway = ({\n list,\n get,\n create,\n update,\n delete: deleteFn\n}: Partial<FiltersGatewayInterface>): FiltersGatewayInterface => ({\n ...mockGateway,\n ...(list && { list }),\n ...(get && { get }),\n ...(create && { create }),\n ...(update && { update }),\n ...(deleteFn && { delete: deleteFn })\n});\n\ndescribe(\"AdvancedSearchPresenter\", () => {\n const namespace = \"namespace\";\n\n const demoFilter: FilterGroupFilterDTO = {\n field: \"any-field\",\n value: \"any-value\",\n condition: \"any-condition\"\n };\n\n const demoGroup: FilterGroupDTO = {\n operation: Operation.AND,\n filters: [demoFilter]\n };\n\n const filter1: FilterDTO = {\n id: \"filter-1\",\n name: \"Filter 1\",\n description: \"Filter description\",\n operation: Operation.AND,\n groups: [demoGroup],\n createdOn: new Date().toString()\n };\n\n const filter2: FilterDTO = {\n id: \"filter-2\",\n name: \"Filter 2\",\n operation: Operation.AND,\n groups: [demoGroup],\n createdOn: new Date().toString()\n };\n\n const gateway = createMockGateway({\n list: jest.fn().mockImplementation(() => {\n return Promise.resolve([filter1, filter2]);\n }),\n get: jest.fn().mockImplementation(() => {\n return Promise.resolve(filter1);\n }),\n create: jest.fn().mockImplementation(() => {\n return Promise.resolve(filter1);\n }),\n update: jest.fn().mockImplementation(() => {\n return Promise.resolve({ ...filter1, name: \"Filter 1 - Edit\" });\n }),\n delete: jest.fn().mockImplementation(() => {\n return Promise.resolve(true);\n })\n });\n\n let presenter: AdvancedSearchPresenter;\n\n beforeEach(() => {\n jest.clearAllMocks();\n\n const repository = new FilterRepository(gateway, namespace);\n presenter = new AdvancedSearchPresenter(repository);\n });\n\n it(\"should create a presenter and list filters from the gateway\", async () => {\n // let's load some filters\n await presenter.load();\n\n expect(gateway.list).toBeCalledTimes(1);\n\n expect(presenter.vm).toEqual({\n appliedFilter: null,\n currentFilter: null,\n feedbackVm: {\n isOpen: false,\n message: \"\"\n },\n managerVm: {\n isOpen: false,\n view: \"LIST\",\n isLoading: false,\n loadingLabel: \"\",\n filters: [\n {\n id: filter1.id,\n name: filter1.name,\n description: filter1.description,\n createdOn: filter1.createdOn\n },\n {\n id: filter2.id,\n name: filter2.name,\n description: \"\",\n createdOn: filter2.createdOn\n }\n ]\n },\n builderVm: {\n isOpen: false\n },\n saverVm: {\n isOpen: false,\n isLoading: false,\n loadingLabel: \"\"\n }\n });\n });\n\n it(\"should transition to loading state and then to list state\", async () => {\n const loadPromise = presenter.load();\n\n expect(presenter.vm.managerVm).toMatchObject({\n isOpen: false,\n isLoading: true,\n loadingLabel: \"Listing filters\",\n view: \"EMPTY\",\n filters: []\n });\n\n await loadPromise;\n\n expect(presenter.vm.managerVm).toMatchObject({\n isOpen: false,\n isLoading: false,\n loadingLabel: \"\",\n view: \"LIST\"\n });\n });\n\n it(\"should be able to apply a filter via filterId\", async () => {\n // let's load some filters\n await presenter.load();\n\n // Let's apply a filter\n await presenter.applyFilter(\"filter-1\");\n\n expect(presenter.vm).toMatchObject({\n appliedFilter: filter1,\n currentFilter: null,\n managerVm: {\n isOpen: false\n },\n builderVm: {\n isOpen: false\n },\n saverVm: {\n isOpen: false\n }\n });\n });\n\n it(\"should be able to apply directly a filter\", async () => {\n // let's load some filters\n await presenter.load();\n\n // Let's apply a filter\n presenter.applyFilter(filter2);\n\n expect(presenter.vm).toMatchObject({\n appliedFilter: filter2,\n managerVm: {\n isOpen: false\n },\n builderVm: {\n isOpen: false\n },\n saverVm: {\n isOpen: false\n }\n });\n });\n\n it(\"should be able to unset a filter\", async () => {\n // let's load some filters\n await presenter.load();\n\n // Let's apply and unset the filter\n await presenter.applyFilter(\"filter-1\");\n presenter.unsetFilter();\n\n expect(presenter.vm).toMatchObject({\n appliedFilter: null,\n currentFilter: null\n });\n });\n\n it(\"should be able to edit an already applied filter\", async () => {\n // let's load some filters\n await presenter.load();\n\n // Let's apply and unset the filter\n await presenter.applyFilter(\"filter-1\");\n presenter.editAppliedFilter();\n\n expect(presenter.vm).toMatchObject({\n appliedFilter: filter1,\n currentFilter: filter1,\n builderVm: {\n isOpen: true\n }\n });\n });\n\n it(\"should be create a new filter\", async () => {\n // let's load some filters\n await presenter.load();\n\n // Let's open the filter manager\n presenter.openManager();\n expect(presenter.vm).toMatchObject({\n managerVm: {\n isOpen: true\n }\n });\n\n // Let's create a new filter via builder\n presenter.createFilter();\n expect(presenter.vm).toMatchObject({\n currentFilter: {\n id: \"\",\n name: \"Draft filter\",\n description: \"\",\n operation: Operation.AND,\n groups: [\n {\n operation: Operation.AND,\n filters: [\n {\n field: \"\",\n condition: \"\",\n value: \"\"\n }\n ]\n }\n ]\n },\n managerVm: {\n isOpen: false\n },\n builderVm: {\n isOpen: true\n },\n saverVm: {\n isOpen: false\n }\n });\n\n // Let's change the Filter and open the saver\n const filter = {\n id: \"\",\n name: \"Draft filter\",\n description: \"\",\n operation: Operation.AND,\n groups: [\n {\n operation: Operation.OR,\n filters: [\n {\n field: \"Field value\",\n condition: \"field_condition\",\n value: \"Any value\"\n }\n ]\n }\n ]\n };\n presenter.saveFilter(filter);\n expect(presenter.vm).toMatchObject({\n currentFilter: filter,\n managerVm: {\n isOpen: false\n },\n builderVm: {\n isOpen: true\n },\n saverVm: {\n isOpen: true\n }\n });\n\n // Let's save it via the gateway\n const persistPromise = presenter.persistFilter(filter);\n\n // Let's check the transition to loading state\n expect(presenter.vm.saverVm).toMatchObject({\n isOpen: true,\n isLoading: true,\n loadingLabel: \"Creating filter...\"\n });\n\n await persistPromise;\n\n expect(gateway.create).toBeCalledTimes(1);\n expect(gateway.create).toHaveBeenCalledWith({\n id: expect.any(String),\n name: \"Draft filter\",\n description: \"\",\n namespace,\n operation: Operation.AND,\n groups: [filter.groups[0]]\n });\n expect(presenter.vm).toMatchObject({\n managerVm: {\n isOpen: false\n },\n builderVm: {\n isOpen: false\n },\n saverVm: {\n isOpen: false\n },\n feedbackVm: {\n isOpen: true,\n message: 'Filter \"Draft filter\" was successfully created.'\n }\n });\n\n // Let's open the manager again and check if the new filter is there.\n // Be aware: data comes from the mocked gateway\n presenter.openManager();\n expect(presenter.vm.managerVm.filters.length).toBe(3);\n expect(presenter.vm.managerVm.filters[0]).toEqual({\n id: filter1.id,\n name: filter1.name,\n description: filter1.description,\n createdOn: filter1.createdOn\n });\n });\n\n it(\"should be able to update an existing filter\", async () => {\n // let's load some filters\n await presenter.load();\n\n // Let's open the filter manager\n presenter.openManager();\n expect(presenter.vm).toMatchObject({\n managerVm: {\n isOpen: true\n }\n });\n\n // Let's select a filter to edit in the builder\n await presenter.editFilter(\"filter-1\");\n expect(presenter.vm).toMatchObject({\n currentFilter: filter1,\n managerVm: {\n isOpen: false\n },\n builderVm: {\n isOpen: true\n },\n saverVm: {\n isOpen: false\n }\n });\n\n // Let's change the Filter and open the saver\n const filter = {\n ...filter1,\n groups: [\n {\n operation: Operation.OR,\n filters: [\n {\n field: \"Field value\",\n condition: \"field_condition\",\n value: \"Any value\"\n }\n ]\n }\n ]\n };\n presenter.saveFilter(filter);\n expect(presenter.vm).toMatchObject({\n currentFilter: filter,\n managerVm: {\n isOpen: false\n },\n builderVm: {\n isOpen: true\n },\n saverVm: {\n isOpen: true\n }\n });\n\n // Let's save it via the gateway\n const persistPromise = presenter.persistFilter(filter);\n\n // Let's check the transition to loading state\n expect(presenter.vm.saverVm).toMatchObject({\n isOpen: true,\n isLoading: true,\n loadingLabel: \"Updating filter...\"\n });\n\n await persistPromise;\n\n expect(gateway.update).toBeCalledTimes(1);\n expect(gateway.update).toHaveBeenCalledWith({\n id: \"filter-1\",\n name: \"Filter 1\",\n description: \"Filter description\",\n operation: Operation.AND,\n groups: [filter.groups[0]]\n });\n expect(presenter.vm).toMatchObject({\n managerVm: {\n isOpen: false\n },\n builderVm: {\n isOpen: false\n },\n saverVm: {\n isOpen: false\n },\n feedbackVm: {\n isOpen: true,\n message: 'Filter \"Filter 1\" was successfully updated.'\n }\n });\n\n // Let's open the manager again and check if the new data is there.\n // Be aware: data comes from the mocked gateway\n presenter.openManager();\n expect(presenter.vm.managerVm.filters.length).toBe(2);\n expect(presenter.vm.managerVm.filters[0]).toEqual({\n id: filter1.id,\n name: \"Filter 1 - Edit\",\n description: filter1.description,\n createdOn: filter1.createdOn\n });\n });\n\n it(\"should be able to rename a filter\", async () => {\n // let's load some filters\n await presenter.load();\n\n // Let's open the filter manager\n presenter.openManager();\n expect(presenter.vm).toMatchObject({\n managerVm: {\n isOpen: true\n }\n });\n\n // Let's rename a filter\n await presenter.renameFilter(\"filter-1\");\n\n expect(presenter.vm).toMatchObject({\n currentFilter: filter1,\n managerVm: {\n isOpen: false\n },\n builderVm: {\n isOpen: false\n },\n saverVm: {\n isOpen: true\n }\n });\n\n // Let's save it via the gateway\n const persistPromise = presenter.persistFilter({\n ...filter1,\n name: `${filter1.name} - Edit`\n });\n\n // Let's check the transition to loading state\n expect(presenter.vm.saverVm).toMatchObject({\n isOpen: true,\n isLoading: true,\n loadingLabel: \"Updating filter...\"\n });\n\n await persistPromise;\n\n expect(gateway.update).toBeCalledTimes(1);\n expect(gateway.update).toHaveBeenCalledWith({\n id: \"filter-1\",\n name: `${filter1.name} - Edit`,\n description: \"Filter description\",\n operation: Operation.AND,\n groups: [filter1.groups[0]]\n });\n expect(presenter.vm).toMatchObject({\n managerVm: {\n isOpen: false\n },\n builderVm: {\n isOpen: false\n },\n saverVm: {\n isOpen: false\n },\n feedbackVm: {\n isOpen: true,\n message: `Filter \"${filter1.name} - Edit\" was successfully updated.`\n }\n });\n\n // Let's open the manager again and check if the new data is there.\n // Be aware: data comes from the mocked gateway\n presenter.openManager();\n expect(presenter.vm.managerVm.filters.length).toBe(2);\n expect(presenter.vm.managerVm.filters[0]).toEqual({\n id: filter1.id,\n name: `${filter1.name} - Edit`,\n description: filter1.description,\n createdOn: filter1.createdOn\n });\n });\n\n it(\"should be able to clone a filter\", async () => {\n // let's load some filters\n await presenter.load();\n\n // Let's open the filter manager\n presenter.openManager();\n expect(presenter.vm).toMatchObject({\n managerVm: {\n isOpen: true\n }\n });\n\n // Let's clone a filter\n await presenter.cloneFilter(\"filter-1\");\n\n const clonedFilter = {\n ...filter1,\n id: \"\",\n name: `Clone of ${filter1.name}`\n };\n\n expect(presenter.vm).toMatchObject({\n currentFilter: clonedFilter,\n managerVm: {\n isOpen: false\n },\n builderVm: {\n isOpen: true\n },\n saverVm: {\n isOpen: false\n }\n });\n\n presenter.saveFilter(clonedFilter);\n expect(presenter.vm).toMatchObject({\n currentFilter: clonedFilter,\n managerVm: {\n isOpen: false\n },\n builderVm: {\n isOpen: true\n },\n saverVm: {\n isOpen: true\n }\n });\n\n // Let's save it via the gateway\n const persistPromise = presenter.persistFilter(clonedFilter);\n\n // Let's check the transition to loading state\n expect(presenter.vm.saverVm).toMatchObject({\n isOpen: true,\n isLoading: true,\n loadingLabel: \"Creating filter...\"\n });\n\n await persistPromise;\n\n expect(gateway.create).toBeCalledTimes(1);\n expect(gateway.create).toHaveBeenCalledWith({\n id: expect.any(String),\n name: `Clone of ${filter1.name}`,\n description: \"Filter description\",\n namespace,\n operation: Operation.AND,\n groups: [filter1.groups[0]]\n });\n expect(presenter.vm).toMatchObject({\n managerVm: {\n isOpen: false\n },\n builderVm: {\n isOpen: false\n },\n saverVm: {\n isOpen: false\n },\n feedbackVm: {\n isOpen: true,\n message: `Filter \"Clone of ${filter1.name}\" was successfully created.`\n }\n });\n\n // Let's open the manager again and check if the new data is there\n presenter.openManager();\n expect(presenter.vm.managerVm.filters.length).toBe(3);\n });\n\n it(\"should be able to delete a filter\", async () => {\n // let's load some filters\n await presenter.load();\n\n // Let's open the filter manager\n presenter.openManager();\n expect(presenter.vm).toMatchObject({\n managerVm: {\n isOpen: true\n }\n });\n\n // Let's delete a filter\n await presenter.deleteFilter(\"filter-1\");\n expect(gateway.delete).toBeCalledTimes(1);\n expect(gateway.delete).toHaveBeenCalledWith(\"filter-1\");\n expect(presenter.vm).toMatchObject({\n currentFilter: null,\n feedbackVm: {\n isOpen: true,\n message: 'Filter \"Filter 1\" was successfully deleted.'\n }\n });\n\n // Let's check if the filter has been deleted and is not in the manager.\n // Be aware: data comes from the mocked gateway\n presenter.openManager();\n expect(presenter.vm.managerVm.filters.length).toBe(1);\n expect(presenter.vm.managerVm.filters[0]).toEqual({\n id: filter2.id,\n name: filter2.name,\n description: \"\",\n createdOn: filter2.createdOn\n });\n });\n\n it(\"should be able to handle an empty list - error from the gateway\", async () => {\n const message = \"Gateway error while listing filters\";\n const gateway = createMockGateway({\n list: jest.fn().mockRejectedValue(new Error(message))\n });\n\n const repository = new FilterRepository(gateway, namespace);\n const presenter = new AdvancedSearchPresenter(repository);\n\n // Let's load the app, without filters\n await presenter.load();\n\n expect(presenter.vm).toMatchObject({\n managerVm: {\n isOpen: false,\n view: \"EMPTY\",\n loadingLabel: \"\",\n filters: []\n },\n feedbackVm: {\n isOpen: true,\n message\n }\n });\n });\n\n it(\"should be able to handle error while creating the filter\", async () => {\n const message = \"Gateway error while creating filter\";\n const createGateway = createMockGateway({\n ...gateway,\n create: jest.fn().mockRejectedValue(new Error(message))\n });\n\n const repository = new FilterRepository(createGateway, namespace);\n const presenter = new AdvancedSearchPresenter(repository);\n\n // Let's load some filters\n await presenter.load();\n\n // Let's try to save a Filter\n const filter = {\n id: \"\",\n name: \"Draft filter\",\n description: \"\",\n operation: Operation.AND,\n groups: [\n {\n operation: Operation.OR,\n filters: [\n {\n field: \"Field value\",\n condition: \"field_condition\",\n value: \"Any value\"\n }\n ]\n }\n ]\n };\n\n await presenter.persistFilter(filter);\n\n expect(presenter.vm).toMatchObject({\n feedbackVm: {\n isOpen: true,\n message\n }\n });\n });\n\n it(\"should be able to handle error while updating a filter\", async () => {\n const message = \"Gateway error while updating filter\";\n const updateGateway = createMockGateway({\n ...gateway,\n update: jest.fn().mockRejectedValue(new Error(message))\n });\n\n const repository = new FilterRepository(updateGateway, namespace);\n const presenter = new AdvancedSearchPresenter(repository);\n\n // Let's load some filters\n await presenter.load();\n\n // Let's try to save a Filter\n const filter = {\n ...filter1,\n name: filter1 + \" - Edit\"\n };\n\n await presenter.persistFilter(filter);\n\n expect(presenter.vm).toMatchObject({\n feedbackVm: {\n isOpen: true,\n message\n }\n });\n });\n\n it(\"should be able to handle error while deleting a filter\", async () => {\n const message = \"Gateway error while deleting filter\";\n const updateGateway = createMockGateway({\n ...gateway,\n delete: jest.fn().mockRejectedValue(new Error(message))\n });\n\n const repository = new FilterRepository(updateGateway, namespace);\n const presenter = new AdvancedSearchPresenter(repository);\n\n // Let's load some filters\n await presenter.load();\n\n await presenter.deleteFilter(filter1.id);\n\n expect(presenter.vm).toMatchObject({\n feedbackVm: {\n isOpen: true,\n message\n }\n });\n });\n\n it(\"should be able to show a feedback message\", async () => {\n // let's load some filters\n await presenter.load();\n\n // Let's show any random feedback message\n presenter.showFeedback(\"Any message\");\n expect(presenter.vm).toMatchObject({\n currentFilter: null,\n feedbackVm: {\n isOpen: true,\n message: \"Any message\"\n }\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["describe","it","vi","expect","beforeEach","AdvancedSearchPresenter","FilterRepository","Operation","mockGateway","list","fn","get","create","update","delete","createMockGateway","deleteFn","namespace","demoFilter","field","value","condition","demoGroup","operation","AND","filters","filter1","id","name","description","groups","createdOn","Date","toString","filter2","gateway","mockImplementation","Promise","resolve","presenter","clearAllMocks","repository","load","toBeCalledTimes","vm","toEqual","appliedFilter","currentFilter","feedbackVm","isOpen","message","managerVm","view","isLoading","loadingLabel","builderVm","saverVm","loadPromise","toMatchObject","applyFilter","unsetFilter","editAppliedFilter","openManager","createFilter","filter","OR","saveFilter","persistPromise","persistFilter","toHaveBeenCalledWith","any","String","length","toBe","editFilter","renameFilter","cloneFilter","clonedFilter","deleteFilter","mockRejectedValue","Error","createGateway","updateGateway","showFeedback"],"sources":["AdvancedSearchPresenter.test.ts"],"sourcesContent":["import { describe, it, vi, expect, beforeEach } from \"vitest\";\nimport { AdvancedSearchPresenter } from \"./AdvancedSearchPresenter.js\";\nimport {\n type FilterDTO,\n type FilterGroupDTO,\n type FilterGroupFilterDTO,\n FilterRepository,\n Operation\n} from \"./domain/index.js\";\nimport { type FiltersGatewayInterface } from \"./gateways/index.js\";\n\nconst mockGateway: FiltersGatewayInterface = {\n list: vi.fn<FiltersGatewayInterface[\"list\"]>(),\n get: vi.fn<FiltersGatewayInterface[\"get\"]>(),\n create: vi.fn<FiltersGatewayInterface[\"create\"]>(),\n update: vi.fn<FiltersGatewayInterface[\"update\"]>(),\n delete: vi.fn<FiltersGatewayInterface[\"delete\"]>()\n};\n\nconst createMockGateway = ({\n list,\n get,\n create,\n update,\n delete: deleteFn\n}: Partial<FiltersGatewayInterface>): FiltersGatewayInterface => ({\n ...mockGateway,\n ...(list && { list }),\n ...(get && { get }),\n ...(create && { create }),\n ...(update && { update }),\n ...(deleteFn && { delete: deleteFn })\n});\n\ndescribe(\"AdvancedSearchPresenter\", () => {\n const namespace = \"namespace\";\n\n const demoFilter: FilterGroupFilterDTO = {\n field: \"any-field\",\n value: \"any-value\",\n condition: \"any-condition\"\n };\n\n const demoGroup: FilterGroupDTO = {\n operation: Operation.AND,\n filters: [demoFilter]\n };\n\n const filter1: FilterDTO = {\n id: \"filter-1\",\n name: \"Filter 1\",\n description: \"Filter description\",\n operation: Operation.AND,\n groups: [demoGroup],\n createdOn: new Date().toString()\n };\n\n const filter2: FilterDTO = {\n id: \"filter-2\",\n name: \"Filter 2\",\n operation: Operation.AND,\n groups: [demoGroup],\n createdOn: new Date().toString()\n };\n\n const gateway = createMockGateway({\n list: vi.fn<FiltersGatewayInterface[\"list\"]>().mockImplementation(() => {\n return Promise.resolve([filter1, filter2]);\n }),\n get: vi.fn<FiltersGatewayInterface[\"get\"]>().mockImplementation(() => {\n return Promise.resolve(filter1);\n }),\n create: vi.fn<FiltersGatewayInterface[\"create\"]>().mockImplementation(() => {\n return Promise.resolve(filter1);\n }),\n update: vi.fn<FiltersGatewayInterface[\"update\"]>().mockImplementation(() => {\n return Promise.resolve({ ...filter1, name: \"Filter 1 - Edit\" });\n }),\n delete: vi.fn<FiltersGatewayInterface[\"delete\"]>().mockImplementation(() => {\n return Promise.resolve(true);\n })\n });\n\n let presenter: AdvancedSearchPresenter;\n\n beforeEach(() => {\n vi.clearAllMocks();\n\n const repository = new FilterRepository(gateway, namespace);\n presenter = new AdvancedSearchPresenter(repository);\n });\n\n it(\"should create a presenter and list filters from the gateway\", async () => {\n // let's load some filters\n await presenter.load();\n\n expect(gateway.list).toBeCalledTimes(1);\n\n expect(presenter.vm).toEqual({\n appliedFilter: null,\n currentFilter: null,\n feedbackVm: {\n isOpen: false,\n message: \"\"\n },\n managerVm: {\n isOpen: false,\n view: \"LIST\",\n isLoading: false,\n loadingLabel: \"\",\n filters: [\n {\n id: filter1.id,\n name: filter1.name,\n description: filter1.description,\n createdOn: filter1.createdOn\n },\n {\n id: filter2.id,\n name: filter2.name,\n description: \"\",\n createdOn: filter2.createdOn\n }\n ]\n },\n builderVm: {\n isOpen: false\n },\n saverVm: {\n isOpen: false,\n isLoading: false,\n loadingLabel: \"\"\n }\n });\n });\n\n it(\"should transition to loading state and then to list state\", async () => {\n const loadPromise = presenter.load();\n\n expect(presenter.vm.managerVm).toMatchObject({\n isOpen: false,\n isLoading: true,\n loadingLabel: \"Listing filters\",\n view: \"EMPTY\",\n filters: []\n });\n\n await loadPromise;\n\n expect(presenter.vm.managerVm).toMatchObject({\n isOpen: false,\n isLoading: false,\n loadingLabel: \"\",\n view: \"LIST\"\n });\n });\n\n it(\"should be able to apply a filter via filterId\", async () => {\n // let's load some filters\n await presenter.load();\n\n // Let's apply a filter\n await presenter.applyFilter(\"filter-1\");\n\n expect(presenter.vm).toMatchObject({\n appliedFilter: filter1,\n currentFilter: null,\n managerVm: {\n isOpen: false\n },\n builderVm: {\n isOpen: false\n },\n saverVm: {\n isOpen: false\n }\n });\n });\n\n it(\"should be able to apply directly a filter\", async () => {\n // let's load some filters\n await presenter.load();\n\n // Let's apply a filter\n presenter.applyFilter(filter2);\n\n expect(presenter.vm).toMatchObject({\n appliedFilter: filter2,\n managerVm: {\n isOpen: false\n },\n builderVm: {\n isOpen: false\n },\n saverVm: {\n isOpen: false\n }\n });\n });\n\n it(\"should be able to unset a filter\", async () => {\n // let's load some filters\n await presenter.load();\n\n // Let's apply and unset the filter\n await presenter.applyFilter(\"filter-1\");\n presenter.unsetFilter();\n\n expect(presenter.vm).toMatchObject({\n appliedFilter: null,\n currentFilter: null\n });\n });\n\n it(\"should be able to edit an already applied filter\", async () => {\n // let's load some filters\n await presenter.load();\n\n // Let's apply and unset the filter\n await presenter.applyFilter(\"filter-1\");\n presenter.editAppliedFilter();\n\n expect(presenter.vm).toMatchObject({\n appliedFilter: filter1,\n currentFilter: filter1,\n builderVm: {\n isOpen: true\n }\n });\n });\n\n it(\"should be create a new filter\", async () => {\n // let's load some filters\n await presenter.load();\n\n // Let's open the filter manager\n presenter.openManager();\n expect(presenter.vm).toMatchObject({\n managerVm: {\n isOpen: true\n }\n });\n\n // Let's create a new filter via builder\n presenter.createFilter();\n expect(presenter.vm).toMatchObject({\n currentFilter: {\n id: \"\",\n name: \"Draft filter\",\n description: \"\",\n operation: Operation.AND,\n groups: [\n {\n operation: Operation.AND,\n filters: [\n {\n field: \"\",\n condition: \"\",\n value: \"\"\n }\n ]\n }\n ]\n },\n managerVm: {\n isOpen: false\n },\n builderVm: {\n isOpen: true\n },\n saverVm: {\n isOpen: false\n }\n });\n\n // Let's change the Filter and open the saver\n const filter = {\n id: \"\",\n name: \"Draft filter\",\n description: \"\",\n operation: Operation.AND,\n groups: [\n {\n operation: Operation.OR,\n filters: [\n {\n field: \"Field value\",\n condition: \"field_condition\",\n value: \"Any value\"\n }\n ]\n }\n ]\n };\n presenter.saveFilter(filter);\n expect(presenter.vm).toMatchObject({\n currentFilter: filter,\n managerVm: {\n isOpen: false\n },\n builderVm: {\n isOpen: true\n },\n saverVm: {\n isOpen: true\n }\n });\n\n // Let's save it via the gateway\n const persistPromise = presenter.persistFilter(filter);\n\n // Let's check the transition to loading state\n expect(presenter.vm.saverVm).toMatchObject({\n isOpen: true,\n isLoading: true,\n loadingLabel: \"Creating filter...\"\n });\n\n await persistPromise;\n\n expect(gateway.create).toBeCalledTimes(1);\n expect(gateway.create).toHaveBeenCalledWith({\n id: expect.any(String),\n name: \"Draft filter\",\n description: \"\",\n namespace,\n operation: Operation.AND,\n groups: [filter.groups[0]]\n });\n expect(presenter.vm).toMatchObject({\n managerVm: {\n isOpen: false\n },\n builderVm: {\n isOpen: false\n },\n saverVm: {\n isOpen: false\n },\n feedbackVm: {\n isOpen: true,\n message: 'Filter \"Draft filter\" was successfully created.'\n }\n });\n\n // Let's open the manager again and check if the new filter is there.\n // Be aware: data comes from the mocked gateway\n presenter.openManager();\n expect(presenter.vm.managerVm.filters.length).toBe(3);\n expect(presenter.vm.managerVm.filters[0]).toEqual({\n id: filter1.id,\n name: filter1.name,\n description: filter1.description,\n createdOn: filter1.createdOn\n });\n });\n\n it(\"should be able to update an existing filter\", async () => {\n // let's load some filters\n await presenter.load();\n\n // Let's open the filter manager\n presenter.openManager();\n expect(presenter.vm).toMatchObject({\n managerVm: {\n isOpen: true\n }\n });\n\n // Let's select a filter to edit in the builder\n await presenter.editFilter(\"filter-1\");\n expect(presenter.vm).toMatchObject({\n currentFilter: filter1,\n managerVm: {\n isOpen: false\n },\n builderVm: {\n isOpen: true\n },\n saverVm: {\n isOpen: false\n }\n });\n\n // Let's change the Filter and open the saver\n const filter = {\n ...filter1,\n groups: [\n {\n operation: Operation.OR,\n filters: [\n {\n field: \"Field value\",\n condition: \"field_condition\",\n value: \"Any value\"\n }\n ]\n }\n ]\n };\n presenter.saveFilter(filter);\n expect(presenter.vm).toMatchObject({\n currentFilter: filter,\n managerVm: {\n isOpen: false\n },\n builderVm: {\n isOpen: true\n },\n saverVm: {\n isOpen: true\n }\n });\n\n // Let's save it via the gateway\n const persistPromise = presenter.persistFilter(filter);\n\n // Let's check the transition to loading state\n expect(presenter.vm.saverVm).toMatchObject({\n isOpen: true,\n isLoading: true,\n loadingLabel: \"Updating filter...\"\n });\n\n await persistPromise;\n\n expect(gateway.update).toBeCalledTimes(1);\n expect(gateway.update).toHaveBeenCalledWith({\n id: \"filter-1\",\n name: \"Filter 1\",\n description: \"Filter description\",\n operation: Operation.AND,\n groups: [filter.groups[0]]\n });\n expect(presenter.vm).toMatchObject({\n managerVm: {\n isOpen: false\n },\n builderVm: {\n isOpen: false\n },\n saverVm: {\n isOpen: false\n },\n feedbackVm: {\n isOpen: true,\n message: 'Filter \"Filter 1\" was successfully updated.'\n }\n });\n\n // Let's open the manager again and check if the new data is there.\n // Be aware: data comes from the mocked gateway\n presenter.openManager();\n expect(presenter.vm.managerVm.filters.length).toBe(2);\n expect(presenter.vm.managerVm.filters[0]).toEqual({\n id: filter1.id,\n name: \"Filter 1 - Edit\",\n description: filter1.description,\n createdOn: filter1.createdOn\n });\n });\n\n it(\"should be able to rename a filter\", async () => {\n // let's load some filters\n await presenter.load();\n\n // Let's open the filter manager\n presenter.openManager();\n expect(presenter.vm).toMatchObject({\n managerVm: {\n isOpen: true\n }\n });\n\n // Let's rename a filter\n await presenter.renameFilter(\"filter-1\");\n\n expect(presenter.vm).toMatchObject({\n currentFilter: filter1,\n managerVm: {\n isOpen: false\n },\n builderVm: {\n isOpen: false\n },\n saverVm: {\n isOpen: true\n }\n });\n\n // Let's save it via the gateway\n const persistPromise = presenter.persistFilter({\n ...filter1,\n name: `${filter1.name} - Edit`\n });\n\n // Let's check the transition to loading state\n expect(presenter.vm.saverVm).toMatchObject({\n isOpen: true,\n isLoading: true,\n loadingLabel: \"Updating filter...\"\n });\n\n await persistPromise;\n\n expect(gateway.update).toBeCalledTimes(1);\n expect(gateway.update).toHaveBeenCalledWith({\n id: \"filter-1\",\n name: `${filter1.name} - Edit`,\n description: \"Filter description\",\n operation: Operation.AND,\n groups: [filter1.groups[0]]\n });\n expect(presenter.vm).toMatchObject({\n managerVm: {\n isOpen: false\n },\n builderVm: {\n isOpen: false\n },\n saverVm: {\n isOpen: false\n },\n feedbackVm: {\n isOpen: true,\n message: `Filter \"${filter1.name} - Edit\" was successfully updated.`\n }\n });\n\n // Let's open the manager again and check if the new data is there.\n // Be aware: data comes from the mocked gateway\n presenter.openManager();\n expect(presenter.vm.managerVm.filters.length).toBe(2);\n expect(presenter.vm.managerVm.filters[0]).toEqual({\n id: filter1.id,\n name: `${filter1.name} - Edit`,\n description: filter1.description,\n createdOn: filter1.createdOn\n });\n });\n\n it(\"should be able to clone a filter\", async () => {\n // let's load some filters\n await presenter.load();\n\n // Let's open the filter manager\n presenter.openManager();\n expect(presenter.vm).toMatchObject({\n managerVm: {\n isOpen: true\n }\n });\n\n // Let's clone a filter\n await presenter.cloneFilter(\"filter-1\");\n\n const clonedFilter = {\n ...filter1,\n id: \"\",\n name: `Clone of ${filter1.name}`\n };\n\n expect(presenter.vm).toMatchObject({\n currentFilter: clonedFilter,\n managerVm: {\n isOpen: false\n },\n builderVm: {\n isOpen: true\n },\n saverVm: {\n isOpen: false\n }\n });\n\n presenter.saveFilter(clonedFilter);\n expect(presenter.vm).toMatchObject({\n currentFilter: clonedFilter,\n managerVm: {\n isOpen: false\n },\n builderVm: {\n isOpen: true\n },\n saverVm: {\n isOpen: true\n }\n });\n\n // Let's save it via the gateway\n const persistPromise = presenter.persistFilter(clonedFilter);\n\n // Let's check the transition to loading state\n expect(presenter.vm.saverVm).toMatchObject({\n isOpen: true,\n isLoading: true,\n loadingLabel: \"Creating filter...\"\n });\n\n await persistPromise;\n\n expect(gateway.create).toBeCalledTimes(1);\n expect(gateway.create).toHaveBeenCalledWith({\n id: expect.any(String),\n name: `Clone of ${filter1.name}`,\n description: \"Filter description\",\n namespace,\n operation: Operation.AND,\n groups: [filter1.groups[0]]\n });\n expect(presenter.vm).toMatchObject({\n managerVm: {\n isOpen: false\n },\n builderVm: {\n isOpen: false\n },\n saverVm: {\n isOpen: false\n },\n feedbackVm: {\n isOpen: true,\n message: `Filter \"Clone of ${filter1.name}\" was successfully created.`\n }\n });\n\n // Let's open the manager again and check if the new data is there\n presenter.openManager();\n expect(presenter.vm.managerVm.filters.length).toBe(3);\n });\n\n it(\"should be able to delete a filter\", async () => {\n // let's load some filters\n await presenter.load();\n\n // Let's open the filter manager\n presenter.openManager();\n expect(presenter.vm).toMatchObject({\n managerVm: {\n isOpen: true\n }\n });\n\n // Let's delete a filter\n await presenter.deleteFilter(\"filter-1\");\n expect(gateway.delete).toBeCalledTimes(1);\n expect(gateway.delete).toHaveBeenCalledWith(\"filter-1\");\n expect(presenter.vm).toMatchObject({\n currentFilter: null,\n feedbackVm: {\n isOpen: true,\n message: 'Filter \"Filter 1\" was successfully deleted.'\n }\n });\n\n // Let's check if the filter has been deleted and is not in the manager.\n // Be aware: data comes from the mocked gateway\n presenter.openManager();\n expect(presenter.vm.managerVm.filters.length).toBe(1);\n expect(presenter.vm.managerVm.filters[0]).toEqual({\n id: filter2.id,\n name: filter2.name,\n description: \"\",\n createdOn: filter2.createdOn\n });\n });\n\n it(\"should be able to handle an empty list - error from the gateway\", async () => {\n const message = \"Gateway error while listing filters\";\n const gateway = createMockGateway({\n list: vi.fn<FiltersGatewayInterface[\"list\"]>().mockRejectedValue(new Error(message))\n });\n\n const repository = new FilterRepository(gateway, namespace);\n const presenter = new AdvancedSearchPresenter(repository);\n\n // Let's load the app, without filters\n await presenter.load();\n\n expect(presenter.vm).toMatchObject({\n managerVm: {\n isOpen: false,\n view: \"EMPTY\",\n loadingLabel: \"\",\n filters: []\n },\n feedbackVm: {\n isOpen: true,\n message\n }\n });\n });\n\n it(\"should be able to handle error while creating the filter\", async () => {\n const message = \"Gateway error while creating filter\";\n const createGateway = createMockGateway({\n ...gateway,\n create: vi.fn<FiltersGatewayInterface[\"create\"]>().mockRejectedValue(new Error(message))\n });\n\n const repository = new FilterRepository(createGateway, namespace);\n const presenter = new AdvancedSearchPresenter(repository);\n\n // Let's load some filters\n await presenter.load();\n\n // Let's try to save a Filter\n const filter = {\n id: \"\",\n name: \"Draft filter\",\n description: \"\",\n operation: Operation.AND,\n groups: [\n {\n operation: Operation.OR,\n filters: [\n {\n field: \"Field value\",\n condition: \"field_condition\",\n value: \"Any value\"\n }\n ]\n }\n ]\n };\n\n await presenter.persistFilter(filter);\n\n expect(presenter.vm).toMatchObject({\n feedbackVm: {\n isOpen: true,\n message\n }\n });\n });\n\n it(\"should be able to handle error while updating a filter\", async () => {\n const message = \"Gateway error while updating filter\";\n const updateGateway = createMockGateway({\n ...gateway,\n update: vi.fn<FiltersGatewayInterface[\"update\"]>().mockRejectedValue(new Error(message))\n });\n\n const repository = new FilterRepository(updateGateway, namespace);\n const presenter = new AdvancedSearchPresenter(repository);\n\n // Let's load some filters\n await presenter.load();\n\n // Let's try to save a Filter\n const filter = {\n ...filter1,\n name: filter1 + \" - Edit\"\n };\n\n await presenter.persistFilter(filter);\n\n expect(presenter.vm).toMatchObject({\n feedbackVm: {\n isOpen: true,\n message\n }\n });\n });\n\n it(\"should be able to handle error while deleting a filter\", async () => {\n const message = \"Gateway error while deleting filter\";\n const updateGateway = createMockGateway({\n ...gateway,\n delete: vi.fn<FiltersGatewayInterface[\"delete\"]>().mockRejectedValue(new Error(message))\n });\n\n const repository = new FilterRepository(updateGateway, namespace);\n const presenter = new AdvancedSearchPresenter(repository);\n\n // Let's load some filters\n await presenter.load();\n\n await presenter.deleteFilter(filter1.id);\n\n expect(presenter.vm).toMatchObject({\n feedbackVm: {\n isOpen: true,\n message\n }\n });\n });\n\n it(\"should be able to show a feedback message\", async () => {\n // let's load some filters\n await presenter.load();\n\n // Let's show any random feedback message\n presenter.showFeedback(\"Any message\");\n expect(presenter.vm).toMatchObject({\n currentFilter: null,\n feedbackVm: {\n isOpen: true,\n message: \"Any message\"\n }\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- export * from "./Button";
1
+ export * from "./Button.js";
@@ -1,3 +1,3 @@
1
- export * from "./Button";
1
+ export * from "./Button.js";
2
2
 
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.tsx"],"sourcesContent":["export * from \"./Button\";\n"],"mappings":"AAAA","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["index.tsx"],"sourcesContent":["export * from \"./Button.js\";\n"],"mappings":"AAAA","ignoreList":[]}
@@ -1,10 +1,10 @@
1
- import type { FilterDTO } from "./domain";
1
+ import type { FilterDTO } from "../../components/AdvancedSearch/domain/index.js";
2
2
  interface NestedObject {
3
3
  [key: string]: string | boolean | NestedObject;
4
4
  }
5
5
  export declare class GraphQLInputMapper {
6
6
  static toGraphQL(configuration: FilterDTO): {
7
- [x: string]: {
7
+ [configuration.operation]: {
8
8
  [x: string]: NestedObject[];
9
9
  }[];
10
10
  };
@@ -1,4 +1,4 @@
1
- import get from "lodash/get";
1
+ import get from "lodash/get.js";
2
2
  export class GraphQLInputMapper {
3
3
  static toGraphQL(configuration) {
4
4
  return {
@@ -1 +1 @@
1
- {"version":3,"names":["get","GraphQLInputMapper","toGraphQL","configuration","operation","groups","map","group","filters","filter","field","condition","value","keys","trim","split","shift","length","createNestedObject","createKeys","convertToBooleanOrString","values","JSON","parse","reduceRight","acc","key"],"sources":["GraphQLInputMapper.ts"],"sourcesContent":["import get from \"lodash/get\";\nimport type { FilterDTO } from \"~/components/AdvancedSearch/domain\";\n\ninterface NestedObject {\n [key: string]: string | boolean | NestedObject;\n}\n\nexport class GraphQLInputMapper {\n static toGraphQL(configuration: FilterDTO) {\n return {\n [configuration.operation]: configuration.groups.map(group => {\n return {\n [group.operation]: group.filters.map(filter => {\n const { field, condition, value } = filter;\n\n const keys = field.trim().split(\".\");\n keys.shift();\n\n if (keys.length === 0) {\n return this.createNestedObject(\n this.createKeys(field, condition),\n this.convertToBooleanOrString(value)\n );\n }\n\n try {\n const values = JSON.parse(value);\n return this.createNestedObject(\n this.createKeys(field, condition),\n this.convertToBooleanOrString(get(values, keys))\n );\n } catch {\n return this.createNestedObject(\n this.createKeys(field, condition),\n this.convertToBooleanOrString(value)\n );\n }\n })\n };\n })\n };\n }\n\n private static convertToBooleanOrString(value: string | boolean): string | boolean {\n if (value === \"true\") {\n return true;\n }\n\n if (value === \"false\") {\n return false;\n }\n\n return value ?? \"\";\n }\n\n private static createKeys(field: string, condition: string): string[] {\n return `${field}${condition}`.trim().split(\".\");\n }\n\n private static createNestedObject(keys: string[], value: string | boolean): NestedObject {\n return keys.reduceRight((acc, key) => ({ [key]: acc }), value as unknown as NestedObject);\n }\n}\n"],"mappings":"AAAA,OAAOA,GAAG,MAAM,YAAY;AAO5B,OAAO,MAAMC,kBAAkB,CAAC;EAC5B,OAAOC,SAASA,CAACC,aAAwB,EAAE;IACvC,OAAO;MACH,CAACA,aAAa,CAACC,SAAS,GAAGD,aAAa,CAACE,MAAM,CAACC,GAAG,CAACC,KAAK,IAAI;QACzD,OAAO;UACH,CAACA,KAAK,CAACH,SAAS,GAAGG,KAAK,CAACC,OAAO,CAACF,GAAG,CAACG,MAAM,IAAI;YAC3C,MAAM;cAAEC,KAAK;cAAEC,SAAS;cAAEC;YAAM,CAAC,GAAGH,MAAM;YAE1C,MAAMI,IAAI,GAAGH,KAAK,CAACI,IAAI,CAAC,CAAC,CAACC,KAAK,CAAC,GAAG,CAAC;YACpCF,IAAI,CAACG,KAAK,CAAC,CAAC;YAEZ,IAAIH,IAAI,CAACI,MAAM,KAAK,CAAC,EAAE;cACnB,OAAO,IAAI,CAACC,kBAAkB,CAC1B,IAAI,CAACC,UAAU,CAACT,KAAK,EAAEC,SAAS,CAAC,EACjC,IAAI,CAACS,wBAAwB,CAACR,KAAK,CACvC,CAAC;YACL;YAEA,IAAI;cACA,MAAMS,MAAM,GAAGC,IAAI,CAACC,KAAK,CAACX,KAAK,CAAC;cAChC,OAAO,IAAI,CAACM,kBAAkB,CAC1B,IAAI,CAACC,UAAU,CAACT,KAAK,EAAEC,SAAS,CAAC,EACjC,IAAI,CAACS,wBAAwB,CAACpB,GAAG,CAACqB,MAAM,EAAER,IAAI,CAAC,CACnD,CAAC;YACL,CAAC,CAAC,MAAM;cACJ,OAAO,IAAI,CAACK,kBAAkB,CAC1B,IAAI,CAACC,UAAU,CAACT,KAAK,EAAEC,SAAS,CAAC,EACjC,IAAI,CAACS,wBAAwB,CAACR,KAAK,CACvC,CAAC;YACL;UACJ,CAAC;QACL,CAAC;MACL,CAAC;IACL,CAAC;EACL;EAEA,OAAeQ,wBAAwBA,CAACR,KAAuB,EAAoB;IAC/E,IAAIA,KAAK,KAAK,MAAM,EAAE;MAClB,OAAO,IAAI;IACf;IAEA,IAAIA,KAAK,KAAK,OAAO,EAAE;MACnB,OAAO,KAAK;IAChB;IAEA,OAAOA,KAAK,IAAI,EAAE;EACtB;EAEA,OAAeO,UAAUA,CAACT,KAAa,EAAEC,SAAiB,EAAY;IAClE,OAAO,GAAGD,KAAK,GAAGC,SAAS,EAAE,CAACG,IAAI,CAAC,CAAC,CAACC,KAAK,CAAC,GAAG,CAAC;EACnD;EAEA,OAAeG,kBAAkBA,CAACL,IAAc,EAAED,KAAuB,EAAgB;IACrF,OAAOC,IAAI,CAACW,WAAW,CAAC,CAACC,GAAG,EAAEC,GAAG,MAAM;MAAE,CAACA,GAAG,GAAGD;IAAI,CAAC,CAAC,EAAEb,KAAgC,CAAC;EAC7F;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["get","GraphQLInputMapper","toGraphQL","configuration","operation","groups","map","group","filters","filter","field","condition","value","keys","trim","split","shift","length","createNestedObject","createKeys","convertToBooleanOrString","values","JSON","parse","reduceRight","acc","key"],"sources":["GraphQLInputMapper.ts"],"sourcesContent":["import get from \"lodash/get.js\";\nimport type { FilterDTO } from \"~/components/AdvancedSearch/domain/index.js\";\n\ninterface NestedObject {\n [key: string]: string | boolean | NestedObject;\n}\n\nexport class GraphQLInputMapper {\n static toGraphQL(configuration: FilterDTO) {\n return {\n [configuration.operation]: configuration.groups.map(group => {\n return {\n [group.operation]: group.filters.map(filter => {\n const { field, condition, value } = filter;\n\n const keys = field.trim().split(\".\");\n keys.shift();\n\n if (keys.length === 0) {\n return this.createNestedObject(\n this.createKeys(field, condition),\n this.convertToBooleanOrString(value)\n );\n }\n\n try {\n const values = JSON.parse(value);\n return this.createNestedObject(\n this.createKeys(field, condition),\n this.convertToBooleanOrString(get(values, keys))\n );\n } catch {\n return this.createNestedObject(\n this.createKeys(field, condition),\n this.convertToBooleanOrString(value)\n );\n }\n })\n };\n })\n };\n }\n\n private static convertToBooleanOrString(value: string | boolean): string | boolean {\n if (value === \"true\") {\n return true;\n }\n\n if (value === \"false\") {\n return false;\n }\n\n return value ?? \"\";\n }\n\n private static createKeys(field: string, condition: string): string[] {\n return `${field}${condition}`.trim().split(\".\");\n }\n\n private static createNestedObject(keys: string[], value: string | boolean): NestedObject {\n return keys.reduceRight((acc, key) => ({ [key]: acc }), value as unknown as NestedObject);\n }\n}\n"],"mappings":"AAAA,OAAOA,GAAG,MAAM,eAAe;AAO/B,OAAO,MAAMC,kBAAkB,CAAC;EAC5B,OAAOC,SAASA,CAACC,aAAwB,EAAE;IACvC,OAAO;MACH,CAACA,aAAa,CAACC,SAAS,GAAGD,aAAa,CAACE,MAAM,CAACC,GAAG,CAACC,KAAK,IAAI;QACzD,OAAO;UACH,CAACA,KAAK,CAACH,SAAS,GAAGG,KAAK,CAACC,OAAO,CAACF,GAAG,CAACG,MAAM,IAAI;YAC3C,MAAM;cAAEC,KAAK;cAAEC,SAAS;cAAEC;YAAM,CAAC,GAAGH,MAAM;YAE1C,MAAMI,IAAI,GAAGH,KAAK,CAACI,IAAI,CAAC,CAAC,CAACC,KAAK,CAAC,GAAG,CAAC;YACpCF,IAAI,CAACG,KAAK,CAAC,CAAC;YAEZ,IAAIH,IAAI,CAACI,MAAM,KAAK,CAAC,EAAE;cACnB,OAAO,IAAI,CAACC,kBAAkB,CAC1B,IAAI,CAACC,UAAU,CAACT,KAAK,EAAEC,SAAS,CAAC,EACjC,IAAI,CAACS,wBAAwB,CAACR,KAAK,CACvC,CAAC;YACL;YAEA,IAAI;cACA,MAAMS,MAAM,GAAGC,IAAI,CAACC,KAAK,CAACX,KAAK,CAAC;cAChC,OAAO,IAAI,CAACM,kBAAkB,CAC1B,IAAI,CAACC,UAAU,CAACT,KAAK,EAAEC,SAAS,CAAC,EACjC,IAAI,CAACS,wBAAwB,CAACpB,GAAG,CAACqB,MAAM,EAAER,IAAI,CAAC,CACnD,CAAC;YACL,CAAC,CAAC,MAAM;cACJ,OAAO,IAAI,CAACK,kBAAkB,CAC1B,IAAI,CAACC,UAAU,CAACT,KAAK,EAAEC,SAAS,CAAC,EACjC,IAAI,CAACS,wBAAwB,CAACR,KAAK,CACvC,CAAC;YACL;UACJ,CAAC;QACL,CAAC;MACL,CAAC;IACL,CAAC;EACL;EAEA,OAAeQ,wBAAwBA,CAACR,KAAuB,EAAoB;IAC/E,IAAIA,KAAK,KAAK,MAAM,EAAE;MAClB,OAAO,IAAI;IACf;IAEA,IAAIA,KAAK,KAAK,OAAO,EAAE;MACnB,OAAO,KAAK;IAChB;IAEA,OAAOA,KAAK,IAAI,EAAE;EACtB;EAEA,OAAeO,UAAUA,CAACT,KAAa,EAAEC,SAAiB,EAAY;IAClE,OAAO,GAAGD,KAAK,GAAGC,SAAS,EAAE,CAACG,IAAI,CAAC,CAAC,CAACC,KAAK,CAAC,GAAG,CAAC;EACnD;EAEA,OAAeG,kBAAkBA,CAACL,IAAc,EAAED,KAAuB,EAAgB;IACrF,OAAOC,IAAI,CAACW,WAAW,CAAC,CAACC,GAAG,EAAEC,GAAG,MAAM;MAAE,CAACA,GAAG,GAAGD;IAAI,CAAC,CAAC,EAAEb,KAAgC,CAAC;EAC7F;AACJ","ignoreList":[]}
@@ -1,5 +1,6 @@
1
- import { GraphQLInputMapper } from "./GraphQLInputMapper";
2
- import { Operation } from "./domain";
1
+ import { describe, it, expect } from "vitest";
2
+ import { GraphQLInputMapper } from "./GraphQLInputMapper.js";
3
+ import { Operation } from "./domain/index.js";
3
4
  describe("GraphQLInputMapper", () => {
4
5
  it("should return a GraphQL formatted output based on the received FilterDTO", () => {
5
6
  const filterDTO = {