diff --git a/ui/plugins/testPlugin/testPlugin.js b/ui/plugins/testPlugin/testPlugin.js index e340ae5b8ec..66ce56f8d3a 100644 --- a/ui/plugins/testPlugin/testPlugin.js +++ b/ui/plugins/testPlugin/testPlugin.js @@ -19,6 +19,7 @@ plugin.ui.addSection({ id: 'testPlugin', title: 'TestPlugin', + showOnNavigation: true, preFilter: function(args) { return isAdmin(); }, diff --git a/ui/scripts/cloudStack.js b/ui/scripts/cloudStack.js index a701c410306..feb6e26628e 100644 --- a/ui/scripts/cloudStack.js +++ b/ui/scripts/cloudStack.js @@ -31,9 +31,12 @@ sections = ["dashboard", "instances", "storage", "network", "templates", "accounts", "events", "regions", "affinityGroups"]; } - if (cloudStack.plugins.length) { - sections.push('plugins'); - } + $.each(cloudStack.plugins, function(idx, plugin) { + if (cloudStack.sections.hasOwnProperty(plugin) && !cloudStack.sections[plugin].showOnNavigation) { + sections.push('plugins'); + return false; + } + }); return sections; }, diff --git a/ui/scripts/ui/core.js b/ui/scripts/ui/core.js index 6912d1b32ef..e64f386b2c0 100644 --- a/ui/scripts/ui/core.js +++ b/ui/scripts/ui/core.js @@ -61,7 +61,7 @@ ); } - if (args.isPlugin) { + if (args.isPlugin && !args.showOnNavigation) { $li.hide(); } @@ -88,7 +88,7 @@ return $(this).hasClass(sectionID); }); var data = args.sections[sectionID]; - var isPlugin = data.isPlugin; + var isPlugin = data.isPlugin && !data.showOnNavigation; data.$browser = $browser;