瀏覽代碼

New dropdown menu to surface the snapshot feature, basic styling in place. Want to extend menu to include summary text of each feature

Matt Toback 10 年之前
父節點
當前提交
6fe850e2c1

+ 10 - 2
public/app/features/dashboard/dashnav/dashnav.html

@@ -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">
-		<a class="pointer" ng-click="shareDashboard()" bs-tooltip="'Share dashboard'" data-placement="bottom"><i class="fa fa-share-square-o"></i></a>
+	<li ng-show="dashboardMeta.canShare" class="dropdown">
+		<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>

+ 5 - 2
public/app/features/dashboard/dashnav/dashnav.ts

@@ -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
       });
       });
     };
     };
 
 

+ 1 - 1
public/app/features/dashboard/shareModalCtrl.js

@@ -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;