Browse Source

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

Torkel Ödegaard 9 years ago
parent
commit
918481909c
1 changed files with 9 additions and 10 deletions
  1. 9 10
      public/app/core/directives/metric_segment.js

+ 9 - 10
public/app/core/directives/metric_segment.js

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