import PropTypes from 'prop-types'; import React from 'react'; import gettext from 'sources/gettext'; import { LAYOUT_EVENTS } from './helpers/Layout'; import { styled } from '@mui/material/styles'; import { FormHelperText, Box } from '@mui/material'; import HTMLReactParse from 'html-react-parser'; import { useApplicationState } from '../../settings/static/ApplicationStateProvider'; const StyledBox = styled(Box)(({theme}) => ({ color: theme.palette.text.primary, margin: '24px auto 12px', display: 'flex', alignItems: 'center', justifyContent: 'center', height: '100%', })); export default function ToolErrorView({error, panelId, panelDocker}){ const { deleteToolData } = useApplicationState(); panelDocker.eventBus.registerListener(LAYOUT_EVENTS.CLOSING, (id)=>{ if(panelId == id) { panelDocker.close(panelId, true); deleteToolData(panelId); } }); let err_msg = gettext(`An error occurred while opening the tool: ${error}`); return ( {HTMLReactParse(err_msg)} ); } ToolErrorView.propTypes = { error: PropTypes.string, panelId: PropTypes.string, panelDocker: PropTypes.object, };