mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Elastic: Internal data links (#25942)
* Allow internal datalinks for elastic * Add docs * Update docs/sources/features/datasources/elasticsearch.md Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com> Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
This commit is contained in:
@@ -1,7 +1,17 @@
|
||||
import angular from 'angular';
|
||||
import { CoreApp, DataQueryRequest, DataSourceInstanceSettings, dateMath, dateTime, Field, toUtc } from '@grafana/data';
|
||||
import {
|
||||
ArrayVector,
|
||||
CoreApp,
|
||||
DataQueryRequest,
|
||||
DataSourceInstanceSettings,
|
||||
dateMath,
|
||||
dateTime,
|
||||
Field,
|
||||
MutableDataFrame,
|
||||
toUtc,
|
||||
} from '@grafana/data';
|
||||
import _ from 'lodash';
|
||||
import { ElasticDatasource } from './datasource';
|
||||
import { ElasticDatasource, enhanceDataFrame } from './datasource';
|
||||
import { backendSrv } from 'app/core/services/backend_srv'; // will use the version in __mocks__
|
||||
import { TimeSrv } from 'app/features/dashboard/services/TimeSrv';
|
||||
import { TemplateSrv } from 'app/features/templating/template_srv';
|
||||
@@ -849,6 +859,49 @@ describe('ElasticDatasource', function(this: any) {
|
||||
});
|
||||
});
|
||||
|
||||
describe('enhanceDataFrame', () => {
|
||||
it('adds links to dataframe', () => {
|
||||
const df = new MutableDataFrame({
|
||||
fields: [
|
||||
{
|
||||
name: 'urlField',
|
||||
values: new ArrayVector([]),
|
||||
},
|
||||
{
|
||||
name: 'traceField',
|
||||
values: new ArrayVector([]),
|
||||
},
|
||||
],
|
||||
});
|
||||
enhanceDataFrame(df, [
|
||||
{
|
||||
field: 'urlField',
|
||||
url: 'someUrl',
|
||||
},
|
||||
{
|
||||
field: 'traceField',
|
||||
url: 'query',
|
||||
datasourceUid: 'dsUid',
|
||||
},
|
||||
]);
|
||||
|
||||
expect(df.fields[0].config.links.length).toBe(1);
|
||||
expect(df.fields[0].config.links[0]).toEqual({
|
||||
title: '',
|
||||
url: 'someUrl',
|
||||
});
|
||||
expect(df.fields[1].config.links.length).toBe(1);
|
||||
expect(df.fields[1].config.links[0]).toEqual({
|
||||
title: '',
|
||||
url: '',
|
||||
internal: {
|
||||
query: { query: 'query' },
|
||||
datasourceUid: 'dsUid',
|
||||
},
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
const createElasticQuery = (): DataQueryRequest<ElasticsearchQuery> => {
|
||||
return {
|
||||
requestId: '',
|
||||
|
||||
Reference in New Issue
Block a user