3 return function(sandbox) {
\r
7 var view = $(sandbox.getTemplate('main')());
\r
11 function selectTab(slug) {
\r
12 var tabBar = view.find('#rng-tabsManager-tabBar');
\r
14 var prevActive = tabBar.find('li.active');
\r
16 if(prevActive.length)
\r
17 prevSlug = prevActive.find('a').attr('href').substr(1);
\r
19 if(prevSlug == slug)
\r
22 sandbox.publish('leaving', prevSlug);
\r
24 tabBar.find('li').removeClass('active');
\r
25 tabBar.find('a[href=#' + slug + ']').parent().addClass('active');
\r
28 tabContent[prevSlug].detach();
\r
29 tabContent[slug].appendTo(view.find('#rng-tabsManager-content'));
\r
31 sandbox.publish('showed', slug);
\r
35 view.on('click', '#rng-tabsManager-tabBar li a', function(e) {
\r
36 selectTab($(e.target).attr('href').substr(1));
\r
41 sandbox.publish('ready');
\r
44 getView: function() {
\r
48 addTab: function(title, slug, contentView) {
\r
49 tabContent[slug] = contentView;
\r
50 view.find('#rng-tabsManager-tabBar').append(sandbox.getTemplate('tabHandle')({title: title, slug: slug}));
\r
51 if(_.values(tabContent).length === 1)
\r
54 getCurrentSlug: function() {
\r