UNPKG

@knowmax/genericlist-core

Version:

Knowmax Generic list with basic CRUD support without any user interface implementation.

21 lines (20 loc) 1.14 kB
import { jsx as _jsx } from "react/jsx-runtime"; import { createContext, useContext, useMemo } from 'react'; import { observer } from 'mobx-react-lite'; import { providerErrorMessage } from '../utils'; import { GenericListSettings } from './GenericListSettings'; import { GenericListCacheProvider } from './GenericListCacheProvider'; const GenericListSettingsContext = createContext(null); export const useGenericListSettings = () => { const genericlistsettings = useContext(GenericListSettingsContext); if (!genericlistsettings) { throw new Error(providerErrorMessage('GenericListSettings')); } return genericlistsettings; }; /** Wrap this around your application to be able to configure and use generic lists. * Also includes GenericListCacheProvider, so no need to wrap that around your application. */ export const GenericListSettingsProvider = observer(({ children }) => { const genericlistsettings = useMemo(() => new GenericListSettings(), []); return (_jsx(GenericListSettingsContext.Provider, { value: genericlistsettings, children: _jsx(GenericListCacheProvider, { children: children }) })); });