Torkel Ödegaard %!s(int64=10) %!d(string=hai) anos
pai
achega
0c56ae4f32

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

@@ -75,7 +75,7 @@ function (angular, $, config) {
     };
 
     $scope.updateSubmenuVisibility = function() {
-      $scope.submenuEnabled = $scope.dashboard.hasTemplateVarsOrAnnotations();
+      $scope.submenuEnabled = $scope.dashboard.isSubmenuFeaturesEnabled();
     };
 
     $scope.setWindowTitleAndTheme = function() {

+ 2 - 2
public/app/features/dashboard/dashboardSrv.js

@@ -146,8 +146,8 @@ function (angular, $, kbn, _, moment) {
       row.panels.push(panel);
     };
 
-    p.hasTemplateVarsOrAnnotations = function() {
-      return this.templating.list.length > 0 || this.annotations.list.length > 0;
+    p.isSubmenuFeaturesEnabled = function() {
+      return this.templating.list.length > 0 || this.annotations.list.length > 0 || this.links.length > 0;
     };
 
     p.getPanelInfoById = function(panelId) {

+ 4 - 1
public/app/features/dashlinks/module.html

@@ -1 +1,4 @@
-<h5>dash links</h5>
+<a class="pointer">
+	<i class="fa fa-th-large"></i>
+	<span></span>
+</a>

+ 18 - 5
public/app/features/dashlinks/module.js

@@ -13,23 +13,36 @@ function (angular, _) {
           dashboard: "="
         },
         restrict: 'E',
-        controller: 'DashLinkCtrl',
+        controller: 'DashLinkEditorCtrl',
         templateUrl: 'app/features/dashlinks/editor.html',
         link: function() {
         }
       };
-    }).directive('dashLinks', function() {
+    }).directive('dashLink', function(linkSrv) {
       return {
         scope: {
-          dashboard: "="
+          link: "="
         },
         restrict: 'E',
         controller: 'DashLinkCtrl',
         templateUrl: 'app/features/dashlinks/module.html',
-        link: function() {
+        link: function(scope, elem) {
+
+          function update() {
+            var linkInfo = linkSrv.getPanelLinkAnchorInfo(scope.link);
+            elem.find("span").text(linkInfo.title);
+            elem.find("a").attr("href", linkInfo.href);
+          }
+
+          update();
+          scope.$on('refresh', update);
         }
       };
-    }).controller('DashLinkCtrl', function($scope, backendSrv) {
+    })
+    .controller("DashLinkCtrl", function($scope) {
+
+    })
+    .controller('DashLinkEditorCtrl', function($scope, backendSrv) {
 
       $scope.dashboard.links = $scope.dashboard.links || [];
 

+ 0 - 1
public/app/features/panellinks/linkSrv.js

@@ -16,7 +16,6 @@ function (angular, kbn) {
           info.href = templateSrv.replace(link.url || '');
           info.title = templateSrv.replace(link.title || '');
           info.href += '?';
-
         }
         else {
           info.title = templateSrv.replace(link.title || '');

+ 1 - 6
public/app/partials/submenu.html

@@ -19,12 +19,7 @@
 		</ul>
 
 		<ul class="tight-form-list pull-right" ng-if="dashboard.links.length > 0">
-			<li ng-repeat="link in dashboard.links" class="tight-form-item">
-				<a class="pointer">
-					<i class="fa fa-th-large"></i>
-					{{link.title}}
-				</a>
-			</li>
+			<dash-link ng-repeat="link in dashboard.links" link="link" class="tight-form-item"></dash-link>
 		</ul>
 
 		<div class="clearfix"></div>