variable.ts 820 B

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