40 lines
796 B
JavaScript
40 lines
796 B
JavaScript
/**
|
|
*
|
|
*
|
|
* @param {*} plugin
|
|
* @param {*} viewportData
|
|
* @param {*} viewportIndex
|
|
* @param {*} children
|
|
* @returns
|
|
*/
|
|
function _getViewportComponent(
|
|
viewportData,
|
|
viewportIndex,
|
|
children,
|
|
availablePlugins,
|
|
pluginName,
|
|
defaultPluginName
|
|
) {
|
|
if (viewportData.displaySet) {
|
|
pluginName = pluginName || defaultPluginName;
|
|
const ViewportComponent = availablePlugins[pluginName];
|
|
|
|
if (!ViewportComponent) {
|
|
throw new Error(
|
|
`No Viewport Component available for name ${pluginName}.
|
|
Available plugins: ${JSON.stringify(availablePlugins)}`
|
|
);
|
|
}
|
|
|
|
return (
|
|
<ViewportComponent
|
|
viewportData={viewportData}
|
|
viewportIndex={viewportIndex}
|
|
children={[children]}
|
|
/>
|
|
);
|
|
}
|
|
|
|
return <EmptyViewport />;
|
|
}
|