@webiny/app-aco 5.40.0-beta.2 → 5.40.0-beta.4

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 (475) hide show
  1. package/Folders.d.ts +2 -2
  2. package/Folders.js +1 -2
  3. package/Folders.js.map +1 -1
  4. package/components/Actions/DeleteFolder/DeleteFolder.d.ts +2 -2
  5. package/components/Actions/DeleteFolder/DeleteFolder.js +1 -2
  6. package/components/Actions/DeleteFolder/DeleteFolder.js.map +1 -1
  7. package/components/Actions/DeleteFolder/index.js.map +1 -1
  8. package/components/Actions/EditFolder/EditFolder.d.ts +2 -2
  9. package/components/Actions/EditFolder/EditFolder.js +1 -2
  10. package/components/Actions/EditFolder/EditFolder.js.map +1 -1
  11. package/components/Actions/EditFolder/index.js.map +1 -1
  12. package/components/Actions/SetFolderPemissions/SetFolderPermissions.d.ts +2 -2
  13. package/components/Actions/SetFolderPemissions/SetFolderPermissions.js +1 -2
  14. package/components/Actions/SetFolderPemissions/SetFolderPermissions.js.map +1 -1
  15. package/components/Actions/SetFolderPemissions/index.js.map +1 -1
  16. package/components/Actions/index.js.map +1 -1
  17. package/components/AdvancedSearch/AdvancedSearch.d.ts +3 -4
  18. package/components/AdvancedSearch/AdvancedSearch.js +22 -4
  19. package/components/AdvancedSearch/AdvancedSearch.js.map +1 -1
  20. package/components/AdvancedSearch/AdvancedSearch.styled.d.ts +1 -1
  21. package/components/AdvancedSearch/AdvancedSearch.styled.js +15 -5
  22. package/components/AdvancedSearch/AdvancedSearch.styled.js.map +1 -1
  23. package/components/AdvancedSearch/AdvancedSearchConfigs.d.ts +2 -0
  24. package/components/AdvancedSearch/AdvancedSearchConfigs.js +50 -0
  25. package/components/AdvancedSearch/AdvancedSearchConfigs.js.map +1 -0
  26. package/components/AdvancedSearch/AdvancedSearchPresenter.js +2 -4
  27. package/components/AdvancedSearch/AdvancedSearchPresenter.js.map +1 -1
  28. package/components/AdvancedSearch/AdvancedSearchPresenter.test.js +4 -4
  29. package/components/AdvancedSearch/AdvancedSearchPresenter.test.js.map +1 -1
  30. package/components/AdvancedSearch/Button/Button.d.ts +2 -2
  31. package/components/AdvancedSearch/Button/Button.js +1 -2
  32. package/components/AdvancedSearch/Button/Button.js.map +1 -1
  33. package/components/AdvancedSearch/Button/Button.styled.d.ts +0 -2
  34. package/components/AdvancedSearch/Button/Button.styled.js +15 -5
  35. package/components/AdvancedSearch/Button/Button.styled.js.map +1 -1
  36. package/components/AdvancedSearch/Button/index.js.map +1 -1
  37. package/components/AdvancedSearch/Feedback/Feedback.d.ts +2 -2
  38. package/components/AdvancedSearch/Feedback/Feedback.js +1 -2
  39. package/components/AdvancedSearch/Feedback/Feedback.js.map +1 -1
  40. package/components/AdvancedSearch/Feedback/index.js.map +1 -1
  41. package/components/AdvancedSearch/GraphQLInputMapper.d.ts +7 -3
  42. package/components/AdvancedSearch/GraphQLInputMapper.js +26 -6
  43. package/components/AdvancedSearch/GraphQLInputMapper.js.map +1 -1
  44. package/components/AdvancedSearch/GraphQLInputMapper.test.js +77 -0
  45. package/components/AdvancedSearch/GraphQLInputMapper.test.js.map +1 -1
  46. package/components/AdvancedSearch/QueryBuilderDrawer/Footer.d.ts +1 -1
  47. package/components/AdvancedSearch/QueryBuilderDrawer/Footer.js +1 -2
  48. package/components/AdvancedSearch/QueryBuilderDrawer/Footer.js.map +1 -1
  49. package/components/AdvancedSearch/QueryBuilderDrawer/Header.d.ts +2 -2
  50. package/components/AdvancedSearch/QueryBuilderDrawer/Header.js +1 -2
  51. package/components/AdvancedSearch/QueryBuilderDrawer/Header.js.map +1 -1
  52. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/QueryBuilder.d.ts +4 -4
  53. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/QueryBuilder.js +3 -5
  54. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/QueryBuilder.js.map +1 -1
  55. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/Querybuilder.styled.d.ts +11 -15
  56. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/Querybuilder.styled.js +190 -70
  57. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/Querybuilder.styled.js.map +1 -1
  58. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Details.d.ts +2 -2
  59. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Details.js +1 -2
  60. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Details.js.map +1 -1
  61. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Filter.d.ts +4 -4
  62. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Filter.js +9 -4
  63. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/Filter.js.map +1 -1
  64. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/FilterOperationLabel.d.ts +2 -2
  65. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/FilterOperationLabel.js +1 -2
  66. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/FilterOperationLabel.js.map +1 -1
  67. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/GroupOperationLabel.d.ts +2 -2
  68. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/GroupOperationLabel.js +3 -3
  69. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/GroupOperationLabel.js.map +1 -1
  70. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/InputField.d.ts +4 -4
  71. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/InputField.js +15 -27
  72. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/InputField.js.map +1 -1
  73. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/OperationSelector.d.ts +2 -2
  74. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/OperationSelector.js +1 -2
  75. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/OperationSelector.js.map +1 -1
  76. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddFilter.d.ts +2 -2
  77. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddFilter.js +1 -2
  78. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddFilter.js.map +1 -1
  79. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddGroup.d.ts +2 -2
  80. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddGroup.js +1 -2
  81. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/AddGroup.js.map +1 -1
  82. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/RemoveFilter.d.ts +2 -2
  83. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/RemoveFilter.js +1 -2
  84. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/RemoveFilter.js.map +1 -1
  85. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/controls/index.js.map +1 -1
  86. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/index.d.ts +0 -1
  87. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/index.js +0 -11
  88. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/index.js.map +1 -1
  89. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/index.js.map +1 -1
  90. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.d.ts +4 -4
  91. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.js +4 -4
  92. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.js.map +1 -1
  93. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.styled.d.ts +1 -1
  94. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.styled.js +43 -15
  95. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawer.styled.js.map +1 -1
  96. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.d.ts +2 -5
  97. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.js +3 -9
  98. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.js.map +1 -1
  99. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.test.js +1 -285
  100. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilderDrawerPresenter.test.js.map +1 -1
  101. package/components/AdvancedSearch/QueryBuilderDrawer/index.js.map +1 -1
  102. package/components/AdvancedSearch/QueryManagerDialog/QueryManagerDialog.d.ts +2 -2
  103. package/components/AdvancedSearch/QueryManagerDialog/QueryManagerDialog.js +1 -2
  104. package/components/AdvancedSearch/QueryManagerDialog/QueryManagerDialog.js.map +1 -1
  105. package/components/AdvancedSearch/QueryManagerDialog/QueryManagerDialog.styled.d.ts +3 -3
  106. package/components/AdvancedSearch/QueryManagerDialog/QueryManagerDialog.styled.js +57 -20
  107. package/components/AdvancedSearch/QueryManagerDialog/QueryManagerDialog.styled.js.map +1 -1
  108. package/components/AdvancedSearch/QueryManagerDialog/components/Description.d.ts +2 -2
  109. package/components/AdvancedSearch/QueryManagerDialog/components/Description.js +1 -2
  110. package/components/AdvancedSearch/QueryManagerDialog/components/Description.js.map +1 -1
  111. package/components/AdvancedSearch/QueryManagerDialog/components/Empty.d.ts +2 -2
  112. package/components/AdvancedSearch/QueryManagerDialog/components/Empty.js +1 -2
  113. package/components/AdvancedSearch/QueryManagerDialog/components/Empty.js.map +1 -1
  114. package/components/AdvancedSearch/QueryManagerDialog/components/FilterList.d.ts +2 -2
  115. package/components/AdvancedSearch/QueryManagerDialog/components/FilterList.js +1 -2
  116. package/components/AdvancedSearch/QueryManagerDialog/components/FilterList.js.map +1 -1
  117. package/components/AdvancedSearch/QueryManagerDialog/components/index.js.map +1 -1
  118. package/components/AdvancedSearch/QueryManagerDialog/index.js.map +1 -1
  119. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.d.ts +2 -4
  120. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.js +2 -4
  121. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.js.map +1 -1
  122. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.styled.js +15 -5
  123. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialog.styled.js.map +1 -1
  124. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.js +2 -4
  125. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.js.map +1 -1
  126. package/components/AdvancedSearch/QuerySaverDialog/QuerySaverDialogPresenter.test.js.map +1 -1
  127. package/components/AdvancedSearch/QuerySaverDialog/index.js.map +1 -1
  128. package/components/AdvancedSearch/SelectedFilter/SelectedFilter.d.ts +2 -2
  129. package/components/AdvancedSearch/SelectedFilter/SelectedFilter.js +3 -3
  130. package/components/AdvancedSearch/SelectedFilter/SelectedFilter.js.map +1 -1
  131. package/components/AdvancedSearch/SelectedFilter/SelectedFilter.styled.d.ts +0 -4
  132. package/components/AdvancedSearch/SelectedFilter/SelectedFilter.styled.js +29 -10
  133. package/components/AdvancedSearch/SelectedFilter/SelectedFilter.styled.js.map +1 -1
  134. package/components/AdvancedSearch/SelectedFilter/index.js.map +1 -1
  135. package/components/AdvancedSearch/domain/Feedback.js +2 -4
  136. package/components/AdvancedSearch/domain/Feedback.js.map +1 -1
  137. package/components/AdvancedSearch/domain/Field.d.ts +22 -2
  138. package/components/AdvancedSearch/domain/Field.js +60 -25
  139. package/components/AdvancedSearch/domain/Field.js.map +1 -1
  140. package/components/AdvancedSearch/domain/FieldMapper.d.ts +8 -2
  141. package/components/AdvancedSearch/domain/FieldMapper.js +38 -21
  142. package/components/AdvancedSearch/domain/FieldMapper.js.map +1 -1
  143. package/components/AdvancedSearch/domain/Filter.d.ts +6 -6
  144. package/components/AdvancedSearch/domain/Filter.js +5 -10
  145. package/components/AdvancedSearch/domain/Filter.js.map +1 -1
  146. package/components/AdvancedSearch/domain/FilterMapper.js +2 -4
  147. package/components/AdvancedSearch/domain/FilterMapper.js.map +1 -1
  148. package/components/AdvancedSearch/domain/FilterRepository.js +5 -7
  149. package/components/AdvancedSearch/domain/FilterRepository.js.map +1 -1
  150. package/components/AdvancedSearch/domain/FilterRepositoryFactory.js +2 -4
  151. package/components/AdvancedSearch/domain/FilterRepositoryFactory.js.map +1 -1
  152. package/components/AdvancedSearch/domain/Loading.js +2 -4
  153. package/components/AdvancedSearch/domain/Loading.js.map +1 -1
  154. package/components/AdvancedSearch/domain/Operation.js +1 -2
  155. package/components/AdvancedSearch/domain/Operation.js.map +1 -1
  156. package/components/AdvancedSearch/domain/Sorter.js +2 -4
  157. package/components/AdvancedSearch/domain/Sorter.js.map +1 -1
  158. package/components/AdvancedSearch/domain/index.js.map +1 -1
  159. package/components/AdvancedSearch/fields/Boolean.d.ts +2 -0
  160. package/components/AdvancedSearch/{QueryBuilderDrawer/QueryBuilder/components/fields → fields}/Boolean.js +8 -7
  161. package/components/AdvancedSearch/fields/Boolean.js.map +1 -0
  162. package/components/AdvancedSearch/fields/DateWithTimezone.d.ts +2 -0
  163. package/components/AdvancedSearch/fields/DateWithTimezone.js +110 -0
  164. package/components/AdvancedSearch/fields/DateWithTimezone.js.map +1 -0
  165. package/components/AdvancedSearch/fields/DateWithoutTimezone.d.ts +2 -0
  166. package/components/AdvancedSearch/{QueryBuilderDrawer/QueryBuilder/components/fields → fields}/DateWithoutTimezone.js +7 -4
  167. package/components/AdvancedSearch/fields/DateWithoutTimezone.js.map +1 -0
  168. package/components/AdvancedSearch/fields/Input.d.ts +2 -0
  169. package/components/AdvancedSearch/{QueryBuilderDrawer/QueryBuilder/components/fields → fields}/Input.js +6 -5
  170. package/components/AdvancedSearch/fields/Input.js.map +1 -0
  171. package/components/AdvancedSearch/fields/PredefinedValues.d.ts +2 -0
  172. package/components/AdvancedSearch/{QueryBuilderDrawer/QueryBuilder/components/fields/MultipleValues.js → fields/PredefinedValues.js} +12 -11
  173. package/components/AdvancedSearch/fields/PredefinedValues.js.map +1 -0
  174. package/components/AdvancedSearch/{QueryBuilderDrawer/QueryBuilder/components/fields → fields}/index.d.ts +1 -1
  175. package/components/AdvancedSearch/{QueryBuilderDrawer/QueryBuilder/components/fields → fields}/index.js +4 -4
  176. package/components/AdvancedSearch/fields/index.js.map +1 -0
  177. package/components/AdvancedSearch/gateways/FiltersGatewayInterface.js.map +1 -1
  178. package/components/AdvancedSearch/gateways/FiltersGraphQLGateway.js +2 -4
  179. package/components/AdvancedSearch/gateways/FiltersGraphQLGateway.js.map +1 -1
  180. package/components/AdvancedSearch/gateways/filters.gql.js +5 -10
  181. package/components/AdvancedSearch/gateways/filters.gql.js.map +1 -1
  182. package/components/AdvancedSearch/gateways/filters.types.js.map +1 -1
  183. package/components/AdvancedSearch/gateways/index.js.map +1 -1
  184. package/components/AdvancedSearch/index.d.ts +5 -1
  185. package/components/AdvancedSearch/index.js +34 -7
  186. package/components/AdvancedSearch/index.js.map +1 -1
  187. package/components/AdvancedSearch/useFilterRepository.js +1 -2
  188. package/components/AdvancedSearch/useFilterRepository.js.map +1 -1
  189. package/components/AdvancedSearch/useInputField.d.ts +13 -0
  190. package/components/AdvancedSearch/useInputField.js +14 -0
  191. package/components/AdvancedSearch/useInputField.js.map +1 -0
  192. package/components/FolderGrid/Folder.d.ts +2 -2
  193. package/components/FolderGrid/Folder.js +1 -2
  194. package/components/FolderGrid/Folder.js.map +1 -1
  195. package/components/FolderGrid/FolderGrid.d.ts +2 -2
  196. package/components/FolderGrid/FolderGrid.js +1 -2
  197. package/components/FolderGrid/FolderGrid.js.map +1 -1
  198. package/components/FolderGrid/index.js.map +1 -1
  199. package/components/FolderGrid/styled.d.ts +3 -3
  200. package/components/FolderGrid/styled.js +57 -20
  201. package/components/FolderGrid/styled.js.map +1 -1
  202. package/components/FolderTree/ButtonCreate/index.d.ts +2 -2
  203. package/components/FolderTree/ButtonCreate/index.js +1 -2
  204. package/components/FolderTree/ButtonCreate/index.js.map +1 -1
  205. package/components/FolderTree/ButtonCreate/styled.d.ts +2 -4
  206. package/components/FolderTree/ButtonCreate/styled.js +43 -15
  207. package/components/FolderTree/ButtonCreate/styled.js.map +1 -1
  208. package/components/FolderTree/Empty/index.d.ts +2 -2
  209. package/components/FolderTree/Empty/index.js +1 -2
  210. package/components/FolderTree/Empty/index.js.map +1 -1
  211. package/components/FolderTree/Empty/styled.d.ts +1 -1
  212. package/components/FolderTree/Empty/styled.js +15 -5
  213. package/components/FolderTree/Empty/styled.js.map +1 -1
  214. package/components/FolderTree/List/index.d.ts +2 -2
  215. package/components/FolderTree/List/index.js +1 -2
  216. package/components/FolderTree/List/index.js.map +1 -1
  217. package/components/FolderTree/List/utils.js +2 -4
  218. package/components/FolderTree/List/utils.js.map +1 -1
  219. package/components/FolderTree/Loader/index.d.ts +2 -2
  220. package/components/FolderTree/Loader/index.js +1 -2
  221. package/components/FolderTree/Loader/index.js.map +1 -1
  222. package/components/FolderTree/Loader/styled.d.ts +2 -2
  223. package/components/FolderTree/Loader/styled.js +29 -10
  224. package/components/FolderTree/Loader/styled.js.map +1 -1
  225. package/components/FolderTree/MenuActions/index.d.ts +2 -2
  226. package/components/FolderTree/MenuActions/index.js +1 -2
  227. package/components/FolderTree/MenuActions/index.js.map +1 -1
  228. package/components/FolderTree/MenuActions/styled.d.ts +1 -1
  229. package/components/FolderTree/MenuActions/styled.js +15 -5
  230. package/components/FolderTree/MenuActions/styled.js.map +1 -1
  231. package/components/FolderTree/Node/index.d.ts +3 -3
  232. package/components/FolderTree/Node/index.js +2 -4
  233. package/components/FolderTree/Node/index.js.map +1 -1
  234. package/components/FolderTree/Node/styled.d.ts +5 -9
  235. package/components/FolderTree/Node/styled.js +70 -31
  236. package/components/FolderTree/Node/styled.js.map +1 -1
  237. package/components/FolderTree/NodePreview/index.d.ts +2 -2
  238. package/components/FolderTree/NodePreview/index.js +1 -2
  239. package/components/FolderTree/NodePreview/index.js.map +1 -1
  240. package/components/FolderTree/NodePreview/styled.d.ts +1 -1
  241. package/components/FolderTree/NodePreview/styled.js +15 -5
  242. package/components/FolderTree/NodePreview/styled.js.map +1 -1
  243. package/components/FolderTree/Placeholder/index.d.ts +2 -2
  244. package/components/FolderTree/Placeholder/index.js +1 -2
  245. package/components/FolderTree/Placeholder/index.js.map +1 -1
  246. package/components/FolderTree/Placeholder/styled.d.ts +1 -1
  247. package/components/FolderTree/Placeholder/styled.js +15 -5
  248. package/components/FolderTree/Placeholder/styled.js.map +1 -1
  249. package/components/FolderTree/index.d.ts +2 -2
  250. package/components/FolderTree/index.js +1 -2
  251. package/components/FolderTree/index.js.map +1 -1
  252. package/components/FolderTree/styled.d.ts +1 -1
  253. package/components/FolderTree/styled.js +15 -5
  254. package/components/FolderTree/styled.js.map +1 -1
  255. package/components/Search/Search.d.ts +2 -2
  256. package/components/Search/Search.js +1 -2
  257. package/components/Search/Search.js.map +1 -1
  258. package/components/Search/index.js.map +1 -1
  259. package/components/Search/styled.d.ts +1 -1
  260. package/components/Search/styled.js +15 -5
  261. package/components/Search/styled.js.map +1 -1
  262. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityDecorator.js +2 -4
  263. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityDecorator.js.map +1 -1
  264. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.js +2 -4
  265. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.js.map +1 -1
  266. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityPresenter.test.js.map +1 -1
  267. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepository.js +2 -4
  268. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepository.js.map +1 -1
  269. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepositoryFactory.js +2 -4
  270. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityRepositoryFactory.js.map +1 -1
  271. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityUpdater.js +1 -2
  272. package/components/Table/components/Table/ColumnVisibility/ColumnsVisibilityUpdater.js.map +1 -1
  273. package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityRepository.js.map +1 -1
  274. package/components/Table/components/Table/ColumnVisibility/IColumnsVisibilityUpdater.js.map +1 -1
  275. package/components/Table/components/Table/ColumnVisibility/index.js.map +1 -1
  276. package/components/Table/components/Table/Columns/Column.js +2 -4
  277. package/components/Table/components/Table/Columns/Column.js.map +1 -1
  278. package/components/Table/components/Table/Columns/ColumnMapper.js +2 -4
  279. package/components/Table/components/Table/Columns/ColumnMapper.js.map +1 -1
  280. package/components/Table/components/Table/Columns/ColumnsPresenter.js +2 -4
  281. package/components/Table/components/Table/Columns/ColumnsPresenter.js.map +1 -1
  282. package/components/Table/components/Table/Columns/ColumnsPresenter.test.js.map +1 -1
  283. package/components/Table/components/Table/Columns/ColumnsRepository.js +2 -4
  284. package/components/Table/components/Table/Columns/ColumnsRepository.js.map +1 -1
  285. package/components/Table/components/Table/Columns/ColumnsRepositoryFactory.js +2 -4
  286. package/components/Table/components/Table/Columns/ColumnsRepositoryFactory.js.map +1 -1
  287. package/components/Table/components/Table/Columns/IColumnsRepository.js.map +1 -1
  288. package/components/Table/components/Table/Columns/index.js.map +1 -1
  289. package/components/Table/components/Table/Table.d.ts +2 -2
  290. package/components/Table/components/Table/Table.js +1 -2
  291. package/components/Table/components/Table/Table.js.map +1 -1
  292. package/components/Table/components/Table/TableInner.d.ts +2 -2
  293. package/components/Table/components/Table/TableInner.js +1 -2
  294. package/components/Table/components/Table/TableInner.js.map +1 -1
  295. package/components/Table/components/Table/TablePresenter.js +2 -4
  296. package/components/Table/components/Table/TablePresenter.js.map +1 -1
  297. package/components/Table/components/Table/gateways/ColumnsVisibilityLocalStorageGateway.js +2 -4
  298. package/components/Table/components/Table/gateways/ColumnsVisibilityLocalStorageGateway.js.map +1 -1
  299. package/components/Table/components/Table/gateways/IColumnsVisibilityGateway.js.map +1 -1
  300. package/components/Table/components/Table/gateways/LocalStorage.js +2 -4
  301. package/components/Table/components/Table/gateways/LocalStorage.js.map +1 -1
  302. package/components/Table/components/Table/gateways/index.js.map +1 -1
  303. package/components/Table/components/Table/index.js.map +1 -1
  304. package/components/Table/components/index.js.map +1 -1
  305. package/components/Table/createTableData.js +2 -4
  306. package/components/Table/createTableData.js.map +1 -1
  307. package/components/Table/index.js.map +1 -1
  308. package/components/Table/useTableRow.d.ts +2 -2
  309. package/components/Table/useTableRow.js +11 -12
  310. package/components/Table/useTableRow.js.map +1 -1
  311. package/components/index.js.map +1 -1
  312. package/config/AcoConfig.d.ts +21 -8
  313. package/config/AcoConfig.js +24 -5
  314. package/config/AcoConfig.js.map +1 -1
  315. package/config/advanced-search/FieldRenderer.d.ts +16 -0
  316. package/config/advanced-search/FieldRenderer.js +43 -0
  317. package/config/advanced-search/FieldRenderer.js.map +1 -0
  318. package/config/advanced-search/index.d.ts +11 -0
  319. package/config/advanced-search/index.js +12 -0
  320. package/config/advanced-search/index.js.map +1 -0
  321. package/config/folder/Action.d.ts +3 -3
  322. package/config/folder/Action.js +2 -4
  323. package/config/folder/Action.js.map +1 -1
  324. package/config/folder/index.d.ts +2 -2
  325. package/config/folder/index.js +1 -2
  326. package/config/folder/index.js.map +1 -1
  327. package/config/index.js.map +1 -1
  328. package/config/record/Action.d.ts +4 -4
  329. package/config/record/Action.js +2 -4
  330. package/config/record/Action.js.map +1 -1
  331. package/config/record/index.d.ts +3 -3
  332. package/config/record/index.js +1 -2
  333. package/config/record/index.js.map +1 -1
  334. package/config/table/Column.d.ts +1 -1
  335. package/config/table/Column.js +2 -3
  336. package/config/table/Column.js.map +1 -1
  337. package/config/table/Sorting.d.ts +11 -0
  338. package/config/table/Sorting.js +38 -0
  339. package/config/table/Sorting.js.map +1 -0
  340. package/config/table/index.d.ts +4 -1
  341. package/config/table/index.js +4 -3
  342. package/config/table/index.js.map +1 -1
  343. package/constants.js +1 -2
  344. package/constants.js.map +1 -1
  345. package/contexts/DisplayError/index.d.ts +1 -1
  346. package/contexts/DisplayError/index.js +27 -23
  347. package/contexts/DisplayError/index.js.map +1 -1
  348. package/contexts/FoldersApi/FoldersApiProvider.d.ts +1 -1
  349. package/contexts/FoldersApi/FoldersApiProvider.js +2 -4
  350. package/contexts/FoldersApi/FoldersApiProvider.js.map +1 -1
  351. package/contexts/FoldersApi/index.js.map +1 -1
  352. package/contexts/FoldersApi/useFoldersApi.js.map +1 -1
  353. package/contexts/acoList.d.ts +1 -1
  354. package/contexts/acoList.js +75 -54
  355. package/contexts/acoList.js.map +1 -1
  356. package/contexts/app.d.ts +2 -2
  357. package/contexts/app.js +5 -7
  358. package/contexts/app.js.map +1 -1
  359. package/contexts/folder.d.ts +1 -1
  360. package/contexts/folder.js +2 -4
  361. package/contexts/folder.js.map +1 -1
  362. package/contexts/folders.d.ts +1 -1
  363. package/contexts/folders.js +13 -15
  364. package/contexts/folders.js.map +1 -1
  365. package/contexts/index.js.map +1 -1
  366. package/contexts/navigateFolder.d.ts +1 -1
  367. package/contexts/navigateFolder.js +2 -4
  368. package/contexts/navigateFolder.js.map +1 -1
  369. package/contexts/navigateFolderWithRouter.d.ts +1 -1
  370. package/contexts/navigateFolderWithRouter.js +1 -2
  371. package/contexts/navigateFolderWithRouter.js.map +1 -1
  372. package/contexts/records.d.ts +1 -1
  373. package/contexts/records.js +22 -23
  374. package/contexts/records.js.map +1 -1
  375. package/dialogs/DialogSetPermissions/UsersTeamsMultiAutocomplete.d.ts +2 -2
  376. package/dialogs/DialogSetPermissions/UsersTeamsMultiAutocomplete.js +1 -2
  377. package/dialogs/DialogSetPermissions/UsersTeamsMultiAutocomplete.js.map +1 -1
  378. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemGraphic.d.ts +2 -2
  379. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemGraphic.js +16 -6
  380. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemGraphic.js.map +1 -1
  381. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemMeta.d.ts +2 -2
  382. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemMeta.js +27 -11
  383. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemMeta.js.map +1 -1
  384. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemText.d.ts +2 -2
  385. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemText.js +1 -2
  386. package/dialogs/DialogSetPermissions/UsersTeamsSelection/ListItemText.js.map +1 -1
  387. package/dialogs/DialogSetPermissions/UsersTeamsSelection.d.ts +2 -2
  388. package/dialogs/DialogSetPermissions/UsersTeamsSelection.js +16 -6
  389. package/dialogs/DialogSetPermissions/UsersTeamsSelection.js.map +1 -1
  390. package/dialogs/DialogSetPermissions/graphql.js +1 -2
  391. package/dialogs/DialogSetPermissions/graphql.js.map +1 -1
  392. package/dialogs/index.d.ts +0 -3
  393. package/dialogs/index.js +0 -33
  394. package/dialogs/index.js.map +1 -1
  395. package/dialogs/styled.d.ts +1 -10
  396. package/dialogs/styled.js +16 -17
  397. package/dialogs/styled.js.map +1 -1
  398. package/dialogs/useCreateDialog.js +29 -33
  399. package/dialogs/useCreateDialog.js.map +1 -1
  400. package/dialogs/useDeleteDialog.js +4 -6
  401. package/dialogs/useDeleteDialog.js.map +1 -1
  402. package/dialogs/useEditDialog.js +4 -6
  403. package/dialogs/useEditDialog.js.map +1 -1
  404. package/dialogs/useMoveToFolderDialog.d.ts +2 -2
  405. package/dialogs/useMoveToFolderDialog.js +5 -7
  406. package/dialogs/useMoveToFolderDialog.js.map +1 -1
  407. package/dialogs/useSetPermissionsDialog.js +5 -7
  408. package/dialogs/useSetPermissionsDialog.js.map +1 -1
  409. package/graphql/app.gql.js +1 -2
  410. package/graphql/app.gql.js.map +1 -1
  411. package/graphql/folders.gql.js +5 -10
  412. package/graphql/folders.gql.js.map +1 -1
  413. package/graphql/records/common.js +3 -6
  414. package/graphql/records/common.js.map +1 -1
  415. package/graphql/records/createRecord.js +1 -2
  416. package/graphql/records/createRecord.js.map +1 -1
  417. package/graphql/records/deleteRecord.js +1 -2
  418. package/graphql/records/deleteRecord.js.map +1 -1
  419. package/graphql/records/getRecord.js +2 -3
  420. package/graphql/records/getRecord.js.map +1 -1
  421. package/graphql/records/listRecords.js +1 -2
  422. package/graphql/records/listRecords.js.map +1 -1
  423. package/graphql/records/listTags.js +1 -2
  424. package/graphql/records/listTags.js.map +1 -1
  425. package/graphql/records/moveRecord.js +1 -2
  426. package/graphql/records/moveRecord.js.map +1 -1
  427. package/graphql/records/types.d.ts +1 -1
  428. package/graphql/records/types.js.map +1 -1
  429. package/graphql/records/updateRecord.js +1 -2
  430. package/graphql/records/updateRecord.js.map +1 -1
  431. package/graphql/records.gql.js.map +1 -1
  432. package/handlers.js +2 -4
  433. package/handlers.js.map +1 -1
  434. package/hooks/index.js.map +1 -1
  435. package/hooks/useAcoApp.js +1 -2
  436. package/hooks/useAcoApp.js.map +1 -1
  437. package/hooks/useAcoList.js +1 -2
  438. package/hooks/useAcoList.js.map +1 -1
  439. package/hooks/useFolder.js +1 -2
  440. package/hooks/useFolder.js.map +1 -1
  441. package/hooks/useFolders.js +1 -2
  442. package/hooks/useFolders.js.map +1 -1
  443. package/hooks/useNavigateFolder.js +1 -2
  444. package/hooks/useNavigateFolder.js.map +1 -1
  445. package/hooks/useRecords.js +1 -2
  446. package/hooks/useRecords.js.map +1 -1
  447. package/hooks/useTags.js +1 -2
  448. package/hooks/useTags.js.map +1 -1
  449. package/index.js.map +1 -1
  450. package/package.json +28 -28
  451. package/sorting.js +3 -6
  452. package/sorting.js.map +1 -1
  453. package/table.types.js.map +1 -1
  454. package/types.js.map +1 -1
  455. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/fields/Boolean.d.ts +0 -6
  456. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/fields/Boolean.js.map +0 -1
  457. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/fields/DateWithTimezone.d.ts +0 -6
  458. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/fields/DateWithTimezone.js +0 -76
  459. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/fields/DateWithTimezone.js.map +0 -1
  460. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/fields/DateWithoutTimezone.d.ts +0 -6
  461. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/fields/DateWithoutTimezone.js.map +0 -1
  462. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/fields/Input.d.ts +0 -8
  463. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/fields/Input.js.map +0 -1
  464. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/fields/MultipleValues.d.ts +0 -8
  465. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/fields/MultipleValues.js.map +0 -1
  466. package/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/fields/index.js.map +0 -1
  467. package/dialogs/Dialog.d.ts +0 -15
  468. package/dialogs/Dialog.js +0 -45
  469. package/dialogs/Dialog.js.map +0 -1
  470. package/dialogs/dialogs.d.ts +0 -32
  471. package/dialogs/dialogs.js +0 -100
  472. package/dialogs/dialogs.js.map +0 -1
  473. package/dialogs/useDialogs.d.ts +0 -1
  474. package/dialogs/useDialogs.js +0 -18
  475. package/dialogs/useDialogs.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["_AdvancedSearchPresenter","require","_domain","mockGateway","list","jest","fn","get","create","update","delete","createMockGateway","_ref","deleteFn","_objectSpread2","default","describe","namespace","demoFilter","field","value","condition","demoGroup","operation","Operation","AND","filters","filter1","id","name","description","groups","createdOn","Date","toString","filter2","gateway","mockImplementation","Promise","resolve","presenter","beforeEach","clearAllMocks","repository","FilterRepository","AdvancedSearchPresenter","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","concat","cloneFilter","clonedFilter","deleteFilter","mockRejectedValue","Error","createGateway","updateGateway","showFeedback"],"sources":["AdvancedSearchPresenter.test.ts"],"sourcesContent":["import { AdvancedSearchPresenter } from \"./AdvancedSearchPresenter\";\nimport {\n FilterDTO,\n FilterGroupDTO,\n FilterGroupFilterDTO,\n FilterRepository,\n Operation\n} from \"./domain\";\nimport { 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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"}
1
+ {"version":3,"names":["_AdvancedSearchPresenter","require","_domain","mockGateway","list","jest","fn","get","create","update","delete","createMockGateway","_ref","deleteFn","_objectSpread2","default","describe","namespace","demoFilter","field","value","condition","demoGroup","operation","Operation","AND","filters","filter1","id","name","description","groups","createdOn","Date","toString","filter2","gateway","mockImplementation","Promise","resolve","presenter","beforeEach","clearAllMocks","repository","FilterRepository","AdvancedSearchPresenter","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","concat","cloneFilter","clonedFilter","deleteFilter","mockRejectedValue","Error","createGateway","updateGateway","showFeedback"],"sources":["AdvancedSearchPresenter.test.ts"],"sourcesContent":["import { AdvancedSearchPresenter } from \"./AdvancedSearchPresenter\";\nimport {\n FilterDTO,\n FilterGroupDTO,\n FilterGroupFilterDTO,\n FilterRepository,\n Operation\n} from \"./domain\";\nimport { 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,5 +1,5 @@
1
- /// <reference types="react" />
1
+ import React from "react";
2
2
  export interface ButtonProps {
3
3
  onClick: () => void;
4
4
  }
5
- export declare const Button: ({ onClick }: ButtonProps) => JSX.Element;
5
+ export declare const Button: ({ onClick }: ButtonProps) => React.JSX.Element;
@@ -8,12 +8,11 @@ exports.Button = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _Button = require("@webiny/ui/Button");
10
10
  var _Button2 = require("./Button.styled");
11
- var Button = function Button(_ref) {
11
+ var Button = exports.Button = function Button(_ref) {
12
12
  var onClick = _ref.onClick;
13
13
  return /*#__PURE__*/_react.default.createElement(_Button.ButtonDefault, {
14
14
  onClick: onClick
15
15
  }, "Advanced search filter ", /*#__PURE__*/_react.default.createElement(_Button2.Icon, null));
16
16
  };
17
- exports.Button = Button;
18
17
 
19
18
  //# sourceMappingURL=Button.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_Button","_Button2","Button","_ref","onClick","default","createElement","ButtonDefault","Icon","exports"],"sources":["Button.tsx"],"sourcesContent":["import React from \"react\";\nimport { ButtonDefault } from \"@webiny/ui/Button\";\nimport { Icon } from \"./Button.styled\";\n\nexport interface ButtonProps {\n onClick: () => void;\n}\n\nexport const Button = ({ onClick }: ButtonProps) => {\n return (\n <ButtonDefault onClick={onClick}>\n Advanced search filter <Icon />\n </ButtonDefault>\n );\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAMO,IAAMG,MAAM,GAAG,SAATA,MAAMA,CAAAC,IAAA,EAAiC;EAAA,IAA3BC,OAAO,GAAAD,IAAA,CAAPC,OAAO;EAC5B,oBACIP,MAAA,CAAAQ,OAAA,CAAAC,aAAA,CAACN,OAAA,CAAAO,aAAa;IAACH,OAAO,EAAEA;EAAQ,GAAC,yBACN,eAAAP,MAAA,CAAAQ,OAAA,CAAAC,aAAA,CAACL,QAAA,CAAAO,IAAI,MAAE,CACnB,CAAC;AAExB,CAAC;AAACC,OAAA,CAAAP,MAAA,GAAAA,MAAA"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_Button","_Button2","Button","exports","_ref","onClick","default","createElement","ButtonDefault","Icon"],"sources":["Button.tsx"],"sourcesContent":["import React from \"react\";\nimport { ButtonDefault } from \"@webiny/ui/Button\";\nimport { Icon } from \"./Button.styled\";\n\nexport interface ButtonProps {\n onClick: () => void;\n}\n\nexport const Button = ({ onClick }: ButtonProps) => {\n return (\n <ButtonDefault onClick={onClick}>\n Advanced search filter <Icon />\n </ButtonDefault>\n );\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAMO,IAAMG,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAG,SAATA,MAAMA,CAAAE,IAAA,EAAiC;EAAA,IAA3BC,OAAO,GAAAD,IAAA,CAAPC,OAAO;EAC5B,oBACIR,MAAA,CAAAS,OAAA,CAAAC,aAAA,CAACP,OAAA,CAAAQ,aAAa;IAACH,OAAO,EAAEA;EAAQ,GAAC,yBACN,eAAAR,MAAA,CAAAS,OAAA,CAAAC,aAAA,CAACN,QAAA,CAAAQ,IAAI,MAAE,CACnB,CAAC;AAExB,CAAC","ignoreList":[]}
@@ -1,8 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  export declare const Icon: import("@emotion/styled").StyledComponent<import("react").SVGProps<SVGSVGElement> & {
3
3
  alt?: string | undefined;
4
- } & {
5
- children?: import("react").ReactNode;
6
4
  } & {
7
5
  theme?: import("@emotion/react").Theme | undefined;
8
6
  }, {}, {}>;
@@ -5,12 +5,22 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.Icon = void 0;
8
- var _styled = _interopRequireDefault(require("@emotion/styled"));
8
+ var _base = _interopRequireDefault(require("@emotion/styled/base"));
9
9
  var _tune = require("@material-design-icons/svg/round/tune.svg");
10
- var Icon = /*#__PURE__*/(0, _styled.default)(_tune.ReactComponent, {
11
- label: "Icon",
10
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
11
+ var Icon = exports.Icon = /*#__PURE__*/(0, _base.default)(_tune.ReactComponent, process.env.NODE_ENV === "production" ? {
12
12
  target: "e1d9dodm0"
13
- })("fill:var(--mdc-theme-primary);width:18px;margin-left:8px;");
14
- exports.Icon = Icon;
13
+ } : {
14
+ target: "e1d9dodm0",
15
+ label: "Icon"
16
+ })(process.env.NODE_ENV === "production" ? {
17
+ name: "q40t9c",
18
+ styles: "fill:var(--mdc-theme-primary);width:18px;margin-left:8px"
19
+ } : {
20
+ name: "q40t9c",
21
+ styles: "fill:var(--mdc-theme-primary);width:18px;margin-left:8px",
22
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkJ1dHRvbi5zdHlsZWQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUd3QyIsImZpbGUiOiJCdXR0b24uc3R5bGVkLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgU2V0dGluZ3NJY29uIH0gZnJvbSBcIkBtYXRlcmlhbC1kZXNpZ24taWNvbnMvc3ZnL3JvdW5kL3R1bmUuc3ZnXCI7XG5cbmV4cG9ydCBjb25zdCBJY29uID0gc3R5bGVkKFNldHRpbmdzSWNvbilgXG4gICAgZmlsbDogdmFyKC0tbWRjLXRoZW1lLXByaW1hcnkpO1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG5gO1xuIl19 */",
23
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
24
+ });
15
25
 
16
26
  //# sourceMappingURL=Button.styled.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_styled","_interopRequireDefault","require","_tune","Icon","styled","SettingsIcon","label","target","exports"],"sources":["Button.styled.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\nimport { ReactComponent as SettingsIcon } from \"@material-design-icons/svg/round/tune.svg\";\n\nexport const Icon = styled(SettingsIcon)`\n fill: var(--mdc-theme-primary);\n width: 18px;\n margin-left: 8px;\n`;\n"],"mappings":";;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAEO,IAAME,IAAI,oBAAGC,eAAM,EAACC,oBAAY;EAAAC,KAAA;EAAAC,MAAA;AAAA,+DAItC;AAACC,OAAA,CAAAL,IAAA,GAAAA,IAAA"}
1
+ {"version":3,"names":["_tune","require","_EMOTION_STRINGIFIED_CSS_ERROR__","Icon","exports","_base","default","SettingsIcon","process","env","NODE_ENV","target","label","name","styles","map","toString"],"sources":["Button.styled.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\nimport { ReactComponent as SettingsIcon } from \"@material-design-icons/svg/round/tune.svg\";\n\nexport const Icon = styled(SettingsIcon)`\n fill: var(--mdc-theme-primary);\n width: 18px;\n margin-left: 8px;\n`;\n"],"mappings":";;;;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AAA2F,SAAAC,iCAAA;AAEpF,IAAMC,IAAI,GAAAC,OAAA,CAAAD,IAAA,gBAAG,IAAAE,KAAA,CAAAC,OAAA,EAAOC,oBAAY,EAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,MAAA;AAAA;EAAAA,MAAA;EAAAC,KAAA;AAAA,EAAC,CAAAJ,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAG,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAd;AAAA,EAIvC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_Button","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["index.tsx"],"sourcesContent":["export * from \"./Button\";\n"],"mappings":";;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,OAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,OAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,OAAA,CAAAK,GAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"names":["_Button","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["index.tsx"],"sourcesContent":["export * from \"./Button\";\n"],"mappings":";;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,OAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,OAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,OAAA,CAAAK,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -1,6 +1,6 @@
1
- /// <reference types="react" />
1
+ import React from "react";
2
2
  export interface FeedbackProps {
3
3
  isOpen: boolean;
4
4
  message: string;
5
5
  }
6
- export declare const Feedback: (props: FeedbackProps) => JSX.Element;
6
+ export declare const Feedback: (props: FeedbackProps) => React.JSX.Element;
@@ -7,12 +7,11 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.Feedback = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _Snackbar = require("@webiny/ui/Snackbar");
10
- var Feedback = function Feedback(props) {
10
+ var Feedback = exports.Feedback = function Feedback(props) {
11
11
  return /*#__PURE__*/_react.default.createElement(_Snackbar.Snackbar, {
12
12
  open: props.isOpen,
13
13
  message: props.message
14
14
  });
15
15
  };
16
- exports.Feedback = Feedback;
17
16
 
18
17
  //# sourceMappingURL=Feedback.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_Snackbar","Feedback","props","default","createElement","Snackbar","open","isOpen","message","exports"],"sources":["Feedback.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { Snackbar } from \"@webiny/ui/Snackbar\";\n\nexport interface FeedbackProps {\n isOpen: boolean;\n message: string;\n}\n\nexport const Feedback = (props: FeedbackProps) => {\n return <Snackbar open={props.isOpen} message={props.message} />;\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAD,OAAA;AAOO,IAAME,QAAQ,GAAG,SAAXA,QAAQA,CAAIC,KAAoB,EAAK;EAC9C,oBAAOL,MAAA,CAAAM,OAAA,CAAAC,aAAA,CAACJ,SAAA,CAAAK,QAAQ;IAACC,IAAI,EAAEJ,KAAK,CAACK,MAAO;IAACC,OAAO,EAAEN,KAAK,CAACM;EAAQ,CAAE,CAAC;AACnE,CAAC;AAACC,OAAA,CAAAR,QAAA,GAAAA,QAAA"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_Snackbar","Feedback","exports","props","default","createElement","Snackbar","open","isOpen","message"],"sources":["Feedback.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { Snackbar } from \"@webiny/ui/Snackbar\";\n\nexport interface FeedbackProps {\n isOpen: boolean;\n message: string;\n}\n\nexport const Feedback = (props: FeedbackProps) => {\n return <Snackbar open={props.isOpen} message={props.message} />;\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAD,OAAA;AAOO,IAAME,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAG,SAAXA,QAAQA,CAAIE,KAAoB,EAAK;EAC9C,oBAAON,MAAA,CAAAO,OAAA,CAAAC,aAAA,CAACL,SAAA,CAAAM,QAAQ;IAACC,IAAI,EAAEJ,KAAK,CAACK,MAAO;IAACC,OAAO,EAAEN,KAAK,CAACM;EAAQ,CAAE,CAAC;AACnE,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_Feedback","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["index.tsx"],"sourcesContent":["export * from \"./Feedback\";\n"],"mappings":";;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,SAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,SAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,SAAA,CAAAK,GAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"names":["_Feedback","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["index.tsx"],"sourcesContent":["export * from \"./Feedback\";\n"],"mappings":";;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,SAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,SAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,SAAA,CAAAK,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -1,11 +1,15 @@
1
1
  import { FilterDTO } from "./domain";
2
+ interface NestedObject {
3
+ [key: string]: string | boolean | NestedObject;
4
+ }
2
5
  export declare class GraphQLInputMapper {
3
6
  static toGraphQL(configuration: FilterDTO): {
4
7
  [x: string]: {
5
- [x: string]: {
6
- [x: string]: string | boolean;
7
- }[];
8
+ [x: string]: NestedObject[];
8
9
  }[];
9
10
  };
10
11
  private static convertToBooleanOrString;
12
+ private static createKeys;
13
+ private static createNestedObject;
11
14
  }
15
+ export {};
@@ -8,11 +8,12 @@ exports.GraphQLInputMapper = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
9
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
10
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
- var GraphQLInputMapper = /*#__PURE__*/function () {
11
+ var _get = _interopRequireDefault(require("lodash/get"));
12
+ var GraphQLInputMapper = exports.GraphQLInputMapper = /*#__PURE__*/function () {
12
13
  function GraphQLInputMapper() {
13
14
  (0, _classCallCheck2.default)(this, GraphQLInputMapper);
14
15
  }
15
- (0, _createClass2.default)(GraphQLInputMapper, null, [{
16
+ return (0, _createClass2.default)(GraphQLInputMapper, null, [{
16
17
  key: "toGraphQL",
17
18
  value: function toGraphQL(configuration) {
18
19
  var _this = this;
@@ -21,8 +22,17 @@ var GraphQLInputMapper = /*#__PURE__*/function () {
21
22
  var field = filter.field,
22
23
  condition = filter.condition,
23
24
  value = filter.value;
24
- var key = "".concat(field).concat(condition).trim();
25
- return (0, _defineProperty2.default)({}, key, _this.convertToBooleanOrString(value));
25
+ var keys = field.trim().split(".");
26
+ keys.shift();
27
+ if (keys.length === 0) {
28
+ return _this.createNestedObject(_this.createKeys(field, condition), _this.convertToBooleanOrString(value));
29
+ }
30
+ try {
31
+ var values = JSON.parse(value);
32
+ return _this.createNestedObject(_this.createKeys(field, condition), _this.convertToBooleanOrString((0, _get.default)(values, keys)));
33
+ } catch (_unused) {
34
+ return _this.createNestedObject(_this.createKeys(field, condition), _this.convertToBooleanOrString(value));
35
+ }
26
36
  }));
27
37
  }));
28
38
  }
@@ -37,9 +47,19 @@ var GraphQLInputMapper = /*#__PURE__*/function () {
37
47
  }
38
48
  return value ?? "";
39
49
  }
50
+ }, {
51
+ key: "createKeys",
52
+ value: function createKeys(field, condition) {
53
+ return "".concat(field).concat(condition).trim().split(".");
54
+ }
55
+ }, {
56
+ key: "createNestedObject",
57
+ value: function createNestedObject(keys, value) {
58
+ return keys.reduceRight(function (acc, key) {
59
+ return (0, _defineProperty2.default)({}, key, acc);
60
+ }, value);
61
+ }
40
62
  }]);
41
- return GraphQLInputMapper;
42
63
  }();
43
- exports.GraphQLInputMapper = GraphQLInputMapper;
44
64
 
45
65
  //# sourceMappingURL=GraphQLInputMapper.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["GraphQLInputMapper","_classCallCheck2","default","_createClass2","key","value","toGraphQL","configuration","_this","_defineProperty2","operation","groups","map","group","filters","filter","field","condition","concat","trim","convertToBooleanOrString","exports"],"sources":["GraphQLInputMapper.ts"],"sourcesContent":["import { FilterDTO } from \"~/components/AdvancedSearch/domain\";\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 const key = `${field}${condition}`.trim();\n\n return { [key]: this.convertToBooleanOrString(value) };\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"],"mappings":";;;;;;;;;;IAEaA,kBAAkB;EAAA,SAAAA,mBAAA;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAF,kBAAA;EAAA;EAAA,IAAAG,aAAA,CAAAD,OAAA,EAAAF,kBAAA;IAAAI,GAAA;IAAAC,KAAA,EAC3B,SAAAC,UAAiBC,aAAwB,EAAE;MAAA,IAAAC,KAAA;MACvC,WAAAC,gBAAA,CAAAP,OAAA,MACKK,aAAa,CAACG,SAAS,EAAGH,aAAa,CAACI,MAAM,CAACC,GAAG,CAAC,UAAAC,KAAK,EAAI;QACzD,WAAAJ,gBAAA,CAAAP,OAAA,MACKW,KAAK,CAACH,SAAS,EAAGG,KAAK,CAACC,OAAO,CAACF,GAAG,CAAC,UAAAG,MAAM,EAAI;UAC3C,IAAQC,KAAK,GAAuBD,MAAM,CAAlCC,KAAK;YAAEC,SAAS,GAAYF,MAAM,CAA3BE,SAAS;YAAEZ,KAAK,GAAKU,MAAM,CAAhBV,KAAK;UAC/B,IAAMD,GAAG,GAAG,GAAAc,MAAA,CAAGF,KAAK,EAAAE,MAAA,CAAGD,SAAS,EAAGE,IAAI,CAAC,CAAC;UAEzC,WAAAV,gBAAA,CAAAP,OAAA,MAAUE,GAAG,EAAGI,KAAI,CAACY,wBAAwB,CAACf,KAAK,CAAC;QACxD,CAAC,CAAC;MAEV,CAAC,CAAC;IAEV;EAAC;IAAAD,GAAA;IAAAC,KAAA,EAED,SAAAe,yBAAwCf,KAAuB,EAAoB;MAC/E,IAAIA,KAAK,KAAK,MAAM,EAAE;QAClB,OAAO,IAAI;MACf;MAEA,IAAIA,KAAK,KAAK,OAAO,EAAE;QACnB,OAAO,KAAK;MAChB;MAEA,OAAOA,KAAK,IAAI,EAAE;IACtB;EAAC;EAAA,OAAAL,kBAAA;AAAA;AAAAqB,OAAA,CAAArB,kBAAA,GAAAA,kBAAA"}
1
+ {"version":3,"names":["_get","_interopRequireDefault","require","GraphQLInputMapper","exports","_classCallCheck2","default","_createClass2","key","value","toGraphQL","configuration","_this","_defineProperty2","operation","groups","map","group","filters","filter","field","condition","keys","trim","split","shift","length","createNestedObject","createKeys","convertToBooleanOrString","values","JSON","parse","get","_unused","concat","reduceRight","acc"],"sources":["GraphQLInputMapper.ts"],"sourcesContent":["import get from \"lodash/get\";\nimport { 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,IAAAA,IAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA6B,IAOhBC,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA;EAAA,SAAAA,mBAAA;IAAA,IAAAE,gBAAA,CAAAC,OAAA,QAAAH,kBAAA;EAAA;EAAA,WAAAI,aAAA,CAAAD,OAAA,EAAAH,kBAAA;IAAAK,GAAA;IAAAC,KAAA,EAC3B,SAAAC,UAAiBC,aAAwB,EAAE;MAAA,IAAAC,KAAA;MACvC,WAAAC,gBAAA,CAAAP,OAAA,MACKK,aAAa,CAACG,SAAS,EAAGH,aAAa,CAACI,MAAM,CAACC,GAAG,CAAC,UAAAC,KAAK,EAAI;QACzD,WAAAJ,gBAAA,CAAAP,OAAA,MACKW,KAAK,CAACH,SAAS,EAAGG,KAAK,CAACC,OAAO,CAACF,GAAG,CAAC,UAAAG,MAAM,EAAI;UAC3C,IAAQC,KAAK,GAAuBD,MAAM,CAAlCC,KAAK;YAAEC,SAAS,GAAYF,MAAM,CAA3BE,SAAS;YAAEZ,KAAK,GAAKU,MAAM,CAAhBV,KAAK;UAE/B,IAAMa,IAAI,GAAGF,KAAK,CAACG,IAAI,CAAC,CAAC,CAACC,KAAK,CAAC,GAAG,CAAC;UACpCF,IAAI,CAACG,KAAK,CAAC,CAAC;UAEZ,IAAIH,IAAI,CAACI,MAAM,KAAK,CAAC,EAAE;YACnB,OAAOd,KAAI,CAACe,kBAAkB,CAC1Bf,KAAI,CAACgB,UAAU,CAACR,KAAK,EAAEC,SAAS,CAAC,EACjCT,KAAI,CAACiB,wBAAwB,CAACpB,KAAK,CACvC,CAAC;UACL;UAEA,IAAI;YACA,IAAMqB,MAAM,GAAGC,IAAI,CAACC,KAAK,CAACvB,KAAK,CAAC;YAChC,OAAOG,KAAI,CAACe,kBAAkB,CAC1Bf,KAAI,CAACgB,UAAU,CAACR,KAAK,EAAEC,SAAS,CAAC,EACjCT,KAAI,CAACiB,wBAAwB,CAAC,IAAAI,YAAG,EAACH,MAAM,EAAER,IAAI,CAAC,CACnD,CAAC;UACL,CAAC,CAAC,OAAAY,OAAA,EAAM;YACJ,OAAOtB,KAAI,CAACe,kBAAkB,CAC1Bf,KAAI,CAACgB,UAAU,CAACR,KAAK,EAAEC,SAAS,CAAC,EACjCT,KAAI,CAACiB,wBAAwB,CAACpB,KAAK,CACvC,CAAC;UACL;QACJ,CAAC,CAAC;MAEV,CAAC,CAAC;IAEV;EAAC;IAAAD,GAAA;IAAAC,KAAA,EAED,SAAAoB,yBAAwCpB,KAAuB,EAAoB;MAC/E,IAAIA,KAAK,KAAK,MAAM,EAAE;QAClB,OAAO,IAAI;MACf;MAEA,IAAIA,KAAK,KAAK,OAAO,EAAE;QACnB,OAAO,KAAK;MAChB;MAEA,OAAOA,KAAK,IAAI,EAAE;IACtB;EAAC;IAAAD,GAAA;IAAAC,KAAA,EAED,SAAAmB,WAA0BR,KAAa,EAAEC,SAAiB,EAAY;MAClE,OAAO,GAAAc,MAAA,CAAGf,KAAK,EAAAe,MAAA,CAAGd,SAAS,EAAGE,IAAI,CAAC,CAAC,CAACC,KAAK,CAAC,GAAG,CAAC;IACnD;EAAC;IAAAhB,GAAA;IAAAC,KAAA,EAED,SAAAkB,mBAAkCL,IAAc,EAAEb,KAAuB,EAAgB;MACrF,OAAOa,IAAI,CAACc,WAAW,CAAC,UAACC,GAAG,EAAE7B,GAAG;QAAA,WAAAK,gBAAA,CAAAP,OAAA,MAASE,GAAG,EAAG6B,GAAG;MAAA,CAAG,EAAE5B,KAAgC,CAAC;IAC7F;EAAC;AAAA","ignoreList":[]}
@@ -57,6 +57,83 @@ describe("GraphQLInputMapper", function () {
57
57
  "boolean-field-false": false
58
58
  }])]));
59
59
  });
60
+ it("should return a GraphQL formatted output and support nested objects", function () {
61
+ var filterDTO = {
62
+ id: "any-id",
63
+ name: "Untitled",
64
+ operation: _domain.Operation.AND,
65
+ groups: [{
66
+ operation: _domain.Operation.AND,
67
+ filters: [{
68
+ field: "field-1",
69
+ condition: " ",
70
+ value: "value-1"
71
+ }, {
72
+ field: "field-2",
73
+ condition: "_not",
74
+ value: "value-2"
75
+ }, {
76
+ field: "field-3.entryId",
77
+ condition: " ",
78
+ value: JSON.stringify({
79
+ entryId: "value-3",
80
+ modelId: "any-modelId"
81
+ })
82
+ }, {
83
+ field: "field-4.entryId",
84
+ condition: "_not",
85
+ value: JSON.stringify({
86
+ entryId: "value-4",
87
+ modelId: "any-modelId"
88
+ })
89
+ }, {
90
+ field: "field-5.sub-field.entryId",
91
+ condition: " ",
92
+ value: JSON.stringify({
93
+ "sub-field": {
94
+ entryId: "value-5",
95
+ modelId: "any-modelId"
96
+ }
97
+ })
98
+ }, {
99
+ field: "field-6.sub-field.entryId",
100
+ condition: "_not",
101
+ value: JSON.stringify({
102
+ "sub-field": {
103
+ entryId: "value-6",
104
+ modelId: "any-modelId"
105
+ }
106
+ })
107
+ }]
108
+ }]
109
+ };
110
+ var output = _GraphQLInputMapper.GraphQLInputMapper.toGraphQL(filterDTO);
111
+ expect(output).toEqual((0, _defineProperty2.default)({}, _domain.Operation.AND, [(0, _defineProperty2.default)({}, _domain.Operation.AND, [{
112
+ "field-1": "value-1"
113
+ }, {
114
+ "field-2_not": "value-2"
115
+ }, {
116
+ "field-3": {
117
+ entryId: "value-3"
118
+ }
119
+ }, {
120
+ "field-4": {
121
+ entryId_not: "value-4"
122
+ }
123
+ }, {
124
+ "field-5": {
125
+ "sub-field": {
126
+ entryId: "value-5"
127
+ }
128
+ }
129
+ }, {
130
+ "field-6": {
131
+ "sub-field": {
132
+ entryId_not: "value-6"
133
+ }
134
+ }
135
+ }])]));
136
+ });
60
137
  });
61
138
 
62
139
  //# sourceMappingURL=GraphQLInputMapper.test.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_GraphQLInputMapper","require","_domain","describe","it","filterDTO","id","name","operation","Operation","AND","groups","filters","field","condition","value","OR","output","GraphQLInputMapper","toGraphQL","expect","toEqual","_defineProperty2","default"],"sources":["GraphQLInputMapper.test.ts"],"sourcesContent":["import { GraphQLInputMapper } from \"./GraphQLInputMapper\";\nimport { Operation, FilterDTO } from \"./domain\";\n\ndescribe(\"GraphQLInputMapper\", () => {\n it(\"should return a GraphQL formatted output based on the received FilterDTO\", () => {\n const filterDTO: FilterDTO = {\n id: \"any-id\",\n name: \"Untitled\",\n operation: Operation.AND,\n groups: [\n {\n operation: Operation.AND,\n filters: [\n {\n field: \"field-1\",\n condition: \" \",\n value: \"value-1\"\n },\n {\n field: \"field-2\",\n condition: \"_not\",\n value: \"value-2\"\n }\n ]\n },\n {\n operation: Operation.OR,\n filters: [\n {\n field: \"field-3\",\n condition: \"_startsWith\",\n value: \"value-3\"\n },\n {\n field: \"field-4\",\n condition: \"_not_contains\",\n value: \"value-4\"\n },\n {\n field: \"boolean-field-true\",\n condition: \" \",\n value: \"true\"\n },\n {\n field: \"boolean-field-false\",\n condition: \" \",\n value: \"false\"\n }\n ]\n }\n ]\n };\n\n const output = GraphQLInputMapper.toGraphQL(filterDTO);\n\n expect(output).toEqual({\n [Operation.AND]: [\n {\n [Operation.AND]: [\n {\n \"field-1\": \"value-1\"\n },\n {\n \"field-2_not\": \"value-2\"\n }\n ]\n },\n {\n [Operation.OR]: [\n {\n \"field-3_startsWith\": \"value-3\"\n },\n {\n \"field-4_not_contains\": \"value-4\"\n },\n {\n \"boolean-field-true\": true\n },\n {\n \"boolean-field-false\": false\n }\n ]\n }\n ]\n });\n });\n});\n"],"mappings":";;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEAE,QAAQ,CAAC,oBAAoB,EAAE,YAAM;EACjCC,EAAE,CAAC,0EAA0E,EAAE,YAAM;IACjF,IAAMC,SAAoB,GAAG;MACzBC,EAAE,EAAE,QAAQ;MACZC,IAAI,EAAE,UAAU;MAChBC,SAAS,EAAEC,iBAAS,CAACC,GAAG;MACxBC,MAAM,EAAE,CACJ;QACIH,SAAS,EAAEC,iBAAS,CAACC,GAAG;QACxBE,OAAO,EAAE,CACL;UACIC,KAAK,EAAE,SAAS;UAChBC,SAAS,EAAE,GAAG;UACdC,KAAK,EAAE;QACX,CAAC,EACD;UACIF,KAAK,EAAE,SAAS;UAChBC,SAAS,EAAE,MAAM;UACjBC,KAAK,EAAE;QACX,CAAC;MAET,CAAC,EACD;QACIP,SAAS,EAAEC,iBAAS,CAACO,EAAE;QACvBJ,OAAO,EAAE,CACL;UACIC,KAAK,EAAE,SAAS;UAChBC,SAAS,EAAE,aAAa;UACxBC,KAAK,EAAE;QACX,CAAC,EACD;UACIF,KAAK,EAAE,SAAS;UAChBC,SAAS,EAAE,eAAe;UAC1BC,KAAK,EAAE;QACX,CAAC,EACD;UACIF,KAAK,EAAE,oBAAoB;UAC3BC,SAAS,EAAE,GAAG;UACdC,KAAK,EAAE;QACX,CAAC,EACD;UACIF,KAAK,EAAE,qBAAqB;UAC5BC,SAAS,EAAE,GAAG;UACdC,KAAK,EAAE;QACX,CAAC;MAET,CAAC;IAET,CAAC;IAED,IAAME,MAAM,GAAGC,sCAAkB,CAACC,SAAS,CAACd,SAAS,CAAC;IAEtDe,MAAM,CAACH,MAAM,CAAC,CAACI,OAAO,KAAAC,gBAAA,CAAAC,OAAA,MACjBd,iBAAS,CAACC,GAAG,EAAG,KAAAY,gBAAA,CAAAC,OAAA,MAERd,iBAAS,CAACC,GAAG,EAAG,CACb;MACI,SAAS,EAAE;IACf,CAAC,EACD;MACI,aAAa,EAAE;IACnB,CAAC,CACJ,OAAAY,gBAAA,CAAAC,OAAA,MAGAd,iBAAS,CAACO,EAAE,EAAG,CACZ;MACI,oBAAoB,EAAE;IAC1B,CAAC,EACD;MACI,sBAAsB,EAAE;IAC5B,CAAC,EACD;MACI,oBAAoB,EAAE;IAC1B,CAAC,EACD;MACI,qBAAqB,EAAE;IAC3B,CAAC,CACJ,EAER,CACJ,CAAC;EACN,CAAC,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"names":["_GraphQLInputMapper","require","_domain","describe","it","filterDTO","id","name","operation","Operation","AND","groups","filters","field","condition","value","OR","output","GraphQLInputMapper","toGraphQL","expect","toEqual","_defineProperty2","default","JSON","stringify","entryId","modelId","entryId_not"],"sources":["GraphQLInputMapper.test.ts"],"sourcesContent":["import { GraphQLInputMapper } from \"./GraphQLInputMapper\";\nimport { Operation, FilterDTO } from \"./domain\";\n\ndescribe(\"GraphQLInputMapper\", () => {\n it(\"should return a GraphQL formatted output based on the received FilterDTO\", () => {\n const filterDTO: FilterDTO = {\n id: \"any-id\",\n name: \"Untitled\",\n operation: Operation.AND,\n groups: [\n {\n operation: Operation.AND,\n filters: [\n {\n field: \"field-1\",\n condition: \" \",\n value: \"value-1\"\n },\n {\n field: \"field-2\",\n condition: \"_not\",\n value: \"value-2\"\n }\n ]\n },\n {\n operation: Operation.OR,\n filters: [\n {\n field: \"field-3\",\n condition: \"_startsWith\",\n value: \"value-3\"\n },\n {\n field: \"field-4\",\n condition: \"_not_contains\",\n value: \"value-4\"\n },\n {\n field: \"boolean-field-true\",\n condition: \" \",\n value: \"true\"\n },\n {\n field: \"boolean-field-false\",\n condition: \" \",\n value: \"false\"\n }\n ]\n }\n ]\n };\n\n const output = GraphQLInputMapper.toGraphQL(filterDTO);\n\n expect(output).toEqual({\n [Operation.AND]: [\n {\n [Operation.AND]: [\n {\n \"field-1\": \"value-1\"\n },\n {\n \"field-2_not\": \"value-2\"\n }\n ]\n },\n {\n [Operation.OR]: [\n {\n \"field-3_startsWith\": \"value-3\"\n },\n {\n \"field-4_not_contains\": \"value-4\"\n },\n {\n \"boolean-field-true\": true\n },\n {\n \"boolean-field-false\": false\n }\n ]\n }\n ]\n });\n });\n\n it(\"should return a GraphQL formatted output and support nested objects\", () => {\n const filterDTO: FilterDTO = {\n id: \"any-id\",\n name: \"Untitled\",\n operation: Operation.AND,\n groups: [\n {\n operation: Operation.AND,\n filters: [\n {\n field: \"field-1\",\n condition: \" \",\n value: \"value-1\"\n },\n {\n field: \"field-2\",\n condition: \"_not\",\n value: \"value-2\"\n },\n {\n field: \"field-3.entryId\",\n condition: \" \",\n value: JSON.stringify({ entryId: \"value-3\", modelId: \"any-modelId\" })\n },\n {\n field: \"field-4.entryId\",\n condition: \"_not\",\n value: JSON.stringify({ entryId: \"value-4\", modelId: \"any-modelId\" })\n },\n {\n field: \"field-5.sub-field.entryId\",\n condition: \" \",\n value: JSON.stringify({\n \"sub-field\": { entryId: \"value-5\", modelId: \"any-modelId\" }\n })\n },\n {\n field: \"field-6.sub-field.entryId\",\n condition: \"_not\",\n value: JSON.stringify({\n \"sub-field\": { entryId: \"value-6\", modelId: \"any-modelId\" }\n })\n }\n ]\n }\n ]\n };\n\n const output = GraphQLInputMapper.toGraphQL(filterDTO);\n\n expect(output).toEqual({\n [Operation.AND]: [\n {\n [Operation.AND]: [\n {\n \"field-1\": \"value-1\"\n },\n {\n \"field-2_not\": \"value-2\"\n },\n {\n \"field-3\": {\n entryId: \"value-3\"\n }\n },\n {\n \"field-4\": {\n entryId_not: \"value-4\"\n }\n },\n {\n \"field-5\": {\n \"sub-field\": {\n entryId: \"value-5\"\n }\n }\n },\n {\n \"field-6\": {\n \"sub-field\": {\n entryId_not: \"value-6\"\n }\n }\n }\n ]\n }\n ]\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -5,5 +5,5 @@ interface FooterProps {
5
5
  formRef: React.RefObject<FormAPI>;
6
6
  onSave: () => void;
7
7
  }
8
- export declare const Footer: (props: FooterProps) => JSX.Element;
8
+ export declare const Footer: (props: FooterProps) => React.JSX.Element;
9
9
  export {};
@@ -8,7 +8,7 @@ exports.Footer = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _Button = require("@webiny/ui/Button");
10
10
  var _QueryBuilderDrawer = require("./QueryBuilderDrawer.styled");
11
- var Footer = function Footer(props) {
11
+ var Footer = exports.Footer = function Footer(props) {
12
12
  return /*#__PURE__*/_react.default.createElement(_QueryBuilderDrawer.SimpleFormFooter, null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_Button.ButtonDefault, {
13
13
  onClick: props.onSave
14
14
  }, "Save filter")), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_Button.ButtonDefault, {
@@ -19,6 +19,5 @@ var Footer = function Footer(props) {
19
19
  }
20
20
  }, "Apply filter")));
21
21
  };
22
- exports.Footer = Footer;
23
22
 
24
23
  //# sourceMappingURL=Footer.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_Button","_QueryBuilderDrawer","Footer","props","default","createElement","SimpleFormFooter","ButtonDefault","onClick","onSave","onClose","ButtonPrimary","formRef","current","submit","exports"],"sources":["Footer.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { FormAPI } from \"@webiny/form\";\nimport { ButtonDefault, ButtonPrimary } from \"@webiny/ui/Button\";\n\nimport { SimpleFormFooter } from \"./QueryBuilderDrawer.styled\";\n\ninterface FooterProps {\n onClose: () => void;\n formRef: React.RefObject<FormAPI>;\n onSave: () => void;\n}\n\nexport const Footer = (props: FooterProps) => {\n return (\n <SimpleFormFooter>\n <div>\n <ButtonDefault onClick={props.onSave}>Save filter</ButtonDefault>\n </div>\n <div>\n <ButtonDefault onClick={props.onClose}>Cancel</ButtonDefault>\n <ButtonPrimary onClick={() => props.formRef.current?.submit()}>\n Apply filter\n </ButtonPrimary>\n </div>\n </SimpleFormFooter>\n );\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,mBAAA,GAAAF,OAAA;AAQO,IAAMG,MAAM,GAAG,SAATA,MAAMA,CAAIC,KAAkB,EAAK;EAC1C,oBACIN,MAAA,CAAAO,OAAA,CAAAC,aAAA,CAACJ,mBAAA,CAAAK,gBAAgB,qBACbT,MAAA,CAAAO,OAAA,CAAAC,aAAA,2BACIR,MAAA,CAAAO,OAAA,CAAAC,aAAA,CAACL,OAAA,CAAAO,aAAa;IAACC,OAAO,EAAEL,KAAK,CAACM;EAAO,GAAC,aAA0B,CAC/D,CAAC,eACNZ,MAAA,CAAAO,OAAA,CAAAC,aAAA,2BACIR,MAAA,CAAAO,OAAA,CAAAC,aAAA,CAACL,OAAA,CAAAO,aAAa;IAACC,OAAO,EAAEL,KAAK,CAACO;EAAQ,GAAC,QAAqB,CAAC,eAC7Db,MAAA,CAAAO,OAAA,CAAAC,aAAA,CAACL,OAAA,CAAAW,aAAa;IAACH,OAAO,EAAE,SAAAA,QAAA;MAAA,OAAML,KAAK,CAACS,OAAO,CAACC,OAAO,EAAEC,MAAM,CAAC,CAAC;IAAA;EAAC,GAAC,cAEhD,CACd,CACS,CAAC;AAE3B,CAAC;AAACC,OAAA,CAAAb,MAAA,GAAAA,MAAA"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_Button","_QueryBuilderDrawer","Footer","exports","props","default","createElement","SimpleFormFooter","ButtonDefault","onClick","onSave","onClose","ButtonPrimary","formRef","current","submit"],"sources":["Footer.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { FormAPI } from \"@webiny/form\";\nimport { ButtonDefault, ButtonPrimary } from \"@webiny/ui/Button\";\n\nimport { SimpleFormFooter } from \"./QueryBuilderDrawer.styled\";\n\ninterface FooterProps {\n onClose: () => void;\n formRef: React.RefObject<FormAPI>;\n onSave: () => void;\n}\n\nexport const Footer = (props: FooterProps) => {\n return (\n <SimpleFormFooter>\n <div>\n <ButtonDefault onClick={props.onSave}>Save filter</ButtonDefault>\n </div>\n <div>\n <ButtonDefault onClick={props.onClose}>Cancel</ButtonDefault>\n <ButtonPrimary onClick={() => props.formRef.current?.submit()}>\n Apply filter\n </ButtonPrimary>\n </div>\n </SimpleFormFooter>\n );\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,mBAAA,GAAAF,OAAA;AAQO,IAAMG,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAG,SAATA,MAAMA,CAAIE,KAAkB,EAAK;EAC1C,oBACIP,MAAA,CAAAQ,OAAA,CAAAC,aAAA,CAACL,mBAAA,CAAAM,gBAAgB,qBACbV,MAAA,CAAAQ,OAAA,CAAAC,aAAA,2BACIT,MAAA,CAAAQ,OAAA,CAAAC,aAAA,CAACN,OAAA,CAAAQ,aAAa;IAACC,OAAO,EAAEL,KAAK,CAACM;EAAO,GAAC,aAA0B,CAC/D,CAAC,eACNb,MAAA,CAAAQ,OAAA,CAAAC,aAAA,2BACIT,MAAA,CAAAQ,OAAA,CAAAC,aAAA,CAACN,OAAA,CAAAQ,aAAa;IAACC,OAAO,EAAEL,KAAK,CAACO;EAAQ,GAAC,QAAqB,CAAC,eAC7Dd,MAAA,CAAAQ,OAAA,CAAAC,aAAA,CAACN,OAAA,CAAAY,aAAa;IAACH,OAAO,EAAE,SAAAA,QAAA;MAAA,OAAML,KAAK,CAACS,OAAO,CAACC,OAAO,EAAEC,MAAM,CAAC,CAAC;IAAA;EAAC,GAAC,cAEhD,CACd,CACS,CAAC;AAE3B,CAAC","ignoreList":[]}