').attr({ id: 'user-options' })
- .appendTo($('#header'));
+ .appendTo($container.find('#header'));
$(['label.logout', 'label.help']).each(function() {
var $link = $('
')
.attr({ href: '#' })
@@ -263,8 +262,8 @@
});
// Initialize browser
- $('#browser div.container').cloudBrowser();
- $('#navigation li')
+ $container.find('#browser div.container').cloudBrowser();
+ $container.find('#navigation li')
.filter(function() {
return $(this).hasClass(args.home);
})
@@ -317,6 +316,7 @@
var $target = $(event.target);
var $container = $target.closest('[cloudStack-container]');
var args = $container.data('cloudStack-args');
+ var $browser = $container.find('#browser .container');
if (!$container.size()) return true;
@@ -325,14 +325,14 @@
var $navItem = $target.closest('li.navigation-item');
if ($navItem.is('.disabled')) return false;
- showSection($navItem.data('cloudStack-section-id'), args);
+ showSection($navItem.data('cloudStack-section-id'), args, $browser);
return false;
}
// Browser expand
if ($target.hasClass('control expand') && $target.closest('div.panel div.toolbar').size()) {
- $('#browser div.container').cloudBrowser('toggleMaximizePanel', {
+ $browser.cloudBrowser('toggleMaximizePanel', {
panel: $target.closest('div.panel')
});
@@ -341,7 +341,7 @@
// Home breadcrumb
if ($target.is('#breadcrumbs div.home')) {
- showSection(args.home, args);
+ showSection(args.home, args, $browser);
return false;
}
diff --git a/ui/tests/test.core.js b/ui/tests/test.core.js
index 4829b36a10c..38e385952b5 100644
--- a/ui/tests/test.core.js
+++ b/ui/tests/test.core.js
@@ -2,7 +2,9 @@
test('Main widget', function() {
var cloudStack = {
sections: {
- home: {},
+ home: {
+ show: function() { return $('').addClass('test123'); }
+ },
sectionA: {},
sectionB: {},
sectionC: {}
@@ -21,11 +23,20 @@
// Header
var $header = $cloudStack.find('#header');
+ var $userOptions = $cloudStack.find('#user-options');
equal($header.size(), 1, 'Header present');
+ equal($userOptions.size(), 1, 'User options present');
+ equal($userOptions.find('a').size(), 2, 'User options has correct # of options');
// Navigation
var $navigation = $cloudStack.find('#navigation');
equal($navigation.size(), 1, 'Navigation present');
equal($navigation.find('li').size(), 4, 'Navigation has correct # of nav items');
+
+ // Browser / page generation
+ var $browser = $cloudStack.find('#browser .container');
+ var $homePage = $browser.find('.panel div.test123');
+ equal($browser.size(), 1, 'Browser intialized');
+ equal($homePage.size(), 1, 'Home page is visible');
});
}(jQuery));