@strato-admin/faker-ecommerce 0.1.1 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (519) hide show
  1. package/dist/dataProvider.js +1 -2
  2. package/dist/generate.d.ts +2 -1
  3. package/dist/generate.js +15 -8
  4. package/dist/ra-core/src/auth/LogoutOnMount.d.ts +8 -0
  5. package/dist/ra-core/src/auth/LogoutOnMount.js +16 -0
  6. package/dist/ra-core/src/auth/addRefreshAuthToAuthProvider.d.ts +22 -0
  7. package/dist/ra-core/src/auth/addRefreshAuthToAuthProvider.js +41 -0
  8. package/dist/ra-core/src/auth/addRefreshAuthToDataProvider.d.ts +21 -0
  9. package/dist/ra-core/src/auth/addRefreshAuthToDataProvider.js +30 -0
  10. package/dist/ra-core/src/auth/convertLegacyAuthProvider.d.ts +12 -0
  11. package/dist/ra-core/src/auth/convertLegacyAuthProvider.js +19 -0
  12. package/dist/ra-core/src/auth/index.d.ts +27 -0
  13. package/dist/ra-core/src/auth/index.js +34 -0
  14. package/dist/ra-core/src/auth/types.d.ts +7 -0
  15. package/dist/ra-core/src/auth/types.js +5 -0
  16. package/dist/ra-core/src/auth/useAuthProvider.d.ts +10 -0
  17. package/dist/ra-core/src/auth/useAuthProvider.js +11 -0
  18. package/dist/ra-core/src/auth/useAuthState.d.ts +48 -0
  19. package/dist/ra-core/src/auth/useAuthState.js +171 -0
  20. package/dist/ra-core/src/auth/useAuthenticated.d.ts +36 -0
  21. package/dist/ra-core/src/auth/useAuthenticated.js +34 -0
  22. package/dist/ra-core/src/auth/useCanAccess.d.ts +56 -0
  23. package/dist/ra-core/src/auth/useCanAccess.js +108 -0
  24. package/dist/ra-core/src/auth/useCanAccessCallback.d.ts +39 -0
  25. package/dist/ra-core/src/auth/useCanAccessCallback.js +45 -0
  26. package/dist/ra-core/src/auth/useCanAccessResources.d.ts +67 -0
  27. package/dist/ra-core/src/auth/useCanAccessResources.js +92 -0
  28. package/dist/ra-core/src/auth/useCheckAuth.d.ts +48 -0
  29. package/dist/ra-core/src/auth/useCheckAuth.js +76 -0
  30. package/dist/ra-core/src/auth/useGetIdentity.d.ts +41 -0
  31. package/dist/ra-core/src/auth/useGetIdentity.js +86 -0
  32. package/dist/ra-core/src/auth/useGetPermissions.d.ts +41 -0
  33. package/dist/ra-core/src/auth/useGetPermissions.js +47 -0
  34. package/dist/ra-core/src/auth/useHandleAuthCallback.d.ts +20 -0
  35. package/dist/ra-core/src/auth/useHandleAuthCallback.js +83 -0
  36. package/dist/ra-core/src/auth/useIsAuthPending.d.ts +13 -0
  37. package/dist/ra-core/src/auth/useIsAuthPending.js +30 -0
  38. package/dist/ra-core/src/auth/useLogin.d.ts +34 -0
  39. package/dist/ra-core/src/auth/useLogin.js +78 -0
  40. package/dist/ra-core/src/auth/useLogout.d.ts +31 -0
  41. package/dist/ra-core/src/auth/useLogout.js +117 -0
  42. package/dist/ra-core/src/auth/useLogoutIfAccessDenied.d.ts +42 -0
  43. package/dist/ra-core/src/auth/useLogoutIfAccessDenied.js +111 -0
  44. package/dist/ra-core/src/auth/usePermissions.d.ts +41 -0
  45. package/dist/ra-core/src/auth/usePermissions.js +123 -0
  46. package/dist/ra-core/src/controller/button/index.d.ts +7 -0
  47. package/dist/ra-core/src/controller/button/index.js +7 -0
  48. package/dist/ra-core/src/controller/button/useBulkDeleteController.d.ts +14 -0
  49. package/dist/ra-core/src/controller/button/useBulkDeleteController.js +66 -0
  50. package/dist/ra-core/src/controller/create/index.d.ts +6 -0
  51. package/dist/ra-core/src/controller/create/index.js +6 -0
  52. package/dist/ra-core/src/controller/create/useCreateController.d.ts +50 -0
  53. package/dist/ra-core/src/controller/create/useCreateController.js +149 -0
  54. package/dist/ra-core/src/controller/edit/index.d.ts +6 -0
  55. package/dist/ra-core/src/controller/edit/index.js +6 -0
  56. package/dist/ra-core/src/controller/edit/useEditController.d.ts +72 -0
  57. package/dist/ra-core/src/controller/edit/useEditController.js +206 -0
  58. package/dist/ra-core/src/controller/field/index.d.ts +12 -0
  59. package/dist/ra-core/src/controller/field/index.js +12 -0
  60. package/dist/ra-core/src/controller/field/sanitizeFieldRestProps.d.ts +1 -0
  61. package/dist/ra-core/src/controller/field/sanitizeFieldRestProps.js +1 -0
  62. package/dist/ra-core/src/controller/field/types.d.ts +28 -0
  63. package/dist/ra-core/src/controller/field/types.js +1 -0
  64. package/dist/ra-core/src/controller/field/useReferenceArrayFieldController.d.ts +39 -0
  65. package/dist/ra-core/src/controller/field/useReferenceArrayFieldController.js +82 -0
  66. package/dist/ra-core/src/controller/field/useReferenceFieldController.d.ts +14 -0
  67. package/dist/ra-core/src/controller/field/useReferenceFieldController.js +31 -0
  68. package/dist/ra-core/src/controller/field/useReferenceManyFieldController.d.ts +49 -0
  69. package/dist/ra-core/src/controller/field/useReferenceManyFieldController.js +264 -0
  70. package/dist/ra-core/src/controller/index.d.ts +17 -0
  71. package/dist/ra-core/src/controller/index.js +16 -0
  72. package/dist/ra-core/src/controller/input/ArrayInputContext.d.ts +9 -0
  73. package/dist/ra-core/src/controller/input/ArrayInputContext.js +8 -0
  74. package/dist/ra-core/src/controller/input/SimpleFormIteratorContext.d.ts +15 -0
  75. package/dist/ra-core/src/controller/input/SimpleFormIteratorContext.js +8 -0
  76. package/dist/ra-core/src/controller/input/SimpleFormIteratorItemContext.d.ts +13 -0
  77. package/dist/ra-core/src/controller/input/SimpleFormIteratorItemContext.js +8 -0
  78. package/dist/ra-core/src/controller/input/index.d.ts +17 -0
  79. package/dist/ra-core/src/controller/input/index.js +17 -0
  80. package/dist/ra-core/src/controller/input/referenceDataStatus.d.ts +32 -0
  81. package/dist/ra-core/src/controller/input/referenceDataStatus.js +74 -0
  82. package/dist/ra-core/src/controller/input/sanitizeInputRestProps.d.ts +1 -0
  83. package/dist/ra-core/src/controller/input/sanitizeInputRestProps.js +1 -0
  84. package/dist/ra-core/src/controller/input/types.d.ts +3 -0
  85. package/dist/ra-core/src/controller/input/types.js +1 -0
  86. package/dist/ra-core/src/controller/input/useArrayInput.d.ts +8 -0
  87. package/dist/ra-core/src/controller/input/useArrayInput.js +29 -0
  88. package/dist/ra-core/src/controller/input/useGetArrayInputNewItemDefaults.d.ts +3 -0
  89. package/dist/ra-core/src/controller/input/useGetArrayInputNewItemDefaults.js +37 -0
  90. package/dist/ra-core/src/controller/input/useReferenceArrayInputController.d.ts +48 -0
  91. package/dist/ra-core/src/controller/input/useReferenceArrayInputController.js +137 -0
  92. package/dist/ra-core/src/controller/input/useReferenceInputController.d.ts +54 -0
  93. package/dist/ra-core/src/controller/input/useReferenceInputController.js +208 -0
  94. package/dist/ra-core/src/controller/input/useReferenceParams.d.ts +106 -0
  95. package/dist/ra-core/src/controller/input/useReferenceParams.js +226 -0
  96. package/dist/ra-core/src/controller/input/useSimpleFormIterator.d.ts +7 -0
  97. package/dist/ra-core/src/controller/input/useSimpleFormIterator.js +15 -0
  98. package/dist/ra-core/src/controller/input/useSimpleFormIteratorItem.d.ts +7 -0
  99. package/dist/ra-core/src/controller/input/useSimpleFormIteratorItem.js +15 -0
  100. package/dist/ra-core/src/controller/list/InfinitePaginationContext.d.ts +25 -0
  101. package/dist/ra-core/src/controller/list/InfinitePaginationContext.js +32 -0
  102. package/dist/ra-core/src/controller/list/index.d.ts +30 -0
  103. package/dist/ra-core/src/controller/list/index.js +30 -0
  104. package/dist/ra-core/src/controller/list/queryReducer.d.ts +45 -0
  105. package/dist/ra-core/src/controller/list/queryReducer.js +85 -0
  106. package/dist/ra-core/src/controller/list/useFilterContext.d.ts +2 -0
  107. package/dist/ra-core/src/controller/list/useFilterContext.js +5 -0
  108. package/dist/ra-core/src/controller/list/useInfiniteListController.d.ts +44 -0
  109. package/dist/ra-core/src/controller/list/useInfiniteListController.js +175 -0
  110. package/dist/ra-core/src/controller/list/useInfinitePaginationContext.d.ts +16 -0
  111. package/dist/ra-core/src/controller/list/useInfinitePaginationContext.js +17 -0
  112. package/dist/ra-core/src/controller/list/useList.d.ts +55 -0
  113. package/dist/ra-core/src/controller/list/useList.js +223 -0
  114. package/dist/ra-core/src/controller/list/useListContext.d.ts +59 -0
  115. package/dist/ra-core/src/controller/list/useListContext.js +65 -0
  116. package/dist/ra-core/src/controller/list/useListContextWithProps.d.ts +44 -0
  117. package/dist/ra-core/src/controller/list/useListContextWithProps.js +84 -0
  118. package/dist/ra-core/src/controller/list/useListController.d.ts +296 -0
  119. package/dist/ra-core/src/controller/list/useListController.js +234 -0
  120. package/dist/ra-core/src/controller/list/useListFilterContext.d.ts +11 -0
  121. package/dist/ra-core/src/controller/list/useListFilterContext.js +18 -0
  122. package/dist/ra-core/src/controller/list/useListPaginationContext.d.ts +12 -0
  123. package/dist/ra-core/src/controller/list/useListPaginationContext.js +19 -0
  124. package/dist/ra-core/src/controller/list/useListParams.d.ts +116 -0
  125. package/dist/ra-core/src/controller/list/useListParams.js +281 -0
  126. package/dist/ra-core/src/controller/list/useListSortContext.d.ts +12 -0
  127. package/dist/ra-core/src/controller/list/useListSortContext.js +19 -0
  128. package/dist/ra-core/src/controller/list/useRecordSelection.d.ts +32 -0
  129. package/dist/ra-core/src/controller/list/useRecordSelection.js +93 -0
  130. package/dist/ra-core/src/controller/list/useSavedQueries.d.ts +14 -0
  131. package/dist/ra-core/src/controller/list/useSavedQueries.js +29 -0
  132. package/dist/ra-core/src/controller/list/useUnselect.d.ts +10 -0
  133. package/dist/ra-core/src/controller/list/useUnselect.js +18 -0
  134. package/dist/ra-core/src/controller/list/useUnselectAll.d.ts +9 -0
  135. package/dist/ra-core/src/controller/list/useUnselectAll.js +18 -0
  136. package/dist/ra-core/src/controller/record/index.d.ts +5 -0
  137. package/dist/ra-core/src/controller/record/index.js +5 -0
  138. package/dist/ra-core/src/controller/record/useRecordContext.d.ts +34 -0
  139. package/dist/ra-core/src/controller/record/useRecordContext.js +36 -0
  140. package/dist/ra-core/src/controller/saveContext/SaveContext.d.ts +20 -0
  141. package/dist/ra-core/src/controller/saveContext/SaveContext.js +2 -0
  142. package/dist/ra-core/src/controller/saveContext/index.d.ts +6 -0
  143. package/dist/ra-core/src/controller/saveContext/index.js +6 -0
  144. package/dist/ra-core/src/controller/saveContext/useMutationMiddlewares.d.ts +39 -0
  145. package/dist/ra-core/src/controller/saveContext/useMutationMiddlewares.js +79 -0
  146. package/dist/ra-core/src/controller/saveContext/usePickSaveContext.d.ts +5 -0
  147. package/dist/ra-core/src/controller/saveContext/usePickSaveContext.js +25 -0
  148. package/dist/ra-core/src/controller/saveContext/useRegisterMutationMiddleware.d.ts +6 -0
  149. package/dist/ra-core/src/controller/saveContext/useRegisterMutationMiddleware.js +18 -0
  150. package/dist/ra-core/src/controller/saveContext/useSaveContext.d.ts +14 -0
  151. package/dist/ra-core/src/controller/saveContext/useSaveContext.js +17 -0
  152. package/dist/ra-core/src/controller/show/index.d.ts +6 -0
  153. package/dist/ra-core/src/controller/show/index.js +6 -0
  154. package/dist/ra-core/src/controller/show/useShowController.d.ts +75 -0
  155. package/dist/ra-core/src/controller/show/useShowController.js +110 -0
  156. package/dist/ra-core/src/controller/useFilterState.d.ts +46 -0
  157. package/dist/ra-core/src/controller/useFilterState.js +70 -0
  158. package/dist/ra-core/src/controller/usePaginationState.d.ts +33 -0
  159. package/dist/ra-core/src/controller/usePaginationState.js +45 -0
  160. package/dist/ra-core/src/controller/usePrevNextController.d.ts +127 -0
  161. package/dist/ra-core/src/controller/usePrevNextController.js +215 -0
  162. package/dist/ra-core/src/controller/useReference.d.ts +49 -0
  163. package/dist/ra-core/src/controller/useReference.js +42 -0
  164. package/dist/ra-core/src/controller/useSortState.d.ts +61 -0
  165. package/dist/ra-core/src/controller/useSortState.js +96 -0
  166. package/dist/ra-core/src/core/DefaultTitleContext.d.ts +15 -0
  167. package/dist/ra-core/src/core/DefaultTitleContext.js +15 -0
  168. package/dist/ra-core/src/core/HasDashboardContext.d.ts +21 -0
  169. package/dist/ra-core/src/core/HasDashboardContext.js +22 -0
  170. package/dist/ra-core/src/core/ResourceContext.d.ts +19 -0
  171. package/dist/ra-core/src/core/ResourceContext.js +19 -0
  172. package/dist/ra-core/src/core/UserMenuContext.d.ts +34 -0
  173. package/dist/ra-core/src/core/UserMenuContext.js +28 -0
  174. package/dist/ra-core/src/core/index.d.ts +27 -0
  175. package/dist/ra-core/src/core/index.js +27 -0
  176. package/dist/ra-core/src/core/useGetRecordRepresentation.d.ts +13 -0
  177. package/dist/ra-core/src/core/useGetRecordRepresentation.js +44 -0
  178. package/dist/ra-core/src/core/useGetResourceLabel.d.ts +22 -0
  179. package/dist/ra-core/src/core/useGetResourceLabel.js +42 -0
  180. package/dist/ra-core/src/core/useIsOffline.d.ts +7 -0
  181. package/dist/ra-core/src/core/useIsOffline.js +18 -0
  182. package/dist/ra-core/src/core/useResourceContext.d.ts +36 -0
  183. package/dist/ra-core/src/core/useResourceContext.js +38 -0
  184. package/dist/ra-core/src/core/useResourceDefinition.d.ts +31 -0
  185. package/dist/ra-core/src/core/useResourceDefinition.js +48 -0
  186. package/dist/ra-core/src/core/useResourceDefinitionContext.d.ts +1 -0
  187. package/dist/ra-core/src/core/useResourceDefinitionContext.js +3 -0
  188. package/dist/ra-core/src/core/useResourceDefinitions.d.ts +21 -0
  189. package/dist/ra-core/src/core/useResourceDefinitions.js +20 -0
  190. package/dist/ra-core/src/core/useUserMenu.d.ts +28 -0
  191. package/dist/ra-core/src/core/useUserMenu.js +30 -0
  192. package/dist/ra-core/src/core/useWrappedSource.d.ts +11 -0
  193. package/dist/ra-core/src/core/useWrappedSource.js +15 -0
  194. package/dist/ra-core/src/dataProvider/DataProviderContext.d.ts +3 -0
  195. package/dist/ra-core/src/dataProvider/DataProviderContext.js +4 -0
  196. package/dist/ra-core/src/dataProvider/HttpError.d.ts +6 -0
  197. package/dist/ra-core/src/dataProvider/HttpError.js +19 -0
  198. package/dist/ra-core/src/dataProvider/combineDataProviders.d.ts +21 -0
  199. package/dist/ra-core/src/dataProvider/combineDataProviders.js +32 -0
  200. package/dist/ra-core/src/dataProvider/convertLegacyDataProvider.d.ts +12 -0
  201. package/dist/ra-core/src/dataProvider/convertLegacyDataProvider.js +40 -0
  202. package/dist/ra-core/src/dataProvider/dataFetchActions.d.ts +15 -0
  203. package/dist/ra-core/src/dataProvider/dataFetchActions.js +49 -0
  204. package/dist/ra-core/src/dataProvider/defaultDataProvider.d.ts +2 -0
  205. package/dist/ra-core/src/dataProvider/defaultDataProvider.js +12 -0
  206. package/dist/ra-core/src/dataProvider/fetch.d.ts +32 -0
  207. package/dist/ra-core/src/dataProvider/fetch.js +78 -0
  208. package/dist/ra-core/src/dataProvider/index.d.ts +34 -0
  209. package/dist/ra-core/src/dataProvider/index.js +33 -0
  210. package/dist/ra-core/src/dataProvider/populateQueryCache.d.ts +22 -0
  211. package/dist/ra-core/src/dataProvider/populateQueryCache.js +30 -0
  212. package/dist/ra-core/src/dataProvider/testDataProvider.d.ts +2 -0
  213. package/dist/ra-core/src/dataProvider/testDataProvider.js +41 -0
  214. package/dist/ra-core/src/dataProvider/undo/index.d.ts +6 -0
  215. package/dist/ra-core/src/dataProvider/undo/index.js +6 -0
  216. package/dist/ra-core/src/dataProvider/undo/types.d.ts +3 -0
  217. package/dist/ra-core/src/dataProvider/undo/types.js +1 -0
  218. package/dist/ra-core/src/dataProvider/undoableEventEmitter.d.ts +3 -0
  219. package/dist/ra-core/src/dataProvider/undoableEventEmitter.js +2 -0
  220. package/dist/ra-core/src/dataProvider/useCreate.d.ts +89 -0
  221. package/dist/ra-core/src/dataProvider/useCreate.js +155 -0
  222. package/dist/ra-core/src/dataProvider/useDataProvider.d.ts +2 -0
  223. package/dist/ra-core/src/dataProvider/useDataProvider.js +140 -0
  224. package/dist/ra-core/src/dataProvider/useDelete.d.ts +83 -0
  225. package/dist/ra-core/src/dataProvider/useDelete.js +171 -0
  226. package/dist/ra-core/src/dataProvider/useDeleteMany.d.ts +81 -0
  227. package/dist/ra-core/src/dataProvider/useDeleteMany.js +193 -0
  228. package/dist/ra-core/src/dataProvider/useGetList.d.ts +58 -0
  229. package/dist/ra-core/src/dataProvider/useGetList.js +131 -0
  230. package/dist/ra-core/src/dataProvider/useGetMany.d.ts +49 -0
  231. package/dist/ra-core/src/dataProvider/useGetMany.js +143 -0
  232. package/dist/ra-core/src/dataProvider/useGetManyAggregate.d.ts +62 -0
  233. package/dist/ra-core/src/dataProvider/useGetManyAggregate.js +295 -0
  234. package/dist/ra-core/src/dataProvider/useGetManyReference.d.ts +62 -0
  235. package/dist/ra-core/src/dataProvider/useGetManyReference.js +117 -0
  236. package/dist/ra-core/src/dataProvider/useGetOne.d.ts +48 -0
  237. package/dist/ra-core/src/dataProvider/useGetOne.js +94 -0
  238. package/dist/ra-core/src/dataProvider/useGetRecordId.d.ts +14 -0
  239. package/dist/ra-core/src/dataProvider/useGetRecordId.js +22 -0
  240. package/dist/ra-core/src/dataProvider/useInfiniteGetList.d.ts +64 -0
  241. package/dist/ra-core/src/dataProvider/useInfiniteGetList.js +177 -0
  242. package/dist/ra-core/src/dataProvider/useIsDataLoaded.d.ts +13 -0
  243. package/dist/ra-core/src/dataProvider/useIsDataLoaded.js +35 -0
  244. package/dist/ra-core/src/dataProvider/useLoading.d.ts +12 -0
  245. package/dist/ra-core/src/dataProvider/useLoading.js +41 -0
  246. package/dist/ra-core/src/dataProvider/useMutationWithMutationMode.d.ts +51 -0
  247. package/dist/ra-core/src/dataProvider/useMutationWithMutationMode.js +238 -0
  248. package/dist/ra-core/src/dataProvider/useRefresh.d.ts +14 -0
  249. package/dist/ra-core/src/dataProvider/useRefresh.js +21 -0
  250. package/dist/ra-core/src/dataProvider/useUpdate.d.ts +89 -0
  251. package/dist/ra-core/src/dataProvider/useUpdate.js +183 -0
  252. package/dist/ra-core/src/dataProvider/useUpdateMany.d.ts +81 -0
  253. package/dist/ra-core/src/dataProvider/useUpdateMany.js +171 -0
  254. package/dist/ra-core/src/dataProvider/validateResponseFormat.d.ts +5 -0
  255. package/dist/ra-core/src/dataProvider/validateResponseFormat.js +35 -0
  256. package/dist/ra-core/src/dataProvider/withLifecycleCallbacks.d.ts +162 -0
  257. package/dist/ra-core/src/dataProvider/withLifecycleCallbacks.js +377 -0
  258. package/dist/ra-core/src/dataTable/DataTableCallbacksContext.d.ts +18 -0
  259. package/dist/ra-core/src/dataTable/DataTableCallbacksContext.js +3 -0
  260. package/dist/ra-core/src/dataTable/DataTableColumnFilterContext.d.ts +2 -0
  261. package/dist/ra-core/src/dataTable/DataTableColumnFilterContext.js +3 -0
  262. package/dist/ra-core/src/dataTable/DataTableColumnRankContext.d.ts +2 -0
  263. package/dist/ra-core/src/dataTable/DataTableColumnRankContext.js +3 -0
  264. package/dist/ra-core/src/dataTable/DataTableConfigContext.d.ts +22 -0
  265. package/dist/ra-core/src/dataTable/DataTableConfigContext.js +7 -0
  266. package/dist/ra-core/src/dataTable/DataTableDataContext.d.ts +4 -0
  267. package/dist/ra-core/src/dataTable/DataTableDataContext.js +3 -0
  268. package/dist/ra-core/src/dataTable/DataTableRenderContext.d.ts +3 -0
  269. package/dist/ra-core/src/dataTable/DataTableRenderContext.js +3 -0
  270. package/dist/ra-core/src/dataTable/DataTableSelectedIdsContext.d.ts +3 -0
  271. package/dist/ra-core/src/dataTable/DataTableSelectedIdsContext.js +3 -0
  272. package/dist/ra-core/src/dataTable/DataTableSortContext.d.ts +3 -0
  273. package/dist/ra-core/src/dataTable/DataTableSortContext.js +3 -0
  274. package/dist/ra-core/src/dataTable/DataTableStoreContext.d.ts +8 -0
  275. package/dist/ra-core/src/dataTable/DataTableStoreContext.js +6 -0
  276. package/dist/ra-core/src/dataTable/index.d.ts +11 -0
  277. package/dist/ra-core/src/dataTable/index.js +11 -0
  278. package/dist/ra-core/src/dataTable/types.d.ts +2 -0
  279. package/dist/ra-core/src/dataTable/types.js +1 -0
  280. package/dist/ra-core/src/export/ExporterContext.d.ts +2 -0
  281. package/dist/ra-core/src/export/ExporterContext.js +4 -0
  282. package/dist/ra-core/src/export/defaultExporter.d.ts +2 -0
  283. package/dist/ra-core/src/export/defaultExporter.js +3 -0
  284. package/dist/ra-core/src/export/downloadCSV.d.ts +1 -0
  285. package/dist/ra-core/src/export/downloadCSV.js +17 -0
  286. package/dist/ra-core/src/export/fetchRelatedRecords.d.ts +14 -0
  287. package/dist/ra-core/src/export/fetchRelatedRecords.js +19 -0
  288. package/dist/ra-core/src/export/getRelatedIds.d.ts +24 -0
  289. package/dist/ra-core/src/export/getRelatedIds.js +26 -0
  290. package/dist/ra-core/src/export/index.d.ts +5 -0
  291. package/dist/ra-core/src/export/index.js +5 -0
  292. package/dist/ra-core/src/export/useBulkExport.d.ts +11 -0
  293. package/dist/ra-core/src/export/useBulkExport.js +30 -0
  294. package/dist/ra-core/src/form/WarnWhenUnsavedChanges.d.ts +5 -0
  295. package/dist/ra-core/src/form/WarnWhenUnsavedChanges.js +5 -0
  296. package/dist/ra-core/src/form/choices/ChoicesContext.d.ts +65 -0
  297. package/dist/ra-core/src/form/choices/ChoicesContext.js +7 -0
  298. package/dist/ra-core/src/form/choices/index.d.ts +4 -0
  299. package/dist/ra-core/src/form/choices/index.js +4 -0
  300. package/dist/ra-core/src/form/choices/useChoicesContext.d.ts +5 -0
  301. package/dist/ra-core/src/form/choices/useChoicesContext.js +62 -0
  302. package/dist/ra-core/src/form/getFormInitialValues.d.ts +8 -0
  303. package/dist/ra-core/src/form/getFormInitialValues.js +14 -0
  304. package/dist/ra-core/src/form/groups/FormGroupContext.d.ts +9 -0
  305. package/dist/ra-core/src/form/groups/FormGroupContext.js +9 -0
  306. package/dist/ra-core/src/form/groups/index.d.ts +6 -0
  307. package/dist/ra-core/src/form/groups/index.js +6 -0
  308. package/dist/ra-core/src/form/groups/useFormGroup.d.ts +67 -0
  309. package/dist/ra-core/src/form/groups/useFormGroup.js +146 -0
  310. package/dist/ra-core/src/form/groups/useFormGroupContext.d.ts +4 -0
  311. package/dist/ra-core/src/form/groups/useFormGroupContext.js +9 -0
  312. package/dist/ra-core/src/form/groups/useFormGroups.d.ts +4 -0
  313. package/dist/ra-core/src/form/groups/useFormGroups.js +9 -0
  314. package/dist/ra-core/src/form/index.d.ts +14 -0
  315. package/dist/ra-core/src/form/index.js +14 -0
  316. package/dist/ra-core/src/form/sanitizeEmptyValues.d.ts +7 -0
  317. package/dist/ra-core/src/form/sanitizeEmptyValues.js +26 -0
  318. package/dist/ra-core/src/form/useApplyInputDefaultValues.d.ts +19 -0
  319. package/dist/ra-core/src/form/useApplyInputDefaultValues.js +71 -0
  320. package/dist/ra-core/src/form/useAugmentedForm.d.ts +32 -0
  321. package/dist/ra-core/src/form/useAugmentedForm.js +101 -0
  322. package/dist/ra-core/src/form/useFormIsDirty.d.ts +4 -0
  323. package/dist/ra-core/src/form/useFormIsDirty.js +39 -0
  324. package/dist/ra-core/src/form/useInput.d.ts +33 -0
  325. package/dist/ra-core/src/form/useInput.js +100 -0
  326. package/dist/ra-core/src/form/useRecordFromLocation.d.ts +22 -0
  327. package/dist/ra-core/src/form/useRecordFromLocation.js +59 -0
  328. package/dist/ra-core/src/form/useSuggestions.d.ts +43 -0
  329. package/dist/ra-core/src/form/useSuggestions.js +186 -0
  330. package/dist/ra-core/src/form/validation/getSimpleValidationResolver.d.ts +31 -0
  331. package/dist/ra-core/src/form/validation/getSimpleValidationResolver.js +87 -0
  332. package/dist/ra-core/src/form/validation/index.d.ts +7 -0
  333. package/dist/ra-core/src/form/validation/index.js +7 -0
  334. package/dist/ra-core/src/form/validation/setSubmissionErrors.d.ts +21 -0
  335. package/dist/ra-core/src/form/validation/setSubmissionErrors.js +34 -0
  336. package/dist/ra-core/src/form/validation/useGetValidationErrorMessage.d.ts +26 -0
  337. package/dist/ra-core/src/form/validation/useGetValidationErrorMessage.js +35 -0
  338. package/dist/ra-core/src/form/validation/useNotifyIsFormInvalid.d.ts +9 -0
  339. package/dist/ra-core/src/form/validation/useNotifyIsFormInvalid.js +30 -0
  340. package/dist/ra-core/src/form/validation/useUnique.d.ts +57 -0
  341. package/dist/ra-core/src/form/validation/useUnique.js +107 -0
  342. package/dist/ra-core/src/form/validation/validate.d.ts +168 -0
  343. package/dist/ra-core/src/form/validation/validate.js +218 -0
  344. package/dist/ra-core/src/i18n/I18nContext.d.ts +3 -0
  345. package/dist/ra-core/src/i18n/I18nContext.js +11 -0
  346. package/dist/ra-core/src/i18n/TranslatableContext.d.ts +16 -0
  347. package/dist/ra-core/src/i18n/TranslatableContext.js +2 -0
  348. package/dist/ra-core/src/i18n/TranslationMessages.d.ts +221 -0
  349. package/dist/ra-core/src/i18n/TranslationMessages.js +1 -0
  350. package/dist/ra-core/src/i18n/TranslationUtils.d.ts +60 -0
  351. package/dist/ra-core/src/i18n/TranslationUtils.js +70 -0
  352. package/dist/ra-core/src/i18n/index.d.ts +20 -0
  353. package/dist/ra-core/src/i18n/index.js +20 -0
  354. package/dist/ra-core/src/i18n/substituteTokens.d.ts +8 -0
  355. package/dist/ra-core/src/i18n/substituteTokens.js +18 -0
  356. package/dist/ra-core/src/i18n/useI18nProvider.d.ts +12 -0
  357. package/dist/ra-core/src/i18n/useI18nProvider.js +14 -0
  358. package/dist/ra-core/src/i18n/useLocales.d.ts +31 -0
  359. package/dist/ra-core/src/i18n/useLocales.js +28 -0
  360. package/dist/ra-core/src/i18n/useResourceTranslation.d.ts +8 -0
  361. package/dist/ra-core/src/i18n/useResourceTranslation.js +18 -0
  362. package/dist/ra-core/src/i18n/useTranslatable.d.ts +29 -0
  363. package/dist/ra-core/src/i18n/useTranslatable.js +98 -0
  364. package/dist/ra-core/src/i18n/useTranslatableContext.d.ts +31 -0
  365. package/dist/ra-core/src/i18n/useTranslatableContext.js +38 -0
  366. package/dist/ra-core/src/i18n/useTranslate.d.ts +21 -0
  367. package/dist/ra-core/src/i18n/useTranslate.js +29 -0
  368. package/dist/ra-core/src/i18n/useTranslateLabel.d.ts +6 -0
  369. package/dist/ra-core/src/i18n/useTranslateLabel.js +26 -0
  370. package/dist/ra-core/src/index.d.ts +16 -0
  371. package/dist/ra-core/src/index.js +16 -0
  372. package/dist/ra-core/src/inference/InferredElement.d.ts +12 -0
  373. package/dist/ra-core/src/inference/InferredElement.js +40 -0
  374. package/dist/ra-core/src/inference/assertions.d.ts +26 -0
  375. package/dist/ra-core/src/inference/assertions.js +38 -0
  376. package/dist/ra-core/src/inference/getElementsFromRecords.d.ts +35 -0
  377. package/dist/ra-core/src/inference/getElementsFromRecords.js +39 -0
  378. package/dist/ra-core/src/inference/getValuesFromRecords.d.ts +28 -0
  379. package/dist/ra-core/src/inference/getValuesFromRecords.js +40 -0
  380. package/dist/ra-core/src/inference/index.d.ts +6 -0
  381. package/dist/ra-core/src/inference/index.js +6 -0
  382. package/dist/ra-core/src/inference/inferTypeFromValues.d.ts +21 -0
  383. package/dist/ra-core/src/inference/inferTypeFromValues.js +141 -0
  384. package/dist/ra-core/src/inference/types.d.ts +9 -0
  385. package/dist/ra-core/src/inference/types.js +1 -0
  386. package/dist/ra-core/src/notification/CloseNotificationContext.d.ts +2 -0
  387. package/dist/ra-core/src/notification/CloseNotificationContext.js +2 -0
  388. package/dist/ra-core/src/notification/NotificationContext.d.ts +37 -0
  389. package/dist/ra-core/src/notification/NotificationContext.js +35 -0
  390. package/dist/ra-core/src/notification/index.d.ts +9 -0
  391. package/dist/ra-core/src/notification/index.js +9 -0
  392. package/dist/ra-core/src/notification/types.d.ts +14 -0
  393. package/dist/ra-core/src/notification/types.js +1 -0
  394. package/dist/ra-core/src/notification/useCloseNotification.d.ts +1 -0
  395. package/dist/ra-core/src/notification/useCloseNotification.js +9 -0
  396. package/dist/ra-core/src/notification/useNotificationContext.d.ts +1 -0
  397. package/dist/ra-core/src/notification/useNotificationContext.js +3 -0
  398. package/dist/ra-core/src/notification/useNotify.d.ts +20 -0
  399. package/dist/ra-core/src/notification/useNotify.js +28 -0
  400. package/dist/ra-core/src/preferences/index.d.ts +7 -0
  401. package/dist/ra-core/src/preferences/index.js +7 -0
  402. package/dist/ra-core/src/preferences/usePreference.d.ts +18 -0
  403. package/dist/ra-core/src/preferences/usePreference.js +10 -0
  404. package/dist/ra-core/src/preferences/usePreferenceInput.d.ts +22 -0
  405. package/dist/ra-core/src/preferences/usePreferenceInput.js +43 -0
  406. package/dist/ra-core/src/preferences/usePreferencesEditor.d.ts +2 -0
  407. package/dist/ra-core/src/preferences/usePreferencesEditor.js +9 -0
  408. package/dist/ra-core/src/preferences/useSetInspectorTitle.d.ts +7 -0
  409. package/dist/ra-core/src/preferences/useSetInspectorTitle.js +19 -0
  410. package/dist/ra-core/src/routing/BasenameContext.d.ts +1 -0
  411. package/dist/ra-core/src/routing/BasenameContext.js +2 -0
  412. package/dist/ra-core/src/routing/RouterProvider.d.ts +163 -0
  413. package/dist/ra-core/src/routing/RouterProvider.js +1 -0
  414. package/dist/ra-core/src/routing/index.d.ts +28 -0
  415. package/dist/ra-core/src/routing/index.js +28 -0
  416. package/dist/ra-core/src/routing/types.d.ts +3 -0
  417. package/dist/ra-core/src/routing/types.js +1 -0
  418. package/dist/ra-core/src/routing/useBasename.d.ts +21 -0
  419. package/dist/ra-core/src/routing/useBasename.js +23 -0
  420. package/dist/ra-core/src/routing/useBlocker.d.ts +14 -0
  421. package/dist/ra-core/src/routing/useBlocker.js +17 -0
  422. package/dist/ra-core/src/routing/useCanBlock.d.ts +7 -0
  423. package/dist/ra-core/src/routing/useCanBlock.js +11 -0
  424. package/dist/ra-core/src/routing/useCreatePath.d.ts +42 -0
  425. package/dist/ra-core/src/routing/useCreatePath.js +69 -0
  426. package/dist/ra-core/src/routing/useGetPathForRecord.d.ts +42 -0
  427. package/dist/ra-core/src/routing/useGetPathForRecord.js +135 -0
  428. package/dist/ra-core/src/routing/useGetPathForRecordCallback.d.ts +6 -0
  429. package/dist/ra-core/src/routing/useGetPathForRecordCallback.js +82 -0
  430. package/dist/ra-core/src/routing/useInRouterContext.d.ts +11 -0
  431. package/dist/ra-core/src/routing/useInRouterContext.js +15 -0
  432. package/dist/ra-core/src/routing/useLocation.d.ts +10 -0
  433. package/dist/ra-core/src/routing/useLocation.js +13 -0
  434. package/dist/ra-core/src/routing/useMatch.d.ts +15 -0
  435. package/dist/ra-core/src/routing/useMatch.js +15 -0
  436. package/dist/ra-core/src/routing/useMatchPath.d.ts +17 -0
  437. package/dist/ra-core/src/routing/useMatchPath.js +17 -0
  438. package/dist/ra-core/src/routing/useNavigate.d.ts +12 -0
  439. package/dist/ra-core/src/routing/useNavigate.js +15 -0
  440. package/dist/ra-core/src/routing/useParams.d.ts +9 -0
  441. package/dist/ra-core/src/routing/useParams.js +13 -0
  442. package/dist/ra-core/src/routing/useRedirect.d.ts +30 -0
  443. package/dist/ra-core/src/routing/useRedirect.js +66 -0
  444. package/dist/ra-core/src/routing/useResetErrorBoundaryOnLocationChange.d.ts +7 -0
  445. package/dist/ra-core/src/routing/useResetErrorBoundaryOnLocationChange.js +17 -0
  446. package/dist/ra-core/src/routing/useRestoreScrollPosition.d.ts +40 -0
  447. package/dist/ra-core/src/routing/useRestoreScrollPosition.js +70 -0
  448. package/dist/ra-core/src/routing/useSplatPathBase.d.ts +13 -0
  449. package/dist/ra-core/src/routing/useSplatPathBase.js +21 -0
  450. package/dist/ra-core/src/store/index.d.ts +11 -0
  451. package/dist/ra-core/src/store/index.js +11 -0
  452. package/dist/ra-core/src/store/localStorageStore.d.ts +27 -0
  453. package/dist/ra-core/src/store/localStorageStore.js +198 -0
  454. package/dist/ra-core/src/store/types.d.ts +11 -0
  455. package/dist/ra-core/src/store/types.js +1 -0
  456. package/dist/ra-core/src/store/useRemoveFromStore.d.ts +17 -0
  457. package/dist/ra-core/src/store/useRemoveFromStore.js +29 -0
  458. package/dist/ra-core/src/store/useRemoveItemsFromStore.d.ts +17 -0
  459. package/dist/ra-core/src/store/useRemoveItemsFromStore.js +29 -0
  460. package/dist/ra-core/src/store/useResetStore.d.ts +17 -0
  461. package/dist/ra-core/src/store/useResetStore.js +21 -0
  462. package/dist/ra-core/src/store/useStore.d.ts +48 -0
  463. package/dist/ra-core/src/store/useStore.js +32 -0
  464. package/dist/ra-core/src/store/useStoreContext.d.ts +4 -0
  465. package/dist/ra-core/src/store/useStoreContext.js +6 -0
  466. package/dist/ra-core/src/test-ui/defaultI18nProvider.d.ts +2 -0
  467. package/dist/ra-core/src/test-ui/defaultI18nProvider.js +10 -0
  468. package/dist/ra-core/src/test-ui/index.d.ts +21 -0
  469. package/dist/ra-core/src/test-ui/index.js +21 -0
  470. package/dist/ra-core/src/types.d.ts +284 -0
  471. package/dist/ra-core/src/types.js +5 -0
  472. package/dist/ra-core/src/util/asyncDebounce.d.ts +7 -0
  473. package/dist/ra-core/src/util/asyncDebounce.js +29 -0
  474. package/dist/ra-core/src/util/escapePath.d.ts +11 -0
  475. package/dist/ra-core/src/util/escapePath.js +10 -0
  476. package/dist/ra-core/src/util/genericMemo.d.ts +5 -0
  477. package/dist/ra-core/src/util/genericMemo.js +14 -0
  478. package/dist/ra-core/src/util/getFieldLabelTranslationArgs.d.ts +22 -0
  479. package/dist/ra-core/src/util/getFieldLabelTranslationArgs.js +73 -0
  480. package/dist/ra-core/src/util/getMutationMode.d.ts +1 -0
  481. package/dist/ra-core/src/util/getMutationMode.js +13 -0
  482. package/dist/ra-core/src/util/hooks.d.ts +15 -0
  483. package/dist/ra-core/src/util/hooks.js +73 -0
  484. package/dist/ra-core/src/util/index.d.ts +20 -0
  485. package/dist/ra-core/src/util/index.js +19 -0
  486. package/dist/ra-core/src/util/mergeRefs.d.ts +2 -0
  487. package/dist/ra-core/src/util/mergeRefs.js +13 -0
  488. package/dist/ra-core/src/util/removeEmpty.d.ts +2 -0
  489. package/dist/ra-core/src/util/removeEmpty.js +16 -0
  490. package/dist/ra-core/src/util/removeKey.d.ts +2 -0
  491. package/dist/ra-core/src/util/removeKey.js +22 -0
  492. package/dist/ra-core/src/util/shallowEqual.d.ts +1 -0
  493. package/dist/ra-core/src/util/shallowEqual.js +29 -0
  494. package/dist/ra-core/src/util/useCheckForApplicationUpdate.d.ts +21 -0
  495. package/dist/ra-core/src/util/useCheckForApplicationUpdate.js +84 -0
  496. package/dist/ra-core/src/util/useDebouncedEvent.d.ts +8 -0
  497. package/dist/ra-core/src/util/useDebouncedEvent.js +28 -0
  498. package/dist/ra-core/src/util/useEvent.d.ts +7 -0
  499. package/dist/ra-core/src/util/useEvent.js +19 -0
  500. package/dist/ra-core/src/util/useFieldValue.d.ts +21 -0
  501. package/dist/ra-core/src/util/useFieldValue.js +27 -0
  502. package/dist/ra-core/src/util/useWhyDidYouUpdate.d.ts +12 -0
  503. package/dist/ra-core/src/util/useWhyDidYouUpdate.js +42 -0
  504. package/dist/ra-core/src/util/warning.d.ts +2 -0
  505. package/dist/ra-core/src/util/warning.js +5 -0
  506. package/dist/strato-faker-ecommerce/src/dataProvider.d.ts +2 -0
  507. package/dist/strato-faker-ecommerce/src/dataProvider.js +6 -0
  508. package/dist/strato-faker-ecommerce/src/generate.d.ts +8 -0
  509. package/dist/strato-faker-ecommerce/src/generate.js +148 -0
  510. package/dist/strato-faker-ecommerce/src/index.d.ts +3 -0
  511. package/dist/strato-faker-ecommerce/src/index.js +3 -0
  512. package/dist/strato-faker-ecommerce/src/types.d.ts +69 -0
  513. package/dist/strato-faker-ecommerce/src/types.js +1 -0
  514. package/dist/types.d.ts +1 -1
  515. package/package.json +5 -4
  516. package/src/dataProvider.ts +3 -3
  517. package/src/generate.test.ts +12 -12
  518. package/src/generate.ts +21 -14
  519. package/src/types.ts +1 -1
@@ -0,0 +1,84 @@
1
+ import { useContext, useMemo } from 'react';
2
+ import defaults from 'lodash/defaults.js';
3
+ import { ListContext } from './ListContext';
4
+ /**
5
+ * Hook to read the list controller props from the ListContext.
6
+ *
7
+ * Mostly used within a <ListContext.Provider> (e.g. as a descendent of <List>
8
+ * or <ListBase>).
9
+ *
10
+ * But you can also use it without a <ListContext.Provider>. In this case, it is up to you
11
+ * to pass all the necessary props (see the list below).
12
+ *
13
+ * The given props will take precedence over context values.
14
+ *
15
+ * @typedef {Object} ListControllerProps
16
+ * @prop {Object} data an array of the list records, e.g. [{ id: 123, title: 'hello world' }, { ... }]
17
+ * @prop {integer} total the total number of results for the current filters, excluding pagination. Useful to build the pagination controls. e.g. 23
18
+ * @prop {boolean} isFetching boolean that is true on mount, and false once the data was fetched
19
+ * @prop {boolean} isLoading boolean that is false until the data is available
20
+ * @prop {integer} page the current page. Starts at 1
21
+ * @prop {Function} setPage a callback to change the page, e.g. setPage(3)
22
+ * @prop {integer} perPage the number of results per page. Defaults to 25
23
+ * @prop {Function} setPerPage a callback to change the number of results per page, e.g. setPerPage(25)
24
+ * @prop {Object} sort a sort object { field, order }, e.g. { field: 'date', order: 'DESC' }
25
+ * @prop {Function} setSort a callback to change the sort, e.g. setSort({ field : 'name', order: 'ASC' })
26
+ * @prop {Object} filterValues a dictionary of filter values, e.g. { title: 'lorem', nationality: 'fr' }
27
+ * @prop {Function} setFilters a callback to update the filters, e.g. setFilters(filters, displayedFilters)
28
+ * @prop {Object} displayedFilters a dictionary of the displayed filters, e.g. { title: true, nationality: true }
29
+ * @prop {Function} showFilter a callback to show one of the filters, e.g. showFilter('title', defaultValue)
30
+ * @prop {Function} hideFilter a callback to hide one of the filters, e.g. hideFilter('title')
31
+ * @prop {Array} selectedIds an array listing the ids of the selected rows, e.g. [123, 456]
32
+ * @prop {Function} onSelect callback to change the list of selected rows, e.g. onSelect([456, 789])
33
+ * @prop {Function} onSelectAll callback to select all the records, e.g. onSelectAll({ limit: 50, queryOptions: { meta: { foo: 'bar' } } })
34
+ * @prop {Function} onToggleItem callback to toggle the selection of a given record based on its id, e.g. onToggleItem(456)
35
+ * @prop {Function} onUnselectItems callback to clear the selection, e.g. onUnselectItems();
36
+ * @prop {string} defaultTitle the translated title based on the resource, e.g. 'Posts'
37
+ * @prop {string} resource the resource name, deduced from the location. e.g. 'posts'
38
+ *
39
+ * @param {ListControllerProps} props Props passed to the useListContext hook
40
+ *
41
+ * @returns {ListControllerResult} list controller props
42
+ *
43
+ * @see useListController for how it is filled
44
+ */
45
+ export const useListContextWithProps = (props) => {
46
+ const context = useContext(ListContext);
47
+ // Props take precedence over the context
48
+ return useMemo(() => defaults({}, props != null ? extractListContextProps(props) : {}, context), [context, props]);
49
+ };
50
+ /**
51
+ * Extract only the list controller props
52
+ *
53
+ * @param {Object} props Props passed to the useListContext hook
54
+ *
55
+ * @returns {ListControllerResult} List controller props
56
+ */
57
+ const extractListContextProps = ({ sort, data, defaultTitle, displayedFilters, exporter, filterValues, hasCreate, hideFilter, isFetching, isLoading, isPending, onSelect, onSelectAll, onToggleItem, onUnselectItems, page, perPage, refetch, resource, selectedIds, setFilters, setPage, setPerPage, setSort, showFilter, total, }) => ({
58
+ sort,
59
+ data,
60
+ defaultTitle,
61
+ displayedFilters,
62
+ exporter,
63
+ filterValues,
64
+ hasCreate,
65
+ hideFilter,
66
+ isFetching,
67
+ isLoading,
68
+ isPending,
69
+ onSelect,
70
+ onSelectAll,
71
+ onToggleItem,
72
+ onUnselectItems,
73
+ page,
74
+ perPage,
75
+ refetch,
76
+ resource,
77
+ selectedIds,
78
+ setFilters,
79
+ setPage,
80
+ setPerPage,
81
+ setSort,
82
+ showFilter,
83
+ total,
84
+ });
@@ -0,0 +1,296 @@
1
+ import { UseGetListHookValue, UseGetListOptions } from '../../dataProvider';
2
+ import type { FilterPayload, SortPayload, RaRecord, Exporter } from '../../types';
3
+ import type { UseReferenceArrayFieldControllerParams, UseReferenceManyFieldControllerParams } from '../field';
4
+ /**
5
+ * Prepare data for the List view
6
+ *
7
+ * @param {Object} props The props passed to the List component.
8
+ *
9
+ * @return {Object} controllerProps Fetched and computed data for the List view
10
+ *
11
+ * @example
12
+ *
13
+ * import { useListController } from 'react-admin';
14
+ * import ListView from './ListView';
15
+ *
16
+ * const MyList = props => {
17
+ * const controllerProps = useListController(props);
18
+ * return <ListView {...controllerProps} {...props} />;
19
+ * }
20
+ */
21
+ export declare const useListController: <RecordType extends RaRecord = any, ErrorType = Error>(props?: ListControllerProps<RecordType, ErrorType>) => ListControllerResult<RecordType, ErrorType>;
22
+ export interface ListControllerProps<RecordType extends RaRecord = any, ErrorType = Error> {
23
+ /**
24
+ * The debounce delay for filter queries in milliseconds. Defaults to 500ms.
25
+ *
26
+ * @see https://marmelab.com/react-admin/List.html#debounce
27
+ * @example
28
+ * // wait 1 seconds instead of 500 milliseconds befoce calling the dataProvider
29
+ * const PostList = () => (
30
+ * <List debounce={1000}>
31
+ * ...
32
+ * </List>
33
+ * );
34
+ */
35
+ debounce?: number;
36
+ /**
37
+ * Allow anonymous access to the list view. Defaults to false.
38
+ *
39
+ * @see https://marmelab.com/react-admin/List.html#disableauthentication
40
+ * @example
41
+ * import { List } from 'react-admin';
42
+ *
43
+ * const BoolkList = () => (
44
+ * <List disableAuthentication>
45
+ * ...
46
+ * </List>
47
+ * );
48
+ */
49
+ disableAuthentication?: boolean;
50
+ /**
51
+ * Whether to disable the synchronization of the list parameters with the current location (URL search parameters)
52
+ *
53
+ * @see https://marmelab.com/react-admin/List.html#disablesyncwithlocation
54
+ * @example
55
+ * const Dashboard = () => (
56
+ * <div>
57
+ * // ...
58
+ * <ResourceContextProvider value="posts">
59
+ * <List disableSyncWithLocation>
60
+ * <SimpleList
61
+ * primaryText={record => record.title}
62
+ * secondaryText={record => `${record.views} views`}
63
+ * tertiaryText={record => new Date(record.published_at).toLocaleDateString()}
64
+ * />
65
+ * </List>
66
+ * </ResourceContextProvider>
67
+ * <ResourceContextProvider value="comments">
68
+ * <List disableSyncWithLocation>
69
+ * <SimpleList
70
+ * primaryText={record => record.title}
71
+ * secondaryText={record => `${record.views} views`}
72
+ * tertiaryText={record => new Date(record.published_at).toLocaleDateString()}
73
+ * />
74
+ * </List>
75
+ * </ResourceContextProvider>
76
+ * </div>
77
+ * )
78
+ */
79
+ disableSyncWithLocation?: boolean;
80
+ /**
81
+ * The function called when a user exports the list
82
+ *
83
+ * @see https://marmelab.com/react-admin/List.html#exporter
84
+ * @example
85
+ * import { List, downloadCSV } from 'react-admin';
86
+ * import jsonExport from 'jsonexport/dist';
87
+ *
88
+ * const exporter = posts => {
89
+ * const postsForExport = posts.map(post => {
90
+ * const { backLinks, author, ...postForExport } = post; // omit backLinks and author
91
+ * postForExport.author_name = post.author.name; // add a field
92
+ * return postForExport;
93
+ * });
94
+ * jsonExport(postsForExport, {
95
+ * headers: ['id', 'title', 'author_name', 'body'] // order fields in the export
96
+ * }, (err, csv) => {
97
+ * downloadCSV(csv, 'posts'); // download as 'posts.csv` file
98
+ * });
99
+ * };
100
+ *
101
+ * const PostList = () => (
102
+ * <List exporter={exporter}>
103
+ * ...
104
+ * </List>
105
+ * )
106
+ */
107
+ exporter?: Exporter<RecordType> | false;
108
+ /**
109
+ * Permanent filter applied to all getList queries, regardless of the user selected filters.
110
+ *
111
+ * @see https://marmelab.com/react-admin/List.html#filter
112
+ * @example
113
+ * export const PostList = () => (
114
+ * <List filter={{ is_published: true }}>
115
+ * ...
116
+ * </List>
117
+ * );
118
+ */
119
+ filter?: FilterPayload;
120
+ /**
121
+ * The filter to apply when calling getList if the filter is empty.
122
+ *
123
+ * @see https://marmelab.com/react-admin/List.html#filterdefaultvalues
124
+ * @example
125
+ * const postFilters = [
126
+ * <TextInput label="Search" source="q" alwaysOn />,
127
+ * <BooleanInput source="is_published" alwaysOn />,
128
+ * <TextInput source="title" defaultValue="Hello, World!" />,
129
+ * ];
130
+ *
131
+ * export const PostList = () => (
132
+ * <List filters={postFilters} filterDefaultValues={{ is_published: true }}>
133
+ * ...
134
+ * </List>
135
+ * );
136
+ */
137
+ filterDefaultValues?: object;
138
+ /**
139
+ * The number of results per page. Defaults to 10.
140
+ *
141
+ * @see https://marmelab.com/react-admin/List.html#perpage
142
+ * @example
143
+ * export const PostList = () => (
144
+ * <List perPage={25}>
145
+ * ...
146
+ * </List>
147
+ * );
148
+ */
149
+ perPage?: number;
150
+ /**
151
+ * The options passed to react-query's useQuery when calling getList.
152
+ *
153
+ * @see https://marmelab.com/react-admin/List.html#queryoptions
154
+ * @example
155
+ * import { useNotify, useRedirect, List } from 'react-admin';
156
+ *
157
+ * const PostList = () => {
158
+ * const notify = useNotify();
159
+ * const redirect = useRedirect();
160
+ *
161
+ * const onError = (error) => {
162
+ * notify(`Could not load list: ${error.message}`, { type: 'error' });
163
+ * redirect('/dashboard');
164
+ * };
165
+ *
166
+ * return (
167
+ * <List queryOptions={{ onError }}>
168
+ * ...
169
+ * </List>
170
+ * );
171
+ * }
172
+ */
173
+ queryOptions?: UseGetListOptions<RecordType, ErrorType>;
174
+ /**
175
+ * The resource name. Defaults to the resource from ResourceContext.
176
+ *
177
+ * @see https://marmelab.com/react-admin/List.html#resource
178
+ * @example
179
+ * import { List } from 'react-admin';
180
+ *
181
+ * const PostList = () => (
182
+ * <List resource="posts">
183
+ * ...
184
+ * </List>
185
+ * );
186
+ */
187
+ resource?: string;
188
+ /**
189
+ * The default sort field and order. Defaults to { field: 'id', order: 'ASC' }.
190
+ *
191
+ * @see https://marmelab.com/react-admin/List.html#sort
192
+ * @example
193
+ * export const PostList = () => (
194
+ * <List sort={{ field: 'published_at', order: 'DESC' }}>
195
+ * ...
196
+ * </List>
197
+ * );
198
+ */
199
+ sort?: SortPayload;
200
+ /**
201
+ * The key to use to store the current filter & sort. Pass false to disable.
202
+ *
203
+ * @see https://marmelab.com/react-admin/List.html#storekey
204
+ * @example
205
+ * const NewerBooks = () => (
206
+ * <List
207
+ * resource="books"
208
+ * storeKey="newerBooks"
209
+ * sort={{ field: 'year', order: 'DESC' }}
210
+ * >
211
+ * ...
212
+ * </List>
213
+ * );
214
+ */
215
+ storeKey?: string | false;
216
+ }
217
+ export declare const DEFAULT_MAX_RESULTS = 1000;
218
+ export declare const injectedProps: string[];
219
+ /**
220
+ * Select the props injected by the useListController hook
221
+ * to be passed to the List children need
222
+ * This is an implementation of pick()
223
+ */
224
+ export declare const getListControllerProps: (props: any) => {};
225
+ /**
226
+ * Select the props not injected by the useListController hook
227
+ * to be used inside the List children to sanitize props injected by List
228
+ * This is an implementation of omit()
229
+ */
230
+ export declare const sanitizeListRestProps: (props: any) => {};
231
+ export interface GetDataOptions {
232
+ maxResults?: number;
233
+ meta?: any;
234
+ }
235
+ export interface ListControllerBaseResult<RecordType extends RaRecord = any> {
236
+ sort: SortPayload;
237
+ defaultTitle?: string;
238
+ displayedFilters: any;
239
+ exporter?: Exporter | false;
240
+ getData?: (options?: GetDataOptions) => Promise<RecordType[]>;
241
+ filter?: FilterPayload;
242
+ filterValues: any;
243
+ hideFilter: (filterName: string) => void;
244
+ onSelect: (ids: RecordType['id'][]) => void;
245
+ onSelectAll: (options?: {
246
+ limit?: number;
247
+ queryOptions?: UseGetListOptions<RecordType> | UseReferenceArrayFieldControllerParams<RecordType>['queryOptions'] | UseReferenceManyFieldControllerParams<RecordType>['queryOptions'];
248
+ }) => void;
249
+ onToggleItem: (id: RecordType['id']) => void;
250
+ onUnselectItems: (fromAllStoreKeys?: boolean) => void;
251
+ page: number;
252
+ perPage: number;
253
+ refetch: (() => void) | UseGetListHookValue<RecordType>['refetch'];
254
+ resource: string;
255
+ selectedIds: RecordType['id'][];
256
+ setFilters: (filters: any, displayedFilters?: any, debounce?: boolean) => void;
257
+ setPage: (page: number) => void;
258
+ setPerPage: (page: number) => void;
259
+ setSort: (sort: SortPayload) => void;
260
+ showFilter: (filterName: string, defaultValue: any) => void;
261
+ hasNextPage?: boolean;
262
+ hasPreviousPage?: boolean;
263
+ isFetching?: boolean;
264
+ isLoading?: boolean;
265
+ isPaused?: boolean;
266
+ isPlaceholderData?: boolean;
267
+ }
268
+ export interface ListControllerLoadingResult<RecordType extends RaRecord = any> extends ListControllerBaseResult<RecordType> {
269
+ data: undefined;
270
+ total: undefined;
271
+ meta: undefined;
272
+ error: null;
273
+ isPending: true;
274
+ }
275
+ export interface ListControllerErrorResult<RecordType extends RaRecord = any, TError = Error> extends ListControllerBaseResult<RecordType> {
276
+ data: undefined;
277
+ total: undefined;
278
+ meta: undefined;
279
+ error: TError;
280
+ isPending: false;
281
+ }
282
+ export interface ListControllerRefetchErrorResult<RecordType extends RaRecord = any, TError = Error> extends ListControllerBaseResult<RecordType> {
283
+ data: RecordType[];
284
+ total: number;
285
+ meta?: any;
286
+ error: TError;
287
+ isPending: false;
288
+ }
289
+ export interface ListControllerSuccessResult<RecordType extends RaRecord = any> extends ListControllerBaseResult<RecordType> {
290
+ data: RecordType[];
291
+ total: number;
292
+ meta?: any;
293
+ error: null;
294
+ isPending: false;
295
+ }
296
+ export type ListControllerResult<RecordType extends RaRecord = any, ErrorType = Error> = ListControllerLoadingResult<RecordType> | ListControllerErrorResult<RecordType, ErrorType> | ListControllerRefetchErrorResult<RecordType, ErrorType> | ListControllerSuccessResult<RecordType>;
@@ -0,0 +1,234 @@
1
+ import { isValidElement, useCallback, useEffect, useMemo } from 'react';
2
+ import { useAuthenticated, useRequireAccess } from '../../auth';
3
+ import { useTranslate } from '../../i18n';
4
+ import { useNotify } from '../../notification';
5
+ import { useDataProvider, useGetList, } from '../../dataProvider';
6
+ import { useResourceContext, useGetResourceLabel } from '../../core';
7
+ import { useRecordSelection } from './useRecordSelection';
8
+ import { useListParams } from './useListParams';
9
+ import { useSelectAll } from './useSelectAll';
10
+ import { defaultExporter } from '../../export';
11
+ import { SORT_ASC } from './queryReducer';
12
+ import { useEvent } from '../../util';
13
+ /**
14
+ * Prepare data for the List view
15
+ *
16
+ * @param {Object} props The props passed to the List component.
17
+ *
18
+ * @return {Object} controllerProps Fetched and computed data for the List view
19
+ *
20
+ * @example
21
+ *
22
+ * import { useListController } from 'react-admin';
23
+ * import ListView from './ListView';
24
+ *
25
+ * const MyList = props => {
26
+ * const controllerProps = useListController(props);
27
+ * return <ListView {...controllerProps} {...props} />;
28
+ * }
29
+ */
30
+ export const useListController = (props = {}) => {
31
+ const { debounce = 500, disableAuthentication = false, disableSyncWithLocation = false, exporter = defaultExporter, filter, filterDefaultValues, perPage = 10, queryOptions = {}, sort = defaultSort, storeKey, } = props;
32
+ const resource = useResourceContext(props);
33
+ const { meta, ...otherQueryOptions } = queryOptions;
34
+ if (!resource) {
35
+ throw new Error(`useListController requires a non-empty resource prop or context`);
36
+ }
37
+ if (filter &&
38
+ (isValidElement(filter) ||
39
+ (Array.isArray(filter) && filter.some(isValidElement)))) {
40
+ throw new Error('useListController received a React element as `filter` props. If you intended to set the list filter elements, use the `filters` (with an s) prop instead. The `filter` prop is internal and should not be set by the developer.');
41
+ }
42
+ const { isPending: isPendingAuthenticated } = useAuthenticated({
43
+ enabled: !disableAuthentication,
44
+ });
45
+ const { isPending: isPendingCanAccess } = useRequireAccess({
46
+ action: 'list',
47
+ resource,
48
+ enabled: !disableAuthentication && !isPendingAuthenticated,
49
+ });
50
+ const translate = useTranslate();
51
+ const notify = useNotify();
52
+ const dataProvider = useDataProvider();
53
+ const [query, queryModifiers] = useListParams({
54
+ debounce,
55
+ disableSyncWithLocation,
56
+ filterDefaultValues,
57
+ perPage,
58
+ resource,
59
+ sort,
60
+ storeKey,
61
+ });
62
+ const [selectedIds, selectionModifiers] = useRecordSelection({
63
+ resource,
64
+ disableSyncWithStore: storeKey === false,
65
+ storeKey: storeKey === false ? undefined : storeKey,
66
+ });
67
+ const onUnselectItems = useCallback((fromAllStoreKeys) => {
68
+ return selectionModifiers.unselect(selectedIds, fromAllStoreKeys);
69
+ }, [selectedIds, selectionModifiers]);
70
+ const { data, pageInfo, total, meta: responseMeta, error, isLoading, isFetching, isPending, refetch, isPaused, isPlaceholderData, } = useGetList(resource, {
71
+ pagination: {
72
+ page: query.page,
73
+ perPage: query.perPage,
74
+ },
75
+ sort: { field: query.sort, order: query.order },
76
+ filter: { ...query.filter, ...filter },
77
+ meta,
78
+ }, {
79
+ enabled: (!isPendingAuthenticated && !isPendingCanAccess) ||
80
+ disableAuthentication,
81
+ placeholderData: previousData => previousData,
82
+ retry: false,
83
+ onError: error => notify(error?.message || "strato.notification.http_error', {
84
+ type: 'error',
85
+ messageArgs: {
86
+ _: error?.message,
87
+ },
88
+ }),
89
+ ...otherQueryOptions,
90
+ });
91
+ // change page if there is no data
92
+ useEffect(() => {
93
+ if (query.page <= 0 ||
94
+ (!isFetching &&
95
+ query.page > 1 &&
96
+ (data == null || data?.length === 0))) {
97
+ // Query for a page that doesn't exist, set page to 1
98
+ queryModifiers.setPage(1);
99
+ return;
100
+ }
101
+ if (total == null) {
102
+ return;
103
+ }
104
+ const totalPages = Math.ceil(total / query.perPage) || 1;
105
+ if (!isFetching && query.page > totalPages) {
106
+ // Query for a page out of bounds, set page to the last existing page
107
+ // It occurs when deleting the last element of the last page
108
+ queryModifiers.setPage(totalPages);
109
+ }
110
+ }, [isFetching, query.page, query.perPage, data, queryModifiers, total]);
111
+ const currentSort = useMemo(() => ({
112
+ field: query.sort,
113
+ order: query.order,
114
+ }), [query.sort, query.order]);
115
+ const getResourceLabel = useGetResourceLabel();
116
+ const defaultTitle = translate(`resources.${resource}.page.list`, {
117
+ _: translate("strato.page.list', {
118
+ name: getResourceLabel(resource, 2),
119
+ }),
120
+ });
121
+ const onSelectAll = useSelectAll({
122
+ resource,
123
+ sort: { field: query.sort, order: query.order },
124
+ filter: { ...query.filter, ...filter },
125
+ disableSyncWithStore: storeKey === false,
126
+ storeKey: storeKey === false ? undefined : storeKey,
127
+ });
128
+ const getData = useEvent(async ({ maxResults, meta: metaOverride } = {}) => {
129
+ if (total === 0) {
130
+ return [];
131
+ }
132
+ const limit = maxResults ?? (total != null ? total : DEFAULT_MAX_RESULTS);
133
+ const { data } = await dataProvider.getList(resource, {
134
+ sort: currentSort,
135
+ filter: filter
136
+ ? { ...query.filterValues, ...filter }
137
+ : query.filterValues,
138
+ pagination: { page: 1, perPage: limit },
139
+ meta: metaOverride ?? meta,
140
+ });
141
+ return data;
142
+ });
143
+ return {
144
+ sort: currentSort,
145
+ data,
146
+ meta: responseMeta,
147
+ defaultTitle,
148
+ displayedFilters: query.displayedFilters,
149
+ error,
150
+ exporter,
151
+ filter,
152
+ filterValues: query.filterValues,
153
+ hideFilter: queryModifiers.hideFilter,
154
+ isFetching,
155
+ isLoading,
156
+ isPaused,
157
+ isPending,
158
+ isPlaceholderData,
159
+ onSelect: selectionModifiers.select,
160
+ onSelectAll,
161
+ onToggleItem: selectionModifiers.toggle,
162
+ onUnselectItems,
163
+ page: query.page,
164
+ perPage: query.perPage,
165
+ refetch,
166
+ resource,
167
+ selectedIds,
168
+ setFilters: queryModifiers.setFilters,
169
+ setPage: queryModifiers.setPage,
170
+ setPerPage: queryModifiers.setPerPage,
171
+ setSort: queryModifiers.setSort,
172
+ showFilter: queryModifiers.showFilter,
173
+ total,
174
+ getData,
175
+ hasNextPage: pageInfo
176
+ ? pageInfo.hasNextPage
177
+ : total != null
178
+ ? query.page * query.perPage < total
179
+ : undefined,
180
+ hasPreviousPage: pageInfo ? pageInfo.hasPreviousPage : query.page > 1,
181
+ };
182
+ };
183
+ const defaultSort = {
184
+ field: 'id',
185
+ order: SORT_ASC,
186
+ };
187
+ export const DEFAULT_MAX_RESULTS = 1000;
188
+ export const injectedProps = [
189
+ 'sort',
190
+ 'data',
191
+ 'defaultTitle',
192
+ 'displayedFilters',
193
+ 'error',
194
+ 'exporter',
195
+ 'getData',
196
+ 'filterValues',
197
+ 'hasNextPage',
198
+ 'hasPreviousPage',
199
+ 'hideFilter',
200
+ 'isFetching',
201
+ 'isLoading',
202
+ 'isPending',
203
+ 'onSelect',
204
+ 'onSelectAll',
205
+ 'onToggleItem',
206
+ 'onUnselectItems',
207
+ 'page',
208
+ 'perPage',
209
+ 'refetch',
210
+ 'refresh',
211
+ 'resource',
212
+ 'selectedIds',
213
+ 'setFilters',
214
+ 'setPage',
215
+ 'setPerPage',
216
+ 'setSort',
217
+ 'showFilter',
218
+ 'total',
219
+ 'totalPages',
220
+ ];
221
+ /**
222
+ * Select the props injected by the useListController hook
223
+ * to be passed to the List children need
224
+ * This is an implementation of pick()
225
+ */
226
+ export const getListControllerProps = props => injectedProps.reduce((acc, key) => ({ ...acc, [key]: props[key] }), {});
227
+ /**
228
+ * Select the props not injected by the useListController hook
229
+ * to be used inside the List children to sanitize props injected by List
230
+ * This is an implementation of omit()
231
+ */
232
+ export const sanitizeListRestProps = props => Object.keys(props)
233
+ .filter(propName => !injectedProps.includes(propName))
234
+ .reduce((acc, key) => ({ ...acc, [key]: props[key] }), {});
@@ -0,0 +1,11 @@
1
+ import { ListFilterContextValue } from './ListFilterContext';
2
+ /**
3
+ * Hook to read the list props from the ListFilterContext.
4
+ *
5
+ * Must be used within a <ListFilterContextProvider>.
6
+ *
7
+ * @returns {ListFilterContextValue} list controller props
8
+ *
9
+ * @see useListController for how it is filled
10
+ */
11
+ export declare const useListFilterContext: () => ListFilterContextValue;
@@ -0,0 +1,18 @@
1
+ import { useContext } from 'react';
2
+ import { ListFilterContext } from './ListFilterContext';
3
+ /**
4
+ * Hook to read the list props from the ListFilterContext.
5
+ *
6
+ * Must be used within a <ListFilterContextProvider>.
7
+ *
8
+ * @returns {ListFilterContextValue} list controller props
9
+ *
10
+ * @see useListController for how it is filled
11
+ */
12
+ export const useListFilterContext = () => {
13
+ const context = useContext(ListFilterContext);
14
+ if (!context) {
15
+ throw new Error('useListFilterContext must be used inside a ListFilterContextProvider');
16
+ }
17
+ return context;
18
+ };
@@ -0,0 +1,12 @@
1
+ import { ListPaginationContextValue } from './ListPaginationContext';
2
+ /**
3
+ * Hook to read the list pagination controller props from the ListPaginationContext.
4
+ *
5
+ * Must be used within a <ListPaginationContext> (e.g. as a descendent of <List>
6
+ * or <ListBase>).
7
+ *
8
+ * @returns {ListPaginationContextValue} list controller props
9
+ *
10
+ * @see useListController for how it is filled
11
+ */
12
+ export declare const useListPaginationContext: () => ListPaginationContextValue;
@@ -0,0 +1,19 @@
1
+ import { useContext } from 'react';
2
+ import { ListPaginationContext, } from './ListPaginationContext';
3
+ /**
4
+ * Hook to read the list pagination controller props from the ListPaginationContext.
5
+ *
6
+ * Must be used within a <ListPaginationContext> (e.g. as a descendent of <List>
7
+ * or <ListBase>).
8
+ *
9
+ * @returns {ListPaginationContextValue} list controller props
10
+ *
11
+ * @see useListController for how it is filled
12
+ */
13
+ export const useListPaginationContext = () => {
14
+ const context = useContext(ListPaginationContext);
15
+ if (!context) {
16
+ throw new Error('useListPaginationContext must be used inside a ListPaginationContextProvider');
17
+ }
18
+ return context;
19
+ };