DataSourceApi: add getCollapsedText(query) to DataSourceApi (#16482)

Add getQueryDisplayText() to DataSourceApi
This commit is contained in:
Ryan McKinley 2019-04-10 09:31:32 -07:00 committed by GitHub
parent 23d461af13
commit 5bc936d2da
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 22 additions and 5 deletions

View File

@ -106,6 +106,11 @@ export interface DataSourceApi<TQuery extends DataQuery = DataQuery> {
*/
getQueryHints?(query: TQuery, results: any[], ...rest: any): QueryHint[];
/**
* Convert a query to a simple text string
*/
getQueryDisplayText?(query: TQuery): string;
/**
* Set after constructor is called by Grafana
*/

View File

@ -225,10 +225,14 @@ export class QueryEditorRow extends PureComponent<Props, State> {
};
renderCollapsedText(): string | null {
const { datasource } = this.state;
if (datasource.getQueryDisplayText) {
return datasource.getQueryDisplayText(this.props.query);
}
if (this.angularScope && this.angularScope.getCollapsedText) {
return this.angularScope.getCollapsedText();
}
return null;
}

View File

@ -55,6 +55,10 @@ export class PrometheusDatasource implements DataSourceApi<PromQuery> {
this.loadRules();
}
getQueryDisplayText(query: PromQuery) {
return query.expr;
}
_request(url, data?, options?: any) {
options = _.defaults(options || {}, {
url: this.url + url,

View File

@ -89,10 +89,6 @@ class PrometheusQueryCtrl extends QueryCtrl {
}).join('&');
this.linkToPrometheus = this.datasource.directUrl + '/graph?' + args;
}
getCollapsedText() {
return this.target.expr;
}
}
export { PrometheusQueryCtrl };

View File

@ -90,6 +90,13 @@ export class TestDataDatasource implements DataSourceApi<TestDataQuery> {
return this.$q.when(events);
}
getQueryDisplayText(query: TestDataQuery) {
if (query.alias) {
return query.scenarioId + ' as ' + query.alias;
}
return query.scenarioId;
}
testDatasource() {
return Promise.resolve({
status: 'success',

View File

@ -1,6 +1,7 @@
import { DataQuery } from '@grafana/ui/src/types';
export interface TestDataQuery extends DataQuery {
alias?: string;
scenarioId: string;
}