mirror of
https://github.com/grafana/grafana.git
synced 2025-02-13 09:05:45 -06:00
3c6e0e8ef8
* Add and configure eslint-plugin-import * Fix the lint:ts npm command * Autofix + prettier all the files * Manually fix remaining files * Move jquery code in jest-setup to external file to safely reorder imports * Resolve issue caused by circular dependencies within Prometheus * Update .betterer.results * Fix missing // @ts-ignore * ignore iconBundle.ts * Fix missing // @ts-ignore
37 lines
899 B
TypeScript
37 lines
899 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;
|
|
}
|
|
}
|