-rng.modules.tabsManager = function(sandbox) {\r
+define(function() {\r
+\r
+return function(sandbox) {\r
\r
var $ = sandbox.$;\r
\r
var view = $(sandbox.getTemplate('main')());\r
- \r
+ var currentSlug;\r
var tabContent = {};\r
\r
function selectTab(slug) {\r
\r
if(prevSlug == slug)\r
return;\r
+ if(prevSlug)\r
+ sandbox.publish('leaving', prevSlug);\r
\r
tabBar.find('li').removeClass('active');\r
tabBar.find('a[href=#' + slug + ']').parent().addClass('active');\r
if(prevSlug)\r
tabContent[prevSlug].detach();\r
tabContent[slug].appendTo(view.find('#rng-tabsManager-content'));\r
+ currentSlug = slug;\r
+ sandbox.publish('showed', slug);\r
}\r
\r
\r
- \r
- view.on('click', 'li a', function(e) {\r
+ view.on('click', '#rng-tabsManager-tabBar li a', function(e) {\r
selectTab($(e.target).attr('href').substr(1));\r
});\r
\r
view.find('#rng-tabsManager-tabBar').append(sandbox.getTemplate('tabHandle')({title: title, slug: slug}));\r
if(_.values(tabContent).length === 1)\r
selectTab(slug);\r
+ },\r
+ getCurrentSlug: function() {\r
+ return currentSlug;\r
}\r
}\r
\r
-};
\ No newline at end of file
+};\r
+\r
+});
\ No newline at end of file