UNPKG

model-navigator-standalone

Version:

Standalone MDF graph model visualizer

56 lines (47 loc) 1.57 kB
import React from 'react'; import { Provider } from 'react-redux'; import _ from 'lodash'; import DataDictionary from './DataDictionary'; import store from '../../store'; import { createConfig, defaultConfig } from './Config/nav.config'; import { ConfigContext } from './Config/ConfigContext'; import { ModelContext } from './Model/ModelContext'; import { createTheme, ThemeProvider } from '@mui/material/styles'; import loadMDF from './Model/loadMDF'; import '@fontsource/lato'; import '@fontsource/open-sans'; import '@fontsource/nunito'; import '@fontsource/raleway'; import './index.css'; export { loadMDF }; const defaultTheme = createTheme(); export default function ModelNavigator({ model, customConfig, }) { const config = createConfig(customConfig || defaultConfig); // create default checkboxes from Category values // if not already specified if (config.facetFilters && !config.facetFilters.checkboxItems) { config.facetFilters.forEach( (filt) => { if (filt.tag === 'Category') { filt.checkboxItems = model.tag_kvs('Category') .flatMap( ([tag, value]) => ({ name: _.capitalize(value), tag: 'Category', value, isChecked: false, group: 'category' })); } }); } return ( <Provider store={store}> <ThemeProvider theme={defaultTheme}> <ConfigContext.Provider value={config}> <ModelContext.Provider value={model}> <DataDictionary /> </ModelContext.Provider> </ConfigContext.Provider> </ThemeProvider> </Provider> ); }