mirror of
https://github.com/grafana/grafana.git
synced 2025-02-20 11:48:34 -06:00
* Fix: sql plugins feature (cherry picked from commit035862bade
) * SQLDS: Use builtin annotation editor Plus strict rule fixes (cherry picked from commitfee2eb3716
)
26 lines
706 B
TypeScript
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 };
|
|
}
|