Anfänglicher Commit: Producion Version Stand: Oktober 2014
This commit is contained in:
54
htdocs/grappelli/js/jquery.grp_collapsible_group.js
Normal file
54
htdocs/grappelli/js/jquery.grp_collapsible_group.js
Normal file
@@ -0,0 +1,54 @@
|
||||
/**
|
||||
* GRAPPELLI GROUP COLLAPSIBLES
|
||||
* handles open/closing of all elements
|
||||
* with tabular- and stacked-inlines.
|
||||
*/
|
||||
|
||||
(function($) {
|
||||
$.fn.grp_collapsible_group = function(options){
|
||||
var defaults = {
|
||||
open_handler_slctr: ".grp-open-handler",
|
||||
close_handler_slctr: ".grp-close-handler",
|
||||
collapsible_container_slctr: ".grp-collapse",
|
||||
closed_css: "grp-closed",
|
||||
open_css: "grp-open",
|
||||
on_init: function() {},
|
||||
on_open: function() {},
|
||||
on_close: function() {}
|
||||
};
|
||||
options = $.extend(defaults, options);
|
||||
return this.each(function() {
|
||||
_initialize($(this), options);
|
||||
});
|
||||
};
|
||||
var _initialize = function(elem, options) {
|
||||
options.on_init(elem, options);
|
||||
_register_handlers(elem, options);
|
||||
};
|
||||
var _register_handlers = function(elem, options) {
|
||||
_register_open_handler(elem, options);
|
||||
_register_close_handler(elem, options);
|
||||
};
|
||||
var _register_open_handler = function(elem, options) {
|
||||
elem.find(options.open_handler_slctr).each(function() {
|
||||
$(this).click(function() {
|
||||
options.on_open(elem, options);
|
||||
elem.find(options.collapsible_container_slctr)
|
||||
.removeClass(options.closed_css)
|
||||
.addClass(options.open_css);
|
||||
elem.removeClass(options.closed_css)
|
||||
.addClass(options.open_css);
|
||||
});
|
||||
});
|
||||
};
|
||||
var _register_close_handler = function(elem, options) {
|
||||
elem.find(options.close_handler_slctr).each(function() {
|
||||
$(this).click(function() {
|
||||
options.on_close(elem, options);
|
||||
elem.find(options.collapsible_container_slctr)
|
||||
.removeClass(options.open_css)
|
||||
.addClass(options.closed_css);
|
||||
});
|
||||
});
|
||||
};
|
||||
})(grp.jQuery);
|
||||
Reference in New Issue
Block a user