variable.ts 802 B

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