mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 12:05:37 +00:00
Disable tab state logic on uninit'ed tabs, allow opt-out
Fixes a problem when switching between ajax tabs, e.g. "Content" and "Settings" in admin/pages/edit/show/<id>.
This commit is contained in:
parent
c493dc730a
commit
bf91594e4f
@ -444,6 +444,8 @@ jQuery.noConflict();
|
||||
this.find('.cms-tabset,.ss-tabset').each(function(i, el) {
|
||||
var id = $(el).attr('id');
|
||||
if(!id) return; // we need a unique reference
|
||||
if(!$(el).data('tabs')) return; // don't act on uninit'ed controls
|
||||
if($(el).data('ignoreTabState')) return; // allow opt-out
|
||||
selectedTabs.push({id:id, selected:$(el).tabs('option', 'selected')});
|
||||
});
|
||||
if(selectedTabs) window.sessionStorage.setItem('tabs-' + url, JSON.stringify(selectedTabs));
|
||||
@ -461,7 +463,9 @@ jQuery.noConflict();
|
||||
selectedTabs = data ? JSON.parse(data) : false;
|
||||
if(selectedTabs) {
|
||||
$.each(selectedTabs, function(i, selectedTab) {
|
||||
self.find('#' + selectedTab.id).tabs('select', selectedTab.selected);
|
||||
var el = self.find('#' + selectedTab.id);
|
||||
if(!el.data('tabs')) return; // don't act on uninit'ed controls
|
||||
el.tabs('select', selectedTab.selected);
|
||||
});
|
||||
}
|
||||
},
|
||||
|
Loading…
x
Reference in New Issue
Block a user