Files
Ida Štambuk cea5e6589d Cloudwatch: Define and use getDefaultquery instead of calling onChange on mount (#60221)
* Implement getDefaultQuery for cloudwatch logs and metrics

* Fix bug with query reference in queryMigrations and replace tests

* Move migrate functions to /migrations, remove onChange from LogsQueryField

* [EMPTY] Retry CI

* Fix naming
2022-12-14 12:21:36 +01:00

26 lines
677 B
TypeScript

import { useEffect, useMemo } from 'react';
import { CloudWatchMetricsQuery } from '../types';
import { migrateMetricQuery } from './metricQueryMigrations';
/**
* Returns queries with migrations, and calls onChange function to notify if it changes
*/
const useMigratedMetricsQuery = (
query: CloudWatchMetricsQuery,
onChangeQuery: (newQuery: CloudWatchMetricsQuery) => void
) => {
const migratedQUery = useMemo(() => migrateMetricQuery(query), [query]);
useEffect(() => {
if (migratedQUery !== query) {
onChangeQuery(migratedQUery);
}
}, [migratedQUery, query, onChangeQuery]);
return migratedQUery;
};
export default useMigratedMetricsQuery;