29 lines
713 B
TypeScript
29 lines
713 B
TypeScript
import { CombinedRule } from 'app/types/unified-alerting';
|
|
|
|
import { useCombinedRules } from './useCombinedRuleNamespaces';
|
|
|
|
interface Options {
|
|
dashboardUID: string | null;
|
|
panelId: number;
|
|
|
|
poll?: boolean;
|
|
}
|
|
|
|
interface ReturnBag {
|
|
errors: unknown[];
|
|
rules: CombinedRule[];
|
|
|
|
loading?: boolean;
|
|
}
|
|
|
|
export function usePanelCombinedRules({ dashboardUID, panelId, poll = false }: Options): ReturnBag {
|
|
const { result: combinedNamespaces, loading, error } = useCombinedRules(dashboardUID, panelId, poll);
|
|
const rules = combinedNamespaces ? combinedNamespaces.flatMap((ns) => ns.groups).flatMap((group) => group.rules) : [];
|
|
|
|
return {
|
|
rules,
|
|
errors: error ? [error] : [],
|
|
loading,
|
|
};
|
|
}
|