| [ Index ] |
PHP Cross Reference of Drupal 6 (yi-drupal) |
[Summary view] [Print] [Text view]
1 // $Id: vertical_tabs.js,v 1.3.2.19 2010/02/03 18:24:42 davereid Exp $ 2 3 Drupal.verticalTabs = Drupal.verticalTabs || {}; 4 Drupal.settings.verticalTabs = Drupal.settings.verticalTabs || {}; 5 6 Drupal.behaviors.verticalTabs = function() { 7 if (!$('.vertical-tabs-list').size() && Drupal.settings.verticalTabs) { 8 var ul = $('<ul class="vertical-tabs-list"></ul>'); 9 var panes = $('<div class="vertical-tabs-panes"></div>'); 10 $.each(Drupal.settings.verticalTabs, function(k, v) { 11 var summary = '', cssClass = 'vertical-tabs-list-' + k; 12 if (v.callback && Drupal.verticalTabs[v.callback]) { 13 summary = '<span class="summary">'+ Drupal.verticalTabs[v.callback].apply(this, v.args) +'</span>'; 14 } 15 else { 16 cssClass += ' vertical-tabs-nosummary'; 17 } 18 19 // Add a list item to the vertical tabs list. 20 $('<li class="vertical-tab-button"><a href="#' + k + '" class="' + cssClass + '"><strong>'+ v.name + '</strong>' + summary +'</a></li>').appendTo(ul) 21 .find('a') 22 .bind('click', function() { 23 $(this).parent().addClass('selected').siblings().removeClass('selected'); 24 $('.vertical-tabs-' + k).show().siblings('.vertical-tabs-pane').hide(); 25 return false; 26 }); 27 28 // Find the contents of the fieldset (depending on #collapsible property). 29 var fieldset = $('<fieldset></fieldset>'); 30 var fieldsetContents = $('.vertical-tabs-' + k + ' > .fieldset-wrapper > *'); 31 if (fieldsetContents.size()) { 32 fieldsetContents.appendTo(fieldset); 33 } 34 else { 35 $('.vertical-tabs-' + k).children().appendTo(fieldset); 36 } 37 38 // Remove the legend from the fieldset. 39 fieldset.children('legend').remove(); 40 41 // Add the fieldset contents to the toggled fieldsets. 42 fieldset.appendTo(panes) 43 .addClass('vertical-tabs-' + k) 44 .addClass('vertical-tabs-pane') 45 .find('input, select, textarea').bind('change', function() { 46 if (v.callback && Drupal.verticalTabs[v.callback]) { 47 $('a.vertical-tabs-list-' + k + ' span.summary').html(Drupal.verticalTabs[v.callback].apply(this, v.args)); 48 } 49 }); 50 $('.vertical-tabs-' + k).remove(); 51 }); 52 53 $('div.vertical-tabs').html(ul).append(panes); 54 55 // Add an error class to any fieldsets with errors in them. 56 $('fieldset.vertical-tabs-pane').each(function(i){ 57 if ($(this).find('div.form-item .error').size()) { 58 $('li.vertical-tab-button').eq(i).addClass('error'); 59 } 60 }) 61 62 // Activate the first tab. 63 $('fieldset.vertical-tabs-pane').hide(); 64 $('fieldset.vertical-tabs-pane:first').show(); 65 $('div.vertical-tabs ul li:first').addClass('first selected'); 66 $('div.vertical-tabs ul li:last').addClass('last'); 67 $('div.vertical-tabs').show(); 68 } 69 } 70 71 Drupal.behaviors.verticalTabsReload = function() { 72 $.each(Drupal.settings.verticalTabs, function(k, v) { 73 if (v.callback && Drupal.verticalTabs[v.callback]) { 74 $('a.vertical-tabs-list-' + k + ' span.summary').html(Drupal.verticalTabs[v.callback].apply(this, v.args)); 75 } 76 }); 77 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated: Mon Jul 9 18:01:44 2012 | Cross-referenced by PHPXref 0.7 |