silverstripe-framework/javascript/TabSet.js
Ingo Schommer b930fbfe20 BUGFIX Setting cookie name in TabSet.js to avoid writing new cookies with arbitrary identifiers on every page load
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@92529 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-11-21 02:31:13 +00:00

32 lines
888 B
JavaScript

(function($){
/**
* Lightweight wrapper around jQuery UI tabs.
* Ensures that anchor links are set properly,
* and any nested tabs are scrolled if they have
* their height explicitly set. This is important
* for forms inside the CMS layout.
*/
$('.ss-tabset').concrete({
onmatch: function() {
this.rewriteHashlinks();
// Initialize jQuery UI tabs
this.tabs({
cookie: $.cookie ? { expires: 30, path: '/', name: 'ui-tabs-' + this.attr('id') } : false
});
},
/**
* 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);