Commit 08ae1838 by Torkel Ödegaard

Merge branch 'master' of github.com:torkelo/grafana-private into pro

parents 97934938 c4ce5539
...@@ -4,6 +4,13 @@ ...@@ -4,6 +4,13 @@
- [Issue #1297](https://github.com/grafana/grafana/issues/1297). Graphite: Added cumulative and minimumBelow graphite functions - [Issue #1297](https://github.com/grafana/grafana/issues/1297). Graphite: Added cumulative and minimumBelow graphite functions
- [Issue #1296](https://github.com/grafana/grafana/issues/1296). InfluxDB: Auto escape column names with special characters. Thanks @steven-aerts - [Issue #1296](https://github.com/grafana/grafana/issues/1296). InfluxDB: Auto escape column names with special characters. Thanks @steven-aerts
**Fixes**
- [Issue #1298](https://github.com/grafana/grafana/issues/1298). InfluxDB: Fix handling of empty array in templating variable query
- [Issue #1309](https://github.com/grafana/grafana/issues/1309). Graph: Fixed issue when using zero as a grid threshold
**Tech**
- [Issue #1311](https://github.com/grafana/grafana/issues/1311). Tech: Updated Font-Awesome from 3.2 to 4.2
# 1.9.1 (2014-12-29) # 1.9.1 (2014-12-29)
**Enhancements** **Enhancements**
......
...@@ -19,14 +19,14 @@ function (angular, $, _) { ...@@ -19,14 +19,14 @@ function (angular, $, _) {
var template = '<div class="panel-menu small">'; var template = '<div class="panel-menu small">';
template += '<div class="panel-menu-inner">'; template += '<div class="panel-menu-inner">';
template += '<div class="panel-menu-row">'; template += '<div class="panel-menu-row">';
template += '<a class="panel-menu-icon pull-left" ng-click="updateColumnSpan(-1)"><i class="icon-minus"></i></a>'; template += '<a class="panel-menu-icon pull-left" ng-click="updateColumnSpan(-1)"><i class="fa fa-minus"></i></a>';
template += '<a class="panel-menu-icon pull-left" ng-click="updateColumnSpan(1)"><i class="icon-plus"></i></a>'; template += '<a class="panel-menu-icon pull-left" ng-click="updateColumnSpan(1)"><i class="fa fa-plus"></i></a>';
template += '<a class="panel-menu-icon pull-right" ng-click="remove_panel_from_row(row, panel)"><i class="icon-remove"></i></a>'; template += '<a class="panel-menu-icon pull-right" ng-click="remove_panel_from_row(row, panel)"><i class="fa fa-remove"></i></a>';
template += '<div class="clearfix"></div>'; template += '<div class="clearfix"></div>';
template += '</div>'; template += '</div>';
template += '<div class="panel-menu-row">'; template += '<div class="panel-menu-row">';
template += '<a class="panel-menu-link" gf-dropdown="extendedMenu"><i class="icon-th-list"></i></a>'; template += '<a class="panel-menu-link" gf-dropdown="extendedMenu"><i class="fa fa-bars"></i></a>';
_.each($scope.panelMeta.menu, function(item) { _.each($scope.panelMeta.menu, function(item) {
template += '<a class="panel-menu-link" '; template += '<a class="panel-menu-link" ';
......
...@@ -11,7 +11,7 @@ function (angular, kbn) { ...@@ -11,7 +11,7 @@ function (angular, kbn) {
return { return {
restrict: 'E', restrict: 'E',
link: function(scope, elem, attrs) { link: function(scope, elem, attrs) {
var _t = '<i class="grafana-tip icon-'+(attrs.icon||'question-sign')+'" bs-tooltip="\''+ var _t = '<i class="grafana-tip fa fa-'+(attrs.icon||'question-circle')+'" bs-tooltip="\''+
kbn.addslashes(elem.text())+'\'"></i>'; kbn.addslashes(elem.text())+'\'"></i>';
elem.replaceWith($compile(angular.element(_t))(scope)); elem.replaceWith($compile(angular.element(_t))(scope));
} }
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<div class="dashboard-editor-header"> <div class="dashboard-editor-header">
<div class="dashboard-editor-title"> <div class="dashboard-editor-title">
<i class="icon icon-bolt"></i> <i class="fa fa-bolt"></i>
Annotations Annotations
</div> </div>
...@@ -22,20 +22,20 @@ ...@@ -22,20 +22,20 @@
<table class="grafana-options-table"> <table class="grafana-options-table">
<tr ng-repeat="annotation in annotations"> <tr ng-repeat="annotation in annotations">
<td style="width:90%"> <td style="width:90%">
<i class="icon-bolt"></i> &nbsp; <i class="fa fa-bolt"></i> &nbsp;
{{annotation.name}} {{annotation.name}}
</td> </td>
<td style="width: 1%"> <td style="width: 1%">
<a ng-click="edit(annotation)" class="btn btn-success btn-mini"> <a ng-click="edit(annotation)" class="btn btn-success btn-mini">
<i class="icon-edit"></i> <i class="fa fa-edit"></i>
Edit Edit
</a> </a>
</td> </td>
<td style="width: 1%"><i ng-click="_.move(annotations,$index,$index-1)" ng-hide="$first" class="pointer icon-arrow-up"></i></td> <td style="width: 1%"><i ng-click="_.move(annotations,$index,$index-1)" ng-hide="$first" class="pointer fa fa-arrow-up"></i></td>
<td style="width: 1%"><i ng-click="_.move(annotations,$index,$index+1)" ng-hide="$last" class="pointer icon-arrow-down"></i></td> <td style="width: 1%"><i ng-click="_.move(annotations,$index,$index+1)" ng-hide="$last" class="pointer fa fa-arrow-down"></i></td>
<td style="width: 1%"> <td style="width: 1%">
<a ng-click="removeAnnotation(annotation)" class="btn btn-danger btn-mini"> <a ng-click="removeAnnotation(annotation)" class="btn btn-danger btn-mini">
<i class="icon-remove"></i> <i class="fa fa-remove"></i>
</a> </a>
</td> </td>
</tr> </tr>
......
...@@ -12,4 +12,5 @@ define([ ...@@ -12,4 +12,5 @@ define([
'./panelSrv', './panelSrv',
'./soloPanelCtrl', './soloPanelCtrl',
'./timeSrv', './timeSrv',
'./unsavedChangesSrv',
], function () {}); ], function () {});
...@@ -17,7 +17,7 @@ function (angular, app, _, $, gfunc) { ...@@ -17,7 +17,7 @@ function (angular, app, _, $, gfunc) {
var buttonTemplate = '<a class="grafana-target-segment grafana-target-function dropdown-toggle"' + var buttonTemplate = '<a class="grafana-target-segment grafana-target-function dropdown-toggle"' +
' tabindex="1" gf-dropdown="functionMenu" data-toggle="dropdown"' + ' tabindex="1" gf-dropdown="functionMenu" data-toggle="dropdown"' +
' data-placement="top"><i class="icon-plus"></i></a>'; ' data-placement="top"><i class="fa fa-plus"></i></a>';
return { return {
link: function($scope, elem) { link: function($scope, elem) {
......
...@@ -16,10 +16,10 @@ function (angular, _, $) { ...@@ -16,10 +16,10 @@ function (angular, _, $) {
var funcControlsTemplate = var funcControlsTemplate =
'<div class="graphite-func-controls">' + '<div class="graphite-func-controls">' +
'<span class="pointer icon-arrow-left"></span>' + '<span class="pointer fa fa-arrow-left"></span>' +
'<span class="pointer icon-info-sign"></span>' + '<span class="pointer fa fa-question-circle"></span>' +
'<span class="pointer icon-remove" ></span>' + '<span class="pointer fa fa-remove" ></span>' +
'<span class="pointer icon-arrow-right"></span>' + '<span class="pointer fa fa-arrow-right"></span>' +
'</div>'; '</div>';
return { return {
...@@ -195,7 +195,7 @@ function (angular, _, $) { ...@@ -195,7 +195,7 @@ function (angular, _, $) {
function registerFuncControlsActions() { function registerFuncControlsActions() {
$funcControls.click(function(e) { $funcControls.click(function(e) {
var $target = $(e.target); var $target = $(e.target);
if ($target.hasClass('icon-remove')) { if ($target.hasClass('fa-remove')) {
toggleFuncControls(); toggleFuncControls();
$scope.$apply(function() { $scope.$apply(function() {
$scope.removeFunction($scope.func); $scope.removeFunction($scope.func);
...@@ -203,7 +203,7 @@ function (angular, _, $) { ...@@ -203,7 +203,7 @@ function (angular, _, $) {
return; return;
} }
if ($target.hasClass('icon-arrow-left')) { if ($target.hasClass('fa-arrow-left')) {
$scope.$apply(function() { $scope.$apply(function() {
_.move($scope.functions, $scope.$index, $scope.$index - 1); _.move($scope.functions, $scope.$index, $scope.$index - 1);
$scope.targetChanged(); $scope.targetChanged();
...@@ -211,7 +211,7 @@ function (angular, _, $) { ...@@ -211,7 +211,7 @@ function (angular, _, $) {
return; return;
} }
if ($target.hasClass('icon-arrow-right')) { if ($target.hasClass('fa-arrow-right')) {
$scope.$apply(function() { $scope.$apply(function() {
_.move($scope.functions, $scope.$index, $scope.$index + 1); _.move($scope.functions, $scope.$index, $scope.$index + 1);
$scope.targetChanged(); $scope.targetChanged();
...@@ -219,7 +219,7 @@ function (angular, _, $) { ...@@ -219,7 +219,7 @@ function (angular, _, $) {
return; return;
} }
if ($target.hasClass('icon-info-sign')) { if ($target.hasClass('fa-question-circle')) {
window.open("http://graphite.readthedocs.org/en/latest/functions.html#graphite.render.functions." + funcDef.name,'_blank'); window.open("http://graphite.readthedocs.org/en/latest/functions.html#graphite.render.functions." + funcDef.name,'_blank');
return; return;
} }
......
...@@ -10,19 +10,19 @@ ...@@ -10,19 +10,19 @@
<ul class="grafana-target-controls"> <ul class="grafana-target-controls">
<li ng-show="parserError"> <li ng-show="parserError">
<a bs-tooltip="parserError" style="color: rgb(229, 189, 28)" role="menuitem"> <a bs-tooltip="parserError" style="color: rgb(229, 189, 28)" role="menuitem">
<i class="icon icon-warning-sign"></i> <i class="fa fa-warning"></i>
</a> </a>
</li> </li>
<li> <li>
<a class="pointer" tabindex="1" ng-click="showTextEditor = !showTextEditor"> <a class="pointer" tabindex="1" ng-click="showTextEditor = !showTextEditor">
<i class="icon icon-pencil"></i> <i class="fa fa-pencil"></i>
</a> </a>
</li> </li>
<li class="dropdown"> <li class="dropdown">
<a class="pointer dropdown-toggle" <a class="pointer dropdown-toggle"
data-toggle="dropdown" data-toggle="dropdown"
tabindex="1"> tabindex="1">
<i class="icon icon-cog"></i> <i class="fa fa-bars"></i>
</a> </a>
<ul class="dropdown-menu pull-right" role="menu"> <ul class="dropdown-menu pull-right" role="menu">
<li role="menuitem"> <li role="menuitem">
...@@ -47,7 +47,7 @@ ...@@ -47,7 +47,7 @@
</li> </li>
<li> <li>
<a class="pointer" tabindex="1" ng-click="removeDataQuery(target)"> <a class="pointer" tabindex="1" ng-click="removeDataQuery(target)">
<i class="icon icon-remove"></i> <i class="fa fa-remove"></i>
</a> </a>
</li> </li>
</ul> </ul>
...@@ -60,7 +60,7 @@ ...@@ -60,7 +60,7 @@
<a class="grafana-target-segment" <a class="grafana-target-segment"
ng-click="target.hide = !target.hide; get_data();" ng-click="target.hide = !target.hide; get_data();"
role="menuitem"> role="menuitem">
<i class="icon-eye-open"></i> <i class="fa fa-eye"></i>
</a> </a>
</li> </li>
</ul> </ul>
...@@ -93,7 +93,7 @@ ...@@ -93,7 +93,7 @@
<div class="grafana-target-inner"> <div class="grafana-target-inner">
<ul class="grafana-segment-list"> <ul class="grafana-segment-list">
<li class="grafana-target-segment grafana-target-segment-icon"> <li class="grafana-target-segment grafana-target-segment-icon">
<i class="icon-wrench"></i> <i class="fa fa-wrench"></i>
</li> </li>
<li class="grafana-target-segment"> <li class="grafana-target-segment">
Cache timeout Cache timeout
...@@ -126,7 +126,7 @@ ...@@ -126,7 +126,7 @@
<div class="grafana-target-inner"> <div class="grafana-target-inner">
<ul class="grafana-segment-list"> <ul class="grafana-segment-list">
<li class="grafana-target-segment grafana-target-segment-icon"> <li class="grafana-target-segment grafana-target-segment-icon">
<i class="icon-info-sign"></i> <i class="fa fa-info-circle"></i>
</li> </li>
<li class="grafana-target-segment"> <li class="grafana-target-segment">
<a ng-click="toggleEditorHelp(1);" bs-tooltip="'click to show helpful info'" data-placement="bottom"> <a ng-click="toggleEditorHelp(1);" bs-tooltip="'click to show helpful info'" data-placement="bottom">
......
...@@ -117,6 +117,8 @@ function (angular, _, kbn, InfluxSeries, InfluxQueryBuilder) { ...@@ -117,6 +117,8 @@ function (angular, _, kbn, InfluxSeries, InfluxQueryBuilder) {
return this._seriesQuery(interpolated) return this._seriesQuery(interpolated)
.then(function (results) { .then(function (results) {
if (!results || results.length === 0) { return []; }
return _.map(results[0].points, function (metric) { return _.map(results[0].points, function (metric) {
return { return {
text: metric[1], text: metric[1],
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
<a class="pointer dropdown-toggle" <a class="pointer dropdown-toggle"
data-toggle="dropdown" data-toggle="dropdown"
tabindex="1"> tabindex="1">
<i class="icon icon-cog"></i> <i class="fa fa-bars"></i>
</a> </a>
<ul class="dropdown-menu pull-right" role="menu"> <ul class="dropdown-menu pull-right" role="menu">
<li role="menuitem"><a tabindex="1" ng-click="duplicate()">Duplicate</a></li> <li role="menuitem"><a tabindex="1" ng-click="duplicate()">Duplicate</a></li>
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
</li> </li>
<li> <li>
<a class="pointer" tabindex="1" ng-click="removeDataQuery(target)"> <a class="pointer" tabindex="1" ng-click="removeDataQuery(target)">
<i class="icon icon-remove"></i> <i class="fa fa-remove"></i>
</a> </a>
</li> </li>
</ul> </ul>
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
<ul class="grafana-segment-list"> <ul class="grafana-segment-list">
<li> <li>
<a class="grafana-target-segment" ng-click="target.hide = !target.hide; get_data();" role="menuitem"> <a class="grafana-target-segment" ng-click="target.hide = !target.hide; get_data();" role="menuitem">
<i class="icon-eye-open"></i> <i class="fa fa-eye"></i>
</a> </a>
</li> </li>
</ul> </ul>
...@@ -89,7 +89,7 @@ ...@@ -89,7 +89,7 @@
<!-- Raw Query mode --> <!-- Raw Query mode -->
<ul class="grafana-segment-list" ng-show="target.rawQuery"> <ul class="grafana-segment-list" ng-show="target.rawQuery">
<li class="grafana-target-segment"> <li class="grafana-target-segment">
<i class="icon-eye-open invisible"></i> <i class="fa eye invisible"></i>
</li> </li>
<li class="grafana-target-segment"> <li class="grafana-target-segment">
alias alias
...@@ -116,7 +116,7 @@ ...@@ -116,7 +116,7 @@
<!-- Query editor mode --> <!-- Query editor mode -->
<ul class="grafana-segment-list" role="menu" ng-hide="target.rawQuery"> <ul class="grafana-segment-list" role="menu" ng-hide="target.rawQuery">
<li class="grafana-target-segment"> <li class="grafana-target-segment">
<i class="icon-eye-open invisible"></i> <i class="fa fa-eye invisible"></i>
</li> </li>
<li class="grafana-target-segment"> <li class="grafana-target-segment">
select select
...@@ -145,7 +145,7 @@ ...@@ -145,7 +145,7 @@
</li> </li>
<li class="grafana-target-segment"> <li class="grafana-target-segment">
<i class="icon-plus"></i> <i class="fa fa-plus"></i>
</li> </li>
<li> <li>
...@@ -184,7 +184,7 @@ ...@@ -184,7 +184,7 @@
<div class="grafana-target-inner"> <div class="grafana-target-inner">
<ul class="grafana-segment-list"> <ul class="grafana-segment-list">
<li class="grafana-target-segment grafana-target-segment-icon"> <li class="grafana-target-segment grafana-target-segment-icon">
<i class="icon-wrench"></i> <i class="fa fa-wrench"></i>
</li> </li>
<li class="grafana-target-segment"> <li class="grafana-target-segment">
group by time group by time
...@@ -194,7 +194,7 @@ ...@@ -194,7 +194,7 @@
spellcheck='false' placeholder="example: >10s"> spellcheck='false' placeholder="example: >10s">
</li> </li>
<li class="grafana-target-segment"> <li class="grafana-target-segment">
<i class="icon-question-sign" bs-tooltip="'Set a low limit by having a greater sign: example: >60s'" data-placement="right"></i> <i class="fa fa-question-circle" bs-tooltip="'Set a low limit by having a greater sign: example: >60s'" data-placement="right"></i>
</li> </li>
</ul> </ul>
<div class="clearfix"></div> <div class="clearfix"></div>
...@@ -203,7 +203,7 @@ ...@@ -203,7 +203,7 @@
<div class="grafana-target-inner"> <div class="grafana-target-inner">
<ul class="grafana-segment-list"> <ul class="grafana-segment-list">
<li class="grafana-target-segment grafana-target-segment-icon"> <li class="grafana-target-segment grafana-target-segment-icon">
<i class="icon-info-sign"></i> <i class="fa fa-info-circle"></i>
</li> </li>
<li class="grafana-target-segment"> <li class="grafana-target-segment">
<a ng-click="toggleEditorHelp(1);" bs-tooltip="'click to show helpful info'" data-placement="bottom"> <a ng-click="toggleEditorHelp(1);" bs-tooltip="'click to show helpful info'" data-placement="bottom">
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
<a class="pointer dropdown-toggle" <a class="pointer dropdown-toggle"
data-toggle="dropdown" data-toggle="dropdown"
tabindex="1"> tabindex="1">
<i class="icon icon-cog"></i> <i class="fa fa-bars"></i>
</a> </a>
<ul class="dropdown-menu pull-right" role="menu"> <ul class="dropdown-menu pull-right" role="menu">
<li role="menuitem"> <li role="menuitem">
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
</li> </li>
<li> <li>
<a class="pointer" tabindex="1" ng-click="removeDataQuery(target)"> <a class="pointer" tabindex="1" ng-click="removeDataQuery(target)">
<i class="icon icon-remove"></i> <i class="fa fa-remove"></i>
</a> </a>
</li> </li>
</ul> </ul>
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
<a class="grafana-target-segment" <a class="grafana-target-segment"
ng-click="target.hide = !target.hide; get_data();" ng-click="target.hide = !target.hide; get_data();"
role="menuitem"> role="menuitem">
<i class="icon-eye-open"></i> <i class="fa fa-eye"></i>
</a> </a>
</li> </li>
</ul> </ul>
...@@ -54,7 +54,7 @@ ...@@ -54,7 +54,7 @@
<a bs-tooltip="target.errors.metric" <a bs-tooltip="target.errors.metric"
style="color: rgb(229, 189, 28)" style="color: rgb(229, 189, 28)"
ng-show="target.errors.metric"> ng-show="target.errors.metric">
<i class="icon-warning-sign"></i> <i class="fa fa-warning"></i>
</a> </a>
</li> </li>
<li class="grafana-target-segment"> <li class="grafana-target-segment">
...@@ -69,7 +69,7 @@ ...@@ -69,7 +69,7 @@
<a bs-tooltip="target.errors.aggregator" <a bs-tooltip="target.errors.aggregator"
style="color: rgb(229, 189, 28)" style="color: rgb(229, 189, 28)"
ng-show="target.errors.aggregator"> ng-show="target.errors.aggregator">
<i class="icon-warning-sign"></i> <i class="fa fa-warning"></i>
</a> </a>
</li> </li>
...@@ -174,13 +174,13 @@ ...@@ -174,13 +174,13 @@
<li ng-repeat="(key, value) in target.tags track by $index" class="grafana-target-segment"> <li ng-repeat="(key, value) in target.tags track by $index" class="grafana-target-segment">
{{key}}&nbsp;=&nbsp;{{value}} {{key}}&nbsp;=&nbsp;{{value}}
<a ng-click="removeTag(key)"> <a ng-click="removeTag(key)">
<i class="icon-remove"></i> <i class="fa fa-remove"></i>
</a> </a>
</li> </li>
<li class="grafana-target-segment" ng-hide="addTagMode"> <li class="grafana-target-segment" ng-hide="addTagMode">
<a ng-click="addTag()"> <a ng-click="addTag()">
<i class="icon-plus-sign"></i> <i class="fa fa-plus"></i>
</a> </a>
</li> </li>
...@@ -200,12 +200,12 @@ ...@@ -200,12 +200,12 @@
ng-model="target.currentTagValue" ng-model="target.currentTagValue"
placeholder="value"> placeholder="value">
<a ng-click="addTag()"> <a ng-click="addTag()">
<i class="icon-plus-sign"></i> <i class="fa fa-plus"></i>
</a> </a>
<a bs-tooltip="target.errors.tags" <a bs-tooltip="target.errors.tags"
style="color: rgb(229, 189, 28)" style="color: rgb(229, 189, 28)"
ng-show="target.errors.tags"> ng-show="target.errors.tags">
<i class="icon-warning-sign"></i> <i class="fa fa-warning"></i>
</a> </a>
</li> </li>
</ul> </ul>
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<div class="grafana-target-inner"> <div class="grafana-target-inner">
<ul class="grafana-segment-list"> <ul class="grafana-segment-list">
<li class="grafana-target-segment"> <li class="grafana-target-segment">
<i class="icon-remove pointer" ng-click="deleteLink(link)"></i> <i class="fa fa-remove pointer" ng-click="deleteLink(link)"></i>
</li> </li>
<li class="grafana-target-segment">title</li> <li class="grafana-target-segment">title</li>
......
...@@ -7,11 +7,11 @@ ...@@ -7,11 +7,11 @@
<select class="input-small" ng-model="panel.y_formats[0]" ng-options="f for f in ['none','short','bytes', 'bits', 'bps', 's', 'ms', 'µs', 'ns', 'percent']" ng-change="render()"></select> <select class="input-small" ng-model="panel.y_formats[0]" ng-options="f for f in ['none','short','bytes', 'bits', 'bps', 's', 'ms', 'µs', 'ns', 'percent']" ng-change="render()"></select>
</div> </div>
<div class="editor-option"> <div class="editor-option">
<label class="small">Min / <a ng-click="toggleGridMinMax('leftMin')">Auto <i class="icon-star" ng-show="_.isNull(panel.grid.leftMin)"></i></a></label> <label class="small">Min / <a ng-click="toggleGridMinMax('leftMin')">Auto <i class="fa fa-star" ng-show="_.isNull(panel.grid.leftMin)"></i></a></label>
<input type="number" class="input-small" ng-model="panel.grid.leftMin" ng-change="render()" ng-model-onblur /> <input type="number" class="input-small" ng-model="panel.grid.leftMin" ng-change="render()" ng-model-onblur />
</div> </div>
<div class="editor-option"> <div class="editor-option">
<label class="small">Max / <a ng-click="toggleGridMinMax('leftMax')">Auto <i class="icon-star" ng-show="_.isNull(panel.grid.leftMax)"></i></a></label> <label class="small">Max / <a ng-click="toggleGridMinMax('leftMax')">Auto <i class="fa fa-star" ng-show="_.isNull(panel.grid.leftMax)"></i></a></label>
<input type="number" class="input-small" ng-model="panel.grid.leftMax" ng-change="render()" ng-model-onblur /> <input type="number" class="input-small" ng-model="panel.grid.leftMax" ng-change="render()" ng-model-onblur />
</div> </div>
<div class="editor-option"> <div class="editor-option">
...@@ -26,11 +26,11 @@ ...@@ -26,11 +26,11 @@
<select class="input-small" ng-model="panel.y_formats[1]" ng-options="f for f in ['none','short','bytes', 'bits', 'bps', 's', 'ms', 'µs', 'ns', 'percent']" ng-change="render()"></select> <select class="input-small" ng-model="panel.y_formats[1]" ng-options="f for f in ['none','short','bytes', 'bits', 'bps', 's', 'ms', 'µs', 'ns', 'percent']" ng-change="render()"></select>
</div> </div>
<div class="editor-option"> <div class="editor-option">
<label class="small">Min / <a ng-click="toggleGridMinMax('rightMin')">Auto <i class="icon-star" ng-show="_.isNull(panel.grid.rightMin)"></i></a></label> <label class="small">Min / <a ng-click="toggleGridMinMax('rightMin')">Auto <i class="fa fa-star" ng-show="_.isNull(panel.grid.rightMin)"></i></a></label>
<input type="number" class="input-small" ng-model="panel.grid.rightMin" ng-change="render()" ng-model-onblur /> <input type="number" class="input-small" ng-model="panel.grid.rightMin" ng-change="render()" ng-model-onblur />
</div> </div>
<div class="editor-option"> <div class="editor-option">
<label class="small">Max / <a ng-click="toggleGridMinMax('rightMax')">Auto <i class="icon-star" ng-show="_.isNull(panel.grid.rightMax)"></i></a></label> <label class="small">Max / <a ng-click="toggleGridMinMax('rightMax')">Auto <i class="fa fa-star" ng-show="_.isNull(panel.grid.rightMax)"></i></a></label>
<input type="number" class="input-small" ng-model="panel.grid.rightMax" ng-change="render()" ng-model-onblur /> <input type="number" class="input-small" ng-model="panel.grid.rightMax" ng-change="render()" ng-model-onblur />
</div> </div>
</div> </div>
......
...@@ -260,14 +260,14 @@ function (angular, $, kbn, moment, _, GraphTooltip) { ...@@ -260,14 +260,14 @@ function (angular, $, kbn, moment, _, GraphTooltip) {
} }
function addGridThresholds(options, panel) { function addGridThresholds(options, panel) {
if (panel.grid.threshold1) { if (_.isNumber(panel.grid.threshold1)) {
var limit1 = panel.grid.thresholdLine ? panel.grid.threshold1 : (panel.grid.threshold2 || null); var limit1 = panel.grid.thresholdLine ? panel.grid.threshold1 : (panel.grid.threshold2 || null);
options.grid.markings.push({ options.grid.markings.push({
yaxis: { from: panel.grid.threshold1, to: limit1 }, yaxis: { from: panel.grid.threshold1, to: limit1 },
color: panel.grid.threshold1Color color: panel.grid.threshold1Color
}); });
if (panel.grid.threshold2) { if (_.isNumber(panel.grid.threshold2)) {
var limit2; var limit2;
if (panel.grid.thresholdLine) { if (panel.grid.thresholdLine) {
limit2 = panel.grid.threshold2; limit2 = panel.grid.threshold2;
......
...@@ -78,7 +78,7 @@ function (angular, app, _, kbn, $) { ...@@ -78,7 +78,7 @@ function (angular, app, _, kbn, $) {
var html = '<th class="pointer" data-stat="' + statName + '">' + statName; var html = '<th class="pointer" data-stat="' + statName + '">' + statName;
if (panel.legend.sort === statName) { if (panel.legend.sort === statName) {
var cssClass = panel.legend.sortDesc ? 'icon-caret-down' : 'icon-caret-up' ; var cssClass = panel.legend.sortDesc ? 'fa fa-caret-down' : 'fa-caret-up' ;
html += ' <span class="' + cssClass + '"></span>'; html += ' <span class="' + cssClass + '"></span>';
} }
...@@ -136,7 +136,7 @@ function (angular, app, _, kbn, $) { ...@@ -136,7 +136,7 @@ function (angular, app, _, kbn, $) {
if (scope.hiddenSeries[series.alias]) { html += ' graph-legend-series-hidden'; } if (scope.hiddenSeries[series.alias]) { html += ' graph-legend-series-hidden'; }
html += '" data-series-index="' + i + '">'; html += '" data-series-index="' + i + '">';
html += '<div class="graph-legend-icon">'; html += '<div class="graph-legend-icon">';
html += '<i class="icon-minus pointer" style="color:' + series.color + '"></i>'; html += '<i class="fa fa-minus pointer" style="color:' + series.color + '"></i>';
html += '</div>'; html += '</div>';
html += '<div class="graph-legend-alias">'; html += '<div class="graph-legend-alias">';
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
<div class="editor-row"> <div class="editor-row">
<i ng-repeat="color in colors" <i ng-repeat="color in colors"
class="pointer" class="pointer"
ng-class="{'icon-circle-blank': color === series.color,'icon-circle': color !== series.color}" ng-class="{'fa fa-circle-o': color === series.color,'fa fa-circle': color !== series.color}"
ng-style="{color:color}" ng-style="{color:color}"
ng-click="changeSeriesColor(series, color);dismiss();">&nbsp;</i> ng-click="changeSeriesColor(series, color);dismiss();">&nbsp;</i>
</div> </div>
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
<div style="margin-top: 30px" ng-if="editMode"> <div style="margin-top: 30px" ng-if="editMode">
<div class="dashboard-editor-header"> <div class="dashboard-editor-header">
<div class="dashboard-editor-title"> <div class="dashboard-editor-title">
<i class="icon icon-bar-chart"></i> <i class="fa fa-bar-chart"></i>
Graph Graph
</div> </div>
......
...@@ -70,7 +70,7 @@ ...@@ -70,7 +70,7 @@
<div class="grafana-target-inner"> <div class="grafana-target-inner">
<ul class="grafana-segment-list"> <ul class="grafana-segment-list">
<li class="grafana-target-segment"> <li class="grafana-target-segment">
<i class="icon-remove pointer" ng-click="removeSeriesOverride(override)"></i> <i class="fa fa-remove pointer" ng-click="removeSeriesOverride(override)"></i>
</li> </li>
<li class="grafana-target-segment"> <li class="grafana-target-segment">
...@@ -85,7 +85,7 @@ ...@@ -85,7 +85,7 @@
class="input-medium grafana-target-segment-input" > class="input-medium grafana-target-segment-input" >
</li> </li>
<li class="grafana-target-segment" ng-repeat="option in currentOverrides"> <li class="grafana-target-segment" ng-repeat="option in currentOverrides">
<i class="pointer icon-remove" ng-click="removeOverride(option)"></i> <i class="pointer fa fa-remove" ng-click="removeOverride(option)"></i>
{{option.name}}: {{option.value}} {{option.name}}: {{option.value}}
</li> </li>
......
...@@ -86,14 +86,14 @@ ...@@ -86,14 +86,14 @@
<div class="grafana-target-inner"> <div class="grafana-target-inner">
<ul class="grafana-segment-list"> <ul class="grafana-segment-list">
<li class="grafana-target-segment" ng-repeat-start="map in panel.valueMaps"> <li class="grafana-target-segment" ng-repeat-start="map in panel.valueMaps">
<i class="icon-remove pointer" ng-click="removeValueMap(map)"></i> <i class="fa fa-remove pointer" ng-click="removeValueMap(map)"></i>
</li> </li>
<li> <li>
<input type="text" ng-model="map.value" placeholder="value" class="input-mini grafana-target-segment-input" ng-blur="render()"> <input type="text" ng-model="map.value" placeholder="value" class="input-mini grafana-target-segment-input" ng-blur="render()">
</li> </li>
<li class="grafana-target-segment"> <li class="grafana-target-segment">
<i class="icon-arrow-right"></i> <i class="fa fa-arrow-right"></i>
</li> </li>
<li ng-repeat-end> <li ng-repeat-end>
<input type="text" placeholder="text" ng-model="map.text" class="input-mini grafana-target-segment-input" ng-blur="render()"> <input type="text" placeholder="text" ng-model="map.text" class="input-mini grafana-target-segment-input" ng-blur="render()">
...@@ -101,7 +101,7 @@ ...@@ -101,7 +101,7 @@
<li> <li>
<a class="pointer grafana-target-segment" ng-click="addValueMap();"> <a class="pointer grafana-target-segment" ng-click="addValueMap();">
<i class="icon-plus"></i> <i class="fa fa-plus"></i>
</a> </a>
</li> </li>
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<div style="margin-top: 30px" ng-if="editMode"> <div style="margin-top: 30px" ng-if="editMode">
<div class="dashboard-editor-header"> <div class="dashboard-editor-header">
<div class="dashboard-editor-title"> <div class="dashboard-editor-title">
<i class="icon icon-dashboard"></i> <i class="fa fa-dashboard"></i>
Singlestat Singlestat
</div> </div>
......
<div class="dashboard-editor-header"> <div class="dashboard-editor-header">
<div class="dashboard-editor-title"> <div class="dashboard-editor-title">
<i class="icon icon-calendar-empty"></i> <i class="fa fa-clock-o"></i>
Custom time range Custom time range
</div> </div>
</div> </div>
...@@ -56,7 +56,7 @@ ...@@ -56,7 +56,7 @@
<div class="timepicker-to-column"> <div class="timepicker-to-column">
<label class="small">To (<a class="link" ng-class="{'strong':temptime.now}" ng-click="setNow();temptime.now=true">now</a>)</label> <label class="small">To (<a class="link" ng-class="{'strong':temptime.now}" ng-click="setNow();temptime.now=true">set now</a>)</label>
<div class="fake-input timepicker-input"> <div class="fake-input timepicker-input">
<div ng-hide="temptime.now"> <div ng-hide="temptime.now">
...@@ -66,7 +66,7 @@ ...@@ -66,7 +66,7 @@
<input class="timepicker-hms" type="text" maxlength="2" ng-change="validate(temptime)" ng-model="temptime.to.second" required ng-pattern="patterns.second" onClick="this.select();"/>. <input class="timepicker-hms" type="text" maxlength="2" ng-change="validate(temptime)" ng-model="temptime.to.second" required ng-pattern="patterns.second" onClick="this.select();"/>.
<input class="timepicker-ms" type="text" maxlength="3" ng-change="validate(temptime)" ng-model="temptime.to.millisecond" required ng-pattern="patterns.millisecond" onClick="this.select();"/> <input class="timepicker-ms" type="text" maxlength="3" ng-change="validate(temptime)" ng-model="temptime.to.millisecond" required ng-pattern="patterns.millisecond" onClick="this.select();"/>
</div> </div>
<span type="text" ng-show="temptime.now" ng-disabled="temptime.now">&nbsp <i class="pointer icon-remove-sign" ng-click="setNow();temptime.now=false;"></i> Right Now <input type="text" name="dummy" style="visibility:hidden" /></span> <span type="text" ng-show="temptime.now" ng-disabled="temptime.now">&nbsp <i class="pointer fa fa-remove" ng-click="setNow();temptime.now=false;"></i> Right Now <input type="text" name="dummy" style="visibility:hidden" /></span>
</div> </div>
</div> </div>
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
<p> <p>
<br> <br>
<i class="icon-info-sign"></i> <i class="fa fa-info-circle"></i>
For these changes to fully take effect save and reload the dashboard. For these changes to fully take effect save and reload the dashboard.
</i> </i>
</div> </div>
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
<a class="dropdown-toggle timepicker-dropdown" data-toggle="dropdown" href="" bs-tooltip="time.tooltip" data-placement="bottom" ng-click="dismiss();"> <a class="dropdown-toggle timepicker-dropdown" data-toggle="dropdown" href="" bs-tooltip="time.tooltip" data-placement="bottom" ng-click="dismiss();">
<span ng-bind="time.rangeString"></span> <span ng-bind="time.rangeString"></span>
<span ng-show="dashboard.refresh" class="text-warning">refreshed every {{dashboard.refresh}} </span> <span ng-show="dashboard.refresh" class="text-warning">refreshed every {{dashboard.refresh}} </span>
<i class="icon-caret-down"></i> <i class="fa fa-caret-down"></i>
</a> </a>
<ul class="dropdown-menu"> <ul class="dropdown-menu">
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
</li> </li>
<li ng-show="!dashboard.refresh" class="grafana-menu-refresh"> <li ng-show="!dashboard.refresh" class="grafana-menu-refresh">
<a ng-click="timeSrv.refreshDashboard()"><i class="icon-refresh"></i></a> <a ng-click="timeSrv.refreshDashboard()"><i class="fa fa-refresh"></i></a>
</li> </li>
</ul> </ul>
</form> </form>
......
<form name="refreshPopover" class='form-inline input-append' style="margin:0px">
<label><small>Interval (seconds)</small></label><br>
<input type="number" class="input-mini" ng-model="refresh_interval">
<button type="button" class="btn" ng-click="set_interval(refresh_interval);dismiss()"><i class="icon-ok"></i></button>
</form>
\ No newline at end of file
<div class="modal-body"> <div class="modal-body">
<div class="dashboard-editor-header"> <div class="dashboard-editor-header">
<div class="dashboard-editor-title"> <div class="dashboard-editor-title">
<i class="icon icon-ok"></i> <i class="fa fa-check"></i>
{{title}} {{title}}
</div> </div>
</div> </div>
......
<div class="grafana-console" ng-controller="ConsoleCtrl"> <div class="grafana-console" ng-controller="ConsoleCtrl">
<div class="grafana-console-header"> <div class="grafana-console-header">
<span class="grafana-console-title large"><i class="icon-terminal"></i></span> <span class="grafana-console-title large"><i class="fa fa-terminal"></i></span>
</div> </div>
<div class="grafana-console-body"> <div class="grafana-console-body">
<div class="grafana-console-item" ng-repeat="item in events" ng-class="{'grafana-console-error': item.error}"> <div class="grafana-console-item" ng-repeat="item in events" ng-class="{'grafana-console-error': item.error}">
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
<div class="row-close" ng-show="row.collapse" data-placement="bottom" > <div class="row-close" ng-show="row.collapse" data-placement="bottom" >
<div class="row-close-buttons"> <div class="row-close-buttons">
<span class="row-button bgPrimary" ng-click="toggle_row(row)"> <span class="row-button bgPrimary" ng-click="toggle_row(row)">
<i bs-tooltip="'Expand row'" data-placement="right" class="icon-caret-left pointer" ></i> <i bs-tooltip="'Expand row'" data-placement="right" class="fa fa-caret-left pointer" ></i>
</span> </span>
</div> </div>
<div class="row-text pointer" ng-click="toggle_row(row)" ng-bind="row.title"></div> <div class="row-text pointer" ng-click="toggle_row(row)" ng-bind="row.title"></div>
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
<div class="row-open" ng-show="!row.collapse"> <div class="row-open" ng-show="!row.collapse">
<div class='row-tab bgSuccess dropdown' ng-show="row.editable"> <div class='row-tab bgSuccess dropdown' ng-show="row.editable">
<span class="row-tab-button dropdown-toggle" data-toggle="dropdown"> <span class="row-tab-button dropdown-toggle" data-toggle="dropdown">
<i class="icon-th-list"></i> <i class="fa fa-bars"></i>
</span> </span>
<ul class="dropdown-menu dropdown-menu-right" role="menu" aria-labelledby="drop1"> <ul class="dropdown-menu dropdown-menu-right" role="menu" aria-labelledby="drop1">
<li> <li>
...@@ -105,7 +105,7 @@ ...@@ -105,7 +105,7 @@
<div ng-show='dashboard.editable' class="row-fluid add-row-panel-hint"> <div ng-show='dashboard.editable' class="row-fluid add-row-panel-hint">
<div class="span12" style="text-align:right;"> <div class="span12" style="text-align:right;">
<span style="margin-right: 10px;" ng-click="add_row_default()" class="pointer btn btn-info btn-mini"> <span style="margin-right: 10px;" ng-click="add_row_default()" class="pointer btn btn-info btn-mini">
<span><i class="icon-plus-sign"></i> ADD A ROW</span> <span><i class="fa fa-plus"></i> ADD ROW</span>
</span> </span>
</div> </div>
</div> </div>
......
...@@ -23,14 +23,14 @@ ...@@ -23,14 +23,14 @@
<li class="dropdown grafana-menu-save"> <li class="dropdown grafana-menu-save">
<a bs-tooltip="'Save'" data-placement="bottom" class="dropdown-toggle" data-toggle="dropdown" ng-click="openSaveDropdown()"> <a bs-tooltip="'Save'" data-placement="bottom" class="dropdown-toggle" data-toggle="dropdown" ng-click="openSaveDropdown()">
<i class='icon-save'></i> <i class='fa fa-save'></i>
</a> </a>
<ul class="save-dashboard-dropdown dropdown-menu" ng-if="saveDropdownOpened"> <ul class="save-dashboard-dropdown dropdown-menu" ng-if="saveDropdownOpened">
<li> <li>
<form class="input-prepend nomargin save-dashboard-dropdown-save-form"> <form class="input-prepend nomargin save-dashboard-dropdown-save-form">
<input class='input-medium' ng-model="dashboard.title" type="text" /> <input class='input-medium' ng-model="dashboard.title" type="text" />
<button class="btn" ng-click="saveDashboard()"><i class="icon-save"></i></button> <button class="btn" ng-click="saveDashboard()"><i class="fa fa-save"></i></button>
</form> </form>
</li> </li>
...@@ -61,14 +61,14 @@ ...@@ -61,14 +61,14 @@
</li> </li>
<li class="dropdown grafana-menu-load"> <li class="dropdown grafana-menu-load">
<a bs-tooltip="'Search'" ng-click="openSearch()"> <a ng-click="openSearch()" bs-tooltip="'Search'" data-placement="bottom">
<i class='icon-folder-open'></i> <i class='fa fa-folder-open'></i>
</a> </a>
</li> </li>
<li class="grafana-menu-home"><a bs-tooltip="'Goto saved default'" data-placement="bottom" href='#/'><i class='icon-home'></i></a></li> <li class="grafana-menu-home"><a bs-tooltip="'Goto saved default'" data-placement="bottom" href='#/'><i class='fa fa-home'></i></a></li>
<li class="grafana-menu-edit" ng-show="dashboard.editable" bs-tooltip="'Configure dashboard'" data-placement="bottom"><a class="link" dash-editor-link="app/partials/dasheditor.html"><i class='icon-cog pointer'></i></a></li> <li class="grafana-menu-edit" ng-show="dashboard.editable" bs-tooltip="'Configure dashboard'" data-placement="bottom"><a class="link" dash-editor-link="app/partials/dasheditor.html"><i class='fa fa-cog pointer'></i></a></li>
<li class="grafana-menu-stop-playlist hide"> <li class="grafana-menu-stop-playlist hide">
<a class='small' ng-click='stopPlaylist(2)'> <a class='small' ng-click='stopPlaylist(2)'>
......
<div class="dashboard-editor-header"> <div class="dashboard-editor-header">
<div class="dashboard-editor-title"> <div class="dashboard-editor-title">
<i class="icon icon-cogs"></i> <i class="fa fa-cogs"></i>
Dashboard settings Dashboard settings
</div> </div>
...@@ -51,11 +51,11 @@ ...@@ -51,11 +51,11 @@
<td style="width: 97%"> <td style="width: 97%">
{{row.title}} {{row.title}}
</td> </td>
<td><i ng-click="_.move(dashboard.rows,$index,$index-1)" ng-hide="$first" class="pointer icon-arrow-up"></i></td> <td><i ng-click="_.move(dashboard.rows,$index,$index-1)" ng-hide="$first" class="pointer fa fa-arrow-up"></i></td>
<td><i ng-click="_.move(dashboard.rows,$index,$index+1)" ng-hide="$last" class="pointer icon-arrow-down"></i></td> <td><i ng-click="_.move(dashboard.rows,$index,$index+1)" ng-hide="$last" class="pointer fa fa-arrow-down"></i></td>
<td> <td>
<a ng-click="dashboard.rows = _.without(dashboard.rows,row)" class="btn btn-danger btn-mini"> <a ng-click="dashboard.rows = _.without(dashboard.rows,row)" class="btn btn-danger btn-mini">
<i class="icon-remove"></i> <i class="fa fa-remove"></i>
</a> </a>
</td> </td>
</tr> </tr>
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<div class="dashboard-editor-header"> <div class="dashboard-editor-header">
<div class="dashboard-editor-title"> <div class="dashboard-editor-title">
<i class="icon icon-edit"></i> <i class="fa fa-edit"></i>
JSON JSON
</div> </div>
</div> </div>
......
<div class="modal-body"> <div class="modal-body">
<div class="dashboard-editor-header"> <div class="dashboard-editor-header">
<div class="dashboard-editor-title"> <div class="dashboard-editor-title">
<i class="icon icon-keyboard"></i> <i class="fa fa-keyboard-o"></i>
Keyboard shutcuts Keyboard shutcuts
</div> </div>
</div> </div>
......
<div class="modal-body" ng-controller="InspectCtrl" ng-init="init()"> <div class="modal-body" ng-controller="InspectCtrl" ng-init="init()">
<div class="dashboard-editor-header"> <div class="dashboard-editor-header">
<div class="dashboard-editor-title"> <div class="dashboard-editor-title">
<i class="icon icon-eye-open"></i> <i class="fa fa-eye"></i>
Inspector Inspector
</div> </div>
......
<div bindonce class="dashboard-editor-header"> <div bindonce class="dashboard-editor-header">
<div class="dashboard-editor-title"> <div class="dashboard-editor-title">
<i class="icon icon-text-width"></i> <i class="fa fa-text-width"></i>
<span bo-text="panel.type+' settings'"></span> <span bo-text="panel.type+' settings'"></span>
</div> </div>
......
<div ng-controller="PlaylistCtrl" ng-init="init()"> <div ng-controller="PlaylistCtrl" ng-init="init()">
<div class="dashboard-editor-header"> <div class="dashboard-editor-header">
<div class="dashboard-editor-title"> <div class="dashboard-editor-title">
<i class="icon icon-play"></i> <i class="fa fa-play"></i>
Start dashboard playlist Start dashboard playlist
</div> </div>
</div> </div>
...@@ -26,19 +26,19 @@ ...@@ -26,19 +26,19 @@
<label for="dash-{{$index}}" class="cr1"></label> <label for="dash-{{$index}}" class="cr1"></label>
</td> </td>
<td style="text-align: center"> <td style="text-align: center">
<i class="icon-remove pointer" ng-click="removeAsFavorite(dashboard)"></i> <i class="fa fa-remove pointer" ng-click="removeAsFavorite(dashboard)"></i>
</td> </td>
</tr> </tr>
<tr ng-hide="favDashboards.length"> <tr ng-hide="favDashboards.length">
<td colspan="3"> <td colspan="3">
<i class="icon-warning"></i> No dashboards marked as favorites <i class="fa fa-warning"></i> No dashboards marked as favorites
</td> </td>
</tr> </tr>
</table> </table>
</div> </div>
<div class="editor-option"> <div class="editor-option">
<div class="span4"> <div class="span4">
<span><i class="icon-question-sign"></i> <span><i class="fa fa-question-circle"></i>
dashboards available in the playlist are only the ones marked as favorites (stored in local browser storage). dashboards available in the playlist are only the ones marked as favorites (stored in local browser storage).
to mark a dashboard as favorite, use save icon in the menu and in the dropdown select mark as favorite to mark a dashboard as favorite, use save icon in the menu and in the dropdown select mark as favorite
<br/><br/> <br/><br/>
...@@ -56,7 +56,7 @@ ...@@ -56,7 +56,7 @@
</div> </div>
<div class="dashboard-editor-footer"> <div class="dashboard-editor-footer">
<button class="btn btn-success" ng-click="start();dismiss();"><i class="icon-play"></i> Start</button> <button class="btn btn-success" ng-click="start();dismiss();"><i class="fa fa-play"></i> Start</button>
<button type="button" class="btn btn-success pull-right" ng-click="dismiss();"><i class="icon-ban-circle"></i> Close</button> <button type="button" class="btn btn-success pull-right" ng-click="dismiss();">Close</button>
</div> </div>
</div> </div>
<div class="dashboard-editor-header"> <div class="dashboard-editor-header">
<div class="dashboard-editor-title"> <div class="dashboard-editor-title">
<i class="icon icon-th-list"></i> <i class="fa fa-th-list"></i>
Row settings Row settings
</div> </div>
...@@ -38,11 +38,11 @@ ...@@ -38,11 +38,11 @@
<td style="width: 95%">{{panel.title}}</td> <td style="width: 95%">{{panel.title}}</td>
<td>{{panel.type}}</td> <td>{{panel.type}}</td>
<td><select ng-hide="panel.sizeable == false" class="input-mini" style="margin-bottom: 0;" ng-model="panel.span" ng-options="size for size in [1,2,3,4,5,6,7,8,9,10,11,12]"></select></td> <td><select ng-hide="panel.sizeable == false" class="input-mini" style="margin-bottom: 0;" ng-model="panel.span" ng-options="size for size in [1,2,3,4,5,6,7,8,9,10,11,12]"></select></td>
<td><i ng-click="_.move(row.panels,$index,$index-1)" ng-hide="$first" class="pointer icon-arrow-up"></i></td> <td><i ng-click="_.move(row.panels,$index,$index-1)" ng-hide="$first" class="pointer fa fa-arrow-up"></i></td>
<td><i ng-click="_.move(row.panels,$index,$index+1)" ng-hide="$last" class="pointer icon-arrow-down"></i></td> <td><i ng-click="_.move(row.panels,$index,$index+1)" ng-hide="$last" class="pointer fa fa-arrow-down"></i></td>
<td> <td>
<a ng-click="row.panels = _.without(row.panels,panel)" class="btn btn-danger btn-mini"> <a ng-click="row.panels = _.without(row.panels,panel)" class="btn btn-danger btn-mini">
<i class="icon-remove"></i> <i class="fa fa-remove"></i>
</a> </a>
</td> </td>
</tr> </tr>
......
...@@ -2,22 +2,22 @@ ...@@ -2,22 +2,22 @@
<div class="dashboard-editor-header"> <div class="dashboard-editor-header">
<div class="dashboard-editor-title" style="border: 0; line-height: 41px;"> <div class="dashboard-editor-title" style="border: 0; line-height: 41px;">
<i class="icon icon-search"></i> <i class="fa fa-search"></i>
Search Search
</div> </div>
<div class="grafana-search-panel"> <div class="grafana-search-panel">
<div class="search-field-wrapper"> <div class="search-field-wrapper">
<button class="btn btn-success pull-right" dash-editor-link="app/partials/playlist.html" editor-scope="isolated"> <button class="btn btn-success pull-right" dash-editor-link="app/partials/playlist.html" editor-scope="isolated">
<i class="icon-play"></i> <i class="fa fa-play"></i>
Playlist Playlist
</button> </button>
<button class="btn btn-success pull-right" ng-click="toggleImport($event)"> <button class="btn btn-success pull-right" ng-click="toggleImport($event)">
<i class="icon-download-alt"></i> <i class="fa fa-download"></i>
Import Import
</button> </button>
<button class="btn btn-success pull-right" ng-click="newDashboard()"> <button class="btn btn-success pull-right" ng-click="newDashboard()">
<i class="icon-th-large"></i> <i class="fa fa-th-large"></i>
New New
</button> </button>
<span style="position: relative;"> <span style="position: relative;">
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
ng-class="{'selected': $index === selectedIndex }" ng-class="{'selected': $index === selectedIndex }"
ng-click="filterByTag(tag.term, $event)"> ng-click="filterByTag(tag.term, $event)">
<a class="search-result-tag label label-tag" tag-color-from-name> <a class="search-result-tag label label-tag" tag-color-from-name>
<i class="icon icon-tag"></i> <i class="fa fa-tag"></i>
<span>{{tag.term}} &nbsp;({{tag.count}})</span> <span>{{tag.term}} &nbsp;({{tag.count}})</span>
</a> </a>
</div> </div>
...@@ -53,10 +53,10 @@ ...@@ -53,10 +53,10 @@
<div class="search-result-actions small"> <div class="search-result-actions small">
<a ng-click="shareDashboard(row.id, row.id, $event)" config-modal="app/partials/dashLoaderShare.html"> <a ng-click="shareDashboard(row.id, row.id, $event)" config-modal="app/partials/dashLoaderShare.html">
<i class="icon-share"></i> share &nbsp;&nbsp;&nbsp; <i class="fa fa-share"></i> share &nbsp;&nbsp;&nbsp;
</a> </a>
<a ng-click="deleteDashboard(row, $event)"> <a ng-click="deleteDashboard(row, $event)">
<i class="icon-remove"></i> delete <i class="fa fa-remove"></i> delete
</a> </a>
</div> </div>
...@@ -67,7 +67,7 @@ ...@@ -67,7 +67,7 @@
</div> </div>
<a class="search-result-link"> <a class="search-result-link">
<i class="icon icon-th-large"></i> <i class="fa fa-th-large"></i>
<span bo-text="row.title"></span> <span bo-text="row.title"></span>
</a> </a>
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<div class="modal-header"> <div class="modal-header">
<div class="dashboard-editor-header"> <div class="dashboard-editor-header">
<div class="dashboard-editor-title"> <div class="dashboard-editor-title">
<i class="icon icon-share"></i> <i class="fa fa-share"></i>
Share Share
</div> </div>
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<li class="grafana-target-segment"> <li class="grafana-target-segment">
<div class="dropdown"> <div class="dropdown">
<a class="pointer" data-toggle="dropdown"> <a class="pointer" data-toggle="dropdown">
<i class="icon-cog"></i> <i class="fa fa-cog"></i>
</a> </a>
<ul class="dropdown-menu"> <ul class="dropdown-menu">
<li><a class="pointer" dash-editor-link="app/partials/templating_editor.html">Templating</a></li> <li><a class="pointer" dash-editor-link="app/partials/templating_editor.html">Templating</a></li>
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
<ul class="grafana-segment-list" ng-if="dashboard.annotations.enable"> <ul class="grafana-segment-list" ng-if="dashboard.annotations.enable">
<li ng-repeat="annotation in dashboard.annotations.list" class="grafana-target-segment annotation-segment" ng-class="{'annotation-disabled': !annotation.enable}"> <li ng-repeat="annotation in dashboard.annotations.list" class="grafana-target-segment annotation-segment" ng-class="{'annotation-disabled': !annotation.enable}">
<a ng-click="disableAnnotation(annotation)"> <a ng-click="disableAnnotation(annotation)">
<i class="annotation-color-icon icon-bolt"></i> <i class="annotation-color-icon fa fa-bolt"></i>
{{annotation.name}} {{annotation.name}}
</a> </a>
</li> </li>
......
<div ng-controller="TemplateEditorCtrl" ng-init="init()"> <div class="dashboard-editor-header"> <div ng-controller="TemplateEditorCtrl" ng-init="init()"> <div class="dashboard-editor-header">
<div class="dashboard-editor-title"> <div class="dashboard-editor-title">
<i class="icon icon-code"></i> <i class="fa fa-code"></i>
Templating Templating
</div> </div>
...@@ -32,15 +32,15 @@ ...@@ -32,15 +32,15 @@
</td> </td>
<td style="width: 1%"> <td style="width: 1%">
<a ng-click="edit(variable)" class="btn btn-success btn-mini"> <a ng-click="edit(variable)" class="btn btn-success btn-mini">
<i class="icon-edit"></i> <i class="fa fa-edit"></i>
Edit Edit
</a> </a>
</td> </td>
<td style="width: 1%"><i ng-click="_.move(variables,$index,$index-1)" ng-hide="$first" class="pointer icon-arrow-up"></i></td> <td style="width: 1%"><i ng-click="_.move(variables,$index,$index-1)" ng-hide="$first" class="pointer fa fa-arrow-up"></i></td>
<td style="width: 1%"><i ng-click="_.move(variables,$index,$index+1)" ng-hide="$last" class="pointer icon-arrow-down"></i></td> <td style="width: 1%"><i ng-click="_.move(variables,$index,$index+1)" ng-hide="$last" class="pointer fa fa-arrow-down"></i></td>
<td style="width: 1%"> <td style="width: 1%">
<a ng-click="removeVariable(variable)" class="btn btn-danger btn-mini"> <a ng-click="removeVariable(variable)" class="btn btn-danger btn-mini">
<i class="icon-remove"></i> <i class="fa fa-remove"></i>
</a> </a>
</td> </td>
</tr> </tr>
...@@ -101,7 +101,7 @@ ...@@ -101,7 +101,7 @@
<div class="editor-option form-inline"> <div class="editor-option form-inline">
<label class="small">Variable values query</label> <label class="small">Variable values query</label>
<input type="text" class="input-xxlarge" ng-model='current.query' placeholder="apps.servers.*"></input> <input type="text" class="input-xxlarge" ng-model='current.query' placeholder="apps.servers.*"></input>
<button class="btn btn-small btn-success" ng-click="runQuery()" bs-tooltip="'Execute query'" data-placement="right"><i class="icon-play"></i></button> <button class="btn btn-small btn-success" ng-click="runQuery()" bs-tooltip="'Execute query'" data-placement="right"><i class="fa fa-play"></i></button>
</div> </div>
</div> </div>
...@@ -109,7 +109,7 @@ ...@@ -109,7 +109,7 @@
<div class="editor-option form-inline"> <div class="editor-option form-inline">
<label class="small">regex (optional, if you want to extract part of a series name or metric node segment)</label> <label class="small">regex (optional, if you want to extract part of a series name or metric node segment)</label>
<input type="text" class="input-xxlarge" ng-model='current.regex' placeholder="/.*-(.*)-.*/"></input> <input type="text" class="input-xxlarge" ng-model='current.regex' placeholder="/.*-(.*)-.*/"></input>
<button class="btn btn-small btn-success" ng-click="runQuery()" bs-tooltip="'execute query'" data-placement="right"><i class="icon-play"></i></button> <button class="btn btn-small btn-success" ng-click="runQuery()" bs-tooltip="'execute query'" data-placement="right"><i class="fa fa-play"></i></button>
</div> </div>
</div> </div>
...@@ -151,13 +151,3 @@ ...@@ -151,13 +151,3 @@
</div> </div>
</div> </div>
<!-- <div class="span4"> -->
<!-- <tip class="info&#45;box"> -->
<!-- <i class="icon&#45;question&#45;sign"></i> -->
<!-- The templating feature in Grafana lets easily create and manage templated queries. Templated queries use [[replacement]] syntax -->
<!-- to replace a part of your metric key or query. By using this feature you can make your dashboards more generic. You can for example create -->
<!-- a query replacement for your cluster name or server name. Then use that replacement in your metric queries and change -->
<!-- it globably for all graphs on the dashboard. -->
<!-- <br/><br/> -->
<!-- </tip> -->
<!-- </div> -->
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
</div> </div>
<div class="modal-body"> <div class="modal-body">
<h4 class="text-center"><i class="icon-warning-sign"></i> Unsaved changes</h4> <h4 class="text-center"><i class="fa fa-warning"></i> Unsaved changes</h4>
<div class="row-fluid"> <div class="row-fluid">
<span class="span3"> <span class="span3">
{{changes}} {{changes}}
......
...@@ -236,7 +236,7 @@ input[type=text].grafana-function-param-input { ...@@ -236,7 +236,7 @@ input[type=text].grafana-function-param-input {
white-space: nowrap; white-space: nowrap;
} }
.icon { .fa {
position: relative; position: relative;
top: 8px; top: 8px;
} }
...@@ -296,17 +296,17 @@ select.grafana-target-segment-input { ...@@ -296,17 +296,17 @@ select.grafana-target-segment-input {
display: none; display: none;
text-align: center; text-align: center;
.icon-arrow-left { .fa-arrow-left {
float: left; float: left;
position: relative; position: relative;
top: 2px; top: 2px;
} }
.icon-arrow-right { .fa-arrow-right {
float: right; float: right;
position: relative; position: relative;
top: 2px; top: 2px;
} }
.icon-remove { .fa-remove {
margin-left: 10px; margin-left: 10px;
} }
} }
...@@ -491,7 +491,7 @@ select.grafana-target-segment-input { ...@@ -491,7 +491,7 @@ select.grafana-target-segment-input {
font-weight: normal; font-weight: normal;
line-height: 38px; line-height: 38px;
margin: 0; margin: 0;
.icon { .fa {
padding: 0 8px 0 5px; padding: 0 8px 0 5px;
color: @textColor; color: @textColor;
} }
......
...@@ -42,6 +42,12 @@ ...@@ -42,6 +42,12 @@
} }
} }
.graph-legend-icon .fa {
font-size: 135%;
position: relative;
top: 1px;
}
.graph-legend-series { .graph-legend-series {
float: left; float: left;
white-space: nowrap; white-space: nowrap;
...@@ -80,9 +86,8 @@ ...@@ -80,9 +86,8 @@
width: 5px; width: 5px;
padding: 0; padding: 0;
top: 0; top: 0;
.icon-minus { .fa {
position: relative; top: 4px;
top: 2px;
} }
} }
......
...@@ -37,10 +37,12 @@ ...@@ -37,10 +37,12 @@
&.has-panel-links { &.has-panel-links {
.panel-title-text:after { .panel-title-text:after {
content: "\f0c1"; content: "\f08e";
font-family:'FontAwesome'; font-family:'FontAwesome';
font-size: 80%; font-size: 80%;
padding-left: 10px; padding-left: 10px;
position: relative;
top: -1px;
} }
} }
} }
...@@ -121,10 +123,6 @@ ...@@ -121,10 +123,6 @@
} }
} }
.icon-move {
cursor: move;
}
.panel-menu-link, .panel-menu-icon { .panel-menu-link, .panel-menu-icon {
padding: 5px 10px; padding: 5px 10px;
} }
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
line-height: 28px; line-height: 28px;
.search-result-item:hover, .search-result-item.selected { .search-result-item:hover, .search-result-item.selected {
.search-result-link, .search-result-link > .icon { .search-result-link, .search-result-link > .fa {
color: @grafanaListHighlight; color: @grafanaListHighlight;
} }
} }
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
.search-result-link { .search-result-link {
color: @grafanaListMainLinkColor; color: @grafanaListMainLinkColor;
.icon { .fa {
padding-right: 10px; padding-right: 10px;
color: @grafanaListHighlightContrast; color: @grafanaListHighlightContrast;
} }
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -126,6 +126,20 @@ define([ ...@@ -126,6 +126,20 @@ define([
}); });
}); });
graphScenario('grid thresholds from zero', function(ctx) {
ctx.setup(function(scope) {
scope.panel.grid = {
threshold1: 0,
threshold1Color: "#111",
};
});
it('should add grid markings', function() {
var markings = ctx.plotOptions.grid.markings;
expect(markings[0].yaxis.from).to.be(0);
});
});
graphScenario('should use timeStep for barWidth', function(ctx) { graphScenario('should use timeStep for barWidth', function(ctx) {
ctx.setup(function(scope, data) { ctx.setup(function(scope, data) {
scope.panel.bars = true; scope.panel.bars = true;
......
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