X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/5fbecb65c701a7680aae9258ff16df6a1e9f35f5..4e0553edaf87974f2e9565fcb0514b928cb48d8e:/modules/tabsManager.js?ds=sidebyside diff --git a/modules/tabsManager.js b/modules/tabsManager.js index cec88dc..a204858 100644 --- a/modules/tabsManager.js +++ b/modules/tabsManager.js @@ -1,9 +1,11 @@ -rng.modules.tabsManager = function(sandbox) { +define(function() { + +return function(sandbox) { var $ = sandbox.$; var view = $(sandbox.getTemplate('main')()); - + var currentSlug; var tabContent = {}; function selectTab(slug) { @@ -14,17 +16,23 @@ rng.modules.tabsManager = function(sandbox) { if(prevActive.length) prevSlug = prevActive.find('a').attr('href').substr(1); + if(prevSlug == slug) + return; + if(prevSlug) + sandbox.publish('leaving', prevSlug); + tabBar.find('li').removeClass('active'); tabBar.find('a[href=#' + slug + ']').parent().addClass('active'); if(prevSlug) tabContent[prevSlug].detach(); tabContent[slug].appendTo(view.find('#rng-tabsManager-content')); + currentSlug = slug; + sandbox.publish('showed', slug); } - - view.on('click', 'li a', function(e) { + view.on('click', '#rng-tabsManager-tabBar li a', function(e) { selectTab($(e.target).attr('href').substr(1)); }); @@ -42,7 +50,12 @@ rng.modules.tabsManager = function(sandbox) { view.find('#rng-tabsManager-tabBar').append(sandbox.getTemplate('tabHandle')({title: title, slug: slug})); if(_.values(tabContent).length === 1) selectTab(slug); + }, + getCurrentSlug: function() { + return currentSlug; } } -}; \ No newline at end of file +}; + +}); \ No newline at end of file