Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
GitCode
1024程序员开源挑战赛(10.23-11.14)
提交
1bb25330
1
1024程序员开源挑战赛(10.23-11.14)
项目概览
GitCode
/
1024程序员开源挑战赛(10.23-11.14)
通知
180867
Star
1064
Fork
1042
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
86
列表
看板
标记
里程碑
合并请求
8
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
1
1024程序员开源挑战赛(10.23-11.14)
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
86
Issue
86
列表
看板
标记
里程碑
合并请求
8
合并请求
8
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
1bb25330
编写于
12月 27, 2016
作者:
Z
ztree
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
* [修改] addNodes 方法设置 index 参数后,导致 treeNode.isLastNode 错误
上级
bfe4c117
变更
15
隐藏空白更改
内联
并排
Showing
15 changed file
with
41 addition
and
38 deletion
+41
-38
README.md
README.md
+1
-1
api/API_cn.html
api/API_cn.html
+1
-1
api/API_en.html
api/API_en.html
+1
-1
api/apiCss/jquery.ztree.core.js
api/apiCss/jquery.ztree.core.js
+3
-3
js/jquery.ztree.all.js
js/jquery.ztree.all.js
+7
-7
js/jquery.ztree.all.min.js
js/jquery.ztree.all.min.js
+7
-7
js/jquery.ztree.core.js
js/jquery.ztree.core.js
+3
-3
js/jquery.ztree.core.min.js
js/jquery.ztree.core.min.js
+3
-3
js/jquery.ztree.excheck.js
js/jquery.ztree.excheck.js
+2
-2
js/jquery.ztree.excheck.min.js
js/jquery.ztree.excheck.min.js
+2
-2
js/jquery.ztree.exedit.js
js/jquery.ztree.exedit.js
+2
-2
js/jquery.ztree.exedit.min.js
js/jquery.ztree.exedit.min.js
+2
-2
js/jquery.ztree.exhide.js
js/jquery.ztree.exhide.js
+2
-2
js/jquery.ztree.exhide.min.js
js/jquery.ztree.exhide.min.js
+2
-2
log v3.x.txt
log v3.x.txt
+3
-0
未找到文件。
README.md
浏览文件 @
1bb25330
jQuery Tree Plugin ---- zTree
============
last verson : 3.5.2
6
last verson : 3.5.2
7
**Donate to zTree**
: http://www.treejs.cn/v3/donate.php
...
...
api/API_cn.html
浏览文件 @
1bb25330
...
...
@@ -35,7 +35,7 @@
<div
class=
"ieSuggest"
>
浏览本网站建议您使用 Chrome、FireFox、Opera、IE9 等浏览器(只要不是 IE6 7 8 就行), 速度会更快,画面会更炫!
</div>
<div
class=
"google_plus"
><g:plusone></g:plusone></div>
<div
class=
"header-text"
>
<h1><em>
zTree v3.5.2
6
API 文档
</em></h1><p></p>
<h1><em>
zTree v3.5.2
7
API 文档
</em></h1><p></p>
<p>
all.js = core + excheck + exedit ( 不包括 exhide ); 发现错误请及时通知,谢谢。
</p>
</div>
<ul
class=
"shortcuts language"
style=
"top:0;"
>
...
...
api/API_en.html
浏览文件 @
1bb25330
...
...
@@ -34,7 +34,7 @@
<div
class=
"ieSuggest"
>
If you use the Chrome / FireFox / Opera / IE9 browser will be even more dazzling effect!
</div>
<div
class=
"google_plus"
><g:plusone></g:plusone></div>
<div
class=
"header-text"
>
<h1><em>
zTree v3.5.2
6
API Document
</em></h1><p></p>
<h1><em>
zTree v3.5.2
7
API Document
</em></h1><p></p>
<p>
all.js = core + excheck + exedit ( without exhide ); if you found some mistakes please contact me.
</p>
</div>
<ul
class=
"shortcuts language"
style=
"top:0;"
>
...
...
api/apiCss/jquery.ztree.core.js
浏览文件 @
1bb25330
/*
* JQuery zTree core v3.5.2
6
* JQuery zTree core v3.5.2
7
* http://treejs.cn/
*
* Copyright (c) 2010 Hunter.z
...
...
@@ -8,7 +8,7 @@
* http://www.opensource.org/licenses/mit-license.php
*
* email: hunter.z@263.net
* Date: 2016-1
1-03
* Date: 2016-1
2-27
*/
(
function
(
q
){
var
H
,
I
,
J
,
K
,
L
,
M
,
u
,
r
=
{},
v
=
{},
w
=
{},
N
=
{
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
"
,
icon
:
"
icon
"
},
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
}},
x
=
[
function
(
b
){
var
a
=
b
.
treeObj
,
c
=
f
.
event
;
a
.
bind
(
c
.
NODECREATED
,
function
(
a
,
c
,
g
){
j
.
apply
(
b
.
callback
.
onNodeCreated
,
...
...
@@ -37,7 +37,7 @@ j.apply(c.callback.beforeMouseUp,[c.treeId,a],!0)&&j.apply(c.callback.onMouseUp,
return
b
===
"
input
"
||
b
===
"
textarea
"
};
var
j
=
{
apply
:
function
(
b
,
a
,
c
){
return
typeof
b
==
"
function
"
?
b
.
apply
(
O
,
a
?
a
:[]):
c
},
canAsync
:
function
(
b
,
a
){
var
c
=
b
.
data
.
key
.
children
;
return
b
.
async
.
enable
&&
a
&&
a
.
isParent
&&!
(
a
.
zAsync
||
a
[
c
]
&&
a
[
c
].
length
>
0
)},
clone
:
function
(
b
){
if
(
b
===
null
)
return
null
;
var
a
=
j
.
isArray
(
b
)?[]:{},
c
;
for
(
c
in
b
)
a
[
c
]
=
b
[
c
]
instanceof
Date
?
new
Date
(
b
[
c
].
getTime
()):
typeof
b
[
c
]
===
"
object
"
?
j
.
clone
(
b
[
c
]):
b
[
c
];
return
a
},
eqs
:
function
(
b
,
a
){
return
b
.
toLowerCase
()
===
a
.
toLowerCase
()},
isArray
:
function
(
b
){
return
Object
.
prototype
.
toString
.
apply
(
b
)
===
"
[object Array]
"
},
$
:
function
(
b
,
a
,
c
){
a
&&
typeof
a
!=
"
string
"
&&
(
c
=
a
,
a
=
""
);
return
typeof
b
==
"
string
"
?
q
(
b
,
c
?
c
.
treeObj
.
get
(
0
).
ownerDocument
:
null
):
q
(
"
#
"
+
b
.
tId
+
a
,
c
?
c
.
treeObj
:
null
)},
getMDom
:
function
(
b
,
a
,
c
){
if
(
!
a
)
return
null
;
for
(;
a
&&
a
.
id
!==
b
.
treeId
;){
for
(
var
d
=
0
,
e
=
c
.
length
;
a
.
tagName
&&
d
<
e
;
d
++
)
if
(
j
.
eqs
(
a
.
tagName
,
c
[
d
].
tagName
)
&&
a
.
getAttribute
(
c
[
d
].
attrName
)
!==
null
)
return
a
;
a
=
a
.
parentNode
}
return
null
},
getNodeMainDom
:
function
(
b
){
return
q
(
b
).
parent
(
"
li
"
).
get
(
0
)
||
q
(
b
).
parentsUntil
(
"
li
"
).
parent
().
get
(
0
)},
isChildOrSelf
:
function
(
b
,
a
){
return
q
(
b
).
closest
(
"
#
"
+
a
).
length
>
0
},
uCanDo
:
function
(){
return
!
0
}},
i
=
{
addNodes
:
function
(
b
,
a
,
c
,
d
,
e
){
if
(
!
b
.
data
.
keep
.
leaf
||!
a
||
a
.
isParent
)
if
(
j
.
isArray
(
d
)
||
(
d
=
[
d
]),
b
.
data
.
simpleData
.
enable
&&
(
d
=
h
.
transformTozTreeFormat
(
b
,
d
)),
a
){
var
g
=
k
(
a
,
f
.
id
.
SWITCH
,
b
),
l
=
k
(
a
,
f
.
id
.
ICON
,
b
),
p
=
k
(
a
,
f
.
id
.
UL
,
b
);
if
(
!
a
.
open
)
i
.
replaceSwitchClass
(
a
,
g
,
f
.
folder
.
CLOSE
),
i
.
replaceIcoClass
(
a
,
l
,
f
.
folder
.
CLOSE
),
a
.
open
=!
1
,
p
.
css
({
display
:
"
none
"
});
h
.
addNodesData
(
b
,
a
,
c
,
d
);
i
.
createNodes
(
b
,
a
.
level
+
1
,
d
,
a
,
c
);
e
||
i
.
expandCollapseParentNode
(
b
,
a
,
!
0
)}
else
h
.
addNodesData
(
b
,
h
.
getRoot
(
b
),
c
,
d
),
i
.
createNodes
(
b
,
0
,
d
,
null
,
c
)},
appendNodes
:
function
(
b
,
a
,
c
,
d
,
e
,
g
,
f
){
if
(
!
c
)
return
[];
var
j
=
[],
n
=
b
.
data
.
key
.
children
,
k
=
(
d
?
d
:
h
.
getRoot
(
b
))[
n
],
m
,
Q
;
if
(
!
k
||
e
>=
k
.
length
)
e
=-
1
;
for
(
var
s
=
0
,
R
=
c
.
length
;
s
<
R
;
s
++
){
var
o
=
c
[
s
];
g
&&
(
m
=
(
e
===
0
||
k
.
length
==
c
.
length
)
&&
s
==
0
,
Q
=
e
<
0
&&
s
==
c
.
length
-
1
,
h
.
initNode
(
b
,
a
,
o
,
d
,
m
,
Q
,
f
),
h
.
addNodeCache
(
b
,
o
));
m
=
[];
o
[
n
]
&&
o
[
n
].
length
>
0
&&
(
m
=
i
.
appendNodes
(
b
,
a
+
1
,
o
[
n
],
o
,
-
1
,
g
,
f
&&
o
.
open
));
f
&&
(
i
.
makeDOMNodeMainBefore
(
j
,
b
,
o
),
i
.
makeDOMNodeLine
(
j
,
b
,
o
),
h
.
getBeforeA
(
b
,
!
0
)}
else
h
.
addNodesData
(
b
,
h
.
getRoot
(
b
),
c
,
d
),
i
.
createNodes
(
b
,
0
,
d
,
null
,
c
)},
appendNodes
:
function
(
b
,
a
,
c
,
d
,
e
,
g
,
f
){
if
(
!
c
)
return
[];
var
j
=
[],
n
=
b
.
data
.
key
.
children
,
k
=
(
d
?
d
:
h
.
getRoot
(
b
))[
n
],
m
,
Q
;
if
(
!
k
||
e
>=
k
.
length
-
c
.
length
)
e
=-
1
;
for
(
var
s
=
0
,
R
=
c
.
length
;
s
<
R
;
s
++
){
var
o
=
c
[
s
];
g
&&
(
m
=
(
e
===
0
||
k
.
length
==
c
.
length
)
&&
s
==
0
,
Q
=
e
<
0
&&
s
==
c
.
length
-
1
,
h
.
initNode
(
b
,
a
,
o
,
d
,
m
,
Q
,
f
),
h
.
addNodeCache
(
b
,
o
));
m
=
[];
o
[
n
]
&&
o
[
n
].
length
>
0
&&
(
m
=
i
.
appendNodes
(
b
,
a
+
1
,
o
[
n
],
o
,
-
1
,
g
,
f
&&
o
.
open
));
f
&&
(
i
.
makeDOMNodeMainBefore
(
j
,
b
,
o
),
i
.
makeDOMNodeLine
(
j
,
b
,
o
),
h
.
getBeforeA
(
b
,
o
,
j
),
i
.
makeDOMNodeNameBefore
(
j
,
b
,
o
),
h
.
getInnerBeforeA
(
b
,
o
,
j
),
i
.
makeDOMNodeIcon
(
j
,
b
,
o
),
h
.
getInnerAfterA
(
b
,
o
,
j
),
i
.
makeDOMNodeNameAfter
(
j
,
b
,
o
),
h
.
getAfterA
(
b
,
o
,
j
),
o
.
isParent
&&
o
.
open
&&
i
.
makeUlHtml
(
b
,
o
,
j
,
m
.
join
(
""
)),
i
.
makeDOMNodeMainAfter
(
j
,
b
,
o
),
h
.
addCreatedNode
(
b
,
o
))}
return
j
},
appendParentULDom
:
function
(
b
,
a
){
var
c
=
[],
d
=
k
(
a
,
b
);
!
d
.
get
(
0
)
&&
a
.
parentTId
&&
(
i
.
appendParentULDom
(
b
,
a
.
getParentNode
()),
d
=
k
(
a
,
b
));
var
e
=
k
(
a
,
f
.
id
.
UL
,
b
);
e
.
get
(
0
)
&&
e
.
remove
();
e
=
i
.
appendNodes
(
b
,
a
.
level
+
1
,
a
[
b
.
data
.
key
.
children
],
a
,
-
1
,
!
1
,
!
0
);
i
.
makeUlHtml
(
b
,
a
,
c
,
e
.
join
(
""
));
d
.
append
(
c
.
join
(
""
))},
asyncNode
:
function
(
b
,
a
,
c
,
d
){
var
e
,
g
;
if
(
a
&&!
a
.
isParent
)
return
j
.
apply
(
d
),
!
1
;
else
if
(
a
&&
a
.
isAjaxing
)
return
!
1
;
else
if
(
j
.
apply
(
b
.
callback
.
beforeAsync
,[
b
.
treeId
,
a
],
!
0
)
==!
1
)
return
j
.
apply
(
d
),
!
1
;
if
(
a
)
a
.
isAjaxing
=!
0
,
k
(
a
,
f
.
id
.
ICON
,
b
).
attr
({
style
:
""
,
"
class
"
:
f
.
className
.
BUTTON
+
"
"
+
f
.
className
.
ICO_LOADING
});
var
l
=
{};
for
(
e
=
0
,
g
=
b
.
async
.
autoParam
.
length
;
a
&&
e
<
g
;
e
++
){
var
p
=
b
.
async
.
autoParam
[
e
].
split
(
"
=
"
),
n
=
p
;
p
.
length
>
1
&&
(
n
=
p
[
1
],
p
=
p
[
0
]);
l
[
n
]
=
a
[
p
]}
if
(
j
.
isArray
(
b
.
async
.
otherParam
))
for
(
e
=
0
,
g
=
b
.
async
.
otherParam
.
length
;
e
<
g
;
e
+=
2
)
l
[
b
.
async
.
otherParam
[
e
]]
=
b
.
async
.
otherParam
[
e
+
1
];
else
for
(
var
m
in
b
.
async
.
otherParam
)
l
[
m
]
=
b
.
async
.
otherParam
[
m
];
var
P
=
h
.
getRoot
(
b
).
_ver
;
q
.
ajax
({
contentType
:
b
.
async
.
contentType
,
cache
:
!
1
,
type
:
b
.
async
.
type
,
url
:
j
.
apply
(
b
.
async
.
url
,[
b
.
treeId
,
a
],
b
.
async
.
url
),
data
:
b
.
async
.
contentType
.
indexOf
(
"
application/json
"
)
>-
1
?
JSON
.
stringify
(
l
):
l
,
dataType
:
b
.
async
.
dataType
,
success
:
function
(
e
){
if
(
P
==
h
.
getRoot
(
b
).
_ver
){
var
g
=
[];
try
{
g
=!
e
||
e
.
length
==
0
?[]:
typeof
e
==
"
string
"
?
eval
(
"
(
"
+
...
...
js/jquery.ztree.all.js
浏览文件 @
1bb25330
/*
* JQuery zTree core v3.5.2
6
* JQuery zTree core v3.5.2
7
* http://treejs.cn/
*
* Copyright (c) 2010 Hunter.z
...
...
@@ -9,7 +9,7 @@
* http://www.opensource.org/licenses/mit-license.php
*
* email: hunter.z@263.net
* Date: 2016-1
1-03
* Date: 2016-1
2-27
*/
(
function
(
$
){
var
settings
=
{},
roots
=
{},
caches
=
{},
...
...
@@ -906,7 +906,7 @@
tmpPChild
=
tmpPNode
[
childKey
],
isFirstNode
,
isLastNode
;
if
(
!
tmpPChild
||
index
>=
tmpPChild
.
length
)
{
if
(
!
tmpPChild
||
index
>=
tmpPChild
.
length
-
nodes
.
length
)
{
index
=
-
1
;
}
...
...
@@ -1883,7 +1883,7 @@
consts
=
zt
.
consts
;
})(
jQuery
);
/*
* JQuery zTree excheck v3.5.2
6
* JQuery zTree excheck v3.5.2
7
* http://treejs.cn/
*
* Copyright (c) 2010 Hunter.z
...
...
@@ -1892,7 +1892,7 @@
* http://www.opensource.org/licenses/mit-license.php
*
* email: hunter.z@263.net
* Date: 2016-1
1-03
* Date: 2016-1
2-27
*/
(
function
(
$
){
//default consts of excheck
...
...
@@ -2511,7 +2511,7 @@
}
})(
jQuery
);
/*
* JQuery zTree exedit v3.5.2
6
* JQuery zTree exedit v3.5.2
7
* http://treejs.cn/
*
* Copyright (c) 2010 Hunter.z
...
...
@@ -2520,7 +2520,7 @@
* http://www.opensource.org/licenses/mit-license.php
*
* email: hunter.z@263.net
* Date: 2016-1
1-03
* Date: 2016-1
2-27
*/
(
function
(
$
){
//default consts of exedit
...
...
js/jquery.ztree.all.min.js
浏览文件 @
1bb25330
/*
* JQuery zTree core v3.5.2
6
* JQuery zTree core v3.5.2
7
* http://treejs.cn/
*
* Copyright (c) 2010 Hunter.z
...
...
@@ -9,7 +9,7 @@
* http://www.opensource.org/licenses/mit-license.php
*
* email: hunter.z@263.net
* Date: 2016-1
1-03
* Date: 2016-1
2-27
*/
(
function
(
q
){
var
H
,
I
,
J
,
K
,
L
,
M
,
u
,
r
=
{},
v
=
{},
w
=
{},
N
=
{
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
"
,
icon
:
"
icon
"
},
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
}},
x
=
[
function
(
b
){
var
a
=
b
.
treeObj
,
c
=
f
.
event
;
a
.
bind
(
c
.
NODECREATED
,
function
(
a
,
c
,
g
){
j
.
apply
(
b
.
callback
.
onNodeCreated
,
...
...
@@ -38,7 +38,7 @@ j.apply(c.callback.beforeMouseUp,[c.treeId,a],!0)&&j.apply(c.callback.onMouseUp,
return
b
===
"
input
"
||
b
===
"
textarea
"
};
var
j
=
{
apply
:
function
(
b
,
a
,
c
){
return
typeof
b
==
"
function
"
?
b
.
apply
(
O
,
a
?
a
:[]):
c
},
canAsync
:
function
(
b
,
a
){
var
c
=
b
.
data
.
key
.
children
;
return
b
.
async
.
enable
&&
a
&&
a
.
isParent
&&!
(
a
.
zAsync
||
a
[
c
]
&&
a
[
c
].
length
>
0
)},
clone
:
function
(
b
){
if
(
b
===
null
)
return
null
;
var
a
=
j
.
isArray
(
b
)?[]:{},
c
;
for
(
c
in
b
)
a
[
c
]
=
b
[
c
]
instanceof
Date
?
new
Date
(
b
[
c
].
getTime
()):
typeof
b
[
c
]
===
"
object
"
?
j
.
clone
(
b
[
c
]):
b
[
c
];
return
a
},
eqs
:
function
(
b
,
a
){
return
b
.
toLowerCase
()
===
a
.
toLowerCase
()},
isArray
:
function
(
b
){
return
Object
.
prototype
.
toString
.
apply
(
b
)
===
"
[object Array]
"
},
$
:
function
(
b
,
a
,
c
){
a
&&
typeof
a
!=
"
string
"
&&
(
c
=
a
,
a
=
""
);
return
typeof
b
==
"
string
"
?
q
(
b
,
c
?
c
.
treeObj
.
get
(
0
).
ownerDocument
:
null
):
q
(
"
#
"
+
b
.
tId
+
a
,
c
?
c
.
treeObj
:
null
)},
getMDom
:
function
(
b
,
a
,
c
){
if
(
!
a
)
return
null
;
for
(;
a
&&
a
.
id
!==
b
.
treeId
;){
for
(
var
d
=
0
,
e
=
c
.
length
;
a
.
tagName
&&
d
<
e
;
d
++
)
if
(
j
.
eqs
(
a
.
tagName
,
c
[
d
].
tagName
)
&&
a
.
getAttribute
(
c
[
d
].
attrName
)
!==
null
)
return
a
;
a
=
a
.
parentNode
}
return
null
},
getNodeMainDom
:
function
(
b
){
return
q
(
b
).
parent
(
"
li
"
).
get
(
0
)
||
q
(
b
).
parentsUntil
(
"
li
"
).
parent
().
get
(
0
)},
isChildOrSelf
:
function
(
b
,
a
){
return
q
(
b
).
closest
(
"
#
"
+
a
).
length
>
0
},
uCanDo
:
function
(){
return
!
0
}},
i
=
{
addNodes
:
function
(
b
,
a
,
c
,
d
,
e
){
if
(
!
b
.
data
.
keep
.
leaf
||!
a
||
a
.
isParent
)
if
(
j
.
isArray
(
d
)
||
(
d
=
[
d
]),
b
.
data
.
simpleData
.
enable
&&
(
d
=
h
.
transformTozTreeFormat
(
b
,
d
)),
a
){
var
g
=
k
(
a
,
f
.
id
.
SWITCH
,
b
),
l
=
k
(
a
,
f
.
id
.
ICON
,
b
),
p
=
k
(
a
,
f
.
id
.
UL
,
b
);
if
(
!
a
.
open
)
i
.
replaceSwitchClass
(
a
,
g
,
f
.
folder
.
CLOSE
),
i
.
replaceIcoClass
(
a
,
l
,
f
.
folder
.
CLOSE
),
a
.
open
=!
1
,
p
.
css
({
display
:
"
none
"
});
h
.
addNodesData
(
b
,
a
,
c
,
d
);
i
.
createNodes
(
b
,
a
.
level
+
1
,
d
,
a
,
c
);
e
||
i
.
expandCollapseParentNode
(
b
,
a
,
!
0
)}
else
h
.
addNodesData
(
b
,
h
.
getRoot
(
b
),
c
,
d
),
i
.
createNodes
(
b
,
0
,
d
,
null
,
c
)},
appendNodes
:
function
(
b
,
a
,
c
,
d
,
e
,
g
,
f
){
if
(
!
c
)
return
[];
var
j
=
[],
n
=
b
.
data
.
key
.
children
,
k
=
(
d
?
d
:
h
.
getRoot
(
b
))[
n
],
m
,
Q
;
if
(
!
k
||
e
>=
k
.
length
)
e
=-
1
;
for
(
var
s
=
0
,
R
=
c
.
length
;
s
<
R
;
s
++
){
var
o
=
c
[
s
];
g
&&
(
m
=
(
e
===
0
||
k
.
length
==
c
.
length
)
&&
s
==
0
,
Q
=
e
<
0
&&
s
==
c
.
length
-
1
,
h
.
initNode
(
b
,
a
,
o
,
d
,
m
,
Q
,
f
),
h
.
addNodeCache
(
b
,
o
));
m
=
[];
o
[
n
]
&&
o
[
n
].
length
>
0
&&
(
m
=
i
.
appendNodes
(
b
,
a
+
1
,
o
[
n
],
o
,
-
1
,
g
,
f
&&
o
.
open
));
f
&&
(
i
.
makeDOMNodeMainBefore
(
j
,
b
,
o
),
i
.
makeDOMNodeLine
(
j
,
b
,
o
),
h
.
getBeforeA
(
b
,
!
0
)}
else
h
.
addNodesData
(
b
,
h
.
getRoot
(
b
),
c
,
d
),
i
.
createNodes
(
b
,
0
,
d
,
null
,
c
)},
appendNodes
:
function
(
b
,
a
,
c
,
d
,
e
,
g
,
f
){
if
(
!
c
)
return
[];
var
j
=
[],
n
=
b
.
data
.
key
.
children
,
k
=
(
d
?
d
:
h
.
getRoot
(
b
))[
n
],
m
,
Q
;
if
(
!
k
||
e
>=
k
.
length
-
c
.
length
)
e
=-
1
;
for
(
var
s
=
0
,
R
=
c
.
length
;
s
<
R
;
s
++
){
var
o
=
c
[
s
];
g
&&
(
m
=
(
e
===
0
||
k
.
length
==
c
.
length
)
&&
s
==
0
,
Q
=
e
<
0
&&
s
==
c
.
length
-
1
,
h
.
initNode
(
b
,
a
,
o
,
d
,
m
,
Q
,
f
),
h
.
addNodeCache
(
b
,
o
));
m
=
[];
o
[
n
]
&&
o
[
n
].
length
>
0
&&
(
m
=
i
.
appendNodes
(
b
,
a
+
1
,
o
[
n
],
o
,
-
1
,
g
,
f
&&
o
.
open
));
f
&&
(
i
.
makeDOMNodeMainBefore
(
j
,
b
,
o
),
i
.
makeDOMNodeLine
(
j
,
b
,
o
),
h
.
getBeforeA
(
b
,
o
,
j
),
i
.
makeDOMNodeNameBefore
(
j
,
b
,
o
),
h
.
getInnerBeforeA
(
b
,
o
,
j
),
i
.
makeDOMNodeIcon
(
j
,
b
,
o
),
h
.
getInnerAfterA
(
b
,
o
,
j
),
i
.
makeDOMNodeNameAfter
(
j
,
b
,
o
),
h
.
getAfterA
(
b
,
o
,
j
),
o
.
isParent
&&
o
.
open
&&
i
.
makeUlHtml
(
b
,
o
,
j
,
m
.
join
(
""
)),
i
.
makeDOMNodeMainAfter
(
j
,
b
,
o
),
h
.
addCreatedNode
(
b
,
o
))}
return
j
},
appendParentULDom
:
function
(
b
,
a
){
var
c
=
[],
d
=
k
(
a
,
b
);
!
d
.
get
(
0
)
&&
a
.
parentTId
&&
(
i
.
appendParentULDom
(
b
,
a
.
getParentNode
()),
d
=
k
(
a
,
b
));
var
e
=
k
(
a
,
f
.
id
.
UL
,
b
);
e
.
get
(
0
)
&&
e
.
remove
();
e
=
i
.
appendNodes
(
b
,
a
.
level
+
1
,
a
[
b
.
data
.
key
.
children
],
a
,
-
1
,
!
1
,
!
0
);
i
.
makeUlHtml
(
b
,
a
,
c
,
e
.
join
(
""
));
d
.
append
(
c
.
join
(
""
))},
asyncNode
:
function
(
b
,
a
,
c
,
d
){
var
e
,
g
;
if
(
a
&&!
a
.
isParent
)
return
j
.
apply
(
d
),
!
1
;
else
if
(
a
&&
a
.
isAjaxing
)
return
!
1
;
else
if
(
j
.
apply
(
b
.
callback
.
beforeAsync
,[
b
.
treeId
,
a
],
!
0
)
==!
1
)
return
j
.
apply
(
d
),
!
1
;
if
(
a
)
a
.
isAjaxing
=!
0
,
k
(
a
,
f
.
id
.
ICON
,
b
).
attr
({
style
:
""
,
"
class
"
:
f
.
className
.
BUTTON
+
"
"
+
f
.
className
.
ICO_LOADING
});
var
l
=
{};
for
(
e
=
0
,
g
=
b
.
async
.
autoParam
.
length
;
a
&&
e
<
g
;
e
++
){
var
p
=
b
.
async
.
autoParam
[
e
].
split
(
"
=
"
),
n
=
p
;
p
.
length
>
1
&&
(
n
=
p
[
1
],
p
=
p
[
0
]);
l
[
n
]
=
a
[
p
]}
if
(
j
.
isArray
(
b
.
async
.
otherParam
))
for
(
e
=
0
,
g
=
b
.
async
.
otherParam
.
length
;
e
<
g
;
e
+=
2
)
l
[
b
.
async
.
otherParam
[
e
]]
=
b
.
async
.
otherParam
[
e
+
1
];
else
for
(
var
m
in
b
.
async
.
otherParam
)
l
[
m
]
=
b
.
async
.
otherParam
[
m
];
var
P
=
h
.
getRoot
(
b
).
_ver
;
q
.
ajax
({
contentType
:
b
.
async
.
contentType
,
cache
:
!
1
,
type
:
b
.
async
.
type
,
url
:
j
.
apply
(
b
.
async
.
url
,[
b
.
treeId
,
a
],
b
.
async
.
url
),
data
:
b
.
async
.
contentType
.
indexOf
(
"
application/json
"
)
>-
1
?
JSON
.
stringify
(
l
):
l
,
dataType
:
b
.
async
.
dataType
,
success
:
function
(
e
){
if
(
P
==
h
.
getRoot
(
b
).
_ver
){
var
g
=
[];
try
{
g
=!
e
||
e
.
length
==
0
?[]:
typeof
e
==
"
string
"
?
eval
(
"
(
"
+
...
...
@@ -75,7 +75,7 @@ d.view.selectedMulti&&b;if(a.parentTId)i.expandCollapseParentNode(d,a.getParentN
b
[
a
].
length
>
0
?
i
.
createNodes
(
d
,
0
,
b
[
a
],
null
,
-
1
):
d
.
async
.
enable
&&
d
.
async
.
url
&&
d
.
async
.
url
!==
""
&&
i
.
asyncNode
(
d
);
return
c
}};
var
O
=
q
.
fn
.
zTree
,
k
=
j
.
$
,
f
=
O
.
consts
})(
jQuery
);
/*
* JQuery zTree excheck v3.5.2
6
* JQuery zTree excheck v3.5.2
7
* http://treejs.cn/
*
* Copyright (c) 2010 Hunter.z
...
...
@@ -84,7 +84,7 @@ b[a].length>0?i.createNodes(d,0,b[a],null,-1):d.async.enable&&d.async.url&&d.asy
* http://www.opensource.org/licenses/mit-license.php
*
* email: hunter.z@263.net
* Date: 2016-1
1-03
* Date: 2016-1
2-27
*/
(
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
(
c
,
a
){
if
(
a
.
chkDisabled
===!
0
)
return
!
1
;
var
b
=
g
.
getSetting
(
c
.
data
.
treeId
),
d
=
b
.
data
.
key
.
checked
;
if
(
k
.
apply
(
b
.
callback
.
beforeCheck
,[
b
.
treeId
,
a
],
!
0
)
==!
1
)
return
!
0
;
a
[
d
]
=!
a
[
d
];
e
.
checkNodeRelation
(
b
,
a
);
d
=
n
(
a
,
j
.
id
.
CHECK
,
b
);
e
.
setChkClass
(
b
,
d
,
a
);
e
.
repairParentChkClassWithSelf
(
b
,
a
);
b
.
treeObj
.
trigger
(
j
.
event
.
CHECK
,[
c
,
b
.
treeId
,
a
]);
return
!
0
};
q
=
function
(
c
,
a
){
if
(
a
.
chkDisabled
===!
0
)
return
!
1
;
var
b
=
g
.
getSetting
(
c
.
data
.
treeId
),
d
=
n
(
a
,
j
.
id
.
CHECK
,
b
);
a
.
check_Focus
=!
0
;
e
.
setChkClass
(
b
,
d
,
a
);
return
!
0
};
r
=
function
(
c
,
a
){
if
(
a
.
chkDisabled
===
...
...
@@ -110,7 +110,7 @@ j.radio.STYLE)&&e.checkNodeRelation(this.setting,c);e.setChkClass(this.setting,i
d
&&
g
.
makeChkFlag
(
c
,
d
);
return
f
}})(
jQuery
);
/*
* JQuery zTree exedit v3.5.2
6
* JQuery zTree exedit v3.5.2
7
* http://treejs.cn/
*
* Copyright (c) 2010 Hunter.z
...
...
@@ -119,7 +119,7 @@ d&&g.makeChkFlag(c,d);return f}})(jQuery);
* http://www.opensource.org/licenses/mit-license.php
*
* email: hunter.z@263.net
* Date: 2016-1
1-03
* Date: 2016-1
2-27
*/
(
function
(
v
){
var
J
=
{
event
:{
DRAG
:
"
ztree_drag
"
,
DROP
:
"
ztree_drop
"
,
RENAME
:
"
ztree_rename
"
,
DRAGMOVE
:
"
ztree_dragmove
"
},
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
=
m
.
getSetting
(
b
.
data
.
treeId
),
d
=
m
.
getRoot
(
c
);
if
(
d
.
curHoverNode
!=
a
)
x
.
onHoverOutNode
(
b
);
d
.
curHoverNode
=
a
;
f
.
addHoverDom
(
c
,
a
)},
onHoverOutNode
:
function
(
b
){
var
b
=
m
.
getSetting
(
b
.
data
.
treeId
),
a
=
m
.
getRoot
(
b
);
if
(
a
.
curHoverNode
&&!
m
.
isSelectedNode
(
b
,
a
.
curHoverNode
))
f
.
removeTreeDom
(
b
,
a
.
curHoverNode
),
a
.
curHoverNode
=
null
},
onMousedownNode
:
function
(
b
,
a
){
function
c
(
b
){
if
(
B
.
dragFlag
==
0
&&
Math
.
abs
(
O
-
b
.
clientX
)
<
e
.
edit
.
drag
.
minMoveSize
&&
Math
.
abs
(
P
-
b
.
clientY
)
<
e
.
edit
.
drag
.
minMoveSize
)
return
!
0
;
var
a
,
c
,
n
,
k
,
i
;
i
=
e
.
data
.
key
.
children
;
M
.
css
(
"
cursor
"
,
"
pointer
"
);
if
(
B
.
dragFlag
==
0
){
if
(
g
.
apply
(
e
.
callback
.
beforeDrag
,[
e
.
treeId
,
l
],
!
0
)
==!
1
)
return
r
(
b
),
!
0
;
for
(
a
=
0
,
c
=
l
.
length
;
a
<
c
;
a
++
){
if
(
a
==
0
)
B
.
dragNodeShowBefore
=
...
...
js/jquery.ztree.core.js
浏览文件 @
1bb25330
/*
* JQuery zTree core v3.5.2
6
* JQuery zTree core v3.5.2
7
* http://treejs.cn/
*
* Copyright (c) 2010 Hunter.z
...
...
@@ -8,7 +8,7 @@
* http://www.opensource.org/licenses/mit-license.php
*
* email: hunter.z@263.net
* Date: 2016-1
1-03
* Date: 2016-1
2-27
*/
(
function
(
$
){
var
settings
=
{},
roots
=
{},
caches
=
{},
...
...
@@ -905,7 +905,7 @@
tmpPChild
=
tmpPNode
[
childKey
],
isFirstNode
,
isLastNode
;
if
(
!
tmpPChild
||
index
>=
tmpPChild
.
length
)
{
if
(
!
tmpPChild
||
index
>=
tmpPChild
.
length
-
nodes
.
length
)
{
index
=
-
1
;
}
...
...
js/jquery.ztree.core.min.js
浏览文件 @
1bb25330
/*
* JQuery zTree core v3.5.2
6
* JQuery zTree core v3.5.2
7
* http://treejs.cn/
*
* Copyright (c) 2010 Hunter.z
...
...
@@ -8,7 +8,7 @@
* http://www.opensource.org/licenses/mit-license.php
*
* email: hunter.z@263.net
* Date: 2016-1
1-03
* Date: 2016-1
2-27
*/
(
function
(
q
){
var
H
,
I
,
J
,
K
,
L
,
M
,
u
,
r
=
{},
v
=
{},
w
=
{},
N
=
{
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
"
,
icon
:
"
icon
"
},
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
}},
x
=
[
function
(
b
){
var
a
=
b
.
treeObj
,
c
=
f
.
event
;
a
.
bind
(
c
.
NODECREATED
,
function
(
a
,
c
,
g
){
j
.
apply
(
b
.
callback
.
onNodeCreated
,
...
...
@@ -37,7 +37,7 @@ j.apply(c.callback.beforeMouseUp,[c.treeId,a],!0)&&j.apply(c.callback.onMouseUp,
return
b
===
"
input
"
||
b
===
"
textarea
"
};
var
j
=
{
apply
:
function
(
b
,
a
,
c
){
return
typeof
b
==
"
function
"
?
b
.
apply
(
O
,
a
?
a
:[]):
c
},
canAsync
:
function
(
b
,
a
){
var
c
=
b
.
data
.
key
.
children
;
return
b
.
async
.
enable
&&
a
&&
a
.
isParent
&&!
(
a
.
zAsync
||
a
[
c
]
&&
a
[
c
].
length
>
0
)},
clone
:
function
(
b
){
if
(
b
===
null
)
return
null
;
var
a
=
j
.
isArray
(
b
)?[]:{},
c
;
for
(
c
in
b
)
a
[
c
]
=
b
[
c
]
instanceof
Date
?
new
Date
(
b
[
c
].
getTime
()):
typeof
b
[
c
]
===
"
object
"
?
j
.
clone
(
b
[
c
]):
b
[
c
];
return
a
},
eqs
:
function
(
b
,
a
){
return
b
.
toLowerCase
()
===
a
.
toLowerCase
()},
isArray
:
function
(
b
){
return
Object
.
prototype
.
toString
.
apply
(
b
)
===
"
[object Array]
"
},
$
:
function
(
b
,
a
,
c
){
a
&&
typeof
a
!=
"
string
"
&&
(
c
=
a
,
a
=
""
);
return
typeof
b
==
"
string
"
?
q
(
b
,
c
?
c
.
treeObj
.
get
(
0
).
ownerDocument
:
null
):
q
(
"
#
"
+
b
.
tId
+
a
,
c
?
c
.
treeObj
:
null
)},
getMDom
:
function
(
b
,
a
,
c
){
if
(
!
a
)
return
null
;
for
(;
a
&&
a
.
id
!==
b
.
treeId
;){
for
(
var
d
=
0
,
e
=
c
.
length
;
a
.
tagName
&&
d
<
e
;
d
++
)
if
(
j
.
eqs
(
a
.
tagName
,
c
[
d
].
tagName
)
&&
a
.
getAttribute
(
c
[
d
].
attrName
)
!==
null
)
return
a
;
a
=
a
.
parentNode
}
return
null
},
getNodeMainDom
:
function
(
b
){
return
q
(
b
).
parent
(
"
li
"
).
get
(
0
)
||
q
(
b
).
parentsUntil
(
"
li
"
).
parent
().
get
(
0
)},
isChildOrSelf
:
function
(
b
,
a
){
return
q
(
b
).
closest
(
"
#
"
+
a
).
length
>
0
},
uCanDo
:
function
(){
return
!
0
}},
i
=
{
addNodes
:
function
(
b
,
a
,
c
,
d
,
e
){
if
(
!
b
.
data
.
keep
.
leaf
||!
a
||
a
.
isParent
)
if
(
j
.
isArray
(
d
)
||
(
d
=
[
d
]),
b
.
data
.
simpleData
.
enable
&&
(
d
=
h
.
transformTozTreeFormat
(
b
,
d
)),
a
){
var
g
=
k
(
a
,
f
.
id
.
SWITCH
,
b
),
l
=
k
(
a
,
f
.
id
.
ICON
,
b
),
p
=
k
(
a
,
f
.
id
.
UL
,
b
);
if
(
!
a
.
open
)
i
.
replaceSwitchClass
(
a
,
g
,
f
.
folder
.
CLOSE
),
i
.
replaceIcoClass
(
a
,
l
,
f
.
folder
.
CLOSE
),
a
.
open
=!
1
,
p
.
css
({
display
:
"
none
"
});
h
.
addNodesData
(
b
,
a
,
c
,
d
);
i
.
createNodes
(
b
,
a
.
level
+
1
,
d
,
a
,
c
);
e
||
i
.
expandCollapseParentNode
(
b
,
a
,
!
0
)}
else
h
.
addNodesData
(
b
,
h
.
getRoot
(
b
),
c
,
d
),
i
.
createNodes
(
b
,
0
,
d
,
null
,
c
)},
appendNodes
:
function
(
b
,
a
,
c
,
d
,
e
,
g
,
f
){
if
(
!
c
)
return
[];
var
j
=
[],
n
=
b
.
data
.
key
.
children
,
k
=
(
d
?
d
:
h
.
getRoot
(
b
))[
n
],
m
,
Q
;
if
(
!
k
||
e
>=
k
.
length
)
e
=-
1
;
for
(
var
s
=
0
,
R
=
c
.
length
;
s
<
R
;
s
++
){
var
o
=
c
[
s
];
g
&&
(
m
=
(
e
===
0
||
k
.
length
==
c
.
length
)
&&
s
==
0
,
Q
=
e
<
0
&&
s
==
c
.
length
-
1
,
h
.
initNode
(
b
,
a
,
o
,
d
,
m
,
Q
,
f
),
h
.
addNodeCache
(
b
,
o
));
m
=
[];
o
[
n
]
&&
o
[
n
].
length
>
0
&&
(
m
=
i
.
appendNodes
(
b
,
a
+
1
,
o
[
n
],
o
,
-
1
,
g
,
f
&&
o
.
open
));
f
&&
(
i
.
makeDOMNodeMainBefore
(
j
,
b
,
o
),
i
.
makeDOMNodeLine
(
j
,
b
,
o
),
h
.
getBeforeA
(
b
,
!
0
)}
else
h
.
addNodesData
(
b
,
h
.
getRoot
(
b
),
c
,
d
),
i
.
createNodes
(
b
,
0
,
d
,
null
,
c
)},
appendNodes
:
function
(
b
,
a
,
c
,
d
,
e
,
g
,
f
){
if
(
!
c
)
return
[];
var
j
=
[],
n
=
b
.
data
.
key
.
children
,
k
=
(
d
?
d
:
h
.
getRoot
(
b
))[
n
],
m
,
Q
;
if
(
!
k
||
e
>=
k
.
length
-
c
.
length
)
e
=-
1
;
for
(
var
s
=
0
,
R
=
c
.
length
;
s
<
R
;
s
++
){
var
o
=
c
[
s
];
g
&&
(
m
=
(
e
===
0
||
k
.
length
==
c
.
length
)
&&
s
==
0
,
Q
=
e
<
0
&&
s
==
c
.
length
-
1
,
h
.
initNode
(
b
,
a
,
o
,
d
,
m
,
Q
,
f
),
h
.
addNodeCache
(
b
,
o
));
m
=
[];
o
[
n
]
&&
o
[
n
].
length
>
0
&&
(
m
=
i
.
appendNodes
(
b
,
a
+
1
,
o
[
n
],
o
,
-
1
,
g
,
f
&&
o
.
open
));
f
&&
(
i
.
makeDOMNodeMainBefore
(
j
,
b
,
o
),
i
.
makeDOMNodeLine
(
j
,
b
,
o
),
h
.
getBeforeA
(
b
,
o
,
j
),
i
.
makeDOMNodeNameBefore
(
j
,
b
,
o
),
h
.
getInnerBeforeA
(
b
,
o
,
j
),
i
.
makeDOMNodeIcon
(
j
,
b
,
o
),
h
.
getInnerAfterA
(
b
,
o
,
j
),
i
.
makeDOMNodeNameAfter
(
j
,
b
,
o
),
h
.
getAfterA
(
b
,
o
,
j
),
o
.
isParent
&&
o
.
open
&&
i
.
makeUlHtml
(
b
,
o
,
j
,
m
.
join
(
""
)),
i
.
makeDOMNodeMainAfter
(
j
,
b
,
o
),
h
.
addCreatedNode
(
b
,
o
))}
return
j
},
appendParentULDom
:
function
(
b
,
a
){
var
c
=
[],
d
=
k
(
a
,
b
);
!
d
.
get
(
0
)
&&
a
.
parentTId
&&
(
i
.
appendParentULDom
(
b
,
a
.
getParentNode
()),
d
=
k
(
a
,
b
));
var
e
=
k
(
a
,
f
.
id
.
UL
,
b
);
e
.
get
(
0
)
&&
e
.
remove
();
e
=
i
.
appendNodes
(
b
,
a
.
level
+
1
,
a
[
b
.
data
.
key
.
children
],
a
,
-
1
,
!
1
,
!
0
);
i
.
makeUlHtml
(
b
,
a
,
c
,
e
.
join
(
""
));
d
.
append
(
c
.
join
(
""
))},
asyncNode
:
function
(
b
,
a
,
c
,
d
){
var
e
,
g
;
if
(
a
&&!
a
.
isParent
)
return
j
.
apply
(
d
),
!
1
;
else
if
(
a
&&
a
.
isAjaxing
)
return
!
1
;
else
if
(
j
.
apply
(
b
.
callback
.
beforeAsync
,[
b
.
treeId
,
a
],
!
0
)
==!
1
)
return
j
.
apply
(
d
),
!
1
;
if
(
a
)
a
.
isAjaxing
=!
0
,
k
(
a
,
f
.
id
.
ICON
,
b
).
attr
({
style
:
""
,
"
class
"
:
f
.
className
.
BUTTON
+
"
"
+
f
.
className
.
ICO_LOADING
});
var
l
=
{};
for
(
e
=
0
,
g
=
b
.
async
.
autoParam
.
length
;
a
&&
e
<
g
;
e
++
){
var
p
=
b
.
async
.
autoParam
[
e
].
split
(
"
=
"
),
n
=
p
;
p
.
length
>
1
&&
(
n
=
p
[
1
],
p
=
p
[
0
]);
l
[
n
]
=
a
[
p
]}
if
(
j
.
isArray
(
b
.
async
.
otherParam
))
for
(
e
=
0
,
g
=
b
.
async
.
otherParam
.
length
;
e
<
g
;
e
+=
2
)
l
[
b
.
async
.
otherParam
[
e
]]
=
b
.
async
.
otherParam
[
e
+
1
];
else
for
(
var
m
in
b
.
async
.
otherParam
)
l
[
m
]
=
b
.
async
.
otherParam
[
m
];
var
P
=
h
.
getRoot
(
b
).
_ver
;
q
.
ajax
({
contentType
:
b
.
async
.
contentType
,
cache
:
!
1
,
type
:
b
.
async
.
type
,
url
:
j
.
apply
(
b
.
async
.
url
,[
b
.
treeId
,
a
],
b
.
async
.
url
),
data
:
b
.
async
.
contentType
.
indexOf
(
"
application/json
"
)
>-
1
?
JSON
.
stringify
(
l
):
l
,
dataType
:
b
.
async
.
dataType
,
success
:
function
(
e
){
if
(
P
==
h
.
getRoot
(
b
).
_ver
){
var
g
=
[];
try
{
g
=!
e
||
e
.
length
==
0
?[]:
typeof
e
==
"
string
"
?
eval
(
"
(
"
+
...
...
js/jquery.ztree.excheck.js
浏览文件 @
1bb25330
/*
* JQuery zTree excheck v3.5.2
6
* JQuery zTree excheck v3.5.2
7
* http://treejs.cn/
*
* Copyright (c) 2010 Hunter.z
...
...
@@ -8,7 +8,7 @@
* http://www.opensource.org/licenses/mit-license.php
*
* email: hunter.z@263.net
* Date: 2016-1
1-03
* Date: 2016-1
2-27
*/
(
function
(
$
){
//default consts of excheck
...
...
js/jquery.ztree.excheck.min.js
浏览文件 @
1bb25330
/*
* JQuery zTree excheck v3.5.2
6
* JQuery zTree excheck v3.5.2
7
* http://treejs.cn/
*
* Copyright (c) 2010 Hunter.z
...
...
@@ -8,7 +8,7 @@
* http://www.opensource.org/licenses/mit-license.php
*
* email: hunter.z@263.net
* Date: 2016-1
1-03
* Date: 2016-1
2-27
*/
(
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
(
c
,
a
){
if
(
a
.
chkDisabled
===!
0
)
return
!
1
;
var
b
=
g
.
getSetting
(
c
.
data
.
treeId
),
d
=
b
.
data
.
key
.
checked
;
if
(
k
.
apply
(
b
.
callback
.
beforeCheck
,[
b
.
treeId
,
a
],
!
0
)
==!
1
)
return
!
0
;
a
[
d
]
=!
a
[
d
];
e
.
checkNodeRelation
(
b
,
a
);
d
=
n
(
a
,
j
.
id
.
CHECK
,
b
);
e
.
setChkClass
(
b
,
d
,
a
);
e
.
repairParentChkClassWithSelf
(
b
,
a
);
b
.
treeObj
.
trigger
(
j
.
event
.
CHECK
,[
c
,
b
.
treeId
,
a
]);
return
!
0
};
q
=
function
(
c
,
a
){
if
(
a
.
chkDisabled
===!
0
)
return
!
1
;
var
b
=
g
.
getSetting
(
c
.
data
.
treeId
),
d
=
n
(
a
,
j
.
id
.
CHECK
,
b
);
a
.
check_Focus
=!
0
;
e
.
setChkClass
(
b
,
d
,
a
);
return
!
0
};
r
=
function
(
c
,
a
){
if
(
a
.
chkDisabled
===
...
...
js/jquery.ztree.exedit.js
浏览文件 @
1bb25330
/*
* JQuery zTree exedit v3.5.2
6
* JQuery zTree exedit v3.5.2
7
* http://treejs.cn/
*
* Copyright (c) 2010 Hunter.z
...
...
@@ -8,7 +8,7 @@
* http://www.opensource.org/licenses/mit-license.php
*
* email: hunter.z@263.net
* Date: 2016-1
1-03
* Date: 2016-1
2-27
*/
(
function
(
$
){
//default consts of exedit
...
...
js/jquery.ztree.exedit.min.js
浏览文件 @
1bb25330
/*
* JQuery zTree exedit v3.5.2
6
* JQuery zTree exedit v3.5.2
7
* http://treejs.cn/
*
* Copyright (c) 2010 Hunter.z
...
...
@@ -8,7 +8,7 @@
* http://www.opensource.org/licenses/mit-license.php
*
* email: hunter.z@263.net
* Date: 2016-1
1-03
* Date: 2016-1
2-27
*/
(
function
(
v
){
var
J
=
{
event
:{
DRAG
:
"
ztree_drag
"
,
DROP
:
"
ztree_drop
"
,
RENAME
:
"
ztree_rename
"
,
DRAGMOVE
:
"
ztree_dragmove
"
},
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
=
m
.
getSetting
(
b
.
data
.
treeId
),
d
=
m
.
getRoot
(
c
);
if
(
d
.
curHoverNode
!=
a
)
x
.
onHoverOutNode
(
b
);
d
.
curHoverNode
=
a
;
f
.
addHoverDom
(
c
,
a
)},
onHoverOutNode
:
function
(
b
){
var
b
=
m
.
getSetting
(
b
.
data
.
treeId
),
a
=
m
.
getRoot
(
b
);
if
(
a
.
curHoverNode
&&!
m
.
isSelectedNode
(
b
,
a
.
curHoverNode
))
f
.
removeTreeDom
(
b
,
a
.
curHoverNode
),
a
.
curHoverNode
=
null
},
onMousedownNode
:
function
(
b
,
a
){
function
c
(
b
){
if
(
B
.
dragFlag
==
0
&&
Math
.
abs
(
O
-
b
.
clientX
)
<
e
.
edit
.
drag
.
minMoveSize
&&
Math
.
abs
(
P
-
b
.
clientY
)
<
e
.
edit
.
drag
.
minMoveSize
)
return
!
0
;
var
a
,
c
,
n
,
k
,
i
;
i
=
e
.
data
.
key
.
children
;
M
.
css
(
"
cursor
"
,
"
pointer
"
);
if
(
B
.
dragFlag
==
0
){
if
(
g
.
apply
(
e
.
callback
.
beforeDrag
,[
e
.
treeId
,
l
],
!
0
)
==!
1
)
return
r
(
b
),
!
0
;
for
(
a
=
0
,
c
=
l
.
length
;
a
<
c
;
a
++
){
if
(
a
==
0
)
B
.
dragNodeShowBefore
=
...
...
js/jquery.ztree.exhide.js
浏览文件 @
1bb25330
/*
* JQuery zTree exHideNodes v3.5.2
6
* JQuery zTree exHideNodes v3.5.2
7
* http://treejs.cn/
*
* Copyright (c) 2010 Hunter.z
...
...
@@ -8,7 +8,7 @@
* http://www.opensource.org/licenses/mit-license.php
*
* email: hunter.z@263.net
* Date: 2016-1
1-03
* Date: 2016-1
2-27
*/
(
function
(
$
){
//default init node of exLib
...
...
js/jquery.ztree.exhide.min.js
浏览文件 @
1bb25330
/*
* JQuery zTree exHideNodes v3.5.2
6
* JQuery zTree exHideNodes v3.5.2
7
* http://treejs.cn/
*
* Copyright (c) 2010 Hunter.z
...
...
@@ -8,7 +8,7 @@
* http://www.opensource.org/licenses/mit-license.php
*
* email: hunter.z@263.net
* Date: 2016-1
1-03
* Date: 2016-1
2-27
*/
(
function
(
i
){
i
.
extend
(
!
0
,
i
.
fn
.
zTree
.
_z
,{
view
:{
clearOldFirstNode
:
function
(
c
,
a
){
for
(
var
b
=
a
.
getNextNode
();
b
;){
if
(
b
.
isFirstNode
){
b
.
isFirstNode
=!
1
;
d
.
setNodeLineIcos
(
c
,
b
);
break
}
if
(
b
.
isLastNode
)
break
;
b
=
b
.
getNextNode
()}},
clearOldLastNode
:
function
(
c
,
a
,
b
){
for
(
a
=
a
.
getPreNode
();
a
;){
if
(
a
.
isLastNode
){
a
.
isLastNode
=!
1
;
b
&&
d
.
setNodeLineIcos
(
c
,
a
);
break
}
if
(
a
.
isFirstNode
)
break
;
a
=
a
.
getPreNode
()}},
makeDOMNodeMainBefore
:
function
(
c
,
a
,
b
){
c
.
push
(
"
<li
"
,
b
.
isHidden
?
"
style='display:none;'
"
:
""
,
"
id='
"
,
b
.
tId
,
"
' class='
"
,
l
.
className
.
LEVEL
,
b
.
level
,
"
' tabindex='0' hidefocus='true' treenode>
"
)},
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
<
k
;
g
++
){
var
h
=
a
[
g
];
if
(
!
e
[
h
.
parentTId
]){
var
i
=
h
.
getParentNode
();
e
[
h
.
parentTId
]
=
i
===
null
?
f
.
getRoot
(
c
):
h
.
getParentNode
()}
d
.
showNode
(
c
,
h
,
b
)}
for
(
var
j
in
e
)
a
=
e
[
j
][
c
.
data
.
key
.
children
],
d
.
setFirstNodeForShow
(
c
,
a
),
d
.
setLastNodeForShow
(
c
,
a
)}},
hideNode
:
function
(
c
,
a
){
a
.
isHidden
=!
0
;
a
.
isFirstNode
=!
1
;
a
.
isLastNode
=
...
...
log v3.x.txt
浏览文件 @
1bb25330
...
...
@@ -13,6 +13,9 @@
</font>
*2016.12.27* v3.5.27
* [修改] addNodes 方法设置 index 参数后,导致 treeNode.isLastNode 错误
*2016.11.03* v3.5.26
* [修改] 使用 scrollIntoViewIfNeeded 替代 scrollIntoView,兼容各种浏览器
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录