fixed layout, null checks

This commit is contained in:
Tim Chamberlain
2023-05-18 19:36:16 -05:00
parent ecbd8ed9f6
commit 96bc57f5f9
2 changed files with 20 additions and 6 deletions

View File

@ -102,12 +102,18 @@ function DashboardWidgets({widgetMetaDataList, tableName, entityPrimaryKey, omit
widgetData[i] = await qController.widget(widgetMetaData.name, urlParams); widgetData[i] = await qController.widget(widgetMetaData.name, urlParams);
setWidgetData(widgetData); setWidgetData(widgetData);
setWidgetCounter(widgetCounter + 1); setWidgetCounter(widgetCounter + 1);
widgetData[i]["errorLoading"] = false; if(widgetData[i])
{
widgetData[i]["errorLoading"] = false;
}
} }
catch(e) catch(e)
{ {
console.error(e); console.error(e);
widgetData[i]["errorLoading"] = true; if(widgetData[i])
{
widgetData[i]["errorLoading"] = true;
}
} }
forceUpdate(); forceUpdate();
@ -121,23 +127,31 @@ function DashboardWidgets({widgetMetaDataList, tableName, entityPrimaryKey, omit
{ {
const urlParams = getQueryParams(widgetMetaDataList[index], data); const urlParams = getQueryParams(widgetMetaDataList[index], data);
setCurrentUrlParams(urlParams); setCurrentUrlParams(urlParams);
widgetData[index] = {};
try try
{ {
widgetData[index] = await qController.widget(widgetMetaDataList[index].name, urlParams); widgetData[index] = await qController.widget(widgetMetaDataList[index].name, urlParams);
setWidgetCounter(widgetCounter + 1); setWidgetCounter(widgetCounter + 1);
setWidgetData(widgetData); setWidgetData(widgetData);
widgetData[index]["errorLoading"] = false;
if (widgetData[index])
{
widgetData[index]["errorLoading"] = false;
}
} }
catch(e) catch(e)
{ {
console.error(e); console.error(e);
widgetData[index]["errorLoading"] = true; if (widgetData[index])
{
widgetData[index]["errorLoading"] = true;
}
} }
forceUpdate(); forceUpdate();
})(); })();
}; }
function getQueryParams(widgetMetaData: QWidgetMetaData, extraParams: string): string function getQueryParams(widgetMetaData: QWidgetMetaData, extraParams: string): string
{ {

View File

@ -384,7 +384,7 @@ function Widget(props: React.PropsWithChildren<Props>): JSX.Element
</Box> </Box>
{ {
errorLoading ? ( errorLoading ? (
<Box p={3} sx={{display: "flex", justifyContent: "center", alignItems: "flex-start"}}> <Box pb={3} sx={{display: "flex", justifyContent: "center", alignItems: "flex-start"}}>
<Icon color="error">error</Icon> <Icon color="error">error</Icon>
<Typography sx={{paddingLeft: "4px", textTransform: "revert"}} variant="button">An error occurred loading widget content.</Typography> <Typography sx={{paddingLeft: "4px", textTransform: "revert"}} variant="button">An error occurred loading widget content.</Typography>
</Box> </Box>