@strato-admin/core 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.
- package/dist/index.d.ts +3 -2
- package/dist/index.js +3 -3
- package/dist/ra-core/src/auth/AuthContext.d.ts +2 -0
- package/dist/ra-core/src/auth/AuthContext.js +3 -0
- package/dist/ra-core/src/auth/Authenticated.d.ts +40 -0
- package/dist/ra-core/src/auth/Authenticated.js +39 -0
- package/dist/ra-core/src/auth/CanAccess.d.ts +20 -0
- package/dist/ra-core/src/auth/CanAccess.js +31 -0
- package/dist/ra-core/src/auth/LogoutOnMount.d.ts +8 -0
- package/dist/ra-core/src/auth/LogoutOnMount.js +16 -0
- package/dist/ra-core/src/auth/WithPermissions.d.ts +19 -0
- package/dist/ra-core/src/auth/WithPermissions.js +66 -0
- package/dist/ra-core/src/auth/addRefreshAuthToAuthProvider.d.ts +22 -0
- package/dist/ra-core/src/auth/addRefreshAuthToAuthProvider.js +41 -0
- package/dist/ra-core/src/auth/addRefreshAuthToDataProvider.d.ts +21 -0
- package/dist/ra-core/src/auth/addRefreshAuthToDataProvider.js +30 -0
- package/dist/ra-core/src/auth/convertLegacyAuthProvider.d.ts +12 -0
- package/dist/ra-core/src/auth/convertLegacyAuthProvider.js +19 -0
- package/dist/ra-core/src/auth/index.d.ts +27 -0
- package/dist/ra-core/src/auth/index.js +34 -0
- package/dist/ra-core/src/auth/types.d.ts +7 -0
- package/dist/ra-core/src/auth/types.js +5 -0
- package/dist/ra-core/src/auth/useAuthProvider.d.ts +10 -0
- package/dist/ra-core/src/auth/useAuthProvider.js +11 -0
- package/dist/ra-core/src/auth/useAuthState.d.ts +48 -0
- package/dist/ra-core/src/auth/useAuthState.js +171 -0
- package/dist/ra-core/src/auth/useAuthenticated.d.ts +36 -0
- package/dist/ra-core/src/auth/useAuthenticated.js +34 -0
- package/dist/ra-core/src/auth/useCanAccess.d.ts +56 -0
- package/dist/ra-core/src/auth/useCanAccess.js +108 -0
- package/dist/ra-core/src/auth/useCanAccessCallback.d.ts +39 -0
- package/dist/ra-core/src/auth/useCanAccessCallback.js +45 -0
- package/dist/ra-core/src/auth/useCanAccessResources.d.ts +67 -0
- package/dist/ra-core/src/auth/useCanAccessResources.js +92 -0
- package/dist/ra-core/src/auth/useCheckAuth.d.ts +48 -0
- package/dist/ra-core/src/auth/useCheckAuth.js +76 -0
- package/dist/ra-core/src/auth/useGetIdentity.d.ts +41 -0
- package/dist/ra-core/src/auth/useGetIdentity.js +86 -0
- package/dist/ra-core/src/auth/useGetPermissions.d.ts +41 -0
- package/dist/ra-core/src/auth/useGetPermissions.js +47 -0
- package/dist/ra-core/src/auth/useHandleAuthCallback.d.ts +20 -0
- package/dist/ra-core/src/auth/useHandleAuthCallback.js +83 -0
- package/dist/ra-core/src/auth/useIsAuthPending.d.ts +13 -0
- package/dist/ra-core/src/auth/useIsAuthPending.js +30 -0
- package/dist/ra-core/src/auth/useLogin.d.ts +34 -0
- package/dist/ra-core/src/auth/useLogin.js +78 -0
- package/dist/ra-core/src/auth/useLogout.d.ts +31 -0
- package/dist/ra-core/src/auth/useLogout.js +117 -0
- package/dist/ra-core/src/auth/useLogoutIfAccessDenied.d.ts +42 -0
- package/dist/ra-core/src/auth/useLogoutIfAccessDenied.js +111 -0
- package/dist/ra-core/src/auth/usePermissions.d.ts +41 -0
- package/dist/ra-core/src/auth/usePermissions.js +123 -0
- package/dist/ra-core/src/auth/useRequireAccess.d.ts +140 -0
- package/dist/ra-core/src/auth/useRequireAccess.js +56 -0
- package/dist/ra-core/src/controller/button/index.d.ts +7 -0
- package/dist/ra-core/src/controller/button/index.js +7 -0
- package/dist/ra-core/src/controller/button/useBulkDeleteController.d.ts +14 -0
- package/dist/ra-core/src/controller/button/useBulkDeleteController.js +66 -0
- package/dist/ra-core/src/controller/button/useBulkUpdateController.d.ts +16 -0
- package/dist/ra-core/src/controller/button/useBulkUpdateController.js +70 -0
- package/dist/ra-core/src/controller/button/useDeleteController.d.ts +64 -0
- package/dist/ra-core/src/controller/button/useDeleteController.js +119 -0
- package/dist/ra-core/src/controller/button/useDeleteWithConfirmController.d.ts +69 -0
- package/dist/ra-core/src/controller/button/useDeleteWithConfirmController.js +139 -0
- package/dist/ra-core/src/controller/button/useDeleteWithUndoController.d.ts +46 -0
- package/dist/ra-core/src/controller/button/useDeleteWithUndoController.js +52 -0
- package/dist/ra-core/src/controller/button/useUpdateController.d.ts +68 -0
- package/dist/ra-core/src/controller/button/useUpdateController.js +113 -0
- package/dist/ra-core/src/controller/checkMinimumRequiredProps.d.ts +4 -0
- package/dist/ra-core/src/controller/checkMinimumRequiredProps.js +21 -0
- package/dist/ra-core/src/controller/create/CreateBase.d.ts +46 -0
- package/dist/ra-core/src/controller/create/CreateBase.js +55 -0
- package/dist/ra-core/src/controller/create/CreateContext.d.ts +20 -0
- package/dist/ra-core/src/controller/create/CreateContext.js +21 -0
- package/dist/ra-core/src/controller/create/CreateContextProvider.d.ts +29 -0
- package/dist/ra-core/src/controller/create/CreateContextProvider.js +31 -0
- package/dist/ra-core/src/controller/create/CreateController.d.ts +19 -0
- package/dist/ra-core/src/controller/create/CreateController.js +18 -0
- package/dist/ra-core/src/controller/create/index.d.ts +6 -0
- package/dist/ra-core/src/controller/create/index.js +6 -0
- package/dist/ra-core/src/controller/create/useCreateContext.d.ts +12 -0
- package/dist/ra-core/src/controller/create/useCreateContext.js +18 -0
- package/dist/ra-core/src/controller/create/useCreateController.d.ts +50 -0
- package/dist/ra-core/src/controller/create/useCreateController.js +149 -0
- package/dist/ra-core/src/controller/edit/EditBase.d.ts +41 -0
- package/dist/ra-core/src/controller/edit/EditBase.js +72 -0
- package/dist/ra-core/src/controller/edit/EditContext.d.ts +20 -0
- package/dist/ra-core/src/controller/edit/EditContext.js +21 -0
- package/dist/ra-core/src/controller/edit/EditContextProvider.d.ts +29 -0
- package/dist/ra-core/src/controller/edit/EditContextProvider.js +28 -0
- package/dist/ra-core/src/controller/edit/EditController.d.ts +19 -0
- package/dist/ra-core/src/controller/edit/EditController.js +18 -0
- package/dist/ra-core/src/controller/edit/index.d.ts +6 -0
- package/dist/ra-core/src/controller/edit/index.js +6 -0
- package/dist/ra-core/src/controller/edit/useEditContext.d.ts +12 -0
- package/dist/ra-core/src/controller/edit/useEditContext.js +18 -0
- package/dist/ra-core/src/controller/edit/useEditController.d.ts +72 -0
- package/dist/ra-core/src/controller/edit/useEditController.js +206 -0
- package/dist/ra-core/src/controller/field/ReferenceArrayFieldBase.d.ts +77 -0
- package/dist/ra-core/src/controller/field/ReferenceArrayFieldBase.js +119 -0
- package/dist/ra-core/src/controller/field/ReferenceFieldBase.d.ts +51 -0
- package/dist/ra-core/src/controller/field/ReferenceFieldBase.js +71 -0
- package/dist/ra-core/src/controller/field/ReferenceFieldContext.d.ts +4 -0
- package/dist/ra-core/src/controller/field/ReferenceFieldContext.js +10 -0
- package/dist/ra-core/src/controller/field/ReferenceManyCountBase.d.ts +20 -0
- package/dist/ra-core/src/controller/field/ReferenceManyCountBase.js +35 -0
- package/dist/ra-core/src/controller/field/ReferenceManyFieldBase.d.ts +59 -0
- package/dist/ra-core/src/controller/field/ReferenceManyFieldBase.js +108 -0
- package/dist/ra-core/src/controller/field/ReferenceOneFieldBase.d.ts +26 -0
- package/dist/ra-core/src/controller/field/ReferenceOneFieldBase.js +64 -0
- package/dist/ra-core/src/controller/field/index.d.ts +12 -0
- package/dist/ra-core/src/controller/field/index.js +12 -0
- package/dist/ra-core/src/controller/field/sanitizeFieldRestProps.d.ts +1 -0
- package/dist/ra-core/src/controller/field/sanitizeFieldRestProps.js +1 -0
- package/dist/ra-core/src/controller/field/types.d.ts +28 -0
- package/dist/ra-core/src/controller/field/types.js +1 -0
- package/dist/ra-core/src/controller/field/useReferenceArrayFieldController.d.ts +39 -0
- package/dist/ra-core/src/controller/field/useReferenceArrayFieldController.js +82 -0
- package/dist/ra-core/src/controller/field/useReferenceFieldController.d.ts +14 -0
- package/dist/ra-core/src/controller/field/useReferenceFieldController.js +31 -0
- package/dist/ra-core/src/controller/field/useReferenceManyFieldController.d.ts +49 -0
- package/dist/ra-core/src/controller/field/useReferenceManyFieldController.js +264 -0
- package/dist/ra-core/src/controller/field/useReferenceOneFieldController.d.ts +41 -0
- package/dist/ra-core/src/controller/field/useReferenceOneFieldController.js +67 -0
- package/dist/ra-core/src/controller/index.d.ts +17 -0
- package/dist/ra-core/src/controller/index.js +16 -0
- package/dist/ra-core/src/controller/input/ArrayInputBase.d.ts +46 -0
- package/dist/ra-core/src/controller/input/ArrayInputBase.js +130 -0
- package/dist/ra-core/src/controller/input/ArrayInputContext.d.ts +9 -0
- package/dist/ra-core/src/controller/input/ArrayInputContext.js +8 -0
- package/dist/ra-core/src/controller/input/ReferenceArrayInputBase.d.ts +78 -0
- package/dist/ra-core/src/controller/input/ReferenceArrayInputBase.js +97 -0
- package/dist/ra-core/src/controller/input/ReferenceInputBase.d.ts +65 -0
- package/dist/ra-core/src/controller/input/ReferenceInputBase.js +75 -0
- package/dist/ra-core/src/controller/input/SimpleFormIteratorBase.d.ts +17 -0
- package/dist/ra-core/src/controller/input/SimpleFormIteratorBase.js +55 -0
- package/dist/ra-core/src/controller/input/SimpleFormIteratorContext.d.ts +15 -0
- package/dist/ra-core/src/controller/input/SimpleFormIteratorContext.js +8 -0
- package/dist/ra-core/src/controller/input/SimpleFormIteratorItemBase.d.ts +12 -0
- package/dist/ra-core/src/controller/input/SimpleFormIteratorItemBase.js +53 -0
- package/dist/ra-core/src/controller/input/SimpleFormIteratorItemContext.d.ts +13 -0
- package/dist/ra-core/src/controller/input/SimpleFormIteratorItemContext.js +8 -0
- package/dist/ra-core/src/controller/input/index.d.ts +17 -0
- package/dist/ra-core/src/controller/input/index.js +17 -0
- package/dist/ra-core/src/controller/input/referenceDataStatus.d.ts +32 -0
- package/dist/ra-core/src/controller/input/referenceDataStatus.js +74 -0
- package/dist/ra-core/src/controller/input/sanitizeInputRestProps.d.ts +1 -0
- package/dist/ra-core/src/controller/input/sanitizeInputRestProps.js +1 -0
- package/dist/ra-core/src/controller/input/types.d.ts +3 -0
- package/dist/ra-core/src/controller/input/types.js +1 -0
- package/dist/ra-core/src/controller/input/useArrayInput.d.ts +8 -0
- package/dist/ra-core/src/controller/input/useArrayInput.js +29 -0
- package/dist/ra-core/src/controller/input/useGetArrayInputNewItemDefaults.d.ts +3 -0
- package/dist/ra-core/src/controller/input/useGetArrayInputNewItemDefaults.js +37 -0
- package/dist/ra-core/src/controller/input/useReferenceArrayInputController.d.ts +48 -0
- package/dist/ra-core/src/controller/input/useReferenceArrayInputController.js +137 -0
- package/dist/ra-core/src/controller/input/useReferenceInputController.d.ts +54 -0
- package/dist/ra-core/src/controller/input/useReferenceInputController.js +208 -0
- package/dist/ra-core/src/controller/input/useReferenceParams.d.ts +106 -0
- package/dist/ra-core/src/controller/input/useReferenceParams.js +226 -0
- package/dist/ra-core/src/controller/input/useSimpleFormIterator.d.ts +7 -0
- package/dist/ra-core/src/controller/input/useSimpleFormIterator.js +15 -0
- package/dist/ra-core/src/controller/input/useSimpleFormIteratorItem.d.ts +7 -0
- package/dist/ra-core/src/controller/input/useSimpleFormIteratorItem.js +15 -0
- package/dist/ra-core/src/controller/input/useSupportCreateSuggestion.d.ts +54 -0
- package/dist/ra-core/src/controller/input/useSupportCreateSuggestion.js +90 -0
- package/dist/ra-core/src/controller/list/FilterContext.d.ts +6 -0
- package/dist/ra-core/src/controller/list/FilterContext.js +5 -0
- package/dist/ra-core/src/controller/list/InfiniteListBase.d.ts +47 -0
- package/dist/ra-core/src/controller/list/InfiniteListBase.js +103 -0
- package/dist/ra-core/src/controller/list/InfinitePaginationContext.d.ts +25 -0
- package/dist/ra-core/src/controller/list/InfinitePaginationContext.js +32 -0
- package/dist/ra-core/src/controller/list/ListBase.d.ts +48 -0
- package/dist/ra-core/src/controller/list/ListBase.js +98 -0
- package/dist/ra-core/src/controller/list/ListContext.d.ts +54 -0
- package/dist/ra-core/src/controller/list/ListContext.js +55 -0
- package/dist/ra-core/src/controller/list/ListContextProvider.d.ts +33 -0
- package/dist/ra-core/src/controller/list/ListContextProvider.js +33 -0
- package/dist/ra-core/src/controller/list/ListController.d.ts +19 -0
- package/dist/ra-core/src/controller/list/ListController.js +18 -0
- package/dist/ra-core/src/controller/list/ListFilterContext.d.ts +39 -0
- package/dist/ra-core/src/controller/list/ListFilterContext.js +55 -0
- package/dist/ra-core/src/controller/list/ListPaginationContext.d.ts +43 -0
- package/dist/ra-core/src/controller/list/ListPaginationContext.js +67 -0
- package/dist/ra-core/src/controller/list/ListSortContext.d.ts +36 -0
- package/dist/ra-core/src/controller/list/ListSortContext.js +39 -0
- package/dist/ra-core/src/controller/list/RecordsIterator.d.ts +16 -0
- package/dist/ra-core/src/controller/list/RecordsIterator.js +22 -0
- package/dist/ra-core/src/controller/list/WithListContext.d.ts +32 -0
- package/dist/ra-core/src/controller/list/WithListContext.js +42 -0
- package/dist/ra-core/src/controller/list/index.d.ts +30 -0
- package/dist/ra-core/src/controller/list/index.js +30 -0
- package/dist/ra-core/src/controller/list/queryReducer.d.ts +45 -0
- package/dist/ra-core/src/controller/list/queryReducer.js +85 -0
- package/dist/ra-core/src/controller/list/useExpanded.d.ts +31 -0
- package/dist/ra-core/src/controller/list/useExpanded.js +70 -0
- package/dist/ra-core/src/controller/list/useFilterContext.d.ts +2 -0
- package/dist/ra-core/src/controller/list/useFilterContext.js +5 -0
- package/dist/ra-core/src/controller/list/useInfiniteListController.d.ts +44 -0
- package/dist/ra-core/src/controller/list/useInfiniteListController.js +175 -0
- package/dist/ra-core/src/controller/list/useInfinitePaginationContext.d.ts +16 -0
- package/dist/ra-core/src/controller/list/useInfinitePaginationContext.js +17 -0
- package/dist/ra-core/src/controller/list/useList.d.ts +55 -0
- package/dist/ra-core/src/controller/list/useList.js +223 -0
- package/dist/ra-core/src/controller/list/useListContext.d.ts +59 -0
- package/dist/ra-core/src/controller/list/useListContext.js +65 -0
- package/dist/ra-core/src/controller/list/useListContextWithProps.d.ts +44 -0
- package/dist/ra-core/src/controller/list/useListContextWithProps.js +84 -0
- package/dist/ra-core/src/controller/list/useListController.d.ts +296 -0
- package/dist/ra-core/src/controller/list/useListController.js +234 -0
- package/dist/ra-core/src/controller/list/useListFilterContext.d.ts +11 -0
- package/dist/ra-core/src/controller/list/useListFilterContext.js +18 -0
- package/dist/ra-core/src/controller/list/useListPaginationContext.d.ts +12 -0
- package/dist/ra-core/src/controller/list/useListPaginationContext.js +19 -0
- package/dist/ra-core/src/controller/list/useListParams.d.ts +116 -0
- package/dist/ra-core/src/controller/list/useListParams.js +281 -0
- package/dist/ra-core/src/controller/list/useListSortContext.d.ts +12 -0
- package/dist/ra-core/src/controller/list/useListSortContext.js +19 -0
- package/dist/ra-core/src/controller/list/useRecordSelection.d.ts +32 -0
- package/dist/ra-core/src/controller/list/useRecordSelection.js +93 -0
- package/dist/ra-core/src/controller/list/useSavedQueries.d.ts +14 -0
- package/dist/ra-core/src/controller/list/useSavedQueries.js +29 -0
- package/dist/ra-core/src/controller/list/useSelectAll.d.ts +48 -0
- package/dist/ra-core/src/controller/list/useSelectAll.js +102 -0
- package/dist/ra-core/src/controller/list/useUnselect.d.ts +10 -0
- package/dist/ra-core/src/controller/list/useUnselect.js +18 -0
- package/dist/ra-core/src/controller/list/useUnselectAll.d.ts +9 -0
- package/dist/ra-core/src/controller/list/useUnselectAll.js +18 -0
- package/dist/ra-core/src/controller/record/OptionalRecordContextProvider.d.ts +21 -0
- package/dist/ra-core/src/controller/record/OptionalRecordContextProvider.js +18 -0
- package/dist/ra-core/src/controller/record/RecordContext.d.ts +37 -0
- package/dist/ra-core/src/controller/record/RecordContext.js +33 -0
- package/dist/ra-core/src/controller/record/RecordRepresentation.d.ts +11 -0
- package/dist/ra-core/src/controller/record/RecordRepresentation.js +15 -0
- package/dist/ra-core/src/controller/record/WithRecord.d.ts +20 -0
- package/dist/ra-core/src/controller/record/WithRecord.js +18 -0
- package/dist/ra-core/src/controller/record/index.d.ts +5 -0
- package/dist/ra-core/src/controller/record/index.js +5 -0
- package/dist/ra-core/src/controller/record/useRecordContext.d.ts +34 -0
- package/dist/ra-core/src/controller/record/useRecordContext.js +36 -0
- package/dist/ra-core/src/controller/saveContext/SaveContext.d.ts +20 -0
- package/dist/ra-core/src/controller/saveContext/SaveContext.js +2 -0
- package/dist/ra-core/src/controller/saveContext/SaveContextProvider.d.ts +4 -0
- package/dist/ra-core/src/controller/saveContext/SaveContextProvider.js +3 -0
- package/dist/ra-core/src/controller/saveContext/index.d.ts +6 -0
- package/dist/ra-core/src/controller/saveContext/index.js +6 -0
- package/dist/ra-core/src/controller/saveContext/useMutationMiddlewares.d.ts +39 -0
- package/dist/ra-core/src/controller/saveContext/useMutationMiddlewares.js +79 -0
- package/dist/ra-core/src/controller/saveContext/usePickSaveContext.d.ts +5 -0
- package/dist/ra-core/src/controller/saveContext/usePickSaveContext.js +25 -0
- package/dist/ra-core/src/controller/saveContext/useRegisterMutationMiddleware.d.ts +6 -0
- package/dist/ra-core/src/controller/saveContext/useRegisterMutationMiddleware.js +18 -0
- package/dist/ra-core/src/controller/saveContext/useSaveContext.d.ts +14 -0
- package/dist/ra-core/src/controller/saveContext/useSaveContext.js +17 -0
- package/dist/ra-core/src/controller/show/ShowBase.d.ts +42 -0
- package/dist/ra-core/src/controller/show/ShowBase.js +72 -0
- package/dist/ra-core/src/controller/show/ShowContext.d.ts +20 -0
- package/dist/ra-core/src/controller/show/ShowContext.js +21 -0
- package/dist/ra-core/src/controller/show/ShowContextProvider.d.ts +27 -0
- package/dist/ra-core/src/controller/show/ShowContextProvider.js +25 -0
- package/dist/ra-core/src/controller/show/ShowController.d.ts +19 -0
- package/dist/ra-core/src/controller/show/ShowController.js +18 -0
- package/dist/ra-core/src/controller/show/index.d.ts +6 -0
- package/dist/ra-core/src/controller/show/index.js +6 -0
- package/dist/ra-core/src/controller/show/useShowContext.d.ts +12 -0
- package/dist/ra-core/src/controller/show/useShowContext.js +19 -0
- package/dist/ra-core/src/controller/show/useShowController.d.ts +75 -0
- package/dist/ra-core/src/controller/show/useShowController.js +110 -0
- package/dist/ra-core/src/controller/useFilterState.d.ts +46 -0
- package/dist/ra-core/src/controller/useFilterState.js +70 -0
- package/dist/ra-core/src/controller/usePaginationState.d.ts +33 -0
- package/dist/ra-core/src/controller/usePaginationState.js +45 -0
- package/dist/ra-core/src/controller/usePrevNextController.d.ts +127 -0
- package/dist/ra-core/src/controller/usePrevNextController.js +215 -0
- package/dist/ra-core/src/controller/useReference.d.ts +49 -0
- package/dist/ra-core/src/controller/useReference.js +42 -0
- package/dist/ra-core/src/controller/useSortState.d.ts +61 -0
- package/dist/ra-core/src/controller/useSortState.js +96 -0
- package/dist/ra-core/src/core/CoreAdmin.d.ts +83 -0
- package/dist/ra-core/src/core/CoreAdmin.js +86 -0
- package/dist/ra-core/src/core/CoreAdminContext.d.ts +154 -0
- package/dist/ra-core/src/core/CoreAdminContext.js +27 -0
- package/dist/ra-core/src/core/CoreAdminRoutes.d.ts +15 -0
- package/dist/ra-core/src/core/CoreAdminRoutes.js +33 -0
- package/dist/ra-core/src/core/CoreAdminUI.d.ts +260 -0
- package/dist/ra-core/src/core/CoreAdminUI.js +33 -0
- package/dist/ra-core/src/core/CustomRoutes.d.ts +16 -0
- package/dist/ra-core/src/core/CustomRoutes.js +11 -0
- package/dist/ra-core/src/core/DefaultTitleContext.d.ts +15 -0
- package/dist/ra-core/src/core/DefaultTitleContext.js +15 -0
- package/dist/ra-core/src/core/HasDashboardContext.d.ts +21 -0
- package/dist/ra-core/src/core/HasDashboardContext.js +22 -0
- package/dist/ra-core/src/core/IsOffline.d.ts +4 -0
- package/dist/ra-core/src/core/IsOffline.js +5 -0
- package/dist/ra-core/src/core/NavigateToFirstResource.d.ts +10 -0
- package/dist/ra-core/src/core/NavigateToFirstResource.js +21 -0
- package/dist/ra-core/src/core/OptionalResourceContextProvider.d.ts +22 -0
- package/dist/ra-core/src/core/OptionalResourceContextProvider.js +18 -0
- package/dist/ra-core/src/core/Resource.d.ts +16 -0
- package/dist/ra-core/src/core/Resource.js +31 -0
- package/dist/ra-core/src/core/ResourceContext.d.ts +19 -0
- package/dist/ra-core/src/core/ResourceContext.js +19 -0
- package/dist/ra-core/src/core/ResourceContextProvider.d.ts +26 -0
- package/dist/ra-core/src/core/ResourceContextProvider.js +22 -0
- package/dist/ra-core/src/core/ResourceDefinitionContext.d.ts +35 -0
- package/dist/ra-core/src/core/ResourceDefinitionContext.js +48 -0
- package/dist/ra-core/src/core/SourceContext.d.ts +27 -0
- package/dist/ra-core/src/core/SourceContext.js +35 -0
- package/dist/ra-core/src/core/UserMenuContext.d.ts +34 -0
- package/dist/ra-core/src/core/UserMenuContext.js +28 -0
- package/dist/ra-core/src/core/UserMenuContextProvider.d.ts +16 -0
- package/dist/ra-core/src/core/UserMenuContextProvider.js +9 -0
- package/dist/ra-core/src/core/index.d.ts +27 -0
- package/dist/ra-core/src/core/index.js +27 -0
- package/dist/ra-core/src/core/useConfigureAdminRouterFromChildren.d.ts +34 -0
- package/dist/ra-core/src/core/useConfigureAdminRouterFromChildren.js +227 -0
- package/dist/ra-core/src/core/useFirstResourceWithListAccess.d.ts +8 -0
- package/dist/ra-core/src/core/useFirstResourceWithListAccess.js +19 -0
- package/dist/ra-core/src/core/useGetRecordRepresentation.d.ts +13 -0
- package/dist/ra-core/src/core/useGetRecordRepresentation.js +44 -0
- package/dist/ra-core/src/core/useGetResourceLabel.d.ts +22 -0
- package/dist/ra-core/src/core/useGetResourceLabel.js +42 -0
- package/dist/ra-core/src/core/useIsOffline.d.ts +7 -0
- package/dist/ra-core/src/core/useIsOffline.js +18 -0
- package/dist/ra-core/src/core/useResourceContext.d.ts +36 -0
- package/dist/ra-core/src/core/useResourceContext.js +38 -0
- package/dist/ra-core/src/core/useResourceDefinition.d.ts +31 -0
- package/dist/ra-core/src/core/useResourceDefinition.js +48 -0
- package/dist/ra-core/src/core/useResourceDefinitionContext.d.ts +1 -0
- package/dist/ra-core/src/core/useResourceDefinitionContext.js +3 -0
- package/dist/ra-core/src/core/useResourceDefinitions.d.ts +21 -0
- package/dist/ra-core/src/core/useResourceDefinitions.js +20 -0
- package/dist/ra-core/src/core/useUserMenu.d.ts +28 -0
- package/dist/ra-core/src/core/useUserMenu.js +30 -0
- package/dist/ra-core/src/core/useWrappedSource.d.ts +11 -0
- package/dist/ra-core/src/core/useWrappedSource.js +15 -0
- package/dist/ra-core/src/dataProvider/DataProviderContext.d.ts +3 -0
- package/dist/ra-core/src/dataProvider/DataProviderContext.js +4 -0
- package/dist/ra-core/src/dataProvider/HttpError.d.ts +6 -0
- package/dist/ra-core/src/dataProvider/HttpError.js +19 -0
- package/dist/ra-core/src/dataProvider/combineDataProviders.d.ts +21 -0
- package/dist/ra-core/src/dataProvider/combineDataProviders.js +32 -0
- package/dist/ra-core/src/dataProvider/convertLegacyDataProvider.d.ts +12 -0
- package/dist/ra-core/src/dataProvider/convertLegacyDataProvider.js +40 -0
- package/dist/ra-core/src/dataProvider/dataFetchActions.d.ts +15 -0
- package/dist/ra-core/src/dataProvider/dataFetchActions.js +49 -0
- package/dist/ra-core/src/dataProvider/defaultDataProvider.d.ts +2 -0
- package/dist/ra-core/src/dataProvider/defaultDataProvider.js +12 -0
- package/dist/ra-core/src/dataProvider/fetch.d.ts +32 -0
- package/dist/ra-core/src/dataProvider/fetch.js +78 -0
- package/dist/ra-core/src/dataProvider/index.d.ts +34 -0
- package/dist/ra-core/src/dataProvider/index.js +33 -0
- package/dist/ra-core/src/dataProvider/populateQueryCache.d.ts +22 -0
- package/dist/ra-core/src/dataProvider/populateQueryCache.js +30 -0
- package/dist/ra-core/src/dataProvider/testDataProvider.d.ts +2 -0
- package/dist/ra-core/src/dataProvider/testDataProvider.js +41 -0
- package/dist/ra-core/src/dataProvider/undo/AddUndoableMutationContext.d.ts +2 -0
- package/dist/ra-core/src/dataProvider/undo/AddUndoableMutationContext.js +2 -0
- package/dist/ra-core/src/dataProvider/undo/TakeUndoableMutationContext.d.ts +2 -0
- package/dist/ra-core/src/dataProvider/undo/TakeUndoableMutationContext.js +2 -0
- package/dist/ra-core/src/dataProvider/undo/UndoableMutationsContextProvider.d.ts +13 -0
- package/dist/ra-core/src/dataProvider/undo/UndoableMutationsContextProvider.js +38 -0
- package/dist/ra-core/src/dataProvider/undo/index.d.ts +6 -0
- package/dist/ra-core/src/dataProvider/undo/index.js +6 -0
- package/dist/ra-core/src/dataProvider/undo/types.d.ts +3 -0
- package/dist/ra-core/src/dataProvider/undo/types.js +1 -0
- package/dist/ra-core/src/dataProvider/undo/useAddUndoableMutation.d.ts +1 -0
- package/dist/ra-core/src/dataProvider/undo/useAddUndoableMutation.js +3 -0
- package/dist/ra-core/src/dataProvider/undo/useTakeUndoableMutation.d.ts +1 -0
- package/dist/ra-core/src/dataProvider/undo/useTakeUndoableMutation.js +3 -0
- package/dist/ra-core/src/dataProvider/undoableEventEmitter.d.ts +3 -0
- package/dist/ra-core/src/dataProvider/undoableEventEmitter.js +2 -0
- package/dist/ra-core/src/dataProvider/useCreate.d.ts +89 -0
- package/dist/ra-core/src/dataProvider/useCreate.js +155 -0
- package/dist/ra-core/src/dataProvider/useDataProvider.d.ts +2 -0
- package/dist/ra-core/src/dataProvider/useDataProvider.js +140 -0
- package/dist/ra-core/src/dataProvider/useDelete.d.ts +83 -0
- package/dist/ra-core/src/dataProvider/useDelete.js +171 -0
- package/dist/ra-core/src/dataProvider/useDeleteMany.d.ts +81 -0
- package/dist/ra-core/src/dataProvider/useDeleteMany.js +193 -0
- package/dist/ra-core/src/dataProvider/useGetList.d.ts +58 -0
- package/dist/ra-core/src/dataProvider/useGetList.js +131 -0
- package/dist/ra-core/src/dataProvider/useGetMany.d.ts +49 -0
- package/dist/ra-core/src/dataProvider/useGetMany.js +143 -0
- package/dist/ra-core/src/dataProvider/useGetManyAggregate.d.ts +62 -0
- package/dist/ra-core/src/dataProvider/useGetManyAggregate.js +295 -0
- package/dist/ra-core/src/dataProvider/useGetManyReference.d.ts +62 -0
- package/dist/ra-core/src/dataProvider/useGetManyReference.js +117 -0
- package/dist/ra-core/src/dataProvider/useGetOne.d.ts +48 -0
- package/dist/ra-core/src/dataProvider/useGetOne.js +94 -0
- package/dist/ra-core/src/dataProvider/useGetRecordId.d.ts +14 -0
- package/dist/ra-core/src/dataProvider/useGetRecordId.js +22 -0
- package/dist/ra-core/src/dataProvider/useInfiniteGetList.d.ts +64 -0
- package/dist/ra-core/src/dataProvider/useInfiniteGetList.js +177 -0
- package/dist/ra-core/src/dataProvider/useIsDataLoaded.d.ts +13 -0
- package/dist/ra-core/src/dataProvider/useIsDataLoaded.js +35 -0
- package/dist/ra-core/src/dataProvider/useLoading.d.ts +12 -0
- package/dist/ra-core/src/dataProvider/useLoading.js +41 -0
- package/dist/ra-core/src/dataProvider/useMutationWithMutationMode.d.ts +51 -0
- package/dist/ra-core/src/dataProvider/useMutationWithMutationMode.js +238 -0
- package/dist/ra-core/src/dataProvider/useRefresh.d.ts +14 -0
- package/dist/ra-core/src/dataProvider/useRefresh.js +21 -0
- package/dist/ra-core/src/dataProvider/useUpdate.d.ts +89 -0
- package/dist/ra-core/src/dataProvider/useUpdate.js +183 -0
- package/dist/ra-core/src/dataProvider/useUpdateMany.d.ts +81 -0
- package/dist/ra-core/src/dataProvider/useUpdateMany.js +171 -0
- package/dist/ra-core/src/dataProvider/validateResponseFormat.d.ts +2 -0
- package/dist/ra-core/src/dataProvider/validateResponseFormat.js +35 -0
- package/dist/ra-core/src/dataProvider/withLifecycleCallbacks.d.ts +162 -0
- package/dist/ra-core/src/dataProvider/withLifecycleCallbacks.js +377 -0
- package/dist/ra-core/src/dataTable/DataTableBase.d.ts +36 -0
- package/dist/ra-core/src/dataTable/DataTableBase.js +104 -0
- package/dist/ra-core/src/dataTable/DataTableCallbacksContext.d.ts +18 -0
- package/dist/ra-core/src/dataTable/DataTableCallbacksContext.js +3 -0
- package/dist/ra-core/src/dataTable/DataTableColumnFilterContext.d.ts +2 -0
- package/dist/ra-core/src/dataTable/DataTableColumnFilterContext.js +3 -0
- package/dist/ra-core/src/dataTable/DataTableColumnRankContext.d.ts +2 -0
- package/dist/ra-core/src/dataTable/DataTableColumnRankContext.js +3 -0
- package/dist/ra-core/src/dataTable/DataTableConfigContext.d.ts +22 -0
- package/dist/ra-core/src/dataTable/DataTableConfigContext.js +7 -0
- package/dist/ra-core/src/dataTable/DataTableDataContext.d.ts +4 -0
- package/dist/ra-core/src/dataTable/DataTableDataContext.js +3 -0
- package/dist/ra-core/src/dataTable/DataTableRenderContext.d.ts +3 -0
- package/dist/ra-core/src/dataTable/DataTableRenderContext.js +3 -0
- package/dist/ra-core/src/dataTable/DataTableSelectedIdsContext.d.ts +3 -0
- package/dist/ra-core/src/dataTable/DataTableSelectedIdsContext.js +3 -0
- package/dist/ra-core/src/dataTable/DataTableSortContext.d.ts +3 -0
- package/dist/ra-core/src/dataTable/DataTableSortContext.js +3 -0
- package/dist/ra-core/src/dataTable/DataTableStoreContext.d.ts +8 -0
- package/dist/ra-core/src/dataTable/DataTableStoreContext.js +6 -0
- package/dist/ra-core/src/dataTable/index.d.ts +11 -0
- package/dist/ra-core/src/dataTable/index.js +11 -0
- package/dist/ra-core/src/dataTable/types.d.ts +2 -0
- package/dist/ra-core/src/dataTable/types.js +1 -0
- package/dist/ra-core/src/export/ExporterContext.d.ts +2 -0
- package/dist/ra-core/src/export/ExporterContext.js +4 -0
- package/dist/ra-core/src/export/defaultExporter.d.ts +2 -0
- package/dist/ra-core/src/export/defaultExporter.js +3 -0
- package/dist/ra-core/src/export/downloadCSV.d.ts +1 -0
- package/dist/ra-core/src/export/downloadCSV.js +17 -0
- package/dist/ra-core/src/export/fetchRelatedRecords.d.ts +14 -0
- package/dist/ra-core/src/export/fetchRelatedRecords.js +19 -0
- package/dist/ra-core/src/export/getRelatedIds.d.ts +24 -0
- package/dist/ra-core/src/export/getRelatedIds.js +26 -0
- package/dist/ra-core/src/export/index.d.ts +5 -0
- package/dist/ra-core/src/export/index.js +5 -0
- package/dist/ra-core/src/export/useBulkExport.d.ts +11 -0
- package/dist/ra-core/src/export/useBulkExport.js +30 -0
- package/dist/ra-core/src/form/FilterLiveForm.d.ts +56 -0
- package/dist/ra-core/src/form/FilterLiveForm.js +161 -0
- package/dist/ra-core/src/form/Form.d.ts +56 -0
- package/dist/ra-core/src/form/Form.js +55 -0
- package/dist/ra-core/src/form/FormDataConsumer.d.ts +74 -0
- package/dist/ra-core/src/form/FormDataConsumer.js +68 -0
- package/dist/ra-core/src/form/WarnWhenUnsavedChanges.d.ts +5 -0
- package/dist/ra-core/src/form/WarnWhenUnsavedChanges.js +5 -0
- package/dist/ra-core/src/form/choices/ChoicesContext.d.ts +65 -0
- package/dist/ra-core/src/form/choices/ChoicesContext.js +7 -0
- package/dist/ra-core/src/form/choices/ChoicesContextProvider.d.ts +6 -0
- package/dist/ra-core/src/form/choices/ChoicesContextProvider.js +3 -0
- package/dist/ra-core/src/form/choices/index.d.ts +4 -0
- package/dist/ra-core/src/form/choices/index.js +4 -0
- package/dist/ra-core/src/form/choices/useChoices.d.ts +31 -0
- package/dist/ra-core/src/form/choices/useChoices.js +42 -0
- package/dist/ra-core/src/form/choices/useChoicesContext.d.ts +5 -0
- package/dist/ra-core/src/form/choices/useChoicesContext.js +62 -0
- package/dist/ra-core/src/form/getFormInitialValues.d.ts +8 -0
- package/dist/ra-core/src/form/getFormInitialValues.js +14 -0
- package/dist/ra-core/src/form/groups/FormGroupContext.d.ts +9 -0
- package/dist/ra-core/src/form/groups/FormGroupContext.js +9 -0
- package/dist/ra-core/src/form/groups/FormGroupContextProvider.d.ts +49 -0
- package/dist/ra-core/src/form/groups/FormGroupContextProvider.js +64 -0
- package/dist/ra-core/src/form/groups/FormGroupsContext.d.ts +15 -0
- package/dist/ra-core/src/form/groups/FormGroupsContext.js +3 -0
- package/dist/ra-core/src/form/groups/FormGroupsProvider.d.ts +11 -0
- package/dist/ra-core/src/form/groups/FormGroupsProvider.js +67 -0
- package/dist/ra-core/src/form/groups/index.d.ts +6 -0
- package/dist/ra-core/src/form/groups/index.js +6 -0
- package/dist/ra-core/src/form/groups/useFormGroup.d.ts +67 -0
- package/dist/ra-core/src/form/groups/useFormGroup.js +146 -0
- package/dist/ra-core/src/form/groups/useFormGroupContext.d.ts +4 -0
- package/dist/ra-core/src/form/groups/useFormGroupContext.js +9 -0
- package/dist/ra-core/src/form/groups/useFormGroups.d.ts +4 -0
- package/dist/ra-core/src/form/groups/useFormGroups.js +9 -0
- package/dist/ra-core/src/form/index.d.ts +14 -0
- package/dist/ra-core/src/form/index.js +14 -0
- package/dist/ra-core/src/form/sanitizeEmptyValues.d.ts +7 -0
- package/dist/ra-core/src/form/sanitizeEmptyValues.js +26 -0
- package/dist/ra-core/src/form/useApplyInputDefaultValues.d.ts +19 -0
- package/dist/ra-core/src/form/useApplyInputDefaultValues.js +71 -0
- package/dist/ra-core/src/form/useAugmentedForm.d.ts +32 -0
- package/dist/ra-core/src/form/useAugmentedForm.js +101 -0
- package/dist/ra-core/src/form/useFormIsDirty.d.ts +4 -0
- package/dist/ra-core/src/form/useFormIsDirty.js +39 -0
- package/dist/ra-core/src/form/useFormValues.d.ts +4 -0
- package/dist/ra-core/src/form/useFormValues.js +9 -0
- package/dist/ra-core/src/form/useInput.d.ts +33 -0
- package/dist/ra-core/src/form/useInput.js +100 -0
- package/dist/ra-core/src/form/useRecordFromLocation.d.ts +22 -0
- package/dist/ra-core/src/form/useRecordFromLocation.js +59 -0
- package/dist/ra-core/src/form/useSuggestions.d.ts +43 -0
- package/dist/ra-core/src/form/useSuggestions.js +186 -0
- package/dist/ra-core/src/form/useWarnWhenUnsavedChanges.d.ts +7 -0
- package/dist/ra-core/src/form/useWarnWhenUnsavedChanges.js +74 -0
- package/dist/ra-core/src/form/validation/ValidationError.d.ts +5 -0
- package/dist/ra-core/src/form/validation/ValidationError.js +22 -0
- package/dist/ra-core/src/form/validation/getSimpleValidationResolver.d.ts +31 -0
- package/dist/ra-core/src/form/validation/getSimpleValidationResolver.js +87 -0
- package/dist/ra-core/src/form/validation/index.d.ts +7 -0
- package/dist/ra-core/src/form/validation/index.js +7 -0
- package/dist/ra-core/src/form/validation/setSubmissionErrors.d.ts +21 -0
- package/dist/ra-core/src/form/validation/setSubmissionErrors.js +34 -0
- package/dist/ra-core/src/form/validation/useGetValidationErrorMessage.d.ts +26 -0
- package/dist/ra-core/src/form/validation/useGetValidationErrorMessage.js +35 -0
- package/dist/ra-core/src/form/validation/useNotifyIsFormInvalid.d.ts +9 -0
- package/dist/ra-core/src/form/validation/useNotifyIsFormInvalid.js +30 -0
- package/dist/ra-core/src/form/validation/useUnique.d.ts +57 -0
- package/dist/ra-core/src/form/validation/useUnique.js +107 -0
- package/dist/ra-core/src/form/validation/validate.d.ts +168 -0
- package/dist/ra-core/src/form/validation/validate.js +218 -0
- package/dist/ra-core/src/i18n/I18nContext.d.ts +3 -0
- package/dist/ra-core/src/i18n/I18nContext.js +11 -0
- package/dist/ra-core/src/i18n/I18nContextProvider.d.ts +10 -0
- package/dist/ra-core/src/i18n/I18nContextProvider.js +47 -0
- package/dist/ra-core/src/i18n/TestTranslationProvider.d.ts +8 -0
- package/dist/ra-core/src/i18n/TestTranslationProvider.js +20 -0
- package/dist/ra-core/src/i18n/TranslatableContext.d.ts +16 -0
- package/dist/ra-core/src/i18n/TranslatableContext.js +2 -0
- package/dist/ra-core/src/i18n/TranslatableContextProvider.d.ts +6 -0
- package/dist/ra-core/src/i18n/TranslatableContextProvider.js +5 -0
- package/dist/ra-core/src/i18n/Translate.d.ts +7 -0
- package/dist/ra-core/src/i18n/Translate.js +10 -0
- package/dist/ra-core/src/i18n/TranslationMessages.d.ts +221 -0
- package/dist/ra-core/src/i18n/TranslationMessages.js +1 -0
- package/dist/ra-core/src/i18n/TranslationUtils.d.ts +60 -0
- package/dist/ra-core/src/i18n/TranslationUtils.js +70 -0
- package/dist/ra-core/src/i18n/index.d.ts +20 -0
- package/dist/ra-core/src/i18n/index.js +20 -0
- package/dist/ra-core/src/i18n/substituteTokens.d.ts +8 -0
- package/dist/ra-core/src/i18n/substituteTokens.js +18 -0
- package/dist/ra-core/src/i18n/useI18nProvider.d.ts +12 -0
- package/dist/ra-core/src/i18n/useI18nProvider.js +14 -0
- package/dist/ra-core/src/i18n/useLocale.d.ts +17 -0
- package/dist/ra-core/src/i18n/useLocale.js +21 -0
- package/dist/ra-core/src/i18n/useLocaleState.d.ts +27 -0
- package/dist/ra-core/src/i18n/useLocaleState.js +34 -0
- package/dist/ra-core/src/i18n/useLocales.d.ts +31 -0
- package/dist/ra-core/src/i18n/useLocales.js +28 -0
- package/dist/ra-core/src/i18n/useResourceTranslation.d.ts +8 -0
- package/dist/ra-core/src/i18n/useResourceTranslation.js +18 -0
- package/dist/ra-core/src/i18n/useSetLocale.d.ts +25 -0
- package/dist/ra-core/src/i18n/useSetLocale.js +29 -0
- package/dist/ra-core/src/i18n/useTranslatable.d.ts +29 -0
- package/dist/ra-core/src/i18n/useTranslatable.js +98 -0
- package/dist/ra-core/src/i18n/useTranslatableContext.d.ts +31 -0
- package/dist/ra-core/src/i18n/useTranslatableContext.js +38 -0
- package/dist/ra-core/src/i18n/useTranslate.d.ts +21 -0
- package/dist/ra-core/src/i18n/useTranslate.js +29 -0
- package/dist/ra-core/src/i18n/useTranslateLabel.d.ts +6 -0
- package/dist/ra-core/src/i18n/useTranslateLabel.js +26 -0
- package/dist/ra-core/src/index.d.ts +16 -0
- package/dist/ra-core/src/index.js +16 -0
- package/dist/ra-core/src/inference/InferredElement.d.ts +12 -0
- package/dist/ra-core/src/inference/InferredElement.js +40 -0
- package/dist/ra-core/src/inference/assertions.d.ts +26 -0
- package/dist/ra-core/src/inference/assertions.js +38 -0
- package/dist/ra-core/src/inference/getElementsFromRecords.d.ts +35 -0
- package/dist/ra-core/src/inference/getElementsFromRecords.js +39 -0
- package/dist/ra-core/src/inference/getValuesFromRecords.d.ts +28 -0
- package/dist/ra-core/src/inference/getValuesFromRecords.js +40 -0
- package/dist/ra-core/src/inference/index.d.ts +6 -0
- package/dist/ra-core/src/inference/index.js +6 -0
- package/dist/ra-core/src/inference/inferElementFromValues.d.ts +41 -0
- package/dist/ra-core/src/inference/inferElementFromValues.js +161 -0
- package/dist/ra-core/src/inference/inferTypeFromValues.d.ts +21 -0
- package/dist/ra-core/src/inference/inferTypeFromValues.js +141 -0
- package/dist/ra-core/src/inference/types.d.ts +9 -0
- package/dist/ra-core/src/inference/types.js +1 -0
- package/dist/ra-core/src/notification/AddNotificationContext.d.ts +2 -0
- package/dist/ra-core/src/notification/AddNotificationContext.js +2 -0
- package/dist/ra-core/src/notification/CloseNotificationContext.d.ts +2 -0
- package/dist/ra-core/src/notification/CloseNotificationContext.js +2 -0
- package/dist/ra-core/src/notification/NotificationContext.d.ts +37 -0
- package/dist/ra-core/src/notification/NotificationContext.js +35 -0
- package/dist/ra-core/src/notification/NotificationContextProvider.d.ts +3 -0
- package/dist/ra-core/src/notification/NotificationContextProvider.js +31 -0
- package/dist/ra-core/src/notification/index.d.ts +9 -0
- package/dist/ra-core/src/notification/index.js +9 -0
- package/dist/ra-core/src/notification/types.d.ts +14 -0
- package/dist/ra-core/src/notification/types.js +1 -0
- package/dist/ra-core/src/notification/useAddNotificationContext.d.ts +1 -0
- package/dist/ra-core/src/notification/useAddNotificationContext.js +3 -0
- package/dist/ra-core/src/notification/useCloseNotification.d.ts +1 -0
- package/dist/ra-core/src/notification/useCloseNotification.js +9 -0
- package/dist/ra-core/src/notification/useNotificationContext.d.ts +1 -0
- package/dist/ra-core/src/notification/useNotificationContext.js +3 -0
- package/dist/ra-core/src/notification/useNotify.d.ts +20 -0
- package/dist/ra-core/src/notification/useNotify.js +28 -0
- package/dist/ra-core/src/preferences/PreferenceKeyContext.d.ts +7 -0
- package/dist/ra-core/src/preferences/PreferenceKeyContext.js +7 -0
- package/dist/ra-core/src/preferences/PreferencesEditorContext.d.ts +16 -0
- package/dist/ra-core/src/preferences/PreferencesEditorContext.js +2 -0
- package/dist/ra-core/src/preferences/PreferencesEditorContextProvider.d.ts +3 -0
- package/dist/ra-core/src/preferences/PreferencesEditorContextProvider.js +48 -0
- package/dist/ra-core/src/preferences/index.d.ts +7 -0
- package/dist/ra-core/src/preferences/index.js +7 -0
- package/dist/ra-core/src/preferences/usePreference.d.ts +18 -0
- package/dist/ra-core/src/preferences/usePreference.js +10 -0
- package/dist/ra-core/src/preferences/usePreferenceInput.d.ts +22 -0
- package/dist/ra-core/src/preferences/usePreferenceInput.js +43 -0
- package/dist/ra-core/src/preferences/usePreferencesEditor.d.ts +2 -0
- package/dist/ra-core/src/preferences/usePreferencesEditor.js +9 -0
- package/dist/ra-core/src/preferences/useSetInspectorTitle.d.ts +7 -0
- package/dist/ra-core/src/preferences/useSetInspectorTitle.js +19 -0
- package/dist/ra-core/src/routing/AdminRouter.d.ts +13 -0
- package/dist/ra-core/src/routing/AdminRouter.js +15 -0
- package/dist/ra-core/src/routing/BasenameContext.d.ts +1 -0
- package/dist/ra-core/src/routing/BasenameContext.js +2 -0
- package/dist/ra-core/src/routing/BasenameContextProvider.d.ts +12 -0
- package/dist/ra-core/src/routing/BasenameContextProvider.js +11 -0
- package/dist/ra-core/src/routing/LinkBase.d.ts +17 -0
- package/dist/ra-core/src/routing/LinkBase.js +22 -0
- package/dist/ra-core/src/routing/Navigate.d.ts +14 -0
- package/dist/ra-core/src/routing/Navigate.js +17 -0
- package/dist/ra-core/src/routing/Outlet.d.ts +19 -0
- package/dist/ra-core/src/routing/Outlet.js +22 -0
- package/dist/ra-core/src/routing/RestoreScrollPosition.d.ts +24 -0
- package/dist/ra-core/src/routing/RestoreScrollPosition.js +23 -0
- package/dist/ra-core/src/routing/RouterProvider.d.ts +163 -0
- package/dist/ra-core/src/routing/RouterProvider.js +1 -0
- package/dist/ra-core/src/routing/RouterProviderContext.d.ts +15 -0
- package/dist/ra-core/src/routing/RouterProviderContext.js +19 -0
- package/dist/ra-core/src/routing/TestMemoryRouter.d.ts +21 -0
- package/dist/ra-core/src/routing/TestMemoryRouter.js +42 -0
- package/dist/ra-core/src/routing/adapters/reactRouterProvider.d.ts +6 -0
- package/dist/ra-core/src/routing/adapters/reactRouterProvider.js +86 -0
- package/dist/ra-core/src/routing/index.d.ts +28 -0
- package/dist/ra-core/src/routing/index.js +28 -0
- package/dist/ra-core/src/routing/types.d.ts +3 -0
- package/dist/ra-core/src/routing/types.js +1 -0
- package/dist/ra-core/src/routing/useBasename.d.ts +21 -0
- package/dist/ra-core/src/routing/useBasename.js +23 -0
- package/dist/ra-core/src/routing/useBlocker.d.ts +14 -0
- package/dist/ra-core/src/routing/useBlocker.js +17 -0
- package/dist/ra-core/src/routing/useCanBlock.d.ts +7 -0
- package/dist/ra-core/src/routing/useCanBlock.js +11 -0
- package/dist/ra-core/src/routing/useCreatePath.d.ts +42 -0
- package/dist/ra-core/src/routing/useCreatePath.js +69 -0
- package/dist/ra-core/src/routing/useGetPathForRecord.d.ts +42 -0
- package/dist/ra-core/src/routing/useGetPathForRecord.js +135 -0
- package/dist/ra-core/src/routing/useGetPathForRecordCallback.d.ts +6 -0
- package/dist/ra-core/src/routing/useGetPathForRecordCallback.js +82 -0
- package/dist/ra-core/src/routing/useInRouterContext.d.ts +11 -0
- package/dist/ra-core/src/routing/useInRouterContext.js +15 -0
- package/dist/ra-core/src/routing/useLocation.d.ts +10 -0
- package/dist/ra-core/src/routing/useLocation.js +13 -0
- package/dist/ra-core/src/routing/useMatch.d.ts +15 -0
- package/dist/ra-core/src/routing/useMatch.js +15 -0
- package/dist/ra-core/src/routing/useMatchPath.d.ts +17 -0
- package/dist/ra-core/src/routing/useMatchPath.js +17 -0
- package/dist/ra-core/src/routing/useNavigate.d.ts +12 -0
- package/dist/ra-core/src/routing/useNavigate.js +15 -0
- package/dist/ra-core/src/routing/useParams.d.ts +9 -0
- package/dist/ra-core/src/routing/useParams.js +13 -0
- package/dist/ra-core/src/routing/useRedirect.d.ts +30 -0
- package/dist/ra-core/src/routing/useRedirect.js +66 -0
- package/dist/ra-core/src/routing/useResetErrorBoundaryOnLocationChange.d.ts +7 -0
- package/dist/ra-core/src/routing/useResetErrorBoundaryOnLocationChange.js +17 -0
- package/dist/ra-core/src/routing/useRestoreScrollPosition.d.ts +40 -0
- package/dist/ra-core/src/routing/useRestoreScrollPosition.js +70 -0
- package/dist/ra-core/src/routing/useScrollToTop.d.ts +22 -0
- package/dist/ra-core/src/routing/useScrollToTop.js +33 -0
- package/dist/ra-core/src/routing/useSplatPathBase.d.ts +13 -0
- package/dist/ra-core/src/routing/useSplatPathBase.js +21 -0
- package/dist/ra-core/src/store/StoreContext.d.ts +2 -0
- package/dist/ra-core/src/store/StoreContext.js +4 -0
- package/dist/ra-core/src/store/StoreContextProvider.d.ts +7 -0
- package/dist/ra-core/src/store/StoreContextProvider.js +12 -0
- package/dist/ra-core/src/store/StoreSetter.d.ts +37 -0
- package/dist/ra-core/src/store/StoreSetter.js +40 -0
- package/dist/ra-core/src/store/index.d.ts +11 -0
- package/dist/ra-core/src/store/index.js +11 -0
- package/dist/ra-core/src/store/localStorageStore.d.ts +27 -0
- package/dist/ra-core/src/store/localStorageStore.js +198 -0
- package/dist/ra-core/src/store/memoryStore.d.ts +15 -0
- package/dist/ra-core/src/store/memoryStore.js +108 -0
- package/dist/ra-core/src/store/types.d.ts +11 -0
- package/dist/ra-core/src/store/types.js +1 -0
- package/dist/ra-core/src/store/useRemoveFromStore.d.ts +17 -0
- package/dist/ra-core/src/store/useRemoveFromStore.js +29 -0
- package/dist/ra-core/src/store/useRemoveItemsFromStore.d.ts +17 -0
- package/dist/ra-core/src/store/useRemoveItemsFromStore.js +29 -0
- package/dist/ra-core/src/store/useResetStore.d.ts +17 -0
- package/dist/ra-core/src/store/useResetStore.js +21 -0
- package/dist/ra-core/src/store/useStore.d.ts +48 -0
- package/dist/ra-core/src/store/useStore.js +32 -0
- package/dist/ra-core/src/store/useStoreContext.d.ts +4 -0
- package/dist/ra-core/src/store/useStoreContext.js +6 -0
- package/dist/ra-core/src/test-ui/Admin.d.ts +2 -0
- package/dist/ra-core/src/test-ui/Admin.js +8 -0
- package/dist/ra-core/src/test-ui/ArrayInput.d.ts +10 -0
- package/dist/ra-core/src/test-ui/ArrayInput.js +8 -0
- package/dist/ra-core/src/test-ui/AutocompleteArrayInput.d.ts +5 -0
- package/dist/ra-core/src/test-ui/AutocompleteArrayInput.js +5 -0
- package/dist/ra-core/src/test-ui/AutocompleteInput.d.ts +5 -0
- package/dist/ra-core/src/test-ui/AutocompleteInput.js +29 -0
- package/dist/ra-core/src/test-ui/BooleanInput.d.ts +2 -0
- package/dist/ra-core/src/test-ui/BooleanInput.js +10 -0
- package/dist/ra-core/src/test-ui/Confirm.d.ts +10 -0
- package/dist/ra-core/src/test-ui/Confirm.js +25 -0
- package/dist/ra-core/src/test-ui/CreateButton.d.ts +3 -0
- package/dist/ra-core/src/test-ui/CreateButton.js +9 -0
- package/dist/ra-core/src/test-ui/DataTable.d.ts +15 -0
- package/dist/ra-core/src/test-ui/DataTable.js +88 -0
- package/dist/ra-core/src/test-ui/DeleteButton.d.ts +5 -0
- package/dist/ra-core/src/test-ui/DeleteButton.js +18 -0
- package/dist/ra-core/src/test-ui/EditButton.d.ts +5 -0
- package/dist/ra-core/src/test-ui/EditButton.js +13 -0
- package/dist/ra-core/src/test-ui/Layout.d.ts +4 -0
- package/dist/ra-core/src/test-ui/Layout.js +36 -0
- package/dist/ra-core/src/test-ui/Notification.d.ts +13 -0
- package/dist/ra-core/src/test-ui/Notification.js +109 -0
- package/dist/ra-core/src/test-ui/Pagination.d.ts +1 -0
- package/dist/ra-core/src/test-ui/Pagination.js +28 -0
- package/dist/ra-core/src/test-ui/PrevNextButtons.d.ts +5 -0
- package/dist/ra-core/src/test-ui/PrevNextButtons.js +18 -0
- package/dist/ra-core/src/test-ui/ShowButton.d.ts +5 -0
- package/dist/ra-core/src/test-ui/ShowButton.js +13 -0
- package/dist/ra-core/src/test-ui/SimpleForm.d.ts +2 -0
- package/dist/ra-core/src/test-ui/SimpleForm.js +11 -0
- package/dist/ra-core/src/test-ui/SimpleFormIterator.d.ts +46 -0
- package/dist/ra-core/src/test-ui/SimpleFormIterator.js +101 -0
- package/dist/ra-core/src/test-ui/SimpleList.d.ts +6 -0
- package/dist/ra-core/src/test-ui/SimpleList.js +12 -0
- package/dist/ra-core/src/test-ui/SimpleShowLayout.d.ts +4 -0
- package/dist/ra-core/src/test-ui/SimpleShowLayout.js +3 -0
- package/dist/ra-core/src/test-ui/TextInput.d.ts +6 -0
- package/dist/ra-core/src/test-ui/TextInput.js +9 -0
- package/dist/ra-core/src/test-ui/defaultI18nProvider.d.ts +2 -0
- package/dist/ra-core/src/test-ui/defaultI18nProvider.js +10 -0
- package/dist/ra-core/src/test-ui/index.d.ts +21 -0
- package/dist/ra-core/src/test-ui/index.js +21 -0
- package/dist/ra-core/src/types.d.ts +284 -0
- package/dist/ra-core/src/types.js +5 -0
- package/dist/ra-core/src/util/FieldTitle.d.ts +17 -0
- package/dist/ra-core/src/util/FieldTitle.js +24 -0
- package/dist/ra-core/src/util/Ready.d.ts +2 -0
- package/dist/ra-core/src/util/Ready.js +57 -0
- package/dist/ra-core/src/util/asyncDebounce.d.ts +7 -0
- package/dist/ra-core/src/util/asyncDebounce.js +29 -0
- package/dist/ra-core/src/util/escapePath.d.ts +11 -0
- package/dist/ra-core/src/util/escapePath.js +10 -0
- package/dist/ra-core/src/util/genericMemo.d.ts +5 -0
- package/dist/ra-core/src/util/genericMemo.js +14 -0
- package/dist/ra-core/src/util/getFieldLabelTranslationArgs.d.ts +22 -0
- package/dist/ra-core/src/util/getFieldLabelTranslationArgs.js +73 -0
- package/dist/ra-core/src/util/getMutationMode.d.ts +1 -0
- package/dist/ra-core/src/util/getMutationMode.js +13 -0
- package/dist/ra-core/src/util/hooks.d.ts +15 -0
- package/dist/ra-core/src/util/hooks.js +73 -0
- package/dist/ra-core/src/util/index.d.ts +20 -0
- package/dist/ra-core/src/util/index.js +19 -0
- package/dist/ra-core/src/util/mergeRefs.d.ts +2 -0
- package/dist/ra-core/src/util/mergeRefs.js +13 -0
- package/dist/ra-core/src/util/removeEmpty.d.ts +2 -0
- package/dist/ra-core/src/util/removeEmpty.js +16 -0
- package/dist/ra-core/src/util/removeKey.d.ts +2 -0
- package/dist/ra-core/src/util/removeKey.js +22 -0
- package/dist/ra-core/src/util/shallowEqual.d.ts +1 -0
- package/dist/ra-core/src/util/shallowEqual.js +29 -0
- package/dist/ra-core/src/util/useCheckForApplicationUpdate.d.ts +21 -0
- package/dist/ra-core/src/util/useCheckForApplicationUpdate.js +84 -0
- package/dist/ra-core/src/util/useDebouncedEvent.d.ts +8 -0
- package/dist/ra-core/src/util/useDebouncedEvent.js +28 -0
- package/dist/ra-core/src/util/useEvent.d.ts +7 -0
- package/dist/ra-core/src/util/useEvent.js +19 -0
- package/dist/ra-core/src/util/useFieldValue.d.ts +21 -0
- package/dist/ra-core/src/util/useFieldValue.js +27 -0
- package/dist/ra-core/src/util/useWhyDidYouUpdate.d.ts +12 -0
- package/dist/ra-core/src/util/useWhyDidYouUpdate.js +42 -0
- package/dist/ra-core/src/util/warning.d.ts +2 -0
- package/dist/ra-core/src/util/warning.js +5 -0
- package/dist/resource/Resource.d.ts +14 -0
- package/dist/resource/Resource.js +31 -0
- package/dist/resource/ResourceSchema.d.ts +170 -13
- package/dist/resource/ResourceSchema.js +118 -20
- package/dist/resource/ResourceSchemaProvider.d.ts +2 -1
- package/dist/resource/ResourceSchemaProvider.js +9 -9
- package/dist/resource/SchemaRegistry.d.ts +64 -5
- package/dist/resource/SchemaRegistry.js +189 -22
- package/dist/resource/index.d.ts +2 -0
- package/dist/resource/index.js +2 -0
- package/dist/resource/useConstructedPageTitle.d.ts +1 -0
- package/dist/resource/useConstructedPageTitle.js +27 -0
- package/dist/routing/index.d.ts +2 -0
- package/dist/routing/index.js +2 -0
- package/dist/routing/useCreatePath.d.ts +7 -0
- package/dist/routing/useCreatePath.js +36 -0
- package/dist/routing/useGetPathForRecord.d.ts +11 -0
- package/dist/routing/useGetPathForRecord.js +94 -0
- package/dist/settings/SettingsContext.d.ts +16 -0
- package/dist/settings/SettingsContext.js +3 -0
- package/dist/settings/useSettingValue.d.ts +15 -0
- package/dist/settings/useSettingValue.js +23 -0
- package/dist/strato-core/src/core/Resource.d.ts +0 -0
- package/dist/strato-core/src/core/Resource.js +1 -0
- package/dist/strato-core/src/core/index.d.ts +0 -0
- package/dist/strato-core/src/core/index.js +1 -0
- package/dist/strato-core/src/index.d.ts +3 -0
- package/dist/strato-core/src/index.js +4 -0
- package/dist/strato-core/src/ra-messages.d.ts +1 -0
- package/dist/strato-core/src/ra-messages.js +296 -0
- package/dist/strato-core/src/resource/FieldSchema.d.ts +18 -0
- package/dist/strato-core/src/resource/FieldSchema.js +19 -0
- package/dist/strato-core/src/resource/InputSchema.d.ts +18 -0
- package/dist/strato-core/src/resource/InputSchema.js +19 -0
- package/dist/strato-core/src/resource/ResourceContext.d.ts +2 -0
- package/dist/strato-core/src/resource/ResourceContext.js +3 -0
- package/dist/strato-core/src/resource/ResourceSchema.d.ts +33 -0
- package/dist/strato-core/src/resource/ResourceSchema.js +90 -0
- package/dist/strato-core/src/resource/ResourceSchemaProvider.d.ts +15 -0
- package/dist/strato-core/src/resource/ResourceSchemaProvider.js +71 -0
- package/dist/strato-core/src/resource/SchemaRegistry.d.ts +71 -0
- package/dist/strato-core/src/resource/SchemaRegistry.js +212 -0
- package/dist/strato-core/src/resource/index.d.ts +6 -0
- package/dist/strato-core/src/resource/index.js +6 -0
- package/package.json +10 -4
- package/src/index.ts +3 -4
- package/src/resource/Resource.test.tsx +87 -0
- package/src/resource/Resource.tsx +62 -0
- package/src/resource/ResourceSchema.tsx +378 -57
- package/src/resource/ResourceSchemaProvider.tsx +17 -27
- package/src/resource/SchemaRegistry.tsx +295 -46
- package/src/resource/index.ts +2 -0
- package/src/resource/useConstructedPageTitle.ts +31 -0
- package/src/routing/index.ts +2 -0
- package/src/routing/useCreatePath.test.tsx +38 -0
- package/src/routing/useCreatePath.ts +40 -0
- package/src/routing/useGetPathForRecord.ts +127 -0
- package/src/settings/SettingsContext.ts +20 -0
- package/src/settings/useSettingValue.ts +32 -0
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
import { useCallback, useMemo, useState, useRef, useEffect } from 'react';
|
|
2
|
+
import lodashDebounce from 'lodash/debounce.js';
|
|
3
|
+
import removeEmpty from '../../util/removeEmpty';
|
|
4
|
+
import { queryReducer, HIDE_FILTER, SET_FILTER, SET_PAGE, SET_PER_PAGE, SET_SORT, SHOW_FILTER, SORT_ASC, } from '../list';
|
|
5
|
+
/**
|
|
6
|
+
* Get the reference inputs parameters (page, sort, filters) and modifiers.
|
|
7
|
+
*
|
|
8
|
+
* @returns {Array} A tuple [parameters, modifiers].
|
|
9
|
+
* Destructure as [
|
|
10
|
+
* { page, perPage, sort, order, filter, filterValues, displayedFilters, requestSignature },
|
|
11
|
+
* { setFilters, hideFilter, showFilter, setPage, setPerPage, setSort }
|
|
12
|
+
* ]
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
*
|
|
16
|
+
* const [referenceParams, referenceParamsActions] = useReferenceParams({
|
|
17
|
+
* resource: 'posts',
|
|
18
|
+
* filterDefaultValues: {
|
|
19
|
+
* published: true
|
|
20
|
+
* },
|
|
21
|
+
* sort: {
|
|
22
|
+
* field: 'published_at',
|
|
23
|
+
* order: 'DESC'
|
|
24
|
+
* },
|
|
25
|
+
* perPage: 25
|
|
26
|
+
* });
|
|
27
|
+
*
|
|
28
|
+
* const {
|
|
29
|
+
* page,
|
|
30
|
+
* perPage,
|
|
31
|
+
* sort,
|
|
32
|
+
* order,
|
|
33
|
+
* filter,
|
|
34
|
+
* filterValues,
|
|
35
|
+
* displayedFilters,
|
|
36
|
+
* requestSignature
|
|
37
|
+
* } = referenceParams;
|
|
38
|
+
*
|
|
39
|
+
* const {
|
|
40
|
+
* setFilters,
|
|
41
|
+
* hideFilter,
|
|
42
|
+
* showFilter,
|
|
43
|
+
* setPage,
|
|
44
|
+
* setPerPage,
|
|
45
|
+
* setSort,
|
|
46
|
+
* } = referenceParamsActions;
|
|
47
|
+
*/
|
|
48
|
+
export const useReferenceParams = ({ resource, filter, sort = defaultSort, page = 1, perPage = 10, debounce = 500, }) => {
|
|
49
|
+
const [params, setParams] = useState(defaultParams);
|
|
50
|
+
const tempParams = useRef(undefined);
|
|
51
|
+
const requestSignature = [
|
|
52
|
+
resource,
|
|
53
|
+
JSON.stringify(params),
|
|
54
|
+
JSON.stringify(filter),
|
|
55
|
+
JSON.stringify(sort),
|
|
56
|
+
page,
|
|
57
|
+
perPage,
|
|
58
|
+
];
|
|
59
|
+
const query = useMemo(() => getQuery({
|
|
60
|
+
params: params,
|
|
61
|
+
filterDefaultValues: filter,
|
|
62
|
+
sort,
|
|
63
|
+
page,
|
|
64
|
+
perPage,
|
|
65
|
+
}), requestSignature // eslint-disable-line react-hooks/exhaustive-deps
|
|
66
|
+
);
|
|
67
|
+
const changeParams = useCallback(action => {
|
|
68
|
+
if (!tempParams.current) {
|
|
69
|
+
// no other changeParams action dispatched this tick
|
|
70
|
+
const newTempParams = queryReducer(query, action);
|
|
71
|
+
tempParams.current = newTempParams;
|
|
72
|
+
// schedule side effects for next tick
|
|
73
|
+
setTimeout(() => {
|
|
74
|
+
setParams(newTempParams);
|
|
75
|
+
tempParams.current = undefined;
|
|
76
|
+
}, 0);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
// side effects already scheduled, just change the params
|
|
80
|
+
tempParams.current = queryReducer(tempParams.current, action);
|
|
81
|
+
}
|
|
82
|
+
}, requestSignature); // eslint-disable-line react-hooks/exhaustive-deps
|
|
83
|
+
const setSort = useCallback((sort) => changeParams({
|
|
84
|
+
type: SET_SORT,
|
|
85
|
+
payload: sort,
|
|
86
|
+
}), requestSignature // eslint-disable-line react-hooks/exhaustive-deps
|
|
87
|
+
);
|
|
88
|
+
const setPage = useCallback((newPage) => changeParams({ type: SET_PAGE, payload: newPage }), requestSignature // eslint-disable-line react-hooks/exhaustive-deps
|
|
89
|
+
);
|
|
90
|
+
const setPerPage = useCallback((newPerPage) => changeParams({ type: SET_PER_PAGE, payload: newPerPage }), requestSignature // eslint-disable-line react-hooks/exhaustive-deps
|
|
91
|
+
);
|
|
92
|
+
const filterValues = query.filter || emptyObject;
|
|
93
|
+
const displayedFilterValues = query.displayedFilters || emptyObject;
|
|
94
|
+
const debouncedSetFilters = useRef(lodashDebounce((filter, displayedFilters = undefined) => {
|
|
95
|
+
changeParams({
|
|
96
|
+
type: SET_FILTER,
|
|
97
|
+
payload: {
|
|
98
|
+
filter: removeEmpty(filter),
|
|
99
|
+
displayedFilters,
|
|
100
|
+
},
|
|
101
|
+
});
|
|
102
|
+
}, debounce));
|
|
103
|
+
useEffect(() => {
|
|
104
|
+
return () => {
|
|
105
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
106
|
+
debouncedSetFilters.current.cancel();
|
|
107
|
+
};
|
|
108
|
+
}, []);
|
|
109
|
+
const setFilters = useCallback((filter, displayedFilters = undefined, debounce = false) => {
|
|
110
|
+
debounce
|
|
111
|
+
? debouncedSetFilters.current(filter, displayedFilters)
|
|
112
|
+
: changeParams({
|
|
113
|
+
type: SET_FILTER,
|
|
114
|
+
payload: {
|
|
115
|
+
filter: removeEmpty(filter),
|
|
116
|
+
displayedFilters,
|
|
117
|
+
},
|
|
118
|
+
});
|
|
119
|
+
}, requestSignature // eslint-disable-line react-hooks/exhaustive-deps
|
|
120
|
+
);
|
|
121
|
+
const hideFilter = useCallback((filterName) => {
|
|
122
|
+
changeParams({
|
|
123
|
+
type: HIDE_FILTER,
|
|
124
|
+
payload: filterName,
|
|
125
|
+
});
|
|
126
|
+
}, requestSignature); // eslint-disable-line react-hooks/exhaustive-deps
|
|
127
|
+
const showFilter = useCallback((filterName, defaultValue) => {
|
|
128
|
+
changeParams({
|
|
129
|
+
type: SHOW_FILTER,
|
|
130
|
+
payload: {
|
|
131
|
+
filterName,
|
|
132
|
+
defaultValue,
|
|
133
|
+
},
|
|
134
|
+
});
|
|
135
|
+
}, requestSignature); // eslint-disable-line react-hooks/exhaustive-deps
|
|
136
|
+
return [
|
|
137
|
+
{
|
|
138
|
+
filterValues,
|
|
139
|
+
requestSignature,
|
|
140
|
+
...query,
|
|
141
|
+
displayedFilters: displayedFilterValues,
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
changeParams,
|
|
145
|
+
setPage,
|
|
146
|
+
setPerPage,
|
|
147
|
+
setSort,
|
|
148
|
+
setFilters,
|
|
149
|
+
hideFilter,
|
|
150
|
+
showFilter,
|
|
151
|
+
},
|
|
152
|
+
];
|
|
153
|
+
};
|
|
154
|
+
export const validQueryParams = [
|
|
155
|
+
'page',
|
|
156
|
+
'perPage',
|
|
157
|
+
'sort',
|
|
158
|
+
'order',
|
|
159
|
+
'filter',
|
|
160
|
+
'displayedFilters',
|
|
161
|
+
];
|
|
162
|
+
/**
|
|
163
|
+
* Merge list params from 2 different sources:
|
|
164
|
+
* - the params stored in the local state
|
|
165
|
+
* - the props passed to the List component (including the filter defaultValues)
|
|
166
|
+
*/
|
|
167
|
+
export const getQuery = ({ params, filterDefaultValues, sort, page, perPage, }) => {
|
|
168
|
+
const query = hasCustomParams(params)
|
|
169
|
+
? { ...params }
|
|
170
|
+
: { filter: filterDefaultValues || {} };
|
|
171
|
+
if (!query.sort) {
|
|
172
|
+
query.sort = sort.field;
|
|
173
|
+
query.order = sort.order;
|
|
174
|
+
}
|
|
175
|
+
if (query.page == null) {
|
|
176
|
+
query.page = page;
|
|
177
|
+
}
|
|
178
|
+
if (query.perPage == null) {
|
|
179
|
+
query.perPage = perPage;
|
|
180
|
+
}
|
|
181
|
+
if (query.page == null) {
|
|
182
|
+
query.page = 1;
|
|
183
|
+
}
|
|
184
|
+
return {
|
|
185
|
+
...query,
|
|
186
|
+
page: getNumberOrDefault(query.page, 1),
|
|
187
|
+
perPage: getNumberOrDefault(query.perPage, 10),
|
|
188
|
+
};
|
|
189
|
+
};
|
|
190
|
+
/**
|
|
191
|
+
* Check if user has already set custom sort, page, or filters for this list
|
|
192
|
+
*
|
|
193
|
+
* User params come from the Redux store as the params props. By default,
|
|
194
|
+
* this object is:
|
|
195
|
+
*
|
|
196
|
+
* { filter: {}, order: null, page: 1, perPage: null, sort: null }
|
|
197
|
+
*
|
|
198
|
+
* To check if the user has custom params, we must compare the params
|
|
199
|
+
* to these initial values.
|
|
200
|
+
*
|
|
201
|
+
* @param {Object} params
|
|
202
|
+
*/
|
|
203
|
+
export const hasCustomParams = (params) => {
|
|
204
|
+
return (params &&
|
|
205
|
+
params.filter &&
|
|
206
|
+
(Object.keys(params.filter).length > 0 ||
|
|
207
|
+
params.order != null ||
|
|
208
|
+
params.page !== 1 ||
|
|
209
|
+
params.perPage != null ||
|
|
210
|
+
params.sort != null));
|
|
211
|
+
};
|
|
212
|
+
export const getNumberOrDefault = (possibleNumber, defaultValue) => {
|
|
213
|
+
if (typeof possibleNumber === 'undefined') {
|
|
214
|
+
return defaultValue;
|
|
215
|
+
}
|
|
216
|
+
const parsedNumber = typeof possibleNumber === 'string'
|
|
217
|
+
? parseInt(possibleNumber, 10)
|
|
218
|
+
: possibleNumber;
|
|
219
|
+
return isNaN(parsedNumber) ? defaultValue : parsedNumber;
|
|
220
|
+
};
|
|
221
|
+
const emptyObject = {};
|
|
222
|
+
const defaultSort = {
|
|
223
|
+
field: 'id',
|
|
224
|
+
order: SORT_ASC,
|
|
225
|
+
};
|
|
226
|
+
const defaultParams = {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A hook that provides access to a SimpleFormIterator data (the total number of items) and mutators (add, reorder and remove).
|
|
3
|
+
* Useful to create custom array input iterators.
|
|
4
|
+
* @see {SimpleFormIterator}
|
|
5
|
+
* @see {ArrayInput}
|
|
6
|
+
*/
|
|
7
|
+
export declare const useSimpleFormIterator: () => import("@strato-admin/core").SimpleFormIteratorContextValue;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { useContext } from 'react';
|
|
2
|
+
import { SimpleFormIteratorContext } from './SimpleFormIteratorContext';
|
|
3
|
+
/**
|
|
4
|
+
* A hook that provides access to a SimpleFormIterator data (the total number of items) and mutators (add, reorder and remove).
|
|
5
|
+
* Useful to create custom array input iterators.
|
|
6
|
+
* @see {SimpleFormIterator}
|
|
7
|
+
* @see {ArrayInput}
|
|
8
|
+
*/
|
|
9
|
+
export const useSimpleFormIterator = () => {
|
|
10
|
+
const context = useContext(SimpleFormIteratorContext);
|
|
11
|
+
if (!context) {
|
|
12
|
+
throw new Error('useSimpleFormIterator must be used inside a SimpleFormIterator');
|
|
13
|
+
}
|
|
14
|
+
return context;
|
|
15
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A hook that provides access to a SimpleFormIterator item meta (its index and the total number of items) and mutators (reorder and remove this remove).
|
|
3
|
+
* Useful to create custom array input iterators.
|
|
4
|
+
* @see {SimpleFormIterator}
|
|
5
|
+
* @see {ArrayInput}
|
|
6
|
+
*/
|
|
7
|
+
export declare const useSimpleFormIteratorItem: () => import("@strato-admin/core").SimpleFormIteratorItemContextValue;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { useContext } from 'react';
|
|
2
|
+
import { SimpleFormIteratorItemContext } from './SimpleFormIteratorItemContext';
|
|
3
|
+
/**
|
|
4
|
+
* A hook that provides access to a SimpleFormIterator item meta (its index and the total number of items) and mutators (reorder and remove this remove).
|
|
5
|
+
* Useful to create custom array input iterators.
|
|
6
|
+
* @see {SimpleFormIterator}
|
|
7
|
+
* @see {ArrayInput}
|
|
8
|
+
*/
|
|
9
|
+
export const useSimpleFormIteratorItem = () => {
|
|
10
|
+
const context = useContext(SimpleFormIteratorItemContext);
|
|
11
|
+
if (!context) {
|
|
12
|
+
throw new Error('useSimpleFormIteratorItem must be used inside a SimpleFormIteratorItem');
|
|
13
|
+
}
|
|
14
|
+
return context;
|
|
15
|
+
};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ChangeEvent, ReactElement } from 'react';
|
|
3
|
+
import { Identifier } from '../../types';
|
|
4
|
+
import { OptionText } from '../../form/choices/useChoices';
|
|
5
|
+
/**
|
|
6
|
+
* This hook provides support for suggestion creation in inputs which have choices.
|
|
7
|
+
*
|
|
8
|
+
* @param options The hook option
|
|
9
|
+
* @param {ReactElement} options.create A react element which will be rendered when users choose to create a new choice. This component must call the `useCreateSuggestionContext` hook which provides `onCancel`, `onCreate` and `filter`. See the examples.
|
|
10
|
+
* @param {React.ReactNode|string} options.createLabel Optional. The label for the choice item allowing users to create a new choice. Can be a translation key. Defaults to `ra.action.create`.
|
|
11
|
+
* @param {React.ReactNode|string} options.createItemLabel Optional. The label for the choice item allowing users to create a new choice when they already entered a filter. Can be a translation key. The function and ttranslation will receive an `item` parameter. Providing this option will turn the create label when there is no filter to be a hint (i.e. a disabled item).
|
|
12
|
+
* @param {any} options.createValue Optional. The value for the choice item allowing users to create a new choice. Defaults to `@@ra-create`.
|
|
13
|
+
* @param {any} options.createHintValue Optional. The value for the (disabled) item hinting users on how to create a new choice. Defaults to `@@ra-create-hint`.
|
|
14
|
+
* @param {String} options.filter Optional. The filter users may have already entered. Useful for autocomplete inputs for example.
|
|
15
|
+
* @param {OnCreateHandler} options.onCreate Optional. A function which will be called when users choose to create a new choice, if the `create` option wasn't provided.
|
|
16
|
+
* @param {Function} options.handleChange A function to pass to the input. Receives the same parameter as the original event handler and an additional newItem parameter if a new item was create.
|
|
17
|
+
*
|
|
18
|
+
* @returns {UseSupportCreateValue} An object with the following properties:
|
|
19
|
+
* - getCreateItem: a function which will return the label of the choice for create a new choice.
|
|
20
|
+
* - handleChange: a function which should be called when the input value changes. It will call the `onCreate` function if the value is the createValue.
|
|
21
|
+
* - createElement: a React element to render after the input. It will be rendered when users choose to create a new choice. It renders null otherwise.
|
|
22
|
+
* - getOptionDisabled: a function which should be passed to the input to disable the create choice when the filter is empty (to make it a hint).
|
|
23
|
+
*/
|
|
24
|
+
export declare const useSupportCreateSuggestion: (options: SupportCreateSuggestionOptions) => UseSupportCreateValue;
|
|
25
|
+
export interface SupportCreateSuggestionOptions {
|
|
26
|
+
create?: ReactElement;
|
|
27
|
+
createValue?: string;
|
|
28
|
+
createHintValue?: string;
|
|
29
|
+
createLabel?: React.ReactNode;
|
|
30
|
+
createItemLabel?: string | ((filter: string) => React.ReactNode);
|
|
31
|
+
filter?: string;
|
|
32
|
+
handleChange: (value: any) => void;
|
|
33
|
+
onCreate?: OnCreateHandler;
|
|
34
|
+
optionText?: OptionText;
|
|
35
|
+
}
|
|
36
|
+
export interface UseSupportCreateValue {
|
|
37
|
+
createId: string;
|
|
38
|
+
createHintId: string;
|
|
39
|
+
getCreateItem: (filterValue?: string) => {
|
|
40
|
+
id: Identifier;
|
|
41
|
+
[key: string]: any;
|
|
42
|
+
};
|
|
43
|
+
handleChange: (eventOrValue: ChangeEvent | any) => Promise<void>;
|
|
44
|
+
createElement: ReactElement | null;
|
|
45
|
+
getOptionDisabled: (option: any) => boolean;
|
|
46
|
+
}
|
|
47
|
+
interface CreateSuggestionContextValue {
|
|
48
|
+
filter?: string;
|
|
49
|
+
onCreate: (choice: any) => void;
|
|
50
|
+
onCancel: () => void;
|
|
51
|
+
}
|
|
52
|
+
export declare const useCreateSuggestionContext: () => CreateSuggestionContextValue;
|
|
53
|
+
export type OnCreateHandler = (filter?: string) => any | Promise<any>;
|
|
54
|
+
export {};
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { createContext, isValidElement, useContext, useRef, useState, } from 'react';
|
|
3
|
+
import { useTranslate } from '../../i18n/useTranslate';
|
|
4
|
+
import set from 'lodash/set.js';
|
|
5
|
+
/**
|
|
6
|
+
* This hook provides support for suggestion creation in inputs which have choices.
|
|
7
|
+
*
|
|
8
|
+
* @param options The hook option
|
|
9
|
+
* @param {ReactElement} options.create A react element which will be rendered when users choose to create a new choice. This component must call the `useCreateSuggestionContext` hook which provides `onCancel`, `onCreate` and `filter`. See the examples.
|
|
10
|
+
* @param {React.ReactNode|string} options.createLabel Optional. The label for the choice item allowing users to create a new choice. Can be a translation key. Defaults to `ra.action.create`.
|
|
11
|
+
* @param {React.ReactNode|string} options.createItemLabel Optional. The label for the choice item allowing users to create a new choice when they already entered a filter. Can be a translation key. The function and ttranslation will receive an `item` parameter. Providing this option will turn the create label when there is no filter to be a hint (i.e. a disabled item).
|
|
12
|
+
* @param {any} options.createValue Optional. The value for the choice item allowing users to create a new choice. Defaults to `@@ra-create`.
|
|
13
|
+
* @param {any} options.createHintValue Optional. The value for the (disabled) item hinting users on how to create a new choice. Defaults to `@@ra-create-hint`.
|
|
14
|
+
* @param {String} options.filter Optional. The filter users may have already entered. Useful for autocomplete inputs for example.
|
|
15
|
+
* @param {OnCreateHandler} options.onCreate Optional. A function which will be called when users choose to create a new choice, if the `create` option wasn't provided.
|
|
16
|
+
* @param {Function} options.handleChange A function to pass to the input. Receives the same parameter as the original event handler and an additional newItem parameter if a new item was create.
|
|
17
|
+
*
|
|
18
|
+
* @returns {UseSupportCreateValue} An object with the following properties:
|
|
19
|
+
* - getCreateItem: a function which will return the label of the choice for create a new choice.
|
|
20
|
+
* - handleChange: a function which should be called when the input value changes. It will call the `onCreate` function if the value is the createValue.
|
|
21
|
+
* - createElement: a React element to render after the input. It will be rendered when users choose to create a new choice. It renders null otherwise.
|
|
22
|
+
* - getOptionDisabled: a function which should be passed to the input to disable the create choice when the filter is empty (to make it a hint).
|
|
23
|
+
*/
|
|
24
|
+
export const useSupportCreateSuggestion = (options) => {
|
|
25
|
+
const { create, createLabel = "strato.action.create', createItemLabel, createValue = '@@ra-create', createHintValue = '@@ra-create-hint', optionText = 'name', filter, handleChange, onCreate, } = options;
|
|
26
|
+
const translate = useTranslate();
|
|
27
|
+
const [renderOnCreate, setRenderOnCreate] = useState(false);
|
|
28
|
+
const filterRef = useRef(filter);
|
|
29
|
+
return {
|
|
30
|
+
createId: createValue,
|
|
31
|
+
createHintId: createHintValue,
|
|
32
|
+
getCreateItem: (filter) => {
|
|
33
|
+
filterRef.current = filter;
|
|
34
|
+
return set({
|
|
35
|
+
id: createItemLabel && !filter
|
|
36
|
+
? createHintValue
|
|
37
|
+
: createValue,
|
|
38
|
+
}, typeof optionText === 'string' ? optionText : 'name', filter && createItemLabel
|
|
39
|
+
? typeof createItemLabel === 'string'
|
|
40
|
+
? translate(createItemLabel, {
|
|
41
|
+
item: filter,
|
|
42
|
+
_: createItemLabel,
|
|
43
|
+
})
|
|
44
|
+
: createItemLabel(filter)
|
|
45
|
+
: typeof createLabel === 'string'
|
|
46
|
+
? translate(createLabel, { _: createLabel })
|
|
47
|
+
: createLabel);
|
|
48
|
+
},
|
|
49
|
+
handleChange: async (eventOrValue) => {
|
|
50
|
+
const value = eventOrValue?.target?.value || eventOrValue;
|
|
51
|
+
const finalValue = Array.isArray(value) ? [...value].pop() : value;
|
|
52
|
+
if (finalValue?.id === createValue || finalValue === createValue) {
|
|
53
|
+
if (!isValidElement(create)) {
|
|
54
|
+
if (!onCreate) {
|
|
55
|
+
// this should never happen because the createValue is only added if a create function is provided
|
|
56
|
+
// @see AutocompleteInput:filterOptions
|
|
57
|
+
throw new Error('To create a new option, you must pass an onCreate function or a create element.');
|
|
58
|
+
}
|
|
59
|
+
const newSuggestion = await onCreate(filter);
|
|
60
|
+
if (newSuggestion) {
|
|
61
|
+
handleChange(newSuggestion);
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
setRenderOnCreate(true);
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
handleChange(eventOrValue);
|
|
71
|
+
},
|
|
72
|
+
createElement: renderOnCreate && isValidElement(create) ? (_jsx(CreateSuggestionContext.Provider, { value: {
|
|
73
|
+
filter: filterRef.current,
|
|
74
|
+
onCancel: () => setRenderOnCreate(false),
|
|
75
|
+
onCreate: item => {
|
|
76
|
+
setRenderOnCreate(false);
|
|
77
|
+
handleChange(item);
|
|
78
|
+
},
|
|
79
|
+
}, children: create })) : null,
|
|
80
|
+
getOptionDisabled: option => option?.id === createHintValue || option === createHintValue,
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
const CreateSuggestionContext = createContext(undefined);
|
|
84
|
+
export const useCreateSuggestionContext = () => {
|
|
85
|
+
const context = useContext(CreateSuggestionContext);
|
|
86
|
+
if (!context) {
|
|
87
|
+
throw new Error('useCreateSuggestionContext must be used inside a CreateSuggestionContext.Provider');
|
|
88
|
+
}
|
|
89
|
+
return context;
|
|
90
|
+
};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { InfiniteListControllerProps, InfiniteListControllerResult } from './useInfiniteListController';
|
|
3
|
+
import { RaRecord } from '../../types';
|
|
4
|
+
/**
|
|
5
|
+
* Call useInfiniteListController and put the value in a ListContext
|
|
6
|
+
*
|
|
7
|
+
* Base class for <InfiniteList> components, without UI.
|
|
8
|
+
*
|
|
9
|
+
* Accepts any props accepted by useInfiniteListController:
|
|
10
|
+
* - filter: permanent filter applied to the list
|
|
11
|
+
* - filters: Filter element, to display the filters
|
|
12
|
+
* - filterDefaultValues: object;
|
|
13
|
+
* - perPage: Number of results per page
|
|
14
|
+
* - sort: Default sort
|
|
15
|
+
* - exporter: exported function
|
|
16
|
+
*
|
|
17
|
+
* @example // Custom list layout
|
|
18
|
+
*
|
|
19
|
+
* const PostList = () => (
|
|
20
|
+
* <InfiniteListBase perPage={10}>
|
|
21
|
+
* <div>
|
|
22
|
+
* List metrics...
|
|
23
|
+
* </div>
|
|
24
|
+
* <Grid container>
|
|
25
|
+
* <Grid item xs={8}>
|
|
26
|
+
* <SimpleList primaryText={record => record.title} />
|
|
27
|
+
* </Grid>
|
|
28
|
+
* <Grid item xs={4}>
|
|
29
|
+
* List instructions...
|
|
30
|
+
* </Grid>
|
|
31
|
+
* </Grid>
|
|
32
|
+
* <div>
|
|
33
|
+
* Post related links...
|
|
34
|
+
* </div>
|
|
35
|
+
* </ListBase>
|
|
36
|
+
* );
|
|
37
|
+
*/
|
|
38
|
+
export declare const InfiniteListBase: <RecordType extends RaRecord = any>({ authLoading, loading, offline, error, empty, children, render, ...props }: InfiniteListBaseProps<RecordType>) => import("react/jsx-runtime").JSX.Element;
|
|
39
|
+
export interface InfiniteListBaseProps<RecordType extends RaRecord = any> extends InfiniteListControllerProps<RecordType> {
|
|
40
|
+
authLoading?: ReactNode;
|
|
41
|
+
loading?: ReactNode;
|
|
42
|
+
offline?: ReactNode;
|
|
43
|
+
error?: ReactNode;
|
|
44
|
+
empty?: ReactNode;
|
|
45
|
+
children?: ReactNode;
|
|
46
|
+
render?: (props: InfiniteListControllerResult<RecordType>) => ReactNode;
|
|
47
|
+
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useInfiniteListController, } from './useInfiniteListController';
|
|
3
|
+
import { OptionalResourceContextProvider } from '../../core';
|
|
4
|
+
import { ListContextProvider } from './ListContextProvider';
|
|
5
|
+
import { InfinitePaginationContext } from './InfinitePaginationContext';
|
|
6
|
+
import { useIsAuthPending } from '../../auth';
|
|
7
|
+
/**
|
|
8
|
+
* Call useInfiniteListController and put the value in a ListContext
|
|
9
|
+
*
|
|
10
|
+
* Base class for <InfiniteList> components, without UI.
|
|
11
|
+
*
|
|
12
|
+
* Accepts any props accepted by useInfiniteListController:
|
|
13
|
+
* - filter: permanent filter applied to the list
|
|
14
|
+
* - filters: Filter element, to display the filters
|
|
15
|
+
* - filterDefaultValues: object;
|
|
16
|
+
* - perPage: Number of results per page
|
|
17
|
+
* - sort: Default sort
|
|
18
|
+
* - exporter: exported function
|
|
19
|
+
*
|
|
20
|
+
* @example // Custom list layout
|
|
21
|
+
*
|
|
22
|
+
* const PostList = () => (
|
|
23
|
+
* <InfiniteListBase perPage={10}>
|
|
24
|
+
* <div>
|
|
25
|
+
* List metrics...
|
|
26
|
+
* </div>
|
|
27
|
+
* <Grid container>
|
|
28
|
+
* <Grid item xs={8}>
|
|
29
|
+
* <SimpleList primaryText={record => record.title} />
|
|
30
|
+
* </Grid>
|
|
31
|
+
* <Grid item xs={4}>
|
|
32
|
+
* List instructions...
|
|
33
|
+
* </Grid>
|
|
34
|
+
* </Grid>
|
|
35
|
+
* <div>
|
|
36
|
+
* Post related links...
|
|
37
|
+
* </div>
|
|
38
|
+
* </ListBase>
|
|
39
|
+
* );
|
|
40
|
+
*/
|
|
41
|
+
export const InfiniteListBase = ({ authLoading, loading, offline, error, empty, children, render, ...props }) => {
|
|
42
|
+
const controllerProps = useInfiniteListController(props);
|
|
43
|
+
const isAuthPending = useIsAuthPending({
|
|
44
|
+
resource: controllerProps.resource,
|
|
45
|
+
action: 'list',
|
|
46
|
+
});
|
|
47
|
+
if (!render && !children) {
|
|
48
|
+
throw new Error("<InfiniteListBase> requires either a 'render' prop or 'children' prop");
|
|
49
|
+
}
|
|
50
|
+
const { isPaused, isPending, isPlaceholderData, error: errorState, data, total, hasPreviousPage, hasNextPage, filterValues, } = controllerProps;
|
|
51
|
+
const showAuthLoading = isAuthPending &&
|
|
52
|
+
!props.disableAuthentication &&
|
|
53
|
+
authLoading !== false &&
|
|
54
|
+
authLoading !== undefined;
|
|
55
|
+
const showLoading = !isPaused &&
|
|
56
|
+
((!props.disableAuthentication && isAuthPending) || isPending) &&
|
|
57
|
+
loading !== false &&
|
|
58
|
+
loading !== undefined;
|
|
59
|
+
const showOffline = isPaused &&
|
|
60
|
+
// If isPending and isPaused are true, we are offline and couldn't even load the initial data
|
|
61
|
+
// If isPaused and isPlaceholderData are true, we are offline and couldn't even load data with different parameters on the same useQuery observer
|
|
62
|
+
(isPending || isPlaceholderData) &&
|
|
63
|
+
offline !== false &&
|
|
64
|
+
offline !== undefined;
|
|
65
|
+
const showError = errorState && error !== false && error !== undefined;
|
|
66
|
+
const showEmpty = !errorState &&
|
|
67
|
+
// the list is not loading data for the first time
|
|
68
|
+
!isPending &&
|
|
69
|
+
// the API returned no data (using either normal or partial pagination)
|
|
70
|
+
(total === 0 ||
|
|
71
|
+
(total == null &&
|
|
72
|
+
hasPreviousPage === false &&
|
|
73
|
+
hasNextPage === false &&
|
|
74
|
+
// @ts-ignore FIXME total may be undefined when using partial pagination but the ListControllerResult type is wrong about it
|
|
75
|
+
data.length === 0)) &&
|
|
76
|
+
// the user didn't set any filters
|
|
77
|
+
!Object.keys(filterValues).length &&
|
|
78
|
+
// there is an empty page component
|
|
79
|
+
empty !== undefined &&
|
|
80
|
+
empty !== false;
|
|
81
|
+
return (
|
|
82
|
+
// We pass props.resource here as we don't need to create a new ResourceContext if the props is not provided
|
|
83
|
+
_jsx(OptionalResourceContextProvider, { value: props.resource, children: _jsx(ListContextProvider, { value: controllerProps, children: _jsx(InfinitePaginationContext.Provider, { value: {
|
|
84
|
+
hasNextPage: controllerProps.hasNextPage,
|
|
85
|
+
fetchNextPage: controllerProps.fetchNextPage,
|
|
86
|
+
isFetchingNextPage: controllerProps.isFetchingNextPage,
|
|
87
|
+
hasPreviousPage: controllerProps.hasPreviousPage,
|
|
88
|
+
fetchPreviousPage: controllerProps.fetchPreviousPage,
|
|
89
|
+
isFetchingPreviousPage: controllerProps.isFetchingPreviousPage,
|
|
90
|
+
}, children: showAuthLoading
|
|
91
|
+
? authLoading
|
|
92
|
+
: showLoading
|
|
93
|
+
? loading
|
|
94
|
+
: showOffline
|
|
95
|
+
? offline
|
|
96
|
+
: showError
|
|
97
|
+
? error
|
|
98
|
+
: showEmpty
|
|
99
|
+
? empty
|
|
100
|
+
: render
|
|
101
|
+
? render(controllerProps)
|
|
102
|
+
: children }) }) }));
|
|
103
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { InfiniteListControllerResult } from './useInfiniteListController';
|
|
2
|
+
/**
|
|
3
|
+
* Context to store the pagination callbacks from the useInfiniteListController() result.
|
|
4
|
+
*
|
|
5
|
+
* Use the useInfinitePaginationContext() hook to read the pagination callbacks.
|
|
6
|
+
*
|
|
7
|
+
* @typedef {Object} InfinitePaginationContextValue
|
|
8
|
+
* @prop {Function} fetchNextPage a callback to fetch the next page
|
|
9
|
+
* @prop {Function} fetchPreviousPage a callback to fetch the previous page
|
|
10
|
+
|
|
11
|
+
* @example
|
|
12
|
+
*
|
|
13
|
+
* import { useListController, ListPaginationContext } from '@strato-admin/ra-core';
|
|
14
|
+
*
|
|
15
|
+
* const List = props => {
|
|
16
|
+
* const { fetchNextPage, fetchPreviousPage } = useInfiniteListController(props);
|
|
17
|
+
* return (
|
|
18
|
+
* <InfinitePaginationContext.Provider value={{ fetchNextPage, fetchPreviousPage }}>
|
|
19
|
+
* ...
|
|
20
|
+
* </InfinitePaginationContext.Provider>
|
|
21
|
+
* );
|
|
22
|
+
* };
|
|
23
|
+
*/
|
|
24
|
+
export declare const InfinitePaginationContext: import("react").Context<InfinitePaginationContextValue>;
|
|
25
|
+
export type InfinitePaginationContextValue = Pick<InfiniteListControllerResult, 'fetchNextPage' | 'fetchPreviousPage' | 'isFetchingNextPage' | 'hasNextPage' | 'hasPreviousPage' | 'isFetchingPreviousPage'>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { createContext } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Context to store the pagination callbacks from the useInfiniteListController() result.
|
|
4
|
+
*
|
|
5
|
+
* Use the useInfinitePaginationContext() hook to read the pagination callbacks.
|
|
6
|
+
*
|
|
7
|
+
* @typedef {Object} InfinitePaginationContextValue
|
|
8
|
+
* @prop {Function} fetchNextPage a callback to fetch the next page
|
|
9
|
+
* @prop {Function} fetchPreviousPage a callback to fetch the previous page
|
|
10
|
+
|
|
11
|
+
* @example
|
|
12
|
+
*
|
|
13
|
+
* import { useListController, ListPaginationContext } from '@strato-admin/ra-core';
|
|
14
|
+
*
|
|
15
|
+
* const List = props => {
|
|
16
|
+
* const { fetchNextPage, fetchPreviousPage } = useInfiniteListController(props);
|
|
17
|
+
* return (
|
|
18
|
+
* <InfinitePaginationContext.Provider value={{ fetchNextPage, fetchPreviousPage }}>
|
|
19
|
+
* ...
|
|
20
|
+
* </InfinitePaginationContext.Provider>
|
|
21
|
+
* );
|
|
22
|
+
* };
|
|
23
|
+
*/
|
|
24
|
+
export const InfinitePaginationContext = createContext({
|
|
25
|
+
hasNextPage: false,
|
|
26
|
+
fetchNextPage: () => Promise.reject('not implemented'),
|
|
27
|
+
isFetchingNextPage: false,
|
|
28
|
+
hasPreviousPage: false,
|
|
29
|
+
fetchPreviousPage: () => Promise.reject('not implemented'),
|
|
30
|
+
isFetchingPreviousPage: false,
|
|
31
|
+
});
|
|
32
|
+
InfinitePaginationContext.displayName = 'InfinitePaginationContext';
|