mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
feat(live): tricky
This commit is contained in:
@@ -4,6 +4,21 @@ import {liveSrv} from 'app/core/core';
|
||||
|
||||
import {Observable} from 'vendor/npm/rxjs/Observable';
|
||||
|
||||
class DataObservable {
|
||||
target: any;
|
||||
|
||||
constructor(target) {
|
||||
this.target = target;
|
||||
}
|
||||
|
||||
subscribe(options) {
|
||||
var observable = liveSrv.subscribe(this.target.stream);
|
||||
return observable.subscribe(data => {
|
||||
console.log("grafana stream ds data!", data);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
export class GrafanaStreamDS {
|
||||
subscription: any;
|
||||
|
||||
@@ -12,30 +27,15 @@ export class GrafanaStreamDS {
|
||||
|
||||
}
|
||||
|
||||
query(options) {
|
||||
query(options): any {
|
||||
if (options.targets.length === 0) {
|
||||
return Promise.resolve({data: []});
|
||||
}
|
||||
|
||||
var target = options.targets[0];
|
||||
var observable = new DataObservable(target);
|
||||
|
||||
if (this.subscription) {
|
||||
if (this.subscription.stream !== target.stream) {
|
||||
this.subscription.unsubscribe();
|
||||
} else {
|
||||
return Promise.resolve({data: []});
|
||||
}
|
||||
}
|
||||
|
||||
var observable = liveSrv.subscribe(target.stream);
|
||||
|
||||
this.subscription = observable.subscribe(data => {
|
||||
console.log("grafana stream ds data!", data);
|
||||
});
|
||||
|
||||
this.subscription.stream = target.stream;
|
||||
|
||||
return Promise.resolve({data: []});
|
||||
return Promise.resolve(observable);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user