@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.
- package/dist/dataProvider.js +1 -2
- package/dist/generate.d.ts +2 -1
- package/dist/generate.js +15 -8
- 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/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/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/create/index.d.ts +6 -0
- package/dist/ra-core/src/controller/create/index.js +6 -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/index.d.ts +6 -0
- package/dist/ra-core/src/controller/edit/index.js +6 -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/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/index.d.ts +17 -0
- package/dist/ra-core/src/controller/index.js +16 -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/SimpleFormIteratorContext.d.ts +15 -0
- package/dist/ra-core/src/controller/input/SimpleFormIteratorContext.js +8 -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/list/InfinitePaginationContext.d.ts +25 -0
- package/dist/ra-core/src/controller/list/InfinitePaginationContext.js +32 -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/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/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/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/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/index.d.ts +6 -0
- package/dist/ra-core/src/controller/show/index.js +6 -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/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/ResourceContext.d.ts +19 -0
- package/dist/ra-core/src/core/ResourceContext.js +19 -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/index.d.ts +27 -0
- package/dist/ra-core/src/core/index.js +27 -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/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/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 +5 -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/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/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/index.d.ts +4 -0
- package/dist/ra-core/src/form/choices/index.js +4 -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/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/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/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/TranslatableContext.d.ts +16 -0
- package/dist/ra-core/src/i18n/TranslatableContext.js +2 -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/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/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/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/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/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/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/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/BasenameContext.d.ts +1 -0
- package/dist/ra-core/src/routing/BasenameContext.js +2 -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/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/useSplatPathBase.d.ts +13 -0
- package/dist/ra-core/src/routing/useSplatPathBase.js +21 -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/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/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/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/strato-faker-ecommerce/src/dataProvider.d.ts +2 -0
- package/dist/strato-faker-ecommerce/src/dataProvider.js +6 -0
- package/dist/strato-faker-ecommerce/src/generate.d.ts +8 -0
- package/dist/strato-faker-ecommerce/src/generate.js +148 -0
- package/dist/strato-faker-ecommerce/src/index.d.ts +3 -0
- package/dist/strato-faker-ecommerce/src/index.js +3 -0
- package/dist/strato-faker-ecommerce/src/types.d.ts +69 -0
- package/dist/strato-faker-ecommerce/src/types.js +1 -0
- package/dist/types.d.ts +1 -1
- package/package.json +6 -5
- package/src/dataProvider.ts +3 -3
- package/src/generate.test.ts +12 -12
- package/src/generate.ts +21 -14
- package/src/types.ts +1 -1
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { useContext, useMemo } from 'react';
|
|
2
|
+
import defaults from 'lodash/defaults.js';
|
|
3
|
+
import { ListContext } from './ListContext';
|
|
4
|
+
/**
|
|
5
|
+
* Hook to read the list controller props from the ListContext.
|
|
6
|
+
*
|
|
7
|
+
* Mostly used within a <ListContext.Provider> (e.g. as a descendent of <List>
|
|
8
|
+
* or <ListBase>).
|
|
9
|
+
*
|
|
10
|
+
* But you can also use it without a <ListContext.Provider>. In this case, it is up to you
|
|
11
|
+
* to pass all the necessary props (see the list below).
|
|
12
|
+
*
|
|
13
|
+
* The given props will take precedence over context values.
|
|
14
|
+
*
|
|
15
|
+
* @typedef {Object} ListControllerProps
|
|
16
|
+
* @prop {Object} data an array of the list records, e.g. [{ id: 123, title: 'hello world' }, { ... }]
|
|
17
|
+
* @prop {integer} total the total number of results for the current filters, excluding pagination. Useful to build the pagination controls. e.g. 23
|
|
18
|
+
* @prop {boolean} isFetching boolean that is true on mount, and false once the data was fetched
|
|
19
|
+
* @prop {boolean} isLoading boolean that is false until the data is available
|
|
20
|
+
* @prop {integer} page the current page. Starts at 1
|
|
21
|
+
* @prop {Function} setPage a callback to change the page, e.g. setPage(3)
|
|
22
|
+
* @prop {integer} perPage the number of results per page. Defaults to 25
|
|
23
|
+
* @prop {Function} setPerPage a callback to change the number of results per page, e.g. setPerPage(25)
|
|
24
|
+
* @prop {Object} sort a sort object { field, order }, e.g. { field: 'date', order: 'DESC' }
|
|
25
|
+
* @prop {Function} setSort a callback to change the sort, e.g. setSort({ field : 'name', order: 'ASC' })
|
|
26
|
+
* @prop {Object} filterValues a dictionary of filter values, e.g. { title: 'lorem', nationality: 'fr' }
|
|
27
|
+
* @prop {Function} setFilters a callback to update the filters, e.g. setFilters(filters, displayedFilters)
|
|
28
|
+
* @prop {Object} displayedFilters a dictionary of the displayed filters, e.g. { title: true, nationality: true }
|
|
29
|
+
* @prop {Function} showFilter a callback to show one of the filters, e.g. showFilter('title', defaultValue)
|
|
30
|
+
* @prop {Function} hideFilter a callback to hide one of the filters, e.g. hideFilter('title')
|
|
31
|
+
* @prop {Array} selectedIds an array listing the ids of the selected rows, e.g. [123, 456]
|
|
32
|
+
* @prop {Function} onSelect callback to change the list of selected rows, e.g. onSelect([456, 789])
|
|
33
|
+
* @prop {Function} onSelectAll callback to select all the records, e.g. onSelectAll({ limit: 50, queryOptions: { meta: { foo: 'bar' } } })
|
|
34
|
+
* @prop {Function} onToggleItem callback to toggle the selection of a given record based on its id, e.g. onToggleItem(456)
|
|
35
|
+
* @prop {Function} onUnselectItems callback to clear the selection, e.g. onUnselectItems();
|
|
36
|
+
* @prop {string} defaultTitle the translated title based on the resource, e.g. 'Posts'
|
|
37
|
+
* @prop {string} resource the resource name, deduced from the location. e.g. 'posts'
|
|
38
|
+
*
|
|
39
|
+
* @param {ListControllerProps} props Props passed to the useListContext hook
|
|
40
|
+
*
|
|
41
|
+
* @returns {ListControllerResult} list controller props
|
|
42
|
+
*
|
|
43
|
+
* @see useListController for how it is filled
|
|
44
|
+
*/
|
|
45
|
+
export const useListContextWithProps = (props) => {
|
|
46
|
+
const context = useContext(ListContext);
|
|
47
|
+
// Props take precedence over the context
|
|
48
|
+
return useMemo(() => defaults({}, props != null ? extractListContextProps(props) : {}, context), [context, props]);
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Extract only the list controller props
|
|
52
|
+
*
|
|
53
|
+
* @param {Object} props Props passed to the useListContext hook
|
|
54
|
+
*
|
|
55
|
+
* @returns {ListControllerResult} List controller props
|
|
56
|
+
*/
|
|
57
|
+
const extractListContextProps = ({ sort, data, defaultTitle, displayedFilters, exporter, filterValues, hasCreate, hideFilter, isFetching, isLoading, isPending, onSelect, onSelectAll, onToggleItem, onUnselectItems, page, perPage, refetch, resource, selectedIds, setFilters, setPage, setPerPage, setSort, showFilter, total, }) => ({
|
|
58
|
+
sort,
|
|
59
|
+
data,
|
|
60
|
+
defaultTitle,
|
|
61
|
+
displayedFilters,
|
|
62
|
+
exporter,
|
|
63
|
+
filterValues,
|
|
64
|
+
hasCreate,
|
|
65
|
+
hideFilter,
|
|
66
|
+
isFetching,
|
|
67
|
+
isLoading,
|
|
68
|
+
isPending,
|
|
69
|
+
onSelect,
|
|
70
|
+
onSelectAll,
|
|
71
|
+
onToggleItem,
|
|
72
|
+
onUnselectItems,
|
|
73
|
+
page,
|
|
74
|
+
perPage,
|
|
75
|
+
refetch,
|
|
76
|
+
resource,
|
|
77
|
+
selectedIds,
|
|
78
|
+
setFilters,
|
|
79
|
+
setPage,
|
|
80
|
+
setPerPage,
|
|
81
|
+
setSort,
|
|
82
|
+
showFilter,
|
|
83
|
+
total,
|
|
84
|
+
});
|
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
import { UseGetListHookValue, UseGetListOptions } from '../../dataProvider';
|
|
2
|
+
import type { FilterPayload, SortPayload, RaRecord, Exporter } from '../../types';
|
|
3
|
+
import type { UseReferenceArrayFieldControllerParams, UseReferenceManyFieldControllerParams } from '../field';
|
|
4
|
+
/**
|
|
5
|
+
* Prepare data for the List view
|
|
6
|
+
*
|
|
7
|
+
* @param {Object} props The props passed to the List component.
|
|
8
|
+
*
|
|
9
|
+
* @return {Object} controllerProps Fetched and computed data for the List view
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
*
|
|
13
|
+
* import { useListController } from 'react-admin';
|
|
14
|
+
* import ListView from './ListView';
|
|
15
|
+
*
|
|
16
|
+
* const MyList = props => {
|
|
17
|
+
* const controllerProps = useListController(props);
|
|
18
|
+
* return <ListView {...controllerProps} {...props} />;
|
|
19
|
+
* }
|
|
20
|
+
*/
|
|
21
|
+
export declare const useListController: <RecordType extends RaRecord = any, ErrorType = Error>(props?: ListControllerProps<RecordType, ErrorType>) => ListControllerResult<RecordType, ErrorType>;
|
|
22
|
+
export interface ListControllerProps<RecordType extends RaRecord = any, ErrorType = Error> {
|
|
23
|
+
/**
|
|
24
|
+
* The debounce delay for filter queries in milliseconds. Defaults to 500ms.
|
|
25
|
+
*
|
|
26
|
+
* @see https://marmelab.com/react-admin/List.html#debounce
|
|
27
|
+
* @example
|
|
28
|
+
* // wait 1 seconds instead of 500 milliseconds befoce calling the dataProvider
|
|
29
|
+
* const PostList = () => (
|
|
30
|
+
* <List debounce={1000}>
|
|
31
|
+
* ...
|
|
32
|
+
* </List>
|
|
33
|
+
* );
|
|
34
|
+
*/
|
|
35
|
+
debounce?: number;
|
|
36
|
+
/**
|
|
37
|
+
* Allow anonymous access to the list view. Defaults to false.
|
|
38
|
+
*
|
|
39
|
+
* @see https://marmelab.com/react-admin/List.html#disableauthentication
|
|
40
|
+
* @example
|
|
41
|
+
* import { List } from 'react-admin';
|
|
42
|
+
*
|
|
43
|
+
* const BoolkList = () => (
|
|
44
|
+
* <List disableAuthentication>
|
|
45
|
+
* ...
|
|
46
|
+
* </List>
|
|
47
|
+
* );
|
|
48
|
+
*/
|
|
49
|
+
disableAuthentication?: boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Whether to disable the synchronization of the list parameters with the current location (URL search parameters)
|
|
52
|
+
*
|
|
53
|
+
* @see https://marmelab.com/react-admin/List.html#disablesyncwithlocation
|
|
54
|
+
* @example
|
|
55
|
+
* const Dashboard = () => (
|
|
56
|
+
* <div>
|
|
57
|
+
* // ...
|
|
58
|
+
* <ResourceContextProvider value="posts">
|
|
59
|
+
* <List disableSyncWithLocation>
|
|
60
|
+
* <SimpleList
|
|
61
|
+
* primaryText={record => record.title}
|
|
62
|
+
* secondaryText={record => `${record.views} views`}
|
|
63
|
+
* tertiaryText={record => new Date(record.published_at).toLocaleDateString()}
|
|
64
|
+
* />
|
|
65
|
+
* </List>
|
|
66
|
+
* </ResourceContextProvider>
|
|
67
|
+
* <ResourceContextProvider value="comments">
|
|
68
|
+
* <List disableSyncWithLocation>
|
|
69
|
+
* <SimpleList
|
|
70
|
+
* primaryText={record => record.title}
|
|
71
|
+
* secondaryText={record => `${record.views} views`}
|
|
72
|
+
* tertiaryText={record => new Date(record.published_at).toLocaleDateString()}
|
|
73
|
+
* />
|
|
74
|
+
* </List>
|
|
75
|
+
* </ResourceContextProvider>
|
|
76
|
+
* </div>
|
|
77
|
+
* )
|
|
78
|
+
*/
|
|
79
|
+
disableSyncWithLocation?: boolean;
|
|
80
|
+
/**
|
|
81
|
+
* The function called when a user exports the list
|
|
82
|
+
*
|
|
83
|
+
* @see https://marmelab.com/react-admin/List.html#exporter
|
|
84
|
+
* @example
|
|
85
|
+
* import { List, downloadCSV } from 'react-admin';
|
|
86
|
+
* import jsonExport from 'jsonexport/dist';
|
|
87
|
+
*
|
|
88
|
+
* const exporter = posts => {
|
|
89
|
+
* const postsForExport = posts.map(post => {
|
|
90
|
+
* const { backLinks, author, ...postForExport } = post; // omit backLinks and author
|
|
91
|
+
* postForExport.author_name = post.author.name; // add a field
|
|
92
|
+
* return postForExport;
|
|
93
|
+
* });
|
|
94
|
+
* jsonExport(postsForExport, {
|
|
95
|
+
* headers: ['id', 'title', 'author_name', 'body'] // order fields in the export
|
|
96
|
+
* }, (err, csv) => {
|
|
97
|
+
* downloadCSV(csv, 'posts'); // download as 'posts.csv` file
|
|
98
|
+
* });
|
|
99
|
+
* };
|
|
100
|
+
*
|
|
101
|
+
* const PostList = () => (
|
|
102
|
+
* <List exporter={exporter}>
|
|
103
|
+
* ...
|
|
104
|
+
* </List>
|
|
105
|
+
* )
|
|
106
|
+
*/
|
|
107
|
+
exporter?: Exporter<RecordType> | false;
|
|
108
|
+
/**
|
|
109
|
+
* Permanent filter applied to all getList queries, regardless of the user selected filters.
|
|
110
|
+
*
|
|
111
|
+
* @see https://marmelab.com/react-admin/List.html#filter
|
|
112
|
+
* @example
|
|
113
|
+
* export const PostList = () => (
|
|
114
|
+
* <List filter={{ is_published: true }}>
|
|
115
|
+
* ...
|
|
116
|
+
* </List>
|
|
117
|
+
* );
|
|
118
|
+
*/
|
|
119
|
+
filter?: FilterPayload;
|
|
120
|
+
/**
|
|
121
|
+
* The filter to apply when calling getList if the filter is empty.
|
|
122
|
+
*
|
|
123
|
+
* @see https://marmelab.com/react-admin/List.html#filterdefaultvalues
|
|
124
|
+
* @example
|
|
125
|
+
* const postFilters = [
|
|
126
|
+
* <TextInput label="Search" source="q" alwaysOn />,
|
|
127
|
+
* <BooleanInput source="is_published" alwaysOn />,
|
|
128
|
+
* <TextInput source="title" defaultValue="Hello, World!" />,
|
|
129
|
+
* ];
|
|
130
|
+
*
|
|
131
|
+
* export const PostList = () => (
|
|
132
|
+
* <List filters={postFilters} filterDefaultValues={{ is_published: true }}>
|
|
133
|
+
* ...
|
|
134
|
+
* </List>
|
|
135
|
+
* );
|
|
136
|
+
*/
|
|
137
|
+
filterDefaultValues?: object;
|
|
138
|
+
/**
|
|
139
|
+
* The number of results per page. Defaults to 10.
|
|
140
|
+
*
|
|
141
|
+
* @see https://marmelab.com/react-admin/List.html#perpage
|
|
142
|
+
* @example
|
|
143
|
+
* export const PostList = () => (
|
|
144
|
+
* <List perPage={25}>
|
|
145
|
+
* ...
|
|
146
|
+
* </List>
|
|
147
|
+
* );
|
|
148
|
+
*/
|
|
149
|
+
perPage?: number;
|
|
150
|
+
/**
|
|
151
|
+
* The options passed to react-query's useQuery when calling getList.
|
|
152
|
+
*
|
|
153
|
+
* @see https://marmelab.com/react-admin/List.html#queryoptions
|
|
154
|
+
* @example
|
|
155
|
+
* import { useNotify, useRedirect, List } from 'react-admin';
|
|
156
|
+
*
|
|
157
|
+
* const PostList = () => {
|
|
158
|
+
* const notify = useNotify();
|
|
159
|
+
* const redirect = useRedirect();
|
|
160
|
+
*
|
|
161
|
+
* const onError = (error) => {
|
|
162
|
+
* notify(`Could not load list: ${error.message}`, { type: 'error' });
|
|
163
|
+
* redirect('/dashboard');
|
|
164
|
+
* };
|
|
165
|
+
*
|
|
166
|
+
* return (
|
|
167
|
+
* <List queryOptions={{ onError }}>
|
|
168
|
+
* ...
|
|
169
|
+
* </List>
|
|
170
|
+
* );
|
|
171
|
+
* }
|
|
172
|
+
*/
|
|
173
|
+
queryOptions?: UseGetListOptions<RecordType, ErrorType>;
|
|
174
|
+
/**
|
|
175
|
+
* The resource name. Defaults to the resource from ResourceContext.
|
|
176
|
+
*
|
|
177
|
+
* @see https://marmelab.com/react-admin/List.html#resource
|
|
178
|
+
* @example
|
|
179
|
+
* import { List } from 'react-admin';
|
|
180
|
+
*
|
|
181
|
+
* const PostList = () => (
|
|
182
|
+
* <List resource="posts">
|
|
183
|
+
* ...
|
|
184
|
+
* </List>
|
|
185
|
+
* );
|
|
186
|
+
*/
|
|
187
|
+
resource?: string;
|
|
188
|
+
/**
|
|
189
|
+
* The default sort field and order. Defaults to { field: 'id', order: 'ASC' }.
|
|
190
|
+
*
|
|
191
|
+
* @see https://marmelab.com/react-admin/List.html#sort
|
|
192
|
+
* @example
|
|
193
|
+
* export const PostList = () => (
|
|
194
|
+
* <List sort={{ field: 'published_at', order: 'DESC' }}>
|
|
195
|
+
* ...
|
|
196
|
+
* </List>
|
|
197
|
+
* );
|
|
198
|
+
*/
|
|
199
|
+
sort?: SortPayload;
|
|
200
|
+
/**
|
|
201
|
+
* The key to use to store the current filter & sort. Pass false to disable.
|
|
202
|
+
*
|
|
203
|
+
* @see https://marmelab.com/react-admin/List.html#storekey
|
|
204
|
+
* @example
|
|
205
|
+
* const NewerBooks = () => (
|
|
206
|
+
* <List
|
|
207
|
+
* resource="books"
|
|
208
|
+
* storeKey="newerBooks"
|
|
209
|
+
* sort={{ field: 'year', order: 'DESC' }}
|
|
210
|
+
* >
|
|
211
|
+
* ...
|
|
212
|
+
* </List>
|
|
213
|
+
* );
|
|
214
|
+
*/
|
|
215
|
+
storeKey?: string | false;
|
|
216
|
+
}
|
|
217
|
+
export declare const DEFAULT_MAX_RESULTS = 1000;
|
|
218
|
+
export declare const injectedProps: string[];
|
|
219
|
+
/**
|
|
220
|
+
* Select the props injected by the useListController hook
|
|
221
|
+
* to be passed to the List children need
|
|
222
|
+
* This is an implementation of pick()
|
|
223
|
+
*/
|
|
224
|
+
export declare const getListControllerProps: (props: any) => {};
|
|
225
|
+
/**
|
|
226
|
+
* Select the props not injected by the useListController hook
|
|
227
|
+
* to be used inside the List children to sanitize props injected by List
|
|
228
|
+
* This is an implementation of omit()
|
|
229
|
+
*/
|
|
230
|
+
export declare const sanitizeListRestProps: (props: any) => {};
|
|
231
|
+
export interface GetDataOptions {
|
|
232
|
+
maxResults?: number;
|
|
233
|
+
meta?: any;
|
|
234
|
+
}
|
|
235
|
+
export interface ListControllerBaseResult<RecordType extends RaRecord = any> {
|
|
236
|
+
sort: SortPayload;
|
|
237
|
+
defaultTitle?: string;
|
|
238
|
+
displayedFilters: any;
|
|
239
|
+
exporter?: Exporter | false;
|
|
240
|
+
getData?: (options?: GetDataOptions) => Promise<RecordType[]>;
|
|
241
|
+
filter?: FilterPayload;
|
|
242
|
+
filterValues: any;
|
|
243
|
+
hideFilter: (filterName: string) => void;
|
|
244
|
+
onSelect: (ids: RecordType['id'][]) => void;
|
|
245
|
+
onSelectAll: (options?: {
|
|
246
|
+
limit?: number;
|
|
247
|
+
queryOptions?: UseGetListOptions<RecordType> | UseReferenceArrayFieldControllerParams<RecordType>['queryOptions'] | UseReferenceManyFieldControllerParams<RecordType>['queryOptions'];
|
|
248
|
+
}) => void;
|
|
249
|
+
onToggleItem: (id: RecordType['id']) => void;
|
|
250
|
+
onUnselectItems: (fromAllStoreKeys?: boolean) => void;
|
|
251
|
+
page: number;
|
|
252
|
+
perPage: number;
|
|
253
|
+
refetch: (() => void) | UseGetListHookValue<RecordType>['refetch'];
|
|
254
|
+
resource: string;
|
|
255
|
+
selectedIds: RecordType['id'][];
|
|
256
|
+
setFilters: (filters: any, displayedFilters?: any, debounce?: boolean) => void;
|
|
257
|
+
setPage: (page: number) => void;
|
|
258
|
+
setPerPage: (page: number) => void;
|
|
259
|
+
setSort: (sort: SortPayload) => void;
|
|
260
|
+
showFilter: (filterName: string, defaultValue: any) => void;
|
|
261
|
+
hasNextPage?: boolean;
|
|
262
|
+
hasPreviousPage?: boolean;
|
|
263
|
+
isFetching?: boolean;
|
|
264
|
+
isLoading?: boolean;
|
|
265
|
+
isPaused?: boolean;
|
|
266
|
+
isPlaceholderData?: boolean;
|
|
267
|
+
}
|
|
268
|
+
export interface ListControllerLoadingResult<RecordType extends RaRecord = any> extends ListControllerBaseResult<RecordType> {
|
|
269
|
+
data: undefined;
|
|
270
|
+
total: undefined;
|
|
271
|
+
meta: undefined;
|
|
272
|
+
error: null;
|
|
273
|
+
isPending: true;
|
|
274
|
+
}
|
|
275
|
+
export interface ListControllerErrorResult<RecordType extends RaRecord = any, TError = Error> extends ListControllerBaseResult<RecordType> {
|
|
276
|
+
data: undefined;
|
|
277
|
+
total: undefined;
|
|
278
|
+
meta: undefined;
|
|
279
|
+
error: TError;
|
|
280
|
+
isPending: false;
|
|
281
|
+
}
|
|
282
|
+
export interface ListControllerRefetchErrorResult<RecordType extends RaRecord = any, TError = Error> extends ListControllerBaseResult<RecordType> {
|
|
283
|
+
data: RecordType[];
|
|
284
|
+
total: number;
|
|
285
|
+
meta?: any;
|
|
286
|
+
error: TError;
|
|
287
|
+
isPending: false;
|
|
288
|
+
}
|
|
289
|
+
export interface ListControllerSuccessResult<RecordType extends RaRecord = any> extends ListControllerBaseResult<RecordType> {
|
|
290
|
+
data: RecordType[];
|
|
291
|
+
total: number;
|
|
292
|
+
meta?: any;
|
|
293
|
+
error: null;
|
|
294
|
+
isPending: false;
|
|
295
|
+
}
|
|
296
|
+
export type ListControllerResult<RecordType extends RaRecord = any, ErrorType = Error> = ListControllerLoadingResult<RecordType> | ListControllerErrorResult<RecordType, ErrorType> | ListControllerRefetchErrorResult<RecordType, ErrorType> | ListControllerSuccessResult<RecordType>;
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
import { isValidElement, useCallback, useEffect, useMemo } from 'react';
|
|
2
|
+
import { useAuthenticated, useRequireAccess } from '../../auth';
|
|
3
|
+
import { useTranslate } from '../../i18n';
|
|
4
|
+
import { useNotify } from '../../notification';
|
|
5
|
+
import { useDataProvider, useGetList, } from '../../dataProvider';
|
|
6
|
+
import { useResourceContext, useGetResourceLabel } from '../../core';
|
|
7
|
+
import { useRecordSelection } from './useRecordSelection';
|
|
8
|
+
import { useListParams } from './useListParams';
|
|
9
|
+
import { useSelectAll } from './useSelectAll';
|
|
10
|
+
import { defaultExporter } from '../../export';
|
|
11
|
+
import { SORT_ASC } from './queryReducer';
|
|
12
|
+
import { useEvent } from '../../util';
|
|
13
|
+
/**
|
|
14
|
+
* Prepare data for the List view
|
|
15
|
+
*
|
|
16
|
+
* @param {Object} props The props passed to the List component.
|
|
17
|
+
*
|
|
18
|
+
* @return {Object} controllerProps Fetched and computed data for the List view
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
*
|
|
22
|
+
* import { useListController } from 'react-admin';
|
|
23
|
+
* import ListView from './ListView';
|
|
24
|
+
*
|
|
25
|
+
* const MyList = props => {
|
|
26
|
+
* const controllerProps = useListController(props);
|
|
27
|
+
* return <ListView {...controllerProps} {...props} />;
|
|
28
|
+
* }
|
|
29
|
+
*/
|
|
30
|
+
export const useListController = (props = {}) => {
|
|
31
|
+
const { debounce = 500, disableAuthentication = false, disableSyncWithLocation = false, exporter = defaultExporter, filter, filterDefaultValues, perPage = 10, queryOptions = {}, sort = defaultSort, storeKey, } = props;
|
|
32
|
+
const resource = useResourceContext(props);
|
|
33
|
+
const { meta, ...otherQueryOptions } = queryOptions;
|
|
34
|
+
if (!resource) {
|
|
35
|
+
throw new Error(`useListController requires a non-empty resource prop or context`);
|
|
36
|
+
}
|
|
37
|
+
if (filter &&
|
|
38
|
+
(isValidElement(filter) ||
|
|
39
|
+
(Array.isArray(filter) && filter.some(isValidElement)))) {
|
|
40
|
+
throw new Error('useListController received a React element as `filter` props. If you intended to set the list filter elements, use the `filters` (with an s) prop instead. The `filter` prop is internal and should not be set by the developer.');
|
|
41
|
+
}
|
|
42
|
+
const { isPending: isPendingAuthenticated } = useAuthenticated({
|
|
43
|
+
enabled: !disableAuthentication,
|
|
44
|
+
});
|
|
45
|
+
const { isPending: isPendingCanAccess } = useRequireAccess({
|
|
46
|
+
action: 'list',
|
|
47
|
+
resource,
|
|
48
|
+
enabled: !disableAuthentication && !isPendingAuthenticated,
|
|
49
|
+
});
|
|
50
|
+
const translate = useTranslate();
|
|
51
|
+
const notify = useNotify();
|
|
52
|
+
const dataProvider = useDataProvider();
|
|
53
|
+
const [query, queryModifiers] = useListParams({
|
|
54
|
+
debounce,
|
|
55
|
+
disableSyncWithLocation,
|
|
56
|
+
filterDefaultValues,
|
|
57
|
+
perPage,
|
|
58
|
+
resource,
|
|
59
|
+
sort,
|
|
60
|
+
storeKey,
|
|
61
|
+
});
|
|
62
|
+
const [selectedIds, selectionModifiers] = useRecordSelection({
|
|
63
|
+
resource,
|
|
64
|
+
disableSyncWithStore: storeKey === false,
|
|
65
|
+
storeKey: storeKey === false ? undefined : storeKey,
|
|
66
|
+
});
|
|
67
|
+
const onUnselectItems = useCallback((fromAllStoreKeys) => {
|
|
68
|
+
return selectionModifiers.unselect(selectedIds, fromAllStoreKeys);
|
|
69
|
+
}, [selectedIds, selectionModifiers]);
|
|
70
|
+
const { data, pageInfo, total, meta: responseMeta, error, isLoading, isFetching, isPending, refetch, isPaused, isPlaceholderData, } = useGetList(resource, {
|
|
71
|
+
pagination: {
|
|
72
|
+
page: query.page,
|
|
73
|
+
perPage: query.perPage,
|
|
74
|
+
},
|
|
75
|
+
sort: { field: query.sort, order: query.order },
|
|
76
|
+
filter: { ...query.filter, ...filter },
|
|
77
|
+
meta,
|
|
78
|
+
}, {
|
|
79
|
+
enabled: (!isPendingAuthenticated && !isPendingCanAccess) ||
|
|
80
|
+
disableAuthentication,
|
|
81
|
+
placeholderData: previousData => previousData,
|
|
82
|
+
retry: false,
|
|
83
|
+
onError: error => notify(error?.message || "strato.notification.http_error', {
|
|
84
|
+
type: 'error',
|
|
85
|
+
messageArgs: {
|
|
86
|
+
_: error?.message,
|
|
87
|
+
},
|
|
88
|
+
}),
|
|
89
|
+
...otherQueryOptions,
|
|
90
|
+
});
|
|
91
|
+
// change page if there is no data
|
|
92
|
+
useEffect(() => {
|
|
93
|
+
if (query.page <= 0 ||
|
|
94
|
+
(!isFetching &&
|
|
95
|
+
query.page > 1 &&
|
|
96
|
+
(data == null || data?.length === 0))) {
|
|
97
|
+
// Query for a page that doesn't exist, set page to 1
|
|
98
|
+
queryModifiers.setPage(1);
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
if (total == null) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
const totalPages = Math.ceil(total / query.perPage) || 1;
|
|
105
|
+
if (!isFetching && query.page > totalPages) {
|
|
106
|
+
// Query for a page out of bounds, set page to the last existing page
|
|
107
|
+
// It occurs when deleting the last element of the last page
|
|
108
|
+
queryModifiers.setPage(totalPages);
|
|
109
|
+
}
|
|
110
|
+
}, [isFetching, query.page, query.perPage, data, queryModifiers, total]);
|
|
111
|
+
const currentSort = useMemo(() => ({
|
|
112
|
+
field: query.sort,
|
|
113
|
+
order: query.order,
|
|
114
|
+
}), [query.sort, query.order]);
|
|
115
|
+
const getResourceLabel = useGetResourceLabel();
|
|
116
|
+
const defaultTitle = translate(`resources.${resource}.page.list`, {
|
|
117
|
+
_: translate("strato.page.list', {
|
|
118
|
+
name: getResourceLabel(resource, 2),
|
|
119
|
+
}),
|
|
120
|
+
});
|
|
121
|
+
const onSelectAll = useSelectAll({
|
|
122
|
+
resource,
|
|
123
|
+
sort: { field: query.sort, order: query.order },
|
|
124
|
+
filter: { ...query.filter, ...filter },
|
|
125
|
+
disableSyncWithStore: storeKey === false,
|
|
126
|
+
storeKey: storeKey === false ? undefined : storeKey,
|
|
127
|
+
});
|
|
128
|
+
const getData = useEvent(async ({ maxResults, meta: metaOverride } = {}) => {
|
|
129
|
+
if (total === 0) {
|
|
130
|
+
return [];
|
|
131
|
+
}
|
|
132
|
+
const limit = maxResults ?? (total != null ? total : DEFAULT_MAX_RESULTS);
|
|
133
|
+
const { data } = await dataProvider.getList(resource, {
|
|
134
|
+
sort: currentSort,
|
|
135
|
+
filter: filter
|
|
136
|
+
? { ...query.filterValues, ...filter }
|
|
137
|
+
: query.filterValues,
|
|
138
|
+
pagination: { page: 1, perPage: limit },
|
|
139
|
+
meta: metaOverride ?? meta,
|
|
140
|
+
});
|
|
141
|
+
return data;
|
|
142
|
+
});
|
|
143
|
+
return {
|
|
144
|
+
sort: currentSort,
|
|
145
|
+
data,
|
|
146
|
+
meta: responseMeta,
|
|
147
|
+
defaultTitle,
|
|
148
|
+
displayedFilters: query.displayedFilters,
|
|
149
|
+
error,
|
|
150
|
+
exporter,
|
|
151
|
+
filter,
|
|
152
|
+
filterValues: query.filterValues,
|
|
153
|
+
hideFilter: queryModifiers.hideFilter,
|
|
154
|
+
isFetching,
|
|
155
|
+
isLoading,
|
|
156
|
+
isPaused,
|
|
157
|
+
isPending,
|
|
158
|
+
isPlaceholderData,
|
|
159
|
+
onSelect: selectionModifiers.select,
|
|
160
|
+
onSelectAll,
|
|
161
|
+
onToggleItem: selectionModifiers.toggle,
|
|
162
|
+
onUnselectItems,
|
|
163
|
+
page: query.page,
|
|
164
|
+
perPage: query.perPage,
|
|
165
|
+
refetch,
|
|
166
|
+
resource,
|
|
167
|
+
selectedIds,
|
|
168
|
+
setFilters: queryModifiers.setFilters,
|
|
169
|
+
setPage: queryModifiers.setPage,
|
|
170
|
+
setPerPage: queryModifiers.setPerPage,
|
|
171
|
+
setSort: queryModifiers.setSort,
|
|
172
|
+
showFilter: queryModifiers.showFilter,
|
|
173
|
+
total,
|
|
174
|
+
getData,
|
|
175
|
+
hasNextPage: pageInfo
|
|
176
|
+
? pageInfo.hasNextPage
|
|
177
|
+
: total != null
|
|
178
|
+
? query.page * query.perPage < total
|
|
179
|
+
: undefined,
|
|
180
|
+
hasPreviousPage: pageInfo ? pageInfo.hasPreviousPage : query.page > 1,
|
|
181
|
+
};
|
|
182
|
+
};
|
|
183
|
+
const defaultSort = {
|
|
184
|
+
field: 'id',
|
|
185
|
+
order: SORT_ASC,
|
|
186
|
+
};
|
|
187
|
+
export const DEFAULT_MAX_RESULTS = 1000;
|
|
188
|
+
export const injectedProps = [
|
|
189
|
+
'sort',
|
|
190
|
+
'data',
|
|
191
|
+
'defaultTitle',
|
|
192
|
+
'displayedFilters',
|
|
193
|
+
'error',
|
|
194
|
+
'exporter',
|
|
195
|
+
'getData',
|
|
196
|
+
'filterValues',
|
|
197
|
+
'hasNextPage',
|
|
198
|
+
'hasPreviousPage',
|
|
199
|
+
'hideFilter',
|
|
200
|
+
'isFetching',
|
|
201
|
+
'isLoading',
|
|
202
|
+
'isPending',
|
|
203
|
+
'onSelect',
|
|
204
|
+
'onSelectAll',
|
|
205
|
+
'onToggleItem',
|
|
206
|
+
'onUnselectItems',
|
|
207
|
+
'page',
|
|
208
|
+
'perPage',
|
|
209
|
+
'refetch',
|
|
210
|
+
'refresh',
|
|
211
|
+
'resource',
|
|
212
|
+
'selectedIds',
|
|
213
|
+
'setFilters',
|
|
214
|
+
'setPage',
|
|
215
|
+
'setPerPage',
|
|
216
|
+
'setSort',
|
|
217
|
+
'showFilter',
|
|
218
|
+
'total',
|
|
219
|
+
'totalPages',
|
|
220
|
+
];
|
|
221
|
+
/**
|
|
222
|
+
* Select the props injected by the useListController hook
|
|
223
|
+
* to be passed to the List children need
|
|
224
|
+
* This is an implementation of pick()
|
|
225
|
+
*/
|
|
226
|
+
export const getListControllerProps = props => injectedProps.reduce((acc, key) => ({ ...acc, [key]: props[key] }), {});
|
|
227
|
+
/**
|
|
228
|
+
* Select the props not injected by the useListController hook
|
|
229
|
+
* to be used inside the List children to sanitize props injected by List
|
|
230
|
+
* This is an implementation of omit()
|
|
231
|
+
*/
|
|
232
|
+
export const sanitizeListRestProps = props => Object.keys(props)
|
|
233
|
+
.filter(propName => !injectedProps.includes(propName))
|
|
234
|
+
.reduce((acc, key) => ({ ...acc, [key]: props[key] }), {});
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ListFilterContextValue } from './ListFilterContext';
|
|
2
|
+
/**
|
|
3
|
+
* Hook to read the list props from the ListFilterContext.
|
|
4
|
+
*
|
|
5
|
+
* Must be used within a <ListFilterContextProvider>.
|
|
6
|
+
*
|
|
7
|
+
* @returns {ListFilterContextValue} list controller props
|
|
8
|
+
*
|
|
9
|
+
* @see useListController for how it is filled
|
|
10
|
+
*/
|
|
11
|
+
export declare const useListFilterContext: () => ListFilterContextValue;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { useContext } from 'react';
|
|
2
|
+
import { ListFilterContext } from './ListFilterContext';
|
|
3
|
+
/**
|
|
4
|
+
* Hook to read the list props from the ListFilterContext.
|
|
5
|
+
*
|
|
6
|
+
* Must be used within a <ListFilterContextProvider>.
|
|
7
|
+
*
|
|
8
|
+
* @returns {ListFilterContextValue} list controller props
|
|
9
|
+
*
|
|
10
|
+
* @see useListController for how it is filled
|
|
11
|
+
*/
|
|
12
|
+
export const useListFilterContext = () => {
|
|
13
|
+
const context = useContext(ListFilterContext);
|
|
14
|
+
if (!context) {
|
|
15
|
+
throw new Error('useListFilterContext must be used inside a ListFilterContextProvider');
|
|
16
|
+
}
|
|
17
|
+
return context;
|
|
18
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ListPaginationContextValue } from './ListPaginationContext';
|
|
2
|
+
/**
|
|
3
|
+
* Hook to read the list pagination controller props from the ListPaginationContext.
|
|
4
|
+
*
|
|
5
|
+
* Must be used within a <ListPaginationContext> (e.g. as a descendent of <List>
|
|
6
|
+
* or <ListBase>).
|
|
7
|
+
*
|
|
8
|
+
* @returns {ListPaginationContextValue} list controller props
|
|
9
|
+
*
|
|
10
|
+
* @see useListController for how it is filled
|
|
11
|
+
*/
|
|
12
|
+
export declare const useListPaginationContext: () => ListPaginationContextValue;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { useContext } from 'react';
|
|
2
|
+
import { ListPaginationContext, } from './ListPaginationContext';
|
|
3
|
+
/**
|
|
4
|
+
* Hook to read the list pagination controller props from the ListPaginationContext.
|
|
5
|
+
*
|
|
6
|
+
* Must be used within a <ListPaginationContext> (e.g. as a descendent of <List>
|
|
7
|
+
* or <ListBase>).
|
|
8
|
+
*
|
|
9
|
+
* @returns {ListPaginationContextValue} list controller props
|
|
10
|
+
*
|
|
11
|
+
* @see useListController for how it is filled
|
|
12
|
+
*/
|
|
13
|
+
export const useListPaginationContext = () => {
|
|
14
|
+
const context = useContext(ListPaginationContext);
|
|
15
|
+
if (!context) {
|
|
16
|
+
throw new Error('useListPaginationContext must be used inside a ListPaginationContextProvider');
|
|
17
|
+
}
|
|
18
|
+
return context;
|
|
19
|
+
};
|