grafana/public/app/features/plugins/sql/utils/useSqlChange.ts
Zoltán Bedi 4155dc8eca
SQL: Fix couple of issues in SQLDatasource (#52080)
* Fix: sql plugins feature

(cherry picked from commit 035862bade)

* SQLDS: Use builtin annotation editor

Plus strict rule fixes

(cherry picked from commit fee2eb3716)
2022-07-12 14:11:54 +02:00

26 lines
706 B
TypeScript

import { useCallback } from 'react';
import { DB, SQLExpression, SQLQuery } from '../types';
import { defaultToRawSql } from './sql.utils';
interface UseSqlChange {
db: DB;
query: SQLQuery;
onQueryChange: (query: SQLQuery) => void;
}
export function useSqlChange({ query, onQueryChange, db }: UseSqlChange) {
const onSqlChange = useCallback(
(sql: SQLExpression) => {
const toRawSql = db.toRawSql || defaultToRawSql;
const rawSql = toRawSql({ sql, dataset: query.dataset, table: query.table, refId: query.refId });
const newQuery: SQLQuery = { ...query, sql, rawSql };
onQueryChange(newQuery);
},
[db, onQueryChange, query]
);
return { onSqlChange };
}