Преглед изворни кода

refactoring(top_nav): move menu condition to controller

carl bergquist пре 10 година
родитељ
комит
24acea7261

+ 4 - 0
public/app/features/dashboard/dashboardNavCtrl.js

@@ -20,6 +20,10 @@ function (angular, _) {
       $location.search(search);
     };
 
+    $scope.showSettingsMenu = function() {
+      return $scope.dashboardMeta.canEdit || $scope.contextSrv.isEditor;
+    };
+
     $scope.starDashboard = function() {
       if ($scope.dashboardMeta.isStarred) {
         backendSrv.delete('/api/user/stars/dashboard/' + $scope.dashboard.id).then(function() {

+ 6 - 6
public/app/features/dashboard/partials/dashboardTopNav.html

@@ -29,14 +29,14 @@
 				<li ng-show="dashboardMeta.canSave">
 					<a ng-click="saveDashboard()" bs-tooltip="'Save dashboard'" data-placement="bottom"><i class="fa fa-save"></i></a>
 				</li>
-				<li ng-if="dashboardMeta.canEdit  || contextSrv.isEditor" class="dropdown">
+				<li ng-if="showSettingsMenu()" class="dropdown">
 					<a class="pointer" ng-click="hideTooltip($event)" bs-tooltip="'Manage dashboard'" data-placement="bottom" data-toggle="dropdown"><i class="fa fa-cog"></i></a>
 					<ul class="dropdown-menu">
-						<li ng-if="dashboardMeta.canEdit || contextSrv.isEditor"><a class="pointer" ng-click="openEditView('settings');">Settings</a></li>
-						<li ng-if="dashboardMeta.canEdit || contextSrv.isEditor"><a class="pointer" ng-click="openEditView('annotations');">Annotations</a></li>
-						<li ng-if="dashboardMeta.canEdit || contextSrv.isEditor"><a class="pointer" ng-click="openEditView('templating');">Templating</a></li>
-						<li ng-if="dashboardMeta.canEdit || contextSrv.isEditor"><a class="pointer" ng-click="exportDashboard();">Export</a></li>
-						<li ng-if="dashboardMeta.canEdit || contextSrv.isEditor"><a class="pointer" ng-click="editJson();">View JSON</a></li>
+						<li ng-if="dashboardMeta.canEdit"><a class="pointer" ng-click="openEditView('settings');">Settings</a></li>
+						<li ng-if="dashboardMeta.canEdit"><a class="pointer" ng-click="openEditView('annotations');">Annotations</a></li>
+						<li ng-if="dashboardMeta.canEdit"><a class="pointer" ng-click="openEditView('templating');">Templating</a></li>
+						<li ng-if="dashboardMeta.canEdit"><a class="pointer" ng-click="exportDashboard();">Export</a></li>
+						<li ng-if="dashboardMeta.canEdit"><a class="pointer" ng-click="editJson();">View JSON</a></li>
 						<li ng-if="contextSrv.isEditor && !dashboard.editable"><a class="pointer" ng-click="makeEditable();">Make Editable</a></li>
 						<li ng-if="contextSrv.isEditor"><a class="pointer" ng-click="saveDashboardAs();">Save As...</a></li>
 						<li ng-if="dashboardMeta.canSave"><a class="pointer" ng-click="deleteDashboard();">Delete dashboard</a></li>