diff options
author | Claire Revillet <grenoya@mageia.org> | 2012-07-09 14:49:12 +0000 |
---|---|---|
committer | Claire Revillet <grenoya@mageia.org> | 2012-07-09 14:49:12 +0000 |
commit | 39451af644929d2210b19673ef57e917e2f8b00a (patch) | |
tree | fb7c7906e787235575c88d335bd4ec3d48092c68 /installer/2/uk/common/jquery/treeview/jquery.treeview.async.js | |
parent | 64271fbf18bc69c38538a734b16bbf18b5bcd0fa (diff) | |
download | doc-39451af644929d2210b19673ef57e917e2f8b00a.tar doc-39451af644929d2210b19673ef57e917e2f8b00a.tar.gz doc-39451af644929d2210b19673ef57e917e2f8b00a.tar.bz2 doc-39451af644929d2210b19673ef57e917e2f8b00a.tar.xz doc-39451af644929d2210b19673ef57e917e2f8b00a.zip |
- add EL, EO, FR, NL, PT_BR and UK pages (still no link from index)
Diffstat (limited to 'installer/2/uk/common/jquery/treeview/jquery.treeview.async.js')
-rw-r--r-- | installer/2/uk/common/jquery/treeview/jquery.treeview.async.js | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/installer/2/uk/common/jquery/treeview/jquery.treeview.async.js b/installer/2/uk/common/jquery/treeview/jquery.treeview.async.js new file mode 100644 index 00000000..c91a9c62 --- /dev/null +++ b/installer/2/uk/common/jquery/treeview/jquery.treeview.async.js @@ -0,0 +1,72 @@ +/* + * Async Treeview 0.1 - Lazy-loading extension for Treeview + * + * http://bassistance.de/jquery-plugins/jquery-plugin-treeview/ + * + * Copyright (c) 2007 Jörn Zaefferer + * + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + * + * Revision: $Id$ + * + */ + +;(function($) { + +function load(settings, root, child, container) { + $.getJSON(settings.url, {root: root}, function(response) { + function createNode(parent) { + var current = $("<li/>").attr("id", this.id || "").html("<span>" + this.text + "</span>").appendTo(parent); + if (this.classes) { + current.children("span").addClass(this.classes); + } + if (this.expanded) { + current.addClass("open"); + } + if (this.hasChildren || this.children && this.children.length) { + var branch = $("<ul/>").appendTo(current); + if (this.hasChildren) { + current.addClass("hasChildren"); + createNode.call({ + text:"placeholder", + id:"placeholder", + children:[] + }, branch); + } + if (this.children && this.children.length) { + $.each(this.children, createNode, [branch]) + } + } + } + $.each(response, createNode, [child]); + $(container).treeview({add: child}); + }); +} + +var proxied = $.fn.treeview; +$.fn.treeview = function(settings) { + if (!settings.url) { + return proxied.apply(this, arguments); + } + var container = this; + load(settings, "source", this, container); + var userToggle = settings.toggle; + return proxied.call(this, $.extend({}, settings, { + collapsed: true, + toggle: function() { + var $this = $(this); + if ($this.hasClass("hasChildren")) { + var childList = $this.removeClass("hasChildren").find("ul"); + childList.empty(); + load(settings, this.id, childList, container); + } + if (userToggle) { + userToggle.apply(this, arguments); + } + } + })); +}; + +})(jQuery);
\ No newline at end of file |