model-navigator-standalone
Version:
Standalone MDF graph model visualizer
54 lines • 1.9 kB
JavaScript
import "core-js/modules/es.array.flat-map.js";
import "core-js/modules/es.array.unscopables.flat-map.js";
import "core-js/modules/web.dom-collections.iterator.js";
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(_ref) {
let {
model,
customConfig
} = _ref;
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(_ref2 => {
let [tag, value] = _ref2;
return {
name: _.capitalize(value),
tag: 'Category',
value,
isChecked: false,
group: 'category'
};
});
}
});
}
return /*#__PURE__*/React.createElement(Provider, {
store: store
}, /*#__PURE__*/React.createElement(ThemeProvider, {
theme: defaultTheme
}, /*#__PURE__*/React.createElement(ConfigContext.Provider, {
value: config
}, /*#__PURE__*/React.createElement(ModelContext.Provider, {
value: model
}, /*#__PURE__*/React.createElement(DataDictionary, null)))));
}