X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/5fbecb65c701a7680aae9258ff16df6a1e9f35f5..93ea4b37138c4f617a9f8caa75485821d5df4041:/modules/tabsManager.js diff --git a/modules/tabsManager.js b/modules/tabsManager.js index cec88dc..70058a9 100644 --- a/modules/tabsManager.js +++ b/modules/tabsManager.js @@ -1,48 +1,33 @@ -rng.modules.tabsManager = function(sandbox) { +define(['views/tabs/tabs'], function(tabsView) { - var $ = sandbox.$; +return function(sandbox) { - var view = $(sandbox.getTemplate('main')()); - - var tabContent = {}; - - function selectTab(slug) { - var tabBar = view.find('#rng-tabsManager-tabBar'); - - var prevActive = tabBar.find('li.active'); - var prevSlug; - if(prevActive.length) - prevSlug = prevActive.find('a').attr('href').substr(1); - - 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')); - } - - - - view.on('click', 'li a', function(e) { - selectTab($(e.target).attr('href').substr(1)); + var view = new tabsView.View(); + view.on('leaving', function(slug) { + sandbox.publish('leaving', slug); + }); + view.on('tabSelected', function(slug) { + sandbox.publish('showed', slug); }); return { start: function() { + view.render(); sandbox.publish('ready'); }, getView: function() { - return view; + return view.$el; }, addTab: function(title, slug, contentView) { - tabContent[slug] = contentView; - view.find('#rng-tabsManager-tabBar').append(sandbox.getTemplate('tabHandle')({title: title, slug: slug})); - if(_.values(tabContent).length === 1) - selectTab(slug); + view.addTab(title, slug, contentView); + + }, + getCurrentSlug: function() { + return view.selectedTab; } } +}; -}; \ No newline at end of file +}); \ No newline at end of file