sync(dev): fehlende Admin-Theme-Assets vom Live-Stand ergaenzt (nichts ueberschrieben)
This commit is contained in:
@@ -0,0 +1,117 @@
|
||||
/*
|
||||
* R&S Tabs - jQuery plug-in
|
||||
*
|
||||
* Copyright 2010, Darius Zylka
|
||||
* MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||
*
|
||||
* Depends: jQuery 1.4.2+
|
||||
*/
|
||||
(function($) {
|
||||
|
||||
var defaults = {
|
||||
'cssNamespace': 'rsTabs',
|
||||
'position': 'left',
|
||||
'cufon': false,
|
||||
'ajax': {}
|
||||
};
|
||||
|
||||
var methods = {
|
||||
init : function(options) {
|
||||
|
||||
$.extend(defaults, options);
|
||||
|
||||
return this.each(function() {
|
||||
|
||||
var $this = $(this);
|
||||
var data = $this.data('rsTabs');
|
||||
|
||||
if (!data) {
|
||||
$(this).data('rsTabs', {
|
||||
'target': $this
|
||||
});
|
||||
}
|
||||
|
||||
$this.addClass(defaults.cssNamespace);
|
||||
|
||||
var $header = $('<div />').addClass(defaults.cssNamespace + '_Header');
|
||||
var $body = $('<div />').addClass(defaults.cssNamespace + '_Body');
|
||||
|
||||
$(this).children('div[title]').each(function() {
|
||||
var $thisContent = $(this);
|
||||
|
||||
|
||||
if (defaults.ajax[$thisContent.attr('id')]) {
|
||||
$thisContent.addClass('isAjaxableRsTab');
|
||||
}
|
||||
|
||||
var $tab = $('<div />')
|
||||
.click(function() {
|
||||
if (!$(this).hasClass(defaults.cssNamespace + '_HeaderTabActive')) {
|
||||
$('.' + defaults.cssNamespace + '_HeaderTab', $this).removeClass(defaults.cssNamespace + '_HeaderTabActive');
|
||||
$(this).addClass(defaults.cssNamespace + '_HeaderTabActive');
|
||||
|
||||
$('.' + defaults.cssNamespace + '_BodyElementActive', $this).removeClass(defaults.cssNamespace + '_BodyElementActive');
|
||||
$(this).data('rsTabs').addClass(defaults.cssNamespace + '_BodyElementActive');
|
||||
|
||||
if (defaults.ajax[$thisContent.attr('id')]) {
|
||||
$('.isAjaxableRsTab *').unbind();
|
||||
$('.isAjaxableRsTab').empty();
|
||||
defaults.ajax[$thisContent.attr('id')]($thisContent);
|
||||
}
|
||||
}
|
||||
})
|
||||
.addClass(defaults.cssNamespace + '_HeaderTab')
|
||||
.css({
|
||||
'float': defaults.position
|
||||
})
|
||||
.append('<span>' + $(this).attr('title') + '</span>')
|
||||
.appendTo($header)
|
||||
.attr('data-idrel', $thisContent.attr('id'))
|
||||
;
|
||||
|
||||
$tab.data('rsTabs', $thisContent);
|
||||
|
||||
$thisContent.bind('error', function(e, msg) {
|
||||
$('.error', $tab).remove();
|
||||
$('<div />').addClass('error').html(msg).appendTo($tab);
|
||||
});
|
||||
|
||||
$thisContent.addClass(defaults.cssNamespace + '_BodyElement').appendTo($body);
|
||||
$thisContent.attr({
|
||||
title: ''
|
||||
});
|
||||
});
|
||||
|
||||
$header.children(':first').addClass(defaults.cssNamespace + '_HeaderTabActive');
|
||||
$body.children(':first').addClass(defaults.cssNamespace + '_BodyElementActive');
|
||||
|
||||
$body.prependTo($this);
|
||||
$header.prependTo($this);
|
||||
|
||||
if (typeof defaults.cufon === 'object') {
|
||||
Cufon.replace($header, defaults.cufon);
|
||||
}
|
||||
|
||||
});
|
||||
},
|
||||
destroy : function() {
|
||||
|
||||
return this.each(function() {
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
$.fn.rsTabs = function(method) {
|
||||
|
||||
if (methods[method]) {
|
||||
return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
|
||||
} else if (typeof method === 'object' || ! method) {
|
||||
return methods.init.apply(this, arguments);
|
||||
} else {
|
||||
$.error('Method ' + method + ' does not exist on jQuery.rsTabs');
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
})( jQuery );
|
||||
Reference in New Issue
Block a user