@webiny/app-website-builder 0.0.0-unstable.fdd9228b5d → 6.0.0-alpha.1

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 (373) hide show
  1. package/BaseEditor/defaultConfig/Sidebar/InheritanceLabel.js +3 -12
  2. package/BaseEditor/defaultConfig/Sidebar/InheritanceLabel.js.map +1 -1
  3. package/Extension.js +26 -10
  4. package/Extension.js.map +1 -1
  5. package/constants.d.ts +6 -3
  6. package/constants.js +6 -3
  7. package/constants.js.map +1 -1
  8. package/domain/Redirect/RedirectDto.d.ts +5 -0
  9. package/domain/Redirect/RedirectDto.js +6 -1
  10. package/domain/Redirect/RedirectDto.js.map +1 -1
  11. package/features/redirects/getRedirect/index.d.ts +1 -0
  12. package/features/redirects/getRedirect/index.js +3 -0
  13. package/features/redirects/getRedirect/index.js.map +1 -0
  14. package/features/redirects/getRedirect/useGetRedirect.d.ts +5 -0
  15. package/features/redirects/getRedirect/useGetRedirect.js +18 -0
  16. package/features/redirects/getRedirect/useGetRedirect.js.map +1 -0
  17. package/features/redirects/index.d.ts +1 -0
  18. package/features/redirects/index.js +1 -0
  19. package/features/redirects/index.js.map +1 -1
  20. package/features/redirects/loadRedirects/ListRedirectsGqlGateway.js +1 -2
  21. package/features/redirects/loadRedirects/ListRedirectsGqlGateway.js.map +1 -1
  22. package/features/redirects/selectRedirects/SelectRedirects.js +2 -1
  23. package/features/redirects/selectRedirects/SelectRedirects.js.map +1 -1
  24. package/index.d.ts +3 -1
  25. package/index.js +3 -1
  26. package/index.js.map +1 -1
  27. package/modules/pages/PageEditor/TopBar/PublishButton.js +2 -2
  28. package/modules/pages/PageEditor/TopBar/PublishButton.js.map +1 -1
  29. package/modules/pages/PageEditor/TopBar/RevisionsMenu.js +2 -2
  30. package/modules/pages/PageEditor/TopBar/RevisionsMenu.js.map +1 -1
  31. package/modules/pages/PageEditor.js +2 -2
  32. package/modules/pages/PageEditor.js.map +1 -1
  33. package/modules/pages/PageList.js +3 -3
  34. package/modules/pages/PageList.js.map +1 -1
  35. package/modules/pages/PagesList/NavigateFolderProvider.js +3 -3
  36. package/modules/pages/PagesList/NavigateFolderProvider.js.map +1 -1
  37. package/modules/pages/PagesList/PagesList.d.ts +2 -0
  38. package/modules/pages/PagesList/PagesList.js +13 -0
  39. package/modules/pages/PagesList/PagesList.js.map +1 -0
  40. package/modules/pages/PagesList/components/BulkActions/BulkActionDelete.js +1 -1
  41. package/modules/pages/PagesList/components/BulkActions/BulkActionDelete.js.map +1 -1
  42. package/modules/pages/PagesList/components/BulkActions/BulkActionDuplicate.js +1 -1
  43. package/modules/pages/PagesList/components/BulkActions/BulkActionDuplicate.js.map +1 -1
  44. package/modules/pages/PagesList/components/BulkActions/BulkActionMovePage.js +1 -1
  45. package/modules/pages/PagesList/components/BulkActions/BulkActionMovePage.js.map +1 -1
  46. package/modules/pages/PagesList/components/BulkActions/BulkActionPublish.js +1 -1
  47. package/modules/pages/PagesList/components/BulkActions/BulkActionPublish.js.map +1 -1
  48. package/modules/pages/PagesList/components/BulkActions/BulkActionUnpublish.js +1 -1
  49. package/modules/pages/PagesList/components/BulkActions/BulkActionUnpublish.js.map +1 -1
  50. package/modules/pages/PagesList/components/BulkActions/BulkActions.js +1 -1
  51. package/modules/pages/PagesList/components/BulkActions/BulkActions.js.map +1 -1
  52. package/modules/pages/PagesList/components/Filters/Filters.js +1 -1
  53. package/modules/pages/PagesList/components/Filters/Filters.js.map +1 -1
  54. package/modules/pages/PagesList/components/Layout/Layout.js.map +1 -1
  55. package/modules/pages/PagesList/components/Table/Actions/ChangeStatus.js +7 -7
  56. package/modules/pages/PagesList/components/Table/Actions/ChangeStatus.js.map +1 -1
  57. package/modules/pages/PagesList/components/Table/Actions/Delete.js +7 -7
  58. package/modules/pages/PagesList/components/Table/Actions/Delete.js.map +1 -1
  59. package/modules/pages/PagesList/components/Table/Actions/Duplicate.js +8 -8
  60. package/modules/pages/PagesList/components/Table/Actions/Duplicate.js.map +1 -1
  61. package/modules/pages/PagesList/components/Table/Actions/Edit.js +8 -8
  62. package/modules/pages/PagesList/components/Table/Actions/Edit.js.map +1 -1
  63. package/modules/pages/PagesList/components/Table/Actions/Move.js +5 -5
  64. package/modules/pages/PagesList/components/Table/Actions/Move.js.map +1 -1
  65. package/modules/pages/PagesList/components/Table/Cells/CellActions.js +4 -4
  66. package/modules/pages/PagesList/components/Table/Cells/CellActions.js.map +1 -1
  67. package/modules/pages/PagesList/components/Table/Cells/CellAuthor.js +2 -2
  68. package/modules/pages/PagesList/components/Table/Cells/CellAuthor.js.map +1 -1
  69. package/modules/pages/PagesList/components/Table/Cells/CellCreated.js +2 -2
  70. package/modules/pages/PagesList/components/Table/Cells/CellCreated.js.map +1 -1
  71. package/modules/pages/PagesList/components/Table/Cells/CellModified.js +2 -2
  72. package/modules/pages/PagesList/components/Table/Cells/CellModified.js.map +1 -1
  73. package/modules/pages/PagesList/components/Table/Cells/CellName.d.ts +3 -8
  74. package/modules/pages/PagesList/components/Table/Cells/CellName.js +15 -39
  75. package/modules/pages/PagesList/components/Table/Cells/CellName.js.map +1 -1
  76. package/modules/pages/PagesList/components/Table/Cells/CellStatus.js +1 -1
  77. package/modules/pages/PagesList/components/Table/Cells/CellStatus.js.map +1 -1
  78. package/modules/pages/PagesList/components/Table/Table.js +11 -5
  79. package/modules/pages/PagesList/components/Table/Table.js.map +1 -1
  80. package/modules/pages/PagesList/hooks/useDeletePageConfirmationDialog.d.ts +3 -3
  81. package/modules/pages/PagesList/hooks/useDeletePageConfirmationDialog.js +5 -5
  82. package/modules/pages/PagesList/hooks/useDeletePageConfirmationDialog.js.map +1 -1
  83. package/modules/pages/PagesList/hooks/useDuplicatePageConfirmationDialog.d.ts +2 -2
  84. package/modules/pages/PagesList/hooks/useDuplicatePageConfirmationDialog.js +3 -3
  85. package/modules/pages/PagesList/hooks/useDuplicatePageConfirmationDialog.js.map +1 -1
  86. package/modules/pages/PagesList/hooks/useGetEditPageUrl.js +2 -2
  87. package/modules/pages/PagesList/hooks/useGetEditPageUrl.js.map +1 -1
  88. package/modules/pages/PagesList/hooks/useMovePageToFolderDialog.d.ts +2 -2
  89. package/modules/pages/PagesList/hooks/useMovePageToFolderDialog.js +2 -2
  90. package/modules/pages/PagesList/hooks/useMovePageToFolderDialog.js.map +1 -1
  91. package/modules/pages/PagesList/hooks/usePage.d.ts +12 -0
  92. package/modules/pages/PagesList/hooks/usePage.js +9 -0
  93. package/modules/pages/PagesList/hooks/usePage.js.map +1 -0
  94. package/modules/pages/PagesList/hooks/usePublishPageConfirmationDialog.d.ts +2 -2
  95. package/modules/pages/PagesList/hooks/usePublishPageConfirmationDialog.js +3 -3
  96. package/modules/pages/PagesList/hooks/usePublishPageConfirmationDialog.js.map +1 -1
  97. package/modules/pages/PagesList/hooks/useUnpublishPageConfirmationDialog.d.ts +2 -2
  98. package/modules/pages/PagesList/hooks/useUnpublishPageConfirmationDialog.js +3 -3
  99. package/modules/pages/PagesList/hooks/useUnpublishPageConfirmationDialog.js.map +1 -1
  100. package/modules/pages/PagesList/presenters/DocumentListPresenter.d.ts +3 -4
  101. package/modules/pages/PagesList/presenters/DocumentListPresenter.js +15 -21
  102. package/modules/pages/PagesList/presenters/DocumentListPresenter.js.map +1 -1
  103. package/modules/pages/PagesList/presenters/index.d.ts +0 -1
  104. package/modules/pages/PagesList/presenters/index.js +0 -1
  105. package/modules/pages/PagesList/presenters/index.js.map +1 -1
  106. package/modules/pages/PagesList/useDocumentList.d.ts +2 -1
  107. package/modules/pages/PagesListConfig.d.ts +2 -0
  108. package/modules/pages/{PagesConfig.js → PagesListConfig.js} +3 -3
  109. package/modules/pages/PagesListConfig.js.map +1 -0
  110. package/{configs/pages → modules/pages/configs}/list/Browser/BulkAction.d.ts +1 -1
  111. package/{configs/pages → modules/pages/configs}/list/Browser/BulkAction.js +3 -3
  112. package/modules/pages/configs/list/Browser/BulkAction.js.map +1 -0
  113. package/{configs/pages → modules/pages/configs}/list/Browser/Table/Column.d.ts +9 -4
  114. package/{configs/pages → modules/pages/configs}/list/Browser/Table/Column.js +4 -1
  115. package/modules/pages/configs/list/Browser/Table/Column.js.map +1 -0
  116. package/{configs/pages → modules/pages/configs}/list/Browser/Table/index.d.ts +7 -2
  117. package/{configs/pages → modules/pages/configs}/list/Browser/index.d.ts +12 -7
  118. package/{configs/pages → modules/pages/configs}/list/Browser/index.js +1 -1
  119. package/modules/pages/configs/list/Browser/index.js.map +1 -0
  120. package/{configs/pages → modules/pages/configs}/list/PageListConfig.d.ts +10 -5
  121. package/{configs/pages → modules/pages/configs}/list/PageType.js +1 -1
  122. package/modules/pages/types.d.ts +3 -0
  123. package/modules/pages/types.js +3 -0
  124. package/modules/pages/types.js.map +1 -0
  125. package/modules/redirects/RedirectsList/DocumentList.js.map +1 -0
  126. package/modules/redirects/RedirectsList/NavigateFolderProvider.d.ts +4 -0
  127. package/modules/redirects/RedirectsList/NavigateFolderProvider.js +19 -0
  128. package/modules/redirects/RedirectsList/NavigateFolderProvider.js.map +1 -0
  129. package/modules/redirects/RedirectsList/components/BottomInfoBar/BottomInfoBar.d.ts +2 -0
  130. package/modules/redirects/RedirectsList/components/BottomInfoBar/BottomInfoBar.js +23 -0
  131. package/modules/redirects/RedirectsList/components/BottomInfoBar/BottomInfoBar.js.map +1 -0
  132. package/modules/redirects/RedirectsList/components/BottomInfoBar/ListMeta.d.ts +7 -0
  133. package/modules/redirects/RedirectsList/components/BottomInfoBar/ListMeta.js +17 -0
  134. package/modules/redirects/RedirectsList/components/BottomInfoBar/ListMeta.js.map +1 -0
  135. package/modules/redirects/RedirectsList/components/BottomInfoBar/ListStatus.d.ts +5 -0
  136. package/modules/redirects/RedirectsList/components/BottomInfoBar/ListStatus.js +20 -0
  137. package/modules/redirects/RedirectsList/components/BottomInfoBar/ListStatus.js.map +1 -0
  138. package/modules/redirects/RedirectsList/components/BottomInfoBar/index.d.ts +1 -0
  139. package/modules/redirects/RedirectsList/components/BottomInfoBar/index.js +3 -0
  140. package/modules/redirects/RedirectsList/components/BottomInfoBar/index.js.map +1 -0
  141. package/modules/redirects/RedirectsList/components/BulkActions/BulkActionDelete.d.ts +4 -0
  142. package/modules/redirects/RedirectsList/components/BulkActions/BulkActionDelete.js +72 -0
  143. package/modules/redirects/RedirectsList/components/BulkActions/BulkActionDelete.js.map +1 -0
  144. package/modules/redirects/RedirectsList/components/BulkActions/BulkActionMove.d.ts +4 -0
  145. package/modules/redirects/RedirectsList/components/BulkActions/BulkActionMove.js +95 -0
  146. package/modules/redirects/RedirectsList/components/BulkActions/BulkActionMove.js.map +1 -0
  147. package/modules/redirects/RedirectsList/components/BulkActions/BulkActions.d.ts +3 -0
  148. package/modules/redirects/RedirectsList/components/BulkActions/BulkActions.js +46 -0
  149. package/modules/redirects/RedirectsList/components/BulkActions/BulkActions.js.map +1 -0
  150. package/modules/redirects/RedirectsList/components/BulkActions/index.d.ts +3 -0
  151. package/modules/redirects/RedirectsList/components/BulkActions/index.js +5 -0
  152. package/modules/redirects/RedirectsList/components/BulkActions/index.js.map +1 -0
  153. package/modules/redirects/RedirectsList/components/Empty/Empty.d.ts +10 -0
  154. package/modules/redirects/RedirectsList/components/Empty/Empty.js +54 -0
  155. package/modules/redirects/RedirectsList/components/Empty/Empty.js.map +1 -0
  156. package/modules/redirects/RedirectsList/components/Empty/index.d.ts +1 -0
  157. package/modules/redirects/RedirectsList/components/Empty/index.js +3 -0
  158. package/modules/redirects/RedirectsList/components/Empty/index.js.map +1 -0
  159. package/modules/redirects/RedirectsList/components/Filters/FilterByStatus.d.ts +2 -0
  160. package/modules/redirects/RedirectsList/components/Filters/FilterByStatus.js +39 -0
  161. package/modules/redirects/RedirectsList/components/Filters/FilterByStatus.js.map +1 -0
  162. package/modules/redirects/RedirectsList/components/Filters/Filters.d.ts +2 -0
  163. package/modules/redirects/RedirectsList/components/Filters/Filters.js +34 -0
  164. package/modules/redirects/RedirectsList/components/Filters/Filters.js.map +1 -0
  165. package/modules/redirects/RedirectsList/components/Filters/index.d.ts +2 -0
  166. package/modules/redirects/RedirectsList/components/Filters/index.js +4 -0
  167. package/modules/redirects/RedirectsList/components/Filters/index.js.map +1 -0
  168. package/modules/redirects/RedirectsList/components/Header/ButtonFilters.d.ts +2 -0
  169. package/modules/redirects/RedirectsList/components/Header/ButtonFilters.js +15 -0
  170. package/modules/redirects/RedirectsList/components/Header/ButtonFilters.js.map +1 -0
  171. package/modules/redirects/RedirectsList/components/Header/ButtonsCreate.d.ts +9 -0
  172. package/modules/redirects/RedirectsList/components/Header/ButtonsCreate.js +40 -0
  173. package/modules/redirects/RedirectsList/components/Header/ButtonsCreate.js.map +1 -0
  174. package/modules/redirects/RedirectsList/components/Header/Header.d.ts +11 -0
  175. package/modules/redirects/RedirectsList/components/Header/Header.js +37 -0
  176. package/modules/redirects/RedirectsList/components/Header/Header.js.map +1 -0
  177. package/modules/redirects/RedirectsList/components/Header/Search.d.ts +2 -0
  178. package/modules/redirects/RedirectsList/components/Header/Search.js +54 -0
  179. package/modules/redirects/RedirectsList/components/Header/Search.js.map +1 -0
  180. package/modules/redirects/RedirectsList/components/Header/Title.d.ts +7 -0
  181. package/modules/redirects/RedirectsList/components/Header/Title.js +30 -0
  182. package/modules/redirects/RedirectsList/components/Header/Title.js.map +1 -0
  183. package/modules/redirects/RedirectsList/components/Header/index.d.ts +1 -0
  184. package/modules/redirects/RedirectsList/components/Header/index.js +3 -0
  185. package/modules/redirects/RedirectsList/components/Header/index.js.map +1 -0
  186. package/modules/redirects/RedirectsList/components/Layout/Layout.d.ts +7 -0
  187. package/modules/redirects/RedirectsList/components/Layout/Layout.js +17 -0
  188. package/modules/redirects/RedirectsList/components/Layout/Layout.js.map +1 -0
  189. package/modules/redirects/RedirectsList/components/Layout/index.d.ts +1 -0
  190. package/modules/redirects/RedirectsList/components/Layout/index.js +3 -0
  191. package/modules/redirects/RedirectsList/components/Layout/index.js.map +1 -0
  192. package/modules/redirects/RedirectsList/components/Layout/useLayoutId.d.ts +9 -0
  193. package/modules/redirects/RedirectsList/components/Layout/useLayoutId.js +27 -0
  194. package/modules/redirects/RedirectsList/components/Layout/useLayoutId.js.map +1 -0
  195. package/modules/redirects/RedirectsList/components/Main/Main.d.ts +3 -0
  196. package/modules/redirects/RedirectsList/components/Main/Main.js +80 -0
  197. package/modules/redirects/RedirectsList/components/Main/Main.js.map +1 -0
  198. package/modules/redirects/RedirectsList/components/Main/index.d.ts +1 -0
  199. package/modules/redirects/RedirectsList/components/Main/index.js +3 -0
  200. package/modules/redirects/RedirectsList/components/Main/index.js.map +1 -0
  201. package/modules/redirects/RedirectsList/components/RedirectForm/RedirectForm.d.ts +2 -0
  202. package/modules/redirects/RedirectsList/components/RedirectForm/RedirectForm.js +45 -0
  203. package/modules/redirects/RedirectsList/components/RedirectForm/RedirectForm.js.map +1 -0
  204. package/modules/redirects/RedirectsList/components/Sidebar/Sidebar.d.ts +3 -0
  205. package/modules/redirects/RedirectsList/components/Sidebar/Sidebar.js +22 -0
  206. package/modules/redirects/RedirectsList/components/Sidebar/Sidebar.js.map +1 -0
  207. package/modules/redirects/RedirectsList/components/Sidebar/index.d.ts +1 -0
  208. package/modules/redirects/RedirectsList/components/Sidebar/index.js +3 -0
  209. package/modules/redirects/RedirectsList/components/Sidebar/index.js.map +1 -0
  210. package/modules/redirects/RedirectsList/components/Table/Actions/Delete.d.ts +2 -0
  211. package/modules/redirects/RedirectsList/components/Table/Actions/Delete.js +26 -0
  212. package/modules/redirects/RedirectsList/components/Table/Actions/Delete.js.map +1 -0
  213. package/modules/redirects/RedirectsList/components/Table/Actions/Edit.d.ts +2 -0
  214. package/modules/redirects/RedirectsList/components/Table/Actions/Edit.js +23 -0
  215. package/modules/redirects/RedirectsList/components/Table/Actions/Edit.js.map +1 -0
  216. package/modules/redirects/RedirectsList/components/Table/Actions/Move.d.ts +2 -0
  217. package/modules/redirects/RedirectsList/components/Table/Actions/Move.js +25 -0
  218. package/modules/redirects/RedirectsList/components/Table/Actions/Move.js.map +1 -0
  219. package/modules/redirects/RedirectsList/components/Table/Actions/index.d.ts +3 -0
  220. package/modules/redirects/RedirectsList/components/Table/Actions/index.js +5 -0
  221. package/modules/redirects/RedirectsList/components/Table/Actions/index.js.map +1 -0
  222. package/modules/redirects/RedirectsList/components/Table/Cells/CellActions.d.ts +20 -0
  223. package/modules/redirects/RedirectsList/components/Table/Cells/CellActions.js +37 -0
  224. package/modules/redirects/RedirectsList/components/Table/Cells/CellActions.js.map +1 -0
  225. package/modules/redirects/RedirectsList/components/Table/Cells/CellAuthor.d.ts +2 -0
  226. package/modules/redirects/RedirectsList/components/Table/Cells/CellAuthor.js +13 -0
  227. package/modules/redirects/RedirectsList/components/Table/Cells/CellAuthor.js.map +1 -0
  228. package/modules/redirects/RedirectsList/components/Table/Cells/CellCreated.d.ts +2 -0
  229. package/modules/redirects/RedirectsList/components/Table/Cells/CellCreated.js +16 -0
  230. package/modules/redirects/RedirectsList/components/Table/Cells/CellCreated.js.map +1 -0
  231. package/modules/redirects/RedirectsList/components/Table/Cells/CellEnabled.d.ts +2 -0
  232. package/modules/redirects/RedirectsList/components/Table/Cells/CellEnabled.js +26 -0
  233. package/modules/redirects/RedirectsList/components/Table/Cells/CellEnabled.js.map +1 -0
  234. package/modules/redirects/RedirectsList/components/Table/Cells/CellModified.d.ts +2 -0
  235. package/modules/redirects/RedirectsList/components/Table/Cells/CellModified.js +16 -0
  236. package/modules/redirects/RedirectsList/components/Table/Cells/CellModified.js.map +1 -0
  237. package/modules/redirects/RedirectsList/components/Table/Cells/CellName.d.ts +8 -0
  238. package/modules/redirects/RedirectsList/components/Table/Cells/CellName.js +54 -0
  239. package/modules/redirects/RedirectsList/components/Table/Cells/CellName.js.map +1 -0
  240. package/modules/redirects/RedirectsList/components/Table/Cells/index.d.ts +6 -0
  241. package/modules/redirects/RedirectsList/components/Table/Cells/index.js +8 -0
  242. package/modules/redirects/RedirectsList/components/Table/Cells/index.js.map +1 -0
  243. package/modules/redirects/RedirectsList/components/Table/Table.d.ts +2 -0
  244. package/modules/redirects/RedirectsList/components/Table/Table.js +28 -0
  245. package/modules/redirects/RedirectsList/components/Table/Table.js.map +1 -0
  246. package/modules/redirects/RedirectsList/components/Table/index.d.ts +3 -0
  247. package/modules/redirects/RedirectsList/components/Table/index.js +5 -0
  248. package/modules/redirects/RedirectsList/components/Table/index.js.map +1 -0
  249. package/modules/redirects/RedirectsList/hooks/useCreateRedirectDialog.d.ts +3 -0
  250. package/modules/redirects/RedirectsList/hooks/useCreateRedirectDialog.js +44 -0
  251. package/modules/redirects/RedirectsList/hooks/useCreateRedirectDialog.js.map +1 -0
  252. package/modules/redirects/RedirectsList/hooks/useDeleteRedirectConfirmationDialog.d.ts +8 -0
  253. package/modules/redirects/RedirectsList/hooks/useDeleteRedirectConfirmationDialog.js +34 -0
  254. package/modules/redirects/RedirectsList/hooks/useDeleteRedirectConfirmationDialog.js.map +1 -0
  255. package/modules/redirects/RedirectsList/hooks/useEditRedirectDialog.d.ts +3 -0
  256. package/modules/redirects/RedirectsList/hooks/useEditRedirectDialog.js +48 -0
  257. package/modules/redirects/RedirectsList/hooks/useEditRedirectDialog.js.map +1 -0
  258. package/modules/redirects/RedirectsList/hooks/useMoveRedirectToFolderDialog.d.ts +8 -0
  259. package/modules/redirects/RedirectsList/hooks/useMoveRedirectToFolderDialog.js +40 -0
  260. package/modules/redirects/RedirectsList/hooks/useMoveRedirectToFolderDialog.js.map +1 -0
  261. package/modules/redirects/RedirectsList/hooks/useRedirect.d.ts +12 -0
  262. package/modules/redirects/RedirectsList/hooks/useRedirect.js +9 -0
  263. package/modules/redirects/RedirectsList/hooks/useRedirect.js.map +1 -0
  264. package/modules/redirects/RedirectsList/index.d.ts +3 -0
  265. package/modules/redirects/RedirectsList/index.js +5 -0
  266. package/modules/redirects/RedirectsList/index.js.map +1 -0
  267. package/modules/redirects/RedirectsList/presenters/DocumentListPresenter.d.ts +52 -0
  268. package/modules/redirects/RedirectsList/presenters/DocumentListPresenter.js +122 -0
  269. package/modules/redirects/RedirectsList/presenters/DocumentListPresenter.js.map +1 -0
  270. package/modules/redirects/RedirectsList/presenters/DocumentListPresenterContext.d.ts +6 -0
  271. package/modules/redirects/RedirectsList/presenters/DocumentListPresenterContext.js +20 -0
  272. package/modules/redirects/RedirectsList/presenters/DocumentListPresenterContext.js.map +1 -0
  273. package/modules/redirects/RedirectsList/presenters/TableRowMapper.d.ts +11 -0
  274. package/modules/redirects/RedirectsList/presenters/TableRowMapper.js +25 -0
  275. package/modules/redirects/RedirectsList/presenters/TableRowMapper.js.map +1 -0
  276. package/modules/redirects/RedirectsList/presenters/index.d.ts +2 -0
  277. package/modules/redirects/RedirectsList/presenters/index.js +4 -0
  278. package/modules/redirects/RedirectsList/presenters/index.js.map +1 -0
  279. package/modules/redirects/RedirectsList/useDocumentList.d.ts +22 -0
  280. package/modules/redirects/RedirectsList/useDocumentList.js +77 -0
  281. package/modules/redirects/RedirectsList/useDocumentList.js.map +1 -0
  282. package/modules/redirects/RedirectsList.d.ts +2 -0
  283. package/modules/redirects/RedirectsList.js +20 -0
  284. package/modules/redirects/RedirectsList.js.map +1 -0
  285. package/modules/redirects/RedirectsListConfig.d.ts +2 -0
  286. package/modules/redirects/RedirectsListConfig.js +78 -0
  287. package/modules/redirects/RedirectsListConfig.js.map +1 -0
  288. package/modules/redirects/configs/index.d.ts +1 -0
  289. package/modules/redirects/configs/index.js +3 -0
  290. package/modules/redirects/configs/index.js.map +1 -0
  291. package/modules/redirects/configs/list/Browser/BulkAction.d.ts +27 -0
  292. package/modules/redirects/configs/list/Browser/BulkAction.js +80 -0
  293. package/modules/redirects/configs/list/Browser/BulkAction.js.map +1 -0
  294. package/modules/redirects/configs/list/Browser/Filter.d.ts +39 -0
  295. package/modules/redirects/configs/list/Browser/Filter.js +44 -0
  296. package/modules/redirects/configs/list/Browser/Filter.js.map +1 -0
  297. package/modules/redirects/configs/list/Browser/FiltersToWhere.d.ts +7 -0
  298. package/modules/redirects/configs/list/Browser/FiltersToWhere.js +16 -0
  299. package/modules/redirects/configs/list/Browser/FiltersToWhere.js.map +1 -0
  300. package/modules/redirects/configs/list/Browser/FolderAction.d.ts +7 -0
  301. package/modules/redirects/configs/list/Browser/FolderAction.js +13 -0
  302. package/modules/redirects/configs/list/Browser/FolderAction.js.map +1 -0
  303. package/modules/redirects/configs/list/Browser/FolderFieldDecorator.d.ts +7 -0
  304. package/modules/redirects/configs/list/Browser/FolderFieldDecorator.js +16 -0
  305. package/modules/redirects/configs/list/Browser/FolderFieldDecorator.js.map +1 -0
  306. package/modules/redirects/configs/list/Browser/RedirectAction.d.ts +8 -0
  307. package/modules/redirects/configs/list/Browser/RedirectAction.js +14 -0
  308. package/modules/redirects/configs/list/Browser/RedirectAction.js.map +1 -0
  309. package/modules/redirects/configs/list/Browser/Table/Column.d.ts +45 -0
  310. package/modules/redirects/configs/list/Browser/Table/Column.js +21 -0
  311. package/modules/redirects/configs/list/Browser/Table/Column.js.map +1 -0
  312. package/modules/redirects/configs/list/Browser/Table/index.d.ts +46 -0
  313. package/modules/redirects/configs/list/Browser/Table/index.js +6 -0
  314. package/modules/redirects/configs/list/Browser/Table/index.js.map +1 -0
  315. package/modules/redirects/configs/list/Browser/index.d.ts +111 -0
  316. package/modules/redirects/configs/list/Browser/index.js +20 -0
  317. package/modules/redirects/configs/list/Browser/index.js.map +1 -0
  318. package/modules/redirects/configs/list/RedirectListConfig.d.ts +115 -0
  319. package/modules/redirects/configs/list/RedirectListConfig.js +31 -0
  320. package/modules/redirects/configs/list/RedirectListConfig.js.map +1 -0
  321. package/modules/redirects/configs/list/index.d.ts +1 -0
  322. package/modules/redirects/configs/list/index.js +3 -0
  323. package/modules/redirects/configs/list/index.js.map +1 -0
  324. package/modules/shared/FolderCellName.d.ts +7 -0
  325. package/modules/shared/FolderCellName.js +29 -0
  326. package/modules/shared/FolderCellName.js.map +1 -0
  327. package/package.json +27 -27
  328. package/types.d.ts +2 -3
  329. package/types.js.map +1 -1
  330. package/configs/index.d.ts +0 -1
  331. package/configs/index.js +0 -3
  332. package/configs/index.js.map +0 -1
  333. package/configs/pages/list/Browser/BulkAction.js.map +0 -1
  334. package/configs/pages/list/Browser/Table/Column.js.map +0 -1
  335. package/configs/pages/list/Browser/index.js.map +0 -1
  336. package/modules/pages/PagesConfig.d.ts +0 -2
  337. package/modules/pages/PagesConfig.js.map +0 -1
  338. package/modules/pages/PagesList/DocumentList.js.map +0 -1
  339. package/modules/pages/PagesList/hooks/useDocument.d.ts +0 -12
  340. package/modules/pages/PagesList/hooks/useDocument.js +0 -9
  341. package/modules/pages/PagesList/hooks/useDocument.js.map +0 -1
  342. package/modules/pages/PagesList/presenters/DocumentListMapper.d.ts +0 -19
  343. package/modules/pages/PagesList/presenters/DocumentListMapper.js +0 -39
  344. package/modules/pages/PagesList/presenters/DocumentListMapper.js.map +0 -1
  345. /package/{configs/pages → modules/pages/configs}/index.d.ts +0 -0
  346. /package/{configs/pages → modules/pages/configs}/index.js +0 -0
  347. /package/{configs/pages → modules/pages/configs}/index.js.map +0 -0
  348. /package/{configs/pages → modules/pages/configs}/list/Browser/Filter.d.ts +0 -0
  349. /package/{configs/pages → modules/pages/configs}/list/Browser/Filter.js +0 -0
  350. /package/{configs/pages → modules/pages/configs}/list/Browser/Filter.js.map +0 -0
  351. /package/{configs/pages → modules/pages/configs}/list/Browser/FiltersToWhere.d.ts +0 -0
  352. /package/{configs/pages → modules/pages/configs}/list/Browser/FiltersToWhere.js +0 -0
  353. /package/{configs/pages → modules/pages/configs}/list/Browser/FiltersToWhere.js.map +0 -0
  354. /package/{configs/pages → modules/pages/configs}/list/Browser/FolderAction.d.ts +0 -0
  355. /package/{configs/pages → modules/pages/configs}/list/Browser/FolderAction.js +0 -0
  356. /package/{configs/pages → modules/pages/configs}/list/Browser/FolderAction.js.map +0 -0
  357. /package/{configs/pages → modules/pages/configs}/list/Browser/FolderFieldDecorator.d.ts +0 -0
  358. /package/{configs/pages → modules/pages/configs}/list/Browser/FolderFieldDecorator.js +0 -0
  359. /package/{configs/pages → modules/pages/configs}/list/Browser/FolderFieldDecorator.js.map +0 -0
  360. /package/{configs/pages → modules/pages/configs}/list/Browser/PageAction.d.ts +0 -0
  361. /package/{configs/pages → modules/pages/configs}/list/Browser/PageAction.js +0 -0
  362. /package/{configs/pages → modules/pages/configs}/list/Browser/PageAction.js.map +0 -0
  363. /package/{configs/pages → modules/pages/configs}/list/Browser/Table/index.js +0 -0
  364. /package/{configs/pages → modules/pages/configs}/list/Browser/Table/index.js.map +0 -0
  365. /package/{configs/pages → modules/pages/configs}/list/PageListConfig.js +0 -0
  366. /package/{configs/pages → modules/pages/configs}/list/PageListConfig.js.map +0 -0
  367. /package/{configs/pages → modules/pages/configs}/list/PageType.d.ts +0 -0
  368. /package/{configs/pages → modules/pages/configs}/list/PageType.js.map +0 -0
  369. /package/{configs/pages → modules/pages/configs}/list/index.d.ts +0 -0
  370. /package/{configs/pages → modules/pages/configs}/list/index.js +0 -0
  371. /package/{configs/pages → modules/pages/configs}/list/index.js.map +0 -0
  372. /package/modules/{pages/PagesList → redirects/RedirectsList}/DocumentList.d.ts +0 -0
  373. /package/modules/{pages/PagesList → redirects/RedirectsList}/DocumentList.js +0 -0
@@ -0,0 +1,40 @@
1
+ import { useCallback } from "react";
2
+ import { useSnackbar } from "@webiny/app-admin";
3
+ import { useMoveToFolderDialog } from "@webiny/app-aco";
4
+ import { useMoveRedirect } from "../../../../features/redirects/index.js";
5
+ export function useMoveRedirectToFolderDialog({
6
+ redirect
7
+ }) {
8
+ const {
9
+ showSnackbar
10
+ } = useSnackbar();
11
+ const {
12
+ showDialog
13
+ } = useMoveToFolderDialog();
14
+ const {
15
+ moveRedirect
16
+ } = useMoveRedirect();
17
+ const openMoveRedirectToFolderDialog = useCallback(() => {
18
+ showDialog({
19
+ title: "Move redirect to a new location",
20
+ message: "Select a new location for this redirect:",
21
+ loadingLabel: "Moving redirect...",
22
+ acceptLabel: "Move redirect",
23
+ focusedFolderId: redirect.location.folderId,
24
+ async onAccept({
25
+ folder
26
+ }) {
27
+ await moveRedirect({
28
+ id: redirect.id,
29
+ folderId: folder.id
30
+ });
31
+ showSnackbar(`Redirect "${redirect.title}" was successfully moved to folder "${folder.label}"!`);
32
+ }
33
+ });
34
+ }, [redirect.id]);
35
+ return {
36
+ openMoveRedirectToFolderDialog
37
+ };
38
+ }
39
+
40
+ //# sourceMappingURL=useMoveRedirectToFolderDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useSnackbar","useMoveToFolderDialog","useMoveRedirect","useMoveRedirectToFolderDialog","redirect","showSnackbar","showDialog","moveRedirect","openMoveRedirectToFolderDialog","title","message","loadingLabel","acceptLabel","focusedFolderId","location","folderId","onAccept","folder","id","label"],"sources":["useMoveRedirectToFolderDialog.tsx"],"sourcesContent":["import { useCallback } from \"react\";\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport { useMoveToFolderDialog } from \"@webiny/app-aco\";\nimport { useMoveRedirect } from \"~/features/redirects/index.js\";\nimport type { RedirectDto } from \"~/domain/Redirect\";\n\ninterface UseMoveRedirectToFolderDialog {\n redirect: RedirectDto;\n}\n\nexport function useMoveRedirectToFolderDialog({ redirect }: UseMoveRedirectToFolderDialog) {\n const { showSnackbar } = useSnackbar();\n const { showDialog } = useMoveToFolderDialog();\n const { moveRedirect } = useMoveRedirect();\n\n const openMoveRedirectToFolderDialog = useCallback(() => {\n showDialog({\n title: \"Move redirect to a new location\",\n message: \"Select a new location for this redirect:\",\n loadingLabel: \"Moving redirect...\",\n acceptLabel: \"Move redirect\",\n focusedFolderId: redirect.location.folderId,\n async onAccept({ folder }) {\n await moveRedirect({\n id: redirect.id,\n folderId: folder.id\n });\n showSnackbar(\n `Redirect \"${redirect.title}\" was successfully moved to folder \"${folder.label}\"!`\n );\n }\n });\n }, [redirect.id]);\n\n return {\n openMoveRedirectToFolderDialog\n };\n}\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,OAAO;AACnC,SAASC,WAAW,QAAQ,mBAAmB;AAC/C,SAASC,qBAAqB,QAAQ,iBAAiB;AACvD,SAASC,eAAe;AAOxB,OAAO,SAASC,6BAA6BA,CAAC;EAAEC;AAAwC,CAAC,EAAE;EACvF,MAAM;IAAEC;EAAa,CAAC,GAAGL,WAAW,CAAC,CAAC;EACtC,MAAM;IAAEM;EAAW,CAAC,GAAGL,qBAAqB,CAAC,CAAC;EAC9C,MAAM;IAAEM;EAAa,CAAC,GAAGL,eAAe,CAAC,CAAC;EAE1C,MAAMM,8BAA8B,GAAGT,WAAW,CAAC,MAAM;IACrDO,UAAU,CAAC;MACPG,KAAK,EAAE,iCAAiC;MACxCC,OAAO,EAAE,0CAA0C;MACnDC,YAAY,EAAE,oBAAoB;MAClCC,WAAW,EAAE,eAAe;MAC5BC,eAAe,EAAET,QAAQ,CAACU,QAAQ,CAACC,QAAQ;MAC3C,MAAMC,QAAQA,CAAC;QAAEC;MAAO,CAAC,EAAE;QACvB,MAAMV,YAAY,CAAC;UACfW,EAAE,EAAEd,QAAQ,CAACc,EAAE;UACfH,QAAQ,EAAEE,MAAM,CAACC;QACrB,CAAC,CAAC;QACFb,YAAY,CACR,aAAaD,QAAQ,CAACK,KAAK,uCAAuCQ,MAAM,CAACE,KAAK,IAClF,CAAC;MACL;IACJ,CAAC,CAAC;EACN,CAAC,EAAE,CAACf,QAAQ,CAACc,EAAE,CAAC,CAAC;EAEjB,OAAO;IACHV;EACJ,CAAC;AACL","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ /// <reference types="react" />
2
+ import type { RedirectDto } from "../../../../domain/Redirect";
3
+ export interface RedirectRowContext {
4
+ redirect: RedirectDto;
5
+ }
6
+ export declare const useRedirect: () => RedirectRowContext;
7
+ export declare const RedirectProvider: {
8
+ ({ children, ...props }: RedirectRowContext & {
9
+ children: import("react").ReactNode;
10
+ }): import("react").JSX.Element;
11
+ displayName: string;
12
+ };
@@ -0,0 +1,9 @@
1
+ import { createGenericContext } from "@webiny/app";
2
+ const {
3
+ Provider,
4
+ useHook
5
+ } = createGenericContext("RedirectContext");
6
+ export const useRedirect = useHook;
7
+ export const RedirectProvider = Provider;
8
+
9
+ //# sourceMappingURL=useRedirect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createGenericContext","Provider","useHook","useRedirect","RedirectProvider"],"sources":["useRedirect.tsx"],"sourcesContent":["import { createGenericContext } from \"@webiny/app\";\nimport type { RedirectDto } from \"~/domain/Redirect\";\n\nexport interface RedirectRowContext {\n redirect: RedirectDto;\n}\n\nconst { Provider, useHook } = createGenericContext<RedirectRowContext>(\"RedirectContext\");\n\nexport const useRedirect = useHook;\nexport const RedirectProvider = Provider;\n"],"mappings":"AAAA,SAASA,oBAAoB,QAAQ,aAAa;AAOlD,MAAM;EAAEC,QAAQ;EAAEC;AAAQ,CAAC,GAAGF,oBAAoB,CAAqB,iBAAiB,CAAC;AAEzF,OAAO,MAAMG,WAAW,GAAGD,OAAO;AAClC,OAAO,MAAME,gBAAgB,GAAGH,QAAQ","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ export * from "./hooks/useCreateRedirectDialog.js";
2
+ export * from "./hooks/useEditRedirectDialog.js";
3
+ export { useRedirect } from "./hooks/useRedirect.js";
@@ -0,0 +1,5 @@
1
+ export * from "./hooks/useCreateRedirectDialog.js";
2
+ export * from "./hooks/useEditRedirectDialog.js";
3
+ export { useRedirect } from "./hooks/useRedirect.js";
4
+
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useRedirect"],"sources":["index.ts"],"sourcesContent":["export * from \"./hooks/useCreateRedirectDialog.js\";\nexport * from \"./hooks/useEditRedirectDialog.js\";\nexport { useRedirect } from \"./hooks/useRedirect.js\";\n"],"mappings":"AAAA;AACA;AACA,SAASA,WAAW","ignoreList":[]}
@@ -0,0 +1,52 @@
1
+ interface DocumentListPresenterParams {
2
+ folderId: string;
3
+ }
4
+ declare class DocumentListPresenter {
5
+ private folderId;
6
+ private foldersCache;
7
+ private foldersLoadingRepository;
8
+ private documentsCache;
9
+ private documentsLoadingRepository;
10
+ private searchRepository;
11
+ private metaRepository;
12
+ private sortingRepository;
13
+ private filterRepository;
14
+ private selectedRepository;
15
+ private filtersVisible;
16
+ constructor();
17
+ init(params: DocumentListPresenterParams): void;
18
+ get vm(): {
19
+ folderId: string;
20
+ title: string | undefined;
21
+ data: import("./TableRowMapper.js").TableRow[];
22
+ selected: any[];
23
+ meta: {
24
+ totalCount: number;
25
+ currentCount: number;
26
+ };
27
+ sorting: import("@webiny/app-utils").ColumnSorting[];
28
+ searchQuery: string;
29
+ searchLabel: string;
30
+ isSearch: boolean;
31
+ isEmpty: boolean;
32
+ isRoot: boolean;
33
+ isLoading: boolean;
34
+ isLoadingMore: boolean;
35
+ isFilterVisible: boolean;
36
+ };
37
+ showFilters: (show: boolean) => void;
38
+ private getIsRoot;
39
+ private getVmTitle;
40
+ private getVmDocuments;
41
+ private getVmFolders;
42
+ private getData;
43
+ private getSelected;
44
+ private sortItems;
45
+ private getIsSearch;
46
+ private getSearchLabel;
47
+ private getIsLoading;
48
+ private getIsLoadingMore;
49
+ private getIsEmpty;
50
+ private getSorting;
51
+ }
52
+ export { DocumentListPresenter, type DocumentListPresenterParams };
@@ -0,0 +1,122 @@
1
+ import { makeAutoObservable } from "mobx";
2
+ import orderBy from "lodash/orderBy";
3
+ import { loadingActions, ROOT_FOLDER, WB_REDIRECTS_APP } from "../../../../constants.js";
4
+ import { loadingRepositoryFactory, metaRepositoryFactory, SortingMapper, sortRepositoryFactory } from "@webiny/app-utils";
5
+ import { redirectListCache } from "../../../../domain/Redirect/index.js";
6
+ import { folderCacheFactory } from "@webiny/app-aco";
7
+ import { TableRowMapper } from "./TableRowMapper.js";
8
+ import { searchRepositoryFactory } from "../../../../domain/Search/index.js";
9
+ import { selectedItemsRepositoryFactory } from "../../../../domain/SelectedItem/index.js";
10
+ import { filterRepositoryFactory } from "../../../../domain/Filter/index.js";
11
+ class DocumentListPresenter {
12
+ folderId = ROOT_FOLDER;
13
+ filtersVisible = false;
14
+ constructor() {
15
+ this.foldersCache = folderCacheFactory.getCache(WB_REDIRECTS_APP);
16
+ this.foldersLoadingRepository = loadingRepositoryFactory.getRepository(WB_REDIRECTS_APP);
17
+ this.documentsCache = redirectListCache;
18
+ this.documentsLoadingRepository = loadingRepositoryFactory.getRepository("WbRedirect");
19
+ this.searchRepository = searchRepositoryFactory.getRepository("WbRedirect");
20
+ this.metaRepository = metaRepositoryFactory.getRepository("WbRedirect");
21
+ this.sortingRepository = sortRepositoryFactory.getRepository("WbRedirect");
22
+ this.filterRepository = filterRepositoryFactory.getRepository("WbRedirect");
23
+ this.selectedRepository = selectedItemsRepositoryFactory.getRepository("WbRedirect");
24
+ makeAutoObservable(this);
25
+ }
26
+ init(params) {
27
+ this.folderId = params.folderId;
28
+ }
29
+ get vm() {
30
+ return {
31
+ folderId: this.folderId,
32
+ title: this.getVmTitle(),
33
+ data: this.getData(),
34
+ selected: this.getSelected(),
35
+ meta: {
36
+ totalCount: this.metaRepository.get().totalCount ?? 0,
37
+ currentCount: this.documentsCache.count() ?? 0
38
+ },
39
+ sorting: this.getSorting(),
40
+ searchQuery: this.searchRepository.get() || "",
41
+ searchLabel: this.getSearchLabel(),
42
+ isSearch: this.getIsSearch(),
43
+ isEmpty: this.getIsEmpty(),
44
+ isRoot: this.getIsRoot(),
45
+ isLoading: this.getIsLoading(),
46
+ isLoadingMore: this.getIsLoadingMore(),
47
+ isFilterVisible: this.filtersVisible
48
+ };
49
+ }
50
+ showFilters = show => {
51
+ this.filtersVisible = show;
52
+ };
53
+ getIsRoot = () => {
54
+ return this.folderId === ROOT_FOLDER;
55
+ };
56
+ getVmTitle = () => {
57
+ return !this.getIsLoading() ? this.foldersCache.getItem(f => f.id === this.folderId)?.title : undefined;
58
+ };
59
+ getVmDocuments = () => {
60
+ return this.documentsCache.getItems().map(d => TableRowMapper.fromRedirect(d));
61
+ };
62
+ getVmFolders = () => {
63
+ const folders = this.foldersCache.getItems().filter(f => {
64
+ if (this.folderId === ROOT_FOLDER) {
65
+ return f.parentId === null;
66
+ } else {
67
+ return f.parentId === this.folderId;
68
+ }
69
+ });
70
+ return folders.map(f => TableRowMapper.fromFolder(f));
71
+ };
72
+ getData = () => {
73
+ if (this.getIsSearch()) {
74
+ // Only documents, sorted if needed
75
+ return this.sortItems(this.getVmDocuments());
76
+ }
77
+
78
+ // Not in search: folders first, then documents, both sorted if needed
79
+ const folders = this.sortItems(this.getVmFolders());
80
+ const documents = this.sortItems(this.getVmDocuments());
81
+ return [...folders, ...documents];
82
+ };
83
+ getSelected = () => {
84
+ return this.selectedRepository.getSelectedItems();
85
+ };
86
+ sortItems(items) {
87
+ const sorts = this.sortingRepository.get();
88
+ if (sorts.length === 0) {
89
+ return items;
90
+ }
91
+ const iteratees = sorts.map(sort => sort.field);
92
+ const orders = sorts.map(sort => sort.order);
93
+ return orderBy(items, iteratees, orders);
94
+ }
95
+ getIsSearch = () => {
96
+ return Boolean(this.searchRepository.get() || this.filterRepository.hasFilters());
97
+ };
98
+ getSearchLabel = () => {
99
+ const currentFolder = this.foldersCache.getItem(f => f.id === this.folderId);
100
+ if (this.folderId === ROOT_FOLDER || !currentFolder) {
101
+ return "Search...";
102
+ }
103
+ return `Search in "${currentFolder.title}"...`;
104
+ };
105
+ getIsLoading = () => {
106
+ return Boolean(this.documentsLoadingRepository.isLoading(loadingActions.init) || this.documentsLoadingRepository.isLoading(loadingActions.list) || this.foldersLoadingRepository.isLoading(this.folderId));
107
+ };
108
+ getIsLoadingMore = () => {
109
+ return Boolean(this.documentsLoadingRepository.isLoading(loadingActions.listMore));
110
+ };
111
+ getIsEmpty() {
112
+ return !this.getIsLoading() && !this.getData().length;
113
+ }
114
+ getSorting = () => {
115
+ return this.sortingRepository.get().map(sort => {
116
+ return SortingMapper.fromDTOtoColumn(sort);
117
+ });
118
+ };
119
+ }
120
+ export { DocumentListPresenter };
121
+
122
+ //# sourceMappingURL=DocumentListPresenter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["makeAutoObservable","orderBy","loadingActions","ROOT_FOLDER","WB_REDIRECTS_APP","loadingRepositoryFactory","metaRepositoryFactory","SortingMapper","sortRepositoryFactory","redirectListCache","folderCacheFactory","TableRowMapper","searchRepositoryFactory","selectedItemsRepositoryFactory","filterRepositoryFactory","DocumentListPresenter","folderId","filtersVisible","constructor","foldersCache","getCache","foldersLoadingRepository","getRepository","documentsCache","documentsLoadingRepository","searchRepository","metaRepository","sortingRepository","filterRepository","selectedRepository","init","params","vm","title","getVmTitle","data","getData","selected","getSelected","meta","totalCount","get","currentCount","count","sorting","getSorting","searchQuery","searchLabel","getSearchLabel","isSearch","getIsSearch","isEmpty","getIsEmpty","isRoot","getIsRoot","isLoading","getIsLoading","isLoadingMore","getIsLoadingMore","isFilterVisible","showFilters","show","getItem","f","id","undefined","getVmDocuments","getItems","map","d","fromRedirect","getVmFolders","folders","filter","parentId","fromFolder","sortItems","documents","getSelectedItems","items","sorts","length","iteratees","sort","field","orders","order","Boolean","hasFilters","currentFolder","list","listMore","fromDTOtoColumn"],"sources":["DocumentListPresenter.ts"],"sourcesContent":["import { makeAutoObservable } from \"mobx\";\nimport orderBy from \"lodash/orderBy\";\nimport { loadingActions, ROOT_FOLDER, WB_REDIRECTS_APP } from \"~/constants.js\";\nimport type { ISortingRepository } from \"@webiny/app-utils\";\nimport {\n type ILoadingRepository,\n type IMetaRepository,\n loadingRepositoryFactory,\n metaRepositoryFactory,\n SortingMapper,\n sortRepositoryFactory\n} from \"@webiny/app-utils\";\nimport { type IListCache, redirectListCache } from \"~/domain/Redirect/index.js\";\nimport type { Folder } from \"@webiny/app-aco\";\nimport { folderCacheFactory } from \"@webiny/app-aco\";\nimport { TableRowMapper } from \"~/modules/redirects/RedirectsList/presenters/TableRowMapper.js\";\nimport { type ISearchRepository, searchRepositoryFactory } from \"~/domain/Search/index.js\";\nimport {\n type ISelectedItemsRepository,\n selectedItemsRepositoryFactory\n} from \"~/domain/SelectedItem/index.js\";\nimport { filterRepositoryFactory, type IFilterRepository } from \"~/domain/Filter/index.js\";\nimport type { Redirect } from \"~/domain/Redirect\";\n\ninterface DocumentListPresenterParams {\n folderId: string;\n}\n\nclass DocumentListPresenter {\n private folderId: string = ROOT_FOLDER;\n private foldersCache: IListCache<Folder>;\n private foldersLoadingRepository: ILoadingRepository;\n private documentsCache: IListCache<Redirect>;\n private documentsLoadingRepository: ILoadingRepository;\n private searchRepository: ISearchRepository;\n private metaRepository: IMetaRepository;\n private sortingRepository: ISortingRepository;\n private filterRepository: IFilterRepository;\n private selectedRepository: ISelectedItemsRepository;\n private filtersVisible: boolean = false;\n\n constructor() {\n this.foldersCache = folderCacheFactory.getCache(WB_REDIRECTS_APP);\n this.foldersLoadingRepository = loadingRepositoryFactory.getRepository(WB_REDIRECTS_APP);\n this.documentsCache = redirectListCache;\n this.documentsLoadingRepository = loadingRepositoryFactory.getRepository(\"WbRedirect\");\n this.searchRepository = searchRepositoryFactory.getRepository(\"WbRedirect\");\n this.metaRepository = metaRepositoryFactory.getRepository(\"WbRedirect\");\n this.sortingRepository = sortRepositoryFactory.getRepository(\"WbRedirect\");\n this.filterRepository = filterRepositoryFactory.getRepository(\"WbRedirect\");\n this.selectedRepository = selectedItemsRepositoryFactory.getRepository(\"WbRedirect\");\n makeAutoObservable(this);\n }\n\n public init(params: DocumentListPresenterParams) {\n this.folderId = params.folderId;\n }\n\n public get vm() {\n return {\n folderId: this.folderId,\n title: this.getVmTitle(),\n data: this.getData(),\n selected: this.getSelected(),\n meta: {\n totalCount: this.metaRepository.get().totalCount ?? 0,\n currentCount: this.documentsCache.count() ?? 0\n },\n sorting: this.getSorting(),\n searchQuery: this.searchRepository.get() || \"\",\n searchLabel: this.getSearchLabel(),\n isSearch: this.getIsSearch(),\n isEmpty: this.getIsEmpty(),\n isRoot: this.getIsRoot(),\n isLoading: this.getIsLoading(),\n isLoadingMore: this.getIsLoadingMore(),\n isFilterVisible: this.filtersVisible\n };\n }\n\n public showFilters = (show: boolean) => {\n this.filtersVisible = show;\n };\n\n private getIsRoot = () => {\n return this.folderId === ROOT_FOLDER;\n };\n\n private getVmTitle = () => {\n return !this.getIsLoading()\n ? this.foldersCache.getItem(f => f.id === this.folderId)?.title\n : undefined;\n };\n\n private getVmDocuments = () => {\n return this.documentsCache.getItems().map(d => TableRowMapper.fromRedirect(d));\n };\n\n private getVmFolders = () => {\n const folders = this.foldersCache.getItems().filter(f => {\n if (this.folderId === ROOT_FOLDER) {\n return f.parentId === null;\n } else {\n return f.parentId === this.folderId;\n }\n });\n\n return folders.map(f => TableRowMapper.fromFolder(f));\n };\n\n private getData = () => {\n if (this.getIsSearch()) {\n // Only documents, sorted if needed\n return this.sortItems(this.getVmDocuments());\n }\n\n // Not in search: folders first, then documents, both sorted if needed\n const folders = this.sortItems(this.getVmFolders());\n const documents = this.sortItems(this.getVmDocuments());\n return [...folders, ...documents];\n };\n\n private getSelected = () => {\n return this.selectedRepository.getSelectedItems();\n };\n\n private sortItems<T>(items: T[]): T[] {\n const sorts = this.sortingRepository.get();\n if (sorts.length === 0) {\n return items;\n }\n const iteratees = sorts.map(sort => sort.field);\n const orders = sorts.map(sort => sort.order);\n return orderBy(items, iteratees, orders);\n }\n\n private getIsSearch = () => {\n return Boolean(this.searchRepository.get() || this.filterRepository.hasFilters());\n };\n\n private getSearchLabel = () => {\n const currentFolder = this.foldersCache.getItem(f => f.id === this.folderId);\n\n if (this.folderId === ROOT_FOLDER || !currentFolder) {\n return \"Search...\";\n }\n\n return `Search in \"${currentFolder.title}\"...`;\n };\n\n private getIsLoading = () => {\n return Boolean(\n this.documentsLoadingRepository.isLoading(loadingActions.init) ||\n this.documentsLoadingRepository.isLoading(loadingActions.list) ||\n this.foldersLoadingRepository.isLoading(this.folderId)\n );\n };\n\n private getIsLoadingMore = () => {\n return Boolean(this.documentsLoadingRepository.isLoading(loadingActions.listMore));\n };\n\n private getIsEmpty() {\n return !this.getIsLoading() && !this.getData().length;\n }\n\n private getSorting = () => {\n return this.sortingRepository.get().map(sort => {\n return SortingMapper.fromDTOtoColumn(sort);\n });\n };\n}\n\nexport { DocumentListPresenter, type DocumentListPresenterParams };\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ import { DocumentListPresenter } from "./DocumentListPresenter";
3
+ export declare const DocumentListPresenterProvider: React.FC<{
4
+ children: React.ReactNode;
5
+ }>;
6
+ export declare function useDocumentListPresenter(): DocumentListPresenter;
@@ -0,0 +1,20 @@
1
+ import React, { createContext, useContext, useMemo } from "react";
2
+ import { DocumentListPresenter } from "./DocumentListPresenter";
3
+ const DocumentListPresenterContext = /*#__PURE__*/createContext(null);
4
+ export const DocumentListPresenterProvider = ({
5
+ children
6
+ }) => {
7
+ const presenter = useMemo(() => new DocumentListPresenter(), []);
8
+ return /*#__PURE__*/React.createElement(DocumentListPresenterContext.Provider, {
9
+ value: presenter
10
+ }, children);
11
+ };
12
+ export function useDocumentListPresenter() {
13
+ const presenter = useContext(DocumentListPresenterContext);
14
+ if (!presenter) {
15
+ throw new Error("useDocumentListPresenter must be used within a DocumentListPresenterProvider");
16
+ }
17
+ return presenter;
18
+ }
19
+
20
+ //# sourceMappingURL=DocumentListPresenterContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","createContext","useContext","useMemo","DocumentListPresenter","DocumentListPresenterContext","DocumentListPresenterProvider","children","presenter","createElement","Provider","value","useDocumentListPresenter","Error"],"sources":["DocumentListPresenterContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useMemo } from \"react\";\nimport { DocumentListPresenter } from \"./DocumentListPresenter\";\n\nconst DocumentListPresenterContext = createContext<DocumentListPresenter | null>(null);\n\nexport const DocumentListPresenterProvider: React.FC<{ children: React.ReactNode }> = ({\n children\n}) => {\n const presenter = useMemo(() => new DocumentListPresenter(), []);\n return (\n <DocumentListPresenterContext.Provider value={presenter}>\n {children}\n </DocumentListPresenterContext.Provider>\n );\n};\n\nexport function useDocumentListPresenter() {\n const presenter = useContext(DocumentListPresenterContext);\n if (!presenter) {\n throw new Error(\n \"useDocumentListPresenter must be used within a DocumentListPresenterProvider\"\n );\n }\n return presenter;\n}\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,aAAa,EAAEC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AACjE,SAASC,qBAAqB;AAE9B,MAAMC,4BAA4B,gBAAGJ,aAAa,CAA+B,IAAI,CAAC;AAEtF,OAAO,MAAMK,6BAAsE,GAAGA,CAAC;EACnFC;AACJ,CAAC,KAAK;EACF,MAAMC,SAAS,GAAGL,OAAO,CAAC,MAAM,IAAIC,qBAAqB,CAAC,CAAC,EAAE,EAAE,CAAC;EAChE,oBACIJ,KAAA,CAAAS,aAAA,CAACJ,4BAA4B,CAACK,QAAQ;IAACC,KAAK,EAAEH;EAAU,GACnDD,QACkC,CAAC;AAEhD,CAAC;AAED,OAAO,SAASK,wBAAwBA,CAAA,EAAG;EACvC,MAAMJ,SAAS,GAAGN,UAAU,CAACG,4BAA4B,CAAC;EAC1D,IAAI,CAACG,SAAS,EAAE;IACZ,MAAM,IAAIK,KAAK,CACX,8EACJ,CAAC;EACL;EACA,OAAOL,SAAS;AACpB","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ import type { Folder, FolderTableRow, RecordTableRow } from "@webiny/app-aco";
2
+ import { type Redirect, type RedirectDto } from "../../../../domain/Redirect";
3
+ export type RedirectTableRow = RecordTableRow<RedirectDto>;
4
+ export type TableRow = FolderTableRow | RedirectTableRow;
5
+ /**
6
+ * This mapper converts a Redirect domain object to data format suitable for rendering with the Table component.
7
+ */
8
+ export declare class TableRowMapper {
9
+ static fromRedirect(redirect: Redirect): TableRow;
10
+ static fromFolder(folder: Folder): TableRow;
11
+ }
@@ -0,0 +1,25 @@
1
+ import { FolderDtoMapper } from "@webiny/app-aco";
2
+ import { RedirectDtoMapper } from "../../../../domain/Redirect";
3
+ /**
4
+ * This mapper converts a Redirect domain object to data format suitable for rendering with the Table component.
5
+ */
6
+ export class TableRowMapper {
7
+ static fromRedirect(redirect) {
8
+ return {
9
+ id: redirect.id,
10
+ $type: "RECORD",
11
+ $selectable: true,
12
+ data: RedirectDtoMapper.toDTO(redirect)
13
+ };
14
+ }
15
+ static fromFolder(folder) {
16
+ return {
17
+ id: folder.id,
18
+ $type: "FOLDER",
19
+ $selectable: false,
20
+ data: FolderDtoMapper.toDTO(folder)
21
+ };
22
+ }
23
+ }
24
+
25
+ //# sourceMappingURL=TableRowMapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["FolderDtoMapper","RedirectDtoMapper","TableRowMapper","fromRedirect","redirect","id","$type","$selectable","data","toDTO","fromFolder","folder"],"sources":["TableRowMapper.ts"],"sourcesContent":["import type { Folder, FolderTableRow, RecordTableRow } from \"@webiny/app-aco\";\nimport { FolderDtoMapper } from \"@webiny/app-aco\";\nimport { type Redirect, type RedirectDto, RedirectDtoMapper } from \"~/domain/Redirect\";\n\nexport type RedirectTableRow = RecordTableRow<RedirectDto>;\nexport type TableRow = FolderTableRow | RedirectTableRow;\n/**\n * This mapper converts a Redirect domain object to data format suitable for rendering with the Table component.\n */\nexport class TableRowMapper {\n static fromRedirect(redirect: Redirect): TableRow {\n return {\n id: redirect.id,\n $type: \"RECORD\",\n $selectable: true,\n data: RedirectDtoMapper.toDTO(redirect)\n };\n }\n\n static fromFolder(folder: Folder): TableRow {\n return {\n id: folder.id,\n $type: \"FOLDER\",\n $selectable: false,\n data: FolderDtoMapper.toDTO(folder)\n };\n }\n}\n"],"mappings":"AACA,SAASA,eAAe,QAAQ,iBAAiB;AACjD,SAA0CC,iBAAiB;AAI3D;AACA;AACA;AACA,OAAO,MAAMC,cAAc,CAAC;EACxB,OAAOC,YAAYA,CAACC,QAAkB,EAAY;IAC9C,OAAO;MACHC,EAAE,EAAED,QAAQ,CAACC,EAAE;MACfC,KAAK,EAAE,QAAQ;MACfC,WAAW,EAAE,IAAI;MACjBC,IAAI,EAAEP,iBAAiB,CAACQ,KAAK,CAACL,QAAQ;IAC1C,CAAC;EACL;EAEA,OAAOM,UAAUA,CAACC,MAAc,EAAY;IACxC,OAAO;MACHN,EAAE,EAAEM,MAAM,CAACN,EAAE;MACbC,KAAK,EAAE,QAAQ;MACfC,WAAW,EAAE,KAAK;MAClBC,IAAI,EAAER,eAAe,CAACS,KAAK,CAACE,MAAM;IACtC,CAAC;EACL;AACJ","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export * from "./DocumentListPresenter.js";
2
+ export * from "./TableRowMapper.js";
@@ -0,0 +1,4 @@
1
+ export * from "./DocumentListPresenter.js";
2
+ export * from "./TableRowMapper.js";
3
+
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./DocumentListPresenter.js\";\nexport * from \"./TableRowMapper.js\";\n"],"mappings":"AAAA;AACA","ignoreList":[]}
@@ -0,0 +1,22 @@
1
+ export declare const useDocumentList: () => {
2
+ vm: {
3
+ folderId: string;
4
+ title: string | undefined;
5
+ data: import("./presenters").TableRow[];
6
+ selected: any[];
7
+ meta: {
8
+ totalCount: number;
9
+ currentCount: number;
10
+ };
11
+ sorting: import("@webiny/app-utils").ColumnSorting[];
12
+ searchQuery: string;
13
+ searchLabel: string;
14
+ isSearch: boolean;
15
+ isEmpty: boolean;
16
+ isRoot: boolean;
17
+ isLoading: boolean;
18
+ isLoadingMore: boolean;
19
+ isFilterVisible: boolean;
20
+ };
21
+ showFilters: (show: boolean) => void;
22
+ };
@@ -0,0 +1,77 @@
1
+ import { useCallback, useState, useMemo, useEffect, useRef } from "react";
2
+ import { autorun } from "mobx";
3
+ import { useGetFolderHierarchy, useListFoldersByParentIds, useNavigateFolder } from "@webiny/app-aco";
4
+ import { useDocumentListPresenter } from "./presenters/DocumentListPresenterContext";
5
+ import { useFilterRedirects, useLoadRedirects } from "../../../features/redirects/index.js";
6
+ import { useSelectRedirects } from "../../../features/redirects/selectRedirects/useSelectRedirects";
7
+ export const useDocumentList = () => {
8
+ const isFirstLoad = useRef(true);
9
+ const {
10
+ folders,
11
+ getFolderHierarchy
12
+ } = useGetFolderHierarchy();
13
+ const {
14
+ listFoldersByParentIds
15
+ } = useListFoldersByParentIds();
16
+ const {
17
+ currentFolderId
18
+ } = useNavigateFolder();
19
+ const {
20
+ loadRedirects: listDocuments
21
+ } = useLoadRedirects();
22
+ const {
23
+ filterRedirects: filterDocuments
24
+ } = useFilterRedirects();
25
+ const {
26
+ selectRedirects: selectDocuments
27
+ } = useSelectRedirects();
28
+ const presenter = useDocumentListPresenter();
29
+ const params = useMemo(() => ({
30
+ folderId: currentFolderId
31
+ }), [currentFolderId]);
32
+ useEffect(() => {
33
+ presenter.init(params);
34
+ }, [params, presenter]);
35
+ const [vm, setVm] = useState(presenter.vm);
36
+ useEffect(() => {
37
+ return autorun(() => {
38
+ setVm(presenter.vm);
39
+ });
40
+ }, [presenter]);
41
+ const showFilters = useCallback(show => {
42
+ presenter.showFilters(show);
43
+
44
+ // When set to false, it will also clear any applied document filters for the current folder.
45
+ if (!show) {
46
+ filterDocuments({}, currentFolderId);
47
+ }
48
+ }, [presenter]);
49
+ useEffect(() => {
50
+ // The folders collection is empty, it must be the first render, let's load the full hierarchy.
51
+ if (folders.length === 0) {
52
+ getFolderHierarchy(vm.folderId);
53
+ } else {
54
+ // Otherwise let's load only the current folder sub-tree
55
+ listFoldersByParentIds([vm.folderId]);
56
+ }
57
+
58
+ // Close the filter list
59
+ presenter.showFilters(false);
60
+
61
+ // Unselect any selected items
62
+ selectDocuments([]);
63
+
64
+ // List all documents when the current folder changes.
65
+ listDocuments({
66
+ folderId: vm.folderId,
67
+ resetSearch: !isFirstLoad.current
68
+ });
69
+ isFirstLoad.current = false;
70
+ }, [vm.folderId]);
71
+ return {
72
+ vm,
73
+ showFilters
74
+ };
75
+ };
76
+
77
+ //# sourceMappingURL=useDocumentList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useState","useMemo","useEffect","useRef","autorun","useGetFolderHierarchy","useListFoldersByParentIds","useNavigateFolder","useDocumentListPresenter","useFilterRedirects","useLoadRedirects","useSelectRedirects","useDocumentList","isFirstLoad","folders","getFolderHierarchy","listFoldersByParentIds","currentFolderId","loadRedirects","listDocuments","filterRedirects","filterDocuments","selectRedirects","selectDocuments","presenter","params","folderId","init","vm","setVm","showFilters","show","length","resetSearch","current"],"sources":["useDocumentList.ts"],"sourcesContent":["import { useCallback, useState, useMemo, useEffect, useRef } from \"react\";\nimport { autorun } from \"mobx\";\nimport {\n useGetFolderHierarchy,\n useListFoldersByParentIds,\n useNavigateFolder\n} from \"@webiny/app-aco\";\nimport { useDocumentListPresenter } from \"./presenters/DocumentListPresenterContext\";\nimport { useFilterRedirects, useLoadRedirects } from \"~/features/redirects/index.js\";\nimport { useSelectRedirects } from \"~/features/redirects/selectRedirects/useSelectRedirects\";\n\nexport const useDocumentList = () => {\n const isFirstLoad = useRef(true);\n const { folders, getFolderHierarchy } = useGetFolderHierarchy();\n const { listFoldersByParentIds } = useListFoldersByParentIds();\n const { currentFolderId } = useNavigateFolder();\n const { loadRedirects: listDocuments } = useLoadRedirects();\n const { filterRedirects: filterDocuments } = useFilterRedirects();\n const { selectRedirects: selectDocuments } = useSelectRedirects();\n const presenter = useDocumentListPresenter();\n\n const params = useMemo(\n () => ({\n folderId: currentFolderId\n }),\n [currentFolderId]\n );\n\n useEffect(() => {\n presenter.init(params);\n }, [params, presenter]);\n\n const [vm, setVm] = useState(presenter.vm);\n\n useEffect(() => {\n return autorun(() => {\n setVm(presenter.vm);\n });\n }, [presenter]);\n\n const showFilters = useCallback(\n (show: boolean) => {\n presenter.showFilters(show);\n\n // When set to false, it will also clear any applied document filters for the current folder.\n if (!show) {\n filterDocuments({}, currentFolderId);\n }\n },\n [presenter]\n );\n\n useEffect(() => {\n // The folders collection is empty, it must be the first render, let's load the full hierarchy.\n if (folders.length === 0) {\n getFolderHierarchy(vm.folderId);\n } else {\n // Otherwise let's load only the current folder sub-tree\n listFoldersByParentIds([vm.folderId]);\n }\n\n // Close the filter list\n presenter.showFilters(false);\n\n // Unselect any selected items\n selectDocuments([]);\n\n // List all documents when the current folder changes.\n listDocuments({\n folderId: vm.folderId,\n resetSearch: !isFirstLoad.current\n });\n isFirstLoad.current = false;\n }, [vm.folderId]);\n\n return {\n vm,\n showFilters\n };\n};\n"],"mappings":"AAAA,SAASA,WAAW,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AACzE,SAASC,OAAO,QAAQ,MAAM;AAC9B,SACIC,qBAAqB,EACrBC,yBAAyB,EACzBC,iBAAiB,QACd,iBAAiB;AACxB,SAASC,wBAAwB;AACjC,SAASC,kBAAkB,EAAEC,gBAAgB;AAC7C,SAASC,kBAAkB;AAE3B,OAAO,MAAMC,eAAe,GAAGA,CAAA,KAAM;EACjC,MAAMC,WAAW,GAAGV,MAAM,CAAC,IAAI,CAAC;EAChC,MAAM;IAAEW,OAAO;IAAEC;EAAmB,CAAC,GAAGV,qBAAqB,CAAC,CAAC;EAC/D,MAAM;IAAEW;EAAuB,CAAC,GAAGV,yBAAyB,CAAC,CAAC;EAC9D,MAAM;IAAEW;EAAgB,CAAC,GAAGV,iBAAiB,CAAC,CAAC;EAC/C,MAAM;IAAEW,aAAa,EAAEC;EAAc,CAAC,GAAGT,gBAAgB,CAAC,CAAC;EAC3D,MAAM;IAAEU,eAAe,EAAEC;EAAgB,CAAC,GAAGZ,kBAAkB,CAAC,CAAC;EACjE,MAAM;IAAEa,eAAe,EAAEC;EAAgB,CAAC,GAAGZ,kBAAkB,CAAC,CAAC;EACjE,MAAMa,SAAS,GAAGhB,wBAAwB,CAAC,CAAC;EAE5C,MAAMiB,MAAM,GAAGxB,OAAO,CAClB,OAAO;IACHyB,QAAQ,EAAET;EACd,CAAC,CAAC,EACF,CAACA,eAAe,CACpB,CAAC;EAEDf,SAAS,CAAC,MAAM;IACZsB,SAAS,CAACG,IAAI,CAACF,MAAM,CAAC;EAC1B,CAAC,EAAE,CAACA,MAAM,EAAED,SAAS,CAAC,CAAC;EAEvB,MAAM,CAACI,EAAE,EAAEC,KAAK,CAAC,GAAG7B,QAAQ,CAACwB,SAAS,CAACI,EAAE,CAAC;EAE1C1B,SAAS,CAAC,MAAM;IACZ,OAAOE,OAAO,CAAC,MAAM;MACjByB,KAAK,CAACL,SAAS,CAACI,EAAE,CAAC;IACvB,CAAC,CAAC;EACN,CAAC,EAAE,CAACJ,SAAS,CAAC,CAAC;EAEf,MAAMM,WAAW,GAAG/B,WAAW,CAC1BgC,IAAa,IAAK;IACfP,SAAS,CAACM,WAAW,CAACC,IAAI,CAAC;;IAE3B;IACA,IAAI,CAACA,IAAI,EAAE;MACPV,eAAe,CAAC,CAAC,CAAC,EAAEJ,eAAe,CAAC;IACxC;EACJ,CAAC,EACD,CAACO,SAAS,CACd,CAAC;EAEDtB,SAAS,CAAC,MAAM;IACZ;IACA,IAAIY,OAAO,CAACkB,MAAM,KAAK,CAAC,EAAE;MACtBjB,kBAAkB,CAACa,EAAE,CAACF,QAAQ,CAAC;IACnC,CAAC,MAAM;MACH;MACAV,sBAAsB,CAAC,CAACY,EAAE,CAACF,QAAQ,CAAC,CAAC;IACzC;;IAEA;IACAF,SAAS,CAACM,WAAW,CAAC,KAAK,CAAC;;IAE5B;IACAP,eAAe,CAAC,EAAE,CAAC;;IAEnB;IACAJ,aAAa,CAAC;MACVO,QAAQ,EAAEE,EAAE,CAACF,QAAQ;MACrBO,WAAW,EAAE,CAACpB,WAAW,CAACqB;IAC9B,CAAC,CAAC;IACFrB,WAAW,CAACqB,OAAO,GAAG,KAAK;EAC/B,CAAC,EAAE,CAACN,EAAE,CAACF,QAAQ,CAAC,CAAC;EAEjB,OAAO;IACHE,EAAE;IACFE;EACJ,CAAC;AACL,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const RedirectsList: () => React.JSX.Element;
@@ -0,0 +1,20 @@
1
+ import React from "react";
2
+ import { CompositionScope, DialogsProvider } from "@webiny/app-admin";
3
+ import { AcoWithConfig } from "@webiny/app-aco";
4
+ import { AdminLayout } from "@webiny/app-admin/components/AdminLayout.js";
5
+ import { FoldersProvider } from "@webiny/app-aco/contexts/folders.js";
6
+ import { DocumentList } from "./RedirectsList/DocumentList.js";
7
+ import { WB_REDIRECTS_APP } from "../../constants.js";
8
+ import { NavigateFolderProvider } from "./RedirectsList/NavigateFolderProvider";
9
+ import { RedirectListWithConfig } from "./configs";
10
+ export const RedirectsList = () => {
11
+ return /*#__PURE__*/React.createElement(CompositionScope, {
12
+ name: "wbRedirect"
13
+ }, /*#__PURE__*/React.createElement(AdminLayout, {
14
+ title: "Redirects - Website Builder"
15
+ }, /*#__PURE__*/React.createElement(RedirectListWithConfig, null, /*#__PURE__*/React.createElement(AcoWithConfig, null, /*#__PURE__*/React.createElement(FoldersProvider, {
16
+ type: WB_REDIRECTS_APP
17
+ }, /*#__PURE__*/React.createElement(NavigateFolderProvider, null, /*#__PURE__*/React.createElement(DialogsProvider, null, /*#__PURE__*/React.createElement(DocumentList, null))))))));
18
+ };
19
+
20
+ //# sourceMappingURL=RedirectsList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","CompositionScope","DialogsProvider","AcoWithConfig","AdminLayout","FoldersProvider","DocumentList","WB_REDIRECTS_APP","NavigateFolderProvider","RedirectListWithConfig","RedirectsList","createElement","name","title","type"],"sources":["RedirectsList.tsx"],"sourcesContent":["import React from \"react\";\nimport { CompositionScope, DialogsProvider } from \"@webiny/app-admin\";\nimport { AcoWithConfig } from \"@webiny/app-aco\";\nimport { AdminLayout } from \"@webiny/app-admin/components/AdminLayout.js\";\nimport { FoldersProvider } from \"@webiny/app-aco/contexts/folders.js\";\nimport { DocumentList } from \"./RedirectsList/DocumentList.js\";\nimport { WB_REDIRECTS_APP } from \"~/constants.js\";\nimport { NavigateFolderProvider } from \"~/modules/redirects/RedirectsList/NavigateFolderProvider\";\nimport { RedirectListWithConfig } from \"~/modules/redirects/configs\";\n\nexport const RedirectsList = () => {\n return (\n <CompositionScope name={\"wbRedirect\"}>\n <AdminLayout title={\"Redirects - Website Builder\"}>\n <RedirectListWithConfig>\n <AcoWithConfig>\n <FoldersProvider type={WB_REDIRECTS_APP}>\n <NavigateFolderProvider>\n <DialogsProvider>\n <DocumentList />\n </DialogsProvider>\n </NavigateFolderProvider>\n </FoldersProvider>\n </AcoWithConfig>\n </RedirectListWithConfig>\n </AdminLayout>\n </CompositionScope>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,gBAAgB,EAAEC,eAAe,QAAQ,mBAAmB;AACrE,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,WAAW,QAAQ,6CAA6C;AACzE,SAASC,eAAe,QAAQ,qCAAqC;AACrE,SAASC,YAAY;AACrB,SAASC,gBAAgB;AACzB,SAASC,sBAAsB;AAC/B,SAASC,sBAAsB;AAE/B,OAAO,MAAMC,aAAa,GAAGA,CAAA,KAAM;EAC/B,oBACIV,KAAA,CAAAW,aAAA,CAACV,gBAAgB;IAACW,IAAI,EAAE;EAAa,gBACjCZ,KAAA,CAAAW,aAAA,CAACP,WAAW;IAACS,KAAK,EAAE;EAA8B,gBAC9Cb,KAAA,CAAAW,aAAA,CAACF,sBAAsB,qBACnBT,KAAA,CAAAW,aAAA,CAACR,aAAa,qBACVH,KAAA,CAAAW,aAAA,CAACN,eAAe;IAACS,IAAI,EAAEP;EAAiB,gBACpCP,KAAA,CAAAW,aAAA,CAACH,sBAAsB,qBACnBR,KAAA,CAAAW,aAAA,CAACT,eAAe,qBACZF,KAAA,CAAAW,aAAA,CAACL,YAAY,MAAE,CACF,CACG,CACX,CACN,CACK,CACf,CACC,CAAC;AAE3B,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const RedirectsListConfig: () => React.JSX.Element;
@@ -0,0 +1,78 @@
1
+ import React from "react";
2
+ import { RedirectListConfig } from "./configs";
3
+ import { DeleteFolder, EditFolder, SetFolderPermissions } from "@webiny/app-aco";
4
+ import { CellActions, CellAuthor, CellCreated, CellModified, CellName, CellEnabled, Delete, Edit, Move } from "./RedirectsList/components/Table/index.js";
5
+ import { BulkActionDelete, BulkActionMove } from "./RedirectsList/components/BulkActions/index.js";
6
+ import { FilterByStatus } from "./RedirectsList/components/Filters/index.js";
7
+ const {
8
+ Browser
9
+ } = RedirectListConfig;
10
+ export const RedirectsListConfig = () => {
11
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(RedirectListConfig, null, /*#__PURE__*/React.createElement(Browser.Filter, {
12
+ name: "status",
13
+ element: /*#__PURE__*/React.createElement(FilterByStatus, null)
14
+ }), /*#__PURE__*/React.createElement(Browser.Folder.Action, {
15
+ name: "edit",
16
+ element: /*#__PURE__*/React.createElement(EditFolder, null)
17
+ }), /*#__PURE__*/React.createElement(Browser.Folder.Action, {
18
+ name: "permissions",
19
+ element: /*#__PURE__*/React.createElement(SetFolderPermissions, null)
20
+ }), /*#__PURE__*/React.createElement(Browser.Folder.Action, {
21
+ name: "delete",
22
+ element: /*#__PURE__*/React.createElement(DeleteFolder, null)
23
+ }), /*#__PURE__*/React.createElement(Browser.Record.Action, {
24
+ name: "edit",
25
+ element: /*#__PURE__*/React.createElement(Edit, null)
26
+ }), /*#__PURE__*/React.createElement(Browser.Record.Action, {
27
+ name: "moveToFolder",
28
+ element: /*#__PURE__*/React.createElement(Move, null)
29
+ }), /*#__PURE__*/React.createElement(Browser.Record.Action, {
30
+ name: "delete",
31
+ element: /*#__PURE__*/React.createElement(Delete, null)
32
+ }), /*#__PURE__*/React.createElement(Browser.BulkAction, {
33
+ name: "moveRedirects",
34
+ element: /*#__PURE__*/React.createElement(BulkActionMove, null)
35
+ }), /*#__PURE__*/React.createElement(Browser.BulkAction, {
36
+ name: "deleteRedirects",
37
+ element: /*#__PURE__*/React.createElement(BulkActionDelete, null)
38
+ }), /*#__PURE__*/React.createElement(Browser.Table.Column, {
39
+ name: "title",
40
+ header: "From / To",
41
+ cell: /*#__PURE__*/React.createElement(CellName, null),
42
+ sortable: false,
43
+ hideable: false,
44
+ size: 200
45
+ }), /*#__PURE__*/React.createElement(Browser.Table.Column, {
46
+ name: "data.redirectType",
47
+ header: "Type"
48
+ }), /*#__PURE__*/React.createElement(Browser.Table.Column, {
49
+ name: "createdBy",
50
+ header: "Author",
51
+ cell: /*#__PURE__*/React.createElement(CellAuthor, null)
52
+ }), /*#__PURE__*/React.createElement(Browser.Table.Column, {
53
+ name: "createdOn",
54
+ header: "Created",
55
+ cell: /*#__PURE__*/React.createElement(CellCreated, null),
56
+ sortable: true
57
+ }), /*#__PURE__*/React.createElement(Browser.Table.Column, {
58
+ name: "savedOn",
59
+ header: "Modified",
60
+ cell: /*#__PURE__*/React.createElement(CellModified, null),
61
+ sortable: true
62
+ }), /*#__PURE__*/React.createElement(Browser.Table.Column, {
63
+ name: "isEnabled",
64
+ header: "Is Enabled?",
65
+ cell: /*#__PURE__*/React.createElement(CellEnabled, null),
66
+ sortable: true
67
+ }), /*#__PURE__*/React.createElement(Browser.Table.Column, {
68
+ name: "actions",
69
+ header: "",
70
+ cell: /*#__PURE__*/React.createElement(CellActions, null),
71
+ size: 56,
72
+ resizable: false,
73
+ hideable: false,
74
+ className: "wby-text-right"
75
+ })));
76
+ };
77
+
78
+ //# sourceMappingURL=RedirectsListConfig.js.map