2017-12-20 12:33:33 +01:00
|
|
|
import { liveSrv } from 'app/core/core';
|
2016-03-14 11:59:51 +01:00
|
|
|
|
2016-03-21 10:42:10 +01:00
|
|
|
class DataObservable {
|
|
|
|
|
target: any;
|
|
|
|
|
|
|
|
|
|
constructor(target) {
|
2017-12-19 16:06:54 +01:00
|
|
|
this.target = target;
|
2016-03-21 10:42:10 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
subscribe(options) {
|
2018-08-26 18:43:07 +02:00
|
|
|
const observable = liveSrv.subscribe(this.target.stream);
|
2016-03-21 10:42:10 +01:00
|
|
|
return observable.subscribe(data => {
|
2017-12-20 12:33:33 +01:00
|
|
|
console.log('grafana stream ds data!', data);
|
2016-03-21 10:42:10 +01:00
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2016-03-14 11:59:51 +01:00
|
|
|
export class GrafanaStreamDS {
|
2016-03-14 19:21:32 +01:00
|
|
|
subscription: any;
|
2016-03-14 11:59:51 +01:00
|
|
|
|
|
|
|
|
/** @ngInject */
|
2017-12-19 16:06:54 +01:00
|
|
|
constructor() {}
|
2016-03-14 11:59:51 +01:00
|
|
|
|
2016-03-21 10:42:10 +01:00
|
|
|
query(options): any {
|
2016-03-14 11:59:51 +01:00
|
|
|
if (options.targets.length === 0) {
|
2017-12-19 16:06:54 +01:00
|
|
|
return Promise.resolve({ data: [] });
|
2016-03-14 11:59:51 +01:00
|
|
|
}
|
|
|
|
|
|
2018-08-26 18:43:07 +02:00
|
|
|
const target = options.targets[0];
|
|
|
|
|
const observable = new DataObservable(target);
|
2016-03-14 22:26:43 +01:00
|
|
|
|
2016-03-21 10:42:10 +01:00
|
|
|
return Promise.resolve(observable);
|
2016-03-14 11:59:51 +01:00
|
|
|
}
|
|
|
|
|
}
|