grafana/public/app/features/templating/variable.ts

29 lines
763 B
TypeScript
Raw Normal View History

2017-12-20 05:33:33 -06:00
import kbn from 'app/core/utils/kbn';
import { assignModelProperties } from 'app/core/utils/model_utils';
export interface Variable {
setValue(option);
updateOptions();
dependsOn(variable);
setValueFromUrl(urlValue);
getValueForUrl();
getSaveModel();
}
export var variableTypes = {};
export { assignModelProperties };
export function containsVariable(...args: any[]) {
var variableName = args[args.length - 1];
2017-12-20 05:33:33 -06:00
var str = args[0] || '';
for (var i = 1; i < args.length - 1; i++) {
2017-12-20 05:33:33 -06:00
str += ' ' + args[i] || '';
}
variableName = kbn.regexEscape(variableName);
var findVarRegex = new RegExp('\\$(' + variableName + ')(?:\\W|$)|\\[\\[(' + variableName + ')\\]\\]', 'g');
var match = findVarRegex.exec(str);
return match !== null;
}