diff --git a/src/app/controllers/all.js b/src/app/controllers/all.js index 4a4357ecee6..75b05efb3d1 100644 --- a/src/app/controllers/all.js +++ b/src/app/controllers/all.js @@ -15,5 +15,6 @@ define([ './opentsdbTargetCtrl', './annotationsEditorCtrl', './templateEditorCtrl', + './sharePanelCtrl', './jsonEditorCtrl', ], function () {}); diff --git a/src/app/controllers/sharePanelCtrl.js b/src/app/controllers/sharePanelCtrl.js new file mode 100644 index 00000000000..891f2b73317 --- /dev/null +++ b/src/app/controllers/sharePanelCtrl.js @@ -0,0 +1,42 @@ +define([ + 'angular', + 'lodash' +], +function (angular, _) { + 'use strict'; + + var module = angular.module('grafana.controllers'); + + module.controller('SharePanelCtrl', function($scope, $location, $timeout, timeSrv, $element) { + + $scope.init = function() { + $scope.editor = { index: 0 }; + + var currentUrl = $location.absUrl(); + var panelId = $scope.panel.id; + var range = timeSrv.timeRange(false); + var from = range.from; + var to = range.to; + if (_.isDate(from)) { + from = from.getTime(); + } + if (_.isDate(to)) { + to = to.getTime(); + } + + $scope.shareUrl = currentUrl + "?panelId=" + panelId + "&fullscreen"; + $scope.shareUrl += "&from=" + from; + $scope.shareUrl += "&to=" + to; + + $timeout(function() { + var input = $element.find('[data-share-panel-url]'); + input.focus(); + input.select(); + }); + }; + + $scope.init(); + + }); + +}); diff --git a/src/app/controllers/submenuCtrl.js b/src/app/controllers/submenuCtrl.js index a1067ee70ac..bf71377dd14 100644 --- a/src/app/controllers/submenuCtrl.js +++ b/src/app/controllers/submenuCtrl.js @@ -1,9 +1,8 @@ define([ 'angular', - 'app', 'lodash' ], -function (angular, app, _) { +function (angular, _) { 'use strict'; var module = angular.module('grafana.controllers'); diff --git a/src/app/partials/share-panel.html b/src/app/partials/share-panel.html index 34b8b424683..f6d2f598fdc 100644 --- a/src/app/partials/share-panel.html +++ b/src/app/partials/share-panel.html @@ -7,7 +7,7 @@