mirror of https://github.com/grafana/grafana.git
Alerting: Auto refresh contact points in the rule form (#109539)
This commit is contained in:
parent
384ec28dfd
commit
e21eda9413
|
@ -17,7 +17,10 @@ export type ContactPointSelectorProps = CustomComboBoxProps<ContactPoint>;
|
||||||
* @TODO make ComboBox accept a ReactNode so we can use icons and such
|
* @TODO make ComboBox accept a ReactNode so we can use icons and such
|
||||||
*/
|
*/
|
||||||
function ContactPointSelector(props: ContactPointSelectorProps) {
|
function ContactPointSelector(props: ContactPointSelectorProps) {
|
||||||
const { currentData: contactPoints, isLoading } = useListContactPoints();
|
const { currentData: contactPoints, isLoading } = useListContactPoints(
|
||||||
|
{},
|
||||||
|
{ refetchOnFocus: true, refetchOnMountOrArgChange: true }
|
||||||
|
);
|
||||||
|
|
||||||
// Create a mapping of options with their corresponding contact points
|
// Create a mapping of options with their corresponding contact points
|
||||||
const contactPointOptions = chain(contactPoints?.items)
|
const contactPointOptions = chain(contactPoints?.items)
|
||||||
|
|
|
@ -15,6 +15,16 @@ type ListContactPointsHookResult = TypedUseQueryHookResult<
|
||||||
ReturnType<typeof fetchBaseQuery>
|
ReturnType<typeof fetchBaseQuery>
|
||||||
>;
|
>;
|
||||||
|
|
||||||
|
// Type for the options that can be passed to the hook
|
||||||
|
// Based on the pattern used for mutation options in this file
|
||||||
|
type ListContactPointsQueryArgs = Parameters<
|
||||||
|
typeof alertingAPI.endpoints.listReceiver.useQuery<ListContactPointsHookResult>
|
||||||
|
>[0];
|
||||||
|
|
||||||
|
type ListContactPointsQueryOptions = Parameters<
|
||||||
|
typeof alertingAPI.endpoints.listReceiver.useQuery<ListContactPointsHookResult>
|
||||||
|
>[1];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* useListContactPoints is a hook that fetches a list of contact points
|
* useListContactPoints is a hook that fetches a list of contact points
|
||||||
*
|
*
|
||||||
|
@ -22,9 +32,15 @@ type ListContactPointsHookResult = TypedUseQueryHookResult<
|
||||||
* to ensure that the returned ContactPoints are correctly typed in the data.items array.
|
* to ensure that the returned ContactPoints are correctly typed in the data.items array.
|
||||||
*
|
*
|
||||||
* It automatically uses the configured namespace for the query.
|
* It automatically uses the configured namespace for the query.
|
||||||
|
*
|
||||||
|
* @param queryOptions - Optional query options that will be passed to the underlying useListReceiverQuery hook.
|
||||||
|
* These options can include refetchOnFocus, refetchOnMountOrArgChange, skip, etc.
|
||||||
*/
|
*/
|
||||||
export function useListContactPoints() {
|
export function useListContactPoints(
|
||||||
return alertingAPI.useListReceiverQuery<ListContactPointsHookResult>({});
|
queryArgs: ListContactPointsQueryArgs = {},
|
||||||
|
queryOptions: ListContactPointsQueryOptions = {}
|
||||||
|
) {
|
||||||
|
return alertingAPI.useListReceiverQuery<ListContactPointsHookResult>(queryArgs, queryOptions);
|
||||||
}
|
}
|
||||||
|
|
||||||
// type narrowing mutations requires us to define a few helper types
|
// type narrowing mutations requires us to define a few helper types
|
||||||
|
|
Loading…
Reference in New Issue