D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
usr
/
share
/
grafana
/
public
/
app
/
features
/
plugins
/
sql
/
utils
/
Filename :
useSqlChange.ts
back
Copy
import { useCallback } from 'react'; import { DB, SQLExpression, SQLQuery } from '../types'; 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; 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 }; }