@webiny/app-aco 5.37.8 → 5.38.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (335) hide show
  1. package/Folders.js +3 -1
  2. package/components/AdvancedSearch/AdvancedSearch.d.ts +11 -0
  3. package/components/AdvancedSearch/AdvancedSearch.js +164 -0
  4. package/components/AdvancedSearch/AdvancedSearch.js.map +1 -0
  5. package/components/AdvancedSearch/AdvancedSearch.styled.d.ts +7 -0
  6. package/components/AdvancedSearch/AdvancedSearch.styled.js +15 -0
  7. package/components/AdvancedSearch/AdvancedSearch.styled.js.map +1 -0
  8. package/components/AdvancedSearch/AdvancedSearchPresenter.d.ts +111 -0
  9. package/components/AdvancedSearch/AdvancedSearchPresenter.js +458 -0
  10. package/components/AdvancedSearch/AdvancedSearchPresenter.js.map +1 -0
  11. package/components/AdvancedSearch/AdvancedSearchPresenter.test.d.ts +1 -0
  12. package/components/AdvancedSearch/AdvancedSearchPresenter.test.js +879 -0
  13. package/components/AdvancedSearch/AdvancedSearchPresenter.test.js.map +1 -0
  14. package/components/AdvancedSearch/Button/Button.d.ts +5 -0
  15. package/components/AdvancedSearch/Button/Button.js +19 -0
  16. package/components/AdvancedSearch/Button/Button.js.map +1 -0
  17. package/components/AdvancedSearch/Button/Button.styled.d.ts +10 -0
  18. package/components/AdvancedSearch/Button/Button.styled.js +16 -0
  19. package/components/AdvancedSearch/Button/Button.styled.js.map +1 -0
  20. package/components/AdvancedSearch/Button/index.d.ts +1 -0
  21. package/components/AdvancedSearch/Button/index.js +18 -0
  22. package/components/AdvancedSearch/Button/index.js.map +1 -0
  23. package/components/AdvancedSearch/Feedback/Feedback.d.ts +6 -0
  24. package/components/AdvancedSearch/Feedback/Feedback.js +18 -0
  25. package/components/AdvancedSearch/Feedback/Feedback.js.map +1 -0
  26. package/components/AdvancedSearch/Feedback/index.d.ts +1 -0
  27. package/components/AdvancedSearch/Feedback/index.js +18 -0
  28. package/components/AdvancedSearch/Feedback/index.js.map +1 -0
  29. package/components/AdvancedSearch/GraphQLInputMapper.d.ts +10 -0
  30. package/components/AdvancedSearch/GraphQLInputMapper.js +33 -0
  31. package/components/AdvancedSearch/GraphQLInputMapper.js.map +1 -0
  32. package/components/AdvancedSearch/GraphQLInputMapper.test.d.ts +1 -0
  33. package/components/AdvancedSearch/GraphQLInputMapper.test.js +50 -0
  34. package/components/AdvancedSearch/GraphQLInputMapper.test.js.map +1 -0
  35. package/components/AdvancedSearch/QueryBuilderDrawer/Footer.d.ts +9 -0
  36. package/components/AdvancedSearch/QueryBuilderDrawer/Footer.js +25 -0
  37. package/components/AdvancedSearch/QueryBuilderDrawer/Footer.js.map +1 -0
  38. package/components/AdvancedSearch/QueryBuilderDrawer/Header.d.ts +6 -0
  39. package/components/AdvancedSearch/QueryBuilderDrawer/Header.js +23 -0
  40. package/components/AdvancedSearch/QueryBuilderDrawer/Header.js.map +1 -0
  41. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/QueryBuilder.d.ts +17 -0
  42. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/QueryBuilder.js +86 -0
  43. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/QueryBuilder.js.map +1 -0
  44. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/Querybuilder.styled.d.ts +71 -0
  45. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/Querybuilder.styled.js +96 -0
  46. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/Querybuilder.styled.js.map +1 -0
  47. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Details.d.ts +6 -0
  48. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Details.js +44 -0
  49. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Details.js.map +1 -0
  50. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Filter.d.ts +13 -0
  51. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Filter.js +90 -0
  52. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Filter.js.map +1 -0
  53. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/FilterOperationLabel.d.ts +7 -0
  54. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/FilterOperationLabel.js +23 -0
  55. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/FilterOperationLabel.js.map +1 -0
  56. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/GroupOperationLabel.d.ts +7 -0
  57. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/GroupOperationLabel.js +23 -0
  58. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/GroupOperationLabel.js.map +1 -0
  59. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/InputField.d.ts +8 -0
  60. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/InputField.js +44 -0
  61. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/InputField.js.map +1 -0
  62. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/OperationSelector.d.ts +7 -0
  63. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/OperationSelector.js +41 -0
  64. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/OperationSelector.js.map +1 -0
  65. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddFilter.d.ts +6 -0
  66. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddFilter.js +26 -0
  67. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddFilter.js.map +1 -0
  68. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddGroup.d.ts +6 -0
  69. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddGroup.js +19 -0
  70. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddGroup.js.map +1 -0
  71. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/RemoveFilter.d.ts +7 -0
  72. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/RemoveFilter.js +27 -0
  73. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/RemoveFilter.js.map +1 -0
  74. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/index.d.ts +3 -0
  75. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/index.js +40 -0
  76. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/index.js.map +1 -0
  77. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/fields/Boolean.d.ts +6 -0
  78. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/fields/Boolean.js +37 -0
  79. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/fields/Boolean.js.map +1 -0
  80. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/fields/DateWithTimezone.d.ts +6 -0
  81. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/fields/DateWithTimezone.js +76 -0
  82. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/fields/DateWithTimezone.js.map +1 -0
  83. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/fields/DateWithoutTimezone.d.ts +6 -0
  84. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/fields/DateWithoutTimezone.js +42 -0
  85. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/fields/DateWithoutTimezone.js.map +1 -0
  86. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/fields/Input.d.ts +8 -0
  87. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/fields/Input.js +23 -0
  88. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/fields/Input.js.map +1 -0
  89. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/fields/MultipleValues.d.ts +8 -0
  90. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/fields/MultipleValues.js +38 -0
  91. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/fields/MultipleValues.js.map +1 -0
  92. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/fields/index.d.ts +5 -0
  93. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/fields/index.js +62 -0
  94. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/fields/index.js.map +1 -0
  95. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/index.d.ts +8 -0
  96. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/index.js +95 -0
  97. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/index.js.map +1 -0
  98. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/index.d.ts +1 -0
  99. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/index.js +18 -0
  100. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/index.js.map +1 -0
  101. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.d.ts +17 -0
  102. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.js +96 -0
  103. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.js.map +1 -0
  104. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.styled.d.ts +18 -0
  105. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.styled.js +28 -0
  106. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.styled.js.map +1 -0
  107. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.d.ts +79 -0
  108. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.js +203 -0
  109. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.js.map +1 -0
  110. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.test.d.ts +1 -0
  111. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.test.js +614 -0
  112. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.test.js.map +1 -0
  113. package/components/AdvancedSearch/QueryBuilderDrawer/index.d.ts +1 -0
  114. package/components/AdvancedSearch/QueryBuilderDrawer/index.js +18 -0
  115. package/components/AdvancedSearch/QueryBuilderDrawer/index.js.map +1 -0
  116. package/components/AdvancedSearch/QueryManagerDialog/QueryManagerDialog.d.ts +26 -0
  117. package/components/AdvancedSearch/QueryManagerDialog/QueryManagerDialog.js +39 -0
  118. package/components/AdvancedSearch/QueryManagerDialog/QueryManagerDialog.js.map +1 -0
  119. package/components/AdvancedSearch/QueryManagerDialog/QueryManagerDialog.styled.d.ts +21 -0
  120. package/components/AdvancedSearch/QueryManagerDialog/QueryManagerDialog.styled.js +31 -0
  121. package/components/AdvancedSearch/QueryManagerDialog/QueryManagerDialog.styled.js.map +1 -0
  122. package/components/AdvancedSearch/QueryManagerDialog/components/Description.d.ts +6 -0
  123. package/components/AdvancedSearch/QueryManagerDialog/components/Description.js +20 -0
  124. package/components/AdvancedSearch/QueryManagerDialog/components/Description.js.map +1 -0
  125. package/components/AdvancedSearch/QueryManagerDialog/components/Empty.d.ts +2 -0
  126. package/components/AdvancedSearch/QueryManagerDialog/components/Empty.js +21 -0
  127. package/components/AdvancedSearch/QueryManagerDialog/components/Empty.js.map +1 -0
  128. package/components/AdvancedSearch/QueryManagerDialog/components/FilterList.d.ts +13 -0
  129. package/components/AdvancedSearch/QueryManagerDialog/components/FilterList.js +61 -0
  130. package/components/AdvancedSearch/QueryManagerDialog/components/FilterList.js.map +1 -0
  131. package/components/AdvancedSearch/QueryManagerDialog/components/index.d.ts +2 -0
  132. package/components/AdvancedSearch/QueryManagerDialog/components/index.js +29 -0
  133. package/components/AdvancedSearch/QueryManagerDialog/components/index.js.map +1 -0
  134. package/components/AdvancedSearch/QueryManagerDialog/index.d.ts +1 -0
  135. package/components/AdvancedSearch/QueryManagerDialog/index.js +18 -0
  136. package/components/AdvancedSearch/QueryManagerDialog/index.js.map +1 -0
  137. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.d.ts +16 -0
  138. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.js +78 -0
  139. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.js.map +1 -0
  140. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.styled.d.ts +7 -0
  141. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.styled.js +16 -0
  142. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.styled.js.map +1 -0
  143. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.d.ts +41 -0
  144. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.js +102 -0
  145. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.js.map +1 -0
  146. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.test.d.ts +1 -0
  147. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.test.js +76 -0
  148. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.test.js.map +1 -0
  149. package/components/AdvancedSearch/QuerySaverDialog/index.d.ts +1 -0
  150. package/components/AdvancedSearch/QuerySaverDialog/index.js +18 -0
  151. package/components/AdvancedSearch/QuerySaverDialog/index.js.map +1 -0
  152. package/components/AdvancedSearch/SelectedFilter/SelectedFilter.d.ts +9 -0
  153. package/components/AdvancedSearch/SelectedFilter/SelectedFilter.js +22 -0
  154. package/components/AdvancedSearch/SelectedFilter/SelectedFilter.js.map +1 -0
  155. package/components/AdvancedSearch/SelectedFilter/SelectedFilter.styled.d.ts +17 -0
  156. package/components/AdvancedSearch/SelectedFilter/SelectedFilter.styled.js +22 -0
  157. package/components/AdvancedSearch/SelectedFilter/SelectedFilter.styled.js.map +1 -0
  158. package/components/AdvancedSearch/SelectedFilter/index.d.ts +1 -0
  159. package/components/AdvancedSearch/SelectedFilter/index.js +18 -0
  160. package/components/AdvancedSearch/SelectedFilter/index.js.map +1 -0
  161. package/components/AdvancedSearch/domain/Feedback.d.ts +6 -0
  162. package/components/AdvancedSearch/domain/Feedback.js +30 -0
  163. package/components/AdvancedSearch/domain/Feedback.js.map +1 -0
  164. package/components/AdvancedSearch/domain/Field.d.ts +55 -0
  165. package/components/AdvancedSearch/domain/Field.js +221 -0
  166. package/components/AdvancedSearch/domain/Field.js.map +1 -0
  167. package/components/AdvancedSearch/domain/FieldMapper.d.ts +13 -0
  168. package/components/AdvancedSearch/domain/FieldMapper.js +81 -0
  169. package/components/AdvancedSearch/domain/FieldMapper.js.map +1 -0
  170. package/components/AdvancedSearch/domain/Filter.d.ts +139 -0
  171. package/components/AdvancedSearch/domain/Filter.js +82 -0
  172. package/components/AdvancedSearch/domain/Filter.js.map +1 -0
  173. package/components/AdvancedSearch/domain/FilterMapper.d.ts +5 -0
  174. package/components/AdvancedSearch/domain/FilterMapper.js +64 -0
  175. package/components/AdvancedSearch/domain/FilterMapper.js.map +1 -0
  176. package/components/AdvancedSearch/domain/FilterRepository.d.ts +24 -0
  177. package/components/AdvancedSearch/domain/FilterRepository.js +278 -0
  178. package/components/AdvancedSearch/domain/FilterRepository.js.map +1 -0
  179. package/components/AdvancedSearch/domain/Loading.d.ts +14 -0
  180. package/components/AdvancedSearch/domain/Loading.js +98 -0
  181. package/components/AdvancedSearch/domain/Loading.js.map +1 -0
  182. package/components/AdvancedSearch/domain/Operation.d.ts +4 -0
  183. package/components/AdvancedSearch/domain/Operation.js +14 -0
  184. package/components/AdvancedSearch/domain/Operation.js.map +1 -0
  185. package/components/AdvancedSearch/domain/Sorter.d.ts +9 -0
  186. package/components/AdvancedSearch/domain/Sorter.js +45 -0
  187. package/components/AdvancedSearch/domain/Sorter.js.map +1 -0
  188. package/components/AdvancedSearch/domain/index.d.ts +9 -0
  189. package/components/AdvancedSearch/domain/index.js +106 -0
  190. package/components/AdvancedSearch/domain/index.js.map +1 -0
  191. package/components/AdvancedSearch/gateways/FiltersGatewayInterface.d.ts +9 -0
  192. package/components/AdvancedSearch/gateways/FiltersGatewayInterface.js +7 -0
  193. package/components/AdvancedSearch/gateways/FiltersGatewayInterface.js.map +1 -0
  194. package/components/AdvancedSearch/gateways/FiltersGraphQLGateway.d.ts +12 -0
  195. package/components/AdvancedSearch/gateways/FiltersGraphQLGateway.js +253 -0
  196. package/components/AdvancedSearch/gateways/FiltersGraphQLGateway.js.map +1 -0
  197. package/components/AdvancedSearch/gateways/filters.gql.d.ts +5 -0
  198. package/components/AdvancedSearch/gateways/filters.gql.js +24 -0
  199. package/components/AdvancedSearch/gateways/filters.gql.js.map +1 -0
  200. package/components/AdvancedSearch/gateways/filters.types.d.ts +65 -0
  201. package/components/AdvancedSearch/gateways/filters.types.js +7 -0
  202. package/components/AdvancedSearch/gateways/filters.types.js.map +1 -0
  203. package/components/AdvancedSearch/gateways/index.d.ts +2 -0
  204. package/components/AdvancedSearch/gateways/index.js +29 -0
  205. package/components/AdvancedSearch/gateways/index.js.map +1 -0
  206. package/components/AdvancedSearch/index.d.ts +2 -0
  207. package/components/AdvancedSearch/index.js +29 -0
  208. package/components/AdvancedSearch/index.js.map +1 -0
  209. package/components/Dialogs/DialogCreate.js +3 -1
  210. package/components/Dialogs/DialogDelete.js +3 -1
  211. package/components/Dialogs/DialogSetPermissions/UsersTeamsMultiAutocomplete.d.ts +8 -0
  212. package/components/Dialogs/DialogSetPermissions/UsersTeamsMultiAutocomplete.js +29 -0
  213. package/components/Dialogs/DialogSetPermissions/UsersTeamsMultiAutocomplete.js.map +1 -0
  214. package/components/Dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemGraphic.d.ts +7 -0
  215. package/components/Dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemGraphic.js +41 -0
  216. package/components/Dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemGraphic.js.map +1 -0
  217. package/components/Dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemMeta.d.ts +15 -0
  218. package/components/Dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemMeta.js +125 -0
  219. package/components/Dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemMeta.js.map +1 -0
  220. package/components/Dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemText.d.ts +7 -0
  221. package/components/Dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemText.js +22 -0
  222. package/components/Dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemText.js.map +1 -0
  223. package/components/Dialogs/DialogSetPermissions/UsersTeamsSelection.d.ts +14 -0
  224. package/components/Dialogs/DialogSetPermissions/UsersTeamsSelection.js +59 -0
  225. package/components/Dialogs/DialogSetPermissions/UsersTeamsSelection.js.map +1 -0
  226. package/components/Dialogs/DialogSetPermissions/graphql.d.ts +1 -0
  227. package/components/Dialogs/DialogSetPermissions/graphql.js +14 -0
  228. package/components/Dialogs/DialogSetPermissions/graphql.js.map +1 -0
  229. package/components/Dialogs/DialogSetPermissions.d.ts +10 -0
  230. package/components/Dialogs/DialogSetPermissions.js +116 -0
  231. package/components/Dialogs/DialogSetPermissions.js.map +1 -0
  232. package/components/Dialogs/DialogUpdate.js +3 -1
  233. package/components/Dialogs/index.d.ts +1 -0
  234. package/components/Dialogs/index.js +14 -1
  235. package/components/Dialogs/index.js.map +1 -1
  236. package/components/Dialogs/styled.js +4 -2
  237. package/components/Dialogs/styled.js.map +1 -1
  238. package/components/FolderGrid/ActionDelete.js +3 -1
  239. package/components/FolderGrid/ActionEdit.js +3 -1
  240. package/components/FolderGrid/ActionManagePermissions.d.ts +6 -0
  241. package/components/FolderGrid/ActionManagePermissions.js +27 -0
  242. package/components/FolderGrid/ActionManagePermissions.js.map +1 -0
  243. package/components/FolderGrid/Folder.d.ts +1 -0
  244. package/components/FolderGrid/Folder.js +18 -3
  245. package/components/FolderGrid/Folder.js.map +1 -1
  246. package/components/FolderGrid/FolderGrid.js +17 -1
  247. package/components/FolderGrid/FolderGrid.js.map +1 -1
  248. package/components/FolderGrid/index.js +3 -1
  249. package/components/FolderGrid/styled.d.ts +7 -4
  250. package/components/FolderGrid/styled.js +3 -1
  251. package/components/FolderTree/ButtonCreate/index.js +3 -1
  252. package/components/FolderTree/ButtonCreate/styled.js +3 -1
  253. package/components/FolderTree/Empty/index.js +3 -1
  254. package/components/FolderTree/Empty/styled.js +3 -1
  255. package/components/FolderTree/List/index.js +24 -5
  256. package/components/FolderTree/List/index.js.map +1 -1
  257. package/components/FolderTree/List/utils.js +3 -1
  258. package/components/FolderTree/Loader/index.js +3 -1
  259. package/components/FolderTree/Loader/styled.js +3 -1
  260. package/components/FolderTree/MenuActions/index.d.ts +1 -0
  261. package/components/FolderTree/MenuActions/index.js +33 -23
  262. package/components/FolderTree/MenuActions/index.js.map +1 -1
  263. package/components/FolderTree/MenuActions/styled.js +3 -1
  264. package/components/FolderTree/Node/index.d.ts +3 -0
  265. package/components/FolderTree/Node/index.js +23 -6
  266. package/components/FolderTree/Node/index.js.map +1 -1
  267. package/components/FolderTree/Node/styled.js +3 -1
  268. package/components/FolderTree/NodePreview/index.js +3 -1
  269. package/components/FolderTree/NodePreview/styled.js +3 -1
  270. package/components/FolderTree/Placeholder/index.js +3 -1
  271. package/components/FolderTree/Placeholder/styled.js +3 -1
  272. package/components/FolderTree/index.js +3 -1
  273. package/components/FolderTree/styled.js +3 -1
  274. package/components/Search/Search.js +3 -1
  275. package/components/Search/index.js +3 -1
  276. package/components/Search/styled.js +3 -1
  277. package/components/index.d.ts +1 -0
  278. package/components/index.js +14 -1
  279. package/components/index.js.map +1 -1
  280. package/constants.js +3 -1
  281. package/contexts/DisplayError/index.js +3 -1
  282. package/contexts/FoldersApi/FoldersApiProvider.d.ts +5 -2
  283. package/contexts/FoldersApi/FoldersApiProvider.js +30 -15
  284. package/contexts/FoldersApi/FoldersApiProvider.js.map +1 -1
  285. package/contexts/FoldersApi/index.js +3 -1
  286. package/contexts/FoldersApi/useFoldersApi.js +3 -1
  287. package/contexts/acoList.d.ts +4 -1
  288. package/contexts/acoList.js +11 -2
  289. package/contexts/acoList.js.map +1 -1
  290. package/contexts/app.js +3 -1
  291. package/contexts/folders.d.ts +3 -1
  292. package/contexts/folders.js +50 -26
  293. package/contexts/folders.js.map +1 -1
  294. package/contexts/index.js +3 -1
  295. package/contexts/navigateFolder.js +3 -1
  296. package/contexts/navigateFolderWithRouter.js +3 -1
  297. package/contexts/records.js +18 -15
  298. package/contexts/records.js.map +1 -1
  299. package/dialogs/Dialog.js +3 -1
  300. package/dialogs/dialogs.js +3 -1
  301. package/dialogs/index.js +3 -1
  302. package/dialogs/styled.js +3 -1
  303. package/dialogs/useDialogsContext.js +3 -1
  304. package/dialogs/useMoveToFolderDialog.js +3 -1
  305. package/graphql/app.gql.js +3 -1
  306. package/graphql/folders.gql.js +4 -2
  307. package/graphql/folders.gql.js.map +1 -1
  308. package/graphql/records/common.js +3 -1
  309. package/graphql/records/createRecord.js +3 -1
  310. package/graphql/records/deleteRecord.js +3 -1
  311. package/graphql/records/getRecord.js +3 -1
  312. package/graphql/records/listRecords.js +3 -1
  313. package/graphql/records/listTags.js +3 -1
  314. package/graphql/records/moveRecord.js +3 -1
  315. package/graphql/records/types.js +3 -1
  316. package/graphql/records/updateRecord.js +3 -1
  317. package/graphql/records.gql.js +3 -1
  318. package/handlers.d.ts +1 -1
  319. package/handlers.js +7 -9
  320. package/handlers.js.map +1 -1
  321. package/hooks/index.js +3 -1
  322. package/hooks/useAcoApp.js +3 -1
  323. package/hooks/useAcoList.js +3 -1
  324. package/hooks/useFolders.d.ts +4 -2
  325. package/hooks/useFolders.js +3 -1
  326. package/hooks/useNavigateFolder.js +3 -1
  327. package/hooks/useRecords.js +3 -1
  328. package/hooks/useTags.js +3 -1
  329. package/index.js +3 -1
  330. package/package.json +20 -15
  331. package/sorting.js +4 -2
  332. package/sorting.js.map +1 -1
  333. package/types.d.ts +16 -0
  334. package/types.js +3 -1
  335. package/types.js.map +1 -1
@@ -0,0 +1,879 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
5
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
6
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
7
+ var _AdvancedSearchPresenter = require("./AdvancedSearchPresenter");
8
+ var _domain = require("./domain");
9
+ var mockGateway = {
10
+ list: jest.fn(),
11
+ get: jest.fn(),
12
+ create: jest.fn(),
13
+ update: jest.fn(),
14
+ delete: jest.fn()
15
+ };
16
+ var createMockGateway = function createMockGateway(_ref) {
17
+ var list = _ref.list,
18
+ get = _ref.get,
19
+ create = _ref.create,
20
+ update = _ref.update,
21
+ deleteFn = _ref.delete;
22
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, mockGateway), list && {
23
+ list: list
24
+ }), get && {
25
+ get: get
26
+ }), create && {
27
+ create: create
28
+ }), update && {
29
+ update: update
30
+ }), deleteFn && {
31
+ delete: deleteFn
32
+ });
33
+ };
34
+ describe("AdvancedSearchPresenter", function () {
35
+ var namespace = "namespace";
36
+ var demoFilter = {
37
+ field: "any-field",
38
+ value: "any-value",
39
+ condition: "any-condition"
40
+ };
41
+ var demoGroup = {
42
+ operation: _domain.Operation.AND,
43
+ filters: [demoFilter]
44
+ };
45
+ var filter1 = {
46
+ id: "filter-1",
47
+ name: "Filter 1",
48
+ description: "Filter description",
49
+ operation: _domain.Operation.AND,
50
+ groups: [demoGroup],
51
+ createdOn: new Date().toString()
52
+ };
53
+ var filter2 = {
54
+ id: "filter-2",
55
+ name: "Filter 2",
56
+ operation: _domain.Operation.AND,
57
+ groups: [demoGroup],
58
+ createdOn: new Date().toString()
59
+ };
60
+ var gateway = createMockGateway({
61
+ list: jest.fn().mockImplementation(function () {
62
+ return Promise.resolve([filter1, filter2]);
63
+ }),
64
+ get: jest.fn().mockImplementation(function () {
65
+ return Promise.resolve(filter1);
66
+ }),
67
+ create: jest.fn().mockImplementation(function () {
68
+ return Promise.resolve(filter1);
69
+ }),
70
+ update: jest.fn().mockImplementation(function () {
71
+ return Promise.resolve((0, _objectSpread2.default)((0, _objectSpread2.default)({}, filter1), {}, {
72
+ name: "Filter 1 - Edit"
73
+ }));
74
+ }),
75
+ delete: jest.fn().mockImplementation(function () {
76
+ return Promise.resolve(true);
77
+ })
78
+ });
79
+ var presenter;
80
+ beforeEach(function () {
81
+ jest.clearAllMocks();
82
+ var repository = new _domain.FilterRepository(gateway, namespace);
83
+ presenter = new _AdvancedSearchPresenter.AdvancedSearchPresenter(repository);
84
+ });
85
+ it("should create a presenter and list filters from the gateway", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
86
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
87
+ while (1) switch (_context.prev = _context.next) {
88
+ case 0:
89
+ _context.next = 2;
90
+ return presenter.load();
91
+ case 2:
92
+ expect(gateway.list).toBeCalledTimes(1);
93
+ expect(presenter.vm).toEqual({
94
+ appliedFilter: null,
95
+ currentFilter: null,
96
+ feedbackVm: {
97
+ isOpen: false,
98
+ message: ""
99
+ },
100
+ managerVm: {
101
+ isOpen: false,
102
+ view: "LIST",
103
+ isLoading: false,
104
+ loadingLabel: "",
105
+ filters: [{
106
+ id: filter1.id,
107
+ name: filter1.name,
108
+ description: filter1.description,
109
+ createdOn: filter1.createdOn
110
+ }, {
111
+ id: filter2.id,
112
+ name: filter2.name,
113
+ description: "",
114
+ createdOn: filter2.createdOn
115
+ }]
116
+ },
117
+ builderVm: {
118
+ isOpen: false
119
+ },
120
+ saverVm: {
121
+ isOpen: false,
122
+ isLoading: false,
123
+ loadingLabel: ""
124
+ }
125
+ });
126
+ case 4:
127
+ case "end":
128
+ return _context.stop();
129
+ }
130
+ }, _callee);
131
+ })));
132
+ it("should transition to loading state and then to list state", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee2() {
133
+ var loadPromise;
134
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee2$(_context2) {
135
+ while (1) switch (_context2.prev = _context2.next) {
136
+ case 0:
137
+ loadPromise = presenter.load();
138
+ expect(presenter.vm.managerVm).toMatchObject({
139
+ isOpen: false,
140
+ isLoading: true,
141
+ loadingLabel: "Listing filters",
142
+ view: "EMPTY",
143
+ filters: []
144
+ });
145
+ _context2.next = 4;
146
+ return loadPromise;
147
+ case 4:
148
+ expect(presenter.vm.managerVm).toMatchObject({
149
+ isOpen: false,
150
+ isLoading: false,
151
+ loadingLabel: "",
152
+ view: "LIST"
153
+ });
154
+ case 5:
155
+ case "end":
156
+ return _context2.stop();
157
+ }
158
+ }, _callee2);
159
+ })));
160
+ it("should be able to apply a filter via filterId", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee3() {
161
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee3$(_context3) {
162
+ while (1) switch (_context3.prev = _context3.next) {
163
+ case 0:
164
+ _context3.next = 2;
165
+ return presenter.load();
166
+ case 2:
167
+ _context3.next = 4;
168
+ return presenter.applyFilter("filter-1");
169
+ case 4:
170
+ expect(presenter.vm).toMatchObject({
171
+ appliedFilter: filter1,
172
+ currentFilter: null,
173
+ managerVm: {
174
+ isOpen: false
175
+ },
176
+ builderVm: {
177
+ isOpen: false
178
+ },
179
+ saverVm: {
180
+ isOpen: false
181
+ }
182
+ });
183
+ case 5:
184
+ case "end":
185
+ return _context3.stop();
186
+ }
187
+ }, _callee3);
188
+ })));
189
+ it("should be able to apply directly a filter", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee4() {
190
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee4$(_context4) {
191
+ while (1) switch (_context4.prev = _context4.next) {
192
+ case 0:
193
+ _context4.next = 2;
194
+ return presenter.load();
195
+ case 2:
196
+ // Let's apply a filter
197
+ presenter.applyFilter(filter2);
198
+ expect(presenter.vm).toMatchObject({
199
+ appliedFilter: filter2,
200
+ managerVm: {
201
+ isOpen: false
202
+ },
203
+ builderVm: {
204
+ isOpen: false
205
+ },
206
+ saverVm: {
207
+ isOpen: false
208
+ }
209
+ });
210
+ case 4:
211
+ case "end":
212
+ return _context4.stop();
213
+ }
214
+ }, _callee4);
215
+ })));
216
+ it("should be able to unset a filter", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee5() {
217
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee5$(_context5) {
218
+ while (1) switch (_context5.prev = _context5.next) {
219
+ case 0:
220
+ _context5.next = 2;
221
+ return presenter.load();
222
+ case 2:
223
+ _context5.next = 4;
224
+ return presenter.applyFilter("filter-1");
225
+ case 4:
226
+ presenter.unsetFilter();
227
+ expect(presenter.vm).toMatchObject({
228
+ appliedFilter: null,
229
+ currentFilter: null
230
+ });
231
+ case 6:
232
+ case "end":
233
+ return _context5.stop();
234
+ }
235
+ }, _callee5);
236
+ })));
237
+ it("should be able to edit an already applied filter", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee6() {
238
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee6$(_context6) {
239
+ while (1) switch (_context6.prev = _context6.next) {
240
+ case 0:
241
+ _context6.next = 2;
242
+ return presenter.load();
243
+ case 2:
244
+ _context6.next = 4;
245
+ return presenter.applyFilter("filter-1");
246
+ case 4:
247
+ presenter.editAppliedFilter();
248
+ expect(presenter.vm).toMatchObject({
249
+ appliedFilter: filter1,
250
+ currentFilter: filter1,
251
+ builderVm: {
252
+ isOpen: true
253
+ }
254
+ });
255
+ case 6:
256
+ case "end":
257
+ return _context6.stop();
258
+ }
259
+ }, _callee6);
260
+ })));
261
+ it("should be create a new filter", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee7() {
262
+ var filter, persistPromise;
263
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee7$(_context7) {
264
+ while (1) switch (_context7.prev = _context7.next) {
265
+ case 0:
266
+ _context7.next = 2;
267
+ return presenter.load();
268
+ case 2:
269
+ // Let's open the filter manager
270
+ presenter.openManager();
271
+ expect(presenter.vm).toMatchObject({
272
+ managerVm: {
273
+ isOpen: true
274
+ }
275
+ });
276
+
277
+ // Let's create a new filter via builder
278
+ presenter.createFilter();
279
+ expect(presenter.vm).toMatchObject({
280
+ currentFilter: {
281
+ id: "",
282
+ name: "Draft filter",
283
+ description: "",
284
+ operation: _domain.Operation.AND,
285
+ groups: [{
286
+ operation: _domain.Operation.AND,
287
+ filters: [{
288
+ field: "",
289
+ condition: "",
290
+ value: ""
291
+ }]
292
+ }]
293
+ },
294
+ managerVm: {
295
+ isOpen: false
296
+ },
297
+ builderVm: {
298
+ isOpen: true
299
+ },
300
+ saverVm: {
301
+ isOpen: false
302
+ }
303
+ });
304
+
305
+ // Let's change the Filter and open the saver
306
+ filter = {
307
+ id: "",
308
+ name: "Draft filter",
309
+ description: "",
310
+ operation: _domain.Operation.AND,
311
+ groups: [{
312
+ operation: _domain.Operation.OR,
313
+ filters: [{
314
+ field: "Field value",
315
+ condition: "field_condition",
316
+ value: "Any value"
317
+ }]
318
+ }]
319
+ };
320
+ presenter.saveFilter(filter);
321
+ expect(presenter.vm).toMatchObject({
322
+ currentFilter: filter,
323
+ managerVm: {
324
+ isOpen: false
325
+ },
326
+ builderVm: {
327
+ isOpen: true
328
+ },
329
+ saverVm: {
330
+ isOpen: true
331
+ }
332
+ });
333
+
334
+ // Let's save it via the gateway
335
+ persistPromise = presenter.persistFilter(filter); // Let's check the transition to loading state
336
+ expect(presenter.vm.saverVm).toMatchObject({
337
+ isOpen: true,
338
+ isLoading: true,
339
+ loadingLabel: "Creating filter"
340
+ });
341
+ _context7.next = 13;
342
+ return persistPromise;
343
+ case 13:
344
+ expect(gateway.create).toBeCalledTimes(1);
345
+ expect(gateway.create).toHaveBeenCalledWith({
346
+ id: expect.any(String),
347
+ name: "Draft filter",
348
+ description: "",
349
+ namespace: namespace,
350
+ operation: _domain.Operation.AND,
351
+ groups: [filter.groups[0]]
352
+ });
353
+ expect(presenter.vm).toMatchObject({
354
+ managerVm: {
355
+ isOpen: false
356
+ },
357
+ builderVm: {
358
+ isOpen: false
359
+ },
360
+ saverVm: {
361
+ isOpen: false
362
+ },
363
+ feedbackVm: {
364
+ isOpen: true,
365
+ message: 'Filter "Draft filter" was successfully created.'
366
+ }
367
+ });
368
+
369
+ // Let's open the manager again and check if the new filter is there.
370
+ // Be aware: data comes from the mocked gateway
371
+ presenter.openManager();
372
+ expect(presenter.vm.managerVm.filters.length).toBe(3);
373
+ expect(presenter.vm.managerVm.filters[0]).toEqual({
374
+ id: filter1.id,
375
+ name: filter1.name,
376
+ description: filter1.description,
377
+ createdOn: filter1.createdOn
378
+ });
379
+ case 19:
380
+ case "end":
381
+ return _context7.stop();
382
+ }
383
+ }, _callee7);
384
+ })));
385
+ it("should be able to update an existing filter", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee8() {
386
+ var filter, persistPromise;
387
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee8$(_context8) {
388
+ while (1) switch (_context8.prev = _context8.next) {
389
+ case 0:
390
+ _context8.next = 2;
391
+ return presenter.load();
392
+ case 2:
393
+ // Let's open the filter manager
394
+ presenter.openManager();
395
+ expect(presenter.vm).toMatchObject({
396
+ managerVm: {
397
+ isOpen: true
398
+ }
399
+ });
400
+
401
+ // Let's select a filter to edit in the builder
402
+ _context8.next = 6;
403
+ return presenter.editFilter("filter-1");
404
+ case 6:
405
+ expect(presenter.vm).toMatchObject({
406
+ currentFilter: filter1,
407
+ managerVm: {
408
+ isOpen: false
409
+ },
410
+ builderVm: {
411
+ isOpen: true
412
+ },
413
+ saverVm: {
414
+ isOpen: false
415
+ }
416
+ });
417
+
418
+ // Let's change the Filter and open the saver
419
+ filter = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, filter1), {}, {
420
+ groups: [{
421
+ operation: _domain.Operation.OR,
422
+ filters: [{
423
+ field: "Field value",
424
+ condition: "field_condition",
425
+ value: "Any value"
426
+ }]
427
+ }]
428
+ });
429
+ presenter.saveFilter(filter);
430
+ expect(presenter.vm).toMatchObject({
431
+ currentFilter: filter,
432
+ managerVm: {
433
+ isOpen: false
434
+ },
435
+ builderVm: {
436
+ isOpen: true
437
+ },
438
+ saverVm: {
439
+ isOpen: true
440
+ }
441
+ });
442
+
443
+ // Let's save it via the gateway
444
+ persistPromise = presenter.persistFilter(filter); // Let's check the transition to loading state
445
+ expect(presenter.vm.saverVm).toMatchObject({
446
+ isOpen: true,
447
+ isLoading: true,
448
+ loadingLabel: "Updating filter"
449
+ });
450
+ _context8.next = 14;
451
+ return persistPromise;
452
+ case 14:
453
+ expect(gateway.update).toBeCalledTimes(1);
454
+ expect(gateway.update).toHaveBeenCalledWith({
455
+ id: "filter-1",
456
+ name: "Filter 1",
457
+ description: "Filter description",
458
+ operation: _domain.Operation.AND,
459
+ groups: [filter.groups[0]]
460
+ });
461
+ expect(presenter.vm).toMatchObject({
462
+ managerVm: {
463
+ isOpen: false
464
+ },
465
+ builderVm: {
466
+ isOpen: false
467
+ },
468
+ saverVm: {
469
+ isOpen: false
470
+ },
471
+ feedbackVm: {
472
+ isOpen: true,
473
+ message: 'Filter "Filter 1" was successfully updated.'
474
+ }
475
+ });
476
+
477
+ // Let's open the manager again and check if the new data is there.
478
+ // Be aware: data comes from the mocked gateway
479
+ presenter.openManager();
480
+ expect(presenter.vm.managerVm.filters.length).toBe(2);
481
+ expect(presenter.vm.managerVm.filters[0]).toEqual({
482
+ id: filter1.id,
483
+ name: "Filter 1 - Edit",
484
+ description: filter1.description,
485
+ createdOn: filter1.createdOn
486
+ });
487
+ case 20:
488
+ case "end":
489
+ return _context8.stop();
490
+ }
491
+ }, _callee8);
492
+ })));
493
+ it("should be able to rename a filter", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee9() {
494
+ var persistPromise;
495
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee9$(_context9) {
496
+ while (1) switch (_context9.prev = _context9.next) {
497
+ case 0:
498
+ _context9.next = 2;
499
+ return presenter.load();
500
+ case 2:
501
+ // Let's open the filter manager
502
+ presenter.openManager();
503
+ expect(presenter.vm).toMatchObject({
504
+ managerVm: {
505
+ isOpen: true
506
+ }
507
+ });
508
+
509
+ // Let's rename a filter
510
+ _context9.next = 6;
511
+ return presenter.renameFilter("filter-1");
512
+ case 6:
513
+ expect(presenter.vm).toMatchObject({
514
+ currentFilter: filter1,
515
+ managerVm: {
516
+ isOpen: false
517
+ },
518
+ builderVm: {
519
+ isOpen: false
520
+ },
521
+ saverVm: {
522
+ isOpen: true
523
+ }
524
+ });
525
+
526
+ // Let's save it via the gateway
527
+ persistPromise = presenter.persistFilter((0, _objectSpread2.default)((0, _objectSpread2.default)({}, filter1), {}, {
528
+ name: "".concat(filter1.name, " - Edit")
529
+ })); // Let's check the transition to loading state
530
+ expect(presenter.vm.saverVm).toMatchObject({
531
+ isOpen: true,
532
+ isLoading: true,
533
+ loadingLabel: "Updating filter"
534
+ });
535
+ _context9.next = 11;
536
+ return persistPromise;
537
+ case 11:
538
+ expect(gateway.update).toBeCalledTimes(1);
539
+ expect(gateway.update).toHaveBeenCalledWith({
540
+ id: "filter-1",
541
+ name: "".concat(filter1.name, " - Edit"),
542
+ description: "Filter description",
543
+ operation: _domain.Operation.AND,
544
+ groups: [filter1.groups[0]]
545
+ });
546
+ expect(presenter.vm).toMatchObject({
547
+ managerVm: {
548
+ isOpen: false
549
+ },
550
+ builderVm: {
551
+ isOpen: false
552
+ },
553
+ saverVm: {
554
+ isOpen: false
555
+ },
556
+ feedbackVm: {
557
+ isOpen: true,
558
+ message: "Filter \"".concat(filter1.name, " - Edit\" was successfully updated.")
559
+ }
560
+ });
561
+
562
+ // Let's open the manager again and check if the new data is there.
563
+ // Be aware: data comes from the mocked gateway
564
+ presenter.openManager();
565
+ expect(presenter.vm.managerVm.filters.length).toBe(2);
566
+ expect(presenter.vm.managerVm.filters[0]).toEqual({
567
+ id: filter1.id,
568
+ name: "".concat(filter1.name, " - Edit"),
569
+ description: filter1.description,
570
+ createdOn: filter1.createdOn
571
+ });
572
+ case 17:
573
+ case "end":
574
+ return _context9.stop();
575
+ }
576
+ }, _callee9);
577
+ })));
578
+ it("should be able to clone a filter", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee10() {
579
+ var clonedFilter, persistPromise;
580
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee10$(_context10) {
581
+ while (1) switch (_context10.prev = _context10.next) {
582
+ case 0:
583
+ _context10.next = 2;
584
+ return presenter.load();
585
+ case 2:
586
+ // Let's open the filter manager
587
+ presenter.openManager();
588
+ expect(presenter.vm).toMatchObject({
589
+ managerVm: {
590
+ isOpen: true
591
+ }
592
+ });
593
+
594
+ // Let's clone a filter
595
+ _context10.next = 6;
596
+ return presenter.cloneFilter("filter-1");
597
+ case 6:
598
+ clonedFilter = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, filter1), {}, {
599
+ id: "",
600
+ name: "Clone of ".concat(filter1.name)
601
+ });
602
+ expect(presenter.vm).toMatchObject({
603
+ currentFilter: clonedFilter,
604
+ managerVm: {
605
+ isOpen: false
606
+ },
607
+ builderVm: {
608
+ isOpen: true
609
+ },
610
+ saverVm: {
611
+ isOpen: false
612
+ }
613
+ });
614
+ presenter.saveFilter(clonedFilter);
615
+ expect(presenter.vm).toMatchObject({
616
+ currentFilter: clonedFilter,
617
+ managerVm: {
618
+ isOpen: false
619
+ },
620
+ builderVm: {
621
+ isOpen: true
622
+ },
623
+ saverVm: {
624
+ isOpen: true
625
+ }
626
+ });
627
+
628
+ // Let's save it via the gateway
629
+ persistPromise = presenter.persistFilter(clonedFilter); // Let's check the transition to loading state
630
+ expect(presenter.vm.saverVm).toMatchObject({
631
+ isOpen: true,
632
+ isLoading: true,
633
+ loadingLabel: "Creating filter"
634
+ });
635
+ _context10.next = 14;
636
+ return persistPromise;
637
+ case 14:
638
+ expect(gateway.create).toBeCalledTimes(1);
639
+ expect(gateway.create).toHaveBeenCalledWith({
640
+ id: expect.any(String),
641
+ name: "Clone of ".concat(filter1.name),
642
+ description: "Filter description",
643
+ namespace: namespace,
644
+ operation: _domain.Operation.AND,
645
+ groups: [filter1.groups[0]]
646
+ });
647
+ expect(presenter.vm).toMatchObject({
648
+ managerVm: {
649
+ isOpen: false
650
+ },
651
+ builderVm: {
652
+ isOpen: false
653
+ },
654
+ saverVm: {
655
+ isOpen: false
656
+ },
657
+ feedbackVm: {
658
+ isOpen: true,
659
+ message: "Filter \"Clone of ".concat(filter1.name, "\" was successfully created.")
660
+ }
661
+ });
662
+
663
+ // Let's open the manager again and check if the new data is there
664
+ presenter.openManager();
665
+ expect(presenter.vm.managerVm.filters.length).toBe(3);
666
+ case 19:
667
+ case "end":
668
+ return _context10.stop();
669
+ }
670
+ }, _callee10);
671
+ })));
672
+ it("should be able to delete a filter", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee11() {
673
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee11$(_context11) {
674
+ while (1) switch (_context11.prev = _context11.next) {
675
+ case 0:
676
+ _context11.next = 2;
677
+ return presenter.load();
678
+ case 2:
679
+ // Let's open the filter manager
680
+ presenter.openManager();
681
+ expect(presenter.vm).toMatchObject({
682
+ managerVm: {
683
+ isOpen: true
684
+ }
685
+ });
686
+
687
+ // Let's delete a filter
688
+ _context11.next = 6;
689
+ return presenter.deleteFilter("filter-1");
690
+ case 6:
691
+ expect(gateway.delete).toBeCalledTimes(1);
692
+ expect(gateway.delete).toHaveBeenCalledWith("filter-1");
693
+ expect(presenter.vm).toMatchObject({
694
+ currentFilter: null,
695
+ feedbackVm: {
696
+ isOpen: true,
697
+ message: 'Filter "Filter 1" was successfully deleted.'
698
+ }
699
+ });
700
+
701
+ // Let's check if the filter has been deleted and is not in the manager.
702
+ // Be aware: data comes from the mocked gateway
703
+ presenter.openManager();
704
+ expect(presenter.vm.managerVm.filters.length).toBe(1);
705
+ expect(presenter.vm.managerVm.filters[0]).toEqual({
706
+ id: filter2.id,
707
+ name: filter2.name,
708
+ description: "",
709
+ createdOn: filter2.createdOn
710
+ });
711
+ case 12:
712
+ case "end":
713
+ return _context11.stop();
714
+ }
715
+ }, _callee11);
716
+ })));
717
+ it("should be able to handle an empty list - error from the gateway", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee12() {
718
+ var message, gateway, repository, presenter;
719
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee12$(_context12) {
720
+ while (1) switch (_context12.prev = _context12.next) {
721
+ case 0:
722
+ message = "Gateway error while listing filters";
723
+ gateway = createMockGateway({
724
+ list: jest.fn().mockRejectedValue(new Error(message))
725
+ });
726
+ repository = new _domain.FilterRepository(gateway, namespace);
727
+ presenter = new _AdvancedSearchPresenter.AdvancedSearchPresenter(repository); // Let's load the app, without filters
728
+ _context12.next = 6;
729
+ return presenter.load();
730
+ case 6:
731
+ expect(presenter.vm).toMatchObject({
732
+ managerVm: {
733
+ isOpen: false,
734
+ view: "EMPTY",
735
+ loadingLabel: "",
736
+ filters: []
737
+ },
738
+ feedbackVm: {
739
+ isOpen: true,
740
+ message: message
741
+ }
742
+ });
743
+ case 7:
744
+ case "end":
745
+ return _context12.stop();
746
+ }
747
+ }, _callee12);
748
+ })));
749
+ it("should be able to handle error while creating the filter", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee13() {
750
+ var message, createGateway, repository, presenter, filter;
751
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee13$(_context13) {
752
+ while (1) switch (_context13.prev = _context13.next) {
753
+ case 0:
754
+ message = "Gateway error while creating filter";
755
+ createGateway = createMockGateway((0, _objectSpread2.default)((0, _objectSpread2.default)({}, gateway), {}, {
756
+ create: jest.fn().mockRejectedValue(new Error(message))
757
+ }));
758
+ repository = new _domain.FilterRepository(createGateway, namespace);
759
+ presenter = new _AdvancedSearchPresenter.AdvancedSearchPresenter(repository); // Let's load some filters
760
+ _context13.next = 6;
761
+ return presenter.load();
762
+ case 6:
763
+ // Let's try to save a Filter
764
+ filter = {
765
+ id: "",
766
+ name: "Draft filter",
767
+ description: "",
768
+ operation: _domain.Operation.AND,
769
+ groups: [{
770
+ operation: _domain.Operation.OR,
771
+ filters: [{
772
+ field: "Field value",
773
+ condition: "field_condition",
774
+ value: "Any value"
775
+ }]
776
+ }]
777
+ };
778
+ _context13.next = 9;
779
+ return presenter.persistFilter(filter);
780
+ case 9:
781
+ expect(presenter.vm).toMatchObject({
782
+ feedbackVm: {
783
+ isOpen: true,
784
+ message: message
785
+ }
786
+ });
787
+ case 10:
788
+ case "end":
789
+ return _context13.stop();
790
+ }
791
+ }, _callee13);
792
+ })));
793
+ it("should be able to handle error while updating a filter", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee14() {
794
+ var message, updateGateway, repository, presenter, filter;
795
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee14$(_context14) {
796
+ while (1) switch (_context14.prev = _context14.next) {
797
+ case 0:
798
+ message = "Gateway error while updating filter";
799
+ updateGateway = createMockGateway((0, _objectSpread2.default)((0, _objectSpread2.default)({}, gateway), {}, {
800
+ update: jest.fn().mockRejectedValue(new Error(message))
801
+ }));
802
+ repository = new _domain.FilterRepository(updateGateway, namespace);
803
+ presenter = new _AdvancedSearchPresenter.AdvancedSearchPresenter(repository); // Let's load some filters
804
+ _context14.next = 6;
805
+ return presenter.load();
806
+ case 6:
807
+ // Let's try to save a Filter
808
+ filter = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, filter1), {}, {
809
+ name: filter1 + " - Edit"
810
+ });
811
+ _context14.next = 9;
812
+ return presenter.persistFilter(filter);
813
+ case 9:
814
+ expect(presenter.vm).toMatchObject({
815
+ feedbackVm: {
816
+ isOpen: true,
817
+ message: message
818
+ }
819
+ });
820
+ case 10:
821
+ case "end":
822
+ return _context14.stop();
823
+ }
824
+ }, _callee14);
825
+ })));
826
+ it("should be able to handle error while deleting a filter", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee15() {
827
+ var message, updateGateway, repository, presenter;
828
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee15$(_context15) {
829
+ while (1) switch (_context15.prev = _context15.next) {
830
+ case 0:
831
+ message = "Gateway error while deleting filter";
832
+ updateGateway = createMockGateway((0, _objectSpread2.default)((0, _objectSpread2.default)({}, gateway), {}, {
833
+ delete: jest.fn().mockRejectedValue(new Error(message))
834
+ }));
835
+ repository = new _domain.FilterRepository(updateGateway, namespace);
836
+ presenter = new _AdvancedSearchPresenter.AdvancedSearchPresenter(repository); // Let's load some filters
837
+ _context15.next = 6;
838
+ return presenter.load();
839
+ case 6:
840
+ _context15.next = 8;
841
+ return presenter.deleteFilter(filter1.id);
842
+ case 8:
843
+ expect(presenter.vm).toMatchObject({
844
+ feedbackVm: {
845
+ isOpen: true,
846
+ message: message
847
+ }
848
+ });
849
+ case 9:
850
+ case "end":
851
+ return _context15.stop();
852
+ }
853
+ }, _callee15);
854
+ })));
855
+ it("should be able to show a feedback message", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee16() {
856
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee16$(_context16) {
857
+ while (1) switch (_context16.prev = _context16.next) {
858
+ case 0:
859
+ _context16.next = 2;
860
+ return presenter.load();
861
+ case 2:
862
+ // Let's show any random feedback message
863
+ presenter.showFeedback("Any message");
864
+ expect(presenter.vm).toMatchObject({
865
+ currentFilter: null,
866
+ feedbackVm: {
867
+ isOpen: true,
868
+ message: "Any message"
869
+ }
870
+ });
871
+ case 4:
872
+ case "end":
873
+ return _context16.stop();
874
+ }
875
+ }, _callee16);
876
+ })));
877
+ });
878
+
879
+ //# sourceMappingURL=AdvancedSearchPresenter.test.js.map