|
|
@@ -3,7 +3,7 @@ import $ from 'jquery';
|
|
|
import coreModule from '../core_module';
|
|
|
|
|
|
/** @ngInject */
|
|
|
-export function metricSegment($compile, $sce) {
|
|
|
+export function metricSegment($compile, $sce, templateSrv) {
|
|
|
const inputTemplate =
|
|
|
'<input type="text" data-provide="typeahead" ' +
|
|
|
' class="gf-form-input input-medium"' +
|
|
|
@@ -41,13 +41,11 @@ export function metricSegment($compile, $sce) {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- value = _.unescape(value);
|
|
|
-
|
|
|
$scope.$apply(() => {
|
|
|
const selected = _.find($scope.altSegments, { value: value });
|
|
|
if (selected) {
|
|
|
segment.value = selected.value;
|
|
|
- segment.html = selected.html || selected.value;
|
|
|
+ segment.html = selected.html || $sce.trustAsHtml(templateSrv.highlightVariablesAsHtml(selected.value));
|
|
|
segment.fake = false;
|
|
|
segment.expandable = selected.expandable;
|
|
|
|
|
|
@@ -56,7 +54,7 @@ export function metricSegment($compile, $sce) {
|
|
|
}
|
|
|
} else if (segment.custom !== 'false') {
|
|
|
segment.value = value;
|
|
|
- segment.html = $sce.trustAsHtml(value);
|
|
|
+ segment.html = $sce.trustAsHtml(templateSrv.highlightVariablesAsHtml(value));
|
|
|
segment.expandable = true;
|
|
|
segment.fake = false;
|
|
|
}
|
|
|
@@ -95,7 +93,7 @@ export function metricSegment($compile, $sce) {
|
|
|
// add custom values
|
|
|
if (segment.custom !== 'false') {
|
|
|
if (!segment.fake && _.indexOf(options, segment.value) === -1) {
|
|
|
- options.unshift(segment.value);
|
|
|
+ options.unshift(_.escape(segment.value));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -105,6 +103,7 @@ export function metricSegment($compile, $sce) {
|
|
|
};
|
|
|
|
|
|
$scope.updater = value => {
|
|
|
+ value = _.unescape(value);
|
|
|
if (value === segment.value) {
|
|
|
clearTimeout(cancelBlur);
|
|
|
$input.focus();
|