diff --git a/README.md b/README.md
index e947d7196fe13516f893d4f03c6fbeaaafbede73..df0516ed4dcc16d2f0ac973c4e06d8bad8a3954c 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
jQuery Tree Plugin ---- zTree
============
-last verson : 3.5.16-beta.2
+last verson : 3.5.16-beta.3
**Donate to zTree** : http://www.ztree.me/v3/donate.php
diff --git a/api/apiCss/api.js b/api/apiCss/api.js
index 84fb59ef00681b9863066a0c0f8447017171ee4a..37dd4ba3124919093505a938fdf1e1405afa29ab 100644
--- a/api/apiCss/api.js
+++ b/api/apiCss/api.js
@@ -58,7 +58,7 @@ var apiContent = {
onNodeCreated: this.onNodeCreated,
beforeClick: this.beforeClick
}
- }
+ };
var setting_nodes =[
{id:1, pId:0, t:"setting", name:"var setting = {", open:true},
{id:11, pId:1, t:"treeId", name:"treeId : \"\",", iconSkin:"core", showAPI:true},
@@ -99,8 +99,9 @@ var apiContent = {
{id:3017, pId:30, t:"onCheck", name:"onCheck : null,", iconSkin:"check", showAPI:true},
{id:3018, pId:30, t:"onClick", name:"onClick : null,", iconSkin:"core", showAPI:true},
{id:3019, pId:30, t:"onCollapse", name:"onCollapse : null,", iconSkin:"core", showAPI:true},
- {id:3019, pId:30, t:"onDblClick", name:"onDblClick : null,", iconSkin:"core", showAPI:true},
+ {id:3029, pId:30, t:"onDblClick", name:"onDblClick : null,", iconSkin:"core", showAPI:true},
{id:3020, pId:30, t:"onDrag", name:"onDrag : null,", iconSkin:"edit", showAPI:true},
+ {id:3030, pId:30, t:"onDragMove", name:"onDragMove : null,", iconSkin:"edit", showAPI:true},
{id:3021, pId:30, t:"onDrop", name:"onDrop : null,", iconSkin:"edit", showAPI:true},
{id:3022, pId:30, t:"onExpand", name:"onExpand : null,", iconSkin:"core", showAPI:true},
{id:3023, pId:30, t:"onMouseDown", name:"onMouseDown : null,", iconSkin:"core", showAPI:true},
diff --git a/api/cn/setting.callback.onDrag.html b/api/cn/setting.callback.onDrag.html
index f7e059799034e09ce902c571463987961c1fc101..efd115bda6dfafff661361534ea3032f5ac45a86 100644
--- a/api/cn/setting.callback.onDrag.html
+++ b/api/cn/setting.callback.onDrag.html
@@ -6,7 +6,7 @@
用于捕获节点被拖拽的事件回调函数
-
如果设置了 setting.callback.beforeDrag 方法,且返回 false,将无法触发 onDrag 事件回调函数。
+
如果设置了 setting.callback.beforeDrag 方法,且返回 false,将无法触发 onDragMove 和 onDrag 事件回调函数。
默认值:null
diff --git a/api/cn/setting.callback.onDragMove.html b/api/cn/setting.callback.onDragMove.html
new file mode 100644
index 0000000000000000000000000000000000000000..e6a8dd9efc9a3b74cd4b857889f5f3675385c494
--- /dev/null
+++ b/api/cn/setting.callback.onDragMove.html
@@ -0,0 +1,34 @@
+
+
+
Function(event, treeId, treeNodes) setting.callback. onDragMove
+
概述[ 依赖 jquery.ztree.exedit 扩展 js ]
+
+
+
+
用于捕获节点被拖拽过程中移动的事件回调函数
+
主要用于捕获 zTree 节点拖拽到的 DOM,从而操作对应的 DOM。
+
默认值:null
+
+
+
Function 参数说明
+
+
event js event 对象
+
标准的 js event 对象
+
treeId String
+
被拖拽的节点 treeNodes 所在 zTree 的 treeId ,便于用户操控
+
treeNodes Array(JSON)
+
要被拖拽的节点 JSON 数据集合
+
+
setting & function 举例
+
1. 拖拽节点时,随时输出 当前拖拽到的目标 DOM
+
function zTreeOnDragMove(event, treeId, treeNodes) {
+ console.log(event.target);
+};
+var setting = {
+ callback: {
+ onDragMove: zTreeOnDragMove
+ }
+};
+......
+
+
\ No newline at end of file
diff --git a/api/en/setting.callback.onDrag.html b/api/en/setting.callback.onDrag.html
index 30c738d76d66bc859ce523e1ab133577b80f7a99..d178b635e139b96716f7e756430b3727e6bcd500 100644
--- a/api/en/setting.callback.onDrag.html
+++ b/api/en/setting.callback.onDrag.html
@@ -6,7 +6,7 @@
Used to capture the drag event when drag node.
-
If you set 'setting.callback.beforeDrag',and return false, zTree will stop drag, and will not trigger the 'onDrag' callback.
+
If you set 'setting.callback.beforeDrag',and return false, zTree will stop drag, and will not trigger the 'onDragMove' & 'onDrag' callback.
Default: null
diff --git a/api/en/setting.callback.onDragMove.html b/api/en/setting.callback.onDragMove.html
new file mode 100644
index 0000000000000000000000000000000000000000..a56e83534c403298dae4ae1c7916fecb7fbe10fc
--- /dev/null
+++ b/api/en/setting.callback.onDragMove.html
@@ -0,0 +1,34 @@
+
+
+
Function(event, treeId, treeNodes) setting.callback. onDragMove
+
Overview[ depends on jquery.ztree.exedit js ]
+
+
+
+
Used to capture the drag-move event when drag & drop node.
+
Mainly used to capture the DOM which the nodes was drag in.
+
Default: null
+
+
+
Function Parameter Descriptions
+
+
event js event Object
+
event Object
+
treeId String
+
zTree unique identifier: treeId , the tree is what the treeNodes are belong to, easy for users to control.
+
treeNodes Array(JSON)
+
A collection of the nodes which will be dragged
+
+
Examples of setting & function
+
1. When drag nodes, output the target dom.
+
function zTreeOnDragMove(event, treeId, treeNodes) {
+ console.log(event.target);
+};
+var setting = {
+ callback: {
+ onDragMove: zTreeOnDragMove
+ }
+};
+......
+
+
\ No newline at end of file
diff --git a/demo/cn/super/dragWithOther.html b/demo/cn/super/dragWithOther.html
index 04a5b7c440aa9bc069cd2bbd9e16b4a74bdd9aed..91e80e88ea849ff2cc3b7ca3bf574c9736705212 100644
--- a/demo/cn/super/dragWithOther.html
+++ b/demo/cn/super/dragWithOther.html
@@ -32,6 +32,22 @@
innerTree: function(treeId, treeNodes, targetNode) {
return targetNode!=null && targetNode.isParent && targetNode.tId == treeNodes[0].parentTId;
},
+ dragMove: function(e, treeId, treeNodes) {
+ var p = null, pId = 'dom_' + treeNodes[0].pId;
+ if (e.target.id == pId) {
+ p = $(e.target);
+ } else {
+ p = $(e.target).parent('#' + pId);
+ if (!p.get(0)) {
+ p = null;
+ }
+ }
+
+ $('.domBtnDiv .active').removeClass('active');
+ if (p) {
+ p.addClass('active');
+ }
+ },
dropTree2Dom: function(e, treeId, treeNodes, targetNode, moveType) {
var domId = "dom_" + treeNodes[0].getParentNode().id;
if (moveType == null && (domId == e.target.id || $(e.target).parents("#" + domId).length > 0)) {
@@ -171,6 +187,7 @@
callback: {
beforeDrag: MoveTest.dragTree2Dom,
onDrop: MoveTest.dropTree2Dom,
+ onDragMove: MoveTest.dragMove,
onMouseUp: MoveTest.dom2Tree
},
view: {
@@ -201,6 +218,7 @@
.domBtn {display:inline-block;cursor:pointer;padding:2px;margin:2px 10px;border:1px gray solid;background-color:#FFE6B0}
.domBtn_Disabled {display:inline-block;cursor:default;padding:2px;margin:2px 10px;border:1px gray solid;background-color:#DFDFDF;color:#999999}
.dom_tmp {position:absolute;font-size:12px;}
+.active {background-color: #93C3CF}
@@ -215,7 +233,7 @@
实现方法说明
- zTree v3.2 版本修正了 onDrag/onDrop 中的 event 对象,因此可以较容易的控制将节点拖拽到其他 DOM
+ zTree v3.2 版本修正了 onDrag/onDrop 中的 event 对象; v3.5.16 版本增加了 onDragMove; 因此可以较容易的控制将节点拖拽到其他 DOM
将其他 DOM 拖拽到 zTree 需要自己制作相关的拖拽代码
这仅仅是一个最简单的演示,如果需要更炫的效果,需要制作更复杂的代码
diff --git a/demo/en/super/dragWithOther.html b/demo/en/super/dragWithOther.html
index 31426c3c2f765b73f3a4ce2fa608d1963b83bc77..81e6b4c3ef12367bad9f1fb34e9784348ec7bb9b 100644
--- a/demo/en/super/dragWithOther.html
+++ b/demo/en/super/dragWithOther.html
@@ -32,6 +32,22 @@
innerTree: function(treeId, treeNodes, targetNode) {
return targetNode!=null && targetNode.isParent && targetNode.tId == treeNodes[0].parentTId;
},
+ dragMove: function(e, treeId, treeNodes) {
+ var p = null, pId = 'dom_' + treeNodes[0].pId;
+ if (e.target.id == pId) {
+ p = $(e.target);
+ } else {
+ p = $(e.target).parent('#' + pId);
+ if (!p.get(0)) {
+ p = null;
+ }
+ }
+
+ $('.domBtnDiv .active').removeClass('active');
+ if (p) {
+ p.addClass('active');
+ }
+ },
dropTree2Dom: function(e, treeId, treeNodes, targetNode, moveType) {
var domId = "dom_" + treeNodes[0].getParentNode().id;
if (moveType == null && (domId == e.target.id || $(e.target).parents("#" + domId).length > 0)) {
@@ -170,6 +186,7 @@
callback: {
beforeDrag: MoveTest.dragTree2Dom,
onDrop: MoveTest.dropTree2Dom,
+ onDragMove: MoveTest.dragMove,
onMouseUp: MoveTest.dom2Tree
},
view: {
@@ -200,6 +217,7 @@
.domBtn {display:inline-block;cursor:pointer;padding:2px;margin:2px 10px;border:1px gray solid;background-color:#FFE6B0}
.domBtn_Disabled {display:inline-block;cursor:default;padding:2px;margin:2px 10px;border:1px gray solid;background-color:#DFDFDF;color:#999999}
.dom_tmp {position:absolute;font-size:12px;}
+.active {background-color: #93C3CF}
@@ -214,7 +232,7 @@
Explanation of implementation method
- zTree v3.2 modified the event object in onDrag/onDrop, thus the nodes can be draged to other DOMs easily.
+ zTree v3.2 modified the event object in onDrag/onDrop; v3.5.16 add the onDragMove callback, thus the nodes can be draged to other DOMs easily.
To drag other DOMS to zTree, you need to build the drag codes by yourself.
This is just a simple Demo. If you need more features, please build more complicated codes.
diff --git a/js/jquery.ztree.all-3.5.js b/js/jquery.ztree.all-3.5.js
index f60c13b162945e7cbee1aa989782b76035679dd3..8be88893da8e9542d196b4853f7d031b21436731 100644
--- a/js/jquery.ztree.all-3.5.js
+++ b/js/jquery.ztree.all-3.5.js
@@ -1,6 +1,6 @@
/*
- * JQuery zTree core v3.5.16-beta.2
+ * JQuery zTree core v3.5.16-beta.3
* http://zTree.me/
*
* Copyright (c) 2010 Hunter.z
@@ -9,7 +9,7 @@
* http://www.opensource.org/licenses/mit-license.php
*
* email: hunter.z@263.net
- * Date: 2013-11-03
+ * Date: 2013-11-24
*/
(function($){
var settings = {}, roots = {}, caches = {},
@@ -1678,7 +1678,7 @@
consts = zt.consts;
})(jQuery);
/*
- * JQuery zTree excheck v3.5.16-beta.2
+ * JQuery zTree excheck v3.5.16-beta.3
* http://zTree.me/
*
* Copyright (c) 2010 Hunter.z
@@ -1687,7 +1687,7 @@
* http://www.opensource.org/licenses/mit-license.php
*
* email: hunter.z@263.net
- * Date: 2013-11-03
+ * Date: 2013-11-24
*/
(function($){
//default consts of excheck
@@ -1750,7 +1750,8 @@
var o = setting.treeObj,
c = consts.event;
o.bind(c.CHECK, function (event, srcEvent, treeId, node) {
- tools.apply(setting.callback.onCheck, [!!srcEvent?srcEvent : event, treeId, node]);
+ event.srcEvent = srcEvent;
+ tools.apply(setting.callback.onCheck, [event, treeId, node]);
});
},
_unbindEvent = function(setting) {
@@ -2304,7 +2305,7 @@
}
})(jQuery);
/*
- * JQuery zTree exedit v3.5.16-beta.2
+ * JQuery zTree exedit v3.5.16-beta.3
* http://zTree.me/
*
* Copyright (c) 2010 Hunter.z
@@ -2313,7 +2314,7 @@
* http://www.opensource.org/licenses/mit-license.php
*
* email: hunter.z@263.net
- * Date: 2013-11-03
+ * Date: 2013-11-24
*/
(function($){
//default consts of exedit
@@ -2322,7 +2323,8 @@
DRAG: "ztree_drag",
DROP: "ztree_drop",
REMOVE: "ztree_remove",
- RENAME: "ztree_rename"
+ RENAME: "ztree_rename",
+ DRAGMOVE:"ztree_dragmove"
},
id: {
EDIT: "_edit",
@@ -2374,6 +2376,7 @@
beforeEditName:null,
beforeRename:null,
onDrag:null,
+ onDragMove:null,
onDrop:null,
onRename:null
}
@@ -2407,6 +2410,10 @@
tools.apply(setting.callback.onDrag, [srcEvent, treeId, treeNodes]);
});
+ o.bind(c.DRAGMOVE,function(event, srcEvent, treeId, treeNodes){
+ tools.apply(setting.callback.onDragMove,[srcEvent, treeId, treeNodes]);
+ });
+
o.bind(c.DROP, function (event, srcEvent, treeId, treeNodes, targetNode, moveType, isCopy) {
tools.apply(setting.callback.onDrop, [srcEvent, treeId, treeNodes, targetNode, moveType, isCopy]);
});
@@ -2417,6 +2424,7 @@
o.unbind(c.RENAME);
o.unbind(c.REMOVE);
o.unbind(c.DRAG);
+ o.unbind(c.DRAGMOVE);
o.unbind(c.DROP);
},
//default event proxy of exedit
@@ -2896,6 +2904,8 @@
}
preTmpTargetNodeId = tmpTargetNodeId;
preTmpMoveType = moveType;
+
+ setting.treeObj.trigger(consts.event.DRAGMOVE, [event, setting.treeId, nodes]);
}
return false;
}
diff --git a/js/jquery.ztree.all-3.5.min.js b/js/jquery.ztree.all-3.5.min.js
index ad98b3b99cff54e510cdfe6289f402c06daa2f51..bafbe804cc6eafcd1919fef1c06c8356ea1d7ea8 100644
--- a/js/jquery.ztree.all-3.5.min.js
+++ b/js/jquery.ztree.all-3.5.min.js
@@ -1,6 +1,6 @@
/*
- * JQuery zTree core v3.5.16-beta.2
+ * JQuery zTree core v3.5.16-beta.3
* http://zTree.me/
*
* Copyright (c) 2010 Hunter.z
@@ -9,7 +9,7 @@
* http://www.opensource.org/licenses/mit-license.php
*
* email: hunter.z@263.net
- * Date: 2013-11-03
+ * Date: 2013-11-24
*/
(function(p){var G,H,I,J,K,L,r={},u={},v={},M={treeId:"",treeObj:null,view:{addDiyDom:null,autoCancelSelected:!0,dblClickExpand:!0,expandSpeed:"fast",fontCss:{},nameIsHTML:!1,selectedMulti:!0,showIcon:!0,showLine:!0,showTitle:!0,txtSelectedEnable:!1},data:{key:{children:"children",name:"name",title:"",url:"url"},simpleData:{enable:!1,idKey:"id",pIdKey:"pId",rootPId:null},keep:{parent:!1,leaf:!1}},async:{enable:!1,contentType:"application/x-www-form-urlencoded",type:"post",dataType:"text",url:"",autoParam:[],
otherParam:[],dataFilter:null},callback:{beforeAsync:null,beforeClick:null,beforeDblClick:null,beforeRightClick:null,beforeMouseDown:null,beforeMouseUp:null,beforeExpand:null,beforeCollapse:null,beforeRemove:null,onAsyncError:null,onAsyncSuccess:null,onNodeCreated:null,onClick:null,onDblClick:null,onRightClick:null,onMouseDown:null,onMouseUp:null,onExpand:null,onCollapse:null,onRemove:null}},w=[function(b){var a=b.treeObj,c=e.event;a.bind(c.NODECREATED,function(a,c,g){j.apply(b.callback.onNodeCreated,
@@ -69,7 +69,7 @@ a.getParentNode(),!0,!1,function(){try{k(a,d).focus().blur()}catch(b){}});else t
0,b[a]):d.async.enable&&d.async.url&&d.async.url!==""&&i.asyncNode(d);return c}};var N=p.fn.zTree,k=j.$,e=N.consts})(jQuery);
/*
- * JQuery zTree excheck v3.5.16-beta.2
+ * JQuery zTree excheck v3.5.16-beta.3
* http://zTree.me/
*
* Copyright (c) 2010 Hunter.z
@@ -78,7 +78,7 @@ a.getParentNode(),!0,!1,function(){try{k(a,d).focus().blur()}catch(b){}});else t
* http://www.opensource.org/licenses/mit-license.php
*
* email: hunter.z@263.net
- * Date: 2013-11-03
+ * Date: 2013-11-24
*/
(function(m){var p,q,r,o={event:{CHECK:"ztree_check"},id:{CHECK:"_check"},checkbox:{STYLE:"checkbox",DEFAULT:"chk",DISABLED:"disable",FALSE:"false",TRUE:"true",FULL:"full",PART:"part",FOCUS:"focus"},radio:{STYLE:"radio",TYPE_ALL:"all",TYPE_LEVEL:"level"}},v={check:{enable:!1,autoCheckTrigger:!1,chkStyle:o.checkbox.STYLE,nocheckInherit:!1,chkDisabledInherit:!1,radioType:o.radio.TYPE_LEVEL,chkboxType:{Y:"ps",N:"ps"}},data:{key:{checked:"checked"}},callback:{beforeCheck:null,onCheck:null}};p=function(b,
a){if(a.chkDisabled===!0)return!1;var c=f.getSetting(b.data.treeId),d=c.data.key.checked;if(k.apply(c.callback.beforeCheck,[c.treeId,a],!0)==!1)return!0;a[d]=!a[d];e.checkNodeRelation(c,a);d=n(a,j.id.CHECK,c);e.setChkClass(c,d,a);e.repairParentChkClassWithSelf(c,a);c.treeObj.trigger(j.event.CHECK,[b,c.treeId,a]);return!0};q=function(b,a){if(a.chkDisabled===!0)return!1;var c=f.getSetting(b.data.treeId),d=n(a,j.id.CHECK,c);a.check_Focus=!0;e.setChkClass(c,d,a);return!0};r=function(b,a){if(a.chkDisabled===
@@ -93,8 +93,8 @@ o,c,d);o.chkDisabled===!0&&(g=!0)}if(a!=f.getRoot(b)&&a.chkDisabled!==!0){g&&a.n
a[c].tId)||(a.splice(c,1),c--,d--);return a},getCheckStatus:function(b,a){if(!b.check.enable||a.nocheck||a.chkDisabled)return null;var c=b.data.key.checked;return{checked:a[c],half:a.halfCheck?a.halfCheck:b.check.chkStyle==j.radio.STYLE?a.check_Child_State===2:a[c]?a.check_Child_State>-1&&a.check_Child_State<2:a.check_Child_State>0}},getTreeCheckedNodes:function(b,a,c,d){if(!a)return[];for(var h=b.data.key.children,i=b.data.key.checked,e=c&&b.check.chkStyle==j.radio.STYLE&&b.check.radioType==j.radio.TYPE_ALL,
d=!d?[]:d,g=0,k=a.length;g0)break}return d},getTreeChangeCheckedNodes:function(b,a,c){if(!a)return[];for(var d=b.data.key.children,h=b.data.key.checked,c=!c?[]:c,i=0,e=a.length;i0?2:0,f==2){h=2;break}else f==0&&(h=0);else if(b.check.chkStyle==j.checkbox.STYLE)if(f=g.nocheck===!0||g.chkDisabled===!0?g.check_Child_State:g.halfCheck===!0?1:g[d]?g.check_Child_State===-1||g.check_Child_State===2?2:1:g.check_Child_State>0?1:0,f===1){h=1;break}else if(f===
-2&&h>-1&&i>0&&f!==h){h=1;break}else if(h===2&&f>-1&&f<2){h=1;break}else f>-1&&(h=f)}a.check_Child_State=h}}}});var m=m.fn.zTree,k=m._z.tools,j=m.consts,e=m._z.view,f=m._z.data,n=k.$;f.exSetting(v);f.addInitBind(function(b){b.treeObj.bind(j.event.CHECK,function(a,c,d,h){k.apply(b.callback.onCheck,[c?c:a,d,h])})});f.addInitUnBind(function(b){b.treeObj.unbind(j.event.CHECK)});f.addInitCache(function(){});f.addInitNode(function(b,a,c,d){if(c){a=b.data.key.checked;typeof c[a]=="string"&&(c[a]=k.eqs(c[a],
-"true"));c[a]=!!c[a];c.checkedOld=c[a];if(typeof c.nocheck=="string")c.nocheck=k.eqs(c.nocheck,"true");c.nocheck=!!c.nocheck||b.check.nocheckInherit&&d&&!!d.nocheck;if(typeof c.chkDisabled=="string")c.chkDisabled=k.eqs(c.chkDisabled,"true");c.chkDisabled=!!c.chkDisabled||b.check.chkDisabledInherit&&d&&!!d.chkDisabled;if(typeof c.halfCheck=="string")c.halfCheck=k.eqs(c.halfCheck,"true");c.halfCheck=!!c.halfCheck;c.check_Child_State=-1;c.check_Focus=!1;c.getCheckStatus=function(){return f.getCheckStatus(b,
+2&&h>-1&&i>0&&f!==h){h=1;break}else if(h===2&&f>-1&&f<2){h=1;break}else f>-1&&(h=f)}a.check_Child_State=h}}}});var m=m.fn.zTree,k=m._z.tools,j=m.consts,e=m._z.view,f=m._z.data,n=k.$;f.exSetting(v);f.addInitBind(function(b){b.treeObj.bind(j.event.CHECK,function(a,c,d,h){a.srcEvent=c;k.apply(b.callback.onCheck,[a,d,h])})});f.addInitUnBind(function(b){b.treeObj.unbind(j.event.CHECK)});f.addInitCache(function(){});f.addInitNode(function(b,a,c,d){if(c){a=b.data.key.checked;typeof c[a]=="string"&&(c[a]=
+k.eqs(c[a],"true"));c[a]=!!c[a];c.checkedOld=c[a];if(typeof c.nocheck=="string")c.nocheck=k.eqs(c.nocheck,"true");c.nocheck=!!c.nocheck||b.check.nocheckInherit&&d&&!!d.nocheck;if(typeof c.chkDisabled=="string")c.chkDisabled=k.eqs(c.chkDisabled,"true");c.chkDisabled=!!c.chkDisabled||b.check.chkDisabledInherit&&d&&!!d.chkDisabled;if(typeof c.halfCheck=="string")c.halfCheck=k.eqs(c.halfCheck,"true");c.halfCheck=!!c.halfCheck;c.check_Child_State=-1;c.check_Focus=!1;c.getCheckStatus=function(){return f.getCheckStatus(b,
c)};b.check.chkStyle==j.radio.STYLE&&b.check.radioType==j.radio.TYPE_ALL&&c[a]&&f.getRoot(b).radioCheckedList.push(c)}});f.addInitProxy(function(b){var a=b.target,c=f.getSetting(b.data.treeId),d="",h=null,e="",l=null;if(k.eqs(b.type,"mouseover")){if(c.check.enable&&k.eqs(a.tagName,"span")&&a.getAttribute("treeNode"+j.id.CHECK)!==null)d=k.getNodeMainDom(a).id,e="mouseoverCheck"}else if(k.eqs(b.type,"mouseout")){if(c.check.enable&&k.eqs(a.tagName,"span")&&a.getAttribute("treeNode"+j.id.CHECK)!==null)d=
k.getNodeMainDom(a).id,e="mouseoutCheck"}else if(k.eqs(b.type,"click")&&c.check.enable&&k.eqs(a.tagName,"span")&&a.getAttribute("treeNode"+j.id.CHECK)!==null)d=k.getNodeMainDom(a).id,e="checkNode";if(d.length>0)switch(h=f.getNodeCache(c,d),e){case "checkNode":l=p;break;case "mouseoverCheck":l=q;break;case "mouseoutCheck":l=r}return{stop:e==="checkNode",node:h,nodeEventType:e,nodeEventCallback:l,treeEventType:"",treeEventCallback:null}},!0);f.addInitRoot(function(b){f.getRoot(b).radioCheckedList=[]});
f.addBeforeA(function(b,a,c){b.check.enable&&(f.makeChkFlag(b,a),c.push(" "))});f.addZTreeTools(function(b,a){a.checkNode=function(a,c,i,f){var g=b.data.key.checked;if(a.chkDisabled!==!0&&(c!==!0&&c!==!1&&(c=!a[g]),f=!!f,(a[g]!==c||i)&&!(f&&k.apply(this.setting.callback.beforeCheck,[b.treeId,a],!0)==!1)&&k.uCanDo(this.setting)&&b.check.enable&&a.nocheck!==!0))a[g]=
@@ -103,7 +103,7 @@ c,f,j){c=!!c;f=!!f;e.repairSonChkDisabled(b,a,c,!!j);e.repairParentChkDisabled(b
e.removeNode=function(b,a){var c=a.getParentNode();t&&t.apply(e,arguments);a&&c&&(e.repairChkClass(b,c),e.repairParentChkClass(b,c))};var u=e.appendNodes;e.appendNodes=function(b,a,c,d,h,i){var j="";u&&(j=u.apply(e,arguments));d&&f.makeChkFlag(b,d);return j}})(jQuery);
/*
- * JQuery zTree exedit v3.5.16-beta.2
+ * JQuery zTree exedit v3.5.16-beta.3
* http://zTree.me/
*
* Copyright (c) 2010 Hunter.z
@@ -112,46 +112,46 @@ e.removeNode=function(b,a){var c=a.getParentNode();t&&t.apply(e,arguments);a&&c&
* http://www.opensource.org/licenses/mit-license.php
*
* email: hunter.z@263.net
- * Date: 2013-11-03
+ * Date: 2013-11-24
*/
-(function(w){var I={event:{DRAG:"ztree_drag",DROP:"ztree_drop",REMOVE:"ztree_remove",RENAME:"ztree_rename"},id:{EDIT:"_edit",INPUT:"_input",REMOVE:"_remove"},move:{TYPE_INNER:"inner",TYPE_PREV:"prev",TYPE_NEXT:"next"},node:{CURSELECTED_EDIT:"curSelectedNode_Edit",TMPTARGET_TREE:"tmpTargetzTree",TMPTARGET_NODE:"tmpTargetNode"}},x={onHoverOverNode:function(b,a){var c=n.getSetting(b.data.treeId),d=n.getRoot(c);if(d.curHoverNode!=a)x.onHoverOutNode(b);d.curHoverNode=a;e.addHoverDom(c,a)},onHoverOutNode:function(b){var b=
-n.getSetting(b.data.treeId),a=n.getRoot(b);if(a.curHoverNode&&!n.isSelectedNode(b,a.curHoverNode))e.removeTreeDom(b,a.curHoverNode),a.curHoverNode=null},onMousedownNode:function(b,a){function c(b){if(B.dragFlag==0&&Math.abs(N-b.clientX)1){var j=m[0].parentTId?m[0].getParentNode()[i]:n.getNodes(f);i=[];for(a=0,c=j.length;a-1&&k+1!==a&&(o=!1),i.push(j[a]),k=a),m.length===i.length){m=i;break}}o&&(H=m[0].getPreNode(),R=m[m.length-1].getNextNode());C=p("",
-f);for(a=0,c=m.length;a0),e.removeTreeDom(f,o),k=p(" ",f),k.append(p(o,d.id.A,f).clone()),k.css("padding","0"),k.children("#"+o.tId+d.id.A).removeClass(d.node.CURSELECTED),C.append(k),a==f.edit.drag.maxShowNodeNum-1){k=p(" ... ",f);C.append(k);break}C.attr("id",m[0].tId+d.id.UL+"_tmp");C.addClass(f.treeObj.attr("class"));C.appendTo(M);A=p(" ",
-f);A.attr("id","zTreeMove_arrow_tmp");A.appendTo(M);f.treeObj.trigger(d.event.DRAG,[b,f.treeId,m])}if(B.dragFlag==1){s&&A.attr("id")==b.target.id&&u&&b.clientX+F.scrollLeft()+2>w("#"+u+d.id.A,s).offset().left?(o=w("#"+u+d.id.A,s),b.target=o.length>0?o.get(0):b.target):s&&(s.removeClass(d.node.TMPTARGET_TREE),u&&w("#"+u+d.id.A,s).removeClass(d.node.TMPTARGET_NODE+"_"+d.move.TYPE_PREV).removeClass(d.node.TMPTARGET_NODE+"_"+I.move.TYPE_NEXT).removeClass(d.node.TMPTARGET_NODE+"_"+I.move.TYPE_INNER));
-u=s=null;J=!1;h=f;o=n.getSettings();for(var D in o)if(o[D].treeId&&o[D].edit.enable&&o[D].treeId!=f.treeId&&(b.target.id==o[D].treeId||w(b.target).parents("#"+o[D].treeId).length>0))J=!0,h=o[D];D=F.scrollTop();k=F.scrollLeft();i=h.treeObj.offset();a=h.treeObj.get(0).scrollHeight;o=h.treeObj.get(0).scrollWidth;c=b.clientY+D-i.top;var q=h.treeObj.height()+i.top-b.clientY-D,r=b.clientX+k-i.left,x=h.treeObj.width()+i.left-b.clientX-k;i=cf.edit.drag.borderMin;var j=qf.edit.drag.borderMin,K=rf.edit.drag.borderMin,G=xf.edit.drag.borderMin,q=c>f.edit.drag.borderMin&&q>f.edit.drag.borderMin&&r>f.edit.drag.borderMin&&x>f.edit.drag.borderMin,r=i&&h.treeObj.scrollTop()<=0,x=j&&h.treeObj.scrollTop()+h.treeObj.height()+10>=a,P=K&&h.treeObj.scrollLeft()<=0,Q=G&&h.treeObj.scrollLeft()+h.treeObj.width()+10>=o;if(b.target&&g.isChildOrSelf(b.target,h.treeId)){for(var E=b.target;E&&E.tagName&&!g.eqs(E.tagName,"li")&&E.id!=
-h.treeId;)E=E.parentNode;var S=!0;for(a=0,c=m.length;a0){S=!1;break}if(S&&b.target&&g.isChildOrSelf(b.target,E.id+d.id.A))s=w(E),u=E.id}o=m[0];if(q&&g.isChildOrSelf(b.target,h.treeId)){if(!s&&(b.target.id==h.treeId||r||x||P||Q)&&(J||!J&&o.parentTId))s=h.treeObj;i?h.treeObj.scrollTop(h.treeObj.scrollTop()-10):j&&h.treeObj.scrollTop(h.treeObj.scrollTop()+10);K?h.treeObj.scrollLeft(h.treeObj.scrollLeft()-10):G&&h.treeObj.scrollLeft(h.treeObj.scrollLeft()+
-10);s&&s!=h.treeObj&&s.offset().left=-0.2)&&o?(a=1-A.width(),i=j-A.height()/2,v=d.move.TYPE_PREV):(G==0||b>=G&&b<=1.2)&&a?(a=1-A.width(),i=i==null||y.isParent&&y.open?j+c.height()-A.height()/2:i.offset().top-A.height()/2,v=d.move.TYPE_NEXT):(a=5-A.width(),i=j,v=d.move.TYPE_INNER);A.css({display:"block",top:i+"px",left:k+a+"px"});c.addClass(d.node.TMPTARGET_NODE+"_"+v);if(T!=u||U!=v)L=(new Date).getTime();if(y&&y.isParent&&v==d.move.TYPE_INNER&&(b=!0,window.zTreeMoveTimer&&window.zTreeMoveTargetNodeTId!==
-y.tId?(clearTimeout(window.zTreeMoveTimer),window.zTreeMoveTargetNodeTId=null):window.zTreeMoveTimer&&window.zTreeMoveTargetNodeTId===y.tId&&(b=!1),b))window.zTreeMoveTimer=setTimeout(function(){v==d.move.TYPE_INNER&&y&&y.isParent&&!y.open&&(new Date).getTime()-L>h.edit.drag.autoOpenTime&&g.apply(h.callback.beforeDragOpen,[h.treeId,y],!0)&&(e.switchNode(h,y),h.edit.drag.autoExpandTrigger&&h.treeObj.trigger(d.event.EXPAND,[h.treeId,y]))},h.edit.drag.autoOpenTime+50),window.zTreeMoveTargetNodeTId=y.tId}}else if(v=
-d.move.TYPE_INNER,s&&g.apply(h.edit.drag.inner,[h.treeId,m,null],!!h.edit.drag.inner)?s.addClass(d.node.TMPTARGET_TREE):s=null,A.css({display:"none"}),window.zTreeMoveTimer)clearTimeout(window.zTreeMoveTimer),window.zTreeMoveTargetNodeTId=null;T=u;U=v}return!1}function l(b){if(window.zTreeMoveTimer)clearTimeout(window.zTreeMoveTimer),window.zTreeMoveTargetNodeTId=null;U=T=null;F.unbind("mousemove",c);F.unbind("mouseup",l);F.unbind("selectstart",k);M.css("cursor","auto");s&&(s.removeClass(d.node.TMPTARGET_TREE),
-u&&w("#"+u+d.id.A,s).removeClass(d.node.TMPTARGET_NODE+"_"+d.move.TYPE_PREV).removeClass(d.node.TMPTARGET_NODE+"_"+I.move.TYPE_NEXT).removeClass(d.node.TMPTARGET_NODE+"_"+I.move.TYPE_INNER));g.showIfameMask(f,!1);t.showHoverDom=!0;if(B.dragFlag!=0){B.dragFlag=0;var a,i,j;for(a=0,i=m.length;a
-0;)c.dragMaskList[0].remove(),c.dragMaskList.shift();if(a)for(var d=p("iframe",b),e=0,i=d.length;e",b);j.appendTo(p("body",b));c.dragMaskList.push(j)}}},view:{addEditBtn:function(b,a){if(!(a.editNameFlag||p(a,d.id.EDIT,b).length>0)&&g.apply(b.edit.showRenameBtn,[b.treeId,a],b.edit.showRenameBtn)){var c=p(a,d.id.A,
-b),l=" ";c.append(l);p(a,d.id.EDIT,b).bind("click",function(){if(!g.uCanDo(b)||g.apply(b.callback.beforeEditName,[b.treeId,a],!0)==!1)return!1;e.editNode(b,a);return!1}).show()}},addRemoveBtn:function(b,a){if(!(a.editNameFlag||p(a,d.id.REMOVE,b).length>0)&&g.apply(b.edit.showRemoveBtn,[b.treeId,a],b.edit.showRemoveBtn)){var c=
-p(a,d.id.A,b),l=" ";c.append(l);p(a,d.id.REMOVE,b).bind("click",function(){if(!g.uCanDo(b)||g.apply(b.callback.beforeRemove,[b.treeId,a],!0)==!1)return!1;e.removeNode(b,a);b.treeObj.trigger(d.event.REMOVE,[b.treeId,a]);return!1}).bind("mousedown",function(){return!0}).show()}},addHoverDom:function(b,a){if(n.getRoots().showHoverDom)a.isHover=
-!0,b.edit.enable&&(e.addEditBtn(b,a),e.addRemoveBtn(b,a)),g.apply(b.view.addHoverDom,[b.treeId,a])},cancelCurEditNode:function(b,a,c){var l=n.getRoot(b),k=b.data.key.name,i=l.curEditNode;if(i){var j=l.curEditInput,a=a?a:c?i[k]:j.val();if(g.apply(b.callback.beforeRename,[b.treeId,i,a,c],!0)===!1)return!1;else i[k]=a,b.treeObj.trigger(d.event.RENAME,[b.treeId,i,c]);p(i,d.id.A,b).removeClass(d.node.CURSELECTED_EDIT);j.unbind();e.setNodeName(b,i);i.editNameFlag=!1;l.curEditNode=null;l.curEditInput=null;
-e.selectNode(b,i,!1)}return l.noSelection=!0},editNode:function(b,a){var c=n.getRoot(b);e.editNodeBlur=!1;if(n.isSelectedNode(b,a)&&c.curEditNode==a&&a.editNameFlag)setTimeout(function(){g.inputFocus(c.curEditInput)},0);else{var l=b.data.key.name;a.editNameFlag=!0;e.removeTreeDom(b,a);e.cancelCurEditNode(b);e.selectNode(b,a,!1);p(a,d.id.SPAN,b).html(" ");var k=p(a,d.id.INPUT,b);k.attr("value",a[l]);b.edit.editNameSelectAll?
-g.inputSelect(k):g.inputFocus(k);k.bind("blur",function(){e.editNodeBlur||e.cancelCurEditNode(b)}).bind("keydown",function(a){a.keyCode=="13"?(e.editNodeBlur=!0,e.cancelCurEditNode(b)):a.keyCode=="27"&&e.cancelCurEditNode(b,null,!0)}).bind("click",function(){return!1}).bind("dblclick",function(){return!1});p(a,d.id.A,b).addClass(d.node.CURSELECTED_EDIT);c.curEditInput=k;c.noSelection=!1;c.curEditNode=a}},moveNode:function(b,a,c,l,k,i){var j=n.getRoot(b),f=b.data.key.children;if(a!=c&&(!b.data.keep.leaf||
-!a||a.isParent||l!=d.move.TYPE_INNER)){var g=c.parentTId?c.getParentNode():j,t=a===null||a==j;t&&a===null&&(a=j);if(t)l=d.move.TYPE_INNER;j=a.parentTId?a.getParentNode():j;if(l!=d.move.TYPE_PREV&&l!=d.move.TYPE_NEXT)l=d.move.TYPE_INNER;if(l==d.move.TYPE_INNER)if(t)c.parentTId=null;else{if(!a.isParent)a.isParent=!0,a.open=!!a.open,e.setNodeLineIcos(b,a);c.parentTId=a.tId}var q;t?q=t=b.treeObj:(!i&&l==d.move.TYPE_INNER?e.expandCollapseNode(b,a,!0,!1):i||e.expandCollapseNode(b,a.getParentNode(),!0,!1),
-t=p(a,b),q=p(a,d.id.UL,b),t.get(0)&&!q.get(0)&&(q=[],e.makeUlHtml(b,a,q,""),t.append(q.join(""))),q=p(a,d.id.UL,b));var r=p(c,b);r.get(0)?t.get(0)||r.remove():r=e.appendNodes(b,c.level,[c],null,!1,!0).join("");q.get(0)&&l==d.move.TYPE_INNER?q.append(r):t.get(0)&&l==d.move.TYPE_PREV?t.before(r):t.get(0)&&l==d.move.TYPE_NEXT&&t.after(r);var m=-1,w=0,x=null,t=null,C=c.level;if(c.isFirstNode){if(m=0,g[f].length>1)x=g[f][1],x.isFirstNode=!0}else if(c.isLastNode)m=g[f].length-1,x=g[f][m-1],x.isLastNode=
-!0;else for(q=0,r=g[f].length;q=0&&g[f].splice(m,1);if(l!=d.move.TYPE_INNER)for(q=0,r=j[f].length;q0)t=a[f][a[f].length-1],t.isLastNode=!1;a[f].splice(a[f].length,0,c);c.isLastNode=!0;c.isFirstNode=a[f].length==1}else a.isFirstNode&&l==d.move.TYPE_PREV?(j[f].splice(w,0,c),t=a,t.isFirstNode=!1,c.parentTId=a.parentTId,c.isFirstNode=!0,c.isLastNode=!1):a.isLastNode&&l==d.move.TYPE_NEXT?
-(j[f].splice(w+1,0,c),t=a,t.isLastNode=!1,c.parentTId=a.parentTId,c.isFirstNode=!1,c.isLastNode=!0):(l==d.move.TYPE_PREV?j[f].splice(w,0,c):j[f].splice(w+1,0,c),c.parentTId=a.parentTId,c.isFirstNode=!1,c.isLastNode=!1);n.fixPIdKeyValue(b,c);n.setSonNodeLevel(b,c.getParentNode(),c);e.setNodeLineIcos(b,c);e.repairNodeLevelClass(b,c,C);!b.data.keep.parent&&g[f].length<1?(g.isParent=!1,g.open=!1,a=p(g,d.id.UL,b),l=p(g,d.id.SWITCH,b),f=p(g,d.id.ICON,b),e.replaceSwitchClass(g,l,d.folder.DOCU),e.replaceIcoClass(g,
-f,d.folder.DOCU),a.css("display","none")):x&&e.setNodeLineIcos(b,x);t&&e.setNodeLineIcos(b,t);b.check&&b.check.enable&&e.repairChkClass&&(e.repairChkClass(b,g),e.repairParentChkClassWithSelf(b,g),g!=c.parent&&e.repairParentChkClassWithSelf(b,c));i||e.expandCollapseParentNode(b,c.getParentNode(),!0,k)}},removeEditBtn:function(b,a){p(a,d.id.EDIT,b).unbind().remove()},removeRemoveBtn:function(b,a){p(a,d.id.REMOVE,b).unbind().remove()},removeTreeDom:function(b,a){a.isHover=!1;e.removeEditBtn(b,a);e.removeRemoveBtn(b,
-a);g.apply(b.view.removeHoverDom,[b.treeId,a])},repairNodeLevelClass:function(b,a,c){if(c!==a.level){var e=p(a,b),g=p(a,d.id.A,b),b=p(a,d.id.UL,b),c=d.className.LEVEL+c,a=d.className.LEVEL+a.level;e.removeClass(c);e.addClass(a);g.removeClass(c);g.addClass(a);b.removeClass(c);b.addClass(a)}},selectNodes:function(b,a){for(var c=0,d=a.length;c0)}},event:{},data:{setSonNodeLevel:function(b,a,c){if(c){var d=b.data.key.children;c.level=a?a.level+1:0;if(c[d])for(var a=0,e=c[d].length;a<
-e;a++)c[d][a]&&n.setSonNodeLevel(b,c,c[d][a])}}}});var H=w.fn.zTree,g=H._z.tools,d=H.consts,e=H._z.view,n=H._z.data,p=g.$;n.exSetting({edit:{enable:!1,editNameSelectAll:!1,showRemoveBtn:!0,showRenameBtn:!0,removeTitle:"remove",renameTitle:"rename",drag:{autoExpandTrigger:!1,isCopy:!0,isMove:!0,prev:!0,next:!0,inner:!0,minMoveSize:5,borderMax:10,borderMin:-5,maxShowNodeNum:5,autoOpenTime:500}},view:{addHoverDom:null,removeHoverDom:null},callback:{beforeDrag:null,beforeDragOpen:null,beforeDrop:null,
-beforeEditName:null,beforeRename:null,onDrag:null,onDrop:null,onRename:null}});n.addInitBind(function(b){var a=b.treeObj,c=d.event;a.bind(c.RENAME,function(a,c,d,e){g.apply(b.callback.onRename,[a,c,d,e])});a.bind(c.REMOVE,function(a,c,d){g.apply(b.callback.onRemove,[a,c,d])});a.bind(c.DRAG,function(a,c,d,e){g.apply(b.callback.onDrag,[c,d,e])});a.bind(c.DROP,function(a,c,d,e,f,n,p){g.apply(b.callback.onDrop,[c,d,e,f,n,p])})});n.addInitUnBind(function(b){var b=b.treeObj,a=d.event;b.unbind(a.RENAME);
-b.unbind(a.REMOVE);b.unbind(a.DRAG);b.unbind(a.DROP)});n.addInitCache(function(){});n.addInitNode(function(b,a,c){if(c)c.isHover=!1,c.editNameFlag=!1});n.addInitProxy(function(b){var a=b.target,c=n.getSetting(b.data.treeId),e=b.relatedTarget,k="",i=null,j="",f=null,p=null;if(g.eqs(b.type,"mouseover")){if(p=g.getMDom(c,a,[{tagName:"a",attrName:"treeNode"+d.id.A}]))k=g.getNodeMainDom(p).id,j="hoverOverNode"}else if(g.eqs(b.type,"mouseout"))p=g.getMDom(c,e,[{tagName:"a",attrName:"treeNode"+d.id.A}]),
-p||(k="remove",j="hoverOutNode");else if(g.eqs(b.type,"mousedown")&&(p=g.getMDom(c,a,[{tagName:"a",attrName:"treeNode"+d.id.A}])))k=g.getNodeMainDom(p).id,j="mousedownNode";if(k.length>0)switch(i=n.getNodeCache(c,k),j){case "mousedownNode":f=x.onMousedownNode;break;case "hoverOverNode":f=x.onHoverOverNode;break;case "hoverOutNode":f=x.onHoverOutNode}return{stop:!1,node:i,nodeEventType:j,nodeEventCallback:f,treeEventType:"",treeEventCallback:null}});n.addInitRoot(function(b){var b=n.getRoot(b),a=n.getRoots();
-b.curEditNode=null;b.curEditInput=null;b.curHoverNode=null;b.dragFlag=0;b.dragNodeShowBefore=[];b.dragMaskList=[];a.showHoverDom=!0});n.addZTreeTools(function(b,a){a.cancelEditName=function(a){n.getRoot(b).curEditNode&&e.cancelCurEditNode(b,a?a:null,!0)};a.copyNode=function(a,l,k,i){if(!l)return null;if(a&&!a.isParent&&b.data.keep.leaf&&k===d.move.TYPE_INNER)return null;var j=g.clone(l);if(!a)a=null,k=d.move.TYPE_INNER;k==d.move.TYPE_INNER?(l=function(){e.addNodes(b,a,[j],i)},g.canAsync(b,a)?e.asyncNode(b,
-a,i,l):l()):(e.addNodes(b,a.parentNode,[j],i),e.moveNode(b,a,j,k,!1,i));return j};a.editName=function(a){a&&a.tId&&a===n.getNodeCache(b,a.tId)&&(a.parentTId&&e.expandCollapseParentNode(b,a.getParentNode(),!0),e.editNode(b,a))};a.moveNode=function(a,l,k,i){function j(){e.moveNode(b,a,l,k,!1,i)}if(!l)return l;if(a&&!a.isParent&&b.data.keep.leaf&&k===d.move.TYPE_INNER)return null;else if(a&&(l.parentTId==a.tId&&k==d.move.TYPE_INNER||p(l,b).find("#"+a.tId).length>0))return null;else a||(a=null);g.canAsync(b,
-a)&&k===d.move.TYPE_INNER?e.asyncNode(b,a,i,j):j();return l};a.setEditable=function(a){b.edit.enable=a;return this.refresh()}});var N=e.cancelPreSelectedNode;e.cancelPreSelectedNode=function(b,a){for(var c=n.getRoot(b).curSelectedList,d=0,g=c.length;d1){var j=m[0].parentTId?m[0].getParentNode()[i]:n.getNodes(f);i=[];for(a=0,c=j.length;a-1&&k+1!==a&&(o=!1),i.push(j[a]),k=a),m.length===i.length){m=i;break}}o&&(H=m[0].getPreNode(),R=m[m.length-
+1].getNextNode());D=p("",f);for(a=0,c=m.length;a0),e.removeTreeDom(f,o),k=p(" ",f),k.append(p(o,d.id.A,f).clone()),k.css("padding","0"),k.children("#"+o.tId+d.id.A).removeClass(d.node.CURSELECTED),D.append(k),a==f.edit.drag.maxShowNodeNum-1){k=p(" ... ",f);D.append(k);break}D.attr("id",m[0].tId+d.id.UL+"_tmp");D.addClass(f.treeObj.attr("class"));D.appendTo(M);
+B=p(" ",f);B.attr("id","zTreeMove_arrow_tmp");B.appendTo(M);f.treeObj.trigger(d.event.DRAG,[b,f.treeId,m])}if(C.dragFlag==1){s&&B.attr("id")==b.target.id&&u&&b.clientX+F.scrollLeft()+2>w("#"+u+d.id.A,s).offset().left?(o=w("#"+u+d.id.A,s),b.target=o.length>0?o.get(0):b.target):s&&(s.removeClass(d.node.TMPTARGET_TREE),u&&w("#"+u+d.id.A,s).removeClass(d.node.TMPTARGET_NODE+"_"+d.move.TYPE_PREV).removeClass(d.node.TMPTARGET_NODE+"_"+I.move.TYPE_NEXT).removeClass(d.node.TMPTARGET_NODE+
+"_"+I.move.TYPE_INNER));u=s=null;J=!1;h=f;o=n.getSettings();for(var y in o)if(o[y].treeId&&o[y].edit.enable&&o[y].treeId!=f.treeId&&(b.target.id==o[y].treeId||w(b.target).parents("#"+o[y].treeId).length>0))J=!0,h=o[y];y=F.scrollTop();k=F.scrollLeft();i=h.treeObj.offset();a=h.treeObj.get(0).scrollHeight;o=h.treeObj.get(0).scrollWidth;c=b.clientY+y-i.top;var q=h.treeObj.height()+i.top-b.clientY-y,r=b.clientX+k-i.left,x=h.treeObj.width()+i.left-b.clientX-k;i=cf.edit.drag.borderMin;
+var j=qf.edit.drag.borderMin,K=rf.edit.drag.borderMin,G=xf.edit.drag.borderMin,q=c>f.edit.drag.borderMin&&q>f.edit.drag.borderMin&&r>f.edit.drag.borderMin&&x>f.edit.drag.borderMin,r=i&&h.treeObj.scrollTop()<=0,x=j&&h.treeObj.scrollTop()+h.treeObj.height()+10>=a,P=K&&h.treeObj.scrollLeft()<=0,Q=G&&h.treeObj.scrollLeft()+h.treeObj.width()+10>=o;if(b.target&&g.isChildOrSelf(b.target,h.treeId)){for(var E=b.target;E&&E.tagName&&
+!g.eqs(E.tagName,"li")&&E.id!=h.treeId;)E=E.parentNode;var S=!0;for(a=0,c=m.length;a0){S=!1;break}if(S&&b.target&&g.isChildOrSelf(b.target,E.id+d.id.A))s=w(E),u=E.id}o=m[0];if(q&&g.isChildOrSelf(b.target,h.treeId)){if(!s&&(b.target.id==h.treeId||r||x||P||Q)&&(J||!J&&o.parentTId))s=h.treeObj;i?h.treeObj.scrollTop(h.treeObj.scrollTop()-10):j&&h.treeObj.scrollTop(h.treeObj.scrollTop()+10);K?h.treeObj.scrollLeft(h.treeObj.scrollLeft()-
+10):G&&h.treeObj.scrollLeft(h.treeObj.scrollLeft()+10);s&&s!=h.treeObj&&s.offset().left=-0.2)&&o?(a=1-B.width(),i=j-B.height()/2,v=d.move.TYPE_PREV):(G==0||y>=G&&y<=1.2)&&a?(a=1-B.width(),i=i==null||z.isParent&&z.open?j+c.height()-B.height()/2:i.offset().top-B.height()/2,v=d.move.TYPE_NEXT):(a=5-B.width(),i=j,v=d.move.TYPE_INNER);B.css({display:"block",top:i+"px",left:k+a+"px"});c.addClass(d.node.TMPTARGET_NODE+"_"+v);if(T!=u||U!=v)L=(new Date).getTime();if(z&&z.isParent&&v==d.move.TYPE_INNER&&
+(y=!0,window.zTreeMoveTimer&&window.zTreeMoveTargetNodeTId!==z.tId?(clearTimeout(window.zTreeMoveTimer),window.zTreeMoveTargetNodeTId=null):window.zTreeMoveTimer&&window.zTreeMoveTargetNodeTId===z.tId&&(y=!1),y))window.zTreeMoveTimer=setTimeout(function(){v==d.move.TYPE_INNER&&z&&z.isParent&&!z.open&&(new Date).getTime()-L>h.edit.drag.autoOpenTime&&g.apply(h.callback.beforeDragOpen,[h.treeId,z],!0)&&(e.switchNode(h,z),h.edit.drag.autoExpandTrigger&&h.treeObj.trigger(d.event.EXPAND,[h.treeId,z]))},
+h.edit.drag.autoOpenTime+50),window.zTreeMoveTargetNodeTId=z.tId}}else if(v=d.move.TYPE_INNER,s&&g.apply(h.edit.drag.inner,[h.treeId,m,null],!!h.edit.drag.inner)?s.addClass(d.node.TMPTARGET_TREE):s=null,B.css({display:"none"}),window.zTreeMoveTimer)clearTimeout(window.zTreeMoveTimer),window.zTreeMoveTargetNodeTId=null;T=u;U=v;f.treeObj.trigger(d.event.DRAGMOVE,[b,f.treeId,m])}return!1}function l(b){if(window.zTreeMoveTimer)clearTimeout(window.zTreeMoveTimer),window.zTreeMoveTargetNodeTId=null;U=T=
+null;F.unbind("mousemove",c);F.unbind("mouseup",l);F.unbind("selectstart",k);M.css("cursor","auto");s&&(s.removeClass(d.node.TMPTARGET_TREE),u&&w("#"+u+d.id.A,s).removeClass(d.node.TMPTARGET_NODE+"_"+d.move.TYPE_PREV).removeClass(d.node.TMPTARGET_NODE+"_"+I.move.TYPE_NEXT).removeClass(d.node.TMPTARGET_NODE+"_"+I.move.TYPE_INNER));g.showIfameMask(f,!1);t.showHoverDom=!0;if(C.dragFlag!=0){C.dragFlag=0;var a,i,j;for(a=0,i=m.length;a0;)c.dragMaskList[0].remove(),c.dragMaskList.shift();if(a)for(var d=p("iframe",b),e=0,i=d.length;e",b);j.appendTo(p("body",b));c.dragMaskList.push(j)}}},view:{addEditBtn:function(b,
+a){if(!(a.editNameFlag||p(a,d.id.EDIT,b).length>0)&&g.apply(b.edit.showRenameBtn,[b.treeId,a],b.edit.showRenameBtn)){var c=p(a,d.id.A,b),l=" ";c.append(l);p(a,d.id.EDIT,b).bind("click",function(){if(!g.uCanDo(b)||g.apply(b.callback.beforeEditName,[b.treeId,a],!0)==!1)return!1;e.editNode(b,a);return!1}).show()}},
+addRemoveBtn:function(b,a){if(!(a.editNameFlag||p(a,d.id.REMOVE,b).length>0)&&g.apply(b.edit.showRemoveBtn,[b.treeId,a],b.edit.showRemoveBtn)){var c=p(a,d.id.A,b),l=" ";c.append(l);p(a,d.id.REMOVE,b).bind("click",function(){if(!g.uCanDo(b)||g.apply(b.callback.beforeRemove,[b.treeId,a],!0)==!1)return!1;e.removeNode(b,
+a);b.treeObj.trigger(d.event.REMOVE,[b.treeId,a]);return!1}).bind("mousedown",function(){return!0}).show()}},addHoverDom:function(b,a){if(n.getRoots().showHoverDom)a.isHover=!0,b.edit.enable&&(e.addEditBtn(b,a),e.addRemoveBtn(b,a)),g.apply(b.view.addHoverDom,[b.treeId,a])},cancelCurEditNode:function(b,a,c){var l=n.getRoot(b),k=b.data.key.name,i=l.curEditNode;if(i){var j=l.curEditInput,a=a?a:c?i[k]:j.val();if(g.apply(b.callback.beforeRename,[b.treeId,i,a,c],!0)===!1)return!1;else i[k]=a,b.treeObj.trigger(d.event.RENAME,
+[b.treeId,i,c]);p(i,d.id.A,b).removeClass(d.node.CURSELECTED_EDIT);j.unbind();e.setNodeName(b,i);i.editNameFlag=!1;l.curEditNode=null;l.curEditInput=null;e.selectNode(b,i,!1)}return l.noSelection=!0},editNode:function(b,a){var c=n.getRoot(b);e.editNodeBlur=!1;if(n.isSelectedNode(b,a)&&c.curEditNode==a&&a.editNameFlag)setTimeout(function(){g.inputFocus(c.curEditInput)},0);else{var l=b.data.key.name;a.editNameFlag=!0;e.removeTreeDom(b,a);e.cancelCurEditNode(b);e.selectNode(b,a,!1);p(a,d.id.SPAN,b).html(" ");var k=p(a,d.id.INPUT,b);k.attr("value",a[l]);b.edit.editNameSelectAll?g.inputSelect(k):g.inputFocus(k);k.bind("blur",function(){e.editNodeBlur||e.cancelCurEditNode(b)}).bind("keydown",function(a){a.keyCode=="13"?(e.editNodeBlur=!0,e.cancelCurEditNode(b)):a.keyCode=="27"&&e.cancelCurEditNode(b,null,!0)}).bind("click",function(){return!1}).bind("dblclick",function(){return!1});p(a,d.id.A,b).addClass(d.node.CURSELECTED_EDIT);c.curEditInput=k;c.noSelection=
+!1;c.curEditNode=a}},moveNode:function(b,a,c,l,k,i){var j=n.getRoot(b),f=b.data.key.children;if(a!=c&&(!b.data.keep.leaf||!a||a.isParent||l!=d.move.TYPE_INNER)){var g=c.parentTId?c.getParentNode():j,t=a===null||a==j;t&&a===null&&(a=j);if(t)l=d.move.TYPE_INNER;j=a.parentTId?a.getParentNode():j;if(l!=d.move.TYPE_PREV&&l!=d.move.TYPE_NEXT)l=d.move.TYPE_INNER;if(l==d.move.TYPE_INNER)if(t)c.parentTId=null;else{if(!a.isParent)a.isParent=!0,a.open=!!a.open,e.setNodeLineIcos(b,a);c.parentTId=a.tId}var q;
+t?q=t=b.treeObj:(!i&&l==d.move.TYPE_INNER?e.expandCollapseNode(b,a,!0,!1):i||e.expandCollapseNode(b,a.getParentNode(),!0,!1),t=p(a,b),q=p(a,d.id.UL,b),t.get(0)&&!q.get(0)&&(q=[],e.makeUlHtml(b,a,q,""),t.append(q.join(""))),q=p(a,d.id.UL,b));var r=p(c,b);r.get(0)?t.get(0)||r.remove():r=e.appendNodes(b,c.level,[c],null,!1,!0).join("");q.get(0)&&l==d.move.TYPE_INNER?q.append(r):t.get(0)&&l==d.move.TYPE_PREV?t.before(r):t.get(0)&&l==d.move.TYPE_NEXT&&t.after(r);var m=-1,w=0,x=null,t=null,D=c.level;if(c.isFirstNode){if(m=
+0,g[f].length>1)x=g[f][1],x.isFirstNode=!0}else if(c.isLastNode)m=g[f].length-1,x=g[f][m-1],x.isLastNode=!0;else for(q=0,r=g[f].length;q=0&&g[f].splice(m,1);if(l!=d.move.TYPE_INNER)for(q=0,r=j[f].length;q0)t=a[f][a[f].length-1],t.isLastNode=!1;a[f].splice(a[f].length,0,c);c.isLastNode=!0;c.isFirstNode=a[f].length==1}else a.isFirstNode&&l==d.move.TYPE_PREV?(j[f].splice(w,
+0,c),t=a,t.isFirstNode=!1,c.parentTId=a.parentTId,c.isFirstNode=!0,c.isLastNode=!1):a.isLastNode&&l==d.move.TYPE_NEXT?(j[f].splice(w+1,0,c),t=a,t.isLastNode=!1,c.parentTId=a.parentTId,c.isFirstNode=!1,c.isLastNode=!0):(l==d.move.TYPE_PREV?j[f].splice(w,0,c):j[f].splice(w+1,0,c),c.parentTId=a.parentTId,c.isFirstNode=!1,c.isLastNode=!1);n.fixPIdKeyValue(b,c);n.setSonNodeLevel(b,c.getParentNode(),c);e.setNodeLineIcos(b,c);e.repairNodeLevelClass(b,c,D);!b.data.keep.parent&&g[f].length<1?(g.isParent=!1,
+g.open=!1,a=p(g,d.id.UL,b),l=p(g,d.id.SWITCH,b),f=p(g,d.id.ICON,b),e.replaceSwitchClass(g,l,d.folder.DOCU),e.replaceIcoClass(g,f,d.folder.DOCU),a.css("display","none")):x&&e.setNodeLineIcos(b,x);t&&e.setNodeLineIcos(b,t);b.check&&b.check.enable&&e.repairChkClass&&(e.repairChkClass(b,g),e.repairParentChkClassWithSelf(b,g),g!=c.parent&&e.repairParentChkClassWithSelf(b,c));i||e.expandCollapseParentNode(b,c.getParentNode(),!0,k)}},removeEditBtn:function(b,a){p(a,d.id.EDIT,b).unbind().remove()},removeRemoveBtn:function(b,
+a){p(a,d.id.REMOVE,b).unbind().remove()},removeTreeDom:function(b,a){a.isHover=!1;e.removeEditBtn(b,a);e.removeRemoveBtn(b,a);g.apply(b.view.removeHoverDom,[b.treeId,a])},repairNodeLevelClass:function(b,a,c){if(c!==a.level){var e=p(a,b),g=p(a,d.id.A,b),b=p(a,d.id.UL,b),c=d.className.LEVEL+c,a=d.className.LEVEL+a.level;e.removeClass(c);e.addClass(a);g.removeClass(c);g.addClass(a);b.removeClass(c);b.addClass(a)}},selectNodes:function(b,a){for(var c=0,d=a.length;c0)}},event:{},
+data:{setSonNodeLevel:function(b,a,c){if(c){var d=b.data.key.children;c.level=a?a.level+1:0;if(c[d])for(var a=0,e=c[d].length;a0)switch(i=n.getNodeCache(c,k),j){case "mousedownNode":f=x.onMousedownNode;break;
+case "hoverOverNode":f=x.onHoverOverNode;break;case "hoverOutNode":f=x.onHoverOutNode}return{stop:!1,node:i,nodeEventType:j,nodeEventCallback:f,treeEventType:"",treeEventCallback:null}});n.addInitRoot(function(b){var b=n.getRoot(b),a=n.getRoots();b.curEditNode=null;b.curEditInput=null;b.curHoverNode=null;b.dragFlag=0;b.dragNodeShowBefore=[];b.dragMaskList=[];a.showHoverDom=!0});n.addZTreeTools(function(b,a){a.cancelEditName=function(a){n.getRoot(b).curEditNode&&e.cancelCurEditNode(b,a?a:null,!0)};
+a.copyNode=function(a,l,k,i){if(!l)return null;if(a&&!a.isParent&&b.data.keep.leaf&&k===d.move.TYPE_INNER)return null;var j=g.clone(l);if(!a)a=null,k=d.move.TYPE_INNER;k==d.move.TYPE_INNER?(l=function(){e.addNodes(b,a,[j],i)},g.canAsync(b,a)?e.asyncNode(b,a,i,l):l()):(e.addNodes(b,a.parentNode,[j],i),e.moveNode(b,a,j,k,!1,i));return j};a.editName=function(a){a&&a.tId&&a===n.getNodeCache(b,a.tId)&&(a.parentTId&&e.expandCollapseParentNode(b,a.getParentNode(),!0),e.editNode(b,a))};a.moveNode=function(a,
+l,k,i){function j(){e.moveNode(b,a,l,k,!1,i)}if(!l)return l;if(a&&!a.isParent&&b.data.keep.leaf&&k===d.move.TYPE_INNER)return null;else if(a&&(l.parentTId==a.tId&&k==d.move.TYPE_INNER||p(l,b).find("#"+a.tId).length>0))return null;else a||(a=null);g.canAsync(b,a)&&k===d.move.TYPE_INNER?e.asyncNode(b,a,i,j):j();return l};a.setEditable=function(a){b.edit.enable=a;return this.refresh()}});var N=e.cancelPreSelectedNode;e.cancelPreSelectedNode=function(b,a){for(var c=n.getRoot(b).curSelectedList,d=0,g=
+c.length;d-1&&a.check_Child_State<2:a.check_Child_State>0}},getTreeCheckedNodes:function(b,a,c,d){if(!a)return[];for(var h=b.data.key.children,i=b.data.key.checked,e=c&&b.check.chkStyle==j.radio.STYLE&&b.check.radioType==j.radio.TYPE_ALL,
d=!d?[]:d,g=0,k=a.length;g0)break}return d},getTreeChangeCheckedNodes:function(b,a,c){if(!a)return[];for(var d=b.data.key.children,h=b.data.key.checked,c=!c?[]:c,i=0,e=a.length;i0?2:0,f==2){h=2;break}else f==0&&(h=0);else if(b.check.chkStyle==j.checkbox.STYLE)if(f=g.nocheck===!0||g.chkDisabled===!0?g.check_Child_State:g.halfCheck===!0?1:g[d]?g.check_Child_State===-1||g.check_Child_State===2?2:1:g.check_Child_State>0?1:0,f===1){h=1;break}else if(f===
-2&&h>-1&&i>0&&f!==h){h=1;break}else if(h===2&&f>-1&&f<2){h=1;break}else f>-1&&(h=f)}a.check_Child_State=h}}}});var m=m.fn.zTree,k=m._z.tools,j=m.consts,e=m._z.view,f=m._z.data,n=k.$;f.exSetting(v);f.addInitBind(function(b){b.treeObj.bind(j.event.CHECK,function(a,c,d,h){k.apply(b.callback.onCheck,[c?c:a,d,h])})});f.addInitUnBind(function(b){b.treeObj.unbind(j.event.CHECK)});f.addInitCache(function(){});f.addInitNode(function(b,a,c,d){if(c){a=b.data.key.checked;typeof c[a]=="string"&&(c[a]=k.eqs(c[a],
-"true"));c[a]=!!c[a];c.checkedOld=c[a];if(typeof c.nocheck=="string")c.nocheck=k.eqs(c.nocheck,"true");c.nocheck=!!c.nocheck||b.check.nocheckInherit&&d&&!!d.nocheck;if(typeof c.chkDisabled=="string")c.chkDisabled=k.eqs(c.chkDisabled,"true");c.chkDisabled=!!c.chkDisabled||b.check.chkDisabledInherit&&d&&!!d.chkDisabled;if(typeof c.halfCheck=="string")c.halfCheck=k.eqs(c.halfCheck,"true");c.halfCheck=!!c.halfCheck;c.check_Child_State=-1;c.check_Focus=!1;c.getCheckStatus=function(){return f.getCheckStatus(b,
+2&&h>-1&&i>0&&f!==h){h=1;break}else if(h===2&&f>-1&&f<2){h=1;break}else f>-1&&(h=f)}a.check_Child_State=h}}}});var m=m.fn.zTree,k=m._z.tools,j=m.consts,e=m._z.view,f=m._z.data,n=k.$;f.exSetting(v);f.addInitBind(function(b){b.treeObj.bind(j.event.CHECK,function(a,c,d,h){a.srcEvent=c;k.apply(b.callback.onCheck,[a,d,h])})});f.addInitUnBind(function(b){b.treeObj.unbind(j.event.CHECK)});f.addInitCache(function(){});f.addInitNode(function(b,a,c,d){if(c){a=b.data.key.checked;typeof c[a]=="string"&&(c[a]=
+k.eqs(c[a],"true"));c[a]=!!c[a];c.checkedOld=c[a];if(typeof c.nocheck=="string")c.nocheck=k.eqs(c.nocheck,"true");c.nocheck=!!c.nocheck||b.check.nocheckInherit&&d&&!!d.nocheck;if(typeof c.chkDisabled=="string")c.chkDisabled=k.eqs(c.chkDisabled,"true");c.chkDisabled=!!c.chkDisabled||b.check.chkDisabledInherit&&d&&!!d.chkDisabled;if(typeof c.halfCheck=="string")c.halfCheck=k.eqs(c.halfCheck,"true");c.halfCheck=!!c.halfCheck;c.check_Child_State=-1;c.check_Focus=!1;c.getCheckStatus=function(){return f.getCheckStatus(b,
c)};b.check.chkStyle==j.radio.STYLE&&b.check.radioType==j.radio.TYPE_ALL&&c[a]&&f.getRoot(b).radioCheckedList.push(c)}});f.addInitProxy(function(b){var a=b.target,c=f.getSetting(b.data.treeId),d="",h=null,e="",l=null;if(k.eqs(b.type,"mouseover")){if(c.check.enable&&k.eqs(a.tagName,"span")&&a.getAttribute("treeNode"+j.id.CHECK)!==null)d=k.getNodeMainDom(a).id,e="mouseoverCheck"}else if(k.eqs(b.type,"mouseout")){if(c.check.enable&&k.eqs(a.tagName,"span")&&a.getAttribute("treeNode"+j.id.CHECK)!==null)d=
k.getNodeMainDom(a).id,e="mouseoutCheck"}else if(k.eqs(b.type,"click")&&c.check.enable&&k.eqs(a.tagName,"span")&&a.getAttribute("treeNode"+j.id.CHECK)!==null)d=k.getNodeMainDom(a).id,e="checkNode";if(d.length>0)switch(h=f.getNodeCache(c,d),e){case "checkNode":l=p;break;case "mouseoverCheck":l=q;break;case "mouseoutCheck":l=r}return{stop:e==="checkNode",node:h,nodeEventType:e,nodeEventCallback:l,treeEventType:"",treeEventCallback:null}},!0);f.addInitRoot(function(b){f.getRoot(b).radioCheckedList=[]});
f.addBeforeA(function(b,a,c){b.check.enable&&(f.makeChkFlag(b,a),c.push(" "))});f.addZTreeTools(function(b,a){a.checkNode=function(a,c,i,f){var g=b.data.key.checked;if(a.chkDisabled!==!0&&(c!==!0&&c!==!1&&(c=!a[g]),f=!!f,(a[g]!==c||i)&&!(f&&k.apply(this.setting.callback.beforeCheck,[b.treeId,a],!0)==!1)&&k.uCanDo(this.setting)&&b.check.enable&&a.nocheck!==!0))a[g]=
diff --git a/js/jquery.ztree.exedit-3.5.js b/js/jquery.ztree.exedit-3.5.js
index 97e5b08d394070bd739b7e0adfd95990cf514b9f..a6831b31152d5dde4f2fe3d980af77a5908fe478 100644
--- a/js/jquery.ztree.exedit-3.5.js
+++ b/js/jquery.ztree.exedit-3.5.js
@@ -1,5 +1,5 @@
/*
- * JQuery zTree exedit v3.5.16-beta.2
+ * JQuery zTree exedit v3.5.16-beta.3
* http://zTree.me/
*
* Copyright (c) 2010 Hunter.z
@@ -8,7 +8,7 @@
* http://www.opensource.org/licenses/mit-license.php
*
* email: hunter.z@263.net
- * Date: 2013-11-03
+ * Date: 2013-11-24
*/
(function($){
//default consts of exedit
@@ -17,7 +17,8 @@
DRAG: "ztree_drag",
DROP: "ztree_drop",
REMOVE: "ztree_remove",
- RENAME: "ztree_rename"
+ RENAME: "ztree_rename",
+ DRAGMOVE:"ztree_dragmove"
},
id: {
EDIT: "_edit",
@@ -69,6 +70,7 @@
beforeEditName:null,
beforeRename:null,
onDrag:null,
+ onDragMove:null,
onDrop:null,
onRename:null
}
@@ -102,6 +104,10 @@
tools.apply(setting.callback.onDrag, [srcEvent, treeId, treeNodes]);
});
+ o.bind(c.DRAGMOVE,function(event, srcEvent, treeId, treeNodes){
+ tools.apply(setting.callback.onDragMove,[srcEvent, treeId, treeNodes]);
+ });
+
o.bind(c.DROP, function (event, srcEvent, treeId, treeNodes, targetNode, moveType, isCopy) {
tools.apply(setting.callback.onDrop, [srcEvent, treeId, treeNodes, targetNode, moveType, isCopy]);
});
@@ -112,6 +118,7 @@
o.unbind(c.RENAME);
o.unbind(c.REMOVE);
o.unbind(c.DRAG);
+ o.unbind(c.DRAGMOVE);
o.unbind(c.DROP);
},
//default event proxy of exedit
@@ -591,6 +598,8 @@
}
preTmpTargetNodeId = tmpTargetNodeId;
preTmpMoveType = moveType;
+
+ setting.treeObj.trigger(consts.event.DRAGMOVE, [event, setting.treeId, nodes]);
}
return false;
}
diff --git a/js/jquery.ztree.exedit-3.5.min.js b/js/jquery.ztree.exedit-3.5.min.js
index ef7c84d128a987bb1003c48f67c5c42bcb64a402..5ddfe64d1803e5b64afb6d857ccc4afe0315fff8 100644
--- a/js/jquery.ztree.exedit-3.5.min.js
+++ b/js/jquery.ztree.exedit-3.5.min.js
@@ -1,5 +1,5 @@
/*
- * JQuery zTree exedit v3.5.16-beta.2
+ * JQuery zTree exedit v3.5.16-beta.3
* http://zTree.me/
*
* Copyright (c) 2010 Hunter.z
@@ -8,45 +8,45 @@
* http://www.opensource.org/licenses/mit-license.php
*
* email: hunter.z@263.net
- * Date: 2013-11-03
+ * Date: 2013-11-24
*/
-(function(w){var I={event:{DRAG:"ztree_drag",DROP:"ztree_drop",REMOVE:"ztree_remove",RENAME:"ztree_rename"},id:{EDIT:"_edit",INPUT:"_input",REMOVE:"_remove"},move:{TYPE_INNER:"inner",TYPE_PREV:"prev",TYPE_NEXT:"next"},node:{CURSELECTED_EDIT:"curSelectedNode_Edit",TMPTARGET_TREE:"tmpTargetzTree",TMPTARGET_NODE:"tmpTargetNode"}},x={onHoverOverNode:function(b,a){var c=n.getSetting(b.data.treeId),d=n.getRoot(c);if(d.curHoverNode!=a)x.onHoverOutNode(b);d.curHoverNode=a;e.addHoverDom(c,a)},onHoverOutNode:function(b){var b=
-n.getSetting(b.data.treeId),a=n.getRoot(b);if(a.curHoverNode&&!n.isSelectedNode(b,a.curHoverNode))e.removeTreeDom(b,a.curHoverNode),a.curHoverNode=null},onMousedownNode:function(b,a){function c(b){if(B.dragFlag==0&&Math.abs(N-b.clientX)1){var j=m[0].parentTId?m[0].getParentNode()[i]:n.getNodes(f);i=[];for(a=0,c=j.length;a-1&&k+1!==a&&(o=!1),i.push(j[a]),k=a),m.length===i.length){m=i;break}}o&&(H=m[0].getPreNode(),R=m[m.length-1].getNextNode());C=p("",
-f);for(a=0,c=m.length;a0),e.removeTreeDom(f,o),k=p(" ",f),k.append(p(o,d.id.A,f).clone()),k.css("padding","0"),k.children("#"+o.tId+d.id.A).removeClass(d.node.CURSELECTED),C.append(k),a==f.edit.drag.maxShowNodeNum-1){k=p(" ... ",f);C.append(k);break}C.attr("id",m[0].tId+d.id.UL+"_tmp");C.addClass(f.treeObj.attr("class"));C.appendTo(M);A=p(" ",
-f);A.attr("id","zTreeMove_arrow_tmp");A.appendTo(M);f.treeObj.trigger(d.event.DRAG,[b,f.treeId,m])}if(B.dragFlag==1){s&&A.attr("id")==b.target.id&&u&&b.clientX+F.scrollLeft()+2>w("#"+u+d.id.A,s).offset().left?(o=w("#"+u+d.id.A,s),b.target=o.length>0?o.get(0):b.target):s&&(s.removeClass(d.node.TMPTARGET_TREE),u&&w("#"+u+d.id.A,s).removeClass(d.node.TMPTARGET_NODE+"_"+d.move.TYPE_PREV).removeClass(d.node.TMPTARGET_NODE+"_"+I.move.TYPE_NEXT).removeClass(d.node.TMPTARGET_NODE+"_"+I.move.TYPE_INNER));
-u=s=null;J=!1;h=f;o=n.getSettings();for(var D in o)if(o[D].treeId&&o[D].edit.enable&&o[D].treeId!=f.treeId&&(b.target.id==o[D].treeId||w(b.target).parents("#"+o[D].treeId).length>0))J=!0,h=o[D];D=F.scrollTop();k=F.scrollLeft();i=h.treeObj.offset();a=h.treeObj.get(0).scrollHeight;o=h.treeObj.get(0).scrollWidth;c=b.clientY+D-i.top;var q=h.treeObj.height()+i.top-b.clientY-D,r=b.clientX+k-i.left,x=h.treeObj.width()+i.left-b.clientX-k;i=cf.edit.drag.borderMin;var j=qf.edit.drag.borderMin,K=rf.edit.drag.borderMin,G=xf.edit.drag.borderMin,q=c>f.edit.drag.borderMin&&q>f.edit.drag.borderMin&&r>f.edit.drag.borderMin&&x>f.edit.drag.borderMin,r=i&&h.treeObj.scrollTop()<=0,x=j&&h.treeObj.scrollTop()+h.treeObj.height()+10>=a,P=K&&h.treeObj.scrollLeft()<=0,Q=G&&h.treeObj.scrollLeft()+h.treeObj.width()+10>=o;if(b.target&&g.isChildOrSelf(b.target,h.treeId)){for(var E=b.target;E&&E.tagName&&!g.eqs(E.tagName,"li")&&E.id!=
-h.treeId;)E=E.parentNode;var S=!0;for(a=0,c=m.length;a0){S=!1;break}if(S&&b.target&&g.isChildOrSelf(b.target,E.id+d.id.A))s=w(E),u=E.id}o=m[0];if(q&&g.isChildOrSelf(b.target,h.treeId)){if(!s&&(b.target.id==h.treeId||r||x||P||Q)&&(J||!J&&o.parentTId))s=h.treeObj;i?h.treeObj.scrollTop(h.treeObj.scrollTop()-10):j&&h.treeObj.scrollTop(h.treeObj.scrollTop()+10);K?h.treeObj.scrollLeft(h.treeObj.scrollLeft()-10):G&&h.treeObj.scrollLeft(h.treeObj.scrollLeft()+
-10);s&&s!=h.treeObj&&s.offset().left=-0.2)&&o?(a=1-A.width(),i=j-A.height()/2,v=d.move.TYPE_PREV):(G==0||b>=G&&b<=1.2)&&a?(a=1-A.width(),i=i==null||y.isParent&&y.open?j+c.height()-A.height()/2:i.offset().top-A.height()/2,v=d.move.TYPE_NEXT):(a=5-A.width(),i=j,v=d.move.TYPE_INNER);A.css({display:"block",top:i+"px",left:k+a+"px"});c.addClass(d.node.TMPTARGET_NODE+"_"+v);if(T!=u||U!=v)L=(new Date).getTime();if(y&&y.isParent&&v==d.move.TYPE_INNER&&(b=!0,window.zTreeMoveTimer&&window.zTreeMoveTargetNodeTId!==
-y.tId?(clearTimeout(window.zTreeMoveTimer),window.zTreeMoveTargetNodeTId=null):window.zTreeMoveTimer&&window.zTreeMoveTargetNodeTId===y.tId&&(b=!1),b))window.zTreeMoveTimer=setTimeout(function(){v==d.move.TYPE_INNER&&y&&y.isParent&&!y.open&&(new Date).getTime()-L>h.edit.drag.autoOpenTime&&g.apply(h.callback.beforeDragOpen,[h.treeId,y],!0)&&(e.switchNode(h,y),h.edit.drag.autoExpandTrigger&&h.treeObj.trigger(d.event.EXPAND,[h.treeId,y]))},h.edit.drag.autoOpenTime+50),window.zTreeMoveTargetNodeTId=y.tId}}else if(v=
-d.move.TYPE_INNER,s&&g.apply(h.edit.drag.inner,[h.treeId,m,null],!!h.edit.drag.inner)?s.addClass(d.node.TMPTARGET_TREE):s=null,A.css({display:"none"}),window.zTreeMoveTimer)clearTimeout(window.zTreeMoveTimer),window.zTreeMoveTargetNodeTId=null;T=u;U=v}return!1}function l(b){if(window.zTreeMoveTimer)clearTimeout(window.zTreeMoveTimer),window.zTreeMoveTargetNodeTId=null;U=T=null;F.unbind("mousemove",c);F.unbind("mouseup",l);F.unbind("selectstart",k);M.css("cursor","auto");s&&(s.removeClass(d.node.TMPTARGET_TREE),
-u&&w("#"+u+d.id.A,s).removeClass(d.node.TMPTARGET_NODE+"_"+d.move.TYPE_PREV).removeClass(d.node.TMPTARGET_NODE+"_"+I.move.TYPE_NEXT).removeClass(d.node.TMPTARGET_NODE+"_"+I.move.TYPE_INNER));g.showIfameMask(f,!1);t.showHoverDom=!0;if(B.dragFlag!=0){B.dragFlag=0;var a,i,j;for(a=0,i=m.length;a
-0;)c.dragMaskList[0].remove(),c.dragMaskList.shift();if(a)for(var d=p("iframe",b),e=0,i=d.length;e",b);j.appendTo(p("body",b));c.dragMaskList.push(j)}}},view:{addEditBtn:function(b,a){if(!(a.editNameFlag||p(a,d.id.EDIT,b).length>0)&&g.apply(b.edit.showRenameBtn,[b.treeId,a],b.edit.showRenameBtn)){var c=p(a,d.id.A,
-b),l=" ";c.append(l);p(a,d.id.EDIT,b).bind("click",function(){if(!g.uCanDo(b)||g.apply(b.callback.beforeEditName,[b.treeId,a],!0)==!1)return!1;e.editNode(b,a);return!1}).show()}},addRemoveBtn:function(b,a){if(!(a.editNameFlag||p(a,d.id.REMOVE,b).length>0)&&g.apply(b.edit.showRemoveBtn,[b.treeId,a],b.edit.showRemoveBtn)){var c=
-p(a,d.id.A,b),l=" ";c.append(l);p(a,d.id.REMOVE,b).bind("click",function(){if(!g.uCanDo(b)||g.apply(b.callback.beforeRemove,[b.treeId,a],!0)==!1)return!1;e.removeNode(b,a);b.treeObj.trigger(d.event.REMOVE,[b.treeId,a]);return!1}).bind("mousedown",function(){return!0}).show()}},addHoverDom:function(b,a){if(n.getRoots().showHoverDom)a.isHover=
-!0,b.edit.enable&&(e.addEditBtn(b,a),e.addRemoveBtn(b,a)),g.apply(b.view.addHoverDom,[b.treeId,a])},cancelCurEditNode:function(b,a,c){var l=n.getRoot(b),k=b.data.key.name,i=l.curEditNode;if(i){var j=l.curEditInput,a=a?a:c?i[k]:j.val();if(g.apply(b.callback.beforeRename,[b.treeId,i,a,c],!0)===!1)return!1;else i[k]=a,b.treeObj.trigger(d.event.RENAME,[b.treeId,i,c]);p(i,d.id.A,b).removeClass(d.node.CURSELECTED_EDIT);j.unbind();e.setNodeName(b,i);i.editNameFlag=!1;l.curEditNode=null;l.curEditInput=null;
-e.selectNode(b,i,!1)}return l.noSelection=!0},editNode:function(b,a){var c=n.getRoot(b);e.editNodeBlur=!1;if(n.isSelectedNode(b,a)&&c.curEditNode==a&&a.editNameFlag)setTimeout(function(){g.inputFocus(c.curEditInput)},0);else{var l=b.data.key.name;a.editNameFlag=!0;e.removeTreeDom(b,a);e.cancelCurEditNode(b);e.selectNode(b,a,!1);p(a,d.id.SPAN,b).html(" ");var k=p(a,d.id.INPUT,b);k.attr("value",a[l]);b.edit.editNameSelectAll?
-g.inputSelect(k):g.inputFocus(k);k.bind("blur",function(){e.editNodeBlur||e.cancelCurEditNode(b)}).bind("keydown",function(a){a.keyCode=="13"?(e.editNodeBlur=!0,e.cancelCurEditNode(b)):a.keyCode=="27"&&e.cancelCurEditNode(b,null,!0)}).bind("click",function(){return!1}).bind("dblclick",function(){return!1});p(a,d.id.A,b).addClass(d.node.CURSELECTED_EDIT);c.curEditInput=k;c.noSelection=!1;c.curEditNode=a}},moveNode:function(b,a,c,l,k,i){var j=n.getRoot(b),f=b.data.key.children;if(a!=c&&(!b.data.keep.leaf||
-!a||a.isParent||l!=d.move.TYPE_INNER)){var g=c.parentTId?c.getParentNode():j,t=a===null||a==j;t&&a===null&&(a=j);if(t)l=d.move.TYPE_INNER;j=a.parentTId?a.getParentNode():j;if(l!=d.move.TYPE_PREV&&l!=d.move.TYPE_NEXT)l=d.move.TYPE_INNER;if(l==d.move.TYPE_INNER)if(t)c.parentTId=null;else{if(!a.isParent)a.isParent=!0,a.open=!!a.open,e.setNodeLineIcos(b,a);c.parentTId=a.tId}var q;t?q=t=b.treeObj:(!i&&l==d.move.TYPE_INNER?e.expandCollapseNode(b,a,!0,!1):i||e.expandCollapseNode(b,a.getParentNode(),!0,!1),
-t=p(a,b),q=p(a,d.id.UL,b),t.get(0)&&!q.get(0)&&(q=[],e.makeUlHtml(b,a,q,""),t.append(q.join(""))),q=p(a,d.id.UL,b));var r=p(c,b);r.get(0)?t.get(0)||r.remove():r=e.appendNodes(b,c.level,[c],null,!1,!0).join("");q.get(0)&&l==d.move.TYPE_INNER?q.append(r):t.get(0)&&l==d.move.TYPE_PREV?t.before(r):t.get(0)&&l==d.move.TYPE_NEXT&&t.after(r);var m=-1,w=0,x=null,t=null,C=c.level;if(c.isFirstNode){if(m=0,g[f].length>1)x=g[f][1],x.isFirstNode=!0}else if(c.isLastNode)m=g[f].length-1,x=g[f][m-1],x.isLastNode=
-!0;else for(q=0,r=g[f].length;q=0&&g[f].splice(m,1);if(l!=d.move.TYPE_INNER)for(q=0,r=j[f].length;q0)t=a[f][a[f].length-1],t.isLastNode=!1;a[f].splice(a[f].length,0,c);c.isLastNode=!0;c.isFirstNode=a[f].length==1}else a.isFirstNode&&l==d.move.TYPE_PREV?(j[f].splice(w,0,c),t=a,t.isFirstNode=!1,c.parentTId=a.parentTId,c.isFirstNode=!0,c.isLastNode=!1):a.isLastNode&&l==d.move.TYPE_NEXT?
-(j[f].splice(w+1,0,c),t=a,t.isLastNode=!1,c.parentTId=a.parentTId,c.isFirstNode=!1,c.isLastNode=!0):(l==d.move.TYPE_PREV?j[f].splice(w,0,c):j[f].splice(w+1,0,c),c.parentTId=a.parentTId,c.isFirstNode=!1,c.isLastNode=!1);n.fixPIdKeyValue(b,c);n.setSonNodeLevel(b,c.getParentNode(),c);e.setNodeLineIcos(b,c);e.repairNodeLevelClass(b,c,C);!b.data.keep.parent&&g[f].length<1?(g.isParent=!1,g.open=!1,a=p(g,d.id.UL,b),l=p(g,d.id.SWITCH,b),f=p(g,d.id.ICON,b),e.replaceSwitchClass(g,l,d.folder.DOCU),e.replaceIcoClass(g,
-f,d.folder.DOCU),a.css("display","none")):x&&e.setNodeLineIcos(b,x);t&&e.setNodeLineIcos(b,t);b.check&&b.check.enable&&e.repairChkClass&&(e.repairChkClass(b,g),e.repairParentChkClassWithSelf(b,g),g!=c.parent&&e.repairParentChkClassWithSelf(b,c));i||e.expandCollapseParentNode(b,c.getParentNode(),!0,k)}},removeEditBtn:function(b,a){p(a,d.id.EDIT,b).unbind().remove()},removeRemoveBtn:function(b,a){p(a,d.id.REMOVE,b).unbind().remove()},removeTreeDom:function(b,a){a.isHover=!1;e.removeEditBtn(b,a);e.removeRemoveBtn(b,
-a);g.apply(b.view.removeHoverDom,[b.treeId,a])},repairNodeLevelClass:function(b,a,c){if(c!==a.level){var e=p(a,b),g=p(a,d.id.A,b),b=p(a,d.id.UL,b),c=d.className.LEVEL+c,a=d.className.LEVEL+a.level;e.removeClass(c);e.addClass(a);g.removeClass(c);g.addClass(a);b.removeClass(c);b.addClass(a)}},selectNodes:function(b,a){for(var c=0,d=a.length;c0)}},event:{},data:{setSonNodeLevel:function(b,a,c){if(c){var d=b.data.key.children;c.level=a?a.level+1:0;if(c[d])for(var a=0,e=c[d].length;a<
-e;a++)c[d][a]&&n.setSonNodeLevel(b,c,c[d][a])}}}});var H=w.fn.zTree,g=H._z.tools,d=H.consts,e=H._z.view,n=H._z.data,p=g.$;n.exSetting({edit:{enable:!1,editNameSelectAll:!1,showRemoveBtn:!0,showRenameBtn:!0,removeTitle:"remove",renameTitle:"rename",drag:{autoExpandTrigger:!1,isCopy:!0,isMove:!0,prev:!0,next:!0,inner:!0,minMoveSize:5,borderMax:10,borderMin:-5,maxShowNodeNum:5,autoOpenTime:500}},view:{addHoverDom:null,removeHoverDom:null},callback:{beforeDrag:null,beforeDragOpen:null,beforeDrop:null,
-beforeEditName:null,beforeRename:null,onDrag:null,onDrop:null,onRename:null}});n.addInitBind(function(b){var a=b.treeObj,c=d.event;a.bind(c.RENAME,function(a,c,d,e){g.apply(b.callback.onRename,[a,c,d,e])});a.bind(c.REMOVE,function(a,c,d){g.apply(b.callback.onRemove,[a,c,d])});a.bind(c.DRAG,function(a,c,d,e){g.apply(b.callback.onDrag,[c,d,e])});a.bind(c.DROP,function(a,c,d,e,f,n,p){g.apply(b.callback.onDrop,[c,d,e,f,n,p])})});n.addInitUnBind(function(b){var b=b.treeObj,a=d.event;b.unbind(a.RENAME);
-b.unbind(a.REMOVE);b.unbind(a.DRAG);b.unbind(a.DROP)});n.addInitCache(function(){});n.addInitNode(function(b,a,c){if(c)c.isHover=!1,c.editNameFlag=!1});n.addInitProxy(function(b){var a=b.target,c=n.getSetting(b.data.treeId),e=b.relatedTarget,k="",i=null,j="",f=null,p=null;if(g.eqs(b.type,"mouseover")){if(p=g.getMDom(c,a,[{tagName:"a",attrName:"treeNode"+d.id.A}]))k=g.getNodeMainDom(p).id,j="hoverOverNode"}else if(g.eqs(b.type,"mouseout"))p=g.getMDom(c,e,[{tagName:"a",attrName:"treeNode"+d.id.A}]),
-p||(k="remove",j="hoverOutNode");else if(g.eqs(b.type,"mousedown")&&(p=g.getMDom(c,a,[{tagName:"a",attrName:"treeNode"+d.id.A}])))k=g.getNodeMainDom(p).id,j="mousedownNode";if(k.length>0)switch(i=n.getNodeCache(c,k),j){case "mousedownNode":f=x.onMousedownNode;break;case "hoverOverNode":f=x.onHoverOverNode;break;case "hoverOutNode":f=x.onHoverOutNode}return{stop:!1,node:i,nodeEventType:j,nodeEventCallback:f,treeEventType:"",treeEventCallback:null}});n.addInitRoot(function(b){var b=n.getRoot(b),a=n.getRoots();
-b.curEditNode=null;b.curEditInput=null;b.curHoverNode=null;b.dragFlag=0;b.dragNodeShowBefore=[];b.dragMaskList=[];a.showHoverDom=!0});n.addZTreeTools(function(b,a){a.cancelEditName=function(a){n.getRoot(b).curEditNode&&e.cancelCurEditNode(b,a?a:null,!0)};a.copyNode=function(a,l,k,i){if(!l)return null;if(a&&!a.isParent&&b.data.keep.leaf&&k===d.move.TYPE_INNER)return null;var j=g.clone(l);if(!a)a=null,k=d.move.TYPE_INNER;k==d.move.TYPE_INNER?(l=function(){e.addNodes(b,a,[j],i)},g.canAsync(b,a)?e.asyncNode(b,
-a,i,l):l()):(e.addNodes(b,a.parentNode,[j],i),e.moveNode(b,a,j,k,!1,i));return j};a.editName=function(a){a&&a.tId&&a===n.getNodeCache(b,a.tId)&&(a.parentTId&&e.expandCollapseParentNode(b,a.getParentNode(),!0),e.editNode(b,a))};a.moveNode=function(a,l,k,i){function j(){e.moveNode(b,a,l,k,!1,i)}if(!l)return l;if(a&&!a.isParent&&b.data.keep.leaf&&k===d.move.TYPE_INNER)return null;else if(a&&(l.parentTId==a.tId&&k==d.move.TYPE_INNER||p(l,b).find("#"+a.tId).length>0))return null;else a||(a=null);g.canAsync(b,
-a)&&k===d.move.TYPE_INNER?e.asyncNode(b,a,i,j):j();return l};a.setEditable=function(a){b.edit.enable=a;return this.refresh()}});var N=e.cancelPreSelectedNode;e.cancelPreSelectedNode=function(b,a){for(var c=n.getRoot(b).curSelectedList,d=0,g=c.length;d1){var j=m[0].parentTId?m[0].getParentNode()[i]:n.getNodes(f);i=[];for(a=0,c=j.length;a-1&&k+1!==a&&(o=!1),i.push(j[a]),k=a),m.length===i.length){m=i;break}}o&&(H=m[0].getPreNode(),R=m[m.length-
+1].getNextNode());D=p("",f);for(a=0,c=m.length;a0),e.removeTreeDom(f,o),k=p(" ",f),k.append(p(o,d.id.A,f).clone()),k.css("padding","0"),k.children("#"+o.tId+d.id.A).removeClass(d.node.CURSELECTED),D.append(k),a==f.edit.drag.maxShowNodeNum-1){k=p(" ... ",f);D.append(k);break}D.attr("id",m[0].tId+d.id.UL+"_tmp");D.addClass(f.treeObj.attr("class"));D.appendTo(M);
+B=p(" ",f);B.attr("id","zTreeMove_arrow_tmp");B.appendTo(M);f.treeObj.trigger(d.event.DRAG,[b,f.treeId,m])}if(C.dragFlag==1){s&&B.attr("id")==b.target.id&&u&&b.clientX+F.scrollLeft()+2>w("#"+u+d.id.A,s).offset().left?(o=w("#"+u+d.id.A,s),b.target=o.length>0?o.get(0):b.target):s&&(s.removeClass(d.node.TMPTARGET_TREE),u&&w("#"+u+d.id.A,s).removeClass(d.node.TMPTARGET_NODE+"_"+d.move.TYPE_PREV).removeClass(d.node.TMPTARGET_NODE+"_"+I.move.TYPE_NEXT).removeClass(d.node.TMPTARGET_NODE+
+"_"+I.move.TYPE_INNER));u=s=null;J=!1;h=f;o=n.getSettings();for(var y in o)if(o[y].treeId&&o[y].edit.enable&&o[y].treeId!=f.treeId&&(b.target.id==o[y].treeId||w(b.target).parents("#"+o[y].treeId).length>0))J=!0,h=o[y];y=F.scrollTop();k=F.scrollLeft();i=h.treeObj.offset();a=h.treeObj.get(0).scrollHeight;o=h.treeObj.get(0).scrollWidth;c=b.clientY+y-i.top;var q=h.treeObj.height()+i.top-b.clientY-y,r=b.clientX+k-i.left,x=h.treeObj.width()+i.left-b.clientX-k;i=cf.edit.drag.borderMin;
+var j=qf.edit.drag.borderMin,K=rf.edit.drag.borderMin,G=xf.edit.drag.borderMin,q=c>f.edit.drag.borderMin&&q>f.edit.drag.borderMin&&r>f.edit.drag.borderMin&&x>f.edit.drag.borderMin,r=i&&h.treeObj.scrollTop()<=0,x=j&&h.treeObj.scrollTop()+h.treeObj.height()+10>=a,P=K&&h.treeObj.scrollLeft()<=0,Q=G&&h.treeObj.scrollLeft()+h.treeObj.width()+10>=o;if(b.target&&g.isChildOrSelf(b.target,h.treeId)){for(var E=b.target;E&&E.tagName&&
+!g.eqs(E.tagName,"li")&&E.id!=h.treeId;)E=E.parentNode;var S=!0;for(a=0,c=m.length;a0){S=!1;break}if(S&&b.target&&g.isChildOrSelf(b.target,E.id+d.id.A))s=w(E),u=E.id}o=m[0];if(q&&g.isChildOrSelf(b.target,h.treeId)){if(!s&&(b.target.id==h.treeId||r||x||P||Q)&&(J||!J&&o.parentTId))s=h.treeObj;i?h.treeObj.scrollTop(h.treeObj.scrollTop()-10):j&&h.treeObj.scrollTop(h.treeObj.scrollTop()+10);K?h.treeObj.scrollLeft(h.treeObj.scrollLeft()-
+10):G&&h.treeObj.scrollLeft(h.treeObj.scrollLeft()+10);s&&s!=h.treeObj&&s.offset().left=-0.2)&&o?(a=1-B.width(),i=j-B.height()/2,v=d.move.TYPE_PREV):(G==0||y>=G&&y<=1.2)&&a?(a=1-B.width(),i=i==null||z.isParent&&z.open?j+c.height()-B.height()/2:i.offset().top-B.height()/2,v=d.move.TYPE_NEXT):(a=5-B.width(),i=j,v=d.move.TYPE_INNER);B.css({display:"block",top:i+"px",left:k+a+"px"});c.addClass(d.node.TMPTARGET_NODE+"_"+v);if(T!=u||U!=v)L=(new Date).getTime();if(z&&z.isParent&&v==d.move.TYPE_INNER&&
+(y=!0,window.zTreeMoveTimer&&window.zTreeMoveTargetNodeTId!==z.tId?(clearTimeout(window.zTreeMoveTimer),window.zTreeMoveTargetNodeTId=null):window.zTreeMoveTimer&&window.zTreeMoveTargetNodeTId===z.tId&&(y=!1),y))window.zTreeMoveTimer=setTimeout(function(){v==d.move.TYPE_INNER&&z&&z.isParent&&!z.open&&(new Date).getTime()-L>h.edit.drag.autoOpenTime&&g.apply(h.callback.beforeDragOpen,[h.treeId,z],!0)&&(e.switchNode(h,z),h.edit.drag.autoExpandTrigger&&h.treeObj.trigger(d.event.EXPAND,[h.treeId,z]))},
+h.edit.drag.autoOpenTime+50),window.zTreeMoveTargetNodeTId=z.tId}}else if(v=d.move.TYPE_INNER,s&&g.apply(h.edit.drag.inner,[h.treeId,m,null],!!h.edit.drag.inner)?s.addClass(d.node.TMPTARGET_TREE):s=null,B.css({display:"none"}),window.zTreeMoveTimer)clearTimeout(window.zTreeMoveTimer),window.zTreeMoveTargetNodeTId=null;T=u;U=v;f.treeObj.trigger(d.event.DRAGMOVE,[b,f.treeId,m])}return!1}function l(b){if(window.zTreeMoveTimer)clearTimeout(window.zTreeMoveTimer),window.zTreeMoveTargetNodeTId=null;U=T=
+null;F.unbind("mousemove",c);F.unbind("mouseup",l);F.unbind("selectstart",k);M.css("cursor","auto");s&&(s.removeClass(d.node.TMPTARGET_TREE),u&&w("#"+u+d.id.A,s).removeClass(d.node.TMPTARGET_NODE+"_"+d.move.TYPE_PREV).removeClass(d.node.TMPTARGET_NODE+"_"+I.move.TYPE_NEXT).removeClass(d.node.TMPTARGET_NODE+"_"+I.move.TYPE_INNER));g.showIfameMask(f,!1);t.showHoverDom=!0;if(C.dragFlag!=0){C.dragFlag=0;var a,i,j;for(a=0,i=m.length;a0;)c.dragMaskList[0].remove(),c.dragMaskList.shift();if(a)for(var d=p("iframe",b),e=0,i=d.length;e",b);j.appendTo(p("body",b));c.dragMaskList.push(j)}}},view:{addEditBtn:function(b,
+a){if(!(a.editNameFlag||p(a,d.id.EDIT,b).length>0)&&g.apply(b.edit.showRenameBtn,[b.treeId,a],b.edit.showRenameBtn)){var c=p(a,d.id.A,b),l=" ";c.append(l);p(a,d.id.EDIT,b).bind("click",function(){if(!g.uCanDo(b)||g.apply(b.callback.beforeEditName,[b.treeId,a],!0)==!1)return!1;e.editNode(b,a);return!1}).show()}},
+addRemoveBtn:function(b,a){if(!(a.editNameFlag||p(a,d.id.REMOVE,b).length>0)&&g.apply(b.edit.showRemoveBtn,[b.treeId,a],b.edit.showRemoveBtn)){var c=p(a,d.id.A,b),l=" ";c.append(l);p(a,d.id.REMOVE,b).bind("click",function(){if(!g.uCanDo(b)||g.apply(b.callback.beforeRemove,[b.treeId,a],!0)==!1)return!1;e.removeNode(b,
+a);b.treeObj.trigger(d.event.REMOVE,[b.treeId,a]);return!1}).bind("mousedown",function(){return!0}).show()}},addHoverDom:function(b,a){if(n.getRoots().showHoverDom)a.isHover=!0,b.edit.enable&&(e.addEditBtn(b,a),e.addRemoveBtn(b,a)),g.apply(b.view.addHoverDom,[b.treeId,a])},cancelCurEditNode:function(b,a,c){var l=n.getRoot(b),k=b.data.key.name,i=l.curEditNode;if(i){var j=l.curEditInput,a=a?a:c?i[k]:j.val();if(g.apply(b.callback.beforeRename,[b.treeId,i,a,c],!0)===!1)return!1;else i[k]=a,b.treeObj.trigger(d.event.RENAME,
+[b.treeId,i,c]);p(i,d.id.A,b).removeClass(d.node.CURSELECTED_EDIT);j.unbind();e.setNodeName(b,i);i.editNameFlag=!1;l.curEditNode=null;l.curEditInput=null;e.selectNode(b,i,!1)}return l.noSelection=!0},editNode:function(b,a){var c=n.getRoot(b);e.editNodeBlur=!1;if(n.isSelectedNode(b,a)&&c.curEditNode==a&&a.editNameFlag)setTimeout(function(){g.inputFocus(c.curEditInput)},0);else{var l=b.data.key.name;a.editNameFlag=!0;e.removeTreeDom(b,a);e.cancelCurEditNode(b);e.selectNode(b,a,!1);p(a,d.id.SPAN,b).html(" ");var k=p(a,d.id.INPUT,b);k.attr("value",a[l]);b.edit.editNameSelectAll?g.inputSelect(k):g.inputFocus(k);k.bind("blur",function(){e.editNodeBlur||e.cancelCurEditNode(b)}).bind("keydown",function(a){a.keyCode=="13"?(e.editNodeBlur=!0,e.cancelCurEditNode(b)):a.keyCode=="27"&&e.cancelCurEditNode(b,null,!0)}).bind("click",function(){return!1}).bind("dblclick",function(){return!1});p(a,d.id.A,b).addClass(d.node.CURSELECTED_EDIT);c.curEditInput=k;c.noSelection=
+!1;c.curEditNode=a}},moveNode:function(b,a,c,l,k,i){var j=n.getRoot(b),f=b.data.key.children;if(a!=c&&(!b.data.keep.leaf||!a||a.isParent||l!=d.move.TYPE_INNER)){var g=c.parentTId?c.getParentNode():j,t=a===null||a==j;t&&a===null&&(a=j);if(t)l=d.move.TYPE_INNER;j=a.parentTId?a.getParentNode():j;if(l!=d.move.TYPE_PREV&&l!=d.move.TYPE_NEXT)l=d.move.TYPE_INNER;if(l==d.move.TYPE_INNER)if(t)c.parentTId=null;else{if(!a.isParent)a.isParent=!0,a.open=!!a.open,e.setNodeLineIcos(b,a);c.parentTId=a.tId}var q;
+t?q=t=b.treeObj:(!i&&l==d.move.TYPE_INNER?e.expandCollapseNode(b,a,!0,!1):i||e.expandCollapseNode(b,a.getParentNode(),!0,!1),t=p(a,b),q=p(a,d.id.UL,b),t.get(0)&&!q.get(0)&&(q=[],e.makeUlHtml(b,a,q,""),t.append(q.join(""))),q=p(a,d.id.UL,b));var r=p(c,b);r.get(0)?t.get(0)||r.remove():r=e.appendNodes(b,c.level,[c],null,!1,!0).join("");q.get(0)&&l==d.move.TYPE_INNER?q.append(r):t.get(0)&&l==d.move.TYPE_PREV?t.before(r):t.get(0)&&l==d.move.TYPE_NEXT&&t.after(r);var m=-1,w=0,x=null,t=null,D=c.level;if(c.isFirstNode){if(m=
+0,g[f].length>1)x=g[f][1],x.isFirstNode=!0}else if(c.isLastNode)m=g[f].length-1,x=g[f][m-1],x.isLastNode=!0;else for(q=0,r=g[f].length;q=0&&g[f].splice(m,1);if(l!=d.move.TYPE_INNER)for(q=0,r=j[f].length;q0)t=a[f][a[f].length-1],t.isLastNode=!1;a[f].splice(a[f].length,0,c);c.isLastNode=!0;c.isFirstNode=a[f].length==1}else a.isFirstNode&&l==d.move.TYPE_PREV?(j[f].splice(w,
+0,c),t=a,t.isFirstNode=!1,c.parentTId=a.parentTId,c.isFirstNode=!0,c.isLastNode=!1):a.isLastNode&&l==d.move.TYPE_NEXT?(j[f].splice(w+1,0,c),t=a,t.isLastNode=!1,c.parentTId=a.parentTId,c.isFirstNode=!1,c.isLastNode=!0):(l==d.move.TYPE_PREV?j[f].splice(w,0,c):j[f].splice(w+1,0,c),c.parentTId=a.parentTId,c.isFirstNode=!1,c.isLastNode=!1);n.fixPIdKeyValue(b,c);n.setSonNodeLevel(b,c.getParentNode(),c);e.setNodeLineIcos(b,c);e.repairNodeLevelClass(b,c,D);!b.data.keep.parent&&g[f].length<1?(g.isParent=!1,
+g.open=!1,a=p(g,d.id.UL,b),l=p(g,d.id.SWITCH,b),f=p(g,d.id.ICON,b),e.replaceSwitchClass(g,l,d.folder.DOCU),e.replaceIcoClass(g,f,d.folder.DOCU),a.css("display","none")):x&&e.setNodeLineIcos(b,x);t&&e.setNodeLineIcos(b,t);b.check&&b.check.enable&&e.repairChkClass&&(e.repairChkClass(b,g),e.repairParentChkClassWithSelf(b,g),g!=c.parent&&e.repairParentChkClassWithSelf(b,c));i||e.expandCollapseParentNode(b,c.getParentNode(),!0,k)}},removeEditBtn:function(b,a){p(a,d.id.EDIT,b).unbind().remove()},removeRemoveBtn:function(b,
+a){p(a,d.id.REMOVE,b).unbind().remove()},removeTreeDom:function(b,a){a.isHover=!1;e.removeEditBtn(b,a);e.removeRemoveBtn(b,a);g.apply(b.view.removeHoverDom,[b.treeId,a])},repairNodeLevelClass:function(b,a,c){if(c!==a.level){var e=p(a,b),g=p(a,d.id.A,b),b=p(a,d.id.UL,b),c=d.className.LEVEL+c,a=d.className.LEVEL+a.level;e.removeClass(c);e.addClass(a);g.removeClass(c);g.addClass(a);b.removeClass(c);b.addClass(a)}},selectNodes:function(b,a){for(var c=0,d=a.length;c0)}},event:{},
+data:{setSonNodeLevel:function(b,a,c){if(c){var d=b.data.key.children;c.level=a?a.level+1:0;if(c[d])for(var a=0,e=c[d].length;a0)switch(i=n.getNodeCache(c,k),j){case "mousedownNode":f=x.onMousedownNode;break;
+case "hoverOverNode":f=x.onHoverOverNode;break;case "hoverOutNode":f=x.onHoverOutNode}return{stop:!1,node:i,nodeEventType:j,nodeEventCallback:f,treeEventType:"",treeEventCallback:null}});n.addInitRoot(function(b){var b=n.getRoot(b),a=n.getRoots();b.curEditNode=null;b.curEditInput=null;b.curHoverNode=null;b.dragFlag=0;b.dragNodeShowBefore=[];b.dragMaskList=[];a.showHoverDom=!0});n.addZTreeTools(function(b,a){a.cancelEditName=function(a){n.getRoot(b).curEditNode&&e.cancelCurEditNode(b,a?a:null,!0)};
+a.copyNode=function(a,l,k,i){if(!l)return null;if(a&&!a.isParent&&b.data.keep.leaf&&k===d.move.TYPE_INNER)return null;var j=g.clone(l);if(!a)a=null,k=d.move.TYPE_INNER;k==d.move.TYPE_INNER?(l=function(){e.addNodes(b,a,[j],i)},g.canAsync(b,a)?e.asyncNode(b,a,i,l):l()):(e.addNodes(b,a.parentNode,[j],i),e.moveNode(b,a,j,k,!1,i));return j};a.editName=function(a){a&&a.tId&&a===n.getNodeCache(b,a.tId)&&(a.parentTId&&e.expandCollapseParentNode(b,a.getParentNode(),!0),e.editNode(b,a))};a.moveNode=function(a,
+l,k,i){function j(){e.moveNode(b,a,l,k,!1,i)}if(!l)return l;if(a&&!a.isParent&&b.data.keep.leaf&&k===d.move.TYPE_INNER)return null;else if(a&&(l.parentTId==a.tId&&k==d.move.TYPE_INNER||p(l,b).find("#"+a.tId).length>0))return null;else a||(a=null);g.canAsync(b,a)&&k===d.move.TYPE_INNER?e.asyncNode(b,a,i,j):j();return l};a.setEditable=function(a){b.edit.enable=a;return this.refresh()}});var N=e.cancelPreSelectedNode;e.cancelPreSelectedNode=function(b,a){for(var c=n.getRoot(b).curSelectedList,d=0,g=
+c.length;d")},showNode:function(c,a){a.isHidden=!1;f.initShowForExCheck(c,a);j(a,c).show()},showNodes:function(c,a,b){if(a&&a.length!=0){var e={},g,k;for(g=0,k=a.length;g
-*2013.11.03* v3.5.16-beta.2
+
+*2013.11.24* v3.5.16-beta.3
+ * 【增加】onDragMove 回调,便于控制 zTree 节点与其他 DOM 的拖拽操作。(感谢 yumi301)
+
* 【修改】使用 destory 方法销毁树以后,依然可以从 getZTreeObj 方法中获取到 zTree 对象的 bug。
+ * 【修改】onCheck 回调的 event,恢复为 zTree 自身的 event 事件,同时利用 srcEvent 传递原始 event 对象。(感谢 yumi301)
+
*2013.10.19* v3.5.15
* 【增加】setting.view.txtSelectedEnable 属性,满足部分项目中客户对于可以选择节点文本信息的强烈欲望。