Commit 433af083 by Torkel Ödegaard

fixed persistance of alias color changes

parent 210d4d13
...@@ -10,7 +10,6 @@ ...@@ -10,7 +10,6 @@
</a> </a>
&nbsp;&nbsp; &nbsp;&nbsp;
<a class="close" ng-click="dismiss();" href="">×</a> <a class="close" ng-click="dismiss();" href="">×</a>
</div> </div>
<div class="editor-row" ng-if="func.def.params.length"> <div class="editor-row" ng-if="func.def.params.length">
......
<span ng-show="panel.legend"
ng-class="{'pull-right': series.yaxis === 2, 'hidden-series': hiddenSeries[series.alias]}"
ng-repeat='series in legend'
class="histogram-legend">
<i class='icon-circle pointer'
ng-style="{color: series.color}"
bs-popover="'colorPopup.html'"
data-unique="1"
data-placement="bottomLeft">
</i>
<span class='small histogram-legend-item'>
<a ng-click="toggleSeries(series)">
{{series.alias}}
</a>
</span>
</span>
<script type="text/ng-template" id="colorPopup.html">
<div style="width: 150px;">
<div>
<a class="close pull-right" ng-click="dismiss();" href="">×</a>
<div class="clearfix"></div>
</div>
<i ng-repeat="color in colors"
class="pointer"
ng-class="{'icon-circle-blank': color === series.color,'icon-circle': color !== series.color}"
ng-style="{color:color}"
ng-click="changeSeriesColor(series, color);dismiss();">
</i>
</div>
</script>
...@@ -50,23 +50,8 @@ ...@@ -50,23 +50,8 @@
<div histogram-chart class="pointer histogram-chart" params="{{panel}}"> <div histogram-chart class="pointer histogram-chart" params="{{panel}}">
</div> </div>
<div class="grafana-legend-container"> <div ng-if="panel.legend" class="grafana-legend-container">
<span ng-show="panel.legend" <div ng-include="'app/panels/graphite/legend.html'"></div>
ng-class="{'pull-right': series.yaxis === 2, 'hidden-series': hiddenSeries[series.alias]}"
ng-repeat='series in legend'
class="histogram-legend">
<i class='icon-circle pointer'
ng-style="{color: series.color}"
bs-popover="'app/panels/graphite/seriesColor.html'"
data-unique="1"
data-placement="bottomLeft">
</i>
<span class='small histogram-legend-item'>
<a ng-click="toggleSeries(series)">
{{series.alias}}
</a>
</span>
</span>
</div> </div>
<div class="panel-full-edit-tabs" ng-if="inEditMode"> <div class="panel-full-edit-tabs" ng-if="inEditMode">
......
...@@ -193,14 +193,15 @@ function (angular, app, $, _, kbn, moment, timeSeries) { ...@@ -193,14 +193,15 @@ function (angular, app, $, _, kbn, moment, timeSeries) {
* zerofill:: Improves the accuracy of line charts at a small performance cost. * zerofill:: Improves the accuracy of line charts at a small performance cost.
*/ */
zerofill : true, zerofill : true,
/** @scratch /panels/histogram/3
* derivative:: Show each point on the x-axis as the change from the previous point
*/
tooltip : { tooltip : {
value_type: 'cumulative', value_type: 'cumulative',
query_as_alias: true query_as_alias: true
}, },
targets: []
targets: [],
aliasColors: {}
}; };
_.defaults($scope.panel,_d); _.defaults($scope.panel,_d);
...@@ -217,7 +218,6 @@ function (angular, app, $, _, kbn, moment, timeSeries) { ...@@ -217,7 +218,6 @@ function (angular, app, $, _, kbn, moment, timeSeries) {
$scope.editor = {index: 1}; $scope.editor = {index: 1};
$scope.editorTabs = _.union(['General'],_.pluck($scope.panelMeta.fullEditorTabs,'title')); $scope.editorTabs = _.union(['General'],_.pluck($scope.panelMeta.fullEditorTabs,'title'));
$scope.hiddenSeries = {}; $scope.hiddenSeries = {};
$scope.aliasToColor = {};
// Always show the query if an alias isn't set. Users can set an alias if the query is too // Always show the query if an alias isn't set. Users can set an alias if the query is too
// long // long
$scope.panel.tooltip.query_as_alias = true; $scope.panel.tooltip.query_as_alias = true;
...@@ -335,9 +335,6 @@ function (angular, app, $, _, kbn, moment, timeSeries) { ...@@ -335,9 +335,6 @@ function (angular, app, $, _, kbn, moment, timeSeries) {
throw { message: 'no data in response from graphite' }; throw { message: 'no data in response from graphite' };
} }
//console.log('Data from graphite:', results);
//console.log('nr datapoints from graphite: %d', results[0].datapoints.length);
var tsOpts = { var tsOpts = {
interval: interval, interval: interval,
start_date: range && range.from, start_date: range && range.from,
...@@ -356,7 +353,7 @@ function (angular, app, $, _, kbn, moment, timeSeries) { ...@@ -356,7 +353,7 @@ function (angular, app, $, _, kbn, moment, timeSeries) {
var target = graphiteSrv.match($scope.panel.targets, targetData.target); var target = graphiteSrv.match($scope.panel.targets, targetData.target);
var alias = targetData.target; var alias = targetData.target;
var color = $scope.aliasToColor[alias] || $scope.colors[data.length]; var color = $scope.panel.aliasColors[alias] || $scope.colors[data.length];
var seriesInfo = { var seriesInfo = {
alias: alias, alias: alias,
...@@ -438,6 +435,12 @@ function (angular, app, $, _, kbn, moment, timeSeries) { ...@@ -438,6 +435,12 @@ function (angular, app, $, _, kbn, moment, timeSeries) {
$scope.$emit('render'); $scope.$emit('render');
}; };
$scope.changeSeriesColor = function(series, color) {
series.color = color;
$scope.panel.aliasColors[series.alias] = series.color;
$scope.render();
}
$scope.toggleFullscreen = function(evt) { $scope.toggleFullscreen = function(evt) {
if ($scope.showFullscreen) { if ($scope.showFullscreen) {
$rootScope.$emit('panel-fullscreen-exit'); $rootScope.$emit('panel-fullscreen-exit');
......
<div style="width: 150px;">
<i ng-repeat="color in colors"
class="pointer"
ng-class="{'icon-circle-blank': color === series.color,'icon-circle': color !== series.color}"
ng-style="{color:color}"
ng-click="series.color = color;render();aliasToColor[series.alias] = color;">
</i>
</div>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment