mirror of
https://github.com/grafana/grafana.git
synced 2025-02-20 11:48:34 -06:00
* Variables: Fixes issue with upgrading legacy queries * Tests: adds tests for upgradeLegacyQueries
36 lines
900 B
TypeScript
36 lines
900 B
TypeScript
import { VariableOption, VariableWithOptions } from 'app/features/variables/types';
|
|
import { VariableBuilder } from './variableBuilder';
|
|
|
|
export class OptionsVariableBuilder<T extends VariableWithOptions> extends VariableBuilder<T> {
|
|
withOptions(...texts: string[]) {
|
|
this.variable.options = [];
|
|
for (let index = 0; index < texts.length; index++) {
|
|
this.variable.options.push({
|
|
text: texts[index],
|
|
value: texts[index],
|
|
selected: false,
|
|
});
|
|
}
|
|
return this;
|
|
}
|
|
|
|
withoutOptions() {
|
|
this.variable.options = (undefined as unknown) as VariableOption[];
|
|
return this;
|
|
}
|
|
|
|
withCurrent(text: string | string[], value?: string | string[]) {
|
|
this.variable.current = {
|
|
text,
|
|
value: value ?? text,
|
|
selected: true,
|
|
};
|
|
return this;
|
|
}
|
|
|
|
withQuery(query: any) {
|
|
this.variable.query = query;
|
|
return this;
|
|
}
|
|
}
|