diff options
author | 2017-01-20 17:43:08 +0530 | |
---|---|---|
committer | 2017-01-20 17:43:08 +0530 | |
commit | f0b211f269df2b0bb10d5552d14aeb8991a750ed (patch) | |
tree | 1bd6ccf7503f8dad0785e03ce52937a55ae9555b /openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree | |
parent | 68036a69f0dd0dad6b6a715d9850997d21f82940 (diff) |
GUI Code refactor
GUI Code refactor for the sun release code.
Issue-Id : CLIENT-11
Change-Id: I771cc25ff3c8ff7a4e939ce7baef7dd94a67974b
Signed-off-by: seshukm <seshu.kumar.m@huawei.com>
Diffstat (limited to 'openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree')
345 files changed, 19540 insertions, 19540 deletions
diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/API_cn.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/API_cn.html index 1fe011de..bcd660e4 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/API_cn.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/API_cn.html @@ -1,103 +1,103 @@ -<!DOCTYPE html> -<html> - <head> - <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> - <title>API 文档 [zTree -- jQuery 树插件]</title> - <link rel="stylesheet" href="apiCss/common.css" type="text/css"> - <link rel='stylesheet' href='apiCss/zTreeStyleForApi.css' type='text/css'> - <script type="text/javascript"> - var ie = (function(){ - var undef, - v = 3, - div = document.createElement('div'), - all = div.getElementsByTagName('i'); - while ( - div.innerHTML = '<!--[if gt IE ' + (++v) + ']><i></i><![endif]-->', - all[0] - ); - return v > 4 ? v : undef; - }()), ie6 = (ie === 6), - path = window.location.pathname.replace(/.*\/([^\/\.]*)\..*/g,"$1"), - langLib = []; - ie = ie<9; - if(ie) { - document.write('<link rel="stylesheet" href="apiCss/common_ie6.css" type="text/css">'); - } - var lang = "cn", - ajaxMsg = "如果你使用的是 Chrome 浏览器,那么请把 API 文档发布到 web 服务目录下访问。\n\n(Chrome 浏览器不支持本地 ajax 访问, 即:file://)"; - - </script> - </head> - <body> - <div id="header_wrap" class="header_wrap" style="padding-top: 30px;"> - <div id="header" class="header round"> - <div class="light-bulb" alt=""></div> - <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.16 API 文档</em></h1><p></p> - <p>all.js = core + excheck + exedit ( 不包括 exhide ); 发现错误请及时通知,谢谢。</p> - </div> - <ul class="shortcuts language" style="top:0;"> - <li><a href="API_en.html" onclick="window.location.href='API_en.html'"><button class="ico en" title="英文版" type="button"></button><span class=""></span></a></li> - </ul> - </div> - </div> - <div id="content_wrap" class="content_wrap"> - <div id="content" class="content"> - <div class="nav_section"> - <ul> - <li class="first">注释:</li> - <li><button class="ico16 z_core" onfocus="this.blur();"></button><span>core 核心包</span></li> - <li><button class="ico16 z_check" onfocus="this.blur();"></button><span>excheck 扩展</span></li> - <li><button class="ico16 z_edit" onfocus="this.blur();"></button><span>exedit 扩展</span></li> - <li><button class="ico16 z_hide" onfocus="this.blur();"></button><span>exhide 扩展</span></li> - <li class="noline"> - <button class="ico16 z_search" onfocus="this.blur();" title="Enter 以及 左、右键可以快速定位查找结果"></button> - <input type="text" class="searchKey search empty" value=""><input type="text" class="searchResult search" value=""> - <button class="ico16 searchPrev disabled" onfocus="this.blur();" title="Enter 以及 左、右键可以快速定位查找结果"></button><button class="ico16 searchNext disabled" onfocus="this.blur();" title="Enter 以及 左、右键可以快速定位查找结果"></button> - </li> - </ul> - </div> - - <div id="contentBox" class="contentBox round clearfix"> - <div id="apiContent" class="apiContent"> - <div id="api_setting" class="api_setting left"> - <ul class="api_content_title"><li>setting 配置详解</li></ul> - <ul id="settingTree" class="ztree"></ul> - </div> - <div id="api_function" class="api_function right"> - <ul class="api_content_title"><li>zTree 方法详解</li></ul> - <ul id="functionTree" class="ztree"></ul> - <ul class="api_content_title"><li>treeNode 节点数据详解</li></ul> - <ul id="treenodeTree" class="ztree"></ul> - </div> - </div> - </div> - <div class="clear"></div> - </div> - </div> - - <!-- overlayed --> - <div id="overlayDiv" class="baby_overlay"> - <div id="overlayContent" class="content round clearfix"> - <div class="overlaySearch"> - <button class="ico16 z_search" onfocus="this.blur();" title="Enter 以及 左、右键可以快速定位查找结果"></button> - <input type="text" class="searchKey search empty" value=""><input type="text" class="searchResult search" value=""> - <button class="ico16 searchPrev disabled" onfocus="this.blur();" title="Enter 以及 左、右键可以快速定位查找结果"></button><button class="ico16 searchNext disabled" onfocus="this.blur();" title="Enter 以及 左、右键可以快速定位查找结果"></button> - </div> - <a id="overlayDivCloseBtn" class="close"></a> - <div id="overlayDetailDiv" class="details"></div> - </div> - <div id="overlayDivArrow" class="baby_overlay_arrow"></div> - </div> - <script type="text/javascript" src="apiCss/jquery-1.6.2.min.js"></script> - <script type='text/javascript' src='apiCss/jquery.ztree.core-3.5.js'></script> - <script type='text/javascript' src='apiCss/api.js'></script> - <script type="text/javascript"> - $(document).ready(function(){ - apiContent._init(); - }); - </script> - </body> +<!DOCTYPE html>
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <title>API 文档 [zTree -- jQuery 树插件]</title>
+ <link rel="stylesheet" href="apiCss/common.css" type="text/css">
+ <link rel='stylesheet' href='apiCss/zTreeStyleForApi.css' type='text/css'>
+ <script type="text/javascript">
+ var ie = (function(){
+ var undef,
+ v = 3,
+ div = document.createElement('div'),
+ all = div.getElementsByTagName('i');
+ while (
+ div.innerHTML = '<!--[if gt IE ' + (++v) + ']><i></i><![endif]-->',
+ all[0]
+ );
+ return v > 4 ? v : undef;
+ }()), ie6 = (ie === 6),
+ path = window.location.pathname.replace(/.*\/([^\/\.]*)\..*/g,"$1"),
+ langLib = [];
+ ie = ie<9;
+ if(ie) {
+ document.write('<link rel="stylesheet" href="apiCss/common_ie6.css" type="text/css">');
+ }
+ var lang = "cn",
+ ajaxMsg = "如果你使用的是 Chrome 浏览器,那么请把 API 文档发布到 web 服务目录下访问。\n\n(Chrome 浏览器不支持本地 ajax 访问, 即:file://)";
+
+ </script>
+ </head>
+ <body>
+ <div id="header_wrap" class="header_wrap" style="padding-top: 30px;">
+ <div id="header" class="header round">
+ <div class="light-bulb" alt=""></div>
+ <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.16 API 文档</em></h1><p></p>
+ <p>all.js = core + excheck + exedit ( 不包括 exhide ); 发现错误请及时通知,谢谢。</p>
+ </div>
+ <ul class="shortcuts language" style="top:0;">
+ <li><a href="API_en.html" onclick="window.location.href='API_en.html'"><button class="ico en" title="英文版" type="button"></button><span class=""></span></a></li>
+ </ul>
+ </div>
+ </div>
+ <div id="content_wrap" class="content_wrap">
+ <div id="content" class="content">
+ <div class="nav_section">
+ <ul>
+ <li class="first">注释:</li>
+ <li><button class="ico16 z_core" onfocus="this.blur();"></button><span>core 核心包</span></li>
+ <li><button class="ico16 z_check" onfocus="this.blur();"></button><span>excheck 扩展</span></li>
+ <li><button class="ico16 z_edit" onfocus="this.blur();"></button><span>exedit 扩展</span></li>
+ <li><button class="ico16 z_hide" onfocus="this.blur();"></button><span>exhide 扩展</span></li>
+ <li class="noline">
+ <button class="ico16 z_search" onfocus="this.blur();" title="Enter 以及 左、右键可以快速定位查找结果"></button>
+ <input type="text" class="searchKey search empty" value=""><input type="text" class="searchResult search" value="">
+ <button class="ico16 searchPrev disabled" onfocus="this.blur();" title="Enter 以及 左、右键可以快速定位查找结果"></button><button class="ico16 searchNext disabled" onfocus="this.blur();" title="Enter 以及 左、右键可以快速定位查找结果"></button>
+ </li>
+ </ul>
+ </div>
+
+ <div id="contentBox" class="contentBox round clearfix">
+ <div id="apiContent" class="apiContent">
+ <div id="api_setting" class="api_setting left">
+ <ul class="api_content_title"><li>setting 配置详解</li></ul>
+ <ul id="settingTree" class="ztree"></ul>
+ </div>
+ <div id="api_function" class="api_function right">
+ <ul class="api_content_title"><li>zTree 方法详解</li></ul>
+ <ul id="functionTree" class="ztree"></ul>
+ <ul class="api_content_title"><li>treeNode 节点数据详解</li></ul>
+ <ul id="treenodeTree" class="ztree"></ul>
+ </div>
+ </div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </div>
+
+ <!-- overlayed -->
+ <div id="overlayDiv" class="baby_overlay">
+ <div id="overlayContent" class="content round clearfix">
+ <div class="overlaySearch">
+ <button class="ico16 z_search" onfocus="this.blur();" title="Enter 以及 左、右键可以快速定位查找结果"></button>
+ <input type="text" class="searchKey search empty" value=""><input type="text" class="searchResult search" value="">
+ <button class="ico16 searchPrev disabled" onfocus="this.blur();" title="Enter 以及 左、右键可以快速定位查找结果"></button><button class="ico16 searchNext disabled" onfocus="this.blur();" title="Enter 以及 左、右键可以快速定位查找结果"></button>
+ </div>
+ <a id="overlayDivCloseBtn" class="close"></a>
+ <div id="overlayDetailDiv" class="details"></div>
+ </div>
+ <div id="overlayDivArrow" class="baby_overlay_arrow"></div>
+ </div>
+ <script type="text/javascript" src="apiCss/jquery-1.6.2.min.js"></script>
+ <script type='text/javascript' src='apiCss/jquery.ztree.core-3.5.js'></script>
+ <script type='text/javascript' src='apiCss/api.js'></script>
+ <script type="text/javascript">
+ $(document).ready(function(){
+ apiContent._init();
+ });
+ </script>
+ </body>
</html>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/API_en.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/API_en.html index fc7488b3..42a82949 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/API_en.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/API_en.html @@ -1,102 +1,102 @@ -<!DOCTYPE html> -<html> - <head> - <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> - <title>API Document [zTree -- jQuery tree plug-ins.]</title> - <link rel="stylesheet" href="apiCss/common.css" type="text/css"> - <link rel='stylesheet' href='apiCss/zTreeStyleForApi.css' type='text/css'> - <script type="text/javascript"> - var ie = (function(){ - var undef, - v = 3, - div = document.createElement('div'), - all = div.getElementsByTagName('i'); - while ( - div.innerHTML = '<!--[if gt IE ' + (++v) + ']><i></i><![endif]-->', - all[0] - ); - return v > 4 ? v : undef; - }()), ie6 = (ie === 6), - path = window.location.pathname.replace(/.*\/([^\/\.]*)\..*/g,"$1"), - langLib = []; - ie = ie<9; - if(ie) { - document.write('<link rel="stylesheet" href="apiCss/common_ie6.css" type="text/css">'); - } - var lang = "en", - ajaxMsg = "If you use chrome browser, please copy the API files to local webserver. \n\n( because chrome browser can't allow AJAX access to 'file://' )"; - </script> - </head> - <body> - <div id="header_wrap" class="header_wrap" style="padding-top: 30px;"> - <div id="header" class="header round"> - <div class="light-bulb" alt=""></div> - <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.16 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;"> - <li><a href="API_cn.html" onclick="window.location.href='API_cn.html'"><button class="ico cn" title="Chinese" type="button"></button><span class=""></span></a></li> - </ul> - </div> - </div> - <div id="content_wrap" class="content_wrap"> - <div id="content" class="content"> - <div class="nav_section"> - <ul> - <li class="first">Notes: </li> - <li><button class="ico16 z_core" onfocus="this.blur();"></button><span>core package</span></li> - <li><button class="ico16 z_check" onfocus="this.blur();"></button><span>excheck pack</span></li> - <li><button class="ico16 z_edit" onfocus="this.blur();"></button><span>exedit pack</span></li> - <li><button class="ico16 z_hide" onfocus="this.blur();"></button><span>exhide pack</span></li> - <li class="noline"> - <button class="ico16 z_search" onfocus="this.blur();" title="'Enter', 'left' and 'right' key can locate the search results quickly."></button> - <input type="text" class="searchKey search empty" value=""><input type="text" class="searchResult search" value=""> - <button class="ico16 searchPrev disabled" onfocus="this.blur();" title="'Enter', 'left' and 'right' key can locate the search results quickly."></button><button class="ico16 searchNext disabled" onfocus="this.blur();" title="'Enter', 'left' and 'right' key can locate the search results quickly."></button> - </li> - </ul> - </div> - - <div id="contentBox" class="contentBox round clearfix"> - <div id="apiContent" class="apiContent"> - <div id="api_setting" class="api_setting left"> - <ul class="api_content_title"><li>setting details</li></ul> - <ul id="settingTree" class="ztree"></ul> - </div> - <div id="api_function" class="api_function right"> - <ul class="api_content_title"><li>zTree method details</li></ul> - <ul id="functionTree" class="ztree"></ul> - <ul class="api_content_title"><li>treeNode data details</li></ul> - <ul id="treenodeTree" class="ztree"></ul> - </div> - </div> - </div> - <div class="clear"></div> - </div> - </div> - - <!-- overlayed --> - <div id="overlayDiv" class="baby_overlay"> - <div id="overlayContent" class="content round clearfix"> - <div class="overlaySearch"> - <button class="ico16 z_search" onfocus="this.blur();" title="'Enter', 'left' and 'right' key can locate the search results quickly."></button> - <input type="text" class="searchKey search empty" value=""><input type="text" class="searchResult search" value=""> - <button class="ico16 searchPrev disabled" onfocus="this.blur();" title="'Enter', 'left' and 'right' key can locate the search results quickly."></button><button class="ico16 searchNext disabled" onfocus="this.blur();" title="'Enter', 'left' and 'right' key can locate the search results quickly."></button> - </div> - <a id="overlayDivCloseBtn" class="close"></a> - <div id="overlayDetailDiv" class="details"></div> - </div> - <div id="overlayDivArrow" class="baby_overlay_arrow"></div> - </div> - <script type="text/javascript" src="apiCss/jquery-1.6.2.min.js"></script> - <script type='text/javascript' src='apiCss/jquery.ztree.core-3.5.js'></script> - <script type='text/javascript' src='apiCss/api.js'></script> - <script type="text/javascript"> - $(document).ready(function(){ - apiContent._init(); - }); - </script> - </body> +<!DOCTYPE html>
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <title>API Document [zTree -- jQuery tree plug-ins.]</title>
+ <link rel="stylesheet" href="apiCss/common.css" type="text/css">
+ <link rel='stylesheet' href='apiCss/zTreeStyleForApi.css' type='text/css'>
+ <script type="text/javascript">
+ var ie = (function(){
+ var undef,
+ v = 3,
+ div = document.createElement('div'),
+ all = div.getElementsByTagName('i');
+ while (
+ div.innerHTML = '<!--[if gt IE ' + (++v) + ']><i></i><![endif]-->',
+ all[0]
+ );
+ return v > 4 ? v : undef;
+ }()), ie6 = (ie === 6),
+ path = window.location.pathname.replace(/.*\/([^\/\.]*)\..*/g,"$1"),
+ langLib = [];
+ ie = ie<9;
+ if(ie) {
+ document.write('<link rel="stylesheet" href="apiCss/common_ie6.css" type="text/css">');
+ }
+ var lang = "en",
+ ajaxMsg = "If you use chrome browser, please copy the API files to local webserver. \n\n( because chrome browser can't allow AJAX access to 'file://' )";
+ </script>
+ </head>
+ <body>
+ <div id="header_wrap" class="header_wrap" style="padding-top: 30px;">
+ <div id="header" class="header round">
+ <div class="light-bulb" alt=""></div>
+ <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.16 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;">
+ <li><a href="API_cn.html" onclick="window.location.href='API_cn.html'"><button class="ico cn" title="Chinese" type="button"></button><span class=""></span></a></li>
+ </ul>
+ </div>
+ </div>
+ <div id="content_wrap" class="content_wrap">
+ <div id="content" class="content">
+ <div class="nav_section">
+ <ul>
+ <li class="first">Notes: </li>
+ <li><button class="ico16 z_core" onfocus="this.blur();"></button><span>core package</span></li>
+ <li><button class="ico16 z_check" onfocus="this.blur();"></button><span>excheck pack</span></li>
+ <li><button class="ico16 z_edit" onfocus="this.blur();"></button><span>exedit pack</span></li>
+ <li><button class="ico16 z_hide" onfocus="this.blur();"></button><span>exhide pack</span></li>
+ <li class="noline">
+ <button class="ico16 z_search" onfocus="this.blur();" title="'Enter', 'left' and 'right' key can locate the search results quickly."></button>
+ <input type="text" class="searchKey search empty" value=""><input type="text" class="searchResult search" value="">
+ <button class="ico16 searchPrev disabled" onfocus="this.blur();" title="'Enter', 'left' and 'right' key can locate the search results quickly."></button><button class="ico16 searchNext disabled" onfocus="this.blur();" title="'Enter', 'left' and 'right' key can locate the search results quickly."></button>
+ </li>
+ </ul>
+ </div>
+
+ <div id="contentBox" class="contentBox round clearfix">
+ <div id="apiContent" class="apiContent">
+ <div id="api_setting" class="api_setting left">
+ <ul class="api_content_title"><li>setting details</li></ul>
+ <ul id="settingTree" class="ztree"></ul>
+ </div>
+ <div id="api_function" class="api_function right">
+ <ul class="api_content_title"><li>zTree method details</li></ul>
+ <ul id="functionTree" class="ztree"></ul>
+ <ul class="api_content_title"><li>treeNode data details</li></ul>
+ <ul id="treenodeTree" class="ztree"></ul>
+ </div>
+ </div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </div>
+
+ <!-- overlayed -->
+ <div id="overlayDiv" class="baby_overlay">
+ <div id="overlayContent" class="content round clearfix">
+ <div class="overlaySearch">
+ <button class="ico16 z_search" onfocus="this.blur();" title="'Enter', 'left' and 'right' key can locate the search results quickly."></button>
+ <input type="text" class="searchKey search empty" value=""><input type="text" class="searchResult search" value="">
+ <button class="ico16 searchPrev disabled" onfocus="this.blur();" title="'Enter', 'left' and 'right' key can locate the search results quickly."></button><button class="ico16 searchNext disabled" onfocus="this.blur();" title="'Enter', 'left' and 'right' key can locate the search results quickly."></button>
+ </div>
+ <a id="overlayDivCloseBtn" class="close"></a>
+ <div id="overlayDetailDiv" class="details"></div>
+ </div>
+ <div id="overlayDivArrow" class="baby_overlay_arrow"></div>
+ </div>
+ <script type="text/javascript" src="apiCss/jquery-1.6.2.min.js"></script>
+ <script type='text/javascript' src='apiCss/jquery.ztree.core-3.5.js'></script>
+ <script type='text/javascript' src='apiCss/api.js'></script>
+ <script type="text/javascript">
+ $(document).ready(function(){
+ apiContent._init();
+ });
+ </script>
+ </body>
</html>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/apiCss/api.js b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/apiCss/api.js index 37dd4ba3..e1c4a739 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/apiCss/api.js +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/apiCss/api.js @@ -1,592 +1,592 @@ -var apiContent = { - zTree_Setting: null, - zTree_Node: null, - zTree_Function: null, - overlayDiv : null, - overlayContent : null, - overlayDetailDiv : null, - overlayCloseBtn: null, - overlayArrow: null, - contentBoxDiv : null, - settingDiv : null, - functionDiv : null, - overlaySearch: null, - searchKey: null, - searchResultInput: null, - searchPrevBtn: null, - searchNextBtn: null, - apiCache: {}, - lastValue: "", - searchNodes: [], - searchNodesCur: 0, - - _init: function() { - this.overlayDiv = $("#overlayDiv"); - this.overlayContent = $("#overlayContent"); - this.overlayDetailDiv = $("#overlayDetailDiv"); - this.overlayCloseBtn = $("#overlayDivCloseBtn"); - this.overlayArrow = $("#overlayDivArrow"); - this.contentBoxDiv = $("#contentBox"); - this.settingDiv = $("#api_setting"); - this.functionDiv = $("#api_function"); - this.searchKey = $(".searchKey"); - this.overlaySearch = $(".overlaySearch"); - this.searchResultInput = $(".searchResult"); - this.searchPrevBtn = $(".searchPrev"); - this.searchNextBtn = $(".searchNext"); - var setting = { - view: { - fontCss: this.getFontCss, - showLine: false, - showIcon: this.showIcon, - showTitle: this.getTitle, - selectedMulti: false, - dblClickExpand: false - }, - data: { - key: { - title: "tt" - }, - simpleData: { - enable:true, - idKey: "id", - pIdKey: "pId", - rootPId: "" - } - }, - callback: { - 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}, - {id:12, pId:1, t:"treeObj", name:"treeObj : null,", iconSkin:"core", showAPI:true}, - {id:121, pId:1, name:""}, - - {id:20, pId:1, t:"async", name:"async : {", open:true}, - {id:201, pId:20, t:"autoParam", name:"autoParam : [],", iconSkin:"core", showAPI:true}, - {id:208, pId:20, t:"contentType", name:"contentType : \"application...\",", iconSkin:"core", showAPI:true}, - {id:202, pId:20, t:"dataFilter", name:"dataFilter : null,", iconSkin:"core", showAPI:true}, - {id:203, pId:20, t:"dataType", name:"dataType : \"text\",", iconSkin:"core", showAPI:true}, - {id:204, pId:20, t:"enable", name:"enable : false,", iconSkin:"core", showAPI:true}, - {id:205, pId:20, t:"otherParam", name:"otherParam : [],", iconSkin:"core", showAPI:true}, - {id:206, pId:20, t:"type", name:"type : \"post\",", iconSkin:"core", showAPI:true}, - {id:207, pId:20, t:"url", name:"url : \"\"", iconSkin:"core", showAPI:true}, - {id:21, pId:1, name:"},"}, - {id:22, pId:1, name:""}, - - {id:30, pId:1, t:"callback", name:"callback : {", open:true}, - {id:3001, pId:30, t:"beforeAsync", name:"beforeAsync : null,", iconSkin:"core", showAPI:true}, - {id:3002, pId:30, t:"beforeCheck", name:"beforeCheck : null,", iconSkin:"check", showAPI:true}, - {id:3003, pId:30, t:"beforeClick", name:"beforeClick : null,", iconSkin:"core", showAPI:true}, - {id:3004, pId:30, t:"beforeCollapse", name:"beforeCollapse : null,", iconSkin:"core", showAPI:true}, - {id:3004, pId:30, t:"beforeDblClick", name:"beforeDblClick : null,", iconSkin:"core", showAPI:true}, - {id:3005, pId:30, t:"beforeDrag", name:"beforeDrag : null,", iconSkin:"edit", showAPI:true}, - {id:3006, pId:30, t:"beforeDragOpen", name:"beforeDragOpen : null,", iconSkin:"edit", showAPI:true}, - {id:3007, pId:30, t:"beforeDrop", name:"beforeDrop : null,", iconSkin:"edit", showAPI:true}, - {id:3029, pId:30, t:"beforeEditName", name:"beforeEditName : null,", iconSkin:"edit", showAPI:true}, - {id:3008, pId:30, t:"beforeExpand", name:"beforeExpand : null,", iconSkin:"core", showAPI:true}, - {id:3009, pId:30, t:"beforeMouseDown", name:"beforeMouseDown : null,", iconSkin:"core", showAPI:true}, - {id:3010, pId:30, t:"beforeMouseUp", name:"beforeMouseUp : null,", iconSkin:"core", showAPI:true}, - {id:3011, pId:30, t:"beforeRemove", name:"beforeRemove : null,", iconSkin:"edit", showAPI:true}, - {id:3012, pId:30, t:"beforeRename", name:"beforeRename : null,", iconSkin:"edit", showAPI:true}, - {id:3013, pId:30, t:"beforeRightClick", name:"beforeRightClick : null,", iconSkin:"core", showAPI:true}, - {id:3014, pId:30, name:""}, - {id:3015, pId:30, t:"onAsyncError", name:"onAsyncError : null,", iconSkin:"core", showAPI:true}, - {id:3016, pId:30, t:"onAsyncSuccess", name:"onAsyncSuccess : null,", iconSkin:"core", showAPI:true}, - {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: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}, - {id:3024, pId:30, t:"onMouseUp", name:"onMouseUp : null,", iconSkin:"core", showAPI:true}, - {id:3025, pId:30, t:"onNodeCreated", name:"onNodeCreated : null,", iconSkin:"core", showAPI:true}, - {id:3026, pId:30, t:"onRemove", name:"onRemove : null,", iconSkin:"edit", showAPI:true}, - {id:3027, pId:30, t:"onRename", name:"onRename : null,", iconSkin:"edit", showAPI:true}, - {id:3028, pId:30, t:"onRightClick", name:"onRightClick : null", iconSkin:"core", showAPI:true}, - {id:31, pId:1, name:"},"}, - {id:32, pId:1, name:""}, - - {id:40, pId:1, t:"check", name:"check : {", open:true}, - {id:405, pId:40, t:"autoCheckTrigger", name:"autoCheckTrigger : false,", iconSkin:"check", showAPI:true}, - {id:401, pId:40, t:"chkboxType", name:"chkboxType : {\"Y\": \"ps\", \"N\": \"ps\"},", iconSkin:"check", showAPI:true}, - {id:402, pId:40, t:"chkStyle", name:"chkStyle : \"checkbox\",", iconSkin:"check", showAPI:true}, - {id:403, pId:40, t:"enable", name:"enable : false,", iconSkin:"check", showAPI:true}, - {id:406, pId:40, t:"nocheckInherit", name:"nocheckInherit : false", iconSkin:"check", showAPI:true}, - {id:407, pId:40, t:"chkDisabledInherit", name:"chkDisabledInherit : false", iconSkin:"check", showAPI:true}, - {id:404, pId:40, t:"radioType", name:"radioType : \"level\"", iconSkin:"check", showAPI:true}, - {id:41, pId:1, name:"},"}, - {id:42, pId:1, name:""}, - - {id:50, pId:1, t:"data", name:"data : {", open:true}, - {id:500, pId:50, t:"keep", name:"keep : {", open:true}, - {id:5001, pId:500, t:"leaf", name:"leaf : false,", iconSkin:"core", showAPI:true}, - {id:5002, pId:500, t:"parent", name:"parent : false", iconSkin:"core", showAPI:true}, - {id:501, pId:50, name:"},"}, - - {id:510, pId:50, t:"key", name:"key : {", open:true}, - {id:5101, pId:510, t:"checked", name:"checked : \"checked\",", iconSkin:"check", showAPI:true}, - {id:5102, pId:510, t:"children", name:"children : \"children\",", iconSkin:"core", showAPI:true}, - {id:5103, pId:510, t:"name", name:"name : \"name\",", iconSkin:"core", showAPI:true}, - {id:5104, pId:510, t:"title", name:"title : \"\"", iconSkin:"core", showAPI:true}, - {id:5105, pId:510, t:"url", name:"url : \"url\"", iconSkin:"core", showAPI:true}, - {id:511, pId:50, name:"},"}, - - {id:520, pId:50, t:"simpleData", name:"simpleData : {", open:true}, - {id:5201, pId:520, t:"enable", name:"enable : false,", iconSkin:"core", showAPI:true}, - {id:5202, pId:520, t:"idKey", name:"idKey : \"id\",", iconSkin:"core", showAPI:true}, - {id:5203, pId:520, t:"pIdKey", name:"pIdKey : \"pId\",", iconSkin:"core", showAPI:true}, - {id:5204, pId:520, t:"rootPId", name:"rootPId : null", iconSkin:"core", showAPI:true}, - {id:521, pId:50, name:"}"}, - {id:51, pId:1, name:"},"}, - {id:52, pId:1, name:""}, - - {id:60, pId:1, t:"edit", name:"edit : {", open:true}, - {id:601, pId:60, t:"drag", name:"drag : {", open:true}, - {id:60111, pId:601, t:"autoExpandTrigger", name:"autoExpandTrigger : true,", iconSkin:"edit", showAPI:true}, - {id:60101, pId:601, t:"isCopy", name:"isCopy : true,", iconSkin:"edit", showAPI:true}, - {id:60102, pId:601, t:"isMove", name:"isMove : true,", iconSkin:"edit", showAPI:true}, - {id:60103, pId:601, t:"prev", name:"prev : true,", iconSkin:"edit", showAPI:true}, - {id:60104, pId:601, t:"next", name:"next : true,", iconSkin:"edit", showAPI:true}, - {id:60105, pId:601, t:"inner", name:"inner : true,", iconSkin:"edit", showAPI:true}, - {id:60107, pId:601, t:"borderMax", name:"borderMax : 10,", iconSkin:"edit", showAPI:true}, - {id:60108, pId:601, t:"borderMin", name:"borderMin : -5,", iconSkin:"edit", showAPI:true}, - {id:60106, pId:601, t:"minMoveSize", name:"minMoveSize : 5,", iconSkin:"edit", showAPI:true}, - {id:60109, pId:601, t:"maxShowNodeNum", name:"maxShowNodeNum : 5,", iconSkin:"edit", showAPI:true}, - {id:60110, pId:601, t:"autoOpenTime", name:"autoOpenTime : 500", iconSkin:"edit", showAPI:true}, - {id:602, pId:60, name:"},"}, - {id:608, pId:60, t:"editNameSelectAll", name:"editNameSelectAll : false,", iconSkin:"edit", showAPI:true}, - {id:603, pId:60, t:"enable", name:"enable : false,", iconSkin:"edit", showAPI:true}, - {id:604, pId:60, t:"removeTitle", name:"removeTitle : \"remove\",", iconSkin:"edit", showAPI:true}, - {id:605, pId:60, t:"renameTitle", name:"renameTitle : \"rename\",", iconSkin:"edit", showAPI:true}, - {id:606, pId:60, t:"showRemoveBtn", name:"showRemoveBtn : true,", iconSkin:"edit", showAPI:true}, - {id:607, pId:60, t:"showRenameBtn", name:"showRenameBtn : true", iconSkin:"edit", showAPI:true}, - {id:61, pId:1, name:"},"}, - {id:62, pId:1, name:""}, - - {id:70, pId:1, t:"view", name:"view : {", open:true}, - {id:7001, pId:70, t:"addDiyDom", name:"addDiyDom : null,", iconSkin:"core", showAPI:true}, - {id:7002, pId:70, t:"addHoverDom", name:"addHoverDom : null,", iconSkin:"edit", showAPI:true}, - {id:7003, pId:70, t:"autoCancelSelected", name:"autoCancelSelected : true,", iconSkin:"core", showAPI:true}, - {id:7004, pId:70, t:"dblClickExpand", name:"dblClickExpand : true,", iconSkin:"core", showAPI:true}, - {id:7005, pId:70, t:"expandSpeed", name:"expandSpeed : \"fast\",", iconSkin:"core", showAPI:true}, - {id:7006, pId:70, t:"fontCss", name:"fontCss : {},", iconSkin:"core", showAPI:true}, - {id:7012, pId:70, t:"nameIsHTML", name:"nameIsHTML : false,", iconSkin:"core", showAPI:true}, - {id:7007, pId:70, t:"removeHoverDom", name:"removeHoverDom : null,", iconSkin:"edit", showAPI:true}, - {id:7008, pId:70, t:"selectedMulti", name:"selectedMulti : true,", iconSkin:"core", showAPI:true}, - {id:7009, pId:70, t:"showIcon", name:"showIcon : true,", iconSkin:"core", showAPI:true}, - {id:7010, pId:70, t:"showLine", name:"showLine : true,", iconSkin:"core", showAPI:true}, - {id:7011, pId:70, t:"showTitle", name:"showTitle : true,", iconSkin:"core", showAPI:true}, - {id:7012, pId:70, t:"txtSelectedEnable", name:"txtSelectedEnable : false", iconSkin:"core", showAPI:true}, - {id:71, pId:1, name:"}"}, - - {id:2, pId:0, name:"}"} - ]; - - var treenode_nodes =[ - {id:1, pId:0, t:"treeNode", name:"treeNode : {", open:true}, - {id:101, pId:1, t:"checked", name:"checked", iconSkin:"check", showAPI:true}, - {id:102, pId:1, t:"children", name:"children", iconSkin:"core", showAPI:true}, - {id:128, pId:1, t:"chkDisabled", name:"chkDisabled", iconSkin:"check", showAPI:true}, - {id:127, pId:1, t:"click", name:"click", iconSkin:"core", showAPI:true}, - {id:103, pId:1, t:"getCheckStatus", name:"getCheckStatus ()", iconSkin:"check", showAPI:true}, - {id:104, pId:1, t:"getNextNode", name:"getNextNode ()", iconSkin:"core", showAPI:true}, - {id:105, pId:1, t:"getParentNode", name:"getParentNode ()", iconSkin:"core", showAPI:true}, - {id:106, pId:1, t:"getPreNode", name:"getPreNode ()", iconSkin:"core", showAPI:true}, - {id:129, pId:1, t:"halfCheck", name:"halfCheck", iconSkin:"check", showAPI:true}, - {id:107, pId:1, t:"icon", name:"icon", iconSkin:"core", showAPI:true}, - {id:108, pId:1, t:"iconClose", name:"iconClose", iconSkin:"core", showAPI:true}, - {id:109, pId:1, t:"iconOpen", name:"iconOpen", iconSkin:"core", showAPI:true}, - {id:110, pId:1, t:"iconSkin", name:"iconSkin", iconSkin:"core", showAPI:true}, - {id:131, pId:1, t:"isHidden", name:"isHidden", iconSkin:"hide", showAPI:true}, - {id:111, pId:1, t:"isParent", name:"isParent", iconSkin:"core", showAPI:true}, - {id:132, pId:1, t:"name", name:"name", iconSkin:"core", showAPI:true}, - {id:112, pId:1, t:"nocheck", name:"nocheck", iconSkin:"check", showAPI:true}, - {id:113, pId:1, t:"open", name:"open", iconSkin:"core", showAPI:true}, - {id:133, pId:1, t:"target", name:"target", iconSkin:"core", showAPI:true}, - {id:134, pId:1, t:"url", name:"url", iconSkin:"core", showAPI:true}, - {id:114, pId:1, t:"diy", name:"*DIY*", iconSkin:"core", showAPI:true}, - {id:115, pId:1, name:""}, - {id:116, pId:1, t:"check_Child_State", name:"[check_Child_State]", iconSkin:"check", showAPI:true}, - {id:117, pId:1, t:"check_Focus", name:"[check_Focus]", iconSkin:"check", showAPI:true}, - {id:118, pId:1, t:"checkedOld", name:"[checkedOld]", iconSkin:"check", showAPI:true}, - {id:119, pId:1, t:"editNameFlag", name:"[editNameFlag]", iconSkin:"edit", showAPI:true}, - {id:120, pId:1, t:"isAjaxing", name:"[isAjaxing]", iconSkin:"core", showAPI:true}, - {id:121, pId:1, t:"isFirstNode", name:"[isFirstNode]", iconSkin:"core", showAPI:true}, - {id:122, pId:1, t:"isHover", name:"[isHover]", iconSkin:"edit", showAPI:true}, - {id:123, pId:1, t:"isLastNode", name:"[isLastNode]", iconSkin:"core", showAPI:true}, - {id:124, pId:1, t:"level", name:"[level]", iconSkin:"core", showAPI:true}, - {id:125, pId:1, t:"parentTId", name:"[parentTId]", iconSkin:"core", showAPI:true}, - {id:126, pId:1, t:"tId", name:"[tId]", iconSkin:"core", showAPI:true}, - {id:130, pId:1, t:"zAsync", name:"[zAsync]", iconSkin:"core", showAPI:true}, - {id:2, pId:0, name:"}"} - ]; - - var function_nodes =[ - {id:1, pId:0, t:"$.fn.zTree", name:"$.fn.zTree : {", open:true}, - {id:11, pId:1, t:"init", name:"init (obj, zSetting, zNodes)", iconSkin:"core", showAPI:true}, - {id:12, pId:1, t:"getZTreeObj", name:"getZTreeObj (treeId)", iconSkin:"core", showAPI:true}, - {id:14, pId:1, t:"destroy", name:"destroy (treeId)", iconSkin:"core", showAPI:true}, - {id:13, pId:1, t:"_z", name:"_z : {tools, view, event, data}", iconSkin:"core", showAPI:true}, - {id:2, pId:0, name:"}"}, - {id:3, pId:0, name:""}, - {id:4, pId:0, t:"zTreeObj", name:"zTreeObj : {", open:true}, - {id:401, pId:4, t:"setting", name:"setting", iconSkin:"core", showAPI:true}, - {id:402, pId:4, t:"addNodes", name:"addNodes (parentNode, newNodes, isSilent)", iconSkin:"core", showAPI:true}, - {id:403, pId:4, t:"cancelEditName", name:"cancelEditName (newName)", iconSkin:"edit", showAPI:true}, - {id:404, pId:4, t:"cancelSelectedNode", name:"cancelSelectedNode (node)", iconSkin:"core", showAPI:true}, - {id:405, pId:4, t:"checkAllNodes", name:"checkAllNodes (checked)", iconSkin:"check", showAPI:true}, - {id:406, pId:4, t:"checkNode", name:"checkNode (node, checked, checkTypeFlag, callbackFlag)", iconSkin:"check", showAPI:true}, - {id:407, pId:4, t:"copyNode", name:"copyNode (targetNode, node, moveType, isSilent)", iconSkin:"edit", showAPI:true}, - {id:436, pId:4, t:"destroy", name:"destroy ()", iconSkin:"core", showAPI:true}, - {id:408, pId:4, t:"editName", name:"editName (node)", iconSkin:"edit", showAPI:true}, - {id:409, pId:4, t:"expandAll", name:"expandAll (expandFlag)", iconSkin:"core", showAPI:true}, - {id:410, pId:4, t:"expandNode", name:"expandNode (node, expandFlag, sonSign, focus, callbackFlag)", iconSkin:"core", showAPI:true}, - {id:411, pId:4, t:"getChangeCheckedNodes", name:"getChangeCheckedNodes ()", iconSkin:"check", showAPI:true}, - {id:412, pId:4, t:"getCheckedNodes", name:"getCheckedNodes (checked)", iconSkin:"check", showAPI:true}, - {id:413, pId:4, t:"getNodeByParam", name:"getNodeByParam (key, value, parentNode)", iconSkin:"core", showAPI:true}, - {id:414, pId:4, t:"getNodeByTId", name:"getNodeByTId (tId)", iconSkin:"core", showAPI:true}, - {id:415, pId:4, t:"getNodeIndex", name:"getNodeIndex (node)", iconSkin:"core", showAPI:true}, - {id:416, pId:4, t:"getNodes", name:"getNodes ()", iconSkin:"core", showAPI:true}, - {id:431, pId:4, t:"getNodesByFilter", name:"getNodesByFilter (filter, isSingle, parentNode, invokeParam)", iconSkin:"core", showAPI:true}, - {id:417, pId:4, t:"getNodesByParam", name:"getNodesByParam (key, value, parentNode)", iconSkin:"core", showAPI:true}, - {id:418, pId:4, t:"getNodesByParamFuzzy", name:"getNodesByParamFuzzy (key, value, parentNode)", iconSkin:"core", showAPI:true}, - {id:419, pId:4, t:"getSelectedNodes", name:"getSelectedNodes ()", iconSkin:"core", showAPI:true}, - {id:432, pId:4, t:"hideNode", name:"hideNode (node)", iconSkin:"hide", showAPI:true}, - {id:433, pId:4, t:"hideNodes", name:"hideNodes (nodes)", iconSkin:"hide", showAPI:true}, - {id:420, pId:4, t:"moveNode", name:"moveNode (targetNode, node, moveType, isSilent)", iconSkin:"edit", showAPI:true}, - {id:421, pId:4, t:"reAsyncChildNodes", name:"reAsyncChildNodes (parentNode, reloadType, isSilent)", iconSkin:"core", showAPI:true}, - {id:422, pId:4, t:"refresh", name:"refresh ()", iconSkin:"core", showAPI:true}, - {id:423, pId:4, t:"removeChildNodes", name:"removeChildNodes (parentNode)", iconSkin:"core", showAPI:true}, - {id:424, pId:4, t:"removeNode", name:"removeNode (node, callbackFlag)", iconSkin:"core", showAPI:true}, - {id:425, pId:4, t:"selectNode", name:"selectNode (node, addFlag)", iconSkin:"core", showAPI:true}, - {id:430, pId:4, t:"setChkDisabled", name:"setChkDisabled (node, disabled, inheritParent, inheritChildren)", iconSkin:"check", showAPI:true}, - {id:426, pId:4, t:"setEditable", name:"setEditable (editable)", iconSkin:"edit", showAPI:true}, - {id:434, pId:4, t:"showNode", name:"showNode (node)", iconSkin:"hide", showAPI:true}, - {id:435, pId:4, t:"showNodes", name:"showNodes (nodes)", iconSkin:"hide", showAPI:true}, - {id:427, pId:4, t:"transformToArray", name:"transformToArray (nodes)", iconSkin:"core", showAPI:true}, - {id:428, pId:4, t:"transformTozTreeNodes", name:"transformTozTreeNodes (simpleNodes)", iconSkin:"core", showAPI:true}, - {id:429, pId:4, t:"updateNode", name:"updateNode (node, checkTypeFlag)", iconSkin:"core", showAPI:true}, - {id:5, pId:0, name:"}"} - ]; - - apiContent.zTree_Setting = $.fn.zTree.init($("#settingTree"), $.fn.zTree._z.tools.clone(setting), setting_nodes); - apiContent.zTree_Node = $.fn.zTree.init($("#treenodeTree"), $.fn.zTree._z.tools.clone(setting), treenode_nodes); - apiContent.zTree_Function = $.fn.zTree.init($("#functionTree"), $.fn.zTree._z.tools.clone(setting), function_nodes); - this.bindEvent(); - - }, - bindEvent: function() { - $(document).bind("keydown", this.listenKeyDown) - this.overlayCloseBtn.bind("click", apiContent.overlayClose); - this.searchResultInput.bind("click", function(e) { - $(this).prev().get(0).focus(); - this.blur(); - }).bind("focus", function(e) { - this.blur(); - }); - this.searchKey.bind("focus", this.focusKey) - .bind("blur", this.blurKey) - .bind("propertychange", this.searchNode) - .bind("input", this.searchNode); - this.searchPrevBtn.bind("click", this.searchPrev); - this.searchNextBtn.bind("click", this.searchNext); - }, - setSameKey: function(value) { - apiContent.searchKey.attr("value", value); - }, - focusKey: function(e) { - if (apiContent.searchKey.hasClass("empty")) { - apiContent.searchKey.removeClass("empty"); - } - }, - blurKey: function(e) { - apiContent.setSameKey(e.target.value); - if (e.target.value === "") { - apiContent.searchKey.addClass("empty"); - } - }, - listenKeyDown: function(e) { - if (e.keyCode=="13" && apiContent.overlayDiv.is(":hidden")) { - apiContent.openAPI(); - } else if (e.keyCode=="37") { - apiContent.searchPrev(); - } else if (e.keyCode=="13" || e.keyCode=="39") { - apiContent.searchNext(); - } - }, - openAPI: function() { - if (apiContent.searchNodes.length > 0) { - var setting_zTree = $.fn.zTree.getZTreeObj("settingTree"), - treenode_zTree = $.fn.zTree.getZTreeObj("treenodeTree"), - function_zTree = $.fn.zTree.getZTreeObj("functionTree"); - if (apiContent.searchNodesCur < 0 || apiContent.searchNodesCur > apiContent.searchNodes.length -1) { - apiContent.searchNodesCur = 0; - } - var node = apiContent.searchNodes[apiContent.searchNodesCur]; - - if (node.tId.indexOf("setting") > -1) { - setting_zTree.selectNode(node); - } else if (node.tId.indexOf("treenode") > -1) { - treenode_zTree.selectNode(node); - } else { - function_zTree.selectNode(node); - } - apiContent.beforeClick(node.tId.substring(0, node.tId.indexOf("_")), node, true); - apiContent.searchCur(); - } - }, - searchNode: function(e) { - var setting_zTree = $.fn.zTree.getZTreeObj("settingTree"), - treenode_zTree = $.fn.zTree.getZTreeObj("treenodeTree"), - function_zTree = $.fn.zTree.getZTreeObj("functionTree"); - if (apiContent.curKey == e.target.value) return; - apiContent.curKey = e.target.value; - var value = $.trim(apiContent.curKey); - apiContent.setSameKey(apiContent.curKey); - if (apiContent.searchKey.hasClass("empty")) { - value = ""; - apiContent.searchResultInput.removeClass("noResult").attr("value",""); - } - if (apiContent.lastValue === value) return; - - apiContent.updateNodes(false); - apiContent.lastValue = value; - if (value === "" || value.length < 2) { - apiContent.searchNodes = []; - apiContent.searchNodesCur = -1; - apiContent.searchCur(true); - return; - } - - var settingNodeList = setting_zTree.getNodesByFilter(apiContent.searchFilter); - var functionNodeList = function_zTree.getNodesByFilter(apiContent.searchFilter); - var treenodeNodeList = treenode_zTree.getNodesByFilter(apiContent.searchFilter); - apiContent.searchNodes = settingNodeList.concat(functionNodeList).concat(treenodeNodeList); - apiContent.searchNodesCur = -1; - apiContent.searchCur(); - apiContent.updateNodes(true); - }, - searchFilter: function(node) { - var value = $.trim(apiContent.searchKey.get(0).value).toLowerCase(); - return (node.showAPI && node.name.toLowerCase().indexOf(value) > -1); - }, - searchPrev: function(e) { - if (apiContent.searchPrevBtn.hasClass("disabled")) return; - apiContent.searchNodesCur--; - if (apiContent.searchNodesCur < 0 || apiContent.searchNodesCur > apiContent.searchNodes.length -1) { - apiContent.searchNodesCur = apiContent.searchNodes.length -1; - } - apiContent.openAPI(); - }, - searchNext: function(e) { - if (apiContent.searchNextBtn.hasClass("disabled")) return; - apiContent.searchNodesCur++; - apiContent.openAPI(); - }, - searchCur: function(init) { - var result = apiContent.searchNodes; - if (init) { - apiContent.searchResultInput.removeClass("noResult").attr("value",""); - } else if (result.length == 0) { - apiContent.searchResultInput.addClass("noResult").attr("value"," [ 0 / 0 ] "); - } else { - apiContent.searchResultInput.removeClass("noResult").attr("value"," [ " + (apiContent.searchNodesCur > -1 ? apiContent.searchNodesCur+1 : "?")+ " / " + result.length + " ] "); - } - if (result.length > 0) { - apiContent.searchPrevBtn.removeClass("disabled"); - apiContent.searchNextBtn.removeClass("disabled"); - } else { - apiContent.searchPrevBtn.addClass("disabled"); - apiContent.searchNextBtn.addClass("disabled"); - } - }, - updateNodes: function(highlight) { - var setting_zTree = $.fn.zTree.getZTreeObj("settingTree"), - treenode_zTree = $.fn.zTree.getZTreeObj("treenodeTree"), - function_zTree = $.fn.zTree.getZTreeObj("functionTree"), - node = null; - for( var i=0, l=apiContent.searchNodes.length; i<l; i++) { - node = apiContent.searchNodes[i]; - if (node.level > 0) { - node.highlight = highlight; - if (node.tId.indexOf("setting") > -1) { - setting_zTree.updateNode(node); - } else if (node.tId.indexOf("treenode") > -1) { - treenode_zTree.updateNode(node); - } else { - function_zTree.updateNode(node); - } - } - } - }, - getFontCss: function(treeId, treeNode) { - return (!!treeNode.highlight) ? {color:"#A60000", "font-weight":"bold"} : {color:"#333", "font-weight":"normal"}; - }, - getTitle: function(treeId, node) { - var t = [], n = node; - while (n && !!n.t) { - t.push(n.t); - n = n.getParentNode(); - } - t = t.reverse(); - node.tt = t.join('.'); - return true; - }, - showIcon: function(treeId, node) { - return (!!node.iconSkin); - }, - onNodeCreated: function (e, treeId, node) { - var a = $("#" + node.tId + "_a"); - if (node.showAPI) { - a.attr("rel", "#overlayDiv"); - } else { - a.css({cursor: "default"}); - } - }, - beforeClick: function (treeId, node, noClear) { - if (!node.showAPI) return false; - var o = $("#" + node.tId + "_a"); - if (!!apiContent.apiCache[node.tId]) { - apiContent.tmpDiv.html(apiContent.apiCache[node.tId]); - apiContent.overlayShow(o, (apiContent.lastNode === node)); - } else { - apiContent.overlayAjax(treeId, node); - } - apiContent.lastNode = node; - if (node.tId.indexOf("settingTree")>-1) { - apiContent.settingDiv.removeClass("right").addClass("left"); - apiContent.functionDiv.removeClass("left").addClass("right"); - } else { - apiContent.settingDiv.removeClass("left").addClass("right"); - apiContent.functionDiv.removeClass("right").addClass("left"); - } - - if (!noClear) { - apiContent.clearSelectedNode(); - } - return true; - }, - clearSelectedNode: function() { - apiContent.zTree_Setting.cancelSelectedNode(); - apiContent.zTree_Node.cancelSelectedNode(); - apiContent.zTree_Function.cancelSelectedNode(); - }, - overlayAutoClose: function(e) { - var eId = e.target.id, eRel = e.target.getAttribute("rel"), eClass = e.target.className; - if (eId === "overlayDiv" || eId === "overlayDivArrow" || eClass.indexOf("searchPrev") > -1 || eClass.indexOf("searchNext") > -1 || !!eRel) return; - if (!$(e.target).parents("[rel]").length && !$(e.target).parents("#overlayDiv").length) { - apiContent.overlayClose(); - } - }, - overlayClose: function() { - var o = apiContent.overlayDiv; - o.stop(); - apiContent.clearSelectedNode(); - if (ie) { - o.hide(); - } else { - setTimeout(function() {o.fadeTo("fast", 0, function(){o.hide();})}, 200); - } - $(document).unbind("click", apiContent.overlayAutoClose); - }, - overlayShow: function(target, isSameNode) { - var w = $(window), o = apiContent.overlayDiv, a = apiContent.overlayArrow, - oc = apiContent.overlayContent, c = apiContent.contentBoxDiv, - t = target.offset().top - 30, - cMaxLeft = c.offset().left + c.outerWidth({margin:true}) - o.outerWidth({margin:true}) - 10, - l = Math.min(cMaxLeft, target.offset().left + target.width() + 40), - arrowT = target.offset().top + 16, - wMinTop = 100, footerHeight = 50, onlyFade = false, - wHeight = w.height(), wScrollTop=w.scrollTop(), wMaxTop = wHeight + wScrollTop - footerHeight; - if (!apiContent.overlayMaxTop) { - apiContent.overlayMaxTop = apiContent.contentBoxDiv.offset().top + apiContent.contentBoxDiv.height(); - } - o.stop(); - if (o.css("display") !== "block") { - o.css({top: t, left: l}); - a.css({top:arrowT - t}); - $(document).bind("click", apiContent.overlayAutoClose); - } - if (ie) { - onlyFade = true; - o.show(); - } else { - o.fadeTo("fast", 1); - } - - var h = apiContent.tmpDiv.outerHeight({margin:true}) + apiContent.overlaySearch.outerHeight(); - if ((t + h) > wMaxTop) { - t = wMaxTop - h; - } - if ((t + h) > apiContent.overlayMaxTop) { - t = apiContent.overlayMaxTop - h; - } - t = Math.max(t, wScrollTop, wMinTop); - if ((t + h) > ($("body").height()-footerHeight-20)) { - o.css("padding-bottom", footerHeight + "px"); - } else { - o.css("padding-bottom", "0"); - } - apiContent.overlayDetailDiv.empty(); - apiContent.overlayDetailDiv.append(apiContent.tmpDiv.children()); - if (!onlyFade) { - onlyFade = (isSameNode && t === parseInt(o.css("top").replace("px", ""))); - } - - a.removeClass("reverse"); - if ( (arrowT - t) > (h-55) ) { - a.addClass("reverse"); - arrowT -= 55; - } - - if (onlyFade) { - o.css({top: t, left: l}); - oc.css({height: h}); - a.css({top:arrowT - t}); - } else { - o.animate({top: t, left: l}, {duration: "normal",easing: "swing", complete:null}); - oc.animate({height: h}, {duration: "fast",easing: "swing", complete:null}); - a.animate({top:arrowT - t}, {duration: "normal",easing: "linear", complete:null}); - } - }, - overlayAjax: function(treeId, node) { - var o = $("#" + node.tId + "_a"); - if (node.isAjax) return; - node.isAjax = true; - $.ajax({ - type: "get", - url: "" + lang + "/" + node.tt.replace("$.", "") + ".html", - data: null, - dataType: "text", - success: function(msg) { - if (!apiContent.tmpDiv) { - var tmpDiv = $(document.createElement("div")); - tmpDiv.addClass("baby_overlay_tmp"); - $("body").append(tmpDiv) - apiContent.tmpDiv = $(document.createElement("div")); - apiContent.tmpDiv.addClass("details"); - tmpDiv.append(apiContent.tmpDiv); - - } else { - apiContent.tmpDiv.empty(); - } - apiContent.tmpDiv.html(msg); - apiContent.overlayShow(o, false); - apiContent.apiCache[node.tId] = msg; - node.isAjax = false; - }, - error: function(XMLHttpRequest, textStatus, errorThrown) { - alert(ajaxMsg) - if (apiContent.tmpDiv) apiContent.tmpDiv.empty(); - node.isAjax = false; - } - }); - } +var apiContent = {
+ zTree_Setting: null,
+ zTree_Node: null,
+ zTree_Function: null,
+ overlayDiv : null,
+ overlayContent : null,
+ overlayDetailDiv : null,
+ overlayCloseBtn: null,
+ overlayArrow: null,
+ contentBoxDiv : null,
+ settingDiv : null,
+ functionDiv : null,
+ overlaySearch: null,
+ searchKey: null,
+ searchResultInput: null,
+ searchPrevBtn: null,
+ searchNextBtn: null,
+ apiCache: {},
+ lastValue: "",
+ searchNodes: [],
+ searchNodesCur: 0,
+
+ _init: function() {
+ this.overlayDiv = $("#overlayDiv");
+ this.overlayContent = $("#overlayContent");
+ this.overlayDetailDiv = $("#overlayDetailDiv");
+ this.overlayCloseBtn = $("#overlayDivCloseBtn");
+ this.overlayArrow = $("#overlayDivArrow");
+ this.contentBoxDiv = $("#contentBox");
+ this.settingDiv = $("#api_setting");
+ this.functionDiv = $("#api_function");
+ this.searchKey = $(".searchKey");
+ this.overlaySearch = $(".overlaySearch");
+ this.searchResultInput = $(".searchResult");
+ this.searchPrevBtn = $(".searchPrev");
+ this.searchNextBtn = $(".searchNext");
+ var setting = {
+ view: {
+ fontCss: this.getFontCss,
+ showLine: false,
+ showIcon: this.showIcon,
+ showTitle: this.getTitle,
+ selectedMulti: false,
+ dblClickExpand: false
+ },
+ data: {
+ key: {
+ title: "tt"
+ },
+ simpleData: {
+ enable:true,
+ idKey: "id",
+ pIdKey: "pId",
+ rootPId: ""
+ }
+ },
+ callback: {
+ 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},
+ {id:12, pId:1, t:"treeObj", name:"treeObj : null,", iconSkin:"core", showAPI:true},
+ {id:121, pId:1, name:""},
+
+ {id:20, pId:1, t:"async", name:"async : {", open:true},
+ {id:201, pId:20, t:"autoParam", name:"autoParam : [],", iconSkin:"core", showAPI:true},
+ {id:208, pId:20, t:"contentType", name:"contentType : \"application...\",", iconSkin:"core", showAPI:true},
+ {id:202, pId:20, t:"dataFilter", name:"dataFilter : null,", iconSkin:"core", showAPI:true},
+ {id:203, pId:20, t:"dataType", name:"dataType : \"text\",", iconSkin:"core", showAPI:true},
+ {id:204, pId:20, t:"enable", name:"enable : false,", iconSkin:"core", showAPI:true},
+ {id:205, pId:20, t:"otherParam", name:"otherParam : [],", iconSkin:"core", showAPI:true},
+ {id:206, pId:20, t:"type", name:"type : \"post\",", iconSkin:"core", showAPI:true},
+ {id:207, pId:20, t:"url", name:"url : \"\"", iconSkin:"core", showAPI:true},
+ {id:21, pId:1, name:"},"},
+ {id:22, pId:1, name:""},
+
+ {id:30, pId:1, t:"callback", name:"callback : {", open:true},
+ {id:3001, pId:30, t:"beforeAsync", name:"beforeAsync : null,", iconSkin:"core", showAPI:true},
+ {id:3002, pId:30, t:"beforeCheck", name:"beforeCheck : null,", iconSkin:"check", showAPI:true},
+ {id:3003, pId:30, t:"beforeClick", name:"beforeClick : null,", iconSkin:"core", showAPI:true},
+ {id:3004, pId:30, t:"beforeCollapse", name:"beforeCollapse : null,", iconSkin:"core", showAPI:true},
+ {id:3004, pId:30, t:"beforeDblClick", name:"beforeDblClick : null,", iconSkin:"core", showAPI:true},
+ {id:3005, pId:30, t:"beforeDrag", name:"beforeDrag : null,", iconSkin:"edit", showAPI:true},
+ {id:3006, pId:30, t:"beforeDragOpen", name:"beforeDragOpen : null,", iconSkin:"edit", showAPI:true},
+ {id:3007, pId:30, t:"beforeDrop", name:"beforeDrop : null,", iconSkin:"edit", showAPI:true},
+ {id:3029, pId:30, t:"beforeEditName", name:"beforeEditName : null,", iconSkin:"edit", showAPI:true},
+ {id:3008, pId:30, t:"beforeExpand", name:"beforeExpand : null,", iconSkin:"core", showAPI:true},
+ {id:3009, pId:30, t:"beforeMouseDown", name:"beforeMouseDown : null,", iconSkin:"core", showAPI:true},
+ {id:3010, pId:30, t:"beforeMouseUp", name:"beforeMouseUp : null,", iconSkin:"core", showAPI:true},
+ {id:3011, pId:30, t:"beforeRemove", name:"beforeRemove : null,", iconSkin:"edit", showAPI:true},
+ {id:3012, pId:30, t:"beforeRename", name:"beforeRename : null,", iconSkin:"edit", showAPI:true},
+ {id:3013, pId:30, t:"beforeRightClick", name:"beforeRightClick : null,", iconSkin:"core", showAPI:true},
+ {id:3014, pId:30, name:""},
+ {id:3015, pId:30, t:"onAsyncError", name:"onAsyncError : null,", iconSkin:"core", showAPI:true},
+ {id:3016, pId:30, t:"onAsyncSuccess", name:"onAsyncSuccess : null,", iconSkin:"core", showAPI:true},
+ {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: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},
+ {id:3024, pId:30, t:"onMouseUp", name:"onMouseUp : null,", iconSkin:"core", showAPI:true},
+ {id:3025, pId:30, t:"onNodeCreated", name:"onNodeCreated : null,", iconSkin:"core", showAPI:true},
+ {id:3026, pId:30, t:"onRemove", name:"onRemove : null,", iconSkin:"edit", showAPI:true},
+ {id:3027, pId:30, t:"onRename", name:"onRename : null,", iconSkin:"edit", showAPI:true},
+ {id:3028, pId:30, t:"onRightClick", name:"onRightClick : null", iconSkin:"core", showAPI:true},
+ {id:31, pId:1, name:"},"},
+ {id:32, pId:1, name:""},
+
+ {id:40, pId:1, t:"check", name:"check : {", open:true},
+ {id:405, pId:40, t:"autoCheckTrigger", name:"autoCheckTrigger : false,", iconSkin:"check", showAPI:true},
+ {id:401, pId:40, t:"chkboxType", name:"chkboxType : {\"Y\": \"ps\", \"N\": \"ps\"},", iconSkin:"check", showAPI:true},
+ {id:402, pId:40, t:"chkStyle", name:"chkStyle : \"checkbox\",", iconSkin:"check", showAPI:true},
+ {id:403, pId:40, t:"enable", name:"enable : false,", iconSkin:"check", showAPI:true},
+ {id:406, pId:40, t:"nocheckInherit", name:"nocheckInherit : false", iconSkin:"check", showAPI:true},
+ {id:407, pId:40, t:"chkDisabledInherit", name:"chkDisabledInherit : false", iconSkin:"check", showAPI:true},
+ {id:404, pId:40, t:"radioType", name:"radioType : \"level\"", iconSkin:"check", showAPI:true},
+ {id:41, pId:1, name:"},"},
+ {id:42, pId:1, name:""},
+
+ {id:50, pId:1, t:"data", name:"data : {", open:true},
+ {id:500, pId:50, t:"keep", name:"keep : {", open:true},
+ {id:5001, pId:500, t:"leaf", name:"leaf : false,", iconSkin:"core", showAPI:true},
+ {id:5002, pId:500, t:"parent", name:"parent : false", iconSkin:"core", showAPI:true},
+ {id:501, pId:50, name:"},"},
+
+ {id:510, pId:50, t:"key", name:"key : {", open:true},
+ {id:5101, pId:510, t:"checked", name:"checked : \"checked\",", iconSkin:"check", showAPI:true},
+ {id:5102, pId:510, t:"children", name:"children : \"children\",", iconSkin:"core", showAPI:true},
+ {id:5103, pId:510, t:"name", name:"name : \"name\",", iconSkin:"core", showAPI:true},
+ {id:5104, pId:510, t:"title", name:"title : \"\"", iconSkin:"core", showAPI:true},
+ {id:5105, pId:510, t:"url", name:"url : \"url\"", iconSkin:"core", showAPI:true},
+ {id:511, pId:50, name:"},"},
+
+ {id:520, pId:50, t:"simpleData", name:"simpleData : {", open:true},
+ {id:5201, pId:520, t:"enable", name:"enable : false,", iconSkin:"core", showAPI:true},
+ {id:5202, pId:520, t:"idKey", name:"idKey : \"id\",", iconSkin:"core", showAPI:true},
+ {id:5203, pId:520, t:"pIdKey", name:"pIdKey : \"pId\",", iconSkin:"core", showAPI:true},
+ {id:5204, pId:520, t:"rootPId", name:"rootPId : null", iconSkin:"core", showAPI:true},
+ {id:521, pId:50, name:"}"},
+ {id:51, pId:1, name:"},"},
+ {id:52, pId:1, name:""},
+
+ {id:60, pId:1, t:"edit", name:"edit : {", open:true},
+ {id:601, pId:60, t:"drag", name:"drag : {", open:true},
+ {id:60111, pId:601, t:"autoExpandTrigger", name:"autoExpandTrigger : true,", iconSkin:"edit", showAPI:true},
+ {id:60101, pId:601, t:"isCopy", name:"isCopy : true,", iconSkin:"edit", showAPI:true},
+ {id:60102, pId:601, t:"isMove", name:"isMove : true,", iconSkin:"edit", showAPI:true},
+ {id:60103, pId:601, t:"prev", name:"prev : true,", iconSkin:"edit", showAPI:true},
+ {id:60104, pId:601, t:"next", name:"next : true,", iconSkin:"edit", showAPI:true},
+ {id:60105, pId:601, t:"inner", name:"inner : true,", iconSkin:"edit", showAPI:true},
+ {id:60107, pId:601, t:"borderMax", name:"borderMax : 10,", iconSkin:"edit", showAPI:true},
+ {id:60108, pId:601, t:"borderMin", name:"borderMin : -5,", iconSkin:"edit", showAPI:true},
+ {id:60106, pId:601, t:"minMoveSize", name:"minMoveSize : 5,", iconSkin:"edit", showAPI:true},
+ {id:60109, pId:601, t:"maxShowNodeNum", name:"maxShowNodeNum : 5,", iconSkin:"edit", showAPI:true},
+ {id:60110, pId:601, t:"autoOpenTime", name:"autoOpenTime : 500", iconSkin:"edit", showAPI:true},
+ {id:602, pId:60, name:"},"},
+ {id:608, pId:60, t:"editNameSelectAll", name:"editNameSelectAll : false,", iconSkin:"edit", showAPI:true},
+ {id:603, pId:60, t:"enable", name:"enable : false,", iconSkin:"edit", showAPI:true},
+ {id:604, pId:60, t:"removeTitle", name:"removeTitle : \"remove\",", iconSkin:"edit", showAPI:true},
+ {id:605, pId:60, t:"renameTitle", name:"renameTitle : \"rename\",", iconSkin:"edit", showAPI:true},
+ {id:606, pId:60, t:"showRemoveBtn", name:"showRemoveBtn : true,", iconSkin:"edit", showAPI:true},
+ {id:607, pId:60, t:"showRenameBtn", name:"showRenameBtn : true", iconSkin:"edit", showAPI:true},
+ {id:61, pId:1, name:"},"},
+ {id:62, pId:1, name:""},
+
+ {id:70, pId:1, t:"view", name:"view : {", open:true},
+ {id:7001, pId:70, t:"addDiyDom", name:"addDiyDom : null,", iconSkin:"core", showAPI:true},
+ {id:7002, pId:70, t:"addHoverDom", name:"addHoverDom : null,", iconSkin:"edit", showAPI:true},
+ {id:7003, pId:70, t:"autoCancelSelected", name:"autoCancelSelected : true,", iconSkin:"core", showAPI:true},
+ {id:7004, pId:70, t:"dblClickExpand", name:"dblClickExpand : true,", iconSkin:"core", showAPI:true},
+ {id:7005, pId:70, t:"expandSpeed", name:"expandSpeed : \"fast\",", iconSkin:"core", showAPI:true},
+ {id:7006, pId:70, t:"fontCss", name:"fontCss : {},", iconSkin:"core", showAPI:true},
+ {id:7012, pId:70, t:"nameIsHTML", name:"nameIsHTML : false,", iconSkin:"core", showAPI:true},
+ {id:7007, pId:70, t:"removeHoverDom", name:"removeHoverDom : null,", iconSkin:"edit", showAPI:true},
+ {id:7008, pId:70, t:"selectedMulti", name:"selectedMulti : true,", iconSkin:"core", showAPI:true},
+ {id:7009, pId:70, t:"showIcon", name:"showIcon : true,", iconSkin:"core", showAPI:true},
+ {id:7010, pId:70, t:"showLine", name:"showLine : true,", iconSkin:"core", showAPI:true},
+ {id:7011, pId:70, t:"showTitle", name:"showTitle : true,", iconSkin:"core", showAPI:true},
+ {id:7012, pId:70, t:"txtSelectedEnable", name:"txtSelectedEnable : false", iconSkin:"core", showAPI:true},
+ {id:71, pId:1, name:"}"},
+
+ {id:2, pId:0, name:"}"}
+ ];
+
+ var treenode_nodes =[
+ {id:1, pId:0, t:"treeNode", name:"treeNode : {", open:true},
+ {id:101, pId:1, t:"checked", name:"checked", iconSkin:"check", showAPI:true},
+ {id:102, pId:1, t:"children", name:"children", iconSkin:"core", showAPI:true},
+ {id:128, pId:1, t:"chkDisabled", name:"chkDisabled", iconSkin:"check", showAPI:true},
+ {id:127, pId:1, t:"click", name:"click", iconSkin:"core", showAPI:true},
+ {id:103, pId:1, t:"getCheckStatus", name:"getCheckStatus ()", iconSkin:"check", showAPI:true},
+ {id:104, pId:1, t:"getNextNode", name:"getNextNode ()", iconSkin:"core", showAPI:true},
+ {id:105, pId:1, t:"getParentNode", name:"getParentNode ()", iconSkin:"core", showAPI:true},
+ {id:106, pId:1, t:"getPreNode", name:"getPreNode ()", iconSkin:"core", showAPI:true},
+ {id:129, pId:1, t:"halfCheck", name:"halfCheck", iconSkin:"check", showAPI:true},
+ {id:107, pId:1, t:"icon", name:"icon", iconSkin:"core", showAPI:true},
+ {id:108, pId:1, t:"iconClose", name:"iconClose", iconSkin:"core", showAPI:true},
+ {id:109, pId:1, t:"iconOpen", name:"iconOpen", iconSkin:"core", showAPI:true},
+ {id:110, pId:1, t:"iconSkin", name:"iconSkin", iconSkin:"core", showAPI:true},
+ {id:131, pId:1, t:"isHidden", name:"isHidden", iconSkin:"hide", showAPI:true},
+ {id:111, pId:1, t:"isParent", name:"isParent", iconSkin:"core", showAPI:true},
+ {id:132, pId:1, t:"name", name:"name", iconSkin:"core", showAPI:true},
+ {id:112, pId:1, t:"nocheck", name:"nocheck", iconSkin:"check", showAPI:true},
+ {id:113, pId:1, t:"open", name:"open", iconSkin:"core", showAPI:true},
+ {id:133, pId:1, t:"target", name:"target", iconSkin:"core", showAPI:true},
+ {id:134, pId:1, t:"url", name:"url", iconSkin:"core", showAPI:true},
+ {id:114, pId:1, t:"diy", name:"*DIY*", iconSkin:"core", showAPI:true},
+ {id:115, pId:1, name:""},
+ {id:116, pId:1, t:"check_Child_State", name:"[check_Child_State]", iconSkin:"check", showAPI:true},
+ {id:117, pId:1, t:"check_Focus", name:"[check_Focus]", iconSkin:"check", showAPI:true},
+ {id:118, pId:1, t:"checkedOld", name:"[checkedOld]", iconSkin:"check", showAPI:true},
+ {id:119, pId:1, t:"editNameFlag", name:"[editNameFlag]", iconSkin:"edit", showAPI:true},
+ {id:120, pId:1, t:"isAjaxing", name:"[isAjaxing]", iconSkin:"core", showAPI:true},
+ {id:121, pId:1, t:"isFirstNode", name:"[isFirstNode]", iconSkin:"core", showAPI:true},
+ {id:122, pId:1, t:"isHover", name:"[isHover]", iconSkin:"edit", showAPI:true},
+ {id:123, pId:1, t:"isLastNode", name:"[isLastNode]", iconSkin:"core", showAPI:true},
+ {id:124, pId:1, t:"level", name:"[level]", iconSkin:"core", showAPI:true},
+ {id:125, pId:1, t:"parentTId", name:"[parentTId]", iconSkin:"core", showAPI:true},
+ {id:126, pId:1, t:"tId", name:"[tId]", iconSkin:"core", showAPI:true},
+ {id:130, pId:1, t:"zAsync", name:"[zAsync]", iconSkin:"core", showAPI:true},
+ {id:2, pId:0, name:"}"}
+ ];
+
+ var function_nodes =[
+ {id:1, pId:0, t:"$.fn.zTree", name:"$.fn.zTree : {", open:true},
+ {id:11, pId:1, t:"init", name:"init (obj, zSetting, zNodes)", iconSkin:"core", showAPI:true},
+ {id:12, pId:1, t:"getZTreeObj", name:"getZTreeObj (treeId)", iconSkin:"core", showAPI:true},
+ {id:14, pId:1, t:"destroy", name:"destroy (treeId)", iconSkin:"core", showAPI:true},
+ {id:13, pId:1, t:"_z", name:"_z : {tools, view, event, data}", iconSkin:"core", showAPI:true},
+ {id:2, pId:0, name:"}"},
+ {id:3, pId:0, name:""},
+ {id:4, pId:0, t:"zTreeObj", name:"zTreeObj : {", open:true},
+ {id:401, pId:4, t:"setting", name:"setting", iconSkin:"core", showAPI:true},
+ {id:402, pId:4, t:"addNodes", name:"addNodes (parentNode, newNodes, isSilent)", iconSkin:"core", showAPI:true},
+ {id:403, pId:4, t:"cancelEditName", name:"cancelEditName (newName)", iconSkin:"edit", showAPI:true},
+ {id:404, pId:4, t:"cancelSelectedNode", name:"cancelSelectedNode (node)", iconSkin:"core", showAPI:true},
+ {id:405, pId:4, t:"checkAllNodes", name:"checkAllNodes (checked)", iconSkin:"check", showAPI:true},
+ {id:406, pId:4, t:"checkNode", name:"checkNode (node, checked, checkTypeFlag, callbackFlag)", iconSkin:"check", showAPI:true},
+ {id:407, pId:4, t:"copyNode", name:"copyNode (targetNode, node, moveType, isSilent)", iconSkin:"edit", showAPI:true},
+ {id:436, pId:4, t:"destroy", name:"destroy ()", iconSkin:"core", showAPI:true},
+ {id:408, pId:4, t:"editName", name:"editName (node)", iconSkin:"edit", showAPI:true},
+ {id:409, pId:4, t:"expandAll", name:"expandAll (expandFlag)", iconSkin:"core", showAPI:true},
+ {id:410, pId:4, t:"expandNode", name:"expandNode (node, expandFlag, sonSign, focus, callbackFlag)", iconSkin:"core", showAPI:true},
+ {id:411, pId:4, t:"getChangeCheckedNodes", name:"getChangeCheckedNodes ()", iconSkin:"check", showAPI:true},
+ {id:412, pId:4, t:"getCheckedNodes", name:"getCheckedNodes (checked)", iconSkin:"check", showAPI:true},
+ {id:413, pId:4, t:"getNodeByParam", name:"getNodeByParam (key, value, parentNode)", iconSkin:"core", showAPI:true},
+ {id:414, pId:4, t:"getNodeByTId", name:"getNodeByTId (tId)", iconSkin:"core", showAPI:true},
+ {id:415, pId:4, t:"getNodeIndex", name:"getNodeIndex (node)", iconSkin:"core", showAPI:true},
+ {id:416, pId:4, t:"getNodes", name:"getNodes ()", iconSkin:"core", showAPI:true},
+ {id:431, pId:4, t:"getNodesByFilter", name:"getNodesByFilter (filter, isSingle, parentNode, invokeParam)", iconSkin:"core", showAPI:true},
+ {id:417, pId:4, t:"getNodesByParam", name:"getNodesByParam (key, value, parentNode)", iconSkin:"core", showAPI:true},
+ {id:418, pId:4, t:"getNodesByParamFuzzy", name:"getNodesByParamFuzzy (key, value, parentNode)", iconSkin:"core", showAPI:true},
+ {id:419, pId:4, t:"getSelectedNodes", name:"getSelectedNodes ()", iconSkin:"core", showAPI:true},
+ {id:432, pId:4, t:"hideNode", name:"hideNode (node)", iconSkin:"hide", showAPI:true},
+ {id:433, pId:4, t:"hideNodes", name:"hideNodes (nodes)", iconSkin:"hide", showAPI:true},
+ {id:420, pId:4, t:"moveNode", name:"moveNode (targetNode, node, moveType, isSilent)", iconSkin:"edit", showAPI:true},
+ {id:421, pId:4, t:"reAsyncChildNodes", name:"reAsyncChildNodes (parentNode, reloadType, isSilent)", iconSkin:"core", showAPI:true},
+ {id:422, pId:4, t:"refresh", name:"refresh ()", iconSkin:"core", showAPI:true},
+ {id:423, pId:4, t:"removeChildNodes", name:"removeChildNodes (parentNode)", iconSkin:"core", showAPI:true},
+ {id:424, pId:4, t:"removeNode", name:"removeNode (node, callbackFlag)", iconSkin:"core", showAPI:true},
+ {id:425, pId:4, t:"selectNode", name:"selectNode (node, addFlag)", iconSkin:"core", showAPI:true},
+ {id:430, pId:4, t:"setChkDisabled", name:"setChkDisabled (node, disabled, inheritParent, inheritChildren)", iconSkin:"check", showAPI:true},
+ {id:426, pId:4, t:"setEditable", name:"setEditable (editable)", iconSkin:"edit", showAPI:true},
+ {id:434, pId:4, t:"showNode", name:"showNode (node)", iconSkin:"hide", showAPI:true},
+ {id:435, pId:4, t:"showNodes", name:"showNodes (nodes)", iconSkin:"hide", showAPI:true},
+ {id:427, pId:4, t:"transformToArray", name:"transformToArray (nodes)", iconSkin:"core", showAPI:true},
+ {id:428, pId:4, t:"transformTozTreeNodes", name:"transformTozTreeNodes (simpleNodes)", iconSkin:"core", showAPI:true},
+ {id:429, pId:4, t:"updateNode", name:"updateNode (node, checkTypeFlag)", iconSkin:"core", showAPI:true},
+ {id:5, pId:0, name:"}"}
+ ];
+
+ apiContent.zTree_Setting = $.fn.zTree.init($("#settingTree"), $.fn.zTree._z.tools.clone(setting), setting_nodes);
+ apiContent.zTree_Node = $.fn.zTree.init($("#treenodeTree"), $.fn.zTree._z.tools.clone(setting), treenode_nodes);
+ apiContent.zTree_Function = $.fn.zTree.init($("#functionTree"), $.fn.zTree._z.tools.clone(setting), function_nodes);
+ this.bindEvent();
+
+ },
+ bindEvent: function() {
+ $(document).bind("keydown", this.listenKeyDown)
+ this.overlayCloseBtn.bind("click", apiContent.overlayClose);
+ this.searchResultInput.bind("click", function(e) {
+ $(this).prev().get(0).focus();
+ this.blur();
+ }).bind("focus", function(e) {
+ this.blur();
+ });
+ this.searchKey.bind("focus", this.focusKey)
+ .bind("blur", this.blurKey)
+ .bind("propertychange", this.searchNode)
+ .bind("input", this.searchNode);
+ this.searchPrevBtn.bind("click", this.searchPrev);
+ this.searchNextBtn.bind("click", this.searchNext);
+ },
+ setSameKey: function(value) {
+ apiContent.searchKey.attr("value", value);
+ },
+ focusKey: function(e) {
+ if (apiContent.searchKey.hasClass("empty")) {
+ apiContent.searchKey.removeClass("empty");
+ }
+ },
+ blurKey: function(e) {
+ apiContent.setSameKey(e.target.value);
+ if (e.target.value === "") {
+ apiContent.searchKey.addClass("empty");
+ }
+ },
+ listenKeyDown: function(e) {
+ if (e.keyCode=="13" && apiContent.overlayDiv.is(":hidden")) {
+ apiContent.openAPI();
+ } else if (e.keyCode=="37") {
+ apiContent.searchPrev();
+ } else if (e.keyCode=="13" || e.keyCode=="39") {
+ apiContent.searchNext();
+ }
+ },
+ openAPI: function() {
+ if (apiContent.searchNodes.length > 0) {
+ var setting_zTree = $.fn.zTree.getZTreeObj("settingTree"),
+ treenode_zTree = $.fn.zTree.getZTreeObj("treenodeTree"),
+ function_zTree = $.fn.zTree.getZTreeObj("functionTree");
+ if (apiContent.searchNodesCur < 0 || apiContent.searchNodesCur > apiContent.searchNodes.length -1) {
+ apiContent.searchNodesCur = 0;
+ }
+ var node = apiContent.searchNodes[apiContent.searchNodesCur];
+
+ if (node.tId.indexOf("setting") > -1) {
+ setting_zTree.selectNode(node);
+ } else if (node.tId.indexOf("treenode") > -1) {
+ treenode_zTree.selectNode(node);
+ } else {
+ function_zTree.selectNode(node);
+ }
+ apiContent.beforeClick(node.tId.substring(0, node.tId.indexOf("_")), node, true);
+ apiContent.searchCur();
+ }
+ },
+ searchNode: function(e) {
+ var setting_zTree = $.fn.zTree.getZTreeObj("settingTree"),
+ treenode_zTree = $.fn.zTree.getZTreeObj("treenodeTree"),
+ function_zTree = $.fn.zTree.getZTreeObj("functionTree");
+ if (apiContent.curKey == e.target.value) return;
+ apiContent.curKey = e.target.value;
+ var value = $.trim(apiContent.curKey);
+ apiContent.setSameKey(apiContent.curKey);
+ if (apiContent.searchKey.hasClass("empty")) {
+ value = "";
+ apiContent.searchResultInput.removeClass("noResult").attr("value","");
+ }
+ if (apiContent.lastValue === value) return;
+
+ apiContent.updateNodes(false);
+ apiContent.lastValue = value;
+ if (value === "" || value.length < 2) {
+ apiContent.searchNodes = [];
+ apiContent.searchNodesCur = -1;
+ apiContent.searchCur(true);
+ return;
+ }
+
+ var settingNodeList = setting_zTree.getNodesByFilter(apiContent.searchFilter);
+ var functionNodeList = function_zTree.getNodesByFilter(apiContent.searchFilter);
+ var treenodeNodeList = treenode_zTree.getNodesByFilter(apiContent.searchFilter);
+ apiContent.searchNodes = settingNodeList.concat(functionNodeList).concat(treenodeNodeList);
+ apiContent.searchNodesCur = -1;
+ apiContent.searchCur();
+ apiContent.updateNodes(true);
+ },
+ searchFilter: function(node) {
+ var value = $.trim(apiContent.searchKey.get(0).value).toLowerCase();
+ return (node.showAPI && node.name.toLowerCase().indexOf(value) > -1);
+ },
+ searchPrev: function(e) {
+ if (apiContent.searchPrevBtn.hasClass("disabled")) return;
+ apiContent.searchNodesCur--;
+ if (apiContent.searchNodesCur < 0 || apiContent.searchNodesCur > apiContent.searchNodes.length -1) {
+ apiContent.searchNodesCur = apiContent.searchNodes.length -1;
+ }
+ apiContent.openAPI();
+ },
+ searchNext: function(e) {
+ if (apiContent.searchNextBtn.hasClass("disabled")) return;
+ apiContent.searchNodesCur++;
+ apiContent.openAPI();
+ },
+ searchCur: function(init) {
+ var result = apiContent.searchNodes;
+ if (init) {
+ apiContent.searchResultInput.removeClass("noResult").attr("value","");
+ } else if (result.length == 0) {
+ apiContent.searchResultInput.addClass("noResult").attr("value"," [ 0 / 0 ] ");
+ } else {
+ apiContent.searchResultInput.removeClass("noResult").attr("value"," [ " + (apiContent.searchNodesCur > -1 ? apiContent.searchNodesCur+1 : "?")+ " / " + result.length + " ] ");
+ }
+ if (result.length > 0) {
+ apiContent.searchPrevBtn.removeClass("disabled");
+ apiContent.searchNextBtn.removeClass("disabled");
+ } else {
+ apiContent.searchPrevBtn.addClass("disabled");
+ apiContent.searchNextBtn.addClass("disabled");
+ }
+ },
+ updateNodes: function(highlight) {
+ var setting_zTree = $.fn.zTree.getZTreeObj("settingTree"),
+ treenode_zTree = $.fn.zTree.getZTreeObj("treenodeTree"),
+ function_zTree = $.fn.zTree.getZTreeObj("functionTree"),
+ node = null;
+ for( var i=0, l=apiContent.searchNodes.length; i<l; i++) {
+ node = apiContent.searchNodes[i];
+ if (node.level > 0) {
+ node.highlight = highlight;
+ if (node.tId.indexOf("setting") > -1) {
+ setting_zTree.updateNode(node);
+ } else if (node.tId.indexOf("treenode") > -1) {
+ treenode_zTree.updateNode(node);
+ } else {
+ function_zTree.updateNode(node);
+ }
+ }
+ }
+ },
+ getFontCss: function(treeId, treeNode) {
+ return (!!treeNode.highlight) ? {color:"#A60000", "font-weight":"bold"} : {color:"#333", "font-weight":"normal"};
+ },
+ getTitle: function(treeId, node) {
+ var t = [], n = node;
+ while (n && !!n.t) {
+ t.push(n.t);
+ n = n.getParentNode();
+ }
+ t = t.reverse();
+ node.tt = t.join('.');
+ return true;
+ },
+ showIcon: function(treeId, node) {
+ return (!!node.iconSkin);
+ },
+ onNodeCreated: function (e, treeId, node) {
+ var a = $("#" + node.tId + "_a");
+ if (node.showAPI) {
+ a.attr("rel", "#overlayDiv");
+ } else {
+ a.css({cursor: "default"});
+ }
+ },
+ beforeClick: function (treeId, node, noClear) {
+ if (!node.showAPI) return false;
+ var o = $("#" + node.tId + "_a");
+ if (!!apiContent.apiCache[node.tId]) {
+ apiContent.tmpDiv.html(apiContent.apiCache[node.tId]);
+ apiContent.overlayShow(o, (apiContent.lastNode === node));
+ } else {
+ apiContent.overlayAjax(treeId, node);
+ }
+ apiContent.lastNode = node;
+ if (node.tId.indexOf("settingTree")>-1) {
+ apiContent.settingDiv.removeClass("right").addClass("left");
+ apiContent.functionDiv.removeClass("left").addClass("right");
+ } else {
+ apiContent.settingDiv.removeClass("left").addClass("right");
+ apiContent.functionDiv.removeClass("right").addClass("left");
+ }
+
+ if (!noClear) {
+ apiContent.clearSelectedNode();
+ }
+ return true;
+ },
+ clearSelectedNode: function() {
+ apiContent.zTree_Setting.cancelSelectedNode();
+ apiContent.zTree_Node.cancelSelectedNode();
+ apiContent.zTree_Function.cancelSelectedNode();
+ },
+ overlayAutoClose: function(e) {
+ var eId = e.target.id, eRel = e.target.getAttribute("rel"), eClass = e.target.className;
+ if (eId === "overlayDiv" || eId === "overlayDivArrow" || eClass.indexOf("searchPrev") > -1 || eClass.indexOf("searchNext") > -1 || !!eRel) return;
+ if (!$(e.target).parents("[rel]").length && !$(e.target).parents("#overlayDiv").length) {
+ apiContent.overlayClose();
+ }
+ },
+ overlayClose: function() {
+ var o = apiContent.overlayDiv;
+ o.stop();
+ apiContent.clearSelectedNode();
+ if (ie) {
+ o.hide();
+ } else {
+ setTimeout(function() {o.fadeTo("fast", 0, function(){o.hide();})}, 200);
+ }
+ $(document).unbind("click", apiContent.overlayAutoClose);
+ },
+ overlayShow: function(target, isSameNode) {
+ var w = $(window), o = apiContent.overlayDiv, a = apiContent.overlayArrow,
+ oc = apiContent.overlayContent, c = apiContent.contentBoxDiv,
+ t = target.offset().top - 30,
+ cMaxLeft = c.offset().left + c.outerWidth({margin:true}) - o.outerWidth({margin:true}) - 10,
+ l = Math.min(cMaxLeft, target.offset().left + target.width() + 40),
+ arrowT = target.offset().top + 16,
+ wMinTop = 100, footerHeight = 50, onlyFade = false,
+ wHeight = w.height(), wScrollTop=w.scrollTop(), wMaxTop = wHeight + wScrollTop - footerHeight;
+ if (!apiContent.overlayMaxTop) {
+ apiContent.overlayMaxTop = apiContent.contentBoxDiv.offset().top + apiContent.contentBoxDiv.height();
+ }
+ o.stop();
+ if (o.css("display") !== "block") {
+ o.css({top: t, left: l});
+ a.css({top:arrowT - t});
+ $(document).bind("click", apiContent.overlayAutoClose);
+ }
+ if (ie) {
+ onlyFade = true;
+ o.show();
+ } else {
+ o.fadeTo("fast", 1);
+ }
+
+ var h = apiContent.tmpDiv.outerHeight({margin:true}) + apiContent.overlaySearch.outerHeight();
+ if ((t + h) > wMaxTop) {
+ t = wMaxTop - h;
+ }
+ if ((t + h) > apiContent.overlayMaxTop) {
+ t = apiContent.overlayMaxTop - h;
+ }
+ t = Math.max(t, wScrollTop, wMinTop);
+ if ((t + h) > ($("body").height()-footerHeight-20)) {
+ o.css("padding-bottom", footerHeight + "px");
+ } else {
+ o.css("padding-bottom", "0");
+ }
+ apiContent.overlayDetailDiv.empty();
+ apiContent.overlayDetailDiv.append(apiContent.tmpDiv.children());
+ if (!onlyFade) {
+ onlyFade = (isSameNode && t === parseInt(o.css("top").replace("px", "")));
+ }
+
+ a.removeClass("reverse");
+ if ( (arrowT - t) > (h-55) ) {
+ a.addClass("reverse");
+ arrowT -= 55;
+ }
+
+ if (onlyFade) {
+ o.css({top: t, left: l});
+ oc.css({height: h});
+ a.css({top:arrowT - t});
+ } else {
+ o.animate({top: t, left: l}, {duration: "normal",easing: "swing", complete:null});
+ oc.animate({height: h}, {duration: "fast",easing: "swing", complete:null});
+ a.animate({top:arrowT - t}, {duration: "normal",easing: "linear", complete:null});
+ }
+ },
+ overlayAjax: function(treeId, node) {
+ var o = $("#" + node.tId + "_a");
+ if (node.isAjax) return;
+ node.isAjax = true;
+ $.ajax({
+ type: "get",
+ url: "" + lang + "/" + node.tt.replace("$.", "") + ".html",
+ data: null,
+ dataType: "text",
+ success: function(msg) {
+ if (!apiContent.tmpDiv) {
+ var tmpDiv = $(document.createElement("div"));
+ tmpDiv.addClass("baby_overlay_tmp");
+ $("body").append(tmpDiv)
+ apiContent.tmpDiv = $(document.createElement("div"));
+ apiContent.tmpDiv.addClass("details");
+ tmpDiv.append(apiContent.tmpDiv);
+
+ } else {
+ apiContent.tmpDiv.empty();
+ }
+ apiContent.tmpDiv.html(msg);
+ apiContent.overlayShow(o, false);
+ apiContent.apiCache[node.tId] = msg;
+ node.isAjax = false;
+ },
+ error: function(XMLHttpRequest, textStatus, errorThrown) {
+ alert(ajaxMsg)
+ if (apiContent.tmpDiv) apiContent.tmpDiv.empty();
+ node.isAjax = false;
+ }
+ });
+ }
}
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/apiCss/common.css b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/apiCss/common.css index 78f910c7..a2f3b008 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/apiCss/common.css +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/apiCss/common.css @@ -1,219 +1,219 @@ -/* Resets */ -html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td { - margin: 0;padding: 0;border: 0;outline: 0;font-weight: inherit;font-style: inherit;font-size: 100%;font-family: inherit;vertical-align: baseline;} -:focus {outline: 0;} -body {color: #2f332a;font: 15px/21px Arial, Helvetica, simsun, sans-serif;background: #528036 url(img/background.jpg) no-repeat fixed 0 0;} -p {padding-bottom: 20px;} -ol, ul {list-style: none;} -table {border-collapse: separate;border-spacing: 0;} -caption, th, td {text-align: left;font-weight: normal;} -strong {font-weight: bold;} -em {font-style: italic;} -hr {display: none;} -.font1 {color: white;background-color: #528036;} -.right {float: right;} -.left {float: left;} -.hide {display: none;} -.round {-moz-border-radius: 15px;-webkit-border-radius: 15px;-khtml-border-radius: 15px;border-radius: 15px;} -.clear {clear: both;} -.clearfix {display: block;} -.clearfix:after {content: ".";display: block;clear: both;visibility: hidden;line-height: 0;height: 0;} -html[xmlns] .clearfix {display: block;} -* html .clearfix {height: 1%;} - -/* Link Styles */ -a {color: #528036;} -a:link, a:visited {text-decoration: none;} -a:hover {color: #000;text-decoration: none;} -a:active {text-decoration: none;} - -/* Headings */ -h1, h2, h3, h4, h5, h6 {color: #2f332a;font-weight: bold;font-family: Helvetica, Arial, simsun, sans-serif;padding-bottom: 5px;} -h1 {font-size: 36px;line-height: 44px;} -h2 {font-size: 20px;line-height: 20px;} -h3 {font-size: 14px;line-height: 14px;} -h4 {font-size: 14px;font-weight: normal;line-height: 25px;} - -/* Wraps */ -.header_wrap {position: relative;min-width: 940px;padding: 100px 30px 0 30px;} -.content_wrap {position: relative;min-width: 940px;padding: 0 30px 50px 30px;} -.footer_wrap {bottom: 0;height: 47px;width: 100%;background-color: #1b1b1b;border-top: 1px solid #749e58;} - -/* Header */ -.header {position: relative;width: 940px;margin: 0 auto;height: 160px;border: 1px solid white;background: transparent url(img/header-bg.png) repeat-x 0 -50px;} -.header-text {padding: 40px 25px 15px 120px;font-size: 18px;line-height: 24px;color: #747d67;font-family: Helvetica, sans-serif;} -.header-text img {padding-bottom: 5px;} -.shortcuts {white-space: nowrap;text-align: right;position: absolute;top: -45px;right: 5px;} -.shortcuts.language {top: -85px;right:0px;} -.shortcuts li {display: inline;font-size: 18px;line-height: 28px;font-family: Helvetica, Arial, simsun, sans-serif;padding-bottom: 5px;margin-left: 30px;cursor: pointer;} -.shortcuts li button {cursor: pointer;} -.shortcuts li span {border-bottom: 1px dotted white;} -.shortcuts li span.selected {padding: 2px;background-color: #528036;} -.shortcuts li a {color: #fff;} -.ieSuggest {display:none;font-size: 12px;color: silver;position: absolute;left: 10px;top: 2px;} -.google_plus {position: absolute;right: 10px; top:10px;} -.light-bulb {position: absolute;left: -20px;bottom: -35px;width:116px;height:180px;background-image:url(img/lightbulb.png);background-repeat: no-repeat;} - -/* Content */ -.content {position: relative;width: 940px;margin: 0 auto;} -.nav_section {position: relative;height: 20px;font-family: "Myriad Pro", "Trebuchet MS", sans-serif;font-size: 15px;color: #253;padding: 20px 0;} -.nav_section ul {position: absolute;right: 10px;} -.nav_section ul li {display: inline;line-height: 20px;margin: 0 5px 0 20px;border-bottom: 1px dotted white;} -.nav_section ul li.noline {border-bottom: 0;} -.nav_section ul li a {color: #fff;} -.nav_section ul li a.selected {padding: 2px;background-color: #528036;} -.nav_section ul li.first {border: none;} -.content .title {margin: 50px 30px 20px 70px;} -.content li {margin-bottom: 5px;} -.contentBox {position: relative;overflow: hidden;border: 1px solid white;min-height: 200px;line-height: 25px;background: transparent url(img/contact-bg.png) repeat-x 0 0;} - -.zTreeInfo {display:none;width: 940px;position: absolute;} -.zTreeInfo p {padding-bottom: 50px;} -.zTreeInfo-left {float: left;width: 280px;height:300px;padding: 0 50px 60px 75px;background:url(img/zTreeIntroduction.jpg) no-repeat 30px 30px;} -.zTreeInfo-right {position: relative;float: right;width: 475px;padding: 0 50px 60px 0;} -.zTreeInfo-right li {font-size: 12px;list-style-type: disc;} - -.license {display:none;width: 940px;position: absolute;} - -.donateInfo {display:block;width: 940px;position: absolute;} - -.links {display:none;width: 940px;position: absolute;} -.links .content {float: left;width: 160px;height:200px;padding: 0 10px 10px 2px;text-align: center;} -.links .content.first {margin-left: 30px;} - -.contact {display:none;width: 940px;position: absolute;} -.contact .myhome { position: absolute; top:10px; left:620px; width:300px; height:266px; background: transparent url(img/myhome.gif) scroll no-repeat 0 0;} - -.siteTag {position: absolute;left: -16px;top: 109px;z-index: 10;width: 65px;height: 46px;padding:0;margin:0 10px 0 0; - vertical-align:middle;border:0 none;background: transparent url(img/siteTag.png) scroll no-repeat 0 0;} -.siteTag.tag_zTreeInfo {background-position: 0 0} -.siteTag.tag_license {background-position: 0 -46px} -.siteTag.tag_donate {background-position: 0 -92px} -.siteTag.tag_contact {background-position: 0 -138px} - -.apiContent {width: 940px;} -.apiContent .right {float: right;padding-right: 100px;} -.apiContent .left {float: left;padding-right: 20px;border-right: 1px dotted silver;} -.api_setting {position: relative;margin:20px 0 20px 20px;} -.api_function {position: relative;margin:20px 0 20px 30px;padding-right: 10px;} -.api_content_title {text-align: center;font-weight: bold;} - -.demoContent {width: 940px;} -.demoContent .right {float: right;padding: 20px;width: 600px;} -.demoContent .left {float: left;padding: 20px;} -.demoContent iframe {width:600px;min-height: 530px;} - -.faqContent {width: 940px;} -.faqContent .right {float: right;padding: 20px;width: 600px;} -.faqContent .left {float: left;padding: 20px;} -.faqContent iframe {width:600px;min-height: 300px;} - -.baby_overlay_tmp {position: absolute;top:0; left:-5000px;display:block;visibility: hidden;width:640px;font-size:11px;} -.baby_overlay_tmp .details {padding: 20px;} -.baby_overlay {display:none;position:absolute;z-index:99;left:0; top:0;width:640px;color:#fff;font-size:11px;} -.baby_overlay .content {width:100%; height:100px;overflow: hidden;background: transparent url(img/overlay_bg.png) scroll repeat 0 0;} -.baby_overlay .details {padding:0 20px 20px 20px;} -.baby_overlay .close {background-image:url(img/close.png);position:absolute; right:5px; top:5px;cursor:pointer;height:36px;width:36px;} -.baby_overlay_arrow {background-image:url(img/overlay_arrow.png);background-position:0 0;position:absolute;height:40px;width:40px;left: -40px;} -.baby_overlay_arrow.reverse {background-position:0 -40px;} - -/* Footer */ -.footer {position: relative;min-width: 1000px;font: 14px/24px arial, helvetica, sans-serif;} -.footer ul {position:absolute;left: 0px;border:1px solid #393939;background:#262626;padding:12px 0px;line-height: 18px;display: none;list-style: none;} -.footer ul li a {display:block;padding: 2px 15px;color: #9c9c9c;text-indent: 0;} -.footer ul li a:hover {text-decoration:none;color: #fff;} -.footer-logo {position:absolute;margin: 10px 0 0 30px;width:122px; height:24px;top:0; left:0;background: transparent url(img/footer-logo.png) no-repeat 0 0;} -.footer_mii {position: absolute;right: 558px;top: 8px;z-index: 10;padding: 4px 0;} -.footer_mii a {font-size:10px;color:#649140} -.footer_mii a:hover {color:#B6D76F} -.footer_siteMap {position: absolute;right: 358px;top: 8px;width: 155px;z-index: 10;padding: 4px 0;} -.footer_siteMap .footer_siteMap_header {width:155px;text-indent: -9999px;background: transparent url(img/footer_siteMap.gif) no-repeat 0 0;} -.footer_siteMap ul {top:-202px;width:180px;} -.footer_siteMap:hover ul {left: 0} -.footer_contact {position: absolute;right: 193px;top: 8px;width: 155px;z-index: 10;padding: 4px 0;} -.footer_contact .footer_contact_header {width:155px;text-indent: -9999px;background: transparent url(img/footer_contact.gif) no-repeat 0px 0px;} -.footer_contact ul {top:-113px;width:153px;} -.footer_contact:hover ul {left: 0} -.footer_download {position: absolute;right: 60px;top: 8px;width: 123px;z-index: 10;padding: 4px 0;} -.footer_download .footer_download_header {width:123px;text-indent: -9999px;background: transparent url(img/footer_download.png) no-repeat 0px 0px;} -.footer_download ul {top:-113px;width:140px;} -.footer_download:hover ul {left: 0} - -/* button icon */ -button {vertical-align:middle;border:0 none;background: transparent no-repeat 0 0 scroll;} - -.shortcuts button.ico {width:24px; height:24px;padding:0; margin:0 10px 0 0;background-image:url(img/menuIcon.png)} -.shortcuts button.home {background-position: 0 0} -.shortcuts button.demo {background-position: 0 -24px} -.shortcuts button.api {background-position: 0 -48px} -.shortcuts button.faq {background-position: 0 -72px} -.shortcuts button.donate {background-position: 0 -144px} -.shortcuts button.download {background-position: 0 -96px} -.shortcuts button.face {background-position: 0 -120px} -.shortcuts button.cn {width:48px; height:24px;padding:0; margin:0 10px 0 0;background-image:url(img/chinese.png)} -.shortcuts button.en {width:48px; height:24px;padding:0; margin:0 10px 0 0;background-image:url(img/english.png)} - -.content button.ico {width:24px; height:24px;padding:0; margin:0 10px 0 0;} - -.content button.ico16 {width:16px; height:16px;padding:0; margin:0 5px 0 0;background-image:url("img/apiMenu.png");} -button.z_core {margin-top: -4px;background-position:0 0;} -button.z_check {margin-top: -4px;background-position:0 -16px;} -button.z_edit {margin-top: -4px;background-position:0 -32px;} -button.z_hide {margin-top: -4px;background-position:0 -64px;} -button.z_search {margin-top: -4px;background-position:0 -48px;} -button.searchPrev {margin-top: -4px;background-position:-16px 0;cursor:pointer} -button.searchNext {margin-top: -4px;background-position:-16px -16px;cursor:pointer} -button.searchPrev.disabled {margin-top: -4px;background-position:-16px -32px;cursor:auto} -button.searchNext.disabled {margin-top: -4px;background-position:-16px -48px;cursor:auto} -input.search {margin:0;padding:2px 0; border:0;} -input.searchKey {width:150px;} -input.searchResult {margin-left:-3px;width:65px;text-align:right;background-color:white;color:#707070} -input.searchResult.noResult {background-color:#ff6666;color:black} -.baby_overlay div.overlaySearch {text-align:right;padding-right:50px;padding-top:12px;} - -/* api overlay*/ -.apiDetail .topLine {border-top: 1px dashed #376B29;margin-top: 5px;padding-top: 5px;} -.apiDetail .highlight_red {color:#A60000;} -.apiDetail .highlight_green {color:#A7F43D;} -.apiDetail h1, .apiDetail h2, .apiDetail h3, .apiDetail h4, .apiDetail h5, .apiDetail h6 {color: white;padding: 0;} -.apiDetail h2 {color: #A7F43D;margin: 5px auto;padding: 5px;font-size: 20px;} -.apiDetail h2 span {font-size: 14px;float: right;font-weight: normal;margin: 2px 20px 0 0;vertical-align: bottom;} -.apiDetail h2 span.path {float: left;margin: 2px 0 0 0;vertical-align: bottom;} -.apiDetail h3 {margin: 5px auto;padding: 5px;font-size: 14px;font-weight: normal;} -.apiDetail h3 span.h3_info {margin-left: 20px;font-size: 12px;} -.apiDetail h4 {margin: 0 auto;padding: 0 5px;font-size: 12px;font-weight: normal;line-height: 16px;} -.apiDetail .desc h4 {color: black;} -.apiDetail h4 b{width: 150px;display:inline-block;} -.apiDetail h4 span{width: 230px;display:inline-block;} - -.apiDetail pre, .apiDetail .desc {background: #E8FCD6;color: black;margin: 10px;padding: 10px;display: block;} -.apiDetail pre {word-wrap: break-word;} -.apiDetail p{margin-left: 5px;padding: 0;} -.apiDetail .longdesc {margin-top: 5px;} -.apiDetail .longdesc p{font-size: 12px;line-height:1.5;margin:3px 0;} -.apiDetail .longdesc b{font-size: 14px;} -.apiDetail table {border-collapse:collapse;} -.apiDetail table td {border:1px solid silver;text-align: center;vertical-align: middle;} -.apiDetail table thead td {font-weight: bold} - -.apiDetail button {width:16px; height:16px; vertical-align:middle; border:0 none; cursor: pointer; - background-color:transparent; background-repeat:no-repeat; background-attachment: scroll; - background-image:url("zTreeStyle/img/zTreeStandard.png");} - -.apiDetail button.chk {width:13px; height:13px; margin:0 3px 2px 0; cursor: auto} -.apiDetail button.chk.checkbox_false_full {background-position:0 0} -.apiDetail button.chk.checkbox_false_full_focus {background-position:0 -14px} -.apiDetail button.chk.checkbox_false_part {background-position:0 -28px} -.apiDetail button.chk.checkbox_false_part_focus {background-position:0 -42px} -.apiDetail button.chk.checkbox_true_full {background-position:-14px 0} -.apiDetail button.chk.checkbox_true_full_focus {background-position:-14px -14px} -.apiDetail button.chk.checkbox_true_part {background-position:-14px -28px} -.apiDetail button.chk.checkbox_true_part_focus {background-position:-14px -42px} -.apiDetail button.chk.radio_false_full {background-position:-28px 0} -.apiDetail button.chk.radio_false_full_focus {background-position:-28px -14px} -.apiDetail button.chk.radio_false_part {background-position:-28px -28px} -.apiDetail button.chk.radio_false_part_focus {background-position:-28px -42px} -.apiDetail button.chk.radio_true_full {background-position:-42px 0} -.apiDetail button.chk.radio_true_full_focus {background-position:-42px -14px} -.apiDetail button.chk.radio_true_part {background-position:-42px -28px} +/* Resets */
+html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
+ margin: 0;padding: 0;border: 0;outline: 0;font-weight: inherit;font-style: inherit;font-size: 100%;font-family: inherit;vertical-align: baseline;}
+:focus {outline: 0;}
+body {color: #2f332a;font: 15px/21px Arial, Helvetica, simsun, sans-serif;background: #528036 url(img/background.jpg) no-repeat fixed 0 0;}
+p {padding-bottom: 20px;}
+ol, ul {list-style: none;}
+table {border-collapse: separate;border-spacing: 0;}
+caption, th, td {text-align: left;font-weight: normal;}
+strong {font-weight: bold;}
+em {font-style: italic;}
+hr {display: none;}
+.font1 {color: white;background-color: #528036;}
+.right {float: right;}
+.left {float: left;}
+.hide {display: none;}
+.round {-moz-border-radius: 15px;-webkit-border-radius: 15px;-khtml-border-radius: 15px;border-radius: 15px;}
+.clear {clear: both;}
+.clearfix {display: block;}
+.clearfix:after {content: ".";display: block;clear: both;visibility: hidden;line-height: 0;height: 0;}
+html[xmlns] .clearfix {display: block;}
+* html .clearfix {height: 1%;}
+
+/* Link Styles */
+a {color: #528036;}
+a:link, a:visited {text-decoration: none;}
+a:hover {color: #000;text-decoration: none;}
+a:active {text-decoration: none;}
+
+/* Headings */
+h1, h2, h3, h4, h5, h6 {color: #2f332a;font-weight: bold;font-family: Helvetica, Arial, simsun, sans-serif;padding-bottom: 5px;}
+h1 {font-size: 36px;line-height: 44px;}
+h2 {font-size: 20px;line-height: 20px;}
+h3 {font-size: 14px;line-height: 14px;}
+h4 {font-size: 14px;font-weight: normal;line-height: 25px;}
+
+/* Wraps */
+.header_wrap {position: relative;min-width: 940px;padding: 100px 30px 0 30px;}
+.content_wrap {position: relative;min-width: 940px;padding: 0 30px 50px 30px;}
+.footer_wrap {bottom: 0;height: 47px;width: 100%;background-color: #1b1b1b;border-top: 1px solid #749e58;}
+
+/* Header */
+.header {position: relative;width: 940px;margin: 0 auto;height: 160px;border: 1px solid white;background: transparent url(img/header-bg.png) repeat-x 0 -50px;}
+.header-text {padding: 40px 25px 15px 120px;font-size: 18px;line-height: 24px;color: #747d67;font-family: Helvetica, sans-serif;}
+.header-text img {padding-bottom: 5px;}
+.shortcuts {white-space: nowrap;text-align: right;position: absolute;top: -45px;right: 5px;}
+.shortcuts.language {top: -85px;right:0px;}
+.shortcuts li {display: inline;font-size: 18px;line-height: 28px;font-family: Helvetica, Arial, simsun, sans-serif;padding-bottom: 5px;margin-left: 30px;cursor: pointer;}
+.shortcuts li button {cursor: pointer;}
+.shortcuts li span {border-bottom: 1px dotted white;}
+.shortcuts li span.selected {padding: 2px;background-color: #528036;}
+.shortcuts li a {color: #fff;}
+.ieSuggest {display:none;font-size: 12px;color: silver;position: absolute;left: 10px;top: 2px;}
+.google_plus {position: absolute;right: 10px; top:10px;}
+.light-bulb {position: absolute;left: -20px;bottom: -35px;width:116px;height:180px;background-image:url(img/lightbulb.png);background-repeat: no-repeat;}
+
+/* Content */
+.content {position: relative;width: 940px;margin: 0 auto;}
+.nav_section {position: relative;height: 20px;font-family: "Myriad Pro", "Trebuchet MS", sans-serif;font-size: 15px;color: #253;padding: 20px 0;}
+.nav_section ul {position: absolute;right: 10px;}
+.nav_section ul li {display: inline;line-height: 20px;margin: 0 5px 0 20px;border-bottom: 1px dotted white;}
+.nav_section ul li.noline {border-bottom: 0;}
+.nav_section ul li a {color: #fff;}
+.nav_section ul li a.selected {padding: 2px;background-color: #528036;}
+.nav_section ul li.first {border: none;}
+.content .title {margin: 50px 30px 20px 70px;}
+.content li {margin-bottom: 5px;}
+.contentBox {position: relative;overflow: hidden;border: 1px solid white;min-height: 200px;line-height: 25px;background: transparent url(img/contact-bg.png) repeat-x 0 0;}
+
+.zTreeInfo {display:none;width: 940px;position: absolute;}
+.zTreeInfo p {padding-bottom: 50px;}
+.zTreeInfo-left {float: left;width: 280px;height:300px;padding: 0 50px 60px 75px;background:url(img/zTreeIntroduction.jpg) no-repeat 30px 30px;}
+.zTreeInfo-right {position: relative;float: right;width: 475px;padding: 0 50px 60px 0;}
+.zTreeInfo-right li {font-size: 12px;list-style-type: disc;}
+
+.license {display:none;width: 940px;position: absolute;}
+
+.donateInfo {display:block;width: 940px;position: absolute;}
+
+.links {display:none;width: 940px;position: absolute;}
+.links .content {float: left;width: 160px;height:200px;padding: 0 10px 10px 2px;text-align: center;}
+.links .content.first {margin-left: 30px;}
+
+.contact {display:none;width: 940px;position: absolute;}
+.contact .myhome { position: absolute; top:10px; left:620px; width:300px; height:266px; background: transparent url(img/myhome.gif) scroll no-repeat 0 0;}
+
+.siteTag {position: absolute;left: -16px;top: 109px;z-index: 10;width: 65px;height: 46px;padding:0;margin:0 10px 0 0;
+ vertical-align:middle;border:0 none;background: transparent url(img/siteTag.png) scroll no-repeat 0 0;}
+.siteTag.tag_zTreeInfo {background-position: 0 0}
+.siteTag.tag_license {background-position: 0 -46px}
+.siteTag.tag_donate {background-position: 0 -92px}
+.siteTag.tag_contact {background-position: 0 -138px}
+
+.apiContent {width: 940px;}
+.apiContent .right {float: right;padding-right: 100px;}
+.apiContent .left {float: left;padding-right: 20px;border-right: 1px dotted silver;}
+.api_setting {position: relative;margin:20px 0 20px 20px;}
+.api_function {position: relative;margin:20px 0 20px 30px;padding-right: 10px;}
+.api_content_title {text-align: center;font-weight: bold;}
+
+.demoContent {width: 940px;}
+.demoContent .right {float: right;padding: 20px;width: 600px;}
+.demoContent .left {float: left;padding: 20px;}
+.demoContent iframe {width:600px;min-height: 530px;}
+
+.faqContent {width: 940px;}
+.faqContent .right {float: right;padding: 20px;width: 600px;}
+.faqContent .left {float: left;padding: 20px;}
+.faqContent iframe {width:600px;min-height: 300px;}
+
+.baby_overlay_tmp {position: absolute;top:0; left:-5000px;display:block;visibility: hidden;width:640px;font-size:11px;}
+.baby_overlay_tmp .details {padding: 20px;}
+.baby_overlay {display:none;position:absolute;z-index:99;left:0; top:0;width:640px;color:#fff;font-size:11px;}
+.baby_overlay .content {width:100%; height:100px;overflow: hidden;background: transparent url(img/overlay_bg.png) scroll repeat 0 0;}
+.baby_overlay .details {padding:0 20px 20px 20px;}
+.baby_overlay .close {background-image:url(img/close.png);position:absolute; right:5px; top:5px;cursor:pointer;height:36px;width:36px;}
+.baby_overlay_arrow {background-image:url(img/overlay_arrow.png);background-position:0 0;position:absolute;height:40px;width:40px;left: -40px;}
+.baby_overlay_arrow.reverse {background-position:0 -40px;}
+
+/* Footer */
+.footer {position: relative;min-width: 1000px;font: 14px/24px arial, helvetica, sans-serif;}
+.footer ul {position:absolute;left: 0px;border:1px solid #393939;background:#262626;padding:12px 0px;line-height: 18px;display: none;list-style: none;}
+.footer ul li a {display:block;padding: 2px 15px;color: #9c9c9c;text-indent: 0;}
+.footer ul li a:hover {text-decoration:none;color: #fff;}
+.footer-logo {position:absolute;margin: 10px 0 0 30px;width:122px; height:24px;top:0; left:0;background: transparent url(img/footer-logo.png) no-repeat 0 0;}
+.footer_mii {position: absolute;right: 558px;top: 8px;z-index: 10;padding: 4px 0;}
+.footer_mii a {font-size:10px;color:#649140}
+.footer_mii a:hover {color:#B6D76F}
+.footer_siteMap {position: absolute;right: 358px;top: 8px;width: 155px;z-index: 10;padding: 4px 0;}
+.footer_siteMap .footer_siteMap_header {width:155px;text-indent: -9999px;background: transparent url(img/footer_siteMap.gif) no-repeat 0 0;}
+.footer_siteMap ul {top:-202px;width:180px;}
+.footer_siteMap:hover ul {left: 0}
+.footer_contact {position: absolute;right: 193px;top: 8px;width: 155px;z-index: 10;padding: 4px 0;}
+.footer_contact .footer_contact_header {width:155px;text-indent: -9999px;background: transparent url(img/footer_contact.gif) no-repeat 0px 0px;}
+.footer_contact ul {top:-113px;width:153px;}
+.footer_contact:hover ul {left: 0}
+.footer_download {position: absolute;right: 60px;top: 8px;width: 123px;z-index: 10;padding: 4px 0;}
+.footer_download .footer_download_header {width:123px;text-indent: -9999px;background: transparent url(img/footer_download.png) no-repeat 0px 0px;}
+.footer_download ul {top:-113px;width:140px;}
+.footer_download:hover ul {left: 0}
+
+/* button icon */
+button {vertical-align:middle;border:0 none;background: transparent no-repeat 0 0 scroll;}
+
+.shortcuts button.ico {width:24px; height:24px;padding:0; margin:0 10px 0 0;background-image:url(img/menuIcon.png)}
+.shortcuts button.home {background-position: 0 0}
+.shortcuts button.demo {background-position: 0 -24px}
+.shortcuts button.api {background-position: 0 -48px}
+.shortcuts button.faq {background-position: 0 -72px}
+.shortcuts button.donate {background-position: 0 -144px}
+.shortcuts button.download {background-position: 0 -96px}
+.shortcuts button.face {background-position: 0 -120px}
+.shortcuts button.cn {width:48px; height:24px;padding:0; margin:0 10px 0 0;background-image:url(img/chinese.png)}
+.shortcuts button.en {width:48px; height:24px;padding:0; margin:0 10px 0 0;background-image:url(img/english.png)}
+
+.content button.ico {width:24px; height:24px;padding:0; margin:0 10px 0 0;}
+
+.content button.ico16 {width:16px; height:16px;padding:0; margin:0 5px 0 0;background-image:url("img/apiMenu.png");}
+button.z_core {margin-top: -4px;background-position:0 0;}
+button.z_check {margin-top: -4px;background-position:0 -16px;}
+button.z_edit {margin-top: -4px;background-position:0 -32px;}
+button.z_hide {margin-top: -4px;background-position:0 -64px;}
+button.z_search {margin-top: -4px;background-position:0 -48px;}
+button.searchPrev {margin-top: -4px;background-position:-16px 0;cursor:pointer}
+button.searchNext {margin-top: -4px;background-position:-16px -16px;cursor:pointer}
+button.searchPrev.disabled {margin-top: -4px;background-position:-16px -32px;cursor:auto}
+button.searchNext.disabled {margin-top: -4px;background-position:-16px -48px;cursor:auto}
+input.search {margin:0;padding:2px 0; border:0;}
+input.searchKey {width:150px;}
+input.searchResult {margin-left:-3px;width:65px;text-align:right;background-color:white;color:#707070}
+input.searchResult.noResult {background-color:#ff6666;color:black}
+.baby_overlay div.overlaySearch {text-align:right;padding-right:50px;padding-top:12px;}
+
+/* api overlay*/
+.apiDetail .topLine {border-top: 1px dashed #376B29;margin-top: 5px;padding-top: 5px;}
+.apiDetail .highlight_red {color:#A60000;}
+.apiDetail .highlight_green {color:#A7F43D;}
+.apiDetail h1, .apiDetail h2, .apiDetail h3, .apiDetail h4, .apiDetail h5, .apiDetail h6 {color: white;padding: 0;}
+.apiDetail h2 {color: #A7F43D;margin: 5px auto;padding: 5px;font-size: 20px;}
+.apiDetail h2 span {font-size: 14px;float: right;font-weight: normal;margin: 2px 20px 0 0;vertical-align: bottom;}
+.apiDetail h2 span.path {float: left;margin: 2px 0 0 0;vertical-align: bottom;}
+.apiDetail h3 {margin: 5px auto;padding: 5px;font-size: 14px;font-weight: normal;}
+.apiDetail h3 span.h3_info {margin-left: 20px;font-size: 12px;}
+.apiDetail h4 {margin: 0 auto;padding: 0 5px;font-size: 12px;font-weight: normal;line-height: 16px;}
+.apiDetail .desc h4 {color: black;}
+.apiDetail h4 b{width: 150px;display:inline-block;}
+.apiDetail h4 span{width: 230px;display:inline-block;}
+
+.apiDetail pre, .apiDetail .desc {background: #E8FCD6;color: black;margin: 10px;padding: 10px;display: block;}
+.apiDetail pre {word-wrap: break-word;}
+.apiDetail p{margin-left: 5px;padding: 0;}
+.apiDetail .longdesc {margin-top: 5px;}
+.apiDetail .longdesc p{font-size: 12px;line-height:1.5;margin:3px 0;}
+.apiDetail .longdesc b{font-size: 14px;}
+.apiDetail table {border-collapse:collapse;}
+.apiDetail table td {border:1px solid silver;text-align: center;vertical-align: middle;}
+.apiDetail table thead td {font-weight: bold}
+
+.apiDetail button {width:16px; height:16px; vertical-align:middle; border:0 none; cursor: pointer;
+ background-color:transparent; background-repeat:no-repeat; background-attachment: scroll;
+ background-image:url("zTreeStyle/img/zTreeStandard.png");}
+
+.apiDetail button.chk {width:13px; height:13px; margin:0 3px 2px 0; cursor: auto}
+.apiDetail button.chk.checkbox_false_full {background-position:0 0}
+.apiDetail button.chk.checkbox_false_full_focus {background-position:0 -14px}
+.apiDetail button.chk.checkbox_false_part {background-position:0 -28px}
+.apiDetail button.chk.checkbox_false_part_focus {background-position:0 -42px}
+.apiDetail button.chk.checkbox_true_full {background-position:-14px 0}
+.apiDetail button.chk.checkbox_true_full_focus {background-position:-14px -14px}
+.apiDetail button.chk.checkbox_true_part {background-position:-14px -28px}
+.apiDetail button.chk.checkbox_true_part_focus {background-position:-14px -42px}
+.apiDetail button.chk.radio_false_full {background-position:-28px 0}
+.apiDetail button.chk.radio_false_full_focus {background-position:-28px -14px}
+.apiDetail button.chk.radio_false_part {background-position:-28px -28px}
+.apiDetail button.chk.radio_false_part_focus {background-position:-28px -42px}
+.apiDetail button.chk.radio_true_full {background-position:-42px 0}
+.apiDetail button.chk.radio_true_full_focus {background-position:-42px -14px}
+.apiDetail button.chk.radio_true_part {background-position:-42px -28px}
.apiDetail button.chk.radio_true_part_focus {background-position:-42px -42px}
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/apiCss/common_ie6.css b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/apiCss/common_ie6.css index aacaf59c..4fa6d450 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/apiCss/common_ie6.css +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/apiCss/common_ie6.css @@ -1,23 +1,23 @@ -* html{ -/* background-image:url(about:blank);*/ - background-attachment:fixed; -} -html pre {word-wrap: break-word} -.header {background-image: none;background-color: #F0F6E4;} - -.ieSuggest {display:block;} -.shortcuts button.cn {filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='apiCss/img/chinese.png');background-image: none;} -.shortcuts button.en {filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='apiCss/img/english.png');background-image: none;} - -.light-bulb {filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='apiCss/img/lightbulb.png');background-image: none;} -.contentBox {background-image: none;background-color: #F0F6E4;} -.zTreeInfo {background-image: none;background-color: #F0F6E4;} - -.content button.ico16 {*background-image:url("img/apiMenu.gif")} -.siteTag {background-image: none;} -.apiContent .right {float: right;padding-right: 50px;} - -div.baby_overlay {background-color: #3C6E31;background-image:none;color:#fff;} -div.baby_overlay .close {filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='apiCss/img/overlay_close_IE6.gif');background-image: none;} -.baby_overlay_arrow {background-image:url(img/overlay_arrow.gif);} +* html{
+/* background-image:url(about:blank);*/
+ background-attachment:fixed;
+}
+html pre {word-wrap: break-word}
+.header {background-image: none;background-color: #F0F6E4;}
+
+.ieSuggest {display:block;}
+.shortcuts button.cn {filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='apiCss/img/chinese.png');background-image: none;}
+.shortcuts button.en {filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='apiCss/img/english.png');background-image: none;}
+
+.light-bulb {filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='apiCss/img/lightbulb.png');background-image: none;}
+.contentBox {background-image: none;background-color: #F0F6E4;}
+.zTreeInfo {background-image: none;background-color: #F0F6E4;}
+
+.content button.ico16 {*background-image:url("img/apiMenu.gif")}
+.siteTag {background-image: none;}
+.apiContent .right {float: right;padding-right: 50px;}
+
+div.baby_overlay {background-color: #3C6E31;background-image:none;color:#fff;}
+div.baby_overlay .close {filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='apiCss/img/overlay_close_IE6.gif');background-image: none;}
+.baby_overlay_arrow {background-image:url(img/overlay_arrow.gif);}
.apiDetail button {background-image:url("img/zTreeStandard.gif")}
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/apiCss/jquery-1.6.2.min.js b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/apiCss/jquery-1.6.2.min.js index 8cdc80eb..f74dab88 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/apiCss/jquery-1.6.2.min.js +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/apiCss/jquery-1.6.2.min.js @@ -1,18 +1,18 @@ -/*! - * jQuery JavaScript Library v1.6.2 - * http://jquery.com/ - * - * Copyright 2011, John Resig - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * Includes Sizzle.js - * http://sizzlejs.com/ - * Copyright 2011, The Dojo Foundation - * Released under the MIT, BSD, and GPL Licenses. - * - * Date: Thu Jun 30 14:16:56 2011 -0400 - */ -(function(a,b){function cv(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cs(a){if(!cg[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ch||(ch=c.createElement("iframe"),ch.frameBorder=ch.width=ch.height=0),b.appendChild(ch);if(!ci||!ch.createElement)ci=(ch.contentWindow||ch.contentDocument).document,ci.write((c.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>"),ci.close();d=ci.createElement(a),ci.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ch)}cg[a]=e}return cg[a]}function cr(a,b){var c={};f.each(cm.concat.apply([],cm.slice(0,b)),function(){c[this]=a});return c}function cq(){cn=b}function cp(){setTimeout(cq,0);return cn=f.now()}function cf(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ce(){try{return new a.XMLHttpRequest}catch(b){}}function b$(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function bZ(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function bY(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bC.test(a)?d(a,e):bY(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)});else if(!c&&b!=null&&typeof b=="object")for(var e in b)bY(a+"["+e+"]",b[e],c,d);else d(a,b)}function bX(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bR,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=bX(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=bX(a,c,d,e,"*",g));return l}function bW(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bN),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bA(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?bv:bw;if(d>0){c!=="border"&&f.each(e,function(){c||(d-=parseFloat(f.css(a,"padding"+this))||0),c==="margin"?d+=parseFloat(f.css(a,c+this))||0:d-=parseFloat(f.css(a,"border"+this+"Width"))||0});return d+"px"}d=bx(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0,c&&f.each(e,function(){d+=parseFloat(f.css(a,"padding"+this))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+this+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+this))||0)});return d+"px"}function bm(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(be,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bl(a){f.nodeName(a,"input")?bk(a):"getElementsByTagName"in a&&f.grep(a.getElementsByTagName("input"),bk)}function bk(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bj(a){return"getElementsByTagName"in a?a.getElementsByTagName("*"):"querySelectorAll"in a?a.querySelectorAll("*"):[]}function bi(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bh(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c=f.expando,d=f.data(a),e=f.data(b,d);if(d=d[c]){var g=d.events;e=e[c]=f.extend({},d);if(g){delete e.handle,e.events={};for(var h in g)for(var i=0,j=g[h].length;i<j;i++)f.event.add(b,h+(g[h][i].namespace?".":"")+g[h][i].namespace,g[h][i],g[h][i].data)}}}}function bg(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function W(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(R.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function V(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function N(a,b){return(a&&a!=="*"?a+".":"")+b.replace(z,"`").replace(A,"&")}function M(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;i<s.length;i++)g=s[i],g.origType.replace(x,"")===a.type?q.push(g.selector):s.splice(i--,1);e=f(a.target).closest(q,a.currentTarget);for(j=0,k=e.length;j<k;j++){m=e[j];for(i=0;i<s.length;i++){g=s[i];if(m.selector===g.selector&&(!n||n.test(g.namespace))&&!m.elem.disabled){h=m.elem,d=null;if(g.preType==="mouseenter"||g.preType==="mouseleave")a.type=g.preType,d=f(a.relatedTarget).closest(g.selector)[0],d&&f.contains(h,d)&&(d=h);(!d||d!==h)&&p.push({elem:h,handleObj:g,level:m.level})}}}for(j=0,k=p.length;j<k;j++){e=p[j];if(c&&e.level>c)break;a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function K(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function E(){return!0}function D(){return!1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function k(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(j,"$1-$2").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d:parseFloat(d)}catch(g){}f.data(a,c,d)}else d=b}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function J(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=/-([a-z])/ig,x=function(a,b){return b.toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6.2",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;A.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!A){A=e._Deferred();if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a);return c===b||D.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(b,c,d){a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),d=c.documentElement,(!d||!d.nodeName||d.nodeName==="parsererror")&&e.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:G?function(a){return a==null?"":G.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?E.call(c,a):e.merge(c,a)}return c},inArray:function(a,b){if(H)return H.call(b,a);for(var c=0,d=b.length;c<d;c++)if(b[c]===a)return c;return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=F.call(arguments,2),g=function(){return a.apply(c,f.concat(F.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h){var i=a.length;if(typeof c=="object"){for(var j in c)e.access(a,j,c[j],f,g,d);return a}if(d!==b){f=!h&&f&&e.isFunction(d);for(var k=0;k<i;k++)g(a[k],c,f?d.call(a[k],k,g(a[k],c)):d,h);return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=s.exec(a)||t.exec(a)||u.exec(a)||a.indexOf("compatible")<0&&v.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){I["[object "+b+"]"]=b.toLowerCase()}),z=e.uaMatch(y),z.browser&&(e.browser[z.browser]=!0,e.browser.version=z.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?B=function(){c.removeEventListener("DOMContentLoaded",B,!1),e.ready()}:c.attachEvent&&(B=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",B),e.ready())});return e}(),g="done fail isResolved isRejected promise then always pipe".split(" "),h=[].slice;f.extend({_Deferred:function(){var a=[],b,c,d,e={done:function(){if(!d){var c=arguments,g,h,i,j,k;b&&(k=b,b=0);for(g=0,h=c.length;g<h;g++)i=c[g],j=f.type(i),j==="array"?e.done.apply(e,i):j==="function"&&a.push(i);k&&e.resolveWith(k[0],k[1])}return this},resolveWith:function(e,f){if(!d&&!b&&!c){f=f||[],c=1;try{while(a[0])a.shift().apply(e,f)}finally{b=[e,f],c=0}}return this},resolve:function(){e.resolveWith(this,arguments);return this},isResolved:function(){return!!c||!!b},cancel:function(){d=1,a=[];return this}};return e},Deferred:function(a){var b=f._Deferred(),c=f._Deferred(),d;f.extend(b,{then:function(a,c){b.done(a).fail(c);return this},always:function(){return b.done.apply(b,arguments).fail.apply(this,arguments)},fail:c.done,rejectWith:c.resolveWith,reject:c.resolve,isRejected:c.isResolved,pipe:function(a,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[c,"reject"]},function(a,c){var e=c[0],g=c[1],h;f.isFunction(e)?b[a](function(){h=e.apply(this,arguments),h&&f.isFunction(h.promise)?h.promise().then(d.resolve,d.reject):d[g](h)}):b[a](d[g])})}).promise()},promise:function(a){if(a==null){if(d)return d;d=a={}}var c=g.length;while(c--)a[g[c]]=b[g[c]];return a}}),b.done(c.cancel).fail(b.cancel),delete b.cancel,a&&a.call(b,b);return b},when:function(a){function i(a){return function(c){b[a]=arguments.length>1?h.call(arguments,0):c,--e||g.resolveWith(g,h.call(b,0))}}var b=arguments,c=0,d=b.length,e=d,g=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred();if(d>1){for(;c<d;c++)b[c]&&f.isFunction(b[c].promise)?b[c].promise().then(i(c),g.reject):--e;e||g.resolveWith(g,b)}else g!==a&&g.resolveWith(g,d?[a]:[]);return g.promise()}}),f.support=function(){var a=c.createElement("div"),b=c.documentElement,d,e,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;a.setAttribute("className","t"),a.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=a.getElementsByTagName("input")[0],k={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55$/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:a.className!=="t",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,k.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,k.optDisabled=!h.disabled;try{delete a.test}catch(v){k.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function(){k.noCloneEvent=!1}),a.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),k.radioValue=i.value==="t",i.setAttribute("checked","checked"),a.appendChild(i),l=c.createDocumentFragment(),l.appendChild(a.firstChild),k.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",m=c.getElementsByTagName("body")[0],o=c.createElement(m?"div":"body"),p={visibility:"hidden",width:0,height:0,border:0,margin:0},m&&f.extend(p,{position:"absolute",left:-1e3,top:-1e3});for(t in p)o.style[t]=p[t];o.appendChild(a),n=m||b,n.insertBefore(o,n.firstChild),k.appendChecked=i.checked,k.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,k.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="<div style='width:4px;'></div>",k.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>",q=a.getElementsByTagName("td"),u=q[0].offsetHeight===0,q[0].style.display="",q[1].style.display="none",k.reliableHiddenOffsets=u&&q[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",a.appendChild(j),k.reliableMarginRight=(parseInt((c.defaultView.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0),o.innerHTML="",n.removeChild(o);if(a.attachEvent)for(t in{submit:1,change:1,focusin:1})s="on"+t,u=s in a,u||(a.setAttribute(s,"return;"),u=typeof a[s]=="function"),k[t+"Bubbles"]=u;o=l=g=h=m=j=a=i=null;return k}(),f.boxModel=f.support.boxModel;var i=/^(?:\{.*\}|\[.*\])$/,j=/([a-z])([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!l(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g=f.expando,h=typeof c=="string",i,j=a.nodeType,k=j?f.cache:a,l=j?a[f.expando]:a[f.expando]&&f.expando;if((!l||e&&l&&!k[l][g])&&h&&d===b)return;l||(j?a[f.expando]=l=++f.uuid:l=f.expando),k[l]||(k[l]={},j||(k[l].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?k[l][g]=f.extend(k[l][g],c):k[l]=f.extend(k[l],c);i=k[l],e&&(i[g]||(i[g]={}),i=i[g]),d!==b&&(i[f.camelCase(c)]=d);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[f.camelCase(c)]||i[c]:i}},removeData:function(b,c,d){if(!!f.acceptData(b)){var e=f.expando,g=b.nodeType,h=g?f.cache:b,i=g?b[f.expando]:f.expando;if(!h[i])return;if(c){var j=d?h[i][e]:h[i];if(j){delete j[c];if(!l(j))return}}if(d){delete h[i][e];if(!l(h[i]))return}var k=h[i][e];f.support.deleteExpando||h!=a?delete h[i]:h[i]=null,k?(h[i]={},g||(h[i].toJSON=f.noop),h[i][e]=k):g&&(f.support.deleteExpando?delete b[f.expando]:b.removeAttribute?b.removeAttribute(f.expando):b[f.expando]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d=null;if(typeof a=="undefined"){if(this.length){d=f.data(this[0]);if(this[0].nodeType===1){var e=this[0].attributes,g;for(var h=0,i=e.length;h<i;h++)g=e[h].name,g.indexOf("data-")===0&&(g=f.camelCase(g.substring(5)),k(this[0],g,d[g]))}}return d}if(typeof a=="object")return this.each(function(){f.data(this,a)});var j=a.split(".");j[1]=j[1]?"."+j[1]:"";if(c===b){d=this.triggerHandler("getData"+j[1]+"!",[j[0]]),d===b&&this.length&&(d=f.data(this[0],a),d=k(this[0],a,d));return d===b&&j[1]?this.data(j[0]):d}return this.each(function(){var b=f(this),d=[j[0],c];b.triggerHandler("setData"+j[1]+"!",d),f.data(this,a,c),b.triggerHandler("changeData"+j[1]+"!",d)})},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,c){a&&(c=(c||"fx")+"mark",f.data(a,c,(f.data(a,c,b,!0)||0)+1,!0))},_unmark:function(a,c,d){a!==!0&&(d=c,c=a,a=!1);if(c){d=d||"fx";var e=d+"mark",g=a?0:(f.data(c,e,b,!0)||1)-1;g?f.data(c,e,g,!0):(f.removeData(c,e,!0),m(c,d,"mark"))}},queue:function(a,c,d){if(a){c=(c||"fx")+"queue";var e=f.data(a,c,b,!0);d&&(!e||f.isArray(d)?e=f.data(a,c,f.makeArray(d),!0):e.push(d));return e||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e;d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),d.call(a,function(){f.dequeue(a,b)})),c.length||(f.removeData(a,b+"queue",!0),m(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){typeof a!="string"&&(c=a,a="fx");if(c===b)return f.queue(this[0],a);return this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(){var c=this;setTimeout(function(){f.dequeue(c,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f._Deferred(),!0))h++,l.done(m);m();return d.promise()}});var n=/[\n\t\r]/g,o=/\s+/,p=/\r/g,q=/^(?:button|input)$/i,r=/^(?:button|input|object|select|textarea)$/i,s=/^a(?:rea)?$/i,t=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,u=/\:|^on/,v,w;f.fn.extend({attr:function(a,b){return f.access(this,a,b,!0,f.attr)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,a,b,!0,f.prop)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(o);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{g=" "+e.className+" ";for(h=0,i=b.length;h<i;h++)~g.indexOf(" "+b[h]+" ")||(g+=b[h]+" ");e.className=f.trim(g)}}}return this},removeClass:function(a){var c,d,e,g,h,i,j;if(f.isFunction(a))return this.each(function(b){f(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(o);for(d=0,e=this.length;d<e;d++){g=this[d];if(g.nodeType===1&&g.className)if(a){h=(" "+g.className+" ").replace(n," ");for(i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.each(function(c){f(this).toggleClass(a.call(this,c,this.className,b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(o);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ";for(var c=0,d=this.length;c<d;c++)if((" "+this[c].className+" ").replace(n," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e=this[0];if(!arguments.length){if(e){c=f.valHooks[e.nodeName.toLowerCase()]||f.valHooks[e.type];if(c&&"get"in c&&(d=c.get(e,"value"))!==b)return d;d=e.value;return typeof d=="string"?d.replace(p,""):d==null?"":d}return b}var g=f.isFunction(a);return this.each(function(d){var e=f(this),h;if(this.nodeType===1){g?h=a.call(this,d,e.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c=a.selectedIndex,d=[],e=a.options,g=a.type==="select-one";if(c<0)return null;for(var h=g?c:0,i=g?c+1:e.length;h<i;h++){var j=e[h];if(j.selected&&(f.support.optDisabled?!j.disabled:j.getAttribute("disabled")===null)&&(!j.parentNode.disabled||!f.nodeName(j.parentNode,"optgroup"))){b=f(j).val();if(g)return b;d.push(b)}}if(g&&!d.length&&e.length)return f(e[c]).val();return d},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attrFix:{tabindex:"tabIndex"},attr:function(a,c,d,e){var g=a.nodeType;if(!a||g===3||g===8||g===2)return b;if(e&&c in f.attrFn)return f(a)[c](d);if(!("getAttribute"in a))return f.prop(a,c,d);var h,i,j=g!==1||!f.isXMLDoc(a);j&&(c=f.attrFix[c]||c,i=f.attrHooks[c],i||(t.test(c)?i=w:v&&c!=="className"&&(f.nodeName(a,"form")||u.test(c))&&(i=v)));if(d!==b){if(d===null){f.removeAttr(a,c);return b}if(i&&"set"in i&&j&&(h=i.set(a,d,c))!==b)return h;a.setAttribute(c,""+d);return d}if(i&&"get"in i&&j&&(h=i.get(a,c))!==null)return h;h=a.getAttribute(c);return h===null?b:h},removeAttr:function(a,b){var c;a.nodeType===1&&(b=f.attrFix[b]||b,f.support.getSetAttribute?a.removeAttribute(b):(f.attr(a,b,""),a.removeAttributeNode(a.getAttributeNode(b))),t.test(b)&&(c=f.propFix[b]||b)in a&&(a[c]=!1))},attrHooks:{type:{set:function(a,b){if(q.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},tabIndex:{get:function(a){var c=a.getAttributeNode("tabIndex");return c&&c.specified?parseInt(c.value,10):r.test(a.nodeName)||s.test(a.nodeName)&&a.href?0:b}},value:{get:function(a,b){if(v&&f.nodeName(a,"button"))return v.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(v&&f.nodeName(a,"button"))return v.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e=a.nodeType;if(!a||e===3||e===8||e===2)return b;var g,h,i=e!==1||!f.isXMLDoc(a);i&&(c=f.propFix[c]||c,h=f.propHooks[c]);return d!==b?h&&"set"in h&&(g=h.set(a,d,c))!==b?g:a[c]=d:h&&"get"in h&&(g=h.get(a,c))!==b?g:a[c]},propHooks:{}}),w={get:function(a,c){return f.prop(a,c)?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},f.support.getSetAttribute||(f.attrFix=f.propFix,v=f.attrHooks.name=f.attrHooks.title=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&d.nodeValue!==""?d.nodeValue:b},set:function(a,b,c){var d=a.getAttributeNode(c);if(d){d.nodeValue=b;return b}}},f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})})),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}})),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var x=/\.(.*)$/,y=/^(?:textarea|input|select)$/i,z=/\./g,A=/ /g,B=/[^\w\s.|`]/g,C=function(a){return a.replace(B,"\\$&")};f.event={add:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){if(d===!1)d=D;else if(!d)return;var g,h;d.handler&&(g=d,d=g.handler),d.guid||(d.guid=f.guid++);var i=f._data(a);if(!i)return;var j=i.events,k=i.handle;j||(i.events=j={}),k||(i.handle=k=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.handle.apply(k.elem,arguments):b}),k.elem=a,c=c.split(" ");var l,m=0,n;while(l=c[m++]){h=g?f.extend({},g):{handler:d,data:e},l.indexOf(".")>-1?(n=l.split("."),l=n.shift(),h.namespace=n.slice(0).sort().join(".")):(n=[],h.namespace=""),h.type=l,h.guid||(h.guid=d.guid);var o=j[l],p=f.event.special[l]||{};if(!o){o=j[l]=[];if(!p.setup||p.setup.call(a,e,n,k)===!1)a.addEventListener?a.addEventListener(l,k,!1):a.attachEvent&&a.attachEvent("on"+l,k)}p.add&&(p.add.call(a,h),h.handler.guid||(h.handler.guid=d.guid)),o.push(h),f.event.global[l]=!0}a=null}},global:{},remove:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){d===!1&&(d=D);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=f.hasData(a)&&f._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(d=c.handler,c=c.type);if(!c||typeof c=="string"&&c.charAt(0)==="."){c=c||"";for(h in t)f.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+f.map(m.slice(0).sort(),C).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!d){for(j=0;j<p.length;j++){q=p[j];if(l||n.test(q.namespace))f.event.remove(a,r,q.handler,j),p.splice(j--,1)}continue}o=f.event.special[h]||{};for(j=e||0;j<p.length;j++){q=p[j];if(d.guid===q.guid){if(l||n.test(q.namespace))e==null&&p.splice(j--,1),o.remove&&o.remove.call(a,q);if(e!=null)break}}if(p.length===0||e!=null&&p.length===1)(!o.teardown||o.teardown.call(a,m)===!1)&&f.removeEvent(a,h,s.handle),g=null,delete t[h]}if(f.isEmptyObject(t)){var u=s.handle;u&&(u.elem=null),delete s.events,delete s.handle,f.isEmptyObject(s)&&f.removeData(a,b,!0)}}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){var h=c.type||c,i=[],j;h.indexOf("!")>=0&&(h=h.slice(0,-1),j=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i. -shift(),i.sort());if(!!e&&!f.event.customEvent[h]||!!f.event.global[h]){c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.exclusive=j,c.namespace=i.join("."),c.namespace_re=new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)");if(g||!e)c.preventDefault(),c.stopPropagation();if(!e){f.each(f.cache,function(){var a=f.expando,b=this[a];b&&b.events&&b.events[h]&&f.event.trigger(c,d,b.handle.elem)});return}if(e.nodeType===3||e.nodeType===8)return;c.result=b,c.target=e,d=d!=null?f.makeArray(d):[],d.unshift(c);var k=e,l=h.indexOf(":")<0?"on"+h:"";do{var m=f._data(k,"handle");c.currentTarget=k,m&&m.apply(k,d),l&&f.acceptData(k)&&k[l]&&k[l].apply(k,d)===!1&&(c.result=!1,c.preventDefault()),k=k.parentNode||k.ownerDocument||k===c.target.ownerDocument&&a}while(k&&!c.isPropagationStopped());if(!c.isDefaultPrevented()){var n,o=f.event.special[h]||{};if((!o._default||o._default.call(e.ownerDocument,c)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)){try{l&&e[h]&&(n=e[l],n&&(e[l]=null),f.event.triggered=h,e[h]())}catch(p){}n&&(e[l]=n),f.event.triggered=b}}return c.result}},handle:function(c){c=f.event.fix(c||a.event);var d=((f._data(this,"events")||{})[c.type]||[]).slice(0),e=!c.exclusive&&!c.namespace,g=Array.prototype.slice.call(arguments,0);g[0]=c,c.currentTarget=this;for(var h=0,i=d.length;h<i;h++){var j=d[h];if(e||c.namespace_re.test(j.namespace)){c.handler=j.handler,c.data=j.data,c.handleObj=j;var k=j.handler.apply(this,g);k!==b&&(c.result=k,k===!1&&(c.preventDefault(),c.stopPropagation()));if(c.isImmediatePropagationStopped())break}}return c.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(a){if(a[f.expando])return a;var d=a;a=f.Event(d);for(var e=this.props.length,g;e;)g=this.props[--e],a[g]=d[g];a.target||(a.target=a.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),!a.relatedTarget&&a.fromElement&&(a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement);if(a.pageX==null&&a.clientX!=null){var h=a.target.ownerDocument||c,i=h.documentElement,j=h.body;a.pageX=a.clientX+(i&&i.scrollLeft||j&&j.scrollLeft||0)-(i&&i.clientLeft||j&&j.clientLeft||0),a.pageY=a.clientY+(i&&i.scrollTop||j&&j.scrollTop||0)-(i&&i.clientTop||j&&j.clientTop||0)}a.which==null&&(a.charCode!=null||a.keyCode!=null)&&(a.which=a.charCode!=null?a.charCode:a.keyCode),!a.metaKey&&a.ctrlKey&&(a.metaKey=a.ctrlKey),!a.which&&a.button!==b&&(a.which=a.button&1?1:a.button&2?3:a.button&4?2:0);return a},guid:1e8,proxy:f.proxy,special:{ready:{setup:f.bindReady,teardown:f.noop},live:{add:function(a){f.event.add(this,N(a.origType,a.selector),f.extend({},a,{handler:M,guid:a.handler.guid}))},remove:function(a){f.event.remove(this,N(a.origType,a.selector),a)}},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}}},f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!this.preventDefault)return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?E:D):this.type=a,b&&f.extend(this,b),this.timeStamp=f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=E;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=E;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=E,this.stopPropagation()},isDefaultPrevented:D,isPropagationStopped:D,isImmediatePropagationStopped:D};var F=function(a){var b=a.relatedTarget,c=!1,d=a.type;a.type=a.data,b!==this&&(b&&(c=f.contains(this,b)),c||(f.event.handle.apply(this,arguments),a.type=d))},G=function(a){a.type=a.data,f.event.handle.apply(this,arguments)};f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={setup:function(c){f.event.add(this,b,c&&c.selector?G:F,a)},teardown:function(a){f.event.remove(this,b,a&&a.selector?G:F)}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(a,b){if(!f.nodeName(this,"form"))f.event.add(this,"click.specialSubmit",function(a){var b=a.target,c=b.type;(c==="submit"||c==="image")&&f(b).closest("form").length&&K("submit",this,arguments)}),f.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,c=b.type;(c==="text"||c==="password")&&f(b).closest("form").length&&a.keyCode===13&&K("submit",this,arguments)});else return!1},teardown:function(a){f.event.remove(this,".specialSubmit")}});if(!f.support.changeBubbles){var H,I=function(a){var b=a.type,c=a.value;b==="radio"||b==="checkbox"?c=a.checked:b==="select-multiple"?c=a.selectedIndex>-1?f.map(a.options,function(a){return a.selected}).join("-"):"":f.nodeName(a,"select")&&(c=a.selectedIndex);return c},J=function(c){var d=c.target,e,g;if(!!y.test(d.nodeName)&&!d.readOnly){e=f._data(d,"_change_data"),g=I(d),(c.type!=="focusout"||d.type!=="radio")&&f._data(d,"_change_data",g);if(e===b||g===e)return;if(e!=null||g)c.type="change",c.liveFired=b,f.event.trigger(c,arguments[1],d)}};f.event.special.change={filters:{focusout:J,beforedeactivate:J,click:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(c==="radio"||c==="checkbox"||f.nodeName(b,"select"))&&J.call(this,a)},keydown:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(a.keyCode===13&&!f.nodeName(b,"textarea")||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&J.call(this,a)},beforeactivate:function(a){var b=a.target;f._data(b,"_change_data",I(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in H)f.event.add(this,c+".specialChange",H[c]);return y.test(this.nodeName)},teardown:function(a){f.event.remove(this,".specialChange");return y.test(this.nodeName)}},H=f.event.special.change.filters,H.focus=H.beforeactivate}f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){function e(a){var c=f.event.fix(a);c.type=b,c.originalEvent={},f.event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var d=0;f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.each(["bind","one"],function(a,c){f.fn[c]=function(a,d,e){var g;if(typeof a=="object"){for(var h in a)this[c](h,d,a[h],e);return this}if(arguments.length===2||d===!1)e=d,d=b;c==="one"?(g=function(a){f(this).unbind(a,g);return e.apply(this,arguments)},g.guid=e.guid||f.guid++):g=e;if(a==="unload"&&c!=="one")this.one(a,d,e);else for(var i=0,j=this.length;i<j;i++)f.event.add(this[i],a,g,d);return this}}),f.fn.extend({unbind:function(a,b){if(typeof a=="object"&&!a.preventDefault)for(var c in a)this.unbind(c,a[c]);else for(var d=0,e=this.length;d<e;d++)f.event.remove(this[d],a,b);return this},delegate:function(a,b,c,d){return this.live(b,c,d,a)},undelegate:function(a,b,c){return arguments.length===0?this.unbind("live"):this.die(b,null,c,a)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f.data(this,"lastToggle"+a.guid)||0)%d;f.data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var L={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};f.each(["live","die"],function(a,c){f.fn[c]=function(a,d,e,g){var h,i=0,j,k,l,m=g||this.selector,n=g?this:f(this.context);if(typeof a=="object"&&!a.preventDefault){for(var o in a)n[c](o,d,a[o],m);return this}if(c==="die"&&!a&&g&&g.charAt(0)==="."){n.unbind(g);return this}if(d===!1||f.isFunction(d))e=d||D,d=b;a=(a||"").split(" ");while((h=a[i++])!=null){j=x.exec(h),k="",j&&(k=j[0],h=h.replace(x,""));if(h==="hover"){a.push("mouseenter"+k,"mouseleave"+k);continue}l=h,L[h]?(a.push(L[h]+k),h=h+k):h=(L[h]||h)+k;if(c==="live")for(var p=0,q=n.length;p<q;p++)f.event.add(n[p],"live."+N(h,m),{data:d,selector:m,handler:e,origType:h,origHandler:e,preType:l});else n.unbind("live."+N(h,m),e)}return this}}),f.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}if(i.nodeType===1){f||(i.sizcache=c,i.sizset=g);if(typeof b!="string"){if(i===b){j=!0;break}}else if(k.filter(b,[i]).length>0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}i.nodeType===1&&!f&&(i.sizcache=c,i.sizset=g);if(i.nodeName.toLowerCase()===b){j=i;break}i=i[a]}d[g]=j}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d=0,e=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,f,g){f=f||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return f;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(e.call(n)==="[object Array]")if(!u)f.push.apply(f,n);else if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&f.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&f.push(j[t]);else p(n,f);o&&(k(o,h,f,g),k.uniqueSort(f));return f};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},k.matches=function(a,b){return k(a,null,null,b)},k.matchesSelector=function(a,b){return k(b,null,null,[a]).length>0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e<f;e++){var g,h=l.order[e];if(g=l.leftMatch[h].exec(a)){var j=g[1];g.splice(1,1);if(j.substr(j.length-1)!=="\\"){g[1]=(g[1]||"").replace(i,""),d=l.find[h](g,b,c);if(d!=null){a=a.replace(l.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},k.filter=function(a,c,d,e){var f,g,h=a,i=[],j=c,m=c&&c[0]&&k.isXML(c[0]);while(a&&c.length){for(var n in l.filter)if((f=l.leftMatch[n].exec(a))!=null&&f[2]){var o,p,q=l.filter[n],r=f[1];g=!1,f.splice(1,1);if(r.substr(r.length-1)==="\\")continue;j===i&&(i=[]);if(l.preFilter[n]){f=l.preFilter[n](f,j,d,i,e,m);if(!f)g=o=!0;else if(f===!0)continue}if(f)for(var s=0;(p=j[s])!=null;s++)if(p){o=q(p,f,s,j);var t=e^!!o;d&&o!=null?t?g=!0:j[s]=!1:t&&(i.push(p),g=!0)}if(o!==b){d||(j=i),a=a.replace(l.match[n],"");if(!g)return[];break}}if(a===h)if(g==null)k.error(a);else break;h=a}return j},k.error=function(a){throw"Syntax error, unrecognized expression: "+a};var l=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!j.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&k.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&k.filter(b,a,!0)}},"":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("parentNode",b,f,a,e,c)},"~":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("previousSibling",b,f,a,e,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(i,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=d++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}k.error(e)},CHILD:function(a,b){var c=b[1],d=a;switch(c){case"only":case"first":while(d=d.previousSibling)if(d.nodeType===1)return!1;if(c==="first")return!0;d=a;case"last":while(d=d.nextSibling)if(d.nodeType===1)return!1;return!0;case"nth":var e=b[2],f=b[3];if(e===1&&f===0)return!0;var g=b[0],h=a.parentNode;if(h&&(h.sizcache!==g||!a.nodeIndex)){var i=0;for(d=h.firstChild;d;d=d.nextSibling)d.nodeType===1&&(d.nodeIndex=++i);h.sizcache=g}var j=a.nodeIndex-f;return e===0?j===0:j%e===0&&j/e>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(e.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var f=a.length;c<f;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var r,s;c.documentElement.compareDocumentPosition?r=function(a,b){if(a===b){g=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(r=function(a,b){if(a===b){g=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],h=a.parentNode,i=b.parentNode,j=h;if(h===i)return s(a,b);if(!h)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return s(e[k],f[k]);return k===c?s(a,f[k],-1):s(e[k],b,1)},s=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),k.getText=function(a){var b="",c;for(var d=0;a[d];d++)c=a[d],c.nodeType===3||c.nodeType===4?b+=c.nodeValue:c.nodeType!==8&&(b+=k.getText(c.childNodes));return b},function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(e||!l.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return k(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g<h;g++)k(a,f[g],d);return k.filter(e,d)};f.find=k,f.expr=k.selectors,f.expr[":"]=f.expr.filters,f.unique=k.uniqueSort,f.text=k.getText,f.isXMLDoc=k.isXML,f.contains=k.contains}();var O=/Until$/,P=/^(?:parents|prevUntil|prevAll)/,Q=/,/,R=/^.[^:#\[\.,]*$/,S=Array.prototype.slice,T=f.expr.match.POS,U={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(W(this,a,!1),"not",a)},filter:function(a){return this.pushStack(W(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(d=0,e=a.length;d<e;d++)i=a[d],j[i]||(j[i]=T.test(i)?f(i,b||this.context):i);while(g&&g.ownerDocument&&g!==b){for(i in j)h=j[i],(h.jquery?h.index(g)>-1:f(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=T.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(l?l.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a||typeof a=="string")return f.inArray(this[0],a?f(a):this.parent().children());return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(V(c[0])||V(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c),g=S.call(arguments);O.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!U[a]?f.unique(e):e,(this.length>1||Q.test(d))&&P.test(a)&&(e=e.reverse());return this.pushStack(e,a,g.join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var X=/ jQuery\d+="(?:\d+|null)"/g,Y=/^\s+/,Z=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,$=/<([\w:]+)/,_=/<tbody/i,ba=/<|&#?\w+;/,bb=/<(?:script|object|embed|option|style)/i,bc=/checked\s*(?:[^=]|=\s*.checked.)/i,bd=/\/(java|ecma)script/i,be=/^\s*<!(?:\[CDATA\[|\-\-)/,bf={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};bf.optgroup=bf.option,bf.tbody=bf.tfoot=bf.colgroup=bf.caption=bf.thead,bf.th=bf.td,f.support.htmlSerialize||(bf._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){f(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(X,""):null;if(typeof a=="string"&&!bb.test(a)&&(f.support.leadingWhitespace||!Y.test(a))&&!bf[($.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Z,"<$1></$2>");try{for(var c=0,d=this.length;c<d;c++)this[c].nodeType===1&&(f.cleanData(this[c].getElementsByTagName("*")),this[c].innerHTML=a)}catch(e){this.empty().append(a)}}else f.isFunction(a)?this.each(function(b){var c=f(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a))return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))});typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bc.test(j))return this.each(function(){f(this).domManip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bg(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,bm)}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i;b&&b[0]&&(i=b[0].ownerDocument||b[0]),i.createDocumentFragment||(i=c),a.length===1&&typeof a[0]=="string"&&a[0].length<512&&i===c&&a[0].charAt(0)==="<"&&!bb.test(a[0])&&(f.support.checkClone||!bc.test(a[0]))&&(g=!0,h=f.fragments[a[0]],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[a[0]]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j +/*!
+ * jQuery JavaScript Library v1.6.2
+ * http://jquery.com/
+ *
+ * Copyright 2011, John Resig
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ * Copyright 2011, The Dojo Foundation
+ * Released under the MIT, BSD, and GPL Licenses.
+ *
+ * Date: Thu Jun 30 14:16:56 2011 -0400
+ */
+(function(a,b){function cv(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cs(a){if(!cg[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ch||(ch=c.createElement("iframe"),ch.frameBorder=ch.width=ch.height=0),b.appendChild(ch);if(!ci||!ch.createElement)ci=(ch.contentWindow||ch.contentDocument).document,ci.write((c.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>"),ci.close();d=ci.createElement(a),ci.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ch)}cg[a]=e}return cg[a]}function cr(a,b){var c={};f.each(cm.concat.apply([],cm.slice(0,b)),function(){c[this]=a});return c}function cq(){cn=b}function cp(){setTimeout(cq,0);return cn=f.now()}function cf(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ce(){try{return new a.XMLHttpRequest}catch(b){}}function b$(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function bZ(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function bY(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bC.test(a)?d(a,e):bY(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)});else if(!c&&b!=null&&typeof b=="object")for(var e in b)bY(a+"["+e+"]",b[e],c,d);else d(a,b)}function bX(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bR,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=bX(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=bX(a,c,d,e,"*",g));return l}function bW(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bN),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bA(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?bv:bw;if(d>0){c!=="border"&&f.each(e,function(){c||(d-=parseFloat(f.css(a,"padding"+this))||0),c==="margin"?d+=parseFloat(f.css(a,c+this))||0:d-=parseFloat(f.css(a,"border"+this+"Width"))||0});return d+"px"}d=bx(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0,c&&f.each(e,function(){d+=parseFloat(f.css(a,"padding"+this))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+this+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+this))||0)});return d+"px"}function bm(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(be,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bl(a){f.nodeName(a,"input")?bk(a):"getElementsByTagName"in a&&f.grep(a.getElementsByTagName("input"),bk)}function bk(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bj(a){return"getElementsByTagName"in a?a.getElementsByTagName("*"):"querySelectorAll"in a?a.querySelectorAll("*"):[]}function bi(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bh(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c=f.expando,d=f.data(a),e=f.data(b,d);if(d=d[c]){var g=d.events;e=e[c]=f.extend({},d);if(g){delete e.handle,e.events={};for(var h in g)for(var i=0,j=g[h].length;i<j;i++)f.event.add(b,h+(g[h][i].namespace?".":"")+g[h][i].namespace,g[h][i],g[h][i].data)}}}}function bg(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function W(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(R.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function V(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function N(a,b){return(a&&a!=="*"?a+".":"")+b.replace(z,"`").replace(A,"&")}function M(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;i<s.length;i++)g=s[i],g.origType.replace(x,"")===a.type?q.push(g.selector):s.splice(i--,1);e=f(a.target).closest(q,a.currentTarget);for(j=0,k=e.length;j<k;j++){m=e[j];for(i=0;i<s.length;i++){g=s[i];if(m.selector===g.selector&&(!n||n.test(g.namespace))&&!m.elem.disabled){h=m.elem,d=null;if(g.preType==="mouseenter"||g.preType==="mouseleave")a.type=g.preType,d=f(a.relatedTarget).closest(g.selector)[0],d&&f.contains(h,d)&&(d=h);(!d||d!==h)&&p.push({elem:h,handleObj:g,level:m.level})}}}for(j=0,k=p.length;j<k;j++){e=p[j];if(c&&e.level>c)break;a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function K(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function E(){return!0}function D(){return!1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function k(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(j,"$1-$2").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d:parseFloat(d)}catch(g){}f.data(a,c,d)}else d=b}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function J(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=/-([a-z])/ig,x=function(a,b){return b.toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6.2",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;A.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!A){A=e._Deferred();if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a);return c===b||D.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(b,c,d){a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),d=c.documentElement,(!d||!d.nodeName||d.nodeName==="parsererror")&&e.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:G?function(a){return a==null?"":G.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?E.call(c,a):e.merge(c,a)}return c},inArray:function(a,b){if(H)return H.call(b,a);for(var c=0,d=b.length;c<d;c++)if(b[c]===a)return c;return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=F.call(arguments,2),g=function(){return a.apply(c,f.concat(F.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h){var i=a.length;if(typeof c=="object"){for(var j in c)e.access(a,j,c[j],f,g,d);return a}if(d!==b){f=!h&&f&&e.isFunction(d);for(var k=0;k<i;k++)g(a[k],c,f?d.call(a[k],k,g(a[k],c)):d,h);return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=s.exec(a)||t.exec(a)||u.exec(a)||a.indexOf("compatible")<0&&v.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){I["[object "+b+"]"]=b.toLowerCase()}),z=e.uaMatch(y),z.browser&&(e.browser[z.browser]=!0,e.browser.version=z.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?B=function(){c.removeEventListener("DOMContentLoaded",B,!1),e.ready()}:c.attachEvent&&(B=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",B),e.ready())});return e}(),g="done fail isResolved isRejected promise then always pipe".split(" "),h=[].slice;f.extend({_Deferred:function(){var a=[],b,c,d,e={done:function(){if(!d){var c=arguments,g,h,i,j,k;b&&(k=b,b=0);for(g=0,h=c.length;g<h;g++)i=c[g],j=f.type(i),j==="array"?e.done.apply(e,i):j==="function"&&a.push(i);k&&e.resolveWith(k[0],k[1])}return this},resolveWith:function(e,f){if(!d&&!b&&!c){f=f||[],c=1;try{while(a[0])a.shift().apply(e,f)}finally{b=[e,f],c=0}}return this},resolve:function(){e.resolveWith(this,arguments);return this},isResolved:function(){return!!c||!!b},cancel:function(){d=1,a=[];return this}};return e},Deferred:function(a){var b=f._Deferred(),c=f._Deferred(),d;f.extend(b,{then:function(a,c){b.done(a).fail(c);return this},always:function(){return b.done.apply(b,arguments).fail.apply(this,arguments)},fail:c.done,rejectWith:c.resolveWith,reject:c.resolve,isRejected:c.isResolved,pipe:function(a,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[c,"reject"]},function(a,c){var e=c[0],g=c[1],h;f.isFunction(e)?b[a](function(){h=e.apply(this,arguments),h&&f.isFunction(h.promise)?h.promise().then(d.resolve,d.reject):d[g](h)}):b[a](d[g])})}).promise()},promise:function(a){if(a==null){if(d)return d;d=a={}}var c=g.length;while(c--)a[g[c]]=b[g[c]];return a}}),b.done(c.cancel).fail(b.cancel),delete b.cancel,a&&a.call(b,b);return b},when:function(a){function i(a){return function(c){b[a]=arguments.length>1?h.call(arguments,0):c,--e||g.resolveWith(g,h.call(b,0))}}var b=arguments,c=0,d=b.length,e=d,g=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred();if(d>1){for(;c<d;c++)b[c]&&f.isFunction(b[c].promise)?b[c].promise().then(i(c),g.reject):--e;e||g.resolveWith(g,b)}else g!==a&&g.resolveWith(g,d?[a]:[]);return g.promise()}}),f.support=function(){var a=c.createElement("div"),b=c.documentElement,d,e,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;a.setAttribute("className","t"),a.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=a.getElementsByTagName("input")[0],k={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55$/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:a.className!=="t",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,k.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,k.optDisabled=!h.disabled;try{delete a.test}catch(v){k.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function(){k.noCloneEvent=!1}),a.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),k.radioValue=i.value==="t",i.setAttribute("checked","checked"),a.appendChild(i),l=c.createDocumentFragment(),l.appendChild(a.firstChild),k.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",m=c.getElementsByTagName("body")[0],o=c.createElement(m?"div":"body"),p={visibility:"hidden",width:0,height:0,border:0,margin:0},m&&f.extend(p,{position:"absolute",left:-1e3,top:-1e3});for(t in p)o.style[t]=p[t];o.appendChild(a),n=m||b,n.insertBefore(o,n.firstChild),k.appendChecked=i.checked,k.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,k.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="<div style='width:4px;'></div>",k.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>",q=a.getElementsByTagName("td"),u=q[0].offsetHeight===0,q[0].style.display="",q[1].style.display="none",k.reliableHiddenOffsets=u&&q[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",a.appendChild(j),k.reliableMarginRight=(parseInt((c.defaultView.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0),o.innerHTML="",n.removeChild(o);if(a.attachEvent)for(t in{submit:1,change:1,focusin:1})s="on"+t,u=s in a,u||(a.setAttribute(s,"return;"),u=typeof a[s]=="function"),k[t+"Bubbles"]=u;o=l=g=h=m=j=a=i=null;return k}(),f.boxModel=f.support.boxModel;var i=/^(?:\{.*\}|\[.*\])$/,j=/([a-z])([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!l(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g=f.expando,h=typeof c=="string",i,j=a.nodeType,k=j?f.cache:a,l=j?a[f.expando]:a[f.expando]&&f.expando;if((!l||e&&l&&!k[l][g])&&h&&d===b)return;l||(j?a[f.expando]=l=++f.uuid:l=f.expando),k[l]||(k[l]={},j||(k[l].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?k[l][g]=f.extend(k[l][g],c):k[l]=f.extend(k[l],c);i=k[l],e&&(i[g]||(i[g]={}),i=i[g]),d!==b&&(i[f.camelCase(c)]=d);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[f.camelCase(c)]||i[c]:i}},removeData:function(b,c,d){if(!!f.acceptData(b)){var e=f.expando,g=b.nodeType,h=g?f.cache:b,i=g?b[f.expando]:f.expando;if(!h[i])return;if(c){var j=d?h[i][e]:h[i];if(j){delete j[c];if(!l(j))return}}if(d){delete h[i][e];if(!l(h[i]))return}var k=h[i][e];f.support.deleteExpando||h!=a?delete h[i]:h[i]=null,k?(h[i]={},g||(h[i].toJSON=f.noop),h[i][e]=k):g&&(f.support.deleteExpando?delete b[f.expando]:b.removeAttribute?b.removeAttribute(f.expando):b[f.expando]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d=null;if(typeof a=="undefined"){if(this.length){d=f.data(this[0]);if(this[0].nodeType===1){var e=this[0].attributes,g;for(var h=0,i=e.length;h<i;h++)g=e[h].name,g.indexOf("data-")===0&&(g=f.camelCase(g.substring(5)),k(this[0],g,d[g]))}}return d}if(typeof a=="object")return this.each(function(){f.data(this,a)});var j=a.split(".");j[1]=j[1]?"."+j[1]:"";if(c===b){d=this.triggerHandler("getData"+j[1]+"!",[j[0]]),d===b&&this.length&&(d=f.data(this[0],a),d=k(this[0],a,d));return d===b&&j[1]?this.data(j[0]):d}return this.each(function(){var b=f(this),d=[j[0],c];b.triggerHandler("setData"+j[1]+"!",d),f.data(this,a,c),b.triggerHandler("changeData"+j[1]+"!",d)})},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,c){a&&(c=(c||"fx")+"mark",f.data(a,c,(f.data(a,c,b,!0)||0)+1,!0))},_unmark:function(a,c,d){a!==!0&&(d=c,c=a,a=!1);if(c){d=d||"fx";var e=d+"mark",g=a?0:(f.data(c,e,b,!0)||1)-1;g?f.data(c,e,g,!0):(f.removeData(c,e,!0),m(c,d,"mark"))}},queue:function(a,c,d){if(a){c=(c||"fx")+"queue";var e=f.data(a,c,b,!0);d&&(!e||f.isArray(d)?e=f.data(a,c,f.makeArray(d),!0):e.push(d));return e||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e;d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),d.call(a,function(){f.dequeue(a,b)})),c.length||(f.removeData(a,b+"queue",!0),m(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){typeof a!="string"&&(c=a,a="fx");if(c===b)return f.queue(this[0],a);return this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(){var c=this;setTimeout(function(){f.dequeue(c,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f._Deferred(),!0))h++,l.done(m);m();return d.promise()}});var n=/[\n\t\r]/g,o=/\s+/,p=/\r/g,q=/^(?:button|input)$/i,r=/^(?:button|input|object|select|textarea)$/i,s=/^a(?:rea)?$/i,t=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,u=/\:|^on/,v,w;f.fn.extend({attr:function(a,b){return f.access(this,a,b,!0,f.attr)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,a,b,!0,f.prop)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(o);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{g=" "+e.className+" ";for(h=0,i=b.length;h<i;h++)~g.indexOf(" "+b[h]+" ")||(g+=b[h]+" ");e.className=f.trim(g)}}}return this},removeClass:function(a){var c,d,e,g,h,i,j;if(f.isFunction(a))return this.each(function(b){f(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(o);for(d=0,e=this.length;d<e;d++){g=this[d];if(g.nodeType===1&&g.className)if(a){h=(" "+g.className+" ").replace(n," ");for(i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.each(function(c){f(this).toggleClass(a.call(this,c,this.className,b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(o);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ";for(var c=0,d=this.length;c<d;c++)if((" "+this[c].className+" ").replace(n," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e=this[0];if(!arguments.length){if(e){c=f.valHooks[e.nodeName.toLowerCase()]||f.valHooks[e.type];if(c&&"get"in c&&(d=c.get(e,"value"))!==b)return d;d=e.value;return typeof d=="string"?d.replace(p,""):d==null?"":d}return b}var g=f.isFunction(a);return this.each(function(d){var e=f(this),h;if(this.nodeType===1){g?h=a.call(this,d,e.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c=a.selectedIndex,d=[],e=a.options,g=a.type==="select-one";if(c<0)return null;for(var h=g?c:0,i=g?c+1:e.length;h<i;h++){var j=e[h];if(j.selected&&(f.support.optDisabled?!j.disabled:j.getAttribute("disabled")===null)&&(!j.parentNode.disabled||!f.nodeName(j.parentNode,"optgroup"))){b=f(j).val();if(g)return b;d.push(b)}}if(g&&!d.length&&e.length)return f(e[c]).val();return d},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attrFix:{tabindex:"tabIndex"},attr:function(a,c,d,e){var g=a.nodeType;if(!a||g===3||g===8||g===2)return b;if(e&&c in f.attrFn)return f(a)[c](d);if(!("getAttribute"in a))return f.prop(a,c,d);var h,i,j=g!==1||!f.isXMLDoc(a);j&&(c=f.attrFix[c]||c,i=f.attrHooks[c],i||(t.test(c)?i=w:v&&c!=="className"&&(f.nodeName(a,"form")||u.test(c))&&(i=v)));if(d!==b){if(d===null){f.removeAttr(a,c);return b}if(i&&"set"in i&&j&&(h=i.set(a,d,c))!==b)return h;a.setAttribute(c,""+d);return d}if(i&&"get"in i&&j&&(h=i.get(a,c))!==null)return h;h=a.getAttribute(c);return h===null?b:h},removeAttr:function(a,b){var c;a.nodeType===1&&(b=f.attrFix[b]||b,f.support.getSetAttribute?a.removeAttribute(b):(f.attr(a,b,""),a.removeAttributeNode(a.getAttributeNode(b))),t.test(b)&&(c=f.propFix[b]||b)in a&&(a[c]=!1))},attrHooks:{type:{set:function(a,b){if(q.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},tabIndex:{get:function(a){var c=a.getAttributeNode("tabIndex");return c&&c.specified?parseInt(c.value,10):r.test(a.nodeName)||s.test(a.nodeName)&&a.href?0:b}},value:{get:function(a,b){if(v&&f.nodeName(a,"button"))return v.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(v&&f.nodeName(a,"button"))return v.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e=a.nodeType;if(!a||e===3||e===8||e===2)return b;var g,h,i=e!==1||!f.isXMLDoc(a);i&&(c=f.propFix[c]||c,h=f.propHooks[c]);return d!==b?h&&"set"in h&&(g=h.set(a,d,c))!==b?g:a[c]=d:h&&"get"in h&&(g=h.get(a,c))!==b?g:a[c]},propHooks:{}}),w={get:function(a,c){return f.prop(a,c)?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},f.support.getSetAttribute||(f.attrFix=f.propFix,v=f.attrHooks.name=f.attrHooks.title=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&d.nodeValue!==""?d.nodeValue:b},set:function(a,b,c){var d=a.getAttributeNode(c);if(d){d.nodeValue=b;return b}}},f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})})),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}})),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var x=/\.(.*)$/,y=/^(?:textarea|input|select)$/i,z=/\./g,A=/ /g,B=/[^\w\s.|`]/g,C=function(a){return a.replace(B,"\\$&")};f.event={add:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){if(d===!1)d=D;else if(!d)return;var g,h;d.handler&&(g=d,d=g.handler),d.guid||(d.guid=f.guid++);var i=f._data(a);if(!i)return;var j=i.events,k=i.handle;j||(i.events=j={}),k||(i.handle=k=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.handle.apply(k.elem,arguments):b}),k.elem=a,c=c.split(" ");var l,m=0,n;while(l=c[m++]){h=g?f.extend({},g):{handler:d,data:e},l.indexOf(".")>-1?(n=l.split("."),l=n.shift(),h.namespace=n.slice(0).sort().join(".")):(n=[],h.namespace=""),h.type=l,h.guid||(h.guid=d.guid);var o=j[l],p=f.event.special[l]||{};if(!o){o=j[l]=[];if(!p.setup||p.setup.call(a,e,n,k)===!1)a.addEventListener?a.addEventListener(l,k,!1):a.attachEvent&&a.attachEvent("on"+l,k)}p.add&&(p.add.call(a,h),h.handler.guid||(h.handler.guid=d.guid)),o.push(h),f.event.global[l]=!0}a=null}},global:{},remove:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){d===!1&&(d=D);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=f.hasData(a)&&f._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(d=c.handler,c=c.type);if(!c||typeof c=="string"&&c.charAt(0)==="."){c=c||"";for(h in t)f.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+f.map(m.slice(0).sort(),C).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!d){for(j=0;j<p.length;j++){q=p[j];if(l||n.test(q.namespace))f.event.remove(a,r,q.handler,j),p.splice(j--,1)}continue}o=f.event.special[h]||{};for(j=e||0;j<p.length;j++){q=p[j];if(d.guid===q.guid){if(l||n.test(q.namespace))e==null&&p.splice(j--,1),o.remove&&o.remove.call(a,q);if(e!=null)break}}if(p.length===0||e!=null&&p.length===1)(!o.teardown||o.teardown.call(a,m)===!1)&&f.removeEvent(a,h,s.handle),g=null,delete t[h]}if(f.isEmptyObject(t)){var u=s.handle;u&&(u.elem=null),delete s.events,delete s.handle,f.isEmptyObject(s)&&f.removeData(a,b,!0)}}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){var h=c.type||c,i=[],j;h.indexOf("!")>=0&&(h=h.slice(0,-1),j=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.
+shift(),i.sort());if(!!e&&!f.event.customEvent[h]||!!f.event.global[h]){c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.exclusive=j,c.namespace=i.join("."),c.namespace_re=new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)");if(g||!e)c.preventDefault(),c.stopPropagation();if(!e){f.each(f.cache,function(){var a=f.expando,b=this[a];b&&b.events&&b.events[h]&&f.event.trigger(c,d,b.handle.elem)});return}if(e.nodeType===3||e.nodeType===8)return;c.result=b,c.target=e,d=d!=null?f.makeArray(d):[],d.unshift(c);var k=e,l=h.indexOf(":")<0?"on"+h:"";do{var m=f._data(k,"handle");c.currentTarget=k,m&&m.apply(k,d),l&&f.acceptData(k)&&k[l]&&k[l].apply(k,d)===!1&&(c.result=!1,c.preventDefault()),k=k.parentNode||k.ownerDocument||k===c.target.ownerDocument&&a}while(k&&!c.isPropagationStopped());if(!c.isDefaultPrevented()){var n,o=f.event.special[h]||{};if((!o._default||o._default.call(e.ownerDocument,c)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)){try{l&&e[h]&&(n=e[l],n&&(e[l]=null),f.event.triggered=h,e[h]())}catch(p){}n&&(e[l]=n),f.event.triggered=b}}return c.result}},handle:function(c){c=f.event.fix(c||a.event);var d=((f._data(this,"events")||{})[c.type]||[]).slice(0),e=!c.exclusive&&!c.namespace,g=Array.prototype.slice.call(arguments,0);g[0]=c,c.currentTarget=this;for(var h=0,i=d.length;h<i;h++){var j=d[h];if(e||c.namespace_re.test(j.namespace)){c.handler=j.handler,c.data=j.data,c.handleObj=j;var k=j.handler.apply(this,g);k!==b&&(c.result=k,k===!1&&(c.preventDefault(),c.stopPropagation()));if(c.isImmediatePropagationStopped())break}}return c.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(a){if(a[f.expando])return a;var d=a;a=f.Event(d);for(var e=this.props.length,g;e;)g=this.props[--e],a[g]=d[g];a.target||(a.target=a.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),!a.relatedTarget&&a.fromElement&&(a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement);if(a.pageX==null&&a.clientX!=null){var h=a.target.ownerDocument||c,i=h.documentElement,j=h.body;a.pageX=a.clientX+(i&&i.scrollLeft||j&&j.scrollLeft||0)-(i&&i.clientLeft||j&&j.clientLeft||0),a.pageY=a.clientY+(i&&i.scrollTop||j&&j.scrollTop||0)-(i&&i.clientTop||j&&j.clientTop||0)}a.which==null&&(a.charCode!=null||a.keyCode!=null)&&(a.which=a.charCode!=null?a.charCode:a.keyCode),!a.metaKey&&a.ctrlKey&&(a.metaKey=a.ctrlKey),!a.which&&a.button!==b&&(a.which=a.button&1?1:a.button&2?3:a.button&4?2:0);return a},guid:1e8,proxy:f.proxy,special:{ready:{setup:f.bindReady,teardown:f.noop},live:{add:function(a){f.event.add(this,N(a.origType,a.selector),f.extend({},a,{handler:M,guid:a.handler.guid}))},remove:function(a){f.event.remove(this,N(a.origType,a.selector),a)}},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}}},f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!this.preventDefault)return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?E:D):this.type=a,b&&f.extend(this,b),this.timeStamp=f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=E;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=E;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=E,this.stopPropagation()},isDefaultPrevented:D,isPropagationStopped:D,isImmediatePropagationStopped:D};var F=function(a){var b=a.relatedTarget,c=!1,d=a.type;a.type=a.data,b!==this&&(b&&(c=f.contains(this,b)),c||(f.event.handle.apply(this,arguments),a.type=d))},G=function(a){a.type=a.data,f.event.handle.apply(this,arguments)};f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={setup:function(c){f.event.add(this,b,c&&c.selector?G:F,a)},teardown:function(a){f.event.remove(this,b,a&&a.selector?G:F)}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(a,b){if(!f.nodeName(this,"form"))f.event.add(this,"click.specialSubmit",function(a){var b=a.target,c=b.type;(c==="submit"||c==="image")&&f(b).closest("form").length&&K("submit",this,arguments)}),f.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,c=b.type;(c==="text"||c==="password")&&f(b).closest("form").length&&a.keyCode===13&&K("submit",this,arguments)});else return!1},teardown:function(a){f.event.remove(this,".specialSubmit")}});if(!f.support.changeBubbles){var H,I=function(a){var b=a.type,c=a.value;b==="radio"||b==="checkbox"?c=a.checked:b==="select-multiple"?c=a.selectedIndex>-1?f.map(a.options,function(a){return a.selected}).join("-"):"":f.nodeName(a,"select")&&(c=a.selectedIndex);return c},J=function(c){var d=c.target,e,g;if(!!y.test(d.nodeName)&&!d.readOnly){e=f._data(d,"_change_data"),g=I(d),(c.type!=="focusout"||d.type!=="radio")&&f._data(d,"_change_data",g);if(e===b||g===e)return;if(e!=null||g)c.type="change",c.liveFired=b,f.event.trigger(c,arguments[1],d)}};f.event.special.change={filters:{focusout:J,beforedeactivate:J,click:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(c==="radio"||c==="checkbox"||f.nodeName(b,"select"))&&J.call(this,a)},keydown:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(a.keyCode===13&&!f.nodeName(b,"textarea")||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&J.call(this,a)},beforeactivate:function(a){var b=a.target;f._data(b,"_change_data",I(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in H)f.event.add(this,c+".specialChange",H[c]);return y.test(this.nodeName)},teardown:function(a){f.event.remove(this,".specialChange");return y.test(this.nodeName)}},H=f.event.special.change.filters,H.focus=H.beforeactivate}f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){function e(a){var c=f.event.fix(a);c.type=b,c.originalEvent={},f.event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var d=0;f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.each(["bind","one"],function(a,c){f.fn[c]=function(a,d,e){var g;if(typeof a=="object"){for(var h in a)this[c](h,d,a[h],e);return this}if(arguments.length===2||d===!1)e=d,d=b;c==="one"?(g=function(a){f(this).unbind(a,g);return e.apply(this,arguments)},g.guid=e.guid||f.guid++):g=e;if(a==="unload"&&c!=="one")this.one(a,d,e);else for(var i=0,j=this.length;i<j;i++)f.event.add(this[i],a,g,d);return this}}),f.fn.extend({unbind:function(a,b){if(typeof a=="object"&&!a.preventDefault)for(var c in a)this.unbind(c,a[c]);else for(var d=0,e=this.length;d<e;d++)f.event.remove(this[d],a,b);return this},delegate:function(a,b,c,d){return this.live(b,c,d,a)},undelegate:function(a,b,c){return arguments.length===0?this.unbind("live"):this.die(b,null,c,a)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f.data(this,"lastToggle"+a.guid)||0)%d;f.data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var L={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};f.each(["live","die"],function(a,c){f.fn[c]=function(a,d,e,g){var h,i=0,j,k,l,m=g||this.selector,n=g?this:f(this.context);if(typeof a=="object"&&!a.preventDefault){for(var o in a)n[c](o,d,a[o],m);return this}if(c==="die"&&!a&&g&&g.charAt(0)==="."){n.unbind(g);return this}if(d===!1||f.isFunction(d))e=d||D,d=b;a=(a||"").split(" ");while((h=a[i++])!=null){j=x.exec(h),k="",j&&(k=j[0],h=h.replace(x,""));if(h==="hover"){a.push("mouseenter"+k,"mouseleave"+k);continue}l=h,L[h]?(a.push(L[h]+k),h=h+k):h=(L[h]||h)+k;if(c==="live")for(var p=0,q=n.length;p<q;p++)f.event.add(n[p],"live."+N(h,m),{data:d,selector:m,handler:e,origType:h,origHandler:e,preType:l});else n.unbind("live."+N(h,m),e)}return this}}),f.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}if(i.nodeType===1){f||(i.sizcache=c,i.sizset=g);if(typeof b!="string"){if(i===b){j=!0;break}}else if(k.filter(b,[i]).length>0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}i.nodeType===1&&!f&&(i.sizcache=c,i.sizset=g);if(i.nodeName.toLowerCase()===b){j=i;break}i=i[a]}d[g]=j}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d=0,e=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,f,g){f=f||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return f;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(e.call(n)==="[object Array]")if(!u)f.push.apply(f,n);else if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&f.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&f.push(j[t]);else p(n,f);o&&(k(o,h,f,g),k.uniqueSort(f));return f};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},k.matches=function(a,b){return k(a,null,null,b)},k.matchesSelector=function(a,b){return k(b,null,null,[a]).length>0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e<f;e++){var g,h=l.order[e];if(g=l.leftMatch[h].exec(a)){var j=g[1];g.splice(1,1);if(j.substr(j.length-1)!=="\\"){g[1]=(g[1]||"").replace(i,""),d=l.find[h](g,b,c);if(d!=null){a=a.replace(l.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},k.filter=function(a,c,d,e){var f,g,h=a,i=[],j=c,m=c&&c[0]&&k.isXML(c[0]);while(a&&c.length){for(var n in l.filter)if((f=l.leftMatch[n].exec(a))!=null&&f[2]){var o,p,q=l.filter[n],r=f[1];g=!1,f.splice(1,1);if(r.substr(r.length-1)==="\\")continue;j===i&&(i=[]);if(l.preFilter[n]){f=l.preFilter[n](f,j,d,i,e,m);if(!f)g=o=!0;else if(f===!0)continue}if(f)for(var s=0;(p=j[s])!=null;s++)if(p){o=q(p,f,s,j);var t=e^!!o;d&&o!=null?t?g=!0:j[s]=!1:t&&(i.push(p),g=!0)}if(o!==b){d||(j=i),a=a.replace(l.match[n],"");if(!g)return[];break}}if(a===h)if(g==null)k.error(a);else break;h=a}return j},k.error=function(a){throw"Syntax error, unrecognized expression: "+a};var l=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!j.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&k.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&k.filter(b,a,!0)}},"":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("parentNode",b,f,a,e,c)},"~":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("previousSibling",b,f,a,e,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(i,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=d++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}k.error(e)},CHILD:function(a,b){var c=b[1],d=a;switch(c){case"only":case"first":while(d=d.previousSibling)if(d.nodeType===1)return!1;if(c==="first")return!0;d=a;case"last":while(d=d.nextSibling)if(d.nodeType===1)return!1;return!0;case"nth":var e=b[2],f=b[3];if(e===1&&f===0)return!0;var g=b[0],h=a.parentNode;if(h&&(h.sizcache!==g||!a.nodeIndex)){var i=0;for(d=h.firstChild;d;d=d.nextSibling)d.nodeType===1&&(d.nodeIndex=++i);h.sizcache=g}var j=a.nodeIndex-f;return e===0?j===0:j%e===0&&j/e>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(e.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var f=a.length;c<f;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var r,s;c.documentElement.compareDocumentPosition?r=function(a,b){if(a===b){g=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(r=function(a,b){if(a===b){g=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],h=a.parentNode,i=b.parentNode,j=h;if(h===i)return s(a,b);if(!h)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return s(e[k],f[k]);return k===c?s(a,f[k],-1):s(e[k],b,1)},s=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),k.getText=function(a){var b="",c;for(var d=0;a[d];d++)c=a[d],c.nodeType===3||c.nodeType===4?b+=c.nodeValue:c.nodeType!==8&&(b+=k.getText(c.childNodes));return b},function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(e||!l.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return k(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g<h;g++)k(a,f[g],d);return k.filter(e,d)};f.find=k,f.expr=k.selectors,f.expr[":"]=f.expr.filters,f.unique=k.uniqueSort,f.text=k.getText,f.isXMLDoc=k.isXML,f.contains=k.contains}();var O=/Until$/,P=/^(?:parents|prevUntil|prevAll)/,Q=/,/,R=/^.[^:#\[\.,]*$/,S=Array.prototype.slice,T=f.expr.match.POS,U={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(W(this,a,!1),"not",a)},filter:function(a){return this.pushStack(W(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(d=0,e=a.length;d<e;d++)i=a[d],j[i]||(j[i]=T.test(i)?f(i,b||this.context):i);while(g&&g.ownerDocument&&g!==b){for(i in j)h=j[i],(h.jquery?h.index(g)>-1:f(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=T.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(l?l.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a||typeof a=="string")return f.inArray(this[0],a?f(a):this.parent().children());return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(V(c[0])||V(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c),g=S.call(arguments);O.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!U[a]?f.unique(e):e,(this.length>1||Q.test(d))&&P.test(a)&&(e=e.reverse());return this.pushStack(e,a,g.join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var X=/ jQuery\d+="(?:\d+|null)"/g,Y=/^\s+/,Z=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,$=/<([\w:]+)/,_=/<tbody/i,ba=/<|&#?\w+;/,bb=/<(?:script|object|embed|option|style)/i,bc=/checked\s*(?:[^=]|=\s*.checked.)/i,bd=/\/(java|ecma)script/i,be=/^\s*<!(?:\[CDATA\[|\-\-)/,bf={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};bf.optgroup=bf.option,bf.tbody=bf.tfoot=bf.colgroup=bf.caption=bf.thead,bf.th=bf.td,f.support.htmlSerialize||(bf._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){f(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(X,""):null;if(typeof a=="string"&&!bb.test(a)&&(f.support.leadingWhitespace||!Y.test(a))&&!bf[($.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Z,"<$1></$2>");try{for(var c=0,d=this.length;c<d;c++)this[c].nodeType===1&&(f.cleanData(this[c].getElementsByTagName("*")),this[c].innerHTML=a)}catch(e){this.empty().append(a)}}else f.isFunction(a)?this.each(function(b){var c=f(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a))return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))});typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bc.test(j))return this.each(function(){f(this).domManip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bg(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,bm)}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i;b&&b[0]&&(i=b[0].ownerDocument||b[0]),i.createDocumentFragment||(i=c),a.length===1&&typeof a[0]=="string"&&a[0].length<512&&i===c&&a[0].charAt(0)==="<"&&!bb.test(a[0])&&(f.support.checkClone||!bc.test(a[0]))&&(g=!0,h=f.fragments[a[0]],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[a[0]]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j
)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d=a.cloneNode(!0),e,g,h;if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bi(a,d),e=bj(a),g=bj(d);for(h=0;e[h];++h)bi(e[h],g[h])}if(b){bh(a,d);if(c){e=bj(a),g=bj(d);for(h=0;e[h];++h)bh(e[h],g[h])}}e=g=null;return d},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!ba.test(k))k=b.createTextNode(k);else{k=k.replace(Z,"<$1></$2>");var l=($.exec(k)||["",""])[1].toLowerCase(),m=bf[l]||bf._default,n=m[0],o=b.createElement("div");o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=_.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]==="<table>"&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&Y.test(k)&&o.insertBefore(b.createTextNode(Y.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i<r;i++)bl(k[i]);else bl(k);k.nodeType?h.push(k):h=f.merge(h,k)}if(d){g=function(a){return!a.type||bd.test(a.type)};for(j=0;h[j];j++)if(e&&f.nodeName(h[j],"script")&&(!h[j].type||h[j].type.toLowerCase()==="text/javascript"))e.push(h[j].parentNode?h[j].parentNode.removeChild(h[j]):h[j]);else{if(h[j].nodeType===1){var s=f.grep(h[j].getElementsByTagName("script"),g);h.splice.apply(h,[j+1,0].concat(s))}d.appendChild(h[j])}}return h},cleanData:function(a){var b,c,d=f.cache,e=f.expando,g=f.event.special,h=f.support.deleteExpando;for(var i=0,j;(j=a[i])!=null;i++){if(j.nodeName&&f.noData[j.nodeName.toLowerCase()])continue;c=j[f.expando];if(c){b=d[c]&&d[c][e];if(b&&b.events){for(var k in b.events)g[k]?f.event.remove(j,k):f.removeEvent(j,k,b.handle);b.handle&&(b.handle.elem=null)}h?delete j[f.expando]:j.removeAttribute&&j.removeAttribute(f.expando),delete d[c]}}}});var bn=/alpha\([^)]*\)/i,bo=/opacity=([^)]*)/,bp=/([A-Z]|^ms)/g,bq=/^-?\d+(?:px)?$/i,br=/^-?\d/,bs=/^[+\-]=/,bt=/[^+\-\.\de]+/g,bu={position:"absolute",visibility:"hidden",display:"block"},bv=["Left","Right"],bw=["Top","Bottom"],bx,by,bz;f.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return f.access(this,a,c,!0,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)})},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bx(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d;if(h==="number"&&isNaN(d)||d==null)return;h==="string"&&bs.test(d)&&(d=+d.replace(bt,"")+parseFloat(f.css(a,c)),h="number"),h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(bx)return bx(a,c)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]}}),f.curCSS=f.css,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){var e;if(c){if(a.offsetWidth!==0)return bA(a,b,d);f.swap(a,bu,function(){e=bA(a,b,d)});return e}},set:function(a,b){if(!bq.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bo.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle;c.zoom=1;var e=f.isNaN(b)?"":"alpha(opacity="+b*100+")",g=d&&d.filter||c.filter||"";c.filter=bn.test(g)?g.replace(bn,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bx(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(by=function(a,c){var d,e,g;c=c.replace(bp,"-$1").toLowerCase();if(!(e=a.ownerDocument.defaultView))return b;if(g=e.getComputedStyle(a,null))d=g.getPropertyValue(c),d===""&&!f.contains(a.ownerDocument.documentElement,a)&&(d=f.style(a,c));return d}),c.documentElement.currentStyle&&(bz=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bq.test(d)&&br.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bx=by||bz,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bB=/%20/g,bC=/\[\]$/,bD=/\r?\n/g,bE=/#.*$/,bF=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bG=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bH=/^(?:about|app|app\-storage|.+\-extension|file|widget):$/,bI=/^(?:GET|HEAD)$/,bJ=/^\/\//,bK=/\?/,bL=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bM=/^(?:select|textarea)/i,bN=/\s+/,bO=/([?&])_=[^&]*/,bP=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bQ=f.fn.load,bR={},bS={},bT,bU;try{bT=e.href}catch(bV){bT=c.createElement("a"),bT.href="",bT=bT.href}bU=bP.exec(bT.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bQ)return bQ.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("<div>").append(c.replace(bL,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bM.test(this.nodeName)||bG.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bD,"\r\n")}}):{name:b.name,value:c.replace(bD,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.bind(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?f.extend(!0,a,f.ajaxSettings,b):(b=a,a=f.extend(!0,f.ajaxSettings,b));for(var c in{context:1,url:1})c in b?a[c]=b[c]:c in f.ajaxSettings&&(a[c]=f.ajaxSettings[c]);return a},ajaxSettings:{url:bT,isLocal:bH.test(bU[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML}},ajaxPrefilter:bW(bR),ajaxTransport:bW(bS),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a?4:0;var o,r,u,w=l?bZ(d,v,l):b,x,y;if(a>=200&&a<300||a===304){if(d.ifModified){if(x=v.getResponseHeader("Last-Modified"))f.lastModified[k]=x;if(y=v.getResponseHeader("Etag"))f.etag[k]=y}if(a===304)c="notmodified",o=!0;else try{r=b$(d,w),c="success",o=!0}catch(z){c="parsererror",u=z}}else{u=c;if(!c||a)c="error",a<0&&(a=0)}v.status=a,v.statusText=c,o?h.resolveWith(e,[r,c,v]):h.rejectWith(e,[v,c,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.resolveWith(e,[v,c]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f._Deferred(),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bF.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.done,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bE,"").replace(bJ,bU[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bN),d.crossDomain==null&&(r=bP.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bU[1]&&r[2]==bU[2]&&(r[3]||(r[1]==="http:"?80:443))==(bU[3]||(bU[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bX(bR,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bI.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bK.test(d.url)?"&":"?")+d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bO,"$1_="+x);d.url=y+(y===d.url?(bK.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", */*; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bX(bS,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){status<2?w(-1,z):f.error(z)}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)bY(g,a[g],c,e);return d.join("&").replace(bB,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var b_=f.now(),ca=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+b_++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ca.test(b.url)||e&&ca.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ca,l),b.url===j&&(e&&(k=k.replace(ca,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cb=a.ActiveXObject?function(){for(var a in cd)cd[a](0,1)}:!1,cc=0,cd;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ce()||cf()}:ce,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cb&&delete cd[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cc,cb&&(cd||(cd={},f(a).unload(cb)),cd[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cg={},ch,ci,cj=/^(?:toggle|show|hide)$/,ck=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cl,cm=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cn,co=a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cr("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)d=this[g],d.style&&(e=d.style.display,!f._data(d,"olddisplay")&&e==="none"&&(e=d.style.display=""),e===""&&f.css(d,"display")==="none"&&f._data(d,"olddisplay",cs(d.nodeName)));for(g=0;g<h;g++){d=this[g];if(d.style){e=d.style.display;if(e===""||e==="none")d.style.display=f._data(d,"olddisplay")||""}}return this},hide:function(a,b,c){if(a||a===0)return this.animate(cr("hide",3),a,b,c);for(var d=0,e=this.length;d<e;d++)if(this[d].style){var g=f.css(this[d],"display");g!=="none"&&!f._data(this[d],"olddisplay")&&f._data(this[d],"olddisplay",g)}for(d=0;d<e;d++)this[d].style&&(this[d].style.display="none");return this},_toggle:f.fn.toggle,toggle:function(a,b,c){var d=typeof a=="boolean";f.isFunction(a)&&f.isFunction(b)?this._toggle.apply(this,arguments):a==null||d?this.each(function(){var b=d?a:f(this).is(":hidden");f(this)[b?"show":"hide"]()}):this.animate(cr("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=f.speed(b,c,d);if(f.isEmptyObject(a))return this.each(e.complete,[!1]);a=f.extend({},a);return this[e.queue===!1?"each":"queue"](function(){e.queue===!1&&f._mark(this);var b=f.extend({},e),c=this.nodeType===1,d=c&&f(this).is(":hidden"),g,h,i,j,k,l,m,n,o;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]),h=a[g],f.isArray(h)?(b.animatedProperties[g]=h[1],h=a[g]=h[0]):b.animatedProperties[g]=b.specialEasing&&b.specialEasing[g]||b.easing||"swing";if(h==="hide"&&d||h==="show"&&!d)return b.complete.call(this);c&&(g==="height"||g==="width")&&(b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY],f.css(this,"display")==="inline"&&f.css(this,"float")==="none"&&(f.support.inlineBlockNeedsLayout?(j=cs(this.nodeName),j==="inline"?this.style.display="inline-block":(this.style.display="inline",this.style.zoom=1)):this.style.display="inline-block"))}b.overflow!=null&&(this.style.overflow="hidden");for(i in a)k=new f.fx(this,b,i),h=a[i],cj.test(h)?k[h==="toggle"?d?"show":"hide":h]():(l=ck.exec(h),m=k.cur(),l?(n=parseFloat(l[2]),o=l[3]||(f.cssNumber[i]?"":"px"),o!=="px"&&(f.style(this,i,(n||1)+o),m=(n||1)/k.cur()*m,f.style(this,i,m+o)),l[1]&&(n=(l[1]==="-="?-1:1)*n+m),k.custom(m,n,o)):k.custom(m,h,""));return!0})},stop:function(a,b){a&&this.queue([]),this.each(function(){var a=f.timers,c=a.length;b||f._unmark(!0,this);while(c--)a[c].elem===this&&(b&&a[c](!0),a.splice(c,1))}),b||this.dequeue();return this}}),f.each({slideDown:cr("show",1),slideUp:cr("hide",1),slideToggle:cr("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){f.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),f.extend({speed:function(a,b,c){var d=a&&typeof a=="object"?f.extend({},a):{complete:c||!c&&b||f.isFunction(a)&&a,duration:a,easing:c&&b||b&&!f.isFunction(b)&&b};d.duration=f.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in f.fx.speeds?f.fx.speeds[d.duration]:f.fx.speeds._default,d.old=d.complete,d.complete=function(a){f.isFunction(d.old)&&d.old.call(this),d.queue!==!1?f.dequeue(this):a!==!1&&f._unmark(this)};return d},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig=b.orig||{}}}),f.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(f.fx.step[this.prop]||f.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=f.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,b,c){function h(a){return d.step(a)}var d=this,e=f.fx,g;this.startTime=cn||cp(),this.start=a,this.end=b,this.unit=c||this.unit||(f.cssNumber[this.prop]?"":"px"),this.now=this.start,this.pos=this.state=0,h.elem=this.elem,h()&&f.timers.push(h)&&!cl&&(co?(cl=!0,g=function(){cl&&(co(g),e.tick())},co(g)):cl=setInterval(e.tick,e.interval))},show:function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.show=!0,this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),f(this.elem).show()},hide:function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b=cn||cp(),c=!0,d=this.elem,e=this.options,g,h;if(a||b>=e.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),e.animatedProperties[this.prop]=!0;for(g in e.animatedProperties)e.animatedProperties[g]!==!0&&(c=!1);if(c){e.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){d.style["overflow"+b]=e.overflow[a]}),e.hide&&f(d).hide();if(e.hide||e.show)for(var i in e.animatedProperties)f.style(d,i,e.orig[i]);e.complete.call(d)}return!1}e.duration==Infinity?this.now=b:(h=b-this.startTime,this.state=h/e.duration,this.pos=f.easing[e.animatedProperties[this.prop]](this.state,h,0,1,e.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){for(var a=f.timers,b=0;b<a.length;++b)a[b]()||a.splice(b--,1);a.length||f.fx.stop()},interval:13,stop:function(){clearInterval(cl),cl=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit:a.elem[a.prop]=a.now}}}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var ct=/^t(?:able|d|h)$/i,cu=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?f.fn.offset=function(a){var b=this[0],c;if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);try{c=b.getBoundingClientRect()}catch(d){}var e=b.ownerDocument,g=e.documentElement;if(!c||!f.contains(g,b))return c?{top:c.top,left:c.left}:{top:0,left:0};var h=e.body,i=cv(e),j=g.clientTop||h.clientTop||0,k=g.clientLeft||h.clientLeft||0,l=i.pageYOffset||f.support.boxModel&&g.scrollTop||h.scrollTop,m=i.pageXOffset||f.support.boxModel&&g.scrollLeft||h.scrollLeft,n=c.top+l-j,o=c.left+m-k;return{top:n,left:o}}:f.fn.offset=function(a){var b=this[0];if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);f.offset.initialize();var c,d=b.offsetParent,e=b,g=b.ownerDocument,h=g.documentElement,i=g.body,j=g.defaultView,k=j?j.getComputedStyle(b,null):b.currentStyle,l=b.offsetTop,m=b.offsetLeft;while((b=b.parentNode)&&b!==i&&b!==h){if(f.offset.supportsFixedPosition&&k.position==="fixed")break;c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===d&&(l+=b.offsetTop,m+=b.offsetLeft,f.offset.doesNotAddBorder&&(!f.offset.doesAddBorderForTableAndCells||!ct.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),e=d,d=b.offsetParent),f.offset.subtractsBorderForOverflowNotVisible&&c.overflow!=="visible"&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),k=c}if(k.position==="relative"||k.position==="static")l+=i.offsetTop,m+=i.offsetLeft;f.offset.supportsFixedPosition&&k.position==="fixed"&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft));return{top:l,left:m}},f.offset={initialize:function(){var a=c.body,b=c.createElement("div"),d,e,g,h,i=parseFloat(f.css(a,"marginTop"))||0,j="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";f.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),d=b.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,this.doesNotAddBorder=e.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,e.style.position="fixed",e.style.top="20px",this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),f.offset.initialize=f.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.offset.initialize(),f.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cu.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cu.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cv(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cv(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a&&a.style?parseFloat(f.css(a,d,"padding")):null},f.fn["outer"+c]=function(a){var b=this[0];return b&&b.style?parseFloat(f.css(b,d,a?"margin":"border")):null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c];return e.document.compatMode==="CSS1Compat"&&g||e.document.body["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var h=f.css(e,d),i=parseFloat(h);return f.isNaN(i)?h:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f})(window);
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/apiCss/jquery.ztree.core-3.5.js b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/apiCss/jquery.ztree.core-3.5.js index 705bdb4f..061499c7 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/apiCss/jquery.ztree.core-3.5.js +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/apiCss/jquery.ztree.core-3.5.js @@ -1,69 +1,69 @@ -/* - * JQuery zTree core v3.5.16 - * http://zTree.me/ - * - * Copyright (c) 2010 Hunter.z - * - * Licensed same as jquery - MIT License - * http://www.opensource.org/licenses/mit-license.php - * - * email: hunter.z@263.net - * Date: 2014-03-09 - */ -(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, -[a,c,g])});a.bind(c.CLICK,function(a,c,g,l,h){j.apply(b.callback.onClick,[c,g,l,h])});a.bind(c.EXPAND,function(a,c,g){j.apply(b.callback.onExpand,[a,c,g])});a.bind(c.COLLAPSE,function(a,c,g){j.apply(b.callback.onCollapse,[a,c,g])});a.bind(c.ASYNC_SUCCESS,function(a,c,g,l){j.apply(b.callback.onAsyncSuccess,[a,c,g,l])});a.bind(c.ASYNC_ERROR,function(a,c,g,l,h,e){j.apply(b.callback.onAsyncError,[a,c,g,l,h,e])});a.bind(c.REMOVE,function(a,c,g){j.apply(b.callback.onRemove,[a,c,g])})}],x=[function(b){var a= -e.event;b.treeObj.unbind(a.NODECREATED).unbind(a.CLICK).unbind(a.EXPAND).unbind(a.COLLAPSE).unbind(a.ASYNC_SUCCESS).unbind(a.ASYNC_ERROR).unbind(a.REMOVE)}],y=[function(b){var a=h.getCache(b);a||(a={},h.setCache(b,a));a.nodes=[];a.doms=[]}],z=[function(b,a,c,d,f,g){if(c){var l=h.getRoot(b),e=b.data.key.children;c.level=a;c.tId=b.treeId+"_"+ ++l.zId;c.parentTId=d?d.tId:null;c.open=typeof c.open=="string"?j.eqs(c.open,"true"):!!c.open;c[e]&&c[e].length>0?(c.isParent=!0,c.zAsync=!0):(c.isParent=typeof c.isParent== -"string"?j.eqs(c.isParent,"true"):!!c.isParent,c.open=c.isParent&&!b.async.enable?c.open:!1,c.zAsync=!c.isParent);c.isFirstNode=f;c.isLastNode=g;c.getParentNode=function(){return h.getNodeCache(b,c.parentTId)};c.getPreNode=function(){return h.getPreNode(b,c)};c.getNextNode=function(){return h.getNextNode(b,c)};c.isAjaxing=!1;h.fixPIdKeyValue(b,c)}}],s=[function(b){var a=b.target,c=h.getSetting(b.data.treeId),d="",f=null,g="",l="",i=null,n=null,k=null;if(j.eqs(b.type,"mousedown"))l="mousedown";else if(j.eqs(b.type, -"mouseup"))l="mouseup";else if(j.eqs(b.type,"contextmenu"))l="contextmenu";else if(j.eqs(b.type,"click"))if(j.eqs(a.tagName,"span")&&a.getAttribute("treeNode"+e.id.SWITCH)!==null)d=j.getNodeMainDom(a).id,g="switchNode";else{if(k=j.getMDom(c,a,[{tagName:"a",attrName:"treeNode"+e.id.A}]))d=j.getNodeMainDom(k).id,g="clickNode"}else if(j.eqs(b.type,"dblclick")&&(l="dblclick",k=j.getMDom(c,a,[{tagName:"a",attrName:"treeNode"+e.id.A}])))d=j.getNodeMainDom(k).id,g="switchNode";if(l.length>0&&d.length==0&& -(k=j.getMDom(c,a,[{tagName:"a",attrName:"treeNode"+e.id.A}])))d=j.getNodeMainDom(k).id;if(d.length>0)switch(f=h.getNodeCache(c,d),g){case "switchNode":f.isParent?j.eqs(b.type,"click")||j.eqs(b.type,"dblclick")&&j.apply(c.view.dblClickExpand,[c.treeId,f],c.view.dblClickExpand)?i=G:g="":g="";break;case "clickNode":i=H}switch(l){case "mousedown":n=I;break;case "mouseup":n=J;break;case "dblclick":n=K;break;case "contextmenu":n=L}return{stop:!1,node:f,nodeEventType:g,nodeEventCallback:i,treeEventType:l, -treeEventCallback:n}}],A=[function(b){var a=h.getRoot(b);a||(a={},h.setRoot(b,a));a[b.data.key.children]=[];a.expandTriggerFlag=!1;a.curSelectedList=[];a.noSelection=!0;a.createdNodes=[];a.zId=0;a._ver=(new Date).getTime()}],B=[],C=[],D=[],E=[],F=[],h={addNodeCache:function(b,a){h.getCache(b).nodes[h.getNodeCacheId(a.tId)]=a},getNodeCacheId:function(b){return b.substring(b.lastIndexOf("_")+1)},addAfterA:function(b){C.push(b)},addBeforeA:function(b){B.push(b)},addInnerAfterA:function(b){E.push(b)}, -addInnerBeforeA:function(b){D.push(b)},addInitBind:function(b){w.push(b)},addInitUnBind:function(b){x.push(b)},addInitCache:function(b){y.push(b)},addInitNode:function(b){z.push(b)},addInitProxy:function(b,a){a?s.splice(0,0,b):s.push(b)},addInitRoot:function(b){A.push(b)},addNodesData:function(b,a,c){var d=b.data.key.children;a[d]||(a[d]=[]);if(a[d].length>0)a[d][a[d].length-1].isLastNode=!1,i.setNodeLineIcos(b,a[d][a[d].length-1]);a.isParent=!0;a[d]=a[d].concat(c)},addSelectedNode:function(b,a){var c= -h.getRoot(b);h.isSelectedNode(b,a)||c.curSelectedList.push(a)},addCreatedNode:function(b,a){(b.callback.onNodeCreated||b.view.addDiyDom)&&h.getRoot(b).createdNodes.push(a)},addZTreeTools:function(b){F.push(b)},exSetting:function(b){p.extend(!0,M,b)},fixPIdKeyValue:function(b,a){b.data.simpleData.enable&&(a[b.data.simpleData.pIdKey]=a.parentTId?a.getParentNode()[b.data.simpleData.idKey]:b.data.simpleData.rootPId)},getAfterA:function(b,a,c){for(var d=0,f=C.length;d<f;d++)C[d].apply(this,arguments)}, -getBeforeA:function(b,a,c){for(var d=0,f=B.length;d<f;d++)B[d].apply(this,arguments)},getInnerAfterA:function(b,a,c){for(var d=0,f=E.length;d<f;d++)E[d].apply(this,arguments)},getInnerBeforeA:function(b,a,c){for(var d=0,f=D.length;d<f;d++)D[d].apply(this,arguments)},getCache:function(b){return v[b.treeId]},getNextNode:function(b,a){if(!a)return null;for(var c=b.data.key.children,d=a.parentTId?a.getParentNode():h.getRoot(b),f=0,g=d[c].length-1;f<=g;f++)if(d[c][f]===a)return f==g?null:d[c][f+1];return null}, -getNodeByParam:function(b,a,c,d){if(!a||!c)return null;for(var f=b.data.key.children,g=0,l=a.length;g<l;g++){if(a[g][c]==d)return a[g];var e=h.getNodeByParam(b,a[g][f],c,d);if(e)return e}return null},getNodeCache:function(b,a){if(!a)return null;var c=v[b.treeId].nodes[h.getNodeCacheId(a)];return c?c:null},getNodeName:function(b,a){return""+a[b.data.key.name]},getNodeTitle:function(b,a){return""+a[b.data.key.title===""?b.data.key.name:b.data.key.title]},getNodes:function(b){return h.getRoot(b)[b.data.key.children]}, -getNodesByParam:function(b,a,c,d){if(!a||!c)return[];for(var f=b.data.key.children,g=[],l=0,e=a.length;l<e;l++)a[l][c]==d&&g.push(a[l]),g=g.concat(h.getNodesByParam(b,a[l][f],c,d));return g},getNodesByParamFuzzy:function(b,a,c,d){if(!a||!c)return[];for(var f=b.data.key.children,g=[],d=d.toLowerCase(),l=0,e=a.length;l<e;l++)typeof a[l][c]=="string"&&a[l][c].toLowerCase().indexOf(d)>-1&&g.push(a[l]),g=g.concat(h.getNodesByParamFuzzy(b,a[l][f],c,d));return g},getNodesByFilter:function(b,a,c,d,f){if(!a)return d? -null:[];for(var g=b.data.key.children,e=d?null:[],i=0,n=a.length;i<n;i++){if(j.apply(c,[a[i],f],!1)){if(d)return a[i];e.push(a[i])}var k=h.getNodesByFilter(b,a[i][g],c,d,f);if(d&&k)return k;e=d?k:e.concat(k)}return e},getPreNode:function(b,a){if(!a)return null;for(var c=b.data.key.children,d=a.parentTId?a.getParentNode():h.getRoot(b),f=0,g=d[c].length;f<g;f++)if(d[c][f]===a)return f==0?null:d[c][f-1];return null},getRoot:function(b){return b?u[b.treeId]:null},getRoots:function(){return u},getSetting:function(b){return r[b]}, -getSettings:function(){return r},getZTreeTools:function(b){return(b=this.getRoot(this.getSetting(b)))?b.treeTools:null},initCache:function(b){for(var a=0,c=y.length;a<c;a++)y[a].apply(this,arguments)},initNode:function(b,a,c,d,f,g){for(var e=0,h=z.length;e<h;e++)z[e].apply(this,arguments)},initRoot:function(b){for(var a=0,c=A.length;a<c;a++)A[a].apply(this,arguments)},isSelectedNode:function(b,a){for(var c=h.getRoot(b),d=0,f=c.curSelectedList.length;d<f;d++)if(a===c.curSelectedList[d])return!0;return!1}, -removeNodeCache:function(b,a){var c=b.data.key.children;if(a[c])for(var d=0,f=a[c].length;d<f;d++)arguments.callee(b,a[c][d]);h.getCache(b).nodes[h.getNodeCacheId(a.tId)]=null},removeSelectedNode:function(b,a){for(var c=h.getRoot(b),d=0,f=c.curSelectedList.length;d<f;d++)if(a===c.curSelectedList[d]||!h.getNodeCache(b,c.curSelectedList[d].tId))c.curSelectedList.splice(d,1),d--,f--},setCache:function(b,a){v[b.treeId]=a},setRoot:function(b,a){u[b.treeId]=a},setZTreeTools:function(b,a){for(var c=0,d= -F.length;c<d;c++)F[c].apply(this,arguments)},transformToArrayFormat:function(b,a){if(!a)return[];var c=b.data.key.children,d=[];if(j.isArray(a))for(var f=0,g=a.length;f<g;f++)d.push(a[f]),a[f][c]&&(d=d.concat(h.transformToArrayFormat(b,a[f][c])));else d.push(a),a[c]&&(d=d.concat(h.transformToArrayFormat(b,a[c])));return d},transformTozTreeFormat:function(b,a){var c,d,f=b.data.simpleData.idKey,g=b.data.simpleData.pIdKey,e=b.data.key.children;if(!f||f==""||!a)return[];if(j.isArray(a)){var h=[],i=[]; -for(c=0,d=a.length;c<d;c++)i[a[c][f]]=a[c];for(c=0,d=a.length;c<d;c++)i[a[c][g]]&&a[c][f]!=a[c][g]?(i[a[c][g]][e]||(i[a[c][g]][e]=[]),i[a[c][g]][e].push(a[c])):h.push(a[c]);return h}else return[a]}},m={bindEvent:function(b){for(var a=0,c=w.length;a<c;a++)w[a].apply(this,arguments)},unbindEvent:function(b){for(var a=0,c=x.length;a<c;a++)x[a].apply(this,arguments)},bindTree:function(b){var a={treeId:b.treeId},c=b.treeObj;b.view.txtSelectedEnable||c.bind("selectstart",function(a){a=a.originalEvent.srcElement.nodeName.toLowerCase(); -return a==="input"||a==="textarea"}).css({"-moz-user-select":"-moz-none"});c.bind("click",a,m.proxy);c.bind("dblclick",a,m.proxy);c.bind("mouseover",a,m.proxy);c.bind("mouseout",a,m.proxy);c.bind("mousedown",a,m.proxy);c.bind("mouseup",a,m.proxy);c.bind("contextmenu",a,m.proxy)},unbindTree:function(b){b.treeObj.unbind("click",m.proxy).unbind("dblclick",m.proxy).unbind("mouseover",m.proxy).unbind("mouseout",m.proxy).unbind("mousedown",m.proxy).unbind("mouseup",m.proxy).unbind("contextmenu",m.proxy)}, -doProxy:function(b){for(var a=[],c=0,d=s.length;c<d;c++){var f=s[c].apply(this,arguments);a.push(f);if(f.stop)break}return a},proxy:function(b){var a=h.getSetting(b.data.treeId);if(!j.uCanDo(a,b))return!0;for(var a=m.doProxy(b),c=!0,d=0,f=a.length;d<f;d++){var g=a[d];g.nodeEventCallback&&(c=g.nodeEventCallback.apply(g,[b,g.node])&&c);g.treeEventCallback&&(c=g.treeEventCallback.apply(g,[b,g.node])&&c)}return c}};G=function(b,a){var c=h.getSetting(b.data.treeId);if(a.open){if(j.apply(c.callback.beforeCollapse, -[c.treeId,a],!0)==!1)return!0}else if(j.apply(c.callback.beforeExpand,[c.treeId,a],!0)==!1)return!0;h.getRoot(c).expandTriggerFlag=!0;i.switchNode(c,a);return!0};H=function(b,a){var c=h.getSetting(b.data.treeId),d=c.view.autoCancelSelected&&(b.ctrlKey||b.metaKey)&&h.isSelectedNode(c,a)?0:c.view.autoCancelSelected&&(b.ctrlKey||b.metaKey)&&c.view.selectedMulti?2:1;if(j.apply(c.callback.beforeClick,[c.treeId,a,d],!0)==!1)return!0;d===0?i.cancelPreSelectedNode(c,a):i.selectNode(c,a,d===2);c.treeObj.trigger(e.event.CLICK, -[b,c.treeId,a,d]);return!0};I=function(b,a){var c=h.getSetting(b.data.treeId);j.apply(c.callback.beforeMouseDown,[c.treeId,a],!0)&&j.apply(c.callback.onMouseDown,[b,c.treeId,a]);return!0};J=function(b,a){var c=h.getSetting(b.data.treeId);j.apply(c.callback.beforeMouseUp,[c.treeId,a],!0)&&j.apply(c.callback.onMouseUp,[b,c.treeId,a]);return!0};K=function(b,a){var c=h.getSetting(b.data.treeId);j.apply(c.callback.beforeDblClick,[c.treeId,a],!0)&&j.apply(c.callback.onDblClick,[b,c.treeId,a]);return!0}; -L=function(b,a){var c=h.getSetting(b.data.treeId);j.apply(c.callback.beforeRightClick,[c.treeId,a],!0)&&j.apply(c.callback.onRightClick,[b,c.treeId,a]);return typeof c.callback.onRightClick!="function"};var j={apply:function(b,a,c){return typeof b=="function"?b.apply(N,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"?arguments.callee(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"?p(b,c?c.treeObj.get(0).ownerDocument:null):p("#"+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,f=c.length;a.tagName&&d<f;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 p(b).parent("li").get(0)||p(b).parentsUntil("li").parent().get(0)},isChildOrSelf:function(b,a){return p(b).closest("#"+a).length>0},uCanDo:function(){return!0}},i={addNodes:function(b,a,c,d){if(!b.data.keep.leaf||!a||a.isParent)if(j.isArray(c)||(c=[c]),b.data.simpleData.enable&&(c=h.transformTozTreeFormat(b,c)),a){var f=k(a,e.id.SWITCH,b),g=k(a,e.id.ICON,b),l=k(a,e.id.UL,b);if(!a.open)i.replaceSwitchClass(a, -f,e.folder.CLOSE),i.replaceIcoClass(a,g,e.folder.CLOSE),a.open=!1,l.css({display:"none"});h.addNodesData(b,a,c);i.createNodes(b,a.level+1,c,a);d||i.expandCollapseParentNode(b,a,!0)}else h.addNodesData(b,h.getRoot(b),c),i.createNodes(b,0,c,null)},appendNodes:function(b,a,c,d,f,g){if(!c)return[];for(var e=[],j=b.data.key.children,k=0,m=c.length;k<m;k++){var o=c[k];if(f){var t=(d?d:h.getRoot(b))[j].length==c.length&&k==0;h.initNode(b,a,o,d,t,k==c.length-1,g);h.addNodeCache(b,o)}t=[];o[j]&&o[j].length> -0&&(t=i.appendNodes(b,a+1,o[j],o,f,g&&o.open));g&&(i.makeDOMNodeMainBefore(e,b,o),i.makeDOMNodeLine(e,b,o),h.getBeforeA(b,o,e),i.makeDOMNodeNameBefore(e,b,o),h.getInnerBeforeA(b,o,e),i.makeDOMNodeIcon(e,b,o),h.getInnerAfterA(b,o,e),i.makeDOMNodeNameAfter(e,b,o),h.getAfterA(b,o,e),o.isParent&&o.open&&i.makeUlHtml(b,o,e,t.join("")),i.makeDOMNodeMainAfter(e,b,o),h.addCreatedNode(b,o))}return e},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 f=k(a,e.id.UL,b);f.get(0)&&f.remove();f=i.appendNodes(b,a.level+1,a[b.data.key.children],a,!1,!0);i.makeUlHtml(b,a,c,f.join(""));d.append(c.join(""))},asyncNode:function(b,a,c,d){var f,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,e.id.ICON,b).attr({style:"","class":e.className.BUTTON+" "+e.className.ICO_LOADING});var l={};for(f=0,g=b.async.autoParam.length;a&& -f<g;f++){var q=b.async.autoParam[f].split("="),n=q;q.length>1&&(n=q[1],q=q[0]);l[n]=a[q]}if(j.isArray(b.async.otherParam))for(f=0,g=b.async.otherParam.length;f<g;f+=2)l[b.async.otherParam[f]]=b.async.otherParam[f+1];else for(var m in b.async.otherParam)l[m]=b.async.otherParam[m];var o=h.getRoot(b)._ver;p.ajax({contentType:b.async.contentType,type:b.async.type,url:j.apply(b.async.url,[b.treeId,a],b.async.url),data:l,dataType:b.async.dataType,success:function(f){if(o==h.getRoot(b)._ver){var g=[];try{g= -!f||f.length==0?[]:typeof f=="string"?eval("("+f+")"):f}catch(l){g=f}if(a)a.isAjaxing=null,a.zAsync=!0;i.setNodeLineIcos(b,a);g&&g!==""?(g=j.apply(b.async.dataFilter,[b.treeId,a,g],g),i.addNodes(b,a,g?j.clone(g):[],!!c)):i.addNodes(b,a,[],!!c);b.treeObj.trigger(e.event.ASYNC_SUCCESS,[b.treeId,a,f]);j.apply(d)}},error:function(c,d,f){if(o==h.getRoot(b)._ver){if(a)a.isAjaxing=null;i.setNodeLineIcos(b,a);b.treeObj.trigger(e.event.ASYNC_ERROR,[b.treeId,a,c,d,f])}}});return!0},cancelPreSelectedNode:function(b, -a){for(var c=h.getRoot(b).curSelectedList,d=c.length-1;d>=0;d--)if(!a||a===c[d])if(k(c[d],e.id.A,b).removeClass(e.node.CURSELECTED),a){h.removeSelectedNode(b,a);break}if(!a)h.getRoot(b).curSelectedList=[]},createNodeCallback:function(b){if(b.callback.onNodeCreated||b.view.addDiyDom)for(var a=h.getRoot(b);a.createdNodes.length>0;){var c=a.createdNodes.shift();j.apply(b.view.addDiyDom,[b.treeId,c]);b.callback.onNodeCreated&&b.treeObj.trigger(e.event.NODECREATED,[b.treeId,c])}},createNodes:function(b, -a,c,d){if(c&&c.length!=0){var f=h.getRoot(b),g=b.data.key.children,g=!d||d.open||!!k(d[g][0],b).get(0);f.createdNodes=[];a=i.appendNodes(b,a,c,d,!0,g);d?(d=k(d,e.id.UL,b),d.get(0)&&d.append(a.join(""))):b.treeObj.append(a.join(""));i.createNodeCallback(b)}},destroy:function(b){b&&(h.initCache(b),h.initRoot(b),m.unbindTree(b),m.unbindEvent(b),b.treeObj.empty(),delete r[b.treeId])},expandCollapseNode:function(b,a,c,d,f){var g=h.getRoot(b),l=b.data.key.children;if(a){if(g.expandTriggerFlag){var q=f, -f=function(){q&&q();a.open?b.treeObj.trigger(e.event.EXPAND,[b.treeId,a]):b.treeObj.trigger(e.event.COLLAPSE,[b.treeId,a])};g.expandTriggerFlag=!1}if(!a.open&&a.isParent&&(!k(a,e.id.UL,b).get(0)||a[l]&&a[l].length>0&&!k(a[l][0],b).get(0)))i.appendParentULDom(b,a),i.createNodeCallback(b);if(a.open==c)j.apply(f,[]);else{var c=k(a,e.id.UL,b),g=k(a,e.id.SWITCH,b),n=k(a,e.id.ICON,b);a.isParent?(a.open=!a.open,a.iconOpen&&a.iconClose&&n.attr("style",i.makeNodeIcoStyle(b,a)),a.open?(i.replaceSwitchClass(a, -g,e.folder.OPEN),i.replaceIcoClass(a,n,e.folder.OPEN),d==!1||b.view.expandSpeed==""?(c.show(),j.apply(f,[])):a[l]&&a[l].length>0?c.slideDown(b.view.expandSpeed,f):(c.show(),j.apply(f,[]))):(i.replaceSwitchClass(a,g,e.folder.CLOSE),i.replaceIcoClass(a,n,e.folder.CLOSE),d==!1||b.view.expandSpeed==""||!(a[l]&&a[l].length>0)?(c.hide(),j.apply(f,[])):c.slideUp(b.view.expandSpeed,f))):j.apply(f,[])}}else j.apply(f,[])},expandCollapseParentNode:function(b,a,c,d,f){a&&(a.parentTId?(i.expandCollapseNode(b, -a,c,d),a.parentTId&&i.expandCollapseParentNode(b,a.getParentNode(),c,d,f)):i.expandCollapseNode(b,a,c,d,f))},expandCollapseSonNode:function(b,a,c,d,f){var g=h.getRoot(b),e=b.data.key.children,g=a?a[e]:g[e],e=a?!1:d,j=h.getRoot(b).expandTriggerFlag;h.getRoot(b).expandTriggerFlag=!1;if(g)for(var k=0,m=g.length;k<m;k++)g[k]&&i.expandCollapseSonNode(b,g[k],c,e);h.getRoot(b).expandTriggerFlag=j;i.expandCollapseNode(b,a,c,d,f)},makeDOMNodeIcon:function(b,a,c){var d=h.getNodeName(a,c),d=a.view.nameIsHTML? -d:d.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");b.push("<span id='",c.tId,e.id.ICON,"' title='' treeNode",e.id.ICON," class='",i.makeNodeIcoClass(a,c),"' style='",i.makeNodeIcoStyle(a,c),"'></span><span id='",c.tId,e.id.SPAN,"'>",d,"</span>")},makeDOMNodeLine:function(b,a,c){b.push("<span id='",c.tId,e.id.SWITCH,"' title='' class='",i.makeNodeLineClass(a,c),"' treeNode",e.id.SWITCH,"></span>")},makeDOMNodeMainAfter:function(b){b.push("</li>")},makeDOMNodeMainBefore:function(b, -a,c){b.push("<li id='",c.tId,"' class='",e.className.LEVEL,c.level,"' tabindex='0' hidefocus='true' treenode>")},makeDOMNodeNameAfter:function(b){b.push("</a>")},makeDOMNodeNameBefore:function(b,a,c){var d=h.getNodeTitle(a,c),f=i.makeNodeUrl(a,c),g=i.makeNodeFontCss(a,c),l=[],k;for(k in g)l.push(k,":",g[k],";");b.push("<a id='",c.tId,e.id.A,"' class='",e.className.LEVEL,c.level,"' treeNode",e.id.A,' onclick="',c.click||"",'" ',f!=null&&f.length>0?"href='"+f+"'":""," target='",i.makeNodeTarget(c), -"' style='",l.join(""),"'");j.apply(a.view.showTitle,[a.treeId,c],a.view.showTitle)&&d&&b.push("title='",d.replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">"),"'");b.push(">")},makeNodeFontCss:function(b,a){var c=j.apply(b.view.fontCss,[b.treeId,a],b.view.fontCss);return c&&typeof c!="function"?c:{}},makeNodeIcoClass:function(b,a){var c=["ico"];a.isAjaxing||(c[0]=(a.iconSkin?a.iconSkin+"_":"")+c[0],a.isParent?c.push(a.open?e.folder.OPEN:e.folder.CLOSE):c.push(e.folder.DOCU));return e.className.BUTTON+ -" "+c.join("_")},makeNodeIcoStyle:function(b,a){var c=[];if(!a.isAjaxing){var d=a.isParent&&a.iconOpen&&a.iconClose?a.open?a.iconOpen:a.iconClose:a.icon;d&&c.push("background:url(",d,") 0 0 no-repeat;");(b.view.showIcon==!1||!j.apply(b.view.showIcon,[b.treeId,a],!0))&&c.push("width:0px;height:0px;")}return c.join("")},makeNodeLineClass:function(b,a){var c=[];b.view.showLine?a.level==0&&a.isFirstNode&&a.isLastNode?c.push(e.line.ROOT):a.level==0&&a.isFirstNode?c.push(e.line.ROOTS):a.isLastNode?c.push(e.line.BOTTOM): -c.push(e.line.CENTER):c.push(e.line.NOLINE);a.isParent?c.push(a.open?e.folder.OPEN:e.folder.CLOSE):c.push(e.folder.DOCU);return i.makeNodeLineClassEx(a)+c.join("_")},makeNodeLineClassEx:function(b){return e.className.BUTTON+" "+e.className.LEVEL+b.level+" "+e.className.SWITCH+" "},makeNodeTarget:function(b){return b.target||"_blank"},makeNodeUrl:function(b,a){var c=b.data.key.url;return a[c]?a[c]:null},makeUlHtml:function(b,a,c,d){c.push("<ul id='",a.tId,e.id.UL,"' class='",e.className.LEVEL,a.level, -" ",i.makeUlLineClass(b,a),"' style='display:",a.open?"block":"none","'>");c.push(d);c.push("</ul>")},makeUlLineClass:function(b,a){return b.view.showLine&&!a.isLastNode?e.line.LINE:""},removeChildNodes:function(b,a){if(a){var c=b.data.key.children,d=a[c];if(d){for(var f=0,g=d.length;f<g;f++)h.removeNodeCache(b,d[f]);h.removeSelectedNode(b);delete a[c];b.data.keep.parent?k(a,e.id.UL,b).empty():(a.isParent=!1,a.open=!1,c=k(a,e.id.SWITCH,b),d=k(a,e.id.ICON,b),i.replaceSwitchClass(a,c,e.folder.DOCU), -i.replaceIcoClass(a,d,e.folder.DOCU),k(a,e.id.UL,b).remove())}}},setFirstNode:function(b,a){var c=b.data.key.children;if(a[c].length>0)a[c][0].isFirstNode=!0},setLastNode:function(b,a){var c=b.data.key.children,d=a[c].length;if(d>0)a[c][d-1].isLastNode=!0},removeNode:function(b,a){var c=h.getRoot(b),d=b.data.key.children,f=a.parentTId?a.getParentNode():c;a.isFirstNode=!1;a.isLastNode=!1;a.getPreNode=function(){return null};a.getNextNode=function(){return null};if(h.getNodeCache(b,a.tId)){k(a,b).remove(); -h.removeNodeCache(b,a);h.removeSelectedNode(b,a);for(var g=0,l=f[d].length;g<l;g++)if(f[d][g].tId==a.tId){f[d].splice(g,1);break}i.setFirstNode(b,f);i.setLastNode(b,f);var j,g=f[d].length;if(!b.data.keep.parent&&g==0)f.isParent=!1,f.open=!1,g=k(f,e.id.UL,b),l=k(f,e.id.SWITCH,b),j=k(f,e.id.ICON,b),i.replaceSwitchClass(f,l,e.folder.DOCU),i.replaceIcoClass(f,j,e.folder.DOCU),g.css("display","none");else if(b.view.showLine&&g>0){var n=f[d][g-1],g=k(n,e.id.UL,b),l=k(n,e.id.SWITCH,b);j=k(n,e.id.ICON,b); -f==c?f[d].length==1?i.replaceSwitchClass(n,l,e.line.ROOT):(c=k(f[d][0],e.id.SWITCH,b),i.replaceSwitchClass(f[d][0],c,e.line.ROOTS),i.replaceSwitchClass(n,l,e.line.BOTTOM)):i.replaceSwitchClass(n,l,e.line.BOTTOM);g.removeClass(e.line.LINE)}}},replaceIcoClass:function(b,a,c){if(a&&!b.isAjaxing&&(b=a.attr("class"),b!=void 0)){b=b.split("_");switch(c){case e.folder.OPEN:case e.folder.CLOSE:case e.folder.DOCU:b[b.length-1]=c}a.attr("class",b.join("_"))}},replaceSwitchClass:function(b,a,c){if(a){var d= -a.attr("class");if(d!=void 0){d=d.split("_");switch(c){case e.line.ROOT:case e.line.ROOTS:case e.line.CENTER:case e.line.BOTTOM:case e.line.NOLINE:d[0]=i.makeNodeLineClassEx(b)+c;break;case e.folder.OPEN:case e.folder.CLOSE:case e.folder.DOCU:d[1]=c}a.attr("class",d.join("_"));c!==e.folder.DOCU?a.removeAttr("disabled"):a.attr("disabled","disabled")}}},selectNode:function(b,a,c){c||i.cancelPreSelectedNode(b);k(a,e.id.A,b).addClass(e.node.CURSELECTED);h.addSelectedNode(b,a)},setNodeFontCss:function(b, -a){var c=k(a,e.id.A,b),d=i.makeNodeFontCss(b,a);d&&c.css(d)},setNodeLineIcos:function(b,a){if(a){var c=k(a,e.id.SWITCH,b),d=k(a,e.id.UL,b),f=k(a,e.id.ICON,b),g=i.makeUlLineClass(b,a);g.length==0?d.removeClass(e.line.LINE):d.addClass(g);c.attr("class",i.makeNodeLineClass(b,a));a.isParent?c.removeAttr("disabled"):c.attr("disabled","disabled");f.removeAttr("style");f.attr("style",i.makeNodeIcoStyle(b,a));f.attr("class",i.makeNodeIcoClass(b,a))}},setNodeName:function(b,a){var c=h.getNodeTitle(b,a),d= -k(a,e.id.SPAN,b);d.empty();b.view.nameIsHTML?d.html(h.getNodeName(b,a)):d.text(h.getNodeName(b,a));j.apply(b.view.showTitle,[b.treeId,a],b.view.showTitle)&&k(a,e.id.A,b).attr("title",!c?"":c)},setNodeTarget:function(b,a){k(a,e.id.A,b).attr("target",i.makeNodeTarget(a))},setNodeUrl:function(b,a){var c=k(a,e.id.A,b),d=i.makeNodeUrl(b,a);d==null||d.length==0?c.removeAttr("href"):c.attr("href",d)},switchNode:function(b,a){a.open||!j.canAsync(b,a)?i.expandCollapseNode(b,a,!a.open):b.async.enable?i.asyncNode(b, -a)||i.expandCollapseNode(b,a,!a.open):a&&i.expandCollapseNode(b,a,!a.open)}};p.fn.zTree={consts:{className:{BUTTON:"button",LEVEL:"level",ICO_LOADING:"ico_loading",SWITCH:"switch"},event:{NODECREATED:"ztree_nodeCreated",CLICK:"ztree_click",EXPAND:"ztree_expand",COLLAPSE:"ztree_collapse",ASYNC_SUCCESS:"ztree_async_success",ASYNC_ERROR:"ztree_async_error",REMOVE:"ztree_remove"},id:{A:"_a",ICON:"_ico",SPAN:"_span",SWITCH:"_switch",UL:"_ul"},line:{ROOT:"root",ROOTS:"roots",CENTER:"center",BOTTOM:"bottom", -NOLINE:"noline",LINE:"line"},folder:{OPEN:"open",CLOSE:"close",DOCU:"docu"},node:{CURSELECTED:"curSelectedNode"}},_z:{tools:j,view:i,event:m,data:h},getZTreeObj:function(b){return(b=h.getZTreeTools(b))?b:null},destroy:function(b){if(b&&b.length>0)i.destroy(h.getSetting(b));else for(var a in r)i.destroy(r[a])},init:function(b,a,c){var d=j.clone(M);p.extend(!0,d,a);d.treeId=b.attr("id");d.treeObj=b;d.treeObj.empty();r[d.treeId]=d;if(typeof document.body.style.maxHeight==="undefined")d.view.expandSpeed= -"";h.initRoot(d);b=h.getRoot(d);a=d.data.key.children;c=c?j.clone(j.isArray(c)?c:[c]):[];b[a]=d.data.simpleData.enable?h.transformTozTreeFormat(d,c):c;h.initCache(d);m.unbindTree(d);m.bindTree(d);m.unbindEvent(d);m.bindEvent(d);c={setting:d,addNodes:function(a,b,c){function e(){i.addNodes(d,a,h,c==!0)}if(!b)return null;a||(a=null);if(a&&!a.isParent&&d.data.keep.leaf)return null;var h=j.clone(j.isArray(b)?b:[b]);j.canAsync(d,a)?i.asyncNode(d,a,c,e):e();return h},cancelSelectedNode:function(a){i.cancelPreSelectedNode(d, -a)},destroy:function(){i.destroy(d)},expandAll:function(a){a=!!a;i.expandCollapseSonNode(d,null,a,!0);return a},expandNode:function(a,b,c,e,n){if(!a||!a.isParent)return null;b!==!0&&b!==!1&&(b=!a.open);if((n=!!n)&&b&&j.apply(d.callback.beforeExpand,[d.treeId,a],!0)==!1)return null;else if(n&&!b&&j.apply(d.callback.beforeCollapse,[d.treeId,a],!0)==!1)return null;b&&a.parentTId&&i.expandCollapseParentNode(d,a.getParentNode(),b,!1);if(b===a.open&&!c)return null;h.getRoot(d).expandTriggerFlag=n;if(!j.canAsync(d, -a)&&c)i.expandCollapseSonNode(d,a,b,!0,function(){if(e!==!1)try{k(a,d).focus().blur()}catch(b){}});else if(a.open=!b,i.switchNode(this.setting,a),e!==!1)try{k(a,d).focus().blur()}catch(m){}return b},getNodes:function(){return h.getNodes(d)},getNodeByParam:function(a,b,c){return!a?null:h.getNodeByParam(d,c?c[d.data.key.children]:h.getNodes(d),a,b)},getNodeByTId:function(a){return h.getNodeCache(d,a)},getNodesByParam:function(a,b,c){return!a?null:h.getNodesByParam(d,c?c[d.data.key.children]:h.getNodes(d), -a,b)},getNodesByParamFuzzy:function(a,b,c){return!a?null:h.getNodesByParamFuzzy(d,c?c[d.data.key.children]:h.getNodes(d),a,b)},getNodesByFilter:function(a,b,c,e){b=!!b;return!a||typeof a!="function"?b?null:[]:h.getNodesByFilter(d,c?c[d.data.key.children]:h.getNodes(d),a,b,e)},getNodeIndex:function(a){if(!a)return null;for(var b=d.data.key.children,c=a.parentTId?a.getParentNode():h.getRoot(d),e=0,i=c[b].length;e<i;e++)if(c[b][e]==a)return e;return-1},getSelectedNodes:function(){for(var a=[],b=h.getRoot(d).curSelectedList, -c=0,e=b.length;c<e;c++)a.push(b[c]);return a},isSelectedNode:function(a){return h.isSelectedNode(d,a)},reAsyncChildNodes:function(a,b,c){if(this.setting.async.enable){var j=!a;j&&(a=h.getRoot(d));if(b=="refresh"){for(var b=this.setting.data.key.children,m=0,p=a[b]?a[b].length:0;m<p;m++)h.removeNodeCache(d,a[b][m]);h.removeSelectedNode(d);a[b]=[];j?this.setting.treeObj.empty():k(a,e.id.UL,d).empty()}i.asyncNode(this.setting,j?null:a,!!c)}},refresh:function(){this.setting.treeObj.empty();var a=h.getRoot(d), -b=a[d.data.key.children];h.initRoot(d);a[d.data.key.children]=b;h.initCache(d);i.createNodes(d,0,a[d.data.key.children])},removeChildNodes:function(a){if(!a)return null;var b=a[d.data.key.children];i.removeChildNodes(d,a);return b?b:null},removeNode:function(a,b){a&&(b=!!b,b&&j.apply(d.callback.beforeRemove,[d.treeId,a],!0)==!1||(i.removeNode(d,a),b&&this.setting.treeObj.trigger(e.event.REMOVE,[d.treeId,a])))},selectNode:function(a,b){if(a&&j.uCanDo(d)){b=d.view.selectedMulti&&b;if(a.parentTId)i.expandCollapseParentNode(d, -a.getParentNode(),!0,!1,function(){try{k(a,d).focus().blur()}catch(b){}});else try{k(a,d).focus().blur()}catch(c){}i.selectNode(d,a,b)}},transformTozTreeNodes:function(a){return h.transformTozTreeFormat(d,a)},transformToArray:function(a){return h.transformToArrayFormat(d,a)},updateNode:function(a){a&&k(a,d).get(0)&&j.uCanDo(d)&&(i.setNodeName(d,a),i.setNodeTarget(d,a),i.setNodeUrl(d,a),i.setNodeLineIcos(d,a),i.setNodeFontCss(d,a))}};b.treeTools=c;h.setZTreeTools(d,c);b[a]&&b[a].length>0?i.createNodes(d, -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 core v3.5.16
+ * http://zTree.me/
+ *
+ * Copyright (c) 2010 Hunter.z
+ *
+ * Licensed same as jquery - MIT License
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ * email: hunter.z@263.net
+ * Date: 2014-03-09
+ */
+(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,
+[a,c,g])});a.bind(c.CLICK,function(a,c,g,l,h){j.apply(b.callback.onClick,[c,g,l,h])});a.bind(c.EXPAND,function(a,c,g){j.apply(b.callback.onExpand,[a,c,g])});a.bind(c.COLLAPSE,function(a,c,g){j.apply(b.callback.onCollapse,[a,c,g])});a.bind(c.ASYNC_SUCCESS,function(a,c,g,l){j.apply(b.callback.onAsyncSuccess,[a,c,g,l])});a.bind(c.ASYNC_ERROR,function(a,c,g,l,h,e){j.apply(b.callback.onAsyncError,[a,c,g,l,h,e])});a.bind(c.REMOVE,function(a,c,g){j.apply(b.callback.onRemove,[a,c,g])})}],x=[function(b){var a=
+e.event;b.treeObj.unbind(a.NODECREATED).unbind(a.CLICK).unbind(a.EXPAND).unbind(a.COLLAPSE).unbind(a.ASYNC_SUCCESS).unbind(a.ASYNC_ERROR).unbind(a.REMOVE)}],y=[function(b){var a=h.getCache(b);a||(a={},h.setCache(b,a));a.nodes=[];a.doms=[]}],z=[function(b,a,c,d,f,g){if(c){var l=h.getRoot(b),e=b.data.key.children;c.level=a;c.tId=b.treeId+"_"+ ++l.zId;c.parentTId=d?d.tId:null;c.open=typeof c.open=="string"?j.eqs(c.open,"true"):!!c.open;c[e]&&c[e].length>0?(c.isParent=!0,c.zAsync=!0):(c.isParent=typeof c.isParent==
+"string"?j.eqs(c.isParent,"true"):!!c.isParent,c.open=c.isParent&&!b.async.enable?c.open:!1,c.zAsync=!c.isParent);c.isFirstNode=f;c.isLastNode=g;c.getParentNode=function(){return h.getNodeCache(b,c.parentTId)};c.getPreNode=function(){return h.getPreNode(b,c)};c.getNextNode=function(){return h.getNextNode(b,c)};c.isAjaxing=!1;h.fixPIdKeyValue(b,c)}}],s=[function(b){var a=b.target,c=h.getSetting(b.data.treeId),d="",f=null,g="",l="",i=null,n=null,k=null;if(j.eqs(b.type,"mousedown"))l="mousedown";else if(j.eqs(b.type,
+"mouseup"))l="mouseup";else if(j.eqs(b.type,"contextmenu"))l="contextmenu";else if(j.eqs(b.type,"click"))if(j.eqs(a.tagName,"span")&&a.getAttribute("treeNode"+e.id.SWITCH)!==null)d=j.getNodeMainDom(a).id,g="switchNode";else{if(k=j.getMDom(c,a,[{tagName:"a",attrName:"treeNode"+e.id.A}]))d=j.getNodeMainDom(k).id,g="clickNode"}else if(j.eqs(b.type,"dblclick")&&(l="dblclick",k=j.getMDom(c,a,[{tagName:"a",attrName:"treeNode"+e.id.A}])))d=j.getNodeMainDom(k).id,g="switchNode";if(l.length>0&&d.length==0&&
+(k=j.getMDom(c,a,[{tagName:"a",attrName:"treeNode"+e.id.A}])))d=j.getNodeMainDom(k).id;if(d.length>0)switch(f=h.getNodeCache(c,d),g){case "switchNode":f.isParent?j.eqs(b.type,"click")||j.eqs(b.type,"dblclick")&&j.apply(c.view.dblClickExpand,[c.treeId,f],c.view.dblClickExpand)?i=G:g="":g="";break;case "clickNode":i=H}switch(l){case "mousedown":n=I;break;case "mouseup":n=J;break;case "dblclick":n=K;break;case "contextmenu":n=L}return{stop:!1,node:f,nodeEventType:g,nodeEventCallback:i,treeEventType:l,
+treeEventCallback:n}}],A=[function(b){var a=h.getRoot(b);a||(a={},h.setRoot(b,a));a[b.data.key.children]=[];a.expandTriggerFlag=!1;a.curSelectedList=[];a.noSelection=!0;a.createdNodes=[];a.zId=0;a._ver=(new Date).getTime()}],B=[],C=[],D=[],E=[],F=[],h={addNodeCache:function(b,a){h.getCache(b).nodes[h.getNodeCacheId(a.tId)]=a},getNodeCacheId:function(b){return b.substring(b.lastIndexOf("_")+1)},addAfterA:function(b){C.push(b)},addBeforeA:function(b){B.push(b)},addInnerAfterA:function(b){E.push(b)},
+addInnerBeforeA:function(b){D.push(b)},addInitBind:function(b){w.push(b)},addInitUnBind:function(b){x.push(b)},addInitCache:function(b){y.push(b)},addInitNode:function(b){z.push(b)},addInitProxy:function(b,a){a?s.splice(0,0,b):s.push(b)},addInitRoot:function(b){A.push(b)},addNodesData:function(b,a,c){var d=b.data.key.children;a[d]||(a[d]=[]);if(a[d].length>0)a[d][a[d].length-1].isLastNode=!1,i.setNodeLineIcos(b,a[d][a[d].length-1]);a.isParent=!0;a[d]=a[d].concat(c)},addSelectedNode:function(b,a){var c=
+h.getRoot(b);h.isSelectedNode(b,a)||c.curSelectedList.push(a)},addCreatedNode:function(b,a){(b.callback.onNodeCreated||b.view.addDiyDom)&&h.getRoot(b).createdNodes.push(a)},addZTreeTools:function(b){F.push(b)},exSetting:function(b){p.extend(!0,M,b)},fixPIdKeyValue:function(b,a){b.data.simpleData.enable&&(a[b.data.simpleData.pIdKey]=a.parentTId?a.getParentNode()[b.data.simpleData.idKey]:b.data.simpleData.rootPId)},getAfterA:function(b,a,c){for(var d=0,f=C.length;d<f;d++)C[d].apply(this,arguments)},
+getBeforeA:function(b,a,c){for(var d=0,f=B.length;d<f;d++)B[d].apply(this,arguments)},getInnerAfterA:function(b,a,c){for(var d=0,f=E.length;d<f;d++)E[d].apply(this,arguments)},getInnerBeforeA:function(b,a,c){for(var d=0,f=D.length;d<f;d++)D[d].apply(this,arguments)},getCache:function(b){return v[b.treeId]},getNextNode:function(b,a){if(!a)return null;for(var c=b.data.key.children,d=a.parentTId?a.getParentNode():h.getRoot(b),f=0,g=d[c].length-1;f<=g;f++)if(d[c][f]===a)return f==g?null:d[c][f+1];return null},
+getNodeByParam:function(b,a,c,d){if(!a||!c)return null;for(var f=b.data.key.children,g=0,l=a.length;g<l;g++){if(a[g][c]==d)return a[g];var e=h.getNodeByParam(b,a[g][f],c,d);if(e)return e}return null},getNodeCache:function(b,a){if(!a)return null;var c=v[b.treeId].nodes[h.getNodeCacheId(a)];return c?c:null},getNodeName:function(b,a){return""+a[b.data.key.name]},getNodeTitle:function(b,a){return""+a[b.data.key.title===""?b.data.key.name:b.data.key.title]},getNodes:function(b){return h.getRoot(b)[b.data.key.children]},
+getNodesByParam:function(b,a,c,d){if(!a||!c)return[];for(var f=b.data.key.children,g=[],l=0,e=a.length;l<e;l++)a[l][c]==d&&g.push(a[l]),g=g.concat(h.getNodesByParam(b,a[l][f],c,d));return g},getNodesByParamFuzzy:function(b,a,c,d){if(!a||!c)return[];for(var f=b.data.key.children,g=[],d=d.toLowerCase(),l=0,e=a.length;l<e;l++)typeof a[l][c]=="string"&&a[l][c].toLowerCase().indexOf(d)>-1&&g.push(a[l]),g=g.concat(h.getNodesByParamFuzzy(b,a[l][f],c,d));return g},getNodesByFilter:function(b,a,c,d,f){if(!a)return d?
+null:[];for(var g=b.data.key.children,e=d?null:[],i=0,n=a.length;i<n;i++){if(j.apply(c,[a[i],f],!1)){if(d)return a[i];e.push(a[i])}var k=h.getNodesByFilter(b,a[i][g],c,d,f);if(d&&k)return k;e=d?k:e.concat(k)}return e},getPreNode:function(b,a){if(!a)return null;for(var c=b.data.key.children,d=a.parentTId?a.getParentNode():h.getRoot(b),f=0,g=d[c].length;f<g;f++)if(d[c][f]===a)return f==0?null:d[c][f-1];return null},getRoot:function(b){return b?u[b.treeId]:null},getRoots:function(){return u},getSetting:function(b){return r[b]},
+getSettings:function(){return r},getZTreeTools:function(b){return(b=this.getRoot(this.getSetting(b)))?b.treeTools:null},initCache:function(b){for(var a=0,c=y.length;a<c;a++)y[a].apply(this,arguments)},initNode:function(b,a,c,d,f,g){for(var e=0,h=z.length;e<h;e++)z[e].apply(this,arguments)},initRoot:function(b){for(var a=0,c=A.length;a<c;a++)A[a].apply(this,arguments)},isSelectedNode:function(b,a){for(var c=h.getRoot(b),d=0,f=c.curSelectedList.length;d<f;d++)if(a===c.curSelectedList[d])return!0;return!1},
+removeNodeCache:function(b,a){var c=b.data.key.children;if(a[c])for(var d=0,f=a[c].length;d<f;d++)arguments.callee(b,a[c][d]);h.getCache(b).nodes[h.getNodeCacheId(a.tId)]=null},removeSelectedNode:function(b,a){for(var c=h.getRoot(b),d=0,f=c.curSelectedList.length;d<f;d++)if(a===c.curSelectedList[d]||!h.getNodeCache(b,c.curSelectedList[d].tId))c.curSelectedList.splice(d,1),d--,f--},setCache:function(b,a){v[b.treeId]=a},setRoot:function(b,a){u[b.treeId]=a},setZTreeTools:function(b,a){for(var c=0,d=
+F.length;c<d;c++)F[c].apply(this,arguments)},transformToArrayFormat:function(b,a){if(!a)return[];var c=b.data.key.children,d=[];if(j.isArray(a))for(var f=0,g=a.length;f<g;f++)d.push(a[f]),a[f][c]&&(d=d.concat(h.transformToArrayFormat(b,a[f][c])));else d.push(a),a[c]&&(d=d.concat(h.transformToArrayFormat(b,a[c])));return d},transformTozTreeFormat:function(b,a){var c,d,f=b.data.simpleData.idKey,g=b.data.simpleData.pIdKey,e=b.data.key.children;if(!f||f==""||!a)return[];if(j.isArray(a)){var h=[],i=[];
+for(c=0,d=a.length;c<d;c++)i[a[c][f]]=a[c];for(c=0,d=a.length;c<d;c++)i[a[c][g]]&&a[c][f]!=a[c][g]?(i[a[c][g]][e]||(i[a[c][g]][e]=[]),i[a[c][g]][e].push(a[c])):h.push(a[c]);return h}else return[a]}},m={bindEvent:function(b){for(var a=0,c=w.length;a<c;a++)w[a].apply(this,arguments)},unbindEvent:function(b){for(var a=0,c=x.length;a<c;a++)x[a].apply(this,arguments)},bindTree:function(b){var a={treeId:b.treeId},c=b.treeObj;b.view.txtSelectedEnable||c.bind("selectstart",function(a){a=a.originalEvent.srcElement.nodeName.toLowerCase();
+return a==="input"||a==="textarea"}).css({"-moz-user-select":"-moz-none"});c.bind("click",a,m.proxy);c.bind("dblclick",a,m.proxy);c.bind("mouseover",a,m.proxy);c.bind("mouseout",a,m.proxy);c.bind("mousedown",a,m.proxy);c.bind("mouseup",a,m.proxy);c.bind("contextmenu",a,m.proxy)},unbindTree:function(b){b.treeObj.unbind("click",m.proxy).unbind("dblclick",m.proxy).unbind("mouseover",m.proxy).unbind("mouseout",m.proxy).unbind("mousedown",m.proxy).unbind("mouseup",m.proxy).unbind("contextmenu",m.proxy)},
+doProxy:function(b){for(var a=[],c=0,d=s.length;c<d;c++){var f=s[c].apply(this,arguments);a.push(f);if(f.stop)break}return a},proxy:function(b){var a=h.getSetting(b.data.treeId);if(!j.uCanDo(a,b))return!0;for(var a=m.doProxy(b),c=!0,d=0,f=a.length;d<f;d++){var g=a[d];g.nodeEventCallback&&(c=g.nodeEventCallback.apply(g,[b,g.node])&&c);g.treeEventCallback&&(c=g.treeEventCallback.apply(g,[b,g.node])&&c)}return c}};G=function(b,a){var c=h.getSetting(b.data.treeId);if(a.open){if(j.apply(c.callback.beforeCollapse,
+[c.treeId,a],!0)==!1)return!0}else if(j.apply(c.callback.beforeExpand,[c.treeId,a],!0)==!1)return!0;h.getRoot(c).expandTriggerFlag=!0;i.switchNode(c,a);return!0};H=function(b,a){var c=h.getSetting(b.data.treeId),d=c.view.autoCancelSelected&&(b.ctrlKey||b.metaKey)&&h.isSelectedNode(c,a)?0:c.view.autoCancelSelected&&(b.ctrlKey||b.metaKey)&&c.view.selectedMulti?2:1;if(j.apply(c.callback.beforeClick,[c.treeId,a,d],!0)==!1)return!0;d===0?i.cancelPreSelectedNode(c,a):i.selectNode(c,a,d===2);c.treeObj.trigger(e.event.CLICK,
+[b,c.treeId,a,d]);return!0};I=function(b,a){var c=h.getSetting(b.data.treeId);j.apply(c.callback.beforeMouseDown,[c.treeId,a],!0)&&j.apply(c.callback.onMouseDown,[b,c.treeId,a]);return!0};J=function(b,a){var c=h.getSetting(b.data.treeId);j.apply(c.callback.beforeMouseUp,[c.treeId,a],!0)&&j.apply(c.callback.onMouseUp,[b,c.treeId,a]);return!0};K=function(b,a){var c=h.getSetting(b.data.treeId);j.apply(c.callback.beforeDblClick,[c.treeId,a],!0)&&j.apply(c.callback.onDblClick,[b,c.treeId,a]);return!0};
+L=function(b,a){var c=h.getSetting(b.data.treeId);j.apply(c.callback.beforeRightClick,[c.treeId,a],!0)&&j.apply(c.callback.onRightClick,[b,c.treeId,a]);return typeof c.callback.onRightClick!="function"};var j={apply:function(b,a,c){return typeof b=="function"?b.apply(N,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"?arguments.callee(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"?p(b,c?c.treeObj.get(0).ownerDocument:null):p("#"+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,f=c.length;a.tagName&&d<f;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 p(b).parent("li").get(0)||p(b).parentsUntil("li").parent().get(0)},isChildOrSelf:function(b,a){return p(b).closest("#"+a).length>0},uCanDo:function(){return!0}},i={addNodes:function(b,a,c,d){if(!b.data.keep.leaf||!a||a.isParent)if(j.isArray(c)||(c=[c]),b.data.simpleData.enable&&(c=h.transformTozTreeFormat(b,c)),a){var f=k(a,e.id.SWITCH,b),g=k(a,e.id.ICON,b),l=k(a,e.id.UL,b);if(!a.open)i.replaceSwitchClass(a,
+f,e.folder.CLOSE),i.replaceIcoClass(a,g,e.folder.CLOSE),a.open=!1,l.css({display:"none"});h.addNodesData(b,a,c);i.createNodes(b,a.level+1,c,a);d||i.expandCollapseParentNode(b,a,!0)}else h.addNodesData(b,h.getRoot(b),c),i.createNodes(b,0,c,null)},appendNodes:function(b,a,c,d,f,g){if(!c)return[];for(var e=[],j=b.data.key.children,k=0,m=c.length;k<m;k++){var o=c[k];if(f){var t=(d?d:h.getRoot(b))[j].length==c.length&&k==0;h.initNode(b,a,o,d,t,k==c.length-1,g);h.addNodeCache(b,o)}t=[];o[j]&&o[j].length>
+0&&(t=i.appendNodes(b,a+1,o[j],o,f,g&&o.open));g&&(i.makeDOMNodeMainBefore(e,b,o),i.makeDOMNodeLine(e,b,o),h.getBeforeA(b,o,e),i.makeDOMNodeNameBefore(e,b,o),h.getInnerBeforeA(b,o,e),i.makeDOMNodeIcon(e,b,o),h.getInnerAfterA(b,o,e),i.makeDOMNodeNameAfter(e,b,o),h.getAfterA(b,o,e),o.isParent&&o.open&&i.makeUlHtml(b,o,e,t.join("")),i.makeDOMNodeMainAfter(e,b,o),h.addCreatedNode(b,o))}return e},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 f=k(a,e.id.UL,b);f.get(0)&&f.remove();f=i.appendNodes(b,a.level+1,a[b.data.key.children],a,!1,!0);i.makeUlHtml(b,a,c,f.join(""));d.append(c.join(""))},asyncNode:function(b,a,c,d){var f,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,e.id.ICON,b).attr({style:"","class":e.className.BUTTON+" "+e.className.ICO_LOADING});var l={};for(f=0,g=b.async.autoParam.length;a&&
+f<g;f++){var q=b.async.autoParam[f].split("="),n=q;q.length>1&&(n=q[1],q=q[0]);l[n]=a[q]}if(j.isArray(b.async.otherParam))for(f=0,g=b.async.otherParam.length;f<g;f+=2)l[b.async.otherParam[f]]=b.async.otherParam[f+1];else for(var m in b.async.otherParam)l[m]=b.async.otherParam[m];var o=h.getRoot(b)._ver;p.ajax({contentType:b.async.contentType,type:b.async.type,url:j.apply(b.async.url,[b.treeId,a],b.async.url),data:l,dataType:b.async.dataType,success:function(f){if(o==h.getRoot(b)._ver){var g=[];try{g=
+!f||f.length==0?[]:typeof f=="string"?eval("("+f+")"):f}catch(l){g=f}if(a)a.isAjaxing=null,a.zAsync=!0;i.setNodeLineIcos(b,a);g&&g!==""?(g=j.apply(b.async.dataFilter,[b.treeId,a,g],g),i.addNodes(b,a,g?j.clone(g):[],!!c)):i.addNodes(b,a,[],!!c);b.treeObj.trigger(e.event.ASYNC_SUCCESS,[b.treeId,a,f]);j.apply(d)}},error:function(c,d,f){if(o==h.getRoot(b)._ver){if(a)a.isAjaxing=null;i.setNodeLineIcos(b,a);b.treeObj.trigger(e.event.ASYNC_ERROR,[b.treeId,a,c,d,f])}}});return!0},cancelPreSelectedNode:function(b,
+a){for(var c=h.getRoot(b).curSelectedList,d=c.length-1;d>=0;d--)if(!a||a===c[d])if(k(c[d],e.id.A,b).removeClass(e.node.CURSELECTED),a){h.removeSelectedNode(b,a);break}if(!a)h.getRoot(b).curSelectedList=[]},createNodeCallback:function(b){if(b.callback.onNodeCreated||b.view.addDiyDom)for(var a=h.getRoot(b);a.createdNodes.length>0;){var c=a.createdNodes.shift();j.apply(b.view.addDiyDom,[b.treeId,c]);b.callback.onNodeCreated&&b.treeObj.trigger(e.event.NODECREATED,[b.treeId,c])}},createNodes:function(b,
+a,c,d){if(c&&c.length!=0){var f=h.getRoot(b),g=b.data.key.children,g=!d||d.open||!!k(d[g][0],b).get(0);f.createdNodes=[];a=i.appendNodes(b,a,c,d,!0,g);d?(d=k(d,e.id.UL,b),d.get(0)&&d.append(a.join(""))):b.treeObj.append(a.join(""));i.createNodeCallback(b)}},destroy:function(b){b&&(h.initCache(b),h.initRoot(b),m.unbindTree(b),m.unbindEvent(b),b.treeObj.empty(),delete r[b.treeId])},expandCollapseNode:function(b,a,c,d,f){var g=h.getRoot(b),l=b.data.key.children;if(a){if(g.expandTriggerFlag){var q=f,
+f=function(){q&&q();a.open?b.treeObj.trigger(e.event.EXPAND,[b.treeId,a]):b.treeObj.trigger(e.event.COLLAPSE,[b.treeId,a])};g.expandTriggerFlag=!1}if(!a.open&&a.isParent&&(!k(a,e.id.UL,b).get(0)||a[l]&&a[l].length>0&&!k(a[l][0],b).get(0)))i.appendParentULDom(b,a),i.createNodeCallback(b);if(a.open==c)j.apply(f,[]);else{var c=k(a,e.id.UL,b),g=k(a,e.id.SWITCH,b),n=k(a,e.id.ICON,b);a.isParent?(a.open=!a.open,a.iconOpen&&a.iconClose&&n.attr("style",i.makeNodeIcoStyle(b,a)),a.open?(i.replaceSwitchClass(a,
+g,e.folder.OPEN),i.replaceIcoClass(a,n,e.folder.OPEN),d==!1||b.view.expandSpeed==""?(c.show(),j.apply(f,[])):a[l]&&a[l].length>0?c.slideDown(b.view.expandSpeed,f):(c.show(),j.apply(f,[]))):(i.replaceSwitchClass(a,g,e.folder.CLOSE),i.replaceIcoClass(a,n,e.folder.CLOSE),d==!1||b.view.expandSpeed==""||!(a[l]&&a[l].length>0)?(c.hide(),j.apply(f,[])):c.slideUp(b.view.expandSpeed,f))):j.apply(f,[])}}else j.apply(f,[])},expandCollapseParentNode:function(b,a,c,d,f){a&&(a.parentTId?(i.expandCollapseNode(b,
+a,c,d),a.parentTId&&i.expandCollapseParentNode(b,a.getParentNode(),c,d,f)):i.expandCollapseNode(b,a,c,d,f))},expandCollapseSonNode:function(b,a,c,d,f){var g=h.getRoot(b),e=b.data.key.children,g=a?a[e]:g[e],e=a?!1:d,j=h.getRoot(b).expandTriggerFlag;h.getRoot(b).expandTriggerFlag=!1;if(g)for(var k=0,m=g.length;k<m;k++)g[k]&&i.expandCollapseSonNode(b,g[k],c,e);h.getRoot(b).expandTriggerFlag=j;i.expandCollapseNode(b,a,c,d,f)},makeDOMNodeIcon:function(b,a,c){var d=h.getNodeName(a,c),d=a.view.nameIsHTML?
+d:d.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");b.push("<span id='",c.tId,e.id.ICON,"' title='' treeNode",e.id.ICON," class='",i.makeNodeIcoClass(a,c),"' style='",i.makeNodeIcoStyle(a,c),"'></span><span id='",c.tId,e.id.SPAN,"'>",d,"</span>")},makeDOMNodeLine:function(b,a,c){b.push("<span id='",c.tId,e.id.SWITCH,"' title='' class='",i.makeNodeLineClass(a,c),"' treeNode",e.id.SWITCH,"></span>")},makeDOMNodeMainAfter:function(b){b.push("</li>")},makeDOMNodeMainBefore:function(b,
+a,c){b.push("<li id='",c.tId,"' class='",e.className.LEVEL,c.level,"' tabindex='0' hidefocus='true' treenode>")},makeDOMNodeNameAfter:function(b){b.push("</a>")},makeDOMNodeNameBefore:function(b,a,c){var d=h.getNodeTitle(a,c),f=i.makeNodeUrl(a,c),g=i.makeNodeFontCss(a,c),l=[],k;for(k in g)l.push(k,":",g[k],";");b.push("<a id='",c.tId,e.id.A,"' class='",e.className.LEVEL,c.level,"' treeNode",e.id.A,' onclick="',c.click||"",'" ',f!=null&&f.length>0?"href='"+f+"'":""," target='",i.makeNodeTarget(c),
+"' style='",l.join(""),"'");j.apply(a.view.showTitle,[a.treeId,c],a.view.showTitle)&&d&&b.push("title='",d.replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">"),"'");b.push(">")},makeNodeFontCss:function(b,a){var c=j.apply(b.view.fontCss,[b.treeId,a],b.view.fontCss);return c&&typeof c!="function"?c:{}},makeNodeIcoClass:function(b,a){var c=["ico"];a.isAjaxing||(c[0]=(a.iconSkin?a.iconSkin+"_":"")+c[0],a.isParent?c.push(a.open?e.folder.OPEN:e.folder.CLOSE):c.push(e.folder.DOCU));return e.className.BUTTON+
+" "+c.join("_")},makeNodeIcoStyle:function(b,a){var c=[];if(!a.isAjaxing){var d=a.isParent&&a.iconOpen&&a.iconClose?a.open?a.iconOpen:a.iconClose:a.icon;d&&c.push("background:url(",d,") 0 0 no-repeat;");(b.view.showIcon==!1||!j.apply(b.view.showIcon,[b.treeId,a],!0))&&c.push("width:0px;height:0px;")}return c.join("")},makeNodeLineClass:function(b,a){var c=[];b.view.showLine?a.level==0&&a.isFirstNode&&a.isLastNode?c.push(e.line.ROOT):a.level==0&&a.isFirstNode?c.push(e.line.ROOTS):a.isLastNode?c.push(e.line.BOTTOM):
+c.push(e.line.CENTER):c.push(e.line.NOLINE);a.isParent?c.push(a.open?e.folder.OPEN:e.folder.CLOSE):c.push(e.folder.DOCU);return i.makeNodeLineClassEx(a)+c.join("_")},makeNodeLineClassEx:function(b){return e.className.BUTTON+" "+e.className.LEVEL+b.level+" "+e.className.SWITCH+" "},makeNodeTarget:function(b){return b.target||"_blank"},makeNodeUrl:function(b,a){var c=b.data.key.url;return a[c]?a[c]:null},makeUlHtml:function(b,a,c,d){c.push("<ul id='",a.tId,e.id.UL,"' class='",e.className.LEVEL,a.level,
+" ",i.makeUlLineClass(b,a),"' style='display:",a.open?"block":"none","'>");c.push(d);c.push("</ul>")},makeUlLineClass:function(b,a){return b.view.showLine&&!a.isLastNode?e.line.LINE:""},removeChildNodes:function(b,a){if(a){var c=b.data.key.children,d=a[c];if(d){for(var f=0,g=d.length;f<g;f++)h.removeNodeCache(b,d[f]);h.removeSelectedNode(b);delete a[c];b.data.keep.parent?k(a,e.id.UL,b).empty():(a.isParent=!1,a.open=!1,c=k(a,e.id.SWITCH,b),d=k(a,e.id.ICON,b),i.replaceSwitchClass(a,c,e.folder.DOCU),
+i.replaceIcoClass(a,d,e.folder.DOCU),k(a,e.id.UL,b).remove())}}},setFirstNode:function(b,a){var c=b.data.key.children;if(a[c].length>0)a[c][0].isFirstNode=!0},setLastNode:function(b,a){var c=b.data.key.children,d=a[c].length;if(d>0)a[c][d-1].isLastNode=!0},removeNode:function(b,a){var c=h.getRoot(b),d=b.data.key.children,f=a.parentTId?a.getParentNode():c;a.isFirstNode=!1;a.isLastNode=!1;a.getPreNode=function(){return null};a.getNextNode=function(){return null};if(h.getNodeCache(b,a.tId)){k(a,b).remove();
+h.removeNodeCache(b,a);h.removeSelectedNode(b,a);for(var g=0,l=f[d].length;g<l;g++)if(f[d][g].tId==a.tId){f[d].splice(g,1);break}i.setFirstNode(b,f);i.setLastNode(b,f);var j,g=f[d].length;if(!b.data.keep.parent&&g==0)f.isParent=!1,f.open=!1,g=k(f,e.id.UL,b),l=k(f,e.id.SWITCH,b),j=k(f,e.id.ICON,b),i.replaceSwitchClass(f,l,e.folder.DOCU),i.replaceIcoClass(f,j,e.folder.DOCU),g.css("display","none");else if(b.view.showLine&&g>0){var n=f[d][g-1],g=k(n,e.id.UL,b),l=k(n,e.id.SWITCH,b);j=k(n,e.id.ICON,b);
+f==c?f[d].length==1?i.replaceSwitchClass(n,l,e.line.ROOT):(c=k(f[d][0],e.id.SWITCH,b),i.replaceSwitchClass(f[d][0],c,e.line.ROOTS),i.replaceSwitchClass(n,l,e.line.BOTTOM)):i.replaceSwitchClass(n,l,e.line.BOTTOM);g.removeClass(e.line.LINE)}}},replaceIcoClass:function(b,a,c){if(a&&!b.isAjaxing&&(b=a.attr("class"),b!=void 0)){b=b.split("_");switch(c){case e.folder.OPEN:case e.folder.CLOSE:case e.folder.DOCU:b[b.length-1]=c}a.attr("class",b.join("_"))}},replaceSwitchClass:function(b,a,c){if(a){var d=
+a.attr("class");if(d!=void 0){d=d.split("_");switch(c){case e.line.ROOT:case e.line.ROOTS:case e.line.CENTER:case e.line.BOTTOM:case e.line.NOLINE:d[0]=i.makeNodeLineClassEx(b)+c;break;case e.folder.OPEN:case e.folder.CLOSE:case e.folder.DOCU:d[1]=c}a.attr("class",d.join("_"));c!==e.folder.DOCU?a.removeAttr("disabled"):a.attr("disabled","disabled")}}},selectNode:function(b,a,c){c||i.cancelPreSelectedNode(b);k(a,e.id.A,b).addClass(e.node.CURSELECTED);h.addSelectedNode(b,a)},setNodeFontCss:function(b,
+a){var c=k(a,e.id.A,b),d=i.makeNodeFontCss(b,a);d&&c.css(d)},setNodeLineIcos:function(b,a){if(a){var c=k(a,e.id.SWITCH,b),d=k(a,e.id.UL,b),f=k(a,e.id.ICON,b),g=i.makeUlLineClass(b,a);g.length==0?d.removeClass(e.line.LINE):d.addClass(g);c.attr("class",i.makeNodeLineClass(b,a));a.isParent?c.removeAttr("disabled"):c.attr("disabled","disabled");f.removeAttr("style");f.attr("style",i.makeNodeIcoStyle(b,a));f.attr("class",i.makeNodeIcoClass(b,a))}},setNodeName:function(b,a){var c=h.getNodeTitle(b,a),d=
+k(a,e.id.SPAN,b);d.empty();b.view.nameIsHTML?d.html(h.getNodeName(b,a)):d.text(h.getNodeName(b,a));j.apply(b.view.showTitle,[b.treeId,a],b.view.showTitle)&&k(a,e.id.A,b).attr("title",!c?"":c)},setNodeTarget:function(b,a){k(a,e.id.A,b).attr("target",i.makeNodeTarget(a))},setNodeUrl:function(b,a){var c=k(a,e.id.A,b),d=i.makeNodeUrl(b,a);d==null||d.length==0?c.removeAttr("href"):c.attr("href",d)},switchNode:function(b,a){a.open||!j.canAsync(b,a)?i.expandCollapseNode(b,a,!a.open):b.async.enable?i.asyncNode(b,
+a)||i.expandCollapseNode(b,a,!a.open):a&&i.expandCollapseNode(b,a,!a.open)}};p.fn.zTree={consts:{className:{BUTTON:"button",LEVEL:"level",ICO_LOADING:"ico_loading",SWITCH:"switch"},event:{NODECREATED:"ztree_nodeCreated",CLICK:"ztree_click",EXPAND:"ztree_expand",COLLAPSE:"ztree_collapse",ASYNC_SUCCESS:"ztree_async_success",ASYNC_ERROR:"ztree_async_error",REMOVE:"ztree_remove"},id:{A:"_a",ICON:"_ico",SPAN:"_span",SWITCH:"_switch",UL:"_ul"},line:{ROOT:"root",ROOTS:"roots",CENTER:"center",BOTTOM:"bottom",
+NOLINE:"noline",LINE:"line"},folder:{OPEN:"open",CLOSE:"close",DOCU:"docu"},node:{CURSELECTED:"curSelectedNode"}},_z:{tools:j,view:i,event:m,data:h},getZTreeObj:function(b){return(b=h.getZTreeTools(b))?b:null},destroy:function(b){if(b&&b.length>0)i.destroy(h.getSetting(b));else for(var a in r)i.destroy(r[a])},init:function(b,a,c){var d=j.clone(M);p.extend(!0,d,a);d.treeId=b.attr("id");d.treeObj=b;d.treeObj.empty();r[d.treeId]=d;if(typeof document.body.style.maxHeight==="undefined")d.view.expandSpeed=
+"";h.initRoot(d);b=h.getRoot(d);a=d.data.key.children;c=c?j.clone(j.isArray(c)?c:[c]):[];b[a]=d.data.simpleData.enable?h.transformTozTreeFormat(d,c):c;h.initCache(d);m.unbindTree(d);m.bindTree(d);m.unbindEvent(d);m.bindEvent(d);c={setting:d,addNodes:function(a,b,c){function e(){i.addNodes(d,a,h,c==!0)}if(!b)return null;a||(a=null);if(a&&!a.isParent&&d.data.keep.leaf)return null;var h=j.clone(j.isArray(b)?b:[b]);j.canAsync(d,a)?i.asyncNode(d,a,c,e):e();return h},cancelSelectedNode:function(a){i.cancelPreSelectedNode(d,
+a)},destroy:function(){i.destroy(d)},expandAll:function(a){a=!!a;i.expandCollapseSonNode(d,null,a,!0);return a},expandNode:function(a,b,c,e,n){if(!a||!a.isParent)return null;b!==!0&&b!==!1&&(b=!a.open);if((n=!!n)&&b&&j.apply(d.callback.beforeExpand,[d.treeId,a],!0)==!1)return null;else if(n&&!b&&j.apply(d.callback.beforeCollapse,[d.treeId,a],!0)==!1)return null;b&&a.parentTId&&i.expandCollapseParentNode(d,a.getParentNode(),b,!1);if(b===a.open&&!c)return null;h.getRoot(d).expandTriggerFlag=n;if(!j.canAsync(d,
+a)&&c)i.expandCollapseSonNode(d,a,b,!0,function(){if(e!==!1)try{k(a,d).focus().blur()}catch(b){}});else if(a.open=!b,i.switchNode(this.setting,a),e!==!1)try{k(a,d).focus().blur()}catch(m){}return b},getNodes:function(){return h.getNodes(d)},getNodeByParam:function(a,b,c){return!a?null:h.getNodeByParam(d,c?c[d.data.key.children]:h.getNodes(d),a,b)},getNodeByTId:function(a){return h.getNodeCache(d,a)},getNodesByParam:function(a,b,c){return!a?null:h.getNodesByParam(d,c?c[d.data.key.children]:h.getNodes(d),
+a,b)},getNodesByParamFuzzy:function(a,b,c){return!a?null:h.getNodesByParamFuzzy(d,c?c[d.data.key.children]:h.getNodes(d),a,b)},getNodesByFilter:function(a,b,c,e){b=!!b;return!a||typeof a!="function"?b?null:[]:h.getNodesByFilter(d,c?c[d.data.key.children]:h.getNodes(d),a,b,e)},getNodeIndex:function(a){if(!a)return null;for(var b=d.data.key.children,c=a.parentTId?a.getParentNode():h.getRoot(d),e=0,i=c[b].length;e<i;e++)if(c[b][e]==a)return e;return-1},getSelectedNodes:function(){for(var a=[],b=h.getRoot(d).curSelectedList,
+c=0,e=b.length;c<e;c++)a.push(b[c]);return a},isSelectedNode:function(a){return h.isSelectedNode(d,a)},reAsyncChildNodes:function(a,b,c){if(this.setting.async.enable){var j=!a;j&&(a=h.getRoot(d));if(b=="refresh"){for(var b=this.setting.data.key.children,m=0,p=a[b]?a[b].length:0;m<p;m++)h.removeNodeCache(d,a[b][m]);h.removeSelectedNode(d);a[b]=[];j?this.setting.treeObj.empty():k(a,e.id.UL,d).empty()}i.asyncNode(this.setting,j?null:a,!!c)}},refresh:function(){this.setting.treeObj.empty();var a=h.getRoot(d),
+b=a[d.data.key.children];h.initRoot(d);a[d.data.key.children]=b;h.initCache(d);i.createNodes(d,0,a[d.data.key.children])},removeChildNodes:function(a){if(!a)return null;var b=a[d.data.key.children];i.removeChildNodes(d,a);return b?b:null},removeNode:function(a,b){a&&(b=!!b,b&&j.apply(d.callback.beforeRemove,[d.treeId,a],!0)==!1||(i.removeNode(d,a),b&&this.setting.treeObj.trigger(e.event.REMOVE,[d.treeId,a])))},selectNode:function(a,b){if(a&&j.uCanDo(d)){b=d.view.selectedMulti&&b;if(a.parentTId)i.expandCollapseParentNode(d,
+a.getParentNode(),!0,!1,function(){try{k(a,d).focus().blur()}catch(b){}});else try{k(a,d).focus().blur()}catch(c){}i.selectNode(d,a,b)}},transformTozTreeNodes:function(a){return h.transformTozTreeFormat(d,a)},transformToArray:function(a){return h.transformToArrayFormat(d,a)},updateNode:function(a){a&&k(a,d).get(0)&&j.uCanDo(d)&&(i.setNodeName(d,a),i.setNodeTarget(d,a),i.setNodeUrl(d,a),i.setNodeLineIcos(d,a),i.setNodeFontCss(d,a))}};b.treeTools=c;h.setZTreeTools(d,c);b[a]&&b[a].length>0?i.createNodes(d,
+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);
diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/apiCss/zTreeStyleForApi.css b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/apiCss/zTreeStyleForApi.css index bb4717bc..f57f4adf 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/apiCss/zTreeStyleForApi.css +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/apiCss/zTreeStyleForApi.css @@ -1,49 +1,49 @@ -/*------------------------------------- -zTree Style - -version: 3.0 -author: Hunter.z -email: hunter.z@263.net -website: http://code.google.com/p/jquerytree/ - --------------------------------------*/ - -.ztree * {padding:0; margin:0; font-size:12px; font-family: Verdana, Arial, Helvetica, AppleGothic, sans-serif} -.ztree {margin:0; padding:5px; color:#333} -.ztree li{padding:0; margin:0; list-style:none; line-height:14px; text-align:left; white-space:nowrap} -.ztree li ul{ margin:0; padding:0 0 0 18px} -.ztree li ul.line{ background:url(./img/line_conn.gif) 0 0 repeat-y;} - -.ztree li a {padding:1px 3px 0 0; margin:0; cursor:pointer; color:#333; height:17px; text-decoration:none; vertical-align:top; display: inline-block} -.ztree li a:hover {text-decoration:none} -.ztree li a.curSelectedNode {padding-top:0px; background-color:#FFE6B0; color:black; height:16px; border:1px #FFB951 solid;} -.ztree li a.curSelectedNode_Edit {padding-top:0px; background-color:#FFE6B0; color:black; height:16px; border:1px #FFB951 solid; opacity:0.8; filter:alpha(opacity=80)} -.ztree li a.tmpTargetNode_inner {padding-top:0px; background-color:#316AC5; color:white; height:16px; border:1px #316AC5 solid; opacity:0.8; filter:alpha(opacity=80)} -.ztree li a.tmpTargetNode_prev {} -.ztree li a.tmpTargetNode_next {} -.ztree li a input.rename {height:14px; width:80px; padding:0; margin:0; - font-size:12px; border:1px #7EC4CC solid; *border:0px} -.ztree li span {line-height:16px; margin-right: 2px} -.ztree li span.button {line-height:0; margin:0;width:16px; height:16px; display: inline-block; vertical-align:middle; - border:0 none; cursor: pointer; - background-color:transparent; background-repeat:no-repeat; background-attachment: scroll; - background-image:url("./img/zTreeStandard.png"); *background-image:url("./img/zTreeStandard.gif")} - -.ztree li span.button.switch {width:1px; height:18px; visibility: hidden} - -.zTreeDragUL {margin:0; padding:0; position:absolute; background-color:#cfcfcf; border:1px #00B83F dotted; opacity:0.8; filter:alpha(opacity=80)} -.zTreeMask {z-index:10000; background-color:#cfcfcf; opacity:0.0; filter:alpha(opacity=0); position:absolute} - -/* level 等级样式*/ -/*.ztree li button.level0 { - display:none; -} -.ztree li ul.level0 { - padding:0; - background:none; -}*/ - -.ztree li span.button.core_ico_docu{margin-right:2px; background-position:-126px 0; vertical-align:top; *vertical-align:middle} -.ztree li span.button.check_ico_docu{margin-right:2px; background-position:-126px -16px; vertical-align:top; *vertical-align:middle} -.ztree li span.button.edit_ico_docu{margin-right:2px; background-position:-126px -32px; vertical-align:top; *vertical-align:middle} -.ztree li span.button.hide_ico_docu{margin-right:2px; background-position:-160px 0; vertical-align:top; *vertical-align:middle} +/*-------------------------------------
+zTree Style
+
+version: 3.0
+author: Hunter.z
+email: hunter.z@263.net
+website: http://code.google.com/p/jquerytree/
+
+-------------------------------------*/
+
+.ztree * {padding:0; margin:0; font-size:12px; font-family: Verdana, Arial, Helvetica, AppleGothic, sans-serif}
+.ztree {margin:0; padding:5px; color:#333}
+.ztree li{padding:0; margin:0; list-style:none; line-height:14px; text-align:left; white-space:nowrap}
+.ztree li ul{ margin:0; padding:0 0 0 18px}
+.ztree li ul.line{ background:url(./img/line_conn.gif) 0 0 repeat-y;}
+
+.ztree li a {padding:1px 3px 0 0; margin:0; cursor:pointer; color:#333; height:17px; text-decoration:none; vertical-align:top; display: inline-block}
+.ztree li a:hover {text-decoration:none}
+.ztree li a.curSelectedNode {padding-top:0px; background-color:#FFE6B0; color:black; height:16px; border:1px #FFB951 solid;}
+.ztree li a.curSelectedNode_Edit {padding-top:0px; background-color:#FFE6B0; color:black; height:16px; border:1px #FFB951 solid; opacity:0.8; filter:alpha(opacity=80)}
+.ztree li a.tmpTargetNode_inner {padding-top:0px; background-color:#316AC5; color:white; height:16px; border:1px #316AC5 solid; opacity:0.8; filter:alpha(opacity=80)}
+.ztree li a.tmpTargetNode_prev {}
+.ztree li a.tmpTargetNode_next {}
+.ztree li a input.rename {height:14px; width:80px; padding:0; margin:0;
+ font-size:12px; border:1px #7EC4CC solid; *border:0px}
+.ztree li span {line-height:16px; margin-right: 2px}
+.ztree li span.button {line-height:0; margin:0;width:16px; height:16px; display: inline-block; vertical-align:middle;
+ border:0 none; cursor: pointer;
+ background-color:transparent; background-repeat:no-repeat; background-attachment: scroll;
+ background-image:url("./img/zTreeStandard.png"); *background-image:url("./img/zTreeStandard.gif")}
+
+.ztree li span.button.switch {width:1px; height:18px; visibility: hidden}
+
+.zTreeDragUL {margin:0; padding:0; position:absolute; background-color:#cfcfcf; border:1px #00B83F dotted; opacity:0.8; filter:alpha(opacity=80)}
+.zTreeMask {z-index:10000; background-color:#cfcfcf; opacity:0.0; filter:alpha(opacity=0); position:absolute}
+
+/* level 等级样式*/
+/*.ztree li button.level0 {
+ display:none;
+}
+.ztree li ul.level0 {
+ padding:0;
+ background:none;
+}*/
+
+.ztree li span.button.core_ico_docu{margin-right:2px; background-position:-126px 0; vertical-align:top; *vertical-align:middle}
+.ztree li span.button.check_ico_docu{margin-right:2px; background-position:-126px -16px; vertical-align:top; *vertical-align:middle}
+.ztree li span.button.edit_ico_docu{margin-right:2px; background-position:-126px -32px; vertical-align:top; *vertical-align:middle}
+.ztree li span.button.hide_ico_docu{margin-right:2px; background-position:-160px 0; vertical-align:top; *vertical-align:middle}
diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/fn.zTree._z.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/fn.zTree._z.html index 7af3e40d..beb424aa 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/fn.zTree._z.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/fn.zTree._z.html @@ -1,13 +1,13 @@ -<div class="apiDetail"> -<div> - <h2><span>JSON</span><span class="path">$.fn.zTree.</span>_z</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>zTree v3.x 内部的全部方法都可以通过 $.fn.zTree._z 进行调用,开放出来是为了更便于大家开发制作自己的 zTree 插件。 </p> - <p class="highlight_red">如无特殊需求请勿使用此对象,以及修改此对象内部的各个函数。</p> - </div> - </div> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>JSON</span><span class="path">$.fn.zTree.</span>_z</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>zTree v3.x 内部的全部方法都可以通过 $.fn.zTree._z 进行调用,开放出来是为了更便于大家开发制作自己的 zTree 插件。 </p>
+ <p class="highlight_red">如无特殊需求请勿使用此对象,以及修改此对象内部的各个函数。</p>
+ </div>
+ </div>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/fn.zTree.destroy.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/fn.zTree.destroy.html index 71058076..d9f7397a 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/fn.zTree.destroy.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/fn.zTree.destroy.html @@ -1,28 +1,28 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeId)</span><span class="path">$.fn.zTree.</span>destroy</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>从 zTree v3.4 开始提供销毁 zTree 的方法。 </p> - <p>1、用此方法可以销毁指定 treeId 的 zTree,也可以销毁当前页面全部的 zTree。</p> - <p class="highlight_red">2、销毁指定 treeId 的 zTree 也可以使用 zTreeObj.destroy() 方法。</p> - <p class="highlight_red">3、重新使用已经被销毁的树,必须要使用 init 方法进行初始化。</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>zTree 的 DOM 容器的 id</p> - <p class="highlight_red">省略 treeId,表示销毁当前页面全部的 zTree</p> - <h4 class="topLine"><b>返回值</b><span>无</span></h4> - <p>目前无任何返回值</p> - </div> - <h3>function 举例</h3> - <h4>1. 销毁 id 为 "treeDemo" 的 zTree</h4> - <pre xmlns=""><code>$.fn.zTree.destroy("treeDemo");</code></pre> - <h4>2. 销毁全部 的 zTree</h4> - <pre xmlns=""><code>$.fn.zTree.destroy();</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeId)</span><span class="path">$.fn.zTree.</span>destroy</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>从 zTree v3.4 开始提供销毁 zTree 的方法。 </p>
+ <p>1、用此方法可以销毁指定 treeId 的 zTree,也可以销毁当前页面全部的 zTree。</p>
+ <p class="highlight_red">2、销毁指定 treeId 的 zTree 也可以使用 zTreeObj.destroy() 方法。</p>
+ <p class="highlight_red">3、重新使用已经被销毁的树,必须要使用 init 方法进行初始化。</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>zTree 的 DOM 容器的 id</p>
+ <p class="highlight_red">省略 treeId,表示销毁当前页面全部的 zTree</p>
+ <h4 class="topLine"><b>返回值</b><span>无</span></h4>
+ <p>目前无任何返回值</p>
+ </div>
+ <h3>function 举例</h3>
+ <h4>1. 销毁 id 为 "treeDemo" 的 zTree</h4>
+ <pre xmlns=""><code>$.fn.zTree.destroy("treeDemo");</code></pre>
+ <h4>2. 销毁全部 的 zTree</h4>
+ <pre xmlns=""><code>$.fn.zTree.destroy();</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/fn.zTree.getZTreeObj.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/fn.zTree.getZTreeObj.html index b1d1db40..6858264f 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/fn.zTree.getZTreeObj.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/fn.zTree.getZTreeObj.html @@ -1,24 +1,24 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeId)</span><span class="path">$.fn.zTree.</span>getZTreeObj</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>zTree v3.x 专门提供的根据 treeId 获取 zTree 对象的方法。 </p> - <p class="highlight_red">必须在初始化 zTree 以后才可以使用此方法。</p> - <p>有了这个方法,用户不再需要自己设定全局变量来保存 zTree 初始化后得到的对象了,而且在所有回调函数中全都会返回 treeId 属性,用户可以随时使用此方法获取需要进行操作的 zTree 对象</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>zTree 的 DOM 容器的 id</p> - <h4 class="topLine"><b>返回值</b><span>JSON</span></h4> - <p>zTree 对象,提供操作 zTree 的各种方法,对于通过 js 操作 zTree 来说必须通过此对象</p> - </div> - <h3>function 举例</h3> - <h4>1. 获取 id 为 tree 的 zTree 对象</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeId)</span><span class="path">$.fn.zTree.</span>getZTreeObj</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>zTree v3.x 专门提供的根据 treeId 获取 zTree 对象的方法。 </p>
+ <p class="highlight_red">必须在初始化 zTree 以后才可以使用此方法。</p>
+ <p>有了这个方法,用户不再需要自己设定全局变量来保存 zTree 初始化后得到的对象了,而且在所有回调函数中全都会返回 treeId 属性,用户可以随时使用此方法获取需要进行操作的 zTree 对象</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>zTree 的 DOM 容器的 id</p>
+ <h4 class="topLine"><b>返回值</b><span>JSON</span></h4>
+ <p>zTree 对象,提供操作 zTree 的各种方法,对于通过 js 操作 zTree 来说必须通过此对象</p>
+ </div>
+ <h3>function 举例</h3>
+ <h4>1. 获取 id 为 tree 的 zTree 对象</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/fn.zTree.init.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/fn.zTree.init.html index 8db6d2c7..effeb4fe 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/fn.zTree.init.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/fn.zTree.init.html @@ -1,74 +1,74 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(obj, zSetting, zNodes)</span><span class="path">$.fn.zTree.</span>init</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>zTree 初始化方法,创建 zTree 必须使用此方法</p> - <p>1、页面需要进行 W3C 申明,例如:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">。</p> - <p>2、需要首先加载 jquery-1.4.2.js 或其他更高版本的 jQuery 。</p> - <p>3、需要加载 jquery-ztree.core-3.0.js,如果需要用到 编辑功能 或 checkbox / radio 还需要分别加载 jquery-ztree.exedit-3.0.js 和 jquery-ztree.excheck-3.0.js 。</p> - <p>4、需要加载 zTreeStyle.css 以及 zTreeStyle 目录下的 img 文件。</p> - <p>5、如果需要使用自定义图标请参考相应的Demo。</p> - <p>6、请注意设置 zTree 的容器样式 class="ztree",其中 "ztree" 这个 className,可以根据需要随意修改,别忘了修改 css 中对应名字就是了,对于容器如果需要增加其他特殊样式,可根据自己的需要进行修改。</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>obj</b><span>jQuery Object</span></h4> - <p>用于展现 zTree 的 DOM 容器</p> - <h4 class="topLine"><b>zSetting</b><span>JSON</span></h4> - <p>zTree 的配置数据,具体请参考 “setting 配置详解”中的各个属性详细说明</p> - <h4 class="topLine"><b>zNodes</b><span>Array(JSON) / JSON</span></h4> - <p>zTree 的节点数据,具体请参考 “treeNode 节点数据详解”中的各个属性详细说明</p> - <p class="highlight_red">1、v3.x 支持单独添加一个节点,即如果只新增一个节点,不用必须包在数组中</p> - <p class="highlight_red">2、如果需要异步加载根节点,可以设置为 null 或 [ ]</p> - <p class="highlight_red">3、使用简单数据模式,请参考 setting.data.simpleData 内的属性说明</p> - <h4 class="topLine"><b>返回值</b><span>JSON</span></h4> - <p>zTree 对象,提供操作 zTree 的各种方法,对于通过 js 操作 zTree 来说必须通过此对象</p> - <p class="highlight_red">如果不需要自行设定全局变量保存,可以利用 $.fn.zTree.getZTreeObj 方法随时获取</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 简单创建 zTree 演示</h4> - <pre xmlns=""><code><!DOCTYPE html> -<HTML> - <HEAD> - <TITLE> ZTREE DEMO </TITLE> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - <link rel="stylesheet" href="zTreeStyle/zTreeStyle.css" type="text/css"> - <script type="text/javascript" src="jquery-1.4.2.js"></script> - <script type="text/javascript" src="jquery.ztree.core-3.5.js"></script> -<!-- - <script type="text/javascript" src="jquery.ztree.excheck-3.5.js"></script> - <script type="text/javascript" src="jquery.ztree.exedit-3.5.js"></script> ---> - <SCRIPT type="text/javascript" > - var zTreeObj, - setting = { - view: { - selectedMulti: false - } - }, - zTreeNodes = [ - {"name":"网站导航", open:true, children: [ - { "name":"google", "url":"http://g.cn", "target":"_blank"}, - { "name":"baidu", "url":"http://baidu.com", "target":"_blank"}, - { "name":"sina", "url":"http://www.sina.com.cn", "target":"_blank"} - ] - } - ]; - - $(document).ready(function(){ - zTreeObj = $.fn.zTree.init($("#tree"), setting, zTreeNodes); - - }); - </SCRIPT> - </HEAD> - -<BODY> -<ul id="tree" class="ztree" style="width:230px; overflow:auto;"></ul> - </BODY> -</HTML></code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(obj, zSetting, zNodes)</span><span class="path">$.fn.zTree.</span>init</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>zTree 初始化方法,创建 zTree 必须使用此方法</p>
+ <p>1、页面需要进行 W3C 申明,例如:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">。</p>
+ <p>2、需要首先加载 jquery-1.4.2.js 或其他更高版本的 jQuery 。</p>
+ <p>3、需要加载 jquery-ztree.core-3.0.js,如果需要用到 编辑功能 或 checkbox / radio 还需要分别加载 jquery-ztree.exedit-3.0.js 和 jquery-ztree.excheck-3.0.js 。</p>
+ <p>4、需要加载 zTreeStyle.css 以及 zTreeStyle 目录下的 img 文件。</p>
+ <p>5、如果需要使用自定义图标请参考相应的Demo。</p>
+ <p>6、请注意设置 zTree 的容器样式 class="ztree",其中 "ztree" 这个 className,可以根据需要随意修改,别忘了修改 css 中对应名字就是了,对于容器如果需要增加其他特殊样式,可根据自己的需要进行修改。</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>obj</b><span>jQuery Object</span></h4>
+ <p>用于展现 zTree 的 DOM 容器</p>
+ <h4 class="topLine"><b>zSetting</b><span>JSON</span></h4>
+ <p>zTree 的配置数据,具体请参考 “setting 配置详解”中的各个属性详细说明</p>
+ <h4 class="topLine"><b>zNodes</b><span>Array(JSON) / JSON</span></h4>
+ <p>zTree 的节点数据,具体请参考 “treeNode 节点数据详解”中的各个属性详细说明</p>
+ <p class="highlight_red">1、v3.x 支持单独添加一个节点,即如果只新增一个节点,不用必须包在数组中</p>
+ <p class="highlight_red">2、如果需要异步加载根节点,可以设置为 null 或 [ ]</p>
+ <p class="highlight_red">3、使用简单数据模式,请参考 setting.data.simpleData 内的属性说明</p>
+ <h4 class="topLine"><b>返回值</b><span>JSON</span></h4>
+ <p>zTree 对象,提供操作 zTree 的各种方法,对于通过 js 操作 zTree 来说必须通过此对象</p>
+ <p class="highlight_red">如果不需要自行设定全局变量保存,可以利用 $.fn.zTree.getZTreeObj 方法随时获取</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 简单创建 zTree 演示</h4>
+ <pre xmlns=""><code><!DOCTYPE html>
+<HTML>
+ <HEAD>
+ <TITLE> ZTREE DEMO </TITLE>
+ <meta http-equiv="content-type" content="text/html; charset=UTF-8">
+ <link rel="stylesheet" href="zTreeStyle/zTreeStyle.css" type="text/css">
+ <script type="text/javascript" src="jquery-1.4.2.js"></script>
+ <script type="text/javascript" src="jquery.ztree.core-3.5.js"></script>
+<!--
+ <script type="text/javascript" src="jquery.ztree.excheck-3.5.js"></script>
+ <script type="text/javascript" src="jquery.ztree.exedit-3.5.js"></script>
+-->
+ <SCRIPT type="text/javascript" >
+ var zTreeObj,
+ setting = {
+ view: {
+ selectedMulti: false
+ }
+ },
+ zTreeNodes = [
+ {"name":"网站导航", open:true, children: [
+ { "name":"google", "url":"http://g.cn", "target":"_blank"},
+ { "name":"baidu", "url":"http://baidu.com", "target":"_blank"},
+ { "name":"sina", "url":"http://www.sina.com.cn", "target":"_blank"}
+ ]
+ }
+ ];
+
+ $(document).ready(function(){
+ zTreeObj = $.fn.zTree.init($("#tree"), setting, zTreeNodes);
+
+ });
+ </SCRIPT>
+ </HEAD>
+
+<BODY>
+<ul id="tree" class="ztree" style="width:230px; overflow:auto;"></ul>
+ </BODY>
+</HTML></code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.async.autoParam.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.async.autoParam.html index cf0f4d27..09c92e91 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.async.autoParam.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.async.autoParam.html @@ -1,39 +1,39 @@ -<div class="apiDetail"> -<div> - <h2><span>Array(String)</span><span class="path">setting.async.</span>autoParam</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>异步加载时需要自动提交父节点属性的参数。<span class="highlight_red">[setting.async.enable = true 时生效]</span></p> - <p>默认值:[ ]</p> - </div> - </div> - <h3>Array(String) 格式说明</h3> - <div class="desc"> - <p>1、将需要作为参数提交的属性名称,制作成 Array 即可,例如:["id", "name"]</p> - <p>2、可以设置提交时的参数名称,例如 server 只接受 zId : ["id=zId"]</p> - </div> - <h3>setting 举例</h3> - <h4>1. 设置 id 属性为自动提交的参数</h4> - <pre xmlns=""><code>var setting = { - async: { - enable: true, - url: "http://host/getNode.php", - autoParam: ["id"] - } -}; -假设 异步加载 父节点(node = {id:1, name:"test"}) 的子节点时,将提交参数 id=1 -......</code></pre> - <h4>2. 设置 id 属性作为 zId 成为自动提交的参数</h4> - <pre xmlns=""><code>var setting = { - async: { - enable: true, - url: "http://host/getNode.php", - autoParam: ["id=zId"] - } -}; -假设 对父节点 node = {id:1, name:"test"},进行异步加载时,将提交参数 zId=1 -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Array(String)</span><span class="path">setting.async.</span>autoParam</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>异步加载时需要自动提交父节点属性的参数。<span class="highlight_red">[setting.async.enable = true 时生效]</span></p>
+ <p>默认值:[ ]</p>
+ </div>
+ </div>
+ <h3>Array(String) 格式说明</h3>
+ <div class="desc">
+ <p>1、将需要作为参数提交的属性名称,制作成 Array 即可,例如:["id", "name"]</p>
+ <p>2、可以设置提交时的参数名称,例如 server 只接受 zId : ["id=zId"]</p>
+ </div>
+ <h3>setting 举例</h3>
+ <h4>1. 设置 id 属性为自动提交的参数</h4>
+ <pre xmlns=""><code>var setting = {
+ async: {
+ enable: true,
+ url: "http://host/getNode.php",
+ autoParam: ["id"]
+ }
+};
+假设 异步加载 父节点(node = {id:1, name:"test"}) 的子节点时,将提交参数 id=1
+......</code></pre>
+ <h4>2. 设置 id 属性作为 zId 成为自动提交的参数</h4>
+ <pre xmlns=""><code>var setting = {
+ async: {
+ enable: true,
+ url: "http://host/getNode.php",
+ autoParam: ["id=zId"]
+ }
+};
+假设 对父节点 node = {id:1, name:"test"},进行异步加载时,将提交参数 zId=1
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.async.contentType.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.async.contentType.html index db0c92fe..4547e328 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.async.contentType.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.async.contentType.html @@ -1,29 +1,29 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">setting.async.</span>contentType</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Ajax 提交参数的数据类型。<span class="highlight_red">[setting.async.enable = true 时生效]</span></p> - <p>默认值:"application/x-www-form-urlencoded"</p> - </div> - </div> - <h3>String 格式说明</h3> - <div class="desc"> - <p> contentType = "application/x-www-form-urlencoded" 可以满足绝大部分请求,按照标准的 Form 格式提交参数</p> - <p> contentType = "application/json" 可以满足 .Net 的编程需要,按照 JSON 格式提交参数</p> - </div> - <h3>setting 举例</h3> - <h4>1. 设置 Ajax 提交参数的数据类型为 JSON 格式</h4> - <pre xmlns=""><code>var setting = { - async: { - enable: true, - contentType: "application/json", - url: "http://host/getNode.php", - autoParam: ["id", "name"] - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">setting.async.</span>contentType</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Ajax 提交参数的数据类型。<span class="highlight_red">[setting.async.enable = true 时生效]</span></p>
+ <p>默认值:"application/x-www-form-urlencoded"</p>
+ </div>
+ </div>
+ <h3>String 格式说明</h3>
+ <div class="desc">
+ <p> contentType = "application/x-www-form-urlencoded" 可以满足绝大部分请求,按照标准的 Form 格式提交参数</p>
+ <p> contentType = "application/json" 可以满足 .Net 的编程需要,按照 JSON 格式提交参数</p>
+ </div>
+ <h3>setting 举例</h3>
+ <h4>1. 设置 Ajax 提交参数的数据类型为 JSON 格式</h4>
+ <pre xmlns=""><code>var setting = {
+ async: {
+ enable: true,
+ contentType: "application/json",
+ url: "http://host/getNode.php",
+ autoParam: ["id", "name"]
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.async.dataFilter.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.async.dataFilter.html index f174bf0f..b5201638 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.async.dataFilter.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.async.dataFilter.html @@ -1,45 +1,45 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeId, parentNode, responseData)</span><span class="path">setting.async.</span>dataFilter</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>用于对 Ajax 返回数据进行预处理的函数。<span class="highlight_red">[setting.async.enable = true 时生效]</span></p> - <p>默认值:null</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p> - <h4 class="topLine"><b>parentNode</b><span>JSON</span></h4> - <p>进行异步加载的父节点 JSON 数据对象</p> - <p class="highlight_red">对根进行异步加载时,parentNode = null</p> - <h4 class="topLine"><b>responseData</b><span>Array(JSON) / JSON / String</span></h4> - <p>异步加载获取到的数据转换后的 Array(JSON) / JSON / String 数据对象</p> - <p class="highlight_red">v3.4开始 支持 XML 数据格式的 String</p> - <h4 class="topLine"><b>返回值</b><span>Array(JSON) / JSON</span></h4> - <p>返回值是 zTree 支持的JSON 数据结构即可。</p> - <p class="highlight_red">v3.x 支持单个 JSON 节点数据进行加载</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 修改异步获取到的节点name属性</h4> - <pre xmlns=""><code>function ajaxDataFilter(treeId, parentNode, responseData) { - if (responseData) { - for(var i =0; i < responseData.length; i++) { - responseData[i].name += "_filter"; - } - } - return responseData; -}; -var setting = { - async: { - enable: true, - url: "http://host/getNode.php", - dataFilter: ajaxDataFilter - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeId, parentNode, responseData)</span><span class="path">setting.async.</span>dataFilter</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>用于对 Ajax 返回数据进行预处理的函数。<span class="highlight_red">[setting.async.enable = true 时生效]</span></p>
+ <p>默认值:null</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
+ <h4 class="topLine"><b>parentNode</b><span>JSON</span></h4>
+ <p>进行异步加载的父节点 JSON 数据对象</p>
+ <p class="highlight_red">对根进行异步加载时,parentNode = null</p>
+ <h4 class="topLine"><b>responseData</b><span>Array(JSON) / JSON / String</span></h4>
+ <p>异步加载获取到的数据转换后的 Array(JSON) / JSON / String 数据对象</p>
+ <p class="highlight_red">v3.4开始 支持 XML 数据格式的 String</p>
+ <h4 class="topLine"><b>返回值</b><span>Array(JSON) / JSON</span></h4>
+ <p>返回值是 zTree 支持的JSON 数据结构即可。</p>
+ <p class="highlight_red">v3.x 支持单个 JSON 节点数据进行加载</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 修改异步获取到的节点name属性</h4>
+ <pre xmlns=""><code>function ajaxDataFilter(treeId, parentNode, responseData) {
+ if (responseData) {
+ for(var i =0; i < responseData.length; i++) {
+ responseData[i].name += "_filter";
+ }
+ }
+ return responseData;
+};
+var setting = {
+ async: {
+ enable: true,
+ url: "http://host/getNode.php",
+ dataFilter: ajaxDataFilter
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.async.dataType.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.async.dataType.html index 6d639b70..697071ba 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.async.dataType.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.async.dataType.html @@ -1,29 +1,29 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">setting.async.</span>dataType</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Ajax 获取的数据类型。<span class="highlight_red">[setting.async.enable = true 时生效]</span></p> - <p>默认值:"text"</p> - </div> - </div> - <h3>String 格式说明</h3> - <div class="desc"> - <p> dataType = "text" 可以满足绝大部分请求</p> - <p class="highlight_red">其余 dataType 类型请参考 jQuery ajax 中的 dataType 参数</p> - </div> - <h3>setting 举例</h3> - <h4>1. 设置 Ajax 获取的数据类型为 纯文本</h4> - <pre xmlns=""><code>var setting = { - async: { - enable: true, - dataType: "text", - url: "http://host/getNode.php", - autoParam: ["id", "name"] - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">setting.async.</span>dataType</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Ajax 获取的数据类型。<span class="highlight_red">[setting.async.enable = true 时生效]</span></p>
+ <p>默认值:"text"</p>
+ </div>
+ </div>
+ <h3>String 格式说明</h3>
+ <div class="desc">
+ <p> dataType = "text" 可以满足绝大部分请求</p>
+ <p class="highlight_red">其余 dataType 类型请参考 jQuery ajax 中的 dataType 参数</p>
+ </div>
+ <h3>setting 举例</h3>
+ <h4>1. 设置 Ajax 获取的数据类型为 纯文本</h4>
+ <pre xmlns=""><code>var setting = {
+ async: {
+ enable: true,
+ dataType: "text",
+ url: "http://host/getNode.php",
+ autoParam: ["id", "name"]
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.async.enable.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.async.enable.html index 9079ae10..98560c41 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.async.enable.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.async.enable.html @@ -1,30 +1,30 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">setting.async.</span>enable</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>设置 zTree 是否开启异步加载模式</p> - <p>默认值:false</p> - </div> - </div> - <h3>Boolean 格式说明</h3> - <div class="desc"> - <p> true 表示 开启 异步加载模式</p> - <p> false 表示 关闭 异步加载模式</p> - <p class="highlight_red">如果设置为 true,请务必设置 setting.async 内的其它参数。</p> - <p class="highlight_red">如果需要根节点也异步加载,初始化时 treeNodes 参数设置为 null 即可。</p> - </div> - <h3>setting 举例</h3> - <h4>1. 需要开启异步加载模式</h4> - <pre xmlns=""><code>var setting = { - async: { - enable: true, - url: "http://host/getNode.php", - autoParam: ["id", "name"] - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">setting.async.</span>enable</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>设置 zTree 是否开启异步加载模式</p>
+ <p>默认值:false</p>
+ </div>
+ </div>
+ <h3>Boolean 格式说明</h3>
+ <div class="desc">
+ <p> true 表示 开启 异步加载模式</p>
+ <p> false 表示 关闭 异步加载模式</p>
+ <p class="highlight_red">如果设置为 true,请务必设置 setting.async 内的其它参数。</p>
+ <p class="highlight_red">如果需要根节点也异步加载,初始化时 treeNodes 参数设置为 null 即可。</p>
+ </div>
+ <h3>setting 举例</h3>
+ <h4>1. 需要开启异步加载模式</h4>
+ <pre xmlns=""><code>var setting = {
+ async: {
+ enable: true,
+ url: "http://host/getNode.php",
+ autoParam: ["id", "name"]
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.async.otherParam.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.async.otherParam.html index 981715f1..0443e153 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.async.otherParam.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.async.otherParam.html @@ -1,40 +1,40 @@ -<div class="apiDetail"> -<div> - <h2><span>Array(String) / JSON</span><span class="path">setting.async.</span>otherParam</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Ajax 请求提交的静态参数键值对。<span class="highlight_red">[setting.async.enable = true 时生效]</span></p> - <p>默认值:[ ]</p> - </div> - </div> - <h3>Array(String) 格式说明</h3> - <div class="desc"> - <p>可以为空[ ],如果有 key,则必须存在 value。 例如:[key, value]</p> - </div> - <h3>JSON 格式说明</h3> - <div class="desc"> - <p>直接用 JSON 格式制作键值对,例如:{ key1:value1, key2:value2 }</p> - </div> - <h3>setting 举例</h3> - <h4>1. 设置 Array(String) 格式的参数</h4> - <pre xmlns=""><code>var setting = { - async: { - enable: true, - url: "http://host/getNode.php", - otherParam: ["id", "1", "name", "test"] - } -}; -进行异步加载时,将提交参数 id=1&name=test</code></pre> - <h4>2. 设置 JSON 格式的参数</h4> - <pre xmlns=""><code>var setting = { - async: { - enable: true, - url: "http://host/getNode.php", - otherParam: { "id":"1", "name":"test"} - } -}; -进行异步加载时,将提交参数 id=1&name=test</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Array(String) / JSON</span><span class="path">setting.async.</span>otherParam</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Ajax 请求提交的静态参数键值对。<span class="highlight_red">[setting.async.enable = true 时生效]</span></p>
+ <p>默认值:[ ]</p>
+ </div>
+ </div>
+ <h3>Array(String) 格式说明</h3>
+ <div class="desc">
+ <p>可以为空[ ],如果有 key,则必须存在 value。 例如:[key, value]</p>
+ </div>
+ <h3>JSON 格式说明</h3>
+ <div class="desc">
+ <p>直接用 JSON 格式制作键值对,例如:{ key1:value1, key2:value2 }</p>
+ </div>
+ <h3>setting 举例</h3>
+ <h4>1. 设置 Array(String) 格式的参数</h4>
+ <pre xmlns=""><code>var setting = {
+ async: {
+ enable: true,
+ url: "http://host/getNode.php",
+ otherParam: ["id", "1", "name", "test"]
+ }
+};
+进行异步加载时,将提交参数 id=1&name=test</code></pre>
+ <h4>2. 设置 JSON 格式的参数</h4>
+ <pre xmlns=""><code>var setting = {
+ async: {
+ enable: true,
+ url: "http://host/getNode.php",
+ otherParam: { "id":"1", "name":"test"}
+ }
+};
+进行异步加载时,将提交参数 id=1&name=test</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.async.type.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.async.type.html index 20d9a6b8..92a46f07 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.async.type.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.async.type.html @@ -1,30 +1,30 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">setting.async.</span>type</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Ajax 的 http 请求模式。<span class="highlight_red">[setting.async.enable = true 时生效]</span></p> - <p>默认值:"post"</p> - </div> - </div> - <h3>String 格式说明</h3> - <div class="desc"> - <p> type = "post" 表示异步加载采用 post 方法请求</p> - <p> type = "get" 表示异步加载采用 get 方法请求</p> - <p class="highlight_red">对应于 jQuery ajax 中的 type 参数</p> - </div> - <h3>setting 举例</h3> - <h4>1. 设置使用 get 方式请求数据</h4> - <pre xmlns=""><code>var setting = { - async: { - enable: true, - type: "get", - url: "http://host/getNode.php", - autoParam: ["id", "name"] - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">setting.async.</span>type</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Ajax 的 http 请求模式。<span class="highlight_red">[setting.async.enable = true 时生效]</span></p>
+ <p>默认值:"post"</p>
+ </div>
+ </div>
+ <h3>String 格式说明</h3>
+ <div class="desc">
+ <p> type = "post" 表示异步加载采用 post 方法请求</p>
+ <p> type = "get" 表示异步加载采用 get 方法请求</p>
+ <p class="highlight_red">对应于 jQuery ajax 中的 type 参数</p>
+ </div>
+ <h3>setting 举例</h3>
+ <h4>1. 设置使用 get 方式请求数据</h4>
+ <pre xmlns=""><code>var setting = {
+ async: {
+ enable: true,
+ type: "get",
+ url: "http://host/getNode.php",
+ autoParam: ["id", "name"]
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.async.url.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.async.url.html index a5209afa..6ed65512 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.async.url.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.async.url.html @@ -1,50 +1,50 @@ -<div class="apiDetail"> -<div> - <h2><span>String / Function(treeId, treeNode)</span><span class="path">setting.async.</span>url</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Ajax 获取数据的 URL 地址。<span class="highlight_red">[setting.async.enable = true 时生效]</span></p> - <p>默认值:""</p> - </div> - </div> - <h3>String 格式说明</h3> - <div class="desc"> - <p>设置固定的异步加载 url 字符串,请注意地址的路径,确保页面能正常加载</p> - <p class="highlight_red">url 内也可以带参数,这些参数就只能是通过 get 方式提交了,并且请注意进行转码</p> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>需要异步加载子节点的的父节点 JSON 数据对象</p> - <p class="highlight_red">针对根进行异步加载时,treeNode = null</p> - <h4 class="topLine"><b>返回值</b><span>String</span></h4> - <p>返回值同 String 格式的数据</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 设置异步获取节点的 URL 为 nodes.php</h4> - <pre xmlns=""><code>var setting = { - async: { - enable: true, - url: "nodes.php", - autoParam: ["id", "name"] - } -}; -......</code></pre> - <h4>2. 设置异步获取节点的 URL 为 function 动态获取</h4> - <pre xmlns=""><code>function getAsyncUrl(treeId, treeNode) { - return treeNode.isParent ? "nodes1.php" : "nodes2.php"; -}; -var setting = { - async: { - enable: true, - url: getAsyncUrl, - autoParam: ["id", "name"] - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String / Function(treeId, treeNode)</span><span class="path">setting.async.</span>url</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Ajax 获取数据的 URL 地址。<span class="highlight_red">[setting.async.enable = true 时生效]</span></p>
+ <p>默认值:""</p>
+ </div>
+ </div>
+ <h3>String 格式说明</h3>
+ <div class="desc">
+ <p>设置固定的异步加载 url 字符串,请注意地址的路径,确保页面能正常加载</p>
+ <p class="highlight_red">url 内也可以带参数,这些参数就只能是通过 get 方式提交了,并且请注意进行转码</p>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>需要异步加载子节点的的父节点 JSON 数据对象</p>
+ <p class="highlight_red">针对根进行异步加载时,treeNode = null</p>
+ <h4 class="topLine"><b>返回值</b><span>String</span></h4>
+ <p>返回值同 String 格式的数据</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 设置异步获取节点的 URL 为 nodes.php</h4>
+ <pre xmlns=""><code>var setting = {
+ async: {
+ enable: true,
+ url: "nodes.php",
+ autoParam: ["id", "name"]
+ }
+};
+......</code></pre>
+ <h4>2. 设置异步获取节点的 URL 为 function 动态获取</h4>
+ <pre xmlns=""><code>function getAsyncUrl(treeId, treeNode) {
+ return treeNode.isParent ? "nodes1.php" : "nodes2.php";
+};
+var setting = {
+ async: {
+ enable: true,
+ url: getAsyncUrl,
+ autoParam: ["id", "name"]
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeAsync.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeAsync.html index 70ba0fc4..ea298dba 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeAsync.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeAsync.html @@ -1,35 +1,35 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeId, treeNode)</span><span class="path">setting.callback.</span>beforeAsync</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>用于捕获异步加载之前的事件回调函数,zTree 根据返回值确定是否允许进行异步加载</p> - <p>默认值:null</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>进行异步加载的父节点 JSON 数据对象</p> - <p class="highlight_red">针对根进行异步加载时,treeNode = null</p> - <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4> - <p>返回值是 true / false</p> - <p class="highlight_red">如果返回 false,zTree 将不进行异步加载,也无法触发 onAsyncSuccess / onAsyncError 事件回调函数</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 禁止 id 为 1 的父节点进行异步加载操作</h4> - <pre xmlns=""><code>function zTreeBeforeAsync(treeId, treeNode) { - return (treeNode.id !== 1); -}; -var setting = { - callback: { - beforeAsync: zTreeBeforeAsync - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeId, treeNode)</span><span class="path">setting.callback.</span>beforeAsync</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>用于捕获异步加载之前的事件回调函数,zTree 根据返回值确定是否允许进行异步加载</p>
+ <p>默认值:null</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>进行异步加载的父节点 JSON 数据对象</p>
+ <p class="highlight_red">针对根进行异步加载时,treeNode = null</p>
+ <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4>
+ <p>返回值是 true / false</p>
+ <p class="highlight_red">如果返回 false,zTree 将不进行异步加载,也无法触发 onAsyncSuccess / onAsyncError 事件回调函数</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 禁止 id 为 1 的父节点进行异步加载操作</h4>
+ <pre xmlns=""><code>function zTreeBeforeAsync(treeId, treeNode) {
+ return (treeNode.id !== 1);
+};
+var setting = {
+ callback: {
+ beforeAsync: zTreeBeforeAsync
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeCheck.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeCheck.html index a0e1f42f..18d105dc 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeCheck.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeCheck.html @@ -1,34 +1,34 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeId, treeNode)</span><span class="path">setting.callback.</span>beforeCheck</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>用于捕获 勾选 或 取消勾选 之前的事件回调函数,并且根据返回值确定是否允许 勾选 或 取消勾选 </p> - <p>默认值:null</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>进行 勾选 或 取消勾选 的节点 JSON 数据对象</p> - <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4> - <p>返回值是 true / false</p> - <p class="highlight_red">如果返回 false,将不会改变勾选状态,并且无法触发 onCheck 事件回调函数</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 禁止所有勾选操作,保持初始化的勾选状态</h4> - <pre xmlns=""><code>function zTreeBeforeCheck(treeId, treeNode) { - return false; -}; -var setting = { - callback: { - beforeCheck: zTreeBeforeCheck - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeId, treeNode)</span><span class="path">setting.callback.</span>beforeCheck</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>用于捕获 勾选 或 取消勾选 之前的事件回调函数,并且根据返回值确定是否允许 勾选 或 取消勾选 </p>
+ <p>默认值:null</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>进行 勾选 或 取消勾选 的节点 JSON 数据对象</p>
+ <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4>
+ <p>返回值是 true / false</p>
+ <p class="highlight_red">如果返回 false,将不会改变勾选状态,并且无法触发 onCheck 事件回调函数</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 禁止所有勾选操作,保持初始化的勾选状态</h4>
+ <pre xmlns=""><code>function zTreeBeforeCheck(treeId, treeNode) {
+ return false;
+};
+var setting = {
+ callback: {
+ beforeCheck: zTreeBeforeCheck
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeClick.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeClick.html index 6efe9286..936812b3 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeClick.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeClick.html @@ -1,49 +1,49 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeId, treeNode, clickFlag)</span><span class="path">setting.callback.</span>beforeClick</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>用于捕获单击节点之前的事件回调函数,并且根据返回值确定是否允许单击操作</p> - <p>默认值:null</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>被单击的节点 JSON 数据对象</p> - <h4 class="topLine"><b>clickFlag</b><span>Number</span></h4> - <p>节点被点击后的选中操作类型,详细看下表</p> - <table width="100%" border="0" cellspacing="1" cellpadding="0"> - <thead><tr><td>clickFlag</td><td title="是否允许多点选中">selectedMulti</td><td title="是否按下 Ctrl 或 Cmd 键">autoCancelSelected<br/>&&<br/>event.ctrlKey / metaKey</td><td title="节点当前选择状态">isSelected</td><td>选中操作</td></tr></thead> - <tbody> - <tr><td>1</td><td>true</td><td>false</td><td>false</td><td>普通选中</td></tr> - <tr><td>1</td><td>true</td><td>false</td><td>true</td><td>普通选中</td></tr> - <tr><td>2</td><td>true</td><td>true</td><td>false</td><td>追加选中</td></tr> - <tr><td>0</td><td>true</td><td>true</td><td>true</td><td>取消选中</td></tr> - <tr><td>1</td><td>false</td><td>false</td><td>false</td><td>普通选中</td></tr> - <tr><td>1</td><td>false</td><td>false</td><td>true</td><td>普通选中</td></tr> - <tr><td>1</td><td>false</td><td>true</td><td>false</td><td>普通选中</td></tr> - <tr><td>0</td><td>false</td><td>true</td><td>true</td><td>取消选中</td></tr> - </tbody> - </table> - <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4> - <p>返回值是 true / false</p> - <p class="highlight_red">如果返回 false,zTree 将不会选中节点,也无法触发 onClick 事件回调函数</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 禁止节点被选中</h4> - <pre xmlns=""><code>function zTreeBeforeClick(treeId, treeNode, clickFlag) { - return (treeNode.id !== 1); -}; -var setting = { - callback: { - beforeClick: zTreeBeforeClick - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeId, treeNode, clickFlag)</span><span class="path">setting.callback.</span>beforeClick</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>用于捕获单击节点之前的事件回调函数,并且根据返回值确定是否允许单击操作</p>
+ <p>默认值:null</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>被单击的节点 JSON 数据对象</p>
+ <h4 class="topLine"><b>clickFlag</b><span>Number</span></h4>
+ <p>节点被点击后的选中操作类型,详细看下表</p>
+ <table width="100%" border="0" cellspacing="1" cellpadding="0">
+ <thead><tr><td>clickFlag</td><td title="是否允许多点选中">selectedMulti</td><td title="是否按下 Ctrl 或 Cmd 键">autoCancelSelected<br/>&&<br/>event.ctrlKey / metaKey</td><td title="节点当前选择状态">isSelected</td><td>选中操作</td></tr></thead>
+ <tbody>
+ <tr><td>1</td><td>true</td><td>false</td><td>false</td><td>普通选中</td></tr>
+ <tr><td>1</td><td>true</td><td>false</td><td>true</td><td>普通选中</td></tr>
+ <tr><td>2</td><td>true</td><td>true</td><td>false</td><td>追加选中</td></tr>
+ <tr><td>0</td><td>true</td><td>true</td><td>true</td><td>取消选中</td></tr>
+ <tr><td>1</td><td>false</td><td>false</td><td>false</td><td>普通选中</td></tr>
+ <tr><td>1</td><td>false</td><td>false</td><td>true</td><td>普通选中</td></tr>
+ <tr><td>1</td><td>false</td><td>true</td><td>false</td><td>普通选中</td></tr>
+ <tr><td>0</td><td>false</td><td>true</td><td>true</td><td>取消选中</td></tr>
+ </tbody>
+ </table>
+ <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4>
+ <p>返回值是 true / false</p>
+ <p class="highlight_red">如果返回 false,zTree 将不会选中节点,也无法触发 onClick 事件回调函数</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 禁止节点被选中</h4>
+ <pre xmlns=""><code>function zTreeBeforeClick(treeId, treeNode, clickFlag) {
+ return (treeNode.id !== 1);
+};
+var setting = {
+ callback: {
+ beforeClick: zTreeBeforeClick
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeCollapse.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeCollapse.html index d778e9c8..dd660df6 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeCollapse.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeCollapse.html @@ -1,34 +1,34 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeId, treeNode)</span><span class="path">setting.callback.</span>beforeCollapse</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>用于捕获父节点折叠之前的事件回调函数,并且根据返回值确定是否允许折叠操作</p> - <p>默认值:null</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>要折叠的父节点 JSON 数据对象</p> - <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4> - <p>返回值是 true / false</p> - <p class="highlight_red">如果返回 false,zTree 将不会折叠节点,也无法触发 onCollapse 事件回调函数</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 禁止所有已展开的父节点折叠</h4> - <pre xmlns=""><code>function zTreeBeforeCollapse(treeId, treeNode) { - return false; -}; -var setting = { - callback: { - beforeCollapse: zTreeBeforeCollapse - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeId, treeNode)</span><span class="path">setting.callback.</span>beforeCollapse</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>用于捕获父节点折叠之前的事件回调函数,并且根据返回值确定是否允许折叠操作</p>
+ <p>默认值:null</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>要折叠的父节点 JSON 数据对象</p>
+ <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4>
+ <p>返回值是 true / false</p>
+ <p class="highlight_red">如果返回 false,zTree 将不会折叠节点,也无法触发 onCollapse 事件回调函数</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 禁止所有已展开的父节点折叠</h4>
+ <pre xmlns=""><code>function zTreeBeforeCollapse(treeId, treeNode) {
+ return false;
+};
+var setting = {
+ callback: {
+ beforeCollapse: zTreeBeforeCollapse
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeDblClick.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeDblClick.html index ed7e4dc2..47cce1d4 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeDblClick.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeDblClick.html @@ -1,36 +1,36 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeId, treeNode)</span><span class="path">setting.callback.</span>beforeDblClick</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>用于捕获 zTree 上鼠标双击之前的事件回调函数,并且根据返回值确定触发 onDblClick 事件回调函数</p> - <p>默认值:null</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>鼠标双击时所在节点的 JSON 数据对象</p> - <p class="highlight_red">如果不在节点上,则返回 null</p> - <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4> - <p>返回值是 true / false</p> - <p class="highlight_red">如果返回 false,将仅仅无法触发 onDblClick 事件回调函数,对其他操作无任何影响</p> - <p class="highlight_red">此事件回调函数对双击节点展开功能无任何影响,如果需要设置请参考 setting.view.dblClickExpand 属性</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 禁止 onDblClick 事件</h4> - <pre xmlns=""><code>function zTreeBeforeDblClick(treeId, treeNode) { - return false; -}; -var setting = { - callback: { - beforeDblClick: zTreeBeforeDblClick - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeId, treeNode)</span><span class="path">setting.callback.</span>beforeDblClick</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>用于捕获 zTree 上鼠标双击之前的事件回调函数,并且根据返回值确定触发 onDblClick 事件回调函数</p>
+ <p>默认值:null</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>鼠标双击时所在节点的 JSON 数据对象</p>
+ <p class="highlight_red">如果不在节点上,则返回 null</p>
+ <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4>
+ <p>返回值是 true / false</p>
+ <p class="highlight_red">如果返回 false,将仅仅无法触发 onDblClick 事件回调函数,对其他操作无任何影响</p>
+ <p class="highlight_red">此事件回调函数对双击节点展开功能无任何影响,如果需要设置请参考 setting.view.dblClickExpand 属性</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 禁止 onDblClick 事件</h4>
+ <pre xmlns=""><code>function zTreeBeforeDblClick(treeId, treeNode) {
+ return false;
+};
+var setting = {
+ callback: {
+ beforeDblClick: zTreeBeforeDblClick
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeDrag.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeDrag.html index 1e783a3c..2de48033 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeDrag.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeDrag.html @@ -1,39 +1,39 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeId, treeNodes)</span><span class="path">setting.callback.</span>beforeDrag</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>用于捕获节点被拖拽之前的事件回调函数,并且根据返回值确定是否允许开启拖拽操作</p> - <p>默认值:null</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>被拖拽的节点 treeNodes 所在 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p> - <h4 class="topLine"><b>treeNodes</b><span>Array(JSON)</span></h4> - <p>要被拖拽的节点 JSON 数据集合</p> - <p class="highlight_red">v3.x 允许多个同级节点同时被拖拽,因此将此参数修改为 Array(JSON)</p> - <p class="highlight_red">如果拖拽时多个被选择的节点不是同级关系,则只能拖拽鼠标当前所在位置的节点</p> - <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4> - <p>返回值是 true / false</p> - <p class="highlight_red">如果返回 false,zTree 将终止拖拽,也无法触发 onDrag / beforeDrop / onDrop 事件回调函数</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 禁止全部拖拽操作</h4> - <pre xmlns=""><code>function zTreeBeforeDrag(treeId, treeNodes) { - return false; -}; -var setting = { - edit: { - enable: true - }, - callback: { - beforeDrag: zTreeBeforeDrag - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeId, treeNodes)</span><span class="path">setting.callback.</span>beforeDrag</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>用于捕获节点被拖拽之前的事件回调函数,并且根据返回值确定是否允许开启拖拽操作</p>
+ <p>默认值:null</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>被拖拽的节点 treeNodes 所在 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
+ <h4 class="topLine"><b>treeNodes</b><span>Array(JSON)</span></h4>
+ <p>要被拖拽的节点 JSON 数据集合</p>
+ <p class="highlight_red">v3.x 允许多个同级节点同时被拖拽,因此将此参数修改为 Array(JSON)</p>
+ <p class="highlight_red">如果拖拽时多个被选择的节点不是同级关系,则只能拖拽鼠标当前所在位置的节点</p>
+ <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4>
+ <p>返回值是 true / false</p>
+ <p class="highlight_red">如果返回 false,zTree 将终止拖拽,也无法触发 onDrag / beforeDrop / onDrop 事件回调函数</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 禁止全部拖拽操作</h4>
+ <pre xmlns=""><code>function zTreeBeforeDrag(treeId, treeNodes) {
+ return false;
+};
+var setting = {
+ edit: {
+ enable: true
+ },
+ callback: {
+ beforeDrag: zTreeBeforeDrag
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeDragOpen.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeDragOpen.html index ceab2d34..b1699267 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeDragOpen.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeDragOpen.html @@ -1,37 +1,37 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeId, treeNode)</span><span class="path">setting.callback.</span>beforeDragOpen</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>用于捕获拖拽节点移动到折叠状态的父节点后,即将自动展开该父节点之前的事件回调函数,并且根据返回值确定是否允许自动展开操作</p> - <p>默认值:null</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>需要被展开的父节点 treeNode 所在 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>要被自动展开的父节点 JSON 数据对象</p> - <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4> - <p>返回值是 true / false</p> - <p class="highlight_red">如果返回 false,zTree 将无法进行自动展开操作</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 禁止全部拖拽时的自动展开操作</h4> - <pre xmlns=""><code>function zTreeBeforeDragOpen(treeId, treeNode) { - return false; -}; -var setting = { - edit: { - enable: true - }, - callback: { - beforeDragOpen: zTreeBeforeDragOpen - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeId, treeNode)</span><span class="path">setting.callback.</span>beforeDragOpen</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>用于捕获拖拽节点移动到折叠状态的父节点后,即将自动展开该父节点之前的事件回调函数,并且根据返回值确定是否允许自动展开操作</p>
+ <p>默认值:null</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>需要被展开的父节点 treeNode 所在 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>要被自动展开的父节点 JSON 数据对象</p>
+ <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4>
+ <p>返回值是 true / false</p>
+ <p class="highlight_red">如果返回 false,zTree 将无法进行自动展开操作</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 禁止全部拖拽时的自动展开操作</h4>
+ <pre xmlns=""><code>function zTreeBeforeDragOpen(treeId, treeNode) {
+ return false;
+};
+var setting = {
+ edit: {
+ enable: true
+ },
+ callback: {
+ beforeDragOpen: zTreeBeforeDragOpen
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeDrop.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeDrop.html index 41237434..67794ff7 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeDrop.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeDrop.html @@ -1,48 +1,48 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeId, treeNodes, targetNode, moveType, isCopy)</span><span class="path">setting.callback.</span>beforeDrop</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>用于捕获节点拖拽操作结束之前的事件回调函数,并且根据返回值确定是否允许此拖拽操作</p> - <p>默认值:null</p> - <p class="highlight_red">如未拖拽到有效位置,则不触发此回调函数,直接将节点恢复原位置</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>目标节点 targetNode 所在 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p> - <h4 class="topLine"><b>treeNodes</b><span>Array(JSON)</span></h4> - <p>被拖拽的节点 JSON 数据集合</p> - <p class="highlight_red">无论拖拽操作为 复制 还是 移动,treeNodes 都是当前被拖拽节点的数据集合。</p> - <h4 class="topLine"><b>targetNode</b><span>JSON</span></h4> - <p>treeNodes 被拖拽放开的目标节点 JSON 数据对象。</p> - <p class="highlight_red">如果拖拽成为根节点,则 targetNode = null</p> - <h4 class="topLine"><b>moveType</b><span>String</span></h4> - <p>指定移动到目标节点的相对位置</p> - <p class="highlight_red">"inner":成为子节点,"prev":成为同级前一个节点,"next":成为同级后一个节点</p> - <h4 class="topLine"><b>isCopy</b><span>Boolean</span></h4> - <p>拖拽节点操作是 复制 或 移动</p> - <p class="highlight_red">true:复制;false:移动</p> - <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4> - <p>返回值是 true / false</p> - <p class="highlight_red">如果返回 false,zTree 将恢复被拖拽的节点,也无法触发 onDrop 事件回调函数</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 禁止将节点拖拽成为根节点</h4> - <pre xmlns=""><code>function zTreeBeforeDrop(treeId, treeNodes, targetNode, moveType) { - return !(targetNode == null || (moveType != "inner" && !targetNode.parentTId)); -}; -var setting = { - edit: { - enable: true - }, - callback: { - beforeDrop: zTreeBeforeDrop - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeId, treeNodes, targetNode, moveType, isCopy)</span><span class="path">setting.callback.</span>beforeDrop</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>用于捕获节点拖拽操作结束之前的事件回调函数,并且根据返回值确定是否允许此拖拽操作</p>
+ <p>默认值:null</p>
+ <p class="highlight_red">如未拖拽到有效位置,则不触发此回调函数,直接将节点恢复原位置</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>目标节点 targetNode 所在 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
+ <h4 class="topLine"><b>treeNodes</b><span>Array(JSON)</span></h4>
+ <p>被拖拽的节点 JSON 数据集合</p>
+ <p class="highlight_red">无论拖拽操作为 复制 还是 移动,treeNodes 都是当前被拖拽节点的数据集合。</p>
+ <h4 class="topLine"><b>targetNode</b><span>JSON</span></h4>
+ <p>treeNodes 被拖拽放开的目标节点 JSON 数据对象。</p>
+ <p class="highlight_red">如果拖拽成为根节点,则 targetNode = null</p>
+ <h4 class="topLine"><b>moveType</b><span>String</span></h4>
+ <p>指定移动到目标节点的相对位置</p>
+ <p class="highlight_red">"inner":成为子节点,"prev":成为同级前一个节点,"next":成为同级后一个节点</p>
+ <h4 class="topLine"><b>isCopy</b><span>Boolean</span></h4>
+ <p>拖拽节点操作是 复制 或 移动</p>
+ <p class="highlight_red">true:复制;false:移动</p>
+ <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4>
+ <p>返回值是 true / false</p>
+ <p class="highlight_red">如果返回 false,zTree 将恢复被拖拽的节点,也无法触发 onDrop 事件回调函数</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 禁止将节点拖拽成为根节点</h4>
+ <pre xmlns=""><code>function zTreeBeforeDrop(treeId, treeNodes, targetNode, moveType) {
+ return !(targetNode == null || (moveType != "inner" && !targetNode.parentTId));
+};
+var setting = {
+ edit: {
+ enable: true
+ },
+ callback: {
+ beforeDrop: zTreeBeforeDrop
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeEditName.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeEditName.html index 9df3ca2c..8944cf0f 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeEditName.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeEditName.html @@ -1,38 +1,38 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeId, treeNode)</span><span class="path">setting.callback.</span>beforeEditName</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>用于捕获节点编辑按钮的 click 事件,并且根据返回值确定是否允许进入名称编辑状态</p> - <p class="highlight_red">此事件回调函数最主要是用于捕获编辑按钮的点击事件,然后触发自定义的编辑界面操作。</p> - <p>默认值:null</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>将要进入编辑名称状态的节点 JSON 数据对象</p> - <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4> - <p>返回值是 true / false</p> - <p class="highlight_red">如果返回 false,节点将无法进入 zTree 默认的编辑名称状态</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 禁止修改父节点的名称</h4> - <pre xmlns=""><code>function zTreeBeforeEditName(treeId, treeNode) { - return !treeNode.isParent; -} -var setting = { - edit: { - enable: true - }, - callback: { - beforeEditName: zTreeBeforeEditName - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeId, treeNode)</span><span class="path">setting.callback.</span>beforeEditName</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>用于捕获节点编辑按钮的 click 事件,并且根据返回值确定是否允许进入名称编辑状态</p>
+ <p class="highlight_red">此事件回调函数最主要是用于捕获编辑按钮的点击事件,然后触发自定义的编辑界面操作。</p>
+ <p>默认值:null</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>将要进入编辑名称状态的节点 JSON 数据对象</p>
+ <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4>
+ <p>返回值是 true / false</p>
+ <p class="highlight_red">如果返回 false,节点将无法进入 zTree 默认的编辑名称状态</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 禁止修改父节点的名称</h4>
+ <pre xmlns=""><code>function zTreeBeforeEditName(treeId, treeNode) {
+ return !treeNode.isParent;
+}
+var setting = {
+ edit: {
+ enable: true
+ },
+ callback: {
+ beforeEditName: zTreeBeforeEditName
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeExpand.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeExpand.html index 350972b7..e5a0238a 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeExpand.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeExpand.html @@ -1,34 +1,34 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeId, treeNode)</span><span class="path">setting.callback.</span>beforeExpand</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>用于捕获父节点展开之前的事件回调函数,并且根据返回值确定是否允许展开操作</p> - <p>默认值:null</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>要展开的父节点 JSON 数据对象</p> - <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4> - <p>返回值是 true / false</p> - <p class="highlight_red">如果返回 false,zTree 将不会展开节点,也无法触发 onExpand 事件回调函数</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 禁止所有已折叠的父节点展开</h4> - <pre xmlns=""><code>function zTreeBeforeExpand(treeId, treeNode) { - return false; -}; -var setting = { - callback: { - beforeExpand: zTreeBeforeExpand - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeId, treeNode)</span><span class="path">setting.callback.</span>beforeExpand</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>用于捕获父节点展开之前的事件回调函数,并且根据返回值确定是否允许展开操作</p>
+ <p>默认值:null</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>要展开的父节点 JSON 数据对象</p>
+ <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4>
+ <p>返回值是 true / false</p>
+ <p class="highlight_red">如果返回 false,zTree 将不会展开节点,也无法触发 onExpand 事件回调函数</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 禁止所有已折叠的父节点展开</h4>
+ <pre xmlns=""><code>function zTreeBeforeExpand(treeId, treeNode) {
+ return false;
+};
+var setting = {
+ callback: {
+ beforeExpand: zTreeBeforeExpand
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeMouseDown.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeMouseDown.html index 2c3f28d8..c42712ab 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeMouseDown.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeMouseDown.html @@ -1,35 +1,35 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeId, treeNode)</span><span class="path">setting.callback.</span>beforeMouseDown</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>用于捕获 zTree 上鼠标按键按下之前的事件回调函数,并且根据返回值确定触发 onMouseDown 事件回调函数</p> - <p>默认值:null</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>鼠标按键按下时所在节点的 JSON 数据对象</p> - <p class="highlight_red">如果不在节点上,则返回 null</p> - <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4> - <p>返回值是 true / false</p> - <p class="highlight_red">如果返回 false,将仅仅无法触发 onMouseDown 事件回调函数,对其他操作无任何影响</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 禁止 onMouseDown 事件</h4> - <pre xmlns=""><code>function zTreeBeforeMouseDown(treeId, treeNode) { - return false; -}; -var setting = { - callback: { - beforeMouseDown: zTreeBeforeMouseDown - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeId, treeNode)</span><span class="path">setting.callback.</span>beforeMouseDown</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>用于捕获 zTree 上鼠标按键按下之前的事件回调函数,并且根据返回值确定触发 onMouseDown 事件回调函数</p>
+ <p>默认值:null</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>鼠标按键按下时所在节点的 JSON 数据对象</p>
+ <p class="highlight_red">如果不在节点上,则返回 null</p>
+ <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4>
+ <p>返回值是 true / false</p>
+ <p class="highlight_red">如果返回 false,将仅仅无法触发 onMouseDown 事件回调函数,对其他操作无任何影响</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 禁止 onMouseDown 事件</h4>
+ <pre xmlns=""><code>function zTreeBeforeMouseDown(treeId, treeNode) {
+ return false;
+};
+var setting = {
+ callback: {
+ beforeMouseDown: zTreeBeforeMouseDown
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeMouseUp.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeMouseUp.html index f0b01b97..3ef60d77 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeMouseUp.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeMouseUp.html @@ -1,35 +1,35 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeId, treeNode)</span><span class="path">setting.callback.</span>beforeMouseUp</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>用于捕获 zTree 上鼠标按键松开之前的事件回调函数,并且根据返回值确定触发 onMouseUp 事件回调函数</p> - <p>默认值:null</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>鼠标按键松开时所在节点的 JSON 数据对象</p> - <p class="highlight_red">如果不在节点上,则返回 null</p> - <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4> - <p>返回值是 true / false</p> - <p class="highlight_red">如果返回 false,将仅仅无法触发 onMouseUp 事件回调函数,对其他操作无任何影响</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 禁止 onMouseUp 事件</h4> - <pre xmlns=""><code>function zTreeBeforeMouseUp(treeId, treeNode) { - return false; -}; -var setting = { - callback: { - beforeMouseUp: zTreeBeforeMouseUp - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeId, treeNode)</span><span class="path">setting.callback.</span>beforeMouseUp</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>用于捕获 zTree 上鼠标按键松开之前的事件回调函数,并且根据返回值确定触发 onMouseUp 事件回调函数</p>
+ <p>默认值:null</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>鼠标按键松开时所在节点的 JSON 数据对象</p>
+ <p class="highlight_red">如果不在节点上,则返回 null</p>
+ <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4>
+ <p>返回值是 true / false</p>
+ <p class="highlight_red">如果返回 false,将仅仅无法触发 onMouseUp 事件回调函数,对其他操作无任何影响</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 禁止 onMouseUp 事件</h4>
+ <pre xmlns=""><code>function zTreeBeforeMouseUp(treeId, treeNode) {
+ return false;
+};
+var setting = {
+ callback: {
+ beforeMouseUp: zTreeBeforeMouseUp
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeRemove.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeRemove.html index 0edb3fd0..18f38bd5 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeRemove.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeRemove.html @@ -1,37 +1,37 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeId, treeNode)</span><span class="path">setting.callback.</span>beforeRemove</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>用于捕获节点被删除之前的事件回调函数,并且根据返回值确定是否允许删除操作</p> - <p>默认值:null</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>将要删除的节点 JSON 数据对象</p> - <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4> - <p>返回值是 true / false</p> - <p class="highlight_red">如果返回 false,zTree 将不删除节点,也无法触发 onRemove 事件回调函数</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 禁止全部删除操作</h4> - <pre xmlns=""><code>function zTreeBeforeRemove(treeId, treeNode) { - return false; -} -var setting = { - edit: { - enable: true - }, - callback: { - beforeRemove: zTreeBeforeRemove - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeId, treeNode)</span><span class="path">setting.callback.</span>beforeRemove</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>用于捕获节点被删除之前的事件回调函数,并且根据返回值确定是否允许删除操作</p>
+ <p>默认值:null</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>将要删除的节点 JSON 数据对象</p>
+ <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4>
+ <p>返回值是 true / false</p>
+ <p class="highlight_red">如果返回 false,zTree 将不删除节点,也无法触发 onRemove 事件回调函数</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 禁止全部删除操作</h4>
+ <pre xmlns=""><code>function zTreeBeforeRemove(treeId, treeNode) {
+ return false;
+}
+var setting = {
+ edit: {
+ enable: true
+ },
+ callback: {
+ beforeRemove: zTreeBeforeRemove
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeRename.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeRename.html index 07099619..f476c0a3 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeRename.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeRename.html @@ -1,46 +1,46 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeId, treeNode, newName, isCancel)</span><span class="path">setting.callback.</span>beforeRename</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>用于捕获节点编辑名称结束(Input 失去焦点 或 按下 Enter 键)之后,更新节点名称数据之前的事件回调函数,并且根据返回值确定是否允许更改名称的操作</p> - <p class="highlight_red">节点进入编辑名称状态后,按 ESC 键可以放弃当前修改,恢复原名称,取消编辑名称状态</p> - <p class="highlight_red">从 v3.5.13 开始,取消编辑状态也会触发此回调,根据 isCancel 参数判断</p> - <p>默认值:null</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>将要更改名称的节点 JSON 数据对象</p> - <h4 class="topLine"><b>newName</b><span>String</span></h4> - <p>修改后的新名称</p> - <h4 class="topLine"><b>isCancel</b><span>Boolean</span></h4> - <p>是否取消操作 (v3.5.13+)</p> - <p class="highlight_red">isCancel = true 表示取消编辑操作(按下 ESC 或 使用 cancelEditName 方法)</p> - <p class="highlight_red">isCancel = false 表示确认修改操作</p> - <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4> - <p>返回值是 true / false</p> - <p class="highlight_red">如果返回 false,zTree 将保持名称编辑状态,无法触发 onRename 事件回调函数,并且会导致屏蔽其它事件,直到修改名称使得 beforeRename 返回 true</p> - <p class="highlight_red">如果返回 false,不会让 input 输入框获取焦点,避免由于警告信息而导致反复触发 beforeRename。 请在关闭提示警告信息后,利用 editName 方法让 input 重新获取焦点。</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 禁止修改的名称的长度小于 5</h4> - <pre xmlns=""><code>function zTreeBeforeRename(treeId, treeNode, newName, isCancel) { - return newName.length > 5; -} -var setting = { - edit: { - enable: true - }, - callback: { - beforeRename: zTreeBeforeRename - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeId, treeNode, newName, isCancel)</span><span class="path">setting.callback.</span>beforeRename</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>用于捕获节点编辑名称结束(Input 失去焦点 或 按下 Enter 键)之后,更新节点名称数据之前的事件回调函数,并且根据返回值确定是否允许更改名称的操作</p>
+ <p class="highlight_red">节点进入编辑名称状态后,按 ESC 键可以放弃当前修改,恢复原名称,取消编辑名称状态</p>
+ <p class="highlight_red">从 v3.5.13 开始,取消编辑状态也会触发此回调,根据 isCancel 参数判断</p>
+ <p>默认值:null</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>将要更改名称的节点 JSON 数据对象</p>
+ <h4 class="topLine"><b>newName</b><span>String</span></h4>
+ <p>修改后的新名称</p>
+ <h4 class="topLine"><b>isCancel</b><span>Boolean</span></h4>
+ <p>是否取消操作 (v3.5.13+)</p>
+ <p class="highlight_red">isCancel = true 表示取消编辑操作(按下 ESC 或 使用 cancelEditName 方法)</p>
+ <p class="highlight_red">isCancel = false 表示确认修改操作</p>
+ <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4>
+ <p>返回值是 true / false</p>
+ <p class="highlight_red">如果返回 false,zTree 将保持名称编辑状态,无法触发 onRename 事件回调函数,并且会导致屏蔽其它事件,直到修改名称使得 beforeRename 返回 true</p>
+ <p class="highlight_red">如果返回 false,不会让 input 输入框获取焦点,避免由于警告信息而导致反复触发 beforeRename。 请在关闭提示警告信息后,利用 editName 方法让 input 重新获取焦点。</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 禁止修改的名称的长度小于 5</h4>
+ <pre xmlns=""><code>function zTreeBeforeRename(treeId, treeNode, newName, isCancel) {
+ return newName.length > 5;
+}
+var setting = {
+ edit: {
+ enable: true
+ },
+ callback: {
+ beforeRename: zTreeBeforeRename
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeRightClick.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeRightClick.html index 1a5bdaa3..998c4016 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeRightClick.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.beforeRightClick.html @@ -1,35 +1,35 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeId, treeNode)</span><span class="path">setting.callback.</span>beforeRightClick</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>用于捕获 zTree 上鼠标右键点击之前的事件回调函数,并且根据返回值确定触发 onRightClick 事件回调函数</p> - <p>默认值:null</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>鼠标右键点击时所在节点的 JSON 数据对象</p> - <p class="highlight_red">如果不在节点上,则返回 null</p> - <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4> - <p>返回值是 true / false</p> - <p class="highlight_red">如果返回 false,将仅仅无法触发 onRightClick 事件回调函数,对其他操作无任何影响</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 禁止 onRightClick 事件</h4> - <pre xmlns=""><code>function zTreeBeforeRightClick(treeId, treeNode) { - return false; -}; -var setting = { - callback: { - beforeRightClick: zTreeBeforeRightClick - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeId, treeNode)</span><span class="path">setting.callback.</span>beforeRightClick</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>用于捕获 zTree 上鼠标右键点击之前的事件回调函数,并且根据返回值确定触发 onRightClick 事件回调函数</p>
+ <p>默认值:null</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>鼠标右键点击时所在节点的 JSON 数据对象</p>
+ <p class="highlight_red">如果不在节点上,则返回 null</p>
+ <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4>
+ <p>返回值是 true / false</p>
+ <p class="highlight_red">如果返回 false,将仅仅无法触发 onRightClick 事件回调函数,对其他操作无任何影响</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 禁止 onRightClick 事件</h4>
+ <pre xmlns=""><code>function zTreeBeforeRightClick(treeId, treeNode) {
+ return false;
+};
+var setting = {
+ callback: {
+ beforeRightClick: zTreeBeforeRightClick
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onAsyncError.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onAsyncError.html index c469e113..c5268c49 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onAsyncError.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onAsyncError.html @@ -1,42 +1,42 @@ -<div class="apiDetail"> -<div> - <h2><span class="path">setting.callback.</span>onAsyncError</h2> - <h2><span>Function(event, treeId, treeNode, XMLHttpRequest, textStatus, errorThrown)</span> </h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>用于捕获异步加载出现异常错误的事件回调函数</p> - <p class="highlight_red">如果设置了 setting.callback.beforeAsync 方法,且返回 false,将无法触发 onAsyncSuccess / onAsyncError 事件回调函数。</p> - <p>默认值:null</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>event</b><span>js event 对象</span></h4> - <p>标准的 js event 对象</p> - <h4 class="topLine"><b>treeId</b><span>String</span></h4> - <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>进行异步加载的父节点 JSON 数据对象</p> - <p class="highlight_red">针对根进行异步加载时,treeNode = null</p> - <h4 class="topLine"><b>XMLHttpRequest</b><span>String</span></h4> - <p>标准 XMLHttpRequest 对象,请参考 JQuery API 文档。</p> - <h4 class="topLine"><b>textStatus</b><span>String</span></h4> - <p>请求状态:success,error,请参考 JQuery API 文档。</p> - <h4 class="topLine"><b>errorThrown</b><span>String</span></h4> - <p>errorThrown 只有当异常发生时才会被传递,请参考 JQuery API 文档。</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 异步加载出现异常后,弹出错误信息</h4> - <pre xmlns=""><code>function zTreeOnAsyncError(event, treeId, treeNode, XMLHttpRequest, textStatus, errorThrown) { - alert(XMLHttpRequest); -}; -var setting = { - callback: { - onAsyncError: zTreeOnAsyncError - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span class="path">setting.callback.</span>onAsyncError</h2>
+ <h2><span>Function(event, treeId, treeNode, XMLHttpRequest, textStatus, errorThrown)</span> </h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>用于捕获异步加载出现异常错误的事件回调函数</p>
+ <p class="highlight_red">如果设置了 setting.callback.beforeAsync 方法,且返回 false,将无法触发 onAsyncSuccess / onAsyncError 事件回调函数。</p>
+ <p>默认值:null</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>event</b><span>js event 对象</span></h4>
+ <p>标准的 js event 对象</p>
+ <h4 class="topLine"><b>treeId</b><span>String</span></h4>
+ <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>进行异步加载的父节点 JSON 数据对象</p>
+ <p class="highlight_red">针对根进行异步加载时,treeNode = null</p>
+ <h4 class="topLine"><b>XMLHttpRequest</b><span>String</span></h4>
+ <p>标准 XMLHttpRequest 对象,请参考 JQuery API 文档。</p>
+ <h4 class="topLine"><b>textStatus</b><span>String</span></h4>
+ <p>请求状态:success,error,请参考 JQuery API 文档。</p>
+ <h4 class="topLine"><b>errorThrown</b><span>String</span></h4>
+ <p>errorThrown 只有当异常发生时才会被传递,请参考 JQuery API 文档。</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 异步加载出现异常后,弹出错误信息</h4>
+ <pre xmlns=""><code>function zTreeOnAsyncError(event, treeId, treeNode, XMLHttpRequest, textStatus, errorThrown) {
+ alert(XMLHttpRequest);
+};
+var setting = {
+ callback: {
+ onAsyncError: zTreeOnAsyncError
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onAsyncSuccess.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onAsyncSuccess.html index 081e9d73..aa3fb928 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onAsyncSuccess.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onAsyncSuccess.html @@ -1,38 +1,38 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(event, treeId, treeNode, msg)</span><span class="path">setting.callback.</span>onAsyncSuccess</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>用于捕获异步加载正常结束的事件回调函数</p> - <p class="highlight_red">如果设置了 setting.callback.beforeAsync 方法,且返回 false,将无法触发 onAsyncSuccess / onAsyncError 事件回调函数。</p> - <p>默认值:null</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>event</b><span>js event 对象</span></h4> - <p>标准的 js event 对象</p> - <h4 class="topLine"><b>treeId</b><span>String</span></h4> - <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>进行异步加载的父节点 JSON 数据对象</p> - <p class="highlight_red">针对根进行异步加载时,treeNode = null</p> - <h4 class="topLine"><b>msg</b><span>String / Object</span></h4> - <p>异步获取的节点数据字符串,主要便于用户调试使用。</p> - <p class="highlight_red">实际数据类型会受 setting.async.dataType 的设置影响,请参考 JQuery API 文档。</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 异步加载成功后,弹出提示信息</h4> - <pre xmlns=""><code>function zTreeOnAsyncSuccess(event, treeId, treeNode, msg) { - alert(msg); -}; -var setting = { - callback: { - onAsyncSuccess: zTreeOnAsyncSuccess - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(event, treeId, treeNode, msg)</span><span class="path">setting.callback.</span>onAsyncSuccess</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>用于捕获异步加载正常结束的事件回调函数</p>
+ <p class="highlight_red">如果设置了 setting.callback.beforeAsync 方法,且返回 false,将无法触发 onAsyncSuccess / onAsyncError 事件回调函数。</p>
+ <p>默认值:null</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>event</b><span>js event 对象</span></h4>
+ <p>标准的 js event 对象</p>
+ <h4 class="topLine"><b>treeId</b><span>String</span></h4>
+ <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>进行异步加载的父节点 JSON 数据对象</p>
+ <p class="highlight_red">针对根进行异步加载时,treeNode = null</p>
+ <h4 class="topLine"><b>msg</b><span>String / Object</span></h4>
+ <p>异步获取的节点数据字符串,主要便于用户调试使用。</p>
+ <p class="highlight_red">实际数据类型会受 setting.async.dataType 的设置影响,请参考 JQuery API 文档。</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 异步加载成功后,弹出提示信息</h4>
+ <pre xmlns=""><code>function zTreeOnAsyncSuccess(event, treeId, treeNode, msg) {
+ alert(msg);
+};
+var setting = {
+ callback: {
+ onAsyncSuccess: zTreeOnAsyncSuccess
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onCheck.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onCheck.html index 113eee97..2024ff26 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onCheck.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onCheck.html @@ -1,34 +1,34 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(event, treeId, treeNode)</span><span class="path">setting.callback.</span>onCheck</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>用于捕获 checkbox / radio 被勾选 或 取消勾选的事件回调函数</p> - <p class="highlight_red">如果设置了 setting.callback.beforeCheck 方法,且返回 false,将无法触发 onCheck 事件回调函数。</p> - <p>默认值:null</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>event</b><span>js event 对象</span></h4> - <p>标准的 js event 对象</p> - <h4 class="topLine"><b>treeId</b><span>String</span></h4> - <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>被勾选 或 取消勾选的节点 JSON 数据对象</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 每次点击 checkbox 或 radio 后, 弹出该节点的 tId、name 以及当前勾选状态的信息</h4> - <pre xmlns=""><code>function zTreeOnCheck(event, treeId, treeNode) { - alert(treeNode.tId + ", " + treeNode.name + "," + treeNode.checked); -}; -var setting = { - callback: { - onCheck: zTreeOnCheck - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(event, treeId, treeNode)</span><span class="path">setting.callback.</span>onCheck</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>用于捕获 checkbox / radio 被勾选 或 取消勾选的事件回调函数</p>
+ <p class="highlight_red">如果设置了 setting.callback.beforeCheck 方法,且返回 false,将无法触发 onCheck 事件回调函数。</p>
+ <p>默认值:null</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>event</b><span>js event 对象</span></h4>
+ <p>标准的 js event 对象</p>
+ <h4 class="topLine"><b>treeId</b><span>String</span></h4>
+ <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>被勾选 或 取消勾选的节点 JSON 数据对象</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 每次点击 checkbox 或 radio 后, 弹出该节点的 tId、name 以及当前勾选状态的信息</h4>
+ <pre xmlns=""><code>function zTreeOnCheck(event, treeId, treeNode) {
+ alert(treeNode.tId + ", " + treeNode.name + "," + treeNode.checked);
+};
+var setting = {
+ callback: {
+ onCheck: zTreeOnCheck
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onClick.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onClick.html index 1f7a2664..540665d6 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onClick.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onClick.html @@ -1,49 +1,49 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(event, treeId, treeNode, clickFlag)</span><span class="path">setting.callback.</span>onClick</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>用于捕获节点被点击的事件回调函数</p> - <p class="highlight_red">如果设置了 setting.callback.beforeClick 方法,且返回 false,将无法触发 onClick 事件回调函数。</p> - <p>默认值:null</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>event</b><span>js event 对象</span></h4> - <p>标准的 js event 对象</p> - <h4 class="topLine"><b>treeId</b><span>String</span></h4> - <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>被点击的节点 JSON 数据对象</p> - <h4 class="topLine"><b>clickFlag</b><span>Number</span></h4> - <p>节点被点击后的选中操作类型,详细看下表</p> - <table width="100%" border="0" cellspacing="1" cellpadding="0"> - <thead><tr><td>clickFlag</td><td title="是否允许多点选中">selectedMulti</td><td title="是否按下 Ctrl 或 Cmd 键">autoCancelSelected<br/>&&<br/>event.ctrlKey / metaKey</td><td title="节点当前选择状态">isSelected</td><td>选中操作</td></tr></thead> - <tbody> - <tr><td>1</td><td>true</td><td>false</td><td>false</td><td>普通选中</td></tr> - <tr><td>1</td><td>true</td><td>false</td><td>true</td><td>普通选中</td></tr> - <tr><td>2</td><td>true</td><td>true</td><td>false</td><td>追加选中</td></tr> - <tr><td>0</td><td>true</td><td>true</td><td>true</td><td>取消选中</td></tr> - <tr><td>1</td><td>false</td><td>false</td><td>false</td><td>普通选中</td></tr> - <tr><td>1</td><td>false</td><td>false</td><td>true</td><td>普通选中</td></tr> - <tr><td>1</td><td>false</td><td>true</td><td>false</td><td>普通选中</td></tr> - <tr><td>0</td><td>false</td><td>true</td><td>true</td><td>取消选中</td></tr> - </tbody> - </table> - </div> - <h3>setting & function 举例</h3> - <h4>1. 每次点击节点后, 弹出该节点的 tId、name 的信息</h4> - <pre xmlns=""><code>function zTreeOnClick(event, treeId, treeNode) { - alert(treeNode.tId + ", " + treeNode.name); -}; -var setting = { - callback: { - onClick: zTreeOnClick - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(event, treeId, treeNode, clickFlag)</span><span class="path">setting.callback.</span>onClick</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>用于捕获节点被点击的事件回调函数</p>
+ <p class="highlight_red">如果设置了 setting.callback.beforeClick 方法,且返回 false,将无法触发 onClick 事件回调函数。</p>
+ <p>默认值:null</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>event</b><span>js event 对象</span></h4>
+ <p>标准的 js event 对象</p>
+ <h4 class="topLine"><b>treeId</b><span>String</span></h4>
+ <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>被点击的节点 JSON 数据对象</p>
+ <h4 class="topLine"><b>clickFlag</b><span>Number</span></h4>
+ <p>节点被点击后的选中操作类型,详细看下表</p>
+ <table width="100%" border="0" cellspacing="1" cellpadding="0">
+ <thead><tr><td>clickFlag</td><td title="是否允许多点选中">selectedMulti</td><td title="是否按下 Ctrl 或 Cmd 键">autoCancelSelected<br/>&&<br/>event.ctrlKey / metaKey</td><td title="节点当前选择状态">isSelected</td><td>选中操作</td></tr></thead>
+ <tbody>
+ <tr><td>1</td><td>true</td><td>false</td><td>false</td><td>普通选中</td></tr>
+ <tr><td>1</td><td>true</td><td>false</td><td>true</td><td>普通选中</td></tr>
+ <tr><td>2</td><td>true</td><td>true</td><td>false</td><td>追加选中</td></tr>
+ <tr><td>0</td><td>true</td><td>true</td><td>true</td><td>取消选中</td></tr>
+ <tr><td>1</td><td>false</td><td>false</td><td>false</td><td>普通选中</td></tr>
+ <tr><td>1</td><td>false</td><td>false</td><td>true</td><td>普通选中</td></tr>
+ <tr><td>1</td><td>false</td><td>true</td><td>false</td><td>普通选中</td></tr>
+ <tr><td>0</td><td>false</td><td>true</td><td>true</td><td>取消选中</td></tr>
+ </tbody>
+ </table>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 每次点击节点后, 弹出该节点的 tId、name 的信息</h4>
+ <pre xmlns=""><code>function zTreeOnClick(event, treeId, treeNode) {
+ alert(treeNode.tId + ", " + treeNode.name);
+};
+var setting = {
+ callback: {
+ onClick: zTreeOnClick
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onCollapse.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onCollapse.html index 1c816c20..6331c1d4 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onCollapse.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onCollapse.html @@ -1,34 +1,34 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(event, treeId, treeNode)</span><span class="path">setting.callback.</span>onCollapse</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>用于捕获节点被折叠的事件回调函数</p> - <p class="highlight_red">如果设置了 setting.callback.beforeCollapse 方法,且返回 false,将无法触发 onCollapse 事件回调函数。</p> - <p>默认值:null</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>event</b><span>js event 对象</span></h4> - <p>标准的 js event 对象</p> - <h4 class="topLine"><b>treeId</b><span>String</span></h4> - <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>被折叠的节点 JSON 数据对象</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 每次折叠节点后, 弹出该节点的 tId、name 的信息</h4> - <pre xmlns=""><code>function zTreeOnCollapse(event, treeId, treeNode) { - alert(treeNode.tId + ", " + treeNode.name); -}; -var setting = { - callback: { - onCollapse: zTreeOnCollapse - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(event, treeId, treeNode)</span><span class="path">setting.callback.</span>onCollapse</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>用于捕获节点被折叠的事件回调函数</p>
+ <p class="highlight_red">如果设置了 setting.callback.beforeCollapse 方法,且返回 false,将无法触发 onCollapse 事件回调函数。</p>
+ <p>默认值:null</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>event</b><span>js event 对象</span></h4>
+ <p>标准的 js event 对象</p>
+ <h4 class="topLine"><b>treeId</b><span>String</span></h4>
+ <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>被折叠的节点 JSON 数据对象</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 每次折叠节点后, 弹出该节点的 tId、name 的信息</h4>
+ <pre xmlns=""><code>function zTreeOnCollapse(event, treeId, treeNode) {
+ alert(treeNode.tId + ", " + treeNode.name);
+};
+var setting = {
+ callback: {
+ onCollapse: zTreeOnCollapse
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onDblClick.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onDblClick.html index deb8e626..6a63fe69 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onDblClick.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onDblClick.html @@ -1,35 +1,35 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(event, treeId, treeNode)</span><span class="path">setting.callback.</span>onDblClick</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>用于捕获 zTree 上鼠标双击之后的事件回调函数</p> - <p class="highlight_red">如果设置了 setting.callback.beforeDblClick 方法,且返回 false,将无法触发 onDblClick 事件回调函数。</p> - <p>默认值:null</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>event</b><span>js event 对象</span></h4> - <p>标准的 js event 对象</p> - <h4 class="topLine"><b>treeId</b><span>String</span></h4> - <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>鼠标双击时所在节点的 JSON 数据对象</p> - <p class="highlight_red">如果不在节点上,则返回 null</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 每次鼠标双击后, 弹出鼠标所在节点的 tId、name 的信息</h4> - <pre xmlns=""><code>function zTreeOnDblClick(event, treeId, treeNode) { - alert(treeNode ? treeNode.tId + ", " + treeNode.name : "isRoot"); -}; -var setting = { - callback: { - onDblClick: zTreeOnDblClick - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(event, treeId, treeNode)</span><span class="path">setting.callback.</span>onDblClick</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>用于捕获 zTree 上鼠标双击之后的事件回调函数</p>
+ <p class="highlight_red">如果设置了 setting.callback.beforeDblClick 方法,且返回 false,将无法触发 onDblClick 事件回调函数。</p>
+ <p>默认值:null</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>event</b><span>js event 对象</span></h4>
+ <p>标准的 js event 对象</p>
+ <h4 class="topLine"><b>treeId</b><span>String</span></h4>
+ <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>鼠标双击时所在节点的 JSON 数据对象</p>
+ <p class="highlight_red">如果不在节点上,则返回 null</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 每次鼠标双击后, 弹出鼠标所在节点的 tId、name 的信息</h4>
+ <pre xmlns=""><code>function zTreeOnDblClick(event, treeId, treeNode) {
+ alert(treeNode ? treeNode.tId + ", " + treeNode.name : "isRoot");
+};
+var setting = {
+ callback: {
+ onDblClick: zTreeOnDblClick
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onDrag.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onDrag.html index efd115bd..2cdfeff9 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onDrag.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onDrag.html @@ -1,34 +1,34 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(event, treeId, treeNodes)</span><span class="path">setting.callback.</span>onDrag</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>用于捕获节点被拖拽的事件回调函数</p> - <p class="highlight_red">如果设置了 setting.callback.beforeDrag 方法,且返回 false,将无法触发 onDragMove 和 onDrag 事件回调函数。</p> - <p>默认值:null</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>event</b><span>js event 对象</span></h4> - <p>标准的 js event 对象</p> - <h4 class="topLine"><b>treeId</b><span>String</span></h4> - <p>被拖拽的节点 treeNodes 所在 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p> - <h4 class="topLine"><b>treeNodes</b><span>Array(JSON)</span></h4> - <p>要被拖拽的节点 JSON 数据集合</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 每次开始进行拖拽节点后, 弹出被拖拽节点的个数信息</h4> - <pre xmlns=""><code>function zTreeOnDrag(event, treeId, treeNodes) { - alert(treeNodes.length); -}; -var setting = { - callback: { - onDrag: zTreeOnDrag - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(event, treeId, treeNodes)</span><span class="path">setting.callback.</span>onDrag</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>用于捕获节点被拖拽的事件回调函数</p>
+ <p class="highlight_red">如果设置了 setting.callback.beforeDrag 方法,且返回 false,将无法触发 onDragMove 和 onDrag 事件回调函数。</p>
+ <p>默认值:null</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>event</b><span>js event 对象</span></h4>
+ <p>标准的 js event 对象</p>
+ <h4 class="topLine"><b>treeId</b><span>String</span></h4>
+ <p>被拖拽的节点 treeNodes 所在 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
+ <h4 class="topLine"><b>treeNodes</b><span>Array(JSON)</span></h4>
+ <p>要被拖拽的节点 JSON 数据集合</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 每次开始进行拖拽节点后, 弹出被拖拽节点的个数信息</h4>
+ <pre xmlns=""><code>function zTreeOnDrag(event, treeId, treeNodes) {
+ alert(treeNodes.length);
+};
+var setting = {
+ callback: {
+ onDrag: zTreeOnDrag
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onDragMove.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onDragMove.html index e6a8dd9e..1844043c 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onDragMove.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onDragMove.html @@ -1,34 +1,34 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(event, treeId, treeNodes)</span><span class="path">setting.callback.</span>onDragMove</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>用于捕获节点被拖拽过程中移动的事件回调函数</p> - <p class="highlight_red">主要用于捕获 zTree 节点拖拽到的 DOM,从而操作对应的 DOM。</p> - <p>默认值:null</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>event</b><span>js event 对象</span></h4> - <p>标准的 js event 对象</p> - <h4 class="topLine"><b>treeId</b><span>String</span></h4> - <p>被拖拽的节点 treeNodes 所在 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p> - <h4 class="topLine"><b>treeNodes</b><span>Array(JSON)</span></h4> - <p>要被拖拽的节点 JSON 数据集合</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 拖拽节点时,随时输出 当前拖拽到的目标 DOM</h4> - <pre xmlns=""><code>function zTreeOnDragMove(event, treeId, treeNodes) { - console.log(event.target); -}; -var setting = { - callback: { - onDragMove: zTreeOnDragMove - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(event, treeId, treeNodes)</span><span class="path">setting.callback.</span>onDragMove</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>用于捕获节点被拖拽过程中移动的事件回调函数</p>
+ <p class="highlight_red">主要用于捕获 zTree 节点拖拽到的 DOM,从而操作对应的 DOM。</p>
+ <p>默认值:null</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>event</b><span>js event 对象</span></h4>
+ <p>标准的 js event 对象</p>
+ <h4 class="topLine"><b>treeId</b><span>String</span></h4>
+ <p>被拖拽的节点 treeNodes 所在 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
+ <h4 class="topLine"><b>treeNodes</b><span>Array(JSON)</span></h4>
+ <p>要被拖拽的节点 JSON 数据集合</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 拖拽节点时,随时输出 当前拖拽到的目标 DOM</h4>
+ <pre xmlns=""><code>function zTreeOnDragMove(event, treeId, treeNodes) {
+ console.log(event.target);
+};
+var setting = {
+ callback: {
+ onDragMove: zTreeOnDragMove
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onDrop.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onDrop.html index c6773a88..1dfd6bd8 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onDrop.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onDrop.html @@ -1,46 +1,46 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(event, treeId, treeNodes, targetNode, moveType, isCopy)</span><span class="path">setting.callback.</span>onDrop</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>用于捕获节点拖拽操作结束的事件回调函数</p> - <p class="highlight_red">如果设置了 setting.callback.beforeDrop 方法,且返回 false,将无法触发 onDrop 事件回调函数。</p> - <p>默认值:null</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>event</b><span>js event 对象</span></h4> - <p>标准的 js event 对象</p> - <h4 class="topLine"><b>treeId</b><span>String</span></h4> - <p>目标节点 targetNode 所在 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p> - <h4 class="topLine"><b>treeNodes</b><span>Array(JSON)</span></h4> - <p>被拖拽的节点 JSON 数据集合</p> - <p class="highlight_red">如果拖拽操作为 移动,treeNodes 是当前被拖拽节点的数据集合。</p> - <p class="highlight_red">如果拖拽操作为 复制,treeNodes 是复制后 clone 得到的新节点数据。</p> - <h4 class="topLine"><b>targetNode</b><span>JSON</span></h4> - <p>成为 treeNodes 拖拽结束的目标节点 JSON 数据对象。</p> - <p class="highlight_red">如果拖拽成为根节点,则 targetNode = null</p> - <h4 class="topLine"><b>moveType</b><span>String</span></h4> - <p>指定移动到目标节点的相对位置</p> - <p class="highlight_red">"inner":成为子节点,"prev":成为同级前一个节点,"next":成为同级后一个节点</p> - <p class="highlight_red">如果 moveType = null,表明拖拽无效</p> - <h4 class="topLine"><b>isCopy</b><span>Boolean</span></h4> - <p>拖拽节点操作是 复制 或 移动</p> - <p class="highlight_red">true:复制;false:移动</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 每次拖拽操作结束后, 弹出该被拖拽节点的个数以及目标节点的 tId、name 的信息</h4> - <pre xmlns=""><code>function zTreeOnDrop(event, treeId, treeNodes, targetNode, moveType) { - alert(treeNodes.length + "," + (targetNode ? (targetNode.tId + ", " + targetNode.name) : "isRoot" )); -}; -var setting = { - callback: { - onDrop: zTreeOnDrop - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(event, treeId, treeNodes, targetNode, moveType, isCopy)</span><span class="path">setting.callback.</span>onDrop</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>用于捕获节点拖拽操作结束的事件回调函数</p>
+ <p class="highlight_red">如果设置了 setting.callback.beforeDrop 方法,且返回 false,将无法触发 onDrop 事件回调函数。</p>
+ <p>默认值:null</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>event</b><span>js event 对象</span></h4>
+ <p>标准的 js event 对象</p>
+ <h4 class="topLine"><b>treeId</b><span>String</span></h4>
+ <p>目标节点 targetNode 所在 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
+ <h4 class="topLine"><b>treeNodes</b><span>Array(JSON)</span></h4>
+ <p>被拖拽的节点 JSON 数据集合</p>
+ <p class="highlight_red">如果拖拽操作为 移动,treeNodes 是当前被拖拽节点的数据集合。</p>
+ <p class="highlight_red">如果拖拽操作为 复制,treeNodes 是复制后 clone 得到的新节点数据。</p>
+ <h4 class="topLine"><b>targetNode</b><span>JSON</span></h4>
+ <p>成为 treeNodes 拖拽结束的目标节点 JSON 数据对象。</p>
+ <p class="highlight_red">如果拖拽成为根节点,则 targetNode = null</p>
+ <h4 class="topLine"><b>moveType</b><span>String</span></h4>
+ <p>指定移动到目标节点的相对位置</p>
+ <p class="highlight_red">"inner":成为子节点,"prev":成为同级前一个节点,"next":成为同级后一个节点</p>
+ <p class="highlight_red">如果 moveType = null,表明拖拽无效</p>
+ <h4 class="topLine"><b>isCopy</b><span>Boolean</span></h4>
+ <p>拖拽节点操作是 复制 或 移动</p>
+ <p class="highlight_red">true:复制;false:移动</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 每次拖拽操作结束后, 弹出该被拖拽节点的个数以及目标节点的 tId、name 的信息</h4>
+ <pre xmlns=""><code>function zTreeOnDrop(event, treeId, treeNodes, targetNode, moveType) {
+ alert(treeNodes.length + "," + (targetNode ? (targetNode.tId + ", " + targetNode.name) : "isRoot" ));
+};
+var setting = {
+ callback: {
+ onDrop: zTreeOnDrop
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onExpand.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onExpand.html index 791c5f6f..ea2daeed 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onExpand.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onExpand.html @@ -1,34 +1,34 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(event, treeId, treeNode)</span><span class="path">setting.callback.</span>onExpand</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>用于捕获节点被展开的事件回调函数</p> - <p class="highlight_red">如果设置了 setting.callback.beforeExpand 方法,且返回 false,将无法触发 onExpand 事件回调函数。</p> - <p>默认值:null</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>event</b><span>js event 对象</span></h4> - <p>标准的 js event 对象</p> - <h4 class="topLine"><b>treeId</b><span>String</span></h4> - <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>被展开的节点 JSON 数据对象</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 每次展开节点后, 弹出该节点的 tId、name 的信息</h4> - <pre xmlns=""><code>function zTreeOnExpand(event, treeId, treeNode) { - alert(treeNode.tId + ", " + treeNode.name); -}; -var setting = { - callback: { - onExpand: zTreeOnExpand - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(event, treeId, treeNode)</span><span class="path">setting.callback.</span>onExpand</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>用于捕获节点被展开的事件回调函数</p>
+ <p class="highlight_red">如果设置了 setting.callback.beforeExpand 方法,且返回 false,将无法触发 onExpand 事件回调函数。</p>
+ <p>默认值:null</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>event</b><span>js event 对象</span></h4>
+ <p>标准的 js event 对象</p>
+ <h4 class="topLine"><b>treeId</b><span>String</span></h4>
+ <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>被展开的节点 JSON 数据对象</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 每次展开节点后, 弹出该节点的 tId、name 的信息</h4>
+ <pre xmlns=""><code>function zTreeOnExpand(event, treeId, treeNode) {
+ alert(treeNode.tId + ", " + treeNode.name);
+};
+var setting = {
+ callback: {
+ onExpand: zTreeOnExpand
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onMouseDown.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onMouseDown.html index bc9d0ea7..5ae98d83 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onMouseDown.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onMouseDown.html @@ -1,35 +1,35 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(event, treeId, treeNode)</span><span class="path">setting.callback.</span>onMouseDown</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>用于捕获 zTree 上鼠标按键按下后的事件回调函数</p> - <p class="highlight_red">如果设置了 setting.callback.beforeMouseDown 方法,且返回 false,将无法触发 onMouseDown 事件回调函数。</p> - <p>默认值:null</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>event</b><span>js event 对象</span></h4> - <p>标准的 js event 对象</p> - <h4 class="topLine"><b>treeId</b><span>String</span></h4> - <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>鼠标按键按下时所在节点的 JSON 数据对象</p> - <p class="highlight_red">如果不在节点上,则返回 null</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 每次鼠标按键按下后, 弹出鼠标所在节点的 tId、name 的信息</h4> - <pre xmlns=""><code>function zTreeOnMouseDown(event, treeId, treeNode) { - alert(treeNode ? treeNode.tId + ", " + treeNode.name : "isRoot"); -}; -var setting = { - callback: { - onMouseDown: zTreeOnMouseDown - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(event, treeId, treeNode)</span><span class="path">setting.callback.</span>onMouseDown</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>用于捕获 zTree 上鼠标按键按下后的事件回调函数</p>
+ <p class="highlight_red">如果设置了 setting.callback.beforeMouseDown 方法,且返回 false,将无法触发 onMouseDown 事件回调函数。</p>
+ <p>默认值:null</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>event</b><span>js event 对象</span></h4>
+ <p>标准的 js event 对象</p>
+ <h4 class="topLine"><b>treeId</b><span>String</span></h4>
+ <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>鼠标按键按下时所在节点的 JSON 数据对象</p>
+ <p class="highlight_red">如果不在节点上,则返回 null</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 每次鼠标按键按下后, 弹出鼠标所在节点的 tId、name 的信息</h4>
+ <pre xmlns=""><code>function zTreeOnMouseDown(event, treeId, treeNode) {
+ alert(treeNode ? treeNode.tId + ", " + treeNode.name : "isRoot");
+};
+var setting = {
+ callback: {
+ onMouseDown: zTreeOnMouseDown
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onMouseUp.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onMouseUp.html index a969fef9..df58468c 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onMouseUp.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onMouseUp.html @@ -1,35 +1,35 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(event, treeId, treeNode)</span><span class="path">setting.callback.</span>onMouseUp</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>用于捕获 zTree 上鼠标按键松开后的事件回调函数</p> - <p class="highlight_red">如果设置了 setting.callback.beforeMouseUp 方法,且返回 false,将无法触发 onMouseUp 事件回调函数。</p> - <p>默认值:null</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>event</b><span>js event 对象</span></h4> - <p>标准的 js event 对象</p> - <h4 class="topLine"><b>treeId</b><span>String</span></h4> - <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>鼠标按键松开时所在节点的 JSON 数据对象</p> - <p class="highlight_red">如果不在节点上,则返回 null</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 每次鼠标按键松开后, 弹出鼠标所在节点的 tId、name 的信息</h4> - <pre xmlns=""><code>function zTreeOnMouseUp(event, treeId, treeNode) { - alert(treeNode ? treeNode.tId + ", " + treeNode.name : "isRoot"); -}; -var setting = { - callback: { - onMouseUp: zTreeOnMouseUp - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(event, treeId, treeNode)</span><span class="path">setting.callback.</span>onMouseUp</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>用于捕获 zTree 上鼠标按键松开后的事件回调函数</p>
+ <p class="highlight_red">如果设置了 setting.callback.beforeMouseUp 方法,且返回 false,将无法触发 onMouseUp 事件回调函数。</p>
+ <p>默认值:null</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>event</b><span>js event 对象</span></h4>
+ <p>标准的 js event 对象</p>
+ <h4 class="topLine"><b>treeId</b><span>String</span></h4>
+ <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>鼠标按键松开时所在节点的 JSON 数据对象</p>
+ <p class="highlight_red">如果不在节点上,则返回 null</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 每次鼠标按键松开后, 弹出鼠标所在节点的 tId、name 的信息</h4>
+ <pre xmlns=""><code>function zTreeOnMouseUp(event, treeId, treeNode) {
+ alert(treeNode ? treeNode.tId + ", " + treeNode.name : "isRoot");
+};
+var setting = {
+ callback: {
+ onMouseUp: zTreeOnMouseUp
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onNodeCreated.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onNodeCreated.html index 2ebaee63..003d0594 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onNodeCreated.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onNodeCreated.html @@ -1,35 +1,35 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(event, treeId, treeNode)</span><span class="path">setting.callback.</span>onNodeCreated</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>用于捕获节点生成 DOM 后的事件回调函数</p> - <p class="highlight_red">v3.x 采用了延迟加载技术,因此对于父节点未展开的子节点来说,初始化后是不会触发此回调函数,直到其父节点被展开</p> - <p class="highlight_red">大数据量的节点加载请注意:不设置 onNodeCreated,可以提升一部分初始化性能</p> - <p>默认值:null</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>event</b><span>js event 对象</span></h4> - <p>标准的 js event 对象</p> - <h4 class="topLine"><b>treeId</b><span>String</span></h4> - <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>生成 DOM 完毕的节点的 JSON 数据对象</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 创建节点 DOM 后, 弹出该节点的 tId、name 的信息</h4> - <pre xmlns=""><code>function zTreeOnNodeCreated(event, treeId, treeNode) { - alert(treeNode.tId + ", " + treeNode.name); -}; -var setting = { - callback: { - onNodeCreated: zTreeOnNodeCreated - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(event, treeId, treeNode)</span><span class="path">setting.callback.</span>onNodeCreated</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>用于捕获节点生成 DOM 后的事件回调函数</p>
+ <p class="highlight_red">v3.x 采用了延迟加载技术,因此对于父节点未展开的子节点来说,初始化后是不会触发此回调函数,直到其父节点被展开</p>
+ <p class="highlight_red">大数据量的节点加载请注意:不设置 onNodeCreated,可以提升一部分初始化性能</p>
+ <p>默认值:null</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>event</b><span>js event 对象</span></h4>
+ <p>标准的 js event 对象</p>
+ <h4 class="topLine"><b>treeId</b><span>String</span></h4>
+ <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>生成 DOM 完毕的节点的 JSON 数据对象</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 创建节点 DOM 后, 弹出该节点的 tId、name 的信息</h4>
+ <pre xmlns=""><code>function zTreeOnNodeCreated(event, treeId, treeNode) {
+ alert(treeNode.tId + ", " + treeNode.name);
+};
+var setting = {
+ callback: {
+ onNodeCreated: zTreeOnNodeCreated
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onRemove.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onRemove.html index e7e625d9..b3d8b9d8 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onRemove.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onRemove.html @@ -1,34 +1,34 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(event, treeId, treeNode)</span><span class="path">setting.callback.</span>onRemove</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>用于捕获删除节点之后的事件回调函数。</p> - <p class="highlight_red">如果用户设置了 beforeRemove 回调函数,并返回 false,将无法触发 onRemove 事件回调函数。</p> - <p>默认值:null</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>event</b><span>js event 对象</span></h4> - <p>标准的 js event 对象</p> - <h4 class="topLine"><b>treeId</b><span>String</span></h4> - <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>将要删除的节点 JSON 数据对象</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 删除节点时,弹出被删除的节点的 tId 以及 name 信息</h4> - <pre xmlns=""><code>function zTreeOnRemove(event, treeId, treeNode) { - alert(treeNode.tId + ", " + treeNode.name); -} -var setting = { - callback: { - onRemove: zTreeOnRemove - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(event, treeId, treeNode)</span><span class="path">setting.callback.</span>onRemove</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>用于捕获删除节点之后的事件回调函数。</p>
+ <p class="highlight_red">如果用户设置了 beforeRemove 回调函数,并返回 false,将无法触发 onRemove 事件回调函数。</p>
+ <p>默认值:null</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>event</b><span>js event 对象</span></h4>
+ <p>标准的 js event 对象</p>
+ <h4 class="topLine"><b>treeId</b><span>String</span></h4>
+ <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>将要删除的节点 JSON 数据对象</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 删除节点时,弹出被删除的节点的 tId 以及 name 信息</h4>
+ <pre xmlns=""><code>function zTreeOnRemove(event, treeId, treeNode) {
+ alert(treeNode.tId + ", " + treeNode.name);
+}
+var setting = {
+ callback: {
+ onRemove: zTreeOnRemove
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onRename.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onRename.html index f225463f..b08a24e6 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onRename.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onRename.html @@ -1,40 +1,40 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(event, treeId, treeNode, isCancel)</span><span class="path">setting.callback.</span>onRename</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>用于捕获节点编辑名称结束之后的事件回调函数。</p> - <p>1、节点进入编辑名称状态,并且修改节点名称后触发此回调函数。<span class="highlight_red">如果用户设置了 beforeRename 回调函数,并返回 false,将无法触发 onRename 事件回调函数。</span></p> - <p>2、<span class="highlight_red">如果通过直接修改 treeNode 的数据,并且利用 updateNode 方法更新,是不会触发此回调函数的。</span></p> - <p class="highlight_red">3、从 v3.5.13 开始,取消编辑状态也会触发此回调,根据 isCancel 参数判断</p> - <p>默认值:null</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>event</b><span>js event 对象</span></h4> - <p>标准的 js event 对象</p> - <h4 class="topLine"><b>treeId</b><span>String</span></h4> - <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>被修改名称的节点 JSON 数据对象</p> - <h4 class="topLine"><b>isCancel</b><span>Boolean</span></h4> - <p>是否取消操作 (v3.5.13+)</p> - <p class="highlight_red">isCancel = true 表示取消编辑操作(按下 ESC 或 使用 cancelEditName 方法)</p> - <p class="highlight_red">isCancel = false 表示确认修改操作</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 修改名称后,弹出被修改名称的节点的 tId 以及 name 信息</h4> - <pre xmlns=""><code>function zTreeOnRename(event, treeId, treeNode, isCancel) { - alert(treeNode.tId + ", " + treeNode.name); -} -var setting = { - callback: { - onRename: zTreeOnRename - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(event, treeId, treeNode, isCancel)</span><span class="path">setting.callback.</span>onRename</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>用于捕获节点编辑名称结束之后的事件回调函数。</p>
+ <p>1、节点进入编辑名称状态,并且修改节点名称后触发此回调函数。<span class="highlight_red">如果用户设置了 beforeRename 回调函数,并返回 false,将无法触发 onRename 事件回调函数。</span></p>
+ <p>2、<span class="highlight_red">如果通过直接修改 treeNode 的数据,并且利用 updateNode 方法更新,是不会触发此回调函数的。</span></p>
+ <p class="highlight_red">3、从 v3.5.13 开始,取消编辑状态也会触发此回调,根据 isCancel 参数判断</p>
+ <p>默认值:null</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>event</b><span>js event 对象</span></h4>
+ <p>标准的 js event 对象</p>
+ <h4 class="topLine"><b>treeId</b><span>String</span></h4>
+ <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>被修改名称的节点 JSON 数据对象</p>
+ <h4 class="topLine"><b>isCancel</b><span>Boolean</span></h4>
+ <p>是否取消操作 (v3.5.13+)</p>
+ <p class="highlight_red">isCancel = true 表示取消编辑操作(按下 ESC 或 使用 cancelEditName 方法)</p>
+ <p class="highlight_red">isCancel = false 表示确认修改操作</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 修改名称后,弹出被修改名称的节点的 tId 以及 name 信息</h4>
+ <pre xmlns=""><code>function zTreeOnRename(event, treeId, treeNode, isCancel) {
+ alert(treeNode.tId + ", " + treeNode.name);
+}
+var setting = {
+ callback: {
+ onRename: zTreeOnRename
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onRightClick.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onRightClick.html index d51c68d1..c66d2dec 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onRightClick.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.callback.onRightClick.html @@ -1,36 +1,36 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(event, treeId, treeNode)</span><span class="path">setting.callback.</span>onRightClick</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>用于捕获 zTree 上鼠标右键点击之后的事件回调函数</p> - <p class="highlight_red">1、如果设置了 setting.callback.beforeRightClick 方法,且返回 false,将无法触发 onRightClick 事件回调函数。</p> - <p class="highlight_red">2、只要将 function 的引用赋给 onRightClick 属性,则右键点击 zTree 时,将屏蔽浏览器的右键菜单。</p> - <p>默认值:null</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>event</b><span>js event 对象</span></h4> - <p>标准的 js event 对象</p> - <h4 class="topLine"><b>treeId</b><span>String</span></h4> - <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>鼠标右键点击时所在节点的 JSON 数据对象</p> - <p class="highlight_red">如果不在节点上,则返回 null</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 每次鼠标右键点击后, 弹出鼠标所在节点的 tId、name 的信息</h4> - <pre xmlns=""><code>function zTreeOnRightClick(event, treeId, treeNode) { - alert(treeNode ? treeNode.tId + ", " + treeNode.name : "isRoot"); -}; -var setting = { - callback: { - onRightClick: zTreeOnRightClick - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(event, treeId, treeNode)</span><span class="path">setting.callback.</span>onRightClick</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>用于捕获 zTree 上鼠标右键点击之后的事件回调函数</p>
+ <p class="highlight_red">1、如果设置了 setting.callback.beforeRightClick 方法,且返回 false,将无法触发 onRightClick 事件回调函数。</p>
+ <p class="highlight_red">2、只要将 function 的引用赋给 onRightClick 属性,则右键点击 zTree 时,将屏蔽浏览器的右键菜单。</p>
+ <p>默认值:null</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>event</b><span>js event 对象</span></h4>
+ <p>标准的 js event 对象</p>
+ <h4 class="topLine"><b>treeId</b><span>String</span></h4>
+ <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>鼠标右键点击时所在节点的 JSON 数据对象</p>
+ <p class="highlight_red">如果不在节点上,则返回 null</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 每次鼠标右键点击后, 弹出鼠标所在节点的 tId、name 的信息</h4>
+ <pre xmlns=""><code>function zTreeOnRightClick(event, treeId, treeNode) {
+ alert(treeNode ? treeNode.tId + ", " + treeNode.name : "isRoot");
+};
+var setting = {
+ callback: {
+ onRightClick: zTreeOnRightClick
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.check.autoCheckTrigger.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.check.autoCheckTrigger.html index d1efd770..39914789 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.check.autoCheckTrigger.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.check.autoCheckTrigger.html @@ -1,28 +1,28 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">setting.check.</span>autoCheckTrigger</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>设置自动关联勾选时是否触发 beforeCheck / onCheck 事件回调函数。<span class="highlight_red">[setting.check.enable = true 且 setting.check.chkStyle = "checkbox" 时生效]</span></p> - <p class="highlight_red">1、如果设置 setting.check.chkboxType = { "Y": "", "N": "" },将不会有任何自动关联勾选的操作。</p> - <p class="highlight_red">2、如果开启触发,对于节点较多的树将会影响性能,因为所有被联动勾选的操作都会触发事件回调函数,请根据需要决定是否使用此功能。</p> - <p>默认值: false</p> - </div> - </div> - <h3>Boolean 格式说明</h3> - <div class="desc"> - <p> true / false 分别表示 触发 / 不触发 事件回调函数</p> - </div> - <h3>setting 举例</h3> - <h4>1. 需要触发自动关联勾选操作</h4> - <pre xmlns=""><code>var setting = { - check: { - enable: true, - autoCheckTrigger: true - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">setting.check.</span>autoCheckTrigger</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>设置自动关联勾选时是否触发 beforeCheck / onCheck 事件回调函数。<span class="highlight_red">[setting.check.enable = true 且 setting.check.chkStyle = "checkbox" 时生效]</span></p>
+ <p class="highlight_red">1、如果设置 setting.check.chkboxType = { "Y": "", "N": "" },将不会有任何自动关联勾选的操作。</p>
+ <p class="highlight_red">2、如果开启触发,对于节点较多的树将会影响性能,因为所有被联动勾选的操作都会触发事件回调函数,请根据需要决定是否使用此功能。</p>
+ <p>默认值: false</p>
+ </div>
+ </div>
+ <h3>Boolean 格式说明</h3>
+ <div class="desc">
+ <p> true / false 分别表示 触发 / 不触发 事件回调函数</p>
+ </div>
+ <h3>setting 举例</h3>
+ <h4>1. 需要触发自动关联勾选操作</h4>
+ <pre xmlns=""><code>var setting = {
+ check: {
+ enable: true,
+ autoCheckTrigger: true
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.check.chkDisabledInherit.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.check.chkDisabledInherit.html index 8af1c2c6..f0b405da 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.check.chkDisabledInherit.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.check.chkDisabledInherit.html @@ -1,28 +1,28 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">setting.check.</span>chkDisabledInherit</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>当父节点设置 chkDisabled = true 时,设置子节点是否自动继承 chkDisabled = true 。<span class="highlight_red">[setting.check.enable = true 时生效]</span></p> - <p class="highlight_red">1、只使用于初始化节点时,便于批量操作。 对于已存在的节点请利用 setChkDisabled 方法单个节点设置。</p> - <p>默认值: false</p> - </div> - </div> - <h3>Boolean 格式说明</h3> - <div class="desc"> - <p> true 表示 新加入子节点时,自动继承父节点 chkDisabled = true 的属性。</p> - <p> false 表示 新加入子节点时,不继承父节点 chkDisabled 的属性。</p> - </div> - <h3>setting 举例</h3> - <h4>1. 需要子节点自动继承 chkDisabled = true</h4> - <pre xmlns=""><code>var setting = { - check: { - enable: true, - chkDisabledInherit: true - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">setting.check.</span>chkDisabledInherit</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>当父节点设置 chkDisabled = true 时,设置子节点是否自动继承 chkDisabled = true 。<span class="highlight_red">[setting.check.enable = true 时生效]</span></p>
+ <p class="highlight_red">1、只使用于初始化节点时,便于批量操作。 对于已存在的节点请利用 setChkDisabled 方法单个节点设置。</p>
+ <p>默认值: false</p>
+ </div>
+ </div>
+ <h3>Boolean 格式说明</h3>
+ <div class="desc">
+ <p> true 表示 新加入子节点时,自动继承父节点 chkDisabled = true 的属性。</p>
+ <p> false 表示 新加入子节点时,不继承父节点 chkDisabled 的属性。</p>
+ </div>
+ <h3>setting 举例</h3>
+ <h4>1. 需要子节点自动继承 chkDisabled = true</h4>
+ <pre xmlns=""><code>var setting = {
+ check: {
+ enable: true,
+ chkDisabledInherit: true
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.check.chkStyle.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.check.chkStyle.html index 9706c134..a3129c85 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.check.chkStyle.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.check.chkStyle.html @@ -1,48 +1,48 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">setting.check.</span>chkStyle</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>勾选框类型(checkbox 或 radio)<span class="highlight_red">[setting.check.enable = true 时生效]</span></p> - <p>默认值:"checkbox"</p> - </div> - </div> - <h3>String 格式说明</h3> - <div class="desc"> - <p>chkStyle = "checkbox" 时,显示 checkbox 选择框,<span class="highlight_red">setting.check.chkboxType</span> 属性有效。 -<br/>chkStyle = "radio" 时,显示 radio 选择框, <span class="highlight_red">setting.check.radioType</span> 属性有效。</p> - <p class="highlight_red">请注意大小写,不要改变</p> - </div> - <h3>checkbox 状态说明</h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p><button type="button" class="chk checkbox_false_full"></button>未勾选;<span class="highlight_red">如果是父节点,则无子节点被勾选</span>。鼠标移到该节点上显示为:<button type="button" class="chk checkbox_false_full_focus"></button></p> - <p><button type="button" class="chk checkbox_false_part"></button>未勾选;(只有父节点存在此状态)<span class="highlight_red">存在被勾选的子节点</span>。鼠标移到该节点上显示为:<button type="button" class="chk checkbox_false_part_focus"></button></p> - <p><button type="button" class="chk checkbox_true_full"></button>被勾选;<span class="highlight_red">如果是父节点,则全部子节点都被勾选</span>。鼠标移到该节点上显示为:<button type="button" class="chk checkbox_true_full_focus"></button></p> - <p><button type="button" class="chk checkbox_true_part"></button>被勾选;(只有父节点存在此状态)<span class="highlight_red">且部分或无子节点被勾选</span>。鼠标移到该节点上显示为:<button type="button" class="chk checkbox_true_part_focus"></button></p> - </div> - </div> - <h3>radio 状态说明</h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p><button type="button" class="chk radio_false_full"></button>未勾选;<span class="highlight_red">如果是父节点,则没有子节点被勾选</span>。鼠标移到该节点上显示为:<button type="button" class="chk radio_false_full_focus"></button></p> - <p><button type="button" class="chk radio_false_part"></button>未勾选;(只有父节点存在此状态)<span class="highlight_red">且存在被勾选的子节点</span>。鼠标移到该节点上显示为:<button type="button" class="chk radio_false_part_focus"></button></p> - <p><button type="button" class="chk radio_true_full"></button>被勾选;<span class="highlight_red">如果是父节点,则没有子节点被勾选</span>。鼠标移到该节点上显示为:<button type="button" class="chk radio_true_full_focus"></button></p> - <p><button type="button" class="chk radio_true_part"></button>被勾选;(只有父节点存在此状态)<span class="highlight_red">且存在被勾选的子节点</span>。鼠标移到该节点上显示为:<button type="button" class="chk radio_true_part_focus"></button></p> - </div> - </div> - <h3>setting 举例</h3> - <h4>1. 设置选择框为 radio</h4> - <pre xmlns=""><code>var setting = { - check: { - enable: true, - chkStyle: "radio" - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">setting.check.</span>chkStyle</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>勾选框类型(checkbox 或 radio)<span class="highlight_red">[setting.check.enable = true 时生效]</span></p>
+ <p>默认值:"checkbox"</p>
+ </div>
+ </div>
+ <h3>String 格式说明</h3>
+ <div class="desc">
+ <p>chkStyle = "checkbox" 时,显示 checkbox 选择框,<span class="highlight_red">setting.check.chkboxType</span> 属性有效。
+<br/>chkStyle = "radio" 时,显示 radio 选择框, <span class="highlight_red">setting.check.radioType</span> 属性有效。</p>
+ <p class="highlight_red">请注意大小写,不要改变</p>
+ </div>
+ <h3>checkbox 状态说明</h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p><button type="button" class="chk checkbox_false_full"></button>未勾选;<span class="highlight_red">如果是父节点,则无子节点被勾选</span>。鼠标移到该节点上显示为:<button type="button" class="chk checkbox_false_full_focus"></button></p>
+ <p><button type="button" class="chk checkbox_false_part"></button>未勾选;(只有父节点存在此状态)<span class="highlight_red">存在被勾选的子节点</span>。鼠标移到该节点上显示为:<button type="button" class="chk checkbox_false_part_focus"></button></p>
+ <p><button type="button" class="chk checkbox_true_full"></button>被勾选;<span class="highlight_red">如果是父节点,则全部子节点都被勾选</span>。鼠标移到该节点上显示为:<button type="button" class="chk checkbox_true_full_focus"></button></p>
+ <p><button type="button" class="chk checkbox_true_part"></button>被勾选;(只有父节点存在此状态)<span class="highlight_red">且部分或无子节点被勾选</span>。鼠标移到该节点上显示为:<button type="button" class="chk checkbox_true_part_focus"></button></p>
+ </div>
+ </div>
+ <h3>radio 状态说明</h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p><button type="button" class="chk radio_false_full"></button>未勾选;<span class="highlight_red">如果是父节点,则没有子节点被勾选</span>。鼠标移到该节点上显示为:<button type="button" class="chk radio_false_full_focus"></button></p>
+ <p><button type="button" class="chk radio_false_part"></button>未勾选;(只有父节点存在此状态)<span class="highlight_red">且存在被勾选的子节点</span>。鼠标移到该节点上显示为:<button type="button" class="chk radio_false_part_focus"></button></p>
+ <p><button type="button" class="chk radio_true_full"></button>被勾选;<span class="highlight_red">如果是父节点,则没有子节点被勾选</span>。鼠标移到该节点上显示为:<button type="button" class="chk radio_true_full_focus"></button></p>
+ <p><button type="button" class="chk radio_true_part"></button>被勾选;(只有父节点存在此状态)<span class="highlight_red">且存在被勾选的子节点</span>。鼠标移到该节点上显示为:<button type="button" class="chk radio_true_part_focus"></button></p>
+ </div>
+ </div>
+ <h3>setting 举例</h3>
+ <h4>1. 设置选择框为 radio</h4>
+ <pre xmlns=""><code>var setting = {
+ check: {
+ enable: true,
+ chkStyle: "radio"
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.check.chkboxType.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.check.chkboxType.html index da06b6ca..b2e21489 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.check.chkboxType.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.check.chkboxType.html @@ -1,31 +1,31 @@ -<div class="apiDetail"> -<div> - <h2><span>JSON</span><span class="path">setting.check.</span>chkboxType</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>勾选 checkbox 对于父子节点的关联关系。<span class="highlight_red">[setting.check.enable = true 且 setting.check.chkStyle = "checkbox" 时生效]</span></p> - <p>默认值:{ "Y": "ps", "N": "ps" }</p> - </div> - </div> - <h3>JSON 格式说明</h3> - <div class="desc"> - <p>Y 属性定义 checkbox 被勾选后的情况; -<br/>N 属性定义 checkbox 取消勾选后的情况; -<br/>"p" 表示操作会影响父级节点; -<br/>"s" 表示操作会影响子级节点。</p> - <p class="highlight_red">请注意大小写,不要改变</p> - </div> - <h3>setting 举例</h3> - <h4>1. checkbox 勾选操作,只影响父级节点;取消勾选操作,只影响子级节点</h4> - <pre xmlns=""><code>var setting = { - check: { - enable: true, - chkStyle: "checkbox", - chkboxType: { "Y": "p", "N": "s" } - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>JSON</span><span class="path">setting.check.</span>chkboxType</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>勾选 checkbox 对于父子节点的关联关系。<span class="highlight_red">[setting.check.enable = true 且 setting.check.chkStyle = "checkbox" 时生效]</span></p>
+ <p>默认值:{ "Y": "ps", "N": "ps" }</p>
+ </div>
+ </div>
+ <h3>JSON 格式说明</h3>
+ <div class="desc">
+ <p>Y 属性定义 checkbox 被勾选后的情况;
+<br/>N 属性定义 checkbox 取消勾选后的情况;
+<br/>"p" 表示操作会影响父级节点;
+<br/>"s" 表示操作会影响子级节点。</p>
+ <p class="highlight_red">请注意大小写,不要改变</p>
+ </div>
+ <h3>setting 举例</h3>
+ <h4>1. checkbox 勾选操作,只影响父级节点;取消勾选操作,只影响子级节点</h4>
+ <pre xmlns=""><code>var setting = {
+ check: {
+ enable: true,
+ chkStyle: "checkbox",
+ chkboxType: { "Y": "p", "N": "s" }
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.check.enable.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.check.enable.html index 8b1387e3..0ebf308a 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.check.enable.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.check.enable.html @@ -1,25 +1,25 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">setting.check.</span>enable</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>设置 zTree 的节点上是否显示 checkbox / radio</p> - <p>默认值: false</p> - </div> - </div> - <h3>Boolean 格式说明</h3> - <div class="desc"> - <p> true / false 分别表示 显示 / 不显示 复选框或单选框</p> - </div> - <h3>setting 举例</h3> - <h4>1. 需要显示 checkbox</h4> - <pre xmlns=""><code>var setting = { - check: { - enable: true - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">setting.check.</span>enable</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>设置 zTree 的节点上是否显示 checkbox / radio</p>
+ <p>默认值: false</p>
+ </div>
+ </div>
+ <h3>Boolean 格式说明</h3>
+ <div class="desc">
+ <p> true / false 分别表示 显示 / 不显示 复选框或单选框</p>
+ </div>
+ <h3>setting 举例</h3>
+ <h4>1. 需要显示 checkbox</h4>
+ <pre xmlns=""><code>var setting = {
+ check: {
+ enable: true
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.check.nocheckInherit.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.check.nocheckInherit.html index caf99028..47fd3358 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.check.nocheckInherit.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.check.nocheckInherit.html @@ -1,28 +1,28 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">setting.check.</span>nocheckInherit</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>当父节点设置 nocheck = true 时,设置子节点是否自动继承 nocheck = true 。<span class="highlight_red">[setting.check.enable = true 时生效]</span></p> - <p class="highlight_red">1、只使用于初始化节点时,便于批量操作。 对于已存在的节点请利用 updateNode 方法单个节点设置。</p> - <p>默认值: false</p> - </div> - </div> - <h3>Boolean 格式说明</h3> - <div class="desc"> - <p> true 表示 新加入子节点时,自动继承父节点 nocheck = true 的属性。</p> - <p> false 表示 新加入子节点时,不继承父节点 nocheck 的属性。</p> - </div> - <h3>setting 举例</h3> - <h4>1. 需要子节点自动继承 nocheck = true</h4> - <pre xmlns=""><code>var setting = { - check: { - enable: true, - nocheckInherit: true - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">setting.check.</span>nocheckInherit</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>当父节点设置 nocheck = true 时,设置子节点是否自动继承 nocheck = true 。<span class="highlight_red">[setting.check.enable = true 时生效]</span></p>
+ <p class="highlight_red">1、只使用于初始化节点时,便于批量操作。 对于已存在的节点请利用 updateNode 方法单个节点设置。</p>
+ <p>默认值: false</p>
+ </div>
+ </div>
+ <h3>Boolean 格式说明</h3>
+ <div class="desc">
+ <p> true 表示 新加入子节点时,自动继承父节点 nocheck = true 的属性。</p>
+ <p> false 表示 新加入子节点时,不继承父节点 nocheck 的属性。</p>
+ </div>
+ <h3>setting 举例</h3>
+ <h4>1. 需要子节点自动继承 nocheck = true</h4>
+ <pre xmlns=""><code>var setting = {
+ check: {
+ enable: true,
+ nocheckInherit: true
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.check.radioType.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.check.radioType.html index 19f84cad..b1fe7eec 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.check.radioType.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.check.radioType.html @@ -1,29 +1,29 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">setting.check.</span>radioType</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>radio 的分组范围。<span class="highlight_red">[setting.check.enable = true 且 setting.check.chkStyle = "radio" 时生效]</span></p> - <p>默认值:"level"</p> - </div> - </div> - <h3>String 格式说明</h3> - <div class="desc"> - <p>radioType = "level" 时,在每一级节点范围内当做一个分组。 -<br/>radioType = "all" 时,在整棵树范围内当做一个分组。</p> - <p class="highlight_red">请注意大小写,不要改变</p> - </div> - <h3>setting 举例</h3> - <h4>1. 设置 radio 的判别规则为整棵树内</h4> - <pre xmlns=""><code>var setting = { - check: { - enable: true, - chkStyle: "radio", - radioType: "all" - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">setting.check.</span>radioType</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>radio 的分组范围。<span class="highlight_red">[setting.check.enable = true 且 setting.check.chkStyle = "radio" 时生效]</span></p>
+ <p>默认值:"level"</p>
+ </div>
+ </div>
+ <h3>String 格式说明</h3>
+ <div class="desc">
+ <p>radioType = "level" 时,在每一级节点范围内当做一个分组。
+<br/>radioType = "all" 时,在整棵树范围内当做一个分组。</p>
+ <p class="highlight_red">请注意大小写,不要改变</p>
+ </div>
+ <h3>setting 举例</h3>
+ <h4>1. 设置 radio 的判别规则为整棵树内</h4>
+ <pre xmlns=""><code>var setting = {
+ check: {
+ enable: true,
+ chkStyle: "radio",
+ radioType: "all"
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.data.keep.leaf.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.data.keep.leaf.html index af3a7211..255025a3 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.data.keep.leaf.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.data.keep.leaf.html @@ -1,28 +1,28 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">setting.data.keep.</span>leaf</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>zTree 的节点叶子节点属性锁,是否始终保持 isParent = false</p> - <p>默认值:false</p> - </div> - </div> - <h3>Boolean 格式说明</h3> - <div class="desc"> - <p> true / false 分别表示 锁定 / 不锁定 叶子节点属性</p> - <p class="highlight_red">如果设置为 true,则所有 isParent = false 的节点,都无法添加子节点。</p> - </div> - <h3>setting 举例</h3> - <h4>1. 需要锁定叶子节点状态</h4> - <pre xmlns=""><code>var setting = { - data: { - keep: { - leaf: true - } - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">setting.data.keep.</span>leaf</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>zTree 的节点叶子节点属性锁,是否始终保持 isParent = false</p>
+ <p>默认值:false</p>
+ </div>
+ </div>
+ <h3>Boolean 格式说明</h3>
+ <div class="desc">
+ <p> true / false 分别表示 锁定 / 不锁定 叶子节点属性</p>
+ <p class="highlight_red">如果设置为 true,则所有 isParent = false 的节点,都无法添加子节点。</p>
+ </div>
+ <h3>setting 举例</h3>
+ <h4>1. 需要锁定叶子节点状态</h4>
+ <pre xmlns=""><code>var setting = {
+ data: {
+ keep: {
+ leaf: true
+ }
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.data.keep.parent.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.data.keep.parent.html index c4975df2..05bb31d6 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.data.keep.parent.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.data.keep.parent.html @@ -1,28 +1,28 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">setting.data.keep.</span>parent</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>zTree 的节点父节点属性锁,是否始终保持 isParent = true</p> - <p>默认值:false</p> - </div> - </div> - <h3>Boolean 格式说明</h3> - <div class="desc"> - <p> true / false 分别表示 锁定 / 不锁定 父节点属性</p> - <p class="highlight_red">如果设置为 true,则所有 isParent = true 的节点,即使该节点的子节点被全部删除或移走,依旧保持父节点状态。</p> - </div> - <h3>setting 举例</h3> - <h4>1. 需要锁定父节点状态</h4> - <pre xmlns=""><code>var setting = { - data: { - keep: { - parent: true - } - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">setting.data.keep.</span>parent</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>zTree 的节点父节点属性锁,是否始终保持 isParent = true</p>
+ <p>默认值:false</p>
+ </div>
+ </div>
+ <h3>Boolean 格式说明</h3>
+ <div class="desc">
+ <p> true / false 分别表示 锁定 / 不锁定 父节点属性</p>
+ <p class="highlight_red">如果设置为 true,则所有 isParent = true 的节点,即使该节点的子节点被全部删除或移走,依旧保持父节点状态。</p>
+ </div>
+ <h3>setting 举例</h3>
+ <h4>1. 需要锁定父节点状态</h4>
+ <pre xmlns=""><code>var setting = {
+ data: {
+ keep: {
+ parent: true
+ }
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.data.key.checked.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.data.key.checked.html index ac9fdc1d..fdafa304 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.data.key.checked.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.data.key.checked.html @@ -1,24 +1,24 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">setting.data.key.</span>checked</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>zTree 节点数据中保存 check 状态的属性名称。</p> - <p>默认值:"checked"</p> - <p class="highlight_red">请勿与 zTree 节点数据的其他参数冲突,例如:checkedOld</p> - </div> - </div> - <h3>setting 举例</h3> - <h4>1. 设置 zTree 显示节点时,将 treeNode 的 isChecked 属性当做节点名称</h4> - <pre xmlns=""><code>var setting = { - data: { - key: { - checked: "isChecked" - } - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">setting.data.key.</span>checked</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>zTree 节点数据中保存 check 状态的属性名称。</p>
+ <p>默认值:"checked"</p>
+ <p class="highlight_red">请勿与 zTree 节点数据的其他参数冲突,例如:checkedOld</p>
+ </div>
+ </div>
+ <h3>setting 举例</h3>
+ <h4>1. 设置 zTree 显示节点时,将 treeNode 的 isChecked 属性当做节点名称</h4>
+ <pre xmlns=""><code>var setting = {
+ data: {
+ key: {
+ checked: "isChecked"
+ }
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.data.key.children.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.data.key.children.html index 66a49a7e..692c83e6 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.data.key.children.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.data.key.children.html @@ -1,23 +1,23 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">setting.data.key.</span>children</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>zTree 节点数据中保存子节点数据的属性名称。</p> - <p>默认值:"children"</p> - </div> - </div> - <h3>setting 举例</h3> - <h4>1. 设置 zTree 显示节点时,将 treeNode 的 nodes 属性当做节点名称</h4> - <pre xmlns=""><code>var setting = { - data: { - key: { - children: "nodes" - } - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">setting.data.key.</span>children</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>zTree 节点数据中保存子节点数据的属性名称。</p>
+ <p>默认值:"children"</p>
+ </div>
+ </div>
+ <h3>setting 举例</h3>
+ <h4>1. 设置 zTree 显示节点时,将 treeNode 的 nodes 属性当做节点名称</h4>
+ <pre xmlns=""><code>var setting = {
+ data: {
+ key: {
+ children: "nodes"
+ }
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.data.key.name.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.data.key.name.html index c25d250a..392da9e1 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.data.key.name.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.data.key.name.html @@ -1,23 +1,23 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">setting.data.key.</span>name</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>zTree 节点数据保存节点名称的属性名称。</p> - <p>默认值:"name"</p> - </div> - </div> - <h3>setting 举例</h3> - <h4>1. 设置 zTree 显示节点时,将 treeNode 的 ename 属性当做节点名称</h4> - <pre xmlns=""><code>var setting = { - data: { - key: { - name: "ename" - } - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">setting.data.key.</span>name</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>zTree 节点数据保存节点名称的属性名称。</p>
+ <p>默认值:"name"</p>
+ </div>
+ </div>
+ <h3>setting 举例</h3>
+ <h4>1. 设置 zTree 显示节点时,将 treeNode 的 ename 属性当做节点名称</h4>
+ <pre xmlns=""><code>var setting = {
+ data: {
+ key: {
+ name: "ename"
+ }
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.data.key.title.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.data.key.title.html index 43e68554..5b66971d 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.data.key.title.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.data.key.title.html @@ -1,24 +1,24 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">setting.data.key.</span>title</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>zTree 节点数据保存节点提示信息的属性名称。<span class="highlight_red">[setting.view.showTitle = true 时生效]</span></p> - <p class="highlight_red">如果设置为 "" ,则自动与 setting.data.key.name 保持一致,避免用户反复设置</p> - <p>默认值:""</p> - </div> - </div> - <h3>setting 举例</h3> - <h4>1. 设置 zTree 显示节点时,将 treeNode 的 fullName 属性当做节点名称</h4> - <pre xmlns=""><code>var setting = { - data: { - key: { - title: "fullName" - } - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">setting.data.key.</span>title</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>zTree 节点数据保存节点提示信息的属性名称。<span class="highlight_red">[setting.view.showTitle = true 时生效]</span></p>
+ <p class="highlight_red">如果设置为 "" ,则自动与 setting.data.key.name 保持一致,避免用户反复设置</p>
+ <p>默认值:""</p>
+ </div>
+ </div>
+ <h3>setting 举例</h3>
+ <h4>1. 设置 zTree 显示节点时,将 treeNode 的 fullName 属性当做节点名称</h4>
+ <pre xmlns=""><code>var setting = {
+ data: {
+ key: {
+ title: "fullName"
+ }
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.data.key.url.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.data.key.url.html index e534d985..9a5fd26d 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.data.key.url.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.data.key.url.html @@ -1,24 +1,24 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">setting.data.key.</span>url</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>zTree 节点数据保存节点链接的目标 URL 的属性名称。</p> - <p class="highlight_red">特殊用途:当后台数据只能生成 url 属性,又不想实现点击节点跳转的功能时,可以直接修改此属性为其他不存在的属性名称</p> - <p>默认值:"url"</p> - </div> - </div> - <h3>setting 举例</h3> - <h4>1. 设置 zTree 显示节点时,将 treeNode 的 xUrl 属性当做节点链接的目标 URL</h4> - <pre xmlns=""><code>var setting = { - data: { - key: { - url: "xUrl" - } - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">setting.data.key.</span>url</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>zTree 节点数据保存节点链接的目标 URL 的属性名称。</p>
+ <p class="highlight_red">特殊用途:当后台数据只能生成 url 属性,又不想实现点击节点跳转的功能时,可以直接修改此属性为其他不存在的属性名称</p>
+ <p>默认值:"url"</p>
+ </div>
+ </div>
+ <h3>setting 举例</h3>
+ <h4>1. 设置 zTree 显示节点时,将 treeNode 的 xUrl 属性当做节点链接的目标 URL</h4>
+ <pre xmlns=""><code>var setting = {
+ data: {
+ key: {
+ url: "xUrl"
+ }
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.data.simpleData.enable.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.data.simpleData.enable.html index 65bd4071..86b7cdc6 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.data.simpleData.enable.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.data.simpleData.enable.html @@ -1,38 +1,38 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">setting.data.simpleData.</span>enable</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>确定 zTree 初始化时的节点数据、异步加载时的节点数据、或 <span class="highlight_red">addNodes</span> 方法中输入的 newNodes 数据是否采用简单数据模式 (Array)</p> - <p>不需要用户再把数据库中取出的 List 强行转换为复杂的 JSON 嵌套格式</p> - <p>默认值:false</p> - </div> - </div> - <h3>Boolean 格式说明</h3> - <div class="desc"> - <p> true / false 分别表示 使用 / 不使用 简单数据模式</p> - <p class="highlight_red">如果设置为 true,请务必设置 setting.data.simpleData 内的其他参数: idKey / pIdKey / rootPId,并且让数据满足父子关系。</p> - </div> - <h3>setting 举例</h3> - <h4>1. 使用简单 Array 格式的数据</h4> - <pre xmlns=""><code>var setting = { - data: { - simpleData: { - enable: true, - idKey: "id", - pIdKey: "pId", - rootPId: 0, - } - } -}; -var treeNodes = [ - {"id":1, "pId":0, "name":"test1"}, - {"id":11, "pId":1, "name":"test11"}, - {"id":12, "pId":1, "name":"test12"}, - {"id":111, "pId":11, "name":"test111"} -]; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">setting.data.simpleData.</span>enable</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>确定 zTree 初始化时的节点数据、异步加载时的节点数据、或 <span class="highlight_red">addNodes</span> 方法中输入的 newNodes 数据是否采用简单数据模式 (Array)</p>
+ <p>不需要用户再把数据库中取出的 List 强行转换为复杂的 JSON 嵌套格式</p>
+ <p>默认值:false</p>
+ </div>
+ </div>
+ <h3>Boolean 格式说明</h3>
+ <div class="desc">
+ <p> true / false 分别表示 使用 / 不使用 简单数据模式</p>
+ <p class="highlight_red">如果设置为 true,请务必设置 setting.data.simpleData 内的其他参数: idKey / pIdKey / rootPId,并且让数据满足父子关系。</p>
+ </div>
+ <h3>setting 举例</h3>
+ <h4>1. 使用简单 Array 格式的数据</h4>
+ <pre xmlns=""><code>var setting = {
+ data: {
+ simpleData: {
+ enable: true,
+ idKey: "id",
+ pIdKey: "pId",
+ rootPId: 0,
+ }
+ }
+};
+var treeNodes = [
+ {"id":1, "pId":0, "name":"test1"},
+ {"id":11, "pId":1, "name":"test11"},
+ {"id":12, "pId":1, "name":"test12"},
+ {"id":111, "pId":11, "name":"test111"}
+];
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.data.simpleData.idKey.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.data.simpleData.idKey.html index 81129e93..967fa179 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.data.simpleData.idKey.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.data.simpleData.idKey.html @@ -1,32 +1,32 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">setting.data.simpleData.</span>idKey</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>节点数据中保存唯一标识的属性名称。<span class="highlight_red">[setting.data.simpleData.enable = true 时生效]</span></p> - <p>默认值:"id"</p> - </div> - </div> - <h3>setting 举例</h3> - <h4>1. 使用简单 Array 格式的数据</h4> - <pre xmlns=""><code>var setting = { - data: { - simpleData: { - enable: true, - idKey: "id", - pIdKey: "pId", - rootPId: 0, - } - } -}; -var treeNodes = [ - {"id":1, "pId":0, "name":"test1"}, - {"id":11, "pId":1, "name":"test11"}, - {"id":12, "pId":1, "name":"test12"}, - {"id":111, "pId":11, "name":"test111"} -]; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">setting.data.simpleData.</span>idKey</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>节点数据中保存唯一标识的属性名称。<span class="highlight_red">[setting.data.simpleData.enable = true 时生效]</span></p>
+ <p>默认值:"id"</p>
+ </div>
+ </div>
+ <h3>setting 举例</h3>
+ <h4>1. 使用简单 Array 格式的数据</h4>
+ <pre xmlns=""><code>var setting = {
+ data: {
+ simpleData: {
+ enable: true,
+ idKey: "id",
+ pIdKey: "pId",
+ rootPId: 0,
+ }
+ }
+};
+var treeNodes = [
+ {"id":1, "pId":0, "name":"test1"},
+ {"id":11, "pId":1, "name":"test11"},
+ {"id":12, "pId":1, "name":"test12"},
+ {"id":111, "pId":11, "name":"test111"}
+];
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.data.simpleData.pIdKey.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.data.simpleData.pIdKey.html index d434bc31..4aa6c05f 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.data.simpleData.pIdKey.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.data.simpleData.pIdKey.html @@ -1,32 +1,32 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">setting.data.simpleData.</span>pIdKey</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>节点数据中保存其父节点唯一标识的属性名称。<span class="highlight_red">[setting.data.simpleData.enable = true 时生效]</span></p> - <p>默认值:"pId"</p> - </div> - </div> - <h3>setting 举例</h3> - <h4>1. 使用简单 Array 格式的数据</h4> - <pre xmlns=""><code>var setting = { - data: { - simpleData: { - enable: true, - idKey: "id", - pIdKey: "pId", - rootPId: 0 - } - } -}; -var treeNodes = [ - {"id":1, "pId":0, "name":"test1"}, - {"id":11, "pId":1, "name":"test11"}, - {"id":12, "pId":1, "name":"test12"}, - {"id":111, "pId":11, "name":"test111"} -]; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">setting.data.simpleData.</span>pIdKey</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>节点数据中保存其父节点唯一标识的属性名称。<span class="highlight_red">[setting.data.simpleData.enable = true 时生效]</span></p>
+ <p>默认值:"pId"</p>
+ </div>
+ </div>
+ <h3>setting 举例</h3>
+ <h4>1. 使用简单 Array 格式的数据</h4>
+ <pre xmlns=""><code>var setting = {
+ data: {
+ simpleData: {
+ enable: true,
+ idKey: "id",
+ pIdKey: "pId",
+ rootPId: 0
+ }
+ }
+};
+var treeNodes = [
+ {"id":1, "pId":0, "name":"test1"},
+ {"id":11, "pId":1, "name":"test11"},
+ {"id":12, "pId":1, "name":"test12"},
+ {"id":111, "pId":11, "name":"test111"}
+];
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.data.simpleData.rootPId.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.data.simpleData.rootPId.html index 8cff82d4..6cc496d8 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.data.simpleData.rootPId.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.data.simpleData.rootPId.html @@ -1,32 +1,32 @@ -<div class="apiDetail"> -<div> - <h2><span>String / Number</span><span class="path">setting.data.simpleData.</span>rootPId</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>用于修正根节点父节点数据,即 pIdKey 指定的属性值。<span class="highlight_red">[setting.data.simpleData.enable = true 时生效]</span></p> - <p>默认值:null</p> - </div> - </div> - <h3>setting 举例</h3> - <h4>1. 使用简单 Array 格式的数据</h4> - <pre xmlns=""><code>var setting = { - data: { - simpleData: { - enable: true, - idKey: "id", - pIdKey: "pId", - rootPId: 0 - } - } -}; -var treeNodes = [ - {"id":1, "pId":0, "name":"test1"}, - {"id":11, "pId":1, "name":"test11"}, - {"id":12, "pId":1, "name":"test12"}, - {"id":111, "pId":11, "name":"test111"} -]; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String / Number</span><span class="path">setting.data.simpleData.</span>rootPId</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>用于修正根节点父节点数据,即 pIdKey 指定的属性值。<span class="highlight_red">[setting.data.simpleData.enable = true 时生效]</span></p>
+ <p>默认值:null</p>
+ </div>
+ </div>
+ <h3>setting 举例</h3>
+ <h4>1. 使用简单 Array 格式的数据</h4>
+ <pre xmlns=""><code>var setting = {
+ data: {
+ simpleData: {
+ enable: true,
+ idKey: "id",
+ pIdKey: "pId",
+ rootPId: 0
+ }
+ }
+};
+var treeNodes = [
+ {"id":1, "pId":0, "name":"test1"},
+ {"id":11, "pId":1, "name":"test11"},
+ {"id":12, "pId":1, "name":"test12"},
+ {"id":111, "pId":11, "name":"test111"}
+];
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.drag.autoExpandTrigger.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.drag.autoExpandTrigger.html index 126b8a85..9fbe3add 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.drag.autoExpandTrigger.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.drag.autoExpandTrigger.html @@ -1,28 +1,28 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">setting.edit.drag.</span>autoExpandTrigger</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>拖拽时父节点自动展开是否触发 onExpand 事件回调函数。<span class="highlight_red">[setting.edit.enable = true 时生效]</span></p> - <p>默认值:false</p> - </div> - </div> - <h3>Boolean 格式说明</h3> - <div class="desc"> - <p> true / false 分别表示 触发 / 不触发 onExpand 事件回调函数。</p> - </div> - <h3>setting 举例</h3> - <h4>1. 设置拖拽时父节点自动展开触发 onExpand 事件回调函数</h4> - <pre xmlns=""><code>var setting = { - edit: { - enable: true, - drag: { - autoExpandTrigger: true - } - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">setting.edit.drag.</span>autoExpandTrigger</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>拖拽时父节点自动展开是否触发 onExpand 事件回调函数。<span class="highlight_red">[setting.edit.enable = true 时生效]</span></p>
+ <p>默认值:false</p>
+ </div>
+ </div>
+ <h3>Boolean 格式说明</h3>
+ <div class="desc">
+ <p> true / false 分别表示 触发 / 不触发 onExpand 事件回调函数。</p>
+ </div>
+ <h3>setting 举例</h3>
+ <h4>1. 设置拖拽时父节点自动展开触发 onExpand 事件回调函数</h4>
+ <pre xmlns=""><code>var setting = {
+ edit: {
+ enable: true,
+ drag: {
+ autoExpandTrigger: true
+ }
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.drag.autoOpenTime.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.drag.autoOpenTime.html index df783392..2bc29e9c 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.drag.autoOpenTime.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.drag.autoOpenTime.html @@ -1,25 +1,25 @@ -<div class="apiDetail"> -<div> - <h2><span>Number</span><span class="path">setting.edit.drag.</span>autoOpenTime</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>拖拽时父节点自动展开的延时间隔。 (单位:ms)<span class="highlight_red">[setting.edit.enable = true 时生效]</span></p> - <p>默认值:500</p> - <p class="highlight_red">请根据自己的需求适当调整此值</p> - </div> - </div> - <h3>setting 举例</h3> - <h4>1. 设置拖拽到父节点上立刻自动展开</h4> - <pre xmlns=""><code>var setting = { - edit: { - enable: true, - drag: { - autoOpenTime: 0 - } - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Number</span><span class="path">setting.edit.drag.</span>autoOpenTime</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>拖拽时父节点自动展开的延时间隔。 (单位:ms)<span class="highlight_red">[setting.edit.enable = true 时生效]</span></p>
+ <p>默认值:500</p>
+ <p class="highlight_red">请根据自己的需求适当调整此值</p>
+ </div>
+ </div>
+ <h3>setting 举例</h3>
+ <h4>1. 设置拖拽到父节点上立刻自动展开</h4>
+ <pre xmlns=""><code>var setting = {
+ edit: {
+ enable: true,
+ drag: {
+ autoOpenTime: 0
+ }
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.drag.borderMax.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.drag.borderMax.html index 1d4dd681..942706cf 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.drag.borderMax.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.drag.borderMax.html @@ -1,25 +1,25 @@ -<div class="apiDetail"> -<div> - <h2><span>Number</span><span class="path">setting.edit.drag.</span>borderMax</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>拖拽节点成为根节点时的 Tree 内边界范围 (单位:px)。<span class="highlight_red">[setting.edit.enable = true 时生效]</span></p> - <p>默认值:10</p> - <p class="highlight_red">请根据自己的需求适当调整此值</p> - </div> - </div> - <h3>setting 举例</h3> - <h4>1. 更改拖拽操作节点成为根节点时的 Tree 内边界范围为20px</h4> - <pre xmlns=""><code>var setting = { - edit: { - enable: true, - drag: { - borderMax: 20 - } - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Number</span><span class="path">setting.edit.drag.</span>borderMax</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>拖拽节点成为根节点时的 Tree 内边界范围 (单位:px)。<span class="highlight_red">[setting.edit.enable = true 时生效]</span></p>
+ <p>默认值:10</p>
+ <p class="highlight_red">请根据自己的需求适当调整此值</p>
+ </div>
+ </div>
+ <h3>setting 举例</h3>
+ <h4>1. 更改拖拽操作节点成为根节点时的 Tree 内边界范围为20px</h4>
+ <pre xmlns=""><code>var setting = {
+ edit: {
+ enable: true,
+ drag: {
+ borderMax: 20
+ }
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.drag.borderMin.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.drag.borderMin.html index 463eb2b7..6ed5e3e5 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.drag.borderMin.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.drag.borderMin.html @@ -1,25 +1,25 @@ -<div class="apiDetail"> -<div> - <h2><span>Number</span><span class="path">setting.edit.drag.</span>borderMin</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>拖拽节点成为根节点时的 Tree 外边界范围 (单位:px)。<span class="highlight_red">[setting.edit.enable = true 时生效]</span></p> - <p>默认值:-5</p> - <p class="highlight_red">请根据自己的需求适当调整此值</p> - </div> - </div> - <h3>setting 举例</h3> - <h4>1. 更改拖拽操作节点成为根节点时的 Tree 外边界范围为10px</h4> - <pre xmlns=""><code>var setting = { - edit: { - enable: true, - drag: { - borderMin: -10 - } - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Number</span><span class="path">setting.edit.drag.</span>borderMin</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>拖拽节点成为根节点时的 Tree 外边界范围 (单位:px)。<span class="highlight_red">[setting.edit.enable = true 时生效]</span></p>
+ <p>默认值:-5</p>
+ <p class="highlight_red">请根据自己的需求适当调整此值</p>
+ </div>
+ </div>
+ <h3>setting 举例</h3>
+ <h4>1. 更改拖拽操作节点成为根节点时的 Tree 外边界范围为10px</h4>
+ <pre xmlns=""><code>var setting = {
+ edit: {
+ enable: true,
+ drag: {
+ borderMin: -10
+ }
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.drag.inner.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.drag.inner.html index 06679e1a..a82e8dd0 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.drag.inner.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.drag.inner.html @@ -1,59 +1,59 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean / Function(treeId, treeNodes, targetNode)</span><span class="path">setting.edit.drag.</span>inner</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>拖拽到目标节点时,设置是否允许成为目标节点的子节点。<span class="highlight_red">[setting.edit.enable = true 时生效]</span></p> - <p class="highlight_red">拖拽目标是 根 的时候,不触发 prev 和 next,只会触发 inner</p> - <p class="highlight_red">此功能主要作用是对拖拽进行适当限制(辅助箭头),需要结合 prev、next 一起使用,才能实现完整功能。</p> - <p>默认值:true</p> - </div> - </div> - <h3>Boolean 格式说明</h3> - <div class="desc"> - <p> true / false 分别表示 允许 / 不允许 成为目标节点的子节点</p> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控(多棵树拖拽时,是目标节点所在树的 treeId)</p> - <h4 class="topLine"><b>treeNodes</b><span>Array(JSON)</span></h4> - <p>被拖拽的节点 JSON 数据集合</p> - <h4 class="topLine"><b>targetNode</b><span>JSON</span></h4> - <p>拖拽时的目标节点 JSON 数据对象</p> - <p class="highlight_red">如果拖拽的节点要成为根节点,则 targetNode = null</p> - <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4> - <p>返回值同 Boolean 格式的数据</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 禁止拖拽成为目标节点的子节点</h4> - <pre xmlns=""><code>var setting = { - edit: { - enable: true, - drag: { - prev: true, - next: true, - inner: false - } - } -}; -......</code></pre> - <h4>2. 禁止拖拽成为根节点的子节点</h4> - <pre xmlns=""><code>function canInner(treeId, nodes, targetNode) { - return !(targetNode && targetNode.level === 0); -} -var setting = { - edit: { - enable: true, - drag: { - prev: true, - next: true, - inner: canInner - } - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean / Function(treeId, treeNodes, targetNode)</span><span class="path">setting.edit.drag.</span>inner</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>拖拽到目标节点时,设置是否允许成为目标节点的子节点。<span class="highlight_red">[setting.edit.enable = true 时生效]</span></p>
+ <p class="highlight_red">拖拽目标是 根 的时候,不触发 prev 和 next,只会触发 inner</p>
+ <p class="highlight_red">此功能主要作用是对拖拽进行适当限制(辅助箭头),需要结合 prev、next 一起使用,才能实现完整功能。</p>
+ <p>默认值:true</p>
+ </div>
+ </div>
+ <h3>Boolean 格式说明</h3>
+ <div class="desc">
+ <p> true / false 分别表示 允许 / 不允许 成为目标节点的子节点</p>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控(多棵树拖拽时,是目标节点所在树的 treeId)</p>
+ <h4 class="topLine"><b>treeNodes</b><span>Array(JSON)</span></h4>
+ <p>被拖拽的节点 JSON 数据集合</p>
+ <h4 class="topLine"><b>targetNode</b><span>JSON</span></h4>
+ <p>拖拽时的目标节点 JSON 数据对象</p>
+ <p class="highlight_red">如果拖拽的节点要成为根节点,则 targetNode = null</p>
+ <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4>
+ <p>返回值同 Boolean 格式的数据</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 禁止拖拽成为目标节点的子节点</h4>
+ <pre xmlns=""><code>var setting = {
+ edit: {
+ enable: true,
+ drag: {
+ prev: true,
+ next: true,
+ inner: false
+ }
+ }
+};
+......</code></pre>
+ <h4>2. 禁止拖拽成为根节点的子节点</h4>
+ <pre xmlns=""><code>function canInner(treeId, nodes, targetNode) {
+ return !(targetNode && targetNode.level === 0);
+}
+var setting = {
+ edit: {
+ enable: true,
+ drag: {
+ prev: true,
+ next: true,
+ inner: canInner
+ }
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.drag.isCopy.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.drag.isCopy.html index cff17afd..93cb3e4a 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.drag.isCopy.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.drag.isCopy.html @@ -1,32 +1,32 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">setting.edit.drag.</span>isCopy</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>拖拽时, 设置是否允许复制节点。<span class="highlight_red">[setting.edit.enable = true 时生效]</span></p> - <p>默认值:true</p> - </div> - </div> - <h3>规则说明</h3> - <div class="desc"> - <p>1、isCopy = true; isMove = true 时,拖拽节点按下 Ctrl 或 Cmd 键表示 copy; 否则为 move</p> - <p>2、isCopy = true; isMove = false 时,所有拖拽操作都是 copy</p> - <p>3、isCopy = false; isMove = true 时,所有拖拽操作都是 move</p> - <p>4、isCopy = false; isMove = false 时,禁止拖拽操作</p> - </div> - <h3>setting 举例</h3> - <h4>1. 设置所有拖拽操作都是 copy</h4> - <pre xmlns=""><code>var setting = { - edit: { - enable: true, - drag: { - isCopy: true, - isMove: false - } - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">setting.edit.drag.</span>isCopy</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>拖拽时, 设置是否允许复制节点。<span class="highlight_red">[setting.edit.enable = true 时生效]</span></p>
+ <p>默认值:true</p>
+ </div>
+ </div>
+ <h3>规则说明</h3>
+ <div class="desc">
+ <p>1、isCopy = true; isMove = true 时,拖拽节点按下 Ctrl 或 Cmd 键表示 copy; 否则为 move</p>
+ <p>2、isCopy = true; isMove = false 时,所有拖拽操作都是 copy</p>
+ <p>3、isCopy = false; isMove = true 时,所有拖拽操作都是 move</p>
+ <p>4、isCopy = false; isMove = false 时,禁止拖拽操作</p>
+ </div>
+ <h3>setting 举例</h3>
+ <h4>1. 设置所有拖拽操作都是 copy</h4>
+ <pre xmlns=""><code>var setting = {
+ edit: {
+ enable: true,
+ drag: {
+ isCopy: true,
+ isMove: false
+ }
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.drag.isMove.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.drag.isMove.html index 7fdadd18..5a66da07 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.drag.isMove.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.drag.isMove.html @@ -1,32 +1,32 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">setting.edit.drag.</span>isMove</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>拖拽时, 设置是否允许移动节点。<span class="highlight_red">[setting.edit.enable = true 时生效]</span></p> - <p>默认值:true</p> - </div> - </div> - <h3>规则说明</h3> - <div class="desc"> - <p>1、isCopy = true; isMove = true 时,拖拽节点按下 Ctrl 或 Cmd 键表示 copy; 否则为 move</p> - <p>2、isCopy = true; isMove = false 时,所有拖拽操作都是 copy</p> - <p>3、isCopy = false; isMove = true 时,所有拖拽操作都是 move</p> - <p>4、isCopy = false; isMove = false 时,禁止拖拽操作</p> - </div> - <h3>setting 举例</h3> - <h4>1. 设置所有拖拽操作都是 move</h4> - <pre xmlns=""><code>var setting = { - edit: { - enable: true, - drag: { - isCopy: false, - isMove: true - } - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">setting.edit.drag.</span>isMove</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>拖拽时, 设置是否允许移动节点。<span class="highlight_red">[setting.edit.enable = true 时生效]</span></p>
+ <p>默认值:true</p>
+ </div>
+ </div>
+ <h3>规则说明</h3>
+ <div class="desc">
+ <p>1、isCopy = true; isMove = true 时,拖拽节点按下 Ctrl 或 Cmd 键表示 copy; 否则为 move</p>
+ <p>2、isCopy = true; isMove = false 时,所有拖拽操作都是 copy</p>
+ <p>3、isCopy = false; isMove = true 时,所有拖拽操作都是 move</p>
+ <p>4、isCopy = false; isMove = false 时,禁止拖拽操作</p>
+ </div>
+ <h3>setting 举例</h3>
+ <h4>1. 设置所有拖拽操作都是 move</h4>
+ <pre xmlns=""><code>var setting = {
+ edit: {
+ enable: true,
+ drag: {
+ isCopy: false,
+ isMove: true
+ }
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.drag.maxShowNodeNum.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.drag.maxShowNodeNum.html index 3e7a3d26..41e197fe 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.drag.maxShowNodeNum.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.drag.maxShowNodeNum.html @@ -1,25 +1,25 @@ -<div class="apiDetail"> -<div> - <h2><span>Number</span><span class="path">setting.edit.drag.</span>maxShowNodeNum</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>拖拽多个兄弟节点时,浮动图层中显示的最大节点数。 多余的节点用...代替。<span class="highlight_red">[setting.edit.enable = true 时生效]</span></p> - <p>默认值:5</p> - <p class="highlight_red">请根据自己的需求适当调整此值</p> - </div> - </div> - <h3>setting 举例</h3> - <h4>1. 设置拖拽时最多可显示10个节点</h4> - <pre xmlns=""><code>var setting = { - edit: { - enable: true, - drag: { - maxShowNodeNum: 10 - } - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Number</span><span class="path">setting.edit.drag.</span>maxShowNodeNum</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>拖拽多个兄弟节点时,浮动图层中显示的最大节点数。 多余的节点用...代替。<span class="highlight_red">[setting.edit.enable = true 时生效]</span></p>
+ <p>默认值:5</p>
+ <p class="highlight_red">请根据自己的需求适当调整此值</p>
+ </div>
+ </div>
+ <h3>setting 举例</h3>
+ <h4>1. 设置拖拽时最多可显示10个节点</h4>
+ <pre xmlns=""><code>var setting = {
+ edit: {
+ enable: true,
+ drag: {
+ maxShowNodeNum: 10
+ }
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.drag.minMoveSize.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.drag.minMoveSize.html index 904be414..f05aa2e7 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.drag.minMoveSize.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.drag.minMoveSize.html @@ -1,25 +1,25 @@ -<div class="apiDetail"> -<div> - <h2><span>Number</span><span class="path">setting.edit.drag.</span>minMoveSize</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>判定是否拖拽操作的最小位移值 (单位:px)。<span class="highlight_red">[setting.edit.enable = true 时生效]</span></p> - <p class="highlight_red">根据自己的需求可适当调整此值,如果太小容易导致点击鼠标时误操作进行拖拽</p> - <p>默认值:5</p> - </div> - </div> - <h3>setting 举例</h3> - <h4>1. 更改拖拽操作启动位移值为10px</h4> - <pre xmlns=""><code>var setting = { - edit: { - enable: true, - drag: { - minMoveSize: 10 - } - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Number</span><span class="path">setting.edit.drag.</span>minMoveSize</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>判定是否拖拽操作的最小位移值 (单位:px)。<span class="highlight_red">[setting.edit.enable = true 时生效]</span></p>
+ <p class="highlight_red">根据自己的需求可适当调整此值,如果太小容易导致点击鼠标时误操作进行拖拽</p>
+ <p>默认值:5</p>
+ </div>
+ </div>
+ <h3>setting 举例</h3>
+ <h4>1. 更改拖拽操作启动位移值为10px</h4>
+ <pre xmlns=""><code>var setting = {
+ edit: {
+ enable: true,
+ drag: {
+ minMoveSize: 10
+ }
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.drag.next.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.drag.next.html index ffc874aa..b20fec74 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.drag.next.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.drag.next.html @@ -1,58 +1,58 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean / Function(treeId, treeNodes, targetNode)</span><span class="path">setting.edit.drag.</span>next</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>拖拽到目标节点时,设置是否允许移动到目标节点后面的操作。<span class="highlight_red">[setting.edit.enable = true 时生效]</span></p> - <p class="highlight_red">拖拽目标是 根 的时候,不触发 prev 和 next,只会触发 inner</p> - <p class="highlight_red">此功能主要作用是对拖拽进行适当限制(辅助箭头),需要结合 prev、inner 一起使用,才能实现完整功能。</p> - <p>默认值:true</p> - </div> - </div> - <h3>Boolean 格式说明</h3> - <div class="desc"> - <p> true / false 分别表示 允许 / 不允许 移动到目标节点后面</p> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控(多棵树拖拽时,是目标节点所在树的 treeId)</p> - <h4 class="topLine"><b>treeNodes</b><span>Array(JSON)</span></h4> - <p>被拖拽的节点 JSON 数据集合</p> - <h4 class="topLine"><b>targetNode</b><span>JSON</span></h4> - <p>拖拽时的目标节点 JSON 数据对象</p> - <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4> - <p>返回值同 Boolean 格式的数据</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 禁止拖拽到节点后面的操作</h4> - <pre xmlns=""><code>var setting = { - edit: { - enable: true, - drag: { - prev: true, - next: false, - inner: true - } - } -}; -......</code></pre> - <h4>2. 禁止拖拽到父节点后面的操作</h4> - <pre xmlns=""><code>function canNext(treeId, nodes, targetNode) { - return !targetNode.isParent; -} -var setting = { - edit: { - enable: true, - drag: { - prev: true, - next: canNext, - inner: true - } - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean / Function(treeId, treeNodes, targetNode)</span><span class="path">setting.edit.drag.</span>next</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>拖拽到目标节点时,设置是否允许移动到目标节点后面的操作。<span class="highlight_red">[setting.edit.enable = true 时生效]</span></p>
+ <p class="highlight_red">拖拽目标是 根 的时候,不触发 prev 和 next,只会触发 inner</p>
+ <p class="highlight_red">此功能主要作用是对拖拽进行适当限制(辅助箭头),需要结合 prev、inner 一起使用,才能实现完整功能。</p>
+ <p>默认值:true</p>
+ </div>
+ </div>
+ <h3>Boolean 格式说明</h3>
+ <div class="desc">
+ <p> true / false 分别表示 允许 / 不允许 移动到目标节点后面</p>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控(多棵树拖拽时,是目标节点所在树的 treeId)</p>
+ <h4 class="topLine"><b>treeNodes</b><span>Array(JSON)</span></h4>
+ <p>被拖拽的节点 JSON 数据集合</p>
+ <h4 class="topLine"><b>targetNode</b><span>JSON</span></h4>
+ <p>拖拽时的目标节点 JSON 数据对象</p>
+ <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4>
+ <p>返回值同 Boolean 格式的数据</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 禁止拖拽到节点后面的操作</h4>
+ <pre xmlns=""><code>var setting = {
+ edit: {
+ enable: true,
+ drag: {
+ prev: true,
+ next: false,
+ inner: true
+ }
+ }
+};
+......</code></pre>
+ <h4>2. 禁止拖拽到父节点后面的操作</h4>
+ <pre xmlns=""><code>function canNext(treeId, nodes, targetNode) {
+ return !targetNode.isParent;
+}
+var setting = {
+ edit: {
+ enable: true,
+ drag: {
+ prev: true,
+ next: canNext,
+ inner: true
+ }
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.drag.prev.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.drag.prev.html index bd053618..d296f96b 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.drag.prev.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.drag.prev.html @@ -1,58 +1,58 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean / Function(treeId, treeNodes, targetNode)</span><span class="path">setting.edit.drag.</span>prev</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>拖拽到目标节点时,设置是否允许移动到目标节点前面的操作。<span class="highlight_red">[setting.edit.enable = true 时生效]</span></p> - <p class="highlight_red">拖拽目标是 根 的时候,不触发 prev 和 next,只会触发 inner</p> - <p class="highlight_red">此功能主要作用是对拖拽进行适当限制(辅助箭头),需要结合 next、inner 一起使用,才能实现完整功能。</p> - <p>默认值:true</p> - </div> - </div> - <h3>Boolean 格式说明</h3> - <div class="desc"> - <p> true / false 分别表示 允许 / 不允许 移动到目标节点前面</p> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控(多棵树拖拽时,是目标节点所在树的 treeId)</p> - <h4 class="topLine"><b>treeNodes</b><span>Array(JSON)</span></h4> - <p>被拖拽的节点 JSON 数据集合</p> - <h4 class="topLine"><b>targetNode</b><span>JSON</span></h4> - <p>拖拽时的目标节点 JSON 数据对象</p> - <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4> - <p>返回值同 Boolean 格式的数据</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 禁止拖拽到节点前面的操作</h4> - <pre xmlns=""><code>var setting = { - edit: { - enable: true, - drag: { - prev: false, - next: true, - inner: true - } - } -}; -......</code></pre> - <h4>2. 禁止拖拽到父节点前面的操作</h4> - <pre xmlns=""><code>function canPrev(treeId, nodes, targetNode) { - return !targetNode.isParent; -} -var setting = { - edit: { - enable: true, - drag: { - prev: canPrev, - next: true, - inner: true - } - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean / Function(treeId, treeNodes, targetNode)</span><span class="path">setting.edit.drag.</span>prev</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>拖拽到目标节点时,设置是否允许移动到目标节点前面的操作。<span class="highlight_red">[setting.edit.enable = true 时生效]</span></p>
+ <p class="highlight_red">拖拽目标是 根 的时候,不触发 prev 和 next,只会触发 inner</p>
+ <p class="highlight_red">此功能主要作用是对拖拽进行适当限制(辅助箭头),需要结合 next、inner 一起使用,才能实现完整功能。</p>
+ <p>默认值:true</p>
+ </div>
+ </div>
+ <h3>Boolean 格式说明</h3>
+ <div class="desc">
+ <p> true / false 分别表示 允许 / 不允许 移动到目标节点前面</p>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控(多棵树拖拽时,是目标节点所在树的 treeId)</p>
+ <h4 class="topLine"><b>treeNodes</b><span>Array(JSON)</span></h4>
+ <p>被拖拽的节点 JSON 数据集合</p>
+ <h4 class="topLine"><b>targetNode</b><span>JSON</span></h4>
+ <p>拖拽时的目标节点 JSON 数据对象</p>
+ <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4>
+ <p>返回值同 Boolean 格式的数据</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 禁止拖拽到节点前面的操作</h4>
+ <pre xmlns=""><code>var setting = {
+ edit: {
+ enable: true,
+ drag: {
+ prev: false,
+ next: true,
+ inner: true
+ }
+ }
+};
+......</code></pre>
+ <h4>2. 禁止拖拽到父节点前面的操作</h4>
+ <pre xmlns=""><code>function canPrev(treeId, nodes, targetNode) {
+ return !targetNode.isParent;
+}
+var setting = {
+ edit: {
+ enable: true,
+ drag: {
+ prev: canPrev,
+ next: true,
+ inner: true
+ }
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.editNameSelectAll.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.editNameSelectAll.html index 30784f3c..c578b652 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.editNameSelectAll.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.editNameSelectAll.html @@ -1,27 +1,27 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">setting.edit.</span>editNameSelectAll</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>节点编辑名称 input 初次显示时,设置 txt 内容是否为全选状态。 <span class="highlight_red">[setting.edit.enable = true 时生效]</span></p> - <p>默认值: false</p> - </div> - </div> - <h3>Boolean 格式说明</h3> - <div class="desc"> - <p> true 表示 全选状态</p> - <p> false 表示 不是全选状态,光标默认在最后</p> - </div> - <h3>setting 举例</h3> - <h4>1. 设置节点编辑名称 input 初次显示时,txt内容为全选状态</h4> - <pre xmlns=""><code>var setting = { - edit: { - enable: true, - editNameSelectAll: true - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">setting.edit.</span>editNameSelectAll</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>节点编辑名称 input 初次显示时,设置 txt 内容是否为全选状态。 <span class="highlight_red">[setting.edit.enable = true 时生效]</span></p>
+ <p>默认值: false</p>
+ </div>
+ </div>
+ <h3>Boolean 格式说明</h3>
+ <div class="desc">
+ <p> true 表示 全选状态</p>
+ <p> false 表示 不是全选状态,光标默认在最后</p>
+ </div>
+ <h3>setting 举例</h3>
+ <h4>1. 设置节点编辑名称 input 初次显示时,txt内容为全选状态</h4>
+ <pre xmlns=""><code>var setting = {
+ edit: {
+ enable: true,
+ editNameSelectAll: true
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.enable.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.enable.html index de1afeaf..666c5037 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.enable.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.enable.html @@ -1,38 +1,38 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">setting.edit.</span>enable</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>设置 zTree 是否处于编辑状态</p> - <p class="highlight_red">请在初始化之前设置,初始化后需要改变编辑状态请使用 zTreeObj.setEditable() 方法</p> - <p>默认值: false</p> - </div> - </div> - <h3>Boolean 格式说明</h3> - <div class="desc"> - <p> true / false 分别表示 可以 / 不可以 编辑</p> - </div> - <h3>编辑状态规则说明</h3> - <div class="desc"> - <p>1、点击节点时,不会打开 <span class="highlight_red">node.url</span> 指定的 URL。 -<br/>2、全面支持 编辑 与 异步加载 状态共存。 -<br/>3、可以对节点进行拖拽,且支持多棵树之间进行拖拽。 -<br/>4、支持拖拽时 复制/移动 节点。(参考: <span class="highlight_red">setting.edit.drag.isCopy / setting.edit.drag.isMove</span>) -<br/>5、可以通过编辑按钮修改 name 属性。 -<br/>6、可以通过删除按钮删除节点。 -<br/> -</p> - <p class="highlight_red">请注意大小写,不要改变</p> - </div> - <h3>setting 举例</h3> - <h4>1. 设置 zTree 进入编辑状态</h4> - <pre xmlns=""><code>var setting = { - edit: { - enable: true - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">setting.edit.</span>enable</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>设置 zTree 是否处于编辑状态</p>
+ <p class="highlight_red">请在初始化之前设置,初始化后需要改变编辑状态请使用 zTreeObj.setEditable() 方法</p>
+ <p>默认值: false</p>
+ </div>
+ </div>
+ <h3>Boolean 格式说明</h3>
+ <div class="desc">
+ <p> true / false 分别表示 可以 / 不可以 编辑</p>
+ </div>
+ <h3>编辑状态规则说明</h3>
+ <div class="desc">
+ <p>1、点击节点时,不会打开 <span class="highlight_red">node.url</span> 指定的 URL。
+<br/>2、全面支持 编辑 与 异步加载 状态共存。
+<br/>3、可以对节点进行拖拽,且支持多棵树之间进行拖拽。
+<br/>4、支持拖拽时 复制/移动 节点。(参考: <span class="highlight_red">setting.edit.drag.isCopy / setting.edit.drag.isMove</span>)
+<br/>5、可以通过编辑按钮修改 name 属性。
+<br/>6、可以通过删除按钮删除节点。
+<br/>
+</p>
+ <p class="highlight_red">请注意大小写,不要改变</p>
+ </div>
+ <h3>setting 举例</h3>
+ <h4>1. 设置 zTree 进入编辑状态</h4>
+ <pre xmlns=""><code>var setting = {
+ edit: {
+ enable: true
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.removeTitle.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.removeTitle.html index 55257da7..438a3471 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.removeTitle.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.removeTitle.html @@ -1,48 +1,48 @@ -<div class="apiDetail"> -<div> - <h2><span>String / Function(treeId, treeNode)</span><span class="path">setting.edit.</span>removeTitle</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>删除按钮的 Title 辅助信息。<span class="highlight_red">[setting.edit.enable = true & setting.edit.showRemoveBtn = true 时生效]</span></p> - <p>默认值:"remove"</p> - </div> - </div> - <h3>String 格式说明</h3> - <div class="desc"> - <p>鼠标移动到 删除按钮 上时,浏览器自动弹出的辅助信息内容,可根据用户需要自行修改</p> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>需要设置删除按钮 Title 信息的节点 JSON 数据对象</p> - <h4 class="topLine"><b>返回值</b><span>String</span></h4> - <p>返回值同 String 格式的数据</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 设置删除按钮的 Title 辅助信息为: "删除节点"</h4> - <pre xmlns=""><code>var setting = { - edit: { - enable: true, - showRemoveBtn: true, - removeTitle: "删除节点" - } -}; -......</code></pre> - <h4>2. 设置父节点删除按钮的 Title 辅助信息为: "删除父节点"</h4> - <pre xmlns=""><code>function setRemoveTitle(treeId, treeNode) { - return treeNode.isParent ? "删除父节点":"删除叶子节点"; -} -var setting = { - edit: { - enable: true, - showRemoveBtn: true, - removeTitle: setRemoveTitle - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String / Function(treeId, treeNode)</span><span class="path">setting.edit.</span>removeTitle</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>删除按钮的 Title 辅助信息。<span class="highlight_red">[setting.edit.enable = true & setting.edit.showRemoveBtn = true 时生效]</span></p>
+ <p>默认值:"remove"</p>
+ </div>
+ </div>
+ <h3>String 格式说明</h3>
+ <div class="desc">
+ <p>鼠标移动到 删除按钮 上时,浏览器自动弹出的辅助信息内容,可根据用户需要自行修改</p>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>需要设置删除按钮 Title 信息的节点 JSON 数据对象</p>
+ <h4 class="topLine"><b>返回值</b><span>String</span></h4>
+ <p>返回值同 String 格式的数据</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 设置删除按钮的 Title 辅助信息为: "删除节点"</h4>
+ <pre xmlns=""><code>var setting = {
+ edit: {
+ enable: true,
+ showRemoveBtn: true,
+ removeTitle: "删除节点"
+ }
+};
+......</code></pre>
+ <h4>2. 设置父节点删除按钮的 Title 辅助信息为: "删除父节点"</h4>
+ <pre xmlns=""><code>function setRemoveTitle(treeId, treeNode) {
+ return treeNode.isParent ? "删除父节点":"删除叶子节点";
+}
+var setting = {
+ edit: {
+ enable: true,
+ showRemoveBtn: true,
+ removeTitle: setRemoveTitle
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.renameTitle.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.renameTitle.html index 2dfbcca1..4ca58594 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.renameTitle.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.renameTitle.html @@ -1,48 +1,48 @@ -<div class="apiDetail"> -<div> - <h2><span>String / Function(treeId, treeNode)</span><span class="path">setting.edit.</span>renameTitle</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>编辑名称按钮的 Title 辅助信息。<span class="highlight_red">[setting.edit.enable = true & setting.edit.showRenameBtn = true 时生效]</span></p> - <p>默认值:"rename"</p> - </div> - </div> - <h3>String 格式说明</h3> - <div class="desc"> - <p>设置鼠标移动到 编辑名称按钮 上时,浏览器自动弹出的辅助信息内容,可根据用户需要自行修改</p> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>需要设置编辑名称按钮 Title 信息的节点 JSON 数据对象</p> - <h4 class="topLine"><b>返回值</b><span>String</span></h4> - <p>返回值同 String 格式的数据</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 设置编辑名称按钮的 Title 辅助信息为: "编辑节点名称"</h4> - <pre xmlns=""><code>var setting = { - edit: { - enable: true, - showRenameBtn: true, - renameTitle: "编辑节点名称" - } -}; -......</code></pre> - <h4>2. 设置父节点编辑名称按钮的 Title 辅助信息为: "编辑父节点名称"</h4> - <pre xmlns=""><code>function setRenameTitle(treeId, treeNode) { - return treeNode.isParent ? "编辑父节点名称":"编辑叶子节点名称"; -} -var setting = { - edit: { - enable: true, - showRenameBtn: true, - renameTitle: setRenameTitle - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String / Function(treeId, treeNode)</span><span class="path">setting.edit.</span>renameTitle</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>编辑名称按钮的 Title 辅助信息。<span class="highlight_red">[setting.edit.enable = true & setting.edit.showRenameBtn = true 时生效]</span></p>
+ <p>默认值:"rename"</p>
+ </div>
+ </div>
+ <h3>String 格式说明</h3>
+ <div class="desc">
+ <p>设置鼠标移动到 编辑名称按钮 上时,浏览器自动弹出的辅助信息内容,可根据用户需要自行修改</p>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>需要设置编辑名称按钮 Title 信息的节点 JSON 数据对象</p>
+ <h4 class="topLine"><b>返回值</b><span>String</span></h4>
+ <p>返回值同 String 格式的数据</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 设置编辑名称按钮的 Title 辅助信息为: "编辑节点名称"</h4>
+ <pre xmlns=""><code>var setting = {
+ edit: {
+ enable: true,
+ showRenameBtn: true,
+ renameTitle: "编辑节点名称"
+ }
+};
+......</code></pre>
+ <h4>2. 设置父节点编辑名称按钮的 Title 辅助信息为: "编辑父节点名称"</h4>
+ <pre xmlns=""><code>function setRenameTitle(treeId, treeNode) {
+ return treeNode.isParent ? "编辑父节点名称":"编辑叶子节点名称";
+}
+var setting = {
+ edit: {
+ enable: true,
+ showRenameBtn: true,
+ renameTitle: setRenameTitle
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.showRemoveBtn.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.showRemoveBtn.html index db62053c..c14fcdf9 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.showRemoveBtn.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.showRemoveBtn.html @@ -1,49 +1,49 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean / Function(treeId, treeNode)</span><span class="path">setting.edit.</span>showRemoveBtn</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>设置是否显示删除按钮。<span class="highlight_red">[setting.edit.enable = true 时生效]</span></p> - <p>当点击某节点的删除按钮时:</p> - <p>1、首先触发 <span class="highlight_red">setting.callback.beforeRemove</span> 回调函数,用户可判定是否进行删除操作。</p> - <p>2、如果未设置 beforeRemove 或 beforeRemove 返回 true,则删除节点并触发 <span class="highlight_red">setting.callback.onRemove</span> 回调函数。</p> - <p>默认值:true</p> - </div> - </div> - <h3>Boolean 格式说明</h3> - <div class="desc"> - <p> true / false 分别表示 显示 / 隐藏 删除按钮</p> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>需要设置是否显示删除按钮的节点 JSON 数据对象</p> - <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4> - <p>返回值同 Boolean 格式的数据</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 不显示删除按钮</h4> - <pre xmlns=""><code>var setting = { - edit: { - enable: true, - showRemoveBtn: false - } -}; -......</code></pre> - <h4>2. 设置所有的父节点不显示删除按钮</h4> - <pre xmlns=""><code>function setRemoveBtn(treeId, treeNode) { - return !treeNode.isParent; -} -var setting = { - edit: { - enable: true, - showRemoveBtn: setRemoveBtn - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean / Function(treeId, treeNode)</span><span class="path">setting.edit.</span>showRemoveBtn</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>设置是否显示删除按钮。<span class="highlight_red">[setting.edit.enable = true 时生效]</span></p>
+ <p>当点击某节点的删除按钮时:</p>
+ <p>1、首先触发 <span class="highlight_red">setting.callback.beforeRemove</span> 回调函数,用户可判定是否进行删除操作。</p>
+ <p>2、如果未设置 beforeRemove 或 beforeRemove 返回 true,则删除节点并触发 <span class="highlight_red">setting.callback.onRemove</span> 回调函数。</p>
+ <p>默认值:true</p>
+ </div>
+ </div>
+ <h3>Boolean 格式说明</h3>
+ <div class="desc">
+ <p> true / false 分别表示 显示 / 隐藏 删除按钮</p>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>需要设置是否显示删除按钮的节点 JSON 数据对象</p>
+ <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4>
+ <p>返回值同 Boolean 格式的数据</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 不显示删除按钮</h4>
+ <pre xmlns=""><code>var setting = {
+ edit: {
+ enable: true,
+ showRemoveBtn: false
+ }
+};
+......</code></pre>
+ <h4>2. 设置所有的父节点不显示删除按钮</h4>
+ <pre xmlns=""><code>function setRemoveBtn(treeId, treeNode) {
+ return !treeNode.isParent;
+}
+var setting = {
+ edit: {
+ enable: true,
+ showRemoveBtn: setRemoveBtn
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.showRenameBtn.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.showRenameBtn.html index 33dd37aa..f6f29d09 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.showRenameBtn.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.edit.showRenameBtn.html @@ -1,51 +1,51 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean / Function(treeId, treeNode)</span><span class="path">setting.edit.</span>showRenameBtn</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>设置是否显示编辑名称按钮。<span class="highlight_red">[setting.edit.enable = true 时生效]</span></p> - <p>当点击某节点的编辑名称按钮时:</p> - <p>1、进入节点编辑名称状态。</p> - <p>2、编辑名称完毕(Input 失去焦点 或 按下 Enter 键),会触发 <span class="highlight_red">setting.callback.beforeRename</span> 回调函数,用户可根据自己的规则判定是否允许修改名称。</p> - <p>3、如果 beforeRename 返回 false,则继续保持编辑名称状态,直到名称符合规则位置 (按下 ESC 键可取消编辑名称状态,恢复原名称)。</p> - <p>4、如果未设置 beforeRename 或 beforeRename 返回 true,则结束节点编辑名称状态,更新节点名称,并触发 <span class="highlight_red">setting.callback.onRename</span> 回调函数。</p> - <p>默认值:true</p> - </div> - </div> - <h3>Boolean 格式说明</h3> - <div class="desc"> - <p> true / false 分别表示 显示 / 隐藏 编辑名称按钮</p> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>需要设置是否显示编辑名称按钮的节点 JSON 数据对象</p> - <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4> - <p>返回值同 Boolean 格式的数据</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 不显示编辑名称按钮</h4> - <pre xmlns=""><code>var setting = { - edit: { - enable: true, - showRenameBtn: false - } -}; -......</code></pre> - <h4>2. 设置所有的父节点不显示编辑名称按钮</h4> - <pre xmlns=""><code>function setRenameBtn(treeId, treeNode) { - return !treeNode.isParent; -} -var setting = { - edit: { - enable: true, - showRenameBtn: setRenameBtn - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean / Function(treeId, treeNode)</span><span class="path">setting.edit.</span>showRenameBtn</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>设置是否显示编辑名称按钮。<span class="highlight_red">[setting.edit.enable = true 时生效]</span></p>
+ <p>当点击某节点的编辑名称按钮时:</p>
+ <p>1、进入节点编辑名称状态。</p>
+ <p>2、编辑名称完毕(Input 失去焦点 或 按下 Enter 键),会触发 <span class="highlight_red">setting.callback.beforeRename</span> 回调函数,用户可根据自己的规则判定是否允许修改名称。</p>
+ <p>3、如果 beforeRename 返回 false,则继续保持编辑名称状态,直到名称符合规则位置 (按下 ESC 键可取消编辑名称状态,恢复原名称)。</p>
+ <p>4、如果未设置 beforeRename 或 beforeRename 返回 true,则结束节点编辑名称状态,更新节点名称,并触发 <span class="highlight_red">setting.callback.onRename</span> 回调函数。</p>
+ <p>默认值:true</p>
+ </div>
+ </div>
+ <h3>Boolean 格式说明</h3>
+ <div class="desc">
+ <p> true / false 分别表示 显示 / 隐藏 编辑名称按钮</p>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>需要设置是否显示编辑名称按钮的节点 JSON 数据对象</p>
+ <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4>
+ <p>返回值同 Boolean 格式的数据</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 不显示编辑名称按钮</h4>
+ <pre xmlns=""><code>var setting = {
+ edit: {
+ enable: true,
+ showRenameBtn: false
+ }
+};
+......</code></pre>
+ <h4>2. 设置所有的父节点不显示编辑名称按钮</h4>
+ <pre xmlns=""><code>function setRenameBtn(treeId, treeNode) {
+ return !treeNode.isParent;
+}
+var setting = {
+ edit: {
+ enable: true,
+ showRenameBtn: setRenameBtn
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.treeId.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.treeId.html index 819743eb..4eefddec 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.treeId.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.treeId.html @@ -1,14 +1,14 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">setting.</span>treeId</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>zTree 的唯一标识,初始化后,等于 用户定义的 zTree 容器的 id 属性值。</p> - <p class="highlight_red">请勿进行初始化 或 修改,属于内部参数。</p> - </div> - </div> - -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">setting.</span>treeId</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>zTree 的唯一标识,初始化后,等于 用户定义的 zTree 容器的 id 属性值。</p>
+ <p class="highlight_red">请勿进行初始化 或 修改,属于内部参数。</p>
+ </div>
+ </div>
+
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.treeObj.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.treeObj.html index 37684a19..d445935f 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.treeObj.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.treeObj.html @@ -1,14 +1,14 @@ -<div class="apiDetail"> -<div> - <h2><span>Object</span><span class="path">setting.</span>treeObj</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>zTree 容器的 jQuery 对象,主要功能:便于操作。</p> - <p class="highlight_red">请勿进行初始化 或 修改,属于内部参数。</p> - </div> - </div> - -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Object</span><span class="path">setting.</span>treeObj</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>zTree 容器的 jQuery 对象,主要功能:便于操作。</p>
+ <p class="highlight_red">请勿进行初始化 或 修改,属于内部参数。</p>
+ </div>
+ </div>
+
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.addDiyDom.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.addDiyDom.html index 0a508acc..efa3c4fb 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.addDiyDom.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.addDiyDom.html @@ -1,40 +1,40 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeId, treeNode)</span><span class="path">setting.view.</span>addDiyDom</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>用于在节点上固定显示用户自定义控件</p> - <p class="highlight_red">1. 大数据量的节点加载请注意:在 addDiyDom 中针对每个节点 查找 DOM 对象并且添加新 DOM 控件,肯定会影响初始化性能;如果不是必须使用,建议不使用此功能</p> - <p class="highlight_red">2. 属于高级应用,使用时请确保对 zTree 比较了解。</p> - <p>默认值:null</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>需要显示自定义控件的节点 JSON 数据对象</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 设置节点后面显示一个按钮</h4> - <pre xmlns=""><code>var setting = { - view: { - addDiyDom: addDiyDom - } -}; -function addDiyDom(treeId, treeNode) { - var aObj = $("#" + treeNode.tId + "_a"); - if ($("#diyBtn_"+treeNode.id).length>0) return; - var editStr = "<span id='diyBtn_space_" +treeNode.id+ "' > </span>" - + "<button type='button' class='diyBtn1' id='diyBtn_" + treeNode.id - + "' title='"+treeNode.name+"' onfocus='this.blur();'></button>"; - aObj.append(editStr); - var btn = $("#diyBtn_"+treeNode.id); - if (btn) btn.bind("click", function(){alert("diy Button for " + treeNode.name);}); -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeId, treeNode)</span><span class="path">setting.view.</span>addDiyDom</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>用于在节点上固定显示用户自定义控件</p>
+ <p class="highlight_red">1. 大数据量的节点加载请注意:在 addDiyDom 中针对每个节点 查找 DOM 对象并且添加新 DOM 控件,肯定会影响初始化性能;如果不是必须使用,建议不使用此功能</p>
+ <p class="highlight_red">2. 属于高级应用,使用时请确保对 zTree 比较了解。</p>
+ <p>默认值:null</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>需要显示自定义控件的节点 JSON 数据对象</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 设置节点后面显示一个按钮</h4>
+ <pre xmlns=""><code>var setting = {
+ view: {
+ addDiyDom: addDiyDom
+ }
+};
+function addDiyDom(treeId, treeNode) {
+ var aObj = $("#" + treeNode.tId + "_a");
+ if ($("#diyBtn_"+treeNode.id).length>0) return;
+ var editStr = "<span id='diyBtn_space_" +treeNode.id+ "' > </span>"
+ + "<button type='button' class='diyBtn1' id='diyBtn_" + treeNode.id
+ + "' title='"+treeNode.name+"' onfocus='this.blur();'></button>";
+ aObj.append(editStr);
+ var btn = $("#diyBtn_"+treeNode.id);
+ if (btn) btn.bind("click", function(){alert("diy Button for " + treeNode.name);});
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.addHoverDom.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.addHoverDom.html index f073e79c..e24b8287 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.addHoverDom.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.addHoverDom.html @@ -1,45 +1,45 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeId, treeNode)</span><span class="path">setting.view.</span>addHoverDom</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>用于当鼠标移动到节点上时,显示用户自定义控件,显示隐藏状态同 zTree 内部的编辑、删除按钮</p> - <p class="highlight_red">请务必与 <span class="highlight_red">setting.view.removeHoverDom</span> 同时使用;属于高级应用,使用时请确保对 zTree 比较了解。</p> - <p>默认值:null</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>需要显示自定义控件的节点 JSON 数据对象</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 设置鼠标移到节点上,在后面显示一个按钮</h4> - <pre xmlns=""><code>var setting = { - view: { - addHoverDom: addHoverDom, - removeHoverDom: removeHoverDom, - ...... - } -}; -function addHoverDom(treeId, treeNode) { - var aObj = $("#" + treeNode.tId + "_a"); - if ($("#diyBtn_"+treeNode.id).length>0) return; - var editStr = "<span id='diyBtn_space_" +treeNode.id+ "' > </span>" - + "<button type='button' class='diyBtn1' id='diyBtn_" + treeNode.id - + "' title='"+treeNode.name+"' onfocus='this.blur();'></button>"; - aObj.append(editStr); - var btn = $("#diyBtn_"+treeNode.id); - if (btn) btn.bind("click", function(){alert("diy Button for " + treeNode.name);}); -}; -function removeHoverDom(treeId, treeNode) { - $("#diyBtn_"+treeNode.id).unbind().remove(); - $("#diyBtn_space_" +treeNode.id).unbind().remove(); -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeId, treeNode)</span><span class="path">setting.view.</span>addHoverDom</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>用于当鼠标移动到节点上时,显示用户自定义控件,显示隐藏状态同 zTree 内部的编辑、删除按钮</p>
+ <p class="highlight_red">请务必与 <span class="highlight_red">setting.view.removeHoverDom</span> 同时使用;属于高级应用,使用时请确保对 zTree 比较了解。</p>
+ <p>默认值:null</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>需要显示自定义控件的节点 JSON 数据对象</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 设置鼠标移到节点上,在后面显示一个按钮</h4>
+ <pre xmlns=""><code>var setting = {
+ view: {
+ addHoverDom: addHoverDom,
+ removeHoverDom: removeHoverDom,
+ ......
+ }
+};
+function addHoverDom(treeId, treeNode) {
+ var aObj = $("#" + treeNode.tId + "_a");
+ if ($("#diyBtn_"+treeNode.id).length>0) return;
+ var editStr = "<span id='diyBtn_space_" +treeNode.id+ "' > </span>"
+ + "<button type='button' class='diyBtn1' id='diyBtn_" + treeNode.id
+ + "' title='"+treeNode.name+"' onfocus='this.blur();'></button>";
+ aObj.append(editStr);
+ var btn = $("#diyBtn_"+treeNode.id);
+ if (btn) btn.bind("click", function(){alert("diy Button for " + treeNode.name);});
+};
+function removeHoverDom(treeId, treeNode) {
+ $("#diyBtn_"+treeNode.id).unbind().remove();
+ $("#diyBtn_space_" +treeNode.id).unbind().remove();
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.autoCancelSelected.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.autoCancelSelected.html index 4890f787..7f00c55c 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.autoCancelSelected.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.autoCancelSelected.html @@ -1,26 +1,26 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">setting.view.</span>autoCancelSelected</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>点击节点时,按下 Ctrl 或 Cmd 键是否允许取消选择操作。</p> - <p class="highlight_red">如果不需要此功能,请设置为 false。</p> - <p>默认值: true</p> - </div> - </div> - <h3>Boolean 格式说明</h3> - <div class="desc"> - <p> true / false 分别表示 支持 / 不支持 配合 Ctrl 或 Cmd 键进行取消节点选择的操作</p> - </div> - <h3>setting 举例</h3> - <h4>1. 禁止配合 Ctrl 或 Cmd 键进行取消节点选择的操作</h4> - <pre xmlns=""><code>var setting = { - view: { - autoCancelSelected: false - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">setting.view.</span>autoCancelSelected</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>点击节点时,按下 Ctrl 或 Cmd 键是否允许取消选择操作。</p>
+ <p class="highlight_red">如果不需要此功能,请设置为 false。</p>
+ <p>默认值: true</p>
+ </div>
+ </div>
+ <h3>Boolean 格式说明</h3>
+ <div class="desc">
+ <p> true / false 分别表示 支持 / 不支持 配合 Ctrl 或 Cmd 键进行取消节点选择的操作</p>
+ </div>
+ <h3>setting 举例</h3>
+ <h4>1. 禁止配合 Ctrl 或 Cmd 键进行取消节点选择的操作</h4>
+ <pre xmlns=""><code>var setting = {
+ view: {
+ autoCancelSelected: false
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.dblClickExpand.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.dblClickExpand.html index 5f3db964..5125e6a7 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.dblClickExpand.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.dblClickExpand.html @@ -1,44 +1,44 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean / Function(treeId, treeNode)</span><span class="path">setting.view.</span>dblClickExpand</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>双击节点时,是否自动展开父节点的标识</p> - <p>默认值: true</p> - </div> - </div> - <h3>Boolean 格式说明</h3> - <div class="desc"> - <p> true / false 分别表示双击节点 切换 / 不切换 展开状态</p> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>需要设置是否双击切换展开状态的节点 JSON 数据对象</p> - <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4> - <p>返回值同 Boolean 格式的数据</p> - </div> - <h3>setting 举例</h3> - <h4>1. 取消默认双击展开父节点的功能</h4> - <pre xmlns=""><code>var setting = { - view: { - dblClickExpand: false - } -}; -......</code></pre> - <h4>2. 设置 zTree 仅仅 level=0 的父节点取消双击展开的功能</h4> - <pre xmlns=""><code>function dblClickExpand(treeId, treeNode) { - return treeNode.level > 0; -}; -var setting = { - view: { - dblClickExpand: dblClickExpand - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean / Function(treeId, treeNode)</span><span class="path">setting.view.</span>dblClickExpand</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>双击节点时,是否自动展开父节点的标识</p>
+ <p>默认值: true</p>
+ </div>
+ </div>
+ <h3>Boolean 格式说明</h3>
+ <div class="desc">
+ <p> true / false 分别表示双击节点 切换 / 不切换 展开状态</p>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>需要设置是否双击切换展开状态的节点 JSON 数据对象</p>
+ <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4>
+ <p>返回值同 Boolean 格式的数据</p>
+ </div>
+ <h3>setting 举例</h3>
+ <h4>1. 取消默认双击展开父节点的功能</h4>
+ <pre xmlns=""><code>var setting = {
+ view: {
+ dblClickExpand: false
+ }
+};
+......</code></pre>
+ <h4>2. 设置 zTree 仅仅 level=0 的父节点取消双击展开的功能</h4>
+ <pre xmlns=""><code>function dblClickExpand(treeId, treeNode) {
+ return treeNode.level > 0;
+};
+var setting = {
+ view: {
+ dblClickExpand: dblClickExpand
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.expandSpeed.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.expandSpeed.html index 3b799c32..4ffb9545 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.expandSpeed.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.expandSpeed.html @@ -1,31 +1,31 @@ -<div class="apiDetail"> -<div> - <h2><span>String / Number</span><span class="path">setting.view.</span>expandSpeed</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>zTree 节点展开、折叠时的动画速度,设置方法同 JQuery 动画效果中 speed 参数。</p> - <p class="highlight_red">IE6 下会自动关闭动画效果,以保证 zTree 的操作速度</p> - <p>默认值:"fast"</p> - </div> - </div> - <h3>String 格式说明</h3> - <div class="desc"> - <p>三种预定速度之一的字符串("slow", "normal", or "fast")</p> - <p class="highlight_red">设置为 "" 时,不显示动画效果</p> - </div> - <h3>Number 格式说明</h3> - <div class="desc"> - <p>表示动画时长的毫秒数值 (如:1000)</p> - </div> - <h3>setting 举例</h3> - <h4>1. 设置为慢速显示动画效果</h4> - <pre xmlns=""><code>var setting = { - view: { - expandSpeed: "slow" - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String / Number</span><span class="path">setting.view.</span>expandSpeed</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>zTree 节点展开、折叠时的动画速度,设置方法同 JQuery 动画效果中 speed 参数。</p>
+ <p class="highlight_red">IE6 下会自动关闭动画效果,以保证 zTree 的操作速度</p>
+ <p>默认值:"fast"</p>
+ </div>
+ </div>
+ <h3>String 格式说明</h3>
+ <div class="desc">
+ <p>三种预定速度之一的字符串("slow", "normal", or "fast")</p>
+ <p class="highlight_red">设置为 "" 时,不显示动画效果</p>
+ </div>
+ <h3>Number 格式说明</h3>
+ <div class="desc">
+ <p>表示动画时长的毫秒数值 (如:1000)</p>
+ </div>
+ <h3>setting 举例</h3>
+ <h4>1. 设置为慢速显示动画效果</h4>
+ <pre xmlns=""><code>var setting = {
+ view: {
+ expandSpeed: "slow"
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.fontCss.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.fontCss.html index 54efb1bb..0d05152f 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.fontCss.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.fontCss.html @@ -1,42 +1,42 @@ -<div class="apiDetail"> -<div> - <h2><span>JSON / Function(treeId, treeNode)</span><span class="path">setting.view.</span>fontCss</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>个性化文字样式,只针对 zTree 在节点上显示的<A>对象。</p> - <p>默认值:{}</p> - </div> - </div> - <h3>JSON 格式说明</h3> - <div class="desc"> - <p>JSON 格式为 JQuery css方法中的 JSON 对象格式,例如:<span class="highlight_red">{color:"#ff0011", background:"blue"}</span></p> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>需要设置自定义样式的节点 JSON 数据对象</p> - <h4 class="topLine"><b>返回值</b><span>JSON</span></h4> - <p>返回值同 JSON 格式的数据,例如:<span class="highlight_red">{color:"#ff0011", background:"blue"}</span></p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 不修改CSS,设置全部节点 name 显示为红色</h4> - <pre xmlns=""><code>var setting = { - view: { - fontCss : {color:"red"} - } -};</code></pre> - <h4>2. 设置 level=0 的节点 name 显示为红色</h4> - <pre xmlns=""><code>function setFontCss(treeId, treeNode) { - return treeNode.level == 0 ? {color:"red"} : {}; -}; -var setting = { - view: { - fontCss: setFontCss - } -};</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>JSON / Function(treeId, treeNode)</span><span class="path">setting.view.</span>fontCss</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>个性化文字样式,只针对 zTree 在节点上显示的<A>对象。</p>
+ <p>默认值:{}</p>
+ </div>
+ </div>
+ <h3>JSON 格式说明</h3>
+ <div class="desc">
+ <p>JSON 格式为 JQuery css方法中的 JSON 对象格式,例如:<span class="highlight_red">{color:"#ff0011", background:"blue"}</span></p>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>需要设置自定义样式的节点 JSON 数据对象</p>
+ <h4 class="topLine"><b>返回值</b><span>JSON</span></h4>
+ <p>返回值同 JSON 格式的数据,例如:<span class="highlight_red">{color:"#ff0011", background:"blue"}</span></p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 不修改CSS,设置全部节点 name 显示为红色</h4>
+ <pre xmlns=""><code>var setting = {
+ view: {
+ fontCss : {color:"red"}
+ }
+};</code></pre>
+ <h4>2. 设置 level=0 的节点 name 显示为红色</h4>
+ <pre xmlns=""><code>function setFontCss(treeId, treeNode) {
+ return treeNode.level == 0 ? {color:"red"} : {};
+};
+var setting = {
+ view: {
+ fontCss: setFontCss
+ }
+};</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.nameIsHTML.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.nameIsHTML.html index a1d916c5..48478029 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.nameIsHTML.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.nameIsHTML.html @@ -1,27 +1,27 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">setting.view.</span>nameIsHTML</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>设置 name 属性是否支持 HTML 脚本</p> - <p class="highlight_red">如果允许 HTML 脚本,请根据自己的需求做校验,避免出现 js 注入等安全问题。</p> - <p>默认值: false</p> - </div> - </div> - <h3>Boolean 格式说明</h3> - <div class="desc"> - <p> true / false 分别表示 支持 / 不支持 HTML 脚本</p> - </div> - <h3>setting 举例</h3> - <h4>1. 设置 name 属性支持 HTML 脚本</h4> - <pre xmlns=""><code>var setting = { - view: { - nameIsHTML: true - } -}; -var node = {"name":"<font color='red'>test</font>"}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">setting.view.</span>nameIsHTML</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>设置 name 属性是否支持 HTML 脚本</p>
+ <p class="highlight_red">如果允许 HTML 脚本,请根据自己的需求做校验,避免出现 js 注入等安全问题。</p>
+ <p>默认值: false</p>
+ </div>
+ </div>
+ <h3>Boolean 格式说明</h3>
+ <div class="desc">
+ <p> true / false 分别表示 支持 / 不支持 HTML 脚本</p>
+ </div>
+ <h3>setting 举例</h3>
+ <h4>1. 设置 name 属性支持 HTML 脚本</h4>
+ <pre xmlns=""><code>var setting = {
+ view: {
+ nameIsHTML: true
+ }
+};
+var node = {"name":"<font color='red'>test</font>"};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.removeHoverDom.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.removeHoverDom.html index bb1a9aa2..467ccb24 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.removeHoverDom.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.removeHoverDom.html @@ -1,45 +1,45 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeId, treeNode)</span><span class="path">setting.view.</span>removeHoverDom</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>用于当鼠标移出节点时,隐藏用户自定义控件,显示隐藏状态同 zTree 内部的编辑、删除按钮</p> - <p class="highlight_red">请务必与 <span class="highlight_red">addHoverDom</span> 同时使用;属于高级应用,使用时请确保对 zTree 比较了解。</p> - <p>默认值:null</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p> - <h4><b>treeNode</b><span>JSON</span></h4> - <p>需要隐藏自定义控件的节点 JSON 数据对象</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 设置鼠标移到节点上,在后面显示一个按钮</h4> - <pre xmlns=""><code>var setting = { - view: { - addHoverDom: addHoverDom, - removeHoverDom: removeHoverDom, - ...... - } -}; -function addHoverDom(treeId, treeNode) { - var aObj = $("#" + treeNode.tId + "_a"); - if ($("#diyBtn_"+treeNode.id).length>0) return; - var editStr = "<span id='diyBtn_space_" +treeNode.id+ "' > </span>" - + "<button type='button' class='diyBtn1' id='diyBtn_" + treeNode.id - + "' title='"+treeNode.name+"' onfocus='this.blur();'></button>"; - aObj.append(editStr); - var btn = $("#diyBtn_"+treeNode.id); - if (btn) btn.bind("click", function(){alert("diy Button for " + treeNode.name);}); -}; -function removeHoverDom(treeId, treeNode) { - $("#diyBtn_"+treeNode.id).unbind().remove(); - $("#diyBtn_space_" +treeNode.id).unbind().remove(); -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeId, treeNode)</span><span class="path">setting.view.</span>removeHoverDom</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>用于当鼠标移出节点时,隐藏用户自定义控件,显示隐藏状态同 zTree 内部的编辑、删除按钮</p>
+ <p class="highlight_red">请务必与 <span class="highlight_red">addHoverDom</span> 同时使用;属于高级应用,使用时请确保对 zTree 比较了解。</p>
+ <p>默认值:null</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
+ <h4><b>treeNode</b><span>JSON</span></h4>
+ <p>需要隐藏自定义控件的节点 JSON 数据对象</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 设置鼠标移到节点上,在后面显示一个按钮</h4>
+ <pre xmlns=""><code>var setting = {
+ view: {
+ addHoverDom: addHoverDom,
+ removeHoverDom: removeHoverDom,
+ ......
+ }
+};
+function addHoverDom(treeId, treeNode) {
+ var aObj = $("#" + treeNode.tId + "_a");
+ if ($("#diyBtn_"+treeNode.id).length>0) return;
+ var editStr = "<span id='diyBtn_space_" +treeNode.id+ "' > </span>"
+ + "<button type='button' class='diyBtn1' id='diyBtn_" + treeNode.id
+ + "' title='"+treeNode.name+"' onfocus='this.blur();'></button>";
+ aObj.append(editStr);
+ var btn = $("#diyBtn_"+treeNode.id);
+ if (btn) btn.bind("click", function(){alert("diy Button for " + treeNode.name);});
+};
+function removeHoverDom(treeId, treeNode) {
+ $("#diyBtn_"+treeNode.id).unbind().remove();
+ $("#diyBtn_space_" +treeNode.id).unbind().remove();
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.selectedMulti.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.selectedMulti.html index 2cc65a2e..5a437718 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.selectedMulti.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.selectedMulti.html @@ -1,27 +1,27 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">setting.view.</span>selectedMulti</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>设置是否允许同时选中多个节点。</p> - <p>默认值: true</p> - </div> - </div> - <h3>Boolean 格式说明</h3> - <div class="desc"> - <p> true / false 分别表示 支持 / 不支持 同时选中多个节点</p> - <p class="highlight_red">1、设置为 true时,按下 Ctrl 或 Cmd 键可以选中多个节点</p> - <p class="highlight_red">2、设置为 true / false 都不影响按下 Ctrl 或 Cmd 键可以让已选中的节点取消选中状态( 取消选中状态可以参考 setting.view.autoCancelSelected )</p> - </div> - <h3>setting 举例</h3> - <h4>1. 禁止多点同时选中的功能</h4> - <pre xmlns=""><code>var setting = { - view: { - selectedMulti: false - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">setting.view.</span>selectedMulti</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>设置是否允许同时选中多个节点。</p>
+ <p>默认值: true</p>
+ </div>
+ </div>
+ <h3>Boolean 格式说明</h3>
+ <div class="desc">
+ <p> true / false 分别表示 支持 / 不支持 同时选中多个节点</p>
+ <p class="highlight_red">1、设置为 true时,按下 Ctrl 或 Cmd 键可以选中多个节点</p>
+ <p class="highlight_red">2、设置为 true / false 都不影响按下 Ctrl 或 Cmd 键可以让已选中的节点取消选中状态( 取消选中状态可以参考 setting.view.autoCancelSelected )</p>
+ </div>
+ <h3>setting 举例</h3>
+ <h4>1. 禁止多点同时选中的功能</h4>
+ <pre xmlns=""><code>var setting = {
+ view: {
+ selectedMulti: false
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.showIcon.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.showIcon.html index ebe423ca..822afaca 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.showIcon.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.showIcon.html @@ -1,44 +1,44 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean / Function(treeId, treeNode)</span><span class="path">setting.view.</span>showIcon</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>设置 zTree 是否显示节点的图标。</p> - <p>默认值:true</p> - </div> - </div> - <h3>Boolean 格式说明</h3> - <div class="desc"> - <p> true / false 分别表示 显示 / 隐藏 图标</p> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>需要设置是否显示图标的节点 JSON 数据对象</p> - <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4> - <p>返回值同 Boolean 格式的数据</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 设置 zTree 不显示图标</h4> - <pre xmlns=""><code>var setting = { - view: { - showIcon: false - } -}; -......</code></pre> - <h4>2. 设置 zTree 仅仅 level=2 的节点不显示图标</h4> - <pre xmlns=""><code>function showIconForTree(treeId, treeNode) { - return treeNode.level != 2; -}; -var setting = { - view: { - showIcon: showIconForTree - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean / Function(treeId, treeNode)</span><span class="path">setting.view.</span>showIcon</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>设置 zTree 是否显示节点的图标。</p>
+ <p>默认值:true</p>
+ </div>
+ </div>
+ <h3>Boolean 格式说明</h3>
+ <div class="desc">
+ <p> true / false 分别表示 显示 / 隐藏 图标</p>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>需要设置是否显示图标的节点 JSON 数据对象</p>
+ <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4>
+ <p>返回值同 Boolean 格式的数据</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 设置 zTree 不显示图标</h4>
+ <pre xmlns=""><code>var setting = {
+ view: {
+ showIcon: false
+ }
+};
+......</code></pre>
+ <h4>2. 设置 zTree 仅仅 level=2 的节点不显示图标</h4>
+ <pre xmlns=""><code>function showIconForTree(treeId, treeNode) {
+ return treeNode.level != 2;
+};
+var setting = {
+ view: {
+ showIcon: showIconForTree
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.showLine.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.showLine.html index 02ab5ebb..ecd20a00 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.showLine.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.showLine.html @@ -1,25 +1,25 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">setting.view.</span>showLine</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>设置 zTree 是否显示节点之间的连线。</p> - <p>默认值:true</p> - </div> - </div> - <h3>Boolean 格式说明</h3> - <div class="desc"> - <p> true / false 分别表示 显示 / 不显示 连线</p> - </div> - <h3>setting 举例</h3> - <h4>1. 设置 zTree 不显示节点之间的连线</h4> - <pre xmlns=""><code>var setting = { - view: { - showLine: false - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">setting.view.</span>showLine</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>设置 zTree 是否显示节点之间的连线。</p>
+ <p>默认值:true</p>
+ </div>
+ </div>
+ <h3>Boolean 格式说明</h3>
+ <div class="desc">
+ <p> true / false 分别表示 显示 / 不显示 连线</p>
+ </div>
+ <h3>setting 举例</h3>
+ <h4>1. 设置 zTree 不显示节点之间的连线</h4>
+ <pre xmlns=""><code>var setting = {
+ view: {
+ showLine: false
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.showTitle.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.showTitle.html index 5bcb8600..b7aab8d2 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.showTitle.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.showTitle.html @@ -1,46 +1,46 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean / Function(treeId, treeNode)</span><span class="path">setting.view.</span>showTitle</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>设置 zTree 是否显示节点的 title 提示信息(即节点 DOM 的 title 属性)。</p> - <p class="highlight_red">请务必与 <span class="highlight_red">setting.data.key.title</span> 同时使用。</p> - <p>默认值:true</p> - </div> - </div> - <h3>Boolean 格式说明</h3> - <div class="desc"> - <p> true / false 分别表示 显示 / 隐藏 提示信息</p> - <p class="highlight_red">如果 setting.view.showTitle = true & setting.data.key.title = '',zTree 会自动使用 setting.data.key.name 指定的节点名称当做 title</p> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>需要设置是否显示提示信息的节点 JSON 数据对象</p> - <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4> - <p>返回值同 Boolean 格式的数据</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 设置 zTree 不显示提示信息</h4> - <pre xmlns=""><code>var setting = { - view: { - showTitle: false - } -}; -......</code></pre> - <h4>2. 设置 zTree 仅仅 level=2 的节点不显示提示信息</h4> - <pre xmlns=""><code>function showTitleForTree(treeId, treeNode) { - return treeNode.level != 2; -}; -var setting = { - view: { - showTitle: showTitleForTree - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean / Function(treeId, treeNode)</span><span class="path">setting.view.</span>showTitle</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>设置 zTree 是否显示节点的 title 提示信息(即节点 DOM 的 title 属性)。</p>
+ <p class="highlight_red">请务必与 <span class="highlight_red">setting.data.key.title</span> 同时使用。</p>
+ <p>默认值:true</p>
+ </div>
+ </div>
+ <h3>Boolean 格式说明</h3>
+ <div class="desc">
+ <p> true / false 分别表示 显示 / 隐藏 提示信息</p>
+ <p class="highlight_red">如果 setting.view.showTitle = true & setting.data.key.title = '',zTree 会自动使用 setting.data.key.name 指定的节点名称当做 title</p>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>对应 zTree 的 <b class="highlight_red">treeId</b>,便于用户操控</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>需要设置是否显示提示信息的节点 JSON 数据对象</p>
+ <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4>
+ <p>返回值同 Boolean 格式的数据</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 设置 zTree 不显示提示信息</h4>
+ <pre xmlns=""><code>var setting = {
+ view: {
+ showTitle: false
+ }
+};
+......</code></pre>
+ <h4>2. 设置 zTree 仅仅 level=2 的节点不显示提示信息</h4>
+ <pre xmlns=""><code>function showTitleForTree(treeId, treeNode) {
+ return treeNode.level != 2;
+};
+var setting = {
+ view: {
+ showTitle: showTitleForTree
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.txtSelectedEnable.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.txtSelectedEnable.html index c22a8c00..4053430d 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.txtSelectedEnable.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/setting.view.txtSelectedEnable.html @@ -1,25 +1,25 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">setting.view.</span>txtSelectedEnable</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>设置 zTree 是否允许可以选择 zTree DOM 内的文本。</p> - <p>默认值:false</p> - </div> - </div> - <h3>Boolean 格式说明</h3> - <div class="desc"> - <p> true / false 分别表示 允许 / 不允许 选择 zTree Dom 内的文本</p> - </div> - <h3>setting & function 举例</h3> - <h4>1. 设置 zTree 允许选择文本</h4> - <pre xmlns=""><code>var setting = { - view: { - txtSelectedEnable: true - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">setting.view.</span>txtSelectedEnable</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>设置 zTree 是否允许可以选择 zTree DOM 内的文本。</p>
+ <p>默认值:false</p>
+ </div>
+ </div>
+ <h3>Boolean 格式说明</h3>
+ <div class="desc">
+ <p> true / false 分别表示 允许 / 不允许 选择 zTree Dom 内的文本</p>
+ </div>
+ <h3>setting & function 举例</h3>
+ <h4>1. 设置 zTree 允许选择文本</h4>
+ <pre xmlns=""><code>var setting = {
+ view: {
+ txtSelectedEnable: true
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.check_Child_State.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.check_Child_State.html index fa378994..2ce51e0f 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.check_Child_State.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.check_Child_State.html @@ -1,43 +1,43 @@ -<div class="apiDetail"> -<div> - <h2><span>Number</span><span class="path">treeNode.</span>check_Child_State</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>用于设置节点的子节点的 checkBox / radio 的半选状态。<span class="highlight_red">[setting.check.enable = true 时有效]</span></p> - <p class="highlight_red">v3.x 针对节点数据对象提供 treeNode.getCheckStatus() 方法获取标准的半选状态</p> - <p class="highlight_red">zTree 内部使用,请勿进行初始化 或 随意修改</p> - <p>默认值:true</p> - </div> - </div> - <h3>Number 格式说明</h3> - <div class="desc"> - <p>规则如下:</p> - <table width="100%" border="0" cellspacing="1" cellpadding="0"> - <thead> - <tr><td colspan="4">setting.check.checkType = "checkbox"</td></tr> - <tr><td>treeNode.check_Child_State</td><td>勾选状态说明</td></tr> - </thead> - <tbody> - <tr><td>-1</td><td>不存在子节点 或 子节点全部设置为 nocheck = true</td></tr> - <tr><td>0</td><td>无 子节点被勾选</td></tr> - <tr><td>1</td><td>部分 子节点被勾选</td></tr> - <tr><td>2</td><td>全部 子节点被勾选</td></tr> - </tbody> - </table> - <br/> - <table width="100%" border="0" cellspacing="1" cellpadding="0"> - <thead> - <tr><td colspan="4">setting.check.checkType = "radio"</td></tr> - <tr><td>treeNode.check_Child_State</td><td>勾选状态说明</td></tr> - </thead> - <tbody> - <tr><td>-1</td><td>不存在子节点 或 子节点全部设置为 nocheck = true</td></tr> - <tr><td>0</td><td>无 子节点被勾选</td></tr> - <tr><td>2</td><td>有 子节点被勾选</td></tr> - </tbody> - </table> - </div> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Number</span><span class="path">treeNode.</span>check_Child_State</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>用于设置节点的子节点的 checkBox / radio 的半选状态。<span class="highlight_red">[setting.check.enable = true 时有效]</span></p>
+ <p class="highlight_red">v3.x 针对节点数据对象提供 treeNode.getCheckStatus() 方法获取标准的半选状态</p>
+ <p class="highlight_red">zTree 内部使用,请勿进行初始化 或 随意修改</p>
+ <p>默认值:true</p>
+ </div>
+ </div>
+ <h3>Number 格式说明</h3>
+ <div class="desc">
+ <p>规则如下:</p>
+ <table width="100%" border="0" cellspacing="1" cellpadding="0">
+ <thead>
+ <tr><td colspan="4">setting.check.checkType = "checkbox"</td></tr>
+ <tr><td>treeNode.check_Child_State</td><td>勾选状态说明</td></tr>
+ </thead>
+ <tbody>
+ <tr><td>-1</td><td>不存在子节点 或 子节点全部设置为 nocheck = true</td></tr>
+ <tr><td>0</td><td>无 子节点被勾选</td></tr>
+ <tr><td>1</td><td>部分 子节点被勾选</td></tr>
+ <tr><td>2</td><td>全部 子节点被勾选</td></tr>
+ </tbody>
+ </table>
+ <br/>
+ <table width="100%" border="0" cellspacing="1" cellpadding="0">
+ <thead>
+ <tr><td colspan="4">setting.check.checkType = "radio"</td></tr>
+ <tr><td>treeNode.check_Child_State</td><td>勾选状态说明</td></tr>
+ </thead>
+ <tbody>
+ <tr><td>-1</td><td>不存在子节点 或 子节点全部设置为 nocheck = true</td></tr>
+ <tr><td>0</td><td>无 子节点被勾选</td></tr>
+ <tr><td>2</td><td>有 子节点被勾选</td></tr>
+ </tbody>
+ </table>
+ </div>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.check_Focus.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.check_Focus.html index 785aec9f..0272d324 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.check_Focus.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.check_Focus.html @@ -1,19 +1,19 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">treeNode.</span>check_Focus</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>用于设置节点的 checkBox / radio 的 focus 状态。<span class="highlight_red">[setting.check.enable = true 时有效]</span></p> - <p class="highlight_red">zTree 内部使用,请勿进行初始化 或 随意修改</p> - <p>默认值:false</p> - </div> - </div> - <h3>Boolean 格式说明</h3> - <div class="desc"> - <p>true 表示当前鼠标移动到输入框内</p> - <p>false 表示当前鼠标移动到输入框外</p> - </div> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">treeNode.</span>check_Focus</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>用于设置节点的 checkBox / radio 的 focus 状态。<span class="highlight_red">[setting.check.enable = true 时有效]</span></p>
+ <p class="highlight_red">zTree 内部使用,请勿进行初始化 或 随意修改</p>
+ <p>默认值:false</p>
+ </div>
+ </div>
+ <h3>Boolean 格式说明</h3>
+ <div class="desc">
+ <p>true 表示当前鼠标移动到输入框内</p>
+ <p>false 表示当前鼠标移动到输入框外</p>
+ </div>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.checked.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.checked.html index 049d6ba4..c796c197 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.checked.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.checked.html @@ -1,32 +1,32 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">treeNode.</span>checked</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>节点的 checkBox / radio 的 勾选状态。<span class="highlight_red">[setting.check.enable = true & treeNode.nocheck = false 时有效]</span></p> - <p class="highlight_red">1、如果不使用 checked 属性设置勾选状态,请修改 setting.data.key.checked </p> - <p class="highlight_red">2、建立 treeNode 数据时设置 treeNode.checked = true 可以让节点的输入框默认为勾选状态</p> - <p class="highlight_red">3、修改节点勾选状态,可以使用 treeObj.checkNode / checkAllNodes / updateNode 方法,具体使用哪种请根据自己的需求而定</p> - <p class="highlight_red">4、为了解决部分朋友生成 json 数据出现的兼容问题, 支持 "false","true" 字符串格式的数据</p> - <p>默认值:false</p> - </div> - </div> - <h3>Boolean 格式说明</h3> - <div class="desc"> - <p>true 表示节点的输入框被勾选</p> - <p>false 表示节点的输入框未勾选</p> - </div> - <h3>treeNode 举例</h3> - <h4>1. 初始化的数据设置 默认为勾选状态</h4> - <pre xmlns=""><code>var nodes = [ -{ "id":1, "name":"test1", checked:true }, -{ "id":2, "name":"test2", checked:true } -]</code></pre> - <h4>2. 获取第一个根节点的勾选状态</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var checked = treeObj.getNodes()[0].checked; -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">treeNode.</span>checked</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>节点的 checkBox / radio 的 勾选状态。<span class="highlight_red">[setting.check.enable = true & treeNode.nocheck = false 时有效]</span></p>
+ <p class="highlight_red">1、如果不使用 checked 属性设置勾选状态,请修改 setting.data.key.checked </p>
+ <p class="highlight_red">2、建立 treeNode 数据时设置 treeNode.checked = true 可以让节点的输入框默认为勾选状态</p>
+ <p class="highlight_red">3、修改节点勾选状态,可以使用 treeObj.checkNode / checkAllNodes / updateNode 方法,具体使用哪种请根据自己的需求而定</p>
+ <p class="highlight_red">4、为了解决部分朋友生成 json 数据出现的兼容问题, 支持 "false","true" 字符串格式的数据</p>
+ <p>默认值:false</p>
+ </div>
+ </div>
+ <h3>Boolean 格式说明</h3>
+ <div class="desc">
+ <p>true 表示节点的输入框被勾选</p>
+ <p>false 表示节点的输入框未勾选</p>
+ </div>
+ <h3>treeNode 举例</h3>
+ <h4>1. 初始化的数据设置 默认为勾选状态</h4>
+ <pre xmlns=""><code>var nodes = [
+{ "id":1, "name":"test1", checked:true },
+{ "id":2, "name":"test2", checked:true }
+]</code></pre>
+ <h4>2. 获取第一个根节点的勾选状态</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var checked = treeObj.getNodes()[0].checked;
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.checkedOld.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.checkedOld.html index cab717e7..ad79d5c0 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.checkedOld.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.checkedOld.html @@ -1,25 +1,25 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">treeNode.</span>checkedOld</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>节点的 checkBox / radio 在初始化时的 勾选状态。<span class="highlight_red">[setting.check.enable = true & treeNode.nocheck = false 时有效]</span></p> - <p class="highlight_red">1、zTree 初始化节点数据时会对此属性进行赋值,因此请勿对此属性初始化</p> - <p class="highlight_red">2、如需配合 zTreeObj.getChangeCheckedNodes 方法实现特殊功能,可以根据需求在使用中自行修改 checkedOld 数据</p> - <p>默认值:checked的初始化值</p> - </div> - </div> - <h3>Boolean 格式说明</h3> - <div class="desc"> - <p>true 表示节点初始化时 输入框被勾选</p> - <p>false 表示节点初始化时 输入框未勾选</p> - </div> - <h3>treeNode 举例</h3> - <h4>1. 获取第一个根节点的初始勾选状态</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var checkedOld = treeObj.getNodes()[0].checkedOld; -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">treeNode.</span>checkedOld</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>节点的 checkBox / radio 在初始化时的 勾选状态。<span class="highlight_red">[setting.check.enable = true & treeNode.nocheck = false 时有效]</span></p>
+ <p class="highlight_red">1、zTree 初始化节点数据时会对此属性进行赋值,因此请勿对此属性初始化</p>
+ <p class="highlight_red">2、如需配合 zTreeObj.getChangeCheckedNodes 方法实现特殊功能,可以根据需求在使用中自行修改 checkedOld 数据</p>
+ <p>默认值:checked的初始化值</p>
+ </div>
+ </div>
+ <h3>Boolean 格式说明</h3>
+ <div class="desc">
+ <p>true 表示节点初始化时 输入框被勾选</p>
+ <p>false 表示节点初始化时 输入框未勾选</p>
+ </div>
+ <h3>treeNode 举例</h3>
+ <h4>1. 获取第一个根节点的初始勾选状态</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var checkedOld = treeObj.getNodes()[0].checkedOld;
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.children.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.children.html index 4bab8351..3ba94416 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.children.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.children.html @@ -1,35 +1,35 @@ -<div class="apiDetail"> -<div> - <h2><span>Array(JSON)</span><span class="path">treeNode.</span>children</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>节点的子节点数据集合。</p> - <p class="highlight_red">1、如果不使用 children 属性保存子节点数据,请修改 setting.data.key.children </p> - <p class="highlight_red">2、异步加载时,对于设置了 isParent = true 的节点,在展开时将进行异步加载</p> - <p>默认值:无</p> - </div> - </div> - <h3>Array(JSON) 格式说明</h3> - <div class="desc"> - <p>标准的 JSON 数据对象</p> - </div> - <h3>treeNode 举例</h3> - <h4>1. 初始化的标准嵌套格式的 JSON 数据对象</h4> - <pre xmlns=""><code>var nodes = [ -{ "id":1, "name":"test1", - children: [ - { "id":3, "name":"test3"}, - { "id":4, "name":"test4"}, - { "id":5, "name":"test5"} - ] -}, -{ "id":2, "name":"test2" } -]</code></pre> - <h4>2. 获取第一个根节点的子节点</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getNodes()[0].children; -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Array(JSON)</span><span class="path">treeNode.</span>children</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>节点的子节点数据集合。</p>
+ <p class="highlight_red">1、如果不使用 children 属性保存子节点数据,请修改 setting.data.key.children </p>
+ <p class="highlight_red">2、异步加载时,对于设置了 isParent = true 的节点,在展开时将进行异步加载</p>
+ <p>默认值:无</p>
+ </div>
+ </div>
+ <h3>Array(JSON) 格式说明</h3>
+ <div class="desc">
+ <p>标准的 JSON 数据对象</p>
+ </div>
+ <h3>treeNode 举例</h3>
+ <h4>1. 初始化的标准嵌套格式的 JSON 数据对象</h4>
+ <pre xmlns=""><code>var nodes = [
+{ "id":1, "name":"test1",
+ children: [
+ { "id":3, "name":"test3"},
+ { "id":4, "name":"test4"},
+ { "id":5, "name":"test5"}
+ ]
+},
+{ "id":2, "name":"test2" }
+]</code></pre>
+ <h4>2. 获取第一个根节点的子节点</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getNodes()[0].children;
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.chkDisabled.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.chkDisabled.html index e6bb0322..255e8cea 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.chkDisabled.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.chkDisabled.html @@ -1,28 +1,28 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">treeNode.</span>chkDisabled</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>1、设置节点的 checkbox / radio 是否禁用 <span class="highlight_red">[setting.check.enable = true 时有效]</span></p> - <p class="highlight_red">2、为了解决部分朋友生成 json 数据出现的兼容问题, 支持 "false","true" 字符串格式的数据</p> - <p class="highlight_red">3、请勿对已加载的节点修改此属性,禁止 或 取消禁止 请使用 setChkDisabled() 方法</p> - <p class="highlight_red">4、初始化时,如果需要子孙节点继承父节点的 chkDisabled 属性,请设置 setting.check.chkDisabledInherit 属性</p> - <p>默认值:false</p> - </div> - </div> - <h3>Boolean 格式说明</h3> - <div class="desc"> - <p class="highlight_red">true 表示此节点的 checkbox / radio 被禁用。</p> - <p class="highlight_red">false 表示此节点的 checkbox / radio 可以使用。</p> - </div> - <h3>treeNode 举例</h3> - <h4>1. 禁用节点 checkbox / radio </h4> - <pre xmlns=""><code>var nodes = [ - { "id":1, "name":"test1", "checked":true, "chkDisabled":true}, - { "id":2, "name":"test2", "chkDisabled":true}, - { "id":3, "name":"test3"} -]</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">treeNode.</span>chkDisabled</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>1、设置节点的 checkbox / radio 是否禁用 <span class="highlight_red">[setting.check.enable = true 时有效]</span></p>
+ <p class="highlight_red">2、为了解决部分朋友生成 json 数据出现的兼容问题, 支持 "false","true" 字符串格式的数据</p>
+ <p class="highlight_red">3、请勿对已加载的节点修改此属性,禁止 或 取消禁止 请使用 setChkDisabled() 方法</p>
+ <p class="highlight_red">4、初始化时,如果需要子孙节点继承父节点的 chkDisabled 属性,请设置 setting.check.chkDisabledInherit 属性</p>
+ <p>默认值:false</p>
+ </div>
+ </div>
+ <h3>Boolean 格式说明</h3>
+ <div class="desc">
+ <p class="highlight_red">true 表示此节点的 checkbox / radio 被禁用。</p>
+ <p class="highlight_red">false 表示此节点的 checkbox / radio 可以使用。</p>
+ </div>
+ <h3>treeNode 举例</h3>
+ <h4>1. 禁用节点 checkbox / radio </h4>
+ <pre xmlns=""><code>var nodes = [
+ { "id":1, "name":"test1", "checked":true, "chkDisabled":true},
+ { "id":2, "name":"test2", "chkDisabled":true},
+ { "id":3, "name":"test3"}
+]</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.click.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.click.html index 833c6784..78ae8170 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.click.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.click.html @@ -1,24 +1,24 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">treeNode.</span>click</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>最简单的 click 事件操作。相当于 onclick="..." 的内容。 如果操作较复杂,请使用 onClick 事件回调函数。</p> - <p class="highlight_red">由于 IE 对于 onclick 和 click事件共存时的处理与其他浏览器不同,所以请不要利用此参数控制是否允许跳转的操作(例如:treeNode.click = "return false;")。如有类似需求,请不要使用 url 属性设置网址,同时利用 onClick 回调函数控制跳转。</p> - <p>默认值:无</p> - </div> - </div> - <h3>String 格式说明</h3> - <div class="desc"> - <p>标准 javascript 语法, 例如:alert("test"); 等</p> - </div> - <h3>treeNode 举例</h3> - <h4>1. 设置某节点点击时,弹出信息框</h4> - <pre xmlns=""><code>var nodes = [ - { "id":1, "name":"Google CN", "url":"http://g.cn", "click":"alert('test');"}, - ...... -]</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">treeNode.</span>click</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>最简单的 click 事件操作。相当于 onclick="..." 的内容。 如果操作较复杂,请使用 onClick 事件回调函数。</p>
+ <p class="highlight_red">由于 IE 对于 onclick 和 click事件共存时的处理与其他浏览器不同,所以请不要利用此参数控制是否允许跳转的操作(例如:treeNode.click = "return false;")。如有类似需求,请不要使用 url 属性设置网址,同时利用 onClick 回调函数控制跳转。</p>
+ <p>默认值:无</p>
+ </div>
+ </div>
+ <h3>String 格式说明</h3>
+ <div class="desc">
+ <p>标准 javascript 语法, 例如:alert("test"); 等</p>
+ </div>
+ <h3>treeNode 举例</h3>
+ <h4>1. 设置某节点点击时,弹出信息框</h4>
+ <pre xmlns=""><code>var nodes = [
+ { "id":1, "name":"Google CN", "url":"http://g.cn", "click":"alert('test');"},
+ ......
+]</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.diy.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.diy.html index b2fb0d9e..c3036f14 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.diy.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.diy.html @@ -1,15 +1,15 @@ -<div class="apiDetail"> -<div> - <h2><span>?</span><span class="path">treeNode.</span>* DIY *</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>用于保存节点的其他自定义数据信息,不要与 zTree 使用的属性相同即可,用户可随意设定。</p> - </div> - </div> - <h3>treeNode 举例</h3> - <h4>1. 设置节点的备用英文名称</h4> - <pre xmlns=""><code>var node = { "id":1, "name":"test1", "ename":"test eName"};</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>?</span><span class="path">treeNode.</span>* DIY *</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>用于保存节点的其他自定义数据信息,不要与 zTree 使用的属性相同即可,用户可随意设定。</p>
+ </div>
+ </div>
+ <h3>treeNode 举例</h3>
+ <h4>1. 设置节点的备用英文名称</h4>
+ <pre xmlns=""><code>var node = { "id":1, "name":"test1", "ename":"test eName"};</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.editNameFlag.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.editNameFlag.html index 51162b8b..75521dda 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.editNameFlag.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.editNameFlag.html @@ -1,19 +1,19 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">treeNode.</span>editNameFlag</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>用于记录节点是否处于编辑名称状态。<span class="highlight_red">[setting.edit.enable = true 时有效]</span></p> - <p class="highlight_red">zTree 内部使用,请勿进行初始化 或 随意修改</p> - <p>默认值:false</p> - </div> - </div> - <h3>Boolean 格式说明</h3> - <div class="desc"> - <p>true 表示节点处于编辑名称状态</p> - <p>false 表示节点未处于编辑名称状态</p> - </div> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">treeNode.</span>editNameFlag</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>用于记录节点是否处于编辑名称状态。<span class="highlight_red">[setting.edit.enable = true 时有效]</span></p>
+ <p class="highlight_red">zTree 内部使用,请勿进行初始化 或 随意修改</p>
+ <p>默认值:false</p>
+ </div>
+ </div>
+ <h3>Boolean 格式说明</h3>
+ <div class="desc">
+ <p>true 表示节点处于编辑名称状态</p>
+ <p>false 表示节点未处于编辑名称状态</p>
+ </div>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.getCheckStatus.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.getCheckStatus.html index fc20eac4..7e0aba14 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.getCheckStatus.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.getCheckStatus.html @@ -1,63 +1,63 @@ -<div class="apiDetail"> -<div> - <h2><span>Function()</span><span class="path">treeNode.</span>getCheckStatus</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>获取节点 checkbox / radio 半勾选状态。<span class="highlight_red">[setting.check.enable = true 时有效]</span></p> - <p class="highlight_red">初始化节点数据时,由 zTree 增加此属性,请勿提前赋值</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>返回值</b><span>JSON</span></h4> - <pre xmlns=""><code>{ - checked: true, //等同于 treeNode.checked - half: true //规则见下表 -}</code></pre> - <table width="100%" border="0" cellspacing="1" cellpadding="0"> - <thead> - <tr><td colspan="4">setting.check.checkType = "checkbox"</td></tr> - <tr><td>treeNode.checked</td><td>treeNode.check_Child_State</td><td>treeNode.halfCheck</td><td> half </td></tr> - </thead> - <tbody> - <tr><td>-</td><td>-</td><td>true</td><td>true</td></tr> - <tr><td colspan="4"> </td></tr> - <tr><td>true</td><td>-1</td><td>false</td><td>false</td></tr> - <tr><td>true</td><td>0</td><td>false</td><td>true</td></tr> - <tr><td>true</td><td>1</td><td>false</td><td>true</td></tr> - <tr><td>true</td><td>2</td><td>false</td><td>false</td></tr> - <tr><td colspan="4"> </td></tr> - <tr><td>false</td><td>-1</td><td>false</td><td>false</td></tr> - <tr><td>false</td><td>0</td><td>false</td><td>false</td></tr> - <tr><td>false</td><td>1</td><td>false</td><td>true</td></tr> - <tr><td>false</td><td>2</td><td>false</td><td>true</td></tr> - </tbody> - </table> - <br/> - <table width="100%" border="0" cellspacing="1" cellpadding="0"> - <thead> - <tr><td colspan="4">setting.check.checkType = "radio"</td></tr> - <tr><td>treeNode.checked</td><td>treeNode.check_Child_State</td><td>treeNode.halfCheck</td><td> half </td></tr> - </thead> - <tbody> - <tr><td>-</td><td>-</td><td>true</td><td>true</td></tr> - <tr><td colspan="4"> </td></tr> - <tr><td>true</td><td>-1</td><td>false</td><td>false</td></tr> - <tr><td>true</td><td>0</td><td>false</td><td>false</td></tr> - <tr><td>true</td><td>2</td><td>false</td><td>true</td></tr> - <tr><td colspan="4"> </td></tr> - <tr><td>false</td><td>-1</td><td>false</td><td>false</td></tr> - <tr><td>false</td><td>0</td><td>false</td><td>false</td></tr> - <tr><td>false</td><td>2</td><td>false</td><td>true</td></tr> - </tbody> - </table> - </div> - <h3>treeNode 举例</h3> - <h4>1. 获取第一个根节点的半选状态</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var halfCheck = treeObj.getNodes()[0].getCheckStatus(); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function()</span><span class="path">treeNode.</span>getCheckStatus</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>获取节点 checkbox / radio 半勾选状态。<span class="highlight_red">[setting.check.enable = true 时有效]</span></p>
+ <p class="highlight_red">初始化节点数据时,由 zTree 增加此属性,请勿提前赋值</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>返回值</b><span>JSON</span></h4>
+ <pre xmlns=""><code>{
+ checked: true, //等同于 treeNode.checked
+ half: true //规则见下表
+}</code></pre>
+ <table width="100%" border="0" cellspacing="1" cellpadding="0">
+ <thead>
+ <tr><td colspan="4">setting.check.checkType = "checkbox"</td></tr>
+ <tr><td>treeNode.checked</td><td>treeNode.check_Child_State</td><td>treeNode.halfCheck</td><td> half </td></tr>
+ </thead>
+ <tbody>
+ <tr><td>-</td><td>-</td><td>true</td><td>true</td></tr>
+ <tr><td colspan="4"> </td></tr>
+ <tr><td>true</td><td>-1</td><td>false</td><td>false</td></tr>
+ <tr><td>true</td><td>0</td><td>false</td><td>true</td></tr>
+ <tr><td>true</td><td>1</td><td>false</td><td>true</td></tr>
+ <tr><td>true</td><td>2</td><td>false</td><td>false</td></tr>
+ <tr><td colspan="4"> </td></tr>
+ <tr><td>false</td><td>-1</td><td>false</td><td>false</td></tr>
+ <tr><td>false</td><td>0</td><td>false</td><td>false</td></tr>
+ <tr><td>false</td><td>1</td><td>false</td><td>true</td></tr>
+ <tr><td>false</td><td>2</td><td>false</td><td>true</td></tr>
+ </tbody>
+ </table>
+ <br/>
+ <table width="100%" border="0" cellspacing="1" cellpadding="0">
+ <thead>
+ <tr><td colspan="4">setting.check.checkType = "radio"</td></tr>
+ <tr><td>treeNode.checked</td><td>treeNode.check_Child_State</td><td>treeNode.halfCheck</td><td> half </td></tr>
+ </thead>
+ <tbody>
+ <tr><td>-</td><td>-</td><td>true</td><td>true</td></tr>
+ <tr><td colspan="4"> </td></tr>
+ <tr><td>true</td><td>-1</td><td>false</td><td>false</td></tr>
+ <tr><td>true</td><td>0</td><td>false</td><td>false</td></tr>
+ <tr><td>true</td><td>2</td><td>false</td><td>true</td></tr>
+ <tr><td colspan="4"> </td></tr>
+ <tr><td>false</td><td>-1</td><td>false</td><td>false</td></tr>
+ <tr><td>false</td><td>0</td><td>false</td><td>false</td></tr>
+ <tr><td>false</td><td>2</td><td>false</td><td>true</td></tr>
+ </tbody>
+ </table>
+ </div>
+ <h3>treeNode 举例</h3>
+ <h4>1. 获取第一个根节点的半选状态</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var halfCheck = treeObj.getNodes()[0].getCheckStatus();
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.getNextNode.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.getNextNode.html index 7a0fa5c0..bb5691e5 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.getNextNode.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.getNextNode.html @@ -1,27 +1,27 @@ -<div class="apiDetail"> -<div> - <h2><span>Function()</span><span class="path">treeNode.</span>getNextNode</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>获取与 treeNode 节点相邻的后一个节点。</p> - <p class="highlight_red">初始化节点数据时,由 zTree 增加此属性,请勿提前赋值</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>返回值</b><span>JSON</span></h4> - <p>与 treeNode 节点相邻的后一个节点。</p> - <p class="highlight_red">如果 treeNode 是最后一个节点,返回 null 。</p> - </div> - <h3>treeNode 举例</h3> - <h4>1. 获取当前被选中的节点的下一个节点</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var sNodes = treeObj.getSelectedNodes(); -if (sNodes.length > 0) { - var node = sNodes[0].getNextNode(); -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function()</span><span class="path">treeNode.</span>getNextNode</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>获取与 treeNode 节点相邻的后一个节点。</p>
+ <p class="highlight_red">初始化节点数据时,由 zTree 增加此属性,请勿提前赋值</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>返回值</b><span>JSON</span></h4>
+ <p>与 treeNode 节点相邻的后一个节点。</p>
+ <p class="highlight_red">如果 treeNode 是最后一个节点,返回 null 。</p>
+ </div>
+ <h3>treeNode 举例</h3>
+ <h4>1. 获取当前被选中的节点的下一个节点</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var sNodes = treeObj.getSelectedNodes();
+if (sNodes.length > 0) {
+ var node = sNodes[0].getNextNode();
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.getParentNode.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.getParentNode.html index 31309a62..d420e2b7 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.getParentNode.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.getParentNode.html @@ -1,27 +1,27 @@ -<div class="apiDetail"> -<div> - <h2><span>Function()</span><span class="path">treeNode.</span>getParentNode</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>获取 treeNode 节点的父节点。</p> - <p class="highlight_red">初始化节点数据时,由 zTree 增加此属性,请勿提前赋值</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>返回值</b><span>JSON</span></h4> - <p> treeNode 节点的父节点 JSON 数据对象。</p> - <p class="highlight_red">如果 treeNode 是根节点,返回 null 。</p> - </div> - <h3>treeNode 举例</h3> - <h4>1. 获取当前被选中的节点的父节点</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var sNodes = treeObj.getSelectedNodes(); -if (sNodes.length > 0) { - var node = sNodes[0].getParentNode(); -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function()</span><span class="path">treeNode.</span>getParentNode</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>获取 treeNode 节点的父节点。</p>
+ <p class="highlight_red">初始化节点数据时,由 zTree 增加此属性,请勿提前赋值</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>返回值</b><span>JSON</span></h4>
+ <p> treeNode 节点的父节点 JSON 数据对象。</p>
+ <p class="highlight_red">如果 treeNode 是根节点,返回 null 。</p>
+ </div>
+ <h3>treeNode 举例</h3>
+ <h4>1. 获取当前被选中的节点的父节点</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var sNodes = treeObj.getSelectedNodes();
+if (sNodes.length > 0) {
+ var node = sNodes[0].getParentNode();
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.getPreNode.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.getPreNode.html index 9d841841..2be53c9d 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.getPreNode.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.getPreNode.html @@ -1,27 +1,27 @@ -<div class="apiDetail"> -<div> - <h2><span>Function()</span><span class="path">treeNode.</span>getPreNode</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>获取与 treeNode 节点相邻的前一个节点。</p> - <p class="highlight_red">初始化节点数据时,由 zTree 增加此属性,请勿提前赋值</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>返回值</b><span>JSON</span></h4> - <p>与 treeNode 节点相邻的前一个节点。</p> - <p class="highlight_red">如果 treeNode 是第一个节点,返回 null 。</p> - </div> - <h3>treeNode 举例</h3> - <h4>1. 获取当前被选中的节点的前一个节点</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var sNodes = treeObj.getSelectedNodes(); -if (sNodes.length > 0) { - var node = sNodes[0].getPreNode(); -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function()</span><span class="path">treeNode.</span>getPreNode</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>获取与 treeNode 节点相邻的前一个节点。</p>
+ <p class="highlight_red">初始化节点数据时,由 zTree 增加此属性,请勿提前赋值</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>返回值</b><span>JSON</span></h4>
+ <p>与 treeNode 节点相邻的前一个节点。</p>
+ <p class="highlight_red">如果 treeNode 是第一个节点,返回 null 。</p>
+ </div>
+ <h3>treeNode 举例</h3>
+ <h4>1. 获取当前被选中的节点的前一个节点</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var sNodes = treeObj.getSelectedNodes();
+if (sNodes.length > 0) {
+ var node = sNodes[0].getPreNode();
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.halfCheck.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.halfCheck.html index 23ac744c..b208a33c 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.halfCheck.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.halfCheck.html @@ -1,29 +1,29 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">treeNode.</span>halfCheck</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>强制节点的 checkBox / radio 的 半勾选状态。<span class="highlight_red">[setting.check.enable = true & treeNode.nocheck = false 时有效]</span></p> - <p class="highlight_red">1、强制为半勾选状态后,不再进行自动计算半勾选状态</p> - <p class="highlight_red">2、设置 treeNode.halfCheck = false 或 null 才能恢复自动计算半勾选状态</p> - <p class="highlight_red">3、为了解决部分朋友生成 json 数据出现的兼容问题, 支持 "false","true" 字符串格式的数据</p> - <p>默认值:false</p> - </div> - </div> - <h3>Boolean 格式说明</h3> - <div class="desc"> - <p>true 表示节点的输入框 强行设置为半勾选</p> - <p>false 表示节点的输入框 根据 zTree 的规则自动计算半勾选状态</p> - </div> - <h3>treeNode 举例</h3> - <h4>1. 初始化的数据设置 默认为半勾选状态</h4> - <pre xmlns=""><code>var nodes = [ -{ "id":1, "name":"test1", isParent:true, checked:true, halfCheck:true }, -{ "id":2, "name":"test2", isParent:true, checked:false, halfCheck:true }, -{ "id":3, "name":"test3", isParent:true, checked:true }, -{ "id":4, "name":"test4", isParent:true, checked:false } -]</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">treeNode.</span>halfCheck</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>强制节点的 checkBox / radio 的 半勾选状态。<span class="highlight_red">[setting.check.enable = true & treeNode.nocheck = false 时有效]</span></p>
+ <p class="highlight_red">1、强制为半勾选状态后,不再进行自动计算半勾选状态</p>
+ <p class="highlight_red">2、设置 treeNode.halfCheck = false 或 null 才能恢复自动计算半勾选状态</p>
+ <p class="highlight_red">3、为了解决部分朋友生成 json 数据出现的兼容问题, 支持 "false","true" 字符串格式的数据</p>
+ <p>默认值:false</p>
+ </div>
+ </div>
+ <h3>Boolean 格式说明</h3>
+ <div class="desc">
+ <p>true 表示节点的输入框 强行设置为半勾选</p>
+ <p>false 表示节点的输入框 根据 zTree 的规则自动计算半勾选状态</p>
+ </div>
+ <h3>treeNode 举例</h3>
+ <h4>1. 初始化的数据设置 默认为半勾选状态</h4>
+ <pre xmlns=""><code>var nodes = [
+{ "id":1, "name":"test1", isParent:true, checked:true, halfCheck:true },
+{ "id":2, "name":"test2", isParent:true, checked:false, halfCheck:true },
+{ "id":3, "name":"test3", isParent:true, checked:true },
+{ "id":4, "name":"test4", isParent:true, checked:false }
+]</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.icon.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.icon.html index 69c5db16..b08a30b5 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.icon.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.icon.html @@ -1,33 +1,33 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">treeNode.</span>icon</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>节点自定义图标的 URL 路径。</p> - <p class="highlight_red">1、父节点如果只设置 icon ,会导致展开、折叠时都使用同一个图标</p> - <p class="highlight_red">2、父节点展开、折叠使用不同的个性化图标需要同时设置 treeNode.iconOpen / treeNode.iconClose 两个属性</p> - <p class="highlight_red">3、如果想利用 className 设置个性化图标,需要设置 treeNode.iconSkin 属性</p> - <p>默认值:无</p> - </div> - </div> - <h3>String 格式说明</h3> - <div class="desc"> - <p>图标图片的 url 可以是相对路径也可以是绝对路径</p> - <p class="highlight_red">设置相对路径请注意页面与图片之间的关系,确保图片能够正常加载</p> - </div> - <h3>treeNode 举例</h3> - <h4>1. 设置节点的个性化图标</h4> - <pre xmlns=""><code>var nodes = [ - //父节点展开 折叠时使用相同的图标 - { name:"父节点1", icon:"/img/parent.gif"}, - - //父节点展开 折叠时分别使用不同的图标 - { name:"父节点2", iconOpen:"/img/open.gif", iconClose:"/img/close.gif"}, - - //叶子节点个性化图标 - { name:"叶子节点", icon:"/img/leaf.gif"} -]</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">treeNode.</span>icon</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>节点自定义图标的 URL 路径。</p>
+ <p class="highlight_red">1、父节点如果只设置 icon ,会导致展开、折叠时都使用同一个图标</p>
+ <p class="highlight_red">2、父节点展开、折叠使用不同的个性化图标需要同时设置 treeNode.iconOpen / treeNode.iconClose 两个属性</p>
+ <p class="highlight_red">3、如果想利用 className 设置个性化图标,需要设置 treeNode.iconSkin 属性</p>
+ <p>默认值:无</p>
+ </div>
+ </div>
+ <h3>String 格式说明</h3>
+ <div class="desc">
+ <p>图标图片的 url 可以是相对路径也可以是绝对路径</p>
+ <p class="highlight_red">设置相对路径请注意页面与图片之间的关系,确保图片能够正常加载</p>
+ </div>
+ <h3>treeNode 举例</h3>
+ <h4>1. 设置节点的个性化图标</h4>
+ <pre xmlns=""><code>var nodes = [
+ //父节点展开 折叠时使用相同的图标
+ { name:"父节点1", icon:"/img/parent.gif"},
+
+ //父节点展开 折叠时分别使用不同的图标
+ { name:"父节点2", iconOpen:"/img/open.gif", iconClose:"/img/close.gif"},
+
+ //叶子节点个性化图标
+ { name:"叶子节点", icon:"/img/leaf.gif"}
+]</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.iconClose.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.iconClose.html index f51da9c9..951e81c4 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.iconClose.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.iconClose.html @@ -1,33 +1,33 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">treeNode.</span>iconClose</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>父节点自定义折叠时图标的 URL 路径。</p> - <p class="highlight_red">1、此属性只针对父节点有效</p> - <p class="highlight_red">2、此属性必须与 iconOpen 同时使用</p> - <p class="highlight_red">3、如果想利用 className 设置个性化图标,需要设置 treeNode.iconSkin 属性</p> - <p>默认值:无</p> - </div> - </div> - <h3>String 格式说明</h3> - <div class="desc"> - <p>图标图片的 url 可以是相对路径也可以是绝对路径</p> - <p class="highlight_red">设置相对路径请注意页面与图片之间的关系,确保图片能够正常加载</p> - </div> - <h3>treeNode 举例</h3> - <h4>1. 设置节点的个性化图标</h4> - <pre xmlns=""><code>var nodes = [ - //父节点展开 折叠时使用相同的图标 - { name:"父节点1", icon:"/img/parent.gif"}, - - //父节点展开 折叠时分别使用不同的图标 - { name:"父节点2", iconOpen:"/img/open.gif", iconClose:"/img/close.gif"}, - - //叶子节点个性化图标 - { name:"叶子节点", icon:"/img/leaf.gif"} -]</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">treeNode.</span>iconClose</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>父节点自定义折叠时图标的 URL 路径。</p>
+ <p class="highlight_red">1、此属性只针对父节点有效</p>
+ <p class="highlight_red">2、此属性必须与 iconOpen 同时使用</p>
+ <p class="highlight_red">3、如果想利用 className 设置个性化图标,需要设置 treeNode.iconSkin 属性</p>
+ <p>默认值:无</p>
+ </div>
+ </div>
+ <h3>String 格式说明</h3>
+ <div class="desc">
+ <p>图标图片的 url 可以是相对路径也可以是绝对路径</p>
+ <p class="highlight_red">设置相对路径请注意页面与图片之间的关系,确保图片能够正常加载</p>
+ </div>
+ <h3>treeNode 举例</h3>
+ <h4>1. 设置节点的个性化图标</h4>
+ <pre xmlns=""><code>var nodes = [
+ //父节点展开 折叠时使用相同的图标
+ { name:"父节点1", icon:"/img/parent.gif"},
+
+ //父节点展开 折叠时分别使用不同的图标
+ { name:"父节点2", iconOpen:"/img/open.gif", iconClose:"/img/close.gif"},
+
+ //叶子节点个性化图标
+ { name:"叶子节点", icon:"/img/leaf.gif"}
+]</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.iconOpen.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.iconOpen.html index 29c9baae..f067cc26 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.iconOpen.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.iconOpen.html @@ -1,33 +1,33 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">treeNode.</span>iconOpen</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>父节点自定义展开时图标的 URL 路径。</p> - <p class="highlight_red">1、此属性只针对父节点有效</p> - <p class="highlight_red">2、此属性必须与 iconClose 同时使用</p> - <p class="highlight_red">3、如果想利用 className 设置个性化图标,需要设置 treeNode.iconSkin 属性</p> - <p>默认值:无</p> - </div> - </div> - <h3>String 格式说明</h3> - <div class="desc"> - <p>图标图片的 url 可以是相对路径也可以是绝对路径</p> - <p class="highlight_red">设置相对路径请注意页面与图片之间的关系,确保图片能够正常加载</p> - </div> - <h3>treeNode 举例</h3> - <h4>1. 设置节点的个性化图标</h4> - <pre xmlns=""><code>var nodes = [ - //父节点展开 折叠时使用相同的图标 - { name:"父节点1", icon:"/img/parent.gif"}, - - //父节点展开 折叠时分别使用不同的图标 - { name:"父节点2", iconOpen:"/img/open.gif", iconClose:"/img/close.gif"}, - - //叶子节点个性化图标 - { name:"叶子节点", icon:"/img/leaf.gif"} -]</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">treeNode.</span>iconOpen</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>父节点自定义展开时图标的 URL 路径。</p>
+ <p class="highlight_red">1、此属性只针对父节点有效</p>
+ <p class="highlight_red">2、此属性必须与 iconClose 同时使用</p>
+ <p class="highlight_red">3、如果想利用 className 设置个性化图标,需要设置 treeNode.iconSkin 属性</p>
+ <p>默认值:无</p>
+ </div>
+ </div>
+ <h3>String 格式说明</h3>
+ <div class="desc">
+ <p>图标图片的 url 可以是相对路径也可以是绝对路径</p>
+ <p class="highlight_red">设置相对路径请注意页面与图片之间的关系,确保图片能够正常加载</p>
+ </div>
+ <h3>treeNode 举例</h3>
+ <h4>1. 设置节点的个性化图标</h4>
+ <pre xmlns=""><code>var nodes = [
+ //父节点展开 折叠时使用相同的图标
+ { name:"父节点1", icon:"/img/parent.gif"},
+
+ //父节点展开 折叠时分别使用不同的图标
+ { name:"父节点2", iconOpen:"/img/open.gif", iconClose:"/img/close.gif"},
+
+ //叶子节点个性化图标
+ { name:"叶子节点", icon:"/img/leaf.gif"}
+]</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.iconSkin.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.iconSkin.html index d5d97269..9af8cb42 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.iconSkin.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.iconSkin.html @@ -1,43 +1,43 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">treeNode.</span>iconSkin</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>节点自定义图标的 className</p> - <p class="highlight_red">1、需要修改 css,增加相应 className 的设置</p> - <p class="highlight_red">2、css 方式简单、方便,并且同时支持父节点展开、折叠状态切换图片</p> - <p class="highlight_red">3、css 建议采用图片分割渲染的方式以减少反复加载图片,并且避免图片闪动</p> - <p class="highlight_red">4、zTree v3.x 的 iconSkin 同样支持 IE6</p> - <p class="highlight_red">5、如果想直接使用 图片的Url路径 设置节点的个性化图标,需要设置 treeNode.icon / treeNode.iconOpen / treeNode.iconClose 属性</p> - <p>默认值:无</p> - </div> - </div> - <h3>String 格式说明</h3> - <div class="desc"> - <p>设置个性图标的 className</p> - </div> - <h3>css & treeNode 举例</h3> - <h4>1. 设置节点的个性化图标</h4> - <pre xmlns=""><code>css 内容: -.ztree li span.button.diy01_ico_open, .ztree li span.button.diy01_ico_close{...} - -.ztree li span.button.diy02_ico_open{...} -.ztree li span.button.diy02_ico_close{...} - -.ztree li span.button.diy03_ico_docu{...} - -js中节点数据: -var nodes = [ - //父节点展开 折叠时使用相同的图标 - { name:"父节点1", iconSkin:"diy01"}, - - //父节点展开 折叠时分别使用不同的图标 - { name:"父节点2", iconSkin:"diy02"}, - - //叶子节点个性化图标 - { name:"叶子节点", iconSkin:"diy03"} -]</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">treeNode.</span>iconSkin</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>节点自定义图标的 className</p>
+ <p class="highlight_red">1、需要修改 css,增加相应 className 的设置</p>
+ <p class="highlight_red">2、css 方式简单、方便,并且同时支持父节点展开、折叠状态切换图片</p>
+ <p class="highlight_red">3、css 建议采用图片分割渲染的方式以减少反复加载图片,并且避免图片闪动</p>
+ <p class="highlight_red">4、zTree v3.x 的 iconSkin 同样支持 IE6</p>
+ <p class="highlight_red">5、如果想直接使用 图片的Url路径 设置节点的个性化图标,需要设置 treeNode.icon / treeNode.iconOpen / treeNode.iconClose 属性</p>
+ <p>默认值:无</p>
+ </div>
+ </div>
+ <h3>String 格式说明</h3>
+ <div class="desc">
+ <p>设置个性图标的 className</p>
+ </div>
+ <h3>css & treeNode 举例</h3>
+ <h4>1. 设置节点的个性化图标</h4>
+ <pre xmlns=""><code>css 内容:
+.ztree li span.button.diy01_ico_open, .ztree li span.button.diy01_ico_close{...}
+
+.ztree li span.button.diy02_ico_open{...}
+.ztree li span.button.diy02_ico_close{...}
+
+.ztree li span.button.diy03_ico_docu{...}
+
+js中节点数据:
+var nodes = [
+ //父节点展开 折叠时使用相同的图标
+ { name:"父节点1", iconSkin:"diy01"},
+
+ //父节点展开 折叠时分别使用不同的图标
+ { name:"父节点2", iconSkin:"diy02"},
+
+ //叶子节点个性化图标
+ { name:"叶子节点", iconSkin:"diy03"}
+]</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.isAjaxing.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.isAjaxing.html index 330c1202..f4fe2830 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.isAjaxing.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.isAjaxing.html @@ -1,26 +1,26 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">treeNode.</span>isAjaxing</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>记录 treeNode 节点是否正在进行异步加载。</p> - <p class="highlight_red">初始化节点数据时,由 zTree 增加此属性,请勿提前赋值</p> - </div> - </div> - <h3>Boolean 格式说明</h3> - <div class="desc"> - <p> true 表示节点正在进行异步加载</p> - <p> false 表示节点没有进行异步加载</p> - </div> - <h3>treeNode 举例</h3> - <h4>1. 查看当前被选中的节点是否节点正在进行异步加载</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var sNodes = treeObj.getSelectedNodes(); -if (sNodes.length > 0) { - var isAjaxing = sNodes[0].isAjaxing; -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">treeNode.</span>isAjaxing</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>记录 treeNode 节点是否正在进行异步加载。</p>
+ <p class="highlight_red">初始化节点数据时,由 zTree 增加此属性,请勿提前赋值</p>
+ </div>
+ </div>
+ <h3>Boolean 格式说明</h3>
+ <div class="desc">
+ <p> true 表示节点正在进行异步加载</p>
+ <p> false 表示节点没有进行异步加载</p>
+ </div>
+ <h3>treeNode 举例</h3>
+ <h4>1. 查看当前被选中的节点是否节点正在进行异步加载</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var sNodes = treeObj.getSelectedNodes();
+if (sNodes.length > 0) {
+ var isAjaxing = sNodes[0].isAjaxing;
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.isFirstNode.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.isFirstNode.html index 83b80bd9..76dfcf10 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.isFirstNode.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.isFirstNode.html @@ -1,28 +1,28 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">treeNode.</span>isFirstNode</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>记录 treeNode 节点是否为同级节点中的第一个节点。</p> - <p class="highlight_red">使用 exhide 扩展后,只针对显示的节点设置此属性</p> - <p class="highlight_red">初始化节点数据时,由 zTree 增加此属性,请勿提前赋值</p> - </div> - </div> - <h3>Boolean 格式说明</h3> - <div class="desc"> - <p> true 表示是同级节点中的第一个节点</p> - <p> false 表示不是同级节点中的第一个节点</p> - <p class="highlight_red">节点被隐藏后,isFirstNode = false</p> - </div> - <h3>treeNode 举例</h3> - <h4>1. 查看当前被选中的节点是否是同级节点中的第一个节点</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var sNodes = treeObj.getSelectedNodes(); -if (sNodes.length > 0) { - var isFirstNode = sNodes[0].isFirstNode; -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">treeNode.</span>isFirstNode</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>记录 treeNode 节点是否为同级节点中的第一个节点。</p>
+ <p class="highlight_red">使用 exhide 扩展后,只针对显示的节点设置此属性</p>
+ <p class="highlight_red">初始化节点数据时,由 zTree 增加此属性,请勿提前赋值</p>
+ </div>
+ </div>
+ <h3>Boolean 格式说明</h3>
+ <div class="desc">
+ <p> true 表示是同级节点中的第一个节点</p>
+ <p> false 表示不是同级节点中的第一个节点</p>
+ <p class="highlight_red">节点被隐藏后,isFirstNode = false</p>
+ </div>
+ <h3>treeNode 举例</h3>
+ <h4>1. 查看当前被选中的节点是否是同级节点中的第一个节点</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var sNodes = treeObj.getSelectedNodes();
+if (sNodes.length > 0) {
+ var isFirstNode = sNodes[0].isFirstNode;
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.isHidden.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.isHidden.html index 5fb388e2..92136cc4 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.isHidden.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.isHidden.html @@ -1,27 +1,27 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">treeNode.</span>isHidden</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exhide</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>判断 treeNode 节点是否被隐藏。</p> - <p class="highlight_red">1、初始化 zTree 时,如果节点设置 isHidden = true,会被自动隐藏</p> - <p class="highlight_red">2、请勿对已加载的节点修改此属性,隐藏 / 显示 请使用 hideNode() / hideNodes() / showNode() / showNodes() 方法</p> - </div> - </div> - <h3>Boolean 格式说明</h3> - <div class="desc"> - <p> true 表示被隐藏</p> - <p> false 表示被显示</p> - </div> - <h3>treeNode 举例</h3> - <h4>1. 查看第一个根节点是否被隐藏</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var sNodes = treeObj.getNodes(); -if (sNodes.length > 0) { - var isHidden = sNodes[0].isHidden; -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">treeNode.</span>isHidden</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exhide</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>判断 treeNode 节点是否被隐藏。</p>
+ <p class="highlight_red">1、初始化 zTree 时,如果节点设置 isHidden = true,会被自动隐藏</p>
+ <p class="highlight_red">2、请勿对已加载的节点修改此属性,隐藏 / 显示 请使用 hideNode() / hideNodes() / showNode() / showNodes() 方法</p>
+ </div>
+ </div>
+ <h3>Boolean 格式说明</h3>
+ <div class="desc">
+ <p> true 表示被隐藏</p>
+ <p> false 表示被显示</p>
+ </div>
+ <h3>treeNode 举例</h3>
+ <h4>1. 查看第一个根节点是否被隐藏</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var sNodes = treeObj.getNodes();
+if (sNodes.length > 0) {
+ var isHidden = sNodes[0].isHidden;
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.isHover.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.isHover.html index dcef6eba..4b1e0bee 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.isHover.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.isHover.html @@ -1,19 +1,19 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">treeNode.</span>isHover</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>记录节点 的 hover 状态,主要用于 setting.view.addHoverDom / removeHoverDom 。</p> - <p class="highlight_red">zTree 内部使用,请勿进行初始化 或 随意修改</p> - <p>默认值:false</p> - </div> - </div> - <h3>Boolean 格式说明</h3> - <div class="desc"> - <p>true 表示节点处于 hover 状态</p> - <p>false 表示节点未处于 hover 状态</p> - </div> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">treeNode.</span>isHover</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>记录节点 的 hover 状态,主要用于 setting.view.addHoverDom / removeHoverDom 。</p>
+ <p class="highlight_red">zTree 内部使用,请勿进行初始化 或 随意修改</p>
+ <p>默认值:false</p>
+ </div>
+ </div>
+ <h3>Boolean 格式说明</h3>
+ <div class="desc">
+ <p>true 表示节点处于 hover 状态</p>
+ <p>false 表示节点未处于 hover 状态</p>
+ </div>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.isLastNode.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.isLastNode.html index 5d5ac822..e4ce6afd 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.isLastNode.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.isLastNode.html @@ -1,28 +1,28 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">treeNode.</span>isLastNode</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>记录 treeNode 节点是否为同级节点中的最后一个节点。</p> - <p class="highlight_red">使用 exhide 扩展后,只针对显示的节点设置此属性</p> - <p class="highlight_red">初始化节点数据时,由 zTree 增加此属性,请勿提前赋值</p> - </div> - </div> - <h3>Boolean 格式说明</h3> - <div class="desc"> - <p> true 表示是同级节点中的最后一个节点</p> - <p> false 表示不是同级节点中的最后一个节点</p> - <p class="highlight_red">节点被隐藏后,isLastNode = false</p> - </div> - <h3>treeNode 举例</h3> - <h4>1. 查看当前被选中的节点是否是同级节点中的最后一个节点</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var sNodes = treeObj.getSelectedNodes(); -if (sNodes.length > 0) { - var isLastNode = sNodes[0].isLastNode; -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">treeNode.</span>isLastNode</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>记录 treeNode 节点是否为同级节点中的最后一个节点。</p>
+ <p class="highlight_red">使用 exhide 扩展后,只针对显示的节点设置此属性</p>
+ <p class="highlight_red">初始化节点数据时,由 zTree 增加此属性,请勿提前赋值</p>
+ </div>
+ </div>
+ <h3>Boolean 格式说明</h3>
+ <div class="desc">
+ <p> true 表示是同级节点中的最后一个节点</p>
+ <p> false 表示不是同级节点中的最后一个节点</p>
+ <p class="highlight_red">节点被隐藏后,isLastNode = false</p>
+ </div>
+ <h3>treeNode 举例</h3>
+ <h4>1. 查看当前被选中的节点是否是同级节点中的最后一个节点</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var sNodes = treeObj.getSelectedNodes();
+if (sNodes.length > 0) {
+ var isLastNode = sNodes[0].isLastNode;
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.isParent.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.isParent.html index bab887e0..9305652f 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.isParent.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.isParent.html @@ -1,28 +1,28 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">treeNode.</span>isParent</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>记录 treeNode 节点是否为父节点。</p> - <p class="highlight_red">1、初始化节点数据时,根据 treeNode.children 属性判断,有子节点则设置为 true,否则为 false</p> - <p class="highlight_red">2、初始化节点数据时,如果设定 treeNode.isParent = true,即使无子节点数据,也会设置为父节点</p> - <p class="highlight_red">3、为了解决部分朋友生成 json 数据出现的兼容问题, 支持 "false","true" 字符串格式的数据</p> - </div> - </div> - <h3>Boolean 格式说明</h3> - <div class="desc"> - <p> true 表示是父节点</p> - <p> false 表示不是父节点</p> - </div> - <h3>treeNode 举例</h3> - <h4>1. 查看当前被选中的节点是否是父节点</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var sNodes = treeObj.getSelectedNodes(); -if (sNodes.length > 0) { - var isParent = sNodes[0].isParent; -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">treeNode.</span>isParent</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>记录 treeNode 节点是否为父节点。</p>
+ <p class="highlight_red">1、初始化节点数据时,根据 treeNode.children 属性判断,有子节点则设置为 true,否则为 false</p>
+ <p class="highlight_red">2、初始化节点数据时,如果设定 treeNode.isParent = true,即使无子节点数据,也会设置为父节点</p>
+ <p class="highlight_red">3、为了解决部分朋友生成 json 数据出现的兼容问题, 支持 "false","true" 字符串格式的数据</p>
+ </div>
+ </div>
+ <h3>Boolean 格式说明</h3>
+ <div class="desc">
+ <p> true 表示是父节点</p>
+ <p> false 表示不是父节点</p>
+ </div>
+ <h3>treeNode 举例</h3>
+ <h4>1. 查看当前被选中的节点是否是父节点</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var sNodes = treeObj.getSelectedNodes();
+if (sNodes.length > 0) {
+ var isParent = sNodes[0].isParent;
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.level.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.level.html index aff3254c..af5b1872 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.level.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.level.html @@ -1,25 +1,25 @@ -<div class="apiDetail"> -<div> - <h2><span>Number</span><span class="path">treeNode.</span>level</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>记录节点的层级</p> - <p class="highlight_red">初始化节点数据时,由 zTree 增加此属性,请勿提前赋值</p> - </div> - </div> - <h3>Number 格式说明</h3> - <div class="desc"> - <p class="highlight_red">根节点 level = 0,依次递增</p> - </div> - <h3>treeNode 举例</h3> - <h4>1. 查看当前被选中的节点的级数</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var sNodes = treeObj.getSelectedNodes(); -if (sNodes.length > 0) { - var level = sNodes[0].level; -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Number</span><span class="path">treeNode.</span>level</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>记录节点的层级</p>
+ <p class="highlight_red">初始化节点数据时,由 zTree 增加此属性,请勿提前赋值</p>
+ </div>
+ </div>
+ <h3>Number 格式说明</h3>
+ <div class="desc">
+ <p class="highlight_red">根节点 level = 0,依次递增</p>
+ </div>
+ <h3>treeNode 举例</h3>
+ <h4>1. 查看当前被选中的节点的级数</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var sNodes = treeObj.getSelectedNodes();
+if (sNodes.length > 0) {
+ var level = sNodes[0].level;
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.name.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.name.html index 918f2b49..890127e0 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.name.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.name.html @@ -1,25 +1,25 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">treeNode.</span>name</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>节点名称。</p> - <p class="highlight_red">1、如果不使用 name 属性保存节点名称,请修改 setting.data.key.name </p> - <p>默认值:无</p> - </div> - </div> - <h3>String 格式说明</h3> - <div class="desc"> - <p>节点显示的名称字符串,标准 String 即可,所有特殊字符都会被自动转义</p> - </div> - <h3>treeNode 举例</h3> - <h4>1. 设置节点的名称为 test1、test2、test3</h4> - <pre xmlns=""><code>var nodes = [ - { "id":1, "name":"test1"}, - { "id":2, "name":"test2"}, - { "id":3, "name":"test3"} -]</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">treeNode.</span>name</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>节点名称。</p>
+ <p class="highlight_red">1、如果不使用 name 属性保存节点名称,请修改 setting.data.key.name </p>
+ <p>默认值:无</p>
+ </div>
+ </div>
+ <h3>String 格式说明</h3>
+ <div class="desc">
+ <p>节点显示的名称字符串,标准 String 即可,所有特殊字符都会被自动转义</p>
+ </div>
+ <h3>treeNode 举例</h3>
+ <h4>1. 设置节点的名称为 test1、test2、test3</h4>
+ <pre xmlns=""><code>var nodes = [
+ { "id":1, "name":"test1"},
+ { "id":2, "name":"test2"},
+ { "id":3, "name":"test3"}
+]</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.nocheck.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.nocheck.html index afaa62fb..0e30477f 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.nocheck.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.nocheck.html @@ -1,26 +1,26 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">treeNode.</span>nocheck</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>1、设置节点是否隐藏 checkbox / radio <span class="highlight_red">[setting.check.enable = true 时有效]</span></p> - <p class="highlight_red">2、为了解决部分朋友生成 json 数据出现的兼容问题, 支持 "false","true" 字符串格式的数据</p> - <p>默认值:false</p> - </div> - </div> - <h3>Boolean 格式说明</h3> - <div class="desc"> - <p class="highlight_red">true 表示此节点不显示 checkbox / radio,不影响勾选的关联关系,不影响父节点的半选状态。</p> - <p class="highlight_red">false 表示节点具有正常的勾选功能</p> - </div> - <h3>treeNode 举例</h3> - <h4>1. 不显示某个节点的 checkbox / radio </h4> - <pre xmlns=""><code>var nodes = [ - { "id":1, "name":"test1", "nocheck":true}, - { "id":2, "name":"test2"}, - { "id":3, "name":"test3"} -]</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">treeNode.</span>nocheck</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>1、设置节点是否隐藏 checkbox / radio <span class="highlight_red">[setting.check.enable = true 时有效]</span></p>
+ <p class="highlight_red">2、为了解决部分朋友生成 json 数据出现的兼容问题, 支持 "false","true" 字符串格式的数据</p>
+ <p>默认值:false</p>
+ </div>
+ </div>
+ <h3>Boolean 格式说明</h3>
+ <div class="desc">
+ <p class="highlight_red">true 表示此节点不显示 checkbox / radio,不影响勾选的关联关系,不影响父节点的半选状态。</p>
+ <p class="highlight_red">false 表示节点具有正常的勾选功能</p>
+ </div>
+ <h3>treeNode 举例</h3>
+ <h4>1. 不显示某个节点的 checkbox / radio </h4>
+ <pre xmlns=""><code>var nodes = [
+ { "id":1, "name":"test1", "nocheck":true},
+ { "id":2, "name":"test2"},
+ { "id":3, "name":"test3"}
+]</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.open.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.open.html index 1eb9aec4..0eddf27e 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.open.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.open.html @@ -1,30 +1,30 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">treeNode.</span>open</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>记录 treeNode 节点的 展开 / 折叠 状态。</p> - <p class="highlight_red">1、初始化节点数据时,如果设定 treeNode.open = true,则会直接展开此节点</p> - <p class="highlight_red">2、叶子节点 treeNode.open = false</p> - <p class="highlight_red">3、为了解决部分朋友生成 json 数据出现的兼容问题, 支持 "false","true" 字符串格式的数据</p> - <p class="highlight_red">4、非异步加载模式下,无子节点的父节点设置 open=true 后,可显示为展开状态,但异步加载模式下不会生效。(v3.5.15+) </p> - <p>默认值:false</p> - </div> - </div> - <h3>Boolean 格式说明</h3> - <div class="desc"> - <p> true 表示节点为 展开 状态</p> - <p> false 表示节点为 折叠 状态</p> - </div> - <h3>treeNode 举例</h3> - <h4>1. 查看当前被选中的节点的 展开 / 折叠 状态</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var sNodes = treeObj.getSelectedNodes(); -if (sNodes.length > 0) { - var isOpen = sNodes[0].open; -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">treeNode.</span>open</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>记录 treeNode 节点的 展开 / 折叠 状态。</p>
+ <p class="highlight_red">1、初始化节点数据时,如果设定 treeNode.open = true,则会直接展开此节点</p>
+ <p class="highlight_red">2、叶子节点 treeNode.open = false</p>
+ <p class="highlight_red">3、为了解决部分朋友生成 json 数据出现的兼容问题, 支持 "false","true" 字符串格式的数据</p>
+ <p class="highlight_red">4、非异步加载模式下,无子节点的父节点设置 open=true 后,可显示为展开状态,但异步加载模式下不会生效。(v3.5.15+) </p>
+ <p>默认值:false</p>
+ </div>
+ </div>
+ <h3>Boolean 格式说明</h3>
+ <div class="desc">
+ <p> true 表示节点为 展开 状态</p>
+ <p> false 表示节点为 折叠 状态</p>
+ </div>
+ <h3>treeNode 举例</h3>
+ <h4>1. 查看当前被选中的节点的 展开 / 折叠 状态</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var sNodes = treeObj.getSelectedNodes();
+if (sNodes.length > 0) {
+ var isOpen = sNodes[0].open;
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.parentTId.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.parentTId.html index d228a23a..5983457a 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.parentTId.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.parentTId.html @@ -1,27 +1,27 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">treeNode.</span>parentTId</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>treeNode 节点的父节点唯一标识 tId。</p> - <p class="highlight_red">1、v3.x 用 parentTId 替换了原先的 parentNode 属性,同时增加了 getParentNode 方法,以避免原先 parentNode 造成的 clone 死循环</p> - <p class="highlight_red">2、初始化节点数据时,由 zTree 增加此属性,请勿提前赋值</p> - </div> - </div> - <h3>String 格式说明</h3> - <div class="desc"> - <p>zTree 内部生成的节点唯一标识,请参考 treeNode.tId 的说明</p> - <p class="highlight_red">如果 treeNode 是根节点,则 parentTId = null</p> - </div> - <h3>treeNode 举例</h3> - <h4>1. 查看当前被选中的节点的父节点 tId</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var sNodes = treeObj.getSelectedNodes(); -if (sNodes.length > 0) { - var parentTId = sNodes[0].parentTId; -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">treeNode.</span>parentTId</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>treeNode 节点的父节点唯一标识 tId。</p>
+ <p class="highlight_red">1、v3.x 用 parentTId 替换了原先的 parentNode 属性,同时增加了 getParentNode 方法,以避免原先 parentNode 造成的 clone 死循环</p>
+ <p class="highlight_red">2、初始化节点数据时,由 zTree 增加此属性,请勿提前赋值</p>
+ </div>
+ </div>
+ <h3>String 格式说明</h3>
+ <div class="desc">
+ <p>zTree 内部生成的节点唯一标识,请参考 treeNode.tId 的说明</p>
+ <p class="highlight_red">如果 treeNode 是根节点,则 parentTId = null</p>
+ </div>
+ <h3>treeNode 举例</h3>
+ <h4>1. 查看当前被选中的节点的父节点 tId</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var sNodes = treeObj.getSelectedNodes();
+if (sNodes.length > 0) {
+ var parentTId = sNodes[0].parentTId;
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.tId.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.tId.html index c32285c5..3ee1ea13 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.tId.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.tId.html @@ -1,25 +1,25 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">treeNode.</span>tId</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>treeNode 节点的唯一标识 tId。</p> - <p class="highlight_red">初始化节点数据时,由 zTree 增加此属性,请勿提前赋值</p> - </div> - </div> - <h3>String 格式说明</h3> - <div class="desc"> - <p>生成规则:setting.treeId + "_" + 内部计数</p> - </div> - <h3>treeNode 举例</h3> - <h4>1. 查看当前被选中的节点的 tId</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var sNodes = treeObj.getSelectedNodes(); -if (sNodes.length > 0) { - var tId = sNodes[0].tId; -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">treeNode.</span>tId</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>treeNode 节点的唯一标识 tId。</p>
+ <p class="highlight_red">初始化节点数据时,由 zTree 增加此属性,请勿提前赋值</p>
+ </div>
+ </div>
+ <h3>String 格式说明</h3>
+ <div class="desc">
+ <p>生成规则:setting.treeId + "_" + 内部计数</p>
+ </div>
+ <h3>treeNode 举例</h3>
+ <h4>1. 查看当前被选中的节点的 tId</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var sNodes = treeObj.getSelectedNodes();
+if (sNodes.length > 0) {
+ var tId = sNodes[0].tId;
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.target.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.target.html index f7c1b6ba..32ea106d 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.target.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.target.html @@ -1,24 +1,24 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">treeNode.</span>target</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>设置点击节点后在何处打开 url。<span class="highlight_red">[treeNode.url 存在时有效]</span></p> - <p>默认值:无</p> - </div> - </div> - <h3>String 格式说明</h3> - <div class="desc"> - <p>同超链接 target 属性: "_blank", "_self" 或 其他指定窗口名称 </p> - <p>省略此属性,则默认为 "_blank"</p> - </div> - <h3>treeNode 举例</h3> - <h4>1. 设置点击某节点时,弹出新页面</h4> - <pre xmlns=""><code>var nodes = [ - { "id":1, "name":"test1", "url":"http://myTest.com", "target":"_blank"}, - ...... -]</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">treeNode.</span>target</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>设置点击节点后在何处打开 url。<span class="highlight_red">[treeNode.url 存在时有效]</span></p>
+ <p>默认值:无</p>
+ </div>
+ </div>
+ <h3>String 格式说明</h3>
+ <div class="desc">
+ <p>同超链接 target 属性: "_blank", "_self" 或 其他指定窗口名称 </p>
+ <p>省略此属性,则默认为 "_blank"</p>
+ </div>
+ <h3>treeNode 举例</h3>
+ <h4>1. 设置点击某节点时,弹出新页面</h4>
+ <pre xmlns=""><code>var nodes = [
+ { "id":1, "name":"test1", "url":"http://myTest.com", "target":"_blank"},
+ ......
+]</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.url.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.url.html index 0b2e0076..af1e0144 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.url.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.url.html @@ -1,25 +1,25 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">treeNode.</span>url</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>节点链接的目标 URL</p> - <p class="highlight_red">1、编辑模式 (setting.edit.enable = true) 下此属性功能失效,如果必须使用类似功能,请利用 onClick 事件回调函数自行控制。</p> - <p class="highlight_red">2、如果需要在 onClick 事件回调函数中进行跳转控制,那么请将 URL 地址保存在其他自定义的属性内,请勿使用 url</p> - <p>默认值:无</p> - </div> - </div> - <h3>String 格式说明</h3> - <div class="desc"> - <p>同超链接 href 属性</p> - </div> - <h3>treeNode 举例</h3> - <h4>1. 设置某节点点击时,跳转到 g.cn</h4> - <pre xmlns=""><code>var nodes = [ - { "id":1, "name":"Google CN", "url":"http://g.cn"}, - ...... -]</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">treeNode.</span>url</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>节点链接的目标 URL</p>
+ <p class="highlight_red">1、编辑模式 (setting.edit.enable = true) 下此属性功能失效,如果必须使用类似功能,请利用 onClick 事件回调函数自行控制。</p>
+ <p class="highlight_red">2、如果需要在 onClick 事件回调函数中进行跳转控制,那么请将 URL 地址保存在其他自定义的属性内,请勿使用 url</p>
+ <p>默认值:无</p>
+ </div>
+ </div>
+ <h3>String 格式说明</h3>
+ <div class="desc">
+ <p>同超链接 href 属性</p>
+ </div>
+ <h3>treeNode 举例</h3>
+ <h4>1. 设置某节点点击时,跳转到 g.cn</h4>
+ <pre xmlns=""><code>var nodes = [
+ { "id":1, "name":"Google CN", "url":"http://g.cn"},
+ ......
+]</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.zAsync.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.zAsync.html index 00e48f39..0792485d 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.zAsync.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/treeNode.zAsync.html @@ -1,28 +1,28 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">treeNode.</span>zAsync</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>记录 treeNode 节点是否已经进行过异步加载,避免父节点反复异步加载数据。</p> - <p class="highlight_red">初始化节点数据时,由 zTree 增加此属性,请勿提前赋值</p> - <p class="highlight_red">默认值:false (无子节点的父节点); true (有子节点的父节点 & 叶子节点)</p> - </div> - </div> - <h3>Boolean 格式说明</h3> - <div class="desc"> - <p> true 表示父节点展开时不需要自动异步加载</p> - <p> false 表示父节点展开时需要自动异步加载</p> - <p class="highlight_red"> 此参数不会对 reAsyncChildNodes 方法造成任何影响</p> - </div> - <h3>treeNode 举例</h3> - <h4>1. 查看当前被选中的节点是否节点是否需要自动异步加载</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var sNodes = treeObj.getSelectedNodes(); -if (sNodes.length > 0) { - var zAsync = sNodes[0].zAsync; -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">treeNode.</span>zAsync</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>记录 treeNode 节点是否已经进行过异步加载,避免父节点反复异步加载数据。</p>
+ <p class="highlight_red">初始化节点数据时,由 zTree 增加此属性,请勿提前赋值</p>
+ <p class="highlight_red">默认值:false (无子节点的父节点); true (有子节点的父节点 & 叶子节点)</p>
+ </div>
+ </div>
+ <h3>Boolean 格式说明</h3>
+ <div class="desc">
+ <p> true 表示父节点展开时不需要自动异步加载</p>
+ <p> false 表示父节点展开时需要自动异步加载</p>
+ <p class="highlight_red"> 此参数不会对 reAsyncChildNodes 方法造成任何影响</p>
+ </div>
+ <h3>treeNode 举例</h3>
+ <h4>1. 查看当前被选中的节点是否节点是否需要自动异步加载</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var sNodes = treeObj.getSelectedNodes();
+if (sNodes.length > 0) {
+ var zAsync = sNodes[0].zAsync;
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.addNodes.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.addNodes.html index eac2152d..65899f41 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.addNodes.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.addNodes.html @@ -1,42 +1,42 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(parentNode, newNodes, isSilent)</span><span class="path">zTreeObj.</span>addNodes</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>添加节点。</p> - <p class="highlight_red">v3.x 为了避免原先反复初始化造成的数据重复问题,在 初始化 和 添加节点 时内部进行 clone 操作。如果需要获取数据在 zTree 内的对象,请获取此方法的返回值。</p> - <p class="highlight_red">请通过 zTree 对象执行此方法。</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>parentNode</b><span>JSON</span></h4> - <p>指定的父节点,如果增加根节点,请设置 parentNode 为 null 即可。</p> - <p class="highlight_red">请务必保证此节点数据对象 是 zTree 内部的数据对象</p> - <h4 class="topLine"><b>newNodes</b><span>JSON / Array(JSON)</span></h4> - <p>需要增加的节点数据 JSON 对象集合,数据只需要满足 zTree 的节点数据必需的属性即可,详细请参考“treeNode 节点数据详解”</p> - <p class="highlight_red">1、v3.x 支持单独添加一个节点,即如果只新增一个节点,不用必须包在数组中</p> - <p class="highlight_red">2、使用简单数据模式,请参考 setting.data.simpleData 内的属性说明</p> - <h4 class="topLine"><b>isSilent</b><span>Boolean</span></h4> - <p>设定增加节点后是否自动展开父节点。</p> - <p>isSilent = true 时,不展开父节点,其他值或缺省状态都自动展开。</p> - <h4 class="topLine"><b>返回值</b><span>Array(JSON)</span></h4> - <p>返回值是 zTree 最终添加的节点数据集合</p> - <p class="highlight_red">如果 newNodes 是单个节点数据 JSON,返回值也是将其包在 Array 内</p> - <p class="highlight_red">请务必记住:返回值中的数据对象 是 newNodes 被 clone 后的,所以绝对不相等!</p> - </div> - <h3>function 举例</h3> - <h4>1. 对于 id = "tree" 的 zTree 增加 1 个根节点</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var newNode = {name:"newNode1"}; -newNode = treeObj.addNodes(null, newNode); -</code></pre> - <h4>2. 对于 id = "tree" 的 zTree 增加 3 个根节点</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var newNodes = [{name:"newNode1"}, {name:"newNode2"}, {name:"newNode3"}]; -newNodes = treeObj.addNodes(null, newNodes); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(parentNode, newNodes, isSilent)</span><span class="path">zTreeObj.</span>addNodes</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>添加节点。</p>
+ <p class="highlight_red">v3.x 为了避免原先反复初始化造成的数据重复问题,在 初始化 和 添加节点 时内部进行 clone 操作。如果需要获取数据在 zTree 内的对象,请获取此方法的返回值。</p>
+ <p class="highlight_red">请通过 zTree 对象执行此方法。</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>parentNode</b><span>JSON</span></h4>
+ <p>指定的父节点,如果增加根节点,请设置 parentNode 为 null 即可。</p>
+ <p class="highlight_red">请务必保证此节点数据对象 是 zTree 内部的数据对象</p>
+ <h4 class="topLine"><b>newNodes</b><span>JSON / Array(JSON)</span></h4>
+ <p>需要增加的节点数据 JSON 对象集合,数据只需要满足 zTree 的节点数据必需的属性即可,详细请参考“treeNode 节点数据详解”</p>
+ <p class="highlight_red">1、v3.x 支持单独添加一个节点,即如果只新增一个节点,不用必须包在数组中</p>
+ <p class="highlight_red">2、使用简单数据模式,请参考 setting.data.simpleData 内的属性说明</p>
+ <h4 class="topLine"><b>isSilent</b><span>Boolean</span></h4>
+ <p>设定增加节点后是否自动展开父节点。</p>
+ <p>isSilent = true 时,不展开父节点,其他值或缺省状态都自动展开。</p>
+ <h4 class="topLine"><b>返回值</b><span>Array(JSON)</span></h4>
+ <p>返回值是 zTree 最终添加的节点数据集合</p>
+ <p class="highlight_red">如果 newNodes 是单个节点数据 JSON,返回值也是将其包在 Array 内</p>
+ <p class="highlight_red">请务必记住:返回值中的数据对象 是 newNodes 被 clone 后的,所以绝对不相等!</p>
+ </div>
+ <h3>function 举例</h3>
+ <h4>1. 对于 id = "tree" 的 zTree 增加 1 个根节点</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var newNode = {name:"newNode1"};
+newNode = treeObj.addNodes(null, newNode);
+</code></pre>
+ <h4>2. 对于 id = "tree" 的 zTree 增加 3 个根节点</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var newNodes = [{name:"newNode1"}, {name:"newNode2"}, {name:"newNode3"}];
+newNodes = treeObj.addNodes(null, newNodes);
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.cancelEditName.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.cancelEditName.html index 9df098f0..ea69cd10 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.cancelEditName.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.cancelEditName.html @@ -1,30 +1,30 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(newName)</span><span class="path">zTreeObj.</span>cancelEditName</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>取消节点的编辑名称状态,可以恢复原名称,也可以强行赋给新的名称。</p> - <p class="highlight_red">请通过 zTree 对象执行此方法。</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>newName</b><span>String</span></h4> - <p>重新给定的新名称。</p> - <p class="highlight_red">如果省略此参数,则恢复原名称。</p> - <h4 class="topLine"><b>返回值</b><span>无</span></h4> - <p>目前无任何返回值</p> - </div> - <h3>function 举例</h3> - <h4>1. 取消 zTree 的编辑名称状态,恢复该节点原有名称</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -treeObj.cancelEditName(); -</code></pre> - <h4>2. 取消 zTree 的编辑名称状态,并且重新设定该节点名称</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -treeObj.cancelEditName("test_new_name"); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(newName)</span><span class="path">zTreeObj.</span>cancelEditName</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>取消节点的编辑名称状态,可以恢复原名称,也可以强行赋给新的名称。</p>
+ <p class="highlight_red">请通过 zTree 对象执行此方法。</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>newName</b><span>String</span></h4>
+ <p>重新给定的新名称。</p>
+ <p class="highlight_red">如果省略此参数,则恢复原名称。</p>
+ <h4 class="topLine"><b>返回值</b><span>无</span></h4>
+ <p>目前无任何返回值</p>
+ </div>
+ <h3>function 举例</h3>
+ <h4>1. 取消 zTree 的编辑名称状态,恢复该节点原有名称</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+treeObj.cancelEditName();
+</code></pre>
+ <h4>2. 取消 zTree 的编辑名称状态,并且重新设定该节点名称</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+treeObj.cancelEditName("test_new_name");
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.cancelSelectedNode.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.cancelSelectedNode.html index 26d5706f..b0d2e56b 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.cancelSelectedNode.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.cancelSelectedNode.html @@ -1,35 +1,35 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeNode)</span><span class="path">zTreeObj.</span>cancelSelectedNode</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>取消节点的选中状态。</p> - <p class="highlight_red">v3.x 支持多点同时选中,因此取消选中状态可以全部取消,也可以单独取消某个节点的选中状态。</p> - <p class="highlight_red">请通过 zTree 对象执行此方法。</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeNode</b><span>JSON</span></h4> - <p>需要取消选中状态的节点。</p> - <p class="highlight_red">请务必保证此节点数据对象 是 zTree 内部的数据对象</p> - <p class="highlight_red">如果省略此参数,则将取消全部被选中节点的选中状态。</p> - <h4 class="topLine"><b>返回值</b><span>无</span></h4> - <p>目前无任何返回值</p> - </div> - <h3>function 举例</h3> - <h4>1. 取消当前所有被选中节点的选中状态</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -treeObj.cancelSelectedNode(); -</code></pre> - <h4>2. 取消当前第一个被选中节点的选中状态</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getSelectedNode(); -if (nodes.length>0) { - treeObj.cancelSelectedNode(nodes[0]); -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeNode)</span><span class="path">zTreeObj.</span>cancelSelectedNode</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>取消节点的选中状态。</p>
+ <p class="highlight_red">v3.x 支持多点同时选中,因此取消选中状态可以全部取消,也可以单独取消某个节点的选中状态。</p>
+ <p class="highlight_red">请通过 zTree 对象执行此方法。</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeNode</b><span>JSON</span></h4>
+ <p>需要取消选中状态的节点。</p>
+ <p class="highlight_red">请务必保证此节点数据对象 是 zTree 内部的数据对象</p>
+ <p class="highlight_red">如果省略此参数,则将取消全部被选中节点的选中状态。</p>
+ <h4 class="topLine"><b>返回值</b><span>无</span></h4>
+ <p>目前无任何返回值</p>
+ </div>
+ <h3>function 举例</h3>
+ <h4>1. 取消当前所有被选中节点的选中状态</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+treeObj.cancelSelectedNode();
+</code></pre>
+ <h4>2. 取消当前第一个被选中节点的选中状态</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getSelectedNode();
+if (nodes.length>0) {
+ treeObj.cancelSelectedNode(nodes[0]);
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.checkAllNodes.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.checkAllNodes.html index d6eaadf1..de47eb94 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.checkAllNodes.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.checkAllNodes.html @@ -1,29 +1,29 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(checked)</span><span class="path">zTreeObj.</span>checkAllNodes</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>勾选 或 取消勾选 全部节点。<span class="highlight_red">[setting.check.enable = true 且 setting.check.chkStyle = "checkbox" 时有效]</span></p> - <p class="highlight_red">此方法不会触发 beforeCheck / onCheck 事件回调函数。</p> - <p class="highlight_red">请通过 zTree 对象执行此方法。</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>checked</b><span>Boolean</span></h4> - <p>checked = true 表示勾选全部节点</p> - <p>checked = false 表示全部节点取消勾选</p> - <p class="highlight_red">不会影响 treeNode.nochecked = true 的节点。</p> - <p class="highlight_red">不会影响未加载的节点。</p> - <h4 class="topLine"><b>返回值</b><span>无</span></h4> - <p>目前无任何返回值</p> - </div> - <h3>function 举例</h3> - <h4>1. 勾选全部节点</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -treeObj.checkAllNodes(true); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(checked)</span><span class="path">zTreeObj.</span>checkAllNodes</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>勾选 或 取消勾选 全部节点。<span class="highlight_red">[setting.check.enable = true 且 setting.check.chkStyle = "checkbox" 时有效]</span></p>
+ <p class="highlight_red">此方法不会触发 beforeCheck / onCheck 事件回调函数。</p>
+ <p class="highlight_red">请通过 zTree 对象执行此方法。</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>checked</b><span>Boolean</span></h4>
+ <p>checked = true 表示勾选全部节点</p>
+ <p>checked = false 表示全部节点取消勾选</p>
+ <p class="highlight_red">不会影响 treeNode.nochecked = true 的节点。</p>
+ <p class="highlight_red">不会影响未加载的节点。</p>
+ <h4 class="topLine"><b>返回值</b><span>无</span></h4>
+ <p>目前无任何返回值</p>
+ </div>
+ <h3>function 举例</h3>
+ <h4>1. 勾选全部节点</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+treeObj.checkAllNodes(true);
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.checkNode.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.checkNode.html index cb8bb7de..4e2f7ee8 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.checkNode.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.checkNode.html @@ -1,44 +1,44 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeNode, checked, checkTypeFlag, callbackFlag)</span><span class="path">zTreeObj.</span>checkNode</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>勾选 或 取消勾选 单个节点。<span class="highlight_red">[setting.check.enable = true 时有效]</span></p> - <p class="highlight_red">v3.x 中 checkNode() 方法可以触发 beforeCheck / onCheck 事件回调函数。便于减少冗余代码</p> - <p class="highlight_red">请通过 zTree 对象执行此方法。</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeNode</b><span>JSON</span></h4> - <p>需要勾选 或 取消勾选 的节点数据</p> - <p class="highlight_red">请务必保证此节点数据对象 是 zTree 内部的数据对象</p> - <h4 class="topLine"><b>checked</b><span>Boolean</span></h4> - <p>checked = true 表示勾选节点</p> - <p>checked = false 表示节点取消勾选</p> - <p class="highlight_red">省略此参数,则根据对此节点的勾选状态进行 toggle 切换</p> - <p class="highlight_red">不影响 treeNode.nochecked = true 的节点。</p> - <h4 class="topLine"><b>checkTypeFlag</b><span>Boolean</span></h4> - <p>checkTypeFlag = true 表示按照 setting.check.chkboxType 属性进行父子节点的勾选联动操作</p> - <p>checkTypeFlag = false 表示只修改此节点勾选状态,无任何勾选联动操作</p> - <p class="highlight_red">checkTypeFlag = false 且 treeNode.checked = checked 时,不会触发回调函数,直接返回</p> - <p class="highlight_red">不影响父子节点中 treeNode.nochecked = true 的节点。</p> - <h4 class="topLine"><b>callbackFlag</b><span>Boolean</span></h4> - <p>callbackFlag = true 表示执行此方法时触发 beforeCheck & onCheck 事件回调函数</p> - <p>callbackFlag = false 表示执行此方法时不触发事件回调函数</p> - <p class="highlight_red">省略此参数,等同于 false</p> - <h4 class="topLine"><b>返回值</b><span>无</span></h4> - <p>目前无任何返回值</p> - </div> - <h3>function 举例</h3> - <h4>1. 勾选当前选中的节点</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getSelectedNodes(); -for (var i=0, l=nodes.length; i < l; i++) { - treeObj.checkNode(nodes[i], true, true); -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeNode, checked, checkTypeFlag, callbackFlag)</span><span class="path">zTreeObj.</span>checkNode</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>勾选 或 取消勾选 单个节点。<span class="highlight_red">[setting.check.enable = true 时有效]</span></p>
+ <p class="highlight_red">v3.x 中 checkNode() 方法可以触发 beforeCheck / onCheck 事件回调函数。便于减少冗余代码</p>
+ <p class="highlight_red">请通过 zTree 对象执行此方法。</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeNode</b><span>JSON</span></h4>
+ <p>需要勾选 或 取消勾选 的节点数据</p>
+ <p class="highlight_red">请务必保证此节点数据对象 是 zTree 内部的数据对象</p>
+ <h4 class="topLine"><b>checked</b><span>Boolean</span></h4>
+ <p>checked = true 表示勾选节点</p>
+ <p>checked = false 表示节点取消勾选</p>
+ <p class="highlight_red">省略此参数,则根据对此节点的勾选状态进行 toggle 切换</p>
+ <p class="highlight_red">不影响 treeNode.nochecked = true 的节点。</p>
+ <h4 class="topLine"><b>checkTypeFlag</b><span>Boolean</span></h4>
+ <p>checkTypeFlag = true 表示按照 setting.check.chkboxType 属性进行父子节点的勾选联动操作</p>
+ <p>checkTypeFlag = false 表示只修改此节点勾选状态,无任何勾选联动操作</p>
+ <p class="highlight_red">checkTypeFlag = false 且 treeNode.checked = checked 时,不会触发回调函数,直接返回</p>
+ <p class="highlight_red">不影响父子节点中 treeNode.nochecked = true 的节点。</p>
+ <h4 class="topLine"><b>callbackFlag</b><span>Boolean</span></h4>
+ <p>callbackFlag = true 表示执行此方法时触发 beforeCheck & onCheck 事件回调函数</p>
+ <p>callbackFlag = false 表示执行此方法时不触发事件回调函数</p>
+ <p class="highlight_red">省略此参数,等同于 false</p>
+ <h4 class="topLine"><b>返回值</b><span>无</span></h4>
+ <p>目前无任何返回值</p>
+ </div>
+ <h3>function 举例</h3>
+ <h4>1. 勾选当前选中的节点</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getSelectedNodes();
+for (var i=0, l=nodes.length; i < l; i++) {
+ treeObj.checkNode(nodes[i], true, true);
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.copyNode.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.copyNode.html index f1b624bf..3cf50679 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.copyNode.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.copyNode.html @@ -1,44 +1,44 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(targetNode, treeNode, moveType, isSilent)</span><span class="path">zTreeObj.</span>copyNode</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>复制节点。</p> - <p class="highlight_red">v3.x 复制节点时进行 clone 操作。如果需要获取数据在 zTree 内的对象,请获取此方法的返回值。</p> - <p class="highlight_red">请通过 zTree 对象执行此方法。</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>targetNode</b><span>JSON</span></h4> - <p>要复制到的目标节点 JSON 数据</p> - <p class="highlight_red">如果复制成为根节点,请设置 targetNode 为 null 即可</p> - <p class="highlight_red">请务必保证此节点数据对象 是 zTree 内部的数据对象</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>需要被复制的节点数据</p> - <p class="highlight_red">请务必保证此节点数据对象 是 zTree 内部的数据对象</p> - <h4 class="topLine"><b>moveType</b><span>String</span></h4> - <p>复制到目标节点的相对位置</p> - <p class="highlight_red">"inner":成为子节点,"prev":成为同级前一个节点,"next":成为同级后一个节点</p> - <h4 class="topLine"><b>isSilent</b><span>Boolean</span></h4> - <p>设定复制节点后是否自动展开父节点。</p> - <p>isSilent = true 时,不展开父节点,其他值或缺省状态都自动展开。</p> - <h4 class="topLine"><b>返回值</b><span>JSON</span></h4> - <p>返回值是最终加入到 zTree 内的节点数据</p> - <p class="highlight_red">请务必记住:返回值中的数据对象 是 treeNode 被 clone 后的,所以绝对不相等!</p> - </div> - <h3>function 举例</h3> - <h4>1. 将根节点中第二个节点 复制成为 第一个节点的子节点</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getNodes(); -treeObj.copyNode(nodes[0], nodes[1], "inner"); -</code></pre> - <h4>2. 将根节点中第二个节点 复制成为 第一个节点的前一个节点</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getNodes(); -treeObj.copyNode(nodes[0], nodes[1], "before"); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(targetNode, treeNode, moveType, isSilent)</span><span class="path">zTreeObj.</span>copyNode</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>复制节点。</p>
+ <p class="highlight_red">v3.x 复制节点时进行 clone 操作。如果需要获取数据在 zTree 内的对象,请获取此方法的返回值。</p>
+ <p class="highlight_red">请通过 zTree 对象执行此方法。</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>targetNode</b><span>JSON</span></h4>
+ <p>要复制到的目标节点 JSON 数据</p>
+ <p class="highlight_red">如果复制成为根节点,请设置 targetNode 为 null 即可</p>
+ <p class="highlight_red">请务必保证此节点数据对象 是 zTree 内部的数据对象</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>需要被复制的节点数据</p>
+ <p class="highlight_red">请务必保证此节点数据对象 是 zTree 内部的数据对象</p>
+ <h4 class="topLine"><b>moveType</b><span>String</span></h4>
+ <p>复制到目标节点的相对位置</p>
+ <p class="highlight_red">"inner":成为子节点,"prev":成为同级前一个节点,"next":成为同级后一个节点</p>
+ <h4 class="topLine"><b>isSilent</b><span>Boolean</span></h4>
+ <p>设定复制节点后是否自动展开父节点。</p>
+ <p>isSilent = true 时,不展开父节点,其他值或缺省状态都自动展开。</p>
+ <h4 class="topLine"><b>返回值</b><span>JSON</span></h4>
+ <p>返回值是最终加入到 zTree 内的节点数据</p>
+ <p class="highlight_red">请务必记住:返回值中的数据对象 是 treeNode 被 clone 后的,所以绝对不相等!</p>
+ </div>
+ <h3>function 举例</h3>
+ <h4>1. 将根节点中第二个节点 复制成为 第一个节点的子节点</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getNodes();
+treeObj.copyNode(nodes[0], nodes[1], "inner");
+</code></pre>
+ <h4>2. 将根节点中第二个节点 复制成为 第一个节点的前一个节点</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getNodes();
+treeObj.copyNode(nodes[0], nodes[1], "before");
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.destroy.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.destroy.html index d9f6da0d..ff8df9a2 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.destroy.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.destroy.html @@ -1,25 +1,25 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeId)</span><span class="path">zTreeObj.</span>destroy</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>从 zTree v3.4 开始提供销毁 zTree 的方法。</p> - <p>1、用此方法可以销毁 zTreeObj 代表的 zTree。</p> - <p class="highlight_red">2、销毁当前页面全部的 zTree,也可以使用 $.fn.zTree.destroy() 方法。</p> - <p class="highlight_red">3、重新使用已经被销毁的树,必须要使用 init 方法进行初始化。</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>返回值</b><span>无</span></h4> - <p>目前无任何返回值</p> - </div> - <h3>function 举例</h3> - <h4>1. 销毁 id 为 "treeDemo" 的 zTree</h4> - <pre xmlns=""><code>var zTreeObj = $.fn.zTree.getZTreeObj("treeDemo"); -zTreeObj.destroy(); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeId)</span><span class="path">zTreeObj.</span>destroy</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>从 zTree v3.4 开始提供销毁 zTree 的方法。</p>
+ <p>1、用此方法可以销毁 zTreeObj 代表的 zTree。</p>
+ <p class="highlight_red">2、销毁当前页面全部的 zTree,也可以使用 $.fn.zTree.destroy() 方法。</p>
+ <p class="highlight_red">3、重新使用已经被销毁的树,必须要使用 init 方法进行初始化。</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>返回值</b><span>无</span></h4>
+ <p>目前无任何返回值</p>
+ </div>
+ <h3>function 举例</h3>
+ <h4>1. 销毁 id 为 "treeDemo" 的 zTree</h4>
+ <pre xmlns=""><code>var zTreeObj = $.fn.zTree.getZTreeObj("treeDemo");
+zTreeObj.destroy();
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.editName.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.editName.html index 2d4eaf7b..c560ac12 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.editName.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.editName.html @@ -1,29 +1,29 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeNode)</span><span class="path">zTreeObj.</span>editName</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>设置某节点进入编辑名称状态。</p> - <p class="highlight_red">1、如果需要用 js 取消编辑名称状态,请使用 cancelEditName(newName) 方法。</p> - <p class="highlight_red">2、可利用此方法让当前正编辑的节点 input 输入框获取焦点。</p> - <p class="highlight_red">3、请通过 zTree 对象执行此方法。</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeNode</b><span>JSON</span></h4> - <p>指定进入编辑名称状态的节点 JSON 数据</p> - <p class="highlight_red">请务必保证此节点数据对象 是 zTree 内部的数据对象</p> - <h4 class="topLine"><b>返回值</b><span>无</span></h4> - <p>目前无任何返回值</p> - </div> - <h3>function 举例</h3> - <h4>1. 设置根节点第一个节点进入编辑名称状态</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getNodes(); -treeObj.editName(nodes[0]); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeNode)</span><span class="path">zTreeObj.</span>editName</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>设置某节点进入编辑名称状态。</p>
+ <p class="highlight_red">1、如果需要用 js 取消编辑名称状态,请使用 cancelEditName(newName) 方法。</p>
+ <p class="highlight_red">2、可利用此方法让当前正编辑的节点 input 输入框获取焦点。</p>
+ <p class="highlight_red">3、请通过 zTree 对象执行此方法。</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeNode</b><span>JSON</span></h4>
+ <p>指定进入编辑名称状态的节点 JSON 数据</p>
+ <p class="highlight_red">请务必保证此节点数据对象 是 zTree 内部的数据对象</p>
+ <h4 class="topLine"><b>返回值</b><span>无</span></h4>
+ <p>目前无任何返回值</p>
+ </div>
+ <h3>function 举例</h3>
+ <h4>1. 设置根节点第一个节点进入编辑名称状态</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getNodes();
+treeObj.editName(nodes[0]);
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.expandAll.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.expandAll.html index aaa3e464..f0ae8c71 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.expandAll.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.expandAll.html @@ -1,30 +1,30 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(expandFlag)</span><span class="path">zTreeObj.</span>expandAll</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>展开 / 折叠 全部节点</p> - <p class="highlight_red">此方法不会触发 beforeExpand / onExpand 和 beforeCollapse / onCollapse 事件回调函数。</p> - <p class="highlight_red">请通过 zTree 对象执行此方法。</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>expandFlag</b><span>Boolean</span></h4> - <p>expandFlag = true 表示 展开 全部节点</p> - <p>expandFlag = false 表示 折叠 全部节点</p> - <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4> - <p>返回值表示最终实际操作情况</p> - <p>true 表示 展开 全部节点</p> - <p>false 表示 折叠 全部节点</p> - <p>null 表示 不存在任何父节点</p> - </div> - <h3>function 举例</h3> - <h4>1. 展开全部节点</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -treeObj.expandAll(true); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(expandFlag)</span><span class="path">zTreeObj.</span>expandAll</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>展开 / 折叠 全部节点</p>
+ <p class="highlight_red">此方法不会触发 beforeExpand / onExpand 和 beforeCollapse / onCollapse 事件回调函数。</p>
+ <p class="highlight_red">请通过 zTree 对象执行此方法。</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>expandFlag</b><span>Boolean</span></h4>
+ <p>expandFlag = true 表示 展开 全部节点</p>
+ <p>expandFlag = false 表示 折叠 全部节点</p>
+ <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4>
+ <p>返回值表示最终实际操作情况</p>
+ <p>true 表示 展开 全部节点</p>
+ <p>false 表示 折叠 全部节点</p>
+ <p>null 表示 不存在任何父节点</p>
+ </div>
+ <h3>function 举例</h3>
+ <h4>1. 展开全部节点</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+treeObj.expandAll(true);
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.expandNode.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.expandNode.html index 5d96d3f5..e9312343 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.expandNode.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.expandNode.html @@ -1,50 +1,50 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeNode, expandFlag, sonSign, focus, callbackFlag)</span><span class="path">zTreeObj.</span>expandNode</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>展开 / 折叠 指定的节点</p> - <p class="highlight_red">v3.x 中执行此方法可以触发 beforeExpand / onExpand 或 beforeCollapse / onCollapse 事件回调函数。便于减少冗余代码</p> - <p class="highlight_red">请通过 zTree 对象执行此方法。</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeNode</b><span>JSON</span></h4> - <p>需要 展开 / 折叠 的节点数据</p> - <p class="highlight_red">请务必保证此节点数据对象 是 zTree 内部的数据对象</p> - <h4 class="topLine"><b>expandFlag</b><span>Boolean</span></h4> - <p>expandFlag = true 表示 展开 节点</p> - <p>expandFlag = false 表示 折叠 节点</p> - <p class="highlight_red">省略此参数,则根据对此节点的展开状态进行 toggle 切换</p> - <h4 class="topLine"><b>sonSign</b><span>Boolean</span></h4> - <p>sonSign = true 表示 全部子孙节点 进行与 expandFlag 相同的操作</p> - <p>sonSign = false 表示 只影响此节点,对于其 子孙节点无任何影响</p> - <p class="highlight_red">sonSign = false 且 treeNode.open = expandFlag 时,不会触发回调函数,直接返回</p> - <p class="highlight_red">省略此参数,等同于 false</p> - <h4 class="topLine"><b>focus</b><span>Boolean</span></h4> - <p>focus = true 表示 展开 / 折叠 操作后,通过设置焦点保证此焦点进入可视区域内</p> - <p>focus = false 表示 展开 / 折叠 操作后,不设置任何焦点</p> - <p class="highlight_red">省略此参数,等同于 true</p> - <h4 class="topLine"><b>callbackFlag</b><span>Boolean</span></h4> - <p>callbackFlag = true 表示执行此方法时触发 beforeExpand / onExpand 或 beforeCollapse / onCollapse 事件回调函数</p> - <p>callbackFlag = false 表示执行此方法时不触发事件回调函数</p> - <p class="highlight_red">省略此参数,等同于 false</p> - <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4> - <p>返回值表示最终实际操作情况</p> - <p>true 表示 展开 节点</p> - <p>false 表示 折叠 节点</p> - <p>null 表示 不是父节点</p> - </div> - <h3>function 举例</h3> - <h4>1. 展开当前选择的第一个节点(包括其全部子节点)</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getSelectedNodes(); -if (nodes.length>0) { - treeObj.expandNode(nodes[0], true, true, true); -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeNode, expandFlag, sonSign, focus, callbackFlag)</span><span class="path">zTreeObj.</span>expandNode</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>展开 / 折叠 指定的节点</p>
+ <p class="highlight_red">v3.x 中执行此方法可以触发 beforeExpand / onExpand 或 beforeCollapse / onCollapse 事件回调函数。便于减少冗余代码</p>
+ <p class="highlight_red">请通过 zTree 对象执行此方法。</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeNode</b><span>JSON</span></h4>
+ <p>需要 展开 / 折叠 的节点数据</p>
+ <p class="highlight_red">请务必保证此节点数据对象 是 zTree 内部的数据对象</p>
+ <h4 class="topLine"><b>expandFlag</b><span>Boolean</span></h4>
+ <p>expandFlag = true 表示 展开 节点</p>
+ <p>expandFlag = false 表示 折叠 节点</p>
+ <p class="highlight_red">省略此参数,则根据对此节点的展开状态进行 toggle 切换</p>
+ <h4 class="topLine"><b>sonSign</b><span>Boolean</span></h4>
+ <p>sonSign = true 表示 全部子孙节点 进行与 expandFlag 相同的操作</p>
+ <p>sonSign = false 表示 只影响此节点,对于其 子孙节点无任何影响</p>
+ <p class="highlight_red">sonSign = false 且 treeNode.open = expandFlag 时,不会触发回调函数,直接返回</p>
+ <p class="highlight_red">省略此参数,等同于 false</p>
+ <h4 class="topLine"><b>focus</b><span>Boolean</span></h4>
+ <p>focus = true 表示 展开 / 折叠 操作后,通过设置焦点保证此焦点进入可视区域内</p>
+ <p>focus = false 表示 展开 / 折叠 操作后,不设置任何焦点</p>
+ <p class="highlight_red">省略此参数,等同于 true</p>
+ <h4 class="topLine"><b>callbackFlag</b><span>Boolean</span></h4>
+ <p>callbackFlag = true 表示执行此方法时触发 beforeExpand / onExpand 或 beforeCollapse / onCollapse 事件回调函数</p>
+ <p>callbackFlag = false 表示执行此方法时不触发事件回调函数</p>
+ <p class="highlight_red">省略此参数,等同于 false</p>
+ <h4 class="topLine"><b>返回值</b><span>Boolean</span></h4>
+ <p>返回值表示最终实际操作情况</p>
+ <p>true 表示 展开 节点</p>
+ <p>false 表示 折叠 节点</p>
+ <p>null 表示 不是父节点</p>
+ </div>
+ <h3>function 举例</h3>
+ <h4>1. 展开当前选择的第一个节点(包括其全部子节点)</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getSelectedNodes();
+if (nodes.length>0) {
+ treeObj.expandNode(nodes[0], true, true, true);
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.getChangeCheckedNodes.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.getChangeCheckedNodes.html index ba865347..51b5b1e3 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.getChangeCheckedNodes.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.getChangeCheckedNodes.html @@ -1,24 +1,24 @@ -<div class="apiDetail"> -<div> - <h2><span>Function()</span><span class="path">zTreeObj.</span>getChangeCheckedNodes</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>获取输入框勾选状态被改变的节点集合(与原始数据 checkedOld 对比)。<span class="highlight_red">[setting.check.enable = true 时有效]</span></p> - <p class="highlight_red">请通过 zTree 对象执行此方法。</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>返回值</b><span>Array(JSON)</span></h4> - <p>返回全部勾选状态被改变的节点集合 Array</p> - <p class="highlight_red">如果需要获取每次操作后全部被改变勾选状态的节点数据,请在每次勾选操作后,遍历所有被改变勾选状态的节点数据,让其 checkedOld = checked 就可以了。</p> - </div> - <h3>function 举例</h3> - <h4>1. 获取当前勾选状态被改变的节点集合</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getChangeCheckedNodes(); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function()</span><span class="path">zTreeObj.</span>getChangeCheckedNodes</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>获取输入框勾选状态被改变的节点集合(与原始数据 checkedOld 对比)。<span class="highlight_red">[setting.check.enable = true 时有效]</span></p>
+ <p class="highlight_red">请通过 zTree 对象执行此方法。</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>返回值</b><span>Array(JSON)</span></h4>
+ <p>返回全部勾选状态被改变的节点集合 Array</p>
+ <p class="highlight_red">如果需要获取每次操作后全部被改变勾选状态的节点数据,请在每次勾选操作后,遍历所有被改变勾选状态的节点数据,让其 checkedOld = checked 就可以了。</p>
+ </div>
+ <h3>function 举例</h3>
+ <h4>1. 获取当前勾选状态被改变的节点集合</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getChangeCheckedNodes();
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.getCheckedNodes.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.getCheckedNodes.html index 85f4ba04..a0fd92a8 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.getCheckedNodes.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.getCheckedNodes.html @@ -1,28 +1,28 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(checked)</span><span class="path">zTreeObj.</span>getCheckedNodes</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>获取输入框被勾选 或 未勾选的节点集合。<span class="highlight_red">[setting.check.enable = true 时有效]</span></p> - <p class="highlight_red">请通过 zTree 对象执行此方法。</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>checked</b><span>Boolean</span></h4> - <p>checked = true 表示获取 被勾选 的节点集合</p> - <p>checked = false 表示获取 未勾选 的节点集合</p> - <p class="highlight_red">省略此参数,等同于 true。</p> - <p class="highlight_red">对于 treeNode.nochecked = true 的节点不进行获取。</p> - <h4 class="topLine"><b>返回值</b><span>Array(JSON)</span></h4> - <p>返回全部符合要求的节点集合 Array</p> - </div> - <h3>function 举例</h3> - <h4>1. 获取当前被勾选的节点集合</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getCheckedNodes(true); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(checked)</span><span class="path">zTreeObj.</span>getCheckedNodes</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>获取输入框被勾选 或 未勾选的节点集合。<span class="highlight_red">[setting.check.enable = true 时有效]</span></p>
+ <p class="highlight_red">请通过 zTree 对象执行此方法。</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>checked</b><span>Boolean</span></h4>
+ <p>checked = true 表示获取 被勾选 的节点集合</p>
+ <p>checked = false 表示获取 未勾选 的节点集合</p>
+ <p class="highlight_red">省略此参数,等同于 true。</p>
+ <p class="highlight_red">对于 treeNode.nochecked = true 的节点不进行获取。</p>
+ <h4 class="topLine"><b>返回值</b><span>Array(JSON)</span></h4>
+ <p>返回全部符合要求的节点集合 Array</p>
+ </div>
+ <h3>function 举例</h3>
+ <h4>1. 获取当前被勾选的节点集合</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getCheckedNodes(true);
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.getNodeByParam.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.getNodeByParam.html index 89e72c78..6ec7e517 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.getNodeByParam.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.getNodeByParam.html @@ -1,32 +1,32 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(key, value, parentNode)</span><span class="path">zTreeObj.</span>getNodeByParam</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>根据节点数据的属性搜索,获取条件完全匹配的节点数据 JSON 对象</p> - <p class="highlight_red">请通过 zTree 对象执行此方法。</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>key</b><span>String</span></h4> - <p>需要精确匹配的属性名称</p> - <h4 class="topLine"><b>value</b><span>?</span></h4> - <p>需要精确匹配的属性值,可以是任何类型,只要保证与 key 指定的属性值保持一致即可</p> - <h4 class="topLine"><b>parentNode</b><span>JSON</span></h4> - <p>搜索范围,指定在某个父节点下的子节点中进行搜索</p> - <p class="highlight_red">忽略此参数,表示在全部节点中搜索</p> - <h4 class="topLine"><b>返回值</b><span>JSON</span></h4> - <p>匹配精确搜索的节点数据</p> - <p class="highlight_red">1、如无结果,返回 null</p> - <p class="highlight_red">2、如有多个节点满足查询条件,只返回第一个匹配到的节点</p> - </div> - <h3>function 举例</h3> - <h4>1. 查找 id = 1 的节点数据</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var node = treeObj.getNodeByParam("id", 1, null); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(key, value, parentNode)</span><span class="path">zTreeObj.</span>getNodeByParam</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>根据节点数据的属性搜索,获取条件完全匹配的节点数据 JSON 对象</p>
+ <p class="highlight_red">请通过 zTree 对象执行此方法。</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>key</b><span>String</span></h4>
+ <p>需要精确匹配的属性名称</p>
+ <h4 class="topLine"><b>value</b><span>?</span></h4>
+ <p>需要精确匹配的属性值,可以是任何类型,只要保证与 key 指定的属性值保持一致即可</p>
+ <h4 class="topLine"><b>parentNode</b><span>JSON</span></h4>
+ <p>搜索范围,指定在某个父节点下的子节点中进行搜索</p>
+ <p class="highlight_red">忽略此参数,表示在全部节点中搜索</p>
+ <h4 class="topLine"><b>返回值</b><span>JSON</span></h4>
+ <p>匹配精确搜索的节点数据</p>
+ <p class="highlight_red">1、如无结果,返回 null</p>
+ <p class="highlight_red">2、如有多个节点满足查询条件,只返回第一个匹配到的节点</p>
+ </div>
+ <h3>function 举例</h3>
+ <h4>1. 查找 id = 1 的节点数据</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var node = treeObj.getNodeByParam("id", 1, null);
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.getNodeByTId.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.getNodeByTId.html index 76fcc486..5b631f2a 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.getNodeByTId.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.getNodeByTId.html @@ -1,27 +1,27 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(tId)</span><span class="path">zTreeObj.</span>getNodeByTId</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>根据 zTree 的唯一标识 tId 快速获取节点 JSON 数据对象</p> - <p class="highlight_red">通过内部的 cache 获取,不需要遍历节点。</p> - <p class="highlight_red">请通过 zTree 对象执行此方法。</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>tId</b><span>String</span></h4> - <p>节点在 zTree 内的唯一标识 tId</p> - <h4 class="topLine"><b>返回值</b><span>JSON</span></h4> - <p>tId 对应的节点 JSON 数据对象</p> - <p class="highlight_red">如无结果,返回 null</p> - </div> - <h3>function 举例</h3> - <h4>1. 获取 tId = "tree_10" 的节点数据</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var node = treeObj.getNodeByTId("tree_10"); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(tId)</span><span class="path">zTreeObj.</span>getNodeByTId</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>根据 zTree 的唯一标识 tId 快速获取节点 JSON 数据对象</p>
+ <p class="highlight_red">通过内部的 cache 获取,不需要遍历节点。</p>
+ <p class="highlight_red">请通过 zTree 对象执行此方法。</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>tId</b><span>String</span></h4>
+ <p>节点在 zTree 内的唯一标识 tId</p>
+ <h4 class="topLine"><b>返回值</b><span>JSON</span></h4>
+ <p>tId 对应的节点 JSON 数据对象</p>
+ <p class="highlight_red">如无结果,返回 null</p>
+ </div>
+ <h3>function 举例</h3>
+ <h4>1. 获取 tId = "tree_10" 的节点数据</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var node = treeObj.getNodeByTId("tree_10");
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.getNodeIndex.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.getNodeIndex.html index b2c757d2..177dc0f1 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.getNodeIndex.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.getNodeIndex.html @@ -1,30 +1,30 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeNode)</span><span class="path">zTreeObj.</span>getNodeIndex</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>获取某节点在同级节点中的序号(从0开始)</p> - <p class="highlight_red">请通过 zTree 对象执行此方法。</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeNode</b><span>JSON</span></h4> - <p>需要查询顺序的节点 JSON 数据对象</p> - <p class="highlight_red">请务必保证此节点数据对象 是 zTree 内部的数据对象</p> - <h4 class="topLine"><b>返回值</b><span>Number</span></h4> - <p class="highlight_red">返回值从 0 开始计数</p> - <p class="highlight_red">如果不存在该节点数据,返回 -1</p> - </div> - <h3>function 举例</h3> - <h4>1. 获取当前选中的第一个节点在同级节点中的序号</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getSelectedNodes(); -if (nodes.length>0) { - var index = treeObj.getNodeIndex(nodes[0]); -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeNode)</span><span class="path">zTreeObj.</span>getNodeIndex</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>获取某节点在同级节点中的序号(从0开始)</p>
+ <p class="highlight_red">请通过 zTree 对象执行此方法。</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeNode</b><span>JSON</span></h4>
+ <p>需要查询顺序的节点 JSON 数据对象</p>
+ <p class="highlight_red">请务必保证此节点数据对象 是 zTree 内部的数据对象</p>
+ <h4 class="topLine"><b>返回值</b><span>Number</span></h4>
+ <p class="highlight_red">返回值从 0 开始计数</p>
+ <p class="highlight_red">如果不存在该节点数据,返回 -1</p>
+ </div>
+ <h3>function 举例</h3>
+ <h4>1. 获取当前选中的第一个节点在同级节点中的序号</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getSelectedNodes();
+if (nodes.length>0) {
+ var index = treeObj.getNodeIndex(nodes[0]);
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.getNodes.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.getNodes.html index b368535e..af1571a6 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.getNodes.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.getNodes.html @@ -1,26 +1,26 @@ -<div class="apiDetail"> -<div> - <h2><span>Function()</span><span class="path">zTreeObj.</span>getNodes</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>获取 zTree 的全部节点数据</p> - <p class="highlight_red">请通过 zTree 对象执行此方法。</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>返回值</b><span>Array(JSON)</span></h4> - <p>全部节点数据</p> - <p class="highlight_red">1、Array 仅仅是根节点的集合(默认情况子节点都处于 children 属性下); </p> - <p class="highlight_red">2、如需遍历全部节点需要利用递归,或利用 transformToArray 方法 将数据变成简单的 Array 集合</p> - <p class="highlight_red">3、对于异步加载模式下,尚未加载的子节点是无法通过此方法获取的。</p> - </div> - <h3>function 举例</h3> - <h4>1. 获取全部节点数据</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getNodes(); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function()</span><span class="path">zTreeObj.</span>getNodes</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>获取 zTree 的全部节点数据</p>
+ <p class="highlight_red">请通过 zTree 对象执行此方法。</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>返回值</b><span>Array(JSON)</span></h4>
+ <p>全部节点数据</p>
+ <p class="highlight_red">1、Array 仅仅是根节点的集合(默认情况子节点都处于 children 属性下); </p>
+ <p class="highlight_red">2、如需遍历全部节点需要利用递归,或利用 transformToArray 方法 将数据变成简单的 Array 集合</p>
+ <p class="highlight_red">3、对于异步加载模式下,尚未加载的子节点是无法通过此方法获取的。</p>
+ </div>
+ <h3>function 举例</h3>
+ <h4>1. 获取全部节点数据</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getNodes();
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.getNodesByFilter.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.getNodesByFilter.html index 69174251..e8b6f1b9 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.getNodesByFilter.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.getNodesByFilter.html @@ -1,43 +1,43 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(filter, isSingle, parentNode, invokeParam)</span><span class="path">zTreeObj.</span>getNodesByFilter</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>根据自定义规则搜索节点数据 JSON 对象集合 或 单个节点数据</p> - <p class="highlight_red">可自定义复杂的搜索规则</p> - <p class="highlight_red">请通过 zTree 对象执行此方法。</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>filter</b><span>Function</span></h4> - <p>自定义过滤器函数 function filter(node) {...}</p> - <p>filter 参数:node (节点数据 JSON)</p> - <p>filter 返回值:boolean (true 表示符合搜索条件;false 表示不符合搜索条件)</p> - <h4 class="topLine"><b>isSingle</b><span>Boolean</span></h4> - <p>isSingle = true 表示只查找单个节点</p> - <p>isSingle = false 表示查找节点集合</p> - <p class="highlight_red">忽略此参数,表示查找节点集合</p> - <h4 class="topLine"><b>parentNode</b><span>JSON</span></h4> - <p>可以指定在某个父节点下的子节点中搜索</p> - <p class="highlight_red">忽略此参数,表示在全部节点中搜索</p> - <h4 class="topLine"><b>invokeParam</b><span>任意类型</span></h4> - <p>用户自定义的数据对象,用于 filter 中进行计算</p> - <h4 class="topLine"><b>返回值</b><span>Array(JSON) / JSON</span></h4> - <p>isSingle = true 返回 第一个找到的节点数据 JSON,无结果时返回 null</p> - <p>isSingle = false 返回 节点数据集合 Array(JSON),无结果时返回 [ ]</p> - </div> - <h3>function 举例</h3> - <h4>1. 查找 level = 2 & name 中包含 "test" 的节点数据</h4> - <pre xmlns=""><code>function filter(node) { - return (node.level == 2 && node.name.indexOf("test")>-1); -} -...... -var treeObj = $.fn.zTree.getZTreeObj("tree"); -var node = treeObj.getNodesByFilter(filter, true); // 仅查找一个节点 -var nodes = treeObj.getNodesByFilter(filter); // 查找节点集合 -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(filter, isSingle, parentNode, invokeParam)</span><span class="path">zTreeObj.</span>getNodesByFilter</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>根据自定义规则搜索节点数据 JSON 对象集合 或 单个节点数据</p>
+ <p class="highlight_red">可自定义复杂的搜索规则</p>
+ <p class="highlight_red">请通过 zTree 对象执行此方法。</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>filter</b><span>Function</span></h4>
+ <p>自定义过滤器函数 function filter(node) {...}</p>
+ <p>filter 参数:node (节点数据 JSON)</p>
+ <p>filter 返回值:boolean (true 表示符合搜索条件;false 表示不符合搜索条件)</p>
+ <h4 class="topLine"><b>isSingle</b><span>Boolean</span></h4>
+ <p>isSingle = true 表示只查找单个节点</p>
+ <p>isSingle = false 表示查找节点集合</p>
+ <p class="highlight_red">忽略此参数,表示查找节点集合</p>
+ <h4 class="topLine"><b>parentNode</b><span>JSON</span></h4>
+ <p>可以指定在某个父节点下的子节点中搜索</p>
+ <p class="highlight_red">忽略此参数,表示在全部节点中搜索</p>
+ <h4 class="topLine"><b>invokeParam</b><span>任意类型</span></h4>
+ <p>用户自定义的数据对象,用于 filter 中进行计算</p>
+ <h4 class="topLine"><b>返回值</b><span>Array(JSON) / JSON</span></h4>
+ <p>isSingle = true 返回 第一个找到的节点数据 JSON,无结果时返回 null</p>
+ <p>isSingle = false 返回 节点数据集合 Array(JSON),无结果时返回 [ ]</p>
+ </div>
+ <h3>function 举例</h3>
+ <h4>1. 查找 level = 2 & name 中包含 "test" 的节点数据</h4>
+ <pre xmlns=""><code>function filter(node) {
+ return (node.level == 2 && node.name.indexOf("test")>-1);
+}
+......
+var treeObj = $.fn.zTree.getZTreeObj("tree");
+var node = treeObj.getNodesByFilter(filter, true); // 仅查找一个节点
+var nodes = treeObj.getNodesByFilter(filter); // 查找节点集合
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.getNodesByParam.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.getNodesByParam.html index cf45939c..1cdfe158 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.getNodesByParam.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.getNodesByParam.html @@ -1,31 +1,31 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(key, value, parentNode)</span><span class="path">zTreeObj.</span>getNodesByParam</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>根据节点数据的属性搜索,获取条件完全匹配的节点数据 JSON 对象集合</p> - <p class="highlight_red">请通过 zTree 对象执行此方法。</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>key</b><span>String</span></h4> - <p>需要精确匹配的属性名称</p> - <h4 class="topLine"><b>value</b><span>?</span></h4> - <p>需要精确匹配的属性值,可以是任何类型,只要保证与 key 指定的属性值保持一致即可</p> - <h4 class="topLine"><b>parentNode</b><span>JSON</span></h4> - <p>可以指定在某个父节点下的子节点中搜索</p> - <p class="highlight_red">忽略此参数,表示在全部节点中搜索</p> - <h4 class="topLine"><b>返回值</b><span>Array(JSON)</span></h4> - <p>匹配精确搜索的节点数据集合</p> - <p class="highlight_red">如无结果,返回 [ ]</p> - </div> - <h3>function 举例</h3> - <h4>1. 查找 name = "test" 的节点数据</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getNodesByParam("name", "test", null); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(key, value, parentNode)</span><span class="path">zTreeObj.</span>getNodesByParam</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>根据节点数据的属性搜索,获取条件完全匹配的节点数据 JSON 对象集合</p>
+ <p class="highlight_red">请通过 zTree 对象执行此方法。</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>key</b><span>String</span></h4>
+ <p>需要精确匹配的属性名称</p>
+ <h4 class="topLine"><b>value</b><span>?</span></h4>
+ <p>需要精确匹配的属性值,可以是任何类型,只要保证与 key 指定的属性值保持一致即可</p>
+ <h4 class="topLine"><b>parentNode</b><span>JSON</span></h4>
+ <p>可以指定在某个父节点下的子节点中搜索</p>
+ <p class="highlight_red">忽略此参数,表示在全部节点中搜索</p>
+ <h4 class="topLine"><b>返回值</b><span>Array(JSON)</span></h4>
+ <p>匹配精确搜索的节点数据集合</p>
+ <p class="highlight_red">如无结果,返回 [ ]</p>
+ </div>
+ <h3>function 举例</h3>
+ <h4>1. 查找 name = "test" 的节点数据</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getNodesByParam("name", "test", null);
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.getNodesByParamFuzzy.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.getNodesByParamFuzzy.html index 04d183f9..a3d2b837 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.getNodesByParamFuzzy.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.getNodesByParamFuzzy.html @@ -1,32 +1,32 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(key, value, parentNode)</span><span class="path">zTreeObj.</span>getNodesByParamFuzzy</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>根据节点数据的属性搜索,获取条件模糊匹配的节点数据 JSON 对象集合</p> - <p class="highlight_red">请通过 zTree 对象执行此方法。</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>key</b><span>String</span></h4> - <p>需要模糊匹配的属性名称</p> - <h4 class="topLine"><b>value</b><span>String</span></h4> - <p>需要模糊匹配的属性值</p> - <p class="highlight_red">模糊匹配只能针对 String 类型的数据</p> - <h4 class="topLine"><b>parentNode</b><span>JSON</span></h4> - <p>可以指定在某个父节点下的子节点中搜索</p> - <p class="highlight_red">忽略此参数,表示在全部节点中搜索</p> - <h4 class="topLine"><b>返回值</b><span>Array(JSON)</span></h4> - <p>匹配模糊搜索的节点数据集合</p> - <p class="highlight_red">如无结果,返回 [ ]</p> - </div> - <h3>function 举例</h3> - <h4>1. 查找 name 包含 "test" 的节点数据</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getNodesByParamFuzzy("name", "test", null); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(key, value, parentNode)</span><span class="path">zTreeObj.</span>getNodesByParamFuzzy</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>根据节点数据的属性搜索,获取条件模糊匹配的节点数据 JSON 对象集合</p>
+ <p class="highlight_red">请通过 zTree 对象执行此方法。</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>key</b><span>String</span></h4>
+ <p>需要模糊匹配的属性名称</p>
+ <h4 class="topLine"><b>value</b><span>String</span></h4>
+ <p>需要模糊匹配的属性值</p>
+ <p class="highlight_red">模糊匹配只能针对 String 类型的数据</p>
+ <h4 class="topLine"><b>parentNode</b><span>JSON</span></h4>
+ <p>可以指定在某个父节点下的子节点中搜索</p>
+ <p class="highlight_red">忽略此参数,表示在全部节点中搜索</p>
+ <h4 class="topLine"><b>返回值</b><span>Array(JSON)</span></h4>
+ <p>匹配模糊搜索的节点数据集合</p>
+ <p class="highlight_red">如无结果,返回 [ ]</p>
+ </div>
+ <h3>function 举例</h3>
+ <h4>1. 查找 name 包含 "test" 的节点数据</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getNodesByParamFuzzy("name", "test", null);
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.getSelectedNodes.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.getSelectedNodes.html index ab36f8ee..00f9c434 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.getSelectedNodes.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.getSelectedNodes.html @@ -1,23 +1,23 @@ -<div class="apiDetail"> -<div> - <h2><span>Function()</span><span class="path">zTreeObj.</span>getSelectedNodes</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>获取 zTree 当前被选中的节点数据集合</p> - <p class="highlight_red">请通过 zTree 对象执行此方法。</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>返回值</b><span>Array(JSON)</span></h4> - <p>当前被选中的节点数据集合</p> - </div> - <h3>function 举例</h3> - <h4>1. 获取当前被选中的节点数据集合</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getSelectedNodes(); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function()</span><span class="path">zTreeObj.</span>getSelectedNodes</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>获取 zTree 当前被选中的节点数据集合</p>
+ <p class="highlight_red">请通过 zTree 对象执行此方法。</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>返回值</b><span>Array(JSON)</span></h4>
+ <p>当前被选中的节点数据集合</p>
+ </div>
+ <h3>function 举例</h3>
+ <h4>1. 获取当前被选中的节点数据集合</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getSelectedNodes();
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.hideNode.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.hideNode.html index a1996b88..906be996 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.hideNode.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.hideNode.html @@ -1,29 +1,29 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeNode)</span><span class="path">zTreeObj.</span>hideNode</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exhide</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>隐藏某个节点。</p> - <p class="highlight_red">1、此功能不支持 exedit 扩展,因此不要在编辑状态时使用隐藏节点的方法。</p> - <p class="highlight_red">2、隐藏/显示节点,会影响节点的 isFirstNode 和 isLastNode 属性。</p> - <p class="highlight_red">3、请通过 zTree 对象执行此方法。</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeNode</b><span>JSON</span></h4> - <p>指定被隐藏的节点 JSON 数据</p> - <p class="highlight_red">请务必保证此节点数据对象 是 zTree 内部的数据对象</p> - <h4 class="topLine"><b>返回值</b><span>无</span></h4> - <p>目前无任何返回值</p> - </div> - <h3>function 举例</h3> - <h4>1. 隐藏根节点第一个节点</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getNodes(); -treeObj.hideNode(nodes[0]); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeNode)</span><span class="path">zTreeObj.</span>hideNode</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exhide</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>隐藏某个节点。</p>
+ <p class="highlight_red">1、此功能不支持 exedit 扩展,因此不要在编辑状态时使用隐藏节点的方法。</p>
+ <p class="highlight_red">2、隐藏/显示节点,会影响节点的 isFirstNode 和 isLastNode 属性。</p>
+ <p class="highlight_red">3、请通过 zTree 对象执行此方法。</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeNode</b><span>JSON</span></h4>
+ <p>指定被隐藏的节点 JSON 数据</p>
+ <p class="highlight_red">请务必保证此节点数据对象 是 zTree 内部的数据对象</p>
+ <h4 class="topLine"><b>返回值</b><span>无</span></h4>
+ <p>目前无任何返回值</p>
+ </div>
+ <h3>function 举例</h3>
+ <h4>1. 隐藏根节点第一个节点</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getNodes();
+treeObj.hideNode(nodes[0]);
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.hideNodes.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.hideNodes.html index cf752b50..ead34488 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.hideNodes.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.hideNodes.html @@ -1,29 +1,29 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeNodes)</span><span class="path">zTreeObj.</span>hideNodes</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exhide</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>隐藏一批节点。</p> - <p class="highlight_red">1、此功能不支持 exedit 扩展,因此不要在编辑状态时使用隐藏节点的方法。</p> - <p class="highlight_red">2、隐藏/显示节点,会影响节点的 isFirstNode 和 isLastNode 属性。</p> - <p class="highlight_red">3、请通过 zTree 对象执行此方法。</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeNodes</b><span>Array(JSON)</span></h4> - <p>指定被隐藏的节点 JSON 数据集合</p> - <p class="highlight_red">请务必保证这些节点数据对象 是 zTree 内部的数据对象</p> - <h4 class="topLine"><b>返回值</b><span>无</span></h4> - <p>目前无任何返回值</p> - </div> - <h3>function 举例</h3> - <h4>1. 隐藏根节点第一个节点的子节点</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getNodes(); -treeObj.hideNodes(nodes[0].children); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeNodes)</span><span class="path">zTreeObj.</span>hideNodes</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exhide</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>隐藏一批节点。</p>
+ <p class="highlight_red">1、此功能不支持 exedit 扩展,因此不要在编辑状态时使用隐藏节点的方法。</p>
+ <p class="highlight_red">2、隐藏/显示节点,会影响节点的 isFirstNode 和 isLastNode 属性。</p>
+ <p class="highlight_red">3、请通过 zTree 对象执行此方法。</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeNodes</b><span>Array(JSON)</span></h4>
+ <p>指定被隐藏的节点 JSON 数据集合</p>
+ <p class="highlight_red">请务必保证这些节点数据对象 是 zTree 内部的数据对象</p>
+ <h4 class="topLine"><b>返回值</b><span>无</span></h4>
+ <p>目前无任何返回值</p>
+ </div>
+ <h3>function 举例</h3>
+ <h4>1. 隐藏根节点第一个节点的子节点</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getNodes();
+treeObj.hideNodes(nodes[0].children);
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.moveNode.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.moveNode.html index 9c9180b9..5418792c 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.moveNode.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.moveNode.html @@ -1,46 +1,46 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(targetNode, treeNode, moveType, isSilent)</span><span class="path">zTreeObj.</span>moveNode</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>移动节点。</p> - <p class="highlight_red">请通过 zTree 对象执行此方法。</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>targetNode</b><span>JSON</span></h4> - <p>要移动到的目标节点 JSON 数据</p> - <p class="highlight_red">如果移动成为根节点,请设置 targetNode 为 null 即可</p> - <p class="highlight_red">请务必保证此节点数据对象 是 zTree 内部的数据对象</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>需要被移动的节点数据</p> - <p class="highlight_red">请务必保证此节点数据对象 是 zTree 内部的数据对象</p> - <h4 class="topLine"><b>moveType</b><span>String</span></h4> - <p>指定移动到目标节点的相对位置</p> - <p class="highlight_red">"inner":成为子节点,"prev":成为同级前一个节点,"next":成为同级后一个节点</p> - <h4 class="topLine"><b>isSilent</b><span>Boolean</span></h4> - <p>设定移动节点后是否自动展开父节点。</p> - <p>isSilent = true 时,不展开父节点,其他值或缺省状态都自动展开。</p> - <h4 class="topLine"><b>返回值</b><span>JSON</span></h4> - <p>返回值是最终被移动的节点数据,正常情况下与 treeNode 参数完全相同</p> - <p class="highlight_red">如果 返回值 为 null,说明 移动失败,主要原因有:<br/> - 1、targetNode 是 treeNode 父节点,且 moveType = "inner"<br/> - 2、targetNode 是 treeNode 子孙节点 - </p> - </div> - <h3>function 举例</h3> - <h4>1. 将根节点中第二个节点 移动成为 第一个节点的子节点</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getNodes(); -treeObj.moveNode(nodes[0], nodes[1], "inner"); -</code></pre> - <h4>2. 将根节点中第二个节点 移动成为 第一个节点的前一个节点</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getNodes(); -treeObj.moveNode(nodes[0], nodes[1], "prev"); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(targetNode, treeNode, moveType, isSilent)</span><span class="path">zTreeObj.</span>moveNode</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>移动节点。</p>
+ <p class="highlight_red">请通过 zTree 对象执行此方法。</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>targetNode</b><span>JSON</span></h4>
+ <p>要移动到的目标节点 JSON 数据</p>
+ <p class="highlight_red">如果移动成为根节点,请设置 targetNode 为 null 即可</p>
+ <p class="highlight_red">请务必保证此节点数据对象 是 zTree 内部的数据对象</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>需要被移动的节点数据</p>
+ <p class="highlight_red">请务必保证此节点数据对象 是 zTree 内部的数据对象</p>
+ <h4 class="topLine"><b>moveType</b><span>String</span></h4>
+ <p>指定移动到目标节点的相对位置</p>
+ <p class="highlight_red">"inner":成为子节点,"prev":成为同级前一个节点,"next":成为同级后一个节点</p>
+ <h4 class="topLine"><b>isSilent</b><span>Boolean</span></h4>
+ <p>设定移动节点后是否自动展开父节点。</p>
+ <p>isSilent = true 时,不展开父节点,其他值或缺省状态都自动展开。</p>
+ <h4 class="topLine"><b>返回值</b><span>JSON</span></h4>
+ <p>返回值是最终被移动的节点数据,正常情况下与 treeNode 参数完全相同</p>
+ <p class="highlight_red">如果 返回值 为 null,说明 移动失败,主要原因有:<br/>
+ 1、targetNode 是 treeNode 父节点,且 moveType = "inner"<br/>
+ 2、targetNode 是 treeNode 子孙节点
+ </p>
+ </div>
+ <h3>function 举例</h3>
+ <h4>1. 将根节点中第二个节点 移动成为 第一个节点的子节点</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getNodes();
+treeObj.moveNode(nodes[0], nodes[1], "inner");
+</code></pre>
+ <h4>2. 将根节点中第二个节点 移动成为 第一个节点的前一个节点</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getNodes();
+treeObj.moveNode(nodes[0], nodes[1], "prev");
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.reAsyncChildNodes.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.reAsyncChildNodes.html index 4a354e2f..2c38b7b9 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.reAsyncChildNodes.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.reAsyncChildNodes.html @@ -1,42 +1,42 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(parentNode, reloadType, isSilent)</span><span class="path">zTreeObj.</span>reAsyncChildNodes</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>强行异步加载父节点的子节点。<span class="highlight_red">[setting.async.enable = true 时有效]</span></p> - <p class="highlight_red">已经加载过的父节点可反复使用此方法重新加载。</p> - <p class="highlight_red">请通过 zTree 对象执行此方法。</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>parentNode</b><span>JSON</span></h4> - <p>指定需要异步加载的父节点 JSON 数据</p> - <p class="highlight_red">1、parentNode = null 时,相当于从根节点 Root 进行异步加载</p> - <p class="highlight_red">2、parentNode.isParent = false 时,不进行异步加载</p> - <p class="highlight_red">3、请务必保证此节点数据对象 是 zTree 内部的数据对象</p> - <h4 class="topLine"><b>reloadType</b><span>String</span></h4> - <p>reloadType = "refresh" 表示清空后重新加载。</p> - <p>reloadType != "refresh" 时,表示追加子节点处理。</p> - <h4 class="topLine"><b>isSilent</b><span>Boolean</span></h4> - <p>设定异步加载后是否自动展开父节点。</p> - <p>isSilent = true 时,不展开父节点,其他值或缺省状态都自动展开。</p> - <h4 class="topLine"><b>返回值</b><span>无</span></h4> - <p>目前无任何返回值</p> - </div> - <h3>function 举例</h3> - <h4>1. 重新异步加载 zTree </h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -treeObj.reAsyncChildNodes(null, "refresh"); -</code></pre> - <h4>2. 重新异步加载当前选中的第一个节点</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getSelectedNodes(); -if (nodes.length>0) { - treeObj.reAsyncChildNodes(nodes[0], "refresh"); -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(parentNode, reloadType, isSilent)</span><span class="path">zTreeObj.</span>reAsyncChildNodes</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>强行异步加载父节点的子节点。<span class="highlight_red">[setting.async.enable = true 时有效]</span></p>
+ <p class="highlight_red">已经加载过的父节点可反复使用此方法重新加载。</p>
+ <p class="highlight_red">请通过 zTree 对象执行此方法。</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>parentNode</b><span>JSON</span></h4>
+ <p>指定需要异步加载的父节点 JSON 数据</p>
+ <p class="highlight_red">1、parentNode = null 时,相当于从根节点 Root 进行异步加载</p>
+ <p class="highlight_red">2、parentNode.isParent = false 时,不进行异步加载</p>
+ <p class="highlight_red">3、请务必保证此节点数据对象 是 zTree 内部的数据对象</p>
+ <h4 class="topLine"><b>reloadType</b><span>String</span></h4>
+ <p>reloadType = "refresh" 表示清空后重新加载。</p>
+ <p>reloadType != "refresh" 时,表示追加子节点处理。</p>
+ <h4 class="topLine"><b>isSilent</b><span>Boolean</span></h4>
+ <p>设定异步加载后是否自动展开父节点。</p>
+ <p>isSilent = true 时,不展开父节点,其他值或缺省状态都自动展开。</p>
+ <h4 class="topLine"><b>返回值</b><span>无</span></h4>
+ <p>目前无任何返回值</p>
+ </div>
+ <h3>function 举例</h3>
+ <h4>1. 重新异步加载 zTree </h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+treeObj.reAsyncChildNodes(null, "refresh");
+</code></pre>
+ <h4>2. 重新异步加载当前选中的第一个节点</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getSelectedNodes();
+if (nodes.length>0) {
+ treeObj.reAsyncChildNodes(nodes[0], "refresh");
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.refresh.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.refresh.html index 09a74ca3..d072782b 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.refresh.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.refresh.html @@ -1,24 +1,24 @@ -<div class="apiDetail"> -<div> - <h2><span>Function()</span><span class="path">zTreeObj.</span>refresh</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>刷新 zTree 。</p> - <p class="highlight_red">没有特殊必要,尽量不要使用此方法。单个节点更新请使用 updateNode 方法,异步加载模式下请使用 reAsyncChildNodes 方法。</p> - <p class="highlight_red">请通过 zTree 对象执行此方法。</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>返回值</b><span>无</span></h4> - <p>目前无任何返回值</p> - </div> - <h3>function 举例</h3> - <h4>1. 刷新 zTree </h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -treeObj.refresh(); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function()</span><span class="path">zTreeObj.</span>refresh</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>刷新 zTree 。</p>
+ <p class="highlight_red">没有特殊必要,尽量不要使用此方法。单个节点更新请使用 updateNode 方法,异步加载模式下请使用 reAsyncChildNodes 方法。</p>
+ <p class="highlight_red">请通过 zTree 对象执行此方法。</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>返回值</b><span>无</span></h4>
+ <p>目前无任何返回值</p>
+ </div>
+ <h3>function 举例</h3>
+ <h4>1. 刷新 zTree </h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+treeObj.refresh();
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.removeChildNodes.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.removeChildNodes.html index 588639fb..0a40775c 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.removeChildNodes.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.removeChildNodes.html @@ -1,32 +1,32 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(parentNode)</span><span class="path">zTreeObj.</span>removeChildNodes</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>清空某父节点的子节点。</p> - <p class="highlight_red">1、清空子节点后,父节点会自动变为叶子节点,如需要父节点保持父节点状态,请设置 setting.data.keep.parent 属性。</p> - <p class="highlight_red">2、请勿用此方法清空根节点,如果需要清空根节点,直接初始化 zTree,并且设置初始节点为 null 即可。</p> - <p class="highlight_red">3、此方法不会触发任何事件回调函数。</p> - <p class="highlight_red">请通过 zTree 对象执行此方法。</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>parentNode</b><span>JSON</span></h4> - <p>需要清空子节点的父节点数据</p> - <p class="highlight_red">请务必保证此节点数据对象 是 zTree 内部的数据对象</p> - <h4 class="topLine"><b>返回值</b><span>Array(JSON)</span></h4> - <p>将该父节点的子节点数据返回,如果不存在则返回 null</p> - </div> - <h3>function 举例</h3> - <h4>1. 清空选中的第一个节点的子节点</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getSelectedNodes(); -if (nodes && nodes.length>0) { - treeObj.removeChildNodes(nodes[0]); -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(parentNode)</span><span class="path">zTreeObj.</span>removeChildNodes</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>清空某父节点的子节点。</p>
+ <p class="highlight_red">1、清空子节点后,父节点会自动变为叶子节点,如需要父节点保持父节点状态,请设置 setting.data.keep.parent 属性。</p>
+ <p class="highlight_red">2、请勿用此方法清空根节点,如果需要清空根节点,直接初始化 zTree,并且设置初始节点为 null 即可。</p>
+ <p class="highlight_red">3、此方法不会触发任何事件回调函数。</p>
+ <p class="highlight_red">请通过 zTree 对象执行此方法。</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>parentNode</b><span>JSON</span></h4>
+ <p>需要清空子节点的父节点数据</p>
+ <p class="highlight_red">请务必保证此节点数据对象 是 zTree 内部的数据对象</p>
+ <h4 class="topLine"><b>返回值</b><span>Array(JSON)</span></h4>
+ <p>将该父节点的子节点数据返回,如果不存在则返回 null</p>
+ </div>
+ <h3>function 举例</h3>
+ <h4>1. 清空选中的第一个节点的子节点</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getSelectedNodes();
+if (nodes && nodes.length>0) {
+ treeObj.removeChildNodes(nodes[0]);
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.removeNode.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.removeNode.html index 442f5c7e..62e216ce 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.removeNode.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.removeNode.html @@ -1,34 +1,34 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeNode, callbackFlag)</span><span class="path">zTreeObj.</span>removeNode</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>删除节点。</p> - <p class="highlight_red">v3.x 中删除节点可以触发 beforeRemove / onRemove 事件回调函数。便于减少冗余代码</p> - <p class="highlight_red">请通过 zTree 对象执行此方法。</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeNode</b><span>JSON</span></h4> - <p>需要被删除的节点数据</p> - <p class="highlight_red">请务必保证此节点数据对象 是 zTree 内部的数据对象</p> - <h4 class="topLine"><b>callbackFlag</b><span>Boolean</span></h4> - <p>callbackFlag = true 表示执行此方法时触发 beforeRemove & onRemove 事件回调函数</p> - <p>callbackFlag = false 表示执行此方法时不触发事件回调函数</p> - <p class="highlight_red">省略此参数,等同于 false</p> - <h4 class="topLine"><b>返回值</b><span>无</span></h4> - <p>目前无任何返回值</p> - </div> - <h3>function 举例</h3> - <h4>1. 删除所有选中的节点</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getSelectedNodes(); -for (var i=0, l=nodes.length; i < l; i++) { - treeObj.removeNode(nodes[i]); -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeNode, callbackFlag)</span><span class="path">zTreeObj.</span>removeNode</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>删除节点。</p>
+ <p class="highlight_red">v3.x 中删除节点可以触发 beforeRemove / onRemove 事件回调函数。便于减少冗余代码</p>
+ <p class="highlight_red">请通过 zTree 对象执行此方法。</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeNode</b><span>JSON</span></h4>
+ <p>需要被删除的节点数据</p>
+ <p class="highlight_red">请务必保证此节点数据对象 是 zTree 内部的数据对象</p>
+ <h4 class="topLine"><b>callbackFlag</b><span>Boolean</span></h4>
+ <p>callbackFlag = true 表示执行此方法时触发 beforeRemove & onRemove 事件回调函数</p>
+ <p>callbackFlag = false 表示执行此方法时不触发事件回调函数</p>
+ <p class="highlight_red">省略此参数,等同于 false</p>
+ <h4 class="topLine"><b>返回值</b><span>无</span></h4>
+ <p>目前无任何返回值</p>
+ </div>
+ <h3>function 举例</h3>
+ <h4>1. 删除所有选中的节点</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getSelectedNodes();
+for (var i=0, l=nodes.length; i < l; i++) {
+ treeObj.removeNode(nodes[i]);
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.selectNode.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.selectNode.html index 6e80d813..948fe3ae 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.selectNode.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.selectNode.html @@ -1,34 +1,34 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeNode, addFlag)</span><span class="path">zTreeObj.</span>selectNode</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>选中指定节点</p> - <p class="highlight_red">v3.x 支持同时选中多个节点。</p> - <p class="highlight_red">请通过 zTree 对象执行此方法。</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeNode</b><span>JSON</span></h4> - <p>需要被选中的节点数据</p> - <p class="highlight_red">请务必保证此节点数据对象 是 zTree 内部的数据对象</p> - <h4 class="topLine"><b>addFlag</b><span>Boolean</span></h4> - <p>addFlag = true 表示追加选中,会出现多点同时被选中的情况</p> - <p>addFlag = false 表示单独选中,原先被选中的节点会被取消选中状态</p> - <p class="highlight_red">setting.view.selectedMulti = false 时,此参数无效,始终进行单独选中</p> - <h4 class="topLine"><b>返回值</b><span>无</span></h4> - <p>目前无任何返回值</p> - </div> - <h3>function 举例</h3> - <h4>1. 单独选中根节点中第一个节点</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getNodes(); -if (nodes.length>0) { - treeObj.selectNode(nodes[0]); -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeNode, addFlag)</span><span class="path">zTreeObj.</span>selectNode</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>选中指定节点</p>
+ <p class="highlight_red">v3.x 支持同时选中多个节点。</p>
+ <p class="highlight_red">请通过 zTree 对象执行此方法。</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeNode</b><span>JSON</span></h4>
+ <p>需要被选中的节点数据</p>
+ <p class="highlight_red">请务必保证此节点数据对象 是 zTree 内部的数据对象</p>
+ <h4 class="topLine"><b>addFlag</b><span>Boolean</span></h4>
+ <p>addFlag = true 表示追加选中,会出现多点同时被选中的情况</p>
+ <p>addFlag = false 表示单独选中,原先被选中的节点会被取消选中状态</p>
+ <p class="highlight_red">setting.view.selectedMulti = false 时,此参数无效,始终进行单独选中</p>
+ <h4 class="topLine"><b>返回值</b><span>无</span></h4>
+ <p>目前无任何返回值</p>
+ </div>
+ <h3>function 举例</h3>
+ <h4>1. 单独选中根节点中第一个节点</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getNodes();
+if (nodes.length>0) {
+ treeObj.selectNode(nodes[0]);
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.setChkDisabled.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.setChkDisabled.html index b042ab43..cd4399aa 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.setChkDisabled.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.setChkDisabled.html @@ -1,44 +1,44 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(node, disabled, inheritParent, inheritChildren)</span><span class="path">zTreeObj.</span>setChkDisabled</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>禁用 或 解禁 某个节点的 checkbox / radio <span class="highlight_red">[setting.check.enable = true 时有效]</span></p> - <p class="highlight_red">1、节点的 checkbox / radio 被禁用后,无法勾选或取消勾选,但能够影响父节点的半选状态</p> - <p class="highlight_red">2、请不要直接修改已加载节点的 treeNode.chkDisabled 属性。</p> - <p class="highlight_red">3、请通过 zTree 对象执行此方法。</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeNode</b><span>JSON</span></h4> - <p>需要禁用 或 解禁 checkbox / radio 的节点数据</p> - <p class="highlight_red">请务必保证此节点数据对象 是 zTree 内部的数据对象</p> - <h4 class="topLine"><b>disabled</b><span>Boolean</span></h4> - <p>disabled = true 表示禁用 checkbox / radio</p> - <p>disabled = false 表示解禁 checkbox / radio</p> - <p class="highlight_red">省略此参数,等同于 disabled = false </p> - <p class="highlight_red">不影响 treeNode.nochecked = true 的节点。</p> - <h4 class="topLine"><b>inheritParent</b><span>Boolean</span></h4> - <p>inheritParent = true 表示全部父节点进行同样的操作</p> - <p>inheritParent = false 表示不影响父节点</p> - <p class="highlight_red">省略此参数,等同于 inheritParent = false </p> - <h4 class="topLine"><b>inheritChildren</b><span>Boolean</span></h4> - <p>inheritChildren = true 表示全部子节点进行同样的操作</p> - <p>inheritChildren = false 表示不影响子节点</p> - <p class="highlight_red">省略此参数,等同于 inheritChildren = false </p> - <h4 class="topLine"><b>返回值</b><span>无</span></h4> - <p>目前无任何返回值</p> - </div> - <h3>function 举例</h3> - <h4>1. 禁用当前选中的节点的 checkbox / radio</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getSelectedNodes(); -for (var i=0, l=nodes.length; i < l; i++) { - treeObj.setChkDisabled(nodes[i], true); -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(node, disabled, inheritParent, inheritChildren)</span><span class="path">zTreeObj.</span>setChkDisabled</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.excheck</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>禁用 或 解禁 某个节点的 checkbox / radio <span class="highlight_red">[setting.check.enable = true 时有效]</span></p>
+ <p class="highlight_red">1、节点的 checkbox / radio 被禁用后,无法勾选或取消勾选,但能够影响父节点的半选状态</p>
+ <p class="highlight_red">2、请不要直接修改已加载节点的 treeNode.chkDisabled 属性。</p>
+ <p class="highlight_red">3、请通过 zTree 对象执行此方法。</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeNode</b><span>JSON</span></h4>
+ <p>需要禁用 或 解禁 checkbox / radio 的节点数据</p>
+ <p class="highlight_red">请务必保证此节点数据对象 是 zTree 内部的数据对象</p>
+ <h4 class="topLine"><b>disabled</b><span>Boolean</span></h4>
+ <p>disabled = true 表示禁用 checkbox / radio</p>
+ <p>disabled = false 表示解禁 checkbox / radio</p>
+ <p class="highlight_red">省略此参数,等同于 disabled = false </p>
+ <p class="highlight_red">不影响 treeNode.nochecked = true 的节点。</p>
+ <h4 class="topLine"><b>inheritParent</b><span>Boolean</span></h4>
+ <p>inheritParent = true 表示全部父节点进行同样的操作</p>
+ <p>inheritParent = false 表示不影响父节点</p>
+ <p class="highlight_red">省略此参数,等同于 inheritParent = false </p>
+ <h4 class="topLine"><b>inheritChildren</b><span>Boolean</span></h4>
+ <p>inheritChildren = true 表示全部子节点进行同样的操作</p>
+ <p>inheritChildren = false 表示不影响子节点</p>
+ <p class="highlight_red">省略此参数,等同于 inheritChildren = false </p>
+ <h4 class="topLine"><b>返回值</b><span>无</span></h4>
+ <p>目前无任何返回值</p>
+ </div>
+ <h3>function 举例</h3>
+ <h4>1. 禁用当前选中的节点的 checkbox / radio</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getSelectedNodes();
+for (var i=0, l=nodes.length; i < l; i++) {
+ treeObj.setChkDisabled(nodes[i], true);
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.setEditable.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.setEditable.html index c90c8de6..7fc73dca 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.setEditable.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.setEditable.html @@ -1,27 +1,27 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(editable)</span><span class="path">zTreeObj.</span>setEditable</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>设置 zTree 进入 / 取消 编辑状态。</p> - <p class="highlight_red">对于编辑状态的各种功能需要提前设置对应 setting 中的不同属性</p> - <p class="highlight_red">请通过 zTree 对象执行此方法。</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>editable</b><span>Boolean</span></h4> - <p>true 表示进入 编辑状态</p> - <p>false 表示取消 编辑状态</p> - <h4 class="topLine"><b>返回值</b><span>无</span></h4> - <p>目前无任何返回值</p> - </div> - <h3>function 举例</h3> - <h4>1. 设置 zTree 进入编辑状态</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -treeObj.setEditable(true); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(editable)</span><span class="path">zTreeObj.</span>setEditable</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exedit</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>设置 zTree 进入 / 取消 编辑状态。</p>
+ <p class="highlight_red">对于编辑状态的各种功能需要提前设置对应 setting 中的不同属性</p>
+ <p class="highlight_red">请通过 zTree 对象执行此方法。</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>editable</b><span>Boolean</span></h4>
+ <p>true 表示进入 编辑状态</p>
+ <p>false 表示取消 编辑状态</p>
+ <h4 class="topLine"><b>返回值</b><span>无</span></h4>
+ <p>目前无任何返回值</p>
+ </div>
+ <h3>function 举例</h3>
+ <h4>1. 设置 zTree 进入编辑状态</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+treeObj.setEditable(true);
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.setting.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.setting.html index 61abd531..670f52f7 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.setting.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.setting.html @@ -1,13 +1,13 @@ -<div class="apiDetail"> -<div> - <h2><span>JSON</span><span class="path">zTreeObj.</span>setting</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>zTree 对象使用的 setting 配置数据,详细请参考 “setting 配置详解”中的各个属性详细说明</p> - <p class="highlight_red">v3.x 取消了原先操作 setting 的方法,让用户可以较自由的修改参数,但请注意,对于 zTree 初始化有影响的参数后期修改是不会起作用的,请对各个属性有较深入的了解以后再考虑进行修改。</p> - </div> - </div> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>JSON</span><span class="path">zTreeObj.</span>setting</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>zTree 对象使用的 setting 配置数据,详细请参考 “setting 配置详解”中的各个属性详细说明</p>
+ <p class="highlight_red">v3.x 取消了原先操作 setting 的方法,让用户可以较自由的修改参数,但请注意,对于 zTree 初始化有影响的参数后期修改是不会起作用的,请对各个属性有较深入的了解以后再考虑进行修改。</p>
+ </div>
+ </div>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.showNode.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.showNode.html index ed22d510..d7aca0a4 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.showNode.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.showNode.html @@ -1,31 +1,31 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeNode)</span><span class="path">zTreeObj.</span>showNode</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exhide</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>显示某个被隐藏的节点。</p> - <p class="highlight_red">1、此功能不支持 exedit 扩展,因此不要在编辑状态时使用隐藏节点的方法。</p> - <p class="highlight_red">2、隐藏/显示节点,会影响节点的 isFirstNode 和 isLastNode 属性。</p> - <p class="highlight_red">3、请通过 zTree 对象执行此方法。</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeNode</b><span>JSON</span></h4> - <p>指定被显示的节点 JSON 数据</p> - <p class="highlight_red">请务必保证此节点数据对象 是 zTree 内部的数据对象</p> - <h4 class="topLine"><b>返回值</b><span>无</span></h4> - <p>目前无任何返回值</p> - </div> - <h3>function 举例</h3> - <h4>1. 显示某个隐藏的节点</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var node = treeObj.getNodeByParam("isHidden", true); -if (node) { - treeObj.showNode(node); -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeNode)</span><span class="path">zTreeObj.</span>showNode</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exhide</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>显示某个被隐藏的节点。</p>
+ <p class="highlight_red">1、此功能不支持 exedit 扩展,因此不要在编辑状态时使用隐藏节点的方法。</p>
+ <p class="highlight_red">2、隐藏/显示节点,会影响节点的 isFirstNode 和 isLastNode 属性。</p>
+ <p class="highlight_red">3、请通过 zTree 对象执行此方法。</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeNode</b><span>JSON</span></h4>
+ <p>指定被显示的节点 JSON 数据</p>
+ <p class="highlight_red">请务必保证此节点数据对象 是 zTree 内部的数据对象</p>
+ <h4 class="topLine"><b>返回值</b><span>无</span></h4>
+ <p>目前无任何返回值</p>
+ </div>
+ <h3>function 举例</h3>
+ <h4>1. 显示某个隐藏的节点</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var node = treeObj.getNodeByParam("isHidden", true);
+if (node) {
+ treeObj.showNode(node);
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.showNodes.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.showNodes.html index b0906574..0eb55fff 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.showNodes.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.showNodes.html @@ -1,29 +1,29 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeNodes)</span><span class="path">zTreeObj.</span>showNodes</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exhide</span> 扩展 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>显示一批已经被隐藏的节点。</p> - <p class="highlight_red">1、此功能不支持 exedit 扩展,因此不要在编辑状态时使用隐藏节点的方法。</p> - <p class="highlight_red">2、隐藏/显示节点,会影响节点的 isFirstNode 和 isLastNode 属性。</p> - <p class="highlight_red">3、请通过 zTree 对象执行此方法。</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeNodes</b><span>Array(JSON)</span></h4> - <p>指定被显示的节点 JSON 数据集合</p> - <p class="highlight_red">请务必保证这些节点数据对象 是 zTree 内部的数据对象</p> - <h4 class="topLine"><b>返回值</b><span>无</span></h4> - <p>目前无任何返回值</p> - </div> - <h3>function 举例</h3> - <h4>1. 显示全部隐藏的节点</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getNodesByParam("isHidden", true); -treeObj.showNodes(nodes); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeNodes)</span><span class="path">zTreeObj.</span>showNodes</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.exhide</span> 扩展 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>显示一批已经被隐藏的节点。</p>
+ <p class="highlight_red">1、此功能不支持 exedit 扩展,因此不要在编辑状态时使用隐藏节点的方法。</p>
+ <p class="highlight_red">2、隐藏/显示节点,会影响节点的 isFirstNode 和 isLastNode 属性。</p>
+ <p class="highlight_red">3、请通过 zTree 对象执行此方法。</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeNodes</b><span>Array(JSON)</span></h4>
+ <p>指定被显示的节点 JSON 数据集合</p>
+ <p class="highlight_red">请务必保证这些节点数据对象 是 zTree 内部的数据对象</p>
+ <h4 class="topLine"><b>返回值</b><span>无</span></h4>
+ <p>目前无任何返回值</p>
+ </div>
+ <h3>function 举例</h3>
+ <h4>1. 显示全部隐藏的节点</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getNodesByParam("isHidden", true);
+treeObj.showNodes(nodes);
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.transformToArray.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.transformToArray.html index a46dc61e..9f4bb0ca 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.transformToArray.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.transformToArray.html @@ -1,25 +1,25 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeNodes)</span><span class="path">zTreeObj.</span>transformToArray</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>将 zTree 使用的标准 JSON 嵌套格式的数据转换为简单 Array 格式。(免去用户自行编写递归遍历全部节点的麻烦)</p> - <p class="highlight_red">请通过 zTree 对象执行此方法。</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeNodes</b><span>Array(JSON) / JSON</span></h4> - <p>需要被转换的 zTree 节点数据对象集合 或 某个单独节点的数据对象</p> - <h4 class="topLine"><b>返回值</b><span>Array(JSON)</span></h4> - <p>转换后的简单 Array 数据格式</p> - </div> - <h3>function 举例</h3> - <h4>1. 将 zTree 节点数据转换为简单 Array 格式</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.transformToArray(treeObj.getNodes()); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeNodes)</span><span class="path">zTreeObj.</span>transformToArray</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>将 zTree 使用的标准 JSON 嵌套格式的数据转换为简单 Array 格式。(免去用户自行编写递归遍历全部节点的麻烦)</p>
+ <p class="highlight_red">请通过 zTree 对象执行此方法。</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeNodes</b><span>Array(JSON) / JSON</span></h4>
+ <p>需要被转换的 zTree 节点数据对象集合 或 某个单独节点的数据对象</p>
+ <h4 class="topLine"><b>返回值</b><span>Array(JSON)</span></h4>
+ <p>转换后的简单 Array 数据格式</p>
+ </div>
+ <h3>function 举例</h3>
+ <h4>1. 将 zTree 节点数据转换为简单 Array 格式</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.transformToArray(treeObj.getNodes());
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.transformTozTreeNodes.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.transformTozTreeNodes.html index 8a527704..c33bdf27 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.transformTozTreeNodes.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.transformTozTreeNodes.html @@ -1,43 +1,43 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(simpleNodes)</span><span class="path">zTreeObj.</span>transformTozTreeNodes</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>将简单 Array 格式数据转换为 zTree 使用的标准 JSON 嵌套数据格式。</p> - <p class="highlight_red">使用此方法,请务必设置节点唯一标识属性名称 setting.data.simpleData.idKey 和 父节点唯一标识属性名称 setting.data.simpleData.pIdKey,并且让数据满足父子关系。</p> - <p class="highlight_red">请通过 zTree 对象执行此方法。</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>simpleNodes</b><span>Array(JSON) / JSON</span></h4> - <p>需要被转换的简单 Array 格式数据 或 某个单独的数据对象</p> - <h4 class="topLine"><b>返回值</b><span>Array(JSON)</span></h4> - <p>zTree 使用的标准数据,子节点都存在于父节点数据的 children 属性中</p> - <p class="highlight_red">如果 simpleNodes 是一个 JSON 对象,则被简单封装成长度为 1 的数组。</p> - </div> - <h3>function 举例</h3> - <h4>1. 将简单 Array 格式转换为zTree使用的标准格式</h4> - <pre xmlns=""><code>var setting = { - data: { - simpleData: { - enable: true, - idKey: "id", - pIdKey: "pId", - rootPId: 0, - } - } -}; -var simpleNodes = [ - {"id":1, "pId":0, "name":"test1"}, - {"id":11, "pId":1, "name":"test11"}, - {"id":12, "pId":1, "name":"test12"}, - {"id":111, "pId":11, "name":"test111"} -]; -var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.transformTozTreeNodes(simpleNodes); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(simpleNodes)</span><span class="path">zTreeObj.</span>transformTozTreeNodes</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>将简单 Array 格式数据转换为 zTree 使用的标准 JSON 嵌套数据格式。</p>
+ <p class="highlight_red">使用此方法,请务必设置节点唯一标识属性名称 setting.data.simpleData.idKey 和 父节点唯一标识属性名称 setting.data.simpleData.pIdKey,并且让数据满足父子关系。</p>
+ <p class="highlight_red">请通过 zTree 对象执行此方法。</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>simpleNodes</b><span>Array(JSON) / JSON</span></h4>
+ <p>需要被转换的简单 Array 格式数据 或 某个单独的数据对象</p>
+ <h4 class="topLine"><b>返回值</b><span>Array(JSON)</span></h4>
+ <p>zTree 使用的标准数据,子节点都存在于父节点数据的 children 属性中</p>
+ <p class="highlight_red">如果 simpleNodes 是一个 JSON 对象,则被简单封装成长度为 1 的数组。</p>
+ </div>
+ <h3>function 举例</h3>
+ <h4>1. 将简单 Array 格式转换为zTree使用的标准格式</h4>
+ <pre xmlns=""><code>var setting = {
+ data: {
+ simpleData: {
+ enable: true,
+ idKey: "id",
+ pIdKey: "pId",
+ rootPId: 0,
+ }
+ }
+};
+var simpleNodes = [
+ {"id":1, "pId":0, "name":"test1"},
+ {"id":11, "pId":1, "name":"test11"},
+ {"id":12, "pId":1, "name":"test12"},
+ {"id":111, "pId":11, "name":"test111"}
+];
+var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.transformTozTreeNodes(simpleNodes);
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.updateNode.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.updateNode.html index 847fa6ee..2b4041d8 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.updateNode.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/cn/zTreeObj.updateNode.html @@ -1,37 +1,37 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeNode, checkTypeFlag)</span><span class="path">zTreeObj.</span>updateNode</h2> - <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>更新某节点数据,主要用于该节点显示属性的更新。</p> - <p class="highlight_red">1、可针对 name、target、 url、icon、 iconSkin、checked、nocheck 等这几个用于显示效果的参数进行更新,其他用于 zTreeNodes 的参数请不要随意更新,对于展开节点,还请调用 expandNode方法,因此请勿随意修改 open 属性。</p> - <p class="highlight_red">2、用此方法修改 checked 勾选状态不会触发 beforeCheck / onCheck 事件回调函数。</p> - <p class="highlight_red">请通过 zTree 对象执行此方法。</p> - </div> - </div> - <h3>Function 参数说明</h3> - <div class="desc"> - <h4><b>treeNode</b><span>JSON</span></h4> - <p>指定需要更新的节点 JSON 数据</p> - <p class="highlight_red">请务必保证此节点数据对象 是 zTree 内部的数据对象</p> - <h4 class="topLine"><b>checkTypeFlag</b><span>Boolean</span></h4> - <p>checkTypeFlag = true 表示按照 setting.check.chkboxType 属性进行父子节点的勾选联动操作</p> - <p>checkTypeFlag = false 表示只修改此节点勾选状态,无任何勾选联动操作</p> - <p class="highlight_red">当 setting.check.enable = true 且 setting.check.chkStyle = "checkbox" 时才有效</p> - <p class="highlight_red">不影响父子节点中 treeNode.nochecked = true 的节点。</p> - <h4 class="topLine"><b>返回值</b><span>无</span></h4> - <p>目前无任何返回值</p> - </div> - <h3>function 举例</h3> - <h4>1. 更新根节点中第一个节点的名称</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getNodes(); -if (nodes.length>0) { - nodes[0].name = "test"; - treeObj.updateNode(nodes[0]); -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeNode, checkTypeFlag)</span><span class="path">zTreeObj.</span>updateNode</h2>
+ <h3>概述<span class="h3_info">[ 依赖 <span class="highlight_green">jquery.ztree.core</span> 核心 js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>更新某节点数据,主要用于该节点显示属性的更新。</p>
+ <p class="highlight_red">1、可针对 name、target、 url、icon、 iconSkin、checked、nocheck 等这几个用于显示效果的参数进行更新,其他用于 zTreeNodes 的参数请不要随意更新,对于展开节点,还请调用 expandNode方法,因此请勿随意修改 open 属性。</p>
+ <p class="highlight_red">2、用此方法修改 checked 勾选状态不会触发 beforeCheck / onCheck 事件回调函数。</p>
+ <p class="highlight_red">请通过 zTree 对象执行此方法。</p>
+ </div>
+ </div>
+ <h3>Function 参数说明</h3>
+ <div class="desc">
+ <h4><b>treeNode</b><span>JSON</span></h4>
+ <p>指定需要更新的节点 JSON 数据</p>
+ <p class="highlight_red">请务必保证此节点数据对象 是 zTree 内部的数据对象</p>
+ <h4 class="topLine"><b>checkTypeFlag</b><span>Boolean</span></h4>
+ <p>checkTypeFlag = true 表示按照 setting.check.chkboxType 属性进行父子节点的勾选联动操作</p>
+ <p>checkTypeFlag = false 表示只修改此节点勾选状态,无任何勾选联动操作</p>
+ <p class="highlight_red">当 setting.check.enable = true 且 setting.check.chkStyle = "checkbox" 时才有效</p>
+ <p class="highlight_red">不影响父子节点中 treeNode.nochecked = true 的节点。</p>
+ <h4 class="topLine"><b>返回值</b><span>无</span></h4>
+ <p>目前无任何返回值</p>
+ </div>
+ <h3>function 举例</h3>
+ <h4>1. 更新根节点中第一个节点的名称</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getNodes();
+if (nodes.length>0) {
+ nodes[0].name = "test";
+ treeObj.updateNode(nodes[0]);
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/fn.zTree._z.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/fn.zTree._z.html index 61da261d..e57cc6a3 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/fn.zTree._z.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/fn.zTree._z.html @@ -1,13 +1,13 @@ -<div class="apiDetail"> -<div> - <h2><span>JSON</span><span class="path">$.fn.zTree.</span>_z</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>All of the methods in zTree v3.x are available through the '$. fn.zTree._z' calls, open it for you to develop your own zTree plug-ins.</p> - <p class="highlight_red">If you have no special requirements, please don't use this object, and don't modify the methods in this object.</p> - </div> - </div> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>JSON</span><span class="path">$.fn.zTree.</span>_z</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>All of the methods in zTree v3.x are available through the '$. fn.zTree._z' calls, open it for you to develop your own zTree plug-ins.</p>
+ <p class="highlight_red">If you have no special requirements, please don't use this object, and don't modify the methods in this object.</p>
+ </div>
+ </div>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/fn.zTree.destroy.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/fn.zTree.destroy.html index 3a316999..ba59ee96 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/fn.zTree.destroy.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/fn.zTree.destroy.html @@ -1,28 +1,28 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeId)</span><span class="path">$.fn.zTree.</span>destroy</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>From zTree v3.4, zTree support the method for destruction.</p> - <p>1. This method can destroy the zTree with specify treeId, and can destroy all of the zTrees.</p> - <p class="highlight_red">2. If you want to destory some one zTree, you can use the 'zTreeObj.destroy()' method.</p> - <p class="highlight_red">3. If you want to use the tree which has been destroyed, you must use the 'init()' method at first.</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier</p> - <p class="highlight_red">If this parameter is omitted, then will destroy all of the zTrees.</p> - <h4 class="topLine"><b>Return </b><span>none</span></h4> - <p>no return value</p> - </div> - <h3>Examples of function</h3> - <h4>1. destroy the zTree which its id is 'treeDemo'</h4> - <pre xmlns=""><code>$.fn.zTree.destroy("treeDemo");</code></pre> - <h4>2. destroy all of the zTrees</h4> - <pre xmlns=""><code>$.fn.zTree.destroy();</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeId)</span><span class="path">$.fn.zTree.</span>destroy</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>From zTree v3.4, zTree support the method for destruction.</p>
+ <p>1. This method can destroy the zTree with specify treeId, and can destroy all of the zTrees.</p>
+ <p class="highlight_red">2. If you want to destory some one zTree, you can use the 'zTreeObj.destroy()' method.</p>
+ <p class="highlight_red">3. If you want to use the tree which has been destroyed, you must use the 'init()' method at first.</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier</p>
+ <p class="highlight_red">If this parameter is omitted, then will destroy all of the zTrees.</p>
+ <h4 class="topLine"><b>Return </b><span>none</span></h4>
+ <p>no return value</p>
+ </div>
+ <h3>Examples of function</h3>
+ <h4>1. destroy the zTree which its id is 'treeDemo'</h4>
+ <pre xmlns=""><code>$.fn.zTree.destroy("treeDemo");</code></pre>
+ <h4>2. destroy all of the zTrees</h4>
+ <pre xmlns=""><code>$.fn.zTree.destroy();</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/fn.zTree.getZTreeObj.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/fn.zTree.getZTreeObj.html index 2bc04476..8137a272 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/fn.zTree.getZTreeObj.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/fn.zTree.getZTreeObj.html @@ -1,25 +1,25 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeId)</span><span class="path">$.fn.zTree.</span>getZTreeObj</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>zTree v3.x specifically provide the method which can use the tree's Id to get zTree object.</p> - <p class="highlight_red">Please initialize zTree first, then you can use this method.</p> - <p>Users don't need to set the global variable to hold the zTree object, and all of the callback will return 'treeId' parameters, the user can always use this method to get the zTree object.</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier</p> - <h4 class="topLine"><b>Return </b><span>JSON</span></h4> - <p>zTree object</p> - <p>This object can provide the methods of operate the zTree</p> - </div> - <h3>Examples of function</h3> - <h4>1. Get the zTree object which id is 'tree'</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeId)</span><span class="path">$.fn.zTree.</span>getZTreeObj</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>zTree v3.x specifically provide the method which can use the tree's Id to get zTree object.</p>
+ <p class="highlight_red">Please initialize zTree first, then you can use this method.</p>
+ <p>Users don't need to set the global variable to hold the zTree object, and all of the callback will return 'treeId' parameters, the user can always use this method to get the zTree object.</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier</p>
+ <h4 class="topLine"><b>Return </b><span>JSON</span></h4>
+ <p>zTree object</p>
+ <p>This object can provide the methods of operate the zTree</p>
+ </div>
+ <h3>Examples of function</h3>
+ <h4>1. Get the zTree object which id is 'tree'</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/fn.zTree.init.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/fn.zTree.init.html index cf97d2bc..9a7e949f 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/fn.zTree.init.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/fn.zTree.init.html @@ -1,75 +1,75 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(obj, zSetting, zNodes)</span><span class="path">$.fn.zTree.</span>init</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>The method which used to create zTree.</p> - <p>1. The web page need to use W3C markup. For example: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"></p> - <p>2. Need to load jquery-1.4.2.js or other higher versions.</p> - <p>3. Need to load jquery-ztree.core-3.0.js. If you need to use the edit mode or checkbox / radio mode, you need to load jquery-ztree.exedit-3.0.js and jquery-ztree.excheck-3.0.js.</p> - <p>4. Need to load zTreeStyle.css and image files</p> - <p>5. If you need to use custom icons, please refer to the appropriate Demo.</p> - <p>6. Note: You need to set zTree container's class name to "ztree". If you need to change, don't forget to modify the css file. If you need other special styles, can modify the css file to their own needs.</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>object</b><span>jQuery Object</span></h4> - <p>DOM Container for zTree</p> - <h4 class="topLine"><b>zSetting</b><span>JSON</span></h4> - <p>zTree's configuration data, please refer to "setting details" in the API Document.</p> - <h4 class="topLine"><b>zNodes</b><span>Array(JSON) / JSON</span></h4> - <p>zTree's node data, please refer to "treeNode data details" in the API Document.</p> - <p class="highlight_red">1. zTree v3.x support to add single node, that is, if only to add one node, you can use JSON without using Array.</p> - <p class="highlight_red">2. If you need asynchronous load root nodes, can be set to null or [ ]</p> - <p class="highlight_red">3. If you use simple data mode, please refer to "setting.data.simpleData" in the API Document.</p> - <h4 class="topLine"><b>Return </b><span>JSON</span></h4> - <p>zTree object</p> - <p>This object can provide the methods of operate the zTree</p> - <p class="highlight_red">You can use $.fn.zTree.getZTreeObj method at any time to obtain.</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. create a simple tree</h4> - <pre xmlns=""><code><!DOCTYPE html> -<HTML> - <HEAD> - <TITLE> ZTREE DEMO </TITLE> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - <link rel="stylesheet" href="zTreeStyle/zTreeStyle.css" type="text/css"> - <script type="text/javascript" src="jquery-1.4.2.js"></script> - <script type="text/javascript" src="jquery.ztree.core-3.5.js"></script> -<!-- - <script type="text/javascript" src="jquery.ztree.excheck-3.5.js"></script> - <script type="text/javascript" src="jquery.ztree.exedit-3.5.js"></script> ---> - <SCRIPT type="text/javascript" > - var zTreeObj, - setting = { - view: { - selectedMulti: false - } - }, - zTreeNodes = [ - {"name":"Site Map", open:true, children: [ - { "name":"google", "url":"http://www.google.com", "target":"_blank"}, - { "name":"baidu", "url":"http://baidu.com", "target":"_blank"}, - { "name":"sina", "url":"http://www.sina.com.cn", "target":"_blank"} - ] - } - ]; - - $(document).ready(function(){ - zTreeObj = $.fn.zTree.init($("#tree"), setting, zTreeNodes); - - }); - </SCRIPT> - </HEAD> - -<BODY> -<ul id="tree" class="ztree" style="width:230px; overflow:auto;"></ul> - </BODY> -</HTML></code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(obj, zSetting, zNodes)</span><span class="path">$.fn.zTree.</span>init</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>The method which used to create zTree.</p>
+ <p>1. The web page need to use W3C markup. For example: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"></p>
+ <p>2. Need to load jquery-1.4.2.js or other higher versions.</p>
+ <p>3. Need to load jquery-ztree.core-3.0.js. If you need to use the edit mode or checkbox / radio mode, you need to load jquery-ztree.exedit-3.0.js and jquery-ztree.excheck-3.0.js.</p>
+ <p>4. Need to load zTreeStyle.css and image files</p>
+ <p>5. If you need to use custom icons, please refer to the appropriate Demo.</p>
+ <p>6. Note: You need to set zTree container's class name to "ztree". If you need to change, don't forget to modify the css file. If you need other special styles, can modify the css file to their own needs.</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>object</b><span>jQuery Object</span></h4>
+ <p>DOM Container for zTree</p>
+ <h4 class="topLine"><b>zSetting</b><span>JSON</span></h4>
+ <p>zTree's configuration data, please refer to "setting details" in the API Document.</p>
+ <h4 class="topLine"><b>zNodes</b><span>Array(JSON) / JSON</span></h4>
+ <p>zTree's node data, please refer to "treeNode data details" in the API Document.</p>
+ <p class="highlight_red">1. zTree v3.x support to add single node, that is, if only to add one node, you can use JSON without using Array.</p>
+ <p class="highlight_red">2. If you need asynchronous load root nodes, can be set to null or [ ]</p>
+ <p class="highlight_red">3. If you use simple data mode, please refer to "setting.data.simpleData" in the API Document.</p>
+ <h4 class="topLine"><b>Return </b><span>JSON</span></h4>
+ <p>zTree object</p>
+ <p>This object can provide the methods of operate the zTree</p>
+ <p class="highlight_red">You can use $.fn.zTree.getZTreeObj method at any time to obtain.</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. create a simple tree</h4>
+ <pre xmlns=""><code><!DOCTYPE html>
+<HTML>
+ <HEAD>
+ <TITLE> ZTREE DEMO </TITLE>
+ <meta http-equiv="content-type" content="text/html; charset=UTF-8">
+ <link rel="stylesheet" href="zTreeStyle/zTreeStyle.css" type="text/css">
+ <script type="text/javascript" src="jquery-1.4.2.js"></script>
+ <script type="text/javascript" src="jquery.ztree.core-3.5.js"></script>
+<!--
+ <script type="text/javascript" src="jquery.ztree.excheck-3.5.js"></script>
+ <script type="text/javascript" src="jquery.ztree.exedit-3.5.js"></script>
+-->
+ <SCRIPT type="text/javascript" >
+ var zTreeObj,
+ setting = {
+ view: {
+ selectedMulti: false
+ }
+ },
+ zTreeNodes = [
+ {"name":"Site Map", open:true, children: [
+ { "name":"google", "url":"http://www.google.com", "target":"_blank"},
+ { "name":"baidu", "url":"http://baidu.com", "target":"_blank"},
+ { "name":"sina", "url":"http://www.sina.com.cn", "target":"_blank"}
+ ]
+ }
+ ];
+
+ $(document).ready(function(){
+ zTreeObj = $.fn.zTree.init($("#tree"), setting, zTreeNodes);
+
+ });
+ </SCRIPT>
+ </HEAD>
+
+<BODY>
+<ul id="tree" class="ztree" style="width:230px; overflow:auto;"></ul>
+ </BODY>
+</HTML></code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.async.autoParam.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.async.autoParam.html index 85cd4691..83132893 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.async.autoParam.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.async.autoParam.html @@ -1,39 +1,39 @@ -<div class="apiDetail"> -<div> - <h2><span>Array(String)</span><span class="path">setting.async.</span>autoParam</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Required automatically submit the parameters about the properties of the parent node, when the asynchronous load. It is valid when <span class="highlight_red">[setting.async.enable = true]</span></p> - <p>Default:[ ]</p> - </div> - </div> - <h3>Array(String) Format</h3> - <div class="desc"> - <p>1. Just save the attribute name of node to the array. For example: ["id", "name"]</p> - <p>2. You can change the parameter name. For example: server only accepts "zId" -- ["id=zId"]</p> - </div> - <h3>Examples of setting</h3> - <h4>1. set auto commit 'id' attribute</h4> - <pre xmlns=""><code>var setting = { - async: { - enable: true, - url: "http://host/getNode.php", - autoParam: ["id"] - } -}; -If have the parent node: {id:1, name:"test"}, When asynchronously load this parent node's child nodes, will be submitted parameters: id=1 -......</code></pre> - <h4>2. set auto commit 'id' attribute, but parameter name is 'zId'</h4> - <pre xmlns=""><code>var setting = { - async: { - enable: true, - url: "http://host/getNode.php", - autoParam: ["id=zId"] - } -}; -If have the parent node: {id:1, name:"test"}, When asynchronously load this parent node's child nodes, will be submitted parameters: zId=1 -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Array(String)</span><span class="path">setting.async.</span>autoParam</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Required automatically submit the parameters about the properties of the parent node, when the asynchronous load. It is valid when <span class="highlight_red">[setting.async.enable = true]</span></p>
+ <p>Default:[ ]</p>
+ </div>
+ </div>
+ <h3>Array(String) Format</h3>
+ <div class="desc">
+ <p>1. Just save the attribute name of node to the array. For example: ["id", "name"]</p>
+ <p>2. You can change the parameter name. For example: server only accepts "zId" -- ["id=zId"]</p>
+ </div>
+ <h3>Examples of setting</h3>
+ <h4>1. set auto commit 'id' attribute</h4>
+ <pre xmlns=""><code>var setting = {
+ async: {
+ enable: true,
+ url: "http://host/getNode.php",
+ autoParam: ["id"]
+ }
+};
+If have the parent node: {id:1, name:"test"}, When asynchronously load this parent node's child nodes, will be submitted parameters: id=1
+......</code></pre>
+ <h4>2. set auto commit 'id' attribute, but parameter name is 'zId'</h4>
+ <pre xmlns=""><code>var setting = {
+ async: {
+ enable: true,
+ url: "http://host/getNode.php",
+ autoParam: ["id=zId"]
+ }
+};
+If have the parent node: {id:1, name:"test"}, When asynchronously load this parent node's child nodes, will be submitted parameters: zId=1
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.async.contentType.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.async.contentType.html index cc9bfcd3..c29942f0 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.async.contentType.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.async.contentType.html @@ -1,29 +1,29 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">setting.async.</span>contentType</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>When Ajax sending data to the server, use this content-type. It is valid when <span class="highlight_red">[setting.async.enable = true]</span></p> - <p>Default:"application/x-www-form-urlencoded"</p> - </div> - </div> - <h3>String Format</h3> - <div class="desc"> - <p> contentType = "application/x-www-form-urlencoded", means: the sending data format is "form" format.</p> - <p> contentType = "application/json", means: the sending data format is "json" format. (for .Net)</p> - </div> - <h3>Examples of setting</h3> - <h4>1. set the sending data format to "json" format.</h4> - <pre xmlns=""><code>var setting = { - async: { - enable: true, - contentType: "application/json", - url: "http://host/getNode.php", - autoParam: ["id", "name"] - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">setting.async.</span>contentType</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>When Ajax sending data to the server, use this content-type. It is valid when <span class="highlight_red">[setting.async.enable = true]</span></p>
+ <p>Default:"application/x-www-form-urlencoded"</p>
+ </div>
+ </div>
+ <h3>String Format</h3>
+ <div class="desc">
+ <p> contentType = "application/x-www-form-urlencoded", means: the sending data format is "form" format.</p>
+ <p> contentType = "application/json", means: the sending data format is "json" format. (for .Net)</p>
+ </div>
+ <h3>Examples of setting</h3>
+ <h4>1. set the sending data format to "json" format.</h4>
+ <pre xmlns=""><code>var setting = {
+ async: {
+ enable: true,
+ contentType: "application/json",
+ url: "http://host/getNode.php",
+ autoParam: ["id", "name"]
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.async.dataFilter.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.async.dataFilter.html index 34733e4d..fc59a6b6 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.async.dataFilter.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.async.dataFilter.html @@ -1,45 +1,45 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeId, parentNode, responseData)</span><span class="path">setting.async.</span>dataFilter</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Function used to pre-process for the return data of Ajax. It is valid when <span class="highlight_red">[setting.async.enable = true]</span></p> - <p>Default: null</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p> - <h4 class="topLine"><b>parentNode</b><span>JSON</span></h4> - <p>Parent node's JSON data object</p> - <p class="highlight_red">When asynchronously loading the root, the parentNode = null</p> - <h4 class="topLine"><b>responseData</b><span>Array(JSON) / JSON / String</span></h4> - <p>Ajax got Array (JSON) / JSON / String data objects</p> - <p class="highlight_red">From v3.4, support the string with XML format.</p> - <h4 class="topLine"><b>Return </b><span>Array(JSON) / JSON</span></h4> - <p>The return value should be the JSON data structure which is supported by the zTree.</p> - <p class="highlight_red">v3.x supports to load single node JSON data object.</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. Modify the node name attribute which is ajax got.</h4> - <pre xmlns=""><code>function ajaxDataFilter(treeId, parentNode, responseData) { - if (responseData) { - for(var i =0; i < responseData.length; i++) { - responseData[i].name += "_filter"; - } - } - return responseData; -}; -var setting = { - async: { - enable: true, - url: "http://host/getNode.php", - dataFilter: ajaxDataFilter - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeId, parentNode, responseData)</span><span class="path">setting.async.</span>dataFilter</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Function used to pre-process for the return data of Ajax. It is valid when <span class="highlight_red">[setting.async.enable = true]</span></p>
+ <p>Default: null</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p>
+ <h4 class="topLine"><b>parentNode</b><span>JSON</span></h4>
+ <p>Parent node's JSON data object</p>
+ <p class="highlight_red">When asynchronously loading the root, the parentNode = null</p>
+ <h4 class="topLine"><b>responseData</b><span>Array(JSON) / JSON / String</span></h4>
+ <p>Ajax got Array (JSON) / JSON / String data objects</p>
+ <p class="highlight_red">From v3.4, support the string with XML format.</p>
+ <h4 class="topLine"><b>Return </b><span>Array(JSON) / JSON</span></h4>
+ <p>The return value should be the JSON data structure which is supported by the zTree.</p>
+ <p class="highlight_red">v3.x supports to load single node JSON data object.</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. Modify the node name attribute which is ajax got.</h4>
+ <pre xmlns=""><code>function ajaxDataFilter(treeId, parentNode, responseData) {
+ if (responseData) {
+ for(var i =0; i < responseData.length; i++) {
+ responseData[i].name += "_filter";
+ }
+ }
+ return responseData;
+};
+var setting = {
+ async: {
+ enable: true,
+ url: "http://host/getNode.php",
+ dataFilter: ajaxDataFilter
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.async.dataType.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.async.dataType.html index e6672e9b..0a07cb83 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.async.dataType.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.async.dataType.html @@ -1,29 +1,29 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">setting.async.</span>dataType</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>The data type of Ajax. It is valid when <span class="highlight_red">[setting.async.enable = true]</span></p> - <p>Default:"text"</p> - </div> - </div> - <h3>String Format</h3> - <div class="desc"> - <p> dataType = "text", It can meet most of the needs.</p> - <p class="highlight_red">The 'dataType' in zTree and jQuery's ajax is same.</p> - </div> - <h3>Examples of setting</h3> - <h4>1. Set the dataType which ajax got is text.</h4> - <pre xmlns=""><code>var setting = { - async: { - enable: true, - dataType: "text", - url: "http://host/getNode.php", - autoParam: ["id", "name"] - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">setting.async.</span>dataType</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>The data type of Ajax. It is valid when <span class="highlight_red">[setting.async.enable = true]</span></p>
+ <p>Default:"text"</p>
+ </div>
+ </div>
+ <h3>String Format</h3>
+ <div class="desc">
+ <p> dataType = "text", It can meet most of the needs.</p>
+ <p class="highlight_red">The 'dataType' in zTree and jQuery's ajax is same.</p>
+ </div>
+ <h3>Examples of setting</h3>
+ <h4>1. Set the dataType which ajax got is text.</h4>
+ <pre xmlns=""><code>var setting = {
+ async: {
+ enable: true,
+ dataType: "text",
+ url: "http://host/getNode.php",
+ autoParam: ["id", "name"]
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.async.enable.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.async.enable.html index 806ba6c6..f834ba47 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.async.enable.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.async.enable.html @@ -1,30 +1,30 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">setting.async.</span>enable</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Set zTree asynchronous loading mode is turned on or off.</p> - <p>Default: false</p> - </div> - </div> - <h3>Boolean Format</h3> - <div class="desc"> - <p> true - turn on asynchronous loading mode</p> - <p> false - turn off asynchronous loading mode</p> - <p class="highlight_red">If set it is true, you must set attributes in setting.async</p> - <p class="highlight_red">If you don't pass 'treeNodes' parameter when initialize zTree, the root nodes will get by ajax.</p> - </div> - <h3>Examples of setting</h3> - <h4>1. Turn on asynchronous loading mode</h4> - <pre xmlns=""><code>var setting = { - async: { - enable: true, - url: "http://host/getNode.php", - autoParam: ["id", "name"] - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">setting.async.</span>enable</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Set zTree asynchronous loading mode is turned on or off.</p>
+ <p>Default: false</p>
+ </div>
+ </div>
+ <h3>Boolean Format</h3>
+ <div class="desc">
+ <p> true - turn on asynchronous loading mode</p>
+ <p> false - turn off asynchronous loading mode</p>
+ <p class="highlight_red">If set it is true, you must set attributes in setting.async</p>
+ <p class="highlight_red">If you don't pass 'treeNodes' parameter when initialize zTree, the root nodes will get by ajax.</p>
+ </div>
+ <h3>Examples of setting</h3>
+ <h4>1. Turn on asynchronous loading mode</h4>
+ <pre xmlns=""><code>var setting = {
+ async: {
+ enable: true,
+ url: "http://host/getNode.php",
+ autoParam: ["id", "name"]
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.async.otherParam.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.async.otherParam.html index 2e37390a..4664e605 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.async.otherParam.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.async.otherParam.html @@ -1,40 +1,40 @@ -<div class="apiDetail"> -<div> - <h2><span>Array(String) / JSON</span><span class="path">setting.async.</span>otherParam</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>The static parameters of the Ajax request. (key - value) It is valid when <span class="highlight_red">[setting.async.enable = true]</span></p> - <p>Default: [ ]</p> - </div> - </div> - <h3>Array(String) Format</h3> - <div class="desc"> - <p>Can be empty array. e.g. [ ]. If set key, you must set value, e.g. [key, value]. ([key] or [key, value, key] is wrong!!)</p> - </div> - <h3>JSON Format</h3> - <div class="desc"> - <p>Use JSON data format set the key-value. e.g. { key1:value1, key2:value2 }</p> - </div> - <h3>Examples of setting</h3> - <h4>1. Use Array(String) Format</h4> - <pre xmlns=""><code>var setting = { - async: { - enable: true, - url: "http://host/getNode.php", - otherParam: ["id", "1", "name", "test"] - } -}; -when zTree send ajax, the parameters will has: id=1&name=test</code></pre> - <h4>2. Use JSON data Format</h4> - <pre xmlns=""><code>var setting = { - async: { - enable: true, - url: "http://host/getNode.php", - otherParam: { "id":"1", "name":"test"} - } -}; -when zTree send ajax, the parameters will has: id=1&name=test</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Array(String) / JSON</span><span class="path">setting.async.</span>otherParam</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>The static parameters of the Ajax request. (key - value) It is valid when <span class="highlight_red">[setting.async.enable = true]</span></p>
+ <p>Default: [ ]</p>
+ </div>
+ </div>
+ <h3>Array(String) Format</h3>
+ <div class="desc">
+ <p>Can be empty array. e.g. [ ]. If set key, you must set value, e.g. [key, value]. ([key] or [key, value, key] is wrong!!)</p>
+ </div>
+ <h3>JSON Format</h3>
+ <div class="desc">
+ <p>Use JSON data format set the key-value. e.g. { key1:value1, key2:value2 }</p>
+ </div>
+ <h3>Examples of setting</h3>
+ <h4>1. Use Array(String) Format</h4>
+ <pre xmlns=""><code>var setting = {
+ async: {
+ enable: true,
+ url: "http://host/getNode.php",
+ otherParam: ["id", "1", "name", "test"]
+ }
+};
+when zTree send ajax, the parameters will has: id=1&name=test</code></pre>
+ <h4>2. Use JSON data Format</h4>
+ <pre xmlns=""><code>var setting = {
+ async: {
+ enable: true,
+ url: "http://host/getNode.php",
+ otherParam: { "id":"1", "name":"test"}
+ }
+};
+when zTree send ajax, the parameters will has: id=1&name=test</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.async.type.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.async.type.html index ae543388..1d3064df 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.async.type.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.async.type.html @@ -1,30 +1,30 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">setting.async.</span>type</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Http request mode in ajax. It is valid when <span class="highlight_red">[setting.async.enable = true]</span></p> - <p>Defalut: "post"</p> - </div> - </div> - <h3>String Format</h3> - <div class="desc"> - <p> "post" - http request mode</p> - <p> "get" - http request mode</p> - <p class="highlight_red">The 'type' in zTree and jQuery's ajax is same.</p> - </div> - <h3>Examples of setting</h3> - <h4>1. Set http request mode is 'get'</h4> - <pre xmlns=""><code>var setting = { - async: { - enable: true, - type: "get", - url: "http://host/getNode.php", - autoParam: ["id", "name"] - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">setting.async.</span>type</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Http request mode in ajax. It is valid when <span class="highlight_red">[setting.async.enable = true]</span></p>
+ <p>Defalut: "post"</p>
+ </div>
+ </div>
+ <h3>String Format</h3>
+ <div class="desc">
+ <p> "post" - http request mode</p>
+ <p> "get" - http request mode</p>
+ <p class="highlight_red">The 'type' in zTree and jQuery's ajax is same.</p>
+ </div>
+ <h3>Examples of setting</h3>
+ <h4>1. Set http request mode is 'get'</h4>
+ <pre xmlns=""><code>var setting = {
+ async: {
+ enable: true,
+ type: "get",
+ url: "http://host/getNode.php",
+ autoParam: ["id", "name"]
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.async.url.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.async.url.html index 5587f294..a194e5b7 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.async.url.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.async.url.html @@ -1,50 +1,50 @@ -<div class="apiDetail"> -<div> - <h2><span>String / Function(treeId, treeNode)</span><span class="path">setting.async.</span>url</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>The URL to which the ajax request is sent. It is valid when <span class="highlight_red">[setting.async.enable = true]</span></p> - <p>Default: ""</p> - </div> - </div> - <h3>String Format</h3> - <div class="desc"> - <p>A url string(e.g. "http://www.domain.com"). Note: please ensure that the url can be loaded</p> - <p class="highlight_red">Url can also take parameters, please note that transcode.</p> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>Parent node's JSON data object</p> - <p class="highlight_red">When asynchronously loading the root, the treeNode = null</p> - <h4 class="topLine"><b>Return </b><span>String</span></h4> - <p>Return value is same as 'String Format'</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. set ajax url is "nodes.php"</h4> - <pre xmlns=""><code>var setting = { - async: { - enable: true, - url: "nodes.php", - autoParam: ["id", "name"] - } -}; -......</code></pre> - <h4>2. set ajax url is "function"</h4> - <pre xmlns=""><code>function getAsyncUrl(treeId, treeNode) { - return treeNode.isParent ? "nodes1.php" : "nodes2.php"; -}; -var setting = { - async: { - enable: true, - url: getAsyncUrl, - autoParam: ["id", "name"] - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String / Function(treeId, treeNode)</span><span class="path">setting.async.</span>url</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>The URL to which the ajax request is sent. It is valid when <span class="highlight_red">[setting.async.enable = true]</span></p>
+ <p>Default: ""</p>
+ </div>
+ </div>
+ <h3>String Format</h3>
+ <div class="desc">
+ <p>A url string(e.g. "http://www.domain.com"). Note: please ensure that the url can be loaded</p>
+ <p class="highlight_red">Url can also take parameters, please note that transcode.</p>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>Parent node's JSON data object</p>
+ <p class="highlight_red">When asynchronously loading the root, the treeNode = null</p>
+ <h4 class="topLine"><b>Return </b><span>String</span></h4>
+ <p>Return value is same as 'String Format'</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. set ajax url is "nodes.php"</h4>
+ <pre xmlns=""><code>var setting = {
+ async: {
+ enable: true,
+ url: "nodes.php",
+ autoParam: ["id", "name"]
+ }
+};
+......</code></pre>
+ <h4>2. set ajax url is "function"</h4>
+ <pre xmlns=""><code>function getAsyncUrl(treeId, treeNode) {
+ return treeNode.isParent ? "nodes1.php" : "nodes2.php";
+};
+var setting = {
+ async: {
+ enable: true,
+ url: getAsyncUrl,
+ autoParam: ["id", "name"]
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeAsync.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeAsync.html index 6563ff29..79557036 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeAsync.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeAsync.html @@ -1,35 +1,35 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeId, treeNode)</span><span class="path">setting.callback.</span>beforeAsync</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Used to capture the event before zTree execute ajax, zTree based on return value to determine whether to execute ajax.</p> - <p>Default: null</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the parent node</p> - <p class="highlight_red">When asynchronously loading the root, the treeNode = null</p> - <h4 class="topLine"><b>Return </b><span>Boolean</span></h4> - <p>return true or false</p> - <p class="highlight_red">If return false, zTree will not execute ajax, and will not trigger the 'onAsyncSuccess / onAsyncError' callback.</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. If the parent node's attribute 'id' is 1, zTree will not execute ajax.</h4> - <pre xmlns=""><code>function zTreeBeforeAsync(treeId, treeNode) { - return (treeNode.id !== 1); -}; -var setting = { - callback: { - beforeAsync: zTreeBeforeAsync - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeId, treeNode)</span><span class="path">setting.callback.</span>beforeAsync</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Used to capture the event before zTree execute ajax, zTree based on return value to determine whether to execute ajax.</p>
+ <p>Default: null</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the parent node</p>
+ <p class="highlight_red">When asynchronously loading the root, the treeNode = null</p>
+ <h4 class="topLine"><b>Return </b><span>Boolean</span></h4>
+ <p>return true or false</p>
+ <p class="highlight_red">If return false, zTree will not execute ajax, and will not trigger the 'onAsyncSuccess / onAsyncError' callback.</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. If the parent node's attribute 'id' is 1, zTree will not execute ajax.</h4>
+ <pre xmlns=""><code>function zTreeBeforeAsync(treeId, treeNode) {
+ return (treeNode.id !== 1);
+};
+var setting = {
+ callback: {
+ beforeAsync: zTreeBeforeAsync
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeCheck.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeCheck.html index 5260412b..f5b2763b 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeCheck.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeCheck.html @@ -1,34 +1,34 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeId, treeNode)</span><span class="path">setting.callback.</span>beforeCheck</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Used to capture the event before check or uncheck node, zTree based on return value to determine whether to change check state.</p> - <p>Default: null</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which is checked or unchecked</p> - <h4 class="topLine"><b>Return </b><span>Boolean</span></h4> - <p>return true or false</p> - <p class="highlight_red">If return false, zTree will not change check state, and will not trigger the 'onCheck' callback.</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. disable to change check state of all nodes, and keep the check state initialization</h4> - <pre xmlns=""><code>function zTreeBeforeCheck(treeId, treeNode) { - return false; -}; -var setting = { - callback: { - beforeCheck: zTreeBeforeCheck - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeId, treeNode)</span><span class="path">setting.callback.</span>beforeCheck</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Used to capture the event before check or uncheck node, zTree based on return value to determine whether to change check state.</p>
+ <p>Default: null</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which is checked or unchecked</p>
+ <h4 class="topLine"><b>Return </b><span>Boolean</span></h4>
+ <p>return true or false</p>
+ <p class="highlight_red">If return false, zTree will not change check state, and will not trigger the 'onCheck' callback.</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. disable to change check state of all nodes, and keep the check state initialization</h4>
+ <pre xmlns=""><code>function zTreeBeforeCheck(treeId, treeNode) {
+ return false;
+};
+var setting = {
+ callback: {
+ beforeCheck: zTreeBeforeCheck
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeClick.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeClick.html index 32ddbf77..8a347e87 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeClick.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeClick.html @@ -1,49 +1,49 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeId, treeNode, clickFlag)</span><span class="path">setting.callback.</span>beforeClick</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Used to capture the event before click node, zTree based on return value to determine whether to trigger the 'onClick' callback.</p> - <p>Default: null</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which is clicked</p> - <h4 class="topLine"><b>clickFlag</b><span>Number</span></h4> - <p>Node is selected or deselected state, please see table below for details</p> - <table width="100%" border="0" cellspacing="1" cellpadding="0"> - <thead><tr><td>clickFlag</td><td title="Whether to allow multi-select">selectedMulti</td><td title="Whether to press Ctrl-key or Cmd-key">autoCancelSelected<br/>&&<br/>event.ctrlKey / metaKey</td><td title="Node's selection state">isSelected</td><td>operate for selected</td></tr></thead> - <tbody> - <tr><td>1</td><td>true</td><td>false</td><td>false</td><td>node is selected (single)</td></tr> - <tr><td>1</td><td>true</td><td>false</td><td>true</td><td>node is selected (single)</td></tr> - <tr><td>2</td><td>true</td><td>true</td><td>false</td><td>node is selected (multi)</td></tr> - <tr><td>0</td><td>true</td><td>true</td><td>true</td><td>node is deselected</td></tr> - <tr><td>1</td><td>false</td><td>false</td><td>false</td><td>node is selected (single)</td></tr> - <tr><td>1</td><td>false</td><td>false</td><td>true</td><td>node is selected (single)</td></tr> - <tr><td>1</td><td>false</td><td>true</td><td>false</td><td>node is selected (single)</td></tr> - <tr><td>0</td><td>false</td><td>true</td><td>true</td><td>node is deselected</td></tr> - </tbody> - </table> - <h4 class="topLine"><b>Return </b><span>Boolean</span></h4> - <p>return true or false</p> - <p class="highlight_red">If return false, zTree will not change selected state, and will not trigger the 'onClick' callback.</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. disabled to click the node</h4> - <pre xmlns=""><code>function zTreeBeforeClick(treeId, treeNode, clickFlag) { - return (treeNode.id !== 1); -}; -var setting = { - callback: { - beforeClick: zTreeBeforeClick - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeId, treeNode, clickFlag)</span><span class="path">setting.callback.</span>beforeClick</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Used to capture the event before click node, zTree based on return value to determine whether to trigger the 'onClick' callback.</p>
+ <p>Default: null</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which is clicked</p>
+ <h4 class="topLine"><b>clickFlag</b><span>Number</span></h4>
+ <p>Node is selected or deselected state, please see table below for details</p>
+ <table width="100%" border="0" cellspacing="1" cellpadding="0">
+ <thead><tr><td>clickFlag</td><td title="Whether to allow multi-select">selectedMulti</td><td title="Whether to press Ctrl-key or Cmd-key">autoCancelSelected<br/>&&<br/>event.ctrlKey / metaKey</td><td title="Node's selection state">isSelected</td><td>operate for selected</td></tr></thead>
+ <tbody>
+ <tr><td>1</td><td>true</td><td>false</td><td>false</td><td>node is selected (single)</td></tr>
+ <tr><td>1</td><td>true</td><td>false</td><td>true</td><td>node is selected (single)</td></tr>
+ <tr><td>2</td><td>true</td><td>true</td><td>false</td><td>node is selected (multi)</td></tr>
+ <tr><td>0</td><td>true</td><td>true</td><td>true</td><td>node is deselected</td></tr>
+ <tr><td>1</td><td>false</td><td>false</td><td>false</td><td>node is selected (single)</td></tr>
+ <tr><td>1</td><td>false</td><td>false</td><td>true</td><td>node is selected (single)</td></tr>
+ <tr><td>1</td><td>false</td><td>true</td><td>false</td><td>node is selected (single)</td></tr>
+ <tr><td>0</td><td>false</td><td>true</td><td>true</td><td>node is deselected</td></tr>
+ </tbody>
+ </table>
+ <h4 class="topLine"><b>Return </b><span>Boolean</span></h4>
+ <p>return true or false</p>
+ <p class="highlight_red">If return false, zTree will not change selected state, and will not trigger the 'onClick' callback.</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. disabled to click the node</h4>
+ <pre xmlns=""><code>function zTreeBeforeClick(treeId, treeNode, clickFlag) {
+ return (treeNode.id !== 1);
+};
+var setting = {
+ callback: {
+ beforeClick: zTreeBeforeClick
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeCollapse.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeCollapse.html index b2713e8a..59fa4b3a 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeCollapse.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeCollapse.html @@ -1,34 +1,34 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeId, treeNode)</span><span class="path">setting.callback.</span>beforeCollapse</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Used to capture the event before collapse node, zTree based on return value to determine whether to collapse node.</p> - <p>Default: null</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which will be collapsed</p> - <h4 class="topLine"><b>Return </b><span>Boolean</span></h4> - <p>return true or false</p> - <p class="highlight_red">If return false, zTree will not collapse node, and will not trigger the 'onCollapse' callback.</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. disabled to collapse node which is expanded</h4> - <pre xmlns=""><code>function zTreeBeforeCollapse(treeId, treeNode) { - return false; -}; -var setting = { - callback: { - beforeCollapse: zTreeBeforeCollapse - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeId, treeNode)</span><span class="path">setting.callback.</span>beforeCollapse</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Used to capture the event before collapse node, zTree based on return value to determine whether to collapse node.</p>
+ <p>Default: null</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which will be collapsed</p>
+ <h4 class="topLine"><b>Return </b><span>Boolean</span></h4>
+ <p>return true or false</p>
+ <p class="highlight_red">If return false, zTree will not collapse node, and will not trigger the 'onCollapse' callback.</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. disabled to collapse node which is expanded</h4>
+ <pre xmlns=""><code>function zTreeBeforeCollapse(treeId, treeNode) {
+ return false;
+};
+var setting = {
+ callback: {
+ beforeCollapse: zTreeBeforeCollapse
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeDblClick.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeDblClick.html index 6f1c743e..8dc258df 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeDblClick.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeDblClick.html @@ -1,36 +1,36 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeId, treeNode)</span><span class="path">setting.callback.</span>beforeDblClick</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Used to capture the dblclick event before the 'onDblClick' callback, zTree based on return value to determine whether to trigger the 'onDblClick' callback.</p> - <p>Default: null</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which is double clicked</p> - <p class="highlight_red">If the DOM which dblclicked isn't a node, it will return null.</p> - <h4 class="topLine"><b>Return </b><span>Boolean</span></h4> - <p>return true or false</p> - <p class="highlight_red">If return false, ztree will not trigger the 'onDblClick' callback, no effect on other operations.</p> - <p class="highlight_red">This callback function does not affect the dblclick the parent node to auto expand, please refer to setting.view.dblClickExpand properties.</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. disable to trigger the 'onDblClick' callback</h4> - <pre xmlns=""><code>function zTreeBeforeDblClick(treeId, treeNode) { - return false; -}; -var setting = { - callback: { - beforeDblClick: zTreeBeforeDblClick - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeId, treeNode)</span><span class="path">setting.callback.</span>beforeDblClick</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Used to capture the dblclick event before the 'onDblClick' callback, zTree based on return value to determine whether to trigger the 'onDblClick' callback.</p>
+ <p>Default: null</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which is double clicked</p>
+ <p class="highlight_red">If the DOM which dblclicked isn't a node, it will return null.</p>
+ <h4 class="topLine"><b>Return </b><span>Boolean</span></h4>
+ <p>return true or false</p>
+ <p class="highlight_red">If return false, ztree will not trigger the 'onDblClick' callback, no effect on other operations.</p>
+ <p class="highlight_red">This callback function does not affect the dblclick the parent node to auto expand, please refer to setting.view.dblClickExpand properties.</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. disable to trigger the 'onDblClick' callback</h4>
+ <pre xmlns=""><code>function zTreeBeforeDblClick(treeId, treeNode) {
+ return false;
+};
+var setting = {
+ callback: {
+ beforeDblClick: zTreeBeforeDblClick
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeDrag.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeDrag.html index 51752448..887114bc 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeDrag.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeDrag.html @@ -1,39 +1,39 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeId, treeNodes)</span><span class="path">setting.callback.</span>beforeDrag</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Used to capture the event before drag node, zTree based on return value to determine whether to start to drag node.</p> - <p>Default: null</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, the tree is what the treeNodes are belong to, easy for users to control.</p> - <h4 class="topLine"><b>treeNodes</b><span>Array(JSON)</span></h4> - <p>A collection of the nodes which will be dragged</p> - <p class="highlight_red">v3.x allows drag and drop multiple sibling nodes, so this parameter is modified to Array(JSON).</p> - <p class="highlight_red">If the selected nodes aren't the sibling nodes, you can only drag one node which mouse over.</p> - <h4 class="topLine"><b>Return </b><span>Boolean</span></h4> - <p>return true or false</p> - <p class="highlight_red">If return false, zTree will stop drag, and will not trigger the 'onDrag / beforeDrop / onDrop' callback.</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. disable to drag all node</h4> - <pre xmlns=""><code>function zTreeBeforeDrag(treeId, treeNodes) { - return false; -}; -var setting = { - edit: { - enable: true - }, - callback: { - beforeDrag: zTreeBeforeDrag - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeId, treeNodes)</span><span class="path">setting.callback.</span>beforeDrag</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Used to capture the event before drag node, zTree based on return value to determine whether to start to drag node.</p>
+ <p>Default: null</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, the tree is what the treeNodes are belong to, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNodes</b><span>Array(JSON)</span></h4>
+ <p>A collection of the nodes which will be dragged</p>
+ <p class="highlight_red">v3.x allows drag and drop multiple sibling nodes, so this parameter is modified to Array(JSON).</p>
+ <p class="highlight_red">If the selected nodes aren't the sibling nodes, you can only drag one node which mouse over.</p>
+ <h4 class="topLine"><b>Return </b><span>Boolean</span></h4>
+ <p>return true or false</p>
+ <p class="highlight_red">If return false, zTree will stop drag, and will not trigger the 'onDrag / beforeDrop / onDrop' callback.</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. disable to drag all node</h4>
+ <pre xmlns=""><code>function zTreeBeforeDrag(treeId, treeNodes) {
+ return false;
+};
+var setting = {
+ edit: {
+ enable: true
+ },
+ callback: {
+ beforeDrag: zTreeBeforeDrag
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeDragOpen.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeDragOpen.html index ed1ae978..b6476cfc 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeDragOpen.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeDragOpen.html @@ -1,37 +1,37 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeId, treeNode)</span><span class="path">setting.callback.</span>beforeDragOpen</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Used to capture the event when drag node to collapsed parent node, zTree based on return value to determine whether to auto expand parent node.</p> - <p>Default: null</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, the tree is what the treeNode(parent node) is belong to, easy for users to control.</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the parent node which will be auto expanded</p> - <h4 class="topLine"><b>Return </b><span>Boolean</span></h4> - <p>return true or false</p> - <p class="highlight_red">If return false, zTree will not auto expand parent node.</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. disable to auto expand parent node.</h4> - <pre xmlns=""><code>function zTreeBeforeDragOpen(treeId, treeNode) { - return false; -}; -var setting = { - edit: { - enable: true - }, - callback: { - beforeDragOpen: zTreeBeforeDragOpen - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeId, treeNode)</span><span class="path">setting.callback.</span>beforeDragOpen</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Used to capture the event when drag node to collapsed parent node, zTree based on return value to determine whether to auto expand parent node.</p>
+ <p>Default: null</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, the tree is what the treeNode(parent node) is belong to, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the parent node which will be auto expanded</p>
+ <h4 class="topLine"><b>Return </b><span>Boolean</span></h4>
+ <p>return true or false</p>
+ <p class="highlight_red">If return false, zTree will not auto expand parent node.</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. disable to auto expand parent node.</h4>
+ <pre xmlns=""><code>function zTreeBeforeDragOpen(treeId, treeNode) {
+ return false;
+};
+var setting = {
+ edit: {
+ enable: true
+ },
+ callback: {
+ beforeDragOpen: zTreeBeforeDragOpen
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeDrop.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeDrop.html index 70143211..79a602c2 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeDrop.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeDrop.html @@ -1,50 +1,50 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeId, treeNodes, targetNode, moveType, isCopy)</span><span class="path">setting.callback.</span>beforeDrop</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Used to capture the event before drag-drop node, zTree based on return value to determine whether to allow drag-drop node.</p> - <p>Default: null</p> - <p class="highlight_red">When drop the nodes, if the dragged nodes is not in a valid location, this callback will not triggered, and will restore the original position.</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, the tree is what the targetNode is belong to, easy for users to control.</p> - <h4 class="topLine"><b>treeNodes</b><span>Array(JSON)</span></h4> - <p>A collection of the nodes which has been dragged</p> - <p class="highlight_red">The treeNodes are the data of the nodes which has been dragged, when copy nodes or move nodes.</p> - <h4 class="topLine"><b>targetNode</b><span>JSON</span></h4> - <p>JSON data object of the target node which treeNodes are drag-dropped.</p> - <p class="highlight_red">If the treeNodes will be root node, the targetNode = null</p> - <h4 class="topLine"><b>moveType</b><span>String</span></h4> - <p>the relative position of move to the target node</p> - <p class="highlight_red">"inner": will be child of targetNode</p> - <p class="highlight_red">"prev": will be sibling node, and be in front of targetNode</p> - <p class="highlight_red">"next": will be sibling node, and be behind targetNode</p> - <h4 class="topLine"><b>isCopy</b><span>Boolean</span></h4> - <p>the flag used to judge copy node or move node</p> - <p class="highlight_red">true: copy node; false: move node</p> - <h4 class="topLine"><b>Return </b><span>Boolean</span></h4> - <p>return true or false</p> - <p class="highlight_red">If return false, zTree will restore the dragged nodes, and will not trigger the 'onDrop' callback.</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. disable to drag nodes to root</h4> - <pre xmlns=""><code>function zTreeBeforeDrop(treeId, treeNodes, targetNode, moveType) { - return !(targetNode == null || (moveType != "inner" && !targetNode.parentTId)); -}; -var setting = { - edit: { - enable: true - }, - callback: { - beforeDrop: zTreeBeforeDrop - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeId, treeNodes, targetNode, moveType, isCopy)</span><span class="path">setting.callback.</span>beforeDrop</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Used to capture the event before drag-drop node, zTree based on return value to determine whether to allow drag-drop node.</p>
+ <p>Default: null</p>
+ <p class="highlight_red">When drop the nodes, if the dragged nodes is not in a valid location, this callback will not triggered, and will restore the original position.</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, the tree is what the targetNode is belong to, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNodes</b><span>Array(JSON)</span></h4>
+ <p>A collection of the nodes which has been dragged</p>
+ <p class="highlight_red">The treeNodes are the data of the nodes which has been dragged, when copy nodes or move nodes.</p>
+ <h4 class="topLine"><b>targetNode</b><span>JSON</span></h4>
+ <p>JSON data object of the target node which treeNodes are drag-dropped.</p>
+ <p class="highlight_red">If the treeNodes will be root node, the targetNode = null</p>
+ <h4 class="topLine"><b>moveType</b><span>String</span></h4>
+ <p>the relative position of move to the target node</p>
+ <p class="highlight_red">"inner": will be child of targetNode</p>
+ <p class="highlight_red">"prev": will be sibling node, and be in front of targetNode</p>
+ <p class="highlight_red">"next": will be sibling node, and be behind targetNode</p>
+ <h4 class="topLine"><b>isCopy</b><span>Boolean</span></h4>
+ <p>the flag used to judge copy node or move node</p>
+ <p class="highlight_red">true: copy node; false: move node</p>
+ <h4 class="topLine"><b>Return </b><span>Boolean</span></h4>
+ <p>return true or false</p>
+ <p class="highlight_red">If return false, zTree will restore the dragged nodes, and will not trigger the 'onDrop' callback.</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. disable to drag nodes to root</h4>
+ <pre xmlns=""><code>function zTreeBeforeDrop(treeId, treeNodes, targetNode, moveType) {
+ return !(targetNode == null || (moveType != "inner" && !targetNode.parentTId));
+};
+var setting = {
+ edit: {
+ enable: true
+ },
+ callback: {
+ beforeDrop: zTreeBeforeDrop
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeEditName.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeEditName.html index 8772a3e9..d1d2b063 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeEditName.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeEditName.html @@ -1,38 +1,38 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeId, treeNode)</span><span class="path">setting.callback.</span>beforeEditName</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Used to capture the event before click edit button, zTree based on return value to determine whether to allow to edit the name.</p> - <p class="highlight_red">This callback is used to capture the event which edit button is clicked, then trigger the custom editing operation.</p> - <p>Default: null</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which will be edited name.</p> - <h4 class="topLine"><b>Return </b><span>Boolean</span></h4> - <p>return true or false</p> - <p class="highlight_red">If return false, the node will not be able to edit the name.</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. disable to edit the parent node's name</h4> - <pre xmlns=""><code>function zTreeBeforeEditName(treeId, treeNode) { - return !treeNode.isParent; -} -var setting = { - edit: { - enable: true - }, - callback: { - beforeEditName: zTreeBeforeEditName - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeId, treeNode)</span><span class="path">setting.callback.</span>beforeEditName</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Used to capture the event before click edit button, zTree based on return value to determine whether to allow to edit the name.</p>
+ <p class="highlight_red">This callback is used to capture the event which edit button is clicked, then trigger the custom editing operation.</p>
+ <p>Default: null</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which will be edited name.</p>
+ <h4 class="topLine"><b>Return </b><span>Boolean</span></h4>
+ <p>return true or false</p>
+ <p class="highlight_red">If return false, the node will not be able to edit the name.</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. disable to edit the parent node's name</h4>
+ <pre xmlns=""><code>function zTreeBeforeEditName(treeId, treeNode) {
+ return !treeNode.isParent;
+}
+var setting = {
+ edit: {
+ enable: true
+ },
+ callback: {
+ beforeEditName: zTreeBeforeEditName
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeExpand.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeExpand.html index 73cf55a3..2bd43595 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeExpand.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeExpand.html @@ -1,34 +1,34 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeId, treeNode)</span><span class="path">setting.callback.</span>beforeExpand</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Used to capture the event before expand node, zTree based on return value to determine whether to expand node.</p> - <p>Default: null</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which will be expanded</p> - <h4 class="topLine"><b>Return </b><span>Boolean</span></h4> - <p>return true or false</p> - <p class="highlight_red">If return false, zTree will not expand node, and will not trigger the 'onExpand' callback.</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. disabled to expand node which is collapsed</h4> - <pre xmlns=""><code>function zTreeBeforeExpand(treeId, treeNode) { - return false; -}; -var setting = { - callback: { - beforeExpand: zTreeBeforeExpand - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeId, treeNode)</span><span class="path">setting.callback.</span>beforeExpand</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Used to capture the event before expand node, zTree based on return value to determine whether to expand node.</p>
+ <p>Default: null</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which will be expanded</p>
+ <h4 class="topLine"><b>Return </b><span>Boolean</span></h4>
+ <p>return true or false</p>
+ <p class="highlight_red">If return false, zTree will not expand node, and will not trigger the 'onExpand' callback.</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. disabled to expand node which is collapsed</h4>
+ <pre xmlns=""><code>function zTreeBeforeExpand(treeId, treeNode) {
+ return false;
+};
+var setting = {
+ callback: {
+ beforeExpand: zTreeBeforeExpand
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeMouseDown.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeMouseDown.html index 4af0818b..60365d4a 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeMouseDown.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeMouseDown.html @@ -1,35 +1,35 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeId, treeNode)</span><span class="path">setting.callback.</span>beforeMouseDown</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Used to capture the mousedown event before the 'onMouseDown' callback, zTree based on return value to determine whether to trigger the 'onMouseDown' callback.</p> - <p>Default: null</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which mouse over</p> - <p class="highlight_red">If the DOM which mouse over isn't a node, it will return null.</p> - <h4 class="topLine"><b>Return </b><span>Boolean</span></h4> - <p>return true or false</p> - <p class="highlight_red">If return false, zTree will not trigger the 'onMouseDown' callback, no effect on other operations.</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. disable to trigger the 'onMouseDown' callback</h4> - <pre xmlns=""><code>function zTreeBeforeMouseDown(treeId, treeNode) { - return false; -}; -var setting = { - callback: { - beforeMouseDown: zTreeBeforeMouseDown - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeId, treeNode)</span><span class="path">setting.callback.</span>beforeMouseDown</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Used to capture the mousedown event before the 'onMouseDown' callback, zTree based on return value to determine whether to trigger the 'onMouseDown' callback.</p>
+ <p>Default: null</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which mouse over</p>
+ <p class="highlight_red">If the DOM which mouse over isn't a node, it will return null.</p>
+ <h4 class="topLine"><b>Return </b><span>Boolean</span></h4>
+ <p>return true or false</p>
+ <p class="highlight_red">If return false, zTree will not trigger the 'onMouseDown' callback, no effect on other operations.</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. disable to trigger the 'onMouseDown' callback</h4>
+ <pre xmlns=""><code>function zTreeBeforeMouseDown(treeId, treeNode) {
+ return false;
+};
+var setting = {
+ callback: {
+ beforeMouseDown: zTreeBeforeMouseDown
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeMouseUp.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeMouseUp.html index 0c008fc4..4a4f4cd7 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeMouseUp.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeMouseUp.html @@ -1,35 +1,35 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeId, treeNode)</span><span class="path">setting.callback.</span>beforeMouseUp</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Used to capture the mouseup event before the 'onMouseUp' callback, zTree based on return value to determine whether to trigger the 'onMouseUp' callback.</p> - <p>Default: null</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which mouse over</p> - <p class="highlight_red">If the DOM which mouse over isn't a node, it will return null.</p> - <h4 class="topLine"><b>Return </b><span>Boolean</span></h4> - <p>return true or false</p> - <p class="highlight_red">If return false, zTree will not trigger the 'onMouseUp' callback, no effect on other operations.</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. disable to trigger the 'onMouseUp' callback</h4> - <pre xmlns=""><code>function zTreeBeforeMouseUp(treeId, treeNode) { - return false; -}; -var setting = { - callback: { - beforeMouseUp: zTreeBeforeMouseUp - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeId, treeNode)</span><span class="path">setting.callback.</span>beforeMouseUp</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Used to capture the mouseup event before the 'onMouseUp' callback, zTree based on return value to determine whether to trigger the 'onMouseUp' callback.</p>
+ <p>Default: null</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which mouse over</p>
+ <p class="highlight_red">If the DOM which mouse over isn't a node, it will return null.</p>
+ <h4 class="topLine"><b>Return </b><span>Boolean</span></h4>
+ <p>return true or false</p>
+ <p class="highlight_red">If return false, zTree will not trigger the 'onMouseUp' callback, no effect on other operations.</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. disable to trigger the 'onMouseUp' callback</h4>
+ <pre xmlns=""><code>function zTreeBeforeMouseUp(treeId, treeNode) {
+ return false;
+};
+var setting = {
+ callback: {
+ beforeMouseUp: zTreeBeforeMouseUp
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeRemove.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeRemove.html index 38e14c19..4ca015d5 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeRemove.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeRemove.html @@ -1,37 +1,37 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeId, treeNode)</span><span class="path">setting.callback.</span>beforeRemove</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Used to capture the event before remove node, zTree based on return value to determine whether to allow to remove node.</p> - <p>Default: null</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which will be removed.</p> - <h4 class="topLine"><b>Return </b><span>Boolean</span></h4> - <p>return true or false</p> - <p class="highlight_red">If return false, zTree will not remove node, and will not trigger the 'onRemove' callback.</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. disable to remove node</h4> - <pre xmlns=""><code>function zTreeBeforeRemove(treeId, treeNode) { - return false; -} -var setting = { - edit: { - enable: true - }, - callback: { - beforeRemove: zTreeBeforeRemove - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeId, treeNode)</span><span class="path">setting.callback.</span>beforeRemove</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Used to capture the event before remove node, zTree based on return value to determine whether to allow to remove node.</p>
+ <p>Default: null</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which will be removed.</p>
+ <h4 class="topLine"><b>Return </b><span>Boolean</span></h4>
+ <p>return true or false</p>
+ <p class="highlight_red">If return false, zTree will not remove node, and will not trigger the 'onRemove' callback.</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. disable to remove node</h4>
+ <pre xmlns=""><code>function zTreeBeforeRemove(treeId, treeNode) {
+ return false;
+}
+var setting = {
+ edit: {
+ enable: true
+ },
+ callback: {
+ beforeRemove: zTreeBeforeRemove
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeRename.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeRename.html index 76438a94..88e44f34 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeRename.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeRename.html @@ -1,46 +1,46 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeId, treeNode, newName, isCancel)</span><span class="path">setting.callback.</span>beforeRename</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Used to capture the event before rename(when input DOM blur or press Enter Key), zTree based on return value to determine whether to allow to rename node.</p> - <p class="highlight_red">When node is editing name, press the ESC key to restore the original name and stop edit name.</p> - <p class="highlight_red">From v3.5.13, zTree will trigger this callback when user cancel edit name. please see 'isCancel' parameter.</p> - <p>Default: null</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which will be rename.</p> - <h4 class="topLine"><b>newName</b><span>String</span></h4> - <p>the new name</p> - <h4 class="topLine"><b>isCancel</b><span>Boolean</span></h4> - <p>the status about cancel edit name (v3.5.13+)</p> - <p class="highlight_red">isCancel = true means: user cancel edit name. (press ESC or use cancelEditName() function)</p> - <p class="highlight_red">isCancel = false means: user submit edit name.</p> - <h4 class="topLine"><b>Return </b><span>Boolean</span></h4> - <p>return true or false</p> - <p class="highlight_red">If return false, the treeNode will keep the editing name, don't trigger the 'onRename' callback, and will ignore other enents, until the callback return true.</p> - <p class="highlight_red">If returns false, zTree will not set the input box to get focus to avoid the warning message which led to repeated triggering ‘beforeRename’ callback. Please use editName() method to set the input box to get focus when user close the warning message.</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. the length of the new name can't less than 5</h4> - <pre xmlns=""><code>function zTreeBeforeRename(treeId, treeNode, newName, isCancel) { - return newName.length > 5; -} -var setting = { - edit: { - enable: true - }, - callback: { - beforeRename: zTreeBeforeRename - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeId, treeNode, newName, isCancel)</span><span class="path">setting.callback.</span>beforeRename</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Used to capture the event before rename(when input DOM blur or press Enter Key), zTree based on return value to determine whether to allow to rename node.</p>
+ <p class="highlight_red">When node is editing name, press the ESC key to restore the original name and stop edit name.</p>
+ <p class="highlight_red">From v3.5.13, zTree will trigger this callback when user cancel edit name. please see 'isCancel' parameter.</p>
+ <p>Default: null</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which will be rename.</p>
+ <h4 class="topLine"><b>newName</b><span>String</span></h4>
+ <p>the new name</p>
+ <h4 class="topLine"><b>isCancel</b><span>Boolean</span></h4>
+ <p>the status about cancel edit name (v3.5.13+)</p>
+ <p class="highlight_red">isCancel = true means: user cancel edit name. (press ESC or use cancelEditName() function)</p>
+ <p class="highlight_red">isCancel = false means: user submit edit name.</p>
+ <h4 class="topLine"><b>Return </b><span>Boolean</span></h4>
+ <p>return true or false</p>
+ <p class="highlight_red">If return false, the treeNode will keep the editing name, don't trigger the 'onRename' callback, and will ignore other enents, until the callback return true.</p>
+ <p class="highlight_red">If returns false, zTree will not set the input box to get focus to avoid the warning message which led to repeated triggering ‘beforeRename’ callback. Please use editName() method to set the input box to get focus when user close the warning message.</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. the length of the new name can't less than 5</h4>
+ <pre xmlns=""><code>function zTreeBeforeRename(treeId, treeNode, newName, isCancel) {
+ return newName.length > 5;
+}
+var setting = {
+ edit: {
+ enable: true
+ },
+ callback: {
+ beforeRename: zTreeBeforeRename
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeRightClick.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeRightClick.html index 15c38cd5..9ee73876 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeRightClick.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.beforeRightClick.html @@ -1,35 +1,35 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeId, treeNode)</span><span class="path">setting.callback.</span>beforeRightClick</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Used to capture the right click event before the 'onRightClick' callback, zTree based on return value to determine whether to trigger the 'onRightClick' callback.</p> - <p>Default: null</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which is mouse right clicked</p> - <p class="highlight_red">If the DOM which mouse right clicked isn't a node, it will return null.</p> - <h4 class="topLine"><b>Return</b><span>Boolean</span></h4> - <p>return true or false</p> - <p class="highlight_red">If return false, ztree will not trigger the 'onRightClick' callback, no effect on other operations.</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. disable to trigger the 'onRightClick' callback</h4> - <pre xmlns=""><code>function zTreeBeforeRightClick(treeId, treeNode) { - return false; -}; -var setting = { - callback: { - beforeRightClick: zTreeBeforeRightClick - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeId, treeNode)</span><span class="path">setting.callback.</span>beforeRightClick</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Used to capture the right click event before the 'onRightClick' callback, zTree based on return value to determine whether to trigger the 'onRightClick' callback.</p>
+ <p>Default: null</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which is mouse right clicked</p>
+ <p class="highlight_red">If the DOM which mouse right clicked isn't a node, it will return null.</p>
+ <h4 class="topLine"><b>Return</b><span>Boolean</span></h4>
+ <p>return true or false</p>
+ <p class="highlight_red">If return false, ztree will not trigger the 'onRightClick' callback, no effect on other operations.</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. disable to trigger the 'onRightClick' callback</h4>
+ <pre xmlns=""><code>function zTreeBeforeRightClick(treeId, treeNode) {
+ return false;
+};
+var setting = {
+ callback: {
+ beforeRightClick: zTreeBeforeRightClick
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onAsyncError.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onAsyncError.html index 785c8d82..b2aaad0b 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onAsyncError.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onAsyncError.html @@ -1,42 +1,42 @@ -<div class="apiDetail"> -<div> - <h2><span class="path">setting.callback.</span>onAsyncError</h2> - <h2><span>Function(event, treeId, treeNode, XMLHttpRequest, textStatus, errorThrown)</span> </h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Used to capture the error event when execute ajax.</p> - <p class="highlight_red">If you set 'setting.callback.beforeAsync',and return false, zTree will not execute ajax, and will not trigger the 'onAsyncSuccess / onAsyncError' callback.</p> - <p>Default: null</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>event</b><span>js event Object</span></h4> - <p>event Object</p> - <h4 class="topLine"><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the parent node</p> - <p class="highlight_red">When load root nodes, treeNode = null</p> - <h4 class="topLine"><b>XMLHttpRequest</b><span>String</span></h4> - <p>XMLHttpRequest Object, please refer to JQuery API documentation.</p> - <h4 class="topLine"><b>textStatus</b><span>String</span></h4> - <p>a string categorizing the status of the request("success", "error"...), please refer to JQuery API documentation.</p> - <h4 class="topLine"><b>errorThrown</b><span>String</span></h4> - <p>eWhen an HTTP error occurs, errorThrown receives the textual portion of the HTTP status, please refer to JQuery API documentation.</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. When execute ajax make error, alert message.</h4> - <pre xmlns=""><code>function zTreeOnAsyncError(event, treeId, treeNode, XMLHttpRequest, textStatus, errorThrown) { - alert(XMLHttpRequest); -}; -var setting = { - callback: { - onAsyncError: zTreeOnAsyncError - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span class="path">setting.callback.</span>onAsyncError</h2>
+ <h2><span>Function(event, treeId, treeNode, XMLHttpRequest, textStatus, errorThrown)</span> </h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Used to capture the error event when execute ajax.</p>
+ <p class="highlight_red">If you set 'setting.callback.beforeAsync',and return false, zTree will not execute ajax, and will not trigger the 'onAsyncSuccess / onAsyncError' callback.</p>
+ <p>Default: null</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>event</b><span>js event Object</span></h4>
+ <p>event Object</p>
+ <h4 class="topLine"><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the parent node</p>
+ <p class="highlight_red">When load root nodes, treeNode = null</p>
+ <h4 class="topLine"><b>XMLHttpRequest</b><span>String</span></h4>
+ <p>XMLHttpRequest Object, please refer to JQuery API documentation.</p>
+ <h4 class="topLine"><b>textStatus</b><span>String</span></h4>
+ <p>a string categorizing the status of the request("success", "error"...), please refer to JQuery API documentation.</p>
+ <h4 class="topLine"><b>errorThrown</b><span>String</span></h4>
+ <p>eWhen an HTTP error occurs, errorThrown receives the textual portion of the HTTP status, please refer to JQuery API documentation.</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. When execute ajax make error, alert message.</h4>
+ <pre xmlns=""><code>function zTreeOnAsyncError(event, treeId, treeNode, XMLHttpRequest, textStatus, errorThrown) {
+ alert(XMLHttpRequest);
+};
+var setting = {
+ callback: {
+ onAsyncError: zTreeOnAsyncError
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onAsyncSuccess.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onAsyncSuccess.html index 2722691f..0f281dd4 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onAsyncSuccess.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onAsyncSuccess.html @@ -1,38 +1,38 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(event, treeId, treeNode, msg)</span><span class="path">setting.callback.</span>onAsyncSuccess</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Used to capture the complete success event when execute ajax.</p> - <p class="highlight_red">If you set 'setting.callback.beforeAsync',and return false, zTree will not execute ajax, and will not trigger the 'onAsyncSuccess / onAsyncError' callback.</p> - <p>Default: null</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>event</b><span>js event Object</span></h4> - <p>event Object</p> - <h4 class="topLine"><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the parent node</p> - <p class="highlight_red">When load root nodes, treeNode = null</p> - <h4 class="topLine"><b>msg</b><span>String / Object</span></h4> - <p>The actualnode data which got by ajax. User-friendly debugging.</p> - <p class="highlight_red">The actual data's type of msg is affected by 'setting.async.dataType', please refer to JQuery API documentation.</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. When execute ajax complete success, alert message.</h4> - <pre xmlns=""><code>function zTreeOnAsyncSuccess(event, treeId, treeNode, msg) { - alert(msg); -}; -var setting = { - callback: { - onAsyncSuccess: zTreeOnAsyncSuccess - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(event, treeId, treeNode, msg)</span><span class="path">setting.callback.</span>onAsyncSuccess</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Used to capture the complete success event when execute ajax.</p>
+ <p class="highlight_red">If you set 'setting.callback.beforeAsync',and return false, zTree will not execute ajax, and will not trigger the 'onAsyncSuccess / onAsyncError' callback.</p>
+ <p>Default: null</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>event</b><span>js event Object</span></h4>
+ <p>event Object</p>
+ <h4 class="topLine"><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the parent node</p>
+ <p class="highlight_red">When load root nodes, treeNode = null</p>
+ <h4 class="topLine"><b>msg</b><span>String / Object</span></h4>
+ <p>The actualnode data which got by ajax. User-friendly debugging.</p>
+ <p class="highlight_red">The actual data's type of msg is affected by 'setting.async.dataType', please refer to JQuery API documentation.</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. When execute ajax complete success, alert message.</h4>
+ <pre xmlns=""><code>function zTreeOnAsyncSuccess(event, treeId, treeNode, msg) {
+ alert(msg);
+};
+var setting = {
+ callback: {
+ onAsyncSuccess: zTreeOnAsyncSuccess
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onCheck.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onCheck.html index ed33f8d1..c6ce620a 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onCheck.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onCheck.html @@ -1,34 +1,34 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(event, treeId, treeNode)</span><span class="path">setting.callback.</span>onCheck</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Used to capture the check or uncheck event when check or uncheck the checkbox and radio.</p> - <p class="highlight_red">If you set 'setting.callback.beforeCheck',and return false, zTree will not change check state, and will not trigger the 'onCheck' callback.</p> - <p>Default: null</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>event</b><span>js event Object</span></h4> - <p>event Object</p> - <h4 class="topLine"><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which is checked or unchecked</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. When check or uncheck the checkbox and radio, alert info about 'tId' and 'name' and 'checked'.</h4> - <pre xmlns=""><code>function zTreeOnCheck(event, treeId, treeNode) { - alert(treeNode.tId + ", " + treeNode.name + "," + treeNode.checked); -}; -var setting = { - callback: { - onCheck: zTreeOnCheck - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(event, treeId, treeNode)</span><span class="path">setting.callback.</span>onCheck</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Used to capture the check or uncheck event when check or uncheck the checkbox and radio.</p>
+ <p class="highlight_red">If you set 'setting.callback.beforeCheck',and return false, zTree will not change check state, and will not trigger the 'onCheck' callback.</p>
+ <p>Default: null</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>event</b><span>js event Object</span></h4>
+ <p>event Object</p>
+ <h4 class="topLine"><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which is checked or unchecked</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. When check or uncheck the checkbox and radio, alert info about 'tId' and 'name' and 'checked'.</h4>
+ <pre xmlns=""><code>function zTreeOnCheck(event, treeId, treeNode) {
+ alert(treeNode.tId + ", " + treeNode.name + "," + treeNode.checked);
+};
+var setting = {
+ callback: {
+ onCheck: zTreeOnCheck
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onClick.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onClick.html index 0453af85..28649ad1 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onClick.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onClick.html @@ -1,49 +1,49 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(event, treeId, treeNode, clickFlag)</span><span class="path">setting.callback.</span>onClick</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Used to capture the click event when click node.</p> - <p class="highlight_red">If you set 'setting.callback.beforeClick',and return false, zTree will not change selected state, and will not trigger the 'onClick' callback.</p> - <p>Default: null</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>event</b><span>js event Object</span></h4> - <p>event Object</p> - <h4 class="topLine"><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which is clicked</p> - <h4 class="topLine"><b>clickFlag</b><span>Number</span></h4> - <p>Node is selected or deselected state, please see table below for details</p> - <table width="100%" border="0" cellspacing="1" cellpadding="0"> - <thead><tr><td>clickFlag</td><td title="Whether to allow multi-select">selectedMulti</td><td title="Whether to press Ctrl-key or Cmd-key">autoCancelSelected<br/>&&<br/>event.ctrlKey / metaKey</td><td title="Node's selection state">isSelected</td><td>operate for selected</td></tr></thead> - <tbody> - <tr><td>1</td><td>true</td><td>false</td><td>false</td><td>node is selected (single)</td></tr> - <tr><td>1</td><td>true</td><td>false</td><td>true</td><td>node is selected (single)</td></tr> - <tr><td>2</td><td>true</td><td>true</td><td>false</td><td>node is selected (multi)</td></tr> - <tr><td>0</td><td>true</td><td>true</td><td>true</td><td>node is deselected</td></tr> - <tr><td>1</td><td>false</td><td>false</td><td>false</td><td>node is selected (single)</td></tr> - <tr><td>1</td><td>false</td><td>false</td><td>true</td><td>node is selected (single)</td></tr> - <tr><td>1</td><td>false</td><td>true</td><td>false</td><td>node is selected (single)</td></tr> - <tr><td>0</td><td>false</td><td>true</td><td>true</td><td>node is deselected</td></tr> - </tbody> - </table> - </div> - <h3>Examples of setting & function</h3> - <h4>1. When click node, alert info about 'tId' and 'name'.</h4> - <pre xmlns=""><code>function zTreeOnClick(event, treeId, treeNode) { - alert(treeNode.tId + ", " + treeNode.name); -}; -var setting = { - callback: { - onClick: zTreeOnClick - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(event, treeId, treeNode, clickFlag)</span><span class="path">setting.callback.</span>onClick</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Used to capture the click event when click node.</p>
+ <p class="highlight_red">If you set 'setting.callback.beforeClick',and return false, zTree will not change selected state, and will not trigger the 'onClick' callback.</p>
+ <p>Default: null</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>event</b><span>js event Object</span></h4>
+ <p>event Object</p>
+ <h4 class="topLine"><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which is clicked</p>
+ <h4 class="topLine"><b>clickFlag</b><span>Number</span></h4>
+ <p>Node is selected or deselected state, please see table below for details</p>
+ <table width="100%" border="0" cellspacing="1" cellpadding="0">
+ <thead><tr><td>clickFlag</td><td title="Whether to allow multi-select">selectedMulti</td><td title="Whether to press Ctrl-key or Cmd-key">autoCancelSelected<br/>&&<br/>event.ctrlKey / metaKey</td><td title="Node's selection state">isSelected</td><td>operate for selected</td></tr></thead>
+ <tbody>
+ <tr><td>1</td><td>true</td><td>false</td><td>false</td><td>node is selected (single)</td></tr>
+ <tr><td>1</td><td>true</td><td>false</td><td>true</td><td>node is selected (single)</td></tr>
+ <tr><td>2</td><td>true</td><td>true</td><td>false</td><td>node is selected (multi)</td></tr>
+ <tr><td>0</td><td>true</td><td>true</td><td>true</td><td>node is deselected</td></tr>
+ <tr><td>1</td><td>false</td><td>false</td><td>false</td><td>node is selected (single)</td></tr>
+ <tr><td>1</td><td>false</td><td>false</td><td>true</td><td>node is selected (single)</td></tr>
+ <tr><td>1</td><td>false</td><td>true</td><td>false</td><td>node is selected (single)</td></tr>
+ <tr><td>0</td><td>false</td><td>true</td><td>true</td><td>node is deselected</td></tr>
+ </tbody>
+ </table>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. When click node, alert info about 'tId' and 'name'.</h4>
+ <pre xmlns=""><code>function zTreeOnClick(event, treeId, treeNode) {
+ alert(treeNode.tId + ", " + treeNode.name);
+};
+var setting = {
+ callback: {
+ onClick: zTreeOnClick
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onCollapse.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onCollapse.html index d605dc8e..2ae093a9 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onCollapse.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onCollapse.html @@ -1,34 +1,34 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(event, treeId, treeNode)</span><span class="path">setting.callback.</span>onCollapse</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Used to capture the event when collapse node.</p> - <p class="highlight_red">If you set 'setting.callback.beforeCollapse',and return false, zTree will not collapse node, and will not trigger the 'onCollapse' callback.</p> - <p>Default: null</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>event</b><span>js event Object</span></h4> - <p>event Object</p> - <h4 class="topLine"><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which will be collapsed</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. When collapse node, alert info about 'tId' and 'name'.</h4> - <pre xmlns=""><code>function zTreeOnCollapse(event, treeId, treeNode) { - alert(treeNode.tId + ", " + treeNode.name); -}; -var setting = { - callback: { - onCollapse: zTreeOnCollapse - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(event, treeId, treeNode)</span><span class="path">setting.callback.</span>onCollapse</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Used to capture the event when collapse node.</p>
+ <p class="highlight_red">If you set 'setting.callback.beforeCollapse',and return false, zTree will not collapse node, and will not trigger the 'onCollapse' callback.</p>
+ <p>Default: null</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>event</b><span>js event Object</span></h4>
+ <p>event Object</p>
+ <h4 class="topLine"><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which will be collapsed</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. When collapse node, alert info about 'tId' and 'name'.</h4>
+ <pre xmlns=""><code>function zTreeOnCollapse(event, treeId, treeNode) {
+ alert(treeNode.tId + ", " + treeNode.name);
+};
+var setting = {
+ callback: {
+ onCollapse: zTreeOnCollapse
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onDblClick.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onDblClick.html index fbd47e8d..ceeaa1bb 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onDblClick.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onDblClick.html @@ -1,35 +1,35 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(event, treeId, treeNode)</span><span class="path">setting.callback.</span>onDblClick</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Used to capture the dblclick event when double click node.</p> - <p class="highlight_red">If you set 'setting.callback.beforeDblClick',and return false, zTree will not trigger the 'onDblClick' callback.</p> - <p>Default: null</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>event</b><span>js event Object</span></h4> - <p>event Object</p> - <h4 class="topLine"><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which is double clicked</p> - <p class="highlight_red">If the DOM which dblclicked isn't a node, it will return null.</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. When double click node, alert info about 'tId' and 'name'.</h4> - <pre xmlns=""><code>function zTreeOnDblClick(event, treeId, treeNode) { - alert(treeNode ? treeNode.tId + ", " + treeNode.name : "isRoot"); -}; -var setting = { - callback: { - onDblClick: zTreeOnDblClick - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(event, treeId, treeNode)</span><span class="path">setting.callback.</span>onDblClick</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Used to capture the dblclick event when double click node.</p>
+ <p class="highlight_red">If you set 'setting.callback.beforeDblClick',and return false, zTree will not trigger the 'onDblClick' callback.</p>
+ <p>Default: null</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>event</b><span>js event Object</span></h4>
+ <p>event Object</p>
+ <h4 class="topLine"><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which is double clicked</p>
+ <p class="highlight_red">If the DOM which dblclicked isn't a node, it will return null.</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. When double click node, alert info about 'tId' and 'name'.</h4>
+ <pre xmlns=""><code>function zTreeOnDblClick(event, treeId, treeNode) {
+ alert(treeNode ? treeNode.tId + ", " + treeNode.name : "isRoot");
+};
+var setting = {
+ callback: {
+ onDblClick: zTreeOnDblClick
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onDrag.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onDrag.html index d178b635..76ee2e2f 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onDrag.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onDrag.html @@ -1,34 +1,34 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(event, treeId, treeNodes)</span><span class="path">setting.callback.</span>onDrag</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Used to capture the drag event when drag node.</p> - <p class="highlight_red">If you set 'setting.callback.beforeDrag',and return false, zTree will stop drag, and will not trigger the 'onDragMove' & 'onDrag' callback.</p> - <p>Default: null</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>event</b><span>js event Object</span></h4> - <p>event Object</p> - <h4 class="topLine"><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, the tree is what the treeNodes are belong to, easy for users to control.</p> - <h4 class="topLine"><b>treeNodes</b><span>Array(JSON)</span></h4> - <p>A collection of the nodes which will be dragged</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. When drag nodes, alert the number of dragged nodes.</h4> - <pre xmlns=""><code>function zTreeOnDrag(event, treeId, treeNodes) { - alert(treeNodes.length); -}; -var setting = { - callback: { - onDrag: zTreeOnDrag - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(event, treeId, treeNodes)</span><span class="path">setting.callback.</span>onDrag</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Used to capture the drag event when drag node.</p>
+ <p class="highlight_red">If you set 'setting.callback.beforeDrag',and return false, zTree will stop drag, and will not trigger the 'onDragMove' & 'onDrag' callback.</p>
+ <p>Default: null</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>event</b><span>js event Object</span></h4>
+ <p>event Object</p>
+ <h4 class="topLine"><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, the tree is what the treeNodes are belong to, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNodes</b><span>Array(JSON)</span></h4>
+ <p>A collection of the nodes which will be dragged</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. When drag nodes, alert the number of dragged nodes.</h4>
+ <pre xmlns=""><code>function zTreeOnDrag(event, treeId, treeNodes) {
+ alert(treeNodes.length);
+};
+var setting = {
+ callback: {
+ onDrag: zTreeOnDrag
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onDragMove.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onDragMove.html index a56e8353..dcc5031f 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onDragMove.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onDragMove.html @@ -1,34 +1,34 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(event, treeId, treeNodes)</span><span class="path">setting.callback.</span>onDragMove</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Used to capture the drag-move event when drag & drop node.</p> - <p class="highlight_red">Mainly used to capture the DOM which the nodes was drag in. </p> - <p>Default: null</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>event</b><span>js event Object</span></h4> - <p>event Object</p> - <h4 class="topLine"><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, the tree is what the treeNodes are belong to, easy for users to control.</p> - <h4 class="topLine"><b>treeNodes</b><span>Array(JSON)</span></h4> - <p>A collection of the nodes which will be dragged</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. When drag nodes, output the target dom.</h4> - <pre xmlns=""><code>function zTreeOnDragMove(event, treeId, treeNodes) { - console.log(event.target); -}; -var setting = { - callback: { - onDragMove: zTreeOnDragMove - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(event, treeId, treeNodes)</span><span class="path">setting.callback.</span>onDragMove</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Used to capture the drag-move event when drag & drop node.</p>
+ <p class="highlight_red">Mainly used to capture the DOM which the nodes was drag in. </p>
+ <p>Default: null</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>event</b><span>js event Object</span></h4>
+ <p>event Object</p>
+ <h4 class="topLine"><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, the tree is what the treeNodes are belong to, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNodes</b><span>Array(JSON)</span></h4>
+ <p>A collection of the nodes which will be dragged</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. When drag nodes, output the target dom.</h4>
+ <pre xmlns=""><code>function zTreeOnDragMove(event, treeId, treeNodes) {
+ console.log(event.target);
+};
+var setting = {
+ callback: {
+ onDragMove: zTreeOnDragMove
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onDrop.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onDrop.html index 63624631..229b6ab2 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onDrop.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onDrop.html @@ -1,48 +1,48 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(event, treeId, treeNodes, targetNode, moveType, isCopy)</span><span class="path">setting.callback.</span>onDrop</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Used to capture the drop event when drag-drop node.</p> - <p class="highlight_red">If you set 'setting.callback.beforeDrop',and return false, zTree will restore the dragged nodes, and will not trigger the 'onDrop' callback.</p> - <p>Default: null</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>event</b><span>js event Object</span></h4> - <p>event Object</p> - <h4 class="topLine"><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, the tree is what the targetNode is belong to, easy for users to control.</p> - <h4 class="topLine"><b>treeNodes</b><span>Array(JSON)</span></h4> - <p>A collection of the nodes which has been dragged</p> - <p class="highlight_red">The treeNodes are the data of the nodes which be dragged, when move nodes.</p> - <p class="highlight_red">The treeNodes are the clone data of the nodes which be dragged, when copy nodes.</p> - <h4 class="topLine"><b>targetNode</b><span>JSON</span></h4> - <p>JSON data object of the target node which treeNodes are drag-dropped.</p> - <p class="highlight_red">If the treeNodes will be root node, the targetNode = null</p> - <h4 class="topLine"><b>moveType</b><span>String</span></h4> - <p>the relative position of move to the target node</p> - <p class="highlight_red">"inner": will be child of targetNode</p> - <p class="highlight_red">"prev": will be sibling node, and be in front of targetNode</p> - <p class="highlight_red">"next": will be sibling node, and be behind targetNode</p> - <p class="highlight_red">If moveType is null, means drag & drop is cancel.</p> - <h4 class="topLine"><b>isCopy</b><span>Boolean</span></h4> - <p>the flag used to judge copy node or move node</p> - <p class="highlight_red">true: copy node; false: move node</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. When drag-drop nodes complete, alert the number of dragged nodes and info about targetNode.</h4> - <pre xmlns=""><code>function zTreeOnDrop(event, treeId, treeNodes, targetNode, moveType) { - alert(treeNodes.length + "," + (targetNode ? (targetNode.tId + ", " + targetNode.name) : "isRoot" )); -}; -var setting = { - callback: { - onDrop: zTreeOnDrop - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(event, treeId, treeNodes, targetNode, moveType, isCopy)</span><span class="path">setting.callback.</span>onDrop</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Used to capture the drop event when drag-drop node.</p>
+ <p class="highlight_red">If you set 'setting.callback.beforeDrop',and return false, zTree will restore the dragged nodes, and will not trigger the 'onDrop' callback.</p>
+ <p>Default: null</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>event</b><span>js event Object</span></h4>
+ <p>event Object</p>
+ <h4 class="topLine"><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, the tree is what the targetNode is belong to, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNodes</b><span>Array(JSON)</span></h4>
+ <p>A collection of the nodes which has been dragged</p>
+ <p class="highlight_red">The treeNodes are the data of the nodes which be dragged, when move nodes.</p>
+ <p class="highlight_red">The treeNodes are the clone data of the nodes which be dragged, when copy nodes.</p>
+ <h4 class="topLine"><b>targetNode</b><span>JSON</span></h4>
+ <p>JSON data object of the target node which treeNodes are drag-dropped.</p>
+ <p class="highlight_red">If the treeNodes will be root node, the targetNode = null</p>
+ <h4 class="topLine"><b>moveType</b><span>String</span></h4>
+ <p>the relative position of move to the target node</p>
+ <p class="highlight_red">"inner": will be child of targetNode</p>
+ <p class="highlight_red">"prev": will be sibling node, and be in front of targetNode</p>
+ <p class="highlight_red">"next": will be sibling node, and be behind targetNode</p>
+ <p class="highlight_red">If moveType is null, means drag & drop is cancel.</p>
+ <h4 class="topLine"><b>isCopy</b><span>Boolean</span></h4>
+ <p>the flag used to judge copy node or move node</p>
+ <p class="highlight_red">true: copy node; false: move node</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. When drag-drop nodes complete, alert the number of dragged nodes and info about targetNode.</h4>
+ <pre xmlns=""><code>function zTreeOnDrop(event, treeId, treeNodes, targetNode, moveType) {
+ alert(treeNodes.length + "," + (targetNode ? (targetNode.tId + ", " + targetNode.name) : "isRoot" ));
+};
+var setting = {
+ callback: {
+ onDrop: zTreeOnDrop
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onExpand.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onExpand.html index 7b9d8d50..d375f6f4 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onExpand.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onExpand.html @@ -1,34 +1,34 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(event, treeId, treeNode)</span><span class="path">setting.callback.</span>onExpand</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Used to capture the event when expand node.</p> - <p class="highlight_red">If you set 'setting.callback.beforeExpand',and return false, zTree will not expand node, and will not trigger the 'onExpand' callback.</p> - <p>Default: null</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>event</b><span>js event Object</span></h4> - <p>event Object</p> - <h4 class="topLine"><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which will be expanded</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. When expand node, alert info about 'tId' and 'name'.</h4> - <pre xmlns=""><code>function zTreeOnExpand(event, treeId, treeNode) { - alert(treeNode.tId + ", " + treeNode.name); -}; -var setting = { - callback: { - onExpand: zTreeOnExpand - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(event, treeId, treeNode)</span><span class="path">setting.callback.</span>onExpand</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Used to capture the event when expand node.</p>
+ <p class="highlight_red">If you set 'setting.callback.beforeExpand',and return false, zTree will not expand node, and will not trigger the 'onExpand' callback.</p>
+ <p>Default: null</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>event</b><span>js event Object</span></h4>
+ <p>event Object</p>
+ <h4 class="topLine"><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which will be expanded</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. When expand node, alert info about 'tId' and 'name'.</h4>
+ <pre xmlns=""><code>function zTreeOnExpand(event, treeId, treeNode) {
+ alert(treeNode.tId + ", " + treeNode.name);
+};
+var setting = {
+ callback: {
+ onExpand: zTreeOnExpand
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onMouseDown.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onMouseDown.html index bfd714c2..cf94216a 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onMouseDown.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onMouseDown.html @@ -1,35 +1,35 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(event, treeId, treeNode)</span><span class="path">setting.callback.</span>onMouseDown</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Used to capture the event when mouse down.</p> - <p class="highlight_red">If you set 'setting.callback.beforeMouseDown',and return false, zTree will not trigger the 'onMouseDown' callback.</p> - <p>Default: null</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>event</b><span>js event Object</span></h4> - <p>event Object</p> - <h4 class="topLine"><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which mouse over</p> - <p class="highlight_red">If the DOM which mouse over isn't a node, it will return null.</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. When mouse down, alert info about 'tId' and 'name'.</h4> - <pre xmlns=""><code>function zTreeOnMouseDown(event, treeId, treeNode) { - alert(treeNode ? treeNode.tId + ", " + treeNode.name : "isRoot"); -}; -var setting = { - callback: { - onMouseDown: zTreeOnMouseDown - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(event, treeId, treeNode)</span><span class="path">setting.callback.</span>onMouseDown</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Used to capture the event when mouse down.</p>
+ <p class="highlight_red">If you set 'setting.callback.beforeMouseDown',and return false, zTree will not trigger the 'onMouseDown' callback.</p>
+ <p>Default: null</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>event</b><span>js event Object</span></h4>
+ <p>event Object</p>
+ <h4 class="topLine"><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which mouse over</p>
+ <p class="highlight_red">If the DOM which mouse over isn't a node, it will return null.</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. When mouse down, alert info about 'tId' and 'name'.</h4>
+ <pre xmlns=""><code>function zTreeOnMouseDown(event, treeId, treeNode) {
+ alert(treeNode ? treeNode.tId + ", " + treeNode.name : "isRoot");
+};
+var setting = {
+ callback: {
+ onMouseDown: zTreeOnMouseDown
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onMouseUp.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onMouseUp.html index 93edf319..2c0348a9 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onMouseUp.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onMouseUp.html @@ -1,35 +1,35 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(event, treeId, treeNode)</span><span class="path">setting.callback.</span>onMouseUp</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Used to capture the event when mouse up.</p> - <p class="highlight_red">If you set 'setting.callback.beforeMouseUp',and return false, zTree will not trigger the 'onMouseUp' callback.</p> - <p>Default: null</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>event</b><span>js event Object</span></h4> - <p>event Object</p> - <h4 class="topLine"><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which mouse over</p> - <p class="highlight_red">If the DOM which mouse over isn't a node, it will return null.</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. When mouse up, alert info about 'tId' and 'name'.</h4> - <pre xmlns=""><code>function zTreeOnMouseUp(event, treeId, treeNode) { - alert(treeNode ? treeNode.tId + ", " + treeNode.name : "isRoot"); -}; -var setting = { - callback: { - onMouseUp: zTreeOnMouseUp - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(event, treeId, treeNode)</span><span class="path">setting.callback.</span>onMouseUp</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Used to capture the event when mouse up.</p>
+ <p class="highlight_red">If you set 'setting.callback.beforeMouseUp',and return false, zTree will not trigger the 'onMouseUp' callback.</p>
+ <p>Default: null</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>event</b><span>js event Object</span></h4>
+ <p>event Object</p>
+ <h4 class="topLine"><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which mouse over</p>
+ <p class="highlight_red">If the DOM which mouse over isn't a node, it will return null.</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. When mouse up, alert info about 'tId' and 'name'.</h4>
+ <pre xmlns=""><code>function zTreeOnMouseUp(event, treeId, treeNode) {
+ alert(treeNode ? treeNode.tId + ", " + treeNode.name : "isRoot");
+};
+var setting = {
+ callback: {
+ onMouseUp: zTreeOnMouseUp
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onNodeCreated.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onNodeCreated.html index a98b572f..a60768d6 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onNodeCreated.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onNodeCreated.html @@ -1,35 +1,35 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(event, treeId, treeNode)</span><span class="path">setting.callback.</span>onNodeCreated</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Used to capture the event when node's DOM is created.</p> - <p class="highlight_red">Because v3.x uses lazy loading technology, so the nodes which doesn't create DOM when initialized will not trigger this callback, until its parent node is expanded.</p> - <p class="highlight_red">Large amount of data to load, please note: do not set onNodeCreated, can improve performance as when initialized.</p> - <p>Default: null</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>event</b><span>js event Object</span></h4> - <p>event Object</p> - <h4 class="topLine"><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which DOM is created</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. When node's DOM is created, alert info about 'tId' and 'name'.</h4> - <pre xmlns=""><code>function zTreeOnNodeCreated(event, treeId, treeNode) { - alert(treeNode.tId + ", " + treeNode.name); -}; -var setting = { - callback: { - onNodeCreated: zTreeOnNodeCreated - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(event, treeId, treeNode)</span><span class="path">setting.callback.</span>onNodeCreated</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Used to capture the event when node's DOM is created.</p>
+ <p class="highlight_red">Because v3.x uses lazy loading technology, so the nodes which doesn't create DOM when initialized will not trigger this callback, until its parent node is expanded.</p>
+ <p class="highlight_red">Large amount of data to load, please note: do not set onNodeCreated, can improve performance as when initialized.</p>
+ <p>Default: null</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>event</b><span>js event Object</span></h4>
+ <p>event Object</p>
+ <h4 class="topLine"><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which DOM is created</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. When node's DOM is created, alert info about 'tId' and 'name'.</h4>
+ <pre xmlns=""><code>function zTreeOnNodeCreated(event, treeId, treeNode) {
+ alert(treeNode.tId + ", " + treeNode.name);
+};
+var setting = {
+ callback: {
+ onNodeCreated: zTreeOnNodeCreated
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onRemove.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onRemove.html index ce294136..5a520493 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onRemove.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onRemove.html @@ -1,34 +1,34 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(event, treeId, treeNode)</span><span class="path">setting.callback.</span>onRemove</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Used to capture the event when remove node.</p> - <p class="highlight_red">If you set 'setting.callback.beforeRemove',and return false, zTree will not remove node, and will not trigger the 'onRemove' callback.</p> - <p>Default: null</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>event</b><span>js event Object</span></h4> - <p>event Object</p> - <h4 class="topLine"><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which was removed.</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. When remove node, alert info about 'tId' and 'name'.</h4> - <pre xmlns=""><code>function zTreeOnRemove(event, treeId, treeNode) { - alert(treeNode.tId + ", " + treeNode.name); -} -var setting = { - callback: { - onRemove: zTreeOnRemove - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(event, treeId, treeNode)</span><span class="path">setting.callback.</span>onRemove</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Used to capture the event when remove node.</p>
+ <p class="highlight_red">If you set 'setting.callback.beforeRemove',and return false, zTree will not remove node, and will not trigger the 'onRemove' callback.</p>
+ <p>Default: null</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>event</b><span>js event Object</span></h4>
+ <p>event Object</p>
+ <h4 class="topLine"><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which was removed.</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. When remove node, alert info about 'tId' and 'name'.</h4>
+ <pre xmlns=""><code>function zTreeOnRemove(event, treeId, treeNode) {
+ alert(treeNode.tId + ", " + treeNode.name);
+}
+var setting = {
+ callback: {
+ onRemove: zTreeOnRemove
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onRename.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onRename.html index cd47eae1..5a7cdd86 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onRename.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onRename.html @@ -1,40 +1,40 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(event, treeId, treeNode, isCancel)</span><span class="path">setting.callback.</span>onRename</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Used to capture the event when remove node.</p> - <p class="highlight_red">1. If you set 'setting.callback.beforeRename',and return false, zTree will keep the editing name, and will not trigger the 'onRename' callback.</p> - <p class="highlight_red">2. If you modity treeNode data, and use 'updateNode' function, zTree will not trigger the 'onRename' callback.</p> - <p class="highlight_red">3. From v3.5.13, zTree will trigger this callback when user cancel edit name. please see 'isCancel' parameter.</p> - <p>Default: null</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>event</b><span>js event Object</span></h4> - <p>event Object</p> - <h4 class="topLine"><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which was rename.</p> - <h4 class="topLine"><b>isCancel</b><span>Boolean</span></h4> - <p>the status about cancel edit name (v3.5.13+)</p> - <p class="highlight_red">isCancel = true means: user cancel edit name. (press ESC or use cancelEditName() function)</p> - <p class="highlight_red">isCancel = false means: user submit edit name.</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. When rename node, alert info about 'tId' and 'name'.</h4> - <pre xmlns=""><code>function zTreeOnRename(event, treeId, treeNode, isCancel) { - alert(treeNode.tId + ", " + treeNode.name); -} -var setting = { - callback: { - onRename: zTreeOnRename - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(event, treeId, treeNode, isCancel)</span><span class="path">setting.callback.</span>onRename</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Used to capture the event when remove node.</p>
+ <p class="highlight_red">1. If you set 'setting.callback.beforeRename',and return false, zTree will keep the editing name, and will not trigger the 'onRename' callback.</p>
+ <p class="highlight_red">2. If you modity treeNode data, and use 'updateNode' function, zTree will not trigger the 'onRename' callback.</p>
+ <p class="highlight_red">3. From v3.5.13, zTree will trigger this callback when user cancel edit name. please see 'isCancel' parameter.</p>
+ <p>Default: null</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>event</b><span>js event Object</span></h4>
+ <p>event Object</p>
+ <h4 class="topLine"><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which was rename.</p>
+ <h4 class="topLine"><b>isCancel</b><span>Boolean</span></h4>
+ <p>the status about cancel edit name (v3.5.13+)</p>
+ <p class="highlight_red">isCancel = true means: user cancel edit name. (press ESC or use cancelEditName() function)</p>
+ <p class="highlight_red">isCancel = false means: user submit edit name.</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. When rename node, alert info about 'tId' and 'name'.</h4>
+ <pre xmlns=""><code>function zTreeOnRename(event, treeId, treeNode, isCancel) {
+ alert(treeNode.tId + ", " + treeNode.name);
+}
+var setting = {
+ callback: {
+ onRename: zTreeOnRename
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onRightClick.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onRightClick.html index 86b4b012..95756518 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onRightClick.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.callback.onRightClick.html @@ -1,36 +1,36 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(event, treeId, treeNode)</span><span class="path">setting.callback.</span>onRightClick</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Used to capture the event when mouse right click node.</p> - <p class="highlight_red">If you set 'setting.callback.beforeRightClick',and return false, zTree will not trigger the 'onRightClick' callback.</p> - <p class="highlight_red">If you set 'setting.callback.onRightClick', zTree will shield the browser context menu when mouse right click on zTree.</p> - <p>Default: null</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>event</b><span>js event Object</span></h4> - <p>event Object</p> - <h4 class="topLine"><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which is mouse right clicked</p> - <p class="highlight_red">If the DOM which mouse right clicked isn't a node, it will return null.</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. When mouse right click node, alert info about 'tId' and 'name'.</h4> - <pre xmlns=""><code>function zTreeOnRightClick(event, treeId, treeNode) { - alert(treeNode ? treeNode.tId + ", " + treeNode.name : "isRoot"); -}; -var setting = { - callback: { - onRightClick: zTreeOnRightClick - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(event, treeId, treeNode)</span><span class="path">setting.callback.</span>onRightClick</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Used to capture the event when mouse right click node.</p>
+ <p class="highlight_red">If you set 'setting.callback.beforeRightClick',and return false, zTree will not trigger the 'onRightClick' callback.</p>
+ <p class="highlight_red">If you set 'setting.callback.onRightClick', zTree will shield the browser context menu when mouse right click on zTree.</p>
+ <p>Default: null</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>event</b><span>js event Object</span></h4>
+ <p>event Object</p>
+ <h4 class="topLine"><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which is mouse right clicked</p>
+ <p class="highlight_red">If the DOM which mouse right clicked isn't a node, it will return null.</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. When mouse right click node, alert info about 'tId' and 'name'.</h4>
+ <pre xmlns=""><code>function zTreeOnRightClick(event, treeId, treeNode) {
+ alert(treeNode ? treeNode.tId + ", " + treeNode.name : "isRoot");
+};
+var setting = {
+ callback: {
+ onRightClick: zTreeOnRightClick
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.check.autoCheckTrigger.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.check.autoCheckTrigger.html index b8b04cca..baa08693 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.check.autoCheckTrigger.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.check.autoCheckTrigger.html @@ -1,29 +1,29 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">setting.check.</span>autoCheckTrigger</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>When node is automatically checked or unchecked, this parameter used to set to trigger 'beforeCheck / onCheck' callback. It is valid when <span class="highlight_red">[setting.check.enable = true & setting.check.chkStyle = "checkbox"]</span></p> - <p class="highlight_red">1. If you set 'setting.check.chkboxType' to { "Y": "", "N": "" }, will not automatically checked or unchecked.</p> - <p class="highlight_red">2. If you turn on the trigger and there are many more nodes, will affect the performance, because the check or uncheck node can cause many nodes to be automatically checked or unchecked, it will trigger a lot of callbacks, according to the need to decide whether to use this feature.</p> - <p>Default: false</p> - </div> - </div> - <h3>Boolean Format</h3> - <div class="desc"> - <p> true means: trigger callback</p> - <p> false means: don't trigger callback</p> - </div> - <h3>Examples of setting</h3> - <h4>1. When node is automatically checked or unchecked, zTree trigger 'beforeCheck / onCheck' callback.</h4> - <pre xmlns=""><code>var setting = { - check: { - enable: true, - autoCheckTrigger: true - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">setting.check.</span>autoCheckTrigger</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>When node is automatically checked or unchecked, this parameter used to set to trigger 'beforeCheck / onCheck' callback. It is valid when <span class="highlight_red">[setting.check.enable = true & setting.check.chkStyle = "checkbox"]</span></p>
+ <p class="highlight_red">1. If you set 'setting.check.chkboxType' to { "Y": "", "N": "" }, will not automatically checked or unchecked.</p>
+ <p class="highlight_red">2. If you turn on the trigger and there are many more nodes, will affect the performance, because the check or uncheck node can cause many nodes to be automatically checked or unchecked, it will trigger a lot of callbacks, according to the need to decide whether to use this feature.</p>
+ <p>Default: false</p>
+ </div>
+ </div>
+ <h3>Boolean Format</h3>
+ <div class="desc">
+ <p> true means: trigger callback</p>
+ <p> false means: don't trigger callback</p>
+ </div>
+ <h3>Examples of setting</h3>
+ <h4>1. When node is automatically checked or unchecked, zTree trigger 'beforeCheck / onCheck' callback.</h4>
+ <pre xmlns=""><code>var setting = {
+ check: {
+ enable: true,
+ autoCheckTrigger: true
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.check.chkDisabledInherit.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.check.chkDisabledInherit.html index 98d824e4..5c55cec7 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.check.chkDisabledInherit.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.check.chkDisabledInherit.html @@ -1,28 +1,28 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">setting.check.</span>chkDisabledInherit</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>When the parent node's 'chkDisabled' attribute is true, set the child nodes automatically inherit the 'chkDisabled' attribute. It is valid when <span class="highlight_red">[setting.check.enable = true]</span></p> - <p class="highlight_red">1. Only be used to initialize the nodes, easy batch operations. Please use the 'updateNode' method modify existing node.</p> - <p>Default: false</p> - </div> - </div> - <h3>Boolean Format</h3> - <div class="desc"> - <p> true means: When add new child nodes, if parent node's 'chkDisabled' attribute is true, the child nodes automatically inherit the 'chkDisabled' attribute.</p> - <p> false means: When add new child nodes, the child nodes don't inherit the 'chkDisabled' attribute from parent node.</p> - </div> - <h3>Examples of setting</h3> - <h4>1. When add new child nodes, the child nodes automatically inherit the 'chkDisabled' attribute from parent node.</h4> - <pre xmlns=""><code>var setting = { - check: { - enable: true, - chkDisabledInherit: true - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">setting.check.</span>chkDisabledInherit</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>When the parent node's 'chkDisabled' attribute is true, set the child nodes automatically inherit the 'chkDisabled' attribute. It is valid when <span class="highlight_red">[setting.check.enable = true]</span></p>
+ <p class="highlight_red">1. Only be used to initialize the nodes, easy batch operations. Please use the 'updateNode' method modify existing node.</p>
+ <p>Default: false</p>
+ </div>
+ </div>
+ <h3>Boolean Format</h3>
+ <div class="desc">
+ <p> true means: When add new child nodes, if parent node's 'chkDisabled' attribute is true, the child nodes automatically inherit the 'chkDisabled' attribute.</p>
+ <p> false means: When add new child nodes, the child nodes don't inherit the 'chkDisabled' attribute from parent node.</p>
+ </div>
+ <h3>Examples of setting</h3>
+ <h4>1. When add new child nodes, the child nodes automatically inherit the 'chkDisabled' attribute from parent node.</h4>
+ <pre xmlns=""><code>var setting = {
+ check: {
+ enable: true,
+ chkDisabledInherit: true
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.check.chkStyle.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.check.chkStyle.html index d42e757a..af694801 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.check.chkStyle.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.check.chkStyle.html @@ -1,48 +1,48 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">setting.check.</span>chkStyle</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Use the checkbox or radio. It is valid when <span class="highlight_red">[setting.check.enable = true]</span></p> - <p>Default: "checkbox"</p> - </div> - </div> - <h3>String Format</h3> - <div class="desc"> - <p>When chkStyle = "checkbox", zTree show checkbox, and '<span class="highlight_red">setting.check.chkboxType</span>' attribute is valid. -<br/>When chkStyle = "radio", zTree show radio, and '<span class="highlight_red">setting.check.radioType</span>' attribute is valid.</p> - <p class="highlight_red">Please note that letter case, do not change.</p> - </div> - <h3>checkbox States Descriptions</h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p><button type="button" class="chk checkbox_false_full"></button>not checked; <span class="highlight_red">If node is parent, so its child nodes have been not checked.</span> when mouse over: <button type="button" class="chk checkbox_false_full_focus"></button></p> - <p><button type="button" class="chk checkbox_false_part"></button>not checked; (only parent node) <span class="highlight_red">some of its child nodes have been checked.</span> when mouse over: <button type="button" class="chk checkbox_false_part_focus"></button></p> - <p><button type="button" class="chk checkbox_true_full"></button>be checked; <span class="highlight_red">If node is parent, so its all child nodes have been checked.</span> when mouse over: <button type="button" class="chk checkbox_true_full_focus"></button></p> - <p><button type="button" class="chk checkbox_true_part"></button>be checked; (only parent node) <span class="highlight_red">some of its child nodes or all have been not checked.</span> when mouse over: <button type="button" class="chk checkbox_true_part_focus"></button></p> - </div> - </div> - <h3>radio States Descriptions</h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p><button type="button" class="chk radio_false_full"></button>not checked; <span class="highlight_red">If node is parent, so its child have been not checked.</span> when mouse over: <button type="button" class="chk radio_false_full_focus"></button></p> - <p><button type="button" class="chk radio_false_part"></button>not checked; (only parent node) <span class="highlight_red">some of its child have been checked.</span> when mouse over: <button type="button" class="chk radio_false_part_focus"></button></p> - <p><button type="button" class="chk radio_true_full"></button>be checked; <span class="highlight_red">If node is parent, so its child have been not checked.</span> when mouse over: <button type="button" class="chk radio_true_full_focus"></button></p> - <p><button type="button" class="chk radio_true_part"></button>be checked; (only parent node) <span class="highlight_red">some of its child have been checked.</span> when mouse over: <button type="button" class="chk radio_true_part_focus"></button></p> - </div> - </div> - <h3>Examples of setting</h3> - <h4>1. use radio</h4> - <pre xmlns=""><code>var setting = { - check: { - enable: true, - chkStyle: "radio" - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">setting.check.</span>chkStyle</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Use the checkbox or radio. It is valid when <span class="highlight_red">[setting.check.enable = true]</span></p>
+ <p>Default: "checkbox"</p>
+ </div>
+ </div>
+ <h3>String Format</h3>
+ <div class="desc">
+ <p>When chkStyle = "checkbox", zTree show checkbox, and '<span class="highlight_red">setting.check.chkboxType</span>' attribute is valid.
+<br/>When chkStyle = "radio", zTree show radio, and '<span class="highlight_red">setting.check.radioType</span>' attribute is valid.</p>
+ <p class="highlight_red">Please note that letter case, do not change.</p>
+ </div>
+ <h3>checkbox States Descriptions</h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p><button type="button" class="chk checkbox_false_full"></button>not checked; <span class="highlight_red">If node is parent, so its child nodes have been not checked.</span> when mouse over: <button type="button" class="chk checkbox_false_full_focus"></button></p>
+ <p><button type="button" class="chk checkbox_false_part"></button>not checked; (only parent node) <span class="highlight_red">some of its child nodes have been checked.</span> when mouse over: <button type="button" class="chk checkbox_false_part_focus"></button></p>
+ <p><button type="button" class="chk checkbox_true_full"></button>be checked; <span class="highlight_red">If node is parent, so its all child nodes have been checked.</span> when mouse over: <button type="button" class="chk checkbox_true_full_focus"></button></p>
+ <p><button type="button" class="chk checkbox_true_part"></button>be checked; (only parent node) <span class="highlight_red">some of its child nodes or all have been not checked.</span> when mouse over: <button type="button" class="chk checkbox_true_part_focus"></button></p>
+ </div>
+ </div>
+ <h3>radio States Descriptions</h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p><button type="button" class="chk radio_false_full"></button>not checked; <span class="highlight_red">If node is parent, so its child have been not checked.</span> when mouse over: <button type="button" class="chk radio_false_full_focus"></button></p>
+ <p><button type="button" class="chk radio_false_part"></button>not checked; (only parent node) <span class="highlight_red">some of its child have been checked.</span> when mouse over: <button type="button" class="chk radio_false_part_focus"></button></p>
+ <p><button type="button" class="chk radio_true_full"></button>be checked; <span class="highlight_red">If node is parent, so its child have been not checked.</span> when mouse over: <button type="button" class="chk radio_true_full_focus"></button></p>
+ <p><button type="button" class="chk radio_true_part"></button>be checked; (only parent node) <span class="highlight_red">some of its child have been checked.</span> when mouse over: <button type="button" class="chk radio_true_part_focus"></button></p>
+ </div>
+ </div>
+ <h3>Examples of setting</h3>
+ <h4>1. use radio</h4>
+ <pre xmlns=""><code>var setting = {
+ check: {
+ enable: true,
+ chkStyle: "radio"
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.check.chkboxType.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.check.chkboxType.html index 5cecc9ee..92da8f1f 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.check.chkboxType.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.check.chkboxType.html @@ -1,31 +1,31 @@ -<div class="apiDetail"> -<div> - <h2><span>JSON</span><span class="path">setting.check.</span>chkboxType</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>When one node is checked or unchecked, control its parent node and its child node auto checked or unchecked. It is valid when <span class="highlight_red">[setting.check.enable = true & setting.check.chkStyle = "checkbox"]</span></p> - <p>Default: { "Y": "ps", "N": "ps" }</p> - </div> - </div> - <h3>JSON Format</h3> - <div class="desc"> - <p>"Y" attribute use to set auto check after checkbox was checked. -<br/>"N" attribute use to set auto uncheck after checkbox was unchecked. -<br/>If value has "p", so parent nodes will be checked or unchecked. -<br/>If value has "s", so child nodes will be checked or unchecked.</p> - <p class="highlight_red">Please note that letter case, do not change.</p> - </div> - <h3>Examples of setting</h3> - <h4>1. If check the node, so only auto check parent nodes; If uncheck the node, so only auto uncheck child nodes;</h4> - <pre xmlns=""><code>var setting = { - check: { - enable: true, - chkStyle: "checkbox", - chkboxType: { "Y": "p", "N": "s" } - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>JSON</span><span class="path">setting.check.</span>chkboxType</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>When one node is checked or unchecked, control its parent node and its child node auto checked or unchecked. It is valid when <span class="highlight_red">[setting.check.enable = true & setting.check.chkStyle = "checkbox"]</span></p>
+ <p>Default: { "Y": "ps", "N": "ps" }</p>
+ </div>
+ </div>
+ <h3>JSON Format</h3>
+ <div class="desc">
+ <p>"Y" attribute use to set auto check after checkbox was checked.
+<br/>"N" attribute use to set auto uncheck after checkbox was unchecked.
+<br/>If value has "p", so parent nodes will be checked or unchecked.
+<br/>If value has "s", so child nodes will be checked or unchecked.</p>
+ <p class="highlight_red">Please note that letter case, do not change.</p>
+ </div>
+ <h3>Examples of setting</h3>
+ <h4>1. If check the node, so only auto check parent nodes; If uncheck the node, so only auto uncheck child nodes;</h4>
+ <pre xmlns=""><code>var setting = {
+ check: {
+ enable: true,
+ chkStyle: "checkbox",
+ chkboxType: { "Y": "p", "N": "s" }
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.check.enable.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.check.enable.html index 0236b5f8..b1cfa6d3 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.check.enable.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.check.enable.html @@ -1,26 +1,26 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">setting.check.</span>enable</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Set to use checkbox or radio in zTree</p> - <p>Default: false</p> - </div> - </div> - <h3>Boolean Format</h3> - <div class="desc"> - <p> true means: use the checkbox or radio</p> - <p> false means: don't use the checkbox or radio</p> - </div> - <h3>Examples of setting</h3> - <h4>1. use the checkbox</h4> - <pre xmlns=""><code>var setting = { - check: { - enable: true - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">setting.check.</span>enable</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Set to use checkbox or radio in zTree</p>
+ <p>Default: false</p>
+ </div>
+ </div>
+ <h3>Boolean Format</h3>
+ <div class="desc">
+ <p> true means: use the checkbox or radio</p>
+ <p> false means: don't use the checkbox or radio</p>
+ </div>
+ <h3>Examples of setting</h3>
+ <h4>1. use the checkbox</h4>
+ <pre xmlns=""><code>var setting = {
+ check: {
+ enable: true
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.check.nocheckInherit.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.check.nocheckInherit.html index 758b437e..45f8ca84 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.check.nocheckInherit.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.check.nocheckInherit.html @@ -1,28 +1,28 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">setting.check.</span>nocheckInherit</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>When the parent node's 'nocheck' attribute is true, set the child nodes automatically inherit the 'nocheck' attribute. It is valid when <span class="highlight_red">[setting.check.enable = true]</span></p> - <p class="highlight_red">1. Only be used to initialize the nodes, easy batch operations. Please use the 'updateNode' method modify existing node.</p> - <p>Default: false</p> - </div> - </div> - <h3>Boolean Format</h3> - <div class="desc"> - <p> true means: When add new child nodes, if parent node's 'nocheck' attribute is true, the child nodes automatically inherit the 'nocheck' attribute.</p> - <p> false means: When add new child nodes, the child nodes don't inherit the 'nocheck' attribute from parent node.</p> - </div> - <h3>Examples of setting</h3> - <h4>1. When add new child nodes, the child nodes automatically inherit the 'nocheck' attribute from parent node.</h4> - <pre xmlns=""><code>var setting = { - check: { - enable: true, - nocheckInherit: true - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">setting.check.</span>nocheckInherit</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>When the parent node's 'nocheck' attribute is true, set the child nodes automatically inherit the 'nocheck' attribute. It is valid when <span class="highlight_red">[setting.check.enable = true]</span></p>
+ <p class="highlight_red">1. Only be used to initialize the nodes, easy batch operations. Please use the 'updateNode' method modify existing node.</p>
+ <p>Default: false</p>
+ </div>
+ </div>
+ <h3>Boolean Format</h3>
+ <div class="desc">
+ <p> true means: When add new child nodes, if parent node's 'nocheck' attribute is true, the child nodes automatically inherit the 'nocheck' attribute.</p>
+ <p> false means: When add new child nodes, the child nodes don't inherit the 'nocheck' attribute from parent node.</p>
+ </div>
+ <h3>Examples of setting</h3>
+ <h4>1. When add new child nodes, the child nodes automatically inherit the 'nocheck' attribute from parent node.</h4>
+ <pre xmlns=""><code>var setting = {
+ check: {
+ enable: true,
+ nocheckInherit: true
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.check.radioType.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.check.radioType.html index be867d75..bf4135b2 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.check.radioType.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.check.radioType.html @@ -1,29 +1,29 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">setting.check.</span>radioType</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>The group about radio. It is valid when <span class="highlight_red">[setting.check.enable = true & setting.check.chkStyle = "radio"]</span></p> - <p>Default: "level"</p> - </div> - </div> - <h3>String Format</h3> - <div class="desc"> - <p>When radioType = "level", will be grouped with same level nodes which have the same parent node. -<br/>When radioType = "all", will be grouped with all nodes.</p> - <p class="highlight_red">Please note that letter case, do not change.</p> - </div> - <h3>Examples of setting</h3> - <h4>1. Set the group about radio is all nodes.</h4> - <pre xmlns=""><code>var setting = { - check: { - enable: true, - chkStyle: "radio", - radioType: "all" - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">setting.check.</span>radioType</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>The group about radio. It is valid when <span class="highlight_red">[setting.check.enable = true & setting.check.chkStyle = "radio"]</span></p>
+ <p>Default: "level"</p>
+ </div>
+ </div>
+ <h3>String Format</h3>
+ <div class="desc">
+ <p>When radioType = "level", will be grouped with same level nodes which have the same parent node.
+<br/>When radioType = "all", will be grouped with all nodes.</p>
+ <p class="highlight_red">Please note that letter case, do not change.</p>
+ </div>
+ <h3>Examples of setting</h3>
+ <h4>1. Set the group about radio is all nodes.</h4>
+ <pre xmlns=""><code>var setting = {
+ check: {
+ enable: true,
+ chkStyle: "radio",
+ radioType: "all"
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.data.keep.leaf.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.data.keep.leaf.html index 71c573e4..ad69a88d 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.data.keep.leaf.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.data.keep.leaf.html @@ -1,28 +1,28 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">setting.data.keep.</span>leaf</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>The leaf node's lock, the leaf node will lock the 'isParent' attribute to false.</p> - <p>Default: false</p> - </div> - </div> - <h3>Boolean Format</h3> - <div class="desc"> - <p> true means: lock the leaf node, and <span class="highlight_red">the node which 'isParent' attribute is false can't add child nodes</span>.</p> - <p> false means: don't lock the leaf node, and <span class="highlight_red">the node which 'isParent' attribute is false can add child nodes</span>.</p> - </div> - <h3>Examples of setting</h3> - <h4>1. lock the leaf node</h4> - <pre xmlns=""><code>var setting = { - data: { - keep: { - leaf: true - } - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">setting.data.keep.</span>leaf</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>The leaf node's lock, the leaf node will lock the 'isParent' attribute to false.</p>
+ <p>Default: false</p>
+ </div>
+ </div>
+ <h3>Boolean Format</h3>
+ <div class="desc">
+ <p> true means: lock the leaf node, and <span class="highlight_red">the node which 'isParent' attribute is false can't add child nodes</span>.</p>
+ <p> false means: don't lock the leaf node, and <span class="highlight_red">the node which 'isParent' attribute is false can add child nodes</span>.</p>
+ </div>
+ <h3>Examples of setting</h3>
+ <h4>1. lock the leaf node</h4>
+ <pre xmlns=""><code>var setting = {
+ data: {
+ keep: {
+ leaf: true
+ }
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.data.keep.parent.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.data.keep.parent.html index 5bab2f1e..e5372cc1 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.data.keep.parent.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.data.keep.parent.html @@ -1,28 +1,28 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">setting.data.keep.</span>parent</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>The parent node's lock, the parent node will lock 'isParent' attribute to true.</p> - <p>Default: false</p> - </div> - </div> - <h3>Boolean Format</h3> - <div class="desc"> - <p> true means: lock the parent node, and <span class="highlight_red">if remove all of the parent node's child nodes, its 'isParent' attribute still keep to be true.</span>.</p> - <p> false means: don't lock the parent node, and <span class="highlight_red">if remove all of the parent node's child nodes, its 'isParent' attribute will change to be false.</span>.</p> - </div> - <h3>Examples of setting</h3> - <h4>1. lock the parent node</h4> - <pre xmlns=""><code>var setting = { - data: { - keep: { - parent: true - } - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">setting.data.keep.</span>parent</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>The parent node's lock, the parent node will lock 'isParent' attribute to true.</p>
+ <p>Default: false</p>
+ </div>
+ </div>
+ <h3>Boolean Format</h3>
+ <div class="desc">
+ <p> true means: lock the parent node, and <span class="highlight_red">if remove all of the parent node's child nodes, its 'isParent' attribute still keep to be true.</span>.</p>
+ <p> false means: don't lock the parent node, and <span class="highlight_red">if remove all of the parent node's child nodes, its 'isParent' attribute will change to be false.</span>.</p>
+ </div>
+ <h3>Examples of setting</h3>
+ <h4>1. lock the parent node</h4>
+ <pre xmlns=""><code>var setting = {
+ data: {
+ keep: {
+ parent: true
+ }
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.data.key.checked.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.data.key.checked.html index 2678cf25..0e5cfa80 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.data.key.checked.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.data.key.checked.html @@ -1,24 +1,24 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">setting.data.key.</span>checked</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>The node data's attribute to save the checked state.</p> - <p>Default: "checked"</p> - <p class="highlight_red">Please don't set the other node attribute which zTree used. (e.g., checkedOld)</p> - </div> - </div> - <h3>Examples of setting</h3> - <h4>1. set the 'isChecked' attribute to save the checked state.</h4> - <pre xmlns=""><code>var setting = { - data: { - key: { - checked: "isChecked" - } - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">setting.data.key.</span>checked</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>The node data's attribute to save the checked state.</p>
+ <p>Default: "checked"</p>
+ <p class="highlight_red">Please don't set the other node attribute which zTree used. (e.g., checkedOld)</p>
+ </div>
+ </div>
+ <h3>Examples of setting</h3>
+ <h4>1. set the 'isChecked' attribute to save the checked state.</h4>
+ <pre xmlns=""><code>var setting = {
+ data: {
+ key: {
+ checked: "isChecked"
+ }
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.data.key.children.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.data.key.children.html index 321a1a7d..bc640e3f 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.data.key.children.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.data.key.children.html @@ -1,23 +1,23 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">setting.data.key.</span>children</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>The node data's attribute to save the child nodes.</p> - <p>Default: "children"</p> - </div> - </div> - <h3>Examples of setting</h3> - <h4>1. Set the 'nodes' attribute to save the child nodes.</h4> - <pre xmlns=""><code>var setting = { - data: { - key: { - children: "nodes" - } - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">setting.data.key.</span>children</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>The node data's attribute to save the child nodes.</p>
+ <p>Default: "children"</p>
+ </div>
+ </div>
+ <h3>Examples of setting</h3>
+ <h4>1. Set the 'nodes' attribute to save the child nodes.</h4>
+ <pre xmlns=""><code>var setting = {
+ data: {
+ key: {
+ children: "nodes"
+ }
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.data.key.name.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.data.key.name.html index 0208c559..8d7406ba 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.data.key.name.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.data.key.name.html @@ -1,23 +1,23 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">setting.data.key.</span>name</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>The node data's attribute to save the node name.</p> - <p>Default: "name"</p> - </div> - </div> - <h3>Examples of setting</h3> - <h4>1. Set the 'ename' attribute to save the node name.</h4> - <pre xmlns=""><code>var setting = { - data: { - key: { - name: "ename" - } - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">setting.data.key.</span>name</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>The node data's attribute to save the node name.</p>
+ <p>Default: "name"</p>
+ </div>
+ </div>
+ <h3>Examples of setting</h3>
+ <h4>1. Set the 'ename' attribute to save the node name.</h4>
+ <pre xmlns=""><code>var setting = {
+ data: {
+ key: {
+ name: "ename"
+ }
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.data.key.title.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.data.key.title.html index 96540eb6..153aca05 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.data.key.title.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.data.key.title.html @@ -1,24 +1,24 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">setting.data.key.</span>title</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>The node data's attribute to save the 'title' attribute of node DOM. It is valid when <span class="highlight_red">[setting.view.showTitle = true]</span></p> - <p class="highlight_red">If set it to "", the title of node DOM will be same as 'setting.data.key.name' attribute.</p> - <p>Default: ""</p> - </div> - </div> - <h3>Examples of setting</h3> - <h4>1. Set the 'fullName' attribute to save the title of node DOM.</h4> - <pre xmlns=""><code>var setting = { - data: { - key: { - title: "fullName" - } - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">setting.data.key.</span>title</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>The node data's attribute to save the 'title' attribute of node DOM. It is valid when <span class="highlight_red">[setting.view.showTitle = true]</span></p>
+ <p class="highlight_red">If set it to "", the title of node DOM will be same as 'setting.data.key.name' attribute.</p>
+ <p>Default: ""</p>
+ </div>
+ </div>
+ <h3>Examples of setting</h3>
+ <h4>1. Set the 'fullName' attribute to save the title of node DOM.</h4>
+ <pre xmlns=""><code>var setting = {
+ data: {
+ key: {
+ title: "fullName"
+ }
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.data.key.url.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.data.key.url.html index e9a08cea..9b98701c 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.data.key.url.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.data.key.url.html @@ -1,24 +1,24 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">setting.data.key.</span>url</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>The node data's attribute to save the node link's url.</p> - <p class="highlight_red">Special: If the nodes's data can only use the 'url' attribute, and don't use the link to jump feature, you can modify this attribute to any nonexistent attribute.</p> - <p>Default: "url"</p> - </div> - </div> - <h3>Examples of setting</h3> - <h4>1. Set the 'xUrl' attribute to save the node link's url.</h4> - <pre xmlns=""><code>var setting = { - data: { - key: { - url: "xUrl" - } - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">setting.data.key.</span>url</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>The node data's attribute to save the node link's url.</p>
+ <p class="highlight_red">Special: If the nodes's data can only use the 'url' attribute, and don't use the link to jump feature, you can modify this attribute to any nonexistent attribute.</p>
+ <p>Default: "url"</p>
+ </div>
+ </div>
+ <h3>Examples of setting</h3>
+ <h4>1. Set the 'xUrl' attribute to save the node link's url.</h4>
+ <pre xmlns=""><code>var setting = {
+ data: {
+ key: {
+ url: "xUrl"
+ }
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.data.simpleData.enable.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.data.simpleData.enable.html index 7ea21db3..d8b9ba6c 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.data.simpleData.enable.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.data.simpleData.enable.html @@ -1,39 +1,39 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">setting.data.simpleData.</span>enable</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Set zTree's node to accept the simple data format, when zTree is initialized or when ajax get / or when use <span class="highlight_red">addNodes</span> method.</p> - <p>Don't have to generate the complex nested data.</p> - <p>Default: false</p> - </div> - </div> - <h3>Boolean Format</h3> - <div class="desc"> - <p> true means: zTree's node accept the simple data format.</p> - <p> false means: zTree's node only accept the nested data format.</p> - <p class="highlight_red">If set it is true, you must set the other attributes in 'setting.data.simpleData'. (e.g., idKey, pIdKey, rootPId) And let the data satisfy the parent-child relationship.</p> - </div> - <h3>Examples of setting</h3> - <h4>1. use the simple data format</h4> - <pre xmlns=""><code>var setting = { - data: { - simpleData: { - enable: true, - idKey: "id", - pIdKey: "pId", - rootPId: 0, - } - } -}; -var treeNodes = [ - {"id":1, "pId":0, "name":"test1"}, - {"id":11, "pId":1, "name":"test11"}, - {"id":12, "pId":1, "name":"test12"}, - {"id":111, "pId":11, "name":"test111"} -]; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">setting.data.simpleData.</span>enable</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Set zTree's node to accept the simple data format, when zTree is initialized or when ajax get / or when use <span class="highlight_red">addNodes</span> method.</p>
+ <p>Don't have to generate the complex nested data.</p>
+ <p>Default: false</p>
+ </div>
+ </div>
+ <h3>Boolean Format</h3>
+ <div class="desc">
+ <p> true means: zTree's node accept the simple data format.</p>
+ <p> false means: zTree's node only accept the nested data format.</p>
+ <p class="highlight_red">If set it is true, you must set the other attributes in 'setting.data.simpleData'. (e.g., idKey, pIdKey, rootPId) And let the data satisfy the parent-child relationship.</p>
+ </div>
+ <h3>Examples of setting</h3>
+ <h4>1. use the simple data format</h4>
+ <pre xmlns=""><code>var setting = {
+ data: {
+ simpleData: {
+ enable: true,
+ idKey: "id",
+ pIdKey: "pId",
+ rootPId: 0,
+ }
+ }
+};
+var treeNodes = [
+ {"id":1, "pId":0, "name":"test1"},
+ {"id":11, "pId":1, "name":"test11"},
+ {"id":12, "pId":1, "name":"test12"},
+ {"id":111, "pId":11, "name":"test111"}
+];
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.data.simpleData.idKey.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.data.simpleData.idKey.html index 43df2605..2732866f 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.data.simpleData.idKey.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.data.simpleData.idKey.html @@ -1,32 +1,32 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">setting.data.simpleData.</span>idKey</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>The node data's attribute to save node data's unique identifier. It is valid when <span class="highlight_red">[setting.data.simpleData.enable = true]</span></p> - <p>Default: "id"</p> - </div> - </div> - <h3>Examples of setting</h3> - <h4>1. use the simple data format</h4> - <pre xmlns=""><code>var setting = { - data: { - simpleData: { - enable: true, - idKey: "id", - pIdKey: "pId", - rootPId: 0, - } - } -}; -var treeNodes = [ - {"id":1, "pId":0, "name":"test1"}, - {"id":11, "pId":1, "name":"test11"}, - {"id":12, "pId":1, "name":"test12"}, - {"id":111, "pId":11, "name":"test111"} -]; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">setting.data.simpleData.</span>idKey</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>The node data's attribute to save node data's unique identifier. It is valid when <span class="highlight_red">[setting.data.simpleData.enable = true]</span></p>
+ <p>Default: "id"</p>
+ </div>
+ </div>
+ <h3>Examples of setting</h3>
+ <h4>1. use the simple data format</h4>
+ <pre xmlns=""><code>var setting = {
+ data: {
+ simpleData: {
+ enable: true,
+ idKey: "id",
+ pIdKey: "pId",
+ rootPId: 0,
+ }
+ }
+};
+var treeNodes = [
+ {"id":1, "pId":0, "name":"test1"},
+ {"id":11, "pId":1, "name":"test11"},
+ {"id":12, "pId":1, "name":"test12"},
+ {"id":111, "pId":11, "name":"test111"}
+];
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.data.simpleData.pIdKey.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.data.simpleData.pIdKey.html index 8378c6e3..48e5d164 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.data.simpleData.pIdKey.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.data.simpleData.pIdKey.html @@ -1,32 +1,32 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">setting.data.simpleData.</span>pIdKey</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>The node data's attribute to save its parent node data's unique identifier. It is valid when <span class="highlight_red">[setting.data.simpleData.enable = true]</span></p> - <p>Default: "pId"</p> - </div> - </div> - <h3>Examples of setting</h3> - <h4>1. use the simple data format</h4> - <pre xmlns=""><code>var setting = { - data: { - simpleData: { - enable: true, - idKey: "id", - pIdKey: "pId", - rootPId: 0 - } - } -}; -var treeNodes = [ - {"id":1, "pId":0, "name":"test1"}, - {"id":11, "pId":1, "name":"test11"}, - {"id":12, "pId":1, "name":"test12"}, - {"id":111, "pId":11, "name":"test111"} -]; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">setting.data.simpleData.</span>pIdKey</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>The node data's attribute to save its parent node data's unique identifier. It is valid when <span class="highlight_red">[setting.data.simpleData.enable = true]</span></p>
+ <p>Default: "pId"</p>
+ </div>
+ </div>
+ <h3>Examples of setting</h3>
+ <h4>1. use the simple data format</h4>
+ <pre xmlns=""><code>var setting = {
+ data: {
+ simpleData: {
+ enable: true,
+ idKey: "id",
+ pIdKey: "pId",
+ rootPId: 0
+ }
+ }
+};
+var treeNodes = [
+ {"id":1, "pId":0, "name":"test1"},
+ {"id":11, "pId":1, "name":"test11"},
+ {"id":12, "pId":1, "name":"test12"},
+ {"id":111, "pId":11, "name":"test111"}
+];
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.data.simpleData.rootPId.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.data.simpleData.rootPId.html index 61c9bbd0..b0b1e9a9 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.data.simpleData.rootPId.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.data.simpleData.rootPId.html @@ -1,32 +1,32 @@ -<div class="apiDetail"> -<div> - <h2><span>String / Number</span><span class="path">setting.data.simpleData.</span>rootPId</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Set the default value of root's 'pIdKey' specified attribute values. It is valid when <span class="highlight_red">[setting.data.simpleData.enable = true]</span></p> - <p>Default: null</p> - </div> - </div> - <h3>Examples of setting</h3> - <h4>1. use the simple data format</h4> - <pre xmlns=""><code>var setting = { - data: { - simpleData: { - enable: true, - idKey: "id", - pIdKey: "pId", - rootPId: 0 - } - } -}; -var treeNodes = [ - {"id":1, "pId":0, "name":"test1"}, - {"id":11, "pId":1, "name":"test11"}, - {"id":12, "pId":1, "name":"test12"}, - {"id":111, "pId":11, "name":"test111"} -]; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String / Number</span><span class="path">setting.data.simpleData.</span>rootPId</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Set the default value of root's 'pIdKey' specified attribute values. It is valid when <span class="highlight_red">[setting.data.simpleData.enable = true]</span></p>
+ <p>Default: null</p>
+ </div>
+ </div>
+ <h3>Examples of setting</h3>
+ <h4>1. use the simple data format</h4>
+ <pre xmlns=""><code>var setting = {
+ data: {
+ simpleData: {
+ enable: true,
+ idKey: "id",
+ pIdKey: "pId",
+ rootPId: 0
+ }
+ }
+};
+var treeNodes = [
+ {"id":1, "pId":0, "name":"test1"},
+ {"id":11, "pId":1, "name":"test11"},
+ {"id":12, "pId":1, "name":"test12"},
+ {"id":111, "pId":11, "name":"test111"}
+];
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.drag.autoExpandTrigger.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.drag.autoExpandTrigger.html index 804ee66a..d9ed4a2e 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.drag.autoExpandTrigger.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.drag.autoExpandTrigger.html @@ -1,29 +1,29 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">setting.edit.drag.</span>autoExpandTrigger</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>When drag node cause the parent node is automatically expanded, set whether to allow to trigger the 'onExpand' callback. It is valid when <span class="highlight_red">[setting.edit.enable = true]</span></p> - <p>Default: false</p> - </div> - </div> - <h3>Boolean Format</h3> - <div class="desc"> - <p> true means: trigger the 'onExpand' callback.</p> - <p> false means: don't trigger the 'onExpand' callback.</p> - </div> - <h3>Examples of setting</h3> - <h4>1. Set to allow to trigger the 'onExpand' callback</h4> - <pre xmlns=""><code>var setting = { - edit: { - enable: true, - drag: { - autoExpandTrigger: true - } - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">setting.edit.drag.</span>autoExpandTrigger</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>When drag node cause the parent node is automatically expanded, set whether to allow to trigger the 'onExpand' callback. It is valid when <span class="highlight_red">[setting.edit.enable = true]</span></p>
+ <p>Default: false</p>
+ </div>
+ </div>
+ <h3>Boolean Format</h3>
+ <div class="desc">
+ <p> true means: trigger the 'onExpand' callback.</p>
+ <p> false means: don't trigger the 'onExpand' callback.</p>
+ </div>
+ <h3>Examples of setting</h3>
+ <h4>1. Set to allow to trigger the 'onExpand' callback</h4>
+ <pre xmlns=""><code>var setting = {
+ edit: {
+ enable: true,
+ drag: {
+ autoExpandTrigger: true
+ }
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.drag.autoOpenTime.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.drag.autoOpenTime.html index 74982afa..761cbb2a 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.drag.autoOpenTime.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.drag.autoOpenTime.html @@ -1,25 +1,25 @@ -<div class="apiDetail"> -<div> - <h2><span>Number</span><span class="path">setting.edit.drag.</span>autoOpenTime</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Drag to the parent node, the parent node auto expand time interval. (Unit: ms) It is valid when <span class="highlight_red">[setting.edit.enable = true]</span></p> - <p>Default: 500</p> - <p class="highlight_red">Please adjust the value according to needs.</p> - </div> - </div> - <h3>Examples of setting</h3> - <h4>1. When drag node to other parent node, expand it at once.</h4> - <pre xmlns=""><code>var setting = { - edit: { - enable: true, - drag: { - autoOpenTime: 0 - } - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Number</span><span class="path">setting.edit.drag.</span>autoOpenTime</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Drag to the parent node, the parent node auto expand time interval. (Unit: ms) It is valid when <span class="highlight_red">[setting.edit.enable = true]</span></p>
+ <p>Default: 500</p>
+ <p class="highlight_red">Please adjust the value according to needs.</p>
+ </div>
+ </div>
+ <h3>Examples of setting</h3>
+ <h4>1. When drag node to other parent node, expand it at once.</h4>
+ <pre xmlns=""><code>var setting = {
+ edit: {
+ enable: true,
+ drag: {
+ autoOpenTime: 0
+ }
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.drag.borderMax.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.drag.borderMax.html index edbb752b..64b44c0d 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.drag.borderMax.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.drag.borderMax.html @@ -1,25 +1,25 @@ -<div class="apiDetail"> -<div> - <h2><span>Number</span><span class="path">setting.edit.drag.</span>borderMax</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>When drag a node to root, the zTree's inner border width. (Unit: px) It is valid when <span class="highlight_red">[setting.edit.enable = true]</span></p> - <p>Default: 10</p> - <p class="highlight_red">Please adjust the value according to needs.</p> - </div> - </div> - <h3>Examples of setting</h3> - <h4>1. adjust the inner border width is 20px</h4> - <pre xmlns=""><code>var setting = { - edit: { - enable: true, - drag: { - borderMax: 20 - } - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Number</span><span class="path">setting.edit.drag.</span>borderMax</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>When drag a node to root, the zTree's inner border width. (Unit: px) It is valid when <span class="highlight_red">[setting.edit.enable = true]</span></p>
+ <p>Default: 10</p>
+ <p class="highlight_red">Please adjust the value according to needs.</p>
+ </div>
+ </div>
+ <h3>Examples of setting</h3>
+ <h4>1. adjust the inner border width is 20px</h4>
+ <pre xmlns=""><code>var setting = {
+ edit: {
+ enable: true,
+ drag: {
+ borderMax: 20
+ }
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.drag.borderMin.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.drag.borderMin.html index e8458530..fe17ed75 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.drag.borderMin.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.drag.borderMin.html @@ -1,25 +1,25 @@ -<div class="apiDetail"> -<div> - <h2><span>Number</span><span class="path">setting.edit.drag.</span>borderMin</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>When drag a node to root, the zTree's outer border width. (Unit: px) It is valid when <span class="highlight_red">[setting.edit.enable = true]</span></p> - <p>Default: -5</p> - <p class="highlight_red">Please adjust the value according to needs.</p> - </div> - </div> - <h3>Examples of setting</h3> - <h4>1. adjust the outer border width is 10px</h4> - <pre xmlns=""><code>var setting = { - edit: { - enable: true, - drag: { - borderMin: -10 - } - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Number</span><span class="path">setting.edit.drag.</span>borderMin</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>When drag a node to root, the zTree's outer border width. (Unit: px) It is valid when <span class="highlight_red">[setting.edit.enable = true]</span></p>
+ <p>Default: -5</p>
+ <p class="highlight_red">Please adjust the value according to needs.</p>
+ </div>
+ </div>
+ <h3>Examples of setting</h3>
+ <h4>1. adjust the outer border width is 10px</h4>
+ <pre xmlns=""><code>var setting = {
+ edit: {
+ enable: true,
+ drag: {
+ borderMin: -10
+ }
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.drag.inner.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.drag.inner.html index 1065df3b..e3b84d5d 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.drag.inner.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.drag.inner.html @@ -1,60 +1,60 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean / Function(treeId, treeNodes, targetNode)</span><span class="path">setting.edit.drag.</span>inner</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>When drag one node to the target node, set whether to allow the node to be the target node's child. It is valid when <span class="highlight_red">[setting.edit.enable = true]</span></p> - <p class="highlight_red">If the target node is root, so zTree will only trigger 'inner' and not trigger 'prev / next'.</p> - <p class="highlight_red">This function mainly for the appropriate limit drag and drop (auxiliary arrow), it requires a combination of 'prev, next' together, to achieve full functionality.</p> - <p>Default: true</p> - </div> - </div> - <h3>Boolean Format</h3> - <div class="desc"> - <p> true means: allow the node to be the target node's child.</p> - <p> false means: don't allow the node to be the target node's child.</p> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p> - <h4 class="topLine"><b>treeNodes</b><span>Array(JSON)</span></h4> - <p>A collection of the nodes which has been dragged</p> - <h4 class="topLine"><b>targetNode</b><span>JSON</span></h4> - <p>JSON data object of the target node which treeNodes are draged over.</p> - <p class="highlight_red">If the treeNodes will be root node, the targetNode = null</p> - <h4 class="topLine"><b>Return </b><span>Boolean</span></h4> - <p>return true or false</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. disable to drag the node to the target node's inner.</h4> - <pre xmlns=""><code>var setting = { - edit: { - enable: true, - drag: { - prev: true, - next: true, - inner: false - } - } -}; -......</code></pre> - <h4>2. disable to drag the node to be root node's child.</h4> - <pre xmlns=""><code>function canInner(treeId, nodes, targetNode) { - return !(targetNode && targetNode.level === 0); -} -var setting = { - edit: { - enable: true, - drag: { - prev: true, - next: true, - inner: canInner - } - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean / Function(treeId, treeNodes, targetNode)</span><span class="path">setting.edit.drag.</span>inner</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>When drag one node to the target node, set whether to allow the node to be the target node's child. It is valid when <span class="highlight_red">[setting.edit.enable = true]</span></p>
+ <p class="highlight_red">If the target node is root, so zTree will only trigger 'inner' and not trigger 'prev / next'.</p>
+ <p class="highlight_red">This function mainly for the appropriate limit drag and drop (auxiliary arrow), it requires a combination of 'prev, next' together, to achieve full functionality.</p>
+ <p>Default: true</p>
+ </div>
+ </div>
+ <h3>Boolean Format</h3>
+ <div class="desc">
+ <p> true means: allow the node to be the target node's child.</p>
+ <p> false means: don't allow the node to be the target node's child.</p>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNodes</b><span>Array(JSON)</span></h4>
+ <p>A collection of the nodes which has been dragged</p>
+ <h4 class="topLine"><b>targetNode</b><span>JSON</span></h4>
+ <p>JSON data object of the target node which treeNodes are draged over.</p>
+ <p class="highlight_red">If the treeNodes will be root node, the targetNode = null</p>
+ <h4 class="topLine"><b>Return </b><span>Boolean</span></h4>
+ <p>return true or false</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. disable to drag the node to the target node's inner.</h4>
+ <pre xmlns=""><code>var setting = {
+ edit: {
+ enable: true,
+ drag: {
+ prev: true,
+ next: true,
+ inner: false
+ }
+ }
+};
+......</code></pre>
+ <h4>2. disable to drag the node to be root node's child.</h4>
+ <pre xmlns=""><code>function canInner(treeId, nodes, targetNode) {
+ return !(targetNode && targetNode.level === 0);
+}
+var setting = {
+ edit: {
+ enable: true,
+ drag: {
+ prev: true,
+ next: true,
+ inner: canInner
+ }
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.drag.isCopy.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.drag.isCopy.html index 1207d2ae..f44d10fb 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.drag.isCopy.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.drag.isCopy.html @@ -1,32 +1,32 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">setting.edit.drag.</span>isCopy</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>When drag-drop node, set whether to allow to copy node. It is valid when <span class="highlight_red">[setting.edit.enable = true]</span></p> - <p>Default: true</p> - </div> - </div> - <h3>Rules Description</h3> - <div class="desc"> - <p>1. If isCopy = true and isMove = true, when drag-drop node, press Ctrl-Key or Cmd-key can copy node, don't press Ctrl-Key or Cmd-key can move node.</p> - <p>2. If isCopy = true and isMove = false, when drag-drop node, will copy node.</p> - <p>3. If isCopy = false and isMove = true, when drag-drop node, will move node.</p> - <p>4. If isCopy = false and isMove = false, so disable to drag-drop node.</p> - </div> - <h3>Examples of setting</h3> - <h4>1. all of the drag-drop operation will copy node.</h4> - <pre xmlns=""><code>var setting = { - edit: { - enable: true, - drag: { - isCopy: true, - isMove: false - } - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">setting.edit.drag.</span>isCopy</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>When drag-drop node, set whether to allow to copy node. It is valid when <span class="highlight_red">[setting.edit.enable = true]</span></p>
+ <p>Default: true</p>
+ </div>
+ </div>
+ <h3>Rules Description</h3>
+ <div class="desc">
+ <p>1. If isCopy = true and isMove = true, when drag-drop node, press Ctrl-Key or Cmd-key can copy node, don't press Ctrl-Key or Cmd-key can move node.</p>
+ <p>2. If isCopy = true and isMove = false, when drag-drop node, will copy node.</p>
+ <p>3. If isCopy = false and isMove = true, when drag-drop node, will move node.</p>
+ <p>4. If isCopy = false and isMove = false, so disable to drag-drop node.</p>
+ </div>
+ <h3>Examples of setting</h3>
+ <h4>1. all of the drag-drop operation will copy node.</h4>
+ <pre xmlns=""><code>var setting = {
+ edit: {
+ enable: true,
+ drag: {
+ isCopy: true,
+ isMove: false
+ }
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.drag.isMove.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.drag.isMove.html index e4a7ca3a..0b094262 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.drag.isMove.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.drag.isMove.html @@ -1,32 +1,32 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">setting.edit.drag.</span>isMove</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>When drag-drop node, set whether to allow to move node. It is valid when <span class="highlight_red">[setting.edit.enable = true]</span></p> - <p>Default: true</p> - </div> - </div> - <h3>Rules Description</h3> - <div class="desc"> - <p>1. If isCopy = true and isMove = true, when drag-drop node, press Ctrl-Key or Cmd-key can copy node, don't press Ctrl-Key or Cmd-key can move node.</p> - <p>2. If isCopy = true and isMove = false, when drag-drop node, will copy node.</p> - <p>3. If isCopy = false and isMove = true, when drag-drop node, will move node.</p> - <p>4. If isCopy = false and isMove = false, so disable to drag-drop node.</p> - </div> - <h3>Examples of setting</h3> - <h4>1. all of the drag-drop operation will move node.</h4> - <pre xmlns=""><code>var setting = { - edit: { - enable: true, - drag: { - isCopy: false, - isMove: true - } - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">setting.edit.drag.</span>isMove</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>When drag-drop node, set whether to allow to move node. It is valid when <span class="highlight_red">[setting.edit.enable = true]</span></p>
+ <p>Default: true</p>
+ </div>
+ </div>
+ <h3>Rules Description</h3>
+ <div class="desc">
+ <p>1. If isCopy = true and isMove = true, when drag-drop node, press Ctrl-Key or Cmd-key can copy node, don't press Ctrl-Key or Cmd-key can move node.</p>
+ <p>2. If isCopy = true and isMove = false, when drag-drop node, will copy node.</p>
+ <p>3. If isCopy = false and isMove = true, when drag-drop node, will move node.</p>
+ <p>4. If isCopy = false and isMove = false, so disable to drag-drop node.</p>
+ </div>
+ <h3>Examples of setting</h3>
+ <h4>1. all of the drag-drop operation will move node.</h4>
+ <pre xmlns=""><code>var setting = {
+ edit: {
+ enable: true,
+ drag: {
+ isCopy: false,
+ isMove: true
+ }
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.drag.maxShowNodeNum.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.drag.maxShowNodeNum.html index dbc3ae47..7ae49091 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.drag.maxShowNodeNum.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.drag.maxShowNodeNum.html @@ -1,25 +1,25 @@ -<div class="apiDetail"> -<div> - <h2><span>Number</span><span class="path">setting.edit.drag.</span>maxShowNodeNum</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>When dragging more than one sibling node, the floating layer shows the maximum number of nodes. zTree using '...' instead of redundant nodes. It is valid when <span class="highlight_red">[setting.edit.enable = true]</span></p> - <p>Default: 5</p> - <p class="highlight_red">Please adjust the value according to needs.</p> - </div> - </div> - <h3>Examples of setting</h3> - <h4>1. Set the maximum number is 10</h4> - <pre xmlns=""><code>var setting = { - edit: { - enable: true, - drag: { - maxShowNodeNum: 10 - } - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Number</span><span class="path">setting.edit.drag.</span>maxShowNodeNum</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>When dragging more than one sibling node, the floating layer shows the maximum number of nodes. zTree using '...' instead of redundant nodes. It is valid when <span class="highlight_red">[setting.edit.enable = true]</span></p>
+ <p>Default: 5</p>
+ <p class="highlight_red">Please adjust the value according to needs.</p>
+ </div>
+ </div>
+ <h3>Examples of setting</h3>
+ <h4>1. Set the maximum number is 10</h4>
+ <pre xmlns=""><code>var setting = {
+ edit: {
+ enable: true,
+ drag: {
+ maxShowNodeNum: 10
+ }
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.drag.minMoveSize.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.drag.minMoveSize.html index 8270a993..4f0cdedb 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.drag.minMoveSize.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.drag.minMoveSize.html @@ -1,25 +1,25 @@ -<div class="apiDetail"> -<div> - <h2><span>Number</span><span class="path">setting.edit.drag.</span>minMoveSize</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>The minimum offset which used to determine the drag operator start. (Unit: px) It is valid when <span class="highlight_red">[setting.edit.enable = true]</span></p> - <p class="highlight_red">Please adjust the value according to needs. Note: If it is too small, will easily lead to misoperation when you click mouse.</p> - <p>Default: 5</p> - </div> - </div> - <h3>Examples of setting</h3> - <h4>1. Set the minimum offset is 10px.</h4> - <pre xmlns=""><code>var setting = { - edit: { - enable: true, - drag: { - minMoveSize: 10 - } - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Number</span><span class="path">setting.edit.drag.</span>minMoveSize</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>The minimum offset which used to determine the drag operator start. (Unit: px) It is valid when <span class="highlight_red">[setting.edit.enable = true]</span></p>
+ <p class="highlight_red">Please adjust the value according to needs. Note: If it is too small, will easily lead to misoperation when you click mouse.</p>
+ <p>Default: 5</p>
+ </div>
+ </div>
+ <h3>Examples of setting</h3>
+ <h4>1. Set the minimum offset is 10px.</h4>
+ <pre xmlns=""><code>var setting = {
+ edit: {
+ enable: true,
+ drag: {
+ minMoveSize: 10
+ }
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.drag.next.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.drag.next.html index 82eb6fba..41cf6f01 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.drag.next.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.drag.next.html @@ -1,59 +1,59 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean / Function(treeId, treeNodes, targetNode)</span><span class="path">setting.edit.drag.</span>next</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>When drag one node to the target node, set whether to allow the node to be the target node's next sibling. It is valid when <span class="highlight_red">[setting.edit.enable = true]</span></p> - <p class="highlight_red">If the target node is root, so zTree will only trigger 'inner' and not trigger 'prev / next'.</p> - <p class="highlight_red">This function mainly for the appropriate limit drag and drop (auxiliary arrow), it requires a combination of 'prev, inner' together, to achieve full functionality.</p> - <p>Default: true</p> - </div> - </div> - <h3>Boolean Format</h3> - <div class="desc"> - <p> true means: allow the node to be the target node's next sibling.</p> - <p> false means: don't allow the node to be the target node's next sibling.</p> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p> - <h4 class="topLine"><b>treeNodes</b><span>Array(JSON)</span></h4> - <p>A collection of the nodes which has been dragged</p> - <h4 class="topLine"><b>targetNode</b><span>JSON</span></h4> - <p>JSON data object of the target node which treeNodes are draged over.</p> - <h4 class="topLine"><b>Return </b><span>Boolean</span></h4> - <p>return true or false</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. disable to drag the node to the target node's next sibling.</h4> - <pre xmlns=""><code>var setting = { - edit: { - enable: true, - drag: { - prev: true, - next: false, - inner: true - } - } -}; -......</code></pre> - <h4>2. disable to drag the node to be all of the parent nodes's next sibling.</h4> - <pre xmlns=""><code>function canNext(treeId, nodes, targetNode) { - return !targetNode.isParent; -} -var setting = { - edit: { - enable: true, - drag: { - prev: true, - next: canNext, - inner: true - } - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean / Function(treeId, treeNodes, targetNode)</span><span class="path">setting.edit.drag.</span>next</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>When drag one node to the target node, set whether to allow the node to be the target node's next sibling. It is valid when <span class="highlight_red">[setting.edit.enable = true]</span></p>
+ <p class="highlight_red">If the target node is root, so zTree will only trigger 'inner' and not trigger 'prev / next'.</p>
+ <p class="highlight_red">This function mainly for the appropriate limit drag and drop (auxiliary arrow), it requires a combination of 'prev, inner' together, to achieve full functionality.</p>
+ <p>Default: true</p>
+ </div>
+ </div>
+ <h3>Boolean Format</h3>
+ <div class="desc">
+ <p> true means: allow the node to be the target node's next sibling.</p>
+ <p> false means: don't allow the node to be the target node's next sibling.</p>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNodes</b><span>Array(JSON)</span></h4>
+ <p>A collection of the nodes which has been dragged</p>
+ <h4 class="topLine"><b>targetNode</b><span>JSON</span></h4>
+ <p>JSON data object of the target node which treeNodes are draged over.</p>
+ <h4 class="topLine"><b>Return </b><span>Boolean</span></h4>
+ <p>return true or false</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. disable to drag the node to the target node's next sibling.</h4>
+ <pre xmlns=""><code>var setting = {
+ edit: {
+ enable: true,
+ drag: {
+ prev: true,
+ next: false,
+ inner: true
+ }
+ }
+};
+......</code></pre>
+ <h4>2. disable to drag the node to be all of the parent nodes's next sibling.</h4>
+ <pre xmlns=""><code>function canNext(treeId, nodes, targetNode) {
+ return !targetNode.isParent;
+}
+var setting = {
+ edit: {
+ enable: true,
+ drag: {
+ prev: true,
+ next: canNext,
+ inner: true
+ }
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.drag.prev.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.drag.prev.html index de6f0c82..cbc89022 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.drag.prev.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.drag.prev.html @@ -1,59 +1,59 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean / Function(treeId, treeNodes, targetNode)</span><span class="path">setting.edit.drag.</span>prev</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>When drag one node to the target node, set whether to allow the node to be the target node's previous sibling. It is valid when <span class="highlight_red">[setting.edit.enable = true]</span></p> - <p class="highlight_red">If the target node is root, so zTree will only trigger 'inner' and not trigger 'prev / next'.</p> - <p class="highlight_red">This function mainly for the appropriate limit drag and drop (auxiliary arrow), it requires a combination of 'next, inner' together, to achieve full functionality.</p> - <p>Default: true</p> - </div> - </div> - <h3>Boolean Format</h3> - <div class="desc"> - <p> true means: allow the node to be the target node's previous sibling.</p> - <p> false means: don't allow the node to be the target node's previous sibling.</p> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p> - <h4 class="topLine"><b>treeNodes</b><span>Array(JSON)</span></h4> - <p>A collection of the nodes which has been dragged</p> - <h4 class="topLine"><b>targetNode</b><span>JSON</span></h4> - <p>JSON data object of the target node which treeNodes are draged over.</p> - <h4 class="topLine"><b>Return </b><span>Boolean</span></h4> - <p>return true or false</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. disable to drag the node to the target node's previous sibling.</h4> - <pre xmlns=""><code>var setting = { - edit: { - enable: true, - drag: { - prev: false, - next: true, - inner: true - } - } -}; -......</code></pre> - <h4>2. disable to drag the node to be all of the parent nodes's previous sibling.</h4> - <pre xmlns=""><code>function canPrev(treeId, nodes, targetNode) { - return !targetNode.isParent; -} -var setting = { - edit: { - enable: true, - drag: { - prev: canPrev, - next: true, - inner: true - } - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean / Function(treeId, treeNodes, targetNode)</span><span class="path">setting.edit.drag.</span>prev</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>When drag one node to the target node, set whether to allow the node to be the target node's previous sibling. It is valid when <span class="highlight_red">[setting.edit.enable = true]</span></p>
+ <p class="highlight_red">If the target node is root, so zTree will only trigger 'inner' and not trigger 'prev / next'.</p>
+ <p class="highlight_red">This function mainly for the appropriate limit drag and drop (auxiliary arrow), it requires a combination of 'next, inner' together, to achieve full functionality.</p>
+ <p>Default: true</p>
+ </div>
+ </div>
+ <h3>Boolean Format</h3>
+ <div class="desc">
+ <p> true means: allow the node to be the target node's previous sibling.</p>
+ <p> false means: don't allow the node to be the target node's previous sibling.</p>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNodes</b><span>Array(JSON)</span></h4>
+ <p>A collection of the nodes which has been dragged</p>
+ <h4 class="topLine"><b>targetNode</b><span>JSON</span></h4>
+ <p>JSON data object of the target node which treeNodes are draged over.</p>
+ <h4 class="topLine"><b>Return </b><span>Boolean</span></h4>
+ <p>return true or false</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. disable to drag the node to the target node's previous sibling.</h4>
+ <pre xmlns=""><code>var setting = {
+ edit: {
+ enable: true,
+ drag: {
+ prev: false,
+ next: true,
+ inner: true
+ }
+ }
+};
+......</code></pre>
+ <h4>2. disable to drag the node to be all of the parent nodes's previous sibling.</h4>
+ <pre xmlns=""><code>function canPrev(treeId, nodes, targetNode) {
+ return !targetNode.isParent;
+}
+var setting = {
+ edit: {
+ enable: true,
+ drag: {
+ prev: canPrev,
+ next: true,
+ inner: true
+ }
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.editNameSelectAll.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.editNameSelectAll.html index a030359d..e667beae 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.editNameSelectAll.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.editNameSelectAll.html @@ -1,27 +1,27 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">setting.edit.</span>editNameSelectAll</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>When edit node's name, the text in input is selected or unselected. It is valid when <span class="highlight_red">[setting.edit.enable = true]</span></p> - <p>Default: false</p> - </div> - </div> - <h3>Boolean Format</h3> - <div class="desc"> - <p> true means: when show the input, the text in input is selected</p> - <p> false means: when show the input, the text in input is not selected</p> - </div> - <h3>Examples of setting</h3> - <h4>1. When edit node's name, the text in input is selected.</h4> - <pre xmlns=""><code>var setting = { - edit: { - enable: true, - editNameSelectAll: true - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">setting.edit.</span>editNameSelectAll</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>When edit node's name, the text in input is selected or unselected. It is valid when <span class="highlight_red">[setting.edit.enable = true]</span></p>
+ <p>Default: false</p>
+ </div>
+ </div>
+ <h3>Boolean Format</h3>
+ <div class="desc">
+ <p> true means: when show the input, the text in input is selected</p>
+ <p> false means: when show the input, the text in input is not selected</p>
+ </div>
+ <h3>Examples of setting</h3>
+ <h4>1. When edit node's name, the text in input is selected.</h4>
+ <pre xmlns=""><code>var setting = {
+ edit: {
+ enable: true,
+ editNameSelectAll: true
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.enable.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.enable.html index ec9d2b31..2717045b 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.enable.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.enable.html @@ -1,39 +1,39 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">setting.edit.</span>enable</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Set zTree is in edit mode</p> - <p class="highlight_red">Please set this attribute before zTree initialization. If you need to change the edit mode after the initialization, please use zTreeObj.setEditable() method.</p> - <p>Default: false</p> - </div> - </div> - <h3>Boolean Format</h3> - <div class="desc"> - <p> true means: zTree is in edit mode.</p> - <p> false means: zTree is not in edit mode.</p> - </div> - <h3>Editing Rules Description</h3> - <div class="desc"> - <p>1. When click the node, it will not open '<span class="highlight_red">node.url</span>' specified URL. -<br/>2. Support for dynamic tree editing. -<br/>3. You can drag-drop nodes, and support drag-drop nodes between multiple trees. -<br/>4. Support use drag-drop to copy or move the node. (Reference: <span class="highlight_red">setting.edit.drag.isCopy / setting.edit.drag.isMove</span>) -<br/>5. You can use the Edit button to modify the name attribute. -<br/>6. You can use the Remove button to remove the node. -<br/> - </p> - <p class="highlight_red">Please note that letter case, do not change.</p> - </div> - <h3>Examples of setting</h3> - <h4>1. edit the tree</h4> - <pre xmlns=""><code>var setting = { - edit: { - enable: true - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">setting.edit.</span>enable</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Set zTree is in edit mode</p>
+ <p class="highlight_red">Please set this attribute before zTree initialization. If you need to change the edit mode after the initialization, please use zTreeObj.setEditable() method.</p>
+ <p>Default: false</p>
+ </div>
+ </div>
+ <h3>Boolean Format</h3>
+ <div class="desc">
+ <p> true means: zTree is in edit mode.</p>
+ <p> false means: zTree is not in edit mode.</p>
+ </div>
+ <h3>Editing Rules Description</h3>
+ <div class="desc">
+ <p>1. When click the node, it will not open '<span class="highlight_red">node.url</span>' specified URL.
+<br/>2. Support for dynamic tree editing.
+<br/>3. You can drag-drop nodes, and support drag-drop nodes between multiple trees.
+<br/>4. Support use drag-drop to copy or move the node. (Reference: <span class="highlight_red">setting.edit.drag.isCopy / setting.edit.drag.isMove</span>)
+<br/>5. You can use the Edit button to modify the name attribute.
+<br/>6. You can use the Remove button to remove the node.
+<br/>
+ </p>
+ <p class="highlight_red">Please note that letter case, do not change.</p>
+ </div>
+ <h3>Examples of setting</h3>
+ <h4>1. edit the tree</h4>
+ <pre xmlns=""><code>var setting = {
+ edit: {
+ enable: true
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.removeTitle.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.removeTitle.html index e2175279..0cbc49a7 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.removeTitle.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.removeTitle.html @@ -1,48 +1,48 @@ -<div class="apiDetail"> -<div> - <h2><span>String / Function(treeId, treeNode)</span><span class="path">setting.edit.</span>removeTitle</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>the title of the remove button DOM. It is valid when <span class="highlight_red">[setting.edit.enable = true & setting.edit.showRemoveBtn = true]</span></p> - <p>Default: "remove"</p> - </div> - </div> - <h3>String Format</h3> - <div class="desc"> - <p>When the mouse over the remove button, the browser auto pop-up message content.</p> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which show the remove button</p> - <h4 class="topLine"><b>Return </b><span>String</span></h4> - <p>Return value is same as 'String Format'</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. Set title is 'remove the node' about all the remove button</h4> - <pre xmlns=""><code>var setting = { - edit: { - enable: true, - showRemoveBtn: true, - removeTitle: "remove the node" - } -}; -......</code></pre> - <h4>2. Set title is 'remove the parent node' about the parent node, and is 'remove the leaf node' about the leaf node</h4> - <pre xmlns=""><code>function setRemoveTitle(treeId, treeNode) { - return treeNode.isParent ? "remove the parent node":"remove the leaf node"; -} -var setting = { - edit: { - enable: true, - showRemoveBtn: true, - removeTitle: setRemoveTitle - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String / Function(treeId, treeNode)</span><span class="path">setting.edit.</span>removeTitle</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>the title of the remove button DOM. It is valid when <span class="highlight_red">[setting.edit.enable = true & setting.edit.showRemoveBtn = true]</span></p>
+ <p>Default: "remove"</p>
+ </div>
+ </div>
+ <h3>String Format</h3>
+ <div class="desc">
+ <p>When the mouse over the remove button, the browser auto pop-up message content.</p>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which show the remove button</p>
+ <h4 class="topLine"><b>Return </b><span>String</span></h4>
+ <p>Return value is same as 'String Format'</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. Set title is 'remove the node' about all the remove button</h4>
+ <pre xmlns=""><code>var setting = {
+ edit: {
+ enable: true,
+ showRemoveBtn: true,
+ removeTitle: "remove the node"
+ }
+};
+......</code></pre>
+ <h4>2. Set title is 'remove the parent node' about the parent node, and is 'remove the leaf node' about the leaf node</h4>
+ <pre xmlns=""><code>function setRemoveTitle(treeId, treeNode) {
+ return treeNode.isParent ? "remove the parent node":"remove the leaf node";
+}
+var setting = {
+ edit: {
+ enable: true,
+ showRemoveBtn: true,
+ removeTitle: setRemoveTitle
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.renameTitle.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.renameTitle.html index b8ce5a6b..f9aecb98 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.renameTitle.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.renameTitle.html @@ -1,48 +1,48 @@ -<div class="apiDetail"> -<div> - <h2><span>String / Function(treeId, treeNode)</span><span class="path">setting.edit.</span>renameTitle</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>the title of the rename button DOM. It is valid when <span class="highlight_red">[setting.edit.enable = true & setting.edit.showRenameBtn = true]</span></p> - <p>Default: "rename"</p> - </div> - </div> - <h3>String Format</h3> - <div class="desc"> - <p>When the mouse over the rename button, the browser auto pop-up message content.</p> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which show the rename button</p> - <h4 class="topLine"><b>Return </b><span>String</span></h4> - <p>return value is same as 'String Format'</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. Set title is 'rename the node' about all the rename button</h4> - <pre xmlns=""><code>var setting = { - edit: { - enable: true, - showRenameBtn: true, - renameTitle: "rename the node" - } -}; -......</code></pre> - <h4>2. Set title is 'rename the parent node' about the parent node, and is 'rename the leaf node' about the leaf node</h4> - <pre xmlns=""><code>function setRenameTitle(treeId, treeNode) { - return treeNode.isParent ? "rename the parent node":"rename the leaf node"; -} -var setting = { - edit: { - enable: true, - showRenameBtn: true, - renameTitle: setRenameTitle - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String / Function(treeId, treeNode)</span><span class="path">setting.edit.</span>renameTitle</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>the title of the rename button DOM. It is valid when <span class="highlight_red">[setting.edit.enable = true & setting.edit.showRenameBtn = true]</span></p>
+ <p>Default: "rename"</p>
+ </div>
+ </div>
+ <h3>String Format</h3>
+ <div class="desc">
+ <p>When the mouse over the rename button, the browser auto pop-up message content.</p>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which show the rename button</p>
+ <h4 class="topLine"><b>Return </b><span>String</span></h4>
+ <p>return value is same as 'String Format'</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. Set title is 'rename the node' about all the rename button</h4>
+ <pre xmlns=""><code>var setting = {
+ edit: {
+ enable: true,
+ showRenameBtn: true,
+ renameTitle: "rename the node"
+ }
+};
+......</code></pre>
+ <h4>2. Set title is 'rename the parent node' about the parent node, and is 'rename the leaf node' about the leaf node</h4>
+ <pre xmlns=""><code>function setRenameTitle(treeId, treeNode) {
+ return treeNode.isParent ? "rename the parent node":"rename the leaf node";
+}
+var setting = {
+ edit: {
+ enable: true,
+ showRenameBtn: true,
+ renameTitle: setRenameTitle
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.showRemoveBtn.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.showRemoveBtn.html index f0f1fe15..d0afcec2 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.showRemoveBtn.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.showRemoveBtn.html @@ -1,50 +1,50 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean / Function(treeId, treeNode)</span><span class="path">setting.edit.</span>showRemoveBtn</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Set to show or hide the remove button. It is valid when <span class="highlight_red">[setting.edit.enable = true]</span></p> - <p>When you click the remove button:</p> - <p>1. zTree will trigger the <span class="highlight_red">setting.callback.beforeRemove</span> callback, and you can decide whether to allow delete.</p> - <p>2. If you don't set the 'beforeRemove' or the 'beforeRemove' callback return true, so zTree will trigger the <span class="highlight_red">setting.callback.onRemove</span> callback after remove the node.</p> - <p>Default: true</p> - </div> - </div> - <h3>Boolean Format</h3> - <div class="desc"> - <p> true means: show the remove button</p> - <p> false means: hide the remove button</p> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which show the remove button</p> - <h4 class="topLine"><b>Return </b><span>Boolean</span></h4> - <p>Return value is same as 'Boolean Format'</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. Hide the remove button</h4> - <pre xmlns=""><code>var setting = { - edit: { - enable: true, - showRemoveBtn: false - } -}; -......</code></pre> - <h4>2. Hide the remove button of parent node</h4> - <pre xmlns=""><code>function setRemoveBtn(treeId, treeNode) { - return !treeNode.isParent; -} -var setting = { - edit: { - enable: true, - showRemoveBtn: setRemoveBtn - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean / Function(treeId, treeNode)</span><span class="path">setting.edit.</span>showRemoveBtn</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Set to show or hide the remove button. It is valid when <span class="highlight_red">[setting.edit.enable = true]</span></p>
+ <p>When you click the remove button:</p>
+ <p>1. zTree will trigger the <span class="highlight_red">setting.callback.beforeRemove</span> callback, and you can decide whether to allow delete.</p>
+ <p>2. If you don't set the 'beforeRemove' or the 'beforeRemove' callback return true, so zTree will trigger the <span class="highlight_red">setting.callback.onRemove</span> callback after remove the node.</p>
+ <p>Default: true</p>
+ </div>
+ </div>
+ <h3>Boolean Format</h3>
+ <div class="desc">
+ <p> true means: show the remove button</p>
+ <p> false means: hide the remove button</p>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which show the remove button</p>
+ <h4 class="topLine"><b>Return </b><span>Boolean</span></h4>
+ <p>Return value is same as 'Boolean Format'</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. Hide the remove button</h4>
+ <pre xmlns=""><code>var setting = {
+ edit: {
+ enable: true,
+ showRemoveBtn: false
+ }
+};
+......</code></pre>
+ <h4>2. Hide the remove button of parent node</h4>
+ <pre xmlns=""><code>function setRemoveBtn(treeId, treeNode) {
+ return !treeNode.isParent;
+}
+var setting = {
+ edit: {
+ enable: true,
+ showRemoveBtn: setRemoveBtn
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.showRenameBtn.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.showRenameBtn.html index 4fe2f581..5f7c87d9 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.showRenameBtn.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.edit.showRenameBtn.html @@ -1,52 +1,52 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean / Function(treeId, treeNode)</span><span class="path">setting.edit.</span>showRenameBtn</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Set to show or hide the rename button. It is valid when <span class="highlight_red">[setting.edit.enable = true]</span></p> - <p>When you click the rename button:</p> - <p>1. Click the rename button, you can rename the node.</p> - <p>2. After rename operation (the input DOM blur or press the Enter Key), zTree will trigger the <span class="highlight_red">setting.callback.beforeRename</span> callback, and you can decide whether to allow rename.</p> - <p>3. If the 'beforeRename' callback return false, so zTree will keep the edit status. (Press the ESC key, can be restored to the original state.</p> - <p>4. If you don't set the 'beforeRename' or the 'beforeRename' callback return true, so zTree will trigger the <span class="highlight_red">setting.callback.onRename</span> callback after rename the node.</p> - <p>Default: true</p> - </div> - </div> - <h3>Boolean Format</h3> - <div class="desc"> - <p> true means: show the rename button</p> - <p> false means: hide the rename button</p> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which show the rename button</p> - <h4 class="topLine"><b>Return </b><span>Boolean</span></h4> - <p>Return value is same as 'Boolean Format'</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. Hide the rename button</h4> - <pre xmlns=""><code>var setting = { - edit: { - enable: true, - showRenameBtn: false - } -}; -......</code></pre> - <h4>2. Hide the rename button of parent node</h4> - <pre xmlns=""><code>function setRenameBtn(treeId, treeNode) { - return !treeNode.isParent; -} -var setting = { - edit: { - enable: true, - showRenameBtn: setRenameBtn - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean / Function(treeId, treeNode)</span><span class="path">setting.edit.</span>showRenameBtn</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Set to show or hide the rename button. It is valid when <span class="highlight_red">[setting.edit.enable = true]</span></p>
+ <p>When you click the rename button:</p>
+ <p>1. Click the rename button, you can rename the node.</p>
+ <p>2. After rename operation (the input DOM blur or press the Enter Key), zTree will trigger the <span class="highlight_red">setting.callback.beforeRename</span> callback, and you can decide whether to allow rename.</p>
+ <p>3. If the 'beforeRename' callback return false, so zTree will keep the edit status. (Press the ESC key, can be restored to the original state.</p>
+ <p>4. If you don't set the 'beforeRename' or the 'beforeRename' callback return true, so zTree will trigger the <span class="highlight_red">setting.callback.onRename</span> callback after rename the node.</p>
+ <p>Default: true</p>
+ </div>
+ </div>
+ <h3>Boolean Format</h3>
+ <div class="desc">
+ <p> true means: show the rename button</p>
+ <p> false means: hide the rename button</p>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which show the rename button</p>
+ <h4 class="topLine"><b>Return </b><span>Boolean</span></h4>
+ <p>Return value is same as 'Boolean Format'</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. Hide the rename button</h4>
+ <pre xmlns=""><code>var setting = {
+ edit: {
+ enable: true,
+ showRenameBtn: false
+ }
+};
+......</code></pre>
+ <h4>2. Hide the rename button of parent node</h4>
+ <pre xmlns=""><code>function setRenameBtn(treeId, treeNode) {
+ return !treeNode.isParent;
+}
+var setting = {
+ edit: {
+ enable: true,
+ showRenameBtn: setRenameBtn
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.treeId.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.treeId.html index e4b04b37..a54febfd 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.treeId.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.treeId.html @@ -1,14 +1,14 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">setting.</span>treeId</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>zTree unique identifier. After the initialization, it equals to the id attribute value of the user-defined zTree container.</p> - <p class="highlight_red">Do not initialize or modify it, it is an internal argument.</p> - </div> - </div> - -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">setting.</span>treeId</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>zTree unique identifier. After the initialization, it equals to the id attribute value of the user-defined zTree container.</p>
+ <p class="highlight_red">Do not initialize or modify it, it is an internal argument.</p>
+ </div>
+ </div>
+
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.treeObj.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.treeObj.html index 30eb66c4..faca1564 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.treeObj.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.treeObj.html @@ -1,14 +1,14 @@ -<div class="apiDetail"> -<div> - <h2><span>Object</span><span class="path">setting.</span>treeObj</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>zTree DOM's jQuery object, the main function: easy to internal operations.</p> - <p class="highlight_red">Do not initialize or modify it, it is an internal argument.</p> - </div> - </div> - -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Object</span><span class="path">setting.</span>treeObj</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>zTree DOM's jQuery object, the main function: easy to internal operations.</p>
+ <p class="highlight_red">Do not initialize or modify it, it is an internal argument.</p>
+ </div>
+ </div>
+
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.addDiyDom.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.addDiyDom.html index fa22befd..3967f4a2 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.addDiyDom.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.addDiyDom.html @@ -1,40 +1,40 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeId, treeNode)</span><span class="path">setting.view.</span>addDiyDom</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>This function used to display the custom control on the node.</p> - <p class="highlight_red">1. If you have huge node data, please note: this function will affect the initialization performance. If not required, it is recommended not to use this function.</p> - <p class="highlight_red">2. This function is an advanced application, please make sure that a better understanding of zTree before you use it.</p> - <p>Default: null</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which display the custom control.</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. Display button in all nodes.</h4> - <pre xmlns=""><code>var setting = { - view: { - addDiyDom: addDiyDom - } -}; -function addDiyDom(treeId, treeNode) { - var aObj = $("#" + treeNode.tId + "_a"); - if ($("#diyBtn_"+treeNode.id).length>0) return; - var editStr = "<span id='diyBtn_space_" +treeNode.id+ "' > </span>" - + "<button type='button' class='diyBtn1' id='diyBtn_" + treeNode.id - + "' title='"+treeNode.name+"' onfocus='this.blur();'></button>"; - aObj.append(editStr); - var btn = $("#diyBtn_"+treeNode.id); - if (btn) btn.bind("click", function(){alert("diy Button for " + treeNode.name);}); -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeId, treeNode)</span><span class="path">setting.view.</span>addDiyDom</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>This function used to display the custom control on the node.</p>
+ <p class="highlight_red">1. If you have huge node data, please note: this function will affect the initialization performance. If not required, it is recommended not to use this function.</p>
+ <p class="highlight_red">2. This function is an advanced application, please make sure that a better understanding of zTree before you use it.</p>
+ <p>Default: null</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which display the custom control.</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. Display button in all nodes.</h4>
+ <pre xmlns=""><code>var setting = {
+ view: {
+ addDiyDom: addDiyDom
+ }
+};
+function addDiyDom(treeId, treeNode) {
+ var aObj = $("#" + treeNode.tId + "_a");
+ if ($("#diyBtn_"+treeNode.id).length>0) return;
+ var editStr = "<span id='diyBtn_space_" +treeNode.id+ "' > </span>"
+ + "<button type='button' class='diyBtn1' id='diyBtn_" + treeNode.id
+ + "' title='"+treeNode.name+"' onfocus='this.blur();'></button>";
+ aObj.append(editStr);
+ var btn = $("#diyBtn_"+treeNode.id);
+ if (btn) btn.bind("click", function(){alert("diy Button for " + treeNode.name);});
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.addHoverDom.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.addHoverDom.html index 1ea8b6d9..f490a209 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.addHoverDom.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.addHoverDom.html @@ -1,45 +1,45 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeId, treeNode)</span><span class="path">setting.view.</span>addHoverDom</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Used to display custom control when mouse move over the node. (e.g. the rename and remove button)</p> - <p class="highlight_red">If you use this function, so must set <span class="highlight_red">setting.view.removeHoverDom</span>, please make sure that a better understanding of zTree before you use it.</p> - <p>Default: null</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which need to display the custom control.</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. Display a button when mouse move over the node, and hide the button when mouse move out.</h4> - <pre xmlns=""><code>var setting = { - view: { - addHoverDom: addHoverDom, - removeHoverDom: removeHoverDom, - ...... - } -}; -function addHoverDom(treeId, treeNode) { - var aObj = $("#" + treeNode.tId + "_a"); - if ($("#diyBtn_"+treeNode.id).length>0) return; - var editStr = "<span id='diyBtn_space_" +treeNode.id+ "' > </span>" - + "<button type='button' class='diyBtn1' id='diyBtn_" + treeNode.id - + "' title='"+treeNode.name+"' onfocus='this.blur();'></button>"; - aObj.append(editStr); - var btn = $("#diyBtn_"+treeNode.id); - if (btn) btn.bind("click", function(){alert("diy Button for " + treeNode.name);}); -}; -function removeHoverDom(treeId, treeNode) { - $("#diyBtn_"+treeNode.id).unbind().remove(); - $("#diyBtn_space_" +treeNode.id).unbind().remove(); -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeId, treeNode)</span><span class="path">setting.view.</span>addHoverDom</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Used to display custom control when mouse move over the node. (e.g. the rename and remove button)</p>
+ <p class="highlight_red">If you use this function, so must set <span class="highlight_red">setting.view.removeHoverDom</span>, please make sure that a better understanding of zTree before you use it.</p>
+ <p>Default: null</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which need to display the custom control.</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. Display a button when mouse move over the node, and hide the button when mouse move out.</h4>
+ <pre xmlns=""><code>var setting = {
+ view: {
+ addHoverDom: addHoverDom,
+ removeHoverDom: removeHoverDom,
+ ......
+ }
+};
+function addHoverDom(treeId, treeNode) {
+ var aObj = $("#" + treeNode.tId + "_a");
+ if ($("#diyBtn_"+treeNode.id).length>0) return;
+ var editStr = "<span id='diyBtn_space_" +treeNode.id+ "' > </span>"
+ + "<button type='button' class='diyBtn1' id='diyBtn_" + treeNode.id
+ + "' title='"+treeNode.name+"' onfocus='this.blur();'></button>";
+ aObj.append(editStr);
+ var btn = $("#diyBtn_"+treeNode.id);
+ if (btn) btn.bind("click", function(){alert("diy Button for " + treeNode.name);});
+};
+function removeHoverDom(treeId, treeNode) {
+ $("#diyBtn_"+treeNode.id).unbind().remove();
+ $("#diyBtn_space_" +treeNode.id).unbind().remove();
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.autoCancelSelected.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.autoCancelSelected.html index 44ab90d0..8d529ca2 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.autoCancelSelected.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.autoCancelSelected.html @@ -1,27 +1,27 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">setting.view.</span>autoCancelSelected</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>When click the selected node while pressing the Ctrl-key or Cmd-key, allow to cancel selected the node.</p> - <p class="highlight_red">If you don't need this function, please set to false.</p> - <p>Default: true</p> - </div> - </div> - <h3>Boolean Format</h3> - <div class="desc"> - <p> true means: press the Ctrl-key or Cmd-key, can cancel selected node.</p> - <p> false means: press the Ctrl-key or Cmd-key, can't cancel selected node.</p> - </div> - <h3>Examples of setting</h3> - <h4>1. Press the Ctrl-key or Cmd-key, can't cancel selected node.</h4> - <pre xmlns=""><code>var setting = { - view: { - autoCancelSelected: false - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">setting.view.</span>autoCancelSelected</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>When click the selected node while pressing the Ctrl-key or Cmd-key, allow to cancel selected the node.</p>
+ <p class="highlight_red">If you don't need this function, please set to false.</p>
+ <p>Default: true</p>
+ </div>
+ </div>
+ <h3>Boolean Format</h3>
+ <div class="desc">
+ <p> true means: press the Ctrl-key or Cmd-key, can cancel selected node.</p>
+ <p> false means: press the Ctrl-key or Cmd-key, can't cancel selected node.</p>
+ </div>
+ <h3>Examples of setting</h3>
+ <h4>1. Press the Ctrl-key or Cmd-key, can't cancel selected node.</h4>
+ <pre xmlns=""><code>var setting = {
+ view: {
+ autoCancelSelected: false
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.dblClickExpand.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.dblClickExpand.html index 25176240..6b6fd550 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.dblClickExpand.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.dblClickExpand.html @@ -1,45 +1,45 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean / Function(treeId, treeNode)</span><span class="path">setting.view.</span>dblClickExpand</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>When double-click the parent node, 'dblClickExpand' is used to decide whether to expand the parent node.</p> - <p>Default: true</p> - </div> - </div> - <h3>Boolean Format</h3> - <div class="desc"> - <p> true means: When double-click the parent node, zTree will expand the parent node.</p> - <p> false means: When double-click the parent node, zTree will not expand the parent node.</p> - </div> - <h3>Function Pamameter Descriptions</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which be double-clicked.</p> - <h4 class="topLine"><b>Return </b><span>Boolean</span></h4> - <p>Return value is same as 'Boolean Format'</p> - </div> - <h3>Example of setting</h3> - <h4>1. When double-click the parent node, zTree will not expand the parent node.</h4> - <pre xmlns=""><code>var setting = { - view: { - dblClickExpand: false - } -}; -......</code></pre> - <h4>2. When double-click the parent node, zTree will expand the parent node which level>0.</h4> - <pre xmlns=""><code>function dblClickExpand(treeId, treeNode) { - return treeNode.level > 0; -}; -var setting = { - view: { - dblClickExpand: dblClickExpand - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean / Function(treeId, treeNode)</span><span class="path">setting.view.</span>dblClickExpand</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>When double-click the parent node, 'dblClickExpand' is used to decide whether to expand the parent node.</p>
+ <p>Default: true</p>
+ </div>
+ </div>
+ <h3>Boolean Format</h3>
+ <div class="desc">
+ <p> true means: When double-click the parent node, zTree will expand the parent node.</p>
+ <p> false means: When double-click the parent node, zTree will not expand the parent node.</p>
+ </div>
+ <h3>Function Pamameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which be double-clicked.</p>
+ <h4 class="topLine"><b>Return </b><span>Boolean</span></h4>
+ <p>Return value is same as 'Boolean Format'</p>
+ </div>
+ <h3>Example of setting</h3>
+ <h4>1. When double-click the parent node, zTree will not expand the parent node.</h4>
+ <pre xmlns=""><code>var setting = {
+ view: {
+ dblClickExpand: false
+ }
+};
+......</code></pre>
+ <h4>2. When double-click the parent node, zTree will expand the parent node which level>0.</h4>
+ <pre xmlns=""><code>function dblClickExpand(treeId, treeNode) {
+ return treeNode.level > 0;
+};
+var setting = {
+ view: {
+ dblClickExpand: dblClickExpand
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.expandSpeed.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.expandSpeed.html index 1911e74e..54a57d87 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.expandSpeed.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.expandSpeed.html @@ -1,31 +1,31 @@ -<div class="apiDetail"> -<div> - <h2><span>String / Number</span><span class="path">setting.view.</span>expandSpeed</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>The animation speed of expand or collapse node. As same as 'speed' parameter in jQuery</p> - <p class="highlight_red">In order to ensure zTree operating speed, if use the IE6, zTree will not use animation.</p> - <p>Default: "fast"</p> - </div> - </div> - <h3>String Format</h3> - <div class="desc"> - <p>e.g. "slow", "normal", or "fast"</p> - <p class="highlight_red">If set to "", zTree will not use animation.</p> - </div> - <h3>Number Format</h3> - <div class="desc"> - <p>How long the animation will run. [Unit: ms] (e.g. 1000)</p> - </div> - <h3>Examples of setting</h3> - <h4>1. Set the animation speed to slow</h4> - <pre xmlns=""><code>var setting = { - view: { - expandSpeed: "slow" - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String / Number</span><span class="path">setting.view.</span>expandSpeed</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>The animation speed of expand or collapse node. As same as 'speed' parameter in jQuery</p>
+ <p class="highlight_red">In order to ensure zTree operating speed, if use the IE6, zTree will not use animation.</p>
+ <p>Default: "fast"</p>
+ </div>
+ </div>
+ <h3>String Format</h3>
+ <div class="desc">
+ <p>e.g. "slow", "normal", or "fast"</p>
+ <p class="highlight_red">If set to "", zTree will not use animation.</p>
+ </div>
+ <h3>Number Format</h3>
+ <div class="desc">
+ <p>How long the animation will run. [Unit: ms] (e.g. 1000)</p>
+ </div>
+ <h3>Examples of setting</h3>
+ <h4>1. Set the animation speed to slow</h4>
+ <pre xmlns=""><code>var setting = {
+ view: {
+ expandSpeed: "slow"
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.fontCss.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.fontCss.html index 1ad5f516..1183bed8 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.fontCss.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.fontCss.html @@ -1,42 +1,42 @@ -<div class="apiDetail"> -<div> - <h2><span>JSON / Function(treeId, treeNode)</span><span class="path">setting.view.</span>fontCss</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Personalized text style, only applies to <A> object in the node DOM</p> - <p>Default: {}</p> - </div> - </div> - <h3>JSON Format</h3> - <div class="desc"> - <p>As same as .css() method in jQuery. e.g. <span class="highlight_red">{color:"#ff0011", background:"blue"}</span></p> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which use the personalized text style</p> - <h4 class="topLine"><b>Return </b><span>JSON</span></h4> - <p>Return value is same as 'JSON Format'. e.g. <span class="highlight_red">{color:"#ff0011", background:"blue"}</span></p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. Don't modify css file, and set the node name's color to red</h4> - <pre xmlns=""><code>var setting = { - view: { - fontCss : {color:"red"} - } -};</code></pre> - <h4>2. Don't modify css file, and set the root node name's color to red</h4> - <pre xmlns=""><code>function setFontCss(treeId, treeNode) { - return treeNode.level == 0 ? {color:"red"} : {}; -}; -var setting = { - view: { - fontCss: setFontCss - } -};</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>JSON / Function(treeId, treeNode)</span><span class="path">setting.view.</span>fontCss</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Personalized text style, only applies to <A> object in the node DOM</p>
+ <p>Default: {}</p>
+ </div>
+ </div>
+ <h3>JSON Format</h3>
+ <div class="desc">
+ <p>As same as .css() method in jQuery. e.g. <span class="highlight_red">{color:"#ff0011", background:"blue"}</span></p>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which use the personalized text style</p>
+ <h4 class="topLine"><b>Return </b><span>JSON</span></h4>
+ <p>Return value is same as 'JSON Format'. e.g. <span class="highlight_red">{color:"#ff0011", background:"blue"}</span></p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. Don't modify css file, and set the node name's color to red</h4>
+ <pre xmlns=""><code>var setting = {
+ view: {
+ fontCss : {color:"red"}
+ }
+};</code></pre>
+ <h4>2. Don't modify css file, and set the root node name's color to red</h4>
+ <pre xmlns=""><code>function setFontCss(treeId, treeNode) {
+ return treeNode.level == 0 ? {color:"red"} : {};
+};
+var setting = {
+ view: {
+ fontCss: setFontCss
+ }
+};</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.nameIsHTML.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.nameIsHTML.html index 4fe19ada..fce48358 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.nameIsHTML.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.nameIsHTML.html @@ -1,28 +1,28 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">setting.view.</span>nameIsHTML</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Set to use HTML in 'name' attribute.</p> - <p class="highlight_red">If allow HTML, please do check to avoid security issues, e.g. JavaScript Injection...</p> - <p>Default: false</p> - </div> - </div> - <h3>Boolean Format</h3> - <div class="desc"> - <p> true means: 'name' attribute can be HTML.</p> - <p> false means: 'name' attribute is only TEXT.</p> - </div> - <h3>Examples of setting</h3> - <h4>1. Set to allow HTML</h4> - <pre xmlns=""><code>var setting = { - view: { - nameIsHTML: true - } -}; -var node = {"name":"<font color='red'>test</font>"}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">setting.view.</span>nameIsHTML</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Set to use HTML in 'name' attribute.</p>
+ <p class="highlight_red">If allow HTML, please do check to avoid security issues, e.g. JavaScript Injection...</p>
+ <p>Default: false</p>
+ </div>
+ </div>
+ <h3>Boolean Format</h3>
+ <div class="desc">
+ <p> true means: 'name' attribute can be HTML.</p>
+ <p> false means: 'name' attribute is only TEXT.</p>
+ </div>
+ <h3>Examples of setting</h3>
+ <h4>1. Set to allow HTML</h4>
+ <pre xmlns=""><code>var setting = {
+ view: {
+ nameIsHTML: true
+ }
+};
+var node = {"name":"<font color='red'>test</font>"};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.removeHoverDom.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.removeHoverDom.html index 0c70aff2..2faa58e3 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.removeHoverDom.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.removeHoverDom.html @@ -1,45 +1,45 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeId, treeNode)</span><span class="path">setting.view.</span>removeHoverDom</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Used to hide custom control when mouse move out the node. (e.g. the rename and remove button)</p> - <p class="highlight_red">If you use this function, so must set <span class="highlight_red">setting.view.addHoverDom</span>, please make sure that a better understanding of zTree before you use it.</p> - <p>Default: null</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p> - <h4><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which need to hide the custom control.</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. Display a button when mouse move over the node, and hide the button when mouse move out.</h4> - <pre xmlns=""><code>var setting = { - view: { - addHoverDom: addHoverDom, - removeHoverDom: removeHoverDom, - ...... - } -}; -function addHoverDom(treeId, treeNode) { - var aObj = $("#" + treeNode.tId + "_a"); - if ($("#diyBtn_"+treeNode.id).length>0) return; - var editStr = "<span id='diyBtn_space_" +treeNode.id+ "' > </span>" - + "<button type='button' class='diyBtn1' id='diyBtn_" + treeNode.id - + "' title='"+treeNode.name+"' onfocus='this.blur();'></button>"; - aObj.append(editStr); - var btn = $("#diyBtn_"+treeNode.id); - if (btn) btn.bind("click", function(){alert("diy Button for " + treeNode.name);}); -}; -function removeHoverDom(treeId, treeNode) { - $("#diyBtn_"+treeNode.id).unbind().remove(); - $("#diyBtn_space_" +treeNode.id).unbind().remove(); -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeId, treeNode)</span><span class="path">setting.view.</span>removeHoverDom</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Used to hide custom control when mouse move out the node. (e.g. the rename and remove button)</p>
+ <p class="highlight_red">If you use this function, so must set <span class="highlight_red">setting.view.addHoverDom</span>, please make sure that a better understanding of zTree before you use it.</p>
+ <p>Default: null</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p>
+ <h4><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which need to hide the custom control.</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. Display a button when mouse move over the node, and hide the button when mouse move out.</h4>
+ <pre xmlns=""><code>var setting = {
+ view: {
+ addHoverDom: addHoverDom,
+ removeHoverDom: removeHoverDom,
+ ......
+ }
+};
+function addHoverDom(treeId, treeNode) {
+ var aObj = $("#" + treeNode.tId + "_a");
+ if ($("#diyBtn_"+treeNode.id).length>0) return;
+ var editStr = "<span id='diyBtn_space_" +treeNode.id+ "' > </span>"
+ + "<button type='button' class='diyBtn1' id='diyBtn_" + treeNode.id
+ + "' title='"+treeNode.name+"' onfocus='this.blur();'></button>";
+ aObj.append(editStr);
+ var btn = $("#diyBtn_"+treeNode.id);
+ if (btn) btn.bind("click", function(){alert("diy Button for " + treeNode.name);});
+};
+function removeHoverDom(treeId, treeNode) {
+ $("#diyBtn_"+treeNode.id).unbind().remove();
+ $("#diyBtn_space_" +treeNode.id).unbind().remove();
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.selectedMulti.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.selectedMulti.html index 074fb685..1b7f4e38 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.selectedMulti.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.selectedMulti.html @@ -1,28 +1,28 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">setting.view.</span>selectedMulti</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Set whether to allow select multiple nodes.</p> - <p>Default: true</p> - </div> - </div> - <h3>Boolean Format</h3> - <div class="desc"> - <p> true mean: you can select multiple nodes.</p> - <p> false mean: you can only select one node.</p> - <p class="highlight_red">1. Press Ctrl-key or Cmd-key, you can select multiple nodes.</p> - <p class="highlight_red">2、This attribute don't affect the feature of cancel select node. ( please see setting.view.autoCancelSelected )</p> - </div> - <h3>Examples of setting</h3> - <h4>1. Only select one node.</h4> - <pre xmlns=""><code>var setting = { - view: { - selectedMulti: false - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">setting.view.</span>selectedMulti</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Set whether to allow select multiple nodes.</p>
+ <p>Default: true</p>
+ </div>
+ </div>
+ <h3>Boolean Format</h3>
+ <div class="desc">
+ <p> true mean: you can select multiple nodes.</p>
+ <p> false mean: you can only select one node.</p>
+ <p class="highlight_red">1. Press Ctrl-key or Cmd-key, you can select multiple nodes.</p>
+ <p class="highlight_red">2、This attribute don't affect the feature of cancel select node. ( please see setting.view.autoCancelSelected )</p>
+ </div>
+ <h3>Examples of setting</h3>
+ <h4>1. Only select one node.</h4>
+ <pre xmlns=""><code>var setting = {
+ view: {
+ selectedMulti: false
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.showIcon.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.showIcon.html index 9adf0034..fb8415f3 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.showIcon.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.showIcon.html @@ -1,45 +1,45 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean / Function(treeId, treeNode)</span><span class="path">setting.view.</span>showIcon</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Set to show or hide node icon.</p> - <p>Default: true</p> - </div> - </div> - <h3>Boolean Format</h3> - <div class="desc"> - <p> true means: show node icon.</p> - <p> false means: hide node icon.</p> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which need to show icon.</p> - <h4 class="topLine"><b>Return </b><span>Boolean</span></h4> - <p>Return value is same as 'Boolean Format'</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. Hide node icon</h4> - <pre xmlns=""><code>var setting = { - view: { - showIcon: false - } -}; -......</code></pre> - <h4>2. Hide node icon which level=2</h4> - <pre xmlns=""><code>function showIconForTree(treeId, treeNode) { - return treeNode.level != 2; -}; -var setting = { - view: { - showIcon: showIconForTree - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean / Function(treeId, treeNode)</span><span class="path">setting.view.</span>showIcon</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Set to show or hide node icon.</p>
+ <p>Default: true</p>
+ </div>
+ </div>
+ <h3>Boolean Format</h3>
+ <div class="desc">
+ <p> true means: show node icon.</p>
+ <p> false means: hide node icon.</p>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which need to show icon.</p>
+ <h4 class="topLine"><b>Return </b><span>Boolean</span></h4>
+ <p>Return value is same as 'Boolean Format'</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. Hide node icon</h4>
+ <pre xmlns=""><code>var setting = {
+ view: {
+ showIcon: false
+ }
+};
+......</code></pre>
+ <h4>2. Hide node icon which level=2</h4>
+ <pre xmlns=""><code>function showIconForTree(treeId, treeNode) {
+ return treeNode.level != 2;
+};
+var setting = {
+ view: {
+ showIcon: showIconForTree
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.showLine.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.showLine.html index a5540149..b8011cdf 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.showLine.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.showLine.html @@ -1,26 +1,26 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">setting.view.</span>showLine</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Set to show or hide line.</p> - <p>Default: true</p> - </div> - </div> - <h3>Boolean Format</h3> - <div class="desc"> - <p> true means: show line.</p> - <p> false means: hide line.</p> - </div> - <h3>Examples of setting</h3> - <h4>1. Hide line</h4> - <pre xmlns=""><code>var setting = { - view: { - showLine: false - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">setting.view.</span>showLine</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Set to show or hide line.</p>
+ <p>Default: true</p>
+ </div>
+ </div>
+ <h3>Boolean Format</h3>
+ <div class="desc">
+ <p> true means: show line.</p>
+ <p> false means: hide line.</p>
+ </div>
+ <h3>Examples of setting</h3>
+ <h4>1. Hide line</h4>
+ <pre xmlns=""><code>var setting = {
+ view: {
+ showLine: false
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.showTitle.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.showTitle.html index 66bb26e6..961da66e 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.showTitle.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.showTitle.html @@ -1,47 +1,47 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean / Function(treeId, treeNode)</span><span class="path">setting.view.</span>showTitle</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Set to show or hide the 'title' attribute of node DOM.</p> - <p class="highlight_red">Please see the <span class="highlight_red">setting.data.key.title</span> attribute</p> - <p>Default: true</p> - </div> - </div> - <h3>Boolean Format</h3> - <div class="desc"> - <p> true means: show the 'title' attribute of node DOM.</p> - <p> false means: hide the 'title' attribute of node DOM.</p> - <p class="highlight_red">When setting.view.showTitle = true & setting.data.key.title = '', zTree will set the 'setting.data.key.name' attribute to the 'setting.data.key.title'.</p> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeId</b><span>String</span></h4> - <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which need to show title.</p> - <h4 class="topLine"><b>Return </b><span>Boolean</span></h4> - <p>Return value is same as 'Boolean Format'</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. Hide the 'title' attribute of node DOM.</h4> - <pre xmlns=""><code>var setting = { - view: { - showTitle: false - } -}; -......</code></pre> - <h4>2. Hide the 'title' attribute of node DOM which level=2.</h4> - <pre xmlns=""><code>function showTitleForTree(treeId, treeNode) { - return treeNode.level != 2; -}; -var setting = { - view: { - showTitle: showTitleForTree - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean / Function(treeId, treeNode)</span><span class="path">setting.view.</span>showTitle</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Set to show or hide the 'title' attribute of node DOM.</p>
+ <p class="highlight_red">Please see the <span class="highlight_red">setting.data.key.title</span> attribute</p>
+ <p>Default: true</p>
+ </div>
+ </div>
+ <h3>Boolean Format</h3>
+ <div class="desc">
+ <p> true means: show the 'title' attribute of node DOM.</p>
+ <p> false means: hide the 'title' attribute of node DOM.</p>
+ <p class="highlight_red">When setting.view.showTitle = true & setting.data.key.title = '', zTree will set the 'setting.data.key.name' attribute to the 'setting.data.key.title'.</p>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeId</b><span>String</span></h4>
+ <p>zTree unique identifier: <b class="highlight_red">treeId</b>, easy for users to control.</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which need to show title.</p>
+ <h4 class="topLine"><b>Return </b><span>Boolean</span></h4>
+ <p>Return value is same as 'Boolean Format'</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. Hide the 'title' attribute of node DOM.</h4>
+ <pre xmlns=""><code>var setting = {
+ view: {
+ showTitle: false
+ }
+};
+......</code></pre>
+ <h4>2. Hide the 'title' attribute of node DOM which level=2.</h4>
+ <pre xmlns=""><code>function showTitleForTree(treeId, treeNode) {
+ return treeNode.level != 2;
+};
+var setting = {
+ view: {
+ showTitle: showTitleForTree
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.txtSelectedEnable.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.txtSelectedEnable.html index a3809300..c7f706c1 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.txtSelectedEnable.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/setting.view.txtSelectedEnable.html @@ -1,26 +1,26 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">setting.view.</span>txtSelectedEnable</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Set to allow or don't allow to select the text which in zTree's DOM.</p> - <p>Default: false</p> - </div> - </div> - <h3>Boolean Format</h3> - <div class="desc"> - <p> true means: Allow to select the txt which in zTree's DOM.</p> - <p> false means: Don't allow to select the txt which in zTree's DOM.</p> - </div> - <h3>Examples of setting & function</h3> - <h4>1. Allow to select the txt which in zTree's DOM.</h4> - <pre xmlns=""><code>var setting = { - view: { - txtSelectedEnable: true - } -}; -......</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">setting.view.</span>txtSelectedEnable</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Set to allow or don't allow to select the text which in zTree's DOM.</p>
+ <p>Default: false</p>
+ </div>
+ </div>
+ <h3>Boolean Format</h3>
+ <div class="desc">
+ <p> true means: Allow to select the txt which in zTree's DOM.</p>
+ <p> false means: Don't allow to select the txt which in zTree's DOM.</p>
+ </div>
+ <h3>Examples of setting & function</h3>
+ <h4>1. Allow to select the txt which in zTree's DOM.</h4>
+ <pre xmlns=""><code>var setting = {
+ view: {
+ txtSelectedEnable: true
+ }
+};
+......</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.check_Child_State.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.check_Child_State.html index 48efb79a..587ef1fe 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.check_Child_State.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.check_Child_State.html @@ -1,43 +1,43 @@ -<div class="apiDetail"> -<div> - <h2><span>Number</span><span class="path">treeNode.</span>check_Child_State</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Used to record the node's half-checked state about its all child nodes's checkbox or radio. It is valid when <span class="highlight_red">[setting.check.enable = true]</span></p> - <p class="highlight_red">zTree v3.x provides treeNode.getCheckStatus () method to get an accurate the half-checked status.</p> - <p class="highlight_red">Do not initialize or modify it, it is an internal argument.</p> - <p>Default: true</p> - </div> - </div> - <h3>Number Format</h3> - <div class="desc"> - <p>Rules:</p> - <table width="100%" border="0" cellspacing="1" cellpadding="0"> - <thead> - <tr><td colspan="4">setting.check.checkType = "checkbox"</td></tr> - <tr><td>treeNode.check_Child_State</td><td>Checked Status Description</td></tr> - </thead> - <tbody> - <tr><td>-1</td><td>Has no child nodes or all child nodes's 'nocheck' attribute is true.</td></tr> - <tr><td>0</td><td>All of the child nodes has not been checked.</td></tr> - <tr><td>1</td><td>Some of the child nodes has been checked.</td></tr> - <tr><td>2</td><td>All of the child nodes has been checked.</td></tr> - </tbody> - </table> - <br/> - <table width="100%" border="0" cellspacing="1" cellpadding="0"> - <thead> - <tr><td colspan="4">setting.check.checkType = "radio"</td></tr> - <tr><td>treeNode.check_Child_State</td><td>Checked Status Description</td></tr> - </thead> - <tbody> - <tr><td>-1</td><td>Has no child nodes or all child nodes's 'nocheck' attribute is true.</td></tr> - <tr><td>0</td><td>All of the child nodes has not been checked.</td></tr> - <tr><td>2</td><td>Some of the child nodes has been checked.</td></tr> - </tbody> - </table> - </div> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Number</span><span class="path">treeNode.</span>check_Child_State</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Used to record the node's half-checked state about its all child nodes's checkbox or radio. It is valid when <span class="highlight_red">[setting.check.enable = true]</span></p>
+ <p class="highlight_red">zTree v3.x provides treeNode.getCheckStatus () method to get an accurate the half-checked status.</p>
+ <p class="highlight_red">Do not initialize or modify it, it is an internal argument.</p>
+ <p>Default: true</p>
+ </div>
+ </div>
+ <h3>Number Format</h3>
+ <div class="desc">
+ <p>Rules:</p>
+ <table width="100%" border="0" cellspacing="1" cellpadding="0">
+ <thead>
+ <tr><td colspan="4">setting.check.checkType = "checkbox"</td></tr>
+ <tr><td>treeNode.check_Child_State</td><td>Checked Status Description</td></tr>
+ </thead>
+ <tbody>
+ <tr><td>-1</td><td>Has no child nodes or all child nodes's 'nocheck' attribute is true.</td></tr>
+ <tr><td>0</td><td>All of the child nodes has not been checked.</td></tr>
+ <tr><td>1</td><td>Some of the child nodes has been checked.</td></tr>
+ <tr><td>2</td><td>All of the child nodes has been checked.</td></tr>
+ </tbody>
+ </table>
+ <br/>
+ <table width="100%" border="0" cellspacing="1" cellpadding="0">
+ <thead>
+ <tr><td colspan="4">setting.check.checkType = "radio"</td></tr>
+ <tr><td>treeNode.check_Child_State</td><td>Checked Status Description</td></tr>
+ </thead>
+ <tbody>
+ <tr><td>-1</td><td>Has no child nodes or all child nodes's 'nocheck' attribute is true.</td></tr>
+ <tr><td>0</td><td>All of the child nodes has not been checked.</td></tr>
+ <tr><td>2</td><td>Some of the child nodes has been checked.</td></tr>
+ </tbody>
+ </table>
+ </div>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.check_Focus.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.check_Focus.html index 77b73598..7cb2462c 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.check_Focus.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.check_Focus.html @@ -1,19 +1,19 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">treeNode.</span>check_Focus</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Used to record the status which the checkbox or radio get focus. It is valid when <span class="highlight_red">[setting.check.enable = true]</span></p> - <p class="highlight_red">Do not initialize or modify it, it is an internal argument.</p> - <p>Default: false</p> - </div> - </div> - <h3>Boolean Format</h3> - <div class="desc"> - <p>true means: mouse move over the checkbox</p> - <p>false means: mouse move out the checkbox</p> - </div> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">treeNode.</span>check_Focus</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Used to record the status which the checkbox or radio get focus. It is valid when <span class="highlight_red">[setting.check.enable = true]</span></p>
+ <p class="highlight_red">Do not initialize or modify it, it is an internal argument.</p>
+ <p>Default: false</p>
+ </div>
+ </div>
+ <h3>Boolean Format</h3>
+ <div class="desc">
+ <p>true means: mouse move over the checkbox</p>
+ <p>false means: mouse move out the checkbox</p>
+ </div>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.checked.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.checked.html index 8a55f3d6..252e2907 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.checked.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.checked.html @@ -1,32 +1,32 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">treeNode.</span>checked</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>The checked status about node's checkbox or radio. It is valid when <span class="highlight_red">[setting.check.enable = true & treeNode.nocheck = false]</span></p> - <p class="highlight_red">1. If change the 'checked' to other attribute, please set the 'setting.data.key.checked' attribute.</p> - <p class="highlight_red">2. If you create node data, and set 'checked' attribute to true, zTree will check this node's checkbox or radio when zTree is initialized.</p> - <p class="highlight_red">3. Use the treeObj.checkNode or checkAllNodes or updateNode method, you can check or uncheck the node. Please see the API about these methods.</p> - <p class="highlight_red">4. zTree support identification string 'true' & 'false'.</p> - <p>Default: false</p> - </div> - </div> - <h3>Boolean Format</h3> - <div class="desc"> - <p>true means: check the checkbox or radio when zTree is initialized.</p> - <p>false means: uncheck the checkbox or radio when zTree is initialized.</p> - </div> - <h3>Examples of treeNode</h3> - <h4>1. check the checkbox when zTree is initialized</h4> - <pre xmlns=""><code>var nodes = [ -{ "id":1, "name":"test1", checked:true }, -{ "id":2, "name":"test2", checked:true } -]</code></pre> - <h4>2. Get the checked status of the first root node</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var checked = treeObj.getNodes()[0].checked; -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">treeNode.</span>checked</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>The checked status about node's checkbox or radio. It is valid when <span class="highlight_red">[setting.check.enable = true & treeNode.nocheck = false]</span></p>
+ <p class="highlight_red">1. If change the 'checked' to other attribute, please set the 'setting.data.key.checked' attribute.</p>
+ <p class="highlight_red">2. If you create node data, and set 'checked' attribute to true, zTree will check this node's checkbox or radio when zTree is initialized.</p>
+ <p class="highlight_red">3. Use the treeObj.checkNode or checkAllNodes or updateNode method, you can check or uncheck the node. Please see the API about these methods.</p>
+ <p class="highlight_red">4. zTree support identification string 'true' & 'false'.</p>
+ <p>Default: false</p>
+ </div>
+ </div>
+ <h3>Boolean Format</h3>
+ <div class="desc">
+ <p>true means: check the checkbox or radio when zTree is initialized.</p>
+ <p>false means: uncheck the checkbox or radio when zTree is initialized.</p>
+ </div>
+ <h3>Examples of treeNode</h3>
+ <h4>1. check the checkbox when zTree is initialized</h4>
+ <pre xmlns=""><code>var nodes = [
+{ "id":1, "name":"test1", checked:true },
+{ "id":2, "name":"test2", checked:true }
+]</code></pre>
+ <h4>2. Get the checked status of the first root node</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var checked = treeObj.getNodes()[0].checked;
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.checkedOld.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.checkedOld.html index ee516260..c3670432 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.checkedOld.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.checkedOld.html @@ -1,25 +1,25 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">treeNode.</span>checkedOld</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>The checked status about node's checkbox or radio when zTree was initialized. It is valid when <span class="highlight_red">[setting.check.enable = true & treeNode.nocheck = false]</span></p> - <p class="highlight_red">1. Do not initialize it, it will be initialized when the node is initialized.</p> - <p class="highlight_red">2. If you need to achieve special features, you can use the zTreeObj.getChangeCheckedNodes method and modify the value of 'checkedOld' attribute.</p> - <p>Default: the value of 'checked' attribute when zTree is initialized</p> - </div> - </div> - <h3>Boolean Format</h3> - <div class="desc"> - <p>true means: the checkbox or radio is checked when zTree is initialized.</p> - <p>false means: the checkbox or radio is not checked when zTree is initialized.</p> - </div> - <h3>Examples of treeNode</h3> - <h4>1. Get the original checked status of the first root node</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var checkedOld = treeObj.getNodes()[0].checkedOld; -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">treeNode.</span>checkedOld</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>The checked status about node's checkbox or radio when zTree was initialized. It is valid when <span class="highlight_red">[setting.check.enable = true & treeNode.nocheck = false]</span></p>
+ <p class="highlight_red">1. Do not initialize it, it will be initialized when the node is initialized.</p>
+ <p class="highlight_red">2. If you need to achieve special features, you can use the zTreeObj.getChangeCheckedNodes method and modify the value of 'checkedOld' attribute.</p>
+ <p>Default: the value of 'checked' attribute when zTree is initialized</p>
+ </div>
+ </div>
+ <h3>Boolean Format</h3>
+ <div class="desc">
+ <p>true means: the checkbox or radio is checked when zTree is initialized.</p>
+ <p>false means: the checkbox or radio is not checked when zTree is initialized.</p>
+ </div>
+ <h3>Examples of treeNode</h3>
+ <h4>1. Get the original checked status of the first root node</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var checkedOld = treeObj.getNodes()[0].checkedOld;
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.children.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.children.html index d765bb96..5d287724 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.children.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.children.html @@ -1,35 +1,35 @@ -<div class="apiDetail"> -<div> - <h2><span>Array(JSON)</span><span class="path">treeNode.</span>children</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>The data collections of node's child nodes.</p> - <p class="highlight_red">1. If change the 'children' to other attribute, please set the 'setting.data.key.children' attribute.</p> - <p class="highlight_red">2. If you set to use dynamic tree, when a node is expanded which 'isParent' attribute is true and which has no child nodes, zTree will use ajax to get its child nodes.</p> - <p>Default: undefined</p> - </div> - </div> - <h3>Array(JSON) Format</h3> - <div class="desc"> - <p>Standard JSON Data object</p> - </div> - <h3>Examples of treeNode</h3> - <h4>1. Use the standard JSON data object.</h4> - <pre xmlns=""><code>var nodes = [ -{ "id":1, "name":"test1", - children: [ - { "id":3, "name":"test3"}, - { "id":4, "name":"test4"}, - { "id":5, "name":"test5"} - ] -}, -{ "id":2, "name":"test2" } -]</code></pre> - <h4>2. Get the first root node's child nodes</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getNodes()[0].children; -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Array(JSON)</span><span class="path">treeNode.</span>children</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>The data collections of node's child nodes.</p>
+ <p class="highlight_red">1. If change the 'children' to other attribute, please set the 'setting.data.key.children' attribute.</p>
+ <p class="highlight_red">2. If you set to use dynamic tree, when a node is expanded which 'isParent' attribute is true and which has no child nodes, zTree will use ajax to get its child nodes.</p>
+ <p>Default: undefined</p>
+ </div>
+ </div>
+ <h3>Array(JSON) Format</h3>
+ <div class="desc">
+ <p>Standard JSON Data object</p>
+ </div>
+ <h3>Examples of treeNode</h3>
+ <h4>1. Use the standard JSON data object.</h4>
+ <pre xmlns=""><code>var nodes = [
+{ "id":1, "name":"test1",
+ children: [
+ { "id":3, "name":"test3"},
+ { "id":4, "name":"test4"},
+ { "id":5, "name":"test5"}
+ ]
+},
+{ "id":2, "name":"test2" }
+]</code></pre>
+ <h4>2. Get the first root node's child nodes</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getNodes()[0].children;
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.chkDisabled.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.chkDisabled.html index 7a5fcf38..0e454e48 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.chkDisabled.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.chkDisabled.html @@ -1,28 +1,28 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">treeNode.</span>chkDisabled</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>1. Set node's checkbox / radio to disabled. It is valid when <span class="highlight_red">[setting.check.enable = true]</span></p> - <p class="highlight_red">2. zTree support identification string 'true' & 'false'.</p> - <p class="highlight_red">3. Please don't change this attribute of the nodes which have been created. If you want to disable or undisable the nodes, please use 'setChkDisabled()' methods.</p> - <p class="highlight_red">4. When zTree initialize the nodes, if you need to the child nodes automatically inherit the 'chkDisabled' attribute, please see 'setting.check.chkDisabledInherit'.</p> - <p>Default: false</p> - </div> - </div> - <h3>Boolean Format</h3> - <div class="desc"> - <p class="highlight_red">true means: this node's checkbox / radio is disabled.</p> - <p class="highlight_red">false means: this node's checkbox / radio is able.</p> - </div> - <h3>Examples of treeNode</h3> - <h4>1. disable some node's checkbox / radio </h4> - <pre xmlns=""><code>var nodes = [ - { "id":1, "name":"test1", "checked":true, "chkDisabled":true}, - { "id":2, "name":"test2", "chkDisabled":true}, - { "id":3, "name":"test3"} -]</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">treeNode.</span>chkDisabled</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>1. Set node's checkbox / radio to disabled. It is valid when <span class="highlight_red">[setting.check.enable = true]</span></p>
+ <p class="highlight_red">2. zTree support identification string 'true' & 'false'.</p>
+ <p class="highlight_red">3. Please don't change this attribute of the nodes which have been created. If you want to disable or undisable the nodes, please use 'setChkDisabled()' methods.</p>
+ <p class="highlight_red">4. When zTree initialize the nodes, if you need to the child nodes automatically inherit the 'chkDisabled' attribute, please see 'setting.check.chkDisabledInherit'.</p>
+ <p>Default: false</p>
+ </div>
+ </div>
+ <h3>Boolean Format</h3>
+ <div class="desc">
+ <p class="highlight_red">true means: this node's checkbox / radio is disabled.</p>
+ <p class="highlight_red">false means: this node's checkbox / radio is able.</p>
+ </div>
+ <h3>Examples of treeNode</h3>
+ <h4>1. disable some node's checkbox / radio </h4>
+ <pre xmlns=""><code>var nodes = [
+ { "id":1, "name":"test1", "checked":true, "chkDisabled":true},
+ { "id":2, "name":"test2", "chkDisabled":true},
+ { "id":3, "name":"test3"}
+]</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.click.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.click.html index 1f9db626..7e8aa1e2 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.click.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.click.html @@ -1,24 +1,24 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">treeNode.</span>click</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Simple click event operations. As same as : (onclick ="...") the code. If the operation is more complex, please use the onClick callback.</p> - <p class="highlight_red">Because IE is different to other browsers in operating the event of ‘onclick’ and ‘click’ coexistence, please do not use this parameter to control whether to allow the redirection operation (for example: treeNode.click = "return false;"). If there is similar requirements, please do not use the 'url' attribute to save the website address, but use the 'onClick' callback to control jumps.</p> - <p>Default: undefined</p> - </div> - </div> - <h3>String Format</h3> - <div class="desc"> - <p>Standard javascript syntax, for example: alert ("test"); etc.</p> - </div> - <h3>Examples of treeNode</h3> - <h4>1. When click this node, will alert msg.</h4> - <pre xmlns=""><code>var nodes = [ - { "id":1, "name":"Google CN", "url":"http://g.cn", "click":"alert('test');"}, - ...... -]</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">treeNode.</span>click</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Simple click event operations. As same as : (onclick ="...") the code. If the operation is more complex, please use the onClick callback.</p>
+ <p class="highlight_red">Because IE is different to other browsers in operating the event of ‘onclick’ and ‘click’ coexistence, please do not use this parameter to control whether to allow the redirection operation (for example: treeNode.click = "return false;"). If there is similar requirements, please do not use the 'url' attribute to save the website address, but use the 'onClick' callback to control jumps.</p>
+ <p>Default: undefined</p>
+ </div>
+ </div>
+ <h3>String Format</h3>
+ <div class="desc">
+ <p>Standard javascript syntax, for example: alert ("test"); etc.</p>
+ </div>
+ <h3>Examples of treeNode</h3>
+ <h4>1. When click this node, will alert msg.</h4>
+ <pre xmlns=""><code>var nodes = [
+ { "id":1, "name":"Google CN", "url":"http://g.cn", "click":"alert('test');"},
+ ......
+]</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.diy.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.diy.html index 68c39ba6..31d20805 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.diy.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.diy.html @@ -1,15 +1,15 @@ -<div class="apiDetail"> -<div> - <h2><span>?</span><span class="path">treeNode.</span>* DIY *</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Used to save other custom data of node, do not use the same attribute name with ztree used, the user can freely set.</p> - </div> - </div> - <h3>Examples of treeNode</h3> - <h4>1. Use 'ename' attribute to save more info</h4> - <pre xmlns=""><code>var node = { "id":1, "name":"test1", "ename":"test eName"};</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>?</span><span class="path">treeNode.</span>* DIY *</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Used to save other custom data of node, do not use the same attribute name with ztree used, the user can freely set.</p>
+ </div>
+ </div>
+ <h3>Examples of treeNode</h3>
+ <h4>1. Use 'ename' attribute to save more info</h4>
+ <pre xmlns=""><code>var node = { "id":1, "name":"test1", "ename":"test eName"};</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.editNameFlag.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.editNameFlag.html index f60ef2ab..4135fbdd 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.editNameFlag.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.editNameFlag.html @@ -1,19 +1,19 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">treeNode.</span>editNameFlag</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Used to save the node editing name status. It is valid when <span class="highlight_red">[setting.edit.enable = true]</span></p> - <p class="highlight_red">Do not initialize or modify it, it is an internal argument.</p> - <p>Default: false</p> - </div> - </div> - <h3>Boolean Format</h3> - <div class="desc"> - <p>true means: node is being edited.</p> - <p>false means: node is not being edited.</p> - </div> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">treeNode.</span>editNameFlag</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Used to save the node editing name status. It is valid when <span class="highlight_red">[setting.edit.enable = true]</span></p>
+ <p class="highlight_red">Do not initialize or modify it, it is an internal argument.</p>
+ <p>Default: false</p>
+ </div>
+ </div>
+ <h3>Boolean Format</h3>
+ <div class="desc">
+ <p>true means: node is being edited.</p>
+ <p>false means: node is not being edited.</p>
+ </div>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.getCheckStatus.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.getCheckStatus.html index 3c9a2e6b..ed18859c 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.getCheckStatus.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.getCheckStatus.html @@ -1,63 +1,63 @@ -<div class="apiDetail"> -<div> - <h2><span>Function()</span><span class="path">treeNode.</span>getCheckStatus</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Get the node's half-checked status of checkbox or radio. It is valid when <span class="highlight_red">[setting.check.enable = true]</span></p> - <p class="highlight_red">Do not initialize or modify it, it is created by the zTree.</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>Return</b><span>JSON</span></h4> - <pre xmlns=""><code>{ - checked: true, //As same as 'treeNode.checked' - half: true //Rule the table below -}</code></pre> - <table width="100%" border="0" cellspacing="1" cellpadding="0"> - <thead> - <tr><td colspan="4">setting.check.checkType = "checkbox"</td></tr> - <tr><td>treeNode.checked</td><td>treeNode.check_Child_State</td><td>treeNode.halfCheck</td><td> half </td></tr> - </thead> - <tbody> - <tr><td>-</td><td>-</td><td>true</td><td>true</td></tr> - <tr><td colspan="4"> </td></tr> - <tr><td>true</td><td>-1</td><td>false</td><td>false</td></tr> - <tr><td>true</td><td>0</td><td>false</td><td>true</td></tr> - <tr><td>true</td><td>1</td><td>false</td><td>true</td></tr> - <tr><td>true</td><td>2</td><td>false</td><td>false</td></tr> - <tr><td colspan="4"> </td></tr> - <tr><td>false</td><td>-1</td><td>false</td><td>false</td></tr> - <tr><td>false</td><td>0</td><td>false</td><td>false</td></tr> - <tr><td>false</td><td>1</td><td>false</td><td>true</td></tr> - <tr><td>false</td><td>2</td><td>false</td><td>true</td></tr> - </tbody> - </table> - <br/> - <table width="100%" border="0" cellspacing="1" cellpadding="0"> - <thead> - <tr><td colspan="4">setting.check.checkType = "radio"</td></tr> - <tr><td>treeNode.checked</td><td>treeNode.check_Child_State</td><td>treeNode.halfCheck</td><td> half </td></tr> - </thead> - <tbody> - <tr><td>-</td><td>-</td><td>true</td><td>true</td></tr> - <tr><td colspan="4"> </td></tr> - <tr><td>true</td><td>-1</td><td>false</td><td>false</td></tr> - <tr><td>true</td><td>0</td><td>false</td><td>false</td></tr> - <tr><td>true</td><td>2</td><td>false</td><td>true</td></tr> - <tr><td colspan="4"> </td></tr> - <tr><td>false</td><td>-1</td><td>false</td><td>false</td></tr> - <tr><td>false</td><td>0</td><td>false</td><td>false</td></tr> - <tr><td>false</td><td>2</td><td>false</td><td>true</td></tr> - </tbody> - </table> - </div> - <h3>Examples of treeNode</h3> - <h4>1. Get the first root node's half-checked status</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var halfCheck = treeObj.getNodes()[0].getCheckStatus(); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function()</span><span class="path">treeNode.</span>getCheckStatus</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Get the node's half-checked status of checkbox or radio. It is valid when <span class="highlight_red">[setting.check.enable = true]</span></p>
+ <p class="highlight_red">Do not initialize or modify it, it is created by the zTree.</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>Return</b><span>JSON</span></h4>
+ <pre xmlns=""><code>{
+ checked: true, //As same as 'treeNode.checked'
+ half: true //Rule the table below
+}</code></pre>
+ <table width="100%" border="0" cellspacing="1" cellpadding="0">
+ <thead>
+ <tr><td colspan="4">setting.check.checkType = "checkbox"</td></tr>
+ <tr><td>treeNode.checked</td><td>treeNode.check_Child_State</td><td>treeNode.halfCheck</td><td> half </td></tr>
+ </thead>
+ <tbody>
+ <tr><td>-</td><td>-</td><td>true</td><td>true</td></tr>
+ <tr><td colspan="4"> </td></tr>
+ <tr><td>true</td><td>-1</td><td>false</td><td>false</td></tr>
+ <tr><td>true</td><td>0</td><td>false</td><td>true</td></tr>
+ <tr><td>true</td><td>1</td><td>false</td><td>true</td></tr>
+ <tr><td>true</td><td>2</td><td>false</td><td>false</td></tr>
+ <tr><td colspan="4"> </td></tr>
+ <tr><td>false</td><td>-1</td><td>false</td><td>false</td></tr>
+ <tr><td>false</td><td>0</td><td>false</td><td>false</td></tr>
+ <tr><td>false</td><td>1</td><td>false</td><td>true</td></tr>
+ <tr><td>false</td><td>2</td><td>false</td><td>true</td></tr>
+ </tbody>
+ </table>
+ <br/>
+ <table width="100%" border="0" cellspacing="1" cellpadding="0">
+ <thead>
+ <tr><td colspan="4">setting.check.checkType = "radio"</td></tr>
+ <tr><td>treeNode.checked</td><td>treeNode.check_Child_State</td><td>treeNode.halfCheck</td><td> half </td></tr>
+ </thead>
+ <tbody>
+ <tr><td>-</td><td>-</td><td>true</td><td>true</td></tr>
+ <tr><td colspan="4"> </td></tr>
+ <tr><td>true</td><td>-1</td><td>false</td><td>false</td></tr>
+ <tr><td>true</td><td>0</td><td>false</td><td>false</td></tr>
+ <tr><td>true</td><td>2</td><td>false</td><td>true</td></tr>
+ <tr><td colspan="4"> </td></tr>
+ <tr><td>false</td><td>-1</td><td>false</td><td>false</td></tr>
+ <tr><td>false</td><td>0</td><td>false</td><td>false</td></tr>
+ <tr><td>false</td><td>2</td><td>false</td><td>true</td></tr>
+ </tbody>
+ </table>
+ </div>
+ <h3>Examples of treeNode</h3>
+ <h4>1. Get the first root node's half-checked status</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var halfCheck = treeObj.getNodes()[0].getCheckStatus();
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.getNextNode.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.getNextNode.html index 755aa6ee..9206fb94 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.getNextNode.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.getNextNode.html @@ -1,27 +1,27 @@ -<div class="apiDetail"> -<div> - <h2><span>Function()</span><span class="path">treeNode.</span>getNextNode</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Get the treeNode's next sibling node.</p> - <p class="highlight_red">Do not initialize or modify it, it is created by the zTree.</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>Return</b><span>JSON</span></h4> - <p>JSON data object of the treeNode's next sibling node</p> - <p class="highlight_red">If have not the next node, return null.</p> - </div> - <h3>Examples of treeNode</h3> - <h4>1. Get the first selected node's next sibling node.</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var sNodes = treeObj.getSelectedNodes(); -if (sNodes.length > 0) { - var node = sNodes[0].getNextNode(); -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function()</span><span class="path">treeNode.</span>getNextNode</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Get the treeNode's next sibling node.</p>
+ <p class="highlight_red">Do not initialize or modify it, it is created by the zTree.</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>Return</b><span>JSON</span></h4>
+ <p>JSON data object of the treeNode's next sibling node</p>
+ <p class="highlight_red">If have not the next node, return null.</p>
+ </div>
+ <h3>Examples of treeNode</h3>
+ <h4>1. Get the first selected node's next sibling node.</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var sNodes = treeObj.getSelectedNodes();
+if (sNodes.length > 0) {
+ var node = sNodes[0].getNextNode();
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.getParentNode.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.getParentNode.html index 16bab306..18543da5 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.getParentNode.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.getParentNode.html @@ -1,27 +1,27 @@ -<div class="apiDetail"> -<div> - <h2><span>Function()</span><span class="path">treeNode.</span>getParentNode</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Get the treeNode's parent node.</p> - <p class="highlight_red">Do not initialize or modify it, it is created by the zTree.</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>Return</b><span>JSON</span></h4> - <p>JSON data object of treeNode's parent node.</p> - <p class="highlight_red">If treeNode is root, return null.</p> - </div> - <h3>Examples of treeNode</h3> - <h4>1. Get the first selected node's parent node.</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var sNodes = treeObj.getSelectedNodes(); -if (sNodes.length > 0) { - var node = sNodes[0].getParentNode(); -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function()</span><span class="path">treeNode.</span>getParentNode</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Get the treeNode's parent node.</p>
+ <p class="highlight_red">Do not initialize or modify it, it is created by the zTree.</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>Return</b><span>JSON</span></h4>
+ <p>JSON data object of treeNode's parent node.</p>
+ <p class="highlight_red">If treeNode is root, return null.</p>
+ </div>
+ <h3>Examples of treeNode</h3>
+ <h4>1. Get the first selected node's parent node.</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var sNodes = treeObj.getSelectedNodes();
+if (sNodes.length > 0) {
+ var node = sNodes[0].getParentNode();
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.getPreNode.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.getPreNode.html index f6745b14..9c3e85db 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.getPreNode.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.getPreNode.html @@ -1,27 +1,27 @@ -<div class="apiDetail"> -<div> - <h2><span>Function()</span><span class="path">treeNode.</span>getPreNode</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Get the treeNode's previous sibling node.</p> - <p class="highlight_red">Do not initialize or modify it, it is created by the zTree.</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>Return</b><span>JSON</span></h4> - <p>JSON data object of the treeNode's previous sibling node</p> - <p class="highlight_red">If have not the previous node, return null.</p> - </div> - <h3>Examples of treeNode</h3> - <h4>1. Get the first selected node's previous sibling node.</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var sNodes = treeObj.getSelectedNodes(); -if (sNodes.length > 0) { - var node = sNodes[0].getPreNode(); -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function()</span><span class="path">treeNode.</span>getPreNode</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Get the treeNode's previous sibling node.</p>
+ <p class="highlight_red">Do not initialize or modify it, it is created by the zTree.</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>Return</b><span>JSON</span></h4>
+ <p>JSON data object of the treeNode's previous sibling node</p>
+ <p class="highlight_red">If have not the previous node, return null.</p>
+ </div>
+ <h3>Examples of treeNode</h3>
+ <h4>1. Get the first selected node's previous sibling node.</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var sNodes = treeObj.getSelectedNodes();
+if (sNodes.length > 0) {
+ var node = sNodes[0].getPreNode();
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.halfCheck.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.halfCheck.html index 8375326b..05919a85 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.halfCheck.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.halfCheck.html @@ -1,29 +1,29 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">treeNode.</span>halfCheck</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Force node checkBox / radio to the half-checked status. It is valid when <span class="highlight_red">[setting.check.enable = true & treeNode.nocheck = false]</span></p> - <p class="highlight_red">1. If you force to the half-checked status, zTree will not automatically calculated the half-checked status about this node.</p> - <p class="highlight_red">2. Until you set treeNode.halfCheck to false or null, zTree will automatically calculated the half-checked status about this node.</p> - <p class="highlight_red">3. zTree support identification string 'true' & 'false'.</p> - <p>Defaul: false</p> - </div> - </div> - <h3>Boolean Format</h3> - <div class="desc"> - <p>true means: the checkbox or radio is half-checked when zTree is initialized.</p> - <p>false means: the half-checked status will be automatically calculated</p> - </div> - <h3>Examples of treeNode</h3> - <h4>1. set the half-checked status when zTree is initialized</h4> - <pre xmlns=""><code>var nodes = [ -{ "id":1, "name":"test1", isParent:true, checked:true, halfCheck:true }, -{ "id":2, "name":"test2", isParent:true, checked:false, halfCheck:true }, -{ "id":3, "name":"test3", isParent:true, checked:true }, -{ "id":4, "name":"test4", isParent:true, checked:false } -]</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">treeNode.</span>halfCheck</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Force node checkBox / radio to the half-checked status. It is valid when <span class="highlight_red">[setting.check.enable = true & treeNode.nocheck = false]</span></p>
+ <p class="highlight_red">1. If you force to the half-checked status, zTree will not automatically calculated the half-checked status about this node.</p>
+ <p class="highlight_red">2. Until you set treeNode.halfCheck to false or null, zTree will automatically calculated the half-checked status about this node.</p>
+ <p class="highlight_red">3. zTree support identification string 'true' & 'false'.</p>
+ <p>Defaul: false</p>
+ </div>
+ </div>
+ <h3>Boolean Format</h3>
+ <div class="desc">
+ <p>true means: the checkbox or radio is half-checked when zTree is initialized.</p>
+ <p>false means: the half-checked status will be automatically calculated</p>
+ </div>
+ <h3>Examples of treeNode</h3>
+ <h4>1. set the half-checked status when zTree is initialized</h4>
+ <pre xmlns=""><code>var nodes = [
+{ "id":1, "name":"test1", isParent:true, checked:true, halfCheck:true },
+{ "id":2, "name":"test2", isParent:true, checked:false, halfCheck:true },
+{ "id":3, "name":"test3", isParent:true, checked:true },
+{ "id":4, "name":"test4", isParent:true, checked:false }
+]</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.icon.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.icon.html index 4e1c99fa..67b6d993 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.icon.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.icon.html @@ -1,33 +1,33 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">treeNode.</span>icon</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>URL path of node's custom icon.</p> - <p class="highlight_red">1. If you only set the 'icon' attribute to parent node, the parent node will only show one icon when it is expanded or collapsed.</p> - <p class="highlight_red">2. If you need to show two icons when it is expanded or collapsed, please set the 'treeNode.iconOpen' and 'treeNode.iconClose' attribute.</p> - <p class="highlight_red">3. If you need to use css to set the custom icon, please set the 'treeNode.iconSkin' attribute.</p> - <p>Default: undefined</p> - </div> - </div> - <h3>String Format</h3> - <div class="desc"> - <p>Icon image url can be a relative path or absolute path.</p> - <p class="highlight_red">If use a relative path, please note the relationship between icon image and the page, ensure the correct image path.</p> - </div> - <h3>Examples of treeNode</h3> - <h4>1. Set the custom icon</h4> - <pre xmlns=""><code>var nodes = [ - //Only show one icon when it is expanded or collapsed. - { name:"Parent Node 1", icon:"/img/parent.gif"}, - - //Show two icons when it is expanded or collapsed. - { name:"Parent Node 2", iconOpen:"/img/open.gif", iconClose:"/img/close.gif"}, - - //the custom icon for leaf node - { name:"Leaf Node", icon:"/img/leaf.gif"} -]</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">treeNode.</span>icon</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>URL path of node's custom icon.</p>
+ <p class="highlight_red">1. If you only set the 'icon' attribute to parent node, the parent node will only show one icon when it is expanded or collapsed.</p>
+ <p class="highlight_red">2. If you need to show two icons when it is expanded or collapsed, please set the 'treeNode.iconOpen' and 'treeNode.iconClose' attribute.</p>
+ <p class="highlight_red">3. If you need to use css to set the custom icon, please set the 'treeNode.iconSkin' attribute.</p>
+ <p>Default: undefined</p>
+ </div>
+ </div>
+ <h3>String Format</h3>
+ <div class="desc">
+ <p>Icon image url can be a relative path or absolute path.</p>
+ <p class="highlight_red">If use a relative path, please note the relationship between icon image and the page, ensure the correct image path.</p>
+ </div>
+ <h3>Examples of treeNode</h3>
+ <h4>1. Set the custom icon</h4>
+ <pre xmlns=""><code>var nodes = [
+ //Only show one icon when it is expanded or collapsed.
+ { name:"Parent Node 1", icon:"/img/parent.gif"},
+
+ //Show two icons when it is expanded or collapsed.
+ { name:"Parent Node 2", iconOpen:"/img/open.gif", iconClose:"/img/close.gif"},
+
+ //the custom icon for leaf node
+ { name:"Leaf Node", icon:"/img/leaf.gif"}
+]</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.iconClose.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.iconClose.html index 2259e8f3..c7194a14 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.iconClose.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.iconClose.html @@ -1,33 +1,33 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">treeNode.</span>iconClose</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>URL path of parent node's custom icon when it is collapsed.</p> - <p class="highlight_red">1. Only parent node support this attribute.</p> - <p class="highlight_red">2. This attribute must be used simultaneously with 'iconOpen' attribute.</p> - <p class="highlight_red">3. If you need to use css to set the custom icon, please set the 'treeNode.iconSkin' attribute.</p> - <p>Default: undefined</p> - </div> - </div> - <h3>String Format</h3> - <div class="desc"> - <p>Icon image url can be a relative path or absolute path.</p> - <p class="highlight_red">If use a relative path, please note the relationship between icon image and the page, ensure the correct image path.</p> - </div> - <h3>Examples of treeNode</h3> - <h4>1. Set the custom icon</h4> - <pre xmlns=""><code>var nodes = [ - //Only show one icon when it is expanded or collapsed. - { name:"Parent Node 1", icon:"/img/parent.gif"}, - - //Show two icons when it is expanded or collapsed. - { name:"Parent Node 2", iconOpen:"/img/open.gif", iconClose:"/img/close.gif"}, - - //the custom icon for leaf node - { name:"Leaf Node", icon:"/img/leaf.gif"} -]</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">treeNode.</span>iconClose</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>URL path of parent node's custom icon when it is collapsed.</p>
+ <p class="highlight_red">1. Only parent node support this attribute.</p>
+ <p class="highlight_red">2. This attribute must be used simultaneously with 'iconOpen' attribute.</p>
+ <p class="highlight_red">3. If you need to use css to set the custom icon, please set the 'treeNode.iconSkin' attribute.</p>
+ <p>Default: undefined</p>
+ </div>
+ </div>
+ <h3>String Format</h3>
+ <div class="desc">
+ <p>Icon image url can be a relative path or absolute path.</p>
+ <p class="highlight_red">If use a relative path, please note the relationship between icon image and the page, ensure the correct image path.</p>
+ </div>
+ <h3>Examples of treeNode</h3>
+ <h4>1. Set the custom icon</h4>
+ <pre xmlns=""><code>var nodes = [
+ //Only show one icon when it is expanded or collapsed.
+ { name:"Parent Node 1", icon:"/img/parent.gif"},
+
+ //Show two icons when it is expanded or collapsed.
+ { name:"Parent Node 2", iconOpen:"/img/open.gif", iconClose:"/img/close.gif"},
+
+ //the custom icon for leaf node
+ { name:"Leaf Node", icon:"/img/leaf.gif"}
+]</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.iconOpen.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.iconOpen.html index 3203615d..dd8d14c9 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.iconOpen.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.iconOpen.html @@ -1,33 +1,33 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">treeNode.</span>iconOpen</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>URL path of parent node's custom icon when it is expanded.</p> - <p class="highlight_red">1. Only parent node support this attribute.</p> - <p class="highlight_red">2. This attribute must be used simultaneously with 'iconClose' attribute.</p> - <p class="highlight_red">3. If you need to use css to set the custom icon, please set the 'treeNode.iconSkin' attribute.</p> - <p>Default: undefined</p> - </div> - </div> - <h3>String Format</h3> - <div class="desc"> - <p>Icon image url can be a relative path or absolute path.</p> - <p class="highlight_red">If use a relative path, please note the relationship between icon image and the page, ensure the correct image path.</p> - </div> - <h3>Examples of treeNode</h3> - <h4>1. Set the custom icon</h4> - <pre xmlns=""><code>var nodes = [ - //Only show one icon when it is expanded or collapsed. - { name:"Parent Node 1", icon:"/img/parent.gif"}, - - //Show two icons when it is expanded or collapsed. - { name:"Parent Node 2", iconOpen:"/img/open.gif", iconClose:"/img/close.gif"}, - - //the custom icon for leaf node - { name:"Leaf Node", icon:"/img/leaf.gif"} -]</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">treeNode.</span>iconOpen</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>URL path of parent node's custom icon when it is expanded.</p>
+ <p class="highlight_red">1. Only parent node support this attribute.</p>
+ <p class="highlight_red">2. This attribute must be used simultaneously with 'iconClose' attribute.</p>
+ <p class="highlight_red">3. If you need to use css to set the custom icon, please set the 'treeNode.iconSkin' attribute.</p>
+ <p>Default: undefined</p>
+ </div>
+ </div>
+ <h3>String Format</h3>
+ <div class="desc">
+ <p>Icon image url can be a relative path or absolute path.</p>
+ <p class="highlight_red">If use a relative path, please note the relationship between icon image and the page, ensure the correct image path.</p>
+ </div>
+ <h3>Examples of treeNode</h3>
+ <h4>1. Set the custom icon</h4>
+ <pre xmlns=""><code>var nodes = [
+ //Only show one icon when it is expanded or collapsed.
+ { name:"Parent Node 1", icon:"/img/parent.gif"},
+
+ //Show two icons when it is expanded or collapsed.
+ { name:"Parent Node 2", iconOpen:"/img/open.gif", iconClose:"/img/close.gif"},
+
+ //the custom icon for leaf node
+ { name:"Leaf Node", icon:"/img/leaf.gif"}
+]</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.iconSkin.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.iconSkin.html index fca7fbf2..7d7d4522 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.iconSkin.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.iconSkin.html @@ -1,43 +1,43 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">treeNode.</span>iconSkin</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>The className of node's custom icon.</p> - <p class="highlight_red">1. You need to modify the css, add the definition of className.</p> - <p class="highlight_red">2. The css is simple, convenient, and support the parent node to switch icons when it is expanded or collapsed.</p> - <p class="highlight_red">3. Recommend the use of CSS Sprites, can reduce repeating load the image, to avoid image flicker.</p> - <p class="highlight_red">4. The 'iconSkin' support IE6 in zTree v3.x.</p> - <p class="highlight_red">5. If you need to use image's URL to set the custom icon, please set the 'treeNode.icon' or 'treeNode.iconOpen' or 'treeNode.iconClose' attribute.</p> - <p>Default: undefined</p> - </div> - </div> - <h3>String Format</h3> - <div class="desc"> - <p>The string about custom icon's className.</p> - </div> - <h3>Examples of css & treeNode</h3> - <h4>1. Set the custom icon</h4> - <pre xmlns=""><code>css example: -.ztree li span.button.diy01_ico_open, .ztree li span.button.diy01_ico_close{...} - -.ztree li span.button.diy02_ico_open{...} -.ztree li span.button.diy02_ico_close{...} - -.ztree li span.button.diy03_ico_docu{...} - -node's data example: -var nodes = [ - //Only show one icon when it is expanded or collapsed. - { name:"Parent Node 1", iconSkin:"diy01"}, - - //Show two icons when it is expanded or collapsed. - { name:"Parent Node 2", iconSkin:"diy02"}, - - //the custom icon for leaf node - { name:"Leaf Node", iconSkin:"diy03"} -]</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">treeNode.</span>iconSkin</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>The className of node's custom icon.</p>
+ <p class="highlight_red">1. You need to modify the css, add the definition of className.</p>
+ <p class="highlight_red">2. The css is simple, convenient, and support the parent node to switch icons when it is expanded or collapsed.</p>
+ <p class="highlight_red">3. Recommend the use of CSS Sprites, can reduce repeating load the image, to avoid image flicker.</p>
+ <p class="highlight_red">4. The 'iconSkin' support IE6 in zTree v3.x.</p>
+ <p class="highlight_red">5. If you need to use image's URL to set the custom icon, please set the 'treeNode.icon' or 'treeNode.iconOpen' or 'treeNode.iconClose' attribute.</p>
+ <p>Default: undefined</p>
+ </div>
+ </div>
+ <h3>String Format</h3>
+ <div class="desc">
+ <p>The string about custom icon's className.</p>
+ </div>
+ <h3>Examples of css & treeNode</h3>
+ <h4>1. Set the custom icon</h4>
+ <pre xmlns=""><code>css example:
+.ztree li span.button.diy01_ico_open, .ztree li span.button.diy01_ico_close{...}
+
+.ztree li span.button.diy02_ico_open{...}
+.ztree li span.button.diy02_ico_close{...}
+
+.ztree li span.button.diy03_ico_docu{...}
+
+node's data example:
+var nodes = [
+ //Only show one icon when it is expanded or collapsed.
+ { name:"Parent Node 1", iconSkin:"diy01"},
+
+ //Show two icons when it is expanded or collapsed.
+ { name:"Parent Node 2", iconSkin:"diy02"},
+
+ //the custom icon for leaf node
+ { name:"Leaf Node", iconSkin:"diy03"}
+]</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.isAjaxing.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.isAjaxing.html index ddadf41b..1aff4609 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.isAjaxing.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.isAjaxing.html @@ -1,26 +1,26 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">treeNode.</span>isAjaxing</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Judge whether the node's child nodes being loaded asynchronously.</p> - <p class="highlight_red">Do not initialize or modify it, it is created by the zTree.</p> - </div> - </div> - <h3>Boolean Format</h3> - <div class="desc"> - <p> true means: the node's child nodes is being loaded asynchronously</p> - <p> false means: the node's child nodes is not being loaded asynchronously</p> - </div> - <h3>Examples of treeNode</h3> - <h4>1. Judge whether the first selected node's child nodes being loaded asynchronously</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var sNodes = treeObj.getSelectedNodes(); -if (sNodes.length > 0) { - var isAjaxing = sNodes[0].isAjaxing; -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">treeNode.</span>isAjaxing</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Judge whether the node's child nodes being loaded asynchronously.</p>
+ <p class="highlight_red">Do not initialize or modify it, it is created by the zTree.</p>
+ </div>
+ </div>
+ <h3>Boolean Format</h3>
+ <div class="desc">
+ <p> true means: the node's child nodes is being loaded asynchronously</p>
+ <p> false means: the node's child nodes is not being loaded asynchronously</p>
+ </div>
+ <h3>Examples of treeNode</h3>
+ <h4>1. Judge whether the first selected node's child nodes being loaded asynchronously</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var sNodes = treeObj.getSelectedNodes();
+if (sNodes.length > 0) {
+ var isAjaxing = sNodes[0].isAjaxing;
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.isFirstNode.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.isFirstNode.html index a8ee61ce..4de0df8d 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.isFirstNode.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.isFirstNode.html @@ -1,28 +1,28 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">treeNode.</span>isFirstNode</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Judge whether the node is the sibling nodes's first node.</p> - <p class="highlight_red">If you use the 'exhide' pack, so this attribute will only support the node which be shown. </p> - <p class="highlight_red">Do not initialize or modify it, it is created by the zTree.</p> - </div> - </div> - <h3>Boolean Format</h3> - <div class="desc"> - <p> true means: the node is first node.</p> - <p> false means: the node is not first node.</p> - <p class="highlight_red">If the node has been hidden, isFirstNode = false</p> - </div> - <h3>Examples of treeNode</h3> - <h4>1. Judge whether the first selected node is the sibling nodes's first node.</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var sNodes = treeObj.getSelectedNodes(); -if (sNodes.length > 0) { - var isFirstNode = sNodes[0].isFirstNode; -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">treeNode.</span>isFirstNode</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Judge whether the node is the sibling nodes's first node.</p>
+ <p class="highlight_red">If you use the 'exhide' pack, so this attribute will only support the node which be shown. </p>
+ <p class="highlight_red">Do not initialize or modify it, it is created by the zTree.</p>
+ </div>
+ </div>
+ <h3>Boolean Format</h3>
+ <div class="desc">
+ <p> true means: the node is first node.</p>
+ <p> false means: the node is not first node.</p>
+ <p class="highlight_red">If the node has been hidden, isFirstNode = false</p>
+ </div>
+ <h3>Examples of treeNode</h3>
+ <h4>1. Judge whether the first selected node is the sibling nodes's first node.</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var sNodes = treeObj.getSelectedNodes();
+if (sNodes.length > 0) {
+ var isFirstNode = sNodes[0].isFirstNode;
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.isHidden.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.isHidden.html index 3a07b94c..f12e919e 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.isHidden.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.isHidden.html @@ -1,28 +1,28 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">treeNode.</span>isHidden</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exhide</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Judge whether the node has been hidden.</p> - <p class="highlight_red">1. When initialize zTree, the nodes which be set 'isHidden = true' will be hidden.</p> - <p class="highlight_red"></p> - <p class="highlight_red">2. Please don't change this attribute of the nodes which have been created. If you want to hide or show nodes, please use 'hideNode() / hideNodes() / showNode() / showNodes()' methods.</p> - </div> - </div> - <h3>Boolean Format</h3> - <div class="desc"> - <p> true means: this node is hidden.</p> - <p> false means: this node is shown.</p> - </div> - <h3>Examples of treeNode</h3> - <h4>1. Judge whether the first root node has been hidden.</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var sNodes = treeObj.getNodes(); -if (sNodes.length > 0) { - var isHidden = sNodes[0].isHidden; -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">treeNode.</span>isHidden</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exhide</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Judge whether the node has been hidden.</p>
+ <p class="highlight_red">1. When initialize zTree, the nodes which be set 'isHidden = true' will be hidden.</p>
+ <p class="highlight_red"></p>
+ <p class="highlight_red">2. Please don't change this attribute of the nodes which have been created. If you want to hide or show nodes, please use 'hideNode() / hideNodes() / showNode() / showNodes()' methods.</p>
+ </div>
+ </div>
+ <h3>Boolean Format</h3>
+ <div class="desc">
+ <p> true means: this node is hidden.</p>
+ <p> false means: this node is shown.</p>
+ </div>
+ <h3>Examples of treeNode</h3>
+ <h4>1. Judge whether the first root node has been hidden.</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var sNodes = treeObj.getNodes();
+if (sNodes.length > 0) {
+ var isHidden = sNodes[0].isHidden;
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.isHover.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.isHover.html index e18ed0cf..13617cd8 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.isHover.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.isHover.html @@ -1,19 +1,19 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">treeNode.</span>isHover</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Used to record the hover status of node's DOM. For 'setting.view.addHoverDom / removeHoverDom'.</p> - <p class="highlight_red">Do not initialize or modify it, it is an internal argument.</p> - <p>Default: false</p> - </div> - </div> - <h3>Boolean Format</h3> - <div class="desc"> - <p>true means: the node's DOM is in hover.</p> - <p>false means: the node's DOM is not in hover.</p> - </div> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">treeNode.</span>isHover</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Used to record the hover status of node's DOM. For 'setting.view.addHoverDom / removeHoverDom'.</p>
+ <p class="highlight_red">Do not initialize or modify it, it is an internal argument.</p>
+ <p>Default: false</p>
+ </div>
+ </div>
+ <h3>Boolean Format</h3>
+ <div class="desc">
+ <p>true means: the node's DOM is in hover.</p>
+ <p>false means: the node's DOM is not in hover.</p>
+ </div>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.isLastNode.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.isLastNode.html index cd2ca26b..b3f5c51a 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.isLastNode.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.isLastNode.html @@ -1,28 +1,28 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">treeNode.</span>isLastNode</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Judge whether the node is the sibling nodes's last node.</p> - <p class="highlight_red">If you use the 'exhide' pack, so this attribute will only support the node which be shown. </p> - <p class="highlight_red">Do not initialize or modify it, it is created by the zTree.</p> - </div> - </div> - <h3>Boolean Format</h3> - <div class="desc"> - <p> true means: the node is last node.</p> - <p> false means: the node is not last node.</p> - <p class="highlight_red">If the node has been hidden, isLastNode = false</p> - </div> - <h3>Examples of treeNode</h3> - <h4>1. Judge whether the first selected node is the sibling nodes's last node.</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var sNodes = treeObj.getSelectedNodes(); -if (sNodes.length > 0) { - var isLastNode = sNodes[0].isLastNode; -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">treeNode.</span>isLastNode</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Judge whether the node is the sibling nodes's last node.</p>
+ <p class="highlight_red">If you use the 'exhide' pack, so this attribute will only support the node which be shown. </p>
+ <p class="highlight_red">Do not initialize or modify it, it is created by the zTree.</p>
+ </div>
+ </div>
+ <h3>Boolean Format</h3>
+ <div class="desc">
+ <p> true means: the node is last node.</p>
+ <p> false means: the node is not last node.</p>
+ <p class="highlight_red">If the node has been hidden, isLastNode = false</p>
+ </div>
+ <h3>Examples of treeNode</h3>
+ <h4>1. Judge whether the first selected node is the sibling nodes's last node.</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var sNodes = treeObj.getSelectedNodes();
+if (sNodes.length > 0) {
+ var isLastNode = sNodes[0].isLastNode;
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.isParent.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.isParent.html index dad4b819..4b35e9d7 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.isParent.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.isParent.html @@ -1,28 +1,28 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">treeNode.</span>isParent</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Judge whether the node is the parent node.</p> - <p class="highlight_red">1. When zTree initialize the node data, the node which has children is set to true, otherwise false.</p> - <p class="highlight_red">2. When zTree initialize the node data, if set treeNode.isParent to true, the node will be set to be parent node.</p> - <p class="highlight_red">3. In order to solve the problem of someone make json data, supporting "false", "true" format of the data string.</p> - </div> - </div> - <h3>Boolean Format</h3> - <div class="desc"> - <p> true means: the node is parent node.</p> - <p> false means: the node is not parent node.</p> - </div> - <h3>Examples of treeNode</h3> - <h4>1. Judge whether the first selected node is the parent node.</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var sNodes = treeObj.getSelectedNodes(); -if (sNodes.length > 0) { - var isParent = sNodes[0].isParent; -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">treeNode.</span>isParent</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Judge whether the node is the parent node.</p>
+ <p class="highlight_red">1. When zTree initialize the node data, the node which has children is set to true, otherwise false.</p>
+ <p class="highlight_red">2. When zTree initialize the node data, if set treeNode.isParent to true, the node will be set to be parent node.</p>
+ <p class="highlight_red">3. In order to solve the problem of someone make json data, supporting "false", "true" format of the data string.</p>
+ </div>
+ </div>
+ <h3>Boolean Format</h3>
+ <div class="desc">
+ <p> true means: the node is parent node.</p>
+ <p> false means: the node is not parent node.</p>
+ </div>
+ <h3>Examples of treeNode</h3>
+ <h4>1. Judge whether the first selected node is the parent node.</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var sNodes = treeObj.getSelectedNodes();
+if (sNodes.length > 0) {
+ var isParent = sNodes[0].isParent;
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.level.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.level.html index d1511624..94fe3d7d 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.level.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.level.html @@ -1,25 +1,25 @@ -<div class="apiDetail"> -<div> - <h2><span>Number</span><span class="path">treeNode.</span>level</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>The level of node</p> - <p class="highlight_red">Do not initialize or modify it, it is created by the zTree.</p> - </div> - </div> - <h3>Number Format</h3> - <div class="desc"> - <p class="highlight_red">The root node's level = 0, and next level = 1, ...</p> - </div> - <h3>Examples of treeNode</h3> - <h4>1. Get the first selected node's level</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var sNodes = treeObj.getSelectedNodes(); -if (sNodes.length > 0) { - var level = sNodes[0].level; -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Number</span><span class="path">treeNode.</span>level</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>The level of node</p>
+ <p class="highlight_red">Do not initialize or modify it, it is created by the zTree.</p>
+ </div>
+ </div>
+ <h3>Number Format</h3>
+ <div class="desc">
+ <p class="highlight_red">The root node's level = 0, and next level = 1, ...</p>
+ </div>
+ <h3>Examples of treeNode</h3>
+ <h4>1. Get the first selected node's level</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var sNodes = treeObj.getSelectedNodes();
+if (sNodes.length > 0) {
+ var level = sNodes[0].level;
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.name.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.name.html index fa508ccb..84769362 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.name.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.name.html @@ -1,25 +1,25 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">treeNode.</span>name</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>The node's name</p> - <p class="highlight_red">1. If you want to change 'name' attribute, please modify the 'setting.data.key.name' attribute.</p> - <p>Default: undenfined</p> - </div> - </div> - <h3>String Format</h3> - <div class="desc"> - <p>String object. The HTML special characters are escaped</p> - </div> - <h3>Examples of treeNode</h3> - <h4>1. Set node's name to 'test1', 'test2', 'test3'</h4> - <pre xmlns=""><code>var nodes = [ - { "id":1, "name":"test1"}, - { "id":2, "name":"test2"}, - { "id":3, "name":"test3"} -]</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">treeNode.</span>name</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>The node's name</p>
+ <p class="highlight_red">1. If you want to change 'name' attribute, please modify the 'setting.data.key.name' attribute.</p>
+ <p>Default: undenfined</p>
+ </div>
+ </div>
+ <h3>String Format</h3>
+ <div class="desc">
+ <p>String object. The HTML special characters are escaped</p>
+ </div>
+ <h3>Examples of treeNode</h3>
+ <h4>1. Set node's name to 'test1', 'test2', 'test3'</h4>
+ <pre xmlns=""><code>var nodes = [
+ { "id":1, "name":"test1"},
+ { "id":2, "name":"test2"},
+ { "id":3, "name":"test3"}
+]</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.nocheck.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.nocheck.html index 6c4880c8..a05d0bd2 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.nocheck.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.nocheck.html @@ -1,26 +1,26 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">treeNode.</span>nocheck</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>1. Set node to hide the checkbox or radio. It is valid when <span class="highlight_red">[setting.check.enable = true]</span></p> - <p class="highlight_red">2. zTree support identification string 'true' & 'false'.</p> - <p>Default: false</p> - </div> - </div> - <h3>Boolean Format</h3> - <div class="desc"> - <p class="highlight_red">true means: the node hide the checkbox or radio, and don't affect the checked association, and don't affect its parent node's half-checked status.</p> - <p class="highlight_red">false means: the node show the checkbox or radio.</p> - </div> - <h3>Examples of treeNode</h3> - <h4>1. Hide some node's checkbox / radio </h4> - <pre xmlns=""><code>var nodes = [ - { "id":1, "name":"test1", "nocheck":true}, - { "id":2, "name":"test2"}, - { "id":3, "name":"test3"} -]</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">treeNode.</span>nocheck</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>1. Set node to hide the checkbox or radio. It is valid when <span class="highlight_red">[setting.check.enable = true]</span></p>
+ <p class="highlight_red">2. zTree support identification string 'true' & 'false'.</p>
+ <p>Default: false</p>
+ </div>
+ </div>
+ <h3>Boolean Format</h3>
+ <div class="desc">
+ <p class="highlight_red">true means: the node hide the checkbox or radio, and don't affect the checked association, and don't affect its parent node's half-checked status.</p>
+ <p class="highlight_red">false means: the node show the checkbox or radio.</p>
+ </div>
+ <h3>Examples of treeNode</h3>
+ <h4>1. Hide some node's checkbox / radio </h4>
+ <pre xmlns=""><code>var nodes = [
+ { "id":1, "name":"test1", "nocheck":true},
+ { "id":2, "name":"test2"},
+ { "id":3, "name":"test3"}
+]</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.open.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.open.html index bc910de3..030a14f6 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.open.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.open.html @@ -1,30 +1,30 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">treeNode.</span>open</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Used to record the parent node's expand status.</p> - <p class="highlight_red">1. When zTree initialize the node data, if you set treeNode.open = true, zTree will default expand this parent node.</p> - <p class="highlight_red">2. Leaf node's 'open' attribute is false.</p> - <p class="highlight_red">3. In order to solve the problem of someone make json data, supporting "false", "true" format of the data string.</p> - <p class="highlight_red">4. When setting.async.enable = false, the parent node will be expanded which have no child nodes and its attribute 'open' is true. (v3.5.15+) </p> - <p>Default: false</p> - </div> - </div> - <h3>Boolean Format</h3> - <div class="desc"> - <p> true means: the parent node is expanded.</p> - <p> false means: the parent node is collapsed.</p> - </div> - <h3>Examples of treeNode</h3> - <h4>1. Get the first selected node's expand status.</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var sNodes = treeObj.getSelectedNodes(); -if (sNodes.length > 0) { - var isOpen = sNodes[0].open; -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">treeNode.</span>open</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Used to record the parent node's expand status.</p>
+ <p class="highlight_red">1. When zTree initialize the node data, if you set treeNode.open = true, zTree will default expand this parent node.</p>
+ <p class="highlight_red">2. Leaf node's 'open' attribute is false.</p>
+ <p class="highlight_red">3. In order to solve the problem of someone make json data, supporting "false", "true" format of the data string.</p>
+ <p class="highlight_red">4. When setting.async.enable = false, the parent node will be expanded which have no child nodes and its attribute 'open' is true. (v3.5.15+) </p>
+ <p>Default: false</p>
+ </div>
+ </div>
+ <h3>Boolean Format</h3>
+ <div class="desc">
+ <p> true means: the parent node is expanded.</p>
+ <p> false means: the parent node is collapsed.</p>
+ </div>
+ <h3>Examples of treeNode</h3>
+ <h4>1. Get the first selected node's expand status.</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var sNodes = treeObj.getSelectedNodes();
+if (sNodes.length > 0) {
+ var isOpen = sNodes[0].open;
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.parentTId.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.parentTId.html index 0bc2a6d6..0f0bcfe0 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.parentTId.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.parentTId.html @@ -1,27 +1,27 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">treeNode.</span>parentTId</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>The unique identifier of node's parent node.</p> - <p class="highlight_red">1. zTree v3.x using 'parentTId' replaced the original 'parentNode' attribute, and increased getParentNode () method, in order to avoid the original 'parentNode' cause the clone () method infinite loop.</p> - <p class="highlight_red">2. Do not initialize or modify it, it is created by the zTree.</p> - </div> - </div> - <h3>String Format</h3> - <div class="desc"> - <p>String object of node's parent node's tId. please see API about 'treeNode.tId'</p> - <p class="highlight_red">If treeNode is root node, parentTId is null.</p> - </div> - <h3>Examples of treeNode</h3> - <h4>1. Get the first selected node's parent node's tId</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var sNodes = treeObj.getSelectedNodes(); -if (sNodes.length > 0) { - var parentTId = sNodes[0].parentTId; -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">treeNode.</span>parentTId</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>The unique identifier of node's parent node.</p>
+ <p class="highlight_red">1. zTree v3.x using 'parentTId' replaced the original 'parentNode' attribute, and increased getParentNode () method, in order to avoid the original 'parentNode' cause the clone () method infinite loop.</p>
+ <p class="highlight_red">2. Do not initialize or modify it, it is created by the zTree.</p>
+ </div>
+ </div>
+ <h3>String Format</h3>
+ <div class="desc">
+ <p>String object of node's parent node's tId. please see API about 'treeNode.tId'</p>
+ <p class="highlight_red">If treeNode is root node, parentTId is null.</p>
+ </div>
+ <h3>Examples of treeNode</h3>
+ <h4>1. Get the first selected node's parent node's tId</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var sNodes = treeObj.getSelectedNodes();
+if (sNodes.length > 0) {
+ var parentTId = sNodes[0].parentTId;
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.tId.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.tId.html index 18c2855a..1b4fd771 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.tId.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.tId.html @@ -1,25 +1,25 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">treeNode.</span>tId</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>The unique identifier of node.</p> - <p class="highlight_red">Do not initialize or modify it, it is created by the zTree.</p> - </div> - </div> - <h3>String Format</h3> - <div class="desc"> - <p>tId rules: setting.treeId + "_" + zTree counter</p> - </div> - <h3>Examples of treeNode</h3> - <h4>1. Get the first selected node's tId</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var sNodes = treeObj.getSelectedNodes(); -if (sNodes.length > 0) { - var tId = sNodes[0].tId; -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">treeNode.</span>tId</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>The unique identifier of node.</p>
+ <p class="highlight_red">Do not initialize or modify it, it is created by the zTree.</p>
+ </div>
+ </div>
+ <h3>String Format</h3>
+ <div class="desc">
+ <p>tId rules: setting.treeId + "_" + zTree counter</p>
+ </div>
+ <h3>Examples of treeNode</h3>
+ <h4>1. Get the first selected node's tId</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var sNodes = treeObj.getSelectedNodes();
+if (sNodes.length > 0) {
+ var tId = sNodes[0].tId;
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.target.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.target.html index 176a7a35..2f12e1c2 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.target.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.target.html @@ -1,24 +1,24 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">treeNode.</span>target</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Used to set the target where the node is clicked to open url. It is valid when <span class="highlight_red">[treeNode.url exists]</span></p> - <p>Default: undefined</p> - </div> - </div> - <h3>String Format</h3> - <div class="desc"> - <p>As same as <a> tag's 'target' attribute. e.g. '_blank', '_self' or other window name.</p> - <p>if this attribute is omitted, zTree default set it to '_blank'</p> - </div> - <h3>Exmaples of treeNode</h3> - <h4>1. Set target is '_blank'</h4> - <pre xmlns=""><code>var nodes = [ - { "id":1, "name":"test1", "url":"http://myTest.com", "target":"_blank"}, - ...... -]</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">treeNode.</span>target</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Used to set the target where the node is clicked to open url. It is valid when <span class="highlight_red">[treeNode.url exists]</span></p>
+ <p>Default: undefined</p>
+ </div>
+ </div>
+ <h3>String Format</h3>
+ <div class="desc">
+ <p>As same as <a> tag's 'target' attribute. e.g. '_blank', '_self' or other window name.</p>
+ <p>if this attribute is omitted, zTree default set it to '_blank'</p>
+ </div>
+ <h3>Exmaples of treeNode</h3>
+ <h4>1. Set target is '_blank'</h4>
+ <pre xmlns=""><code>var nodes = [
+ { "id":1, "name":"test1", "url":"http://myTest.com", "target":"_blank"},
+ ......
+]</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.url.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.url.html index 55524455..77e10e81 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.url.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.url.html @@ -1,25 +1,25 @@ -<div class="apiDetail"> -<div> - <h2><span>String</span><span class="path">treeNode.</span>url</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>The URL of node link</p> - <p class="highlight_red">1. In edit mode (setting.edit.enable = true) , this feature fails. If you must use a similar feature, please use the 'onClick' callback for their own control.</p> - <p class="highlight_red">2. If you use the 'onClick' callback function to control opening URL , then set the URL in the other custom attribute, do not use the 'url' attribute.</p> - <p>Default: undefined</p> - </div> - </div> - <h3>String Format</h3> - <div class="desc"> - <p>As same as <a> tag's 'href' attribute.</p> - </div> - <h3>Examples of treeNode</h3> - <h4>1. Set the URL is 'g.cn'</h4> - <pre xmlns=""><code>var nodes = [ - { "id":1, "name":"Google CN", "url":"http://g.cn"}, - ...... -]</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>String</span><span class="path">treeNode.</span>url</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>The URL of node link</p>
+ <p class="highlight_red">1. In edit mode (setting.edit.enable = true) , this feature fails. If you must use a similar feature, please use the 'onClick' callback for their own control.</p>
+ <p class="highlight_red">2. If you use the 'onClick' callback function to control opening URL , then set the URL in the other custom attribute, do not use the 'url' attribute.</p>
+ <p>Default: undefined</p>
+ </div>
+ </div>
+ <h3>String Format</h3>
+ <div class="desc">
+ <p>As same as <a> tag's 'href' attribute.</p>
+ </div>
+ <h3>Examples of treeNode</h3>
+ <h4>1. Set the URL is 'g.cn'</h4>
+ <pre xmlns=""><code>var nodes = [
+ { "id":1, "name":"Google CN", "url":"http://g.cn"},
+ ......
+]</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.zAsync.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.zAsync.html index b3ff4145..3847c043 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.zAsync.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/treeNode.zAsync.html @@ -1,28 +1,28 @@ -<div class="apiDetail"> -<div> - <h2><span>Boolean</span><span class="path">treeNode.</span>zAsync</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Judge whether the parent node's child nodes will be loaded asynchronously when the parent node is expanded.</p> - <p class="highlight_red">Do not initialize or modify it, it is created by the zTree.</p> - <p class="highlight_red">Default:false (the parent node which have no child nodes); true (the parent node which have child nodes or the leaf node)</p> - </div> - </div> - <h3>Boolean Format</h3> - <div class="desc"> - <p> true means: the node's child nodes will not be loaded asynchronously when the parent node is expanded.</p> - <p> false means: the node's child nodes will be loaded asynchronously when the parent node is expanded.</p> - <p class="highlight_red"> This attribute will not effect to 'reAsyncChildNodes()' method</p> - </div> - <h3>Examples of treeNode</h3> - <h4>1. Judge whether the first selected node's child nodes has been loaded asynchronously</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var sNodes = treeObj.getSelectedNodes(); -if (sNodes.length > 0) { - var zAsync = sNodes[0].zAsync; -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Boolean</span><span class="path">treeNode.</span>zAsync</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Judge whether the parent node's child nodes will be loaded asynchronously when the parent node is expanded.</p>
+ <p class="highlight_red">Do not initialize or modify it, it is created by the zTree.</p>
+ <p class="highlight_red">Default:false (the parent node which have no child nodes); true (the parent node which have child nodes or the leaf node)</p>
+ </div>
+ </div>
+ <h3>Boolean Format</h3>
+ <div class="desc">
+ <p> true means: the node's child nodes will not be loaded asynchronously when the parent node is expanded.</p>
+ <p> false means: the node's child nodes will be loaded asynchronously when the parent node is expanded.</p>
+ <p class="highlight_red"> This attribute will not effect to 'reAsyncChildNodes()' method</p>
+ </div>
+ <h3>Examples of treeNode</h3>
+ <h4>1. Judge whether the first selected node's child nodes has been loaded asynchronously</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var sNodes = treeObj.getSelectedNodes();
+if (sNodes.length > 0) {
+ var zAsync = sNodes[0].zAsync;
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.addNodes.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.addNodes.html index 680ccc4e..7f6e2492 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.addNodes.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.addNodes.html @@ -1,42 +1,42 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(parentNode, newNodes, isSilent)</span><span class="path">zTreeObj.</span>addNodes</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Add nodes</p> - <p class="highlight_red">In order to avoid duplication data resulting from repeated initialization, zTree v3.x will automatically clone node data when zTree initialized or add nodes. If you need to get the data objects within the zTree, please get the return value of this method.</p> - <p class="highlight_red">Please use zTree object to executing the method.</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>parentNode</b><span>JSON</span></h4> - <p>The additional node's parent node. If additional node is root node, please the parentNode is null.</p> - <p class="highlight_red">Please ensure this node data object is a data object within zTree.</p> - <h4 class="topLine"><b>newNodes</b><span>JSON / Array(JSON)</span></h4> - <p>The node data's JSON object collection which need to increase, refer to 'treeNode treeNode data details'</p> - <p class="highlight_red">1. zTree v3.x support to add single node, that is, if you only add a node, you can don't use the array.</p> - <p class="highlight_red">2. If you use simple data model, please refer to the attributes within the 'setting.data.simpleData'.</p> - <h4 class="topLine"><b>isSilent</b><span>Boolean</span></h4> - <p>Set whether to automatically expand the parent node, after add nodes.</p> - <p>isSilent = true means: don't auto expand the parent node. Otherwise auto expand.</p> - <h4 class="topLine"><b>Return </b><span>Array(JSON)</span></h4> - <p>return the new nodes in zTree</p> - <p class="highlight_red">If the newNodes is single data object, the return value is a array with length is 1.</p> - <p class="highlight_red">Note: the node data JSON object in the return value is not equal to the JSON object in the 'newNodes'.</p> - </div> - <h3>Examples of function</h3> - <h4>1. Add one root node to zTree which id is 'tree'</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var newNode = {name:"newNode1"}; -newNode = treeObj.addNodes(null, newNode); -</code></pre> - <h4>2. Add three root nodes to zTree which id is 'tree'</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var newNodes = [{name:"newNode1"}, {name:"newNode2"}, {name:"newNode3"}]; -newNodes = treeObj.addNodes(null, newNodes); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(parentNode, newNodes, isSilent)</span><span class="path">zTreeObj.</span>addNodes</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Add nodes</p>
+ <p class="highlight_red">In order to avoid duplication data resulting from repeated initialization, zTree v3.x will automatically clone node data when zTree initialized or add nodes. If you need to get the data objects within the zTree, please get the return value of this method.</p>
+ <p class="highlight_red">Please use zTree object to executing the method.</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>parentNode</b><span>JSON</span></h4>
+ <p>The additional node's parent node. If additional node is root node, please the parentNode is null.</p>
+ <p class="highlight_red">Please ensure this node data object is a data object within zTree.</p>
+ <h4 class="topLine"><b>newNodes</b><span>JSON / Array(JSON)</span></h4>
+ <p>The node data's JSON object collection which need to increase, refer to 'treeNode treeNode data details'</p>
+ <p class="highlight_red">1. zTree v3.x support to add single node, that is, if you only add a node, you can don't use the array.</p>
+ <p class="highlight_red">2. If you use simple data model, please refer to the attributes within the 'setting.data.simpleData'.</p>
+ <h4 class="topLine"><b>isSilent</b><span>Boolean</span></h4>
+ <p>Set whether to automatically expand the parent node, after add nodes.</p>
+ <p>isSilent = true means: don't auto expand the parent node. Otherwise auto expand.</p>
+ <h4 class="topLine"><b>Return </b><span>Array(JSON)</span></h4>
+ <p>return the new nodes in zTree</p>
+ <p class="highlight_red">If the newNodes is single data object, the return value is a array with length is 1.</p>
+ <p class="highlight_red">Note: the node data JSON object in the return value is not equal to the JSON object in the 'newNodes'.</p>
+ </div>
+ <h3>Examples of function</h3>
+ <h4>1. Add one root node to zTree which id is 'tree'</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var newNode = {name:"newNode1"};
+newNode = treeObj.addNodes(null, newNode);
+</code></pre>
+ <h4>2. Add three root nodes to zTree which id is 'tree'</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var newNodes = [{name:"newNode1"}, {name:"newNode2"}, {name:"newNode3"}];
+newNodes = treeObj.addNodes(null, newNodes);
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.cancelEditName.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.cancelEditName.html index 8afdae0b..a2ae133e 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.cancelEditName.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.cancelEditName.html @@ -1,30 +1,30 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(newName)</span><span class="path">zTreeObj.</span>cancelEditName</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Cancel the edit name status. Can restore the original name, and can also force assigned to a new name.</p> - <p class="highlight_red">Please use zTree object to executing the method.</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>newName</b><span>String</span></h4> - <p>Re given a new name</p> - <p class="highlight_red">If this parameter is omitted, then restore the original name.</p> - <h4 class="topLine"><b>Return </b><span>none</span></h4> - <p>no return value</p> - </div> - <h3>Examples of function</h3> - <h4>1. Cancel edit name, and restore the original name.</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -treeObj.cancelEditName(); -</code></pre> - <h4>2. Cancel edit name , and set the new name.</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -treeObj.cancelEditName("test_new_name"); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(newName)</span><span class="path">zTreeObj.</span>cancelEditName</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Cancel the edit name status. Can restore the original name, and can also force assigned to a new name.</p>
+ <p class="highlight_red">Please use zTree object to executing the method.</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>newName</b><span>String</span></h4>
+ <p>Re given a new name</p>
+ <p class="highlight_red">If this parameter is omitted, then restore the original name.</p>
+ <h4 class="topLine"><b>Return </b><span>none</span></h4>
+ <p>no return value</p>
+ </div>
+ <h3>Examples of function</h3>
+ <h4>1. Cancel edit name, and restore the original name.</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+treeObj.cancelEditName();
+</code></pre>
+ <h4>2. Cancel edit name , and set the new name.</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+treeObj.cancelEditName("test_new_name");
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.cancelSelectedNode.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.cancelSelectedNode.html index 581c2d2b..b5ecef6b 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.cancelSelectedNode.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.cancelSelectedNode.html @@ -1,35 +1,35 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeNode)</span><span class="path">zTreeObj.</span>cancelSelectedNode</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>To cancel the selected node.</p> - <p class="highlight_red">zTree v3.x support to select multiple nodes, so you can cancel a single selected node, and you can cancel all of the selected nodes too.</p> - <p class="highlight_red">Please use zTree object to executing the method.</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which need to cancel selected.</p> - <p class="highlight_red">Please ensure that this data object is an internal node data object in zTree.</p> - <p class="highlight_red">If you omit this parameter, zTree will cancel all of the selected nodes.</p> - <h4 class="topLine"><b>Return </b><span>none</span></h4> - <p>no return value</p> - </div> - <h3>Examples of function</h3> - <h4>1. Cancel all of the selected nodes</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -treeObj.cancelSelectedNode(); -</code></pre> - <h4>2. Cancel the first node of the selected nodes</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getSelectedNode(); -if (nodes.length>0) { - treeObj.cancelSelectedNode(nodes[0]); -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeNode)</span><span class="path">zTreeObj.</span>cancelSelectedNode</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>To cancel the selected node.</p>
+ <p class="highlight_red">zTree v3.x support to select multiple nodes, so you can cancel a single selected node, and you can cancel all of the selected nodes too.</p>
+ <p class="highlight_red">Please use zTree object to executing the method.</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which need to cancel selected.</p>
+ <p class="highlight_red">Please ensure that this data object is an internal node data object in zTree.</p>
+ <p class="highlight_red">If you omit this parameter, zTree will cancel all of the selected nodes.</p>
+ <h4 class="topLine"><b>Return </b><span>none</span></h4>
+ <p>no return value</p>
+ </div>
+ <h3>Examples of function</h3>
+ <h4>1. Cancel all of the selected nodes</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+treeObj.cancelSelectedNode();
+</code></pre>
+ <h4>2. Cancel the first node of the selected nodes</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getSelectedNode();
+if (nodes.length>0) {
+ treeObj.cancelSelectedNode(nodes[0]);
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.checkAllNodes.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.checkAllNodes.html index 276b6294..5213e18a 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.checkAllNodes.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.checkAllNodes.html @@ -1,29 +1,29 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(checked)</span><span class="path">zTreeObj.</span>checkAllNodes</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Check or unCheck all nodes which have been initialized. It is valid when <span class="highlight_red">[setting.check.enable = true & setting.check.chkStyle = "checkbox"]</span></p> - <p class="highlight_red">This method does not trigger 'beforeCheck' or 'onCheck' callback function.</p> - <p class="highlight_red">Please use zTree object to executing the method.</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>checked</b><span>Boolean</span></h4> - <p>checked = true means: check all nodes.</p> - <p>checked = false means: uncheck all nodes.</p> - <p class="highlight_red">Don't affect the node which 'nochecked' attribute is true.</p> - <p class="highlight_red">Don't affect the node is not loaded.</p> - <h4 class="topLine"><b>Return </b><span>none</span></h4> - <p>no return value</p> - </div> - <h3>Examples of function</h3> - <h4>1. check all nodes</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -treeObj.checkAllNodes(true); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(checked)</span><span class="path">zTreeObj.</span>checkAllNodes</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Check or unCheck all nodes which have been initialized. It is valid when <span class="highlight_red">[setting.check.enable = true & setting.check.chkStyle = "checkbox"]</span></p>
+ <p class="highlight_red">This method does not trigger 'beforeCheck' or 'onCheck' callback function.</p>
+ <p class="highlight_red">Please use zTree object to executing the method.</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>checked</b><span>Boolean</span></h4>
+ <p>checked = true means: check all nodes.</p>
+ <p>checked = false means: uncheck all nodes.</p>
+ <p class="highlight_red">Don't affect the node which 'nochecked' attribute is true.</p>
+ <p class="highlight_red">Don't affect the node is not loaded.</p>
+ <h4 class="topLine"><b>Return </b><span>none</span></h4>
+ <p>no return value</p>
+ </div>
+ <h3>Examples of function</h3>
+ <h4>1. check all nodes</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+treeObj.checkAllNodes(true);
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.checkNode.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.checkNode.html index 7411ef86..948982c7 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.checkNode.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.checkNode.html @@ -1,44 +1,44 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeNode, checked, checkTypeFlag, callbackFlag)</span><span class="path">zTreeObj.</span>checkNode</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Check or unCheck a single node. It is valid when <span class="highlight_red">[setting.check.enable = true]</span></p> - <p class="highlight_red">Use checkNode() method of zTree v3.x can trigger 'beforeCheck' or 'onCheck' callback function. for reduce redundant code.</p> - <p class="highlight_red">Please use zTree object to executing the method.</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which need to be checked or unchecked.</p> - <p class="highlight_red">Please ensure that this data object is an internal node data object in zTree.</p> - <h4 class="topLine"><b>checked</b><span>Boolean</span></h4> - <p>checked = true means: check node.</p> - <p>checked = false means: uncheck node.</p> - <p class="highlight_red">If this parameter is omitted, then toggle check or uncheck depend this node's expanded state.</p> - <p class="highlight_red">Don't affect the node which 'nochecked' attribute is true.</p> - <h4 class="topLine"><b>checkTypeFlag</b><span>Boolean</span></h4> - <p>checkTypeFlag = true means: According to 'setting.check.chkboxType' attribute automatically check or uncheck the parent and child nodes.</p> - <p>checkTypeFlag = false means: only check or uncheck this node, don't affect its parent and child nodes.</p> - <p class="highlight_red">When checkTypeFlag = false and treeNode.checked = checked, will not trigger callback function.</p> - <p class="highlight_red">Don't affect the parent and child nodes which 'nochecked' attribute is true.</p> - <h4 class="topLine"><b>callbackFlag</b><span>Boolean</span></h4> - <p>callbackFlag = true means: call this method, will trigger 'beforeCheck' & 'onCheck' callback.</p> - <p>callbackFlag = false means: call this method, will not trigger callback.</p> - <p class="highlight_red">If this parameter is omitted, it is same as 'callbackFlag = false'</p> - <h4 class="topLine"><b>Return </b><span>none</span></h4> - <p>no return value</p> - </div> - <h3>Examples of function</h3> - <h4>1. check the selected nodes</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getSelectedNodes(); -for (var i=0, l=nodes.length; i < l; i++) { - treeObj.checkNode(nodes[i], true, true); -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeNode, checked, checkTypeFlag, callbackFlag)</span><span class="path">zTreeObj.</span>checkNode</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Check or unCheck a single node. It is valid when <span class="highlight_red">[setting.check.enable = true]</span></p>
+ <p class="highlight_red">Use checkNode() method of zTree v3.x can trigger 'beforeCheck' or 'onCheck' callback function. for reduce redundant code.</p>
+ <p class="highlight_red">Please use zTree object to executing the method.</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which need to be checked or unchecked.</p>
+ <p class="highlight_red">Please ensure that this data object is an internal node data object in zTree.</p>
+ <h4 class="topLine"><b>checked</b><span>Boolean</span></h4>
+ <p>checked = true means: check node.</p>
+ <p>checked = false means: uncheck node.</p>
+ <p class="highlight_red">If this parameter is omitted, then toggle check or uncheck depend this node's expanded state.</p>
+ <p class="highlight_red">Don't affect the node which 'nochecked' attribute is true.</p>
+ <h4 class="topLine"><b>checkTypeFlag</b><span>Boolean</span></h4>
+ <p>checkTypeFlag = true means: According to 'setting.check.chkboxType' attribute automatically check or uncheck the parent and child nodes.</p>
+ <p>checkTypeFlag = false means: only check or uncheck this node, don't affect its parent and child nodes.</p>
+ <p class="highlight_red">When checkTypeFlag = false and treeNode.checked = checked, will not trigger callback function.</p>
+ <p class="highlight_red">Don't affect the parent and child nodes which 'nochecked' attribute is true.</p>
+ <h4 class="topLine"><b>callbackFlag</b><span>Boolean</span></h4>
+ <p>callbackFlag = true means: call this method, will trigger 'beforeCheck' & 'onCheck' callback.</p>
+ <p>callbackFlag = false means: call this method, will not trigger callback.</p>
+ <p class="highlight_red">If this parameter is omitted, it is same as 'callbackFlag = false'</p>
+ <h4 class="topLine"><b>Return </b><span>none</span></h4>
+ <p>no return value</p>
+ </div>
+ <h3>Examples of function</h3>
+ <h4>1. check the selected nodes</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getSelectedNodes();
+for (var i=0, l=nodes.length; i < l; i++) {
+ treeObj.checkNode(nodes[i], true, true);
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.copyNode.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.copyNode.html index a98e84de..1f157f89 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.copyNode.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.copyNode.html @@ -1,47 +1,47 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(targetNode, treeNode, moveType, isSilent)</span><span class="path">zTreeObj.</span>copyNode</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Copy the node</p> - <p class="highlight_red">When copy nodes, zTree v3.x will clone nodes. If you need to get the data object in zTree, please get the return value of this method.</p> - <p class="highlight_red">Please use zTree object to executing the method.</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>targetNode</b><span>JSON</span></h4> - <p>JSON data object of the node which will be target.</p> - <p class="highlight_red">If copy the node to root node, please set the 'targetNode' to null.</p> - <p class="highlight_red">Please ensure that this data object is an internal node data object in zTree.</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which will be copied.</p> - <p class="highlight_red">Please ensure that this data object is an internal node data object in zTree.</p> - <h4 class="topLine"><b>moveType</b><span>String</span></h4> - <p>Copied to the target node's relative position.</p> - <p class="highlight_red">"inner" means: to be taregetNode's child node.</p> - <p class="highlight_red">"prev" means: to be taregetNode's previous sibling node.</p> - <p class="highlight_red">"next" means: to be taregetNode's next sibling node.</p> - <h4 class="topLine"><b>isSilent</b><span>Boolean</span></h4> - <p>After copy the node, whether to automatically expand its parent node.</p> - <p>isSilent = true means: don't expand its parent node.</p> - <p>isSilent = false or omit this parameter means: expand its parent node.</p> - <h4 class="topLine"><b>Return </b><span>JSON</span></h4> - <p>return the new node in zTree</p> - <p class="highlight_red">Note: the node data JSON object in the return value is not equal to the treeNode.</p> - </div> - <h3>Examples of function</h3> - <h4>1. Copy the second root node to the first root node's child node.</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getNodes(); -treeObj.copyNode(nodes[0], nodes[1], "inner"); -</code></pre> - <h4>2. Copy the second root node to the first root node's previous sibling node.</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getNodes(); -treeObj.copyNode(nodes[0], nodes[1], "before"); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(targetNode, treeNode, moveType, isSilent)</span><span class="path">zTreeObj.</span>copyNode</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Copy the node</p>
+ <p class="highlight_red">When copy nodes, zTree v3.x will clone nodes. If you need to get the data object in zTree, please get the return value of this method.</p>
+ <p class="highlight_red">Please use zTree object to executing the method.</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>targetNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which will be target.</p>
+ <p class="highlight_red">If copy the node to root node, please set the 'targetNode' to null.</p>
+ <p class="highlight_red">Please ensure that this data object is an internal node data object in zTree.</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which will be copied.</p>
+ <p class="highlight_red">Please ensure that this data object is an internal node data object in zTree.</p>
+ <h4 class="topLine"><b>moveType</b><span>String</span></h4>
+ <p>Copied to the target node's relative position.</p>
+ <p class="highlight_red">"inner" means: to be taregetNode's child node.</p>
+ <p class="highlight_red">"prev" means: to be taregetNode's previous sibling node.</p>
+ <p class="highlight_red">"next" means: to be taregetNode's next sibling node.</p>
+ <h4 class="topLine"><b>isSilent</b><span>Boolean</span></h4>
+ <p>After copy the node, whether to automatically expand its parent node.</p>
+ <p>isSilent = true means: don't expand its parent node.</p>
+ <p>isSilent = false or omit this parameter means: expand its parent node.</p>
+ <h4 class="topLine"><b>Return </b><span>JSON</span></h4>
+ <p>return the new node in zTree</p>
+ <p class="highlight_red">Note: the node data JSON object in the return value is not equal to the treeNode.</p>
+ </div>
+ <h3>Examples of function</h3>
+ <h4>1. Copy the second root node to the first root node's child node.</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getNodes();
+treeObj.copyNode(nodes[0], nodes[1], "inner");
+</code></pre>
+ <h4>2. Copy the second root node to the first root node's previous sibling node.</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getNodes();
+treeObj.copyNode(nodes[0], nodes[1], "before");
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.destroy.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.destroy.html index 80c52811..c4dc8cae 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.destroy.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.destroy.html @@ -1,25 +1,25 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeId)</span><span class="path">zTreeObj.</span>destroy</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>From zTree v3.4, zTree support the method for destruction.</p> - <p>1. This method can destroy the zTreeObj's zTree.</p> - <p class="highlight_red">2. If you want to destory all of the zTrees, you can use the '$.fn.zTree.destroy()' method.</p> - <p class="highlight_red">3. If you want to use the tree which has been destroyed, you must use the 'init()' method at first.</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>Return </b><span>none</span></h4> - <p>no return value</p> - </div> - <h3>Examples of function</h3> - <h4>1. destroy the zTree which its id is 'treeDemo'</h4> - <pre xmlns=""><code>var zTreeObj = $.fn.zTree.getZTreeObj("treeDemo"); -zTreeObj.destroy(); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeId)</span><span class="path">zTreeObj.</span>destroy</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>From zTree v3.4, zTree support the method for destruction.</p>
+ <p>1. This method can destroy the zTreeObj's zTree.</p>
+ <p class="highlight_red">2. If you want to destory all of the zTrees, you can use the '$.fn.zTree.destroy()' method.</p>
+ <p class="highlight_red">3. If you want to use the tree which has been destroyed, you must use the 'init()' method at first.</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>Return </b><span>none</span></h4>
+ <p>no return value</p>
+ </div>
+ <h3>Examples of function</h3>
+ <h4>1. destroy the zTree which its id is 'treeDemo'</h4>
+ <pre xmlns=""><code>var zTreeObj = $.fn.zTree.getZTreeObj("treeDemo");
+zTreeObj.destroy();
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.editName.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.editName.html index 92ac5c1c..003af49e 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.editName.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.editName.html @@ -1,29 +1,29 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeNode)</span><span class="path">zTreeObj.</span>editName</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Start editing the node's name.</p> - <p class="highlight_red">1. If need to cancel editing the node's name, please use cancelEditName(newName) method.</p> - <p class="highlight_red">2. This method can be used to set the editing node‘s input box to get focus.</p> - <p class="highlight_red">3. Please use zTree object to executing the method.</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which will be editing name</p> - <p class="highlight_red">Please ensure that this data object is an internal node data object in zTree.</p> - <h4 class="topLine"><b>Retrun </b><span>none</span></h4> - <p>no return value</p> - </div> - <h3>Examples of function</h3> - <h4>1. Start editing the first selected node's name.</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getNodes(); -treeObj.editName(nodes[0]); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeNode)</span><span class="path">zTreeObj.</span>editName</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Start editing the node's name.</p>
+ <p class="highlight_red">1. If need to cancel editing the node's name, please use cancelEditName(newName) method.</p>
+ <p class="highlight_red">2. This method can be used to set the editing node‘s input box to get focus.</p>
+ <p class="highlight_red">3. Please use zTree object to executing the method.</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which will be editing name</p>
+ <p class="highlight_red">Please ensure that this data object is an internal node data object in zTree.</p>
+ <h4 class="topLine"><b>Retrun </b><span>none</span></h4>
+ <p>no return value</p>
+ </div>
+ <h3>Examples of function</h3>
+ <h4>1. Start editing the first selected node's name.</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getNodes();
+treeObj.editName(nodes[0]);
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.expandAll.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.expandAll.html index ef28a316..d5be0fa8 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.expandAll.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.expandAll.html @@ -1,30 +1,30 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(expandFlag)</span><span class="path">zTreeObj.</span>expandAll</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Expand or collapse all nodes.</p> - <p class="highlight_red">This method does not trigger 'beforeExpand / onExpand' or 'beforeCollapse / onCollapse' callback function.</p> - <p class="highlight_red">Please use zTree object to executing the method.</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>expandFlag</b><span>Boolean</span></h4> - <p>expandFlag = true means: expand all nodes.</p> - <p>expandFlag = false means: collapse all nodes.</p> - <h4 class="topLine"><b>Return </b><span>Boolean</span></h4> - <p>return the result of expand or collapse.</p> - <p>true means: expand all nodes</p> - <p>false means: collapse all nodes</p> - <p>null means: have no parent node to expand or collapse.</p> - </div> - <h3>Examples of function</h3> - <h4>1. Expand all nodes</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -treeObj.expandAll(true); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(expandFlag)</span><span class="path">zTreeObj.</span>expandAll</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Expand or collapse all nodes.</p>
+ <p class="highlight_red">This method does not trigger 'beforeExpand / onExpand' or 'beforeCollapse / onCollapse' callback function.</p>
+ <p class="highlight_red">Please use zTree object to executing the method.</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>expandFlag</b><span>Boolean</span></h4>
+ <p>expandFlag = true means: expand all nodes.</p>
+ <p>expandFlag = false means: collapse all nodes.</p>
+ <h4 class="topLine"><b>Return </b><span>Boolean</span></h4>
+ <p>return the result of expand or collapse.</p>
+ <p>true means: expand all nodes</p>
+ <p>false means: collapse all nodes</p>
+ <p>null means: have no parent node to expand or collapse.</p>
+ </div>
+ <h3>Examples of function</h3>
+ <h4>1. Expand all nodes</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+treeObj.expandAll(true);
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.expandNode.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.expandNode.html index f99ff77d..6e103a1c 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.expandNode.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.expandNode.html @@ -1,50 +1,50 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeNode, expandFlag, sonSign, focus, callbackFlag)</span><span class="path">zTreeObj.</span>expandNode</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Expand or collapse single node.</p> - <p class="highlight_red">Use expandNode() method of zTree v3.x can trigger 'beforeExpand / onExpand' or 'beforeCollapse / onCollapse' callback function. for reduce redundant code.</p> - <p class="highlight_red">Please use zTree object to executing the method.</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which will be expanded or collapsed</p> - <p class="highlight_red">Please ensure that this data object is an internal node data object in zTree.</p> - <h4 class="topLine"><b>expandFlag</b><span>Boolean</span></h4> - <p>expandFlag = true means: expand the node.</p> - <p>expandFlag = false means: collapse the node.</p> - <p class="highlight_red">If this parameter is omitted, then toggle expand or collapse depend this node's expanded state.</p> - <h4 class="topLine"><b>sonSign</b><span>Boolean</span></h4> - <p>sonSign = true means: expand or collapse all of the child nodes depend the 'expandFlag' parameter.</p> - <p>sonSign = false means: only expand or collapse this node.</p> - <p class="highlight_red">When sonSign = false and treeNode.open = expandFlag, will not trigger the callback.</p> - <p class="highlight_red">If this parameter is omitted, it is same as 'sonSign = false'.</p> - <h4 class="topLine"><b>focus</b><span>Boolean</span></h4> - <p>focus = true means: after expand or collapse, set the focus of this node for view.</p> - <p>focus = false means: after expand or coolapse, don't set the focus of this node.</p> - <p class="highlight_red">If this parameter is omitted, it is same as 'focus = true'.</p> - <h4 class="topLine"><b>callbackFlag</b><span>Boolean</span></h4> - <p>callbackFlag = true means: call this method, will trigger 'beforeExpand / onExpand' or 'beforeCollapse / onCollapse' callback.</p> - <p>callbackFlag = false means: call this method, will not trigger callback.</p> - <p class="highlight_red">If this parameter is omitted, it is same as 'callbackFlag = false'</p> - <h4 class="topLine"><b>Return </b><span>Boolean</span></h4> - <p>return the result of expand or collapse.</p> - <p>true means: expand node</p> - <p>false means: collapse node</p> - <p>null means: the node is not parent node.</p> - </div> - <h3>Examples of function</h3> - <h4>1. Expand the first selected node. (and expand this node's child nodes)</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getSelectedNodes(); -if (nodes.length>0) { - treeObj.expandNode(nodes[0], true, true, true); -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeNode, expandFlag, sonSign, focus, callbackFlag)</span><span class="path">zTreeObj.</span>expandNode</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Expand or collapse single node.</p>
+ <p class="highlight_red">Use expandNode() method of zTree v3.x can trigger 'beforeExpand / onExpand' or 'beforeCollapse / onCollapse' callback function. for reduce redundant code.</p>
+ <p class="highlight_red">Please use zTree object to executing the method.</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which will be expanded or collapsed</p>
+ <p class="highlight_red">Please ensure that this data object is an internal node data object in zTree.</p>
+ <h4 class="topLine"><b>expandFlag</b><span>Boolean</span></h4>
+ <p>expandFlag = true means: expand the node.</p>
+ <p>expandFlag = false means: collapse the node.</p>
+ <p class="highlight_red">If this parameter is omitted, then toggle expand or collapse depend this node's expanded state.</p>
+ <h4 class="topLine"><b>sonSign</b><span>Boolean</span></h4>
+ <p>sonSign = true means: expand or collapse all of the child nodes depend the 'expandFlag' parameter.</p>
+ <p>sonSign = false means: only expand or collapse this node.</p>
+ <p class="highlight_red">When sonSign = false and treeNode.open = expandFlag, will not trigger the callback.</p>
+ <p class="highlight_red">If this parameter is omitted, it is same as 'sonSign = false'.</p>
+ <h4 class="topLine"><b>focus</b><span>Boolean</span></h4>
+ <p>focus = true means: after expand or collapse, set the focus of this node for view.</p>
+ <p>focus = false means: after expand or coolapse, don't set the focus of this node.</p>
+ <p class="highlight_red">If this parameter is omitted, it is same as 'focus = true'.</p>
+ <h4 class="topLine"><b>callbackFlag</b><span>Boolean</span></h4>
+ <p>callbackFlag = true means: call this method, will trigger 'beforeExpand / onExpand' or 'beforeCollapse / onCollapse' callback.</p>
+ <p>callbackFlag = false means: call this method, will not trigger callback.</p>
+ <p class="highlight_red">If this parameter is omitted, it is same as 'callbackFlag = false'</p>
+ <h4 class="topLine"><b>Return </b><span>Boolean</span></h4>
+ <p>return the result of expand or collapse.</p>
+ <p>true means: expand node</p>
+ <p>false means: collapse node</p>
+ <p>null means: the node is not parent node.</p>
+ </div>
+ <h3>Examples of function</h3>
+ <h4>1. Expand the first selected node. (and expand this node's child nodes)</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getSelectedNodes();
+if (nodes.length>0) {
+ treeObj.expandNode(nodes[0], true, true, true);
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.getChangeCheckedNodes.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.getChangeCheckedNodes.html index d0f9cf3b..1193a9ac 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.getChangeCheckedNodes.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.getChangeCheckedNodes.html @@ -1,24 +1,24 @@ -<div class="apiDetail"> -<div> - <h2><span>Function()</span><span class="path">zTreeObj.</span>getChangeCheckedNodes</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Get the collection of nodes which be changed checked status. (Compared with the original data checkedOld) It is valid when <span class="highlight_red">[setting.check.enable = true]</span></p> - <p class="highlight_red">Please use zTree object to executing the method.</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>Return </b><span>Array(JSON)</span></h4> - <p>return the collection of nodes which be changed checked status (Array)</p> - <p class="highlight_red">If you need to get the collection of nodes which changed the checked status, when nodes be checked or unchecked, so please set treeNode.checkedOld = treeNode.checked ( for all of the be changed checked status nodes ).</p> - </div> - <h3>Examples of function</h3> - <h4>1. Get the collection of nodes which be changed checked status</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getChangeCheckedNodes(); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function()</span><span class="path">zTreeObj.</span>getChangeCheckedNodes</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Get the collection of nodes which be changed checked status. (Compared with the original data checkedOld) It is valid when <span class="highlight_red">[setting.check.enable = true]</span></p>
+ <p class="highlight_red">Please use zTree object to executing the method.</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>Return </b><span>Array(JSON)</span></h4>
+ <p>return the collection of nodes which be changed checked status (Array)</p>
+ <p class="highlight_red">If you need to get the collection of nodes which changed the checked status, when nodes be checked or unchecked, so please set treeNode.checkedOld = treeNode.checked ( for all of the be changed checked status nodes ).</p>
+ </div>
+ <h3>Examples of function</h3>
+ <h4>1. Get the collection of nodes which be changed checked status</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getChangeCheckedNodes();
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.getCheckedNodes.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.getCheckedNodes.html index 7a7c3b97..8fa348f2 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.getCheckedNodes.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.getCheckedNodes.html @@ -1,28 +1,28 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(checked)</span><span class="path">zTreeObj.</span>getCheckedNodes</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Get the collection of nodes which be checked or unchecked. It is valid when <span class="highlight_red">[setting.check.enable = true]</span></p> - <p class="highlight_red">Please use zTree object to executing the method.</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>checked</b><span>Boolean</span></h4> - <p>checked = true means: get the collection of nodes which be checked</p> - <p>checked = false means: get the collection of nodes which be unchecked</p> - <p class="highlight_red">If this parameter is omitted, it is same as 'checked = true'</p> - <p class="highlight_red">Don't get the nodes which 'nochecked' attribute is true.</p> - <h4 class="topLine"><b>Return </b><span>Array(JSON)</span></h4> - <p>return the collection of nodes which be checked or unchecked. (Array)</p> - </div> - <h3>Examples of function</h3> - <h4>1. Get the collection of nodes which be checked.</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getCheckedNodes(true); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(checked)</span><span class="path">zTreeObj.</span>getCheckedNodes</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Get the collection of nodes which be checked or unchecked. It is valid when <span class="highlight_red">[setting.check.enable = true]</span></p>
+ <p class="highlight_red">Please use zTree object to executing the method.</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>checked</b><span>Boolean</span></h4>
+ <p>checked = true means: get the collection of nodes which be checked</p>
+ <p>checked = false means: get the collection of nodes which be unchecked</p>
+ <p class="highlight_red">If this parameter is omitted, it is same as 'checked = true'</p>
+ <p class="highlight_red">Don't get the nodes which 'nochecked' attribute is true.</p>
+ <h4 class="topLine"><b>Return </b><span>Array(JSON)</span></h4>
+ <p>return the collection of nodes which be checked or unchecked. (Array)</p>
+ </div>
+ <h3>Examples of function</h3>
+ <h4>1. Get the collection of nodes which be checked.</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getCheckedNodes(true);
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.getNodeByParam.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.getNodeByParam.html index 05572e73..58f86a6d 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.getNodeByParam.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.getNodeByParam.html @@ -1,32 +1,32 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(key, value, parentNode)</span><span class="path">zTreeObj.</span>getNodeByParam</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>According to the node data attribute, search the node which exactly matches, and get the JSON object of node.</p> - <p class="highlight_red">Please use zTree object to executing the method.</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>key</b><span>String</span></h4> - <p>The name of attribute which need to exactly match</p> - <h4 class="topLine"><b>value</b><span>?</span></h4> - <p>The value which need to exactly match, can be any type, please ensure its type consistent with the attribute values.</p> - <h4 class="topLine"><b>parentNode</b><span>JSON</span></h4> - <p>The search range, you can search node from a parent node's child nodes.</p> - <p class="highlight_red">If this parameter is omitted, zTree will search node from all nodes.</p> - <h4 class="topLine"><b>Return </b><span>JSON</span></h4> - <p>JSON data object of the node which be searched.</p> - <p class="highlight_red">1. If search none node, return null.</p> - <p class="highlight_red">2. If there are many nodes can be searched, return the first node.</p> - </div> - <h3>Examples of function</h3> - <h4>1. Search the node which its 'id' attribute is 1.</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var node = treeObj.getNodeByParam("id", 1, null); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(key, value, parentNode)</span><span class="path">zTreeObj.</span>getNodeByParam</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>According to the node data attribute, search the node which exactly matches, and get the JSON object of node.</p>
+ <p class="highlight_red">Please use zTree object to executing the method.</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>key</b><span>String</span></h4>
+ <p>The name of attribute which need to exactly match</p>
+ <h4 class="topLine"><b>value</b><span>?</span></h4>
+ <p>The value which need to exactly match, can be any type, please ensure its type consistent with the attribute values.</p>
+ <h4 class="topLine"><b>parentNode</b><span>JSON</span></h4>
+ <p>The search range, you can search node from a parent node's child nodes.</p>
+ <p class="highlight_red">If this parameter is omitted, zTree will search node from all nodes.</p>
+ <h4 class="topLine"><b>Return </b><span>JSON</span></h4>
+ <p>JSON data object of the node which be searched.</p>
+ <p class="highlight_red">1. If search none node, return null.</p>
+ <p class="highlight_red">2. If there are many nodes can be searched, return the first node.</p>
+ </div>
+ <h3>Examples of function</h3>
+ <h4>1. Search the node which its 'id' attribute is 1.</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var node = treeObj.getNodeByParam("id", 1, null);
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.getNodeByTId.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.getNodeByTId.html index 8fd26ea0..6635df80 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.getNodeByTId.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.getNodeByTId.html @@ -1,27 +1,27 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(tId)</span><span class="path">zTreeObj.</span>getNodeByTId</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>According the unique identifier tId of zTree, quick get the node's JSON data object.</p> - <p class="highlight_red">Get the node from the cache, don't need to search from all nodes.</p> - <p class="highlight_red">Please use zTree object to executing the method.</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>tId</b><span>String</span></h4> - <p>The unique identifier of node.</p> - <h4 class="topLine"><b>Return </b><span>JSON</span></h4> - <p>JSON data object of the node which be searched.</p> - <p class="highlight_red">If no result, return null.</p> - </div> - <h3>Examples of function</h3> - <h4>1. 1. Search the node which its 'tId' attribute is 'tree_10'</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var node = treeObj.getNodeByTId("tree_10"); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(tId)</span><span class="path">zTreeObj.</span>getNodeByTId</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>According the unique identifier tId of zTree, quick get the node's JSON data object.</p>
+ <p class="highlight_red">Get the node from the cache, don't need to search from all nodes.</p>
+ <p class="highlight_red">Please use zTree object to executing the method.</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>tId</b><span>String</span></h4>
+ <p>The unique identifier of node.</p>
+ <h4 class="topLine"><b>Return </b><span>JSON</span></h4>
+ <p>JSON data object of the node which be searched.</p>
+ <p class="highlight_red">If no result, return null.</p>
+ </div>
+ <h3>Examples of function</h3>
+ <h4>1. 1. Search the node which its 'tId' attribute is 'tree_10'</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var node = treeObj.getNodeByTId("tree_10");
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.getNodeIndex.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.getNodeIndex.html index ad828e7a..95ae1f39 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.getNodeIndex.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.getNodeIndex.html @@ -1,30 +1,30 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeNode)</span><span class="path">zTreeObj.</span>getNodeIndex</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Get the node's index in the same level nodes. (start from 0)</p> - <p class="highlight_red">Please use zTree object to executing the method.</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which need to get index.</p> - <p class="highlight_red">Please ensure that this data object is an internal node data object in zTree.</p> - <h4 class="topLine"><b>Return </b><span>Number</span></h4> - <p class="highlight_red">return the index. (start from 0)</p> - <p class="highlight_red">If there is no this node, return -1.</p> - </div> - <h3>Examples of function</h3> - <h4>1. Get the first selected node's index in the same level nodes.</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getSelectedNodes(); -if (nodes.length>0) { - var index = treeObj.getNodeIndex(nodes[0]); -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeNode)</span><span class="path">zTreeObj.</span>getNodeIndex</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Get the node's index in the same level nodes. (start from 0)</p>
+ <p class="highlight_red">Please use zTree object to executing the method.</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which need to get index.</p>
+ <p class="highlight_red">Please ensure that this data object is an internal node data object in zTree.</p>
+ <h4 class="topLine"><b>Return </b><span>Number</span></h4>
+ <p class="highlight_red">return the index. (start from 0)</p>
+ <p class="highlight_red">If there is no this node, return -1.</p>
+ </div>
+ <h3>Examples of function</h3>
+ <h4>1. Get the first selected node's index in the same level nodes.</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getSelectedNodes();
+if (nodes.length>0) {
+ var index = treeObj.getNodeIndex(nodes[0]);
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.getNodes.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.getNodes.html index 5906a434..e0e4ddb5 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.getNodes.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.getNodes.html @@ -1,26 +1,26 @@ -<div class="apiDetail"> -<div> - <h2><span>Function()</span><span class="path">zTreeObj.</span>getNodes</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Get all of the nodes in zTree</p> - <p class="highlight_red">Please use zTree object to executing the method.</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>Return </b><span>Array(JSON)</span></h4> - <p>return all of the nodes</p> - <p class="highlight_red">1. This array is a collection of the root nodes (the default child nodes are in the 'children' attributes);</p> - <p class="highlight_red">2. Traverse all the nodes need to use recursion, or the use of transformToArray() method make the nodes to be a simple array.</p> - <p class="highlight_red">3. For the asynchronous loading mode, can't get the nodes which are yet loaded.</p> - </div> - <h3>Examples of function</h3> - <h4>1. Get all of the nodes</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getNodes(); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function()</span><span class="path">zTreeObj.</span>getNodes</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Get all of the nodes in zTree</p>
+ <p class="highlight_red">Please use zTree object to executing the method.</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>Return </b><span>Array(JSON)</span></h4>
+ <p>return all of the nodes</p>
+ <p class="highlight_red">1. This array is a collection of the root nodes (the default child nodes are in the 'children' attributes);</p>
+ <p class="highlight_red">2. Traverse all the nodes need to use recursion, or the use of transformToArray() method make the nodes to be a simple array.</p>
+ <p class="highlight_red">3. For the asynchronous loading mode, can't get the nodes which are yet loaded.</p>
+ </div>
+ <h3>Examples of function</h3>
+ <h4>1. Get all of the nodes</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getNodes();
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.getNodesByFilter.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.getNodesByFilter.html index 2cd6baa8..1705440a 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.getNodesByFilter.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.getNodesByFilter.html @@ -1,43 +1,43 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(filter, isSingle, parentNode, invokeParam)</span><span class="path">zTreeObj.</span>getNodesByFilter</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Search the single node's data or collection of nodes's data by custom rules.</p> - <p class="highlight_red">Can be customized complex search rules.</p> - <p class="highlight_red">Please use zTree object to executing the method.</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>filter</b><span>Function</span></h4> - <p>Custom search function. e.g. function filter(node) {...}</p> - <p>filter's parameter: node (node's data -- JSON)</p> - <p>filter's return: boolean (true means: match the rules; false means: don't match the rules)</p> - <h4 class="topLine"><b>isSingle</b><span>Boolean</span></h4> - <p>isSingle = true means: search only one node</p> - <p>isSingle = false means: search the array of the nodes</p> - <p class="highlight_red">If this parameter is omitted, as same as false</p> - <h4 class="topLine"><b>parentNode</b><span>JSON</span></h4> - <p>The search range, you can search node from a parent node's child nodes.</p> - <p class="highlight_red">If this parameter is omitted, zTree will search node from all nodes.</p> - <h4 class="topLine"><b>invokeParam</b><span>anything</span></h4> - <p>Custom data object by user, used to calculate in the filter function.</p> - <h4 class="topLine"><b>Return </b><span>Array(JSON) / JSON</span></h4> - <p>If isSingle = true, will return the first node's data (JSON) what be matched. If no match, return null.</p> - <p>If isSingle = false, will return the array of all nodes's data what be matched. if no match, return [ ].</p> - </div> - <h3>Examples of function</h3> - <h4>1. Search the nodes which their 'name' contains 'test' and 'level' is 2.</h4> - <pre xmlns=""><code>function filter(node) { - return (node.level == 2 && node.name.indexOf("test")>-1); -} -...... -var treeObj = $.fn.zTree.getZTreeObj("tree"); -var node = treeObj.getNodesByFilter(filter, true); // search only one node -var nodes = treeObj.getNodesByFilter(filter); // search the array of the nodes -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(filter, isSingle, parentNode, invokeParam)</span><span class="path">zTreeObj.</span>getNodesByFilter</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Search the single node's data or collection of nodes's data by custom rules.</p>
+ <p class="highlight_red">Can be customized complex search rules.</p>
+ <p class="highlight_red">Please use zTree object to executing the method.</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>filter</b><span>Function</span></h4>
+ <p>Custom search function. e.g. function filter(node) {...}</p>
+ <p>filter's parameter: node (node's data -- JSON)</p>
+ <p>filter's return: boolean (true means: match the rules; false means: don't match the rules)</p>
+ <h4 class="topLine"><b>isSingle</b><span>Boolean</span></h4>
+ <p>isSingle = true means: search only one node</p>
+ <p>isSingle = false means: search the array of the nodes</p>
+ <p class="highlight_red">If this parameter is omitted, as same as false</p>
+ <h4 class="topLine"><b>parentNode</b><span>JSON</span></h4>
+ <p>The search range, you can search node from a parent node's child nodes.</p>
+ <p class="highlight_red">If this parameter is omitted, zTree will search node from all nodes.</p>
+ <h4 class="topLine"><b>invokeParam</b><span>anything</span></h4>
+ <p>Custom data object by user, used to calculate in the filter function.</p>
+ <h4 class="topLine"><b>Return </b><span>Array(JSON) / JSON</span></h4>
+ <p>If isSingle = true, will return the first node's data (JSON) what be matched. If no match, return null.</p>
+ <p>If isSingle = false, will return the array of all nodes's data what be matched. if no match, return [ ].</p>
+ </div>
+ <h3>Examples of function</h3>
+ <h4>1. Search the nodes which their 'name' contains 'test' and 'level' is 2.</h4>
+ <pre xmlns=""><code>function filter(node) {
+ return (node.level == 2 && node.name.indexOf("test")>-1);
+}
+......
+var treeObj = $.fn.zTree.getZTreeObj("tree");
+var node = treeObj.getNodesByFilter(filter, true); // search only one node
+var nodes = treeObj.getNodesByFilter(filter); // search the array of the nodes
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.getNodesByParam.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.getNodesByParam.html index 3173af47..cb9335ae 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.getNodesByParam.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.getNodesByParam.html @@ -1,31 +1,31 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(key, value, parentNode)</span><span class="path">zTreeObj.</span>getNodesByParam</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>According to the node data attribute, search the nodes which exactly matches, and get the JSON objects collection of nodes.</p> - <p class="highlight_red">Please use zTree object to executing the method.</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>key</b><span>String</span></h4> - <p>The name of attribute which need to exactly match</p> - <h4 class="topLine"><b>value</b><span>?</span></h4> - <p>The value which need to exactly match, can be any type, please ensure its type consistent with the attribute values.</p> - <h4 class="topLine"><b>parentNode</b><span>JSON</span></h4> - <p>The search range, you can search node from a parent node's child nodes.</p> - <p class="highlight_red">If this parameter is omitted, zTree will search node from all nodes.</p> - <h4 class="topLine"><b>Return </b><span>Array(JSON)</span></h4> - <p>The JSON data objects collection of the nodes which be searched.</p> - <p class="highlight_red">If search none node, return [ ].</p> - </div> - <h3>Examples of function</h3> - <h4>1. Search the nodes which their 'name' attribute is 'test'.</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getNodesByParam("name", "test", null); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(key, value, parentNode)</span><span class="path">zTreeObj.</span>getNodesByParam</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>According to the node data attribute, search the nodes which exactly matches, and get the JSON objects collection of nodes.</p>
+ <p class="highlight_red">Please use zTree object to executing the method.</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>key</b><span>String</span></h4>
+ <p>The name of attribute which need to exactly match</p>
+ <h4 class="topLine"><b>value</b><span>?</span></h4>
+ <p>The value which need to exactly match, can be any type, please ensure its type consistent with the attribute values.</p>
+ <h4 class="topLine"><b>parentNode</b><span>JSON</span></h4>
+ <p>The search range, you can search node from a parent node's child nodes.</p>
+ <p class="highlight_red">If this parameter is omitted, zTree will search node from all nodes.</p>
+ <h4 class="topLine"><b>Return </b><span>Array(JSON)</span></h4>
+ <p>The JSON data objects collection of the nodes which be searched.</p>
+ <p class="highlight_red">If search none node, return [ ].</p>
+ </div>
+ <h3>Examples of function</h3>
+ <h4>1. Search the nodes which their 'name' attribute is 'test'.</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getNodesByParam("name", "test", null);
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.getNodesByParamFuzzy.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.getNodesByParamFuzzy.html index 14b6c294..9bce4707 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.getNodesByParamFuzzy.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.getNodesByParamFuzzy.html @@ -1,32 +1,32 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(key, value, parentNode)</span><span class="path">zTreeObj.</span>getNodesByParamFuzzy</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>According to the node data attribute, search the nodes which fuzzy matches, and get the JSON objects collection of nodes.</p> - <p class="highlight_red">Please use zTree object to executing the method.</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>key</b><span>String</span></h4> - <p>The name of attribute which need to fuzzy match</p> - <h4 class="topLine"><b>value</b><span>String</span></h4> - <p>The value which need to fuzzy match.</p> - <p class="highlight_red">The type of value can only be String</p> - <h4 class="topLine"><b>parentNode</b><span>JSON</span></h4> - <p>The search range, you can search node from a parent node's child nodes.</p> - <p class="highlight_red">If this parameter is omitted, zTree will search node from all nodes.</p> - <h4 class="topLine"><b>Return </b><span>Array(JSON)</span></h4> - <p>The JSON data objects collection of the nodes which be searched.</p> - <p class="highlight_red">If search none node, return [ ].</p> - </div> - <h3>Examples of function</h3> - <h4>1. Search the nodes which their 'name' attribute contains the string 'test'.</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getNodesByParamFuzzy("name", "test", null); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(key, value, parentNode)</span><span class="path">zTreeObj.</span>getNodesByParamFuzzy</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>According to the node data attribute, search the nodes which fuzzy matches, and get the JSON objects collection of nodes.</p>
+ <p class="highlight_red">Please use zTree object to executing the method.</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>key</b><span>String</span></h4>
+ <p>The name of attribute which need to fuzzy match</p>
+ <h4 class="topLine"><b>value</b><span>String</span></h4>
+ <p>The value which need to fuzzy match.</p>
+ <p class="highlight_red">The type of value can only be String</p>
+ <h4 class="topLine"><b>parentNode</b><span>JSON</span></h4>
+ <p>The search range, you can search node from a parent node's child nodes.</p>
+ <p class="highlight_red">If this parameter is omitted, zTree will search node from all nodes.</p>
+ <h4 class="topLine"><b>Return </b><span>Array(JSON)</span></h4>
+ <p>The JSON data objects collection of the nodes which be searched.</p>
+ <p class="highlight_red">If search none node, return [ ].</p>
+ </div>
+ <h3>Examples of function</h3>
+ <h4>1. Search the nodes which their 'name' attribute contains the string 'test'.</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getNodesByParamFuzzy("name", "test", null);
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.getSelectedNodes.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.getSelectedNodes.html index 4a0f0608..48ffad93 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.getSelectedNodes.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.getSelectedNodes.html @@ -1,23 +1,23 @@ -<div class="apiDetail"> -<div> - <h2><span>Function()</span><span class="path">zTreeObj.</span>getSelectedNodes</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Get the JSON data objects collection of the selected nodes in zTree.</p> - <p class="highlight_red">Please use zTree object to executing the method.</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>Return </b><span>Array(JSON)</span></h4> - <p>The JSON data objects collection of the selected nodes.</p> - </div> - <h3>Examples of function</h3> - <h4>1. get the selected nodes</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getSelectedNodes(); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function()</span><span class="path">zTreeObj.</span>getSelectedNodes</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Get the JSON data objects collection of the selected nodes in zTree.</p>
+ <p class="highlight_red">Please use zTree object to executing the method.</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>Return </b><span>Array(JSON)</span></h4>
+ <p>The JSON data objects collection of the selected nodes.</p>
+ </div>
+ <h3>Examples of function</h3>
+ <h4>1. get the selected nodes</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getSelectedNodes();
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.hideNode.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.hideNode.html index f02f523d..7276309f 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.hideNode.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.hideNode.html @@ -1,29 +1,29 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeNode)</span><span class="path">zTreeObj.</span>hideNode</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exhide</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>To hide any node.</p> - <p class="highlight_red">1. This feature can't support the 'exedit' feature, so please don't use this feature in edit mode.</p> - <p class="highlight_red">2. If you hide or show the nodes, it will effect the 'isFirstNode' and 'isLastNode' attribute.</p> - <p class="highlight_red">3. Please use zTree object to executing the method.</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which will be hidden</p> - <p class="highlight_red">Please ensure that this data object is an internal node data object in zTree.</p> - <h4 class="topLine"><b>Retrun </b><span>none</span></h4> - <p>no return value</p> - </div> - <h3>Examples of function</h3> - <h4>1. hide the first root node.</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getNodes(); -treeObj.hideNode(nodes[0]); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeNode)</span><span class="path">zTreeObj.</span>hideNode</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exhide</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>To hide any node.</p>
+ <p class="highlight_red">1. This feature can't support the 'exedit' feature, so please don't use this feature in edit mode.</p>
+ <p class="highlight_red">2. If you hide or show the nodes, it will effect the 'isFirstNode' and 'isLastNode' attribute.</p>
+ <p class="highlight_red">3. Please use zTree object to executing the method.</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which will be hidden</p>
+ <p class="highlight_red">Please ensure that this data object is an internal node data object in zTree.</p>
+ <h4 class="topLine"><b>Retrun </b><span>none</span></h4>
+ <p>no return value</p>
+ </div>
+ <h3>Examples of function</h3>
+ <h4>1. hide the first root node.</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getNodes();
+treeObj.hideNode(nodes[0]);
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.hideNodes.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.hideNodes.html index 9bf8e6b5..9836bec5 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.hideNodes.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.hideNodes.html @@ -1,29 +1,29 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeNodes)</span><span class="path">zTreeObj.</span>hideNodes</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exhide</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>To hide a group of nodes.</p> - <p class="highlight_red">1. This feature can't support the 'exedit' feature, so please don't use this feature in edit mode.</p> - <p class="highlight_red">2. If you hide or show the nodes, it will effect the 'isFirstNode' and 'isLastNode' attribute.</p> - <p class="highlight_red">3. Please use zTree object to executing the method.</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeNodes</b><span>Array(JSON)</span></h4> - <p>the array of the nodes which will be hidden</p> - <p class="highlight_red">Please ensure that this data object is an internal node data object in zTree.</p> - <h4 class="topLine"><b>Retrun </b><span>none</span></h4> - <p>no return value</p> - </div> - <h3>Examples of function</h3> - <h4>1. hide the first root node's children.</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getNodes(); -treeObj.hideNodes(nodes[0].children); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeNodes)</span><span class="path">zTreeObj.</span>hideNodes</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exhide</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>To hide a group of nodes.</p>
+ <p class="highlight_red">1. This feature can't support the 'exedit' feature, so please don't use this feature in edit mode.</p>
+ <p class="highlight_red">2. If you hide or show the nodes, it will effect the 'isFirstNode' and 'isLastNode' attribute.</p>
+ <p class="highlight_red">3. Please use zTree object to executing the method.</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeNodes</b><span>Array(JSON)</span></h4>
+ <p>the array of the nodes which will be hidden</p>
+ <p class="highlight_red">Please ensure that this data object is an internal node data object in zTree.</p>
+ <h4 class="topLine"><b>Retrun </b><span>none</span></h4>
+ <p>no return value</p>
+ </div>
+ <h3>Examples of function</h3>
+ <h4>1. hide the first root node's children.</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getNodes();
+treeObj.hideNodes(nodes[0].children);
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.moveNode.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.moveNode.html index 93f066bf..a44a1562 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.moveNode.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.moveNode.html @@ -1,49 +1,49 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(targetNode, treeNode, moveType, isSilent)</span><span class="path">zTreeObj.</span>moveNode</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Move the node</p> - <p class="highlight_red">Please use zTree object to executing the method.</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>targetNode</b><span>JSON</span></h4> - <p>JSON data object of the node which will be target.</p> - <p class="highlight_red">If move the node to root node, please set the 'targetNode' to null.</p> - <p class="highlight_red">Please ensure that this data object is an internal node data object in zTree.</p> - <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which will be moved.</p> - <p class="highlight_red">Please ensure that this data object is an internal node data object in zTree.</p> - <h4 class="topLine"><b>moveType</b><span>String</span></h4> - <p>Moved to the target node's relative position.</p> - <p class="highlight_red">"inner" means: to be taregetNode's child node.</p> - <p class="highlight_red">"prev" means: to be taregetNode's previous sibling node.</p> - <p class="highlight_red">"next" means: to be taregetNode's next sibling node.</p> - <h4 class="topLine"><b>isSilent</b><span>Boolean</span></h4> - <p>After move the node, whether to automatically expand its parent node.</p> - <p>isSilent = true means: don't expand its parent node.</p> - <p>isSilent = false or omit this parameter means: expand its parent node.</p> - <h4 class="topLine"><b>Return </b><span>JSON</span></h4> - <p>return the node which be moved, it is same as the 'treeNode' parameter.</p> - <p class="highlight_red">Return null means: move node has failed. The cause:<br/> - 1. the targetNode is the treeNode's parent node, and moveType = "inner"<br/> - 2. the targetNode is the treeNode's child node. - </p> - </div> - <h3>Examples of function</h3> - <h4>1. Move the second root node to the first root node's child node.</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getNodes(); -treeObj.moveNode(nodes[0], nodes[1], "inner"); -</code></pre> - <h4>2. Move the second root node to the first root node's previous sibling node.</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getNodes(); -treeObj.moveNode(nodes[0], nodes[1], "prev"); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(targetNode, treeNode, moveType, isSilent)</span><span class="path">zTreeObj.</span>moveNode</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Move the node</p>
+ <p class="highlight_red">Please use zTree object to executing the method.</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>targetNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which will be target.</p>
+ <p class="highlight_red">If move the node to root node, please set the 'targetNode' to null.</p>
+ <p class="highlight_red">Please ensure that this data object is an internal node data object in zTree.</p>
+ <h4 class="topLine"><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which will be moved.</p>
+ <p class="highlight_red">Please ensure that this data object is an internal node data object in zTree.</p>
+ <h4 class="topLine"><b>moveType</b><span>String</span></h4>
+ <p>Moved to the target node's relative position.</p>
+ <p class="highlight_red">"inner" means: to be taregetNode's child node.</p>
+ <p class="highlight_red">"prev" means: to be taregetNode's previous sibling node.</p>
+ <p class="highlight_red">"next" means: to be taregetNode's next sibling node.</p>
+ <h4 class="topLine"><b>isSilent</b><span>Boolean</span></h4>
+ <p>After move the node, whether to automatically expand its parent node.</p>
+ <p>isSilent = true means: don't expand its parent node.</p>
+ <p>isSilent = false or omit this parameter means: expand its parent node.</p>
+ <h4 class="topLine"><b>Return </b><span>JSON</span></h4>
+ <p>return the node which be moved, it is same as the 'treeNode' parameter.</p>
+ <p class="highlight_red">Return null means: move node has failed. The cause:<br/>
+ 1. the targetNode is the treeNode's parent node, and moveType = "inner"<br/>
+ 2. the targetNode is the treeNode's child node.
+ </p>
+ </div>
+ <h3>Examples of function</h3>
+ <h4>1. Move the second root node to the first root node's child node.</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getNodes();
+treeObj.moveNode(nodes[0], nodes[1], "inner");
+</code></pre>
+ <h4>2. Move the second root node to the first root node's previous sibling node.</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getNodes();
+treeObj.moveNode(nodes[0], nodes[1], "prev");
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.reAsyncChildNodes.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.reAsyncChildNodes.html index 63a0896c..c6c44782 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.reAsyncChildNodes.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.reAsyncChildNodes.html @@ -1,42 +1,42 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(parentNode, reloadType, isSilent)</span><span class="path">zTreeObj.</span>reAsyncChildNodes</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Forced asynchronous loading child nodes of parent node. It is valid when <span class="highlight_red">[setting.async.enable = true]</span></p> - <p class="highlight_red">You can use this method to reload child nodes.</p> - <p class="highlight_red">Please use zTree object to executing the method.</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>parentNode</b><span>JSON</span></h4> - <p>The parent node which will asynchronous loading child nodes.</p> - <p class="highlight_red">1. If parentNode = null, it is same as reload root nodes.</p> - <p class="highlight_red">2. If parentNode.isParent = false, don't load nodes.</p> - <p class="highlight_red">3. Please ensure that this data object is an internal node data object in zTree.</p> - <h4 class="topLine"><b>reloadType</b><span>String</span></h4> - <p>reloadType = "refresh" means: reload child nodes.</p> - <p>reloadType != "refresh" means: append to load child nodes.</p> - <h4 class="topLine"><b>isSilent</b><span>Boolean</span></h4> - <p>Set whether to automatically expand the parent node, after load nodes.</p> - <p>isSilent = true means: don't auto expand the parent node. Otherwise auto expand.</p> - <h4 class="topLine"><b>Return </b><span>none</span></h4> - <p>no return value</p> - </div> - <h3>Examples of function</h3> - <h4>1. reload root nodes</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -treeObj.reAsyncChildNodes(null, "refresh"); -</code></pre> - <h4>2. reload the first selected node's child nodes.</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getSelectedNodes(); -if (nodes.length>0) { - treeObj.reAsyncChildNodes(nodes[0], "refresh"); -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(parentNode, reloadType, isSilent)</span><span class="path">zTreeObj.</span>reAsyncChildNodes</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Forced asynchronous loading child nodes of parent node. It is valid when <span class="highlight_red">[setting.async.enable = true]</span></p>
+ <p class="highlight_red">You can use this method to reload child nodes.</p>
+ <p class="highlight_red">Please use zTree object to executing the method.</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>parentNode</b><span>JSON</span></h4>
+ <p>The parent node which will asynchronous loading child nodes.</p>
+ <p class="highlight_red">1. If parentNode = null, it is same as reload root nodes.</p>
+ <p class="highlight_red">2. If parentNode.isParent = false, don't load nodes.</p>
+ <p class="highlight_red">3. Please ensure that this data object is an internal node data object in zTree.</p>
+ <h4 class="topLine"><b>reloadType</b><span>String</span></h4>
+ <p>reloadType = "refresh" means: reload child nodes.</p>
+ <p>reloadType != "refresh" means: append to load child nodes.</p>
+ <h4 class="topLine"><b>isSilent</b><span>Boolean</span></h4>
+ <p>Set whether to automatically expand the parent node, after load nodes.</p>
+ <p>isSilent = true means: don't auto expand the parent node. Otherwise auto expand.</p>
+ <h4 class="topLine"><b>Return </b><span>none</span></h4>
+ <p>no return value</p>
+ </div>
+ <h3>Examples of function</h3>
+ <h4>1. reload root nodes</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+treeObj.reAsyncChildNodes(null, "refresh");
+</code></pre>
+ <h4>2. reload the first selected node's child nodes.</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getSelectedNodes();
+if (nodes.length>0) {
+ treeObj.reAsyncChildNodes(nodes[0], "refresh");
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.refresh.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.refresh.html index 8316192c..22b7bfe1 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.refresh.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.refresh.html @@ -1,24 +1,24 @@ -<div class="apiDetail"> -<div> - <h2><span>Function()</span><span class="path">zTreeObj.</span>refresh</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Refresh zTree</p> - <p class="highlight_red">If you have no special need, try not to use this method. If you refresh single node, please use updateNode() method. If you refresh child nodes in dynamic mode, please use the reAsyncChildNodes() method.</p> - <p class="highlight_red">Please use zTree object to executing the method.</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>Return </b><span>none</span></h4> - <p>no return value</p> - </div> - <h3>Examples of function</h3> - <h4>1. refresh zTree </h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -treeObj.refresh(); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function()</span><span class="path">zTreeObj.</span>refresh</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Refresh zTree</p>
+ <p class="highlight_red">If you have no special need, try not to use this method. If you refresh single node, please use updateNode() method. If you refresh child nodes in dynamic mode, please use the reAsyncChildNodes() method.</p>
+ <p class="highlight_red">Please use zTree object to executing the method.</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>Return </b><span>none</span></h4>
+ <p>no return value</p>
+ </div>
+ <h3>Examples of function</h3>
+ <h4>1. refresh zTree </h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+treeObj.refresh();
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.removeChildNodes.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.removeChildNodes.html index c249e175..fbcb4a11 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.removeChildNodes.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.removeChildNodes.html @@ -1,32 +1,32 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(parentNode)</span><span class="path">zTreeObj.</span>removeChildNodes</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Remove a parent node's child nodes</p> - <p class="highlight_red">1. After remove child nodes, the parent node will become a leaf node. Such as the need to maintain the parent node is still a parent node, set 'setting.data.keep.parent' attribute.</p> - <p class="highlight_red">2. Do not use this method to empty the root. If you need to empty the root, you can initialization zTree, and set the initial nodes is null.</p> - <p class="highlight_red">3. This method does not trigger any callback function.</p> - <p class="highlight_red">Please use zTree object to executing the method.</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>parentNode</b><span>JSON</span></h4> - <p>The parent node which need to clear its child nodes.</p> - <p class="highlight_red">Please ensure that this data object is an internal node data object in zTree.</p> - <h4 class="topLine"><b>Return </b><span>Array(JSON)</span></h4> - <p>Return the parent node's child nodes which have been removed. If has no child nodes, return null.</p> - </div> - <h3>Examples of function</h3> - <h4>1. Remove the first selected node's child nodes</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getSelectedNodes(); -if (nodes && nodes.length>0) { - treeObj.removeChildNodes(nodes[0]); -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(parentNode)</span><span class="path">zTreeObj.</span>removeChildNodes</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Remove a parent node's child nodes</p>
+ <p class="highlight_red">1. After remove child nodes, the parent node will become a leaf node. Such as the need to maintain the parent node is still a parent node, set 'setting.data.keep.parent' attribute.</p>
+ <p class="highlight_red">2. Do not use this method to empty the root. If you need to empty the root, you can initialization zTree, and set the initial nodes is null.</p>
+ <p class="highlight_red">3. This method does not trigger any callback function.</p>
+ <p class="highlight_red">Please use zTree object to executing the method.</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>parentNode</b><span>JSON</span></h4>
+ <p>The parent node which need to clear its child nodes.</p>
+ <p class="highlight_red">Please ensure that this data object is an internal node data object in zTree.</p>
+ <h4 class="topLine"><b>Return </b><span>Array(JSON)</span></h4>
+ <p>Return the parent node's child nodes which have been removed. If has no child nodes, return null.</p>
+ </div>
+ <h3>Examples of function</h3>
+ <h4>1. Remove the first selected node's child nodes</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getSelectedNodes();
+if (nodes && nodes.length>0) {
+ treeObj.removeChildNodes(nodes[0]);
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.removeNode.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.removeNode.html index 605322f3..ace7d1a9 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.removeNode.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.removeNode.html @@ -1,34 +1,34 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeNode, callbackFlag)</span><span class="path">zTreeObj.</span>removeNode</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Remove a node</p> - <p class="highlight_red">Use removeNode() method of zTree v3.x can trigger 'beforeRemove / onRemove' callback function. for reduce redundant code.</p> - <p class="highlight_red">Please use zTree object to executing the method.</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which will be removed.</p> - <p class="highlight_red">Please ensure that this data object is an internal node data object in zTree.</p> - <h4 class="topLine"><b>callbackFlag</b><span>Boolean</span></h4> - <p>callbackFlag = true means: call this method, will trigger 'beforeRemove' & 'onRemove' callback.</p> - <p>callbackFlag = false means: call this method, will not trigger callback.</p> - <p class="highlight_red">If this parameter is omitted, it is same as 'callbackFlag = false'</p> - <h4 class="topLine"><b>Return </b><span>none</span></h4> - <p>no return value</p> - </div> - <h3>Examples of function</h3> - <h4>1. Remove all of the selected nodes.</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getSelectedNodes(); -for (var i=0, l=nodes.length; i < l; i++) { - treeObj.removeNode(nodes[i]); -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeNode, callbackFlag)</span><span class="path">zTreeObj.</span>removeNode</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Remove a node</p>
+ <p class="highlight_red">Use removeNode() method of zTree v3.x can trigger 'beforeRemove / onRemove' callback function. for reduce redundant code.</p>
+ <p class="highlight_red">Please use zTree object to executing the method.</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which will be removed.</p>
+ <p class="highlight_red">Please ensure that this data object is an internal node data object in zTree.</p>
+ <h4 class="topLine"><b>callbackFlag</b><span>Boolean</span></h4>
+ <p>callbackFlag = true means: call this method, will trigger 'beforeRemove' & 'onRemove' callback.</p>
+ <p>callbackFlag = false means: call this method, will not trigger callback.</p>
+ <p class="highlight_red">If this parameter is omitted, it is same as 'callbackFlag = false'</p>
+ <h4 class="topLine"><b>Return </b><span>none</span></h4>
+ <p>no return value</p>
+ </div>
+ <h3>Examples of function</h3>
+ <h4>1. Remove all of the selected nodes.</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getSelectedNodes();
+for (var i=0, l=nodes.length; i < l; i++) {
+ treeObj.removeNode(nodes[i]);
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.selectNode.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.selectNode.html index 237f1996..3b22e7f9 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.selectNode.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.selectNode.html @@ -1,34 +1,34 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeNode, addFlag)</span><span class="path">zTreeObj.</span>selectNode</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Select a node</p> - <p class="highlight_red">zTree v3.x supports select multiple nodes.</p> - <p class="highlight_red">Please use zTree object to executing the method.</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which will be selected.</p> - <p class="highlight_red">Please ensure that this data object is an internal node data object in zTree.</p> - <h4 class="topLine"><b>addFlag</b><span>Boolean</span></h4> - <p>addFlag = true means: append to select node, don't affect the previously selected node, can select multiple nodes.</p> - <p>addFlag = false means: select single node, prior the selected node is deselected.</p> - <p class="highlight_red">If setting.view.selectedMulti = false, this para, this parameter is not valid, always select single node</p> - <h4 class="topLine"><b>Return </b><span>none</span></h4> - <p>no return value</p> - </div> - <h3>Exampleso of function</h3> - <h4>1. Select single node which be first selected.</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getNodes(); -if (nodes.length>0) { - treeObj.selectNode(nodes[0]); -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeNode, addFlag)</span><span class="path">zTreeObj.</span>selectNode</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Select a node</p>
+ <p class="highlight_red">zTree v3.x supports select multiple nodes.</p>
+ <p class="highlight_red">Please use zTree object to executing the method.</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which will be selected.</p>
+ <p class="highlight_red">Please ensure that this data object is an internal node data object in zTree.</p>
+ <h4 class="topLine"><b>addFlag</b><span>Boolean</span></h4>
+ <p>addFlag = true means: append to select node, don't affect the previously selected node, can select multiple nodes.</p>
+ <p>addFlag = false means: select single node, prior the selected node is deselected.</p>
+ <p class="highlight_red">If setting.view.selectedMulti = false, this para, this parameter is not valid, always select single node</p>
+ <h4 class="topLine"><b>Return </b><span>none</span></h4>
+ <p>no return value</p>
+ </div>
+ <h3>Exampleso of function</h3>
+ <h4>1. Select single node which be first selected.</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getNodes();
+if (nodes.length>0) {
+ treeObj.selectNode(nodes[0]);
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.setChkDisabled.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.setChkDisabled.html index 1d645e8f..9602c790 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.setChkDisabled.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.setChkDisabled.html @@ -1,44 +1,44 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(node, disabled, inheritParent, inheritChildren)</span><span class="path">zTreeObj.</span>setChkDisabled</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Set the node's checkbox or radio is disabled or remove disabled. It is valid when <span class="highlight_red">[setting.check.enable = true]</span></p> - <p class="highlight_red">1. After the node's checkbox / radio is disabled, it can not be checked or unchecked, but it can affect the half-checked status of the parent node.</p> - <p class="highlight_red">2. Please do not directly modify the 'chkDisabled' attribute of the loaded node.</p> - <p class="highlight_red">3. Please use zTree object to executing the method.</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which need to be checked or unchecked.</p> - <p class="highlight_red">Please ensure that this data object is an internal node data object in zTree.</p> - <h4 class="topLine"><b>disabled</b><span>Boolean</span></h4> - <p>disabled = true means: the node's checkbox / radio is disabled.</p> - <p>disabled = false means: the node's checkbox / radio is removed disabled.</p> - <p class="highlight_red">If this parameter is omitted, it is same as disabled = false </p> - <p class="highlight_red">Don't affect the node which 'nochecked' attribute is true.</p> - <h4 class="topLine"><b>inheritParent</b><span>Boolean</span></h4> - <p>inheritParent = true means: all parent nodes's disabled status will be same as this node.</p> - <p>inheritParent = false means: all parent nodes's disabled status will be not affected.</p> - <p class="highlight_red">If this parameter is omitted, it is same as 'inheritParent = false'</p> - <h4 class="topLine"><b>inheritChildren</b><span>Boolean</span></h4> - <p>inheritChildren = true means: all child nodes's disabled status will be same as this node.</p> - <p>inheritChildren = false means: all child nodes's disabled status will be not affected.</p> - <p class="highlight_red">If this parameter is omitted, it is same as 'inheritChildren = false'</p> - <h4 class="topLine"><b>Return </b><span>none</span></h4> - <p>no return value</p> - </div> - <h3>Examples of function</h3> - <h4>1. Set the selected nodes's checkbox / radio to be disabled.</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getSelectedNodes(); -for (var i=0, l=nodes.length; i < l; i++) { - treeObj.setChkDisabled(nodes[i], true); -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(node, disabled, inheritParent, inheritChildren)</span><span class="path">zTreeObj.</span>setChkDisabled</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.excheck</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Set the node's checkbox or radio is disabled or remove disabled. It is valid when <span class="highlight_red">[setting.check.enable = true]</span></p>
+ <p class="highlight_red">1. After the node's checkbox / radio is disabled, it can not be checked or unchecked, but it can affect the half-checked status of the parent node.</p>
+ <p class="highlight_red">2. Please do not directly modify the 'chkDisabled' attribute of the loaded node.</p>
+ <p class="highlight_red">3. Please use zTree object to executing the method.</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which need to be checked or unchecked.</p>
+ <p class="highlight_red">Please ensure that this data object is an internal node data object in zTree.</p>
+ <h4 class="topLine"><b>disabled</b><span>Boolean</span></h4>
+ <p>disabled = true means: the node's checkbox / radio is disabled.</p>
+ <p>disabled = false means: the node's checkbox / radio is removed disabled.</p>
+ <p class="highlight_red">If this parameter is omitted, it is same as disabled = false </p>
+ <p class="highlight_red">Don't affect the node which 'nochecked' attribute is true.</p>
+ <h4 class="topLine"><b>inheritParent</b><span>Boolean</span></h4>
+ <p>inheritParent = true means: all parent nodes's disabled status will be same as this node.</p>
+ <p>inheritParent = false means: all parent nodes's disabled status will be not affected.</p>
+ <p class="highlight_red">If this parameter is omitted, it is same as 'inheritParent = false'</p>
+ <h4 class="topLine"><b>inheritChildren</b><span>Boolean</span></h4>
+ <p>inheritChildren = true means: all child nodes's disabled status will be same as this node.</p>
+ <p>inheritChildren = false means: all child nodes's disabled status will be not affected.</p>
+ <p class="highlight_red">If this parameter is omitted, it is same as 'inheritChildren = false'</p>
+ <h4 class="topLine"><b>Return </b><span>none</span></h4>
+ <p>no return value</p>
+ </div>
+ <h3>Examples of function</h3>
+ <h4>1. Set the selected nodes's checkbox / radio to be disabled.</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getSelectedNodes();
+for (var i=0, l=nodes.length; i < l; i++) {
+ treeObj.setChkDisabled(nodes[i], true);
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.setEditable.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.setEditable.html index a44b0ff6..85f7bc0e 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.setEditable.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.setEditable.html @@ -1,27 +1,27 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(editable)</span><span class="path">zTreeObj.</span>setEditable</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Edit mode and normal mode switch.</p> - <p class="highlight_red">To use edit mode, please set the attributes in 'setting.edit'</p> - <p class="highlight_red">Please use zTree object to executing the method.</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>editable</b><span>Boolean</span></h4> - <p>true means: set zTree to edit mode.</p> - <p>false means: set zTree to normal mode.</p> - <h4><b>Return </b><span>none</span></h4> - <p>no return value</p> - </div> - <h3>Examples of function</h3> - <h4>1. set zTree to edit mode</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -treeObj.setEditable(true); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(editable)</span><span class="path">zTreeObj.</span>setEditable</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exedit</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Edit mode and normal mode switch.</p>
+ <p class="highlight_red">To use edit mode, please set the attributes in 'setting.edit'</p>
+ <p class="highlight_red">Please use zTree object to executing the method.</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>editable</b><span>Boolean</span></h4>
+ <p>true means: set zTree to edit mode.</p>
+ <p>false means: set zTree to normal mode.</p>
+ <h4><b>Return </b><span>none</span></h4>
+ <p>no return value</p>
+ </div>
+ <h3>Examples of function</h3>
+ <h4>1. set zTree to edit mode</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+treeObj.setEditable(true);
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.setting.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.setting.html index d80c139a..270d7af8 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.setting.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.setting.html @@ -1,14 +1,14 @@ -<div class="apiDetail"> -<div> - <h2><span>JSON</span><span class="path">zTreeObj.</span>setting</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>The configuration data of zTree, refer to "<span class="highlight_red">setting details</span>" </p> - <p class="highlight_red">zTree v3.x to cancel the original operation setting method, so users can modify.</p> - <p class="highlight_red">Note: Modify the parameters which affect zTree initialization will not work, please first understand the different attributes.</p> - </div> - </div> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>JSON</span><span class="path">zTreeObj.</span>setting</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>The configuration data of zTree, refer to "<span class="highlight_red">setting details</span>" </p>
+ <p class="highlight_red">zTree v3.x to cancel the original operation setting method, so users can modify.</p>
+ <p class="highlight_red">Note: Modify the parameters which affect zTree initialization will not work, please first understand the different attributes.</p>
+ </div>
+ </div>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.showNode.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.showNode.html index 53b5cbda..8dd98916 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.showNode.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.showNode.html @@ -1,31 +1,31 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeNode)</span><span class="path">zTreeObj.</span>showNode</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exhide</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>To hide any node which be hidden.</p> - <p class="highlight_red">1. This feature can't support the 'exedit' feature, so please don't use this feature in edit mode.</p> - <p class="highlight_red">2. If you hide or show the nodes, it will effect the 'isFirstNode' and 'isLastNode' attribute.</p> - <p class="highlight_red">3. Please use zTree object to executing the method.</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeNodes</b><span>Array(JSON)</span></h4> - <p>JSON data object of the node which will be shown</p> - <p class="highlight_red">Please ensure that this data object is an internal node data object in zTree.</p> - <h4 class="topLine"><b>Retrun </b><span>none</span></h4> - <p>no return value</p> - </div> - <h3>Examples of function</h3> - <h4>1. show someone node which be hidden.</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var node = treeObj.getNodeByParam("isHidden", true); -if (node) { - treeObj.showNode(node); -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeNode)</span><span class="path">zTreeObj.</span>showNode</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exhide</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>To hide any node which be hidden.</p>
+ <p class="highlight_red">1. This feature can't support the 'exedit' feature, so please don't use this feature in edit mode.</p>
+ <p class="highlight_red">2. If you hide or show the nodes, it will effect the 'isFirstNode' and 'isLastNode' attribute.</p>
+ <p class="highlight_red">3. Please use zTree object to executing the method.</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeNodes</b><span>Array(JSON)</span></h4>
+ <p>JSON data object of the node which will be shown</p>
+ <p class="highlight_red">Please ensure that this data object is an internal node data object in zTree.</p>
+ <h4 class="topLine"><b>Retrun </b><span>none</span></h4>
+ <p>no return value</p>
+ </div>
+ <h3>Examples of function</h3>
+ <h4>1. show someone node which be hidden.</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var node = treeObj.getNodeByParam("isHidden", true);
+if (node) {
+ treeObj.showNode(node);
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.showNodes.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.showNodes.html index c0c926c3..95c6dafe 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.showNodes.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.showNodes.html @@ -1,29 +1,29 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeNodes)</span><span class="path">zTreeObj.</span>showNodes</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exhide</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>To show a group of nodes which be hidden.</p> - <p class="highlight_red">1. This feature can't support the 'exedit' feature, so please don't use this feature in edit mode.</p> - <p class="highlight_red">2. If you hide or show the nodes, it will effect the 'isFirstNode' and 'isLastNode' attribute.</p> - <p class="highlight_red">3. Please use zTree object to executing the method.</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeNodes</b><span>Array(JSON)</span></h4> - <p>the array of the nodes which will be shown</p> - <p class="highlight_red">Please ensure that this data object is an internal node data object in zTree.</p> - <h4 class="topLine"><b>Retrun </b><span>none</span></h4> - <p>no return value</p> - </div> - <h3>Examples of function</h3> - <h4>1. show all of the nodes which be hidden.</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getNodesByParam("isHidden", true); -treeObj.showNodes(nodes); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeNodes)</span><span class="path">zTreeObj.</span>showNodes</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.exhide</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>To show a group of nodes which be hidden.</p>
+ <p class="highlight_red">1. This feature can't support the 'exedit' feature, so please don't use this feature in edit mode.</p>
+ <p class="highlight_red">2. If you hide or show the nodes, it will effect the 'isFirstNode' and 'isLastNode' attribute.</p>
+ <p class="highlight_red">3. Please use zTree object to executing the method.</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeNodes</b><span>Array(JSON)</span></h4>
+ <p>the array of the nodes which will be shown</p>
+ <p class="highlight_red">Please ensure that this data object is an internal node data object in zTree.</p>
+ <h4 class="topLine"><b>Retrun </b><span>none</span></h4>
+ <p>no return value</p>
+ </div>
+ <h3>Examples of function</h3>
+ <h4>1. show all of the nodes which be hidden.</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getNodesByParam("isHidden", true);
+treeObj.showNodes(nodes);
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.transformToArray.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.transformToArray.html index 4b2296d5..31dd2f95 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.transformToArray.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.transformToArray.html @@ -1,27 +1,27 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeNodes)</span><span class="path">zTreeObj.</span>transformToArray</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p></p> - <p>Transform the zTree nodes data into simple array. (To avoid the user to write code to traverse all nodes)</p> - <p class="highlight_red">Please use zTree object to executing the method.</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeNodes</b><span>Array(JSON) / JSON</span></h4> - <p>JSON data object of the node which need to be transformed.</p> - <p>or JSON data objects collection of the nodes which need to be transformed.</p> - <h4 class="topLine"><b>Return </b><span>Array(JSON)</span></h4> - <p>The JSON data objects array of the nodes which be transformed.</p> - </div> - <h3>Examples of function</h3> - <h4>1. Transform the zTree nodes data into simple array.</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.transformToArray(treeObj.getNodes()); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeNodes)</span><span class="path">zTreeObj.</span>transformToArray</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p></p>
+ <p>Transform the zTree nodes data into simple array. (To avoid the user to write code to traverse all nodes)</p>
+ <p class="highlight_red">Please use zTree object to executing the method.</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeNodes</b><span>Array(JSON) / JSON</span></h4>
+ <p>JSON data object of the node which need to be transformed.</p>
+ <p>or JSON data objects collection of the nodes which need to be transformed.</p>
+ <h4 class="topLine"><b>Return </b><span>Array(JSON)</span></h4>
+ <p>The JSON data objects array of the nodes which be transformed.</p>
+ </div>
+ <h3>Examples of function</h3>
+ <h4>1. Transform the zTree nodes data into simple array.</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.transformToArray(treeObj.getNodes());
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.transformTozTreeNodes.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.transformTozTreeNodes.html index 51d4a629..91794ab1 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.transformTozTreeNodes.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.transformTozTreeNodes.html @@ -1,44 +1,44 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(simpleNodes)</span><span class="path">zTreeObj.</span>transformTozTreeNodes</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Transform the simple array into zTree nodes data.</p> - <p class="highlight_red">If you use this method, you must set 'setting.data.simpleData.idKey' and 'setting.data.simpleData.pIdKey' attribute, and let the data are consistent with parent-child relationship.</p> - <p class="highlight_red">Please use zTree object to executing the method.</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>simpleNodes</b><span>Array(JSON) / JSON</span></h4> - <p>JSON data object of the node which need to be transformed.</p> - <p>or JSON data objects array of the nodes which need to be transformed.</p> - <h4 class="topLine"><b>Return </b><span>Array(JSON)</span></h4> - <p>Standard data which zTree use. The child nodes are stored in the parent node's 'children' attribute.</p> - <p class="highlight_red">If simpleNodes is a single JSON, so the return array's length is 1.</p> - </div> - <h3>Examples of function</h3> - <h4>1. Transform the simple array data into zTree nodes format.</h4> - <pre xmlns=""><code>var setting = { - data: { - simpleData: { - enable: true, - idKey: "id", - pIdKey: "pId", - rootPId: 0, - } - } -}; -var simpleNodes = [ - {"id":1, "pId":0, "name":"test1"}, - {"id":11, "pId":1, "name":"test11"}, - {"id":12, "pId":1, "name":"test12"}, - {"id":111, "pId":11, "name":"test111"} -]; -var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.transformTozTreeNodes(simpleNodes); -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(simpleNodes)</span><span class="path">zTreeObj.</span>transformTozTreeNodes</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Transform the simple array into zTree nodes data.</p>
+ <p class="highlight_red">If you use this method, you must set 'setting.data.simpleData.idKey' and 'setting.data.simpleData.pIdKey' attribute, and let the data are consistent with parent-child relationship.</p>
+ <p class="highlight_red">Please use zTree object to executing the method.</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>simpleNodes</b><span>Array(JSON) / JSON</span></h4>
+ <p>JSON data object of the node which need to be transformed.</p>
+ <p>or JSON data objects array of the nodes which need to be transformed.</p>
+ <h4 class="topLine"><b>Return </b><span>Array(JSON)</span></h4>
+ <p>Standard data which zTree use. The child nodes are stored in the parent node's 'children' attribute.</p>
+ <p class="highlight_red">If simpleNodes is a single JSON, so the return array's length is 1.</p>
+ </div>
+ <h3>Examples of function</h3>
+ <h4>1. Transform the simple array data into zTree nodes format.</h4>
+ <pre xmlns=""><code>var setting = {
+ data: {
+ simpleData: {
+ enable: true,
+ idKey: "id",
+ pIdKey: "pId",
+ rootPId: 0,
+ }
+ }
+};
+var simpleNodes = [
+ {"id":1, "pId":0, "name":"test1"},
+ {"id":11, "pId":1, "name":"test11"},
+ {"id":12, "pId":1, "name":"test12"},
+ {"id":111, "pId":11, "name":"test111"}
+];
+var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.transformTozTreeNodes(simpleNodes);
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.updateNode.html b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.updateNode.html index 7639ff41..e19d6007 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.updateNode.html +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/api/en/zTreeObj.updateNode.html @@ -1,37 +1,37 @@ -<div class="apiDetail"> -<div> - <h2><span>Function(treeNode, checkTypeFlag)</span><span class="path">zTreeObj.</span>updateNode</h2> - <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3> - <div class="desc"> - <p></p> - <div class="longdesc"> - <p>Update node data. Primarily used to update the node's DOM.</p> - <p class="highlight_red">1. Can update the attributes for display (e.g. 'name', 'target', 'url', 'icon', 'iconSkin', 'checked', 'nocheck'), do not update the other attributes. For example: If you need to expand the node, please use expandNode() method, do not modify the 'open' attribute.</p> - <p class="highlight_red">2. Use updateNode() method of zTree can't trigger 'beforeCheck' or 'onCheck' callback function.</p> - <p class="highlight_red">Please use zTree object to executing the method.</p> - </div> - </div> - <h3>Function Parameter Descriptions</h3> - <div class="desc"> - <h4><b>treeNode</b><span>JSON</span></h4> - <p>JSON data object of the node which need to update.</p> - <p class="highlight_red">Please ensure that this data object is an internal node data object in zTree.</p> - <h4 class="topLine"><b>checkTypeFlag</b><span>Boolean</span></h4> - <p>checkTypeFlag = true means: According to 'setting.check.chkboxType' attribute automatically check or uncheck the parent and child nodes.</p> - <p>checkTypeFlag = false means: only check or uncheck this node, don't affect its parent and child nodes.</p> - <p class="highlight_red">This parameter is valid when 'setting.check.enable = true' and 'setting.check.chkStyle = "checkbox"'</p> - <p class="highlight_red">Don't affect the parent and child nodes which 'nochecked' attribute is true.</p> - <h4 class="topLine"><b>Return </b><span>none</span></h4> - <p>no return value</p> - </div> - <h3>Examples of function</h3> - <h4>1. Modify the first selected node's name, and update it.</h4> - <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree"); -var nodes = treeObj.getNodes(); -if (nodes.length>0) { - nodes[0].name = "test"; - treeObj.updateNode(nodes[0]); -} -</code></pre> -</div> +<div class="apiDetail">
+<div>
+ <h2><span>Function(treeNode, checkTypeFlag)</span><span class="path">zTreeObj.</span>updateNode</h2>
+ <h3>Overview<span class="h3_info">[ depends on <span class="highlight_green">jquery.ztree.core</span> js ]</span></h3>
+ <div class="desc">
+ <p></p>
+ <div class="longdesc">
+ <p>Update node data. Primarily used to update the node's DOM.</p>
+ <p class="highlight_red">1. Can update the attributes for display (e.g. 'name', 'target', 'url', 'icon', 'iconSkin', 'checked', 'nocheck'), do not update the other attributes. For example: If you need to expand the node, please use expandNode() method, do not modify the 'open' attribute.</p>
+ <p class="highlight_red">2. Use updateNode() method of zTree can't trigger 'beforeCheck' or 'onCheck' callback function.</p>
+ <p class="highlight_red">Please use zTree object to executing the method.</p>
+ </div>
+ </div>
+ <h3>Function Parameter Descriptions</h3>
+ <div class="desc">
+ <h4><b>treeNode</b><span>JSON</span></h4>
+ <p>JSON data object of the node which need to update.</p>
+ <p class="highlight_red">Please ensure that this data object is an internal node data object in zTree.</p>
+ <h4 class="topLine"><b>checkTypeFlag</b><span>Boolean</span></h4>
+ <p>checkTypeFlag = true means: According to 'setting.check.chkboxType' attribute automatically check or uncheck the parent and child nodes.</p>
+ <p>checkTypeFlag = false means: only check or uncheck this node, don't affect its parent and child nodes.</p>
+ <p class="highlight_red">This parameter is valid when 'setting.check.enable = true' and 'setting.check.chkStyle = "checkbox"'</p>
+ <p class="highlight_red">Don't affect the parent and child nodes which 'nochecked' attribute is true.</p>
+ <h4 class="topLine"><b>Return </b><span>none</span></h4>
+ <p>no return value</p>
+ </div>
+ <h3>Examples of function</h3>
+ <h4>1. Modify the first selected node's name, and update it.</h4>
+ <pre xmlns=""><code>var treeObj = $.fn.zTree.getZTreeObj("tree");
+var nodes = treeObj.getNodes();
+if (nodes.length>0) {
+ nodes[0].name = "test";
+ treeObj.updateNode(nodes[0]);
+}
+</code></pre>
+</div>
</div>
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/css/demo.css b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/css/demo.css index 84060069..e820dd9a 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/css/demo.css +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/css/demo.css @@ -1,33 +1,33 @@ -/* html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td { - margin: 0;padding: 0;border: 0;outline: 0;font-weight: inherit;font-style: inherit;font-size: 100%;font-family: inherit;vertical-align: baseline;} -body {color: #2f332a;font: 15px/21px Arial, Helvetica, simsun, sans-serif;background: #f0f6e4 \9;} -h1, h2, h3, h4, h5, h6 {color: #2f332a;font-weight: bold;font-family: Helvetica, Arial, sans-serif;padding-bottom: 5px;} -h1 {font-size: 24px;line-height: 34px;text-align: center;} -h2 {font-size: 14px;line-height: 24px;padding-top: 5px;} -h6 {font-weight: normal;font-size: 12px;letter-spacing: 1px;line-height: 24px;text-align: center;} */ -/* a {color:#3C6E31;text-decoration: underline;} -a:hover {background-color:#3C6E31;color:white;} */ -input.radio {margin: 0 2px 0 8px;} -input.radio.first {margin-left:0;} -input.empty {color: lightgray;} -code {color: #2f332a;} -.highlight_red {color:#A60000;} -.highlight_green {color:#A7F43D;} -li {list-style: circle;font-size: 12px;} -li.title {list-style: none;} -ul.list {margin-left: 17px;} - -div.content_wrap {width: 600px;height:380px;} -div.content_wrap div.left{float: left;width: 250px;} -div.content_wrap div.right{float: right;width: 340px;} -div.zTreeDemoBackground {width:250px;height:362px;text-align:left;} - -ul.ztree {margin-top: 10px;border: 1px solid #eee;/*background: #f0f6e4;width:220px;height:360px;*/overflow-y:auto;overflow-x:auto;/*ict*/padding: 25px;padding-right: 50px;} -ul.log {border: 1px solid #617775;background: #f0f6e4;width:300px;height:170px;overflow: hidden;} -ul.log.small {height:45px;} -ul.log li {color: #666666;list-style: none;padding-left: 10px;} -ul.log li.dark {background-color: #E3E3E3;} - -/* ruler */ -div.ruler {height:20px; width:220px; background-color:#f0f6e4;border: 1px solid #333; margin-bottom: 5px; cursor: pointer} +/* html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
+ margin: 0;padding: 0;border: 0;outline: 0;font-weight: inherit;font-style: inherit;font-size: 100%;font-family: inherit;vertical-align: baseline;}
+body {color: #2f332a;font: 15px/21px Arial, Helvetica, simsun, sans-serif;background: #f0f6e4 \9;}
+h1, h2, h3, h4, h5, h6 {color: #2f332a;font-weight: bold;font-family: Helvetica, Arial, sans-serif;padding-bottom: 5px;}
+h1 {font-size: 24px;line-height: 34px;text-align: center;}
+h2 {font-size: 14px;line-height: 24px;padding-top: 5px;}
+h6 {font-weight: normal;font-size: 12px;letter-spacing: 1px;line-height: 24px;text-align: center;} */
+/* a {color:#3C6E31;text-decoration: underline;}
+a:hover {background-color:#3C6E31;color:white;} */
+input.radio {margin: 0 2px 0 8px;}
+input.radio.first {margin-left:0;}
+input.empty {color: lightgray;}
+code {color: #2f332a;}
+.highlight_red {color:#A60000;}
+.highlight_green {color:#A7F43D;}
+li {list-style: circle;font-size: 12px;}
+li.title {list-style: none;}
+ul.list {margin-left: 17px;}
+
+div.content_wrap {width: 600px;height:380px;}
+div.content_wrap div.left{float: left;width: 250px;}
+div.content_wrap div.right{float: right;width: 340px;}
+div.zTreeDemoBackground {width:250px;height:362px;text-align:left;}
+
+ul.ztree {margin-top: 10px;border: 1px solid #eee;/*background: #f0f6e4;width:220px;height:360px;*/overflow-y:auto;overflow-x:auto;/*ict*/padding: 25px;padding-right: 50px;}
+ul.log {border: 1px solid #617775;background: #f0f6e4;width:300px;height:170px;overflow: hidden;}
+ul.log.small {height:45px;}
+ul.log li {color: #666666;list-style: none;padding-left: 10px;}
+ul.log li.dark {background-color: #E3E3E3;}
+
+/* ruler */
+div.ruler {height:20px; width:220px; background-color:#f0f6e4;border: 1px solid #333; margin-bottom: 5px; cursor: pointer}
div.ruler div.cursor {height:20px; width:30px; background-color:#3C6E31; color:white; text-align: right; padding-right: 5px; cursor: pointer}
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/css/zTreeStyle/zTreeStyle.css b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/css/zTreeStyle/zTreeStyle.css index d40353f8..572842ec 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/css/zTreeStyle/zTreeStyle.css +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/css/zTreeStyle/zTreeStyle.css @@ -1,107 +1,107 @@ -/*------------------------------------- -zTree Style - -version: 3.4 -author: Hunter.z -email: hunter.z@263.net -website: http://code.google.com/p/jquerytree/ - --------------------------------------*/ - -.ztree * {padding:0; margin:0; font-size:14px; font-family: Verdana, Arial, Helvetica, AppleGothic, sans-serif} -.ztree {margin:0; padding:5px; color:#333; /*overflow-x: auto;*/ overflow-x: visible;} -.ztree li{padding:0; margin:0; list-style:none; line-height:14px; text-align:left; white-space:nowrap; outline:0} -.ztree li ul{ margin:0; padding:0 0 0 18px} -.ztree li ul.line{ background:url(./img/line_conn.gif) 0 0 repeat-y;} - -.ztree li a {padding:1px 3px 0 0; margin:0; cursor:pointer; height:30px; color:#333; background-color: transparent; - text-decoration:none; vertical-align:top; display: inline-block; - /*ict*/width:100%; - background: #fff; - border: 1px solid #eeeeee; - color: #606060; - padding: 10px ; - padding-top: 5px; - padding-right:10%; -} -.ztree li a:hover {text-decoration:underline} -.ztree li a.curSelectedNode {padding-top:5px; background-color:#e7f2f9; color:#2a2a2a; height:28px; border:1px #accbdd solid; opacity:0.8;} -.ztree li a.curSelectedNode_Edit {padding-top:0px; background-color:#e7f2f9; color:#2a2a2a; height:16px; border:1px #accbdd solid; opacity:0.8;} -.ztree li a.tmpTargetNode_inner {padding-top:5px; background-color:#316AC5; color:white; height:26px; border:1px #316AC5 solid; - opacity:0.8; filter:alpha(opacity=80)} -.ztree li a.tmpTargetNode_prev {} -.ztree li a.tmpTargetNode_next {} -.ztree li a input.rename {height:14px; width:80px; padding:0; margin:0; - font-size:12px; border:1px #7EC4CC solid; *border:0px} -.ztree li span {line-height:16px; margin-right:2px} -.ztree li span.button {line-height:0; margin:0; width:16px; height:16px; display: inline-block; vertical-align:middle; - border:0 none; cursor: pointer;outline:none; - background-color:transparent; background-repeat:no-repeat; background-attachment: scroll; - background-image:url("./img/zTreeStandard.png"); *background-image:url("./img/zTreeStandard.gif")} - -.ztree li span.button.chk {width:13px; height:13px; margin:0 3px 0 0; cursor: auto} -.ztree li span.button.chk.checkbox_false_full {background-position:0 0} -.ztree li span.button.chk.checkbox_false_full_focus {background-position:0 -14px} -.ztree li span.button.chk.checkbox_false_part {background-position:0 -28px} -.ztree li span.button.chk.checkbox_false_part_focus {background-position:0 -42px} -.ztree li span.button.chk.checkbox_false_disable {background-position:0 -56px} -.ztree li span.button.chk.checkbox_true_full {background-position:-14px 0} -.ztree li span.button.chk.checkbox_true_full_focus {background-position:-14px -14px} -.ztree li span.button.chk.checkbox_true_part {background-position:-14px -28px} -.ztree li span.button.chk.checkbox_true_part_focus {background-position:-14px -42px} -.ztree li span.button.chk.checkbox_true_disable {background-position:-14px -56px} -.ztree li span.button.chk.radio_false_full {background-position:-28px 0} -.ztree li span.button.chk.radio_false_full_focus {background-position:-28px -14px} -.ztree li span.button.chk.radio_false_part {background-position:-28px -28px} -.ztree li span.button.chk.radio_false_part_focus {background-position:-28px -42px} -.ztree li span.button.chk.radio_false_disable {background-position:-28px -56px} -.ztree li span.button.chk.radio_true_full {background-position:-42px 0} -.ztree li span.button.chk.radio_true_full_focus {background-position:-42px -14px} -.ztree li span.button.chk.radio_true_part {background-position:-42px -28px} -.ztree li span.button.chk.radio_true_part_focus {background-position:-42px -42px} -.ztree li span.button.chk.radio_true_disable {background-position:-42px -56px} - -.ztree li span.button.switch {width:18px; height:18px} -.ztree li span.button.root_open{background-position:-92px -54px} -.ztree li span.button.root_close{background-position:-74px -54px} -.ztree li span.button.roots_open{background-position:-92px 0} -.ztree li span.button.roots_close{background-position:-74px 0} -.ztree li span.button.center_open{background-position:-92px -18px} -.ztree li span.button.center_close{background-position:-74px -18px} -.ztree li span.button.bottom_open{background-position:-92px -36px} -.ztree li span.button.bottom_close{background-position:-74px -36px} -.ztree li span.button.noline_open{background-position:-92px -72px} -.ztree li span.button.noline_close{background-position:-74px -72px} -.ztree li span.button.root_docu{ background:none;} -.ztree li span.button.roots_docu{background-position:-56px 0} -.ztree li span.button.center_docu{background-position:-56px -18px} -.ztree li span.button.bottom_docu{background-position:-56px -36px} -.ztree li span.button.noline_docu{ background:none;} - -.ztree li span.button.ico_open{margin-right:2px; background-position:-110px -16px; vertical-align:top; *vertical-align:middle} -.ztree li span.button.ico_close{margin-right:2px; background-position:-110px 0; vertical-align:top; *vertical-align:middle} -.ztree li span.button.ico_docu{margin-right:2px; background-position:-110px -32px; vertical-align:top; *vertical-align:middle} -/*ict*/ -.ztree li span.button.add {margin-left:2px; /* margin-right: -1px; */ margin-right: 2px; background-position:-144px 0; vertical-align:top; *vertical-align:middle;float: right;} -.ztree li span.button.edit {margin-right:2px; background-position:-110px -48px; vertical-align:top; *vertical-align:middle;float: right;} -.ztree li span.button.remove {margin-right:2px; background-position:-110px -64px; vertical-align:top; *vertical-align:middle;float: right;} - -.ztree li span.button.ico_loading{margin-right:2px; background:url(./img/loading.gif) no-repeat scroll 0 0 transparent; vertical-align:top; *vertical-align:middle} - -ul.tmpTargetzTree {background-color:#FFE6B0; opacity:0.8; filter:alpha(opacity=80)} - -span.tmpzTreeMove_arrow {width:16px; height:16px; display: inline-block; padding:0; margin:2px 0 0 1px; border:0 none; position:absolute; - background-color:transparent; background-repeat:no-repeat; background-attachment: scroll; - background-position:-110px -80px; background-image:url("./img/zTreeStandard.png"); *background-image:url("./img/zTreeStandard.gif")} - -ul.ztree.zTreeDragUL {margin:0; padding:0; position:absolute; width:auto; height:auto;overflow:hidden; background-color:#cfcfcf; border:1px #00B83F dotted; opacity:0.8; filter:alpha(opacity=80)} -.zTreeMask {z-index:10000; background-color:#cfcfcf; opacity:0.0; filter:alpha(opacity=0); position:absolute} - -/* level style*/ -/*.ztree li span.button.level0 { - display:none; -} -.ztree li ul.level0 { - padding:0; - background:none; +/*-------------------------------------
+zTree Style
+
+version: 3.4
+author: Hunter.z
+email: hunter.z@263.net
+website: http://code.google.com/p/jquerytree/
+
+-------------------------------------*/
+
+.ztree * {padding:0; margin:0; font-size:14px; font-family: Verdana, Arial, Helvetica, AppleGothic, sans-serif}
+.ztree {margin:0; padding:5px; color:#333; /*overflow-x: auto;*/ overflow-x: visible;}
+.ztree li{padding:0; margin:0; list-style:none; line-height:14px; text-align:left; white-space:nowrap; outline:0}
+.ztree li ul{ margin:0; padding:0 0 0 18px}
+.ztree li ul.line{ background:url(./img/line_conn.gif) 0 0 repeat-y;}
+
+.ztree li a {padding:1px 3px 0 0; margin:0; cursor:pointer; height:30px; color:#333; background-color: transparent;
+ text-decoration:none; vertical-align:top; display: inline-block;
+ /*ict*/width:100%;
+ background: #fff;
+ border: 1px solid #eeeeee;
+ color: #606060;
+ padding: 10px ;
+ padding-top: 5px;
+ padding-right:10%;
+}
+.ztree li a:hover {text-decoration:underline}
+.ztree li a.curSelectedNode {padding-top:5px; background-color:#e7f2f9; color:#2a2a2a; height:28px; border:1px #accbdd solid; opacity:0.8;}
+.ztree li a.curSelectedNode_Edit {padding-top:0px; background-color:#e7f2f9; color:#2a2a2a; height:16px; border:1px #accbdd solid; opacity:0.8;}
+.ztree li a.tmpTargetNode_inner {padding-top:5px; background-color:#316AC5; color:white; height:26px; border:1px #316AC5 solid;
+ opacity:0.8; filter:alpha(opacity=80)}
+.ztree li a.tmpTargetNode_prev {}
+.ztree li a.tmpTargetNode_next {}
+.ztree li a input.rename {height:14px; width:80px; padding:0; margin:0;
+ font-size:12px; border:1px #7EC4CC solid; *border:0px}
+.ztree li span {line-height:16px; margin-right:2px}
+.ztree li span.button {line-height:0; margin:0; width:16px; height:16px; display: inline-block; vertical-align:middle;
+ border:0 none; cursor: pointer;outline:none;
+ background-color:transparent; background-repeat:no-repeat; background-attachment: scroll;
+ background-image:url("./img/zTreeStandard.png"); *background-image:url("./img/zTreeStandard.gif")}
+
+.ztree li span.button.chk {width:13px; height:13px; margin:0 3px 0 0; cursor: auto}
+.ztree li span.button.chk.checkbox_false_full {background-position:0 0}
+.ztree li span.button.chk.checkbox_false_full_focus {background-position:0 -14px}
+.ztree li span.button.chk.checkbox_false_part {background-position:0 -28px}
+.ztree li span.button.chk.checkbox_false_part_focus {background-position:0 -42px}
+.ztree li span.button.chk.checkbox_false_disable {background-position:0 -56px}
+.ztree li span.button.chk.checkbox_true_full {background-position:-14px 0}
+.ztree li span.button.chk.checkbox_true_full_focus {background-position:-14px -14px}
+.ztree li span.button.chk.checkbox_true_part {background-position:-14px -28px}
+.ztree li span.button.chk.checkbox_true_part_focus {background-position:-14px -42px}
+.ztree li span.button.chk.checkbox_true_disable {background-position:-14px -56px}
+.ztree li span.button.chk.radio_false_full {background-position:-28px 0}
+.ztree li span.button.chk.radio_false_full_focus {background-position:-28px -14px}
+.ztree li span.button.chk.radio_false_part {background-position:-28px -28px}
+.ztree li span.button.chk.radio_false_part_focus {background-position:-28px -42px}
+.ztree li span.button.chk.radio_false_disable {background-position:-28px -56px}
+.ztree li span.button.chk.radio_true_full {background-position:-42px 0}
+.ztree li span.button.chk.radio_true_full_focus {background-position:-42px -14px}
+.ztree li span.button.chk.radio_true_part {background-position:-42px -28px}
+.ztree li span.button.chk.radio_true_part_focus {background-position:-42px -42px}
+.ztree li span.button.chk.radio_true_disable {background-position:-42px -56px}
+
+.ztree li span.button.switch {width:18px; height:18px}
+.ztree li span.button.root_open{background-position:-92px -54px}
+.ztree li span.button.root_close{background-position:-74px -54px}
+.ztree li span.button.roots_open{background-position:-92px 0}
+.ztree li span.button.roots_close{background-position:-74px 0}
+.ztree li span.button.center_open{background-position:-92px -18px}
+.ztree li span.button.center_close{background-position:-74px -18px}
+.ztree li span.button.bottom_open{background-position:-92px -36px}
+.ztree li span.button.bottom_close{background-position:-74px -36px}
+.ztree li span.button.noline_open{background-position:-92px -72px}
+.ztree li span.button.noline_close{background-position:-74px -72px}
+.ztree li span.button.root_docu{ background:none;}
+.ztree li span.button.roots_docu{background-position:-56px 0}
+.ztree li span.button.center_docu{background-position:-56px -18px}
+.ztree li span.button.bottom_docu{background-position:-56px -36px}
+.ztree li span.button.noline_docu{ background:none;}
+
+.ztree li span.button.ico_open{margin-right:2px; background-position:-110px -16px; vertical-align:top; *vertical-align:middle}
+.ztree li span.button.ico_close{margin-right:2px; background-position:-110px 0; vertical-align:top; *vertical-align:middle}
+.ztree li span.button.ico_docu{margin-right:2px; background-position:-110px -32px; vertical-align:top; *vertical-align:middle}
+/*ict*/
+.ztree li span.button.add {margin-left:2px; /* margin-right: -1px; */ margin-right: 2px; background-position:-144px 0; vertical-align:top; *vertical-align:middle;float: right;}
+.ztree li span.button.edit {margin-right:2px; background-position:-110px -48px; vertical-align:top; *vertical-align:middle;float: right;}
+.ztree li span.button.remove {margin-right:2px; background-position:-110px -64px; vertical-align:top; *vertical-align:middle;float: right;}
+
+.ztree li span.button.ico_loading{margin-right:2px; background:url(./img/loading.gif) no-repeat scroll 0 0 transparent; vertical-align:top; *vertical-align:middle}
+
+ul.tmpTargetzTree {background-color:#FFE6B0; opacity:0.8; filter:alpha(opacity=80)}
+
+span.tmpzTreeMove_arrow {width:16px; height:16px; display: inline-block; padding:0; margin:2px 0 0 1px; border:0 none; position:absolute;
+ background-color:transparent; background-repeat:no-repeat; background-attachment: scroll;
+ background-position:-110px -80px; background-image:url("./img/zTreeStandard.png"); *background-image:url("./img/zTreeStandard.gif")}
+
+ul.ztree.zTreeDragUL {margin:0; padding:0; position:absolute; width:auto; height:auto;overflow:hidden; background-color:#cfcfcf; border:1px #00B83F dotted; opacity:0.8; filter:alpha(opacity=80)}
+.zTreeMask {z-index:10000; background-color:#cfcfcf; opacity:0.0; filter:alpha(opacity=0); position:absolute}
+
+/* level style*/
+/*.ztree li span.button.level0 {
+ display:none;
+}
+.ztree li ul.level0 {
+ padding:0;
+ background:none;
}*/
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/js/jquery.ztree.all.js b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/js/jquery.ztree.all.js index 28bca45a..02bb6d22 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/js/jquery.ztree.all.js +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/js/jquery.ztree.all.js @@ -1,3506 +1,3506 @@ - -/* - * JQuery zTree core v3.5.16 - * http://zTree.me/ - * - * Copyright (c) 2010 Hunter.z - * - * Licensed same as jquery - MIT License - * http://www.opensource.org/licenses/mit-license.php - * - * email: hunter.z@263.net - * Date: 2014-03-09 - */ -(function($){ - var settings = {}, roots = {}, caches = {}, - //default consts of core - _consts = { - className: { - BUTTON: "button", - LEVEL: "level", - ICO_LOADING: "ico_loading", - SWITCH: "switch" - }, - event: { - NODECREATED: "ztree_nodeCreated", - CLICK: "ztree_click", - EXPAND: "ztree_expand", - COLLAPSE: "ztree_collapse", - ASYNC_SUCCESS: "ztree_async_success", - ASYNC_ERROR: "ztree_async_error", - REMOVE: "ztree_remove" - }, - id: { - A: "_a", - ICON: "_ico", - SPAN: "_span", - SWITCH: "_switch", - UL: "_ul" - }, - line: { - ROOT: "root", - ROOTS: "roots", - CENTER: "center", - BOTTOM: "bottom", - NOLINE: "noline", - LINE: "line" - }, - folder: { - OPEN: "open", - CLOSE: "close", - DOCU: "docu" - }, - node: { - CURSELECTED: "curSelectedNode" - } - }, - //default setting of core - _setting = { - treeId: "", - treeObj: null, - view: { - addDiyDom: null, - autoCancelSelected: true, - dblClickExpand: true, - expandSpeed: "fast", - fontCss: {}, - nameIsHTML: false, - selectedMulti: true, - showIcon: true, - showLine: true, - showTitle: true, - txtSelectedEnable: false - }, - data: { - key: { - children: "children", - name: "name", - title: "", - url: "url" - }, - simpleData: { - enable: false, - idKey: "id", - pIdKey: "pId", - rootPId: null - }, - keep: { - parent: false, - leaf: false - } - }, - async: { - enable: false, - 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 - } - }, - //default root of core - //zTree use root to save full data - _initRoot = function (setting) { - var r = data.getRoot(setting); - if (!r) { - r = {}; - data.setRoot(setting, r); - } - r[setting.data.key.children] = []; - r.expandTriggerFlag = false; - r.curSelectedList = []; - r.noSelection = true; - r.createdNodes = []; - r.zId = 0; - r._ver = (new Date()).getTime(); - }, - //default cache of core - _initCache = function(setting) { - var c = data.getCache(setting); - if (!c) { - c = {}; - data.setCache(setting, c); - } - c.nodes = []; - c.doms = []; - }, - //default bindEvent of core - _bindEvent = function(setting) { - var o = setting.treeObj, - c = consts.event; - o.bind(c.NODECREATED, function (event, treeId, node) { - tools.apply(setting.callback.onNodeCreated, [event, treeId, node]); - }); - - o.bind(c.CLICK, function (event, srcEvent, treeId, node, clickFlag) { - tools.apply(setting.callback.onClick, [srcEvent, treeId, node, clickFlag]); - }); - - o.bind(c.EXPAND, function (event, treeId, node) { - tools.apply(setting.callback.onExpand, [event, treeId, node]); - }); - - o.bind(c.COLLAPSE, function (event, treeId, node) { - tools.apply(setting.callback.onCollapse, [event, treeId, node]); - }); - - o.bind(c.ASYNC_SUCCESS, function (event, treeId, node, msg) { - tools.apply(setting.callback.onAsyncSuccess, [event, treeId, node, msg]); - }); - - o.bind(c.ASYNC_ERROR, function (event, treeId, node, XMLHttpRequest, textStatus, errorThrown) { - tools.apply(setting.callback.onAsyncError, [event, treeId, node, XMLHttpRequest, textStatus, errorThrown]); - }); - - o.bind(c.REMOVE, function (event, treeId, treeNode) { - tools.apply(setting.callback.onRemove, [event, treeId, treeNode]); - }); - }, - _unbindEvent = function(setting) { - var o = setting.treeObj, - c = consts.event; - o.unbind(c.NODECREATED) - .unbind(c.CLICK) - .unbind(c.EXPAND) - .unbind(c.COLLAPSE) - .unbind(c.ASYNC_SUCCESS) - .unbind(c.ASYNC_ERROR) - .unbind(c.REMOVE); - }, - //default event proxy of core - _eventProxy = function(event) { - var target = event.target, - setting = data.getSetting(event.data.treeId), - tId = "", node = null, - nodeEventType = "", treeEventType = "", - nodeEventCallback = null, treeEventCallback = null, - tmp = null; - - if (tools.eqs(event.type, "mousedown")) { - treeEventType = "mousedown"; - } else if (tools.eqs(event.type, "mouseup")) { - treeEventType = "mouseup"; - } else if (tools.eqs(event.type, "contextmenu")) { - treeEventType = "contextmenu"; - } else if (tools.eqs(event.type, "click")) { - if (tools.eqs(target.tagName, "span") && target.getAttribute("treeNode"+ consts.id.SWITCH) !== null) { - tId = tools.getNodeMainDom(target).id; - nodeEventType = "switchNode"; - } else { - tmp = tools.getMDom(setting, target, [{tagName:"a", attrName:"treeNode"+consts.id.A}]); - if (tmp) { - tId = tools.getNodeMainDom(tmp).id; - nodeEventType = "clickNode"; - } - } - } else if (tools.eqs(event.type, "dblclick")) { - treeEventType = "dblclick"; - tmp = tools.getMDom(setting, target, [{tagName:"a", attrName:"treeNode"+consts.id.A}]); - if (tmp) { - tId = tools.getNodeMainDom(tmp).id; - nodeEventType = "switchNode"; - } - } - if (treeEventType.length > 0 && tId.length == 0) { - tmp = tools.getMDom(setting, target, [{tagName:"a", attrName:"treeNode"+consts.id.A}]); - if (tmp) {tId = tools.getNodeMainDom(tmp).id;} - } - // event to node - if (tId.length>0) { - node = data.getNodeCache(setting, tId); - switch (nodeEventType) { - case "switchNode" : - if (!node.isParent) { - nodeEventType = ""; - } else if (tools.eqs(event.type, "click") - || (tools.eqs(event.type, "dblclick") && tools.apply(setting.view.dblClickExpand, [setting.treeId, node], setting.view.dblClickExpand))) { - nodeEventCallback = handler.onSwitchNode; - } else { - nodeEventType = ""; - } - break; - case "clickNode" : - nodeEventCallback = handler.onClickNode; - break; - } - } - // event to zTree - switch (treeEventType) { - case "mousedown" : - treeEventCallback = handler.onZTreeMousedown; - break; - case "mouseup" : - treeEventCallback = handler.onZTreeMouseup; - break; - case "dblclick" : - treeEventCallback = handler.onZTreeDblclick; - break; - case "contextmenu" : - treeEventCallback = handler.onZTreeContextmenu; - break; - } - var proxyResult = { - stop: false, - node: node, - nodeEventType: nodeEventType, - nodeEventCallback: nodeEventCallback, - treeEventType: treeEventType, - treeEventCallback: treeEventCallback - }; - return proxyResult - }, - //default init node of core - _initNode = function(setting, level, n, parentNode, isFirstNode, isLastNode, openFlag) { - if (!n) return; - var r = data.getRoot(setting), - childKey = setting.data.key.children; - n.level = level; - n.tId = setting.treeId + "_" + (++r.zId); - n.parentTId = parentNode ? parentNode.tId : null; - n.open = (typeof n.open == "string") ? tools.eqs(n.open, "true") : !!n.open; - if (n[childKey] && n[childKey].length > 0) { - n.isParent = true; - n.zAsync = true; - } else { - n.isParent = (typeof n.isParent == "string") ? tools.eqs(n.isParent, "true") : !!n.isParent; - n.open = (n.isParent && !setting.async.enable) ? n.open : false; - n.zAsync = !n.isParent; - } - n.isFirstNode = isFirstNode; - n.isLastNode = isLastNode; - n.getParentNode = function() {return data.getNodeCache(setting, n.parentTId);}; - n.getPreNode = function() {return data.getPreNode(setting, n);}; - n.getNextNode = function() {return data.getNextNode(setting, n);}; - n.isAjaxing = false; - data.fixPIdKeyValue(setting, n); - }, - _init = { - bind: [_bindEvent], - unbind: [_unbindEvent], - caches: [_initCache], - nodes: [_initNode], - proxys: [_eventProxy], - roots: [_initRoot], - beforeA: [], - afterA: [], - innerBeforeA: [], - innerAfterA: [], - zTreeTools: [] - }, - //method of operate data - data = { - addNodeCache: function(setting, node) { - data.getCache(setting).nodes[data.getNodeCacheId(node.tId)] = node; - }, - getNodeCacheId: function(tId) { - return tId.substring(tId.lastIndexOf("_")+1); - }, - addAfterA: function(afterA) { - _init.afterA.push(afterA); - }, - addBeforeA: function(beforeA) { - _init.beforeA.push(beforeA); - }, - addInnerAfterA: function(innerAfterA) { - _init.innerAfterA.push(innerAfterA); - }, - addInnerBeforeA: function(innerBeforeA) { - _init.innerBeforeA.push(innerBeforeA); - }, - addInitBind: function(bindEvent) { - _init.bind.push(bindEvent); - }, - addInitUnBind: function(unbindEvent) { - _init.unbind.push(unbindEvent); - }, - addInitCache: function(initCache) { - _init.caches.push(initCache); - }, - addInitNode: function(initNode) { - _init.nodes.push(initNode); - }, - addInitProxy: function(initProxy, isFirst) { - if (!!isFirst) { - _init.proxys.splice(0,0,initProxy); - } else { - _init.proxys.push(initProxy); - } - }, - addInitRoot: function(initRoot) { - _init.roots.push(initRoot); - }, - addNodesData: function(setting, parentNode, nodes) { - var childKey = setting.data.key.children; - if (!parentNode[childKey]) parentNode[childKey] = []; - if (parentNode[childKey].length > 0) { - parentNode[childKey][parentNode[childKey].length - 1].isLastNode = false; - view.setNodeLineIcos(setting, parentNode[childKey][parentNode[childKey].length - 1]); - } - parentNode.isParent = true; - parentNode[childKey] = parentNode[childKey].concat(nodes); - }, - addSelectedNode: function(setting, node) { - var root = data.getRoot(setting); - if (!data.isSelectedNode(setting, node)) { - root.curSelectedList.push(node); - } - }, - addCreatedNode: function(setting, node) { - if (!!setting.callback.onNodeCreated || !!setting.view.addDiyDom) { - var root = data.getRoot(setting); - root.createdNodes.push(node); - } - }, - addZTreeTools: function(zTreeTools) { - _init.zTreeTools.push(zTreeTools); - }, - exSetting: function(s) { - $.extend(true, _setting, s); - }, - fixPIdKeyValue: function(setting, node) { - if (setting.data.simpleData.enable) { - node[setting.data.simpleData.pIdKey] = node.parentTId ? node.getParentNode()[setting.data.simpleData.idKey] : setting.data.simpleData.rootPId; - } - }, - getAfterA: function(setting, node, array) { - for (var i=0, j=_init.afterA.length; i<j; i++) { - _init.afterA[i].apply(this, arguments); - } - }, - getBeforeA: function(setting, node, array) { - for (var i=0, j=_init.beforeA.length; i<j; i++) { - _init.beforeA[i].apply(this, arguments); - } - }, - getInnerAfterA: function(setting, node, array) { - for (var i=0, j=_init.innerAfterA.length; i<j; i++) { - _init.innerAfterA[i].apply(this, arguments); - } - }, - getInnerBeforeA: function(setting, node, array) { - for (var i=0, j=_init.innerBeforeA.length; i<j; i++) { - _init.innerBeforeA[i].apply(this, arguments); - } - }, - getCache: function(setting) { - return caches[setting.treeId]; - }, - getNextNode: function(setting, node) { - if (!node) return null; - var childKey = setting.data.key.children, - p = node.parentTId ? node.getParentNode() : data.getRoot(setting); - for (var i=0, l=p[childKey].length-1; i<=l; i++) { - if (p[childKey][i] === node) { - return (i==l ? null : p[childKey][i+1]); - } - } - return null; - }, - getNodeByParam: function(setting, nodes, key, value) { - if (!nodes || !key) return null; - var childKey = setting.data.key.children; - for (var i = 0, l = nodes.length; i < l; i++) { - if (nodes[i][key] == value) { - return nodes[i]; - } - var tmp = data.getNodeByParam(setting, nodes[i][childKey], key, value); - if (tmp) return tmp; - } - return null; - }, - getNodeCache: function(setting, tId) { - if (!tId) return null; - var n = caches[setting.treeId].nodes[data.getNodeCacheId(tId)]; - return n ? n : null; - }, - getNodeName: function(setting, node) { - var nameKey = setting.data.key.name; - return "" + node[nameKey]; - }, - getNodeTitle: function(setting, node) { - var t = setting.data.key.title === "" ? setting.data.key.name : setting.data.key.title; - return "" + node[t]; - }, - getNodes: function(setting) { - return data.getRoot(setting)[setting.data.key.children]; - }, - getNodesByParam: function(setting, nodes, key, value) { - if (!nodes || !key) return []; - var childKey = setting.data.key.children, - result = []; - for (var i = 0, l = nodes.length; i < l; i++) { - if (nodes[i][key] == value) { - result.push(nodes[i]); - } - result = result.concat(data.getNodesByParam(setting, nodes[i][childKey], key, value)); - } - return result; - }, - getNodesByParamFuzzy: function(setting, nodes, key, value) { - if (!nodes || !key) return []; - var childKey = setting.data.key.children, - result = []; - value = value.toLowerCase(); - for (var i = 0, l = nodes.length; i < l; i++) { - if (typeof nodes[i][key] == "string" && nodes[i][key].toLowerCase().indexOf(value)>-1) { - result.push(nodes[i]); - } - result = result.concat(data.getNodesByParamFuzzy(setting, nodes[i][childKey], key, value)); - } - return result; - }, - getNodesByFilter: function(setting, nodes, filter, isSingle, invokeParam) { - if (!nodes) return (isSingle ? null : []); - var childKey = setting.data.key.children, - result = isSingle ? null : []; - for (var i = 0, l = nodes.length; i < l; i++) { - if (tools.apply(filter, [nodes[i], invokeParam], false)) { - if (isSingle) {return nodes[i];} - result.push(nodes[i]); - } - var tmpResult = data.getNodesByFilter(setting, nodes[i][childKey], filter, isSingle, invokeParam); - if (isSingle && !!tmpResult) {return tmpResult;} - result = isSingle ? tmpResult : result.concat(tmpResult); - } - return result; - }, - getPreNode: function(setting, node) { - if (!node) return null; - var childKey = setting.data.key.children, - p = node.parentTId ? node.getParentNode() : data.getRoot(setting); - for (var i=0, l=p[childKey].length; i<l; i++) { - if (p[childKey][i] === node) { - return (i==0 ? null : p[childKey][i-1]); - } - } - return null; - }, - getRoot: function(setting) { - return setting ? roots[setting.treeId] : null; - }, - getRoots: function() { - return roots; - }, - getSetting: function(treeId) { - return settings[treeId]; - }, - getSettings: function() { - return settings; - }, - getZTreeTools: function(treeId) { - var r = this.getRoot(this.getSetting(treeId)); - return r ? r.treeTools : null; - }, - initCache: function(setting) { - for (var i=0, j=_init.caches.length; i<j; i++) { - _init.caches[i].apply(this, arguments); - } - }, - initNode: function(setting, level, node, parentNode, preNode, nextNode) { - for (var i=0, j=_init.nodes.length; i<j; i++) { - _init.nodes[i].apply(this, arguments); - } - }, - initRoot: function(setting) { - for (var i=0, j=_init.roots.length; i<j; i++) { - _init.roots[i].apply(this, arguments); - } - }, - isSelectedNode: function(setting, node) { - var root = data.getRoot(setting); - for (var i=0, j=root.curSelectedList.length; i<j; i++) { - if(node === root.curSelectedList[i]) return true; - } - return false; - }, - removeNodeCache: function(setting, node) { - var childKey = setting.data.key.children; - if (node[childKey]) { - for (var i=0, l=node[childKey].length; i<l; i++) { - arguments.callee(setting, node[childKey][i]); - } - } - data.getCache(setting).nodes[data.getNodeCacheId(node.tId)] = null; - }, - removeSelectedNode: function(setting, node) { - var root = data.getRoot(setting); - for (var i=0, j=root.curSelectedList.length; i<j; i++) { - if(node === root.curSelectedList[i] || !data.getNodeCache(setting, root.curSelectedList[i].tId)) { - root.curSelectedList.splice(i, 1); - i--;j--; - } - } - }, - setCache: function(setting, cache) { - caches[setting.treeId] = cache; - }, - setRoot: function(setting, root) { - roots[setting.treeId] = root; - }, - setZTreeTools: function(setting, zTreeTools) { - for (var i=0, j=_init.zTreeTools.length; i<j; i++) { - _init.zTreeTools[i].apply(this, arguments); - } - }, - transformToArrayFormat: function (setting, nodes) { - if (!nodes) return []; - var childKey = setting.data.key.children, - r = []; - if (tools.isArray(nodes)) { - for (var i=0, l=nodes.length; i<l; i++) { - r.push(nodes[i]); - if (nodes[i][childKey]) - r = r.concat(data.transformToArrayFormat(setting, nodes[i][childKey])); - } - } else { - r.push(nodes); - if (nodes[childKey]) - r = r.concat(data.transformToArrayFormat(setting, nodes[childKey])); - } - return r; - }, - transformTozTreeFormat: function(setting, sNodes) { - var i,l, - key = setting.data.simpleData.idKey, - parentKey = setting.data.simpleData.pIdKey, - childKey = setting.data.key.children; - if (!key || key=="" || !sNodes) return []; - - if (tools.isArray(sNodes)) { - var r = []; - var tmpMap = []; - for (i=0, l=sNodes.length; i<l; i++) { - tmpMap[sNodes[i][key]] = sNodes[i]; - } - for (i=0, l=sNodes.length; i<l; i++) { - if (tmpMap[sNodes[i][parentKey]] && sNodes[i][key] != sNodes[i][parentKey]) { - if (!tmpMap[sNodes[i][parentKey]][childKey]) - tmpMap[sNodes[i][parentKey]][childKey] = []; - tmpMap[sNodes[i][parentKey]][childKey].push(sNodes[i]); - } else { - r.push(sNodes[i]); - } - } - return r; - }else { - return [sNodes]; - } - } - }, - //method of event proxy - event = { - bindEvent: function(setting) { - for (var i=0, j=_init.bind.length; i<j; i++) { - _init.bind[i].apply(this, arguments); - } - }, - unbindEvent: function(setting) { - for (var i=0, j=_init.unbind.length; i<j; i++) { - _init.unbind[i].apply(this, arguments); - } - }, - bindTree: function(setting) { - var eventParam = { - treeId: setting.treeId - }, - o = setting.treeObj; - if (!setting.view.txtSelectedEnable) { - // for can't select text - o.bind('selectstart', function(e){ - var node - var n = e.originalEvent.srcElement.nodeName.toLowerCase(); - return (n === "input" || n === "textarea" ); - }).css({ - "-moz-user-select":"-moz-none" - }); - } - o.bind('click', eventParam, event.proxy); - o.bind('dblclick', eventParam, event.proxy); - o.bind('mouseover', eventParam, event.proxy); - o.bind('mouseout', eventParam, event.proxy); - o.bind('mousedown', eventParam, event.proxy); - o.bind('mouseup', eventParam, event.proxy); - o.bind('contextmenu', eventParam, event.proxy); - }, - unbindTree: function(setting) { - var o = setting.treeObj; - o.unbind('click', event.proxy) - .unbind('dblclick', event.proxy) - .unbind('mouseover', event.proxy) - .unbind('mouseout', event.proxy) - .unbind('mousedown', event.proxy) - .unbind('mouseup', event.proxy) - .unbind('contextmenu', event.proxy); - }, - doProxy: function(e) { - var results = []; - for (var i=0, j=_init.proxys.length; i<j; i++) { - var proxyResult = _init.proxys[i].apply(this, arguments); - results.push(proxyResult); - if (proxyResult.stop) { - break; - } - } - return results; - }, - proxy: function(e) { - var setting = data.getSetting(e.data.treeId); - if (!tools.uCanDo(setting, e)) return true; - var results = event.doProxy(e), - r = true, x = false; - for (var i=0, l=results.length; i<l; i++) { - var proxyResult = results[i]; - if (proxyResult.nodeEventCallback) { - x = true; - r = proxyResult.nodeEventCallback.apply(proxyResult, [e, proxyResult.node]) && r; - } - if (proxyResult.treeEventCallback) { - x = true; - r = proxyResult.treeEventCallback.apply(proxyResult, [e, proxyResult.node]) && r; - } - } - return r; - } - }, - //method of event handler - handler = { - onSwitchNode: function (event, node) { - var setting = data.getSetting(event.data.treeId); - if (node.open) { - if (tools.apply(setting.callback.beforeCollapse, [setting.treeId, node], true) == false) return true; - data.getRoot(setting).expandTriggerFlag = true; - view.switchNode(setting, node); - } else { - if (tools.apply(setting.callback.beforeExpand, [setting.treeId, node], true) == false) return true; - data.getRoot(setting).expandTriggerFlag = true; - view.switchNode(setting, node); - } - return true; - }, - onClickNode: function (event, node) { - var setting = data.getSetting(event.data.treeId), - clickFlag = ( (setting.view.autoCancelSelected && (event.ctrlKey || event.metaKey)) && data.isSelectedNode(setting, node)) ? 0 : (setting.view.autoCancelSelected && (event.ctrlKey || event.metaKey) && setting.view.selectedMulti) ? 2 : 1; - if (tools.apply(setting.callback.beforeClick, [setting.treeId, node, clickFlag], true) == false) return true; - if (clickFlag === 0) { - view.cancelPreSelectedNode(setting, node); - } else { - view.selectNode(setting, node, clickFlag === 2); - } - setting.treeObj.trigger(consts.event.CLICK, [event, setting.treeId, node, clickFlag]); - return true; - }, - onZTreeMousedown: function(event, node) { - var setting = data.getSetting(event.data.treeId); - if (tools.apply(setting.callback.beforeMouseDown, [setting.treeId, node], true)) { - tools.apply(setting.callback.onMouseDown, [event, setting.treeId, node]); - } - return true; - }, - onZTreeMouseup: function(event, node) { - var setting = data.getSetting(event.data.treeId); - if (tools.apply(setting.callback.beforeMouseUp, [setting.treeId, node], true)) { - tools.apply(setting.callback.onMouseUp, [event, setting.treeId, node]); - } - return true; - }, - onZTreeDblclick: function(event, node) { - var setting = data.getSetting(event.data.treeId); - if (tools.apply(setting.callback.beforeDblClick, [setting.treeId, node], true)) { - tools.apply(setting.callback.onDblClick, [event, setting.treeId, node]); - } - return true; - }, - onZTreeContextmenu: function(event, node) { - var setting = data.getSetting(event.data.treeId); - if (tools.apply(setting.callback.beforeRightClick, [setting.treeId, node], true)) { - tools.apply(setting.callback.onRightClick, [event, setting.treeId, node]); - } - return (typeof setting.callback.onRightClick) != "function"; - } - }, - //method of tools for zTree - tools = { - apply: function(fun, param, defaultValue) { - if ((typeof fun) == "function") { - return fun.apply(zt, param?param:[]); - } - return defaultValue; - }, - canAsync: function(setting, node) { - var childKey = setting.data.key.children; - return (setting.async.enable && node && node.isParent && !(node.zAsync || (node[childKey] && node[childKey].length > 0))); - }, - clone: function (obj){ - if (obj === null) return null; - var o = tools.isArray(obj) ? [] : {}; - for(var i in obj){ - o[i] = (obj[i] instanceof Date) ? new Date(obj[i].getTime()) : (typeof obj[i] === "object" ? arguments.callee(obj[i]) : obj[i]); - } - return o; - }, - eqs: function(str1, str2) { - return str1.toLowerCase() === str2.toLowerCase(); - }, - isArray: function(arr) { - return Object.prototype.toString.apply(arr) === "[object Array]"; - }, - $: function(node, exp, setting) { - if (!!exp && typeof exp != "string") { - setting = exp; - exp = ""; - } - if (typeof node == "string") { - return $(node, setting ? setting.treeObj.get(0).ownerDocument : null); - } else { - return $("#" + node.tId + exp, setting ? setting.treeObj : null); - } - }, - getMDom: function (setting, curDom, targetExpr) { - if (!curDom) return null; - while (curDom && curDom.id !== setting.treeId) { - for (var i=0, l=targetExpr.length; curDom.tagName && i<l; i++) { - if (tools.eqs(curDom.tagName, targetExpr[i].tagName) && curDom.getAttribute(targetExpr[i].attrName) !== null) { - return curDom; - } - } - curDom = curDom.parentNode; - } - return null; - }, - getNodeMainDom:function(target) { - return ($(target).parent("li").get(0) || $(target).parentsUntil("li").parent().get(0)); - }, - isChildOrSelf: function(dom, parentId) { - return ( $(dom).closest("#" + parentId).length> 0 ); - }, - uCanDo: function(setting, e) { - return true; - } - }, - //method of operate ztree dom - view = { - addNodes: function(setting, parentNode, newNodes, isSilent) { - if (setting.data.keep.leaf && parentNode && !parentNode.isParent) { - return; - } - if (!tools.isArray(newNodes)) { - newNodes = [newNodes]; - } - if (setting.data.simpleData.enable) { - newNodes = data.transformTozTreeFormat(setting, newNodes); - } - if (parentNode) { - var target_switchObj = $$(parentNode, consts.id.SWITCH, setting), - target_icoObj = $$(parentNode, consts.id.ICON, setting), - target_ulObj = $$(parentNode, consts.id.UL, setting); - - if (!parentNode.open) { - view.replaceSwitchClass(parentNode, target_switchObj, consts.folder.CLOSE); - view.replaceIcoClass(parentNode, target_icoObj, consts.folder.CLOSE); - parentNode.open = false; - target_ulObj.css({ - "display": "none" - }); - } - - data.addNodesData(setting, parentNode, newNodes); - view.createNodes(setting, parentNode.level + 1, newNodes, parentNode); - if (!isSilent) { - view.expandCollapseParentNode(setting, parentNode, true); - } - } else { - data.addNodesData(setting, data.getRoot(setting), newNodes); - view.createNodes(setting, 0, newNodes, null); - } - }, - appendNodes: function(setting, level, nodes, parentNode, initFlag, openFlag) { - if (!nodes) return []; - var html = [], - childKey = setting.data.key.children; - for (var i = 0, l = nodes.length; i < l; i++) { - var node = nodes[i]; - if (initFlag) { - var tmpPNode = (parentNode) ? parentNode: data.getRoot(setting), - tmpPChild = tmpPNode[childKey], - isFirstNode = ((tmpPChild.length == nodes.length) && (i == 0)), - isLastNode = (i == (nodes.length - 1)); - data.initNode(setting, level, node, parentNode, isFirstNode, isLastNode, openFlag); - data.addNodeCache(setting, node); - } - - var childHtml = []; - if (node[childKey] && node[childKey].length > 0) { - //make child html first, because checkType - childHtml = view.appendNodes(setting, level + 1, node[childKey], node, initFlag, openFlag && node.open); - } - if (openFlag) { - - view.makeDOMNodeMainBefore(html, setting, node); - view.makeDOMNodeLine(html, setting, node); - data.getBeforeA(setting, node, html); - view.makeDOMNodeNameBefore(html, setting, node); - data.getInnerBeforeA(setting, node, html); - view.makeDOMNodeIcon(html, setting, node); - data.getInnerAfterA(setting, node, html); - view.makeDOMNodeNameAfter(html, setting, node); - data.getAfterA(setting, node, html); - if (node.isParent && node.open) { - view.makeUlHtml(setting, node, html, childHtml.join('')); - } - view.makeDOMNodeMainAfter(html, setting, node); - data.addCreatedNode(setting, node); - } - } - return html; - }, - appendParentULDom: function(setting, node) { - var html = [], - nObj = $$(node, setting); - if (!nObj.get(0) && !!node.parentTId) { - view.appendParentULDom(setting, node.getParentNode()); - nObj = $$(node, setting); - } - var ulObj = $$(node, consts.id.UL, setting); - if (ulObj.get(0)) { - ulObj.remove(); - } - var childKey = setting.data.key.children, - childHtml = view.appendNodes(setting, node.level+1, node[childKey], node, false, true); - view.makeUlHtml(setting, node, html, childHtml.join('')); - nObj.append(html.join('')); - }, - asyncNode: function(setting, node, isSilent, callback) { - var i, l; - if (node && !node.isParent) { - tools.apply(callback); - return false; - } else if (node && node.isAjaxing) { - return false; - } else if (tools.apply(setting.callback.beforeAsync, [setting.treeId, node], true) == false) { - tools.apply(callback); - return false; - } - if (node) { - node.isAjaxing = true; - var icoObj = $$(node, consts.id.ICON, setting); - icoObj.attr({"style":"", "class":consts.className.BUTTON + " " + consts.className.ICO_LOADING}); - } - - var tmpParam = {}; - for (i = 0, l = setting.async.autoParam.length; node && i < l; i++) { - var pKey = setting.async.autoParam[i].split("="), spKey = pKey; - if (pKey.length>1) { - spKey = pKey[1]; - pKey = pKey[0]; - } - tmpParam[spKey] = node[pKey]; - } - if (tools.isArray(setting.async.otherParam)) { - for (i = 0, l = setting.async.otherParam.length; i < l; i += 2) { - tmpParam[setting.async.otherParam[i]] = setting.async.otherParam[i + 1]; - } - } else { - for (var p in setting.async.otherParam) { - tmpParam[p] = setting.async.otherParam[p]; - } - } - - var _tmpV = data.getRoot(setting)._ver; - $.ajax({ - contentType: setting.async.contentType, - type: setting.async.type, - url: tools.apply(setting.async.url, [setting.treeId, node], setting.async.url), - data: tmpParam, - dataType: setting.async.dataType, - success: function(msg) { - if (_tmpV != data.getRoot(setting)._ver) { - return; - } - var newNodes = []; - try { - if (!msg || msg.length == 0) { - newNodes = []; - } else if (typeof msg == "string") { - newNodes = eval("(" + msg + ")"); - } else { - newNodes = msg; - } - } catch(err) { - newNodes = msg; - } - - if (node) { - node.isAjaxing = null; - node.zAsync = true; - } - view.setNodeLineIcos(setting, node); - if (newNodes && newNodes !== "") { - newNodes = tools.apply(setting.async.dataFilter, [setting.treeId, node, newNodes], newNodes); - view.addNodes(setting, node, !!newNodes ? tools.clone(newNodes) : [], !!isSilent); - } else { - view.addNodes(setting, node, [], !!isSilent); - } - setting.treeObj.trigger(consts.event.ASYNC_SUCCESS, [setting.treeId, node, msg]); - tools.apply(callback); - }, - error: function(XMLHttpRequest, textStatus, errorThrown) { - if (_tmpV != data.getRoot(setting)._ver) { - return; - } - if (node) node.isAjaxing = null; - view.setNodeLineIcos(setting, node); - setting.treeObj.trigger(consts.event.ASYNC_ERROR, [setting.treeId, node, XMLHttpRequest, textStatus, errorThrown]); - } - }); - return true; - }, - cancelPreSelectedNode: function (setting, node) { - var list = data.getRoot(setting).curSelectedList; - for (var i=0, j=list.length-1; j>=i; j--) { - if (!node || node === list[j]) { - $$(list[j], consts.id.A, setting).removeClass(consts.node.CURSELECTED); - if (node) { - data.removeSelectedNode(setting, node); - break; - } - } - } - if (!node) data.getRoot(setting).curSelectedList = []; - }, - createNodeCallback: function(setting) { - if (!!setting.callback.onNodeCreated || !!setting.view.addDiyDom) { - var root = data.getRoot(setting); - while (root.createdNodes.length>0) { - var node = root.createdNodes.shift(); - tools.apply(setting.view.addDiyDom, [setting.treeId, node]); - if (!!setting.callback.onNodeCreated) { - setting.treeObj.trigger(consts.event.NODECREATED, [setting.treeId, node]); - } - } - } - }, - createNodes: function(setting, level, nodes, parentNode) { - if (!nodes || nodes.length == 0) return; - var root = data.getRoot(setting), - childKey = setting.data.key.children, - openFlag = !parentNode || parentNode.open || !!$$(parentNode[childKey][0], setting).get(0); - root.createdNodes = []; - var zTreeHtml = view.appendNodes(setting, level, nodes, parentNode, true, openFlag); - if (!parentNode) { - setting.treeObj.append(zTreeHtml.join('')); - } else { - var ulObj = $$(parentNode, consts.id.UL, setting); - if (ulObj.get(0)) { - ulObj.append(zTreeHtml.join('')); - } - } - view.createNodeCallback(setting); - }, - destroy: function(setting) { - if (!setting) return; - data.initCache(setting); - data.initRoot(setting); - event.unbindTree(setting); - event.unbindEvent(setting); - setting.treeObj.empty(); - delete settings[setting.treeId]; - }, - expandCollapseNode: function(setting, node, expandFlag, animateFlag, callback) { - var root = data.getRoot(setting), - childKey = setting.data.key.children; - if (!node) { - tools.apply(callback, []); - return; - } - if (root.expandTriggerFlag) { - var _callback = callback; - callback = function(){ - if (_callback) _callback(); - if (node.open) { - setting.treeObj.trigger(consts.event.EXPAND, [setting.treeId, node]); - } else { - setting.treeObj.trigger(consts.event.COLLAPSE, [setting.treeId, node]); - } - }; - root.expandTriggerFlag = false; - } - if (!node.open && node.isParent && ((!$$(node, consts.id.UL, setting).get(0)) || (node[childKey] && node[childKey].length>0 && !$$(node[childKey][0], setting).get(0)))) { - view.appendParentULDom(setting, node); - view.createNodeCallback(setting); - } - if (node.open == expandFlag) { - tools.apply(callback, []); - return; - } - var ulObj = $$(node, consts.id.UL, setting), - switchObj = $$(node, consts.id.SWITCH, setting), - icoObj = $$(node, consts.id.ICON, setting); - - if (node.isParent) { - node.open = !node.open; - if (node.iconOpen && node.iconClose) { - icoObj.attr("style", view.makeNodeIcoStyle(setting, node)); - } - - if (node.open) { - view.replaceSwitchClass(node, switchObj, consts.folder.OPEN); - view.replaceIcoClass(node, icoObj, consts.folder.OPEN); - if (animateFlag == false || setting.view.expandSpeed == "") { - ulObj.show(); - tools.apply(callback, []); - } else { - if (node[childKey] && node[childKey].length > 0) { - ulObj.slideDown(setting.view.expandSpeed, callback); - } else { - ulObj.show(); - tools.apply(callback, []); - } - } - } else { - view.replaceSwitchClass(node, switchObj, consts.folder.CLOSE); - view.replaceIcoClass(node, icoObj, consts.folder.CLOSE); - if (animateFlag == false || setting.view.expandSpeed == "" || !(node[childKey] && node[childKey].length > 0)) { - ulObj.hide(); - tools.apply(callback, []); - } else { - ulObj.slideUp(setting.view.expandSpeed, callback); - } - } - } else { - tools.apply(callback, []); - } - }, - expandCollapseParentNode: function(setting, node, expandFlag, animateFlag, callback) { - if (!node) return; - if (!node.parentTId) { - view.expandCollapseNode(setting, node, expandFlag, animateFlag, callback); - return; - } else { - view.expandCollapseNode(setting, node, expandFlag, animateFlag); - } - if (node.parentTId) { - view.expandCollapseParentNode(setting, node.getParentNode(), expandFlag, animateFlag, callback); - } - }, - expandCollapseSonNode: function(setting, node, expandFlag, animateFlag, callback) { - var root = data.getRoot(setting), - childKey = setting.data.key.children, - treeNodes = (node) ? node[childKey]: root[childKey], - selfAnimateSign = (node) ? false : animateFlag, - expandTriggerFlag = data.getRoot(setting).expandTriggerFlag; - data.getRoot(setting).expandTriggerFlag = false; - if (treeNodes) { - for (var i = 0, l = treeNodes.length; i < l; i++) { - if (treeNodes[i]) view.expandCollapseSonNode(setting, treeNodes[i], expandFlag, selfAnimateSign); - } - } - data.getRoot(setting).expandTriggerFlag = expandTriggerFlag; - view.expandCollapseNode(setting, node, expandFlag, animateFlag, callback ); - }, - makeDOMNodeIcon: function(html, setting, node) { - var nameStr = data.getNodeName(setting, node), - name = setting.view.nameIsHTML ? nameStr : nameStr.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>'); - html.push("<span id='", node.tId, consts.id.ICON, - "' title='' treeNode", consts.id.ICON," class='", view.makeNodeIcoClass(setting, node), - "' style='", view.makeNodeIcoStyle(setting, node), "'></span><span id='", node.tId, consts.id.SPAN, - "'>",name,"</span>"); - }, - makeDOMNodeLine: function(html, setting, node) { - html.push("<span id='", node.tId, consts.id.SWITCH, "' title='' class='", view.makeNodeLineClass(setting, node), "' treeNode", consts.id.SWITCH,"></span>"); - }, - makeDOMNodeMainAfter: function(html, setting, node) { - html.push("</li>"); - }, - makeDOMNodeMainBefore: function(html, setting, node) { - html.push("<li id='", node.tId, "' class='", consts.className.LEVEL, node.level,"' tabindex='0' hidefocus='true' treenode>"); - }, - makeDOMNodeNameAfter: function(html, setting, node) { - html.push("</a>"); - }, - makeDOMNodeNameBefore: function(html, setting, node) { - var title = data.getNodeTitle(setting, node), - url = view.makeNodeUrl(setting, node), - fontcss = view.makeNodeFontCss(setting, node), - fontStyle = []; - for (var f in fontcss) { - fontStyle.push(f, ":", fontcss[f], ";"); - } - html.push("<a id='", node.tId, consts.id.A, "' class='", consts.className.LEVEL, node.level,"' treeNode", consts.id.A," onclick=\"", (node.click || ''), - "\" ", ((url != null && url.length > 0) ? "href='" + url + "'" : ""), " target='",view.makeNodeTarget(node),"' style='", fontStyle.join(''), - "'"); - if (tools.apply(setting.view.showTitle, [setting.treeId, node], setting.view.showTitle) && title) {html.push("title='", title.replace(/'/g,"'").replace(/</g,'<').replace(/>/g,'>'),"'");} - html.push(">"); - }, - makeNodeFontCss: function(setting, node) { - var fontCss = tools.apply(setting.view.fontCss, [setting.treeId, node], setting.view.fontCss); - return (fontCss && ((typeof fontCss) != "function")) ? fontCss : {}; - }, - makeNodeIcoClass: function(setting, node) { - var icoCss = ["ico"]; - if (!node.isAjaxing) { - icoCss[0] = (node.iconSkin ? node.iconSkin + "_" : "") + icoCss[0]; - if (node.isParent) { - icoCss.push(node.open ? consts.folder.OPEN : consts.folder.CLOSE); - } else { - icoCss.push(consts.folder.DOCU); - } - } - return consts.className.BUTTON + " " + icoCss.join('_'); - }, - makeNodeIcoStyle: function(setting, node) { - var icoStyle = []; - if (!node.isAjaxing) { - var icon = (node.isParent && node.iconOpen && node.iconClose) ? (node.open ? node.iconOpen : node.iconClose) : node.icon; - if (icon) icoStyle.push("background:url(", icon, ") 0 0 no-repeat;"); - if (setting.view.showIcon == false || !tools.apply(setting.view.showIcon, [setting.treeId, node], true)) { - icoStyle.push("width:0px;height:0px;"); - } - } - return icoStyle.join(''); - }, - makeNodeLineClass: function(setting, node) { - var lineClass = []; - if (setting.view.showLine) { - if (node.level == 0 && node.isFirstNode && node.isLastNode) { - lineClass.push(consts.line.ROOT); - } else if (node.level == 0 && node.isFirstNode) { - lineClass.push(consts.line.ROOTS); - } else if (node.isLastNode) { - lineClass.push(consts.line.BOTTOM); - } else { - lineClass.push(consts.line.CENTER); - } - } else { - lineClass.push(consts.line.NOLINE); - } - if (node.isParent) { - lineClass.push(node.open ? consts.folder.OPEN : consts.folder.CLOSE); - } else { - lineClass.push(consts.folder.DOCU); - } - return view.makeNodeLineClassEx(node) + lineClass.join('_'); - }, - makeNodeLineClassEx: function(node) { - return consts.className.BUTTON + " " + consts.className.LEVEL + node.level + " " + consts.className.SWITCH + " "; - }, - makeNodeTarget: function(node) { - return (node.target || "_blank"); - }, - makeNodeUrl: function(setting, node) { - var urlKey = setting.data.key.url; - return node[urlKey] ? node[urlKey] : null; - }, - makeUlHtml: function(setting, node, html, content) { - html.push("<ul id='", node.tId, consts.id.UL, "' class='", consts.className.LEVEL, node.level, " ", view.makeUlLineClass(setting, node), "' style='display:", (node.open ? "block": "none"),"'>"); - html.push(content); - html.push("</ul>"); - }, - makeUlLineClass: function(setting, node) { - return ((setting.view.showLine && !node.isLastNode) ? consts.line.LINE : ""); - }, - removeChildNodes: function(setting, node) { - if (!node) return; - var childKey = setting.data.key.children, - nodes = node[childKey]; - if (!nodes) return; - - for (var i = 0, l = nodes.length; i < l; i++) { - data.removeNodeCache(setting, nodes[i]); - } - data.removeSelectedNode(setting); - delete node[childKey]; - - if (!setting.data.keep.parent) { - node.isParent = false; - node.open = false; - var tmp_switchObj = $$(node, consts.id.SWITCH, setting), - tmp_icoObj = $$(node, consts.id.ICON, setting); - view.replaceSwitchClass(node, tmp_switchObj, consts.folder.DOCU); - view.replaceIcoClass(node, tmp_icoObj, consts.folder.DOCU); - $$(node, consts.id.UL, setting).remove(); - } else { - $$(node, consts.id.UL, setting).empty(); - } - }, - setFirstNode: function(setting, parentNode) { - var childKey = setting.data.key.children, childLength = parentNode[childKey].length; - if ( childLength > 0) { - parentNode[childKey][0].isFirstNode = true; - } - }, - setLastNode: function(setting, parentNode) { - var childKey = setting.data.key.children, childLength = parentNode[childKey].length; - if ( childLength > 0) { - parentNode[childKey][childLength - 1].isLastNode = true; - } - }, - removeNode: function(setting, node) { - var root = data.getRoot(setting), - childKey = setting.data.key.children, - parentNode = (node.parentTId) ? node.getParentNode() : root; - - node.isFirstNode = false; - node.isLastNode = false; - node.getPreNode = function() {return null;}; - node.getNextNode = function() {return null;}; - - if (!data.getNodeCache(setting, node.tId)) { - return; - } - - $$(node, setting).remove(); - data.removeNodeCache(setting, node); - data.removeSelectedNode(setting, node); - - for (var i = 0, l = parentNode[childKey].length; i < l; i++) { - if (parentNode[childKey][i].tId == node.tId) { - parentNode[childKey].splice(i, 1); - break; - } - } - view.setFirstNode(setting, parentNode); - view.setLastNode(setting, parentNode); - - var tmp_ulObj,tmp_switchObj,tmp_icoObj, - childLength = parentNode[childKey].length; - - //repair nodes old parent - if (!setting.data.keep.parent && childLength == 0) { - //old parentNode has no child nodes - parentNode.isParent = false; - parentNode.open = false; - tmp_ulObj = $$(parentNode, consts.id.UL, setting); - tmp_switchObj = $$(parentNode, consts.id.SWITCH, setting); - tmp_icoObj = $$(parentNode, consts.id.ICON, setting); - view.replaceSwitchClass(parentNode, tmp_switchObj, consts.folder.DOCU); - view.replaceIcoClass(parentNode, tmp_icoObj, consts.folder.DOCU); - tmp_ulObj.css("display", "none"); - - } else if (setting.view.showLine && childLength > 0) { - //old parentNode has child nodes - var newLast = parentNode[childKey][childLength - 1]; - tmp_ulObj = $$(newLast, consts.id.UL, setting); - tmp_switchObj = $$(newLast, consts.id.SWITCH, setting); - tmp_icoObj = $$(newLast, consts.id.ICON, setting); - if (parentNode == root) { - if (parentNode[childKey].length == 1) { - //node was root, and ztree has only one root after move node - view.replaceSwitchClass(newLast, tmp_switchObj, consts.line.ROOT); - } else { - var tmp_first_switchObj = $$(parentNode[childKey][0], consts.id.SWITCH, setting); - view.replaceSwitchClass(parentNode[childKey][0], tmp_first_switchObj, consts.line.ROOTS); - view.replaceSwitchClass(newLast, tmp_switchObj, consts.line.BOTTOM); - } - } else { - view.replaceSwitchClass(newLast, tmp_switchObj, consts.line.BOTTOM); - } - tmp_ulObj.removeClass(consts.line.LINE); - } - }, - replaceIcoClass: function(node, obj, newName) { - if (!obj || node.isAjaxing) return; - var tmpName = obj.attr("class"); - if (tmpName == undefined) return; - var tmpList = tmpName.split("_"); - switch (newName) { - case consts.folder.OPEN: - case consts.folder.CLOSE: - case consts.folder.DOCU: - tmpList[tmpList.length-1] = newName; - break; - } - obj.attr("class", tmpList.join("_")); - }, - replaceSwitchClass: function(node, obj, newName) { - if (!obj) return; - var tmpName = obj.attr("class"); - if (tmpName == undefined) return; - var tmpList = tmpName.split("_"); - switch (newName) { - case consts.line.ROOT: - case consts.line.ROOTS: - case consts.line.CENTER: - case consts.line.BOTTOM: - case consts.line.NOLINE: - tmpList[0] = view.makeNodeLineClassEx(node) + newName; - break; - case consts.folder.OPEN: - case consts.folder.CLOSE: - case consts.folder.DOCU: - tmpList[1] = newName; - break; - } - obj.attr("class", tmpList.join("_")); - if (newName !== consts.folder.DOCU) { - obj.removeAttr("disabled"); - } else { - obj.attr("disabled", "disabled"); - } - }, - selectNode: function(setting, node, addFlag) { - if (!addFlag) { - view.cancelPreSelectedNode(setting); - } - $$(node, consts.id.A, setting).addClass(consts.node.CURSELECTED); - data.addSelectedNode(setting, node); - }, - setNodeFontCss: function(setting, treeNode) { - var aObj = $$(treeNode, consts.id.A, setting), - fontCss = view.makeNodeFontCss(setting, treeNode); - if (fontCss) { - aObj.css(fontCss); - } - }, - setNodeLineIcos: function(setting, node) { - if (!node) return; - var switchObj = $$(node, consts.id.SWITCH, setting), - ulObj = $$(node, consts.id.UL, setting), - icoObj = $$(node, consts.id.ICON, setting), - ulLine = view.makeUlLineClass(setting, node); - if (ulLine.length==0) { - ulObj.removeClass(consts.line.LINE); - } else { - ulObj.addClass(ulLine); - } - switchObj.attr("class", view.makeNodeLineClass(setting, node)); - if (node.isParent) { - switchObj.removeAttr("disabled"); - } else { - switchObj.attr("disabled", "disabled"); - } - icoObj.removeAttr("style"); - icoObj.attr("style", view.makeNodeIcoStyle(setting, node)); - icoObj.attr("class", view.makeNodeIcoClass(setting, node)); - }, - setNodeName: function(setting, node) { - var title = data.getNodeTitle(setting, node), - nObj = $$(node, consts.id.SPAN, setting); - nObj.empty(); - if (setting.view.nameIsHTML) { - nObj.html(data.getNodeName(setting, node)); - } else { - nObj.text(data.getNodeName(setting, node)); - } - if (tools.apply(setting.view.showTitle, [setting.treeId, node], setting.view.showTitle)) { - var aObj = $$(node, consts.id.A, setting); - aObj.attr("title", !title ? "" : title); - } - }, - setNodeTarget: function(setting, node) { - var aObj = $$(node, consts.id.A, setting); - aObj.attr("target", view.makeNodeTarget(node)); - }, - setNodeUrl: function(setting, node) { - var aObj = $$(node, consts.id.A, setting), - url = view.makeNodeUrl(setting, node); - if (url == null || url.length == 0) { - aObj.removeAttr("href"); - } else { - aObj.attr("href", url); - } - }, - switchNode: function(setting, node) { - if (node.open || !tools.canAsync(setting, node)) { - view.expandCollapseNode(setting, node, !node.open); - } else if (setting.async.enable) { - if (!view.asyncNode(setting, node)) { - view.expandCollapseNode(setting, node, !node.open); - return; - } - } else if (node) { - view.expandCollapseNode(setting, node, !node.open); - } - } - }; - // zTree defind - $.fn.zTree = { - consts : _consts, - _z : { - tools: tools, - view: view, - event: event, - data: data - }, - getZTreeObj: function(treeId) { - var o = data.getZTreeTools(treeId); - return o ? o : null; - }, - destroy: function(treeId) { - if (!!treeId && treeId.length > 0) { - view.destroy(data.getSetting(treeId)); - } else { - for(var s in settings) { - view.destroy(settings[s]); - } - } - }, - init: function(obj, zSetting, zNodes) { - var setting = tools.clone(_setting); - $.extend(true, setting, zSetting); - setting.treeId = obj.attr("id"); - setting.treeObj = obj; - setting.treeObj.empty(); - settings[setting.treeId] = setting; - //For some older browser,(e.g., ie6) - if(typeof document.body.style.maxHeight === "undefined") { - setting.view.expandSpeed = ""; - } - data.initRoot(setting); - var root = data.getRoot(setting), - childKey = setting.data.key.children; - zNodes = zNodes ? tools.clone(tools.isArray(zNodes)? zNodes : [zNodes]) : []; - if (setting.data.simpleData.enable) { - root[childKey] = data.transformTozTreeFormat(setting, zNodes); - } else { - root[childKey] = zNodes; - } - - data.initCache(setting); - event.unbindTree(setting); - event.bindTree(setting); - event.unbindEvent(setting); - event.bindEvent(setting); - - var zTreeTools = { - setting : setting, - addNodes : function(parentNode, newNodes, isSilent) { - if (!newNodes) return null; - if (!parentNode) parentNode = null; - if (parentNode && !parentNode.isParent && setting.data.keep.leaf) return null; - var xNewNodes = tools.clone(tools.isArray(newNodes)? newNodes: [newNodes]); - function addCallback() { - view.addNodes(setting, parentNode, xNewNodes, (isSilent==true)); - } - - if (tools.canAsync(setting, parentNode)) { - view.asyncNode(setting, parentNode, isSilent, addCallback); - } else { - addCallback(); - } - return xNewNodes; - }, - cancelSelectedNode : function(node) { - view.cancelPreSelectedNode(setting, node); - }, - destroy : function() { - view.destroy(setting); - }, - expandAll : function(expandFlag) { - expandFlag = !!expandFlag; - view.expandCollapseSonNode(setting, null, expandFlag, true); - return expandFlag; - }, - expandNode : function(node, expandFlag, sonSign, focus, callbackFlag) { - if (!node || !node.isParent) return null; - if (expandFlag !== true && expandFlag !== false) { - expandFlag = !node.open; - } - callbackFlag = !!callbackFlag; - - if (callbackFlag && expandFlag && (tools.apply(setting.callback.beforeExpand, [setting.treeId, node], true) == false)) { - return null; - } else if (callbackFlag && !expandFlag && (tools.apply(setting.callback.beforeCollapse, [setting.treeId, node], true) == false)) { - return null; - } - if (expandFlag && node.parentTId) { - view.expandCollapseParentNode(setting, node.getParentNode(), expandFlag, false); - } - if (expandFlag === node.open && !sonSign) { - return null; - } - - data.getRoot(setting).expandTriggerFlag = callbackFlag; - if (!tools.canAsync(setting, node) && sonSign) { - view.expandCollapseSonNode(setting, node, expandFlag, true, function() { - if (focus !== false) {try{$$(node, setting).focus().blur();}catch(e){}} - }); - } else { - node.open = !expandFlag; - view.switchNode(this.setting, node); - if (focus !== false) {try{$$(node, setting).focus().blur();}catch(e){}} - } - return expandFlag; - }, - getNodes : function() { - return data.getNodes(setting); - }, - getNodeByParam : function(key, value, parentNode) { - if (!key) return null; - return data.getNodeByParam(setting, parentNode?parentNode[setting.data.key.children]:data.getNodes(setting), key, value); - }, - getNodeByTId : function(tId) { - return data.getNodeCache(setting, tId); - }, - getNodesByParam : function(key, value, parentNode) { - if (!key) return null; - return data.getNodesByParam(setting, parentNode?parentNode[setting.data.key.children]:data.getNodes(setting), key, value); - }, - getNodesByParamFuzzy : function(key, value, parentNode) { - if (!key) return null; - return data.getNodesByParamFuzzy(setting, parentNode?parentNode[setting.data.key.children]:data.getNodes(setting), key, value); - }, - getNodesByFilter: function(filter, isSingle, parentNode, invokeParam) { - isSingle = !!isSingle; - if (!filter || (typeof filter != "function")) return (isSingle ? null : []); - return data.getNodesByFilter(setting, parentNode?parentNode[setting.data.key.children]:data.getNodes(setting), filter, isSingle, invokeParam); - }, - getNodeIndex : function(node) { - if (!node) return null; - var childKey = setting.data.key.children, - parentNode = (node.parentTId) ? node.getParentNode() : data.getRoot(setting); - for (var i=0, l = parentNode[childKey].length; i < l; i++) { - if (parentNode[childKey][i] == node) return i; - } - return -1; - }, - getSelectedNodes : function() { - var r = [], list = data.getRoot(setting).curSelectedList; - for (var i=0, l=list.length; i<l; i++) { - r.push(list[i]); - } - return r; - }, - isSelectedNode : function(node) { - return data.isSelectedNode(setting, node); - }, - reAsyncChildNodes : function(parentNode, reloadType, isSilent) { - if (!this.setting.async.enable) return; - var isRoot = !parentNode; - if (isRoot) { - parentNode = data.getRoot(setting); - } - if (reloadType=="refresh") { - var childKey = this.setting.data.key.children; - for (var i = 0, l = parentNode[childKey] ? parentNode[childKey].length : 0; i < l; i++) { - data.removeNodeCache(setting, parentNode[childKey][i]); - } - data.removeSelectedNode(setting); - parentNode[childKey] = []; - if (isRoot) { - this.setting.treeObj.empty(); - } else { - var ulObj = $$(parentNode, consts.id.UL, setting); - ulObj.empty(); - } - } - view.asyncNode(this.setting, isRoot? null:parentNode, !!isSilent); - }, - refresh : function() { - this.setting.treeObj.empty(); - var root = data.getRoot(setting), - nodes = root[setting.data.key.children] - data.initRoot(setting); - root[setting.data.key.children] = nodes - data.initCache(setting); - view.createNodes(setting, 0, root[setting.data.key.children]); - }, - removeChildNodes : function(node) { - if (!node) return null; - var childKey = setting.data.key.children, - nodes = node[childKey]; - view.removeChildNodes(setting, node); - return nodes ? nodes : null; - }, - removeNode : function(node, callbackFlag) { - if (!node) return; - callbackFlag = !!callbackFlag; - if (callbackFlag && tools.apply(setting.callback.beforeRemove, [setting.treeId, node], true) == false) return; - view.removeNode(setting, node); - if (callbackFlag) { - this.setting.treeObj.trigger(consts.event.REMOVE, [setting.treeId, node]); - } - }, - selectNode : function(node, addFlag) { - if (!node) return; - if (tools.uCanDo(setting)) { - addFlag = setting.view.selectedMulti && addFlag; - if (node.parentTId) { - view.expandCollapseParentNode(setting, node.getParentNode(), true, false, function() { - try{$$(node, setting).focus().blur();}catch(e){} - }); - } else { - try{$$(node, setting).focus().blur();}catch(e){} - } - view.selectNode(setting, node, addFlag); - } - }, - transformTozTreeNodes : function(simpleNodes) { - return data.transformTozTreeFormat(setting, simpleNodes); - }, - transformToArray : function(nodes) { - return data.transformToArrayFormat(setting, nodes); - }, - updateNode : function(node, checkTypeFlag) { - if (!node) return; - var nObj = $$(node, setting); - if (nObj.get(0) && tools.uCanDo(setting)) { - view.setNodeName(setting, node); - view.setNodeTarget(setting, node); - view.setNodeUrl(setting, node); - view.setNodeLineIcos(setting, node); - view.setNodeFontCss(setting, node); - } - } - } - root.treeTools = zTreeTools; - data.setZTreeTools(setting, zTreeTools); - - if (root[childKey] && root[childKey].length > 0) { - view.createNodes(setting, 0, root[childKey]); - } else if (setting.async.enable && setting.async.url && setting.async.url !== '') { - view.asyncNode(setting); - } - return zTreeTools; - } - }; - - var zt = $.fn.zTree, - $$ = tools.$, - consts = zt.consts; -})(jQuery); -/* - * JQuery zTree excheck v3.5.16 - * http://zTree.me/ - * - * Copyright (c) 2010 Hunter.z - * - * Licensed same as jquery - MIT License - * http://www.opensource.org/licenses/mit-license.php - * - * email: hunter.z@263.net - * Date: 2014-03-09 - */ -(function($){ - //default consts of excheck - var _consts = { - 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" - } - }, - //default setting of excheck - _setting = { - check: { - enable: false, - autoCheckTrigger: false, - chkStyle: _consts.checkbox.STYLE, - nocheckInherit: false, - chkDisabledInherit: false, - radioType: _consts.radio.TYPE_LEVEL, - chkboxType: { - "Y": "ps", - "N": "ps" - } - }, - data: { - key: { - checked: "checked" - } - }, - callback: { - beforeCheck:null, - onCheck:null - } - }, - //default root of excheck - _initRoot = function (setting) { - var r = data.getRoot(setting); - r.radioCheckedList = []; - }, - //default cache of excheck - _initCache = function(treeId) {}, - //default bind event of excheck - _bindEvent = function(setting) { - var o = setting.treeObj, - c = consts.event; - o.bind(c.CHECK, function (event, srcEvent, treeId, node) { - event.srcEvent = srcEvent; - tools.apply(setting.callback.onCheck, [event, treeId, node]); - }); - }, - _unbindEvent = function(setting) { - var o = setting.treeObj, - c = consts.event; - o.unbind(c.CHECK); - }, - //default event proxy of excheck - _eventProxy = function(e) { - var target = e.target, - setting = data.getSetting(e.data.treeId), - tId = "", node = null, - nodeEventType = "", treeEventType = "", - nodeEventCallback = null, treeEventCallback = null; - - if (tools.eqs(e.type, "mouseover")) { - if (setting.check.enable && tools.eqs(target.tagName, "span") && target.getAttribute("treeNode"+ consts.id.CHECK) !== null) { - tId = tools.getNodeMainDom(target).id; - nodeEventType = "mouseoverCheck"; - } - } else if (tools.eqs(e.type, "mouseout")) { - if (setting.check.enable && tools.eqs(target.tagName, "span") && target.getAttribute("treeNode"+ consts.id.CHECK) !== null) { - tId = tools.getNodeMainDom(target).id; - nodeEventType = "mouseoutCheck"; - } - } else if (tools.eqs(e.type, "click")) { - if (setting.check.enable && tools.eqs(target.tagName, "span") && target.getAttribute("treeNode"+ consts.id.CHECK) !== null) { - tId = tools.getNodeMainDom(target).id; - nodeEventType = "checkNode"; - } - } - if (tId.length>0) { - node = data.getNodeCache(setting, tId); - switch (nodeEventType) { - case "checkNode" : - nodeEventCallback = _handler.onCheckNode; - break; - case "mouseoverCheck" : - nodeEventCallback = _handler.onMouseoverCheck; - break; - case "mouseoutCheck" : - nodeEventCallback = _handler.onMouseoutCheck; - break; - } - } - var proxyResult = { - stop: nodeEventType === "checkNode", - node: node, - nodeEventType: nodeEventType, - nodeEventCallback: nodeEventCallback, - treeEventType: treeEventType, - treeEventCallback: treeEventCallback - }; - return proxyResult - }, - //default init node of excheck - _initNode = function(setting, level, n, parentNode, isFirstNode, isLastNode, openFlag) { - if (!n) return; - var checkedKey = setting.data.key.checked; - if (typeof n[checkedKey] == "string") n[checkedKey] = tools.eqs(n[checkedKey], "true"); - n[checkedKey] = !!n[checkedKey]; - n.checkedOld = n[checkedKey]; - if (typeof n.nocheck == "string") n.nocheck = tools.eqs(n.nocheck, "true"); - n.nocheck = !!n.nocheck || (setting.check.nocheckInherit && parentNode && !!parentNode.nocheck); - if (typeof n.chkDisabled == "string") n.chkDisabled = tools.eqs(n.chkDisabled, "true"); - n.chkDisabled = !!n.chkDisabled || (setting.check.chkDisabledInherit && parentNode && !!parentNode.chkDisabled); - if (typeof n.halfCheck == "string") n.halfCheck = tools.eqs(n.halfCheck, "true"); - n.halfCheck = !!n.halfCheck; - n.check_Child_State = -1; - n.check_Focus = false; - n.getCheckStatus = function() {return data.getCheckStatus(setting, n);}; - - if (setting.check.chkStyle == consts.radio.STYLE && setting.check.radioType == consts.radio.TYPE_ALL && n[checkedKey] ) { - var r = data.getRoot(setting); - r.radioCheckedList.push(n); - } - }, - //add dom for check - _beforeA = function(setting, node, html) { - var checkedKey = setting.data.key.checked; - if (setting.check.enable) { - data.makeChkFlag(setting, node); - html.push("<span ID='", node.tId, consts.id.CHECK, "' class='", view.makeChkClass(setting, node), "' treeNode", consts.id.CHECK, (node.nocheck === true?" style='display:none;'":""),"></span>"); - } - }, - //update zTreeObj, add method of check - _zTreeTools = function(setting, zTreeTools) { - zTreeTools.checkNode = function(node, checked, checkTypeFlag, callbackFlag) { - var checkedKey = this.setting.data.key.checked; - if (node.chkDisabled === true) return; - if (checked !== true && checked !== false) { - checked = !node[checkedKey]; - } - callbackFlag = !!callbackFlag; - - if (node[checkedKey] === checked && !checkTypeFlag) { - return; - } else if (callbackFlag && tools.apply(this.setting.callback.beforeCheck, [this.setting.treeId, node], true) == false) { - return; - } - if (tools.uCanDo(this.setting) && this.setting.check.enable && node.nocheck !== true) { - node[checkedKey] = checked; - var checkObj = $$(node, consts.id.CHECK, this.setting); - if (checkTypeFlag || this.setting.check.chkStyle === consts.radio.STYLE) view.checkNodeRelation(this.setting, node); - view.setChkClass(this.setting, checkObj, node); - view.repairParentChkClassWithSelf(this.setting, node); - if (callbackFlag) { - this.setting.treeObj.trigger(consts.event.CHECK, [null, this.setting.treeId, node]); - } - } - } - - zTreeTools.checkAllNodes = function(checked) { - view.repairAllChk(this.setting, !!checked); - } - - zTreeTools.getCheckedNodes = function(checked) { - var childKey = this.setting.data.key.children; - checked = (checked !== false); - return data.getTreeCheckedNodes(this.setting, data.getRoot(this.setting)[childKey], checked); - } - - zTreeTools.getChangeCheckedNodes = function() { - var childKey = this.setting.data.key.children; - return data.getTreeChangeCheckedNodes(this.setting, data.getRoot(this.setting)[childKey]); - } - - zTreeTools.setChkDisabled = function(node, disabled, inheritParent, inheritChildren) { - disabled = !!disabled; - inheritParent = !!inheritParent; - inheritChildren = !!inheritChildren; - view.repairSonChkDisabled(this.setting, node, disabled, inheritChildren); - view.repairParentChkDisabled(this.setting, node.getParentNode(), disabled, inheritParent); - } - - var _updateNode = zTreeTools.updateNode; - zTreeTools.updateNode = function(node, checkTypeFlag) { - if (_updateNode) _updateNode.apply(zTreeTools, arguments); - if (!node || !this.setting.check.enable) return; - var nObj = $$(node, this.setting); - if (nObj.get(0) && tools.uCanDo(this.setting)) { - var checkObj = $$(node, consts.id.CHECK, this.setting); - if (checkTypeFlag == true || this.setting.check.chkStyle === consts.radio.STYLE) view.checkNodeRelation(this.setting, node); - view.setChkClass(this.setting, checkObj, node); - view.repairParentChkClassWithSelf(this.setting, node); - } - } - }, - //method of operate data - _data = { - getRadioCheckedList: function(setting) { - var checkedList = data.getRoot(setting).radioCheckedList; - for (var i=0, j=checkedList.length; i<j; i++) { - if(!data.getNodeCache(setting, checkedList[i].tId)) { - checkedList.splice(i, 1); - i--; j--; - } - } - return checkedList; - }, - getCheckStatus: function(setting, node) { - if (!setting.check.enable || node.nocheck || node.chkDisabled) return null; - var checkedKey = setting.data.key.checked, - r = { - checked: node[checkedKey], - half: node.halfCheck ? node.halfCheck : (setting.check.chkStyle == consts.radio.STYLE ? (node.check_Child_State === 2) : (node[checkedKey] ? (node.check_Child_State > -1 && node.check_Child_State < 2) : (node.check_Child_State > 0))) - }; - return r; - }, - getTreeCheckedNodes: function(setting, nodes, checked, results) { - if (!nodes) return []; - var childKey = setting.data.key.children, - checkedKey = setting.data.key.checked, - onlyOne = (checked && setting.check.chkStyle == consts.radio.STYLE && setting.check.radioType == consts.radio.TYPE_ALL); - results = !results ? [] : results; - for (var i = 0, l = nodes.length; i < l; i++) { - if (nodes[i].nocheck !== true && nodes[i].chkDisabled !== true && nodes[i][checkedKey] == checked) { - results.push(nodes[i]); - if(onlyOne) { - break; - } - } - data.getTreeCheckedNodes(setting, nodes[i][childKey], checked, results); - if(onlyOne && results.length > 0) { - break; - } - } - return results; - }, - getTreeChangeCheckedNodes: function(setting, nodes, results) { - if (!nodes) return []; - var childKey = setting.data.key.children, - checkedKey = setting.data.key.checked; - results = !results ? [] : results; - for (var i = 0, l = nodes.length; i < l; i++) { - if (nodes[i].nocheck !== true && nodes[i].chkDisabled !== true && nodes[i][checkedKey] != nodes[i].checkedOld) { - results.push(nodes[i]); - } - data.getTreeChangeCheckedNodes(setting, nodes[i][childKey], results); - } - return results; - }, - makeChkFlag: function(setting, node) { - if (!node) return; - var childKey = setting.data.key.children, - checkedKey = setting.data.key.checked, - chkFlag = -1; - if (node[childKey]) { - for (var i = 0, l = node[childKey].length; i < l; i++) { - var cNode = node[childKey][i]; - var tmp = -1; - if (setting.check.chkStyle == consts.radio.STYLE) { - if (cNode.nocheck === true || cNode.chkDisabled === true) { - tmp = cNode.check_Child_State; - } else if (cNode.halfCheck === true) { - tmp = 2; - } else if (cNode[checkedKey]) { - tmp = 2; - } else { - tmp = cNode.check_Child_State > 0 ? 2:0; - } - if (tmp == 2) { - chkFlag = 2; break; - } else if (tmp == 0){ - chkFlag = 0; - } - } else if (setting.check.chkStyle == consts.checkbox.STYLE) { - if (cNode.nocheck === true || cNode.chkDisabled === true) { - tmp = cNode.check_Child_State; - } else if (cNode.halfCheck === true) { - tmp = 1; - } else if (cNode[checkedKey] ) { - tmp = (cNode.check_Child_State === -1 || cNode.check_Child_State === 2) ? 2 : 1; - } else { - tmp = (cNode.check_Child_State > 0) ? 1 : 0; - } - if (tmp === 1) { - chkFlag = 1; break; - } else if (tmp === 2 && chkFlag > -1 && i > 0 && tmp !== chkFlag) { - chkFlag = 1; break; - } else if (chkFlag === 2 && tmp > -1 && tmp < 2) { - chkFlag = 1; break; - } else if (tmp > -1) { - chkFlag = tmp; - } - } - } - } - node.check_Child_State = chkFlag; - } - }, - //method of event proxy - _event = { - - }, - //method of event handler - _handler = { - onCheckNode: function (event, node) { - if (node.chkDisabled === true) return false; - var setting = data.getSetting(event.data.treeId), - checkedKey = setting.data.key.checked; - if (tools.apply(setting.callback.beforeCheck, [setting.treeId, node], true) == false) return true; - node[checkedKey] = !node[checkedKey]; - view.checkNodeRelation(setting, node); - var checkObj = $$(node, consts.id.CHECK, setting); - view.setChkClass(setting, checkObj, node); - view.repairParentChkClassWithSelf(setting, node); - setting.treeObj.trigger(consts.event.CHECK, [event, setting.treeId, node]); - return true; - }, - onMouseoverCheck: function(event, node) { - if (node.chkDisabled === true) return false; - var setting = data.getSetting(event.data.treeId), - checkObj = $$(node, consts.id.CHECK, setting); - node.check_Focus = true; - view.setChkClass(setting, checkObj, node); - return true; - }, - onMouseoutCheck: function(event, node) { - if (node.chkDisabled === true) return false; - var setting = data.getSetting(event.data.treeId), - checkObj = $$(node, consts.id.CHECK, setting); - node.check_Focus = false; - view.setChkClass(setting, checkObj, node); - return true; - } - }, - //method of tools for zTree - _tools = { - - }, - //method of operate ztree dom - _view = { - checkNodeRelation: function(setting, node) { - var pNode, i, l, - childKey = setting.data.key.children, - checkedKey = setting.data.key.checked, - r = consts.radio; - if (setting.check.chkStyle == r.STYLE) { - var checkedList = data.getRadioCheckedList(setting); - if (node[checkedKey]) { - if (setting.check.radioType == r.TYPE_ALL) { - for (i = checkedList.length-1; i >= 0; i--) { - pNode = checkedList[i]; - if (pNode[checkedKey] && pNode != node) { - pNode[checkedKey] = false; - checkedList.splice(i, 1); - - view.setChkClass(setting, $$(pNode, consts.id.CHECK, setting), pNode); - if (pNode.parentTId != node.parentTId) { - view.repairParentChkClassWithSelf(setting, pNode); - } - } - } - checkedList.push(node); - } else { - var parentNode = (node.parentTId) ? node.getParentNode() : data.getRoot(setting); - for (i = 0, l = parentNode[childKey].length; i < l; i++) { - pNode = parentNode[childKey][i]; - if (pNode[checkedKey] && pNode != node) { - pNode[checkedKey] = false; - view.setChkClass(setting, $$(pNode, consts.id.CHECK, setting), pNode); - } - } - } - } else if (setting.check.radioType == r.TYPE_ALL) { - for (i = 0, l = checkedList.length; i < l; i++) { - if (node == checkedList[i]) { - checkedList.splice(i, 1); - break; - } - } - } - - } else { - if (node[checkedKey] && (!node[childKey] || node[childKey].length==0 || setting.check.chkboxType.Y.indexOf("s") > -1)) { - view.setSonNodeCheckBox(setting, node, true); - } - if (!node[checkedKey] && (!node[childKey] || node[childKey].length==0 || setting.check.chkboxType.N.indexOf("s") > -1)) { - view.setSonNodeCheckBox(setting, node, false); - } - if (node[checkedKey] && setting.check.chkboxType.Y.indexOf("p") > -1) { - view.setParentNodeCheckBox(setting, node, true); - } - if (!node[checkedKey] && setting.check.chkboxType.N.indexOf("p") > -1) { - view.setParentNodeCheckBox(setting, node, false); - } - } - }, - makeChkClass: function(setting, node) { - var checkedKey = setting.data.key.checked, - c = consts.checkbox, r = consts.radio, - fullStyle = ""; - if (node.chkDisabled === true) { - fullStyle = c.DISABLED; - } else if (node.halfCheck) { - fullStyle = c.PART; - } else if (setting.check.chkStyle == r.STYLE) { - fullStyle = (node.check_Child_State < 1)? c.FULL:c.PART; - } else { - fullStyle = node[checkedKey] ? ((node.check_Child_State === 2 || node.check_Child_State === -1) ? c.FULL:c.PART) : ((node.check_Child_State < 1)? c.FULL:c.PART); - } - var chkName = setting.check.chkStyle + "_" + (node[checkedKey] ? c.TRUE : c.FALSE) + "_" + fullStyle; - chkName = (node.check_Focus && node.chkDisabled !== true) ? chkName + "_" + c.FOCUS : chkName; - return consts.className.BUTTON + " " + c.DEFAULT + " " + chkName; - }, - repairAllChk: function(setting, checked) { - if (setting.check.enable && setting.check.chkStyle === consts.checkbox.STYLE) { - var checkedKey = setting.data.key.checked, - childKey = setting.data.key.children, - root = data.getRoot(setting); - for (var i = 0, l = root[childKey].length; i<l ; i++) { - var node = root[childKey][i]; - if (node.nocheck !== true && node.chkDisabled !== true) { - node[checkedKey] = checked; - } - view.setSonNodeCheckBox(setting, node, checked); - } - } - }, - repairChkClass: function(setting, node) { - if (!node) return; - data.makeChkFlag(setting, node); - if (node.nocheck !== true) { - var checkObj = $$(node, consts.id.CHECK, setting); - view.setChkClass(setting, checkObj, node); - } - }, - repairParentChkClass: function(setting, node) { - if (!node || !node.parentTId) return; - var pNode = node.getParentNode(); - view.repairChkClass(setting, pNode); - view.repairParentChkClass(setting, pNode); - }, - repairParentChkClassWithSelf: function(setting, node) { - if (!node) return; - var childKey = setting.data.key.children; - if (node[childKey] && node[childKey].length > 0) { - view.repairParentChkClass(setting, node[childKey][0]); - } else { - view.repairParentChkClass(setting, node); - } - }, - repairSonChkDisabled: function(setting, node, chkDisabled, inherit) { - if (!node) return; - var childKey = setting.data.key.children; - if (node.chkDisabled != chkDisabled) { - node.chkDisabled = chkDisabled; - } - view.repairChkClass(setting, node); - if (node[childKey] && inherit) { - for (var i = 0, l = node[childKey].length; i < l; i++) { - var sNode = node[childKey][i]; - view.repairSonChkDisabled(setting, sNode, chkDisabled, inherit); - } - } - }, - repairParentChkDisabled: function(setting, node, chkDisabled, inherit) { - if (!node) return; - if (node.chkDisabled != chkDisabled && inherit) { - node.chkDisabled = chkDisabled; - } - view.repairChkClass(setting, node); - view.repairParentChkDisabled(setting, node.getParentNode(), chkDisabled, inherit); - }, - setChkClass: function(setting, obj, node) { - if (!obj) return; - if (node.nocheck === true) { - obj.hide(); - } else { - obj.show(); - } - obj.removeClass(); - obj.addClass(view.makeChkClass(setting, node)); - }, - setParentNodeCheckBox: function(setting, node, value, srcNode) { - var childKey = setting.data.key.children, - checkedKey = setting.data.key.checked, - checkObj = $$(node, consts.id.CHECK, setting); - if (!srcNode) srcNode = node; - data.makeChkFlag(setting, node); - if (node.nocheck !== true && node.chkDisabled !== true) { - node[checkedKey] = value; - view.setChkClass(setting, checkObj, node); - if (setting.check.autoCheckTrigger && node != srcNode) { - setting.treeObj.trigger(consts.event.CHECK, [null, setting.treeId, node]); - } - } - if (node.parentTId) { - var pSign = true; - if (!value) { - var pNodes = node.getParentNode()[childKey]; - for (var i = 0, l = pNodes.length; i < l; i++) { - if ((pNodes[i].nocheck !== true && pNodes[i].chkDisabled !== true && pNodes[i][checkedKey]) - || ((pNodes[i].nocheck === true || pNodes[i].chkDisabled === true) && pNodes[i].check_Child_State > 0)) { - pSign = false; - break; - } - } - } - if (pSign) { - view.setParentNodeCheckBox(setting, node.getParentNode(), value, srcNode); - } - } - }, - setSonNodeCheckBox: function(setting, node, value, srcNode) { - if (!node) return; - var childKey = setting.data.key.children, - checkedKey = setting.data.key.checked, - checkObj = $$(node, consts.id.CHECK, setting); - if (!srcNode) srcNode = node; - - var hasDisable = false; - if (node[childKey]) { - for (var i = 0, l = node[childKey].length; i < l && node.chkDisabled !== true; i++) { - var sNode = node[childKey][i]; - view.setSonNodeCheckBox(setting, sNode, value, srcNode); - if (sNode.chkDisabled === true) hasDisable = true; - } - } - - if (node != data.getRoot(setting) && node.chkDisabled !== true) { - if (hasDisable && node.nocheck !== true) { - data.makeChkFlag(setting, node); - } - if (node.nocheck !== true && node.chkDisabled !== true) { - node[checkedKey] = value; - if (!hasDisable) node.check_Child_State = (node[childKey] && node[childKey].length > 0) ? (value ? 2 : 0) : -1; - } else { - node.check_Child_State = -1; - } - view.setChkClass(setting, checkObj, node); - if (setting.check.autoCheckTrigger && node != srcNode && node.nocheck !== true && node.chkDisabled !== true) { - setting.treeObj.trigger(consts.event.CHECK, [null, setting.treeId, node]); - } - } - - } - }, - - _z = { - tools: _tools, - view: _view, - event: _event, - data: _data - }; - $.extend(true, $.fn.zTree.consts, _consts); - $.extend(true, $.fn.zTree._z, _z); - - var zt = $.fn.zTree, - tools = zt._z.tools, - consts = zt.consts, - view = zt._z.view, - data = zt._z.data, - event = zt._z.event, - $$ = tools.$; - - data.exSetting(_setting); - data.addInitBind(_bindEvent); - data.addInitUnBind(_unbindEvent); - data.addInitCache(_initCache); - data.addInitNode(_initNode); - data.addInitProxy(_eventProxy, true); - data.addInitRoot(_initRoot); - data.addBeforeA(_beforeA); - data.addZTreeTools(_zTreeTools); - - var _createNodes = view.createNodes; - view.createNodes = function(setting, level, nodes, parentNode) { - if (_createNodes) _createNodes.apply(view, arguments); - if (!nodes) return; - view.repairParentChkClassWithSelf(setting, parentNode); - } - var _removeNode = view.removeNode; - view.removeNode = function(setting, node) { - var parentNode = node.getParentNode(); - if (_removeNode) _removeNode.apply(view, arguments); - if (!node || !parentNode) return; - view.repairChkClass(setting, parentNode); - view.repairParentChkClass(setting, parentNode); - } - - var _appendNodes = view.appendNodes; - view.appendNodes = function(setting, level, nodes, parentNode, initFlag, openFlag) { - var html = ""; - if (_appendNodes) { - html = _appendNodes.apply(view, arguments); - } - if (parentNode) { - data.makeChkFlag(setting, parentNode); - } - return html; - } -})(jQuery); -/* - * JQuery zTree exedit v3.5.16 - * http://zTree.me/ - * - * Copyright (c) 2010 Hunter.z - * - * Licensed same as jquery - MIT License - * http://www.opensource.org/licenses/mit-license.php - * - * email: hunter.z@263.net - * Date: 2014-03-09 - */ -(function($){ - //default consts of exedit - var _consts = { - 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" - } - }, - //default setting of exedit - _setting = { - edit: { - enable: false, - editNameSelectAll: false, - showRemoveBtn: true, - showRenameBtn: true, - removeTitle: "remove", - renameTitle: "rename", - drag: { - autoExpandTrigger: false, - isCopy: true, - isMove: true, - prev: true, - next: true, - inner: true, - 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, - onDragMove:null, - onDrop:null, - onRename:null - } - }, - //default root of exedit - _initRoot = function (setting) { - var r = data.getRoot(setting), rs = data.getRoots(); - r.curEditNode = null; - r.curEditInput = null; - r.curHoverNode = null; - r.dragFlag = 0; - r.dragNodeShowBefore = []; - r.dragMaskList = new Array(); - rs.showHoverDom = true; - }, - //default cache of exedit - _initCache = function(treeId) {}, - //default bind event of exedit - _bindEvent = function(setting) { - var o = setting.treeObj; - var c = consts.event; - o.bind(c.RENAME, function (event, treeId, treeNode, isCancel) { - tools.apply(setting.callback.onRename, [event, treeId, treeNode, isCancel]); - }); - - o.bind(c.DRAG, function (event, srcEvent, treeId, treeNodes) { - 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]); - }); - }, - _unbindEvent = function(setting) { - var o = setting.treeObj; - var c = consts.event; - o.unbind(c.RENAME); - o.unbind(c.DRAG); - o.unbind(c.DRAGMOVE); - o.unbind(c.DROP); - }, - //default event proxy of exedit - _eventProxy = function(e) { - var target = e.target, - setting = data.getSetting(e.data.treeId), - relatedTarget = e.relatedTarget, - tId = "", node = null, - nodeEventType = "", treeEventType = "", - nodeEventCallback = null, treeEventCallback = null, - tmp = null; - - if (tools.eqs(e.type, "mouseover")) { - tmp = tools.getMDom(setting, target, [{tagName:"a", attrName:"treeNode"+consts.id.A}]); - if (tmp) { - tId = tools.getNodeMainDom(tmp).id; - nodeEventType = "hoverOverNode"; - } - } else if (tools.eqs(e.type, "mouseout")) { - tmp = tools.getMDom(setting, relatedTarget, [{tagName:"a", attrName:"treeNode"+consts.id.A}]); - if (!tmp) { - tId = "remove"; - nodeEventType = "hoverOutNode"; - } - } else if (tools.eqs(e.type, "mousedown")) { - tmp = tools.getMDom(setting, target, [{tagName:"a", attrName:"treeNode"+consts.id.A}]); - if (tmp) { - tId = tools.getNodeMainDom(tmp).id; - nodeEventType = "mousedownNode"; - } - } - if (tId.length>0) { - node = data.getNodeCache(setting, tId); - switch (nodeEventType) { - case "mousedownNode" : - nodeEventCallback = _handler.onMousedownNode; - break; - case "hoverOverNode" : - nodeEventCallback = _handler.onHoverOverNode; - break; - case "hoverOutNode" : - nodeEventCallback = _handler.onHoverOutNode; - break; - } - } - var proxyResult = { - stop: false, - node: node, - nodeEventType: nodeEventType, - nodeEventCallback: nodeEventCallback, - treeEventType: treeEventType, - treeEventCallback: treeEventCallback - }; - return proxyResult - }, - //default init node of exedit - _initNode = function(setting, level, n, parentNode, isFirstNode, isLastNode, openFlag) { - if (!n) return; - n.isHover = false; - n.editNameFlag = false; - }, - //update zTreeObj, add method of edit - _zTreeTools = function(setting, zTreeTools) { - zTreeTools.cancelEditName = function(newName) { - var root = data.getRoot(this.setting); - if (!root.curEditNode) return; - view.cancelCurEditNode(this.setting, newName?newName:null, true); - } - zTreeTools.copyNode = function(targetNode, node, moveType, isSilent) { - if (!node) return null; - if (targetNode && !targetNode.isParent && this.setting.data.keep.leaf && moveType === consts.move.TYPE_INNER) return null; - var _this = this, - newNode = tools.clone(node); - if (!targetNode) { - targetNode = null; - moveType = consts.move.TYPE_INNER; - } - if (moveType == consts.move.TYPE_INNER) { - function copyCallback() { - view.addNodes(_this.setting, targetNode, [newNode], isSilent); - } - - if (tools.canAsync(this.setting, targetNode)) { - view.asyncNode(this.setting, targetNode, isSilent, copyCallback); - } else { - copyCallback(); - } - } else { - view.addNodes(this.setting, targetNode.parentNode, [newNode], isSilent); - view.moveNode(this.setting, targetNode, newNode, moveType, false, isSilent); - } - return newNode; - } - zTreeTools.editName = function(node) { - if (!node || !node.tId || node !== data.getNodeCache(this.setting, node.tId)) return; - if (node.parentTId) view.expandCollapseParentNode(this.setting, node.getParentNode(), true); - view.editNode(this.setting, node) - } - zTreeTools.moveNode = function(targetNode, node, moveType, isSilent) { - if (!node) return node; - if (targetNode && !targetNode.isParent && this.setting.data.keep.leaf && moveType === consts.move.TYPE_INNER) { - return null; - } else if (targetNode && ((node.parentTId == targetNode.tId && moveType == consts.move.TYPE_INNER) || $$(node, this.setting).find("#" + targetNode.tId).length > 0)) { - return null; - } else if (!targetNode) { - targetNode = null; - } - var _this = this; - function moveCallback() { - view.moveNode(_this.setting, targetNode, node, moveType, false, isSilent); - } - if (tools.canAsync(this.setting, targetNode) && moveType === consts.move.TYPE_INNER) { - view.asyncNode(this.setting, targetNode, isSilent, moveCallback); - } else { - moveCallback(); - } - return node; - } - zTreeTools.setEditable = function(editable) { - this.setting.edit.enable = editable; - return this.refresh(); - } - }, - //method of operate data - _data = { - setSonNodeLevel: function(setting, parentNode, node) { - if (!node) return; - var childKey = setting.data.key.children; - node.level = (parentNode)? parentNode.level + 1 : 0; - if (!node[childKey]) return; - for (var i = 0, l = node[childKey].length; i < l; i++) { - if (node[childKey][i]) data.setSonNodeLevel(setting, node, node[childKey][i]); - } - } - }, - //method of event proxy - _event = { - - }, - //method of event handler - _handler = { - onHoverOverNode: function(event, node) { - var setting = data.getSetting(event.data.treeId), - root = data.getRoot(setting); - if (root.curHoverNode != node) { - _handler.onHoverOutNode(event); - } - root.curHoverNode = node; - view.addHoverDom(setting, node); - }, - onHoverOutNode: function(event, node) { - var setting = data.getSetting(event.data.treeId), - root = data.getRoot(setting); - if (root.curHoverNode && !data.isSelectedNode(setting, root.curHoverNode)) { - view.removeTreeDom(setting, root.curHoverNode); - root.curHoverNode = null; - } - }, - onMousedownNode: function(eventMouseDown, _node) { - var i,l, - setting = data.getSetting(eventMouseDown.data.treeId), - root = data.getRoot(setting), roots = data.getRoots(); - //right click can't drag & drop - if (eventMouseDown.button == 2 || !setting.edit.enable || (!setting.edit.drag.isCopy && !setting.edit.drag.isMove)) return true; - - //input of edit node name can't drag & drop - var target = eventMouseDown.target, - _nodes = data.getRoot(setting).curSelectedList, - nodes = []; - if (!data.isSelectedNode(setting, _node)) { - nodes = [_node]; - } else { - for (i=0, l=_nodes.length; i<l; i++) { - if (_nodes[i].editNameFlag && tools.eqs(target.tagName, "input") && target.getAttribute("treeNode"+consts.id.INPUT) !== null) { - return true; - } - nodes.push(_nodes[i]); - if (nodes[0].parentTId !== _nodes[i].parentTId) { - nodes = [_node]; - break; - } - } - } - - view.editNodeBlur = true; - view.cancelCurEditNode(setting); - - var doc = $(setting.treeObj.get(0).ownerDocument), - body = $(setting.treeObj.get(0).ownerDocument.body), curNode, tmpArrow, tmpTarget, - isOtherTree = false, - targetSetting = setting, - sourceSetting = setting, - preNode, nextNode, - preTmpTargetNodeId = null, - preTmpMoveType = null, - tmpTargetNodeId = null, - moveType = consts.move.TYPE_INNER, - mouseDownX = eventMouseDown.clientX, - mouseDownY = eventMouseDown.clientY, - startTime = (new Date()).getTime(); - - if (tools.uCanDo(setting)) { - doc.bind("mousemove", _docMouseMove); - } - function _docMouseMove(event) { - //avoid start drag after click node - if (root.dragFlag == 0 && Math.abs(mouseDownX - event.clientX) < setting.edit.drag.minMoveSize - && Math.abs(mouseDownY - event.clientY) < setting.edit.drag.minMoveSize) { - return true; - } - var i, l, tmpNode, tmpDom, tmpNodes, - childKey = setting.data.key.children; - body.css("cursor", "pointer"); - - if (root.dragFlag == 0) { - if (tools.apply(setting.callback.beforeDrag, [setting.treeId, nodes], true) == false) { - _docMouseUp(event); - return true; - } - - for (i=0, l=nodes.length; i<l; i++) { - if (i==0) { - root.dragNodeShowBefore = []; - } - tmpNode = nodes[i]; - if (tmpNode.isParent && tmpNode.open) { - view.expandCollapseNode(setting, tmpNode, !tmpNode.open); - root.dragNodeShowBefore[tmpNode.tId] = true; - } else { - root.dragNodeShowBefore[tmpNode.tId] = false; - } - } - - root.dragFlag = 1; - roots.showHoverDom = false; - tools.showIfameMask(setting, true); - - //sort - var isOrder = true, lastIndex = -1; - if (nodes.length>1) { - var pNodes = nodes[0].parentTId ? nodes[0].getParentNode()[childKey] : data.getNodes(setting); - tmpNodes = []; - for (i=0, l=pNodes.length; i<l; i++) { - if (root.dragNodeShowBefore[pNodes[i].tId] !== undefined) { - if (isOrder && lastIndex > -1 && (lastIndex+1) !== i) { - isOrder = false; - } - tmpNodes.push(pNodes[i]); - lastIndex = i; - } - if (nodes.length === tmpNodes.length) { - nodes = tmpNodes; - break; - } - } - } - if (isOrder) { - preNode = nodes[0].getPreNode(); - nextNode = nodes[nodes.length-1].getNextNode(); - } - - //set node in selected - curNode = $$("<ul class='zTreeDragUL'></ul>", setting); - for (i=0, l=nodes.length; i<l; i++) { - tmpNode = nodes[i]; - tmpNode.editNameFlag = false; - view.selectNode(setting, tmpNode, i>0); - view.removeTreeDom(setting, tmpNode); - - if (i > setting.edit.drag.maxShowNodeNum-1) { - continue; - } - - tmpDom = $$("<li id='"+ tmpNode.tId +"_tmp'></li>", setting); - tmpDom.append($$(tmpNode, consts.id.A, setting).clone()); - tmpDom.css("padding", "0"); - tmpDom.children("#" + tmpNode.tId + consts.id.A).removeClass(consts.node.CURSELECTED); - curNode.append(tmpDom); - if (i == setting.edit.drag.maxShowNodeNum-1) { - tmpDom = $$("<li id='"+ tmpNode.tId +"_moretmp'><a> ... </a></li>", setting); - curNode.append(tmpDom); - } - } - curNode.attr("id", nodes[0].tId + consts.id.UL + "_tmp"); - curNode.addClass(setting.treeObj.attr("class")); - curNode.appendTo(body); - - tmpArrow = $$("<span class='tmpzTreeMove_arrow'></span>", setting); - tmpArrow.attr("id", "zTreeMove_arrow_tmp"); - tmpArrow.appendTo(body); - - setting.treeObj.trigger(consts.event.DRAG, [event, setting.treeId, nodes]); - } - - if (root.dragFlag == 1) { - if (tmpTarget && tmpArrow.attr("id") == event.target.id && tmpTargetNodeId && (event.clientX + doc.scrollLeft()+2) > ($("#" + tmpTargetNodeId + consts.id.A, tmpTarget).offset().left)) { - var xT = $("#" + tmpTargetNodeId + consts.id.A, tmpTarget); - event.target = (xT.length > 0) ? xT.get(0) : event.target; - } else if (tmpTarget) { - tmpTarget.removeClass(consts.node.TMPTARGET_TREE); - if (tmpTargetNodeId) $("#" + tmpTargetNodeId + consts.id.A, tmpTarget).removeClass(consts.node.TMPTARGET_NODE + "_" + consts.move.TYPE_PREV) - .removeClass(consts.node.TMPTARGET_NODE + "_" + _consts.move.TYPE_NEXT).removeClass(consts.node.TMPTARGET_NODE + "_" + _consts.move.TYPE_INNER); - } - tmpTarget = null; - tmpTargetNodeId = null; - - //judge drag & drop in multi ztree - isOtherTree = false; - targetSetting = setting; - var settings = data.getSettings(); - for (var s in settings) { - if (settings[s].treeId && settings[s].edit.enable && settings[s].treeId != setting.treeId - && (event.target.id == settings[s].treeId || $(event.target).parents("#" + settings[s].treeId).length>0)) { - isOtherTree = true; - targetSetting = settings[s]; - } - } - - var docScrollTop = doc.scrollTop(), - docScrollLeft = doc.scrollLeft(), - treeOffset = targetSetting.treeObj.offset(), - scrollHeight = targetSetting.treeObj.get(0).scrollHeight, - scrollWidth = targetSetting.treeObj.get(0).scrollWidth, - dTop = (event.clientY + docScrollTop - treeOffset.top), - dBottom = (targetSetting.treeObj.height() + treeOffset.top - event.clientY - docScrollTop), - dLeft = (event.clientX + docScrollLeft - treeOffset.left), - dRight = (targetSetting.treeObj.width() + treeOffset.left - event.clientX - docScrollLeft), - isTop = (dTop < setting.edit.drag.borderMax && dTop > setting.edit.drag.borderMin), - isBottom = (dBottom < setting.edit.drag.borderMax && dBottom > setting.edit.drag.borderMin), - isLeft = (dLeft < setting.edit.drag.borderMax && dLeft > setting.edit.drag.borderMin), - isRight = (dRight < setting.edit.drag.borderMax && dRight > setting.edit.drag.borderMin), - isTreeInner = dTop > setting.edit.drag.borderMin && dBottom > setting.edit.drag.borderMin && dLeft > setting.edit.drag.borderMin && dRight > setting.edit.drag.borderMin, - isTreeTop = (isTop && targetSetting.treeObj.scrollTop() <= 0), - isTreeBottom = (isBottom && (targetSetting.treeObj.scrollTop() + targetSetting.treeObj.height()+10) >= scrollHeight), - isTreeLeft = (isLeft && targetSetting.treeObj.scrollLeft() <= 0), - isTreeRight = (isRight && (targetSetting.treeObj.scrollLeft() + targetSetting.treeObj.width()+10) >= scrollWidth); - - if (event.target && tools.isChildOrSelf(event.target, targetSetting.treeId)) { - //get node <li> dom - var targetObj = event.target; - while (targetObj && targetObj.tagName && !tools.eqs(targetObj.tagName, "li") && targetObj.id != targetSetting.treeId) { - targetObj = targetObj.parentNode; - } - - var canMove = true; - //don't move to self or children of self - for (i=0, l=nodes.length; i<l; i++) { - tmpNode = nodes[i]; - if (targetObj.id === tmpNode.tId) { - canMove = false; - break; - } else if ($$(tmpNode, setting).find("#" + targetObj.id).length > 0) { - canMove = false; - break; - } - } - if (canMove && event.target && tools.isChildOrSelf(event.target, targetObj.id + consts.id.A)) { - tmpTarget = $(targetObj); - tmpTargetNodeId = targetObj.id; - } - } - - //the mouse must be in zTree - tmpNode = nodes[0]; - if (isTreeInner && tools.isChildOrSelf(event.target, targetSetting.treeId)) { - //judge mouse move in root of ztree - if (!tmpTarget && (event.target.id == targetSetting.treeId || isTreeTop || isTreeBottom || isTreeLeft || isTreeRight) && (isOtherTree || (!isOtherTree && tmpNode.parentTId))) { - tmpTarget = targetSetting.treeObj; - } - //auto scroll top - if (isTop) { - targetSetting.treeObj.scrollTop(targetSetting.treeObj.scrollTop()-10); - } else if (isBottom) { - targetSetting.treeObj.scrollTop(targetSetting.treeObj.scrollTop()+10); - } - if (isLeft) { - targetSetting.treeObj.scrollLeft(targetSetting.treeObj.scrollLeft()-10); - } else if (isRight) { - targetSetting.treeObj.scrollLeft(targetSetting.treeObj.scrollLeft()+10); - } - //auto scroll left - if (tmpTarget && tmpTarget != targetSetting.treeObj && tmpTarget.offset().left < targetSetting.treeObj.offset().left) { - targetSetting.treeObj.scrollLeft(targetSetting.treeObj.scrollLeft()+ tmpTarget.offset().left - targetSetting.treeObj.offset().left); - } - } - - curNode.css({ - "top": (event.clientY + docScrollTop + 3) + "px", - "left": (event.clientX + docScrollLeft + 3) + "px" - }); - - var dX = 0; - var dY = 0; - if (tmpTarget && tmpTarget.attr("id")!=targetSetting.treeId) { - var tmpTargetNode = tmpTargetNodeId == null ? null: data.getNodeCache(targetSetting, tmpTargetNodeId), - isCopy = ((event.ctrlKey || event.metaKey) && setting.edit.drag.isMove && setting.edit.drag.isCopy) || (!setting.edit.drag.isMove && setting.edit.drag.isCopy), - isPrev = !!(preNode && tmpTargetNodeId === preNode.tId), - isNext = !!(nextNode && tmpTargetNodeId === nextNode.tId), - isInner = (tmpNode.parentTId && tmpNode.parentTId == tmpTargetNodeId), - canPrev = (isCopy || !isNext) && tools.apply(targetSetting.edit.drag.prev, [targetSetting.treeId, nodes, tmpTargetNode], !!targetSetting.edit.drag.prev), - canNext = (isCopy || !isPrev) && tools.apply(targetSetting.edit.drag.next, [targetSetting.treeId, nodes, tmpTargetNode], !!targetSetting.edit.drag.next), - canInner = (isCopy || !isInner) && !(targetSetting.data.keep.leaf && !tmpTargetNode.isParent) && tools.apply(targetSetting.edit.drag.inner, [targetSetting.treeId, nodes, tmpTargetNode], !!targetSetting.edit.drag.inner); - if (!canPrev && !canNext && !canInner) { - tmpTarget = null; - tmpTargetNodeId = ""; - moveType = consts.move.TYPE_INNER; - tmpArrow.css({ - "display":"none" - }); - if (window.zTreeMoveTimer) { - clearTimeout(window.zTreeMoveTimer); - window.zTreeMoveTargetNodeTId = null - } - } else { - var tmpTargetA = $("#" + tmpTargetNodeId + consts.id.A, tmpTarget), - tmpNextA = tmpTargetNode.isLastNode ? null : $("#" + tmpTargetNode.getNextNode().tId + consts.id.A, tmpTarget.next()), - tmpTop = tmpTargetA.offset().top, - tmpLeft = tmpTargetA.offset().left, - prevPercent = canPrev ? (canInner ? 0.25 : (canNext ? 0.5 : 1) ) : -1, - nextPercent = canNext ? (canInner ? 0.75 : (canPrev ? 0.5 : 0) ) : -1, - dY_percent = (event.clientY + docScrollTop - tmpTop)/tmpTargetA.height(); - if ((prevPercent==1 ||dY_percent<=prevPercent && dY_percent>=-.2) && canPrev) { - dX = 1 - tmpArrow.width(); - dY = tmpTop - tmpArrow.height()/2; - moveType = consts.move.TYPE_PREV; - } else if ((nextPercent==0 || dY_percent>=nextPercent && dY_percent<=1.2) && canNext) { - dX = 1 - tmpArrow.width(); - dY = (tmpNextA == null || (tmpTargetNode.isParent && tmpTargetNode.open)) ? (tmpTop + tmpTargetA.height() - tmpArrow.height()/2) : (tmpNextA.offset().top - tmpArrow.height()/2); - moveType = consts.move.TYPE_NEXT; - }else { - dX = 5 - tmpArrow.width(); - dY = tmpTop; - moveType = consts.move.TYPE_INNER; - } - tmpArrow.css({ - "display":"block", - "top": dY + "px", - "left": (tmpLeft + dX) + "px" - }); - tmpTargetA.addClass(consts.node.TMPTARGET_NODE + "_" + moveType); - - if (preTmpTargetNodeId != tmpTargetNodeId || preTmpMoveType != moveType) { - startTime = (new Date()).getTime(); - } - if (tmpTargetNode && tmpTargetNode.isParent && moveType == consts.move.TYPE_INNER) { - var startTimer = true; - if (window.zTreeMoveTimer && window.zTreeMoveTargetNodeTId !== tmpTargetNode.tId) { - clearTimeout(window.zTreeMoveTimer); - window.zTreeMoveTargetNodeTId = null; - }else if (window.zTreeMoveTimer && window.zTreeMoveTargetNodeTId === tmpTargetNode.tId) { - startTimer = false; - } - if (startTimer) { - window.zTreeMoveTimer = setTimeout(function() { - if (moveType != consts.move.TYPE_INNER) return; - if (tmpTargetNode && tmpTargetNode.isParent && !tmpTargetNode.open && (new Date()).getTime() - startTime > targetSetting.edit.drag.autoOpenTime - && tools.apply(targetSetting.callback.beforeDragOpen, [targetSetting.treeId, tmpTargetNode], true)) { - view.switchNode(targetSetting, tmpTargetNode); - if (targetSetting.edit.drag.autoExpandTrigger) { - targetSetting.treeObj.trigger(consts.event.EXPAND, [targetSetting.treeId, tmpTargetNode]); - } - } - }, targetSetting.edit.drag.autoOpenTime+50); - window.zTreeMoveTargetNodeTId = tmpTargetNode.tId; - } - } - } - } else { - moveType = consts.move.TYPE_INNER; - if (tmpTarget && tools.apply(targetSetting.edit.drag.inner, [targetSetting.treeId, nodes, null], !!targetSetting.edit.drag.inner)) { - tmpTarget.addClass(consts.node.TMPTARGET_TREE); - } else { - tmpTarget = null; - } - tmpArrow.css({ - "display":"none" - }); - if (window.zTreeMoveTimer) { - clearTimeout(window.zTreeMoveTimer); - window.zTreeMoveTargetNodeTId = null; - } - } - preTmpTargetNodeId = tmpTargetNodeId; - preTmpMoveType = moveType; - - setting.treeObj.trigger(consts.event.DRAGMOVE, [event, setting.treeId, nodes]); - } - return false; - } - - doc.bind("mouseup", _docMouseUp); - function _docMouseUp(event) { - if (window.zTreeMoveTimer) { - clearTimeout(window.zTreeMoveTimer); - window.zTreeMoveTargetNodeTId = null; - } - preTmpTargetNodeId = null; - preTmpMoveType = null; - doc.unbind("mousemove", _docMouseMove); - doc.unbind("mouseup", _docMouseUp); - doc.unbind("selectstart", _docSelect); - body.css("cursor", "auto"); - if (tmpTarget) { - tmpTarget.removeClass(consts.node.TMPTARGET_TREE); - if (tmpTargetNodeId) $("#" + tmpTargetNodeId + consts.id.A, tmpTarget).removeClass(consts.node.TMPTARGET_NODE + "_" + consts.move.TYPE_PREV) - .removeClass(consts.node.TMPTARGET_NODE + "_" + _consts.move.TYPE_NEXT).removeClass(consts.node.TMPTARGET_NODE + "_" + _consts.move.TYPE_INNER); - } - tools.showIfameMask(setting, false); - - roots.showHoverDom = true; - if (root.dragFlag == 0) return; - root.dragFlag = 0; - - var i, l, tmpNode; - for (i=0, l=nodes.length; i<l; i++) { - tmpNode = nodes[i]; - if (tmpNode.isParent && root.dragNodeShowBefore[tmpNode.tId] && !tmpNode.open) { - view.expandCollapseNode(setting, tmpNode, !tmpNode.open); - delete root.dragNodeShowBefore[tmpNode.tId]; - } - } - - if (curNode) curNode.remove(); - if (tmpArrow) tmpArrow.remove(); - - var isCopy = ((event.ctrlKey || event.metaKey) && setting.edit.drag.isMove && setting.edit.drag.isCopy) || (!setting.edit.drag.isMove && setting.edit.drag.isCopy); - if (!isCopy && tmpTarget && tmpTargetNodeId && nodes[0].parentTId && tmpTargetNodeId==nodes[0].parentTId && moveType == consts.move.TYPE_INNER) { - tmpTarget = null; - } - if (tmpTarget) { - var dragTargetNode = tmpTargetNodeId == null ? null: data.getNodeCache(targetSetting, tmpTargetNodeId); - if (tools.apply(setting.callback.beforeDrop, [targetSetting.treeId, nodes, dragTargetNode, moveType, isCopy], true) == false) { - view.selectNodes(sourceSetting, nodes); - return; - } - var newNodes = isCopy ? tools.clone(nodes) : nodes; - - function dropCallback() { - if (isOtherTree) { - if (!isCopy) { - for(var i=0, l=nodes.length; i<l; i++) { - view.removeNode(setting, nodes[i]); - } - } - if (moveType == consts.move.TYPE_INNER) { - view.addNodes(targetSetting, dragTargetNode, newNodes); - } else { - view.addNodes(targetSetting, dragTargetNode.getParentNode(), newNodes); - if (moveType == consts.move.TYPE_PREV) { - for (i=0, l=newNodes.length; i<l; i++) { - view.moveNode(targetSetting, dragTargetNode, newNodes[i], moveType, false); - } - } else { - for (i=-1, l=newNodes.length-1; i<l; l--) { - view.moveNode(targetSetting, dragTargetNode, newNodes[l], moveType, false); - } - } - } - } else { - if (isCopy && moveType == consts.move.TYPE_INNER) { - view.addNodes(targetSetting, dragTargetNode, newNodes); - } else { - if (isCopy) { - view.addNodes(targetSetting, dragTargetNode.getParentNode(), newNodes); - } - if (moveType != consts.move.TYPE_NEXT) { - for (i=0, l=newNodes.length; i<l; i++) { - view.moveNode(targetSetting, dragTargetNode, newNodes[i], moveType, false); - } - } else { - for (i=-1, l=newNodes.length-1; i<l; l--) { - view.moveNode(targetSetting, dragTargetNode, newNodes[l], moveType, false); - } - } - } - } - view.selectNodes(targetSetting, newNodes); - $$(newNodes[0], setting).focus().blur(); - - setting.treeObj.trigger(consts.event.DROP, [event, targetSetting.treeId, newNodes, dragTargetNode, moveType, isCopy]); - } - - if (moveType == consts.move.TYPE_INNER && tools.canAsync(targetSetting, dragTargetNode)) { - view.asyncNode(targetSetting, dragTargetNode, false, dropCallback); - } else { - dropCallback(); - } - - } else { - view.selectNodes(sourceSetting, nodes); - setting.treeObj.trigger(consts.event.DROP, [event, setting.treeId, nodes, null, null, null]); - } - } - - doc.bind("selectstart", _docSelect); - function _docSelect() { - return false; - } - - //Avoid FireFox's Bug - //If zTree Div CSS set 'overflow', so drag node outside of zTree, and event.target is error. - if(eventMouseDown.preventDefault) { - eventMouseDown.preventDefault(); - } - return true; - } - }, - //method of tools for zTree - _tools = { - getAbs: function (obj) { - var oRect = obj.getBoundingClientRect(), - scrollTop = document.body.scrollTop+document.documentElement.scrollTop, - scrollLeft = document.body.scrollLeft+document.documentElement.scrollLeft; - return [oRect.left+scrollLeft,oRect.top+scrollTop]; - }, - inputFocus: function(inputObj) { - if (inputObj.get(0)) { - inputObj.focus(); - tools.setCursorPosition(inputObj.get(0), inputObj.val().length); - } - }, - inputSelect: function(inputObj) { - if (inputObj.get(0)) { - inputObj.focus(); - inputObj.select(); - } - }, - setCursorPosition: function(obj, pos){ - if(obj.setSelectionRange) { - obj.focus(); - obj.setSelectionRange(pos,pos); - } else if (obj.createTextRange) { - var range = obj.createTextRange(); - range.collapse(true); - range.moveEnd('character', pos); - range.moveStart('character', pos); - range.select(); - } - }, - showIfameMask: function(setting, showSign) { - var root = data.getRoot(setting); - //clear full mask - while (root.dragMaskList.length > 0) { - root.dragMaskList[0].remove(); - root.dragMaskList.shift(); - } - if (showSign) { - //show mask - var iframeList = $$("iframe", setting); - for (var i = 0, l = iframeList.length; i < l; i++) { - var obj = iframeList.get(i), - r = tools.getAbs(obj), - dragMask = $$("<div id='zTreeMask_" + i + "' class='zTreeMask' style='top:" + r[1] + "px; left:" + r[0] + "px; width:" + obj.offsetWidth + "px; height:" + obj.offsetHeight + "px;'></div>", setting); - dragMask.appendTo($$("body", setting)); - root.dragMaskList.push(dragMask); - } - } - } - }, - //method of operate ztree dom - _view = { - addEditBtn: function(setting, node) { - if (node.editNameFlag || $$(node, consts.id.EDIT, setting).length > 0) { - return; - } - if (!tools.apply(setting.edit.showRenameBtn, [setting.treeId, node], setting.edit.showRenameBtn)) { - return; - } - var aObj = $$(node, consts.id.A, setting), - editStr = "<span class='" + consts.className.BUTTON + " edit' id='" + node.tId + consts.id.EDIT + "' title='"+tools.apply(setting.edit.renameTitle, [setting.treeId, node], setting.edit.renameTitle)+"' treeNode"+consts.id.EDIT+" style='display:none;'></span>"; - aObj.append(editStr); - - $$(node, consts.id.EDIT, setting).bind('click', - function() { - if (!tools.uCanDo(setting) || tools.apply(setting.callback.beforeEditName, [setting.treeId, node], true) == false) return false; - view.editNode(setting, node); - return false; - } - ).show(); - }, - addRemoveBtn: function(setting, node) { - if (node.editNameFlag || $$(node, consts.id.REMOVE, setting).length > 0) { - return; - } - if (!tools.apply(setting.edit.showRemoveBtn, [setting.treeId, node], setting.edit.showRemoveBtn)) { - return; - } - var aObj = $$(node, consts.id.A, setting), - removeStr = "<span class='" + consts.className.BUTTON + " remove' id='" + node.tId + consts.id.REMOVE + "' title='"+tools.apply(setting.edit.removeTitle, [setting.treeId, node], setting.edit.removeTitle)+"' treeNode"+consts.id.REMOVE+" style='display:none;'></span>"; - aObj.append(removeStr); - - $$(node, consts.id.REMOVE, setting).bind('click', - function() { - if (!tools.uCanDo(setting) || tools.apply(setting.callback.beforeRemove, [setting.treeId, node], true) == false) return false; - view.removeNode(setting, node); - setting.treeObj.trigger(consts.event.REMOVE, [setting.treeId, node]); - return false; - } - ).bind('mousedown', - function(eventMouseDown) { - return true; - } - ).show(); - }, - addHoverDom: function(setting, node) { - if (data.getRoots().showHoverDom) { - node.isHover = true; - if (setting.edit.enable) { - //view.addEditBtn(setting, node); - view.addRemoveBtn(setting, node); - view.addEditBtn(setting, node); - } - tools.apply(setting.view.addHoverDom, [setting.treeId, node]); - } - }, - cancelCurEditNode: function (setting, forceName, isCancel) { - var root = data.getRoot(setting), - nameKey = setting.data.key.name, - node = root.curEditNode; - - if (node) { - var inputObj = root.curEditInput, - newName = forceName ? forceName:(isCancel ? node[nameKey]: inputObj.val()); - if (tools.apply(setting.callback.beforeRename, [setting.treeId, node, newName, isCancel], true) === false) { - return false; - } else { - node[nameKey] = newName; - setting.treeObj.trigger(consts.event.RENAME, [setting.treeId, node, isCancel]); - } - var aObj = $$(node, consts.id.A, setting); - aObj.removeClass(consts.node.CURSELECTED_EDIT); - inputObj.unbind(); - view.setNodeName(setting, node); - node.editNameFlag = false; - root.curEditNode = null; - root.curEditInput = null; - view.selectNode(setting, node, false); - } - root.noSelection = true; - return true; - }, - editNode: function(setting, node) { - var root = data.getRoot(setting); - view.editNodeBlur = false; - if (data.isSelectedNode(setting, node) && root.curEditNode == node && node.editNameFlag) { - setTimeout(function() {tools.inputFocus(root.curEditInput);}, 0); - return; - } - var nameKey = setting.data.key.name; - node.editNameFlag = true; - view.removeTreeDom(setting, node); - view.cancelCurEditNode(setting); - view.selectNode(setting, node, false); - $$(node, consts.id.SPAN, setting).html("<input type=text class='rename' id='" + node.tId + consts.id.INPUT + "' treeNode" + consts.id.INPUT + " >"); - var inputObj = $$(node, consts.id.INPUT, setting); - inputObj.attr("value", node[nameKey]); - if (setting.edit.editNameSelectAll) { - tools.inputSelect(inputObj); - } else { - tools.inputFocus(inputObj); - } - - inputObj.bind('blur', function(event) { - if (!view.editNodeBlur) { - view.cancelCurEditNode(setting); - } - }).bind('keydown', function(event) { - if (event.keyCode=="13") { - view.editNodeBlur = true; - view.cancelCurEditNode(setting); - } else if (event.keyCode=="27") { - view.cancelCurEditNode(setting, null, true); - } - }).bind('click', function(event) { - return false; - }).bind('dblclick', function(event) { - return false; - }); - - $$(node, consts.id.A, setting).addClass(consts.node.CURSELECTED_EDIT); - root.curEditInput = inputObj; - root.noSelection = false; - root.curEditNode = node; - }, - moveNode: function(setting, targetNode, node, moveType, animateFlag, isSilent) { - var root = data.getRoot(setting), - childKey = setting.data.key.children; - if (targetNode == node) return; - if (setting.data.keep.leaf && targetNode && !targetNode.isParent && moveType == consts.move.TYPE_INNER) return; - var oldParentNode = (node.parentTId ? node.getParentNode(): root), - targetNodeIsRoot = (targetNode === null || targetNode == root); - if (targetNodeIsRoot && targetNode === null) targetNode = root; - if (targetNodeIsRoot) moveType = consts.move.TYPE_INNER; - var targetParentNode = (targetNode.parentTId ? targetNode.getParentNode() : root); - - if (moveType != consts.move.TYPE_PREV && moveType != consts.move.TYPE_NEXT) { - moveType = consts.move.TYPE_INNER; - } - - if (moveType == consts.move.TYPE_INNER) { - if (targetNodeIsRoot) { - //parentTId of root node is null - node.parentTId = null; - } else { - if (!targetNode.isParent) { - targetNode.isParent = true; - targetNode.open = !!targetNode.open; - view.setNodeLineIcos(setting, targetNode); - } - node.parentTId = targetNode.tId; - } - } - - //move node Dom - var targetObj, target_ulObj; - if (targetNodeIsRoot) { - targetObj = setting.treeObj; - target_ulObj = targetObj; - } else { - if (!isSilent && moveType == consts.move.TYPE_INNER) { - view.expandCollapseNode(setting, targetNode, true, false); - } else if (!isSilent) { - view.expandCollapseNode(setting, targetNode.getParentNode(), true, false); - } - targetObj = $$(targetNode, setting); - target_ulObj = $$(targetNode, consts.id.UL, setting); - if (!!targetObj.get(0) && !target_ulObj.get(0)) { - var ulstr = []; - view.makeUlHtml(setting, targetNode, ulstr, ''); - targetObj.append(ulstr.join('')); - } - target_ulObj = $$(targetNode, consts.id.UL, setting); - } - var nodeDom = $$(node, setting); - if (!nodeDom.get(0)) { - nodeDom = view.appendNodes(setting, node.level, [node], null, false, true).join(''); - } else if (!targetObj.get(0)) { - nodeDom.remove(); - } - if (target_ulObj.get(0) && moveType == consts.move.TYPE_INNER) { - target_ulObj.append(nodeDom); - } else if (targetObj.get(0) && moveType == consts.move.TYPE_PREV) { - targetObj.before(nodeDom); - } else if (targetObj.get(0) && moveType == consts.move.TYPE_NEXT) { - targetObj.after(nodeDom); - } - - //repair the data after move - var i,l, - tmpSrcIndex = -1, - tmpTargetIndex = 0, - oldNeighbor = null, - newNeighbor = null, - oldLevel = node.level; - if (node.isFirstNode) { - tmpSrcIndex = 0; - if (oldParentNode[childKey].length > 1 ) { - oldNeighbor = oldParentNode[childKey][1]; - oldNeighbor.isFirstNode = true; - } - } else if (node.isLastNode) { - tmpSrcIndex = oldParentNode[childKey].length -1; - oldNeighbor = oldParentNode[childKey][tmpSrcIndex - 1]; - oldNeighbor.isLastNode = true; - } else { - for (i = 0, l = oldParentNode[childKey].length; i < l; i++) { - if (oldParentNode[childKey][i].tId == node.tId) { - tmpSrcIndex = i; - break; - } - } - } - if (tmpSrcIndex >= 0) { - oldParentNode[childKey].splice(tmpSrcIndex, 1); - } - if (moveType != consts.move.TYPE_INNER) { - for (i = 0, l = targetParentNode[childKey].length; i < l; i++) { - if (targetParentNode[childKey][i].tId == targetNode.tId) tmpTargetIndex = i; - } - } - if (moveType == consts.move.TYPE_INNER) { - if (!targetNode[childKey]) targetNode[childKey] = new Array(); - if (targetNode[childKey].length > 0) { - newNeighbor = targetNode[childKey][targetNode[childKey].length - 1]; - newNeighbor.isLastNode = false; - } - targetNode[childKey].splice(targetNode[childKey].length, 0, node); - node.isLastNode = true; - node.isFirstNode = (targetNode[childKey].length == 1); - } else if (targetNode.isFirstNode && moveType == consts.move.TYPE_PREV) { - targetParentNode[childKey].splice(tmpTargetIndex, 0, node); - newNeighbor = targetNode; - newNeighbor.isFirstNode = false; - node.parentTId = targetNode.parentTId; - node.isFirstNode = true; - node.isLastNode = false; - - } else if (targetNode.isLastNode && moveType == consts.move.TYPE_NEXT) { - targetParentNode[childKey].splice(tmpTargetIndex + 1, 0, node); - newNeighbor = targetNode; - newNeighbor.isLastNode = false; - node.parentTId = targetNode.parentTId; - node.isFirstNode = false; - node.isLastNode = true; - - } else { - if (moveType == consts.move.TYPE_PREV) { - targetParentNode[childKey].splice(tmpTargetIndex, 0, node); - } else { - targetParentNode[childKey].splice(tmpTargetIndex + 1, 0, node); - } - node.parentTId = targetNode.parentTId; - node.isFirstNode = false; - node.isLastNode = false; - } - data.fixPIdKeyValue(setting, node); - data.setSonNodeLevel(setting, node.getParentNode(), node); - - //repair node what been moved - view.setNodeLineIcos(setting, node); - view.repairNodeLevelClass(setting, node, oldLevel) - - //repair node's old parentNode dom - if (!setting.data.keep.parent && oldParentNode[childKey].length < 1) { - //old parentNode has no child nodes - oldParentNode.isParent = false; - oldParentNode.open = false; - var tmp_ulObj = $$(oldParentNode, consts.id.UL, setting), - tmp_switchObj = $$(oldParentNode, consts.id.SWITCH, setting), - tmp_icoObj = $$(oldParentNode, consts.id.ICON, setting); - view.replaceSwitchClass(oldParentNode, tmp_switchObj, consts.folder.DOCU); - view.replaceIcoClass(oldParentNode, tmp_icoObj, consts.folder.DOCU); - tmp_ulObj.css("display", "none"); - - } else if (oldNeighbor) { - //old neigbor node - view.setNodeLineIcos(setting, oldNeighbor); - } - - //new neigbor node - if (newNeighbor) { - view.setNodeLineIcos(setting, newNeighbor); - } - - //repair checkbox / radio - if (!!setting.check && setting.check.enable && view.repairChkClass) { - view.repairChkClass(setting, oldParentNode); - view.repairParentChkClassWithSelf(setting, oldParentNode); - if (oldParentNode != node.parent) - view.repairParentChkClassWithSelf(setting, node); - } - - //expand parents after move - if (!isSilent) { - view.expandCollapseParentNode(setting, node.getParentNode(), true, animateFlag); - } - }, - removeEditBtn: function(setting, node) { - $$(node, consts.id.EDIT, setting).unbind().remove(); - }, - removeRemoveBtn: function(setting, node) { - $$(node, consts.id.REMOVE, setting).unbind().remove(); - }, - removeTreeDom: function(setting, node) { - node.isHover = false; - view.removeEditBtn(setting, node); - view.removeRemoveBtn(setting, node); - tools.apply(setting.view.removeHoverDom, [setting.treeId, node]); - }, - repairNodeLevelClass: function(setting, node, oldLevel) { - if (oldLevel === node.level) return; - var liObj = $$(node, setting), - aObj = $$(node, consts.id.A, setting), - ulObj = $$(node, consts.id.UL, setting), - oldClass = consts.className.LEVEL + oldLevel, - newClass = consts.className.LEVEL + node.level; - liObj.removeClass(oldClass); - liObj.addClass(newClass); - aObj.removeClass(oldClass); - aObj.addClass(newClass); - ulObj.removeClass(oldClass); - ulObj.addClass(newClass); - }, - selectNodes : function(setting, nodes) { - for (var i=0, l=nodes.length; i<l; i++) { - view.selectNode(setting, nodes[i], i>0); - } - } - }, - - _z = { - tools: _tools, - view: _view, - event: _event, - data: _data - }; - $.extend(true, $.fn.zTree.consts, _consts); - $.extend(true, $.fn.zTree._z, _z); - - var zt = $.fn.zTree, - tools = zt._z.tools, - consts = zt.consts, - view = zt._z.view, - data = zt._z.data, - event = zt._z.event, - $$ = tools.$; - - data.exSetting(_setting); - data.addInitBind(_bindEvent); - data.addInitUnBind(_unbindEvent); - data.addInitCache(_initCache); - data.addInitNode(_initNode); - data.addInitProxy(_eventProxy); - data.addInitRoot(_initRoot); - data.addZTreeTools(_zTreeTools); - - var _cancelPreSelectedNode = view.cancelPreSelectedNode; - view.cancelPreSelectedNode = function (setting, node) { - var list = data.getRoot(setting).curSelectedList; - for (var i=0, j=list.length; i<j; i++) { - if (!node || node === list[i]) { - view.removeTreeDom(setting, list[i]); - if (node) break; - } - } - if (_cancelPreSelectedNode) _cancelPreSelectedNode.apply(view, arguments); - } - - var _createNodes = view.createNodes; - view.createNodes = function(setting, level, nodes, parentNode) { - if (_createNodes) { - _createNodes.apply(view, arguments); - } - if (!nodes) return; - if (view.repairParentChkClassWithSelf) { - view.repairParentChkClassWithSelf(setting, parentNode); - } - } - - var _makeNodeUrl = view.makeNodeUrl; - view.makeNodeUrl = function(setting, node) { - return setting.edit.enable ? null : (_makeNodeUrl.apply(view, arguments)); - } - - var _removeNode = view.removeNode; - view.removeNode = function(setting, node) { - var root = data.getRoot(setting); - if (root.curEditNode === node) root.curEditNode = null; - if (_removeNode) { - _removeNode.apply(view, arguments); - } - } - - var _selectNode = view.selectNode; - view.selectNode = function(setting, node, addFlag) { - var root = data.getRoot(setting); - if (data.isSelectedNode(setting, node) && root.curEditNode == node && node.editNameFlag) { - return false; - } - if (_selectNode) _selectNode.apply(view, arguments); - view.addHoverDom(setting, node); - return true; - } - - var _uCanDo = tools.uCanDo; - tools.uCanDo = function(setting, e) { - var root = data.getRoot(setting); - if (e && (tools.eqs(e.type, "mouseover") || tools.eqs(e.type, "mouseout") || tools.eqs(e.type, "mousedown") || tools.eqs(e.type, "mouseup"))) { - return true; - } - if (root.curEditNode) { - view.editNodeBlur = false; - root.curEditInput.focus(); - } - return (!root.curEditNode) && (_uCanDo ? _uCanDo.apply(view, arguments) : true); - } -})(jQuery); +
+/*
+ * JQuery zTree core v3.5.16
+ * http://zTree.me/
+ *
+ * Copyright (c) 2010 Hunter.z
+ *
+ * Licensed same as jquery - MIT License
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ * email: hunter.z@263.net
+ * Date: 2014-03-09
+ */
+(function($){
+ var settings = {}, roots = {}, caches = {},
+ //default consts of core
+ _consts = {
+ className: {
+ BUTTON: "button",
+ LEVEL: "level",
+ ICO_LOADING: "ico_loading",
+ SWITCH: "switch"
+ },
+ event: {
+ NODECREATED: "ztree_nodeCreated",
+ CLICK: "ztree_click",
+ EXPAND: "ztree_expand",
+ COLLAPSE: "ztree_collapse",
+ ASYNC_SUCCESS: "ztree_async_success",
+ ASYNC_ERROR: "ztree_async_error",
+ REMOVE: "ztree_remove"
+ },
+ id: {
+ A: "_a",
+ ICON: "_ico",
+ SPAN: "_span",
+ SWITCH: "_switch",
+ UL: "_ul"
+ },
+ line: {
+ ROOT: "root",
+ ROOTS: "roots",
+ CENTER: "center",
+ BOTTOM: "bottom",
+ NOLINE: "noline",
+ LINE: "line"
+ },
+ folder: {
+ OPEN: "open",
+ CLOSE: "close",
+ DOCU: "docu"
+ },
+ node: {
+ CURSELECTED: "curSelectedNode"
+ }
+ },
+ //default setting of core
+ _setting = {
+ treeId: "",
+ treeObj: null,
+ view: {
+ addDiyDom: null,
+ autoCancelSelected: true,
+ dblClickExpand: true,
+ expandSpeed: "fast",
+ fontCss: {},
+ nameIsHTML: false,
+ selectedMulti: true,
+ showIcon: true,
+ showLine: true,
+ showTitle: true,
+ txtSelectedEnable: false
+ },
+ data: {
+ key: {
+ children: "children",
+ name: "name",
+ title: "",
+ url: "url"
+ },
+ simpleData: {
+ enable: false,
+ idKey: "id",
+ pIdKey: "pId",
+ rootPId: null
+ },
+ keep: {
+ parent: false,
+ leaf: false
+ }
+ },
+ async: {
+ enable: false,
+ 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
+ }
+ },
+ //default root of core
+ //zTree use root to save full data
+ _initRoot = function (setting) {
+ var r = data.getRoot(setting);
+ if (!r) {
+ r = {};
+ data.setRoot(setting, r);
+ }
+ r[setting.data.key.children] = [];
+ r.expandTriggerFlag = false;
+ r.curSelectedList = [];
+ r.noSelection = true;
+ r.createdNodes = [];
+ r.zId = 0;
+ r._ver = (new Date()).getTime();
+ },
+ //default cache of core
+ _initCache = function(setting) {
+ var c = data.getCache(setting);
+ if (!c) {
+ c = {};
+ data.setCache(setting, c);
+ }
+ c.nodes = [];
+ c.doms = [];
+ },
+ //default bindEvent of core
+ _bindEvent = function(setting) {
+ var o = setting.treeObj,
+ c = consts.event;
+ o.bind(c.NODECREATED, function (event, treeId, node) {
+ tools.apply(setting.callback.onNodeCreated, [event, treeId, node]);
+ });
+
+ o.bind(c.CLICK, function (event, srcEvent, treeId, node, clickFlag) {
+ tools.apply(setting.callback.onClick, [srcEvent, treeId, node, clickFlag]);
+ });
+
+ o.bind(c.EXPAND, function (event, treeId, node) {
+ tools.apply(setting.callback.onExpand, [event, treeId, node]);
+ });
+
+ o.bind(c.COLLAPSE, function (event, treeId, node) {
+ tools.apply(setting.callback.onCollapse, [event, treeId, node]);
+ });
+
+ o.bind(c.ASYNC_SUCCESS, function (event, treeId, node, msg) {
+ tools.apply(setting.callback.onAsyncSuccess, [event, treeId, node, msg]);
+ });
+
+ o.bind(c.ASYNC_ERROR, function (event, treeId, node, XMLHttpRequest, textStatus, errorThrown) {
+ tools.apply(setting.callback.onAsyncError, [event, treeId, node, XMLHttpRequest, textStatus, errorThrown]);
+ });
+
+ o.bind(c.REMOVE, function (event, treeId, treeNode) {
+ tools.apply(setting.callback.onRemove, [event, treeId, treeNode]);
+ });
+ },
+ _unbindEvent = function(setting) {
+ var o = setting.treeObj,
+ c = consts.event;
+ o.unbind(c.NODECREATED)
+ .unbind(c.CLICK)
+ .unbind(c.EXPAND)
+ .unbind(c.COLLAPSE)
+ .unbind(c.ASYNC_SUCCESS)
+ .unbind(c.ASYNC_ERROR)
+ .unbind(c.REMOVE);
+ },
+ //default event proxy of core
+ _eventProxy = function(event) {
+ var target = event.target,
+ setting = data.getSetting(event.data.treeId),
+ tId = "", node = null,
+ nodeEventType = "", treeEventType = "",
+ nodeEventCallback = null, treeEventCallback = null,
+ tmp = null;
+
+ if (tools.eqs(event.type, "mousedown")) {
+ treeEventType = "mousedown";
+ } else if (tools.eqs(event.type, "mouseup")) {
+ treeEventType = "mouseup";
+ } else if (tools.eqs(event.type, "contextmenu")) {
+ treeEventType = "contextmenu";
+ } else if (tools.eqs(event.type, "click")) {
+ if (tools.eqs(target.tagName, "span") && target.getAttribute("treeNode"+ consts.id.SWITCH) !== null) {
+ tId = tools.getNodeMainDom(target).id;
+ nodeEventType = "switchNode";
+ } else {
+ tmp = tools.getMDom(setting, target, [{tagName:"a", attrName:"treeNode"+consts.id.A}]);
+ if (tmp) {
+ tId = tools.getNodeMainDom(tmp).id;
+ nodeEventType = "clickNode";
+ }
+ }
+ } else if (tools.eqs(event.type, "dblclick")) {
+ treeEventType = "dblclick";
+ tmp = tools.getMDom(setting, target, [{tagName:"a", attrName:"treeNode"+consts.id.A}]);
+ if (tmp) {
+ tId = tools.getNodeMainDom(tmp).id;
+ nodeEventType = "switchNode";
+ }
+ }
+ if (treeEventType.length > 0 && tId.length == 0) {
+ tmp = tools.getMDom(setting, target, [{tagName:"a", attrName:"treeNode"+consts.id.A}]);
+ if (tmp) {tId = tools.getNodeMainDom(tmp).id;}
+ }
+ // event to node
+ if (tId.length>0) {
+ node = data.getNodeCache(setting, tId);
+ switch (nodeEventType) {
+ case "switchNode" :
+ if (!node.isParent) {
+ nodeEventType = "";
+ } else if (tools.eqs(event.type, "click")
+ || (tools.eqs(event.type, "dblclick") && tools.apply(setting.view.dblClickExpand, [setting.treeId, node], setting.view.dblClickExpand))) {
+ nodeEventCallback = handler.onSwitchNode;
+ } else {
+ nodeEventType = "";
+ }
+ break;
+ case "clickNode" :
+ nodeEventCallback = handler.onClickNode;
+ break;
+ }
+ }
+ // event to zTree
+ switch (treeEventType) {
+ case "mousedown" :
+ treeEventCallback = handler.onZTreeMousedown;
+ break;
+ case "mouseup" :
+ treeEventCallback = handler.onZTreeMouseup;
+ break;
+ case "dblclick" :
+ treeEventCallback = handler.onZTreeDblclick;
+ break;
+ case "contextmenu" :
+ treeEventCallback = handler.onZTreeContextmenu;
+ break;
+ }
+ var proxyResult = {
+ stop: false,
+ node: node,
+ nodeEventType: nodeEventType,
+ nodeEventCallback: nodeEventCallback,
+ treeEventType: treeEventType,
+ treeEventCallback: treeEventCallback
+ };
+ return proxyResult
+ },
+ //default init node of core
+ _initNode = function(setting, level, n, parentNode, isFirstNode, isLastNode, openFlag) {
+ if (!n) return;
+ var r = data.getRoot(setting),
+ childKey = setting.data.key.children;
+ n.level = level;
+ n.tId = setting.treeId + "_" + (++r.zId);
+ n.parentTId = parentNode ? parentNode.tId : null;
+ n.open = (typeof n.open == "string") ? tools.eqs(n.open, "true") : !!n.open;
+ if (n[childKey] && n[childKey].length > 0) {
+ n.isParent = true;
+ n.zAsync = true;
+ } else {
+ n.isParent = (typeof n.isParent == "string") ? tools.eqs(n.isParent, "true") : !!n.isParent;
+ n.open = (n.isParent && !setting.async.enable) ? n.open : false;
+ n.zAsync = !n.isParent;
+ }
+ n.isFirstNode = isFirstNode;
+ n.isLastNode = isLastNode;
+ n.getParentNode = function() {return data.getNodeCache(setting, n.parentTId);};
+ n.getPreNode = function() {return data.getPreNode(setting, n);};
+ n.getNextNode = function() {return data.getNextNode(setting, n);};
+ n.isAjaxing = false;
+ data.fixPIdKeyValue(setting, n);
+ },
+ _init = {
+ bind: [_bindEvent],
+ unbind: [_unbindEvent],
+ caches: [_initCache],
+ nodes: [_initNode],
+ proxys: [_eventProxy],
+ roots: [_initRoot],
+ beforeA: [],
+ afterA: [],
+ innerBeforeA: [],
+ innerAfterA: [],
+ zTreeTools: []
+ },
+ //method of operate data
+ data = {
+ addNodeCache: function(setting, node) {
+ data.getCache(setting).nodes[data.getNodeCacheId(node.tId)] = node;
+ },
+ getNodeCacheId: function(tId) {
+ return tId.substring(tId.lastIndexOf("_")+1);
+ },
+ addAfterA: function(afterA) {
+ _init.afterA.push(afterA);
+ },
+ addBeforeA: function(beforeA) {
+ _init.beforeA.push(beforeA);
+ },
+ addInnerAfterA: function(innerAfterA) {
+ _init.innerAfterA.push(innerAfterA);
+ },
+ addInnerBeforeA: function(innerBeforeA) {
+ _init.innerBeforeA.push(innerBeforeA);
+ },
+ addInitBind: function(bindEvent) {
+ _init.bind.push(bindEvent);
+ },
+ addInitUnBind: function(unbindEvent) {
+ _init.unbind.push(unbindEvent);
+ },
+ addInitCache: function(initCache) {
+ _init.caches.push(initCache);
+ },
+ addInitNode: function(initNode) {
+ _init.nodes.push(initNode);
+ },
+ addInitProxy: function(initProxy, isFirst) {
+ if (!!isFirst) {
+ _init.proxys.splice(0,0,initProxy);
+ } else {
+ _init.proxys.push(initProxy);
+ }
+ },
+ addInitRoot: function(initRoot) {
+ _init.roots.push(initRoot);
+ },
+ addNodesData: function(setting, parentNode, nodes) {
+ var childKey = setting.data.key.children;
+ if (!parentNode[childKey]) parentNode[childKey] = [];
+ if (parentNode[childKey].length > 0) {
+ parentNode[childKey][parentNode[childKey].length - 1].isLastNode = false;
+ view.setNodeLineIcos(setting, parentNode[childKey][parentNode[childKey].length - 1]);
+ }
+ parentNode.isParent = true;
+ parentNode[childKey] = parentNode[childKey].concat(nodes);
+ },
+ addSelectedNode: function(setting, node) {
+ var root = data.getRoot(setting);
+ if (!data.isSelectedNode(setting, node)) {
+ root.curSelectedList.push(node);
+ }
+ },
+ addCreatedNode: function(setting, node) {
+ if (!!setting.callback.onNodeCreated || !!setting.view.addDiyDom) {
+ var root = data.getRoot(setting);
+ root.createdNodes.push(node);
+ }
+ },
+ addZTreeTools: function(zTreeTools) {
+ _init.zTreeTools.push(zTreeTools);
+ },
+ exSetting: function(s) {
+ $.extend(true, _setting, s);
+ },
+ fixPIdKeyValue: function(setting, node) {
+ if (setting.data.simpleData.enable) {
+ node[setting.data.simpleData.pIdKey] = node.parentTId ? node.getParentNode()[setting.data.simpleData.idKey] : setting.data.simpleData.rootPId;
+ }
+ },
+ getAfterA: function(setting, node, array) {
+ for (var i=0, j=_init.afterA.length; i<j; i++) {
+ _init.afterA[i].apply(this, arguments);
+ }
+ },
+ getBeforeA: function(setting, node, array) {
+ for (var i=0, j=_init.beforeA.length; i<j; i++) {
+ _init.beforeA[i].apply(this, arguments);
+ }
+ },
+ getInnerAfterA: function(setting, node, array) {
+ for (var i=0, j=_init.innerAfterA.length; i<j; i++) {
+ _init.innerAfterA[i].apply(this, arguments);
+ }
+ },
+ getInnerBeforeA: function(setting, node, array) {
+ for (var i=0, j=_init.innerBeforeA.length; i<j; i++) {
+ _init.innerBeforeA[i].apply(this, arguments);
+ }
+ },
+ getCache: function(setting) {
+ return caches[setting.treeId];
+ },
+ getNextNode: function(setting, node) {
+ if (!node) return null;
+ var childKey = setting.data.key.children,
+ p = node.parentTId ? node.getParentNode() : data.getRoot(setting);
+ for (var i=0, l=p[childKey].length-1; i<=l; i++) {
+ if (p[childKey][i] === node) {
+ return (i==l ? null : p[childKey][i+1]);
+ }
+ }
+ return null;
+ },
+ getNodeByParam: function(setting, nodes, key, value) {
+ if (!nodes || !key) return null;
+ var childKey = setting.data.key.children;
+ for (var i = 0, l = nodes.length; i < l; i++) {
+ if (nodes[i][key] == value) {
+ return nodes[i];
+ }
+ var tmp = data.getNodeByParam(setting, nodes[i][childKey], key, value);
+ if (tmp) return tmp;
+ }
+ return null;
+ },
+ getNodeCache: function(setting, tId) {
+ if (!tId) return null;
+ var n = caches[setting.treeId].nodes[data.getNodeCacheId(tId)];
+ return n ? n : null;
+ },
+ getNodeName: function(setting, node) {
+ var nameKey = setting.data.key.name;
+ return "" + node[nameKey];
+ },
+ getNodeTitle: function(setting, node) {
+ var t = setting.data.key.title === "" ? setting.data.key.name : setting.data.key.title;
+ return "" + node[t];
+ },
+ getNodes: function(setting) {
+ return data.getRoot(setting)[setting.data.key.children];
+ },
+ getNodesByParam: function(setting, nodes, key, value) {
+ if (!nodes || !key) return [];
+ var childKey = setting.data.key.children,
+ result = [];
+ for (var i = 0, l = nodes.length; i < l; i++) {
+ if (nodes[i][key] == value) {
+ result.push(nodes[i]);
+ }
+ result = result.concat(data.getNodesByParam(setting, nodes[i][childKey], key, value));
+ }
+ return result;
+ },
+ getNodesByParamFuzzy: function(setting, nodes, key, value) {
+ if (!nodes || !key) return [];
+ var childKey = setting.data.key.children,
+ result = [];
+ value = value.toLowerCase();
+ for (var i = 0, l = nodes.length; i < l; i++) {
+ if (typeof nodes[i][key] == "string" && nodes[i][key].toLowerCase().indexOf(value)>-1) {
+ result.push(nodes[i]);
+ }
+ result = result.concat(data.getNodesByParamFuzzy(setting, nodes[i][childKey], key, value));
+ }
+ return result;
+ },
+ getNodesByFilter: function(setting, nodes, filter, isSingle, invokeParam) {
+ if (!nodes) return (isSingle ? null : []);
+ var childKey = setting.data.key.children,
+ result = isSingle ? null : [];
+ for (var i = 0, l = nodes.length; i < l; i++) {
+ if (tools.apply(filter, [nodes[i], invokeParam], false)) {
+ if (isSingle) {return nodes[i];}
+ result.push(nodes[i]);
+ }
+ var tmpResult = data.getNodesByFilter(setting, nodes[i][childKey], filter, isSingle, invokeParam);
+ if (isSingle && !!tmpResult) {return tmpResult;}
+ result = isSingle ? tmpResult : result.concat(tmpResult);
+ }
+ return result;
+ },
+ getPreNode: function(setting, node) {
+ if (!node) return null;
+ var childKey = setting.data.key.children,
+ p = node.parentTId ? node.getParentNode() : data.getRoot(setting);
+ for (var i=0, l=p[childKey].length; i<l; i++) {
+ if (p[childKey][i] === node) {
+ return (i==0 ? null : p[childKey][i-1]);
+ }
+ }
+ return null;
+ },
+ getRoot: function(setting) {
+ return setting ? roots[setting.treeId] : null;
+ },
+ getRoots: function() {
+ return roots;
+ },
+ getSetting: function(treeId) {
+ return settings[treeId];
+ },
+ getSettings: function() {
+ return settings;
+ },
+ getZTreeTools: function(treeId) {
+ var r = this.getRoot(this.getSetting(treeId));
+ return r ? r.treeTools : null;
+ },
+ initCache: function(setting) {
+ for (var i=0, j=_init.caches.length; i<j; i++) {
+ _init.caches[i].apply(this, arguments);
+ }
+ },
+ initNode: function(setting, level, node, parentNode, preNode, nextNode) {
+ for (var i=0, j=_init.nodes.length; i<j; i++) {
+ _init.nodes[i].apply(this, arguments);
+ }
+ },
+ initRoot: function(setting) {
+ for (var i=0, j=_init.roots.length; i<j; i++) {
+ _init.roots[i].apply(this, arguments);
+ }
+ },
+ isSelectedNode: function(setting, node) {
+ var root = data.getRoot(setting);
+ for (var i=0, j=root.curSelectedList.length; i<j; i++) {
+ if(node === root.curSelectedList[i]) return true;
+ }
+ return false;
+ },
+ removeNodeCache: function(setting, node) {
+ var childKey = setting.data.key.children;
+ if (node[childKey]) {
+ for (var i=0, l=node[childKey].length; i<l; i++) {
+ arguments.callee(setting, node[childKey][i]);
+ }
+ }
+ data.getCache(setting).nodes[data.getNodeCacheId(node.tId)] = null;
+ },
+ removeSelectedNode: function(setting, node) {
+ var root = data.getRoot(setting);
+ for (var i=0, j=root.curSelectedList.length; i<j; i++) {
+ if(node === root.curSelectedList[i] || !data.getNodeCache(setting, root.curSelectedList[i].tId)) {
+ root.curSelectedList.splice(i, 1);
+ i--;j--;
+ }
+ }
+ },
+ setCache: function(setting, cache) {
+ caches[setting.treeId] = cache;
+ },
+ setRoot: function(setting, root) {
+ roots[setting.treeId] = root;
+ },
+ setZTreeTools: function(setting, zTreeTools) {
+ for (var i=0, j=_init.zTreeTools.length; i<j; i++) {
+ _init.zTreeTools[i].apply(this, arguments);
+ }
+ },
+ transformToArrayFormat: function (setting, nodes) {
+ if (!nodes) return [];
+ var childKey = setting.data.key.children,
+ r = [];
+ if (tools.isArray(nodes)) {
+ for (var i=0, l=nodes.length; i<l; i++) {
+ r.push(nodes[i]);
+ if (nodes[i][childKey])
+ r = r.concat(data.transformToArrayFormat(setting, nodes[i][childKey]));
+ }
+ } else {
+ r.push(nodes);
+ if (nodes[childKey])
+ r = r.concat(data.transformToArrayFormat(setting, nodes[childKey]));
+ }
+ return r;
+ },
+ transformTozTreeFormat: function(setting, sNodes) {
+ var i,l,
+ key = setting.data.simpleData.idKey,
+ parentKey = setting.data.simpleData.pIdKey,
+ childKey = setting.data.key.children;
+ if (!key || key=="" || !sNodes) return [];
+
+ if (tools.isArray(sNodes)) {
+ var r = [];
+ var tmpMap = [];
+ for (i=0, l=sNodes.length; i<l; i++) {
+ tmpMap[sNodes[i][key]] = sNodes[i];
+ }
+ for (i=0, l=sNodes.length; i<l; i++) {
+ if (tmpMap[sNodes[i][parentKey]] && sNodes[i][key] != sNodes[i][parentKey]) {
+ if (!tmpMap[sNodes[i][parentKey]][childKey])
+ tmpMap[sNodes[i][parentKey]][childKey] = [];
+ tmpMap[sNodes[i][parentKey]][childKey].push(sNodes[i]);
+ } else {
+ r.push(sNodes[i]);
+ }
+ }
+ return r;
+ }else {
+ return [sNodes];
+ }
+ }
+ },
+ //method of event proxy
+ event = {
+ bindEvent: function(setting) {
+ for (var i=0, j=_init.bind.length; i<j; i++) {
+ _init.bind[i].apply(this, arguments);
+ }
+ },
+ unbindEvent: function(setting) {
+ for (var i=0, j=_init.unbind.length; i<j; i++) {
+ _init.unbind[i].apply(this, arguments);
+ }
+ },
+ bindTree: function(setting) {
+ var eventParam = {
+ treeId: setting.treeId
+ },
+ o = setting.treeObj;
+ if (!setting.view.txtSelectedEnable) {
+ // for can't select text
+ o.bind('selectstart', function(e){
+ var node
+ var n = e.originalEvent.srcElement.nodeName.toLowerCase();
+ return (n === "input" || n === "textarea" );
+ }).css({
+ "-moz-user-select":"-moz-none"
+ });
+ }
+ o.bind('click', eventParam, event.proxy);
+ o.bind('dblclick', eventParam, event.proxy);
+ o.bind('mouseover', eventParam, event.proxy);
+ o.bind('mouseout', eventParam, event.proxy);
+ o.bind('mousedown', eventParam, event.proxy);
+ o.bind('mouseup', eventParam, event.proxy);
+ o.bind('contextmenu', eventParam, event.proxy);
+ },
+ unbindTree: function(setting) {
+ var o = setting.treeObj;
+ o.unbind('click', event.proxy)
+ .unbind('dblclick', event.proxy)
+ .unbind('mouseover', event.proxy)
+ .unbind('mouseout', event.proxy)
+ .unbind('mousedown', event.proxy)
+ .unbind('mouseup', event.proxy)
+ .unbind('contextmenu', event.proxy);
+ },
+ doProxy: function(e) {
+ var results = [];
+ for (var i=0, j=_init.proxys.length; i<j; i++) {
+ var proxyResult = _init.proxys[i].apply(this, arguments);
+ results.push(proxyResult);
+ if (proxyResult.stop) {
+ break;
+ }
+ }
+ return results;
+ },
+ proxy: function(e) {
+ var setting = data.getSetting(e.data.treeId);
+ if (!tools.uCanDo(setting, e)) return true;
+ var results = event.doProxy(e),
+ r = true, x = false;
+ for (var i=0, l=results.length; i<l; i++) {
+ var proxyResult = results[i];
+ if (proxyResult.nodeEventCallback) {
+ x = true;
+ r = proxyResult.nodeEventCallback.apply(proxyResult, [e, proxyResult.node]) && r;
+ }
+ if (proxyResult.treeEventCallback) {
+ x = true;
+ r = proxyResult.treeEventCallback.apply(proxyResult, [e, proxyResult.node]) && r;
+ }
+ }
+ return r;
+ }
+ },
+ //method of event handler
+ handler = {
+ onSwitchNode: function (event, node) {
+ var setting = data.getSetting(event.data.treeId);
+ if (node.open) {
+ if (tools.apply(setting.callback.beforeCollapse, [setting.treeId, node], true) == false) return true;
+ data.getRoot(setting).expandTriggerFlag = true;
+ view.switchNode(setting, node);
+ } else {
+ if (tools.apply(setting.callback.beforeExpand, [setting.treeId, node], true) == false) return true;
+ data.getRoot(setting).expandTriggerFlag = true;
+ view.switchNode(setting, node);
+ }
+ return true;
+ },
+ onClickNode: function (event, node) {
+ var setting = data.getSetting(event.data.treeId),
+ clickFlag = ( (setting.view.autoCancelSelected && (event.ctrlKey || event.metaKey)) && data.isSelectedNode(setting, node)) ? 0 : (setting.view.autoCancelSelected && (event.ctrlKey || event.metaKey) && setting.view.selectedMulti) ? 2 : 1;
+ if (tools.apply(setting.callback.beforeClick, [setting.treeId, node, clickFlag], true) == false) return true;
+ if (clickFlag === 0) {
+ view.cancelPreSelectedNode(setting, node);
+ } else {
+ view.selectNode(setting, node, clickFlag === 2);
+ }
+ setting.treeObj.trigger(consts.event.CLICK, [event, setting.treeId, node, clickFlag]);
+ return true;
+ },
+ onZTreeMousedown: function(event, node) {
+ var setting = data.getSetting(event.data.treeId);
+ if (tools.apply(setting.callback.beforeMouseDown, [setting.treeId, node], true)) {
+ tools.apply(setting.callback.onMouseDown, [event, setting.treeId, node]);
+ }
+ return true;
+ },
+ onZTreeMouseup: function(event, node) {
+ var setting = data.getSetting(event.data.treeId);
+ if (tools.apply(setting.callback.beforeMouseUp, [setting.treeId, node], true)) {
+ tools.apply(setting.callback.onMouseUp, [event, setting.treeId, node]);
+ }
+ return true;
+ },
+ onZTreeDblclick: function(event, node) {
+ var setting = data.getSetting(event.data.treeId);
+ if (tools.apply(setting.callback.beforeDblClick, [setting.treeId, node], true)) {
+ tools.apply(setting.callback.onDblClick, [event, setting.treeId, node]);
+ }
+ return true;
+ },
+ onZTreeContextmenu: function(event, node) {
+ var setting = data.getSetting(event.data.treeId);
+ if (tools.apply(setting.callback.beforeRightClick, [setting.treeId, node], true)) {
+ tools.apply(setting.callback.onRightClick, [event, setting.treeId, node]);
+ }
+ return (typeof setting.callback.onRightClick) != "function";
+ }
+ },
+ //method of tools for zTree
+ tools = {
+ apply: function(fun, param, defaultValue) {
+ if ((typeof fun) == "function") {
+ return fun.apply(zt, param?param:[]);
+ }
+ return defaultValue;
+ },
+ canAsync: function(setting, node) {
+ var childKey = setting.data.key.children;
+ return (setting.async.enable && node && node.isParent && !(node.zAsync || (node[childKey] && node[childKey].length > 0)));
+ },
+ clone: function (obj){
+ if (obj === null) return null;
+ var o = tools.isArray(obj) ? [] : {};
+ for(var i in obj){
+ o[i] = (obj[i] instanceof Date) ? new Date(obj[i].getTime()) : (typeof obj[i] === "object" ? arguments.callee(obj[i]) : obj[i]);
+ }
+ return o;
+ },
+ eqs: function(str1, str2) {
+ return str1.toLowerCase() === str2.toLowerCase();
+ },
+ isArray: function(arr) {
+ return Object.prototype.toString.apply(arr) === "[object Array]";
+ },
+ $: function(node, exp, setting) {
+ if (!!exp && typeof exp != "string") {
+ setting = exp;
+ exp = "";
+ }
+ if (typeof node == "string") {
+ return $(node, setting ? setting.treeObj.get(0).ownerDocument : null);
+ } else {
+ return $("#" + node.tId + exp, setting ? setting.treeObj : null);
+ }
+ },
+ getMDom: function (setting, curDom, targetExpr) {
+ if (!curDom) return null;
+ while (curDom && curDom.id !== setting.treeId) {
+ for (var i=0, l=targetExpr.length; curDom.tagName && i<l; i++) {
+ if (tools.eqs(curDom.tagName, targetExpr[i].tagName) && curDom.getAttribute(targetExpr[i].attrName) !== null) {
+ return curDom;
+ }
+ }
+ curDom = curDom.parentNode;
+ }
+ return null;
+ },
+ getNodeMainDom:function(target) {
+ return ($(target).parent("li").get(0) || $(target).parentsUntil("li").parent().get(0));
+ },
+ isChildOrSelf: function(dom, parentId) {
+ return ( $(dom).closest("#" + parentId).length> 0 );
+ },
+ uCanDo: function(setting, e) {
+ return true;
+ }
+ },
+ //method of operate ztree dom
+ view = {
+ addNodes: function(setting, parentNode, newNodes, isSilent) {
+ if (setting.data.keep.leaf && parentNode && !parentNode.isParent) {
+ return;
+ }
+ if (!tools.isArray(newNodes)) {
+ newNodes = [newNodes];
+ }
+ if (setting.data.simpleData.enable) {
+ newNodes = data.transformTozTreeFormat(setting, newNodes);
+ }
+ if (parentNode) {
+ var target_switchObj = $$(parentNode, consts.id.SWITCH, setting),
+ target_icoObj = $$(parentNode, consts.id.ICON, setting),
+ target_ulObj = $$(parentNode, consts.id.UL, setting);
+
+ if (!parentNode.open) {
+ view.replaceSwitchClass(parentNode, target_switchObj, consts.folder.CLOSE);
+ view.replaceIcoClass(parentNode, target_icoObj, consts.folder.CLOSE);
+ parentNode.open = false;
+ target_ulObj.css({
+ "display": "none"
+ });
+ }
+
+ data.addNodesData(setting, parentNode, newNodes);
+ view.createNodes(setting, parentNode.level + 1, newNodes, parentNode);
+ if (!isSilent) {
+ view.expandCollapseParentNode(setting, parentNode, true);
+ }
+ } else {
+ data.addNodesData(setting, data.getRoot(setting), newNodes);
+ view.createNodes(setting, 0, newNodes, null);
+ }
+ },
+ appendNodes: function(setting, level, nodes, parentNode, initFlag, openFlag) {
+ if (!nodes) return [];
+ var html = [],
+ childKey = setting.data.key.children;
+ for (var i = 0, l = nodes.length; i < l; i++) {
+ var node = nodes[i];
+ if (initFlag) {
+ var tmpPNode = (parentNode) ? parentNode: data.getRoot(setting),
+ tmpPChild = tmpPNode[childKey],
+ isFirstNode = ((tmpPChild.length == nodes.length) && (i == 0)),
+ isLastNode = (i == (nodes.length - 1));
+ data.initNode(setting, level, node, parentNode, isFirstNode, isLastNode, openFlag);
+ data.addNodeCache(setting, node);
+ }
+
+ var childHtml = [];
+ if (node[childKey] && node[childKey].length > 0) {
+ //make child html first, because checkType
+ childHtml = view.appendNodes(setting, level + 1, node[childKey], node, initFlag, openFlag && node.open);
+ }
+ if (openFlag) {
+
+ view.makeDOMNodeMainBefore(html, setting, node);
+ view.makeDOMNodeLine(html, setting, node);
+ data.getBeforeA(setting, node, html);
+ view.makeDOMNodeNameBefore(html, setting, node);
+ data.getInnerBeforeA(setting, node, html);
+ view.makeDOMNodeIcon(html, setting, node);
+ data.getInnerAfterA(setting, node, html);
+ view.makeDOMNodeNameAfter(html, setting, node);
+ data.getAfterA(setting, node, html);
+ if (node.isParent && node.open) {
+ view.makeUlHtml(setting, node, html, childHtml.join(''));
+ }
+ view.makeDOMNodeMainAfter(html, setting, node);
+ data.addCreatedNode(setting, node);
+ }
+ }
+ return html;
+ },
+ appendParentULDom: function(setting, node) {
+ var html = [],
+ nObj = $$(node, setting);
+ if (!nObj.get(0) && !!node.parentTId) {
+ view.appendParentULDom(setting, node.getParentNode());
+ nObj = $$(node, setting);
+ }
+ var ulObj = $$(node, consts.id.UL, setting);
+ if (ulObj.get(0)) {
+ ulObj.remove();
+ }
+ var childKey = setting.data.key.children,
+ childHtml = view.appendNodes(setting, node.level+1, node[childKey], node, false, true);
+ view.makeUlHtml(setting, node, html, childHtml.join(''));
+ nObj.append(html.join(''));
+ },
+ asyncNode: function(setting, node, isSilent, callback) {
+ var i, l;
+ if (node && !node.isParent) {
+ tools.apply(callback);
+ return false;
+ } else if (node && node.isAjaxing) {
+ return false;
+ } else if (tools.apply(setting.callback.beforeAsync, [setting.treeId, node], true) == false) {
+ tools.apply(callback);
+ return false;
+ }
+ if (node) {
+ node.isAjaxing = true;
+ var icoObj = $$(node, consts.id.ICON, setting);
+ icoObj.attr({"style":"", "class":consts.className.BUTTON + " " + consts.className.ICO_LOADING});
+ }
+
+ var tmpParam = {};
+ for (i = 0, l = setting.async.autoParam.length; node && i < l; i++) {
+ var pKey = setting.async.autoParam[i].split("="), spKey = pKey;
+ if (pKey.length>1) {
+ spKey = pKey[1];
+ pKey = pKey[0];
+ }
+ tmpParam[spKey] = node[pKey];
+ }
+ if (tools.isArray(setting.async.otherParam)) {
+ for (i = 0, l = setting.async.otherParam.length; i < l; i += 2) {
+ tmpParam[setting.async.otherParam[i]] = setting.async.otherParam[i + 1];
+ }
+ } else {
+ for (var p in setting.async.otherParam) {
+ tmpParam[p] = setting.async.otherParam[p];
+ }
+ }
+
+ var _tmpV = data.getRoot(setting)._ver;
+ $.ajax({
+ contentType: setting.async.contentType,
+ type: setting.async.type,
+ url: tools.apply(setting.async.url, [setting.treeId, node], setting.async.url),
+ data: tmpParam,
+ dataType: setting.async.dataType,
+ success: function(msg) {
+ if (_tmpV != data.getRoot(setting)._ver) {
+ return;
+ }
+ var newNodes = [];
+ try {
+ if (!msg || msg.length == 0) {
+ newNodes = [];
+ } else if (typeof msg == "string") {
+ newNodes = eval("(" + msg + ")");
+ } else {
+ newNodes = msg;
+ }
+ } catch(err) {
+ newNodes = msg;
+ }
+
+ if (node) {
+ node.isAjaxing = null;
+ node.zAsync = true;
+ }
+ view.setNodeLineIcos(setting, node);
+ if (newNodes && newNodes !== "") {
+ newNodes = tools.apply(setting.async.dataFilter, [setting.treeId, node, newNodes], newNodes);
+ view.addNodes(setting, node, !!newNodes ? tools.clone(newNodes) : [], !!isSilent);
+ } else {
+ view.addNodes(setting, node, [], !!isSilent);
+ }
+ setting.treeObj.trigger(consts.event.ASYNC_SUCCESS, [setting.treeId, node, msg]);
+ tools.apply(callback);
+ },
+ error: function(XMLHttpRequest, textStatus, errorThrown) {
+ if (_tmpV != data.getRoot(setting)._ver) {
+ return;
+ }
+ if (node) node.isAjaxing = null;
+ view.setNodeLineIcos(setting, node);
+ setting.treeObj.trigger(consts.event.ASYNC_ERROR, [setting.treeId, node, XMLHttpRequest, textStatus, errorThrown]);
+ }
+ });
+ return true;
+ },
+ cancelPreSelectedNode: function (setting, node) {
+ var list = data.getRoot(setting).curSelectedList;
+ for (var i=0, j=list.length-1; j>=i; j--) {
+ if (!node || node === list[j]) {
+ $$(list[j], consts.id.A, setting).removeClass(consts.node.CURSELECTED);
+ if (node) {
+ data.removeSelectedNode(setting, node);
+ break;
+ }
+ }
+ }
+ if (!node) data.getRoot(setting).curSelectedList = [];
+ },
+ createNodeCallback: function(setting) {
+ if (!!setting.callback.onNodeCreated || !!setting.view.addDiyDom) {
+ var root = data.getRoot(setting);
+ while (root.createdNodes.length>0) {
+ var node = root.createdNodes.shift();
+ tools.apply(setting.view.addDiyDom, [setting.treeId, node]);
+ if (!!setting.callback.onNodeCreated) {
+ setting.treeObj.trigger(consts.event.NODECREATED, [setting.treeId, node]);
+ }
+ }
+ }
+ },
+ createNodes: function(setting, level, nodes, parentNode) {
+ if (!nodes || nodes.length == 0) return;
+ var root = data.getRoot(setting),
+ childKey = setting.data.key.children,
+ openFlag = !parentNode || parentNode.open || !!$$(parentNode[childKey][0], setting).get(0);
+ root.createdNodes = [];
+ var zTreeHtml = view.appendNodes(setting, level, nodes, parentNode, true, openFlag);
+ if (!parentNode) {
+ setting.treeObj.append(zTreeHtml.join(''));
+ } else {
+ var ulObj = $$(parentNode, consts.id.UL, setting);
+ if (ulObj.get(0)) {
+ ulObj.append(zTreeHtml.join(''));
+ }
+ }
+ view.createNodeCallback(setting);
+ },
+ destroy: function(setting) {
+ if (!setting) return;
+ data.initCache(setting);
+ data.initRoot(setting);
+ event.unbindTree(setting);
+ event.unbindEvent(setting);
+ setting.treeObj.empty();
+ delete settings[setting.treeId];
+ },
+ expandCollapseNode: function(setting, node, expandFlag, animateFlag, callback) {
+ var root = data.getRoot(setting),
+ childKey = setting.data.key.children;
+ if (!node) {
+ tools.apply(callback, []);
+ return;
+ }
+ if (root.expandTriggerFlag) {
+ var _callback = callback;
+ callback = function(){
+ if (_callback) _callback();
+ if (node.open) {
+ setting.treeObj.trigger(consts.event.EXPAND, [setting.treeId, node]);
+ } else {
+ setting.treeObj.trigger(consts.event.COLLAPSE, [setting.treeId, node]);
+ }
+ };
+ root.expandTriggerFlag = false;
+ }
+ if (!node.open && node.isParent && ((!$$(node, consts.id.UL, setting).get(0)) || (node[childKey] && node[childKey].length>0 && !$$(node[childKey][0], setting).get(0)))) {
+ view.appendParentULDom(setting, node);
+ view.createNodeCallback(setting);
+ }
+ if (node.open == expandFlag) {
+ tools.apply(callback, []);
+ return;
+ }
+ var ulObj = $$(node, consts.id.UL, setting),
+ switchObj = $$(node, consts.id.SWITCH, setting),
+ icoObj = $$(node, consts.id.ICON, setting);
+
+ if (node.isParent) {
+ node.open = !node.open;
+ if (node.iconOpen && node.iconClose) {
+ icoObj.attr("style", view.makeNodeIcoStyle(setting, node));
+ }
+
+ if (node.open) {
+ view.replaceSwitchClass(node, switchObj, consts.folder.OPEN);
+ view.replaceIcoClass(node, icoObj, consts.folder.OPEN);
+ if (animateFlag == false || setting.view.expandSpeed == "") {
+ ulObj.show();
+ tools.apply(callback, []);
+ } else {
+ if (node[childKey] && node[childKey].length > 0) {
+ ulObj.slideDown(setting.view.expandSpeed, callback);
+ } else {
+ ulObj.show();
+ tools.apply(callback, []);
+ }
+ }
+ } else {
+ view.replaceSwitchClass(node, switchObj, consts.folder.CLOSE);
+ view.replaceIcoClass(node, icoObj, consts.folder.CLOSE);
+ if (animateFlag == false || setting.view.expandSpeed == "" || !(node[childKey] && node[childKey].length > 0)) {
+ ulObj.hide();
+ tools.apply(callback, []);
+ } else {
+ ulObj.slideUp(setting.view.expandSpeed, callback);
+ }
+ }
+ } else {
+ tools.apply(callback, []);
+ }
+ },
+ expandCollapseParentNode: function(setting, node, expandFlag, animateFlag, callback) {
+ if (!node) return;
+ if (!node.parentTId) {
+ view.expandCollapseNode(setting, node, expandFlag, animateFlag, callback);
+ return;
+ } else {
+ view.expandCollapseNode(setting, node, expandFlag, animateFlag);
+ }
+ if (node.parentTId) {
+ view.expandCollapseParentNode(setting, node.getParentNode(), expandFlag, animateFlag, callback);
+ }
+ },
+ expandCollapseSonNode: function(setting, node, expandFlag, animateFlag, callback) {
+ var root = data.getRoot(setting),
+ childKey = setting.data.key.children,
+ treeNodes = (node) ? node[childKey]: root[childKey],
+ selfAnimateSign = (node) ? false : animateFlag,
+ expandTriggerFlag = data.getRoot(setting).expandTriggerFlag;
+ data.getRoot(setting).expandTriggerFlag = false;
+ if (treeNodes) {
+ for (var i = 0, l = treeNodes.length; i < l; i++) {
+ if (treeNodes[i]) view.expandCollapseSonNode(setting, treeNodes[i], expandFlag, selfAnimateSign);
+ }
+ }
+ data.getRoot(setting).expandTriggerFlag = expandTriggerFlag;
+ view.expandCollapseNode(setting, node, expandFlag, animateFlag, callback );
+ },
+ makeDOMNodeIcon: function(html, setting, node) {
+ var nameStr = data.getNodeName(setting, node),
+ name = setting.view.nameIsHTML ? nameStr : nameStr.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>');
+ html.push("<span id='", node.tId, consts.id.ICON,
+ "' title='' treeNode", consts.id.ICON," class='", view.makeNodeIcoClass(setting, node),
+ "' style='", view.makeNodeIcoStyle(setting, node), "'></span><span id='", node.tId, consts.id.SPAN,
+ "'>",name,"</span>");
+ },
+ makeDOMNodeLine: function(html, setting, node) {
+ html.push("<span id='", node.tId, consts.id.SWITCH, "' title='' class='", view.makeNodeLineClass(setting, node), "' treeNode", consts.id.SWITCH,"></span>");
+ },
+ makeDOMNodeMainAfter: function(html, setting, node) {
+ html.push("</li>");
+ },
+ makeDOMNodeMainBefore: function(html, setting, node) {
+ html.push("<li id='", node.tId, "' class='", consts.className.LEVEL, node.level,"' tabindex='0' hidefocus='true' treenode>");
+ },
+ makeDOMNodeNameAfter: function(html, setting, node) {
+ html.push("</a>");
+ },
+ makeDOMNodeNameBefore: function(html, setting, node) {
+ var title = data.getNodeTitle(setting, node),
+ url = view.makeNodeUrl(setting, node),
+ fontcss = view.makeNodeFontCss(setting, node),
+ fontStyle = [];
+ for (var f in fontcss) {
+ fontStyle.push(f, ":", fontcss[f], ";");
+ }
+ html.push("<a id='", node.tId, consts.id.A, "' class='", consts.className.LEVEL, node.level,"' treeNode", consts.id.A," onclick=\"", (node.click || ''),
+ "\" ", ((url != null && url.length > 0) ? "href='" + url + "'" : ""), " target='",view.makeNodeTarget(node),"' style='", fontStyle.join(''),
+ "'");
+ if (tools.apply(setting.view.showTitle, [setting.treeId, node], setting.view.showTitle) && title) {html.push("title='", title.replace(/'/g,"'").replace(/</g,'<').replace(/>/g,'>'),"'");}
+ html.push(">");
+ },
+ makeNodeFontCss: function(setting, node) {
+ var fontCss = tools.apply(setting.view.fontCss, [setting.treeId, node], setting.view.fontCss);
+ return (fontCss && ((typeof fontCss) != "function")) ? fontCss : {};
+ },
+ makeNodeIcoClass: function(setting, node) {
+ var icoCss = ["ico"];
+ if (!node.isAjaxing) {
+ icoCss[0] = (node.iconSkin ? node.iconSkin + "_" : "") + icoCss[0];
+ if (node.isParent) {
+ icoCss.push(node.open ? consts.folder.OPEN : consts.folder.CLOSE);
+ } else {
+ icoCss.push(consts.folder.DOCU);
+ }
+ }
+ return consts.className.BUTTON + " " + icoCss.join('_');
+ },
+ makeNodeIcoStyle: function(setting, node) {
+ var icoStyle = [];
+ if (!node.isAjaxing) {
+ var icon = (node.isParent && node.iconOpen && node.iconClose) ? (node.open ? node.iconOpen : node.iconClose) : node.icon;
+ if (icon) icoStyle.push("background:url(", icon, ") 0 0 no-repeat;");
+ if (setting.view.showIcon == false || !tools.apply(setting.view.showIcon, [setting.treeId, node], true)) {
+ icoStyle.push("width:0px;height:0px;");
+ }
+ }
+ return icoStyle.join('');
+ },
+ makeNodeLineClass: function(setting, node) {
+ var lineClass = [];
+ if (setting.view.showLine) {
+ if (node.level == 0 && node.isFirstNode && node.isLastNode) {
+ lineClass.push(consts.line.ROOT);
+ } else if (node.level == 0 && node.isFirstNode) {
+ lineClass.push(consts.line.ROOTS);
+ } else if (node.isLastNode) {
+ lineClass.push(consts.line.BOTTOM);
+ } else {
+ lineClass.push(consts.line.CENTER);
+ }
+ } else {
+ lineClass.push(consts.line.NOLINE);
+ }
+ if (node.isParent) {
+ lineClass.push(node.open ? consts.folder.OPEN : consts.folder.CLOSE);
+ } else {
+ lineClass.push(consts.folder.DOCU);
+ }
+ return view.makeNodeLineClassEx(node) + lineClass.join('_');
+ },
+ makeNodeLineClassEx: function(node) {
+ return consts.className.BUTTON + " " + consts.className.LEVEL + node.level + " " + consts.className.SWITCH + " ";
+ },
+ makeNodeTarget: function(node) {
+ return (node.target || "_blank");
+ },
+ makeNodeUrl: function(setting, node) {
+ var urlKey = setting.data.key.url;
+ return node[urlKey] ? node[urlKey] : null;
+ },
+ makeUlHtml: function(setting, node, html, content) {
+ html.push("<ul id='", node.tId, consts.id.UL, "' class='", consts.className.LEVEL, node.level, " ", view.makeUlLineClass(setting, node), "' style='display:", (node.open ? "block": "none"),"'>");
+ html.push(content);
+ html.push("</ul>");
+ },
+ makeUlLineClass: function(setting, node) {
+ return ((setting.view.showLine && !node.isLastNode) ? consts.line.LINE : "");
+ },
+ removeChildNodes: function(setting, node) {
+ if (!node) return;
+ var childKey = setting.data.key.children,
+ nodes = node[childKey];
+ if (!nodes) return;
+
+ for (var i = 0, l = nodes.length; i < l; i++) {
+ data.removeNodeCache(setting, nodes[i]);
+ }
+ data.removeSelectedNode(setting);
+ delete node[childKey];
+
+ if (!setting.data.keep.parent) {
+ node.isParent = false;
+ node.open = false;
+ var tmp_switchObj = $$(node, consts.id.SWITCH, setting),
+ tmp_icoObj = $$(node, consts.id.ICON, setting);
+ view.replaceSwitchClass(node, tmp_switchObj, consts.folder.DOCU);
+ view.replaceIcoClass(node, tmp_icoObj, consts.folder.DOCU);
+ $$(node, consts.id.UL, setting).remove();
+ } else {
+ $$(node, consts.id.UL, setting).empty();
+ }
+ },
+ setFirstNode: function(setting, parentNode) {
+ var childKey = setting.data.key.children, childLength = parentNode[childKey].length;
+ if ( childLength > 0) {
+ parentNode[childKey][0].isFirstNode = true;
+ }
+ },
+ setLastNode: function(setting, parentNode) {
+ var childKey = setting.data.key.children, childLength = parentNode[childKey].length;
+ if ( childLength > 0) {
+ parentNode[childKey][childLength - 1].isLastNode = true;
+ }
+ },
+ removeNode: function(setting, node) {
+ var root = data.getRoot(setting),
+ childKey = setting.data.key.children,
+ parentNode = (node.parentTId) ? node.getParentNode() : root;
+
+ node.isFirstNode = false;
+ node.isLastNode = false;
+ node.getPreNode = function() {return null;};
+ node.getNextNode = function() {return null;};
+
+ if (!data.getNodeCache(setting, node.tId)) {
+ return;
+ }
+
+ $$(node, setting).remove();
+ data.removeNodeCache(setting, node);
+ data.removeSelectedNode(setting, node);
+
+ for (var i = 0, l = parentNode[childKey].length; i < l; i++) {
+ if (parentNode[childKey][i].tId == node.tId) {
+ parentNode[childKey].splice(i, 1);
+ break;
+ }
+ }
+ view.setFirstNode(setting, parentNode);
+ view.setLastNode(setting, parentNode);
+
+ var tmp_ulObj,tmp_switchObj,tmp_icoObj,
+ childLength = parentNode[childKey].length;
+
+ //repair nodes old parent
+ if (!setting.data.keep.parent && childLength == 0) {
+ //old parentNode has no child nodes
+ parentNode.isParent = false;
+ parentNode.open = false;
+ tmp_ulObj = $$(parentNode, consts.id.UL, setting);
+ tmp_switchObj = $$(parentNode, consts.id.SWITCH, setting);
+ tmp_icoObj = $$(parentNode, consts.id.ICON, setting);
+ view.replaceSwitchClass(parentNode, tmp_switchObj, consts.folder.DOCU);
+ view.replaceIcoClass(parentNode, tmp_icoObj, consts.folder.DOCU);
+ tmp_ulObj.css("display", "none");
+
+ } else if (setting.view.showLine && childLength > 0) {
+ //old parentNode has child nodes
+ var newLast = parentNode[childKey][childLength - 1];
+ tmp_ulObj = $$(newLast, consts.id.UL, setting);
+ tmp_switchObj = $$(newLast, consts.id.SWITCH, setting);
+ tmp_icoObj = $$(newLast, consts.id.ICON, setting);
+ if (parentNode == root) {
+ if (parentNode[childKey].length == 1) {
+ //node was root, and ztree has only one root after move node
+ view.replaceSwitchClass(newLast, tmp_switchObj, consts.line.ROOT);
+ } else {
+ var tmp_first_switchObj = $$(parentNode[childKey][0], consts.id.SWITCH, setting);
+ view.replaceSwitchClass(parentNode[childKey][0], tmp_first_switchObj, consts.line.ROOTS);
+ view.replaceSwitchClass(newLast, tmp_switchObj, consts.line.BOTTOM);
+ }
+ } else {
+ view.replaceSwitchClass(newLast, tmp_switchObj, consts.line.BOTTOM);
+ }
+ tmp_ulObj.removeClass(consts.line.LINE);
+ }
+ },
+ replaceIcoClass: function(node, obj, newName) {
+ if (!obj || node.isAjaxing) return;
+ var tmpName = obj.attr("class");
+ if (tmpName == undefined) return;
+ var tmpList = tmpName.split("_");
+ switch (newName) {
+ case consts.folder.OPEN:
+ case consts.folder.CLOSE:
+ case consts.folder.DOCU:
+ tmpList[tmpList.length-1] = newName;
+ break;
+ }
+ obj.attr("class", tmpList.join("_"));
+ },
+ replaceSwitchClass: function(node, obj, newName) {
+ if (!obj) return;
+ var tmpName = obj.attr("class");
+ if (tmpName == undefined) return;
+ var tmpList = tmpName.split("_");
+ switch (newName) {
+ case consts.line.ROOT:
+ case consts.line.ROOTS:
+ case consts.line.CENTER:
+ case consts.line.BOTTOM:
+ case consts.line.NOLINE:
+ tmpList[0] = view.makeNodeLineClassEx(node) + newName;
+ break;
+ case consts.folder.OPEN:
+ case consts.folder.CLOSE:
+ case consts.folder.DOCU:
+ tmpList[1] = newName;
+ break;
+ }
+ obj.attr("class", tmpList.join("_"));
+ if (newName !== consts.folder.DOCU) {
+ obj.removeAttr("disabled");
+ } else {
+ obj.attr("disabled", "disabled");
+ }
+ },
+ selectNode: function(setting, node, addFlag) {
+ if (!addFlag) {
+ view.cancelPreSelectedNode(setting);
+ }
+ $$(node, consts.id.A, setting).addClass(consts.node.CURSELECTED);
+ data.addSelectedNode(setting, node);
+ },
+ setNodeFontCss: function(setting, treeNode) {
+ var aObj = $$(treeNode, consts.id.A, setting),
+ fontCss = view.makeNodeFontCss(setting, treeNode);
+ if (fontCss) {
+ aObj.css(fontCss);
+ }
+ },
+ setNodeLineIcos: function(setting, node) {
+ if (!node) return;
+ var switchObj = $$(node, consts.id.SWITCH, setting),
+ ulObj = $$(node, consts.id.UL, setting),
+ icoObj = $$(node, consts.id.ICON, setting),
+ ulLine = view.makeUlLineClass(setting, node);
+ if (ulLine.length==0) {
+ ulObj.removeClass(consts.line.LINE);
+ } else {
+ ulObj.addClass(ulLine);
+ }
+ switchObj.attr("class", view.makeNodeLineClass(setting, node));
+ if (node.isParent) {
+ switchObj.removeAttr("disabled");
+ } else {
+ switchObj.attr("disabled", "disabled");
+ }
+ icoObj.removeAttr("style");
+ icoObj.attr("style", view.makeNodeIcoStyle(setting, node));
+ icoObj.attr("class", view.makeNodeIcoClass(setting, node));
+ },
+ setNodeName: function(setting, node) {
+ var title = data.getNodeTitle(setting, node),
+ nObj = $$(node, consts.id.SPAN, setting);
+ nObj.empty();
+ if (setting.view.nameIsHTML) {
+ nObj.html(data.getNodeName(setting, node));
+ } else {
+ nObj.text(data.getNodeName(setting, node));
+ }
+ if (tools.apply(setting.view.showTitle, [setting.treeId, node], setting.view.showTitle)) {
+ var aObj = $$(node, consts.id.A, setting);
+ aObj.attr("title", !title ? "" : title);
+ }
+ },
+ setNodeTarget: function(setting, node) {
+ var aObj = $$(node, consts.id.A, setting);
+ aObj.attr("target", view.makeNodeTarget(node));
+ },
+ setNodeUrl: function(setting, node) {
+ var aObj = $$(node, consts.id.A, setting),
+ url = view.makeNodeUrl(setting, node);
+ if (url == null || url.length == 0) {
+ aObj.removeAttr("href");
+ } else {
+ aObj.attr("href", url);
+ }
+ },
+ switchNode: function(setting, node) {
+ if (node.open || !tools.canAsync(setting, node)) {
+ view.expandCollapseNode(setting, node, !node.open);
+ } else if (setting.async.enable) {
+ if (!view.asyncNode(setting, node)) {
+ view.expandCollapseNode(setting, node, !node.open);
+ return;
+ }
+ } else if (node) {
+ view.expandCollapseNode(setting, node, !node.open);
+ }
+ }
+ };
+ // zTree defind
+ $.fn.zTree = {
+ consts : _consts,
+ _z : {
+ tools: tools,
+ view: view,
+ event: event,
+ data: data
+ },
+ getZTreeObj: function(treeId) {
+ var o = data.getZTreeTools(treeId);
+ return o ? o : null;
+ },
+ destroy: function(treeId) {
+ if (!!treeId && treeId.length > 0) {
+ view.destroy(data.getSetting(treeId));
+ } else {
+ for(var s in settings) {
+ view.destroy(settings[s]);
+ }
+ }
+ },
+ init: function(obj, zSetting, zNodes) {
+ var setting = tools.clone(_setting);
+ $.extend(true, setting, zSetting);
+ setting.treeId = obj.attr("id");
+ setting.treeObj = obj;
+ setting.treeObj.empty();
+ settings[setting.treeId] = setting;
+ //For some older browser,(e.g., ie6)
+ if(typeof document.body.style.maxHeight === "undefined") {
+ setting.view.expandSpeed = "";
+ }
+ data.initRoot(setting);
+ var root = data.getRoot(setting),
+ childKey = setting.data.key.children;
+ zNodes = zNodes ? tools.clone(tools.isArray(zNodes)? zNodes : [zNodes]) : [];
+ if (setting.data.simpleData.enable) {
+ root[childKey] = data.transformTozTreeFormat(setting, zNodes);
+ } else {
+ root[childKey] = zNodes;
+ }
+
+ data.initCache(setting);
+ event.unbindTree(setting);
+ event.bindTree(setting);
+ event.unbindEvent(setting);
+ event.bindEvent(setting);
+
+ var zTreeTools = {
+ setting : setting,
+ addNodes : function(parentNode, newNodes, isSilent) {
+ if (!newNodes) return null;
+ if (!parentNode) parentNode = null;
+ if (parentNode && !parentNode.isParent && setting.data.keep.leaf) return null;
+ var xNewNodes = tools.clone(tools.isArray(newNodes)? newNodes: [newNodes]);
+ function addCallback() {
+ view.addNodes(setting, parentNode, xNewNodes, (isSilent==true));
+ }
+
+ if (tools.canAsync(setting, parentNode)) {
+ view.asyncNode(setting, parentNode, isSilent, addCallback);
+ } else {
+ addCallback();
+ }
+ return xNewNodes;
+ },
+ cancelSelectedNode : function(node) {
+ view.cancelPreSelectedNode(setting, node);
+ },
+ destroy : function() {
+ view.destroy(setting);
+ },
+ expandAll : function(expandFlag) {
+ expandFlag = !!expandFlag;
+ view.expandCollapseSonNode(setting, null, expandFlag, true);
+ return expandFlag;
+ },
+ expandNode : function(node, expandFlag, sonSign, focus, callbackFlag) {
+ if (!node || !node.isParent) return null;
+ if (expandFlag !== true && expandFlag !== false) {
+ expandFlag = !node.open;
+ }
+ callbackFlag = !!callbackFlag;
+
+ if (callbackFlag && expandFlag && (tools.apply(setting.callback.beforeExpand, [setting.treeId, node], true) == false)) {
+ return null;
+ } else if (callbackFlag && !expandFlag && (tools.apply(setting.callback.beforeCollapse, [setting.treeId, node], true) == false)) {
+ return null;
+ }
+ if (expandFlag && node.parentTId) {
+ view.expandCollapseParentNode(setting, node.getParentNode(), expandFlag, false);
+ }
+ if (expandFlag === node.open && !sonSign) {
+ return null;
+ }
+
+ data.getRoot(setting).expandTriggerFlag = callbackFlag;
+ if (!tools.canAsync(setting, node) && sonSign) {
+ view.expandCollapseSonNode(setting, node, expandFlag, true, function() {
+ if (focus !== false) {try{$$(node, setting).focus().blur();}catch(e){}}
+ });
+ } else {
+ node.open = !expandFlag;
+ view.switchNode(this.setting, node);
+ if (focus !== false) {try{$$(node, setting).focus().blur();}catch(e){}}
+ }
+ return expandFlag;
+ },
+ getNodes : function() {
+ return data.getNodes(setting);
+ },
+ getNodeByParam : function(key, value, parentNode) {
+ if (!key) return null;
+ return data.getNodeByParam(setting, parentNode?parentNode[setting.data.key.children]:data.getNodes(setting), key, value);
+ },
+ getNodeByTId : function(tId) {
+ return data.getNodeCache(setting, tId);
+ },
+ getNodesByParam : function(key, value, parentNode) {
+ if (!key) return null;
+ return data.getNodesByParam(setting, parentNode?parentNode[setting.data.key.children]:data.getNodes(setting), key, value);
+ },
+ getNodesByParamFuzzy : function(key, value, parentNode) {
+ if (!key) return null;
+ return data.getNodesByParamFuzzy(setting, parentNode?parentNode[setting.data.key.children]:data.getNodes(setting), key, value);
+ },
+ getNodesByFilter: function(filter, isSingle, parentNode, invokeParam) {
+ isSingle = !!isSingle;
+ if (!filter || (typeof filter != "function")) return (isSingle ? null : []);
+ return data.getNodesByFilter(setting, parentNode?parentNode[setting.data.key.children]:data.getNodes(setting), filter, isSingle, invokeParam);
+ },
+ getNodeIndex : function(node) {
+ if (!node) return null;
+ var childKey = setting.data.key.children,
+ parentNode = (node.parentTId) ? node.getParentNode() : data.getRoot(setting);
+ for (var i=0, l = parentNode[childKey].length; i < l; i++) {
+ if (parentNode[childKey][i] == node) return i;
+ }
+ return -1;
+ },
+ getSelectedNodes : function() {
+ var r = [], list = data.getRoot(setting).curSelectedList;
+ for (var i=0, l=list.length; i<l; i++) {
+ r.push(list[i]);
+ }
+ return r;
+ },
+ isSelectedNode : function(node) {
+ return data.isSelectedNode(setting, node);
+ },
+ reAsyncChildNodes : function(parentNode, reloadType, isSilent) {
+ if (!this.setting.async.enable) return;
+ var isRoot = !parentNode;
+ if (isRoot) {
+ parentNode = data.getRoot(setting);
+ }
+ if (reloadType=="refresh") {
+ var childKey = this.setting.data.key.children;
+ for (var i = 0, l = parentNode[childKey] ? parentNode[childKey].length : 0; i < l; i++) {
+ data.removeNodeCache(setting, parentNode[childKey][i]);
+ }
+ data.removeSelectedNode(setting);
+ parentNode[childKey] = [];
+ if (isRoot) {
+ this.setting.treeObj.empty();
+ } else {
+ var ulObj = $$(parentNode, consts.id.UL, setting);
+ ulObj.empty();
+ }
+ }
+ view.asyncNode(this.setting, isRoot? null:parentNode, !!isSilent);
+ },
+ refresh : function() {
+ this.setting.treeObj.empty();
+ var root = data.getRoot(setting),
+ nodes = root[setting.data.key.children]
+ data.initRoot(setting);
+ root[setting.data.key.children] = nodes
+ data.initCache(setting);
+ view.createNodes(setting, 0, root[setting.data.key.children]);
+ },
+ removeChildNodes : function(node) {
+ if (!node) return null;
+ var childKey = setting.data.key.children,
+ nodes = node[childKey];
+ view.removeChildNodes(setting, node);
+ return nodes ? nodes : null;
+ },
+ removeNode : function(node, callbackFlag) {
+ if (!node) return;
+ callbackFlag = !!callbackFlag;
+ if (callbackFlag && tools.apply(setting.callback.beforeRemove, [setting.treeId, node], true) == false) return;
+ view.removeNode(setting, node);
+ if (callbackFlag) {
+ this.setting.treeObj.trigger(consts.event.REMOVE, [setting.treeId, node]);
+ }
+ },
+ selectNode : function(node, addFlag) {
+ if (!node) return;
+ if (tools.uCanDo(setting)) {
+ addFlag = setting.view.selectedMulti && addFlag;
+ if (node.parentTId) {
+ view.expandCollapseParentNode(setting, node.getParentNode(), true, false, function() {
+ try{$$(node, setting).focus().blur();}catch(e){}
+ });
+ } else {
+ try{$$(node, setting).focus().blur();}catch(e){}
+ }
+ view.selectNode(setting, node, addFlag);
+ }
+ },
+ transformTozTreeNodes : function(simpleNodes) {
+ return data.transformTozTreeFormat(setting, simpleNodes);
+ },
+ transformToArray : function(nodes) {
+ return data.transformToArrayFormat(setting, nodes);
+ },
+ updateNode : function(node, checkTypeFlag) {
+ if (!node) return;
+ var nObj = $$(node, setting);
+ if (nObj.get(0) && tools.uCanDo(setting)) {
+ view.setNodeName(setting, node);
+ view.setNodeTarget(setting, node);
+ view.setNodeUrl(setting, node);
+ view.setNodeLineIcos(setting, node);
+ view.setNodeFontCss(setting, node);
+ }
+ }
+ }
+ root.treeTools = zTreeTools;
+ data.setZTreeTools(setting, zTreeTools);
+
+ if (root[childKey] && root[childKey].length > 0) {
+ view.createNodes(setting, 0, root[childKey]);
+ } else if (setting.async.enable && setting.async.url && setting.async.url !== '') {
+ view.asyncNode(setting);
+ }
+ return zTreeTools;
+ }
+ };
+
+ var zt = $.fn.zTree,
+ $$ = tools.$,
+ consts = zt.consts;
+})(jQuery);
+/*
+ * JQuery zTree excheck v3.5.16
+ * http://zTree.me/
+ *
+ * Copyright (c) 2010 Hunter.z
+ *
+ * Licensed same as jquery - MIT License
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ * email: hunter.z@263.net
+ * Date: 2014-03-09
+ */
+(function($){
+ //default consts of excheck
+ var _consts = {
+ 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"
+ }
+ },
+ //default setting of excheck
+ _setting = {
+ check: {
+ enable: false,
+ autoCheckTrigger: false,
+ chkStyle: _consts.checkbox.STYLE,
+ nocheckInherit: false,
+ chkDisabledInherit: false,
+ radioType: _consts.radio.TYPE_LEVEL,
+ chkboxType: {
+ "Y": "ps",
+ "N": "ps"
+ }
+ },
+ data: {
+ key: {
+ checked: "checked"
+ }
+ },
+ callback: {
+ beforeCheck:null,
+ onCheck:null
+ }
+ },
+ //default root of excheck
+ _initRoot = function (setting) {
+ var r = data.getRoot(setting);
+ r.radioCheckedList = [];
+ },
+ //default cache of excheck
+ _initCache = function(treeId) {},
+ //default bind event of excheck
+ _bindEvent = function(setting) {
+ var o = setting.treeObj,
+ c = consts.event;
+ o.bind(c.CHECK, function (event, srcEvent, treeId, node) {
+ event.srcEvent = srcEvent;
+ tools.apply(setting.callback.onCheck, [event, treeId, node]);
+ });
+ },
+ _unbindEvent = function(setting) {
+ var o = setting.treeObj,
+ c = consts.event;
+ o.unbind(c.CHECK);
+ },
+ //default event proxy of excheck
+ _eventProxy = function(e) {
+ var target = e.target,
+ setting = data.getSetting(e.data.treeId),
+ tId = "", node = null,
+ nodeEventType = "", treeEventType = "",
+ nodeEventCallback = null, treeEventCallback = null;
+
+ if (tools.eqs(e.type, "mouseover")) {
+ if (setting.check.enable && tools.eqs(target.tagName, "span") && target.getAttribute("treeNode"+ consts.id.CHECK) !== null) {
+ tId = tools.getNodeMainDom(target).id;
+ nodeEventType = "mouseoverCheck";
+ }
+ } else if (tools.eqs(e.type, "mouseout")) {
+ if (setting.check.enable && tools.eqs(target.tagName, "span") && target.getAttribute("treeNode"+ consts.id.CHECK) !== null) {
+ tId = tools.getNodeMainDom(target).id;
+ nodeEventType = "mouseoutCheck";
+ }
+ } else if (tools.eqs(e.type, "click")) {
+ if (setting.check.enable && tools.eqs(target.tagName, "span") && target.getAttribute("treeNode"+ consts.id.CHECK) !== null) {
+ tId = tools.getNodeMainDom(target).id;
+ nodeEventType = "checkNode";
+ }
+ }
+ if (tId.length>0) {
+ node = data.getNodeCache(setting, tId);
+ switch (nodeEventType) {
+ case "checkNode" :
+ nodeEventCallback = _handler.onCheckNode;
+ break;
+ case "mouseoverCheck" :
+ nodeEventCallback = _handler.onMouseoverCheck;
+ break;
+ case "mouseoutCheck" :
+ nodeEventCallback = _handler.onMouseoutCheck;
+ break;
+ }
+ }
+ var proxyResult = {
+ stop: nodeEventType === "checkNode",
+ node: node,
+ nodeEventType: nodeEventType,
+ nodeEventCallback: nodeEventCallback,
+ treeEventType: treeEventType,
+ treeEventCallback: treeEventCallback
+ };
+ return proxyResult
+ },
+ //default init node of excheck
+ _initNode = function(setting, level, n, parentNode, isFirstNode, isLastNode, openFlag) {
+ if (!n) return;
+ var checkedKey = setting.data.key.checked;
+ if (typeof n[checkedKey] == "string") n[checkedKey] = tools.eqs(n[checkedKey], "true");
+ n[checkedKey] = !!n[checkedKey];
+ n.checkedOld = n[checkedKey];
+ if (typeof n.nocheck == "string") n.nocheck = tools.eqs(n.nocheck, "true");
+ n.nocheck = !!n.nocheck || (setting.check.nocheckInherit && parentNode && !!parentNode.nocheck);
+ if (typeof n.chkDisabled == "string") n.chkDisabled = tools.eqs(n.chkDisabled, "true");
+ n.chkDisabled = !!n.chkDisabled || (setting.check.chkDisabledInherit && parentNode && !!parentNode.chkDisabled);
+ if (typeof n.halfCheck == "string") n.halfCheck = tools.eqs(n.halfCheck, "true");
+ n.halfCheck = !!n.halfCheck;
+ n.check_Child_State = -1;
+ n.check_Focus = false;
+ n.getCheckStatus = function() {return data.getCheckStatus(setting, n);};
+
+ if (setting.check.chkStyle == consts.radio.STYLE && setting.check.radioType == consts.radio.TYPE_ALL && n[checkedKey] ) {
+ var r = data.getRoot(setting);
+ r.radioCheckedList.push(n);
+ }
+ },
+ //add dom for check
+ _beforeA = function(setting, node, html) {
+ var checkedKey = setting.data.key.checked;
+ if (setting.check.enable) {
+ data.makeChkFlag(setting, node);
+ html.push("<span ID='", node.tId, consts.id.CHECK, "' class='", view.makeChkClass(setting, node), "' treeNode", consts.id.CHECK, (node.nocheck === true?" style='display:none;'":""),"></span>");
+ }
+ },
+ //update zTreeObj, add method of check
+ _zTreeTools = function(setting, zTreeTools) {
+ zTreeTools.checkNode = function(node, checked, checkTypeFlag, callbackFlag) {
+ var checkedKey = this.setting.data.key.checked;
+ if (node.chkDisabled === true) return;
+ if (checked !== true && checked !== false) {
+ checked = !node[checkedKey];
+ }
+ callbackFlag = !!callbackFlag;
+
+ if (node[checkedKey] === checked && !checkTypeFlag) {
+ return;
+ } else if (callbackFlag && tools.apply(this.setting.callback.beforeCheck, [this.setting.treeId, node], true) == false) {
+ return;
+ }
+ if (tools.uCanDo(this.setting) && this.setting.check.enable && node.nocheck !== true) {
+ node[checkedKey] = checked;
+ var checkObj = $$(node, consts.id.CHECK, this.setting);
+ if (checkTypeFlag || this.setting.check.chkStyle === consts.radio.STYLE) view.checkNodeRelation(this.setting, node);
+ view.setChkClass(this.setting, checkObj, node);
+ view.repairParentChkClassWithSelf(this.setting, node);
+ if (callbackFlag) {
+ this.setting.treeObj.trigger(consts.event.CHECK, [null, this.setting.treeId, node]);
+ }
+ }
+ }
+
+ zTreeTools.checkAllNodes = function(checked) {
+ view.repairAllChk(this.setting, !!checked);
+ }
+
+ zTreeTools.getCheckedNodes = function(checked) {
+ var childKey = this.setting.data.key.children;
+ checked = (checked !== false);
+ return data.getTreeCheckedNodes(this.setting, data.getRoot(this.setting)[childKey], checked);
+ }
+
+ zTreeTools.getChangeCheckedNodes = function() {
+ var childKey = this.setting.data.key.children;
+ return data.getTreeChangeCheckedNodes(this.setting, data.getRoot(this.setting)[childKey]);
+ }
+
+ zTreeTools.setChkDisabled = function(node, disabled, inheritParent, inheritChildren) {
+ disabled = !!disabled;
+ inheritParent = !!inheritParent;
+ inheritChildren = !!inheritChildren;
+ view.repairSonChkDisabled(this.setting, node, disabled, inheritChildren);
+ view.repairParentChkDisabled(this.setting, node.getParentNode(), disabled, inheritParent);
+ }
+
+ var _updateNode = zTreeTools.updateNode;
+ zTreeTools.updateNode = function(node, checkTypeFlag) {
+ if (_updateNode) _updateNode.apply(zTreeTools, arguments);
+ if (!node || !this.setting.check.enable) return;
+ var nObj = $$(node, this.setting);
+ if (nObj.get(0) && tools.uCanDo(this.setting)) {
+ var checkObj = $$(node, consts.id.CHECK, this.setting);
+ if (checkTypeFlag == true || this.setting.check.chkStyle === consts.radio.STYLE) view.checkNodeRelation(this.setting, node);
+ view.setChkClass(this.setting, checkObj, node);
+ view.repairParentChkClassWithSelf(this.setting, node);
+ }
+ }
+ },
+ //method of operate data
+ _data = {
+ getRadioCheckedList: function(setting) {
+ var checkedList = data.getRoot(setting).radioCheckedList;
+ for (var i=0, j=checkedList.length; i<j; i++) {
+ if(!data.getNodeCache(setting, checkedList[i].tId)) {
+ checkedList.splice(i, 1);
+ i--; j--;
+ }
+ }
+ return checkedList;
+ },
+ getCheckStatus: function(setting, node) {
+ if (!setting.check.enable || node.nocheck || node.chkDisabled) return null;
+ var checkedKey = setting.data.key.checked,
+ r = {
+ checked: node[checkedKey],
+ half: node.halfCheck ? node.halfCheck : (setting.check.chkStyle == consts.radio.STYLE ? (node.check_Child_State === 2) : (node[checkedKey] ? (node.check_Child_State > -1 && node.check_Child_State < 2) : (node.check_Child_State > 0)))
+ };
+ return r;
+ },
+ getTreeCheckedNodes: function(setting, nodes, checked, results) {
+ if (!nodes) return [];
+ var childKey = setting.data.key.children,
+ checkedKey = setting.data.key.checked,
+ onlyOne = (checked && setting.check.chkStyle == consts.radio.STYLE && setting.check.radioType == consts.radio.TYPE_ALL);
+ results = !results ? [] : results;
+ for (var i = 0, l = nodes.length; i < l; i++) {
+ if (nodes[i].nocheck !== true && nodes[i].chkDisabled !== true && nodes[i][checkedKey] == checked) {
+ results.push(nodes[i]);
+ if(onlyOne) {
+ break;
+ }
+ }
+ data.getTreeCheckedNodes(setting, nodes[i][childKey], checked, results);
+ if(onlyOne && results.length > 0) {
+ break;
+ }
+ }
+ return results;
+ },
+ getTreeChangeCheckedNodes: function(setting, nodes, results) {
+ if (!nodes) return [];
+ var childKey = setting.data.key.children,
+ checkedKey = setting.data.key.checked;
+ results = !results ? [] : results;
+ for (var i = 0, l = nodes.length; i < l; i++) {
+ if (nodes[i].nocheck !== true && nodes[i].chkDisabled !== true && nodes[i][checkedKey] != nodes[i].checkedOld) {
+ results.push(nodes[i]);
+ }
+ data.getTreeChangeCheckedNodes(setting, nodes[i][childKey], results);
+ }
+ return results;
+ },
+ makeChkFlag: function(setting, node) {
+ if (!node) return;
+ var childKey = setting.data.key.children,
+ checkedKey = setting.data.key.checked,
+ chkFlag = -1;
+ if (node[childKey]) {
+ for (var i = 0, l = node[childKey].length; i < l; i++) {
+ var cNode = node[childKey][i];
+ var tmp = -1;
+ if (setting.check.chkStyle == consts.radio.STYLE) {
+ if (cNode.nocheck === true || cNode.chkDisabled === true) {
+ tmp = cNode.check_Child_State;
+ } else if (cNode.halfCheck === true) {
+ tmp = 2;
+ } else if (cNode[checkedKey]) {
+ tmp = 2;
+ } else {
+ tmp = cNode.check_Child_State > 0 ? 2:0;
+ }
+ if (tmp == 2) {
+ chkFlag = 2; break;
+ } else if (tmp == 0){
+ chkFlag = 0;
+ }
+ } else if (setting.check.chkStyle == consts.checkbox.STYLE) {
+ if (cNode.nocheck === true || cNode.chkDisabled === true) {
+ tmp = cNode.check_Child_State;
+ } else if (cNode.halfCheck === true) {
+ tmp = 1;
+ } else if (cNode[checkedKey] ) {
+ tmp = (cNode.check_Child_State === -1 || cNode.check_Child_State === 2) ? 2 : 1;
+ } else {
+ tmp = (cNode.check_Child_State > 0) ? 1 : 0;
+ }
+ if (tmp === 1) {
+ chkFlag = 1; break;
+ } else if (tmp === 2 && chkFlag > -1 && i > 0 && tmp !== chkFlag) {
+ chkFlag = 1; break;
+ } else if (chkFlag === 2 && tmp > -1 && tmp < 2) {
+ chkFlag = 1; break;
+ } else if (tmp > -1) {
+ chkFlag = tmp;
+ }
+ }
+ }
+ }
+ node.check_Child_State = chkFlag;
+ }
+ },
+ //method of event proxy
+ _event = {
+
+ },
+ //method of event handler
+ _handler = {
+ onCheckNode: function (event, node) {
+ if (node.chkDisabled === true) return false;
+ var setting = data.getSetting(event.data.treeId),
+ checkedKey = setting.data.key.checked;
+ if (tools.apply(setting.callback.beforeCheck, [setting.treeId, node], true) == false) return true;
+ node[checkedKey] = !node[checkedKey];
+ view.checkNodeRelation(setting, node);
+ var checkObj = $$(node, consts.id.CHECK, setting);
+ view.setChkClass(setting, checkObj, node);
+ view.repairParentChkClassWithSelf(setting, node);
+ setting.treeObj.trigger(consts.event.CHECK, [event, setting.treeId, node]);
+ return true;
+ },
+ onMouseoverCheck: function(event, node) {
+ if (node.chkDisabled === true) return false;
+ var setting = data.getSetting(event.data.treeId),
+ checkObj = $$(node, consts.id.CHECK, setting);
+ node.check_Focus = true;
+ view.setChkClass(setting, checkObj, node);
+ return true;
+ },
+ onMouseoutCheck: function(event, node) {
+ if (node.chkDisabled === true) return false;
+ var setting = data.getSetting(event.data.treeId),
+ checkObj = $$(node, consts.id.CHECK, setting);
+ node.check_Focus = false;
+ view.setChkClass(setting, checkObj, node);
+ return true;
+ }
+ },
+ //method of tools for zTree
+ _tools = {
+
+ },
+ //method of operate ztree dom
+ _view = {
+ checkNodeRelation: function(setting, node) {
+ var pNode, i, l,
+ childKey = setting.data.key.children,
+ checkedKey = setting.data.key.checked,
+ r = consts.radio;
+ if (setting.check.chkStyle == r.STYLE) {
+ var checkedList = data.getRadioCheckedList(setting);
+ if (node[checkedKey]) {
+ if (setting.check.radioType == r.TYPE_ALL) {
+ for (i = checkedList.length-1; i >= 0; i--) {
+ pNode = checkedList[i];
+ if (pNode[checkedKey] && pNode != node) {
+ pNode[checkedKey] = false;
+ checkedList.splice(i, 1);
+
+ view.setChkClass(setting, $$(pNode, consts.id.CHECK, setting), pNode);
+ if (pNode.parentTId != node.parentTId) {
+ view.repairParentChkClassWithSelf(setting, pNode);
+ }
+ }
+ }
+ checkedList.push(node);
+ } else {
+ var parentNode = (node.parentTId) ? node.getParentNode() : data.getRoot(setting);
+ for (i = 0, l = parentNode[childKey].length; i < l; i++) {
+ pNode = parentNode[childKey][i];
+ if (pNode[checkedKey] && pNode != node) {
+ pNode[checkedKey] = false;
+ view.setChkClass(setting, $$(pNode, consts.id.CHECK, setting), pNode);
+ }
+ }
+ }
+ } else if (setting.check.radioType == r.TYPE_ALL) {
+ for (i = 0, l = checkedList.length; i < l; i++) {
+ if (node == checkedList[i]) {
+ checkedList.splice(i, 1);
+ break;
+ }
+ }
+ }
+
+ } else {
+ if (node[checkedKey] && (!node[childKey] || node[childKey].length==0 || setting.check.chkboxType.Y.indexOf("s") > -1)) {
+ view.setSonNodeCheckBox(setting, node, true);
+ }
+ if (!node[checkedKey] && (!node[childKey] || node[childKey].length==0 || setting.check.chkboxType.N.indexOf("s") > -1)) {
+ view.setSonNodeCheckBox(setting, node, false);
+ }
+ if (node[checkedKey] && setting.check.chkboxType.Y.indexOf("p") > -1) {
+ view.setParentNodeCheckBox(setting, node, true);
+ }
+ if (!node[checkedKey] && setting.check.chkboxType.N.indexOf("p") > -1) {
+ view.setParentNodeCheckBox(setting, node, false);
+ }
+ }
+ },
+ makeChkClass: function(setting, node) {
+ var checkedKey = setting.data.key.checked,
+ c = consts.checkbox, r = consts.radio,
+ fullStyle = "";
+ if (node.chkDisabled === true) {
+ fullStyle = c.DISABLED;
+ } else if (node.halfCheck) {
+ fullStyle = c.PART;
+ } else if (setting.check.chkStyle == r.STYLE) {
+ fullStyle = (node.check_Child_State < 1)? c.FULL:c.PART;
+ } else {
+ fullStyle = node[checkedKey] ? ((node.check_Child_State === 2 || node.check_Child_State === -1) ? c.FULL:c.PART) : ((node.check_Child_State < 1)? c.FULL:c.PART);
+ }
+ var chkName = setting.check.chkStyle + "_" + (node[checkedKey] ? c.TRUE : c.FALSE) + "_" + fullStyle;
+ chkName = (node.check_Focus && node.chkDisabled !== true) ? chkName + "_" + c.FOCUS : chkName;
+ return consts.className.BUTTON + " " + c.DEFAULT + " " + chkName;
+ },
+ repairAllChk: function(setting, checked) {
+ if (setting.check.enable && setting.check.chkStyle === consts.checkbox.STYLE) {
+ var checkedKey = setting.data.key.checked,
+ childKey = setting.data.key.children,
+ root = data.getRoot(setting);
+ for (var i = 0, l = root[childKey].length; i<l ; i++) {
+ var node = root[childKey][i];
+ if (node.nocheck !== true && node.chkDisabled !== true) {
+ node[checkedKey] = checked;
+ }
+ view.setSonNodeCheckBox(setting, node, checked);
+ }
+ }
+ },
+ repairChkClass: function(setting, node) {
+ if (!node) return;
+ data.makeChkFlag(setting, node);
+ if (node.nocheck !== true) {
+ var checkObj = $$(node, consts.id.CHECK, setting);
+ view.setChkClass(setting, checkObj, node);
+ }
+ },
+ repairParentChkClass: function(setting, node) {
+ if (!node || !node.parentTId) return;
+ var pNode = node.getParentNode();
+ view.repairChkClass(setting, pNode);
+ view.repairParentChkClass(setting, pNode);
+ },
+ repairParentChkClassWithSelf: function(setting, node) {
+ if (!node) return;
+ var childKey = setting.data.key.children;
+ if (node[childKey] && node[childKey].length > 0) {
+ view.repairParentChkClass(setting, node[childKey][0]);
+ } else {
+ view.repairParentChkClass(setting, node);
+ }
+ },
+ repairSonChkDisabled: function(setting, node, chkDisabled, inherit) {
+ if (!node) return;
+ var childKey = setting.data.key.children;
+ if (node.chkDisabled != chkDisabled) {
+ node.chkDisabled = chkDisabled;
+ }
+ view.repairChkClass(setting, node);
+ if (node[childKey] && inherit) {
+ for (var i = 0, l = node[childKey].length; i < l; i++) {
+ var sNode = node[childKey][i];
+ view.repairSonChkDisabled(setting, sNode, chkDisabled, inherit);
+ }
+ }
+ },
+ repairParentChkDisabled: function(setting, node, chkDisabled, inherit) {
+ if (!node) return;
+ if (node.chkDisabled != chkDisabled && inherit) {
+ node.chkDisabled = chkDisabled;
+ }
+ view.repairChkClass(setting, node);
+ view.repairParentChkDisabled(setting, node.getParentNode(), chkDisabled, inherit);
+ },
+ setChkClass: function(setting, obj, node) {
+ if (!obj) return;
+ if (node.nocheck === true) {
+ obj.hide();
+ } else {
+ obj.show();
+ }
+ obj.removeClass();
+ obj.addClass(view.makeChkClass(setting, node));
+ },
+ setParentNodeCheckBox: function(setting, node, value, srcNode) {
+ var childKey = setting.data.key.children,
+ checkedKey = setting.data.key.checked,
+ checkObj = $$(node, consts.id.CHECK, setting);
+ if (!srcNode) srcNode = node;
+ data.makeChkFlag(setting, node);
+ if (node.nocheck !== true && node.chkDisabled !== true) {
+ node[checkedKey] = value;
+ view.setChkClass(setting, checkObj, node);
+ if (setting.check.autoCheckTrigger && node != srcNode) {
+ setting.treeObj.trigger(consts.event.CHECK, [null, setting.treeId, node]);
+ }
+ }
+ if (node.parentTId) {
+ var pSign = true;
+ if (!value) {
+ var pNodes = node.getParentNode()[childKey];
+ for (var i = 0, l = pNodes.length; i < l; i++) {
+ if ((pNodes[i].nocheck !== true && pNodes[i].chkDisabled !== true && pNodes[i][checkedKey])
+ || ((pNodes[i].nocheck === true || pNodes[i].chkDisabled === true) && pNodes[i].check_Child_State > 0)) {
+ pSign = false;
+ break;
+ }
+ }
+ }
+ if (pSign) {
+ view.setParentNodeCheckBox(setting, node.getParentNode(), value, srcNode);
+ }
+ }
+ },
+ setSonNodeCheckBox: function(setting, node, value, srcNode) {
+ if (!node) return;
+ var childKey = setting.data.key.children,
+ checkedKey = setting.data.key.checked,
+ checkObj = $$(node, consts.id.CHECK, setting);
+ if (!srcNode) srcNode = node;
+
+ var hasDisable = false;
+ if (node[childKey]) {
+ for (var i = 0, l = node[childKey].length; i < l && node.chkDisabled !== true; i++) {
+ var sNode = node[childKey][i];
+ view.setSonNodeCheckBox(setting, sNode, value, srcNode);
+ if (sNode.chkDisabled === true) hasDisable = true;
+ }
+ }
+
+ if (node != data.getRoot(setting) && node.chkDisabled !== true) {
+ if (hasDisable && node.nocheck !== true) {
+ data.makeChkFlag(setting, node);
+ }
+ if (node.nocheck !== true && node.chkDisabled !== true) {
+ node[checkedKey] = value;
+ if (!hasDisable) node.check_Child_State = (node[childKey] && node[childKey].length > 0) ? (value ? 2 : 0) : -1;
+ } else {
+ node.check_Child_State = -1;
+ }
+ view.setChkClass(setting, checkObj, node);
+ if (setting.check.autoCheckTrigger && node != srcNode && node.nocheck !== true && node.chkDisabled !== true) {
+ setting.treeObj.trigger(consts.event.CHECK, [null, setting.treeId, node]);
+ }
+ }
+
+ }
+ },
+
+ _z = {
+ tools: _tools,
+ view: _view,
+ event: _event,
+ data: _data
+ };
+ $.extend(true, $.fn.zTree.consts, _consts);
+ $.extend(true, $.fn.zTree._z, _z);
+
+ var zt = $.fn.zTree,
+ tools = zt._z.tools,
+ consts = zt.consts,
+ view = zt._z.view,
+ data = zt._z.data,
+ event = zt._z.event,
+ $$ = tools.$;
+
+ data.exSetting(_setting);
+ data.addInitBind(_bindEvent);
+ data.addInitUnBind(_unbindEvent);
+ data.addInitCache(_initCache);
+ data.addInitNode(_initNode);
+ data.addInitProxy(_eventProxy, true);
+ data.addInitRoot(_initRoot);
+ data.addBeforeA(_beforeA);
+ data.addZTreeTools(_zTreeTools);
+
+ var _createNodes = view.createNodes;
+ view.createNodes = function(setting, level, nodes, parentNode) {
+ if (_createNodes) _createNodes.apply(view, arguments);
+ if (!nodes) return;
+ view.repairParentChkClassWithSelf(setting, parentNode);
+ }
+ var _removeNode = view.removeNode;
+ view.removeNode = function(setting, node) {
+ var parentNode = node.getParentNode();
+ if (_removeNode) _removeNode.apply(view, arguments);
+ if (!node || !parentNode) return;
+ view.repairChkClass(setting, parentNode);
+ view.repairParentChkClass(setting, parentNode);
+ }
+
+ var _appendNodes = view.appendNodes;
+ view.appendNodes = function(setting, level, nodes, parentNode, initFlag, openFlag) {
+ var html = "";
+ if (_appendNodes) {
+ html = _appendNodes.apply(view, arguments);
+ }
+ if (parentNode) {
+ data.makeChkFlag(setting, parentNode);
+ }
+ return html;
+ }
+})(jQuery);
+/*
+ * JQuery zTree exedit v3.5.16
+ * http://zTree.me/
+ *
+ * Copyright (c) 2010 Hunter.z
+ *
+ * Licensed same as jquery - MIT License
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ * email: hunter.z@263.net
+ * Date: 2014-03-09
+ */
+(function($){
+ //default consts of exedit
+ var _consts = {
+ 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"
+ }
+ },
+ //default setting of exedit
+ _setting = {
+ edit: {
+ enable: false,
+ editNameSelectAll: false,
+ showRemoveBtn: true,
+ showRenameBtn: true,
+ removeTitle: "remove",
+ renameTitle: "rename",
+ drag: {
+ autoExpandTrigger: false,
+ isCopy: true,
+ isMove: true,
+ prev: true,
+ next: true,
+ inner: true,
+ 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,
+ onDragMove:null,
+ onDrop:null,
+ onRename:null
+ }
+ },
+ //default root of exedit
+ _initRoot = function (setting) {
+ var r = data.getRoot(setting), rs = data.getRoots();
+ r.curEditNode = null;
+ r.curEditInput = null;
+ r.curHoverNode = null;
+ r.dragFlag = 0;
+ r.dragNodeShowBefore = [];
+ r.dragMaskList = new Array();
+ rs.showHoverDom = true;
+ },
+ //default cache of exedit
+ _initCache = function(treeId) {},
+ //default bind event of exedit
+ _bindEvent = function(setting) {
+ var o = setting.treeObj;
+ var c = consts.event;
+ o.bind(c.RENAME, function (event, treeId, treeNode, isCancel) {
+ tools.apply(setting.callback.onRename, [event, treeId, treeNode, isCancel]);
+ });
+
+ o.bind(c.DRAG, function (event, srcEvent, treeId, treeNodes) {
+ 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]);
+ });
+ },
+ _unbindEvent = function(setting) {
+ var o = setting.treeObj;
+ var c = consts.event;
+ o.unbind(c.RENAME);
+ o.unbind(c.DRAG);
+ o.unbind(c.DRAGMOVE);
+ o.unbind(c.DROP);
+ },
+ //default event proxy of exedit
+ _eventProxy = function(e) {
+ var target = e.target,
+ setting = data.getSetting(e.data.treeId),
+ relatedTarget = e.relatedTarget,
+ tId = "", node = null,
+ nodeEventType = "", treeEventType = "",
+ nodeEventCallback = null, treeEventCallback = null,
+ tmp = null;
+
+ if (tools.eqs(e.type, "mouseover")) {
+ tmp = tools.getMDom(setting, target, [{tagName:"a", attrName:"treeNode"+consts.id.A}]);
+ if (tmp) {
+ tId = tools.getNodeMainDom(tmp).id;
+ nodeEventType = "hoverOverNode";
+ }
+ } else if (tools.eqs(e.type, "mouseout")) {
+ tmp = tools.getMDom(setting, relatedTarget, [{tagName:"a", attrName:"treeNode"+consts.id.A}]);
+ if (!tmp) {
+ tId = "remove";
+ nodeEventType = "hoverOutNode";
+ }
+ } else if (tools.eqs(e.type, "mousedown")) {
+ tmp = tools.getMDom(setting, target, [{tagName:"a", attrName:"treeNode"+consts.id.A}]);
+ if (tmp) {
+ tId = tools.getNodeMainDom(tmp).id;
+ nodeEventType = "mousedownNode";
+ }
+ }
+ if (tId.length>0) {
+ node = data.getNodeCache(setting, tId);
+ switch (nodeEventType) {
+ case "mousedownNode" :
+ nodeEventCallback = _handler.onMousedownNode;
+ break;
+ case "hoverOverNode" :
+ nodeEventCallback = _handler.onHoverOverNode;
+ break;
+ case "hoverOutNode" :
+ nodeEventCallback = _handler.onHoverOutNode;
+ break;
+ }
+ }
+ var proxyResult = {
+ stop: false,
+ node: node,
+ nodeEventType: nodeEventType,
+ nodeEventCallback: nodeEventCallback,
+ treeEventType: treeEventType,
+ treeEventCallback: treeEventCallback
+ };
+ return proxyResult
+ },
+ //default init node of exedit
+ _initNode = function(setting, level, n, parentNode, isFirstNode, isLastNode, openFlag) {
+ if (!n) return;
+ n.isHover = false;
+ n.editNameFlag = false;
+ },
+ //update zTreeObj, add method of edit
+ _zTreeTools = function(setting, zTreeTools) {
+ zTreeTools.cancelEditName = function(newName) {
+ var root = data.getRoot(this.setting);
+ if (!root.curEditNode) return;
+ view.cancelCurEditNode(this.setting, newName?newName:null, true);
+ }
+ zTreeTools.copyNode = function(targetNode, node, moveType, isSilent) {
+ if (!node) return null;
+ if (targetNode && !targetNode.isParent && this.setting.data.keep.leaf && moveType === consts.move.TYPE_INNER) return null;
+ var _this = this,
+ newNode = tools.clone(node);
+ if (!targetNode) {
+ targetNode = null;
+ moveType = consts.move.TYPE_INNER;
+ }
+ if (moveType == consts.move.TYPE_INNER) {
+ function copyCallback() {
+ view.addNodes(_this.setting, targetNode, [newNode], isSilent);
+ }
+
+ if (tools.canAsync(this.setting, targetNode)) {
+ view.asyncNode(this.setting, targetNode, isSilent, copyCallback);
+ } else {
+ copyCallback();
+ }
+ } else {
+ view.addNodes(this.setting, targetNode.parentNode, [newNode], isSilent);
+ view.moveNode(this.setting, targetNode, newNode, moveType, false, isSilent);
+ }
+ return newNode;
+ }
+ zTreeTools.editName = function(node) {
+ if (!node || !node.tId || node !== data.getNodeCache(this.setting, node.tId)) return;
+ if (node.parentTId) view.expandCollapseParentNode(this.setting, node.getParentNode(), true);
+ view.editNode(this.setting, node)
+ }
+ zTreeTools.moveNode = function(targetNode, node, moveType, isSilent) {
+ if (!node) return node;
+ if (targetNode && !targetNode.isParent && this.setting.data.keep.leaf && moveType === consts.move.TYPE_INNER) {
+ return null;
+ } else if (targetNode && ((node.parentTId == targetNode.tId && moveType == consts.move.TYPE_INNER) || $$(node, this.setting).find("#" + targetNode.tId).length > 0)) {
+ return null;
+ } else if (!targetNode) {
+ targetNode = null;
+ }
+ var _this = this;
+ function moveCallback() {
+ view.moveNode(_this.setting, targetNode, node, moveType, false, isSilent);
+ }
+ if (tools.canAsync(this.setting, targetNode) && moveType === consts.move.TYPE_INNER) {
+ view.asyncNode(this.setting, targetNode, isSilent, moveCallback);
+ } else {
+ moveCallback();
+ }
+ return node;
+ }
+ zTreeTools.setEditable = function(editable) {
+ this.setting.edit.enable = editable;
+ return this.refresh();
+ }
+ },
+ //method of operate data
+ _data = {
+ setSonNodeLevel: function(setting, parentNode, node) {
+ if (!node) return;
+ var childKey = setting.data.key.children;
+ node.level = (parentNode)? parentNode.level + 1 : 0;
+ if (!node[childKey]) return;
+ for (var i = 0, l = node[childKey].length; i < l; i++) {
+ if (node[childKey][i]) data.setSonNodeLevel(setting, node, node[childKey][i]);
+ }
+ }
+ },
+ //method of event proxy
+ _event = {
+
+ },
+ //method of event handler
+ _handler = {
+ onHoverOverNode: function(event, node) {
+ var setting = data.getSetting(event.data.treeId),
+ root = data.getRoot(setting);
+ if (root.curHoverNode != node) {
+ _handler.onHoverOutNode(event);
+ }
+ root.curHoverNode = node;
+ view.addHoverDom(setting, node);
+ },
+ onHoverOutNode: function(event, node) {
+ var setting = data.getSetting(event.data.treeId),
+ root = data.getRoot(setting);
+ if (root.curHoverNode && !data.isSelectedNode(setting, root.curHoverNode)) {
+ view.removeTreeDom(setting, root.curHoverNode);
+ root.curHoverNode = null;
+ }
+ },
+ onMousedownNode: function(eventMouseDown, _node) {
+ var i,l,
+ setting = data.getSetting(eventMouseDown.data.treeId),
+ root = data.getRoot(setting), roots = data.getRoots();
+ //right click can't drag & drop
+ if (eventMouseDown.button == 2 || !setting.edit.enable || (!setting.edit.drag.isCopy && !setting.edit.drag.isMove)) return true;
+
+ //input of edit node name can't drag & drop
+ var target = eventMouseDown.target,
+ _nodes = data.getRoot(setting).curSelectedList,
+ nodes = [];
+ if (!data.isSelectedNode(setting, _node)) {
+ nodes = [_node];
+ } else {
+ for (i=0, l=_nodes.length; i<l; i++) {
+ if (_nodes[i].editNameFlag && tools.eqs(target.tagName, "input") && target.getAttribute("treeNode"+consts.id.INPUT) !== null) {
+ return true;
+ }
+ nodes.push(_nodes[i]);
+ if (nodes[0].parentTId !== _nodes[i].parentTId) {
+ nodes = [_node];
+ break;
+ }
+ }
+ }
+
+ view.editNodeBlur = true;
+ view.cancelCurEditNode(setting);
+
+ var doc = $(setting.treeObj.get(0).ownerDocument),
+ body = $(setting.treeObj.get(0).ownerDocument.body), curNode, tmpArrow, tmpTarget,
+ isOtherTree = false,
+ targetSetting = setting,
+ sourceSetting = setting,
+ preNode, nextNode,
+ preTmpTargetNodeId = null,
+ preTmpMoveType = null,
+ tmpTargetNodeId = null,
+ moveType = consts.move.TYPE_INNER,
+ mouseDownX = eventMouseDown.clientX,
+ mouseDownY = eventMouseDown.clientY,
+ startTime = (new Date()).getTime();
+
+ if (tools.uCanDo(setting)) {
+ doc.bind("mousemove", _docMouseMove);
+ }
+ function _docMouseMove(event) {
+ //avoid start drag after click node
+ if (root.dragFlag == 0 && Math.abs(mouseDownX - event.clientX) < setting.edit.drag.minMoveSize
+ && Math.abs(mouseDownY - event.clientY) < setting.edit.drag.minMoveSize) {
+ return true;
+ }
+ var i, l, tmpNode, tmpDom, tmpNodes,
+ childKey = setting.data.key.children;
+ body.css("cursor", "pointer");
+
+ if (root.dragFlag == 0) {
+ if (tools.apply(setting.callback.beforeDrag, [setting.treeId, nodes], true) == false) {
+ _docMouseUp(event);
+ return true;
+ }
+
+ for (i=0, l=nodes.length; i<l; i++) {
+ if (i==0) {
+ root.dragNodeShowBefore = [];
+ }
+ tmpNode = nodes[i];
+ if (tmpNode.isParent && tmpNode.open) {
+ view.expandCollapseNode(setting, tmpNode, !tmpNode.open);
+ root.dragNodeShowBefore[tmpNode.tId] = true;
+ } else {
+ root.dragNodeShowBefore[tmpNode.tId] = false;
+ }
+ }
+
+ root.dragFlag = 1;
+ roots.showHoverDom = false;
+ tools.showIfameMask(setting, true);
+
+ //sort
+ var isOrder = true, lastIndex = -1;
+ if (nodes.length>1) {
+ var pNodes = nodes[0].parentTId ? nodes[0].getParentNode()[childKey] : data.getNodes(setting);
+ tmpNodes = [];
+ for (i=0, l=pNodes.length; i<l; i++) {
+ if (root.dragNodeShowBefore[pNodes[i].tId] !== undefined) {
+ if (isOrder && lastIndex > -1 && (lastIndex+1) !== i) {
+ isOrder = false;
+ }
+ tmpNodes.push(pNodes[i]);
+ lastIndex = i;
+ }
+ if (nodes.length === tmpNodes.length) {
+ nodes = tmpNodes;
+ break;
+ }
+ }
+ }
+ if (isOrder) {
+ preNode = nodes[0].getPreNode();
+ nextNode = nodes[nodes.length-1].getNextNode();
+ }
+
+ //set node in selected
+ curNode = $$("<ul class='zTreeDragUL'></ul>", setting);
+ for (i=0, l=nodes.length; i<l; i++) {
+ tmpNode = nodes[i];
+ tmpNode.editNameFlag = false;
+ view.selectNode(setting, tmpNode, i>0);
+ view.removeTreeDom(setting, tmpNode);
+
+ if (i > setting.edit.drag.maxShowNodeNum-1) {
+ continue;
+ }
+
+ tmpDom = $$("<li id='"+ tmpNode.tId +"_tmp'></li>", setting);
+ tmpDom.append($$(tmpNode, consts.id.A, setting).clone());
+ tmpDom.css("padding", "0");
+ tmpDom.children("#" + tmpNode.tId + consts.id.A).removeClass(consts.node.CURSELECTED);
+ curNode.append(tmpDom);
+ if (i == setting.edit.drag.maxShowNodeNum-1) {
+ tmpDom = $$("<li id='"+ tmpNode.tId +"_moretmp'><a> ... </a></li>", setting);
+ curNode.append(tmpDom);
+ }
+ }
+ curNode.attr("id", nodes[0].tId + consts.id.UL + "_tmp");
+ curNode.addClass(setting.treeObj.attr("class"));
+ curNode.appendTo(body);
+
+ tmpArrow = $$("<span class='tmpzTreeMove_arrow'></span>", setting);
+ tmpArrow.attr("id", "zTreeMove_arrow_tmp");
+ tmpArrow.appendTo(body);
+
+ setting.treeObj.trigger(consts.event.DRAG, [event, setting.treeId, nodes]);
+ }
+
+ if (root.dragFlag == 1) {
+ if (tmpTarget && tmpArrow.attr("id") == event.target.id && tmpTargetNodeId && (event.clientX + doc.scrollLeft()+2) > ($("#" + tmpTargetNodeId + consts.id.A, tmpTarget).offset().left)) {
+ var xT = $("#" + tmpTargetNodeId + consts.id.A, tmpTarget);
+ event.target = (xT.length > 0) ? xT.get(0) : event.target;
+ } else if (tmpTarget) {
+ tmpTarget.removeClass(consts.node.TMPTARGET_TREE);
+ if (tmpTargetNodeId) $("#" + tmpTargetNodeId + consts.id.A, tmpTarget).removeClass(consts.node.TMPTARGET_NODE + "_" + consts.move.TYPE_PREV)
+ .removeClass(consts.node.TMPTARGET_NODE + "_" + _consts.move.TYPE_NEXT).removeClass(consts.node.TMPTARGET_NODE + "_" + _consts.move.TYPE_INNER);
+ }
+ tmpTarget = null;
+ tmpTargetNodeId = null;
+
+ //judge drag & drop in multi ztree
+ isOtherTree = false;
+ targetSetting = setting;
+ var settings = data.getSettings();
+ for (var s in settings) {
+ if (settings[s].treeId && settings[s].edit.enable && settings[s].treeId != setting.treeId
+ && (event.target.id == settings[s].treeId || $(event.target).parents("#" + settings[s].treeId).length>0)) {
+ isOtherTree = true;
+ targetSetting = settings[s];
+ }
+ }
+
+ var docScrollTop = doc.scrollTop(),
+ docScrollLeft = doc.scrollLeft(),
+ treeOffset = targetSetting.treeObj.offset(),
+ scrollHeight = targetSetting.treeObj.get(0).scrollHeight,
+ scrollWidth = targetSetting.treeObj.get(0).scrollWidth,
+ dTop = (event.clientY + docScrollTop - treeOffset.top),
+ dBottom = (targetSetting.treeObj.height() + treeOffset.top - event.clientY - docScrollTop),
+ dLeft = (event.clientX + docScrollLeft - treeOffset.left),
+ dRight = (targetSetting.treeObj.width() + treeOffset.left - event.clientX - docScrollLeft),
+ isTop = (dTop < setting.edit.drag.borderMax && dTop > setting.edit.drag.borderMin),
+ isBottom = (dBottom < setting.edit.drag.borderMax && dBottom > setting.edit.drag.borderMin),
+ isLeft = (dLeft < setting.edit.drag.borderMax && dLeft > setting.edit.drag.borderMin),
+ isRight = (dRight < setting.edit.drag.borderMax && dRight > setting.edit.drag.borderMin),
+ isTreeInner = dTop > setting.edit.drag.borderMin && dBottom > setting.edit.drag.borderMin && dLeft > setting.edit.drag.borderMin && dRight > setting.edit.drag.borderMin,
+ isTreeTop = (isTop && targetSetting.treeObj.scrollTop() <= 0),
+ isTreeBottom = (isBottom && (targetSetting.treeObj.scrollTop() + targetSetting.treeObj.height()+10) >= scrollHeight),
+ isTreeLeft = (isLeft && targetSetting.treeObj.scrollLeft() <= 0),
+ isTreeRight = (isRight && (targetSetting.treeObj.scrollLeft() + targetSetting.treeObj.width()+10) >= scrollWidth);
+
+ if (event.target && tools.isChildOrSelf(event.target, targetSetting.treeId)) {
+ //get node <li> dom
+ var targetObj = event.target;
+ while (targetObj && targetObj.tagName && !tools.eqs(targetObj.tagName, "li") && targetObj.id != targetSetting.treeId) {
+ targetObj = targetObj.parentNode;
+ }
+
+ var canMove = true;
+ //don't move to self or children of self
+ for (i=0, l=nodes.length; i<l; i++) {
+ tmpNode = nodes[i];
+ if (targetObj.id === tmpNode.tId) {
+ canMove = false;
+ break;
+ } else if ($$(tmpNode, setting).find("#" + targetObj.id).length > 0) {
+ canMove = false;
+ break;
+ }
+ }
+ if (canMove && event.target && tools.isChildOrSelf(event.target, targetObj.id + consts.id.A)) {
+ tmpTarget = $(targetObj);
+ tmpTargetNodeId = targetObj.id;
+ }
+ }
+
+ //the mouse must be in zTree
+ tmpNode = nodes[0];
+ if (isTreeInner && tools.isChildOrSelf(event.target, targetSetting.treeId)) {
+ //judge mouse move in root of ztree
+ if (!tmpTarget && (event.target.id == targetSetting.treeId || isTreeTop || isTreeBottom || isTreeLeft || isTreeRight) && (isOtherTree || (!isOtherTree && tmpNode.parentTId))) {
+ tmpTarget = targetSetting.treeObj;
+ }
+ //auto scroll top
+ if (isTop) {
+ targetSetting.treeObj.scrollTop(targetSetting.treeObj.scrollTop()-10);
+ } else if (isBottom) {
+ targetSetting.treeObj.scrollTop(targetSetting.treeObj.scrollTop()+10);
+ }
+ if (isLeft) {
+ targetSetting.treeObj.scrollLeft(targetSetting.treeObj.scrollLeft()-10);
+ } else if (isRight) {
+ targetSetting.treeObj.scrollLeft(targetSetting.treeObj.scrollLeft()+10);
+ }
+ //auto scroll left
+ if (tmpTarget && tmpTarget != targetSetting.treeObj && tmpTarget.offset().left < targetSetting.treeObj.offset().left) {
+ targetSetting.treeObj.scrollLeft(targetSetting.treeObj.scrollLeft()+ tmpTarget.offset().left - targetSetting.treeObj.offset().left);
+ }
+ }
+
+ curNode.css({
+ "top": (event.clientY + docScrollTop + 3) + "px",
+ "left": (event.clientX + docScrollLeft + 3) + "px"
+ });
+
+ var dX = 0;
+ var dY = 0;
+ if (tmpTarget && tmpTarget.attr("id")!=targetSetting.treeId) {
+ var tmpTargetNode = tmpTargetNodeId == null ? null: data.getNodeCache(targetSetting, tmpTargetNodeId),
+ isCopy = ((event.ctrlKey || event.metaKey) && setting.edit.drag.isMove && setting.edit.drag.isCopy) || (!setting.edit.drag.isMove && setting.edit.drag.isCopy),
+ isPrev = !!(preNode && tmpTargetNodeId === preNode.tId),
+ isNext = !!(nextNode && tmpTargetNodeId === nextNode.tId),
+ isInner = (tmpNode.parentTId && tmpNode.parentTId == tmpTargetNodeId),
+ canPrev = (isCopy || !isNext) && tools.apply(targetSetting.edit.drag.prev, [targetSetting.treeId, nodes, tmpTargetNode], !!targetSetting.edit.drag.prev),
+ canNext = (isCopy || !isPrev) && tools.apply(targetSetting.edit.drag.next, [targetSetting.treeId, nodes, tmpTargetNode], !!targetSetting.edit.drag.next),
+ canInner = (isCopy || !isInner) && !(targetSetting.data.keep.leaf && !tmpTargetNode.isParent) && tools.apply(targetSetting.edit.drag.inner, [targetSetting.treeId, nodes, tmpTargetNode], !!targetSetting.edit.drag.inner);
+ if (!canPrev && !canNext && !canInner) {
+ tmpTarget = null;
+ tmpTargetNodeId = "";
+ moveType = consts.move.TYPE_INNER;
+ tmpArrow.css({
+ "display":"none"
+ });
+ if (window.zTreeMoveTimer) {
+ clearTimeout(window.zTreeMoveTimer);
+ window.zTreeMoveTargetNodeTId = null
+ }
+ } else {
+ var tmpTargetA = $("#" + tmpTargetNodeId + consts.id.A, tmpTarget),
+ tmpNextA = tmpTargetNode.isLastNode ? null : $("#" + tmpTargetNode.getNextNode().tId + consts.id.A, tmpTarget.next()),
+ tmpTop = tmpTargetA.offset().top,
+ tmpLeft = tmpTargetA.offset().left,
+ prevPercent = canPrev ? (canInner ? 0.25 : (canNext ? 0.5 : 1) ) : -1,
+ nextPercent = canNext ? (canInner ? 0.75 : (canPrev ? 0.5 : 0) ) : -1,
+ dY_percent = (event.clientY + docScrollTop - tmpTop)/tmpTargetA.height();
+ if ((prevPercent==1 ||dY_percent<=prevPercent && dY_percent>=-.2) && canPrev) {
+ dX = 1 - tmpArrow.width();
+ dY = tmpTop - tmpArrow.height()/2;
+ moveType = consts.move.TYPE_PREV;
+ } else if ((nextPercent==0 || dY_percent>=nextPercent && dY_percent<=1.2) && canNext) {
+ dX = 1 - tmpArrow.width();
+ dY = (tmpNextA == null || (tmpTargetNode.isParent && tmpTargetNode.open)) ? (tmpTop + tmpTargetA.height() - tmpArrow.height()/2) : (tmpNextA.offset().top - tmpArrow.height()/2);
+ moveType = consts.move.TYPE_NEXT;
+ }else {
+ dX = 5 - tmpArrow.width();
+ dY = tmpTop;
+ moveType = consts.move.TYPE_INNER;
+ }
+ tmpArrow.css({
+ "display":"block",
+ "top": dY + "px",
+ "left": (tmpLeft + dX) + "px"
+ });
+ tmpTargetA.addClass(consts.node.TMPTARGET_NODE + "_" + moveType);
+
+ if (preTmpTargetNodeId != tmpTargetNodeId || preTmpMoveType != moveType) {
+ startTime = (new Date()).getTime();
+ }
+ if (tmpTargetNode && tmpTargetNode.isParent && moveType == consts.move.TYPE_INNER) {
+ var startTimer = true;
+ if (window.zTreeMoveTimer && window.zTreeMoveTargetNodeTId !== tmpTargetNode.tId) {
+ clearTimeout(window.zTreeMoveTimer);
+ window.zTreeMoveTargetNodeTId = null;
+ }else if (window.zTreeMoveTimer && window.zTreeMoveTargetNodeTId === tmpTargetNode.tId) {
+ startTimer = false;
+ }
+ if (startTimer) {
+ window.zTreeMoveTimer = setTimeout(function() {
+ if (moveType != consts.move.TYPE_INNER) return;
+ if (tmpTargetNode && tmpTargetNode.isParent && !tmpTargetNode.open && (new Date()).getTime() - startTime > targetSetting.edit.drag.autoOpenTime
+ && tools.apply(targetSetting.callback.beforeDragOpen, [targetSetting.treeId, tmpTargetNode], true)) {
+ view.switchNode(targetSetting, tmpTargetNode);
+ if (targetSetting.edit.drag.autoExpandTrigger) {
+ targetSetting.treeObj.trigger(consts.event.EXPAND, [targetSetting.treeId, tmpTargetNode]);
+ }
+ }
+ }, targetSetting.edit.drag.autoOpenTime+50);
+ window.zTreeMoveTargetNodeTId = tmpTargetNode.tId;
+ }
+ }
+ }
+ } else {
+ moveType = consts.move.TYPE_INNER;
+ if (tmpTarget && tools.apply(targetSetting.edit.drag.inner, [targetSetting.treeId, nodes, null], !!targetSetting.edit.drag.inner)) {
+ tmpTarget.addClass(consts.node.TMPTARGET_TREE);
+ } else {
+ tmpTarget = null;
+ }
+ tmpArrow.css({
+ "display":"none"
+ });
+ if (window.zTreeMoveTimer) {
+ clearTimeout(window.zTreeMoveTimer);
+ window.zTreeMoveTargetNodeTId = null;
+ }
+ }
+ preTmpTargetNodeId = tmpTargetNodeId;
+ preTmpMoveType = moveType;
+
+ setting.treeObj.trigger(consts.event.DRAGMOVE, [event, setting.treeId, nodes]);
+ }
+ return false;
+ }
+
+ doc.bind("mouseup", _docMouseUp);
+ function _docMouseUp(event) {
+ if (window.zTreeMoveTimer) {
+ clearTimeout(window.zTreeMoveTimer);
+ window.zTreeMoveTargetNodeTId = null;
+ }
+ preTmpTargetNodeId = null;
+ preTmpMoveType = null;
+ doc.unbind("mousemove", _docMouseMove);
+ doc.unbind("mouseup", _docMouseUp);
+ doc.unbind("selectstart", _docSelect);
+ body.css("cursor", "auto");
+ if (tmpTarget) {
+ tmpTarget.removeClass(consts.node.TMPTARGET_TREE);
+ if (tmpTargetNodeId) $("#" + tmpTargetNodeId + consts.id.A, tmpTarget).removeClass(consts.node.TMPTARGET_NODE + "_" + consts.move.TYPE_PREV)
+ .removeClass(consts.node.TMPTARGET_NODE + "_" + _consts.move.TYPE_NEXT).removeClass(consts.node.TMPTARGET_NODE + "_" + _consts.move.TYPE_INNER);
+ }
+ tools.showIfameMask(setting, false);
+
+ roots.showHoverDom = true;
+ if (root.dragFlag == 0) return;
+ root.dragFlag = 0;
+
+ var i, l, tmpNode;
+ for (i=0, l=nodes.length; i<l; i++) {
+ tmpNode = nodes[i];
+ if (tmpNode.isParent && root.dragNodeShowBefore[tmpNode.tId] && !tmpNode.open) {
+ view.expandCollapseNode(setting, tmpNode, !tmpNode.open);
+ delete root.dragNodeShowBefore[tmpNode.tId];
+ }
+ }
+
+ if (curNode) curNode.remove();
+ if (tmpArrow) tmpArrow.remove();
+
+ var isCopy = ((event.ctrlKey || event.metaKey) && setting.edit.drag.isMove && setting.edit.drag.isCopy) || (!setting.edit.drag.isMove && setting.edit.drag.isCopy);
+ if (!isCopy && tmpTarget && tmpTargetNodeId && nodes[0].parentTId && tmpTargetNodeId==nodes[0].parentTId && moveType == consts.move.TYPE_INNER) {
+ tmpTarget = null;
+ }
+ if (tmpTarget) {
+ var dragTargetNode = tmpTargetNodeId == null ? null: data.getNodeCache(targetSetting, tmpTargetNodeId);
+ if (tools.apply(setting.callback.beforeDrop, [targetSetting.treeId, nodes, dragTargetNode, moveType, isCopy], true) == false) {
+ view.selectNodes(sourceSetting, nodes);
+ return;
+ }
+ var newNodes = isCopy ? tools.clone(nodes) : nodes;
+
+ function dropCallback() {
+ if (isOtherTree) {
+ if (!isCopy) {
+ for(var i=0, l=nodes.length; i<l; i++) {
+ view.removeNode(setting, nodes[i]);
+ }
+ }
+ if (moveType == consts.move.TYPE_INNER) {
+ view.addNodes(targetSetting, dragTargetNode, newNodes);
+ } else {
+ view.addNodes(targetSetting, dragTargetNode.getParentNode(), newNodes);
+ if (moveType == consts.move.TYPE_PREV) {
+ for (i=0, l=newNodes.length; i<l; i++) {
+ view.moveNode(targetSetting, dragTargetNode, newNodes[i], moveType, false);
+ }
+ } else {
+ for (i=-1, l=newNodes.length-1; i<l; l--) {
+ view.moveNode(targetSetting, dragTargetNode, newNodes[l], moveType, false);
+ }
+ }
+ }
+ } else {
+ if (isCopy && moveType == consts.move.TYPE_INNER) {
+ view.addNodes(targetSetting, dragTargetNode, newNodes);
+ } else {
+ if (isCopy) {
+ view.addNodes(targetSetting, dragTargetNode.getParentNode(), newNodes);
+ }
+ if (moveType != consts.move.TYPE_NEXT) {
+ for (i=0, l=newNodes.length; i<l; i++) {
+ view.moveNode(targetSetting, dragTargetNode, newNodes[i], moveType, false);
+ }
+ } else {
+ for (i=-1, l=newNodes.length-1; i<l; l--) {
+ view.moveNode(targetSetting, dragTargetNode, newNodes[l], moveType, false);
+ }
+ }
+ }
+ }
+ view.selectNodes(targetSetting, newNodes);
+ $$(newNodes[0], setting).focus().blur();
+
+ setting.treeObj.trigger(consts.event.DROP, [event, targetSetting.treeId, newNodes, dragTargetNode, moveType, isCopy]);
+ }
+
+ if (moveType == consts.move.TYPE_INNER && tools.canAsync(targetSetting, dragTargetNode)) {
+ view.asyncNode(targetSetting, dragTargetNode, false, dropCallback);
+ } else {
+ dropCallback();
+ }
+
+ } else {
+ view.selectNodes(sourceSetting, nodes);
+ setting.treeObj.trigger(consts.event.DROP, [event, setting.treeId, nodes, null, null, null]);
+ }
+ }
+
+ doc.bind("selectstart", _docSelect);
+ function _docSelect() {
+ return false;
+ }
+
+ //Avoid FireFox's Bug
+ //If zTree Div CSS set 'overflow', so drag node outside of zTree, and event.target is error.
+ if(eventMouseDown.preventDefault) {
+ eventMouseDown.preventDefault();
+ }
+ return true;
+ }
+ },
+ //method of tools for zTree
+ _tools = {
+ getAbs: function (obj) {
+ var oRect = obj.getBoundingClientRect(),
+ scrollTop = document.body.scrollTop+document.documentElement.scrollTop,
+ scrollLeft = document.body.scrollLeft+document.documentElement.scrollLeft;
+ return [oRect.left+scrollLeft,oRect.top+scrollTop];
+ },
+ inputFocus: function(inputObj) {
+ if (inputObj.get(0)) {
+ inputObj.focus();
+ tools.setCursorPosition(inputObj.get(0), inputObj.val().length);
+ }
+ },
+ inputSelect: function(inputObj) {
+ if (inputObj.get(0)) {
+ inputObj.focus();
+ inputObj.select();
+ }
+ },
+ setCursorPosition: function(obj, pos){
+ if(obj.setSelectionRange) {
+ obj.focus();
+ obj.setSelectionRange(pos,pos);
+ } else if (obj.createTextRange) {
+ var range = obj.createTextRange();
+ range.collapse(true);
+ range.moveEnd('character', pos);
+ range.moveStart('character', pos);
+ range.select();
+ }
+ },
+ showIfameMask: function(setting, showSign) {
+ var root = data.getRoot(setting);
+ //clear full mask
+ while (root.dragMaskList.length > 0) {
+ root.dragMaskList[0].remove();
+ root.dragMaskList.shift();
+ }
+ if (showSign) {
+ //show mask
+ var iframeList = $$("iframe", setting);
+ for (var i = 0, l = iframeList.length; i < l; i++) {
+ var obj = iframeList.get(i),
+ r = tools.getAbs(obj),
+ dragMask = $$("<div id='zTreeMask_" + i + "' class='zTreeMask' style='top:" + r[1] + "px; left:" + r[0] + "px; width:" + obj.offsetWidth + "px; height:" + obj.offsetHeight + "px;'></div>", setting);
+ dragMask.appendTo($$("body", setting));
+ root.dragMaskList.push(dragMask);
+ }
+ }
+ }
+ },
+ //method of operate ztree dom
+ _view = {
+ addEditBtn: function(setting, node) {
+ if (node.editNameFlag || $$(node, consts.id.EDIT, setting).length > 0) {
+ return;
+ }
+ if (!tools.apply(setting.edit.showRenameBtn, [setting.treeId, node], setting.edit.showRenameBtn)) {
+ return;
+ }
+ var aObj = $$(node, consts.id.A, setting),
+ editStr = "<span class='" + consts.className.BUTTON + " edit' id='" + node.tId + consts.id.EDIT + "' title='"+tools.apply(setting.edit.renameTitle, [setting.treeId, node], setting.edit.renameTitle)+"' treeNode"+consts.id.EDIT+" style='display:none;'></span>";
+ aObj.append(editStr);
+
+ $$(node, consts.id.EDIT, setting).bind('click',
+ function() {
+ if (!tools.uCanDo(setting) || tools.apply(setting.callback.beforeEditName, [setting.treeId, node], true) == false) return false;
+ view.editNode(setting, node);
+ return false;
+ }
+ ).show();
+ },
+ addRemoveBtn: function(setting, node) {
+ if (node.editNameFlag || $$(node, consts.id.REMOVE, setting).length > 0) {
+ return;
+ }
+ if (!tools.apply(setting.edit.showRemoveBtn, [setting.treeId, node], setting.edit.showRemoveBtn)) {
+ return;
+ }
+ var aObj = $$(node, consts.id.A, setting),
+ removeStr = "<span class='" + consts.className.BUTTON + " remove' id='" + node.tId + consts.id.REMOVE + "' title='"+tools.apply(setting.edit.removeTitle, [setting.treeId, node], setting.edit.removeTitle)+"' treeNode"+consts.id.REMOVE+" style='display:none;'></span>";
+ aObj.append(removeStr);
+
+ $$(node, consts.id.REMOVE, setting).bind('click',
+ function() {
+ if (!tools.uCanDo(setting) || tools.apply(setting.callback.beforeRemove, [setting.treeId, node], true) == false) return false;
+ view.removeNode(setting, node);
+ setting.treeObj.trigger(consts.event.REMOVE, [setting.treeId, node]);
+ return false;
+ }
+ ).bind('mousedown',
+ function(eventMouseDown) {
+ return true;
+ }
+ ).show();
+ },
+ addHoverDom: function(setting, node) {
+ if (data.getRoots().showHoverDom) {
+ node.isHover = true;
+ if (setting.edit.enable) {
+ //view.addEditBtn(setting, node);
+ view.addRemoveBtn(setting, node);
+ view.addEditBtn(setting, node);
+ }
+ tools.apply(setting.view.addHoverDom, [setting.treeId, node]);
+ }
+ },
+ cancelCurEditNode: function (setting, forceName, isCancel) {
+ var root = data.getRoot(setting),
+ nameKey = setting.data.key.name,
+ node = root.curEditNode;
+
+ if (node) {
+ var inputObj = root.curEditInput,
+ newName = forceName ? forceName:(isCancel ? node[nameKey]: inputObj.val());
+ if (tools.apply(setting.callback.beforeRename, [setting.treeId, node, newName, isCancel], true) === false) {
+ return false;
+ } else {
+ node[nameKey] = newName;
+ setting.treeObj.trigger(consts.event.RENAME, [setting.treeId, node, isCancel]);
+ }
+ var aObj = $$(node, consts.id.A, setting);
+ aObj.removeClass(consts.node.CURSELECTED_EDIT);
+ inputObj.unbind();
+ view.setNodeName(setting, node);
+ node.editNameFlag = false;
+ root.curEditNode = null;
+ root.curEditInput = null;
+ view.selectNode(setting, node, false);
+ }
+ root.noSelection = true;
+ return true;
+ },
+ editNode: function(setting, node) {
+ var root = data.getRoot(setting);
+ view.editNodeBlur = false;
+ if (data.isSelectedNode(setting, node) && root.curEditNode == node && node.editNameFlag) {
+ setTimeout(function() {tools.inputFocus(root.curEditInput);}, 0);
+ return;
+ }
+ var nameKey = setting.data.key.name;
+ node.editNameFlag = true;
+ view.removeTreeDom(setting, node);
+ view.cancelCurEditNode(setting);
+ view.selectNode(setting, node, false);
+ $$(node, consts.id.SPAN, setting).html("<input type=text class='rename' id='" + node.tId + consts.id.INPUT + "' treeNode" + consts.id.INPUT + " >");
+ var inputObj = $$(node, consts.id.INPUT, setting);
+ inputObj.attr("value", node[nameKey]);
+ if (setting.edit.editNameSelectAll) {
+ tools.inputSelect(inputObj);
+ } else {
+ tools.inputFocus(inputObj);
+ }
+
+ inputObj.bind('blur', function(event) {
+ if (!view.editNodeBlur) {
+ view.cancelCurEditNode(setting);
+ }
+ }).bind('keydown', function(event) {
+ if (event.keyCode=="13") {
+ view.editNodeBlur = true;
+ view.cancelCurEditNode(setting);
+ } else if (event.keyCode=="27") {
+ view.cancelCurEditNode(setting, null, true);
+ }
+ }).bind('click', function(event) {
+ return false;
+ }).bind('dblclick', function(event) {
+ return false;
+ });
+
+ $$(node, consts.id.A, setting).addClass(consts.node.CURSELECTED_EDIT);
+ root.curEditInput = inputObj;
+ root.noSelection = false;
+ root.curEditNode = node;
+ },
+ moveNode: function(setting, targetNode, node, moveType, animateFlag, isSilent) {
+ var root = data.getRoot(setting),
+ childKey = setting.data.key.children;
+ if (targetNode == node) return;
+ if (setting.data.keep.leaf && targetNode && !targetNode.isParent && moveType == consts.move.TYPE_INNER) return;
+ var oldParentNode = (node.parentTId ? node.getParentNode(): root),
+ targetNodeIsRoot = (targetNode === null || targetNode == root);
+ if (targetNodeIsRoot && targetNode === null) targetNode = root;
+ if (targetNodeIsRoot) moveType = consts.move.TYPE_INNER;
+ var targetParentNode = (targetNode.parentTId ? targetNode.getParentNode() : root);
+
+ if (moveType != consts.move.TYPE_PREV && moveType != consts.move.TYPE_NEXT) {
+ moveType = consts.move.TYPE_INNER;
+ }
+
+ if (moveType == consts.move.TYPE_INNER) {
+ if (targetNodeIsRoot) {
+ //parentTId of root node is null
+ node.parentTId = null;
+ } else {
+ if (!targetNode.isParent) {
+ targetNode.isParent = true;
+ targetNode.open = !!targetNode.open;
+ view.setNodeLineIcos(setting, targetNode);
+ }
+ node.parentTId = targetNode.tId;
+ }
+ }
+
+ //move node Dom
+ var targetObj, target_ulObj;
+ if (targetNodeIsRoot) {
+ targetObj = setting.treeObj;
+ target_ulObj = targetObj;
+ } else {
+ if (!isSilent && moveType == consts.move.TYPE_INNER) {
+ view.expandCollapseNode(setting, targetNode, true, false);
+ } else if (!isSilent) {
+ view.expandCollapseNode(setting, targetNode.getParentNode(), true, false);
+ }
+ targetObj = $$(targetNode, setting);
+ target_ulObj = $$(targetNode, consts.id.UL, setting);
+ if (!!targetObj.get(0) && !target_ulObj.get(0)) {
+ var ulstr = [];
+ view.makeUlHtml(setting, targetNode, ulstr, '');
+ targetObj.append(ulstr.join(''));
+ }
+ target_ulObj = $$(targetNode, consts.id.UL, setting);
+ }
+ var nodeDom = $$(node, setting);
+ if (!nodeDom.get(0)) {
+ nodeDom = view.appendNodes(setting, node.level, [node], null, false, true).join('');
+ } else if (!targetObj.get(0)) {
+ nodeDom.remove();
+ }
+ if (target_ulObj.get(0) && moveType == consts.move.TYPE_INNER) {
+ target_ulObj.append(nodeDom);
+ } else if (targetObj.get(0) && moveType == consts.move.TYPE_PREV) {
+ targetObj.before(nodeDom);
+ } else if (targetObj.get(0) && moveType == consts.move.TYPE_NEXT) {
+ targetObj.after(nodeDom);
+ }
+
+ //repair the data after move
+ var i,l,
+ tmpSrcIndex = -1,
+ tmpTargetIndex = 0,
+ oldNeighbor = null,
+ newNeighbor = null,
+ oldLevel = node.level;
+ if (node.isFirstNode) {
+ tmpSrcIndex = 0;
+ if (oldParentNode[childKey].length > 1 ) {
+ oldNeighbor = oldParentNode[childKey][1];
+ oldNeighbor.isFirstNode = true;
+ }
+ } else if (node.isLastNode) {
+ tmpSrcIndex = oldParentNode[childKey].length -1;
+ oldNeighbor = oldParentNode[childKey][tmpSrcIndex - 1];
+ oldNeighbor.isLastNode = true;
+ } else {
+ for (i = 0, l = oldParentNode[childKey].length; i < l; i++) {
+ if (oldParentNode[childKey][i].tId == node.tId) {
+ tmpSrcIndex = i;
+ break;
+ }
+ }
+ }
+ if (tmpSrcIndex >= 0) {
+ oldParentNode[childKey].splice(tmpSrcIndex, 1);
+ }
+ if (moveType != consts.move.TYPE_INNER) {
+ for (i = 0, l = targetParentNode[childKey].length; i < l; i++) {
+ if (targetParentNode[childKey][i].tId == targetNode.tId) tmpTargetIndex = i;
+ }
+ }
+ if (moveType == consts.move.TYPE_INNER) {
+ if (!targetNode[childKey]) targetNode[childKey] = new Array();
+ if (targetNode[childKey].length > 0) {
+ newNeighbor = targetNode[childKey][targetNode[childKey].length - 1];
+ newNeighbor.isLastNode = false;
+ }
+ targetNode[childKey].splice(targetNode[childKey].length, 0, node);
+ node.isLastNode = true;
+ node.isFirstNode = (targetNode[childKey].length == 1);
+ } else if (targetNode.isFirstNode && moveType == consts.move.TYPE_PREV) {
+ targetParentNode[childKey].splice(tmpTargetIndex, 0, node);
+ newNeighbor = targetNode;
+ newNeighbor.isFirstNode = false;
+ node.parentTId = targetNode.parentTId;
+ node.isFirstNode = true;
+ node.isLastNode = false;
+
+ } else if (targetNode.isLastNode && moveType == consts.move.TYPE_NEXT) {
+ targetParentNode[childKey].splice(tmpTargetIndex + 1, 0, node);
+ newNeighbor = targetNode;
+ newNeighbor.isLastNode = false;
+ node.parentTId = targetNode.parentTId;
+ node.isFirstNode = false;
+ node.isLastNode = true;
+
+ } else {
+ if (moveType == consts.move.TYPE_PREV) {
+ targetParentNode[childKey].splice(tmpTargetIndex, 0, node);
+ } else {
+ targetParentNode[childKey].splice(tmpTargetIndex + 1, 0, node);
+ }
+ node.parentTId = targetNode.parentTId;
+ node.isFirstNode = false;
+ node.isLastNode = false;
+ }
+ data.fixPIdKeyValue(setting, node);
+ data.setSonNodeLevel(setting, node.getParentNode(), node);
+
+ //repair node what been moved
+ view.setNodeLineIcos(setting, node);
+ view.repairNodeLevelClass(setting, node, oldLevel)
+
+ //repair node's old parentNode dom
+ if (!setting.data.keep.parent && oldParentNode[childKey].length < 1) {
+ //old parentNode has no child nodes
+ oldParentNode.isParent = false;
+ oldParentNode.open = false;
+ var tmp_ulObj = $$(oldParentNode, consts.id.UL, setting),
+ tmp_switchObj = $$(oldParentNode, consts.id.SWITCH, setting),
+ tmp_icoObj = $$(oldParentNode, consts.id.ICON, setting);
+ view.replaceSwitchClass(oldParentNode, tmp_switchObj, consts.folder.DOCU);
+ view.replaceIcoClass(oldParentNode, tmp_icoObj, consts.folder.DOCU);
+ tmp_ulObj.css("display", "none");
+
+ } else if (oldNeighbor) {
+ //old neigbor node
+ view.setNodeLineIcos(setting, oldNeighbor);
+ }
+
+ //new neigbor node
+ if (newNeighbor) {
+ view.setNodeLineIcos(setting, newNeighbor);
+ }
+
+ //repair checkbox / radio
+ if (!!setting.check && setting.check.enable && view.repairChkClass) {
+ view.repairChkClass(setting, oldParentNode);
+ view.repairParentChkClassWithSelf(setting, oldParentNode);
+ if (oldParentNode != node.parent)
+ view.repairParentChkClassWithSelf(setting, node);
+ }
+
+ //expand parents after move
+ if (!isSilent) {
+ view.expandCollapseParentNode(setting, node.getParentNode(), true, animateFlag);
+ }
+ },
+ removeEditBtn: function(setting, node) {
+ $$(node, consts.id.EDIT, setting).unbind().remove();
+ },
+ removeRemoveBtn: function(setting, node) {
+ $$(node, consts.id.REMOVE, setting).unbind().remove();
+ },
+ removeTreeDom: function(setting, node) {
+ node.isHover = false;
+ view.removeEditBtn(setting, node);
+ view.removeRemoveBtn(setting, node);
+ tools.apply(setting.view.removeHoverDom, [setting.treeId, node]);
+ },
+ repairNodeLevelClass: function(setting, node, oldLevel) {
+ if (oldLevel === node.level) return;
+ var liObj = $$(node, setting),
+ aObj = $$(node, consts.id.A, setting),
+ ulObj = $$(node, consts.id.UL, setting),
+ oldClass = consts.className.LEVEL + oldLevel,
+ newClass = consts.className.LEVEL + node.level;
+ liObj.removeClass(oldClass);
+ liObj.addClass(newClass);
+ aObj.removeClass(oldClass);
+ aObj.addClass(newClass);
+ ulObj.removeClass(oldClass);
+ ulObj.addClass(newClass);
+ },
+ selectNodes : function(setting, nodes) {
+ for (var i=0, l=nodes.length; i<l; i++) {
+ view.selectNode(setting, nodes[i], i>0);
+ }
+ }
+ },
+
+ _z = {
+ tools: _tools,
+ view: _view,
+ event: _event,
+ data: _data
+ };
+ $.extend(true, $.fn.zTree.consts, _consts);
+ $.extend(true, $.fn.zTree._z, _z);
+
+ var zt = $.fn.zTree,
+ tools = zt._z.tools,
+ consts = zt.consts,
+ view = zt._z.view,
+ data = zt._z.data,
+ event = zt._z.event,
+ $$ = tools.$;
+
+ data.exSetting(_setting);
+ data.addInitBind(_bindEvent);
+ data.addInitUnBind(_unbindEvent);
+ data.addInitCache(_initCache);
+ data.addInitNode(_initNode);
+ data.addInitProxy(_eventProxy);
+ data.addInitRoot(_initRoot);
+ data.addZTreeTools(_zTreeTools);
+
+ var _cancelPreSelectedNode = view.cancelPreSelectedNode;
+ view.cancelPreSelectedNode = function (setting, node) {
+ var list = data.getRoot(setting).curSelectedList;
+ for (var i=0, j=list.length; i<j; i++) {
+ if (!node || node === list[i]) {
+ view.removeTreeDom(setting, list[i]);
+ if (node) break;
+ }
+ }
+ if (_cancelPreSelectedNode) _cancelPreSelectedNode.apply(view, arguments);
+ }
+
+ var _createNodes = view.createNodes;
+ view.createNodes = function(setting, level, nodes, parentNode) {
+ if (_createNodes) {
+ _createNodes.apply(view, arguments);
+ }
+ if (!nodes) return;
+ if (view.repairParentChkClassWithSelf) {
+ view.repairParentChkClassWithSelf(setting, parentNode);
+ }
+ }
+
+ var _makeNodeUrl = view.makeNodeUrl;
+ view.makeNodeUrl = function(setting, node) {
+ return setting.edit.enable ? null : (_makeNodeUrl.apply(view, arguments));
+ }
+
+ var _removeNode = view.removeNode;
+ view.removeNode = function(setting, node) {
+ var root = data.getRoot(setting);
+ if (root.curEditNode === node) root.curEditNode = null;
+ if (_removeNode) {
+ _removeNode.apply(view, arguments);
+ }
+ }
+
+ var _selectNode = view.selectNode;
+ view.selectNode = function(setting, node, addFlag) {
+ var root = data.getRoot(setting);
+ if (data.isSelectedNode(setting, node) && root.curEditNode == node && node.editNameFlag) {
+ return false;
+ }
+ if (_selectNode) _selectNode.apply(view, arguments);
+ view.addHoverDom(setting, node);
+ return true;
+ }
+
+ var _uCanDo = tools.uCanDo;
+ tools.uCanDo = function(setting, e) {
+ var root = data.getRoot(setting);
+ if (e && (tools.eqs(e.type, "mouseover") || tools.eqs(e.type, "mouseout") || tools.eqs(e.type, "mousedown") || tools.eqs(e.type, "mouseup"))) {
+ return true;
+ }
+ if (root.curEditNode) {
+ view.editNodeBlur = false;
+ root.curEditInput.focus();
+ }
+ return (!root.curEditNode) && (_uCanDo ? _uCanDo.apply(view, arguments) : true);
+ }
+})(jQuery);
diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/js/jquery.ztree.all.min.js b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/js/jquery.ztree.all.min.js index 0677d9ed..5bc89871 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/js/jquery.ztree.all.min.js +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/js/jquery.ztree.all.min.js @@ -1,160 +1,160 @@ - -/* - * JQuery zTree core v3.5.16 - * http://zTree.me/ - * - * Copyright (c) 2010 Hunter.z - * - * Licensed same as jquery - MIT License - * http://www.opensource.org/licenses/mit-license.php - * - * email: hunter.z@263.net - * Date: 2014-03-09 - */ -(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, -[a,c,g])});a.bind(c.CLICK,function(a,c,g,l,h){j.apply(b.callback.onClick,[c,g,l,h])});a.bind(c.EXPAND,function(a,c,g){j.apply(b.callback.onExpand,[a,c,g])});a.bind(c.COLLAPSE,function(a,c,g){j.apply(b.callback.onCollapse,[a,c,g])});a.bind(c.ASYNC_SUCCESS,function(a,c,g,l){j.apply(b.callback.onAsyncSuccess,[a,c,g,l])});a.bind(c.ASYNC_ERROR,function(a,c,g,l,h,e){j.apply(b.callback.onAsyncError,[a,c,g,l,h,e])});a.bind(c.REMOVE,function(a,c,g){j.apply(b.callback.onRemove,[a,c,g])})}],x=[function(b){var a= -e.event;b.treeObj.unbind(a.NODECREATED).unbind(a.CLICK).unbind(a.EXPAND).unbind(a.COLLAPSE).unbind(a.ASYNC_SUCCESS).unbind(a.ASYNC_ERROR).unbind(a.REMOVE)}],y=[function(b){var a=h.getCache(b);a||(a={},h.setCache(b,a));a.nodes=[];a.doms=[]}],z=[function(b,a,c,d,f,g){if(c){var l=h.getRoot(b),e=b.data.key.children;c.level=a;c.tId=b.treeId+"_"+ ++l.zId;c.parentTId=d?d.tId:null;c.open=typeof c.open=="string"?j.eqs(c.open,"true"):!!c.open;c[e]&&c[e].length>0?(c.isParent=!0,c.zAsync=!0):(c.isParent=typeof c.isParent== -"string"?j.eqs(c.isParent,"true"):!!c.isParent,c.open=c.isParent&&!b.async.enable?c.open:!1,c.zAsync=!c.isParent);c.isFirstNode=f;c.isLastNode=g;c.getParentNode=function(){return h.getNodeCache(b,c.parentTId)};c.getPreNode=function(){return h.getPreNode(b,c)};c.getNextNode=function(){return h.getNextNode(b,c)};c.isAjaxing=!1;h.fixPIdKeyValue(b,c)}}],s=[function(b){var a=b.target,c=h.getSetting(b.data.treeId),d="",f=null,g="",l="",i=null,n=null,k=null;if(j.eqs(b.type,"mousedown"))l="mousedown";else if(j.eqs(b.type, -"mouseup"))l="mouseup";else if(j.eqs(b.type,"contextmenu"))l="contextmenu";else if(j.eqs(b.type,"click"))if(j.eqs(a.tagName,"span")&&a.getAttribute("treeNode"+e.id.SWITCH)!==null)d=j.getNodeMainDom(a).id,g="switchNode";else{if(k=j.getMDom(c,a,[{tagName:"a",attrName:"treeNode"+e.id.A}]))d=j.getNodeMainDom(k).id,g="clickNode"}else if(j.eqs(b.type,"dblclick")&&(l="dblclick",k=j.getMDom(c,a,[{tagName:"a",attrName:"treeNode"+e.id.A}])))d=j.getNodeMainDom(k).id,g="switchNode";if(l.length>0&&d.length==0&& -(k=j.getMDom(c,a,[{tagName:"a",attrName:"treeNode"+e.id.A}])))d=j.getNodeMainDom(k).id;if(d.length>0)switch(f=h.getNodeCache(c,d),g){case "switchNode":f.isParent?j.eqs(b.type,"click")||j.eqs(b.type,"dblclick")&&j.apply(c.view.dblClickExpand,[c.treeId,f],c.view.dblClickExpand)?i=G:g="":g="";break;case "clickNode":i=H}switch(l){case "mousedown":n=I;break;case "mouseup":n=J;break;case "dblclick":n=K;break;case "contextmenu":n=L}return{stop:!1,node:f,nodeEventType:g,nodeEventCallback:i,treeEventType:l, -treeEventCallback:n}}],A=[function(b){var a=h.getRoot(b);a||(a={},h.setRoot(b,a));a[b.data.key.children]=[];a.expandTriggerFlag=!1;a.curSelectedList=[];a.noSelection=!0;a.createdNodes=[];a.zId=0;a._ver=(new Date).getTime()}],B=[],C=[],D=[],E=[],F=[],h={addNodeCache:function(b,a){h.getCache(b).nodes[h.getNodeCacheId(a.tId)]=a},getNodeCacheId:function(b){return b.substring(b.lastIndexOf("_")+1)},addAfterA:function(b){C.push(b)},addBeforeA:function(b){B.push(b)},addInnerAfterA:function(b){E.push(b)}, -addInnerBeforeA:function(b){D.push(b)},addInitBind:function(b){w.push(b)},addInitUnBind:function(b){x.push(b)},addInitCache:function(b){y.push(b)},addInitNode:function(b){z.push(b)},addInitProxy:function(b,a){a?s.splice(0,0,b):s.push(b)},addInitRoot:function(b){A.push(b)},addNodesData:function(b,a,c){var d=b.data.key.children;a[d]||(a[d]=[]);if(a[d].length>0)a[d][a[d].length-1].isLastNode=!1,i.setNodeLineIcos(b,a[d][a[d].length-1]);a.isParent=!0;a[d]=a[d].concat(c)},addSelectedNode:function(b,a){var c= -h.getRoot(b);h.isSelectedNode(b,a)||c.curSelectedList.push(a)},addCreatedNode:function(b,a){(b.callback.onNodeCreated||b.view.addDiyDom)&&h.getRoot(b).createdNodes.push(a)},addZTreeTools:function(b){F.push(b)},exSetting:function(b){p.extend(!0,M,b)},fixPIdKeyValue:function(b,a){b.data.simpleData.enable&&(a[b.data.simpleData.pIdKey]=a.parentTId?a.getParentNode()[b.data.simpleData.idKey]:b.data.simpleData.rootPId)},getAfterA:function(b,a,c){for(var d=0,f=C.length;d<f;d++)C[d].apply(this,arguments)}, -getBeforeA:function(b,a,c){for(var d=0,f=B.length;d<f;d++)B[d].apply(this,arguments)},getInnerAfterA:function(b,a,c){for(var d=0,f=E.length;d<f;d++)E[d].apply(this,arguments)},getInnerBeforeA:function(b,a,c){for(var d=0,f=D.length;d<f;d++)D[d].apply(this,arguments)},getCache:function(b){return v[b.treeId]},getNextNode:function(b,a){if(!a)return null;for(var c=b.data.key.children,d=a.parentTId?a.getParentNode():h.getRoot(b),f=0,g=d[c].length-1;f<=g;f++)if(d[c][f]===a)return f==g?null:d[c][f+1];return null}, -getNodeByParam:function(b,a,c,d){if(!a||!c)return null;for(var f=b.data.key.children,g=0,l=a.length;g<l;g++){if(a[g][c]==d)return a[g];var e=h.getNodeByParam(b,a[g][f],c,d);if(e)return e}return null},getNodeCache:function(b,a){if(!a)return null;var c=v[b.treeId].nodes[h.getNodeCacheId(a)];return c?c:null},getNodeName:function(b,a){return""+a[b.data.key.name]},getNodeTitle:function(b,a){return""+a[b.data.key.title===""?b.data.key.name:b.data.key.title]},getNodes:function(b){return h.getRoot(b)[b.data.key.children]}, -getNodesByParam:function(b,a,c,d){if(!a||!c)return[];for(var f=b.data.key.children,g=[],l=0,e=a.length;l<e;l++)a[l][c]==d&&g.push(a[l]),g=g.concat(h.getNodesByParam(b,a[l][f],c,d));return g},getNodesByParamFuzzy:function(b,a,c,d){if(!a||!c)return[];for(var f=b.data.key.children,g=[],d=d.toLowerCase(),l=0,e=a.length;l<e;l++)typeof a[l][c]=="string"&&a[l][c].toLowerCase().indexOf(d)>-1&&g.push(a[l]),g=g.concat(h.getNodesByParamFuzzy(b,a[l][f],c,d));return g},getNodesByFilter:function(b,a,c,d,f){if(!a)return d? -null:[];for(var g=b.data.key.children,e=d?null:[],i=0,n=a.length;i<n;i++){if(j.apply(c,[a[i],f],!1)){if(d)return a[i];e.push(a[i])}var k=h.getNodesByFilter(b,a[i][g],c,d,f);if(d&&k)return k;e=d?k:e.concat(k)}return e},getPreNode:function(b,a){if(!a)return null;for(var c=b.data.key.children,d=a.parentTId?a.getParentNode():h.getRoot(b),f=0,g=d[c].length;f<g;f++)if(d[c][f]===a)return f==0?null:d[c][f-1];return null},getRoot:function(b){return b?u[b.treeId]:null},getRoots:function(){return u},getSetting:function(b){return r[b]}, -getSettings:function(){return r},getZTreeTools:function(b){return(b=this.getRoot(this.getSetting(b)))?b.treeTools:null},initCache:function(b){for(var a=0,c=y.length;a<c;a++)y[a].apply(this,arguments)},initNode:function(b,a,c,d,f,g){for(var e=0,h=z.length;e<h;e++)z[e].apply(this,arguments)},initRoot:function(b){for(var a=0,c=A.length;a<c;a++)A[a].apply(this,arguments)},isSelectedNode:function(b,a){for(var c=h.getRoot(b),d=0,f=c.curSelectedList.length;d<f;d++)if(a===c.curSelectedList[d])return!0;return!1}, -removeNodeCache:function(b,a){var c=b.data.key.children;if(a[c])for(var d=0,f=a[c].length;d<f;d++)arguments.callee(b,a[c][d]);h.getCache(b).nodes[h.getNodeCacheId(a.tId)]=null},removeSelectedNode:function(b,a){for(var c=h.getRoot(b),d=0,f=c.curSelectedList.length;d<f;d++)if(a===c.curSelectedList[d]||!h.getNodeCache(b,c.curSelectedList[d].tId))c.curSelectedList.splice(d,1),d--,f--},setCache:function(b,a){v[b.treeId]=a},setRoot:function(b,a){u[b.treeId]=a},setZTreeTools:function(b,a){for(var c=0,d= -F.length;c<d;c++)F[c].apply(this,arguments)},transformToArrayFormat:function(b,a){if(!a)return[];var c=b.data.key.children,d=[];if(j.isArray(a))for(var f=0,g=a.length;f<g;f++)d.push(a[f]),a[f][c]&&(d=d.concat(h.transformToArrayFormat(b,a[f][c])));else d.push(a),a[c]&&(d=d.concat(h.transformToArrayFormat(b,a[c])));return d},transformTozTreeFormat:function(b,a){var c,d,f=b.data.simpleData.idKey,g=b.data.simpleData.pIdKey,e=b.data.key.children;if(!f||f==""||!a)return[];if(j.isArray(a)){var h=[],i=[]; -for(c=0,d=a.length;c<d;c++)i[a[c][f]]=a[c];for(c=0,d=a.length;c<d;c++)i[a[c][g]]&&a[c][f]!=a[c][g]?(i[a[c][g]][e]||(i[a[c][g]][e]=[]),i[a[c][g]][e].push(a[c])):h.push(a[c]);return h}else return[a]}},m={bindEvent:function(b){for(var a=0,c=w.length;a<c;a++)w[a].apply(this,arguments)},unbindEvent:function(b){for(var a=0,c=x.length;a<c;a++)x[a].apply(this,arguments)},bindTree:function(b){var a={treeId:b.treeId},c=b.treeObj;b.view.txtSelectedEnable||c.bind("selectstart",function(a){a=a.originalEvent.srcElement.nodeName.toLowerCase(); -return a==="input"||a==="textarea"}).css({"-moz-user-select":"-moz-none"});c.bind("click",a,m.proxy);c.bind("dblclick",a,m.proxy);c.bind("mouseover",a,m.proxy);c.bind("mouseout",a,m.proxy);c.bind("mousedown",a,m.proxy);c.bind("mouseup",a,m.proxy);c.bind("contextmenu",a,m.proxy)},unbindTree:function(b){b.treeObj.unbind("click",m.proxy).unbind("dblclick",m.proxy).unbind("mouseover",m.proxy).unbind("mouseout",m.proxy).unbind("mousedown",m.proxy).unbind("mouseup",m.proxy).unbind("contextmenu",m.proxy)}, -doProxy:function(b){for(var a=[],c=0,d=s.length;c<d;c++){var f=s[c].apply(this,arguments);a.push(f);if(f.stop)break}return a},proxy:function(b){var a=h.getSetting(b.data.treeId);if(!j.uCanDo(a,b))return!0;for(var a=m.doProxy(b),c=!0,d=0,f=a.length;d<f;d++){var g=a[d];g.nodeEventCallback&&(c=g.nodeEventCallback.apply(g,[b,g.node])&&c);g.treeEventCallback&&(c=g.treeEventCallback.apply(g,[b,g.node])&&c)}return c}};G=function(b,a){var c=h.getSetting(b.data.treeId);if(a.open){if(j.apply(c.callback.beforeCollapse, -[c.treeId,a],!0)==!1)return!0}else if(j.apply(c.callback.beforeExpand,[c.treeId,a],!0)==!1)return!0;h.getRoot(c).expandTriggerFlag=!0;i.switchNode(c,a);return!0};H=function(b,a){var c=h.getSetting(b.data.treeId),d=c.view.autoCancelSelected&&(b.ctrlKey||b.metaKey)&&h.isSelectedNode(c,a)?0:c.view.autoCancelSelected&&(b.ctrlKey||b.metaKey)&&c.view.selectedMulti?2:1;if(j.apply(c.callback.beforeClick,[c.treeId,a,d],!0)==!1)return!0;d===0?i.cancelPreSelectedNode(c,a):i.selectNode(c,a,d===2);c.treeObj.trigger(e.event.CLICK, -[b,c.treeId,a,d]);return!0};I=function(b,a){var c=h.getSetting(b.data.treeId);j.apply(c.callback.beforeMouseDown,[c.treeId,a],!0)&&j.apply(c.callback.onMouseDown,[b,c.treeId,a]);return!0};J=function(b,a){var c=h.getSetting(b.data.treeId);j.apply(c.callback.beforeMouseUp,[c.treeId,a],!0)&&j.apply(c.callback.onMouseUp,[b,c.treeId,a]);return!0};K=function(b,a){var c=h.getSetting(b.data.treeId);j.apply(c.callback.beforeDblClick,[c.treeId,a],!0)&&j.apply(c.callback.onDblClick,[b,c.treeId,a]);return!0}; -L=function(b,a){var c=h.getSetting(b.data.treeId);j.apply(c.callback.beforeRightClick,[c.treeId,a],!0)&&j.apply(c.callback.onRightClick,[b,c.treeId,a]);return typeof c.callback.onRightClick!="function"};var j={apply:function(b,a,c){return typeof b=="function"?b.apply(N,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"?arguments.callee(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"?p(b,c?c.treeObj.get(0).ownerDocument:null):p("#"+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,f=c.length;a.tagName&&d<f;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 p(b).parent("li").get(0)||p(b).parentsUntil("li").parent().get(0)},isChildOrSelf:function(b,a){return p(b).closest("#"+a).length>0},uCanDo:function(){return!0}},i={addNodes:function(b,a,c,d){if(!b.data.keep.leaf||!a||a.isParent)if(j.isArray(c)||(c=[c]),b.data.simpleData.enable&&(c=h.transformTozTreeFormat(b,c)),a){var f=k(a,e.id.SWITCH,b),g=k(a,e.id.ICON,b),l=k(a,e.id.UL,b);if(!a.open)i.replaceSwitchClass(a, -f,e.folder.CLOSE),i.replaceIcoClass(a,g,e.folder.CLOSE),a.open=!1,l.css({display:"none"});h.addNodesData(b,a,c);i.createNodes(b,a.level+1,c,a);d||i.expandCollapseParentNode(b,a,!0)}else h.addNodesData(b,h.getRoot(b),c),i.createNodes(b,0,c,null)},appendNodes:function(b,a,c,d,f,g){if(!c)return[];for(var e=[],j=b.data.key.children,k=0,m=c.length;k<m;k++){var o=c[k];if(f){var t=(d?d:h.getRoot(b))[j].length==c.length&&k==0;h.initNode(b,a,o,d,t,k==c.length-1,g);h.addNodeCache(b,o)}t=[];o[j]&&o[j].length> -0&&(t=i.appendNodes(b,a+1,o[j],o,f,g&&o.open));g&&(i.makeDOMNodeMainBefore(e,b,o),i.makeDOMNodeLine(e,b,o),h.getBeforeA(b,o,e),i.makeDOMNodeNameBefore(e,b,o),h.getInnerBeforeA(b,o,e),i.makeDOMNodeIcon(e,b,o),h.getInnerAfterA(b,o,e),i.makeDOMNodeNameAfter(e,b,o),h.getAfterA(b,o,e),o.isParent&&o.open&&i.makeUlHtml(b,o,e,t.join("")),i.makeDOMNodeMainAfter(e,b,o),h.addCreatedNode(b,o))}return e},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 f=k(a,e.id.UL,b);f.get(0)&&f.remove();f=i.appendNodes(b,a.level+1,a[b.data.key.children],a,!1,!0);i.makeUlHtml(b,a,c,f.join(""));d.append(c.join(""))},asyncNode:function(b,a,c,d){var f,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,e.id.ICON,b).attr({style:"","class":e.className.BUTTON+" "+e.className.ICO_LOADING});var l={};for(f=0,g=b.async.autoParam.length;a&& -f<g;f++){var q=b.async.autoParam[f].split("="),n=q;q.length>1&&(n=q[1],q=q[0]);l[n]=a[q]}if(j.isArray(b.async.otherParam))for(f=0,g=b.async.otherParam.length;f<g;f+=2)l[b.async.otherParam[f]]=b.async.otherParam[f+1];else for(var m in b.async.otherParam)l[m]=b.async.otherParam[m];var o=h.getRoot(b)._ver;p.ajax({contentType:b.async.contentType,type:b.async.type,url:j.apply(b.async.url,[b.treeId,a],b.async.url),data:l,dataType:b.async.dataType,success:function(f){if(o==h.getRoot(b)._ver){var g=[];try{g= -!f||f.length==0?[]:typeof f=="string"?eval("("+f+")"):f}catch(l){g=f}if(a)a.isAjaxing=null,a.zAsync=!0;i.setNodeLineIcos(b,a);g&&g!==""?(g=j.apply(b.async.dataFilter,[b.treeId,a,g],g),i.addNodes(b,a,g?j.clone(g):[],!!c)):i.addNodes(b,a,[],!!c);b.treeObj.trigger(e.event.ASYNC_SUCCESS,[b.treeId,a,f]);j.apply(d)}},error:function(c,d,f){if(o==h.getRoot(b)._ver){if(a)a.isAjaxing=null;i.setNodeLineIcos(b,a);b.treeObj.trigger(e.event.ASYNC_ERROR,[b.treeId,a,c,d,f])}}});return!0},cancelPreSelectedNode:function(b, -a){for(var c=h.getRoot(b).curSelectedList,d=c.length-1;d>=0;d--)if(!a||a===c[d])if(k(c[d],e.id.A,b).removeClass(e.node.CURSELECTED),a){h.removeSelectedNode(b,a);break}if(!a)h.getRoot(b).curSelectedList=[]},createNodeCallback:function(b){if(b.callback.onNodeCreated||b.view.addDiyDom)for(var a=h.getRoot(b);a.createdNodes.length>0;){var c=a.createdNodes.shift();j.apply(b.view.addDiyDom,[b.treeId,c]);b.callback.onNodeCreated&&b.treeObj.trigger(e.event.NODECREATED,[b.treeId,c])}},createNodes:function(b, -a,c,d){if(c&&c.length!=0){var f=h.getRoot(b),g=b.data.key.children,g=!d||d.open||!!k(d[g][0],b).get(0);f.createdNodes=[];a=i.appendNodes(b,a,c,d,!0,g);d?(d=k(d,e.id.UL,b),d.get(0)&&d.append(a.join(""))):b.treeObj.append(a.join(""));i.createNodeCallback(b)}},destroy:function(b){b&&(h.initCache(b),h.initRoot(b),m.unbindTree(b),m.unbindEvent(b),b.treeObj.empty(),delete r[b.treeId])},expandCollapseNode:function(b,a,c,d,f){var g=h.getRoot(b),l=b.data.key.children;if(a){if(g.expandTriggerFlag){var q=f, -f=function(){q&&q();a.open?b.treeObj.trigger(e.event.EXPAND,[b.treeId,a]):b.treeObj.trigger(e.event.COLLAPSE,[b.treeId,a])};g.expandTriggerFlag=!1}if(!a.open&&a.isParent&&(!k(a,e.id.UL,b).get(0)||a[l]&&a[l].length>0&&!k(a[l][0],b).get(0)))i.appendParentULDom(b,a),i.createNodeCallback(b);if(a.open==c)j.apply(f,[]);else{var c=k(a,e.id.UL,b),g=k(a,e.id.SWITCH,b),n=k(a,e.id.ICON,b);a.isParent?(a.open=!a.open,a.iconOpen&&a.iconClose&&n.attr("style",i.makeNodeIcoStyle(b,a)),a.open?(i.replaceSwitchClass(a, -g,e.folder.OPEN),i.replaceIcoClass(a,n,e.folder.OPEN),d==!1||b.view.expandSpeed==""?(c.show(),j.apply(f,[])):a[l]&&a[l].length>0?c.slideDown(b.view.expandSpeed,f):(c.show(),j.apply(f,[]))):(i.replaceSwitchClass(a,g,e.folder.CLOSE),i.replaceIcoClass(a,n,e.folder.CLOSE),d==!1||b.view.expandSpeed==""||!(a[l]&&a[l].length>0)?(c.hide(),j.apply(f,[])):c.slideUp(b.view.expandSpeed,f))):j.apply(f,[])}}else j.apply(f,[])},expandCollapseParentNode:function(b,a,c,d,f){a&&(a.parentTId?(i.expandCollapseNode(b, -a,c,d),a.parentTId&&i.expandCollapseParentNode(b,a.getParentNode(),c,d,f)):i.expandCollapseNode(b,a,c,d,f))},expandCollapseSonNode:function(b,a,c,d,f){var g=h.getRoot(b),e=b.data.key.children,g=a?a[e]:g[e],e=a?!1:d,j=h.getRoot(b).expandTriggerFlag;h.getRoot(b).expandTriggerFlag=!1;if(g)for(var k=0,m=g.length;k<m;k++)g[k]&&i.expandCollapseSonNode(b,g[k],c,e);h.getRoot(b).expandTriggerFlag=j;i.expandCollapseNode(b,a,c,d,f)},makeDOMNodeIcon:function(b,a,c){var d=h.getNodeName(a,c),d=a.view.nameIsHTML? -d:d.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");b.push("<span id='",c.tId,e.id.ICON,"' title='' treeNode",e.id.ICON," class='",i.makeNodeIcoClass(a,c),"' style='",i.makeNodeIcoStyle(a,c),"'></span><span id='",c.tId,e.id.SPAN,"'>",d,"</span>")},makeDOMNodeLine:function(b,a,c){b.push("<span id='",c.tId,e.id.SWITCH,"' title='' class='",i.makeNodeLineClass(a,c),"' treeNode",e.id.SWITCH,"></span>")},makeDOMNodeMainAfter:function(b){b.push("</li>")},makeDOMNodeMainBefore:function(b, -a,c){b.push("<li id='",c.tId,"' class='",e.className.LEVEL,c.level,"' tabindex='0' hidefocus='true' treenode>")},makeDOMNodeNameAfter:function(b){b.push("</a>")},makeDOMNodeNameBefore:function(b,a,c){var d=h.getNodeTitle(a,c),f=i.makeNodeUrl(a,c),g=i.makeNodeFontCss(a,c),l=[],k;for(k in g)l.push(k,":",g[k],";");b.push("<a id='",c.tId,e.id.A,"' class='",e.className.LEVEL,c.level,"' treeNode",e.id.A,' onclick="',c.click||"",'" ',f!=null&&f.length>0?"href='"+f+"'":""," target='",i.makeNodeTarget(c), -"' style='",l.join(""),"'");j.apply(a.view.showTitle,[a.treeId,c],a.view.showTitle)&&d&&b.push("title='",d.replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">"),"'");b.push(">")},makeNodeFontCss:function(b,a){var c=j.apply(b.view.fontCss,[b.treeId,a],b.view.fontCss);return c&&typeof c!="function"?c:{}},makeNodeIcoClass:function(b,a){var c=["ico"];a.isAjaxing||(c[0]=(a.iconSkin?a.iconSkin+"_":"")+c[0],a.isParent?c.push(a.open?e.folder.OPEN:e.folder.CLOSE):c.push(e.folder.DOCU));return e.className.BUTTON+ -" "+c.join("_")},makeNodeIcoStyle:function(b,a){var c=[];if(!a.isAjaxing){var d=a.isParent&&a.iconOpen&&a.iconClose?a.open?a.iconOpen:a.iconClose:a.icon;d&&c.push("background:url(",d,") 0 0 no-repeat;");(b.view.showIcon==!1||!j.apply(b.view.showIcon,[b.treeId,a],!0))&&c.push("width:0px;height:0px;")}return c.join("")},makeNodeLineClass:function(b,a){var c=[];b.view.showLine?a.level==0&&a.isFirstNode&&a.isLastNode?c.push(e.line.ROOT):a.level==0&&a.isFirstNode?c.push(e.line.ROOTS):a.isLastNode?c.push(e.line.BOTTOM): -c.push(e.line.CENTER):c.push(e.line.NOLINE);a.isParent?c.push(a.open?e.folder.OPEN:e.folder.CLOSE):c.push(e.folder.DOCU);return i.makeNodeLineClassEx(a)+c.join("_")},makeNodeLineClassEx:function(b){return e.className.BUTTON+" "+e.className.LEVEL+b.level+" "+e.className.SWITCH+" "},makeNodeTarget:function(b){return b.target||"_blank"},makeNodeUrl:function(b,a){var c=b.data.key.url;return a[c]?a[c]:null},makeUlHtml:function(b,a,c,d){c.push("<ul id='",a.tId,e.id.UL,"' class='",e.className.LEVEL,a.level, -" ",i.makeUlLineClass(b,a),"' style='display:",a.open?"block":"none","'>");c.push(d);c.push("</ul>")},makeUlLineClass:function(b,a){return b.view.showLine&&!a.isLastNode?e.line.LINE:""},removeChildNodes:function(b,a){if(a){var c=b.data.key.children,d=a[c];if(d){for(var f=0,g=d.length;f<g;f++)h.removeNodeCache(b,d[f]);h.removeSelectedNode(b);delete a[c];b.data.keep.parent?k(a,e.id.UL,b).empty():(a.isParent=!1,a.open=!1,c=k(a,e.id.SWITCH,b),d=k(a,e.id.ICON,b),i.replaceSwitchClass(a,c,e.folder.DOCU), -i.replaceIcoClass(a,d,e.folder.DOCU),k(a,e.id.UL,b).remove())}}},setFirstNode:function(b,a){var c=b.data.key.children;if(a[c].length>0)a[c][0].isFirstNode=!0},setLastNode:function(b,a){var c=b.data.key.children,d=a[c].length;if(d>0)a[c][d-1].isLastNode=!0},removeNode:function(b,a){var c=h.getRoot(b),d=b.data.key.children,f=a.parentTId?a.getParentNode():c;a.isFirstNode=!1;a.isLastNode=!1;a.getPreNode=function(){return null};a.getNextNode=function(){return null};if(h.getNodeCache(b,a.tId)){k(a,b).remove(); -h.removeNodeCache(b,a);h.removeSelectedNode(b,a);for(var g=0,l=f[d].length;g<l;g++)if(f[d][g].tId==a.tId){f[d].splice(g,1);break}i.setFirstNode(b,f);i.setLastNode(b,f);var j,g=f[d].length;if(!b.data.keep.parent&&g==0)f.isParent=!1,f.open=!1,g=k(f,e.id.UL,b),l=k(f,e.id.SWITCH,b),j=k(f,e.id.ICON,b),i.replaceSwitchClass(f,l,e.folder.DOCU),i.replaceIcoClass(f,j,e.folder.DOCU),g.css("display","none");else if(b.view.showLine&&g>0){var n=f[d][g-1],g=k(n,e.id.UL,b),l=k(n,e.id.SWITCH,b);j=k(n,e.id.ICON,b); -f==c?f[d].length==1?i.replaceSwitchClass(n,l,e.line.ROOT):(c=k(f[d][0],e.id.SWITCH,b),i.replaceSwitchClass(f[d][0],c,e.line.ROOTS),i.replaceSwitchClass(n,l,e.line.BOTTOM)):i.replaceSwitchClass(n,l,e.line.BOTTOM);g.removeClass(e.line.LINE)}}},replaceIcoClass:function(b,a,c){if(a&&!b.isAjaxing&&(b=a.attr("class"),b!=void 0)){b=b.split("_");switch(c){case e.folder.OPEN:case e.folder.CLOSE:case e.folder.DOCU:b[b.length-1]=c}a.attr("class",b.join("_"))}},replaceSwitchClass:function(b,a,c){if(a){var d= -a.attr("class");if(d!=void 0){d=d.split("_");switch(c){case e.line.ROOT:case e.line.ROOTS:case e.line.CENTER:case e.line.BOTTOM:case e.line.NOLINE:d[0]=i.makeNodeLineClassEx(b)+c;break;case e.folder.OPEN:case e.folder.CLOSE:case e.folder.DOCU:d[1]=c}a.attr("class",d.join("_"));c!==e.folder.DOCU?a.removeAttr("disabled"):a.attr("disabled","disabled")}}},selectNode:function(b,a,c){c||i.cancelPreSelectedNode(b);k(a,e.id.A,b).addClass(e.node.CURSELECTED);h.addSelectedNode(b,a)},setNodeFontCss:function(b, -a){var c=k(a,e.id.A,b),d=i.makeNodeFontCss(b,a);d&&c.css(d)},setNodeLineIcos:function(b,a){if(a){var c=k(a,e.id.SWITCH,b),d=k(a,e.id.UL,b),f=k(a,e.id.ICON,b),g=i.makeUlLineClass(b,a);g.length==0?d.removeClass(e.line.LINE):d.addClass(g);c.attr("class",i.makeNodeLineClass(b,a));a.isParent?c.removeAttr("disabled"):c.attr("disabled","disabled");f.removeAttr("style");f.attr("style",i.makeNodeIcoStyle(b,a));f.attr("class",i.makeNodeIcoClass(b,a))}},setNodeName:function(b,a){var c=h.getNodeTitle(b,a),d= -k(a,e.id.SPAN,b);d.empty();b.view.nameIsHTML?d.html(h.getNodeName(b,a)):d.text(h.getNodeName(b,a));j.apply(b.view.showTitle,[b.treeId,a],b.view.showTitle)&&k(a,e.id.A,b).attr("title",!c?"":c)},setNodeTarget:function(b,a){k(a,e.id.A,b).attr("target",i.makeNodeTarget(a))},setNodeUrl:function(b,a){var c=k(a,e.id.A,b),d=i.makeNodeUrl(b,a);d==null||d.length==0?c.removeAttr("href"):c.attr("href",d)},switchNode:function(b,a){a.open||!j.canAsync(b,a)?i.expandCollapseNode(b,a,!a.open):b.async.enable?i.asyncNode(b, -a)||i.expandCollapseNode(b,a,!a.open):a&&i.expandCollapseNode(b,a,!a.open)}};p.fn.zTree={consts:{className:{BUTTON:"button",LEVEL:"level",ICO_LOADING:"ico_loading",SWITCH:"switch"},event:{NODECREATED:"ztree_nodeCreated",CLICK:"ztree_click",EXPAND:"ztree_expand",COLLAPSE:"ztree_collapse",ASYNC_SUCCESS:"ztree_async_success",ASYNC_ERROR:"ztree_async_error",REMOVE:"ztree_remove"},id:{A:"_a",ICON:"_ico",SPAN:"_span",SWITCH:"_switch",UL:"_ul"},line:{ROOT:"root",ROOTS:"roots",CENTER:"center",BOTTOM:"bottom", -NOLINE:"noline",LINE:"line"},folder:{OPEN:"open",CLOSE:"close",DOCU:"docu"},node:{CURSELECTED:"curSelectedNode"}},_z:{tools:j,view:i,event:m,data:h},getZTreeObj:function(b){return(b=h.getZTreeTools(b))?b:null},destroy:function(b){if(b&&b.length>0)i.destroy(h.getSetting(b));else for(var a in r)i.destroy(r[a])},init:function(b,a,c){var d=j.clone(M);p.extend(!0,d,a);d.treeId=b.attr("id");d.treeObj=b;d.treeObj.empty();r[d.treeId]=d;if(typeof document.body.style.maxHeight==="undefined")d.view.expandSpeed= -"";h.initRoot(d);b=h.getRoot(d);a=d.data.key.children;c=c?j.clone(j.isArray(c)?c:[c]):[];b[a]=d.data.simpleData.enable?h.transformTozTreeFormat(d,c):c;h.initCache(d);m.unbindTree(d);m.bindTree(d);m.unbindEvent(d);m.bindEvent(d);c={setting:d,addNodes:function(a,b,c){function e(){i.addNodes(d,a,h,c==!0)}if(!b)return null;a||(a=null);if(a&&!a.isParent&&d.data.keep.leaf)return null;var h=j.clone(j.isArray(b)?b:[b]);j.canAsync(d,a)?i.asyncNode(d,a,c,e):e();return h},cancelSelectedNode:function(a){i.cancelPreSelectedNode(d, -a)},destroy:function(){i.destroy(d)},expandAll:function(a){a=!!a;i.expandCollapseSonNode(d,null,a,!0);return a},expandNode:function(a,b,c,e,n){if(!a||!a.isParent)return null;b!==!0&&b!==!1&&(b=!a.open);if((n=!!n)&&b&&j.apply(d.callback.beforeExpand,[d.treeId,a],!0)==!1)return null;else if(n&&!b&&j.apply(d.callback.beforeCollapse,[d.treeId,a],!0)==!1)return null;b&&a.parentTId&&i.expandCollapseParentNode(d,a.getParentNode(),b,!1);if(b===a.open&&!c)return null;h.getRoot(d).expandTriggerFlag=n;if(!j.canAsync(d, -a)&&c)i.expandCollapseSonNode(d,a,b,!0,function(){if(e!==!1)try{k(a,d).focus().blur()}catch(b){}});else if(a.open=!b,i.switchNode(this.setting,a),e!==!1)try{k(a,d).focus().blur()}catch(m){}return b},getNodes:function(){return h.getNodes(d)},getNodeByParam:function(a,b,c){return!a?null:h.getNodeByParam(d,c?c[d.data.key.children]:h.getNodes(d),a,b)},getNodeByTId:function(a){return h.getNodeCache(d,a)},getNodesByParam:function(a,b,c){return!a?null:h.getNodesByParam(d,c?c[d.data.key.children]:h.getNodes(d), -a,b)},getNodesByParamFuzzy:function(a,b,c){return!a?null:h.getNodesByParamFuzzy(d,c?c[d.data.key.children]:h.getNodes(d),a,b)},getNodesByFilter:function(a,b,c,e){b=!!b;return!a||typeof a!="function"?b?null:[]:h.getNodesByFilter(d,c?c[d.data.key.children]:h.getNodes(d),a,b,e)},getNodeIndex:function(a){if(!a)return null;for(var b=d.data.key.children,c=a.parentTId?a.getParentNode():h.getRoot(d),e=0,i=c[b].length;e<i;e++)if(c[b][e]==a)return e;return-1},getSelectedNodes:function(){for(var a=[],b=h.getRoot(d).curSelectedList, -c=0,e=b.length;c<e;c++)a.push(b[c]);return a},isSelectedNode:function(a){return h.isSelectedNode(d,a)},reAsyncChildNodes:function(a,b,c){if(this.setting.async.enable){var j=!a;j&&(a=h.getRoot(d));if(b=="refresh"){for(var b=this.setting.data.key.children,m=0,p=a[b]?a[b].length:0;m<p;m++)h.removeNodeCache(d,a[b][m]);h.removeSelectedNode(d);a[b]=[];j?this.setting.treeObj.empty():k(a,e.id.UL,d).empty()}i.asyncNode(this.setting,j?null:a,!!c)}},refresh:function(){this.setting.treeObj.empty();var a=h.getRoot(d), -b=a[d.data.key.children];h.initRoot(d);a[d.data.key.children]=b;h.initCache(d);i.createNodes(d,0,a[d.data.key.children])},removeChildNodes:function(a){if(!a)return null;var b=a[d.data.key.children];i.removeChildNodes(d,a);return b?b:null},removeNode:function(a,b){a&&(b=!!b,b&&j.apply(d.callback.beforeRemove,[d.treeId,a],!0)==!1||(i.removeNode(d,a),b&&this.setting.treeObj.trigger(e.event.REMOVE,[d.treeId,a])))},selectNode:function(a,b){if(a&&j.uCanDo(d)){b=d.view.selectedMulti&&b;if(a.parentTId)i.expandCollapseParentNode(d, -a.getParentNode(),!0,!1,function(){try{k(a,d).focus().blur()}catch(b){}});else try{k(a,d).focus().blur()}catch(c){}i.selectNode(d,a,b)}},transformTozTreeNodes:function(a){return h.transformTozTreeFormat(d,a)},transformToArray:function(a){return h.transformToArrayFormat(d,a)},updateNode:function(a){a&&k(a,d).get(0)&&j.uCanDo(d)&&(i.setNodeName(d,a),i.setNodeTarget(d,a),i.setNodeUrl(d,a),i.setNodeLineIcos(d,a),i.setNodeFontCss(d,a))}};b.treeTools=c;h.setZTreeTools(d,c);b[a]&&b[a].length>0?i.createNodes(d, -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 - * http://zTree.me/ - * - * Copyright (c) 2010 Hunter.z - * - * Licensed same as jquery - MIT License - * http://www.opensource.org/licenses/mit-license.php - * - * email: hunter.z@263.net - * Date: 2014-03-09 - */ -(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=f.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=f.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=== -!0)return!1;var b=f.getSetting(c.data.treeId),d=n(a,j.id.CHECK,b);a.check_Focus=!1;e.setChkClass(b,d,a);return!0};m.extend(!0,m.fn.zTree.consts,o);m.extend(!0,m.fn.zTree._z,{tools:{},view:{checkNodeRelation:function(c,a){var b,d,h,i=c.data.key.children,l=c.data.key.checked;b=j.radio;if(c.check.chkStyle==b.STYLE){var g=f.getRadioCheckedList(c);if(a[l])if(c.check.radioType==b.TYPE_ALL){for(d=g.length-1;d>=0;d--)b=g[d],b[l]&&b!=a&&(b[l]=!1,g.splice(d,1),e.setChkClass(c,n(b,j.id.CHECK,c),b),b.parentTId!= -a.parentTId&&e.repairParentChkClassWithSelf(c,b));g.push(a)}else{g=a.parentTId?a.getParentNode():f.getRoot(c);for(d=0,h=g[i].length;d<h;d++)b=g[i][d],b[l]&&b!=a&&(b[l]=!1,e.setChkClass(c,n(b,j.id.CHECK,c),b))}else if(c.check.radioType==b.TYPE_ALL)for(d=0,h=g.length;d<h;d++)if(a==g[d]){g.splice(d,1);break}}else a[l]&&(!a[i]||a[i].length==0||c.check.chkboxType.Y.indexOf("s")>-1)&&e.setSonNodeCheckBox(c,a,!0),!a[l]&&(!a[i]||a[i].length==0||c.check.chkboxType.N.indexOf("s")>-1)&&e.setSonNodeCheckBox(c, -a,!1),a[l]&&c.check.chkboxType.Y.indexOf("p")>-1&&e.setParentNodeCheckBox(c,a,!0),!a[l]&&c.check.chkboxType.N.indexOf("p")>-1&&e.setParentNodeCheckBox(c,a,!1)},makeChkClass:function(c,a){var b=c.data.key.checked,d=j.checkbox,h=j.radio,i="",i=a.chkDisabled===!0?d.DISABLED:a.halfCheck?d.PART:c.check.chkStyle==h.STYLE?a.check_Child_State<1?d.FULL:d.PART:a[b]?a.check_Child_State===2||a.check_Child_State===-1?d.FULL:d.PART:a.check_Child_State<1?d.FULL:d.PART,b=c.check.chkStyle+"_"+(a[b]?d.TRUE:d.FALSE)+ -"_"+i,b=a.check_Focus&&a.chkDisabled!==!0?b+"_"+d.FOCUS:b;return j.className.BUTTON+" "+d.DEFAULT+" "+b},repairAllChk:function(c,a){if(c.check.enable&&c.check.chkStyle===j.checkbox.STYLE)for(var b=c.data.key.checked,d=c.data.key.children,h=f.getRoot(c),i=0,l=h[d].length;i<l;i++){var g=h[d][i];g.nocheck!==!0&&g.chkDisabled!==!0&&(g[b]=a);e.setSonNodeCheckBox(c,g,a)}},repairChkClass:function(c,a){if(a&&(f.makeChkFlag(c,a),a.nocheck!==!0)){var b=n(a,j.id.CHECK,c);e.setChkClass(c,b,a)}},repairParentChkClass:function(c, -a){if(a&&a.parentTId){var b=a.getParentNode();e.repairChkClass(c,b);e.repairParentChkClass(c,b)}},repairParentChkClassWithSelf:function(c,a){if(a){var b=c.data.key.children;a[b]&&a[b].length>0?e.repairParentChkClass(c,a[b][0]):e.repairParentChkClass(c,a)}},repairSonChkDisabled:function(c,a,b,d){if(a){var h=c.data.key.children;if(a.chkDisabled!=b)a.chkDisabled=b;e.repairChkClass(c,a);if(a[h]&&d)for(var i=0,l=a[h].length;i<l;i++)e.repairSonChkDisabled(c,a[h][i],b,d)}},repairParentChkDisabled:function(c, -a,b,d){if(a){if(a.chkDisabled!=b&&d)a.chkDisabled=b;e.repairChkClass(c,a);e.repairParentChkDisabled(c,a.getParentNode(),b,d)}},setChkClass:function(c,a,b){a&&(b.nocheck===!0?a.hide():a.show(),a.removeClass(),a.addClass(e.makeChkClass(c,b)))},setParentNodeCheckBox:function(c,a,b,d){var h=c.data.key.children,i=c.data.key.checked,l=n(a,j.id.CHECK,c);d||(d=a);f.makeChkFlag(c,a);a.nocheck!==!0&&a.chkDisabled!==!0&&(a[i]=b,e.setChkClass(c,l,a),c.check.autoCheckTrigger&&a!=d&&c.treeObj.trigger(j.event.CHECK, -[null,c.treeId,a]));if(a.parentTId){l=!0;if(!b)for(var h=a.getParentNode()[h],g=0,k=h.length;g<k;g++)if(h[g].nocheck!==!0&&h[g].chkDisabled!==!0&&h[g][i]||(h[g].nocheck===!0||h[g].chkDisabled===!0)&&h[g].check_Child_State>0){l=!1;break}l&&e.setParentNodeCheckBox(c,a.getParentNode(),b,d)}},setSonNodeCheckBox:function(c,a,b,d){if(a){var h=c.data.key.children,i=c.data.key.checked,l=n(a,j.id.CHECK,c);d||(d=a);var g=!1;if(a[h])for(var k=0,m=a[h].length;k<m&&a.chkDisabled!==!0;k++){var o=a[h][k];e.setSonNodeCheckBox(c, -o,b,d);o.chkDisabled===!0&&(g=!0)}if(a!=f.getRoot(c)&&a.chkDisabled!==!0){g&&a.nocheck!==!0&&f.makeChkFlag(c,a);if(a.nocheck!==!0&&a.chkDisabled!==!0){if(a[i]=b,!g)a.check_Child_State=a[h]&&a[h].length>0?b?2:0:-1}else a.check_Child_State=-1;e.setChkClass(c,l,a);c.check.autoCheckTrigger&&a!=d&&a.nocheck!==!0&&a.chkDisabled!==!0&&c.treeObj.trigger(j.event.CHECK,[null,c.treeId,a])}}}},event:{},data:{getRadioCheckedList:function(c){for(var a=f.getRoot(c).radioCheckedList,b=0,d=a.length;b<d;b++)f.getNodeCache(c, -a[b].tId)||(a.splice(b,1),b--,d--);return a},getCheckStatus:function(c,a){if(!c.check.enable||a.nocheck||a.chkDisabled)return null;var b=c.data.key.checked;return{checked:a[b],half:a.halfCheck?a.halfCheck:c.check.chkStyle==j.radio.STYLE?a.check_Child_State===2:a[b]?a.check_Child_State>-1&&a.check_Child_State<2:a.check_Child_State>0}},getTreeCheckedNodes:function(c,a,b,d){if(!a)return[];for(var h=c.data.key.children,i=c.data.key.checked,e=b&&c.check.chkStyle==j.radio.STYLE&&c.check.radioType==j.radio.TYPE_ALL, -d=!d?[]:d,g=0,k=a.length;g<k;g++){if(a[g].nocheck!==!0&&a[g].chkDisabled!==!0&&a[g][i]==b&&(d.push(a[g]),e))break;f.getTreeCheckedNodes(c,a[g][h],b,d);if(e&&d.length>0)break}return d},getTreeChangeCheckedNodes:function(c,a,b){if(!a)return[];for(var d=c.data.key.children,h=c.data.key.checked,b=!b?[]:b,i=0,e=a.length;i<e;i++)a[i].nocheck!==!0&&a[i].chkDisabled!==!0&&a[i][h]!=a[i].checkedOld&&b.push(a[i]),f.getTreeChangeCheckedNodes(c,a[i][d],b);return b},makeChkFlag:function(c,a){if(a){var b=c.data.key.children, -d=c.data.key.checked,h=-1;if(a[b])for(var i=0,e=a[b].length;i<e;i++){var g=a[b][i],f=-1;if(c.check.chkStyle==j.radio.STYLE)if(f=g.nocheck===!0||g.chkDisabled===!0?g.check_Child_State:g.halfCheck===!0?2:g[d]?2:g.check_Child_State>0?2:0,f==2){h=2;break}else f==0&&(h=0);else if(c.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(c){c.treeObj.bind(j.event.CHECK,function(a,b,d,h){a.srcEvent=b;k.apply(c.callback.onCheck,[a,d,h])})});f.addInitUnBind(function(c){c.treeObj.unbind(j.event.CHECK)});f.addInitCache(function(){});f.addInitNode(function(c,a,b,d){if(b){a=c.data.key.checked;typeof b[a]=="string"&&(b[a]= -k.eqs(b[a],"true"));b[a]=!!b[a];b.checkedOld=b[a];if(typeof b.nocheck=="string")b.nocheck=k.eqs(b.nocheck,"true");b.nocheck=!!b.nocheck||c.check.nocheckInherit&&d&&!!d.nocheck;if(typeof b.chkDisabled=="string")b.chkDisabled=k.eqs(b.chkDisabled,"true");b.chkDisabled=!!b.chkDisabled||c.check.chkDisabledInherit&&d&&!!d.chkDisabled;if(typeof b.halfCheck=="string")b.halfCheck=k.eqs(b.halfCheck,"true");b.halfCheck=!!b.halfCheck;b.check_Child_State=-1;b.check_Focus=!1;b.getCheckStatus=function(){return f.getCheckStatus(c, -b)};c.check.chkStyle==j.radio.STYLE&&c.check.radioType==j.radio.TYPE_ALL&&b[a]&&f.getRoot(c).radioCheckedList.push(b)}});f.addInitProxy(function(c){var a=c.target,b=f.getSetting(c.data.treeId),d="",h=null,e="",l=null;if(k.eqs(c.type,"mouseover")){if(b.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(c.type,"mouseout")){if(b.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(c.type,"click")&&b.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(b,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(c){f.getRoot(c).radioCheckedList=[]}); -f.addBeforeA(function(c,a,b){c.check.enable&&(f.makeChkFlag(c,a),b.push("<span ID='",a.tId,j.id.CHECK,"' class='",e.makeChkClass(c,a),"' treeNode",j.id.CHECK,a.nocheck===!0?" style='display:none;'":"","></span>"))});f.addZTreeTools(function(c,a){a.checkNode=function(a,b,c,f){var g=this.setting.data.key.checked;if(a.chkDisabled!==!0&&(b!==!0&&b!==!1&&(b=!a[g]),f=!!f,(a[g]!==b||c)&&!(f&&k.apply(this.setting.callback.beforeCheck,[this.setting.treeId,a],!0)==!1)&&k.uCanDo(this.setting)&&this.setting.check.enable&& -a.nocheck!==!0))a[g]=b,b=n(a,j.id.CHECK,this.setting),(c||this.setting.check.chkStyle===j.radio.STYLE)&&e.checkNodeRelation(this.setting,a),e.setChkClass(this.setting,b,a),e.repairParentChkClassWithSelf(this.setting,a),f&&this.setting.treeObj.trigger(j.event.CHECK,[null,this.setting.treeId,a])};a.checkAllNodes=function(a){e.repairAllChk(this.setting,!!a)};a.getCheckedNodes=function(a){var b=this.setting.data.key.children;return f.getTreeCheckedNodes(this.setting,f.getRoot(this.setting)[b],a!==!1)}; -a.getChangeCheckedNodes=function(){var a=this.setting.data.key.children;return f.getTreeChangeCheckedNodes(this.setting,f.getRoot(this.setting)[a])};a.setChkDisabled=function(a,b,c,f){b=!!b;c=!!c;e.repairSonChkDisabled(this.setting,a,b,!!f);e.repairParentChkDisabled(this.setting,a.getParentNode(),b,c)};var b=a.updateNode;a.updateNode=function(c,f){b&&b.apply(a,arguments);if(c&&this.setting.check.enable&&n(c,this.setting).get(0)&&k.uCanDo(this.setting)){var i=n(c,j.id.CHECK,this.setting);(f==!0||this.setting.check.chkStyle=== -j.radio.STYLE)&&e.checkNodeRelation(this.setting,c);e.setChkClass(this.setting,i,c);e.repairParentChkClassWithSelf(this.setting,c)}}});var s=e.createNodes;e.createNodes=function(c,a,b,d){s&&s.apply(e,arguments);b&&e.repairParentChkClassWithSelf(c,d)};var t=e.removeNode;e.removeNode=function(c,a){var b=a.getParentNode();t&&t.apply(e,arguments);a&&b&&(e.repairChkClass(c,b),e.repairParentChkClass(c,b))};var u=e.appendNodes;e.appendNodes=function(c,a,b,d,h,i){var j="";u&&(j=u.apply(e,arguments));d&&f.makeChkFlag(c, -d);return j}})(jQuery); - -/* - * JQuery zTree exedit v3.5.16 - * http://zTree.me/ - * - * Copyright (c) 2010 Hunter.z - * - * Licensed same as jquery - MIT License - * http://www.opensource.org/licenses/mit-license.php - * - * email: hunter.z@263.net - * Date: 2014-03-09 - */ -(function(w){var I={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(C.dragFlag==0&&Math.abs(N-b.clientX)<e.edit.drag.minMoveSize&&Math.abs(O-b.clientY)<e.edit.drag.minMoveSize)return!0;var a,c,n,k,i;i=e.data.key.children;M.css("cursor","pointer");if(C.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)C.dragNodeShowBefore= -[];n=l[a];n.isParent&&n.open?(f.expandCollapseNode(e,n,!n.open),C.dragNodeShowBefore[n.tId]=!0):C.dragNodeShowBefore[n.tId]=!1}C.dragFlag=1;t.showHoverDom=!1;g.showIfameMask(e,!0);n=!0;k=-1;if(l.length>1){var j=l[0].parentTId?l[0].getParentNode()[i]:m.getNodes(e);i=[];for(a=0,c=j.length;a<c;a++)if(C.dragNodeShowBefore[j[a].tId]!==void 0&&(n&&k>-1&&k+1!==a&&(n=!1),i.push(j[a]),k=a),l.length===i.length){l=i;break}}n&&(H=l[0].getPreNode(),R=l[l.length-1].getNextNode());D=o("<ul class='zTreeDragUL'></ul>", -e);for(a=0,c=l.length;a<c;a++)n=l[a],n.editNameFlag=!1,f.selectNode(e,n,a>0),f.removeTreeDom(e,n),a>e.edit.drag.maxShowNodeNum-1||(k=o("<li id='"+n.tId+"_tmp'></li>",e),k.append(o(n,d.id.A,e).clone()),k.css("padding","0"),k.children("#"+n.tId+d.id.A).removeClass(d.node.CURSELECTED),D.append(k),a==e.edit.drag.maxShowNodeNum-1&&(k=o("<li id='"+n.tId+"_moretmp'><a> ... </a></li>",e),D.append(k)));D.attr("id",l[0].tId+d.id.UL+"_tmp");D.addClass(e.treeObj.attr("class"));D.appendTo(M);B=o("<span class='tmpzTreeMove_arrow'></span>", -e);B.attr("id","zTreeMove_arrow_tmp");B.appendTo(M);e.treeObj.trigger(d.event.DRAG,[b,e.treeId,l])}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?(n=w("#"+u+d.id.A,s),b.target=n.length>0?n.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=e;n=m.getSettings();for(var y in n)if(n[y].treeId&&n[y].edit.enable&&n[y].treeId!=e.treeId&&(b.target.id==n[y].treeId||w(b.target).parents("#"+n[y].treeId).length>0))J=!0,h=n[y];y=F.scrollTop();k=F.scrollLeft();i=h.treeObj.offset();a=h.treeObj.get(0).scrollHeight;n=h.treeObj.get(0).scrollWidth;c=b.clientY+y-i.top;var p=h.treeObj.height()+i.top-b.clientY-y,q=b.clientX+k-i.left,x=h.treeObj.width()+i.left-b.clientX-k;i=c<e.edit.drag.borderMax&&c>e.edit.drag.borderMin;var j=p<e.edit.drag.borderMax&& -p>e.edit.drag.borderMin,K=q<e.edit.drag.borderMax&&q>e.edit.drag.borderMin,G=x<e.edit.drag.borderMax&&x>e.edit.drag.borderMin,p=c>e.edit.drag.borderMin&&p>e.edit.drag.borderMin&&q>e.edit.drag.borderMin&&x>e.edit.drag.borderMin,q=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>=n;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=l.length;a<c;a++)if(n=l[a],E.id===n.tId){S=!1;break}else if(o(n,e).find("#"+E.id).length>0){S=!1;break}if(S&&b.target&&g.isChildOrSelf(b.target,E.id+d.id.A))s=w(E),u=E.id}n=l[0];if(p&&g.isChildOrSelf(b.target,h.treeId)){if(!s&&(b.target.id==h.treeId||q||x||P||Q)&&(J||!J&&n.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<h.treeObj.offset().left&&h.treeObj.scrollLeft(h.treeObj.scrollLeft()+s.offset().left-h.treeObj.offset().left)}D.css({top:b.clientY+y+3+"px",left:b.clientX+k+3+"px"});i=a=0;if(s&&s.attr("id")!=h.treeId){var z=u==null?null:m.getNodeCache(h,u);c=(b.ctrlKey||b.metaKey)&&e.edit.drag.isMove&&e.edit.drag.isCopy||!e.edit.drag.isMove&&e.edit.drag.isCopy;a=!!(H&&u===H.tId);i=!!(R&&u===R.tId);k=n.parentTId&&n.parentTId==u;n=(c||!i)&&g.apply(h.edit.drag.prev,[h.treeId,l,z], -!!h.edit.drag.prev);a=(c||!a)&&g.apply(h.edit.drag.next,[h.treeId,l,z],!!h.edit.drag.next);G=(c||!k)&&!(h.data.keep.leaf&&!z.isParent)&&g.apply(h.edit.drag.inner,[h.treeId,l,z],!!h.edit.drag.inner);if(!n&&!a&&!G){if(s=null,u="",v=d.move.TYPE_INNER,B.css({display:"none"}),window.zTreeMoveTimer)clearTimeout(window.zTreeMoveTimer),window.zTreeMoveTargetNodeTId=null}else{c=w("#"+u+d.id.A,s);i=z.isLastNode?null:w("#"+z.getNextNode().tId+d.id.A,s.next());j=c.offset().top;k=c.offset().left;K=n?G?0.25:a? -0.5:1:-1;G=a?G?0.75:n?0.5:0:-1;y=(b.clientY+y-j)/c.height();(K==1||y<=K&&y>=-0.2)&&n?(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)&&(f.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,l,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;e.treeObj.trigger(d.event.DRAGMOVE,[b,e.treeId,l])}return!1}function r(b){if(window.zTreeMoveTimer)clearTimeout(window.zTreeMoveTimer),window.zTreeMoveTargetNodeTId=null;U=T=null;F.unbind("mousemove",c); -F.unbind("mouseup",r);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(e,!1);t.showHoverDom=!0;if(C.dragFlag!=0){C.dragFlag=0;var a,i,j;for(a=0,i=l.length;a<i;a++)j=l[a],j.isParent&&C.dragNodeShowBefore[j.tId]&&!j.open&&(f.expandCollapseNode(e,j,!j.open), -delete C.dragNodeShowBefore[j.tId]);D&&D.remove();B&&B.remove();var p=(b.ctrlKey||b.metaKey)&&e.edit.drag.isMove&&e.edit.drag.isCopy||!e.edit.drag.isMove&&e.edit.drag.isCopy;!p&&s&&u&&l[0].parentTId&&u==l[0].parentTId&&v==d.move.TYPE_INNER&&(s=null);if(s){var q=u==null?null:m.getNodeCache(h,u);if(g.apply(e.callback.beforeDrop,[h.treeId,l,q,v,p],!0)==!1)f.selectNodes(x,l);else{var A=p?g.clone(l):l;a=function(){if(J){if(!p)for(var a=0,c=l.length;a<c;a++)f.removeNode(e,l[a]);if(v==d.move.TYPE_INNER)f.addNodes(h, -q,A);else if(f.addNodes(h,q.getParentNode(),A),v==d.move.TYPE_PREV)for(a=0,c=A.length;a<c;a++)f.moveNode(h,q,A[a],v,!1);else for(a=-1,c=A.length-1;a<c;c--)f.moveNode(h,q,A[c],v,!1)}else if(p&&v==d.move.TYPE_INNER)f.addNodes(h,q,A);else if(p&&f.addNodes(h,q.getParentNode(),A),v!=d.move.TYPE_NEXT)for(a=0,c=A.length;a<c;a++)f.moveNode(h,q,A[a],v,!1);else for(a=-1,c=A.length-1;a<c;c--)f.moveNode(h,q,A[c],v,!1);f.selectNodes(h,A);o(A[0],e).focus().blur();e.treeObj.trigger(d.event.DROP,[b,h.treeId,A,q, -v,p])};v==d.move.TYPE_INNER&&g.canAsync(h,q)?f.asyncNode(h,q,!1,a):a()}}else f.selectNodes(x,l),e.treeObj.trigger(d.event.DROP,[b,e.treeId,l,null,null,null])}}function k(){return!1}var i,j,e=m.getSetting(b.data.treeId),C=m.getRoot(e),t=m.getRoots();if(b.button==2||!e.edit.enable||!e.edit.drag.isCopy&&!e.edit.drag.isMove)return!0;var p=b.target,q=m.getRoot(e).curSelectedList,l=[];if(m.isSelectedNode(e,a))for(i=0,j=q.length;i<j;i++){if(q[i].editNameFlag&&g.eqs(p.tagName,"input")&&p.getAttribute("treeNode"+ -d.id.INPUT)!==null)return!0;l.push(q[i]);if(l[0].parentTId!==q[i].parentTId){l=[a];break}}else l=[a];f.editNodeBlur=!0;f.cancelCurEditNode(e);var F=w(e.treeObj.get(0).ownerDocument),M=w(e.treeObj.get(0).ownerDocument.body),D,B,s,J=!1,h=e,x=e,H,R,T=null,U=null,u=null,v=d.move.TYPE_INNER,N=b.clientX,O=b.clientY,L=(new Date).getTime();g.uCanDo(e)&&F.bind("mousemove",c);F.bind("mouseup",r);F.bind("selectstart",k);b.preventDefault&&b.preventDefault();return!0}};w.extend(!0,w.fn.zTree.consts,I);w.extend(!0, -w.fn.zTree._z,{tools:{getAbs:function(b){b=b.getBoundingClientRect();return[b.left+(document.body.scrollLeft+document.documentElement.scrollLeft),b.top+(document.body.scrollTop+document.documentElement.scrollTop)]},inputFocus:function(b){b.get(0)&&(b.focus(),g.setCursorPosition(b.get(0),b.val().length))},inputSelect:function(b){b.get(0)&&(b.focus(),b.select())},setCursorPosition:function(b,a){if(b.setSelectionRange)b.focus(),b.setSelectionRange(a,a);else if(b.createTextRange){var c=b.createTextRange(); -c.collapse(!0);c.moveEnd("character",a);c.moveStart("character",a);c.select()}},showIfameMask:function(b,a){for(var c=m.getRoot(b);c.dragMaskList.length>0;)c.dragMaskList[0].remove(),c.dragMaskList.shift();if(a)for(var d=o("iframe",b),f=0,i=d.length;f<i;f++){var j=d.get(f),e=g.getAbs(j),j=o("<div id='zTreeMask_"+f+"' class='zTreeMask' style='top:"+e[1]+"px; left:"+e[0]+"px; width:"+j.offsetWidth+"px; height:"+j.offsetHeight+"px;'></div>",b);j.appendTo(o("body",b));c.dragMaskList.push(j)}}},view:{addEditBtn:function(b, -a){if(!(a.editNameFlag||o(a,d.id.EDIT,b).length>0)&&g.apply(b.edit.showRenameBtn,[b.treeId,a],b.edit.showRenameBtn)){var c=o(a,d.id.A,b),r="<span class='"+d.className.BUTTON+" edit' id='"+a.tId+d.id.EDIT+"' title='"+g.apply(b.edit.renameTitle,[b.treeId,a],b.edit.renameTitle)+"' treeNode"+d.id.EDIT+" style='display:none;'></span>";c.append(r);o(a,d.id.EDIT,b).bind("click",function(){if(!g.uCanDo(b)||g.apply(b.callback.beforeEditName,[b.treeId,a],!0)==!1)return!1;f.editNode(b,a);return!1}).show()}}, -addRemoveBtn:function(b,a){if(!(a.editNameFlag||o(a,d.id.REMOVE,b).length>0)&&g.apply(b.edit.showRemoveBtn,[b.treeId,a],b.edit.showRemoveBtn)){var c=o(a,d.id.A,b),r="<span class='"+d.className.BUTTON+" remove' id='"+a.tId+d.id.REMOVE+"' title='"+g.apply(b.edit.removeTitle,[b.treeId,a],b.edit.removeTitle)+"' treeNode"+d.id.REMOVE+" style='display:none;'></span>";c.append(r);o(a,d.id.REMOVE,b).bind("click",function(){if(!g.uCanDo(b)||g.apply(b.callback.beforeRemove,[b.treeId,a],!0)==!1)return!1;f.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(m.getRoots().showHoverDom)a.isHover=!0,b.edit.enable&&(f.addEditBtn(b,a),f.addRemoveBtn(b,a)),g.apply(b.view.addHoverDom,[b.treeId,a])},cancelCurEditNode:function(b,a,c){var r=m.getRoot(b),k=b.data.key.name,i=r.curEditNode;if(i){var j=r.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]);o(i,d.id.A,b).removeClass(d.node.CURSELECTED_EDIT);j.unbind();f.setNodeName(b,i);i.editNameFlag=!1;r.curEditNode=null;r.curEditInput=null;f.selectNode(b,i,!1)}return r.noSelection=!0},editNode:function(b,a){var c=m.getRoot(b);f.editNodeBlur=!1;if(m.isSelectedNode(b,a)&&c.curEditNode==a&&a.editNameFlag)setTimeout(function(){g.inputFocus(c.curEditInput)},0);else{var r=b.data.key.name;a.editNameFlag=!0;f.removeTreeDom(b,a);f.cancelCurEditNode(b);f.selectNode(b,a,!1);o(a,d.id.SPAN,b).html("<input type=text class='rename' id='"+ -a.tId+d.id.INPUT+"' treeNode"+d.id.INPUT+" >");var k=o(a,d.id.INPUT,b);k.attr("value",a[r]);b.edit.editNameSelectAll?g.inputSelect(k):g.inputFocus(k);k.bind("blur",function(){f.editNodeBlur||f.cancelCurEditNode(b)}).bind("keydown",function(a){a.keyCode=="13"?(f.editNodeBlur=!0,f.cancelCurEditNode(b)):a.keyCode=="27"&&f.cancelCurEditNode(b,null,!0)}).bind("click",function(){return!1}).bind("dblclick",function(){return!1});o(a,d.id.A,b).addClass(d.node.CURSELECTED_EDIT);c.curEditInput=k;c.noSelection= -!1;c.curEditNode=a}},moveNode:function(b,a,c,r,k,i){var j=m.getRoot(b),e=b.data.key.children;if(a!=c&&(!b.data.keep.leaf||!a||a.isParent||r!=d.move.TYPE_INNER)){var g=c.parentTId?c.getParentNode():j,t=a===null||a==j;t&&a===null&&(a=j);if(t)r=d.move.TYPE_INNER;j=a.parentTId?a.getParentNode():j;if(r!=d.move.TYPE_PREV&&r!=d.move.TYPE_NEXT)r=d.move.TYPE_INNER;if(r==d.move.TYPE_INNER)if(t)c.parentTId=null;else{if(!a.isParent)a.isParent=!0,a.open=!!a.open,f.setNodeLineIcos(b,a);c.parentTId=a.tId}var p; -t?p=t=b.treeObj:(!i&&r==d.move.TYPE_INNER?f.expandCollapseNode(b,a,!0,!1):i||f.expandCollapseNode(b,a.getParentNode(),!0,!1),t=o(a,b),p=o(a,d.id.UL,b),t.get(0)&&!p.get(0)&&(p=[],f.makeUlHtml(b,a,p,""),t.append(p.join(""))),p=o(a,d.id.UL,b));var q=o(c,b);q.get(0)?t.get(0)||q.remove():q=f.appendNodes(b,c.level,[c],null,!1,!0).join("");p.get(0)&&r==d.move.TYPE_INNER?p.append(q):t.get(0)&&r==d.move.TYPE_PREV?t.before(q):t.get(0)&&r==d.move.TYPE_NEXT&&t.after(q);var l=-1,w=0,x=null,t=null,D=c.level;if(c.isFirstNode){if(l= -0,g[e].length>1)x=g[e][1],x.isFirstNode=!0}else if(c.isLastNode)l=g[e].length-1,x=g[e][l-1],x.isLastNode=!0;else for(p=0,q=g[e].length;p<q;p++)if(g[e][p].tId==c.tId){l=p;break}l>=0&&g[e].splice(l,1);if(r!=d.move.TYPE_INNER)for(p=0,q=j[e].length;p<q;p++)j[e][p].tId==a.tId&&(w=p);if(r==d.move.TYPE_INNER){a[e]||(a[e]=[]);if(a[e].length>0)t=a[e][a[e].length-1],t.isLastNode=!1;a[e].splice(a[e].length,0,c);c.isLastNode=!0;c.isFirstNode=a[e].length==1}else a.isFirstNode&&r==d.move.TYPE_PREV?(j[e].splice(w, -0,c),t=a,t.isFirstNode=!1,c.parentTId=a.parentTId,c.isFirstNode=!0,c.isLastNode=!1):a.isLastNode&&r==d.move.TYPE_NEXT?(j[e].splice(w+1,0,c),t=a,t.isLastNode=!1,c.parentTId=a.parentTId,c.isFirstNode=!1,c.isLastNode=!0):(r==d.move.TYPE_PREV?j[e].splice(w,0,c):j[e].splice(w+1,0,c),c.parentTId=a.parentTId,c.isFirstNode=!1,c.isLastNode=!1);m.fixPIdKeyValue(b,c);m.setSonNodeLevel(b,c.getParentNode(),c);f.setNodeLineIcos(b,c);f.repairNodeLevelClass(b,c,D);!b.data.keep.parent&&g[e].length<1?(g.isParent=!1, -g.open=!1,a=o(g,d.id.UL,b),r=o(g,d.id.SWITCH,b),e=o(g,d.id.ICON,b),f.replaceSwitchClass(g,r,d.folder.DOCU),f.replaceIcoClass(g,e,d.folder.DOCU),a.css("display","none")):x&&f.setNodeLineIcos(b,x);t&&f.setNodeLineIcos(b,t);b.check&&b.check.enable&&f.repairChkClass&&(f.repairChkClass(b,g),f.repairParentChkClassWithSelf(b,g),g!=c.parent&&f.repairParentChkClassWithSelf(b,c));i||f.expandCollapseParentNode(b,c.getParentNode(),!0,k)}},removeEditBtn:function(b,a){o(a,d.id.EDIT,b).unbind().remove()},removeRemoveBtn:function(b, -a){o(a,d.id.REMOVE,b).unbind().remove()},removeTreeDom:function(b,a){a.isHover=!1;f.removeEditBtn(b,a);f.removeRemoveBtn(b,a);g.apply(b.view.removeHoverDom,[b.treeId,a])},repairNodeLevelClass:function(b,a,c){if(c!==a.level){var f=o(a,b),g=o(a,d.id.A,b),b=o(a,d.id.UL,b),c=d.className.LEVEL+c,a=d.className.LEVEL+a.level;f.removeClass(c);f.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;c<d;c++)f.selectNode(b,a[c],c>0)}},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,f=c[d].length;a<f;a++)c[d][a]&&m.setSonNodeLevel(b,c,c[d][a])}}}});var H=w.fn.zTree,g=H._z.tools,d=H.consts,f=H._z.view,m=H._z.data,o=g.$;m.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,onDragMove:null,onDrop:null,onRename:null}});m.addInitBind(function(b){var a=b.treeObj,c=d.event;a.bind(c.RENAME,function(a,c,d,f){g.apply(b.callback.onRename,[a,c,d,f])});a.bind(c.DRAG,function(a,c,d,f){g.apply(b.callback.onDrag,[c,d,f])});a.bind(c.DRAGMOVE,function(a,c,d,f){g.apply(b.callback.onDragMove,[c,d,f])});a.bind(c.DROP, -function(a,c,d,f,e,m,o){g.apply(b.callback.onDrop,[c,d,f,e,m,o])})});m.addInitUnBind(function(b){var b=b.treeObj,a=d.event;b.unbind(a.RENAME);b.unbind(a.DRAG);b.unbind(a.DRAGMOVE);b.unbind(a.DROP)});m.addInitCache(function(){});m.addInitNode(function(b,a,c){if(c)c.isHover=!1,c.editNameFlag=!1});m.addInitProxy(function(b){var a=b.target,c=m.getSetting(b.data.treeId),f=b.relatedTarget,k="",i=null,j="",e=null,o=null;if(g.eqs(b.type,"mouseover")){if(o=g.getMDom(c,a,[{tagName:"a",attrName:"treeNode"+d.id.A}]))k= -g.getNodeMainDom(o).id,j="hoverOverNode"}else if(g.eqs(b.type,"mouseout"))o=g.getMDom(c,f,[{tagName:"a",attrName:"treeNode"+d.id.A}]),o||(k="remove",j="hoverOutNode");else if(g.eqs(b.type,"mousedown")&&(o=g.getMDom(c,a,[{tagName:"a",attrName:"treeNode"+d.id.A}])))k=g.getNodeMainDom(o).id,j="mousedownNode";if(k.length>0)switch(i=m.getNodeCache(c,k),j){case "mousedownNode":e=x.onMousedownNode;break;case "hoverOverNode":e=x.onHoverOverNode;break;case "hoverOutNode":e=x.onHoverOutNode}return{stop:!1, -node:i,nodeEventType:j,nodeEventCallback:e,treeEventType:"",treeEventCallback:null}});m.addInitRoot(function(b){var b=m.getRoot(b),a=m.getRoots();b.curEditNode=null;b.curEditInput=null;b.curHoverNode=null;b.dragFlag=0;b.dragNodeShowBefore=[];b.dragMaskList=[];a.showHoverDom=!0});m.addZTreeTools(function(b,a){a.cancelEditName=function(a){m.getRoot(this.setting).curEditNode&&f.cancelCurEditNode(this.setting,a?a:null,!0)};a.copyNode=function(a,b,k,i){if(!b)return null;if(a&&!a.isParent&&this.setting.data.keep.leaf&& -k===d.move.TYPE_INNER)return null;var j=this,e=g.clone(b);if(!a)a=null,k=d.move.TYPE_INNER;k==d.move.TYPE_INNER?(b=function(){f.addNodes(j.setting,a,[e],i)},g.canAsync(this.setting,a)?f.asyncNode(this.setting,a,i,b):b()):(f.addNodes(this.setting,a.parentNode,[e],i),f.moveNode(this.setting,a,e,k,!1,i));return e};a.editName=function(a){a&&a.tId&&a===m.getNodeCache(this.setting,a.tId)&&(a.parentTId&&f.expandCollapseParentNode(this.setting,a.getParentNode(),!0),f.editNode(this.setting,a))};a.moveNode= -function(a,b,k,i){function j(){f.moveNode(e.setting,a,b,k,!1,i)}if(!b)return b;if(a&&!a.isParent&&this.setting.data.keep.leaf&&k===d.move.TYPE_INNER)return null;else if(a&&(b.parentTId==a.tId&&k==d.move.TYPE_INNER||o(b,this.setting).find("#"+a.tId).length>0))return null;else a||(a=null);var e=this;g.canAsync(this.setting,a)&&k===d.move.TYPE_INNER?f.asyncNode(this.setting,a,i,j):j();return b};a.setEditable=function(a){this.setting.edit.enable=a;return this.refresh()}});var N=f.cancelPreSelectedNode; -f.cancelPreSelectedNode=function(b,a){for(var c=m.getRoot(b).curSelectedList,d=0,g=c.length;d<g;d++)if(!a||a===c[d])if(f.removeTreeDom(b,c[d]),a)break;N&&N.apply(f,arguments)};var O=f.createNodes;f.createNodes=function(b,a,c,d){O&&O.apply(f,arguments);c&&f.repairParentChkClassWithSelf&&f.repairParentChkClassWithSelf(b,d)};var V=f.makeNodeUrl;f.makeNodeUrl=function(b,a){return b.edit.enable?null:V.apply(f,arguments)};var L=f.removeNode;f.removeNode=function(b,a){var c=m.getRoot(b);if(c.curEditNode=== -a)c.curEditNode=null;L&&L.apply(f,arguments)};var P=f.selectNode;f.selectNode=function(b,a,c){var d=m.getRoot(b);if(m.isSelectedNode(b,a)&&d.curEditNode==a&&a.editNameFlag)return!1;P&&P.apply(f,arguments);f.addHoverDom(b,a);return!0};var Q=g.uCanDo;g.uCanDo=function(b,a){var c=m.getRoot(b);if(a&&(g.eqs(a.type,"mouseover")||g.eqs(a.type,"mouseout")||g.eqs(a.type,"mousedown")||g.eqs(a.type,"mouseup")))return!0;if(c.curEditNode)f.editNodeBlur=!1,c.curEditInput.focus();return!c.curEditNode&&(Q?Q.apply(f, -arguments):!0)}})(jQuery); - +
+/*
+ * JQuery zTree core v3.5.16
+ * http://zTree.me/
+ *
+ * Copyright (c) 2010 Hunter.z
+ *
+ * Licensed same as jquery - MIT License
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ * email: hunter.z@263.net
+ * Date: 2014-03-09
+ */
+(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,
+[a,c,g])});a.bind(c.CLICK,function(a,c,g,l,h){j.apply(b.callback.onClick,[c,g,l,h])});a.bind(c.EXPAND,function(a,c,g){j.apply(b.callback.onExpand,[a,c,g])});a.bind(c.COLLAPSE,function(a,c,g){j.apply(b.callback.onCollapse,[a,c,g])});a.bind(c.ASYNC_SUCCESS,function(a,c,g,l){j.apply(b.callback.onAsyncSuccess,[a,c,g,l])});a.bind(c.ASYNC_ERROR,function(a,c,g,l,h,e){j.apply(b.callback.onAsyncError,[a,c,g,l,h,e])});a.bind(c.REMOVE,function(a,c,g){j.apply(b.callback.onRemove,[a,c,g])})}],x=[function(b){var a=
+e.event;b.treeObj.unbind(a.NODECREATED).unbind(a.CLICK).unbind(a.EXPAND).unbind(a.COLLAPSE).unbind(a.ASYNC_SUCCESS).unbind(a.ASYNC_ERROR).unbind(a.REMOVE)}],y=[function(b){var a=h.getCache(b);a||(a={},h.setCache(b,a));a.nodes=[];a.doms=[]}],z=[function(b,a,c,d,f,g){if(c){var l=h.getRoot(b),e=b.data.key.children;c.level=a;c.tId=b.treeId+"_"+ ++l.zId;c.parentTId=d?d.tId:null;c.open=typeof c.open=="string"?j.eqs(c.open,"true"):!!c.open;c[e]&&c[e].length>0?(c.isParent=!0,c.zAsync=!0):(c.isParent=typeof c.isParent==
+"string"?j.eqs(c.isParent,"true"):!!c.isParent,c.open=c.isParent&&!b.async.enable?c.open:!1,c.zAsync=!c.isParent);c.isFirstNode=f;c.isLastNode=g;c.getParentNode=function(){return h.getNodeCache(b,c.parentTId)};c.getPreNode=function(){return h.getPreNode(b,c)};c.getNextNode=function(){return h.getNextNode(b,c)};c.isAjaxing=!1;h.fixPIdKeyValue(b,c)}}],s=[function(b){var a=b.target,c=h.getSetting(b.data.treeId),d="",f=null,g="",l="",i=null,n=null,k=null;if(j.eqs(b.type,"mousedown"))l="mousedown";else if(j.eqs(b.type,
+"mouseup"))l="mouseup";else if(j.eqs(b.type,"contextmenu"))l="contextmenu";else if(j.eqs(b.type,"click"))if(j.eqs(a.tagName,"span")&&a.getAttribute("treeNode"+e.id.SWITCH)!==null)d=j.getNodeMainDom(a).id,g="switchNode";else{if(k=j.getMDom(c,a,[{tagName:"a",attrName:"treeNode"+e.id.A}]))d=j.getNodeMainDom(k).id,g="clickNode"}else if(j.eqs(b.type,"dblclick")&&(l="dblclick",k=j.getMDom(c,a,[{tagName:"a",attrName:"treeNode"+e.id.A}])))d=j.getNodeMainDom(k).id,g="switchNode";if(l.length>0&&d.length==0&&
+(k=j.getMDom(c,a,[{tagName:"a",attrName:"treeNode"+e.id.A}])))d=j.getNodeMainDom(k).id;if(d.length>0)switch(f=h.getNodeCache(c,d),g){case "switchNode":f.isParent?j.eqs(b.type,"click")||j.eqs(b.type,"dblclick")&&j.apply(c.view.dblClickExpand,[c.treeId,f],c.view.dblClickExpand)?i=G:g="":g="";break;case "clickNode":i=H}switch(l){case "mousedown":n=I;break;case "mouseup":n=J;break;case "dblclick":n=K;break;case "contextmenu":n=L}return{stop:!1,node:f,nodeEventType:g,nodeEventCallback:i,treeEventType:l,
+treeEventCallback:n}}],A=[function(b){var a=h.getRoot(b);a||(a={},h.setRoot(b,a));a[b.data.key.children]=[];a.expandTriggerFlag=!1;a.curSelectedList=[];a.noSelection=!0;a.createdNodes=[];a.zId=0;a._ver=(new Date).getTime()}],B=[],C=[],D=[],E=[],F=[],h={addNodeCache:function(b,a){h.getCache(b).nodes[h.getNodeCacheId(a.tId)]=a},getNodeCacheId:function(b){return b.substring(b.lastIndexOf("_")+1)},addAfterA:function(b){C.push(b)},addBeforeA:function(b){B.push(b)},addInnerAfterA:function(b){E.push(b)},
+addInnerBeforeA:function(b){D.push(b)},addInitBind:function(b){w.push(b)},addInitUnBind:function(b){x.push(b)},addInitCache:function(b){y.push(b)},addInitNode:function(b){z.push(b)},addInitProxy:function(b,a){a?s.splice(0,0,b):s.push(b)},addInitRoot:function(b){A.push(b)},addNodesData:function(b,a,c){var d=b.data.key.children;a[d]||(a[d]=[]);if(a[d].length>0)a[d][a[d].length-1].isLastNode=!1,i.setNodeLineIcos(b,a[d][a[d].length-1]);a.isParent=!0;a[d]=a[d].concat(c)},addSelectedNode:function(b,a){var c=
+h.getRoot(b);h.isSelectedNode(b,a)||c.curSelectedList.push(a)},addCreatedNode:function(b,a){(b.callback.onNodeCreated||b.view.addDiyDom)&&h.getRoot(b).createdNodes.push(a)},addZTreeTools:function(b){F.push(b)},exSetting:function(b){p.extend(!0,M,b)},fixPIdKeyValue:function(b,a){b.data.simpleData.enable&&(a[b.data.simpleData.pIdKey]=a.parentTId?a.getParentNode()[b.data.simpleData.idKey]:b.data.simpleData.rootPId)},getAfterA:function(b,a,c){for(var d=0,f=C.length;d<f;d++)C[d].apply(this,arguments)},
+getBeforeA:function(b,a,c){for(var d=0,f=B.length;d<f;d++)B[d].apply(this,arguments)},getInnerAfterA:function(b,a,c){for(var d=0,f=E.length;d<f;d++)E[d].apply(this,arguments)},getInnerBeforeA:function(b,a,c){for(var d=0,f=D.length;d<f;d++)D[d].apply(this,arguments)},getCache:function(b){return v[b.treeId]},getNextNode:function(b,a){if(!a)return null;for(var c=b.data.key.children,d=a.parentTId?a.getParentNode():h.getRoot(b),f=0,g=d[c].length-1;f<=g;f++)if(d[c][f]===a)return f==g?null:d[c][f+1];return null},
+getNodeByParam:function(b,a,c,d){if(!a||!c)return null;for(var f=b.data.key.children,g=0,l=a.length;g<l;g++){if(a[g][c]==d)return a[g];var e=h.getNodeByParam(b,a[g][f],c,d);if(e)return e}return null},getNodeCache:function(b,a){if(!a)return null;var c=v[b.treeId].nodes[h.getNodeCacheId(a)];return c?c:null},getNodeName:function(b,a){return""+a[b.data.key.name]},getNodeTitle:function(b,a){return""+a[b.data.key.title===""?b.data.key.name:b.data.key.title]},getNodes:function(b){return h.getRoot(b)[b.data.key.children]},
+getNodesByParam:function(b,a,c,d){if(!a||!c)return[];for(var f=b.data.key.children,g=[],l=0,e=a.length;l<e;l++)a[l][c]==d&&g.push(a[l]),g=g.concat(h.getNodesByParam(b,a[l][f],c,d));return g},getNodesByParamFuzzy:function(b,a,c,d){if(!a||!c)return[];for(var f=b.data.key.children,g=[],d=d.toLowerCase(),l=0,e=a.length;l<e;l++)typeof a[l][c]=="string"&&a[l][c].toLowerCase().indexOf(d)>-1&&g.push(a[l]),g=g.concat(h.getNodesByParamFuzzy(b,a[l][f],c,d));return g},getNodesByFilter:function(b,a,c,d,f){if(!a)return d?
+null:[];for(var g=b.data.key.children,e=d?null:[],i=0,n=a.length;i<n;i++){if(j.apply(c,[a[i],f],!1)){if(d)return a[i];e.push(a[i])}var k=h.getNodesByFilter(b,a[i][g],c,d,f);if(d&&k)return k;e=d?k:e.concat(k)}return e},getPreNode:function(b,a){if(!a)return null;for(var c=b.data.key.children,d=a.parentTId?a.getParentNode():h.getRoot(b),f=0,g=d[c].length;f<g;f++)if(d[c][f]===a)return f==0?null:d[c][f-1];return null},getRoot:function(b){return b?u[b.treeId]:null},getRoots:function(){return u},getSetting:function(b){return r[b]},
+getSettings:function(){return r},getZTreeTools:function(b){return(b=this.getRoot(this.getSetting(b)))?b.treeTools:null},initCache:function(b){for(var a=0,c=y.length;a<c;a++)y[a].apply(this,arguments)},initNode:function(b,a,c,d,f,g){for(var e=0,h=z.length;e<h;e++)z[e].apply(this,arguments)},initRoot:function(b){for(var a=0,c=A.length;a<c;a++)A[a].apply(this,arguments)},isSelectedNode:function(b,a){for(var c=h.getRoot(b),d=0,f=c.curSelectedList.length;d<f;d++)if(a===c.curSelectedList[d])return!0;return!1},
+removeNodeCache:function(b,a){var c=b.data.key.children;if(a[c])for(var d=0,f=a[c].length;d<f;d++)arguments.callee(b,a[c][d]);h.getCache(b).nodes[h.getNodeCacheId(a.tId)]=null},removeSelectedNode:function(b,a){for(var c=h.getRoot(b),d=0,f=c.curSelectedList.length;d<f;d++)if(a===c.curSelectedList[d]||!h.getNodeCache(b,c.curSelectedList[d].tId))c.curSelectedList.splice(d,1),d--,f--},setCache:function(b,a){v[b.treeId]=a},setRoot:function(b,a){u[b.treeId]=a},setZTreeTools:function(b,a){for(var c=0,d=
+F.length;c<d;c++)F[c].apply(this,arguments)},transformToArrayFormat:function(b,a){if(!a)return[];var c=b.data.key.children,d=[];if(j.isArray(a))for(var f=0,g=a.length;f<g;f++)d.push(a[f]),a[f][c]&&(d=d.concat(h.transformToArrayFormat(b,a[f][c])));else d.push(a),a[c]&&(d=d.concat(h.transformToArrayFormat(b,a[c])));return d},transformTozTreeFormat:function(b,a){var c,d,f=b.data.simpleData.idKey,g=b.data.simpleData.pIdKey,e=b.data.key.children;if(!f||f==""||!a)return[];if(j.isArray(a)){var h=[],i=[];
+for(c=0,d=a.length;c<d;c++)i[a[c][f]]=a[c];for(c=0,d=a.length;c<d;c++)i[a[c][g]]&&a[c][f]!=a[c][g]?(i[a[c][g]][e]||(i[a[c][g]][e]=[]),i[a[c][g]][e].push(a[c])):h.push(a[c]);return h}else return[a]}},m={bindEvent:function(b){for(var a=0,c=w.length;a<c;a++)w[a].apply(this,arguments)},unbindEvent:function(b){for(var a=0,c=x.length;a<c;a++)x[a].apply(this,arguments)},bindTree:function(b){var a={treeId:b.treeId},c=b.treeObj;b.view.txtSelectedEnable||c.bind("selectstart",function(a){a=a.originalEvent.srcElement.nodeName.toLowerCase();
+return a==="input"||a==="textarea"}).css({"-moz-user-select":"-moz-none"});c.bind("click",a,m.proxy);c.bind("dblclick",a,m.proxy);c.bind("mouseover",a,m.proxy);c.bind("mouseout",a,m.proxy);c.bind("mousedown",a,m.proxy);c.bind("mouseup",a,m.proxy);c.bind("contextmenu",a,m.proxy)},unbindTree:function(b){b.treeObj.unbind("click",m.proxy).unbind("dblclick",m.proxy).unbind("mouseover",m.proxy).unbind("mouseout",m.proxy).unbind("mousedown",m.proxy).unbind("mouseup",m.proxy).unbind("contextmenu",m.proxy)},
+doProxy:function(b){for(var a=[],c=0,d=s.length;c<d;c++){var f=s[c].apply(this,arguments);a.push(f);if(f.stop)break}return a},proxy:function(b){var a=h.getSetting(b.data.treeId);if(!j.uCanDo(a,b))return!0;for(var a=m.doProxy(b),c=!0,d=0,f=a.length;d<f;d++){var g=a[d];g.nodeEventCallback&&(c=g.nodeEventCallback.apply(g,[b,g.node])&&c);g.treeEventCallback&&(c=g.treeEventCallback.apply(g,[b,g.node])&&c)}return c}};G=function(b,a){var c=h.getSetting(b.data.treeId);if(a.open){if(j.apply(c.callback.beforeCollapse,
+[c.treeId,a],!0)==!1)return!0}else if(j.apply(c.callback.beforeExpand,[c.treeId,a],!0)==!1)return!0;h.getRoot(c).expandTriggerFlag=!0;i.switchNode(c,a);return!0};H=function(b,a){var c=h.getSetting(b.data.treeId),d=c.view.autoCancelSelected&&(b.ctrlKey||b.metaKey)&&h.isSelectedNode(c,a)?0:c.view.autoCancelSelected&&(b.ctrlKey||b.metaKey)&&c.view.selectedMulti?2:1;if(j.apply(c.callback.beforeClick,[c.treeId,a,d],!0)==!1)return!0;d===0?i.cancelPreSelectedNode(c,a):i.selectNode(c,a,d===2);c.treeObj.trigger(e.event.CLICK,
+[b,c.treeId,a,d]);return!0};I=function(b,a){var c=h.getSetting(b.data.treeId);j.apply(c.callback.beforeMouseDown,[c.treeId,a],!0)&&j.apply(c.callback.onMouseDown,[b,c.treeId,a]);return!0};J=function(b,a){var c=h.getSetting(b.data.treeId);j.apply(c.callback.beforeMouseUp,[c.treeId,a],!0)&&j.apply(c.callback.onMouseUp,[b,c.treeId,a]);return!0};K=function(b,a){var c=h.getSetting(b.data.treeId);j.apply(c.callback.beforeDblClick,[c.treeId,a],!0)&&j.apply(c.callback.onDblClick,[b,c.treeId,a]);return!0};
+L=function(b,a){var c=h.getSetting(b.data.treeId);j.apply(c.callback.beforeRightClick,[c.treeId,a],!0)&&j.apply(c.callback.onRightClick,[b,c.treeId,a]);return typeof c.callback.onRightClick!="function"};var j={apply:function(b,a,c){return typeof b=="function"?b.apply(N,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"?arguments.callee(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"?p(b,c?c.treeObj.get(0).ownerDocument:null):p("#"+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,f=c.length;a.tagName&&d<f;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 p(b).parent("li").get(0)||p(b).parentsUntil("li").parent().get(0)},isChildOrSelf:function(b,a){return p(b).closest("#"+a).length>0},uCanDo:function(){return!0}},i={addNodes:function(b,a,c,d){if(!b.data.keep.leaf||!a||a.isParent)if(j.isArray(c)||(c=[c]),b.data.simpleData.enable&&(c=h.transformTozTreeFormat(b,c)),a){var f=k(a,e.id.SWITCH,b),g=k(a,e.id.ICON,b),l=k(a,e.id.UL,b);if(!a.open)i.replaceSwitchClass(a,
+f,e.folder.CLOSE),i.replaceIcoClass(a,g,e.folder.CLOSE),a.open=!1,l.css({display:"none"});h.addNodesData(b,a,c);i.createNodes(b,a.level+1,c,a);d||i.expandCollapseParentNode(b,a,!0)}else h.addNodesData(b,h.getRoot(b),c),i.createNodes(b,0,c,null)},appendNodes:function(b,a,c,d,f,g){if(!c)return[];for(var e=[],j=b.data.key.children,k=0,m=c.length;k<m;k++){var o=c[k];if(f){var t=(d?d:h.getRoot(b))[j].length==c.length&&k==0;h.initNode(b,a,o,d,t,k==c.length-1,g);h.addNodeCache(b,o)}t=[];o[j]&&o[j].length>
+0&&(t=i.appendNodes(b,a+1,o[j],o,f,g&&o.open));g&&(i.makeDOMNodeMainBefore(e,b,o),i.makeDOMNodeLine(e,b,o),h.getBeforeA(b,o,e),i.makeDOMNodeNameBefore(e,b,o),h.getInnerBeforeA(b,o,e),i.makeDOMNodeIcon(e,b,o),h.getInnerAfterA(b,o,e),i.makeDOMNodeNameAfter(e,b,o),h.getAfterA(b,o,e),o.isParent&&o.open&&i.makeUlHtml(b,o,e,t.join("")),i.makeDOMNodeMainAfter(e,b,o),h.addCreatedNode(b,o))}return e},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 f=k(a,e.id.UL,b);f.get(0)&&f.remove();f=i.appendNodes(b,a.level+1,a[b.data.key.children],a,!1,!0);i.makeUlHtml(b,a,c,f.join(""));d.append(c.join(""))},asyncNode:function(b,a,c,d){var f,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,e.id.ICON,b).attr({style:"","class":e.className.BUTTON+" "+e.className.ICO_LOADING});var l={};for(f=0,g=b.async.autoParam.length;a&&
+f<g;f++){var q=b.async.autoParam[f].split("="),n=q;q.length>1&&(n=q[1],q=q[0]);l[n]=a[q]}if(j.isArray(b.async.otherParam))for(f=0,g=b.async.otherParam.length;f<g;f+=2)l[b.async.otherParam[f]]=b.async.otherParam[f+1];else for(var m in b.async.otherParam)l[m]=b.async.otherParam[m];var o=h.getRoot(b)._ver;p.ajax({contentType:b.async.contentType,type:b.async.type,url:j.apply(b.async.url,[b.treeId,a],b.async.url),data:l,dataType:b.async.dataType,success:function(f){if(o==h.getRoot(b)._ver){var g=[];try{g=
+!f||f.length==0?[]:typeof f=="string"?eval("("+f+")"):f}catch(l){g=f}if(a)a.isAjaxing=null,a.zAsync=!0;i.setNodeLineIcos(b,a);g&&g!==""?(g=j.apply(b.async.dataFilter,[b.treeId,a,g],g),i.addNodes(b,a,g?j.clone(g):[],!!c)):i.addNodes(b,a,[],!!c);b.treeObj.trigger(e.event.ASYNC_SUCCESS,[b.treeId,a,f]);j.apply(d)}},error:function(c,d,f){if(o==h.getRoot(b)._ver){if(a)a.isAjaxing=null;i.setNodeLineIcos(b,a);b.treeObj.trigger(e.event.ASYNC_ERROR,[b.treeId,a,c,d,f])}}});return!0},cancelPreSelectedNode:function(b,
+a){for(var c=h.getRoot(b).curSelectedList,d=c.length-1;d>=0;d--)if(!a||a===c[d])if(k(c[d],e.id.A,b).removeClass(e.node.CURSELECTED),a){h.removeSelectedNode(b,a);break}if(!a)h.getRoot(b).curSelectedList=[]},createNodeCallback:function(b){if(b.callback.onNodeCreated||b.view.addDiyDom)for(var a=h.getRoot(b);a.createdNodes.length>0;){var c=a.createdNodes.shift();j.apply(b.view.addDiyDom,[b.treeId,c]);b.callback.onNodeCreated&&b.treeObj.trigger(e.event.NODECREATED,[b.treeId,c])}},createNodes:function(b,
+a,c,d){if(c&&c.length!=0){var f=h.getRoot(b),g=b.data.key.children,g=!d||d.open||!!k(d[g][0],b).get(0);f.createdNodes=[];a=i.appendNodes(b,a,c,d,!0,g);d?(d=k(d,e.id.UL,b),d.get(0)&&d.append(a.join(""))):b.treeObj.append(a.join(""));i.createNodeCallback(b)}},destroy:function(b){b&&(h.initCache(b),h.initRoot(b),m.unbindTree(b),m.unbindEvent(b),b.treeObj.empty(),delete r[b.treeId])},expandCollapseNode:function(b,a,c,d,f){var g=h.getRoot(b),l=b.data.key.children;if(a){if(g.expandTriggerFlag){var q=f,
+f=function(){q&&q();a.open?b.treeObj.trigger(e.event.EXPAND,[b.treeId,a]):b.treeObj.trigger(e.event.COLLAPSE,[b.treeId,a])};g.expandTriggerFlag=!1}if(!a.open&&a.isParent&&(!k(a,e.id.UL,b).get(0)||a[l]&&a[l].length>0&&!k(a[l][0],b).get(0)))i.appendParentULDom(b,a),i.createNodeCallback(b);if(a.open==c)j.apply(f,[]);else{var c=k(a,e.id.UL,b),g=k(a,e.id.SWITCH,b),n=k(a,e.id.ICON,b);a.isParent?(a.open=!a.open,a.iconOpen&&a.iconClose&&n.attr("style",i.makeNodeIcoStyle(b,a)),a.open?(i.replaceSwitchClass(a,
+g,e.folder.OPEN),i.replaceIcoClass(a,n,e.folder.OPEN),d==!1||b.view.expandSpeed==""?(c.show(),j.apply(f,[])):a[l]&&a[l].length>0?c.slideDown(b.view.expandSpeed,f):(c.show(),j.apply(f,[]))):(i.replaceSwitchClass(a,g,e.folder.CLOSE),i.replaceIcoClass(a,n,e.folder.CLOSE),d==!1||b.view.expandSpeed==""||!(a[l]&&a[l].length>0)?(c.hide(),j.apply(f,[])):c.slideUp(b.view.expandSpeed,f))):j.apply(f,[])}}else j.apply(f,[])},expandCollapseParentNode:function(b,a,c,d,f){a&&(a.parentTId?(i.expandCollapseNode(b,
+a,c,d),a.parentTId&&i.expandCollapseParentNode(b,a.getParentNode(),c,d,f)):i.expandCollapseNode(b,a,c,d,f))},expandCollapseSonNode:function(b,a,c,d,f){var g=h.getRoot(b),e=b.data.key.children,g=a?a[e]:g[e],e=a?!1:d,j=h.getRoot(b).expandTriggerFlag;h.getRoot(b).expandTriggerFlag=!1;if(g)for(var k=0,m=g.length;k<m;k++)g[k]&&i.expandCollapseSonNode(b,g[k],c,e);h.getRoot(b).expandTriggerFlag=j;i.expandCollapseNode(b,a,c,d,f)},makeDOMNodeIcon:function(b,a,c){var d=h.getNodeName(a,c),d=a.view.nameIsHTML?
+d:d.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");b.push("<span id='",c.tId,e.id.ICON,"' title='' treeNode",e.id.ICON," class='",i.makeNodeIcoClass(a,c),"' style='",i.makeNodeIcoStyle(a,c),"'></span><span id='",c.tId,e.id.SPAN,"'>",d,"</span>")},makeDOMNodeLine:function(b,a,c){b.push("<span id='",c.tId,e.id.SWITCH,"' title='' class='",i.makeNodeLineClass(a,c),"' treeNode",e.id.SWITCH,"></span>")},makeDOMNodeMainAfter:function(b){b.push("</li>")},makeDOMNodeMainBefore:function(b,
+a,c){b.push("<li id='",c.tId,"' class='",e.className.LEVEL,c.level,"' tabindex='0' hidefocus='true' treenode>")},makeDOMNodeNameAfter:function(b){b.push("</a>")},makeDOMNodeNameBefore:function(b,a,c){var d=h.getNodeTitle(a,c),f=i.makeNodeUrl(a,c),g=i.makeNodeFontCss(a,c),l=[],k;for(k in g)l.push(k,":",g[k],";");b.push("<a id='",c.tId,e.id.A,"' class='",e.className.LEVEL,c.level,"' treeNode",e.id.A,' onclick="',c.click||"",'" ',f!=null&&f.length>0?"href='"+f+"'":""," target='",i.makeNodeTarget(c),
+"' style='",l.join(""),"'");j.apply(a.view.showTitle,[a.treeId,c],a.view.showTitle)&&d&&b.push("title='",d.replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">"),"'");b.push(">")},makeNodeFontCss:function(b,a){var c=j.apply(b.view.fontCss,[b.treeId,a],b.view.fontCss);return c&&typeof c!="function"?c:{}},makeNodeIcoClass:function(b,a){var c=["ico"];a.isAjaxing||(c[0]=(a.iconSkin?a.iconSkin+"_":"")+c[0],a.isParent?c.push(a.open?e.folder.OPEN:e.folder.CLOSE):c.push(e.folder.DOCU));return e.className.BUTTON+
+" "+c.join("_")},makeNodeIcoStyle:function(b,a){var c=[];if(!a.isAjaxing){var d=a.isParent&&a.iconOpen&&a.iconClose?a.open?a.iconOpen:a.iconClose:a.icon;d&&c.push("background:url(",d,") 0 0 no-repeat;");(b.view.showIcon==!1||!j.apply(b.view.showIcon,[b.treeId,a],!0))&&c.push("width:0px;height:0px;")}return c.join("")},makeNodeLineClass:function(b,a){var c=[];b.view.showLine?a.level==0&&a.isFirstNode&&a.isLastNode?c.push(e.line.ROOT):a.level==0&&a.isFirstNode?c.push(e.line.ROOTS):a.isLastNode?c.push(e.line.BOTTOM):
+c.push(e.line.CENTER):c.push(e.line.NOLINE);a.isParent?c.push(a.open?e.folder.OPEN:e.folder.CLOSE):c.push(e.folder.DOCU);return i.makeNodeLineClassEx(a)+c.join("_")},makeNodeLineClassEx:function(b){return e.className.BUTTON+" "+e.className.LEVEL+b.level+" "+e.className.SWITCH+" "},makeNodeTarget:function(b){return b.target||"_blank"},makeNodeUrl:function(b,a){var c=b.data.key.url;return a[c]?a[c]:null},makeUlHtml:function(b,a,c,d){c.push("<ul id='",a.tId,e.id.UL,"' class='",e.className.LEVEL,a.level,
+" ",i.makeUlLineClass(b,a),"' style='display:",a.open?"block":"none","'>");c.push(d);c.push("</ul>")},makeUlLineClass:function(b,a){return b.view.showLine&&!a.isLastNode?e.line.LINE:""},removeChildNodes:function(b,a){if(a){var c=b.data.key.children,d=a[c];if(d){for(var f=0,g=d.length;f<g;f++)h.removeNodeCache(b,d[f]);h.removeSelectedNode(b);delete a[c];b.data.keep.parent?k(a,e.id.UL,b).empty():(a.isParent=!1,a.open=!1,c=k(a,e.id.SWITCH,b),d=k(a,e.id.ICON,b),i.replaceSwitchClass(a,c,e.folder.DOCU),
+i.replaceIcoClass(a,d,e.folder.DOCU),k(a,e.id.UL,b).remove())}}},setFirstNode:function(b,a){var c=b.data.key.children;if(a[c].length>0)a[c][0].isFirstNode=!0},setLastNode:function(b,a){var c=b.data.key.children,d=a[c].length;if(d>0)a[c][d-1].isLastNode=!0},removeNode:function(b,a){var c=h.getRoot(b),d=b.data.key.children,f=a.parentTId?a.getParentNode():c;a.isFirstNode=!1;a.isLastNode=!1;a.getPreNode=function(){return null};a.getNextNode=function(){return null};if(h.getNodeCache(b,a.tId)){k(a,b).remove();
+h.removeNodeCache(b,a);h.removeSelectedNode(b,a);for(var g=0,l=f[d].length;g<l;g++)if(f[d][g].tId==a.tId){f[d].splice(g,1);break}i.setFirstNode(b,f);i.setLastNode(b,f);var j,g=f[d].length;if(!b.data.keep.parent&&g==0)f.isParent=!1,f.open=!1,g=k(f,e.id.UL,b),l=k(f,e.id.SWITCH,b),j=k(f,e.id.ICON,b),i.replaceSwitchClass(f,l,e.folder.DOCU),i.replaceIcoClass(f,j,e.folder.DOCU),g.css("display","none");else if(b.view.showLine&&g>0){var n=f[d][g-1],g=k(n,e.id.UL,b),l=k(n,e.id.SWITCH,b);j=k(n,e.id.ICON,b);
+f==c?f[d].length==1?i.replaceSwitchClass(n,l,e.line.ROOT):(c=k(f[d][0],e.id.SWITCH,b),i.replaceSwitchClass(f[d][0],c,e.line.ROOTS),i.replaceSwitchClass(n,l,e.line.BOTTOM)):i.replaceSwitchClass(n,l,e.line.BOTTOM);g.removeClass(e.line.LINE)}}},replaceIcoClass:function(b,a,c){if(a&&!b.isAjaxing&&(b=a.attr("class"),b!=void 0)){b=b.split("_");switch(c){case e.folder.OPEN:case e.folder.CLOSE:case e.folder.DOCU:b[b.length-1]=c}a.attr("class",b.join("_"))}},replaceSwitchClass:function(b,a,c){if(a){var d=
+a.attr("class");if(d!=void 0){d=d.split("_");switch(c){case e.line.ROOT:case e.line.ROOTS:case e.line.CENTER:case e.line.BOTTOM:case e.line.NOLINE:d[0]=i.makeNodeLineClassEx(b)+c;break;case e.folder.OPEN:case e.folder.CLOSE:case e.folder.DOCU:d[1]=c}a.attr("class",d.join("_"));c!==e.folder.DOCU?a.removeAttr("disabled"):a.attr("disabled","disabled")}}},selectNode:function(b,a,c){c||i.cancelPreSelectedNode(b);k(a,e.id.A,b).addClass(e.node.CURSELECTED);h.addSelectedNode(b,a)},setNodeFontCss:function(b,
+a){var c=k(a,e.id.A,b),d=i.makeNodeFontCss(b,a);d&&c.css(d)},setNodeLineIcos:function(b,a){if(a){var c=k(a,e.id.SWITCH,b),d=k(a,e.id.UL,b),f=k(a,e.id.ICON,b),g=i.makeUlLineClass(b,a);g.length==0?d.removeClass(e.line.LINE):d.addClass(g);c.attr("class",i.makeNodeLineClass(b,a));a.isParent?c.removeAttr("disabled"):c.attr("disabled","disabled");f.removeAttr("style");f.attr("style",i.makeNodeIcoStyle(b,a));f.attr("class",i.makeNodeIcoClass(b,a))}},setNodeName:function(b,a){var c=h.getNodeTitle(b,a),d=
+k(a,e.id.SPAN,b);d.empty();b.view.nameIsHTML?d.html(h.getNodeName(b,a)):d.text(h.getNodeName(b,a));j.apply(b.view.showTitle,[b.treeId,a],b.view.showTitle)&&k(a,e.id.A,b).attr("title",!c?"":c)},setNodeTarget:function(b,a){k(a,e.id.A,b).attr("target",i.makeNodeTarget(a))},setNodeUrl:function(b,a){var c=k(a,e.id.A,b),d=i.makeNodeUrl(b,a);d==null||d.length==0?c.removeAttr("href"):c.attr("href",d)},switchNode:function(b,a){a.open||!j.canAsync(b,a)?i.expandCollapseNode(b,a,!a.open):b.async.enable?i.asyncNode(b,
+a)||i.expandCollapseNode(b,a,!a.open):a&&i.expandCollapseNode(b,a,!a.open)}};p.fn.zTree={consts:{className:{BUTTON:"button",LEVEL:"level",ICO_LOADING:"ico_loading",SWITCH:"switch"},event:{NODECREATED:"ztree_nodeCreated",CLICK:"ztree_click",EXPAND:"ztree_expand",COLLAPSE:"ztree_collapse",ASYNC_SUCCESS:"ztree_async_success",ASYNC_ERROR:"ztree_async_error",REMOVE:"ztree_remove"},id:{A:"_a",ICON:"_ico",SPAN:"_span",SWITCH:"_switch",UL:"_ul"},line:{ROOT:"root",ROOTS:"roots",CENTER:"center",BOTTOM:"bottom",
+NOLINE:"noline",LINE:"line"},folder:{OPEN:"open",CLOSE:"close",DOCU:"docu"},node:{CURSELECTED:"curSelectedNode"}},_z:{tools:j,view:i,event:m,data:h},getZTreeObj:function(b){return(b=h.getZTreeTools(b))?b:null},destroy:function(b){if(b&&b.length>0)i.destroy(h.getSetting(b));else for(var a in r)i.destroy(r[a])},init:function(b,a,c){var d=j.clone(M);p.extend(!0,d,a);d.treeId=b.attr("id");d.treeObj=b;d.treeObj.empty();r[d.treeId]=d;if(typeof document.body.style.maxHeight==="undefined")d.view.expandSpeed=
+"";h.initRoot(d);b=h.getRoot(d);a=d.data.key.children;c=c?j.clone(j.isArray(c)?c:[c]):[];b[a]=d.data.simpleData.enable?h.transformTozTreeFormat(d,c):c;h.initCache(d);m.unbindTree(d);m.bindTree(d);m.unbindEvent(d);m.bindEvent(d);c={setting:d,addNodes:function(a,b,c){function e(){i.addNodes(d,a,h,c==!0)}if(!b)return null;a||(a=null);if(a&&!a.isParent&&d.data.keep.leaf)return null;var h=j.clone(j.isArray(b)?b:[b]);j.canAsync(d,a)?i.asyncNode(d,a,c,e):e();return h},cancelSelectedNode:function(a){i.cancelPreSelectedNode(d,
+a)},destroy:function(){i.destroy(d)},expandAll:function(a){a=!!a;i.expandCollapseSonNode(d,null,a,!0);return a},expandNode:function(a,b,c,e,n){if(!a||!a.isParent)return null;b!==!0&&b!==!1&&(b=!a.open);if((n=!!n)&&b&&j.apply(d.callback.beforeExpand,[d.treeId,a],!0)==!1)return null;else if(n&&!b&&j.apply(d.callback.beforeCollapse,[d.treeId,a],!0)==!1)return null;b&&a.parentTId&&i.expandCollapseParentNode(d,a.getParentNode(),b,!1);if(b===a.open&&!c)return null;h.getRoot(d).expandTriggerFlag=n;if(!j.canAsync(d,
+a)&&c)i.expandCollapseSonNode(d,a,b,!0,function(){if(e!==!1)try{k(a,d).focus().blur()}catch(b){}});else if(a.open=!b,i.switchNode(this.setting,a),e!==!1)try{k(a,d).focus().blur()}catch(m){}return b},getNodes:function(){return h.getNodes(d)},getNodeByParam:function(a,b,c){return!a?null:h.getNodeByParam(d,c?c[d.data.key.children]:h.getNodes(d),a,b)},getNodeByTId:function(a){return h.getNodeCache(d,a)},getNodesByParam:function(a,b,c){return!a?null:h.getNodesByParam(d,c?c[d.data.key.children]:h.getNodes(d),
+a,b)},getNodesByParamFuzzy:function(a,b,c){return!a?null:h.getNodesByParamFuzzy(d,c?c[d.data.key.children]:h.getNodes(d),a,b)},getNodesByFilter:function(a,b,c,e){b=!!b;return!a||typeof a!="function"?b?null:[]:h.getNodesByFilter(d,c?c[d.data.key.children]:h.getNodes(d),a,b,e)},getNodeIndex:function(a){if(!a)return null;for(var b=d.data.key.children,c=a.parentTId?a.getParentNode():h.getRoot(d),e=0,i=c[b].length;e<i;e++)if(c[b][e]==a)return e;return-1},getSelectedNodes:function(){for(var a=[],b=h.getRoot(d).curSelectedList,
+c=0,e=b.length;c<e;c++)a.push(b[c]);return a},isSelectedNode:function(a){return h.isSelectedNode(d,a)},reAsyncChildNodes:function(a,b,c){if(this.setting.async.enable){var j=!a;j&&(a=h.getRoot(d));if(b=="refresh"){for(var b=this.setting.data.key.children,m=0,p=a[b]?a[b].length:0;m<p;m++)h.removeNodeCache(d,a[b][m]);h.removeSelectedNode(d);a[b]=[];j?this.setting.treeObj.empty():k(a,e.id.UL,d).empty()}i.asyncNode(this.setting,j?null:a,!!c)}},refresh:function(){this.setting.treeObj.empty();var a=h.getRoot(d),
+b=a[d.data.key.children];h.initRoot(d);a[d.data.key.children]=b;h.initCache(d);i.createNodes(d,0,a[d.data.key.children])},removeChildNodes:function(a){if(!a)return null;var b=a[d.data.key.children];i.removeChildNodes(d,a);return b?b:null},removeNode:function(a,b){a&&(b=!!b,b&&j.apply(d.callback.beforeRemove,[d.treeId,a],!0)==!1||(i.removeNode(d,a),b&&this.setting.treeObj.trigger(e.event.REMOVE,[d.treeId,a])))},selectNode:function(a,b){if(a&&j.uCanDo(d)){b=d.view.selectedMulti&&b;if(a.parentTId)i.expandCollapseParentNode(d,
+a.getParentNode(),!0,!1,function(){try{k(a,d).focus().blur()}catch(b){}});else try{k(a,d).focus().blur()}catch(c){}i.selectNode(d,a,b)}},transformTozTreeNodes:function(a){return h.transformTozTreeFormat(d,a)},transformToArray:function(a){return h.transformToArrayFormat(d,a)},updateNode:function(a){a&&k(a,d).get(0)&&j.uCanDo(d)&&(i.setNodeName(d,a),i.setNodeTarget(d,a),i.setNodeUrl(d,a),i.setNodeLineIcos(d,a),i.setNodeFontCss(d,a))}};b.treeTools=c;h.setZTreeTools(d,c);b[a]&&b[a].length>0?i.createNodes(d,
+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
+ * http://zTree.me/
+ *
+ * Copyright (c) 2010 Hunter.z
+ *
+ * Licensed same as jquery - MIT License
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ * email: hunter.z@263.net
+ * Date: 2014-03-09
+ */
+(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=f.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=f.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===
+!0)return!1;var b=f.getSetting(c.data.treeId),d=n(a,j.id.CHECK,b);a.check_Focus=!1;e.setChkClass(b,d,a);return!0};m.extend(!0,m.fn.zTree.consts,o);m.extend(!0,m.fn.zTree._z,{tools:{},view:{checkNodeRelation:function(c,a){var b,d,h,i=c.data.key.children,l=c.data.key.checked;b=j.radio;if(c.check.chkStyle==b.STYLE){var g=f.getRadioCheckedList(c);if(a[l])if(c.check.radioType==b.TYPE_ALL){for(d=g.length-1;d>=0;d--)b=g[d],b[l]&&b!=a&&(b[l]=!1,g.splice(d,1),e.setChkClass(c,n(b,j.id.CHECK,c),b),b.parentTId!=
+a.parentTId&&e.repairParentChkClassWithSelf(c,b));g.push(a)}else{g=a.parentTId?a.getParentNode():f.getRoot(c);for(d=0,h=g[i].length;d<h;d++)b=g[i][d],b[l]&&b!=a&&(b[l]=!1,e.setChkClass(c,n(b,j.id.CHECK,c),b))}else if(c.check.radioType==b.TYPE_ALL)for(d=0,h=g.length;d<h;d++)if(a==g[d]){g.splice(d,1);break}}else a[l]&&(!a[i]||a[i].length==0||c.check.chkboxType.Y.indexOf("s")>-1)&&e.setSonNodeCheckBox(c,a,!0),!a[l]&&(!a[i]||a[i].length==0||c.check.chkboxType.N.indexOf("s")>-1)&&e.setSonNodeCheckBox(c,
+a,!1),a[l]&&c.check.chkboxType.Y.indexOf("p")>-1&&e.setParentNodeCheckBox(c,a,!0),!a[l]&&c.check.chkboxType.N.indexOf("p")>-1&&e.setParentNodeCheckBox(c,a,!1)},makeChkClass:function(c,a){var b=c.data.key.checked,d=j.checkbox,h=j.radio,i="",i=a.chkDisabled===!0?d.DISABLED:a.halfCheck?d.PART:c.check.chkStyle==h.STYLE?a.check_Child_State<1?d.FULL:d.PART:a[b]?a.check_Child_State===2||a.check_Child_State===-1?d.FULL:d.PART:a.check_Child_State<1?d.FULL:d.PART,b=c.check.chkStyle+"_"+(a[b]?d.TRUE:d.FALSE)+
+"_"+i,b=a.check_Focus&&a.chkDisabled!==!0?b+"_"+d.FOCUS:b;return j.className.BUTTON+" "+d.DEFAULT+" "+b},repairAllChk:function(c,a){if(c.check.enable&&c.check.chkStyle===j.checkbox.STYLE)for(var b=c.data.key.checked,d=c.data.key.children,h=f.getRoot(c),i=0,l=h[d].length;i<l;i++){var g=h[d][i];g.nocheck!==!0&&g.chkDisabled!==!0&&(g[b]=a);e.setSonNodeCheckBox(c,g,a)}},repairChkClass:function(c,a){if(a&&(f.makeChkFlag(c,a),a.nocheck!==!0)){var b=n(a,j.id.CHECK,c);e.setChkClass(c,b,a)}},repairParentChkClass:function(c,
+a){if(a&&a.parentTId){var b=a.getParentNode();e.repairChkClass(c,b);e.repairParentChkClass(c,b)}},repairParentChkClassWithSelf:function(c,a){if(a){var b=c.data.key.children;a[b]&&a[b].length>0?e.repairParentChkClass(c,a[b][0]):e.repairParentChkClass(c,a)}},repairSonChkDisabled:function(c,a,b,d){if(a){var h=c.data.key.children;if(a.chkDisabled!=b)a.chkDisabled=b;e.repairChkClass(c,a);if(a[h]&&d)for(var i=0,l=a[h].length;i<l;i++)e.repairSonChkDisabled(c,a[h][i],b,d)}},repairParentChkDisabled:function(c,
+a,b,d){if(a){if(a.chkDisabled!=b&&d)a.chkDisabled=b;e.repairChkClass(c,a);e.repairParentChkDisabled(c,a.getParentNode(),b,d)}},setChkClass:function(c,a,b){a&&(b.nocheck===!0?a.hide():a.show(),a.removeClass(),a.addClass(e.makeChkClass(c,b)))},setParentNodeCheckBox:function(c,a,b,d){var h=c.data.key.children,i=c.data.key.checked,l=n(a,j.id.CHECK,c);d||(d=a);f.makeChkFlag(c,a);a.nocheck!==!0&&a.chkDisabled!==!0&&(a[i]=b,e.setChkClass(c,l,a),c.check.autoCheckTrigger&&a!=d&&c.treeObj.trigger(j.event.CHECK,
+[null,c.treeId,a]));if(a.parentTId){l=!0;if(!b)for(var h=a.getParentNode()[h],g=0,k=h.length;g<k;g++)if(h[g].nocheck!==!0&&h[g].chkDisabled!==!0&&h[g][i]||(h[g].nocheck===!0||h[g].chkDisabled===!0)&&h[g].check_Child_State>0){l=!1;break}l&&e.setParentNodeCheckBox(c,a.getParentNode(),b,d)}},setSonNodeCheckBox:function(c,a,b,d){if(a){var h=c.data.key.children,i=c.data.key.checked,l=n(a,j.id.CHECK,c);d||(d=a);var g=!1;if(a[h])for(var k=0,m=a[h].length;k<m&&a.chkDisabled!==!0;k++){var o=a[h][k];e.setSonNodeCheckBox(c,
+o,b,d);o.chkDisabled===!0&&(g=!0)}if(a!=f.getRoot(c)&&a.chkDisabled!==!0){g&&a.nocheck!==!0&&f.makeChkFlag(c,a);if(a.nocheck!==!0&&a.chkDisabled!==!0){if(a[i]=b,!g)a.check_Child_State=a[h]&&a[h].length>0?b?2:0:-1}else a.check_Child_State=-1;e.setChkClass(c,l,a);c.check.autoCheckTrigger&&a!=d&&a.nocheck!==!0&&a.chkDisabled!==!0&&c.treeObj.trigger(j.event.CHECK,[null,c.treeId,a])}}}},event:{},data:{getRadioCheckedList:function(c){for(var a=f.getRoot(c).radioCheckedList,b=0,d=a.length;b<d;b++)f.getNodeCache(c,
+a[b].tId)||(a.splice(b,1),b--,d--);return a},getCheckStatus:function(c,a){if(!c.check.enable||a.nocheck||a.chkDisabled)return null;var b=c.data.key.checked;return{checked:a[b],half:a.halfCheck?a.halfCheck:c.check.chkStyle==j.radio.STYLE?a.check_Child_State===2:a[b]?a.check_Child_State>-1&&a.check_Child_State<2:a.check_Child_State>0}},getTreeCheckedNodes:function(c,a,b,d){if(!a)return[];for(var h=c.data.key.children,i=c.data.key.checked,e=b&&c.check.chkStyle==j.radio.STYLE&&c.check.radioType==j.radio.TYPE_ALL,
+d=!d?[]:d,g=0,k=a.length;g<k;g++){if(a[g].nocheck!==!0&&a[g].chkDisabled!==!0&&a[g][i]==b&&(d.push(a[g]),e))break;f.getTreeCheckedNodes(c,a[g][h],b,d);if(e&&d.length>0)break}return d},getTreeChangeCheckedNodes:function(c,a,b){if(!a)return[];for(var d=c.data.key.children,h=c.data.key.checked,b=!b?[]:b,i=0,e=a.length;i<e;i++)a[i].nocheck!==!0&&a[i].chkDisabled!==!0&&a[i][h]!=a[i].checkedOld&&b.push(a[i]),f.getTreeChangeCheckedNodes(c,a[i][d],b);return b},makeChkFlag:function(c,a){if(a){var b=c.data.key.children,
+d=c.data.key.checked,h=-1;if(a[b])for(var i=0,e=a[b].length;i<e;i++){var g=a[b][i],f=-1;if(c.check.chkStyle==j.radio.STYLE)if(f=g.nocheck===!0||g.chkDisabled===!0?g.check_Child_State:g.halfCheck===!0?2:g[d]?2:g.check_Child_State>0?2:0,f==2){h=2;break}else f==0&&(h=0);else if(c.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(c){c.treeObj.bind(j.event.CHECK,function(a,b,d,h){a.srcEvent=b;k.apply(c.callback.onCheck,[a,d,h])})});f.addInitUnBind(function(c){c.treeObj.unbind(j.event.CHECK)});f.addInitCache(function(){});f.addInitNode(function(c,a,b,d){if(b){a=c.data.key.checked;typeof b[a]=="string"&&(b[a]=
+k.eqs(b[a],"true"));b[a]=!!b[a];b.checkedOld=b[a];if(typeof b.nocheck=="string")b.nocheck=k.eqs(b.nocheck,"true");b.nocheck=!!b.nocheck||c.check.nocheckInherit&&d&&!!d.nocheck;if(typeof b.chkDisabled=="string")b.chkDisabled=k.eqs(b.chkDisabled,"true");b.chkDisabled=!!b.chkDisabled||c.check.chkDisabledInherit&&d&&!!d.chkDisabled;if(typeof b.halfCheck=="string")b.halfCheck=k.eqs(b.halfCheck,"true");b.halfCheck=!!b.halfCheck;b.check_Child_State=-1;b.check_Focus=!1;b.getCheckStatus=function(){return f.getCheckStatus(c,
+b)};c.check.chkStyle==j.radio.STYLE&&c.check.radioType==j.radio.TYPE_ALL&&b[a]&&f.getRoot(c).radioCheckedList.push(b)}});f.addInitProxy(function(c){var a=c.target,b=f.getSetting(c.data.treeId),d="",h=null,e="",l=null;if(k.eqs(c.type,"mouseover")){if(b.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(c.type,"mouseout")){if(b.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(c.type,"click")&&b.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(b,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(c){f.getRoot(c).radioCheckedList=[]});
+f.addBeforeA(function(c,a,b){c.check.enable&&(f.makeChkFlag(c,a),b.push("<span ID='",a.tId,j.id.CHECK,"' class='",e.makeChkClass(c,a),"' treeNode",j.id.CHECK,a.nocheck===!0?" style='display:none;'":"","></span>"))});f.addZTreeTools(function(c,a){a.checkNode=function(a,b,c,f){var g=this.setting.data.key.checked;if(a.chkDisabled!==!0&&(b!==!0&&b!==!1&&(b=!a[g]),f=!!f,(a[g]!==b||c)&&!(f&&k.apply(this.setting.callback.beforeCheck,[this.setting.treeId,a],!0)==!1)&&k.uCanDo(this.setting)&&this.setting.check.enable&&
+a.nocheck!==!0))a[g]=b,b=n(a,j.id.CHECK,this.setting),(c||this.setting.check.chkStyle===j.radio.STYLE)&&e.checkNodeRelation(this.setting,a),e.setChkClass(this.setting,b,a),e.repairParentChkClassWithSelf(this.setting,a),f&&this.setting.treeObj.trigger(j.event.CHECK,[null,this.setting.treeId,a])};a.checkAllNodes=function(a){e.repairAllChk(this.setting,!!a)};a.getCheckedNodes=function(a){var b=this.setting.data.key.children;return f.getTreeCheckedNodes(this.setting,f.getRoot(this.setting)[b],a!==!1)};
+a.getChangeCheckedNodes=function(){var a=this.setting.data.key.children;return f.getTreeChangeCheckedNodes(this.setting,f.getRoot(this.setting)[a])};a.setChkDisabled=function(a,b,c,f){b=!!b;c=!!c;e.repairSonChkDisabled(this.setting,a,b,!!f);e.repairParentChkDisabled(this.setting,a.getParentNode(),b,c)};var b=a.updateNode;a.updateNode=function(c,f){b&&b.apply(a,arguments);if(c&&this.setting.check.enable&&n(c,this.setting).get(0)&&k.uCanDo(this.setting)){var i=n(c,j.id.CHECK,this.setting);(f==!0||this.setting.check.chkStyle===
+j.radio.STYLE)&&e.checkNodeRelation(this.setting,c);e.setChkClass(this.setting,i,c);e.repairParentChkClassWithSelf(this.setting,c)}}});var s=e.createNodes;e.createNodes=function(c,a,b,d){s&&s.apply(e,arguments);b&&e.repairParentChkClassWithSelf(c,d)};var t=e.removeNode;e.removeNode=function(c,a){var b=a.getParentNode();t&&t.apply(e,arguments);a&&b&&(e.repairChkClass(c,b),e.repairParentChkClass(c,b))};var u=e.appendNodes;e.appendNodes=function(c,a,b,d,h,i){var j="";u&&(j=u.apply(e,arguments));d&&f.makeChkFlag(c,
+d);return j}})(jQuery);
+
+/*
+ * JQuery zTree exedit v3.5.16
+ * http://zTree.me/
+ *
+ * Copyright (c) 2010 Hunter.z
+ *
+ * Licensed same as jquery - MIT License
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ * email: hunter.z@263.net
+ * Date: 2014-03-09
+ */
+(function(w){var I={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(C.dragFlag==0&&Math.abs(N-b.clientX)<e.edit.drag.minMoveSize&&Math.abs(O-b.clientY)<e.edit.drag.minMoveSize)return!0;var a,c,n,k,i;i=e.data.key.children;M.css("cursor","pointer");if(C.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)C.dragNodeShowBefore=
+[];n=l[a];n.isParent&&n.open?(f.expandCollapseNode(e,n,!n.open),C.dragNodeShowBefore[n.tId]=!0):C.dragNodeShowBefore[n.tId]=!1}C.dragFlag=1;t.showHoverDom=!1;g.showIfameMask(e,!0);n=!0;k=-1;if(l.length>1){var j=l[0].parentTId?l[0].getParentNode()[i]:m.getNodes(e);i=[];for(a=0,c=j.length;a<c;a++)if(C.dragNodeShowBefore[j[a].tId]!==void 0&&(n&&k>-1&&k+1!==a&&(n=!1),i.push(j[a]),k=a),l.length===i.length){l=i;break}}n&&(H=l[0].getPreNode(),R=l[l.length-1].getNextNode());D=o("<ul class='zTreeDragUL'></ul>",
+e);for(a=0,c=l.length;a<c;a++)n=l[a],n.editNameFlag=!1,f.selectNode(e,n,a>0),f.removeTreeDom(e,n),a>e.edit.drag.maxShowNodeNum-1||(k=o("<li id='"+n.tId+"_tmp'></li>",e),k.append(o(n,d.id.A,e).clone()),k.css("padding","0"),k.children("#"+n.tId+d.id.A).removeClass(d.node.CURSELECTED),D.append(k),a==e.edit.drag.maxShowNodeNum-1&&(k=o("<li id='"+n.tId+"_moretmp'><a> ... </a></li>",e),D.append(k)));D.attr("id",l[0].tId+d.id.UL+"_tmp");D.addClass(e.treeObj.attr("class"));D.appendTo(M);B=o("<span class='tmpzTreeMove_arrow'></span>",
+e);B.attr("id","zTreeMove_arrow_tmp");B.appendTo(M);e.treeObj.trigger(d.event.DRAG,[b,e.treeId,l])}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?(n=w("#"+u+d.id.A,s),b.target=n.length>0?n.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=e;n=m.getSettings();for(var y in n)if(n[y].treeId&&n[y].edit.enable&&n[y].treeId!=e.treeId&&(b.target.id==n[y].treeId||w(b.target).parents("#"+n[y].treeId).length>0))J=!0,h=n[y];y=F.scrollTop();k=F.scrollLeft();i=h.treeObj.offset();a=h.treeObj.get(0).scrollHeight;n=h.treeObj.get(0).scrollWidth;c=b.clientY+y-i.top;var p=h.treeObj.height()+i.top-b.clientY-y,q=b.clientX+k-i.left,x=h.treeObj.width()+i.left-b.clientX-k;i=c<e.edit.drag.borderMax&&c>e.edit.drag.borderMin;var j=p<e.edit.drag.borderMax&&
+p>e.edit.drag.borderMin,K=q<e.edit.drag.borderMax&&q>e.edit.drag.borderMin,G=x<e.edit.drag.borderMax&&x>e.edit.drag.borderMin,p=c>e.edit.drag.borderMin&&p>e.edit.drag.borderMin&&q>e.edit.drag.borderMin&&x>e.edit.drag.borderMin,q=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>=n;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=l.length;a<c;a++)if(n=l[a],E.id===n.tId){S=!1;break}else if(o(n,e).find("#"+E.id).length>0){S=!1;break}if(S&&b.target&&g.isChildOrSelf(b.target,E.id+d.id.A))s=w(E),u=E.id}n=l[0];if(p&&g.isChildOrSelf(b.target,h.treeId)){if(!s&&(b.target.id==h.treeId||q||x||P||Q)&&(J||!J&&n.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<h.treeObj.offset().left&&h.treeObj.scrollLeft(h.treeObj.scrollLeft()+s.offset().left-h.treeObj.offset().left)}D.css({top:b.clientY+y+3+"px",left:b.clientX+k+3+"px"});i=a=0;if(s&&s.attr("id")!=h.treeId){var z=u==null?null:m.getNodeCache(h,u);c=(b.ctrlKey||b.metaKey)&&e.edit.drag.isMove&&e.edit.drag.isCopy||!e.edit.drag.isMove&&e.edit.drag.isCopy;a=!!(H&&u===H.tId);i=!!(R&&u===R.tId);k=n.parentTId&&n.parentTId==u;n=(c||!i)&&g.apply(h.edit.drag.prev,[h.treeId,l,z],
+!!h.edit.drag.prev);a=(c||!a)&&g.apply(h.edit.drag.next,[h.treeId,l,z],!!h.edit.drag.next);G=(c||!k)&&!(h.data.keep.leaf&&!z.isParent)&&g.apply(h.edit.drag.inner,[h.treeId,l,z],!!h.edit.drag.inner);if(!n&&!a&&!G){if(s=null,u="",v=d.move.TYPE_INNER,B.css({display:"none"}),window.zTreeMoveTimer)clearTimeout(window.zTreeMoveTimer),window.zTreeMoveTargetNodeTId=null}else{c=w("#"+u+d.id.A,s);i=z.isLastNode?null:w("#"+z.getNextNode().tId+d.id.A,s.next());j=c.offset().top;k=c.offset().left;K=n?G?0.25:a?
+0.5:1:-1;G=a?G?0.75:n?0.5:0:-1;y=(b.clientY+y-j)/c.height();(K==1||y<=K&&y>=-0.2)&&n?(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)&&(f.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,l,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;e.treeObj.trigger(d.event.DRAGMOVE,[b,e.treeId,l])}return!1}function r(b){if(window.zTreeMoveTimer)clearTimeout(window.zTreeMoveTimer),window.zTreeMoveTargetNodeTId=null;U=T=null;F.unbind("mousemove",c);
+F.unbind("mouseup",r);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(e,!1);t.showHoverDom=!0;if(C.dragFlag!=0){C.dragFlag=0;var a,i,j;for(a=0,i=l.length;a<i;a++)j=l[a],j.isParent&&C.dragNodeShowBefore[j.tId]&&!j.open&&(f.expandCollapseNode(e,j,!j.open),
+delete C.dragNodeShowBefore[j.tId]);D&&D.remove();B&&B.remove();var p=(b.ctrlKey||b.metaKey)&&e.edit.drag.isMove&&e.edit.drag.isCopy||!e.edit.drag.isMove&&e.edit.drag.isCopy;!p&&s&&u&&l[0].parentTId&&u==l[0].parentTId&&v==d.move.TYPE_INNER&&(s=null);if(s){var q=u==null?null:m.getNodeCache(h,u);if(g.apply(e.callback.beforeDrop,[h.treeId,l,q,v,p],!0)==!1)f.selectNodes(x,l);else{var A=p?g.clone(l):l;a=function(){if(J){if(!p)for(var a=0,c=l.length;a<c;a++)f.removeNode(e,l[a]);if(v==d.move.TYPE_INNER)f.addNodes(h,
+q,A);else if(f.addNodes(h,q.getParentNode(),A),v==d.move.TYPE_PREV)for(a=0,c=A.length;a<c;a++)f.moveNode(h,q,A[a],v,!1);else for(a=-1,c=A.length-1;a<c;c--)f.moveNode(h,q,A[c],v,!1)}else if(p&&v==d.move.TYPE_INNER)f.addNodes(h,q,A);else if(p&&f.addNodes(h,q.getParentNode(),A),v!=d.move.TYPE_NEXT)for(a=0,c=A.length;a<c;a++)f.moveNode(h,q,A[a],v,!1);else for(a=-1,c=A.length-1;a<c;c--)f.moveNode(h,q,A[c],v,!1);f.selectNodes(h,A);o(A[0],e).focus().blur();e.treeObj.trigger(d.event.DROP,[b,h.treeId,A,q,
+v,p])};v==d.move.TYPE_INNER&&g.canAsync(h,q)?f.asyncNode(h,q,!1,a):a()}}else f.selectNodes(x,l),e.treeObj.trigger(d.event.DROP,[b,e.treeId,l,null,null,null])}}function k(){return!1}var i,j,e=m.getSetting(b.data.treeId),C=m.getRoot(e),t=m.getRoots();if(b.button==2||!e.edit.enable||!e.edit.drag.isCopy&&!e.edit.drag.isMove)return!0;var p=b.target,q=m.getRoot(e).curSelectedList,l=[];if(m.isSelectedNode(e,a))for(i=0,j=q.length;i<j;i++){if(q[i].editNameFlag&&g.eqs(p.tagName,"input")&&p.getAttribute("treeNode"+
+d.id.INPUT)!==null)return!0;l.push(q[i]);if(l[0].parentTId!==q[i].parentTId){l=[a];break}}else l=[a];f.editNodeBlur=!0;f.cancelCurEditNode(e);var F=w(e.treeObj.get(0).ownerDocument),M=w(e.treeObj.get(0).ownerDocument.body),D,B,s,J=!1,h=e,x=e,H,R,T=null,U=null,u=null,v=d.move.TYPE_INNER,N=b.clientX,O=b.clientY,L=(new Date).getTime();g.uCanDo(e)&&F.bind("mousemove",c);F.bind("mouseup",r);F.bind("selectstart",k);b.preventDefault&&b.preventDefault();return!0}};w.extend(!0,w.fn.zTree.consts,I);w.extend(!0,
+w.fn.zTree._z,{tools:{getAbs:function(b){b=b.getBoundingClientRect();return[b.left+(document.body.scrollLeft+document.documentElement.scrollLeft),b.top+(document.body.scrollTop+document.documentElement.scrollTop)]},inputFocus:function(b){b.get(0)&&(b.focus(),g.setCursorPosition(b.get(0),b.val().length))},inputSelect:function(b){b.get(0)&&(b.focus(),b.select())},setCursorPosition:function(b,a){if(b.setSelectionRange)b.focus(),b.setSelectionRange(a,a);else if(b.createTextRange){var c=b.createTextRange();
+c.collapse(!0);c.moveEnd("character",a);c.moveStart("character",a);c.select()}},showIfameMask:function(b,a){for(var c=m.getRoot(b);c.dragMaskList.length>0;)c.dragMaskList[0].remove(),c.dragMaskList.shift();if(a)for(var d=o("iframe",b),f=0,i=d.length;f<i;f++){var j=d.get(f),e=g.getAbs(j),j=o("<div id='zTreeMask_"+f+"' class='zTreeMask' style='top:"+e[1]+"px; left:"+e[0]+"px; width:"+j.offsetWidth+"px; height:"+j.offsetHeight+"px;'></div>",b);j.appendTo(o("body",b));c.dragMaskList.push(j)}}},view:{addEditBtn:function(b,
+a){if(!(a.editNameFlag||o(a,d.id.EDIT,b).length>0)&&g.apply(b.edit.showRenameBtn,[b.treeId,a],b.edit.showRenameBtn)){var c=o(a,d.id.A,b),r="<span class='"+d.className.BUTTON+" edit' id='"+a.tId+d.id.EDIT+"' title='"+g.apply(b.edit.renameTitle,[b.treeId,a],b.edit.renameTitle)+"' treeNode"+d.id.EDIT+" style='display:none;'></span>";c.append(r);o(a,d.id.EDIT,b).bind("click",function(){if(!g.uCanDo(b)||g.apply(b.callback.beforeEditName,[b.treeId,a],!0)==!1)return!1;f.editNode(b,a);return!1}).show()}},
+addRemoveBtn:function(b,a){if(!(a.editNameFlag||o(a,d.id.REMOVE,b).length>0)&&g.apply(b.edit.showRemoveBtn,[b.treeId,a],b.edit.showRemoveBtn)){var c=o(a,d.id.A,b),r="<span class='"+d.className.BUTTON+" remove' id='"+a.tId+d.id.REMOVE+"' title='"+g.apply(b.edit.removeTitle,[b.treeId,a],b.edit.removeTitle)+"' treeNode"+d.id.REMOVE+" style='display:none;'></span>";c.append(r);o(a,d.id.REMOVE,b).bind("click",function(){if(!g.uCanDo(b)||g.apply(b.callback.beforeRemove,[b.treeId,a],!0)==!1)return!1;f.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(m.getRoots().showHoverDom)a.isHover=!0,b.edit.enable&&(f.addEditBtn(b,a),f.addRemoveBtn(b,a)),g.apply(b.view.addHoverDom,[b.treeId,a])},cancelCurEditNode:function(b,a,c){var r=m.getRoot(b),k=b.data.key.name,i=r.curEditNode;if(i){var j=r.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]);o(i,d.id.A,b).removeClass(d.node.CURSELECTED_EDIT);j.unbind();f.setNodeName(b,i);i.editNameFlag=!1;r.curEditNode=null;r.curEditInput=null;f.selectNode(b,i,!1)}return r.noSelection=!0},editNode:function(b,a){var c=m.getRoot(b);f.editNodeBlur=!1;if(m.isSelectedNode(b,a)&&c.curEditNode==a&&a.editNameFlag)setTimeout(function(){g.inputFocus(c.curEditInput)},0);else{var r=b.data.key.name;a.editNameFlag=!0;f.removeTreeDom(b,a);f.cancelCurEditNode(b);f.selectNode(b,a,!1);o(a,d.id.SPAN,b).html("<input type=text class='rename' id='"+
+a.tId+d.id.INPUT+"' treeNode"+d.id.INPUT+" >");var k=o(a,d.id.INPUT,b);k.attr("value",a[r]);b.edit.editNameSelectAll?g.inputSelect(k):g.inputFocus(k);k.bind("blur",function(){f.editNodeBlur||f.cancelCurEditNode(b)}).bind("keydown",function(a){a.keyCode=="13"?(f.editNodeBlur=!0,f.cancelCurEditNode(b)):a.keyCode=="27"&&f.cancelCurEditNode(b,null,!0)}).bind("click",function(){return!1}).bind("dblclick",function(){return!1});o(a,d.id.A,b).addClass(d.node.CURSELECTED_EDIT);c.curEditInput=k;c.noSelection=
+!1;c.curEditNode=a}},moveNode:function(b,a,c,r,k,i){var j=m.getRoot(b),e=b.data.key.children;if(a!=c&&(!b.data.keep.leaf||!a||a.isParent||r!=d.move.TYPE_INNER)){var g=c.parentTId?c.getParentNode():j,t=a===null||a==j;t&&a===null&&(a=j);if(t)r=d.move.TYPE_INNER;j=a.parentTId?a.getParentNode():j;if(r!=d.move.TYPE_PREV&&r!=d.move.TYPE_NEXT)r=d.move.TYPE_INNER;if(r==d.move.TYPE_INNER)if(t)c.parentTId=null;else{if(!a.isParent)a.isParent=!0,a.open=!!a.open,f.setNodeLineIcos(b,a);c.parentTId=a.tId}var p;
+t?p=t=b.treeObj:(!i&&r==d.move.TYPE_INNER?f.expandCollapseNode(b,a,!0,!1):i||f.expandCollapseNode(b,a.getParentNode(),!0,!1),t=o(a,b),p=o(a,d.id.UL,b),t.get(0)&&!p.get(0)&&(p=[],f.makeUlHtml(b,a,p,""),t.append(p.join(""))),p=o(a,d.id.UL,b));var q=o(c,b);q.get(0)?t.get(0)||q.remove():q=f.appendNodes(b,c.level,[c],null,!1,!0).join("");p.get(0)&&r==d.move.TYPE_INNER?p.append(q):t.get(0)&&r==d.move.TYPE_PREV?t.before(q):t.get(0)&&r==d.move.TYPE_NEXT&&t.after(q);var l=-1,w=0,x=null,t=null,D=c.level;if(c.isFirstNode){if(l=
+0,g[e].length>1)x=g[e][1],x.isFirstNode=!0}else if(c.isLastNode)l=g[e].length-1,x=g[e][l-1],x.isLastNode=!0;else for(p=0,q=g[e].length;p<q;p++)if(g[e][p].tId==c.tId){l=p;break}l>=0&&g[e].splice(l,1);if(r!=d.move.TYPE_INNER)for(p=0,q=j[e].length;p<q;p++)j[e][p].tId==a.tId&&(w=p);if(r==d.move.TYPE_INNER){a[e]||(a[e]=[]);if(a[e].length>0)t=a[e][a[e].length-1],t.isLastNode=!1;a[e].splice(a[e].length,0,c);c.isLastNode=!0;c.isFirstNode=a[e].length==1}else a.isFirstNode&&r==d.move.TYPE_PREV?(j[e].splice(w,
+0,c),t=a,t.isFirstNode=!1,c.parentTId=a.parentTId,c.isFirstNode=!0,c.isLastNode=!1):a.isLastNode&&r==d.move.TYPE_NEXT?(j[e].splice(w+1,0,c),t=a,t.isLastNode=!1,c.parentTId=a.parentTId,c.isFirstNode=!1,c.isLastNode=!0):(r==d.move.TYPE_PREV?j[e].splice(w,0,c):j[e].splice(w+1,0,c),c.parentTId=a.parentTId,c.isFirstNode=!1,c.isLastNode=!1);m.fixPIdKeyValue(b,c);m.setSonNodeLevel(b,c.getParentNode(),c);f.setNodeLineIcos(b,c);f.repairNodeLevelClass(b,c,D);!b.data.keep.parent&&g[e].length<1?(g.isParent=!1,
+g.open=!1,a=o(g,d.id.UL,b),r=o(g,d.id.SWITCH,b),e=o(g,d.id.ICON,b),f.replaceSwitchClass(g,r,d.folder.DOCU),f.replaceIcoClass(g,e,d.folder.DOCU),a.css("display","none")):x&&f.setNodeLineIcos(b,x);t&&f.setNodeLineIcos(b,t);b.check&&b.check.enable&&f.repairChkClass&&(f.repairChkClass(b,g),f.repairParentChkClassWithSelf(b,g),g!=c.parent&&f.repairParentChkClassWithSelf(b,c));i||f.expandCollapseParentNode(b,c.getParentNode(),!0,k)}},removeEditBtn:function(b,a){o(a,d.id.EDIT,b).unbind().remove()},removeRemoveBtn:function(b,
+a){o(a,d.id.REMOVE,b).unbind().remove()},removeTreeDom:function(b,a){a.isHover=!1;f.removeEditBtn(b,a);f.removeRemoveBtn(b,a);g.apply(b.view.removeHoverDom,[b.treeId,a])},repairNodeLevelClass:function(b,a,c){if(c!==a.level){var f=o(a,b),g=o(a,d.id.A,b),b=o(a,d.id.UL,b),c=d.className.LEVEL+c,a=d.className.LEVEL+a.level;f.removeClass(c);f.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;c<d;c++)f.selectNode(b,a[c],c>0)}},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,f=c[d].length;a<f;a++)c[d][a]&&m.setSonNodeLevel(b,c,c[d][a])}}}});var H=w.fn.zTree,g=H._z.tools,d=H.consts,f=H._z.view,m=H._z.data,o=g.$;m.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,onDragMove:null,onDrop:null,onRename:null}});m.addInitBind(function(b){var a=b.treeObj,c=d.event;a.bind(c.RENAME,function(a,c,d,f){g.apply(b.callback.onRename,[a,c,d,f])});a.bind(c.DRAG,function(a,c,d,f){g.apply(b.callback.onDrag,[c,d,f])});a.bind(c.DRAGMOVE,function(a,c,d,f){g.apply(b.callback.onDragMove,[c,d,f])});a.bind(c.DROP,
+function(a,c,d,f,e,m,o){g.apply(b.callback.onDrop,[c,d,f,e,m,o])})});m.addInitUnBind(function(b){var b=b.treeObj,a=d.event;b.unbind(a.RENAME);b.unbind(a.DRAG);b.unbind(a.DRAGMOVE);b.unbind(a.DROP)});m.addInitCache(function(){});m.addInitNode(function(b,a,c){if(c)c.isHover=!1,c.editNameFlag=!1});m.addInitProxy(function(b){var a=b.target,c=m.getSetting(b.data.treeId),f=b.relatedTarget,k="",i=null,j="",e=null,o=null;if(g.eqs(b.type,"mouseover")){if(o=g.getMDom(c,a,[{tagName:"a",attrName:"treeNode"+d.id.A}]))k=
+g.getNodeMainDom(o).id,j="hoverOverNode"}else if(g.eqs(b.type,"mouseout"))o=g.getMDom(c,f,[{tagName:"a",attrName:"treeNode"+d.id.A}]),o||(k="remove",j="hoverOutNode");else if(g.eqs(b.type,"mousedown")&&(o=g.getMDom(c,a,[{tagName:"a",attrName:"treeNode"+d.id.A}])))k=g.getNodeMainDom(o).id,j="mousedownNode";if(k.length>0)switch(i=m.getNodeCache(c,k),j){case "mousedownNode":e=x.onMousedownNode;break;case "hoverOverNode":e=x.onHoverOverNode;break;case "hoverOutNode":e=x.onHoverOutNode}return{stop:!1,
+node:i,nodeEventType:j,nodeEventCallback:e,treeEventType:"",treeEventCallback:null}});m.addInitRoot(function(b){var b=m.getRoot(b),a=m.getRoots();b.curEditNode=null;b.curEditInput=null;b.curHoverNode=null;b.dragFlag=0;b.dragNodeShowBefore=[];b.dragMaskList=[];a.showHoverDom=!0});m.addZTreeTools(function(b,a){a.cancelEditName=function(a){m.getRoot(this.setting).curEditNode&&f.cancelCurEditNode(this.setting,a?a:null,!0)};a.copyNode=function(a,b,k,i){if(!b)return null;if(a&&!a.isParent&&this.setting.data.keep.leaf&&
+k===d.move.TYPE_INNER)return null;var j=this,e=g.clone(b);if(!a)a=null,k=d.move.TYPE_INNER;k==d.move.TYPE_INNER?(b=function(){f.addNodes(j.setting,a,[e],i)},g.canAsync(this.setting,a)?f.asyncNode(this.setting,a,i,b):b()):(f.addNodes(this.setting,a.parentNode,[e],i),f.moveNode(this.setting,a,e,k,!1,i));return e};a.editName=function(a){a&&a.tId&&a===m.getNodeCache(this.setting,a.tId)&&(a.parentTId&&f.expandCollapseParentNode(this.setting,a.getParentNode(),!0),f.editNode(this.setting,a))};a.moveNode=
+function(a,b,k,i){function j(){f.moveNode(e.setting,a,b,k,!1,i)}if(!b)return b;if(a&&!a.isParent&&this.setting.data.keep.leaf&&k===d.move.TYPE_INNER)return null;else if(a&&(b.parentTId==a.tId&&k==d.move.TYPE_INNER||o(b,this.setting).find("#"+a.tId).length>0))return null;else a||(a=null);var e=this;g.canAsync(this.setting,a)&&k===d.move.TYPE_INNER?f.asyncNode(this.setting,a,i,j):j();return b};a.setEditable=function(a){this.setting.edit.enable=a;return this.refresh()}});var N=f.cancelPreSelectedNode;
+f.cancelPreSelectedNode=function(b,a){for(var c=m.getRoot(b).curSelectedList,d=0,g=c.length;d<g;d++)if(!a||a===c[d])if(f.removeTreeDom(b,c[d]),a)break;N&&N.apply(f,arguments)};var O=f.createNodes;f.createNodes=function(b,a,c,d){O&&O.apply(f,arguments);c&&f.repairParentChkClassWithSelf&&f.repairParentChkClassWithSelf(b,d)};var V=f.makeNodeUrl;f.makeNodeUrl=function(b,a){return b.edit.enable?null:V.apply(f,arguments)};var L=f.removeNode;f.removeNode=function(b,a){var c=m.getRoot(b);if(c.curEditNode===
+a)c.curEditNode=null;L&&L.apply(f,arguments)};var P=f.selectNode;f.selectNode=function(b,a,c){var d=m.getRoot(b);if(m.isSelectedNode(b,a)&&d.curEditNode==a&&a.editNameFlag)return!1;P&&P.apply(f,arguments);f.addHoverDom(b,a);return!0};var Q=g.uCanDo;g.uCanDo=function(b,a){var c=m.getRoot(b);if(a&&(g.eqs(a.type,"mouseover")||g.eqs(a.type,"mouseout")||g.eqs(a.type,"mousedown")||g.eqs(a.type,"mouseup")))return!0;if(c.curEditNode)f.editNodeBlur=!1,c.curEditInput.focus();return!c.curEditNode&&(Q?Q.apply(f,
+arguments):!0)}})(jQuery);
+
diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/js/jquery.ztree.core.js b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/js/jquery.ztree.core.js index 7dd93c6b..95e7b23d 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/js/jquery.ztree.core.js +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/js/jquery.ztree.core.js @@ -1,1684 +1,1684 @@ -/* - * JQuery zTree core v3.5.16 - * http://zTree.me/ - * - * Copyright (c) 2010 Hunter.z - * - * Licensed same as jquery - MIT License - * http://www.opensource.org/licenses/mit-license.php - * - * email: hunter.z@263.net - * Date: 2014-03-09 - */ -(function($){ - var settings = {}, roots = {}, caches = {}, - //default consts of core - _consts = { - className: { - BUTTON: "button", - LEVEL: "level", - ICO_LOADING: "ico_loading", - SWITCH: "switch" - }, - event: { - NODECREATED: "ztree_nodeCreated", - CLICK: "ztree_click", - EXPAND: "ztree_expand", - COLLAPSE: "ztree_collapse", - ASYNC_SUCCESS: "ztree_async_success", - ASYNC_ERROR: "ztree_async_error", - REMOVE: "ztree_remove" - }, - id: { - A: "_a", - ICON: "_ico", - SPAN: "_span", - SWITCH: "_switch", - UL: "_ul" - }, - line: { - ROOT: "root", - ROOTS: "roots", - CENTER: "center", - BOTTOM: "bottom", - NOLINE: "noline", - LINE: "line" - }, - folder: { - OPEN: "open", - CLOSE: "close", - DOCU: "docu" - }, - node: { - CURSELECTED: "curSelectedNode" - } - }, - //default setting of core - _setting = { - treeId: "", - treeObj: null, - view: { - addDiyDom: null, - autoCancelSelected: true, - dblClickExpand: true, - expandSpeed: "fast", - fontCss: {}, - nameIsHTML: false, - selectedMulti: true, - showIcon: true, - showLine: true, - showTitle: true, - txtSelectedEnable: false - }, - data: { - key: { - children: "children", - name: "name", - title: "", - url: "url" - }, - simpleData: { - enable: false, - idKey: "id", - pIdKey: "pId", - rootPId: null - }, - keep: { - parent: false, - leaf: false - } - }, - async: { - enable: false, - 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 - } - }, - //default root of core - //zTree use root to save full data - _initRoot = function (setting) { - var r = data.getRoot(setting); - if (!r) { - r = {}; - data.setRoot(setting, r); - } - r[setting.data.key.children] = []; - r.expandTriggerFlag = false; - r.curSelectedList = []; - r.noSelection = true; - r.createdNodes = []; - r.zId = 0; - r._ver = (new Date()).getTime(); - }, - //default cache of core - _initCache = function(setting) { - var c = data.getCache(setting); - if (!c) { - c = {}; - data.setCache(setting, c); - } - c.nodes = []; - c.doms = []; - }, - //default bindEvent of core - _bindEvent = function(setting) { - var o = setting.treeObj, - c = consts.event; - o.bind(c.NODECREATED, function (event, treeId, node) { - tools.apply(setting.callback.onNodeCreated, [event, treeId, node]); - }); - - o.bind(c.CLICK, function (event, srcEvent, treeId, node, clickFlag) { - tools.apply(setting.callback.onClick, [srcEvent, treeId, node, clickFlag]); - }); - - o.bind(c.EXPAND, function (event, treeId, node) { - tools.apply(setting.callback.onExpand, [event, treeId, node]); - }); - - o.bind(c.COLLAPSE, function (event, treeId, node) { - tools.apply(setting.callback.onCollapse, [event, treeId, node]); - }); - - o.bind(c.ASYNC_SUCCESS, function (event, treeId, node, msg) { - tools.apply(setting.callback.onAsyncSuccess, [event, treeId, node, msg]); - }); - - o.bind(c.ASYNC_ERROR, function (event, treeId, node, XMLHttpRequest, textStatus, errorThrown) { - tools.apply(setting.callback.onAsyncError, [event, treeId, node, XMLHttpRequest, textStatus, errorThrown]); - }); - - o.bind(c.REMOVE, function (event, treeId, treeNode) { - tools.apply(setting.callback.onRemove, [event, treeId, treeNode]); - }); - }, - _unbindEvent = function(setting) { - var o = setting.treeObj, - c = consts.event; - o.unbind(c.NODECREATED) - .unbind(c.CLICK) - .unbind(c.EXPAND) - .unbind(c.COLLAPSE) - .unbind(c.ASYNC_SUCCESS) - .unbind(c.ASYNC_ERROR) - .unbind(c.REMOVE); - }, - //default event proxy of core - _eventProxy = function(event) { - var target = event.target, - setting = data.getSetting(event.data.treeId), - tId = "", node = null, - nodeEventType = "", treeEventType = "", - nodeEventCallback = null, treeEventCallback = null, - tmp = null; - - if (tools.eqs(event.type, "mousedown")) { - treeEventType = "mousedown"; - } else if (tools.eqs(event.type, "mouseup")) { - treeEventType = "mouseup"; - } else if (tools.eqs(event.type, "contextmenu")) { - treeEventType = "contextmenu"; - } else if (tools.eqs(event.type, "click")) { - if (tools.eqs(target.tagName, "span") && target.getAttribute("treeNode"+ consts.id.SWITCH) !== null) { - tId = tools.getNodeMainDom(target).id; - nodeEventType = "switchNode"; - } else { - tmp = tools.getMDom(setting, target, [{tagName:"a", attrName:"treeNode"+consts.id.A}]); - if (tmp) { - tId = tools.getNodeMainDom(tmp).id; - nodeEventType = "clickNode"; - } - } - } else if (tools.eqs(event.type, "dblclick")) { - treeEventType = "dblclick"; - tmp = tools.getMDom(setting, target, [{tagName:"a", attrName:"treeNode"+consts.id.A}]); - if (tmp) { - tId = tools.getNodeMainDom(tmp).id; - nodeEventType = "switchNode"; - } - } - if (treeEventType.length > 0 && tId.length == 0) { - tmp = tools.getMDom(setting, target, [{tagName:"a", attrName:"treeNode"+consts.id.A}]); - if (tmp) {tId = tools.getNodeMainDom(tmp).id;} - } - // event to node - if (tId.length>0) { - node = data.getNodeCache(setting, tId); - switch (nodeEventType) { - case "switchNode" : - if (!node.isParent) { - nodeEventType = ""; - } else if (tools.eqs(event.type, "click") - || (tools.eqs(event.type, "dblclick") && tools.apply(setting.view.dblClickExpand, [setting.treeId, node], setting.view.dblClickExpand))) { - nodeEventCallback = handler.onSwitchNode; - } else { - nodeEventType = ""; - } - break; - case "clickNode" : - nodeEventCallback = handler.onClickNode; - break; - } - } - // event to zTree - switch (treeEventType) { - case "mousedown" : - treeEventCallback = handler.onZTreeMousedown; - break; - case "mouseup" : - treeEventCallback = handler.onZTreeMouseup; - break; - case "dblclick" : - treeEventCallback = handler.onZTreeDblclick; - break; - case "contextmenu" : - treeEventCallback = handler.onZTreeContextmenu; - break; - } - var proxyResult = { - stop: false, - node: node, - nodeEventType: nodeEventType, - nodeEventCallback: nodeEventCallback, - treeEventType: treeEventType, - treeEventCallback: treeEventCallback - }; - return proxyResult - }, - //default init node of core - _initNode = function(setting, level, n, parentNode, isFirstNode, isLastNode, openFlag) { - if (!n) return; - var r = data.getRoot(setting), - childKey = setting.data.key.children; - n.level = level; - n.tId = setting.treeId + "_" + (++r.zId); - n.parentTId = parentNode ? parentNode.tId : null; - n.open = (typeof n.open == "string") ? tools.eqs(n.open, "true") : !!n.open; - if (n[childKey] && n[childKey].length > 0) { - n.isParent = true; - n.zAsync = true; - } else { - n.isParent = (typeof n.isParent == "string") ? tools.eqs(n.isParent, "true") : !!n.isParent; - n.open = (n.isParent && !setting.async.enable) ? n.open : false; - n.zAsync = !n.isParent; - } - n.isFirstNode = isFirstNode; - n.isLastNode = isLastNode; - n.getParentNode = function() {return data.getNodeCache(setting, n.parentTId);}; - n.getPreNode = function() {return data.getPreNode(setting, n);}; - n.getNextNode = function() {return data.getNextNode(setting, n);}; - n.isAjaxing = false; - data.fixPIdKeyValue(setting, n); - }, - _init = { - bind: [_bindEvent], - unbind: [_unbindEvent], - caches: [_initCache], - nodes: [_initNode], - proxys: [_eventProxy], - roots: [_initRoot], - beforeA: [], - afterA: [], - innerBeforeA: [], - innerAfterA: [], - zTreeTools: [] - }, - //method of operate data - data = { - addNodeCache: function(setting, node) { - data.getCache(setting).nodes[data.getNodeCacheId(node.tId)] = node; - }, - getNodeCacheId: function(tId) { - return tId.substring(tId.lastIndexOf("_")+1); - }, - addAfterA: function(afterA) { - _init.afterA.push(afterA); - }, - addBeforeA: function(beforeA) { - _init.beforeA.push(beforeA); - }, - addInnerAfterA: function(innerAfterA) { - _init.innerAfterA.push(innerAfterA); - }, - addInnerBeforeA: function(innerBeforeA) { - _init.innerBeforeA.push(innerBeforeA); - }, - addInitBind: function(bindEvent) { - _init.bind.push(bindEvent); - }, - addInitUnBind: function(unbindEvent) { - _init.unbind.push(unbindEvent); - }, - addInitCache: function(initCache) { - _init.caches.push(initCache); - }, - addInitNode: function(initNode) { - _init.nodes.push(initNode); - }, - addInitProxy: function(initProxy, isFirst) { - if (!!isFirst) { - _init.proxys.splice(0,0,initProxy); - } else { - _init.proxys.push(initProxy); - } - }, - addInitRoot: function(initRoot) { - _init.roots.push(initRoot); - }, - addNodesData: function(setting, parentNode, nodes) { - var childKey = setting.data.key.children; - if (!parentNode[childKey]) parentNode[childKey] = []; - if (parentNode[childKey].length > 0) { - parentNode[childKey][parentNode[childKey].length - 1].isLastNode = false; - view.setNodeLineIcos(setting, parentNode[childKey][parentNode[childKey].length - 1]); - } - parentNode.isParent = true; - parentNode[childKey] = parentNode[childKey].concat(nodes); - }, - addSelectedNode: function(setting, node) { - var root = data.getRoot(setting); - if (!data.isSelectedNode(setting, node)) { - root.curSelectedList.push(node); - } - }, - addCreatedNode: function(setting, node) { - if (!!setting.callback.onNodeCreated || !!setting.view.addDiyDom) { - var root = data.getRoot(setting); - root.createdNodes.push(node); - } - }, - addZTreeTools: function(zTreeTools) { - _init.zTreeTools.push(zTreeTools); - }, - exSetting: function(s) { - $.extend(true, _setting, s); - }, - fixPIdKeyValue: function(setting, node) { - if (setting.data.simpleData.enable) { - node[setting.data.simpleData.pIdKey] = node.parentTId ? node.getParentNode()[setting.data.simpleData.idKey] : setting.data.simpleData.rootPId; - } - }, - getAfterA: function(setting, node, array) { - for (var i=0, j=_init.afterA.length; i<j; i++) { - _init.afterA[i].apply(this, arguments); - } - }, - getBeforeA: function(setting, node, array) { - for (var i=0, j=_init.beforeA.length; i<j; i++) { - _init.beforeA[i].apply(this, arguments); - } - }, - getInnerAfterA: function(setting, node, array) { - for (var i=0, j=_init.innerAfterA.length; i<j; i++) { - _init.innerAfterA[i].apply(this, arguments); - } - }, - getInnerBeforeA: function(setting, node, array) { - for (var i=0, j=_init.innerBeforeA.length; i<j; i++) { - _init.innerBeforeA[i].apply(this, arguments); - } - }, - getCache: function(setting) { - return caches[setting.treeId]; - }, - getNextNode: function(setting, node) { - if (!node) return null; - var childKey = setting.data.key.children, - p = node.parentTId ? node.getParentNode() : data.getRoot(setting); - for (var i=0, l=p[childKey].length-1; i<=l; i++) { - if (p[childKey][i] === node) { - return (i==l ? null : p[childKey][i+1]); - } - } - return null; - }, - getNodeByParam: function(setting, nodes, key, value) { - if (!nodes || !key) return null; - var childKey = setting.data.key.children; - for (var i = 0, l = nodes.length; i < l; i++) { - if (nodes[i][key] == value) { - return nodes[i]; - } - var tmp = data.getNodeByParam(setting, nodes[i][childKey], key, value); - if (tmp) return tmp; - } - return null; - }, - getNodeCache: function(setting, tId) { - if (!tId) return null; - var n = caches[setting.treeId].nodes[data.getNodeCacheId(tId)]; - return n ? n : null; - }, - getNodeName: function(setting, node) { - var nameKey = setting.data.key.name; - return "" + node[nameKey]; - }, - getNodeTitle: function(setting, node) { - var t = setting.data.key.title === "" ? setting.data.key.name : setting.data.key.title; - return "" + node[t]; - }, - getNodes: function(setting) { - return data.getRoot(setting)[setting.data.key.children]; - }, - getNodesByParam: function(setting, nodes, key, value) { - if (!nodes || !key) return []; - var childKey = setting.data.key.children, - result = []; - for (var i = 0, l = nodes.length; i < l; i++) { - if (nodes[i][key] == value) { - result.push(nodes[i]); - } - result = result.concat(data.getNodesByParam(setting, nodes[i][childKey], key, value)); - } - return result; - }, - getNodesByParamFuzzy: function(setting, nodes, key, value) { - if (!nodes || !key) return []; - var childKey = setting.data.key.children, - result = []; - value = value.toLowerCase(); - for (var i = 0, l = nodes.length; i < l; i++) { - if (typeof nodes[i][key] == "string" && nodes[i][key].toLowerCase().indexOf(value)>-1) { - result.push(nodes[i]); - } - result = result.concat(data.getNodesByParamFuzzy(setting, nodes[i][childKey], key, value)); - } - return result; - }, - getNodesByFilter: function(setting, nodes, filter, isSingle, invokeParam) { - if (!nodes) return (isSingle ? null : []); - var childKey = setting.data.key.children, - result = isSingle ? null : []; - for (var i = 0, l = nodes.length; i < l; i++) { - if (tools.apply(filter, [nodes[i], invokeParam], false)) { - if (isSingle) {return nodes[i];} - result.push(nodes[i]); - } - var tmpResult = data.getNodesByFilter(setting, nodes[i][childKey], filter, isSingle, invokeParam); - if (isSingle && !!tmpResult) {return tmpResult;} - result = isSingle ? tmpResult : result.concat(tmpResult); - } - return result; - }, - getPreNode: function(setting, node) { - if (!node) return null; - var childKey = setting.data.key.children, - p = node.parentTId ? node.getParentNode() : data.getRoot(setting); - for (var i=0, l=p[childKey].length; i<l; i++) { - if (p[childKey][i] === node) { - return (i==0 ? null : p[childKey][i-1]); - } - } - return null; - }, - getRoot: function(setting) { - return setting ? roots[setting.treeId] : null; - }, - getRoots: function() { - return roots; - }, - getSetting: function(treeId) { - return settings[treeId]; - }, - getSettings: function() { - return settings; - }, - getZTreeTools: function(treeId) { - var r = this.getRoot(this.getSetting(treeId)); - return r ? r.treeTools : null; - }, - initCache: function(setting) { - for (var i=0, j=_init.caches.length; i<j; i++) { - _init.caches[i].apply(this, arguments); - } - }, - initNode: function(setting, level, node, parentNode, preNode, nextNode) { - for (var i=0, j=_init.nodes.length; i<j; i++) { - _init.nodes[i].apply(this, arguments); - } - }, - initRoot: function(setting) { - for (var i=0, j=_init.roots.length; i<j; i++) { - _init.roots[i].apply(this, arguments); - } - }, - isSelectedNode: function(setting, node) { - var root = data.getRoot(setting); - for (var i=0, j=root.curSelectedList.length; i<j; i++) { - if(node === root.curSelectedList[i]) return true; - } - return false; - }, - removeNodeCache: function(setting, node) { - var childKey = setting.data.key.children; - if (node[childKey]) { - for (var i=0, l=node[childKey].length; i<l; i++) { - arguments.callee(setting, node[childKey][i]); - } - } - data.getCache(setting).nodes[data.getNodeCacheId(node.tId)] = null; - }, - removeSelectedNode: function(setting, node) { - var root = data.getRoot(setting); - for (var i=0, j=root.curSelectedList.length; i<j; i++) { - if(node === root.curSelectedList[i] || !data.getNodeCache(setting, root.curSelectedList[i].tId)) { - root.curSelectedList.splice(i, 1); - i--;j--; - } - } - }, - setCache: function(setting, cache) { - caches[setting.treeId] = cache; - }, - setRoot: function(setting, root) { - roots[setting.treeId] = root; - }, - setZTreeTools: function(setting, zTreeTools) { - for (var i=0, j=_init.zTreeTools.length; i<j; i++) { - _init.zTreeTools[i].apply(this, arguments); - } - }, - transformToArrayFormat: function (setting, nodes) { - if (!nodes) return []; - var childKey = setting.data.key.children, - r = []; - if (tools.isArray(nodes)) { - for (var i=0, l=nodes.length; i<l; i++) { - r.push(nodes[i]); - if (nodes[i][childKey]) - r = r.concat(data.transformToArrayFormat(setting, nodes[i][childKey])); - } - } else { - r.push(nodes); - if (nodes[childKey]) - r = r.concat(data.transformToArrayFormat(setting, nodes[childKey])); - } - return r; - }, - transformTozTreeFormat: function(setting, sNodes) { - var i,l, - key = setting.data.simpleData.idKey, - parentKey = setting.data.simpleData.pIdKey, - childKey = setting.data.key.children; - if (!key || key=="" || !sNodes) return []; - - if (tools.isArray(sNodes)) { - var r = []; - var tmpMap = []; - for (i=0, l=sNodes.length; i<l; i++) { - tmpMap[sNodes[i][key]] = sNodes[i]; - } - for (i=0, l=sNodes.length; i<l; i++) { - if (tmpMap[sNodes[i][parentKey]] && sNodes[i][key] != sNodes[i][parentKey]) { - if (!tmpMap[sNodes[i][parentKey]][childKey]) - tmpMap[sNodes[i][parentKey]][childKey] = []; - tmpMap[sNodes[i][parentKey]][childKey].push(sNodes[i]); - } else { - r.push(sNodes[i]); - } - } - return r; - }else { - return [sNodes]; - } - } - }, - //method of event proxy - event = { - bindEvent: function(setting) { - for (var i=0, j=_init.bind.length; i<j; i++) { - _init.bind[i].apply(this, arguments); - } - }, - unbindEvent: function(setting) { - for (var i=0, j=_init.unbind.length; i<j; i++) { - _init.unbind[i].apply(this, arguments); - } - }, - bindTree: function(setting) { - var eventParam = { - treeId: setting.treeId - }, - o = setting.treeObj; - if (!setting.view.txtSelectedEnable) { - // for can't select text - o.bind('selectstart', function(e){ - var node - var n = e.originalEvent.srcElement.nodeName.toLowerCase(); - return (n === "input" || n === "textarea" ); - }).css({ - "-moz-user-select":"-moz-none" - }); - } - o.bind('click', eventParam, event.proxy); - o.bind('dblclick', eventParam, event.proxy); - o.bind('mouseover', eventParam, event.proxy); - o.bind('mouseout', eventParam, event.proxy); - o.bind('mousedown', eventParam, event.proxy); - o.bind('mouseup', eventParam, event.proxy); - o.bind('contextmenu', eventParam, event.proxy); - }, - unbindTree: function(setting) { - var o = setting.treeObj; - o.unbind('click', event.proxy) - .unbind('dblclick', event.proxy) - .unbind('mouseover', event.proxy) - .unbind('mouseout', event.proxy) - .unbind('mousedown', event.proxy) - .unbind('mouseup', event.proxy) - .unbind('contextmenu', event.proxy); - }, - doProxy: function(e) { - var results = []; - for (var i=0, j=_init.proxys.length; i<j; i++) { - var proxyResult = _init.proxys[i].apply(this, arguments); - results.push(proxyResult); - if (proxyResult.stop) { - break; - } - } - return results; - }, - proxy: function(e) { - var setting = data.getSetting(e.data.treeId); - if (!tools.uCanDo(setting, e)) return true; - var results = event.doProxy(e), - r = true, x = false; - for (var i=0, l=results.length; i<l; i++) { - var proxyResult = results[i]; - if (proxyResult.nodeEventCallback) { - x = true; - r = proxyResult.nodeEventCallback.apply(proxyResult, [e, proxyResult.node]) && r; - } - if (proxyResult.treeEventCallback) { - x = true; - r = proxyResult.treeEventCallback.apply(proxyResult, [e, proxyResult.node]) && r; - } - } - return r; - } - }, - //method of event handler - handler = { - onSwitchNode: function (event, node) { - var setting = data.getSetting(event.data.treeId); - if (node.open) { - if (tools.apply(setting.callback.beforeCollapse, [setting.treeId, node], true) == false) return true; - data.getRoot(setting).expandTriggerFlag = true; - view.switchNode(setting, node); - } else { - if (tools.apply(setting.callback.beforeExpand, [setting.treeId, node], true) == false) return true; - data.getRoot(setting).expandTriggerFlag = true; - view.switchNode(setting, node); - } - return true; - }, - onClickNode: function (event, node) { - var setting = data.getSetting(event.data.treeId), - clickFlag = ( (setting.view.autoCancelSelected && (event.ctrlKey || event.metaKey)) && data.isSelectedNode(setting, node)) ? 0 : (setting.view.autoCancelSelected && (event.ctrlKey || event.metaKey) && setting.view.selectedMulti) ? 2 : 1; - if (tools.apply(setting.callback.beforeClick, [setting.treeId, node, clickFlag], true) == false) return true; - if (clickFlag === 0) { - view.cancelPreSelectedNode(setting, node); - } else { - view.selectNode(setting, node, clickFlag === 2); - } - setting.treeObj.trigger(consts.event.CLICK, [event, setting.treeId, node, clickFlag]); - return true; - }, - onZTreeMousedown: function(event, node) { - var setting = data.getSetting(event.data.treeId); - if (tools.apply(setting.callback.beforeMouseDown, [setting.treeId, node], true)) { - tools.apply(setting.callback.onMouseDown, [event, setting.treeId, node]); - } - return true; - }, - onZTreeMouseup: function(event, node) { - var setting = data.getSetting(event.data.treeId); - if (tools.apply(setting.callback.beforeMouseUp, [setting.treeId, node], true)) { - tools.apply(setting.callback.onMouseUp, [event, setting.treeId, node]); - } - return true; - }, - onZTreeDblclick: function(event, node) { - var setting = data.getSetting(event.data.treeId); - if (tools.apply(setting.callback.beforeDblClick, [setting.treeId, node], true)) { - tools.apply(setting.callback.onDblClick, [event, setting.treeId, node]); - } - return true; - }, - onZTreeContextmenu: function(event, node) { - var setting = data.getSetting(event.data.treeId); - if (tools.apply(setting.callback.beforeRightClick, [setting.treeId, node], true)) { - tools.apply(setting.callback.onRightClick, [event, setting.treeId, node]); - } - return (typeof setting.callback.onRightClick) != "function"; - } - }, - //method of tools for zTree - tools = { - apply: function(fun, param, defaultValue) { - if ((typeof fun) == "function") { - return fun.apply(zt, param?param:[]); - } - return defaultValue; - }, - canAsync: function(setting, node) { - var childKey = setting.data.key.children; - return (setting.async.enable && node && node.isParent && !(node.zAsync || (node[childKey] && node[childKey].length > 0))); - }, - clone: function (obj){ - if (obj === null) return null; - var o = tools.isArray(obj) ? [] : {}; - for(var i in obj){ - o[i] = (obj[i] instanceof Date) ? new Date(obj[i].getTime()) : (typeof obj[i] === "object" ? arguments.callee(obj[i]) : obj[i]); - } - return o; - }, - eqs: function(str1, str2) { - return str1.toLowerCase() === str2.toLowerCase(); - }, - isArray: function(arr) { - return Object.prototype.toString.apply(arr) === "[object Array]"; - }, - $: function(node, exp, setting) { - if (!!exp && typeof exp != "string") { - setting = exp; - exp = ""; - } - if (typeof node == "string") { - return $(node, setting ? setting.treeObj.get(0).ownerDocument : null); - } else { - return $("#" + node.tId + exp, setting ? setting.treeObj : null); - } - }, - getMDom: function (setting, curDom, targetExpr) { - if (!curDom) return null; - while (curDom && curDom.id !== setting.treeId) { - for (var i=0, l=targetExpr.length; curDom.tagName && i<l; i++) { - if (tools.eqs(curDom.tagName, targetExpr[i].tagName) && curDom.getAttribute(targetExpr[i].attrName) !== null) { - return curDom; - } - } - curDom = curDom.parentNode; - } - return null; - }, - getNodeMainDom:function(target) { - return ($(target).parent("li").get(0) || $(target).parentsUntil("li").parent().get(0)); - }, - isChildOrSelf: function(dom, parentId) { - return ( $(dom).closest("#" + parentId).length> 0 ); - }, - uCanDo: function(setting, e) { - return true; - } - }, - //method of operate ztree dom - view = { - addNodes: function(setting, parentNode, newNodes, isSilent) { - if (setting.data.keep.leaf && parentNode && !parentNode.isParent) { - return; - } - if (!tools.isArray(newNodes)) { - newNodes = [newNodes]; - } - if (setting.data.simpleData.enable) { - newNodes = data.transformTozTreeFormat(setting, newNodes); - } - if (parentNode) { - var target_switchObj = $$(parentNode, consts.id.SWITCH, setting), - target_icoObj = $$(parentNode, consts.id.ICON, setting), - target_ulObj = $$(parentNode, consts.id.UL, setting); - - if (!parentNode.open) { - view.replaceSwitchClass(parentNode, target_switchObj, consts.folder.CLOSE); - view.replaceIcoClass(parentNode, target_icoObj, consts.folder.CLOSE); - parentNode.open = false; - target_ulObj.css({ - "display": "none" - }); - } - - data.addNodesData(setting, parentNode, newNodes); - view.createNodes(setting, parentNode.level + 1, newNodes, parentNode); - if (!isSilent) { - view.expandCollapseParentNode(setting, parentNode, true); - } - } else { - data.addNodesData(setting, data.getRoot(setting), newNodes); - view.createNodes(setting, 0, newNodes, null); - } - }, - appendNodes: function(setting, level, nodes, parentNode, initFlag, openFlag) { - if (!nodes) return []; - var html = [], - childKey = setting.data.key.children; - for (var i = 0, l = nodes.length; i < l; i++) { - var node = nodes[i]; - if (initFlag) { - var tmpPNode = (parentNode) ? parentNode: data.getRoot(setting), - tmpPChild = tmpPNode[childKey], - isFirstNode = ((tmpPChild.length == nodes.length) && (i == 0)), - isLastNode = (i == (nodes.length - 1)); - data.initNode(setting, level, node, parentNode, isFirstNode, isLastNode, openFlag); - data.addNodeCache(setting, node); - } - - var childHtml = []; - if (node[childKey] && node[childKey].length > 0) { - //make child html first, because checkType - childHtml = view.appendNodes(setting, level + 1, node[childKey], node, initFlag, openFlag && node.open); - } - if (openFlag) { - - view.makeDOMNodeMainBefore(html, setting, node); - view.makeDOMNodeLine(html, setting, node); - data.getBeforeA(setting, node, html); - view.makeDOMNodeNameBefore(html, setting, node); - data.getInnerBeforeA(setting, node, html); - view.makeDOMNodeIcon(html, setting, node); - data.getInnerAfterA(setting, node, html); - view.makeDOMNodeNameAfter(html, setting, node); - data.getAfterA(setting, node, html); - if (node.isParent && node.open) { - view.makeUlHtml(setting, node, html, childHtml.join('')); - } - view.makeDOMNodeMainAfter(html, setting, node); - data.addCreatedNode(setting, node); - } - } - return html; - }, - appendParentULDom: function(setting, node) { - var html = [], - nObj = $$(node, setting); - if (!nObj.get(0) && !!node.parentTId) { - view.appendParentULDom(setting, node.getParentNode()); - nObj = $$(node, setting); - } - var ulObj = $$(node, consts.id.UL, setting); - if (ulObj.get(0)) { - ulObj.remove(); - } - var childKey = setting.data.key.children, - childHtml = view.appendNodes(setting, node.level+1, node[childKey], node, false, true); - view.makeUlHtml(setting, node, html, childHtml.join('')); - nObj.append(html.join('')); - }, - asyncNode: function(setting, node, isSilent, callback) { - var i, l; - if (node && !node.isParent) { - tools.apply(callback); - return false; - } else if (node && node.isAjaxing) { - return false; - } else if (tools.apply(setting.callback.beforeAsync, [setting.treeId, node], true) == false) { - tools.apply(callback); - return false; - } - if (node) { - node.isAjaxing = true; - var icoObj = $$(node, consts.id.ICON, setting); - icoObj.attr({"style":"", "class":consts.className.BUTTON + " " + consts.className.ICO_LOADING}); - } - - var tmpParam = {}; - for (i = 0, l = setting.async.autoParam.length; node && i < l; i++) { - var pKey = setting.async.autoParam[i].split("="), spKey = pKey; - if (pKey.length>1) { - spKey = pKey[1]; - pKey = pKey[0]; - } - tmpParam[spKey] = node[pKey]; - } - if (tools.isArray(setting.async.otherParam)) { - for (i = 0, l = setting.async.otherParam.length; i < l; i += 2) { - tmpParam[setting.async.otherParam[i]] = setting.async.otherParam[i + 1]; - } - } else { - for (var p in setting.async.otherParam) { - tmpParam[p] = setting.async.otherParam[p]; - } - } - - var _tmpV = data.getRoot(setting)._ver; - $.ajax({ - contentType: setting.async.contentType, - type: setting.async.type, - url: tools.apply(setting.async.url, [setting.treeId, node], setting.async.url), - data: tmpParam, - dataType: setting.async.dataType, - success: function(msg) { - if (_tmpV != data.getRoot(setting)._ver) { - return; - } - var newNodes = []; - try { - if (!msg || msg.length == 0) { - newNodes = []; - } else if (typeof msg == "string") { - newNodes = eval("(" + msg + ")"); - } else { - newNodes = msg; - } - } catch(err) { - newNodes = msg; - } - - if (node) { - node.isAjaxing = null; - node.zAsync = true; - } - view.setNodeLineIcos(setting, node); - if (newNodes && newNodes !== "") { - newNodes = tools.apply(setting.async.dataFilter, [setting.treeId, node, newNodes], newNodes); - view.addNodes(setting, node, !!newNodes ? tools.clone(newNodes) : [], !!isSilent); - } else { - view.addNodes(setting, node, [], !!isSilent); - } - setting.treeObj.trigger(consts.event.ASYNC_SUCCESS, [setting.treeId, node, msg]); - tools.apply(callback); - }, - error: function(XMLHttpRequest, textStatus, errorThrown) { - if (_tmpV != data.getRoot(setting)._ver) { - return; - } - if (node) node.isAjaxing = null; - view.setNodeLineIcos(setting, node); - setting.treeObj.trigger(consts.event.ASYNC_ERROR, [setting.treeId, node, XMLHttpRequest, textStatus, errorThrown]); - } - }); - return true; - }, - cancelPreSelectedNode: function (setting, node) { - var list = data.getRoot(setting).curSelectedList; - for (var i=0, j=list.length-1; j>=i; j--) { - if (!node || node === list[j]) { - $$(list[j], consts.id.A, setting).removeClass(consts.node.CURSELECTED); - if (node) { - data.removeSelectedNode(setting, node); - break; - } - } - } - if (!node) data.getRoot(setting).curSelectedList = []; - }, - createNodeCallback: function(setting) { - if (!!setting.callback.onNodeCreated || !!setting.view.addDiyDom) { - var root = data.getRoot(setting); - while (root.createdNodes.length>0) { - var node = root.createdNodes.shift(); - tools.apply(setting.view.addDiyDom, [setting.treeId, node]); - if (!!setting.callback.onNodeCreated) { - setting.treeObj.trigger(consts.event.NODECREATED, [setting.treeId, node]); - } - } - } - }, - createNodes: function(setting, level, nodes, parentNode) { - if (!nodes || nodes.length == 0) return; - var root = data.getRoot(setting), - childKey = setting.data.key.children, - openFlag = !parentNode || parentNode.open || !!$$(parentNode[childKey][0], setting).get(0); - root.createdNodes = []; - var zTreeHtml = view.appendNodes(setting, level, nodes, parentNode, true, openFlag); - if (!parentNode) { - setting.treeObj.append(zTreeHtml.join('')); - } else { - var ulObj = $$(parentNode, consts.id.UL, setting); - if (ulObj.get(0)) { - ulObj.append(zTreeHtml.join('')); - } - } - view.createNodeCallback(setting); - }, - destroy: function(setting) { - if (!setting) return; - data.initCache(setting); - data.initRoot(setting); - event.unbindTree(setting); - event.unbindEvent(setting); - setting.treeObj.empty(); - delete settings[setting.treeId]; - }, - expandCollapseNode: function(setting, node, expandFlag, animateFlag, callback) { - var root = data.getRoot(setting), - childKey = setting.data.key.children; - if (!node) { - tools.apply(callback, []); - return; - } - if (root.expandTriggerFlag) { - var _callback = callback; - callback = function(){ - if (_callback) _callback(); - if (node.open) { - setting.treeObj.trigger(consts.event.EXPAND, [setting.treeId, node]); - } else { - setting.treeObj.trigger(consts.event.COLLAPSE, [setting.treeId, node]); - } - }; - root.expandTriggerFlag = false; - } - if (!node.open && node.isParent && ((!$$(node, consts.id.UL, setting).get(0)) || (node[childKey] && node[childKey].length>0 && !$$(node[childKey][0], setting).get(0)))) { - view.appendParentULDom(setting, node); - view.createNodeCallback(setting); - } - if (node.open == expandFlag) { - tools.apply(callback, []); - return; - } - var ulObj = $$(node, consts.id.UL, setting), - switchObj = $$(node, consts.id.SWITCH, setting), - icoObj = $$(node, consts.id.ICON, setting); - - if (node.isParent) { - node.open = !node.open; - if (node.iconOpen && node.iconClose) { - icoObj.attr("style", view.makeNodeIcoStyle(setting, node)); - } - - if (node.open) { - view.replaceSwitchClass(node, switchObj, consts.folder.OPEN); - view.replaceIcoClass(node, icoObj, consts.folder.OPEN); - if (animateFlag == false || setting.view.expandSpeed == "") { - ulObj.show(); - tools.apply(callback, []); - } else { - if (node[childKey] && node[childKey].length > 0) { - ulObj.slideDown(setting.view.expandSpeed, callback); - } else { - ulObj.show(); - tools.apply(callback, []); - } - } - } else { - view.replaceSwitchClass(node, switchObj, consts.folder.CLOSE); - view.replaceIcoClass(node, icoObj, consts.folder.CLOSE); - if (animateFlag == false || setting.view.expandSpeed == "" || !(node[childKey] && node[childKey].length > 0)) { - ulObj.hide(); - tools.apply(callback, []); - } else { - ulObj.slideUp(setting.view.expandSpeed, callback); - } - } - } else { - tools.apply(callback, []); - } - }, - expandCollapseParentNode: function(setting, node, expandFlag, animateFlag, callback) { - if (!node) return; - if (!node.parentTId) { - view.expandCollapseNode(setting, node, expandFlag, animateFlag, callback); - return; - } else { - view.expandCollapseNode(setting, node, expandFlag, animateFlag); - } - if (node.parentTId) { - view.expandCollapseParentNode(setting, node.getParentNode(), expandFlag, animateFlag, callback); - } - }, - expandCollapseSonNode: function(setting, node, expandFlag, animateFlag, callback) { - var root = data.getRoot(setting), - childKey = setting.data.key.children, - treeNodes = (node) ? node[childKey]: root[childKey], - selfAnimateSign = (node) ? false : animateFlag, - expandTriggerFlag = data.getRoot(setting).expandTriggerFlag; - data.getRoot(setting).expandTriggerFlag = false; - if (treeNodes) { - for (var i = 0, l = treeNodes.length; i < l; i++) { - if (treeNodes[i]) view.expandCollapseSonNode(setting, treeNodes[i], expandFlag, selfAnimateSign); - } - } - data.getRoot(setting).expandTriggerFlag = expandTriggerFlag; - view.expandCollapseNode(setting, node, expandFlag, animateFlag, callback ); - }, - makeDOMNodeIcon: function(html, setting, node) { - var nameStr = data.getNodeName(setting, node), - name = setting.view.nameIsHTML ? nameStr : nameStr.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>'); - html.push("<span id='", node.tId, consts.id.ICON, - "' title='' treeNode", consts.id.ICON," class='", view.makeNodeIcoClass(setting, node), - "' style='", view.makeNodeIcoStyle(setting, node), "'></span><span id='", node.tId, consts.id.SPAN, - "'>",name,"</span>"); - }, - makeDOMNodeLine: function(html, setting, node) { - html.push("<span id='", node.tId, consts.id.SWITCH, "' title='' class='", view.makeNodeLineClass(setting, node), "' treeNode", consts.id.SWITCH,"></span>"); - }, - makeDOMNodeMainAfter: function(html, setting, node) { - html.push("</li>"); - }, - makeDOMNodeMainBefore: function(html, setting, node) { - html.push("<li id='", node.tId, "' class='", consts.className.LEVEL, node.level,"' tabindex='0' hidefocus='true' treenode>"); - }, - makeDOMNodeNameAfter: function(html, setting, node) { - html.push("</a>"); - }, - makeDOMNodeNameBefore: function(html, setting, node) { - var title = data.getNodeTitle(setting, node), - url = view.makeNodeUrl(setting, node), - fontcss = view.makeNodeFontCss(setting, node), - fontStyle = []; - for (var f in fontcss) { - fontStyle.push(f, ":", fontcss[f], ";"); - } - html.push("<a id='", node.tId, consts.id.A, "' class='", consts.className.LEVEL, node.level,"' treeNode", consts.id.A," onclick=\"", (node.click || ''), - "\" ", ((url != null && url.length > 0) ? "href='" + url + "'" : ""), " target='",view.makeNodeTarget(node),"' style='", fontStyle.join(''), - "'"); - if (tools.apply(setting.view.showTitle, [setting.treeId, node], setting.view.showTitle) && title) {html.push("title='", title.replace(/'/g,"'").replace(/</g,'<').replace(/>/g,'>'),"'");} - html.push(">"); - }, - makeNodeFontCss: function(setting, node) { - var fontCss = tools.apply(setting.view.fontCss, [setting.treeId, node], setting.view.fontCss); - return (fontCss && ((typeof fontCss) != "function")) ? fontCss : {}; - }, - makeNodeIcoClass: function(setting, node) { - var icoCss = ["ico"]; - if (!node.isAjaxing) { - icoCss[0] = (node.iconSkin ? node.iconSkin + "_" : "") + icoCss[0]; - if (node.isParent) { - icoCss.push(node.open ? consts.folder.OPEN : consts.folder.CLOSE); - } else { - icoCss.push(consts.folder.DOCU); - } - } - return consts.className.BUTTON + " " + icoCss.join('_'); - }, - makeNodeIcoStyle: function(setting, node) { - var icoStyle = []; - if (!node.isAjaxing) { - var icon = (node.isParent && node.iconOpen && node.iconClose) ? (node.open ? node.iconOpen : node.iconClose) : node.icon; - if (icon) icoStyle.push("background:url(", icon, ") 0 0 no-repeat;"); - if (setting.view.showIcon == false || !tools.apply(setting.view.showIcon, [setting.treeId, node], true)) { - icoStyle.push("width:0px;height:0px;"); - } - } - return icoStyle.join(''); - }, - makeNodeLineClass: function(setting, node) { - var lineClass = []; - if (setting.view.showLine) { - if (node.level == 0 && node.isFirstNode && node.isLastNode) { - lineClass.push(consts.line.ROOT); - } else if (node.level == 0 && node.isFirstNode) { - lineClass.push(consts.line.ROOTS); - } else if (node.isLastNode) { - lineClass.push(consts.line.BOTTOM); - } else { - lineClass.push(consts.line.CENTER); - } - } else { - lineClass.push(consts.line.NOLINE); - } - if (node.isParent) { - lineClass.push(node.open ? consts.folder.OPEN : consts.folder.CLOSE); - } else { - lineClass.push(consts.folder.DOCU); - } - return view.makeNodeLineClassEx(node) + lineClass.join('_'); - }, - makeNodeLineClassEx: function(node) { - return consts.className.BUTTON + " " + consts.className.LEVEL + node.level + " " + consts.className.SWITCH + " "; - }, - makeNodeTarget: function(node) { - return (node.target || "_blank"); - }, - makeNodeUrl: function(setting, node) { - var urlKey = setting.data.key.url; - return node[urlKey] ? node[urlKey] : null; - }, - makeUlHtml: function(setting, node, html, content) { - html.push("<ul id='", node.tId, consts.id.UL, "' class='", consts.className.LEVEL, node.level, " ", view.makeUlLineClass(setting, node), "' style='display:", (node.open ? "block": "none"),"'>"); - html.push(content); - html.push("</ul>"); - }, - makeUlLineClass: function(setting, node) { - return ((setting.view.showLine && !node.isLastNode) ? consts.line.LINE : ""); - }, - removeChildNodes: function(setting, node) { - if (!node) return; - var childKey = setting.data.key.children, - nodes = node[childKey]; - if (!nodes) return; - - for (var i = 0, l = nodes.length; i < l; i++) { - data.removeNodeCache(setting, nodes[i]); - } - data.removeSelectedNode(setting); - delete node[childKey]; - - if (!setting.data.keep.parent) { - node.isParent = false; - node.open = false; - var tmp_switchObj = $$(node, consts.id.SWITCH, setting), - tmp_icoObj = $$(node, consts.id.ICON, setting); - view.replaceSwitchClass(node, tmp_switchObj, consts.folder.DOCU); - view.replaceIcoClass(node, tmp_icoObj, consts.folder.DOCU); - $$(node, consts.id.UL, setting).remove(); - } else { - $$(node, consts.id.UL, setting).empty(); - } - }, - setFirstNode: function(setting, parentNode) { - var childKey = setting.data.key.children, childLength = parentNode[childKey].length; - if ( childLength > 0) { - parentNode[childKey][0].isFirstNode = true; - } - }, - setLastNode: function(setting, parentNode) { - var childKey = setting.data.key.children, childLength = parentNode[childKey].length; - if ( childLength > 0) { - parentNode[childKey][childLength - 1].isLastNode = true; - } - }, - removeNode: function(setting, node) { - var root = data.getRoot(setting), - childKey = setting.data.key.children, - parentNode = (node.parentTId) ? node.getParentNode() : root; - - node.isFirstNode = false; - node.isLastNode = false; - node.getPreNode = function() {return null;}; - node.getNextNode = function() {return null;}; - - if (!data.getNodeCache(setting, node.tId)) { - return; - } - - $$(node, setting).remove(); - data.removeNodeCache(setting, node); - data.removeSelectedNode(setting, node); - - for (var i = 0, l = parentNode[childKey].length; i < l; i++) { - if (parentNode[childKey][i].tId == node.tId) { - parentNode[childKey].splice(i, 1); - break; - } - } - view.setFirstNode(setting, parentNode); - view.setLastNode(setting, parentNode); - - var tmp_ulObj,tmp_switchObj,tmp_icoObj, - childLength = parentNode[childKey].length; - - //repair nodes old parent - if (!setting.data.keep.parent && childLength == 0) { - //old parentNode has no child nodes - parentNode.isParent = false; - parentNode.open = false; - tmp_ulObj = $$(parentNode, consts.id.UL, setting); - tmp_switchObj = $$(parentNode, consts.id.SWITCH, setting); - tmp_icoObj = $$(parentNode, consts.id.ICON, setting); - view.replaceSwitchClass(parentNode, tmp_switchObj, consts.folder.DOCU); - view.replaceIcoClass(parentNode, tmp_icoObj, consts.folder.DOCU); - tmp_ulObj.css("display", "none"); - - } else if (setting.view.showLine && childLength > 0) { - //old parentNode has child nodes - var newLast = parentNode[childKey][childLength - 1]; - tmp_ulObj = $$(newLast, consts.id.UL, setting); - tmp_switchObj = $$(newLast, consts.id.SWITCH, setting); - tmp_icoObj = $$(newLast, consts.id.ICON, setting); - if (parentNode == root) { - if (parentNode[childKey].length == 1) { - //node was root, and ztree has only one root after move node - view.replaceSwitchClass(newLast, tmp_switchObj, consts.line.ROOT); - } else { - var tmp_first_switchObj = $$(parentNode[childKey][0], consts.id.SWITCH, setting); - view.replaceSwitchClass(parentNode[childKey][0], tmp_first_switchObj, consts.line.ROOTS); - view.replaceSwitchClass(newLast, tmp_switchObj, consts.line.BOTTOM); - } - } else { - view.replaceSwitchClass(newLast, tmp_switchObj, consts.line.BOTTOM); - } - tmp_ulObj.removeClass(consts.line.LINE); - } - }, - replaceIcoClass: function(node, obj, newName) { - if (!obj || node.isAjaxing) return; - var tmpName = obj.attr("class"); - if (tmpName == undefined) return; - var tmpList = tmpName.split("_"); - switch (newName) { - case consts.folder.OPEN: - case consts.folder.CLOSE: - case consts.folder.DOCU: - tmpList[tmpList.length-1] = newName; - break; - } - obj.attr("class", tmpList.join("_")); - }, - replaceSwitchClass: function(node, obj, newName) { - if (!obj) return; - var tmpName = obj.attr("class"); - if (tmpName == undefined) return; - var tmpList = tmpName.split("_"); - switch (newName) { - case consts.line.ROOT: - case consts.line.ROOTS: - case consts.line.CENTER: - case consts.line.BOTTOM: - case consts.line.NOLINE: - tmpList[0] = view.makeNodeLineClassEx(node) + newName; - break; - case consts.folder.OPEN: - case consts.folder.CLOSE: - case consts.folder.DOCU: - tmpList[1] = newName; - break; - } - obj.attr("class", tmpList.join("_")); - if (newName !== consts.folder.DOCU) { - obj.removeAttr("disabled"); - } else { - obj.attr("disabled", "disabled"); - } - }, - selectNode: function(setting, node, addFlag) { - if (!addFlag) { - view.cancelPreSelectedNode(setting); - } - $$(node, consts.id.A, setting).addClass(consts.node.CURSELECTED); - data.addSelectedNode(setting, node); - }, - setNodeFontCss: function(setting, treeNode) { - var aObj = $$(treeNode, consts.id.A, setting), - fontCss = view.makeNodeFontCss(setting, treeNode); - if (fontCss) { - aObj.css(fontCss); - } - }, - setNodeLineIcos: function(setting, node) { - if (!node) return; - var switchObj = $$(node, consts.id.SWITCH, setting), - ulObj = $$(node, consts.id.UL, setting), - icoObj = $$(node, consts.id.ICON, setting), - ulLine = view.makeUlLineClass(setting, node); - if (ulLine.length==0) { - ulObj.removeClass(consts.line.LINE); - } else { - ulObj.addClass(ulLine); - } - switchObj.attr("class", view.makeNodeLineClass(setting, node)); - if (node.isParent) { - switchObj.removeAttr("disabled"); - } else { - switchObj.attr("disabled", "disabled"); - } - icoObj.removeAttr("style"); - icoObj.attr("style", view.makeNodeIcoStyle(setting, node)); - icoObj.attr("class", view.makeNodeIcoClass(setting, node)); - }, - setNodeName: function(setting, node) { - var title = data.getNodeTitle(setting, node), - nObj = $$(node, consts.id.SPAN, setting); - nObj.empty(); - if (setting.view.nameIsHTML) { - nObj.html(data.getNodeName(setting, node)); - } else { - nObj.text(data.getNodeName(setting, node)); - } - if (tools.apply(setting.view.showTitle, [setting.treeId, node], setting.view.showTitle)) { - var aObj = $$(node, consts.id.A, setting); - aObj.attr("title", !title ? "" : title); - } - }, - setNodeTarget: function(setting, node) { - var aObj = $$(node, consts.id.A, setting); - aObj.attr("target", view.makeNodeTarget(node)); - }, - setNodeUrl: function(setting, node) { - var aObj = $$(node, consts.id.A, setting), - url = view.makeNodeUrl(setting, node); - if (url == null || url.length == 0) { - aObj.removeAttr("href"); - } else { - aObj.attr("href", url); - } - }, - switchNode: function(setting, node) { - if (node.open || !tools.canAsync(setting, node)) { - view.expandCollapseNode(setting, node, !node.open); - } else if (setting.async.enable) { - if (!view.asyncNode(setting, node)) { - view.expandCollapseNode(setting, node, !node.open); - return; - } - } else if (node) { - view.expandCollapseNode(setting, node, !node.open); - } - } - }; - // zTree defind - $.fn.zTree = { - consts : _consts, - _z : { - tools: tools, - view: view, - event: event, - data: data - }, - getZTreeObj: function(treeId) { - var o = data.getZTreeTools(treeId); - return o ? o : null; - }, - destroy: function(treeId) { - if (!!treeId && treeId.length > 0) { - view.destroy(data.getSetting(treeId)); - } else { - for(var s in settings) { - view.destroy(settings[s]); - } - } - }, - init: function(obj, zSetting, zNodes) { - var setting = tools.clone(_setting); - $.extend(true, setting, zSetting); - setting.treeId = obj.attr("id"); - setting.treeObj = obj; - setting.treeObj.empty(); - settings[setting.treeId] = setting; - //For some older browser,(e.g., ie6) - if(typeof document.body.style.maxHeight === "undefined") { - setting.view.expandSpeed = ""; - } - data.initRoot(setting); - var root = data.getRoot(setting), - childKey = setting.data.key.children; - zNodes = zNodes ? tools.clone(tools.isArray(zNodes)? zNodes : [zNodes]) : []; - if (setting.data.simpleData.enable) { - root[childKey] = data.transformTozTreeFormat(setting, zNodes); - } else { - root[childKey] = zNodes; - } - - data.initCache(setting); - event.unbindTree(setting); - event.bindTree(setting); - event.unbindEvent(setting); - event.bindEvent(setting); - - var zTreeTools = { - setting : setting, - addNodes : function(parentNode, newNodes, isSilent) { - if (!newNodes) return null; - if (!parentNode) parentNode = null; - if (parentNode && !parentNode.isParent && setting.data.keep.leaf) return null; - var xNewNodes = tools.clone(tools.isArray(newNodes)? newNodes: [newNodes]); - function addCallback() { - view.addNodes(setting, parentNode, xNewNodes, (isSilent==true)); - } - - if (tools.canAsync(setting, parentNode)) { - view.asyncNode(setting, parentNode, isSilent, addCallback); - } else { - addCallback(); - } - return xNewNodes; - }, - cancelSelectedNode : function(node) { - view.cancelPreSelectedNode(setting, node); - }, - destroy : function() { - view.destroy(setting); - }, - expandAll : function(expandFlag) { - expandFlag = !!expandFlag; - view.expandCollapseSonNode(setting, null, expandFlag, true); - return expandFlag; - }, - expandNode : function(node, expandFlag, sonSign, focus, callbackFlag) { - if (!node || !node.isParent) return null; - if (expandFlag !== true && expandFlag !== false) { - expandFlag = !node.open; - } - callbackFlag = !!callbackFlag; - - if (callbackFlag && expandFlag && (tools.apply(setting.callback.beforeExpand, [setting.treeId, node], true) == false)) { - return null; - } else if (callbackFlag && !expandFlag && (tools.apply(setting.callback.beforeCollapse, [setting.treeId, node], true) == false)) { - return null; - } - if (expandFlag && node.parentTId) { - view.expandCollapseParentNode(setting, node.getParentNode(), expandFlag, false); - } - if (expandFlag === node.open && !sonSign) { - return null; - } - - data.getRoot(setting).expandTriggerFlag = callbackFlag; - if (!tools.canAsync(setting, node) && sonSign) { - view.expandCollapseSonNode(setting, node, expandFlag, true, function() { - if (focus !== false) {try{$$(node, setting).focus().blur();}catch(e){}} - }); - } else { - node.open = !expandFlag; - view.switchNode(this.setting, node); - if (focus !== false) {try{$$(node, setting).focus().blur();}catch(e){}} - } - return expandFlag; - }, - getNodes : function() { - return data.getNodes(setting); - }, - getNodeByParam : function(key, value, parentNode) { - if (!key) return null; - return data.getNodeByParam(setting, parentNode?parentNode[setting.data.key.children]:data.getNodes(setting), key, value); - }, - getNodeByTId : function(tId) { - return data.getNodeCache(setting, tId); - }, - getNodesByParam : function(key, value, parentNode) { - if (!key) return null; - return data.getNodesByParam(setting, parentNode?parentNode[setting.data.key.children]:data.getNodes(setting), key, value); - }, - getNodesByParamFuzzy : function(key, value, parentNode) { - if (!key) return null; - return data.getNodesByParamFuzzy(setting, parentNode?parentNode[setting.data.key.children]:data.getNodes(setting), key, value); - }, - getNodesByFilter: function(filter, isSingle, parentNode, invokeParam) { - isSingle = !!isSingle; - if (!filter || (typeof filter != "function")) return (isSingle ? null : []); - return data.getNodesByFilter(setting, parentNode?parentNode[setting.data.key.children]:data.getNodes(setting), filter, isSingle, invokeParam); - }, - getNodeIndex : function(node) { - if (!node) return null; - var childKey = setting.data.key.children, - parentNode = (node.parentTId) ? node.getParentNode() : data.getRoot(setting); - for (var i=0, l = parentNode[childKey].length; i < l; i++) { - if (parentNode[childKey][i] == node) return i; - } - return -1; - }, - getSelectedNodes : function() { - var r = [], list = data.getRoot(setting).curSelectedList; - for (var i=0, l=list.length; i<l; i++) { - r.push(list[i]); - } - return r; - }, - isSelectedNode : function(node) { - return data.isSelectedNode(setting, node); - }, - reAsyncChildNodes : function(parentNode, reloadType, isSilent) { - if (!this.setting.async.enable) return; - var isRoot = !parentNode; - if (isRoot) { - parentNode = data.getRoot(setting); - } - if (reloadType=="refresh") { - var childKey = this.setting.data.key.children; - for (var i = 0, l = parentNode[childKey] ? parentNode[childKey].length : 0; i < l; i++) { - data.removeNodeCache(setting, parentNode[childKey][i]); - } - data.removeSelectedNode(setting); - parentNode[childKey] = []; - if (isRoot) { - this.setting.treeObj.empty(); - } else { - var ulObj = $$(parentNode, consts.id.UL, setting); - ulObj.empty(); - } - } - view.asyncNode(this.setting, isRoot? null:parentNode, !!isSilent); - }, - refresh : function() { - this.setting.treeObj.empty(); - var root = data.getRoot(setting), - nodes = root[setting.data.key.children] - data.initRoot(setting); - root[setting.data.key.children] = nodes - data.initCache(setting); - view.createNodes(setting, 0, root[setting.data.key.children]); - }, - removeChildNodes : function(node) { - if (!node) return null; - var childKey = setting.data.key.children, - nodes = node[childKey]; - view.removeChildNodes(setting, node); - return nodes ? nodes : null; - }, - removeNode : function(node, callbackFlag) { - if (!node) return; - callbackFlag = !!callbackFlag; - if (callbackFlag && tools.apply(setting.callback.beforeRemove, [setting.treeId, node], true) == false) return; - view.removeNode(setting, node); - if (callbackFlag) { - this.setting.treeObj.trigger(consts.event.REMOVE, [setting.treeId, node]); - } - }, - selectNode : function(node, addFlag) { - if (!node) return; - if (tools.uCanDo(setting)) { - addFlag = setting.view.selectedMulti && addFlag; - if (node.parentTId) { - view.expandCollapseParentNode(setting, node.getParentNode(), true, false, function() { - try{$$(node, setting).focus().blur();}catch(e){} - }); - } else { - try{$$(node, setting).focus().blur();}catch(e){} - } - view.selectNode(setting, node, addFlag); - } - }, - transformTozTreeNodes : function(simpleNodes) { - return data.transformTozTreeFormat(setting, simpleNodes); - }, - transformToArray : function(nodes) { - return data.transformToArrayFormat(setting, nodes); - }, - updateNode : function(node, checkTypeFlag) { - if (!node) return; - var nObj = $$(node, setting); - if (nObj.get(0) && tools.uCanDo(setting)) { - view.setNodeName(setting, node); - view.setNodeTarget(setting, node); - view.setNodeUrl(setting, node); - view.setNodeLineIcos(setting, node); - view.setNodeFontCss(setting, node); - } - } - } - root.treeTools = zTreeTools; - data.setZTreeTools(setting, zTreeTools); - - if (root[childKey] && root[childKey].length > 0) { - view.createNodes(setting, 0, root[childKey]); - } else if (setting.async.enable && setting.async.url && setting.async.url !== '') { - view.asyncNode(setting); - } - return zTreeTools; - } - }; - - var zt = $.fn.zTree, - $$ = tools.$, - consts = zt.consts; +/*
+ * JQuery zTree core v3.5.16
+ * http://zTree.me/
+ *
+ * Copyright (c) 2010 Hunter.z
+ *
+ * Licensed same as jquery - MIT License
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ * email: hunter.z@263.net
+ * Date: 2014-03-09
+ */
+(function($){
+ var settings = {}, roots = {}, caches = {},
+ //default consts of core
+ _consts = {
+ className: {
+ BUTTON: "button",
+ LEVEL: "level",
+ ICO_LOADING: "ico_loading",
+ SWITCH: "switch"
+ },
+ event: {
+ NODECREATED: "ztree_nodeCreated",
+ CLICK: "ztree_click",
+ EXPAND: "ztree_expand",
+ COLLAPSE: "ztree_collapse",
+ ASYNC_SUCCESS: "ztree_async_success",
+ ASYNC_ERROR: "ztree_async_error",
+ REMOVE: "ztree_remove"
+ },
+ id: {
+ A: "_a",
+ ICON: "_ico",
+ SPAN: "_span",
+ SWITCH: "_switch",
+ UL: "_ul"
+ },
+ line: {
+ ROOT: "root",
+ ROOTS: "roots",
+ CENTER: "center",
+ BOTTOM: "bottom",
+ NOLINE: "noline",
+ LINE: "line"
+ },
+ folder: {
+ OPEN: "open",
+ CLOSE: "close",
+ DOCU: "docu"
+ },
+ node: {
+ CURSELECTED: "curSelectedNode"
+ }
+ },
+ //default setting of core
+ _setting = {
+ treeId: "",
+ treeObj: null,
+ view: {
+ addDiyDom: null,
+ autoCancelSelected: true,
+ dblClickExpand: true,
+ expandSpeed: "fast",
+ fontCss: {},
+ nameIsHTML: false,
+ selectedMulti: true,
+ showIcon: true,
+ showLine: true,
+ showTitle: true,
+ txtSelectedEnable: false
+ },
+ data: {
+ key: {
+ children: "children",
+ name: "name",
+ title: "",
+ url: "url"
+ },
+ simpleData: {
+ enable: false,
+ idKey: "id",
+ pIdKey: "pId",
+ rootPId: null
+ },
+ keep: {
+ parent: false,
+ leaf: false
+ }
+ },
+ async: {
+ enable: false,
+ 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
+ }
+ },
+ //default root of core
+ //zTree use root to save full data
+ _initRoot = function (setting) {
+ var r = data.getRoot(setting);
+ if (!r) {
+ r = {};
+ data.setRoot(setting, r);
+ }
+ r[setting.data.key.children] = [];
+ r.expandTriggerFlag = false;
+ r.curSelectedList = [];
+ r.noSelection = true;
+ r.createdNodes = [];
+ r.zId = 0;
+ r._ver = (new Date()).getTime();
+ },
+ //default cache of core
+ _initCache = function(setting) {
+ var c = data.getCache(setting);
+ if (!c) {
+ c = {};
+ data.setCache(setting, c);
+ }
+ c.nodes = [];
+ c.doms = [];
+ },
+ //default bindEvent of core
+ _bindEvent = function(setting) {
+ var o = setting.treeObj,
+ c = consts.event;
+ o.bind(c.NODECREATED, function (event, treeId, node) {
+ tools.apply(setting.callback.onNodeCreated, [event, treeId, node]);
+ });
+
+ o.bind(c.CLICK, function (event, srcEvent, treeId, node, clickFlag) {
+ tools.apply(setting.callback.onClick, [srcEvent, treeId, node, clickFlag]);
+ });
+
+ o.bind(c.EXPAND, function (event, treeId, node) {
+ tools.apply(setting.callback.onExpand, [event, treeId, node]);
+ });
+
+ o.bind(c.COLLAPSE, function (event, treeId, node) {
+ tools.apply(setting.callback.onCollapse, [event, treeId, node]);
+ });
+
+ o.bind(c.ASYNC_SUCCESS, function (event, treeId, node, msg) {
+ tools.apply(setting.callback.onAsyncSuccess, [event, treeId, node, msg]);
+ });
+
+ o.bind(c.ASYNC_ERROR, function (event, treeId, node, XMLHttpRequest, textStatus, errorThrown) {
+ tools.apply(setting.callback.onAsyncError, [event, treeId, node, XMLHttpRequest, textStatus, errorThrown]);
+ });
+
+ o.bind(c.REMOVE, function (event, treeId, treeNode) {
+ tools.apply(setting.callback.onRemove, [event, treeId, treeNode]);
+ });
+ },
+ _unbindEvent = function(setting) {
+ var o = setting.treeObj,
+ c = consts.event;
+ o.unbind(c.NODECREATED)
+ .unbind(c.CLICK)
+ .unbind(c.EXPAND)
+ .unbind(c.COLLAPSE)
+ .unbind(c.ASYNC_SUCCESS)
+ .unbind(c.ASYNC_ERROR)
+ .unbind(c.REMOVE);
+ },
+ //default event proxy of core
+ _eventProxy = function(event) {
+ var target = event.target,
+ setting = data.getSetting(event.data.treeId),
+ tId = "", node = null,
+ nodeEventType = "", treeEventType = "",
+ nodeEventCallback = null, treeEventCallback = null,
+ tmp = null;
+
+ if (tools.eqs(event.type, "mousedown")) {
+ treeEventType = "mousedown";
+ } else if (tools.eqs(event.type, "mouseup")) {
+ treeEventType = "mouseup";
+ } else if (tools.eqs(event.type, "contextmenu")) {
+ treeEventType = "contextmenu";
+ } else if (tools.eqs(event.type, "click")) {
+ if (tools.eqs(target.tagName, "span") && target.getAttribute("treeNode"+ consts.id.SWITCH) !== null) {
+ tId = tools.getNodeMainDom(target).id;
+ nodeEventType = "switchNode";
+ } else {
+ tmp = tools.getMDom(setting, target, [{tagName:"a", attrName:"treeNode"+consts.id.A}]);
+ if (tmp) {
+ tId = tools.getNodeMainDom(tmp).id;
+ nodeEventType = "clickNode";
+ }
+ }
+ } else if (tools.eqs(event.type, "dblclick")) {
+ treeEventType = "dblclick";
+ tmp = tools.getMDom(setting, target, [{tagName:"a", attrName:"treeNode"+consts.id.A}]);
+ if (tmp) {
+ tId = tools.getNodeMainDom(tmp).id;
+ nodeEventType = "switchNode";
+ }
+ }
+ if (treeEventType.length > 0 && tId.length == 0) {
+ tmp = tools.getMDom(setting, target, [{tagName:"a", attrName:"treeNode"+consts.id.A}]);
+ if (tmp) {tId = tools.getNodeMainDom(tmp).id;}
+ }
+ // event to node
+ if (tId.length>0) {
+ node = data.getNodeCache(setting, tId);
+ switch (nodeEventType) {
+ case "switchNode" :
+ if (!node.isParent) {
+ nodeEventType = "";
+ } else if (tools.eqs(event.type, "click")
+ || (tools.eqs(event.type, "dblclick") && tools.apply(setting.view.dblClickExpand, [setting.treeId, node], setting.view.dblClickExpand))) {
+ nodeEventCallback = handler.onSwitchNode;
+ } else {
+ nodeEventType = "";
+ }
+ break;
+ case "clickNode" :
+ nodeEventCallback = handler.onClickNode;
+ break;
+ }
+ }
+ // event to zTree
+ switch (treeEventType) {
+ case "mousedown" :
+ treeEventCallback = handler.onZTreeMousedown;
+ break;
+ case "mouseup" :
+ treeEventCallback = handler.onZTreeMouseup;
+ break;
+ case "dblclick" :
+ treeEventCallback = handler.onZTreeDblclick;
+ break;
+ case "contextmenu" :
+ treeEventCallback = handler.onZTreeContextmenu;
+ break;
+ }
+ var proxyResult = {
+ stop: false,
+ node: node,
+ nodeEventType: nodeEventType,
+ nodeEventCallback: nodeEventCallback,
+ treeEventType: treeEventType,
+ treeEventCallback: treeEventCallback
+ };
+ return proxyResult
+ },
+ //default init node of core
+ _initNode = function(setting, level, n, parentNode, isFirstNode, isLastNode, openFlag) {
+ if (!n) return;
+ var r = data.getRoot(setting),
+ childKey = setting.data.key.children;
+ n.level = level;
+ n.tId = setting.treeId + "_" + (++r.zId);
+ n.parentTId = parentNode ? parentNode.tId : null;
+ n.open = (typeof n.open == "string") ? tools.eqs(n.open, "true") : !!n.open;
+ if (n[childKey] && n[childKey].length > 0) {
+ n.isParent = true;
+ n.zAsync = true;
+ } else {
+ n.isParent = (typeof n.isParent == "string") ? tools.eqs(n.isParent, "true") : !!n.isParent;
+ n.open = (n.isParent && !setting.async.enable) ? n.open : false;
+ n.zAsync = !n.isParent;
+ }
+ n.isFirstNode = isFirstNode;
+ n.isLastNode = isLastNode;
+ n.getParentNode = function() {return data.getNodeCache(setting, n.parentTId);};
+ n.getPreNode = function() {return data.getPreNode(setting, n);};
+ n.getNextNode = function() {return data.getNextNode(setting, n);};
+ n.isAjaxing = false;
+ data.fixPIdKeyValue(setting, n);
+ },
+ _init = {
+ bind: [_bindEvent],
+ unbind: [_unbindEvent],
+ caches: [_initCache],
+ nodes: [_initNode],
+ proxys: [_eventProxy],
+ roots: [_initRoot],
+ beforeA: [],
+ afterA: [],
+ innerBeforeA: [],
+ innerAfterA: [],
+ zTreeTools: []
+ },
+ //method of operate data
+ data = {
+ addNodeCache: function(setting, node) {
+ data.getCache(setting).nodes[data.getNodeCacheId(node.tId)] = node;
+ },
+ getNodeCacheId: function(tId) {
+ return tId.substring(tId.lastIndexOf("_")+1);
+ },
+ addAfterA: function(afterA) {
+ _init.afterA.push(afterA);
+ },
+ addBeforeA: function(beforeA) {
+ _init.beforeA.push(beforeA);
+ },
+ addInnerAfterA: function(innerAfterA) {
+ _init.innerAfterA.push(innerAfterA);
+ },
+ addInnerBeforeA: function(innerBeforeA) {
+ _init.innerBeforeA.push(innerBeforeA);
+ },
+ addInitBind: function(bindEvent) {
+ _init.bind.push(bindEvent);
+ },
+ addInitUnBind: function(unbindEvent) {
+ _init.unbind.push(unbindEvent);
+ },
+ addInitCache: function(initCache) {
+ _init.caches.push(initCache);
+ },
+ addInitNode: function(initNode) {
+ _init.nodes.push(initNode);
+ },
+ addInitProxy: function(initProxy, isFirst) {
+ if (!!isFirst) {
+ _init.proxys.splice(0,0,initProxy);
+ } else {
+ _init.proxys.push(initProxy);
+ }
+ },
+ addInitRoot: function(initRoot) {
+ _init.roots.push(initRoot);
+ },
+ addNodesData: function(setting, parentNode, nodes) {
+ var childKey = setting.data.key.children;
+ if (!parentNode[childKey]) parentNode[childKey] = [];
+ if (parentNode[childKey].length > 0) {
+ parentNode[childKey][parentNode[childKey].length - 1].isLastNode = false;
+ view.setNodeLineIcos(setting, parentNode[childKey][parentNode[childKey].length - 1]);
+ }
+ parentNode.isParent = true;
+ parentNode[childKey] = parentNode[childKey].concat(nodes);
+ },
+ addSelectedNode: function(setting, node) {
+ var root = data.getRoot(setting);
+ if (!data.isSelectedNode(setting, node)) {
+ root.curSelectedList.push(node);
+ }
+ },
+ addCreatedNode: function(setting, node) {
+ if (!!setting.callback.onNodeCreated || !!setting.view.addDiyDom) {
+ var root = data.getRoot(setting);
+ root.createdNodes.push(node);
+ }
+ },
+ addZTreeTools: function(zTreeTools) {
+ _init.zTreeTools.push(zTreeTools);
+ },
+ exSetting: function(s) {
+ $.extend(true, _setting, s);
+ },
+ fixPIdKeyValue: function(setting, node) {
+ if (setting.data.simpleData.enable) {
+ node[setting.data.simpleData.pIdKey] = node.parentTId ? node.getParentNode()[setting.data.simpleData.idKey] : setting.data.simpleData.rootPId;
+ }
+ },
+ getAfterA: function(setting, node, array) {
+ for (var i=0, j=_init.afterA.length; i<j; i++) {
+ _init.afterA[i].apply(this, arguments);
+ }
+ },
+ getBeforeA: function(setting, node, array) {
+ for (var i=0, j=_init.beforeA.length; i<j; i++) {
+ _init.beforeA[i].apply(this, arguments);
+ }
+ },
+ getInnerAfterA: function(setting, node, array) {
+ for (var i=0, j=_init.innerAfterA.length; i<j; i++) {
+ _init.innerAfterA[i].apply(this, arguments);
+ }
+ },
+ getInnerBeforeA: function(setting, node, array) {
+ for (var i=0, j=_init.innerBeforeA.length; i<j; i++) {
+ _init.innerBeforeA[i].apply(this, arguments);
+ }
+ },
+ getCache: function(setting) {
+ return caches[setting.treeId];
+ },
+ getNextNode: function(setting, node) {
+ if (!node) return null;
+ var childKey = setting.data.key.children,
+ p = node.parentTId ? node.getParentNode() : data.getRoot(setting);
+ for (var i=0, l=p[childKey].length-1; i<=l; i++) {
+ if (p[childKey][i] === node) {
+ return (i==l ? null : p[childKey][i+1]);
+ }
+ }
+ return null;
+ },
+ getNodeByParam: function(setting, nodes, key, value) {
+ if (!nodes || !key) return null;
+ var childKey = setting.data.key.children;
+ for (var i = 0, l = nodes.length; i < l; i++) {
+ if (nodes[i][key] == value) {
+ return nodes[i];
+ }
+ var tmp = data.getNodeByParam(setting, nodes[i][childKey], key, value);
+ if (tmp) return tmp;
+ }
+ return null;
+ },
+ getNodeCache: function(setting, tId) {
+ if (!tId) return null;
+ var n = caches[setting.treeId].nodes[data.getNodeCacheId(tId)];
+ return n ? n : null;
+ },
+ getNodeName: function(setting, node) {
+ var nameKey = setting.data.key.name;
+ return "" + node[nameKey];
+ },
+ getNodeTitle: function(setting, node) {
+ var t = setting.data.key.title === "" ? setting.data.key.name : setting.data.key.title;
+ return "" + node[t];
+ },
+ getNodes: function(setting) {
+ return data.getRoot(setting)[setting.data.key.children];
+ },
+ getNodesByParam: function(setting, nodes, key, value) {
+ if (!nodes || !key) return [];
+ var childKey = setting.data.key.children,
+ result = [];
+ for (var i = 0, l = nodes.length; i < l; i++) {
+ if (nodes[i][key] == value) {
+ result.push(nodes[i]);
+ }
+ result = result.concat(data.getNodesByParam(setting, nodes[i][childKey], key, value));
+ }
+ return result;
+ },
+ getNodesByParamFuzzy: function(setting, nodes, key, value) {
+ if (!nodes || !key) return [];
+ var childKey = setting.data.key.children,
+ result = [];
+ value = value.toLowerCase();
+ for (var i = 0, l = nodes.length; i < l; i++) {
+ if (typeof nodes[i][key] == "string" && nodes[i][key].toLowerCase().indexOf(value)>-1) {
+ result.push(nodes[i]);
+ }
+ result = result.concat(data.getNodesByParamFuzzy(setting, nodes[i][childKey], key, value));
+ }
+ return result;
+ },
+ getNodesByFilter: function(setting, nodes, filter, isSingle, invokeParam) {
+ if (!nodes) return (isSingle ? null : []);
+ var childKey = setting.data.key.children,
+ result = isSingle ? null : [];
+ for (var i = 0, l = nodes.length; i < l; i++) {
+ if (tools.apply(filter, [nodes[i], invokeParam], false)) {
+ if (isSingle) {return nodes[i];}
+ result.push(nodes[i]);
+ }
+ var tmpResult = data.getNodesByFilter(setting, nodes[i][childKey], filter, isSingle, invokeParam);
+ if (isSingle && !!tmpResult) {return tmpResult;}
+ result = isSingle ? tmpResult : result.concat(tmpResult);
+ }
+ return result;
+ },
+ getPreNode: function(setting, node) {
+ if (!node) return null;
+ var childKey = setting.data.key.children,
+ p = node.parentTId ? node.getParentNode() : data.getRoot(setting);
+ for (var i=0, l=p[childKey].length; i<l; i++) {
+ if (p[childKey][i] === node) {
+ return (i==0 ? null : p[childKey][i-1]);
+ }
+ }
+ return null;
+ },
+ getRoot: function(setting) {
+ return setting ? roots[setting.treeId] : null;
+ },
+ getRoots: function() {
+ return roots;
+ },
+ getSetting: function(treeId) {
+ return settings[treeId];
+ },
+ getSettings: function() {
+ return settings;
+ },
+ getZTreeTools: function(treeId) {
+ var r = this.getRoot(this.getSetting(treeId));
+ return r ? r.treeTools : null;
+ },
+ initCache: function(setting) {
+ for (var i=0, j=_init.caches.length; i<j; i++) {
+ _init.caches[i].apply(this, arguments);
+ }
+ },
+ initNode: function(setting, level, node, parentNode, preNode, nextNode) {
+ for (var i=0, j=_init.nodes.length; i<j; i++) {
+ _init.nodes[i].apply(this, arguments);
+ }
+ },
+ initRoot: function(setting) {
+ for (var i=0, j=_init.roots.length; i<j; i++) {
+ _init.roots[i].apply(this, arguments);
+ }
+ },
+ isSelectedNode: function(setting, node) {
+ var root = data.getRoot(setting);
+ for (var i=0, j=root.curSelectedList.length; i<j; i++) {
+ if(node === root.curSelectedList[i]) return true;
+ }
+ return false;
+ },
+ removeNodeCache: function(setting, node) {
+ var childKey = setting.data.key.children;
+ if (node[childKey]) {
+ for (var i=0, l=node[childKey].length; i<l; i++) {
+ arguments.callee(setting, node[childKey][i]);
+ }
+ }
+ data.getCache(setting).nodes[data.getNodeCacheId(node.tId)] = null;
+ },
+ removeSelectedNode: function(setting, node) {
+ var root = data.getRoot(setting);
+ for (var i=0, j=root.curSelectedList.length; i<j; i++) {
+ if(node === root.curSelectedList[i] || !data.getNodeCache(setting, root.curSelectedList[i].tId)) {
+ root.curSelectedList.splice(i, 1);
+ i--;j--;
+ }
+ }
+ },
+ setCache: function(setting, cache) {
+ caches[setting.treeId] = cache;
+ },
+ setRoot: function(setting, root) {
+ roots[setting.treeId] = root;
+ },
+ setZTreeTools: function(setting, zTreeTools) {
+ for (var i=0, j=_init.zTreeTools.length; i<j; i++) {
+ _init.zTreeTools[i].apply(this, arguments);
+ }
+ },
+ transformToArrayFormat: function (setting, nodes) {
+ if (!nodes) return [];
+ var childKey = setting.data.key.children,
+ r = [];
+ if (tools.isArray(nodes)) {
+ for (var i=0, l=nodes.length; i<l; i++) {
+ r.push(nodes[i]);
+ if (nodes[i][childKey])
+ r = r.concat(data.transformToArrayFormat(setting, nodes[i][childKey]));
+ }
+ } else {
+ r.push(nodes);
+ if (nodes[childKey])
+ r = r.concat(data.transformToArrayFormat(setting, nodes[childKey]));
+ }
+ return r;
+ },
+ transformTozTreeFormat: function(setting, sNodes) {
+ var i,l,
+ key = setting.data.simpleData.idKey,
+ parentKey = setting.data.simpleData.pIdKey,
+ childKey = setting.data.key.children;
+ if (!key || key=="" || !sNodes) return [];
+
+ if (tools.isArray(sNodes)) {
+ var r = [];
+ var tmpMap = [];
+ for (i=0, l=sNodes.length; i<l; i++) {
+ tmpMap[sNodes[i][key]] = sNodes[i];
+ }
+ for (i=0, l=sNodes.length; i<l; i++) {
+ if (tmpMap[sNodes[i][parentKey]] && sNodes[i][key] != sNodes[i][parentKey]) {
+ if (!tmpMap[sNodes[i][parentKey]][childKey])
+ tmpMap[sNodes[i][parentKey]][childKey] = [];
+ tmpMap[sNodes[i][parentKey]][childKey].push(sNodes[i]);
+ } else {
+ r.push(sNodes[i]);
+ }
+ }
+ return r;
+ }else {
+ return [sNodes];
+ }
+ }
+ },
+ //method of event proxy
+ event = {
+ bindEvent: function(setting) {
+ for (var i=0, j=_init.bind.length; i<j; i++) {
+ _init.bind[i].apply(this, arguments);
+ }
+ },
+ unbindEvent: function(setting) {
+ for (var i=0, j=_init.unbind.length; i<j; i++) {
+ _init.unbind[i].apply(this, arguments);
+ }
+ },
+ bindTree: function(setting) {
+ var eventParam = {
+ treeId: setting.treeId
+ },
+ o = setting.treeObj;
+ if (!setting.view.txtSelectedEnable) {
+ // for can't select text
+ o.bind('selectstart', function(e){
+ var node
+ var n = e.originalEvent.srcElement.nodeName.toLowerCase();
+ return (n === "input" || n === "textarea" );
+ }).css({
+ "-moz-user-select":"-moz-none"
+ });
+ }
+ o.bind('click', eventParam, event.proxy);
+ o.bind('dblclick', eventParam, event.proxy);
+ o.bind('mouseover', eventParam, event.proxy);
+ o.bind('mouseout', eventParam, event.proxy);
+ o.bind('mousedown', eventParam, event.proxy);
+ o.bind('mouseup', eventParam, event.proxy);
+ o.bind('contextmenu', eventParam, event.proxy);
+ },
+ unbindTree: function(setting) {
+ var o = setting.treeObj;
+ o.unbind('click', event.proxy)
+ .unbind('dblclick', event.proxy)
+ .unbind('mouseover', event.proxy)
+ .unbind('mouseout', event.proxy)
+ .unbind('mousedown', event.proxy)
+ .unbind('mouseup', event.proxy)
+ .unbind('contextmenu', event.proxy);
+ },
+ doProxy: function(e) {
+ var results = [];
+ for (var i=0, j=_init.proxys.length; i<j; i++) {
+ var proxyResult = _init.proxys[i].apply(this, arguments);
+ results.push(proxyResult);
+ if (proxyResult.stop) {
+ break;
+ }
+ }
+ return results;
+ },
+ proxy: function(e) {
+ var setting = data.getSetting(e.data.treeId);
+ if (!tools.uCanDo(setting, e)) return true;
+ var results = event.doProxy(e),
+ r = true, x = false;
+ for (var i=0, l=results.length; i<l; i++) {
+ var proxyResult = results[i];
+ if (proxyResult.nodeEventCallback) {
+ x = true;
+ r = proxyResult.nodeEventCallback.apply(proxyResult, [e, proxyResult.node]) && r;
+ }
+ if (proxyResult.treeEventCallback) {
+ x = true;
+ r = proxyResult.treeEventCallback.apply(proxyResult, [e, proxyResult.node]) && r;
+ }
+ }
+ return r;
+ }
+ },
+ //method of event handler
+ handler = {
+ onSwitchNode: function (event, node) {
+ var setting = data.getSetting(event.data.treeId);
+ if (node.open) {
+ if (tools.apply(setting.callback.beforeCollapse, [setting.treeId, node], true) == false) return true;
+ data.getRoot(setting).expandTriggerFlag = true;
+ view.switchNode(setting, node);
+ } else {
+ if (tools.apply(setting.callback.beforeExpand, [setting.treeId, node], true) == false) return true;
+ data.getRoot(setting).expandTriggerFlag = true;
+ view.switchNode(setting, node);
+ }
+ return true;
+ },
+ onClickNode: function (event, node) {
+ var setting = data.getSetting(event.data.treeId),
+ clickFlag = ( (setting.view.autoCancelSelected && (event.ctrlKey || event.metaKey)) && data.isSelectedNode(setting, node)) ? 0 : (setting.view.autoCancelSelected && (event.ctrlKey || event.metaKey) && setting.view.selectedMulti) ? 2 : 1;
+ if (tools.apply(setting.callback.beforeClick, [setting.treeId, node, clickFlag], true) == false) return true;
+ if (clickFlag === 0) {
+ view.cancelPreSelectedNode(setting, node);
+ } else {
+ view.selectNode(setting, node, clickFlag === 2);
+ }
+ setting.treeObj.trigger(consts.event.CLICK, [event, setting.treeId, node, clickFlag]);
+ return true;
+ },
+ onZTreeMousedown: function(event, node) {
+ var setting = data.getSetting(event.data.treeId);
+ if (tools.apply(setting.callback.beforeMouseDown, [setting.treeId, node], true)) {
+ tools.apply(setting.callback.onMouseDown, [event, setting.treeId, node]);
+ }
+ return true;
+ },
+ onZTreeMouseup: function(event, node) {
+ var setting = data.getSetting(event.data.treeId);
+ if (tools.apply(setting.callback.beforeMouseUp, [setting.treeId, node], true)) {
+ tools.apply(setting.callback.onMouseUp, [event, setting.treeId, node]);
+ }
+ return true;
+ },
+ onZTreeDblclick: function(event, node) {
+ var setting = data.getSetting(event.data.treeId);
+ if (tools.apply(setting.callback.beforeDblClick, [setting.treeId, node], true)) {
+ tools.apply(setting.callback.onDblClick, [event, setting.treeId, node]);
+ }
+ return true;
+ },
+ onZTreeContextmenu: function(event, node) {
+ var setting = data.getSetting(event.data.treeId);
+ if (tools.apply(setting.callback.beforeRightClick, [setting.treeId, node], true)) {
+ tools.apply(setting.callback.onRightClick, [event, setting.treeId, node]);
+ }
+ return (typeof setting.callback.onRightClick) != "function";
+ }
+ },
+ //method of tools for zTree
+ tools = {
+ apply: function(fun, param, defaultValue) {
+ if ((typeof fun) == "function") {
+ return fun.apply(zt, param?param:[]);
+ }
+ return defaultValue;
+ },
+ canAsync: function(setting, node) {
+ var childKey = setting.data.key.children;
+ return (setting.async.enable && node && node.isParent && !(node.zAsync || (node[childKey] && node[childKey].length > 0)));
+ },
+ clone: function (obj){
+ if (obj === null) return null;
+ var o = tools.isArray(obj) ? [] : {};
+ for(var i in obj){
+ o[i] = (obj[i] instanceof Date) ? new Date(obj[i].getTime()) : (typeof obj[i] === "object" ? arguments.callee(obj[i]) : obj[i]);
+ }
+ return o;
+ },
+ eqs: function(str1, str2) {
+ return str1.toLowerCase() === str2.toLowerCase();
+ },
+ isArray: function(arr) {
+ return Object.prototype.toString.apply(arr) === "[object Array]";
+ },
+ $: function(node, exp, setting) {
+ if (!!exp && typeof exp != "string") {
+ setting = exp;
+ exp = "";
+ }
+ if (typeof node == "string") {
+ return $(node, setting ? setting.treeObj.get(0).ownerDocument : null);
+ } else {
+ return $("#" + node.tId + exp, setting ? setting.treeObj : null);
+ }
+ },
+ getMDom: function (setting, curDom, targetExpr) {
+ if (!curDom) return null;
+ while (curDom && curDom.id !== setting.treeId) {
+ for (var i=0, l=targetExpr.length; curDom.tagName && i<l; i++) {
+ if (tools.eqs(curDom.tagName, targetExpr[i].tagName) && curDom.getAttribute(targetExpr[i].attrName) !== null) {
+ return curDom;
+ }
+ }
+ curDom = curDom.parentNode;
+ }
+ return null;
+ },
+ getNodeMainDom:function(target) {
+ return ($(target).parent("li").get(0) || $(target).parentsUntil("li").parent().get(0));
+ },
+ isChildOrSelf: function(dom, parentId) {
+ return ( $(dom).closest("#" + parentId).length> 0 );
+ },
+ uCanDo: function(setting, e) {
+ return true;
+ }
+ },
+ //method of operate ztree dom
+ view = {
+ addNodes: function(setting, parentNode, newNodes, isSilent) {
+ if (setting.data.keep.leaf && parentNode && !parentNode.isParent) {
+ return;
+ }
+ if (!tools.isArray(newNodes)) {
+ newNodes = [newNodes];
+ }
+ if (setting.data.simpleData.enable) {
+ newNodes = data.transformTozTreeFormat(setting, newNodes);
+ }
+ if (parentNode) {
+ var target_switchObj = $$(parentNode, consts.id.SWITCH, setting),
+ target_icoObj = $$(parentNode, consts.id.ICON, setting),
+ target_ulObj = $$(parentNode, consts.id.UL, setting);
+
+ if (!parentNode.open) {
+ view.replaceSwitchClass(parentNode, target_switchObj, consts.folder.CLOSE);
+ view.replaceIcoClass(parentNode, target_icoObj, consts.folder.CLOSE);
+ parentNode.open = false;
+ target_ulObj.css({
+ "display": "none"
+ });
+ }
+
+ data.addNodesData(setting, parentNode, newNodes);
+ view.createNodes(setting, parentNode.level + 1, newNodes, parentNode);
+ if (!isSilent) {
+ view.expandCollapseParentNode(setting, parentNode, true);
+ }
+ } else {
+ data.addNodesData(setting, data.getRoot(setting), newNodes);
+ view.createNodes(setting, 0, newNodes, null);
+ }
+ },
+ appendNodes: function(setting, level, nodes, parentNode, initFlag, openFlag) {
+ if (!nodes) return [];
+ var html = [],
+ childKey = setting.data.key.children;
+ for (var i = 0, l = nodes.length; i < l; i++) {
+ var node = nodes[i];
+ if (initFlag) {
+ var tmpPNode = (parentNode) ? parentNode: data.getRoot(setting),
+ tmpPChild = tmpPNode[childKey],
+ isFirstNode = ((tmpPChild.length == nodes.length) && (i == 0)),
+ isLastNode = (i == (nodes.length - 1));
+ data.initNode(setting, level, node, parentNode, isFirstNode, isLastNode, openFlag);
+ data.addNodeCache(setting, node);
+ }
+
+ var childHtml = [];
+ if (node[childKey] && node[childKey].length > 0) {
+ //make child html first, because checkType
+ childHtml = view.appendNodes(setting, level + 1, node[childKey], node, initFlag, openFlag && node.open);
+ }
+ if (openFlag) {
+
+ view.makeDOMNodeMainBefore(html, setting, node);
+ view.makeDOMNodeLine(html, setting, node);
+ data.getBeforeA(setting, node, html);
+ view.makeDOMNodeNameBefore(html, setting, node);
+ data.getInnerBeforeA(setting, node, html);
+ view.makeDOMNodeIcon(html, setting, node);
+ data.getInnerAfterA(setting, node, html);
+ view.makeDOMNodeNameAfter(html, setting, node);
+ data.getAfterA(setting, node, html);
+ if (node.isParent && node.open) {
+ view.makeUlHtml(setting, node, html, childHtml.join(''));
+ }
+ view.makeDOMNodeMainAfter(html, setting, node);
+ data.addCreatedNode(setting, node);
+ }
+ }
+ return html;
+ },
+ appendParentULDom: function(setting, node) {
+ var html = [],
+ nObj = $$(node, setting);
+ if (!nObj.get(0) && !!node.parentTId) {
+ view.appendParentULDom(setting, node.getParentNode());
+ nObj = $$(node, setting);
+ }
+ var ulObj = $$(node, consts.id.UL, setting);
+ if (ulObj.get(0)) {
+ ulObj.remove();
+ }
+ var childKey = setting.data.key.children,
+ childHtml = view.appendNodes(setting, node.level+1, node[childKey], node, false, true);
+ view.makeUlHtml(setting, node, html, childHtml.join(''));
+ nObj.append(html.join(''));
+ },
+ asyncNode: function(setting, node, isSilent, callback) {
+ var i, l;
+ if (node && !node.isParent) {
+ tools.apply(callback);
+ return false;
+ } else if (node && node.isAjaxing) {
+ return false;
+ } else if (tools.apply(setting.callback.beforeAsync, [setting.treeId, node], true) == false) {
+ tools.apply(callback);
+ return false;
+ }
+ if (node) {
+ node.isAjaxing = true;
+ var icoObj = $$(node, consts.id.ICON, setting);
+ icoObj.attr({"style":"", "class":consts.className.BUTTON + " " + consts.className.ICO_LOADING});
+ }
+
+ var tmpParam = {};
+ for (i = 0, l = setting.async.autoParam.length; node && i < l; i++) {
+ var pKey = setting.async.autoParam[i].split("="), spKey = pKey;
+ if (pKey.length>1) {
+ spKey = pKey[1];
+ pKey = pKey[0];
+ }
+ tmpParam[spKey] = node[pKey];
+ }
+ if (tools.isArray(setting.async.otherParam)) {
+ for (i = 0, l = setting.async.otherParam.length; i < l; i += 2) {
+ tmpParam[setting.async.otherParam[i]] = setting.async.otherParam[i + 1];
+ }
+ } else {
+ for (var p in setting.async.otherParam) {
+ tmpParam[p] = setting.async.otherParam[p];
+ }
+ }
+
+ var _tmpV = data.getRoot(setting)._ver;
+ $.ajax({
+ contentType: setting.async.contentType,
+ type: setting.async.type,
+ url: tools.apply(setting.async.url, [setting.treeId, node], setting.async.url),
+ data: tmpParam,
+ dataType: setting.async.dataType,
+ success: function(msg) {
+ if (_tmpV != data.getRoot(setting)._ver) {
+ return;
+ }
+ var newNodes = [];
+ try {
+ if (!msg || msg.length == 0) {
+ newNodes = [];
+ } else if (typeof msg == "string") {
+ newNodes = eval("(" + msg + ")");
+ } else {
+ newNodes = msg;
+ }
+ } catch(err) {
+ newNodes = msg;
+ }
+
+ if (node) {
+ node.isAjaxing = null;
+ node.zAsync = true;
+ }
+ view.setNodeLineIcos(setting, node);
+ if (newNodes && newNodes !== "") {
+ newNodes = tools.apply(setting.async.dataFilter, [setting.treeId, node, newNodes], newNodes);
+ view.addNodes(setting, node, !!newNodes ? tools.clone(newNodes) : [], !!isSilent);
+ } else {
+ view.addNodes(setting, node, [], !!isSilent);
+ }
+ setting.treeObj.trigger(consts.event.ASYNC_SUCCESS, [setting.treeId, node, msg]);
+ tools.apply(callback);
+ },
+ error: function(XMLHttpRequest, textStatus, errorThrown) {
+ if (_tmpV != data.getRoot(setting)._ver) {
+ return;
+ }
+ if (node) node.isAjaxing = null;
+ view.setNodeLineIcos(setting, node);
+ setting.treeObj.trigger(consts.event.ASYNC_ERROR, [setting.treeId, node, XMLHttpRequest, textStatus, errorThrown]);
+ }
+ });
+ return true;
+ },
+ cancelPreSelectedNode: function (setting, node) {
+ var list = data.getRoot(setting).curSelectedList;
+ for (var i=0, j=list.length-1; j>=i; j--) {
+ if (!node || node === list[j]) {
+ $$(list[j], consts.id.A, setting).removeClass(consts.node.CURSELECTED);
+ if (node) {
+ data.removeSelectedNode(setting, node);
+ break;
+ }
+ }
+ }
+ if (!node) data.getRoot(setting).curSelectedList = [];
+ },
+ createNodeCallback: function(setting) {
+ if (!!setting.callback.onNodeCreated || !!setting.view.addDiyDom) {
+ var root = data.getRoot(setting);
+ while (root.createdNodes.length>0) {
+ var node = root.createdNodes.shift();
+ tools.apply(setting.view.addDiyDom, [setting.treeId, node]);
+ if (!!setting.callback.onNodeCreated) {
+ setting.treeObj.trigger(consts.event.NODECREATED, [setting.treeId, node]);
+ }
+ }
+ }
+ },
+ createNodes: function(setting, level, nodes, parentNode) {
+ if (!nodes || nodes.length == 0) return;
+ var root = data.getRoot(setting),
+ childKey = setting.data.key.children,
+ openFlag = !parentNode || parentNode.open || !!$$(parentNode[childKey][0], setting).get(0);
+ root.createdNodes = [];
+ var zTreeHtml = view.appendNodes(setting, level, nodes, parentNode, true, openFlag);
+ if (!parentNode) {
+ setting.treeObj.append(zTreeHtml.join(''));
+ } else {
+ var ulObj = $$(parentNode, consts.id.UL, setting);
+ if (ulObj.get(0)) {
+ ulObj.append(zTreeHtml.join(''));
+ }
+ }
+ view.createNodeCallback(setting);
+ },
+ destroy: function(setting) {
+ if (!setting) return;
+ data.initCache(setting);
+ data.initRoot(setting);
+ event.unbindTree(setting);
+ event.unbindEvent(setting);
+ setting.treeObj.empty();
+ delete settings[setting.treeId];
+ },
+ expandCollapseNode: function(setting, node, expandFlag, animateFlag, callback) {
+ var root = data.getRoot(setting),
+ childKey = setting.data.key.children;
+ if (!node) {
+ tools.apply(callback, []);
+ return;
+ }
+ if (root.expandTriggerFlag) {
+ var _callback = callback;
+ callback = function(){
+ if (_callback) _callback();
+ if (node.open) {
+ setting.treeObj.trigger(consts.event.EXPAND, [setting.treeId, node]);
+ } else {
+ setting.treeObj.trigger(consts.event.COLLAPSE, [setting.treeId, node]);
+ }
+ };
+ root.expandTriggerFlag = false;
+ }
+ if (!node.open && node.isParent && ((!$$(node, consts.id.UL, setting).get(0)) || (node[childKey] && node[childKey].length>0 && !$$(node[childKey][0], setting).get(0)))) {
+ view.appendParentULDom(setting, node);
+ view.createNodeCallback(setting);
+ }
+ if (node.open == expandFlag) {
+ tools.apply(callback, []);
+ return;
+ }
+ var ulObj = $$(node, consts.id.UL, setting),
+ switchObj = $$(node, consts.id.SWITCH, setting),
+ icoObj = $$(node, consts.id.ICON, setting);
+
+ if (node.isParent) {
+ node.open = !node.open;
+ if (node.iconOpen && node.iconClose) {
+ icoObj.attr("style", view.makeNodeIcoStyle(setting, node));
+ }
+
+ if (node.open) {
+ view.replaceSwitchClass(node, switchObj, consts.folder.OPEN);
+ view.replaceIcoClass(node, icoObj, consts.folder.OPEN);
+ if (animateFlag == false || setting.view.expandSpeed == "") {
+ ulObj.show();
+ tools.apply(callback, []);
+ } else {
+ if (node[childKey] && node[childKey].length > 0) {
+ ulObj.slideDown(setting.view.expandSpeed, callback);
+ } else {
+ ulObj.show();
+ tools.apply(callback, []);
+ }
+ }
+ } else {
+ view.replaceSwitchClass(node, switchObj, consts.folder.CLOSE);
+ view.replaceIcoClass(node, icoObj, consts.folder.CLOSE);
+ if (animateFlag == false || setting.view.expandSpeed == "" || !(node[childKey] && node[childKey].length > 0)) {
+ ulObj.hide();
+ tools.apply(callback, []);
+ } else {
+ ulObj.slideUp(setting.view.expandSpeed, callback);
+ }
+ }
+ } else {
+ tools.apply(callback, []);
+ }
+ },
+ expandCollapseParentNode: function(setting, node, expandFlag, animateFlag, callback) {
+ if (!node) return;
+ if (!node.parentTId) {
+ view.expandCollapseNode(setting, node, expandFlag, animateFlag, callback);
+ return;
+ } else {
+ view.expandCollapseNode(setting, node, expandFlag, animateFlag);
+ }
+ if (node.parentTId) {
+ view.expandCollapseParentNode(setting, node.getParentNode(), expandFlag, animateFlag, callback);
+ }
+ },
+ expandCollapseSonNode: function(setting, node, expandFlag, animateFlag, callback) {
+ var root = data.getRoot(setting),
+ childKey = setting.data.key.children,
+ treeNodes = (node) ? node[childKey]: root[childKey],
+ selfAnimateSign = (node) ? false : animateFlag,
+ expandTriggerFlag = data.getRoot(setting).expandTriggerFlag;
+ data.getRoot(setting).expandTriggerFlag = false;
+ if (treeNodes) {
+ for (var i = 0, l = treeNodes.length; i < l; i++) {
+ if (treeNodes[i]) view.expandCollapseSonNode(setting, treeNodes[i], expandFlag, selfAnimateSign);
+ }
+ }
+ data.getRoot(setting).expandTriggerFlag = expandTriggerFlag;
+ view.expandCollapseNode(setting, node, expandFlag, animateFlag, callback );
+ },
+ makeDOMNodeIcon: function(html, setting, node) {
+ var nameStr = data.getNodeName(setting, node),
+ name = setting.view.nameIsHTML ? nameStr : nameStr.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>');
+ html.push("<span id='", node.tId, consts.id.ICON,
+ "' title='' treeNode", consts.id.ICON," class='", view.makeNodeIcoClass(setting, node),
+ "' style='", view.makeNodeIcoStyle(setting, node), "'></span><span id='", node.tId, consts.id.SPAN,
+ "'>",name,"</span>");
+ },
+ makeDOMNodeLine: function(html, setting, node) {
+ html.push("<span id='", node.tId, consts.id.SWITCH, "' title='' class='", view.makeNodeLineClass(setting, node), "' treeNode", consts.id.SWITCH,"></span>");
+ },
+ makeDOMNodeMainAfter: function(html, setting, node) {
+ html.push("</li>");
+ },
+ makeDOMNodeMainBefore: function(html, setting, node) {
+ html.push("<li id='", node.tId, "' class='", consts.className.LEVEL, node.level,"' tabindex='0' hidefocus='true' treenode>");
+ },
+ makeDOMNodeNameAfter: function(html, setting, node) {
+ html.push("</a>");
+ },
+ makeDOMNodeNameBefore: function(html, setting, node) {
+ var title = data.getNodeTitle(setting, node),
+ url = view.makeNodeUrl(setting, node),
+ fontcss = view.makeNodeFontCss(setting, node),
+ fontStyle = [];
+ for (var f in fontcss) {
+ fontStyle.push(f, ":", fontcss[f], ";");
+ }
+ html.push("<a id='", node.tId, consts.id.A, "' class='", consts.className.LEVEL, node.level,"' treeNode", consts.id.A," onclick=\"", (node.click || ''),
+ "\" ", ((url != null && url.length > 0) ? "href='" + url + "'" : ""), " target='",view.makeNodeTarget(node),"' style='", fontStyle.join(''),
+ "'");
+ if (tools.apply(setting.view.showTitle, [setting.treeId, node], setting.view.showTitle) && title) {html.push("title='", title.replace(/'/g,"'").replace(/</g,'<').replace(/>/g,'>'),"'");}
+ html.push(">");
+ },
+ makeNodeFontCss: function(setting, node) {
+ var fontCss = tools.apply(setting.view.fontCss, [setting.treeId, node], setting.view.fontCss);
+ return (fontCss && ((typeof fontCss) != "function")) ? fontCss : {};
+ },
+ makeNodeIcoClass: function(setting, node) {
+ var icoCss = ["ico"];
+ if (!node.isAjaxing) {
+ icoCss[0] = (node.iconSkin ? node.iconSkin + "_" : "") + icoCss[0];
+ if (node.isParent) {
+ icoCss.push(node.open ? consts.folder.OPEN : consts.folder.CLOSE);
+ } else {
+ icoCss.push(consts.folder.DOCU);
+ }
+ }
+ return consts.className.BUTTON + " " + icoCss.join('_');
+ },
+ makeNodeIcoStyle: function(setting, node) {
+ var icoStyle = [];
+ if (!node.isAjaxing) {
+ var icon = (node.isParent && node.iconOpen && node.iconClose) ? (node.open ? node.iconOpen : node.iconClose) : node.icon;
+ if (icon) icoStyle.push("background:url(", icon, ") 0 0 no-repeat;");
+ if (setting.view.showIcon == false || !tools.apply(setting.view.showIcon, [setting.treeId, node], true)) {
+ icoStyle.push("width:0px;height:0px;");
+ }
+ }
+ return icoStyle.join('');
+ },
+ makeNodeLineClass: function(setting, node) {
+ var lineClass = [];
+ if (setting.view.showLine) {
+ if (node.level == 0 && node.isFirstNode && node.isLastNode) {
+ lineClass.push(consts.line.ROOT);
+ } else if (node.level == 0 && node.isFirstNode) {
+ lineClass.push(consts.line.ROOTS);
+ } else if (node.isLastNode) {
+ lineClass.push(consts.line.BOTTOM);
+ } else {
+ lineClass.push(consts.line.CENTER);
+ }
+ } else {
+ lineClass.push(consts.line.NOLINE);
+ }
+ if (node.isParent) {
+ lineClass.push(node.open ? consts.folder.OPEN : consts.folder.CLOSE);
+ } else {
+ lineClass.push(consts.folder.DOCU);
+ }
+ return view.makeNodeLineClassEx(node) + lineClass.join('_');
+ },
+ makeNodeLineClassEx: function(node) {
+ return consts.className.BUTTON + " " + consts.className.LEVEL + node.level + " " + consts.className.SWITCH + " ";
+ },
+ makeNodeTarget: function(node) {
+ return (node.target || "_blank");
+ },
+ makeNodeUrl: function(setting, node) {
+ var urlKey = setting.data.key.url;
+ return node[urlKey] ? node[urlKey] : null;
+ },
+ makeUlHtml: function(setting, node, html, content) {
+ html.push("<ul id='", node.tId, consts.id.UL, "' class='", consts.className.LEVEL, node.level, " ", view.makeUlLineClass(setting, node), "' style='display:", (node.open ? "block": "none"),"'>");
+ html.push(content);
+ html.push("</ul>");
+ },
+ makeUlLineClass: function(setting, node) {
+ return ((setting.view.showLine && !node.isLastNode) ? consts.line.LINE : "");
+ },
+ removeChildNodes: function(setting, node) {
+ if (!node) return;
+ var childKey = setting.data.key.children,
+ nodes = node[childKey];
+ if (!nodes) return;
+
+ for (var i = 0, l = nodes.length; i < l; i++) {
+ data.removeNodeCache(setting, nodes[i]);
+ }
+ data.removeSelectedNode(setting);
+ delete node[childKey];
+
+ if (!setting.data.keep.parent) {
+ node.isParent = false;
+ node.open = false;
+ var tmp_switchObj = $$(node, consts.id.SWITCH, setting),
+ tmp_icoObj = $$(node, consts.id.ICON, setting);
+ view.replaceSwitchClass(node, tmp_switchObj, consts.folder.DOCU);
+ view.replaceIcoClass(node, tmp_icoObj, consts.folder.DOCU);
+ $$(node, consts.id.UL, setting).remove();
+ } else {
+ $$(node, consts.id.UL, setting).empty();
+ }
+ },
+ setFirstNode: function(setting, parentNode) {
+ var childKey = setting.data.key.children, childLength = parentNode[childKey].length;
+ if ( childLength > 0) {
+ parentNode[childKey][0].isFirstNode = true;
+ }
+ },
+ setLastNode: function(setting, parentNode) {
+ var childKey = setting.data.key.children, childLength = parentNode[childKey].length;
+ if ( childLength > 0) {
+ parentNode[childKey][childLength - 1].isLastNode = true;
+ }
+ },
+ removeNode: function(setting, node) {
+ var root = data.getRoot(setting),
+ childKey = setting.data.key.children,
+ parentNode = (node.parentTId) ? node.getParentNode() : root;
+
+ node.isFirstNode = false;
+ node.isLastNode = false;
+ node.getPreNode = function() {return null;};
+ node.getNextNode = function() {return null;};
+
+ if (!data.getNodeCache(setting, node.tId)) {
+ return;
+ }
+
+ $$(node, setting).remove();
+ data.removeNodeCache(setting, node);
+ data.removeSelectedNode(setting, node);
+
+ for (var i = 0, l = parentNode[childKey].length; i < l; i++) {
+ if (parentNode[childKey][i].tId == node.tId) {
+ parentNode[childKey].splice(i, 1);
+ break;
+ }
+ }
+ view.setFirstNode(setting, parentNode);
+ view.setLastNode(setting, parentNode);
+
+ var tmp_ulObj,tmp_switchObj,tmp_icoObj,
+ childLength = parentNode[childKey].length;
+
+ //repair nodes old parent
+ if (!setting.data.keep.parent && childLength == 0) {
+ //old parentNode has no child nodes
+ parentNode.isParent = false;
+ parentNode.open = false;
+ tmp_ulObj = $$(parentNode, consts.id.UL, setting);
+ tmp_switchObj = $$(parentNode, consts.id.SWITCH, setting);
+ tmp_icoObj = $$(parentNode, consts.id.ICON, setting);
+ view.replaceSwitchClass(parentNode, tmp_switchObj, consts.folder.DOCU);
+ view.replaceIcoClass(parentNode, tmp_icoObj, consts.folder.DOCU);
+ tmp_ulObj.css("display", "none");
+
+ } else if (setting.view.showLine && childLength > 0) {
+ //old parentNode has child nodes
+ var newLast = parentNode[childKey][childLength - 1];
+ tmp_ulObj = $$(newLast, consts.id.UL, setting);
+ tmp_switchObj = $$(newLast, consts.id.SWITCH, setting);
+ tmp_icoObj = $$(newLast, consts.id.ICON, setting);
+ if (parentNode == root) {
+ if (parentNode[childKey].length == 1) {
+ //node was root, and ztree has only one root after move node
+ view.replaceSwitchClass(newLast, tmp_switchObj, consts.line.ROOT);
+ } else {
+ var tmp_first_switchObj = $$(parentNode[childKey][0], consts.id.SWITCH, setting);
+ view.replaceSwitchClass(parentNode[childKey][0], tmp_first_switchObj, consts.line.ROOTS);
+ view.replaceSwitchClass(newLast, tmp_switchObj, consts.line.BOTTOM);
+ }
+ } else {
+ view.replaceSwitchClass(newLast, tmp_switchObj, consts.line.BOTTOM);
+ }
+ tmp_ulObj.removeClass(consts.line.LINE);
+ }
+ },
+ replaceIcoClass: function(node, obj, newName) {
+ if (!obj || node.isAjaxing) return;
+ var tmpName = obj.attr("class");
+ if (tmpName == undefined) return;
+ var tmpList = tmpName.split("_");
+ switch (newName) {
+ case consts.folder.OPEN:
+ case consts.folder.CLOSE:
+ case consts.folder.DOCU:
+ tmpList[tmpList.length-1] = newName;
+ break;
+ }
+ obj.attr("class", tmpList.join("_"));
+ },
+ replaceSwitchClass: function(node, obj, newName) {
+ if (!obj) return;
+ var tmpName = obj.attr("class");
+ if (tmpName == undefined) return;
+ var tmpList = tmpName.split("_");
+ switch (newName) {
+ case consts.line.ROOT:
+ case consts.line.ROOTS:
+ case consts.line.CENTER:
+ case consts.line.BOTTOM:
+ case consts.line.NOLINE:
+ tmpList[0] = view.makeNodeLineClassEx(node) + newName;
+ break;
+ case consts.folder.OPEN:
+ case consts.folder.CLOSE:
+ case consts.folder.DOCU:
+ tmpList[1] = newName;
+ break;
+ }
+ obj.attr("class", tmpList.join("_"));
+ if (newName !== consts.folder.DOCU) {
+ obj.removeAttr("disabled");
+ } else {
+ obj.attr("disabled", "disabled");
+ }
+ },
+ selectNode: function(setting, node, addFlag) {
+ if (!addFlag) {
+ view.cancelPreSelectedNode(setting);
+ }
+ $$(node, consts.id.A, setting).addClass(consts.node.CURSELECTED);
+ data.addSelectedNode(setting, node);
+ },
+ setNodeFontCss: function(setting, treeNode) {
+ var aObj = $$(treeNode, consts.id.A, setting),
+ fontCss = view.makeNodeFontCss(setting, treeNode);
+ if (fontCss) {
+ aObj.css(fontCss);
+ }
+ },
+ setNodeLineIcos: function(setting, node) {
+ if (!node) return;
+ var switchObj = $$(node, consts.id.SWITCH, setting),
+ ulObj = $$(node, consts.id.UL, setting),
+ icoObj = $$(node, consts.id.ICON, setting),
+ ulLine = view.makeUlLineClass(setting, node);
+ if (ulLine.length==0) {
+ ulObj.removeClass(consts.line.LINE);
+ } else {
+ ulObj.addClass(ulLine);
+ }
+ switchObj.attr("class", view.makeNodeLineClass(setting, node));
+ if (node.isParent) {
+ switchObj.removeAttr("disabled");
+ } else {
+ switchObj.attr("disabled", "disabled");
+ }
+ icoObj.removeAttr("style");
+ icoObj.attr("style", view.makeNodeIcoStyle(setting, node));
+ icoObj.attr("class", view.makeNodeIcoClass(setting, node));
+ },
+ setNodeName: function(setting, node) {
+ var title = data.getNodeTitle(setting, node),
+ nObj = $$(node, consts.id.SPAN, setting);
+ nObj.empty();
+ if (setting.view.nameIsHTML) {
+ nObj.html(data.getNodeName(setting, node));
+ } else {
+ nObj.text(data.getNodeName(setting, node));
+ }
+ if (tools.apply(setting.view.showTitle, [setting.treeId, node], setting.view.showTitle)) {
+ var aObj = $$(node, consts.id.A, setting);
+ aObj.attr("title", !title ? "" : title);
+ }
+ },
+ setNodeTarget: function(setting, node) {
+ var aObj = $$(node, consts.id.A, setting);
+ aObj.attr("target", view.makeNodeTarget(node));
+ },
+ setNodeUrl: function(setting, node) {
+ var aObj = $$(node, consts.id.A, setting),
+ url = view.makeNodeUrl(setting, node);
+ if (url == null || url.length == 0) {
+ aObj.removeAttr("href");
+ } else {
+ aObj.attr("href", url);
+ }
+ },
+ switchNode: function(setting, node) {
+ if (node.open || !tools.canAsync(setting, node)) {
+ view.expandCollapseNode(setting, node, !node.open);
+ } else if (setting.async.enable) {
+ if (!view.asyncNode(setting, node)) {
+ view.expandCollapseNode(setting, node, !node.open);
+ return;
+ }
+ } else if (node) {
+ view.expandCollapseNode(setting, node, !node.open);
+ }
+ }
+ };
+ // zTree defind
+ $.fn.zTree = {
+ consts : _consts,
+ _z : {
+ tools: tools,
+ view: view,
+ event: event,
+ data: data
+ },
+ getZTreeObj: function(treeId) {
+ var o = data.getZTreeTools(treeId);
+ return o ? o : null;
+ },
+ destroy: function(treeId) {
+ if (!!treeId && treeId.length > 0) {
+ view.destroy(data.getSetting(treeId));
+ } else {
+ for(var s in settings) {
+ view.destroy(settings[s]);
+ }
+ }
+ },
+ init: function(obj, zSetting, zNodes) {
+ var setting = tools.clone(_setting);
+ $.extend(true, setting, zSetting);
+ setting.treeId = obj.attr("id");
+ setting.treeObj = obj;
+ setting.treeObj.empty();
+ settings[setting.treeId] = setting;
+ //For some older browser,(e.g., ie6)
+ if(typeof document.body.style.maxHeight === "undefined") {
+ setting.view.expandSpeed = "";
+ }
+ data.initRoot(setting);
+ var root = data.getRoot(setting),
+ childKey = setting.data.key.children;
+ zNodes = zNodes ? tools.clone(tools.isArray(zNodes)? zNodes : [zNodes]) : [];
+ if (setting.data.simpleData.enable) {
+ root[childKey] = data.transformTozTreeFormat(setting, zNodes);
+ } else {
+ root[childKey] = zNodes;
+ }
+
+ data.initCache(setting);
+ event.unbindTree(setting);
+ event.bindTree(setting);
+ event.unbindEvent(setting);
+ event.bindEvent(setting);
+
+ var zTreeTools = {
+ setting : setting,
+ addNodes : function(parentNode, newNodes, isSilent) {
+ if (!newNodes) return null;
+ if (!parentNode) parentNode = null;
+ if (parentNode && !parentNode.isParent && setting.data.keep.leaf) return null;
+ var xNewNodes = tools.clone(tools.isArray(newNodes)? newNodes: [newNodes]);
+ function addCallback() {
+ view.addNodes(setting, parentNode, xNewNodes, (isSilent==true));
+ }
+
+ if (tools.canAsync(setting, parentNode)) {
+ view.asyncNode(setting, parentNode, isSilent, addCallback);
+ } else {
+ addCallback();
+ }
+ return xNewNodes;
+ },
+ cancelSelectedNode : function(node) {
+ view.cancelPreSelectedNode(setting, node);
+ },
+ destroy : function() {
+ view.destroy(setting);
+ },
+ expandAll : function(expandFlag) {
+ expandFlag = !!expandFlag;
+ view.expandCollapseSonNode(setting, null, expandFlag, true);
+ return expandFlag;
+ },
+ expandNode : function(node, expandFlag, sonSign, focus, callbackFlag) {
+ if (!node || !node.isParent) return null;
+ if (expandFlag !== true && expandFlag !== false) {
+ expandFlag = !node.open;
+ }
+ callbackFlag = !!callbackFlag;
+
+ if (callbackFlag && expandFlag && (tools.apply(setting.callback.beforeExpand, [setting.treeId, node], true) == false)) {
+ return null;
+ } else if (callbackFlag && !expandFlag && (tools.apply(setting.callback.beforeCollapse, [setting.treeId, node], true) == false)) {
+ return null;
+ }
+ if (expandFlag && node.parentTId) {
+ view.expandCollapseParentNode(setting, node.getParentNode(), expandFlag, false);
+ }
+ if (expandFlag === node.open && !sonSign) {
+ return null;
+ }
+
+ data.getRoot(setting).expandTriggerFlag = callbackFlag;
+ if (!tools.canAsync(setting, node) && sonSign) {
+ view.expandCollapseSonNode(setting, node, expandFlag, true, function() {
+ if (focus !== false) {try{$$(node, setting).focus().blur();}catch(e){}}
+ });
+ } else {
+ node.open = !expandFlag;
+ view.switchNode(this.setting, node);
+ if (focus !== false) {try{$$(node, setting).focus().blur();}catch(e){}}
+ }
+ return expandFlag;
+ },
+ getNodes : function() {
+ return data.getNodes(setting);
+ },
+ getNodeByParam : function(key, value, parentNode) {
+ if (!key) return null;
+ return data.getNodeByParam(setting, parentNode?parentNode[setting.data.key.children]:data.getNodes(setting), key, value);
+ },
+ getNodeByTId : function(tId) {
+ return data.getNodeCache(setting, tId);
+ },
+ getNodesByParam : function(key, value, parentNode) {
+ if (!key) return null;
+ return data.getNodesByParam(setting, parentNode?parentNode[setting.data.key.children]:data.getNodes(setting), key, value);
+ },
+ getNodesByParamFuzzy : function(key, value, parentNode) {
+ if (!key) return null;
+ return data.getNodesByParamFuzzy(setting, parentNode?parentNode[setting.data.key.children]:data.getNodes(setting), key, value);
+ },
+ getNodesByFilter: function(filter, isSingle, parentNode, invokeParam) {
+ isSingle = !!isSingle;
+ if (!filter || (typeof filter != "function")) return (isSingle ? null : []);
+ return data.getNodesByFilter(setting, parentNode?parentNode[setting.data.key.children]:data.getNodes(setting), filter, isSingle, invokeParam);
+ },
+ getNodeIndex : function(node) {
+ if (!node) return null;
+ var childKey = setting.data.key.children,
+ parentNode = (node.parentTId) ? node.getParentNode() : data.getRoot(setting);
+ for (var i=0, l = parentNode[childKey].length; i < l; i++) {
+ if (parentNode[childKey][i] == node) return i;
+ }
+ return -1;
+ },
+ getSelectedNodes : function() {
+ var r = [], list = data.getRoot(setting).curSelectedList;
+ for (var i=0, l=list.length; i<l; i++) {
+ r.push(list[i]);
+ }
+ return r;
+ },
+ isSelectedNode : function(node) {
+ return data.isSelectedNode(setting, node);
+ },
+ reAsyncChildNodes : function(parentNode, reloadType, isSilent) {
+ if (!this.setting.async.enable) return;
+ var isRoot = !parentNode;
+ if (isRoot) {
+ parentNode = data.getRoot(setting);
+ }
+ if (reloadType=="refresh") {
+ var childKey = this.setting.data.key.children;
+ for (var i = 0, l = parentNode[childKey] ? parentNode[childKey].length : 0; i < l; i++) {
+ data.removeNodeCache(setting, parentNode[childKey][i]);
+ }
+ data.removeSelectedNode(setting);
+ parentNode[childKey] = [];
+ if (isRoot) {
+ this.setting.treeObj.empty();
+ } else {
+ var ulObj = $$(parentNode, consts.id.UL, setting);
+ ulObj.empty();
+ }
+ }
+ view.asyncNode(this.setting, isRoot? null:parentNode, !!isSilent);
+ },
+ refresh : function() {
+ this.setting.treeObj.empty();
+ var root = data.getRoot(setting),
+ nodes = root[setting.data.key.children]
+ data.initRoot(setting);
+ root[setting.data.key.children] = nodes
+ data.initCache(setting);
+ view.createNodes(setting, 0, root[setting.data.key.children]);
+ },
+ removeChildNodes : function(node) {
+ if (!node) return null;
+ var childKey = setting.data.key.children,
+ nodes = node[childKey];
+ view.removeChildNodes(setting, node);
+ return nodes ? nodes : null;
+ },
+ removeNode : function(node, callbackFlag) {
+ if (!node) return;
+ callbackFlag = !!callbackFlag;
+ if (callbackFlag && tools.apply(setting.callback.beforeRemove, [setting.treeId, node], true) == false) return;
+ view.removeNode(setting, node);
+ if (callbackFlag) {
+ this.setting.treeObj.trigger(consts.event.REMOVE, [setting.treeId, node]);
+ }
+ },
+ selectNode : function(node, addFlag) {
+ if (!node) return;
+ if (tools.uCanDo(setting)) {
+ addFlag = setting.view.selectedMulti && addFlag;
+ if (node.parentTId) {
+ view.expandCollapseParentNode(setting, node.getParentNode(), true, false, function() {
+ try{$$(node, setting).focus().blur();}catch(e){}
+ });
+ } else {
+ try{$$(node, setting).focus().blur();}catch(e){}
+ }
+ view.selectNode(setting, node, addFlag);
+ }
+ },
+ transformTozTreeNodes : function(simpleNodes) {
+ return data.transformTozTreeFormat(setting, simpleNodes);
+ },
+ transformToArray : function(nodes) {
+ return data.transformToArrayFormat(setting, nodes);
+ },
+ updateNode : function(node, checkTypeFlag) {
+ if (!node) return;
+ var nObj = $$(node, setting);
+ if (nObj.get(0) && tools.uCanDo(setting)) {
+ view.setNodeName(setting, node);
+ view.setNodeTarget(setting, node);
+ view.setNodeUrl(setting, node);
+ view.setNodeLineIcos(setting, node);
+ view.setNodeFontCss(setting, node);
+ }
+ }
+ }
+ root.treeTools = zTreeTools;
+ data.setZTreeTools(setting, zTreeTools);
+
+ if (root[childKey] && root[childKey].length > 0) {
+ view.createNodes(setting, 0, root[childKey]);
+ } else if (setting.async.enable && setting.async.url && setting.async.url !== '') {
+ view.asyncNode(setting);
+ }
+ return zTreeTools;
+ }
+ };
+
+ var zt = $.fn.zTree,
+ $$ = tools.$,
+ consts = zt.consts;
})(jQuery);
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/js/jquery.ztree.core.min.js b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/js/jquery.ztree.core.min.js index 705bdb4f..061499c7 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/js/jquery.ztree.core.min.js +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/js/jquery.ztree.core.min.js @@ -1,69 +1,69 @@ -/* - * JQuery zTree core v3.5.16 - * http://zTree.me/ - * - * Copyright (c) 2010 Hunter.z - * - * Licensed same as jquery - MIT License - * http://www.opensource.org/licenses/mit-license.php - * - * email: hunter.z@263.net - * Date: 2014-03-09 - */ -(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, -[a,c,g])});a.bind(c.CLICK,function(a,c,g,l,h){j.apply(b.callback.onClick,[c,g,l,h])});a.bind(c.EXPAND,function(a,c,g){j.apply(b.callback.onExpand,[a,c,g])});a.bind(c.COLLAPSE,function(a,c,g){j.apply(b.callback.onCollapse,[a,c,g])});a.bind(c.ASYNC_SUCCESS,function(a,c,g,l){j.apply(b.callback.onAsyncSuccess,[a,c,g,l])});a.bind(c.ASYNC_ERROR,function(a,c,g,l,h,e){j.apply(b.callback.onAsyncError,[a,c,g,l,h,e])});a.bind(c.REMOVE,function(a,c,g){j.apply(b.callback.onRemove,[a,c,g])})}],x=[function(b){var a= -e.event;b.treeObj.unbind(a.NODECREATED).unbind(a.CLICK).unbind(a.EXPAND).unbind(a.COLLAPSE).unbind(a.ASYNC_SUCCESS).unbind(a.ASYNC_ERROR).unbind(a.REMOVE)}],y=[function(b){var a=h.getCache(b);a||(a={},h.setCache(b,a));a.nodes=[];a.doms=[]}],z=[function(b,a,c,d,f,g){if(c){var l=h.getRoot(b),e=b.data.key.children;c.level=a;c.tId=b.treeId+"_"+ ++l.zId;c.parentTId=d?d.tId:null;c.open=typeof c.open=="string"?j.eqs(c.open,"true"):!!c.open;c[e]&&c[e].length>0?(c.isParent=!0,c.zAsync=!0):(c.isParent=typeof c.isParent== -"string"?j.eqs(c.isParent,"true"):!!c.isParent,c.open=c.isParent&&!b.async.enable?c.open:!1,c.zAsync=!c.isParent);c.isFirstNode=f;c.isLastNode=g;c.getParentNode=function(){return h.getNodeCache(b,c.parentTId)};c.getPreNode=function(){return h.getPreNode(b,c)};c.getNextNode=function(){return h.getNextNode(b,c)};c.isAjaxing=!1;h.fixPIdKeyValue(b,c)}}],s=[function(b){var a=b.target,c=h.getSetting(b.data.treeId),d="",f=null,g="",l="",i=null,n=null,k=null;if(j.eqs(b.type,"mousedown"))l="mousedown";else if(j.eqs(b.type, -"mouseup"))l="mouseup";else if(j.eqs(b.type,"contextmenu"))l="contextmenu";else if(j.eqs(b.type,"click"))if(j.eqs(a.tagName,"span")&&a.getAttribute("treeNode"+e.id.SWITCH)!==null)d=j.getNodeMainDom(a).id,g="switchNode";else{if(k=j.getMDom(c,a,[{tagName:"a",attrName:"treeNode"+e.id.A}]))d=j.getNodeMainDom(k).id,g="clickNode"}else if(j.eqs(b.type,"dblclick")&&(l="dblclick",k=j.getMDom(c,a,[{tagName:"a",attrName:"treeNode"+e.id.A}])))d=j.getNodeMainDom(k).id,g="switchNode";if(l.length>0&&d.length==0&& -(k=j.getMDom(c,a,[{tagName:"a",attrName:"treeNode"+e.id.A}])))d=j.getNodeMainDom(k).id;if(d.length>0)switch(f=h.getNodeCache(c,d),g){case "switchNode":f.isParent?j.eqs(b.type,"click")||j.eqs(b.type,"dblclick")&&j.apply(c.view.dblClickExpand,[c.treeId,f],c.view.dblClickExpand)?i=G:g="":g="";break;case "clickNode":i=H}switch(l){case "mousedown":n=I;break;case "mouseup":n=J;break;case "dblclick":n=K;break;case "contextmenu":n=L}return{stop:!1,node:f,nodeEventType:g,nodeEventCallback:i,treeEventType:l, -treeEventCallback:n}}],A=[function(b){var a=h.getRoot(b);a||(a={},h.setRoot(b,a));a[b.data.key.children]=[];a.expandTriggerFlag=!1;a.curSelectedList=[];a.noSelection=!0;a.createdNodes=[];a.zId=0;a._ver=(new Date).getTime()}],B=[],C=[],D=[],E=[],F=[],h={addNodeCache:function(b,a){h.getCache(b).nodes[h.getNodeCacheId(a.tId)]=a},getNodeCacheId:function(b){return b.substring(b.lastIndexOf("_")+1)},addAfterA:function(b){C.push(b)},addBeforeA:function(b){B.push(b)},addInnerAfterA:function(b){E.push(b)}, -addInnerBeforeA:function(b){D.push(b)},addInitBind:function(b){w.push(b)},addInitUnBind:function(b){x.push(b)},addInitCache:function(b){y.push(b)},addInitNode:function(b){z.push(b)},addInitProxy:function(b,a){a?s.splice(0,0,b):s.push(b)},addInitRoot:function(b){A.push(b)},addNodesData:function(b,a,c){var d=b.data.key.children;a[d]||(a[d]=[]);if(a[d].length>0)a[d][a[d].length-1].isLastNode=!1,i.setNodeLineIcos(b,a[d][a[d].length-1]);a.isParent=!0;a[d]=a[d].concat(c)},addSelectedNode:function(b,a){var c= -h.getRoot(b);h.isSelectedNode(b,a)||c.curSelectedList.push(a)},addCreatedNode:function(b,a){(b.callback.onNodeCreated||b.view.addDiyDom)&&h.getRoot(b).createdNodes.push(a)},addZTreeTools:function(b){F.push(b)},exSetting:function(b){p.extend(!0,M,b)},fixPIdKeyValue:function(b,a){b.data.simpleData.enable&&(a[b.data.simpleData.pIdKey]=a.parentTId?a.getParentNode()[b.data.simpleData.idKey]:b.data.simpleData.rootPId)},getAfterA:function(b,a,c){for(var d=0,f=C.length;d<f;d++)C[d].apply(this,arguments)}, -getBeforeA:function(b,a,c){for(var d=0,f=B.length;d<f;d++)B[d].apply(this,arguments)},getInnerAfterA:function(b,a,c){for(var d=0,f=E.length;d<f;d++)E[d].apply(this,arguments)},getInnerBeforeA:function(b,a,c){for(var d=0,f=D.length;d<f;d++)D[d].apply(this,arguments)},getCache:function(b){return v[b.treeId]},getNextNode:function(b,a){if(!a)return null;for(var c=b.data.key.children,d=a.parentTId?a.getParentNode():h.getRoot(b),f=0,g=d[c].length-1;f<=g;f++)if(d[c][f]===a)return f==g?null:d[c][f+1];return null}, -getNodeByParam:function(b,a,c,d){if(!a||!c)return null;for(var f=b.data.key.children,g=0,l=a.length;g<l;g++){if(a[g][c]==d)return a[g];var e=h.getNodeByParam(b,a[g][f],c,d);if(e)return e}return null},getNodeCache:function(b,a){if(!a)return null;var c=v[b.treeId].nodes[h.getNodeCacheId(a)];return c?c:null},getNodeName:function(b,a){return""+a[b.data.key.name]},getNodeTitle:function(b,a){return""+a[b.data.key.title===""?b.data.key.name:b.data.key.title]},getNodes:function(b){return h.getRoot(b)[b.data.key.children]}, -getNodesByParam:function(b,a,c,d){if(!a||!c)return[];for(var f=b.data.key.children,g=[],l=0,e=a.length;l<e;l++)a[l][c]==d&&g.push(a[l]),g=g.concat(h.getNodesByParam(b,a[l][f],c,d));return g},getNodesByParamFuzzy:function(b,a,c,d){if(!a||!c)return[];for(var f=b.data.key.children,g=[],d=d.toLowerCase(),l=0,e=a.length;l<e;l++)typeof a[l][c]=="string"&&a[l][c].toLowerCase().indexOf(d)>-1&&g.push(a[l]),g=g.concat(h.getNodesByParamFuzzy(b,a[l][f],c,d));return g},getNodesByFilter:function(b,a,c,d,f){if(!a)return d? -null:[];for(var g=b.data.key.children,e=d?null:[],i=0,n=a.length;i<n;i++){if(j.apply(c,[a[i],f],!1)){if(d)return a[i];e.push(a[i])}var k=h.getNodesByFilter(b,a[i][g],c,d,f);if(d&&k)return k;e=d?k:e.concat(k)}return e},getPreNode:function(b,a){if(!a)return null;for(var c=b.data.key.children,d=a.parentTId?a.getParentNode():h.getRoot(b),f=0,g=d[c].length;f<g;f++)if(d[c][f]===a)return f==0?null:d[c][f-1];return null},getRoot:function(b){return b?u[b.treeId]:null},getRoots:function(){return u},getSetting:function(b){return r[b]}, -getSettings:function(){return r},getZTreeTools:function(b){return(b=this.getRoot(this.getSetting(b)))?b.treeTools:null},initCache:function(b){for(var a=0,c=y.length;a<c;a++)y[a].apply(this,arguments)},initNode:function(b,a,c,d,f,g){for(var e=0,h=z.length;e<h;e++)z[e].apply(this,arguments)},initRoot:function(b){for(var a=0,c=A.length;a<c;a++)A[a].apply(this,arguments)},isSelectedNode:function(b,a){for(var c=h.getRoot(b),d=0,f=c.curSelectedList.length;d<f;d++)if(a===c.curSelectedList[d])return!0;return!1}, -removeNodeCache:function(b,a){var c=b.data.key.children;if(a[c])for(var d=0,f=a[c].length;d<f;d++)arguments.callee(b,a[c][d]);h.getCache(b).nodes[h.getNodeCacheId(a.tId)]=null},removeSelectedNode:function(b,a){for(var c=h.getRoot(b),d=0,f=c.curSelectedList.length;d<f;d++)if(a===c.curSelectedList[d]||!h.getNodeCache(b,c.curSelectedList[d].tId))c.curSelectedList.splice(d,1),d--,f--},setCache:function(b,a){v[b.treeId]=a},setRoot:function(b,a){u[b.treeId]=a},setZTreeTools:function(b,a){for(var c=0,d= -F.length;c<d;c++)F[c].apply(this,arguments)},transformToArrayFormat:function(b,a){if(!a)return[];var c=b.data.key.children,d=[];if(j.isArray(a))for(var f=0,g=a.length;f<g;f++)d.push(a[f]),a[f][c]&&(d=d.concat(h.transformToArrayFormat(b,a[f][c])));else d.push(a),a[c]&&(d=d.concat(h.transformToArrayFormat(b,a[c])));return d},transformTozTreeFormat:function(b,a){var c,d,f=b.data.simpleData.idKey,g=b.data.simpleData.pIdKey,e=b.data.key.children;if(!f||f==""||!a)return[];if(j.isArray(a)){var h=[],i=[]; -for(c=0,d=a.length;c<d;c++)i[a[c][f]]=a[c];for(c=0,d=a.length;c<d;c++)i[a[c][g]]&&a[c][f]!=a[c][g]?(i[a[c][g]][e]||(i[a[c][g]][e]=[]),i[a[c][g]][e].push(a[c])):h.push(a[c]);return h}else return[a]}},m={bindEvent:function(b){for(var a=0,c=w.length;a<c;a++)w[a].apply(this,arguments)},unbindEvent:function(b){for(var a=0,c=x.length;a<c;a++)x[a].apply(this,arguments)},bindTree:function(b){var a={treeId:b.treeId},c=b.treeObj;b.view.txtSelectedEnable||c.bind("selectstart",function(a){a=a.originalEvent.srcElement.nodeName.toLowerCase(); -return a==="input"||a==="textarea"}).css({"-moz-user-select":"-moz-none"});c.bind("click",a,m.proxy);c.bind("dblclick",a,m.proxy);c.bind("mouseover",a,m.proxy);c.bind("mouseout",a,m.proxy);c.bind("mousedown",a,m.proxy);c.bind("mouseup",a,m.proxy);c.bind("contextmenu",a,m.proxy)},unbindTree:function(b){b.treeObj.unbind("click",m.proxy).unbind("dblclick",m.proxy).unbind("mouseover",m.proxy).unbind("mouseout",m.proxy).unbind("mousedown",m.proxy).unbind("mouseup",m.proxy).unbind("contextmenu",m.proxy)}, -doProxy:function(b){for(var a=[],c=0,d=s.length;c<d;c++){var f=s[c].apply(this,arguments);a.push(f);if(f.stop)break}return a},proxy:function(b){var a=h.getSetting(b.data.treeId);if(!j.uCanDo(a,b))return!0;for(var a=m.doProxy(b),c=!0,d=0,f=a.length;d<f;d++){var g=a[d];g.nodeEventCallback&&(c=g.nodeEventCallback.apply(g,[b,g.node])&&c);g.treeEventCallback&&(c=g.treeEventCallback.apply(g,[b,g.node])&&c)}return c}};G=function(b,a){var c=h.getSetting(b.data.treeId);if(a.open){if(j.apply(c.callback.beforeCollapse, -[c.treeId,a],!0)==!1)return!0}else if(j.apply(c.callback.beforeExpand,[c.treeId,a],!0)==!1)return!0;h.getRoot(c).expandTriggerFlag=!0;i.switchNode(c,a);return!0};H=function(b,a){var c=h.getSetting(b.data.treeId),d=c.view.autoCancelSelected&&(b.ctrlKey||b.metaKey)&&h.isSelectedNode(c,a)?0:c.view.autoCancelSelected&&(b.ctrlKey||b.metaKey)&&c.view.selectedMulti?2:1;if(j.apply(c.callback.beforeClick,[c.treeId,a,d],!0)==!1)return!0;d===0?i.cancelPreSelectedNode(c,a):i.selectNode(c,a,d===2);c.treeObj.trigger(e.event.CLICK, -[b,c.treeId,a,d]);return!0};I=function(b,a){var c=h.getSetting(b.data.treeId);j.apply(c.callback.beforeMouseDown,[c.treeId,a],!0)&&j.apply(c.callback.onMouseDown,[b,c.treeId,a]);return!0};J=function(b,a){var c=h.getSetting(b.data.treeId);j.apply(c.callback.beforeMouseUp,[c.treeId,a],!0)&&j.apply(c.callback.onMouseUp,[b,c.treeId,a]);return!0};K=function(b,a){var c=h.getSetting(b.data.treeId);j.apply(c.callback.beforeDblClick,[c.treeId,a],!0)&&j.apply(c.callback.onDblClick,[b,c.treeId,a]);return!0}; -L=function(b,a){var c=h.getSetting(b.data.treeId);j.apply(c.callback.beforeRightClick,[c.treeId,a],!0)&&j.apply(c.callback.onRightClick,[b,c.treeId,a]);return typeof c.callback.onRightClick!="function"};var j={apply:function(b,a,c){return typeof b=="function"?b.apply(N,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"?arguments.callee(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"?p(b,c?c.treeObj.get(0).ownerDocument:null):p("#"+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,f=c.length;a.tagName&&d<f;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 p(b).parent("li").get(0)||p(b).parentsUntil("li").parent().get(0)},isChildOrSelf:function(b,a){return p(b).closest("#"+a).length>0},uCanDo:function(){return!0}},i={addNodes:function(b,a,c,d){if(!b.data.keep.leaf||!a||a.isParent)if(j.isArray(c)||(c=[c]),b.data.simpleData.enable&&(c=h.transformTozTreeFormat(b,c)),a){var f=k(a,e.id.SWITCH,b),g=k(a,e.id.ICON,b),l=k(a,e.id.UL,b);if(!a.open)i.replaceSwitchClass(a, -f,e.folder.CLOSE),i.replaceIcoClass(a,g,e.folder.CLOSE),a.open=!1,l.css({display:"none"});h.addNodesData(b,a,c);i.createNodes(b,a.level+1,c,a);d||i.expandCollapseParentNode(b,a,!0)}else h.addNodesData(b,h.getRoot(b),c),i.createNodes(b,0,c,null)},appendNodes:function(b,a,c,d,f,g){if(!c)return[];for(var e=[],j=b.data.key.children,k=0,m=c.length;k<m;k++){var o=c[k];if(f){var t=(d?d:h.getRoot(b))[j].length==c.length&&k==0;h.initNode(b,a,o,d,t,k==c.length-1,g);h.addNodeCache(b,o)}t=[];o[j]&&o[j].length> -0&&(t=i.appendNodes(b,a+1,o[j],o,f,g&&o.open));g&&(i.makeDOMNodeMainBefore(e,b,o),i.makeDOMNodeLine(e,b,o),h.getBeforeA(b,o,e),i.makeDOMNodeNameBefore(e,b,o),h.getInnerBeforeA(b,o,e),i.makeDOMNodeIcon(e,b,o),h.getInnerAfterA(b,o,e),i.makeDOMNodeNameAfter(e,b,o),h.getAfterA(b,o,e),o.isParent&&o.open&&i.makeUlHtml(b,o,e,t.join("")),i.makeDOMNodeMainAfter(e,b,o),h.addCreatedNode(b,o))}return e},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 f=k(a,e.id.UL,b);f.get(0)&&f.remove();f=i.appendNodes(b,a.level+1,a[b.data.key.children],a,!1,!0);i.makeUlHtml(b,a,c,f.join(""));d.append(c.join(""))},asyncNode:function(b,a,c,d){var f,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,e.id.ICON,b).attr({style:"","class":e.className.BUTTON+" "+e.className.ICO_LOADING});var l={};for(f=0,g=b.async.autoParam.length;a&& -f<g;f++){var q=b.async.autoParam[f].split("="),n=q;q.length>1&&(n=q[1],q=q[0]);l[n]=a[q]}if(j.isArray(b.async.otherParam))for(f=0,g=b.async.otherParam.length;f<g;f+=2)l[b.async.otherParam[f]]=b.async.otherParam[f+1];else for(var m in b.async.otherParam)l[m]=b.async.otherParam[m];var o=h.getRoot(b)._ver;p.ajax({contentType:b.async.contentType,type:b.async.type,url:j.apply(b.async.url,[b.treeId,a],b.async.url),data:l,dataType:b.async.dataType,success:function(f){if(o==h.getRoot(b)._ver){var g=[];try{g= -!f||f.length==0?[]:typeof f=="string"?eval("("+f+")"):f}catch(l){g=f}if(a)a.isAjaxing=null,a.zAsync=!0;i.setNodeLineIcos(b,a);g&&g!==""?(g=j.apply(b.async.dataFilter,[b.treeId,a,g],g),i.addNodes(b,a,g?j.clone(g):[],!!c)):i.addNodes(b,a,[],!!c);b.treeObj.trigger(e.event.ASYNC_SUCCESS,[b.treeId,a,f]);j.apply(d)}},error:function(c,d,f){if(o==h.getRoot(b)._ver){if(a)a.isAjaxing=null;i.setNodeLineIcos(b,a);b.treeObj.trigger(e.event.ASYNC_ERROR,[b.treeId,a,c,d,f])}}});return!0},cancelPreSelectedNode:function(b, -a){for(var c=h.getRoot(b).curSelectedList,d=c.length-1;d>=0;d--)if(!a||a===c[d])if(k(c[d],e.id.A,b).removeClass(e.node.CURSELECTED),a){h.removeSelectedNode(b,a);break}if(!a)h.getRoot(b).curSelectedList=[]},createNodeCallback:function(b){if(b.callback.onNodeCreated||b.view.addDiyDom)for(var a=h.getRoot(b);a.createdNodes.length>0;){var c=a.createdNodes.shift();j.apply(b.view.addDiyDom,[b.treeId,c]);b.callback.onNodeCreated&&b.treeObj.trigger(e.event.NODECREATED,[b.treeId,c])}},createNodes:function(b, -a,c,d){if(c&&c.length!=0){var f=h.getRoot(b),g=b.data.key.children,g=!d||d.open||!!k(d[g][0],b).get(0);f.createdNodes=[];a=i.appendNodes(b,a,c,d,!0,g);d?(d=k(d,e.id.UL,b),d.get(0)&&d.append(a.join(""))):b.treeObj.append(a.join(""));i.createNodeCallback(b)}},destroy:function(b){b&&(h.initCache(b),h.initRoot(b),m.unbindTree(b),m.unbindEvent(b),b.treeObj.empty(),delete r[b.treeId])},expandCollapseNode:function(b,a,c,d,f){var g=h.getRoot(b),l=b.data.key.children;if(a){if(g.expandTriggerFlag){var q=f, -f=function(){q&&q();a.open?b.treeObj.trigger(e.event.EXPAND,[b.treeId,a]):b.treeObj.trigger(e.event.COLLAPSE,[b.treeId,a])};g.expandTriggerFlag=!1}if(!a.open&&a.isParent&&(!k(a,e.id.UL,b).get(0)||a[l]&&a[l].length>0&&!k(a[l][0],b).get(0)))i.appendParentULDom(b,a),i.createNodeCallback(b);if(a.open==c)j.apply(f,[]);else{var c=k(a,e.id.UL,b),g=k(a,e.id.SWITCH,b),n=k(a,e.id.ICON,b);a.isParent?(a.open=!a.open,a.iconOpen&&a.iconClose&&n.attr("style",i.makeNodeIcoStyle(b,a)),a.open?(i.replaceSwitchClass(a, -g,e.folder.OPEN),i.replaceIcoClass(a,n,e.folder.OPEN),d==!1||b.view.expandSpeed==""?(c.show(),j.apply(f,[])):a[l]&&a[l].length>0?c.slideDown(b.view.expandSpeed,f):(c.show(),j.apply(f,[]))):(i.replaceSwitchClass(a,g,e.folder.CLOSE),i.replaceIcoClass(a,n,e.folder.CLOSE),d==!1||b.view.expandSpeed==""||!(a[l]&&a[l].length>0)?(c.hide(),j.apply(f,[])):c.slideUp(b.view.expandSpeed,f))):j.apply(f,[])}}else j.apply(f,[])},expandCollapseParentNode:function(b,a,c,d,f){a&&(a.parentTId?(i.expandCollapseNode(b, -a,c,d),a.parentTId&&i.expandCollapseParentNode(b,a.getParentNode(),c,d,f)):i.expandCollapseNode(b,a,c,d,f))},expandCollapseSonNode:function(b,a,c,d,f){var g=h.getRoot(b),e=b.data.key.children,g=a?a[e]:g[e],e=a?!1:d,j=h.getRoot(b).expandTriggerFlag;h.getRoot(b).expandTriggerFlag=!1;if(g)for(var k=0,m=g.length;k<m;k++)g[k]&&i.expandCollapseSonNode(b,g[k],c,e);h.getRoot(b).expandTriggerFlag=j;i.expandCollapseNode(b,a,c,d,f)},makeDOMNodeIcon:function(b,a,c){var d=h.getNodeName(a,c),d=a.view.nameIsHTML? -d:d.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");b.push("<span id='",c.tId,e.id.ICON,"' title='' treeNode",e.id.ICON," class='",i.makeNodeIcoClass(a,c),"' style='",i.makeNodeIcoStyle(a,c),"'></span><span id='",c.tId,e.id.SPAN,"'>",d,"</span>")},makeDOMNodeLine:function(b,a,c){b.push("<span id='",c.tId,e.id.SWITCH,"' title='' class='",i.makeNodeLineClass(a,c),"' treeNode",e.id.SWITCH,"></span>")},makeDOMNodeMainAfter:function(b){b.push("</li>")},makeDOMNodeMainBefore:function(b, -a,c){b.push("<li id='",c.tId,"' class='",e.className.LEVEL,c.level,"' tabindex='0' hidefocus='true' treenode>")},makeDOMNodeNameAfter:function(b){b.push("</a>")},makeDOMNodeNameBefore:function(b,a,c){var d=h.getNodeTitle(a,c),f=i.makeNodeUrl(a,c),g=i.makeNodeFontCss(a,c),l=[],k;for(k in g)l.push(k,":",g[k],";");b.push("<a id='",c.tId,e.id.A,"' class='",e.className.LEVEL,c.level,"' treeNode",e.id.A,' onclick="',c.click||"",'" ',f!=null&&f.length>0?"href='"+f+"'":""," target='",i.makeNodeTarget(c), -"' style='",l.join(""),"'");j.apply(a.view.showTitle,[a.treeId,c],a.view.showTitle)&&d&&b.push("title='",d.replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">"),"'");b.push(">")},makeNodeFontCss:function(b,a){var c=j.apply(b.view.fontCss,[b.treeId,a],b.view.fontCss);return c&&typeof c!="function"?c:{}},makeNodeIcoClass:function(b,a){var c=["ico"];a.isAjaxing||(c[0]=(a.iconSkin?a.iconSkin+"_":"")+c[0],a.isParent?c.push(a.open?e.folder.OPEN:e.folder.CLOSE):c.push(e.folder.DOCU));return e.className.BUTTON+ -" "+c.join("_")},makeNodeIcoStyle:function(b,a){var c=[];if(!a.isAjaxing){var d=a.isParent&&a.iconOpen&&a.iconClose?a.open?a.iconOpen:a.iconClose:a.icon;d&&c.push("background:url(",d,") 0 0 no-repeat;");(b.view.showIcon==!1||!j.apply(b.view.showIcon,[b.treeId,a],!0))&&c.push("width:0px;height:0px;")}return c.join("")},makeNodeLineClass:function(b,a){var c=[];b.view.showLine?a.level==0&&a.isFirstNode&&a.isLastNode?c.push(e.line.ROOT):a.level==0&&a.isFirstNode?c.push(e.line.ROOTS):a.isLastNode?c.push(e.line.BOTTOM): -c.push(e.line.CENTER):c.push(e.line.NOLINE);a.isParent?c.push(a.open?e.folder.OPEN:e.folder.CLOSE):c.push(e.folder.DOCU);return i.makeNodeLineClassEx(a)+c.join("_")},makeNodeLineClassEx:function(b){return e.className.BUTTON+" "+e.className.LEVEL+b.level+" "+e.className.SWITCH+" "},makeNodeTarget:function(b){return b.target||"_blank"},makeNodeUrl:function(b,a){var c=b.data.key.url;return a[c]?a[c]:null},makeUlHtml:function(b,a,c,d){c.push("<ul id='",a.tId,e.id.UL,"' class='",e.className.LEVEL,a.level, -" ",i.makeUlLineClass(b,a),"' style='display:",a.open?"block":"none","'>");c.push(d);c.push("</ul>")},makeUlLineClass:function(b,a){return b.view.showLine&&!a.isLastNode?e.line.LINE:""},removeChildNodes:function(b,a){if(a){var c=b.data.key.children,d=a[c];if(d){for(var f=0,g=d.length;f<g;f++)h.removeNodeCache(b,d[f]);h.removeSelectedNode(b);delete a[c];b.data.keep.parent?k(a,e.id.UL,b).empty():(a.isParent=!1,a.open=!1,c=k(a,e.id.SWITCH,b),d=k(a,e.id.ICON,b),i.replaceSwitchClass(a,c,e.folder.DOCU), -i.replaceIcoClass(a,d,e.folder.DOCU),k(a,e.id.UL,b).remove())}}},setFirstNode:function(b,a){var c=b.data.key.children;if(a[c].length>0)a[c][0].isFirstNode=!0},setLastNode:function(b,a){var c=b.data.key.children,d=a[c].length;if(d>0)a[c][d-1].isLastNode=!0},removeNode:function(b,a){var c=h.getRoot(b),d=b.data.key.children,f=a.parentTId?a.getParentNode():c;a.isFirstNode=!1;a.isLastNode=!1;a.getPreNode=function(){return null};a.getNextNode=function(){return null};if(h.getNodeCache(b,a.tId)){k(a,b).remove(); -h.removeNodeCache(b,a);h.removeSelectedNode(b,a);for(var g=0,l=f[d].length;g<l;g++)if(f[d][g].tId==a.tId){f[d].splice(g,1);break}i.setFirstNode(b,f);i.setLastNode(b,f);var j,g=f[d].length;if(!b.data.keep.parent&&g==0)f.isParent=!1,f.open=!1,g=k(f,e.id.UL,b),l=k(f,e.id.SWITCH,b),j=k(f,e.id.ICON,b),i.replaceSwitchClass(f,l,e.folder.DOCU),i.replaceIcoClass(f,j,e.folder.DOCU),g.css("display","none");else if(b.view.showLine&&g>0){var n=f[d][g-1],g=k(n,e.id.UL,b),l=k(n,e.id.SWITCH,b);j=k(n,e.id.ICON,b); -f==c?f[d].length==1?i.replaceSwitchClass(n,l,e.line.ROOT):(c=k(f[d][0],e.id.SWITCH,b),i.replaceSwitchClass(f[d][0],c,e.line.ROOTS),i.replaceSwitchClass(n,l,e.line.BOTTOM)):i.replaceSwitchClass(n,l,e.line.BOTTOM);g.removeClass(e.line.LINE)}}},replaceIcoClass:function(b,a,c){if(a&&!b.isAjaxing&&(b=a.attr("class"),b!=void 0)){b=b.split("_");switch(c){case e.folder.OPEN:case e.folder.CLOSE:case e.folder.DOCU:b[b.length-1]=c}a.attr("class",b.join("_"))}},replaceSwitchClass:function(b,a,c){if(a){var d= -a.attr("class");if(d!=void 0){d=d.split("_");switch(c){case e.line.ROOT:case e.line.ROOTS:case e.line.CENTER:case e.line.BOTTOM:case e.line.NOLINE:d[0]=i.makeNodeLineClassEx(b)+c;break;case e.folder.OPEN:case e.folder.CLOSE:case e.folder.DOCU:d[1]=c}a.attr("class",d.join("_"));c!==e.folder.DOCU?a.removeAttr("disabled"):a.attr("disabled","disabled")}}},selectNode:function(b,a,c){c||i.cancelPreSelectedNode(b);k(a,e.id.A,b).addClass(e.node.CURSELECTED);h.addSelectedNode(b,a)},setNodeFontCss:function(b, -a){var c=k(a,e.id.A,b),d=i.makeNodeFontCss(b,a);d&&c.css(d)},setNodeLineIcos:function(b,a){if(a){var c=k(a,e.id.SWITCH,b),d=k(a,e.id.UL,b),f=k(a,e.id.ICON,b),g=i.makeUlLineClass(b,a);g.length==0?d.removeClass(e.line.LINE):d.addClass(g);c.attr("class",i.makeNodeLineClass(b,a));a.isParent?c.removeAttr("disabled"):c.attr("disabled","disabled");f.removeAttr("style");f.attr("style",i.makeNodeIcoStyle(b,a));f.attr("class",i.makeNodeIcoClass(b,a))}},setNodeName:function(b,a){var c=h.getNodeTitle(b,a),d= -k(a,e.id.SPAN,b);d.empty();b.view.nameIsHTML?d.html(h.getNodeName(b,a)):d.text(h.getNodeName(b,a));j.apply(b.view.showTitle,[b.treeId,a],b.view.showTitle)&&k(a,e.id.A,b).attr("title",!c?"":c)},setNodeTarget:function(b,a){k(a,e.id.A,b).attr("target",i.makeNodeTarget(a))},setNodeUrl:function(b,a){var c=k(a,e.id.A,b),d=i.makeNodeUrl(b,a);d==null||d.length==0?c.removeAttr("href"):c.attr("href",d)},switchNode:function(b,a){a.open||!j.canAsync(b,a)?i.expandCollapseNode(b,a,!a.open):b.async.enable?i.asyncNode(b, -a)||i.expandCollapseNode(b,a,!a.open):a&&i.expandCollapseNode(b,a,!a.open)}};p.fn.zTree={consts:{className:{BUTTON:"button",LEVEL:"level",ICO_LOADING:"ico_loading",SWITCH:"switch"},event:{NODECREATED:"ztree_nodeCreated",CLICK:"ztree_click",EXPAND:"ztree_expand",COLLAPSE:"ztree_collapse",ASYNC_SUCCESS:"ztree_async_success",ASYNC_ERROR:"ztree_async_error",REMOVE:"ztree_remove"},id:{A:"_a",ICON:"_ico",SPAN:"_span",SWITCH:"_switch",UL:"_ul"},line:{ROOT:"root",ROOTS:"roots",CENTER:"center",BOTTOM:"bottom", -NOLINE:"noline",LINE:"line"},folder:{OPEN:"open",CLOSE:"close",DOCU:"docu"},node:{CURSELECTED:"curSelectedNode"}},_z:{tools:j,view:i,event:m,data:h},getZTreeObj:function(b){return(b=h.getZTreeTools(b))?b:null},destroy:function(b){if(b&&b.length>0)i.destroy(h.getSetting(b));else for(var a in r)i.destroy(r[a])},init:function(b,a,c){var d=j.clone(M);p.extend(!0,d,a);d.treeId=b.attr("id");d.treeObj=b;d.treeObj.empty();r[d.treeId]=d;if(typeof document.body.style.maxHeight==="undefined")d.view.expandSpeed= -"";h.initRoot(d);b=h.getRoot(d);a=d.data.key.children;c=c?j.clone(j.isArray(c)?c:[c]):[];b[a]=d.data.simpleData.enable?h.transformTozTreeFormat(d,c):c;h.initCache(d);m.unbindTree(d);m.bindTree(d);m.unbindEvent(d);m.bindEvent(d);c={setting:d,addNodes:function(a,b,c){function e(){i.addNodes(d,a,h,c==!0)}if(!b)return null;a||(a=null);if(a&&!a.isParent&&d.data.keep.leaf)return null;var h=j.clone(j.isArray(b)?b:[b]);j.canAsync(d,a)?i.asyncNode(d,a,c,e):e();return h},cancelSelectedNode:function(a){i.cancelPreSelectedNode(d, -a)},destroy:function(){i.destroy(d)},expandAll:function(a){a=!!a;i.expandCollapseSonNode(d,null,a,!0);return a},expandNode:function(a,b,c,e,n){if(!a||!a.isParent)return null;b!==!0&&b!==!1&&(b=!a.open);if((n=!!n)&&b&&j.apply(d.callback.beforeExpand,[d.treeId,a],!0)==!1)return null;else if(n&&!b&&j.apply(d.callback.beforeCollapse,[d.treeId,a],!0)==!1)return null;b&&a.parentTId&&i.expandCollapseParentNode(d,a.getParentNode(),b,!1);if(b===a.open&&!c)return null;h.getRoot(d).expandTriggerFlag=n;if(!j.canAsync(d, -a)&&c)i.expandCollapseSonNode(d,a,b,!0,function(){if(e!==!1)try{k(a,d).focus().blur()}catch(b){}});else if(a.open=!b,i.switchNode(this.setting,a),e!==!1)try{k(a,d).focus().blur()}catch(m){}return b},getNodes:function(){return h.getNodes(d)},getNodeByParam:function(a,b,c){return!a?null:h.getNodeByParam(d,c?c[d.data.key.children]:h.getNodes(d),a,b)},getNodeByTId:function(a){return h.getNodeCache(d,a)},getNodesByParam:function(a,b,c){return!a?null:h.getNodesByParam(d,c?c[d.data.key.children]:h.getNodes(d), -a,b)},getNodesByParamFuzzy:function(a,b,c){return!a?null:h.getNodesByParamFuzzy(d,c?c[d.data.key.children]:h.getNodes(d),a,b)},getNodesByFilter:function(a,b,c,e){b=!!b;return!a||typeof a!="function"?b?null:[]:h.getNodesByFilter(d,c?c[d.data.key.children]:h.getNodes(d),a,b,e)},getNodeIndex:function(a){if(!a)return null;for(var b=d.data.key.children,c=a.parentTId?a.getParentNode():h.getRoot(d),e=0,i=c[b].length;e<i;e++)if(c[b][e]==a)return e;return-1},getSelectedNodes:function(){for(var a=[],b=h.getRoot(d).curSelectedList, -c=0,e=b.length;c<e;c++)a.push(b[c]);return a},isSelectedNode:function(a){return h.isSelectedNode(d,a)},reAsyncChildNodes:function(a,b,c){if(this.setting.async.enable){var j=!a;j&&(a=h.getRoot(d));if(b=="refresh"){for(var b=this.setting.data.key.children,m=0,p=a[b]?a[b].length:0;m<p;m++)h.removeNodeCache(d,a[b][m]);h.removeSelectedNode(d);a[b]=[];j?this.setting.treeObj.empty():k(a,e.id.UL,d).empty()}i.asyncNode(this.setting,j?null:a,!!c)}},refresh:function(){this.setting.treeObj.empty();var a=h.getRoot(d), -b=a[d.data.key.children];h.initRoot(d);a[d.data.key.children]=b;h.initCache(d);i.createNodes(d,0,a[d.data.key.children])},removeChildNodes:function(a){if(!a)return null;var b=a[d.data.key.children];i.removeChildNodes(d,a);return b?b:null},removeNode:function(a,b){a&&(b=!!b,b&&j.apply(d.callback.beforeRemove,[d.treeId,a],!0)==!1||(i.removeNode(d,a),b&&this.setting.treeObj.trigger(e.event.REMOVE,[d.treeId,a])))},selectNode:function(a,b){if(a&&j.uCanDo(d)){b=d.view.selectedMulti&&b;if(a.parentTId)i.expandCollapseParentNode(d, -a.getParentNode(),!0,!1,function(){try{k(a,d).focus().blur()}catch(b){}});else try{k(a,d).focus().blur()}catch(c){}i.selectNode(d,a,b)}},transformTozTreeNodes:function(a){return h.transformTozTreeFormat(d,a)},transformToArray:function(a){return h.transformToArrayFormat(d,a)},updateNode:function(a){a&&k(a,d).get(0)&&j.uCanDo(d)&&(i.setNodeName(d,a),i.setNodeTarget(d,a),i.setNodeUrl(d,a),i.setNodeLineIcos(d,a),i.setNodeFontCss(d,a))}};b.treeTools=c;h.setZTreeTools(d,c);b[a]&&b[a].length>0?i.createNodes(d, -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 core v3.5.16
+ * http://zTree.me/
+ *
+ * Copyright (c) 2010 Hunter.z
+ *
+ * Licensed same as jquery - MIT License
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ * email: hunter.z@263.net
+ * Date: 2014-03-09
+ */
+(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,
+[a,c,g])});a.bind(c.CLICK,function(a,c,g,l,h){j.apply(b.callback.onClick,[c,g,l,h])});a.bind(c.EXPAND,function(a,c,g){j.apply(b.callback.onExpand,[a,c,g])});a.bind(c.COLLAPSE,function(a,c,g){j.apply(b.callback.onCollapse,[a,c,g])});a.bind(c.ASYNC_SUCCESS,function(a,c,g,l){j.apply(b.callback.onAsyncSuccess,[a,c,g,l])});a.bind(c.ASYNC_ERROR,function(a,c,g,l,h,e){j.apply(b.callback.onAsyncError,[a,c,g,l,h,e])});a.bind(c.REMOVE,function(a,c,g){j.apply(b.callback.onRemove,[a,c,g])})}],x=[function(b){var a=
+e.event;b.treeObj.unbind(a.NODECREATED).unbind(a.CLICK).unbind(a.EXPAND).unbind(a.COLLAPSE).unbind(a.ASYNC_SUCCESS).unbind(a.ASYNC_ERROR).unbind(a.REMOVE)}],y=[function(b){var a=h.getCache(b);a||(a={},h.setCache(b,a));a.nodes=[];a.doms=[]}],z=[function(b,a,c,d,f,g){if(c){var l=h.getRoot(b),e=b.data.key.children;c.level=a;c.tId=b.treeId+"_"+ ++l.zId;c.parentTId=d?d.tId:null;c.open=typeof c.open=="string"?j.eqs(c.open,"true"):!!c.open;c[e]&&c[e].length>0?(c.isParent=!0,c.zAsync=!0):(c.isParent=typeof c.isParent==
+"string"?j.eqs(c.isParent,"true"):!!c.isParent,c.open=c.isParent&&!b.async.enable?c.open:!1,c.zAsync=!c.isParent);c.isFirstNode=f;c.isLastNode=g;c.getParentNode=function(){return h.getNodeCache(b,c.parentTId)};c.getPreNode=function(){return h.getPreNode(b,c)};c.getNextNode=function(){return h.getNextNode(b,c)};c.isAjaxing=!1;h.fixPIdKeyValue(b,c)}}],s=[function(b){var a=b.target,c=h.getSetting(b.data.treeId),d="",f=null,g="",l="",i=null,n=null,k=null;if(j.eqs(b.type,"mousedown"))l="mousedown";else if(j.eqs(b.type,
+"mouseup"))l="mouseup";else if(j.eqs(b.type,"contextmenu"))l="contextmenu";else if(j.eqs(b.type,"click"))if(j.eqs(a.tagName,"span")&&a.getAttribute("treeNode"+e.id.SWITCH)!==null)d=j.getNodeMainDom(a).id,g="switchNode";else{if(k=j.getMDom(c,a,[{tagName:"a",attrName:"treeNode"+e.id.A}]))d=j.getNodeMainDom(k).id,g="clickNode"}else if(j.eqs(b.type,"dblclick")&&(l="dblclick",k=j.getMDom(c,a,[{tagName:"a",attrName:"treeNode"+e.id.A}])))d=j.getNodeMainDom(k).id,g="switchNode";if(l.length>0&&d.length==0&&
+(k=j.getMDom(c,a,[{tagName:"a",attrName:"treeNode"+e.id.A}])))d=j.getNodeMainDom(k).id;if(d.length>0)switch(f=h.getNodeCache(c,d),g){case "switchNode":f.isParent?j.eqs(b.type,"click")||j.eqs(b.type,"dblclick")&&j.apply(c.view.dblClickExpand,[c.treeId,f],c.view.dblClickExpand)?i=G:g="":g="";break;case "clickNode":i=H}switch(l){case "mousedown":n=I;break;case "mouseup":n=J;break;case "dblclick":n=K;break;case "contextmenu":n=L}return{stop:!1,node:f,nodeEventType:g,nodeEventCallback:i,treeEventType:l,
+treeEventCallback:n}}],A=[function(b){var a=h.getRoot(b);a||(a={},h.setRoot(b,a));a[b.data.key.children]=[];a.expandTriggerFlag=!1;a.curSelectedList=[];a.noSelection=!0;a.createdNodes=[];a.zId=0;a._ver=(new Date).getTime()}],B=[],C=[],D=[],E=[],F=[],h={addNodeCache:function(b,a){h.getCache(b).nodes[h.getNodeCacheId(a.tId)]=a},getNodeCacheId:function(b){return b.substring(b.lastIndexOf("_")+1)},addAfterA:function(b){C.push(b)},addBeforeA:function(b){B.push(b)},addInnerAfterA:function(b){E.push(b)},
+addInnerBeforeA:function(b){D.push(b)},addInitBind:function(b){w.push(b)},addInitUnBind:function(b){x.push(b)},addInitCache:function(b){y.push(b)},addInitNode:function(b){z.push(b)},addInitProxy:function(b,a){a?s.splice(0,0,b):s.push(b)},addInitRoot:function(b){A.push(b)},addNodesData:function(b,a,c){var d=b.data.key.children;a[d]||(a[d]=[]);if(a[d].length>0)a[d][a[d].length-1].isLastNode=!1,i.setNodeLineIcos(b,a[d][a[d].length-1]);a.isParent=!0;a[d]=a[d].concat(c)},addSelectedNode:function(b,a){var c=
+h.getRoot(b);h.isSelectedNode(b,a)||c.curSelectedList.push(a)},addCreatedNode:function(b,a){(b.callback.onNodeCreated||b.view.addDiyDom)&&h.getRoot(b).createdNodes.push(a)},addZTreeTools:function(b){F.push(b)},exSetting:function(b){p.extend(!0,M,b)},fixPIdKeyValue:function(b,a){b.data.simpleData.enable&&(a[b.data.simpleData.pIdKey]=a.parentTId?a.getParentNode()[b.data.simpleData.idKey]:b.data.simpleData.rootPId)},getAfterA:function(b,a,c){for(var d=0,f=C.length;d<f;d++)C[d].apply(this,arguments)},
+getBeforeA:function(b,a,c){for(var d=0,f=B.length;d<f;d++)B[d].apply(this,arguments)},getInnerAfterA:function(b,a,c){for(var d=0,f=E.length;d<f;d++)E[d].apply(this,arguments)},getInnerBeforeA:function(b,a,c){for(var d=0,f=D.length;d<f;d++)D[d].apply(this,arguments)},getCache:function(b){return v[b.treeId]},getNextNode:function(b,a){if(!a)return null;for(var c=b.data.key.children,d=a.parentTId?a.getParentNode():h.getRoot(b),f=0,g=d[c].length-1;f<=g;f++)if(d[c][f]===a)return f==g?null:d[c][f+1];return null},
+getNodeByParam:function(b,a,c,d){if(!a||!c)return null;for(var f=b.data.key.children,g=0,l=a.length;g<l;g++){if(a[g][c]==d)return a[g];var e=h.getNodeByParam(b,a[g][f],c,d);if(e)return e}return null},getNodeCache:function(b,a){if(!a)return null;var c=v[b.treeId].nodes[h.getNodeCacheId(a)];return c?c:null},getNodeName:function(b,a){return""+a[b.data.key.name]},getNodeTitle:function(b,a){return""+a[b.data.key.title===""?b.data.key.name:b.data.key.title]},getNodes:function(b){return h.getRoot(b)[b.data.key.children]},
+getNodesByParam:function(b,a,c,d){if(!a||!c)return[];for(var f=b.data.key.children,g=[],l=0,e=a.length;l<e;l++)a[l][c]==d&&g.push(a[l]),g=g.concat(h.getNodesByParam(b,a[l][f],c,d));return g},getNodesByParamFuzzy:function(b,a,c,d){if(!a||!c)return[];for(var f=b.data.key.children,g=[],d=d.toLowerCase(),l=0,e=a.length;l<e;l++)typeof a[l][c]=="string"&&a[l][c].toLowerCase().indexOf(d)>-1&&g.push(a[l]),g=g.concat(h.getNodesByParamFuzzy(b,a[l][f],c,d));return g},getNodesByFilter:function(b,a,c,d,f){if(!a)return d?
+null:[];for(var g=b.data.key.children,e=d?null:[],i=0,n=a.length;i<n;i++){if(j.apply(c,[a[i],f],!1)){if(d)return a[i];e.push(a[i])}var k=h.getNodesByFilter(b,a[i][g],c,d,f);if(d&&k)return k;e=d?k:e.concat(k)}return e},getPreNode:function(b,a){if(!a)return null;for(var c=b.data.key.children,d=a.parentTId?a.getParentNode():h.getRoot(b),f=0,g=d[c].length;f<g;f++)if(d[c][f]===a)return f==0?null:d[c][f-1];return null},getRoot:function(b){return b?u[b.treeId]:null},getRoots:function(){return u},getSetting:function(b){return r[b]},
+getSettings:function(){return r},getZTreeTools:function(b){return(b=this.getRoot(this.getSetting(b)))?b.treeTools:null},initCache:function(b){for(var a=0,c=y.length;a<c;a++)y[a].apply(this,arguments)},initNode:function(b,a,c,d,f,g){for(var e=0,h=z.length;e<h;e++)z[e].apply(this,arguments)},initRoot:function(b){for(var a=0,c=A.length;a<c;a++)A[a].apply(this,arguments)},isSelectedNode:function(b,a){for(var c=h.getRoot(b),d=0,f=c.curSelectedList.length;d<f;d++)if(a===c.curSelectedList[d])return!0;return!1},
+removeNodeCache:function(b,a){var c=b.data.key.children;if(a[c])for(var d=0,f=a[c].length;d<f;d++)arguments.callee(b,a[c][d]);h.getCache(b).nodes[h.getNodeCacheId(a.tId)]=null},removeSelectedNode:function(b,a){for(var c=h.getRoot(b),d=0,f=c.curSelectedList.length;d<f;d++)if(a===c.curSelectedList[d]||!h.getNodeCache(b,c.curSelectedList[d].tId))c.curSelectedList.splice(d,1),d--,f--},setCache:function(b,a){v[b.treeId]=a},setRoot:function(b,a){u[b.treeId]=a},setZTreeTools:function(b,a){for(var c=0,d=
+F.length;c<d;c++)F[c].apply(this,arguments)},transformToArrayFormat:function(b,a){if(!a)return[];var c=b.data.key.children,d=[];if(j.isArray(a))for(var f=0,g=a.length;f<g;f++)d.push(a[f]),a[f][c]&&(d=d.concat(h.transformToArrayFormat(b,a[f][c])));else d.push(a),a[c]&&(d=d.concat(h.transformToArrayFormat(b,a[c])));return d},transformTozTreeFormat:function(b,a){var c,d,f=b.data.simpleData.idKey,g=b.data.simpleData.pIdKey,e=b.data.key.children;if(!f||f==""||!a)return[];if(j.isArray(a)){var h=[],i=[];
+for(c=0,d=a.length;c<d;c++)i[a[c][f]]=a[c];for(c=0,d=a.length;c<d;c++)i[a[c][g]]&&a[c][f]!=a[c][g]?(i[a[c][g]][e]||(i[a[c][g]][e]=[]),i[a[c][g]][e].push(a[c])):h.push(a[c]);return h}else return[a]}},m={bindEvent:function(b){for(var a=0,c=w.length;a<c;a++)w[a].apply(this,arguments)},unbindEvent:function(b){for(var a=0,c=x.length;a<c;a++)x[a].apply(this,arguments)},bindTree:function(b){var a={treeId:b.treeId},c=b.treeObj;b.view.txtSelectedEnable||c.bind("selectstart",function(a){a=a.originalEvent.srcElement.nodeName.toLowerCase();
+return a==="input"||a==="textarea"}).css({"-moz-user-select":"-moz-none"});c.bind("click",a,m.proxy);c.bind("dblclick",a,m.proxy);c.bind("mouseover",a,m.proxy);c.bind("mouseout",a,m.proxy);c.bind("mousedown",a,m.proxy);c.bind("mouseup",a,m.proxy);c.bind("contextmenu",a,m.proxy)},unbindTree:function(b){b.treeObj.unbind("click",m.proxy).unbind("dblclick",m.proxy).unbind("mouseover",m.proxy).unbind("mouseout",m.proxy).unbind("mousedown",m.proxy).unbind("mouseup",m.proxy).unbind("contextmenu",m.proxy)},
+doProxy:function(b){for(var a=[],c=0,d=s.length;c<d;c++){var f=s[c].apply(this,arguments);a.push(f);if(f.stop)break}return a},proxy:function(b){var a=h.getSetting(b.data.treeId);if(!j.uCanDo(a,b))return!0;for(var a=m.doProxy(b),c=!0,d=0,f=a.length;d<f;d++){var g=a[d];g.nodeEventCallback&&(c=g.nodeEventCallback.apply(g,[b,g.node])&&c);g.treeEventCallback&&(c=g.treeEventCallback.apply(g,[b,g.node])&&c)}return c}};G=function(b,a){var c=h.getSetting(b.data.treeId);if(a.open){if(j.apply(c.callback.beforeCollapse,
+[c.treeId,a],!0)==!1)return!0}else if(j.apply(c.callback.beforeExpand,[c.treeId,a],!0)==!1)return!0;h.getRoot(c).expandTriggerFlag=!0;i.switchNode(c,a);return!0};H=function(b,a){var c=h.getSetting(b.data.treeId),d=c.view.autoCancelSelected&&(b.ctrlKey||b.metaKey)&&h.isSelectedNode(c,a)?0:c.view.autoCancelSelected&&(b.ctrlKey||b.metaKey)&&c.view.selectedMulti?2:1;if(j.apply(c.callback.beforeClick,[c.treeId,a,d],!0)==!1)return!0;d===0?i.cancelPreSelectedNode(c,a):i.selectNode(c,a,d===2);c.treeObj.trigger(e.event.CLICK,
+[b,c.treeId,a,d]);return!0};I=function(b,a){var c=h.getSetting(b.data.treeId);j.apply(c.callback.beforeMouseDown,[c.treeId,a],!0)&&j.apply(c.callback.onMouseDown,[b,c.treeId,a]);return!0};J=function(b,a){var c=h.getSetting(b.data.treeId);j.apply(c.callback.beforeMouseUp,[c.treeId,a],!0)&&j.apply(c.callback.onMouseUp,[b,c.treeId,a]);return!0};K=function(b,a){var c=h.getSetting(b.data.treeId);j.apply(c.callback.beforeDblClick,[c.treeId,a],!0)&&j.apply(c.callback.onDblClick,[b,c.treeId,a]);return!0};
+L=function(b,a){var c=h.getSetting(b.data.treeId);j.apply(c.callback.beforeRightClick,[c.treeId,a],!0)&&j.apply(c.callback.onRightClick,[b,c.treeId,a]);return typeof c.callback.onRightClick!="function"};var j={apply:function(b,a,c){return typeof b=="function"?b.apply(N,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"?arguments.callee(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"?p(b,c?c.treeObj.get(0).ownerDocument:null):p("#"+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,f=c.length;a.tagName&&d<f;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 p(b).parent("li").get(0)||p(b).parentsUntil("li").parent().get(0)},isChildOrSelf:function(b,a){return p(b).closest("#"+a).length>0},uCanDo:function(){return!0}},i={addNodes:function(b,a,c,d){if(!b.data.keep.leaf||!a||a.isParent)if(j.isArray(c)||(c=[c]),b.data.simpleData.enable&&(c=h.transformTozTreeFormat(b,c)),a){var f=k(a,e.id.SWITCH,b),g=k(a,e.id.ICON,b),l=k(a,e.id.UL,b);if(!a.open)i.replaceSwitchClass(a,
+f,e.folder.CLOSE),i.replaceIcoClass(a,g,e.folder.CLOSE),a.open=!1,l.css({display:"none"});h.addNodesData(b,a,c);i.createNodes(b,a.level+1,c,a);d||i.expandCollapseParentNode(b,a,!0)}else h.addNodesData(b,h.getRoot(b),c),i.createNodes(b,0,c,null)},appendNodes:function(b,a,c,d,f,g){if(!c)return[];for(var e=[],j=b.data.key.children,k=0,m=c.length;k<m;k++){var o=c[k];if(f){var t=(d?d:h.getRoot(b))[j].length==c.length&&k==0;h.initNode(b,a,o,d,t,k==c.length-1,g);h.addNodeCache(b,o)}t=[];o[j]&&o[j].length>
+0&&(t=i.appendNodes(b,a+1,o[j],o,f,g&&o.open));g&&(i.makeDOMNodeMainBefore(e,b,o),i.makeDOMNodeLine(e,b,o),h.getBeforeA(b,o,e),i.makeDOMNodeNameBefore(e,b,o),h.getInnerBeforeA(b,o,e),i.makeDOMNodeIcon(e,b,o),h.getInnerAfterA(b,o,e),i.makeDOMNodeNameAfter(e,b,o),h.getAfterA(b,o,e),o.isParent&&o.open&&i.makeUlHtml(b,o,e,t.join("")),i.makeDOMNodeMainAfter(e,b,o),h.addCreatedNode(b,o))}return e},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 f=k(a,e.id.UL,b);f.get(0)&&f.remove();f=i.appendNodes(b,a.level+1,a[b.data.key.children],a,!1,!0);i.makeUlHtml(b,a,c,f.join(""));d.append(c.join(""))},asyncNode:function(b,a,c,d){var f,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,e.id.ICON,b).attr({style:"","class":e.className.BUTTON+" "+e.className.ICO_LOADING});var l={};for(f=0,g=b.async.autoParam.length;a&&
+f<g;f++){var q=b.async.autoParam[f].split("="),n=q;q.length>1&&(n=q[1],q=q[0]);l[n]=a[q]}if(j.isArray(b.async.otherParam))for(f=0,g=b.async.otherParam.length;f<g;f+=2)l[b.async.otherParam[f]]=b.async.otherParam[f+1];else for(var m in b.async.otherParam)l[m]=b.async.otherParam[m];var o=h.getRoot(b)._ver;p.ajax({contentType:b.async.contentType,type:b.async.type,url:j.apply(b.async.url,[b.treeId,a],b.async.url),data:l,dataType:b.async.dataType,success:function(f){if(o==h.getRoot(b)._ver){var g=[];try{g=
+!f||f.length==0?[]:typeof f=="string"?eval("("+f+")"):f}catch(l){g=f}if(a)a.isAjaxing=null,a.zAsync=!0;i.setNodeLineIcos(b,a);g&&g!==""?(g=j.apply(b.async.dataFilter,[b.treeId,a,g],g),i.addNodes(b,a,g?j.clone(g):[],!!c)):i.addNodes(b,a,[],!!c);b.treeObj.trigger(e.event.ASYNC_SUCCESS,[b.treeId,a,f]);j.apply(d)}},error:function(c,d,f){if(o==h.getRoot(b)._ver){if(a)a.isAjaxing=null;i.setNodeLineIcos(b,a);b.treeObj.trigger(e.event.ASYNC_ERROR,[b.treeId,a,c,d,f])}}});return!0},cancelPreSelectedNode:function(b,
+a){for(var c=h.getRoot(b).curSelectedList,d=c.length-1;d>=0;d--)if(!a||a===c[d])if(k(c[d],e.id.A,b).removeClass(e.node.CURSELECTED),a){h.removeSelectedNode(b,a);break}if(!a)h.getRoot(b).curSelectedList=[]},createNodeCallback:function(b){if(b.callback.onNodeCreated||b.view.addDiyDom)for(var a=h.getRoot(b);a.createdNodes.length>0;){var c=a.createdNodes.shift();j.apply(b.view.addDiyDom,[b.treeId,c]);b.callback.onNodeCreated&&b.treeObj.trigger(e.event.NODECREATED,[b.treeId,c])}},createNodes:function(b,
+a,c,d){if(c&&c.length!=0){var f=h.getRoot(b),g=b.data.key.children,g=!d||d.open||!!k(d[g][0],b).get(0);f.createdNodes=[];a=i.appendNodes(b,a,c,d,!0,g);d?(d=k(d,e.id.UL,b),d.get(0)&&d.append(a.join(""))):b.treeObj.append(a.join(""));i.createNodeCallback(b)}},destroy:function(b){b&&(h.initCache(b),h.initRoot(b),m.unbindTree(b),m.unbindEvent(b),b.treeObj.empty(),delete r[b.treeId])},expandCollapseNode:function(b,a,c,d,f){var g=h.getRoot(b),l=b.data.key.children;if(a){if(g.expandTriggerFlag){var q=f,
+f=function(){q&&q();a.open?b.treeObj.trigger(e.event.EXPAND,[b.treeId,a]):b.treeObj.trigger(e.event.COLLAPSE,[b.treeId,a])};g.expandTriggerFlag=!1}if(!a.open&&a.isParent&&(!k(a,e.id.UL,b).get(0)||a[l]&&a[l].length>0&&!k(a[l][0],b).get(0)))i.appendParentULDom(b,a),i.createNodeCallback(b);if(a.open==c)j.apply(f,[]);else{var c=k(a,e.id.UL,b),g=k(a,e.id.SWITCH,b),n=k(a,e.id.ICON,b);a.isParent?(a.open=!a.open,a.iconOpen&&a.iconClose&&n.attr("style",i.makeNodeIcoStyle(b,a)),a.open?(i.replaceSwitchClass(a,
+g,e.folder.OPEN),i.replaceIcoClass(a,n,e.folder.OPEN),d==!1||b.view.expandSpeed==""?(c.show(),j.apply(f,[])):a[l]&&a[l].length>0?c.slideDown(b.view.expandSpeed,f):(c.show(),j.apply(f,[]))):(i.replaceSwitchClass(a,g,e.folder.CLOSE),i.replaceIcoClass(a,n,e.folder.CLOSE),d==!1||b.view.expandSpeed==""||!(a[l]&&a[l].length>0)?(c.hide(),j.apply(f,[])):c.slideUp(b.view.expandSpeed,f))):j.apply(f,[])}}else j.apply(f,[])},expandCollapseParentNode:function(b,a,c,d,f){a&&(a.parentTId?(i.expandCollapseNode(b,
+a,c,d),a.parentTId&&i.expandCollapseParentNode(b,a.getParentNode(),c,d,f)):i.expandCollapseNode(b,a,c,d,f))},expandCollapseSonNode:function(b,a,c,d,f){var g=h.getRoot(b),e=b.data.key.children,g=a?a[e]:g[e],e=a?!1:d,j=h.getRoot(b).expandTriggerFlag;h.getRoot(b).expandTriggerFlag=!1;if(g)for(var k=0,m=g.length;k<m;k++)g[k]&&i.expandCollapseSonNode(b,g[k],c,e);h.getRoot(b).expandTriggerFlag=j;i.expandCollapseNode(b,a,c,d,f)},makeDOMNodeIcon:function(b,a,c){var d=h.getNodeName(a,c),d=a.view.nameIsHTML?
+d:d.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");b.push("<span id='",c.tId,e.id.ICON,"' title='' treeNode",e.id.ICON," class='",i.makeNodeIcoClass(a,c),"' style='",i.makeNodeIcoStyle(a,c),"'></span><span id='",c.tId,e.id.SPAN,"'>",d,"</span>")},makeDOMNodeLine:function(b,a,c){b.push("<span id='",c.tId,e.id.SWITCH,"' title='' class='",i.makeNodeLineClass(a,c),"' treeNode",e.id.SWITCH,"></span>")},makeDOMNodeMainAfter:function(b){b.push("</li>")},makeDOMNodeMainBefore:function(b,
+a,c){b.push("<li id='",c.tId,"' class='",e.className.LEVEL,c.level,"' tabindex='0' hidefocus='true' treenode>")},makeDOMNodeNameAfter:function(b){b.push("</a>")},makeDOMNodeNameBefore:function(b,a,c){var d=h.getNodeTitle(a,c),f=i.makeNodeUrl(a,c),g=i.makeNodeFontCss(a,c),l=[],k;for(k in g)l.push(k,":",g[k],";");b.push("<a id='",c.tId,e.id.A,"' class='",e.className.LEVEL,c.level,"' treeNode",e.id.A,' onclick="',c.click||"",'" ',f!=null&&f.length>0?"href='"+f+"'":""," target='",i.makeNodeTarget(c),
+"' style='",l.join(""),"'");j.apply(a.view.showTitle,[a.treeId,c],a.view.showTitle)&&d&&b.push("title='",d.replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">"),"'");b.push(">")},makeNodeFontCss:function(b,a){var c=j.apply(b.view.fontCss,[b.treeId,a],b.view.fontCss);return c&&typeof c!="function"?c:{}},makeNodeIcoClass:function(b,a){var c=["ico"];a.isAjaxing||(c[0]=(a.iconSkin?a.iconSkin+"_":"")+c[0],a.isParent?c.push(a.open?e.folder.OPEN:e.folder.CLOSE):c.push(e.folder.DOCU));return e.className.BUTTON+
+" "+c.join("_")},makeNodeIcoStyle:function(b,a){var c=[];if(!a.isAjaxing){var d=a.isParent&&a.iconOpen&&a.iconClose?a.open?a.iconOpen:a.iconClose:a.icon;d&&c.push("background:url(",d,") 0 0 no-repeat;");(b.view.showIcon==!1||!j.apply(b.view.showIcon,[b.treeId,a],!0))&&c.push("width:0px;height:0px;")}return c.join("")},makeNodeLineClass:function(b,a){var c=[];b.view.showLine?a.level==0&&a.isFirstNode&&a.isLastNode?c.push(e.line.ROOT):a.level==0&&a.isFirstNode?c.push(e.line.ROOTS):a.isLastNode?c.push(e.line.BOTTOM):
+c.push(e.line.CENTER):c.push(e.line.NOLINE);a.isParent?c.push(a.open?e.folder.OPEN:e.folder.CLOSE):c.push(e.folder.DOCU);return i.makeNodeLineClassEx(a)+c.join("_")},makeNodeLineClassEx:function(b){return e.className.BUTTON+" "+e.className.LEVEL+b.level+" "+e.className.SWITCH+" "},makeNodeTarget:function(b){return b.target||"_blank"},makeNodeUrl:function(b,a){var c=b.data.key.url;return a[c]?a[c]:null},makeUlHtml:function(b,a,c,d){c.push("<ul id='",a.tId,e.id.UL,"' class='",e.className.LEVEL,a.level,
+" ",i.makeUlLineClass(b,a),"' style='display:",a.open?"block":"none","'>");c.push(d);c.push("</ul>")},makeUlLineClass:function(b,a){return b.view.showLine&&!a.isLastNode?e.line.LINE:""},removeChildNodes:function(b,a){if(a){var c=b.data.key.children,d=a[c];if(d){for(var f=0,g=d.length;f<g;f++)h.removeNodeCache(b,d[f]);h.removeSelectedNode(b);delete a[c];b.data.keep.parent?k(a,e.id.UL,b).empty():(a.isParent=!1,a.open=!1,c=k(a,e.id.SWITCH,b),d=k(a,e.id.ICON,b),i.replaceSwitchClass(a,c,e.folder.DOCU),
+i.replaceIcoClass(a,d,e.folder.DOCU),k(a,e.id.UL,b).remove())}}},setFirstNode:function(b,a){var c=b.data.key.children;if(a[c].length>0)a[c][0].isFirstNode=!0},setLastNode:function(b,a){var c=b.data.key.children,d=a[c].length;if(d>0)a[c][d-1].isLastNode=!0},removeNode:function(b,a){var c=h.getRoot(b),d=b.data.key.children,f=a.parentTId?a.getParentNode():c;a.isFirstNode=!1;a.isLastNode=!1;a.getPreNode=function(){return null};a.getNextNode=function(){return null};if(h.getNodeCache(b,a.tId)){k(a,b).remove();
+h.removeNodeCache(b,a);h.removeSelectedNode(b,a);for(var g=0,l=f[d].length;g<l;g++)if(f[d][g].tId==a.tId){f[d].splice(g,1);break}i.setFirstNode(b,f);i.setLastNode(b,f);var j,g=f[d].length;if(!b.data.keep.parent&&g==0)f.isParent=!1,f.open=!1,g=k(f,e.id.UL,b),l=k(f,e.id.SWITCH,b),j=k(f,e.id.ICON,b),i.replaceSwitchClass(f,l,e.folder.DOCU),i.replaceIcoClass(f,j,e.folder.DOCU),g.css("display","none");else if(b.view.showLine&&g>0){var n=f[d][g-1],g=k(n,e.id.UL,b),l=k(n,e.id.SWITCH,b);j=k(n,e.id.ICON,b);
+f==c?f[d].length==1?i.replaceSwitchClass(n,l,e.line.ROOT):(c=k(f[d][0],e.id.SWITCH,b),i.replaceSwitchClass(f[d][0],c,e.line.ROOTS),i.replaceSwitchClass(n,l,e.line.BOTTOM)):i.replaceSwitchClass(n,l,e.line.BOTTOM);g.removeClass(e.line.LINE)}}},replaceIcoClass:function(b,a,c){if(a&&!b.isAjaxing&&(b=a.attr("class"),b!=void 0)){b=b.split("_");switch(c){case e.folder.OPEN:case e.folder.CLOSE:case e.folder.DOCU:b[b.length-1]=c}a.attr("class",b.join("_"))}},replaceSwitchClass:function(b,a,c){if(a){var d=
+a.attr("class");if(d!=void 0){d=d.split("_");switch(c){case e.line.ROOT:case e.line.ROOTS:case e.line.CENTER:case e.line.BOTTOM:case e.line.NOLINE:d[0]=i.makeNodeLineClassEx(b)+c;break;case e.folder.OPEN:case e.folder.CLOSE:case e.folder.DOCU:d[1]=c}a.attr("class",d.join("_"));c!==e.folder.DOCU?a.removeAttr("disabled"):a.attr("disabled","disabled")}}},selectNode:function(b,a,c){c||i.cancelPreSelectedNode(b);k(a,e.id.A,b).addClass(e.node.CURSELECTED);h.addSelectedNode(b,a)},setNodeFontCss:function(b,
+a){var c=k(a,e.id.A,b),d=i.makeNodeFontCss(b,a);d&&c.css(d)},setNodeLineIcos:function(b,a){if(a){var c=k(a,e.id.SWITCH,b),d=k(a,e.id.UL,b),f=k(a,e.id.ICON,b),g=i.makeUlLineClass(b,a);g.length==0?d.removeClass(e.line.LINE):d.addClass(g);c.attr("class",i.makeNodeLineClass(b,a));a.isParent?c.removeAttr("disabled"):c.attr("disabled","disabled");f.removeAttr("style");f.attr("style",i.makeNodeIcoStyle(b,a));f.attr("class",i.makeNodeIcoClass(b,a))}},setNodeName:function(b,a){var c=h.getNodeTitle(b,a),d=
+k(a,e.id.SPAN,b);d.empty();b.view.nameIsHTML?d.html(h.getNodeName(b,a)):d.text(h.getNodeName(b,a));j.apply(b.view.showTitle,[b.treeId,a],b.view.showTitle)&&k(a,e.id.A,b).attr("title",!c?"":c)},setNodeTarget:function(b,a){k(a,e.id.A,b).attr("target",i.makeNodeTarget(a))},setNodeUrl:function(b,a){var c=k(a,e.id.A,b),d=i.makeNodeUrl(b,a);d==null||d.length==0?c.removeAttr("href"):c.attr("href",d)},switchNode:function(b,a){a.open||!j.canAsync(b,a)?i.expandCollapseNode(b,a,!a.open):b.async.enable?i.asyncNode(b,
+a)||i.expandCollapseNode(b,a,!a.open):a&&i.expandCollapseNode(b,a,!a.open)}};p.fn.zTree={consts:{className:{BUTTON:"button",LEVEL:"level",ICO_LOADING:"ico_loading",SWITCH:"switch"},event:{NODECREATED:"ztree_nodeCreated",CLICK:"ztree_click",EXPAND:"ztree_expand",COLLAPSE:"ztree_collapse",ASYNC_SUCCESS:"ztree_async_success",ASYNC_ERROR:"ztree_async_error",REMOVE:"ztree_remove"},id:{A:"_a",ICON:"_ico",SPAN:"_span",SWITCH:"_switch",UL:"_ul"},line:{ROOT:"root",ROOTS:"roots",CENTER:"center",BOTTOM:"bottom",
+NOLINE:"noline",LINE:"line"},folder:{OPEN:"open",CLOSE:"close",DOCU:"docu"},node:{CURSELECTED:"curSelectedNode"}},_z:{tools:j,view:i,event:m,data:h},getZTreeObj:function(b){return(b=h.getZTreeTools(b))?b:null},destroy:function(b){if(b&&b.length>0)i.destroy(h.getSetting(b));else for(var a in r)i.destroy(r[a])},init:function(b,a,c){var d=j.clone(M);p.extend(!0,d,a);d.treeId=b.attr("id");d.treeObj=b;d.treeObj.empty();r[d.treeId]=d;if(typeof document.body.style.maxHeight==="undefined")d.view.expandSpeed=
+"";h.initRoot(d);b=h.getRoot(d);a=d.data.key.children;c=c?j.clone(j.isArray(c)?c:[c]):[];b[a]=d.data.simpleData.enable?h.transformTozTreeFormat(d,c):c;h.initCache(d);m.unbindTree(d);m.bindTree(d);m.unbindEvent(d);m.bindEvent(d);c={setting:d,addNodes:function(a,b,c){function e(){i.addNodes(d,a,h,c==!0)}if(!b)return null;a||(a=null);if(a&&!a.isParent&&d.data.keep.leaf)return null;var h=j.clone(j.isArray(b)?b:[b]);j.canAsync(d,a)?i.asyncNode(d,a,c,e):e();return h},cancelSelectedNode:function(a){i.cancelPreSelectedNode(d,
+a)},destroy:function(){i.destroy(d)},expandAll:function(a){a=!!a;i.expandCollapseSonNode(d,null,a,!0);return a},expandNode:function(a,b,c,e,n){if(!a||!a.isParent)return null;b!==!0&&b!==!1&&(b=!a.open);if((n=!!n)&&b&&j.apply(d.callback.beforeExpand,[d.treeId,a],!0)==!1)return null;else if(n&&!b&&j.apply(d.callback.beforeCollapse,[d.treeId,a],!0)==!1)return null;b&&a.parentTId&&i.expandCollapseParentNode(d,a.getParentNode(),b,!1);if(b===a.open&&!c)return null;h.getRoot(d).expandTriggerFlag=n;if(!j.canAsync(d,
+a)&&c)i.expandCollapseSonNode(d,a,b,!0,function(){if(e!==!1)try{k(a,d).focus().blur()}catch(b){}});else if(a.open=!b,i.switchNode(this.setting,a),e!==!1)try{k(a,d).focus().blur()}catch(m){}return b},getNodes:function(){return h.getNodes(d)},getNodeByParam:function(a,b,c){return!a?null:h.getNodeByParam(d,c?c[d.data.key.children]:h.getNodes(d),a,b)},getNodeByTId:function(a){return h.getNodeCache(d,a)},getNodesByParam:function(a,b,c){return!a?null:h.getNodesByParam(d,c?c[d.data.key.children]:h.getNodes(d),
+a,b)},getNodesByParamFuzzy:function(a,b,c){return!a?null:h.getNodesByParamFuzzy(d,c?c[d.data.key.children]:h.getNodes(d),a,b)},getNodesByFilter:function(a,b,c,e){b=!!b;return!a||typeof a!="function"?b?null:[]:h.getNodesByFilter(d,c?c[d.data.key.children]:h.getNodes(d),a,b,e)},getNodeIndex:function(a){if(!a)return null;for(var b=d.data.key.children,c=a.parentTId?a.getParentNode():h.getRoot(d),e=0,i=c[b].length;e<i;e++)if(c[b][e]==a)return e;return-1},getSelectedNodes:function(){for(var a=[],b=h.getRoot(d).curSelectedList,
+c=0,e=b.length;c<e;c++)a.push(b[c]);return a},isSelectedNode:function(a){return h.isSelectedNode(d,a)},reAsyncChildNodes:function(a,b,c){if(this.setting.async.enable){var j=!a;j&&(a=h.getRoot(d));if(b=="refresh"){for(var b=this.setting.data.key.children,m=0,p=a[b]?a[b].length:0;m<p;m++)h.removeNodeCache(d,a[b][m]);h.removeSelectedNode(d);a[b]=[];j?this.setting.treeObj.empty():k(a,e.id.UL,d).empty()}i.asyncNode(this.setting,j?null:a,!!c)}},refresh:function(){this.setting.treeObj.empty();var a=h.getRoot(d),
+b=a[d.data.key.children];h.initRoot(d);a[d.data.key.children]=b;h.initCache(d);i.createNodes(d,0,a[d.data.key.children])},removeChildNodes:function(a){if(!a)return null;var b=a[d.data.key.children];i.removeChildNodes(d,a);return b?b:null},removeNode:function(a,b){a&&(b=!!b,b&&j.apply(d.callback.beforeRemove,[d.treeId,a],!0)==!1||(i.removeNode(d,a),b&&this.setting.treeObj.trigger(e.event.REMOVE,[d.treeId,a])))},selectNode:function(a,b){if(a&&j.uCanDo(d)){b=d.view.selectedMulti&&b;if(a.parentTId)i.expandCollapseParentNode(d,
+a.getParentNode(),!0,!1,function(){try{k(a,d).focus().blur()}catch(b){}});else try{k(a,d).focus().blur()}catch(c){}i.selectNode(d,a,b)}},transformTozTreeNodes:function(a){return h.transformTozTreeFormat(d,a)},transformToArray:function(a){return h.transformToArrayFormat(d,a)},updateNode:function(a){a&&k(a,d).get(0)&&j.uCanDo(d)&&(i.setNodeName(d,a),i.setNodeTarget(d,a),i.setNodeUrl(d,a),i.setNodeLineIcos(d,a),i.setNodeFontCss(d,a))}};b.treeTools=c;h.setZTreeTools(d,c);b[a]&&b[a].length>0?i.createNodes(d,
+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);
diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/js/jquery.ztree.excheck.js b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/js/jquery.ztree.excheck.js index 1374c525..6887c664 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/js/jquery.ztree.excheck.js +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/js/jquery.ztree.excheck.js @@ -1,629 +1,629 @@ -/* - * JQuery zTree excheck v3.5.16 - * http://zTree.me/ - * - * Copyright (c) 2010 Hunter.z - * - * Licensed same as jquery - MIT License - * http://www.opensource.org/licenses/mit-license.php - * - * email: hunter.z@263.net - * Date: 2014-03-09 - */ -(function($){ - //default consts of excheck - var _consts = { - 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" - } - }, - //default setting of excheck - _setting = { - check: { - enable: false, - autoCheckTrigger: false, - chkStyle: _consts.checkbox.STYLE, - nocheckInherit: false, - chkDisabledInherit: false, - radioType: _consts.radio.TYPE_LEVEL, - chkboxType: { - "Y": "ps", - "N": "ps" - } - }, - data: { - key: { - checked: "checked" - } - }, - callback: { - beforeCheck:null, - onCheck:null - } - }, - //default root of excheck - _initRoot = function (setting) { - var r = data.getRoot(setting); - r.radioCheckedList = []; - }, - //default cache of excheck - _initCache = function(treeId) {}, - //default bind event of excheck - _bindEvent = function(setting) { - var o = setting.treeObj, - c = consts.event; - o.bind(c.CHECK, function (event, srcEvent, treeId, node) { - event.srcEvent = srcEvent; - tools.apply(setting.callback.onCheck, [event, treeId, node]); - }); - }, - _unbindEvent = function(setting) { - var o = setting.treeObj, - c = consts.event; - o.unbind(c.CHECK); - }, - //default event proxy of excheck - _eventProxy = function(e) { - var target = e.target, - setting = data.getSetting(e.data.treeId), - tId = "", node = null, - nodeEventType = "", treeEventType = "", - nodeEventCallback = null, treeEventCallback = null; - - if (tools.eqs(e.type, "mouseover")) { - if (setting.check.enable && tools.eqs(target.tagName, "span") && target.getAttribute("treeNode"+ consts.id.CHECK) !== null) { - tId = tools.getNodeMainDom(target).id; - nodeEventType = "mouseoverCheck"; - } - } else if (tools.eqs(e.type, "mouseout")) { - if (setting.check.enable && tools.eqs(target.tagName, "span") && target.getAttribute("treeNode"+ consts.id.CHECK) !== null) { - tId = tools.getNodeMainDom(target).id; - nodeEventType = "mouseoutCheck"; - } - } else if (tools.eqs(e.type, "click")) { - if (setting.check.enable && tools.eqs(target.tagName, "span") && target.getAttribute("treeNode"+ consts.id.CHECK) !== null) { - tId = tools.getNodeMainDom(target).id; - nodeEventType = "checkNode"; - } - } - if (tId.length>0) { - node = data.getNodeCache(setting, tId); - switch (nodeEventType) { - case "checkNode" : - nodeEventCallback = _handler.onCheckNode; - break; - case "mouseoverCheck" : - nodeEventCallback = _handler.onMouseoverCheck; - break; - case "mouseoutCheck" : - nodeEventCallback = _handler.onMouseoutCheck; - break; - } - } - var proxyResult = { - stop: nodeEventType === "checkNode", - node: node, - nodeEventType: nodeEventType, - nodeEventCallback: nodeEventCallback, - treeEventType: treeEventType, - treeEventCallback: treeEventCallback - }; - return proxyResult - }, - //default init node of excheck - _initNode = function(setting, level, n, parentNode, isFirstNode, isLastNode, openFlag) { - if (!n) return; - var checkedKey = setting.data.key.checked; - if (typeof n[checkedKey] == "string") n[checkedKey] = tools.eqs(n[checkedKey], "true"); - n[checkedKey] = !!n[checkedKey]; - n.checkedOld = n[checkedKey]; - if (typeof n.nocheck == "string") n.nocheck = tools.eqs(n.nocheck, "true"); - n.nocheck = !!n.nocheck || (setting.check.nocheckInherit && parentNode && !!parentNode.nocheck); - if (typeof n.chkDisabled == "string") n.chkDisabled = tools.eqs(n.chkDisabled, "true"); - n.chkDisabled = !!n.chkDisabled || (setting.check.chkDisabledInherit && parentNode && !!parentNode.chkDisabled); - if (typeof n.halfCheck == "string") n.halfCheck = tools.eqs(n.halfCheck, "true"); - n.halfCheck = !!n.halfCheck; - n.check_Child_State = -1; - n.check_Focus = false; - n.getCheckStatus = function() {return data.getCheckStatus(setting, n);}; - - if (setting.check.chkStyle == consts.radio.STYLE && setting.check.radioType == consts.radio.TYPE_ALL && n[checkedKey] ) { - var r = data.getRoot(setting); - r.radioCheckedList.push(n); - } - }, - //add dom for check - _beforeA = function(setting, node, html) { - var checkedKey = setting.data.key.checked; - if (setting.check.enable) { - data.makeChkFlag(setting, node); - html.push("<span ID='", node.tId, consts.id.CHECK, "' class='", view.makeChkClass(setting, node), "' treeNode", consts.id.CHECK, (node.nocheck === true?" style='display:none;'":""),"></span>"); - } - }, - //update zTreeObj, add method of check - _zTreeTools = function(setting, zTreeTools) { - zTreeTools.checkNode = function(node, checked, checkTypeFlag, callbackFlag) { - var checkedKey = this.setting.data.key.checked; - if (node.chkDisabled === true) return; - if (checked !== true && checked !== false) { - checked = !node[checkedKey]; - } - callbackFlag = !!callbackFlag; - - if (node[checkedKey] === checked && !checkTypeFlag) { - return; - } else if (callbackFlag && tools.apply(this.setting.callback.beforeCheck, [this.setting.treeId, node], true) == false) { - return; - } - if (tools.uCanDo(this.setting) && this.setting.check.enable && node.nocheck !== true) { - node[checkedKey] = checked; - var checkObj = $$(node, consts.id.CHECK, this.setting); - if (checkTypeFlag || this.setting.check.chkStyle === consts.radio.STYLE) view.checkNodeRelation(this.setting, node); - view.setChkClass(this.setting, checkObj, node); - view.repairParentChkClassWithSelf(this.setting, node); - if (callbackFlag) { - this.setting.treeObj.trigger(consts.event.CHECK, [null, this.setting.treeId, node]); - } - } - } - - zTreeTools.checkAllNodes = function(checked) { - view.repairAllChk(this.setting, !!checked); - } - - zTreeTools.getCheckedNodes = function(checked) { - var childKey = this.setting.data.key.children; - checked = (checked !== false); - return data.getTreeCheckedNodes(this.setting, data.getRoot(this.setting)[childKey], checked); - } - - zTreeTools.getChangeCheckedNodes = function() { - var childKey = this.setting.data.key.children; - return data.getTreeChangeCheckedNodes(this.setting, data.getRoot(this.setting)[childKey]); - } - - zTreeTools.setChkDisabled = function(node, disabled, inheritParent, inheritChildren) { - disabled = !!disabled; - inheritParent = !!inheritParent; - inheritChildren = !!inheritChildren; - view.repairSonChkDisabled(this.setting, node, disabled, inheritChildren); - view.repairParentChkDisabled(this.setting, node.getParentNode(), disabled, inheritParent); - } - - var _updateNode = zTreeTools.updateNode; - zTreeTools.updateNode = function(node, checkTypeFlag) { - if (_updateNode) _updateNode.apply(zTreeTools, arguments); - if (!node || !this.setting.check.enable) return; - var nObj = $$(node, this.setting); - if (nObj.get(0) && tools.uCanDo(this.setting)) { - var checkObj = $$(node, consts.id.CHECK, this.setting); - if (checkTypeFlag == true || this.setting.check.chkStyle === consts.radio.STYLE) view.checkNodeRelation(this.setting, node); - view.setChkClass(this.setting, checkObj, node); - view.repairParentChkClassWithSelf(this.setting, node); - } - } - }, - //method of operate data - _data = { - getRadioCheckedList: function(setting) { - var checkedList = data.getRoot(setting).radioCheckedList; - for (var i=0, j=checkedList.length; i<j; i++) { - if(!data.getNodeCache(setting, checkedList[i].tId)) { - checkedList.splice(i, 1); - i--; j--; - } - } - return checkedList; - }, - getCheckStatus: function(setting, node) { - if (!setting.check.enable || node.nocheck || node.chkDisabled) return null; - var checkedKey = setting.data.key.checked, - r = { - checked: node[checkedKey], - half: node.halfCheck ? node.halfCheck : (setting.check.chkStyle == consts.radio.STYLE ? (node.check_Child_State === 2) : (node[checkedKey] ? (node.check_Child_State > -1 && node.check_Child_State < 2) : (node.check_Child_State > 0))) - }; - return r; - }, - getTreeCheckedNodes: function(setting, nodes, checked, results) { - if (!nodes) return []; - var childKey = setting.data.key.children, - checkedKey = setting.data.key.checked, - onlyOne = (checked && setting.check.chkStyle == consts.radio.STYLE && setting.check.radioType == consts.radio.TYPE_ALL); - results = !results ? [] : results; - for (var i = 0, l = nodes.length; i < l; i++) { - if (nodes[i].nocheck !== true && nodes[i].chkDisabled !== true && nodes[i][checkedKey] == checked) { - results.push(nodes[i]); - if(onlyOne) { - break; - } - } - data.getTreeCheckedNodes(setting, nodes[i][childKey], checked, results); - if(onlyOne && results.length > 0) { - break; - } - } - return results; - }, - getTreeChangeCheckedNodes: function(setting, nodes, results) { - if (!nodes) return []; - var childKey = setting.data.key.children, - checkedKey = setting.data.key.checked; - results = !results ? [] : results; - for (var i = 0, l = nodes.length; i < l; i++) { - if (nodes[i].nocheck !== true && nodes[i].chkDisabled !== true && nodes[i][checkedKey] != nodes[i].checkedOld) { - results.push(nodes[i]); - } - data.getTreeChangeCheckedNodes(setting, nodes[i][childKey], results); - } - return results; - }, - makeChkFlag: function(setting, node) { - if (!node) return; - var childKey = setting.data.key.children, - checkedKey = setting.data.key.checked, - chkFlag = -1; - if (node[childKey]) { - for (var i = 0, l = node[childKey].length; i < l; i++) { - var cNode = node[childKey][i]; - var tmp = -1; - if (setting.check.chkStyle == consts.radio.STYLE) { - if (cNode.nocheck === true || cNode.chkDisabled === true) { - tmp = cNode.check_Child_State; - } else if (cNode.halfCheck === true) { - tmp = 2; - } else if (cNode[checkedKey]) { - tmp = 2; - } else { - tmp = cNode.check_Child_State > 0 ? 2:0; - } - if (tmp == 2) { - chkFlag = 2; break; - } else if (tmp == 0){ - chkFlag = 0; - } - } else if (setting.check.chkStyle == consts.checkbox.STYLE) { - if (cNode.nocheck === true || cNode.chkDisabled === true) { - tmp = cNode.check_Child_State; - } else if (cNode.halfCheck === true) { - tmp = 1; - } else if (cNode[checkedKey] ) { - tmp = (cNode.check_Child_State === -1 || cNode.check_Child_State === 2) ? 2 : 1; - } else { - tmp = (cNode.check_Child_State > 0) ? 1 : 0; - } - if (tmp === 1) { - chkFlag = 1; break; - } else if (tmp === 2 && chkFlag > -1 && i > 0 && tmp !== chkFlag) { - chkFlag = 1; break; - } else if (chkFlag === 2 && tmp > -1 && tmp < 2) { - chkFlag = 1; break; - } else if (tmp > -1) { - chkFlag = tmp; - } - } - } - } - node.check_Child_State = chkFlag; - } - }, - //method of event proxy - _event = { - - }, - //method of event handler - _handler = { - onCheckNode: function (event, node) { - if (node.chkDisabled === true) return false; - var setting = data.getSetting(event.data.treeId), - checkedKey = setting.data.key.checked; - if (tools.apply(setting.callback.beforeCheck, [setting.treeId, node], true) == false) return true; - node[checkedKey] = !node[checkedKey]; - view.checkNodeRelation(setting, node); - var checkObj = $$(node, consts.id.CHECK, setting); - view.setChkClass(setting, checkObj, node); - view.repairParentChkClassWithSelf(setting, node); - setting.treeObj.trigger(consts.event.CHECK, [event, setting.treeId, node]); - return true; - }, - onMouseoverCheck: function(event, node) { - if (node.chkDisabled === true) return false; - var setting = data.getSetting(event.data.treeId), - checkObj = $$(node, consts.id.CHECK, setting); - node.check_Focus = true; - view.setChkClass(setting, checkObj, node); - return true; - }, - onMouseoutCheck: function(event, node) { - if (node.chkDisabled === true) return false; - var setting = data.getSetting(event.data.treeId), - checkObj = $$(node, consts.id.CHECK, setting); - node.check_Focus = false; - view.setChkClass(setting, checkObj, node); - return true; - } - }, - //method of tools for zTree - _tools = { - - }, - //method of operate ztree dom - _view = { - checkNodeRelation: function(setting, node) { - var pNode, i, l, - childKey = setting.data.key.children, - checkedKey = setting.data.key.checked, - r = consts.radio; - if (setting.check.chkStyle == r.STYLE) { - var checkedList = data.getRadioCheckedList(setting); - if (node[checkedKey]) { - if (setting.check.radioType == r.TYPE_ALL) { - for (i = checkedList.length-1; i >= 0; i--) { - pNode = checkedList[i]; - if (pNode[checkedKey] && pNode != node) { - pNode[checkedKey] = false; - checkedList.splice(i, 1); - - view.setChkClass(setting, $$(pNode, consts.id.CHECK, setting), pNode); - if (pNode.parentTId != node.parentTId) { - view.repairParentChkClassWithSelf(setting, pNode); - } - } - } - checkedList.push(node); - } else { - var parentNode = (node.parentTId) ? node.getParentNode() : data.getRoot(setting); - for (i = 0, l = parentNode[childKey].length; i < l; i++) { - pNode = parentNode[childKey][i]; - if (pNode[checkedKey] && pNode != node) { - pNode[checkedKey] = false; - view.setChkClass(setting, $$(pNode, consts.id.CHECK, setting), pNode); - } - } - } - } else if (setting.check.radioType == r.TYPE_ALL) { - for (i = 0, l = checkedList.length; i < l; i++) { - if (node == checkedList[i]) { - checkedList.splice(i, 1); - break; - } - } - } - - } else { - if (node[checkedKey] && (!node[childKey] || node[childKey].length==0 || setting.check.chkboxType.Y.indexOf("s") > -1)) { - view.setSonNodeCheckBox(setting, node, true); - } - if (!node[checkedKey] && (!node[childKey] || node[childKey].length==0 || setting.check.chkboxType.N.indexOf("s") > -1)) { - view.setSonNodeCheckBox(setting, node, false); - } - if (node[checkedKey] && setting.check.chkboxType.Y.indexOf("p") > -1) { - view.setParentNodeCheckBox(setting, node, true); - } - if (!node[checkedKey] && setting.check.chkboxType.N.indexOf("p") > -1) { - view.setParentNodeCheckBox(setting, node, false); - } - } - }, - makeChkClass: function(setting, node) { - var checkedKey = setting.data.key.checked, - c = consts.checkbox, r = consts.radio, - fullStyle = ""; - if (node.chkDisabled === true) { - fullStyle = c.DISABLED; - } else if (node.halfCheck) { - fullStyle = c.PART; - } else if (setting.check.chkStyle == r.STYLE) { - fullStyle = (node.check_Child_State < 1)? c.FULL:c.PART; - } else { - fullStyle = node[checkedKey] ? ((node.check_Child_State === 2 || node.check_Child_State === -1) ? c.FULL:c.PART) : ((node.check_Child_State < 1)? c.FULL:c.PART); - } - var chkName = setting.check.chkStyle + "_" + (node[checkedKey] ? c.TRUE : c.FALSE) + "_" + fullStyle; - chkName = (node.check_Focus && node.chkDisabled !== true) ? chkName + "_" + c.FOCUS : chkName; - return consts.className.BUTTON + " " + c.DEFAULT + " " + chkName; - }, - repairAllChk: function(setting, checked) { - if (setting.check.enable && setting.check.chkStyle === consts.checkbox.STYLE) { - var checkedKey = setting.data.key.checked, - childKey = setting.data.key.children, - root = data.getRoot(setting); - for (var i = 0, l = root[childKey].length; i<l ; i++) { - var node = root[childKey][i]; - if (node.nocheck !== true && node.chkDisabled !== true) { - node[checkedKey] = checked; - } - view.setSonNodeCheckBox(setting, node, checked); - } - } - }, - repairChkClass: function(setting, node) { - if (!node) return; - data.makeChkFlag(setting, node); - if (node.nocheck !== true) { - var checkObj = $$(node, consts.id.CHECK, setting); - view.setChkClass(setting, checkObj, node); - } - }, - repairParentChkClass: function(setting, node) { - if (!node || !node.parentTId) return; - var pNode = node.getParentNode(); - view.repairChkClass(setting, pNode); - view.repairParentChkClass(setting, pNode); - }, - repairParentChkClassWithSelf: function(setting, node) { - if (!node) return; - var childKey = setting.data.key.children; - if (node[childKey] && node[childKey].length > 0) { - view.repairParentChkClass(setting, node[childKey][0]); - } else { - view.repairParentChkClass(setting, node); - } - }, - repairSonChkDisabled: function(setting, node, chkDisabled, inherit) { - if (!node) return; - var childKey = setting.data.key.children; - if (node.chkDisabled != chkDisabled) { - node.chkDisabled = chkDisabled; - } - view.repairChkClass(setting, node); - if (node[childKey] && inherit) { - for (var i = 0, l = node[childKey].length; i < l; i++) { - var sNode = node[childKey][i]; - view.repairSonChkDisabled(setting, sNode, chkDisabled, inherit); - } - } - }, - repairParentChkDisabled: function(setting, node, chkDisabled, inherit) { - if (!node) return; - if (node.chkDisabled != chkDisabled && inherit) { - node.chkDisabled = chkDisabled; - } - view.repairChkClass(setting, node); - view.repairParentChkDisabled(setting, node.getParentNode(), chkDisabled, inherit); - }, - setChkClass: function(setting, obj, node) { - if (!obj) return; - if (node.nocheck === true) { - obj.hide(); - } else { - obj.show(); - } - obj.removeClass(); - obj.addClass(view.makeChkClass(setting, node)); - }, - setParentNodeCheckBox: function(setting, node, value, srcNode) { - var childKey = setting.data.key.children, - checkedKey = setting.data.key.checked, - checkObj = $$(node, consts.id.CHECK, setting); - if (!srcNode) srcNode = node; - data.makeChkFlag(setting, node); - if (node.nocheck !== true && node.chkDisabled !== true) { - node[checkedKey] = value; - view.setChkClass(setting, checkObj, node); - if (setting.check.autoCheckTrigger && node != srcNode) { - setting.treeObj.trigger(consts.event.CHECK, [null, setting.treeId, node]); - } - } - if (node.parentTId) { - var pSign = true; - if (!value) { - var pNodes = node.getParentNode()[childKey]; - for (var i = 0, l = pNodes.length; i < l; i++) { - if ((pNodes[i].nocheck !== true && pNodes[i].chkDisabled !== true && pNodes[i][checkedKey]) - || ((pNodes[i].nocheck === true || pNodes[i].chkDisabled === true) && pNodes[i].check_Child_State > 0)) { - pSign = false; - break; - } - } - } - if (pSign) { - view.setParentNodeCheckBox(setting, node.getParentNode(), value, srcNode); - } - } - }, - setSonNodeCheckBox: function(setting, node, value, srcNode) { - if (!node) return; - var childKey = setting.data.key.children, - checkedKey = setting.data.key.checked, - checkObj = $$(node, consts.id.CHECK, setting); - if (!srcNode) srcNode = node; - - var hasDisable = false; - if (node[childKey]) { - for (var i = 0, l = node[childKey].length; i < l && node.chkDisabled !== true; i++) { - var sNode = node[childKey][i]; - view.setSonNodeCheckBox(setting, sNode, value, srcNode); - if (sNode.chkDisabled === true) hasDisable = true; - } - } - - if (node != data.getRoot(setting) && node.chkDisabled !== true) { - if (hasDisable && node.nocheck !== true) { - data.makeChkFlag(setting, node); - } - if (node.nocheck !== true && node.chkDisabled !== true) { - node[checkedKey] = value; - if (!hasDisable) node.check_Child_State = (node[childKey] && node[childKey].length > 0) ? (value ? 2 : 0) : -1; - } else { - node.check_Child_State = -1; - } - view.setChkClass(setting, checkObj, node); - if (setting.check.autoCheckTrigger && node != srcNode && node.nocheck !== true && node.chkDisabled !== true) { - setting.treeObj.trigger(consts.event.CHECK, [null, setting.treeId, node]); - } - } - - } - }, - - _z = { - tools: _tools, - view: _view, - event: _event, - data: _data - }; - $.extend(true, $.fn.zTree.consts, _consts); - $.extend(true, $.fn.zTree._z, _z); - - var zt = $.fn.zTree, - tools = zt._z.tools, - consts = zt.consts, - view = zt._z.view, - data = zt._z.data, - event = zt._z.event, - $$ = tools.$; - - data.exSetting(_setting); - data.addInitBind(_bindEvent); - data.addInitUnBind(_unbindEvent); - data.addInitCache(_initCache); - data.addInitNode(_initNode); - data.addInitProxy(_eventProxy, true); - data.addInitRoot(_initRoot); - data.addBeforeA(_beforeA); - data.addZTreeTools(_zTreeTools); - - var _createNodes = view.createNodes; - view.createNodes = function(setting, level, nodes, parentNode) { - if (_createNodes) _createNodes.apply(view, arguments); - if (!nodes) return; - view.repairParentChkClassWithSelf(setting, parentNode); - } - var _removeNode = view.removeNode; - view.removeNode = function(setting, node) { - var parentNode = node.getParentNode(); - if (_removeNode) _removeNode.apply(view, arguments); - if (!node || !parentNode) return; - view.repairChkClass(setting, parentNode); - view.repairParentChkClass(setting, parentNode); - } - - var _appendNodes = view.appendNodes; - view.appendNodes = function(setting, level, nodes, parentNode, initFlag, openFlag) { - var html = ""; - if (_appendNodes) { - html = _appendNodes.apply(view, arguments); - } - if (parentNode) { - data.makeChkFlag(setting, parentNode); - } - return html; - } +/*
+ * JQuery zTree excheck v3.5.16
+ * http://zTree.me/
+ *
+ * Copyright (c) 2010 Hunter.z
+ *
+ * Licensed same as jquery - MIT License
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ * email: hunter.z@263.net
+ * Date: 2014-03-09
+ */
+(function($){
+ //default consts of excheck
+ var _consts = {
+ 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"
+ }
+ },
+ //default setting of excheck
+ _setting = {
+ check: {
+ enable: false,
+ autoCheckTrigger: false,
+ chkStyle: _consts.checkbox.STYLE,
+ nocheckInherit: false,
+ chkDisabledInherit: false,
+ radioType: _consts.radio.TYPE_LEVEL,
+ chkboxType: {
+ "Y": "ps",
+ "N": "ps"
+ }
+ },
+ data: {
+ key: {
+ checked: "checked"
+ }
+ },
+ callback: {
+ beforeCheck:null,
+ onCheck:null
+ }
+ },
+ //default root of excheck
+ _initRoot = function (setting) {
+ var r = data.getRoot(setting);
+ r.radioCheckedList = [];
+ },
+ //default cache of excheck
+ _initCache = function(treeId) {},
+ //default bind event of excheck
+ _bindEvent = function(setting) {
+ var o = setting.treeObj,
+ c = consts.event;
+ o.bind(c.CHECK, function (event, srcEvent, treeId, node) {
+ event.srcEvent = srcEvent;
+ tools.apply(setting.callback.onCheck, [event, treeId, node]);
+ });
+ },
+ _unbindEvent = function(setting) {
+ var o = setting.treeObj,
+ c = consts.event;
+ o.unbind(c.CHECK);
+ },
+ //default event proxy of excheck
+ _eventProxy = function(e) {
+ var target = e.target,
+ setting = data.getSetting(e.data.treeId),
+ tId = "", node = null,
+ nodeEventType = "", treeEventType = "",
+ nodeEventCallback = null, treeEventCallback = null;
+
+ if (tools.eqs(e.type, "mouseover")) {
+ if (setting.check.enable && tools.eqs(target.tagName, "span") && target.getAttribute("treeNode"+ consts.id.CHECK) !== null) {
+ tId = tools.getNodeMainDom(target).id;
+ nodeEventType = "mouseoverCheck";
+ }
+ } else if (tools.eqs(e.type, "mouseout")) {
+ if (setting.check.enable && tools.eqs(target.tagName, "span") && target.getAttribute("treeNode"+ consts.id.CHECK) !== null) {
+ tId = tools.getNodeMainDom(target).id;
+ nodeEventType = "mouseoutCheck";
+ }
+ } else if (tools.eqs(e.type, "click")) {
+ if (setting.check.enable && tools.eqs(target.tagName, "span") && target.getAttribute("treeNode"+ consts.id.CHECK) !== null) {
+ tId = tools.getNodeMainDom(target).id;
+ nodeEventType = "checkNode";
+ }
+ }
+ if (tId.length>0) {
+ node = data.getNodeCache(setting, tId);
+ switch (nodeEventType) {
+ case "checkNode" :
+ nodeEventCallback = _handler.onCheckNode;
+ break;
+ case "mouseoverCheck" :
+ nodeEventCallback = _handler.onMouseoverCheck;
+ break;
+ case "mouseoutCheck" :
+ nodeEventCallback = _handler.onMouseoutCheck;
+ break;
+ }
+ }
+ var proxyResult = {
+ stop: nodeEventType === "checkNode",
+ node: node,
+ nodeEventType: nodeEventType,
+ nodeEventCallback: nodeEventCallback,
+ treeEventType: treeEventType,
+ treeEventCallback: treeEventCallback
+ };
+ return proxyResult
+ },
+ //default init node of excheck
+ _initNode = function(setting, level, n, parentNode, isFirstNode, isLastNode, openFlag) {
+ if (!n) return;
+ var checkedKey = setting.data.key.checked;
+ if (typeof n[checkedKey] == "string") n[checkedKey] = tools.eqs(n[checkedKey], "true");
+ n[checkedKey] = !!n[checkedKey];
+ n.checkedOld = n[checkedKey];
+ if (typeof n.nocheck == "string") n.nocheck = tools.eqs(n.nocheck, "true");
+ n.nocheck = !!n.nocheck || (setting.check.nocheckInherit && parentNode && !!parentNode.nocheck);
+ if (typeof n.chkDisabled == "string") n.chkDisabled = tools.eqs(n.chkDisabled, "true");
+ n.chkDisabled = !!n.chkDisabled || (setting.check.chkDisabledInherit && parentNode && !!parentNode.chkDisabled);
+ if (typeof n.halfCheck == "string") n.halfCheck = tools.eqs(n.halfCheck, "true");
+ n.halfCheck = !!n.halfCheck;
+ n.check_Child_State = -1;
+ n.check_Focus = false;
+ n.getCheckStatus = function() {return data.getCheckStatus(setting, n);};
+
+ if (setting.check.chkStyle == consts.radio.STYLE && setting.check.radioType == consts.radio.TYPE_ALL && n[checkedKey] ) {
+ var r = data.getRoot(setting);
+ r.radioCheckedList.push(n);
+ }
+ },
+ //add dom for check
+ _beforeA = function(setting, node, html) {
+ var checkedKey = setting.data.key.checked;
+ if (setting.check.enable) {
+ data.makeChkFlag(setting, node);
+ html.push("<span ID='", node.tId, consts.id.CHECK, "' class='", view.makeChkClass(setting, node), "' treeNode", consts.id.CHECK, (node.nocheck === true?" style='display:none;'":""),"></span>");
+ }
+ },
+ //update zTreeObj, add method of check
+ _zTreeTools = function(setting, zTreeTools) {
+ zTreeTools.checkNode = function(node, checked, checkTypeFlag, callbackFlag) {
+ var checkedKey = this.setting.data.key.checked;
+ if (node.chkDisabled === true) return;
+ if (checked !== true && checked !== false) {
+ checked = !node[checkedKey];
+ }
+ callbackFlag = !!callbackFlag;
+
+ if (node[checkedKey] === checked && !checkTypeFlag) {
+ return;
+ } else if (callbackFlag && tools.apply(this.setting.callback.beforeCheck, [this.setting.treeId, node], true) == false) {
+ return;
+ }
+ if (tools.uCanDo(this.setting) && this.setting.check.enable && node.nocheck !== true) {
+ node[checkedKey] = checked;
+ var checkObj = $$(node, consts.id.CHECK, this.setting);
+ if (checkTypeFlag || this.setting.check.chkStyle === consts.radio.STYLE) view.checkNodeRelation(this.setting, node);
+ view.setChkClass(this.setting, checkObj, node);
+ view.repairParentChkClassWithSelf(this.setting, node);
+ if (callbackFlag) {
+ this.setting.treeObj.trigger(consts.event.CHECK, [null, this.setting.treeId, node]);
+ }
+ }
+ }
+
+ zTreeTools.checkAllNodes = function(checked) {
+ view.repairAllChk(this.setting, !!checked);
+ }
+
+ zTreeTools.getCheckedNodes = function(checked) {
+ var childKey = this.setting.data.key.children;
+ checked = (checked !== false);
+ return data.getTreeCheckedNodes(this.setting, data.getRoot(this.setting)[childKey], checked);
+ }
+
+ zTreeTools.getChangeCheckedNodes = function() {
+ var childKey = this.setting.data.key.children;
+ return data.getTreeChangeCheckedNodes(this.setting, data.getRoot(this.setting)[childKey]);
+ }
+
+ zTreeTools.setChkDisabled = function(node, disabled, inheritParent, inheritChildren) {
+ disabled = !!disabled;
+ inheritParent = !!inheritParent;
+ inheritChildren = !!inheritChildren;
+ view.repairSonChkDisabled(this.setting, node, disabled, inheritChildren);
+ view.repairParentChkDisabled(this.setting, node.getParentNode(), disabled, inheritParent);
+ }
+
+ var _updateNode = zTreeTools.updateNode;
+ zTreeTools.updateNode = function(node, checkTypeFlag) {
+ if (_updateNode) _updateNode.apply(zTreeTools, arguments);
+ if (!node || !this.setting.check.enable) return;
+ var nObj = $$(node, this.setting);
+ if (nObj.get(0) && tools.uCanDo(this.setting)) {
+ var checkObj = $$(node, consts.id.CHECK, this.setting);
+ if (checkTypeFlag == true || this.setting.check.chkStyle === consts.radio.STYLE) view.checkNodeRelation(this.setting, node);
+ view.setChkClass(this.setting, checkObj, node);
+ view.repairParentChkClassWithSelf(this.setting, node);
+ }
+ }
+ },
+ //method of operate data
+ _data = {
+ getRadioCheckedList: function(setting) {
+ var checkedList = data.getRoot(setting).radioCheckedList;
+ for (var i=0, j=checkedList.length; i<j; i++) {
+ if(!data.getNodeCache(setting, checkedList[i].tId)) {
+ checkedList.splice(i, 1);
+ i--; j--;
+ }
+ }
+ return checkedList;
+ },
+ getCheckStatus: function(setting, node) {
+ if (!setting.check.enable || node.nocheck || node.chkDisabled) return null;
+ var checkedKey = setting.data.key.checked,
+ r = {
+ checked: node[checkedKey],
+ half: node.halfCheck ? node.halfCheck : (setting.check.chkStyle == consts.radio.STYLE ? (node.check_Child_State === 2) : (node[checkedKey] ? (node.check_Child_State > -1 && node.check_Child_State < 2) : (node.check_Child_State > 0)))
+ };
+ return r;
+ },
+ getTreeCheckedNodes: function(setting, nodes, checked, results) {
+ if (!nodes) return [];
+ var childKey = setting.data.key.children,
+ checkedKey = setting.data.key.checked,
+ onlyOne = (checked && setting.check.chkStyle == consts.radio.STYLE && setting.check.radioType == consts.radio.TYPE_ALL);
+ results = !results ? [] : results;
+ for (var i = 0, l = nodes.length; i < l; i++) {
+ if (nodes[i].nocheck !== true && nodes[i].chkDisabled !== true && nodes[i][checkedKey] == checked) {
+ results.push(nodes[i]);
+ if(onlyOne) {
+ break;
+ }
+ }
+ data.getTreeCheckedNodes(setting, nodes[i][childKey], checked, results);
+ if(onlyOne && results.length > 0) {
+ break;
+ }
+ }
+ return results;
+ },
+ getTreeChangeCheckedNodes: function(setting, nodes, results) {
+ if (!nodes) return [];
+ var childKey = setting.data.key.children,
+ checkedKey = setting.data.key.checked;
+ results = !results ? [] : results;
+ for (var i = 0, l = nodes.length; i < l; i++) {
+ if (nodes[i].nocheck !== true && nodes[i].chkDisabled !== true && nodes[i][checkedKey] != nodes[i].checkedOld) {
+ results.push(nodes[i]);
+ }
+ data.getTreeChangeCheckedNodes(setting, nodes[i][childKey], results);
+ }
+ return results;
+ },
+ makeChkFlag: function(setting, node) {
+ if (!node) return;
+ var childKey = setting.data.key.children,
+ checkedKey = setting.data.key.checked,
+ chkFlag = -1;
+ if (node[childKey]) {
+ for (var i = 0, l = node[childKey].length; i < l; i++) {
+ var cNode = node[childKey][i];
+ var tmp = -1;
+ if (setting.check.chkStyle == consts.radio.STYLE) {
+ if (cNode.nocheck === true || cNode.chkDisabled === true) {
+ tmp = cNode.check_Child_State;
+ } else if (cNode.halfCheck === true) {
+ tmp = 2;
+ } else if (cNode[checkedKey]) {
+ tmp = 2;
+ } else {
+ tmp = cNode.check_Child_State > 0 ? 2:0;
+ }
+ if (tmp == 2) {
+ chkFlag = 2; break;
+ } else if (tmp == 0){
+ chkFlag = 0;
+ }
+ } else if (setting.check.chkStyle == consts.checkbox.STYLE) {
+ if (cNode.nocheck === true || cNode.chkDisabled === true) {
+ tmp = cNode.check_Child_State;
+ } else if (cNode.halfCheck === true) {
+ tmp = 1;
+ } else if (cNode[checkedKey] ) {
+ tmp = (cNode.check_Child_State === -1 || cNode.check_Child_State === 2) ? 2 : 1;
+ } else {
+ tmp = (cNode.check_Child_State > 0) ? 1 : 0;
+ }
+ if (tmp === 1) {
+ chkFlag = 1; break;
+ } else if (tmp === 2 && chkFlag > -1 && i > 0 && tmp !== chkFlag) {
+ chkFlag = 1; break;
+ } else if (chkFlag === 2 && tmp > -1 && tmp < 2) {
+ chkFlag = 1; break;
+ } else if (tmp > -1) {
+ chkFlag = tmp;
+ }
+ }
+ }
+ }
+ node.check_Child_State = chkFlag;
+ }
+ },
+ //method of event proxy
+ _event = {
+
+ },
+ //method of event handler
+ _handler = {
+ onCheckNode: function (event, node) {
+ if (node.chkDisabled === true) return false;
+ var setting = data.getSetting(event.data.treeId),
+ checkedKey = setting.data.key.checked;
+ if (tools.apply(setting.callback.beforeCheck, [setting.treeId, node], true) == false) return true;
+ node[checkedKey] = !node[checkedKey];
+ view.checkNodeRelation(setting, node);
+ var checkObj = $$(node, consts.id.CHECK, setting);
+ view.setChkClass(setting, checkObj, node);
+ view.repairParentChkClassWithSelf(setting, node);
+ setting.treeObj.trigger(consts.event.CHECK, [event, setting.treeId, node]);
+ return true;
+ },
+ onMouseoverCheck: function(event, node) {
+ if (node.chkDisabled === true) return false;
+ var setting = data.getSetting(event.data.treeId),
+ checkObj = $$(node, consts.id.CHECK, setting);
+ node.check_Focus = true;
+ view.setChkClass(setting, checkObj, node);
+ return true;
+ },
+ onMouseoutCheck: function(event, node) {
+ if (node.chkDisabled === true) return false;
+ var setting = data.getSetting(event.data.treeId),
+ checkObj = $$(node, consts.id.CHECK, setting);
+ node.check_Focus = false;
+ view.setChkClass(setting, checkObj, node);
+ return true;
+ }
+ },
+ //method of tools for zTree
+ _tools = {
+
+ },
+ //method of operate ztree dom
+ _view = {
+ checkNodeRelation: function(setting, node) {
+ var pNode, i, l,
+ childKey = setting.data.key.children,
+ checkedKey = setting.data.key.checked,
+ r = consts.radio;
+ if (setting.check.chkStyle == r.STYLE) {
+ var checkedList = data.getRadioCheckedList(setting);
+ if (node[checkedKey]) {
+ if (setting.check.radioType == r.TYPE_ALL) {
+ for (i = checkedList.length-1; i >= 0; i--) {
+ pNode = checkedList[i];
+ if (pNode[checkedKey] && pNode != node) {
+ pNode[checkedKey] = false;
+ checkedList.splice(i, 1);
+
+ view.setChkClass(setting, $$(pNode, consts.id.CHECK, setting), pNode);
+ if (pNode.parentTId != node.parentTId) {
+ view.repairParentChkClassWithSelf(setting, pNode);
+ }
+ }
+ }
+ checkedList.push(node);
+ } else {
+ var parentNode = (node.parentTId) ? node.getParentNode() : data.getRoot(setting);
+ for (i = 0, l = parentNode[childKey].length; i < l; i++) {
+ pNode = parentNode[childKey][i];
+ if (pNode[checkedKey] && pNode != node) {
+ pNode[checkedKey] = false;
+ view.setChkClass(setting, $$(pNode, consts.id.CHECK, setting), pNode);
+ }
+ }
+ }
+ } else if (setting.check.radioType == r.TYPE_ALL) {
+ for (i = 0, l = checkedList.length; i < l; i++) {
+ if (node == checkedList[i]) {
+ checkedList.splice(i, 1);
+ break;
+ }
+ }
+ }
+
+ } else {
+ if (node[checkedKey] && (!node[childKey] || node[childKey].length==0 || setting.check.chkboxType.Y.indexOf("s") > -1)) {
+ view.setSonNodeCheckBox(setting, node, true);
+ }
+ if (!node[checkedKey] && (!node[childKey] || node[childKey].length==0 || setting.check.chkboxType.N.indexOf("s") > -1)) {
+ view.setSonNodeCheckBox(setting, node, false);
+ }
+ if (node[checkedKey] && setting.check.chkboxType.Y.indexOf("p") > -1) {
+ view.setParentNodeCheckBox(setting, node, true);
+ }
+ if (!node[checkedKey] && setting.check.chkboxType.N.indexOf("p") > -1) {
+ view.setParentNodeCheckBox(setting, node, false);
+ }
+ }
+ },
+ makeChkClass: function(setting, node) {
+ var checkedKey = setting.data.key.checked,
+ c = consts.checkbox, r = consts.radio,
+ fullStyle = "";
+ if (node.chkDisabled === true) {
+ fullStyle = c.DISABLED;
+ } else if (node.halfCheck) {
+ fullStyle = c.PART;
+ } else if (setting.check.chkStyle == r.STYLE) {
+ fullStyle = (node.check_Child_State < 1)? c.FULL:c.PART;
+ } else {
+ fullStyle = node[checkedKey] ? ((node.check_Child_State === 2 || node.check_Child_State === -1) ? c.FULL:c.PART) : ((node.check_Child_State < 1)? c.FULL:c.PART);
+ }
+ var chkName = setting.check.chkStyle + "_" + (node[checkedKey] ? c.TRUE : c.FALSE) + "_" + fullStyle;
+ chkName = (node.check_Focus && node.chkDisabled !== true) ? chkName + "_" + c.FOCUS : chkName;
+ return consts.className.BUTTON + " " + c.DEFAULT + " " + chkName;
+ },
+ repairAllChk: function(setting, checked) {
+ if (setting.check.enable && setting.check.chkStyle === consts.checkbox.STYLE) {
+ var checkedKey = setting.data.key.checked,
+ childKey = setting.data.key.children,
+ root = data.getRoot(setting);
+ for (var i = 0, l = root[childKey].length; i<l ; i++) {
+ var node = root[childKey][i];
+ if (node.nocheck !== true && node.chkDisabled !== true) {
+ node[checkedKey] = checked;
+ }
+ view.setSonNodeCheckBox(setting, node, checked);
+ }
+ }
+ },
+ repairChkClass: function(setting, node) {
+ if (!node) return;
+ data.makeChkFlag(setting, node);
+ if (node.nocheck !== true) {
+ var checkObj = $$(node, consts.id.CHECK, setting);
+ view.setChkClass(setting, checkObj, node);
+ }
+ },
+ repairParentChkClass: function(setting, node) {
+ if (!node || !node.parentTId) return;
+ var pNode = node.getParentNode();
+ view.repairChkClass(setting, pNode);
+ view.repairParentChkClass(setting, pNode);
+ },
+ repairParentChkClassWithSelf: function(setting, node) {
+ if (!node) return;
+ var childKey = setting.data.key.children;
+ if (node[childKey] && node[childKey].length > 0) {
+ view.repairParentChkClass(setting, node[childKey][0]);
+ } else {
+ view.repairParentChkClass(setting, node);
+ }
+ },
+ repairSonChkDisabled: function(setting, node, chkDisabled, inherit) {
+ if (!node) return;
+ var childKey = setting.data.key.children;
+ if (node.chkDisabled != chkDisabled) {
+ node.chkDisabled = chkDisabled;
+ }
+ view.repairChkClass(setting, node);
+ if (node[childKey] && inherit) {
+ for (var i = 0, l = node[childKey].length; i < l; i++) {
+ var sNode = node[childKey][i];
+ view.repairSonChkDisabled(setting, sNode, chkDisabled, inherit);
+ }
+ }
+ },
+ repairParentChkDisabled: function(setting, node, chkDisabled, inherit) {
+ if (!node) return;
+ if (node.chkDisabled != chkDisabled && inherit) {
+ node.chkDisabled = chkDisabled;
+ }
+ view.repairChkClass(setting, node);
+ view.repairParentChkDisabled(setting, node.getParentNode(), chkDisabled, inherit);
+ },
+ setChkClass: function(setting, obj, node) {
+ if (!obj) return;
+ if (node.nocheck === true) {
+ obj.hide();
+ } else {
+ obj.show();
+ }
+ obj.removeClass();
+ obj.addClass(view.makeChkClass(setting, node));
+ },
+ setParentNodeCheckBox: function(setting, node, value, srcNode) {
+ var childKey = setting.data.key.children,
+ checkedKey = setting.data.key.checked,
+ checkObj = $$(node, consts.id.CHECK, setting);
+ if (!srcNode) srcNode = node;
+ data.makeChkFlag(setting, node);
+ if (node.nocheck !== true && node.chkDisabled !== true) {
+ node[checkedKey] = value;
+ view.setChkClass(setting, checkObj, node);
+ if (setting.check.autoCheckTrigger && node != srcNode) {
+ setting.treeObj.trigger(consts.event.CHECK, [null, setting.treeId, node]);
+ }
+ }
+ if (node.parentTId) {
+ var pSign = true;
+ if (!value) {
+ var pNodes = node.getParentNode()[childKey];
+ for (var i = 0, l = pNodes.length; i < l; i++) {
+ if ((pNodes[i].nocheck !== true && pNodes[i].chkDisabled !== true && pNodes[i][checkedKey])
+ || ((pNodes[i].nocheck === true || pNodes[i].chkDisabled === true) && pNodes[i].check_Child_State > 0)) {
+ pSign = false;
+ break;
+ }
+ }
+ }
+ if (pSign) {
+ view.setParentNodeCheckBox(setting, node.getParentNode(), value, srcNode);
+ }
+ }
+ },
+ setSonNodeCheckBox: function(setting, node, value, srcNode) {
+ if (!node) return;
+ var childKey = setting.data.key.children,
+ checkedKey = setting.data.key.checked,
+ checkObj = $$(node, consts.id.CHECK, setting);
+ if (!srcNode) srcNode = node;
+
+ var hasDisable = false;
+ if (node[childKey]) {
+ for (var i = 0, l = node[childKey].length; i < l && node.chkDisabled !== true; i++) {
+ var sNode = node[childKey][i];
+ view.setSonNodeCheckBox(setting, sNode, value, srcNode);
+ if (sNode.chkDisabled === true) hasDisable = true;
+ }
+ }
+
+ if (node != data.getRoot(setting) && node.chkDisabled !== true) {
+ if (hasDisable && node.nocheck !== true) {
+ data.makeChkFlag(setting, node);
+ }
+ if (node.nocheck !== true && node.chkDisabled !== true) {
+ node[checkedKey] = value;
+ if (!hasDisable) node.check_Child_State = (node[childKey] && node[childKey].length > 0) ? (value ? 2 : 0) : -1;
+ } else {
+ node.check_Child_State = -1;
+ }
+ view.setChkClass(setting, checkObj, node);
+ if (setting.check.autoCheckTrigger && node != srcNode && node.nocheck !== true && node.chkDisabled !== true) {
+ setting.treeObj.trigger(consts.event.CHECK, [null, setting.treeId, node]);
+ }
+ }
+
+ }
+ },
+
+ _z = {
+ tools: _tools,
+ view: _view,
+ event: _event,
+ data: _data
+ };
+ $.extend(true, $.fn.zTree.consts, _consts);
+ $.extend(true, $.fn.zTree._z, _z);
+
+ var zt = $.fn.zTree,
+ tools = zt._z.tools,
+ consts = zt.consts,
+ view = zt._z.view,
+ data = zt._z.data,
+ event = zt._z.event,
+ $$ = tools.$;
+
+ data.exSetting(_setting);
+ data.addInitBind(_bindEvent);
+ data.addInitUnBind(_unbindEvent);
+ data.addInitCache(_initCache);
+ data.addInitNode(_initNode);
+ data.addInitProxy(_eventProxy, true);
+ data.addInitRoot(_initRoot);
+ data.addBeforeA(_beforeA);
+ data.addZTreeTools(_zTreeTools);
+
+ var _createNodes = view.createNodes;
+ view.createNodes = function(setting, level, nodes, parentNode) {
+ if (_createNodes) _createNodes.apply(view, arguments);
+ if (!nodes) return;
+ view.repairParentChkClassWithSelf(setting, parentNode);
+ }
+ var _removeNode = view.removeNode;
+ view.removeNode = function(setting, node) {
+ var parentNode = node.getParentNode();
+ if (_removeNode) _removeNode.apply(view, arguments);
+ if (!node || !parentNode) return;
+ view.repairChkClass(setting, parentNode);
+ view.repairParentChkClass(setting, parentNode);
+ }
+
+ var _appendNodes = view.appendNodes;
+ view.appendNodes = function(setting, level, nodes, parentNode, initFlag, openFlag) {
+ var html = "";
+ if (_appendNodes) {
+ html = _appendNodes.apply(view, arguments);
+ }
+ if (parentNode) {
+ data.makeChkFlag(setting, parentNode);
+ }
+ return html;
+ }
})(jQuery);
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/js/jquery.ztree.excheck.min.js b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/js/jquery.ztree.excheck.min.js index 9c56f461..a1d1a07f 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/js/jquery.ztree.excheck.min.js +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/js/jquery.ztree.excheck.min.js @@ -1,34 +1,34 @@ -/* - * JQuery zTree excheck v3.5.16 - * http://zTree.me/ - * - * Copyright (c) 2010 Hunter.z - * - * Licensed same as jquery - MIT License - * http://www.opensource.org/licenses/mit-license.php - * - * email: hunter.z@263.net - * Date: 2014-03-09 - */ -(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=f.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=f.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=== -!0)return!1;var b=f.getSetting(c.data.treeId),d=n(a,j.id.CHECK,b);a.check_Focus=!1;e.setChkClass(b,d,a);return!0};m.extend(!0,m.fn.zTree.consts,o);m.extend(!0,m.fn.zTree._z,{tools:{},view:{checkNodeRelation:function(c,a){var b,d,h,i=c.data.key.children,l=c.data.key.checked;b=j.radio;if(c.check.chkStyle==b.STYLE){var g=f.getRadioCheckedList(c);if(a[l])if(c.check.radioType==b.TYPE_ALL){for(d=g.length-1;d>=0;d--)b=g[d],b[l]&&b!=a&&(b[l]=!1,g.splice(d,1),e.setChkClass(c,n(b,j.id.CHECK,c),b),b.parentTId!= -a.parentTId&&e.repairParentChkClassWithSelf(c,b));g.push(a)}else{g=a.parentTId?a.getParentNode():f.getRoot(c);for(d=0,h=g[i].length;d<h;d++)b=g[i][d],b[l]&&b!=a&&(b[l]=!1,e.setChkClass(c,n(b,j.id.CHECK,c),b))}else if(c.check.radioType==b.TYPE_ALL)for(d=0,h=g.length;d<h;d++)if(a==g[d]){g.splice(d,1);break}}else a[l]&&(!a[i]||a[i].length==0||c.check.chkboxType.Y.indexOf("s")>-1)&&e.setSonNodeCheckBox(c,a,!0),!a[l]&&(!a[i]||a[i].length==0||c.check.chkboxType.N.indexOf("s")>-1)&&e.setSonNodeCheckBox(c, -a,!1),a[l]&&c.check.chkboxType.Y.indexOf("p")>-1&&e.setParentNodeCheckBox(c,a,!0),!a[l]&&c.check.chkboxType.N.indexOf("p")>-1&&e.setParentNodeCheckBox(c,a,!1)},makeChkClass:function(c,a){var b=c.data.key.checked,d=j.checkbox,h=j.radio,i="",i=a.chkDisabled===!0?d.DISABLED:a.halfCheck?d.PART:c.check.chkStyle==h.STYLE?a.check_Child_State<1?d.FULL:d.PART:a[b]?a.check_Child_State===2||a.check_Child_State===-1?d.FULL:d.PART:a.check_Child_State<1?d.FULL:d.PART,b=c.check.chkStyle+"_"+(a[b]?d.TRUE:d.FALSE)+ -"_"+i,b=a.check_Focus&&a.chkDisabled!==!0?b+"_"+d.FOCUS:b;return j.className.BUTTON+" "+d.DEFAULT+" "+b},repairAllChk:function(c,a){if(c.check.enable&&c.check.chkStyle===j.checkbox.STYLE)for(var b=c.data.key.checked,d=c.data.key.children,h=f.getRoot(c),i=0,l=h[d].length;i<l;i++){var g=h[d][i];g.nocheck!==!0&&g.chkDisabled!==!0&&(g[b]=a);e.setSonNodeCheckBox(c,g,a)}},repairChkClass:function(c,a){if(a&&(f.makeChkFlag(c,a),a.nocheck!==!0)){var b=n(a,j.id.CHECK,c);e.setChkClass(c,b,a)}},repairParentChkClass:function(c, -a){if(a&&a.parentTId){var b=a.getParentNode();e.repairChkClass(c,b);e.repairParentChkClass(c,b)}},repairParentChkClassWithSelf:function(c,a){if(a){var b=c.data.key.children;a[b]&&a[b].length>0?e.repairParentChkClass(c,a[b][0]):e.repairParentChkClass(c,a)}},repairSonChkDisabled:function(c,a,b,d){if(a){var h=c.data.key.children;if(a.chkDisabled!=b)a.chkDisabled=b;e.repairChkClass(c,a);if(a[h]&&d)for(var i=0,l=a[h].length;i<l;i++)e.repairSonChkDisabled(c,a[h][i],b,d)}},repairParentChkDisabled:function(c, -a,b,d){if(a){if(a.chkDisabled!=b&&d)a.chkDisabled=b;e.repairChkClass(c,a);e.repairParentChkDisabled(c,a.getParentNode(),b,d)}},setChkClass:function(c,a,b){a&&(b.nocheck===!0?a.hide():a.show(),a.removeClass(),a.addClass(e.makeChkClass(c,b)))},setParentNodeCheckBox:function(c,a,b,d){var h=c.data.key.children,i=c.data.key.checked,l=n(a,j.id.CHECK,c);d||(d=a);f.makeChkFlag(c,a);a.nocheck!==!0&&a.chkDisabled!==!0&&(a[i]=b,e.setChkClass(c,l,a),c.check.autoCheckTrigger&&a!=d&&c.treeObj.trigger(j.event.CHECK, -[null,c.treeId,a]));if(a.parentTId){l=!0;if(!b)for(var h=a.getParentNode()[h],g=0,k=h.length;g<k;g++)if(h[g].nocheck!==!0&&h[g].chkDisabled!==!0&&h[g][i]||(h[g].nocheck===!0||h[g].chkDisabled===!0)&&h[g].check_Child_State>0){l=!1;break}l&&e.setParentNodeCheckBox(c,a.getParentNode(),b,d)}},setSonNodeCheckBox:function(c,a,b,d){if(a){var h=c.data.key.children,i=c.data.key.checked,l=n(a,j.id.CHECK,c);d||(d=a);var g=!1;if(a[h])for(var k=0,m=a[h].length;k<m&&a.chkDisabled!==!0;k++){var o=a[h][k];e.setSonNodeCheckBox(c, -o,b,d);o.chkDisabled===!0&&(g=!0)}if(a!=f.getRoot(c)&&a.chkDisabled!==!0){g&&a.nocheck!==!0&&f.makeChkFlag(c,a);if(a.nocheck!==!0&&a.chkDisabled!==!0){if(a[i]=b,!g)a.check_Child_State=a[h]&&a[h].length>0?b?2:0:-1}else a.check_Child_State=-1;e.setChkClass(c,l,a);c.check.autoCheckTrigger&&a!=d&&a.nocheck!==!0&&a.chkDisabled!==!0&&c.treeObj.trigger(j.event.CHECK,[null,c.treeId,a])}}}},event:{},data:{getRadioCheckedList:function(c){for(var a=f.getRoot(c).radioCheckedList,b=0,d=a.length;b<d;b++)f.getNodeCache(c, -a[b].tId)||(a.splice(b,1),b--,d--);return a},getCheckStatus:function(c,a){if(!c.check.enable||a.nocheck||a.chkDisabled)return null;var b=c.data.key.checked;return{checked:a[b],half:a.halfCheck?a.halfCheck:c.check.chkStyle==j.radio.STYLE?a.check_Child_State===2:a[b]?a.check_Child_State>-1&&a.check_Child_State<2:a.check_Child_State>0}},getTreeCheckedNodes:function(c,a,b,d){if(!a)return[];for(var h=c.data.key.children,i=c.data.key.checked,e=b&&c.check.chkStyle==j.radio.STYLE&&c.check.radioType==j.radio.TYPE_ALL, -d=!d?[]:d,g=0,k=a.length;g<k;g++){if(a[g].nocheck!==!0&&a[g].chkDisabled!==!0&&a[g][i]==b&&(d.push(a[g]),e))break;f.getTreeCheckedNodes(c,a[g][h],b,d);if(e&&d.length>0)break}return d},getTreeChangeCheckedNodes:function(c,a,b){if(!a)return[];for(var d=c.data.key.children,h=c.data.key.checked,b=!b?[]:b,i=0,e=a.length;i<e;i++)a[i].nocheck!==!0&&a[i].chkDisabled!==!0&&a[i][h]!=a[i].checkedOld&&b.push(a[i]),f.getTreeChangeCheckedNodes(c,a[i][d],b);return b},makeChkFlag:function(c,a){if(a){var b=c.data.key.children, -d=c.data.key.checked,h=-1;if(a[b])for(var i=0,e=a[b].length;i<e;i++){var g=a[b][i],f=-1;if(c.check.chkStyle==j.radio.STYLE)if(f=g.nocheck===!0||g.chkDisabled===!0?g.check_Child_State:g.halfCheck===!0?2:g[d]?2:g.check_Child_State>0?2:0,f==2){h=2;break}else f==0&&(h=0);else if(c.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(c){c.treeObj.bind(j.event.CHECK,function(a,b,d,h){a.srcEvent=b;k.apply(c.callback.onCheck,[a,d,h])})});f.addInitUnBind(function(c){c.treeObj.unbind(j.event.CHECK)});f.addInitCache(function(){});f.addInitNode(function(c,a,b,d){if(b){a=c.data.key.checked;typeof b[a]=="string"&&(b[a]= -k.eqs(b[a],"true"));b[a]=!!b[a];b.checkedOld=b[a];if(typeof b.nocheck=="string")b.nocheck=k.eqs(b.nocheck,"true");b.nocheck=!!b.nocheck||c.check.nocheckInherit&&d&&!!d.nocheck;if(typeof b.chkDisabled=="string")b.chkDisabled=k.eqs(b.chkDisabled,"true");b.chkDisabled=!!b.chkDisabled||c.check.chkDisabledInherit&&d&&!!d.chkDisabled;if(typeof b.halfCheck=="string")b.halfCheck=k.eqs(b.halfCheck,"true");b.halfCheck=!!b.halfCheck;b.check_Child_State=-1;b.check_Focus=!1;b.getCheckStatus=function(){return f.getCheckStatus(c, -b)};c.check.chkStyle==j.radio.STYLE&&c.check.radioType==j.radio.TYPE_ALL&&b[a]&&f.getRoot(c).radioCheckedList.push(b)}});f.addInitProxy(function(c){var a=c.target,b=f.getSetting(c.data.treeId),d="",h=null,e="",l=null;if(k.eqs(c.type,"mouseover")){if(b.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(c.type,"mouseout")){if(b.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(c.type,"click")&&b.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(b,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(c){f.getRoot(c).radioCheckedList=[]}); -f.addBeforeA(function(c,a,b){c.check.enable&&(f.makeChkFlag(c,a),b.push("<span ID='",a.tId,j.id.CHECK,"' class='",e.makeChkClass(c,a),"' treeNode",j.id.CHECK,a.nocheck===!0?" style='display:none;'":"","></span>"))});f.addZTreeTools(function(c,a){a.checkNode=function(a,b,c,f){var g=this.setting.data.key.checked;if(a.chkDisabled!==!0&&(b!==!0&&b!==!1&&(b=!a[g]),f=!!f,(a[g]!==b||c)&&!(f&&k.apply(this.setting.callback.beforeCheck,[this.setting.treeId,a],!0)==!1)&&k.uCanDo(this.setting)&&this.setting.check.enable&& -a.nocheck!==!0))a[g]=b,b=n(a,j.id.CHECK,this.setting),(c||this.setting.check.chkStyle===j.radio.STYLE)&&e.checkNodeRelation(this.setting,a),e.setChkClass(this.setting,b,a),e.repairParentChkClassWithSelf(this.setting,a),f&&this.setting.treeObj.trigger(j.event.CHECK,[null,this.setting.treeId,a])};a.checkAllNodes=function(a){e.repairAllChk(this.setting,!!a)};a.getCheckedNodes=function(a){var b=this.setting.data.key.children;return f.getTreeCheckedNodes(this.setting,f.getRoot(this.setting)[b],a!==!1)}; -a.getChangeCheckedNodes=function(){var a=this.setting.data.key.children;return f.getTreeChangeCheckedNodes(this.setting,f.getRoot(this.setting)[a])};a.setChkDisabled=function(a,b,c,f){b=!!b;c=!!c;e.repairSonChkDisabled(this.setting,a,b,!!f);e.repairParentChkDisabled(this.setting,a.getParentNode(),b,c)};var b=a.updateNode;a.updateNode=function(c,f){b&&b.apply(a,arguments);if(c&&this.setting.check.enable&&n(c,this.setting).get(0)&&k.uCanDo(this.setting)){var i=n(c,j.id.CHECK,this.setting);(f==!0||this.setting.check.chkStyle=== -j.radio.STYLE)&&e.checkNodeRelation(this.setting,c);e.setChkClass(this.setting,i,c);e.repairParentChkClassWithSelf(this.setting,c)}}});var s=e.createNodes;e.createNodes=function(c,a,b,d){s&&s.apply(e,arguments);b&&e.repairParentChkClassWithSelf(c,d)};var t=e.removeNode;e.removeNode=function(c,a){var b=a.getParentNode();t&&t.apply(e,arguments);a&&b&&(e.repairChkClass(c,b),e.repairParentChkClass(c,b))};var u=e.appendNodes;e.appendNodes=function(c,a,b,d,h,i){var j="";u&&(j=u.apply(e,arguments));d&&f.makeChkFlag(c, -d);return j}})(jQuery); +/*
+ * JQuery zTree excheck v3.5.16
+ * http://zTree.me/
+ *
+ * Copyright (c) 2010 Hunter.z
+ *
+ * Licensed same as jquery - MIT License
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ * email: hunter.z@263.net
+ * Date: 2014-03-09
+ */
+(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=f.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=f.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===
+!0)return!1;var b=f.getSetting(c.data.treeId),d=n(a,j.id.CHECK,b);a.check_Focus=!1;e.setChkClass(b,d,a);return!0};m.extend(!0,m.fn.zTree.consts,o);m.extend(!0,m.fn.zTree._z,{tools:{},view:{checkNodeRelation:function(c,a){var b,d,h,i=c.data.key.children,l=c.data.key.checked;b=j.radio;if(c.check.chkStyle==b.STYLE){var g=f.getRadioCheckedList(c);if(a[l])if(c.check.radioType==b.TYPE_ALL){for(d=g.length-1;d>=0;d--)b=g[d],b[l]&&b!=a&&(b[l]=!1,g.splice(d,1),e.setChkClass(c,n(b,j.id.CHECK,c),b),b.parentTId!=
+a.parentTId&&e.repairParentChkClassWithSelf(c,b));g.push(a)}else{g=a.parentTId?a.getParentNode():f.getRoot(c);for(d=0,h=g[i].length;d<h;d++)b=g[i][d],b[l]&&b!=a&&(b[l]=!1,e.setChkClass(c,n(b,j.id.CHECK,c),b))}else if(c.check.radioType==b.TYPE_ALL)for(d=0,h=g.length;d<h;d++)if(a==g[d]){g.splice(d,1);break}}else a[l]&&(!a[i]||a[i].length==0||c.check.chkboxType.Y.indexOf("s")>-1)&&e.setSonNodeCheckBox(c,a,!0),!a[l]&&(!a[i]||a[i].length==0||c.check.chkboxType.N.indexOf("s")>-1)&&e.setSonNodeCheckBox(c,
+a,!1),a[l]&&c.check.chkboxType.Y.indexOf("p")>-1&&e.setParentNodeCheckBox(c,a,!0),!a[l]&&c.check.chkboxType.N.indexOf("p")>-1&&e.setParentNodeCheckBox(c,a,!1)},makeChkClass:function(c,a){var b=c.data.key.checked,d=j.checkbox,h=j.radio,i="",i=a.chkDisabled===!0?d.DISABLED:a.halfCheck?d.PART:c.check.chkStyle==h.STYLE?a.check_Child_State<1?d.FULL:d.PART:a[b]?a.check_Child_State===2||a.check_Child_State===-1?d.FULL:d.PART:a.check_Child_State<1?d.FULL:d.PART,b=c.check.chkStyle+"_"+(a[b]?d.TRUE:d.FALSE)+
+"_"+i,b=a.check_Focus&&a.chkDisabled!==!0?b+"_"+d.FOCUS:b;return j.className.BUTTON+" "+d.DEFAULT+" "+b},repairAllChk:function(c,a){if(c.check.enable&&c.check.chkStyle===j.checkbox.STYLE)for(var b=c.data.key.checked,d=c.data.key.children,h=f.getRoot(c),i=0,l=h[d].length;i<l;i++){var g=h[d][i];g.nocheck!==!0&&g.chkDisabled!==!0&&(g[b]=a);e.setSonNodeCheckBox(c,g,a)}},repairChkClass:function(c,a){if(a&&(f.makeChkFlag(c,a),a.nocheck!==!0)){var b=n(a,j.id.CHECK,c);e.setChkClass(c,b,a)}},repairParentChkClass:function(c,
+a){if(a&&a.parentTId){var b=a.getParentNode();e.repairChkClass(c,b);e.repairParentChkClass(c,b)}},repairParentChkClassWithSelf:function(c,a){if(a){var b=c.data.key.children;a[b]&&a[b].length>0?e.repairParentChkClass(c,a[b][0]):e.repairParentChkClass(c,a)}},repairSonChkDisabled:function(c,a,b,d){if(a){var h=c.data.key.children;if(a.chkDisabled!=b)a.chkDisabled=b;e.repairChkClass(c,a);if(a[h]&&d)for(var i=0,l=a[h].length;i<l;i++)e.repairSonChkDisabled(c,a[h][i],b,d)}},repairParentChkDisabled:function(c,
+a,b,d){if(a){if(a.chkDisabled!=b&&d)a.chkDisabled=b;e.repairChkClass(c,a);e.repairParentChkDisabled(c,a.getParentNode(),b,d)}},setChkClass:function(c,a,b){a&&(b.nocheck===!0?a.hide():a.show(),a.removeClass(),a.addClass(e.makeChkClass(c,b)))},setParentNodeCheckBox:function(c,a,b,d){var h=c.data.key.children,i=c.data.key.checked,l=n(a,j.id.CHECK,c);d||(d=a);f.makeChkFlag(c,a);a.nocheck!==!0&&a.chkDisabled!==!0&&(a[i]=b,e.setChkClass(c,l,a),c.check.autoCheckTrigger&&a!=d&&c.treeObj.trigger(j.event.CHECK,
+[null,c.treeId,a]));if(a.parentTId){l=!0;if(!b)for(var h=a.getParentNode()[h],g=0,k=h.length;g<k;g++)if(h[g].nocheck!==!0&&h[g].chkDisabled!==!0&&h[g][i]||(h[g].nocheck===!0||h[g].chkDisabled===!0)&&h[g].check_Child_State>0){l=!1;break}l&&e.setParentNodeCheckBox(c,a.getParentNode(),b,d)}},setSonNodeCheckBox:function(c,a,b,d){if(a){var h=c.data.key.children,i=c.data.key.checked,l=n(a,j.id.CHECK,c);d||(d=a);var g=!1;if(a[h])for(var k=0,m=a[h].length;k<m&&a.chkDisabled!==!0;k++){var o=a[h][k];e.setSonNodeCheckBox(c,
+o,b,d);o.chkDisabled===!0&&(g=!0)}if(a!=f.getRoot(c)&&a.chkDisabled!==!0){g&&a.nocheck!==!0&&f.makeChkFlag(c,a);if(a.nocheck!==!0&&a.chkDisabled!==!0){if(a[i]=b,!g)a.check_Child_State=a[h]&&a[h].length>0?b?2:0:-1}else a.check_Child_State=-1;e.setChkClass(c,l,a);c.check.autoCheckTrigger&&a!=d&&a.nocheck!==!0&&a.chkDisabled!==!0&&c.treeObj.trigger(j.event.CHECK,[null,c.treeId,a])}}}},event:{},data:{getRadioCheckedList:function(c){for(var a=f.getRoot(c).radioCheckedList,b=0,d=a.length;b<d;b++)f.getNodeCache(c,
+a[b].tId)||(a.splice(b,1),b--,d--);return a},getCheckStatus:function(c,a){if(!c.check.enable||a.nocheck||a.chkDisabled)return null;var b=c.data.key.checked;return{checked:a[b],half:a.halfCheck?a.halfCheck:c.check.chkStyle==j.radio.STYLE?a.check_Child_State===2:a[b]?a.check_Child_State>-1&&a.check_Child_State<2:a.check_Child_State>0}},getTreeCheckedNodes:function(c,a,b,d){if(!a)return[];for(var h=c.data.key.children,i=c.data.key.checked,e=b&&c.check.chkStyle==j.radio.STYLE&&c.check.radioType==j.radio.TYPE_ALL,
+d=!d?[]:d,g=0,k=a.length;g<k;g++){if(a[g].nocheck!==!0&&a[g].chkDisabled!==!0&&a[g][i]==b&&(d.push(a[g]),e))break;f.getTreeCheckedNodes(c,a[g][h],b,d);if(e&&d.length>0)break}return d},getTreeChangeCheckedNodes:function(c,a,b){if(!a)return[];for(var d=c.data.key.children,h=c.data.key.checked,b=!b?[]:b,i=0,e=a.length;i<e;i++)a[i].nocheck!==!0&&a[i].chkDisabled!==!0&&a[i][h]!=a[i].checkedOld&&b.push(a[i]),f.getTreeChangeCheckedNodes(c,a[i][d],b);return b},makeChkFlag:function(c,a){if(a){var b=c.data.key.children,
+d=c.data.key.checked,h=-1;if(a[b])for(var i=0,e=a[b].length;i<e;i++){var g=a[b][i],f=-1;if(c.check.chkStyle==j.radio.STYLE)if(f=g.nocheck===!0||g.chkDisabled===!0?g.check_Child_State:g.halfCheck===!0?2:g[d]?2:g.check_Child_State>0?2:0,f==2){h=2;break}else f==0&&(h=0);else if(c.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(c){c.treeObj.bind(j.event.CHECK,function(a,b,d,h){a.srcEvent=b;k.apply(c.callback.onCheck,[a,d,h])})});f.addInitUnBind(function(c){c.treeObj.unbind(j.event.CHECK)});f.addInitCache(function(){});f.addInitNode(function(c,a,b,d){if(b){a=c.data.key.checked;typeof b[a]=="string"&&(b[a]=
+k.eqs(b[a],"true"));b[a]=!!b[a];b.checkedOld=b[a];if(typeof b.nocheck=="string")b.nocheck=k.eqs(b.nocheck,"true");b.nocheck=!!b.nocheck||c.check.nocheckInherit&&d&&!!d.nocheck;if(typeof b.chkDisabled=="string")b.chkDisabled=k.eqs(b.chkDisabled,"true");b.chkDisabled=!!b.chkDisabled||c.check.chkDisabledInherit&&d&&!!d.chkDisabled;if(typeof b.halfCheck=="string")b.halfCheck=k.eqs(b.halfCheck,"true");b.halfCheck=!!b.halfCheck;b.check_Child_State=-1;b.check_Focus=!1;b.getCheckStatus=function(){return f.getCheckStatus(c,
+b)};c.check.chkStyle==j.radio.STYLE&&c.check.radioType==j.radio.TYPE_ALL&&b[a]&&f.getRoot(c).radioCheckedList.push(b)}});f.addInitProxy(function(c){var a=c.target,b=f.getSetting(c.data.treeId),d="",h=null,e="",l=null;if(k.eqs(c.type,"mouseover")){if(b.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(c.type,"mouseout")){if(b.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(c.type,"click")&&b.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(b,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(c){f.getRoot(c).radioCheckedList=[]});
+f.addBeforeA(function(c,a,b){c.check.enable&&(f.makeChkFlag(c,a),b.push("<span ID='",a.tId,j.id.CHECK,"' class='",e.makeChkClass(c,a),"' treeNode",j.id.CHECK,a.nocheck===!0?" style='display:none;'":"","></span>"))});f.addZTreeTools(function(c,a){a.checkNode=function(a,b,c,f){var g=this.setting.data.key.checked;if(a.chkDisabled!==!0&&(b!==!0&&b!==!1&&(b=!a[g]),f=!!f,(a[g]!==b||c)&&!(f&&k.apply(this.setting.callback.beforeCheck,[this.setting.treeId,a],!0)==!1)&&k.uCanDo(this.setting)&&this.setting.check.enable&&
+a.nocheck!==!0))a[g]=b,b=n(a,j.id.CHECK,this.setting),(c||this.setting.check.chkStyle===j.radio.STYLE)&&e.checkNodeRelation(this.setting,a),e.setChkClass(this.setting,b,a),e.repairParentChkClassWithSelf(this.setting,a),f&&this.setting.treeObj.trigger(j.event.CHECK,[null,this.setting.treeId,a])};a.checkAllNodes=function(a){e.repairAllChk(this.setting,!!a)};a.getCheckedNodes=function(a){var b=this.setting.data.key.children;return f.getTreeCheckedNodes(this.setting,f.getRoot(this.setting)[b],a!==!1)};
+a.getChangeCheckedNodes=function(){var a=this.setting.data.key.children;return f.getTreeChangeCheckedNodes(this.setting,f.getRoot(this.setting)[a])};a.setChkDisabled=function(a,b,c,f){b=!!b;c=!!c;e.repairSonChkDisabled(this.setting,a,b,!!f);e.repairParentChkDisabled(this.setting,a.getParentNode(),b,c)};var b=a.updateNode;a.updateNode=function(c,f){b&&b.apply(a,arguments);if(c&&this.setting.check.enable&&n(c,this.setting).get(0)&&k.uCanDo(this.setting)){var i=n(c,j.id.CHECK,this.setting);(f==!0||this.setting.check.chkStyle===
+j.radio.STYLE)&&e.checkNodeRelation(this.setting,c);e.setChkClass(this.setting,i,c);e.repairParentChkClassWithSelf(this.setting,c)}}});var s=e.createNodes;e.createNodes=function(c,a,b,d){s&&s.apply(e,arguments);b&&e.repairParentChkClassWithSelf(c,d)};var t=e.removeNode;e.removeNode=function(c,a){var b=a.getParentNode();t&&t.apply(e,arguments);a&&b&&(e.repairChkClass(c,b),e.repairParentChkClass(c,b))};var u=e.appendNodes;e.appendNodes=function(c,a,b,d,h,i){var j="";u&&(j=u.apply(e,arguments));d&&f.makeChkFlag(c,
+d);return j}})(jQuery);
diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/js/jquery.ztree.exedit.js b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/js/jquery.ztree.exedit.js index 70a20936..f958fdf9 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/js/jquery.ztree.exedit.js +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/js/jquery.ztree.exedit.js @@ -1,1191 +1,1191 @@ -/* - * JQuery zTree exedit v3.5.16 - * http://zTree.me/ - * - * Copyright (c) 2010 Hunter.z - * - * Licensed same as jquery - MIT License - * http://www.opensource.org/licenses/mit-license.php - * - * email: hunter.z@263.net - * Date: 2014-03-09 - */ -(function($){ - //default consts of exedit - var _consts = { - 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" - } - }, - //default setting of exedit - _setting = { - edit: { - enable: false, - editNameSelectAll: false, - showRemoveBtn: true, - showRenameBtn: true, - removeTitle: "remove", - renameTitle: "rename", - drag: { - autoExpandTrigger: false, - isCopy: true, - isMove: true, - prev: true, - next: true, - inner: true, - 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, - onDragMove:null, - onDrop:null, - onRename:null - } - }, - //default root of exedit - _initRoot = function (setting) { - var r = data.getRoot(setting), rs = data.getRoots(); - r.curEditNode = null; - r.curEditInput = null; - r.curHoverNode = null; - r.dragFlag = 0; - r.dragNodeShowBefore = []; - r.dragMaskList = new Array(); - rs.showHoverDom = true; - }, - //default cache of exedit - _initCache = function(treeId) {}, - //default bind event of exedit - _bindEvent = function(setting) { - var o = setting.treeObj; - var c = consts.event; - o.bind(c.RENAME, function (event, treeId, treeNode, isCancel) { - tools.apply(setting.callback.onRename, [event, treeId, treeNode, isCancel]); - }); - - o.bind(c.DRAG, function (event, srcEvent, treeId, treeNodes) { - 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]); - }); - }, - _unbindEvent = function(setting) { - var o = setting.treeObj; - var c = consts.event; - o.unbind(c.RENAME); - o.unbind(c.DRAG); - o.unbind(c.DRAGMOVE); - o.unbind(c.DROP); - }, - //default event proxy of exedit - _eventProxy = function(e) { - var target = e.target, - setting = data.getSetting(e.data.treeId), - relatedTarget = e.relatedTarget, - tId = "", node = null, - nodeEventType = "", treeEventType = "", - nodeEventCallback = null, treeEventCallback = null, - tmp = null; - - if (tools.eqs(e.type, "mouseover")) { - tmp = tools.getMDom(setting, target, [{tagName:"a", attrName:"treeNode"+consts.id.A}]); - if (tmp) { - tId = tools.getNodeMainDom(tmp).id; - nodeEventType = "hoverOverNode"; - } - } else if (tools.eqs(e.type, "mouseout")) { - tmp = tools.getMDom(setting, relatedTarget, [{tagName:"a", attrName:"treeNode"+consts.id.A}]); - if (!tmp) { - tId = "remove"; - nodeEventType = "hoverOutNode"; - } - } else if (tools.eqs(e.type, "mousedown")) { - tmp = tools.getMDom(setting, target, [{tagName:"a", attrName:"treeNode"+consts.id.A}]); - if (tmp) { - tId = tools.getNodeMainDom(tmp).id; - nodeEventType = "mousedownNode"; - } - } - if (tId.length>0) { - node = data.getNodeCache(setting, tId); - switch (nodeEventType) { - case "mousedownNode" : - nodeEventCallback = _handler.onMousedownNode; - break; - case "hoverOverNode" : - nodeEventCallback = _handler.onHoverOverNode; - break; - case "hoverOutNode" : - nodeEventCallback = _handler.onHoverOutNode; - break; - } - } - var proxyResult = { - stop: false, - node: node, - nodeEventType: nodeEventType, - nodeEventCallback: nodeEventCallback, - treeEventType: treeEventType, - treeEventCallback: treeEventCallback - }; - return proxyResult - }, - //default init node of exedit - _initNode = function(setting, level, n, parentNode, isFirstNode, isLastNode, openFlag) { - if (!n) return; - n.isHover = false; - n.editNameFlag = false; - }, - //update zTreeObj, add method of edit - _zTreeTools = function(setting, zTreeTools) { - zTreeTools.cancelEditName = function(newName) { - var root = data.getRoot(this.setting); - if (!root.curEditNode) return; - view.cancelCurEditNode(this.setting, newName?newName:null, true); - } - zTreeTools.copyNode = function(targetNode, node, moveType, isSilent) { - if (!node) return null; - if (targetNode && !targetNode.isParent && this.setting.data.keep.leaf && moveType === consts.move.TYPE_INNER) return null; - var _this = this, - newNode = tools.clone(node); - if (!targetNode) { - targetNode = null; - moveType = consts.move.TYPE_INNER; - } - if (moveType == consts.move.TYPE_INNER) { - function copyCallback() { - view.addNodes(_this.setting, targetNode, [newNode], isSilent); - } - - if (tools.canAsync(this.setting, targetNode)) { - view.asyncNode(this.setting, targetNode, isSilent, copyCallback); - } else { - copyCallback(); - } - } else { - view.addNodes(this.setting, targetNode.parentNode, [newNode], isSilent); - view.moveNode(this.setting, targetNode, newNode, moveType, false, isSilent); - } - return newNode; - } - zTreeTools.editName = function(node) { - if (!node || !node.tId || node !== data.getNodeCache(this.setting, node.tId)) return; - if (node.parentTId) view.expandCollapseParentNode(this.setting, node.getParentNode(), true); - view.editNode(this.setting, node) - } - zTreeTools.moveNode = function(targetNode, node, moveType, isSilent) { - if (!node) return node; - if (targetNode && !targetNode.isParent && this.setting.data.keep.leaf && moveType === consts.move.TYPE_INNER) { - return null; - } else if (targetNode && ((node.parentTId == targetNode.tId && moveType == consts.move.TYPE_INNER) || $$(node, this.setting).find("#" + targetNode.tId).length > 0)) { - return null; - } else if (!targetNode) { - targetNode = null; - } - var _this = this; - function moveCallback() { - view.moveNode(_this.setting, targetNode, node, moveType, false, isSilent); - } - if (tools.canAsync(this.setting, targetNode) && moveType === consts.move.TYPE_INNER) { - view.asyncNode(this.setting, targetNode, isSilent, moveCallback); - } else { - moveCallback(); - } - return node; - } - zTreeTools.setEditable = function(editable) { - this.setting.edit.enable = editable; - return this.refresh(); - } - }, - //method of operate data - _data = { - setSonNodeLevel: function(setting, parentNode, node) { - if (!node) return; - var childKey = setting.data.key.children; - node.level = (parentNode)? parentNode.level + 1 : 0; - if (!node[childKey]) return; - for (var i = 0, l = node[childKey].length; i < l; i++) { - if (node[childKey][i]) data.setSonNodeLevel(setting, node, node[childKey][i]); - } - } - }, - //method of event proxy - _event = { - - }, - //method of event handler - _handler = { - onHoverOverNode: function(event, node) { - var setting = data.getSetting(event.data.treeId), - root = data.getRoot(setting); - if (root.curHoverNode != node) { - _handler.onHoverOutNode(event); - } - root.curHoverNode = node; - view.addHoverDom(setting, node); - }, - onHoverOutNode: function(event, node) { - var setting = data.getSetting(event.data.treeId), - root = data.getRoot(setting); - if (root.curHoverNode && !data.isSelectedNode(setting, root.curHoverNode)) { - view.removeTreeDom(setting, root.curHoverNode); - root.curHoverNode = null; - } - }, - onMousedownNode: function(eventMouseDown, _node) { - var i,l, - setting = data.getSetting(eventMouseDown.data.treeId), - root = data.getRoot(setting), roots = data.getRoots(); - //right click can't drag & drop - if (eventMouseDown.button == 2 || !setting.edit.enable || (!setting.edit.drag.isCopy && !setting.edit.drag.isMove)) return true; - - //input of edit node name can't drag & drop - var target = eventMouseDown.target, - _nodes = data.getRoot(setting).curSelectedList, - nodes = []; - if (!data.isSelectedNode(setting, _node)) { - nodes = [_node]; - } else { - for (i=0, l=_nodes.length; i<l; i++) { - if (_nodes[i].editNameFlag && tools.eqs(target.tagName, "input") && target.getAttribute("treeNode"+consts.id.INPUT) !== null) { - return true; - } - nodes.push(_nodes[i]); - if (nodes[0].parentTId !== _nodes[i].parentTId) { - nodes = [_node]; - break; - } - } - } - - view.editNodeBlur = true; - view.cancelCurEditNode(setting); - - var doc = $(setting.treeObj.get(0).ownerDocument), - body = $(setting.treeObj.get(0).ownerDocument.body), curNode, tmpArrow, tmpTarget, - isOtherTree = false, - targetSetting = setting, - sourceSetting = setting, - preNode, nextNode, - preTmpTargetNodeId = null, - preTmpMoveType = null, - tmpTargetNodeId = null, - moveType = consts.move.TYPE_INNER, - mouseDownX = eventMouseDown.clientX, - mouseDownY = eventMouseDown.clientY, - startTime = (new Date()).getTime(); - - if (tools.uCanDo(setting)) { - doc.bind("mousemove", _docMouseMove); - } - function _docMouseMove(event) { - //avoid start drag after click node - if (root.dragFlag == 0 && Math.abs(mouseDownX - event.clientX) < setting.edit.drag.minMoveSize - && Math.abs(mouseDownY - event.clientY) < setting.edit.drag.minMoveSize) { - return true; - } - var i, l, tmpNode, tmpDom, tmpNodes, - childKey = setting.data.key.children; - body.css("cursor", "pointer"); - - if (root.dragFlag == 0) { - if (tools.apply(setting.callback.beforeDrag, [setting.treeId, nodes], true) == false) { - _docMouseUp(event); - return true; - } - - for (i=0, l=nodes.length; i<l; i++) { - if (i==0) { - root.dragNodeShowBefore = []; - } - tmpNode = nodes[i]; - if (tmpNode.isParent && tmpNode.open) { - view.expandCollapseNode(setting, tmpNode, !tmpNode.open); - root.dragNodeShowBefore[tmpNode.tId] = true; - } else { - root.dragNodeShowBefore[tmpNode.tId] = false; - } - } - - root.dragFlag = 1; - roots.showHoverDom = false; - tools.showIfameMask(setting, true); - - //sort - var isOrder = true, lastIndex = -1; - if (nodes.length>1) { - var pNodes = nodes[0].parentTId ? nodes[0].getParentNode()[childKey] : data.getNodes(setting); - tmpNodes = []; - for (i=0, l=pNodes.length; i<l; i++) { - if (root.dragNodeShowBefore[pNodes[i].tId] !== undefined) { - if (isOrder && lastIndex > -1 && (lastIndex+1) !== i) { - isOrder = false; - } - tmpNodes.push(pNodes[i]); - lastIndex = i; - } - if (nodes.length === tmpNodes.length) { - nodes = tmpNodes; - break; - } - } - } - if (isOrder) { - preNode = nodes[0].getPreNode(); - nextNode = nodes[nodes.length-1].getNextNode(); - } - - //set node in selected - curNode = $$("<ul class='zTreeDragUL'></ul>", setting); - for (i=0, l=nodes.length; i<l; i++) { - tmpNode = nodes[i]; - tmpNode.editNameFlag = false; - view.selectNode(setting, tmpNode, i>0); - view.removeTreeDom(setting, tmpNode); - - if (i > setting.edit.drag.maxShowNodeNum-1) { - continue; - } - - tmpDom = $$("<li id='"+ tmpNode.tId +"_tmp'></li>", setting); - tmpDom.append($$(tmpNode, consts.id.A, setting).clone()); - tmpDom.css("padding", "0"); - tmpDom.children("#" + tmpNode.tId + consts.id.A).removeClass(consts.node.CURSELECTED); - curNode.append(tmpDom); - if (i == setting.edit.drag.maxShowNodeNum-1) { - tmpDom = $$("<li id='"+ tmpNode.tId +"_moretmp'><a> ... </a></li>", setting); - curNode.append(tmpDom); - } - } - curNode.attr("id", nodes[0].tId + consts.id.UL + "_tmp"); - curNode.addClass(setting.treeObj.attr("class")); - curNode.appendTo(body); - - tmpArrow = $$("<span class='tmpzTreeMove_arrow'></span>", setting); - tmpArrow.attr("id", "zTreeMove_arrow_tmp"); - tmpArrow.appendTo(body); - - setting.treeObj.trigger(consts.event.DRAG, [event, setting.treeId, nodes]); - } - - if (root.dragFlag == 1) { - if (tmpTarget && tmpArrow.attr("id") == event.target.id && tmpTargetNodeId && (event.clientX + doc.scrollLeft()+2) > ($("#" + tmpTargetNodeId + consts.id.A, tmpTarget).offset().left)) { - var xT = $("#" + tmpTargetNodeId + consts.id.A, tmpTarget); - event.target = (xT.length > 0) ? xT.get(0) : event.target; - } else if (tmpTarget) { - tmpTarget.removeClass(consts.node.TMPTARGET_TREE); - if (tmpTargetNodeId) $("#" + tmpTargetNodeId + consts.id.A, tmpTarget).removeClass(consts.node.TMPTARGET_NODE + "_" + consts.move.TYPE_PREV) - .removeClass(consts.node.TMPTARGET_NODE + "_" + _consts.move.TYPE_NEXT).removeClass(consts.node.TMPTARGET_NODE + "_" + _consts.move.TYPE_INNER); - } - tmpTarget = null; - tmpTargetNodeId = null; - - //judge drag & drop in multi ztree - isOtherTree = false; - targetSetting = setting; - var settings = data.getSettings(); - for (var s in settings) { - if (settings[s].treeId && settings[s].edit.enable && settings[s].treeId != setting.treeId - && (event.target.id == settings[s].treeId || $(event.target).parents("#" + settings[s].treeId).length>0)) { - isOtherTree = true; - targetSetting = settings[s]; - } - } - - var docScrollTop = doc.scrollTop(), - docScrollLeft = doc.scrollLeft(), - treeOffset = targetSetting.treeObj.offset(), - scrollHeight = targetSetting.treeObj.get(0).scrollHeight, - scrollWidth = targetSetting.treeObj.get(0).scrollWidth, - dTop = (event.clientY + docScrollTop - treeOffset.top), - dBottom = (targetSetting.treeObj.height() + treeOffset.top - event.clientY - docScrollTop), - dLeft = (event.clientX + docScrollLeft - treeOffset.left), - dRight = (targetSetting.treeObj.width() + treeOffset.left - event.clientX - docScrollLeft), - isTop = (dTop < setting.edit.drag.borderMax && dTop > setting.edit.drag.borderMin), - isBottom = (dBottom < setting.edit.drag.borderMax && dBottom > setting.edit.drag.borderMin), - isLeft = (dLeft < setting.edit.drag.borderMax && dLeft > setting.edit.drag.borderMin), - isRight = (dRight < setting.edit.drag.borderMax && dRight > setting.edit.drag.borderMin), - isTreeInner = dTop > setting.edit.drag.borderMin && dBottom > setting.edit.drag.borderMin && dLeft > setting.edit.drag.borderMin && dRight > setting.edit.drag.borderMin, - isTreeTop = (isTop && targetSetting.treeObj.scrollTop() <= 0), - isTreeBottom = (isBottom && (targetSetting.treeObj.scrollTop() + targetSetting.treeObj.height()+10) >= scrollHeight), - isTreeLeft = (isLeft && targetSetting.treeObj.scrollLeft() <= 0), - isTreeRight = (isRight && (targetSetting.treeObj.scrollLeft() + targetSetting.treeObj.width()+10) >= scrollWidth); - - if (event.target && tools.isChildOrSelf(event.target, targetSetting.treeId)) { - //get node <li> dom - var targetObj = event.target; - while (targetObj && targetObj.tagName && !tools.eqs(targetObj.tagName, "li") && targetObj.id != targetSetting.treeId) { - targetObj = targetObj.parentNode; - } - - var canMove = true; - //don't move to self or children of self - for (i=0, l=nodes.length; i<l; i++) { - tmpNode = nodes[i]; - if (targetObj.id === tmpNode.tId) { - canMove = false; - break; - } else if ($$(tmpNode, setting).find("#" + targetObj.id).length > 0) { - canMove = false; - break; - } - } - if (canMove && event.target && tools.isChildOrSelf(event.target, targetObj.id + consts.id.A)) { - tmpTarget = $(targetObj); - tmpTargetNodeId = targetObj.id; - } - } - - //the mouse must be in zTree - tmpNode = nodes[0]; - if (isTreeInner && tools.isChildOrSelf(event.target, targetSetting.treeId)) { - //judge mouse move in root of ztree - if (!tmpTarget && (event.target.id == targetSetting.treeId || isTreeTop || isTreeBottom || isTreeLeft || isTreeRight) && (isOtherTree || (!isOtherTree && tmpNode.parentTId))) { - tmpTarget = targetSetting.treeObj; - } - //auto scroll top - if (isTop) { - targetSetting.treeObj.scrollTop(targetSetting.treeObj.scrollTop()-10); - } else if (isBottom) { - targetSetting.treeObj.scrollTop(targetSetting.treeObj.scrollTop()+10); - } - if (isLeft) { - targetSetting.treeObj.scrollLeft(targetSetting.treeObj.scrollLeft()-10); - } else if (isRight) { - targetSetting.treeObj.scrollLeft(targetSetting.treeObj.scrollLeft()+10); - } - //auto scroll left - if (tmpTarget && tmpTarget != targetSetting.treeObj && tmpTarget.offset().left < targetSetting.treeObj.offset().left) { - targetSetting.treeObj.scrollLeft(targetSetting.treeObj.scrollLeft()+ tmpTarget.offset().left - targetSetting.treeObj.offset().left); - } - } - - curNode.css({ - "top": (event.clientY + docScrollTop + 3) + "px", - "left": (event.clientX + docScrollLeft + 3) + "px" - }); - - var dX = 0; - var dY = 0; - if (tmpTarget && tmpTarget.attr("id")!=targetSetting.treeId) { - var tmpTargetNode = tmpTargetNodeId == null ? null: data.getNodeCache(targetSetting, tmpTargetNodeId), - isCopy = ((event.ctrlKey || event.metaKey) && setting.edit.drag.isMove && setting.edit.drag.isCopy) || (!setting.edit.drag.isMove && setting.edit.drag.isCopy), - isPrev = !!(preNode && tmpTargetNodeId === preNode.tId), - isNext = !!(nextNode && tmpTargetNodeId === nextNode.tId), - isInner = (tmpNode.parentTId && tmpNode.parentTId == tmpTargetNodeId), - canPrev = (isCopy || !isNext) && tools.apply(targetSetting.edit.drag.prev, [targetSetting.treeId, nodes, tmpTargetNode], !!targetSetting.edit.drag.prev), - canNext = (isCopy || !isPrev) && tools.apply(targetSetting.edit.drag.next, [targetSetting.treeId, nodes, tmpTargetNode], !!targetSetting.edit.drag.next), - canInner = (isCopy || !isInner) && !(targetSetting.data.keep.leaf && !tmpTargetNode.isParent) && tools.apply(targetSetting.edit.drag.inner, [targetSetting.treeId, nodes, tmpTargetNode], !!targetSetting.edit.drag.inner); - if (!canPrev && !canNext && !canInner) { - tmpTarget = null; - tmpTargetNodeId = ""; - moveType = consts.move.TYPE_INNER; - tmpArrow.css({ - "display":"none" - }); - if (window.zTreeMoveTimer) { - clearTimeout(window.zTreeMoveTimer); - window.zTreeMoveTargetNodeTId = null - } - } else { - var tmpTargetA = $("#" + tmpTargetNodeId + consts.id.A, tmpTarget), - tmpNextA = tmpTargetNode.isLastNode ? null : $("#" + tmpTargetNode.getNextNode().tId + consts.id.A, tmpTarget.next()), - tmpTop = tmpTargetA.offset().top, - tmpLeft = tmpTargetA.offset().left, - prevPercent = canPrev ? (canInner ? 0.25 : (canNext ? 0.5 : 1) ) : -1, - nextPercent = canNext ? (canInner ? 0.75 : (canPrev ? 0.5 : 0) ) : -1, - dY_percent = (event.clientY + docScrollTop - tmpTop)/tmpTargetA.height(); - if ((prevPercent==1 ||dY_percent<=prevPercent && dY_percent>=-.2) && canPrev) { - dX = 1 - tmpArrow.width(); - dY = tmpTop - tmpArrow.height()/2; - moveType = consts.move.TYPE_PREV; - } else if ((nextPercent==0 || dY_percent>=nextPercent && dY_percent<=1.2) && canNext) { - dX = 1 - tmpArrow.width(); - dY = (tmpNextA == null || (tmpTargetNode.isParent && tmpTargetNode.open)) ? (tmpTop + tmpTargetA.height() - tmpArrow.height()/2) : (tmpNextA.offset().top - tmpArrow.height()/2); - moveType = consts.move.TYPE_NEXT; - }else { - dX = 5 - tmpArrow.width(); - dY = tmpTop; - moveType = consts.move.TYPE_INNER; - } - tmpArrow.css({ - "display":"block", - "top": dY + "px", - "left": (tmpLeft + dX) + "px" - }); - tmpTargetA.addClass(consts.node.TMPTARGET_NODE + "_" + moveType); - - if (preTmpTargetNodeId != tmpTargetNodeId || preTmpMoveType != moveType) { - startTime = (new Date()).getTime(); - } - if (tmpTargetNode && tmpTargetNode.isParent && moveType == consts.move.TYPE_INNER) { - var startTimer = true; - if (window.zTreeMoveTimer && window.zTreeMoveTargetNodeTId !== tmpTargetNode.tId) { - clearTimeout(window.zTreeMoveTimer); - window.zTreeMoveTargetNodeTId = null; - }else if (window.zTreeMoveTimer && window.zTreeMoveTargetNodeTId === tmpTargetNode.tId) { - startTimer = false; - } - if (startTimer) { - window.zTreeMoveTimer = setTimeout(function() { - if (moveType != consts.move.TYPE_INNER) return; - if (tmpTargetNode && tmpTargetNode.isParent && !tmpTargetNode.open && (new Date()).getTime() - startTime > targetSetting.edit.drag.autoOpenTime - && tools.apply(targetSetting.callback.beforeDragOpen, [targetSetting.treeId, tmpTargetNode], true)) { - view.switchNode(targetSetting, tmpTargetNode); - if (targetSetting.edit.drag.autoExpandTrigger) { - targetSetting.treeObj.trigger(consts.event.EXPAND, [targetSetting.treeId, tmpTargetNode]); - } - } - }, targetSetting.edit.drag.autoOpenTime+50); - window.zTreeMoveTargetNodeTId = tmpTargetNode.tId; - } - } - } - } else { - moveType = consts.move.TYPE_INNER; - if (tmpTarget && tools.apply(targetSetting.edit.drag.inner, [targetSetting.treeId, nodes, null], !!targetSetting.edit.drag.inner)) { - tmpTarget.addClass(consts.node.TMPTARGET_TREE); - } else { - tmpTarget = null; - } - tmpArrow.css({ - "display":"none" - }); - if (window.zTreeMoveTimer) { - clearTimeout(window.zTreeMoveTimer); - window.zTreeMoveTargetNodeTId = null; - } - } - preTmpTargetNodeId = tmpTargetNodeId; - preTmpMoveType = moveType; - - setting.treeObj.trigger(consts.event.DRAGMOVE, [event, setting.treeId, nodes]); - } - return false; - } - - doc.bind("mouseup", _docMouseUp); - function _docMouseUp(event) { - if (window.zTreeMoveTimer) { - clearTimeout(window.zTreeMoveTimer); - window.zTreeMoveTargetNodeTId = null; - } - preTmpTargetNodeId = null; - preTmpMoveType = null; - doc.unbind("mousemove", _docMouseMove); - doc.unbind("mouseup", _docMouseUp); - doc.unbind("selectstart", _docSelect); - body.css("cursor", "auto"); - if (tmpTarget) { - tmpTarget.removeClass(consts.node.TMPTARGET_TREE); - if (tmpTargetNodeId) $("#" + tmpTargetNodeId + consts.id.A, tmpTarget).removeClass(consts.node.TMPTARGET_NODE + "_" + consts.move.TYPE_PREV) - .removeClass(consts.node.TMPTARGET_NODE + "_" + _consts.move.TYPE_NEXT).removeClass(consts.node.TMPTARGET_NODE + "_" + _consts.move.TYPE_INNER); - } - tools.showIfameMask(setting, false); - - roots.showHoverDom = true; - if (root.dragFlag == 0) return; - root.dragFlag = 0; - - var i, l, tmpNode; - for (i=0, l=nodes.length; i<l; i++) { - tmpNode = nodes[i]; - if (tmpNode.isParent && root.dragNodeShowBefore[tmpNode.tId] && !tmpNode.open) { - view.expandCollapseNode(setting, tmpNode, !tmpNode.open); - delete root.dragNodeShowBefore[tmpNode.tId]; - } - } - - if (curNode) curNode.remove(); - if (tmpArrow) tmpArrow.remove(); - - var isCopy = ((event.ctrlKey || event.metaKey) && setting.edit.drag.isMove && setting.edit.drag.isCopy) || (!setting.edit.drag.isMove && setting.edit.drag.isCopy); - if (!isCopy && tmpTarget && tmpTargetNodeId && nodes[0].parentTId && tmpTargetNodeId==nodes[0].parentTId && moveType == consts.move.TYPE_INNER) { - tmpTarget = null; - } - if (tmpTarget) { - var dragTargetNode = tmpTargetNodeId == null ? null: data.getNodeCache(targetSetting, tmpTargetNodeId); - if (tools.apply(setting.callback.beforeDrop, [targetSetting.treeId, nodes, dragTargetNode, moveType, isCopy], true) == false) { - view.selectNodes(sourceSetting, nodes); - return; - } - var newNodes = isCopy ? tools.clone(nodes) : nodes; - - function dropCallback() { - if (isOtherTree) { - if (!isCopy) { - for(var i=0, l=nodes.length; i<l; i++) { - view.removeNode(setting, nodes[i]); - } - } - if (moveType == consts.move.TYPE_INNER) { - view.addNodes(targetSetting, dragTargetNode, newNodes); - } else { - view.addNodes(targetSetting, dragTargetNode.getParentNode(), newNodes); - if (moveType == consts.move.TYPE_PREV) { - for (i=0, l=newNodes.length; i<l; i++) { - view.moveNode(targetSetting, dragTargetNode, newNodes[i], moveType, false); - } - } else { - for (i=-1, l=newNodes.length-1; i<l; l--) { - view.moveNode(targetSetting, dragTargetNode, newNodes[l], moveType, false); - } - } - } - } else { - if (isCopy && moveType == consts.move.TYPE_INNER) { - view.addNodes(targetSetting, dragTargetNode, newNodes); - } else { - if (isCopy) { - view.addNodes(targetSetting, dragTargetNode.getParentNode(), newNodes); - } - if (moveType != consts.move.TYPE_NEXT) { - for (i=0, l=newNodes.length; i<l; i++) { - view.moveNode(targetSetting, dragTargetNode, newNodes[i], moveType, false); - } - } else { - for (i=-1, l=newNodes.length-1; i<l; l--) { - view.moveNode(targetSetting, dragTargetNode, newNodes[l], moveType, false); - } - } - } - } - view.selectNodes(targetSetting, newNodes); - $$(newNodes[0], setting).focus().blur(); - - setting.treeObj.trigger(consts.event.DROP, [event, targetSetting.treeId, newNodes, dragTargetNode, moveType, isCopy]); - } - - if (moveType == consts.move.TYPE_INNER && tools.canAsync(targetSetting, dragTargetNode)) { - view.asyncNode(targetSetting, dragTargetNode, false, dropCallback); - } else { - dropCallback(); - } - - } else { - view.selectNodes(sourceSetting, nodes); - setting.treeObj.trigger(consts.event.DROP, [event, setting.treeId, nodes, null, null, null]); - } - } - - doc.bind("selectstart", _docSelect); - function _docSelect() { - return false; - } - - //Avoid FireFox's Bug - //If zTree Div CSS set 'overflow', so drag node outside of zTree, and event.target is error. - if(eventMouseDown.preventDefault) { - eventMouseDown.preventDefault(); - } - return true; - } - }, - //method of tools for zTree - _tools = { - getAbs: function (obj) { - var oRect = obj.getBoundingClientRect(), - scrollTop = document.body.scrollTop+document.documentElement.scrollTop, - scrollLeft = document.body.scrollLeft+document.documentElement.scrollLeft; - return [oRect.left+scrollLeft,oRect.top+scrollTop]; - }, - inputFocus: function(inputObj) { - if (inputObj.get(0)) { - inputObj.focus(); - tools.setCursorPosition(inputObj.get(0), inputObj.val().length); - } - }, - inputSelect: function(inputObj) { - if (inputObj.get(0)) { - inputObj.focus(); - inputObj.select(); - } - }, - setCursorPosition: function(obj, pos){ - if(obj.setSelectionRange) { - obj.focus(); - obj.setSelectionRange(pos,pos); - } else if (obj.createTextRange) { - var range = obj.createTextRange(); - range.collapse(true); - range.moveEnd('character', pos); - range.moveStart('character', pos); - range.select(); - } - }, - showIfameMask: function(setting, showSign) { - var root = data.getRoot(setting); - //clear full mask - while (root.dragMaskList.length > 0) { - root.dragMaskList[0].remove(); - root.dragMaskList.shift(); - } - if (showSign) { - //show mask - var iframeList = $$("iframe", setting); - for (var i = 0, l = iframeList.length; i < l; i++) { - var obj = iframeList.get(i), - r = tools.getAbs(obj), - dragMask = $$("<div id='zTreeMask_" + i + "' class='zTreeMask' style='top:" + r[1] + "px; left:" + r[0] + "px; width:" + obj.offsetWidth + "px; height:" + obj.offsetHeight + "px;'></div>", setting); - dragMask.appendTo($$("body", setting)); - root.dragMaskList.push(dragMask); - } - } - } - }, - //method of operate ztree dom - _view = { - addEditBtn: function(setting, node) { - if (node.editNameFlag || $$(node, consts.id.EDIT, setting).length > 0) { - return; - } - if (!tools.apply(setting.edit.showRenameBtn, [setting.treeId, node], setting.edit.showRenameBtn)) { - return; - } - var aObj = $$(node, consts.id.A, setting), - editStr = "<span class='" + consts.className.BUTTON + " edit' id='" + node.tId + consts.id.EDIT + "' title='"+tools.apply(setting.edit.renameTitle, [setting.treeId, node], setting.edit.renameTitle)+"' treeNode"+consts.id.EDIT+" style='display:none;'></span>"; - aObj.append(editStr); - - $$(node, consts.id.EDIT, setting).bind('click', - function() { - if (!tools.uCanDo(setting) || tools.apply(setting.callback.beforeEditName, [setting.treeId, node], true) == false) return false; - view.editNode(setting, node); - return false; - } - ).show(); - }, - addRemoveBtn: function(setting, node) { - if (node.editNameFlag || $$(node, consts.id.REMOVE, setting).length > 0) { - return; - } - if (!tools.apply(setting.edit.showRemoveBtn, [setting.treeId, node], setting.edit.showRemoveBtn)) { - return; - } - var aObj = $$(node, consts.id.A, setting), - removeStr = "<span class='" + consts.className.BUTTON + " remove' id='" + node.tId + consts.id.REMOVE + "' title='"+tools.apply(setting.edit.removeTitle, [setting.treeId, node], setting.edit.removeTitle)+"' treeNode"+consts.id.REMOVE+" style='display:none;'></span>"; - aObj.append(removeStr); - - $$(node, consts.id.REMOVE, setting).bind('click', - function() { - if (!tools.uCanDo(setting) || tools.apply(setting.callback.beforeRemove, [setting.treeId, node], true) == false) return false; - view.removeNode(setting, node); - setting.treeObj.trigger(consts.event.REMOVE, [setting.treeId, node]); - return false; - } - ).bind('mousedown', - function(eventMouseDown) { - return true; - } - ).show(); - }, - addHoverDom: function(setting, node) { - if (data.getRoots().showHoverDom) { - node.isHover = true; - if (setting.edit.enable) { - view.addEditBtn(setting, node); - view.addRemoveBtn(setting, node); - } - tools.apply(setting.view.addHoverDom, [setting.treeId, node]); - } - }, - cancelCurEditNode: function (setting, forceName, isCancel) { - var root = data.getRoot(setting), - nameKey = setting.data.key.name, - node = root.curEditNode; - - if (node) { - var inputObj = root.curEditInput, - newName = forceName ? forceName:(isCancel ? node[nameKey]: inputObj.val()); - if (tools.apply(setting.callback.beforeRename, [setting.treeId, node, newName, isCancel], true) === false) { - return false; - } else { - node[nameKey] = newName; - setting.treeObj.trigger(consts.event.RENAME, [setting.treeId, node, isCancel]); - } - var aObj = $$(node, consts.id.A, setting); - aObj.removeClass(consts.node.CURSELECTED_EDIT); - inputObj.unbind(); - view.setNodeName(setting, node); - node.editNameFlag = false; - root.curEditNode = null; - root.curEditInput = null; - view.selectNode(setting, node, false); - } - root.noSelection = true; - return true; - }, - editNode: function(setting, node) { - var root = data.getRoot(setting); - view.editNodeBlur = false; - if (data.isSelectedNode(setting, node) && root.curEditNode == node && node.editNameFlag) { - setTimeout(function() {tools.inputFocus(root.curEditInput);}, 0); - return; - } - var nameKey = setting.data.key.name; - node.editNameFlag = true; - view.removeTreeDom(setting, node); - view.cancelCurEditNode(setting); - view.selectNode(setting, node, false); - $$(node, consts.id.SPAN, setting).html("<input type=text class='rename' id='" + node.tId + consts.id.INPUT + "' treeNode" + consts.id.INPUT + " >"); - var inputObj = $$(node, consts.id.INPUT, setting); - inputObj.attr("value", node[nameKey]); - if (setting.edit.editNameSelectAll) { - tools.inputSelect(inputObj); - } else { - tools.inputFocus(inputObj); - } - - inputObj.bind('blur', function(event) { - if (!view.editNodeBlur) { - view.cancelCurEditNode(setting); - } - }).bind('keydown', function(event) { - if (event.keyCode=="13") { - view.editNodeBlur = true; - view.cancelCurEditNode(setting); - } else if (event.keyCode=="27") { - view.cancelCurEditNode(setting, null, true); - } - }).bind('click', function(event) { - return false; - }).bind('dblclick', function(event) { - return false; - }); - - $$(node, consts.id.A, setting).addClass(consts.node.CURSELECTED_EDIT); - root.curEditInput = inputObj; - root.noSelection = false; - root.curEditNode = node; - }, - moveNode: function(setting, targetNode, node, moveType, animateFlag, isSilent) { - var root = data.getRoot(setting), - childKey = setting.data.key.children; - if (targetNode == node) return; - if (setting.data.keep.leaf && targetNode && !targetNode.isParent && moveType == consts.move.TYPE_INNER) return; - var oldParentNode = (node.parentTId ? node.getParentNode(): root), - targetNodeIsRoot = (targetNode === null || targetNode == root); - if (targetNodeIsRoot && targetNode === null) targetNode = root; - if (targetNodeIsRoot) moveType = consts.move.TYPE_INNER; - var targetParentNode = (targetNode.parentTId ? targetNode.getParentNode() : root); - - if (moveType != consts.move.TYPE_PREV && moveType != consts.move.TYPE_NEXT) { - moveType = consts.move.TYPE_INNER; - } - - if (moveType == consts.move.TYPE_INNER) { - if (targetNodeIsRoot) { - //parentTId of root node is null - node.parentTId = null; - } else { - if (!targetNode.isParent) { - targetNode.isParent = true; - targetNode.open = !!targetNode.open; - view.setNodeLineIcos(setting, targetNode); - } - node.parentTId = targetNode.tId; - } - } - - //move node Dom - var targetObj, target_ulObj; - if (targetNodeIsRoot) { - targetObj = setting.treeObj; - target_ulObj = targetObj; - } else { - if (!isSilent && moveType == consts.move.TYPE_INNER) { - view.expandCollapseNode(setting, targetNode, true, false); - } else if (!isSilent) { - view.expandCollapseNode(setting, targetNode.getParentNode(), true, false); - } - targetObj = $$(targetNode, setting); - target_ulObj = $$(targetNode, consts.id.UL, setting); - if (!!targetObj.get(0) && !target_ulObj.get(0)) { - var ulstr = []; - view.makeUlHtml(setting, targetNode, ulstr, ''); - targetObj.append(ulstr.join('')); - } - target_ulObj = $$(targetNode, consts.id.UL, setting); - } - var nodeDom = $$(node, setting); - if (!nodeDom.get(0)) { - nodeDom = view.appendNodes(setting, node.level, [node], null, false, true).join(''); - } else if (!targetObj.get(0)) { - nodeDom.remove(); - } - if (target_ulObj.get(0) && moveType == consts.move.TYPE_INNER) { - target_ulObj.append(nodeDom); - } else if (targetObj.get(0) && moveType == consts.move.TYPE_PREV) { - targetObj.before(nodeDom); - } else if (targetObj.get(0) && moveType == consts.move.TYPE_NEXT) { - targetObj.after(nodeDom); - } - - //repair the data after move - var i,l, - tmpSrcIndex = -1, - tmpTargetIndex = 0, - oldNeighbor = null, - newNeighbor = null, - oldLevel = node.level; - if (node.isFirstNode) { - tmpSrcIndex = 0; - if (oldParentNode[childKey].length > 1 ) { - oldNeighbor = oldParentNode[childKey][1]; - oldNeighbor.isFirstNode = true; - } - } else if (node.isLastNode) { - tmpSrcIndex = oldParentNode[childKey].length -1; - oldNeighbor = oldParentNode[childKey][tmpSrcIndex - 1]; - oldNeighbor.isLastNode = true; - } else { - for (i = 0, l = oldParentNode[childKey].length; i < l; i++) { - if (oldParentNode[childKey][i].tId == node.tId) { - tmpSrcIndex = i; - break; - } - } - } - if (tmpSrcIndex >= 0) { - oldParentNode[childKey].splice(tmpSrcIndex, 1); - } - if (moveType != consts.move.TYPE_INNER) { - for (i = 0, l = targetParentNode[childKey].length; i < l; i++) { - if (targetParentNode[childKey][i].tId == targetNode.tId) tmpTargetIndex = i; - } - } - if (moveType == consts.move.TYPE_INNER) { - if (!targetNode[childKey]) targetNode[childKey] = new Array(); - if (targetNode[childKey].length > 0) { - newNeighbor = targetNode[childKey][targetNode[childKey].length - 1]; - newNeighbor.isLastNode = false; - } - targetNode[childKey].splice(targetNode[childKey].length, 0, node); - node.isLastNode = true; - node.isFirstNode = (targetNode[childKey].length == 1); - } else if (targetNode.isFirstNode && moveType == consts.move.TYPE_PREV) { - targetParentNode[childKey].splice(tmpTargetIndex, 0, node); - newNeighbor = targetNode; - newNeighbor.isFirstNode = false; - node.parentTId = targetNode.parentTId; - node.isFirstNode = true; - node.isLastNode = false; - - } else if (targetNode.isLastNode && moveType == consts.move.TYPE_NEXT) { - targetParentNode[childKey].splice(tmpTargetIndex + 1, 0, node); - newNeighbor = targetNode; - newNeighbor.isLastNode = false; - node.parentTId = targetNode.parentTId; - node.isFirstNode = false; - node.isLastNode = true; - - } else { - if (moveType == consts.move.TYPE_PREV) { - targetParentNode[childKey].splice(tmpTargetIndex, 0, node); - } else { - targetParentNode[childKey].splice(tmpTargetIndex + 1, 0, node); - } - node.parentTId = targetNode.parentTId; - node.isFirstNode = false; - node.isLastNode = false; - } - data.fixPIdKeyValue(setting, node); - data.setSonNodeLevel(setting, node.getParentNode(), node); - - //repair node what been moved - view.setNodeLineIcos(setting, node); - view.repairNodeLevelClass(setting, node, oldLevel) - - //repair node's old parentNode dom - if (!setting.data.keep.parent && oldParentNode[childKey].length < 1) { - //old parentNode has no child nodes - oldParentNode.isParent = false; - oldParentNode.open = false; - var tmp_ulObj = $$(oldParentNode, consts.id.UL, setting), - tmp_switchObj = $$(oldParentNode, consts.id.SWITCH, setting), - tmp_icoObj = $$(oldParentNode, consts.id.ICON, setting); - view.replaceSwitchClass(oldParentNode, tmp_switchObj, consts.folder.DOCU); - view.replaceIcoClass(oldParentNode, tmp_icoObj, consts.folder.DOCU); - tmp_ulObj.css("display", "none"); - - } else if (oldNeighbor) { - //old neigbor node - view.setNodeLineIcos(setting, oldNeighbor); - } - - //new neigbor node - if (newNeighbor) { - view.setNodeLineIcos(setting, newNeighbor); - } - - //repair checkbox / radio - if (!!setting.check && setting.check.enable && view.repairChkClass) { - view.repairChkClass(setting, oldParentNode); - view.repairParentChkClassWithSelf(setting, oldParentNode); - if (oldParentNode != node.parent) - view.repairParentChkClassWithSelf(setting, node); - } - - //expand parents after move - if (!isSilent) { - view.expandCollapseParentNode(setting, node.getParentNode(), true, animateFlag); - } - }, - removeEditBtn: function(setting, node) { - $$(node, consts.id.EDIT, setting).unbind().remove(); - }, - removeRemoveBtn: function(setting, node) { - $$(node, consts.id.REMOVE, setting).unbind().remove(); - }, - removeTreeDom: function(setting, node) { - node.isHover = false; - view.removeEditBtn(setting, node); - view.removeRemoveBtn(setting, node); - tools.apply(setting.view.removeHoverDom, [setting.treeId, node]); - }, - repairNodeLevelClass: function(setting, node, oldLevel) { - if (oldLevel === node.level) return; - var liObj = $$(node, setting), - aObj = $$(node, consts.id.A, setting), - ulObj = $$(node, consts.id.UL, setting), - oldClass = consts.className.LEVEL + oldLevel, - newClass = consts.className.LEVEL + node.level; - liObj.removeClass(oldClass); - liObj.addClass(newClass); - aObj.removeClass(oldClass); - aObj.addClass(newClass); - ulObj.removeClass(oldClass); - ulObj.addClass(newClass); - }, - selectNodes : function(setting, nodes) { - for (var i=0, l=nodes.length; i<l; i++) { - view.selectNode(setting, nodes[i], i>0); - } - } - }, - - _z = { - tools: _tools, - view: _view, - event: _event, - data: _data - }; - $.extend(true, $.fn.zTree.consts, _consts); - $.extend(true, $.fn.zTree._z, _z); - - var zt = $.fn.zTree, - tools = zt._z.tools, - consts = zt.consts, - view = zt._z.view, - data = zt._z.data, - event = zt._z.event, - $$ = tools.$; - - data.exSetting(_setting); - data.addInitBind(_bindEvent); - data.addInitUnBind(_unbindEvent); - data.addInitCache(_initCache); - data.addInitNode(_initNode); - data.addInitProxy(_eventProxy); - data.addInitRoot(_initRoot); - data.addZTreeTools(_zTreeTools); - - var _cancelPreSelectedNode = view.cancelPreSelectedNode; - view.cancelPreSelectedNode = function (setting, node) { - var list = data.getRoot(setting).curSelectedList; - for (var i=0, j=list.length; i<j; i++) { - if (!node || node === list[i]) { - view.removeTreeDom(setting, list[i]); - if (node) break; - } - } - if (_cancelPreSelectedNode) _cancelPreSelectedNode.apply(view, arguments); - } - - var _createNodes = view.createNodes; - view.createNodes = function(setting, level, nodes, parentNode) { - if (_createNodes) { - _createNodes.apply(view, arguments); - } - if (!nodes) return; - if (view.repairParentChkClassWithSelf) { - view.repairParentChkClassWithSelf(setting, parentNode); - } - } - - var _makeNodeUrl = view.makeNodeUrl; - view.makeNodeUrl = function(setting, node) { - return setting.edit.enable ? null : (_makeNodeUrl.apply(view, arguments)); - } - - var _removeNode = view.removeNode; - view.removeNode = function(setting, node) { - var root = data.getRoot(setting); - if (root.curEditNode === node) root.curEditNode = null; - if (_removeNode) { - _removeNode.apply(view, arguments); - } - } - - var _selectNode = view.selectNode; - view.selectNode = function(setting, node, addFlag) { - var root = data.getRoot(setting); - if (data.isSelectedNode(setting, node) && root.curEditNode == node && node.editNameFlag) { - return false; - } - if (_selectNode) _selectNode.apply(view, arguments); - view.addHoverDom(setting, node); - return true; - } - - var _uCanDo = tools.uCanDo; - tools.uCanDo = function(setting, e) { - var root = data.getRoot(setting); - if (e && (tools.eqs(e.type, "mouseover") || tools.eqs(e.type, "mouseout") || tools.eqs(e.type, "mousedown") || tools.eqs(e.type, "mouseup"))) { - return true; - } - if (root.curEditNode) { - view.editNodeBlur = false; - root.curEditInput.focus(); - } - return (!root.curEditNode) && (_uCanDo ? _uCanDo.apply(view, arguments) : true); - } +/*
+ * JQuery zTree exedit v3.5.16
+ * http://zTree.me/
+ *
+ * Copyright (c) 2010 Hunter.z
+ *
+ * Licensed same as jquery - MIT License
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ * email: hunter.z@263.net
+ * Date: 2014-03-09
+ */
+(function($){
+ //default consts of exedit
+ var _consts = {
+ 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"
+ }
+ },
+ //default setting of exedit
+ _setting = {
+ edit: {
+ enable: false,
+ editNameSelectAll: false,
+ showRemoveBtn: true,
+ showRenameBtn: true,
+ removeTitle: "remove",
+ renameTitle: "rename",
+ drag: {
+ autoExpandTrigger: false,
+ isCopy: true,
+ isMove: true,
+ prev: true,
+ next: true,
+ inner: true,
+ 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,
+ onDragMove:null,
+ onDrop:null,
+ onRename:null
+ }
+ },
+ //default root of exedit
+ _initRoot = function (setting) {
+ var r = data.getRoot(setting), rs = data.getRoots();
+ r.curEditNode = null;
+ r.curEditInput = null;
+ r.curHoverNode = null;
+ r.dragFlag = 0;
+ r.dragNodeShowBefore = [];
+ r.dragMaskList = new Array();
+ rs.showHoverDom = true;
+ },
+ //default cache of exedit
+ _initCache = function(treeId) {},
+ //default bind event of exedit
+ _bindEvent = function(setting) {
+ var o = setting.treeObj;
+ var c = consts.event;
+ o.bind(c.RENAME, function (event, treeId, treeNode, isCancel) {
+ tools.apply(setting.callback.onRename, [event, treeId, treeNode, isCancel]);
+ });
+
+ o.bind(c.DRAG, function (event, srcEvent, treeId, treeNodes) {
+ 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]);
+ });
+ },
+ _unbindEvent = function(setting) {
+ var o = setting.treeObj;
+ var c = consts.event;
+ o.unbind(c.RENAME);
+ o.unbind(c.DRAG);
+ o.unbind(c.DRAGMOVE);
+ o.unbind(c.DROP);
+ },
+ //default event proxy of exedit
+ _eventProxy = function(e) {
+ var target = e.target,
+ setting = data.getSetting(e.data.treeId),
+ relatedTarget = e.relatedTarget,
+ tId = "", node = null,
+ nodeEventType = "", treeEventType = "",
+ nodeEventCallback = null, treeEventCallback = null,
+ tmp = null;
+
+ if (tools.eqs(e.type, "mouseover")) {
+ tmp = tools.getMDom(setting, target, [{tagName:"a", attrName:"treeNode"+consts.id.A}]);
+ if (tmp) {
+ tId = tools.getNodeMainDom(tmp).id;
+ nodeEventType = "hoverOverNode";
+ }
+ } else if (tools.eqs(e.type, "mouseout")) {
+ tmp = tools.getMDom(setting, relatedTarget, [{tagName:"a", attrName:"treeNode"+consts.id.A}]);
+ if (!tmp) {
+ tId = "remove";
+ nodeEventType = "hoverOutNode";
+ }
+ } else if (tools.eqs(e.type, "mousedown")) {
+ tmp = tools.getMDom(setting, target, [{tagName:"a", attrName:"treeNode"+consts.id.A}]);
+ if (tmp) {
+ tId = tools.getNodeMainDom(tmp).id;
+ nodeEventType = "mousedownNode";
+ }
+ }
+ if (tId.length>0) {
+ node = data.getNodeCache(setting, tId);
+ switch (nodeEventType) {
+ case "mousedownNode" :
+ nodeEventCallback = _handler.onMousedownNode;
+ break;
+ case "hoverOverNode" :
+ nodeEventCallback = _handler.onHoverOverNode;
+ break;
+ case "hoverOutNode" :
+ nodeEventCallback = _handler.onHoverOutNode;
+ break;
+ }
+ }
+ var proxyResult = {
+ stop: false,
+ node: node,
+ nodeEventType: nodeEventType,
+ nodeEventCallback: nodeEventCallback,
+ treeEventType: treeEventType,
+ treeEventCallback: treeEventCallback
+ };
+ return proxyResult
+ },
+ //default init node of exedit
+ _initNode = function(setting, level, n, parentNode, isFirstNode, isLastNode, openFlag) {
+ if (!n) return;
+ n.isHover = false;
+ n.editNameFlag = false;
+ },
+ //update zTreeObj, add method of edit
+ _zTreeTools = function(setting, zTreeTools) {
+ zTreeTools.cancelEditName = function(newName) {
+ var root = data.getRoot(this.setting);
+ if (!root.curEditNode) return;
+ view.cancelCurEditNode(this.setting, newName?newName:null, true);
+ }
+ zTreeTools.copyNode = function(targetNode, node, moveType, isSilent) {
+ if (!node) return null;
+ if (targetNode && !targetNode.isParent && this.setting.data.keep.leaf && moveType === consts.move.TYPE_INNER) return null;
+ var _this = this,
+ newNode = tools.clone(node);
+ if (!targetNode) {
+ targetNode = null;
+ moveType = consts.move.TYPE_INNER;
+ }
+ if (moveType == consts.move.TYPE_INNER) {
+ function copyCallback() {
+ view.addNodes(_this.setting, targetNode, [newNode], isSilent);
+ }
+
+ if (tools.canAsync(this.setting, targetNode)) {
+ view.asyncNode(this.setting, targetNode, isSilent, copyCallback);
+ } else {
+ copyCallback();
+ }
+ } else {
+ view.addNodes(this.setting, targetNode.parentNode, [newNode], isSilent);
+ view.moveNode(this.setting, targetNode, newNode, moveType, false, isSilent);
+ }
+ return newNode;
+ }
+ zTreeTools.editName = function(node) {
+ if (!node || !node.tId || node !== data.getNodeCache(this.setting, node.tId)) return;
+ if (node.parentTId) view.expandCollapseParentNode(this.setting, node.getParentNode(), true);
+ view.editNode(this.setting, node)
+ }
+ zTreeTools.moveNode = function(targetNode, node, moveType, isSilent) {
+ if (!node) return node;
+ if (targetNode && !targetNode.isParent && this.setting.data.keep.leaf && moveType === consts.move.TYPE_INNER) {
+ return null;
+ } else if (targetNode && ((node.parentTId == targetNode.tId && moveType == consts.move.TYPE_INNER) || $$(node, this.setting).find("#" + targetNode.tId).length > 0)) {
+ return null;
+ } else if (!targetNode) {
+ targetNode = null;
+ }
+ var _this = this;
+ function moveCallback() {
+ view.moveNode(_this.setting, targetNode, node, moveType, false, isSilent);
+ }
+ if (tools.canAsync(this.setting, targetNode) && moveType === consts.move.TYPE_INNER) {
+ view.asyncNode(this.setting, targetNode, isSilent, moveCallback);
+ } else {
+ moveCallback();
+ }
+ return node;
+ }
+ zTreeTools.setEditable = function(editable) {
+ this.setting.edit.enable = editable;
+ return this.refresh();
+ }
+ },
+ //method of operate data
+ _data = {
+ setSonNodeLevel: function(setting, parentNode, node) {
+ if (!node) return;
+ var childKey = setting.data.key.children;
+ node.level = (parentNode)? parentNode.level + 1 : 0;
+ if (!node[childKey]) return;
+ for (var i = 0, l = node[childKey].length; i < l; i++) {
+ if (node[childKey][i]) data.setSonNodeLevel(setting, node, node[childKey][i]);
+ }
+ }
+ },
+ //method of event proxy
+ _event = {
+
+ },
+ //method of event handler
+ _handler = {
+ onHoverOverNode: function(event, node) {
+ var setting = data.getSetting(event.data.treeId),
+ root = data.getRoot(setting);
+ if (root.curHoverNode != node) {
+ _handler.onHoverOutNode(event);
+ }
+ root.curHoverNode = node;
+ view.addHoverDom(setting, node);
+ },
+ onHoverOutNode: function(event, node) {
+ var setting = data.getSetting(event.data.treeId),
+ root = data.getRoot(setting);
+ if (root.curHoverNode && !data.isSelectedNode(setting, root.curHoverNode)) {
+ view.removeTreeDom(setting, root.curHoverNode);
+ root.curHoverNode = null;
+ }
+ },
+ onMousedownNode: function(eventMouseDown, _node) {
+ var i,l,
+ setting = data.getSetting(eventMouseDown.data.treeId),
+ root = data.getRoot(setting), roots = data.getRoots();
+ //right click can't drag & drop
+ if (eventMouseDown.button == 2 || !setting.edit.enable || (!setting.edit.drag.isCopy && !setting.edit.drag.isMove)) return true;
+
+ //input of edit node name can't drag & drop
+ var target = eventMouseDown.target,
+ _nodes = data.getRoot(setting).curSelectedList,
+ nodes = [];
+ if (!data.isSelectedNode(setting, _node)) {
+ nodes = [_node];
+ } else {
+ for (i=0, l=_nodes.length; i<l; i++) {
+ if (_nodes[i].editNameFlag && tools.eqs(target.tagName, "input") && target.getAttribute("treeNode"+consts.id.INPUT) !== null) {
+ return true;
+ }
+ nodes.push(_nodes[i]);
+ if (nodes[0].parentTId !== _nodes[i].parentTId) {
+ nodes = [_node];
+ break;
+ }
+ }
+ }
+
+ view.editNodeBlur = true;
+ view.cancelCurEditNode(setting);
+
+ var doc = $(setting.treeObj.get(0).ownerDocument),
+ body = $(setting.treeObj.get(0).ownerDocument.body), curNode, tmpArrow, tmpTarget,
+ isOtherTree = false,
+ targetSetting = setting,
+ sourceSetting = setting,
+ preNode, nextNode,
+ preTmpTargetNodeId = null,
+ preTmpMoveType = null,
+ tmpTargetNodeId = null,
+ moveType = consts.move.TYPE_INNER,
+ mouseDownX = eventMouseDown.clientX,
+ mouseDownY = eventMouseDown.clientY,
+ startTime = (new Date()).getTime();
+
+ if (tools.uCanDo(setting)) {
+ doc.bind("mousemove", _docMouseMove);
+ }
+ function _docMouseMove(event) {
+ //avoid start drag after click node
+ if (root.dragFlag == 0 && Math.abs(mouseDownX - event.clientX) < setting.edit.drag.minMoveSize
+ && Math.abs(mouseDownY - event.clientY) < setting.edit.drag.minMoveSize) {
+ return true;
+ }
+ var i, l, tmpNode, tmpDom, tmpNodes,
+ childKey = setting.data.key.children;
+ body.css("cursor", "pointer");
+
+ if (root.dragFlag == 0) {
+ if (tools.apply(setting.callback.beforeDrag, [setting.treeId, nodes], true) == false) {
+ _docMouseUp(event);
+ return true;
+ }
+
+ for (i=0, l=nodes.length; i<l; i++) {
+ if (i==0) {
+ root.dragNodeShowBefore = [];
+ }
+ tmpNode = nodes[i];
+ if (tmpNode.isParent && tmpNode.open) {
+ view.expandCollapseNode(setting, tmpNode, !tmpNode.open);
+ root.dragNodeShowBefore[tmpNode.tId] = true;
+ } else {
+ root.dragNodeShowBefore[tmpNode.tId] = false;
+ }
+ }
+
+ root.dragFlag = 1;
+ roots.showHoverDom = false;
+ tools.showIfameMask(setting, true);
+
+ //sort
+ var isOrder = true, lastIndex = -1;
+ if (nodes.length>1) {
+ var pNodes = nodes[0].parentTId ? nodes[0].getParentNode()[childKey] : data.getNodes(setting);
+ tmpNodes = [];
+ for (i=0, l=pNodes.length; i<l; i++) {
+ if (root.dragNodeShowBefore[pNodes[i].tId] !== undefined) {
+ if (isOrder && lastIndex > -1 && (lastIndex+1) !== i) {
+ isOrder = false;
+ }
+ tmpNodes.push(pNodes[i]);
+ lastIndex = i;
+ }
+ if (nodes.length === tmpNodes.length) {
+ nodes = tmpNodes;
+ break;
+ }
+ }
+ }
+ if (isOrder) {
+ preNode = nodes[0].getPreNode();
+ nextNode = nodes[nodes.length-1].getNextNode();
+ }
+
+ //set node in selected
+ curNode = $$("<ul class='zTreeDragUL'></ul>", setting);
+ for (i=0, l=nodes.length; i<l; i++) {
+ tmpNode = nodes[i];
+ tmpNode.editNameFlag = false;
+ view.selectNode(setting, tmpNode, i>0);
+ view.removeTreeDom(setting, tmpNode);
+
+ if (i > setting.edit.drag.maxShowNodeNum-1) {
+ continue;
+ }
+
+ tmpDom = $$("<li id='"+ tmpNode.tId +"_tmp'></li>", setting);
+ tmpDom.append($$(tmpNode, consts.id.A, setting).clone());
+ tmpDom.css("padding", "0");
+ tmpDom.children("#" + tmpNode.tId + consts.id.A).removeClass(consts.node.CURSELECTED);
+ curNode.append(tmpDom);
+ if (i == setting.edit.drag.maxShowNodeNum-1) {
+ tmpDom = $$("<li id='"+ tmpNode.tId +"_moretmp'><a> ... </a></li>", setting);
+ curNode.append(tmpDom);
+ }
+ }
+ curNode.attr("id", nodes[0].tId + consts.id.UL + "_tmp");
+ curNode.addClass(setting.treeObj.attr("class"));
+ curNode.appendTo(body);
+
+ tmpArrow = $$("<span class='tmpzTreeMove_arrow'></span>", setting);
+ tmpArrow.attr("id", "zTreeMove_arrow_tmp");
+ tmpArrow.appendTo(body);
+
+ setting.treeObj.trigger(consts.event.DRAG, [event, setting.treeId, nodes]);
+ }
+
+ if (root.dragFlag == 1) {
+ if (tmpTarget && tmpArrow.attr("id") == event.target.id && tmpTargetNodeId && (event.clientX + doc.scrollLeft()+2) > ($("#" + tmpTargetNodeId + consts.id.A, tmpTarget).offset().left)) {
+ var xT = $("#" + tmpTargetNodeId + consts.id.A, tmpTarget);
+ event.target = (xT.length > 0) ? xT.get(0) : event.target;
+ } else if (tmpTarget) {
+ tmpTarget.removeClass(consts.node.TMPTARGET_TREE);
+ if (tmpTargetNodeId) $("#" + tmpTargetNodeId + consts.id.A, tmpTarget).removeClass(consts.node.TMPTARGET_NODE + "_" + consts.move.TYPE_PREV)
+ .removeClass(consts.node.TMPTARGET_NODE + "_" + _consts.move.TYPE_NEXT).removeClass(consts.node.TMPTARGET_NODE + "_" + _consts.move.TYPE_INNER);
+ }
+ tmpTarget = null;
+ tmpTargetNodeId = null;
+
+ //judge drag & drop in multi ztree
+ isOtherTree = false;
+ targetSetting = setting;
+ var settings = data.getSettings();
+ for (var s in settings) {
+ if (settings[s].treeId && settings[s].edit.enable && settings[s].treeId != setting.treeId
+ && (event.target.id == settings[s].treeId || $(event.target).parents("#" + settings[s].treeId).length>0)) {
+ isOtherTree = true;
+ targetSetting = settings[s];
+ }
+ }
+
+ var docScrollTop = doc.scrollTop(),
+ docScrollLeft = doc.scrollLeft(),
+ treeOffset = targetSetting.treeObj.offset(),
+ scrollHeight = targetSetting.treeObj.get(0).scrollHeight,
+ scrollWidth = targetSetting.treeObj.get(0).scrollWidth,
+ dTop = (event.clientY + docScrollTop - treeOffset.top),
+ dBottom = (targetSetting.treeObj.height() + treeOffset.top - event.clientY - docScrollTop),
+ dLeft = (event.clientX + docScrollLeft - treeOffset.left),
+ dRight = (targetSetting.treeObj.width() + treeOffset.left - event.clientX - docScrollLeft),
+ isTop = (dTop < setting.edit.drag.borderMax && dTop > setting.edit.drag.borderMin),
+ isBottom = (dBottom < setting.edit.drag.borderMax && dBottom > setting.edit.drag.borderMin),
+ isLeft = (dLeft < setting.edit.drag.borderMax && dLeft > setting.edit.drag.borderMin),
+ isRight = (dRight < setting.edit.drag.borderMax && dRight > setting.edit.drag.borderMin),
+ isTreeInner = dTop > setting.edit.drag.borderMin && dBottom > setting.edit.drag.borderMin && dLeft > setting.edit.drag.borderMin && dRight > setting.edit.drag.borderMin,
+ isTreeTop = (isTop && targetSetting.treeObj.scrollTop() <= 0),
+ isTreeBottom = (isBottom && (targetSetting.treeObj.scrollTop() + targetSetting.treeObj.height()+10) >= scrollHeight),
+ isTreeLeft = (isLeft && targetSetting.treeObj.scrollLeft() <= 0),
+ isTreeRight = (isRight && (targetSetting.treeObj.scrollLeft() + targetSetting.treeObj.width()+10) >= scrollWidth);
+
+ if (event.target && tools.isChildOrSelf(event.target, targetSetting.treeId)) {
+ //get node <li> dom
+ var targetObj = event.target;
+ while (targetObj && targetObj.tagName && !tools.eqs(targetObj.tagName, "li") && targetObj.id != targetSetting.treeId) {
+ targetObj = targetObj.parentNode;
+ }
+
+ var canMove = true;
+ //don't move to self or children of self
+ for (i=0, l=nodes.length; i<l; i++) {
+ tmpNode = nodes[i];
+ if (targetObj.id === tmpNode.tId) {
+ canMove = false;
+ break;
+ } else if ($$(tmpNode, setting).find("#" + targetObj.id).length > 0) {
+ canMove = false;
+ break;
+ }
+ }
+ if (canMove && event.target && tools.isChildOrSelf(event.target, targetObj.id + consts.id.A)) {
+ tmpTarget = $(targetObj);
+ tmpTargetNodeId = targetObj.id;
+ }
+ }
+
+ //the mouse must be in zTree
+ tmpNode = nodes[0];
+ if (isTreeInner && tools.isChildOrSelf(event.target, targetSetting.treeId)) {
+ //judge mouse move in root of ztree
+ if (!tmpTarget && (event.target.id == targetSetting.treeId || isTreeTop || isTreeBottom || isTreeLeft || isTreeRight) && (isOtherTree || (!isOtherTree && tmpNode.parentTId))) {
+ tmpTarget = targetSetting.treeObj;
+ }
+ //auto scroll top
+ if (isTop) {
+ targetSetting.treeObj.scrollTop(targetSetting.treeObj.scrollTop()-10);
+ } else if (isBottom) {
+ targetSetting.treeObj.scrollTop(targetSetting.treeObj.scrollTop()+10);
+ }
+ if (isLeft) {
+ targetSetting.treeObj.scrollLeft(targetSetting.treeObj.scrollLeft()-10);
+ } else if (isRight) {
+ targetSetting.treeObj.scrollLeft(targetSetting.treeObj.scrollLeft()+10);
+ }
+ //auto scroll left
+ if (tmpTarget && tmpTarget != targetSetting.treeObj && tmpTarget.offset().left < targetSetting.treeObj.offset().left) {
+ targetSetting.treeObj.scrollLeft(targetSetting.treeObj.scrollLeft()+ tmpTarget.offset().left - targetSetting.treeObj.offset().left);
+ }
+ }
+
+ curNode.css({
+ "top": (event.clientY + docScrollTop + 3) + "px",
+ "left": (event.clientX + docScrollLeft + 3) + "px"
+ });
+
+ var dX = 0;
+ var dY = 0;
+ if (tmpTarget && tmpTarget.attr("id")!=targetSetting.treeId) {
+ var tmpTargetNode = tmpTargetNodeId == null ? null: data.getNodeCache(targetSetting, tmpTargetNodeId),
+ isCopy = ((event.ctrlKey || event.metaKey) && setting.edit.drag.isMove && setting.edit.drag.isCopy) || (!setting.edit.drag.isMove && setting.edit.drag.isCopy),
+ isPrev = !!(preNode && tmpTargetNodeId === preNode.tId),
+ isNext = !!(nextNode && tmpTargetNodeId === nextNode.tId),
+ isInner = (tmpNode.parentTId && tmpNode.parentTId == tmpTargetNodeId),
+ canPrev = (isCopy || !isNext) && tools.apply(targetSetting.edit.drag.prev, [targetSetting.treeId, nodes, tmpTargetNode], !!targetSetting.edit.drag.prev),
+ canNext = (isCopy || !isPrev) && tools.apply(targetSetting.edit.drag.next, [targetSetting.treeId, nodes, tmpTargetNode], !!targetSetting.edit.drag.next),
+ canInner = (isCopy || !isInner) && !(targetSetting.data.keep.leaf && !tmpTargetNode.isParent) && tools.apply(targetSetting.edit.drag.inner, [targetSetting.treeId, nodes, tmpTargetNode], !!targetSetting.edit.drag.inner);
+ if (!canPrev && !canNext && !canInner) {
+ tmpTarget = null;
+ tmpTargetNodeId = "";
+ moveType = consts.move.TYPE_INNER;
+ tmpArrow.css({
+ "display":"none"
+ });
+ if (window.zTreeMoveTimer) {
+ clearTimeout(window.zTreeMoveTimer);
+ window.zTreeMoveTargetNodeTId = null
+ }
+ } else {
+ var tmpTargetA = $("#" + tmpTargetNodeId + consts.id.A, tmpTarget),
+ tmpNextA = tmpTargetNode.isLastNode ? null : $("#" + tmpTargetNode.getNextNode().tId + consts.id.A, tmpTarget.next()),
+ tmpTop = tmpTargetA.offset().top,
+ tmpLeft = tmpTargetA.offset().left,
+ prevPercent = canPrev ? (canInner ? 0.25 : (canNext ? 0.5 : 1) ) : -1,
+ nextPercent = canNext ? (canInner ? 0.75 : (canPrev ? 0.5 : 0) ) : -1,
+ dY_percent = (event.clientY + docScrollTop - tmpTop)/tmpTargetA.height();
+ if ((prevPercent==1 ||dY_percent<=prevPercent && dY_percent>=-.2) && canPrev) {
+ dX = 1 - tmpArrow.width();
+ dY = tmpTop - tmpArrow.height()/2;
+ moveType = consts.move.TYPE_PREV;
+ } else if ((nextPercent==0 || dY_percent>=nextPercent && dY_percent<=1.2) && canNext) {
+ dX = 1 - tmpArrow.width();
+ dY = (tmpNextA == null || (tmpTargetNode.isParent && tmpTargetNode.open)) ? (tmpTop + tmpTargetA.height() - tmpArrow.height()/2) : (tmpNextA.offset().top - tmpArrow.height()/2);
+ moveType = consts.move.TYPE_NEXT;
+ }else {
+ dX = 5 - tmpArrow.width();
+ dY = tmpTop;
+ moveType = consts.move.TYPE_INNER;
+ }
+ tmpArrow.css({
+ "display":"block",
+ "top": dY + "px",
+ "left": (tmpLeft + dX) + "px"
+ });
+ tmpTargetA.addClass(consts.node.TMPTARGET_NODE + "_" + moveType);
+
+ if (preTmpTargetNodeId != tmpTargetNodeId || preTmpMoveType != moveType) {
+ startTime = (new Date()).getTime();
+ }
+ if (tmpTargetNode && tmpTargetNode.isParent && moveType == consts.move.TYPE_INNER) {
+ var startTimer = true;
+ if (window.zTreeMoveTimer && window.zTreeMoveTargetNodeTId !== tmpTargetNode.tId) {
+ clearTimeout(window.zTreeMoveTimer);
+ window.zTreeMoveTargetNodeTId = null;
+ }else if (window.zTreeMoveTimer && window.zTreeMoveTargetNodeTId === tmpTargetNode.tId) {
+ startTimer = false;
+ }
+ if (startTimer) {
+ window.zTreeMoveTimer = setTimeout(function() {
+ if (moveType != consts.move.TYPE_INNER) return;
+ if (tmpTargetNode && tmpTargetNode.isParent && !tmpTargetNode.open && (new Date()).getTime() - startTime > targetSetting.edit.drag.autoOpenTime
+ && tools.apply(targetSetting.callback.beforeDragOpen, [targetSetting.treeId, tmpTargetNode], true)) {
+ view.switchNode(targetSetting, tmpTargetNode);
+ if (targetSetting.edit.drag.autoExpandTrigger) {
+ targetSetting.treeObj.trigger(consts.event.EXPAND, [targetSetting.treeId, tmpTargetNode]);
+ }
+ }
+ }, targetSetting.edit.drag.autoOpenTime+50);
+ window.zTreeMoveTargetNodeTId = tmpTargetNode.tId;
+ }
+ }
+ }
+ } else {
+ moveType = consts.move.TYPE_INNER;
+ if (tmpTarget && tools.apply(targetSetting.edit.drag.inner, [targetSetting.treeId, nodes, null], !!targetSetting.edit.drag.inner)) {
+ tmpTarget.addClass(consts.node.TMPTARGET_TREE);
+ } else {
+ tmpTarget = null;
+ }
+ tmpArrow.css({
+ "display":"none"
+ });
+ if (window.zTreeMoveTimer) {
+ clearTimeout(window.zTreeMoveTimer);
+ window.zTreeMoveTargetNodeTId = null;
+ }
+ }
+ preTmpTargetNodeId = tmpTargetNodeId;
+ preTmpMoveType = moveType;
+
+ setting.treeObj.trigger(consts.event.DRAGMOVE, [event, setting.treeId, nodes]);
+ }
+ return false;
+ }
+
+ doc.bind("mouseup", _docMouseUp);
+ function _docMouseUp(event) {
+ if (window.zTreeMoveTimer) {
+ clearTimeout(window.zTreeMoveTimer);
+ window.zTreeMoveTargetNodeTId = null;
+ }
+ preTmpTargetNodeId = null;
+ preTmpMoveType = null;
+ doc.unbind("mousemove", _docMouseMove);
+ doc.unbind("mouseup", _docMouseUp);
+ doc.unbind("selectstart", _docSelect);
+ body.css("cursor", "auto");
+ if (tmpTarget) {
+ tmpTarget.removeClass(consts.node.TMPTARGET_TREE);
+ if (tmpTargetNodeId) $("#" + tmpTargetNodeId + consts.id.A, tmpTarget).removeClass(consts.node.TMPTARGET_NODE + "_" + consts.move.TYPE_PREV)
+ .removeClass(consts.node.TMPTARGET_NODE + "_" + _consts.move.TYPE_NEXT).removeClass(consts.node.TMPTARGET_NODE + "_" + _consts.move.TYPE_INNER);
+ }
+ tools.showIfameMask(setting, false);
+
+ roots.showHoverDom = true;
+ if (root.dragFlag == 0) return;
+ root.dragFlag = 0;
+
+ var i, l, tmpNode;
+ for (i=0, l=nodes.length; i<l; i++) {
+ tmpNode = nodes[i];
+ if (tmpNode.isParent && root.dragNodeShowBefore[tmpNode.tId] && !tmpNode.open) {
+ view.expandCollapseNode(setting, tmpNode, !tmpNode.open);
+ delete root.dragNodeShowBefore[tmpNode.tId];
+ }
+ }
+
+ if (curNode) curNode.remove();
+ if (tmpArrow) tmpArrow.remove();
+
+ var isCopy = ((event.ctrlKey || event.metaKey) && setting.edit.drag.isMove && setting.edit.drag.isCopy) || (!setting.edit.drag.isMove && setting.edit.drag.isCopy);
+ if (!isCopy && tmpTarget && tmpTargetNodeId && nodes[0].parentTId && tmpTargetNodeId==nodes[0].parentTId && moveType == consts.move.TYPE_INNER) {
+ tmpTarget = null;
+ }
+ if (tmpTarget) {
+ var dragTargetNode = tmpTargetNodeId == null ? null: data.getNodeCache(targetSetting, tmpTargetNodeId);
+ if (tools.apply(setting.callback.beforeDrop, [targetSetting.treeId, nodes, dragTargetNode, moveType, isCopy], true) == false) {
+ view.selectNodes(sourceSetting, nodes);
+ return;
+ }
+ var newNodes = isCopy ? tools.clone(nodes) : nodes;
+
+ function dropCallback() {
+ if (isOtherTree) {
+ if (!isCopy) {
+ for(var i=0, l=nodes.length; i<l; i++) {
+ view.removeNode(setting, nodes[i]);
+ }
+ }
+ if (moveType == consts.move.TYPE_INNER) {
+ view.addNodes(targetSetting, dragTargetNode, newNodes);
+ } else {
+ view.addNodes(targetSetting, dragTargetNode.getParentNode(), newNodes);
+ if (moveType == consts.move.TYPE_PREV) {
+ for (i=0, l=newNodes.length; i<l; i++) {
+ view.moveNode(targetSetting, dragTargetNode, newNodes[i], moveType, false);
+ }
+ } else {
+ for (i=-1, l=newNodes.length-1; i<l; l--) {
+ view.moveNode(targetSetting, dragTargetNode, newNodes[l], moveType, false);
+ }
+ }
+ }
+ } else {
+ if (isCopy && moveType == consts.move.TYPE_INNER) {
+ view.addNodes(targetSetting, dragTargetNode, newNodes);
+ } else {
+ if (isCopy) {
+ view.addNodes(targetSetting, dragTargetNode.getParentNode(), newNodes);
+ }
+ if (moveType != consts.move.TYPE_NEXT) {
+ for (i=0, l=newNodes.length; i<l; i++) {
+ view.moveNode(targetSetting, dragTargetNode, newNodes[i], moveType, false);
+ }
+ } else {
+ for (i=-1, l=newNodes.length-1; i<l; l--) {
+ view.moveNode(targetSetting, dragTargetNode, newNodes[l], moveType, false);
+ }
+ }
+ }
+ }
+ view.selectNodes(targetSetting, newNodes);
+ $$(newNodes[0], setting).focus().blur();
+
+ setting.treeObj.trigger(consts.event.DROP, [event, targetSetting.treeId, newNodes, dragTargetNode, moveType, isCopy]);
+ }
+
+ if (moveType == consts.move.TYPE_INNER && tools.canAsync(targetSetting, dragTargetNode)) {
+ view.asyncNode(targetSetting, dragTargetNode, false, dropCallback);
+ } else {
+ dropCallback();
+ }
+
+ } else {
+ view.selectNodes(sourceSetting, nodes);
+ setting.treeObj.trigger(consts.event.DROP, [event, setting.treeId, nodes, null, null, null]);
+ }
+ }
+
+ doc.bind("selectstart", _docSelect);
+ function _docSelect() {
+ return false;
+ }
+
+ //Avoid FireFox's Bug
+ //If zTree Div CSS set 'overflow', so drag node outside of zTree, and event.target is error.
+ if(eventMouseDown.preventDefault) {
+ eventMouseDown.preventDefault();
+ }
+ return true;
+ }
+ },
+ //method of tools for zTree
+ _tools = {
+ getAbs: function (obj) {
+ var oRect = obj.getBoundingClientRect(),
+ scrollTop = document.body.scrollTop+document.documentElement.scrollTop,
+ scrollLeft = document.body.scrollLeft+document.documentElement.scrollLeft;
+ return [oRect.left+scrollLeft,oRect.top+scrollTop];
+ },
+ inputFocus: function(inputObj) {
+ if (inputObj.get(0)) {
+ inputObj.focus();
+ tools.setCursorPosition(inputObj.get(0), inputObj.val().length);
+ }
+ },
+ inputSelect: function(inputObj) {
+ if (inputObj.get(0)) {
+ inputObj.focus();
+ inputObj.select();
+ }
+ },
+ setCursorPosition: function(obj, pos){
+ if(obj.setSelectionRange) {
+ obj.focus();
+ obj.setSelectionRange(pos,pos);
+ } else if (obj.createTextRange) {
+ var range = obj.createTextRange();
+ range.collapse(true);
+ range.moveEnd('character', pos);
+ range.moveStart('character', pos);
+ range.select();
+ }
+ },
+ showIfameMask: function(setting, showSign) {
+ var root = data.getRoot(setting);
+ //clear full mask
+ while (root.dragMaskList.length > 0) {
+ root.dragMaskList[0].remove();
+ root.dragMaskList.shift();
+ }
+ if (showSign) {
+ //show mask
+ var iframeList = $$("iframe", setting);
+ for (var i = 0, l = iframeList.length; i < l; i++) {
+ var obj = iframeList.get(i),
+ r = tools.getAbs(obj),
+ dragMask = $$("<div id='zTreeMask_" + i + "' class='zTreeMask' style='top:" + r[1] + "px; left:" + r[0] + "px; width:" + obj.offsetWidth + "px; height:" + obj.offsetHeight + "px;'></div>", setting);
+ dragMask.appendTo($$("body", setting));
+ root.dragMaskList.push(dragMask);
+ }
+ }
+ }
+ },
+ //method of operate ztree dom
+ _view = {
+ addEditBtn: function(setting, node) {
+ if (node.editNameFlag || $$(node, consts.id.EDIT, setting).length > 0) {
+ return;
+ }
+ if (!tools.apply(setting.edit.showRenameBtn, [setting.treeId, node], setting.edit.showRenameBtn)) {
+ return;
+ }
+ var aObj = $$(node, consts.id.A, setting),
+ editStr = "<span class='" + consts.className.BUTTON + " edit' id='" + node.tId + consts.id.EDIT + "' title='"+tools.apply(setting.edit.renameTitle, [setting.treeId, node], setting.edit.renameTitle)+"' treeNode"+consts.id.EDIT+" style='display:none;'></span>";
+ aObj.append(editStr);
+
+ $$(node, consts.id.EDIT, setting).bind('click',
+ function() {
+ if (!tools.uCanDo(setting) || tools.apply(setting.callback.beforeEditName, [setting.treeId, node], true) == false) return false;
+ view.editNode(setting, node);
+ return false;
+ }
+ ).show();
+ },
+ addRemoveBtn: function(setting, node) {
+ if (node.editNameFlag || $$(node, consts.id.REMOVE, setting).length > 0) {
+ return;
+ }
+ if (!tools.apply(setting.edit.showRemoveBtn, [setting.treeId, node], setting.edit.showRemoveBtn)) {
+ return;
+ }
+ var aObj = $$(node, consts.id.A, setting),
+ removeStr = "<span class='" + consts.className.BUTTON + " remove' id='" + node.tId + consts.id.REMOVE + "' title='"+tools.apply(setting.edit.removeTitle, [setting.treeId, node], setting.edit.removeTitle)+"' treeNode"+consts.id.REMOVE+" style='display:none;'></span>";
+ aObj.append(removeStr);
+
+ $$(node, consts.id.REMOVE, setting).bind('click',
+ function() {
+ if (!tools.uCanDo(setting) || tools.apply(setting.callback.beforeRemove, [setting.treeId, node], true) == false) return false;
+ view.removeNode(setting, node);
+ setting.treeObj.trigger(consts.event.REMOVE, [setting.treeId, node]);
+ return false;
+ }
+ ).bind('mousedown',
+ function(eventMouseDown) {
+ return true;
+ }
+ ).show();
+ },
+ addHoverDom: function(setting, node) {
+ if (data.getRoots().showHoverDom) {
+ node.isHover = true;
+ if (setting.edit.enable) {
+ view.addEditBtn(setting, node);
+ view.addRemoveBtn(setting, node);
+ }
+ tools.apply(setting.view.addHoverDom, [setting.treeId, node]);
+ }
+ },
+ cancelCurEditNode: function (setting, forceName, isCancel) {
+ var root = data.getRoot(setting),
+ nameKey = setting.data.key.name,
+ node = root.curEditNode;
+
+ if (node) {
+ var inputObj = root.curEditInput,
+ newName = forceName ? forceName:(isCancel ? node[nameKey]: inputObj.val());
+ if (tools.apply(setting.callback.beforeRename, [setting.treeId, node, newName, isCancel], true) === false) {
+ return false;
+ } else {
+ node[nameKey] = newName;
+ setting.treeObj.trigger(consts.event.RENAME, [setting.treeId, node, isCancel]);
+ }
+ var aObj = $$(node, consts.id.A, setting);
+ aObj.removeClass(consts.node.CURSELECTED_EDIT);
+ inputObj.unbind();
+ view.setNodeName(setting, node);
+ node.editNameFlag = false;
+ root.curEditNode = null;
+ root.curEditInput = null;
+ view.selectNode(setting, node, false);
+ }
+ root.noSelection = true;
+ return true;
+ },
+ editNode: function(setting, node) {
+ var root = data.getRoot(setting);
+ view.editNodeBlur = false;
+ if (data.isSelectedNode(setting, node) && root.curEditNode == node && node.editNameFlag) {
+ setTimeout(function() {tools.inputFocus(root.curEditInput);}, 0);
+ return;
+ }
+ var nameKey = setting.data.key.name;
+ node.editNameFlag = true;
+ view.removeTreeDom(setting, node);
+ view.cancelCurEditNode(setting);
+ view.selectNode(setting, node, false);
+ $$(node, consts.id.SPAN, setting).html("<input type=text class='rename' id='" + node.tId + consts.id.INPUT + "' treeNode" + consts.id.INPUT + " >");
+ var inputObj = $$(node, consts.id.INPUT, setting);
+ inputObj.attr("value", node[nameKey]);
+ if (setting.edit.editNameSelectAll) {
+ tools.inputSelect(inputObj);
+ } else {
+ tools.inputFocus(inputObj);
+ }
+
+ inputObj.bind('blur', function(event) {
+ if (!view.editNodeBlur) {
+ view.cancelCurEditNode(setting);
+ }
+ }).bind('keydown', function(event) {
+ if (event.keyCode=="13") {
+ view.editNodeBlur = true;
+ view.cancelCurEditNode(setting);
+ } else if (event.keyCode=="27") {
+ view.cancelCurEditNode(setting, null, true);
+ }
+ }).bind('click', function(event) {
+ return false;
+ }).bind('dblclick', function(event) {
+ return false;
+ });
+
+ $$(node, consts.id.A, setting).addClass(consts.node.CURSELECTED_EDIT);
+ root.curEditInput = inputObj;
+ root.noSelection = false;
+ root.curEditNode = node;
+ },
+ moveNode: function(setting, targetNode, node, moveType, animateFlag, isSilent) {
+ var root = data.getRoot(setting),
+ childKey = setting.data.key.children;
+ if (targetNode == node) return;
+ if (setting.data.keep.leaf && targetNode && !targetNode.isParent && moveType == consts.move.TYPE_INNER) return;
+ var oldParentNode = (node.parentTId ? node.getParentNode(): root),
+ targetNodeIsRoot = (targetNode === null || targetNode == root);
+ if (targetNodeIsRoot && targetNode === null) targetNode = root;
+ if (targetNodeIsRoot) moveType = consts.move.TYPE_INNER;
+ var targetParentNode = (targetNode.parentTId ? targetNode.getParentNode() : root);
+
+ if (moveType != consts.move.TYPE_PREV && moveType != consts.move.TYPE_NEXT) {
+ moveType = consts.move.TYPE_INNER;
+ }
+
+ if (moveType == consts.move.TYPE_INNER) {
+ if (targetNodeIsRoot) {
+ //parentTId of root node is null
+ node.parentTId = null;
+ } else {
+ if (!targetNode.isParent) {
+ targetNode.isParent = true;
+ targetNode.open = !!targetNode.open;
+ view.setNodeLineIcos(setting, targetNode);
+ }
+ node.parentTId = targetNode.tId;
+ }
+ }
+
+ //move node Dom
+ var targetObj, target_ulObj;
+ if (targetNodeIsRoot) {
+ targetObj = setting.treeObj;
+ target_ulObj = targetObj;
+ } else {
+ if (!isSilent && moveType == consts.move.TYPE_INNER) {
+ view.expandCollapseNode(setting, targetNode, true, false);
+ } else if (!isSilent) {
+ view.expandCollapseNode(setting, targetNode.getParentNode(), true, false);
+ }
+ targetObj = $$(targetNode, setting);
+ target_ulObj = $$(targetNode, consts.id.UL, setting);
+ if (!!targetObj.get(0) && !target_ulObj.get(0)) {
+ var ulstr = [];
+ view.makeUlHtml(setting, targetNode, ulstr, '');
+ targetObj.append(ulstr.join(''));
+ }
+ target_ulObj = $$(targetNode, consts.id.UL, setting);
+ }
+ var nodeDom = $$(node, setting);
+ if (!nodeDom.get(0)) {
+ nodeDom = view.appendNodes(setting, node.level, [node], null, false, true).join('');
+ } else if (!targetObj.get(0)) {
+ nodeDom.remove();
+ }
+ if (target_ulObj.get(0) && moveType == consts.move.TYPE_INNER) {
+ target_ulObj.append(nodeDom);
+ } else if (targetObj.get(0) && moveType == consts.move.TYPE_PREV) {
+ targetObj.before(nodeDom);
+ } else if (targetObj.get(0) && moveType == consts.move.TYPE_NEXT) {
+ targetObj.after(nodeDom);
+ }
+
+ //repair the data after move
+ var i,l,
+ tmpSrcIndex = -1,
+ tmpTargetIndex = 0,
+ oldNeighbor = null,
+ newNeighbor = null,
+ oldLevel = node.level;
+ if (node.isFirstNode) {
+ tmpSrcIndex = 0;
+ if (oldParentNode[childKey].length > 1 ) {
+ oldNeighbor = oldParentNode[childKey][1];
+ oldNeighbor.isFirstNode = true;
+ }
+ } else if (node.isLastNode) {
+ tmpSrcIndex = oldParentNode[childKey].length -1;
+ oldNeighbor = oldParentNode[childKey][tmpSrcIndex - 1];
+ oldNeighbor.isLastNode = true;
+ } else {
+ for (i = 0, l = oldParentNode[childKey].length; i < l; i++) {
+ if (oldParentNode[childKey][i].tId == node.tId) {
+ tmpSrcIndex = i;
+ break;
+ }
+ }
+ }
+ if (tmpSrcIndex >= 0) {
+ oldParentNode[childKey].splice(tmpSrcIndex, 1);
+ }
+ if (moveType != consts.move.TYPE_INNER) {
+ for (i = 0, l = targetParentNode[childKey].length; i < l; i++) {
+ if (targetParentNode[childKey][i].tId == targetNode.tId) tmpTargetIndex = i;
+ }
+ }
+ if (moveType == consts.move.TYPE_INNER) {
+ if (!targetNode[childKey]) targetNode[childKey] = new Array();
+ if (targetNode[childKey].length > 0) {
+ newNeighbor = targetNode[childKey][targetNode[childKey].length - 1];
+ newNeighbor.isLastNode = false;
+ }
+ targetNode[childKey].splice(targetNode[childKey].length, 0, node);
+ node.isLastNode = true;
+ node.isFirstNode = (targetNode[childKey].length == 1);
+ } else if (targetNode.isFirstNode && moveType == consts.move.TYPE_PREV) {
+ targetParentNode[childKey].splice(tmpTargetIndex, 0, node);
+ newNeighbor = targetNode;
+ newNeighbor.isFirstNode = false;
+ node.parentTId = targetNode.parentTId;
+ node.isFirstNode = true;
+ node.isLastNode = false;
+
+ } else if (targetNode.isLastNode && moveType == consts.move.TYPE_NEXT) {
+ targetParentNode[childKey].splice(tmpTargetIndex + 1, 0, node);
+ newNeighbor = targetNode;
+ newNeighbor.isLastNode = false;
+ node.parentTId = targetNode.parentTId;
+ node.isFirstNode = false;
+ node.isLastNode = true;
+
+ } else {
+ if (moveType == consts.move.TYPE_PREV) {
+ targetParentNode[childKey].splice(tmpTargetIndex, 0, node);
+ } else {
+ targetParentNode[childKey].splice(tmpTargetIndex + 1, 0, node);
+ }
+ node.parentTId = targetNode.parentTId;
+ node.isFirstNode = false;
+ node.isLastNode = false;
+ }
+ data.fixPIdKeyValue(setting, node);
+ data.setSonNodeLevel(setting, node.getParentNode(), node);
+
+ //repair node what been moved
+ view.setNodeLineIcos(setting, node);
+ view.repairNodeLevelClass(setting, node, oldLevel)
+
+ //repair node's old parentNode dom
+ if (!setting.data.keep.parent && oldParentNode[childKey].length < 1) {
+ //old parentNode has no child nodes
+ oldParentNode.isParent = false;
+ oldParentNode.open = false;
+ var tmp_ulObj = $$(oldParentNode, consts.id.UL, setting),
+ tmp_switchObj = $$(oldParentNode, consts.id.SWITCH, setting),
+ tmp_icoObj = $$(oldParentNode, consts.id.ICON, setting);
+ view.replaceSwitchClass(oldParentNode, tmp_switchObj, consts.folder.DOCU);
+ view.replaceIcoClass(oldParentNode, tmp_icoObj, consts.folder.DOCU);
+ tmp_ulObj.css("display", "none");
+
+ } else if (oldNeighbor) {
+ //old neigbor node
+ view.setNodeLineIcos(setting, oldNeighbor);
+ }
+
+ //new neigbor node
+ if (newNeighbor) {
+ view.setNodeLineIcos(setting, newNeighbor);
+ }
+
+ //repair checkbox / radio
+ if (!!setting.check && setting.check.enable && view.repairChkClass) {
+ view.repairChkClass(setting, oldParentNode);
+ view.repairParentChkClassWithSelf(setting, oldParentNode);
+ if (oldParentNode != node.parent)
+ view.repairParentChkClassWithSelf(setting, node);
+ }
+
+ //expand parents after move
+ if (!isSilent) {
+ view.expandCollapseParentNode(setting, node.getParentNode(), true, animateFlag);
+ }
+ },
+ removeEditBtn: function(setting, node) {
+ $$(node, consts.id.EDIT, setting).unbind().remove();
+ },
+ removeRemoveBtn: function(setting, node) {
+ $$(node, consts.id.REMOVE, setting).unbind().remove();
+ },
+ removeTreeDom: function(setting, node) {
+ node.isHover = false;
+ view.removeEditBtn(setting, node);
+ view.removeRemoveBtn(setting, node);
+ tools.apply(setting.view.removeHoverDom, [setting.treeId, node]);
+ },
+ repairNodeLevelClass: function(setting, node, oldLevel) {
+ if (oldLevel === node.level) return;
+ var liObj = $$(node, setting),
+ aObj = $$(node, consts.id.A, setting),
+ ulObj = $$(node, consts.id.UL, setting),
+ oldClass = consts.className.LEVEL + oldLevel,
+ newClass = consts.className.LEVEL + node.level;
+ liObj.removeClass(oldClass);
+ liObj.addClass(newClass);
+ aObj.removeClass(oldClass);
+ aObj.addClass(newClass);
+ ulObj.removeClass(oldClass);
+ ulObj.addClass(newClass);
+ },
+ selectNodes : function(setting, nodes) {
+ for (var i=0, l=nodes.length; i<l; i++) {
+ view.selectNode(setting, nodes[i], i>0);
+ }
+ }
+ },
+
+ _z = {
+ tools: _tools,
+ view: _view,
+ event: _event,
+ data: _data
+ };
+ $.extend(true, $.fn.zTree.consts, _consts);
+ $.extend(true, $.fn.zTree._z, _z);
+
+ var zt = $.fn.zTree,
+ tools = zt._z.tools,
+ consts = zt.consts,
+ view = zt._z.view,
+ data = zt._z.data,
+ event = zt._z.event,
+ $$ = tools.$;
+
+ data.exSetting(_setting);
+ data.addInitBind(_bindEvent);
+ data.addInitUnBind(_unbindEvent);
+ data.addInitCache(_initCache);
+ data.addInitNode(_initNode);
+ data.addInitProxy(_eventProxy);
+ data.addInitRoot(_initRoot);
+ data.addZTreeTools(_zTreeTools);
+
+ var _cancelPreSelectedNode = view.cancelPreSelectedNode;
+ view.cancelPreSelectedNode = function (setting, node) {
+ var list = data.getRoot(setting).curSelectedList;
+ for (var i=0, j=list.length; i<j; i++) {
+ if (!node || node === list[i]) {
+ view.removeTreeDom(setting, list[i]);
+ if (node) break;
+ }
+ }
+ if (_cancelPreSelectedNode) _cancelPreSelectedNode.apply(view, arguments);
+ }
+
+ var _createNodes = view.createNodes;
+ view.createNodes = function(setting, level, nodes, parentNode) {
+ if (_createNodes) {
+ _createNodes.apply(view, arguments);
+ }
+ if (!nodes) return;
+ if (view.repairParentChkClassWithSelf) {
+ view.repairParentChkClassWithSelf(setting, parentNode);
+ }
+ }
+
+ var _makeNodeUrl = view.makeNodeUrl;
+ view.makeNodeUrl = function(setting, node) {
+ return setting.edit.enable ? null : (_makeNodeUrl.apply(view, arguments));
+ }
+
+ var _removeNode = view.removeNode;
+ view.removeNode = function(setting, node) {
+ var root = data.getRoot(setting);
+ if (root.curEditNode === node) root.curEditNode = null;
+ if (_removeNode) {
+ _removeNode.apply(view, arguments);
+ }
+ }
+
+ var _selectNode = view.selectNode;
+ view.selectNode = function(setting, node, addFlag) {
+ var root = data.getRoot(setting);
+ if (data.isSelectedNode(setting, node) && root.curEditNode == node && node.editNameFlag) {
+ return false;
+ }
+ if (_selectNode) _selectNode.apply(view, arguments);
+ view.addHoverDom(setting, node);
+ return true;
+ }
+
+ var _uCanDo = tools.uCanDo;
+ tools.uCanDo = function(setting, e) {
+ var root = data.getRoot(setting);
+ if (e && (tools.eqs(e.type, "mouseover") || tools.eqs(e.type, "mouseout") || tools.eqs(e.type, "mousedown") || tools.eqs(e.type, "mouseup"))) {
+ return true;
+ }
+ if (root.curEditNode) {
+ view.editNodeBlur = false;
+ root.curEditInput.focus();
+ }
+ return (!root.curEditNode) && (_uCanDo ? _uCanDo.apply(view, arguments) : true);
+ }
})(jQuery);
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/js/jquery.ztree.exedit.min.js b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/js/jquery.ztree.exedit.min.js index 2e748326..f49fc501 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/js/jquery.ztree.exedit.min.js +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/js/jquery.ztree.exedit.min.js @@ -1,53 +1,53 @@ -/* - * JQuery zTree exedit v3.5.16 - * http://zTree.me/ - * - * Copyright (c) 2010 Hunter.z - * - * Licensed same as jquery - MIT License - * http://www.opensource.org/licenses/mit-license.php - * - * email: hunter.z@263.net - * Date: 2014-03-09 - */ -(function(w){var I={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(C.dragFlag==0&&Math.abs(N-b.clientX)<e.edit.drag.minMoveSize&&Math.abs(O-b.clientY)<e.edit.drag.minMoveSize)return!0;var a,c,n,k,i;i=e.data.key.children;M.css("cursor","pointer");if(C.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)C.dragNodeShowBefore= -[];n=l[a];n.isParent&&n.open?(f.expandCollapseNode(e,n,!n.open),C.dragNodeShowBefore[n.tId]=!0):C.dragNodeShowBefore[n.tId]=!1}C.dragFlag=1;t.showHoverDom=!1;g.showIfameMask(e,!0);n=!0;k=-1;if(l.length>1){var j=l[0].parentTId?l[0].getParentNode()[i]:m.getNodes(e);i=[];for(a=0,c=j.length;a<c;a++)if(C.dragNodeShowBefore[j[a].tId]!==void 0&&(n&&k>-1&&k+1!==a&&(n=!1),i.push(j[a]),k=a),l.length===i.length){l=i;break}}n&&(H=l[0].getPreNode(),R=l[l.length-1].getNextNode());D=o("<ul class='zTreeDragUL'></ul>", -e);for(a=0,c=l.length;a<c;a++)n=l[a],n.editNameFlag=!1,f.selectNode(e,n,a>0),f.removeTreeDom(e,n),a>e.edit.drag.maxShowNodeNum-1||(k=o("<li id='"+n.tId+"_tmp'></li>",e),k.append(o(n,d.id.A,e).clone()),k.css("padding","0"),k.children("#"+n.tId+d.id.A).removeClass(d.node.CURSELECTED),D.append(k),a==e.edit.drag.maxShowNodeNum-1&&(k=o("<li id='"+n.tId+"_moretmp'><a> ... </a></li>",e),D.append(k)));D.attr("id",l[0].tId+d.id.UL+"_tmp");D.addClass(e.treeObj.attr("class"));D.appendTo(M);B=o("<span class='tmpzTreeMove_arrow'></span>", -e);B.attr("id","zTreeMove_arrow_tmp");B.appendTo(M);e.treeObj.trigger(d.event.DRAG,[b,e.treeId,l])}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?(n=w("#"+u+d.id.A,s),b.target=n.length>0?n.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=e;n=m.getSettings();for(var y in n)if(n[y].treeId&&n[y].edit.enable&&n[y].treeId!=e.treeId&&(b.target.id==n[y].treeId||w(b.target).parents("#"+n[y].treeId).length>0))J=!0,h=n[y];y=F.scrollTop();k=F.scrollLeft();i=h.treeObj.offset();a=h.treeObj.get(0).scrollHeight;n=h.treeObj.get(0).scrollWidth;c=b.clientY+y-i.top;var p=h.treeObj.height()+i.top-b.clientY-y,q=b.clientX+k-i.left,x=h.treeObj.width()+i.left-b.clientX-k;i=c<e.edit.drag.borderMax&&c>e.edit.drag.borderMin;var j=p<e.edit.drag.borderMax&& -p>e.edit.drag.borderMin,K=q<e.edit.drag.borderMax&&q>e.edit.drag.borderMin,G=x<e.edit.drag.borderMax&&x>e.edit.drag.borderMin,p=c>e.edit.drag.borderMin&&p>e.edit.drag.borderMin&&q>e.edit.drag.borderMin&&x>e.edit.drag.borderMin,q=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>=n;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=l.length;a<c;a++)if(n=l[a],E.id===n.tId){S=!1;break}else if(o(n,e).find("#"+E.id).length>0){S=!1;break}if(S&&b.target&&g.isChildOrSelf(b.target,E.id+d.id.A))s=w(E),u=E.id}n=l[0];if(p&&g.isChildOrSelf(b.target,h.treeId)){if(!s&&(b.target.id==h.treeId||q||x||P||Q)&&(J||!J&&n.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<h.treeObj.offset().left&&h.treeObj.scrollLeft(h.treeObj.scrollLeft()+s.offset().left-h.treeObj.offset().left)}D.css({top:b.clientY+y+3+"px",left:b.clientX+k+3+"px"});i=a=0;if(s&&s.attr("id")!=h.treeId){var z=u==null?null:m.getNodeCache(h,u);c=(b.ctrlKey||b.metaKey)&&e.edit.drag.isMove&&e.edit.drag.isCopy||!e.edit.drag.isMove&&e.edit.drag.isCopy;a=!!(H&&u===H.tId);i=!!(R&&u===R.tId);k=n.parentTId&&n.parentTId==u;n=(c||!i)&&g.apply(h.edit.drag.prev,[h.treeId,l,z], -!!h.edit.drag.prev);a=(c||!a)&&g.apply(h.edit.drag.next,[h.treeId,l,z],!!h.edit.drag.next);G=(c||!k)&&!(h.data.keep.leaf&&!z.isParent)&&g.apply(h.edit.drag.inner,[h.treeId,l,z],!!h.edit.drag.inner);if(!n&&!a&&!G){if(s=null,u="",v=d.move.TYPE_INNER,B.css({display:"none"}),window.zTreeMoveTimer)clearTimeout(window.zTreeMoveTimer),window.zTreeMoveTargetNodeTId=null}else{c=w("#"+u+d.id.A,s);i=z.isLastNode?null:w("#"+z.getNextNode().tId+d.id.A,s.next());j=c.offset().top;k=c.offset().left;K=n?G?0.25:a? -0.5:1:-1;G=a?G?0.75:n?0.5:0:-1;y=(b.clientY+y-j)/c.height();(K==1||y<=K&&y>=-0.2)&&n?(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)&&(f.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,l,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;e.treeObj.trigger(d.event.DRAGMOVE,[b,e.treeId,l])}return!1}function r(b){if(window.zTreeMoveTimer)clearTimeout(window.zTreeMoveTimer),window.zTreeMoveTargetNodeTId=null;U=T=null;F.unbind("mousemove",c); -F.unbind("mouseup",r);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(e,!1);t.showHoverDom=!0;if(C.dragFlag!=0){C.dragFlag=0;var a,i,j;for(a=0,i=l.length;a<i;a++)j=l[a],j.isParent&&C.dragNodeShowBefore[j.tId]&&!j.open&&(f.expandCollapseNode(e,j,!j.open), -delete C.dragNodeShowBefore[j.tId]);D&&D.remove();B&&B.remove();var p=(b.ctrlKey||b.metaKey)&&e.edit.drag.isMove&&e.edit.drag.isCopy||!e.edit.drag.isMove&&e.edit.drag.isCopy;!p&&s&&u&&l[0].parentTId&&u==l[0].parentTId&&v==d.move.TYPE_INNER&&(s=null);if(s){var q=u==null?null:m.getNodeCache(h,u);if(g.apply(e.callback.beforeDrop,[h.treeId,l,q,v,p],!0)==!1)f.selectNodes(x,l);else{var A=p?g.clone(l):l;a=function(){if(J){if(!p)for(var a=0,c=l.length;a<c;a++)f.removeNode(e,l[a]);if(v==d.move.TYPE_INNER)f.addNodes(h, -q,A);else if(f.addNodes(h,q.getParentNode(),A),v==d.move.TYPE_PREV)for(a=0,c=A.length;a<c;a++)f.moveNode(h,q,A[a],v,!1);else for(a=-1,c=A.length-1;a<c;c--)f.moveNode(h,q,A[c],v,!1)}else if(p&&v==d.move.TYPE_INNER)f.addNodes(h,q,A);else if(p&&f.addNodes(h,q.getParentNode(),A),v!=d.move.TYPE_NEXT)for(a=0,c=A.length;a<c;a++)f.moveNode(h,q,A[a],v,!1);else for(a=-1,c=A.length-1;a<c;c--)f.moveNode(h,q,A[c],v,!1);f.selectNodes(h,A);o(A[0],e).focus().blur();e.treeObj.trigger(d.event.DROP,[b,h.treeId,A,q, -v,p])};v==d.move.TYPE_INNER&&g.canAsync(h,q)?f.asyncNode(h,q,!1,a):a()}}else f.selectNodes(x,l),e.treeObj.trigger(d.event.DROP,[b,e.treeId,l,null,null,null])}}function k(){return!1}var i,j,e=m.getSetting(b.data.treeId),C=m.getRoot(e),t=m.getRoots();if(b.button==2||!e.edit.enable||!e.edit.drag.isCopy&&!e.edit.drag.isMove)return!0;var p=b.target,q=m.getRoot(e).curSelectedList,l=[];if(m.isSelectedNode(e,a))for(i=0,j=q.length;i<j;i++){if(q[i].editNameFlag&&g.eqs(p.tagName,"input")&&p.getAttribute("treeNode"+ -d.id.INPUT)!==null)return!0;l.push(q[i]);if(l[0].parentTId!==q[i].parentTId){l=[a];break}}else l=[a];f.editNodeBlur=!0;f.cancelCurEditNode(e);var F=w(e.treeObj.get(0).ownerDocument),M=w(e.treeObj.get(0).ownerDocument.body),D,B,s,J=!1,h=e,x=e,H,R,T=null,U=null,u=null,v=d.move.TYPE_INNER,N=b.clientX,O=b.clientY,L=(new Date).getTime();g.uCanDo(e)&&F.bind("mousemove",c);F.bind("mouseup",r);F.bind("selectstart",k);b.preventDefault&&b.preventDefault();return!0}};w.extend(!0,w.fn.zTree.consts,I);w.extend(!0, -w.fn.zTree._z,{tools:{getAbs:function(b){b=b.getBoundingClientRect();return[b.left+(document.body.scrollLeft+document.documentElement.scrollLeft),b.top+(document.body.scrollTop+document.documentElement.scrollTop)]},inputFocus:function(b){b.get(0)&&(b.focus(),g.setCursorPosition(b.get(0),b.val().length))},inputSelect:function(b){b.get(0)&&(b.focus(),b.select())},setCursorPosition:function(b,a){if(b.setSelectionRange)b.focus(),b.setSelectionRange(a,a);else if(b.createTextRange){var c=b.createTextRange(); -c.collapse(!0);c.moveEnd("character",a);c.moveStart("character",a);c.select()}},showIfameMask:function(b,a){for(var c=m.getRoot(b);c.dragMaskList.length>0;)c.dragMaskList[0].remove(),c.dragMaskList.shift();if(a)for(var d=o("iframe",b),f=0,i=d.length;f<i;f++){var j=d.get(f),e=g.getAbs(j),j=o("<div id='zTreeMask_"+f+"' class='zTreeMask' style='top:"+e[1]+"px; left:"+e[0]+"px; width:"+j.offsetWidth+"px; height:"+j.offsetHeight+"px;'></div>",b);j.appendTo(o("body",b));c.dragMaskList.push(j)}}},view:{addEditBtn:function(b, -a){if(!(a.editNameFlag||o(a,d.id.EDIT,b).length>0)&&g.apply(b.edit.showRenameBtn,[b.treeId,a],b.edit.showRenameBtn)){var c=o(a,d.id.A,b),r="<span class='"+d.className.BUTTON+" edit' id='"+a.tId+d.id.EDIT+"' title='"+g.apply(b.edit.renameTitle,[b.treeId,a],b.edit.renameTitle)+"' treeNode"+d.id.EDIT+" style='display:none;'></span>";c.append(r);o(a,d.id.EDIT,b).bind("click",function(){if(!g.uCanDo(b)||g.apply(b.callback.beforeEditName,[b.treeId,a],!0)==!1)return!1;f.editNode(b,a);return!1}).show()}}, -addRemoveBtn:function(b,a){if(!(a.editNameFlag||o(a,d.id.REMOVE,b).length>0)&&g.apply(b.edit.showRemoveBtn,[b.treeId,a],b.edit.showRemoveBtn)){var c=o(a,d.id.A,b),r="<span class='"+d.className.BUTTON+" remove' id='"+a.tId+d.id.REMOVE+"' title='"+g.apply(b.edit.removeTitle,[b.treeId,a],b.edit.removeTitle)+"' treeNode"+d.id.REMOVE+" style='display:none;'></span>";c.append(r);o(a,d.id.REMOVE,b).bind("click",function(){if(!g.uCanDo(b)||g.apply(b.callback.beforeRemove,[b.treeId,a],!0)==!1)return!1;f.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(m.getRoots().showHoverDom)a.isHover=!0,b.edit.enable&&(f.addEditBtn(b,a),f.addRemoveBtn(b,a)),g.apply(b.view.addHoverDom,[b.treeId,a])},cancelCurEditNode:function(b,a,c){var r=m.getRoot(b),k=b.data.key.name,i=r.curEditNode;if(i){var j=r.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]);o(i,d.id.A,b).removeClass(d.node.CURSELECTED_EDIT);j.unbind();f.setNodeName(b,i);i.editNameFlag=!1;r.curEditNode=null;r.curEditInput=null;f.selectNode(b,i,!1)}return r.noSelection=!0},editNode:function(b,a){var c=m.getRoot(b);f.editNodeBlur=!1;if(m.isSelectedNode(b,a)&&c.curEditNode==a&&a.editNameFlag)setTimeout(function(){g.inputFocus(c.curEditInput)},0);else{var r=b.data.key.name;a.editNameFlag=!0;f.removeTreeDom(b,a);f.cancelCurEditNode(b);f.selectNode(b,a,!1);o(a,d.id.SPAN,b).html("<input type=text class='rename' id='"+ -a.tId+d.id.INPUT+"' treeNode"+d.id.INPUT+" >");var k=o(a,d.id.INPUT,b);k.attr("value",a[r]);b.edit.editNameSelectAll?g.inputSelect(k):g.inputFocus(k);k.bind("blur",function(){f.editNodeBlur||f.cancelCurEditNode(b)}).bind("keydown",function(a){a.keyCode=="13"?(f.editNodeBlur=!0,f.cancelCurEditNode(b)):a.keyCode=="27"&&f.cancelCurEditNode(b,null,!0)}).bind("click",function(){return!1}).bind("dblclick",function(){return!1});o(a,d.id.A,b).addClass(d.node.CURSELECTED_EDIT);c.curEditInput=k;c.noSelection= -!1;c.curEditNode=a}},moveNode:function(b,a,c,r,k,i){var j=m.getRoot(b),e=b.data.key.children;if(a!=c&&(!b.data.keep.leaf||!a||a.isParent||r!=d.move.TYPE_INNER)){var g=c.parentTId?c.getParentNode():j,t=a===null||a==j;t&&a===null&&(a=j);if(t)r=d.move.TYPE_INNER;j=a.parentTId?a.getParentNode():j;if(r!=d.move.TYPE_PREV&&r!=d.move.TYPE_NEXT)r=d.move.TYPE_INNER;if(r==d.move.TYPE_INNER)if(t)c.parentTId=null;else{if(!a.isParent)a.isParent=!0,a.open=!!a.open,f.setNodeLineIcos(b,a);c.parentTId=a.tId}var p; -t?p=t=b.treeObj:(!i&&r==d.move.TYPE_INNER?f.expandCollapseNode(b,a,!0,!1):i||f.expandCollapseNode(b,a.getParentNode(),!0,!1),t=o(a,b),p=o(a,d.id.UL,b),t.get(0)&&!p.get(0)&&(p=[],f.makeUlHtml(b,a,p,""),t.append(p.join(""))),p=o(a,d.id.UL,b));var q=o(c,b);q.get(0)?t.get(0)||q.remove():q=f.appendNodes(b,c.level,[c],null,!1,!0).join("");p.get(0)&&r==d.move.TYPE_INNER?p.append(q):t.get(0)&&r==d.move.TYPE_PREV?t.before(q):t.get(0)&&r==d.move.TYPE_NEXT&&t.after(q);var l=-1,w=0,x=null,t=null,D=c.level;if(c.isFirstNode){if(l= -0,g[e].length>1)x=g[e][1],x.isFirstNode=!0}else if(c.isLastNode)l=g[e].length-1,x=g[e][l-1],x.isLastNode=!0;else for(p=0,q=g[e].length;p<q;p++)if(g[e][p].tId==c.tId){l=p;break}l>=0&&g[e].splice(l,1);if(r!=d.move.TYPE_INNER)for(p=0,q=j[e].length;p<q;p++)j[e][p].tId==a.tId&&(w=p);if(r==d.move.TYPE_INNER){a[e]||(a[e]=[]);if(a[e].length>0)t=a[e][a[e].length-1],t.isLastNode=!1;a[e].splice(a[e].length,0,c);c.isLastNode=!0;c.isFirstNode=a[e].length==1}else a.isFirstNode&&r==d.move.TYPE_PREV?(j[e].splice(w, -0,c),t=a,t.isFirstNode=!1,c.parentTId=a.parentTId,c.isFirstNode=!0,c.isLastNode=!1):a.isLastNode&&r==d.move.TYPE_NEXT?(j[e].splice(w+1,0,c),t=a,t.isLastNode=!1,c.parentTId=a.parentTId,c.isFirstNode=!1,c.isLastNode=!0):(r==d.move.TYPE_PREV?j[e].splice(w,0,c):j[e].splice(w+1,0,c),c.parentTId=a.parentTId,c.isFirstNode=!1,c.isLastNode=!1);m.fixPIdKeyValue(b,c);m.setSonNodeLevel(b,c.getParentNode(),c);f.setNodeLineIcos(b,c);f.repairNodeLevelClass(b,c,D);!b.data.keep.parent&&g[e].length<1?(g.isParent=!1, -g.open=!1,a=o(g,d.id.UL,b),r=o(g,d.id.SWITCH,b),e=o(g,d.id.ICON,b),f.replaceSwitchClass(g,r,d.folder.DOCU),f.replaceIcoClass(g,e,d.folder.DOCU),a.css("display","none")):x&&f.setNodeLineIcos(b,x);t&&f.setNodeLineIcos(b,t);b.check&&b.check.enable&&f.repairChkClass&&(f.repairChkClass(b,g),f.repairParentChkClassWithSelf(b,g),g!=c.parent&&f.repairParentChkClassWithSelf(b,c));i||f.expandCollapseParentNode(b,c.getParentNode(),!0,k)}},removeEditBtn:function(b,a){o(a,d.id.EDIT,b).unbind().remove()},removeRemoveBtn:function(b, -a){o(a,d.id.REMOVE,b).unbind().remove()},removeTreeDom:function(b,a){a.isHover=!1;f.removeEditBtn(b,a);f.removeRemoveBtn(b,a);g.apply(b.view.removeHoverDom,[b.treeId,a])},repairNodeLevelClass:function(b,a,c){if(c!==a.level){var f=o(a,b),g=o(a,d.id.A,b),b=o(a,d.id.UL,b),c=d.className.LEVEL+c,a=d.className.LEVEL+a.level;f.removeClass(c);f.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;c<d;c++)f.selectNode(b,a[c],c>0)}},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,f=c[d].length;a<f;a++)c[d][a]&&m.setSonNodeLevel(b,c,c[d][a])}}}});var H=w.fn.zTree,g=H._z.tools,d=H.consts,f=H._z.view,m=H._z.data,o=g.$;m.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,onDragMove:null,onDrop:null,onRename:null}});m.addInitBind(function(b){var a=b.treeObj,c=d.event;a.bind(c.RENAME,function(a,c,d,f){g.apply(b.callback.onRename,[a,c,d,f])});a.bind(c.DRAG,function(a,c,d,f){g.apply(b.callback.onDrag,[c,d,f])});a.bind(c.DRAGMOVE,function(a,c,d,f){g.apply(b.callback.onDragMove,[c,d,f])});a.bind(c.DROP, -function(a,c,d,f,e,m,o){g.apply(b.callback.onDrop,[c,d,f,e,m,o])})});m.addInitUnBind(function(b){var b=b.treeObj,a=d.event;b.unbind(a.RENAME);b.unbind(a.DRAG);b.unbind(a.DRAGMOVE);b.unbind(a.DROP)});m.addInitCache(function(){});m.addInitNode(function(b,a,c){if(c)c.isHover=!1,c.editNameFlag=!1});m.addInitProxy(function(b){var a=b.target,c=m.getSetting(b.data.treeId),f=b.relatedTarget,k="",i=null,j="",e=null,o=null;if(g.eqs(b.type,"mouseover")){if(o=g.getMDom(c,a,[{tagName:"a",attrName:"treeNode"+d.id.A}]))k= -g.getNodeMainDom(o).id,j="hoverOverNode"}else if(g.eqs(b.type,"mouseout"))o=g.getMDom(c,f,[{tagName:"a",attrName:"treeNode"+d.id.A}]),o||(k="remove",j="hoverOutNode");else if(g.eqs(b.type,"mousedown")&&(o=g.getMDom(c,a,[{tagName:"a",attrName:"treeNode"+d.id.A}])))k=g.getNodeMainDom(o).id,j="mousedownNode";if(k.length>0)switch(i=m.getNodeCache(c,k),j){case "mousedownNode":e=x.onMousedownNode;break;case "hoverOverNode":e=x.onHoverOverNode;break;case "hoverOutNode":e=x.onHoverOutNode}return{stop:!1, -node:i,nodeEventType:j,nodeEventCallback:e,treeEventType:"",treeEventCallback:null}});m.addInitRoot(function(b){var b=m.getRoot(b),a=m.getRoots();b.curEditNode=null;b.curEditInput=null;b.curHoverNode=null;b.dragFlag=0;b.dragNodeShowBefore=[];b.dragMaskList=[];a.showHoverDom=!0});m.addZTreeTools(function(b,a){a.cancelEditName=function(a){m.getRoot(this.setting).curEditNode&&f.cancelCurEditNode(this.setting,a?a:null,!0)};a.copyNode=function(a,b,k,i){if(!b)return null;if(a&&!a.isParent&&this.setting.data.keep.leaf&& -k===d.move.TYPE_INNER)return null;var j=this,e=g.clone(b);if(!a)a=null,k=d.move.TYPE_INNER;k==d.move.TYPE_INNER?(b=function(){f.addNodes(j.setting,a,[e],i)},g.canAsync(this.setting,a)?f.asyncNode(this.setting,a,i,b):b()):(f.addNodes(this.setting,a.parentNode,[e],i),f.moveNode(this.setting,a,e,k,!1,i));return e};a.editName=function(a){a&&a.tId&&a===m.getNodeCache(this.setting,a.tId)&&(a.parentTId&&f.expandCollapseParentNode(this.setting,a.getParentNode(),!0),f.editNode(this.setting,a))};a.moveNode= -function(a,b,k,i){function j(){f.moveNode(e.setting,a,b,k,!1,i)}if(!b)return b;if(a&&!a.isParent&&this.setting.data.keep.leaf&&k===d.move.TYPE_INNER)return null;else if(a&&(b.parentTId==a.tId&&k==d.move.TYPE_INNER||o(b,this.setting).find("#"+a.tId).length>0))return null;else a||(a=null);var e=this;g.canAsync(this.setting,a)&&k===d.move.TYPE_INNER?f.asyncNode(this.setting,a,i,j):j();return b};a.setEditable=function(a){this.setting.edit.enable=a;return this.refresh()}});var N=f.cancelPreSelectedNode; -f.cancelPreSelectedNode=function(b,a){for(var c=m.getRoot(b).curSelectedList,d=0,g=c.length;d<g;d++)if(!a||a===c[d])if(f.removeTreeDom(b,c[d]),a)break;N&&N.apply(f,arguments)};var O=f.createNodes;f.createNodes=function(b,a,c,d){O&&O.apply(f,arguments);c&&f.repairParentChkClassWithSelf&&f.repairParentChkClassWithSelf(b,d)};var V=f.makeNodeUrl;f.makeNodeUrl=function(b,a){return b.edit.enable?null:V.apply(f,arguments)};var L=f.removeNode;f.removeNode=function(b,a){var c=m.getRoot(b);if(c.curEditNode=== -a)c.curEditNode=null;L&&L.apply(f,arguments)};var P=f.selectNode;f.selectNode=function(b,a,c){var d=m.getRoot(b);if(m.isSelectedNode(b,a)&&d.curEditNode==a&&a.editNameFlag)return!1;P&&P.apply(f,arguments);f.addHoverDom(b,a);return!0};var Q=g.uCanDo;g.uCanDo=function(b,a){var c=m.getRoot(b);if(a&&(g.eqs(a.type,"mouseover")||g.eqs(a.type,"mouseout")||g.eqs(a.type,"mousedown")||g.eqs(a.type,"mouseup")))return!0;if(c.curEditNode)f.editNodeBlur=!1,c.curEditInput.focus();return!c.curEditNode&&(Q?Q.apply(f, -arguments):!0)}})(jQuery); +/*
+ * JQuery zTree exedit v3.5.16
+ * http://zTree.me/
+ *
+ * Copyright (c) 2010 Hunter.z
+ *
+ * Licensed same as jquery - MIT License
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ * email: hunter.z@263.net
+ * Date: 2014-03-09
+ */
+(function(w){var I={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(C.dragFlag==0&&Math.abs(N-b.clientX)<e.edit.drag.minMoveSize&&Math.abs(O-b.clientY)<e.edit.drag.minMoveSize)return!0;var a,c,n,k,i;i=e.data.key.children;M.css("cursor","pointer");if(C.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)C.dragNodeShowBefore=
+[];n=l[a];n.isParent&&n.open?(f.expandCollapseNode(e,n,!n.open),C.dragNodeShowBefore[n.tId]=!0):C.dragNodeShowBefore[n.tId]=!1}C.dragFlag=1;t.showHoverDom=!1;g.showIfameMask(e,!0);n=!0;k=-1;if(l.length>1){var j=l[0].parentTId?l[0].getParentNode()[i]:m.getNodes(e);i=[];for(a=0,c=j.length;a<c;a++)if(C.dragNodeShowBefore[j[a].tId]!==void 0&&(n&&k>-1&&k+1!==a&&(n=!1),i.push(j[a]),k=a),l.length===i.length){l=i;break}}n&&(H=l[0].getPreNode(),R=l[l.length-1].getNextNode());D=o("<ul class='zTreeDragUL'></ul>",
+e);for(a=0,c=l.length;a<c;a++)n=l[a],n.editNameFlag=!1,f.selectNode(e,n,a>0),f.removeTreeDom(e,n),a>e.edit.drag.maxShowNodeNum-1||(k=o("<li id='"+n.tId+"_tmp'></li>",e),k.append(o(n,d.id.A,e).clone()),k.css("padding","0"),k.children("#"+n.tId+d.id.A).removeClass(d.node.CURSELECTED),D.append(k),a==e.edit.drag.maxShowNodeNum-1&&(k=o("<li id='"+n.tId+"_moretmp'><a> ... </a></li>",e),D.append(k)));D.attr("id",l[0].tId+d.id.UL+"_tmp");D.addClass(e.treeObj.attr("class"));D.appendTo(M);B=o("<span class='tmpzTreeMove_arrow'></span>",
+e);B.attr("id","zTreeMove_arrow_tmp");B.appendTo(M);e.treeObj.trigger(d.event.DRAG,[b,e.treeId,l])}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?(n=w("#"+u+d.id.A,s),b.target=n.length>0?n.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=e;n=m.getSettings();for(var y in n)if(n[y].treeId&&n[y].edit.enable&&n[y].treeId!=e.treeId&&(b.target.id==n[y].treeId||w(b.target).parents("#"+n[y].treeId).length>0))J=!0,h=n[y];y=F.scrollTop();k=F.scrollLeft();i=h.treeObj.offset();a=h.treeObj.get(0).scrollHeight;n=h.treeObj.get(0).scrollWidth;c=b.clientY+y-i.top;var p=h.treeObj.height()+i.top-b.clientY-y,q=b.clientX+k-i.left,x=h.treeObj.width()+i.left-b.clientX-k;i=c<e.edit.drag.borderMax&&c>e.edit.drag.borderMin;var j=p<e.edit.drag.borderMax&&
+p>e.edit.drag.borderMin,K=q<e.edit.drag.borderMax&&q>e.edit.drag.borderMin,G=x<e.edit.drag.borderMax&&x>e.edit.drag.borderMin,p=c>e.edit.drag.borderMin&&p>e.edit.drag.borderMin&&q>e.edit.drag.borderMin&&x>e.edit.drag.borderMin,q=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>=n;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=l.length;a<c;a++)if(n=l[a],E.id===n.tId){S=!1;break}else if(o(n,e).find("#"+E.id).length>0){S=!1;break}if(S&&b.target&&g.isChildOrSelf(b.target,E.id+d.id.A))s=w(E),u=E.id}n=l[0];if(p&&g.isChildOrSelf(b.target,h.treeId)){if(!s&&(b.target.id==h.treeId||q||x||P||Q)&&(J||!J&&n.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<h.treeObj.offset().left&&h.treeObj.scrollLeft(h.treeObj.scrollLeft()+s.offset().left-h.treeObj.offset().left)}D.css({top:b.clientY+y+3+"px",left:b.clientX+k+3+"px"});i=a=0;if(s&&s.attr("id")!=h.treeId){var z=u==null?null:m.getNodeCache(h,u);c=(b.ctrlKey||b.metaKey)&&e.edit.drag.isMove&&e.edit.drag.isCopy||!e.edit.drag.isMove&&e.edit.drag.isCopy;a=!!(H&&u===H.tId);i=!!(R&&u===R.tId);k=n.parentTId&&n.parentTId==u;n=(c||!i)&&g.apply(h.edit.drag.prev,[h.treeId,l,z],
+!!h.edit.drag.prev);a=(c||!a)&&g.apply(h.edit.drag.next,[h.treeId,l,z],!!h.edit.drag.next);G=(c||!k)&&!(h.data.keep.leaf&&!z.isParent)&&g.apply(h.edit.drag.inner,[h.treeId,l,z],!!h.edit.drag.inner);if(!n&&!a&&!G){if(s=null,u="",v=d.move.TYPE_INNER,B.css({display:"none"}),window.zTreeMoveTimer)clearTimeout(window.zTreeMoveTimer),window.zTreeMoveTargetNodeTId=null}else{c=w("#"+u+d.id.A,s);i=z.isLastNode?null:w("#"+z.getNextNode().tId+d.id.A,s.next());j=c.offset().top;k=c.offset().left;K=n?G?0.25:a?
+0.5:1:-1;G=a?G?0.75:n?0.5:0:-1;y=(b.clientY+y-j)/c.height();(K==1||y<=K&&y>=-0.2)&&n?(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)&&(f.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,l,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;e.treeObj.trigger(d.event.DRAGMOVE,[b,e.treeId,l])}return!1}function r(b){if(window.zTreeMoveTimer)clearTimeout(window.zTreeMoveTimer),window.zTreeMoveTargetNodeTId=null;U=T=null;F.unbind("mousemove",c);
+F.unbind("mouseup",r);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(e,!1);t.showHoverDom=!0;if(C.dragFlag!=0){C.dragFlag=0;var a,i,j;for(a=0,i=l.length;a<i;a++)j=l[a],j.isParent&&C.dragNodeShowBefore[j.tId]&&!j.open&&(f.expandCollapseNode(e,j,!j.open),
+delete C.dragNodeShowBefore[j.tId]);D&&D.remove();B&&B.remove();var p=(b.ctrlKey||b.metaKey)&&e.edit.drag.isMove&&e.edit.drag.isCopy||!e.edit.drag.isMove&&e.edit.drag.isCopy;!p&&s&&u&&l[0].parentTId&&u==l[0].parentTId&&v==d.move.TYPE_INNER&&(s=null);if(s){var q=u==null?null:m.getNodeCache(h,u);if(g.apply(e.callback.beforeDrop,[h.treeId,l,q,v,p],!0)==!1)f.selectNodes(x,l);else{var A=p?g.clone(l):l;a=function(){if(J){if(!p)for(var a=0,c=l.length;a<c;a++)f.removeNode(e,l[a]);if(v==d.move.TYPE_INNER)f.addNodes(h,
+q,A);else if(f.addNodes(h,q.getParentNode(),A),v==d.move.TYPE_PREV)for(a=0,c=A.length;a<c;a++)f.moveNode(h,q,A[a],v,!1);else for(a=-1,c=A.length-1;a<c;c--)f.moveNode(h,q,A[c],v,!1)}else if(p&&v==d.move.TYPE_INNER)f.addNodes(h,q,A);else if(p&&f.addNodes(h,q.getParentNode(),A),v!=d.move.TYPE_NEXT)for(a=0,c=A.length;a<c;a++)f.moveNode(h,q,A[a],v,!1);else for(a=-1,c=A.length-1;a<c;c--)f.moveNode(h,q,A[c],v,!1);f.selectNodes(h,A);o(A[0],e).focus().blur();e.treeObj.trigger(d.event.DROP,[b,h.treeId,A,q,
+v,p])};v==d.move.TYPE_INNER&&g.canAsync(h,q)?f.asyncNode(h,q,!1,a):a()}}else f.selectNodes(x,l),e.treeObj.trigger(d.event.DROP,[b,e.treeId,l,null,null,null])}}function k(){return!1}var i,j,e=m.getSetting(b.data.treeId),C=m.getRoot(e),t=m.getRoots();if(b.button==2||!e.edit.enable||!e.edit.drag.isCopy&&!e.edit.drag.isMove)return!0;var p=b.target,q=m.getRoot(e).curSelectedList,l=[];if(m.isSelectedNode(e,a))for(i=0,j=q.length;i<j;i++){if(q[i].editNameFlag&&g.eqs(p.tagName,"input")&&p.getAttribute("treeNode"+
+d.id.INPUT)!==null)return!0;l.push(q[i]);if(l[0].parentTId!==q[i].parentTId){l=[a];break}}else l=[a];f.editNodeBlur=!0;f.cancelCurEditNode(e);var F=w(e.treeObj.get(0).ownerDocument),M=w(e.treeObj.get(0).ownerDocument.body),D,B,s,J=!1,h=e,x=e,H,R,T=null,U=null,u=null,v=d.move.TYPE_INNER,N=b.clientX,O=b.clientY,L=(new Date).getTime();g.uCanDo(e)&&F.bind("mousemove",c);F.bind("mouseup",r);F.bind("selectstart",k);b.preventDefault&&b.preventDefault();return!0}};w.extend(!0,w.fn.zTree.consts,I);w.extend(!0,
+w.fn.zTree._z,{tools:{getAbs:function(b){b=b.getBoundingClientRect();return[b.left+(document.body.scrollLeft+document.documentElement.scrollLeft),b.top+(document.body.scrollTop+document.documentElement.scrollTop)]},inputFocus:function(b){b.get(0)&&(b.focus(),g.setCursorPosition(b.get(0),b.val().length))},inputSelect:function(b){b.get(0)&&(b.focus(),b.select())},setCursorPosition:function(b,a){if(b.setSelectionRange)b.focus(),b.setSelectionRange(a,a);else if(b.createTextRange){var c=b.createTextRange();
+c.collapse(!0);c.moveEnd("character",a);c.moveStart("character",a);c.select()}},showIfameMask:function(b,a){for(var c=m.getRoot(b);c.dragMaskList.length>0;)c.dragMaskList[0].remove(),c.dragMaskList.shift();if(a)for(var d=o("iframe",b),f=0,i=d.length;f<i;f++){var j=d.get(f),e=g.getAbs(j),j=o("<div id='zTreeMask_"+f+"' class='zTreeMask' style='top:"+e[1]+"px; left:"+e[0]+"px; width:"+j.offsetWidth+"px; height:"+j.offsetHeight+"px;'></div>",b);j.appendTo(o("body",b));c.dragMaskList.push(j)}}},view:{addEditBtn:function(b,
+a){if(!(a.editNameFlag||o(a,d.id.EDIT,b).length>0)&&g.apply(b.edit.showRenameBtn,[b.treeId,a],b.edit.showRenameBtn)){var c=o(a,d.id.A,b),r="<span class='"+d.className.BUTTON+" edit' id='"+a.tId+d.id.EDIT+"' title='"+g.apply(b.edit.renameTitle,[b.treeId,a],b.edit.renameTitle)+"' treeNode"+d.id.EDIT+" style='display:none;'></span>";c.append(r);o(a,d.id.EDIT,b).bind("click",function(){if(!g.uCanDo(b)||g.apply(b.callback.beforeEditName,[b.treeId,a],!0)==!1)return!1;f.editNode(b,a);return!1}).show()}},
+addRemoveBtn:function(b,a){if(!(a.editNameFlag||o(a,d.id.REMOVE,b).length>0)&&g.apply(b.edit.showRemoveBtn,[b.treeId,a],b.edit.showRemoveBtn)){var c=o(a,d.id.A,b),r="<span class='"+d.className.BUTTON+" remove' id='"+a.tId+d.id.REMOVE+"' title='"+g.apply(b.edit.removeTitle,[b.treeId,a],b.edit.removeTitle)+"' treeNode"+d.id.REMOVE+" style='display:none;'></span>";c.append(r);o(a,d.id.REMOVE,b).bind("click",function(){if(!g.uCanDo(b)||g.apply(b.callback.beforeRemove,[b.treeId,a],!0)==!1)return!1;f.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(m.getRoots().showHoverDom)a.isHover=!0,b.edit.enable&&(f.addEditBtn(b,a),f.addRemoveBtn(b,a)),g.apply(b.view.addHoverDom,[b.treeId,a])},cancelCurEditNode:function(b,a,c){var r=m.getRoot(b),k=b.data.key.name,i=r.curEditNode;if(i){var j=r.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]);o(i,d.id.A,b).removeClass(d.node.CURSELECTED_EDIT);j.unbind();f.setNodeName(b,i);i.editNameFlag=!1;r.curEditNode=null;r.curEditInput=null;f.selectNode(b,i,!1)}return r.noSelection=!0},editNode:function(b,a){var c=m.getRoot(b);f.editNodeBlur=!1;if(m.isSelectedNode(b,a)&&c.curEditNode==a&&a.editNameFlag)setTimeout(function(){g.inputFocus(c.curEditInput)},0);else{var r=b.data.key.name;a.editNameFlag=!0;f.removeTreeDom(b,a);f.cancelCurEditNode(b);f.selectNode(b,a,!1);o(a,d.id.SPAN,b).html("<input type=text class='rename' id='"+
+a.tId+d.id.INPUT+"' treeNode"+d.id.INPUT+" >");var k=o(a,d.id.INPUT,b);k.attr("value",a[r]);b.edit.editNameSelectAll?g.inputSelect(k):g.inputFocus(k);k.bind("blur",function(){f.editNodeBlur||f.cancelCurEditNode(b)}).bind("keydown",function(a){a.keyCode=="13"?(f.editNodeBlur=!0,f.cancelCurEditNode(b)):a.keyCode=="27"&&f.cancelCurEditNode(b,null,!0)}).bind("click",function(){return!1}).bind("dblclick",function(){return!1});o(a,d.id.A,b).addClass(d.node.CURSELECTED_EDIT);c.curEditInput=k;c.noSelection=
+!1;c.curEditNode=a}},moveNode:function(b,a,c,r,k,i){var j=m.getRoot(b),e=b.data.key.children;if(a!=c&&(!b.data.keep.leaf||!a||a.isParent||r!=d.move.TYPE_INNER)){var g=c.parentTId?c.getParentNode():j,t=a===null||a==j;t&&a===null&&(a=j);if(t)r=d.move.TYPE_INNER;j=a.parentTId?a.getParentNode():j;if(r!=d.move.TYPE_PREV&&r!=d.move.TYPE_NEXT)r=d.move.TYPE_INNER;if(r==d.move.TYPE_INNER)if(t)c.parentTId=null;else{if(!a.isParent)a.isParent=!0,a.open=!!a.open,f.setNodeLineIcos(b,a);c.parentTId=a.tId}var p;
+t?p=t=b.treeObj:(!i&&r==d.move.TYPE_INNER?f.expandCollapseNode(b,a,!0,!1):i||f.expandCollapseNode(b,a.getParentNode(),!0,!1),t=o(a,b),p=o(a,d.id.UL,b),t.get(0)&&!p.get(0)&&(p=[],f.makeUlHtml(b,a,p,""),t.append(p.join(""))),p=o(a,d.id.UL,b));var q=o(c,b);q.get(0)?t.get(0)||q.remove():q=f.appendNodes(b,c.level,[c],null,!1,!0).join("");p.get(0)&&r==d.move.TYPE_INNER?p.append(q):t.get(0)&&r==d.move.TYPE_PREV?t.before(q):t.get(0)&&r==d.move.TYPE_NEXT&&t.after(q);var l=-1,w=0,x=null,t=null,D=c.level;if(c.isFirstNode){if(l=
+0,g[e].length>1)x=g[e][1],x.isFirstNode=!0}else if(c.isLastNode)l=g[e].length-1,x=g[e][l-1],x.isLastNode=!0;else for(p=0,q=g[e].length;p<q;p++)if(g[e][p].tId==c.tId){l=p;break}l>=0&&g[e].splice(l,1);if(r!=d.move.TYPE_INNER)for(p=0,q=j[e].length;p<q;p++)j[e][p].tId==a.tId&&(w=p);if(r==d.move.TYPE_INNER){a[e]||(a[e]=[]);if(a[e].length>0)t=a[e][a[e].length-1],t.isLastNode=!1;a[e].splice(a[e].length,0,c);c.isLastNode=!0;c.isFirstNode=a[e].length==1}else a.isFirstNode&&r==d.move.TYPE_PREV?(j[e].splice(w,
+0,c),t=a,t.isFirstNode=!1,c.parentTId=a.parentTId,c.isFirstNode=!0,c.isLastNode=!1):a.isLastNode&&r==d.move.TYPE_NEXT?(j[e].splice(w+1,0,c),t=a,t.isLastNode=!1,c.parentTId=a.parentTId,c.isFirstNode=!1,c.isLastNode=!0):(r==d.move.TYPE_PREV?j[e].splice(w,0,c):j[e].splice(w+1,0,c),c.parentTId=a.parentTId,c.isFirstNode=!1,c.isLastNode=!1);m.fixPIdKeyValue(b,c);m.setSonNodeLevel(b,c.getParentNode(),c);f.setNodeLineIcos(b,c);f.repairNodeLevelClass(b,c,D);!b.data.keep.parent&&g[e].length<1?(g.isParent=!1,
+g.open=!1,a=o(g,d.id.UL,b),r=o(g,d.id.SWITCH,b),e=o(g,d.id.ICON,b),f.replaceSwitchClass(g,r,d.folder.DOCU),f.replaceIcoClass(g,e,d.folder.DOCU),a.css("display","none")):x&&f.setNodeLineIcos(b,x);t&&f.setNodeLineIcos(b,t);b.check&&b.check.enable&&f.repairChkClass&&(f.repairChkClass(b,g),f.repairParentChkClassWithSelf(b,g),g!=c.parent&&f.repairParentChkClassWithSelf(b,c));i||f.expandCollapseParentNode(b,c.getParentNode(),!0,k)}},removeEditBtn:function(b,a){o(a,d.id.EDIT,b).unbind().remove()},removeRemoveBtn:function(b,
+a){o(a,d.id.REMOVE,b).unbind().remove()},removeTreeDom:function(b,a){a.isHover=!1;f.removeEditBtn(b,a);f.removeRemoveBtn(b,a);g.apply(b.view.removeHoverDom,[b.treeId,a])},repairNodeLevelClass:function(b,a,c){if(c!==a.level){var f=o(a,b),g=o(a,d.id.A,b),b=o(a,d.id.UL,b),c=d.className.LEVEL+c,a=d.className.LEVEL+a.level;f.removeClass(c);f.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;c<d;c++)f.selectNode(b,a[c],c>0)}},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,f=c[d].length;a<f;a++)c[d][a]&&m.setSonNodeLevel(b,c,c[d][a])}}}});var H=w.fn.zTree,g=H._z.tools,d=H.consts,f=H._z.view,m=H._z.data,o=g.$;m.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,onDragMove:null,onDrop:null,onRename:null}});m.addInitBind(function(b){var a=b.treeObj,c=d.event;a.bind(c.RENAME,function(a,c,d,f){g.apply(b.callback.onRename,[a,c,d,f])});a.bind(c.DRAG,function(a,c,d,f){g.apply(b.callback.onDrag,[c,d,f])});a.bind(c.DRAGMOVE,function(a,c,d,f){g.apply(b.callback.onDragMove,[c,d,f])});a.bind(c.DROP,
+function(a,c,d,f,e,m,o){g.apply(b.callback.onDrop,[c,d,f,e,m,o])})});m.addInitUnBind(function(b){var b=b.treeObj,a=d.event;b.unbind(a.RENAME);b.unbind(a.DRAG);b.unbind(a.DRAGMOVE);b.unbind(a.DROP)});m.addInitCache(function(){});m.addInitNode(function(b,a,c){if(c)c.isHover=!1,c.editNameFlag=!1});m.addInitProxy(function(b){var a=b.target,c=m.getSetting(b.data.treeId),f=b.relatedTarget,k="",i=null,j="",e=null,o=null;if(g.eqs(b.type,"mouseover")){if(o=g.getMDom(c,a,[{tagName:"a",attrName:"treeNode"+d.id.A}]))k=
+g.getNodeMainDom(o).id,j="hoverOverNode"}else if(g.eqs(b.type,"mouseout"))o=g.getMDom(c,f,[{tagName:"a",attrName:"treeNode"+d.id.A}]),o||(k="remove",j="hoverOutNode");else if(g.eqs(b.type,"mousedown")&&(o=g.getMDom(c,a,[{tagName:"a",attrName:"treeNode"+d.id.A}])))k=g.getNodeMainDom(o).id,j="mousedownNode";if(k.length>0)switch(i=m.getNodeCache(c,k),j){case "mousedownNode":e=x.onMousedownNode;break;case "hoverOverNode":e=x.onHoverOverNode;break;case "hoverOutNode":e=x.onHoverOutNode}return{stop:!1,
+node:i,nodeEventType:j,nodeEventCallback:e,treeEventType:"",treeEventCallback:null}});m.addInitRoot(function(b){var b=m.getRoot(b),a=m.getRoots();b.curEditNode=null;b.curEditInput=null;b.curHoverNode=null;b.dragFlag=0;b.dragNodeShowBefore=[];b.dragMaskList=[];a.showHoverDom=!0});m.addZTreeTools(function(b,a){a.cancelEditName=function(a){m.getRoot(this.setting).curEditNode&&f.cancelCurEditNode(this.setting,a?a:null,!0)};a.copyNode=function(a,b,k,i){if(!b)return null;if(a&&!a.isParent&&this.setting.data.keep.leaf&&
+k===d.move.TYPE_INNER)return null;var j=this,e=g.clone(b);if(!a)a=null,k=d.move.TYPE_INNER;k==d.move.TYPE_INNER?(b=function(){f.addNodes(j.setting,a,[e],i)},g.canAsync(this.setting,a)?f.asyncNode(this.setting,a,i,b):b()):(f.addNodes(this.setting,a.parentNode,[e],i),f.moveNode(this.setting,a,e,k,!1,i));return e};a.editName=function(a){a&&a.tId&&a===m.getNodeCache(this.setting,a.tId)&&(a.parentTId&&f.expandCollapseParentNode(this.setting,a.getParentNode(),!0),f.editNode(this.setting,a))};a.moveNode=
+function(a,b,k,i){function j(){f.moveNode(e.setting,a,b,k,!1,i)}if(!b)return b;if(a&&!a.isParent&&this.setting.data.keep.leaf&&k===d.move.TYPE_INNER)return null;else if(a&&(b.parentTId==a.tId&&k==d.move.TYPE_INNER||o(b,this.setting).find("#"+a.tId).length>0))return null;else a||(a=null);var e=this;g.canAsync(this.setting,a)&&k===d.move.TYPE_INNER?f.asyncNode(this.setting,a,i,j):j();return b};a.setEditable=function(a){this.setting.edit.enable=a;return this.refresh()}});var N=f.cancelPreSelectedNode;
+f.cancelPreSelectedNode=function(b,a){for(var c=m.getRoot(b).curSelectedList,d=0,g=c.length;d<g;d++)if(!a||a===c[d])if(f.removeTreeDom(b,c[d]),a)break;N&&N.apply(f,arguments)};var O=f.createNodes;f.createNodes=function(b,a,c,d){O&&O.apply(f,arguments);c&&f.repairParentChkClassWithSelf&&f.repairParentChkClassWithSelf(b,d)};var V=f.makeNodeUrl;f.makeNodeUrl=function(b,a){return b.edit.enable?null:V.apply(f,arguments)};var L=f.removeNode;f.removeNode=function(b,a){var c=m.getRoot(b);if(c.curEditNode===
+a)c.curEditNode=null;L&&L.apply(f,arguments)};var P=f.selectNode;f.selectNode=function(b,a,c){var d=m.getRoot(b);if(m.isSelectedNode(b,a)&&d.curEditNode==a&&a.editNameFlag)return!1;P&&P.apply(f,arguments);f.addHoverDom(b,a);return!0};var Q=g.uCanDo;g.uCanDo=function(b,a){var c=m.getRoot(b);if(a&&(g.eqs(a.type,"mouseover")||g.eqs(a.type,"mouseout")||g.eqs(a.type,"mousedown")||g.eqs(a.type,"mouseup")))return!0;if(c.curEditNode)f.editNodeBlur=!1,c.curEditInput.focus();return!c.curEditNode&&(Q?Q.apply(f,
+arguments):!0)}})(jQuery);
diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/js/jquery.ztree.exhide.js b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/js/jquery.ztree.exhide.js index 05a5bfb7..723e9c39 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/js/jquery.ztree.exhide.js +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/js/jquery.ztree.exhide.js @@ -1,363 +1,363 @@ -/* - * JQuery zTree exHideNodes v3.5.16 - * http://zTree.me/ - * - * Copyright (c) 2010 Hunter.z - * - * Licensed same as jquery - MIT License - * http://www.opensource.org/licenses/mit-license.php - * - * email: hunter.z@263.net - * Date: 2014-03-09 - */ -(function($){ - //default init node of exLib - var _initNode = function(setting, level, n, parentNode, isFirstNode, isLastNode, openFlag) { - if (typeof n.isHidden == "string") n.isHidden = tools.eqs(n.isHidden, "true"); - n.isHidden = !!n.isHidden; - data.initHideForExCheck(setting, n); - }, - //add dom for check - _beforeA = function(setting, node, html) {}, - //update zTreeObj, add method of exLib - _zTreeTools = function(setting, zTreeTools) { - zTreeTools.showNodes = function(nodes, options) { - view.showNodes(setting, nodes, options); - } - zTreeTools.showNode = function(node, options) { - if (!node) { - return; - } - view.showNodes(setting, [node], options); - } - zTreeTools.hideNodes = function(nodes, options) { - view.hideNodes(setting, nodes, options); - } - zTreeTools.hideNode = function(node, options) { - if (!node) { - return; - } - view.hideNodes(setting, [node], options); - } - - var _checkNode = zTreeTools.checkNode; - if (_checkNode) { - zTreeTools.checkNode = function(node, checked, checkTypeFlag, callbackFlag) { - if (!!node && !!node.isHidden) { - return; - } - _checkNode.apply(zTreeTools, arguments); - } - } - }, - //method of operate data - _data = { - initHideForExCheck: function(setting, n) { - if (n.isHidden && setting.check && setting.check.enable) { - if(typeof n._nocheck == "undefined") { - n._nocheck = !!n.nocheck - n.nocheck = true; - } - n.check_Child_State = -1; - if (view.repairParentChkClassWithSelf) { - view.repairParentChkClassWithSelf(setting, n); - } - } - }, - initShowForExCheck: function(setting, n) { - if (!n.isHidden && setting.check && setting.check.enable) { - if(typeof n._nocheck != "undefined") { - n.nocheck = n._nocheck; - delete n._nocheck; - } - if (view.setChkClass) { - var checkObj = $$(n, consts.id.CHECK, setting); - view.setChkClass(setting, checkObj, n); - } - if (view.repairParentChkClassWithSelf) { - view.repairParentChkClassWithSelf(setting, n); - } - } - } - }, - //method of operate ztree dom - _view = { - clearOldFirstNode: function(setting, node) { - var n = node.getNextNode(); - while(!!n){ - if (n.isFirstNode) { - n.isFirstNode = false; - view.setNodeLineIcos(setting, n); - break; - } - if (n.isLastNode) { - break; - } - n = n.getNextNode(); - } - }, - clearOldLastNode: function(setting, node) { - var n = node.getPreNode(); - while(!!n){ - if (n.isLastNode) { - n.isLastNode = false; - view.setNodeLineIcos(setting, n); - break; - } - if (n.isFirstNode) { - break; - } - n = n.getPreNode(); - } - }, - makeDOMNodeMainBefore: function(html, setting, node) { - html.push("<li ", (node.isHidden ? "style='display:none;' " : ""), "id='", node.tId, "' class='", consts.className.LEVEL, node.level,"' tabindex='0' hidefocus='true' treenode>"); - }, - showNode: function(setting, node, options) { - node.isHidden = false; - data.initShowForExCheck(setting, node); - $$(node, setting).show(); - }, - showNodes: function(setting, nodes, options) { - if (!nodes || nodes.length == 0) { - return; - } - var pList = {}, i, j; - for (i=0, j=nodes.length; i<j; i++) { - var n = nodes[i]; - if (!pList[n.parentTId]) { - var pn = n.getParentNode(); - pList[n.parentTId] = (pn === null) ? data.getRoot(setting) : n.getParentNode(); - } - view.showNode(setting, n, options); - } - for (var tId in pList) { - var children = pList[tId][setting.data.key.children]; - view.setFirstNodeForShow(setting, children); - view.setLastNodeForShow(setting, children); - } - }, - hideNode: function(setting, node, options) { - node.isHidden = true; - node.isFirstNode = false; - node.isLastNode = false; - data.initHideForExCheck(setting, node); - view.cancelPreSelectedNode(setting, node); - $$(node, setting).hide(); - }, - hideNodes: function(setting, nodes, options) { - if (!nodes || nodes.length == 0) { - return; - } - var pList = {}, i, j; - for (i=0, j=nodes.length; i<j; i++) { - var n = nodes[i]; - if ((n.isFirstNode || n.isLastNode) && !pList[n.parentTId]) { - var pn = n.getParentNode(); - pList[n.parentTId] = (pn === null) ? data.getRoot(setting) : n.getParentNode(); - } - view.hideNode(setting, n, options); - } - for (var tId in pList) { - var children = pList[tId][setting.data.key.children]; - view.setFirstNodeForHide(setting, children); - view.setLastNodeForHide(setting, children); - } - }, - setFirstNode: function(setting, parentNode) { - var childKey = setting.data.key.children, childLength = parentNode[childKey].length; - if (childLength > 0 && !parentNode[childKey][0].isHidden) { - parentNode[childKey][0].isFirstNode = true; - } else if (childLength > 0) { - view.setFirstNodeForHide(setting, parentNode[childKey]); - } - }, - setLastNode: function(setting, parentNode) { - var childKey = setting.data.key.children, childLength = parentNode[childKey].length; - if (childLength > 0 && !parentNode[childKey][0].isHidden) { - parentNode[childKey][childLength - 1].isLastNode = true; - } else if (childLength > 0) { - view.setLastNodeForHide(setting, parentNode[childKey]); - } - }, - setFirstNodeForHide: function(setting, nodes) { - var n,i,j; - for (i=0, j=nodes.length; i<j; i++) { - n = nodes[i]; - if (n.isFirstNode) { - break; - } - if (!n.isHidden && !n.isFirstNode) { - n.isFirstNode = true; - view.setNodeLineIcos(setting, n); - break; - } else { - n = null; - } - } - return n; - }, - setFirstNodeForShow: function(setting, nodes) { - var n,i,j, first, old; - for(i=0, j=nodes.length; i<j; i++) { - n = nodes[i]; - if (!first && !n.isHidden && n.isFirstNode) { - first = n; - break; - } else if (!first && !n.isHidden && !n.isFirstNode) { - n.isFirstNode = true; - first = n; - view.setNodeLineIcos(setting, n); - } else if (first && n.isFirstNode) { - n.isFirstNode = false; - old = n; - view.setNodeLineIcos(setting, n); - break; - } else { - n = null; - } - } - return {"new":first, "old":old}; - }, - setLastNodeForHide: function(setting, nodes) { - var n,i; - for (i=nodes.length-1; i>=0; i--) { - n = nodes[i]; - if (n.isLastNode) { - break; - } - if (!n.isHidden && !n.isLastNode) { - n.isLastNode = true; - view.setNodeLineIcos(setting, n); - break; - } else { - n = null; - } - } - return n; - }, - setLastNodeForShow: function(setting, nodes) { - var n,i,j, last, old; - for (i=nodes.length-1; i>=0; i--) { - n = nodes[i]; - if (!last && !n.isHidden && n.isLastNode) { - last = n; - break; - } else if (!last && !n.isHidden && !n.isLastNode) { - n.isLastNode = true; - last = n; - view.setNodeLineIcos(setting, n); - } else if (last && n.isLastNode) { - n.isLastNode = false; - old = n; - view.setNodeLineIcos(setting, n); - break; - } else { - n = null; - } - } - return {"new":last, "old":old}; - } - }, - - _z = { - view: _view, - data: _data - }; - $.extend(true, $.fn.zTree._z, _z); - - var zt = $.fn.zTree, - tools = zt._z.tools, - consts = zt.consts, - view = zt._z.view, - data = zt._z.data, - event = zt._z.event, - $$ = tools.$; - - data.addInitNode(_initNode); - data.addBeforeA(_beforeA); - data.addZTreeTools(_zTreeTools); - -// Override method in core - var _dInitNode = data.initNode; - data.initNode = function(setting, level, node, parentNode, isFirstNode, isLastNode, openFlag) { - var tmpPNode = (parentNode) ? parentNode: data.getRoot(setting), - children = tmpPNode[setting.data.key.children]; - data.tmpHideFirstNode = view.setFirstNodeForHide(setting, children); - data.tmpHideLastNode = view.setLastNodeForHide(setting, children); - view.setNodeLineIcos(setting, data.tmpHideFirstNode); - view.setNodeLineIcos(setting, data.tmpHideLastNode); - isFirstNode = (data.tmpHideFirstNode === node); - isLastNode = (data.tmpHideLastNode === node); - if (_dInitNode) _dInitNode.apply(data, arguments); - if (isLastNode) { - view.clearOldLastNode(setting, node); - } - }; - - var _makeChkFlag = data.makeChkFlag; - if (!!_makeChkFlag) { - data.makeChkFlag = function(setting, node) { - if (!!node && !!node.isHidden) { - return; - } - _makeChkFlag.apply(data, arguments); - } - } - - var _getTreeCheckedNodes = data.getTreeCheckedNodes; - if (!!_getTreeCheckedNodes) { - data.getTreeCheckedNodes = function(setting, nodes, checked, results) { - if (!!nodes && nodes.length > 0) { - var p = nodes[0].getParentNode(); - if (!!p && !!p.isHidden) { - return []; - } - } - return _getTreeCheckedNodes.apply(data, arguments); - } - } - - var _getTreeChangeCheckedNodes = data.getTreeChangeCheckedNodes; - if (!!_getTreeChangeCheckedNodes) { - data.getTreeChangeCheckedNodes = function(setting, nodes, results) { - if (!!nodes && nodes.length > 0) { - var p = nodes[0].getParentNode(); - if (!!p && !!p.isHidden) { - return []; - } - } - return _getTreeChangeCheckedNodes.apply(data, arguments); - } - } - - var _expandCollapseSonNode = view.expandCollapseSonNode; - if (!!_expandCollapseSonNode) { - view.expandCollapseSonNode = function(setting, node, expandFlag, animateFlag, callback) { - if (!!node && !!node.isHidden) { - return; - } - _expandCollapseSonNode.apply(view, arguments); - } - } - - var _setSonNodeCheckBox = view.setSonNodeCheckBox; - if (!!_setSonNodeCheckBox) { - view.setSonNodeCheckBox = function(setting, node, value, srcNode) { - if (!!node && !!node.isHidden) { - return; - } - _setSonNodeCheckBox.apply(view, arguments); - } - } - - var _repairParentChkClassWithSelf = view.repairParentChkClassWithSelf; - if (!!_repairParentChkClassWithSelf) { - view.repairParentChkClassWithSelf = function(setting, node) { - if (!!node && !!node.isHidden) { - return; - } - _repairParentChkClassWithSelf.apply(view, arguments); - } - } +/*
+ * JQuery zTree exHideNodes v3.5.16
+ * http://zTree.me/
+ *
+ * Copyright (c) 2010 Hunter.z
+ *
+ * Licensed same as jquery - MIT License
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ * email: hunter.z@263.net
+ * Date: 2014-03-09
+ */
+(function($){
+ //default init node of exLib
+ var _initNode = function(setting, level, n, parentNode, isFirstNode, isLastNode, openFlag) {
+ if (typeof n.isHidden == "string") n.isHidden = tools.eqs(n.isHidden, "true");
+ n.isHidden = !!n.isHidden;
+ data.initHideForExCheck(setting, n);
+ },
+ //add dom for check
+ _beforeA = function(setting, node, html) {},
+ //update zTreeObj, add method of exLib
+ _zTreeTools = function(setting, zTreeTools) {
+ zTreeTools.showNodes = function(nodes, options) {
+ view.showNodes(setting, nodes, options);
+ }
+ zTreeTools.showNode = function(node, options) {
+ if (!node) {
+ return;
+ }
+ view.showNodes(setting, [node], options);
+ }
+ zTreeTools.hideNodes = function(nodes, options) {
+ view.hideNodes(setting, nodes, options);
+ }
+ zTreeTools.hideNode = function(node, options) {
+ if (!node) {
+ return;
+ }
+ view.hideNodes(setting, [node], options);
+ }
+
+ var _checkNode = zTreeTools.checkNode;
+ if (_checkNode) {
+ zTreeTools.checkNode = function(node, checked, checkTypeFlag, callbackFlag) {
+ if (!!node && !!node.isHidden) {
+ return;
+ }
+ _checkNode.apply(zTreeTools, arguments);
+ }
+ }
+ },
+ //method of operate data
+ _data = {
+ initHideForExCheck: function(setting, n) {
+ if (n.isHidden && setting.check && setting.check.enable) {
+ if(typeof n._nocheck == "undefined") {
+ n._nocheck = !!n.nocheck
+ n.nocheck = true;
+ }
+ n.check_Child_State = -1;
+ if (view.repairParentChkClassWithSelf) {
+ view.repairParentChkClassWithSelf(setting, n);
+ }
+ }
+ },
+ initShowForExCheck: function(setting, n) {
+ if (!n.isHidden && setting.check && setting.check.enable) {
+ if(typeof n._nocheck != "undefined") {
+ n.nocheck = n._nocheck;
+ delete n._nocheck;
+ }
+ if (view.setChkClass) {
+ var checkObj = $$(n, consts.id.CHECK, setting);
+ view.setChkClass(setting, checkObj, n);
+ }
+ if (view.repairParentChkClassWithSelf) {
+ view.repairParentChkClassWithSelf(setting, n);
+ }
+ }
+ }
+ },
+ //method of operate ztree dom
+ _view = {
+ clearOldFirstNode: function(setting, node) {
+ var n = node.getNextNode();
+ while(!!n){
+ if (n.isFirstNode) {
+ n.isFirstNode = false;
+ view.setNodeLineIcos(setting, n);
+ break;
+ }
+ if (n.isLastNode) {
+ break;
+ }
+ n = n.getNextNode();
+ }
+ },
+ clearOldLastNode: function(setting, node) {
+ var n = node.getPreNode();
+ while(!!n){
+ if (n.isLastNode) {
+ n.isLastNode = false;
+ view.setNodeLineIcos(setting, n);
+ break;
+ }
+ if (n.isFirstNode) {
+ break;
+ }
+ n = n.getPreNode();
+ }
+ },
+ makeDOMNodeMainBefore: function(html, setting, node) {
+ html.push("<li ", (node.isHidden ? "style='display:none;' " : ""), "id='", node.tId, "' class='", consts.className.LEVEL, node.level,"' tabindex='0' hidefocus='true' treenode>");
+ },
+ showNode: function(setting, node, options) {
+ node.isHidden = false;
+ data.initShowForExCheck(setting, node);
+ $$(node, setting).show();
+ },
+ showNodes: function(setting, nodes, options) {
+ if (!nodes || nodes.length == 0) {
+ return;
+ }
+ var pList = {}, i, j;
+ for (i=0, j=nodes.length; i<j; i++) {
+ var n = nodes[i];
+ if (!pList[n.parentTId]) {
+ var pn = n.getParentNode();
+ pList[n.parentTId] = (pn === null) ? data.getRoot(setting) : n.getParentNode();
+ }
+ view.showNode(setting, n, options);
+ }
+ for (var tId in pList) {
+ var children = pList[tId][setting.data.key.children];
+ view.setFirstNodeForShow(setting, children);
+ view.setLastNodeForShow(setting, children);
+ }
+ },
+ hideNode: function(setting, node, options) {
+ node.isHidden = true;
+ node.isFirstNode = false;
+ node.isLastNode = false;
+ data.initHideForExCheck(setting, node);
+ view.cancelPreSelectedNode(setting, node);
+ $$(node, setting).hide();
+ },
+ hideNodes: function(setting, nodes, options) {
+ if (!nodes || nodes.length == 0) {
+ return;
+ }
+ var pList = {}, i, j;
+ for (i=0, j=nodes.length; i<j; i++) {
+ var n = nodes[i];
+ if ((n.isFirstNode || n.isLastNode) && !pList[n.parentTId]) {
+ var pn = n.getParentNode();
+ pList[n.parentTId] = (pn === null) ? data.getRoot(setting) : n.getParentNode();
+ }
+ view.hideNode(setting, n, options);
+ }
+ for (var tId in pList) {
+ var children = pList[tId][setting.data.key.children];
+ view.setFirstNodeForHide(setting, children);
+ view.setLastNodeForHide(setting, children);
+ }
+ },
+ setFirstNode: function(setting, parentNode) {
+ var childKey = setting.data.key.children, childLength = parentNode[childKey].length;
+ if (childLength > 0 && !parentNode[childKey][0].isHidden) {
+ parentNode[childKey][0].isFirstNode = true;
+ } else if (childLength > 0) {
+ view.setFirstNodeForHide(setting, parentNode[childKey]);
+ }
+ },
+ setLastNode: function(setting, parentNode) {
+ var childKey = setting.data.key.children, childLength = parentNode[childKey].length;
+ if (childLength > 0 && !parentNode[childKey][0].isHidden) {
+ parentNode[childKey][childLength - 1].isLastNode = true;
+ } else if (childLength > 0) {
+ view.setLastNodeForHide(setting, parentNode[childKey]);
+ }
+ },
+ setFirstNodeForHide: function(setting, nodes) {
+ var n,i,j;
+ for (i=0, j=nodes.length; i<j; i++) {
+ n = nodes[i];
+ if (n.isFirstNode) {
+ break;
+ }
+ if (!n.isHidden && !n.isFirstNode) {
+ n.isFirstNode = true;
+ view.setNodeLineIcos(setting, n);
+ break;
+ } else {
+ n = null;
+ }
+ }
+ return n;
+ },
+ setFirstNodeForShow: function(setting, nodes) {
+ var n,i,j, first, old;
+ for(i=0, j=nodes.length; i<j; i++) {
+ n = nodes[i];
+ if (!first && !n.isHidden && n.isFirstNode) {
+ first = n;
+ break;
+ } else if (!first && !n.isHidden && !n.isFirstNode) {
+ n.isFirstNode = true;
+ first = n;
+ view.setNodeLineIcos(setting, n);
+ } else if (first && n.isFirstNode) {
+ n.isFirstNode = false;
+ old = n;
+ view.setNodeLineIcos(setting, n);
+ break;
+ } else {
+ n = null;
+ }
+ }
+ return {"new":first, "old":old};
+ },
+ setLastNodeForHide: function(setting, nodes) {
+ var n,i;
+ for (i=nodes.length-1; i>=0; i--) {
+ n = nodes[i];
+ if (n.isLastNode) {
+ break;
+ }
+ if (!n.isHidden && !n.isLastNode) {
+ n.isLastNode = true;
+ view.setNodeLineIcos(setting, n);
+ break;
+ } else {
+ n = null;
+ }
+ }
+ return n;
+ },
+ setLastNodeForShow: function(setting, nodes) {
+ var n,i,j, last, old;
+ for (i=nodes.length-1; i>=0; i--) {
+ n = nodes[i];
+ if (!last && !n.isHidden && n.isLastNode) {
+ last = n;
+ break;
+ } else if (!last && !n.isHidden && !n.isLastNode) {
+ n.isLastNode = true;
+ last = n;
+ view.setNodeLineIcos(setting, n);
+ } else if (last && n.isLastNode) {
+ n.isLastNode = false;
+ old = n;
+ view.setNodeLineIcos(setting, n);
+ break;
+ } else {
+ n = null;
+ }
+ }
+ return {"new":last, "old":old};
+ }
+ },
+
+ _z = {
+ view: _view,
+ data: _data
+ };
+ $.extend(true, $.fn.zTree._z, _z);
+
+ var zt = $.fn.zTree,
+ tools = zt._z.tools,
+ consts = zt.consts,
+ view = zt._z.view,
+ data = zt._z.data,
+ event = zt._z.event,
+ $$ = tools.$;
+
+ data.addInitNode(_initNode);
+ data.addBeforeA(_beforeA);
+ data.addZTreeTools(_zTreeTools);
+
+// Override method in core
+ var _dInitNode = data.initNode;
+ data.initNode = function(setting, level, node, parentNode, isFirstNode, isLastNode, openFlag) {
+ var tmpPNode = (parentNode) ? parentNode: data.getRoot(setting),
+ children = tmpPNode[setting.data.key.children];
+ data.tmpHideFirstNode = view.setFirstNodeForHide(setting, children);
+ data.tmpHideLastNode = view.setLastNodeForHide(setting, children);
+ view.setNodeLineIcos(setting, data.tmpHideFirstNode);
+ view.setNodeLineIcos(setting, data.tmpHideLastNode);
+ isFirstNode = (data.tmpHideFirstNode === node);
+ isLastNode = (data.tmpHideLastNode === node);
+ if (_dInitNode) _dInitNode.apply(data, arguments);
+ if (isLastNode) {
+ view.clearOldLastNode(setting, node);
+ }
+ };
+
+ var _makeChkFlag = data.makeChkFlag;
+ if (!!_makeChkFlag) {
+ data.makeChkFlag = function(setting, node) {
+ if (!!node && !!node.isHidden) {
+ return;
+ }
+ _makeChkFlag.apply(data, arguments);
+ }
+ }
+
+ var _getTreeCheckedNodes = data.getTreeCheckedNodes;
+ if (!!_getTreeCheckedNodes) {
+ data.getTreeCheckedNodes = function(setting, nodes, checked, results) {
+ if (!!nodes && nodes.length > 0) {
+ var p = nodes[0].getParentNode();
+ if (!!p && !!p.isHidden) {
+ return [];
+ }
+ }
+ return _getTreeCheckedNodes.apply(data, arguments);
+ }
+ }
+
+ var _getTreeChangeCheckedNodes = data.getTreeChangeCheckedNodes;
+ if (!!_getTreeChangeCheckedNodes) {
+ data.getTreeChangeCheckedNodes = function(setting, nodes, results) {
+ if (!!nodes && nodes.length > 0) {
+ var p = nodes[0].getParentNode();
+ if (!!p && !!p.isHidden) {
+ return [];
+ }
+ }
+ return _getTreeChangeCheckedNodes.apply(data, arguments);
+ }
+ }
+
+ var _expandCollapseSonNode = view.expandCollapseSonNode;
+ if (!!_expandCollapseSonNode) {
+ view.expandCollapseSonNode = function(setting, node, expandFlag, animateFlag, callback) {
+ if (!!node && !!node.isHidden) {
+ return;
+ }
+ _expandCollapseSonNode.apply(view, arguments);
+ }
+ }
+
+ var _setSonNodeCheckBox = view.setSonNodeCheckBox;
+ if (!!_setSonNodeCheckBox) {
+ view.setSonNodeCheckBox = function(setting, node, value, srcNode) {
+ if (!!node && !!node.isHidden) {
+ return;
+ }
+ _setSonNodeCheckBox.apply(view, arguments);
+ }
+ }
+
+ var _repairParentChkClassWithSelf = view.repairParentChkClassWithSelf;
+ if (!!_repairParentChkClassWithSelf) {
+ view.repairParentChkClassWithSelf = function(setting, node) {
+ if (!!node && !!node.isHidden) {
+ return;
+ }
+ _repairParentChkClassWithSelf.apply(view, arguments);
+ }
+ }
})(jQuery);
\ No newline at end of file diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/js/jquery.ztree.exhide.min.js b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/js/jquery.ztree.exhide.min.js index f1dce5bd..10cedebd 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/js/jquery.ztree.exhide.min.js +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/js/jquery.ztree.exhide.min.js @@ -1,22 +1,22 @@ -/* - * JQuery zTree exHideNodes v3.5.16 - * http://zTree.me/ - * - * Copyright (c) 2010 Hunter.z - * - * Licensed same as jquery - MIT License - * http://www.opensource.org/licenses/mit-license.php - * - * email: hunter.z@263.net - * Date: 2014-03-09 - */ -(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){for(var b=a.getPreNode();b;){if(b.isLastNode){b.isLastNode=!1;d.setNodeLineIcos(c,b);break}if(b.isFirstNode)break;b=b.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= -!1;f.initHideForExCheck(c,a);d.cancelPreSelectedNode(c,a);j(a,c).hide()},hideNodes: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((h.isFirstNode||h.isLastNode)&&!e[h.parentTId]){var i=h.getParentNode();e[h.parentTId]=i===null?f.getRoot(c):h.getParentNode()}d.hideNode(c,h,b)}for(var j in e)a=e[j][c.data.key.children],d.setFirstNodeForHide(c,a),d.setLastNodeForHide(c,a)}},setFirstNode:function(c,a){var b=c.data.key.children,e=a[b].length;e>0&&!a[b][0].isHidden? -a[b][0].isFirstNode=!0:e>0&&d.setFirstNodeForHide(c,a[b])},setLastNode:function(c,a){var b=c.data.key.children,e=a[b].length;e>0&&!a[b][0].isHidden?a[b][e-1].isLastNode=!0:e>0&&d.setLastNodeForHide(c,a[b])},setFirstNodeForHide:function(c,a){var b,e,g;for(e=0,g=a.length;e<g;e++){b=a[e];if(b.isFirstNode)break;if(!b.isHidden&&!b.isFirstNode){b.isFirstNode=!0;d.setNodeLineIcos(c,b);break}else b=null}return b},setFirstNodeForShow:function(c,a){var b,e,g,f,h;for(e=0,g=a.length;e<g;e++)if(b=a[e],!f&&!b.isHidden&& -b.isFirstNode){f=b;break}else if(!f&&!b.isHidden&&!b.isFirstNode)b.isFirstNode=!0,f=b,d.setNodeLineIcos(c,b);else if(f&&b.isFirstNode){b.isFirstNode=!1;h=b;d.setNodeLineIcos(c,b);break}return{"new":f,old:h}},setLastNodeForHide:function(c,a){var b,e;for(e=a.length-1;e>=0;e--){b=a[e];if(b.isLastNode)break;if(!b.isHidden&&!b.isLastNode){b.isLastNode=!0;d.setNodeLineIcos(c,b);break}else b=null}return b},setLastNodeForShow:function(c,a){var b,e,g,f;for(e=a.length-1;e>=0;e--)if(b=a[e],!g&&!b.isHidden&& -b.isLastNode){g=b;break}else if(!g&&!b.isHidden&&!b.isLastNode)b.isLastNode=!0,g=b,d.setNodeLineIcos(c,b);else if(g&&b.isLastNode){b.isLastNode=!1;f=b;d.setNodeLineIcos(c,b);break}return{"new":g,old:f}}},data:{initHideForExCheck:function(c,a){if(a.isHidden&&c.check&&c.check.enable){if(typeof a._nocheck=="undefined")a._nocheck=!!a.nocheck,a.nocheck=!0;a.check_Child_State=-1;d.repairParentChkClassWithSelf&&d.repairParentChkClassWithSelf(c,a)}},initShowForExCheck:function(c,a){if(!a.isHidden&&c.check&& -c.check.enable){if(typeof a._nocheck!="undefined")a.nocheck=a._nocheck,delete a._nocheck;if(d.setChkClass){var b=j(a,l.id.CHECK,c);d.setChkClass(c,b,a)}d.repairParentChkClassWithSelf&&d.repairParentChkClassWithSelf(c,a)}}}});var i=i.fn.zTree,m=i._z.tools,l=i.consts,d=i._z.view,f=i._z.data,j=m.$;f.addInitNode(function(c,a,b){if(typeof b.isHidden=="string")b.isHidden=m.eqs(b.isHidden,"true");b.isHidden=!!b.isHidden;f.initHideForExCheck(c,b)});f.addBeforeA(function(){});f.addZTreeTools(function(c,a){a.showNodes= -function(a,b){d.showNodes(c,a,b)};a.showNode=function(a,b){a&&d.showNodes(c,[a],b)};a.hideNodes=function(a,b){d.hideNodes(c,a,b)};a.hideNode=function(a,b){a&&d.hideNodes(c,[a],b)};var b=a.checkNode;if(b)a.checkNode=function(c,d,f,h){(!c||!c.isHidden)&&b.apply(a,arguments)}});var n=f.initNode;f.initNode=function(c,a,b,e,g,i,h){var j=(e?e:f.getRoot(c))[c.data.key.children];f.tmpHideFirstNode=d.setFirstNodeForHide(c,j);f.tmpHideLastNode=d.setLastNodeForHide(c,j);d.setNodeLineIcos(c,f.tmpHideFirstNode); -d.setNodeLineIcos(c,f.tmpHideLastNode);g=f.tmpHideFirstNode===b;i=f.tmpHideLastNode===b;n&&n.apply(f,arguments);i&&d.clearOldLastNode(c,b)};var o=f.makeChkFlag;if(o)f.makeChkFlag=function(c,a){(!a||!a.isHidden)&&o.apply(f,arguments)};var p=f.getTreeCheckedNodes;if(p)f.getTreeCheckedNodes=function(c,a,b,e){if(a&&a.length>0){var d=a[0].getParentNode();if(d&&d.isHidden)return[]}return p.apply(f,arguments)};var q=f.getTreeChangeCheckedNodes;if(q)f.getTreeChangeCheckedNodes=function(c,a,b){if(a&&a.length> -0){var d=a[0].getParentNode();if(d&&d.isHidden)return[]}return q.apply(f,arguments)};var r=d.expandCollapseSonNode;if(r)d.expandCollapseSonNode=function(c,a,b,e,f){(!a||!a.isHidden)&&r.apply(d,arguments)};var s=d.setSonNodeCheckBox;if(s)d.setSonNodeCheckBox=function(c,a,b,e){(!a||!a.isHidden)&&s.apply(d,arguments)};var t=d.repairParentChkClassWithSelf;if(t)d.repairParentChkClassWithSelf=function(c,a){(!a||!a.isHidden)&&t.apply(d,arguments)}})(jQuery); +/*
+ * JQuery zTree exHideNodes v3.5.16
+ * http://zTree.me/
+ *
+ * Copyright (c) 2010 Hunter.z
+ *
+ * Licensed same as jquery - MIT License
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ * email: hunter.z@263.net
+ * Date: 2014-03-09
+ */
+(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){for(var b=a.getPreNode();b;){if(b.isLastNode){b.isLastNode=!1;d.setNodeLineIcos(c,b);break}if(b.isFirstNode)break;b=b.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=
+!1;f.initHideForExCheck(c,a);d.cancelPreSelectedNode(c,a);j(a,c).hide()},hideNodes: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((h.isFirstNode||h.isLastNode)&&!e[h.parentTId]){var i=h.getParentNode();e[h.parentTId]=i===null?f.getRoot(c):h.getParentNode()}d.hideNode(c,h,b)}for(var j in e)a=e[j][c.data.key.children],d.setFirstNodeForHide(c,a),d.setLastNodeForHide(c,a)}},setFirstNode:function(c,a){var b=c.data.key.children,e=a[b].length;e>0&&!a[b][0].isHidden?
+a[b][0].isFirstNode=!0:e>0&&d.setFirstNodeForHide(c,a[b])},setLastNode:function(c,a){var b=c.data.key.children,e=a[b].length;e>0&&!a[b][0].isHidden?a[b][e-1].isLastNode=!0:e>0&&d.setLastNodeForHide(c,a[b])},setFirstNodeForHide:function(c,a){var b,e,g;for(e=0,g=a.length;e<g;e++){b=a[e];if(b.isFirstNode)break;if(!b.isHidden&&!b.isFirstNode){b.isFirstNode=!0;d.setNodeLineIcos(c,b);break}else b=null}return b},setFirstNodeForShow:function(c,a){var b,e,g,f,h;for(e=0,g=a.length;e<g;e++)if(b=a[e],!f&&!b.isHidden&&
+b.isFirstNode){f=b;break}else if(!f&&!b.isHidden&&!b.isFirstNode)b.isFirstNode=!0,f=b,d.setNodeLineIcos(c,b);else if(f&&b.isFirstNode){b.isFirstNode=!1;h=b;d.setNodeLineIcos(c,b);break}return{"new":f,old:h}},setLastNodeForHide:function(c,a){var b,e;for(e=a.length-1;e>=0;e--){b=a[e];if(b.isLastNode)break;if(!b.isHidden&&!b.isLastNode){b.isLastNode=!0;d.setNodeLineIcos(c,b);break}else b=null}return b},setLastNodeForShow:function(c,a){var b,e,g,f;for(e=a.length-1;e>=0;e--)if(b=a[e],!g&&!b.isHidden&&
+b.isLastNode){g=b;break}else if(!g&&!b.isHidden&&!b.isLastNode)b.isLastNode=!0,g=b,d.setNodeLineIcos(c,b);else if(g&&b.isLastNode){b.isLastNode=!1;f=b;d.setNodeLineIcos(c,b);break}return{"new":g,old:f}}},data:{initHideForExCheck:function(c,a){if(a.isHidden&&c.check&&c.check.enable){if(typeof a._nocheck=="undefined")a._nocheck=!!a.nocheck,a.nocheck=!0;a.check_Child_State=-1;d.repairParentChkClassWithSelf&&d.repairParentChkClassWithSelf(c,a)}},initShowForExCheck:function(c,a){if(!a.isHidden&&c.check&&
+c.check.enable){if(typeof a._nocheck!="undefined")a.nocheck=a._nocheck,delete a._nocheck;if(d.setChkClass){var b=j(a,l.id.CHECK,c);d.setChkClass(c,b,a)}d.repairParentChkClassWithSelf&&d.repairParentChkClassWithSelf(c,a)}}}});var i=i.fn.zTree,m=i._z.tools,l=i.consts,d=i._z.view,f=i._z.data,j=m.$;f.addInitNode(function(c,a,b){if(typeof b.isHidden=="string")b.isHidden=m.eqs(b.isHidden,"true");b.isHidden=!!b.isHidden;f.initHideForExCheck(c,b)});f.addBeforeA(function(){});f.addZTreeTools(function(c,a){a.showNodes=
+function(a,b){d.showNodes(c,a,b)};a.showNode=function(a,b){a&&d.showNodes(c,[a],b)};a.hideNodes=function(a,b){d.hideNodes(c,a,b)};a.hideNode=function(a,b){a&&d.hideNodes(c,[a],b)};var b=a.checkNode;if(b)a.checkNode=function(c,d,f,h){(!c||!c.isHidden)&&b.apply(a,arguments)}});var n=f.initNode;f.initNode=function(c,a,b,e,g,i,h){var j=(e?e:f.getRoot(c))[c.data.key.children];f.tmpHideFirstNode=d.setFirstNodeForHide(c,j);f.tmpHideLastNode=d.setLastNodeForHide(c,j);d.setNodeLineIcos(c,f.tmpHideFirstNode);
+d.setNodeLineIcos(c,f.tmpHideLastNode);g=f.tmpHideFirstNode===b;i=f.tmpHideLastNode===b;n&&n.apply(f,arguments);i&&d.clearOldLastNode(c,b)};var o=f.makeChkFlag;if(o)f.makeChkFlag=function(c,a){(!a||!a.isHidden)&&o.apply(f,arguments)};var p=f.getTreeCheckedNodes;if(p)f.getTreeCheckedNodes=function(c,a,b,e){if(a&&a.length>0){var d=a[0].getParentNode();if(d&&d.isHidden)return[]}return p.apply(f,arguments)};var q=f.getTreeChangeCheckedNodes;if(q)f.getTreeChangeCheckedNodes=function(c,a,b){if(a&&a.length>
+0){var d=a[0].getParentNode();if(d&&d.isHidden)return[]}return q.apply(f,arguments)};var r=d.expandCollapseSonNode;if(r)d.expandCollapseSonNode=function(c,a,b,e,f){(!a||!a.isHidden)&&r.apply(d,arguments)};var s=d.setSonNodeCheckBox;if(s)d.setSonNodeCheckBox=function(c,a,b,e){(!a||!a.isHidden)&&s.apply(d,arguments)};var t=d.repairParentChkClassWithSelf;if(t)d.repairParentChkClassWithSelf=function(c,a){(!a||!a.isHidden)&&t.apply(d,arguments)}})(jQuery);
diff --git a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/zTree.v3.jquery.json b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/zTree.v3.jquery.json index ef26b102..86988722 100644 --- a/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/zTree.v3.jquery.json +++ b/openo-portal/portal-common/src/main/webapp/common/thirdparty/zTree/zTree.v3.jquery.json @@ -1,35 +1,35 @@ -{ - "name": "zTree.v3", - "title": "zTree.v3", - "description": "jquery tree plugin", - "keywords": [ - "tree", - "ui" - ], - "version": "3.5.16", - "author": { - "name": "Zhang QiGang", - "email":"hunter.z@263.net", - "url": "https://github.com/zTree/zTree_v3" - }, - "maintainers": [ - { - "name": "Zhang QiGang", - "email":"hunter.z@263.net", - "url": "http://www.ztree.me/" - } - ], - "licenses": [ - { - "type": "MIT", - "url": "http://www.ztree.me/v3/main.php#_license" - } - ], - "bugs": "https://github.com/zTree/zTree_v3/issues", - "homepage": "http://www.ztree.me/", - "demo": "http://www.ztree.me/v3/demo.php", - "docs": "http://www.ztree.me/v3/api.php", - "dependencies": { - "jquery": ">=1.4.4" - } -} +{
+ "name": "zTree.v3",
+ "title": "zTree.v3",
+ "description": "jquery tree plugin",
+ "keywords": [
+ "tree",
+ "ui"
+ ],
+ "version": "3.5.16",
+ "author": {
+ "name": "Zhang QiGang",
+ "email":"hunter.z@263.net",
+ "url": "https://github.com/zTree/zTree_v3"
+ },
+ "maintainers": [
+ {
+ "name": "Zhang QiGang",
+ "email":"hunter.z@263.net",
+ "url": "http://www.ztree.me/"
+ }
+ ],
+ "licenses": [
+ {
+ "type": "MIT",
+ "url": "http://www.ztree.me/v3/main.php#_license"
+ }
+ ],
+ "bugs": "https://github.com/zTree/zTree_v3/issues",
+ "homepage": "http://www.ztree.me/",
+ "demo": "http://www.ztree.me/v3/demo.php",
+ "docs": "http://www.ztree.me/v3/api.php",
+ "dependencies": {
+ "jquery": ">=1.4.4"
+ }
+}
|