Added variables highlight in query editor.

This commit is contained in:
Alexander Zobnin
2016-03-30 23:04:17 +03:00
parent 2ffc5ca297
commit c5a421c933
3 changed files with 32 additions and 4 deletions

View File

@@ -1,3 +1,7 @@
.zbx-regex { .zbx-regex {
color: #CCA300; color: #CCA300;
} }
.zbx-variable {
color: #33B5E5;
}

View File

@@ -94,7 +94,10 @@
data-min-length=0 data-min-length=0
data-items=100 data-items=100
class="input-medium tight-form-input" class="input-medium tight-form-input"
ng-class="{'zbx-regex': ctrl.isRegex(ctrl.target.group.filter)}"> ng-class="{
'zbx-variable': ctrl.isVariable(ctrl.target.group.filter),
'zbx-regex': ctrl.isRegex(ctrl.target.group.filter)
}">
</li> </li>
<!-- Select Host --> <!-- Select Host -->
@@ -108,7 +111,10 @@
data-min-length=0 data-min-length=0
data-items=100 data-items=100
class="input-large tight-form-input" class="input-large tight-form-input"
ng-class="{'zbx-regex': ctrl.isRegex(ctrl.target.host.filter)}"> ng-class="{
'zbx-variable': ctrl.isVariable(ctrl.target.host.filter),
'zbx-regex': ctrl.isRegex(ctrl.target.host.filter)
}">
</li> </li>
<li class="tight-form-item" ng-hide="ctrl.target.mode == 2"> <li class="tight-form-item" ng-hide="ctrl.target.mode == 2">
Show disabled items&nbsp; Show disabled items&nbsp;
@@ -155,7 +161,10 @@
data-min-length=0 data-min-length=0
data-items=100 data-items=100
class="input-medium tight-form-input" class="input-medium tight-form-input"
ng-class="{'zbx-regex': ctrl.isRegex(ctrl.target.application.filter)}"> ng-class="{
'zbx-variable': ctrl.isVariable(ctrl.target.application.filter),
'zbx-regex': ctrl.isRegex(ctrl.target.application.filter)
}">
</li> </li>
<!-- Select Item --> <!-- Select Item -->
@@ -169,7 +178,10 @@
data-min-length=0 data-min-length=0
data-items=100 data-items=100
class="input-large tight-form-input" class="input-large tight-form-input"
ng-class="{'zbx-regex': ctrl.isRegex(ctrl.target.item.filter)}"> ng-class="{
'zbx-variable': ctrl.isVariable(ctrl.target.item.filter),
'zbx-regex': ctrl.isRegex(ctrl.target.item.filter)
}">
</li> </li>
<li class="tight-form-item query-keyword">Options</li> <li class="tight-form-item query-keyword">Options</li>
<li ng-repeat="func in ctrl.target.functions"> <li ng-repeat="func in ctrl.target.functions">

View File

@@ -182,6 +182,18 @@ export class ZabbixQueryController extends QueryCtrl {
return utils.isRegex(str); return utils.isRegex(str);
} }
isVariable(str) {
var variablePattern = /^\$\w+/;
if (variablePattern.test(str)) {
var variables = _.map(this.templateSrv.variables, variable => {
return '$' + variable.name;
});
return _.contains(variables, str);
} else {
return false;
}
}
onTargetBlur() { onTargetBlur() {
var newTarget = _.cloneDeep(this.target); var newTarget = _.cloneDeep(this.target);
if (!_.isEqual(this.oldTarget, this.target)) { if (!_.isEqual(this.oldTarget, this.target)) {