fix(metricsegment): fixed issue with metric segment, fixes #6212

This commit is contained in:
Torkel Ödegaard 2016-10-08 10:23:30 +02:00
parent 913f17ee8a
commit 918481909c

View File

@ -43,7 +43,7 @@ function (_, $, coreModule) {
var selected = _.find($scope.altSegments, {value: value}); var selected = _.find($scope.altSegments, {value: value});
if (selected) { if (selected) {
segment.value = selected.value; segment.value = selected.value;
segment.html = selected.html; segment.html = selected.html || selected.value;
segment.fake = false; segment.fake = false;
segment.expandable = selected.expandable; segment.expandable = selected.expandable;
} }
@ -186,27 +186,26 @@ function (_, $, coreModule) {
$scope.getOptionsInternal = function() { $scope.getOptionsInternal = function() {
if ($scope.options) { if ($scope.options) {
cachedOptions = _.map($scope.options, function(option) { cachedOptions = $scope.options;
return uiSegmentSrv.newSegment({value: option.text}); return $q.when(_.map($scope.options, function(option) {
}); return {value: option.text};
return $q.when(cachedOptions); }));
} else { } else {
return $scope.getOptions().then(function(options) { return $scope.getOptions().then(function(options) {
cachedOptions =_.map(options, function(option) { cachedOptions = options;
return _.map(options, function(option) {
if (option.html) { if (option.html) {
return option; return option;
} }
return uiSegmentSrv.newSegment({value: option.text}); return {value: option.text};
}); });
return cachedOptions;
}); });
} }
}; };
$scope.onSegmentChange = function() { $scope.onSegmentChange = function() {
if (cachedOptions) { if (cachedOptions) {
var option = _.find(cachedOptions, {value: $scope.segment.value}); var option = _.find(cachedOptions, {text: $scope.segment.value});
if (option && option.value !== $scope.property) { if (option && option.value !== $scope.property) {
$scope.property = option.value; $scope.property = option.value;
} else if (attrs.custom !== 'false') { } else if (attrs.custom !== 'false') {