(function($){ $.entwine('ss', function($){ /** * Lightweight wrapper around jQuery UI tabs. */ $('.ss-tabset').entwine({ onmatch: function() { // Can't name redraw() as it clashes with other CMS entwine classes this.redrawTabs(); this._super(); }, onunmatch: function() { this._super(); }, redrawTabs: function() { this.rewriteHashlinks(); this.tabs(); }, /** * Replace prefixes for all hashlinks in tabs. * SSViewer rewrites them from "#Root_MyTab" to * e.g. "/admin/#Root_MyTab" which makes them * unusable for jQuery UI. */ rewriteHashlinks: function() { $(this).find('ul a').each(function() { var href = $(this).attr('href').replace(/.*(#.*)/, '$1'); if(href) $(this).attr('href', href); }); } }); }); })(jQuery);