UNPKG

ra-core

Version:

Core components of react-admin, a frontend Framework for building admin applications on top of REST services, using ES6, React

40 lines 2.73 kB
import * as React from 'react'; import { useMemo } from 'react'; import { QueryClientProvider, QueryClient } from '@tanstack/react-query'; import { AdminRouter } from '../routing'; import { AuthContext, convertLegacyAuthProvider } from '../auth'; import { DataProviderContext, UndoableMutationsContextProvider, convertLegacyDataProvider, defaultDataProvider, } from '../dataProvider'; import { StoreContextProvider, memoryStore } from '../store'; import { PreferencesEditorContextProvider } from '../preferences/PreferencesEditorContextProvider'; import { I18nContextProvider } from '../i18n'; import { ResourceDefinitionContextProvider } from './ResourceDefinitionContext'; import { NotificationContextProvider } from '../notification'; var defaultStore = memoryStore(); export var CoreAdminContext = function (props) { var authProvider = props.authProvider, basename = props.basename, _a = props.dataProvider, dataProvider = _a === void 0 ? defaultDataProvider : _a, i18nProvider = props.i18nProvider, _b = props.store, store = _b === void 0 ? defaultStore : _b, children = props.children, queryClient = props.queryClient; if (!dataProvider) { throw new Error("Missing dataProvider prop.\nReact-admin requires a valid dataProvider function to work."); } var finalQueryClient = useMemo(function () { return queryClient || new QueryClient(); }, [queryClient]); var finalAuthProvider = useMemo(function () { return authProvider instanceof Function ? convertLegacyAuthProvider(authProvider) : authProvider; }, [authProvider]); var finalDataProvider = useMemo(function () { return dataProvider instanceof Function ? convertLegacyDataProvider(dataProvider) : dataProvider; }, [dataProvider]); return (React.createElement(AuthContext.Provider, { value: finalAuthProvider }, React.createElement(DataProviderContext.Provider, { value: finalDataProvider }, React.createElement(StoreContextProvider, { value: store }, React.createElement(PreferencesEditorContextProvider, null, React.createElement(QueryClientProvider, { client: finalQueryClient }, React.createElement(AdminRouter, { basename: basename }, React.createElement(I18nContextProvider, { value: i18nProvider }, React.createElement(NotificationContextProvider, null, React.createElement(UndoableMutationsContextProvider, null, React.createElement(ResourceDefinitionContextProvider, null, children))))))))))); }; //# sourceMappingURL=CoreAdminContext.js.map