dash-renderer
Version:
render dash components in react
47 lines (46 loc) • 1.74 kB
JavaScript
;
var _ramda = require("ramda");
var _DashContext = require("./wrapper/DashContext");
var _paths = require("./actions/paths");
var _stores = require("./utils/stores");
var _ExternalWrapper = _interopRequireDefault(require("./wrapper/ExternalWrapper"));
var _dependencies = require("./actions/dependencies");
var _DevtoolContext = require("./components/error/menu/DevtoolContext");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**
* Get the dash props from a component path or id.
*
* @param componentPathOrId The path or the id of the component to get the props of.
* @param propPath Additional key to get the property instead of plain props.
* @returns
*/
function getLayout(componentPathOrId) {
var ds = (0, _stores.getStores)();
for (var y = 0; y < ds.length; y++) {
var _ds$y$getState = ds[y].getState(),
paths = _ds$y$getState.paths,
layout = _ds$y$getState.layout;
var componentPath = void 0;
if (!Array.isArray(componentPathOrId)) {
componentPath = (0, _paths.getPath)(paths, componentPathOrId);
} else {
componentPath = componentPathOrId;
}
var props = (0, _ramda.path)(componentPath, layout);
if (props !== undefined) {
return props;
}
}
}
window.dash_component_api = Object.assign(window.dash_component_api || {}, {
ExternalWrapper: _ExternalWrapper.default,
DashContext: _DashContext.DashContext,
useDashContext: _DashContext.useDashContext,
getLayout,
stringifyId: _dependencies.stringifyId,
devtool: {
DevtoolContext: _DevtoolContext.DevtoolContext,
useDevtool: _DevtoolContext.useDevtool,
useDevtoolMenuButtonClassName: _DevtoolContext.useDevtoolMenuButtonClassName
}
});