From dcfad7d61b08af7928c8388bb2999941001a7dcc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Sat, 28 Feb 2015 10:04:19 +0100 Subject: [PATCH] Fixed playlist functionallity, broken after recent changes --- src/app/controllers/search.js | 2 +- src/app/features/dashboard/playlistCtrl.js | 5 ++--- src/app/features/dashboard/playlistSrv.js | 10 ++++++---- src/app/partials/search.html | 2 +- src/app/plugins/datasource/elasticsearch/datasource.js | 5 ----- src/app/plugins/datasource/grafana/datasource.js | 5 ----- src/app/services/backendSrv.js | 4 ++++ 7 files changed, 14 insertions(+), 19 deletions(-) diff --git a/src/app/controllers/search.js b/src/app/controllers/search.js index 896ba0f7907..e031559f3a8 100644 --- a/src/app/controllers/search.js +++ b/src/app/controllers/search.js @@ -60,7 +60,7 @@ function (angular, _, config) { $scope.currentSearchId = $scope.currentSearchId + 1; var localSearchId = $scope.currentSearchId; - return backendSrv.get('/api/search', $scope.query).then(function(results) { + return backendSrv.search($scope.query).then(function(results) { if (localSearchId < $scope.currentSearchId) { return; } $scope.resultCount = results.tagsOnly ? results.tags.length : results.dashboards.length; diff --git a/src/app/features/dashboard/playlistCtrl.js b/src/app/features/dashboard/playlistCtrl.js index 50440c5912b..5320a0b808e 100644 --- a/src/app/features/dashboard/playlistCtrl.js +++ b/src/app/features/dashboard/playlistCtrl.js @@ -8,12 +8,11 @@ function (angular, _, config) { var module = angular.module('grafana.controllers'); - module.controller('PlaylistCtrl', function($scope, playlistSrv, datasourceSrv) { + module.controller('PlaylistCtrl', function($scope, playlistSrv, backendSrv) { $scope.init = function() { $scope.playlist = []; $scope.timespan = config.playlist_timespan; - $scope.db = datasourceSrv.getGrafanaDB(); $scope.search(); }; @@ -25,7 +24,7 @@ function (angular, _, config) { query.starred = false; } - $scope.db.searchDashboards(query).then(function(results) { + backendSrv.search(query).then(function(results) { $scope.searchHits = results.dashboards; $scope.filterHits(); }); diff --git a/src/app/features/dashboard/playlistSrv.js b/src/app/features/dashboard/playlistSrv.js index 2c10391124b..0711cb7c453 100644 --- a/src/app/features/dashboard/playlistSrv.js +++ b/src/app/features/dashboard/playlistSrv.js @@ -17,11 +17,10 @@ function (angular, _, kbn) { angular.element(window).unbind('resize'); var dash = self.dashboards[self.index % self.dashboards.length]; - var relativeUrl = dash.url.substring($location.absUrl().length - $location.url().length); - $location.url(relativeUrl); + $location.url('dashboard/db/' + dash.slug); + self.index++; - self.cancelPromise = $timeout(self.next, self.interval); }; @@ -31,13 +30,16 @@ function (angular, _, kbn) { }; this.start = function(dashboards, timespan) { - this.stop(); + self.stop(); + self.index = 0; self.interval = kbn.interval_to_ms(timespan); + self.dashboards = dashboards; $rootScope.playlistSrv = this; self.cancelPromise = $timeout(self.next, self.interval); + self.next(); }; this.stop = function() { diff --git a/src/app/partials/search.html b/src/app/partials/search.html index 8320c9d19b7..76400cd3eba 100644 --- a/src/app/partials/search.html +++ b/src/app/partials/search.html @@ -71,7 +71,7 @@ Import - diff --git a/src/app/plugins/datasource/elasticsearch/datasource.js b/src/app/plugins/datasource/elasticsearch/datasource.js index d12cc5d113d..a4e3f4ac9ef 100644 --- a/src/app/plugins/datasource/elasticsearch/datasource.js +++ b/src/app/plugins/datasource/elasticsearch/datasource.js @@ -18,15 +18,10 @@ function (angular, _, config, kbn, moment) { this.url = datasource.url; this.name = datasource.name; this.index = datasource.index; - this.grafanaDB = datasource.grafanaDB; this.searchMaxResults = config.search.max_results || 20; this.saveTemp = _.isUndefined(datasource.save_temp) ? true : datasource.save_temp; this.saveTempTTL = _.isUndefined(datasource.save_temp_ttl) ? '30d' : datasource.save_temp_ttl; - - this.annotationEditorSrc = 'app/features/elasticsearch/partials/annotations.editor.html'; - this.supportAnnotations = true; - this.supportMetrics = false; } ElasticDatasource.prototype._request = function(method, url, index, data) { diff --git a/src/app/plugins/datasource/grafana/datasource.js b/src/app/plugins/datasource/grafana/datasource.js index b6babaa7a93..875b7809799 100644 --- a/src/app/plugins/datasource/grafana/datasource.js +++ b/src/app/plugins/datasource/grafana/datasource.js @@ -11,11 +11,6 @@ function (angular, _, kbn) { module.factory('GrafanaDatasource', function($q, backendSrv) { function GrafanaDatasource() { - this.type = 'grafana'; - this.grafanaDB = true; - this.name = "grafana"; - this.supportMetrics = true; - this.editorSrc = 'app/features/grafanaDatasource/partials/query.editor.html'; } GrafanaDatasource.prototype.getDashboard = function(slug, isTemp) { diff --git a/src/app/services/backendSrv.js b/src/app/services/backendSrv.js index 012e13aff65..6d7efd38b9b 100644 --- a/src/app/services/backendSrv.js +++ b/src/app/services/backendSrv.js @@ -77,6 +77,10 @@ function (angular, _, config) { }); }; + this.search = function(query) { + return this.get('/api/search', query); + }; + this.saveDashboard = function(dash) { return this.post('/api/dashboards/db/', {dashboard: dash}); };