variable.ts 775 B

12345678910111213141516171819202122232425262728293031
  1. import kbn from "app/core/utils/kbn";
  2. import { assignModelProperties } from "app/core/utils/model_utils";
  3. export interface Variable {
  4. setValue(option);
  5. updateOptions();
  6. dependsOn(variable);
  7. setValueFromUrl(urlValue);
  8. getValueForUrl();
  9. getSaveModel();
  10. }
  11. export var variableTypes = {};
  12. export { assignModelProperties };
  13. export function containsVariable(...args: any[]) {
  14. var variableName = args[args.length - 1];
  15. var str = args[0] || "";
  16. for (var i = 1; i < args.length - 1; i++) {
  17. str += " " + args[i] || "";
  18. }
  19. variableName = kbn.regexEscape(variableName);
  20. var findVarRegex = new RegExp(
  21. "\\$(" + variableName + ")(?:\\W|$)|\\[\\[(" + variableName + ")\\]\\]",
  22. "g"
  23. );
  24. var match = findVarRegex.exec(str);
  25. return match !== null;
  26. }