diff options
Diffstat (limited to 'mod/pages/vendors/jquery-treeview/jquery.treeview.edit.js')
| -rw-r--r-- | mod/pages/vendors/jquery-treeview/jquery.treeview.edit.js | 37 | 
1 files changed, 37 insertions, 0 deletions
diff --git a/mod/pages/vendors/jquery-treeview/jquery.treeview.edit.js b/mod/pages/vendors/jquery-treeview/jquery.treeview.edit.js new file mode 100644 index 000000000..f3c580b3f --- /dev/null +++ b/mod/pages/vendors/jquery-treeview/jquery.treeview.edit.js @@ -0,0 +1,37 @@ +(function($) { +	var CLASSES = $.treeview.classes; +	var proxied = $.fn.treeview; +	$.fn.treeview = function(settings) { +		settings = $.extend({}, settings); +		if (settings.add) { +			return this.trigger("add", [settings.add]); +		} +		if (settings.remove) { +			return this.trigger("remove", [settings.remove]); +		} +		return proxied.apply(this, arguments).bind("add", function(event, branches) { +			$(branches).prev() +				.removeClass(CLASSES.last) +				.removeClass(CLASSES.lastCollapsable) +				.removeClass(CLASSES.lastExpandable) +			.find(">.hitarea") +				.removeClass(CLASSES.lastCollapsableHitarea) +				.removeClass(CLASSES.lastExpandableHitarea); +			$(branches).find("li").andSelf().prepareBranches(settings).applyClasses(settings, $(this).data("toggler")); +		}).bind("remove", function(event, branches) { +			var prev = $(branches).prev(); +			var parent = $(branches).parent(); +			$(branches).remove(); +			prev.filter(":last-child").addClass(CLASSES.last) +				.filter("." + CLASSES.expandable).replaceClass(CLASSES.last, CLASSES.lastExpandable).end() +				.find(">.hitarea").replaceClass(CLASSES.expandableHitarea, CLASSES.lastExpandableHitarea).end() +				.filter("." + CLASSES.collapsable).replaceClass(CLASSES.last, CLASSES.lastCollapsable).end() +				.find(">.hitarea").replaceClass(CLASSES.collapsableHitarea, CLASSES.lastCollapsableHitarea); +			if (parent.is(":not(:has(>))") && parent[0] != this) { +				parent.parent().removeClass(CLASSES.collapsable).removeClass(CLASSES.expandable) +				parent.siblings(".hitarea").andSelf().remove(); +			} +		}); +	}; +	 +})(jQuery);
\ No newline at end of file  | 
