瀏覽代碼

Save dropdown and search bindings and scope is now not loaded on dashboard load, small performance improvement

Torkel Ödegaard 11 年之前
父節點
當前提交
21aa1b43fd

+ 1 - 0
src/app/controllers/dashLoader.js

@@ -134,6 +134,7 @@ function (angular, _, moment, config) {
 
     $scope.openSaveDropdown = function() {
       $scope.isFavorite = playlistSrv.isCurrentFavorite($scope.dashboard);
+      $scope.saveDropdownOpened = true;
     };
 
     $scope.markAsFavorite = function() {

+ 1 - 0
src/app/controllers/search.js

@@ -99,6 +99,7 @@ function (angular, _, config, $) {
         $element.next().find('.dropdown-toggle').dropdown('toggle');
       }
 
+      $scope.searchOpened = true;
       $scope.giveSearchFocus = $scope.giveSearchFocus + 1;
       $scope.query.query = 'title:';
       $scope.search();

+ 5 - 3
src/app/partials/dashLoader.html

@@ -16,15 +16,17 @@
   </a>
 </li>
 
-<li ng-repeat="pulldown in dashboard.nav" ng-controller="PulldownCtrl" ng-show="pulldown.enable"><grafana-simple-panel type="pulldown.type" ng-cloak></grafana-simple-panel></li>
+<li ng-repeat="pulldown in dashboard.nav" ng-controller="PulldownCtrl" ng-show="pulldown.enable">
+	<grafana-simple-panel type="pulldown.type" ng-cloak>
+	</grafana-simple-panel>
+</li>
 
 <li class="dropdown grafana-menu-save">
   <a href="#"  bs-tooltip="'Save'" data-placement="bottom" class="dropdown-toggle" data-toggle="dropdown" ng-click="openSaveDropdown()">
     <i class='icon-save'></i>
   </a>
 
-  <ul class="save-dashboard-dropdown dropdown-menu">
-
+  <ul class="save-dashboard-dropdown dropdown-menu" ng-if="saveDropdownOpened">
     <li>
       <form class="input-prepend nomargin save-dashboard-dropdown-save-form">
         <input class='input-medium' ng-model="dashboard.title" type="text" />

+ 1 - 1
src/app/partials/search.html

@@ -16,7 +16,7 @@
     <i class='icon-folder-open'></i>
   </a>
 
-  <ul class="dropdown-menu" id="grafana-search">
+  <ul class="dropdown-menu" id="grafana-search" ng-if="searchOpened">
     <li ng-if="!showImport">
       <div class="grafana-search-panel">
         <div class="search-field-wrapper">