diff --git a/CHANGELOG.md b/CHANGELOG.md
index a182bbf6cad..96a6905d158 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,10 @@
# 1.8.0 (unreleased)
+**Fixes**
+- [Issue #802](https://github.com/grafana/grafana/issues/802). Annotations: Fix when using InfluxDB datasource
+
+# 1.8.0-RC1 (2014-09-12)
+
**UI polish / changes**
- [Issue #725](https://github.com/grafana/grafana/issues/725). UI: All modal editors are removed and replaced by an edit pane under menu. The look of editors is also updated and polished. Search dropdown is also shown as pane under menu and has seen some UI polish.
@@ -239,7 +244,7 @@ Read this for more info:
- More graphite function definitions
- Make "ms" axis format include hour, day, weeks, month and year ([Issue #149](https://github.com/grafana/grafana/issues/149))
- Microsecond axis format ([Issue #146](https://github.com/grafana/grafana/issues/146))
-- Specify template paramaters in URL ([Issue #123](https://github.com/grafana/grafana/issues/123))
+- Specify template parameters in URL ([Issue #123](https://github.com/grafana/grafana/issues/123))
### Fixes
- Basic Auth fix ([Issue #152](https://github.com/grafana/grafana/issues/152))
diff --git a/latest.json b/latest.json
index 38e862a643a..c66de1bc179 100644
--- a/latest.json
+++ b/latest.json
@@ -1,4 +1,4 @@
{
- "version": "1.7.0",
- "url": "http://grafanarel.s3.amazonaws.com/grafana-1.7.0"
+ "version": "1.8.0-rc1",
+ "url": "http://grafanarel.s3.amazonaws.com/grafana-1.8.0-rc1"
}
diff --git a/src/app/dashboards/scripted_async.js b/src/app/dashboards/scripted_async.js
index 84e5d976f6b..31d23f2dde2 100644
--- a/src/app/dashboards/scripted_async.js
+++ b/src/app/dashboards/scripted_async.js
@@ -35,11 +35,9 @@ return function(callback) {
// Set a title
dashboard.title = 'Scripted dash';
- dashboard.services.filter = {
- time: {
- from: "now-" + (ARGS.from || timspan),
- to: "now"
- }
+ dashboard.time = {
+ from: "now-" + (ARGS.from || timspan),
+ to: "now"
};
var rows = 1;
@@ -78,4 +76,4 @@ return function(callback) {
callback(dashboard);
});
-}
\ No newline at end of file
+}
diff --git a/src/app/partials/dashboard_topnav.html b/src/app/partials/dashboard_topnav.html
index 15ea694058c..b6db19d33aa 100644
--- a/src/app/partials/dashboard_topnav.html
+++ b/src/app/partials/dashboard_topnav.html
@@ -1,7 +1,10 @@
-
{{dashboard.title}}
+
+
+ {{dashboard.title}}
+
-
diff --git a/src/app/partials/graphite/editor.html b/src/app/partials/graphite/editor.html
index 4d670255bc0..dcbc4306e0f 100755
--- a/src/app/partials/graphite/editor.html
+++ b/src/app/partials/graphite/editor.html
@@ -108,7 +108,7 @@
-
- series as paramaters
+ series as parameters
-
diff --git a/src/app/services/dashboard/dashboardSrv.js b/src/app/services/dashboard/dashboardSrv.js
index 91587feda38..c6b386917ba 100644
--- a/src/app/services/dashboard/dashboardSrv.js
+++ b/src/app/services/dashboard/dashboardSrv.js
@@ -131,7 +131,7 @@ function (angular, $, kbn, _, moment) {
if (old.services) {
if (old.services.filter) {
this.time = old.services.filter.time;
- this.templating.list = old.services.filter.list;
+ this.templating.list = old.services.filter.list || [];
}
delete this.services;
}
diff --git a/src/app/services/influxdb/influxdbDatasource.js b/src/app/services/influxdb/influxdbDatasource.js
index d9a7d8b378c..c076fb2c5e1 100644
--- a/src/app/services/influxdb/influxdbDatasource.js
+++ b/src/app/services/influxdb/influxdbDatasource.js
@@ -64,7 +64,7 @@ function (angular, _, kbn, InfluxSeries, InfluxQueryBuilder) {
InfluxDatasource.prototype.annotationQuery = function(annotation, rangeUnparsed) {
var timeFilter = getTimeFilter({ range: rangeUnparsed });
var query = annotation.query.replace('$timeFilter', timeFilter);
- query = templateSrv.replace(annotation.query);
+ query = templateSrv.replace(query);
return this._seriesQuery(query).then(function(results) {
return new InfluxSeries({ seriesList: results, annotation: annotation }).getAnnotations();
diff --git a/src/css/less/bootswatch.dark.less b/src/css/less/bootswatch.dark.less
index d1bfbcf1154..ad9fe11e73d 100644
--- a/src/css/less/bootswatch.dark.less
+++ b/src/css/less/bootswatch.dark.less
@@ -56,7 +56,7 @@ hr {
}
.brand {
- padding: 15px 20px 15px;
+ padding: 0px 15px;
color: @grayLighter;
font-weight: normal;
text-shadow: none;
diff --git a/src/css/less/grafana.less b/src/css/less/grafana.less
index 3e52b7fc94c..da9f300b0e7 100644
--- a/src/css/less/grafana.less
+++ b/src/css/less/grafana.less
@@ -35,6 +35,19 @@
}
}
+.logo-icon {
+ width: 26px;
+ padding: 12px 11px 0 0;
+ display: block;
+ float: left;
+}
+
+.page-title {
+ padding: 15px 0;
+ display: block;
+ float: left;
+}
+
.row-button {
width: 24px;
}
diff --git a/src/favicon.ico b/src/favicon.ico
new file mode 100644
index 00000000000..23174fc9623
Binary files /dev/null and b/src/favicon.ico differ
diff --git a/src/img/fav16.png b/src/img/fav16.png
new file mode 100644
index 00000000000..827cd972e4b
Binary files /dev/null and b/src/img/fav16.png differ
diff --git a/src/img/fav32.png b/src/img/fav32.png
new file mode 100644
index 00000000000..827cd972e4b
Binary files /dev/null and b/src/img/fav32.png differ
diff --git a/src/img/fav_dark_16.png b/src/img/fav_dark_16.png
new file mode 100644
index 00000000000..2f66c42db40
Binary files /dev/null and b/src/img/fav_dark_16.png differ
diff --git a/src/img/fav_dark_32.png b/src/img/fav_dark_32.png
new file mode 100644
index 00000000000..9248832f671
Binary files /dev/null and b/src/img/fav_dark_32.png differ
diff --git a/src/index.html b/src/index.html
index 63e837abfcd..bf3a2179363 100644
--- a/src/index.html
+++ b/src/index.html
@@ -5,9 +5,11 @@
+
Grafana
+
diff --git a/src/test/specs/influxdb-datasource-specs.js b/src/test/specs/influxdb-datasource-specs.js
index ddf7db48282..3851b0cd898 100644
--- a/src/test/specs/influxdb-datasource-specs.js
+++ b/src/test/specs/influxdb-datasource-specs.js
@@ -8,7 +8,7 @@ define([
var ctx = new helpers.ServiceTestContext();
beforeEach(module('grafana.services'));
- beforeEach(ctx.providePhase());
+ beforeEach(ctx.providePhase(['templateSrv']));
beforeEach(ctx.createService('InfluxDatasource'));
beforeEach(function() {
ctx.ds = new ctx.service({ urls: [''], user: 'test', password: 'mupp' });
@@ -70,6 +70,30 @@ define([
});
+ describe('When issuing annotation query', function() {
+ var results;
+ var urlExpected = "/series?p=mupp&q=select+title+from+events.backend_01"+
+ "+where+time+%3E+now()+-+1h&time_precision=s";
+
+ var range = { from: 'now-1h', to: 'now' };
+ var annotation = { query: 'select title from events.$server where $timeFilter' };
+ var response = [];
+
+ beforeEach(function() {
+ ctx.templateSrv.replace = function(str) {
+ return str.replace('$server', 'backend_01');
+ };
+ ctx.$httpBackend.expect('GET', urlExpected).respond(response);
+ ctx.ds.annotationQuery(annotation, range).then(function(data) { results = data; });
+ ctx.$httpBackend.flush();
+ });
+
+ it('should generate the correct query', function() {
+ ctx.$httpBackend.verifyNoOutstandingExpectation();
+ });
+
+ });
+
});
});