mirror of
https://github.com/grafana/grafana.git
synced 2025-01-17 04:02:50 -06:00
1d689888b0
* Updated package json but not updated source files * Update eslint plugin * updated files
37 lines
872 B
TypeScript
37 lines
872 B
TypeScript
import { Observer, Subscription } from 'rxjs';
|
|
import { LoadingState } from '@grafana/data';
|
|
|
|
import { UpdateOptionsResults } from './VariableQueryRunner';
|
|
|
|
export function variableQueryObserver(
|
|
resolve: (value?: any) => void,
|
|
reject: (value?: any) => void,
|
|
subscription: Subscription
|
|
): Observer<UpdateOptionsResults> {
|
|
const observer: Observer<UpdateOptionsResults> = {
|
|
next: (results) => {
|
|
if (results.state === LoadingState.Error) {
|
|
subscription.unsubscribe();
|
|
reject(results.error);
|
|
return;
|
|
}
|
|
|
|
if (results.state === LoadingState.Done) {
|
|
subscription.unsubscribe();
|
|
resolve();
|
|
return;
|
|
}
|
|
},
|
|
error: (err) => {
|
|
subscription.unsubscribe();
|
|
reject(err);
|
|
},
|
|
complete: () => {
|
|
subscription.unsubscribe();
|
|
resolve();
|
|
},
|
|
};
|
|
|
|
return observer;
|
|
}
|