@strato-admin/faker-ecommerce 0.1.0 → 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 +6 -5
  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,162 @@
1
+ import { CreateParams, CreateResult, DataProvider, DeleteManyParams, DeleteManyResult, DeleteParams, DeleteResult, GetListParams, GetListResult, GetManyParams, GetManyReferenceParams, GetManyReferenceResult, GetManyResult, GetOneParams, GetOneResult, RaRecord, UpdateManyParams, UpdateManyResult, UpdateParams, UpdateResult } from '../types';
2
+ /**
3
+ * Extend a dataProvider to execute callbacks before and after read and write calls.
4
+ *
5
+ * @param {DataProvider} dataProvider The dataProvider to wrap
6
+ * @param {ResourceCallbacks[]} handlers An array of ResourceCallbacks
7
+ *
8
+ * @typedef {Object} ResourceCallbacks
9
+ * @property {string} resource The resource name
10
+ * @property {AfterCreate} [afterCreate] A callback (or array of callbacks) executed after create
11
+ * @property {AfterDelete} [afterDelete] A callback (or array of callbacks) executed after delete
12
+ * @property {AfterDeleteMany} [afterDeleteMany] A callback (or array of callbacks) executed after deleteMany
13
+ * @property {AfterGetList} [afterGetList] A callback (or array of callbacks) executed after getList
14
+ * @property {AfterGetMany} [afterGetMany] A callback (or array of callbacks) executed after getMany
15
+ * @property {AfterGetManyReference} [afterGetManyReference] A callback (or array of callbacks) executed after getManyReference
16
+ * @property {AfterGetOne} [afterGetOne] A callback (or array of callbacks) executed after getOne
17
+ * @property {AfterRead} [afterRead] A callback (or array of callbacks) executed after read (getList, getMany, getManyReference, getOne)
18
+ * @property {AfterSave} [afterSave] A callback (or array of callbacks) executed after save (create, update, updateMany)
19
+ * @property {AfterUpdate} [afterUpdate] A callback (or array of callbacks) executed after update
20
+ * @property {AfterUpdateMany} [afterUpdateMany] A callback (or array of callbacks) executed after updateMany
21
+ * @property {BeforeCreate} [beforeCreate] A callback (or array of callbacks) executed before create
22
+ * @property {BeforeDelete} [beforeDelete] A callback (or array of callbacks) executed before delete
23
+ * @property {BeforeDeleteMany} [beforeDeleteMany] A callback (or array of callbacks) executed before deleteMany
24
+ * @property {BeforeGetList} [beforeGetList] A callback (or array of callbacks) executed before getList
25
+ * @property {BeforeGetMany} [beforeGetMany] A callback (or array of callbacks) executed before getMany
26
+ * @property {BeforeGetManyReference} [beforeGetManyReference] A callback (or array of callbacks) executed before getManyReference
27
+ * @property {BeforeGetOne} [beforeGetOne] A callback (or array of callbacks) executed before getOne
28
+ * @property {BeforeSave} [beforeSave] A callback (or array of callbacks) executed before save (create, update, updateMany)
29
+ * @property {BeforeUpdate} [beforeUpdate] A callback (or array of callbacks) executed before update
30
+ * @property {BeforeUpdateMany} [beforeUpdateMany] A callback (or array of callbacks) executed before updateMany
31
+ *
32
+ * Warnings:
33
+ * - As queries issued in the callbacks are not done through react-query,
34
+ * any change in the data will not be automatically reflected in the UI.
35
+ * - The callbacks are not executed in a transaction. In case of error,
36
+ * the backend may be left in an inconsistent state.
37
+ * - When calling the API directly using fetch or another client,
38
+ * the callbacks will not be executed, leaving the backend in a possibly inconsistent state.
39
+ * - If a callback triggers the query it's listening to, this will lead to a infinite loop.
40
+ *
41
+ * @example
42
+ *
43
+ * const dataProvider = withLifecycleCallbacks(
44
+ * jsonServerProvider("http://localhost:3000"),
45
+ * [
46
+ * {
47
+ * resource: "posts",
48
+ * afterRead: async (data, dataProvider, resource) => {
49
+ * // rename field to the record
50
+ * data.user_id = data.userId;
51
+ * return data;
52
+ * },
53
+ * // executed after create, update and updateMany
54
+ * afterSave: async (record, dataProvider, resource) => {
55
+ * // update the author's nb_posts
56
+ * const { total } = await dataProvider.getList("users", {
57
+ * filter: { id: record.user_id },
58
+ * pagination: { page: 1, perPage: 1 },
59
+ * });
60
+ * await dataProvider.update("users", {
61
+ * id: user.id,
62
+ * data: { nb_posts: total },
63
+ * previousData: user,
64
+ * });
65
+ * return record;
66
+ * },
67
+ * beforeDelete: async (params, dataProvider, resource) => {
68
+ * // delete all comments linked to the post
69
+ * const { data: comments } = await dataProvider.getManyReference(
70
+ * "comments",
71
+ * {
72
+ * target: "post_id",
73
+ * id: params.id,
74
+ * }
75
+ * );
76
+ * if (comments.length > 0) {
77
+ * await dataProvider.deleteMany("comments", {
78
+ * ids: comments.map((comment) => comment.id),
79
+ * });
80
+ * }
81
+ * // update the author's nb_posts
82
+ * const { data: post } = await dataProvider.getOne("posts", {
83
+ * id: params.id,
84
+ * });
85
+ * const { total } = await dataProvider.getList("users", {
86
+ * filter: { id: post.user_id },
87
+ * pagination: { page: 1, perPage: 1 },
88
+ * });
89
+ * await dataProvider.update("users", {
90
+ * id: user.id,
91
+ * data: { nb_posts: total - 1 },
92
+ * previousData: user,
93
+ * });
94
+ * return params;
95
+ * },
96
+ * },
97
+ * ]
98
+ * );
99
+ */
100
+ export declare const withLifecycleCallbacks: (dataProvider: DataProvider, handlers: ResourceCallbacks[]) => DataProvider;
101
+ /**
102
+ * Apply callbacks to the params for the given resource and hook
103
+ * @param {DataProvider} dataProvider The dataProvider
104
+ * @param {ResourceCallbacks[]} handlers An array of ResourceCallbacks
105
+ * @param {string} resource The resource name
106
+ * @param {string} hook The hook name (beforeGetList, afterGetOne, etc.)
107
+ * @param {U} params The params / result to pass to the callbacks
108
+ * @returns {Promise<U>} The params / result after the callbacks have been applied
109
+ */
110
+ export declare const applyCallbacks: <U>({ name, params, dataProvider, handlers, resource, }: {
111
+ name: string;
112
+ params: U;
113
+ dataProvider: DataProvider;
114
+ handlers: ResourceCallbacks[];
115
+ resource: string;
116
+ }) => Promise<U>;
117
+ export type ResourceCallback<U> = {
118
+ (params: U, dataProvider: DataProvider, resource: string): Promise<U>;
119
+ };
120
+ export type ResourceCallbacksValue<V> = ResourceCallback<V> | ResourceCallback<V>[];
121
+ export type ResourceCallbacks<T extends RaRecord = any> = {
122
+ resource: string;
123
+ afterCreate?: ResourceCallbacksValue<CreateResult<T>>;
124
+ afterDelete?: ResourceCallbacksValue<DeleteResult<T>>;
125
+ afterDeleteMany?: ResourceCallbacksValue<DeleteManyResult<T>>;
126
+ afterGetList?: ResourceCallbacksValue<GetListResult<T>>;
127
+ afterGetMany?: ResourceCallbacksValue<GetManyResult<T>>;
128
+ afterGetManyReference?: ResourceCallbacksValue<GetManyReferenceResult<T>>;
129
+ afterGetOne?: ResourceCallbacksValue<GetOneResult<T>>;
130
+ afterUpdate?: ResourceCallbacksValue<UpdateResult<T>>;
131
+ afterUpdateMany?: ResourceCallbacksValue<UpdateManyResult<T>>;
132
+ beforeCreate?: ResourceCallbacksValue<CreateParams<T>>;
133
+ beforeDelete?: ResourceCallbacksValue<DeleteParams<T>>;
134
+ beforeDeleteMany?: ResourceCallbacksValue<DeleteManyParams<T>>;
135
+ beforeGetList?: ResourceCallbacksValue<GetListParams>;
136
+ beforeGetMany?: ResourceCallbacksValue<GetManyParams>;
137
+ beforeGetManyReference?: ResourceCallbacksValue<GetManyReferenceParams>;
138
+ beforeGetOne?: ResourceCallbacksValue<GetOneParams<T>>;
139
+ beforeUpdate?: ResourceCallbacksValue<UpdateParams<T>>;
140
+ beforeUpdateMany?: ResourceCallbacksValue<UpdateManyParams<T>>;
141
+ /**
142
+ * Modify the data before it is sent to the dataProvider.
143
+ *
144
+ * Used in create, update, and updateMany
145
+ *
146
+ * Note: This callback doesn't modify the record itself, but the data argument
147
+ * (which may be a diff, especially when called with updateMany).
148
+ */
149
+ beforeSave?: ResourceCallbacksValue<T>;
150
+ /**
151
+ * Update a record after it has been read from the dataProvider
152
+ *
153
+ * Used in getOne, getList, getMany, and getManyReference
154
+ */
155
+ afterRead?: ResourceCallbacksValue<T>;
156
+ /**
157
+ * Use the record after it is returned by the dataProvider.
158
+ *
159
+ * Used in create, update, and updateMany
160
+ */
161
+ afterSave?: ResourceCallbacksValue<T>;
162
+ };
@@ -0,0 +1,377 @@
1
+ /**
2
+ * Extend a dataProvider to execute callbacks before and after read and write calls.
3
+ *
4
+ * @param {DataProvider} dataProvider The dataProvider to wrap
5
+ * @param {ResourceCallbacks[]} handlers An array of ResourceCallbacks
6
+ *
7
+ * @typedef {Object} ResourceCallbacks
8
+ * @property {string} resource The resource name
9
+ * @property {AfterCreate} [afterCreate] A callback (or array of callbacks) executed after create
10
+ * @property {AfterDelete} [afterDelete] A callback (or array of callbacks) executed after delete
11
+ * @property {AfterDeleteMany} [afterDeleteMany] A callback (or array of callbacks) executed after deleteMany
12
+ * @property {AfterGetList} [afterGetList] A callback (or array of callbacks) executed after getList
13
+ * @property {AfterGetMany} [afterGetMany] A callback (or array of callbacks) executed after getMany
14
+ * @property {AfterGetManyReference} [afterGetManyReference] A callback (or array of callbacks) executed after getManyReference
15
+ * @property {AfterGetOne} [afterGetOne] A callback (or array of callbacks) executed after getOne
16
+ * @property {AfterRead} [afterRead] A callback (or array of callbacks) executed after read (getList, getMany, getManyReference, getOne)
17
+ * @property {AfterSave} [afterSave] A callback (or array of callbacks) executed after save (create, update, updateMany)
18
+ * @property {AfterUpdate} [afterUpdate] A callback (or array of callbacks) executed after update
19
+ * @property {AfterUpdateMany} [afterUpdateMany] A callback (or array of callbacks) executed after updateMany
20
+ * @property {BeforeCreate} [beforeCreate] A callback (or array of callbacks) executed before create
21
+ * @property {BeforeDelete} [beforeDelete] A callback (or array of callbacks) executed before delete
22
+ * @property {BeforeDeleteMany} [beforeDeleteMany] A callback (or array of callbacks) executed before deleteMany
23
+ * @property {BeforeGetList} [beforeGetList] A callback (or array of callbacks) executed before getList
24
+ * @property {BeforeGetMany} [beforeGetMany] A callback (or array of callbacks) executed before getMany
25
+ * @property {BeforeGetManyReference} [beforeGetManyReference] A callback (or array of callbacks) executed before getManyReference
26
+ * @property {BeforeGetOne} [beforeGetOne] A callback (or array of callbacks) executed before getOne
27
+ * @property {BeforeSave} [beforeSave] A callback (or array of callbacks) executed before save (create, update, updateMany)
28
+ * @property {BeforeUpdate} [beforeUpdate] A callback (or array of callbacks) executed before update
29
+ * @property {BeforeUpdateMany} [beforeUpdateMany] A callback (or array of callbacks) executed before updateMany
30
+ *
31
+ * Warnings:
32
+ * - As queries issued in the callbacks are not done through react-query,
33
+ * any change in the data will not be automatically reflected in the UI.
34
+ * - The callbacks are not executed in a transaction. In case of error,
35
+ * the backend may be left in an inconsistent state.
36
+ * - When calling the API directly using fetch or another client,
37
+ * the callbacks will not be executed, leaving the backend in a possibly inconsistent state.
38
+ * - If a callback triggers the query it's listening to, this will lead to a infinite loop.
39
+ *
40
+ * @example
41
+ *
42
+ * const dataProvider = withLifecycleCallbacks(
43
+ * jsonServerProvider("http://localhost:3000"),
44
+ * [
45
+ * {
46
+ * resource: "posts",
47
+ * afterRead: async (data, dataProvider, resource) => {
48
+ * // rename field to the record
49
+ * data.user_id = data.userId;
50
+ * return data;
51
+ * },
52
+ * // executed after create, update and updateMany
53
+ * afterSave: async (record, dataProvider, resource) => {
54
+ * // update the author's nb_posts
55
+ * const { total } = await dataProvider.getList("users", {
56
+ * filter: { id: record.user_id },
57
+ * pagination: { page: 1, perPage: 1 },
58
+ * });
59
+ * await dataProvider.update("users", {
60
+ * id: user.id,
61
+ * data: { nb_posts: total },
62
+ * previousData: user,
63
+ * });
64
+ * return record;
65
+ * },
66
+ * beforeDelete: async (params, dataProvider, resource) => {
67
+ * // delete all comments linked to the post
68
+ * const { data: comments } = await dataProvider.getManyReference(
69
+ * "comments",
70
+ * {
71
+ * target: "post_id",
72
+ * id: params.id,
73
+ * }
74
+ * );
75
+ * if (comments.length > 0) {
76
+ * await dataProvider.deleteMany("comments", {
77
+ * ids: comments.map((comment) => comment.id),
78
+ * });
79
+ * }
80
+ * // update the author's nb_posts
81
+ * const { data: post } = await dataProvider.getOne("posts", {
82
+ * id: params.id,
83
+ * });
84
+ * const { total } = await dataProvider.getList("users", {
85
+ * filter: { id: post.user_id },
86
+ * pagination: { page: 1, perPage: 1 },
87
+ * });
88
+ * await dataProvider.update("users", {
89
+ * id: user.id,
90
+ * data: { nb_posts: total - 1 },
91
+ * previousData: user,
92
+ * });
93
+ * return params;
94
+ * },
95
+ * },
96
+ * ]
97
+ * );
98
+ */
99
+ export const withLifecycleCallbacks = (dataProvider, handlers) => {
100
+ return {
101
+ ...dataProvider,
102
+ getList: async function (resource, params) {
103
+ let newParams = params;
104
+ newParams = await applyCallbacks({
105
+ name: 'beforeGetList',
106
+ params: newParams,
107
+ dataProvider,
108
+ handlers,
109
+ resource,
110
+ });
111
+ let result = await dataProvider.getList(resource, newParams);
112
+ result = await applyCallbacks({
113
+ name: 'afterGetList',
114
+ params: result,
115
+ dataProvider,
116
+ handlers,
117
+ resource,
118
+ });
119
+ result.data = await Promise.all(result.data.map(record => applyCallbacks({
120
+ name: 'afterRead',
121
+ params: record,
122
+ dataProvider,
123
+ handlers,
124
+ resource,
125
+ })));
126
+ return result;
127
+ },
128
+ getOne: async function (resource, params) {
129
+ let newParams = params;
130
+ newParams = await applyCallbacks({
131
+ name: 'beforeGetOne',
132
+ params: newParams,
133
+ dataProvider,
134
+ handlers,
135
+ resource,
136
+ });
137
+ let result = await dataProvider.getOne(resource, newParams);
138
+ result = await applyCallbacks({
139
+ name: 'afterGetOne',
140
+ params: result,
141
+ dataProvider,
142
+ handlers,
143
+ resource,
144
+ });
145
+ result.data = await applyCallbacks({
146
+ name: 'afterRead',
147
+ params: result.data,
148
+ dataProvider,
149
+ handlers,
150
+ resource,
151
+ });
152
+ return result;
153
+ },
154
+ getMany: async function (resource, params) {
155
+ let newParams = params;
156
+ newParams = await applyCallbacks({
157
+ name: 'beforeGetMany',
158
+ params: newParams,
159
+ dataProvider,
160
+ handlers,
161
+ resource,
162
+ });
163
+ let result = await dataProvider.getMany(resource, newParams);
164
+ result = await applyCallbacks({
165
+ name: 'afterGetMany',
166
+ params: result,
167
+ dataProvider,
168
+ handlers,
169
+ resource,
170
+ });
171
+ result.data = await Promise.all(result.data.map(record => applyCallbacks({
172
+ name: 'afterRead',
173
+ params: record,
174
+ dataProvider,
175
+ handlers,
176
+ resource,
177
+ })));
178
+ return result;
179
+ },
180
+ getManyReference: async function (resource, params) {
181
+ let newParams = params;
182
+ newParams = await applyCallbacks({
183
+ name: 'beforeGetManyReference',
184
+ params: newParams,
185
+ dataProvider,
186
+ handlers,
187
+ resource,
188
+ });
189
+ let result = await dataProvider.getManyReference(resource, newParams);
190
+ result = await applyCallbacks({
191
+ name: 'afterGetManyReference',
192
+ params: result,
193
+ dataProvider,
194
+ handlers,
195
+ resource,
196
+ });
197
+ result.data = await Promise.all(result.data.map(record => applyCallbacks({
198
+ name: 'afterRead',
199
+ params: record,
200
+ dataProvider,
201
+ handlers,
202
+ resource,
203
+ })));
204
+ return result;
205
+ },
206
+ update: async function (resource, params) {
207
+ let newParams = params;
208
+ newParams = await applyCallbacks({
209
+ name: 'beforeUpdate',
210
+ params: newParams,
211
+ dataProvider,
212
+ handlers,
213
+ resource,
214
+ });
215
+ newParams.data = await applyCallbacks({
216
+ name: 'beforeSave',
217
+ params: newParams.data,
218
+ dataProvider,
219
+ handlers,
220
+ resource,
221
+ });
222
+ let result = await dataProvider.update(resource, newParams);
223
+ result = await applyCallbacks({
224
+ name: 'afterUpdate',
225
+ params: result,
226
+ dataProvider,
227
+ handlers,
228
+ resource,
229
+ });
230
+ result.data = await applyCallbacks({
231
+ name: 'afterSave',
232
+ params: result.data,
233
+ dataProvider,
234
+ handlers,
235
+ resource,
236
+ });
237
+ return result;
238
+ },
239
+ create: async function (resource, params) {
240
+ let newParams = params;
241
+ newParams = await applyCallbacks({
242
+ name: 'beforeCreate',
243
+ params: newParams,
244
+ dataProvider,
245
+ handlers,
246
+ resource,
247
+ });
248
+ newParams.data = await applyCallbacks({
249
+ name: 'beforeSave',
250
+ params: newParams.data,
251
+ dataProvider,
252
+ handlers,
253
+ resource,
254
+ });
255
+ let result = await dataProvider.create(resource, newParams);
256
+ result = await applyCallbacks({
257
+ name: 'afterCreate',
258
+ params: result,
259
+ dataProvider,
260
+ handlers,
261
+ resource,
262
+ });
263
+ result.data = await applyCallbacks({
264
+ name: 'afterSave',
265
+ params: result.data,
266
+ dataProvider,
267
+ handlers,
268
+ resource,
269
+ });
270
+ return result;
271
+ },
272
+ delete: async function (resource, params) {
273
+ let newParams = params;
274
+ newParams = await applyCallbacks({
275
+ name: 'beforeDelete',
276
+ params: newParams,
277
+ dataProvider,
278
+ handlers,
279
+ resource,
280
+ });
281
+ let result = await dataProvider.delete(resource, newParams);
282
+ result = await applyCallbacks({
283
+ name: 'afterDelete',
284
+ params: result,
285
+ dataProvider,
286
+ handlers,
287
+ resource,
288
+ });
289
+ return result;
290
+ },
291
+ updateMany: async function (resource, params) {
292
+ let newParams = params;
293
+ newParams = await applyCallbacks({
294
+ name: 'beforeUpdateMany',
295
+ params: newParams,
296
+ dataProvider,
297
+ handlers,
298
+ resource,
299
+ });
300
+ newParams.data = await applyCallbacks({
301
+ name: 'beforeSave',
302
+ params: newParams.data,
303
+ dataProvider,
304
+ handlers,
305
+ resource,
306
+ });
307
+ let result = await dataProvider.updateMany(resource, newParams);
308
+ result = await applyCallbacks({
309
+ name: 'afterUpdateMany',
310
+ params: result,
311
+ dataProvider,
312
+ handlers,
313
+ resource,
314
+ });
315
+ const afterSaveHandlers = handlers.filter(h => (h.resource === resource || h.resource === '*') &&
316
+ h.afterSave);
317
+ if (afterSaveHandlers.length > 0) {
318
+ const { data: records } = await dataProvider.getMany(resource, {
319
+ //@ts-ignore
320
+ ids: result.data,
321
+ });
322
+ await Promise.all(records.map(record => applyCallbacks({
323
+ name: 'afterSave',
324
+ params: record,
325
+ dataProvider,
326
+ handlers,
327
+ resource,
328
+ })));
329
+ }
330
+ return result;
331
+ },
332
+ deleteMany: async function (resource, params) {
333
+ let newParams = params;
334
+ newParams = await applyCallbacks({
335
+ name: 'beforeDeleteMany',
336
+ params: newParams,
337
+ dataProvider,
338
+ handlers,
339
+ resource,
340
+ });
341
+ let result = await dataProvider.deleteMany(resource, newParams);
342
+ result = await applyCallbacks({
343
+ name: 'afterDeleteMany',
344
+ params: result,
345
+ dataProvider,
346
+ handlers,
347
+ resource,
348
+ });
349
+ return result;
350
+ },
351
+ };
352
+ };
353
+ /**
354
+ * Apply callbacks to the params for the given resource and hook
355
+ * @param {DataProvider} dataProvider The dataProvider
356
+ * @param {ResourceCallbacks[]} handlers An array of ResourceCallbacks
357
+ * @param {string} resource The resource name
358
+ * @param {string} hook The hook name (beforeGetList, afterGetOne, etc.)
359
+ * @param {U} params The params / result to pass to the callbacks
360
+ * @returns {Promise<U>} The params / result after the callbacks have been applied
361
+ */
362
+ export const applyCallbacks = async function ({ name, params, dataProvider, handlers, resource, }) {
363
+ let newParams = params;
364
+ const handlersToApply = handlers.filter(h => (h.resource === resource || h.resource === '*') && h[name]);
365
+ for (const handler of handlersToApply) {
366
+ const callbacksValue = handler[name];
367
+ if (Array.isArray(callbacksValue)) {
368
+ for (const callback of callbacksValue ?? []) {
369
+ newParams = await callback(newParams, dataProvider, resource);
370
+ }
371
+ }
372
+ else {
373
+ newParams = await callbacksValue(newParams, dataProvider, resource);
374
+ }
375
+ }
376
+ return newParams;
377
+ };
@@ -0,0 +1,18 @@
1
+ import { type Identifier } from '../types';
2
+ import { type RowClickFunctionBase } from './types';
3
+ export declare const DataTableCallbacksContext: import("react").Context<{
4
+ handleSort?: (event: any) => void;
5
+ handleToggleItem?: (id: Identifier, event: any) => void;
6
+ isRowExpandable?: (record: any) => boolean;
7
+ isRowSelectable?: (record: any) => boolean;
8
+ onSelect?: ((ids: Identifier[]) => void) | undefined;
9
+ rowClick?: string | RowClickFunctionBase | false;
10
+ }>;
11
+ export declare const useDataTableCallbacksContext: () => {
12
+ handleSort?: (event: any) => void;
13
+ handleToggleItem?: (id: Identifier, event: any) => void;
14
+ isRowExpandable?: (record: any) => boolean;
15
+ isRowSelectable?: (record: any) => boolean;
16
+ onSelect?: ((ids: Identifier[]) => void) | undefined;
17
+ rowClick?: string | RowClickFunctionBase | false;
18
+ };
@@ -0,0 +1,3 @@
1
+ import { createContext, useContext } from 'react';
2
+ export const DataTableCallbacksContext = createContext({});
3
+ export const useDataTableCallbacksContext = () => useContext(DataTableCallbacksContext);
@@ -0,0 +1,2 @@
1
+ export declare const DataTableColumnFilterContext: import("react").Context<string | undefined>;
2
+ export declare const useDataTableColumnFilterContext: () => string | undefined;
@@ -0,0 +1,3 @@
1
+ import { createContext, useContext } from 'react';
2
+ export const DataTableColumnFilterContext = createContext(undefined);
3
+ export const useDataTableColumnFilterContext = () => useContext(DataTableColumnFilterContext);
@@ -0,0 +1,2 @@
1
+ export declare const DataTableColumnRankContext: import("react").Context<number | undefined>;
2
+ export declare const useDataTableColumnRankContext: () => number | undefined;
@@ -0,0 +1,3 @@
1
+ import { createContext, useContext } from 'react';
2
+ export const DataTableColumnRankContext = createContext(undefined);
3
+ export const useDataTableColumnRankContext = () => useContext(DataTableColumnRankContext);
@@ -0,0 +1,22 @@
1
+ import { type ReactNode, type FC } from 'react';
2
+ import { type Identifier } from '../types';
3
+ export declare const DataTableConfigContext: import("react").Context<{
4
+ expand?: ReactNode | FC<{
5
+ id: Identifier;
6
+ record: any;
7
+ resource: string;
8
+ }>;
9
+ expandSingle: boolean;
10
+ hasBulkActions: boolean;
11
+ hover?: boolean;
12
+ }>;
13
+ export declare const useDataTableConfigContext: () => {
14
+ expand?: ReactNode | FC<{
15
+ id: Identifier;
16
+ record: any;
17
+ resource: string;
18
+ }>;
19
+ expandSingle: boolean;
20
+ hasBulkActions: boolean;
21
+ hover?: boolean;
22
+ };
@@ -0,0 +1,7 @@
1
+ import { createContext, useContext } from 'react';
2
+ export const DataTableConfigContext = createContext({
3
+ expandSingle: false,
4
+ hover: true,
5
+ hasBulkActions: false,
6
+ });
7
+ export const useDataTableConfigContext = () => useContext(DataTableConfigContext);
@@ -0,0 +1,4 @@
1
+ import { type RaRecord } from '../types';
2
+ export type DataTableDataContextProps<RecordType extends RaRecord = any> = RecordType[] | undefined;
3
+ export declare const DataTableDataContext: import("react").Context<DataTableDataContextProps<any>>;
4
+ export declare const useDataTableDataContext: <RecordType extends RaRecord = any>() => DataTableDataContextProps<RecordType>;
@@ -0,0 +1,3 @@
1
+ import { createContext, useContext } from 'react';
2
+ export const DataTableDataContext = createContext(undefined);
3
+ export const useDataTableDataContext = () => useContext(DataTableDataContext);
@@ -0,0 +1,3 @@
1
+ export type RenderContextType = 'data' | 'header' | 'footer' | 'columnsSelector';
2
+ export declare const DataTableRenderContext: import("react").Context<RenderContextType>;
3
+ export declare const useDataTableRenderContext: () => RenderContextType;
@@ -0,0 +1,3 @@
1
+ import { createContext, useContext } from 'react';
2
+ export const DataTableRenderContext = createContext('data');
3
+ export const useDataTableRenderContext = () => useContext(DataTableRenderContext);
@@ -0,0 +1,3 @@
1
+ import { type Identifier } from '../types';
2
+ export declare const DataTableSelectedIdsContext: import("react").Context<Identifier[] | undefined>;
3
+ export declare const useDataTableSelectedIdsContext: () => Identifier[] | undefined;
@@ -0,0 +1,3 @@
1
+ import { createContext, useContext } from 'react';
2
+ export const DataTableSelectedIdsContext = createContext(undefined);
3
+ export const useDataTableSelectedIdsContext = () => useContext(DataTableSelectedIdsContext);
@@ -0,0 +1,3 @@
1
+ import { type SortPayload } from '../types';
2
+ export declare const DataTableSortContext: import("react").Context<SortPayload | undefined>;
3
+ export declare const useDataTableSortContext: () => SortPayload | undefined;
@@ -0,0 +1,3 @@
1
+ import { createContext, useContext } from 'react';
2
+ export const DataTableSortContext = createContext(undefined);
3
+ export const useDataTableSortContext = () => useContext(DataTableSortContext);
@@ -0,0 +1,8 @@
1
+ export declare const DataTableStoreContext: import("react").Context<{
2
+ storeKey: string;
3
+ defaultHiddenColumns: string[];
4
+ }>;
5
+ export declare const useDataTableStoreContext: () => {
6
+ storeKey: string;
7
+ defaultHiddenColumns: string[];
8
+ };
@@ -0,0 +1,6 @@
1
+ import { createContext, useContext } from 'react';
2
+ export const DataTableStoreContext = createContext({
3
+ storeKey: '',
4
+ defaultHiddenColumns: [],
5
+ });
6
+ export const useDataTableStoreContext = () => useContext(DataTableStoreContext);