variable.ts 764 B

1234567891011121314151617181920212223242526272829303132333435
  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 {
  13. assignModelProperties
  14. };
  15. export function containsVariable(...args: any[]) {
  16. var variableName = args[args.length-1];
  17. var str = args[0] || '';
  18. for (var i = 1; i < args.length-1; i++) {
  19. str += ' ' + args[i] || '';
  20. }
  21. variableName = kbn.regexEscape(variableName);
  22. var findVarRegex = new RegExp('\\$(' + variableName + ')(?:\\W|$)|\\[\\[(' + variableName + ')\\]\\]', 'g');
  23. var match = findVarRegex.exec(str);
  24. return match !== null;
  25. }