GUAC-586: Do not show tab levels which have only one tab.

This commit is contained in:
Michael Jumper
2015-09-02 15:46:59 -07:00
parent 36c1c853f9
commit 361e985ae1
6 changed files with 21 additions and 25 deletions

View File

@@ -146,17 +146,6 @@ angular.module('manage').controller('manageUserController', ['$scope', '$injecto
*/
$scope.accountPages = [];
/**
* Returns whether the list of all available account tabs should be shown.
*
* @returns {Boolean}
* true if the list of available account tabs should be shown, false
* otherwise.
*/
$scope.showAccountTabs = function showAccountTabs() {
return !!$scope.accountPages && $scope.accountPages.length > 1;
};
/**
* Returns whether critical data has completed being loaded.
*

View File

@@ -28,7 +28,7 @@ THE SOFTWARE.
<guac-user-menu></guac-user-menu>
</div>
<div class="page-tabs">
<guac-page-list pages="accountPages" ng-show="showAccountTabs()"></guac-page-list>
<guac-page-list pages="accountPages"></guac-page-list>
</div>
<!-- Warn if user is read-only -->

View File

@@ -223,6 +223,24 @@ angular.module('navigation').directive('guacPageList', [function guacPageList()
// Add all page definitions
angular.forEach(pages, addPage);
// Filter to only relevant levels
$scope.levels = $scope.levels.filter(function isRelevant(level) {
// Determine relevancy by counting the number of pages
var pageCount = 0;
for (var name in level) {
// Level is relevant if it has two or more pages
if (++pageCount === 2)
return true;
}
// Otherwise, the level is not relevant
return false;
});
});
}] // end controller

View File

@@ -1,4 +1,4 @@
<div class="page-list">
<div class="page-list" ng-show="levels.length">
<!--
Copyright (C) 2015 Glyptodon LLC

View File

@@ -46,17 +46,6 @@ angular.module('manage').controller('settingsController', ['$scope', '$injector'
*/
$scope.activeTab = $routeParams.tab;
/**
* Returns whether the list of all available settings tabs should be shown.
*
* @returns {Boolean}
* true if the list of available settings tabs should be shown, false
* otherwise.
*/
$scope.showAvailableTabs = function showAvailableTabs() {
return !!$scope.settingsPages && $scope.settingsPages.length > 1;
};
// Retrieve settings pages
userPageService.getSettingsPages()
.then(function settingsPagesRetrieved(pages) {

View File

@@ -29,7 +29,7 @@ THE SOFTWARE.
<!-- Available tabs -->
<div class="page-tabs">
<guac-page-list pages="settingsPages" ng-show="showAvailableTabs()"></guac-page-list>
<guac-page-list pages="settingsPages"></guac-page-list>
</div>
<!-- Selected tab -->