File Manager
var Tree = function (element, options)
{
this.$element = $(element);
this.options = $.extend({}, $.fn.tree.defaults, options);
this.init();
};
Tree.prototype =
{
constructor: Tree,
init: function ()
{
var that = $(this);
this.$element.find("label.tree-toggler, .icon-folder-close, .icon-folder-open").click(
function ()
{
if ($(this).parent().parent().children("ul.tree").is(":visible"))
{
$(this).parent().children(".icon-folder-open")
.removeClass("icon-folder-open")
.addClass("icon-folder-close");
that.trigger('collapse');
}
else
{
$(this).parent().children(".icon-folder-close")
.removeClass("icon-folder-close")
.addClass("icon-folder-open");
that.trigger('expand');
}
$(this).parent().parent().children("ul.tree").toggle(300);
}
);
this.$element.find("li").click(
function ()
{
$('.tree-selected').removeClass("tree-selected");
$('li input:checked').parent().addClass("tree-selected");
}
);
return $(this);
},
collapseAll : function($speed)
{
this.$element.find("label.tree-toggler").each(
function()
{
$(this).parent().children(".icon-folder-open")
.removeClass("icon-folder-open")
.addClass("icon-folder-close");
$(this).parent().parent().children("ul.tree").hide($speed);
}
);
return $(this);
},
expandAll : function($speed)
{
this.$element.find("label.tree-toggler").each(
function()
{
$(this).parent().children(".icon-folder-close")
.removeClass("icon-folder-close")
.addClass("icon-folder-open");
$(this).parent().parent().children("ul.tree").show($speed);
}
);
return $(this);
},
};
$.fn.tree = function (option, value)
{
var methodReturn;
var $set = this.each(
function ()
{
var $this = $(this);
var data = $this.data('tree');
var options = typeof option === 'object' && option;
if (!data){
$this.data('tree', (data = new Tree(this, options)));
}
if (typeof option === 'string') {
methodReturn = data[option](value);
}
}
);
return (methodReturn === undefined) ? $set : methodReturn;
};
$.fn.tree.Constructor = Tree;
File Manager Version 1.0, Coded By Lucas
Email: hehe@yahoo.com