model-navigator-standalone
Version:
Standalone MDF graph model visualizer
41 lines (39 loc) • 2.07 kB
JavaScript
import "core-js/modules/web.dom-collections.iterator.js";
// isolate DataDictionary
import React, { useState } from 'react';
import { Provider, useSelector } from 'react-redux';
import ReactDOM from 'react-dom/client';
import { filterConfig, controlVocabConfig, graphViewConfig } from './components/ModelNavigator/config/nav.config';
import loadMDFModel from './components/ModelNavigator/loadMDF';
import store from './store';
import { modelReceived, configsLoaded, selectModel, selectDisplayedTagMatrix, selectConfigs } from './features/filter/filterSlice';
import ReduxFacetFiltersView from './components/ModelNavigator/DataDictionary/Search/Filter/ReduxFacetFiltersView';
const mdf_urls = ['https://raw.githubusercontent.com/CBIIT/icdc-model-tool/develop/model-desc/icdc-model.yml', 'https://raw.githubusercontent.com/CBIIT/icdc-model-tool/develop/model-desc/icdc-model-props.yml'];
function getModel() {
loadMDFModel(...mdf_urls).then(model => model).then(model => {
store.dispatch(configsLoaded({
configs: {
filterConfig
}
}));
return model;
}).then(model => {
store.dispatch(modelReceived({
model
}));
});
}
await getModel();
//
const Table = () => {
const configs = useSelector(selectConfigs);
const nc = useSelector(selectDisplayedTagMatrix);
const rows = Object.keys(nc).map(key => Object.keys(nc[key]).map(val => {
return /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", null, key), /*#__PURE__*/React.createElement("td", null, val), /*#__PURE__*/React.createElement("td", null, nc[key][val].nodes.join()), /*#__PURE__*/React.createElement("td", null, nc[key][val].count));
}));
return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("table", null, rows));
};
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render( /*#__PURE__*/React.createElement(React.StrictMode, null, /*#__PURE__*/React.createElement(Provider, {
store: store
}, /*#__PURE__*/React.createElement(ReduxFacetFiltersView, null))));