grafana/js/controllers.js

66 lines
1.1 KiB
JavaScript
Raw Normal View History

2013-01-26 12:10:28 +08:00
/*jshint globalstrict:true */
/*global angular:true */
'use strict';
angular.module('kibana.controllers', [])
.controller('DashCtrl', function($scope, $rootScope, ejsResource, timer) {
2013-01-26 12:10:28 +08:00
$scope.config = config;
if (Modernizr.localstorage && !(_.isUndefined(localStorage['dashboard']))) {
$scope.dashboards = JSON.parse(localStorage['dashboard']);
} else {
$scope.dashboards = dashboards;
}
2013-02-06 05:30:08 +08:00
2013-01-26 12:10:28 +08:00
var ejs = $scope.ejs = ejsResource(config.elasticsearch);
$scope.toggle_row = function(row) {
$scope.$broadcast('toggle_row',row)
row.collapse = row.collapse ? false : true;
}
$scope.export = function() {
var blob = new Blob([angular.toJson($scope.dashboards)], {type: "application/json;charset=utf-8"});
saveAs(blob, $scope.dashboards.title+"-"+new Date().getTime());
}
$scope.default = function() {
if (Modernizr.localstorage) {
localStorage['dashboard'] = angular.toJson($scope.dashboards);
alert($scope.dashboards.title + " has been set as your default dashboard")
} else {
alert("Sorry, your browser is too old for this functionality");
}
}
2013-01-26 12:10:28 +08:00
});