2017-12-20 12:33:33 +01:00
|
|
|
import kbn from 'app/core/utils/kbn';
|
|
|
|
|
import { assignModelProperties } from 'app/core/utils/model_utils';
|
2016-09-16 16:50:30 +02:00
|
|
|
|
2016-09-17 15:27:53 +02:00
|
|
|
export interface Variable {
|
|
|
|
|
setValue(option);
|
|
|
|
|
updateOptions();
|
|
|
|
|
dependsOn(variable);
|
|
|
|
|
setValueFromUrl(urlValue);
|
2016-09-20 11:57:43 +02:00
|
|
|
getValueForUrl();
|
2016-11-17 11:28:33 +01:00
|
|
|
getSaveModel();
|
2016-09-19 15:15:15 +02:00
|
|
|
}
|
|
|
|
|
|
2016-09-19 18:32:09 +02:00
|
|
|
export var variableTypes = {};
|
2017-12-19 16:06:54 +01:00
|
|
|
export { assignModelProperties };
|
2016-09-17 15:27:53 +02:00
|
|
|
|
2016-09-17 11:28:45 +02:00
|
|
|
export function containsVariable(...args: any[]) {
|
2017-12-19 16:06:54 +01:00
|
|
|
var variableName = args[args.length - 1];
|
2017-12-20 12:33:33 +01:00
|
|
|
var str = args[0] || '';
|
2016-09-17 11:28:45 +02:00
|
|
|
|
2017-12-19 16:06:54 +01:00
|
|
|
for (var i = 1; i < args.length - 1; i++) {
|
2017-12-20 12:33:33 +01:00
|
|
|
str += ' ' + args[i] || '';
|
2016-09-16 16:50:30 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
variableName = kbn.regexEscape(variableName);
|
2017-12-21 08:39:31 +01:00
|
|
|
var findVarRegex = new RegExp('\\$(' + variableName + ')(?:\\W|$)|\\[\\[(' + variableName + ')\\]\\]', 'g');
|
2016-09-16 16:50:30 +02:00
|
|
|
var match = findVarRegex.exec(str);
|
|
|
|
|
return match !== null;
|
|
|
|
|
}
|