$(function(){ $(".web-tree").each(function(index,dom){ $(dom).webuiHtmlTree(); }); }); (function($) { $.fn.webuiHtmlTree = function(params){ if(!params) params = {}; var p = {}; var treeId = $(this).attr("id"); p.checkbox = false; if(params.click) p.onClick = params.click; if(params.select) p.onSelect = params.select; if(params.checkbox) p.checkbox = true; if(params.parentIcon) p.parentIcon = 'folder'; if(params.childIcon) p.childIcon = 'leaf'; if(params.cascade != undefined) p.inline = params.cascade; else p.inline = true; $("#"+treeId).webTree(p); }; $.fn.webuiTree = function(params,bindings){ var treeId = $(this).attr("id"); if(!params) params = {}; if(!bindings) bindings = {}; var p = {}; p.idFieldName = 'id'; p.textFieldName = 'name'; p.checkbox = false; p.parentIcon = null; p.childIcon = null; // p.treeLine=false ; if($(this).attr("openLevel") != "n"){ p.onBeforeExpand= function(note){ var manager = $("#"+treeId).webGetTreeManager(); if (!note.data.children) { if(note.data[p.idFieldName] != undefined) bindings[p.idFieldName] = note.data[p.idFieldName]; var _data; Newtouch.Ajax.sendParams(bindings,bindings.server, function(data){ _data = data; }, function(error){ }, true); //这里模拟一个加载节点的方法,append方法也用loadData(target,url)代替 if(_data) manager.append2(note.target, _data); } }; } // p.onClick =onClick; // p.onExpand = // if(pareams.collapse) p.onCollapse = pareams.collapse; if(params.parentField) p.parentIDFieldName = params.parentField; if(params.idField) p.idFieldName = params.idField; if(params.textField) p.textFieldName = params.textField; if(params.click) p.onClick = params.click; if(params.select) p.onSelect = params.select; if(params.checkbox) p.checkbox = true; if(params.parentIcon) p.parentIcon = 'folder'; if(params.childIcon) p.childIcon = 'leaf'; if(params.topParentIDValue) p.topParentIDValue = params.topParentIDValue if(params.cascade != undefined) p.inline = params.cascade; else p.inline = true; var openLevel = 1; if($(this).attr("openLevel")){ if($(this).attr("openLevel") != "n"){ openLevel = parseInt($(this).attr("openLevel")); }else{ Newtouch.Ajax.sendParams(bindings,bindings.server, function(data){ p.data = data; $("#"+treeId).webTree(p); }, function(error){ }); return; } } if(bindings.server){ // bindings._action = bindings.server; var data_tree = new Array(); p.data = treeData(openLevel,data_tree,bindings,p); } $("#"+treeId).webTree(p); }; $.fn.addTreeItem = function(params){ var id = $(this).attr("id"); var manage = $("#"+id).webGetTreeManager(); if(!params.node) params.node = manager.getSelected(); if(params.node){ manager.append(params.node.target, params.nodes); }else{ manager.append(null, params.nodes); } }; $.fn.removeTreeItem = function(){ var id = $(this).attr("id"); var manage = $("#"+id).webGetTreeManager(); var node = manager.getSelected(); if (node) manager.remove(node.target); else alert('请先选择节点'); }; $.fn.clearTree = function(){ var id = $(this).attr("id"); var manage = $("#"+id).webGetTreeManager(); manage.clear(); }; $.fn.getChecks =function(){ var id = $(this).attr("id"); if(!id) return; var manager = $("#"+id).webGetTreeManager(); var notes = manager.getChecked(); return notes; }; $.fn.selectNodes = function(func){ var id = $(this).attr("id"); if(!id) return; var manager = $("#"+id).webGetTreeManager(); if(func){ if(typeof(func) == "string") func = eval("("+func+")"); manager.selectNode(func); } }; })(jQuery); var treeData = function(openLevel,data_tree,bindings,p){ Newtouch.Ajax.sendParams(bindings,bindings.server, function(data){ if(data != null) data_tree = data_tree.concat(data); openLevel--; if(openLevel <= 0) return data_tree; for(var k = 0;k < data.length;k++){ bindings[p.idFieldName] = data[k][p.idFieldName]; data_tree = treeData(openLevel,data_tree,bindings,p); } }, function(error){ }, true); return data_tree; };