Commit 7f15e2c1 by Daniel Lee

Merge pull request #3889 from grafana/dashboard-share-menu

New dropdown menu to surface the snapshot feature, basic styling in p…
parents 2897f618 f59f6a54
...@@ -24,8 +24,16 @@ ...@@ -24,8 +24,16 @@
<i class="fa" ng-class="{'fa-star-o': !dashboardMeta.isStarred, 'fa-star': dashboardMeta.isStarred}" style="color: orange;"></i> <i class="fa" ng-class="{'fa-star-o': !dashboardMeta.isStarred, 'fa-star': dashboardMeta.isStarred}" style="color: orange;"></i>
</a> </a>
</li> </li>
<li ng-show="dashboardMeta.canShare"> <li ng-show="dashboardMeta.canShare" class="dropdown">
<a class="pointer" ng-click="shareDashboard()" bs-tooltip="'Share dashboard'" data-placement="bottom"><i class="fa fa-share-square-o"></i></a> <a class="pointer" ng-click="hideTooltip($event)" bs-tooltip="'Share dashboard'" data-placement="bottom" data-toggle="dropdown"><i class="fa fa-share-square-o"></i></a>
<ul class="dropdown-menu">
<li ng-if="dashboardMeta.canEdit"><a class="pointer" ng-click="shareDashboard(0)">
<i class="fa fa-link"></i>
Link to Dashboard</a></li>
<li ng-if="dashboardMeta.canEdit"><a class="pointer" ng-click="shareDashboard(1)">
<i class="gf-icon gf-icon-snap-multi"></i>
Snapshot sharing</a></li>
</ul>
</li> </li>
<li ng-show="dashboardMeta.canSave"> <li ng-show="dashboardMeta.canSave">
<a ng-click="saveDashboard()" bs-tooltip="'Save dashboard'" data-placement="bottom"><i class="fa fa-save"></i></a> <a ng-click="saveDashboard()" bs-tooltip="'Save dashboard'" data-placement="bottom"><i class="fa fa-save"></i></a>
......
...@@ -42,10 +42,13 @@ export class DashNavCtrl { ...@@ -42,10 +42,13 @@ export class DashNavCtrl {
} }
}; };
$scope.shareDashboard = function() { $scope.shareDashboard = function(tabIndex) {
var modalScope = $scope.$new();
modalScope.tabIndex = tabIndex;
$scope.appEvent('show-modal', { $scope.appEvent('show-modal', {
src: './app/features/dashboard/partials/shareModal.html', src: './app/features/dashboard/partials/shareModal.html',
scope: $scope.$new(), scope: modalScope
}); });
}; };
......
...@@ -89,7 +89,7 @@ ...@@ -89,7 +89,7 @@
<script type="text/ng-template" id="shareLink.html"> <script type="text/ng-template" id="shareLink.html">
<div class="share-modal-big-icon"> <div class="share-modal-big-icon">
<i class="fa fa-external-link"></i> <i class="fa fa-link"></i>
</div> </div>
<div ng-include src="'shareLinkOptions.html'"></div> <div ng-include src="'shareLinkOptions.html'"></div>
......
...@@ -12,7 +12,7 @@ function (angular, _, require, config) { ...@@ -12,7 +12,7 @@ function (angular, _, require, config) {
module.controller('ShareModalCtrl', function($scope, $rootScope, $location, $timeout, timeSrv, $element, templateSrv, linkSrv) { module.controller('ShareModalCtrl', function($scope, $rootScope, $location, $timeout, timeSrv, $element, templateSrv, linkSrv) {
$scope.options = { forCurrent: true, includeTemplateVars: true, theme: 'current' }; $scope.options = { forCurrent: true, includeTemplateVars: true, theme: 'current' };
$scope.editor = { index: 0 }; $scope.editor = { index: $scope.tabIndex || 0};
$scope.init = function() { $scope.init = function() {
$scope.modeSharePanel = $scope.panel ? true : false; $scope.modeSharePanel = $scope.panel ? true : false;
......
...@@ -123,7 +123,7 @@ function (angular, $, _) { ...@@ -123,7 +123,7 @@ function (angular, $, _) {
} }
var menuTemplate; var menuTemplate;
if ($(e.target).hasClass('fa-external-link')) { if ($(e.target).hasClass('fa-link')) {
menuTemplate = createExternalLinkMenu($scope); menuTemplate = createExternalLinkMenu($scope);
} else { } else {
menuTemplate = createMenuTemplate($scope); menuTemplate = createMenuTemplate($scope);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment