1 //require <jquery.packed.js> 2 (function(){ 3 4 var $ = jQuery; 5 6 if ( typeof(Xataface) == 'undefined' ) Xataface = {}; 7 if ( typeof(Xataface.blocks) == 'undefined' ) Xataface.blocks = {}; 8 if ( typeof(Xataface.blocks.collapsible_sidebar) ) Xataface.blocks.collapsible_sidebar = {}; 9 10 var treeExpandedURL = DATAFACE_URL+'/images/treeExpanded.gif'; 11 var treeCollapsedURL = DATAFACE_URL+'/images/treeCollapsed.gif'; 12 13 Xataface.blocks.collapsible_sidebar.toggleCallback = function(){ 14 // this : dom element 15 jQuery(this).toggleClass('Dataface_collapsible_sidebar-closed'); 16 jQuery(this).toggleClass('closed'); 17 var img = jQuery(this).prev().find('img').get(0); 18 if ( img.src == treeExpandedURL) img.src = treeCollapsedURL; 19 else img.src = treeExpandedURL; 20 21 if ( jQuery(this).hasClass('closed') ){ 22 var collapseCallback = this.parentNode.getAttribute('oncollapse'); 23 24 this.parentNode.oncollapse = function(){eval(collapseCallback);}; 25 this.parentNode.oncollapse(); 26 } else { 27 var expandCallback = this.parentNode.getAttribute('onexpand'); 28 this.parentNode.onexpand = function(){ eval(expandCallback);}; 29 this.parentNode.onexpand(); 30 } 31 32 }; 33 jQuery(document).ready(function($){ 34 var handles = jQuery('.expansion-handle'); 35 for ( var i=0; i<handles.length; i++ ){ 36 jQuery(handles[i]).click(function(){ 37 jQuery(this).parent().next().slideToggle("slow", Xataface.blocks.collapsible_sidebar.toggleCallback); 38 }); 39 } 40 41 }); 42 43 })();