mirror of
https://github.com/elastic/kibana.git
synced 2025-04-23 17:28:26 -04:00
[Synthetics] Fixed bad loading state for grouped monitor cards (#214428)
Fixes #191649. The bad loading state reported in the issue was probably caused by the `isLoading` flag passed to the `EuiAccordion` component. By checking the source code of the `EuiAccordion` component I found out that that flag changes both `extraActions` and `children` into a loading spinner.  Also changed the number of rows passed to the `OverviewLoader` component to match the `rowSize` set by the user. Here the final result: https://github.com/user-attachments/assets/215af2e2-11f7-4cec-b00d-061ec4e60ee6
This commit is contained in:
parent
a2d2054148
commit
67e292e8f9
2 changed files with 57 additions and 58 deletions
|
@ -98,58 +98,59 @@ export const GroupGridItem = ({
|
|||
</EuiFlexGroup>
|
||||
}
|
||||
extraAction={
|
||||
<EuiFlexGroup alignItems="center" gutterSize="m">
|
||||
<EuiFlexItem>
|
||||
<EuiButtonIcon
|
||||
data-test-subj="syntheticsGroupGridItemButton"
|
||||
isDisabled={groupMonitors.length === 0}
|
||||
className="fullScreenButton"
|
||||
iconType="fullScreen"
|
||||
aria-label={i18n.translate(
|
||||
'xpack.synthetics.groupGridItem.euiButtonIcon.fullScreenLabel',
|
||||
{ defaultMessage: 'Full screen' }
|
||||
)}
|
||||
onClick={() => {
|
||||
if (fullScreenGroup) {
|
||||
setFullScreenGroup('');
|
||||
document.exitFullscreen();
|
||||
} else {
|
||||
document.documentElement.requestFullscreen();
|
||||
setFullScreenGroup(groupLabel);
|
||||
}
|
||||
}}
|
||||
/>
|
||||
</EuiFlexItem>
|
||||
isLoading ? null : (
|
||||
<EuiFlexGroup alignItems="center" gutterSize="m">
|
||||
<EuiFlexItem>
|
||||
<EuiButtonIcon
|
||||
data-test-subj="syntheticsGroupGridItemButton"
|
||||
isDisabled={groupMonitors.length === 0}
|
||||
className="fullScreenButton"
|
||||
iconType="fullScreen"
|
||||
aria-label={i18n.translate(
|
||||
'xpack.synthetics.groupGridItem.euiButtonIcon.fullScreenLabel',
|
||||
{ defaultMessage: 'Full screen' }
|
||||
)}
|
||||
onClick={() => {
|
||||
if (fullScreenGroup) {
|
||||
setFullScreenGroup('');
|
||||
document.exitFullscreen();
|
||||
} else {
|
||||
document.documentElement.requestFullscreen();
|
||||
setFullScreenGroup(groupLabel);
|
||||
}
|
||||
}}
|
||||
/>
|
||||
</EuiFlexItem>
|
||||
|
||||
<EuiFlexItem>
|
||||
<EuiBadge color="danger">
|
||||
{i18n.translate('xpack.synthetics.groupGridItem.monitorsBadgeLabel.downCount', {
|
||||
defaultMessage: '{downCount} Down',
|
||||
values: { downCount: downMonitorsCount },
|
||||
})}
|
||||
</EuiBadge>
|
||||
</EuiFlexItem>
|
||||
<EuiFlexItem>
|
||||
<EuiBadge color="danger">
|
||||
{i18n.translate('xpack.synthetics.groupGridItem.monitorsBadgeLabel.downCount', {
|
||||
defaultMessage: '{downCount} Down',
|
||||
values: { downCount: downMonitorsCount },
|
||||
})}
|
||||
</EuiBadge>
|
||||
</EuiFlexItem>
|
||||
|
||||
<EuiFlexItem>
|
||||
<EuiBadge color="success">
|
||||
{i18n.translate('xpack.synthetics.groupGridItem.monitorsBadgeLabel.upCount', {
|
||||
defaultMessage: '{upCount} Up',
|
||||
values: { upCount: groupMonitors.length - downMonitorsCount },
|
||||
})}
|
||||
</EuiBadge>
|
||||
</EuiFlexItem>
|
||||
<EuiFlexItem>
|
||||
<EuiBadge color="success">
|
||||
{i18n.translate('xpack.synthetics.groupGridItem.monitorsBadgeLabel.upCount', {
|
||||
defaultMessage: '{upCount} Up',
|
||||
values: { upCount: groupMonitors.length - downMonitorsCount },
|
||||
})}
|
||||
</EuiBadge>
|
||||
</EuiFlexItem>
|
||||
|
||||
<EuiFlexItem>
|
||||
<EuiBadge color="subdued">
|
||||
{i18n.translate('xpack.synthetics.groupGridItem.monitorsBadgeLabel.count', {
|
||||
defaultMessage: '{count, number} {count, plural, one {monitor} other {monitors}}',
|
||||
values: { count: groupMonitors.length },
|
||||
})}
|
||||
</EuiBadge>
|
||||
</EuiFlexItem>
|
||||
</EuiFlexGroup>
|
||||
<EuiFlexItem>
|
||||
<EuiBadge color="subdued">
|
||||
{i18n.translate('xpack.synthetics.groupGridItem.monitorsBadgeLabel.count', {
|
||||
defaultMessage: '{count, number} {count, plural, one {monitor} other {monitors}}',
|
||||
values: { count: groupMonitors.length },
|
||||
})}
|
||||
</EuiBadge>
|
||||
</EuiFlexItem>
|
||||
</EuiFlexGroup>
|
||||
)
|
||||
}
|
||||
isLoading={isLoading}
|
||||
>
|
||||
<EuiSpacer size="m" />
|
||||
|
||||
|
@ -169,7 +170,7 @@ export const GroupGridItem = ({
|
|||
))}
|
||||
</EuiFlexGrid>
|
||||
) : (
|
||||
<OverviewLoader rows={2} />
|
||||
<OverviewLoader rows={rowSize} />
|
||||
)}
|
||||
<EuiSpacer size="m" />
|
||||
<EuiTablePagination
|
||||
|
|
|
@ -14,14 +14,12 @@ export const OverviewLoader = ({ rows }: { rows?: number }) => {
|
|||
const COLUMNS = 4;
|
||||
const loaders = Array(ROWS * COLUMNS).fill(null);
|
||||
return (
|
||||
<>
|
||||
<EuiFlexGrid gutterSize="m" columns={COLUMNS}>
|
||||
{loaders.map((_, i) => (
|
||||
<EuiFlexItem key={i}>
|
||||
<OverviewGridItemLoader />
|
||||
</EuiFlexItem>
|
||||
))}
|
||||
</EuiFlexGrid>
|
||||
</>
|
||||
<EuiFlexGrid gutterSize="m" columns={COLUMNS}>
|
||||
{loaders.map((_, i) => (
|
||||
<EuiFlexItem key={i}>
|
||||
<OverviewGridItemLoader />
|
||||
</EuiFlexItem>
|
||||
))}
|
||||
</EuiFlexGrid>
|
||||
);
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue