From 3ea441d1a023b4dbc86043b28a59dc64b4a13891 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Mon, 21 Mar 2016 10:42:10 +0100 Subject: [PATCH] feat(live): tricky --- .../datasource/grafana-live/datasource.ts | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/public/app/plugins/datasource/grafana-live/datasource.ts b/public/app/plugins/datasource/grafana-live/datasource.ts index 0864057a762..d7e519355c1 100644 --- a/public/app/plugins/datasource/grafana-live/datasource.ts +++ b/public/app/plugins/datasource/grafana-live/datasource.ts @@ -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); } }