mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
fixing broken things
This commit is contained in:
@@ -31,7 +31,7 @@ function (angular, $, config, _) {
|
||||
var module = angular.module('kibana.controllers');
|
||||
|
||||
module.controller('DashCtrl', function(
|
||||
$scope, $rootScope, dashboardKeybindings, filterSrv, dashboard, panelMoveSrv) {
|
||||
$scope, $rootScope, dashboardKeybindings, filterSrv, dashboard, panelMoveSrv, alertSrv) {
|
||||
|
||||
$scope.editor = { index: 0 };
|
||||
|
||||
@@ -39,6 +39,9 @@ function (angular, $, config, _) {
|
||||
$scope.reset_row();
|
||||
dashboardKeybindings.shortcuts();
|
||||
|
||||
// Clear existing alerts
|
||||
alertSrv.clearAll();
|
||||
|
||||
$scope.onAppEvent('setup-dashboard', $scope.setupDashboard, $scope);
|
||||
};
|
||||
|
||||
|
||||
@@ -15,9 +15,6 @@ function (angular, config, _) {
|
||||
$scope.init = function() {
|
||||
$scope._ = _;
|
||||
$scope.dashAlerts = alertSrv;
|
||||
|
||||
// Clear existing alerts
|
||||
alertSrv.clearAll();
|
||||
};
|
||||
|
||||
$scope.onAppEvent = function(name, callback, scope) {
|
||||
|
||||
@@ -14,10 +14,6 @@ function (angular, $, config, _) {
|
||||
.when('/dashboard/elasticsearch/:id', {
|
||||
templateUrl: 'app/partials/dashboard.html',
|
||||
controller : 'DashFromElasticProvider',
|
||||
})
|
||||
.when('/dashboard/file/:jsonFile', {
|
||||
templateUrl: 'app/partials/dashboard.html',
|
||||
controller : 'DashFromFileProvider',
|
||||
});
|
||||
});
|
||||
|
||||
@@ -30,8 +26,12 @@ function (angular, $, config, _) {
|
||||
url: url +'?' + new Date().getTime(),
|
||||
method: "GET",
|
||||
transformResponse: function(response) {
|
||||
var dashJson = angular.fromJson(response)._source.dashboard;
|
||||
return angular.fromJson(dashJson);
|
||||
var esResponse = angular.fromJson(response);
|
||||
if (esResponse._source && esResponse._source.dashboard) {
|
||||
return angular.fromJson(esResponse._source.dashboard);
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -60,61 +60,4 @@ function (angular, $, config, _) {
|
||||
|
||||
});
|
||||
|
||||
module.controller('DashFromFileProvider', function(
|
||||
$scope, $rootScope, $http, $routeParams, alertSrv, dashboard, filterSrv, panelMoveSrv) {
|
||||
|
||||
$scope.init = function() {
|
||||
|
||||
file_load($routeParams.jsonFile).then(function(data) {
|
||||
$scope.dashboard = dashboard.create(data);
|
||||
$scope.filter = filterSrv;
|
||||
$scope.filter.init($scope.dashboard);
|
||||
|
||||
var panelMove = panelMoveSrv.create($scope.dashboard);
|
||||
// For moving stuff around the dashboard.
|
||||
$scope.panelMoveDrop = panelMove.onDrop;
|
||||
$scope.panelMoveStart = panelMove.onStart;
|
||||
$scope.panelMoveStop = panelMove.onStop;
|
||||
$scope.panelMoveOver = panelMove.onOver;
|
||||
$scope.panelMoveOut = panelMove.onOut;
|
||||
|
||||
$rootScope.$emit("dashboard-loaded", $scope.dashboard);
|
||||
});
|
||||
};
|
||||
|
||||
var renderTemplate = function(json,params) {
|
||||
var _r;
|
||||
_.templateSettings = {interpolate : /\{\{(.+?)\}\}/g};
|
||||
var template = _.template(json);
|
||||
var rendered = template({ARGS:params});
|
||||
try {
|
||||
_r = angular.fromJson(rendered);
|
||||
} catch(e) {
|
||||
_r = false;
|
||||
}
|
||||
return _r;
|
||||
};
|
||||
|
||||
var file_load = function(file) {
|
||||
return $http({
|
||||
url: "app/dashboards/"+file.replace(/\.(?!json)/,"/")+'?' + new Date().getTime(),
|
||||
method: "GET",
|
||||
transformResponse: function(response) {
|
||||
return renderTemplate(response,$routeParams);
|
||||
}
|
||||
}).then(function(result) {
|
||||
if(!result) {
|
||||
return false;
|
||||
}
|
||||
return result.data;
|
||||
},function() {
|
||||
alertSrv.set('Error',"Could not load <i>dashboards/"+file+"</i>. Please make sure it exists" ,'error');
|
||||
return false;
|
||||
});
|
||||
};
|
||||
|
||||
$scope.init();
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
@@ -16,6 +16,10 @@ function (angular, $, kbn, _) {
|
||||
module.service('dashboard', function(timer, $rootScope, $timeout) {
|
||||
|
||||
function DashboardModel (data) {
|
||||
if (!data) {
|
||||
data = {};
|
||||
};
|
||||
|
||||
this.title = data.title;
|
||||
this.tags = data.tags || [];
|
||||
this.style = data.style || "dark";
|
||||
@@ -25,7 +29,7 @@ function (angular, $, kbn, _) {
|
||||
this.pulldowns = data.pulldowns || [];
|
||||
this.nav = data.nav || [];
|
||||
this.services = data.services || {};
|
||||
this.loader = data.loader;
|
||||
this.loader = data.loader || {};
|
||||
|
||||
_.defaults(this.loader, {
|
||||
save_gist: false,
|
||||
|
||||
@@ -94,14 +94,22 @@ define([
|
||||
this.dashboard = dashboard;
|
||||
this.templateSettings = { interpolate : /\[\[([\s\S]+?)\]\]/g };
|
||||
|
||||
if(dashboard.services && dashboard.services.filter) {
|
||||
this.time = dashboard.services.filter.time;
|
||||
this.templateParameters = dashboard.services.filter.list || [];
|
||||
this.updateTemplateData(true);
|
||||
/* if (!this.dashboard.services.filter) {
|
||||
this.dashboard.services.filter = {
|
||||
list: [],
|
||||
time: {
|
||||
from: '1h',
|
||||
to: 'now'
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
*/
|
||||
this.time = dashboard.services.filter.time;
|
||||
this.templateParameters = dashboard.services.filter.list || [];
|
||||
this.updateTemplateData(true);
|
||||
}
|
||||
};
|
||||
|
||||
return result;
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user