1045
1045
nObj . append ( html . join ( '' ) ) ;
1046
1046
} ,
1047
1047
asyncNode : function ( setting , node , isSilent , callback ) {
1048
- var i , l ;
1049
1048
var isParent = data . nodeIsParent ( setting , node ) ;
1050
1049
if ( node && ! isParent ) {
1051
1050
tools . apply ( callback ) ;
1058
1057
}
1059
1058
if ( node ) {
1060
1059
node . isAjaxing = true ;
1061
- var icoObj = $$ ( node , consts . id . ICON , setting ) ;
1062
- icoObj . attr ( { "style" : "" , "class" : consts . className . BUTTON + " " + consts . className . ICO_LOADING } ) ;
1063
- }
1064
-
1065
- var tmpParam = { } ;
1066
- var autoParam = tools . apply ( setting . async . autoParam , [ setting . treeId , node ] , setting . async . autoParam ) ;
1067
- for ( i = 0 , l = autoParam . length ; node && i < l ; i ++ ) {
1068
- var pKey = autoParam [ i ] . split ( "=" ) , spKey = pKey ;
1069
- if ( pKey . length > 1 ) {
1070
- spKey = pKey [ 1 ] ;
1071
- pKey = pKey [ 0 ] ;
1072
- }
1073
- tmpParam [ spKey ] = node [ pKey ] ;
1074
- }
1075
- var otherParam = tools . apply ( setting . async . otherParam , [ setting . treeId , node ] , setting . async . otherParam ) ;
1076
- if ( tools . isArray ( otherParam ) ) {
1077
- for ( i = 0 , l = otherParam . length ; i < l ; i += 2 ) {
1078
- tmpParam [ otherParam [ i ] ] = otherParam [ i + 1 ] ;
1079
- }
1080
- } else {
1081
- for ( var p in otherParam ) {
1082
- tmpParam [ p ] = otherParam [ p ] ;
1060
+ if ( setting . async . loadingIcon ) {
1061
+ var icoObj = $$ ( node , consts . id . ICON , setting ) ;
1062
+ icoObj . attr ( { "style" : "" , "class" : consts . className . BUTTON + " " + consts . className . ICO_LOADING } ) ;
1083
1063
}
1084
1064
}
1085
1065
1086
1066
var _tmpV = data . getRoot ( setting ) . _ver ;
1087
- $ . ajax ( {
1088
- contentType : setting . async . contentType ,
1089
- cache : false ,
1090
- type : setting . async . type ,
1091
- url : tools . apply ( setting . async . url , [ setting . treeId , node ] , setting . async . url ) ,
1092
- data : setting . async . contentType . indexOf ( 'application/json' ) > - 1 ? JSON . stringify ( tmpParam ) : tmpParam ,
1093
- dataType : setting . async . dataType ,
1094
- headers : setting . async . headers ,
1095
- xhrFields : setting . async . xhrFields ,
1096
- success : function ( msg ) {
1097
- if ( _tmpV != data . getRoot ( setting ) . _ver ) {
1098
- return ;
1099
- }
1100
- var newNodes = [ ] ;
1101
- try {
1102
- if ( ! msg || msg . length == 0 ) {
1103
- newNodes = [ ] ;
1104
- } else if ( typeof msg == "string" ) {
1105
- newNodes = eval ( "(" + msg + ")" ) ;
1106
- } else {
1107
- newNodes = msg ;
1108
- }
1109
- } catch ( err ) {
1110
- newNodes = msg ;
1111
- }
1067
+ setting . async . load ( setting . treeId , node ) . then ( function ( newNodes ) {
1068
+ if ( _tmpV != data . getRoot ( setting ) . _ver ) {
1069
+ return ;
1070
+ }
1112
1071
1113
- if ( node ) {
1114
- node . isAjaxing = null ;
1115
- node . zAsync = true ;
1116
- }
1117
- view . setNodeLineIcos ( setting , node ) ;
1118
- if ( newNodes && newNodes !== "" ) {
1119
- newNodes = tools . apply ( setting . async . dataFilter , [ setting . treeId , node , newNodes ] , newNodes ) ;
1120
- view . addNodes ( setting , node , - 1 , ! ! newNodes ? tools . clone ( newNodes ) : [ ] , ! ! isSilent ) ;
1121
- } else {
1122
- view . addNodes ( setting , node , - 1 , [ ] , ! ! isSilent ) ;
1123
- }
1124
- setting . treeObj . trigger ( consts . event . ASYNC_SUCCESS , [ setting . treeId , node , msg ] ) ;
1125
- tools . apply ( callback ) ;
1126
- } ,
1127
- error : function ( XMLHttpRequest , textStatus , errorThrown ) {
1128
- if ( _tmpV != data . getRoot ( setting ) . _ver ) {
1129
- return ;
1130
- }
1131
- if ( node ) node . isAjaxing = null ;
1132
- view . setNodeLineIcos ( setting , node ) ;
1133
- setting . treeObj . trigger ( consts . event . ASYNC_ERROR , [ setting . treeId , node , XMLHttpRequest , textStatus , errorThrown ] ) ;
1072
+ if ( node ) {
1073
+ node . isAjaxing = null ;
1074
+ node . zAsync = true ;
1075
+ }
1076
+ view . setNodeLineIcos ( setting , node ) ;
1077
+ if ( newNodes && newNodes !== "" ) {
1078
+ newNodes = tools . apply ( setting . async . dataFilter , [ setting . treeId , node , newNodes ] , newNodes ) ;
1079
+ view . addNodes ( setting , node , - 1 , ! ! newNodes ? tools . clone ( newNodes ) : [ ] , ! ! isSilent ) ;
1080
+ } else {
1081
+ view . addNodes ( setting , node , - 1 , [ ] , ! ! isSilent ) ;
1082
+ }
1083
+ setting . treeObj . trigger ( consts . event . ASYNC_SUCCESS , [ setting . treeId , node , newNodes ] ) ;
1084
+ tools . apply ( callback ) ;
1085
+ } , function ( errorThrown ) {
1086
+ if ( _tmpV != data . getRoot ( setting ) . _ver ) {
1087
+ return ;
1134
1088
}
1089
+ if ( node ) node . isAjaxing = null ;
1090
+ view . setNodeLineIcos ( setting , node ) ;
1091
+ setting . treeObj . trigger ( consts . event . ASYNC_ERROR , [ setting . treeId , node , XMLHttpRequest , textStatus , errorThrown ] ) ;
1135
1092
} ) ;
1136
1093
return true ;
1137
1094
} ,
1342
1299
fontStyle . push ( f , ":" , fontcss [ f ] , ";" ) ;
1343
1300
}
1344
1301
html . push ( "<a id='" , node . tId , consts . id . A , "' class='" , consts . className . LEVEL , node . level ,
1345
- nodeClasses . add ? ' ' + nodeClasses . add . join ( ' ' ) : '' ,
1302
+ nodeClasses . add ? ' ' + nodeClasses . add . join ( ' ' ) : '' ,
1346
1303
"' treeNode" , consts . id . A ,
1347
1304
node . click ? " onclick=\"" + node . click + "\"" : "" ,
1348
1305
( ( url != null && url . length > 0 ) ? " href='" + url + "'" : "" ) , " target='" , view . makeNodeTarget ( node ) , "' style='" , fontStyle . join ( '' ) ,
2006
1963
var children = data . nodeChildren ( setting , root ) ;
2007
1964
if ( children && children . length > 0 ) {
2008
1965
view . createNodes ( setting , 0 , children , null , - 1 ) ;
2009
- } else if ( setting . async . enable && setting . async . url && setting . async . url !== '' ) {
1966
+ } else if ( setting . async . enable && setting . async . load && setting . async . load . then ) {
2010
1967
view . asyncNode ( setting ) ;
2011
1968
}
2012
1969
return zTreeTools ;
2016
1973
var zt = $ . fn . zTree ,
2017
1974
$$ = tools . $ ,
2018
1975
consts = zt . consts ;
2019
- } ) ( jQuery ) ;
1976
+ } ) ( jQuery ) ;
0 commit comments