mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
elasticsearch saving does now work, still have to do ttl and temp dashboard
This commit is contained in:
parent
2328c60d12
commit
0a3d4a5ab0
@ -8,7 +8,7 @@ function (angular, _, moment) {
|
||||
|
||||
var module = angular.module('kibana.controllers');
|
||||
|
||||
module.controller('dashLoader', function($scope, $rootScope, $http, alertSrv, $location, playlistSrv) {
|
||||
module.controller('dashLoader', function($scope, $rootScope, $http, alertSrv, $location, playlistSrv, elastic) {
|
||||
|
||||
$scope.init = function() {
|
||||
$scope.gist_pattern = /(^\d{5,}$)|(^[a-z0-9]{10,}$)|(gist.github.com(\/*.*)\/[a-z0-9]{5,}\/*$)/;
|
||||
@ -64,20 +64,22 @@ function (angular, _, moment) {
|
||||
}
|
||||
};
|
||||
|
||||
$scope.elasticsearch_save = function(type,ttl) {
|
||||
$scope.dashboard.elasticsearch_save(type, $scope.dashboard.title, ttl)
|
||||
$scope.elasticsearch_save = function(type, ttl) {
|
||||
elastic.saveDashboard($scope.dashboard, $scope.dashboard.title)
|
||||
.then(function(result) {
|
||||
if(_.isUndefined(result._id)) {
|
||||
alertSrv.set('Save failed','Dashboard could not be saved to Elasticsearch','error',5000);
|
||||
return;
|
||||
}
|
||||
alertSrv.set('Dashboard Saved', 'Dashboard has been saved to Elasticsearch as "' + result.title + '"','success', 5000);
|
||||
|
||||
alertSrv.set('Dashboard Saved', 'Dashboard has been saved to Elasticsearch as "' + result._id + '"','success', 5000);
|
||||
if(type === 'temp') {
|
||||
$scope.share = $scope.dashboard.share_link($scope.dashboard.title,'temp',result._id);
|
||||
$scope.share = $scope.dashboard.share_link($scope.dashboard.title, 'temp', result.title);
|
||||
}
|
||||
else {
|
||||
$location.path(result.url);
|
||||
}
|
||||
|
||||
$rootScope.$emit('dashboard-saved', $scope.dashboard);
|
||||
|
||||
}, function(err) {
|
||||
alertSrv.set('Save failed', err, 'error',5000);
|
||||
});
|
||||
};
|
||||
|
||||
@ -150,11 +152,11 @@ function (angular, _, moment) {
|
||||
};
|
||||
|
||||
$scope.openSaveDropdown = function() {
|
||||
$scope.isFavorite = playlistSrv.isCurrentFavorite();
|
||||
$scope.isFavorite = playlistSrv.isCurrentFavorite($scope.dashboard);
|
||||
};
|
||||
|
||||
$scope.markAsFavorite = function() {
|
||||
playlistSrv.markAsFavorite();
|
||||
playlistSrv.markAsFavorite($scope.dashboard);
|
||||
$scope.isFavorite = true;
|
||||
};
|
||||
|
||||
|
@ -9,5 +9,6 @@ define([
|
||||
'./annotationsSrv',
|
||||
'./playlistSrv',
|
||||
'./unsavedChangesSrv',
|
||||
'./elasticsearch/es-client2',
|
||||
],
|
||||
function () {});
|
46
src/app/services/elasticsearch/es-client2.js
Normal file
46
src/app/services/elasticsearch/es-client2.js
Normal file
@ -0,0 +1,46 @@
|
||||
define([
|
||||
'angular',
|
||||
'config'
|
||||
],
|
||||
function(angular, config) {
|
||||
"use strict";
|
||||
|
||||
var module = angular.module('kibana.services');
|
||||
|
||||
module.service('elastic', function($http) {
|
||||
|
||||
this.put = function(url, data) {
|
||||
url = config.elasticsearch + '/' + config.grafana_index + url;
|
||||
|
||||
var options = {
|
||||
url: url,
|
||||
method: 'PUT',
|
||||
data: data
|
||||
};
|
||||
|
||||
return $http(options);
|
||||
};
|
||||
|
||||
this.saveDashboard = function(dashboard, title, ttl) {
|
||||
var dashboardClone = angular.copy(dashboard);
|
||||
title = dashboardClone.title = title ? title : dashboard.title;
|
||||
|
||||
var data = {
|
||||
user: 'guest',
|
||||
group: 'guest',
|
||||
title: title,
|
||||
tags: dashboardClone.tags,
|
||||
dashboard: angular.toJson(dashboardClone)
|
||||
};
|
||||
|
||||
return this.put('/dashboard/' + encodeURIComponent(title), data)
|
||||
.then(function() {
|
||||
return { title: title, url: '/dashboard/elasticsearch/' + title };
|
||||
}, function(err) {
|
||||
throw 'Failed to save to elasticsearch ' + err.data;
|
||||
});
|
||||
};
|
||||
|
||||
});
|
||||
|
||||
});
|
@ -8,7 +8,7 @@ function (angular, _, kbn) {
|
||||
|
||||
var module = angular.module('kibana.services');
|
||||
|
||||
module.service('playlistSrv', function(dashboard, $location, $rootScope) {
|
||||
module.service('playlistSrv', function($location, $rootScope) {
|
||||
var timerInstance;
|
||||
var favorites = { dashboards: [] };
|
||||
|
||||
@ -33,17 +33,17 @@ function (angular, _, kbn) {
|
||||
}
|
||||
};
|
||||
|
||||
this.isCurrentFavorite = function() {
|
||||
return this._find(dashboard.current.title) ? true : false;
|
||||
this.isCurrentFavorite = function(dashboard) {
|
||||
return this._find(dashboard.title) ? true : false;
|
||||
};
|
||||
|
||||
this.markAsFavorite = function() {
|
||||
var existing = this._find(dashboard.current.title);
|
||||
this.markAsFavorite = function(dashboard) {
|
||||
var existing = this._find(dashboard.title);
|
||||
this._remove(existing);
|
||||
|
||||
favorites.dashboards.push({
|
||||
url: $location.path(),
|
||||
title: dashboard.current.title
|
||||
title: dashboard.title
|
||||
});
|
||||
|
||||
this._save();
|
||||
|
Loading…
Reference in New Issue
Block a user