diff --git a/public/app/features/alerting/unified/components/rules/RuleListStateView.tsx b/public/app/features/alerting/unified/components/rules/RuleListStateView.tsx index 69faaec1d5c..69e4bc3f604 100644 --- a/public/app/features/alerting/unified/components/rules/RuleListStateView.tsx +++ b/public/app/features/alerting/unified/components/rules/RuleListStateView.tsx @@ -1,16 +1,18 @@ -import { css } from '@emotion/css'; import { useMemo } from 'react'; +import { useMeasure } from 'react-use'; -import { GrafanaTheme2 } from '@grafana/data'; -import { Counter, Pagination, Stack, useStyles2 } from '@grafana/ui'; +import { Counter, LoadingBar, Pagination, Stack } from '@grafana/ui'; import { DEFAULT_PER_PAGE_PAGINATION } from 'app/core/constants'; import { CombinedRule, CombinedRuleNamespace } from 'app/types/unified-alerting'; import { PromAlertingRuleState } from 'app/types/unified-alerting-dto'; import { usePagination } from '../../hooks/usePagination'; +import { useUnifiedAlertingSelector } from '../../hooks/useUnifiedAlertingSelector'; import { AlertRuleListItem } from '../../rule-list/components/AlertRuleListItem'; import { ListSection } from '../../rule-list/components/ListSection'; +import { getRulesDataSources, GRAFANA_RULES_SOURCE_NAME } from '../../utils/datasource'; import { createViewLink } from '../../utils/misc'; +import { isAsyncRequestStatePending } from '../../utils/redux'; import { hashRule } from '../../utils/rule-id'; import { getRulePluginOrigin, isAlertingRule, isProvisionedRule } from '../../utils/rules'; import { calculateTotalInstances } from '../rule-viewer/RuleViewer'; @@ -24,7 +26,9 @@ interface Props { type GroupedRules = Map; export const RuleListStateView = ({ namespaces }: Props) => { - const styles = useStyles2(getStyles); + const [ref, { width }] = useMeasure(); + + const isLoading = useDataSourcesLoadingState(); const groupedRules = useMemo(() => { const result: GroupedRules = new Map([ @@ -54,10 +58,13 @@ export const RuleListStateView = ({ namespaces }: Props) => { const entries = groupedRules.entries(); return ( -