diff --git a/plugins/linear-genome-view/src/BaseLinearDisplay/components/ServerSideRenderedBlockContent.tsx b/plugins/linear-genome-view/src/BaseLinearDisplay/components/ServerSideRenderedBlockContent.tsx index 0c94e3bbe7..7d4f1c93d3 100644 --- a/plugins/linear-genome-view/src/BaseLinearDisplay/components/ServerSideRenderedBlockContent.tsx +++ b/plugins/linear-genome-view/src/BaseLinearDisplay/components/ServerSideRenderedBlockContent.tsx @@ -1,10 +1,10 @@ import React, { lazy } from 'react' import { Tooltip, IconButton } from '@mui/material' - import { makeStyles } from 'tss-react/mui' import { observer } from 'mobx-react' import { getParent } from 'mobx-state-tree' import { LoadingEllipses } from '@jbrowse/core/ui' +import { getSession } from '@jbrowse/core/util' // icons import RefreshIcon from '@mui/icons-material/Refresh' @@ -12,7 +12,6 @@ import ReportIcon from '@mui/icons-material/Report' // locals import BlockMsg from './BlockMsg' -import { getSession } from '@jbrowse/core/util' const ErrorMessageStackTraceDialog = lazy( () => import('@jbrowse/core/ui/ErrorMessageStackTraceDialog'), @@ -30,12 +29,10 @@ const useStyles = makeStyles()(theme => { } }) -// eslint-disable-next-line @typescript-eslint/no-explicit-any -const LoadingMessage = observer(({ model }: { model: any }) => { +const LoadingMessage = observer(({ model }: { model: { status?: string } }) => { const { classes } = useStyles() const { status: blockStatus } = model - // eslint-disable-next-line @typescript-eslint/no-explicit-any - const { message: displayStatus } = getParent(model, 2) + const { message: displayStatus } = getParent<{ message?: string }>(model, 2) const status = displayStatus || blockStatus return (
@@ -47,8 +44,14 @@ const LoadingMessage = observer(({ model }: { model: any }) => { const ServerSideRenderedBlockContent = observer(function ({ model, }: { - // eslint-disable-next-line @typescript-eslint/no-explicit-any - model: any + model: { + error?: unknown + reload: () => void + message: React.ReactNode + filled?: boolean + status?: string + reactElement?: React.ReactElement + } }) { if (model.error) { return ( @@ -57,20 +60,18 @@ const ServerSideRenderedBlockContent = observer(function ({ severity="error" action={ <> - - model.reload()} - > - - - + model.reload()} + > + + { getSession(model).queueDialog(onClose => [ ErrorMessageStackTraceDialog, - { onClose, error: model.error }, + { onClose, error: model.error as Error }, ]) }} >